summaryrefslogtreecommitdiff
path: root/language/chinese
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /language/chinese
Initial commit
Diffstat (limited to 'language/chinese')
l---------language/chinese/CJK/README1
-rw-r--r--language/chinese/CJK/cjk-4.8.4/ChangeLog2486
-rw-r--r--language/chinese/CJK/cjk-4.8.4/MANIFEST462
-rw-r--r--language/chinese/CJK/cjk-4.8.4/Makefile216
-rw-r--r--language/chinese/CJK/cjk-4.8.4/README36
-rw-r--r--language/chinese/CJK/cjk-4.8.4/TODO6
-rw-r--r--language/chinese/CJK/cjk-4.8.4/contrib/wadalab/DNP.sfd42
-rw-r--r--language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c42goth.fd22
-rw-r--r--language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c42goth.fdx66
-rw-r--r--language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c42maru.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c42maru.fdx66
-rw-r--r--language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c42min.fd26
-rw-r--r--language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c42min.fdx91
-rw-r--r--language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c52maru.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c52maru.fdx16
-rw-r--r--language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c52min.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c52min.fdx16
-rw-r--r--language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c70goth.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c70goth.fdx137
-rw-r--r--language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c70maru.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c70maru.fdx137
-rw-r--r--language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c70min.fd28
-rw-r--r--language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c70min.fdx203
-rw-r--r--language/chinese/CJK/cjk-4.8.4/contrib/wadalab/fixwada81
-rw-r--r--language/chinese/CJK/cjk-4.8.4/contrib/wadalab/fixwada2.pl242
-rw-r--r--language/chinese/CJK/cjk-4.8.4/contrib/wadalab/makefont108
-rw-r--r--language/chinese/CJK/cjk-4.8.4/contrib/wadalab/makeuniwada.pl333
-rw-r--r--language/chinese/CJK/cjk-4.8.4/contrib/wadalab/wadalab.map187
-rw-r--r--language/chinese/CJK/cjk-4.8.4/contrib/wadalab/wadalab.txt384
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/CEF.txt86
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/CJK.txt1273
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/CJKnumb.txt25
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/CJKspace.txt22
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/CJKutf8.txt40
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/COPYING340
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/INSTALL686
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/TDS.txt172
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/chinese/README7
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/chinese/READMEb5.tex1150
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/chinese/READMEgb.tex92
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/chinese/emTeXb5.txt357
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/chinese/teTeXb5.txt327
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/cjk-enc.txt438
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/cjk/README4
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/cjk/READMEb5.cjk1150
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/commands.txt388
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/dvidrv.txt56
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/fdxfiles.txt111
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/fonts.txt311
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/hbf2gf.txt382
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/history.2_5202
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/history.txt1549
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/japanese/README18
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/japanese/ascii.txt58
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/japanese/japanese.jis642
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/japanese/japanese.txt637
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/japanese/jp-fonts.txt54
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/japanese/jp-tex.txt50
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/japanese/preview.txt39
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/japanese/shibuaki.txt150
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/man/html/bg5conv.html86
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/man/html/cef5conv.html99
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/man/html/cefconv.html91
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/man/html/cefsconv.html98
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/man/html/extconv.html86
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/man/html/hbf2gf.html648
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/man/html/sjisconv.html87
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/man/pdf/bg5conv.pdfbin0 -> 20529 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/man/pdf/cef5conv.pdfbin0 -> 23462 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/man/pdf/cefconv.pdfbin0 -> 23136 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/man/pdf/cefsconv.pdfbin0 -> 23459 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/man/pdf/extconv.pdfbin0 -> 20685 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/man/pdf/hbf2gf.pdfbin0 -> 57478 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/man/pdf/sjisconv.pdfbin0 -> 20619 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/man/txt/bg5conv.txt30
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/man/txt/cef5conv.txt37
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/man/txt/cefconv.txt34
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/man/txt/cefsconv.txt37
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/man/txt/extconv.txt30
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/man/txt/hbf2gf.txt351
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/man/txt/sjisconv.txt30
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/pdf/READMEb5.pdfbin0 -> 395722 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/pdf/READMEgb.pdfbin0 -> 98996 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/pdf/bg5conv.pdfbin0 -> 27101 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/pdf/c90.pdfbin0 -> 89124 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/pdf/cef5conv.pdfbin0 -> 36066 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/pdf/cefconv.pdfbin0 -> 34595 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/pdf/cefsconv.pdfbin0 -> 36148 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/pdf/extconv.pdfbin0 -> 26875 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/pdf/hbf2gf.pdfbin0 -> 187448 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/pdf/sjisconv.pdfbin0 -> 27055 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/HOWTO.txt425
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/bkai.map55
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/cid-x.map364
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/cwtb.map55
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/dvipdfmx.cfg164
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/gen-map.pl120
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/map.list78
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/texinput/Bg5/c00cwtb.fd11
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/texinput/Bg5/c00tmpl.fd11
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/texinput/GB/c10tmpl.fd11
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/texinput/JIS/c40tmpl.fd10
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/texinput/SJIS/c49tmpl.fd10
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/updmap.my161
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/wcl.sfd62
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/pinyin.txt62
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/pyhyphen.txt107
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/reftex.txt34
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/ruby.txt139
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/thaifont.txt130
-rw-r--r--language/chinese/CJK/cjk-4.8.4/doc/vertical.txt120
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/Big5.tex35
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/Big5vert.tex35
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/CEF_test.tex41
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/CJKbabel.tex135
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/CJKfntef.tex90
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/CJKmixed.tex81
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/CJKspace.tex41
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/CJKutf8.tex134
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/GB.tex31
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/JIS.tex35
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/KS.tex31
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/README66
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/SJIS.tex39
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/UTF8.tex48
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/cjk/Big5.cjk35
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/cjk/Big5vert.cjk35
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/cjk/CEF_test.cjk41
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/cjk/CJKbabel.cjk135
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/cjk/SJIS.cjk39
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/cjk/muletest.cjk149
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/cjk/rubytest.cjk56
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/cjk/thai.cjk43
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/cjk/thai_utf8.cjk43
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/muletest.tex149
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/pdf/Big5.pdfbin0 -> 50309 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/pdf/Big5vert.pdfbin0 -> 51375 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/pdf/CEF_test.pdfbin0 -> 7064 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/pdf/CJKbabel.pdfbin0 -> 192008 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/pdf/CJKfntef.pdfbin0 -> 33090 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/pdf/CJKmixed.pdfbin0 -> 67977 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/pdf/CJKspace.pdfbin0 -> 36920 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/pdf/CJKutf8.pdfbin0 -> 181416 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/pdf/GB.pdfbin0 -> 45543 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/pdf/JIS.pdfbin0 -> 25624 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/pdf/KS.pdfbin0 -> 25196 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/pdf/SJIS.pdfbin0 -> 25630 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/pdf/UTF8.pdfbin0 -> 13764 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/pdf/muletest.pdfbin0 -> 176318 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/pdf/py_test.pdfbin0 -> 17205 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/pdf/pytest.pdfbin0 -> 5802 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/pdf/rubytest.pdfbin0 -> 22182 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/pdf/thai.pdfbin0 -> 12567 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/pdf/thai_utf8.pdfbin0 -> 12563 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/py_test.tex43
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/rubytest.tex56
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/thai.tex43
-rw-r--r--language/chinese/CJK/cjk-4.8.4/examples/thai_utf8.tex43
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/Bg5/Bg5.cap86
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/Bg5/Bg5.chr219
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/Bg5/Bg5.cpx86
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/Bg5/Bg5.enc226
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/Bg5/HK.enc276
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00bkai.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00bkai.fdx147
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00bsmi.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00bsmi.fdx147
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00bsmir.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00bsmir.fdx15
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00cns.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00fs.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00kai.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00kair.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00kair.fdx15
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00song.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c01song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c05song.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c09song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/CEF/c80song.fd34
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/CEF/c81song.fd33
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/CJK.enc1092
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/CJK.sty1121
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/CJKfntef.sty509
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/CJKnumb.sty400
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/CJKspace.sty98
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/CJKulem.sty193
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/CJKutf8.sty720
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/CJKvert.sty159
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/CNS/EUC-TW.bdg130
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/CNS/EUC-TW.chr210
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/CNS/EUC-TW.enc138
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/CNS/c31song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/CNS/c32song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/CNS/c33song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/CNS/c34song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/CNS/c35song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/CNS/c36song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/CNS/c37song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/GB/GB.cap86
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/GB/GB.cpx84
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/GB/c10fs.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/GB/c10gbsn.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/GB/c10gbsn.fdx70
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/GB/c10gkai.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/GB/c10gkai.fdx70
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/GB/c10song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/GB/c11song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/GB/c19song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/GB/c20song.fd31
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/GB/c21song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/JIS/EUC-JP.bdg131
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/JIS/EUC-JP.chr246
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/JIS/EUC-JP.enc141
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/JIS/EUC-JPdnp.enc142
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/JIS/JIS.cap83
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/JIS/JIS.cpx80
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/JIS/JISdnp.enc132
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/JIS/c40song.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/JIS/c41song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/JIS/c42song.fd28
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/JIS/c43song.fd27
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/JIS/c50song.fd26
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/HLaTeX.chr229
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/KSHL.enc134
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63bm.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63dn.fd69
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63gr.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63gs.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63gt.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63jgt.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63jmj.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63jnv.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63jsr.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63mj.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63pg.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63pga.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63ph.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63pn.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63sh.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63tz.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63vd.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63yt.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64bm.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64dn.fd69
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64gr.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64gs.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64gt.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64jgt.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64jmj.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64jnv.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64jsr.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64mj.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64pg.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64pga.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64ph.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64pn.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64sh.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64tz.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64vd.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64yt.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65bm.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65dn.fd69
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65gr.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65gs.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65gt.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65jgt.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65jmj.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65jnv.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65jsr.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65mj.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65pg.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65pga.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65ph.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65pn.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65sh.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65tz.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65vd.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65yt.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/pshan.sty29
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/KS.chr251
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/KS.enc114
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/c60dr.fd22
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/c60gr.fd22
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/c60gs.fd22
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/c60gt.fd22
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/c60hgt.fd22
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/c60hmj.fd22
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/c60hol.fd22
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/c60hpg.fd22
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/c60mj.fd22
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/c61dr.fd27
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/c61gr.fd26
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/c61gs.fd26
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/c61gt.fd26
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/c61hgt.fd24
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/c61hmj.fd24
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/c61hol.fd26
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/c61hpg.fd24
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/c61mj.fd24
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/c62song.fd22
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/hangul.cap74
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/hangul.cpx71
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/hangul2.cap74
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/hangul2.cpx71
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/hanja.cap74
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/KS/hanja.cpx71
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJIS.bdg162
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJIS.cap84
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJIS.chr260
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJIS.cpx81
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJIS.enc199
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJISdnp.chr253
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJISdnp.enc192
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/SJIS/c49song.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/UTF8/UTF8.bdg156
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/UTF8/UTF8.chr276
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/UTF8/UTF8.enc140
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70bkai.fd21
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70bkai.fdx325
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70bsmi.fd21
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70bsmi.fdx325
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70gbsn.fd21
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70gbsn.fdx15
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70gkai.fd21
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70gkai.fdx15
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70mj.fd51
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70mj.fdx15
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70song.fd21
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/UTF8/ja.cpx83
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/UTF8/ko-Hang.cpx74
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/UTF8/ko-Hang2.cpx74
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/UTF8/ko-Hani.cpx74
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/UTF8/zh-Hans.cpx86
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/UTF8/zh-Hant.cpx86
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/extended.chr219
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/extended.enc289
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/mule/MULEenc.sty501
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/pinyin.sty1234
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/pmC.chr98
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/pmCbig.enc133
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/pmCsmall.enc133
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/ruby.sty174
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/standard.bdg161
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/standard.chr203
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/standard.enc131
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/thai/c90cmr.fd24
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/thai/c90cmss.fd24
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/thai/c90cmtt.fd24
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/thai/c90enc.def110
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/thai/c90gar.fd34
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/thai/c90nrsr.fd34
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texinput/thai/thaicjk.ldf89
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texlive/README2
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texlive/bin-cjkutils.pl112
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texlive/c63mj.fd56
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texlive/c64mj.fd56
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texlive/c65mj.fd56
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texlive/c90.pl28
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texlive/cjk-build.pl63
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texlive/cjk.pl489
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texlive/dnp.pl21
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texlive/garuda-c90.pl32
-rw-r--r--language/chinese/CJK/cjk-4.8.4/texlive/norasi-c90.pl32
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.1110
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.c33
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.w121
-rwxr-xr-xlanguage/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5latex43
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5latex.bat3
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5latex.cmd44
-rwxr-xr-xlanguage/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5pdflatex43
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.1127
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.c135
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.w237
-rwxr-xr-xlanguage/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5latex43
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5ltx.bat3
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5ltx.cmd46
-rwxr-xr-xlanguage/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5pdflatex43
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.1117
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.c127
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.w221
-rwxr-xr-xlanguage/chinese/CJK/cjk-4.8.4/utils/CEFconv/ceflatex43
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/CEFconv/ceflatex.bat3
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/CEFconv/ceflatex.cmd46
-rwxr-xr-xlanguage/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefpdflatex43
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.1127
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.c135
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.w240
-rwxr-xr-xlanguage/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefslatex43
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsltx.bat3
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsltx.cmd46
-rwxr-xr-xlanguage/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefspdflatex43
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.1110
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.c33
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.w123
-rwxr-xr-xlanguage/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjislatex43
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisltx.bat3
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisltx.cmd44
-rwxr-xr-xlanguage/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjispdflatex43
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/cjklatex/cjklatex.c293
-rwxr-xr-xlanguage/chinese/CJK/cjk-4.8.4/utils/extconv/bg5+latex43
-rwxr-xr-xlanguage/chinese/CJK/cjk-4.8.4/utils/extconv/bg5+pdflatex43
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5pltx.bat3
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5pltx.cmd44
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/extconv/extconv.1111
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/extconv/extconv.c34
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/extconv/extconv.w122
-rwxr-xr-xlanguage/chinese/CJK/cjk-4.8.4/utils/extconv/gbklatex43
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/extconv/gbklatex.bat3
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/extconv/gbklatex.cmd44
-rwxr-xr-xlanguage/chinese/CJK/cjk-4.8.4/utils/extconv/gbkpdflatex43
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/f_name.bat205
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/Makefile.gnu127
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/Makefile.in127
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/README2
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/c-auto.h39
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/README10
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/b5ka12.cfg28
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/b5kr12.cfg30
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/b5so12.cfg31
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c1so12.cfg28
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c2so12.cfg28
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c3so12.cfg28
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c4so12.cfg28
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c5so12.cfg28
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c6so12.cfg28
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c7so12.cfg28
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/csso12.cfg28
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/gsfs14.cfg27
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/j2so12.cfg30
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/jsso12.cfg28
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/ksso17.cfg27
-rwxr-xr-xlanguage/chinese/CJK/cjk-4.8.4/utils/hbf2gf/config.guess1438
-rwxr-xr-xlanguage/chinese/CJK/cjk-4.8.4/utils/hbf2gf/config.sub1810
-rwxr-xr-xlanguage/chinese/CJK/cjk-4.8.4/utils/hbf2gf/configure5088
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/configure.ac131
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/dvidrv.btm352
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emdir.c109
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emdir.h25
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emtexdir.c405
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emtexdir.h57
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf.c1494
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf.h215
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.1718
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.c2250
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.def3
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.w2816
-rwxr-xr-xlanguage/chinese/CJK/cjk-4.8.4/utils/hbf2gf/install-sh501
-rwxr-xr-xlanguage/chinese/CJK/cjk-4.8.4/utils/hbf2gf/mkinstalldirs162
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXPK.diff63
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXTFM.diff28
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-6.1/MakeTeXPK.diff75
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-6.1/README1
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.0/MakeTeXPK.diff67
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.0/MakeTeXTFM.diff36
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.1/MakeTeXPK.diff72
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.1/MakeTeXTFM.diff36
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.2/mktexpk.diff72
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.2/mktextfm.diff36
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/lisp/cjkspace.el102
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/lisp/cjktilde.el111
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/lisp/emacs/cjk-enc.el1162
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/lisp/emacs/thai-word.el11052
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/lisp/mule-2.3/cjk-enc.el625
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pinyin.c480
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pinyin.ldf62
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pinyin.tr52
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pyhyph.tex236
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pytest.tex51
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/subfonts/clonevf.pl122
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/subfonts/hlatex2agl.pl477
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/subfonts/makefdx.pl340
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/subfonts/sfd2uni.pl348
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/subfonts/subfonts.pe95
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/subfonts/uni2sfd.pl312
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/subfonts/vertical.pe108
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/subfonts/vertref.pe121
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/dvips/garuda-c90/config.garuda-c901
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/dvips/norasi-c90/config.norasi-c901
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/enc/dvips/thai/c90.enc334
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/map/dvips/garuda-c90/garuda-c90.map4
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/map/dvips/norasi-c90/norasi-c90.map4
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdb8z.tfmbin0 -> 3660 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdbo8z.tfmbin0 -> 3912 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdo8z.tfmbin0 -> 3832 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdr8z.tfmbin0 -> 3580 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftnb8z.tfmbin0 -> 6412 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftnbi8z.tfmbin0 -> 6640 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftni8z.tfmbin0 -> 6664 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftnr8z.tfmbin0 -> 6424 bytes
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/INSTALL333
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/c90.etx2346
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/c90.mtx42
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/config.dbtt-old1
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old-alias.etx46
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old-alias.mtx36
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old-alias.tex139
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old.fontinst78
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old.map4
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/garuda-c90.fontinst77
-rw-r--r--language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/norasi-c90.fontinst85
-rw-r--r--language/chinese/chtex/HC-1.5.hqx1794
-rw-r--r--language/chinese/chtex/MacHanzi.README31
-rw-r--r--language/chinese/chtex/MacHanzi.hqx20367
-rw-r--r--language/chinese/chtex/china.report536
-rw-r--r--language/chinese/chtex/crl-big5-phrases.gzbin0 -> 18162 bytes
-rw-r--r--language/chinese/chtex/crl-gb-phrases.gzbin0 -> 17726 bytes
-rw-r--r--language/chinese/chtex/crl.README22
-rw-r--r--language/chinese/chtex/fel-big5-cihui.gzbin0 -> 46843 bytes
-rw-r--r--language/chinese/chtex/fel-gb-cihui.gzbin0 -> 45368 bytes
-rw-r--r--language/chinese/chtex/fel.README55
-rw-r--r--language/chinese/chtex/ftp.sites53
-rw-r--r--language/chinese/chtex/hanzi-converter.hqx1907
-rw-r--r--language/chinese/chtex/hong-kong.report419
-rw-r--r--language/chinese/chtex/pinyin-et-big5.gzbin0 -> 32336 bytes
-rw-r--r--language/chinese/chtex/pinyin-hku-big5.gzbin0 -> 32336 bytes
-rw-r--r--language/chinese/chtex/poem.sit.hqx757
-rw-r--r--language/chinese/chtex/taiwan.report1396
-rw-r--r--language/chinese/chtex/telecode.gb.gzbin0 -> 26945 bytes
-rw-r--r--language/chinese/cjkpunct/CJKpunct.dtx876
-rw-r--r--language/chinese/cjkpunct/CJKpunct.ins111
-rw-r--r--language/chinese/cjkpunct/CJKpunct.pdfbin0 -> 141092 bytes
-rw-r--r--language/chinese/cjkpunct/CJKpunct.spa1
-rw-r--r--language/chinese/cjkpunct/README.md50
-rw-r--r--language/chinese/cjkpunct/examples/example-CJKfntef.tex73
-rw-r--r--language/chinese/cjkpunct/examples/example-gb.tex64
-rw-r--r--language/chinese/cjkpunct/examples/example-gbk.tex64
-rw-r--r--language/chinese/cjkpunct/examples/example-utf8.tex68
-rw-r--r--language/chinese/cjkpunct/setpunct/README.txt22
-rw-r--r--language/chinese/cjkpunct/setpunct/setpunct-macros.tex128
-rw-r--r--language/chinese/cjkpunct/setpunct/setpunct-main.tex30
-rw-r--r--language/chinese/ctex/README.md120
-rw-r--r--language/chinese/ctex/ctex.dtx12172
-rw-r--r--language/chinese/ctex/ctex.pdfbin0 -> 1061924 bytes
-rw-r--r--language/chinese/ctex/ctexpunct.spa30
-rw-r--r--language/chinese/ftp.sites53
-rw-r--r--language/chinese/pmtex/wcksa4.300pkbin0 -> 5464 bytes
-rw-r--r--language/chinese/pmtex/wcksa4.tfmbin0 -> 884 bytes
-rw-r--r--language/chinese/pmtex/wcksb0.300pkbin0 -> 21716 bytes
-rw-r--r--language/chinese/pmtex/wcksb0.tfmbin0 -> 1052 bytes
-rw-r--r--language/chinese/pmtex/wcksb1.300pkbin0 -> 21408 bytes
-rw-r--r--language/chinese/pmtex/wcksb1.tfmbin0 -> 1052 bytes
-rw-r--r--language/chinese/pmtex/wcksb2.300pkbin0 -> 22780 bytes
-rw-r--r--language/chinese/pmtex/wcksb2.tfmbin0 -> 1052 bytes
-rw-r--r--language/chinese/pmtex/wcksb3.300pkbin0 -> 22200 bytes
-rw-r--r--language/chinese/pmtex/wcksb3.tfmbin0 -> 1052 bytes
-rw-r--r--language/chinese/pmtex/wcksb4.300pkbin0 -> 21240 bytes
-rw-r--r--language/chinese/pmtex/wcksb4.tfmbin0 -> 1052 bytes
-rw-r--r--language/chinese/pmtex/wcksb5.300pkbin0 -> 21368 bytes
-rw-r--r--language/chinese/pmtex/wcksb5.tfmbin0 -> 1052 bytes
-rw-r--r--language/chinese/pmtex/wcksb6.300pkbin0 -> 22844 bytes
-rw-r--r--language/chinese/pmtex/wcksb6.tfmbin0 -> 1052 bytes
-rw-r--r--language/chinese/pmtex/wcksb7.300pkbin0 -> 22688 bytes
-rw-r--r--language/chinese/pmtex/wcksb7.tfmbin0 -> 1052 bytes
-rw-r--r--language/chinese/pmtex/wcksb8.300pkbin0 -> 22416 bytes
-rw-r--r--language/chinese/pmtex/wcksb8.tfmbin0 -> 1052 bytes
-rw-r--r--language/chinese/pmtex/wcksb9.300pkbin0 -> 22648 bytes
-rw-r--r--language/chinese/pmtex/wcksb9.tfmbin0 -> 1052 bytes
-rw-r--r--language/chinese/pmtex/wcksba.300pkbin0 -> 22988 bytes
-rw-r--r--language/chinese/pmtex/wcksba.tfmbin0 -> 1052 bytes
-rw-r--r--language/chinese/pmtex/wcksbb.300pkbin0 -> 24252 bytes
-rw-r--r--language/chinese/pmtex/wcksbb.tfmbin0 -> 1052 bytes
-rw-r--r--language/chinese/pmtex/wcksbc.300pkbin0 -> 22676 bytes
-rw-r--r--language/chinese/pmtex/wcksbc.tfmbin0 -> 1052 bytes
-rw-r--r--language/chinese/pmtex/wcksbd.300pkbin0 -> 23552 bytes
-rw-r--r--language/chinese/pmtex/wcksbd.tfmbin0 -> 1052 bytes
-rw-r--r--language/chinese/pmtex/wcksbe.300pkbin0 -> 22972 bytes
-rw-r--r--language/chinese/pmtex/wcksbe.tfmbin0 -> 1052 bytes
-rw-r--r--language/chinese/pmtex/wcksbf.300pkbin0 -> 22548 bytes
-rw-r--r--language/chinese/pmtex/wcksbf.tfmbin0 -> 1052 bytes
-rw-r--r--language/chinese/pmtex/wcksc0.300pkbin0 -> 22108 bytes
-rw-r--r--language/chinese/pmtex/wcksc0.tfmbin0 -> 1052 bytes
-rw-r--r--language/chinese/pmtex/wcksc1.300pkbin0 -> 22044 bytes
-rw-r--r--language/chinese/pmtex/wcksc1.tfmbin0 -> 1052 bytes
-rw-r--r--language/chinese/pmtex/wcksc2.300pkbin0 -> 23272 bytes
-rw-r--r--language/chinese/pmtex/wcksc2.tfmbin0 -> 1052 bytes
-rw-r--r--language/chinese/pmtex/wcksc3.300pkbin0 -> 23296 bytes
-rw-r--r--language/chinese/pmtex/wcksc3.tfmbin0 -> 1052 bytes
-rw-r--r--language/chinese/pmtex/wcksc4.300pkbin0 -> 22172 bytes
-rw-r--r--language/chinese/pmtex/wcksc4.tfmbin0 -> 1052 bytes
-rw-r--r--language/chinese/pmtex/wcksc5.300pkbin0 -> 22072 bytes
-rw-r--r--language/chinese/pmtex/wcksc5.tfmbin0 -> 1052 bytes
-rw-r--r--language/chinese/pmtex/wcksc6.300pkbin0 -> 22944 bytes
-rw-r--r--language/chinese/pmtex/wcksc6.tfmbin0 -> 1052 bytes
-rw-r--r--language/chinese/pmtex/wcksc7.300pkbin0 -> 23032 bytes
-rw-r--r--language/chinese/pmtex/wcksc7.tfmbin0 -> 1052 bytes
-rw-r--r--language/chinese/pmtex/wcksc8.300pkbin0 -> 22588 bytes
-rw-r--r--language/chinese/pmtex/wcksc8.tfmbin0 -> 1052 bytes
-rw-r--r--language/chinese/zhlineskip/CJKmetrics.pdfbin0 -> 5043 bytes
-rw-r--r--language/chinese/zhlineskip/Latinmetrics.pdfbin0 -> 7522 bytes
-rw-r--r--language/chinese/zhlineskip/README.md49
-rw-r--r--language/chinese/zhlineskip/zhlineskip-test.tex48
-rw-r--r--language/chinese/zhlineskip/zhlineskip.pdfbin0 -> 273368 bytes
-rw-r--r--language/chinese/zhlineskip/zhlineskip.sty218
-rw-r--r--language/chinese/zhlineskip/zhlineskip.tex733
-rw-r--r--language/chinese/zhmcjk/README109
-rw-r--r--language/chinese/zhmcjk/doc/zhmCJK-test.tex45
-rw-r--r--language/chinese/zhmcjk/doc/zhmCJK.pdfbin0 -> 369599 bytes
-rw-r--r--language/chinese/zhmcjk/fontname/texfonts.map.template2
-rw-r--r--language/chinese/zhmcjk/fontname/zhmCJK.map8193
-rw-r--r--language/chinese/zhmcjk/source/Makefile72
-rwxr-xr-xlanguage/chinese/zhmcjk/source/zhmCJK-addmap.pl28
-rw-r--r--language/chinese/zhmcjk/source/zhmCJK.dtx1549
-rw-r--r--language/chinese/zhmcjk/source/zhmCJK.ins85
-rw-r--r--language/chinese/zhmcjk/source/zhmCJK.lua204
-rw-r--r--language/chinese/zhmcjk/tex/zhmCJK.sty407
-rw-r--r--language/chinese/zhmcjk/tfm/zhmCJK.tfmbin0 -> 1252 bytes
606 files changed, 137113 insertions, 0 deletions
diff --git a/language/chinese/CJK/README b/language/chinese/CJK/README
new file mode 120000
index 0000000000..707c62d0ef
--- /dev/null
+++ b/language/chinese/CJK/README
@@ -0,0 +1 @@
+cjk-4.8.4/README \ No newline at end of file
diff --git a/language/chinese/CJK/cjk-4.8.4/ChangeLog b/language/chinese/CJK/cjk-4.8.4/ChangeLog
new file mode 100644
index 0000000000..f943ead7ea
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/ChangeLog
@@ -0,0 +1,2486 @@
+2015-04-18 Werner LEMBERG <wl@gnu.org>
+
+ Version 4.8.4 released
+ ======================
+
+ Set version to 4.8.4.
+
+ * doc/history.txt: Updated.
+
+ * Makefile (distsrc, distdoc): Use tar's `ustar' format.
+ Compress better.
+
+ Update headers in all text files.
+
+2015-04-18 Werner LEMBERG <wl@gnu.org>
+
+ [hbf2gf] Update aux scripts.
+
+ * utils/hbf2gf/config.guess, utils/hbf2gf/config.sub,
+ utils/hbf2gf/install-sh: Updated to current versions.
+
+2014-08-31 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ [hbf2gf]: Avoid undefined behaviour when `char' is signed.
+
+ * utils/hbf2gf/hbf.c (match, add_property, skip_word, get_line): Use
+ proper cast.
+ * utils/hbf2gf/hbf2gf.w (fsearch, <Check for environment
+ variables>): Ditto.
+
+2014-08-31 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * utils/hbf2gf/hbf2hf.w (path_open): Drop unused variable.
+
+2014-06-28 Leo Liu <leoliu.pku@gmail.com>
+
+ [CJKutf8] Fix space handing of non-CJK characters.
+
+ * texinput/CJKutf8.sty (\CJK@XX, \CJK@XXp, \CJK@XXX, \CJK@XXXp):
+ Only apply \CJK@ignorespaces for CJK characters (or rather, only for
+ multibyte sequences that don't map to a `\u8:...' macro).
+
+2012-09-13 Werner LEMBERG <wl@gnu.org>
+
+ * examples/CJKutf8.tex: Add Greek.
+
+ This finally works due to the recent lgrx package which delivers
+ good Babel UTF8 support for LGR encoding.
+
+ An unsolved problem yet, however, is proper cut-and-paste support.
+ While dvipdfmx properly generates CMaps for CJK encodings (even
+ for virtual fonts which pdftex doesn't handle at all), it doesn't
+ handle encodings like LGR correctly, something the `cmap' package
+ provides for pdflatex.
+
+2012-08-26 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.sty (\Unicode): Fix conditional to allow line breaks.
+
+ Problem reported by Jinsong Zhao <jszhao@yeah.net>; it seems that
+ this bug has been there since from the beginning.
+
+2012-06-21 Werner LEMBERG <wl@gnu.org>
+
+ Make some commands robust.
+
+ * texinput/CJK.sty (\CJKtilde, \standardtilde, \CJKspace,
+ \CJKnospace): Use \DeclareRobustCommand.
+
+2012-05-20 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ [hbf2gf] Build fix for 64-bit Mac OS X 10.7.3.
+
+ * utils/hbf2gf/hbf2gf.w: Clang does not like non-static inline
+ functions as used here. While at it, all local functions are
+ declared static.
+ Do not extend #ifdef HAVE_EMTEXDIR...#endif over several sections.
+
+2012-05-08 Werner LEMBERG <wl@gnu.org>
+
+ * texlive/cjk.pl: Add missing file.
+
+2012-05-07 Werner LEMBERG <wl@gnu.org>
+
+ Version 4.8.3 released
+ ======================
+
+ Set version to 4.8.3.
+
+ * doc/history.txt: Updated.
+
+ * Makefile (CJK2DVI, LATEX2DVI): Set TFMFONTS.
+
+ Update headers in all text files.
+
+2012-05-07 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/config.guess, utils/hbf2gf/config.sub,
+ utils/hbf2gf/install-sh, utils/hbf2gf/mkinstalldirs: Updated to
+ current versions.
+
+ * utils/hbf2gf/configure: Regenerated with autoconf 2.69.
+
+2012-05-07 Werner LEMBERG <wl@gnu.org>
+
+ [thai] Update to font-tlwg 0.5.
+
+ * doc/thaifont.txt, utils/thaifont/tools/INSTALL: Updated.
+
+ * utils/thaifont/texmf/fonts/tfm/public/norasi/ftnr8z.tfm,
+ utils/thaifont/texmf/fonts/tfm/public/norasi/ftnb8z.tfm,
+ utils/thaifont/texmf/fonts/tfm/public/norasi/ftnbo8z.tfm,
+ utils/thaifont/texmf/fonts/tfm/public/norasi/ftno8z.tfm,
+ utils/thaifont/texmf/fonts/tfm/public/garuda/fgdr8z.tfm,
+ utils/thaifont/texmf/fonts/tfm/public/garuda/fgdb8z.tfm,
+ utils/thaifont/texmf/fonts/tfm/public/garuda/fgdbo8z.tfm,
+ utils/thaifont/texmf/fonts/tfm/public/garuda/fgdo8z.tfm: Regenerated
+ with fontinst.
+
+2012-05-05 Hin-Tak Leung <htl10@users.sourceforge.net>
+
+ [cjk-enc.el] Accept Thai input in utf-8 encoding.
+
+ * utils/lisp/emacs/cjk-enc.el: Treat Unicode 0x0EXX inputs as Thai.
+
+ * examples/thai_utf8.tex: New sample file.
+
+ * Makefile (DISTTARGETS): Add `thai_utf8.tex'.
+ (thai_utf8): New target.
+
+ * MANIFEST, texlive/cjk.pl: Updated.
+
+2012-05-05 Werner LEMBERG <wl@gnu.org>
+
+ Remove xCJK files.
+
+ The stuff is obsolete and no longer works out of the box. Given
+ that there exists the `xeCJK' package, those files are really
+ useless today.
+
+ * examples/xCJK.tex, texinput/UTF8/xUTF8.chr,
+ texinput/UTF8/xUTF8.enc, texinput/xCJK.sty, texinput/xpmC.chr,
+ texinput/xpmC.enc, doc/xCJK.txt: Removed.
+
+ * MANIFEST, texlive/cjk.pl: Updated.
+
+ * Makefile (XELATEX, xCJK): Removed.
+ (DISTTARGETS): Updated.
+
+2012-05-05 Qing Lee <sobenlee@gmail.com>
+
+ [CJKfntef] Fix incompatibility with `ulem.sty'.
+
+ * texinput/CJKfntef.tex (\CJKunderdot): Version 2010-01-21 of
+ `ulem.sty' silently adds a line which redefines \par (its author
+ says this was an oversight). This exhibits a bug in \CJKunderdot
+ which implicitly emits \par by inserting an \hskip command in
+ vertical mode. Simply omitting this \hskip fixes the issue.
+
+2012-04-20 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/Bg5/Bg5.cpx, texinput/JIS/JIS.cpx: Fix typos.
+
+2012-04-20 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/UTF8/zh-Hans.cpx: Synchronize.
+
+2012-04-20 Jiangsheng Yu <yujs@ittc.ku.edu>
+
+ * texinput/GB/GB.cap, texinput/GB/GB.cpx: Improve.
+
+2011-12-16 Hin-Tak Leung <htl10@users.sourceforge.net>
+
+ [cjk-enc.el] Make it work with emacs 23 and newer.
+
+ Emacs 23+ introduces native Unicode support and uses a new charset
+ priority system: `char-charset' and `split-char' preferably now
+ return the Unicode charset and code points, respectively;
+ non-Unicode charsets and code points are only used if they have a
+ higher charset priority. On the other hand, information on the
+ original charset is preserved in the text property `charset'.
+
+ Another change is the new charset/text-property called `tis620-2533'
+ (a superset of `ascii' and `thai-tis620'), introduced in emacs 23.
+ This has the tendency of swallowing up every ASCII character and
+ goes into an infinite loop with `examples/thai.tex', so we have to
+ handle this also.
+
+ Tested with emacs 22.3 and 23.3, and
+ EMACS_PRETEST_24_0_92-142-g559675b on examples/{CJKbabel.tex,
+ muletest.tex, rubytest.tex, thai.tex}.
+
+ * utils/lisp/emacs/cjk-enc.el [emacs version >= 23]:
+ `make-coding-system' is deprecated -- use `define-coding-system'
+ instead.
+
+ Use the `charset' text property instead of the outcome of
+ `char-charset' to explicitly set the charset priority; this makes
+ `split-char' work as with emacs 22 and earlier.
+
+ Set new optional `restriction' argument of `char-charset' to avoid
+ problems with `tis620-2533'.
+
+2011-12-03 Werner LEMBERG <wl@gnu.org>
+
+ * examples/thai.tex: Improve prologue comments.
+
+2011-10-04 Werner LEMBERG <wl@gnu.org>
+
+ [CEFconv, SJISconv] Document missing range 0xF0-0xFC.
+
+ * utils/CEFconv/cefsconv.w, utils/SJISconv/sjisconv.w: Do it.
+
+2011-10-04 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ [cjklatex] Don't include `kpathsea/win32lib.h'.
+ This is already done from `kpathsea/config.h'.
+
+ * utils/cjklatex/cjklatex.c: Implement it.
+
+2011-10-04 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ [cefconv] Various fixes.
+
+ * utils/CEFconv/cef5conv.w: Fix output so that it really works as
+ bg5conv + cefconv.
+ * utils/CEFconv/cefsconv.w: Fix output so that it really works as
+ sjisconv + cefconv.
+ * utils/CEFconv/cefconv.w: Typo.
+
+2011-09-03 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ [cjklatex] Introduce `LATEX' preprocessor macro.
+
+ * utils/cjklatex/cjklatex.c (LATEX): New macro. Use it where
+ appropriate to remove the hardcoded usage of `latex'. For example,
+ LATEX can be defined as `pdflatex' (as done in TeXLive).
+
+2011-09-03 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ [cjklatex] Various updates to stay in sync with TeXLive.
+
+ * utils/cjklatex/cjklatex.c: Include kpathsea/win32lib.h instead of
+ win32lib.h directly.
+ Decorate with `const'.
+ (usage_str, CJKtable): Updated.
+
+2011-09-03 Werner LEMBERG <wl@gnu.org>
+
+ [hbf2gf] Update manpage.
+
+ * utils/hbf2gf/hbf2gf.1, doc/hbf2gf.txt: Remove information on
+ ancient kpathsea versions.
+
+2011-09-03 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ [hbf2gf] Update kpathsea support.
+
+ * utils/hbf2gf/hbf2gf.w (OLD_KPATHSEA, VERY_OLD_KPATHSEA): Removed.
+ (DllImport, KPSEDLL): Removed.
+ [HAVE_CONFIG_H]: Include `c-auto.h'.
+
+2011-09-03 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ [hbf2gf] Decorate with `const'.
+
+ * utils/hbf2gf/hbf2gf.w, utils/hbf2gf/hbf.c: Do it.
+
+2011-09-03 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Adapt utility programs to ANSI C.
+
+ * utils/Bg5conv/bg5conv.w, utils/CEFconv/cefconv.w,
+ utils/CEFconv/cef5conv.w, utils/CEFconv/cefsconv.w,
+ utils/SJISconv/sjisconv.w, utils/extconv/extconv.w,
+ utils/hbf2gf/hbf.c, utils/hbf2gf/hbf2gf.w: Do it.
+
+2011-02-07 Werner LEMBERG <wl@gnu.org>
+
+ * doc/CJK.txt: Document possible problems in `tabular' environment.
+ Problem reported by LI Ruo-Meng <15003990378@163.com>.
+
+2010-01-04 Werner LEMBERG <wl@gnu.org>
+
+ * doc/CJK.txt: Document Babel bug related to ^^xx notation.
+ Problem reported by Peter Grzybek <peter.grzybek@uni-graz.at>.
+
+2009-11-07 Werner LEMBERG <wl@gnu.org>
+
+ Fix line breaks with furigana.
+
+ * texinput/ruby.txt (\ruby): If the furigana is smaller than
+ the base glyph, really behave as documented, this is, behave like an
+ ordinary CJK character.
+
+2009-08-25 Werner LEMBERG <wl@gnu.org>
+
+ * examples/CJKfntef.tex: Updated.
+
+2009-08-25 Wenchang Sun <sunwch@hotmail.com>
+
+ New macros for CJKfntef.sty.
+
+ * texinput/CJKfntef.sty (\varCJKunderline, \CJKunderanyline,
+ \CJKunderanysymbol): New macros.
+ (\CJKunderdot): Fix interaction with XeTeX.
+
+ * doc/history.txt: Document it.
+
+2009-08-25 Wenchang Sun <sunwch@hotmail.com>
+
+ * texinput/CJKfntef.sty: Replace \global with \CJKf@global.
+
+2009-01-19 Werner LEMBERG <wl@gnu.org>
+
+ * texlive/cjk-build.pl: Remove unused stuff.
+ From Karl Berry.
+
+2009-01-05 Werner LEMBERG <wl@gnu.org>
+
+ * doc/CJK.txt: Document usage of CJKutf8.sty with beamer class.
+
+2008-12-29 Werner LEMBERG <wl@gnu.org>
+
+ Version 4.8.2 released
+ ======================
+
+ Set version to 4.8.2.
+
+ * doc/history.txt: Updated.
+
+ Update headers in all text files.
+
+2008-12-29 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/config.guess, utils/hbf2gf/config.sub,
+ utils/hbf2gf/install-sh, utils/hbf2gf/mkinstalldirs: Updated to
+ current versions.
+
+ * utils/hbf2gf/configure: Regenerated with autoconf 2.63.
+
+2008-12-29 Werner LEMBERG <wl@gnu.org>
+
+ * doc/TeXLive.txt: Replaced with...
+ * texlive/*.pl: These new files which define the various TeXLive
+ packages derived from the CJK bundle.
+
+ * MANIFEST: Updated.
+
+2008-12-28 Werner LEMBERG <wl@gnu.org>
+
+ * doc/history.txt: Updated.
+
+ * doc/CJKnumb.txt: New file.
+
+ * MANIFEST: Updated.
+
+2008-12-28 Werner LEMBERG <wl@gnu.org>
+
+ Rename garuda & norasi stuff to garuda-c90 & norasi-c90.
+
+ * MANIFEST, doc/thaifont.txt, utils/thaifont/tools/INSTALL: Updated.
+
+ * utils/thaifont/texmf/dvips/garuda/config.garuda: Moved to...
+ * utils/thaifont/texmf/dvips/garuda-c90/config.garuda-c90: This
+ file. Updated.
+ * utils/thaifont/texmf/dvips/norasi/config.norasi: Moved to...
+ * utils/thaifont/texmf/dvips/norasi-c90/config.norasi-c90: This
+ file. Updated.
+ * utils/thaifont/texmf/fonts/map/dvips/garuda/garuda.map: Moved
+ to...
+ * utils/thaifont/texmf/fonts/map/dvips/garuda-c90/garuda-c90.map:
+ This file.
+ * utils/thaifont/texmf/fonts/map/dvips/norasi/norasi.map: Moved
+ to...
+ * utils/thaifont/texmf/fonts/map/dvips/norasi-c90/norasi-c90.map:
+ This file.
+ * utils/thaifont/texmf/fonts/tfm/public/garuda/*: Moved to...
+ * utils/thaifont/texmf/fonts/tfm/public/garuda-c90/*: This
+ directory.
+ * utils/thaifont/texmf/fonts/tfm/public/norasi/*: Moved to...
+ * utils/thaifont/texmf/fonts/tfm/public/norasi-c90/*: This
+ directory.
+ * utils/thaifont/tools/garuda.fontinst: Moved to...
+ * utils/thaifont/tools/garuda-c90.fontinst: This file.
+ * utils/thaifont/tools/norasi.fontinst: Moved to...
+ * utils/thaifont/tools/norasi-c90.fontinst: This file.
+
+2008-12-28 Werner LEMBERG <wl@gnu.org>
+
+ * contrib/wadalab/DNP.txt: Renamed to...
+ * contrib/wadalab/wadalab.txt: This.
+ * MANIFEST: Updated.
+
+2008-12-28 Werner LEMBERG <wl@gnu.org>
+
+ Use same font names as in thailatex.
+
+ * doc/thaifont.txt,
+ utils/thaifont/texmf/fonts/map/dvips/garuda/garuda.map,
+ utils/thaifont/texmf/fonts/map/dvips/norasi/norasi.map: Updated.
+
+
+ Update to thailatex 0.4.2.
+
+ * doc/thaifont.txt,
+ utils/thaifont/texmf/fonts/tfm/public/norasi/ftnr8z.tfm,
+ utils/thaifont/texmf/fonts/tfm/public/norasi/ftnb8z.tfm,
+ utils/thaifont/texmf/fonts/tfm/public/norasi/ftnbo8z.tfm,
+ utils/thaifont/texmf/fonts/tfm/public/norasi/ftno8z.tfm,
+ utils/thaifont/texmf/fonts/tfm/public/garuda/fgdr8z.tfm,
+ utils/thaifont/texmf/fonts/tfm/public/garuda/fgdb8z.tfm,
+ utils/thaifont/texmf/fonts/tfm/public/garuda/fgdbo8z.tfm,
+ utils/thaifont/texmf/fonts/tfm/public/garuda/fgdo8z.tfm: Regenerated
+ with fontinst.
+
+2008-11-25 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJKnumb.sty: Use U+3007 (IDEOGRAPHIC NUMBER ZERO),
+ not U+25CB (WHITE CIRCLE).
+
+ * texinput/UTF8/c70bkai.fdx, texinput/UTF8/c70bsmi.fdx: Map U+25CB
+ to U+3007.
+ * texinput/UTF8/c70gbsn.fdx, texinput/UTF8/c70gkai.fdx,
+ texinput/UTF8/c70mj.fdx: New files which do the same.
+
+ * MANIFEST: Updated.
+
+2008-11-25 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.sty (\Unicode): Use vertical glyph representation
+ forms.
+
+2008-11-25 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJKnumb.sty (\CJKdigits*): New command to use traditional
+ form of glyph zero.
+
+ * doc/history.txt: Updated.
+
+2008-10-01 Werner LEMBERG <wl@gnu.org>
+
+ * *.fd: Add \CJKnormal to all font families which use \CJKbold. This
+ is necessary because NFSS doesn't call \selectfont if a font gets
+ substituted by another one (and \selectfont resets the \CJK@bold@
+ flag). Here an example (where `gbsn' uses \CJKbold for boldface
+ emulation):
+
+ \begin{CJK*}{GB}{gbsn}
+ {\bf\CJKchar{"D6}{"D0}}
+ {\em\CJKchar{"D6}{"D0}}
+ \end{CJK*}
+
+2008-09-23 Werner LEMBERG <wl@gnu.org>
+
+ * utils/subfonts/subfonts.pe: Fix error message for too-old
+ FontForge versions.
+
+2008-08-21 Werner LEMBERG <wl@gnu.org>
+
+ * utils/subfonts/subfonts.pe: Handle CID-keyed fonts.
+
+2008-08-10 Werner LEMBERG <wl@gnu.org>
+
+ Version 4.8.1 released
+ ======================
+
+ Set version to 4.8.1.
+
+ * doc/history.txt, README: Updated.
+
+ * doc/TeXLive.txt: Updated.
+ PDF man pages are now autogenerated in TeXLive.
+
+ Update headers in all text files.
+
+ * utils/hbf2gf/config.sub: Updated to current version.
+
+2008-08-03 Werner LEMBERG <wl@gnu.org>
+
+ Add some missing files. Found by Daniel Flipo.
+
+ * texinput/Bg5/c00bkai.fd, texinput/GB/c10gkai.fd,
+ texinput/GB/c10gkai.fdx: New files.
+
+ * MANIFEST: Updated.
+
+2008-07-11 Werner LEMBERG <wl@gnu.org>
+
+ Make macros in pinyin.sty robust.
+
+ Problem reported by Denis Roegel <roegel@loria.fr>.
+
+ * texinput/pinyin.sty (\py@macron): Make it work again with Plain
+ TeX.
+ (\py@@@): No longer needed.
+ (\py@): Do what \py@@@ did formerly.
+ (py@DRC): New macro to make the pinyin syllables robust.
+ Update all pinyin syllable macro definitions to use it.
+
+ * doc/history.txt: Updated.
+
+2008-07-11 Werner LEMBERG <wl@gnu.org>
+
+ Incorporate Wen-Chang's CJKspace package.
+
+ * texinput/CJKspace.sty, examples/CJKspace.tex, doc/CJKspace.txt:
+ New files.
+ * texinput/CJK.sty (\CJK@@@): New signature macro for CJKspace.sty.
+ (\CJK@namedef, \CJK@namepdef, \CJK@nameppdef, \CJK@namepppdef,
+ \CJK@nameppppdef): Use it.
+
+ * Makefile, doc/history.txt, MANIFEST: Updated.
+
+2008-05-22 Werner LEMBERG <wl@gnu.org>
+
+ Version 4.8.0 released
+ ======================
+
+ Set version to 4.8.0.
+
+ * doc/history.txt, doc/INSTALL, doc/TeXLive.txt, README: Updated.
+
+ Update headers in all text files.
+
+ * utils/hbf2gf/config.guess, utils/hbf2gf/config.sub: Updated to
+ current versions.
+
+ * utils/hbf2gf/configure: Regenerated with autoconf 2.62.
+
+2008-05-18 Werner LEMBERG <wl@gnu.org>
+
+ * Makefile (DISTDIRS): We are now using git, not CVS.
+
+2008-05-18 Werner LEMBERG <wl@gnu.org>
+
+ * doc/history.txt: Mention xCJK.sty.
+
+2008-05-17 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.sty (\CJK@UnicodeEnc): New macro (so that xCJK.sty
+ can overwrite it).
+ * texinput/CJKnumb.sty: Use it.
+
+ * texinput/xCJK.sty: Simplify -- unicode mappings to other encodings
+ are no longer supported (since it hasn't worked for Big5 or GBK
+ anyway).
+
+ (\xCJK@xUTF): Removed.
+ (\CJKsymbol): Simplified.
+ (\toutf@XXX): Removed.
+ (\xCJK@CJKenc, \CJKenc): Removed.
+ (\CJK@envStart): Produce error if encoding is not `UTF8'.
+ Simplified.
+ (\xCJK@setenc, \CJK@xpmC, \xCJK@enc@UTF8, \xCJK@xUTF8@hook):
+ Removed.
+ (\CJK@xUTF8@hook, \CJK@UnicodeEnc): New macros.
+ (\xCJK@@char): Removed.
+ (\CJK@XXpdf): Simplified.
+ (\CJK@@XXpdf): Removed.
+
+ Add support for non-BMP Unicode.
+
+ (\CJK@nameppppdef): New macro.
+ (\xCJK@char): Redefined.
+ (\xCJK@@char, \xCJK@@@char): New macros.
+ (\CJK@XXp, \CJK@XXXp): Redefined.
+ (\CJK@XXXXp): New macro.
+
+ xdvipdfmx automatically handles UTF-8 encoded bookmarks.
+
+ (\xCJK@four, \xCJK@@@char, <\if@filesw>): Removed.
+
+ (\special): Use \utfout.
+
+2008-05-12 Danai SAE-HAN <danai.sae-han@edpnet.be>
+
+ * utils/hbf2gf/hbf2gf.1: Replace some `-' with `\-'.
+
+2008-03-10 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/hbf2gf.1: s|-|\-| where appropriate.
+
+2008-03-09 Werner LEMBERG <wl@gnu.org>
+
+ * Makefile (XELATEX): Call xelatex twice.
+ (manpages): Increase font size to 11pt for DVI and PDF output.
+
+2008-03-09 Werner LEMBERG <wl@gnu.org>
+
+ Add support for EUC-JP with DNP font encoding.
+
+ * texinput/CJK.enc (\CJK@@@EUC-JPdnp@hook, \CJK@EUC-JPdnp@enc): New
+ macros.
+
+ * texinput/JIS/EUC-JPdnp.enc: New file.
+
+ * texinput/JIS/EUC-JP.chr (\CJK@shiftchar): Define \CJK@plane as
+ empty.
+
+ * doc/history.txt, MANIFEST: Updated.
+
+2008-03-09 Werner LEMBERG <wl@gnu.org>
+
+ Make \CJK@bold work with C49 encoding too. The idea is to handle
+ the font as a CJK font but with \CJK@plane set to empty.
+
+ * texinput/SJIS/SJIS.chr, texinput/SJIS/SJIdnp.chr (\CJK@sjischar):
+ Define \CJK@plane as empty.
+
+ * texinput/SJIS/c49song.fd: Use `CJK' size function.
+
+ * doc/history.txt: Updated.
+
+2008-03-03 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJKutf8.sty, texinput/xCJK.sty,
+ texinput/mule/MULEenc.sty: Use \ProvidesPackage, not \ProvidesFile.
+
+2008-03-03 Werner LEMBERG <wl@gnu.org>
+
+ Better control for \baselinestretch with CJKvert.sty.
+
+ * texinput/CJKvert.sty (usebaselinestretch): New option.
+ (\CJKbaselinestretch): New macro.
+
+ * doc/history.txt, doc/vertical.txt: Document it.
+
+2008-02-11 Werner LEMBERG <wl@gnu.org>
+
+ * doc/xCJK.txt: New file.
+ * MANIFEST: Updated.
+
+2008-02-11 Werner LEMBERG <wl@gnu.org>
+
+ * doc/fonts.txt: Document installation of cyberbit.ttf.
+
+2008-02-05 Werner LEMBERG <wl@gnu.org>
+
+ Add SUN Wen-Chang's xCJK bundle.
+
+ * examples/xCJK.tex, texinput/UTF8/xUTF8.chr,
+ texinput/UTF8/xUTF8.enc, texinput/xCJK.sty, texinput/xpmC.chr,
+ texinput/xpmC.enc: New files.
+
+ * MANIFEST: Updated.
+
+ * Makefile (XELATEX): New macro.
+ (xCJK): New target.
+ (CJK2DVI, LATE2DVI): Simplify.
+
+2008-01-15 Gernot Hassenpflug <aikishugyo@gmail.com>
+
+ * contrib/wadalab/c70goth.fdx, contrib/wadalab/c70min.fdx,
+ contrib/wadalab/c70maru.fdx: Rotate more glyphs for vertical
+ typesetting.
+ Shift small kana for vertical typesetting.
+ Other minor improvements.
+
+2007-12-27 Werner LEMBERG <wl@gnu.org>
+
+ * utils/subfonts/vertical.pe, utils/subfonts/vertref.pe: Abort if no
+ vertical glyph representation forms are available.
+
+2006-12-05 Werner LEMBERG <wl@gnu.org>
+
+ Make pinyin syllables work with \MakeUppercase and \MakeLowercase.
+
+ * pinyin.sty: Almost completely rewrite macro logic to replace e.g.
+ `\py@@@a' with `\py@ a' so that the argument gets handled by
+ \MakeUppercase.
+
+2006-12-04 Werner LEMBERG <wl@gnu.org>
+
+ Make pinyin syllables work with hyperref bookmarks.
+
+ * pinyin.sty: Use \AtBeginDocument hook to add missing characters to
+ PU encoding needed for pinyin syllables.
+ Use \AtBeginDocument hook to set up some replacement macros for
+ bookmarks.
+ (\py@hr@macron, \py@hr@v): New replacement macros for
+ bookmarks.
+
+2007-11-23 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.enc: Add punctuation tables for GBK encoding.
+
+2007-11-06 Werner LEMBERG <wl@gnu.org>
+
+ * utils/subfonts/subfonts.pe, utils/subfonts/vertical.pe,
+ utils/subfonts/vertref.pe: Put current time stamp into copyright
+ string.
+ Need FontForge 20071105 or newer.
+
+2007-11-02 SUN Wenchang <sunwch@hotmail.com>
+
+ * texinput/CJKfntef.sty (\CJK@preUnderdot): Use \cdot (in math mode).
+ (\CJKxout): Use `/' in math mode.
+ (\CJKunderdotbasesep, \CJKunderdotsep): Adjusted.
+
+2007-10-26 Werner LEMBERG <wl@gnu.org>
+
+ * utils/subfonts/vertical.pe: Use glyph names of the horizontal
+ representation glyphs with an appended `.vert'. This makes dvipdfmx
+ automatically create a correct /ToUnicode CMap.
+
+2007-10-25 Werner LEMBERG <wl@gnu.org>
+
+ Provide final fix for patch 2007-10-04.
+
+ * utils/subfonts/makefdx.pl: Provide flag `-u' to produce a CMap
+ macro in the FDX file.
+ Don't specify FDX file directly on the command line but give family
+ name and encoding separately which are then concatenated to give the
+ FDX name (we need the family name separately).
+ Add code to produce a macro which provides a /ToUnicode CMap entry
+ as needed by pdfTeX.
+ Fix loop to not omit last glyph.
+
+ * texinput/UTF8/c70bsmi.fdx, texinput/UTF8/c70bkai.fdx: Regenerated.
+ These now provide the macros \CJK@cmap@bsmiv and \CJK@cmap@bkaiv,
+ respectively.
+
+ * texinput/CJKutf8.sty (\pickup@font): Call `\CJK@cmap@...' if it
+ exists.
+
+2007-10-04 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJKutf8.sty (\pickup@font): Disable generation of
+ ToUnicode cmap for `v' subfont (which holds vertical representation
+ glyphs). This is a temporary hack; the right solution is to modify
+ makefdx.pl so that it creates a ToUnicode macro for the specific
+ font; \CJK@addcmap should be then modified to use this macro instead
+ of autogenerating a cmap.
+
+ Problem reported by Edward G.J. Lee.
+
+2007-09-10 Werner LEMBERG <wl@gnu.org>
+
+ * utils/subfonts/vertical.pe, utils.subfonts/vertref.pe: Adapt to
+ FontForge version 2007-Sep-10 and newer.
+
+2007-07-26 Gernot Hassenpflug <gernot@nict.go.jp>
+
+ * contrib/wadalab/c70goth.fdx, contrib/wadalab/c70min.fdx,
+ contrib/wadalab/c70maru.fdx: New files to support vertical writing
+ with Unicode encoded Wadalab fonts.
+
+2007-07-07 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/pinyin.sty (\ding): Rename to...
+ (\py@ding): This to make \ding work actually.
+
+2007-05-04 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJKvert.sty (\CJKsymbol): Honour \CJKhdef{offset}{...}.
+ * doc/fdxfiles.txt, doc/history.txt: Document it.
+
+2007-04-08 Werner LEMBERG <wl@gnu.org>
+
+ * utils/pyhyphen/pyhyph.tex: Replace latin-1 characters with
+ ^^xx sequences. Suggested by David Kastrup.
+
+ * doc/cjk-enc.txt: Document special space handling for Emacs quail
+ input methods.
+
+2006-11-06 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/pinyin.sty (\py@macron, \py@@@v): Support T5 encoding.
+ * doc/history.txt: Document it.
+
+2006-10-31 Werner LEMBERG <wl@gnu.org>
+
+ * doc/CJK.txt, doc/CJKutf8.txt: Mention Byte Order Mark in UTF-8.
+
+2006-10-19 Werner LEMBERG <wl@gnu.org>
+
+ * doc/TeXLive.txt, MANIFEST: Minor fixes.
+
+ * Makefile (DVI2PDF): Add argument for paper format.
+ (CONVERT, MULE, LATEX): Add optional argument for paper format;
+ default to `letter'.
+ (manpages, cweb): Use letter paper format.
+ (READMEb5): Use A4 paper.
+
+ * examples/README: Minor fix.
+
+2006-10-17 Werner LEMBERG <wl@gnu.org>
+
+ Version 4.7.0 released
+ ======================
+
+ Set version to 4.7.0.
+
+ * doc/history.txt, doc/INSTALL, doc/TeXLive.txt, README: Updated.
+
+ Update headers in all text files.
+
+2006-10-09 Werner LEMBERG <wl@gnu.org>
+
+ * Makefile (abs-distdir): Fix assignment.
+ (distdoc): Remove generated C files.
+
+ * utils/hbf2gf/hbf2gf.1: s/`/\(oq/ and s/'/\(cq/ where appropriate.
+
+2006-10-06 Werner LEMBERG <wl@gnu.org>
+
+ * doc/CJKutf8.txt, doc/history.txt: Minor additions.
+ * MANIFEST: Sorted and updated.
+
+2006-10-05 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJKutf8.sty (\CJK@surr): Use \expandafter to make
+ \uppercase work actually.
+
+ * texinput/CJK.sty (\CJK@makeActive, \CJK@makeInactive): Handle 0x80
+ also (which is needed for UTF8).
+
+2006-10-05 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJKutf8.sty (\CJK@surr): New function.
+ (\CJK@addcmap): Use \CJK@surr so that values > U+FFFF are correctly
+ represented as surrogates.
+
+2006-09-30 Werner LEMBERG <wl@gnu.org>
+
+ In CJKutf8.sty, add ToUnicode cmaps for pdfTeX. Note, however, that
+ it currently fails with virtual fonts: pdftex 3.141592-1.30.4-2.2
+ can't resolve them to the used base fonts.
+
+ * texinput/CJKutf8.sty: Require ifpdf package.
+ (\pickup@font) [\ifpdf]: Redefine, adding a call to CJK@addcmap.
+ (\CJK@addcmap) [\ifpdf]: New function.
+
+ * doc/history.txt: Updated.
+
+2006-09-16 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.sty (\CJK@ifundefined): New macro.
+ Update all affected files where possible to use it instead of
+ \@ifundefined. This fixes a bug reported by Danai which made
+ \chapter work in the `scrartcl' article class (instead of
+ reporting an error) after using a CJK caption file.
+
+ * *.cap, *.cpx: Don't redefine \thepart but use its previous
+ definition for \partformat. This fixes a bug reported by Danai
+ which produced bad TOC entries.
+
+ * doc/history.txt: Updated.
+
+2006-09-12 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/UTF8/ko-Hanj.cpx: Renamed to...
+ * texinput/UTF8/ko-Hani.cpx: This to use the correct ISO 15924
+ script tag.
+
+ * doc/history.txt, doc/CJK.txt: Updated.
+
+2006-09-08 Werner LEMBERG <wl@gnu.org>
+
+ Add caption files for UTF8 encoding.
+
+ * texinput/UTF8/{ja,ko-Hang,ko-Hang2,ko-Hanj,zh-Hans,zh-Hant}.cap:
+ New files.
+
+ * doc/history.txt, doc/CJK.txt: Mention them.
+
+2006-08-31 Werner LEMBERG <wl@gnu.org>
+
+ Reimplement the \CJKbold mechanism to call the last argument of
+ \DeclareFontShape each time the font is selected only if a CJK size
+ function has been used. This fixes shape declarations like the ones
+ in the fourier package which rely on being called only once.
+
+ * texinput/CJK.sty (\CJK@curr@fontshape): New macro.
+ (\CJK@empty, \CJK@fixed, \CJK@sub, \CJK@DNPgen, \CJK@DNP): Define a
+ macro where the name is the argument of \CJK@curr@fontshape.
+ (\selectfont): Execute macro where the name is the argument of
+ \CJK@curr@fontshape only if it exists.
+
+ * doc/history.txt, doc/CJK.txt: Mention it.
+
+2006-08-29 Danai SAE-HAN <danai.sae-han@skynet.be>
+
+ * utils/subfonts/hlatex2agl.pl: Make it accept a third parameter
+ which specifies the used SFD file.
+ (process_afmfile, process_pfbfile): Add minor tweaks to handle fonts
+ generated with other tools than FontForge.
+
+2006-08-29 Werner LEMBERG <wl@gnu.org>
+
+ * utils/Bg5conv/bg5conv.w, utils/extconv/extconv.w,
+ utils/hbf2gf/hbf2gf.w, utils/CEFconv/cefconv.w,
+ utils/CEFconv/cef5conv.w, utils/CEFconv/cefsconv.w,
+ utils/SJISconv/sjisconv.w: s/@/@@/ in email address.
+
+ * utils/Bg5conv/bg5conv.c, utils/extconv/extconv.c,
+ utils/hbf2gf/hbf2gf.c, utils/CEFconv/cefconv.c,
+ utils/CEFconv/cef5conv.c, utils/CEFconv/cefsconv.c,
+ utils/SJISconv/sjisconv.c: Removed. These files are now generated
+ by the Makefile.
+
+ * Makefile (version): Set to 4.7.0.
+ (CJK2DVI, LATEX2DVI): Add `texlive' subdirectory
+ (distsrc): Build .c from .w files.
+
+2006-08-28 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/*: Add various replacement files for TeXLive.
+
+2006-08-17 Werner LEMBERG <wl@gnu.org>
+
+ * doc/CJK.txt: Mention problem with fourier.sty.
+
+2006-08-01 Werner LEMBERG <wl@gnu.org>
+
+ * doc/cjk-enc.txt: Mention problems with UTF-8.
+
+2006-07-30 Werner LEMBERG <wl@gnu.org>
+
+ * contrib/wadalab/DNP.txt: Fix patch for wftodm.c.
+
+2006-04-25 Danai SAE-HAN <danai.sae-han@skynet.be>
+
+ * <many files>: Add GPL.
+ * MANIFEST: New file.
+
+2006-03-25 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJKutf8.sty (\pdfstringdefPreHook): Don't overwrite but
+ prepend to this macro.
+
+2006-03-23 Werner LEMBERG <wl@gnu.org>
+
+ * utils/subfonts/hlatex2agl.pl: New script (which has been used
+ to create the Korean fonts in TeXLive 2005).
+
+
+ * texinput/CJKutf8.sty: Add support for Unicode bookmarks.
+ (\CJK@UnicodeFourBytesFirst, \CJK@UnicodeFourBytesSecond,
+ \CJK@UnicodeFourBytesThird, \CJK@UnicodeThreeBytesFirst,
+ \CJK@UnicodeThreeBytesSecond, \CJK@UnicodeTwoBytesFirst,
+ \CJK@UnicodeLast): New macros to convert UTF-8 into UTF-16BE.
+ (\CJK@XXpdf, \CJK@XXXpdf, \CJK@XXXXpdf): Replacements for the
+ \CJK@XX, \CJK@XXX, and \CJK@XXXX macros, respectively.
+ (\pdfstringdefPreHook): Activate them.
+
+2006-03-22 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/KS/HLaTeX/c63sh.fd, texinput/KS/HLaTeX/c64sh.fd,
+ texinput/KS/HLaTeX/c65sh.fd: Fix font declaration. Bug reported by
+ Danai SAE-HAN <danai.sae-han@skynet.be>.
+
+2006-02-20 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/UTF8/UTF8.bdg: Bugfix: Handle 0x80 also.
+
+ * doc/history.txt: Mention it.
+
+2006-02-09 Werner LEMBERG <wl@gnu.org>
+
+ Support complete Unicode range (up to U+10FFFF).
+
+ * texinput/UTF8/UTF8.bdg: Handle leading characters 0xF0-0xF4.
+
+ * texinput/UTF8/UTF8.enc: Ditto.
+
+ * texinput/UTF8/UTF8.chr (\CJK@altxchar): New macro for four-byte
+ Unicode values.
+
+ * texinput/CJK.enc (\CJK@unicodexError): New error macro.
+
+ * texinput/CJK.sty (\CJK@numbxToHex): New auxiliary macro to convert
+ a number to a four-digit hex number string.
+ (\Unicode): Accept values greater than U+FFFF.
+
+ * doc/command.txt, doc/CJK.txt: Document extended \Unicode (and
+ \CJKchar) command.
+ * doc/history.txt: Updated.
+
+2006-01-23 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.enc (\CJK@HK@enc): Load `HK' encoding, not `Bg5'.
+ Use \def, not \@namedef.
+
+ * doc/CJK.txt: Mention `HKtext' environment.
+
+2006-01-22 Werner LEMBERG <wl@gnu.org>
+
+ Add new encoding `HK' (C05) for Hong Kong's HKSCS-2004.
+
+ * texinput/Bg5/HK.enc, texinput/Bg5/c05song.fd: New files.
+ * texinput/CJK.enc: Add support for `HK' (C05).
+ * texinput/CJKnumb.sty: Handle `HK'.
+
+ * doc/CJK.txt: Bg5+ *cannot* be used for HKSCS. Fix this.
+ * doc/history.txt: Document `HK' encoding.
+
+2006-01-19 Werner LEMBERG <wl@gnu.org>
+
+ * doc/CJK.txt: Mention usage of Bg5+ for HKSCS-2001/HKSCS-2004.
+
+2006-01-04 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/pinyin.sty (\PYding): New \let.
+ (\PYactivate, \PYdeacticate): Handle \ding (from pifont.sty).
+
+ * doc/pinyin.tex: Document possible problems with pifont.sty.
+
+ * doc/history.txt: Updated.
+
+2005-12-27 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/cfg/csso12.cfg: Fix typo.
+
+2005-10-31 Danai SAE-HAN <danai.sae-han@skynet.be>
+
+ * utils/subfonts/makefdx.pl: Provide header for output.
+ Add \CJKvlet lines.
+
+2005-08-19 Werner LEMBERG <wl@gnu.org>
+
+ * doc/TeXLive.txt: New file, describing the relationship between
+ CJK files and TeXLive packages.
+
+2005-08-18 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/mule/MULEenc.sty: Define \CJK@verbatim correctly if not
+ already defined. Reported by Andre Dierker.
+
+ * doc/pdf/*: Move to...
+ * doc/pdfhowto/*: This.
+
+2005-08-11 Werner LEMBERG <wl@gnu.org>
+
+ Version 4.6.0 released
+ ======================
+
+ Set version to 4.6.0.
+
+ * doc/history.txt, doc/INSTALL, Makefile (version): Updated.
+
+ Update headers in all text files.
+
+2005-08-10 Werner LEMBERG <wl@gnu.org>
+
+ * doc/CEF.txt, doc/CJK.txt, doc/CJKutf8.txt, doc/INSTALL,
+ doc/TDS.txt, doc/cjk-enc.txt, doc/commands.txt, doc/dvidrv.txt,
+ doc/fonts.txt, doc/hbf2gf.txt, doc/history.2_5, doc/history.txt,
+ doc/pinyin.txt, doc/pyhyphen.txt, doc/ruby.txt, doc/thaifont.txt,
+ doc/vertical.txt: Updated and revised.
+
+2005-08-05 Werner LEMBERG <wl@gnu.org>
+
+ * COPYING: Updated to new FSF address.
+
+2005-08-05 Werner LEMBERG <wl@gnu.org>
+
+ After email exchange with Ross Paterson, the old (too restrictive)
+ license of the hbf module has been changed to the three-clause BSD
+ license -- Ross no longer maintains and distributes this code.
+
+ * utils/hbf2gf/hbf.c: Change license to BSD.
+ (strdup) [WIN32]: Define. Change taken from teTeX distribution.
+
+ * utils/hbf2gf/hbf.h: Change license to BSD.
+
+ * utils/hbf2gf/config.guess, utils/hbf2gf/config.sub: Updated to
+ current versions.
+
+ * utils/hbf2gf/configure: Regenerated with autoconf 2.59b.
+
+2005-08-04 Werner LEMBERG <wl@gnu.org>
+
+ Update files to compile with the forthcoming TeXLive 2005.
+
+ * doc/README: Updated, extended.
+
+ * examples/muletest.tex: Updated to new VnTeX (for Vietnamese).
+ Use type1ec.sty.
+ Suppress hyphenation.
+
+ * examples/CJKbabel.tex: Don't use t5.sty but `vietnam' option of
+ babel.
+ Use type1ec.sty.
+
+ * examples/CJKmixed.tex: Define and use `TChinese' environment.
+ Call \CJKhorz at the beginning of document.
+
+ * examples/CJKutf8.tex: Don't use cyberbit but the new Unicode
+ (virtual) fonts of gbsn, bsmi, and mj.
+
+ * texinput/Bg5/c00bsmi.fdx: Updated to new bsmi vertical glyph font.
+
+ * texinput/Bg5/c00bkai.fdx: New file.
+
+ * texinput/UTF8/c70bkai.fd, texinput/UTF8/c70bkai.fdx,
+ texinput/UTF8/c70bsmi.fd, texinput/UTF8/c70bsmi.fdx,
+ texinput/UTF8/c60gbsn.fd, texinput/UTF8/c70gkai.fd,
+ texinput/UTF8/c70mj.fd: New files.
+
+ * utils/pyhyphen/pytest.tex: Usae type1ec.sty.
+
+ * Makefile: Add rules for new example and documentation files.
+ (version): Set top 4.5.3.
+ (CJK2DVI, LATEX2DVI): Add `utils/pyhyphen' to TEXINPUTS variable.
+ (DVI2PS): Replace it with...
+ (DVI2PDF): New variable.
+ Update all callers.
+ (MULE): Add path to `cjk-enc.el' while calling emacs.
+ (DISTTARGETS): Add new example and documentation files.
+ (predistdoc): Don't create `ps' but `pdf' subdirectories.
+ (manpages): Add `-ww' option to groff.
+ Don't create `ps' but `pdf' files.
+ (cweb): Don't create `ps' but `pdf' file.
+
+2005-08-04 Werner LEMBERG <wl@gnu.org>
+
+ * doc/*.doc, doc/japanese/*.doc, doc/chinese/*.doc,
+ contrib/wadalab/DNP.doc: Renamed to ...
+ * doc/*.txt, doc/japanese/*.txt, doc/chinese/*.txt,
+ contrib/wadalab/DNP.txt: This.
+
+ Update all references.
+
+2005-08-03 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJKvert.sty (\CJKvert, \CJKhorz): Make commands act
+ completely local.
+ * doc/history.txt: Mention it.
+
+ * doc/pdf/HOWTO.txt: Mention new $SFDFONTS variable from TDS 1.1.
+
+2005-08-02 Werner LEMBERG <wl@gnu.org>
+
+ Update of HLaTeX support to version 1.0.1.
+
+ * texinput/KS/HLaTeX/c63mg.fd, texinput/KS/HLaTeX/c63mgt.fd,
+ texinput/KS/HLaTeX/c63mmj.fd, texinput/KS/HLaTeX/c63mnv.fd,
+ texinput/KS/HLaTeX/c63msr.fd, texinput/KS/HLaTeX/c63ol.fd,
+ texinput/KS/HLaTeX/c63pbm.fd, texinput/KS/HLaTeX/c63pgr.fd,
+ texinput/KS/HLaTeX/c63pgs.fd, texinput/KS/HLaTeX/c63pgt.fd,
+ texinput/KS/HLaTeX/c63pmg.fd, texinput/KS/HLaTeX/c63pmgt.fd,
+ texinput/KS/HLaTeX/c63pmj.fd, texinput/KS/HLaTeX/c63pmmj.fd,
+ texinput/KS/HLaTeX/c63pmnv.fd, texinput/KS/HLaTeX/c63pmsr.fd,
+ texinput/KS/HLaTeX/c63pol.fd, texinput/KS/HLaTeX/c63ppg.fd,
+ texinput/KS/HLaTeX/c63ppn.fd, texinput/KS/HLaTeX/c63psm.fd,
+ texinput/KS/HLaTeX/c63ptt.fd, texinput/KS/HLaTeX/c63pyt.fd,
+ texinput/KS/HLaTeX/c63sm.fd, texinput/KS/HLaTeX/c63tt.fd,
+ texinput/KS/HLaTeX/c64mg.fd, texinput/KS/HLaTeX/c64mgt.fd,
+ texinput/KS/HLaTeX/c64mmj.fd, texinput/KS/HLaTeX/c64mnv.fd,
+ texinput/KS/HLaTeX/c64msr.fd, texinput/KS/HLaTeX/c64ol.fd,
+ texinput/KS/HLaTeX/c64pbm.fd, texinput/KS/HLaTeX/c64pgr.fd,
+ texinput/KS/HLaTeX/c64pgs.fd, texinput/KS/HLaTeX/c64pgt.fd,
+ texinput/KS/HLaTeX/c64pmg.fd, texinput/KS/HLaTeX/c64pmgt.fd,
+ texinput/KS/HLaTeX/c64pmj.fd, texinput/KS/HLaTeX/c64pmmj.fd,
+ texinput/KS/HLaTeX/c64pmnv.fd, texinput/KS/HLaTeX/c64pmsr.fd,
+ texinput/KS/HLaTeX/c64pol.fd, texinput/KS/HLaTeX/c64ppg.fd,
+ texinput/KS/HLaTeX/c64ppn.fd, texinput/KS/HLaTeX/c64psm.fd,
+ texinput/KS/HLaTeX/c64ptt.fd, texinput/KS/HLaTeX/c64pyt.fd,
+ texinput/KS/HLaTeX/c64sm.fd, texinput/KS/HLaTeX/c64tt.fd,
+ texinput/KS/HLaTeX/c65mg.fd, texinput/KS/HLaTeX/c65mgt.fd,
+ texinput/KS/HLaTeX/c65mmj.fd, texinput/KS/HLaTeX/c65mnv.fd,
+ texinput/KS/HLaTeX/c65msr.fd, texinput/KS/HLaTeX/c65ol.fd,
+ texinput/KS/HLaTeX/c65pbm.fd, texinput/KS/HLaTeX/c65pgr.fd,
+ texinput/KS/HLaTeX/c65pgs.fd, texinput/KS/HLaTeX/c65pgt.fd,
+ texinput/KS/HLaTeX/c65pmg.fd, texinput/KS/HLaTeX/c65pmgt.fd,
+ texinput/KS/HLaTeX/c65pmj.fd, texinput/KS/HLaTeX/c65pmmj.fd,
+ texinput/KS/HLaTeX/c65pmnv.fd, texinput/KS/HLaTeX/c65pmsr.fd,
+ texinput/KS/HLaTeX/c65pol.fd, texinput/KS/HLaTeX/c65ppg.fd,
+ texinput/KS/HLaTeX/c65ppn.fd, texinput/KS/HLaTeX/c65psm.fd,
+ texinput/KS/HLaTeX/c65ptt.fd, texinput/KS/HLaTeX/c65pyt.fd,
+ texinput/KS/HLaTeX/c65sm.fd, texinput/KS/HLaTeX/c65tt.fd: Removed.
+
+ * texinput/KS/HLaTeX/c63dn.fd, texinput/KS/HLaTeX/c63jgt.fd,
+ texinput/KS/HLaTeX/c63jmj.fd, texinput/KS/HLaTeX/c63jnv.fd,
+ texinput/KS/HLaTeX/c63jsr.fd, texinput/KS/HLaTeX/c63pga.fd,
+ texinput/KS/HLaTeX/c63ph.fd, texinput/KS/HLaTeX/c63sh.fd,
+ texinput/KS/HLaTeX/c63tz.fd, texinput/KS/HLaTeX/c63vd.fd,
+ texinput/KS/HLaTeX/c64dn.fd, texinput/KS/HLaTeX/c64jgt.fd,
+ texinput/KS/HLaTeX/c64jmj.fd, texinput/KS/HLaTeX/c64jnv.fd,
+ texinput/KS/HLaTeX/c64jsr.fd, texinput/KS/HLaTeX/c64pga.fd,
+ texinput/KS/HLaTeX/c64ph.fd, texinput/KS/HLaTeX/c64sh.fd,
+ texinput/KS/HLaTeX/c64tz.fd, texinput/KS/HLaTeX/c64vd.fd,
+ texinput/KS/HLaTeX/c65dn.fd, texinput/KS/HLaTeX/c65jgt.fd,
+ texinput/KS/HLaTeX/c65jmj.fd, texinput/KS/HLaTeX/c65jnv.fd,
+ texinput/KS/HLaTeX/c65jsr.fd, texinput/KS/HLaTeX/c65pga.fd,
+ texinput/KS/HLaTeX/c65ph.fd, texinput/KS/HLaTeX/c65sh.fd,
+ texinput/KS/HLaTeX/c65tz.fd, texinput/KS/HLaTeX/c65vd.fd: New files.
+
+ * texinput/KS/HLaTeX/c63bm.fd, texinput/KS/HLaTeX/c63gr.fd,
+ texinput/KS/HLaTeX/c63gs.fd, texinput/KS/HLaTeX/c63gt.fd,
+ texinput/KS/HLaTeX/c63mj.fd, texinput/KS/HLaTeX/c63pg.fd,
+ texinput/KS/HLaTeX/c63pn.fd, texinput/KS/HLaTeX/c63yt.fd,
+ texinput/KS/HLaTeX/c64bm.fd, texinput/KS/HLaTeX/c64gr.fd,
+ texinput/KS/HLaTeX/c64gs.fd, texinput/KS/HLaTeX/c64gt.fd,
+ texinput/KS/HLaTeX/c64mj.fd, texinput/KS/HLaTeX/c64pg.fd,
+ texinput/KS/HLaTeX/c64pn.fd, texinput/KS/HLaTeX/c64yt.fd,
+ texinput/KS/HLaTeX/c65bm.fd, texinput/KS/HLaTeX/c65gr.fd,
+ texinput/KS/HLaTeX/c65gs.fd, texinput/KS/HLaTeX/c65gt.fd,
+ texinput/KS/HLaTeX/c65mj.fd, texinput/KS/HLaTeX/c65pg.fd,
+ texinput/KS/HLaTeX/c65pn.fd, texinput/KS/HLaTeX/c65yt.fd: Updated.
+
+ * texinput/KS/HLaTeX/pshan.sty: No longer needed. Make it empty for
+ backwards compatibility.
+
+ * texinput/CJK.enc (\CJK@KSHL@enc): Updated.
+
+ * doc/history.txt, doc/CJK.doc: Updated.
+
+2005-08-01 Werner LEMBERG <wl@gnu.org>
+
+ * utils/subfont/uni2sfd.pl (read_tfmfile): Fix reading CHARWD,
+ CHARHT, and CHARDP.
+
+2005-07-31 Werner LEMBERG <wl@gnu.org>
+
+ * utils/subfont/sfd2uni.pl: New script to produce Unicode virtual
+ subfonts from encoding specific subfonts.
+
+2005-07-29 Werner LEMBERG <wl@gnu.org>
+
+ * contrib/wadalab/DNP.sfd: Fix typo. Found by Shunsaku Hirata.
+ * contrib/wadalab/fixwada2.pl: Since Wadalab fonts have already
+ been uploaded to CTAN, and the bug in DNP.sfd makes it necessary to
+ regenerate the fonts, and to update the version number and creation
+ date.
+
+2005-07-18 Werner LEMBERG <wl@gnu.org>
+
+ * utils/subfonts/makefdx.pl, utils/subfonts/uni2sfd.pl: Fix typos.
+
+ * utils/subfonts/clonevf.pl: New script to produce a VF clone of
+ a TFM file.
+
+2005-07-18 Werner LEMBERG <wl@gnu.org>
+
+ * utils/subfonts/makefdx.pl: New script to create FDX entries.
+
+2005-07-17 Werner LEMBERG <wl@gnu.org>
+
+ * utils/subfonts/subfonts.pe, utils/subfonts/uni2sfd.pl,
+ utils/subfonts/vertical.pe, utils/vertref.pe: New perl and FontForge
+ scripts for creating and handling subfonts.
+
+2005-07-12 Werner LEMBERG <wl@gnu.org>
+
+ * contrib/wadalab/fixwada2.pl, contrib/wadalab/makeuniwada.pl: New
+ scripts which fix glyph names and create virtual Unicode fonts for
+ the Wadalab font families.
+
+ * contrib/wadalab/DNP.sfd: A subfont definition file used by
+ `fixwada2.pl' and `makeuniwada.pl'.
+
+ * contrib/wadalab/c70goth.fd, contrib/wadalab/c70maru.fd,
+ contrib/wadalab/c70min.fd: New font definition files for Wadalab
+ fonts in Unicode encoding.
+
+ * contrib/wadalab/DNP.doc: Completely revised and updated.
+
+2005-07-07 Werner LEMBERG <wl@gnu.org>
+
+ * doc/history.txt: Updated.
+
+2005-07-05 Werner LEMBERG <wl@gnu.org>
+
+ * utils/thaifont/tools/c90.etx: Fix some typos.
+
+2005-07-04 Werner LEMBERG <wl@gnu.org>
+
+ Update Thai support:
+
+ . Use fontinst. We no longer need virtual fonts.
+ . Replace support for dbtt (which has an uncertain license) with
+ garuda.
+ . Update to TDS 1.1.
+
+ * utils/thaifont/texmf/dvips/base/dbtt.enc: Removed.
+ * utils/thaifont/texmf/dvips/config/config.dbtt: Removed.
+ * utils/thaifont/texmf/dvips/config/dbtt.map: Removed.
+ * utils/thaifont/texmf/fonts/tfm/public/dbtt/*: Removed.
+ * utils/thaifont/texmf/fonts/vf/public/dbtt/*: Removed.
+
+ * utils/thaifont/texmf/dvips/base/norasi.enc: Removed.
+ * utils/thaifont/texmf/dvips/config/config.norasi: Move to...
+ * utils/thaifont/texmf/dvips/norasi/config.norasi: Here.
+ * utils/thaifont/texmf/dvips/config/norasi.map: Moved to...
+ * utils/thai/font/texmf/fonts/map/dvips/norasi/norasi.map: Here.
+ Updated.
+ * utils/thaifont/texmf/fonts/tfm/public/norasi/ftnr9z.tfm,
+ utils/thaifont/texmf/fonts/tfm/public/norasi/ftnb9z.tfm,
+ utils/thaifont/texmf/fonts/tfm/public/norasi/ftnbo9z.tfm,
+ utils/thaifont/texmf/fonts/tfm/public/norasi/ftno9z.tfm: Removed.
+ * utils/thaifont/texmf/fonts/tfm/public/norasi/ftnr8z.tfm,
+ utils/thaifont/texmf/fonts/tfm/public/norasi/ftnb8z.tfm,
+ utils/thaifont/texmf/fonts/tfm/public/norasi/ftnbo8z.tfm,
+ utils/thaifont/texmf/fonts/tfm/public/norasi/ftno8z.tfm: Updated.
+ * utils/thaifont/texmf/fonts/vf/public/norasi/*: Removed.
+
+ * utils/thaifont/texmf/dvips/garuda/config.garuda: New file.
+ * utils/thaifont/texmf/fonts/map/dvips/garuda/garuda.map: New file.
+ * utils/thaifont/texmf/fonts/tfm/public/garuda/fgdr8z.tfm,
+ utils/thaifont/texmf/fonts/tfm/public/garuda/fgdb8z.tfm,
+ utils/thaifont/texmf/fonts/tfm/public/garuda/fgdbo8z.tfm,
+ utils/thaifont/texmf/fonts/tfm/public/garuda/fgdo8z.tfm: New files.
+
+ * utils/thaifont/texmf/fonts/enc/dvips/thai/c90.enc: New file,
+ generated by fontinst.
+
+ * utils/thaifont/tools/c90.etx: New file.
+ * utils/thaifont/tools/c90.mtx: New file.
+ * utils/thaifont/tools/garuda.fontinst: New file.
+ * utils/thaifont/tools/norasi.fontinst: New file.
+ * utils/thaifont/tools/INSTALL: New file.
+ * utils/thaifont/tools/dbtt-old/*: New files.
+ * utils/thaifont/tools/README: Removed.
+ * utils/thaifont/tools/thai-dummy.afm: Removed.
+ * utils/thaifont/tools/thai.enc: Removed.
+ * utils/thaifont/tools/thailigs.vpl: Removed.
+
+ * texinput/thai/c90cmss.fd, texinput/thai/c90cmtt.fd,
+ texinput/thai/c90nrsr.fd: Updated.
+ * texinput/thai/c90dbss.fd: Removed.
+ * texinput/thai/c90gar.fd: New file.
+
+2005-06-27 Werner LEMBERG <wl@gnu.org>
+
+ Remove the `rotate' keyword for vertical typesetting and introduce
+ the opposite, `norotate'.
+
+ * texinput/Bg5/c00bsmir.fdx, texinput/Bg5/c00kair.fdx: New files.
+
+ * doc/fdxfiles.doc, doc/vertical.doc, texinput/Bg5/c00bsmi.fdx,
+ texinput/GB/c10gbsn.fdx, texinput/CJKvert.sty: Updated.
+
+2005-06-25 Werner LEMBERG <wl@gnu.org>
+
+ * examples/CJKmixed.tex: New example file to demonstrate how to
+ use CJK scripts vertically and horizontally at the same time.
+
+2005-06-24 Werner LEMBERG <wl@gnu.org>
+
+ * doc/vertical.doc: Mention that you need an `.fdx' file if you
+ want to use rotated glyphs for vertical typesetting.
+
+2005-05-23 Werner LEMBERG <wl@gnu.org>
+
+ * doc/CJK.doc: Improve documentation of `encapsulated' option.
+ Suggested by Brian Murphy.
+
+2005-04-26 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/UTF8/UTF8.chr (\CJK@punctchar): Wrap code after \usefont
+ into three groups to make it work with CJKulem.sty.
+
+ * texinput/CJKutf8.sty, examples/CJKutf8.tex, doc/CJKutf8.doc: New
+ files.
+
+ * doc/history.txt: Updated.
+
+2005-04-22 Werner LEMBERG <wl@gnu.org>
+
+ * utils/lisp/emacs/cjk-enc.el (cjk-viscii-lower, cjk-viscii-upper),
+ utils/lisp/mule-2.3/cjk-enc.el (cjk-viscii-lower, cjk-viscii-upper):
+ Update to next vntex version which no longer uses dblaccnt.sty.
+
+2005-03-27 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.sty (\CJKspace): Don't use \relax but \@empty.
+
+2005-03-02 Werner LEMBERG <wl@gnu.org>
+
+ * doc/CJK.doc: Mention `CJKbookmarks' option of hyperref package.
+
+2005-02-23 Werner LEMBERG <wl@gnu.org>
+
+ * README: Updated. No public CVS access possible currently.
+
+2004-07-26 Werner LEMBERG <wl@gnu.org>
+
+ * utils/lisp/emacs/thai-word.el (thai-word-table): Use Thai word
+ list from IBM's ICU4J project; it is slightly larger and uses an
+ X license.
+
+2004-07-25 Werner LEMBERG <wl@gnu.org>
+
+ * utils/lisp/emacs-20.3/*: Moved to...
+ * utils/lisp/emacs/*: This.
+
+ * utils/thaifont/tools/thai.enc: Minor updates. Will be replaced
+ with a fontinst solution soon.
+
+2004-06-08 Werner LEMBERG <wl@gnu.org>
+
+ * doc/reftex.doc: New file.
+ * doc/history.txt: Updated.
+
+2004-06-07 Werner LEMBERG <wl@gnu.org>
+
+ * utils/lisp/emacs-20.3/cjk-enc.el (cjk-write-all-files): Handle
+ case where files are in other directories. Bug reported by Hartwig
+ Crailsheim.
+
+ * doc/cjk-enc.doc, doc/history.txt: Updated.
+
+2004-06-04 Werner LEMBERG <wl@gnu.org>
+
+ * contrib/wadalab/c42goth.fdx, contrib/wadalab/c42maru.fdx,
+ contrib/wadalab/c42min.fdx: Don't rotate the Hiragana-Katagana
+ prolongation mark.
+
+ * doc/vertical.doc: Updated.
+ Move text describing .fdx files to...
+ * doc/fdxfiles.doc: New file.
+
+ * texinput/CJK.sty: Minor spelling improvements.
+
+2004-06-03 Werner LEMBERG <wl@gnu.org>
+
+ * contrib/wadalab/DNP.doc: Improve patch for wftodm.c.
+
+2004-04-29 Werner LEMBERG <wl@gnu.org
+ Wenchang Sun <sunwch@hotmail.com>
+
+ Add a style file for various CJK font effects.
+
+ * texinput/CJKfntef.sty, examples/CJKfntef.tex: New files.
+ * doc/CJK.doc, doc/history.txt: Document it.
+
+2004-03-13 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/*.enc: Replace \relax with \@empty in the \CJK@namegdef
+ assignments to assure that we only have expansion at this macro
+ level.
+
+ * doc/history.txt: Updated.
+
+2004-02-08 Werner LEMBERG <wl@gnu.org>
+
+ Bug fix: Umlaut u with diacritic appears bold.
+
+ * texinput/pinyin.sty (\py@@@v): Apply kerning at correct place.
+
+2004-02-07 Werner LEMBERG <wl@gnu.org>
+
+ Bug fix: Umlaut u with macron above was broken.
+
+ * texinput/pinyin.sty (\py@macron): Add second argument to
+ initialize \dimen@. Update all callers.
+
+2004-02-06 Werner LEMBERG <wl@gnu.org>
+
+ Bug fix: Use user-defined \CJKglue value.
+
+ * texinput/CJKulem.sty (\CJK@skip): New skip register.
+ (\UL@CJKglue): Use it.
+ (\UL@hook): Initialize \CJK@skip.
+ Move assignments of \LA@CJKglue, \LA@Thaiglue, and \LA@Thaibreak
+ to here.
+
+2004-02-05 Wenchang Sun <sunwch@hotmail.com>
+
+ Bug fix: Disable line breaks before a post-punctuation CJK glyph
+ when \uline, \uwave, etc., are used.
+
+ * texinput/CJK.sty (\CJKnobreakglue): New macro.
+ (\Unicode): Use it.
+
+ * texinput/CJKulem.sty (\UL@CJKnobreakglue): New macro.
+
+ * texinput/standard.chr, texinput/extended.chr, texinput/pmC.chr,
+ texinput/Bg5/bg5.chr, texinput/JIS/EUC-JP.chr,
+ texinput/SJIS/SJIS.chr, texinput/SJIS/SJISdnp.chr,
+ texinput/UTF8/UTF8.chr, texinput/CNS/EUC-TW.chr (\CJK@char,
+ \CJK@charx, \CJK@punctchar, \CJK@punctcharx): Use \CJKnobreakglue.
+
+2004-02-02 Hin-Tak Leung <htl10@users.sourceforge.net>
+
+ * doc/pdf/*: New directory tree documenting usage of CJK for
+ improved PDF output.
+ * doc/history.txt: Document it.
+
+2004-01-29 Wenchang Sun <sunwch@hotmail.com>
+
+ * texinput/CJK.sty (\CJKpunctsymbol): New \let to \CJKsymbol.
+
+ * texinput/standard.chr, texinput/extended.chr, texinput/pmC.chr,
+ texinput/Bg5/bg5.chr, texinput/JIS/EUC-JP.chr, texinput/KS/KS.chr,
+ texinput/SJIS/SJIS.chr, texinput/SJIS/SJISdnp.chr,
+ texinput/UTF8/UTF8.chr, texinput/CNS/EUC-TW.chr (\CJK@punctchar,
+ \CJK@punctcharx): Replace \CJKsymbol with \CJKpunctsymbol.
+
+2003-10-12 Werner LEMBERG <wl@gnu.org>
+
+ A first step to allow modification of horizontal character widths
+ which is needed for CJK fonts which don't have punctuation glyphs
+ centered within the CJK square. The same mechanism will work with
+ vertical glyphs also; since a common interface will differ from the
+ current implementation, *.fdv files are renamed to *.fdx. Note that
+ special character width handling of punctuation characters is still
+ missing.
+
+ * texinput/CJK.sty (\CJK@load@fdx): New function, used as a hook
+ for \try@load@fontshape. It defines the macros \CJKhdef, \CJKhlet,
+ \CJKvdef, and \CJKvlet. The writing direction is appended to the
+ character macros -- this also fixes a bug for vertical writing
+ support with Big5 encoding (some characters disappeared in the
+ output without any warning due to character macro name clashes with
+ the subfont macro names).
+ (\CJK@direction): New macro to select the writing direction.
+ (\ifCJK@vertical@): Moved to CJKvert.sty.
+
+ * texinput/CJKvert.sty (\ifCJK@vertical@): Moved from CJK.sty.
+ (\CJKvert, \CJKhorz): Set \CJK@direction.
+ (\CJKsymbol): Updated to use writing direction.
+ (\CJK@load@fdv): Removed.
+
+ * texinput/*.chr: Simplified since \ifCJK@vertical@ is no longer
+ needed.
+
+ * texinput/*.fdv, contrib/wadalab/*.fdv: Renamed to...
+ * texinput/*.fdx, contrib/wadalab/*.fdx: This.
+
+2003-10-25 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/mule/MULEenc.sty: Fix positions of \texordfeminine and
+ \textordmasculine.
+
+2003-09-20 Werner LEMBERG <wl@gnu.org>
+
+ With the help of Paul Eggert <eggert@twinsum.com> and Edward G.J.
+ Lee <edt1023@ms17.hinet.net>, the conversion scripts now accept
+ parameters.
+
+ * utils/Bg5conv/bg5{pdf,}latex,
+ utils/CEFconv/{cef5{pdf,}latex,cef{pdf,}latex,cefs{pdf,}latex},
+ utils/SJISconv/sjis{pdf,}latex,
+ utils/extconv/{bg5+{pdf,}latex,gbk{pdf,}latex}: Rewritten to accept
+ arguments.
+ * doc/history.txt: Updated.
+
+2003-09-16 Werner LEMBERG <wl@gnu.org>
+
+ * utils/Bg5conv/bg5pdflatex,
+ utils/CEFconv/{cef5pdflatex,cefpdflatex,cefspdflatex},
+ utils/SJISconv/sjispdflatex,
+ utils/extconv/{bg5+pdflatex,gbkpdflatex}: New scripts to call
+ pdflatex.
+ * doc/history.txt: Updated.
+
+2003-07-06 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/mule/MULEenc.sty: Add some \@gobble macros in commands
+ defined with \mule@def.
+ Change definition of Thai EOL macro to make it really work.
+ (\mule@ignorespaces, \Thaispace, \Thainospace): New macros.
+
+ * doc/cjk-enc.doc, doc/history.txt: Document \Thaispace and
+ \Thainospace.
+
+2003-03-30 Werner LEMBERG <wl@gnu.org>
+
+ * doc/CJK.doc: Add item how to handle \bibliography which has
+ author names containing CJK characters.
+
+ * utils/hbf2gf/hbf2gf.1: Minor workarounds for current grohtml bugs.
+
+2003-03-28 Werner LEMBERG <wl@gnu.org>
+
+ Version 4.5.2 released
+ ======================
+
+ Update version numbers and time stamps in all non-binary files.
+
+2003-03-19 Werner LEMBERG <wl@gnu.org>
+
+ Add improved support for pseudo-vertical typesetting. Based on
+ ideas by Robert Fendt <robert.fendt@epost.de>.
+
+ * texinput/CJK.sty (\ifCJK@vertical@): New if.
+
+ * texinput/CJKvert.sty: Require `graphicx' package.
+ (\CJKvert, \CJKhorz, \CJKvdef, \CJKvlet, \CJKsymbolsimple): New
+ commands.
+ (\CJKsymbol): Add support for vertical parameters (`rotate',
+ `offset', `fullheight, `height') in the new *.fdv files.
+ (\CJK@load@fdv): New command to be appended to LaTeX's
+ \try@load@fontshape.
+
+ * texinput/*/*.chr: Replace calls to \CJKsymbol with an extended
+ version which, if \CJKvert is active, checks the existence of a
+ macro
+
+ \<encoding>/<family>/<series>/<shape>/<plane>/<code>
+
+ This macro is then called if it exists, instead of calling
+ \CJKsymbol. For halfwidth katakana, the macro is called
+
+ \<encoding>/<family>/<series>/<shape>/<code>
+
+ For HLaTeX, the macro is called
+
+ \<encoding>/<family>/<series>/<shape>/<first byte>/<second byte>
+
+ For UTF8, only characters in the range 0x800-0xFFFF get the new
+ code.
+
+ <code>, <first byte>, and <second byte> are decimal numbers.
+
+ * contrib/wadalab/c42{goth,maru,min}.fdv,
+ contrib/wadalab/c52{maru,min}.fdv, texinput/Bg5/c00bsmi.fdv,
+ texinput/GB/c10gbsn.fdv: New files containing information for
+ vertical typesetting.
+
+ * examples/Big5vert.tex: Use font shape `bsmi'.
+
+ * doc/history.txt, doc/chinese/README, contrib/wadalab/DNP.doc,
+ doc/vertical.doc, examples/README, README: Updated.
+
+ * Makefile (DVI2PS): Load bsmilp.map and gbsnlp.map.
+ (cweb): Fix typo (cms->cmz).
+
+ * utils/hbf2gf/config.guess, utils/hbf2gf/config.sub: Updated to
+ current versions.
+
+ * utils/extconv/extconv.w: Remove duplicated lines.
+ Fix incorrect use of \@.
+ * utils/extconv/extconv.c: Regenerated.
+
+2003-03-18 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/pinyin.sty (\rua): New syllable. While only dialect, it
+ actually is used...
+
+2003-03-12 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/pinyin.sty (\den, \chua): Add missing syllables (found by
+ Jean-Luc Koning <Jean-Luc.Koning@esisar.inpg.fr>).
+
+2003-03-07 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/pinyin.sty (\py@hy): Assure horizontal mode.
+
+2003-02-10 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.sty (\CJKchar): Make \CJKchar accept 7bit input for
+ character definitions other than standard.chr.
+ * doc/history.txt: Updated.
+
+2003-02-06 Werner LEMBERG <wl@gnu.org>
+
+ Horizontal hints in Wadalab fonts weren't shifted vertically,
+ causing inferior results at small sizes.
+
+ * contrib/wadalab/makefont: Rewritten using awk.
+ * contrib/wadalab/fixwada: New.
+ * contrib/wadalab/DNP.doc, doc/history.txt: Updated.
+ * doc/INSTALL: Minor fixes. Mention wadalab.doc and pfaedit.
+
+2003-01-31 Werner LEMBERG <wl@gnu.org>
+
+ Add two commands \CJKhwkatakana and \CJKnohwkatakana to control
+ whether C49 encoding is used or whether SJIS half-width katakana are
+ mapped to full-width glyphs instead.
+
+ * texinput/CJK.sty (\CJKhwkatakana, \CJK@nohwkatakana): New commands.
+ (\ifCJK@hwkatakana@): New if-macro.
+
+ * texinput/SJIS/SJIS.chr, texinput/SJIS/SJISdnp.chr (\CJK@sjischar):
+ Add second and third parameter to call \CJK@XXX conditionally.
+ * texinput/SJIS/SJIS.enc (\CJK@SJISEncoding): Fill second and
+ third parameters for half-width katakana.
+ * texinput/SJIS/SJISdnp.enc (\CJK@SJISdnpEncoding): Ditto.
+ * doc/commands.doc, doc/CJK.doc, doc/history.txt: Updated.
+
+ * examples/README: New file.
+
+2002-07-29 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CNS/EUC-TW.chr (\CJK@shiftchar): Pass correct parameters
+ to \CJKchar.
+
+2002-06-19 Werner LEMBERG <wl@gnu.org>
+
+ Version 4.5.1 released
+ ======================
+
+ Update version numbers and time stamps in all non-binary files.
+
+2002-06-17 Werner LEMBERG <wl@gnu.org>
+
+ Preparation of release 4.5.1.
+
+ * README: Updated.
+ * texinput/CJK.sty, doc/CJK.doc: Require LaTeX 2001/06/01 to have
+ support for \textkra, \texttstroke, and \textTstroke.
+ Other minor documentation updates.
+ * doc/*: Updated.
+
+2002-06-16 Werner LEMBERG <wl@gnu.org>
+
+ * doc/chinese/READMEgb.tex: Use `gbsn' font.
+ * Makefile (CJK2DVI): Remove *.toc also.
+ (LATEX2DVI): Take two arguments.
+ (LATEX): Ditto.
+ (DISTTARGETS): Add READMEb5 and pytest.
+ (READMEgb, pytest): New rules
+ (GB...): Updated.
+ (predistdoc): Create README file.
+ (distdoc): Depend also on `cweb'.
+ (cweb): New target.
+
+2002-06-14 Edward Lee <edt1023@ms17.hinet.net>
+
+ * texinput/Bg5/c00bsmi.fd, texinput/Bg5/c00bsmir.fd: Fix typo.
+
+2002-06-13 Werner LEMBERG <wl@gnu.org>
+
+ * Makefile: New file, used for creating the tarballs.
+ * README: Updated.
+ * texinput/GB/c10gbsn.fd, texinput/Bg5/c00bsmi.fd,
+ texinput/Bg5/c00bsmir.fd: New files for fonts from the TeXLive CD.
+ * doc/chinese/READMEb5.tex, examples/*: Changed to use the fonts
+ provided by the TeXLive CD.
+
+2002-06-12 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/JISdnp.enc (\CJK@JISdnpEncoding): Fix position of closing
+ brace.
+
+2002-06-07 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/thai/c90enc.def: New file, contributed by Dominique
+ Unruh <dominique@unruh.de>.
+ * texinput/thai/thaicjk.ldf: Use it.
+ * doc/history.txt: Updated.
+
+2002-05-16 Werner LEMBERG <wl@gnu.org>
+
+ * doc/cjk-enc.doc: Document behaviour for master files without CJK
+ characters.
+ * doc/CJK.doc: Explain usage of `~' for BibTeX.
+
+2002-05-10 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJKnumb.sty (\CJKnullspace): New macro to control the
+ additional space inserted before and after a circle used as a
+ CJK zero digit.
+ * doc/history.txt: Updated.
+
+2002-05-09 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJKnumb.sty (\CJK@traditionalNumbers,
+ \CJK@simplifiedNumbers): New macros.
+ Use them for GB, GBK, Bg5, Bg5+ hooks.
+
+2002-05-01 Werner LEMBERG <wl@gnu.org>
+
+ * doc/commands.doc: Minor fix.
+
+ * utils/hbf2gf/config.guess, utils/hbf2gf/config.sub: Updated to
+ current versions.
+ * utils/hbf2gf/configure.in: Renamed to...
+ * utils/hbf2gf/configure.ac: This.
+ Updated to autoconf 2.53.
+ * utils/hbf2gf/configure: Regenerated with autoconf 2.53.
+ * utils/hbf2gf/README: Text improved.
+ * utils/hbf2gf/hbf2gf.1: Minor typographical fixes.
+
+2002-04-30 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.sty (\CJK@errxx, \CJKindent): New macros.
+ * texinput/CJK.enc (\CJK@spaceChar): Define it for all encodings.
+ It is used by \CJKindent.
+ (\CJK@KSHL@enc): Add \CJK@min and \CJK@max.
+ * texinput/SJIS/SJISdnp.enc (\CJK@SJISdnpEncoding),
+ texinput/JIS/JISdnp.enc (\CJK@JISdnpEncoding),
+ texinput/KS/HLaTeX/KSHL.enc (\CJK@KSHLEncoding): Use \CJK@errxx
+ for unused slots.
+
+ * doc/history.txt, doc/commands.doc: Document \CJKindent.
+
+ * utils/CEFconv/cef5conv.w, utils/CEFconv/cefconv.w: Fix
+ documentation errors.
+ * utils/CEFconv/cef5conv.c, utils/CEFconv/cefconv.c: Regenerated.
+
+2002-04-29 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.sty (\pickup@font): Add comment character.
+
+2002-04-28 Werner LEMBERG <wl@gnu.org>
+
+ Preparation of release 4.5.0.
+
+ * README: Updated.
+
+2002-04-27 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.sty (\CJKsymbol, \CJKsymbols): Simplified.
+ (\Unicode, \CJKenc): Fix error text.
+
+2001-10-08 Mike Fabian <mfabian@suse.de>
+
+ * contrib/wadalab/c42goth.fd: Use `dgj' for normal series and add
+ `\CJKbold' for bold series.
+
+2001-07-31 Werner LEMBERG <wl@gnu.org>
+
+ * doc/CJK.doc: Note use of \cleardoublepage if problems occur with
+ two-column printing.
+
+2001-07-27 Fabrice Popineau <Fabrice.Popineau@supelec.fr>
+
+ * utils/cjklatex/cjklatex.c: New file.
+
+2001-06-27 Werner LEMBERG <wl@gnu.org>
+
+ * doc/CJK.doc: Add info how to use a CJK environment in the
+ preamble.
+ * doc/cjk-enc.doc: Simplify usage of AUC TeX.
+ Modify definition of `TeX-run-CJK-LaTeX' to handle directories
+ properly.
+
+2001-06-15 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.enc (\CJK@disableMakeUppercase): Define it as \relax
+ if in preprocessed mode.
+
+2001-06-14 HANDA Ken'ichi <handa@etl.go.jp>
+
+ * utils/lisp/emacs-20.3/cjk-enc.el (cjk-set-buffer-multibyte):
+ Use backquote operator to make cjk-enc.elc work correctly.
+
+2001-06-08 Werner LEMBERG <wl@gnu.org>
+
+ The next LaTeX release will use \textkra, \texttstroke, and
+ \textTstroke for the missing latin-4 characters.
+
+ * texinput/mule/MULEenc.sty: Use \textkra. Add \TEXTTSTROKE.
+ * utils/lisp/emacs-20.3/cjk-enc.el, utils/lisp/mule-2.3/cjk-enc.el:
+ Use \texttstroke and \TEXTTSTROKE.
+
+2001-05-26 Werner LEMBERG <wl@gnu.org>
+
+ * texinputs/CJK.sty: Restore EOL character before loading `CJK.cfg'.
+
+2001-05-18 Werner LEMBERG <wl@gnu.org>
+
+ * contrib/wadalab/DNP.doc: Document installation for pdfTeX.
+ * contrib/wadalab/makefont: Updated to normalize font matrix of
+ PS fonts.
+
+2001-04-24 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/config.guess, utils/hbf2gf/config.sub: Updated to
+ latest version from gnu.org.
+
+2001-04-21 Werner LEMBERG <wl@gnu.org>
+
+ * examples/muletest.tex: Remove Thai support so that this file can
+ really be run with Mule 2.3.
+ Update comment.
+ * example/CJKbabel.tex, example/rubytest.tex: Update comment.
+
+ * utils/lisp/emacs-20.3/cjk-enc.el (cjk-format-spec-table): Fix
+ Thai.
+ * texinput/mule/MULEenc.sty (\mule@char): Don't use delimiter.
+ * texinput/SJIS/sjisdnp.enc: Update this file also to the changes
+ introduced 2001-03-15.
+
+2001-04-17 Werner LEMBERG <wl@gnu.org>
+
+ * examples/*.tex: Added local variables for Emacs to specify
+ encoding.
+ * doc/history.txt: Emphasize the need of local variables for the
+ encoding if `cjk-enc.el' is used.
+
+2001-04-02 Werner LEMBERG <wl@gnu.org>
+
+ * utils/lisp/emacs-20.3/cjk-enc.el: Fix documentation to follow
+ Elisp documentation conventions.
+
+2001-04-01 Werner LEMBERG <wl@gnu.org>
+
+ Make UTF8 encoding work in TOC.
+
+ * texinput/CJK.sty (\CJK@namedef): New macro.
+ * texinput/UTF8/UTF8.bdg: Use it.
+
+2001-03-28 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/mule/MULEenc.sty: Use \textnumero instead of \CYRNo
+ (found by Vladimir Volovich).
+
+2001-03-18 Werner LEMBERG <wl@gnu.org>
+
+ * utils/lisp/cjkspace.el, INSTALL: Fix documentation.
+
+2001-03-15 Werner LEMBERG <wl@gnu.org>
+
+ A major change: Preprocessed and non-preprocessed mode can be used
+ simultaneously! For example, you can now use include a file encoded
+ in UTF-8 in another file encoded in Big5.
+
+ To achieve this, ^^7f will always start a command in preprocessed
+ mode, even for CJK macros.
+
+ * texinput/CJK.sty: Require MULEenc.sty.
+ Remove ^^7f handling.
+ Remove preprocessed versions of \CJK@XX, \CJK@XXX, and \CJK@XXXX.
+ (\CJKcaption): Always include .cpx files.
+
+ * texinput/CJK.enc (\CJK@disableMakeUppercase): New macro.
+ (\CJK@shiftError): New macro.
+ (\CJK@unicodeError): New macro.
+ (\CJK@makeEnvironment): Don't handle \MakeUppercase.
+ (\CJK@*@enc): Always use `true' branch in \CJKpreproc conditionals.
+
+ * texinput/mule/MULEenc.sty (\mule@@@arg, \mule@def): Use \string.
+ (\mule@@def): New function to set up macros for leading bytes in the
+ range ^^81-^^fe.
+ * texinput/extended.enc (\CJK@extendedEncoding),
+ texinput/Bg5/Bg5.enc (\CJK@Bg5Encoding), texinput/SJIS/SJIS.enc
+ (\CJK@SJISEncoding): Use \CJK@disableMakeUppercase.
+ * texinput/pmCbig.enc (\CJK@pmCbigEncoding), texinput/pmCsmall.enc
+ (\CJK@pmCsmallEncoding), texinput/standard.enc
+ (\CJK@standardEncoding): Add \relax.
+ * texinput/CNS/EUC-TW.enc (\CJK@EUC-TWEncoding),
+ texinput/JIS/EUC-JP.enc (\CJK@EUC-JPEncoding): Use \CJK@shiftError
+ for single shifts. Add \relax for all other macros.
+ * texinput/UTF8/UTF8.enc (\CJK@UTF8Encoding): Use \CJK@unicodeError
+ for three-byte sequences. Add \relax for all other macros.
+
+ * texinput/*/*.cpx: Updated to new preprocessing scheme.
+
+ * utils/*conv/*conv.w: Updated to new preprocessing scheme.
+ * utils/*conv/*conv.c: Regenerated.
+
+ * utils/lisp/emacs-20.3/cjk-enc.el (cjk-format-spec-table): Updated
+ to new preprocessing scheme.
+ (cjk-encode): Fix file header insertion strings.
+ * utils/lisp/mule-2.3/cjk-enc.el (cjk-enc-table): Updated to new
+ preprocessing scheme.
+ (cjk-encode): Fix file header insertion strings.
+
+ * doc/*: Updated and revised.
+
+2001-03-13 Werner LEMBERG <wl@gnu.org>
+
+ Implement \CJKinput.
+
+ * mule/MULEenc.sty (\CJKinput): New macro.
+ (\CJKinclude): Fix error message.
+
+ * utils/lisp/emacs-20.3/cjk-enc.el (cjk-write-all-files): Update
+ docstring.
+ (tex-input-regexp): New test for \CJKinput.
+ (do-batch-cjk-write-file): Fix typo.
+
+ * texinput/thai/thaicjk.ldf: Fix typo.
+
+2001-02-21 Werner LEMBERG <wl@gnu.org>
+
+ * doc/INSTALL: Minor improvements.
+
+2001-02-13 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/config.{guess,sub}: Updated (from ftp.gnu.org).
+
+2000-12-17 Werner LEMBERG <wl@gnu.org>
+
+ * utils/SJISconv/sjisconv.w: Fix typo ff -> 7f.
+ * utils/CEFconv/cef5conv.w, utils/CEFconv/cefconv.w: Ditto.
+
+ * utils/*conv/*conv.w: \XXXpreproc will now contain the version of
+ the conversion program.
+ * utils/*conv/*conv.c: Updated.
+
+ * doc/history.txt: Updated.
+
+ * all files: Version number changed to 4.4.0.
+
+2000-12-03 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/configure.in: Fix kpathsea checking message.
+ * utils/hbf2gf/configure: Updated.
+
+2000-12-02 Werner LEMBERG <wl@gnu.org>
+
+ * doc/cjk-enc.doc: Clarify usage of cjk-coding.
+ * doc/INSTALL: Add hints how to use kpsewhich to check
+ configuration.
+
+2000-12-01 Werner LEMBERG <wl@gnu.org>
+
+ * doc/INSTALL: Fix documentation of --with-kpathsea-include.
+ * doc/cjk-enc.doc: Fix typo.
+
+2000-09-21 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/{CJK.sty, CJKulem.sty, pinyin.sty, ruby.sty}: Replacing
+ some \ifdim with \ifnum.
+
+2000-09-20 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJKulem.sty: Fixed two nasty bugs (spotted by Sim Ing
+ <sim@ubs-aptsocap.org>): No underlining for \CJKglue and no \CJKglue
+ before and after \uline.
+
+2000-08-28 Werner LEMBERG <wl@gnu.org>
+
+ * utils/thaifont/texmf/dvips/config/config.{norasi,dbtt}: New files.
+ * doc/thaifont.doc: Added info about PS font configuration.
+
+2000-08-24 Werner LEMBERG <wl@gnu.org>
+
+ * utils/lisp/emacs-20.3/thai-word.el (thai-update-word-table): Add
+ documentation string.
+
+2000-08-24 HANDA Ken'ichi <handa@etl.go.jp>
+
+ * utils/lisp/emacs-20.3/thai-word.el (thai-update-word-table): New
+ function.
+ (thai-find-word-ends): Fix loop.
+
+2000-08-23 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/thai/thaicjk.ldf: Remove warning about nonexistent
+ hyphenation patterns.
+
+2000-08-20 Werner LEMBERG <wl@gnu.org>
+
+ Another big sigh. Wrong glyph names for Norasi's Thai digits.
+ Additionally, all ligature rules no longer use `>' to make kerning
+ possible.
+
+ * utils/thaifont/texmf/dvips/base/norasi.enc: Fixed.
+ * utils/thaifont/tools/{thai.enc,thailigs.vpl}: Updated.
+ * utils/thaifont/texmf/fonts/{tfm,vf}/public/{dbtt,norasi}/*:
+ Regenerated.
+
+2000-08-19 Werner LEMBERG <wl@gnu.org>
+
+ * examples/thai.tex: New file.
+ * doc/history.txt: Updated.
+
+ * examples/CJKbabel.tex: Doc fixes.
+
+2000-08-17 Werner LEMBERG <wl@gnu.org>
+
+ * doc/cjk-enc.el, doc/thaifont.doc: Give better URL for thailatex
+ package.
+
+2000-08-15 Werner LEMBERG <wl@gnu.org>
+
+ Sigh, another forgotten Thai ligature rule.
+
+ * utils/thaifont/tools/{thai.enc,thailigs.vpl}: Updated.
+ * utils/thaifont/texmf/fonts/{tfm,vf}/public/{dbtt,norasi}/*:
+ Regenerated.
+
+2000-08-15 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/thai/c90{cmr,cmss.cmtt}.fd: Make font substitution
+ silent.
+
+ * utils/thaifont/texmf/dvips/base/norasi.enc: Fixing typo.
+ * utils/thaifont/texmf/fonts/{tfm,vf}/public/norasi/*: Updated.
+
+2000-08-13 Werner LEMBERG <wl@gnu.org>
+
+ Improved support for Thai.
+
+ * doc/thaifont.doc: New file.
+
+ * utils/thaifont/*: Metrics and support files for Thai fonts.
+
+ * texinput/thai/c90{nrsr,dbss}.fd: New font definition files for
+ dbtt and norasi font families.
+ * texinput/thai/c90{cmr,cmss,cmtt}.fd: Font alias files.
+ * texinput/thai/thaicjk.ldf: New file for thai support in Babel.
+ * texinput/thai/thai.sty: Removed.
+
+ * utils/lisp/emacs20.3/cjk-enc.el: Redesigned Thai support by
+ HANDA Ken'ichi <handa@etl.go.jp>.
+ Will now run under XEmacs also (with help of Martin Buchholz
+ <martin@xemacs.org>). No Thai support yet due to limitations in
+ current XEmacs version (21.2).
+ (cjk-write-all-files): New optional argument to force the processing
+ of all files.
+ (do-batch-cjk-write-file): New function.
+ (batch-cjk-write-file): Use do-batch-cjk-write-file.
+ (batch-force-cjk-write-file): New function. Uses
+ do-batch-cjk-write-file also.
+ * utils/lisp/mule-2.3/cjk-enc.el: Rename write-cjk-file to
+ cjk-write-file for consistency.
+ * utils/lisp/emacs20.3/thai-word.el: New file written by HANDA
+ Ken'ichi for Thai word breaking support. Replaces thaiconv.
+ * utils/thaiconv: Removed.
+
+ * utils/lisp/emacs20/cjk-enc.el: Removed. No longer supported.
+
+ * texinput/mule/MULEenc.sty: Adapted to new cjk-enc.el version.
+ Make it robust for CJKulem.sty.
+
+ * examples/CJKbabel.tex: Use CJKulem.sty and thaicjk module for
+ Babel.
+ * examples/muletest.tex: Remove \if... \fi clause for Thai.
+
+ * doc/history.txt, doc/INSTALL: Updated.
+
+2000-08-12 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJKulem.sty: New file which provides CJK support for
+ ulem.sty.
+ * doc/history.txt, doc/CJK.doc: Updated.
+
+2000-08-09 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/configure.in: Replaced --with-kpathsea-dir with
+ --with-kpathsea-lib and --with-kpathsea-include.
+ * utils/hbf2gf/configure, doc/history.txt, doc/INSTALL,
+ doc/hbf2gf.doc: Updated.
+
+ * texinput/CJK.sty, texinput/mule/MULEenc.sty: New command
+ \CJKverbatim which disables \Thaiglue and \CJKglue in verbatim
+ environments if the `verbatim' package is loaded.
+ * doc/history.txt, doc/CJK.doc, doc/commands.doc: Updated.
+
+2000-07-30 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/config.guess, utils/hbf2gf/config.sub: Updated to
+ latest version from ftp.gnu.org.
+
+2000-07-27 Werner LEMBERG <wl@gnu.org>
+
+ * utils/thaiconv/thaiconv.c: Improve comment.
+
+ * *.fd: Set \hyphenchar to -1 for all CJK fonts.
+
+2000-06-23 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/config.guess, utils/hbf2gf/config.sub: Updated to
+ latest version from ftp.gnu.org.
+
+ * texinput/CJK.enc: Removed redefinition of C42 and C49.
+
+2000-05-03 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.sty: Specifying an optional argument to the `CJK'
+ size function will no longer produce a warning message for each
+ subfont.
+
+ * contrib/wadalab/*.fd, doc/CJK.doc, doc/fonts.doc: Wadalab PS fonts
+ now use `CJK' size functions instead of `DNP' ones.
+
+ * doc/history.txt: Updated.
+
+2000-05-02 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/*/*.cpx: Replace incorrect 0xFF with 0x7F.
+
+2000-04-18 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.sty, texinput/pinyin.sty, texinput/ruby.sty:
+ Balancing the small kern control values, e.g. using
+ `\kern -1sp\kern 1sp' instead of `\kern 1sp' only.
+
+ Replacing kern value of 3sp with 5sp to avoid clash with ulem.sty.
+
+2000-04-01 Werner LEMBERG <wl@gnu.org>
+
+ Version 4.3.0 released
+ ======================
+
+ This version exists on the Tex Live CD 5 only; a lot of files have
+ been adapted to the special needs of the CD's texmf tree -- these
+ changes are not in the CVS tree.
+
+2000-03-15 Werner LEMBERG <wl@gnu.org>
+
+ * contrib/wadalab/wadalab.map: Renamed from Wadalab.map
+ * contrib/wadalab/DNP.doc: Updated accordingly.
+
+ * utils/hbf2gf/cfg/*: Updated -- if possible, the foundry is used
+ as the target directory instead of the encoding, e.g.
+ `tfm/ntu/b5ka12'.
+
+2000-03-14 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/SJIS/SJISdnp.{chr,enc}: New files to support SJIS
+ encoding with DNP fontencoding.
+ * texinput/CJK.enc: Add SJISdnp.
+ Add forgotten punctuation pattern macro to KSHL encoding.
+ * doc/history.txt, doc/CJK.doc, doc/command.doc: Update.
+
+2000-03-13 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.sty: Fixing definition of ^^7f to do nothing if
+ written to the TOC file.
+
+2000-03-12 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/KS/HLaTeX/pshan.sty: Fix typo.
+
+ Call \mj to activate default family correctly.
+
+ * contrib/wadalab/makefont: Add echo commands.
+ * contrib/wadalab/DNP.doc: Updated. Add info about gsftopk.
+
+2000-03-03 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/README: New file.
+ * utils/hbf2gf/hbf2gf.1, doc/hbf2gf.doc: Small improvements.
+
+ * README: Removed `romaji environment' from TODO section. According
+ to HANDA Ken'ichi <handa@etl.go.jp> it is impossible to provide
+ hyphenation patterns for transcribed Japanese without semantic
+ analysis.
+
+2000-03-02 Werner LEMBERG <wl@gnu.org>
+
+ * README, doc/INSTALL: Slight improvements.
+
+ * utils/hbf2gf/Makefile.in, utils/hbf2gf/configure.in: Fix incorrect
+ test for NO_STRDUP. Thanks to <Andries.Brouwer@cwi.nl>.
+
+2000-02-06 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/CJK.sty, texinput/mule/MULEenc.sty,
+ utils/lisp/*/cjk-enc.el, utils/*conv/*conv.[cw], history.txt,
+ CJK.doc, cjk-enc.doc: Use 0x7F both as the multiplex character and
+ as a delimiter -- apparently no package uses this character...
+ This solves all problems with \uppercase and \lowercase.
+
+ * utils/hbf2gf/cfg/j2so12.cfg: Added `min_char' parameter to get
+ correct offsets (thanks to Martin Minich
+ <minich5@kepler.fmph.uniba.sk> for finding this bug).
+
+2000-01-26 Werner LEMBERG <wl@gnu.org>
+
+ * doc/cjk-enc.doc, doc/history.txt, examples/CJKbabel.tex,
+ examples/muletest.tex, texinput/mule/MULEenc.sty,
+ utils/lisp/*/cjk-enc.el: Change X5 to T5.
+
+2000-01-20 Werner LEMBERG <wl@gnu.org>
+
+ * examples/muletest.tex: Greek added; updated to X5 encoding.
+ * examples/CJKbabel.tex: Greek added; updated to X5 encoding.
+
+ * texinput/mule/MULEenc.sty: Use \AtBeginDocument for \mule@<accent>
+ definitions.
+
+2000-01-14 Werner LEMBERG <wl@gnu.org>
+
+ * doc/cjk-enc.doc: Added info about file variables to specify
+ document encoding.
+
+2000-01-03 Ching-Mo CHANG <chingmo@mail.onweb.com.tw>
+
+ * utils/lisp/emacs-20.3/cjk-enc.el (cjk-write-all-files): Always
+ returned nul for include and bib file names due to incorrect
+ pattern matching.
+
+1999-12-18 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/configure.in: Removed `-pedantic' flag which causes
+ problems with newer gcc versions.
+
+1999-11-19 Werner LEMBERG <wl@gnu.org>
+
+ * examples/muletest.tex, examples/CJKbabel.tex: Fixing a typo.
+
+1999-11-07 Werner LEMBERG <wl@gnu.org>
+
+ * doc/CEF.doc: Minor fixes.
+
+ * doc/CJK.doc: Updated; minor fixes.
+
+1999-11-06 Werner LEMBERG <wl@gnu.org>
+
+ * doc/cjk-enc.doc, doc/commands.doc, doc/fonts.doc: Minor fixes.
+
+ * doc/vertical.doc, doc/history.txt: Updated.
+
+1999-11-05 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/mule/MULEenc.sty: Added \CJKinclude{<file>} and
+ \CJKbibliography{<file>}. These functions act identically to
+ \include resp. \bibliography but load <file>.cjk
+ resp. <file>-cjk.bib.
+
+ * utils/lisp/emacs-20.3/cjk-enc.el: Using `cjk' throughout as the
+ prefix to variable and function names. This causes a renaming of
+ virtually all functions. Some other local variables were renamed
+ also for consistency.
+
+ Changing ET5 to X5 encoding for Vietnamese.
+
+ (decompose-char): Removed. Not needed at all.
+
+ (cjk-tex-in-comment): New function. Similar to AUC TeX's
+ TeX-in-comment function; has been added to be independent from AUC
+ TeX.
+
+ (cjk-write-all-files): New function. It checks for \CJKinclude
+ and \CJKbibliography commands in the master file and converts the
+ referenced files accordingly if necessary. Intended as a hook to
+ AUC TeX to make multiple files work as expected.
+
+1999-11-02 Werner LEMBERG <wl@gnu.org>
+
+ * doc/cjk-enc.doc: Small improvement in explanation of usage with
+ AUC TeX.
+
+1999-10-24 Werner LEMBERG <wl@gnu.org>
+
+ * utils/lisp/emacs-20.3/cjk-enc.el (get-cjk-name): New function.
+
+ (file-write-cjk-file, batch-write-cjk-file): New functions which
+ do the same as write-cjk-file but operate on a given file (resp. a
+ suite of files and directories given on the command line).
+
+ (write-cjk-file): Will now properly ask for a file name if the
+ current buffer is not visiting a file.
+
+ * doc/cjk-enc.doc: Expanded TeX-translate-location-hook to cover
+ CJK BibTeX input files also.
+
+ TeX-run-CJK-LaTeX now checks whether it must call write-cjk-file
+ at all (emacs > 20.3 only).
+
+1999-10-07 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/mule/MULEenc.sty: Removed \textendash wrapper macro.
+
+ * utils/lisp/{emacs-20.3,emacs-20,mule-2.3}/cjk-enc.el: Added
+ iso-8859-9 (Greek) support (mapped to LGR encoding as used in the
+ Babel package).
+
+ Fixed character `SOFT-HYPHEN' in iso-8859-x encodings (using `\-'
+ instead of \textendash).
+
+ * README, doc/cjk-enc.doc, doc/history.txt: Updated.
+
+ * doc/CJK.doc: Fixed a typo.
+
+ * texinput/CJK.enc, texinput/CJK.sty, texinput/*/{*.cap,*.cpx}:
+ Replaced `\ifx\foo \undefined' with `\@ifundefined{}{}' to fix the
+ case that a not-defined macro has been tested with \@ifundefined
+ before. In this case, it is no longer undefined but identical to
+ \relax.
+
+ * texinput/pmC.chr: Fixed punctuation macros for pmC.
+
+1999-10-02 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/pinyin.sty: The method with appending `\-' to all
+ syllables fails (stupid I am :-), so here a solution which really
+ works. It uses a small kern (4sp, similar to the ruby and CJK
+ packages) to tell the following pinyin syllable that a
+ discretionary has to be inserted.
+
+1999-10-01 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/mule/MULEenc.sty: \lccode and \uccode of ^^ff must not
+ be modified, otherwise hyphenation patterns containing \ss will
+ fail (which happens e.g. in German).
+
+1999-09-28 Werner LEMBERG <wl@gnu.org>
+
+ * doc/history.txt: Updated.
+
+ * utils/pyhyphen/pyhyph.tex, utils/pyhyphen/pytest.tex,
+ utils/pyhyphen/pinyin.ldf, doc/pyhpyhen.doc: Hyphenation patterns
+ for unaccented pinyin syllables to be used with the Babel package.
+
+ * utils/pyhyphen/pinyin.c, utils/pyhpyhen/pinyin.tr: Utility files
+ for creating pinyin hyphenation patterns.
+
+1999-09-27 Werner LEMBERG <wl@gnu.org>
+
+ * doc/history.txt: Updated.
+
+1999-09-21 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/pinyin.sty: Adding hyphenation points at the end of all
+ syllables.
+
+1999-09-18 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/pinyin.sty: Making accent commands like \py@a robust.
+
+ Added option `useCMmacron' (for LaTeX only) to use a macron accent
+ from the CM fonts in case the used font doesn't have it
+ (e.g. some versions of virtual files for Palatino).
+
+1999-08-26 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/hbf2gf.1: Added some documentation how to find out
+ the expanded value of a kpathsea variable (like $MISCFONT).
+
+1999-08-07 Werner LEMBERG <wl@gnu.org>
+
+ * utils/thaiconv/thaiconv.c (adj): Fixed invalid array index in
+ case of marks without base characters.
+
+1999-07-07 Werner LEMBERG <wl@gnu.org>
+
+ * texinput/Bg5/Bg5.chr,
+ texinput/extended.chr: Fixed a typo \CJK@temp->\CJK@gtemp
+
+1999-06-30 Werner LEMBERG <wl@gnu.org>
+
+ * utils/lisp/emacs-20/cjk-enc.el,
+ utils/lisp/emacs-20.3/cjk-enc.el,
+ utils/lisp/mule-2.3: Fixed code for 0x80 multiplex character.
+
+1999-06-22 Werner LEMBERG <wl@gnu.org>
+
+ * doc/TDS.doc: Completely revised.
+
+1999-06-10 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/configure.in: Removed `-ansi' flag which can cause
+ problems with the kpathsea library (which is not compiled with
+ -ansi).
+
+1999-06-07 Werner LEMBERG <wl@gnu.org>
+
+ * utils/hbf2gf/hbf2gf.1: Added documentation about MiKTeX.
+
+ * utils/hbf2gf/hbf2gf.w: Added support for MiKTeX file search
+ library.
+
+ * texinput/CEF/*.fd: Removed -- these files were erroneously
+ included into the CVS repository.
+
+1999-06-04 Werner LEMBERG <wl@gnu.org>
+
+ * *.fd files: minor documentation addition regarding font
+ encoding.
+
+ * all files: Changed date/version to 4.3.0.
+
+1999-06-02 Werner LEMBERG <wl@gnu.org>
+
+ * README: Added info about http and ftp home sites and how to
+ access the CVS repository.
+
+1999-06-01 Werner LEMBERG <wl@gnu.org>
+
+ * README: Added info about CVS mailing list.
+
+1999-05-29 Werner LEMBERG <wl@gnu.org>
+
+ * README: Added mailing list.
+
+ * doc/INSTALL: Small correction.
+
+ * README: Small additions.
+
+;; Local Variables:
+;; coding: utf-8
+;; End:
+
+ Copyright (C) 1999, 2001-2012
+ Werner Lemberg <wl@gnu.org>
+
+ This file is part of the CJK package for using Asian logographs
+ (Chinese/Japanese/Korean) with LaTeX2e.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GNU Emacs; see the file COPYING. If not, write to the
+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
diff --git a/language/chinese/CJK/cjk-4.8.4/MANIFEST b/language/chinese/CJK/cjk-4.8.4/MANIFEST
new file mode 100644
index 0000000000..14d9e3d501
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/MANIFEST
@@ -0,0 +1,462 @@
+Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program in doc/COPYING; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+MA 02110-1301 USA
+
+This license applies to all files of the CJK package, unless otherwise
+stipulated in the source file.
+
+
+The CJK package contains the following files:
+
+ ChangeLog
+ MANIFEST
+ Makefile
+ README
+ contrib/wadalab/DNP.sfd
+ contrib/wadalab/c42goth.fd
+ contrib/wadalab/c42goth.fdx
+ contrib/wadalab/c42maru.fd
+ contrib/wadalab/c42maru.fdx
+ contrib/wadalab/c42min.fd
+ contrib/wadalab/c42min.fdx
+ contrib/wadalab/c52maru.fd
+ contrib/wadalab/c52maru.fdx
+ contrib/wadalab/c52min.fd
+ contrib/wadalab/c52min.fdx
+ contrib/wadalab/c70goth.fd
+ contrib/wadalab/c70goth.fdx
+ contrib/wadalab/c70maru.fd
+ contrib/wadalab/c70maru.fdx
+ contrib/wadalab/c70min.fd
+ contrib/wadalab/c70min.fdx
+ contrib/wadalab/fixwada
+ contrib/wadalab/fixwada2.pl
+ contrib/wadalab/makefont
+ contrib/wadalab/makeuniwada.pl
+ contrib/wadalab/wadalab.map
+ contrib/wadalab/wadalab.txt
+ doc/CEF.txt
+ doc/CJK.txt
+ doc/CJKnumb.txt
+ doc/CJKspace.txt
+ doc/CJKutf8.txt
+ doc/COPYING
+ doc/INSTALL
+ doc/TDS.txt
+ doc/chinese/README
+ doc/chinese/READMEb5.tex
+ doc/chinese/READMEgb.tex
+ doc/chinese/emTeXb5.txt
+ doc/chinese/teTeXb5.txt
+ doc/cjk-enc.txt
+ doc/commands.txt
+ doc/dvidrv.txt
+ doc/fdxfiles.txt
+ doc/fonts.txt
+ doc/hbf2gf.txt
+ doc/history.2_5
+ doc/history.txt
+ doc/japanese/README
+ doc/japanese/ascii.txt
+ doc/japanese/japanese.jis
+ doc/japanese/japanese.txt
+ doc/japanese/jp-fonts.txt
+ doc/japanese/jp-tex.txt
+ doc/japanese/preview.txt
+ doc/japanese/shibuaki.txt
+ doc/pdfhowto/HOWTO.txt
+ doc/pdfhowto/examples/bkai.map
+ doc/pdfhowto/examples/cid-x.map
+ doc/pdfhowto/examples/cwtb.map
+ doc/pdfhowto/examples/dvipdfmx.cfg
+ doc/pdfhowto/examples/gen-map.pl
+ doc/pdfhowto/examples/map.list
+ doc/pdfhowto/examples/texinput/Bg5/c00cwtb.fd
+ doc/pdfhowto/examples/texinput/Bg5/c00tmpl.fd
+ doc/pdfhowto/examples/texinput/GB/c10tmpl.fd
+ doc/pdfhowto/examples/texinput/JIS/c40tmpl.fd
+ doc/pdfhowto/examples/texinput/SJIS/c49tmpl.fd
+ doc/pdfhowto/examples/updmap.my
+ doc/pdfhowto/examples/wcl.sfd
+ doc/pinyin.txt
+ doc/pyhyphen.txt
+ doc/reftex.txt
+ doc/ruby.txt
+ doc/thaifont.txt
+ doc/vertical.txt
+ examples/Big5.tex
+ examples/Big5vert.tex
+ examples/CEF_test.tex
+ examples/CJKbabel.tex
+ examples/CJKfntef.tex
+ examples/CJKmixed.tex
+ examples/CJKspace.tex
+ examples/CJKutf8.tex
+ examples/GB.tex
+ examples/JIS.tex
+ examples/KS.tex
+ examples/README
+ examples/SJIS.tex
+ examples/UTF8.tex
+ examples/muletest.tex
+ examples/py_test.tex
+ examples/rubytest.tex
+ examples/thai.tex
+ examples/thai_utf8.tex
+ texinput/Bg5/Bg5.cap
+ texinput/Bg5/Bg5.chr
+ texinput/Bg5/Bg5.cpx
+ texinput/Bg5/Bg5.enc
+ texinput/Bg5/HK.enc
+ texinput/Bg5/c00bkai.fd
+ texinput/Bg5/c00bkai.fdx
+ texinput/Bg5/c00bsmi.fd
+ texinput/Bg5/c00bsmi.fdx
+ texinput/Bg5/c00bsmir.fd
+ texinput/Bg5/c00bsmir.fdx
+ texinput/Bg5/c00cns.fd
+ texinput/Bg5/c00fs.fd
+ texinput/Bg5/c00kai.fd
+ texinput/Bg5/c00kair.fd
+ texinput/Bg5/c00kair.fdx
+ texinput/Bg5/c00song.fd
+ texinput/Bg5/c01song.fd
+ texinput/Bg5/c05song.fd
+ texinput/Bg5/c09song.fd
+ texinput/CEF/c80song.fd
+ texinput/CEF/c81song.fd
+ texinput/CJK.enc
+ texinput/CJK.sty
+ texinput/CJKfntef.sty
+ texinput/CJKnumb.sty
+ texinput/CJKspace.sty
+ texinput/CJKulem.sty
+ texinput/CJKutf8.sty
+ texinput/CJKvert.sty
+ texinput/CNS/EUC-TW.bdg
+ texinput/CNS/EUC-TW.chr
+ texinput/CNS/EUC-TW.enc
+ texinput/CNS/c31song.fd
+ texinput/CNS/c32song.fd
+ texinput/CNS/c33song.fd
+ texinput/CNS/c34song.fd
+ texinput/CNS/c35song.fd
+ texinput/CNS/c36song.fd
+ texinput/CNS/c37song.fd
+ texinput/GB/GB.cap
+ texinput/GB/GB.cpx
+ texinput/GB/c10fs.fd
+ texinput/GB/c10gbsn.fd
+ texinput/GB/c10gbsn.fdx
+ texinput/GB/c10gkai.fd
+ texinput/GB/c10gkai.fdx
+ texinput/GB/c10song.fd
+ texinput/GB/c11song.fd
+ texinput/GB/c19song.fd
+ texinput/GB/c20song.fd
+ texinput/GB/c21song.fd
+ texinput/JIS/EUC-JP.bdg
+ texinput/JIS/EUC-JP.chr
+ texinput/JIS/EUC-JP.enc
+ texinput/JIS/EUC-JPdnp.enc
+ texinput/JIS/JIS.cap
+ texinput/JIS/JIS.cpx
+ texinput/JIS/JISdnp.enc
+ texinput/JIS/c40song.fd
+ texinput/JIS/c41song.fd
+ texinput/JIS/c42song.fd
+ texinput/JIS/c43song.fd
+ texinput/JIS/c50song.fd
+ texinput/KS/HLaTeX/HLaTeX.chr
+ texinput/KS/HLaTeX/KSHL.enc
+ texinput/KS/HLaTeX/c63bm.fd
+ texinput/KS/HLaTeX/c63dn.fd
+ texinput/KS/HLaTeX/c63gr.fd
+ texinput/KS/HLaTeX/c63gs.fd
+ texinput/KS/HLaTeX/c63gt.fd
+ texinput/KS/HLaTeX/c63jgt.fd
+ texinput/KS/HLaTeX/c63jmj.fd
+ texinput/KS/HLaTeX/c63jnv.fd
+ texinput/KS/HLaTeX/c63jsr.fd
+ texinput/KS/HLaTeX/c63mj.fd
+ texinput/KS/HLaTeX/c63pg.fd
+ texinput/KS/HLaTeX/c63pga.fd
+ texinput/KS/HLaTeX/c63ph.fd
+ texinput/KS/HLaTeX/c63pn.fd
+ texinput/KS/HLaTeX/c63sh.fd
+ texinput/KS/HLaTeX/c63tz.fd
+ texinput/KS/HLaTeX/c63vd.fd
+ texinput/KS/HLaTeX/c63yt.fd
+ texinput/KS/HLaTeX/c64bm.fd
+ texinput/KS/HLaTeX/c64dn.fd
+ texinput/KS/HLaTeX/c64gr.fd
+ texinput/KS/HLaTeX/c64gs.fd
+ texinput/KS/HLaTeX/c64gt.fd
+ texinput/KS/HLaTeX/c64jgt.fd
+ texinput/KS/HLaTeX/c64jmj.fd
+ texinput/KS/HLaTeX/c64jnv.fd
+ texinput/KS/HLaTeX/c64jsr.fd
+ texinput/KS/HLaTeX/c64mj.fd
+ texinput/KS/HLaTeX/c64pg.fd
+ texinput/KS/HLaTeX/c64pga.fd
+ texinput/KS/HLaTeX/c64ph.fd
+ texinput/KS/HLaTeX/c64pn.fd
+ texinput/KS/HLaTeX/c64sh.fd
+ texinput/KS/HLaTeX/c64tz.fd
+ texinput/KS/HLaTeX/c64vd.fd
+ texinput/KS/HLaTeX/c64yt.fd
+ texinput/KS/HLaTeX/c65bm.fd
+ texinput/KS/HLaTeX/c65dn.fd
+ texinput/KS/HLaTeX/c65gr.fd
+ texinput/KS/HLaTeX/c65gs.fd
+ texinput/KS/HLaTeX/c65gt.fd
+ texinput/KS/HLaTeX/c65jgt.fd
+ texinput/KS/HLaTeX/c65jmj.fd
+ texinput/KS/HLaTeX/c65jnv.fd
+ texinput/KS/HLaTeX/c65jsr.fd
+ texinput/KS/HLaTeX/c65mj.fd
+ texinput/KS/HLaTeX/c65pg.fd
+ texinput/KS/HLaTeX/c65pga.fd
+ texinput/KS/HLaTeX/c65ph.fd
+ texinput/KS/HLaTeX/c65pn.fd
+ texinput/KS/HLaTeX/c65sh.fd
+ texinput/KS/HLaTeX/c65tz.fd
+ texinput/KS/HLaTeX/c65vd.fd
+ texinput/KS/HLaTeX/c65yt.fd
+ texinput/KS/HLaTeX/pshan.sty
+ texinput/KS/KS.chr
+ texinput/KS/KS.enc
+ texinput/KS/c60dr.fd
+ texinput/KS/c60gr.fd
+ texinput/KS/c60gs.fd
+ texinput/KS/c60gt.fd
+ texinput/KS/c60hgt.fd
+ texinput/KS/c60hmj.fd
+ texinput/KS/c60hol.fd
+ texinput/KS/c60hpg.fd
+ texinput/KS/c60mj.fd
+ texinput/KS/c61dr.fd
+ texinput/KS/c61gr.fd
+ texinput/KS/c61gs.fd
+ texinput/KS/c61gt.fd
+ texinput/KS/c61hgt.fd
+ texinput/KS/c61hmj.fd
+ texinput/KS/c61hol.fd
+ texinput/KS/c61hpg.fd
+ texinput/KS/c61mj.fd
+ texinput/KS/c62song.fd
+ texinput/KS/hangul.cap
+ texinput/KS/hangul.cpx
+ texinput/KS/hangul2.cap
+ texinput/KS/hangul2.cpx
+ texinput/KS/hanja.cap
+ texinput/KS/hanja.cpx
+ texinput/SJIS/SJIS.bdg
+ texinput/SJIS/SJIS.cap
+ texinput/SJIS/SJIS.chr
+ texinput/SJIS/SJIS.cpx
+ texinput/SJIS/SJIS.enc
+ texinput/SJIS/SJISdnp.chr
+ texinput/SJIS/SJISdnp.enc
+ texinput/SJIS/c49song.fd
+ texinput/UTF8/UTF8.bdg
+ texinput/UTF8/UTF8.chr
+ texinput/UTF8/UTF8.enc
+ texinput/UTF8/c70bkai.fd
+ texinput/UTF8/c70bkai.fdx
+ texinput/UTF8/c70bsmi.fd
+ texinput/UTF8/c70bsmi.fdx
+ texinput/UTF8/c70gbsn.fd
+ texinput/UTF8/c70gbsn.fdx
+ texinput/UTF8/c70gkai.fd
+ texinput/UTF8/c70gkai.fdx
+ texinput/UTF8/c70mj.fd
+ texinput/UTF8/c70mj.fdx
+ texinput/UTF8/c70song.fd
+ texinput/UTF8/ja.cpx
+ texinput/UTF8/ko-Hang2.cpx
+ texinput/UTF8/ko-Hang.cpx
+ texinput/UTF8/ko-Hani.cpx
+ texinput/UTF8/zh-Hans.cpx
+ texinput/UTF8/zh-Hant.cpx
+ texinput/extended.chr
+ texinput/extended.enc
+ texinput/mule/MULEenc.sty
+ texinput/pinyin.sty
+ texinput/pmC.chr
+ texinput/pmCbig.enc
+ texinput/pmCsmall.enc
+ texinput/ruby.sty
+ texinput/standard.bdg
+ texinput/standard.chr
+ texinput/standard.enc
+ texinput/thai/c90cmr.fd
+ texinput/thai/c90cmss.fd
+ texinput/thai/c90cmtt.fd
+ texinput/thai/c90enc.def
+ texinput/thai/c90gar.fd
+ texinput/thai/c90nrsr.fd
+ texinput/thai/thaicjk.ldf
+ texlive/bin-cjkutils.pl
+ texlive/c63mj.fd
+ texlive/c64mj.fd
+ texlive/c65mj.fd
+ texlive/c90.pl
+ texlive/cjk-build.pl
+ texlive/cjk.pl
+ texlive/dnp.pl
+ texlive/garuda-c90.pl
+ texlive/norasi-c90.pl
+ texlive/README
+ utils/Bg5conv/bg5conv.1
+ utils/Bg5conv/bg5conv.c
+ utils/Bg5conv/bg5conv.w
+ utils/Bg5conv/bg5latex
+ utils/Bg5conv/bg5latex.bat
+ utils/Bg5conv/bg5latex.cmd
+ utils/Bg5conv/bg5pdflatex
+ utils/CEFconv/cef5conv.1
+ utils/CEFconv/cef5conv.c
+ utils/CEFconv/cef5conv.w
+ utils/CEFconv/cef5latex
+ utils/CEFconv/cef5ltx.bat
+ utils/CEFconv/cef5ltx.cmd
+ utils/CEFconv/cef5pdflatex
+ utils/CEFconv/cefconv.1
+ utils/CEFconv/cefconv.c
+ utils/CEFconv/cefconv.w
+ utils/CEFconv/ceflatex
+ utils/CEFconv/ceflatex.bat
+ utils/CEFconv/ceflatex.cmd
+ utils/CEFconv/cefpdflatex
+ utils/CEFconv/cefsconv.1
+ utils/CEFconv/cefsconv.c
+ utils/CEFconv/cefsconv.w
+ utils/CEFconv/cefslatex
+ utils/CEFconv/cefsltx.bat
+ utils/CEFconv/cefsltx.cmd
+ utils/CEFconv/cefspdflatex
+ utils/SJISconv/sjisconv.1
+ utils/SJISconv/sjisconv.c
+ utils/SJISconv/sjisconv.w
+ utils/SJISconv/sjislatex
+ utils/SJISconv/sjisltx.bat
+ utils/SJISconv/sjisltx.cmd
+ utils/SJISconv/sjispdflatex
+ utils/cjklatex/cjklatex.c
+ utils/extconv/bg5+latex
+ utils/extconv/bg5+pdflatex
+ utils/extconv/bg5pltx.bat
+ utils/extconv/bg5pltx.cmd
+ utils/extconv/extconv.1
+ utils/extconv/extconv.c
+ utils/extconv/extconv.w
+ utils/extconv/gbklatex
+ utils/extconv/gbklatex.bat
+ utils/extconv/gbklatex.cmd
+ utils/extconv/gbkpdflatex
+ utils/f_name.bat
+ utils/hbf2gf/Makefile.gnu
+ utils/hbf2gf/Makefile.in
+ utils/hbf2gf/README
+ utils/hbf2gf/c-auto.h
+ utils/hbf2gf/cfg/README
+ utils/hbf2gf/cfg/b5ka12.cfg
+ utils/hbf2gf/cfg/b5kr12.cfg
+ utils/hbf2gf/cfg/b5so12.cfg
+ utils/hbf2gf/cfg/c1so12.cfg
+ utils/hbf2gf/cfg/c2so12.cfg
+ utils/hbf2gf/cfg/c3so12.cfg
+ utils/hbf2gf/cfg/c4so12.cfg
+ utils/hbf2gf/cfg/c5so12.cfg
+ utils/hbf2gf/cfg/c6so12.cfg
+ utils/hbf2gf/cfg/c7so12.cfg
+ utils/hbf2gf/cfg/csso12.cfg
+ utils/hbf2gf/cfg/gsfs14.cfg
+ utils/hbf2gf/cfg/j2so12.cfg
+ utils/hbf2gf/cfg/jsso12.cfg
+ utils/hbf2gf/cfg/ksso17.cfg
+ utils/hbf2gf/config.guess
+ utils/hbf2gf/config.sub
+ utils/hbf2gf/configure
+ utils/hbf2gf/configure.ac
+ utils/hbf2gf/dvidrv.btm
+ utils/hbf2gf/emdir.c
+ utils/hbf2gf/emdir.h
+ utils/hbf2gf/emtexdir.c
+ utils/hbf2gf/emtexdir.h
+ utils/hbf2gf/hbf.c
+ utils/hbf2gf/hbf.h
+ utils/hbf2gf/hbf2gf.1
+ utils/hbf2gf/hbf2gf.c
+ utils/hbf2gf/hbf2gf.def
+ utils/hbf2gf/hbf2gf.w
+ utils/hbf2gf/install-sh
+ utils/hbf2gf/mkinstalldirs
+ utils/hbf2gf/scripts/teTeX-0.4/MakeTeXPK.diff
+ utils/hbf2gf/scripts/teTeX-0.4/MakeTeXTFM.diff
+ utils/hbf2gf/scripts/web2c-6.1/MakeTeXPK.diff
+ utils/hbf2gf/scripts/web2c-6.1/README
+ utils/hbf2gf/scripts/web2c-7.0/MakeTeXPK.diff
+ utils/hbf2gf/scripts/web2c-7.0/MakeTeXTFM.diff
+ utils/hbf2gf/scripts/web2c-7.1/MakeTeXPK.diff
+ utils/hbf2gf/scripts/web2c-7.1/MakeTeXTFM.diff
+ utils/hbf2gf/scripts/web2c-7.2/mktexpk.diff
+ utils/hbf2gf/scripts/web2c-7.2/mktextfm.diff
+ utils/lisp/cjkspace.el
+ utils/lisp/cjktilde.el
+ utils/lisp/emacs/cjk-enc.el
+ utils/lisp/emacs/thai-word.el
+ utils/lisp/mule-2.3/cjk-enc.el
+ utils/pyhyphen/pinyin.c
+ utils/pyhyphen/pinyin.ldf
+ utils/pyhyphen/pinyin.tr
+ utils/pyhyphen/pyhyph.tex
+ utils/pyhyphen/pytest.tex
+ utils/subfonts/clonevf.pl
+ utils/subfonts/hlatex2agl.pl
+ utils/subfonts/makefdx.pl
+ utils/subfonts/sfd2uni.pl
+ utils/subfonts/subfonts.pe
+ utils/subfonts/uni2sfd.pl
+ utils/subfonts/vertical.pe
+ utils/subfonts/vertref.pe
+ utils/thaifont/texmf/dvips/garuda-c90/config.garuda-c90
+ utils/thaifont/texmf/dvips/norasi-c90/config.norasi-c90
+ utils/thaifont/texmf/fonts/enc/dvips/thai/c90.enc
+ utils/thaifont/texmf/fonts/map/dvips/garuda-c90/garuda-c90.map
+ utils/thaifont/texmf/fonts/map/dvips/norasi-c90/norasi-c90.map
+ utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdb8z.tfm
+ utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdbo8z.tfm
+ utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdo8z.tfm
+ utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdr8z.tfm
+ utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftnb8z.tfm
+ utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftnbi8z.tfm
+ utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftni8z.tfm
+ utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftnr8z.tfm
+ utils/thaifont/tools/INSTALL
+ utils/thaifont/tools/c90.etx
+ utils/thaifont/tools/c90.mtx
+ utils/thaifont/tools/dbtt-old/config.dbtt-old
+ utils/thaifont/tools/dbtt-old/dbtt-old-alias.etx
+ utils/thaifont/tools/dbtt-old/dbtt-old-alias.mtx
+ utils/thaifont/tools/dbtt-old/dbtt-old-alias.tex
+ utils/thaifont/tools/dbtt-old/dbtt-old.fontinst
+ utils/thaifont/tools/dbtt-old/dbtt-old.map
+ utils/thaifont/tools/garuda-c90.fontinst
+ utils/thaifont/tools/norasi-c90.fontinst
+
+---End of MANIFEST---
diff --git a/language/chinese/CJK/cjk-4.8.4/Makefile b/language/chinese/CJK/cjk-4.8.4/Makefile
new file mode 100644
index 0000000000..d80bb6fb3a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/Makefile
@@ -0,0 +1,216 @@
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+# You need GNU make to run this Makefile.
+#
+# Some issues:
+#
+# o This Makefile is intended to build the distribution tarballs only,
+# not to compile binaries.
+#
+# o Binaries of the CJK utility programs (and the standard tex stuff,
+# including dvipdfmx) must work.
+#
+# o GNU extensions of various utility programs are used.
+#
+# o emacs 22 (or newer) and the `cweave' program from the `c2cweb'
+# package, renamed to `cweavex', are needed.
+#
+# o The TeXLive version of some font definition files are used (in the
+# `texlive' subdirectory).
+
+version=4.8.4
+
+distdir=cjk-$(version)
+abs-distdir=$(shell pwd)/$(distdir)
+
+DISTDIRS=$(shell find . -type d | grep -v .git | grep -v $(distdir))
+
+# expected: subdirs `dvi' and `cjk'
+CJK2DVI=\
+ (cd dvi; \
+ TEXINPUTS=$(abs-distdir)/{texlive,texinput//,contrib/wadalab,utils/pyhyphen}: \
+ TFMFONTS=$(abs-distdir)/utils/thaifont/texmf/fonts/tfm//: \
+ texi2dvi -l latex ../cjk/$@.cjk; \
+ rm -f $@.aux $@.log $@.toc)
+
+# LATEX2DVI srcdir targetdir
+# expected: targetdir/dvi
+LATEX2DVI=\
+ cp $(1)/$@.tex $(2)/dvi; \
+ (cd $(2)/dvi; \
+ TEXINPUTS=$(abs-distdir)/{texlive,texinput//,contrib/wadalab,utils/pyhyphen}: \
+ TFMFONTS=$(abs-distdir)/utils/thaifont/texmf/fonts/tfm//: \
+ texi2dvi -l latex $@.tex; \
+ rm -f $@.tex $@.aux $@.log $@.toc)
+
+# DVI2PDF paper-format
+# expected: subdir `pdf' and `dvi'
+DVI2PDF=\
+ dvipdfmx -v -p $(1) -o pdf/$@.pdf dvi/$@.dvi
+
+
+# CONVERT converter srcdir targetdir [paper-format]
+CONVERT=\
+ cd $(distdir); \
+ $(1) < $(2)/$@.tex > $(3)/cjk/$@.cjk; \
+ cd $(3); \
+ $(CJK2DVI); \
+ $(if $(4),$(call DVI2PDF,$(4)),$(call DVI2PDF,letter))
+
+# MULE srcdir targetdir [paper-format]
+MULE=\
+ cd $(distdir); \
+ emacs --batch \
+ --load utils/lisp/emacs/cjk-enc.el \
+ --funcall batch-cjk-write-file \
+ $(1)/$@.tex; \
+ mv $(1)/$@.cjk $(2)/cjk; \
+ cd $(2); \
+ $(CJK2DVI); \
+ $(if $(3),$(call DVI2PDF,$(3)),$(call DVI2PDF,letter))
+
+# LATEX srcdir targetdir [paper-format]
+LATEX=\
+ cd $(distdir); \
+ $(call LATEX2DVI,$(1),$(2)); \
+ cd $(2); \
+ $(if $(3),$(call DVI2PDF,$(3)),$(call DVI2PDF,letter))
+
+
+DISTTARGETS=\
+ READMEb5 \
+ READMEgb \
+ Big5 \
+ Big5vert \
+ CEF_test \
+ CJKbabel \
+ CJKfntef \
+ CJKutf8 \
+ CJKspace \
+ CJKmixed \
+ GB \
+ JIS \
+ KS \
+ SJIS \
+ UTF8 \
+ muletest \
+ pytest \
+ py_test \
+ rubytest \
+ thai \
+ thai_utf8 \
+ c90
+
+
+all:
+ @echo
+ @echo " Say \`make dist' to build the tarballs."
+ @echo
+
+
+READMEb5:
+ $(call CONVERT,bg5conv,doc/chinese,doc,a4)
+READMEgb:
+ $(call LATEX,doc/chinese,doc)
+Big5 Big5vert:
+ $(call CONVERT,bg5conv,examples,examples)
+CEF_test:
+ $(call CONVERT,cefconv,examples,examples)
+SJIS:
+ $(call CONVERT,sjisconv,examples,examples)
+CJKbabel muletest rubytest thai thai_utf8:
+ $(call MULE,examples,examples)
+GB JIS KS UTF8 py_test CJKfntef CJKutf8 CJKspace CJKmixed:
+ $(call LATEX,examples,examples)
+pytest:
+ $(call LATEX,utils/pyhyphen,examples)
+c90:
+ (cd $(abs-distdir)/utils/thaifont/tools; \
+ ln -s c90.etx c90.tex)
+ $(call LATEX,utils/thaifont/tools,doc)
+
+
+dist: distsrc predistdoc distdoc
+
+distsrc:
+ -rm -rf $(distdir)
+ rm -f $(distdir).tar.gz
+ rm -f $(distdir)-doc.tar.gz
+ mkdir $(distdir)
+ srcdir=`pwd`; \
+ for d in $(DISTDIRS); do \
+ mkdir -p $(distdir)/$$d; \
+ (cd $(distdir)/$$d; \
+ f=`find $$srcdir/$$d -maxdepth 1 -type f`; \
+ test -z "$$f" || ln -s $$f . || true); \
+ done
+ for f in `find $(abs-distdir)/utils -name '*.w'`; do \
+ ctangle $$f - `echo $$f | sed s/w$$/c/`; \
+ done
+ tar -H ustar -chf - $(distdir) | gzip -9 -c > $(distdir).tar.gz
+
+predistdoc:
+ mkdir -p $(distdir)/doc/{cjk,dvi,pdf}
+ mkdir -p $(distdir)/examples/{cjk,dvi,pdf}
+ mkdir -p $(distdir)/doc/man/{dvi,html,pdf,txt}
+ echo "This directory contains files which are \`preprocessed' with" \
+ > $(distdir)/doc/cjk/README
+ echo "cjk-enc.el, bg5conv, etc." \
+ >> $(distdir)/doc/cjk/README
+ echo \
+ >> $(distdir)/doc/cjk/README
+ echo "You can feed them directly into LaTeX." \
+ >> $(distdir)/doc/cjk/README
+
+distdoc: $(DISTTARGETS) manpages cweb
+ for f in `find $(distdir) -type l`; do \
+ rm $$f; \
+ done
+ for f in `find $(distdir) -name '*.c'`; do \
+ rm $$f; \
+ done
+ -for d in `find $(distdir) -depth -type d`; do \
+ rmdir --ignore-fail-on-non-empty $$d; \
+ done
+ tar -H ustar -chf - $(distdir) | gzip -9 -c > $(distdir)-doc.tar.gz
+ rm -rf $(distdir)
+
+manpages:
+ for f in `find utils -type f -name '*.1'`; do \
+ groff -ww -Tdvi -dpaper=letter -P-pletter -mec -man -rS11 $$f > \
+ $(abs-distdir)/doc/man/dvi/`basename $$f .1`.dvi; \
+ groff -ww -Tps -dpaper=letter -P-pletter -man -rS11 $$f | \
+ ps2pdf - $(abs-distdir)/doc/man/pdf/`basename $$f .1`.pdf; \
+ groff -ww -Tlatin1 -man -P-bcu $$f > \
+ $(abs-distdir)/doc/man/txt/`basename $$f .1`.txt; \
+ groff -ww -Thtml -man $$f > \
+ $(abs-distdir)/doc/man/html/`basename $$f .1`.html; \
+ done
+
+cweb:
+ for f in `find utils -type f -name '*.w'`; do \
+ cp $$f $(abs-distdir)/doc/dvi; \
+ (cd $(abs-distdir)/doc/dvi; \
+ F=`basename $$f .w`; \
+ cweavex +a $$F.w; \
+ tex $$F; \
+ rm -rf $$F.idx $$F.log $$F.scn $$F.tex $$F.toc $$F.w; \
+ dvipdfmx -v -p letter -o ../pdf/$$F.pdf $$F); \
+ done
+
+# EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/README b/language/chinese/CJK/cjk-4.8.4/README
new file mode 100644
index 0000000000..cf33f17eb7
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/README
@@ -0,0 +1,36 @@
+Welcome to CJK version 4.8.4 (18-Apr-2015), a LaTeX2e macro package which
+enables the use of CJK scripts (Chinese/Japanese/Korean) in various
+encodings, written by Werner Lemberg <wl@gnu.org>.
+
+A mailing list exists at cjk-list@nongnu.org; to subscribe, send a mail
+with the subject `subscribe' (without the quotes) to
+cjk-list-request@nongnu.org. A web interface can be found at
+
+ https://lists.nongnu.org/mailman/listinfo/cjk-list
+
+If you are interested in the process of development you may observe
+
+ http://git.savannah.gnu.org/gitweb/?p=cjk.git;a=summary
+
+to see the commitments to the git repository of the CJK package, and which
+also provides snapshots.
+
+The home site of the CJK package is
+
+ http://cjk.ffii.org
+
+Additionally, the latest non-development version can be found on all CTAN
+hosts and its mirrors in the directory <CTAN>/language/chinese.
+
+
+The package comes in two parts:
+
+ cjk-4.8.4.tar.gz: The source files. Needed for all platforms.
+ cjk-4.8.4-doc.tar.gz: Preformatted documentation files: DVI, PS,
+ output from cjk-enc.el, etc.
+
+Note that on CTAN and its mirrors, the `src' archive is unpacked; you must
+thus get all files and subdirectories from language/chinese/CJK/.
+
+
+---End of README---
diff --git a/language/chinese/CJK/cjk-4.8.4/TODO b/language/chinese/CJK/cjk-4.8.4/TODO
new file mode 100644
index 0000000000..208aaf855f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/TODO
@@ -0,0 +1,6 @@
+READMEs in Korean.
+
+More support for Omega.
+
+
+---End of TODO---
diff --git a/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/DNP.sfd b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/DNP.sfd
new file mode 100644
index 0000000000..cd27942265
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/DNP.sfd
@@ -0,0 +1,42 @@
+# DNP.sfd
+#
+# subfont numbers for JIS character set in DNP font encoding to be used
+# with the CJK package for LaTeX.
+
+sy 1: 0xA1A1_0xA1FE 101: 0xA2A1_0xA2FE
+roma 33: 0xA3A1_0xA3FE
+hira 1: 0xA4A1_0xA4FE
+kata 1: 0xA5A1_0xA5FE
+greek 1: 0xA6A1_0xA6FE
+russian 1: 0xA7A1_0xA7FE
+keisen 1: 0xA8A1_0xA8FE
+
+ka 0xB0A1_0xB0FE 0xB1A1_0xB1FE 0xB2A1_0xB2E4
+kb 0xB2E5_0xB2FE 0xB3A1_0xB3FE 0xB4A1_0xB4FE 0xB5A1_0xB5CA
+kc 0xB5CB_0xB5FE 0xB6A1_0xB6FE 0xB7A1_0xB7FE 0xB8A1_0xB8B0
+kd 0xB8B1_0xB8FE 0xB9A1_0xB9FE 0xBAA1_0xBAF4
+ke 0xBAF5_0xBAFE 0xBBA1_0xBBFE 0xBCA1_0xBCFE 0xBDA1_0xBDDA
+kf 0xBDDB_0xBDFE 0xBEA1_0xBEFE 0xBFA1_0xBFFE 0xC0A1_0xC0C0
+kg 0xC0C1_0xC0FE 0xC1A1_0xC1FE 0xC2A1_0xC2FE 0xC3A1_0xC3A6
+kh 0xC3A7_0xC3FE 0xC4A1_0xC4FE 0xC5A1_0xC5EA
+ki 0xC5EB_0xC5FE 0xC6A1_0xC6FE 0xC7A1_0xC7FE 0xC8A1_0xC8D0
+kj 0xC8D1_0xC8FE 0xC9A1_0xC9FE 0xCAA1_0xCAFE 0xCBA1_0xCBB6
+kk 0xCBB7_0xCBFE 0xCCA1_0xCCFE 0xCDA1_0xCDFA
+kl 0xCDFB_0xCDFE 0xCEA1_0xCEFE 0xCFA1_0xCFFE
+
+km 0xD0A1_0xD0FE 0xD1A1_0xD1FE 0xD2A1_0xD2E4
+kn 0xD2E5_0xD2FE 0xD3A1_0xD3FE 0xD4A1_0xD4FE 0xD5A1_0xD5CA
+ko 0xD5CB_0xD5FE 0xD6A1_0xD6FE 0xD7A1_0xD7FE 0xD8A1_0xD8B0
+kp 0xD8B1_0xD8FE 0xD9A1_0xD9FE 0xDAA1_0xDAF4
+kq 0xDAF5_0xDAFE 0xDBA1_0xDBFE 0xDCA1_0xDCFE 0xDDA1_0xDDDA
+kr 0xDDDB_0xDDFE 0xDEA1_0xDEFE 0xDFA1_0xDFFE 0xE0A1_0xE0C0
+ks 0xE0C1_0xE0FE 0xE1A1_0xE1FE 0xE2A1_0xE2FE 0xE3A1_0xE3A6
+kt 0xE3A7_0xE3FE 0xE4A1_0xE4FE 0xE5A1_0xE5EA
+ku 0xE5EB_0xE5FE 0xE6A1_0xE6FE 0xE7A1_0xE7FE 0xE8A1_0xE8D0
+kv 0xE8D1_0xE8FE 0xE9A1_0xE9FE 0xEAA1_0xEAFE 0xEBA1_0xEBB6
+kw 0xEBB7_0xEBFE 0xECA1_0xECFE 0xEDA1_0xEDFA
+kx 0xEDFB_0xEDFE 0xEEA1_0xEEFE 0xEFA1_0xEFFE 0xF0A1_0xF0E0
+ky 0xF0E1_0xF0FE 0xF1A1_0xF1FE 0xF2A1_0xF2FE 0xF3A1_0xF3C6
+kz 0xF3C7_0xF3FE 0xF4A1_0xF4FE
+
+# eof
diff --git a/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c42goth.fd b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c42goth.fd
new file mode 100644
index 0000000000..6494af4617
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c42goth.fd
@@ -0,0 +1,22 @@
+% This is the file c42goth.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c42goth.fd}[\filedate\space\fileversion]
+
+% Japanese characters in JIS encoding scheme using Wadalab fonts:
+% wadalab-gothic-0-13
+
+\DeclareFontFamily{C42}{goth}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C42}{goth}{m}{n}
+ { <-> CJK * dgj}{\CJKnormal}
+\DeclareFontShape{C42}{goth}{bx}{n}
+ { <-> CJKb * dgj}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c42goth.fdx b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c42goth.fdx
new file mode 100644
index 0000000000..0e8da25614
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c42goth.fdx
@@ -0,0 +1,66 @@
+% This is the file c42goth.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c42goth.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{rotate}{}
+\CJKvdef{offset}{.5em}
+
+\CJKvdef{m/n/sy/2}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{2}\hss}}
+\CJKvdef{m/n/sy/3}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{3}\hss}}
+\CJKvdef{m/n/sy/4}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{4}\hss}}
+\CJKvdef{m/n/sy/5}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{5}\hss}}
+\CJKvdef{m/n/sy/28}{\CJKsymbolsimple{28}}
+\CJKvdef{m/n/sy/33}{\CJKsymbolsimple{33}}
+\CJKvdef{m/n/sy/36}{\CJKsymbolsimple{36}}
+\CJKvdef{m/n/sy/37}{\CJKsymbolsimple{37}}
+\CJKvdef{m/n/sy/42}{\CJKsymbolsimple{42}}
+\CJKvdef{m/n/sy/43}{\CJKsymbolsimple{43}}
+\CJKvdef{m/n/sy/44}{\CJKsymbolsimple{44}}
+\CJKvdef{m/n/sy/45}{\CJKsymbolsimple{45}}
+\CJKvdef{m/n/sy/46}{\CJKsymbolsimple{46}}
+\CJKvdef{m/n/sy/47}{\CJKsymbolsimple{47}}
+\CJKvdef{m/n/sy/48}{\CJKsymbolsimple{48}}
+\CJKvdef{m/n/sy/49}{\CJKsymbolsimple{49}}
+\CJKvdef{m/n/sy/50}{\CJKsymbolsimple{50}}
+\CJKvdef{m/n/sy/51}{\CJKsymbolsimple{51}}
+\CJKvdef{m/n/sy/52}{\CJKsymbolsimple{52}}
+\CJKvdef{m/n/sy/53}{\CJKsymbolsimple{53}}
+\CJKvdef{m/n/sy/54}{\CJKsymbolsimple{54}}
+\CJKvdef{m/n/sy/55}{\CJKsymbolsimple{55}}
+\CJKvdef{m/n/sy/56}{\CJKsymbolsimple{56}}
+\CJKvdef{m/n/sy/57}{\CJKsymbolsimple{57}}
+
+\CJKvlet{bx/n/sy/2}{m/n/sy/2}
+\CJKvlet{bx/n/sy/3}{m/n/sy/3}
+\CJKvlet{bx/n/sy/4}{m/n/sy/4}
+\CJKvlet{bx/n/sy/5}{m/n/sy/5}
+\CJKvlet{bx/n/sy/28}{m/n/sy/28}
+\CJKvlet{bx/n/sy/33}{m/n/sy/33}
+\CJKvlet{bx/n/sy/36}{m/n/sy/36}
+\CJKvlet{bx/n/sy/37}{m/n/sy/37}
+\CJKvlet{bx/n/sy/42}{m/n/sy/42}
+\CJKvlet{bx/n/sy/43}{m/n/sy/43}
+\CJKvlet{bx/n/sy/44}{m/n/sy/44}
+\CJKvlet{bx/n/sy/45}{m/n/sy/45}
+\CJKvlet{bx/n/sy/46}{m/n/sy/46}
+\CJKvlet{bx/n/sy/47}{m/n/sy/47}
+\CJKvlet{bx/n/sy/48}{m/n/sy/48}
+\CJKvlet{bx/n/sy/49}{m/n/sy/49}
+\CJKvlet{bx/n/sy/50}{m/n/sy/50}
+\CJKvlet{bx/n/sy/51}{m/n/sy/51}
+\CJKvlet{bx/n/sy/52}{m/n/sy/52}
+\CJKvlet{bx/n/sy/53}{m/n/sy/53}
+\CJKvlet{bx/n/sy/54}{m/n/sy/54}
+\CJKvlet{bx/n/sy/55}{m/n/sy/55}
+\CJKvlet{bx/n/sy/56}{m/n/sy/56}
+\CJKvlet{bx/n/sy/57}{m/n/sy/57}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c42maru.fd b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c42maru.fd
new file mode 100644
index 0000000000..941ca20a1a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c42maru.fd
@@ -0,0 +1,23 @@
+% This is the file c42maru.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c42maru.fd}[\filedate\space\fileversion]
+
+
+% Japanese characters in JIS encoding scheme using Wadalab fonts:
+% wadalab-maru-0-8
+
+\DeclareFontFamily{C42}{maru}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C42}{maru}{m}{n}
+ { <-> CJK * mrj}{\CJKnormal}
+\DeclareFontShape{C42}{maru}{bx}{n}
+ { <-> CJKb * mrj}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c42maru.fdx b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c42maru.fdx
new file mode 100644
index 0000000000..c8998d2e67
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c42maru.fdx
@@ -0,0 +1,66 @@
+% This is the file c42maru.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c42maru.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{rotate}{}
+\CJKvdef{offset}{.5em}
+
+\CJKvdef{m/n/sy/2}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{2}\hss}}
+\CJKvdef{m/n/sy/3}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{3}\hss}}
+\CJKvdef{m/n/sy/4}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{4}\hss}}
+\CJKvdef{m/n/sy/5}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{5}\hss}}
+\CJKvdef{m/n/sy/28}{\CJKsymbolsimple{28}}
+\CJKvdef{m/n/sy/33}{\CJKsymbolsimple{33}}
+\CJKvdef{m/n/sy/36}{\CJKsymbolsimple{36}}
+\CJKvdef{m/n/sy/37}{\CJKsymbolsimple{37}}
+\CJKvdef{m/n/sy/42}{\CJKsymbolsimple{42}}
+\CJKvdef{m/n/sy/43}{\CJKsymbolsimple{43}}
+\CJKvdef{m/n/sy/44}{\CJKsymbolsimple{44}}
+\CJKvdef{m/n/sy/45}{\CJKsymbolsimple{45}}
+\CJKvdef{m/n/sy/46}{\CJKsymbolsimple{46}}
+\CJKvdef{m/n/sy/47}{\CJKsymbolsimple{47}}
+\CJKvdef{m/n/sy/48}{\CJKsymbolsimple{48}}
+\CJKvdef{m/n/sy/49}{\CJKsymbolsimple{49}}
+\CJKvdef{m/n/sy/50}{\CJKsymbolsimple{50}}
+\CJKvdef{m/n/sy/51}{\CJKsymbolsimple{51}}
+\CJKvdef{m/n/sy/52}{\CJKsymbolsimple{52}}
+\CJKvdef{m/n/sy/53}{\CJKsymbolsimple{53}}
+\CJKvdef{m/n/sy/54}{\CJKsymbolsimple{54}}
+\CJKvdef{m/n/sy/55}{\CJKsymbolsimple{55}}
+\CJKvdef{m/n/sy/56}{\CJKsymbolsimple{56}}
+\CJKvdef{m/n/sy/57}{\CJKsymbolsimple{57}}
+
+\CJKvlet{bx/n/sy/2}{m/n/sy/2}
+\CJKvlet{bx/n/sy/3}{m/n/sy/3}
+\CJKvlet{bx/n/sy/4}{m/n/sy/4}
+\CJKvlet{bx/n/sy/5}{m/n/sy/5}
+\CJKvlet{bx/n/sy/28}{m/n/sy/28}
+\CJKvlet{bx/n/sy/33}{m/n/sy/33}
+\CJKvlet{bx/n/sy/36}{m/n/sy/36}
+\CJKvlet{bx/n/sy/37}{m/n/sy/37}
+\CJKvlet{bx/n/sy/42}{m/n/sy/42}
+\CJKvlet{bx/n/sy/43}{m/n/sy/43}
+\CJKvlet{bx/n/sy/44}{m/n/sy/44}
+\CJKvlet{bx/n/sy/45}{m/n/sy/45}
+\CJKvlet{bx/n/sy/46}{m/n/sy/46}
+\CJKvlet{bx/n/sy/47}{m/n/sy/47}
+\CJKvlet{bx/n/sy/48}{m/n/sy/48}
+\CJKvlet{bx/n/sy/49}{m/n/sy/49}
+\CJKvlet{bx/n/sy/50}{m/n/sy/50}
+\CJKvlet{bx/n/sy/51}{m/n/sy/51}
+\CJKvlet{bx/n/sy/52}{m/n/sy/52}
+\CJKvlet{bx/n/sy/53}{m/n/sy/53}
+\CJKvlet{bx/n/sy/54}{m/n/sy/54}
+\CJKvlet{bx/n/sy/55}{m/n/sy/55}
+\CJKvlet{bx/n/sy/56}{m/n/sy/56}
+\CJKvlet{bx/n/sy/57}{m/n/sy/57}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c42min.fd b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c42min.fd
new file mode 100644
index 0000000000..ddff436436
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c42min.fd
@@ -0,0 +1,26 @@
+% This is the file c42min.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c42min.fd}[\filedate\space\fileversion]
+
+
+% Japanese characters in JIS encoding scheme using Wadalab fonts:
+% wadalab-mincho-0-8 (`light' series)
+% wadalab-mincho-0-12 (`normal' series)
+
+\DeclareFontFamily{C42}{min}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C42}{min}{l}{n}
+ { <-> CJK * mcj}{}
+\DeclareFontShape{C42}{min}{m}{n}
+ { <-> CJK * dmj}{\CJKnormal}
+\DeclareFontShape{C42}{min}{bx}{n}
+ { <-> CJKb * dmj}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c42min.fdx b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c42min.fdx
new file mode 100644
index 0000000000..ba334c6317
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c42min.fdx
@@ -0,0 +1,91 @@
+% This is the file c42min.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c42min.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{rotate}{}
+\CJKvdef{offset}{.5em}
+
+\CJKvdef{m/n/sy/2}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{2}\hss}}
+\CJKvdef{m/n/sy/3}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{3}\hss}}
+\CJKvdef{m/n/sy/4}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{4}\hss}}
+\CJKvdef{m/n/sy/5}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{5}\hss}}
+\CJKvdef{m/n/sy/28}{\CJKsymbolsimple{28}}
+\CJKvdef{m/n/sy/33}{\CJKsymbolsimple{33}}
+\CJKvdef{m/n/sy/36}{\CJKsymbolsimple{36}}
+\CJKvdef{m/n/sy/37}{\CJKsymbolsimple{37}}
+\CJKvdef{m/n/sy/42}{\CJKsymbolsimple{42}}
+\CJKvdef{m/n/sy/43}{\CJKsymbolsimple{43}}
+\CJKvdef{m/n/sy/44}{\CJKsymbolsimple{44}}
+\CJKvdef{m/n/sy/45}{\CJKsymbolsimple{45}}
+\CJKvdef{m/n/sy/46}{\CJKsymbolsimple{46}}
+\CJKvdef{m/n/sy/47}{\CJKsymbolsimple{47}}
+\CJKvdef{m/n/sy/48}{\CJKsymbolsimple{48}}
+\CJKvdef{m/n/sy/49}{\CJKsymbolsimple{49}}
+\CJKvdef{m/n/sy/50}{\CJKsymbolsimple{50}}
+\CJKvdef{m/n/sy/51}{\CJKsymbolsimple{51}}
+\CJKvdef{m/n/sy/52}{\CJKsymbolsimple{52}}
+\CJKvdef{m/n/sy/53}{\CJKsymbolsimple{53}}
+\CJKvdef{m/n/sy/54}{\CJKsymbolsimple{54}}
+\CJKvdef{m/n/sy/55}{\CJKsymbolsimple{55}}
+\CJKvdef{m/n/sy/56}{\CJKsymbolsimple{56}}
+\CJKvdef{m/n/sy/57}{\CJKsymbolsimple{57}}
+
+\CJKvlet{bx/n/sy/2}{m/n/sy/2}
+\CJKvlet{bx/n/sy/3}{m/n/sy/3}
+\CJKvlet{bx/n/sy/4}{m/n/sy/4}
+\CJKvlet{bx/n/sy/5}{m/n/sy/5}
+\CJKvlet{bx/n/sy/28}{m/n/sy/28}
+\CJKvlet{bx/n/sy/33}{m/n/sy/33}
+\CJKvlet{bx/n/sy/36}{m/n/sy/36}
+\CJKvlet{bx/n/sy/37}{m/n/sy/37}
+\CJKvlet{bx/n/sy/42}{m/n/sy/42}
+\CJKvlet{bx/n/sy/43}{m/n/sy/43}
+\CJKvlet{bx/n/sy/44}{m/n/sy/44}
+\CJKvlet{bx/n/sy/45}{m/n/sy/45}
+\CJKvlet{bx/n/sy/46}{m/n/sy/46}
+\CJKvlet{bx/n/sy/47}{m/n/sy/47}
+\CJKvlet{bx/n/sy/48}{m/n/sy/48}
+\CJKvlet{bx/n/sy/49}{m/n/sy/49}
+\CJKvlet{bx/n/sy/50}{m/n/sy/50}
+\CJKvlet{bx/n/sy/51}{m/n/sy/51}
+\CJKvlet{bx/n/sy/52}{m/n/sy/52}
+\CJKvlet{bx/n/sy/53}{m/n/sy/53}
+\CJKvlet{bx/n/sy/54}{m/n/sy/54}
+\CJKvlet{bx/n/sy/55}{m/n/sy/55}
+\CJKvlet{bx/n/sy/56}{m/n/sy/56}
+\CJKvlet{bx/n/sy/57}{m/n/sy/57}
+
+\CJKvlet{l/n/sy/2}{m/n/sy/2}
+\CJKvlet{l/n/sy/3}{m/n/sy/3}
+\CJKvlet{l/n/sy/4}{m/n/sy/4}
+\CJKvlet{l/n/sy/5}{m/n/sy/5}
+\CJKvlet{l/n/sy/28}{m/n/sy/28}
+\CJKvlet{l/n/sy/33}{m/n/sy/33}
+\CJKvlet{l/n/sy/36}{m/n/sy/36}
+\CJKvlet{l/n/sy/37}{m/n/sy/37}
+\CJKvlet{l/n/sy/42}{m/n/sy/42}
+\CJKvlet{l/n/sy/43}{m/n/sy/43}
+\CJKvlet{l/n/sy/44}{m/n/sy/44}
+\CJKvlet{l/n/sy/45}{m/n/sy/45}
+\CJKvlet{l/n/sy/46}{m/n/sy/46}
+\CJKvlet{l/n/sy/47}{m/n/sy/47}
+\CJKvlet{l/n/sy/48}{m/n/sy/48}
+\CJKvlet{l/n/sy/49}{m/n/sy/49}
+\CJKvlet{l/n/sy/50}{m/n/sy/50}
+\CJKvlet{l/n/sy/51}{m/n/sy/51}
+\CJKvlet{l/n/sy/52}{m/n/sy/52}
+\CJKvlet{l/n/sy/53}{m/n/sy/53}
+\CJKvlet{l/n/sy/54}{m/n/sy/54}
+\CJKvlet{l/n/sy/55}{m/n/sy/55}
+\CJKvlet{l/n/sy/56}{m/n/sy/56}
+\CJKvlet{l/n/sy/57}{m/n/sy/57}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c52maru.fd b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c52maru.fd
new file mode 100644
index 0000000000..75bda2cc31
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c52maru.fd
@@ -0,0 +1,23 @@
+% This is the file c52maru.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c52maru.fd}[\filedate\space\fileversion]
+
+
+% Japanese characters in JIS2 encoding scheme using Wadalab fonts:
+% wadalab-maru-1-8
+
+\DeclareFontFamily{C52}{maru}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C52}{maru}{m}{n}
+ { <-> CJK * mr2j}{\CJKnormal}
+\DeclareFontShape{C52}{maru}{bx}{n}
+ { <-> CJKb * mr2j}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c52maru.fdx b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c52maru.fdx
new file mode 100644
index 0000000000..3f80581f22
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c52maru.fdx
@@ -0,0 +1,16 @@
+% This is the file c52maru.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c52maru.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{rotate}{}
+\CJKvdef{offset}{.5em}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c52min.fd b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c52min.fd
new file mode 100644
index 0000000000..27a7472ac4
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c52min.fd
@@ -0,0 +1,23 @@
+% This is the file c52min.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c52min.fd}[\filedate\space\fileversion]
+
+
+% Japanese characters in JIS2 encoding scheme using Wadalab fonts:
+% wadalab-mincho-1-8
+
+\DeclareFontFamily{C52}{min}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C52}{min}{m}{n}
+ { <-> CJK * mc2j}{\CJKnormal}
+\DeclareFontShape{C52}{min}{bx}{n}
+ { <-> CJKb * mc2j}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c52min.fdx b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c52min.fdx
new file mode 100644
index 0000000000..815a20758f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c52min.fdx
@@ -0,0 +1,16 @@
+% This is the file c52min.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c52min.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{rotate}{}
+\CJKvdef{offset}{.5em}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c70goth.fd b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c70goth.fd
new file mode 100644
index 0000000000..be87fd67ea
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c70goth.fd
@@ -0,0 +1,25 @@
+% This is the file c70goth.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c70goth.fd}[\filedate\space\fileversion]
+
+
+% character set: Unicode U+0080 - U+FFFD
+% font encoding: Unicode
+%
+% udgj is Wadalab gothic-0-13.
+
+\DeclareFontFamily{C70}{goth}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C70}{goth}{m}{n}
+ { <-> CJK * udgj}{\CJKnormal}
+\DeclareFontShape{C70}{goth}{bx}{n}
+ { <-> CJKb * udgj}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c70goth.fdx b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c70goth.fdx
new file mode 100644
index 0000000000..f94d737010
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c70goth.fdx
@@ -0,0 +1,137 @@
+% This is the file c70goth.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Gernot Hassenpflug <gernot@nict.go.jp>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c70goth.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{rotate}{}
+\CJKvdef{offset}{.5em}
+
+\CJKvdef{m/n/00/163}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{163}\hss}}
+\CJKvdef{m/n/00/167}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{167}\hss}}
+
+\CJKvdef{m/n/20/24}{\CJKsymbolsimple{24}}
+\CJKvdef{m/n/20/25}{\CJKsymbolsimple{25}}
+\CJKvdef{m/n/20/28}{\CJKsymbolsimple{28}}
+\CJKvdef{m/n/20/29}{\CJKsymbolsimple{29}}
+\CJKvdef{m/n/20/37}{\CJKsymbolsimple{37}}
+\CJKvdef{m/n/20/38}{\CJKsymbolsimple{38}}
+
+\CJKvdef{m/n/30/1}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{1}\hss}}
+\CJKvdef{m/n/30/2}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{2}\hss}}
+\CJKvdef{m/n/30/8}{\CJKsymbolsimple{8}}
+\CJKvdef{m/n/30/9}{\CJKsymbolsimple{9}}
+\CJKvdef{m/n/30/10}{\CJKsymbolsimple{10}}
+\CJKvdef{m/n/30/11}{\CJKsymbolsimple{11}}
+\CJKvdef{m/n/30/12}{\CJKsymbolsimple{12}}
+\CJKvdef{m/n/30/13}{\CJKsymbolsimple{13}}
+\CJKvdef{m/n/30/14}{\CJKsymbolsimple{14}}
+\CJKvdef{m/n/30/15}{\CJKsymbolsimple{15}}
+\CJKvdef{m/n/30/16}{\CJKsymbolsimple{16}}
+\CJKvdef{m/n/30/17}{\CJKsymbolsimple{17}}
+\CJKvdef{m/n/30/20}{\CJKsymbolsimple{20}}
+\CJKvdef{m/n/30/21}{\CJKsymbolsimple{21}}
+\CJKvdef{m/n/30/28}{\CJKsymbolsimple{28}}
+\CJKvdef{m/n/30/252}{\CJKsymbolsimple{252}}
+
+\CJKvdef{m/n/ff/8}{\CJKsymbolsimple{8}}
+\CJKvdef{m/n/ff/9}{\CJKsymbolsimple{9}}
+\CJKvdef{m/n/ff/12}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{12}\hss}}
+\CJKvdef{m/n/ff/14}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{14}\hss}}
+\CJKvdef{m/n/ff/59}{\CJKsymbolsimple{59}}
+\CJKvdef{m/n/ff/61}{\CJKsymbolsimple{61}}
+\CJKvdef{m/n/ff/91}{\CJKsymbolsimple{91}}
+\CJKvdef{m/n/ff/93}{\CJKsymbolsimple{93}}
+
+% Reposition small kana letters for vertical typesetting.
+
+\CJKvdef{m/n/30/65}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{65}\hss}}
+\CJKvdef{m/n/30/67}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{67}\hss}}
+\CJKvdef{m/n/30/69}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{69}\hss}}
+\CJKvdef{m/n/30/71}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{71}\hss}}
+\CJKvdef{m/n/30/73}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{73}\hss}}
+\CJKvdef{m/n/30/99}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{99}\hss}}
+\CJKvdef{m/n/30/131}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{131}\hss}}
+\CJKvdef{m/n/30/133}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{133}\hss}}
+\CJKvdef{m/n/30/135}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{135}\hss}}
+\CJKvdef{m/n/30/142}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{142}\hss}}
+
+\CJKvdef{m/n/30/161}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{161}\hss}}
+\CJKvdef{m/n/30/163}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{163}\hss}}
+\CJKvdef{m/n/30/165}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{165}\hss}}
+\CJKvdef{m/n/30/167}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{167}\hss}}
+\CJKvdef{m/n/30/169}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{169}\hss}}
+\CJKvdef{m/n/30/195}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{195}\hss}}
+\CJKvdef{m/n/30/227}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{227}\hss}}
+\CJKvdef{m/n/30/229}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{229}\hss}}
+\CJKvdef{m/n/30/231}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{231}\hss}}
+\CJKvdef{m/n/30/238}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{238}\hss}}
+\CJKvdef{m/n/30/245}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{245}\hss}}
+\CJKvdef{m/n/30/246}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{246}\hss}}
+
+
+\CJKvlet{bx/n/00/163}{m/n/00/163}
+\CJKvlet{bx/n/00/167}{m/n/00/167}
+
+\CJKvlet{bx/n/20/24}{m/n/20/24}
+\CJKvlet{bx/n/20/25}{m/n/20/25}
+\CJKvlet{bx/n/20/28}{m/n/20/28}
+\CJKvlet{bx/n/20/29}{m/n/20/29}
+\CJKvlet{bx/n/20/37}{m/n/20/37}
+\CJKvlet{bx/n/20/38}{m/n/20/38}
+
+\CJKvlet{bx/n/30/1}{m/n/30/1}
+\CJKvlet{bx/n/30/2}{m/n/30/2}
+\CJKvlet{bx/n/30/8}{m/n/30/8}
+\CJKvlet{bx/n/30/9}{m/n/30/9}
+\CJKvlet{bx/n/30/10}{m/n/30/10}
+\CJKvlet{bx/n/30/11}{m/n/30/11}
+\CJKvlet{bx/n/30/12}{m/n/30/12}
+\CJKvlet{bx/n/30/13}{m/n/30/13}
+\CJKvlet{bx/n/30/14}{m/n/30/14}
+\CJKvlet{bx/n/30/15}{m/n/30/15}
+\CJKvlet{bx/n/30/16}{m/n/30/16}
+\CJKvlet{bx/n/30/17}{m/n/30/17}
+\CJKvlet{bx/n/30/20}{m/n/30/20}
+\CJKvlet{bx/n/30/21}{m/n/30/21}
+\CJKvlet{bx/n/30/28}{m/n/30/28}
+\CJKvlet{bx/n/30/65}{m/n/30/65}
+\CJKvlet{bx/n/30/67}{m/n/30/67}
+\CJKvlet{bx/n/30/69}{m/n/30/69}
+\CJKvlet{bx/n/30/71}{m/n/30/71}
+\CJKvlet{bx/n/30/73}{m/n/30/73}
+\CJKvlet{bx/n/30/99}{m/n/30/99}
+\CJKvlet{bx/n/30/131}{m/n/30/131}
+\CJKvlet{bx/n/30/133}{m/n/30/133}
+\CJKvlet{bx/n/30/135}{m/n/30/135}
+\CJKvlet{bx/n/30/142}{m/n/30/142}
+\CJKvlet{bx/n/30/161}{m/n/30/161}
+\CJKvlet{bx/n/30/163}{m/n/30/163}
+\CJKvlet{bx/n/30/165}{m/n/30/165}
+\CJKvlet{bx/n/30/167}{m/n/30/167}
+\CJKvlet{bx/n/30/169}{m/n/30/169}
+\CJKvlet{bx/n/30/195}{m/n/30/195}
+\CJKvlet{bx/n/30/227}{m/n/30/227}
+\CJKvlet{bx/n/30/229}{m/n/30/229}
+\CJKvlet{bx/n/30/231}{m/n/30/231}
+\CJKvlet{bx/n/30/238}{m/n/30/238}
+\CJKvlet{bx/n/30/245}{m/n/30/245}
+\CJKvlet{bx/n/30/246}{m/n/30/246}
+\CJKvlet{bx/n/30/252}{m/n/30/252}
+
+\CJKvlet{bx/n/ff/8}{m/n/ff/8}
+\CJKvlet{bx/n/ff/9}{m/n/ff/9}
+\CJKvlet{bx/n/ff/12}{m/n/ff/12}
+\CJKvlet{bx/n/ff/14}{m/n/ff/14}
+\CJKvlet{bx/n/ff/59}{m/n/ff/59}
+\CJKvlet{bx/n/ff/61}{m/n/ff/61}
+\CJKvlet{bx/n/ff/91}{m/n/ff/91}
+\CJKvlet{bx/n/ff/93}{m/n/ff/93}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c70maru.fd b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c70maru.fd
new file mode 100644
index 0000000000..b1ce584eed
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c70maru.fd
@@ -0,0 +1,25 @@
+% This is the file c70maru.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c70maru.fd}[\filedate\space\fileversion]
+
+
+% character set: Unicode U+0080 - U+FFFD
+% font encoding: Unicode
+%
+% umrj is Wadalab maru-0-8 combined with maru-1-8.
+
+\DeclareFontFamily{C70}{maru}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C70}{maru}{m}{n}
+ { <-> CJK * umrj}{\CJKnormal}
+\DeclareFontShape{C70}{maru}{bx}{n}
+ { <-> CJKb * umrj}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c70maru.fdx b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c70maru.fdx
new file mode 100644
index 0000000000..aa613e9ea4
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c70maru.fdx
@@ -0,0 +1,137 @@
+% This is the file c70maru.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Gernot Hassenpflug <gernot@nict.go.jp>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c70maru.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{rotate}{}
+\CJKvdef{offset}{.5em}
+
+\CJKvdef{m/n/00/163}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{163}\hss}}
+\CJKvdef{m/n/00/167}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{167}\hss}}
+
+\CJKvdef{m/n/20/24}{\CJKsymbolsimple{24}}
+\CJKvdef{m/n/20/25}{\CJKsymbolsimple{25}}
+\CJKvdef{m/n/20/28}{\CJKsymbolsimple{28}}
+\CJKvdef{m/n/20/29}{\CJKsymbolsimple{29}}
+\CJKvdef{m/n/20/37}{\CJKsymbolsimple{37}}
+\CJKvdef{m/n/20/38}{\CJKsymbolsimple{38}}
+
+\CJKvdef{m/n/30/1}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{1}\hss}}
+\CJKvdef{m/n/30/2}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{2}\hss}}
+\CJKvdef{m/n/30/8}{\CJKsymbolsimple{8}}
+\CJKvdef{m/n/30/9}{\CJKsymbolsimple{9}}
+\CJKvdef{m/n/30/10}{\CJKsymbolsimple{10}}
+\CJKvdef{m/n/30/11}{\CJKsymbolsimple{11}}
+\CJKvdef{m/n/30/12}{\CJKsymbolsimple{12}}
+\CJKvdef{m/n/30/13}{\CJKsymbolsimple{13}}
+\CJKvdef{m/n/30/14}{\CJKsymbolsimple{14}}
+\CJKvdef{m/n/30/15}{\CJKsymbolsimple{15}}
+\CJKvdef{m/n/30/16}{\CJKsymbolsimple{16}}
+\CJKvdef{m/n/30/17}{\CJKsymbolsimple{17}}
+\CJKvdef{m/n/30/20}{\CJKsymbolsimple{20}}
+\CJKvdef{m/n/30/21}{\CJKsymbolsimple{21}}
+\CJKvdef{m/n/30/28}{\CJKsymbolsimple{28}}
+\CJKvdef{m/n/30/252}{\CJKsymbolsimple{252}}
+
+\CJKvdef{m/n/ff/8}{\CJKsymbolsimple{8}}
+\CJKvdef{m/n/ff/9}{\CJKsymbolsimple{9}}
+\CJKvdef{m/n/ff/12}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{12}\hss}}
+\CJKvdef{m/n/ff/14}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{14}\hss}}
+\CJKvdef{m/n/ff/59}{\CJKsymbolsimple{59}}
+\CJKvdef{m/n/ff/61}{\CJKsymbolsimple{61}}
+\CJKvdef{m/n/ff/91}{\CJKsymbolsimple{91}}
+\CJKvdef{m/n/ff/93}{\CJKsymbolsimple{93}}
+
+% Reposition small kana letters for vertical typesetting.
+
+\CJKvdef{m/n/30/65}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{65}\hss}}
+\CJKvdef{m/n/30/67}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{67}\hss}}
+\CJKvdef{m/n/30/69}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{69}\hss}}
+\CJKvdef{m/n/30/71}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{71}\hss}}
+\CJKvdef{m/n/30/73}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{73}\hss}}
+\CJKvdef{m/n/30/99}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{99}\hss}}
+\CJKvdef{m/n/30/131}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{131}\hss}}
+\CJKvdef{m/n/30/133}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{133}\hss}}
+\CJKvdef{m/n/30/135}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{135}\hss}}
+\CJKvdef{m/n/30/142}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{142}\hss}}
+
+\CJKvdef{m/n/30/161}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{161}\hss}}
+\CJKvdef{m/n/30/163}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{163}\hss}}
+\CJKvdef{m/n/30/165}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{165}\hss}}
+\CJKvdef{m/n/30/167}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{167}\hss}}
+\CJKvdef{m/n/30/169}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{169}\hss}}
+\CJKvdef{m/n/30/195}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{195}\hss}}
+\CJKvdef{m/n/30/227}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{227}\hss}}
+\CJKvdef{m/n/30/229}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{229}\hss}}
+\CJKvdef{m/n/30/231}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{231}\hss}}
+\CJKvdef{m/n/30/238}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{238}\hss}}
+\CJKvdef{m/n/30/245}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{245}\hss}}
+\CJKvdef{m/n/30/246}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{246}\hss}}
+
+
+\CJKvlet{bx/n/00/163}{m/n/00/163}
+\CJKvlet{bx/n/00/167}{m/n/00/167}
+
+\CJKvlet{bx/n/20/24}{m/n/20/24}
+\CJKvlet{bx/n/20/25}{m/n/20/25}
+\CJKvlet{bx/n/20/28}{m/n/20/28}
+\CJKvlet{bx/n/20/29}{m/n/20/29}
+\CJKvlet{bx/n/20/37}{m/n/20/37}
+\CJKvlet{bx/n/20/38}{m/n/20/38}
+
+\CJKvlet{bx/n/30/1}{m/n/30/1}
+\CJKvlet{bx/n/30/2}{m/n/30/2}
+\CJKvlet{bx/n/30/8}{m/n/30/8}
+\CJKvlet{bx/n/30/9}{m/n/30/9}
+\CJKvlet{bx/n/30/10}{m/n/30/10}
+\CJKvlet{bx/n/30/11}{m/n/30/11}
+\CJKvlet{bx/n/30/12}{m/n/30/12}
+\CJKvlet{bx/n/30/13}{m/n/30/13}
+\CJKvlet{bx/n/30/14}{m/n/30/14}
+\CJKvlet{bx/n/30/15}{m/n/30/15}
+\CJKvlet{bx/n/30/16}{m/n/30/16}
+\CJKvlet{bx/n/30/17}{m/n/30/17}
+\CJKvlet{bx/n/30/20}{m/n/30/20}
+\CJKvlet{bx/n/30/21}{m/n/30/21}
+\CJKvlet{bx/n/30/28}{m/n/30/28}
+\CJKvlet{bx/n/30/65}{m/n/30/65}
+\CJKvlet{bx/n/30/67}{m/n/30/67}
+\CJKvlet{bx/n/30/69}{m/n/30/69}
+\CJKvlet{bx/n/30/71}{m/n/30/71}
+\CJKvlet{bx/n/30/73}{m/n/30/73}
+\CJKvlet{bx/n/30/99}{m/n/30/99}
+\CJKvlet{bx/n/30/131}{m/n/30/131}
+\CJKvlet{bx/n/30/133}{m/n/30/133}
+\CJKvlet{bx/n/30/135}{m/n/30/135}
+\CJKvlet{bx/n/30/142}{m/n/30/142}
+\CJKvlet{bx/n/30/161}{m/n/30/161}
+\CJKvlet{bx/n/30/163}{m/n/30/163}
+\CJKvlet{bx/n/30/165}{m/n/30/165}
+\CJKvlet{bx/n/30/167}{m/n/30/167}
+\CJKvlet{bx/n/30/169}{m/n/30/169}
+\CJKvlet{bx/n/30/195}{m/n/30/195}
+\CJKvlet{bx/n/30/227}{m/n/30/227}
+\CJKvlet{bx/n/30/229}{m/n/30/229}
+\CJKvlet{bx/n/30/231}{m/n/30/231}
+\CJKvlet{bx/n/30/238}{m/n/30/238}
+\CJKvlet{bx/n/30/245}{m/n/30/245}
+\CJKvlet{bx/n/30/246}{m/n/30/246}
+\CJKvlet{bx/n/30/252}{m/n/30/252}
+
+\CJKvlet{bx/n/ff/8}{m/n/ff/8}
+\CJKvlet{bx/n/ff/9}{m/n/ff/9}
+\CJKvlet{bx/n/ff/12}{m/n/ff/12}
+\CJKvlet{bx/n/ff/14}{m/n/ff/14}
+\CJKvlet{bx/n/ff/59}{m/n/ff/59}
+\CJKvlet{bx/n/ff/61}{m/n/ff/61}
+\CJKvlet{bx/n/ff/91}{m/n/ff/91}
+\CJKvlet{bx/n/ff/93}{m/n/ff/93}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c70min.fd b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c70min.fd
new file mode 100644
index 0000000000..b8f47feb70
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c70min.fd
@@ -0,0 +1,28 @@
+% This is the file c70min.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c70min.fd}[\filedate\space\fileversion]
+
+
+% character set: Unicode U+0080 - U+FFFD
+% font encoding: Unicode
+%
+% udmj is Wadalab mincho-0-12 combined with mincho-1-8.
+% umcj is Wadalab mincho-0-8 combined with mincho-1-8.
+
+\DeclareFontFamily{C70}{min}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C70}{min}{l}{n}
+ { <-> CJK * umcj}{}
+\DeclareFontShape{C70}{min}{m}{n}
+ { <-> CJK * udmj}{\CJKnormal}
+\DeclareFontShape{C70}{min}{bx}{n}
+ { <-> CJKb * udmj}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c70min.fdx b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c70min.fdx
new file mode 100644
index 0000000000..9ddb6650dd
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/c70min.fdx
@@ -0,0 +1,203 @@
+% This is the file c70min.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Gernot Hassenpflug <gernot@nict.go.jp>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c70min.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{rotate}{}
+\CJKvdef{offset}{.5em}
+
+\CJKvdef{m/n/00/163}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{163}\hss}}
+\CJKvdef{m/n/00/167}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{167}\hss}}
+
+\CJKvdef{m/n/20/24}{\CJKsymbolsimple{24}}
+\CJKvdef{m/n/20/25}{\CJKsymbolsimple{25}}
+\CJKvdef{m/n/20/28}{\CJKsymbolsimple{28}}
+\CJKvdef{m/n/20/29}{\CJKsymbolsimple{29}}
+\CJKvdef{m/n/20/37}{\CJKsymbolsimple{37}}
+\CJKvdef{m/n/20/38}{\CJKsymbolsimple{38}}
+
+\CJKvdef{m/n/30/1}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{1}\hss}}
+\CJKvdef{m/n/30/2}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{2}\hss}}
+\CJKvdef{m/n/30/8}{\CJKsymbolsimple{8}}
+\CJKvdef{m/n/30/9}{\CJKsymbolsimple{9}}
+\CJKvdef{m/n/30/10}{\CJKsymbolsimple{10}}
+\CJKvdef{m/n/30/11}{\CJKsymbolsimple{11}}
+\CJKvdef{m/n/30/12}{\CJKsymbolsimple{12}}
+\CJKvdef{m/n/30/13}{\CJKsymbolsimple{13}}
+\CJKvdef{m/n/30/14}{\CJKsymbolsimple{14}}
+\CJKvdef{m/n/30/15}{\CJKsymbolsimple{15}}
+\CJKvdef{m/n/30/16}{\CJKsymbolsimple{16}}
+\CJKvdef{m/n/30/17}{\CJKsymbolsimple{17}}
+\CJKvdef{m/n/30/20}{\CJKsymbolsimple{20}}
+\CJKvdef{m/n/30/21}{\CJKsymbolsimple{21}}
+\CJKvdef{m/n/30/28}{\CJKsymbolsimple{28}}
+\CJKvdef{m/n/30/252}{\CJKsymbolsimple{252}}
+
+\CJKvdef{m/n/ff/8}{\CJKsymbolsimple{8}}
+\CJKvdef{m/n/ff/9}{\CJKsymbolsimple{9}}
+\CJKvdef{m/n/ff/12}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{12}\hss}}
+\CJKvdef{m/n/ff/14}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{14}\hss}}
+\CJKvdef{m/n/ff/59}{\CJKsymbolsimple{59}}
+\CJKvdef{m/n/ff/61}{\CJKsymbolsimple{61}}
+\CJKvdef{m/n/ff/91}{\CJKsymbolsimple{91}}
+\CJKvdef{m/n/ff/93}{\CJKsymbolsimple{93}}
+
+% Reposition small kana letters for vertical typesetting.
+
+\CJKvdef{m/n/30/65}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{65}\hss}}
+\CJKvdef{m/n/30/67}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{67}\hss}}
+\CJKvdef{m/n/30/69}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{69}\hss}}
+\CJKvdef{m/n/30/71}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{71}\hss}}
+\CJKvdef{m/n/30/73}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{73}\hss}}
+\CJKvdef{m/n/30/99}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{99}\hss}}
+\CJKvdef{m/n/30/131}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{131}\hss}}
+\CJKvdef{m/n/30/133}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{133}\hss}}
+\CJKvdef{m/n/30/135}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{135}\hss}}
+\CJKvdef{m/n/30/142}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{142}\hss}}
+
+\CJKvdef{m/n/30/161}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{161}\hss}}
+\CJKvdef{m/n/30/163}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{163}\hss}}
+\CJKvdef{m/n/30/165}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{165}\hss}}
+\CJKvdef{m/n/30/167}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{167}\hss}}
+\CJKvdef{m/n/30/169}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{169}\hss}}
+\CJKvdef{m/n/30/195}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{195}\hss}}
+\CJKvdef{m/n/30/227}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{227}\hss}}
+\CJKvdef{m/n/30/229}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{229}\hss}}
+\CJKvdef{m/n/30/231}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{231}\hss}}
+\CJKvdef{m/n/30/238}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{238}\hss}}
+\CJKvdef{m/n/30/245}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{245}\hss}}
+\CJKvdef{m/n/30/246}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{246}\hss}}
+
+
+\CJKvlet{bx/n/00/163}{m/n/00/163}
+\CJKvlet{bx/n/00/167}{m/n/00/167}
+
+\CJKvlet{bx/n/20/24}{m/n/20/24}
+\CJKvlet{bx/n/20/25}{m/n/20/25}
+\CJKvlet{bx/n/20/28}{m/n/20/28}
+\CJKvlet{bx/n/20/29}{m/n/20/29}
+\CJKvlet{bx/n/20/37}{m/n/20/37}
+\CJKvlet{bx/n/20/38}{m/n/20/38}
+
+\CJKvlet{bx/n/30/1}{m/n/30/1}
+\CJKvlet{bx/n/30/2}{m/n/30/2}
+\CJKvlet{bx/n/30/8}{m/n/30/8}
+\CJKvlet{bx/n/30/9}{m/n/30/9}
+\CJKvlet{bx/n/30/10}{m/n/30/10}
+\CJKvlet{bx/n/30/11}{m/n/30/11}
+\CJKvlet{bx/n/30/12}{m/n/30/12}
+\CJKvlet{bx/n/30/13}{m/n/30/13}
+\CJKvlet{bx/n/30/14}{m/n/30/14}
+\CJKvlet{bx/n/30/15}{m/n/30/15}
+\CJKvlet{bx/n/30/16}{m/n/30/16}
+\CJKvlet{bx/n/30/17}{m/n/30/17}
+\CJKvlet{bx/n/30/20}{m/n/30/20}
+\CJKvlet{bx/n/30/21}{m/n/30/21}
+\CJKvlet{bx/n/30/28}{m/n/30/28}
+\CJKvlet{bx/n/30/65}{m/n/30/65}
+\CJKvlet{bx/n/30/67}{m/n/30/67}
+\CJKvlet{bx/n/30/69}{m/n/30/69}
+\CJKvlet{bx/n/30/71}{m/n/30/71}
+\CJKvlet{bx/n/30/73}{m/n/30/73}
+\CJKvlet{bx/n/30/99}{m/n/30/99}
+\CJKvlet{bx/n/30/131}{m/n/30/131}
+\CJKvlet{bx/n/30/133}{m/n/30/133}
+\CJKvlet{bx/n/30/135}{m/n/30/135}
+\CJKvlet{bx/n/30/142}{m/n/30/142}
+\CJKvlet{bx/n/30/161}{m/n/30/161}
+\CJKvlet{bx/n/30/163}{m/n/30/163}
+\CJKvlet{bx/n/30/165}{m/n/30/165}
+\CJKvlet{bx/n/30/167}{m/n/30/167}
+\CJKvlet{bx/n/30/169}{m/n/30/169}
+\CJKvlet{bx/n/30/195}{m/n/30/195}
+\CJKvlet{bx/n/30/227}{m/n/30/227}
+\CJKvlet{bx/n/30/229}{m/n/30/229}
+\CJKvlet{bx/n/30/231}{m/n/30/231}
+\CJKvlet{bx/n/30/238}{m/n/30/238}
+\CJKvlet{bx/n/30/245}{m/n/30/245}
+\CJKvlet{bx/n/30/246}{m/n/30/246}
+\CJKvlet{bx/n/30/252}{m/n/30/252}
+
+\CJKvlet{bx/n/ff/8}{m/n/ff/8}
+\CJKvlet{bx/n/ff/9}{m/n/ff/9}
+\CJKvlet{bx/n/ff/12}{m/n/ff/12}
+\CJKvlet{bx/n/ff/14}{m/n/ff/14}
+\CJKvlet{bx/n/ff/59}{m/n/ff/59}
+\CJKvlet{bx/n/ff/61}{m/n/ff/61}
+\CJKvlet{bx/n/ff/91}{m/n/ff/91}
+\CJKvlet{bx/n/ff/93}{m/n/ff/93}
+
+
+\CJKvlet{l/n/00/163}{m/n/00/163}
+\CJKvlet{l/n/00/167}{m/n/00/167}
+
+\CJKvlet{l/n/20/24}{m/n/20/24}
+\CJKvlet{l/n/20/25}{m/n/20/25}
+\CJKvlet{l/n/20/28}{m/n/20/28}
+\CJKvlet{l/n/20/29}{m/n/20/29}
+\CJKvlet{l/n/20/37}{m/n/20/37}
+\CJKvlet{l/n/20/38}{m/n/20/38}
+
+\CJKvlet{l/n/30/1}{m/n/30/1}
+\CJKvlet{l/n/30/2}{m/n/30/2}
+\CJKvlet{l/n/30/8}{m/n/30/8}
+\CJKvlet{l/n/30/9}{m/n/30/9}
+\CJKvlet{l/n/30/10}{m/n/30/10}
+\CJKvlet{l/n/30/11}{m/n/30/11}
+\CJKvlet{l/n/30/12}{m/n/30/12}
+\CJKvlet{l/n/30/13}{m/n/30/13}
+\CJKvlet{l/n/30/14}{m/n/30/14}
+\CJKvlet{l/n/30/15}{m/n/30/15}
+\CJKvlet{l/n/30/16}{m/n/30/16}
+\CJKvlet{l/n/30/17}{m/n/30/17}
+\CJKvlet{l/n/30/20}{m/n/30/20}
+\CJKvlet{l/n/30/21}{m/n/30/21}
+\CJKvlet{l/n/30/28}{m/n/30/28}
+\CJKvlet{l/n/30/65}{m/n/30/65}
+\CJKvlet{l/n/30/67}{m/n/30/67}
+\CJKvlet{l/n/30/69}{m/n/30/69}
+\CJKvlet{l/n/30/71}{m/n/30/71}
+\CJKvlet{l/n/30/73}{m/n/30/73}
+\CJKvlet{l/n/30/99}{m/n/30/99}
+\CJKvlet{l/n/30/131}{m/n/30/131}
+\CJKvlet{l/n/30/133}{m/n/30/133}
+\CJKvlet{l/n/30/135}{m/n/30/135}
+\CJKvlet{l/n/30/142}{m/n/30/142}
+\CJKvlet{l/n/30/161}{m/n/30/161}
+\CJKvlet{l/n/30/163}{m/n/30/163}
+\CJKvlet{l/n/30/165}{m/n/30/165}
+\CJKvlet{l/n/30/167}{m/n/30/167}
+\CJKvlet{l/n/30/169}{m/n/30/169}
+\CJKvlet{l/n/30/195}{m/n/30/195}
+\CJKvlet{l/n/30/227}{m/n/30/227}
+\CJKvlet{l/n/30/229}{m/n/30/229}
+\CJKvlet{l/n/30/231}{m/n/30/231}
+\CJKvlet{l/n/30/238}{m/n/30/238}
+\CJKvlet{l/n/30/245}{m/n/30/245}
+\CJKvlet{l/n/30/246}{m/n/30/246}
+\CJKvlet{l/n/30/252}{m/n/30/252}
+
+\CJKvlet{l/n/ff/8}{m/n/ff/8}
+\CJKvlet{l/n/ff/9}{m/n/ff/9}
+\CJKvlet{l/n/ff/12}{m/n/ff/12}
+\CJKvlet{l/n/ff/14}{m/n/ff/14}
+\CJKvlet{l/n/ff/59}{m/n/ff/59}
+\CJKvlet{l/n/ff/61}{m/n/ff/61}
+\CJKvlet{l/n/ff/91}{m/n/ff/91}
+\CJKvlet{l/n/ff/93}{m/n/ff/93}
+
+% Move down small katalana `tsu' in horizontal mode. It sits too high and
+% is possibly confusable with the large `tsu'.
+
+\CJKhdef{m/n/30/195}{\raise -.05em \hbox to 1em {\kern 0em \CJKsymbol{195}\hss}}
+\CJKhlet{bx/n/30/195}{m/n/30/195}
+\CJKhlet{l/n/30/195}{m/n/30/195}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/fixwada b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/fixwada
new file mode 100644
index 0000000000..378fea8775
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/fixwada
@@ -0,0 +1,81 @@
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+# This script fixes the Wadalab fonts which have been created with the
+# `makefont' script of the CJK package version 4.5.1 or earlier.
+#
+# It converts all PFB files in the current directory.
+
+
+for i in *.pfb; do
+ echo $i
+ mv $i $i.old
+ cat $i.old | \
+ t1disasm | \
+ awk '
+ {
+ sub(/001\.001/, "001.002")
+
+ if (/%%Creation/) {
+ print "%%CreationDate: 2003-Feb-07"
+ next
+ }
+
+ if (/0 -160 rmoveto/ && last_is_hsbw) {
+ last_is_hsbw = 0
+ next
+ }
+
+ if (/hsbw/) {
+ last_is_hsbw = 1
+ waiting_for_Xmoveto = 1
+ }
+ else
+ last_is_hsbw = 0
+
+ if (waiting_for_Xmoveto) {
+ if (/rmoveto/) {
+ printf "\t%d %d rmoveto\n", $1, $2 - 160
+ waiting_for_Xmoveto = 0
+ next
+ }
+ else if (/vmoveto/) {
+ printf "\t%d vmoveto\n", $1 - 160
+ waiting_for_Xmoveto = 0
+ next
+ }
+ else if (/hmoveto/) {
+ printf "\t%d %d rmoveto\n", $1, -160
+ waiting_for_Xmoveto = 0
+ next
+ }
+ }
+
+ if (/moveto/)
+ print "\tclosepath"
+
+ if (/hstem/) {
+ printf "\t%d %d hstem\n", $1 - 160, $2
+ next
+ }
+
+ print
+ }
+ ' | \
+ t1asm > $i
+ rm $i.old
+done
diff --git a/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/fixwada2.pl b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/fixwada2.pl
new file mode 100644
index 0000000000..620bd7196d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/fixwada2.pl
@@ -0,0 +1,242 @@
+#! /usr/bin/perl -w
+#
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+# This script fixes the Wadalab fonts which have been created with the
+# `makefont' script version 1.0 (from CJK 4.8.4), or which have been updated
+# with the `fixwada' script.
+#
+# . Make all glyph names compliant to the Adobe Glyph List (AGL) to
+# get proper ToUnicode mappings in PDF documents.
+#
+# . Fix the encoding vector in the PFBs to contain only glyphs which
+# actually have an outline.
+#
+# . Update the version number and creation date.
+#
+# . Fix a typo in the original fonts (`UniqueId' -> `UniqueID').
+#
+# The files `JIS0208.TXT' and `JIS0212.TXT' from the `OBSOLETE' directory in
+# the `MAPPINGS' tree on ftp.unicode.org are necessary for running this
+# script. It also reads the file `DNP.sfd' which gives the relationship
+# between JIS X 0208 (and JIS X 0212) in EUC encoding and wadalab's DNP font
+# encoding. Finally, the programs `t1asm' and `t1disasm' must be available
+# (and in the path).
+#
+# Call the script as
+#
+# perl fixwada2.pl wadalab_namestem [JIS0208|JIS0212]
+#
+# Example:
+#
+# perl fixwada2.pl dmj JIS0208
+#
+# `fixwada2' reads all PFB and AFM files from the given wadalab font
+# family and replaces them with new versions.
+
+use strict;
+
+my $prog = $0;
+$prog =~ s@.*/@@;
+
+if ($#ARGV != 1) {
+ die("usage: $prog wadalab_namestem [JIS0208|JIS0212]\n");
+}
+
+my $namestem = $ARGV[0];
+my $encoding = $ARGV[1];
+my $encfile;
+my $doshift;
+
+
+if ("\U$encoding" eq "JIS0208") {
+ $encfile = "JIS0208.TXT";
+ $doshift = 1;
+}
+elsif ("\U$encoding" eq "JIS0212") {
+ $encfile = "JIS0212.TXT";
+ $doshift = 0;
+}
+else {
+ die("$prog: unknown encoding\n");
+}
+
+
+# Read `DNP.sfd'.
+
+my %sfd;
+my @subfonts;
+
+print("Reading \`DNP.sfd'...\n");
+
+open(DNP, "DNP.sfd")
+|| die("$prog: can't open \`DNP.sfd': $!\n");
+
+# This loop doesn't handle the complete syntax of SFD files yet.
+while (<DNP>) {
+ chop;
+ my @field = split(" ");
+ next if ($#field < 0);
+ next if ($field[0] =~ /^#/);
+
+ my $suffix = $field[0];
+ push(@subfonts, $suffix);
+
+ shift(@field);
+ my $index = 0;
+
+ while (@field) {
+ if ($field[0] =~ /(.*):$/) {
+ $index = $1;
+ }
+ elsif ($field[0] =~ /(0x[0-9A-Fa-f]+)_(0x[0-9A-Fa-f]+)/) {
+ foreach my $i (hex($1) .. hex($2)) {
+ $sfd{$suffix . "c" . sprintf("%02X", $index)} = $i;
+ $index++;
+ }
+ }
+ shift(@field);
+ }
+}
+
+
+# Read encoding file.
+
+print("Reading \`$encfile'...\n");
+
+my %jisx;
+
+open(JISX, $encfile)
+|| die("$prog: can't open \`$encfile': $!\n");
+
+while (<JISX>) {
+ chop;
+ my @field = split(" ");
+ next if ($#field < 0);
+ next if ($field[0] =~ /^#/);
+
+ if ($doshift) {
+ shift(@field);
+ }
+
+ my $unicode = $field[1];
+ $unicode =~ s/0x//;
+ my $value = hex($field[0]) + 0x8080;
+ $jisx{$value} = $unicode;
+}
+
+
+# Process AFM files.
+
+foreach my $afm (@subfonts) {
+ my $filename = "$namestem$afm.afm";
+ print("Processing \`$filename'...\n");
+
+ if (!-f $filename) {
+ print("$prog: \`$filename' doesn't exist\n");
+ next;
+ }
+
+ rename($filename, "$filename.old");
+
+ open(INFILE, "$filename.old")
+ || die("$prog: can't open \`$filename.old': $!\n");
+ open(OUTFILE, ">", "$filename")
+ || die("$prog: can't open \`$filename': $!\n");
+
+ while (<INFILE>) {
+ # Replace the `cXX' entries with correct `uniXXXX' glyph names.
+ s/ N (.*?) ;/ N uni$jisx{$sfd{$afm . $1}} ;/;
+
+ # Update version number.
+ s/001\.001/001.004/;
+
+ print(OUTFILE $_);
+ }
+
+ close(INFILE);
+ close(OUTFILE);
+
+ unlink("$filename.old");
+}
+
+
+# Process PFB files.
+
+foreach my $pfb (@subfonts) {
+ my $arg;
+ my $filename = "$namestem$pfb.pfb";
+ print("Processing \`$filename'...\n");
+
+ if (!-f $filename) {
+ print("$prog: \`$filename' doesn't exist\n");
+ next;
+ }
+
+ rename($filename, "$filename.old");
+
+ $arg = "t1disasm < $filename.old > $filename.disasm.old";
+ system("$arg") == 0
+ || die("$prog: calling \`$arg' failed: $?");
+
+ open(INFILE, "$filename.disasm.old")
+ || die("$prog: can't open \`$filename.disasm.old': $!\n");
+ open(OUTFILE, ">", "$filename.disasm")
+ || die("$prog: can't open \`$filename.disasm': $!\n");
+
+ while (<INFILE>) {
+ # Replace the `cXX' entries with correct `uniXXXX' glyph names
+ # (or `.notdef' if there isn't one).
+ if (m@/(c.*?) @) {
+ my $replacement;
+ if (defined ($sfd{$pfb . $1})
+ && defined ($jisx{$sfd{$pfb . $1}})) {
+ $replacement = "uni$jisx{$sfd{$pfb . $1}}";
+ }
+ else {
+ $replacement = ".notdef";
+ }
+ s@/(c.*?) @/$replacement @;
+ }
+
+ # Fix a typo in original fonts.
+ s/UniqueId/UniqueID/;
+
+ # Update version number.
+ s/001\.002/001.004/;
+
+ # Update creation date.
+ s/2003-Feb-07/2005-Jul-29/;
+
+ print(OUTFILE $_);
+ }
+
+ close(INFILE);
+ close(OUTFILE);
+
+ $arg = "t1asm < $filename.disasm > $filename";
+ system("$arg") == 0
+ || die("$prog: calling \`$arg' failed: $?");
+
+ unlink("$filename.disasm.old", "$filename.disasm");
+ unlink("$filename.old");
+}
+
+print("Done.\n");
+
+# eof
diff --git a/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/makefont b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/makefont
new file mode 100644
index 0000000000..bb1880939b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/makefont
@@ -0,0 +1,108 @@
+#!/bin/sh
+#
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+# Version 1.0
+#
+# This script transforms Wadalab PFA and AFM files created by the
+# wftodm program into PFB and TFM files. All files in the current
+# directory and its subdirectories are converted.
+#
+# Additionally, it normalizes the font matrix so that the subfonts work
+# with pdfTeX; for convenience, it also inserts `closepath' commands to
+# end subpaths in glyphs.
+#
+# Note that an older version of this script (without a version number) has
+# some flaws; you should either regenerate all Wadalab subfonts or use the
+# `fixwada' script to fix PFB fonts which have already been created with
+# this older version.
+#
+# The programs t1asm, t1disasm, and afm2tfm must be in the path.
+
+for f in `find . -name '*.pfa' -print`; do
+ echo processing $f
+ name=`basename $f .pfa`
+ t1disasm < $name.pfa > $name.old
+
+ cat $name.old | \
+ awk '
+ {
+ sub(/001\.001/, "001.002")
+ sub(/\[.001 0 0 .001 0 -0.16\]/, "[.001 0 0 .001 0 0]")
+ sub(/\[0 0 1000 1000\]/, "[0 -160 1000 840]")
+
+ if (/%%Creation/) {
+ print "%%CreationDate: 2003-Feb-07"
+ next
+ }
+
+ if (/hsbw/)
+ waiting_for_Xmoveto = 1
+
+ if (waiting_for_Xmoveto) {
+ if (/rmoveto/) {
+ printf "\t%d %d rmoveto\n", $1, $2 - 160
+ waiting_for_Xmoveto = 0
+ next
+ }
+ if (/vmoveto/) {
+ printf "\t%d vmoveto\n", $1 - 160
+ waiting_for_Xmoveto = 0
+ next
+ }
+ if (/hmoveto/) {
+ printf "\t%d %d rmoveto\n", $1, -160
+ waiting_for_Xmoveto = 0
+ next
+ }
+ }
+
+ if (/moveto/)
+ print "\tclosepath"
+
+ if (/hstem/) {
+ printf "\t%d %d hstem\n", $1 - 160, $2
+ next
+ }
+
+ print
+ }
+ ' > $name.asm
+ rm $name.old
+
+ t1asm < $name.asm > $name.pfb
+ rm $name.asm
+done
+
+for f in `find . -name '*.afm' -print`; do
+ echo processing $f
+ name=`basename $f .afm`
+ mv $name.afm $name.old
+
+ cat $name.old | \
+ sed -e "
+ s/FontBBox 0 0 1000 1000/FontBBox 0 -160 1000 840/
+ s/B 0 0 1000 1000/B 0 -160 1000 840/
+ " > $name.afm
+
+ rm $name.old
+
+ afm2tfm $name.afm &> /dev/null
+done
+
+# EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/makeuniwada.pl b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/makeuniwada.pl
new file mode 100644
index 0000000000..95be460e22
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/makeuniwada.pl
@@ -0,0 +1,333 @@
+#! /usr/bin/perl -w
+#
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+# This script creates virtual subfonts in Unicode encoding for Wadalab
+# subfonts. It can merge a JIS X 0208 and JIS X 0212 family into a single
+# set of Unicode subfonts.
+#
+# As prerequisites, it needs the files `JIS0208.TXT' and `JIS0212.TXT' from
+# the `OBSOLETE' directory in the `MAPPINGS' tree on ftp.unicode.org. It
+# also needs the file `DNP.sfd' which gives the relationship between JIS X
+# 0208 (and JIS X 0212) in EUC encoding and wadalab's DNP font encoding.
+# The program `vptovf' must be available (and in the path).
+#
+# Call the script as
+#
+# perl makeuniwada.pl namestem1 [namestem2] uni_namestem
+#
+# `namestem1' is the font in JIS X 0208 encoding. The optional `namestem2'
+# argument is the font in JIS X 0212, and `uni_namestem' holds the prefix
+# for the Unicode subfonts. `makeuniwada.pl' reads all AFM files from the
+# given wadalab font families.
+#
+# Example:
+#
+# perl makeuniwada.pl dmj mc2j udmj
+#
+# This call mixes the mincho-0-12 (dmj) with mincho-1-8 (mc2j) families.
+
+use strict;
+
+my $prog = $0;
+$prog =~ s@.*/@@;
+
+if ($#ARGV < 1 || $#ARGV > 2) {
+ die("usage: $prog namestem1 [namestem2] uni_namestem\n");
+}
+
+my $namestem1;
+my $namestem2;
+my $two_encodings = 0;
+my @args = @ARGV;
+
+$namestem1 = $ARGV[0];
+if ($#ARGV == 2) {
+ $namestem2 = $ARGV[1];
+ $two_encodings = 1;
+ shift;
+}
+my $uninamestem = $ARGV[1];
+
+
+# Read `DNP.sfd'.
+
+my %sfd;
+my @subfonts;
+
+read_sfdfile("DNP.sfd", \%sfd, \@subfonts);
+
+
+# Read encoding files.
+#
+# The files `JIS0208.TXT' and `JIS0212.TXT' are from the `OBSOLETE'
+# directory in the `MAPPINGS' tree on ftp.unicode.org.
+
+my %jisx0208;
+my %jisx0212;
+
+read_encfile("JIS0208.TXT", \%jisx0208, 1);
+if ($two_encodings) {
+ read_encfile("JIS0212.TXT", \%jisx0212, 0);
+}
+
+
+# Read AFM files.
+
+my @unicode;
+
+foreach my $sub (@subfonts) {
+ my $afmname = "$namestem1$sub.afm";
+
+ if (-f $afmname) {
+ read_afmfile($afmname, \@unicode, \%sfd, \%jisx0208, $sub);
+ }
+}
+if ($two_encodings) {
+ foreach my $sub (@subfonts) {
+ my $afmname = "$namestem2$sub.afm";
+
+ if (-f $afmname) {
+ read_afmfile($afmname, \@unicode, \%sfd, \%jisx0212, $sub);
+ }
+ }
+}
+
+
+# Write VPL files.
+
+my $index = 0;
+foreach my $i (0 .. 255) {
+ my @entries;
+
+ foreach my $j (0 .. 255) {
+ if (defined ($unicode[$index])) {
+ push(@entries, "$j $unicode[$index]");
+ }
+ $index++;
+ }
+
+ if ($#entries >= 0) {
+ write_vplfile($uninamestem . sprintf("%02x.vpl", $i), \@entries);
+ }
+}
+
+
+# Generate VF and TFM files, then remove the VPL files.
+
+my @vplfiles = glob("$uninamestem*.vpl");
+foreach my $vplfile (@vplfiles) {
+ print("Processing \`$vplfile'...\n");
+ my $arg = "vptovf $vplfile";
+ system($arg) == 0
+ || die("$prog: calling \`$arg' failed: $?");;
+ print("Removing \`$vplfile'...\n");
+ unlink($vplfile);
+}
+
+
+# Read an SFD file.
+#
+# $1: Name of the SFD file.
+# $2: Reference to the target hash file, mapping from the subfont index
+# to the character code. The format of the hash key is the
+# concatenation of the subfont suffix, a space, and the index.
+# $3: Reference to a target array which holds the subfont suffixes.
+
+sub read_sfdfile {
+ my ($sfdfile, $sfdhash, $sfdarray) = @_;
+
+ print("Reading subfont definition file \`$sfdfile'...\n");
+
+ open(SFD, $sfdfile)
+ || die("$prog: can't open \`$sfdfile': $!\n");
+
+ # This loop doesn't handle the complete syntax of SFD files yet.
+ while (<SFD>) {
+ chop;
+ my @field = split(" ");
+ next if ($#field < 0);
+ next if ($field[0] =~ /^#/);
+
+ my $suffix = $field[0];
+ push(@{$sfdarray}, $suffix);
+
+ shift(@field);
+ my $index = 0;
+
+ while (@field) {
+ if ($field[0] =~ /(.*):$/) {
+ $index = $1;
+ }
+ elsif ($field[0] =~ /(0x[0-9A-Fa-f]+)_(0x[0-9A-Fa-f]+)/) {
+ foreach my $i (hex($1) .. hex($2)) {
+ $sfdhash->{"$suffix $index"} = $i;
+ $index++;
+ }
+ }
+ shift(@field);
+ }
+ }
+ close(SFD);
+}
+
+
+# Read encoding file.
+#
+# $1: Name of the encoding file.
+# $2: Reference to the target hash file, mapping from the charset
+# to Unicode.
+# $3: Set to 1 if the needed mapping data is not in field 1 and 2, but in
+# field 2 and 3.
+
+sub read_encfile {
+ my ($encfile, $enchash, $doshift) = @_;
+
+ print("Reading encoding file \`$encfile'...\n");
+
+ open(ENC, $encfile)
+ || die("$prog: can't open \`$encfile': $!\n");
+
+ while (<ENC>) {
+ chop;
+ my @field = split(" ");
+ next if ($#field < 0);
+ next if ($field[0] =~ /^#/);
+
+ if ($doshift) {
+ shift(@field);
+ }
+
+ my $unicode = $field[1];
+ $unicode =~ s/0x//;
+ my $value = hex($field[0]) + 0x8080;
+ $enchash->{$value} = hex($unicode);
+ }
+ close(ENC);
+}
+
+
+# Read AFM file.
+#
+# $1: Name of the AFM file.
+# $2: Reference to the target array which maps from Unicode to the string
+# "<subfont name> <subfont index> <width> <height> <depth>".
+# $3: Reference to the SFD hash (as extracted by `read_sfdfile').
+# $4: Reference to the encoding hash (as extracted by `read_encfile').
+# $5: Suffix.
+
+sub read_afmfile {
+ my ($afmfile, $unicarray, $sfdhash, $enchash, $suffix) = @_;
+
+ print("Reading metric file \`$afmfile'...\n");
+
+ open(AFM, $afmfile)
+ || die("$prog: can't open \`$afmfile': $!\n");
+
+ $afmfile =~ s/\.[^.]*$//;
+ while (<AFM>) {
+ if (/^C (\d+) ;/) {
+ my $key = "$suffix $1";
+ my $value = $sfdhash->{$key};
+ my $unicvalue = $enchash->{$value};
+ my $s = "$afmfile $1";
+
+ # Add advance width.
+ / WX (.*?) ;/;
+ $s .= " $1";
+
+ # Add glyph height and depth.
+ / B .*? (.*?) .*? (.*?) ;/;
+ $s .= " $1 $2";
+
+ $unicarray->[$unicvalue] = $s;
+ }
+ }
+ close(AFM);
+}
+
+
+# Write VPL file.
+#
+# $1: Name of the VPL file.
+# $2: Reference to list which holds the font entries. An entry has the
+# form `<idx> <subfont> <subfont_idx> <adv_width> <height> <depth>'.
+
+sub write_vplfile {
+ my ($vplfile, $glypharray) = @_;
+
+ my %subfonts;
+ my $subcount = 0;
+
+ foreach my $entry (@{$glypharray}) {
+ my @field = split(" ", $entry);
+ my $subfont = $field[1];
+ if (!defined ($subfonts{$subfont})) {
+ $subfonts{$subfont} = $subcount;
+ $subcount++;
+ }
+ }
+
+ print("Writing virtual property list file \`$vplfile'...\n");
+
+ open(VPL, ">", $vplfile)
+ || die("$prog: can't open \`$vplfile': $!\n");
+ my $oldfh = select(VPL);
+
+ print("(VTITLE Created by \`$prog " . join(" ", @args) . "')\n");
+ print("(FAMILY TEX-\U$uninamestem\E)\n");
+ print("(CODINGSCHEME DNPUNICODE)\n");
+ print("(FONTDIMEN\n");
+ print(" (SPACE R 0.5)\n");
+ print(" (XHEIGHT R 0.4)\n");
+ print(" (QUAD R 1)\n");
+ print(" )\n");
+
+ foreach my $subfont
+ (sort { $subfonts{$a} <=> $subfonts{$b} } keys %subfonts) {
+ print("(MAPFONT D $subfonts{$subfont}\n");
+ print(" (FONTNAME $subfont)\n");
+ print(" )\n");
+ }
+
+ foreach my $entry (@{$glypharray}) {
+ my @field = split(" ", $entry);
+ my $index = $field[0];
+ my $subnumber = $subfonts{$field[1]};
+ my $subindex = $field[2];
+ my $adv_width = $field[3] / 1000.0;
+ my $depth = $field[4] / -1000.0;
+ my $height = $field[5] / 1000.0;
+
+ print("(CHARACTER D $index\n");
+ print(" (CHARWD R $adv_width)\n");
+ print(" (CHARHT R $height)\n");
+ print(" (CHARDP R $depth)\n");
+ print(" (MAP\n");
+ print(" (SELECTFONT D $subnumber)\n");
+ print(" (SETCHAR D $subindex)\n");
+ print(" )\n");
+ print(" )\n");
+ }
+
+ close(VPL);
+ select($oldfh);
+}
+
+
+# eof
diff --git a/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/wadalab.map b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/wadalab.map
new file mode 100644
index 0000000000..dd008d525f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/wadalab.map
@@ -0,0 +1,187 @@
+
+% Wadalab Japanese fonts
+
+dgjgreek dgjgreek <dgjgreek.pfb
+dgjhira dgjhira <dgjhira.pfb
+dgjkata dgjkata <dgjkata.pfb
+dgjkeisen dgjkeisen <dgjkeisen.pfb
+dgjroma dgjroma <dgjroma.pfb
+dgjrussian dgjrussian <dgjrussian.pfb
+dgjsy dgjsy <dgjsy.pfb
+dgjka dgjka <dgjka.pfb
+dgjkb dgjkb <dgjkb.pfb
+dgjkc dgjkc <dgjkc.pfb
+dgjkd dgjkd <dgjkd.pfb
+dgjke dgjke <dgjke.pfb
+dgjkf dgjkf <dgjkf.pfb
+dgjkg dgjkg <dgjkg.pfb
+dgjkh dgjkh <dgjkh.pfb
+dgjki dgjki <dgjki.pfb
+dgjkj dgjkj <dgjkj.pfb
+dgjkk dgjkk <dgjkk.pfb
+dgjkl dgjkl <dgjkl.pfb
+dgjkm dgjkm <dgjkm.pfb
+dgjkn dgjkn <dgjkn.pfb
+dgjko dgjko <dgjko.pfb
+dgjkp dgjkp <dgjkp.pfb
+dgjkq dgjkq <dgjkq.pfb
+dgjkr dgjkr <dgjkr.pfb
+dgjks dgjks <dgjks.pfb
+dgjkt dgjkt <dgjkt.pfb
+dgjku dgjku <dgjku.pfb
+dgjkv dgjkv <dgjkv.pfb
+dgjkw dgjkw <dgjkw.pfb
+dgjkx dgjkx <dgjkx.pfb
+dgjky dgjky <dgjky.pfb
+dgjkz dgjkz <dgjkz.pfb
+
+dmjgreek dmjgreek <dmjgreek.pfb
+dmjhira dmjhira <dmjhira.pfb
+dmjkata dmjkata <dmjkata.pfb
+dmjkeisen dmjkeisen <dmjkeisen.pfb
+dmjroma dmjroma <dmjroma.pfb
+dmjrussian dmjrussian <dmjrussian.pfb
+dmjsy dmjsy <dmjsy.pfb
+dmjka dmjka <dmjka.pfb
+dmjkb dmjkb <dmjkb.pfb
+dmjkc dmjkc <dmjkc.pfb
+dmjkd dmjkd <dmjkd.pfb
+dmjke dmjke <dmjke.pfb
+dmjkf dmjkf <dmjkf.pfb
+dmjkg dmjkg <dmjkg.pfb
+dmjkh dmjkh <dmjkh.pfb
+dmjki dmjki <dmjki.pfb
+dmjkj dmjkj <dmjkj.pfb
+dmjkk dmjkk <dmjkk.pfb
+dmjkl dmjkl <dmjkl.pfb
+dmjkm dmjkm <dmjkm.pfb
+dmjkn dmjkn <dmjkn.pfb
+dmjko dmjko <dmjko.pfb
+dmjkp dmjkp <dmjkp.pfb
+dmjkq dmjkq <dmjkq.pfb
+dmjkr dmjkr <dmjkr.pfb
+dmjks dmjks <dmjks.pfb
+dmjkt dmjkt <dmjkt.pfb
+dmjku dmjku <dmjku.pfb
+dmjkv dmjkv <dmjkv.pfb
+dmjkw dmjkw <dmjkw.pfb
+dmjkx dmjkx <dmjkx.pfb
+dmjky dmjky <dmjky.pfb
+dmjkz dmjkz <dmjkz.pfb
+
+mcjgreek mcjgreek <mcjgreek.pfb
+mcjhira mcjhira <mcjhira.pfb
+mcjkata mcjkata <mcjkata.pfb
+mcjkeisen mcjkeisen <mcjkeisen.pfb
+mcjroma mcjroma <mcjroma.pfb
+mcjrussian mcjrussian <mcjrussian.pfb
+mcjsy mcjsy <mcjsy.pfb
+mcjka mcjka <mcjka.pfb
+mcjkb mcjkb <mcjkb.pfb
+mcjkc mcjkc <mcjkc.pfb
+mcjkd mcjkd <mcjkd.pfb
+mcjke mcjke <mcjke.pfb
+mcjkf mcjkf <mcjkf.pfb
+mcjkg mcjkg <mcjkg.pfb
+mcjkh mcjkh <mcjkh.pfb
+mcjki mcjki <mcjki.pfb
+mcjkj mcjkj <mcjkj.pfb
+mcjkk mcjkk <mcjkk.pfb
+mcjkl mcjkl <mcjkl.pfb
+mcjkm mcjkm <mcjkm.pfb
+mcjkn mcjkn <mcjkn.pfb
+mcjko mcjko <mcjko.pfb
+mcjkp mcjkp <mcjkp.pfb
+mcjkq mcjkq <mcjkq.pfb
+mcjkr mcjkr <mcjkr.pfb
+mcjks mcjks <mcjks.pfb
+mcjkt mcjkt <mcjkt.pfb
+mcjku mcjku <mcjku.pfb
+mcjkv mcjkv <mcjkv.pfb
+mcjkw mcjkw <mcjkw.pfb
+mcjkx mcjkx <mcjkx.pfb
+mcjky mcjky <mcjky.pfb
+mcjkz mcjkz <mcjkz.pfb
+
+mrjgreek mrjgreek <mrjgreek.pfb
+mrjhira mrjhira <mrjhira.pfb
+mrjkata mrjkata <mrjkata.pfb
+mrjkeisen mrjkeisen <mrjkeisen.pfb
+mrjroma mrjroma <mrjroma.pfb
+mrjrussian mrjrussian <mrjrussian.pfb
+mrjsy mrjsy <mrjsy.pfb
+mrjka mrjka <mrjka.pfb
+mrjkb mrjkb <mrjkb.pfb
+mrjkc mrjkc <mrjkc.pfb
+mrjkd mrjkd <mrjkd.pfb
+mrjke mrjke <mrjke.pfb
+mrjkf mrjkf <mrjkf.pfb
+mrjkg mrjkg <mrjkg.pfb
+mrjkh mrjkh <mrjkh.pfb
+mrjki mrjki <mrjki.pfb
+mrjkj mrjkj <mrjkj.pfb
+mrjkk mrjkk <mrjkk.pfb
+mrjkl mrjkl <mrjkl.pfb
+mrjkm mrjkm <mrjkm.pfb
+mrjkn mrjkn <mrjkn.pfb
+mrjko mrjko <mrjko.pfb
+mrjkp mrjkp <mrjkp.pfb
+mrjkq mrjkq <mrjkq.pfb
+mrjkr mrjkr <mrjkr.pfb
+mrjks mrjks <mrjks.pfb
+mrjkt mrjkt <mrjkt.pfb
+mrjku mrjku <mrjku.pfb
+mrjkv mrjkv <mrjkv.pfb
+mrjkw mrjkw <mrjkw.pfb
+mrjkx mrjkx <mrjkx.pfb
+mrjky mrjky <mrjky.pfb
+mrjkz mrjkz <mrjkz.pfb
+
+mc2jka mc2jka <mc2jka.pfb
+mc2jkb mc2jkb <mc2jkb.pfb
+mc2jkc mc2jkc <mc2jkc.pfb
+mc2jkd mc2jkd <mc2jkd.pfb
+mc2jke mc2jke <mc2jke.pfb
+mc2jkf mc2jkf <mc2jkf.pfb
+mc2jkg mc2jkg <mc2jkg.pfb
+mc2jkh mc2jkh <mc2jkh.pfb
+mc2jki mc2jki <mc2jki.pfb
+mc2jkj mc2jkj <mc2jkj.pfb
+mc2jkk mc2jkk <mc2jkk.pfb
+mc2jkl mc2jkl <mc2jkl.pfb
+mc2jkm mc2jkm <mc2jkm.pfb
+mc2jkn mc2jkn <mc2jkn.pfb
+mc2jko mc2jko <mc2jko.pfb
+mc2jkp mc2jkp <mc2jkp.pfb
+mc2jkq mc2jkq <mc2jkq.pfb
+mc2jkr mc2jkr <mc2jkr.pfb
+mc2jks mc2jks <mc2jks.pfb
+mc2jkt mc2jkt <mc2jkt.pfb
+mc2jku mc2jku <mc2jku.pfb
+mc2jkv mc2jkv <mc2jkv.pfb
+mc2jkw mc2jkw <mc2jkw.pfb
+
+mr2jka mr2jka <mr2jka.pfb
+mr2jkb mr2jkb <mr2jkb.pfb
+mr2jkc mr2jkc <mr2jkc.pfb
+mr2jkd mr2jkd <mr2jkd.pfb
+mr2jke mr2jke <mr2jke.pfb
+mr2jkf mr2jkf <mr2jkf.pfb
+mr2jkg mr2jkg <mr2jkg.pfb
+mr2jkh mr2jkh <mr2jkh.pfb
+mr2jki mr2jki <mr2jki.pfb
+mr2jkj mr2jkj <mr2jkj.pfb
+mr2jkk mr2jkk <mr2jkk.pfb
+mr2jkl mr2jkl <mr2jkl.pfb
+mr2jkm mr2jkm <mr2jkm.pfb
+mr2jkn mr2jkn <mr2jkn.pfb
+mr2jko mr2jko <mr2jko.pfb
+mr2jkp mr2jkp <mr2jkp.pfb
+mr2jkq mr2jkq <mr2jkq.pfb
+mr2jkr mr2jkr <mr2jkr.pfb
+mr2jks mr2jks <mr2jks.pfb
+mr2jkt mr2jkt <mr2jkt.pfb
+mr2jku mr2jku <mr2jku.pfb
+mr2jkv mr2jkv <mr2jkv.pfb
+mr2jkw mr2jkw <mr2jkw.pfb
+
diff --git a/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/wadalab.txt b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/wadalab.txt
new file mode 100644
index 0000000000..0a99fa084b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/contrib/wadalab/wadalab.txt
@@ -0,0 +1,384 @@
+This file describes how to set up the CJK package with Wadalab postscript
+fonts for Japanese under Unix-like operating systems using distributions
+based on web2c (teTeX, TeXLive, etc.).
+
+The printer does not need to have resident Japanese fonts.
+
+
+By Hin-Tak Leung <htl10@users.sourceforge.net>, September 1997.
+
+Revised November 1998.
+
+Last revised by Werner Lemberg, July 2006.
+
+===================
+
+
+Summary steps
+-------------
+
+ 1. Download the CJK package and install it.
+
+ 2. Download and install the Wadalab font bundles for the CJK package from
+ CTAN.
+
+ 3a. Update `<TEXMF>/dvips/psfont.map', or update your `~/.dvipsrc' file.
+ Use the updmap script if possible.
+
+ 3b. Alternatively, create a `config.wadalab' file.
+
+ 3c. For pdfTeX, update `pdftex.map' (normally handled already by the updmap
+ script). Omit this step for recent teTeX and TeXLive versions.
+
+ 3d. For dvipdfmx (and dvipdfm), update `dvipdfm.map' (normally handled
+ already by the updmap script). Omit this step for recent teTeX and
+ TeXLive versions.
+
+ 4. Run mktexlsr.
+
+ 5. Test it!
+
+
+Details of each step
+--------------------
+
+1. The following files are essential and must be in your $TEXINPUTS path.
+
+ CJK/texinput/:
+ CJK.enc CJK.sty CJKnumb.sty
+ CJKulem.sty ruby.sty standard.bdg
+ standard.chr standard.enc
+
+ CJK/texinput/JIS/:
+ JIS.cap JIS.cpx JISdnp.enc
+ c42song.fd EUC-JP.bdg EUC-JP.chr
+ EUC-JP.enc
+
+ CJK/texinput/UTF8/:
+ UTF8.bdg UTF8.chr UTF8.enc
+ c70song.fd
+
+ [Even if you don't use `c42song.fd' and `c70song.fd' these two files
+ should be here to avoid a strange LaTeX error message if a font shape is
+ missing.]
+
+ [The EUC-JP files support real EUC-JP with single shift to access
+ JIS X 0212.]
+
+ And one or more of the following files:
+
+ file name Description
+ ------------------------------------------------------------------------
+ c42goth.fd Gothic JIS X 0208 (level 1,2 kanji), DNP font encoding
+ c42maru.fd Maru
+ c42min.fd Mincho
+
+ c52maru.fd Maru JIS X 0212 (level 3 kanji), DNP font encoding
+ c52min.fd Mincho
+
+ c70goth.fd Gothic JIS X 0208, Unicode font encoding
+
+ c70maru.fd Maru JIS X 0208 + 0212, Unicode font encoding
+ c70min.fd Mincho
+
+ And finally, `wadalab.map'.
+
+ Also keep `CJK/examples/JIS.tex' for testing. The rest of the CJK files
+ are not essential for this setup. Usage is documented in
+ `CJK/examples/JIS.tex' but reading `CJK/doc/CJK.txt' and
+ `CJK/doc/ruby.txt' is recommended.
+
+ For pseudo vertical typesetting you need the `*.fdx' files accompaning
+ the above `*.fd' files, together with the `CJKvert.sty' file.
+
+ For using Unicode as the input encoding you should use `CJKutf8.sty'.
+
+2. The CJK sub font packages of the Wadalab fonts can be found on CTAN in
+ the directory `fonts/wadalab'. The real TeX font names consist of the
+ concatenation of the family name with the subfont suffix. Examples:
+ `dgjkeisen', `mrjkj', `umcj5d'.
+
+ file name TeX font family
+ DNP Unicode
+ ---------------------------------------------
+ gothic-0-13.tar.gz dgj udgj
+ maru-0-8.tar.gz mrj umrj
+ maru-1-8.tar.gz mr2j
+ mincho-0-12.tar.gz dmj udmj [*]
+ mincho-0-8.tar.gz mcj umcj
+ mincho-1-8.tar.gz mc2j
+
+ [*] The `udmj' family uses mc2j for glyphs Level 3 Kanji. It doesn't
+ really fit (mc2j is too thin), but it is still better than having
+ no Level 3 Kanji at all.
+
+ Installation should be straightforward since the directories in the
+ font bundles already follow the TDS standard.
+
+3a. Append `wadalab.map' to `<TEXMF>/dvips/config/psfont.map; or, for
+ non-root users, create a `~/.dvipsrc' file containing this single line:
+
+=========================================================================
+p +/my-home/where_I_want_it/wadalab.map
+=========================================================================
+
+ (or add this line to your `~/.dvipsrc' if it already exists) and set
+ $DVIPSFONTS to the location of the `*.pfb' files.
+
+ teTeX and TeXLive users should do the following instead of the above:
+
+ a) Copy `wadalab.map' into the `<TEXMF>/fonts/map/dvips/wadalab'
+ directory. If you are non-root, create a private TEXMF tree in your
+ home directory, and copy the file to a similar location in your
+ private tree.
+
+ Users of older versions of teTeX and TeXLive should use the
+ directory `<TEXMF>/dvips/config' instead.
+
+ b) Add the following line to <TEXMF>/web2c/updmap.cfg:
+
+=========================================================================
+Map wadalab.map
+=========================================================================
+
+ and call the updmap script to regenerate all program specific map
+ files. If you are non-root, copy `updmap.cfg' from the main TEXMF
+ tree to a similar location in your private tree and modify it there.
+
+ Users of older version of teTeX and TeXLive should add `wadalab.map'
+ to the `extra_modules' variable directly in the updmap script.
+
+3b. Another solution is to just copy wadalab.map to the location in
+ step 3a. After creating a file `config.wadalab', containing a single line
+
+=========================================================================
+p +wadalab.map
+=========================================================================
+
+ you can use the `-P wadalab' switch while calling dvips.
+
+ The preferred location of `config.wadalab' is `<TEXMF>/dvips/wadalab' for
+ recent teTeX and TeXLive versions, and `<TEXMF>/dvips/config' otherwise.
+
+3c. [This step is optional and should be omitted for recent teTeX and
+ TeXLive versions.]
+
+ Append `wadalab.map' to `<TEXMF>/dvips/config/pdftex.map' so that pdfTeX
+ can use the Wadalab fonts. The updmap script does this automatically.
+
+3d. [This step is optional and should be omitted for recent teTeX and
+ TeXLive versions.]
+
+ Append `wadalab.map' to <TEXMF>/dvipdfm/config/dvipdfm.map so that
+ dvipdfmx (and dvipdfm) can use the Wadalab fonts. The updmap script does
+ this automatically.
+
+
+4. Run mktexlsr to make your TeX system actually find your font data files.
+
+
+5. Edit CJK/examples/JIS.tex and replace `\begin{CJK*}{JIS}{song}' by
+ `\begin{CJK*}[dnp]{JIS}{xxx}'; `xxx' can be `min' (for mincho), `goth'
+ (for gothic), or `maru'. To see the mincho-0-8 font (which is in `light'
+ series), insert
+
+ \fontseries{l}
+ \selectfont
+
+ in the CJK environment. All fonts use the poor-man's bold mechanism of
+ the CJK package.
+
+ Then do the sequence
+
+ latex JIS.tex
+ dvips JIS.dvi -j -o JIS.ps
+
+ or
+
+ dvips JIS.dvi -j -P wadalab -o JIS.ps
+
+ if you haven't modified `psfonts.map'. The `-j' switch activates partial
+ font downloading (which usually is the default).
+
+ At this stage running ghostview on `JIS.ps' should display it on screen.
+ Send `JIS.ps' to a postscript printer or run ghostscript for
+ non-postscript printers as you wish; and there you have your first
+ printed Japanese document. Enjoy!
+
+ Note: The level 3 Kanji fonts are generated in a DNP-like encoding also.
+ A single level 3 Kanji character can be most easily input with
+
+ \CJKchar[JIS2]{<first-byte>}{<second-byte>} ,
+
+ provided that you have said
+
+ \CJKfontenc{JIS2}{dnp}
+ \CJKencfamily{JIS2}{xxx}
+
+ in the preamble of your document to activate dnp font encoding for
+ the JIS2 encoding in font shape `xxx' (which can be either `maru'
+ or `min').
+
+ In case you use Emacs or Mule together with cjk-enc.el (of the CJK
+ package), JIS X 0212 characters can be displayed directly; they
+ will be automatically converted into appropriate CJK macros.
+
+
+How the Wadalab fonts have been created
+---------------------------------------
+
+This section contains a description of the conversion process which
+transforms the raw Wadalab PS files into subfonts usable by the CJK package.
+
+1. The Wadalab PS files are available from the original host
+
+ ftp://ftp.ipl.t.u-tokyo.ac.jp/Font/
+
+ Alternative locations are CTAN hosts like ftp.dante.de or ftp.tug.org and
+ its mirrors:
+
+ ftp://ftp.dante.de/pub/tex/support/ghostscript/3rdparty
+ /fonts/kanji/Font
+
+ Obtain the following files (if you download the files from CTAN, the
+ final extension is `.gz' instead of `.Z'):
+
+ wadalab-sym.7.tar.Z (symbols + Greek letters, necessary)
+
+ wadalab-mincho-0-12.8.tar.Z (JIS X 0208 level 1,2 kanji)
+ wadalab-gothic-0-13.5.tar.Z
+ wadalab-mincho-0-8.4.tar.Z
+ wadalab-maru-0-8.4.tar.Z
+
+ wadalab-maru-1-8.tar.Z (JIS X 0212 level 3 kanji)
+ wadalab-mincho-1-8.tar.Z
+
+ tools/wftodm.c (conversion program, c.f. step 2)
+
+ Unpack the font archives in a temporary directory; you should get
+ subdirectories called `wadalab-sym', `wadalab-mincho-0-12', etc.
+
+ Note: DO NOT read the misleading `readme.ghostscript' document which
+ accompanies the fonts.
+
+
+2. Patch `wftodm.c' with the following to enable partial font downloading.
+ You can simply say
+
+ patch < wadalab.txt
+
+ to do that.
+
+=========================================================================
+--- wftodm-orig2.c Tue Sep 23 22:45:32 1997
++++ wftodm.c Sun Jul 30 08:56:43 2006
+@@ -1,6 +1,8 @@
+ #include <stdio.h>
++#include <string.h>
++#include <stdlib.h>
+ #include <sys/types.h>
+-#include <sys/time.h>
++#include <time.h>
+ char *charstrs[34][256];
+ int charlens[34][256];
+ char *version_str="001.001";
+@@ -157,6 +159,7 @@
+ output_afm(i);
+ }
+ }
++return 0;
+ }
+ output_afm(file)
+ {
+@@ -209,14 +212,13 @@
+ fprintf(ofp,"/UnderlineThickness 0 def\n");
+ fprintf(ofp,"end readonly def\n");
+ fprintf(ofp,"/FontName /%s def\n",fontname);
+- fprintf(ofp,"/DmEncoding [\n");
++ fprintf(ofp,"/Encoding 256 array\n");
++ fprintf(ofp,"0 1 255 {1 index exch /.notdef put} for\n");
+ for(i=0;i<16;i++){
+ for(j=0;j<16;j++)
+- fprintf(ofp," /c%02X",i*16+j);
+- putc('\n',ofp);
++ fprintf(ofp,"dup %d /c%02X put\n",i*16+j,i*16+j);
+ }
+- fprintf(ofp,"] readonly def\n");
+- fprintf(ofp,"/Encoding DmEncoding def\n");
++ fprintf(ofp,"readonly def\n");
+ fprintf(ofp,"/PaintType 0 def\n");
+ fprintf(ofp,"/FontType 1 def\n");
+ fprintf(ofp,"/FontMatrix [.001 0 0 .001 0 -0.16] readonly def\n");
+=========================================================================
+
+ After compilation with
+
+ cc -O -o wftodm wftodm.c
+
+ use it as follows:
+
+ wftodm -FontBase dg wadalab-sym/jis*.ps wadalab-gothic-0-13/goth-*.ps
+ wftodm -FontBase dm wadalab-sym/jis*.ps wadalab-mincho-0-12/min-*.ps
+ wftodm -FontBase mc wadalab-sym/jis*.ps wadalab-mincho-0-8/min-*.ps
+ wftodm -FontBase mr wadalab-sym/jis*.ps wadalab-maru-0-8/maru-*.ps
+ wftodm -FontBase mc2 wadalab-mincho-1-8/min*.ps
+ wftodm -FontBase mr2 wadalab-maru-1-8/maru*.ps
+
+ [Note: The order of the PS files on the command line doesn't matter.]
+
+ You should then get a whole set of {dg,dm,mc,mr}j[*].{afm,pfa} files in
+ your current directory, with [*]={greek,keisen,roma,russian,sy} coming
+ from sym-dir, and [*]={hira,kata,ka-kz} from the Kanji fonts.
+ {mc2,mr2}j[*].{afm,pfa} with [*]={ka-kw} are JIS X 0212 level 3 Kanji
+ font files.
+
+ Note: `wftodm.c' has been updated in Oct 97; previous versions will fail.
+
+
+3. Run the `makefont' script. It first normalizes the font matrix (to make
+ the subfonts work with pdfTeX), then it calls afm2tfm on each of the afm
+ files, and run t1disasm/t1asm (which are part of the t1utils package) on
+ each of the PFA files to convert them to PFB files which are much
+ smaller.
+
+
+4. Run the `fixwada2.pl' script to correct the glyph names. This needs the
+ perl program and the files `DNP.sfd' (from the CJK package),
+ `JIS0208.TXT', and `JIS0212.TXT' (from ftp.unicode.org, in the `OBSOLETE'
+ directory).
+
+ perl fixwada2.pl dgj jis0208
+ perl fixwada2.pl mrj jis0208
+ perl fixwada2.pl mr2j jis0212
+ perl fixwada2.pl dmj jis0208
+ perl fixwada2.pl mcj jis0208
+ perl fixwada2.pl mc2j jis0212
+
+
+5. Run the `makeuniwada.pl' script -- it needs the same auxiliary files
+ as `fixwada2.pl' -- to create virtual fonts for Unicode input encoding.
+
+ perl makeuniwada.pl dgj udgj
+ perl makeuniwada.pl mrj mr2j umrj
+ perl makeuniwada.pl dmj mc2j udmj
+ perl makeuniwada.pl mcj mc2j umcj
+
+
+Thanks
+------
+
+ Werner Lemberg <wl@gnu.org> for creating CJK and comments to this help
+ document.
+
+and
+
+ Joshua Redstone <redstone@cs.washington.edu> for contribution to non-root
+ setups.
+
+Also check out the following variables: $TEXFORMATS, $TEXINPUTS, $TEXFONTS,
+$DVIPSFONTS.
+
+
+Please send any suggestions or comments to LEUNG Hin-Tak <htl10@cam.ac.uk>.
+
+---End of wadalab.txt---
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/CEF.txt b/language/chinese/CJK/cjk-4.8.4/doc/CEF.txt
new file mode 100644
index 0000000000..48571c64ac
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/CEF.txt
@@ -0,0 +1,86 @@
+This is the file CEF.txt of the CJK macro package ver. 4.8.4 (18-Apr-2015).
+
+The Chinese Encoding Framework (CEF)
+------------------------------------
+
+Christian Wittern (http://www.kanji.zinbun.kyoto-u.ac.jp/~wittern/),
+developed CEF, the Chinese Encoding Framework. It is a method to embed CJK
+characters in seldom used encodings (which usually no editor provides) in
+ordinary text (which may be of any encoding). This is done by using SGML
+(Standardized Generalized Markup Language) macros of the form
+
+ &xx-yyzz;
+
+To input these characters Wittern wrote KanjiBase for Windows, essentially a
+character data base search engine written in Visual Basic. This application
+is rather obsolete today.
+
+
+`xx' in the SGML macro can have the following values:
+
+ C0 Big 5 encoded characters
+ C1 characters from CNS plane 1
+ ...
+ C7 characters from CNS plane 7
+ CX characters from a reserved encoding defined by IRIZ
+ CY private encoding
+ U Unicode characters
+
+`yy' and `zz' are the first and second byte in hexadecimal notation.
+For C0-C7, CX, and CY the 7bit notation must be used (GL).
+
+Examples:
+
+ &C0-A4CD;
+ &C4-275F;
+ &U-DCFF;
+
+
+TeX can't process these macros directly. They must be converted with one of
+the following preprocessors:
+
+ cefconv standard converter (also for use with cjk-enc.el)
+ cef5conv also converts Big 5 characters to preprocessed form
+ cefsconv also converts SJIS characters to preprocessed form
+
+ceflatex.bat is a simple batch file for DOS to show how to use the converter
+(cef5ltx.bat and cefsltx.bat are its siblings---for Unix, the scripts are
+called ceflatex, cef5latex, and cefslatex, respectively).
+
+Say
+
+ ceflatex mytext[.tex]
+
+to get mytext.tex processed. All CEF macros must be inside of a CJK (or
+CJK*) environment.
+
+To input CEF characters without preprocessing you can use the \CJKchar
+macro. Here an example:
+
+ \CJKchar[CNS4]{"27}{"5F}
+
+Note: The OS/2 script files ceflatex.cmd, etc., need REXX which you probably
+ have to install first.
+
+
+Availability
+------------
+
+The file
+
+ http://iriz.hanazono.ac.jp/pdf/eb4/x-level_kanjibase_codes.pdf
+
+contains a list of X level CJK characters defined by IRIZ. It isn't very
+useful because the document is a just a scan of some pages of the magazine
+`The Electronic Bodhidharma', published by the International Research
+Institute for Zen Buddhism (IRIZ) at the Hanazono University in Kyoto, Japan
+(iriz.hanazono.ac.jp). Note that this institute still publishes many
+Buddhist documents using CEF (there it is called `KanjiBase').
+
+More data about CEF and KanjiBase can be found at Christian Wittern's old
+home page
+
+ http://www.chibs.edu.tw/~chris/gwdg/home.htm
+
+
+---End of CEF.txt---
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/CJK.txt b/language/chinese/CJK/cjk-4.8.4/doc/CJK.txt
new file mode 100644
index 0000000000..1432ae81be
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/CJK.txt
@@ -0,0 +1,1273 @@
+
+This is the LaTeX2e style package CJK Version 4.8.4 (18-Apr-2015)
+=================================================================
+
+It is freely distributable under the GNU Public License.
+
+
+ **************************************************
+ * *
+ * You need LaTeX 2e version 2001/06/01 or newer! *
+ * *
+ **************************************************
+
+
+Usage
+-----
+
+Use CJK.sty as a package, e.g.,
+
+ \documentclass{article}
+ \usepackage[<option>]{CJK} .
+
+See section `Caveats' below for the available options. Normally, you don't
+need them.
+
+Two new environments,
+
+ \begin{CJK}[<fontencoding>]{<encoding>}{<family>}
+ ...
+ \end{CJK}
+
+and
+
+ \begin{CJK*}[<fontencoding>]{<encoding>}{<family>}
+ ...
+ \end{CJK*}
+
+are defined. The parameters have the following meaning:
+
+ <encoding> These character sets and encodings are currently
+ implemented in CJK.enc:
+
+ Bg5 (For traditional Chinese. Mainly used in Taiwan.
+ Character set: Big 5.
+ Encoding: Big 5 without UDA2 and UDA3.)
+ Bg5+ (For traditional Chinese. Obsolete.
+ Character set: Big 5+.
+ Encoding: GBK.)
+
+ HK (For traditional Chinese. Used in Hong Kong.
+ Character set: Big 5 + HKSCS-2004.
+ Encoding: Full Big 5.)
+
+ GB (For simplified Chinese. Mainly used in
+ PR China. Also called `EUC-CN'.
+ Character set: GB 2312-1980.
+ Encoding: EUC.)
+ GBt (For traditional Chinese. Rarely used in
+ PR China.
+ Character set: GB/T 12345-1990.
+ Encoding: EUC.)
+ GBK (For Chinese. An extension of GB 2312.
+ Character set: GBK.
+ Encoding: GBK.)
+
+ JIS (For Japanese.
+ Character set: JIS X 0208:1997.
+ Encoding: EUC.)
+ JIS2 (Japanese supplementary character set,
+ Character set: JIS X 0212-1990.
+ Encoding: EUC.)
+ SJIS (For Japanese. Used mainly on PCs. Also known
+ as `MS Kanji'.
+ Character sets:
+ 1-byte characters from JIS X 0201-1997
+ (half-width katakana),
+ 2-byte characters from JIS X 0208:1997.
+ Encoding: SJIS.)
+
+ KS (For Korean. Also called `EUC-KR'.
+ Character set: KS X 1001:1992 = KS C 5601-1992.
+ Encoding: EUC.)
+
+ UTF8 (Unicode Transformation format 8, also called
+ `UTF-2' or `FSS-UTF'.
+ Character set: Unicode.
+ Encoding: UTF-8.)
+
+ CNS1 (Chinese National Standard Plane 1,
+ Character set: CNS 11643-1992 plane 1.
+ Encoding: EUC.)
+ CNS2
+ ...
+ CNS7 (Character set: CNS 11643-1992 plane 2 - 7.
+ Encoding: EUC.)
+
+ CEFX (reserved CEF character set for IRIZ.
+ Encoding: EUC.)
+ CEFY (private CEF character set.
+ Encoding: EUC.)
+
+ Note: The value `HK' can be also used for complete Big 5
+ support which needs user-defined areas 2 and 3
+ (UDA2 and UDA3), located in the ranges
+ 0x8E40-0xA0FE and 0x8140-0x8DFE, respectively.
+
+ For details on HKSCS-2004 see
+
+ http://www.info.gov.hk/digital21/eng
+ /hkscs/download/e_sect3_2004.pdf
+
+
+ These encodings (except Big 5, Big 5+, HK, GBK, SJIS, and
+ UTF-8) are simplified EUC (Extended Unix Code) character
+ sets without single shifts. The used character set slot
+ G1 stands for two-byte encodings with byte values taken
+ from the GR (Graphic Right) character range 0xA1-0xFE
+ (as defined in ISO 2022).
+
+ Note that CNS1 and CNS2 contain almost the same
+ characters in the same order as Big 5 (but in EUC).
+
+ For CEF and CNS character sets see CEF.txt also.
+
+ Big 5+ and GBK have exactly the same encoding layout
+ (but their origins differ).
+
+ Additionally, the following encodings *with* single
+ shifts are implemented, using some of the above defined
+ character sets:
+
+ EUC-JP (for Japanese.
+ Character sets:
+ Half-width katakana (from JIS X 0201-1997),
+ JIS X 0208:1997,
+ JIS X 0212-1992.)
+
+ EUC-TW (for traditional Chinese.
+ Character sets:
+ CNS 11643-1992 planes 1-7.)
+
+ EUC-JP, EUC-TW, and UTF-8 encodings can't be used in
+ preprocessed mode (see below) because it makes no sense.
+ (To be more precise, UTF-8 sequences with more than two
+ bytes can't be used.)
+
+
+ If you use this parameter it is the same as you would
+ have used \CJKenc: Writing e.g.,
+
+ \begin{CJK}{Bg5}{...}
+ ...
+
+ is identical to
+
+ \begin{CJK}{}{...}
+ \CJKenc{Bg5}
+ ...
+
+ Note: A `character set' is an ordered collection of
+ glyphs. The order of the glyphs is just for
+ defining purposes and for reference.
+
+ An `encoding' is an ordering scheme to access a
+ character set. LaTeX 2e also uses the term `input
+ encoding'.
+
+ A character set can have many encodings
+ (cf. JIS X 0208 -> EUC, SJIS).
+
+ An encoding can be used for many character sets
+ (cf. EUC -> KS X 1001, GB 2312, etc.).
+
+ Sometimes, the character set has the same name
+ as the encoding (Big 5, Big 5+, GBK).
+
+ For more details I suggest to read the document
+ cjk.inf from Ken Lunde; it is available from
+
+ ftp://ftp.ora.com/pub/examples/cjkvinfo/
+ doc/cjk.inf
+
+ A really thorough reference is his latest book
+ `CJKV Information Processing' (O'Reilly).
+
+ Throughout this CJK documentation, `encoding'
+ refers to the valid encoding/character set
+ combinations defined just above.
+
+ <fontencoding> These font encodings are currently defined: `' (empty;
+ the default), `pmC' (available for Bg5, GB, GBt, JIS,
+ and KS), `dnp' (for JIS and SJIS), `wn' (for JIS), and
+ `HL' (for KS).
+
+ `Font encoding' means the order of characters in the
+ subfonts itselves. A change of the font encoding neither
+ alters the meaning of a CJK character nor changes the
+ character code in the selected encoding.
+
+ The font encoding `pmC' is defined for compatibility
+ with the pmC package (which is obsolete). It is not
+ encouraged to use this font encoding because of wasting
+ subfonts. If possible, convert your original CJK bitmap
+ fonts with hbf2gf (see hbf2gf.txt) or other tools to CJK
+ encodings.
+
+ `dnp' implements the character order of the Dai Nippon
+ Printing fonts and is only available for JIS and SJIS
+ encoding. `wn' (only available for JIS) is the font
+ encoding for watanabe jfonts. There exists a linking
+ package which maps the watanabe jfonts onto the dnp
+ naming scheme (thus you can use the real dnp fonts for
+ printing and the mapped jfonts for previewing). See the
+ documentation files in the `japanese' subdirectory for
+ further details.
+
+ `HL' allows the use of the new HLaTeX fonts (starting
+ with version 1.0); note that the definition of fonts is
+ rather different compared to HLaTeX. See the section
+ `Korean input' below for a detailed description.
+
+ You can change the font encoding per encoding with the
+ command \CJKfontenc; the first parameter is the
+ encoding, the second the font encoding.
+
+ <family> It is impossible to know in advance what fonts are
+ available at your site; look at the example FD (font
+ definition) files how to create or modify appropriate FD
+ files suiting your needs. See fonts.txt also for further
+ hints.
+
+ If this parameter is empty, the default value given in
+ CJK.enc is selected: `song' for all encodings except KS
+ (which defaults to `mj'). If you use this parameter it
+ is the same as you would have used \CJKfamily; all
+ encodings then use this family:
+
+ \begin{CJK}{...}{song}
+ ...
+
+ is identical to
+
+ \begin{CJK}{...}{}
+ \CJKfamily{song}
+ ...
+
+ You can change the families per encoding (and font
+ encoding) with the command \CJKencfamily; the first
+ parameter is the encoding, the second the family, the
+ optional argument is the font encoding. This overrides
+ the default value.
+
+ Note that \CJKfamily or a non-empty `family' parameter
+ of the CJK environment overrides any \CJKencfamily
+ commands. Say `\CJKfamily{}' to enable \CJKencfamily
+ again.
+
+
+ The CJK* environment swallows unprotected spaces and newlines after a
+ CJK character (the usual habit for Chinese and Japanese text), whereas
+ CJK does not (for European and Korean text). You can switch between
+ these two `modes' with \CJKspace (CJK* -> CJK) and \CJKnospace (CJK ->
+ CJK*).
+
+ If you use cjk-enc.el, you don't need to specify a CJK environment. This
+ is done automatically. See cjk-enc.txt for details.
+
+
+This is a typical example:
+
+ \begin{CJK*}{GB}{kai}
+ ...
+ Chinese simplified text in GB encoding
+ ...
+ \end{CJK*}
+
+
+How it works
+------------
+
+Asian logographs can't be represented completely with one byte per
+character. (At least) two bytes are needed, and the most common encoding
+schemes (UTF-8, GB, Big 5, JIS, KS, etc.) have a certain range for the first
+byte (usually 0xA1-0xFE or a part of it) which signals that this and the
+next byte represent an Asian logograph. This means almost all plain ASCII
+characters (characters between 0x00 and 0x7E) are left undisturbed, and the
+remaining character codes (0x80-0xFF) are assigned to a CJK encoding,
+creating a multiple-byte encoding with 1-byte and 2-byte characters (and
+even 3-byte and 4-byte characters for UTF-8).
+
+The character 0x7F is reserved also for the CJK package. See the section
+`Preprocessors' below.
+
+Encodings like EUC-TW access additional character sets using escape
+characters (0x8E and 0x8F) which signals that the next character comes
+from another character set (which is `shifted' to the GR range); up to
+four bytes are needed for a single character. Example:
+
+ 0x8E 0xA3 0xB7 0xCE
+
+ 0x8E is a single shift escape character; 0xA3 selects CNS plane 3, and
+ 0xB7CE is the character code (in GR representation) in this plane.
+
+CJK.sty makes the character codes 0x7F and 0x81-0xFE active inside of the
+CJK environment and assigns macros to the active characters which then
+select the proper font and character. The real mechanism is a bit more
+complex to assure robustness (it was borrowed and modified from LaTeX 2e's
+inputenc.sty) and correct handling of punctuation characters.
+
+* emTeX users: you must activate 8bit input and output while creating the
+* LaTeX2e format file! Do this by using the switches -o and -8 (additional
+* to the iniTeX switch -i).
+*
+* Example:
+*
+* tex386 -i -o -8 latex.ltx
+
+
+Some internals
+--------------
+
+Internally three levels (bindings, encodings, character macro sets) are
+defined:
+
+ active characters
+ |
+ +--------------> bindings (standard, SJIS, UTF8)
+ |
+ active character macros
+ |
+ +--------------> encodings (GB, Big 5, ...) +
+ | font encodings (none, dnp, wn, pmC, HL)
+ |
+ subfont selecting macros
+ |
+ +--------------> character macro sets (standard, Big 5, ...)
+ |
+ character selecting macros
+
+User-selectable are only the encoding and the font encoding (as explained
+above); the other levels are selected by the CJK package.
+
+These levels correspond to the following internal macros:
+
+ \CJK@xxxxBinding (`xxxx.bdg' files):
+ Possible values for `xxxx' are: standard, SJIS, UTF8, EUC-JP, and
+ EUC-TW.
+
+ \CJK@xxxxEncoding (`xxxx.enc' files):
+ Possible values for `xxxx' are: standard, extended, Bg5, SJIS, KS, UTF8,
+ pmCsmall, pmCbig, JISdnp, SJISdnp, KSHL, EUC-JP, and EUC-TW.
+
+ \CJK@xxxxChr (`xxxx.chr' files):
+ Possible values for `xxxx' are: standard, Bg5, KS, SJIS, UTF8, pmC,
+ HLaTeX, EUC-JP, and EUC-TW.
+
+In preprocessed mode (see below), no bindings are used.
+
+
+And now a more detailed description of the various encodings. Please note
+that you should never access these macros directly.
+
+ \CJK@standardEncoding is used for EUC encodings with the first and second
+ byte in the range 0xA1-0xFE (GB, GBt, JIS, JIS2, CNS, CEF).
+
+ \CJK@extendedEncoding is used for Big 5+ and GBK encodings. The first byte
+ is in the range 0x81-0xFE, the second byte in the range 0x40-0xFE (with a
+ gap at 0x7F).
+
+ \CJK@Bg5Encoding is used for Big 5 encoding with the first byte in the
+ range 0xA1-0xFE and the second byte in the range 0x40-0xFE (with a gap
+ from 0x7F-0xA0).
+
+ \CJK@SJISEncoding is used for SJIS encoding; one-byte characters are in
+ the range 0xA1-0xDF, two-byte characters have the first byte in the ranges
+ 0x81-0x9F and 0xE0-0xEF, the second byte runs from 0x40 to 0xFC except
+ 0x7F. Since SJIS only squeezes the JIS X 0208 character set into a new
+ scheme without changing the ordering, fonts produced by hbf2gf or ttf2pk
+ look the same for EUC and SJIS encoding except one-byte SJIS characters.
+ For more details see below the section `SJIS encoding'.
+
+ \CJK@KSEncoding is used for the KS X 1001 character set in EUC encoding.
+ Two sets of subfonts are defined, one for Hangul syllables and elements,
+ and a second for Hanja. For more details see below the section `Korean
+ input'.
+
+ \CJK@UTF8Encoding is used for Unicode in UTF-8 encoding. The first byte is
+ in the range 0xC0-0xDF for two-byte values, 0xE0-0xEF for three-byte
+ values, and 0xF0-0xF4 for four-byte values. The other byte(s) are in the
+ range 0x80-0xBF. Note that CJK expects two hexadecimal digits as a running
+ number in the font name (as defined in UTF8.enc) instead of two decimal
+ digits for subfonts covering characters up to U+FFFF. Subfonts for Unicode
+ values greater than 0xFFFF use four hexadecimal digits in the font name.
+ Select the option `unicode yes' in the hbf2gf config file if you use
+ hbf2gf to transform bitmap fonts in HBF format to PK fonts as used by
+ CJK.sty . Three commands (\CJKCJKchar, \CJKhangulchar, and \CJKlatinchar)
+ control the handling of intercharacter glue: \CJKCJKchar (the default)
+ selects CJK style (using \CJKglue), \CJKhangulchar selects hangul style
+ (using \CJKtolerance), and \CJKlatinchar selects none of them. This
+ encoding does not work in preprocessed mode.
+
+ \CJK@pmCsmallEncoding and \CJK@pmCbigEncoding can be activated with
+ \pmCsmall (this is the default) and \pmCbig inside the CJK environment.
+ Note that the original pmC fonts have two character sizes per font (the
+ bigger ones with an offset of -128); Bg5pmC encoded fonts cannot contain
+ big characters. The names of the fonts in the FD files reflect the
+ modifications added by Marc Leisher <mleisher@nmsu.edu> to the original
+ poor man's Chinese (pmC) package written by Thomas Ridgeway
+ <ridgeway@blackbox.hacc.washington.edu>.
+
+ \CJK@JISdnpEncoding is the JIS X 0208 character set in EUC encoding with
+ dnp fonts. The main difference (besides the offsets) is the composition of
+ real font names; a dnp font name consists of name stem + subfont name +
+ designsize: an example is dmjkata10. Note that the wadalab PS fonts omit
+ the designsize part in the font names, thus it is sufficient (and even
+ better) to use the `CJK' size functions in FD files instead of the `DNP'
+ ones. \CJK@JISwnEncoding is similar to JISdnp encoding but uses Watanabe
+ jfonts; \CJK@SJISdnpEncoding maps SJIS onto dnp encoded fonts.
+
+ \CJK@KSHLEncoding finally uses the new fonts of the HLaTeX package for
+ Korean; three internal encodings are necessary to represent it. See the
+ next section for details.
+
+ \CJK@EUC-TWEncoding and \CJK@EUC-JPEncoding are quite similar to
+ \CJK@standardEncoding but implement single shift access additionally. They
+ can't be used in preprocessed mode.
+
+
+Korean input
+------------
+
+There is already a package which handles Hangul and Hanja (but no other
+CJK character sets): HLaTeX.
+
+To use KS encoding, say
+
+ \begin{CJK}{KS}{}
+ ...
+ \end{CJK} .
+
+These font switches are available inside the environment:
+
+ hangul fonts from former hlatex (in the han font packages):
+
+ * \mj MyoungJo (default)
+ \gt Gothic
+ \gs BootGulssi
+ \gr Graphic
+ \dr Dinaru
+
+ hangul fonts from former jhtex (in the han1 font packages):
+
+ * \hgt Hangul Gothic
+ * \hmj Hangul MyoungJo (MunHwaBu fonts)
+ * \hpg Hangul Pilgi
+ \hol Hangul Outline (MyoungJo)
+
+
+If a font is marked with a star, real bold series are available. All other
+bold fonts are defined using poor man's boldface (see below the section
+`Poor man's boldface').
+
+See the file INSTALL how to get these fonts. Both `han' and `han1' packages
+contain bitmap fonts only (in PK format).
+
+Note that the font switches are abbreviations for \CJKencfamily and not for
+\CJKfamily.
+
+
+For characters with the first byte in the ranges 0xA1-0xAF (except 0xA4) and
+0xC9-0xFD (graphic characters, hanja, archaic hangul, etc.) fonts with the
+encoding C60 are used. C61 is assigned to hangul fonts (for hangul elements
+with the first byte 0xA4 and hangul characters in the range 0xB0-0xC8). This
+enables the use of many hangul fonts and perhaps only one or two different
+hanja fonts. If you want to use C60 encoding for hangul characters also say
+\CJKhanja. The opposite command is \CJKhangul (of course this works only if
+you have hangul characters in the C60 font).
+
+Archaic hangul elements (KS X 1001 0xA4D5-0xA4FE) and the character
+KS X 1001 0xA4D4 are only accessible if \CJKhanja is active.
+
+You should convert your KS X 1001 hanja fonts using hbf2gf (or ttf2pk) as
+described above.
+
+
+To use HLaTeX fonts, say
+
+ \begin{CJK}[HL]{KS}{}
+ ...
+ \end{CJK} .
+
+All HLaTeX fonts are PS fonts; these font switches are available inside the
+environment (as defined in HLaTeX 1.0; this differs from older versions):
+
+ \bm Bom
+ * \dn Dinaru
+ * \gr Graphic
+ + \gs Gungseo
+ + * \gt Gothic
+ \jgt Jamo Gothic
+ \jmj Jamo Myoungjo
+ \jnv Jamo Novel
+ \jsr Jamo Sora
+ + * \mj Myoungjo
+ * \pg Pilgi
+ \pga Pilgia
+ \ph Pen Heulim
+ \pn Pen
+ + \sh Shinmun Myoungjo
+ + \tz Typewriter
+ \vd Vada
+ \yt Yetgul
+
+If a font is marked with an asterisk, real bold series are available. All
+other fonts are defined using poor man's boldface (see below). Only fonts
+marked with a plus sign are available for hanja too; the other font families
+are mapped to these six hanja families. For backwards compatibility, \ol and
+\sm are defined also; both are now equivalent to \mj.
+
+UN Koaung-Hi <koaunghi@kornet.net>, the author of HLaTeX, defines three
+groups of fonts: hangul, hanja, and symbols. The CJK package needs three
+internal encodings (C63 for hanja, C64 for symbols, and C65 for hangul) to
+represent the font encoding scheme of HLaTeX.
+
+HLaTeX options:
+
+The option `hardbold' has been integrated into the FD files---I consider the
+fact whether you have bold series available or not as a fundamental local
+font setup decision which should be coded into the FD files and not into the
+document. As a consequence you have to change your FD files to emulate the
+`softbold' option with CJK's poor man's boldface. Example:
+
+ \DeclareFontShape{C63}{gt}{bx}{n}{<-> CJK * wgtb}{}
+
+should be changed to
+
+ \DeclareFontShape{C63}{gt}{bx}{n}{<-> CJKb * wgt}{\CJKbold} .
+
+and similar font definitions too.
+
+[Well, it is not really necessary to modify the FD files to emulate the
+ `softbold' option: just insert the appropriate \DeclareFontShape and/or
+ \DeclareFontFamily commands in the preamble of your document.]
+
+Finally a warning: Please bear in mind that CJK does not emulate the
+behaviour of HLaTeX, it only supports its fonts.
+
+
+Big 5 encoding
+--------------
+
+See below the section `Preprocessors' for the preferred input method using
+bg5conv.
+
+The characters `\', `{', and `}' are used as second bytes in the Big 5
+encoding. This collides with TeX. If you write Big 5 text mixed with other
+encodings (and you don't want/can't use Mule, Emacs or bg5conv), you should
+use the Bg5text environment which changes the category codes of these
+characters. The command prefix is now the forward slash `/', and the
+grouping characters are `(' and `)', respectively.
+
+An example:
+
+ \begin{CJK}{Bg5}{song}
+ \begin{Bg5text}
+ ...
+ /begin(center)
+ ...
+ /end(center)
+ ...
+ /end(Bg5text)
+ \end{CJK}
+
+To get the `/', `(', and `)' characters, write `//', `/(', and `/)' inside
+the Bg5text environment.
+
+This environment is ugly, and some commands like \newcommand don't work in
+it. Starting with CJK version 3.0 it is also possible to use different
+encodings in preprocessed mode, thus this environment is almost obsolete.
+
+Instead of using the Bg5text environment you can protect the offending
+second bytes with a backslash, i.e., `\{', `\}', `\\' (using a non-Chinese
+editor). This doesn't increase the readability of the Chinese text, but for
+short texts it is perhaps more comfortable. Alas, it doesn't work in page
+header commands because the macros `\{', etc., are not expanded.
+
+Be careful not to use any commands inside the Bg5text environment which
+write something into an external file (commands like \chapter, etc.).
+
+If it is not possible to avoid Big 5 character codes with `\', `{', or `}'
+outside of the Bg5text environment (e.g., having Big 5 text in a \chapter or
+\section command), you can replace them with the \CJKchar macro manually:
+
+ \section{This is a problematic Big 5 character: \CJKchar{169}{92}}
+
+The parameters are the first and second byte of the Big 5 character code.
+You can also use hexadecimal or octal notation. See commands.txt for a full
+description of \CJKchar.
+
+An environment `HKtext' similar to `Bg5text' is defined for the `HK'
+encoding; the same restrictions as explained above hold.
+
+
+SJIS encoding
+-------------
+
+See below the section `Preprocessors' for the preferred input method using
+sjisconv.
+
+Shift-JIS encoding is widely used on PCs for Japanese. A special feature is
+the simultaneous use of one-byte and two-byte encoded characters which arose
+because of backwards compatibility. The two-byte encoded character set is
+completely identical to the JIS X 0208 character set, even the ordering is
+the same. Thus there is no need for special two-byte SJIS FD files; the font
+definition files for JIS X 0208 are used.
+
+The situation is different for one-byte SJIS characters, the so called
+`half-width' Katakana (encoding C49) from JIS X 0201. Usually you should use
+full-width Katakana fonts too to get a typographically correct output. The
+exception is a typewriter font which should really have only the half width
+of normal Kanji or Katakana to represent screen snapshots or similar things.
+The use of C49 encoding can be controlled with the \CJKhwkatakana and
+\CJKnohwkatakana macros (see commands.txt for more information).
+
+Fonts in C49 encoding scheme must have the character glyphs at the code
+points 0xA1-0xDF.
+
+An environment `SJIStext' similar to `Bg5text' is defined; the same
+restrictions as explained in the previous section hold.
+
+
+Big 5+ and GBK encodings
+------------------------
+
+See below the section `Preprocessors' for the preferred input method using
+extconv.
+
+These relatively new encodings are used in some older MS Windows versions in
+Taiwan (Big 5+) and Mainland China (GBK). Both encodings implement the whole
+CJK character repertory of Unicode in the Basic Multilingual Plane
+(U+4E00-U+9FFF, approx. 21000 characters) and a few other characters but
+still try to be backwards compatible. All code points of Big 5 are identical
+to the code points in Big 5+, and the same holds for GB 2312-1980 and GBK.
+Note that the default CJK font encodings for Big 5+ and Big 5 are *not*
+compatible. The same is true for GBK and GB2312.
+
+Two new environments, `Bg5+text' and `GBKtext' similar to `Bg5text' are
+defined also; the same restrictions as above hold.
+
+
+CJK captions
+------------
+
+To use the supplied caption files you need the koma-script package. The main
+reason why I choose these style files instead of the standard classes is the
+fact that the author of koma-script is willing to support CJK. On the other
+hand, the philosophy of the LaTeX 2e maintainers is not to add new features
+to the standard classes.
+
+The koma-script style files are maintained by Markus Kohm
+(Markus.Kohm@gmx.de); they are available at the CTAN hosts.
+
+
+If you say \CJKcaption{<caption>} inside of a CJK environment, the file
+<caption>.cpx is loaded (.cpx is a preprocessed version of .cap)
+
+Example:
+
+ \documentclass{scrartcl}% this is a KOMA-script class
+ \usepackage{CJK}
+
+ \begin{document}
+ \begin{CJK*}{GB}{kai}
+ \CJKcaption{GB}% loading GB.cpx
+
+ \chapter{blablabla}% is formatted in Chinese
+
+ ...
+
+ \end{CJK*}
+ \end{document}
+
+
+Note that for Korean three caption files are available: hanja.cap for
+captions using hanja (this corresponds to HLaTeX's `hanja' option) and
+two caption files (hangul.cap and hangul2.cap) using hangul.
+
+For GBK encoding use the GB.cap file. Similarly, use Big5.cap for Big 5+
+encoding.
+
+In case you want to edit a CAP file, you must create its corresponding
+CPX file too. After editing, preprocess the file with
+
+ bg5conv < xxx.cap > xxx.cpx
+
+(for caption files in SJIS encoding use sjisconv instead), then change
+the file name identification strings in the CPX file accordingly.
+
+In UTF-8 encoding, the following caption files are available.
+
+ ja Japanese
+ ko-Hang Korean using Hangul
+ ko-Hang2 another version using Hangul
+ ko-Hani Korean using Hanja
+ zh-Hans Chinese simplified
+ zh-Hant Chinese traditional
+
+Since those files are identical to its encoding-specific counterparts,
+only CPX versions are provided.
+
+
+Underlining and other font effects
+----------------------------------
+
+Full support for Donald Arseneau's ulem.sty package (beginning with version
+2000-05-26) is available by using CJKulem.sty (which loads ulem.sty
+automatically). No changes to ulem's interface.
+
+Even more font effects specific to CJK scripts can be found in CJKfntef.sty;
+usage examples can be found in the file CJKfntef.tex .
+
+A word of caution: Don't use \CJKfamily{...} or similar commands within the
+argument to \uline and friends.
+
+
+Poor man's boldface
+-------------------
+
+Most CJK fonts available in the public domain do not have bold series. To
+emulate boldface by printing the character three times with slight
+horizontal offsets some special features are used:
+
+ CJK uses \CJKsymbol internally instead of \symbol to access CJK
+ characters (after the correct font has been selected). This macro
+ honours the \ifCJK@bold@ flag; if set it emulates boldface. The default
+ value of the horizontal offset is 0.015em; to change it you should
+ redefine \CJKboldshift, the macro which holds this shift.
+
+ \ifCJK@bold@ can be set and unset globally with the commands \CJKbold
+ and \CJKnormal. These commands are intended to be used with
+ \DeclareFontShape as follows:
+
+ \DeclareFontShape{C00}{CNS}{m}{n}{<-> CJK * csso12}{}
+ \DeclareFontShape{C00}{CNS}{bx}{n}{<-> CJKb * csso12}{\CJKbold}
+
+ It should be never necessary to use \CJKnormal since \selectfont has
+ been modified to always reset \ifCJK@bold@ and to call the
+ loading-settings (i.e., the sixth parameter) of \DeclareFontShape if
+ a CJK size function is in use.
+
+ Additionally, new size functions (CJKb, sCJKb, CJKfixedb, sCJKfixedb,
+ and others; see fonts.txt for details) have been introduced which are
+ completely identical to its counterparts without the final `b'. The only
+ reason to use them is, as shown in the above example, to make the fifth
+ parameter of \DeclareFontShape for bold series different from the one
+ for medium series (LaTeX 2e uses this parameter as a macro name to
+ execute loading-settings, thus they must not be equal).
+
+
+Embedding non-CJK words into CJK text
+-------------------------------------
+
+To enable line breaking you should separate non-CJK words and CJK characters
+with horizontal space. But the ordinary space dimensions inserted by TeX
+based on the current non-CJK font often looks bad because the surrounding
+CJK characters are printed almost side by side (the non-stretched value of
+\CJKglue is 0pt). Especially in extreme cases which happen in underfull
+\hbox commands the default space distorts the CJK text too much.
+
+If you say \CJKtilde, the active `~' character doesn't produce an
+unbreakable space; instead, the following definition is used:
+
+ \def~{\hspace{0.25em plus 0.125em minus 0.08em}} .
+
+This defines a space which has a normal width of a quarter (CJK) space. See
+the file japanese/shibuaki.txt for some further details.
+
+Here an example:
+
+ ThisIsChineseText~test~ThisIsChineseText
+
+ ^^^^^^
+
+Simply use tilde characters instead of spaces at the border between CJK and
+non-CJK characters.
+
+In BibTeX entries, you have to use `{~}' instead of `~'.
+
+The original definition of `~' is available as \nbs (non-breakable space, a
+shorthand for the LaTeX command \nobreakspace). To return to the standard
+`~' macro definition say \standardtilde.
+
+Note that the opposite is not true: To embed CJK words into non-CJK text an
+ordinary space is optimal.
+
+If you use Mule or Emacs 20 please consider the use of cjktilde.el in
+utils/lisp. This small package defines a minor mode (cjk-tilde-mode) which
+exchanges the space key with the tilde key. It is convenient to bind this
+mode to a key, e.g., C-insert.
+
+For AUC TeX you can also use cjkspace.el which is similar (but not
+identical) to cjktilde.el .
+
+
+Preprocessors
+-------------
+
+Using the `XXXtext' environments like `Bg5text' is a mess. Thus three
+preprocessors are provided to overcome the restrictions of the XXXtext
+environments: bg5conv and sjisconv Big 5 and SJIS encoding, and extconv for
+GBK and Big 5+ encoding characters. Compile them with
+
+ cc -O -s -o bg5conv bg5conv.c
+ cc -O -s -o sjisconv sjisconv.c
+ cc -O -s -o extconv extconv.c
+
+and move the binaries to a location in your path, e.g., /usr/local/bin in
+a Unix system. [`cc' is the C compiler.]
+
+See the batch files bg5latex[.bat], etc., for examples how to use them.
+
+Each Big 5, Big 5+, or GBK character (and each two-byte encoded SJIS
+character) `XY' is converted into the form `^^7fX^^7fZZZ^^7f'; ZZZ is the
+decimal equivalent of Y, and ^^7f is a character with the hex value 0x7F.
+The use of bg5conv/sjisconv/extconv is completely transparent; no changes to
+your documents are necessary.
+
+It is possible to mix preprocessed and non-preprocessed data; simply use
+\CJKenc to change the encoding; you can use \CJKinput and \CJKinclude to
+load preprocessed data (see commands.txt for a detailed description).
+
+If you use traditional Chinese characters within Mule or Emacs 20, it is not
+necessary to call bg5conv after the use of *cjk-coding* output encoding (but
+it is necessary if you write out the file in Big 5 encoding).
+
+Note 1: The OS/2 script files bg5latex.cmd, etc., need REXX which you
+ probably have to install first.
+
+Note 2: With extconv, you can also preprocess encodings like GB or SJIS.
+ This has the advantage that such data is robust against any changes
+ of the uc/lccodes in the range 0xA1-0xFE. Only three encodings can't
+ be preprocessed: UTF8, EUC-TW, and EUC-JP.
+
+
+Customization
+-------------
+
+In case you want to add encodings, font encodings, and related things, or if
+you must change or customize some CJK settings, you should use a
+configuration file called `CJK.cfg' which is loaded (if it exists) by
+CJK.sty just before the final \endinput command.
+
+
+Caveats
+-------
+
+ o You can of course use CJK environments inside of a CJK environment,
+ but it is possible that you must increase the so called `save size'
+ of TeX (with emTeX you can adjust this with -ms=...; web2c users
+ can control it with the `save_size' parameter in texmf.cnf).
+
+ The CJK package has optional arguments which control the scope of
+ CJK environments:
+
+ lowercase If you want to use \lowercase with encodings
+ inside CJK environments. You need less save size
+ using the `encapsulated' option if `lowercase'
+ is not set. You must use bg5conv (sjisconv) or
+ cjk-enc.el to use Big 5 (SJIS) characters with
+ this option.
+
+ Use this with caution! All \lccode values in the
+ range 0x80-0xFF are set to zero, thus disabling
+ TeX's hyphenation mechanism for words which
+ contain characters of this range in the *input
+ encoding* (e.g., Latin-1 encoded words with
+ accents). This is due to an unfortunate mangling
+ of the input and output encoding mechanism in
+ TeX itself.
+
+ global \lccode (if `lowercase' set), \uccode, \catcode
+ and the activation of the characters 0x81-0xFE
+ are globally modified (\lccode and \uccode reset
+ to 0). This is the most economical mode
+ concerning save size, but you can't have CJK
+ environments inside of CJK environments or other
+ environments which manipulate the character
+ range 0x81-0xFE.
+
+ All CJK font selection commands are globally too!
+
+ Packages which change some of the above values
+ only once (e.g., in the preamble) also don't
+ work after the first use of a CJK environment.
+
+ cjk-enc.el automatically selects this option.
+
+ local \lccode (if `lowercase' set) and \uccode
+ together with bindings are modified globally.
+ This is the default. You can stack CJK
+ environments.
+
+ active If activated, bindings are local additionally.
+ You need this option if you want to mix
+ preprocessed text with non-preprocessed text in
+ nested CJK environments. This can happen if you
+ merge texts in various encodings.
+
+ encapsulated If you want to access e.g., T1 fonts directly
+ (i.e., without the macros defined in t1enc.def)
+ or if you want to use a non-CJK LaTeX 2e input
+ encoding outside of the CJK environment (e.g.,
+ `latin1' for Western European, `latin2' for
+ Eastern European), you must use this option.
+ This also ensures that \uppercase and \lowercase
+ (together with \MakeUppercase and
+ \MakeLowercase) work correctly. All values
+ mentioned above are local, so you can stack
+ environments. This option probably causes an
+ overflow of the save size.
+
+ Note: All macro packages which access T1 fonts
+ with the macros defined in t1enc.def work in CJK
+ environments! E.g., the command `"s' of
+ german.sty works with \MakeUppercase too.
+
+
+ Say
+
+ \usepackage[<option>]{CJK}
+
+ to activate <option>.
+
+ o There is another way to overcome the problem of stacked
+ environments. CJK implements four CJK attribute switches: \CJKenc,
+ \CJKfontenc, \CJKencfamily, and \CJKfamily; see commands.txt for a
+ detailed description. If you need two different encodings/families
+ at the same output line, you must use these macros.
+
+ An example for \CJKfamily:
+
+ \begin{CJK}{GB}{song}
+ ... Text in GB song ... \CJKenc{GBt}
+ ... Text in GBt song ... \CJKfamily{kai}
+ ... Text in GBt kai ...
+ \end{CJK}
+
+ An example for \CJKencfamily:
+
+ \CJKencfamily{Bg5}{fs}% fangsong
+ \CJKencfamily{GB}{kai}
+
+ \begin{CJK*}{}{}
+ \CJKenc{Bg5} ... Text in Big 5 fangsong ...
+ \CJKenc{GB} ... Text in GB kai ...
+ \end{CJK*}
+
+ Contrary to \begin{CJK}{...}{...} it is not necessary to start a new
+ line in your TeX document file after \CJKenc.
+
+ o A similar command to \CJKchar is \Unicode{<byte1>}{<byte2>} to
+ access Unicode characters (real Unicode values, not UTF-8 encoded
+ Unicode) directly; the parameters are the first (high) and second
+ (low) byte of the Unicode. \Unicode works only in UTF-8 encoding; in
+ all other encodings you must use \CJKchar[UTF8]{<byte1>}{<byte2>}
+ instead.
+
+ For Unicode characters greater than U+FFFF, put the first two bytes
+ into the first argument, and the third byte into the second
+ argument. Examples are \Unicode{"25E}{"9A} and
+ \CJKchar[UTF8]{"25E}{"9A} to represent U+25E9A.
+
+ o CJK disables \MakeUppercase (preserving the command as
+ \CJKuppercase) if you select Big 5 or SJIS encoding without using
+ bg5conv or sjisconv. This usually affects the headers of the LaTeX
+ 2e standard classes only.
+
+ o Because CJK.sty and MULEenc.sty insert glue between CJK (and Thai)
+ characters, it is possible to get unwanted line breaks in verbatim
+ environments if lines are too long. To avoid this, use the command
+ \CJKverbatim in combination with the `verbatim' package. It installs
+ a hook which disables \CJKglue and \Thaiglue in verbatim
+ environments.
+
+
+Possible errors
+---------------
+
+ o If you write Chinese (or Japanese) text, don't forget to suppress
+ the linefeed character with a trailing `%' in the CJK environment,
+ otherwise you get unwanted spaces in the output. On the other side,
+ say `\ ' or something similar inside the CJK* environment to get a
+ space after a CJK character.
+
+ o To suppress a line break before a CJK character, say \CJKkern. This
+ command prevents the insertion of \CJKglue before the CJK character.
+
+ You may wonder about the strange name: a small kern (2 sp) between
+ two CJK characters signals that the first one is a punctuation
+ character.
+
+ o If you get the error message: `\CJK... undefined' or other `...
+ undefined ...' messages and you can't find an error, try inserting
+ \newpage, \clearpage, or \cleardoublepage (the latter for two-column
+ printing) before saying \end{CJK} or \end{CJK*}. This can happen if
+ LaTeX 2e writes headers, footers, or index entries (both \index and
+ \printindex) of a page containing CJK characters after closing the
+ CJK environment.
+
+ In case of footnotes with CJK characters which are split across
+ pages, you have to close the CJK environment on the page on which
+ the particular footnote ends (probably preceded by a \newpage
+ command).
+
+ A similar error message from CJKutf8.sty (with the same solution) is
+
+ Package inputenc Error:
+ Unicode char \u 8: XXX not set up for use with LaTeX
+
+ o A similar message to the one mentioned in the last item can be
+ caused by using the \EveryShipout command from everyshi.sty; here
+ the reason is exactly the opposite, namely the possible use of a
+ non-CJK font within an implicit CJK environment. For example, if
+ you have
+
+ \EveryShipout{
+ \fontfamily{phv}%
+ \selectfont
+ ...
+ }
+
+ it can happen that LaTeX tries to use family `phv' for a `CXX'
+ encoding. The solution is to specify the encoding in \EveryShipout
+ also:
+
+ \EveryShipout{
+ \fontfamily{phv}%
+ \fontencoding{T1}%
+ \selectfont
+ ...
+ }
+
+ o Some file editors insert a Byte Order Mark (BOM, U+FEFF) even if
+ they emit UTF-8. This sequence consists of the three bytes 0xEF
+ 0xBB 0xBF, always to be found at the very beginning of a file,
+ and which should be ignored.
+
+ Unfortunately, there is no way to handle them automatically in the
+ CJK package so that they don't produce output or warnings (or even
+ error messages) -- it would be necessary to add a hack to the LaTeX
+ kernel itself. In other words, these three bytes must be removed
+ before LaTeX is called.
+
+ o If you get overfull \hbox'es caused by CJK characters, try to
+ increase \CJKglue. It defines the glue between CJK characters; the
+ default definition is
+
+ \newcommand{\CJKglue}{\hskip 0pt plus 0.08\baselineskip} .
+
+ \CJKglue is inserted by CJK.sty between CJK characters (except
+ punctuation characters as defined in the punctuation tables; see
+ CJK.enc for the lists). You should separate non-CJK text from CJK
+ characters with spaces to enable hyphenation, or you write
+ \CJKtilde and then use `~' instead of spaces to embed non-CJK text
+ into CJK characters.
+
+ o If you get overfull \hbox'es caused by Hangul syllables, try to
+ increase \CJKtolerance. The default definition is
+
+ \newcommand{\CJKtolerance}{400} .
+
+ Alternatively, try to increase \emergencystretch (which is a TeX
+ primitive), setting it to a reasonable value.
+
+ o The default definition of \CJKglue can cause problems with CJK
+ characters within a `tabular' environment since the environment sets
+ \baselineskip to zero, effectively disabling inter-character glue.
+ If you need stretching (for example by using \makebox with the `s'
+ position argument), you must redefine \CJKglue, before entering the
+ `tabular' environment, to something like this:
+
+ \def\CJKglue{\hskip 0pt plus 1pt}
+
+ o It is not possible to start a new encoding inside of a verbatim
+ environment which has not been loaded before (CJK.sty emits an
+ \input ... command which causes the encoding file to be printed
+ verbatim instead of being executed). In this case, write a proper
+ \CJKenc{...} command before opening the verbatim environment.
+
+ Example:
+
+ \CJKenc{JIS} % this loads standard.enc and standard.chr
+
+ \begin{verbatim}
+ ...
+ first time JIS characters appear
+ ...
+ \end{verbatim}
+
+
+ cjk-enc.el does this automatically for you.
+
+ o If you get an error message which looks like this:
+
+
+ ! Undefined control sequence.
+ try@size@range ...extract@rangefontinfo font@info
+ <-*>@nil <@nnil
+
+
+ then you are using an unknown family for a CJK encoding.
+
+ Reason: If you declare an NFSS font encoding in the standard way the
+ corresponding FD file for the default font is loaded. For the CJK
+ package this would be almost 30 files which is inacceptable. To
+ avoid this overhead NFSS is faked with some rudimentary definitions
+ just enough to pass the NFSS tests. Of course this has a
+ disadvantage: An unknown CJK family causes the above error instead
+ of switching to the fallback family usually defined with
+ \DeclareFontSubstitution. Nevertheless, replacing an undefined
+ series or shape works correctly.
+
+ The CJK package's default family value is `song' for all encodings
+ except KS; to avoid the error just described in cases you start an
+ environment with an empty family parameter the files `XXXsong.fd'
+ for all encodings `XXX' (except for KS) are already provided.
+
+ o It is neither possible to use a CJK character in a \cite command of
+ standard LaTeX, nor is it possible to use the `alpha' citation
+ style. This is a limitation of LaTeX and not of the CJK package.
+
+ o Sometimes it is necessary to define or redefine a command or
+ environment globally in the preamble, using CJK characters. Example:
+
+ \newtheorem{Them}{some Chinese characters}[section]
+
+ This won't work directly because of the Chinese characters,
+ producing an error. The next idea is to use a CJK environment in the
+ preamble:
+
+ \begin{CJK}{...}{...}
+ \newtheorem{Them}{some Chinese characters}}[section]
+ \end{CJK}
+
+ Don't be surprised that this also fails! Most commands like
+ \newtheorem expand to \def which define a macro locally only;
+ consequently, the just defined command is undefined again after
+ leaving the CJK environment.
+
+ The correct solution is to use a globally defined macro:
+
+ \begin{CJK}{...}{...}
+ \gdef\ChineseTheorem{some Chinese characters}
+ \end{CJK}
+
+ \newtheorem{Them}{\ChineseTheorem}[section]
+
+ In case you still have problems caused by premature expansion, add
+ \protect, e.g.
+
+ \newcites{Them}{\protect\ChineseTheorem}
+
+ o The \makelabels command of letter.sty needs special treatment if you
+ have an address with CJK characters because it uses the
+ \AtEndDocument hook to write out its data. Since \AtEndDocument is
+ called by \end{document} after all environments have been closed
+ already, a CJK environment must be explicitly inserted into the AUX
+ file. Example:
+
+ \documentclass{letter}
+
+ \usepackage{CJK}
+
+ \makeatletter
+ \AtBeginDocument{%
+ \if@filesw
+ \immediate\write\@mainaux{\string\begin{CJK*}{...}{...}}%
+ \fi}
+ \makelabels
+ \AtEndDocument{%
+ \if@filesw
+ \immediate\write\@mainaux{\string\end{CJK*}}%
+ \fi}
+ \makeatother
+
+
+ \begin{CJK*}{...}{...}
+ \address{An address\\
+ with some CJK characters}
+ \signature{...}
+ \end{CJK*}
+
+
+ \begin{document}
+
+ \begin{CJK*}{...}{...}
+
+ \begin{letter}{Another address\\
+ with some CJK characters}
+ \opening{...}
+
+ Your letter text
+
+ \closing{...}
+ \end{letter}
+
+ \end{CJK*}
+
+ \end{document}
+
+ o A similar solution is needed if you use \bibliography and your
+ bibliographic database contains author names with CJK characters.
+
+ \makeatletter
+ \AtBeginDocument{%
+ \if@filesw
+ \immediate\write\@mainaux{\string\begin{CJK*}{...}{...}}%
+ \immediate\write\@mainaux{\string\makeatletter}%
+ \fi}
+ \AtEndDocument{%
+ \if@filesw
+ \immediate\write\@mainaux{\string\end{CJK*}}%
+ \fi}
+ \makeatother
+
+ o The `beamer' class, if used with the CJKutf8 package, should open
+ and close the document's `CJK' environment with the \AtBeginDocument
+ and \AtEndDocument hooks, respectively:
+
+ \AtBeginDocument{%
+ \begin{CJK*}{UTF8}{...}}
+ \AtEndDocument{%
+ \end{CJK*}}
+
+ o If you get strange error messages while using the hyperref package,
+ add the `CJKbookmarks' option:
+
+ \usepackage[CJKbookmarks]{hyperref}
+
+ o Some versions of fourier.sty cause the following error message:
+
+ ! Undefined control sequence.
+ \<->futr8t ->\SetFourierSpace
+
+ A simple solution is to insert the line
+
+ \providecommand{\SetFourierSpace}{}
+
+ right before loading fourier.sty .
+
+ o Combining the `slovak', `esperanto', or `kurmanji' option of Babel
+ (tested 2010/01/04) with the CJK package fails as soon as you try to
+ open a CJK environment. This error is a Babel bug not related to
+ CJK: After loading one of these language modules, the ^^xx notation
+ fails due to an incorrect \catcode value of the `^' character (even
+ outside of those language environments).
+
+ A workaround is to insert the line
+
+ \catcode`\^ 7\relax
+
+ right before a starting a CJK environment.
+
+
+Author
+------
+
+Werner Lemberg <wl@gnu.org>
+
+Please report any errors or suggestions to cjk-list@nongnu.org.
+
+
+---End of CJK.txt---
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/CJKnumb.txt b/language/chinese/CJK/cjk-4.8.4/doc/CJKnumb.txt
new file mode 100644
index 0000000000..5f0ca179f2
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/CJKnumb.txt
@@ -0,0 +1,25 @@
+This is the file CJKnumb.txt of the CJK macro package ver. 4.8.4
+(18-Apr-2015).
+
+CJKnumb.sty
+------------
+
+This package provides commands to typeset CJK representations of
+numbers (within a CJK or CJK* environment).
+
+ \CJKnumber{number}
+ Convert `number' to a full CJK representation.
+
+ \CJKdigits{arg}
+ \CJKdigits*{arg}
+ Handle `arg' as a string of digits and convert each of them into the
+ corresponding CJK digit. The starred version uses the traditional glyph
+ for digit zero; the unstarred version uses the CJK circle glyph.
+
+Usage:
+
+ \usepackage{CJK}
+ \usepackage{CJKnumb}
+
+
+---End of CJKnumb.txt---
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/CJKspace.txt b/language/chinese/CJK/cjk-4.8.4/doc/CJKspace.txt
new file mode 100644
index 0000000000..6743c3b049
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/CJKspace.txt
@@ -0,0 +1,22 @@
+This is the file CJKspace.txt of the CJK macro package ver. 4.8.4
+(18-Apr-2015).
+
+CJKspace.sty
+------------
+
+This package provides a modified `CJK*' environment which suppresses spaces
+between CJK characters only. Its main usage are documents written in
+English with frequent insertions of CJK words or phrases and modern Chinese
+documents which do the opposite.
+
+Note that this package is not optimal for Japanese since typographic
+conventions mandate the use of shibuaki spaces (see `japanese/shibuaki.txt'
+for more details); this can't be handled automatically with traditional TeX.
+
+Usage:
+
+ \usepackage{CJK}
+ \usepackage{CJKspace}
+
+
+---End of CJKspace.txt---
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/CJKutf8.txt b/language/chinese/CJK/cjk-4.8.4/doc/CJKutf8.txt
new file mode 100644
index 0000000000..f244d233bb
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/CJKutf8.txt
@@ -0,0 +1,40 @@
+This is the file CJKutf8.txt of the CJK macro package ver. 4.8.4
+(18-Apr-2015).
+
+CJKutf8.sty
+-----------
+
+This package merges base LaTeX's and CJK's UTF-8 support. If a Unicode
+character (within a CJK environment) corresponds to a glyph from the
+selected LaTeX font encoding, use it, otherwise it is taken from the
+selected CJK unicode font.
+
+Usage:
+
+ \usepackage[<font encoding>]{CJKutf8}
+
+ The <font encoding> value is directly passed to the `fontenc' package.
+ Besides `fontenc', CJKutf8.sty also loads the CJK package with the
+ `encapsulated' option so that you can use UTF-8 outside of the CJK
+ environment also.
+
+ Note that only font encodings with a corresponding DFU file actually
+ have Unicode definitions (for example, `t1enc.dfu').
+
+ Only use UTF-8 encoding for the CJK environment! Other encodings
+ don't give an error but might replace some CJK characters with glyphs
+ from the selected LaTeX encoding.
+
+If pdftex is used, ToUnicode cmaps are automatically generated (for C70
+encoding); use it in combination with Vladimir Volovich's `cmap' package.
+
+If CJKutf8.sty is used together with the `unicode' option of the hyperref
+package, pdftex automatically produces correct Unicode bookmarks.
+
+Both ToUnicode cmaps and Unicode bookmarks support characters greater than
+U+FFFF.
+
+Please read section `Possible errors' in CJK.txt regarding the Byte Order
+Mark (BOM) -- this should always be removed.
+
+---End of CJKutf8.txt---
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/COPYING b/language/chinese/CJK/cjk-4.8.4/doc/COPYING
new file mode 100644
index 0000000000..b2fe7b6af3
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/COPYING
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/INSTALL b/language/chinese/CJK/cjk-4.8.4/doc/INSTALL
new file mode 100644
index 0000000000..6707649932
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/INSTALL
@@ -0,0 +1,686 @@
+This is the file INSTALL of the CJK macro package ver. 4.8.4 (18-Apr-2015).
+
+Installation Guide
+==================
+
+It is probably a good idea to get a packaged version of CJK---be warned that
+installing CJK is *not* trivial.
+
+The easiest solution is to use the TeX Live CD which is distributed among
+members of TeX user groups worldwide. It comes with a ready-to-run CJK setup
+together with basic CJK fonts (in outline format if freely available) for
+almost all encodings. To get a recent snapshot, try the SVN archive. See
+
+ http://www.tug.org/texlive/svn/
+
+for more details.
+
+. Using web sites like http://rpmseek.com you can find and download CJK
+ packages for most GNU/Linux distributions like SuSE or Debian.
+
+. For FreeBSD try this:
+
+ http://www.freebsd.org/ports/chinese.html
+
+. MikTeX also provides packages for CJK.
+
+
+Here a check list for the impatient (experienced) user which tries to show
+whether you've done all steps to install the CJK package and fonts. It is
+assumed that you want to install both ttf2pk and hbf2gf.
+
+Detailed explanations can be found below.
+
+
+--- begin checklist ---------------------------------------------------------
+
+. Have you installed a LaTeX 2e version newer or equal to 2001/06/01? The
+ version of LaTeX is given in each log file produced by LaTeX. For using
+ CJKutf8.sty you even need version 2003/12/01.
+
+. Have you removed an older version of CJK? If not, do it now but don't
+ forget to save your FD and other files which you have changed! Don't
+ forget also to remove the ttf2pk and hbf2gf binaries.
+
+. Can the texinput tree of the CJK package be found by your TeX
+ implementation? Have you activated subdirectory searching?
+
+. Have you downloaded the needed font packages (either ps, hbf or ttf)? See
+ also contrib/wadalab/DNP.txt for the Japanese Wadalab fonts. Have you
+ moved the TFM files into your TFM-tree (or updated TFMINPUTS accordingly)?
+ Ditto for VF files if needed.
+
+. Have you installed ttf2pk and ttf2tfm from the FreeType 1 package (only
+ needed for TrueType fonts)? Note that FreeType 2 won't work.
+
+. Have you run ttf2tfm to create the proper TFM files from your TrueType
+ fonts? This won't be done automatically via mktextfm or MakeTeXTFM!
+
+. Have you updated the ttfonts.map file for ttf2pk? Have you updated the
+ various hbf2gf config files? Have you copied them to the right places?
+ Don't forget to install ttf2pk's SFD and other data files which define the
+ various CJK subfonts and encodings.
+
+. Have you modified and installed the script files for automatic font
+ generation (not necessary for teTeX 1.0 or newer)?
+
+. If you want Thai support, have you followed the instructions given in
+ thaifont.txt?
+
+
+web2c/teTeX users:
+
+. Do you have a C compiler and a make program available for compilation? GNU
+ gcc and GNU make are recommended.
+
+. Have you updated special.map?
+
+. Have you used the options --with-kpathsea-include=... and
+ --with-kpathsea-lib=... while calling the configure script of hbf2gf
+ (or ttf2pk)? Otherwise no file searching library is used which yields
+ surprising results... Note: Don't use `/usr/include/kpathsea', for
+ example, but `/usr/include' as an argument to --with-kpathsea-include.
+
+. To check whether kpathsea correctly finds HBF files and configuration
+ files for hbf2gf, say:
+
+ kpsewhich -progname=hbf2gf -format='misc fonts' <your_font>.hbf
+ kpsewhich -progname=hbf2gf -format='other text files' <your_file>.cfg
+
+ The same for TrueType fonts and the ttf2pk config file:
+
+ kpsewhich -progname=ttf2pk <your_font>.ttf
+ kpsewhich -progname=ttf2pk -format='other text files' ttfonts.map
+
+ [Recent kpathsea versions (like 3.5.5) which come with the new teTeX or
+ TeXLive distributions have a new variable `TEXFONTMAPS' for map files;
+ you should use this test
+
+ kpsewhich -progname=ttf2pk -format=map ttfonts.map
+
+ instead of the last one.]
+
+. Have you compiled the various *conv utility programs (like bg5conv)? Have
+ you installed them together with the caller scripts (like bg5latex) in
+ your path? FOR BIG 5 ENCODING YOU SHOULD ALWAYS USE bg5latex or
+ bg5pdflatex (except if you use cjk-enc.el). FOR SJIS ENCODING YOU SHOULD
+ ALWAYS USE sjislatex or sjispdflatex.
+
+. Have you updated and controlled the texmf.cnf configuration file or set
+ the various environment variables? (TEXINPUTS, TFMFONTS, PKFONTS,
+ MISCFONTS, TTFONTS, probably TTF2PKINPUTS, TTF2TFMINPUTS, HBF2GFINPUTS)
+
+. ttf2pk and hbf2gf should be in the same directory where your TeX binaries
+ like `texconfig' or `gftopk' are (or you must set TEXMFCNF and probably
+ TEXMF in the environment). Soft links won't work!
+
+. Finally, have you run texhash (or mktexlsr) after finishing all other
+ things?
+
+
+emTeX users:
+
+. Have you created a LaTeX format file which allows plain 8bit input and
+ output without using any TeX Code Page (tcp)?
+
+. Have you installed 4DOS (4OS2 or Take Command) for running the file
+ dvidrv.btm?
+
+. Have you configured dvidrv.btm?
+
+. Have you installed the various *conv utility programs (like bg5conv)?
+ together with the caller scripts (like bg5latex.bat)? FOR BIG 5 ENCODING
+ YOU SHOULD ALWAYS USE bg5latex.bat . FOR SJIS ENCODING YOU SHOULD ALWAYS
+ USE sjisltx.bat .
+
+. Have you created and installed TFM files for fonts not in a CJK font
+ package?
+
+. Check whether you have updated all needed environment variables (TEXINPUT,
+ TEXTFM, TTFONTS, TTFCFG, HBFONTS, HBFCFG) and your dvidrv configuration
+ file or files (+font-files, +virtual-fonts).
+
+
+In case of errors, verify the list step by step. Detailed information for
+each step can be found in the documentation files of CJK. Under web2c or
+teTeX, you can set the KPATHSEA_DEBUG environment variable to -1, then all
+debugging info is shown and sent to stderr; it is *highly* recommended that
+you read the kpathsea.info files. Under emTeX, read the various
+documentation files, especially dvidrv.doc and tex.doc, and check the log
+file of your dvi driver.
+
+For hbf2gf, read hbf2gf.txt and its manual page (hbf2gf.1 or a formatted
+version of it). Similarly, more info on ttf2tfm and ttf2pk can be found in
+ttf2pk.doc and the manual pages ttf2pk.1 and ttf2tfm.1 (or a formatted
+version).
+
+--- end checklist -----------------------------------------------------------
+
+
+
+Unix (web2c and teTeX)
+----------------------
+
+. If you can become root, rename the `texinput' directory tree of CJK into
+ `CJK' or something else and add it to your (local) web2c texinput tree
+ (for example, /usr/local/share/texmf.local/tex/latex/CJK).
+
+. If you can't become root, modify the TEXINPUTS environment variable
+ instead so that it includes the CJK directory; use a command similar to
+
+ setenv TEXINPUTS :<your CJK directory>//
+
+ to let TeX search the standard directories and your CJK tree, e.g.,
+
+ setenv TEXINPUTS :/home/joe_user/CJK/4_3.0/texinput//
+
+ (Note the leading double colon to append a path, and the double slash to
+ activate subdirectory searching---for details see the kpathsea info
+ files.)
+
+ [Recent teTeX and TeXLive versions automatically search a TEXMF tree in
+ your home directory called `texmf'.]
+
+ See contrib/wadalab/DNP.txt for the Japanese Wadalab fonts.
+
+. Edit the FD files of the encodings you want to use to specify the fonts
+ you have. An explanation of the additional size commands CJK provides can
+ be found in fonts.txt .
+
+ Note: Most FD example files from the CJK package are set up for PS fonts
+ from the TeXLive distribution.
+
+ If you use the CJK font packages (see below) no changes are needed.
+
+. [In case you plan to use only outline fonts (PFB, TTF) you can omit the
+ installation of hbf2gf and HBF fonts.]
+
+ If necessary, create TFM (and PK) files from CJK bitmaps with hbf2gf
+ (found in utils/hbf2gf). This program comes with a configure script; say
+ `./configure --help' in the utils/hbf2gf directory for configuration
+ options. You need a compiled kpathsea library and its header files; in
+ most cases you say
+
+ ./configure --prefix=/usr/local/TeX \
+ --with-kpathsea-include=<INCLUDEDIR> \
+ --with-kpathsea-lib=<LIBDIR>
+ make
+ make install
+
+ for a normal compilation and installation. Replace `/usr/local/TeX' with a
+ path to your TeX distribution, and <DIR> with the directory one level
+ higher than the library and the include files themselves. Example:
+ libkpathsea.a is in /usr/local/TeX/lib/i686-linux, kpathsea.h is in
+ /usr/local/TeX/include/kpathsea; then <LIBDIR> should be
+ `/usr/local/TeX/TeX/lib/i686-linux', and <INCLUDEDIR> should be
+ `/usr/local/TeX/include' (and not `/usr/local/TeX/include/kpathsea).
+
+ See hbf2gf.txt, the man page (hbf2gf.1), and the documentation of the
+ source file (hbf2gf.dvi) for further details. Usually it is sufficient to
+ let hbf2gf create a complete set of TFM files; PK fonts are then created
+ on demand.
+
+ Older kpathsea versions need a patched MakeTeXPK or mktexpk script; you
+ should apply the proper patch(es) from utils/hbf2gf/scripts. No changes to
+ the script files are necessary for teTeX 1.0 and newer.
+
+ The CJK font packages already contain TFM (and VF) files arranged for the
+ (new) TDS directory structure; add it directly to your TEXMF tree.
+
+. Free Chinese TrueType fonts (for both simplified and traditional Chinese)
+ with a license similar to the GPL can be found on
+
+ ftp://ftp.gnu.org/gnu/nongnu
+
+ and its mirrors worldwide. You might also search websites of companies
+ offering WWW browser; they often come with CJK language packs which
+ contain CJK TrueType fonts.
+
+ Please note that many CJK TrueType fonts only have a Unicode mapping
+ table. You should use the SFD files from the ttf2pk package starting with
+ the letter `U' (e.g., UKS.sfd) which maps Unicode fonts to language
+ specific encoded subfonts as needed by the CJK package.
+
+ The ttf2pk package found in the contrib/ttf2pk directory of
+
+ ftp://ftp.freetype.org/pub/
+ freetype/unstable/freetype1-contrib-current.tar.gz
+
+ contains the two programs ttf2tfm and ttf2pk for converting TrueType fonts
+ into TFM and PK fonts, respectively. By the way, this package is not
+ restricted to CJK TrueType fonts; it works with other TrueType fonts too.
+ Read the manual pages and the documentation for further information. For
+ compilation you also need the FreeType 1 package:
+
+ ftp://ftp.freetype.org/pub/freetype/unstable/freetype-current.tar.gz
+
+. The font editor `fontforge' (available from http://fontforge.sf.net) is
+ capable of generating Type 1 subfonts as needed by CJK from other formats
+ like TTF, OTF or CID (using the subfont definition files from ttf2pk).
+ Such subfonts should be usable by virtually all platforms.
+
+ (Funnnily, fontforge uses the `.sfd' extension also for saving font files
+ it creates.)
+
+ Although fontforge needs the X Window System, it can be compiled without a
+ graphical interface, using a scripting language to control font
+ conversion. The directory `utils/subfonts' of the CJK package contains
+ useful scripts for manipulating subfonts.
+
+. It is recommended to add all CJK fonts which are converted to the PK font
+ format (either with hbf2gf or ttf2pk) to the file special.map: Assuming
+ that your PK fonts should be generated in
+
+ $TEXMF/fonts/pk/modeless/gb2312/gsfs14/
+
+ the proper entries would be
+
+ gsfs1401 gb2312 gsfs14
+ gsfs1402 gs2312 gsfs14
+ ...
+
+. Compile the small preprocessors in the utils subdirectories with
+
+ cc -O -s -o bg5conv bg5conv.c
+ cc -O -s -o sjisconv sjisconv.c
+ cc -O -s -o cefconv cefconv.c
+ cc -O -s -o cef5conv cef5conv.c
+ cc -O -s -o cefsconv cefsconv.c
+ cc -O -s -o extconv extconv.c
+
+ and move them into TeX's bin directory (together with the shell scripts)
+ or modify the PATH environment variable appropriately. (`cc' can be any C
+ compiler.)
+
+ The script files `...latex' make the use of these programs transparent.
+
+. Move the man pages into your man1 directory tree.
+
+. If you want to use Mule, emacs, or XEmacs together with the CJK package,
+ you should install cjk-enc.el (in utils/lisp). See cjk-enc.txt for
+ documentation. Choose the correct cjk-enc.el version---note that the Mule
+ version has limited capabilities compared to the Emacs version.
+
+ Move cjk-enc.el to a place which is searched by Mule (e.g.,
+ /usr/local/lib/mule/site-lisp) and put the following line into your emacs
+ file:
+
+ (load-library "cjk-enc")
+
+ The default directory for emacs is /usr/local/share/emacs/site-lisp.
+
+ Note that you don't need cjk-enc.el in case you are editing UTF-8 encoded
+ files only.
+
+. If you mainly write Chinese or Japanese with Emacs or Mule, consider the
+ use of cjktilde.el (in utils/lisp). This file contains a minor mode which
+ exchanges the tilde key with the space key. See the documentation of
+ \CJKtilde in CJK.txt for the reasons to use `~' in most cases instead of
+ a space character.
+
+ To install, move cjktilde.el to a place which is searched by Emacs or Mule
+ (e.g., /usr/local/share/emacs/site-lisp) and put the following line into
+ your .emacs file:
+
+ (load-library "cjktilde")
+
+ To toggle the CJK tilde mode say
+
+ M-x cjk-tilde-mode
+
+ You can then assign cjk-tilde-mode to a key, e.g., shift-insert.
+
+. If you use AUCTeX you can try cjkspace.el instead of cjktilde.el; it works
+ in a similar (but not identical) way and is special to LaTeX buffers. Move
+ the file to the local lisp directory and put the following lines into your
+ .emacs file:
+
+ (autoload 'CJK-insert-space "cjkspace"
+ "Insert tildes appropriately in CJK document." t)
+ (defun my-LaTeX-mode-hook ()
+ "My personal key definitions for LaTeX mode."
+ (define-key LaTeX-mode-map " " 'CJK-insert-space))
+ (add-hook 'LaTeX-mode-hook 'my-LaTeX-mode-hook)
+
+ Please read the documentation in the file cjkspace.el .
+
+. For Thai support please follow the instructions given in `thaifont.txt'.
+
+
+DOS and OS/2 (emTeX)
+--------------------
+
+web2c has been ported to MS-DOS. If you use this (which I recommend), follow
+the instructions above.
+
+. Note that some Unix specific shell scripts and other files have names
+ longer than 8 characters. You don't need them. Some of the TeX input files
+ have lower and uppercase characters in its filenames, but none of the
+ filenames collide under DOS.
+
+. Move the `texinput' directory tree to a place where TeX scans for input
+ files (and rename it to `cjk' or something else). Note that its
+ subdirectories are specific to encoding schemes. emTeX allows for
+ recursively scanned search paths, thus retaining the directory tree is
+ possible.
+
+ Example:
+
+ CJK files: c:\emtex\texinput\cjk\...
+ environment: set emtexdir=c:\emtex
+ set texinput=%emtexdir%\texinput!!
+
+ See contrib/wadalab/DNP.txt for the Japanese Wadalab fonts.
+
+. [In case you plan to use only outline fonts (PFB, TTF) you can omit
+ this step.]
+
+ Compile hbf2gf. You need GNU make and either the emx (DOS and OS/2) or
+ the djgpp (DOS and Windows) compiler.
+
+ Say `make -f Makefile.gnu' to see the possible options; more info can be
+ found in hbf2gf.txt .
+
+. Compile the utility programs.
+
+ cc -O -s -o bg5conv bg5conv.c
+ cc -O -s -o sjisconv sjisconv.c
+ cc -O -s -o cefconv cefconv.c
+ cc -O -s -o cef5conv cef5conv.c
+ cc -O -s -o cefsconv cefsconv.c
+ cc -O -s -o extconv extconv.c
+
+. Move the various BAT files (for DOS) and/or the CMD REXX scripts (for
+ OS/2) into a directory in the path (e.g., c:\emtex\bin).
+
+. Edit the FD files of your encoding(s) to specify the fonts you have. An
+ explanation of the additional size commands CJK provides can be found in
+ fonts.txt .
+
+ Note: Most FD example files from the CJK package are set up for PS fonts
+ from the TeXLive distribution.
+
+ If you use the CJK font packages (see below) no changes are needed.
+
+. [In case you plan to use only outline fonts (PFB, TTF) you can omit this
+ step.]
+
+ If necessary, create TFM (and PK) files from CJK bitmaps with hbf2gf
+ (found in utils\hbf2gf). See hbf2gf.txt and the documentation of the
+ source file (hbf2gf.dvi) for explanation. Usually it is sufficient to let
+ hbf2gf create a complete set of TFM files; PK fonts are then created on
+ demand (this is done with the dvidrv.btm shell script of the CJK package).
+
+ You need 4DOS or 4OS/2 (these are shareware replacements for command.com)
+ to run dvidrv.btm.
+
+ dvidrv.btm should also work with Take Command/16, Take Command/32, or Take
+ Command for OS/2.
+
+ The CJK font packages already contain TFM (and VF) files (arranged for the
+ (new) TDS directory structure; unpack the font packages in the root
+ directory with
+
+ gzip -d CJK_font_archive.tgz
+ tar xvf CJK_font_archive.tar
+
+ Rearrange the directory structure as suggested below (to make the file
+ search mechanism of emTeX faster) and modify the appropriate environment
+ variables to include the additional directories. The same holds for the
+ CJK bitmap fonts, its HBF header files and the hbf2gf configuration files.
+
+ [Note: Binaries for the gzip and tar archive programs can be found on CTAN
+ in the `utils' subdirectory.]
+
+ Example:
+
+ jfs56.tar.gz (should be ftp'ed as jfs56.tgz if you work under DOS
+ since two dots are not allowed)
+
+ suggested final directory structure (after unpacking and rearranging):
+
+ c:\texmf\fonts\tfm\gsfs1401.tfm ...
+ c:\texmf\hbf2gf\gsfs14.cfg
+ c:\texmf\fonts\hbf\gb2312\jfs56\jfs56.a ...
+ [ c:\texmf\fonts\pk\modeless\XXXdpi\gsfs1401.pk ... ]
+
+ Add these lines to the end of autoexec.bat:
+
+ set texmfdir=c:\texmf
+ set cjkpk=%texmfdir%\fonts\pk
+ set textfm=%textfm%;%texmfdir%\fonts\tfm
+
+ Under OS/2, add similar lines (but with expanded pathnames) to the end
+ of config.sys:
+
+ set texmfdir=c:\texmf
+ set cjkpk=c:\texmf\fonts\pk
+ set textfm=<your old textfm path>;c:\texmf\fonts\tfm
+
+ Changes in gsfs14.cfg:
+
+ pk_directory $texmfdir\fonts\pk\modeless\432dpi\
+ tfm_directory $texmfdir\fonts\tfm\
+
+ Changes in dvidrv.btm:
+
+ set pkdir=%texmfdir%\fonts\pk
+ set ttfcfg=%texmfdir%\ttf2pk
+ set hbfcfg=%texmfdir%\hbf2gf
+
+ set pre_dpi=
+ set post_dpi=dpi
+
+ Changes in a dvi driver configuration file (.cnf) for emTeX:
+
+ +font-files:{<your old pk path>,$texmfdir:fonts\modeless}\@Rrdpi\@f.pk
+
+. Free Chinese TrueType fonts (for both simplified and traditiional Chinese)
+ with a license similar to the GPL can be found on
+ ftp://ftp.gnu.org/gnu/nongnu and its mirrors worldwide. You might also
+ search websites of companies offering WWW browser; they often come with
+ CJK language packs which contain CJK TrueType fonts.
+
+ Please note that many CJK TrueType fonts only have a Unicode mapping
+ table. You should use the SFD files from the ttf2pk package starting with
+ the letter `U' (e.g., UKS.sfd) which maps Unicode fonts to language
+ specific encoded subfonts as needed by the CJK package.
+
+ The ttf2pk package can be found in the contrib/ttf2pk directory of
+
+ ftp://ftp.freetype.org/
+ freetype/unstable/freetype1-contrib-current.tar.gz
+
+ contains the two programs ttf2tfm and ttf2pk for converting TrueType fonts
+ into TFM and PK fonts, respectively. By the way, this package is not
+ restricted to CJK TrueType fonts; it works with other TrueType fonts too.
+ Read the manual pages and the documentation for further information. For
+ compilation you also need the FreeType 1 package:
+
+ ftp://ftp.freetype.org/pub/freetype/unstable/freetype-current.tar.gz
+
+. The font editor `fontforge' (available from http://fontforge.sf.net) is
+ capable to generate Type 1 subfonts as needed by CJK from other formats
+ like TTF, OTF or CID (using the subfont definition files from ttf2pk).
+ Such subfonts should be usable by virtually all platforms.
+
+ (Funnnily, fontforge uses the `.sfd' extension also for saving font files
+ it creates.)
+
+ Although fontforge needs the X Window System, it can be compiled without a
+ graphical interface, using a scripting language to control font
+ conversion. The directory `utils/subfonts' of the CJK package contains
+ useful scripts for manipulating subfonts.
+
+. You find the some standard Hangul PK fonts for 300dpi (cx) and 600dpi
+ (ljfour) resolution in the following archives:
+
+ han.300.tar.gz
+ han1.300.tar.gz
+ han.600.tar.gz
+ han1.600.tar.gz
+ han.tfmvf.tar.gz
+ han1.tfmvf.tar.gz
+
+ It is necessary to rearrange not only the directory structure but the
+ names of the dpi directories too: The TeX directory standards specifies
+ `dpiXXX', but emTeX provides by default `XXXdpi'.
+
+ The final locations of the packages' files should be
+
+ c:\texmf\fonts\tfm\
+ c:\texmf\fonts\vf\
+ c:\texmf\fonts\pk\{cx,ljfour}\XXXdpi\
+
+ Additionally to the above example you should add this to the end of
+ autoexec.bat:
+
+ set cjkvf=%texmfdir%\fonts\vf
+
+ or config.sys for OS/2:
+
+ set cjkvf=c:\texmf\fonts\vf
+
+ Assuming that you use the 300dpi Hangul PK fonts (for a cx printer) you
+ should do the following changes in your dvi driver configuration file
+ (suffix `.cnf') for emTeX (still continuing the above example):
+
+ +font-files:{<your old pk path>,$texmfdir:fonts\{modeless,cx}}\@Rrdpi\@f.pk
+ +virtual-fonts:{<your old vf path>,$texmfdir:fonts}\@f.vf
+
+. For Thai support please follow the instructions given in `thaifont.txt'.
+
+
+Other systems
+-------------
+
+Recent versions of CJK have only been tested with web2c; nevertheless, it
+should run on other systems too:
+
+ The font editor `fontforge' (available from http://fontforge.sf.net) is
+ capable to generate Type 1 subfonts as needed by CJK from other formats
+ like TTF, OTF or CID (using the subfont definition files from ttf2pk).
+ Such subfonts should be usable by virtually all platforms.
+
+ (Funnnily, fontforge uses the `.sfd' extension also for saving font files
+ it creates.)
+
+ Although fontforge needs the X Window System, it can be compiled without a
+ graphical interface, using a scripting language to control font
+ conversion. The directory `utils/subfonts' of the CJK package contains
+ useful scripts for manipulating subfonts.
+
+ If no outline fonts are available and you have to use HBF fonts, try to
+ compile hbf2gf. Since it is written in ANSI C it should be fairly portable
+ (if patches are needed please send them to the author; most likely you
+ have to modify the file operating routines). If this fails it is necessary
+ to build the various PK fonts on a different machine. It has been reported
+ that older GNU compilers on the NeXT have difficulties with `%i'
+ formatting parameters in the HBF API (hbf.c): replace all occurrences of
+ `%i' with `%d'.
+
+ If there exists an equivalent to mktexpk (or dvidrv.btm), try to modify it
+ similar to CJK's changes so that CJK fonts can be created on the fly. If
+ this fails you can only use precompiled sets of CJK fonts (this is, using
+ PK fonts generated on another platform).
+
+ The rest should be rather trivial for the experienced user; again, please
+ write the author if you have successfully installed the package and send a
+ report how to install.
+
+
+How to get CJK and related software
+-----------------------------------
+
+. You find CJK and software related to TeX at the CTAN hosts (Comprehensive
+ TeX Archive Network). These completely identical ftp servers (concerning
+ TeX software) are
+
+ ftp.dante.de DANTE (Deutsche Anwendervereinigung fuer TeX)
+ Hamburg (Germany)
+ ftp.tex.ac.uk Cambridge University
+ Cambridge (England)
+ ctan.tug.org TUG (TeX Users Group)
+ Massachusetts (USA)
+
+ You should use the nearest one, or even better, a local mirror of a CTAN
+ host: The file `CTAN.sites' on CTAN contains a list.
+
+ On CTAN, the CJK package itself is unpacked. To receive the complete
+ package, go to the parent directory of CJK and say
+
+ get CJK.zip
+
+ or
+
+ get CJK.tar.gz
+
+ whatever is appropriate for your system.
+
+ The CJK directory and all its subdirectories are sent to you in compressed
+ form. Be aware that not all mirrors of CTAN sites support compression of
+ directories.
+
+. The documentation bundle of the CJK package is not unpackaged; download it
+ as
+
+ get cjk-4.8.4-doc.tar.gz
+
+ or
+
+ get cjk-4.8.4-doc.tar.gz cjkdoc.tgz
+
+ whatever is appropriate for your system. It contains precompiled versions
+ (in DVI, PDF, text format) of all documentation and example files.
+
+. PostScript font packages with subfonts which can be directly used by the
+ CJK package are already available on CTAN:
+
+ traditional Chinese:
+ fonts/arphic/bkai00mp-<version>.tar.gz
+ fonts/arphic/bsmi00lp-<version>.tar.gz
+
+ simplified Chinese:
+ fonts/arphic/gbsn00lp-<version>.tar.gz
+ fonts/arphic/gkai00mp-<version>.tar.gz
+
+ Japanese:
+ fonts/wadalab/gothic-0-13-<version>.tar.gz
+ fonts/wadalab/maru-0-8-<version>.tar.gz
+ fonts/wadalab/maru-1-8-<version>.tar.gz
+ fonts/wadalab/mincho-0-12-<version>.tar.gz
+ fonts/wadalab/mincho-0-8-<version>.tar.gz
+ fonts/wadalab/mincho-1-8-<version>.tar.gz
+
+ Korean:
+ fonts/korean/HLaTeX/uhc-bom.tar.gz
+ fonts/korean/HLaTeX/uhc-dinaru.tar.gz
+ fonts/korean/HLaTeX/uhc-fonts.tar.gz
+ fonts/korean/HLaTeX/uhc-gothic.tar.gz
+ fonts/korean/HLaTeX/uhc-graphic.tar.gz
+ fonts/korean/HLaTeX/uhc-gungseo.tar.gz
+ fonts/korean/HLaTeX/uhc-jamo.tar.gz
+ fonts/korean/HLaTeX/uhc-myoungjo.tar.gz
+ fonts/korean/HLaTeX/uhc-pen.tar.gz
+ fonts/korean/HLaTeX/uhc-pilgi.tar.gz
+ fonts/korean/HLaTeX/uhc-pilgia.tar.gz
+ fonts/korean/HLaTeX/uhc-shinmun.tar.gz
+ fonts/korean/HLaTeX/uhc-taza.tar.gz
+ fonts/korean/HLaTeX/uhc-vada.tar.gz
+ fonts/korean/HLaTeX/uhc-yetgul.tar.gz
+
+ You should consult the documentation and the font samplers of those
+ packages (if available) for more informations.
+
+. Mule 2.3 can be downloaded from this Japanese host:
+
+ ftp://ftp.m17n.org/pub/mule/mule-2.3.tar.gz
+
+ [Note: You need Mule 2.3 only for right-to-left scripts like Arabic or
+ Hebrew which aren't yet supported in emacs. Otherwise, I strongly
+ recommend to get FSF emacs 22 or newer, or XEmacs 21.1 or newer which is
+ available from ftp.gnu.org (USA) and ftp.xemacs.org, respectively, and
+ its many mirrors.]
+
+
+---End of INSTALL---
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/TDS.txt b/language/chinese/CJK/cjk-4.8.4/doc/TDS.txt
new file mode 100644
index 0000000000..81bba5d650
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/TDS.txt
@@ -0,0 +1,172 @@
+This is the file TDS.txt of the CJK macro package ver. 4.8.4 (18-Apr-2015).
+
+The TeX Directory Structure (TDS)
+---------------------------------
+
+A working group of the American TeX Users Group (TUG) has developed the TDS
+standard (available from the CTAN hosts in tex-archive/tds). That document
+describes a default directory structure where and how to store the many
+different files needed for a complete TeX system.
+
+The following describes the recommended default directories used in the CJK
+package for its files; $TEXMF stands for the place where the texmf directory
+resides (a possibly better place for distributions based on web2c is
+$TEXMFLOCAL; see texmf.cnf of your TeX package for details):
+
+We follow TDS 1.1 and the setup of TeXLive 2005; this corresponds to
+kpathsea 3.5.5. Some of the variables don't exist in older kpathsea
+implementations---please read the man page of ttf2tfm for more information
+on the old locations.
+
+
+CJK TeX files (you should move the whole `texinput' tree of the CJK package
+ to this place):
+
+ $TEXMF/tex/latex/CJK/<CJK subdirs>/<CJK TeX files>
+
+ example:
+ /usr/local/web2c-7.0/texmf/tex/latex/CJK/Bg5/Bg5.cap
+
+ affected variable: $TEXINPUTS
+
+
+TrueType fonts:
+
+ $TEXMF/fonts/truetype/<supplier>/<truetype font>
+
+ example:
+ /usr/local/teTeX/texmf/fonts/truetype/arphic/gbsn00lp.ttf
+
+ affected variable: $TTFONTS
+
+ You should append proper entries for all subfonts to special.map to make
+ web2c's name parsing algorithm happy (otherwise it can happen that the
+ created PK and TFM files are placed into rather strangely named
+ directories).
+
+ Example lines to append for the above font:
+
+ gbsnlp01 arphic gbsnlp
+ gbsnlp02 arphic gbsnlp
+ ...
+
+
+HBF fonts:
+
+ $TEXMF/fonts/misc/hbf/<supplier>/<hbf name stem>/<hbf files>
+
+ [If no supplier is given, you should use `public' instead.]
+
+ example:
+ /usr/local/share/texmf/fonts/misc/hbf/public/kanji48/kanji48.{bin,hbf}
+
+ affected variable: $MISCFONTS
+
+ You should append proper entries for all subfonts to special.map to make
+ web2c's name parsing algorithm happy (otherwise it can happen that the
+ created PK and TFM files are placed into rather strangely named
+ directories).
+
+ Example lines to append for the above font:
+
+ kanji4801 public kanji48
+ kanji4802 public kanji48
+ ...
+
+
+ttf2pk configuration and replacement files (ttf2pk.cfg and *.rpl):
+
+ $TEXMF/ttf2pk
+
+ example:
+ /usr/local/texmf/ttf2pk/ttf2pk.cfg
+
+ affected variable: $TTF2PKINPUTS
+
+
+ttf2pk map files (*.map):
+
+ $TEXMF/fonts/map/ttf2pk
+
+ example:
+ /usr/local/texmf/fonts/map/ttf2pk/config/ttfonts.map
+
+ affected variable: $TEXFONTMAPS
+
+
+ttf2pk encoding files (*.enc):
+
+ $TEXMF/fonts/enc/ttf2pk
+
+ example:
+ /usr/local/texmf.local/fonts/enc/ttf2pk/base/T1-WGL4.enc
+
+ affected variable: $ENCFONTS
+
+ [Note that this location is normally found by ttf2tfm also since the
+ `ttf2pk' path component doesn't appear explicitly in web2c's $ENCFONTS
+ value. Instead, it starts subdirectory searching one level higher.]
+
+
+ttf2pk subfont definition files (*.sfd):
+
+ $TEXMF/fonts/sfd
+
+ example:
+ /home/sx0005/texmf/fonts/sfd/Bg5.sfd
+
+ affected variable: $SFDFONTS
+
+
+hbf2gf configuration files:
+
+ $TEXMF/hbf2gf/<config files>
+
+ example:
+ /dos/texmf/hbf2gf/gsfs14.cfg
+
+ affected variable: $HBF2GFINPUTS
+
+
+TFM files (<supplier> and <name stem> as specified in special.map):
+
+ $TEXMF/fonts/tfm/<supplier>/<name stem>/<tfm file>
+
+ example:
+ /usr/local/teTeX/texmf/fonts/tfm/arphic/gbsnlp/gbsnlp23.tfm
+
+ affected variable: $TFMFONTS
+
+
+PK files (<supplier> and <name stem> as specified in special.map)
+
+ $TEXMF/fonts/pk/modeless/<supplier>/<name stem>/<pk file>
+
+ example:
+ /usr/local/share/texmf/fonts/pk/modeless/uw/uwcxmf/uwcxmf23.3252pk
+
+ affected variable: $PKFONTS
+
+[There are further possibilities how to store PK files:
+
+ 1. instead of <name>.<dpi>pk you can use dpi<dpi>/<name>.pk
+
+ example:
+ /texmf/fonts/pk/modeless/public/b5ka12/dpi600/b5ka1217.pk
+
+ 2. teTeX additionally allows you to omit either <supplier> or <name stem>
+ or both (for PK, TFM, and MF files)
+
+ example:
+ /texmf/fonts/pk/modeless/b5ka12/dpi600/b5ka1217.pk
+
+
+ The first option is necessary on operating systems like DOS which only
+ allow 8.3 filenames. The second option enables you to use the `!' feature
+ of the emTeX subdirectory searching algorithm (only one level) instead of
+ `!!' (search all subdirectory levels) together with its template mechanism
+ to make emTeX much faster in finding PK files. Now teTeX and emTeX could
+ share one common texmf tree.]
+
+
+---End of TDS.txt---
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/chinese/README b/language/chinese/CJK/cjk-4.8.4/doc/chinese/README
new file mode 100644
index 0000000000..90f621fd40
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/chinese/README
@@ -0,0 +1,7 @@
+The file emTeXb5.txt describes version 4.1.0 .
+
+The file teTeXb5.txt describes version 4.2.0 .
+
+The file READMEb5.tex describes version 4.1.0 .
+
+The file READMEgb.tex describes version 4.1.3 .
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/chinese/READMEb5.tex b/language/chinese/CJK/cjk-4.8.4/doc/chinese/READMEb5.tex
new file mode 100644
index 0000000000..ac1fff7b50
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/chinese/READMEb5.tex
@@ -0,0 +1,1150 @@
+%%% The file READMEb5.tex . This file is part of LaTeX2e CJK package.
+%%%
+%%% Note that this document is a very first version. Therefore, lots
+%%% of installation steps and issues are still left blank. Please be
+%%% patient and wait for the next new release. I'm sorry for any
+%%% inconveniences. I also deeply expect that everyone who is
+%%% interested in this topic gives me suggestions and corrections in
+%%% any respects. Thanks in advance.
+%%%
+%%% Revision 1.5 1996/11/22 10:49:00 d791013
+%%% * modify some context presentations.
+%%%
+%%% Revision 1.4 1996/10/23 03:59:40 d791013
+%%% Revision control by CVS.
+%%%
+%%% Revision 1.3 1996/07/27 11:19:20 d791013
+%%% 1. In compliance with CJK version 4.0.0
+%%% 2. Fill up some unfinished sections in previous versions of this
+%%% file.
+%%% 3. Add more usages for MULE and AUCTeX.
+%%%
+
+\documentclass[12pt,a4paper]{article}
+\usepackage{array,CJK}
+\RequirePackage{shortvrb}
+\MakeShortVerb{\|}
+
+% enlarge text width and height (for saving number of pages)
+\addtolength{\textwidth}{1in}
+\addtolength{\oddsidemargin}{-.5in}
+\addtolength{\textheight}{1in}
+\addtolength{\topmargin}{-.5in}
+
+\begin{document}
+\begin{CJK*}{Bg5}{bsmi}
+\CJKtilde
+
+% local commands
+\newcommand{\ntutocjk}{~\textsf{ntu2cjk}~}
+\newcommand{\ttftopk}{~\textsf{ttf2pk}~}
+\newcommand{\hookstroke}{\raisebox{2pt}{\scriptsize $\surd$}}
+\newcommand{\crossmark}{$\times$}
+\newcommand{\bigfive}{~\textrm{Big-5}~X}
+\renewcommand{\figurename}{~}
+\renewcommand{\tablename}{~}
+
+%% end of header
+
+\title{\bigfivetΤU~CJK \LaTeXe~ƪt\\
+ (For CJK version 4.1.0)}
+\author{
+ gt\thanks{The author of the \textsf{ntu2cjk} package.
+ \textsf{E-mail:} d791013@ce.ntu.edu.tw}\ (Chun-Yu Lee) \and
+ Werner Lemberg\thanks{The author of the \LaTeXe\ CJK package.
+ \textsf{E-mail:} wl@gnu.org}}
+\date{20 Nov. 1996}
+\maketitle
+
+\tableofcontents
+
+\section{²}
+\label{sec:introduction}
+
+Dnw鷺eH\bigfiveD]Mi]t~ιϧε^A
+ϥ~\LaTeXe~~CJK~tζiƪCLAһݪ򥻭nDPw˨BJA
+@²nСCd[\nsn@g]Τ@^ϤíZ峹һ
+DDA]I@ʪ\footnote{N|bCCaץP
+ RDDAH[j䵲cΤeCPɤ]Ū̯ണ_QNAH
+ U@XѦҡC}C
+
+媺eHtX~CJK 4.x.x~tΪ]wDCק糧大PɡACJK~
+O~4.1.0C
+
+\subsection{\Ū}
+\label{sec:reading-guides}
+
+UO²檺\ŪޡG
+\begin{itemize}
+\item TwAw˪~CJK~O_OҴyzAYPAШoP
+ ۮe~CJK~AΨo̷s~CJK~Aþ\Ūҥ]tɮסC
+\item Y]PAziH~CJK~󤤪~INSTALL~DAHrw
+ tΡ]\textsf{ntu2cjk}~~\textsf{ttf2pk}^AAs
+ 夺e@ʽAAaw˾ӤƪtΡC
+\item Yzgw˹L~CJKAziѦҲ~\ref{sec:steps}~`w˨BJC
+\item YbztΤA|w˦~TFMBPKB~PFB~ɮסAiѦҲ~
+ \ref{sec:install-fonts}~`rwˡC
+\item YzıoWzw˨BJAаѦҲ~\ref{sec:my-settings}~
+ `ڪҤlC
+\item YQDpoɮסAаѦҪ~\ref{sec:getting-files}
+ רoC
+\item YQ糧ҨϥΤrҺôbAаѦҪ~\ref{sec:terms}W
+ C
+\end{itemize}
+
+`NG夺ebrwˤ譱A\ttftopkи\footnote{]
+ Dn@̥uϥ\ntutocjkӦw˦rA@\ttftopksܤwxC}
+Ū̥i~CJK~M󤤦媺~|NTeXb5.doc|~]Pɮ׸mP
+@ؿ^oԲӪѻC
+
+t~b~em\TeX~ҤUw˸ѻA]uO½Ķ~CJK~󤤪~
+|INSTALL|~oɡA@̨å@LC
+
+\subsection{i@BTӷ}
+\label{sec:further-information}
+
+\begin{itemize}
+\item m~\cite{latex2nd}~򥻤UC
+\item m~\cite{latex-companion:1993}~iiUC
+\item Ѧ~Newsgroup |comp.text.tex|~~FAQC
+\item ~\TeX/\LaTeX~`ݪDAim~\cite{tex-faq:1.9c}]
+ y¡^C
+\end{itemize}
+
+\section{tλݨD}
+\label{sec:requirements}
+
+\subsection{w}
+\label{sec:hardware-requirements}
+
+\TeX/\LaTeX~tΥثeXGj@~tάҦ䴩Cb~RAM~ݨDWh
+sɮתjpAphƤQU줸AjhƦʸU줸CM~\TeX/\LaTeX~
+tΦb~286~HeN]]SOܡ^A̦n٬O~8MB~HWO
+AHIrһݡCܩwЪŶAbrϥλݤUA̦n঳~
+150MB~Ŷ]\TeX~tά~30MBA8~~NTU~urΨഫrAPS~~
+PK~rA~80MB^C
+
+\subsection{nݨD}
+\label{sec:software-requirement}
+
+\begin{itemize}
+\item ~\LaTeX~tΦA{ѻP惡tΨ򥻾ާ@OC̦nA
+ m~\cite{latex2nd,latex-companion:1993}~o⥻ѦbC
+\item \LaTeXe~ҡC]A~\TeX/\LaTeX~ҡC
+\item \LaTeXe\ CJK~tΡC
+\item YQw~PS~r\footnotemark\addtocounter{footnote}{-1}Azݭn
+ \begin{enumerate}
+ \item \textsf{ntu2cjk}~tΡC
+ \item NTU TrueType~rC
+ \item gcc~sĶάҡBGNU makeC
+ \item GhostScript(3.12~HW)C
+ \item |afm2tfm|C
+ \item Y{G |arj|B|gzip|B|tar|C
+ \item YQq~PS~rإ~PK~rAh~|ps2pk|~~|gsftopk|C
+ \end{enumerate}
+\item Yw~PK~r\footnote{N󪺱ƪBwΦCLһݪr
+ ӨAiHWusb~PK~r~PS~rFNKʻPiʦӨA
+ ̫ijAHʺA覡~PK~rëO]α`ΤΰʺA^~PS~
+ rAOΪզXC}AѦҲ~\ref{sec:install-pk-fonts}~`yzC
+\item XG|dvips|B|dvi2xx|BΨL~dvi~榡ഫ{PU媺ഫ
+ {C
+\end{itemize}
+
+
+\section{w˨BJ}
+\label{sec:steps}
+
+`NDnwˬy{ACpUAUԲӪw˫ޡANbH᪺U`
+ĭzG
+\begin{enumerate}
+\item YO~\TeX/\LaTeX~tΤvw˦nAиU@BC_hھڦۤvϥΪ@
+ ~tΡAMwϥΦ~\TeX~tΡAðѦҨtλݨD]~
+ \ref{sec:requirements}~`^Bɮרo]~\ref{sec:getting-files}^
+ ΨLU`ơAoɮסAëҨoƤܦwˡC
+ YotΨS~\LaTeXe~tΡAάOzQsܸ񪺪Ahit~~
+ CTAN~oAbww˦n~\TeX~Ҥ[W~\LaTeXeC
+\item Tw~\LaTeXe~vw˧CiH@~\LaTeXe~榡Be^媺ɮ
+ ]p~|sample.|\linebreak[1]|tex|^Aq~|latex|~sĶAH~|xdvi|~
+ ~|dviscr|B|dvisvga|~^wB~|dvips|~~|dvilj|~নL
+ ]PostScript~~PCL~榡^æLXAHP_O_w˥TC
+\item w~CJK~~\LaTeXe~tΡ]ѦҲ~\ref{sec:install-CJK}~`^C
+\item ܦw~PK~~PS~rΤG̬Ҧwˡ]ѦҲ~
+ \ref{sec:install-pk-fonts}~`β~\ref{sec:install-ps-fonts}~`^C
+\item H~CJK~tΤҴѤ~\LaTeXe~ɡA|READMEb5.tex|Aա]
+ Ҳ~\ref{sec:my-settings}~`^C
+\item YDAаѦҲ~\ref{sec:trouble-shooting}~`DѨMC
+\end{enumerate}
+
+
+\section{w~CJK~~\LaTeXe~t}
+\label{sec:install-CJK}
+
+аwzҨϥΧ@~tΡAѦҤUp`C
+
+\subsection{b~UNIX~tΤU~(web2c)}
+\label{sec:install-under-unix}
+
+\begin{enumerate}
+\item ӾAؿN^~CJK~YɸѶ}CҦpzNѶ}~
+ |/tmp/CJK|C
+\item pGzHtκ޲z̪]root^wˡAhiN᪺~CJK~ؿ
+ ~|texinput|~ؿUҦɮס]Oؿc^~\TeX~tί
+ a]q`O~
+ |${TEXMF}/|\linebreak[1]|tex/|\linebreak[1]|latex/|\ldotsA
+ |${TEXMF}|~O~web2c~~homeA@묰~
+ |/usr/|\linebreak[1]|local/|\linebreak[1]|lib/|\linebreak[1]|texmf|^A
+ ñNؿW令~CJK~ξAW١CpGzOϥθs~\TeX~]~
+ web2cAo~\TeX~tΡAѤFjjMlؿɮתO^AhN~
+ |texinput|~ؿUҦɮײ~\TeX~tί쪺aCҦpG
+ \begin{verbatim}
+ $ cd /usr/local/lib/texmf/tex/latex
+ $ mv CJK CJK.old
+ $ cd /tmp/CJK
+ $ cd 4_1.0
+ $ mv texinput /usr/local/lib/texmf/tex/latex/CJK
+ \end{verbatim}
+ pGzH~root~vwˡAХHUOy@ק]pGϥ~
+ |csh|^AëijN[J~|.login|]Ω~|/bin/csh|^~|.profile|]
+ ~|/bin/sh|^Aϱo~\TeX~jM~CJK~ؿG
+ \begin{verbatim}
+ setenv TEXINPUTS: A CJK ؿW//
+ \end{verbatim}
+ `NAYzҨϥΪ~\TeX~tΤ䴩hhlؿjMAhNTؿW
+ sA[J~|TEXINPUTS|~ܼƤFΪ̱N~|texinput|~ؿU~
+ |Bg5|~ؿUҦɮײܬYӥؿAõؿ~CJK~ؿC
+
+ Ҧp]H~|sh|~Oҡ^G
+ \begin{verbatim}
+ ]]zQN CJK texinput ؿ ~/CJK/texinput^
+ # cd ~/CJK ] CJK lؿ^
+ # mv texinput texinput.old ]pGzª texinput ؿAƥ^
+ # cd /tmp/CJK ]ܸѶ} CJK a^
+ # cd 4_1.0 ]ܥثeU^
+ # mv texinput ~/CJK ]N texinput lؿ ~/CJK^
+ # TEXINPUTS=":~/CJK/texinput//" ]wqܼơ^
+ # export TEXINPUTS ]]qΪܼơ^
+ \end{verbatim}
+\item ѦҲ~\ref{sec:install-fonts}~`rwˡAN~|.tfm|~ɡAPK~r
+ ~PS~rw˦ܾAؿUC
+\item ѦҲ~\ref{sec:install-.fd}~`w~|.fd|~ɡAΰѦ~|fonts.txt|A
+ îھڦrw˪GA]w~|.fd|~ɡCHw諸\bigfive
+ Aק~|c00kai.fd|]pGzNѦrڳ]~|kai|^B|c00fs.fd|
+ ]pGzϥΥ駺rڨéw~|fs|^Kɮס]iѦ\ttftopk
+ \ntutocjkҴѪdҡ^C
+\item bѶ}~CJK~ؿAiJ~\texttt{utils/Bg5conv}~ؿAsĶ~
+ |bg5conv.c|ApG
+ \begin{verbatim}
+ gcc -O -s -o bg5conv bg5conv.c
+ \end{verbatim}
+ Nͪ~|bg5conv|~sP~|bg5latex|~oɡA~\TeX~tΤ
+ mɪؿ]pGv^CθmӤHؿAýTwؿs
+ bܼ~|PATH|~]Φb~|PATH|~W[@|AijN|
+ ]w[~login~ҩlɤ^C
+
+ ҦpG
+ \begin{verbatim}
+ # cd /tmp/CJK/4_1.0
+ # cd utils/Bg5conv
+ # gcc -O -s -o bg5conv bg5conv.c
+ # mv bg5conv bg5latex ~/bin
+ # export PATH=$PATH:~/bin
+ \end{verbatim}
+ `NApGzª~|bg5conv|~ɡAаȥsA]~4.0~HWP
+ P]H~``|^^FF|''~ɦrӤO~``|.|''^C
+
+\item iJlؿ~|doc/chinese|~Aձz]wG
+ \begin{verbatim}
+ # cd /tmp/CJK/4_1.0
+ # cd doc/chinese
+ # bg5latex READMEb5.tex
+ \end{verbatim}
+ ݬO_බQsöC
+\end{enumerate}
+
+\subsection{b~DOS~~OS/2~tΤU}
+\label{sec:install-under-dos}
+
+\begin{enumerate}
+\item ӾAؿN^~CJK~YɸѶ}C
+\item N~CJK~tΤ~|texinput|~ؿUҦɮס]Oؿc^~
+ \TeX~tί쪺aAñNؿW令~|CJK|~ξAW١CpGz
+ Oϥθs~\TeX]~em\TeXAo~\TeX~tΡAѤFjjMlؿ
+ ɮתO^AhN~|texinput|~ؿUPαznϥΪXؿ]Bg5^U
+ Ҧɮײ~\TeX~쪺aC
+
+ H~em\TeX~tάҡAN~CJK~~|texinput|~ɮײ~
+ |c:\emtex\|\linebreak[1]|texinput\|\linebreak[1]|CJK\|\ldotsAåH
+ UOy@קAHϱo~\TeX~jM~CJK~ؿG
+ \begin{verbatim}
+ set emtexdir=c:\emtex
+ set texinput=%emtexdir%\texinput!!
+ \end{verbatim}
+\item b~CJK~tΤ~|utils\|\linebreak[1]|Bg5conv|~ؿAN~
+ |bg5conv.|\linebreak[0]|exe|~sP~|bg5latex.|\linebreak[0]|bat|~~
+ \TeX~|~(|PATH|)~Yӥؿ]μW[@|^C
+\item Ѧ~\ref{sec:install-fonts}~w˦r@`AN~|.tfm|~ɡAPK~r
+ ~PS~rw˦ܾAؿUC
+\item Ѧ~\ref{sec:install-.fd}~w~|.fd|~ɤ@`Aھڦrw˪GA
+ ]w~|.fd|~ɡC]iѦ\ttftopk\ntutocjkҴѪdҡ^C
+\end{enumerate}
+
+
+\section{rw}
+\label{sec:install-fonts}
+
+ȥH~True Type~rͪ~PK~r~PS~rCro
+Ҫ~\ref{sec:getting-files}~C
+
+PK~r]~PS~r^̦nw˦bAnɯ~\TeX/\LaTeX~tήɤ|vT
+m\footnote{ƹWA̦nNǥ`w~\TeX/\LaTeX~tΥHAA
+ B~קΦw˪ɮפε{Abt~pؿAMAH~link~
+ 覡m쥻BmCb~DOS~UArɥH[bܼƪ|
+ DA䥦hHƻs覡N~linkC}A]@rͫAYi
+ɴϥΡFt~ApGCnɯ~CJK~tΩ~\TeX/\LaTeX~tήɡA]i
+ߤjxUC
+
+\subsection{PK~r}
+\label{sec:install-pk-fonts}
+
+\subsubsection{۰ʲ~PK~r}
+[|AаѦ\ttftopk\ntutocjkw˻]
+
+\subsubsection{w~PK~r}
+[|AаѦ\ttftopkw˻]
+
+\subsubsection{~PS~r~PK~r}
+Ѧ~\ref{sec:install-ps-fonts} PS~r@`C
+
+\subsection{PS~r}
+\label{sec:install-ps-fonts}
+
+Bҫ~PS~r~PostScript Type 1~rApGA[W@өΤG
+~PS~r]HoǤ~Type 1~r򩳩Һcr^Aiզ~
+PostScript Type 0~rC~\TeX~tΥثeLk~Type 0~rAҥH
+]|ΡCt~~TTF~rbӤ]i{AҦp~
+Ghostscript~bs]4.01^wϥ~TTF~rC
+
+Hw˷~PS~rҡA²zy{pU]ԲӽаѦ\ntutocjk~
+|README|~ɡ^G
+\begin{enumerate}
+\item Cw@Ӧrڡ]font familyApѡ^~|.tfm|~~|.pfb|~
+ סC
+\item קrڬ~makefile~ɡApק~|kai.mak|~e]HUH
+ ҡ^C
+\item Yzϥ~UNIX~tΡAJUO
+ \begin{verbatim}
+ make unix FONTMAK=kai.mak
+ \end{verbatim}
+ Yzb~DOS~UAФUG
+ \begin{verbatim}
+ make dos FONTMAK=kai.mak
+ \end{verbatim}
+ Y@QA~55~Ӫ~|.pfb|~ɮשM~55~ӡ]~110~ӡApG~
+ |EXTENDED_FONT|~O]~|YES|^|.tfm|~ɮסAB~TFM~ɮתjpACӬ~
+ 1.2kB~kC
+\item U~|make install-fonts|~OAiNҦͪrw˦ܱz]wb~
+ |kai.mak|~ɮפҫwؿCzi]ݭnH~|make install-maps|~
+ oӫOw~|Fontmap|~~|psfonts.map|~C
+\item ھڥHWҩwqrW١Azק~|c00kai.fd|~ò~
+ \TeX~o쪺ؿCΪ̭ק~|c00kai.fdx|ApG~|EXTENDED_FONT|~O]
+ ~|YES|AܾAؿANW٧אּ~|c00kai.fd|C
+\end{enumerate}
+
+\subsubsection{~PS~r~PK~r}
+
+~PS~r~PK~rAq`zݭn~|gsftopk|~~|ps2pk|~ӧC
+
+pGH~|gsftopk|~~PK~rAٻݭn~|gs|]Ghostscript^UA]b
+z׸˦n~PS~rAOnNrҦbؿWA[~|GS_LIB|~o
+ƤAΪ̱N\ntutocjkҲ~|.pfb|~ɡAH~symbolic link~覡A~
+link~~|gs|~ҩwqrؿC
+
+pG~|ps2pk|Azݭn~AFM~ɡ]b\ntutocjksy~|.pfb|~ɮתL{A|
+~AFM~ɡ^C̦no̷sAHObŪ~PS~rP~AFM~ɮɡA
+PͰDC
+
+bzҨϥΪ~\TeX/\LaTeX~tΤAj~|MakeTeXPK|~oɡA\
+YObtεo{Y~PK~rsbɡA۰ʲͤCӦɦGݯSOB
+~]wA۰ʥ~PS~ɲ~PK~r\CMeOo~PS~r
+X{b~|psfonta.map|~A|MakeTeXPK|~ΦɤrP_nͦrO_
+~PS~r]oݭnzҦw˪tΦөw^C
+
+%\section{PqOU`Nƶ}
+%\label{sec:platforms}
+
+%\subsection{DOS}
+%\label{sec:platform-dos}
+
+%\subsection{UNIX}
+%\label{sec:platform-unix}
+
+\subsection{w~\texttt{.fd}~}
+\label{sec:install-.fd}
+
+Anr]TFM~ɮסBPK~rB~PS~r^ӤWzX`覡w˧
+Az]nAa]w~|.fd|~ɡC`N²zC
+
+\LaTeXe~~\textsf{NFSS}~W椤Anyz@ئr]tUCѼơG
+\begin{enumerate}
+\item EncodingGsX覡Ap~|T1|B|OT1|B|DC|~C|U|~~unknownC
+ CJK~tΪsX覡]Ѧ~|fonts.txt|^@󤶭ҥΡAp~|Bg5|B
+ |GB|B|Bg5pmC|~A@~\textsf{NFSS}~ҨϥΡAp~|C00|B~|C10|B
+ |C01|~CBAYwqb~|.fd|~ɤsX覡ݨϥΫ̡CH^HҨ
+ Ϊ\bigfiveҡA~|C00|~OݩwqC
+\item FamilyGrڡAp~|cm|B|cmss|B|cmtt|~ACJK~tΦbw\bigfive
+ rݦۦwqAݲŦX~\textsf{NFSS}~WwAYwqrڪrƤi
+ WLӦrCziѦҥ]tbѶ}ɮפdҡAp~|c00kai.fd|CCJK~t
+ ΥHѡBBЮѵܦrڡC^Hi~|kai|B|song|B|ming|B|fs|B
+ |black|B|round|~\bigfiverڡC
+\item SeriesGrtC]Vؤo^Ap~|m| (medium)B|b| (bold)B|bx|
+ (extended bold)~ACJK~uΦWC
+\item ShapeGrΪAp~|n|B|sl|B|ol|B|it|~CCJK~uΤC
+\item SizeGrjp]Iơ^Ap~|10|B|12|~
+\item |\baselineskip|G۾F檺ǽuZAjpΤ즹ѼơC
+\end{enumerate}
+
+ھڥHWԭzAHU²椶иɪcPykAH~|c00kai.fd|]b~
+\texttt{texinput/Bg5}~ؿU^ɥ]tTӥDnOG
+\begin{enumerate}
+\item |\ProvidesFile{c00kai.fd}{|{\em release-info}|}|GɦW
+ KƸJC
+\item |\DeclareFontFamily{C00}{kai}{}|GɥH~|C00|~sXByz~
+ |kai|~rڡC䤤~|C00|~O~\textsf{NFSS} encodingC
+\item |\DeclareFontShape{C00}{kai}{m}{n}{<-> CJK * b5ka}{}|GRO
+ ĤӰѼƸAiѦ~|fonts.txt|~C䤤~|*|~kѼƧYO
+ @զrɦWrACJK~tη|bݥ[WGƦrArW
+ ]sub-font name^A׬O~|.tfm|~ɡB|.pfb|~ɩ~|pk|~ɬһݻPW@
+ PC|CJK|~hOrjpơ]size function^ACJK~tΩwqFƭӦ
+ ơApG
+ \begin{verbatim}
+ CJK ۷ `' (empty) NϥΦrjpP latex sĶ@PC
+ sCJK ۷ `s' PWAr~ɤĵi]silent^C
+ CJKfixed ۷ `fixed' YݨDrjpbwqd򤺡A@
+ ϥΫwrC
+ sCJKfixed ۷ `sfixed' PWA keep silentC
+ CJKsub ۷ `sub' Ht@rNC
+ CJKssub ۷ `ssub' PWA keep silentC
+ \end{verbatim}
+ piHܤKPɨϥI}rΦVqrC
+\end{enumerate}
+
+²檺wˤ覡NOApGAO\ttftopkӲͦrAhNҴѪ~
+|c00?????.fd|~ƻs~\texttt{texinput/Bg5}~UFYOH\ntutocjkDA
+PzFHC
+
+\subsection{X~\LaTeX~PrY}
+\label{sec:portability}
+
+BҫX]AqùBɮפίȱiC~\ref{tab:soft-vs-fonts}~O
+ҴΪ@dznXnPҨϥΦrY]FSO~An餧
+jPҬ弶gɳ̪񪺪^CѦiAPK~rbwɬOi
+ʪA~PS~rbCL]t~PostScript~ɮס]|.eps|B|.ps|~^
+祲ݥΨC
+\begin{table}[htbp]
+ \begin{center}
+ \leavevmode
+
+ \begin{tabular}{|>{\ttfamily}c|c|c|c|} \hline
+ Xn & \ & CJK PK~r
+ & CJK PS~r \\ \hline
+ xdvi & w & \hookstroke
+ & \crossmark \\
+ & &
+ & ]঳@ӹw]r^ \\ \hline
+ dvisvga & w & \hookstroke
+ & \crossmark \\ \hline
+ dvips & XɮשΦL & \hookstroke
+ & \hookstroke \\
+ ]5.60~HU^ & &
+ & ]J^ \\ \hline
+ dvihp & XɮשΦL & \hookstroke
+ & \crossmark \\ \hline
+ gs & wοX & \crossmark
+ & \hookstroke \\ \hline
+ \end{tabular}
+
+ \caption{~\TeX~nPϥ~CJK~rYC}
+ \label{tab:soft-vs-fonts}
+ \end{center}
+\end{table}
+
+ns@gϤíZ峹AרO峹Arڡ]font family^Pؤo
+jp]font size^ܤƬOiίʪCXɥ~PK~P~PS~rӨA
+YbpUG̪tOALKʤ]iOUdFYbϺЪŶ
+ϥΤWAiNҮtC]P@rڦPjprAPK~rݨC
+ϥΨ쪺ؤoҸJܨXɤA~PS~ruݤ@C
+
+ثeA峹ҦϥΨ쪺~PFB~rAYnͤt~PS~ɮ
+]self-contained Postscript output^A|dvips|~|JܨXC
+U@X~|dvips|~{ANiwXɤIҧiF
+NYsu|Jb峹ϥΨ쪺rb~|.pfb|~ɤҹwq
+C]b̴~|dvips| 5.60~ɡAȮɵLk\aϥΤ~CJK PS~r
+AL۫H֤FC^
+
+ثeȮɥi~|fontload|~oӳnAFoӥ\C
+
+
+\section{ڪҤl}
+\label{sec:my-settings}
+
+ثeڨϥΪO~Linux~@~tΡA\TeX/\LaTeX~hϥ~te\TeX~ҡA
+ؿpUG
+\begin{itemize}
+\item |/usr/local/lib/texmf| s~\TeX/\LaTeX~tΡC
+\item |/usr/local/lib/ghostscript| s~GhostscriptC
+\item |/usr/local/lib/ntuttf| s~NTU TrueType~rΥ\ntutocjkҲ
+ ͪrC
+\item |~/CJK/4_1.0| sѶ}~CJK~tΡC
+\end{itemize}
+
+ڥH`w˵{ǡAN~te\TeX~w˦b~|/usr/local/lib/texmf|FN~
+CJK~bڪ~|$HOME/CJK|~UѶ}ACJK~n餤Ҧɮ׫Kͦb~|CJK|~l
+\footnote{ҥHN~CJK w˦bۤvӤHؿUAO]~CJK~`sA
+ K`Шtκ޲zWWܳ]wCA[WFۤvɮ׬yqʪҼ{A
+ ۤv@~CJK~]wAӤH{Aۤv~CJK~~|{תөʡC
+ YASOtΤtd~CJK~n骺HAƩάO~\TeX/\LaTeX~@̡Ab
+ ۤvpHؿU޲zéws~CJKAOӤ覡}AҦpG
+\begin{verbatim}
+ % cd
+ % gunzip CJK-4.1.0.src.tar.gz | tar xvf -
+\end{verbatim}
+ðHUBzG
+\begin{enumerate}
+\item b~|~/CJK|~Uإߤ@Ÿɮ׳s]symbolic link^AW~
+ |texinput|~Bsܥثe~CJK~WU~|texinput| A
+ \begin{verbatim}
+ % cd ~/CJK
+ % rm -f texinput
+ % ln -s 4_1.0/texinput texinput
+ \end{verbatim}
+\item sĶ@ӷs~|bg5conv|~ɡC
+ \begin{verbatim}
+ % cd ~/CJK/4_1.0/utils/Bg5conv
+ % gcc -O -o bg5conv bg5conv.c
+ % mv bg5conv bg5latex ~/bin
+ \end{verbatim}
+ YuOw˵ۤvΡAhiH~|root|~~|cp|~~|/usr/local/bin|~
+ ؿUC
+\item bڪ~|$HOME|~ؿU~|.cshrc|~ɤ]]ڥΪO~tcsh^AW[@
+
+ \begin{verbatim}
+ setenv TEXINPUTS ":~/CJK/texinput//"
+ \end{verbatim}
+\item ~|.tfm|~ɤ~|.pfb|~rCbګ\ntutocjkA@@~
+ ``make''~X۹諸~|.pfb|~rA@~8~աAC~55~~ |.tfm|~~|.pfb|~
+ ɡCڱNoɮײ~
+ \texttt{/usr/local/lib/\linebreak[1]ntuttf/\linebreak[1]type1/}~~
+ \texttt{/usr/local/lib/ntuttf/afm/}~rڪؿUCñN
+ ~|config.CJK|~~|CJK.map|~~|$TEXMF/dvips|~UC
+\item ]w~|.fd|~ɡC]ڨϥΪOH~PS~rD~PFB]\ntutocjk
+ ͡^ΥѨ䲣ͪ~PK~r]~|gsftopk|~͡^AҥHڪĥ
+ \ntutocjkҴѪ~|c00|*|.fd|~ɡAS@]]ڦdϥP
+ ڪu@Ҥ@P :-^CڱN䲾~|~/CJK/texinput/Bg5/|~ؿUC
+\end{enumerate}
+
+\subsection{إߤZ}
+\label{sec:creating-tex}
+
+~CJK \TeX~ZP@~\TeX~ZPDnbG
+\begin{itemize}
+\item bҿ~\LaTeX~~preamble]|\documentclass|~~
+ |\begin{document}|^ϰ줤A~|\usepackage{CJK}|~oөROAY
+ J~|CJK.sty|C
+\item rb~|CJK|~~|CJK*|~ҤCYG
+ \begin{verbatim}
+ \begin{CJK*}{}{}
+ qB`BϧΡBBѦҤmBK
+ ...
+ \newpage
+ \end{CJK*}
+ \end{verbatim}
+\item nܴri~|\CJKfamily|~ROAp~|\CJKfamily{fs}|~NHUr
+ 令駺r]M~|fs|~oӦrΦW٥wqb~|c00fs.fd|~^C
+\end{itemize}
+
+ڪΪkOH@Ӥҥ]Ҧ峹eAp~
+\ref{fig:my-example}~ҥܡC
+
+\newsavebox{\myex}
+\begin{lrbox}{\myex}
+ \begin{minipage}{.9\textwidth}
+ \footnotesize
+ \begin{verbatim}
+ \documentclass[12pt]{article}
+ \usepackage{CJK}
+
+ \begin{document}
+ \begin{CJK*}{Bg5}{fs}
+ \CJKtilde
+
+ \section{Ĥ@`}
+ \label{sec:section-1}
+ Ѧҹ~\ref{fig:apply-pk-and-ps-fonts}C
+
+ \begin{figure}[htbp]
+ \begin{center}
+ \leavevmode
+ \includegraphics{pkpsapps.eps}
+ \caption{|pk|~rP~|.pfb|~rι}
+ \label{fig:apply-pk-and-ps-fonts}
+ \end{center}
+ \end{figure}
+
+ \bibliographystyle{plain}
+ \bibliography{mybib}
+
+ \newpage %ϦTXC
+ \end{CJK*}
+ \end{document}
+ \end{verbatim}
+ \end{minipage}
+\end{lrbox}
+
+\begin{figure}[htbp]
+ \begin{center}
+ \leavevmode
+ \fbox{\usebox{\myex}}
+ \caption{ڪ~CJK~dҡC}
+ \label{fig:my-example}
+ \end{center}
+\end{figure}
+
+\subsection{H~\LaTeXe\ CJK~sƪ}
+\label{sec:clatexing}
+
+NP@몺~\LaTeX~ɤ@ˡAH~|bg5latex|~N~|latex|ApG
+\begin{verbatim}
+ % bg5latex mylatex.tex
+ Ϊ
+ % bg5latex mylatex
+\end{verbatim}
+
+\subsection{w}
+\label{sec:preview}
+
+jpUڥH~|xdvi|~w~|.dvi|~ɡ]b~Emacs~~Mule~Yϥ~
+AUC\TeX~oMnAXXaAרOuw峹@ϰA
+Hɥi˵Ӱϰ쪺ƪΡ^C
+
+t~Aڤ]|pΤPw{Cpb~Linux~~virtual terminal
+mode~ڥH~|dvisvga|~wCbʥF~|pk|~rΨS~|xdvi|~ּƱΤUA
+ڤ]~|ghostview|~wg~|dvips|~ͪ~|.ps|~ɮסC
+
+\subsection{CL}
+\label{sec:printing}
+
+ͤΦCL~|PostScript|~ɮ׬Oڳ̱`Ϊ覡A]bڪ峹AϧάO
+i֪ơAӥ̴XGO~|.eps|~榡]~|xfig|BAutoCADB|GnuPlot|B
+|xv|BKҲ͡^CҲͪ~|.ps|~ɡAΪ̬O~PostScript~LA
+̳zL~ Ghostscript~ഫAӿX~Laserjet~~Deskjet~ƩΨI}L
+hC
+
+@ӨAH~|dvips cjk-doc|~|ͥiCLXAAH~|lpr cjk-doc.ps|~
+LOCLYiCzY@ͤ~PK~rABzOϥ~PostScript~
+LAS\ntutocjkw~PS~rA]w~ Ghostscript~]ww˦no
+rAӥBzLͰʵ{H~|gs|~D]LinuxtΤWhƳH覡]w^A
+hAiHH~|lpr|~oөROCL~ |.ps|~ɡ]ƦܬO~|.dvi|~ɡ^CpG
+\begin{verbatim}
+ % dvips -P CJK cjk-doc
+ % lpr cjk-doc.ps
+\end{verbatim}
+
+H~|dvihp|~ͦCLɤ]O覡@AX榡~PCLAάO~HP~L
+C]LkBz峹]t~PostScript~ɮסAҥHڨä`ΡC
+
+nͥi⪺CLɮ׮榡]self-contained PostScript file^Aڷ|H~
+Post\-Script~]|.ps|^榡DCrӷ@Oѹw۰ʲͪ~PK~
+r@~ |dvips|~JrC覡iHUCROG
+\begin{verbatim}
+ % dvips cjk_doc -o cjk-doc-contains-pk-fonts.ps
+\end{verbatim}
+~|psfonts.map|~ݤt\ntutocjkҲͪr]CJK 4.0 HW
+ҧt\ntutocjkAw]Ρ^A|dvips|~~|Τ~PK~rAΦpG
+~PK~rsbܡA|۰ʲͤCbϥ~|xdvi|~άnwɡA]H~
+PK~rDAbr䤣쪺pUA|۰ʲͤC
+
+t~hOO~|dvips|~Τ~PS~rAb\ntutocjkw˫AҦ
+~PS~rɷ|sb~|CJK.map|~ɤCYnH覡ͥi⦡~|.ps|~
+ɡAi@BaH~|gs|~~|fontload|~nAN~PS~rJX
+ɮפCYH~|fontload|~ӨAb~UNIX~tΤUAiHUOFG
+\begin{verbatim}
+ % dvips -P CJK -o cjk-doc-no-ps-fonts-contained.ps cjk_doc.dvi
+ % fload cjk-doc-no-ps-fonts-contained.ps > cjk-doc-contains-ps-fonts.ps
+ % lpr cjk-doc-contains-ps-fonts.ps
+\end{verbatim}
+~|cjk-doc-contains-ps-fonts.ps|~~|cjk-doc-contains-ps-fonts.ps|~N
+O㪺~PS~ɮפFA]NOAziH@x䴩CL~PostScript~
+תLε{FC
+
+HWNOڭӤH~CJK~~\LaTeX~tΪ]wAH@NѦۤvw˸gܡS
+
+
+\section{DѨM}
+\label{sec:trouble-shooting}
+
+bϥιw{ɭԡAi|J쪺DPѨM覡pUG
+\begin{itemize}
+\item PK~r䤣C
+\item |۰ʲ~PK~rC
+\end{itemize}
+
+[\hDPѨM覡|zǤJ]
+
+
+%\section{L}
+%\label{sec:misc}
+
+
+\section{P}
+\label{sec:acknowledgements}
+
+\begin{itemize}
+\item ohHA^m\hߤOA\hKBe״I{C
+\item hϥΪ̡Aϥγoǵ{AϥĻWhӡC
+\item oدSOۤvTAͥͤa`ۡA~ɤFڭ̪ͬhC
+\end{itemize}
+
+
+%\section{@}
+%\label{sec:the-author}
+
+%gt (Chun-Yu Lee)
+%d791013@ce.ntu.edu.tw \\
+%chunylee@ms1.hinet.net
+
+
+%\bibliography{READMEb5}
+%\bibliographystyle{plain}
+
+
+\begin{thebibliography}{1}
+
+\bibitem{latex-companion:1993}
+Michel Goossens, Frank Mittelbach, and Alexander Samarin.
+\newblock {\em The \LaTeX Companion}.
+\newblock Addison Wesley, 1993.
+
+\bibitem{tex-faq:1.9c}
+Bobby Bodenheimer.
+\newblock The new \TeX\ FAQ --- your 100 questions answered:
+ Version 1.9c, date 1994/12/06.
+\newblock 1994.
+
+\bibitem{latex2nd}
+Leslie Lamport.
+\newblock {\em \LaTeX\ --- A Document Preparation System --- User's
+ Guide and Reference Manual}.
+\newblock Addison Wesley, 2 edition, 1994.
+
+\end{thebibliography}
+
+
+\appendix
+\section{W}
+\label{sec:terms}
+
+UCW夤ҨϥΡAçUCNG
+
+\begin{description}
+\item[PK~r:] PK fontsC@YLI}r榡CsxϥΦb~
+ TeX/\LaTeX~ݭnXI}raCpwΦCLXCb~CJK
+ PK~rC
+\item[PS~r:] PostScript Type 1 fontsCPostScript~rƺثA
+ N~Type 1~rC䦳خ榡GPFA (Printer Font Ascii)~~PFB
+ (Printer Font Binary)Cb~CJK PS~rC
+\item[DBu@:] A host computer, work station, etcCxYO
+ 귽ΪAȪqCp~FTP~C
+\item[CTAN:] Comprehensive \TeX\ Archive NetworkCXGҦ
+ ~TeX/\LaTeX~tΤΤ~FTP~Cثew~CTAN~ԦC~
+ \ref{sec:ctan-mirrors}C
+\item[IFCSS:] The CCIC (Chinese Community Information Center) of IFCSS
+ (Independent Federation of Chinese Students and Scholars)C~
+ \ref{sec:ifcss-mirrors}~OXӦW~ifcss~C
+\item[AFM~ɮ:] Adobe Font MetricsCssXΦrd򵥸ơC
+\item[TFM~ɮ:] \TeX\ Font MetricsC
+\item[|.fd|~ɮ:] ryz~(font description files)COY@
+ ؤXC
+\item[GS~~GhostScript:] `Ϊ~PostScript~yĶ]interpreter^
+ @C
+\item[|afm2tfm|:] N~AFM~ɮ׮榡ഫ~TFM~ɮ׮榡{C
+\item[@զr:] pGOϥYLrAYOϥ~pmC~}YrڡA
+ @~55~ӤlrɡCҦpG|b5ka01.pfb|B|b5ka02.pfb|BKB
+ |b5ka55.pfb|C
+\item[\textsf{NFSS}:] New Font Selection SchemeC~Frank Mittelbach~
+ M~Rainer Sch\"opf~ҴXrܨtΡC
+\end{description}
+
+\section{ɮרo}
+\label{sec:getting-files}
+
+\begin{description}
+\item[\LaTeXe~ҡG] @ҦMtΨѨϥΪ²wˡApb~DOS~
+ U~em\TeXFb~Linux~U~N\TeXB~te\TeX~FUNIX~Whp~web2c~
+ Codzb~CTAN~ؿUCĴp~em\TeX~b~
+ |systems/|\linebreak[1]|msdos/|\linebreak[1]|emtex|~FN\TeX~bSSF
+ web2c~bSSC\LaTeXe~tΥhb~CTANG
+ |macros/|\linebreak[1]|latex/|\linebreak[1]|base|~UC
+\item[\LaTeXe~CJK~tΡG] CTAN: |language/chinese/CJK|~~IFCSS host:
+ |tex/|\linebreak[1]|CJK.X_X.|\linebreak[1]|tar.gz|C
+\item[NTU TrueType~rG] IFCSS host: |fonts/big5/ms-win|CNѡB
+ B駺鵥]Υ^~ARJ~ɨ^AѦһPoǦrbP@ؿ
+ ɡ]ΰѦҪb\ntutocjk~|README|~ɡ^AN٭즨ӧO~TTF~
+ rC
+\item[\textsf{ntu2cjk, ttf2pk}:] r͵{C]tb~\LaTeXe\ CJK~
+ tΡC
+\item[GhostScript:] CTAN:
+ |support/|\linebreak[1]|ghostscript/|\linebreak[1]|aladdin|~~
+ |support/|\linebreak[1]|ghostscript/|\linebreak[1]|gnu|C
+\item[|dvips|:] CTAN host: UNIX~b~|dviware/dvips|FDOS~b~
+ |systems/msdos/|\linebreak[1]|dviware/|\linebreak[1]|dvips/|%
+ \linebreak[1]|dvips558.pc|C
+\item[|afm2tfm|:] ]tb~dvips~tΤC
+\item[|ps2pk|:] CTAN: |fonts/utilities/ps2pk|AΥ]tb@M˪~
+ \TeX/\LaTeX~tΤC
+\item[|gsftopk|:] CTAN: |fonts/utilities/gsftopk|AΥ]tb@M˪~
+ \TeX/\LaTeX~tΤC
+\item[|dvi2|xx:] p~|dvilj|B|dvidm|BKCb~CTAN: |dviware|~ؿUC
+\item[AUC\TeX:] CTAN: |support/auctex|~ؿ~
+ |auctex.tar.gz|\linebreak[1]]~unix~^~|auctex.zip|~]dos^C
+\item[|fontload|:] CTAN: |fonts/utilities/fontload|C
+\item[Mule~JkG] IFCSS: |mule/lisp/quail-b5|C
+\end{description}
+
+
+\section{LnPu}
+\label{sec:other-stuffs}
+
+\subsection{b~Linux~tΤW\bigfivetΤμ׺ݾ{}
+\label{sec:chinese-systems}
+
+\begin{itemize}
+\item chdrv
+\item yact
+\item CXterm
+\item xcin
+\end{itemize}
+
+\subsection{s\ -- Mule}
+\label{sec:mule}
+
+ϥ~Mule~s褤~\LaTeX~󪺤u㪺ϥΪ̡AiNU]w[~
+|$HOME/|\linebreak[1]|.emacs|~ɤG
+\begin{verbatim}
+ ;;; Chinese Big-5 environment
+ (set-primary-environment 'chinese)
+ (set-default-file-coding-system '*big5*)
+ (setq display-coding-system '*big5*)
+ (setq keyboard-coding-system '*big5*)
+ ;; input methods
+ (add-hook 'quail-package-alist '("tsangchi-b5" "quail/tsangchi-b5"))
+ (add-hook 'quail-package-alist '("quick-b5" "quail/quick-b5"))
+ ; the default input method
+ (setq-default quail-current-package
+ (assoc "tsangchi-b5" quail-package-alist))
+\end{verbatim}
+
+^Ji~|C-]|AnܨLJki~|M-s|]|Alt-s|^C
+
+]wJkɥiܦۤvߺDCb~IFCSS Mule~ؿ]ѦҲ~
+\ref{sec:getting-files}~`^@ǤJkA䤤]AG
+\begin{center}
+ \begin{tabular}{ll}\hline
+ ɮ & Jk \\\hline
+ cns-b5-input.tar.gz & t~|tsangchi-b5.el|]ܾe^ \\
+ & |quick-b5.el|]²^Jk \\
+ zozy.el.gz & s` \\
+ cj.el.gz & ܾe \\
+ simplex.el.gz & ² \\
+ punct-b5.el.gz & IŸ \\
+ qj-b5.el.gz & \\
+ etzy.el.gz & ʤѪ` \\
+ boshiamy.el.gz & F \\
+ array30.el.gz & C~30 \\\hline
+ \end{tabular}
+\end{center}
+
+HW`JkCӥؿ]tUCJkG
+\begin{center}
+ \begin{tabular}{ll} \hline
+ ɮ & Jk \\\hline
+ 4corner.el.gz & |X \\
+ ctlaub.el.gz & Bf \\
+ ecdict.el.gz & ^~ \\
+ hs.el.gz & ضH \\
+ hsu.el.gz & \` \\
+ py-b5.el.gz & ~y \\
+ roman.el.gz & ù \\\hline
+ \end{tabular}
+\end{center}
+
+
+n~\LaTeX~ɡAi~|bg5latex|~sĶCiQ~|cjk-enc.el|~o~
+Emacs Lisp~ɡANഫ~|.cjk|~ɡAAH~|latex|~isĶC@kO
+b~|~/.emacs|~ɮפ[JUCƦ]䤤~ |write-cjk-file|~аѦ~
+|cjk-enc.txt|~^G
+\begin{verbatim}
+ (load-library "cjk-enc")
+
+ (defun write-cjk-file ()
+ "Save current buffer and <buffername>.cjk in *cjk-coding*"
+ (interactive)
+ (setq coding file-coding-system)
+ (setq bufname (buffer-file-name))
+ (string-match "\\(.*\\)\\.[^/]*$" bufname)
+ (setq body (substring bufname 0 (match-end 1)))
+ (setq newbufname (concat body ".cjk"))
+ (message "Saving %s and %s" bufname newbufname)
+ (write-file newbufname *cjk-coding*)
+ (write-file bufname coding))
+\end{verbatim}
+KibCn~|latex|~eA~|M-x write-cjk-file|~ROsɡA
+MAH~|latex|~söDɦWPzDɦW@ˡAɦW~|.cjk|~
+ɮסC
+
+\subsection{\TeX/\LaTeX~n\ -- AUC\TeX}
+\label{sec:auctex}
+
+²ޡG
+\begin{enumerate}
+\item Ӳ~\ref{sec:mule}~`覡N~Mule~]wC
+\item ~AUC\TeX~w˫ܦwˡCΫ~AUC\TeX~~default~覡wˡC
+ UCƶiiC
+\item إߤ@~|bg5latex-batch|~ɡAOpUG
+ \begin{verbatim}
+ #! /bin/sh
+ f=`echo $1 | sed -e 's|\(.*\)\.[^/]*$|\1|'`
+ bg5conv < $1 > $f.cjk
+ latex \\nonstopmode\\input{$f.cjk}
+ \end{verbatim}
+\item \label{CJK-C-cC-c}b~|.emacs|~[JG
+ \begin{verbatim}
+ (setq TeX-command-list
+ (append TeX-command-list
+ '(("CLaTeX" "bg5latex-batch %s " TeX-run-LaTeX nil t)
+ ("CLaTeX Interactive" "bg5latex %s " TeX-run-interactive nil t)
+ ("CPrint" "fload %f | lpr" TeX-run-command t nil)
+ )))
+ \end{verbatim}
+ hib~|C-c C-c|~~|C-c C-r|~ɡAbnJ~|LaTeX|~ɾAJ~
+ |CLaTeX|C
+\item b~|.emacs|~[JUCƦAHKzbƪɡ]h
+ ~|C-c C-c CLaTeX|~Aϰ~|C-c C-r CLaTeX|^AY~i~|C-c `|~
+ d~ҦbAåi󥿤C
+ \begin{verbatim}
+ (add-hook 'TeX-translate-location-hook
+ '(lambda ()
+ (if (string-match "\\(.*\\)\.cjk$" file)
+ (setq file
+ (concat
+ (substring file
+ (match-beginning 1)
+ (match-end 1))
+ ".tex")))))
+ \end{verbatim}
+\item Ϊ̱zҼ{~|cjk-enc.el|Ahb~|.emacs|~[JUCƦG
+ \begin{verbatim}
+ (defun TeX-run-CJK-LaTeX (name command file)
+ "Create a process for NAME using COMMAND to format
+ FILE with CJK/LaTeX."
+ (write-cjk-file)
+ (TeX-run-LaTeX name command file))
+
+ (if (not (assoc "CJKLaTeX" TeX-command-list))
+ (setq TeX-command-list
+ (append TeX-command-list
+ '(("CJKLaTeX" "%l '\\nonstopmode\\input{%s.cjk}'"
+ TeX-run-CJK-LaTeX nil t)
+ ))))
+ \end{verbatim}
+ unNWzϥ~|CLaTeX|~ɾA令ϥ~|CJKLaTeX|~YiCdP˥
+ ~|C-c `|~C
+
+ n`NAϥ~|CJKLaTeX|~ɡA󤤽Фnϥ~|\usepackage{CJK}|~
+ ROC
+\end{enumerate}
+
+`NAWzBJuAγ@~CJK \LaTeXe~C
+
+% Not ready yet...
+%pGbz󤤦Ψ~|\include|~oөROAӱzQΨ~AUC\TeX~\A
+%i@pUؿwơG
+
+% ./ ==> hؿAl󤧩mؿC
+% ../ ==> WhؿAm~latex~e~bg5conv~ഫL~|.cjk|~ɡ]]
+% YbWhؿlAhݯSO`NAnϥλPhؿPW
+% ^Ct~]t@~|Makefile|~]Ѧҹ~
+% \ref{fig:makefile-for-multifile-latexing}~Ҥl^A䤺eDnbC
+% ~latex~eAs~|.cjk|~ɡC
+
+% \begin{verbatim}
+% #! /bin/sh
+% make bg5conv
+% cd CJK
+% latex \\nonstopmode\\input{$1}
+% \end{verbatim}
+
+
+% \begin{lrbox}{\myex}
+% \begin{minipage}{.9\textwidth}
+% \footnotesize
+%\begin{verbatim}
+%TEXs = abstract.tex archi.tex codebase.tex conclude.tex details.tex \
+% dsgnbase.tex engtool.tex examples.tex introd.tex kb_lsp.tex \
+% pjfinal.tex prg_gi.tex prg_s2c.tex related.tex represnt.tex \
+% sscdcb.tex sscddb.tex sscdgi.tex sta2con.tex title_pg.tex
+%MISC = Makefile LaTeXsrc
+%RCSs = $(wildcard $(SRCDIR)/*,v)
+
+%SRCDIR = CJK
+
+%.PHONY: check_srcdir bg5conv default
+
+%.DEFAULT: .tex .sty .bib .dvi .ps .lj .toc .lof .lot
+
+%default:
+% @echo "There are the following targets:"
+% @echo " bg5conv : Big5 CJK LaTeX file converted to LaTeX file."
+
+%bg5conv: check_srcdir $(TEXs)
+
+%check_srcdir:
+% @if [ -f LaTeXsrc ]; then \
+% echo "Don't make at the LaTex source directory!"; \
+% echo "Copy the Makefile to upper directory and make there."; \
+% echo "e.g., cp Makefile ..; cd ..; make"; \
+% exit 1; \
+% fi
+% @if [ ! -d $(SRCDIR) ]; then \
+% echo "$(SRCDIR) not found!"; \
+% exit 1; \
+% fi
+
+%$(TEXs): %.tex : $(SRCDIR)/%.tex
+% bg5conv < $< > $@
+%\end{verbatim}
+% \end{minipage}
+% \end{lrbox}
+
+% \begin{figure}[htbp]
+% \begin{center}
+% \leavevmode
+% \framebox[.9\texwidth]{\myex}
+% \caption{Ih~CJK~ɪ~Makefile~dҡC}
+% \label{fig:makefile-for-multifile-latexing}
+% \end{center}
+% \end{figure}
+
+
+
+\section{CTANbUaɮװ}
+\label{sec:ctan-mirrors}
+(`K~CTAN host~W~README.mirrors)
+
+ֺWtAijҦϥ~CTAN~귽͡Aϥηaγ̪~
+CTAN hostC
+
+ثewƻs~CTAN~ɮת~FTP~:
+\begin{verbatim}
+ ftp.fcu.edu.tw (Taiwan) /pub2/tex
+ gate.sinica.edu.tw (Taiwan) /TeX
+ ftp.adfa.oz.au (Australia) /pub/tex/ctan
+ ftp.germany.eu.net (Deutschland) /pub/packages/TeX
+ ftp.uu.net (Virginia, USA) /pub/text-processing/TeX
+ nic.switch.ch (Switzerland) /mirror/tex
+ sunsite.dsi.unimi.it (Italia) /pub/TeX
+ sunsite.snu.ac.kr (Korea) /shortcut/CTAN
+\end{verbatim}
+
+ثewƻs~CTAN~ɮת~FTP~:
+\begin{verbatim}
+ dongpo.math.ncu.edu.tw (Taiwan) /tex-archive
+ ftp.ccu.edu.tw (Taiwan) /pub/tex
+ cis.utovrm.it (Italia) /TeX
+ ctan.unsw.edu.au (NSW, Australia) /tex-archive
+ ftp.center.osaka-u.ac.jp (Japan) /CTAN
+ ftp.cdrom.com (West coast, USA) /pub/tex/ctan
+ ftp.comp.hkbu.edu.hk (Hong Kong) /pub/TeX/CTAN
+ ftp.cs.rmit.edu.au (Australia) /tex-archive
+ ftp.cs.ruu.nl (The Netherlands) /pub/tex-archive
+ ftp.cstug.cz (The Czech Republic) /pub/tex/CTAN
+ ftp.duke.edu (North Carolina, USA) /tex-archive
+ ftp.ee.up.ac.za (South Africa) /tex-archive
+ ftp.funet.fi (Finland) /pub/TeX/CTAN
+ ftp.gwdg.de (Deutschland) /pub/dante
+ ftp.jussieu.fr (France) /pub4/TeX/CTAN
+ ftp.loria.fr (France) /pub/unix/tex/ctan
+ ftp.mpi-sb.mpg.de (Deutschland) /pub/tex/mirror/ftp.dante.de
+ ftp.nada.kth.se (Sweden) /pub/tex/ctan-mirror
+ ftp.rge.com (New York, USA) /pub/tex
+ ftp.riken.go.jp (Japan) /pub/tex-archive
+ ftp.tu-chemnitz.de (Deutschland) /pub/tex
+ ftp.uni-augsburg.de (Deutschland) /tex-archive
+ ftp.uni-bielefeld.de (Deutschland) /pub/tex
+ ftp.unina.it (Italia) /pub/TeX
+ ftp.uni-stuttgart.de (Deutschland) /tex-archive (/pub/tex)
+ ftp.univie.ac.at (\"Osterreich) /packages/tex
+ ftp.u-aizu.ac.jp (Japan) /pub/tex/CTAN
+ ftpserver.nus.sg (Singapore) /pub/zi/TeX
+ kadri.ut.ee (Estonia) /pub/tex
+ src.doc.ic.ac.uk (England) /packages/tex/uk-tex
+ sunsite.icm.edu.pl (Poland) /pub/CTAN
+ sunsite.queensu.ca (Canada) /pub/tex-archive
+ sunsite.unc.edu (North Carolina, USA) /pub/packages/TeX
+ wuarchive.wustl.edu (Missouri, USA) /packages/TeX
+\end{verbatim}
+
+ӥDn~CTAN~D:
+\begin{verbatim}
+ ftp.dante.de (Deutschland)
+ -- anonymous ftp
+ /tex-archive (/pub/tex /pub/archive)
+ -- gopher on node gopher.dante.de
+ -- e-mail via ftpmail@dante.de
+ -- World Wide Web access on www.dante.de
+ -- Administrator: <ftpmaint@dante.de>
+
+ ftp.tex.ac.uk (England)
+ -- anonymous ftp
+ /tex-archive (/pub/tex /pub/archive)
+ -- gopher on node gopher.tex.ac.uk
+ -- NFS mountable from
+ nfs.tex.ac.uk:/public/ctan/tex-archive
+ -- World Wide Web access on www.tex.ac.uk
+ -- Administrator: <ctan-uk@tex.ac.uk>
+\end{verbatim}
+
+
+\section{IFCSS~bUa~FTP~}
+\label{sec:ifcss-mirrors}
+
+Dn~IFCSS~G \verb|ftp.ifcss.org:/pub/software|
+
+L~FTP~:
+\begin{verbatim}
+Taiwan: ftp.edu.tw:/Chinese/ifcss/software [full]
+ ftp.ntu.edu.tw:/Chinese/ifcss/software [full]
+ iiiafs.iii.org.tw:/Chinese/ifcss/software [full]
+CHINA,
+ Beijing: info.bta.net.cn:/pub/software [partial]
+ Guangdong:
+ info.gz.gdpta.net.cn:/pub/mirror/chnsoftware [partial]
+ Shanghai: info.sta.net.cn:/pub/software [partial]
+HONG KONG,: ftp.cuhk.hk:/pub/chinese/ifcss/software [full]
+SINGAPORE,: ftp.technet.sg:/pub/chinese [full]
+USA,
+ California: cnd.org:/pub/software [full]
+ New Mexico: phaiakon.nmsu.edu:/pub/software [full]
+\end{verbatim}
+
+%% start of trailer
+\newpage
+\end{CJK*}
+
+\end{document}
+
+%% Local Variables:
+%% TeX-header-end: "%+ *[Ee]nd[ -]*[oO]f[ -]*[hH]eader"
+%% TeX-trailer-start: "%+ *[Ss]tart[ -]*[oO]f[ -]*[tT]railer"
+%% TeX-command-default: "CLaTeX"
+%% TeX-master: t
+%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/chinese/READMEgb.tex b/language/chinese/CJK/cjk-4.8.4/doc/chinese/READMEgb.tex
new file mode 100644
index 0000000000..3081e2896b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/chinese/READMEgb.tex
@@ -0,0 +1,92 @@
+% This is the file READMEgb.tex of the CJK package
+% for installing the CJK package for LaTeX 2e (in GB encoding).
+%
+% written by Fude Yao <yao@everest.micro.umass.edu}
+% Version 4.1.3 (20-Jun-1997)
+
+\documentclass[12pt]{report}
+
+\usepackage{CJK}
+
+\begin{document}
+
+\begin{CJK*}{GB}{gbsn}
+\CJKtilde
+
+\chapter*{CJK~װ˵}
+
+~Werner Lemberg~~CJK~İװ˵. ڴ˽ʹõ
+~Alpha-Linux~ƽ̨, ~teTeX-0.4p16~һ汾~\TeX
+
+\begin{enumerate}
+\item
+ ~ftp~ȡʽ~CJK: \\
+ ftp ftp.tex.ac.uk (or ftp.dante.de) \\
+ anonymous \\
+ yao@everest.micro.umass.edu \\
+ bin \\
+ cd tex-archive/language/chinese \\
+ get CJK.tar.gz CJK-4.1.3.src.tar.gz (Ȼ~CJK.tar.gz,
+ Чο~CJK-4.1.3.src/README) \\
+ bye
+\item
+ ѹļѹ\\
+ gzip -d CJK-4.1.3.src.tar.gz \\
+ tar xvf CJK-4.1.3.src.tar \\
+ cd CJK/4$_{-}$1.3
+\item
+ ~doc/teTeX~ȫļ~*.diff~~\$TEXDIR/bin/alpha-linux \\
+ ~patch~޲: patch $<$ MakeTeXPK.diff \\
+ (~special.map.diff~Ӧ~\$TEXMF/fontname~޲) \\
+ ע޲Ƿȫɹ \\
+ (ע\$TEXDIR=/usr/lib/texmf; \$TEXMF=/usr/lib/texmf/texmf)
+\item
+ ~CJK~ȫļ~\$TEXMF/tex/latex/CJK (ýṹ)
+\item
+ ~utils/ttf2pk~ȫļ~\$TEXMF/ttf2pk \\
+ cd \$TEXMF/ttf2pk/src \\
+ make all OS=unix \\
+ ~utils/hbf2gf~ȫļ~\$TEXMF/hbf2gf \\
+ cd \$/TEXMF/hbf2gf \\
+ make all OS=unix
+\item
+ cd utils/Bg5conv (CEFconv, SJISconv) \\
+ compile *conv.c, 磺~gcc cefconv.c -o cefconv \\
+ õĶļͬ~*latex~һ~\$TEXDIR/bin/alpha-linux
+\item
+ ȫִļƵ~\$TEXDIR/bin/alpha-linux~Уϵ \\
+ ln -s \$TEXMF/ttf2pk/ttf2pk \$TEXDIR/bin/alpha-linux
+\item
+ ~\$TEXDIR/texmf.cnf~~\$HBF2GFDIR~~\$TTF2PKDIR \\
+ Ƿȷ
+\item
+ װ~CJK~ֿ, truetype~~hbf~ʽĹ꣬壬ģ \\
+ ~ftp.tex.ac.uk/tex-archive/fonts/CJK~иֿ⣬ȡʽ
+ ȡأעʹöƷʽ
+\item
+ ѹļ \\
+ ֿ~\$TEXMF/fonts/hbf(truetype)/chinese(japanese, korean) \\
+ ~hbf~ֿ⣬~*.cfg~~\$TEXMF/hbf2gf \\
+ ~truetype~ֿ⣬\$TEXMF/ttf2pk/ttf2pk.cfg~Ƿиֿ
+
+\item
+ ļǷ~GB.tex \\
+ GB.tex~õʲôֿ⣺$\backslash$begin\{CJK*\}\{GB\}\{so\} \\
+ \$TEXMF/tex/latex/CJK~~c10so.fd~ֿ漰Щ֣ \\
+ \$TEXMF/fontname/special.map~Ƿиֿ֣ \\
+ \$TEXDIR/texmf.cnf~~\$HBF2GFDIR~~\$TTF2PKDIR~ȷ \\
+ ~hbf~ֿ⣬\$TEXMF/hbf2gf~иֿ~cfg~ļ \\
+ ~cfg~ļ·Ƿȷ \\
+ ~truetype~ֿ⣬\$TEXMF/ttf2p/ttf2pk.cfg~иֿ \\
+ ·ȷ
+\item
+ ~texhash (ÿθĶ֮󣬶Ҫ~texhash)
+\item
+ latex examples/GB.tex, Ƿ~doc/~Ŀ¼кܶļ
+ ӦϸĶ
+\end{enumerate}
+
+\end{CJK*}
+\end{document}
+
+\EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/chinese/emTeXb5.txt b/language/chinese/CJK/cjk-4.8.4/doc/chinese/emTeXb5.txt
new file mode 100644
index 0000000000..b37c80aff3
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/chinese/emTeXb5.txt
@@ -0,0 +1,357 @@
+From c300711@ms5.hinet.net Fri Feb 07 02:13:02 1997
+Newsgroups: tw.bbs.comp.tex
+Subject: emtex+cjk410(ttf2pk) on Msdos wˬ.
+From: KUO Yi-Liang <c300711@ms5.hinet.net>
+Date: Thu, 06 Feb 1997 18:13:02 GMT
+
+Hemtex\doc\english\quick.eng¦:
+չϦwemtex+cjk4.1.0(ttf2pk) on MSDOS
+--------
+--------
+b mirror CTAN ftp
+Ҧp dongpo.math.ncu.edu.tw: /tex-archive/systems/msdos/emtex/U
+*.zip,
+-rw-rw-r-- 1 mattes server 160090 Aug 7 1995 bibtex4b.zip
+-rw-rw-r-- 1 mattes server 1148514 Apr 10 16:22 dvid16f1.zip
+-rw-rw-r-- 1 mattes server 824290 Apr 10 16:22 dvid16f2.zip
+-rw-rw-r-- 1 mattes server 94959 Aug 7 1995 dvisp10b.zip
+-rw-rw-r-- 1 mattes server 180206 May 24 14:17 emxrsx.zip
+-rw-rw-r-- 1 mattes server 127810 Sep 2 13:24 first.zip
+-rw-rw-r-- 1 mattes server 651946 Jun 26 1995 fontams.zip
+-rw-rw-r-- 1 mattes server 411129 Jun 26 1995 fontcm.zip
+-rw-rw-r-- 1 mattes server 1031835 Sep 2 13:24 fontdc.zip
+-rw-rw-r-- 1 mattes server 7080 Jun 26 1995 fontemsy.zip
+-rw-rw-r-- 1 mattes server 47495 Jun 26 1995 fontltx.zip
+-rw-rw-r-- 1 mattes server 110991 May 4 21:05 german.zip
+-rw-rw-r-- 1 mattes server 930861 Jun 21 14:59 l2base.zip
+-rw-rw-r-- 1 mattes server 409888 Jun 21 14:59 l2input.zip
+-rw-rw-r-- 1 mattes server 87336 Jun 26 1995 l2kurz.zip
+-rw-rw-r-- 1 mattes server 209194 Jun 21 14:59 l2tools.zip
+-rw-rw-r-- 1 mattes server 347068 Jun 26 1995 latex209.zip
+-rw-rw-r-- 1 mattes server 81115 Jun 26 1995 lkurz.zip
+-rw-rw-r-- 1 mattes server 83493 Jun 26 1995 makeindx.zip
+-rw-rw-r-- 1 mattes server 990552 Jun 21 14:59 mf4b.zip
+-rw-rw-r-- 1 mattes server 166052 Sep 19 1995 mfjob12c.zip
+-rw-rw-r-- 1 mattes server 227054 Jun 26 1995 mfware.zip
+-rw-rw-r-- 1 mattes server 39887 Jun 26 1995 pictex.zip
+-rw-rw-r-- 1 mattes server 113473 Jun 26 1995 pkedit.zip
+-rw-rw-r-- 1 mattes server 38705 Jun 26 1995 srcmkidx.zip
+-rw-rw-r-- 1 mattes server 88251 Jun 26 1995 srctcad.zip
+-rw-rw-r-- 1 mattes server 1173697 Jun 21 14:59 tex4b.zip
+-rw-rw-r-- 1 mattes server 131010 Jun 26 1995 texcad.zip
+-rw-rw-r-- 1 mattes server 260671 Sep 11 1995 texware.zip
+-rw-rw-r-- 1 mattes server 236301 Jun 26 1995 unz512.exe
+-rw-rw-r-- 1 mattes server 236134 Jun 26 1995 unz512x3.exe
+-rw-rw-r-- 1 mattes server 124738 Aug 23 1995 web.zip
+LiHoX(HwLaTeX2eӻ)
+ first.zip......@ǻ
+ emxrsx.zip.....dos extenderF(ݭӤHq)
+ mfjob12c.zip...N.mf(^rsource)ഫ.pkһݭn
+ dvid16f1.zip...Udvi driver-partI
+ dvid16f2.zip...Udvi driver-partII
+ tex4b.zip......texD
+ mf4b.zip.......o...ڤ]D, sorry
+ fontcm.zip.....cmtCr.mf
+ fontltx.zip....latexһݪr.mf
+ l2input.zip....latexһݪtexinput
+ l2tools.zip....B~texinput
+
+ɥR@I:pkunzipoӸ{SHӤha,pGSܥhunzip^!
+-rw-rw-r-- 1 mattes server 236301 Jun 26 1995 unz512.exe
+-rw-rw-r-- 1 mattes server 236134 Jun 26 1995 unz512x3.exe
+ADOS ܲŸU(oOquick.eng ҭz,ӤHڨSչL)
+ unz512x3 unzip386.exe
+ ren unzip386.exe unzip.exe
+
+٦ݧAΨxprinter
+N쨺@Ӧr(]iH,ӤHڴNOۤvسy_Ӫ)
+ bj_base.fli Base fonts for the Canon BubbleJet (360 DPI)
+ dj_base.fli Base fonts for the HP DeskJet (300 DPI)
+ fax_base.fli Base fonts for Fax (204x196 DPI)
+ fx_base.fli Base fonts for 9-pin printers (240x216 DPI)
+ ito_base.fli Base fonts for the C.ITOH 8510A (160x144 DPI)
+ ljh_base.fli Base fonts for the HP LaserJet 4 (600 DPI)
+ lj_base.fli Base fonts for the HP LaserJet (300 DPI)
+ p6h_base.fli Base fonts for 24-pin printers (360 DPI)
+ p6l_base.fli Base fonts for 24-pin printers (180 DPI)
+ p6m_base.fli Base fonts for 24-pin printers (360x180 DPI)
+ qj_base.fli Base fonts for the HP QuietJet (192 DPI)
+ sty_base.fli Base fonts for the EPSON Stylus 800 (360 DPI)
+
+Ai./dvips(../dviware/dvips/dvips558.pc) U
+-rw-rw-r-- 1 ftpmaint server 27831 Nov 6 1995 dvips.doc
+-rw-rw-r-- 1 ftpmaint server 182491 Nov 6 1995 dvipsfnt.zip
+-rw-rw-r-- 1 ftpmaint server 421777 Nov 6 1995 dvipsini.zip
+-rw-rw-r-- 1 ftpmaint server 173767 Nov 6 1995 dvipssrc.zip
+..source,ӤΧ
+-----------
+B]w
+-----------
+HӤHڦw˦bD:Ь,өҦ.zip\bd:\emtex.zip\U
+ d:
+ cd d:\
+ pkunzip -d
+d:\emtex.zip\*.zip......p|Yeqؿm\n
+
+÷quick.engijNd:\emtex\binPd:\emx\bin[Jpath
+é c:\autoexec.bat [J:
+ set emtexdir=d:\emtex
+ set dvidrvfonts=d:\texfonts
+ set mfjobopt=/3
+ set tmp=c:\temp
+
+bc:\config.sys files=xx䤤xxݤj20
+٦Nconfig.sys`BREAK=ON'R
+M᭫} autoexec.bat ]wspath
+
+ɥR@I:ӤHڨëDpWҭz,ӬONemtex\bin\set_tex.bat [HXR,
+ NWpath,emtexdir,dvidrvfont,mfjobopt,tmp,...oܼ
+ [bset_tex.batF,ϥy٦t~@ܼƭn].
+-------------------------
+سypkr
+-------------------------
+HUqinstall.eng `
+ pGAMڤ@˨SWxxx_base.fli,ЧAڳo˧@
+ \emtex\mfjob\modes.mfj
+ N 'def target=[............]'令Am.pktexfontsؿ
+ Ҧp ڪ def target=[d:\texfonts];
+ ]wgNfontcm.zip P fontltx.zip i},
+ hbdos ܲŸU
+ mfjob base m=MODE
+ fli_base PREFIX RES c:\texfonts
+where MODE, PREFIX, and RES depend on the font set:
+
+MODE | PREFIX | RES | Font library | Description
+-----+--------+-----+--------------+-------------------------
+bj | bj | 360 | bj_base.fli | Canon BubbleJet (360 DPI)
+dj | dj | 300 | dj_base.fli | HP DeskJet (300 DPI)
+FAX | fax | 204 | fax_base.fli | Fax (204x196 DPI)
+fx | fx | 240 | fx_base.fli | 9-pin printers (240x216 DPI)
+ito | ito | 160 | ito_base.fli | C.ITOH 8510A (160x144 DPI)
+lj | lj | 300 | lj_base.fli | HP LaserJet (300 DPI)
+ljh | ljh | 600 | ljh_base.fli | HP LaserJet 4 (600 DPI)
+lqh | p6h | 360 | p6h_base.fli | 24-pin printers (360 DPI)
+lql | p6l | 180 | p6l_base.fli | 24-pin printers (180 DPI)
+lqm | p6m | 360 | p6m_base.fli | 24-pin printers (360x180 DPI)
+qj | qj | 192 | qj_base.fli | HP QuietJet (192 DPI)
+sty | sty | 360 | sty_base.fli | EPSON Stylus 800 (360 DPI)
+
+To let MFjob call mf386, use the /3 option. It is recommended to set
+this option in the MFJOBOPT environment variable:
+
+ set mfjobopt=/3
+
+ ҦpڥΪ epson stylus 200 h
+ mfjob base m=sty
+ fli_base sty 360 d:\texfonts.........(UoڨS@L:()
+
+M p ` quick.eng q,step by step
+---------------------------------------------------------------------
+6. Creating format files
+---------------------------------------------------------------------
+
+Type the following commands to create format files:
+
+ cd \emtex\btexfmts
+ makefmt 386 plain US <--- if you need PLAIN TeX
+ makefmt 386 latex2e US 8bit -b \emtex\bin\latex2e <---ͤ@
+latex2e.bat
+
+---------------------------------------------------------------------
+7. Creating base files
+---------------------------------------------------------------------
+
+Type the following commands to create the PLAIN base file:
+
+ cd \emtex\bmfbases
+ makebas 386 plain
+
+---------------------------------------------------------------------
+8. Testing the installation
+---------------------------------------------------------------------
+
+Type the following commands to typeset a sample document:
+
+ md \test
+ cd \test
+ latex2e sample2e <----emtex\bin\latex2e.batiiH??
+
+8.1. Viewing the sample output under DOS
+----------------------------------------
+
+Type
+
+ v @XX sample2e
+---->Hڪepson stylus 200 ,hOJ "v @sty sample2e"
+.....M@}DMժT,jPWOʤFǦr,nn{y@z?
+
+The following message will be displayed:
+
+ Warning 1209: do you want to call MFjob to generate 1 missing
+font now?
+ Type Y, N, or ?:
+
+Reply `y'. If you have not installed fonts, computing the fonts for
+the sample will take a while.
+
+When the page shows up (white background), you can scale the output
+by
+typing `-'. To quit, type `q'.
+
+^'y'ӥiHݨF something output on screen
+iHzoom in/zoom out '+' / '-'
+----------------------------------------------------
+CJK 410-----ΥH]wttf2pk,tntu2cjk
+----------------------------------------------------
+archie CJK-4.1.0.bin.tar.gz
+ ç^ CJK-4.1.0.rest.tar.gz
+ CJK-4.1.0.src.tar.gz--------?
+ɥR@I:ڬOqUoӦa,NӾ𪬤lؿftp^Ӫ,modemC,n:(
+ dongpo.math.ncu.edu.tw:/tex-archive/language/chinese/CJK/4_1.0
+ MݨCJK/4_1.0/readmeҼgۦCJK-4.1.0.src.tar.gzoɮ
+ Ooarchie:(
+ɥRGI:ϥΦbmsdosUϥcjkݭn4dos/ndos,pGSЦۦ]k.
+ 䤤4dos/ndos OROĶ,Nmsdoscommand.comΪ
+------------------------
+Ѷ}
+------------------------
+ Ѷ}{ǤjPWO:
+ gzip386 -d xxx.tgz (xxx.gz) o xxx.tar(xxx.)
+ tar -xvf xxx.tar ( xxx.)
+ (ps:gzip386 ,|Nɮ׻\(rename?);
+ ....Parj,pkunzipӤ@;pGȾާ@~,copy@_)
+ MNTcjk-4.1.0.bin.tar.gz i}
+ ܦ@Ӿ𪬤lؿcjk/4_1.0/.................?
+ɥR@I:
+ oɮ׬O.tar.gz,Ѷ}̻ݭndos gzipPtar
+ ڬObjX[CDW˨쪺,nݧںW̦,sorry!
+---------------------------------
+sɮפtm
+--------------------------------
+HUOڪtm,uOiH,ëD̨γ]w
+bin/U Ҧexe,bat,btmhemtex/bin/
+Ҧp
+BG5CONV.EXE
+BG5LATEX.BAT
+F_NAME.BAT
+INSTFONT.BTM
+MAKETEXP.BTM
+MAKETTFP.BTM
+TTF2PK.EXE
+util/f_name.bat ]hemtex/bin
+texinput Ӥlؿ hemtex/texinput/U çWemtex/texinput/cjk
+texinputs/bg5 Ӥlؿ hemtex/texinput/bg5
+----------------
+ק@ɮ׳]w
+----------------
+---------------------------------------
+emtex/texinput/bg5/ttf2pk/ttf2pk.cfg:
+ ntukai: -e Big5 $TEXMF/fonts/truetype/chinese/ntu_kai.ttf
+ ------ -------- -----------------------------------------
+ ^ ^ ^
+ | | |__AΪ.ttfɦW(t|)
+ | | n$texmf,c:\cwin31\system\....ttf
+ | |__sXA?
+ |__rΦW,̦nnWLӦr
+
+[JƦArɪԭz,Hurw:
+avkv: -e Big5 c:/cwin\cttf/avkv.ttf
+avbkv: -e Big5 c:/cwin/cttf/avbkv.ttf
+avmv: -e Big5 c:/cwin/cttf/avmmv.ttf
+avbmv: -e Big5 c:/cwin/cttf/avbmv.ttf
+-------------------------------------------
+
+emtex/texinput/bg5/c00kai.fd:
+ \DeclareFontShape{C00}{kai}{m}{n}{<-> CJK * avkv}{}
+ ^^^^
+ \DeclareFontShape{C00}{kai}{bx}{n}{<-> CJKb * avbkv}{\CJKbold}
+άO AݭnβʩN: ^^^^^
+emtex/texinput/bg5/c00ming.fd
+ \DeclareFontShape{C00}{ming}{m}{n}{<-> CJK * avmv}{}
+ ^^^^
+ \DeclareFontShape{C00}{ming}{bx}{n}{<-> CJKb * avbmv}{\CJKbold}
+ ^^^^^
+b^^^^BNPttf2pk.cfgҥ[JX۹,HKڪTrueTypeFont
+--------------------------------------------
+
+emtex/data/dvipslؿU[JAһݪ.cfg
+
+ Hڪepson stylus 200ҫKO@sty.cfg
+ O̾dj.cfg ðѦ../sty.cnf P ../dj.cnf
+ ۤvTX@sty.cfg,(Ӥ~)
+ 䤤 @bdj.cfgO
+ P $(DVIDRVFONTS)\pixel.dj\%ddpi\%f.%p;
+ 令
+ P
+$(DVIDRVFONTS)\pixel.sty\%ddpi\%f.%p;$(DVIDRVFONTS)\pixel.cjk\%ddpi\%
+f.%p
+
+ NjO|bd:\texfont\pixel.sty\???dpi\*.pk
+ Pd:\texfont\pixel.cjk\???dpi\*.pk һݪpkr
+
+ éautoexec.bat άO emtex\bin\set_tex.bat
+ ]w SET PRINTER=STY dvips16 dvips32 ѦҨϥ
+ ]w SET DVIPS_STDERR dvips N stderr sɦVX
+ ]w SET MAKETEXPK=MAKETEXP %%N %%D %%B %%M dvipscall
+MakeTexPK?
+ SET EMXOPT=-P .........emxΪ, I don't know
+ SET GS_LIB=.............]wAghostscriptҦb
+ SET DVIDRVGRAPH=.........]w......I don't know
+-----------
+BTMɪק
+-----------
+.btmO4dos/ndosMΪ妸.
+
+bѩCJK410packagewbtmɤXڥثeϥΤ4dos/ndos,
+ OFnjO"VO"ç@q,zj𤣷|ڨV,
+-----------------
+Instfont w˦r
+-----------------
+J Instfont xxx -e enc res [res2]
+䤤xxx rW٦pntukai,avkv,avbkv,...
+ -e enc p -e BIg5
+ res p 360
+ڪepson stylus 200hOJ:
+ instfont avkv -e Big5 360
+M|ئn55Ӧr
+--------
+
+--------
+b""cjk/4_1.0/example/Ubig5.tex
+ iHJ
+ bg5latex big5.tex
+ Nbig5.tex sĶ big5.dvi,MJ
+ dvips16 big5
+ |ܤ@ǰT,OʤF@Ǧr(.pk?),
+ n{bسy,""NiHobig5.ps,iHGhostScriptӬ
+ ]iH v @xx big5 qùWݨoutputs
+t~bcjk/4_1.0/doc/chinese/big5/U@readmeb5.tex]iHΨӴ
+ Onwl2tools.zip:
+ pkunzip -d l2tools.zip N|ɮ׸Ѧb
+emtex\dist....\tool\.........U
+ Aemtex\dist..\tool\...U J:
+ latex2e xxxx.ins(NOӰߤ@.ins)
+ N⤵ѦboؿUsͪɥhemtex\texinput\latex2e\
+ pGAwŶ,{bӴNiHemtex\dist..\tool\...F
+ w˦nFNiH
+ bg5latex readme.tex
+ M٬OͫܦhĵiT,iO٥iHreadmeb5.dvi
+ ٬Odvips16 dvips32 readmeb5.ps
+ P v @xx readmeb5 ݿX
+---------
+
+---------
+@BڦbwCJKɭ,J@dz·,iO4dos/ndosҮt,
+ ǥ\Ψƨå,ҥHwbtmɦhBק,γƸ?
+ pz]DJ·,N......!-R
+GBڪdvips16 bBzreadmeb5.dviɥX{O餣T,
+ dvips32SLk۰ʩIsMakeTexPk Ӳfonts.btm,
+ ҥHunۤvʤgF@fontss.btm ӤR%dvips_stderr%X,
+ AIsMakeTexPK Ӳfonts.btm,h@|:(
+TBoëD@wˤ@伶g,ӬOƫAz,i঳ǶئҲ|,
+ ܦiLkӵ STEP by STEP
+i,ӥBڲĤ@goتgpost(?)
+ pBЫ!-R,
+ Thank you!
+
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/chinese/teTeXb5.txt b/language/chinese/CJK/cjk-4.8.4/doc/chinese/teTeXb5.txt
new file mode 100644
index 0000000000..ee28bc3564
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/chinese/teTeXb5.txt
@@ -0,0 +1,327 @@
+
+崣Ѥ@²檺dҡApN CJK-4_2.0 w˦b tetex-0.9, kpathsea-3.2
+ҤUCѩ 4_2.0 HA CJK NA]t ttf2pk u{A ttf2pk
+]w FreeType package C]YQnϥ TTF rഫ CJK r
+ܡA٭nt~ FreeType package ^ӦwˡCչϱNӨBJ@ӾzA
+HKjaѦҡC
+
+(PS. P CJK @ Werner LEMBERG <wl@gnu.org> 糧Ұ comment :-))
+
+
+A. һݪ package:
+===================
+
+1. CJK-4_2.0:
+ ftp://ftp1.sinica.edu.tw/pub2/tex/languages/chinese/CJK
+
+2. FreeType:
+ ftp://ftp.freetype.org/pub/freetype/devel/freetype-current.tar.gz
+ ftp://apollo.ce.ntu.edu.tw/pub/freetype
+
+
+B. w˸|:
+=============
+
+ѩڪ tetex-0.9 OH Debian Linux 2.0 distribution ӨӪAҦb
+D|O /usr, Ӳ{bn[ CJK 䴩AڥN CJK P ttf2pk
+iaw˦b /usr/local UAHKP Debian Ҫ distribution
+ϮC]AګKһݪw˸|wƦpU:
+
+ : BINLOCAL=/usr/local/bin
+ CJK P ttf2pk ]w: TEXMFLOCAL=/usr/local/lib/texmf
+
+PɧڭٻݭntX (ק) TEXMFCNF=/etc/texmf/texmf.cnf ]w
+wɮ, ϱo latex P ttf2pk bB@L{ҦһݪɮסC
+
+PS. 1. $TEXMFCNF O tetex Uظ|]wɡAɦW texmf.cnf,
+ mi̤P distribution ӦP: ib /etc/ UA]ib
+ /etc/texmf/ UC
+
+ 2. $TEXMFLOCAL ȬO $TEXMFCNF ]wөwAЦۦѦұztΤ
+ ]wC
+
+ 3. bڪtΤA $TEXMFCNF @Oo˪:
+
+ TEXMF = {$HOMETEXMF,!!$TEXMFLOCAL,!!$TEXMFMAIN}
+
+ NqOAZOϥ $TEXMF |}Y̡AhtΦbjMɷ|۰ʴM
+ $HOMETEXMF, $TEXMFLOCAL, $TEXMFMAIN ؿU|C䤤:
+
+ HOMETEXMF = $HOME/texmf % ϥΪ̦ۤv tex ؿm
+ TEXMFMAIN = /usr/lib/texmf % tetex Dؿ
+
+ 4. latex/xdvi/dvips/ttf2pk {bB@L{AҲͪ tfm P pk r
+ ɡA| $VARTEXFONTS UCھ $TEXMFCNF w]AȬ
+
+ VARTEXFONTS = /var/spool/texmf
+
+ 5. r|W١AiHѦ CJK-4_2.0..../doc/TDS.txt ijC
+
+
+C. w˨BJ:
+=============
+
+1. TTF rڥ moe_kai.ttf, b $TEXMFLOCAL/fonts/truetype UC
+ (PS. $TEXMFCNF w]: TTFONTS = .:$TEXMF/fonts/truetype//)
+
+2. N CJK-4_2.0/.../texinput/ ӫ $TEXMFLOCAL/tex/CJKC
+ (PS. $TEXMFCNF w]:
+ TEXINPUTS.latex2e = .:$TEXMF/tex/{latex,generic,latex209,}//
+ TEXINPUTS.latex = .:$TEXMF/tex/{latex,generic,latex209,}//)
+
+3. ק /usr/lib/texmf/tex/latex/CJK/Bg5/c00kai.fd, Owq CJK kai
+ ҥΪrAbڭ̱Nϥ moe_kai rCбN
+
+\DeclareFontShape{C00}{kai}{m}{n}{<-> CJK * b5ka12}{}
+\DeclareFontShape{C00}{kai}{bx}{n}{<-> CJKb * b5ka12}{\CJKbold}
+
+ 令
+
+\DeclareFontShape{C00}{kai}{m}{n}{<-> CJK * moekai}{}
+\DeclareFontShape{C00}{kai}{bx}{n}{<-> CJKb * moekai}{\CJKbold}
+
+ ѩثe FreeType - ttf2pk |䴩Nr 90 סAGbڭ
+ hק c00kair.fd ɡC
+
+ (PS. Ъ`NAbҨϥΪrWоqn "_" rAHKyD)
+
+4. ק $TEXMFMAIN/fontnames/special.map, [J
+
+moekai big5 moekai
+
+ qNOA CJK һݪ .tfm, .pk rN|b:
+
+ moekai*.tfm ===> $VARTEXFONTS/tfm/big5/moekai/
+ moekai*pk ===> $VARTEXFONTS/pk/big5/moekai/
+
+ UC
+
+5. Compile @U CJK-4_2.0/utils/Bg5conv/bg5conv.c, ñN $BINLOCAL
+ UCPɤ]N bg5latex ]LhC
+
+6. w FreeType lib CШ FreeType ؿUA:
+
+ ./configure --prefix=/usr/local --with-locale-dir=/usr/share/locale
+ make
+ make install
+
+7. w ttf2pk CШ freetype/contrib/ttf2pk UA:
+
+ ./configure --prefix=/usr/local --with-kpathsea-dir=/usr
+ make
+ make install
+
+ b]ڪtΤ kpathsea lib, Ob /usr UA]ڰFo˪
+ ]wCYztΤS kpathsea lib, hn] --with-kpathsea-dirC
+ ijzϥ kpathsea lib, ]o˪ ttf2pk package iHܧaP
+ tetex tξXb@_C
+
+ (PS. Ъ`NAھ Werner LEMBERG comment, o˪kibY
+ pU|ġC̤@몺kAON ttf2pk ɦw˦bPL
+ tetex ɬۦPؿUAbWzҤlY /usr/bin CPɡA
+ b configure --prefix ]ӳ] /usr ~CYzo{ΤWz
+ 覡Lk work ɡAбzյ۱N ttf2pk w˦bP tetex
+ w˦b@_C~Aϥ symbolic link N /usr/local/bin/ttf2pk
+ link /usr/bin/ttf2pk i]S)
+
+8. {bڱN ttf2pk ɩ $TEXMFLOCAL/ttf2pk U:
+
+ mkdir $TEXMFLOCAL/ttf2pk
+ cp freetype/contrib/ttf2pk/data/* $TEXMFLOCAL/ttf2pk
+ ln -s $TEXMFLOCAL/ttf2pk $TEXMFLOCAL/ttf2tfm
+
+ Mק $TEXMFCNF, [JHU:
+
+ TTF2PKINPUTS = $TEXMF/ttf2pk/
+ TTF2TFMINPUTS = $TEXMF/ttf2pk/
+
+ HTw ttf2tfm H ttf2pk һݪ]wPɪm)
+
+9. XҦ tfm r (OԲӷNqШ man ttf2tfm):
+
+ ttf2tfm moe_kai -P 3 -E 4 moekai@Big5@
+
+ b{פF|LXo@:
+
+moekai@Big5@ moe_kai Pid=3 Eid=4
+
+ бNo@g $TEXMFLOCAL/ttf2pk/ttfonts.map ɤCttf2pk YϥΦ
+ ƨӲͩһݪ pk rɡC
+
+ MAANͥXӪ .tfm r $VARTEXFONTS/tfm/big5/moekai
+ UC
+
+10. ]@U texconfig rebuild ls-R data base. YztΨSoӫOAh
+ ]@U mktexlsr <path_name>. Ъ`NACzsX tfm rAμW[B
+ R tetex Uɮ׮ɡAzo@BAHs ls-R data base
+ eCϥ texconfig ɷ|X{@ӿAziH "rebuild ls-R database"
+ YiCYzϥ mktexlsr, hn|Ap
+
+ mktexlsr /var/spool/texmf
+ mktexlsr /usr/local/lib/texmf
+
+11. Patch tetex-0.9 mktexpk scriptC diff ɬOb
+ freetype/contrib/ttf2pk/scripts/web2c-7.2/ UCp latex t
+ bݭnɡAN|Is ttf2pk Ӳͩһݪ pk rC
+
+ (PS. YzҥΪO̷s teTeX 0.9-beta ܡA mktexpk w]tFHW
+ patch, ҥHzo@BC̷s teTeX 0.9-beta iHbo
+ :
+
+ ftp://ftp.rrzn.uni-hannover.de/pub/local/misc/teTeX-beta/)
+
+12. ! ziHոսsĶ CJK_4_2.0/doc/chinese/READMEb5.tex, ݦS
+ LDC
+
+
+
+C. LaTeX/CJK u@z (for tetex-0.9, CJK-4_2.0):
+====================================================
+
+HUNکҪ LaTeX sĶ峹BJPثe CJK u@zyL@UA
+HUŪFѥHW]wNqC
+
+A TeX/LaTeX bŪJ@ .tex ɡAøչϦaX@ .dvi ɮɡA
+nΨ .tfm rC .tfm rɥuOFӺئr̰򥻪TAƦܻP
+rڤjpLAºuΨӰƪΪCTeX/LaTeX w]pU|
+$TEXMFDIR/fonts/tfm/ U .tfm r (UiHݬ /etc/texmf/texmf.cnf
+]w) A]A]b tfm/ U٦ܦhؿAp
+
+ ..../tfm/big5/moekai/
+ ..../tfm/big5/moesung/
+ ..../tfm/ams/
+ ...........
+
+AhoǤlؿUҦ .tfm rɳ|QjMC $TEXMFDIR hN
+FAtΤ TeX DؿCU@䤣rA|Is mktextfm ӲͦrA
+ͥXӪrN $TEXMFDIR/fonts/tfm/.... UC
+
+mktextfm O@ shell script Abu@ɭ|RһݲͪrP
+b|WAæAˬdӦrO_sbApGusbAh|Isr
+{ mf ӧrXӡC
+
+MӡAެO˪rA@wn@ӨѰѦҪru˪Ov~Ab TeX
+tΤAw]r˪ MetaFont, oOtγ̰򥻪r˪CMAڭ̥i
+H[JLr˪Aӳoǥ[JrNOb@ӥs special.map
+AɦTpU:
+
+% Font source typeface
+%
+A public hieroglyph
+Aa public hieroglyph
+B public hieroglyph
+C public hieroglyph
+D public hieroglyph
+DeadSea public hebrew
+
+䤤Ĥ@OrW١AĤGMĤTOrOCTeX/LaTeX Yھ special.map
+eAb $TEXMF/fonts/tfm UMһݪ .tfm rCw]pUANH
+rOWٰӦrsb|AҦpݭn DeadSea*.tfm ɡAsbY
+ $TEXMF/fonts/tfm/public/hebrew/ CY|sbΦrsbAhݭn
+͸Ӹ|AéIs mktextfm ӲͦrɡA mktextfm h|i@BIs mf {
+u@C
+
+ .dvi ɥXӫAڭ̥iH xdvi ӰwAoɭԴNݭn .pk rA
+I}rANPکһݪrjpCP˪A xdvi |
+$TEXMF/fonts/pk/..../ ݬݸӦrO_wsbA䤣쥦N|hIs
+mktexpk ӰXrCmktexpk u@P mktextfm @ˡAҥHNAСC
+MAڭ̤]iH dvips Ӳ PostScript ɡAboئP˭nϥ .pk
+rA]O mktexpk ӰC
+
+NHWAڭ̥iHDAYn CJK ӲͤAhݭnƥHU:
+
+1. Ψөwq榡 texinput style ɡC
+
+2. r .tfm H .pk C
+
+䤤Ĥ@ӱܮeA]NOڦbW@`uw˨BJvĤGBҴ쪺C
+~Aڭٻݭn@ bg5conv {AtdŪJ .tex lɡAgsX
+ন .cjk sXAM~浹 latex i沣 .dvi ɪʧ@C
+
+·ЪOrCN .tfm rӨAbLhw CJK ɡAڭ̥iण|
+wNҦݭn .tfm wXӡAӬOĥνuWͪ覡Aoɧڭ̻ݭn
+ mktextfm, HKbݭnɩIs ttf2pk { TTF rX .tfm rC
+{bڭ̨ϥηs ttf2pk package, ttf2tfm {iHܮeaNҦ
+.tfm rͥXӡAùww˨쥿TؿApڭ̴Nݭnhק mktextfm
+FCӳoNOW@`uw˨BJv 9 BҰu@ARONq:
+
+ ttf2tfm <TTF filename> -P <platform ID> -E <encoding ID> <TFM filename>
+
+䤤 <TTF filename> ɦW榡 <name>XX.tfm, <name> OrW١A XX O@
+ƦrANFӦr encoding ǸAҦp: moekai03.tfm C@M㪺
+rAǸH]tҦrAH Big5 XҡA䧹㪺ǸOq 01
+ 58, ]NO 58 ӦrɡCbs ttf2tfm AzݭnIs ttf2tfm
+58 A`Nbw˨BJA <TFM filename> o@ӰѼƬO
+
+ moekai@Big5@
+
+䤤 moekai Y <name>, @Big5@ OǸAboجOΤ@
+Big5.sfd oɨӥN ({|۰ʥ[J .sfd oӪɦW) A`Nbuw
+BJv 8 Bڭ̤wNoɮ׫FAmAӸɴNOF Big5 Xr
+ҦǸTA ttf2tfm iHѦҳoɪeNҦr
+XӡC
+
+b ttf2tfm u@A|LX@T (uw˨BJv 9 B)Ao@
+O ttf2pk ѦҥΪAgJ ttf2pk Mݪ]w ttfonts.map C
+Aڭ̦ANҦ .tfm rܾAؿAYF .tfm rC
+
+ .pk rAѩoٲoAFPrjpPɡAڭ̵Lkw
+DݭnǤjprA]bڭ̱ĥΤFuWͪ覡Aݭnɤ~ pk
+rCOAڭ̥ק mktexpkAbݭnrɩIs ttf2pk TTF r
+NһݪrX (uw˨BJv 11 B)C
+
+pk rɦW榡pU:
+
+ <name>XX.<SSSS>pk
+
+䤤 <name> OrWA XX O encoding ǸA <SSSS> YӦrjp (dpi)C
+
+٦@IAѩs ttf2pk wϥ kpathsea lib ӷjMһݪɮסA]
+ArɥHγ]wɡAӳ]wɪڭ̴NNmgb
+/etc/texmf/texmf.cnf AåBn] mktexlsr texconfig (uw˨BJv
+ 8 BP 10 B)Ap kpathsea lib ~]wɪmC
+
+
+WҭzAHUڴyz@U LaTeX/CJK compile L{A`C
+
+
+1. bg5latex, oO@ script, Is bg5conv ŪJ .tex lɡA
+ sX᪺ .cjk ɡC
+
+2. bg5latex ۩Is latex, ŪJ .cjk ɡAbPwݭn CJK package ɡA
+ p:
+
+ \usepackage{CJK}
+ \begin{CJK*}{Bg5}{kai}
+
+ KŪJ@tC CJK texinput style ɡAø Bg5, kai, Ū
+ .../Bg5/c00kai.fd oӦrwqɡC
+
+3. ھ c00kai.fd ɪwqA latex D媺ݭn moe_kai rCOA
+ b .dvi ɪL{Aھ special.map ɪeAbA|M
+ һݪ .tfm ɡAY䤣hIs mktextfm ӲͥCѩƥڭ̤ww˦n
+ Ҧ .tfm rA]o@BݭnIs mktextfm YiC
+
+4. .dvi ɥXӫA]ڭ̭n dvips Ӳ .ps ɡAh dvips bo{ݭn
+ moekai rɡA| special.map eAA|hM moekai*pk
+ ɡC
+
+5. Y䤣Ah|Is mktexpk ӲͦrɡCקL mktexpk bo{һ
+ ͪrO moekai ɡAK|Is ttf2pk Ӥu@C
+
+6. ttf2pk zL kpathsea lib, ǥ /etc/texmf/texmf.cnf ]w
+ ]w ttfonts.map mAŪJ]wɫAھ moekai @ADF:
+
+ a. һݭnr˪ $TEXMFLOCAL/fonts/truetype/moe_kai.ttf C
+
+ b. Ӧr encoding ǸƦsbP ttfonts.map ۦPؿU Big5.sfd
+ ɤC
+
+ c. Lp Platform ID P Encoding ID TC
+
+ ttf2pk YQγoǸTANһݪ moekai*pk ɰXӡAå mktexpk N
+ ɩ쥿T|UAHƤ᭫ƧQΡC
+
+7. C
+
+
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/cjk-enc.txt b/language/chinese/CJK/cjk-4.8.4/doc/cjk-enc.txt
new file mode 100644
index 0000000000..5297236e35
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/cjk-enc.txt
@@ -0,0 +1,438 @@
+This is the file cjk-enc.txt of the CJK macro package ver. 4.8.4
+(18-Apr-2015).
+
+cjk-enc.el
+----------
+
+Mule, the multilingual Emacs, is one of the most powerful editors available
+for Unix systems like Linux. It is capable to edit and display texts which
+are, among other scripts, written in various CJK languages; as an example
+you can have traditional and simplified Chinese at the same time. Mule is
+distributed under the GNU Public License; it is now integrated into the
+source code emacs 20.
+
+The CJK package enables LaTeX to do the same (with some restrictions, see
+below), but the interface is different. Mule uses additional bits internally
+to store the encoding of a character, whereas the CJK package needs \CJKenc
+macros to select encodings.
+
+Now enters cjk-enc.el . This small output filter for Mule (written in Lisp)
+converts text as entered in Mule into a form TeX can understand. Double-byte
+encodings which can be processed by CJK are usually converted into EUC form
+preceded by \CJKenc{...} macros, single-byte encodings (Latin-1, etc.) into
+equivalent LaTeX 2e macros (e.g., Latin-1 character 0xC4 (umlaut A) into
+\"A). Some of these macros are undefined by default in standard LaTeX 2e
+because CM or EC fonts have no characters for it. Vietnamese, Cyrillic
+scripts, Modern Greek, and Thai are also supported (see below).
+
+cjk-enc.el comes in two versions.
+
+ . An old version for Mule 2.3 with limited capabilities since it is no
+ longer supported (but updated if necessary).
+
+ . A new version with enhanced commands which works with emacs versions
+ >= 20.3 and xemacs versions >= 21.1 (the latter without Thai support).
+
+Support for emacs versions < 20.3 has been dropped. Please upgrade. In the
+following, `Mule' is used for all emacs flavours.
+
+
+Installation
+------------
+
+To load cjk-enc.el into Mule, put the following line into your .emacs file:
+
+ (load-library "cjk-enc")
+
+this assumes that cjk-enc.el is in a directory searched by Mule. A good
+place for it is the site-lisp subdirectory (e.g.,
+/usr/local/share/emacs/site-lisp).
+
+After loading, a new (output) encoding scheme is defined: `*cjk-coding*'.
+[This is called `cjk-coding' under emacs 20---Please note further that the
+ prefix for Mule commands has changed to `C-x RET' for emacs 20 instead of
+ `C-x C-k'.]
+
+Note: `*cjk-coding*' (`cjk-coding') can't be used to save documents! It
+ is intended only to create the *.cjk file which is then directly
+ processed by LaTeX.
+
+
+Usage (LaTeX 2e part)
+---------------------
+
+A sample of a multilingual document (muletest.{tex,cjk,dvi,pdf}) can be
+found in the examples subdirectory (only the TEX file is in the src package
+of CJK, the other files are in the doc package).
+
+European languages based on the Latin script:
+
+ Simply write your documents! Characters like `u umlaut' or `c hacek' are
+ converted into LaTeX 2e macros. You don't need to write "u or something
+ else (nevertheless it's possible). It is recommended to use LaTeX 2e's
+ T1 font encoding scheme to have a) most of the European diacritics
+ available and b) correct hyphenation for accented characters.
+
+ The lower half of JIS X 0201 is treated similarly.
+
+ Note that the default CM fonts of LaTeX are OT1 encoded. You should
+ rather use the EC fonts which are based on T1 (or virtual T1 fonts
+ mapped onto OT1).
+
+ For correct hyphenation you still have to change languages, thus a
+ system like Babel should be used additionally.
+
+CJK languages:
+
+ Don't start a CJK (or CJK*) environment! cjk-enc.el does this
+ automatically for you at the `\begin{document}' command. It also inserts
+ \CJKspace and \CJKnospace commands (\CJKspace for Korean, \CJKnospace
+ for all other CJK scripts; but see the section `Problems' below also).
+
+ In CJK.enc the default font family for all encodings is `song' (except
+ for Korean Hangul where it is `mj'). Two commands are available to
+ change the CJK font encoding and family in combination with cjk-enc.el
+ (see CJK.txt and commands.txt for a detailed description):
+
+ \CJKencfamily[<fontencoding>]{<encoding>}{<family>}
+ Change family for a certain encoding (and fontencoding).
+
+ \CJKfontenc{<encoding>}{<fontencoding>}
+ Change fontencoding for a certain encoding.
+
+ The second command is primarily for users who use Japanese DNP fonts
+ (see the Japanese documentation subdirectory for further details) or
+ Korean HLaTeX fonts.
+
+ For the upper half of JIS X 0201 encoding, the katakana range of the
+ SJIS encoding of the CJK package is used.
+
+Vietnamese:
+
+ Vietnamese uses accented characters not contained in EC or CM fonts. To
+ assure proper kerning you must explicitly activate T5 font encoding
+ (this can't be done automatically) to access a Vietnamese font.
+
+ The VnTeX bundle contains Vietnamese fonts and support files; it also
+ defines T5 encoding. It is available from http://vntex.sf.net.
+ (Note that the now obsolete vncmr package is no longer supported.)
+
+Russian and other languages using the cyrillic script:
+
+ Cyrillic LaTeX encodings (T2A, T2B, T2C, and X2) are now supported
+ within the LaTeX 2e distribution (starting with version 1998/12/01).
+ Cyrillic fonts and auxiliary files supporting these encodings are
+ available at CTAN from fonts/cyrillic and macros/latex/contrib/t2); most
+ TeX distributions already come with Cyrillic fonts installed.
+
+ The current implemention needs a lot of temporary disk space for
+ Cyrillic scripts (e.g., a 100 kByte document written only with Cyrillic
+ letters has an intermediate output file of about 800 kByte). On the
+ other hand, it is still possible to recognize the Cyrillic characters
+ name macros in the log file in case of error messages---if I used the
+ shortest possible representation, only numbers would be visible, and the
+ size of the intermediate output file would still have 500 kByte...
+
+ You must explicitly activate one of the T2* (or X2) encodings for
+ Cyrillic. Russian needs T2A.
+
+Greek:
+
+ You must use the LGR encoding and fonts as defined in the Babel package:
+ ISO-8859-7 characters are mapped back to ASCII characters which are then
+ displayed as Greek characters, using the ligature mechanism extensively.
+
+Thai:
+
+ It is implemented only in the emacs 20.3 version of cjk-enc.el. Instead
+ of using an external program, Ken'ichi Handa has written thai-word.el
+ which implements the word-breaking algorithm in Lisp, based on the the
+ C-TTeX package version 1.15 written by Vuthichai Ampornaramveth
+ <vuthi@ctrl.titech.ac.jp>. `thai.sty' is still very rudimentary---any
+ improvements are welcome.
+
+ The used encoding is C90 (this is the only case where you have to
+ specify a `C' encoding directly, either by using the `thaicjk' language
+ for Babel or by saying `\DeclareFontEncoding{C90}{}{}' in the preamble);
+ the default fonts specified in c90gar.fd and c90nrsr.fd are taken from
+ the thailatex package, which can be found at
+
+ http://linux.thai.net/plone/TLWG/thailatex
+
+ You should use version 0.3.5.1 or newer. Note that this package is not
+ compatible with CJK; neither its metric files nor its LaTeX support
+ files should be used. Please read the file thaifont.txt for details how
+ to install the fonts.
+
+ Whitespace between Thai characters are always respected; newlines
+ together with trailing and leading whitespace are not by default. Use
+ \Thaispace to make trailing and leading whitespace respected also (the
+ opposite command is \Thainospace). Note that the space width of the Thai
+ font (which is usually larger than for a Roman font) is used for
+ whitespace between Thai words:
+
+ Thai Thai
+ Thai
+
+ is approximately translated to
+
+ {\thaifont Thai Thai\nospaces
+ Thai}
+
+ (if \Thainospace is active), whereas
+
+ Thai\ Thai\
+ Thai
+
+ is approximately translated to
+
+ {\thaifont Thai}{\romanfont\ }{\thaifont Thai}{\romanfont\ }
+ {\thaifont Thai}
+
+ To improve appearance, \Thaiglue (which is defined in MULEenc.sty) is
+ used as intercharacter glue; this value can be modified similarly to
+ \CJKglue.
+
+
+Usage (Mule part)
+-----------------
+
+Simply load your document into Mule and call cjk-write-file (which is
+defined in cjk-enc.el) to create a preprocessed file. For most files this
+file's name is formed by replacing the extension with `.cjk'. However,
+BibTeX files are given the extension `-cjk.bib' because the BibTeX program
+requires `.bib' as the extension. This also avoids conflicts with the CJK
+file produced by a LaTeX file by the same name. Because of this you should
+use the command \CJKbibliography{foo} in your LaTeX source file (which
+finally expands to foo-cjk.bib). A similar macro is \CJKinclude{bar} which
+expands to `bar.cjk' instead of bar.tex. Finally, you can say
+\CJKinput{foo.bar} to input file `foo.bar'; if the file name has no
+extension, `cjk' is appended: \CJKinput{foo} loads `foo.cjk'.
+
+cjk-write-file is the only user function provided by cjk-enc.el for
+Mule 2.3.
+
+If you want to process a file which includes some other files, use the
+function cjk-write-all-files in combination with \CJKinclude, \CJKinput, and
+\CJKbibliography. If used interactively, you have to supply a file name
+which is then scanned for occurrences of \CJKinclude, \CJKinput, and
+\CJKbibliography; all files found plus the master file are converted.
+
+Example:
+
+ `a.tex' contains:
+
+ \CJKenc{Bg5}
+ Chinese text
+
+ `b.tex' contains:
+
+ \CJKenc{JIS}
+ Japanese text
+
+ `c.tex' contains:
+
+ \CJKenc{UTF8}
+ Some Unicode text
+
+ `master.tex' can now include the files as follows:
+
+ Some Korean text
+
+ \CJKinput{a}
+ \input{b}
+ \input{c}
+
+ Calling cjk-write-all-files automatically converts `master.tex' and
+ `a.tex'.
+
+The functions batch-cjk-write-file and batch-force-write-file are intended
+to be used in Makefiles; please read the function documentation for more
+details.
+
+It is recommended that you assign cjk-write-file or cjk-write-all-files to a
+key (e.g., with global-set-key) in your `.emacs' configuration file.
+
+
+Unicode encoding
+................
+
+Note that the forthcoming Emacs 22 has no native Unicode support. Instead,
+Unicode encoded date is mapped onto the internal character sets of Emacs;
+this process heavily depends on the selected (Emacs) language environment.
+For example, if you select `Chinese-BIG5', Emacs first tries to map Unicode
+characters to Big 5. If that fails, it tries the GB 2312 character set, then
+KS X 1001, and so on. To get typographically satisfying output you would
+need identical font shapes for different CJK encodings, a very unlikely
+situation.
+
+For this reason it is strongly recommended to *not* use data files encoded
+in UTF-8 with cjk-enc.el. Instead, UTF-8 should be directly handled by a CJK
+environment (i.e., `\begin{CJK}{UTF8}{...}').
+
+
+Usage with AUC TeX
+------------------
+
+Append the data between >>> and <<< to your .emacs file to have special CJK
+support within AUC TeX:
+
+
+>>>
+
+ (defun TeX-run-CJK-LaTeX (name command file)
+ "Create a process for NAME using COMMAND to format FILE with CJK/LaTeX."
+
+; use next code line for Mule instead of the (balanced) expression
+; containing `cjk-write-all-files'
+; -- no multifile document support!
+; (cjk-write-file)
+
+ (cjk-write-all-files (concat (TeX-master-directory)
+ (file-name-nondirectory file)
+ ".tex"))
+ (TeX-run-LaTeX name command file))
+
+ ;; replace the error source file `*.cjk' with `*.tex' (and `*-cjk.bib'
+ ;; with `*.bib'), then C-c ` can be used as usual.
+
+ (add-hook 'TeX-translate-location-hook
+ '(lambda ()
+ (if (string-match "\\(.*\\)\.cjk$" file)
+ (setq file
+ (concat
+ (substring file
+ (match-beginning 1)
+ (match-end 1))
+ ".tex"))
+ (if (string-match "\\(.*\\)-cjk\.bib$" file)
+ (setq file
+ (concat
+ (substring file
+ (match-beginning 1)
+ (match-end 1))
+ ".bib"))))))
+
+ (require 'tex)
+ (add-to-list 'TeX-command-list
+ '("CJKLaTeX" "%l '\\nonstopmode\\input{%s.cjk}'" TeX-run-CJK-LaTeX nil t))
+
+<<<
+
+
+To process a CJK document with AUC TeX use C-c C-c on your LaTeX source file
+and select CJKLaTeX as the formatting command. It also works with multiple
+files; only modified files are converted (again).
+
+Note that only the master file is processed with cjk-enc and scanned for
+\CJKinclude and \CJKinput!
+
+If you mainly write text in Japanese or Chinese, consider the use of
+cjkspace.el or cjktilde.el for inserting a tilde character (which has been
+redefined to a shibuaki space) if you hit the space key. Please read the
+documentation in the two files for differences. cjkspace.el works with
+AUC TeX only, cjktilde.el works in every mode.
+
+In case you use an Emacs input method (quail) for your Asian language
+(contrary to an external input method provided by the operating system), you
+can add `rules' with the following code added to your .emacs file; the
+special space handling is then active only when the corresponding input
+method is active too.
+
+ (add-hook 'quail-activate-hook
+ (function
+ (lambda ()
+ (if (equal (quail-name) "chinese-py-punct-b5")
+ (progn
+ (quail-defrule " " "~")
+ (quail-defrule " " " "))))))
+
+Replace `chinese-py-punct-b5' with your favourite input encoding. In case
+you use more than one input method, repeat the above lisp code for each
+method.
+
+
+Technical notes
+---------------
+
+cjk-enc.el loads MULEenc.sty or CJK.sty in the first output line which
+contains all needed definitions for LaTeX 2e.
+
+To assure working in verbatim environments, \CJKenc and the LaTeX 2e macros
+are not output directly. The active character 0x7F is used to output
+\CJKenc, \CJKspace, Latin characters, etc.
+
+CNS 1-CNS 7 and JIS2 encoded characters are output as \CJKchar macros. The
+reason for this choice is the infrequency of CNS and JIS2 characters in
+normal text. Since \CJKchar does not select a new binding this macro is
+executed faster for single CNS and JIS2 characters.
+
+
+Problems and Tips
+-----------------
+
+. cjk-enc.el starts a CJK environment only if it finds at least one CJK
+ character in the master file; this character can appear in a comment also.
+ Example:
+
+ % some Chinese text in this comment
+ \CJKinput{a}
+ \CJKbibliography{b}
+
+. If you need some CJK processing in the preamble you must start a CJK
+ environment there manually because cjk-enc.el uses the \AtBeginDocument
+ hook for its commands. This interferes with the \CJKspace/\CJKnospace
+ insertion mechanism of cjk-enc.el because the Lisp code always assumes a
+ single, global CJK environment. A similar problem exists if you start a
+ new language in a comment. To overcome this, simply insert a \CJKspace or
+ \CJKnospace command (whatever appropriate) right after the
+ `\begin{document}' macro to synchronize again with cjk-enc.el .
+
+ Example:
+
+ \documentclass{article}
+
+ \begin{CJK*}{}{}
+ some Japanese macro stuff
+ \end{CJK*}
+
+ \begin{document}
+ \CJKnospace
+ more Japanese text
+ ...
+
+. Another consequence of the \CJKspace/\CJKnospace insertion mechanism of
+ cjk-enc.el is that in cases like
+
+ Latin_text Chinese_text\ Latin_text
+
+ you can't omit the final `\ ' after the Chinese phrase---only for Korean
+ words it is not necessary to use a (protected) space.
+
+. Usually, Emacs can automatically recognize the encoding of a given file
+ (e.g., using a language environment or setting `file-coding-system-alist';
+ please read the chapter `Recognizing Coding Systems' in the emacs info
+ files for further details). But sometimes this fails (e.g., to find out
+ whether a text is in latin-1 or in, say, latin-3 is impossible), and you
+ have to use a file variable to define the encoding.
+
+ Here an example how to specify `Big 5' encoding for a TeX input file (the
+ following lines are to be inserted at the very end):
+
+ % Local Variables:
+ % coding: big5
+ % End:
+
+ If AUCTeX already has created local variables like `TeX-master', simply
+ add the line `coding: big5' and you are done.
+
+. Another useful local variable for AUCTeX is `TeX-command-default':
+
+ % Local Variables:
+ % TeX-command-default: "CJKLaTeX"
+ % End:
+
+ selects `CJKLaTeX' as the default command if you type `C-c C-c'.
+
+
+---End of cjk-enc.txt---
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/cjk/README b/language/chinese/CJK/cjk-4.8.4/doc/cjk/README
new file mode 100644
index 0000000000..dbb6381647
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/cjk/README
@@ -0,0 +1,4 @@
+This directory contains files which are `preprocessed' with
+cjk-enc.el, bg5conv, etc.
+
+You can feed them directly into LaTeX.
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/cjk/READMEb5.cjk b/language/chinese/CJK/cjk-4.8.4/doc/cjk/READMEb5.cjk
new file mode 100644
index 0000000000..03c4332306
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/cjk/READMEb5.cjk
@@ -0,0 +1,1150 @@
+\def\CJKpreproc{bg5conv (CJK ver. 4.8.3)}%%% The file READMEb5.tex . This file is part of LaTeX2e CJK package.
+%%%
+%%% Note that this document is a very first version. Therefore, lots
+%%% of installation steps and issues are still left blank. Please be
+%%% patient and wait for the next new release. I'm sorry for any
+%%% inconveniences. I also deeply expect that everyone who is
+%%% interested in this topic gives me suggestions and corrections in
+%%% any respects. Thanks in advance.
+%%%
+%%% Revision 1.5 1996/11/22 10:49:00 d791013
+%%% * modify some context presentations.
+%%%
+%%% Revision 1.4 1996/10/23 03:59:40 d791013
+%%% Revision control by CVS.
+%%%
+%%% Revision 1.3 1996/07/27 11:19:20 d791013
+%%% 1. In compliance with CJK version 4.0.0
+%%% 2. Fill up some unfinished sections in previous versions of this
+%%% file.
+%%% 3. Add more usages for MULE and AUCTeX.
+%%%
+
+\documentclass[12pt,a4paper]{article}
+\usepackage{array,CJK}
+\RequirePackage{shortvrb}
+\MakeShortVerb{\|}
+
+% enlarge text width and height (for saving number of pages)
+\addtolength{\textwidth}{1in}
+\addtolength{\oddsidemargin}{-.5in}
+\addtolength{\textheight}{1in}
+\addtolength{\topmargin}{-.5in}
+
+\begin{document}
+\begin{CJK*}{Bg5}{bsmi}
+\CJKtilde
+
+% local commands
+\newcommand{\ntutocjk}{~\textsf{ntu2cjk}~}
+\newcommand{\ttftopk}{~\textsf{ttf2pk}~}
+\newcommand{\hookstroke}{\raisebox{2pt}{\scriptsize $\surd$}}
+\newcommand{\crossmark}{$\times$}
+\newcommand{\bigfive}{~\textrm{Big-5}~88}
+\renewcommand{\figurename}{207~}
+\renewcommand{\tablename}{237~}
+
+%% end of header
+
+\title{\bigfive16422911620685186~CJK \LaTeXe~198169116206\\
+ (For CJK version 4.1.0)}
+\author{
+ 245103116\thanks{The author of the \textsf{ntu2cjk} package.
+ \textsf{E-mail:} d791013@ce.ntu.edu.tw}\ (Chun-Yu Lee) \and
+ Werner Lemberg\thanks{The author of the \LaTeXe\ CJK package.
+ \textsf{E-mail:} wl@gnu.org}}
+\date{20 Nov. 1996}
+\maketitle
+
+\tableofcontents
+
+\section{178182}
+\label{sec:introduction}
+
+1872296811011923918610172\bigfive176681861642292292439323777231105931161262292062072061659465
+253207206~\LaTeXe~206~CJK~1162061052301981696776652282102211862421871106880119203667416565
+181641781101861822086722810024224616322491921101151106410393206641879420722919590186229185210221
+167686865253931722471797364235202186229243\footnote{187229781249823322567679721519180201
+ 822192466868657291106228178992061861016780201931932211702042241632099581186781636572176
+ 85641848816916720921067}67
+
+1872291861861017211688~CJK 4.x.x~1162061869311917668672152391872291678020165CJK~186169187
+79~4.1.067
+
+\subsection{92170252222}
+\label{sec:reading-guides}
+
+85177791782301869217025222271
+\begin{itemize}
+\item 2538411965253119203186~CJK~1691877995791872292101211221866589163806520825011180187
+ 229219101186~CJK~16918765206250111204115186~CJK~16918765195921702282109311618618722924320121567
+\item 8993169187167163806512223110572~CJK~229243164186~INSTALL~176686524572114172119203
+ 11620693\textsf{ntu2cjk}~206~\textsf{ttf2pk}941642192461861612502292436565115253
+ 1872291861016417620924720223265652379711920322721116422919816911620667
+\item 8912219110311920376~CJK65122105189181209210196~\ref{sec:steps}~96167119203667416867
+\item 899812218611620616465124188119203179164229~TFM66PK66206~PFB~16520121565105209210196~
+ \ref{sec:install-fonts}~9616711417211920316867
+\item 8912217711187122186119203667416324722723365208209210196~\ref{sec:my-settings}~
+ 9616721818621010816867
+\item 89811906811224325011121924620121565208209210254253~\ref{sec:getting-files}167201
+ 21525011116867
+\item 89812391872292102072061671142521792101959865208209210254253~\ref{sec:terms}16787252
+ 20919216867
+\end{itemize}
+
+9678711872291861019811417218611920323217765239243\ttftopk186182208251214\footnote{93187229
+ 1866811064204117179207206\ntutocjk2111192031141726523964199\ttftopk11518623922011916324412067}
+170204105219~CJK~18622924377243164179246164229186161250201~|NTeXb5.doc|~938018720121510924380
+642162531649411123621221118620916167
+
+11612618722998239243~em\TeX~24421085186119203209161659311779189182219~CJK~229243164186~
+|INSTALL|~1112112016518722964204195188234647667
+
+\subsection{105646618623484211189}
+\label{sec:further-information}
+
+\begin{itemize}
+\item 229109~\cite{latex2nd}~1762421872268567
+\item 229109~\cite{latex-companion:1993}~1051761051652268567
+\item 209210~Newsgroup |comp.text.tex|~186~FAQ67
+\item 179246~\TeX/\LaTeX~962211862216865105209247229109~\cite{tex-faq:1.9c}93169187
+ 1211949467
+\end{itemize}
+
+\section{11620622168}
+\label{sec:requirements}
+
+\subsection{119233244210}
+\label{sec:hardware-requirements}
+
+\TeX/\LaTeX~1162062161018871180106161192186641261162062101792281696798~RAM~1862216887104
+24825311519820121518610611265112104198818523618465106104198202852361846724677~\TeX/\LaTeX~
+11620698~286~721011862471857822493938379249186220946525320411021779179~8MB~728718679208
+2336572179731642291141672102216722024311920819716165981642291141721862072062218565204110224179~
+150MB~18619716193\TeX~116206249~30MB658~216~NTU~25411711417220622822417111417265PS~206~
+PK~11417216565249~80MB9467
+
+\subsection{11023322168}
+\label{sec:software-requirement}
+
+\begin{itemize}
+\item 239~\LaTeX~116206179167651861232098023918511620622724218722264186224796720411065179229
+ 109~\cite{latex2nd,latex-companion:1993}~1112261872099822622867
+\item \LaTeXe~186245230244210679365~\TeX/\LaTeX~18621924624421067
+\item \LaTeXe\ CJK~11620667
+\item 8981119203~PS~114172\footnotemark\addtocounter{footnote}{-1}65122221110
+ \begin{enumerate}
+ \item \textsf{ntu2cjk}~11620667
+ \item NTU TrueType~11417267
+ \item gcc~11518218520621924624421066GNU make67
+ \item GhostScript(3.12~7287186169187)67
+ \item |afm2tfm|67
+ \item 2091638912316171 |arj|66|gzip|66|tar|67
+ \item 8981113~PS~114172216223~PK~11417265104221~|ps2pk|~206~|gsftopk|67
+ \end{enumerate}
+\item 89253119203~PK~114172\footnote{78164229229243186198169661192532066776210221186114172
+ 21116565105722308711711598179~PK~114172206~PS~1141727025378232752028010522620221116565
+ 167204216179657220265186232161163205~PK~1141721957917918522793206962062062026594186~PS~
+ 11417265792512061862138867}65209210196~\ref{sec:install-pk-fonts}~9616712112267
+\item 2338871|dvips|66|dvi2xx|6620622876~dvi~2301611862241711231618022885229186224171
+ 12316167
+\end{itemize}
+
+
+\section{1192036674}
+\label{sec:steps}
+
+1879678681101861192031211236524867112856585181164212211186119203252222657898722251868596164
+19612271
+\begin{enumerate}
+\item 8979~\TeX/\LaTeX~11620611811920311065208245856466679510421821821911820720618664
+ 1261162066577119179207206243216~\TeX~116206651952092101162062216893196~
+ \ref{sec:requirements}~96946620121525011193254253~\ref{sec:getting-files}94
+ 206228762432542531648596167234198652501112192462012156519524621025011123419816418625222011920367
+ 8925011118611620683179~\LaTeXe~11620665206791228124311522025124118616918765104105116126219~
+ CTAN~2501116598119119203110186~\TeX~2442101649187~\LaTeXe67
+\item 84119~\LaTeXe~118119203180237671057264~\LaTeXe~2301616618610117694229186201215
+ 93112~|sample.|\linebreak[1]|tex|9465113245230~|latex|~1151826572~|xdvi|~
+ 206~|dviscr|66|dvisvga|~1651659411924866236~|dvips|~206~|dvilj|~22416876237230
+ 16193PostScript~206~PCL~1652301619419576886572809579951192031918467
+\item 119203~CJK~164229~\LaTeXe~11620693209210196~\ref{sec:install-CJK}~969467
+\item 239220119203~PK~206~PS~1141722067120421011920393209210196~
+ \ref{sec:install-pk-fonts}~96206196~\ref{sec:install-ps-fonts}~969467
+\item 72~CJK~116206164210163209167164229~\LaTeXe~20165|READMEb5.tex|6518125021393209
+ 210196~\ref{sec:my-settings}~969467
+\item 891792216865208209210196~\ref{sec:trouble-shooting}~96167221682097716867
+\end{enumerate}
+
+
+\section{119203~CJK~164229~\LaTeXe~116206}
+\label{sec:install-CJK}
+
+2081192391222102072066412611620665209210851772391791861129667
+
+\subsection{98~UNIX~11620685~(web2c)}
+\label{sec:install-under-unix}
+
+\begin{enumerate}
+\item 228211652371862162537825094186~CJK~163892012091256721011212278228209125220~
+ |/tmp/CJK|67
+\item 112711222247211620622212220418617324793root941192036510410578209163225186~CJK~216253
+ 164~|texinput|~2162538518621017920121593792492362162531789994190220~\TeX~116206224228236
+ 18697232931139679~
+ |${TEXMF}/|\linebreak[1]|tex/|\linebreak[1]|latex/|\ldots65
+ |${TEXMF}|~79~web2c~186~home6564235176~
+ |/usr/|\linebreak[1]|local/|\linebreak[1]|lib/|\linebreak[1]|texmf|9465
+ 1957818521625387239168~CJK~2066523718687217671127112216379207206251115169186~\TeX~93179~
+ web2c65111199~\TeX~11620665163209701881061067710821625320121518622479946510478~
+ |texinput|~21625385186210179201215190220~\TeX~116206224228236186972326721011271
+ \begin{verbatim}
+ $ cd /usr/local/lib/texmf/tex/latex
+ $ mv CJK CJK.old
+ $ cd /tmp/CJK
+ $ cd 4_1.0
+ $ mv texinput /usr/local/lib/texmf/tex/latex/CJK
+ \end{verbatim}
+ 1127112216322472~root~18611817311920365208722542522438517718625279121642152399311271207206~
+ |csh|9465195216179781679174~|.login|93206243~|/bin/csh|94206~|.profile|93206
+ 243~|/bin/sh|9416465207111~\TeX~22410677236~CJK~21625371
+ \begin{verbatim}
+ setenv TEXINPUTS: 65186 CJK 21625387//
+ \end{verbatim}
+ 96786589122210207206186~\TeX~1162061632281691041041082162531067765104788419318621625387217
+ 115659174220~|TEXINPUTS|~1862442102201981647020620478~|texinput|~21625385206~
+ |Bg5|~216253851862101792012151902208921121625316465195248185216253176~CJK~21625367
+
+ 2101129372~|sh|~252791762109471
+ \begin{verbatim}
+ 93178931228178 CJK 186 texinput 216253190220 ~/CJK/texinput94
+ # cd ~/CJK 93220 CJK 10821625394
+ # mv texinput texinput.old 9311271122179194186 texinput 2162536525319824794
+ # cd /tmp/CJK 93220209125 CJK 1869723294
+ # cd 4_1.0 932202161011861691878594
+ # mv texinput ~/CJK 9378 texinput 108216253190220 ~/CJK94
+ # TEXINPUTS=":~/CJK/texinput//" 9311911324421022019894
+ # export TEXINPUTS 939317611320618624421022019894
+ \end{verbatim}
+\item 209210196~\ref{sec:install-fonts}~961141721192036578~|.tfm|~20165PK~114172
+ 206~PS~114172119203220652371862162538567
+\item 209210196~\ref{sec:install-.fd}~96119203~|.fd|~20165206209210~|fonts.txt|65
+ 195218218114172119203186178716593119219246186~|.fd|~2016772187229119239186\bigfive164229211
+ 16565178183215239~|c00kai.fd|93112711227816220911421893176~|kai|9466|c00fs.fd|
+ 9311271122207206233186114218195119176~|fs|947516521924620121593231105209210\ttftopk206
+ \ntutocjk2101632091861002109467
+\item 98209125186~CJK~2162531646510574~\texttt{utils/Bg5conv}~21625316465115182~
+ |bg5conv.c|6511271
+ \begin{verbatim}
+ gcc -O -s -o bg5conv bg5conv.c
+ \end{verbatim}
+ 78163205186245230201~|bg5conv|~11580~|bg5latex|~11121120165190220~\TeX~116206164241
+ 10924523020118621625316493112711181731722479467206109243211721862162531646519584119185216253115
+ 98243244210220198~|PATH|~1649320698~|PATH|~1648791642452302441246521617978185244124186
+ 9311991236~login~1862101082011649467
+
+ 21011271
+ \begin{verbatim}
+ # cd /tmp/CJK/4_1.0
+ # cd utils/Bg5conv
+ # gcc -O -s -o bg5conv bg5conv.c
+ # mv bg5conv bg5latex ~/bin
+ # export PATH=$PATH:~/bin
+ \end{verbatim}
+ 96786511271122179194186~|bg5conv|~245230201652082001782431156593~4.0~728718616918780
+ 251173186169187163809372~``|^^FF|''~17619220111418421116379~``|.|''9467
+
+\item 10574108216253~|doc/chinese|~164652502131221869311971
+ \begin{verbatim}
+ # cd /tmp/CJK/4_1.0
+ # cd doc/chinese
+ # bg5latex READMEb5.tex
+ \end{verbatim}
+ 22179952241828118516811518267
+\end{enumerate}
+
+\subsection{98~DOS~206~OS/2~11620685}
+\label{sec:install-under-dos}
+
+\begin{enumerate}
+\item 228211652371862162537825094186~CJK~1638920120912567
+\item 78~CJK~116206164~|texinput|~2162538518621017920121593792492362162531789994190220~
+ \TeX~11620622422823618697232651957818521625387239168~|CJK|~20665237186872176711271122163
+ 79207206251115169186~\TeX93179~em\TeX65111199~\TeX~116206651632097018810610677108216253
+ 20121518622479946510478~|texinput|~21625385802061221102072061861868821625393Bg59485
+ 186210179201215190220~\TeX~2242282361869723267
+
+ 72~em\TeX~1162061762106578~CJK~186~|texinput|~164186201215190220~
+ |c:\emtex\|\linebreak[1]|texinput\|\linebreak[1]|CJK\|\ldots6519572
+ 8517718625279121642152396572207111~\TeX~22410677236~CJK~21625371
+ \begin{verbatim}
+ set emtexdir=c:\emtex
+ set texinput=%emtexdir%\texinput!!
+ \end{verbatim}
+\item 98~CJK~116206164186~|utils\|\linebreak[1]|Bg5conv|~2162531646578~
+ |bg5conv.|\linebreak[0]|exe|~11580~|bg5latex.|\linebreak[0]|bat|~190220~
+ \TeX~186245230244124~(|PATH|)~16418689211216253932068791642452302441249467
+\item 209210~\ref{sec:install-fonts}~11920311417264966578~|.tfm|~20165PK~114172
+ 206~PS~114172119203220652371862162538567
+\item 209210~\ref{sec:install-.fd}~119203~|.fd|~2016496652182181141721192031861787165
+ 93119219246186~|.fd|~2016793105209210\ttftopk206\ntutocjk2101632091861002109467
+\end{enumerate}
+
+
+\section{114172119203}
+\label{sec:install-fonts}
+
+18722920072209~True Type~114172163205186~PK~114172206~PS~11417217616125067114172167250111209
+210254253~\ref{sec:getting-files}~16716125067
+
+PK~11417293206~PS~114172942041101192039823765110201197~\TeX/\LaTeX~11620620116312411884186
+236109\footnote{19823487652041107818619919196119203~\TeX/\LaTeX~116206722256565178221
+ 66126215239206119203186201215206123161651632419811612625111217918621625316465772256572~link~
+ 186232161109241243236187179661862361096798~DOS~8565114172201729198244210220198186244124164
+ 17668652281661861047219811518623216125078~link67}6593176641851852541141721632052256589105
+24820119318620720670116126651127167184110201197~CJK~116206206~\TeX/\LaTeX~1162062016593105
+2412231061201868522667
+
+\subsection{PK~114172}
+\label{sec:install-pk-fonts}
+
+\subsubsection{219202163205~PK~114172}
+[12418818516865208209210\ttftopk206\ntutocjk186119203161250]
+
+\subsubsection{119253163205~PK~114172}
+[12418818516865208209210\ttftopk186119203161250]
+
+\subsubsection{209~PS~114172163205~PK~114172}
+209210~\ref{sec:install-ps-fonts} PS~114172649667
+
+\subsection{PS~114172}
+\label{sec:install-ps-fonts}
+
+18566210252186~PS~114172176164229~PostScript Type 1~11417265112716591876421120671211
+186~PS~1141729372111199164229~Type 1~114172176242179210991681861141729465105213168~
+PostScript Type 0~18611417267253~\TeX~11620621610118076107250206~Type 0~1861146521072
+1872299316312416320667116126189181250206~TTF~114172981882119310522423412365210112~
+Ghostscript~98115186169187164934.0194119224207206~TTF~11417267
+
+72119203162209~PS~114172176210651781222281211231128593212211208209210\ntutocjk164186~
+|README|~2019471
+\begin{enumerate}
+\item 671841192396421111421893font family6511216220994163205~|.tfm|~206~|.pfb|~201
+ 21567
+\item 215239114218219246186~makefile~20165112215239~|kai.mak|~18618610193728572162209
+ 1762109467
+\item 89122207206~UNIX~11620665233748517718625279
+ \begin{verbatim}
+ make unix FONTMAK=kai.mak
+ \end{verbatim}
+ 8912298~DOS~85652088571
+ \begin{verbatim}
+ make dos FONTMAK=kai.mak
+ \end{verbatim}
+ 89641931828165179179~55~211186~|.pfb|~20121577~55~21193206~110~2116511271~
+ |EXTENDED_FONT|~7993~|YES|94|.tfm|~2012156566~TFM~2012151861061126567211249176~
+ 1.2kB~17010767
+\item 85~|make install-fonts|~1852527965105782101791632051861141721192032201229311998~
+ |kai.mak|~201215164210252119186216253164671221052249322111072~|make install-maps|~
+ 11121125279119203~|Fontmap|~206~|psfonts.map|~16567
+\item 21821872872101191131141722192461868721765122178183215239~|c00kai.fd|~195190220~
+ \TeX~22811123618621625367206204215239~|c00kai.fdx|6511271~|EXTENDED_FONT|~7993
+ 176~|YES|6519022065237216253225651781837822887217239176~|c00kai.fd|67
+\end{enumerate}
+
+\subsubsection{209~PS~114172163205~PK~114172}
+
+209~PS~114172163205~PK~1141726511396122221110199~|gsftopk|~206~|ps2pk|~21118516867
+
+1127172~|gsftopk|~163205~PK~11465217221110~|gs|93Ghostscript9418617885659318598
+122215203110~PS~11417222565792371107811417221098186216253876591236~|GS_LIB|~111211244210220
+1981646520620478209\ntutocjk210163205~|.pfb|~2016572~symbolic link~18623216165254161~
+link~236~|gs|~21011911318611417221625316467
+
+11271206~|ps2pk|65122221110~AFM~2019398\ntutocjk115121~|.pfb|~2012151867612316465124
+163205~AFM~201946720411025011120411518616918765727925398170250~PS~11417280~AFM~20120165163
+801632052216867
+
+98122210207206186~\TeX/\LaTeX~11620616465106167163179~|MakeTeXPK|~1112112016516618692206
+89799811620611112389211~PK~11417216311598201652192021632051676721118520125271163221837918666
+1269311965163179219202209~PS~201163205~PK~11417218692224672377710116379111199~PS~114172178183
+8812398~|psfonta.map|~16465|MakeTeXPK|~20618520116418611417280951911101632051147995
+176~PS~114172932282341112211102481222101192031862192461162062111199467
+
+%\section{1638011316317379851679678198181}
+%\label{sec:platforms}
+
+%\subsection{DOS}
+%\label{sec:platform-dos}
+
+%\subsection{UNIX}
+%\label{sec:platform-unix}
+
+\subsection{119203~\texttt{.fd}~201}
+\label{sec:install-.fd}
+
+2376511018611417293TFM~20121566PK~11417266206~PS~11417294246211871228896232161119203180237
+2256512293183110652379793119219246186~|.fd|~20167187967817812216767
+
+\LaTeXe~186~\textsf{NFSS}~87230164651101211226421611417293116179856720919871
+\begin{enumerate}
+\item Encoding711158823216165112~|T1|66|OT1|66|DC|~16567|U|~237220~unknown67
+ CJK~1162061861158823216193209210~|fonts.txt|946417622924318217721020665112~|Bg5|66
+ |GB|66|Bg5pmC|~1656564176~\textsf{NFSS}~21020720665112~|C00|66~|C10|66
+ |C01|~1656718566658911911398~|.fd|~2011641861158823216122120720622520467729472210207
+ 206186\bigfive17621065~|C00|~7917822111911318667
+\item Family7111421865112~|cm|66|cmss|66|cmtt|~16565CJK~11620698119203\bigfive186
+ 1141722212192301191136525322119788~\textsf{NFSS}~186871196589119113114218186114198163105
+ 877617321111419267122105209210931169820912520121516418610021065112~|c00kai.fd|67CJK~116
+ 206721622096625023366208209165237220114218679472105206~|kai|66|song|66|ming|66|fs|66
+ |black|66|round|~165165237220\bigfive18611421867
+\item Series711141166793238861862161119465112~|m| (medium)66|b| (bold)66|bx|
+ (extended bold)~16565CJK~1172061858723067
+\item Shape7111420617265112~|n|66|sl|66|ol|66|it|~16567CJK~11720616767
+\item Size7111410611293731989465112~|10|66|12|~165
+\item |\baselineskip|7121970226230186242199117161906510616119216111220616323618520919867
+\end{enumerate}
+
+218218728718621212265728517823018220821120118617899801211076572~|c00kai.fd|9398~
+\texttt{texinput/Bg5}~21625385942019311684211681101862527971
+\begin{enumerate}
+\item |\ProvidesFile{c00kai.fd}{|{\em release-info}|}|7116125018720187195215
+ 751711982527467
+\item |\DeclareFontFamily{C00}{kai}{}|7116125018520172~|C00|~1861158866121122~
+ |kai|~11421867228164~|C00|~79~\textsf{NFSS} encoding67
+\item |\DeclareFontShape{C00}{kai}{m}{n}{<-> CJK * b5ka}{}|711858279186
+ 19617321120919825119824865105209210~|fonts.txt|~18616125067228164~|*|~1851071862091988979
+ 642131141722018718611418665CJK~116206124981922219187712361981146516817611417287217
+ 93sub-font name946516321579~|.tfm|~20166|.pfb|~201206~|pk|~201210221801858764
+ 8067|CJK|~1047911417210611223119893size function9465CJK~11620611911370198211185254
+ 2311986511271
+ \begin{verbatim}
+ CJK 219237243 `' (empty) 7825220720611418610611280 latex 115182186648067
+ sCJK 219237243 `s' 80876525325011417912620116318110593silent9467
+ CJKfixed 219237243 `fixed' 8922168186114106112981191131861002421866564223
+ 20720625211918611467
+ sCJKfixed 219237243 `sfixed' 808765253 keep silent67
+ CJKsub 219237243 `sub' 72116642541141721927867
+ CJKssub 219237243 `ssub' 808765253 keep silent67
+ \end{verbatim}
+ 112185105722202327518680201207206731251142068611311467
+\end{enumerate}
+
+204178230186119203232161787965112716579206\ttftopk2111632051141726510478228210163209186~
+|c00?????.fd|~198115236~\texttt{texinput/Bg5}~8570897972\ntutocjk1766865231
+80122176167707218525419267
+
+\subsection{23388164229~\LaTeX~2292438011417218624689}
+\label{sec:portability}
+
+185662102521862338893651131952456620121520620010516567237~\ref{tab:soft-vs-fonts}~79
+187229210163206186641991108811023380228210207206114172161186246899316370837916125012665110233167
+16918710680210176187229182103201204241186169187946720918523710519065PK~1149811924820179163105206
+20218665211~PS~11498677693116179~PostScript~20121593|.eps|66|.ps|~16594186229243201
+23117822120623667
+\begin{table}[htbp]
+ \begin{center}
+ \leavevmode
+
+ \begin{tabular}{|>{\ttfamily}c|c|c|c|} \hline
+ 23388110233 & 92224 & CJK PK~114172
+ & CJK PS~114172 \\ \hline
+ xdvi & 119248 & \hookstroke
+ & \crossmark \\
+ & &
+ & 93224179642111199311494 \\ \hline
+ dvisvga & 119248 & \hookstroke
+ & \crossmark \\ \hline
+ dvips & 2338822020121520676237247 & \hookstroke
+ & \hookstroke \\
+ 935.60~169187728594 & &
+ & 932531762541612527494 \\ \hline
+ dvihp & 2338822020121520676237247 & \hookstroke
+ & \crossmark \\ \hline
+ gs & 11924820623388 & \crossmark
+ & \hookstroke \\ \hline
+ \end{tabular}
+
+ \caption{~\TeX~21924611023380207206~CJK~1141721611672468967}
+ \label{tab:soft-vs-fonts}
+ \end{center}
+\end{table}
+
+110163115641032072291959018622918565215228791642292291856511421893font family9480228216111
+10611293font size94186220198791631052062021866723923388201178183186~PK~80~PS~11417221116565
+8998185172112852412517120418611679657623718623275202931051617985179100238708998207208197161
+186207206876510522478179210116167679317680641142182531638010611218611465PK~11417217822167216
+207206236186216111210252742202282338820116465211~PS~1141721172216418467
+
+21610165229185164210179207206236186~PFB~1141726589110163205186116161186~PS~201215
+93self-contained Postscript output9465|dvips|~124254161252742202282338816467211
+856418488169186~|dvips|~1231611646578105224119239228233882011641861851812027317921023910570
+7889115186169187117124252749822918516417920720623618611422898~|.pfb|~201164210239179167119113186
+161192679398167204250213~|dvips| 5.60~16920165200201761071689297207206164229~CJK PS~114
+172651637621972214706794
+
+216101200201105206~|fontload|~11121111023365701681112119222467
+
+
+\section{218186210108}
+\label{sec:my-settings}
+
+21610121820720618679~Linux~6412611620665\TeX/\LaTeX~104207206~te\TeX~24421065219246186
+2162531128571
+\begin{itemize}
+\item |/usr/local/lib/texmf| 115241~\TeX/\LaTeX~11620667
+\item |/usr/local/lib/ghostscript| 115241~Ghostscript67
+\item |/usr/local/lib/ntuttf| 115241~NTU TrueType~114172206209\ntutocjk210163
+ 20518621924611417267
+\item |~/CJK/4_1.0| 115241209125186~CJK~11620667
+\end{itemize}
+
+21872191961861192031231996578~te\TeX~11920398~|/usr/local/lib/texmf|7016722578~
+CJK~98218186~|$HOME/CJK|~8520912565CJK~1102331642101791862012157516320598~|CJK|~108216
+253164\footnote{1672107278~CJK 119203982191182117218621625385657993176~CJK~9624311565
+ 1632327596208116206222122204878723922093119676591871767021911820121512111320218621012365179
+ 21911864247~CJK~18693119652117212317665219118186~CJK~22924312612417925117012321518619021120267
+ 89658379116206164116100~CJK~110233186726519820679227211~\TeX/\LaTeX~186251642046598
+ 2191181127218621625385222122195119193243115~CJK6579211163249186232161}6521011271
+\begin{verbatim}
+ % cd
+ % gunzip CJK-4.1.0.src.tar.gz | tar xvf -
+\end{verbatim}
+19518172851866612271
+\begin{enumerate}
+\item 98~|~/CJK|~852162236419718516118620121511517893symbolic link946587176~
+ |texinput|~66115178220216101~CJK~1691878785186~|texinput| 65
+ \begin{verbatim}
+ % cd ~/CJK
+ % rm -f texinput
+ % ln -s 4_1.0/texinput texinput
+ \end{verbatim}
+\item 11518264211115186~|bg5conv|~24523020167
+ \begin{verbatim}
+ % cd ~/CJK/4_1.0/utils/Bg5conv
+ % gcc -O -o bg5conv bg5conv.c
+ % mv bg5conv bg5latex ~/bin
+ \end{verbatim}
+ 89163117791192031852191182066510410572~|root|~186173247~|cp|~220~|/usr/local/bin|~
+ 2162538567
+\item 98218186~|$HOME|~21625385~|.cshrc|~201164939317621820618679~tcsh9465879164
+ 230
+ \begin{verbatim}
+ setenv TEXINPUTS ":~/CJK/texinput//"
+ \end{verbatim}
+\item 163205~|.tfm|~201206~|.pfb|~1141726798185218246211\ntutocjk164656464~
+ ``make''~88219239186~|.pfb|~1141726564~8~2136567213~55~211~ |.tfm|~206~|.pfb|~
+ 2016721878111199201215190220~
+ \texttt{/usr/local/lib/\linebreak[1]ntuttf/\linebreak[1]type1/}~206~
+ \texttt{/usr/local/lib/ntuttf/afm/}~219246243228114218186216253856719578
+ ~|config.CJK|~206~|CJK.map|~190220~|$TEXMF/dvips|~8567
+\item 93119~|.fd|~20167931762182072061867972~PS~11417217668186~PFB93209\ntutocjk163
+ 20594206209228163205186~PK~11417293209~|gsftopk|~163205946521072218189181196206
+ \ntutocjk210163209186~|c00|*|.fd|~201658317964244243243239939317621817910024420716680
+ 218186117642442106480 :-946721878228190220~|~/CJK/texinput/Bg5/|~2162538567
+\end{enumerate}
+
+\subsection{21622322990}
+\label{sec:creating-tex}
+
+164229~CJK \TeX~229908064235~\TeX~2299018616380681109824371
+\begin{itemize}
+\item 98210215~\LaTeX~229243186~preamble93|\documentclass|~220~
+ |\begin{document}|9420723616465178183179~|\usepackage{CJK}|~11121182796589178
+ 18325274~|CJK.sty|67
+\item 16422911417818398~|CJK|~206~|CJK*|~186164229244210164678971
+ \begin{verbatim}
+ \begin{CJK*}{}{}
+ 16422911316866185966620720666237230662092102291096675165
+ ...
+ \newpage
+ \end{CJK*}
+ \end{verbatim}
+\item 110220171114172105206~|\CJKfamily|~827965112~|\CJKfamily{fs}|~787285186114
+ 1722391682331861149323777~|fs|~1112111142068721717818311911398~|c00fs.fd|~1649467
+\end{itemize}
+
+2181862061071637972642111642292442109323721017918622918518610165112207~
+\ref{fig:my-example}~21022067
+
+\newsavebox{\myex}
+\begin{lrbox}{\myex}
+ \begin{minipage}{.9\textwidth}
+ \footnotesize
+ \begin{verbatim}
+ \documentclass[12pt]{article}
+ \usepackage{CJK}
+
+ \begin{document}
+ \begin{CJK*}{Bg5}{fs}
+ \CJKtilde
+
+ \section{1966496}
+ \label{sec:section-1}
+ 209210207~\ref{fig:apply-pk-and-ps-fonts}67
+
+ \begin{figure}[htbp]
+ \begin{center}
+ \leavevmode
+ \includegraphics{pkpsapps.eps}
+ \caption{|pk|~11417280~|.pfb|~114172186179206239179207}
+ \label{fig:apply-pk-and-ps-fonts}
+ \end{center}
+ \end{figure}
+
+ \bibliographystyle{plain}
+ \bibliography{mybib}
+
+ \newpage %207179191841861642292338867
+ \end{CJK*}
+ \end{document}
+ \end{verbatim}
+ \end{minipage}
+\end{lrbox}
+
+\begin{figure}[htbp]
+ \begin{center}
+ \leavevmode
+ \fbox{\usebox{\myex}}
+ \caption{218186~CJK~22924310021067}
+ \label{fig:my-example}
+ \end{center}
+\end{figure}
+
+\subsection{72~\LaTeXe\ CJK~115198169177}
+\label{sec:clatexing}
+
+788064235186~\LaTeX~201642036525372~|bg5latex|~25078~|latex|6511271
+\begin{verbatim}
+ % bg5latex mylatex.tex
+ 206204
+ % bg5latex mylatex
+\end{verbatim}
+
+\subsection{119253}
+\label{sec:preview}
+
+1061611921611128521872~|xdvi|~119253~|.dvi|~2019398~Emacs~206~Mule~16489207206~
+AUC\TeX~111771102336524322422788228240881869723265215228791171192532291851641866424420723665
+722011052032482112072361861981691612069467
+
+1161266521893124248161112206163801861192481231616724111298~Linux~186~virtual terminal
+mode~21872~|dvisvga|~119248679820270~|pk|~11417220683179~|xdvi|~1862141981612068565
+21893206~|ghostview|~119248103209~|dvips|~163205186~|.ps|~20121567
+
+\subsection{6776}
+\label{sec:printing}
+
+1632052066776~|PostScript|~20121579218204962061862321616593176982181862291851646520720679163
+10521418623419865211166204887116379~|.eps|~18623016193209~|xfig|66AutoCAD66|GnuPlot|66
+|xv|66751652101632059467210163205186~|.ps|~2016520620479209~PostScript~7623724765231206
+20412276~ Ghostscript~1862241716521123388236~Laserjet~206~Deskjet~1982062367312516176
+23724710467
+
+642352111656572~|dvips cjk-doc|~124163205105677618623388656572~|lpr cjk-doc.ps|~
+1867623725279677689105672531228916364163205164229~PK~114172656612216379207206~PostScript~
+762372476583206\ntutocjk119203~PS~1141726593119239~ Ghostscript~18693119119203110111199
+11417265211661221867623720520212316122472~|gs|~1766893Linux1162068710419816372185232161931199465
+104651057218918172~|lpr|~11121182796776~ |.ps|~2019319822079~|.dvi|~201946711271
+\begin{verbatim}
+ % dvips -P CJK cjk-doc
+ % lpr cjk-doc.ps
+\end{verbatim}
+
+72~|dvihp|~16320567762019379232161167646522823388230161176~PCL6520679~HP~76237247186230
+1616725393761076612222918516493116186~PostScript~20121565210722181951639620667
+
+237110163205105226186677620121523016193self-contained PostScript file946521812472163205~
+Post\-Script~93|.ps|9418623016117668671141722111891676479209119248225219202163205186~PK~
+11417264176~ |dvips|~1862337411417267185232161105728567827918516871
+\begin{verbatim}
+ % dvips cjk_doc -o cjk-doc-contains-pk-fonts.ps
+\end{verbatim}
+185201~|psfonts.map|~164221163116\ntutocjk21016320518616422911417293CJK 4.0 7287186169187
+164210116186\ntutocjk65119931761851612069465|dvips|~126124250206164229~PK~1146520611271164
+229~PK~11417216311598186220651242192021632051676798207206~|xdvi|~206219246110233119248201659372~
+PK~114172176686598114172228163236186161112856523112421920216320516767
+
+1161261047979~|dvips|~250206164229~PS~1146598246211\ntutocjk16416125011920322565210179186164
+229~PS~11418623917920112411598243~|CJK.map|~201164678911072185232161163205105226161186~|.ps|~
+2016517818310564669772~|gs|~206~|fontload|~1652542521861102336578~PS~1141722527423623388
+186201215164678972~|fontload|~2111656598~UNIX~11620685651057285177186252797016871
+\begin{verbatim}
+ % dvips -P CJK -o cjk-doc-no-ps-fonts-contained.ps cjk_doc.dvi
+ % fload cjk-doc-no-ps-fonts-contained.ps > cjk-doc-contains-ps-fonts.ps
+ % lpr cjk-doc-contains-ps-fonts.ps
+\end{verbatim}
+185201~|cjk-doc-contains-ps-fonts.ps|~206~|cjk-doc-contains-ps-fonts.ps|~78
+79185227186~PS~20121570659378791616512210572225236244243641202281691796776~PostScript~201
+215186762372472061231617067
+
+7287787921821172239~CJK~164229~\LaTeX~116206186931196517972647816320921911818611920310323122083
+
+
+\section{2216820977}
+\label{sec:trouble-shooting}
+
+9820720611925312316118620121265105224124742361862216880228209771862321611128571
+\begin{itemize}
+\item PK~11417222816323667
+\item 163124219202163205~PK~11417267
+\end{itemize}
+
+[9210422168802282097723216112418822712219974]
+
+
+%\section{22876}
+%\label{sec:misc}
+
+
+\section{80194}
+\label{sec:acknowledgements}
+
+\begin{itemize}
+\item 1791112421047265941099210422379651851689210423275661861012157318612316167
+\item 1792431041862072062046520720611119912316165207762042438710421167
+\item 111216837918621917211884652052051631679796244219651261632017021820418620516110417767
+\end{itemize}
+
+
+%\section{18722964204}
+%\label{sec:the-author}
+
+%245103116 (Chun-Yu Lee)
+%d791013@ce.ntu.edu.tw 206 \\
+%chunylee@ms1.hinet.net
+
+
+%\bibliography{READMEb5}
+%\bibliographystyle{plain}
+
+
+\begin{thebibliography}{1}
+
+\bibitem{latex-companion:1993}
+Michel Goossens, Frank Mittelbach, and Alexander Samarin.
+\newblock {\em The \LaTeX Companion}.
+\newblock Addison Wesley, 1993.
+
+\bibitem{tex-faq:1.9c}
+Bobby Bodenheimer.
+\newblock The new \TeX\ FAQ --- your 100 questions answered:
+ Version 1.9c, date 1994/12/06.
+\newblock 1994.
+
+\bibitem{latex2nd}
+Leslie Lamport.
+\newblock {\em \LaTeX\ --- A Document Preparation System --- User's
+ Guide and Reference Manual}.
+\newblock Addison Wesley, 2 edition, 1994.
+
+\end{thebibliography}
+
+
+\appendix
+\section{87252209192}
+\label{sec:terms}
+
+8567872521761872291642102072066519518917324385677822871
+
+\begin{description}
+\item[PK~114172:] PK fonts67642161638976186731251141722301616711512020720698~
+ TeX/\LaTeX~221110233887312511418697232671121192482066776233886798185190252164229~CJK
+ PK~11417267
+\item[PS~114172:] PostScript Type 1 fonts67PostScript~11417919821617216165187229
+ 78252~Type 1~1141726722817922621623016171PFA (Printer Font Ascii)~206~PFB
+ (Printer Font Binary)6798185190252164229~CJK PS~11417267
+\item[682476611764184:] A host computer, work station, etc671202528979163209
+ 2341892066520018611316367112~FTP~18467
+\item[CTAN:] Comprehensive \TeX\ Archive Network671872292521721768871210179179
+ 246~TeX/\LaTeX~116206206229243186~FTP~18467216101119190186~CTAN~21267243254253~
+ \ref{sec:ctan-mirrors}67
+\item[IFCSS:] The CCIC (Chinese Community Information Center) of IFCSS
+ (Independent Federation of Chinese Students and Scholars)67254253~
+ \ref{sec:ifcss-mirrors}~164798821117987186~ifcss~18467
+\item[AFM~201215:] Adobe Font Metrics671151791158820611410024216523419867
+\item[TFM~201215:] \TeX\ Font Metrics67
+\item[|.fd|~201215:] 114172121122201~(font description files)67792532192462438964
+ 2161868867
+\item[GS~206~GhostScript:] 96206186~PostScript~12116520918218593interpreter94
+ 1676467
+\item[|afm2tfm|:] 78~AFM~201215230161224171168~TFM~20121523016118612316167
+\item[64213114172201:] 11271792072061638976186114172658916379207206~pmC~1258918611421865
+ 64179~55~2111081141722016721011271|b5ka01.pfb|66|b5ka02.pfb|667566
+ |b5ka55.pfb|67
+\item[\textsf{NFSS}:] New Font Selection Scheme67209~Frank Mittelbach~
+ 77~Rainer Sch\"opf~2101638818611417223922011620667
+\end{description}
+
+\section{201215250111}
+\label{sec:getting-files}
+
+\begin{description}
+\item[\LaTeXe~24523024421071] 64235210179168771861162062092072062041782301192036511298~DOS~
+ 85186~em\TeX7098~Linux~85179~N\TeX66~te\TeX~16570UNIX~87104112~web2c~186169
+ 1871656711119916317898~CTAN~1862162538567180112~em\TeX~98~
+ |systems/|\linebreak[1]|msdos/|\linebreak[1]|emtex|~16470N\TeX~98838370
+ web2c~18616918798838367\LaTeXe~11620618717310498~CTAN71
+ |macros/|\linebreak[1]|latex/|\linebreak[1]|base|~8567
+\item[\LaTeXe~CJK~11620671] CTAN: |language/chinese/CJK|~206~IFCSS host:
+ |tex/|\linebreak[1]|CJK.X_X.|\linebreak[1]|tar.gz|67
+\item[NTU TrueType~11417271] IFCSS host: |fonts/big5/ms-win|677816220966250
+ 233662331862331651611929320625416194186~ARJ~201250942256520921080111199114172988064216253
+ 1861612502019320620921025498\ntutocjk164186~|README|~20194657822821723616821179~TTF~
+ 11417267
+\item[\textsf{ntu2cjk, ttf2pk}:] 114172163205123161671669311698~167\LaTeXe\ CJK~
+ 11620616816467
+\item[GhostScript:] CTAN:
+ |support/|\linebreak[1]|ghostscript/|\linebreak[1]|aladdin|~206~
+ |support/|\linebreak[1]|ghostscript/|\linebreak[1]|gnu|67
+\item[|dvips|:] CTAN host: UNIX~16998~|dviware/dvips|70DOS~16998~
+ |systems/msdos/|\linebreak[1]|dviware/|\linebreak[1]|dvips/|%
+ \linebreak[1]|dvips558.pc|67
+\item[|afm2tfm|:] 9311698~dvips~11620616467
+\item[|ps2pk|:] CTAN: |fonts/utilities/ps2pk|6520693116986423577203186~
+ \TeX/\LaTeX~11620616467
+\item[|gsftopk|:] CTAN: |fonts/utilities/gsftopk|6520693116986423577203186~
+ \TeX/\LaTeX~11620616467
+\item[|dvi2|xx:] 112~|dvilj|66|dvidm|66756798~CTAN: |dviware|~2162538567
+\item[AUC\TeX:] CTAN: |support/auctex|~216253164186~
+ |auctex.tar.gz|\linebreak[1]93~unix~94206~|auctex.zip|~93dos9467
+\item[|fontload|:] CTAN: |fonts/utilities/fontload|67
+\item[Mule~1861642292337410771] IFCSS: |mule/lisp/quail-b5|67
+\end{description}
+
+
+\section{2287621924618611023380117227}
+\label{sec:other-stuffs}
+
+\subsection{98~Linux~11620687186\bigfive164229116206206210192215221247123161}
+\label{sec:chinese-systems}
+
+\begin{itemize}
+\item chdrv
+\item yact
+\item CXterm
+\item xcin
+\end{itemize}
+
+\subsection{164229115232\ -- Mule}
+\label{sec:mule}
+
+207206~Mule~176115232164229~\LaTeX~2292431861172271862072062046510578851771869311991220~
+|$HOME/|\linebreak[1]|.emacs|~20116471
+\begin{verbatim}
+ ;;; Chinese Big-5 environment
+ (set-primary-environment 'chinese)
+ (set-default-file-coding-system '*big5*)
+ (setq display-coding-system '*big5*)
+ (setq keyboard-coding-system '*big5*)
+ ;; input methods
+ (add-hook 'quail-package-alist '("tsangchi-b5" "quail/tsangchi-b5"))
+ (add-hook 'quail-package-alist '("quick-b5" "quail/quick-b5"))
+ ; the default input method
+ (setq-default quail-current-package
+ (assoc "tsangchi-b5" quail-package-alist))
+\end{verbatim}
+
+1931711649422923374105246~|C-]|651102392202287618623374107105246~|M-s|93|Alt-s|9467
+
+9311923374107201105239220219118223681866798~IFCSS Mule~18621625316493209210196~
+\ref{sec:getting-files}~9694179641991642292337410765228164936517971
+\begin{center}
+ \begin{tabular}{ll}\hline
+ 201215 & 23917916723374107 \\\hline
+ cns-b5-input.tar.gz & 186116~|tsangchi-b5.el|9322010194206 \\
+ & |quick-b5.el|931782469416523374107 \\
+ zozy.el.gz & 11525296181 \\
+ cj.el.gz & 220101 \\
+ simplex.el.gz & 178246 \\
+ punct-b5.el.gz & 20873197185 \\
+ qj-b5.el.gz & 254206 \\
+ etzy.el.gz & 20220996181 \\
+ boshiamy.el.gz & 70188204 \\
+ array30.el.gz & 23067~30 \\\hline
+ \end{tabular}
+\end{center}
+
+72871762519616318623374107672112162531642319311685672337410771
+\begin{center}
+ \begin{tabular}{ll} \hline
+ 201215 & 23917916723374107 \\\hline
+ 4corner.el.gz & 12416418588 \\
+ ctlaub.el.gz & 66252187161102181 \\
+ ecdict.el.gz & 94126227229 \\
+ hs.el.gz & 21672 \\
+ hsu.el.gz & 9224396181 \\
+ py-b5.el.gz & 126121247181 \\
+ roman.el.gz & 185168247181 \\\hline
+ \end{tabular}
+\end{center}
+
+
+228110186~\LaTeX~22924320165105245230~|bg5latex|~1151826723110581206~|cjk-enc.el|~111211~
+Emacs Lisp~2016578229243253230224171168~|.cjk|~201656572~|latex|~105230115182676410779
+98~|~/.emacs|~2012151649174856719823093228164231198~ |write-cjk-file|~208209210~
+|cjk-enc.txt|~9471
+\begin{verbatim}
+ (load-library "cjk-enc")
+
+ (defun write-cjk-file ()
+ "Save current buffer and <buffername>.cjk in *cjk-coding*"
+ (interactive)
+ (setq coding file-coding-system)
+ (setq bufname (buffer-file-name))
+ (string-match "\\(.*\\)\\.[^/]*$" bufname)
+ (setq body (substring bufname 0 (match-end 1)))
+ (setq newbufname (concat body ".cjk"))
+ (message "Saving %s and %s" bufname newbufname)
+ (write-file newbufname *cjk-coding*)
+ (write-file bufname coding))
+\end{verbatim}
+167225751059867184110245230~|latex|~10165206~|M-x write-cjk-file|~827925311520165
+772256572~|latex|~1151826820187801221862292436820187642036525318124920187176~|.cjk|~
+18620121567
+
+\subsection{\TeX/\LaTeX~186110176226\ -- AUC\TeX}
+\label{sec:auctex}
+
+17824625222271
+\begin{enumerate}
+\item 211196~\ref{sec:mule}~9618623216178~Mule~9311918023767
+\item 246211~AUC\TeX~18611920325222011920367206246211~AUC\TeX~186~default~23216111920367
+ 856719818110518110516318167
+\item 21622364211~|bg5latex-batch|~20165192791128571
+ \begin{verbatim}
+ #! /bin/sh
+ f=`echo $1 | sed -e 's|\(.*\)\.[^/]*$|\1|'`
+ bg5conv < $1 > $f.cjk
+ latex \\nonstopmode\\input{$f.cjk}
+ \end{verbatim}
+\item \label{CJK-C-cC-c}98~|.emacs|~164917471
+ \begin{verbatim}
+ (setq TeX-command-list
+ (append TeX-command-list
+ '(("CLaTeX" "bg5latex-batch %s " TeX-run-LaTeX nil t)
+ ("CLaTeX Interactive" "bg5latex %s " TeX-run-interactive nil t)
+ ("CPrint" "fload %f | lpr" TeX-run-command t nil)
+ )))
+ \end{verbatim}
+ 10410598245230~|C-c C-c|~206~|C-c C-r|~201659811023374~|LaTeX|~1862012476523374~
+ |CLaTeX|67
+\item 98~|.emacs|~164917485671982306572751221862292439819816920193254229104245230
+ ~|C-c C-c CLaTeX|~65207236206~|C-c C-r CLaTeX|946589179249126105206~|C-c `|~
+ 100231249126210986519510524319116767
+ \begin{verbatim}
+ (add-hook 'TeX-translate-location-hook
+ '(lambda ()
+ (if (string-match "\\(.*\\)\.cjk$" file)
+ (setq file
+ (concat
+ (substring file
+ (match-beginning 1)
+ (match-end 1))
+ ".tex")))))
+ \end{verbatim}
+\item 206204122210123206~|cjk-enc.el|6510498~|.emacs|~1649174856719823071
+ \begin{verbatim}
+ (defun TeX-run-CJK-LaTeX (name command file)
+ "Create a process for NAME using COMMAND to format
+ FILE with CJK/LaTeX."
+ (write-cjk-file)
+ (TeX-run-LaTeX name command file))
+
+ (if (not (assoc "CJKLaTeX" TeX-command-list))
+ (setq TeX-command-list
+ (append TeX-command-list
+ '(("CJKLaTeX" "%l '\\nonstopmode\\input{%s.cjk}'"
+ TeX-run-CJK-LaTeX nil t)
+ ))))
+ \end{verbatim}
+ 1171107887122207206~|CLaTeX|~18620124765239168207206~|CJKLaTeX|~891056710024980203206
+ ~|C-c `|~67
+
+ 253110967865207206~|CJKLaTeX|~20165229243164208163110207206~|\usepackage{CJK}|~206
+ 254252186827967
+\end{enumerate}
+
+9678658712266741176520623064~CJK \LaTeXe~22924367
+
+% Not ready yet...
+%1127198122186229243164179206236~|\include|~11121182796521112218081206236~AUC\TeX~1869222465
+%105641128518621625311919871
+
+% ./ ==> 1871042162536523610822924316724110921625367
+% ../ ==> 8710421625365109241209~latex~101209~bg5conv~22417176186~|.cjk|~2019393185
+% 899818587104216253164179236108229243651042218379967865163110207206801871042162531648087186
+% 22924394671161269311664~|Makefile|~93209210207~
+% \ref{fig:makefile-for-multifile-latexing}~1672101089465228186101681101769867
+% 184~latex~10165243115~|.cjk|~20167
+
+% \begin{verbatim}
+% #! /bin/sh
+% make bg5conv
+% cd CJK
+% latex \\nonstopmode\\input{$1}
+% \end{verbatim}
+
+
+% \begin{lrbox}{\myex}
+% \begin{minipage}{.9\textwidth}
+% \footnotesize
+%\begin{verbatim}
+%TEXs = abstract.tex archi.tex codebase.tex conclude.tex details.tex \
+% dsgnbase.tex engtool.tex examples.tex introd.tex kb_lsp.tex \
+% pjfinal.tex prg_gi.tex prg_s2c.tex related.tex represnt.tex \
+% sscdcb.tex sscddb.tex sscdgi.tex sta2con.tex title_pg.tex
+%MISC = Makefile LaTeXsrc
+%RCSs = $(wildcard $(SRCDIR)/*,v)
+
+%SRCDIR = CJK
+
+%.PHONY: check_srcdir bg5conv default
+
+%.DEFAULT: .tex .sty .bib .dvi .ps .lj .toc .lof .lot
+
+%default:
+% @echo "There are the following targets:"
+% @echo " bg5conv : Big5 CJK LaTeX file converted to LaTeX file."
+
+%bg5conv: check_srcdir $(TEXs)
+
+%check_srcdir:
+% @if [ -f LaTeXsrc ]; then \
+% echo "Don't make at the LaTex source directory!"; \
+% echo "Copy the Makefile to upper directory and make there."; \
+% echo "e.g., cp Makefile ..; cd ..; make"; \
+% exit 1; \
+% fi
+% @if [ ! -d $(SRCDIR) ]; then \
+% echo "$(SRCDIR) not found!"; \
+% exit 1; \
+% fi
+
+%$(TEXs): %.tex : $(SRCDIR)/%.tex
+% bg5conv < $< > $@
+%\end{verbatim}
+% \end{minipage}
+% \end{lrbox}
+
+% \begin{figure}[htbp]
+% \begin{center}
+% \leavevmode
+% \framebox[.9\texwidth]{\myex}
+% \caption{17973104171~CJK~229243201186~Makefile~10021067}
+% \label{fig:makefile-for-multifile-latexing}
+% \end{center}
+% \end{figure}
+
+
+
+\section{CTAN988597186201215207}
+\label{sec:ctan-mirrors}
+(1879675219~CTAN host~87186~README.mirrors)
+
+1762382142442448718611625265216179210179207206~CTAN~2341891862442056522420720623797186206204241186~
+CTAN host67
+
+216101119190198115161192~CTAN~201215186~FTP~184:
+\begin{verbatim}
+ ftp.fcu.edu.tw (Taiwan) /pub2/tex
+ gate.sinica.edu.tw (Taiwan) /TeX
+ ftp.adfa.oz.au (Australia) /pub/tex/ctan
+ ftp.germany.eu.net (Deutschland) /pub/packages/TeX
+ ftp.uu.net (Virginia, USA) /pub/text-processing/TeX
+ nic.switch.ch (Switzerland) /mirror/tex
+ sunsite.dsi.unimi.it (Italia) /pub/TeX
+ sunsite.snu.ac.kr (Korea) /shortcut/CTAN
+\end{verbatim}
+
+216101119190198115254161~CTAN~201215186~FTP~184:
+\begin{verbatim}
+ dongpo.math.ncu.edu.tw (Taiwan) /tex-archive
+ ftp.ccu.edu.tw (Taiwan) /pub/tex
+ cis.utovrm.it (Italia) /TeX
+ ctan.unsw.edu.au (NSW, Australia) /tex-archive
+ ftp.center.osaka-u.ac.jp (Japan) /CTAN
+ ftp.cdrom.com (West coast, USA) /pub/tex/ctan
+ ftp.comp.hkbu.edu.hk (Hong Kong) /pub/TeX/CTAN
+ ftp.cs.rmit.edu.au (Australia) /tex-archive
+ ftp.cs.ruu.nl (The Netherlands) /pub/tex-archive
+ ftp.cstug.cz (The Czech Republic) /pub/tex/CTAN
+ ftp.duke.edu (North Carolina, USA) /tex-archive
+ ftp.ee.up.ac.za (South Africa) /tex-archive
+ ftp.funet.fi (Finland) /pub/TeX/CTAN
+ ftp.gwdg.de (Deutschland) /pub/dante
+ ftp.jussieu.fr (France) /pub4/TeX/CTAN
+ ftp.loria.fr (France) /pub/unix/tex/ctan
+ ftp.mpi-sb.mpg.de (Deutschland) /pub/tex/mirror/ftp.dante.de
+ ftp.nada.kth.se (Sweden) /pub/tex/ctan-mirror
+ ftp.rge.com (New York, USA) /pub/tex
+ ftp.riken.go.jp (Japan) /pub/tex-archive
+ ftp.tu-chemnitz.de (Deutschland) /pub/tex
+ ftp.uni-augsburg.de (Deutschland) /tex-archive
+ ftp.uni-bielefeld.de (Deutschland) /pub/tex
+ ftp.unina.it (Italia) /pub/TeX
+ ftp.uni-stuttgart.de (Deutschland) /tex-archive (/pub/tex)
+ ftp.univie.ac.at (\"Osterreich) /packages/tex
+ ftp.u-aizu.ac.jp (Japan) /pub/tex/CTAN
+ ftpserver.nus.sg (Singapore) /pub/zi/TeX
+ kadri.ut.ee (Estonia) /pub/tex
+ src.doc.ic.ac.uk (England) /packages/tex/uk-tex
+ sunsite.icm.edu.pl (Poland) /pub/CTAN
+ sunsite.queensu.ca (Canada) /pub/tex-archive
+ sunsite.unc.edu (North Carolina, USA) /pub/packages/TeX
+ wuarchive.wustl.edu (Missouri, USA) /packages/TeX
+\end{verbatim}
+
+22621168110186~CTAN~68247:
+\begin{verbatim}
+ ftp.dante.de (Deutschland)
+ -- anonymous ftp
+ /tex-archive (/pub/tex /pub/archive)
+ -- gopher on node gopher.dante.de
+ -- e-mail via ftpmail@dante.de
+ -- World Wide Web access on www.dante.de
+ -- Administrator: <ftpmaint@dante.de>
+
+ ftp.tex.ac.uk (England)
+ -- anonymous ftp
+ /tex-archive (/pub/tex /pub/archive)
+ -- gopher on node gopher.tex.ac.uk
+ -- NFS mountable from
+ nfs.tex.ac.uk:/public/ctan/tex-archive
+ -- World Wide Web access on www.tex.ac.uk
+ -- Administrator: <ctan-uk@tex.ac.uk>
+\end{verbatim}
+
+
+\section{IFCSS~988597186~FTP~184}
+\label{sec:ifcss-mirrors}
+
+68110186~IFCSS~18471 \verb|ftp.ifcss.org:/pub/software|
+
+22876186~FTP~184:
+\begin{verbatim}
+Taiwan: ftp.edu.tw:/Chinese/ifcss/software [full]
+ ftp.ntu.edu.tw:/Chinese/ifcss/software [full]
+ iiiafs.iii.org.tw:/Chinese/ifcss/software [full]
+CHINA,
+ Beijing: info.bta.net.cn:/pub/software [partial]
+ Guangdong:
+ info.gz.gdpta.net.cn:/pub/mirror/chnsoftware [partial]
+ Shanghai: info.sta.net.cn:/pub/software [partial]
+HONG KONG,: ftp.cuhk.hk:/pub/chinese/ifcss/software [full]
+SINGAPORE,: ftp.technet.sg:/pub/chinese [full]
+USA,
+ California: cnd.org:/pub/software [full]
+ New Mexico: phaiakon.nmsu.edu:/pub/software [full]
+\end{verbatim}
+
+%% start of trailer
+\newpage
+\end{CJK*}
+
+\end{document}
+
+%% Local Variables:
+%% TeX-header-end: "%+ *[Ee]nd[ -]*[oO]f[ -]*[hH]eader"
+%% TeX-trailer-start: "%+ *[Ss]tart[ -]*[oO]f[ -]*[tT]railer"
+%% TeX-command-default: "CLaTeX"
+%% TeX-master: t
+%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/commands.txt b/language/chinese/CJK/cjk-4.8.4/doc/commands.txt
new file mode 100644
index 0000000000..1ece44b5ee
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/commands.txt
@@ -0,0 +1,388 @@
+This is the file commands.txt of the CJK macro package ver. 4.8.4
+(18-Apr-2015).
+
+Here is a list of all commands of CJK.
+
+
+\begin{CJK}[<fontencoding>]{<encoding>}{<family>}
+...
+\end{CJK}
+
+ This starts a CJK environment.
+
+ Possible values for <encoding> are:
+ `Bg5', `Bg5+', `GB', `GBt', `GBK', `JIS', `SJIS', `KS', `UTF8',
+ `EUC-TW', `EUC-JP'.
+
+ [`CNS1'-`CNS7', `CEFX', `CEFY' are also possible but make no
+ sense. These are used with CEF and Mule. The same holds for
+ `JIS2'.]
+
+ Possible values for <fontencoding> are:
+ `' (empty, the default), `pmC' (for Bg5, GB, GBt, JIS, KS),
+ `dnp' (for JIS and SJIS), `wn' (for JIS), `HL' (for KS).
+
+ Possible values for <family> are defined in the FD files which must
+ be configured for the available fonts. If empty, the default value
+ (`mj' for KS encoding, `song' for the rest) is used.
+
+ Families can be changed with \CJKencfamily on a per-encoding base
+ and with \CJKfamily for all encodings. \CJKfamily overrides
+ \CJKencfamily; to have \CJKencfamily active you must assure that the
+ `family' parameter of the CJK environment is empty or that
+ \CJKfamily is defined as empty (inside the environment).
+
+ Font encodings can be changed on a per-encoding base with
+ \CJKfontenc; \CJKenc always uses the specified font encoding.
+
+ The hook \CJKhook is called on initializing the environment (used
+ by cjk-enc.el and VTeX, for example).
+
+ Newlines and spaces after a CJK character are retained. If you want
+ to suppress a newline, finish the line with `%'.
+
+ See also \CJKspace and \CJKnospace.
+
+
+\begin{CJK*}[<fontencoding>]{<encoding>}{<family>}
+...
+\end{CJK*}
+
+ The same as the CJK environment except that newlines and spaces
+ after a CJK character are swallowed. If you want a space after a CJK
+ character you must protect it (e.g., use `\ ').
+
+ See also \CJKspace and \CJKnospace.
+
+
+Text containing CJK characters should start with a fresh line (in the source
+file, not in the output) after activating a CJK environment because TeX has
+already read in the characters of the current line as non-active characters.
+
+You can stack CJK environments (i.e., saying \begin{CJK}...\end{CJK} again
+inside of a CJK environment) if you have not set the `global' package
+option, but it is possible that TeX's `save size' overflows. Use \CJKenc,
+\CJKfontenc, \CJKfamily, and \CJKencfamily instead. See CJK.txt for CJK
+package options which modify the scope of the CJK environment.
+
+To have different encodings/families on the same input line you must use
+\CJKenc, \CJKfontenc, \CJKfamily, and/or \CJKencfamily.
+
+If you use cjk-enc.el, you should NOT open a CJK (or CJK*) environment! It
+is done automatically. See cjk-enc.txt for details.
+
+
+==============================================================================
+
+
+The following commands are defined (or make sense) only inside of a CJK or
+CJK* environment (except \CJKbold, \CJKnormal, \CJKencfamily, \CJKfontenc,
+\CJKverbatim, \CJKhangul, \CJKhanja, \CJKhwkatakana, \CJKnohwkatakana,
+\CJKaddEncHook, \CJKtolerance, \CJKboldshift).
+
+
+\CJKcaption{<caption>} Load <caption>.cpx, a language/encoding specific
+ caption file. You need the SCRIPT style files of the
+ koma-script package to fully use them (see CJK.txt
+ for details).
+
+ <caption>.cpx is a preprocessed version of
+ <caption>.cap.
+
+ Example:
+
+ \begin{CJK*}{Bg5}{song}
+ \CJKcaption{Bg5}
+ ...
+ \end{CJK*}
+
+
+\CJKchar[<enc>]{<byte1>}{<byte2>}
+ Insert a CJK character literally. <byte1> and
+ <byte2> are the first and second byte of the CJK
+ character (in the selected encoding), the optional
+ parameter selects the encoding. You can use decimal,
+ hexadecimal, or octal notation. <byte1> and <byte2>
+ can be both in 7bit or 8bit (GL or GR)
+ representation.
+
+ To select Unicode characters you must specify `UTF8'
+ encoding (but enter real Unicode values). If the
+ Unicode value is greater than U+FFFF, put the first
+ two bytes into the first argument, and the third byte
+ into the second one.
+
+
+ Examples:
+
+ \CJKchar[Bg5]{217}{223}
+ \CJKchar[CNS1]{"57}{"4C}
+ \CJKchar[UTF8]{"02D9}{"04F}
+
+
+\CJKenc{<encoding>} Change encoding. Contrary to \begin{CJK}{...}{...}
+ it is not necessary to start a new line after
+ \CJKenc. This command always uses the font encoding
+ selected with \CJKfontenc.
+
+ \CJKenc acts globally if the `global' option is set.
+
+ See fonts.txt for a mapping table between CJK
+ encoding names and the names of the FD files
+ finally used.
+
+ Use the macro \CJKaddEncHook to add commands which
+ should be executed when a certain encoding is
+ selected.
+
+
+\CJKfamily{<family>} Change family for all encodings. This command
+ overrides \CJKencfamily; to reactivate \CJKencfamily
+ say `\CJKfamily{}'.
+
+ \CJKfamily acts globally if the `global' option is
+ set.
+
+
+\CJKencfamily[<fontencoding>]{<encoding>}{<family>}
+ Change family for a certain encoding (and
+ font encoding). Can be overridden with \CJKfamily.
+
+ The possible values of <family> are defined in the
+ encoding specific FD files.
+
+ This command makes sense outside of a CJK
+ environment; it acts globally if the `global' option
+ is set.
+
+
+\CJKfontenc{<encoding>}{<fontencoding>}
+ Change font encoding for a certain encoding. If you
+ select an encoding with \CJKenc, the font encoding
+ specified with \CJKfontenc for this encoding is
+ chosen.
+
+ This command makes sense outside of a CJK
+ environment; it acts globally if the `global' option
+ is set.
+
+ Example:
+
+ \CJKencfamily{GBt}{hei}
+ \CJKfontenc{JIS}{dnp}
+
+ \begin{CJK*}{Bg5}{fs} % this is equal to
+ % \begin{CJK*}{}{}
+ % \CJKenc{Bg5}
+ % \CJKfamily{fs}
+
+ ... Text in Bg5 fangsong ... % c00fs.fd used
+ \CJKenc{GB} ... Text in GB fangsong ... % c10fs.fd used
+ \CJKfamily{kai} ... Text in GB kai ... % c10kai.fd used
+ \CJKenc{JIS} ... Text in JISdnp kai ... % c42kai.fd used
+ \CJKfamily{}%
+ \CJKenc{GBt} ... Text in GBt hei ... % c20hei.fd used
+ \end{CJK*}
+
+
+\CJKindent The `classical' indentation for CJK documents is
+ exactly two ideographic spaces. \CJKindent sets
+ the paragraph indentation to this value, using
+ \parindent and the currently active CJK font.
+
+
+\CJKkern To prevent a line break before a CJK character, say
+ \CJKkern. This command suppresses the insertion of
+ \CJKglue before the CJK character.
+
+
+\CJKglue If you get overfull \hbox'es caused by CJK
+ characters, try to increase \CJKglue. The default
+ definition is
+
+ \newcommand{\CJKglue}{\hskip 0pt plus 0.08\baselineskip} .
+
+ \CJKglue is inserted by CJK between Chinese
+ characters (punctuation characters as defined in the
+ punctuation tables use an unbreakable glue; see
+ CJK.enc). You should separate non-Chinese text from
+ CJK characters with spaces to enable hyphenation. Or
+ you can say \CJKtilde.
+
+
+\CJKtilde This command changes the definition of the active
+ `~' character from an unbreakable space to
+
+ \def~{\hspace{0.25em plus 0.125em minus 0.08em}} .
+
+
+\nbs The original meaning of `~' is preserved within \nbs,
+ a shorthand for the LaTeX command \nobreakspace.
+\standardtilde To return to the original definition of `~' use this
+ command.
+
+
+\CJKspace
+\CJKnospace Switch from CJK to CJK* `mode' (\CJKnospace) or
+ vice versa (\CJKspace).
+
+
+\CJKverbatim If the `verbatim' package is loaded it is possible
+ to improve the output automatically, namely, to
+ avoid breaking of overfull lines in a verbatim
+ environment. This command installs a hook to
+ suppress insertion of glue between CJK and Thai
+ glyphs.
+
+
+\CJKhanja
+\CJKhangul \CJKhanja deactivates the use of C61 font encoding
+ for hangul characters: All fonts used have C60 font
+ encoding. \CJKhangul is the opposite command. The
+ default is C61 for hangul.
+
+ Archaic hangul elements (KS 0xA4D5-0xA4FE) and the
+ character KS 0xA4D4 are only accessible if \CJKhanja
+ is active.
+
+ Both commands act globally if the `global' option is
+ set.
+
+ These commands make sense outside of a CJK
+ environment.
+
+
+\CJKhwkatakana
+\CJKnohwkatakana \CJKnohwkatakana deactivates the use of the C49
+ font encoding and maps half-width katakana
+ characters to full-width glyphs instead.
+ \CJKhwkatakana (the default) is the opposite
+ command.
+
+ Both commands act globally if the `global' option is
+ set; they have only effect for SJIS input encoding.
+
+ These commands make sense outside of a CJK
+ environment.
+
+
+\CJKtolerance If you get overfull \hbox'es caused by KS
+ characters, try to increase \CJKtolerance. The
+ default definition is
+
+ \newcommand{\CJKtolerance}{400} .
+
+ Increasing \emergencystretch may help also.
+
+ This command makes sense outside of a CJK
+ environment.
+
+
+\CJKuppercase If Big 5, SJIS, Bg5+, or GBK characters are used
+ non-preprocessed, the LaTeX command \MakeUppercase
+ is disabled (otherwise wrong CJK characters would be
+ selected). In the unlikely case that you really need
+ \MakeUppercase, use \CJKuppercase instead.
+
+ This restriction does not exist for preprocessed CJK
+ files, i.e., files processed with Bg5conv, SJISconv,
+ CEF5conv, CEFSconv, extconv, or cjk-enc.el, thus
+ \CJKuppercase is not defined in these cases.
+
+ \CJKuppercase acts globally if the `global' option
+ is set.
+
+
+\begin{Bg5text}
+...
+/end(Bg5text)
+
+\begin{SJIStext}
+...
+/end(SJIStext) Enable the use of Big 5/SJIS encoded characters
+ which contain `\', `{', and `}' as second bytes. See
+ CJK.txt for a complete discussion. You need these
+ environments only in rare cases where
+ bg5conv/sjisconv or cjk-enc.el can't be used.
+
+\begin{Bg5+text}
+...
+/end(Bg5+text)
+
+\begin{GBKtext}
+...
+/end(GBKtext) Enable the use of Big 5+/GBK encoded characters
+ which contain `\', `{', and `}' as second bytes. See
+ CJK.txt for a complete discussion. You need these
+ environments only in rare cases where extconv can't
+ be used.
+
+
+\Unicode{<byte1>}{<byte2>}
+\Unicode{<byte1><byte2>}{<byte3>}
+ Insert a Unicode character literally. <byte1>,
+ <byte2>, and <byte3> are the first, second, and
+ third byte of the Unicode character. You can use
+ decimal, hexadecimal, or octal notation. This
+ command can only be used within UTF 8 encoding. In
+ all other encodings you must say
+ \CJKchar[UTF8]{<byte1>}{<byte2>} or
+ \CJKchar[UTF8]{<byte1><byte2>}{<byte3>} instead.
+
+
+ Examples:
+
+ \Unicode{"23}{"45}
+ \Unicode{"25E}{"9A}
+
+\CJKCJKchar
+\CJKhangulchar
+\CJKlatinchar These commands control the handling of
+ intercharacter glue. Only defined for UTF8 encoding.
+ \CJKCJKchar selects CJK style (using \CJKglue),
+ \CJKhangulchar selects hangul style (using
+ \CJKtolerance) and \CJKlatinchar uses none. Default
+ is \CJKCJKchar.
+
+ Only 3-byte UTF-8 encoded characters (i.e., Unicode
+ characters in the range 0x800-0xFFFF) are affected;
+ two-byte encoded characters is handled as ordinary
+ characters (i.e., as if \CJKlatinchar were set).
+
+
+\CJKbold
+\CJKnormal These commands set and unset the \ifCJK@bold@ flag.
+ If set, boldface is emulated.
+
+ Both commands are intended to appear in
+ \DeclareFontShape commands only (usually in FD
+ files); see fonts.txt for further details.
+
+
+\CJKsymbol The CJK package uses this command instead of \symbol
+ to print a CJK character; it honours the
+ \ifCJK@bold@ flag: if set, boldface is emulated by
+ printing the character three times with slight
+ horizontal offsets. There should be hardly a reason
+ to ever use this command explicitly.
+\CJKsymbols A similar command specific to HLaTeX font support.
+ It takes two characters which are then mapped to the
+ final glyph using TeX's ligature mechanism.
+
+
+\CJKboldshift The horizontal shift used for imitating bold fonts.
+ Redefine this macro if the default value of 0.015em
+ is not satisfying.
+
+ These commands make sense outside of a CJK
+ environment.
+
+
+\CJKaddEncHook{<encoding>}{<body>}
+ This macro is primarily intended for packages. Use
+ it to append the code in <body> to a hook for
+ <encoding> which is executed each time <encoding> is
+ selected. For an example see CJKnumb.sty .
+
+
+---End of commands.txt---
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/dvidrv.txt b/language/chinese/CJK/cjk-4.8.4/doc/dvidrv.txt
new file mode 100644
index 0000000000..6f520d6c2d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/dvidrv.txt
@@ -0,0 +1,56 @@
+Using dvidrv.btm [emTeX for DOS and OS/2]
+-------------------------------------------
+
+This batch file does the same as mktexpk does; it is a replacement for
+dvidrv.exe of emTeX which can handle ttf2pk, hbf2gf, and ps2pk additionally
+(the ps2pk part is untested yet; it uses ps2pkmfj of the 4allTeX
+distribution and was basically copied from a similar script, also part of
+4allTeX).
+
+First of all, create and install a set of TFM files as described in the
+INSTALL file.
+
+Then configure the following variables in dvidrv.btm:
+
+ ps2pk ... set it to `yes' if you want to use this program
+ ttf2pk ... ditto
+ hbf2gf ... ditto
+
+ pkdir ... the place where PK files created by ps2pk, ttf2pk,
+ or hbf2gf should go to. dvidrv.btm adds
+ `\modeless\XXXdpi' or `\modeless\dpiXXX' to this
+ string (depending on the variables `pre_dpi' and
+ `post_dpi')
+
+ ttfonts ... where the TrueType fonts files reside
+ ttfcfg ... where the auxiliary data files of ttf2pk reside
+
+ hbfonts ... where the HBF files reside
+ hbfcfg ... the place where the hbf2gf configuration files are
+
+The last four variables in the above list support trailing `!' and `!!' for
+recursive directory searching (see the file dvidrv.doc of the emTeX package
+for details).
+
+Alternatively, you can set these variables in the environment; please note
+that no spaces are allowed before and after the equal sign, e.g.,
+
+ set foo=bar
+
+is OK, but
+
+ set foo = bar
+
+fails.
+
+Rename dvidrv.exe to dvidrv.ori or something similar and copy dvidrv.btm to
+a directory in the path.
+
+Don't forget to update the DVIDRVFONTS and TEXTFM environment variables if
+necessary.
+
+Under OS/2 dvips calls mfjob or hbf2gf itself; under DOS it creates a batch
+file which must be called afterwards.
+
+
+---End of dvidrv.txt---
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/fdxfiles.txt b/language/chinese/CJK/cjk-4.8.4/doc/fdxfiles.txt
new file mode 100644
index 0000000000..c4bdffa803
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/fdxfiles.txt
@@ -0,0 +1,111 @@
+This is the file fdxfiles.txt of the CJK macro package ver. 4.8.4
+(18-Apr-2015).
+
+
+Extended font definition files
+==============================
+
+The CJK package modifies LaTeX's font loading mechanism to input an extended
+font definition file (with suffix `.fdx') immediately after a normal font
+definition file (with suffix `.fd') has been loaded. A `.fdx' file is
+optional. Here a list of useful commands---note that neither whitespace nor
+linebreaks produce output while macros are defined in such files, which is
+quite convenient.
+
+Immediately after selecting the proper subfont for a given input character,
+the CJK package tests whether a macro
+
+ \<encoding>/<family>/<series>/<shape>/<plane>/<code>/<direction>
+
+is defined. If it exists, it is executed instead of calling \CJKsymbol.
+
+For halfwidth katakana, the macro is called
+
+ \<encoding>/<family>/<series>/<shape>/<code>/<direction>
+
+For fonts from HLaTeX the macro is called
+
+ \<encoding>/<family>/<series>/<shape>/<byte1>/<byte2>/<direction>
+
+For UTF-8, only characters in the range 0x800-0x10FFFF execute the test for
+this macro.
+
+<code>, <byte1> and <byte2> are decimal numbers; <direction> is either `v'
+or `h'.
+
+The following commands are intended for `.fdx' files:
+
+o For vertical writing, \CJKvdef should be used to (globally) define the
+ macros described above. It always prepends `<encoding>/<family>/'.
+ Example from c00bsmi.fdx:
+
+ \CJKvdef{m/n/01/1}{\def\CJK@plane{v}\selectfont\CJKsymbol{4}}
+
+ This defines macro `\C00/bsmi/m/n/01/1/v': If glyph 1 in subfont `01'
+ (`bsmilp01' in this example) should be typeset, it is replaced with
+ glyph 4 from subfont `v' (`bsmilpv').
+
+ \CJKhdef is the equivalent for horizontal writing.
+
+o Another macro is \CJKvlet, performing a global \let. Example (again
+ from c00bsmi.fdx):
+
+ \CJKvlet{bx/n/01/1}{m/n/01/1}
+
+ This makes `\C00/bsmi/bx/n/01/1/v' the same as `\C00/bsmi/m/n/01/1/v'.
+
+ \CJKhlet is the equivalent for horizontal writing.
+
+CJKvert.sty provides additional macros:
+
+o Glyphs which shouldn't be rotated are available with \CJKsymbolsimple.
+ Here an example from c10gbsn.fdx:
+
+ \CJKvdef{m/n/01/17}{\CJKsymbolsimple{17}}
+
+ If glyph 17 in subfont `01' (`gbsnlp01') is requested, it is replaced
+ with itself but unrotated.
+
+o Some correction parameters are available to position glyphs of a given
+ font (i.e., all subfonts) while \CJKvert is active.
+
+ \CJKvdef{norotate}{}
+
+ The default of CJKvert.sty is to rotate all glyphs using the graphicx
+ package. If `norotate' is present in a `.fdx' file, glyphs accessed
+ with \CJKsymbol are not rotated. `fullheight', `height' and `offset'
+ are used only if `norotate' is not set.
+
+ \CJKvdef{fullheight}{<dimension>}
+
+ If defined, it sets the full height (height plus depth) of all CJK
+ glyphs accessed with \CJKsymbol to <dimension>. In most cases this
+ value is 1em.
+
+ \CJKvdef{height}{<dimension>}
+
+ If defined, it defines the height of all CJK glyphs accessed with
+ \CJKsymbol. Consequently, the depth is set to `fullheight - height'.
+ For example, the AFM file for `bsmilp01' gives 879 PS units for the
+ `Ascender' value. Since 1em is 1000 PS units, a proper value for
+ the `height' parameter is 0.88em.
+
+ \CJKvdef{offset}{<dimension>}
+
+ If defined, shift the (rotated) glyphs accessed with \CJKsymbol
+ vertically by <dimension>.
+
+ \CJKvdef{simpleoffset}{<dimension>}
+
+ If defined, shift all glyphs accessed with \CJKsymbolsimple vertically
+ by <dimension>.
+
+o The `offset' parameter is available to position glyphs of a given
+ font (i.e., all subfonts) while \CJKhorz is active.
+
+ \CJKhdef{offset}{<dimension>}
+
+ If defined (and \CJKhorz being active), shift the glyphs accessed
+ with \CJKsymbol vertically by <dimension>.
+
+---End of fdxfiles.txt---
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/fonts.txt b/language/chinese/CJK/cjk-4.8.4/doc/fonts.txt
new file mode 100644
index 0000000000..b68a82838f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/fonts.txt
@@ -0,0 +1,311 @@
+This is the file fonts.txt of the CJK macro package ver. 4.8.4
+(18-Apr-2015).
+
+The fonts
+---------
+
+This file describes how to set up CJK fonts inside of LaTeX 2e. For a
+description how to install TrueType or bitmap fonts please refer to the
+INSTALL file.
+
+
+CJK.sty uses NFSS (New Font Selection Scheme, part of LaTeX 2e) which has
+some advantages over the font selection offered with pmC (for plain TeX and
+LaTeX 2.09):
+
+ o TeX fonts are loaded only on demand. This is especially useful with
+ Asian logographs. If you have e.g., three Chinese characters in your
+ text, pmC must load the whole Chinese font (about 85 TeX subfonts),
+ whereas LaTeX 2e loads only three subfonts normally.
+
+ o As long as the limit of 256 TeX fonts is not exceeded, you can use
+ as many CJK fonts as you like (e.g., simplified and traditional
+ Chinese characters together with Japanese fonts in different sizes)
+ ---pmC is limited to two sizes and can only have two CJK fonts at
+ the same time.
+
+ In the web2c TeX package (for Unix) you find a patch which allows
+ the use of more than 256 TeX fonts (up to about 1000; this is a
+ standard feature of web2c 7.2 and newer versions).
+
+ Omega can use up to approx. 65000 fonts.
+
+ o You need not care about the right size of CJK fonts in footnotes,
+ etc. They obey the NFSS (except encoding).
+
+ Of course you must have access to CJK fonts.
+
+ . Use pdftex and dvipdfmx which can handle TrueType fonts directly.
+ It is very easy to set up dvipdfmx for handling CJK subfonts; with
+ pdftex this is more complicated. See the file doc/pdf/HOWTO.txt
+ for more information.
+
+ . Use fontforge to convert TrueType fonts to PS subfonts. Such
+ subfonts work with virtually all dvi drivers. The directory
+ utils/subfonts contain some scripts which help in the conversion
+ process.
+
+ . Use hbf2gf for HBF pixel fonts to convert them to TFM and PK
+ fonts.
+
+ . Use ttf2pk (and ttf2tfm) to convert TrueType fonts to TFM and PK
+ fonts.
+
+If you chose one font per active character as with the pmC macros, you would
+waste character space (256 characters per font are possible starting with
+TeX 3). Therefore CJK.sty expects the whole CJK font split in TeX subfonts
+with 256 characters each.
+
+An example:
+
+ GuoBiao-encoded simplified characters in song style at 12pt:
+ ^ ^ ^^ ^^
+
+ first byte second byte TeX subfont offset
+ -----------------------------------------------
+ 0xA1 0xA1-0xFE gsso1201 0
+ 0xA2 0xA1-0xFE gsso1201 94
+ 0xA3 0xA1-0xE4 gsso1201 188
+ 0xA3 0xE5-0xFE gsso1202 0
+ 0xA4 0xA1-0xFE gsso1202 26
+ 0xA5 0xA1-0xFE gsso1202 120
+ .
+ .
+ .
+ 0xFE 0xA1-0xFE gsso1235 38
+
+
+To convert bitmap fonts to PK files with hbf2gf, you must get the
+appropriate HBF (Hanzi Bitmap Font) header files or create if you can't find
+the right one; these HBF files document CJK fonts completely.
+
+The HBF specification can be found here:
+
+ http://www.ibiblio.org/pub/packages/ccic/software/info/HBF-1.1/
+
+Various bitmap fonts together with HBF header files are collected here:
+
+ http://www.ibiblio.org/pub/packages/ccic/software/fonts/
+
+
+The font definition files
+-------------------------
+
+CJK fonts can be installed as easy as normal TeX fonts! (Well, probably this
+is the first time you have to install a font for TeX---I strongly recommend
+that you process and read the `fntguide' documentation which is part of the
+LaTeX 2e base package. There you can also find a description of size
+commands.)
+
+CJK.sty defines six new size commands:
+
+ `CJK' corresponds to `' (empty)
+ `sCJK' corresponds to `s'
+ `CJKfixed' corresponds to `fixed'
+ `sCJKfixed' corresponds to `sfixed'
+ `CJKsub' corresponds to `sub'
+ `CJKssub' corresponds to `ssub' .
+
+For dnp fonts (i.e., real dnp fonts and Watanabe dnp fonts) and Watanabe
+jfonts (which both use the same font encoding scheme) two additional
+commands are provided:
+
+ `DNP' corresponds to `' (empty)
+ `DNPgen' corresponds tp `gen' .
+
+Note that PS Wadalab fonts don't use these size functions (but are still in
+DNP font order).
+
+For poor-man's boldface these size commands have been defined:
+
+ `CJKb', `sCJKb', `CJKfixedb', `sCJKfixedb', `DNPb', `DNPgenb' .
+
+They are completely identical to its counterparts without the final `b'. The
+only reason to use them is to make the fifth parameter of \DeclareFontShape
+for bold series different from the one for medium series (LaTeX2e uses this
+parameter as a macro name to execute loading-settings, thus they must not be
+equal).
+
+The difference between the size functions just introduced and the original
+commands defined by LaTeX 2e is that a CJK size function defines a class of
+fonts: if you say as an example
+
+ \DeclareFontShape{C00}{song}{m}{n}{<6> <7> <8> sCJKfixed * b5so07}{} ,
+
+LaTeX 2e searches for fonts named b5so0701 - b5so0755 if the font size is 6,
+7, or 8 pt; in other words, the CJK size functions append two digits to the
+font name to select the proper subfonts. These digits are defined in the
+`\CJK@...Encoding' macros; the macro \CJK@plane holds the current value (in
+pmC compatibility mode and for UTF8 encoding, \CJK@plane holds hexadecimal
+numbers; see JISdnp.enc for the dnp subfont names which are again
+different).
+
+Here a more detailed example:
+
+ \DeclareFontFamily{C10}{fs}{}
+
+ \DeclareFontShape{C10}{fs}{m}{n}{<-> CJK * gsfs14}{}
+ \DeclareFontShape{C10}{fs}{bx}{n}{<-> CJKb * gsfs14}{\CJKbold}
+
+This defines a GB encoded font (LaTeX font encoding `C10') which has
+fangsong shape (fs) in medium series (m) and emulated bold extended (bx)
+series. The names of the subfonts are gsfs1401 - gsfs1432; all sizes are
+available. (This is actually a font definition for a bitmap font which
+corresponds to a size of 14pt if the printer resolution were 300 dpi; hbf2gf
+magnifies it to any desired size.)
+
+The corresponding CJK environment would be
+
+ \begin{CJK*}{GB}{fs}
+ ...
+ \end{CJK*} .
+
+To be consistent with the CJK package it is recommended that for each font
+shape `m' and `bx' series are defined (some PS font styles from PSNFSS
+define `b' instead of `bx'; in this case you should add a font substitution
+entry in the FD file). The default CJK FD files define a `song' shape for
+each encoding except for KS so that
+
+ \begin{CJK*}{your-encoding}{}
+ ...
+ \end{CJK*}
+
+works (note the empty last parameter). See below for an additional reason.
+
+Here a table of the CJK (font) encodings and the corresponding NFSS font
+encodings.
+
+ Chinese: Bg5 C00
+ Bg5pmC C01
+ Bg5+ C09
+
+ GB C10
+ GBpmC C11
+ GBK C19
+
+ GBt C20
+ GBtpmC C21
+
+ CNS1-7 C31-37
+
+ Japanese: JIS C40
+ JISpmC C41
+ JISdnp C42
+ JISwn C43
+
+ JIS2 C50
+ JIS2dnp C52
+
+ SJIS -> kana C49 (additionally)
+
+ Korean: KS -> hanja C60
+ -> hangul C61
+ KSpmC C62
+ KSHL -> hangulHL C63
+ -> symbolHL C64
+ -> hanjaHL C65
+
+ Unicode: UTF8 C70
+
+ CEF: CEFX C80
+ CEFY C81
+
+ [Thai: C90]
+
+
+Some remarks:
+
+ o An NFSS font encoding for the CJK package consists of the letter `C'
+ followed by two digits; the first represents the CJK (input)
+ encoding, the second the CJK font encoding. Some CJK encodings need
+ more than one NFSS encoding to fully represent all characters.
+
+ Note: Since LaTeX version 1996/12/01, the name of an FD file
+ consists only of lowercase letters, e.g., c00fs.fd.
+
+ o You can't use the NFSS encodings (as defined above) directly! You
+ should always use the CJK interface (the exception is Thai; please
+ read cjk-enc.txt and thaifont.txt for details).
+
+ o According to the NFSS rules the family name must not be longer than
+ five characters. In early versions of CJK the family `fangsong' was
+ used. This is no longer allowed and has been replaced with `fs'.
+
+ This restriction is mainly for ancient operating systems like MS-DOS
+ which are limited to 8.3 filenames; today, there is no reason any
+ more to artificially shorten the family name.
+
+ o If you declare an NFSS font encoding in the standard way the
+ corresponding FD file for the default font is loaded. Since a font
+ encoding can be defined only in the preamble, all CJK font encodings
+ must be registered before the document starts even if you use only
+ one or two encodings. For the CJK package this would cause the
+ loading of almost 30 font definition files (see the table above)
+ which is inacceptable.
+
+ To avoid this overhead NFSS is faked with some rudimentary
+ definitions just enough to pass the NFSS tests of LaTeX 2e. Of
+ course this has a disadvantage: an unknown CJK family causes an
+ error instead of switching to the fallback family usually defined
+ with \DeclareFontSubstitution. Nevertheless, replacing an undefined
+ series or shape works correctly.
+
+
+Setting up cyberbit.ttf for UTF-8 encoding
+------------------------------------------
+
+Note 1: I strongly discourage the use of this font, especially for CJKV
+ scripts. The main reason is that correct glyph shapes depend on the
+ language; this means that a glyph representation form for a given
+ Unicode value looks differently in Japanese, Korean, and Chinese (a
+ famous example is character U+9038). Cyberbit doesn't provide such
+ different glyph shapes.
+
+Note 2: The following describes a setup for dvipdfmx only. Furthermore, it
+ assumes a recent TeXLive installation.
+
+
+1. Copy cyberbit.ttf to your local TeXLive tree; a proper location is
+
+ <TeXLive>/texmf-local/fonts/truetype/cyberbit/
+
+ (on e.g. Windows) or
+
+ ~/texmf/fonts/truetype/cyberbit/
+
+ (on e.g. GNU/Linux) or something similar. <TeXLive> indicates the root
+ directory of TeXLive's texmf tree, for example C:\TeXLive2007 or
+ /usr/local/texlive2007.
+
+2. In the file <TeXLive>/texmf/fonts/map/dvipdfm/dvipdfmx/cid-x.map there is
+ already an entry for cyberbit.ttf. Remove the comment character in front
+ of the line.
+
+3. Change to an empty directory and create TFM files with the following call
+ on the command line:
+
+ ttf2tfm cyberbit.ttf -q cyberb@Unicode@
+
+4. Move all resulting TFM files to
+
+ <TeXLive>/texmf-local/fonts/bitstrea/cyberb/
+
+ or
+
+ ~/texmf/fonts/bitstrea/cyberb
+
+ or something similar.
+
+5. Say
+
+ mktexlsr
+
+ on the command line to regenerate TeXLive's file name database.
+
+
+That's it. Within the CJK package, the font can be activated with
+
+ \begin{CJK}{UTF8}{song}
+
+
+---End of fonts.txt---
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/hbf2gf.txt b/language/chinese/CJK/cjk-4.8.4/doc/hbf2gf.txt
new file mode 100644
index 0000000000..1ebc4e2ccc
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/hbf2gf.txt
@@ -0,0 +1,382 @@
+This is the file hbf2gf.txt of the CJK macro package ver. 4.8.4
+(18-Apr-2015).
+
+Using hbf2gf
+-------------
+
+hbf2gf converts CJK bitmaps with an HBF header file into GF files.
+
+Additional documentation can be found in the man page utils/hbf2gf/hbf2gf.1
+(pre-formatted versions of this document can be found in the `cjk-doc'
+bundle of CJK).
+
+
+Syntax:
+
+ hbf2gf [-q] configuration_file[.cfg]
+ hbf2gf [options] subfont_name x_resolution [y_scale | y_resolution]
+ hbf2gf -t [-q] font_name
+ hbf2gf --version | --help
+
+Options:
+ -q make hbf2gf quiet
+ -p don't create a PL file
+ -g don't create a GF file
+ -n use no resolution in extension (only `.gf')
+ -t test for font_name (returns 0 on success)
+
+
+Keywords in the configuration file must start a line, the appropriate values
+being on the same line separated with one or more blanks or tabs.
+Environment variables names start with `$'; to get a dollar sign you must
+type `$$'.
+
+The expansion of environment variables in hbf2gf itself (without the help of
+the kpathsea library) is very limited; this feature has been carried over
+from previous versions. It can't expand variables set in texmf.cnf; it also
+can't handle more than one directory as the variable's value. Don't use it
+except for the `pk_directory' and `tfm_directory' parameters!
+
+Here is an example configuration file gsfs14.cfg (please refer to hbf2gf.1
+and hbf2gf.dvi for a description of the keywords) to be run under OS/2:
+
+hbf_header jfs56.hbf
+mag_x 1
+design_size 14.4
+
+y_offset -13
+comment jianti fansongti 56x56 pixel font scaled and adapted to 14.4pt
+
+nmb_files -1
+tfm_files yes
+
+output_name gsfs14
+
+checksum 123456789
+
+dpi_x 300
+
+coding codingscheme GB 2312-80 encoded TeX text
+
+pk_directory $HBF_TARGET\pixel.lj\432dpi\
+tfm_directory $HBF_TARGET\tfm\
+
+rm_command del
+cp_command copy
+long_extension off
+job_extension .cmd
+
+
+Installation of a complete set of subfonts
+------------------------------------------
+
+Here are the results of a sample run of the above configuration file
+(assuming that the environment variable %HBF_TARGET% points to d:\china):
+
+ input files: jfs56.a - jfs56.e, jfs56.hbf
+
+ program call: hbf2gf gsfs14.cfg
+
+ intermediate files: gsfs14.cmd, gsfs1401.gf - gsfs1432.gf, gsfs14.pl
+
+ batch file call: gsfs14.cmd
+
+ output files: d:\china\pixel.lj\432dpi\gsfs1401.pk - gsfs1432.pk,
+ d:\china\tfm\gsfs1401.tfm - gsfs1432.tfm
+
+
+[gsfs: GuoBiao simple encoded FanSong style
+ ^ ^ ^ ^
+It's hard to overcome the DOS restriction of 8 characters in a file name if
+you need two characters as a running number...]
+
+
+Using MakeTeXPK or mktexpk
+--------------------------
+
+*****************************************************************************
+* *
+* For teTeX >=1.0 and web2c >= 7.3.1, no patches are necessary for either *
+* mktexpk or mktextfm. *
+* *
+*****************************************************************************
+
+The simpler way to create PK fonts is to apply the patches in the
+utils/hbf2gf/scripts directory. In case you can't become root make sure that
+the patched file is found in the path *before* the original MakeTeXPK (or
+mktexpk) script.
+
+First of all, move the HBF files together with the bitmap font files to its
+final destination which has to be added to the variables $MISCFONTS, which
+can be either modified in texmf.cnf or set in the environment (please read
+the kpathsea info files how to do that). Now do the same with all `.cfg'
+files; the corresponding configuration variable is $HBF2GFINPUTS.
+
+Then, create a set of TFM files for the specified CJK bitmap font. This
+should be done with the hbf2gf configuration parameters `tfm_files yes' and
+`pk_files no' (to be modified in the `.cfg' files; see hbf2gf.dvi for a
+detailed description of all needed keywords). After calling the produced
+shell script the TFM files are installed. Note that if you change any hbf2gf
+parameters which alter the appearance of the font (the metrics, to be more
+exact) you must repeat this step so that TFM and PK files fit together.
+
+The previous step can be omitted in case you patch MakeTeXTFM or mktextfm
+too so that TFM files can be created on-the-fly.
+
+Please note further that in case you write a new hbf2gf configuration file,
+the name of that file must be the name stem of the CJK subfont (as defined
+in the appropriate FD file and the hbf2gf configuration file) plus `.cfg':
+
+ Example:
+
+ searched: gsfs1021.pk
+ configuration file: gsfs10.cfg
+
+The final step for web2c 6.x or teTeX 0.4 is to edit texmf.cnf (the kpathsea
+configuration file, usually in /usr/local/lib/texmf/web2c) and change the
+two variables
+
+ $PKFONTS.xdvi
+ $PKFONTS
+
+by appending
+
+ :$pkdir/hbf2gf
+
+to define an own `mode' for hbf2gf, similar to the modes `cx', `ljfour',
+etc. The TeX Directory Structure (TDS) standard suggests `modeless' for this
+name which is already defined in teTeX 1.0 and web2c 7.x.
+
+Example:
+
+ PKFONTS.xdvi=.:$pkdir/$MAKETEX_MODE:$pkdir/gsftopk:
+ $pkdir/ps2pk:$pkdir/hbf2gf
+ PKFONTS=.:$TEXMF/fonts//pk/$MAKETEX_MODE:$pkdir/hbf2gf
+
+The line break above is given for convenience only and should not appear
+in the texmf.cnf file (no space before and after the `:').
+
+[If you cannot become root, copy texmf.cnf into your home directory and do
+the modifications there; make sure that your personal config file is found
+in the search path first since web2c uses the first definition of each
+variable encountered.]
+
+If you use hbf2gf with two parameters (as in MakeTeXPK), only one GF file
+and one PL file is produced, and no batch file is created; the `pk_files'
+parameter is ignored. You can control with the switches -g and -p whether a
+GF or PL file is created at all.
+
+
+Using dvidrv.btm [emTeX for DOS and OS/2]
+-------------------------------------------
+
+This batch file does the same as MakeTeXPK and mktexpk; it is a replacement
+for dvidrv.exe of emTeX which can handle ttf2pk, hbf2gf, and ps2pk
+additionally (the ps2pk part is untested yet; it uses ps2pkmfj of the
+4allTeX distribution and was basically copied from a similar script, also
+part of 4allTeX).
+
+First of all, create and install a set of TFM files as described in the
+previous section.
+
+Then configure the following variables in dvidrv.btm:
+
+ ps2pk ... set it to `yes' if you want to use this program
+ ttf2pk ... ditto
+ hbf2gf ... ditto
+
+ pkdir ... the place where PK files created by ps2pk, ttf2pk,
+ or hbf2gf should go to. dvidrv.btm adds
+ `\modeless\XXXdpi' resp. `\modeless\dpiXXX' to this
+ string (depending on the variables `pre_dpi' and
+ `post_dpi')
+
+ ttfonts ... where the TrueType fonts files reside
+ ttfcfg ... where the auxiliary data files of ttf2pk reside
+
+ hbfonts ... where the HBF files reside
+ hbfcfg ... the place where the hbf2gf configuration files are
+
+The last four variables in the above list support trailing `!' and `!!' for
+recursive directory searching (see the dvidrv.doc of the emTeX package for
+details).
+
+Alternatively, you can set these variables in the environment; please note
+that no spaces are allowed before and after the equal sign, e.g.,
+
+ set foo=bar
+
+is OK, but
+
+ set foo = bar
+
+fails.
+
+Rename dvidrv.exe to dvidrv.ori or something similar and copy dvidrv.btm to
+a directory in the path.
+
+Don't forget to update the DVIDRVFONTS and TEXTFM environment variables if
+necessary.
+
+Under OS/2 dvips calls mfjob or hbf2gf itself; under DOS it creates a batch
+file which must be called afterwards.
+
+
+Adjusting the font parameters
+-----------------------------
+
+It is possible to convert bitmap fonts to PK files almost automatically. The
+HBF header file already has the entry `HBF_BITMAP_BOUNDING_BOX' which
+defines vertical and horizontal offsets (in pixels), but these values are
+not in all cases optimal for the desired target size. If you omit `x_offset'
+and `y_offset' in the CFG file, the third and fourth parameter of
+`HBF_BITMAP_BOUNDING_BOX' is used (except for rotated glyphs), scaled to
+design size (to say it in other words: x_offset and y_offset always apply to
+the design size to be synchronous with the TFM files).
+
+Don't confuse scaling and magnification: Scaling here means that you choose
+a (arbitrary) design size and compute scaling values (mag_x and mag_y; the
+parameter names are a bit misleading) which scales the bitmap to this
+particular design size at a certain (arbitrarily chosen) resolution (dpi_x
+and dpi_y). Magnification means that the scaled bitmap is then magnified to
+a certain target size while still using the font parameters (i.e., TFM file)
+of the design size.
+
+In the sample, you have a 56x56 bitmap font which is scaled to 14.4pt having
+a resolution of 300 dpi; here we compute the theoretical scaling value to
+reach the design size (14.4pt):
+
+ 1 pt are 300 / 72.27 = 4.1511 pixel;
+ 14.4 pt are 4.1511 x 14.4 = 59.78 pixel;
+ thus the theoretical magnification value is 59.78 / 56 = 1.0675 .
+
+But especially for small sizes, this may be not the best value if the font
+should harmonize with, say, Knuth's Computer Modern fonts. I recommend to to
+compute, say, five PK fonts, then check the CJK font with different TeX
+fonts to see whether the offsets and/or the magnification value is good. The
+greater the design size the finer you can control the offsets---as an
+example you could use a design size of 30pt (nevertheless there is an
+arbitrary compile-time constant MAX_CHAR_SIZE which limits the maximal
+character size; default is 1023 pixels).
+
+Testing has shown that in the above example a magnification value of 1 is
+better than 1.07; additionally if you use this font at 14.4pt you get the
+original bitmap without any distortions introduced by scaling.
+
+If you have found optimal offsets, you can produce many different
+magnifications of the CJK font using the same set of TFM files in analogy to
+ordinary TeX fonts; as a simplification, we assume that PK files with a
+resolution of XXXdpi and a design size of 10pt have the extension `.XXXpk'
+(respectively come into a `XXXdpi' subdirectory)---this is the reason why in
+the above example for the 14.4pt design size with 300dpi a `432dpi' target
+directory has been used. Now we can use the following formula:
+
+ your_target_size
+ needed_dpi = your_horizontal_resolution * ----------------
+ 10.0
+
+Example: Assuming that your printer has a resolution of 300 x 400dpi,
+and you want 14.4pt:
+
+ 14.4
+ 300 * ---- = 432
+ 10.0
+
+The vertical scaling value is 400 / 300 = 1.3333. Use these values now to
+call hbf2gf in METAFONT--like mode:
+
+ hbf2gf hbf2gf.cfg 432 1.3333
+
+Assuming you have created a complete set of hanja fonts (ksmj10) for 10pt
+design size, the proper entry in c60mj.fd would be
+
+ \DeclareFontShape{C60}{mj}{m}{n}{<5><6><7><8><9><10>
+ <10.95><12><14.4>
+ <17.28><20.74><24.88> CJK * ksmj10}{}
+
+If you use the (modified) mktexpk to create PK fonts on demand it is
+sufficient to write
+
+ \DeclareFontShape{C60}{mj}{m}{n}{<-> CJK * ksmj10}{}
+
+if one CJK bitmap font should cover the whole size range.
+
+
+Compiling hbf2gf
+----------------
+
+You need an ANSI C compiler.
+
+Under Unix-like systems say
+
+ ./configure --prefix=/usr/local/TeX \
+ --with-kpathsea-include=<INCLUDEDIR> \
+ --with-kpathsea-lib=<LIBDIR>
+ make
+ make install
+
+for a normal compilation and installation. Replace `/usr/local/TeX' with a
+path to your TeX distribution.
+
+[Note 1:
+ Try to find `libkpathsea.*' on your system. Use this directory as the
+ argument for --with-kpathsea-lib. Then try to find `kpathsea/tex-file.h'
+ and use the parent directory of kpathsea as the argument for
+ --with-kpathsea-include. This should work in most cases. If you can't find
+ the library, you probably have a web2c package with statically linked
+ binaries. This means that you have to get the web2c sources from CTAN,
+ configure it with something like
+
+ ./configure --prefix=/usr/local/TeX --datadir=/usr/local/TeX \
+ --enable-shared --disable-static
+
+ according to your setup; then change to the kpathsea directory and say
+ `make' and `make install' (Do the latter with caution not to overwrite
+ original binaries like kpsewhich).
+
+ It even works with the source tree from the TeX Live CD! You just have
+ to add a proper --srcdir option to the configure script.
+
+ Note 2:
+ It seems that c-auto.h created during the kpathsea library compiling
+ process won't be installed for some older web2c versions. You should add
+ it manually, i.e., copy <web2c source tree>/kpathsea/c-auto.h to the
+ location where the other kpathsea header files have been installed.
+
+ Note 3:
+ As a last resort or for testing purposes, you can even compile hbf2gf
+ without any search library; a simple call to fopen() is used instead.]
+
+
+
+Use Makefile.gnu for emx + GNU make and say
+
+ make -f Makefile.gnu
+
+to get a help screen with the possible options.
+
+[Note: It should work with djgpp too, but I haven't tested this.]
+
+
+If necessary, `touch' hbf2gf.c (in case you don't have ctangle) to made the
+time stamp of the file more recent; otherwise, the `make' program complains.
+
+Under some older SunOS versions, gcc (without the GNU C-library) has
+problems; if possible, install the GNU C-library. Otherwise you get a bunch
+of warning messages about missing prototypes which can be ignored. The only
+missing function is strtoul(). If your system has gdb or some other GNU
+utils, you are almost done. Search for the libiberty.a library (usually in
+/usr/local/lib), copy it into the hbf2gf subdir and link it with the other
+modules:
+
+ LDFLAGS=-liberty ./configure ...
+
+If you don't have libiberty, replace strtoul() with strtol() in the hbf2gf.w
+(or hbf2gf.c) file.
+
+It was reported that on the NeXT an older version of gcc has difficulties to
+process the '%i' printf parameter correctly; simply replace all occurrences
+with '%d' (most notably in hbf.c).
+
+
+---End of hbf2gf.txt---
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/history.2_5 b/language/chinese/CJK/cjk-4.8.4/doc/history.2_5
new file mode 100644
index 0000000000..a9d29ef4c4
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/history.2_5
@@ -0,0 +1,202 @@
+This file is part of the CJK package Ver. 4.8.4 (18-Apr-2015).
+
+The history of the beta versions of the never released version 2.5 .
+--------------------------------------------------------------------
+
+Changes beta 1 -> beta 2:
+ hbf2gf: faster (search_min_max() removed)
+ feof() seems to be broken under Amiga gcc 2.6.3; replaced with
+ == EOF, etc.
+ some small bug fixes and typos
+ default value of target_size is now design_size (and not 10 pt)
+
+Changes beta 2 -> beta 3:
+ ttf2pk: ttfdir must now be defined only once (in MakeTeXPK/maketexp.btm)
+ ttf2pkl instead of ttf2pk at some places erroneously used
+ an updated (and modified) version of MakeTeXPK is used
+ Makefile under Unix erroneously used FS=MSDOS
+
+Changes beta 3 -> beta 4:
+ ttf2pk: MakeTeXPK couldn't create DC fonts correctly.
+ MakeTeXPK couldn't use already created .pk fonts in some cases;
+ you must now change the PKFONTS and PKFONTS.xdvi variable in
+ the kpathsearch configuration file (texmf.cnf) to add
+ `:$pkdir/ttf2pk'
+ ttf2pk.doc added
+ InstallFont added
+ hbf2gf: all float types changed to double. This makes life easier under
+ Amiga
+ pinyin.sty added
+ \CJKcaption command added
+ some caption files added. Works with the koma-script style files
+ included here (see below). Most of them are not complete now
+ wrong punctuation character offsets in Bg5.chr corrected
+ koma-script style files added. Note: this is only temporary until the
+ next official release of the koma-script package
+
+Changes beta 4 -> beta 5:
+ \CJK@enc replaced with specific encodings where possible
+ SJIS encoding scheme added (SJIS.enc, SJISconv.tex, etc.). Doesn't
+ currently work with CEF.sty
+ new commands \CJKCJK, \CJKhangul, and \CJKlatin for UTF8 encoding
+* handling of intercharacter glue enhanced. Now there is no \CJKglue
+* before and after a block of CJK characters. Note that this is a
+* visually incompatible change to the previous versions of CJK!
+* (see the command \CJKtilde also)
+ koma-script package removed (you should use the latest official release
+ now); caption files updated
+ mule2cjk added
+ \CJKtilde and \standardtilde added
+ MakeTeXPK hard linked into utils/hbf2gf
+
+Changes beta 5 -> beta 6:
+ gmulatex script added
+ \CJKhangul erroneously defined twice: \CJKCJK renamed into \CJKCJKchar,
+ \CJKhangul (in UTF 8 environment) into \CJKhangulchar, \CJKlatin into
+ \CJKlatinchar
+ the `global' option didn't work correctly; many \CJK@global's added
+ new command \CJKencshape to specify shapes on a per encoding base
+ \CJKchar didn't work in preprocessed mode
+ hbf2gf: new keyword `pk_files' (yes/no)
+ new calling mode for use with MakeTeXPK:
+ hbf2gf configuration_file [subfont_number resolution]
+ hbf2gf.cfg renamed to b5so12.cfg (MakeTeXPK needs this name)
+ some .cfg files added
+ other small changes
+ MakeTeXPK: taken from contrib/ttf2pk and enhanced to create CJK .pk
+ files on demand from bitmap files
+ name of the mode subdir changed from `(.../pk/)ttf2pk' to
+ `(.../pk/)CJK'.
+ maketexp.btm: similar changes as for MakeTeXPK; hard linked into
+ utils/hbf2gf
+ makettfp.btm: hard linked into utils/hbf2gf
+ latin-3 and latin-4 added to mule2cjk
+
+Changes beta 6 -> beta 7:
+ according to the newest LaTeX2e release, \MakeUppercase is disabled
+ instead of \uppercase in some cases.
+ a severe bug disabled Korean encoding
+ the encoding switching mechanism was broken; again many \CJK@global's
+ added
+ some commands which should be active only in certain encodings redefined
+ to work with the `global' option (Bg5text environment, \mj, etc.)
+ to use the Japanese DNP fonts, an encoding `JISdnp' and two size
+ functions (`DNP' and `DNPgen') are added
+* a new unifying fontencoding scheme has been introduced:
+* max. 4 characters encoding + max. 3 characters fontencoding
+* examples:
+* JISdnp, JISpmC, etc.
+* this change causes many files to be renamed (e.g.,
+* Uhanja.fd->Uhanj.fd); there is also a bunch of new/redefined functions
+* to support this:
+* \CJKenc
+* \CJKfontenc
+* \CJKshape
+* \CJKencshape
+* CJK and CJK* environment
+* SOME OF THE ABOVE CHANGES ARE NOT COMPATIBLE WITH PREVIOUS VERSIONS!
+ CJK characters in verbatim environments are now treated correctly
+ by mule2cjk. Latin-encodings still don't work there
+ hbf2gf: the collection of configuration files has been harmonized in
+ size
+
+changes beta 7 -> 3.0:
+ the protection mechanism has been completely rewritten. Encoding changes
+ now work in sectioning commands too.
+
+ the pseudo-\if's has been replaced with real if's to avoid problems with
+ nested \if...\else...\fi constructions.
+
+ CNS directory renamed to CEF.
+
+ CEF macros CX, CY and U implemented. Font definition files for CX and CY
+ encodings added.
+
+ CEF now works with SJIS encoding too. CEFSconv added.
+
+ CNS.sty removed. Has been integrated into CJK.sty .
+
+ there are now three internally used active characters:
+ ^^80, ^^A0: used by mule2cjk
+ ^^ff : used by CEFconv and mule2cjk.
+ we need those characters for verbatim environments.
+
+ a new internal level introduced:
+ we now have
+
+ active characters
+ |
+ +--------------> bindings (normal, preprocessed) <- new
+ |
+ active character macros
+ |
+ +--------------> encodings (GB, Bg 5, ...) +
+ | font encodings (none, dnp, pmC)
+ |
+ subfont selecting macros
+ |
+ +--------------> character macro sets (standard, Big 5, ...)
+ |
+ character selecting macros
+
+ all encodings except UTF 8 now work in preprocessed mode too.
+
+ some additional checks whether a loading of a certain binding/encoding/
+ character set is neccessary.
+
+ a new style option has been added: `active'. If activated, bindings are
+ local. Default is still `local' (with global bindings). You need this
+ option if you want to mix preprocessed text with non-preprocessed text
+ in nested CJK environments. This can happen if you merge texts in
+ various encodings.
+
+ the offset for the roma subfont of dnp font encoding was incorrect.
+
+ watanabe (a PD replacement of dnp fonts) font encoding for JIS added.
+
+ \CJKchar has now an optional parameter to select the encoding. You can
+ also use this command with Unicode encoding; additionally you can
+ enter characters with or without the 8th bit set (GL or GR form)
+ except for SJIS, Bg5 and UTF8 encoding.
+
+ two new size functions: `CJKsub' and `CJKssub'. They are similar to
+ `sub' and `ssub' except that the font substitution warnings appear
+ only once per CJK fontset. All .fd files updated.
+
+ MULEenc.sty added. Is loaded automatically after a file has been
+ processed with mule2cjk.
+
+ Latin encodings now work in verbatim environments also.
+
+ switch -g from mule2cjk has been removed. It was never necessary since
+ `"' and `\"' in german.sty select the same macro.
+
+ mule2cjk now inserts LaTeX2e macros (\textexclamdown, \textcent, etc.)
+ analogously to the latin[12].def files of the LaTeX2e distribution
+ (where applicable) for Latin encoded characters.
+
+ the batch file muclatex processes mule encoded files which contain
+ CEF macros.
+
+ Stephen Simpson <simpson@math.psu.edu> contributed a Bg 5 .fd file for
+ NTU TT fonts (ntu2cjk and ttf2pk).
+
+ pinyin.sty didn't work in tabbing environments; the syllable \me was
+ missing; the syllables \Na and \na were wrongly defined (Michael E.
+ Deisher <deisher@enws261.eas.asu.edu>).
+
+ pinyin.sty now accepts DC fonts too.
+
+ all .bat and .cmd files now have LF/CR pairs as newlines.
+
+ .bat and .cmd batch files added for all equivalent script files in the
+ utils directory. It might be useful to replace the TeX-coded
+ preprocessors with this filters since they are faster.
+
+ all .bat and .cmd files call f_name.bat (f_name.cmd) to replace the
+ extension (usually .tex) with .cjk .
+
+ hbf2gf always used 300dpi resolution if used in mf-like mode (Zhang
+ Zhengyou <ZhengYou.Zhang@sophia.inria.fr>).
+
+---End of history.2_5---
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/history.txt b/language/chinese/CJK/cjk-4.8.4/doc/history.txt
new file mode 100644
index 0000000000..ca35f64de5
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/history.txt
@@ -0,0 +1,1549 @@
+This file is part of the CJK package.
+
+
+History of the CJK package
+==========================
+
+
+Version 1.0: first release.
+01-June-1994
+
+
+Version 1.1: new:
+20-Aug-1994 \CJK@char(x) simplified.
+
+ CJK.txt updated.
+
+ diff.txt added.
+
+
+Version 2.0: new:
+15-Sep-1994 support for Hangul:
+ virtual fonts / tfm files for Hangul standard fonts.
+
+ changed:
+ font selection: modified .fd-files needed:
+ structure of .fd-files much more simplified.
+
+
+Version 2.1: new:
+28-Sep-1994 optional parameters to CJK size functions added.
+
+ sCJK size function added.
+
+ CJK* environment added: spaces after CJK characters are
+ swallowed.
+
+ Utility programs hbf2hbf and hbf2cjk added.
+
+ changed:
+ new Big 5 encoded fonts needed (more compressed)---saves
+ about 13 TeX subfonts per Big 5 encoded font.
+
+ modified example .fd-files .
+
+ errors:
+ Bg5text environment to pmC-Bg5 environment added.
+
+ pmC emulation now uses compatible font names, i.e.,
+ wcb5a1, wcb5a2, etc.
+
+
+Version 2.2: new:
+18-Oct-1994 CJK now supports hangul and hanja together. Two different
+ sets of subfonts are used as defined in Uhangul.fd and
+ Uhanja.fd .
+
+ CJK punctuation characters (fullwidth comma, colon,
+ semicolon, etc.) don't start a line. CJK opening
+ braces, etc., don't end a line.
+
+ \uppercase and \lowercase is now disabled if Big 5
+ encoding is active.
+
+ \lccode's is only reset if the new `lowercase' option is
+ set. This function is so seldom used that I decided to
+ separate it from setting \uccode's. You need less save
+ size if `encapsulated' is used without `lowercase'.
+
+ C source of hbf2cjk replaced with CWEB source.
+ .dvi files of hbf2hbf and hbf2cjk added.
+ C source files of hbf2hbf and hbf2cjk produced by
+ CTANGLE added.
+
+ \CJKtolerance added - this command for Hangul syllables
+ is the pendant to \CJKglue.
+
+ changed:
+ hangul environment renamed to KS.
+
+ modified example .fd-files.
+
+ new Hangul .vf and .tfm files.
+
+ definition of \CJKglue changed.
+
+ HBF API now supports HBF 1.1 (CHARS optional).
+
+ fine-tuning to hbf2cjk added
+ (Sam Chiu <ccc11@cus.cam.ac.uk>).
+
+ errors:
+ CJK* didn't work in sectioning commands
+ (Wu Guangxi <wuxi@unixg.ubc.ca>).
+
+
+Version 2.21: errors:
+25-Oct-1994 CJK* didn't suppress spaces
+(only CJK.sty) (Sam Chiu <ccc11@cus.cam.ac.uk>)
+
+
+Version 2.3: new:
+15-Nov-1994 JIS coding scheme/environment added.
+
+ pmC-KS and pmC-JIS environments added.
+
+ CNS coding scheme added.
+
+ hbf2gf added.
+ This program merges bmf2gf, hbf2cjk, and hbf2hbf; it
+ is about 10 times faster than hbf2cjk.
+ Consequently, hbf2cjk and hbf2hbf were removed.
+
+ changed:
+ only \uppercase disabled (see error).
+
+ \CJK@char, etc., simplified.
+
+ errors:
+ verbatim environments didn't work in Big 5 encoding
+ (Lee Chun-Yu <d791013@ce.ntu.edu.tw>).
+
+
+Version 2.4: new:
+03-Jan-1995 UTF 8 (Unicode) scheme added.
+
+ option `unicode' to hbf2gf added: if `on', a two-digit
+ hexadecimal number is used as a running number
+ starting with the value of the first byte of the first
+ code range.
+
+ Bg5conv.tex added: this is a small preprocessor which
+ converts Big 5 encoded characters `XY' into the form
+ `XZZZ.' . Now you can use Big 5 encoding without the
+ annoying Bg5text environment.
+ Auxiliary files: Bg5pp.enc, pmCsmpp.enc, and
+ bg5latex.bat .
+
+ changed:
+ new versions of emx.exe, emx.dll (ver. 0.9a) and rsx.exe
+ (rel. 5)
+
+ errors:
+ hbf2gf sometimes drew one pixel too much
+ (You Rey-Jer <you@gi4.bauingenieure.uni-stuttgart.de>).
+
+ pmC encodings didn't work
+ (Zhang Zhengyou <Zhengyou.Zhang@sophia.inria.fr>).
+
+ \CJK@charToHex and \CJK@numbToHex could erroneously change
+ page counter (Li Yu-Ray <r82111@ew.ee.ntu.edu.tw>).
+
+
+Version 2.5: never released; 7 beta versions published. See file
+ history.2_5.
+
+
+Version 3.0 there are too many changes to be described here in full
+10-Oct-1995 detail. Please reread the various documentation files and
+ check the file history.2_5 too.
+
+ new:
+ two contributed packages: ntu2cjk and ttf2pk.
+
+ SJIS coding scheme added.
+
+* a new unifying fontencoding scheme has been introduced:
+* max. 4 characters encoding + max. 3 characters
+* fontencoding
+*
+* examples:
+* JISdnp, JISpmC, etc.
+*
+* this change causes many files to be renamed (e.g.,
+* Uhanja.fd->Uhanj.fd); there is also a bunch of new/
+* redefined functions to support this:
+* \CJKenc
+* \CJKfontenc
+* \CJKshape
+* \CJKencshape
+* CJK and CJK* environment
+*
+* SOME OF THE ABOVE CHANGES ARE NOT COMPATIBLE WITH
+* PREVIOUS VERSIONS!
+
+ two fontencodings added: `dnp' for DNP fonts and `wn'
+ for Watanabe fonts.
+
+ four new size functions: `CJKsub', `CJKssub', `DNP', and
+ `DNPgen'.
+
+ \CJKchar has now an optional parameter to select the
+ encoding. You can also use this command with Unicode
+ encoding; additionally you can enter characters with
+ or without the 8th bit set (GL or GR form) except for
+ SJIS, Bg5 and UTF8 encoding.
+
+ a new internal level introduced:
+ we now have
+
+ active characters
+ |
+ +--------------> bindings (normal,
+ | preprocessed) <- new
+ |
+ active character macros
+ |
+ +--------------> encodings (GB, Bg 5, ...) +
+ | font encodings (none, dnp,
+ | pmC)
+ |
+ subfont selecting macros
+ |
+ +--------------> character macro sets
+ | (standard, Big 5, ...)
+ |
+ character selecting macros
+
+ a new style option has been added: `active'. If
+ activated, bindings are local. Default is still
+ `local' (with global bindings). You need this option
+ if you want to mix preprocessed text with
+ non-preprocessed text in nested CJK environments. This
+ can happen if you merge texts in various encodings.
+
+ options `dos' and `dosdebug' to makefiles added for
+ compiling with djgpp.
+
+ new keywords `design_size', `target_size', `tfm_files',
+ and `pk_files' added to hbf2gf. If `tfm_files'
+ (`pk_files') is `no', creation of .tfm-files
+ (.pk-files) is suppressed.
+
+ new calling mode for hbf2gf for use with MakeTeXPK:
+ hbf2gf configuration_file [subfont_number resolution]
+
+ a modified MakeTeXPK (and maketexp.btm) added to process
+ Chinese TrueType fonts (with ttf2pk) and CJK bitmap
+ fonts (with hbf2gf).
+
+ pinyin.sty for writing pinyin syllables with tones.
+
+ \CJKtilde and \standardtilde for embedding ordinary words
+ in CJK text.
+
+ new command \CJKcaption to load a caption file.
+
+ new commands \CJKCJKchar, \CJKhangulchar and
+ \CJKlatinchar added to specify character handling
+ (glue, discretionary). Only for UTF8 encoding needed.
+ Default is \CJKCJKchar.
+
+ various caption files (.cap) added to be used in
+ conjunction with the KOMA-script document classes.
+
+ MULE to CJK converter added.
+
+ changed:
+ the protection scheme has been completely rewritten.
+ Encoding changes now work in sectioning commands too.
+
+ reorganization of source tree.
+
+ all occurrences of utf8 changed to UTF8 including
+ filenames.
+
+ all occurrences of GBs changed to GB including filenames.
+
+* handling of intercharacter glue enhanced. Now there is
+* no \CJKglue before and after a block of CJK
+* characters. Note that this is a visually incompatible
+* change to the previous versions of CJK! (See the
+* command \CJKtilde also.)
+
+ the definition of the CEF encoding has changed; it uses
+ now HTML-macros to identify CNS codes. Various
+ preprocessors has been added to handle these macros.
+
+ CNS.sty removed. Has been integrated into CJK.sty .
+
+ if only one of the keywords `dpi_x' or `dpi_y' is given
+ in the hbf2gf config file the other printer resolution
+ is set equal to the given one.
+
+ the key values `on' and `off' in the hbf2gf config file
+ are replaced with `yes' and `no'.
+
+ errors:
+ if two Big 5 environments were stacked, the Bg5text
+ environment was defined twice causing an error
+ (Yang Jinn S. <v30yjs@v0sun11.ccl.itri.org.tw>).
+
+ \CJK@punctEnc was undefined in pmC-Bg5 environment
+ (Yang Jinn S. <v30yjs@v0sun11.ccl.itri.org.tw>).
+
+ pmC-Bg5 encoding did not work in preprocessed mode
+ (Yang Jinn S. <v30yjs@v0sun11.ccl.itri.org.tw>).
+
+ Bg5conv.tex and CEFconv.tex/CEF5conv.tex fail under the
+ web2c-TeX implementation because \write commands don't
+ output 8bit characters. C programs which do the same
+ were added.
+
+ wrong \CJK@min and \CJK@max values for some encodings.
+
+ some punctuation characters with Big 5 encoding had wrong
+ offsets (Li Yu-Ray <r82111@ew.ee.ntu.edu.tw>).
+
+ `global' option didn't work correctly.
+
+ \CJKchar didn't work in preprocessed mode
+ (Rob Lahaye <lahaye@amolf.amolf.nl>).
+
+ all .bat and .cmd files call f_name.bat (f_name.cmd) to
+ replace the extension (usually .tex) with .cjk .
+
+
+Version 3.0.1 new:
+20-Nov-1995 hbf2gf config files for CNS added.
+
+ changed:
+ .vf and .tfm files for Hangul have been removed; they
+ are now part of the Hangul font packages.
+
+ CNS font definition files modified.
+
+ `~', if \CJKtilde has been executed, now suppresses
+ spaces afterwards.
+
+ (hopefully) better installation documentation.
+
+ ttf2pk: improved scripts.
+
+ the font directories (for web2c) in the various
+ script/config files have been standardized:
+
+ the source bitmap fonts and its HBF header files are
+ now assumed to be in
+
+/usr/local/lib/font/{china,japan,korea,...}/font_name/
+
+ the hbf2gf configuration files in
+
+/usr/local/lib/hbf2gf/
+
+ the TeX font files in
+
+/usr/local/lib/texmf/fonts/{chinese,japanese,korean,...}/font_name/pk/CJK/
+/usr/local/lib/texmf/fonts/{chinese,japanese,korean,...}/font_name/{tfm,vf}/
+
+ the NTU TrueType fonts in
+
+/usr/local/lib/font/china/truetype .
+
+
+ errors:
+ standard.chr redefined the altchar macros erroneously
+ (Patrick Tuttle <n8442161@toad.lake.cs.wwu.edu>).
+
+ MULEenc.sty failed with german.sty in sectioning
+ commands.
+
+ mule2cjk didn't work with CNS planes 3-7.
+
+
+Version 3.1.0: new:
+20-Feb-1996 MakeTeXPK now supports DC (and TC) 1.2 fonts.
+
+ JIS supplement character set (JIS X 0212-1990)
+ implemented.
+
+ hbf2gf config file j2so12.cfg (for a JIS X 0212 font)
+ added.
+
+ New parameter for hbf2gf: slant. Note that slanted
+ fonts are not common for CJK languages and should
+ be used only in special situations.
+
+ Documentation about Japanese TeX systems and how to
+ handle Japanese with CJK contributed by TANAKA
+ Shinichiro <tanaka3@ifos.se.fujitsu.co.jp>.
+
+ An introduction into the CJK package in Chinese
+ contributed by Lee Chun-Yu <d791013@ce.ntu.edu.tw>.
+ Consequently the outdated README.bg5 together with
+ bg5_test.tex has been removed.
+
+ ntu2cjk version 1.3 .
+
+ CEF example added.
+
+ changed:
+ MULEenc.sty, mule2cjk:
+ \textcdot dropped; replaced with \textperiodcentered.
+
+ MULEenc.sty:
+ definition of \textregistered dropped since it is
+ defined for all encodings in the latest LaTeX2e
+ release.
+
+ CJK.sty:
+ \nbs is now defined as a shorthand for \nobreakspace.
+
+ \space's added to font size functions analogously to
+ the latest LaTeX release.
+
+ mule2cjk:
+ \nbs replaced with \nobreakspace.
+
+ maketexp.btm:
+ small enhancements.
+
+ f_name.bat:
+ slightly modified to make it run under 4DOS too.
+
+ hbf2gf:
+ hbf.c updated to latest hbf version (17-Oct-1995).
+ errors:
+ maketexp.btm:
+ the ttfdir environment variable in the created
+ fonts.btm file was not set.
+
+ Oh, oh, font creation with hbf2gf also didn't work...
+
+ at one place two `%%' used instead of one.
+
+ UJISwn.fd should now search for the right fonts.
+
+ *.cap:
+ erroneously contained \@undefined instead of
+ \undefined.
+
+ JIS.cap:
+ completely broken (sigh). Unbalanced \if... statements
+ caused unrecoverable errors.
+
+
+Version 3.1.1: new:
+20-Jun-1996 \CJKspace switches (inside of a CJK or CJK* environment)
+ from CJK* to CJK mode.
+ \CJKnospace switches from CJK to CJK* mode.
+
+ support for Vietnamese with Mule. You need the vncmr-2.1
+ package for fonts and LaTeX2e support.
+
+ Latin 5 (ISO 8859-9) for Mule implemented.
+
+ changed:
+ mule2cjk removed and replaced with cjk-enc.el which
+ defines a new output encoding scheme for Mule
+ (*cjk-coding*). See cjk-enc.doc for details.
+
+ new protection scheme and changed macro definitions in
+ MULEenc.sty enables kerning for non-CJK languages. This
+ also makes most of the CJK macros significantly smaller.
+
+ f_name.bat replaced with the latest version.
+
+ some documentation improvements.
+
+ \CJKhanja and \CJKhangul now also make sense outside of
+ KS encoding (useful in connection with mule2cjk).
+
+ errors:
+ f_name.cmd doesn't work. All *.cmd removed. I have first
+ to learn REXX to write such batch files for OS/2.
+
+ ttf2pk failed if the PK package size of a character was
+ 1024 (the same error is also in the pbm2pk program).
+
+ hbf2gf didn't initialize mag_x/mag_y and dpi_x/dpi_y
+ correctly (Zhang Zhengyou
+ <Zhengyou.Zhang@sophia.inria.fr>).
+
+ after closing a CJK environment not all characters above
+ 0x80 had been made non-active (a typo).
+
+ pinyin.sty did not preserve the \a macro (used in
+ tabbing environments).
+
+ single byte characters didn't work in SJIS encoding (a
+ typo).
+
+ `:' and `.' do not work as parameter delimiters if these
+ characters are active (Daniel Flipo <?@?>). Now ^^ff
+ is used; the old macro ^^ff is now ^^a0; ^^a0 has
+ become ^^80. The old ^^80 macro has been removed since
+ the new version of mule2cjk always use the `global'
+ option of CJK which allows the use of (the new) ^^80
+ instead.
+
+ \CJKenc{SJIS} didn't work (Thomas Piekenbrock
+ <piekenbro@msmzid.frankfurt.hoechst-ag.d400.de>).
+
+ SJISconv.tex didn't run (a senseless line called the
+ nonexistent macro \CJK@other) (Thomas Piekenbrock
+ <piekenbro@msmzid.frankfurt.hoechst-ag.d400.de>).
+
+ JIS.cap didn't work (a typo).
+
+ SJIS.cap didn't work either (forgot to edit).
+
+
+Version 4.0.0: new:
+20-Sep-1996 I did the final step. All CJK encodings now have all
+ NFSS attributes, namely family, series, and shape
+ (represented by \CJK@family, \CJK@series, and
+ \CJK@shape). \CJK@family is set by entering a CJK
+ environment in the same way as it was done in former
+ versions of this package. \CJK@series and \CJK@shape
+ are (usually) controlled by the standard NFSS commands
+ (e.g., \slshape, \textbf, etc.).
+
+ To achieve this it was necessary to define (NFSS)
+ font encodings for the CJK package. All CJK font
+ encodings map to NFSS font encodings which start with
+ the letter `C', followed by two digits. Here is a
+ table:
+
+ Chinese: Bg5 C00
+ Bg5pmC C01
+
+ GB C10
+ GBpmC C11
+
+ GBt C20
+ GBtpmC C21
+
+ CNS1-7 C31-37
+
+ Japanese: JIS C40
+ JISpmC C41
+ JISdnp C42
+ JISwn C43
+
+ JIS2 C50
+
+ SJIS -> kana C49
+ (additionally)
+
+ Korean: KS -> hanja C60
+ -> hangul C61
+ KSpmC C62
+ KSHL -> hanjaHL C63
+ -> hangulHL C64
+ -> HLsymbolJ C65
+ -> HLsymbolK C66
+
+ Unicode: UTF8 C70
+
+ CEF: CEFX C80
+ CEFY C81
+
+ The first digit corresponds to a CJK (input) encoding
+ like Bg5 or JIS, the second digit represents either a
+ CJK font encoding or internal encodings necessary to
+ cover the selected CJK encoding.
+
+ One consequence of this step is that you have to adapt
+ all .fd files to the new scheme. Look at the example
+ font definition files of the CJK package how to do it.
+
+ You can't use e.g., `C01' directly! Use the CJK
+ interface (in this example \CJKfontenc[pmC]{Bg5}).
+
+ Another consequence is that you are now limited to
+ five characters for the family name since it is part
+ of the .fd name (together with the NFSS font
+ encoding): e.g., `fangsong' is not longer allowed. I've
+ renamed this to `fs'.
+
+ the new font encoding scheme of the HLaTeX package is
+ supported. You can select it with \CJKfontenc[HL]{KS}
+ or \begin{CJK}[HL]{KS}{...} . This is _not_ an
+ emulation of HLaTeX! See CJK.doc for details.
+
+ poor-man's bold font has been introduced. To do this all
+ occurrences of \symbol has been replaced with the new
+ command \CJKsymbol which honours the \ifCJK@bold@
+ flag. If set, a character is printed three times with
+ a small horizontal shift. You can modify this flag
+ with \CJKnormal and \CJKbold. These commands are
+ intended for use with \DeclareFontShape:
+
+ \DeclareFontShape{C00}{CNS}{m}{n}{<-> CJK * csso12}{}
+ \DeclareFontShape{C00}{CNS}{bx}{n}{<-> CJKb * csso12}{\CJKbold}
+
+ Additionally four size functions (CJKb, sCJKb,
+ CJKfixedb, sCJKfixedb) has been introduced which are
+ completely identical to its counterparts without the
+ final `b'. The only reason to use them is, as shown in
+ the above example, to make the fifth parameter of
+ \DeclareFontShape for bold series different from the
+ one for medium series (LaTeX2e uses this parameter as
+ a macro name to execute loading-settings, thus they
+ must not be equal). Redefine \CJKboldshift if the
+ default shift value of 0.015em is not optimal for the
+ specific font.
+
+ support for ruby (= furigana) added. See rubi.doc for
+ details.
+
+ ttf2pk:
+ TTF specific error handling enabled.
+
+ Big 5 encoded TTF in format 4 can now be handled.
+
+ hbf2gf: you can now use environment variables ($FOO or
+ ${FOO}) in the configuration file. Use $$ to get a
+ dollar sign.
+
+ man pages added.
+
+ more examples added.
+
+ REXX scripts bg5latex.cmd, etc. (for OS/2) added
+ (contributed by Wonkoo Kim <wkim+@pitt.edu>).
+
+ teTeX.doc added.
+
+ changed:
+* The CJK distribution has been divided into three
+* packages:
+* src The sources. Needed for all platforms
+* bin Binaries compiled with emx for DOS and OS/2.
+* rest Preformatted documentation (.dvi, .ps,
+* output from cjk-enc.el)
+*
+* ALL FONT DEFINITION FILES HAVE BEEN CHANGED AND RENAMED!
+*
+ \CJKshape and \CJKencshape renamed to \CJKfamily and
+ \CJKencfamily respectively. For backward compatibility
+ you can still use the old names. Nevertheless, they
+ now modify the font family parameter and no longer the
+ font shape parameter.
+
+ all *conv.tex and its batch files removed.
+
+ all converter programs now do not change the number of
+ lines in the output file.
+*
+* the UN*X converter batch files now replace the extension
+* with .cjk instead of appending it. E.g.
+* test.tex -> test.cjk (instead of test.tex.cjk)
+*
+ f_name.bat provides a new environment variable %fu%
+ for a Unix-like path (using `/' instead of `\'). Now
+ you can run bg5latex.bat and the other DOS batch files
+ having a file name with a path as an argument. Please
+ replace all these batch files with the new ones.
+
+ starting with this version ttf2pk is a direct part of
+ the CJK package. I maintain it. As a consequence the
+ ttf2pk directory tree has been moved into the utils
+ subdirectory.
+
+ MakeTeXPK, MakeTTFPK: environment variable ttfdir and
+ hbf2gfdir renamed to TTFDIR and HBF2GFDIR
+ respectively.
+
+ hbf2gf: sample configuration files now contain TDS
+ compliant directories.
+
+ ttf2pk:
+ -c option removed which never worked.
+
+ some redundant code removed.
+
+ heavily reformatted.
+
+ errors:
+* PLEASE RECREATE ALL .TFM AND .PK FILES PRODUCED BY
+* TTF2PK!
+* Reason: the width values were resolution dependent.
+* You should use the InstallFont script or instfont.btm
+* for this job since the very bug in ttf2pk has not yet
+* been fixed. Additionally you must install the new
+* MakeTTFPK script.
+
+ ttf2pk:
+ endchar didn't work correctly.
+
+ punctuation characters in KS were not handled correctly.
+
+ \CJKchar failed sometimes (Jinn S. Yang
+ <v30yjs@v0sun11.ccl.itri.org.tw>).
+
+ Big 5/SJIS characters failed in headers, etc., if used
+ without preprocessor (Jinn S. Yang
+ <v30yjs@v0sun11.ccl.itri.org.tw>).
+
+
+Version 4.0.1: appeared as a diff only---a typo in utils/ttf2pk/findex.c
+26-Sep-1996
+
+
+Version 4.1.0: new:
+20-Nov-1996 ttf2pk:
+ a new parameter -e has been introduced for selecting
+ the font encoding; possible values are `Big5' (the
+ default), `EUC' for extended Unix codes (JIS, GB, KS,
+ etc.), `SJIS', and `X'. The last value treats the TTF
+ file as SJIS encoded but expects start_char in JIS
+ encoding (routines are in coding.{c,h}).
+
+ a new parameter -r has been introduced for rotating
+ the glyphs 90 degrees counter-clockwise if its value
+ is non-zero. See ttf2pk.1 for details.
+
+ Some preliminary support for composite glyphs has been
+ included. Since hinting instructions are not supported
+ yet this is only of some academic interest. You can
+ watch the funny results with the mingli system font of
+ the traditional Chinese Windows 3.1 .
+
+ Support for different horizontal and vertical
+ resolutions has been added. Now you have one more
+ parameter to call ttf2pk:
+
+ ttf2pk pkname tfmname xres yscale startch nmbch ...
+
+ Currently you have to change yscale by hand in
+ MakeTTFPK (or makettfp.btm). [yres = xres * scale]
+
+ The source code has been prepared for pretty-printing
+ with c2cweb. Say `make documentation OS=<SYSTEM>' to
+ produce it (of course after installing the c2cweb
+ package). You find precomputed .dvi files in the
+ `rest' part of the CJK package.
+
+ HSIEH Tung-Han <thhsieh@twclx.phys.ntu.edu.tw>
+ contributed NTeXb5.doc for installing the CJK package
+ under NTeX.
+
+ hbf2gf:
+ if called in METAFONT-like mode, one additional
+ parameter has been added to allow printers with
+ different horizontal and vertical resolutions:
+
+ hbf2gf config_file subfont_nmb x_resolution y_scale
+
+ (y_resolution = x_resolution * y_scale; y_scale must
+ be a real number > 0; currently you must change y_scale
+ by hand in MakeTeXPK/maketexp.btm)
+
+ hbf2gf now produces a .pl file even if in
+ METAFONT-like mode.
+
+ a new config file option `rotation' rotates the glyphs
+ 90 degrees counter-clockwise if set to `yes'.
+
+ vertical presentation forms of Big5 punctuation
+ characters added to punctuation tables in CJK.enc .
+
+ CJKvert.sty for vertical typesetting added. This is an
+ experimental feature! Please read vertical.doc for
+ further details.
+
+* MakeTeXPK and friends:
+* it's no longer necessary to rename TTF files to avoid
+* underline characters. A configuration file is now used
+* (ttf2pk.cfg) which resides in $TTF2PKDIR (usually
+* $TEXMF/ttf2pk) to describe the various TTF files.
+* Please rename e.g., ntukai.ttf back to ntu_kai.ttf .
+* The environment variable $TTFDIR has become obsolete.
+
+ The teTeX variants of the scripts can now produce tfm
+ files on demand---it's sufficient to simply install
+ the source files of a new font.
+
+ changed:
+* rubi.sty has been renamed to ruby.sty; the same is
+* true for all commands in it: \ruby, \rubyoverlap, etc.
+
+ new version (1.5) of ntu2cjk.
+
+ hbf2gf:
+ the option `target_size' has been removed. It is
+ ignored now.
+
+ under DOS and OS/2 both `\' and `/' are now recognized
+ as a path separator.
+
+ ttf2pk:
+ the -s parameter (to select a design size) has been
+ removed. The program now always assume a design size
+ of 10pt.
+
+ the parameter end_char has been replaced with
+ nmb_of_char (max. 256).
+
+ begin_char can now be either decimal, hexadecimal
+ (prefix `0x'), or octal (prefix `0').
+
+ x_offset and y_offset behave now similar to hbf2gf
+ (and most people would expect it that way): a positive
+ x (y) value shifts right (up); default is zero for
+ both parameters using the default placement as given
+ in the TTF file. The values are no longer integers but
+ real numbers and should be multiples of design size.
+
+ horz_esc and vert_esc are now real numbers too and
+ should be multiples of design size.
+
+ you no longer need to use -W, -H, and -D for getting
+ resolution independent .tfm files. ttf2pk now
+ correctly uses the values of the TTF file.
+
+* PLEASE RECREATE ALL .TFM (AND .PK) FILES! Sorry for
+* this inconvenience. I hope it is the last time. Due to
+* some optimizations the .pk files are about 5% smaller
+* now.
+
+ The TTF part of the source code has been transformed
+ into a library (ttflib); the makefile has been
+ rewritten with a new syntax. Say `make' for details.
+
+ utils/ttf2pk/README.b5 and INSTALL.bg5 removed. They
+ were out of date.
+
+ modified MakeTTFPK/MakeTeXPK/InstallFont and
+ makettfp.btm/maketexp.btm/instfont.btm scripts.
+
+
+Version 4.1.1: appeared as a diff only.
+02-Dec-1996
+ new:
+ cjktilde.el:
+ this file contains a minor mode (`cjk-tilde-mode') for
+ emacs to exchange the ` ' key with the `~' key. See
+ the documentation of \CJKtilde for details.
+
+ changed:
+ directory cjk-enc renamed to lisp.
+
+ errors:
+ the fullwidth double colon in GB encoding was missing in
+ the punctuation tables.
+
+
+Version 4.1.2: new:
+20-Feb-1997 ntu2cjk ver. 1.6 now supports the Jackson font (a Big 5
+ encoded PostScript font).
+
+ cjkspace.el: similar to cjktilde.el for cooperation with
+ AUCTeX.
+
+ support files for NDOS contributed by KUO Yi-Liang
+ <c300711@ms5.hinet.net> .
+
+ emTeX support documentation also contributed by
+ KUO Yi-Liang <c300711@ms5.hinet.net> .
+
+ changed:
+ ttf2pk/src/Makefile: uses -C switch of GNU make now for
+ entering subdirectories.
+
+ adaptation to LaTeX release 1996/12/01:
+ all .fd files now start with e.g., c00 instead of C00
+ (nevertheless, the encoding is still called `C00').
+
+ all executables are now finished with exit() to avoid
+ additional security holes.
+
+ Bg5rot.tex renamed to Bg5vert.tex .
+
+ errors:
+ MakeTTFPK:
+ some sed programs can't understand the `\w' special
+ character (indicating a word constituent character);
+ has been replaced with `.'.
+
+ it was not possible to open a CJK environment with
+ SJIS encoding a second time (Thomas Piekenbrock
+ <piekenbro@smzid.frankfurt.hoechst-ag.d400.de>).
+
+ the same problem existed with UTF 8 encoding;
+ additionally the macros failed for protected
+ arguments.
+
+ cjktilde.el:
+ if you assigned the minor mode to a key, the status
+ line was not updated.
+
+ ttf2pk:
+ problems with empty glyphs fixed.
+
+ problems with invalid index tables now lead to a
+ warning instead of a fatal error.
+
+
+Version 4.1.3: new:
+20-Jun-1997 hbf2gf can now create virtual Omega (.ofm) files.
+
+ ttf2pk (and its scripts) now supports Unicode encoded
+ fonts.
+
+ cjk-enc.el for emacs 20.
+
+ Russian support (in T2 encoding) for Mule/emacs 20.
+ Please contact me for fonts, hyphenation patterns, and
+ macro packages.
+
+ JIS X 0201 support for Mule/emacs 20.
+
+ experimental support for Thai (only emacs 20). This is
+ basically C-TTeX version 1.51 adapted to CJK. Anybody
+ who is interested in this stuff (and has some
+ knowledge on Thai contrary to me :-) please contact
+ me so I can improve it. Please read cjk-enc.doc for
+ more details.
+
+ ntu2cjk version 1.8:
+ now supports partial downloading of NTU fonts with
+ dvips.
+
+ installation checklist added to INSTALL.
+
+ installation instructions written in Chinese GB
+ contributed by YAO Fude <yao@everest.micro.umass.edu>.
+
+ UTF8.tex example added.
+
+ changed:
+ MULEenc.sty:
+ \hbar and \HBAR replaced with \textmalteseh and
+ \textmalteseH respectively according to the LaTeX2e
+ release June 1997.
+
+ further simplifications.
+
+ external CJK font packages, script and documentation
+ files updated to TDS standard.
+
+ c70song.fd:
+ now uses cyberbit.ttf as default font.
+
+ errors:
+ make*.btm scripts now really work :-) (thanks to
+ <rshuang@ms11.hinet.net>).
+
+ c00cns.fd was incorrectly stored as c00CNS.fd .
+
+ MULEenc.sty:
+ expansion macro improved (the old version prevented
+ kerning if used with e.g., \MakeUppercase).
+
+ hbf2gf:
+ support for Unicode encoded HBF files was totally
+ broken.
+
+ always used non-rotated x and y input sizes.
+
+ the HBF interface now uses only one file handle per
+ opened font---previously it used one file handle per
+ HBF_CODE_RANGE line (Mark Leisher
+ <mleisher@crl.nmsu.edu>).
+
+ ttf2pk:
+ can now handle fonts like avkv.ttf which have a
+ non-standard way to handle the end of the glyph index.
+
+ a nasty allocation bug removed due to missing modulo
+ 65536 operations (thanks to YANG Ching-Hsiang
+ <jsyang@vlsi.ccl.itri.org.tw>).
+
+
+Version 4.2.0: new:
+13-Dec-1998 pinyin.sty:
+ support for EC fonts: the macron bar has been lowered
+ considerably.
+
+ kerning in pinyin syllables is now identical to
+ unaccented syllables.
+
+ teTeXb5.doc:
+ How to set up CJK with teTeX 0.9 (in Chinese).
+ Contributed by HSIEH Tung-Han
+ <thhsieh@twcpro.phys.ntu.edu.tw>.
+
+ CJKnumb.sty:
+ new package for converting a number into a CJK
+ representation. It provides just one command,
+ \CJKnumber.
+
+ CJK.sty:
+ new command \CJKaddEncHook for adding code which is
+ executed each time a certain encoding is selected.
+
+ contrib/wadalab:
+ how to use Wadalab Japanese PostScript fonts with CJK.
+ Contributed by LEUNG Hin-Tak <htl10@cus.cam.ac.uk>.
+
+ CJK.enc:
+ added C52 encoding (JIS2 in dnp font encoding).
+
+ changed:
+ MULEenc.sty, cjk-enc.el:
+ updated to latest LaTeX 2e changes (1997/12/01 and
+ 1998/06/01):
+ \DH, \dh renamed to \DJ, \dj; LaTeX2e now provides
+ \textdegree, \textordfeminine, and \textordmasculine.
+
+ updated to latest T2 changes: \CYRUKRI, \CYRUKRE and
+ its lowercase forms are renamed to \CYRII and \CYRIE
+ respectively.
+
+ there is now a version of cjk-enc.el for emacs 20.3
+ too.
+
+ muletest.tex:
+ new translations; Russian now standard.
+
+ thaiconv:
+ updated to include cttex 1.15 changes.
+
+ a revised TDS structure for storing CJK fonts and
+ configuration files (see TDS.doc for details).
+
+ compile.doc has been removed.
+
+ NTeXb5.doc has been removed.
+
+ ttf2pk.doc has been removed (it is now in the ttf2pk-old
+ package).
+
+ the whole ttf2pk subdirectory has been removed. Get the
+ new ttf2pk program of the FreeType project (available
+ from ftp.freetype.org in the directory
+ pub/freetype/devel as the package
+ freetype-current.tar.gz)---the new ttf2pk can work
+ with composite fonts too and supports hinting. The old
+ ttf2pk is still available as ttf2pk-old.tar.gz .
+
+ the whole ntu2cjk subdirectory has been removed. Get the
+ new ttf2pfb program of the FreeType project (see just
+ above for the location). ntu2cjk is still available as
+ ntu2cjk.tar.gz .
+
+ the whole NDOS subdirectory has been removed because it
+ is completely out of date.
+
+ CJK.sty:
+ caption files for preprocessed mode have now the
+ extension `.cpx' to simplify editing of cap files.
+
+* hbf2gf:
+* completely redesigned to make calls in scripts for
+* creating PK fonts easier. Please refer to hbf2gf.1
+* or hbf2gf.dvi for details.
+*
+* maketexp.btm, etc.:
+* replaced with dvidrv.btm, a replacement for emTeX's
+* dvidrv.exe; it is documented in dvidrv.doc .
+
+ fonts from HLaTeX >= 0.97 are now supported. As a
+ consequence, support for older HLaTeX versions has
+ been withdrawn. The internal encoding C66 no longer
+ exists.
+
+ cjk-enc.el:
+ function write-cjk-file added (thanks to David Fox
+ <fox@cat.nyu.edu>).
+
+ errors:
+ pinyin.sty:
+ \O wasn't handled specially.
+
+ CJK.sty now coexists with ArabTeX.
+
+ possible save size overflow fixed (\CJK@temp was
+ assigned locally and globally at the same time).
+
+
+Version 4.3.0: An intermediate version containing most features of 4.5.0
+04-Apr-2000 published on the TeX Live 5 CD. It has never been officially
+ released.
+
+
+Version 4.4.0: An intermediate version containing most features of 4.5.0
+17-Apr-2001 published on the TeX Live 6 CD. It has never been officially
+ released.
+
+Version 4.5.0: An intermediate version containing most features of 4.5.1
+01-May-2002 published on the TeX Live 7 CD. It has never been officially
+ released.
+
+Version 4.5.1: new:
+17-Jun-2002 CJKulem.sty:
+ Full underlining support using the latest version of
+ ulem.sty.
+
+ Bg5+ and GBK charsets and encodings added (together with
+ `Bg5+text' and `GBKtext' environments). The encodings
+ are C09 and C19, respectively.
+
+ `bg5+latex' and `gbklatex' scripts added (together
+ with its DOS and OS/2 pendants); both call the new
+ converter `extconv'.
+
+ EUC-JP and EUC-TW encodings (*with* single shifts) added.
+
+ SJIS encoding with DNP fontencoding.
+
+ A configuration file `CJK.cfg' is read by CJK.sty just
+ before the \endinput command.
+
+ CJKnumb.sty:
+ Added the macro \CJKdigits to CJKnumb.sty for printing
+ a (integer) number with CJK digits.
+
+ Added macro \CJKnullspace to control the amount of
+ space inserted before and after a circle character
+ used for CJK digit zero.
+
+ Added the macro \CJKindent to CJK.sty which sets the
+ paragraph indentation to two ideographic spaces.
+
+ Added a test file `CJKbabel.tex' for testing CJK,
+ emacs 20, and the babel package.
+
+ Thai support for Babel added.
+
+ Added a test file `thai.tex' for testing Thai.
+
+ cjk-enc.el:
+ Now works with XEmacs also (except for Thai).
+
+ Support for ISO-8859-7 (Greek) added.
+
+* Support for multifile documents added. As a
+* consequence, it is now necessary to specify the
+* encoding of all files with local variables for Emacs
+* (see the comments at the end of the files in the
+* `examples' directory how to do that; the `coding: ...'
+* line must exist.
+
+ The translation tex->cjk is now executed only if the
+ source file is more recent than the corresponding
+ output file (it is still possible to force translation
+ though).
+
+ Hyphenation patterns for unaccented pinyin syllables
+ (together with support for the Babel package) in
+ utils/pyhyphen. Documentation is in doc/pyhyphen.doc.
+
+ pinyin.sty:
+ Added option `useCMmacron' (for LaTeX only) to use
+ a macron accent from the CM fonts in case the current
+ font doesn't have it (e.g., some versions of virtual
+ files for Palatino).
+
+ Compound syllables can now be hyphenated.
+
+ MULEenc.sty:
+ Added \CJKinclude{<file>}, \CJKinput{<file>}, and
+ \CJKbibliography{<file>} macros which behave similar
+ to \include, \input, and \bibliography but include
+ (input) <file>.cjk and <file>-cjk.bib instead.
+
+ CJK.sty/MULEenc.sty:
+ The command \CJKverbatim suppresses insertion of glue
+ between CJK and Thai characters in verbatim
+ environments if the `verbatim' package is used. This
+ is useful if you have overlong lines.
+
+ changed:
+ Thai support has been redesigned. The external program
+ `thaiconv' has been replaced by a Lisp file called
+ thai-word.el; ligatures in virtual Thai fonts are now
+ used to select the proper glyph representation forms.
+ See thaifont.doc and cjk-enc.doc for details.
+
+ CNS stuff moved into a `CNS' directory.
+
+* CJK.sty/MULEenc.sty,
+* cefconv, cef5conv, cefsconv, bg5conv, sjisconv,
+* cjk-enc.el:
+* The character slot 0xA0 is no longer used for
+* \CJKchar; instead, the multiplex character 0x7F
+* interface now handles this also. Additionally,
+* character 0x7F (instead of 0xFF) is used as delimiting
+* character. 0x7F is used for all CJK characters also in
+* preprocessed mode---as a consequence, preprocessed and
+* non-preprocessed data can be used simultaneously.
+*
+* You *must* update the *conv programs (if you use
+* them). \CJKpreproc and \CNSpreproc now contain the
+* current version string so you can check whether really
+* the new versions are called.
+
+ cjk-enc.el:
+ ET5 encoding for Vietnamese replaced with T5 encoding.
+
+ The version for emacs 20 has been removed. Please
+ upgrade your emacs to 20.7 or newer.
+
+ contrib/wadalab:
+ Use CJK font size functions instead of DNP ones.
+
+ hbf2gf:
+ The configure option --with-kpathsea-dir has been
+ replaced with --with-kpathsea-include and
+ --with-kpathsea-lib to support web2c installations
+ with multiple architectures.
+
+ errors:
+ cjk-enc.el:
+ The formatting parameter `%i' has been replaced with
+ `%d'.
+
+ pmC.chr:
+ Missing \ifCJK@ added.
+
+ Punctuation macros fixed.
+
+ Bg5.chr:
+ Fixed a typo \CJK@temp -> \CJK@gtemp.
+
+ hbf2gf:
+ Now works correctly with very large pixel sizes.
+
+ Punctuation with half-width katakana in SJIS encoding
+ improved.
+
+ A bug fixed which prevented the usage of caption files
+ together with hyperref.
+
+ KS encoding with HLaTeX fontencoding now supports
+ punctuation also.
+
+ Specifying a font size factor (like `CJK * [1.5]') in
+ FD files no longer produces a warning message for
+ all subfonts.
+
+Version 4.5.2: new:
+28-Mar-2003 The new macro \CJKnohwkatakana prevents the use of the
+ C49 encoding for half-width katakana; instead, the
+ characters are mapped to full-width glyphs. The
+ opposite command is \CJKhwkatakana (the default).
+
+ Improved support for pseudo-vertical typesetting.
+
+ . CJKvert.sty provides new commands \CJKvert (the
+ default) and \CJKhorz to toggle pseudo-vertical
+ typesetting.
+
+ . After loading CJKvert.sty, LaTeX reads file
+ `<foo>.fdv' (if it exists) immediately after reading
+ `<foo>.fd'. Such a file contains additional
+ information how to typeset a font vertically. Most
+ importantly, outline fonts can be configured so that
+ they are rotated with the graphicx package, making
+ it work with both dvips and pdfTeX. See
+ `vertical.doc' for more information.
+
+ errors:
+ \CJKchar sometimes didn't accept 7bit representations.
+
+ pinyin.sty:
+ Added missing syllables \chua, \den, \rua.
+ Make it work properly in tables.
+
+ contrib/wadalab:
+ Older versions of the `makefont' script produce bad
+ hints for all Wadalab fonts. Either use the new
+ version to regenerate all fonts or use the new script
+ `fixwada' to correct fonts created with an old version
+ of `makefont'.
+
+ EUC-TW.chr: Make it really work.
+
+Version 4.6.0: new:
+11-Aug-2005 CJKutf8.sty merges basic LaTeX's and CJK's UTF-8 support.
+ See CJKutf8.doc for details.
+
+ The two new macros \Thaispace and \Thainospace can be
+ used to control the EOL behaviour in Thai text blocks
+ if processed with cjk-enc.el.
+
+ There are now scripts (for Unix) to call pdflatex
+ instead of latex: bg5pdflatex, sjispdflatex, etc.;
+ all scripts now pass parameters to latex (the program).
+
+ New documentation files giving hints how to set up the
+ CJK package for optimal PDF output.
+
+ New documentation file `reftex.doc' describing
+ customization for RefTeX (which is part of Emacs).
+
+ CJKfntef.sty provides more font effects specific to
+ CJK scripts. See the example file CJKfntef.tex for
+ typical usage.
+
+* All .fdv-files have been renamed to use the suffix
+* `.fdx' since they are no longer restricted to vertical
+* writing direction. See the new file `fdxfiles.doc'
+* for more information.
+
+ changed:
+ All plain text documentation files now have the suffix
+ `.txt'.
+
+* Thai support has been improved.
+*
+* . Internally, the font creation process now uses
+* fontinst to create the TFM files. As a consequence,
+* virtual fonts are no longer necessary.
+*
+* . Due to an uncertain license, the `dbtt' font family
+* has been replaced with `garuda', taken from
+* thailatex version 0.3.5.1 which you can find at
+*
+* http://linux.thai.net/plone/TLWG/thailatex
+*
+* . The directory tree below `utils/thaifont' has been
+* updated to reflect TDS 1.1, as supported by the
+* forthcoming TeXLive 2005 and teTeX 3.0.
+*
+* Please replace all files related to Thai fonts in your
+* TEXMF tree with the new fonts and font support files.
+
+* HLaTeX support has been updated to handle fonts from
+* version 1.0.1---there are no longer MF source files,
+* only PS fonts. Support for non-uhc fonts have been
+* removed; you should upgrade to the latest HLaTeX font
+* archives from CTAN. Please consult CJK.doc, section
+* `Korean input', for the (slightly) changed font names of
+* HLaTeX support.
+
+ errors:
+ Some characters in Big 5 encoding disappeared without
+ a warning if pseudo-vertical writing was active.
+
+ pinyin.sty:
+ Umlaut u with diacritic appeared bold.
+
+ Umlaut u with macron above was broken.
+
+ CJKulem.sty:
+ User-defined \CJKglue value was ignored.
+
+ Line breaks before a post-punctuation CJK glyph
+ weren't disabled when \uline and friends were used.
+
+ MULEenc.sty:
+ \textordfeminine and \textordmasculine were exchanged
+ if used with cjk-enc.el.
+
+ contrib/wadalab/*.fdx:
+ Handle Hiragana-Katagana prolongation mark correctly.
+
+ cjk-enc.el:
+ Multifile support was partially broken.
+
+ CJKvert.sty:
+ Both \CJKvert and \CJKhorz had both local and global
+ effects. Now they are completely local.
+
+
+Version 4.7.0:
+17-Oct-2006
+ new:
+ A new encoding `HK' (C05) is available for Hong Kong's
+ HKSCS-2004, used in combination with Big 5.
+
+* `UTF8' encoding now supports full Unicode (up to
+* U+10FFFF). Subfont planes for ranges greater than U+FFFF
+* consist of four hexadecimal digits (for example
+* `foo025e' which covers U+25E00-U+25EFF). The \Unicode
+* command (and \CJKchar) has been extended to accept
+* Unicode values greater than U+FFFF.
+
+ CJKutf8.sty:
+ Support Unicode encoded bookmarks if the hyperref
+ package is used.
+
+ Automatically generate ToUnicode cmaps for pdftex
+ (tested with pdftex version 3.141592-1.30.4-2.2; it
+ currently doesn't work with virtual fonts).
+
+ Caption files in UTF-8 encoding have been added; the
+ files are identical to the encoding-specific versions.
+
+ ja Japanese
+ ko-Hang Korean using Hangul
+ ko-Hang2 another version using Hangul
+ ko-Hani Korean using Hanja
+ zh-Hans Chinese simplified
+ zh-Hant Chinese traditional
+
+ errors:
+ UTF-8 input character 0x80 was handled only partially.
+
+ pinyin.sty:
+ The package didn't preserve `\ding' which is defined
+ in pifont.sty, causing problems with older versions of
+ the hyperref package and its `hpdftex' driver option.
+
+ CJK.sty:
+ Make it work with font definition files (like the ones
+ from the fourier package) which expect that the
+ loading-settings are called only once.
+
+ The use of caption files within the `scrartcl' class
+ made \chapter a defined command (instead of reporting
+ an error).
+
+ With the koma-script classes, all CJK caption files
+ except for Korean produced bad looking TOC entries for
+ \part.
+
+
+Version 4.8.0:
+22-May-2008
+ new:
+ Support for EUC-JP with DNP font encoding has been
+ added.
+
+ Support for XeLaTeX has been contributed by SUN
+ Wen-Chang <sunwch@hotmail.com> (in file `xCJK.sty').
+ Note that this is just a rudimentary emulation layer;
+ most users are probably better off using XeLaTeX's
+ Unicode and font support directly. See `xCJK.txt' for
+ more details.
+
+ pinyin.sty:
+ Added support for T5 encoding.
+
+ CJKvert.sty:
+ Added command \CJKbaselinestretch to adjust the
+ baseline stretch used in vertical typesetting.
+ Previously, the value 1.3 was hardcoded.
+
+ Added package option `usebaselinestretch' to use
+ the \baselinestretch value set before loading
+ CJKvert.sty; \CJKbaselinestretch then becomes a
+ factor to adjust it.
+
+ Add support for \CJKhdef{offset}{...} in .fdx-files.
+ For example, to vertically shift all glyphs of the
+ `bsmi' font shape in Big 5 encoding (for horizontal
+ writing), put
+
+ \CJKhdef{offset}{-.07em}
+
+ into c00bsmi.fdx and add
+
+ \usepackage{CJKvert}
+ \CJKhorz
+
+ to your preamble.
+
+ errors:
+ \CJK@bold didn't work properly for C49 (half-width
+ katakana) encoding. Now C49 is handled as a CJK
+ encoding, this is, you should use the various size
+ functions (`CJK', `CJKb', etc.).
+
+
+Version 4.8.1:
+10-Aug-2008
+ new:
+ SUN Wen-Chang has contributed the CJKspace.sty package
+ which modifies the `CJK*' environment to suppress spaces
+ only after CJK characters. See CJKspace.txt for
+ details.
+
+ errors:
+ Pinyin syllable macros (defined in pinyin.sty) were not
+ robust, causing problems with indices, for example.
+
+ Some Chinese .fd and .fdx files were missing for fonts
+ which are present in the forthcoming TeXLive
+ distribution.
+
+
+Version 4.8.2:
+29-Dec-2008
+ new:
+ CJKnumb.sty:
+ The new command \CJKdigits* is the same as \CJKdigits
+ but uses the traditional glyph for digit zero.
+
+ changed:
+ The various directories `norasi' and `garuda' have been
+ changed to `norasi-c90' and `garuda-c90', respectively.
+
+ Thai support has been updated to use the fonts from
+ thailatex version 0.4.2. For easier maintainance it is
+ now expected that the PFB and AFM files (for `norasi'
+ and `garuda') are no longer renamed.
+
+ errors:
+ Poor-man's bold fonts could work incorrectly for
+ substituted fonts.
+
+ \Unicode didn't use proper glyph representation forms in
+ vertical mode.
+
+
+Version 4.8.3:
+07-May-2012
+ new:
+ CJKfntef.sty:
+ New commands \varCJKunderline, \CJKunderanyline,
+ \CJKunderanysymbol. See the example file `CJKfntef.tex'
+ for typical usage.
+
+ cjk-enc.el:
+ Emacs 23 and newer is now supported, thanks to patches
+ from Leung Hin-Tak.
+
+ Leung Hin-Tak also contributed Thai support for UTF-8
+ encoding, making emacs an alternative to Thai word
+ separator programs like `cttex' or `swath'. See the
+ example file `thai_utf8.tex' for a typical usage.
+
+ changed:
+ Special XeTeX support has been removed (file `xCJK.sty'
+ and others). Please use the separate `xeCJK' package
+ instead.
+
+ Peter Breitenlohner contributed various minor fixes and
+ improvements to the many conversion programs like
+ `cjklatex' or `bg5conv'.
+
+ The Thai metrics files for `norasi' and `garuda' were
+ updated to version 0.5 of the `font-tlwg' bundle.
+
+ errors:
+ CJKfntef.sty:
+ An incompatibility with recent versions of `ulem.sty'
+ was fixed.
+
+ ruby.sty:
+ Fix case where furigana is smaller than base glyph.
+
+
+Version 4.8.4:
+18-Apr-2015
+ errors:
+ CJKutf8.sty:
+ Fix space handling of non-CJK characters.
+
+ CJK.sty:
+ In \Unicode, fix conditional to allow line breaks.
+
+
+---End of history.txt---
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/japanese/README b/language/chinese/CJK/cjk-4.8.4/doc/japanese/README
new file mode 100644
index 0000000000..ab5101887a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/japanese/README
@@ -0,0 +1,18 @@
+* The documentation files in this directory describe version 3.1.0; mule2cjk
+* no longer exists---please read cjk-enc.txt for the new interaction between
+* Mule and CJK. Until now I couldn't reach the author again.
+
+In this directory you find a suite of small documentation files which deal
+with CJK and other Japanese features/systems in relation to TeX. They were
+contributed by TANAKA Shinichiro <tanaka3@ifos.se.fujitsu.co.jp>.
+
+japanese.jis is the Japanese version of japanese.txt . Note that this file
+and the file shibuaki.txt contain Japanese characters in JUNET encoding.
+
+Please send any comments and suggestions to the author of these doc files.
+Questions related to non-CJK topics should be asked in the fj.comp.text
+news group since the author only uses CJK.
+
+
+Documentation how to use Wadalab fonts can be found in the contrib/wadalab
+directory.
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/japanese/ascii.txt b/language/chinese/CJK/cjk-4.8.4/doc/japanese/ascii.txt
new file mode 100644
index 0000000000..41815cca5a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/japanese/ascii.txt
@@ -0,0 +1,58 @@
+ASCII Co. was founded by Mr. Nishi Kazuhiko, Mr. Tsukamoto, and Mr. Gunji.
+This company works in the software and publishing field. So ASCII was
+interested in the TeX system. They developed "ASCII Nihongo TeX" in
+cooperation with a group of the Keio University in 1987. ASCII Nihongo TeX
+is freeware. ASCII Co. implemented this system on MS-DOS in 1989 and sold
+it. ASCII Co. added the capability of vertical typesetting to Nihongo TeX---
+this is called the p version or pTeX (publishing TeX).
+
+ASCII translated some important books into the Japanese language. These
+books are of course typesetted with Nihongo TeX.
+
+ "The TeX book", "The Metafont book" Knuth.
+
+ "LaTeX: A Document Preparation System" Lamport.
+
+Many articles about TeX appear in the "UNIX magazine" published monthly by
+ASCII.
+
+
+Some features of Nihongo TeX:
+
+ 1. The dvi file format is different from the original TeX's dvi file
+ format. (NTT-JTeX's dvi file format is the same as original one. So we
+ can use NTT-JTeX's dviware for the CJK package.)
+
+ 2. Nihongo TeX is not only capable of using TeX Font Metric files (tfm),
+ but can also use Japanese Font Metric files (jfm). The jfm file format
+ is defined as an extension of the tfm file format for Nihongo TeX. One
+ jfm file has about 7000 kanji character metrics and kerning
+ informations to cover entire JIS fonts (and thus avoiding subfonts).
+ [See shibuaki.txt for some details about space handling between
+ Japanese and ASCII characters.]
+
+ 3. Characters can be printed vertically.
+
+
+In 1992 Tsukamoto and Gunji retired from ASCII Co. and founded Impress Co.,
+and some engineers specialized on TeX moved from ASCII to Impress.
+
+Impress Co. works in same field as ASCII Co., namely software and
+publishing. In 1994 Impress made and sold "TeX for Windows" based on an
+older version of ASCII Nihongo TeX (a modified TeX version 2.99). This
+system runs on Windows 3.1, Windows 95 or Windows NT and has been sold to
+many PC users. Literature is also available for "TeX for Windows".
+
+A major drawback of this system is that it is not yet based on TeX 3 and
+thus cannot fully support LaTeX2e or multilingual issues.
+
+
+In November 1995 ASCII announced the latest version of Nihongo TeX (pTeX
+2.1.1) which is based on TeX 3.1415; this package also contains a format
+file of LaTeX2e <1995/06/01>.
+
+At the time of this writing (1996/02/09) ASCII Nihongo TeX's version is pTeX
+2.1.4 .
+
+
+Version 1.0 Beta2 (1996/02/09) written by tanaka3@ifos.se.fujitsu.co.jp
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/japanese/japanese.jis b/language/chinese/CJK/cjk-4.8.4/doc/japanese/japanese.jis
new file mode 100644
index 0000000000..69e034c6d1
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/japanese/japanese.jis
@@ -0,0 +1,642 @@
+This is the file japanese.jis of the CJK macro package ver. 4.1.0
+(20-Nov-1996).
+
+(Font metric $B$,(B $BF|K\8l(B PS $B%U%)%s%HFbB"$N(B PostScript $B%W%j%s%?!<$H6&MQ$7(B
+$B$F;H$&;v$,2DG=$J(B) DNP $B%U%)%s%H$H!"EOJU%U%)%s%H$N;H$$J}$K$D$$$F$^$H$a$F(B
+$B$"$j$^$9!#(B
+
+hbf2gf $B$H6&$K;H$&(B kanji48 font $B$N;H$$J}$OB>$N(B CJK bitmap files $B$HF1$8(B
+$B$G$9!#>\:Y$O(B hbf2gf.txt $B$K=q$+$l$F$$$^$9!#(B
+
+
+kanji48 font
+------------
+
+$B$3$N(B font $B$O$I$3$K$"$j$^$9$+!)(B)
+
+Host ftp.tex.ac.uk
+ Location: /pub/archive/fonts/CJK
+ FILE -rw-rw-r-- 1 ctan TeX 742459 Dec 1 00:01 kanji48.tar.gz
+Host ftp.dante.de
+ Location: /tex-archive/fonts/CJK
+ FILE -rw-rw-r-- 1 Mr.Ftp server 742459 Dec 1 00:01 kanji48.tar.gz
+
+$B$^$?$O!"$"$J$?$N%5%$%H$N6a$/$N(B CTAN $B$N%_%i!<$r$7$F$$$k%5%$%H$K$"$j$^$9!#(B
+
+
+$B$I$&$d$C$F(B CJK $B$+$i;H$&$N$G$9$+!)(B)
+
+$B0J2<$N$h$&$K(B CJK.sty $B$GF|K\8l$NJ8>O$r=q$$$F$/$@$5$$(B:
+
+with latex:
+
+ \documentclass[a4paper]{article}
+ \topmargin=-3.5cm
+ \textheight=26cm
+ \usepackage{CJK}
+ \usepackage{indentfirst}
+
+ \begin{document}
+ \begin{CJK*}{JIS}{song}
+
+ .....
+ < "$BF|K\8l$NJ8>O(B" >
+ .....
+
+ \end{CJK*}
+ \end{document}
+
+
+with mulatex:
+
+ \documentclass[a4paper]{article}
+ ....
+ \usepackage[global]{CJK}
+ \usepackage{indentfirst}
+
+ \begin{document}
+ \begin{CJK*}{}{}
+
+ .....
+ < "$BF|K\8l$NJ8>O(B" >
+ .....
+
+ \end{CJK*}
+ \end{document}
+
+
+CJK $B%Q%C%1!<%8$O(B CJK $B$H(B CJK* $B$H$$$&#2$D$N4D6-$rDs6!$7$^$9!#(BCJK* $B$N4D6-(B
+$B$O(B CJK $BJ8;z(B($BF|K\8l!"4Z9q8l!"Cf9q8l(B)$B$N8e$m$N6uGr$r05=L$7$^$9!#(BCJK $B$N4D(B
+$B6-$O05=L$7$^$;$s!#(B
+
+$BF|K\8l$7$+=q$+$J$$$N$G$"$l$P!"(BCJK* $B$N4D6-$r;H$&$Y$-$G$7$g$&!#$I$&$7$F(B
+$B$b(B(CJK* $B4D6-$NCf$G(B) CJK $BJ8;z$N8e$K6uGr$,I,MW$J>l9g$K$O(B `\ ' $B$d(B `{}' $B$J(B
+$B$I$N$h$&$J(B TeX $B%3%^%s%I$r;H$o$J$1$l$P$J$j$^$;$s!#(B
+
+$B$^$?!"F|K\8l0J30$N8@8l$NCf$G$bF|K\8l$r=q$/$3$H$,$G$-$k$h$&$K!"(Bmulatex
+$B$r;H$&$J$i!"(B
+
+ \usepackage[global]{CJK}
+
+$B$H@k8@$9$k;v$r6/$/?d>)$7$^$9!#>\:Y$O(B mule2cjk.doc $B$r8+$F2<$5$$!#(B
+
+
+DNP $B%U%)%s%H(B
+------------
+
+DNP fonts $B$H$O$J$s$G$9$+!)(B)
+
+DNP $B$H$OF|K\$NBg<j0u:~2q<R$G$"$kBgF|K\0u:~$N$3$H$G$9!#(BDNP $B%U%)%s%H$OBg(B
+$BF|K\0u:~$K$h$C$F:n$i$l$?>&MQ%U%)%s%H$G$9!#<+J,$N%5%$%H$K$9$G$K(B DNP $B%U%)(B
+$B%s%H$,%$%s%9%H!<%k$5$l$F$$$k$J$i!"$=$l$r$D$+$&$Y$-$G$7$g$&!#(BDNP $B%U%)%s(B
+$B%H$r%(%_%e%l!<%H$9$k$?$a$KEOJU%U%)%s%H$r%+%9%?%^%$%:$7$?EOJU(B DNP $B%U%)(B
+$B%s%H$O(B freeware $B$H$7$F;HMQ$9$k$3$H$,$G$-$^$9!#(BDNP $B%U%)%s%H$r%(%_%e%l!<(B
+$B%H$9$kJ}K!$O%7%s%\%j%C%/%j%s%/$G$9!#(B
+
+$B$3$N(B font $B$O$I$3$K$"$j$^$9$+!)(B )
+
+ watanabe-dnp (pk files)
+ ftp.math.s.chiba-u.ac.jp://tex/watanabe-dnp/300
+ jb10-300pk.tar.gz jb10-622pk.tar.gz jm10-329pk.tar.gz
+ jm10-746pk.tar.gz jb10-329pk.tar.gz jb10-746pk.tar.gz
+ jm10-360pk.tar.gz jm8-300pk.tar.gz jb10-360pk.tar.gz
+ jb8-300pk.tar.gz jm10-432pk.tar.gz jm9-300pk.tar.gz
+ jb10-432pk.tar.gz jb9-300pk.tar.gz jm10-518pk.tar.gz
+ jb10-518pk.tar.gz jm10-300pk.tar.gz jm10-622pk.tar.gz
+ tfm files
+ ftp.math.s.chiba-u.ac.jp://tex/watanabe-dnp/tfm-dnp.tar.gz
+ ftp.math.s.chiba-u.ac.jp://tex/watanabe-dnp/tfm.tar.gz
+ tools for symbolic link
+ ftp.math.s.chiba-u.ac.jp://tex/watanabe-dnp/fake.tar.gz
+
+$B$I$&$d$C$F%;%C%H%"%C%W$9$k$N$G$7$g$&$+!)(B)
+
+ $B$"$J$?$N(B font $B%G%#%l%/%H%j$r(B $fonts $B$H2>Dj$7$^$9!#(B
+ (e.g. /usr/local/lib/tex/fonts/japan)
+ $B$5$i$K!">e5-$N%U%!%$%k$NCV$+$l$F$$$k%G%#%l%/%H%j$r(B $src $B$H2>Dj(B
+ $B$7$^$9!#(B
+ (e.g. /usr/local/src)
+
+ ftp server $B$+$i(B get $B$7$?%U%!%$%k$rE83+$7$^$9!#(B
+
+ % cd $src
+ % gunzip -c fake.tar.gz | tar xvf -
+ % gunzip -c jd....pk.tar.gz | tar xvf -
+ % gunzip -c jm....pk.tar.gz | tar xvf -
+ % gunzip -c tfm.tar.gz | tar xvf -
+
+ $B%G%#%l%/%H%j$N:n@.!#(B
+
+ % cd $fonts
+ % mkdir $fonts/watanabe-dnp
+ % mkdir $fonts/watanabe-dnp/jd300
+ % mkdir $fonts/watanabe-dnp/tfm
+
+ $B%U%!%$%k$r(B copy $B$7$^$9!#(B
+
+ % cd $fonts/watanabe-dnp
+ % cp $src/fake/* .
+ % cp $src/tfm/* tfm
+ % cp $src/*pk/*pk jd300
+
+ $BA4$F$NEOJU%U%)%s%H$r:n@.$7$^$9!#(B
+
+ % make mk-300ex
+
+ $B%7%s%\%j%C%/%j%s%/$rD%$j$^$9!#(B
+
+ % mkdir $fonts/dnp
+ % cd $fonts/dnp
+ % cp $fonts/watanabe-dnp/LNFAKE .
+
+ $B<!$K(B dnp $B%G%#%l%/%H%j$N(B `LNFAKE' $B$rJT=8$7$^$9!#(B`wdir' $B$NItJ,$r(B
+ $B$"$J$?$,EOJU(B DNP $B%U%)%s%H$r%$%s%9%H!<%k$7$?%G%#%l%/%H%j$K%;%C%H(B
+ $B$7$^$9!#(B
+
+ wdir=../watanabe-dnp/jd300/
+
+ $B$=$N8e!"0J2<$r<B9T$7$F2<$5$$!#(B
+
+ % LNFAKE jm dm
+ % LNFAKE jb dg
+
+
+ $B%$%s%9%H!<%k8e$N%G%#%l%/%H%j!<%D%j!<$O0J2<$N$h$&$K$J$j$^$9(B:
+
+ $fonts/ +- watanabe-dnp/ +-jd300/ (all pk files)
+ | |
+ | +-tfm/
+ | |
+ | +-Makefile, FAKEDNP, FAKETFM, fake.c ...
+ |
+ +- dnp/
+
+ $fonts/watanabe-dnp/jd300 $B$H(B $fonts/dnp $B$@$1$,I,MW$J$N$G!"(B
+ $fonts/watanabe-dnp/tfm/ $B$dI,MW$NL5$$%U%!%$%k$O:o=|$7$F9=$$$^$;$s!#(B
+
+ tfm $B$r%$%s%9%H!<%k$7$F$"$k%G%#%l%/%H%j$K0\$C$F!"0J2<$r<B9T$7$F$/$@(B
+ $B$5$$!#(B
+
+
+ % gunzip -c tfm-dnp.tar.gz | tar xvf -
+
+ $B$=$l$+$i!"(Btfm-dnp $B$N%U%k%Q%9$r4D6-JQ?t(B TEXFONTS $B$KDI2C$7$F2<$5$$!#(B
+
+
+$B$I$&$d$C$F(B CJK $B$+$i;H$&$N$G$9$+!)(B)
+
+DNP $B%U%)%s%H$G(B CJK.sty $B$r;H$&Nc$G$9!#(B
+
+with latex:
+
+ \documentclass[a4paper]{article}
+ \topmargin=-3.5cm
+ \textheight=26cm
+ \usepackage{CJK}
+ \usepackage{indentfirst}
+
+ \begin{document}
+ \begin{CJK*}[dnp]{JIS}{song}
+
+ < "$BF|K\8l$NJ8>O(B" >
+
+ \end{CJK*}
+ \end{document}
+
+
+with mulatex:
+
+ \documentclass[a4paper]{article}
+ ....
+ \usepackage[global]{CJK}
+ \usepackage{indentfirst}
+
+ \CJKfontenc{JIS}{dnp}
+
+ \begin{document}
+ \begin{CJK*}{}{}
+
+ < "$BF|K\8l$NJ8>O(B" >
+
+ \end{CJK*}
+ \end{document}
+
+
+[$B$J$<!"(Bmulatex $B$H6&$K(B `\begin{CJK*}[dnp]{}{}' $B$H=q$$$F$O$$$1$J$$(B
+$B$+$K$D$$$F$O!"(Bmule2cjk.doc $B$rFI$s$G2<$5$$(B]
+
+
+$BEOJU(B $B%U%)%s%H(B
+-------------
+
+$B%*%j%8%J%k$NEOJU%U%)%s%H$b$^$?!"(BCJK $B$N4D6-$G;H$&;v$,=PMh$^$9!#(B
+
+$B$3$N(B font $B$O$I$3$K$"$j$^$9$+!)(B)
+
+ watanabe-jfonts (pk files)
+ ftp.iij.ad.jp://pub/TeX/fonts/watanabe-jfonts/300
+ b250.lzh b274.lzh b300.lzh b329.lzh b360.lzh
+ b432.lzh b518.lzh b622.lzh b746.lzh m250.lzh
+ m274.lzh m300.lzh m329.lzh m360.lzh m432.lzh
+ m518.lzh m622.lzh m746.lzh
+
+ ftp.iij.ad.jp://pub/TeX/fonts/watanabe-jfonts/400
+
+ tfm files
+ ftp.iij.ad.jp://pub/TeX/fonts/watanabe-jfonts/tfmfiles.lzh
+
+
+$B$I$&$d$C$F(B CJK $B$+$i;H$&$N$G$9$+!)(B)
+
+$BEOJU%U%)%s%H$+$i(B CJK $B$r;H$&Nc$r0J2<$K<($7$^$9!#(B
+
+with latex:
+
+ \documentclass[a4paper]{article}
+ \topmargin=-3.5cm
+ \textheight=26cm
+ \usepackage{CJK}
+ \usepackage{indentfirst}
+
+ \begin{document}
+ \begin{CJK*}[wn]{JIS}{song}
+
+ < "$BF|K\8l$NJ8>O(B" >
+
+ \end{CJK*}
+ \end{document}
+
+
+with mulatex:
+
+ \documentclass[a4paper]{article}
+ ....
+ \usepackage[global]{CJK}
+ \usepackage{indentfirst}
+
+ \CJKfontenc{JIS}{wn}
+
+ \begin{document}
+ \begin{CJK*}{}{}
+
+ < "$BF|K\8l$NJ8>O(B" >
+
+ \end{CJK*}
+ \end{document}
+
+
+compilation and coding-system
+-----------------------------
+
+$B$b$7!"(Blatex $B%U%!%$%k$r(B latex $B%3%^%s%I$r;H$C$F%3%s%Q%$%k$9$k$J$i!"%U%!(B
+$B%$%k$rF|K\8l(B EUC $B$GJ]B8$7$J$1$l$P$J$j$^$;$s!"$=$7$F(B
+
+ latex yourfile
+
+$B$H$7$F(B latex $B%U%!%$%k$r=hM}$7$F2<$5$$!#(B
+
+[$B%U%!%$%k$r(B SJIS $B$GJ]B8$9$k;v=PMh$^$9!#$=$N;~$O(B CJK $B$N4D6-$K$*$1$k%(%s(B
+$B%3!<%G%#%s%0%Q%i%a!<%?$r(B JIS $B$NBe$o$j$K(B SJIS $B$K$7$J$1$l$P$J$j$^$;$s!#(B
+SJIS$B$N4D6-$G$b(B JIS $B$N%U%)%s%H$r;H$$$^$9!#(B]
+
+$B$b$7(B latex $B%U%!%$%k$r(B mulatex $B%3%^%s%I$r;H$C$F%3%s%Q%$%k$9$k$J$i!"(B
+latex file $B$rJ]B8$9$k;~$K(B coding $B%7%9%F%`$K4X$7$F$$$/$D$+$NA*Br;h$r;}(B
+$B$D;v$,=PMh$^$9!#(BCJK $B%Q%C%1!<%8$K%G%U%)%k%H$GIU$$$FMh$k(B mulatex $B$r;H$&(B
+$B$J$i(B latex file $B$r(B Mule $B$N(B internal code$B$GJ]B8$7$F!"(B
+
+ mulatex yourfile
+
+$B$H$7$F(B latex $B%U%!%$%k$r=hM}$7$F2<$5$$!#(B
+
+[mulatex $B$O(B CJK $B%Q%C%1!<%8$N(B utils/mule2cjk $B$H$$$&%G%#%l%/%H%j$KCV$+(B
+$B$l$F$$$^$9!#(Bmule2cjk.doc $B$r;2>H$7$F2<$5$$!#(B]
+
+$B$7$+$7!"(BMule $B$N(B internal code $B$,I8=`$N%3!<%I7O$G$J$$$H$+!"(BMule $B0J30$G(B
+$BFI$a$J$$$H$+!">-MhJQ$o$C$F$7$^$&$+$b$7$l$J$$$H$$$&M}M3$G!"(Blatex file
+$B$r(B Mule $B$N(B internal code $B$GJ]B8$7$?$/$J$$>l9g$O!"(Blatex file $B$r!"(B
+ISO2022 $B%(%s%3!<%G%#%s%0$r4p$K$7$?(B *junet* $B$GJ]B8$9$k$+!"(BX window
+system $B$G(B Compound Text Encoding $B$H$7$F;H$o$l$F$$$k(B *ctext* $B$GJ]B8$9$k(B
+$B$3$H$,$G$-$^$9!#0J2<$N$&$A$N0l$D$N(B mulatex shell script $B$GCV$-49$($F2<(B
+$B$5$$!#(B
+
+ : mulatex for *junet*
+
+ % cat mulatex
+ #!/bin/sh
+ # mulatex : LaTeX2e for Mule's *junet* encoding
+ #
+ fname=`echo $1 | sed 's/\.[^\.]*$//g'`
+ coco '*junet*' '*internal*' < $1 | mule2cjk > $fname.cjk
+ st=$?
+ if [ $st -ne 0 ] ; then
+ exit $st
+ fi
+ latex $fname.cjk
+ st=$?
+ if [ -f $fname.cjk ] ; then
+ /bin/rm -f $fname.cjk
+ fi
+ exit $st
+ %
+
+ : mulatex for *ctext*
+
+ % cat mulatex
+ #!/bin/sh
+ # mulatex : LaTeX2e for Mule's *ctext* encoding
+ #
+ fname=`echo $1 | sed 's/\.[^\.]*$//g'`
+ coco '*ctext*' '*internal*' < $1 | mule2cjk > $fname.cjk
+ st=$?
+ if [ $st -ne 0 ] ; then
+ exit $st
+ fi
+ latex $fname.cjk
+ st=$?
+ if [ -f $fname.cjk ] ; then
+ /bin/rm -f $fname.cjk
+ fi
+ exit $st
+ %
+
+auctex $BL5$7$G(B mule $B$r;H$&>l9g$O!"0J2<$N(B Lisp code $B$r=i4|2=%U%!%$%k(B
+`.emacs' $B$KIU$12C$($F2<$5$$!#(B
+
+ : `.emacs' for *junet*
+
+ (add-hook 'LaTeX-mode-hook
+ (function (lambda ()
+ (set-file-coding-system *junet*)
+ )))
+
+ : `.emacs' for *ctext*
+
+ (add-hook 'LaTeX-mode-hook
+ (function (lambda ()
+ (set-file-coding-system *ctext*)
+ )))
+
+`coco' $B$O(B Mule $B$N(B package $B$K4^$^$l$F$$$k%W%m%0%i%`$G$9!#(B
+
+
+auctex
+------
+
+auctex $B$O(B TeX $B$H(B LaTeX $B%f!<%6!<$N$?$a$N(B elisp $B%Q%C%1!<%8$G$9!#(BCJK $B$N4D(B
+$B6-$r(B auctex $B$KE}9g$9$k$N$O4JC1$G$9!#;H$$J}$O!"(Bdvi $B%U%!%$%k$r%3%s%Q%$%k(B
+$B$9$k$?$a$N%?%$%W%;%C%H%3%^%s%I$,(B latex $B$G$O$J$/(B mulatex $B$G$"$kE@$r=|$1(B
+$B$P!"I8=`$N(B LaTeX $B$HA4$/F1$8$G$9!#0J2<$N%3!<%I$r$"$J$?$N(B `.emacs' $B$+(B
+($B$b$72DG=$J$i(B tex-site.el $B$K(B)$BDI2C$7$F2<$5$$!#(B
+
+ : `.emacs' for auctex users
+
+ (add-hook 'LaTeX-mode-hook
+ (function (lambda ()
+ (set-file-coding-system *junet*)
+ (nconc
+ TeX-command-list
+ (list
+ (list "MuLaTeX" "aucmulatex %t" 'TeX-run-LaTeX nil t)
+ )
+ )
+ (setq TeX-command-default "MuLaTeX")
+ )))
+
+
+ : mulatex for auctex users
+
+ % cat aucmulatex
+ #!/bin/sh
+ # aucmulatex : LaTeX2e in auctex mode for Mule's *junet* encoding
+ #
+ fname=`echo $1 | sed 's/\.[^\.]*$//g'`
+ coco '*junet*' '*internal*' < $1 | mule2cjk > $fname.cjk
+ st=$?
+ if [ $st -ne 0 ] ; then
+ exit $st
+ fi
+ latex \\nonstopmode\\input{$fname.cjk}
+ st=$?
+ if [ -f $fname.cjk ] ; then
+ /bin/rm -f $fname.cjk
+ fi
+ exit $st
+ %
+
+ $B$3$NNc$O!"(B*junet* $B$K$D$$$F$N$_=q$+$l$F$$$^$9$,!"$b$A$m$sB>$N%3!<%I(B
+ $B7O$G$bF1MM$K;H$($^$9!#(B
+
+
+auctex (yet another usage)
+----------------------------
+
+Shell $B%9%/%j%W%H$r;H$C$?(B mulatex $B$NJQ$o$j$K(B $BD>@\(B elisp $B$r=q$/;v$b$G$-(B
+$B$^$9!#(BLaTeX $B%U%!%$%k$,(B *junet* $B$d(B *ctext*, *euc-japan* $B$H$$$C$?%3!<%I(B
+$B7O$G=q$+$l$F$$$?$H$7$F$b!"(BMule $B$O<+F0E*$K$=$l$i$N%3!<%I$rH=JL$9$k$G$7$g(B
+$B$&!#0J2<$N%3!<%I$r$"$J$?$N(B `.emacs' $B$+(B($B$b$72DG=$J$i(B tex-site.el $B$K(B)$BDI(B
+$B2C$7$F2<$5$$!#(B
+
+ : `.emacs' for auctex user (for Mule 2.3 based on emacs 19.28)
+
+ (add-hook 'LaTeX-mode-hook
+ (function (lambda ()
+ (nconc
+ TeX-command-list
+ (list
+ (list "MuLaTeX" "latex '\\nonstopmode\\input{%c}'"
+ 'TeX-run-MuLaTeX nil t)
+ )
+ )
+ (nconc
+ TeX-expand-list
+ (list
+ (list "%c" 'file "cjk")
+ ))
+ (setq TeX-command-default "MuLaTeX")
+ )))
+
+ (define-program-coding-system nil "mule2cjk" *internal*)
+
+ (defvar TeX-LaTeX-CJK-tmpfile nil)
+
+ (defun TeX-MuLaTeX-sentinel (process name)
+ (prog1
+ (TeX-LaTeX-sentinel process name)
+ (delete-file TeX-LaTeX-CJK-tmpfile)))
+
+ ; customized from TeX-run-LaTeX
+ (defun TeX-run-MuLaTeX (name command file)
+ "Run mule2cjk and latex on current TeX buffer."
+
+ (let ((TeX-LaTeX-CJK-tmpbuffer (generate-new-buffer-name "cjk")))
+ (setq TeX-LaTeX-CJK-tmpfile (concat file ".cjk"))
+ (generate-new-buffer TeX-LaTeX-CJK-tmpbuffer)
+ (call-process-region
+ (point-min) (point-max) "mule2cjk" nil TeX-LaTeX-CJK-tmpbuffer nil)
+ (set-buffer TeX-LaTeX-CJK-tmpbuffer)
+ (write-region (point-min) (point-max)
+ TeX-LaTeX-CJK-tmpfile nil nil *internal*)
+
+ (let ((process (TeX-run-format name command file)))
+ (setq TeX-sentinel-function 'TeX-MuLaTeX-sentinel)
+ (if TeX-process-asynchronous
+ process
+ (TeX-synchronous-sentinel name file process)))
+ (kill-buffer TeX-LaTeX-CJK-tmpbuffer)))
+
+
+indentfirst.sty
+---------------
+
+$BF|K\8lJ8>O$NCJMn$N%$%s%G%s%H$N$D$1J}$O%*%j%8%J%k$N(B latex $B$N%$%s%G%s%H$N(B
+$BIU$1J}$H0[$C$F$$$^$9!#$3$NLdBj$r2r7h$9$k$?$a$K!"(B`indentfirst.sty' $B$H$$(B
+$B$&!">o$K:G=i$NCJMn$G%$%s%G%s%H$9$k$?$a$N%9%?%$%k%U%!%$%k$,(B LaTeX2e $B$N(B
+official tool $B$NCf$K$"$j$^$9!#(B
+
+indentfirst.sty $B$O$I$3$K$"$j$^$9$+!)(B)
+
+Host ftp.dante.de
+
+ Location: /tex-archive/macros/latex/packages/tools
+ FILE rw-rw-r-- 1492 Dec 14 17:46 indentfirst.dtx
+
+$B$^$?$O!"$"$J$?$N%5%$%H$N6a$/$N(B CTAN $B$N%_%i!<$r$7$F$$$k%5%$%H$K$"$j$^$9!#(B
+
+/pub/TeX/CTAN/macros/latex/packages/tools $B$K$"$kA4$F$N%U%!%$%k$r(B get
+$B$7$F$=$3$K4^$^$l$k(B readme.txt $B$rFI$s$G$+$i%$%s%9%H!<%k$7$?J}$,$$$$$G(B
+$B$7$g$&!#$=$NCf$K$ONc$($P(B tabular $B$d(B verbatim $B$H$$$C$?Hs>o$KM-MQ$J%9%?(B
+$B%$%k%U%!%$%k$,4^$^$l$F$$$^$9!#(B
+
+\maketitle
+----------
+
+$BF|K\8l$N%?%$%H%k$r=q$-$?$$;~$O!"(B\maketitle $B%3%^%s%I$O(B CJK $B$N4D6-$NFbB&(B
+$B$K$J$/$F$O$$$1$^$;$s!#$J$<$J$i!"F|K\8l$N%?%$%H%k$O(B CJK $BJ8;z$r4^$`$+$i(B
+$B$G$9!#(B
+
+$BNc(B)
+
+ \documentclass[a4paper]{article}
+ ....
+ \usepackage[global]{CJK}
+ \usepackage{indentfirst}
+
+ \begin{CJK*}{}{}
+ \title{ < "$BF|K\8l$NJ8>O(B" > }
+ \author{ < "$BF|K\8l$NJ8>O(B" > }
+ \end{CJK*}
+
+ \begin{document}
+ \begin{CJK*}{}{}
+
+ \maketitle
+ .....
+ < "$BF|K\8l$NJ8>O(B" >
+ .....
+
+ \end{CJK*}
+ \end{document}
+
+
+JIS.cap
+-------
+
+CJK $B$G$OF|K\8l(B caption $B$r;H$&$3$H$b$G$-$^$9!#$=$N$?$a$K$O!"(B($BI8=`$N(B
+class $B$rCV$-49$($F$7$^$&(B) koma-script $B%Q%C%1!<%8$,I,MW$G$9!#(B($B>\$7$/$O(B
+CJK.txt $B$N(B captions $B$r;2>H$7$F$/$@$5$$!#(B)
+
+[CJK 4.1.0 $B$h$jA0$N%P!<%8%g%s$G$O$3$N5!G=$OF|K\8l$K4X$7$F$&$^$/F0:n$7(B
+ $B$^$;$s!#(B]
+
+
+Koma-script $B$O$I$3$K$"$j$^$9$+!)(B)
+
+Host ftp.dante.de
+
+ Location: /tex-archive/macros/latex/contrib/supported
+ DIRECTORY rwxr-xr-x 1024 Jan 23 12:20 koma-script
+
+$B$^$?$O!"$"$J$?$N%5%$%H$N6a$/$N(B CTAN $B$N%_%i!<$r$7$F$$$k%5%$%H$K$"$j$^$9!#(B
+
+$B$I$&$d$C$F(B CJK $B$+$i;H$&$N$G$9$+!)(B)
+
+CJK JIS $B4D6-$NCf$G0J2<$N%3%^%s%I$r=q$/;v$K$h$C$F(B
+
+ \CJKcaption{JIS}
+
+$BF|K\8l(B caption $B$rM-8z$K$9$k;v$,$G$-$^$9!#(B
+
+ CJK.sty $B$H(B Koma-script $B$GF|K\8l(B caption $B$r;H$&$?$a$K$O(B, $B0J2<$NNc$r(B
+ $B$NMM$K$7$F$/$@$5$$!#(B
+
+ % srcartcl is a stylefile of Koma-script
+ \documentclass{scrartcl}
+ \topmargin=-3.5cm
+ \textheight=26cm
+ \usepackage{CJK}
+ \usepackage{indentfirst}
+
+ \begin{document}
+ \begin{CJK*}[dnp]{JIS}{song}
+ \CJKcaption{JIS}
+
+ < "$BF|K\8l$NJ8>O(B " >
+
+ % $BF|K\8l(B Caption
+ \refname{< "$BF|K\8l$NJ8>O(B " >}
+
+ \end{CJK*}
+ \end{document}
+
+
+\newpage
+--------
+
+CJK $B$N%3%^%s%I$,L$Dj5A$G$"$k$H$$$&%(%i!<$K=P$/$o$9>l9g$K$O!"(BCJK $B4D6-$,(B
+$B=*N;$9$kD>A0$G$=$N%Z!<%8$r(B($B%a%b%j$+$i%U%!%$%k$X(B)$B=q$-=P$9I,MW$,$"$j$^$9!#(B
+$B$J$<$J$i!"(BLaTeX $B$O(B CJK $B4D6-$r=*N;8e$K(B(CJK $B%3%^%s%I$r4^$`(B)$B%X%C%@$r(B($B%U%!(B
+$B%$%k$X(B)$B=q$-9~$`$3$H$,$"$k$+$i$G$9!#(B($B>\$7$/$O(B CJK.txt $B$N(B Possible
+errors $B$r;2>H$7$F$/$@$5$$!#(B)
+
+
+$BNc(B)
+
+ \documentclass[a4paper]{article}
+ \usepackage{CJK}
+ \usepackage{indentfirst}
+
+ \begin{document}
+ \begin{CJK*}{JIS}{song}
+
+ < "$BF|K\8l$NJ8>O(B" >
+ .....
+ \newpage
+ \end{CJK*}
+ \end{document}
+
+
+$BF|K\8l(B Postscript $B%W%j%s%?!<(B
+----------------------------
+
+$B<+J,$N%5%$%H$K(B /Ryumin-Light $B$H(B /GothicBBB-Medium $B$r<BAu$7$F$$$k$+!"$b(B
+$B$7$/$O%(%_%e%l!<%H$G$-$kF|K\8l(B PS $B%U%)%s%H$rFbB"$7$F$$$k(B PostScript $B%W(B
+$B%j%s%?!<$,$"$l$P!"(BDNP $B%U%)%s%H%a%H%j%C%/$r;}$D(B dnp-tfm (DNP fonts $B;2>H(B)
+$B$K$h$C$F:n$i$l$?(B dvi $B%U%!%$%k$r4JC1$K0u:~$9$k;v$,$G$-$^$9!#(Bdvi2ps $B$OF|(B
+$BK\8l(B PostScript $B%W%j%s%?$N%I%i%$%P!<%=%U%H$G$9!#$^$?F1MM$K(B DNP $B%U%)%s%H(B
+$B$HF1$8%a%H%j%C%/$r;}$DEOJU(B DNP $B%U%)%s%H$r(B preview $B$K;H$&$3$H$b$G$-$^$9!#(B
+
+dvi2ps $B$O$I$3$K$"$j$^$9$+!)(B)
+
+Host ftp.math.s.chiba-u.ac.jp
+
+ Location: /tex
+ FILE rw-r--r-- 112970 Dec 1 1994 dvi2ps-1.91j.tar.gz
+
+
+------------------
+Version 1.0 Beta7 (1996/02/03)
+ Tanaka Shinichiro Email: tanaka3@ifos.se.fujitsu.co.jp
+
+
+
+---End of japanese.jis---
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/japanese/japanese.txt b/language/chinese/CJK/cjk-4.8.4/doc/japanese/japanese.txt
new file mode 100644
index 0000000000..e637fdb0d7
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/japanese/japanese.txt
@@ -0,0 +1,637 @@
+This is the file japanese.txt of the CJK macro package ver. 4.1.0
+(20-Nov-1996).
+
+It concentrates on the use of DNP fonts (their font metrics can be used
+in conjunction with PS printers which have their own builtin Japanese fonts)
+and watanabe jfonts.
+
+The use of the kanji48 bitmap font together with hbf2gf is similar to all
+other CJK bitmap files and is documented in detail in the file hbf2gf.txt .
+
+
+kanji48 font
+------------
+
+Where is the font ? )
+
+Host ftp.tex.ac.uk
+ Location: /pub/archive/fonts/CJK
+ FILE -rw-rw-r-- 1 ctan TeX 742459 Dec 1 00:01 kanji48.tar.gz
+Host ftp.dante.de
+ Location: /tex-archive/fonts/CJK
+ FILE -rw-rw-r-- 1 Mr.Ftp server 742459 Dec 1 00:01 kanji48.tar.gz
+
+or your nearest CTAN mirror ftp sites.
+
+
+How to use it in CJK ? )
+
+Use CJK.sty with Japanese as follows:
+
+with latex:
+
+ \documentclass[a4paper]{article}
+ \topmargin=-3.5cm
+ \textheight=26cm
+ \usepackage{CJK}
+ \usepackage{indentfirst}
+
+ \begin{document}
+ \begin{CJK*}{JIS}{song}
+
+ .....
+ < Japanese text >
+ .....
+
+ \end{CJK*}
+ \end{document}
+
+
+with mulatex:
+
+ \documentclass[a4paper]{article}
+ ....
+ \usepackage[global]{CJK}
+ \usepackage{indentfirst}
+
+ \begin{document}
+ \begin{CJK*}{}{}
+
+ .....
+ < Japanese text >
+ .....
+
+ \end{CJK*}
+ \end{document}
+
+
+The package CJK offers two environments: CJK and CJK*. CJK* suppresses
+spaces followed by a CJK character, whereas CJK doesn't.
+
+If you write only Japanese, you should use the CJK* environment. If you
+really need a space directly followed by a JIS character, you must then use
+TeX commands like `\ ', `{} ', etc.
+
+It is highly recommended to declare
+
+ \usepackage[global]{CJK}
+
+if you use mulatex to be able to write Japanese inside of other
+environments. See mule2cjk.doc for details.
+
+
+DNP fonts
+---------
+
+What are DNP fonts ? )
+
+DNP stands for "Dai Nippon Printing" (a big printing company in Japan). DNP
+fonts are commercial fonts made by this company; if real DNP fonts have been
+already installed at your site, you should use them. But watanabe-dnp fonts,
+which are customized from watanabe-jfonts to emulate DNP fonts, are
+freeware. The method of emulation is symbolic name linking.
+
+
+Where are the fonts ? )
+
+ watanabe-dnp (pk files)
+ ftp.math.s.chiba-u.ac.jp://tex/watanabe-dnp/300
+ jb10-300pk.tar.gz jb10-622pk.tar.gz jm10-329pk.tar.gz
+ jm10-746pk.tar.gz jb10-329pk.tar.gz jb10-746pk.tar.gz
+ jm10-360pk.tar.gz jm8-300pk.tar.gz jb10-360pk.tar.gz
+ jb8-300pk.tar.gz jm10-432pk.tar.gz jm9-300pk.tar.gz
+ jb10-432pk.tar.gz jb9-300pk.tar.gz jm10-518pk.tar.gz
+ jb10-518pk.tar.gz jm10-300pk.tar.gz jm10-622pk.tar.gz
+ tfm files
+ ftp.math.s.chiba-u.ac.jp://tex/watanabe-dnp/tfm-dnp.tar.gz
+ ftp.math.s.chiba-u.ac.jp://tex/watanabe-dnp/tfm.tar.gz
+ tools for symbolic link
+ ftp.math.s.chiba-u.ac.jp://tex/watanabe-dnp/fake.tar.gz
+
+How to set them up ? )
+
+ Suppose your fonts directory is $fonts ,
+ (e.g. /usr/local/lib/tex/fonts/japan)
+ and your source directory in which the above files are put is $src.
+ (e.g. /usr/local/src)
+
+ You should now expand all fonts that you've downloaded from the ftp
+ server.
+
+ % cd $src
+ % gunzip -c fake.tar.gz | tar xvf -
+ % gunzip -c jd....pk.tar.gz | tar xvf -
+ % gunzip -c jm....pk.tar.gz | tar xvf -
+ % gunzip -c tfm.tar.gz | tar xvf -
+
+ Make directories.
+
+ % cd $fonts
+ % mkdir $fonts/watanabe-dnp
+ % mkdir $fonts/watanabe-dnp/jd300
+ % mkdir $fonts/watanabe-dnp/tfm
+
+ Copy files.
+
+ % cd $fonts/watanabe-dnp
+ % cp $src/fake/* .
+ % cp $src/tfm/* tfm
+ % cp $src/*pk/*pk jd300
+
+ Make all watanabe-dnp fonts.
+
+ % make mk-300ex
+
+ Make symbolic links.
+
+ % mkdir $fonts/dnp
+ % cd $fonts/dnp
+ % cp $fonts/watanabe-dnp/LNFAKE .
+
+ Next, edit the file `LNFAKE' in the dnp directory. Make sure that
+ `wdir' is set to the directory where you have installed watanabe-dnp
+ fonts:
+
+ wdir=../watanabe-dnp/jd300/
+
+ Then execute,
+
+ % LNFAKE jm dm
+ % LNFAKE jb dg
+
+
+ The directory tree after the installation will look like this:
+
+ $fonts/ +- watanabe-dnp/ +-jd300/ (all pk files)
+ | |
+ | +-tfm/
+ | |
+ | +-Makefile, FAKEDNP, FAKETFM, fake.c ...
+ |
+ +- dnp/
+
+ You will need only the directories $fonts/watanabe-dnp/jd300 and
+ $fonts/dnp. You can remove $fonts/watanabe-dnp/tfm/ together with the
+ other now unnecessary files.
+
+ Moving to your tfm directory, execute
+
+ % gunzip -c tfm-dnp.tar.gz | tar xvf -
+
+ Then add tfm-dnp (with the full path) to the TEXFONTS environment
+ variable.
+
+
+How to use them in CJK ? )
+
+See the following examples how to use CJK.sty with DNP fonts.
+
+with latex:
+
+ \documentclass[a4paper]{article}
+ \topmargin=-3.5cm
+ \textheight=26cm
+ \usepackage{CJK}
+ \usepackage{indentfirst}
+
+ \begin{document}
+ \begin{CJK*}[dnp]{JIS}{song}
+
+ <Japanese text>
+
+ \end{CJK*}
+ \end{document}
+
+
+with mulatex:
+
+ \documentclass[a4paper]{article}
+ ....
+ \usepackage[global]{CJK}
+ \usepackage{indentfirst}
+
+ \CJKfontenc{JIS}{dnp}
+
+ \begin{document}
+ \begin{CJK*}{}{}
+
+ <Japanese text>
+
+ \end{CJK*}
+ \end{document}
+
+
+[Read the file mule2cjk.doc for an explanation why you can't say
+ `\begin{CJK*}[dnp]{}{}' with mulatex.]
+
+
+watanabe jfonts
+---------------
+You can also use the original watanabe jfonts in a CJK environment.
+
+Where are the fonts ? )
+
+ watanabe-jfonts (pk files)
+ ftp.iij.ad.jp://pub/TeX/fonts/watanabe-jfonts/300
+ b250.lzh b274.lzh b300.lzh b329.lzh b360.lzh
+ b432.lzh b518.lzh b622.lzh b746.lzh m250.lzh
+ m274.lzh m300.lzh m329.lzh m360.lzh m432.lzh
+ m518.lzh m622.lzh m746.lzh
+
+ ftp.iij.ad.jp://pub/TeX/fonts/watanabe-jfonts/400
+
+ tfm files
+ ftp.iij.ad.jp://pub/TeX/fonts/watanabe-jfonts/tfmfiles.lzh
+
+
+How to use them in CJK ? )
+
+See the following examples how to use CJK.sty with watanabe jfonts.
+
+with latex:
+
+ \documentclass[a4paper]{article}
+ \topmargin=-3.5cm
+ \textheight=26cm
+ \usepackage{CJK}
+ \usepackage{indentfirst}
+
+ \begin{document}
+ \begin{CJK*}[wn]{JIS}{song}
+
+ <Japanese text>
+
+ \end{CJK*}
+ \end{document}
+
+
+with mulatex:
+
+ \documentclass[a4paper]{article}
+ ....
+ \usepackage[global]{CJK}
+ \usepackage{indentfirst}
+
+ \CJKfontenc{JIS}{wn}
+
+ \begin{document}
+ \begin{CJK*}{}{}
+
+ <Japanese text>
+
+ \end{CJK*}
+ \end{document}
+
+
+compilation and coding-system
+-----------------------------
+
+If you use `latex' to compile latex files, you must save these files in
+Japanese EUC and say
+
+ latex yourfile
+
+to process these files.
+
+[You can also save the file in SJIS encoding; then you must use `SJIS'
+ instead of `JIS' as the encoding parameter in the CJK environment. Note
+ that SJIS uses the JIS fonts.]
+
+If you use `mulatex' to compile latex files, there are several possibilities
+in which coding-system you can save your latex files. If you use the
+original mulatex script file that comes with the CJK package, you must save
+these files in Mule's internal code and say
+
+ mulatex yourfile
+
+to process these files.
+
+[mulatex is in utils/mule2cjk in CJK package directory. ref: mule2cjk.doc]
+
+But if you do not like the idea of saving latex files in Mule's internal
+encoding (this coding-system is not a standard coding-system, can not be
+read without Mule and will be changed in the future), you can save them in
+*junet*, which is based on ISO-2022 encoding, or in *ctext*, which is used
+in the X window system as Compound Text Encoding. Then replace the mulatex
+shell script with one of the following examples.
+
+
+ : mulatex for *junet*
+
+ % cat mulatex
+ #!/bin/sh
+ # mulatex : LaTeX2e for Mule's *junet* encoding
+ #
+ fname=`echo $1 | sed 's/\.[^\.]*$//g'`
+ coco '*junet*' '*internal*' < $1 | mule2cjk > $fname.cjk
+ st=$?
+ if [ $st -ne 0 ] ; then
+ exit $st
+ fi
+ latex $fname.cjk
+ st=$?
+ if [ -f $fname.cjk ] ; then
+ /bin/rm -f $fname.cjk
+ fi
+ exit $st
+ %
+
+ : mulatex for *ctext*
+
+ % cat mulatex
+ #!/bin/sh
+ # mulatex : LaTeX2e for Mule's *ctext* encoding
+ #
+ fname=`echo $1 | sed 's/\.[^\.]*$//g'`
+ coco '*ctext*' '*internal*' < $1 | mule2cjk > $fname.cjk
+ st=$?
+ if [ $st -ne 0 ] ; then
+ exit $st
+ fi
+ latex $fname.cjk
+ st=$?
+ if [ -f $fname.cjk ] ; then
+ /bin/rm -f $fname.cjk
+ fi
+ exit $st
+ %
+
+If you use Mule (without auctex), add one of the following pieces of
+Lisp code to your .emacs initialization file.
+
+ : `.emacs' for *junet*
+
+ (add-hook 'LaTeX-mode-hook
+ (function (lambda ()
+ (set-file-coding-system *junet*)
+ )))
+
+ : `.emacs' for *ctext*
+
+ (add-hook 'LaTeX-mode-hook
+ (function (lambda ()
+ (set-file-coding-system *ctext*)
+ )))
+
+The program `coco' is included in the Mule package.
+
+
+auctex
+------
+
+auctex is an elisp package for TeX and LaTeX users. It is easy to integrate
+the CJK environment into auctex; the usage is very similar to ordinary LaTeX
+with the exception that the typesetting command to compile a .dvi file is
+not `latex' but `mulatex'.
+
+Add the following code to your .emacs file (or, if possible, to
+tex-site.el).
+
+ : `.emacs' for auctex users
+
+ (add-hook 'LaTeX-mode-hook
+ (function (lambda ()
+ (set-file-coding-system *junet*)
+ (nconc
+ TeX-command-list
+ (list
+ (list "MuLaTeX" "aucmulatex %t" 'TeX-run-LaTeX nil t)
+ )
+ )
+ (setq TeX-command-default "MuLaTeX")
+ )))
+
+
+ : mulatex for auctex users
+
+ % cat aucmulatex
+ #!/bin/sh
+ # aucmulatex : LaTeX2e in auctex mode for Mule's *junet* encoding
+ #
+ fname=`echo $1 | sed 's/\.[^\.]*$//g'`
+ coco '*junet*' '*internal*' < $1 | mule2cjk > $fname.cjk
+ st=$?
+ if [ $st -ne 0 ] ; then
+ exit $st
+ fi
+ latex \\nonstopmode\\input{$fname.cjk}
+ st=$?
+ if [ -f $fname.cjk ] ; then
+ /bin/rm -f $fname.cjk
+ fi
+ exit $st
+ %
+
+ This example describes only the usage for *junet*. Of course, you can use
+ other coding systems too.
+
+
+auctex (yet another usage)
+----------------------------
+
+You can directly write elisp code instead of using a mulatex shell script
+(not for the faint-hearted :-). If TeX files are written in *junet*, *ctext*,
+*euc-japan* ... encoding, Mule will understand the input files automatically.
+Add the following code to your .emacs file (or, if possible, to tex-site.el).
+
+ : `.emacs' for auctex user (for Mule 2.3 based on emacs 19.28)
+
+ (add-hook 'LaTeX-mode-hook
+ (function (lambda ()
+ (nconc
+ TeX-command-list
+ (list
+ (list "MuLaTeX" "latex '\\nonstopmode\\input{%c}'"
+ 'TeX-run-MuLaTeX nil t)
+ )
+ )
+ (nconc
+ TeX-expand-list
+ (list
+ (list "%c" 'file "cjk")
+ ))
+ (setq TeX-command-default "MuLaTeX")
+ )))
+
+ (define-program-coding-system nil "mule2cjk" *internal*)
+
+ (defvar TeX-LaTeX-CJK-tmpfile nil)
+
+ (defun TeX-MuLaTeX-sentinel (process name)
+ (prog1
+ (TeX-LaTeX-sentinel process name)
+ (delete-file TeX-LaTeX-CJK-tmpfile)))
+
+ ; customized from TeX-run-LaTeX
+ (defun TeX-run-MuLaTeX (name command file)
+ "Run mule2cjk and latex on current TeX buffer."
+
+ (let ((TeX-LaTeX-CJK-tmpbuffer (generate-new-buffer-name "cjk")))
+ (setq TeX-LaTeX-CJK-tmpfile (concat file ".cjk"))
+ (generate-new-buffer TeX-LaTeX-CJK-tmpbuffer)
+ (call-process-region
+ (point-min) (point-max) "mule2cjk" nil TeX-LaTeX-CJK-tmpbuffer nil)
+ (set-buffer TeX-LaTeX-CJK-tmpbuffer)
+ (write-region (point-min) (point-max)
+ TeX-LaTeX-CJK-tmpfile nil nil *internal*)
+
+ (let ((process (TeX-run-format name command file)))
+ (setq TeX-sentinel-function 'TeX-MuLaTeX-sentinel)
+ (if TeX-process-asynchronous
+ process
+ (TeX-synchronous-sentinel name file process)))
+ (kill-buffer TeX-LaTeX-CJK-tmpbuffer)))
+
+
+indentfirst.sty
+---------------
+
+Japanese style of indenting paragraphs is different from the original latex.
+There is a style file called `indentfirst.sty' in the official LaTeX2e
+`tools' package which always indents the first paragraph.
+
+Where is indentfirst.sty ? )
+
+Host ftp.dante.de
+
+ Location: /tex-archive/macros/latex/packages/tools
+ FILE rw-rw-r-- 1492 Dec 14 17:46 indentfirst.dtx
+
+or your nearest CTAN mirror ftp sites.
+
+You should get all files in /pub/TeX/CTAN/macros/latex/packages/tools, read
+the readme.txt file and install them. There are many, many useful styles in it.
+(e.g. tabular or verbatim etc.)
+
+
+\maketitle
+----------
+
+When you write Japanese titles, make sure that the \maketitle command
+is inside of a CJK environment because it contains CJK characters.
+
+example )
+
+ \documentclass[a4paper]{article}
+ ....
+ \usepackage[global]{CJK}
+ \usepackage{indentfirst}
+
+ \begin{CJK*}{}{}
+ \title{ < Japanese Text > }
+ \author{ < Japanese Text > }
+ \end{CJK*}
+
+ \begin{document}
+ \begin{CJK*}{}{}
+
+ \maketitle
+ .....
+ < Japanese Text >
+ .....
+
+ \end{CJK*}
+ \end{document}
+
+
+
+JIS.cap
+-------
+
+CJK provides Japanese captions. You need the koma-script package (which is a
+replacement of the standard classes) to use the caption files. (ref: `CJK
+captions' in CJK.txt)
+
+[This feature does not work for Japanese in CJK versions prior to 4.1.0]
+
+
+Where is Koma-script ? )
+
+Host ftp.dante.de
+
+ Location: /tex-archive/macros/latex/contrib/supported
+ DIRECTORY rwxr-xr-x 1024 Jan 23 12:20 koma-script
+
+or your nearest CTAN mirror ftp sites.
+
+How to use it in CJK ? )
+
+Inside of your CJK JIS environment, put
+
+ \CJKcaption{JIS}
+
+to activate Japanese captions.
+
+ To use CJK.sty and Koma-script for Japanese captions, see the
+ example below.
+
+ % srcartcl is a stylefile of Koma-script
+ \documentclass{scrartcl}
+ \topmargin=-3.5cm
+ \textheight=26cm
+ \usepackage{CJK}
+ \usepackage{indentfirst}
+
+ \begin{document}
+ \begin{CJK*}[dnp]{JIS}{song}
+ \CJKcaption{JIS}
+
+ <Japanese text>
+
+ % Japanese Caption
+ \refname{<Japanese text>}
+
+ \end{CJK*}
+ \end{document}
+
+
+\newpage
+--------
+
+If you encounter an undefined CJK command (just before leaving the CJK
+environment), it is necessary to flush out the page, because LaTeX sometimes
+writes the headers _after_ the environment was closed. (ref: `Possible
+errors' in CJK.txt)
+
+
+example )
+
+ \documentclass[a4paper]{article}
+ \usepackage{CJK}
+ \usepackage{indentfirst}
+
+ \begin{document}
+ \begin{CJK*}{JIS}{song}
+
+ < Japanese text >
+ .....
+ \newpage
+ \end{CJK*}
+ \end{document}
+
+
+Japanese PostScript printer
+---------------------------
+
+If your site has a postscript printer with builtin Japanese PS fonts
+that implements /Ryumin-Light and /GothicBBB-Medium, or a printer that
+can emulate these fonts, you can easily use it to print out a dvi file
+made from dnp-tfm (see DNP fonts). `dvi2ps' is a tool to drive printer
+resident Japanese PS fonts. You can also use watanabe-dnp fonts for
+previewing, as their metric files are the same.
+
+Where is dvi2ps ? )
+
+Host ftp.math.s.chiba-u.ac.jp
+
+ Location: /tex
+ FILE rw-r--r-- 112970 Dec 1 1994 dvi2ps-1.91j.tar.gz
+
+
+------------------
+Version 1.0 Beta8 (1996/02/09)
+ Tanaka Shinichiro Email: tanaka3@ifos.se.fujitsu.co.jp
+
+
+
+---End of japanese.txt---
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/japanese/jp-fonts.txt b/language/chinese/CJK/cjk-4.8.4/doc/japanese/jp-fonts.txt
new file mode 100644
index 0000000000..49d2bae519
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/japanese/jp-fonts.txt
@@ -0,0 +1,54 @@
+Data: Japanese Fonts Environment
+
+
+Phototypesetting systems and font makers.
+ Syaken
+ Morisawa
+ Ryobi
+
+Font makers.
+ Dai Nippon Screen
+ Font Works
+ Ricoh ---> TrueType fonts (MS-mincho, MS-gothic; used in
+ Japanese MS-Windows)
+ (some further companies also make Japanese PS fonts, e.g. URW from
+ Germany)
+
+Printing companies.
+ Dai Nippon Printing (DNP)
+ Tokyo Syoseki Printing
+ Toppan Printing
+ (these are only the biggest companies; many further printing
+ companies are active in Japan)
+
+(Ref: `Dai' means `Big'. `Nippon' means `Japan'. `Syoseki' means `books'.
+ Ricoh is not only a font maker.)
+
+
+ 1. Syaken Co is the most famous and biggest company dealing with
+ phototypesetting systems and fonts in Japan.
+
+ 2. Syaken does not make PostScript Fonts. Their fonts are used
+ only on Syaken's special phototypesetting machines which many
+ printing companies use.
+
+ 3. Morisawa made Postscript Fonts in cooperation with Adobe Inc.
+ It is famous that their fonts have strong software copy
+ protection.
+
+ 4. There are inexpensive PS fonts called `HEISEI Mincho' and
+ `HEISEI Gothic' made by the Nippon standard association (I
+ don't know the exact English name of this association). These
+ fonts are not so beautiful as Morisawa's PS fonts but cheaper.
+
+ 5. In former times pure PostScript printers only had Morisawa's PS
+ fonts as builtin fonts. Now there are also pure PS printers
+ that use builtin Heisei fonts.
+
+ 6. The dvi2ps program outputs Morisawa's font metrics.
+
+
+This document contains no information about the relation about ASCII Nihongo
+TeX and Syaken's phototypesetting machines.
+
+Version 1.0B4 (1996/02/09) written by tanaka3@ifos.se.fujitsu.co.jp
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/japanese/jp-tex.txt b/language/chinese/CJK/cjk-4.8.4/doc/japanese/jp-tex.txt
new file mode 100644
index 0000000000..8effc41832
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/japanese/jp-tex.txt
@@ -0,0 +1,50 @@
+Data: NTT-JTeX's Standard Fonts Environment.
+
+ (La)TeX file
+ |
+ +--- dnp-tfm (DNP font metrics)
+ |
+ dvi file
+ |
+ +-----------------------+-----------------------+
+ | | |
+ dvips-5.58 dvips-5.58 dvi2ps-1.91j
+ | or dvi2ps-1.91j | or dvi2ps-1.91j |
+ | | |
+ real DNP fonts watanabe-dnp fonts Japanese PostScript
+ (pk fonts) (pk fonts) fonts
+ | | |
+ | | |
+ PostScript PostScript Japanese PostScript
+ Printer Printer Printer
+ (or dot Printer (or dot Printer
+ with GhostScript) with GhostScript)
+
+ 1. Real DNP fonts are commercial fonts sold by DNP.
+ DNP Fonts are *not* PostScript fonts but PK fonts.
+
+ 2. Watanabe DNP fonts are freeware. That have same font metrics as
+ real DNP Fonts but have different font names.
+
+ 3. DNP fonts are more beautiful than any available freeware fonts.
+ (The book written about NTT-JTeX is printed by DNP.)
+
+ 4. NTT-JTeX uses DNP Font Metrics by default.
+ dvi2ps is standard dviware for NTT-JTeX.
+
+ 5. The printer resident PostScript fonts have no relation to DNP
+ fonts.
+
+ 6. But dvi2ps use `DNP Font Metrics' to drive printer resident
+ PostScript fonts.
+
+ 7. Recently PostScript fonts are more used than DNP fonts since
+ Japanese PostScript printers are now inexpensive in Japan.
+
+
+This document contains no information about TrueType and outline (vector)
+fonts.
+
+Version 1.0B4 (1996/02/09) written by tanaka3@ifos.se.fujitsu.co.jp
+
+
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/japanese/preview.txt b/language/chinese/CJK/cjk-4.8.4/doc/japanese/preview.txt
new file mode 100644
index 0000000000..574eb29925
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/japanese/preview.txt
@@ -0,0 +1,39 @@
+Data: NTT-JTeX's Preview Environment.
+
+ (La)TeX file
+ |
+ +--- dnp-tfm (DNP fonts metric)
+ |
+ dvi file
+ |
+ +-----------------------+-----------------------+
+ | | |
+ | | |
+ real DNP fonts watanabe-dnp fonts Outline fonts
+ (pk fonts) (pk fonts) (vector fonts)
+ | | |
+ xdvi-20 xdvi-20 [ Now investigating ]
+
+
+ 1. If you use real DNP fonts or watanabe-dnp fonts for printing,
+ you should use them to preview dvi files too.
+
+ 2. If you use a Japanese Postscript printer for printing, there
+ are different possibilities to preview dvi files.
+
+ 1) pk fonts.
+
+ Because dvi files are made from dnp-tfm, you can preview the
+ dvi files by real DNP fonts or watanabe-dnp fonts.
+
+ Of course Japanese PS fonts are not exactly equal to DNP
+ fonts.
+
+ 2) outline fonts.
+
+ Outline fonts need less disc space than PK fonts. You can
+ use outline fonts (often called vector fonts) to preview
+ them.
+
+
+Version 1.0B3 (1996/02/09) written by tanaka3@ifos.se.fujitsu.co.jp
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/japanese/shibuaki.txt b/language/chinese/CJK/cjk-4.8.4/doc/japanese/shibuaki.txt
new file mode 100644
index 0000000000..ca317a82fd
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/japanese/shibuaki.txt
@@ -0,0 +1,150 @@
+
+Handling of space between Kanji and non-Kanji characters.
+
+
+1. Shibuaki or Yonbuaki ($B;MJ,$"$-(B)
+
+
+
+ <Japanese Text> English word <Japanese Text>
+ ^ ^
+ This point This point
+
+ This space is called "Shibuaki" which has a width of a quarter of a kanji
+ font width. It is used only between Kanji and non-Kanji characters.
+ (between Kanji and Kanji only stretchable glue is used; between
+ ASCII and ASCII ordinary space.)
+
+
+2. Yakumono($BLsJ*(B)
+
+ Here are the rules how and where to use Shibuaki.
+
+2.1 Yakumono for ASCII characters
+
+ rules:
+
+ 0 No shibuaki between previous kanji character and the ASCII
+ character, and between next kanji character and the ASCII
+ character.
+
+ <Kanji character><ASCII character><Kanji Character>
+
+ 1 Shibuaki space only between previous kanji character and the
+ ASCII character.
+
+ <Kanji character> <ASCII character><Kanji Character>
+ ^
+ shibuaki
+
+ 2 Shibuaki space only between next kanji character and the ASCII
+ character.
+
+ <Kanji character><ASCII character> <Kanji Character>
+ ^
+ shibuaki
+
+ 3 Shibuaki spaces between kanji characters and ASCII word.
+
+ <Japanese Text> English word <Japanese Text>
+ ^ ^
+ shibuaki shibuaki
+
+
+ Rule 3 is always used by all printable ASCII characters without
+ the following yakumono ASCII characters.
+
+ [This is data from ASCII-Nihongo TeX.]
+
+ % ASCII yakumono characters and the corresponding rules
+ ( 1
+ ) 2
+ [ 1
+ ] 2
+ ` 1
+ ' 2
+ ; 2
+ , 2
+ . 2
+
+2.2 Yakumono for kanji characters
+
+ rules:
+
+ 0 No shibuaki space between previous ASCII character and the kanji
+ character, and between next ASCII character and the kanji
+ character.
+
+ <ASCII character><Kanji character><ASCII character>
+
+ 1 No shibuaki space between previous ASCII character and the kanji
+ character.
+
+ <ASCII character><Kanji character> <ASCII character>
+ ^
+ shibuaki
+
+ 2 No shibuaki space between next ASCII character and the kanji
+ character.
+
+ <ASCII character> <Kanji character><ASCII character>
+ ^
+ shibuaki
+
+ 3 Shibuaki spaces between kanji character and ASCII characters
+
+ <ASCII character> <Kanji character> <ASCII character>
+ ^ ^
+ shibuaki shibuaki
+
+ Rule 3 is always used by all kanji characters without the following
+ yakumono kanji characters.
+
+ [This is data from ASCII-Nihongo TeX.]
+
+ % Kanji yakumono characters and the corresponding rules
+ $B!"(B 1
+ $B!#(B 1
+ $B!$(B 1
+ $B!%(B 1
+ $B!((B 1
+ $B!)(B 1
+ $B!K(B 1
+ $B!J(B 2
+ $B!O(B 1
+ $B!N(B 2
+ $B!Q(B 1
+ $B!P(B 2
+ $B!F(B 2
+ $B!G(B 1
+ $B!H(B 2
+ $B!I(B 1
+ $B!L(B 2
+ $B!M(B 1
+ $B!R(B 2
+ $B!S(B 1
+ $B!T(B 2
+ $B!U(B 1
+ $B!V(B 2
+ $B!W(B 1
+ $B!X(B 2
+ $B!Y(B 1
+ $B!Z(B 2
+ $B![(B 1
+ $B!=(B 0
+ $B!A(B 0
+ $B!D(B 0
+ $B!o(B 0
+ $B!k(B 1
+ $B!l(B 1
+ $B!m(B 1
+
+
+
+
+Reference: "Nihongo TeX technical book I" ASCII co.
+ $BF|K\8l(BTeX$B%F%/%K%+%k%,%$%I(B I $B%"%9%-!<=PHG6I(B
+ 2200 yen.
+
+
+Version 1.0B1 written by tanaka3@ifos.se.fujitsu.co.jp
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/man/html/bg5conv.html b/language/chinese/CJK/cjk-4.8.4/doc/man/html/bg5conv.html
new file mode 100644
index 0000000000..220925812c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/man/html/bg5conv.html
@@ -0,0 +1,86 @@
+<!-- Creator : groff version 1.22.3 -->
+<!-- CreationDate: Sat Apr 18 08:52:39 2015 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>BG5CONV</title>
+
+</head>
+<body>
+
+<h1 align="center">BG5CONV</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+<a href="#AUTHOR">AUTHOR</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">bg5conv &minus;
+convert a TeX document in Big&nbsp;5 encoding into
+&lsquo;preprocessed&rsquo; form.</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>bg5conv</b>
+&lt; <i>infile</i> &gt; <i>outfile</i></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Big&nbsp;5
+encoding for traditional Chinese uses the characters {, },
+and \ which have special meanings in TeX documents.</p>
+
+<p style="margin-left:11%; margin-top: 1em">After
+processing a LaTeX&nbsp;2e document which contains
+Big&nbsp;5 characters with <b>bg5conv</b> you need not care
+about these special characters.</p>
+
+<p style="margin-left:11%; margin-top: 1em">This filter is
+part of the <b>CJK</b> macro package for LaTeX&nbsp;2e.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>sjisconv</b>(1),
+<b>cefconv</b>(1), <b>cef5conv</b>(1), <b>cefsconv</b>(1),
+<b>extconv</b>(1), <br>
+the <b>CJK</b> documentation files.</p>
+
+<h2>AUTHOR
+<a name="AUTHOR"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Werner Lemberg
+&lt;wl@gnu.org&gt;</p>
+<hr>
+</body>
+</html>
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/man/html/cef5conv.html b/language/chinese/CJK/cjk-4.8.4/doc/man/html/cef5conv.html
new file mode 100644
index 0000000000..e65b44cdbf
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/man/html/cef5conv.html
@@ -0,0 +1,99 @@
+<!-- Creator : groff version 1.22.3 -->
+<!-- CreationDate: Sat Apr 18 08:52:45 2015 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>CEF5CONV</title>
+
+</head>
+<body>
+
+<h1 align="center">CEF5CONV</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+<a href="#AUTHOR">AUTHOR</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">cef5conv
+&minus; convert a TeX document in Big&nbsp;5 encoding
+containing CEF macros into &lsquo;preprocessed&rsquo;
+form.</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>cef5conv</b>
+&lt; <i>infile</i> &gt; <i>outfile</i></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The <b>Chinese
+Encoding Framework</b> (<b>CEF</b>) developed by Christian
+Wittern &lt;cwittern@conline.central.de&gt; makes it
+possible to include CJK characters in various encodings
+using the SGML macros <b>&amp;CX-aabb;</b> for Big&nbsp;5
+and CNS encoding and <b>&amp;U-aabb;</b> for Unicode
+(<b>X</b> denotes a number between 0 and 7; 0 represents
+Big&nbsp;5 encoding, 1-7 CNS encoding planes 1-7.
+<b>aabb</b> is either a decimal or hexadecimal number).</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>cef5conv</b>
+converts the CEF macros of a Big&nbsp;5 encoded document
+together with the Big5 encoding itself into a form which can
+directly processed with LaTeX&nbsp;2e. It is identical
+to</p>
+
+<p style="margin-left:22%; margin-top: 1em"><b>bg5conv</b>
+&lt; <i>infile</i> | <b>cefconv</b> &gt; <i>outfile</i></p>
+
+<p style="margin-left:11%; margin-top: 1em">This filter is
+part of the <b>CJK</b> macro package for LaTeX&nbsp;2e.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>sjisconv</b>(1),
+<b>bg5conv</b>(1), <b>cefconv</b>(1), <b>cefsconv</b>(1),
+<b>extconv</b>(1), <br>
+the <b>CJK</b> documentation files.</p>
+
+<h2>AUTHOR
+<a name="AUTHOR"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Werner Lemberg
+&lt;wl@gnu.org&gt;</p>
+<hr>
+</body>
+</html>
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/man/html/cefconv.html b/language/chinese/CJK/cjk-4.8.4/doc/man/html/cefconv.html
new file mode 100644
index 0000000000..2d9c9409f4
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/man/html/cefconv.html
@@ -0,0 +1,91 @@
+<!-- Creator : groff version 1.22.3 -->
+<!-- CreationDate: Sat Apr 18 08:52:43 2015 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>CEFCONV</title>
+
+</head>
+<body>
+
+<h1 align="center">CEFCONV</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+<a href="#AUTHOR">AUTHOR</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">cefconv &minus;
+convert a TeX document containing CEF macros into
+&lsquo;preprocessed&rsquo; form.</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>cefconv</b>
+&lt; <i>infile</i> &gt; <i>outfile</i></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The <b>Chinese
+Encoding Framework</b> (<b>CEF</b>) developed by Christian
+Wittern &lt;cwittern@conline.central.de&gt; makes it
+possible to include CJK characters in various encodings
+using the SGML macros <b>&amp;CX-aabb;</b> for Big&nbsp;5
+and CNS encoding and <b>&amp;U-aabb;</b> for Unicode
+(<b>X</b> denotes a number between 0 and 7; 0 represents
+Big&nbsp;5 encoding, 1-7 CNS encoding planes 1-7.
+<b>aabb</b> is either a decimal or hexadecimal number)</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>cefconv</b>
+converts the CEF macros into a form which can directly
+processed with LaTeX&nbsp;2e.</p>
+
+<p style="margin-left:11%; margin-top: 1em">This filter is
+part of the <b>CJK</b> macro package for LaTeX&nbsp;2e.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>sjisconv</b>(1),
+<b>bg5conv</b>(1), <b>cef5conv</b>(1), <b>cefsconv</b>(1),
+<b>extconv</b>(1), <br>
+the <b>CJK</b> documentation files.</p>
+
+<h2>AUTHOR
+<a name="AUTHOR"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Werner Lemberg
+&lt;wl@gnu.org&gt;</p>
+<hr>
+</body>
+</html>
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/man/html/cefsconv.html b/language/chinese/CJK/cjk-4.8.4/doc/man/html/cefsconv.html
new file mode 100644
index 0000000000..3a474ed4ea
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/man/html/cefsconv.html
@@ -0,0 +1,98 @@
+<!-- Creator : groff version 1.22.3 -->
+<!-- CreationDate: Sat Apr 18 08:52:41 2015 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>CEFSCONV</title>
+
+</head>
+<body>
+
+<h1 align="center">CEFSCONV</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+<a href="#AUTHOR">AUTHOR</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">cefsconv
+&minus; convert a TeX document in SJIS encoding containing
+CEF macros into &lsquo;preprocessed&rsquo; form.</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>cefsconv</b>
+&lt; <i>infile</i> &gt; <i>outfile</i></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The <b>Chinese
+Encoding Framework</b> (<b>CEF</b>) developed by Christian
+Wittern &lt;cwittern@conline.central.de&gt; makes it
+possible to include CJK characters in various encodings
+using the SGML macros <b>&amp;CX-aabb;</b> for Big&nbsp;5
+and CNS encoding and <b>&amp;U-aabb;</b> for Unicode
+(<b>X</b> denotes a number between 0 and 7; 0 represents
+Big&nbsp;5 encoding, 1-7 CNS encoding planes 1-7.
+<b>aabb</b> is either a decimal or hexadecimal number).</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>cefsconv</b>
+converts the CEF macros of a SJIS encoded document together
+with the SJIS encoding itself into a form which can directly
+processed with LaTeX&nbsp;2e. It is identical to</p>
+
+
+<p style="margin-left:22%; margin-top: 1em"><b>sjisconv</b>
+&lt; <i>infile</i> | <b>cefconv</b> &gt; <i>outfile</i></p>
+
+<p style="margin-left:11%; margin-top: 1em">This filter is
+part of the <b>CJK</b> macro package for LaTeX&nbsp;2e.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>sjisconv</b>(1),
+<b>bg5conv</b>(1), <b>cefconv</b>(1), <b>cef5conv</b>(1),
+<b>extconv</b>(1), <br>
+the <b>CJK</b> documentation files.</p>
+
+<h2>AUTHOR
+<a name="AUTHOR"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Werner Lemberg
+&lt;wl@gnu.org&gt;</p>
+<hr>
+</body>
+</html>
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/man/html/extconv.html b/language/chinese/CJK/cjk-4.8.4/doc/man/html/extconv.html
new file mode 100644
index 0000000000..7c54dab351
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/man/html/extconv.html
@@ -0,0 +1,86 @@
+<!-- Creator : groff version 1.22.3 -->
+<!-- CreationDate: Sat Apr 18 08:52:33 2015 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>EXTCONV</title>
+
+</head>
+<body>
+
+<h1 align="center">EXTCONV</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+<a href="#AUTHOR">AUTHOR</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">extconv &minus;
+convert a TeX document in either Big&nbsp;5+ or GBK encoding
+into &lsquo;preprocessed&rsquo; form.</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>extconv</b>
+&lt; <i>infile</i> &gt; <i>outfile</i></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Big&nbsp;5+ and
+GBK encodings use the characters {, }, and \ which have
+special meanings in TeX documents.</p>
+
+<p style="margin-left:11%; margin-top: 1em">After
+processing a LaTeX&nbsp;2e document which contains such
+characters with <b>extconv</b> you need not care about these
+special characters.</p>
+
+<p style="margin-left:11%; margin-top: 1em">This filter is
+part of the <b>CJK</b> macro package for LaTeX&nbsp;2e.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>bg5conv</b>(1),
+<b>sjisconv</b>(1), <b>cefconv</b>(1), <b>cef5conv</b>(1),
+<b>cefsconv</b>(1), <br>
+the <b>CJK</b> documentation files.</p>
+
+<h2>AUTHOR
+<a name="AUTHOR"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Werner Lemberg
+&lt;wl@gnu.org&gt;</p>
+<hr>
+</body>
+</html>
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/man/html/hbf2gf.html b/language/chinese/CJK/cjk-4.8.4/doc/man/html/hbf2gf.html
new file mode 100644
index 0000000000..04fefd2d82
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/man/html/hbf2gf.html
@@ -0,0 +1,648 @@
+<!-- Creator : groff version 1.22.3 -->
+<!-- CreationDate: Sat Apr 18 08:52:37 2015 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>HBF2GF</title>
+
+</head>
+<body>
+
+<h1 align="center">HBF2GF</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#CONFIGURATION FILE">CONFIGURATION FILE</a><br>
+<a href="#FILE SEARCHING">FILE SEARCHING</a><br>
+<a href="#LIMITATIONS">LIMITATIONS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+<a href="#FILES">FILES</a><br>
+<a href="#AVAILABILITY">AVAILABILITY</a><br>
+<a href="#AUTHORS">AUTHORS</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">hbf2gf &minus;
+convert a CJK bitmap font into subfonts usable by TeX and
+Omega.</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>hbf2gf</b>
+[<b>&minus;q</b>] <i>configuration-file</i>[<i>.cfg</i>]
+<b><br>
+hbf2gf</b> [<b>&minus;q</b>] [<b>&minus;p</b>]
+[<b>&minus;g</b>] [<b>&minus;n</b>] <i>subfont-name
+x-resolution</i>
+[<i>y-scale&nbsp;</i>|&nbsp;<i>y-resolution</i>] <b><br>
+hbf2gf &minus;t</b> [<b>&minus;q</b>] <i>subfont-name</i>
+<b><br>
+hbf2gf &minus;&minus;version</b> |
+<b>&minus;&minus;help</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">CJK bitmap
+fonts can&rsquo;t be directly used with TeX because the
+number of characters in such fonts exceeds&nbsp;256, the
+limit of a TeX font. Thus it is necessary to split these
+fonts into subfonts, and this is exactly what <b>hbf2gf</b>
+does.</p>
+
+<p style="margin-left:11%; margin-top: 1em">As the name
+says, <b>hbf2gf</b> uses CJK fonts in a certain format which
+is called <b>Hanzi Bitmap Font</b> (<b>HBF</b>) format. It
+simply consists of the CJK bitmap file(s) and a text file in
+a format very similar to the BDF format of the X&nbsp;Window
+System which describes the bitmap font files: the encoding,
+the size, etc. The produced GF files can then be converted
+with <b>gftopk</b> into standard PK files.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>hbf2gf</b>
+can be called in three modes:</p>
+
+<p style="margin-left:14%; margin-top: 1em"><b>hbf2gf</b>
+[<b>&minus;q</b>] <i>configuration-file</i>[<i>.cfg</i>]</p>
+
+<p style="margin-left:18%; margin-top: 1em">This call
+normally creates a set of GF files, one PL file, and a batch
+file which must be executed after <b>hbf2gf</b> has
+finished. This script will then call <b>gftopk</b> to
+convert all GF files into PK files, and it will call
+<b>pltotf</b> to convert the PL file into a TFM file.
+Finally it will copy the TFM file so that each PK file has
+its TFM file (which are all identical).</p>
+
+<p style="margin-left:18%; margin-top: 1em">If
+<b>ofm_file</b> is set to &lsquo;yes&rsquo; in the
+configuration file, OFM and OVF files will be created
+too.</p>
+
+
+<p style="margin-left:18%; margin-top: 1em"><b>&minus;q</b>
+makes <b>hbf2gf</b> quiet.</p>
+
+<p style="margin-left:14%; margin-top: 1em"><b>hbf2gf</b>
+[<b>&minus;q</b>] [<b>&minus;p</b>] [<b>&minus;g</b>]
+[<b>&minus;n</b>] <i>subfont-name x-resolution</i>
+[<i>y-scale&nbsp;</i>|&nbsp;<i>y-resolution</i>]</p>
+
+<p style="margin-left:18%; margin-top: 1em">This mode is
+intended for use with <b>mktexpk</b> and its derivates. Only
+one GF file together with a PL file for the given subfont
+will be computed, taking the horizontal resolution and a
+vertical scaling factor (if the value is smaller
+than&nbsp;10) resp. the vertical resolution (otherwise) from
+the command line, ignoring the <b>nmb_fonts</b> parameter of
+the configuration file. The last two characters (which are
+interpreted as the subfont number) are stripped to get the
+name for the configuration file (which must end with
+&lsquo;.cfg&rsquo;). No job file will be created. If option
+<b>&minus;p</b> is set, no PL file is created. If
+<b>&minus;g</b> is set, no GF file is created. The extension
+can be controlled with <b>&minus;n</b>; if set, the
+extension is &lsquo;.gf&rsquo;, otherwise
+&lsquo;.&lt;<i>resolution</i>&gt;gf&rsquo;. <b>&minus;q</b>
+makes <b>hbf2gf</b> quiet.</p>
+
+<p style="margin-left:14%; margin-top: 1em"><b>hbf2gf
+&minus;t</b> [<b>&minus;q</b>] <i>subfont-name</i></p>
+
+<p style="margin-left:18%; margin-top: 1em">This mode is
+intended for use with scripts like <b>mktexpk</b>; it tests
+whether the specified subfont name leads to an <b>hbf2gf</b>
+configuration file. It returns 0 on success and prints out
+the name of that configuration file (provided the
+<b>&minus;q</b> switch isn&rsquo;t set). This test
+isn&rsquo;t a thorough one; it only removes the last two
+characters and checks whether a configuration file with that
+name exists.</p>
+
+<p style="margin-left:11%; margin-top: 1em">See the next
+section for more details about configuration files.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Specifying the
+option <b>&minus;&minus;version</b> returns the current
+version of <b>hbf2gf</b> and the used file search library
+(e.g.&nbsp;<b>kpathsea</b>). Usage information is shown with
+the <b>&minus;&minus;help</b> parameter.</p>
+
+<h2>CONFIGURATION FILE
+<a name="CONFIGURATION FILE"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Here a sample
+configuration file (gsfs14.cfg) for a 56&times;56 Chinese
+font in GB encoding; note that all information about the
+font is in the jfs56.hbf file. See the <b>FILE SEARCHING</b>
+section how HBF fonts and <b>hbf2gf</b> configuration files
+are found. See the <b>AVAILABILITY</b> section where to get
+CJK fonts together with its HBF files:</p>
+
+<p style="margin-left:11%; margin-top: 1em">hbf_header
+jfs56.hbf <br>
+mag_x 1 <br>
+threshold 128 <br>
+comment jianti fansongti 56x56 pixel font</p>
+
+<p style="margin-left:11%; margin-top: 1em">design_size
+14.4</p>
+
+<p style="margin-left:11%; margin-top: 1em">y_offset
+&minus;13</p>
+
+<p style="margin-left:11%; margin-top: 1em">nmb_files
+&minus;1</p>
+
+<p style="margin-left:11%; margin-top: 1em">output_name
+gsfs14</p>
+
+<p style="margin-left:11%; margin-top: 1em">checksum
+123456789</p>
+
+<p style="margin-left:11%; margin-top: 1em">dpi_x 300</p>
+
+<p style="margin-left:11%; margin-top: 1em">pk_files no
+<br>
+tfm_files yes</p>
+
+<p style="margin-left:11%; margin-top: 1em">coding
+codingscheme GuoBiao encoded TeX text</p>
+
+<p style="margin-left:11%; margin-top: 1em">pk_directory
+$HBF_TARGET/pk/modeless/gb2312/gsfs14/ <br>
+tfm_directory $HBF_TARGET/tfm/gb2312/gsfs14/</p>
+
+<p style="margin-left:11%; margin-top: 1em">A configuration
+file is a plain text file consisting of keywords and its
+arguments. A keyword must start a line, otherwise the whole
+line will be ignored. If the word starting a line is not a
+keyword, the line will be ignored too. Empty lines will also
+be skipped. The search for keywords is case insensitive; in
+contrast, the arguments will be taken exactly as given
+(except &lsquo;yes&rsquo; and &lsquo;no&rsquo; which can be
+written with uppercase or lowercase letters). Each keyword
+has one argument which must be separated by whitespace
+(blanks or tabs) from the keyword and must be on the same
+line. Each line must not be longer than 256 characters.</p>
+
+<p style="margin-left:11%; margin-top: 1em">You can use
+environment variables in the configuration file. The escape
+character starting an environment variable in the
+configuration file is always &lsquo;$&rsquo;, even for
+operating systems like DOS which has other conventions.
+<b>hbf2gf</b> recognizes only environment variable names
+which start with a letter or an underscore, followed by
+alphanumeric characters or underscores. You can surround the
+variable with braces to indicate where the variable name
+ends, for example ${FOO}. To get a dollar sign you must
+write &lsquo;$$&rsquo;. The expansion of environment
+variables in hbf2gf itself (without the help of either
+kpathsea, emtexdir, or MiKTeX searching routines) is very
+limited; this feature has been carried over from previous
+versions. It can&rsquo;t expand variables set in texmf.cnf;
+it also can&rsquo;t handle more than one directory as the
+variable&rsquo;s value. <b>Don&rsquo;t use it except for the
+&lsquo;pk_directory&rsquo; and &lsquo;tfm_directory&rsquo;
+parameters!</b></p>
+
+<p style="margin-left:11%; margin-top: 1em">This is the
+list of all necessary keywords: <b><br>
+hbf_header</b></p>
+
+<p style="margin-left:22%;">The HBF header file name of the
+input font(s). <b>hbf2gf</b> uses the given searching
+mechanism (kpathsea, emtexdir, or MiKTeX) to locate this
+file.</p>
+
+<p style="margin-left:11%;"><b>output_name</b></p>
+
+<p style="margin-left:22%;">The name stem of the output
+files. A running two digit decimal number starting with
+&lsquo;01&rsquo; will be appended. For Unicode fonts see the
+keyword <b>unicode</b> below. This value is in almost all
+cases identical to the name of the configuration file.</p>
+
+<p style="margin-left:11%; margin-top: 1em">And now all
+optional keywords: <b><br>
+x_offset</b></p>
+
+<p style="margin-left:22%;">Increases the character width.
+Will be applied on both sides; default for non-rotated
+glyphs is the value given in the HBF header
+(<b>HBF_BITMAP_BOUNDING_BOX</b>) scaled to
+<b>design_size</b> (in pixels).</p>
+
+<p style="margin-left:11%;"><b>y_offset</b></p>
+
+<p style="margin-left:22%;">Shifts all characters up or
+down; default for non-rotated glyphs is the value given in
+the HBF header (<b>HBF_BITMAP_BOUNDING_BOX</b>) scaled to
+<b>design_size</b> (in pixels).</p>
+
+<p style="margin-left:11%;"><b>design_size</b></p>
+
+<p style="margin-left:22%;">The design size (in points) of
+the font. <b>x_offset</b> and <b>y_offset</b> refer to this
+size. Default is&nbsp;10.0.</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="7%">
+
+
+<p><b>slant</b></p></td>
+<td width="4%"></td>
+<td width="78%">
+
+
+<p>The slant of the font (given as
+Delta_x&nbsp;/&nbsp;Delta_y). Only values in the range
+0&nbsp;&le;&nbsp;<b>slant&nbsp;</b>&le;&nbsp;1 are allowed.
+Default is&nbsp;0.0.</p></td></tr>
+</table>
+
+<p style="margin-left:11%;"><b>rotation</b></p>
+
+<p style="margin-left:22%;">If set to &lsquo;yes&rsquo;,
+all glyphs will be rotated 90&nbsp;degrees
+counter-clockwise. The default offsets as given in the HBF
+header will be ignored (and set to&nbsp;0). Default is
+&lsquo;no&rsquo;.</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="7%">
+
+
+<p><b>mag_x</b></p></td>
+<td width="4%"></td>
+<td width="78%">
+</td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="7%">
+
+
+<p><b>mag_y</b></p></td>
+<td width="4%"></td>
+<td width="78%">
+
+
+<p>Scaling values of the characters to reach design size.
+If only one magnification is given, x and y values are
+assumed to be equal. Default is
+<b>mag_x&nbsp;</b>=&nbsp;<b>mag_y&nbsp;</b>=&nbsp;1.0.</p> </td></tr>
+</table>
+
+<p style="margin-left:11%;"><b>threshold</b></p>
+
+<p style="margin-left:22%;">A value between 1 and&nbsp;254
+defining a threshold for converting the internal graymap
+into the output bitmap; lower values cut more pixels.
+Default value is&nbsp;128.</p>
+
+<p style="margin-left:11%;"><b>comment</b></p>
+
+<p style="margin-left:22%;">A comment describing the font;
+default is none.</p>
+
+<p style="margin-left:11%;"><b>nmb_fonts</b></p>
+
+<p style="margin-left:22%;">The number of subfonts to
+create. Default value is &minus;1 for creating all
+fonts.</p>
+
+<p style="margin-left:11%;"><b>unicode</b></p>
+
+<p style="margin-left:22%;">If &lsquo;yes&rsquo;, a two
+digit hexadecimal number will be used as a running number,
+starting with the value of the first byte of the first code
+range. Default is &lsquo;no&rsquo;.</p>
+
+<p style="margin-left:11%;"><b>min_char</b></p>
+
+<p style="margin-left:22%;">The minimum value of the
+encoding. You should set this value to get correct subfile
+offsets if it is not identical to the lowest character code
+in the HBF file.</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="7%">
+
+
+<p><b>dpi_x</b></p></td>
+<td width="4%"></td>
+<td width="78%">
+</td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="7%">
+
+
+<p><b>dpi_y</b></p></td>
+<td width="4%"></td>
+<td width="78%">
+
+
+<p>The horizontal and vertical resolution (in dpi) of the
+printer. If only one resolution is given, x and y values are
+assumed to be equal. Default is&nbsp;300.</p></td></tr>
+</table>
+
+<p style="margin-left:11%;"><b>checksum</b></p>
+
+<p style="margin-left:22%;">A checksum to identify the GF
+files with the appropriate TFM files. The default value of
+this unsigned 32bit integer is&nbsp;0.</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="9%">
+
+
+<p><b>coding</b></p></td>
+<td width="2%"></td>
+<td width="78%">
+
+
+<p>A comment describing the coding scheme; default is
+none.</p> </td></tr>
+</table>
+
+<p style="margin-left:11%;"><b>pk_directory</b></p>
+
+<p style="margin-left:22%;">The destination directory of
+the PK files; default: none. Attention! The batch file will
+not check whether this directory exists.</p>
+
+<p style="margin-left:11%;"><b>tfm_directory</b></p>
+
+<p style="margin-left:22%;">The destination directory of
+the TFM files; default: none. Attention! The batch file will
+not check whether this directory exists.</p>
+
+<p style="margin-left:11%;"><b>pk_files</b></p>
+
+<p style="margin-left:22%;">Whether to create PK files or
+not; default is &lsquo;yes&rsquo;.</p>
+
+<p style="margin-left:11%;"><b>tfm_files</b></p>
+
+<p style="margin-left:22%;">Whether to create TFM files or
+not; default is &lsquo;yes&rsquo;.</p>
+
+<p style="margin-left:11%;"><b>ofm_file</b></p>
+
+<p style="margin-left:22%;">Whether to create an OPL file
+or not; default is &lsquo;no&rsquo;. The batch file will
+then use <b>ovp2ovf</b> of the Omega distribution to convert
+it into an OFM and an OVF file. The OPL file simply maps all
+subfonts back to a single Omega font.</p>
+
+<p style="margin-left:11%;"><b>long_extension</b></p>
+
+<p style="margin-left:22%;">If &lsquo;yes&rsquo;, PK files
+will include the resolution in the extension (e.g.
+gsso1201.300pk). This affects the batch file only (default
+is &lsquo;yes&rsquo;).</p>
+
+<p style="margin-left:11%;"><b>rm_command</b></p>
+
+<p style="margin-left:22%;">The shell command to remove
+files; default: &lsquo;rm&rsquo;.</p>
+
+<p style="margin-left:11%;"><b>cp_command</b></p>
+
+<p style="margin-left:22%;">The shell command to copy
+files; default: &lsquo;cp&rsquo;.</p>
+
+<p style="margin-left:11%;"><b>job_extension</b></p>
+
+<p style="margin-left:22%;">The extension of the batch file
+which calls <b>gftopk</b> and <b>pltotf</b> to convert the
+GF and the PL files into PK and TFM files respectively;
+default is none.</p>
+
+<h2>FILE SEARCHING
+<a name="FILE SEARCHING"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>hbf2gf</b>
+uses either the <b>kpathsea</b>, <b>emtexdir</b>, or
+<b>MiKTeX</b> library for searching files (<b>emtexdir</b>
+will work only on operating systems which have an MS-DOSish
+background, i.e., MS-DOS, OS/2, Windows; <b>MiKTeX</b> is
+for Win32 systems).</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>kpathsea</b>
+<br>
+The actual version of kpathsea is displayed on screen if you
+call <b>hbf2gf &minus;&minus;version</b>.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Here is a table
+of the file type and the corresponding <b>kpathsea</b>
+variables.</p>
+
+<p style="margin-left:17%; margin-top: 1em">.hbf MISCFONTS
+<br>
+.cfg HBF2GFINPUTS</p>
+
+<p style="margin-left:11%; margin-top: 1em">Please consult
+the info files of <b>kpathsea</b> for details on these
+variables. The decision which naming scheme to use for
+variables will be done during compilation.</p>
+
+<p style="margin-left:11%; margin-top: 1em">You should set
+the TEXMFCNF variable to the directory where your texmf.cnf
+configuration file resides.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Here is the
+proper command to find out to which value a <b>kpathsea</b>
+variable is set (we use MISCFONTS as an example). This is
+especially useful if a variable isn&rsquo;t set in texmf.cnf
+or in the environment, thus pointing to the default value
+which is hard-coded into the <b>kpathsea</b> library.</p>
+
+<p style="margin-left:14%; margin-top: 1em">kpsewhich
+&minus;progname=hbf2gf
+&minus;expand&minus;var=&rsquo;$MISCFONTS&rsquo;</p>
+
+<p style="margin-left:11%; margin-top: 1em">We select the
+program name also since it is possible to specify variables
+which are searched only for a certain program &ndash; in our
+example it would be MISCFONTS.hbf2gf.</p>
+
+<p style="margin-left:11%; margin-top: 1em">A similar but
+not identical method is to say</p>
+
+<p style="margin-left:14%; margin-top: 1em">kpsewhich
+&minus;progname=hbf2gf &minus;show&minus;path=&rsquo;misc
+fonts&rsquo;</p>
+
+<p style="margin-left:11%; margin-top: 1em">[A full list of
+format types can be obtained by saying &lsquo;kpsewhich
+&minus;&minus;help&rsquo; on the command line prompt.] This
+is exactly how <b>hbf2gf</b> searches for files; the
+disadvantage is that all variables are expanded which can
+cause very long strings.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>emtexdir</b>
+<br>
+Here the list of suffixes and its related environment
+variables to be set in autoexec.bat (resp. in config.sys for
+OS/2):</p>
+
+<p style="margin-left:17%; margin-top: 1em">.hbf HBFONTS
+<br>
+.cfg HBFCFG</p>
+
+<p style="margin-left:11%; margin-top: 1em">If one of the
+variables isn&rsquo;t set, a warning message is emitted. The
+current directory will always be searched. As usual, one
+exclamation mark appended to a directory path causes
+subdirectories one level deep to be searched, two
+exclamation marks causes all subdirectories to be searched.
+Example:</p>
+
+
+<p style="margin-left:14%; margin-top: 1em">HBFONTS=c:\fonts\hbf!!;d:\myfonts\hbf!</p>
+
+<p style="margin-left:11%; margin-top: 1em">Constructions
+like &lsquo;c:\fonts!!\hbf&rsquo; aren&rsquo;t possible.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>MikTeX</b>
+<br>
+Please consult the documentation files of <b>MiKTeX</b> for
+more details.</p>
+
+<h2>LIMITATIONS
+<a name="LIMITATIONS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The x and y
+output size must not exceed <b>MAX_CHAR_SIZE</b>, which is
+defined at compile time; its default value is
+1023&nbsp;(pixel).</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>ttf2pk</b>(1)</p>
+
+<p style="margin-left:11%; margin-top: 1em">hbf2gf.w: this
+is the source code written in <b>CWEB</b> which can be
+converted into a pretty-printed TeX document using
+<b>cweave</b>. The CJK package also contains a preformatted
+hbf2gf.pdf file.</p>
+
+<p style="margin-left:11%; margin-top: 1em">the <b>CJK</b>
+documentation files (hbf2gf.txt).</p>
+
+<p style="margin-left:11%; margin-top: 1em">the <b>Hanzi
+Bitmap File</b> (<b>HBF</b>) standard version&nbsp;1.3;
+available at ftp.ifcss.org.</p>
+
+<p style="margin-left:11%; margin-top: 1em">the Omega
+documentation available at ftp.ens.fr and the CTAN hosts and
+mirrors.</p>
+
+<h2>FILES
+<a name="FILES"></a>
+</h2>
+
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="7%">
+
+
+<p style="margin-top: 1em">*.cfg</p></td>
+<td width="4%"></td>
+<td width="78%">
+
+
+<p style="margin-top: 1em">The <b>hbf2gf</b> configuration
+scripts.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>*.hbf</p></td>
+<td width="4%"></td>
+<td width="78%">
+
+
+<p>HBF header files which describe fixed-width bitmap
+fonts. Note that the bitmap font name(s) themselves as
+specified in the header files are irrelevant for
+<b>hbf2gf</b>.</p> </td></tr>
+</table>
+
+<h2>AVAILABILITY
+<a name="AVAILABILITY"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>hbf2gf</b>
+is part of the CJK macro package for LaTeX&nbsp;2e available
+at the CTAN hosts and its mirrors.</p>
+
+<p style="margin-left:11%; margin-top: 1em">CJK fonts
+together with HBF header files can be found at ftp.ifcss.org
+and its mirrors.</p>
+
+<h2>AUTHORS
+<a name="AUTHORS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Werner Lemberg
+&lt;wl@gnu.org&gt; <br>
+Ross Paterson (the HBF API) &lt;ross@soi.city.ac.uk&gt;</p>
+<hr>
+</body>
+</html>
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/man/html/sjisconv.html b/language/chinese/CJK/cjk-4.8.4/doc/man/html/sjisconv.html
new file mode 100644
index 0000000000..67fa1ac2e1
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/man/html/sjisconv.html
@@ -0,0 +1,87 @@
+<!-- Creator : groff version 1.22.3 -->
+<!-- CreationDate: Sat Apr 18 08:52:35 2015 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>SJISCONV</title>
+
+</head>
+<body>
+
+<h1 align="center">SJISCONV</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+<a href="#AUTHOR">AUTHOR</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">sjisconv
+&minus; convert a TeX document in SJIS encoding into
+&lsquo;preprocessed&rsquo; form.</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>sjisconv</b>
+&lt; <i>infile</i> &gt; <i>outfile</i></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">SJIS encoding
+for Japanese uses the characters {, }, and \ which have
+special meanings in TeX documents.</p>
+
+<p style="margin-left:11%; margin-top: 1em">After
+processing a LaTeX&nbsp;2e document which contains SJIS
+characters with <b>sjisconv</b> you need not care about
+these special characters.</p>
+
+<p style="margin-left:11%; margin-top: 1em">This filter is
+part of the <b>CJK</b> macro package for LaTeX&nbsp;2e.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>bg5conv</b>(1),
+<b>cefconv</b>(1), <b>cef5conv</b>(1), <b>cefsconv</b>(1),
+<b>extconv</b>(1), <br>
+the <b>CJK</b> documentation files.</p>
+
+<h2>AUTHOR
+<a name="AUTHOR"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Werner Lemberg
+&lt;wl@gnu.org&gt;</p>
+<hr>
+</body>
+</html>
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/man/pdf/bg5conv.pdf b/language/chinese/CJK/cjk-4.8.4/doc/man/pdf/bg5conv.pdf
new file mode 100644
index 0000000000..4f49986916
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/man/pdf/bg5conv.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/man/pdf/cef5conv.pdf b/language/chinese/CJK/cjk-4.8.4/doc/man/pdf/cef5conv.pdf
new file mode 100644
index 0000000000..bbfa683627
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/man/pdf/cef5conv.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/man/pdf/cefconv.pdf b/language/chinese/CJK/cjk-4.8.4/doc/man/pdf/cefconv.pdf
new file mode 100644
index 0000000000..c62a32ea00
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/man/pdf/cefconv.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/man/pdf/cefsconv.pdf b/language/chinese/CJK/cjk-4.8.4/doc/man/pdf/cefsconv.pdf
new file mode 100644
index 0000000000..f4dfcd5bd0
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/man/pdf/cefsconv.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/man/pdf/extconv.pdf b/language/chinese/CJK/cjk-4.8.4/doc/man/pdf/extconv.pdf
new file mode 100644
index 0000000000..a644014bec
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/man/pdf/extconv.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/man/pdf/hbf2gf.pdf b/language/chinese/CJK/cjk-4.8.4/doc/man/pdf/hbf2gf.pdf
new file mode 100644
index 0000000000..7e5b7d3800
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/man/pdf/hbf2gf.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/man/pdf/sjisconv.pdf b/language/chinese/CJK/cjk-4.8.4/doc/man/pdf/sjisconv.pdf
new file mode 100644
index 0000000000..f4f77c6052
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/man/pdf/sjisconv.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/man/txt/bg5conv.txt b/language/chinese/CJK/cjk-4.8.4/doc/man/txt/bg5conv.txt
new file mode 100644
index 0000000000..2efd5ab1e2
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/man/txt/bg5conv.txt
@@ -0,0 +1,30 @@
+BG5CONV(1) General Commands Manual BG5CONV(1)
+
+
+
+NAME
+ bg5conv - convert a TeX document in Big 5 encoding into `preprocessed'
+ form.
+
+SYNOPSIS
+ bg5conv < infile > outfile
+
+DESCRIPTION
+ Big 5 encoding for traditional Chinese uses the characters {, }, and \
+ which have special meanings in TeX documents.
+
+ After processing a LaTeX 2e document which contains Big 5 characters
+ with bg5conv you need not care about these special characters.
+
+ This filter is part of the CJK macro package for LaTeX 2e.
+
+SEE ALSO
+ sjisconv(1), cefconv(1), cef5conv(1), cefsconv(1), extconv(1),
+ the CJK documentation files.
+
+AUTHOR
+ Werner Lemberg <wl@gnu.org>
+
+
+
+CJK Version 4.8.4 18-Apr-2015 BG5CONV(1)
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/man/txt/cef5conv.txt b/language/chinese/CJK/cjk-4.8.4/doc/man/txt/cef5conv.txt
new file mode 100644
index 0000000000..d749edeeb1
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/man/txt/cef5conv.txt
@@ -0,0 +1,37 @@
+CEF5CONV(1) General Commands Manual CEF5CONV(1)
+
+
+
+NAME
+ cef5conv - convert a TeX document in Big 5 encoding containing CEF
+ macros into `preprocessed' form.
+
+SYNOPSIS
+ cef5conv < infile > outfile
+
+DESCRIPTION
+ The Chinese Encoding Framework (CEF) developed by Christian Wittern
+ <cwittern@conline.central.de> makes it possible to include CJK charac-
+ ters in various encodings using the SGML macros &CX-aabb; for Big 5 and
+ CNS encoding and &U-aabb; for Unicode (X denotes a number between 0 and
+ 7; 0 represents Big 5 encoding, 1-7 CNS encoding planes 1-7. aabb is
+ either a decimal or hexadecimal number).
+
+ cef5conv converts the CEF macros of a Big 5 encoded document together
+ with the Big5 encoding itself into a form which can directly processed
+ with LaTeX 2e. It is identical to
+
+ bg5conv < infile | cefconv > outfile
+
+ This filter is part of the CJK macro package for LaTeX 2e.
+
+SEE ALSO
+ sjisconv(1), bg5conv(1), cefconv(1), cefsconv(1), extconv(1),
+ the CJK documentation files.
+
+AUTHOR
+ Werner Lemberg <wl@gnu.org>
+
+
+
+CJK Version 4.8.4 18-Apr-2015 CEF5CONV(1)
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/man/txt/cefconv.txt b/language/chinese/CJK/cjk-4.8.4/doc/man/txt/cefconv.txt
new file mode 100644
index 0000000000..87e942e451
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/man/txt/cefconv.txt
@@ -0,0 +1,34 @@
+CEFCONV(1) General Commands Manual CEFCONV(1)
+
+
+
+NAME
+ cefconv - convert a TeX document containing CEF macros into `prepro-
+ cessed' form.
+
+SYNOPSIS
+ cefconv < infile > outfile
+
+DESCRIPTION
+ The Chinese Encoding Framework (CEF) developed by Christian Wittern
+ <cwittern@conline.central.de> makes it possible to include CJK charac-
+ ters in various encodings using the SGML macros &CX-aabb; for Big 5 and
+ CNS encoding and &U-aabb; for Unicode (X denotes a number between 0 and
+ 7; 0 represents Big 5 encoding, 1-7 CNS encoding planes 1-7. aabb is
+ either a decimal or hexadecimal number)
+
+ cefconv converts the CEF macros into a form which can directly pro-
+ cessed with LaTeX 2e.
+
+ This filter is part of the CJK macro package for LaTeX 2e.
+
+SEE ALSO
+ sjisconv(1), bg5conv(1), cef5conv(1), cefsconv(1), extconv(1),
+ the CJK documentation files.
+
+AUTHOR
+ Werner Lemberg <wl@gnu.org>
+
+
+
+CJK Version 4.8.4 18-Apr-2015 CEFCONV(1)
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/man/txt/cefsconv.txt b/language/chinese/CJK/cjk-4.8.4/doc/man/txt/cefsconv.txt
new file mode 100644
index 0000000000..5484c61f60
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/man/txt/cefsconv.txt
@@ -0,0 +1,37 @@
+CEFSCONV(1) General Commands Manual CEFSCONV(1)
+
+
+
+NAME
+ cefsconv - convert a TeX document in SJIS encoding containing CEF
+ macros into `preprocessed' form.
+
+SYNOPSIS
+ cefsconv < infile > outfile
+
+DESCRIPTION
+ The Chinese Encoding Framework (CEF) developed by Christian Wittern
+ <cwittern@conline.central.de> makes it possible to include CJK charac-
+ ters in various encodings using the SGML macros &CX-aabb; for Big 5 and
+ CNS encoding and &U-aabb; for Unicode (X denotes a number between 0 and
+ 7; 0 represents Big 5 encoding, 1-7 CNS encoding planes 1-7. aabb is
+ either a decimal or hexadecimal number).
+
+ cefsconv converts the CEF macros of a SJIS encoded document together
+ with the SJIS encoding itself into a form which can directly processed
+ with LaTeX 2e. It is identical to
+
+ sjisconv < infile | cefconv > outfile
+
+ This filter is part of the CJK macro package for LaTeX 2e.
+
+SEE ALSO
+ sjisconv(1), bg5conv(1), cefconv(1), cef5conv(1), extconv(1),
+ the CJK documentation files.
+
+AUTHOR
+ Werner Lemberg <wl@gnu.org>
+
+
+
+CJK Version 4.8.4 18-Apr-2015 CEFSCONV(1)
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/man/txt/extconv.txt b/language/chinese/CJK/cjk-4.8.4/doc/man/txt/extconv.txt
new file mode 100644
index 0000000000..60eb1ebad7
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/man/txt/extconv.txt
@@ -0,0 +1,30 @@
+EXTCONV(1) General Commands Manual EXTCONV(1)
+
+
+
+NAME
+ extconv - convert a TeX document in either Big 5+ or GBK encoding into
+ `preprocessed' form.
+
+SYNOPSIS
+ extconv < infile > outfile
+
+DESCRIPTION
+ Big 5+ and GBK encodings use the characters {, }, and \ which have spe-
+ cial meanings in TeX documents.
+
+ After processing a LaTeX 2e document which contains such characters
+ with extconv you need not care about these special characters.
+
+ This filter is part of the CJK macro package for LaTeX 2e.
+
+SEE ALSO
+ bg5conv(1), sjisconv(1), cefconv(1), cef5conv(1), cefsconv(1),
+ the CJK documentation files.
+
+AUTHOR
+ Werner Lemberg <wl@gnu.org>
+
+
+
+CJK Version 4.8.4 18-Apr-2015 EXTCONV(1)
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/man/txt/hbf2gf.txt b/language/chinese/CJK/cjk-4.8.4/doc/man/txt/hbf2gf.txt
new file mode 100644
index 0000000000..3f77fc6eaf
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/man/txt/hbf2gf.txt
@@ -0,0 +1,351 @@
+HBF2GF(1) General Commands Manual HBF2GF(1)
+
+
+
+NAME
+ hbf2gf - convert a CJK bitmap font into subfonts usable by TeX and
+ Omega.
+
+SYNOPSIS
+ hbf2gf [-q] configuration-file[.cfg]
+ hbf2gf [-q] [-p] [-g] [-n] subfont-name x-resolution
+ [y-scale | y-resolution]
+ hbf2gf -t [-q] subfont-name
+ hbf2gf --version | --help
+
+DESCRIPTION
+ CJK bitmap fonts can't be directly used with TeX because the number of
+ characters in such fonts exceeds 256, the limit of a TeX font. Thus it
+ is necessary to split these fonts into subfonts, and this is exactly
+ what hbf2gf does.
+
+ As the name says, hbf2gf uses CJK fonts in a certain format which is
+ called Hanzi Bitmap Font (HBF) format. It simply consists of the CJK
+ bitmap file(s) and a text file in a format very similar to the BDF for-
+ mat of the X Window System which describes the bitmap font files: the
+ encoding, the size, etc. The produced GF files can then be converted
+ with gftopk into standard PK files.
+
+ hbf2gf can be called in three modes:
+
+ hbf2gf [-q] configuration-file[.cfg]
+
+ This call normally creates a set of GF files, one PL file, and a
+ batch file which must be executed after hbf2gf has finished. This
+ script will then call gftopk to convert all GF files into PK
+ files, and it will call pltotf to convert the PL file into a TFM
+ file. Finally it will copy the TFM file so that each PK file has
+ its TFM file (which are all identical).
+
+ If ofm_file is set to `yes' in the configuration file, OFM and OVF
+ files will be created too.
+
+ -q makes hbf2gf quiet.
+
+ hbf2gf [-q] [-p] [-g] [-n] subfont-name x-resolution
+ [y-scale | y-resolution]
+
+ This mode is intended for use with mktexpk and its derivates. On-
+ ly one GF file together with a PL file for the given subfont will
+ be computed, taking the horizontal resolution and a vertical scal-
+ ing factor (if the value is smaller than 10) resp. the vertical
+ resolution (otherwise) from the command line, ignoring the
+ nmb_fonts parameter of the configuration file. The last two char-
+ acters (which are interpreted as the subfont number) are stripped
+ to get the name for the configuration file (which must end with
+ `.cfg'). No job file will be created. If option -p is set, no PL
+ file is created. If -g is set, no GF file is created. The exten-
+ sion can be controlled with -n; if set, the extension is `.gf',
+ otherwise `.<resolution>gf'. -q makes hbf2gf quiet.
+
+ hbf2gf -t [-q] subfont-name
+
+ This mode is intended for use with scripts like mktexpk; it tests
+ whether the specified subfont name leads to an hbf2gf configura-
+ tion file. It returns 0 on success and prints out the name of
+ that configuration file (provided the -q switch isn't set). This
+ test isn't a thorough one; it only removes the last two characters
+ and checks whether a configuration file with that name exists.
+
+ See the next section for more details about configuration files.
+
+ Specifying the option --version returns the current version of hbf2gf
+ and the used file search library (e.g. kpathsea). Usage information is
+ shown with the --help parameter.
+
+CONFIGURATION FILE
+ Here a sample configuration file (gsfs14.cfg) for a 5656 Chinese font
+ in GB encoding; note that all information about the font is in the
+ jfs56.hbf file. See the FILE SEARCHING section how HBF fonts and
+ hbf2gf configuration files are found. See the AVAILABILITY section
+ where to get CJK fonts together with its HBF files:
+
+ hbf_header jfs56.hbf
+ mag_x 1
+ threshold 128
+ comment jianti fansongti 56x56 pixel font
+
+ design_size 14.4
+
+ y_offset -13
+
+ nmb_files -1
+
+ output_name gsfs14
+
+ checksum 123456789
+
+ dpi_x 300
+
+ pk_files no
+ tfm_files yes
+
+ coding codingscheme GuoBiao encoded TeX text
+
+ pk_directory $HBF_TARGET/pk/modeless/gb2312/gsfs14/
+ tfm_directory $HBF_TARGET/tfm/gb2312/gsfs14/
+
+ A configuration file is a plain text file consisting of keywords and
+ its arguments. A keyword must start a line, otherwise the whole line
+ will be ignored. If the word starting a line is not a keyword, the
+ line will be ignored too. Empty lines will also be skipped. The
+ search for keywords is case insensitive; in contrast, the arguments
+ will be taken exactly as given (except `yes' and `no' which can be
+ written with uppercase or lowercase letters). Each keyword has one ar-
+ gument which must be separated by whitespace (blanks or tabs) from the
+ keyword and must be on the same line. Each line must not be longer
+ than 256 characters.
+
+ You can use environment variables in the configuration file. The es-
+ cape character starting an environment variable in the configuration
+ file is always `$', even for operating systems like DOS which has other
+ conventions. hbf2gf recognizes only environment variable names which
+ start with a letter or an underscore, followed by alphanumeric charac-
+ ters or underscores. You can surround the variable with braces to in-
+ dicate where the variable name ends, for example ${FOO}. To get a dol-
+ lar sign you must write `$$'. The expansion of environment variables
+ in hbf2gf itself (without the help of either kpathsea, emtexdir, or
+ MiKTeX searching routines) is very limited; this feature has been car-
+ ried over from previous versions. It can't expand variables set in
+ texmf.cnf; it also can't handle more than one directory as the vari-
+ able's value. Don't use it except for the `pk_directory' and `tfm_di-
+ rectory' parameters!
+
+ This is the list of all necessary keywords:
+
+ hbf_header
+ The HBF header file name of the input font(s). hbf2gf uses the
+ given searching mechanism (kpathsea, emtexdir, or MiKTeX) to lo-
+ cate this file.
+
+ output_name
+ The name stem of the output files. A running two digit decimal
+ number starting with `01' will be appended. For Unicode fonts
+ see the keyword unicode below. This value is in almost all cas-
+ es identical to the name of the configuration file.
+
+ And now all optional keywords:
+
+ x_offset
+ Increases the character width. Will be applied on both sides;
+ default for non-rotated glyphs is the value given in the HBF
+ header (HBF_BITMAP_BOUNDING_BOX) scaled to design_size (in pix-
+ els).
+
+ y_offset
+ Shifts all characters up or down; default for non-rotated glyphs
+ is the value given in the HBF header (HBF_BITMAP_BOUNDING_BOX)
+ scaled to design_size (in pixels).
+
+ design_size
+ The design size (in points) of the font. x_offset and y_offset
+ refer to this size. Default is 10.0.
+
+ slant The slant of the font (given as Delta_x / Delta_y). Only values
+ in the range 0 <= slant <= 1 are allowed. Default is 0.0.
+
+ rotation
+ If set to `yes', all glyphs will be rotated 90 degrees counter-
+ clockwise. The default offsets as given in the HBF header will
+ be ignored (and set to 0). Default is `no'.
+
+ mag_x
+ mag_y Scaling values of the characters to reach design size. If only
+ one magnification is given, x and y values are assumed to be
+ equal. Default is mag_x = mag_y = 1.0.
+
+ threshold
+ A value between 1 and 254 defining a threshold for converting
+ the internal graymap into the output bitmap; lower values cut
+ more pixels. Default value is 128.
+
+ comment
+ A comment describing the font; default is none.
+
+ nmb_fonts
+ The number of subfonts to create. Default value is -1 for cre-
+ ating all fonts.
+
+ unicode
+ If `yes', a two digit hexadecimal number will be used as a run-
+ ning number, starting with the value of the first byte of the
+ first code range. Default is `no'.
+
+ min_char
+ The minimum value of the encoding. You should set this value to
+ get correct subfile offsets if it is not identical to the lowest
+ character code in the HBF file.
+
+ dpi_x
+ dpi_y The horizontal and vertical resolution (in dpi) of the printer.
+ If only one resolution is given, x and y values are assumed to
+ be equal. Default is 300.
+
+ checksum
+ A checksum to identify the GF files with the appropriate TFM
+ files. The default value of this unsigned 32bit integer is 0.
+
+ coding A comment describing the coding scheme; default is none.
+
+ pk_directory
+ The destination directory of the PK files; default: none. At-
+ tention! The batch file will not check whether this directory
+ exists.
+
+ tfm_directory
+ The destination directory of the TFM files; default: none. At-
+ tention! The batch file will not check whether this directory
+ exists.
+
+ pk_files
+ Whether to create PK files or not; default is `yes'.
+
+ tfm_files
+ Whether to create TFM files or not; default is `yes'.
+
+ ofm_file
+ Whether to create an OPL file or not; default is `no'. The
+ batch file will then use ovp2ovf of the Omega distribution to
+ convert it into an OFM and an OVF file. The OPL file simply
+ maps all subfonts back to a single Omega font.
+
+ long_extension
+ If `yes', PK files will include the resolution in the extension
+ (e.g. gsso1201.300pk). This affects the batch file only (de-
+ fault is `yes').
+
+ rm_command
+ The shell command to remove files; default: `rm'.
+
+ cp_command
+ The shell command to copy files; default: `cp'.
+
+ job_extension
+ The extension of the batch file which calls gftopk and pltotf to
+ convert the GF and the PL files into PK and TFM files respec-
+ tively; default is none.
+
+FILE SEARCHING
+ hbf2gf uses either the kpathsea, emtexdir, or MiKTeX library for
+ searching files (emtexdir will work only on operating systems which
+ have an MS-DOSish background, i.e., MS-DOS, OS/2, Windows; MiKTeX is
+ for Win32 systems).
+
+ kpathsea
+ The actual version of kpathsea is displayed on screen if you call
+ hbf2gf --version.
+
+ Here is a table of the file type and the corresponding kpathsea vari-
+ ables.
+
+ .hbf MISCFONTS
+ .cfg HBF2GFINPUTS
+
+ Please consult the info files of kpathsea for details on these vari-
+ ables. The decision which naming scheme to use for variables will be
+ done during compilation.
+
+ You should set the TEXMFCNF variable to the directory where your
+ texmf.cnf configuration file resides.
+
+ Here is the proper command to find out to which value a kpathsea vari-
+ able is set (we use MISCFONTS as an example). This is especially use-
+ ful if a variable isn't set in texmf.cnf or in the environment, thus
+ pointing to the default value which is hard-coded into the kpathsea li-
+ brary.
+
+ kpsewhich -progname=hbf2gf -expand-var='$MISCFONTS'
+
+ We select the program name also since it is possible to specify vari-
+ ables which are searched only for a certain program - in our example it
+ would be MISCFONTS.hbf2gf.
+
+ A similar but not identical method is to say
+
+ kpsewhich -progname=hbf2gf -show-path='misc fonts'
+
+ [A full list of format types can be obtained by saying `kpsewhich
+ --help' on the command line prompt.] This is exactly how hbf2gf
+ searches for files; the disadvantage is that all variables are expanded
+ which can cause very long strings.
+
+ emtexdir
+ Here the list of suffixes and its related environment variables to be
+ set in autoexec.bat (resp. in config.sys for OS/2):
+
+ .hbf HBFONTS
+ .cfg HBFCFG
+
+ If one of the variables isn't set, a warning message is emitted. The
+ current directory will always be searched. As usual, one exclamation
+ mark appended to a directory path causes subdirectories one level deep
+ to be searched, two exclamation marks causes all subdirectories to be
+ searched. Example:
+
+ HBFONTS=c:\fonts\hbf!!;d:\myfonts\hbf!
+
+ Constructions like `c:\fonts!!\hbf' aren't possible.
+
+ MikTeX
+ Please consult the documentation files of MiKTeX for more details.
+
+LIMITATIONS
+ The x and y output size must not exceed MAX_CHAR_SIZE, which is defined
+ at compile time; its default value is 1023 (pixel).
+
+SEE ALSO
+ ttf2pk(1)
+
+ hbf2gf.w: this is the source code written in CWEB which can be convert-
+ ed into a pretty-printed TeX document using cweave. The CJK
+ package also contains a preformatted hbf2gf.pdf file.
+
+ the CJK documentation files (hbf2gf.txt).
+
+ the Hanzi Bitmap File (HBF) standard version 1.3; available at
+ ftp.ifcss.org.
+
+ the Omega documentation available at ftp.ens.fr and the CTAN hosts and
+ mirrors.
+
+FILES
+ *.cfg The hbf2gf configuration scripts.
+
+ *.hbf HBF header files which describe fixed-width bitmap fonts. Note
+ that the bitmap font name(s) themselves as specified in the
+ header files are irrelevant for hbf2gf.
+
+AVAILABILITY
+ hbf2gf is part of the CJK macro package for LaTeX 2e available at the
+ CTAN hosts and its mirrors.
+
+ CJK fonts together with HBF header files can be found at ftp.ifcss.org
+ and its mirrors.
+
+AUTHORS
+ Werner Lemberg <wl@gnu.org>
+ Ross Paterson (the HBF API) <ross@soi.city.ac.uk>
+
+
+
+CJK Version 4.8.4 18-Apr-2015 HBF2GF(1)
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/man/txt/sjisconv.txt b/language/chinese/CJK/cjk-4.8.4/doc/man/txt/sjisconv.txt
new file mode 100644
index 0000000000..c288e153f4
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/man/txt/sjisconv.txt
@@ -0,0 +1,30 @@
+SJISCONV(1) General Commands Manual SJISCONV(1)
+
+
+
+NAME
+ sjisconv - convert a TeX document in SJIS encoding into `preprocessed'
+ form.
+
+SYNOPSIS
+ sjisconv < infile > outfile
+
+DESCRIPTION
+ SJIS encoding for Japanese uses the characters {, }, and \ which have
+ special meanings in TeX documents.
+
+ After processing a LaTeX 2e document which contains SJIS characters
+ with sjisconv you need not care about these special characters.
+
+ This filter is part of the CJK macro package for LaTeX 2e.
+
+SEE ALSO
+ bg5conv(1), cefconv(1), cef5conv(1), cefsconv(1), extconv(1),
+ the CJK documentation files.
+
+AUTHOR
+ Werner Lemberg <wl@gnu.org>
+
+
+
+CJK Version 4.8.4 18-Apr-2015 SJISCONV(1)
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/pdf/READMEb5.pdf b/language/chinese/CJK/cjk-4.8.4/doc/pdf/READMEb5.pdf
new file mode 100644
index 0000000000..ee69240563
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/pdf/READMEb5.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/pdf/READMEgb.pdf b/language/chinese/CJK/cjk-4.8.4/doc/pdf/READMEgb.pdf
new file mode 100644
index 0000000000..109dd90c95
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/pdf/READMEgb.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/pdf/bg5conv.pdf b/language/chinese/CJK/cjk-4.8.4/doc/pdf/bg5conv.pdf
new file mode 100644
index 0000000000..cdd4ab5240
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/pdf/bg5conv.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/pdf/c90.pdf b/language/chinese/CJK/cjk-4.8.4/doc/pdf/c90.pdf
new file mode 100644
index 0000000000..7763b391d4
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/pdf/c90.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/pdf/cef5conv.pdf b/language/chinese/CJK/cjk-4.8.4/doc/pdf/cef5conv.pdf
new file mode 100644
index 0000000000..2cfae55e9d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/pdf/cef5conv.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/pdf/cefconv.pdf b/language/chinese/CJK/cjk-4.8.4/doc/pdf/cefconv.pdf
new file mode 100644
index 0000000000..f93ba43d6f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/pdf/cefconv.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/pdf/cefsconv.pdf b/language/chinese/CJK/cjk-4.8.4/doc/pdf/cefsconv.pdf
new file mode 100644
index 0000000000..f6f67114ab
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/pdf/cefsconv.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/pdf/extconv.pdf b/language/chinese/CJK/cjk-4.8.4/doc/pdf/extconv.pdf
new file mode 100644
index 0000000000..864527841f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/pdf/extconv.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/pdf/hbf2gf.pdf b/language/chinese/CJK/cjk-4.8.4/doc/pdf/hbf2gf.pdf
new file mode 100644
index 0000000000..613eb2630e
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/pdf/hbf2gf.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/pdf/sjisconv.pdf b/language/chinese/CJK/cjk-4.8.4/doc/pdf/sjisconv.pdf
new file mode 100644
index 0000000000..947884afd9
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/pdf/sjisconv.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/HOWTO.txt b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/HOWTO.txt
new file mode 100644
index 0000000000..432fbda51b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/HOWTO.txt
@@ -0,0 +1,425 @@
+How to make PDF files using CJK/LaTeX with embedded TrueType fonts
+
+Hin-Tak Leung <htl10@users.sourceforge.net>
+December 2003
+
+
+Introduction
+------------
+
+Existing CJK/LaTeX instruction for high-quality print-out tends to suggest
+permanently converting TrueType fonts (which had a better availability) to
+postscript sub-fonts; this document covers how to use TrueType fonts
+directly, and also preparing such PDF documents. Today, the PDF output
+format is slightly more popular than PostScript; also, even on US English
+systems, CJK font packs are available for font substitution in Adobe Acrobat
+Reader (and similar mechanisms exist for xpdf and ghostscript), which allows
+the generation of PDF files containing only important textual content but no
+embedded fonts. Such files are small enough to be e-mailed while preserving
+formatting, provided the recipient has the font packs installed. This
+document also covers the issues with no-embedded-font PDF files at the very
+end as well.
+
+The following steps are discussed below in greater detail:
+
+ 1. Finding the fonts.
+ 2. Getting and building some software: ttf2tfm, dvipdfmx.
+ Some other nice optional software: oto, the other freetype/freetype2
+ demo tools, ttfm, ttx.
+ 3. Using ttf2tfm, generating *.tfm and *.enc files for each font.
+ 4. Putting the fonts, the *.tfm files, and the *.enc files into the right
+ place in your system.
+ 5. Configuring dvipdfmx to use the new fonts.
+ 6. (optional) Configuring pdflatex to use the new fonts also.
+ 7. Configuring CJK/LaTeX to use those fonts.
+ 8. Testing.
+ 9. Problems and tips.
+
+I can read both traditional and simplified Chinese, and a substantial amount
+of Japanese, but there isn't any Korean-specific info here. Hopefully this
+is useful enough as a starting point at least for Korean-related
+experiments.
+
+The two most important references during this venture was the FreeBSD
+(Taiwan) Chinese HOWTO (it is substantially better and more up-to-date than
+the GNU/Linux one), and Edward G. J. Lee's various treatises on the net,
+particularly his `mycjk' notes. Unfortunately both are available in Chinese
+only, I believe.
+
+
+1. Fonts
+========
+
+ Chinese
+ -------
+
+ Arphic donated 4 high-quality Chinese fonts to the open-source community:
+ two for traditional and two for simplified Chinese, respectively. They are
+ shipped with Redhat 9 (which I used for most of this work) and Debian 3
+ and possibly also other GNU/Linux distributions; they can be downloaded
+ from Arphic's home site and, probably more convenient, from
+
+ ftp://ftp.gnu.org/gnu/non-gnu/chinese-fonts-truetype/
+
+ and its mirrors. Tip: Use `unzip -L' to convert file names to lowercase.
+
+ Redhat 9 also ships zysong, a simplified Chinese font. This font seems to
+ be licensed to Redhat only since it isn't found in other GNU/Linux
+ distributions. It is part of the package "ttfonts-zh_CN-2.12-1.noarch.rpm",
+ together with the two Arphic simplified Chinese fonts, on the 3rd CD
+ of the Redhat 9 CD set.
+
+ The Ministry of Education in Taiwan released a few fonts for
+ standardization: Currently two are available from the ministry's home page
+ (http://www.edu.tw/mandr/index.htm), but there are old versions with
+ different type faces floating around in the net.
+
+ CwTeX (a Chinese-enabled LaTeX implementation in Taiwan) ships 5 fonts.
+ (http://ccms.ntu.edu.tw/~ntut019/cwtex/cwtex.html)
+
+ Still available is the set of 8 TrueType fonts from NTU which were widely
+ used previously for CJK/LaTeX documents (http://input.cpatch.org/font/ntu/).
+
+ There is also a set of 10 quite fancy and unusual fonts for traditional
+ Chinese, developed by Dr Hann-Tzong Wang
+ (http://140.135.64.77/teacher/htwang/htwang.htm). It is distributed as
+ one of the standard font sets for FreeBSD Taiwan.
+ (http://www.freebsd.org/cgi/pds.cgi?ports/chinese/wangttf).
+
+ Japanese
+ --------
+
+ Redhat 9 and SuSE both ship the Kochi Gothic and Mincho fonts; Debian
+ ships Watanabe Mincho and Wadalab Gothic as part of the XTT TrueType font
+ server. The packages are: "ttfonts-ja-1.2-21.noarch.rpm" on the 3rd disc
+ of the Redhat 9 CD set, "ttf-kochi-mincho-0.2.20020727-81.noarch.rpm" and
+ "ttf-kochi-gothic-0.2.20030118-17.noarch.rpm" on SuSe 8.2,
+ "xtt-fonts" for Debian systems.
+
+ Other source of fonts (e.g. Win2k/WinXP/Win2k3 ships a few as standard,
+ and also localized version of MS Office, etc.) are mostly proprietary.
+
+ These instructions are known to work on those also, but I don't want to
+ go into specific details...
+
+
+2. ttf2tfm and dvipdfmx
+=======================
+
+ The specific details about compiler switches, include paths, are for
+ the Redhat 9 distribution. You may have to adapt them.
+
+ ttf2tfm
+ -------
+
+ ttf2tfm is part of ttf2pk package which is itself part of
+ freetype-contrib, a suite of programs depending on the FreeType 1 library.
+ Most GNU/Linux systems ship both FreeType 2 and FreeType 1 (that's the
+ case for RH9, in fact), which are *not* compatible. So I decided to build
+ the latest FreeType 1 static version and made freetype-contrib depend on
+ that to avoid using the out-dated library shipped with my system. The
+ mentioned packages can be downloaded from ftp.freetype.org.
+
+ Unpack freetype-current (adapt the `/home/hleung' part to suit yourself),
+ then do
+
+ cd /home/hleung/freetype-current
+ ./configure --enable-static --disable-shared --prefix=/home/hleung
+ make
+
+ Now unpack freetype-contrib-current inside the freetype-current tree, then
+ do
+
+ cd freetype-contrib-current/ttf2pk
+ CFLAGS=-I../../lib/ LDFLAGS=-L../../lib/.libs ./configure \
+ --with-kpathsea-lib=/usr/lib --with-kpathsea-include=/usr/include
+ make
+ make install
+
+ Important: At the end, you need to manually copy the data/*.sfd files into
+ ${TEXMF}/ttf2tfm and also ${TEXMF}/ttf2pk (a soft link from
+ ${TEXMF}/ttf2tfm to ${TEXMF}/ttf2pk will do also).
+
+ [The recent TeX directory structure (TDS), version 1.1, comes with a new
+ subdirectory fonts/sfd, to be accessed with the kpathsea variable
+ $SFDFONTS. ttf2tfm and other programs available in the TeXLive
+ distribution have already been updated to use it.]
+
+ The man pages of ttf2tfm and ttf2pk give detailed explanation of all
+ command line arguments.
+
+ Tip: I find a utility called "checkinstall" quite useful. Instead of `make
+ install' one calls `checkinstall' which does the same as `make install'
+ but also integrates the data nicely into the package management system for
+ Redhat/Debian/Slackware; this gives cleaner upgrades and uninstalls.
+
+ dvipdfmx
+ --------
+
+ http://project.ktug.or.kr/dvipdfmx/
+
+ For dvipdfmx I use
+
+ CFLAGS='-I/usr/kerberos/include -O2 -march=i386 -mcpu=i686' ./configure
+ make
+ make install
+
+ The include path is due to dependency on the kerberos library for PDF
+ encryption. Important: The 10 Wang fonts have some peculiarities; I
+ submitted a preliminary patch which the author has much refined and
+ incoporated into a new release. You need a version newer than 2003-08-11
+ if you want to use this set of fonts. From the ChangLog of dvipdfmx:
+
+ 2003-08-11 Jin-Hwan Cho <chofchof@ktug.or.kr>
+ * A faked font name was used for TrueType fonts without any PS
+ font name as suggested by Hin-Tak Leung.
+
+ [The recent TeX directory structure (TDS), version 1.1, comes with a new
+ subdirectory fonts/sfd, to be accessed with the kpathsea variable
+ $SFDFONTS. dvipdfmx and other programs available in the TeXLive
+ distribution have already been updated to use it.]
+
+
+3. Generating ttf and enc files
+===============================
+
+ OpenType Organizer (oto) : http://sourceforge.net/projects/oto/
+ True Type Font Manager (ttfm):
+ - part of Chinese GNU/Linux Extention http://cle.linux.org.tw/
+
+ You need to know what cmap (character map) the TrueType font (*.ttf or
+ *.ttc) contains. The utility programs oto, ftdump (two versions! --
+ FreeType 1 and FreeType 2 both have this demo program, showing quite
+ different information), and ttfinfo (part of ttfm) can show this info, and
+ some other information about your font as well. Only ftdump works on
+ TrueType collections (*.ttc), but the other two have their strengths also
+ (ttfinfo gives the most straightforward info, while oto gives some details
+ that ftdump doesn't show).
+
+ For detailed information on cmaps in a font you can use ttx, a tool to
+ assemble and disassemble OpenType fonts. It is available from
+ http://fonttools.sf.net.
+
+ If there is a Unicode cmap you can use ttf2tfm's `U*.sfd' files (see the
+ `@...@' argument for ttf2tfm); the command line for ttf2tfm is simpler
+ also. Otherwise you need to specify the platform (-P) and encoding (-E)
+ IDs.
+
+ Here is what works for me for the fonts I mentioned. Important: The font
+ stem name needs to be unique. Additionally, dvipdfmx doesn't like numbers
+ in the font stem name. I use a 4-letter combination. By LaTeX convention
+ it shouldn't be longer than 5 letters.
+
+ ttf2tfm bkai00mp.ttf -q -w bkai@UBig5@
+ ttf2tfm bsmi00lp.ttf -q -w bsmi@UBig5@
+ ttf2tfm gbsn00lp.ttf -q -w gbsn@UGB@
+ ttf2tfm gkai00mp.ttf -q -w gkai@UGB@
+
+ ttf2tfm zysong.ttf -q -w zysg@UGB@
+
+ ttf2tfm kai-linux.ttf -P 3 -E 4 -q -w mekl@Big5@
+ ttf2tfm edustd-15.ttf -P 3 -E 4 -q -w mest@Big5@
+ ttf2tfm moe_kai.ttf -P 3 -E 4 -q -w meko@Big5@
+ ttf2tfm moe_sung.ttf -P 3 -E 4 -q -w meso@Big5@
+
+ ttf2tfm ntu_li_m.ttf -P 3 -E 4 -q -w ntli@Big5@
+ ttf2tfm ntu_br.ttf -P 3 -E 4 -q -w ntbr@Big5@
+ ttf2tfm ntu_fs_m.ttf -P 3 -E 4 -q -w ntfs@Big5@
+ ttf2tfm ntu_kai.ttf -P 3 -E 4 -q -w ntka@Big5@
+ ttf2tfm ntu_mb.ttf -P 3 -E 4 -q -w ntmb@Big5@
+ ttf2tfm ntu_mm.ttf -P 3 -E 4 -q -w ntmm@Big5@
+ ttf2tfm ntu_mr.ttf -P 3 -E 4 -q -w ntmr@Big5@
+ ttf2tfm ntu_tw.ttf -P 3 -E 4 -q -w nttw@Big5@
+
+ ttf2tfm mttf.ttf -q -w cwtm@UBig5@
+ ttf2tfm kttf.ttf -q -w cwtk@UBig5@
+ ttf2tfm fttf.ttf -q -w cwtf@UBig5@
+ ttf2tfm bbttf.ttf -q -w cwtb@UBig5@
+ ttf2tfm rttf.ttf -q -w cwtr@UBig5@
+
+ ttf2tfm kochi-gothic.ttf -w kcgt@UJIS@
+ ttf2tfm kochi-mincho.ttf -w kcmc@UJIS@
+
+ ttf2tfm wadalab-gothic.ttf -P 3 -E 2 -w wdgt@SJIS@
+ ttf2tfm watanabe-mincho.ttf -P 3 -E 2 -w wnmc@SJIS@
+
+ The Wang's font set has some unusual properties, and need either
+ a new version of freetype 1 (after 2003-10 from CVS), or a slightly
+ modified "Big5.sfd", called "wcl.sfd" here:
+
+ ttf2tfm wcl-01.ttf -P 3 -E 4 -q -w wclj@wcl@
+ ttf2tfm wcl-02.ttf -P 3 -E 4 -q -w wclk@wcl@
+ ttf2tfm wcl-03.ttf -P 3 -E 4 -q -w wcll@wcl@
+ ttf2tfm wcl-04.ttf -P 3 -E 4 -q -w wclm@wcl@
+ ttf2tfm wcl-05.ttf -P 3 -E 4 -q -w wcln@wcl@
+ ttf2tfm wcl-06.ttf -P 3 -E 4 -q -w wclp@wcl@
+ ttf2tfm wcl-07.ttf -P 3 -E 4 -q -w wclq@wcl@
+ ttf2tfm wcl-08.ttf -P 3 -E 4 -q -w wclr@wcl@
+ ttf2tfm wcl-09.ttf -P 3 -E 4 -q -w wcls@wcl@
+ ttf2tfm wcl-10.ttf -P 3 -E 4 -q -w wclt@wcl@
+
+ As an example, here is what I do for a well-known proprietary simplified
+ Chinese font which has only a cmap for simplified Chinese:
+
+ ttf2tfm gkai00m.ttf -P 3 -E 3 -q -w gkaim@EUC@
+
+ Here an example for a TrueType collection:
+
+ ttf2tfm dcai5.ttc -q -w dcaiq@UJIS@
+
+
+4. Putting the files where they should be
+=========================================
+
+ This is somewhat related to how kpathsea works and how latex (the program)
+ find its files. It is possible to set individual environment variables for
+ each of these items, but it is easier to set one: $TEXMF to a list of
+ locations, with a tree parallel to the system tree. Then do the following:
+
+ . Put the *.tfm files into a subdirectory of ${TEXMF}/fonts/tfm.
+ . Put the *.enc files into a subdirectory of ${TEXMF}/dvips.
+ . Put the *.ttf (or *.ttc) files into a subdirectory of
+ ${TEXMF}/fonts/truetype.
+ . Put the *.sfd files into ${TEXMF}/ttf2tfm or a subdirectory of it.
+ Don't forget to either copy them into ${TEXMF}/ttf2pk also or to set up
+ a link from ${TEXMF}/ttf2pk to ${TEXMF}/ttf2tfm.
+
+ Reason: dvipdfmx searches SFD files (which it needs for reassembling)
+ under ${TEXMF}/ttf2pk although we don't use ttf2pk anywhere. ttf2tfm
+ looks for them under its own name, of course.
+
+ [The recent TeX directory structure (TDS), version 1.1, comes with a new
+ subdirectory fonts/sfd, to be accessed with the kpathsea variable
+ $SFDFONTS. dvipdfmx and other programs available in the TeXLive
+ distribution have already been updated to use it.]
+
+ Important: Run texhash (mktexlsr) to rebuild the kpathsea database,
+ otherwise files won't be found. You have been warned!
+
+
+5., 6. Configuring dvipdfmx and (optionally) pdflatex
+=====================================================
+
+ cid-x.map, dvipdfmx.cfg, *.map
+
+ See for example, my own "cid-x.map" for the main font config file of
+ dvipdfmx -- all my own customization is at the very end after the line
+ "Hin-Tak Leung's custom setup below:". For each font xxxx, one needs
+ to add a line "f xxxx.map" into "dvipdfmx.cfg", and a fontmap
+ file "xxxx.map" into the dvipdfmx config directory --
+ ${TEXMF}/dvipdfm/config/ on my system (the missing
+ "x" is not a typo, as dvipdfmx originally derived from dvipdfm).
+ I have included cwbt.map, for one of the CwTeX fonts, as an example,
+ and my dvipdfmx.cfg as well.
+
+ Because I have a fair number of fonts I like to add, I wrote a little
+ perl script "gen-map.pl", which generates all the *.map files plus
+ a file called "map.list" which I can simply append to dvipdfmx.cfg,
+ from an internal table at the very top of the script.
+
+ pdflatex needs the same fontmap files for each new font - copy them into
+ ${TEXMF}/dvips/config/. Modify the updmap script which is used for
+ updating both pdflatex.cfg and dvips.cfg, and run the updmap script.
+ On teTeX 1.0.x, one needs to add to the "extra_modules=" entry the
+ *.map files for each font. My modified updmap is included as an
+ example "updmap.my", found as "/usr/share/texmf/dvips/config/updmap" on
+ a RH 9 system. On teTeX 2.0.x, updmap has a separate config file
+ updmap.cfg located in ${TEXMF}/web2c/.
+
+
+7. Configuring CJK/LaTeX
+========================
+
+ Copy the whole `texinput' directory of the CJK package into a directory
+ which is in your $TEXINPUTS path. Also create some new *.fd files there.
+ My "c00cwtb.fd" is included as an example; again, since I have quite
+ a few font files, I have created some template fd files as c*tmpl.fd,
+ and duplicating and change every "tmpl" string to "cwtb" inside
+ as needed like this:
+ cp c00tmpl.fd c00cxtb.fd
+ perl -pi -e "s/tmpl/cwtb/;" c00cwtb.fd
+
+ If you use Big5 or Shift-JIS encoding, compile the bg5conv and
+ sjisconv utilities; under Unix-like systems you can use the bg5pdflatex
+ and sjispdflatex scripts to access them conveniently.
+
+
+8. Testing
+==========
+
+ Just pick the relevant files in the CJK/examples directory and change the
+ font name to match. Either call pdflatex or call latex followed by
+ dvipdfmx. In general, I found that dvipdfmx generates much smaller files
+ (1/3 to 1/2 size).
+
+
+9. Problems
+===========
+
+ a. files can't be found
+
+ This is the most frequent problem. Setting the environment variable
+ KPATHSEA_DEBUG to -1 activates full debugging; you can then check
+ how latex/dvipdfmx/pdflatex tries to find those files. See the
+ kpathsea info pages for more details on debugging output.
+
+ For latex (the program) you only need the new custom-made *.fd files,
+ the files from CJK/texinput, and the tfm files. The *.fd files could be
+ broken -- check their contents. latex (the program) neither needs the
+ *.enc files nor the font files themselves.
+
+ If latex (the program) works, but dvipdfmx doesn't, then your dvipdfmx
+ configuration probably needs some tuning. Alternatively, the map files
+ or the font files are not found, etc. Note that dvipdfmx neither needs
+ the tfm files, nor the CJK/LaTeX input files, but it does need the
+ enc files.
+
+ pdflatex does everything in one step, so everything needs to be in the
+ right place.
+
+ b. Acrobat on GNU/Linux doesn't print PDF files generated with dvipdfmx
+
+ The problem is probably caused by ghostscript version 7.x which chokes
+ on the intermediate postscript file under some command options.
+ Upgrading to ghostscript 8.x should fix this printfilter problem. It is
+ *strongly* recommended to use ghostscript 8.11 or newer due to severe
+ problems with earlier versions.
+
+ c. no-font-embedded PDF files
+
+ This is quite simple to do with dvipdfmx: Just put an extra `!'
+ (exclamation mark) in the dvipdfmx configuration file in front of the
+ font which shouldn't be embedded.
+
+ A problem can arise if the PDF reader is not able to find a proper
+ substitution font if the font specified in the document isn't available.
+ I did some investigation and had a long discussion with the author of
+ dvipdfmx about this. Basically, it seems that win32 Acrobat Reader 6.x
+ will substitute any missing fonts with fonts from the Adobe CJK font
+ packs or from the system. Acrobat reader 5.x for GNU/Linux will only do
+ so -- and only with fonts from the CJK packs, not from the X server --
+ if the font name is one of the well-known ones for that region:
+ SimHei, SimSun (found on most MS Windows boxes), and some fonts of Arphic
+ and Dynafont which are very popular in the far east. Otherwise,
+ it aborts with an error message.
+
+ Besides the proprietary fonts mentioned in the last paragraph, only
+ Wang's fonts can be configured currently to be not embedded so that
+ acroread on GNU/Linux accepts them. I have spent much time looking
+ into this issue and apparently Acroread on GNU/Linux seems to do
+ font substitutions by looking at the capital letters in the font name.
+ Due to the missing PS name of the Wang's fonts (and our dvipdfmx
+ work-around on 2003-08-11 using the file name -- happened to be all
+ lowercase -- as the missing font name), they work by luck.
+
+ Both xpdf and ghostscript will substitute any missing fonts with a
+ specific font per language, if suitably configured. On Redhat 9, the
+ heavily adapted ghostscript will substitute automatically if some named
+ fonts from the CD are installed (without any extra effort); for xpdf it
+ is an extra few lines of configuration in ${HOME}/.xpdfrc to tell it
+ what font to use from the X server for substituting a missing font for a
+ particular language. So ghostscript works out of the box for a full RH
+ installation, whereas xpdf doesn't, but xpdf is more configurable and
+ the setting of what fall-back font to use can differ per user.
+
+---End of HOWTO.txt---
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/bkai.map b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/bkai.map
new file mode 100644
index 0000000000..71d205d501
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/bkai.map
@@ -0,0 +1,55 @@
+bkai01 bkai01 <bkai01.enc <bkai00mp.ttf
+bkai02 bkai02 <bkai02.enc <bkai00mp.ttf
+bkai03 bkai03 <bkai03.enc <bkai00mp.ttf
+bkai04 bkai04 <bkai04.enc <bkai00mp.ttf
+bkai05 bkai05 <bkai05.enc <bkai00mp.ttf
+bkai06 bkai06 <bkai06.enc <bkai00mp.ttf
+bkai07 bkai07 <bkai07.enc <bkai00mp.ttf
+bkai08 bkai08 <bkai08.enc <bkai00mp.ttf
+bkai09 bkai09 <bkai09.enc <bkai00mp.ttf
+bkai10 bkai10 <bkai10.enc <bkai00mp.ttf
+bkai11 bkai11 <bkai11.enc <bkai00mp.ttf
+bkai12 bkai12 <bkai12.enc <bkai00mp.ttf
+bkai13 bkai13 <bkai13.enc <bkai00mp.ttf
+bkai14 bkai14 <bkai14.enc <bkai00mp.ttf
+bkai15 bkai15 <bkai15.enc <bkai00mp.ttf
+bkai16 bkai16 <bkai16.enc <bkai00mp.ttf
+bkai17 bkai17 <bkai17.enc <bkai00mp.ttf
+bkai18 bkai18 <bkai18.enc <bkai00mp.ttf
+bkai19 bkai19 <bkai19.enc <bkai00mp.ttf
+bkai20 bkai20 <bkai20.enc <bkai00mp.ttf
+bkai21 bkai21 <bkai21.enc <bkai00mp.ttf
+bkai22 bkai22 <bkai22.enc <bkai00mp.ttf
+bkai23 bkai23 <bkai23.enc <bkai00mp.ttf
+bkai24 bkai24 <bkai24.enc <bkai00mp.ttf
+bkai25 bkai25 <bkai25.enc <bkai00mp.ttf
+bkai26 bkai26 <bkai26.enc <bkai00mp.ttf
+bkai27 bkai27 <bkai27.enc <bkai00mp.ttf
+bkai28 bkai28 <bkai28.enc <bkai00mp.ttf
+bkai29 bkai29 <bkai29.enc <bkai00mp.ttf
+bkai30 bkai30 <bkai30.enc <bkai00mp.ttf
+bkai31 bkai31 <bkai31.enc <bkai00mp.ttf
+bkai32 bkai32 <bkai32.enc <bkai00mp.ttf
+bkai33 bkai33 <bkai33.enc <bkai00mp.ttf
+bkai34 bkai34 <bkai34.enc <bkai00mp.ttf
+bkai35 bkai35 <bkai35.enc <bkai00mp.ttf
+bkai36 bkai36 <bkai36.enc <bkai00mp.ttf
+bkai37 bkai37 <bkai37.enc <bkai00mp.ttf
+bkai38 bkai38 <bkai38.enc <bkai00mp.ttf
+bkai39 bkai39 <bkai39.enc <bkai00mp.ttf
+bkai40 bkai40 <bkai40.enc <bkai00mp.ttf
+bkai41 bkai41 <bkai41.enc <bkai00mp.ttf
+bkai42 bkai42 <bkai42.enc <bkai00mp.ttf
+bkai43 bkai43 <bkai43.enc <bkai00mp.ttf
+bkai44 bkai44 <bkai44.enc <bkai00mp.ttf
+bkai45 bkai45 <bkai45.enc <bkai00mp.ttf
+bkai46 bkai46 <bkai46.enc <bkai00mp.ttf
+bkai47 bkai47 <bkai47.enc <bkai00mp.ttf
+bkai48 bkai48 <bkai48.enc <bkai00mp.ttf
+bkai49 bkai49 <bkai49.enc <bkai00mp.ttf
+bkai50 bkai50 <bkai50.enc <bkai00mp.ttf
+bkai51 bkai51 <bkai51.enc <bkai00mp.ttf
+bkai52 bkai52 <bkai52.enc <bkai00mp.ttf
+bkai53 bkai53 <bkai53.enc <bkai00mp.ttf
+bkai54 bkai54 <bkai54.enc <bkai00mp.ttf
+bkai55 bkai55 <bkai55.enc <bkai00mp.ttf
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/cid-x.map b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/cid-x.map
new file mode 100644
index 0000000000..595d421b81
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/cid-x.map
@@ -0,0 +1,364 @@
+%% FONTMAP: CID-keyed font mapping file for dvipdfmx
+%% =================================================
+%%
+%% Last modified: April 2, 2002
+%%
+%%
+%% SYNOPSIS
+%% --------
+%%
+%% TFMNAME[@SFDNAME@] ENCNAME [:INDEX:][!]FONTNAME[,VARIANT] [OPTIONS]
+%%
+%%
+%% DESCRIPTION
+%% -----------
+%%
+%% 1) TFMNAME[@SFDNAME@]
+%%
+%% TFM name is specified in the field `TFMNAME' without extension (.tfm),
+%% and the subfont definition name in the field `SFDNAME' without
+%% extension (.sfd). For example, jbtm@UKS@ specifies the TFM names,
+%% jbtm01 - jbtm35, used in the CJK package.
+%%
+%% 2) ENCNAME
+%%
+%% CMap resource name is specified in the field `ENCNAME'. It is used in
+%% dvipdfmx to convert double-byte character codes to CID numbers.
+%% For more details, see `doc/README'.
+%%
+%% 3) [:INDEX:][!]FONTNAME[,VARIANT]
+%%
+%% Font name is specified in the field `FONTNAME' with or without
+%% extension. The field `INDEX' is used for TrueType collections (.ttc)
+%% to specify the font index number. In the case of ordinary TrueType
+%% fonts (.ttf) the field should be `0'. The character `!' enables the
+%% no-embedding option. The stylistic variants (Bold, Italic, BoldItalic)
+%% are specified in the filed `VARIANT'. See examples below.
+%%
+%% 4) [OPTIONS]
+%%
+%% All options available in the original dvipdfm are also valid here.
+%% However, the slant option [-s number] is ignored for vertical mode,
+%% and the remap option [-r] is always ignored since it doesn't make
+%% sense for CID-keyed fonts.
+%%
+%%
+%% ** IMPORTANT **
+%%
+%% There is no default CMap, and the keyword `none' in the `ENCNAME' field is
+%% not allowed for CID-keyed font. Valid CMap name should be recorded in the
+%% `ENCNAME' field. Otherwise, the font will not be treated as a CID-keyed font.
+%%
+%% The format of the font mapping file is not compatible with the jpatch patch
+%% which expects keyword `none' or `default' in the `ENCNAME' field.
+%%
+%% Be sure that all CMaps used in the font mapping file are under the directory
+%% `${TEXMF}/dvipdfm/CMap', and all subfont definition files under the
+%% directory `${TEXMF}/dvipdfm/base'. CMap file name should coincide with CMap
+%% name.
+%%
+%%
+%% EXAMPLES
+%% --------
+%%
+%% 1) Pre-defined CIDFonts
+%%
+%% Minimal font information required by PDF viewers are available from
+%% dvipdfmx built-in data. The built-in data does not contain any glyph
+%% data required to render actual shape of each characters. Hence, PDF
+%% viewers must substitute those fonts with suitable one available from
+%% the system. The reproducibility and the correctness of document layout
+%% opened on the remote system is not always guaranteed, however, it seems
+%% not to cause any problems in general if you does not use special
+%% characters in your document. Please use those fonts if you are sure that
+%% all peoples that receives your documents have usable fonts installed on
+%% their system. It greatly reduces size of resulting PDF documents because
+%% no glyph data are embedded.
+%%
+%% Here is the list of pre-defined CIDFonts in dvipdfmx.
+%%
+%% ---------------------------------------------------------
+%% Language Acrobat pre-defined CIDFonts
+%% ---------------------------------------------------------
+%% Chinese/Simplified STSong-Light
+%% Chinese/Traditional MHei-Medium, MSung-Light
+%% Japanese HeiseiMin-W3, HeiseiKakuGo-W5
+%% Korean HYGoThic-Medium, HYSMyeongJo-Medium
+%% ---------------------------------------------------------
+
+%rml H HeiseiMin-W3
+%gbm H HeiseiKakuGo-W5
+%rmlv V HeiseiMin-W3
+%gbmv V HeiseiKakuGo-W5
+
+%% ** PostScript "standard" fonts (Japanese) are also pre-defined.
+%%
+%% Ryumin-Light, GothicBBB-Medium (Adobe-Japan1-2)
+
+rml H Ryumin-Light
+gbm H GothicBBB-Medium
+rmlv V Ryumin-Light
+gbmv V GothicBBB-Medium
+
+%% Note. If you apply vertical version (WMode 1) of CMaps to horizontal
+%% fonts (e.g., rml), dvipdfmx does horizontal positioning while PDF
+%% viewers apply vertical positioning for that font.
+%%
+%% Note. On some Mac platforms, Ryumin-Light and GothicBBB-Medium are not
+%% handled properly by Adobe products. Especially, if you have those fonts
+%% in the OCF format, you may want to avoid them.
+%%
+%%
+%% 2) OpenType CIDFonts (CIDFontType0)
+%%
+%% Postscript CID-keyed fonts are supported only in the CFF OpenType format
+%% with Type 2 charstrings.
+%%
+%% o Kozuka-Mincho sold by Adobe:
+
+kml H KozMinPro-Regular.otf
+
+%% o CFF/OpenType version of Kochi CIDFont:
+
+kochi-min H Kochi-Mincho.otf
+kochi-got H Kochi-Gothic.otf
+
+%% The suffix `.otf' is optional. Please use suffix `.otf' if needed.
+%%
+%%
+%% 3) TrueType CIDFonts (CIDFontType2)
+%%
+%% TrueType (.ttf) and TrueType collection (.ttc) are supported.
+%%
+%% o Japanese MS-Windows fonts
+
+msmin H :0:msmincho
+msgot H :0:msgothic
+
+%% MS-Mincho with proportional latin and kana:
+
+msminp H :1:msmincho
+
+%% o Kochi is TrueType (not a collection):
+
+kmin H :0:kochi-mincho
+kgot H :0:kochi-gothic
+
+%% o Korean MS-Windows fonts with stylistic variants (no-embedding)
+
+%jbtm@UKS@ UniKS-UCS2-H :0:!batang.ttc
+%jbtmo@UKS@ UniKS-UCS2-H :0:!batang.ttc,Italic
+%jbtb@UKS@ UniKS-UCS2-H :0:!batang.ttc,Bold
+%jbtbo@UKS@ UniKS-UCS2-H :0:!batang.ttc,BoldItalic
+
+%% o Baekmuk fonts (used with HLaTeX package)
+
+%bbtm@KS-HLaTeX@ KSCms-UHC-H :0:batang.ttf
+%bbtmo@UKS-HLaTeX@ UniKS-UCS2-H :0:batang.ttf -s .167
+
+
+%% Font Licensing Issue
+%% --------------------
+%%
+%% If you try to use the following font,
+
+hgskai H :0:hgrsksj
+
+%% you will see the following message:
+%%
+%% ** Embedding disabled due to licensing restriction **
+%%
+%% As this message indicates, font embedding is disabled because embedding
+%% is not allowed for this font. Also, please note that any documents that
+%% contains font with `Preview & Print' embedding licensing can be opened
+%% only for the purpose of previewing and/or printing. When fonts with this
+%% type of license are encountered, you will see the following message:
+%%
+%% ** NOTICE: This document contains `Preview & Print' only licensed font **
+%%
+%% In this case, you cannot distribute resulting PDF document if you are not
+%% absolutely sure that you are not violating license you acquired.
+%%
+%%
+%% Other Encodings
+%% ---------------
+%%
+%% Only 16-bit encodings are supported. The DVI format specification allows
+%% 24-bit and 32-bit (signed) long character codes, though.
+%%
+%% 1) JIS C 6226 (JIS78) character set with NEC extensions, ISO-2022-JP encoding:
+
+rmlx Ext-H Ryumin-Light
+
+%% or Shift-JIS encoding:
+
+rmlsjx Ext-RKSJ-H Ryumin-Light
+
+%% 2) Hojo-Kanji (JIS X 0212-1990): Adobe-Japan2 character collection
+
+hjmin Hojo-H :0:msmincho
+hjminv Hojo-V :0:msmincho
+
+%% You need ToUnicode CMap for the Adobe-Japan2 character collection.
+%% If you cannot find it, copy and paste from the "ToUnicode Mapping File
+%% Tutorial" (Adobe Technical Note #5411). Please change the CMap name and
+%% the ordering string from `Adobe-Japan2-000' to `Adobe-Japan2-UCS2' and
+%% from `Adobe_Japan2_000' to `Adobe_Japan2_UCS2', respectively. You must
+%% save it as Adobe-Japan2-UCS2.
+%%
+%% 3) Unicode encodings, Omega requires them. (not fully tested.)
+%%
+%% o Chinese
+
+ombkai UniCNS-UCS2-H :0:bkai00mp
+ombsmi UniCNS-UCS2-H :0:bsmi00lp
+omgkai UniGB-UCS2-H :0:gkai00mp
+omgbsn UniGB-UCS2-H :0:gbsn00lp
+
+%% o Japanese
+
+omrml UniJIS-UCS2-H Ryumin-Light
+
+%% o Korean
+
+omgtm UniKS-UCS2-H HYGoThic-Medium
+omubt UniKS-UCS2-H :0:batang
+
+%% 4) UTF8 encodings with CJK package
+%%
+%% It is possible to use several languages in a document with CJK package
+%% via the UTF8 encoding.
+
+cyberb@Unicode@ Identity-H :0:cyberbit.ttf
+
+%% Bitstream Cyberbit font is available at:
+%%
+%% http://ftp.netscape.com/pub/communicator/extras/fonts/windows/ReadMe.htm
+%%
+%%
+%% Custom CMap and Specialized Font
+%% --------------------------------
+%%
+%% All TrueType font should have TrueType cmap (character codes to
+%% glyph indices mapping) table with platform ID 3, and encoding ID
+%% 1. If you are using CMap `Dummy-H' having, say, registry string
+%% `My' and ordering string `Ordering' to map character codes used in
+%% the DVI file to CIDs, you must also have CMap resource named
+%% `My-Ordering-UCS2' (for encoding ID 1) which defines mapping from
+%% CID to character code used in the TrueType font:
+%%
+%% myfont Dummy-H :0:myfont.ttf
+%%
+%% Some font that have 511 glyphs (one for .notdef), split into two
+%% single-byte fonts for use with `plain' TeX, tied up to a single
+%% CID-keyed font:
+%%
+%% math1 Math-Symbol1 :0:msymbol.ttf
+%% math2 Math-Symbol2 :0:msymbol.ttf
+%%
+%% Arabic as CID-Keyed font:
+%%
+%% omarb UniArab-UCS2 :0:arabuni.ttf
+%%
+%% At present, accessing glyphs via glyph indices directly is not supported.
+%% It will be supported if someone need it.
+%%
+%% Please make your CMap resource file as simple as possible. The built-in
+%% CMap parser will fail if the structure of CMap file is too complicated.
+%%
+%%
+%% TODO
+%% ----
+%%
+%% o Supports TrueType UCS4 cmap table
+%%
+%% o Supports TrueType Symbol cmap table (under consideration)
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Hin-Tak Leung's custom setup below: %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+cwtb@UBig5@ UniCNS-UCS2-H :0:bbttf.ttf
+cwtf@UBig5@ UniCNS-UCS2-H :0:fttf.ttf
+cwtk@UBig5@ UniCNS-UCS2-H :0:kttf.ttf
+cwtm@UBig5@ UniCNS-UCS2-H :0:mttf.ttf
+cwtr@UBig5@ UniCNS-UCS2-H :0:rttf.ttf
+%
+mekl@Big5@ ETen-B5-H :0:kai-linux.ttf
+mest@Big5@ ETen-B5-H :0:edustd-15.ttf
+mesx@Big5@ ETen-B5-H :0:edustds1.ttf
+mesy@Big5@ ETen-B5-H :0:edustds2.ttf
+meko@Big5@ ETen-B5-H :0:moe_kai.ttf
+meso@Big5@ ETen-B5-H :0:moe_sung.ttf
+%
+bkai@UBig5@ UniCNS-UCS2-H :0:bkai00mp.ttf
+bsmi@UBig5@ UniCNS-UCS2-H :0:bsmi00lp.ttf
+%
+gbsn@UGB@ UniGB-UCS2-H :0:gbsn00lp.ttf
+gkai@UGB@ UniGB-UCS2-H :0:gkai00mp.ttf
+%
+ntbr@Big5@ ETen-B5-H :0:ntu_br.ttf
+ntfs@Big5@ ETen-B5-H :0:ntu_fs_m.ttf
+ntka@Big5@ ETen-B5-H :0:ntu_kai.ttf
+ntli@Big5@ ETen-B5-H :0:ntu_li_m.ttf
+ntmb@Big5@ ETen-B5-H :0:ntu_mb.ttf
+ntmm@Big5@ ETen-B5-H :0:ntu_mm.ttf
+ntmr@Big5@ ETen-B5-H :0:ntu_mr.ttf
+nttw@Big5@ ETen-B5-H :0:ntu_tw.ttf
+%
+wclj@Big5@ ETen-B5-H :0:wcl-01.ttf
+wclk@Big5@ ETen-B5-H :0:wcl-02.ttf
+wcll@Big5@ ETen-B5-H :0:wcl-03.ttf
+wclm@Big5@ ETen-B5-H :0:wcl-04.ttf
+wcln@Big5@ ETen-B5-H :0:wcl-05.ttf
+wclp@Big5@ ETen-B5-H :0:wcl-06.ttf
+wclq@Big5@ ETen-B5-H :0:wcl-07.ttf
+wclr@Big5@ ETen-B5-H :0:wcl-08.ttf
+wcls@Big5@ ETen-B5-H :0:wcl-09.ttf
+wclt@Big5@ ETen-B5-H :0:wcl-10.ttf
+%
+zysg@UGB@ UniGB-UCS2-H :0:zysong.ttf
+%
+wnmc@SJIS@ Ext-RKSJ-H :0:watanabe-mincho.ttf
+wdgt@SJIS@ Ext-RKSJ-H :0:wadalab-gothic.ttf
+%
+kcgt@UJIS@ UniJIS-UCS2-H :0:kochi-gothic.ttf
+kcmc@UJIS@ UniJIS-UCS2-H :0:kochi-mincho.ttf
+%
+ykah@Big5@ ETen-B5-H :0:yka00hp.ttf
+gtrl@Big5@ ETen-B5-H :0:gtr00lp.ttf
+gtrm@Big5@ ETen-B5-H :0:gtr00mp.ttf
+leim@Big5@ ETen-B5-H :0:lei00mp.ttf
+heim@Big5@ ETen-B5-H :0:hei01mp.ttf
+sunm@Big5@ ETen-B5-H :0:sun00mp.ttf
+%
+gbsnl@EUC@ GB-EUC-H :0:gbsn00l.ttf
+ggtrl@EUC@ GB-EUC-H :0:ggtr00l.ttf
+gkaim@EUC@ GB-EUC-H :0:gkai00m.ttf
+gleim@EUC@ GB-EUC-H :0:glei00m.ttf
+gsinm@EUC@ GB-EUC-H :0:gsin00m.ttf
+tgtrl@EUC@ GB-EUC-H :0:tgtr00l.ttf
+tkaim@EUC@ GB-EUC-H :0:tkai00m.ttf
+tleim@EUC@ GB-EUC-H :0:tlei00m.ttf
+tooru@EUC@ GB-EUC-H :0:toor00u.ttf
+tovru@EUC@ GB-EUC-H :0:tovr00u.ttf
+tsinm@EUC@ GB-EUC-H :0:tsin00m.ttf
+%
+dcaiq@UJIS@ UniJIS-UCS2-H :0:dcai5.ttc
+dcailq@UJIS@ UniJIS-UCS2-H :0:dcail5.ttc
+dcaisq@UJIS@ UniJIS-UCS2-H :0:dcais5.ttc
+dccryq@UJIS@ UniJIS-UCS2-H :0:dccry5.ttc
+dchgmq@UJIS@ UniJIS-UCS2-H :0:dchgm5.ttc
+dchleiq@UJIS@ UniJIS-UCS2-H :0:dchlei5.ttc
+dcinlq@UJIS@ UniJIS-UCS2-H :0:dcinl5.ttc
+dckgmc@UJIS@ UniJIS-UCS2-H :0:dckgmc.ttc
+dclkaiq@UJIS@ UniJIS-UCS2-H :0:dclkai5.ttc
+dcysmr@UJIS@ UniJIS-UCS2-H :0:dcysm7.ttc
+dfcrdp@UJIS@ UniJIS-UCS2-H :0:dfcrd3.ttc
+dffrsp@UJIS@ UniJIS-UCS2-H :0:dffrs3.ttc
+dfgskr@UJIS@ UniJIS-UCS2-H :0:dfgsk7.ttc
+dfkaie@UJIS@ UniJIS-UCS2-H :0:dfkaie.ttc
+dfkbtp@UJIS@ UniJIS-UCS2-H :0:dfkbt3.ttc
+dfoyjq@UJIS@ UniJIS-UCS2-H :0:dfoyj5.ttc
+dfryss@UJIS@ UniJIS-UCS2-H :0:dfrys9.ttc
+dfshtq@UJIS@ UniJIS-UCS2-H :0:dfsht5.ttc
+dfshtr@UJIS@ UniJIS-UCS2-H :0:dfsht7.ttc
+dfskair@UJIS@ UniJIS-UCS2-H :0:dfskai7.ttc
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/cwtb.map b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/cwtb.map
new file mode 100644
index 0000000000..964c65c84a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/cwtb.map
@@ -0,0 +1,55 @@
+cwtb01 cwtb01 <cwtb01.enc <bbttf.ttf
+cwtb02 cwtb02 <cwtb02.enc <bbttf.ttf
+cwtb03 cwtb03 <cwtb03.enc <bbttf.ttf
+cwtb04 cwtb04 <cwtb04.enc <bbttf.ttf
+cwtb05 cwtb05 <cwtb05.enc <bbttf.ttf
+cwtb06 cwtb06 <cwtb06.enc <bbttf.ttf
+cwtb07 cwtb07 <cwtb07.enc <bbttf.ttf
+cwtb08 cwtb08 <cwtb08.enc <bbttf.ttf
+cwtb09 cwtb09 <cwtb09.enc <bbttf.ttf
+cwtb10 cwtb10 <cwtb10.enc <bbttf.ttf
+cwtb11 cwtb11 <cwtb11.enc <bbttf.ttf
+cwtb12 cwtb12 <cwtb12.enc <bbttf.ttf
+cwtb13 cwtb13 <cwtb13.enc <bbttf.ttf
+cwtb14 cwtb14 <cwtb14.enc <bbttf.ttf
+cwtb15 cwtb15 <cwtb15.enc <bbttf.ttf
+cwtb16 cwtb16 <cwtb16.enc <bbttf.ttf
+cwtb17 cwtb17 <cwtb17.enc <bbttf.ttf
+cwtb18 cwtb18 <cwtb18.enc <bbttf.ttf
+cwtb19 cwtb19 <cwtb19.enc <bbttf.ttf
+cwtb20 cwtb20 <cwtb20.enc <bbttf.ttf
+cwtb21 cwtb21 <cwtb21.enc <bbttf.ttf
+cwtb22 cwtb22 <cwtb22.enc <bbttf.ttf
+cwtb23 cwtb23 <cwtb23.enc <bbttf.ttf
+cwtb24 cwtb24 <cwtb24.enc <bbttf.ttf
+cwtb25 cwtb25 <cwtb25.enc <bbttf.ttf
+cwtb26 cwtb26 <cwtb26.enc <bbttf.ttf
+cwtb27 cwtb27 <cwtb27.enc <bbttf.ttf
+cwtb28 cwtb28 <cwtb28.enc <bbttf.ttf
+cwtb29 cwtb29 <cwtb29.enc <bbttf.ttf
+cwtb30 cwtb30 <cwtb30.enc <bbttf.ttf
+cwtb31 cwtb31 <cwtb31.enc <bbttf.ttf
+cwtb32 cwtb32 <cwtb32.enc <bbttf.ttf
+cwtb33 cwtb33 <cwtb33.enc <bbttf.ttf
+cwtb34 cwtb34 <cwtb34.enc <bbttf.ttf
+cwtb35 cwtb35 <cwtb35.enc <bbttf.ttf
+cwtb36 cwtb36 <cwtb36.enc <bbttf.ttf
+cwtb37 cwtb37 <cwtb37.enc <bbttf.ttf
+cwtb38 cwtb38 <cwtb38.enc <bbttf.ttf
+cwtb39 cwtb39 <cwtb39.enc <bbttf.ttf
+cwtb40 cwtb40 <cwtb40.enc <bbttf.ttf
+cwtb41 cwtb41 <cwtb41.enc <bbttf.ttf
+cwtb42 cwtb42 <cwtb42.enc <bbttf.ttf
+cwtb43 cwtb43 <cwtb43.enc <bbttf.ttf
+cwtb44 cwtb44 <cwtb44.enc <bbttf.ttf
+cwtb45 cwtb45 <cwtb45.enc <bbttf.ttf
+cwtb46 cwtb46 <cwtb46.enc <bbttf.ttf
+cwtb47 cwtb47 <cwtb47.enc <bbttf.ttf
+cwtb48 cwtb48 <cwtb48.enc <bbttf.ttf
+cwtb49 cwtb49 <cwtb49.enc <bbttf.ttf
+cwtb50 cwtb50 <cwtb50.enc <bbttf.ttf
+cwtb51 cwtb51 <cwtb51.enc <bbttf.ttf
+cwtb52 cwtb52 <cwtb52.enc <bbttf.ttf
+cwtb53 cwtb53 <cwtb53.enc <bbttf.ttf
+cwtb54 cwtb54 <cwtb54.enc <bbttf.ttf
+cwtb55 cwtb55 <cwtb55.enc <bbttf.ttf
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/dvipdfmx.cfg b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/dvipdfmx.cfg
new file mode 100644
index 0000000000..e1fd450a21
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/dvipdfmx.cfg
@@ -0,0 +1,164 @@
+% original config -- Made by MAW on 8/31/99
+% Distiller template examples. Uncomment
+% the appropriate one, or (preferably) create your own.
+% Put %i in the command line where the input file name should go.
+% Put %o in the command line where the output file name should go.
+% (dvipdfm must be able to supply the output file name to your
+% command line)
+% Put %b in the line somewhere if you want to specify the
+% "base" name of the input file, e.g., "foo" instead of "foo.eps"
+%
+% Note that it's probably a good idea to fully qualify
+% the paths so you can be sure what you are running
+
+% The following line works with Frank Siegert's pstill
+% D "/usr/local/bin/pstill -c -o %o %i"
+
+% The following line works with GhostScript
+% UNIX/Linux (borrowed from W32TeX by Akira Kakuto)
+D "gs -q -dNOPAUSE -dBATCH -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.3 -dAutoFilterGrayImages=false -dAutoFilterColorImages=false -dGrayImageFilter=/FlateEncode -dColorImageFilter=/FlateEncode -dUseFlateCompression=true -sOutputFile=%o %i -c quit"
+% Win32 (borrowed from W32TeX by Akira Kakuto)
+% D "gswin32c -q -dNOPAUSE -dBATCH -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.3 -dAutoFilterGrayImages=false -dAutoFilterColorImages=false -dGrayImageFilter=/FlateEncode -dColorImageFilter=/FlateEncode -dUseFlateCompression=true -sOutputFile=%o %i -c quit"
+% The following line works on compressed or uncompressed postscript with GhostScript
+% UNIX/Linux (borrowed from W32TeX by Akira Kakuto)
+% D "zcat -f %i | gs -q -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.3 -dUseFlateCompression=true -sOutputFile=%o - -c quit"
+% Win32 (borrowed from W32TeX by Akira Kakuto)
+% D "gzcat -f %i | gswin32c -q -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.3 -dUseFlateCompression=true -sOutputFile=%o - -c quit"
+
+% The following line works with Adobe Acrobat Distiller
+% D "/usr/local/bin/distill -quiet -pairs %i %o"
+
+% Set default paper size here
+p a4
+
+% The "g" option specifies the amount to "grow" annotations by
+% Many TeX macro pages set the annotation bounding box equal
+% to the TeX box that encloses the material. That's not always
+% what you want
+g 1
+
+% PDF version stamp to use in output file and max version of files
+% allowed to be included (3 for 1.3, 4 for 1.4)
+V 3
+
+% Key bits for PDF encryption (40 - 128)
+K 40
+
+% Permission flag for PDF encryption: Revision will be 3 if the key size
+% is greater than 40 bits.
+%
+% 0x0004 (Revision 2) Print the document.
+% (Revision 3) Print the document (possibly not at the highest quality
+% level, depending on whether bit 12[0x0800] is also set).
+% 0x0008 Modify the contents of the document by operations other than those
+% controlled by bits 6[0x0020], 9[0x0100], and 11[0x0400].
+% 0x0010 (Revision 2) Copy or otherwise extract text and graphics from the
+% document, including extracting text and graphics (in support of
+% accessibility to disabled users or for other purposes).
+% (Revision 3) Copy or otherwise extract text and grphics from the
+% document by operations other than that controlled by bit 10[0x0200].
+% 0x0020 Add or modify text annotations, fill in interactive form fields,
+% and, if bit 4[0x0008] is also set, create or modify interactive
+% form fields (including signature fields).
+%
+% (Revision 3 only)
+% 0x0100 Fill in existing interactive form fields (including signature
+% fields), even if bit 6 is clear.
+% 0x0200 Extract text and graphics (in support of accessibility to disabled
+% users or for other purposes).
+% 0x0400 Assemble the document (insert, rotate, or delete pages and create
+% bookmarks or thumbnail images), even if bit 4 is clear.
+% 0x0800 Print the document to a representation from which a faithful digital
+% copy of the PDF content could be generated. When this bit is clear
+% (and bit 3 is set), printing is limited to a low-level representation
+% of the appearance, possibly of degraded quality.
+P 0x003C
+
+% Font map files
+%
+f cmr.map
+f psbase14.map
+% Most distributions now use these names
+f lw35urw.map
+% Some use these names
+% f lw35urwa.map
+f cid-x.map
+% Added by Hin-Tak Leung below this point:
+f cwtb.map
+f cwtf.map
+f cwtk.map
+f cwtm.map
+f cwtr.map
+f mekl.map
+f mest.map
+f mesx.map
+f mesy.map
+f meko.map
+f meso.map
+f bkai.map
+f bsmi.map
+f gbsn.map
+f gkai.map
+f ntbr.map
+f ntfs.map
+f ntka.map
+f ntli.map
+f ntmb.map
+f ntmm.map
+f ntmr.map
+f nttw.map
+f wclj.map
+f wclk.map
+f wcll.map
+f wclm.map
+f wcln.map
+f wclp.map
+f wclq.map
+f wclr.map
+f wcls.map
+f wclt.map
+f zysg.map
+f wnmc.map
+f wdgt.map
+f kcgt.map
+f kcmc.map
+f acrj.map
+f acrg.map
+f acrb.map
+f ykah.map
+f gtrl.map
+f gtrm.map
+f leim.map
+f heim.map
+f sunm.map
+f gbsnl.map
+f ggtrl.map
+f gkaim.map
+f gleim.map
+f gsinm.map
+f tgtrl.map
+f tkaim.map
+f tleim.map
+f tooru.map
+f tovru.map
+f tsinm.map
+f dcaiq.map
+f dcailq.map
+f dcaisq.map
+f dccryq.map
+f dchgmq.map
+f dchleiq.map
+f dcinlq.map
+f dckgmc.map
+f dclkaiq.map
+f dcysmr.map
+f dfcrdp.map
+f dffrsp.map
+f dfgskr.map
+f dfkaie.map
+f dfkbtp.map
+f dfoyjq.map
+f dfryss.map
+f dfshtq.map
+f dfshtr.map
+f dfskair.map
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/gen-map.pl b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/gen-map.pl
new file mode 100644
index 0000000000..737304da36
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/gen-map.pl
@@ -0,0 +1,120 @@
+#!/usr/bin/perl -w
+
+@font_list =
+(
+ "cwtb", "bbttf.ttf", 55,
+ "cwtf", "fttf.ttf", 55,
+ "cwtk", "kttf.ttf", 55,
+ "cwtm", "mttf.ttf", 55,
+ "cwtr", "rttf.ttf", 55,
+#
+ "mekl", "kai-linux.ttf", 58,
+ "mest", "edustd-15.ttf", 55,
+ "mesx", "edustds1.ttf", 55,
+ "mesy", "edustds2.ttf", 55,
+ "meko", "moe_kai.ttf", 58,
+ "meso", "moe_sung.ttf", 58,
+#
+ "bkai", "bkai00mp.ttf", 55,
+ "bsmi", "bsmi00lp.ttf", 55,
+#
+ "gbsn", "gbsn00lp.ttf", 32,
+ "gkai", "gkai00mp.ttf", 32,
+#
+ "ntbr", "ntu_br.ttf", 58,
+ "ntfs", "ntu_fs_m.ttf", 58,
+ "ntka", "ntu_kai.ttf", 58,
+ "ntli", "ntu_li_m.ttf", 58,
+ "ntmb", "ntu_mb.ttf", 58,
+ "ntmm", "ntu_mm.ttf", 58,
+ "ntmr", "ntu_mr.ttf", 58,
+ "nttw", "ntu_tw.ttf", 58,
+#
+ "wclj", "wcl-01.ttf", 55,
+ "wclk", "wcl-02.ttf", 55,
+ "wcll", "wcl-03.ttf", 55,
+ "wclm", "wcl-04.ttf", 55,
+ "wcln", "wcl-05.ttf", 55,
+ "wclp", "wcl-06.ttf", 55,
+ "wclq", "wcl-07.ttf", 55,
+ "wclr", "wcl-08.ttf", 55,
+ "wcls", "wcl-09.ttf", 55,
+ "wclt", "wcl-10.ttf", 55,
+#
+ "zysg", "zysong.ttf", 32,
+#
+ "wnmc", "watanabe-mincho.ttf", 35,
+ "wdgt", "wadalab-gothic.ttf", 35,
+#
+ "kcgt", "kochi-gothic.ttf", 31,
+ "kcmc", "kochi-mincho.ttf", 31,
+#
+ "acrj", "kochi-mincho.ttf", 31,
+ "acrg", "gbsn00lp.ttf", 32,
+ "acrb", "bsmi00lp.ttf", 55,
+#
+"ykah", "yka00hp.ttf", 57,
+"gtrl", "gtr00lp.ttf", 57,
+"gtrm", "gtr00mp.ttf", 57,
+"leim", "lei00mp.ttf", 57,
+"heim", "hei01mp.ttf", 57,
+"sunm", "sun00mp.ttf", 57,
+#
+"gbsnl", "gbsn00l.ttf",32,
+"ggtrl", "ggtr00l.ttf",32,
+"gkaim", "gkai00m.ttf",32,
+"gleim", "glei00m.ttf",32,
+"gsinm", "gsin00m.ttf",32,
+"tgtrl", "tgtr00l.ttf",32,
+"tkaim", "tkai00m.ttf",32,
+"tleim", "tlei00m,ttf",32,
+"tooru", "toor00u.ttf",32,
+"tovru", "tovr00u.ttf",32,
+"tsinm", "tsin00m.ttf",32,
+#
+"dcaiq", "dcai5.ttc", 31,
+"dcailq", "dcail5.ttc", 31,
+"dcaisq", "dcais5.ttc", 31,
+"dccryq", "dccry5.ttc", 31,
+"dchgmq", "dchgm5.ttc", 31,
+"dchleiq", "dchlei5.ttc", 31,
+"dcinlq", "dcinl5.ttc", 31,
+"dckgmc", "dckgmc.ttc", 31,
+"dclkaiq", "dclkai5.ttc", 31,
+"dcysmr", "dcysm7.ttc", 31,
+"dfcrdp", "dfcrd3.ttc", 31,
+"dffrsp", "dffrs3.ttc", 31,
+"dfgskr", "dfgsk7.ttc", 31,
+"dfkaie", "dfkaie.ttc", 31,
+"dfkbtp", "dfkbt3.ttc", 31,
+"dfoyjq", "dfoyj5.ttc", 31,
+"dfryss", "dfrys9.ttc", 31,
+"dfshtq", "dfsht5.ttc", 31,
+"dfshtr", "dfsht7.ttc", 31,
+"dfskair", "dfskai7.ttc", 31,
+#
+);
+
+open(LISTFILE, "> map.list");
+
+$list_length = (scalar @font_list ) /3 ;
+for ($i = 0; $i < $list_length ; $i++)
+{
+ $stem = shift @font_list;
+ $font = shift @font_list;
+ $entries = shift @font_list;
+ print LISTFILE "f ", $stem, ".map\n";
+ open(MAPFILE, "> ${stem}.map");
+
+ for ($j=1; $j<= $entries ; $j++)
+ {
+ $j_pad = sprintf "%2.2d", $j;
+ print MAPFILE
+ $stem, $j_pad, " ", $stem, $j_pad, " <",
+ $stem, $j_pad, ".enc <",
+ $font, "\n";
+ }
+ close(MAPFILE);
+}
+close(LISTFILE);
+
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/map.list b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/map.list
new file mode 100644
index 0000000000..ae1fcd4ad1
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/map.list
@@ -0,0 +1,78 @@
+f cwtb.map
+f cwtf.map
+f cwtk.map
+f cwtm.map
+f cwtr.map
+f mekl.map
+f mest.map
+f mesx.map
+f mesy.map
+f meko.map
+f meso.map
+f bkai.map
+f bsmi.map
+f gbsn.map
+f gkai.map
+f ntbr.map
+f ntfs.map
+f ntka.map
+f ntli.map
+f ntmb.map
+f ntmm.map
+f ntmr.map
+f nttw.map
+f wclj.map
+f wclk.map
+f wcll.map
+f wclm.map
+f wcln.map
+f wclp.map
+f wclq.map
+f wclr.map
+f wcls.map
+f wclt.map
+f zysg.map
+f wnmc.map
+f wdgt.map
+f kcgt.map
+f kcmc.map
+f acrj.map
+f acrg.map
+f acrb.map
+f ykah.map
+f gtrl.map
+f gtrm.map
+f leim.map
+f heim.map
+f sunm.map
+f gbsnl.map
+f ggtrl.map
+f gkaim.map
+f gleim.map
+f gsinm.map
+f tgtrl.map
+f tkaim.map
+f tleim.map
+f tooru.map
+f tovru.map
+f tsinm.map
+f dcaiq.map
+f dcailq.map
+f dcaisq.map
+f dccryq.map
+f dchgmq.map
+f dchleiq.map
+f dcinlq.map
+f dckgmc.map
+f dclkaiq.map
+f dcysmr.map
+f dfcrdp.map
+f dffrsp.map
+f dfgskr.map
+f dfkaie.map
+f dfkbtp.map
+f dfoyjq.map
+f dfryss.map
+f dfshtq.map
+f dfshtr.map
+f dfskair.map
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/texinput/Bg5/c00cwtb.fd b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/texinput/Bg5/c00cwtb.fd
new file mode 100644
index 0000000000..8cc9004f21
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/texinput/Bg5/c00cwtb.fd
@@ -0,0 +1,11 @@
+% This is the file c00cwtb.fd of the CJK package
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c00cwtb.fd}[\filedate\space\fileversion]
+
+\DeclareFontFamily{C00}{cwtb}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{cwtb}{m}{n}{<-> CJK * cwtb}{\CJKnormal}
+\DeclareFontShape{C00}{cwtb}{bx}{n}{<-> CJKb * cwtb}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/texinput/Bg5/c00tmpl.fd b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/texinput/Bg5/c00tmpl.fd
new file mode 100644
index 0000000000..e61183c443
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/texinput/Bg5/c00tmpl.fd
@@ -0,0 +1,11 @@
+% This is the file c00tmpl.fd of the CJK package
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c00tmpl.fd}[\filedate\space\fileversion]
+
+\DeclareFontFamily{C00}{tmpl}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{tmpl}{m}{n}{<-> CJK * tmpl}{\CJKnormal}
+\DeclareFontShape{C00}{tmpl}{bx}{n}{<-> CJKb * tmpl}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/texinput/GB/c10tmpl.fd b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/texinput/GB/c10tmpl.fd
new file mode 100644
index 0000000000..aa2ad66193
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/texinput/GB/c10tmpl.fd
@@ -0,0 +1,11 @@
+% This is the file c10tmpl.fd of the CJK package
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c10tmpl.fd}[\filedate\space\fileversion]
+
+\DeclareFontFamily{C10}{tmpl}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C10}{tmpl}{m}{n}{<-> CJK * tmpl}{\CJKnormal}
+\DeclareFontShape{C10}{tmpl}{bx}{n}{<-> CJKb * tmpl}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/texinput/JIS/c40tmpl.fd b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/texinput/JIS/c40tmpl.fd
new file mode 100644
index 0000000000..5b6efbd6f5
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/texinput/JIS/c40tmpl.fd
@@ -0,0 +1,10 @@
+% This is the file c40tmpl.fd of the CJK package
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c40tmpl.fd}[\filedate\space\fileversion]
+
+\DeclareFontFamily{C40}{tmpl}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C40}{tmpl}{m}{n}{<-> CJK * tmpl}{\CJKnormal}
+\DeclareFontShape{C40}{tmpl}{bx}{n}{<-> CJKb * tmpl}{\CJKbold}
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/texinput/SJIS/c49tmpl.fd b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/texinput/SJIS/c49tmpl.fd
new file mode 100644
index 0000000000..2e844d102f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/texinput/SJIS/c49tmpl.fd
@@ -0,0 +1,10 @@
+% This is the file c49song.fd of the CJK package
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c49song.fd}[\filedate\space\fileversion]
+
+\DeclareFontFamily{C49}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C49}{song}{m}{n}{<-> CJK * tmpl}{\CJKnormal}
+\DeclareFontShape{C49}{song}{bx}{n}{<-> CJKb * tmpl}{\CJKbold}
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/updmap.my b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/updmap.my
new file mode 100644
index 0000000000..a020e035ee
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/updmap.my
@@ -0,0 +1,161 @@
+#!/bin/sh
+# Thomas Esser, 1998, 1999. Public domain.
+
+###########################################################################
+# updmap: create psfonts.map, ps2pk.map and pdftex.map from smaller
+# "modules". To recreate the map files, just run the command:
+# ./updmap
+###########################################################################
+
+###########################################################################
+# Configuration section:
+###########################################################################
+
+# Add any extra modules here. See the definition of common_modules below
+# for an example of the correct syntax. If you just want to use the type1
+# version for the computer modern fonts by default in dvips (instead of
+# the metafont based bitmap fonts), just change the definition of
+# type1_default that is given below.
+#
+# An alternative to adding map files here is to edit the files
+# config/dvips/config.ps
+# pdftex/config/pdftex.cfg
+# in a local texmf tree.
+extra_modules="
+cwtb.map
+cwtf.map
+cwtk.map
+cwtm.map
+cwtr.map
+mekl.map
+mest.map
+mesx.map
+mesy.map
+meko.map
+meso.map
+bkai.map
+bsmi.map
+gbsn.map
+gkai.map
+ntbr.map
+ntfs.map
+ntka.map
+ntli.map
+ntmb.map
+ntmm.map
+ntmr.map
+nttw.map
+wclj.map
+wclk.map
+wcll.map
+wclm.map
+wcln.map
+wclp.map
+wclq.map
+wclr.map
+wcls.map
+wclt.map
+zysg.map
+wnmc.map
+wdgt.map
+kcgt.map
+kcmc.map
+acrj.map
+acrg.map
+acrb.map
+"
+
+###########################################################################
+# Set up the standard Laserwriter fonts:
+# urw-kb: these are included in teTeX's texmf tree
+# urw-urw: these are included in ghostscript 4.0 and later. Adjust the
+# search paths for type1 and afm files in texmf.cnf if you set
+# this
+# adobe-kb: use this if you have the original Adobe fonts. Install the
+# type1 and afm files with Berry names.
+###########################################################################
+
+lw35=urw-kb # URW fonts (download type1 files using Berry names)
+# lw35=urw-urw # URW fonts (download type1 files using URW names)
+# lw35=adobe-kb # Adobe fonts (download type1 files using Berry names)
+
+###########################################################################
+# Set to true to use postscript type1 versions for fonts with existing
+# metafont versions.
+###########################################################################
+
+type1_default=false
+# type1_default=true
+
+###########################################################################
+# Add common map files here:
+###########################################################################
+common_modules="
+ charter.map context.map lucidabr.map marvosym.map mathpi.map
+ mathpple-ext.map mt-plus.map mt-yy.map omega.map utopia.map
+ xypic.map txr4.map pxr4.map pazo.map $extra_modules
+"
+
+###########################################################################
+# End of configuration section.
+###########################################################################
+
+###########################################################################
+# Type1 fonts with Metafont equivalents. When not generating resolution
+# independent postscript or pdf, we prefer the Metafont variants for these.
+###########################################################################
+mf_modules="
+ bsr.map bsr-interpolated.map cmcyr.map cs.map hoekwater.map pl.map
+"
+
+###########################################################################
+# These are used by dvips:
+###########################################################################
+lw35_modules="
+ *-adobe-bi.map
+ $common_modules
+"
+
+###########################################################################
+# Add CM + AMS fonst if configured:
+###########################################################################
+if test "x$type1_default" = xtrue; then
+ lw35_modules="$lw35_modules $mf_modules"
+fi
+
+###########################################################################
+# ps2pk has no "built in" fonts and needs to download everything:
+###########################################################################
+ps2pk_modules="
+ *-$lw35.map
+"
+
+###########################################################################
+# pdftex has the acrobat fonts (subset of the lw35 fonts) built in, but
+# needs to download fonts for ExtendFont / SlantFont:
+###########################################################################
+pdftex_modules="
+ $mf_modules
+
+ *ar-ext-$lw35.map
+ *ar-std-adobe-bi.map
+ *lw35extra-$lw35.map
+ mtsupp-ext-$lw35.map
+ mtsupp-std-adobe-bi.map
+
+ $common_modules
+"
+
+# Create psfonts.map ps2pk.map and pdftex.map:
+for file in psfonts.map ps2pk.map pdftex.map; do
+cat >$file <<eof
+% $file: maintained by the script updmap in \$TEXMFMAIN/dvips/config.
+% The preferred way to add things to this file is to put the extra lines
+% into a separate file and add that filename to the updmap script. Then,
+% run the updmap script to recreate this file.
+eof
+done
+
+cat $lw35_modules | grep -v '^%' | grep . | sort | uniq >> psfonts.map
+cat $ps2pk_modules | grep -v '^%' | grep . | sort | uniq >> ps2pk.map
+cat $pdftex_modules | grep -v '^%' | grep . | sort | uniq >> pdftex.map
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/wcl.sfd b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/wcl.sfd
new file mode 100644
index 0000000000..594a36acba
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/pdfhowto/examples/wcl.sfd
@@ -0,0 +1,62 @@
+# Big5.sfd
+#
+# subfont numbers for Big 5 encoding and its corresponding code ranges
+# to be used with the CJK package for LaTeX.
+
+01 0xA140_0xA17E 0xA1A1_0xA1FE 0xA240_0xA27E 0xA2A1_0xA2C4
+02 0xA2C5_0xA2FE 0xA340_0xA37E 0xA3A1_0xA3FE 0xA440_0xA468
+03 0xA469_0xA47E 0xA4A1_0xA4FE 0xA540_0xA57E 0xA5A1_0xA5ED
+04 0xA5EE_0xA5FE 0xA640_0xA67E 0xA6A1_0xA6FE 0xA740_0xA77E 0xA7A1_0xA7B3
+05 0xA7B4_0xA7FE 0xA840_0xA87E 0xA8A1_0xA8FE 0xA940_0xA957
+06 0xA958_0xA97E 0xA9A1_0xA9FE 0xAA40_0xAA7E 0xAAA1_0xAADC
+07 0xAADD_0xAAFE 0xAB40_0xAB7E 0xABA1_0xABFE 0xAC40_0xAC7E 0xACA1_0xACA2
+08 0xACA3_0xACFE 0xAD40_0xAD7E 0xADA1_0xADFE 0xAE40_0xAE46
+09 0xAE47_0xAE7E 0xAEA1_0xAEFE 0xAF40_0xAF7E 0xAFA1_0xAFCB
+10 0xAFCC_0xAFFE 0xB040_0xB07E 0xB0A1_0xB0FE 0xB140_0xB16F
+11 0xB170_0xB17E 0xB1A1_0xB1FE 0xB240_0xB27E 0xB2A1_0xB2F4
+12 0xB2F5_0xB2FE 0xB340_0xB37E 0xB3A1_0xB3FE 0xB440_0xB47E 0xB4A1_0xB4BA
+13 0xB4BB_0xB4FE 0xB540_0xB57E 0xB5A1_0xB5FE 0xB640_0xB65E
+14 0xB65F_0xB67E 0xB6A1_0xB6FE 0xB740_0xB77E 0xB7A1_0xB7E3
+15 0xB7E4_0xB7FE 0xB840_0xB87E 0xB8A1_0xB8FE 0xB940_0xB97E 0xB9A1_0xB9A9
+16 0xB9AA_0xB9FE 0xBA40_0xBA7E 0xBAA1_0xBAFE 0xBB40_0xBB4D
+17 0xBB4E_0xBB7E 0xBBA1_0xBBFE 0xBC40_0xBC7E 0xBCA1_0xBCD2
+18 0xBCD3_0xBCFE 0xBD40_0xBD7E 0xBDA1_0xBDFE 0xBE40_0xBE76
+19 0xBE77_0xBE7E 0xBEA1_0xBEFE 0xBF40_0xBF7E 0xBFA1_0xBFFB
+20 0xBFFC_0xBFFE 0xC040_0xC07E 0xC0A1_0xC0FE 0xC140_0xC17E 0xC1A1_0xC1C1
+21 0xC1C2_0xC1FE 0xC240_0xC27E 0xC2A1_0xC2FE 0xC340_0xC365
+22 0xC366_0xC37E 0xC3A1_0xC3FE 0xC440_0xC47E 0xC4A1_0xC4EA
+23 0xC4EB_0xC4FE 0xC540_0xC57E 0xC5A1_0xC5FE 0xC640_0xC67E 0xC6A1_0xC6B0
+24 0xC6B1_0xC6FE 0xC740_0xC77E 0xC7A1_0xC7FE 0xC840_0xC854
+25 0xC855_0xC87E 0xC8A1_0xC8FE 0xC940_0xC97E 0xC9A1_0xC9D9
+26 0xC9DA_0xC9FE 0xCA40_0xCA7E 0xCAA1_0xCAFE 0xCB40_0xCB7D
+27 0xCB7E 0xCBA1_0xCBFE 0xCC40_0xCC7E 0xCCA1_0xCCFE 0xCD40_0xCD43
+28 0xCD44_0xCD7E 0xCDA1_0xCDFE 0xCE40_0xCE7E 0xCEA1_0xCEC8
+29 0xCEC9_0xCEFE 0xCF40_0xCF7E 0xCFA1_0xCFFE 0xD040_0xD06C
+30 0xD06D_0xD07E 0xD0A1_0xD0FE 0xD140_0xD17E 0xD1A1_0xD1F1
+31 0xD1F2_0xD1FE 0xD240_0xD27E 0xD2A1_0xD2FE 0xD340_0xD37E 0xD3A1_0xD3B7
+32 0xD3B8_0xD3FE 0xD440_0xD47E 0xD4A1_0xD4FE 0xD540_0xD55B
+33 0xD55C_0xD57E 0xD5A1_0xD5FE 0xD640_0xD67E 0xD6A1_0xD6E0
+34 0xD6E1_0xD6FE 0xD740_0xD77E 0xD7A1_0xD7FE 0xD840_0xD87E 0xD8A1_0xD8A6
+35 0xD8A7_0xD8FE 0xD940_0xD97E 0xD9A1_0xD9FE 0xDA40_0xDA4A
+36 0xDA4B_0xDA7E 0xDAA1_0xDAFE 0xDB40_0xDB7E 0xDBA1_0xDBCF
+37 0xDBD0_0xDBFE 0xDC40_0xDC7E 0xDCA1_0xDCFE 0xDD40_0xDD73
+38 0xDD74_0xDD7E 0xDDA1_0xDDFE 0xDE40_0xDE7E 0xDEA1_0xDEF8
+39 0xDEF9_0xDEFE 0xDF40_0xDF7E 0xDFA1_0xDFFE 0xE040_0xE07E 0xE0A1_0xE0BE
+40 0xE0BF_0xE0FE 0xE140_0xE17E 0xE1A1_0xE1FE 0xE240_0xE262
+41 0xE263_0xE27E 0xE2A1_0xE2FE 0xE340_0xE37E 0xE3A1_0xE3E7
+42 0xE3E8_0xE3FE 0xE440_0xE47E 0xE4A1_0xE4FE 0xE540_0xE57E 0xE5A1_0xE5AD
+43 0xE5AE_0xE5FE 0xE640_0xE67E 0xE6A1_0xE6FE 0xE740_0xE751
+44 0xE752_0xE77E 0xE7A1_0xE7FE 0xE840_0xE87E 0xE8A1_0xE8D6
+45 0xE8D7_0xE8FE 0xE940_0xE97E 0xE9A1_0xE9FE 0xEA40_0xEA7A
+46 0xEA7B_0xEA7E 0xEAA1_0xEAFE 0xEB40_0xEB7E 0xEBA1_0xEBFE 0xEC40
+47 0xEC41_0xEC7E 0xECA1_0xECFE 0xED40_0xED7E 0xEDA1_0xEDC5
+48 0xEDC6_0xEDFE 0xEE40_0xEE7E 0xEEA1_0xEEFE 0xEF40_0xEF69
+49 0xEF6A_0xEF7E 0xEFA1_0xEFFE 0xF040_0xF07E 0xF0A1_0xF0EE
+50 0xF0EF_0xF0FE 0xF140_0xF17E 0xF1A1_0xF1FE 0xF240_0xF27E 0xF2A1_0xF2B4
+51 0xF2B5_0xF2FE 0xF340_0xF37E 0xF3A1_0xF3FE 0xF440_0xF458
+52 0xF459_0xF47E 0xF4A1_0xF4FE 0xF540_0xF57E 0xF5A1_0xF5DD
+53 0xF5DE_0xF5FE 0xF640_0xF67E 0xF6A1_0xF6FE 0xF740_0xF77E 0xF7A1_0xF7A3
+54 0xF7A4_0xF7FE 0xF840_0xF87E 0xF8A1_0xF8FE 0xF940_0xF947
+55 0xF948_0xF97E 0xF9A1_0xF9FE 0xFA40_0xFA65
+
+# eof
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/pinyin.txt b/language/chinese/CJK/cjk-4.8.4/doc/pinyin.txt
new file mode 100644
index 0000000000..3cd92184d4
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/pinyin.txt
@@ -0,0 +1,62 @@
+This is the file pinyin.txt of the CJK macro package ver. 4.8.4
+(18-Apr-2015).
+
+pinyin.sty
+----------
+
+This style file (which can be also used under plain TeX) enables the input
+of pinyin syllables with tones.
+
+Say
+
+ \usepackage{pinyin}
+
+to load all pinyin macros under LaTeX2e; say `\input pinyin.sty' under plain
+TeX.
+
+An example explains best how to input pinyin:
+
+ \Wo3 \hen3 \xi3\huan1 \chi1 \Zhong1\guo2 \cai4.
+
+Note there is no fifth tone marker in pinyin (Zhuyinfuhao uses a dot to
+indicate the fifth tone; on the other hand no marker is used for the first
+tone). Nevertheless you can say e.g., \ne5 to get the syllable `ne' without a
+tone.
+
+
+There are some special cases:
+
+ o use `v' instead of `u umlaut' in pinyin syllables (these are \lv,
+ \lve, \nv, \nve and its uppercase forms). Example:
+
+ \nv3'\er2 daughter
+
+ The appearance of u umlaut with additional tone markers has been
+ tested with the standard cm, ec, and PostScript fonts.
+
+ o use \Long and \LONG instead of \long and \Long (which you would
+ expect): \long is a very important internal TeX command. Many
+ packages would fail if we redefined \long.
+
+
+Problems:
+
+ The following macros are redefined if you load pinyin.sty:
+
+ \a, \chi, \cong, \ding, \ge, \hang, \le, \min, \mu, \ne, \ni, \nu,
+ \o, \O, \pi, \Pi, \Re, \tan, \xi, \Xi.
+
+ They are available as \PY... (\PYchi, \PYcong, etc.).
+
+ If this is not enough, you can say \PYdeactivate to restore the original
+ definitions (and reactivate these syllables with \PYactivate).
+
+ In case you use the hyperref package earlier than version 6.75a
+ (2006-Feb-12) together with the `hpdftex' driver you should load
+ pinyin.sty *after* hyperref.sty (contrary to what the hyperref manual
+ says). Reason is that \ding is defined in pifont.sty which is
+ automatically loaded by hpdftex.def -- the latest hyperref version no
+ longer uses pifont.sty .
+
+
+---End of pinyin.txt---
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/pyhyphen.txt b/language/chinese/CJK/cjk-4.8.4/doc/pyhyphen.txt
new file mode 100644
index 0000000000..b742c8758c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/pyhyphen.txt
@@ -0,0 +1,107 @@
+This is the file pyhyphen.txt of the CJK macro package ver. 4.8.4
+(18-Apr-2015).
+
+Hyphenation patterns for unaccented pinyin syllables
+----------------------------------------------------
+
+Sometimes it makes sense to use unaccented pinyin syllables for common names
+and phrases which are repeated frequently; sometimes you are in an
+environment which doesn't allow accented pinyin syllables at all. For such
+cases it is desirable to have correct hyphenation, avoiding manually added
+hints using e.g., `\-' between the syllables.
+
+Fortunately, due to the limited numbers of Chinese pinyin syllables (407 for
+Mandarin), it is easy to create hyphenation patterns. The logical
+consequence is to add a new `language' to the Babel package, and exactly
+this can be found in the directory utils/pyhyphen.
+
+
+Installation
+------------
+
+This is fairly straightforward. Move the Babel language definition file
+pinyin.ldf file to a place found by TeX. If you e.g., maintain a local TEXMF
+tree, a good place would be $TEXMFLOCAL/tex/generic/babel/pinyin.ldf.
+Similarly, move the pinyin hyphenation pattern file pyhyph.tex into your
+(local) TEXMF tree: The analogous place would be
+$TEXMFLOCAL/tex/generic/hyphen/pyhyph.tex.
+
+Now run texconfig (or a similar tool) to add pyhyph.tex to the used
+hyphenation patterns. In the usual case you have to add a line saying
+
+ pinyin pyhyph.tex
+
+to the hyphenation configuration file language.dat. Finally, build a new
+format file (usually the command `initex latex.ltx'); in most cases this
+happens automatically.
+
+Using Babel ensures that it works both with LaTeX and Plain TeX.
+
+
+Usage
+-----
+
+Do something like this:
+
+ \documentclass[...]{...}
+
+ \usepackage[T1]{fontenc}
+ \usepackage[pinyin,german,english]{babel}
+ ...
+
+ \begin{document}
+ ...
+ \foreignlanguage{pinyin}{some pinyin syllables}
+ ...
+ \end{document}
+
+
+Note 1: pinyin.ldf is intentionally very minimal. Don't expect that e.g.,
+ \chapter yields a pinyin version of the Chinese word for `chapter'.
+ It might be useful to define a shorthand macro like the following:
+
+ \newcommand{\py}[1]{\foreignlanguage{pinyin}{#1}}
+
+ Now you can simply say
+
+ \py{Beijing}
+
+Note 2: The hyphenation patterns use `umlaut u' with code position 0xFC
+ (this is latin-1 and T1 encoding). You can also use OT1 encoding,
+ but then the patterns containing `umlaut u' won't work.
+ Additionally, the quote character `'' is used as a letter which is
+ needed to resolve ambiguities like this:
+
+ Xi'an <-> Xian
+
+ If a syllable not at the beginning of a word starts with a vowel
+ (i.e., `a', `e', or `o'), you must precede it with a quote
+ character. Example:
+
+ Tian'anmen
+
+ The hyphenation patterns correctly treat it as Tian'-an-men.
+
+ The shorthand `"u' (as used in German) is available to input
+ `umlaut u'.
+
+Note 3: Most Babel language support files define a `<language>.sty' file
+ also. This is not true for pinyin! pinyin.sty is used for accented
+ pinyin syllables which don't need a special hyphenation support.
+ (pinyin.sty works with Plain TeX also.)
+
+
+Technical details
+-----------------
+
+The dictionary used to construct the hyphenation patterns has been created
+with the small C program `pinyin.c' which simply combines all existing
+Chinese syllable pairs, inserting quote characters where needed. Then,
+`patgen' has been run on the dictionary; `pinyin.tr' defines the used
+character set.
+
+Due to the regularity of the word combinations, only two-letter patterns of
+the first level are needed to find all possible breaks without a single
+error or omission.
+
+---End of pyhyphen.txt---
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/reftex.txt b/language/chinese/CJK/cjk-4.8.4/doc/reftex.txt
new file mode 100644
index 0000000000..eb7f37cd00
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/reftex.txt
@@ -0,0 +1,34 @@
+This is the file reftex.txt of the CJK macro package ver. 4.8.4
+(18-Apr-2015).
+
+RefTeX
+------
+
+To make RefTeX aware of \CJKinput and \CJKbibliography, add the following
+two lines to your .emacs file:
+
+ (add-to-list 'reftex-include-file-commands "CJKinclude")
+ (add-to-list 'reftex-bibliography-commands "CJKbibliography")
+
+These two variables have been added to RefTeX in July 2002.
+
+Older versions (like 4.16) which don't have them must be patched directly.
+In reftex.el:
+
+1097c1097
+< (include-re (concat wbol "\\\\\\(include\\|input\\)[{ \t]+\\([^} \t\n\r]+\\)"))
+---
+> (include-re (concat wbol "\\\\\\(include\\|input\\|CJKinput\\)[{ \t]+\\([^} \t\n\r]+\\)"))
+
+In reftex-parse.el:
+
+333c333
+< "\\(\\`\\|[\n\r]\\)[ \t]*\\\\\\(no\\)?bibliography{[ \t]*\\([^}]+\\)" nil t)
+---
+> "\\(\\`\\|[\n\r]\\)[ \t]*\\\\\\(no\\|CJK\\)?bibliography{[ \t]*\\([^}]+\\)" nil t)
+
+Changes for even older RefTeX versions (before Aug 1999 which only have
+reftex.el) are virtually the same.
+
+
+---End of reftex.txt---
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/ruby.txt b/language/chinese/CJK/cjk-4.8.4/doc/ruby.txt
new file mode 100644
index 0000000000..788ebdcdee
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/ruby.txt
@@ -0,0 +1,139 @@
+This is the file ruby.txt of the CJK macro package ver. 4.8.4 (18-Apr-2015).
+
+What is ruby?
+-------------
+
+To cite Martin Duerst (mduerst@w3.org) who wrote a proposal for ruby in HTML
+documents:
+
+
+ Ruby are small characters used for annotations of a text, at the right
+ side for vertical text, and atop for horizontal text, to indicate the
+ reading (pronounciation) of ideographic characters. [...]
+
+ The name `ruby' is the name of the 5.5 point type size in British
+ terminology; this was the size most used for ruby. [...]
+
+ Ruby are in most cases set at half the size of the main letters,
+ resulting in a possible two ruby characters per main character, and
+ taking up half of the width of the main characters. However, at least up
+ to five ruby characters per main character are possible (an example is
+ `u-ke-ta-ma-wa-...'), and so various solutions, from leaving white space
+ in the main text to having the ruby overlap the next characters of the
+ main text, are possible (the later is possible in Japanese especially
+ because in many cases, the characters around an ideograph with ruby are
+ syllabic, and therefore the assignment of ruby to main characters poses
+ no problems for the reader). [...]
+
+ Ruby are particularly frequent in Japanese, because of the way CJK
+ ideographs are used in Japanese. Ideographs can have many different
+ readings (pronounciations) because different readings were taken over
+ from different regions of China and at different times when the
+ characters where adopted in Japan. Also, these characters are used to
+ write indigenous Japanese words, and many readings may be possible
+ because the ideograph might cover many different concepts distinguished
+ in the Japanese language. [...] The main use of ruby today is in
+ magazines of all levels, and of course in educational material. Ruby are
+ also used in educational material in China and Taiwan.
+
+ In Japan, the term `furigana' is also used instead of `ruby'. `Furigana'
+ is composed of the verb `furu' (to attach, sprinkle, ...) and `gana'
+ (either hiragana or katakana, one of the two Japanese syllabaries usually
+ used for ruby).
+
+
+
+Usage
+-----
+
+Here a typical example:
+
+
+ \documentclass{article}
+
+ \usepackage{CJK}
+ \usepackage[overlap, CJK]{ruby}
+
+
+ \begin{document}
+
+ \begin{CJK*}{JIS}{song}
+
+ ....Japanese text.....\ruby{base character(s)}{ruby}....
+
+ \end{CJK*}
+
+ \end{document}
+
+
+The following options can be selected:
+
+ `overlap' and `nooverlap', as described above. \rubyoverlap and
+ \rubynooverlap are the corresponding commands to modify the overlap flag.
+ `overlap' is the default.
+
+ `CJK' and `latin'. The corresponding commands are \rubyCJK and \rubylatin.
+ Use these commands similar to \CJKnospace and \CJKspace to suppress or not
+ suppress spaces after a \ruby macro and to get/avoid insertion of glue.
+ `CJK' is the default.
+
+The command \rubysize defines the factor between the size of the base
+character and the ruby. Its default value is 0.4 . Usually you get some
+error messages about size substitution (the reason is that LaTeX 2e always
+defines a default error font) which can be safely ignored if you use ttf2pk
+or hbf2gf since these programs compute fonts for (almost) any font size. In
+the unlikely case that you need latin fonts as ruby it may be necessary to
+adapt your FD definition files if the particular font supports non-standard
+sizes (e.g., EC, Sauter, PS) and you really want exactly that size.
+
+The command \rubysep defines the separation between the base character and
+the ruby. Its default value is -0.5ex.
+
+To avoid lines sticking together the value of \lineskiplimit has been set
+to 1pt. It may be necessary to increase this value for larger font sizes.
+
+Note that all \ruby... commands are local, i.e., they obey groups.
+
+
+Implementation specific details
+-------------------------------
+
+There are a number of possibilities how ruby can interact with other CJK
+characters.
+
+ o The ruby has a smaller width than its base character:
+
+ The behaviour is identical to an ordinary CJK character.
+
+ o The ruby has a greater width than its base character:
+
+ + Overlapping ruby:
+
+ . If the previous or next character is a CJK character
+ (ordinary or punctuation), insert unbreakable glue between.
+
+ . If the previous or next character is a ruby, handle both
+ ruby as non-overlapping and insert unbreakable glue between.
+
+ . A ruby at the beginning of a paragraph is treated as if the
+ nonoverlap option had been set. To force an overlapping ruby
+ you have to start the paragraph with a \leavevmode command.
+
+ + Non-overlapping ruby:
+
+ . If the previous or next character is a CJK character
+ (ordinary or punctuation), insert unbreakable glue between.
+
+If `latin' is active, no glue at all is inserted.
+
+
+Technical details
+-----------------
+
+ruby.sty introduces a third variation of a small kern (3sp) to inform the
+next CJK or ruby macro that the previous character was an overlapping ruby
+with the ruby's width greater than its base character. The global variable
+\ruby@width then contains this width.
+
+
+---End of ruby.txt---
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/thaifont.txt b/language/chinese/CJK/cjk-4.8.4/doc/thaifont.txt
new file mode 100644
index 0000000000..d183396805
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/thaifont.txt
@@ -0,0 +1,130 @@
+This is the file thaifont.txt of the CJK macro package ver. 4.8.4
+(18-Apr-2015).
+
+Thai font support in the CJK package
+------------------------------------
+
+Version 4.8.4 of the CJK package has improved support for Thai. This file
+describes how to install and use the fonts. Please refer to cjk-enc.txt how
+to set up cjk-enc.el (which automatically loads thai-word.el for finding
+word breaks).
+
+The directory structure in utils/thaifont/texmf already reflects the
+directory structure of a standard TEXMF tree, version 1.1. Example:
+
+ utils/thaifont/texmf/fonts/enc/dvips/thai/c90.enc ->
+ /usr/local/share/texmf/fonts/enc/dvips/thai/c90.enc
+
+To create TFM files for other Thai fonts, use the utility files in the
+`thaifont/tools' directory. Details how to do that can be found in
+`thaifonts/tools/INSTALL'. The file thaifont/tools/c90.etx gives the
+theoretical background on the used font encoding and ligature mechanism;
+a pre-formatted version can be found in CJK's doc bundle.
+
+
+Installation
+------------
+
+. It is assumed that you have already installed the main parts of the CJK
+ package (as described in the doc/INSTALL file).
+
+. Get the latest fonts-tlwg package from
+
+ http://linux.thai.net/projects/thaifonts-scalable
+
+ and install the Type 1 font families `garuda' and `norasi'. You should use
+ fonts-tlwg version 0.5 or newer. Note, however, that this bundle no longer
+ contains pre-compiled AFM files; instead, they are generated (together
+ with Type 1 and TrueType versions of the font) with a bunch of tools using
+ a configure script and a Makefile.
+
+ Recommended locations are
+
+ TEXMF/fonts/type1/public/{garuda,norasi}/ .
+
+ Examples:
+
+ garuda.pfb -> TEXMF/fonts/type1/public/garuda/garuda.pfb
+ norasi_bi.pfb -> TEXMF/fonts/type1/public/norasi/norasi_bi.pfb
+
+ Note that the TeX metric files of font-tlwg bundle are incompatible with
+ CJK's Thai implementation. Nevertheless, it is possible to use both at the
+ same time if desired. This is the very reason that the Babel language
+ support file of the CJK package is called `thaicjk.ldf', not `thai.ldf'.
+
+. Install all files from utils/thaifont/texmf in your TEXMF tree. This
+ should be straightforward.
+
+. Font definition files for Thai are in CJK's texinput/thai directory. To
+ simplify font handling with LaTeX, `gar' and `nrsr' are aliased to `cmr',
+ `cmss', and `cmtt'. If you want to use other fonts, you have to adapt
+ c90cmr.fd, c90cmss.fd, and c90cmtt.fd accordingly.
+
+. There are two possibilities how to make the Thai PostScript fonts known to
+ the various DVI drivers (and pdftex). The recommended way is to include
+ the files `garuda-c90.map' and `norasi-c90.map' in the `updmap.cfg'
+ configuration script by adding the following two lines:
+
+ Map garuda-c90.map
+ Map norasi-c90.map
+
+ Older versions of updmap which don't have updmap.cfg must be patched
+ directly by adding the map files to the `extra_modules' variable:
+
+ extra_modules="
+ garuda-c90.map
+ norasi-c90.map
+ "
+
+ After executing updmap, the fonts are known to all programs which uses the
+ map files.
+
+ For dvips, you can also use the `config.norasi-c90' and `config.garuda-c90'
+ files on the command line:
+
+ dvips -P norasi-c90 ...
+
+ This method doesn't work with pdfTeX (which doesn't understand the `-P'
+ option).
+
+. Run mktexlsr or a similar program to update the TEXMF file database.
+
+
+Usage
+-----
+
+Thai support has been fully integrated into the Babel system. For example,
+to have Thai as a secondary language and US English as the primary language,
+say
+
+ \documentclass{...}
+
+ ...
+ \usepackage[thaicjk,USenglish]{babel}
+ ...
+
+
+ \begin{document}
+
+ ...
+ \begin{otherlanguage}{thaicjk}
+ Thai text
+ \end{otherlanguage}
+
+ ...
+
+`thaicjk' changes the baseline stretch to 1.2, activates \frenchspacing, and
+modifies the \today command to use the proper Thai values and names.
+
+The just sketched outline works without cjk-enc also (but no word breaks are
+inserted automatically); you must then insert
+
+ \addto\extrasthaicjk{\fontencoding{C90}\selectfont}
+
+in the preamble of your document to make Babel switch to Thai font encoding
+on entering the `thaicjk' language environment.
+
+For use of cjk-enc.el please read `cjk-enc.txt'.
+
+
+---End of thaifont.txt---
diff --git a/language/chinese/CJK/cjk-4.8.4/doc/vertical.txt b/language/chinese/CJK/cjk-4.8.4/doc/vertical.txt
new file mode 100644
index 0000000000..6e16a9a21f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/doc/vertical.txt
@@ -0,0 +1,120 @@
+This is the file vertical.txt of the CJK macro package ver. 4.8.4
+(18-Apr-2015).
+
+
+Vertical typesetting
+====================
+
+TeX itself can't support vertical typesetting. Nevertheless, it is possible
+to emulate it by rotating glyphs by 90 degrees.
+
+The CJK package supports two different approaches:
+
+o Provide fonts which already contain rotated glyphs. In this case, the
+ only difference to normal typesetting is the emulation of bold
+ characters by printing a character three times with slight vertical
+ offsets instead of horizontal ones. Both hbf2gf and ttf2pk can produce
+ rotated bitmap fonts. The major disadvantage is that it doesn't work
+ well for outline fonts since there is no portable way to implement
+ rotation on the font level which works for both PostScript and PDF
+ output.
+
+ You need a `.fdx' file for this option which at least contains
+ `\CJKvdef{norotate}{}'.
+
+o Use the graphicx package to rotate glyphs. A disadvantage is that
+ processing of a document is much slower and that documents tend to be
+ much larger in size. On the other hand, PDF and PostScript output can be
+ produced from identical sources since graphicx hides the implementation
+ differences.
+
+ This works even without a `.fdx' file in case CJK's default rotation
+ parameters are fine.
+
+
+CJKvert.sty
+-----------
+
+Loading CJKvert.sty activates vertical support. The two commands to be used
+in documents are \CJKvert and \CJKhorz which do the obvious. \CJKvert is
+the default. The two commands act locally, not globally.
+
+Use macro \CJKbaselinestretch to adjust the baseline stretch during vertical
+typesetting. The default value is `1.3'.
+
+Package option `usebaselinestretch' saves the \baselinestretch value set
+before loading CJKvert.sty. If this option is active, then
+
+ new \baselinestretch = \CJKbaselinestretch * \baselinestretch
+
+after issuing \CJKvert. Otherwise, it is simply
+
+ new \baselinestretch = \CJKbaselinestretch
+
+Similarly, \CJKhorz restores the old \baselinestretch value if
+`usebaselinestretch' is active; without the option, \baselinestretch is set
+to `1'.
+
+
+Problems with vertical typesetting
+----------------------------------
+
+Some glyphs can't be used directly for vertical typesetting; a simple
+rotation by 90 degrees would produce ugly results for various reasons:
+
+o Many punctuation characters have special vertical representation forms.
+ Some fonts contain proper vertical glyphs, but many don't. In the latter
+ case it is necessary to provide alternative methods to improve the
+ optical appearance.
+
+o Non-rotated (latin) text within rotated (CJK) text is aligned
+ differently as if text is written horizontally. Rotated glyphs thus must
+ be slightly shifted.
+
+o Some fonts contain CJK glyphs without quadratic bounding boxes but only
+ monospaced advance widths. It is then necessary to provide glyph
+ dimensions to assure monospaced advance heights after rotation.
+
+See the documentation file `fdxfiles.txt' for details on setting up
+extended font definition files which can handle those items.
+
+
+Fonts with vertical representation forms
+----------------------------------------
+
+OpenType fonts intended for vertical typesetting normally contain a GSUB
+feature called `vert' which provides a mapping to vertical instead of
+horizontal representation forms. ttf2tfm automatically takes care of it (see
+below), but if such fonts have been converted to sets of Type 1 subfonts
+this feature is lost.
+
+A solution to this problem is to collect all vertical representation glyphs
+in a special Type 1 subfont. See the scripts vertical.pe, vertref.pe (for
+FontForge), and makefdx.pl (for Perl) in the directory utils/subfonts which
+do that.
+
+At the moment of this writing, only the fonts bsmi00lp.ttf and bkai00mp.ttf
+for traditional Chinese have been transformed to Type 1 subfonts together
+with a font with vertical representation glyphs (bsmilpv.pfb and
+bkaimpv.pfb). They are part of the corresponding CJK font bundles found on
+CTAN. See the file INSTALL for more information.
+
+
+Rotated fonts
+-------------
+
+o To install a rotated font to be handled by hbf2gf, simply proceed as
+ usual, with one difference: You have to add a line
+
+ rotation yes
+
+ to the hbf2gf configuration file of this font. x_offset and y_offset
+ values must be adjusted too. Look at the example configuration file
+ b5kr12.cfg for details---as you can see, the name of the non-rotated
+ font (b5ka12) has been changed to `b5kr12'.
+
+o With ttf2tfm, use the `-x' switch to activate rotation. For details
+ please refer to the man pages of ttf2tfm and ttf2pk.
+
+
+---End of vertical.txt---
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/Big5.tex b/language/chinese/CJK/cjk-4.8.4/examples/Big5.tex
new file mode 100644
index 0000000000..9f6ce11d30
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/Big5.tex
@@ -0,0 +1,35 @@
+% This is the file Big5.tex of the CJK package
+% for testing Chinese (in Big 5 encoding).
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+%
+%
+% process this file with bg5latex
+
+\documentclass[12pt]{article}
+
+\usepackage{CJK}
+
+
+\begin{document}
+
+\begin{CJK*}{Bg5}{bsmi}
+\CJKtilde
+
+\noindent `ݰݵ~(FAQ list)~Oq@Ǹg`Qݨ쪺DΨA
+AHKΦKnӥXCW@POAsƵcwܡC
+\textbf{scӸ`AiѦҡup\ŪݵΤFѨsƵcv
+C}
+
+\end{CJK*}
+
+\end{document}
+
+%%% Local Variables:
+%%% coding: big5
+%%% mode: latex
+%%% TeX-master: t
+%%% TeX-command-default: "CJKLaTeX"
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/Big5vert.tex b/language/chinese/CJK/cjk-4.8.4/examples/Big5vert.tex
new file mode 100644
index 0000000000..a2523a3e29
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/Big5vert.tex
@@ -0,0 +1,35 @@
+% This is the file Big5vert.tex of the CJK package
+% for testing vertical typesetting (in Big 5 encoding).
+%
+% process this file with bg5latex
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\documentclass[12pt]{article}
+
+\usepackage{CJK}
+\usepackage{CJKvert}
+
+
+\begin{document}
+
+\begin{CJK*}{Bg5}{bsmi}
+\CJKtilde
+
+\noindent `ݰݵ~(FAQ list)~Oq@Ǹg`Qݨ쪺DΨA
+AHKΦKnӥXCW@POAsƵcwܡC
+\textbf{scӸ`AiѦҡup\ŪݵΤFѨsƵcv
+C}
+
+\end{CJK*}
+
+\end{document}
+
+%%% Local Variables:
+%%% coding: big5
+%%% mode: latex
+%%% TeX-master: t
+%%% TeX-command-default: "CJKLaTeX"
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/CEF_test.tex b/language/chinese/CJK/cjk-4.8.4/examples/CEF_test.tex
new file mode 100644
index 0000000000..9cd0427749
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/CEF_test.tex
@@ -0,0 +1,41 @@
+% This is the file CEF_test.tex of the CJK package
+% for testing CEF encoded text with LaTeX2e
+%
+% Version 4.8.4 (18-Apr-2015)
+%
+% process this text with ceflatex
+
+\documentclass[12pt]{article}
+
+\usepackage[global]{CJK}
+\usepackage{MULEenc}
+
+
+\begin{document}
+
+\begin{CJK}{}{}
+
+\verb|\CJKchar[CNS1]{"5A}{"5A}| \CJKchar[CNS1]{"5A}{"5A}
+\quad \verb|&C1-|\verb|5A5A;| &C1-5A5A;
+
+\verb|\CJKchar[CNS2]{"5A}{"5A}| \CJKchar[CNS2]{"5A}{"5A}
+\quad \verb|&C2-|\verb|5A5A;| &C2-5A5A;
+
+\verb|\CJKchar[CNS3]{"5A}{"5A}| \CJKchar[CNS3]{"5A}{"5A}
+\quad \verb|&C3-|\verb|5A5A;| &C3-5A5A;
+
+\verb|\CJKchar[CNS4]{"5A}{"5A}| \CJKchar[CNS4]{"5A}{"5A}
+\quad \verb|&C4-|\verb|5A5A;| &C4-5A5A;
+
+\verb|\CJKchar[CNS5]{"5A}{"5A}| \CJKchar[CNS5]{"5A}{"5A}
+\quad \verb|&C5-|\verb|5A5A;| &C5-5A5A;
+
+\verb|\CJKchar[CNS6]{"5A}{"5A}| \CJKchar[CNS6]{"5A}{"5A}
+\quad \verb|&C6-|\verb|5A5A;| &C6-5A5A;
+
+\verb|\CJKchar[CNS7]{"5A}{"5A}| \CJKchar[CNS7]{"5A}{"5A}
+\quad \verb|&C7-|\verb|5A5A;| &C7-5A5A;
+
+\end{CJK}
+
+\end{document}
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/CJKbabel.tex b/language/chinese/CJK/cjk-4.8.4/examples/CJKbabel.tex
new file mode 100644
index 0000000000..468557398e
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/CJKbabel.tex
@@ -0,0 +1,135 @@
+% This is the file CJKbabel.tex of the CJK package
+% for testing text written with Emacs 20 and Babel (starting
+% with version 3.6).
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% You need Emacs 20 to process this file!
+
+% You should load this file into Emacs (C-x C-f) and call
+% `cjk-write-file' (M-x cjk-write-file). Then run LaTeX on the file
+% `CJKbabel.cjk'.
+%
+% `cjk-write-file' will be available after loading cjk-enc.el into
+% Emacs 20 with the commands load-file or load-library.
+%
+% Vietnamese support for Babel comes with the VnTeX package.
+%
+% Read cjk-enc.txt for more details.
+
+\documentclass[12pt]{article}
+
+\usepackage{inputenc} % load it without argument
+ % to avoid Babel warnings
+
+\usepackage[10pt]{type1ec} % use only 10pt fonts
+\usepackage[T1]{fontenc}
+
+\usepackage[german,
+ russian, % T2A font encoding
+ thaicjk, % C90 font encoding
+ greek, % LGR font encoding
+ vietnam, % T5 font encoding
+ USenglish]{babel}
+
+\usepackage[overlap, CJK]{ruby}
+\usepackage{CJKulem}
+
+\usepackage{pshan} % Korean Wansong PS fonts
+
+\CJKencfamily{Bg5}{bsmi}
+\CJKencfamily{GB}{gbsn}
+\CJKencfamily[dnp]{JIS}{min}
+
+\CJKfontenc{KS}{HL}
+\CJKfontenc{JIS}{dnp}
+
+\renewcommand{\rubysep}{-0.2ex}
+
+
+\begin{document}
+
+\parskip 3ex
+\parindent 0pt
+
+ FAQ ړ ݓǓ ד 듴 ܓ퓷 瓽ē
+ ϓ. \uline{ FAQ Ǔ ϓ ȹ
+ 擵Ǔϓ.} \textbf{󓼼 ͓ `` FAQ  Г
+ ͓Γ'' 듸 ϓÓ ٓϓ.}
+
+\begin{otherlanguage}{german}
+ Dieses FAQ wurde erstellt, um hufig gestellte Fragen und ihre
+ Antworten in einer geflligen Form zusammenzufassen. \uline{Die
+ Struktur dieses FAQ wurde drastisch gendert seit der letzten
+ Version.} \textbf{Fr Details siehe den Abschnitt "`Wie lese ich
+ dieses FAQ"'.}
+\end{otherlanguage}
+
+\CJKtilde
+
+ʑʑ𑼯~(FAQ list)~ǑӑһЩʑđʑ⑼ʑđ⑴Бԑ
+㑵đΑʽժҪđ\uline{ϑһ摲ͬđǑ䑱őᑹёבđ䑡}
+\textbf{Бؑ‘ᑹđϸڑɑΑ瑺Αđʑ𑼯ˑ䑱őᑹ
+ Бđ˵}
+
+ܘØØñ~(FAQ list)~ӘØØ˘Ƕ٘ñ䘡阧
+Ә՘\uline{똦㘩ҘӘоù˭٘是Ҙɘ}
+\textbf{ØƼù˭٘蘡Ԙ֘ܘØñ٘оù˭ט
+ 䘰ͪ}
+
+This FAQ list was made to summarize some frequently asked questions
+and their answers in a convenient form. \uline{The structure of this
+ FAQ list has drastically changed since the last version.}
+\textbf{For details of the new structure, see the entry of `How to
+ read this FAQ and its structure'.}
+
+~FAQ~꒥Ȓϒ蒤뒼䒤ȒΒ򒽸ᒡ˒ΩĒ蒤˒⒤
+ǒ\uline{~FAQ~꒥ȒΒ¤ϒʒΒ⒤ΒȒ撤ْƒ˒ђ
+ ƒޒ}\textbf{\ruby{}{}¤˒ؒƒϒ֒~FAQ~
+ ΒɒߒȒΒ¤גΒܒ\ruby{}{}\ruby{}{璤}ƒ
+ }
+
+\begin{otherlanguage}{vietnam}
+Phn ``Nhng cu hi v gii p thߚng gp'' (vit tt t ting Anh
+l FAQ) ߚc nu ra y nhm mc ch thu thp nhng cu hi thߚng
+gp trong thc t v nhng li gii p thch hp nht ca n.
+\uline{T ln n bn cui cng 𚢪n nay, c nhng s thay 𚢱i kh
+ ln trong cu trc ca FAQ.} \textbf{𚢬 hiu r hn bn nn xem li
+ chߚng ``Lm sao ti c th c uc FAQ''.}
+\end{otherlanguage}
+
+\begin{otherlanguage}{russian}
+ ͌ތ ߌ،ތ ь ތЌҌیՌ Ԍی ܌܌،ތҌЌ݌، ݌Ռڌތތ Ќ
+ ׌ЌԌЌҌЌՌ܌ Ҍތߌތތ (FAQ), Ҍ܌Ռ ތҌՌЌ܌ ݌ ݌،, Ԍތь݌ތ
+ ތ܌. \uline{ڌ ތӌ FAQ ڌЌԌ،݌Ќی݌ ،׌܌Ռ݌،یЌ ߌ
+ ЌҌ݌Ռ݌، ߌތیՌ\-݌Ռ ҌՌ،Ռ.} \textbf{ Ќ׌ԌՌی `Ќ ،Ќ
+ ތ FAQ Ռӌ ڌ' ތь݌Ռ݌ ԌՌЌی ތ ݌ތҌތ ڌ.}
+\end{otherlanguage}
+
+\begin{otherlanguage}{thaicjk}
+ Å҅…҅ FAQ եʀå֥҅酹ץͅʀå؅Ӆ҅ե腶҅хͅ…åѥ酧ŅЅӅͅӅ҅ㅹåمᅺՅʅЅDž.
+ \uline{ⅤÅʀå҅ͅÅ҅…҅ FAQ եťե…䅻҅ѥ酧ဥ耥åإ腹եဥť.}
+ \textbf{مÅ҅…ŅЅͥՅ…ʅӅˀåхⅤÅʀå҅ˀ䀥酨҅Dž ``ⅤÅʀå҅ŅЀǥԀՅ҅Àͥ҅
+ FAQ.''}
+\end{otherlanguage}
+
+\begin{otherlanguage}{greek}
+ ߆ ӆԆ ( ݆ ކ) ݆
+ ܆ ܆ ݆ ކ
+ ކ . \uline{ ܆ ކ ߆ ܆
+ ߆ ݆ .} \textbf{Æ
+ ݆ ܆ ݆ ܆, ݆ ކ <<І
+ ܆ ӆԆ ߆ ݆>>.}
+\end{otherlanguage}
+
+\end{document}
+
+
+%%% Local Variables:
+%%% coding: emacs-mule
+%%% mode: latex
+%%% TeX-master: t
+%%% TeX-command-default: "CJKLaTeX"
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/CJKfntef.tex b/language/chinese/CJK/cjk-4.8.4/examples/CJKfntef.tex
new file mode 100644
index 0000000000..38417887f9
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/CJKfntef.tex
@@ -0,0 +1,90 @@
+% This is the file CJKfntef.tex of the CJK package
+% for testing CJKfntef.sty.
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\documentclass[12pt]{article}
+
+\usepackage{color}
+\usepackage{CJK}
+\usepackage{CJKfntef}
+
+\textwidth 100mm
+\pagestyle{empty}
+
+
+\begin{document}
+
+\baselineskip 15pt
+\parindent 0pt
+\parskip 15pt
+
+\begin{CJK*}{GB}{gbsn}
+
+\verb|CJKfilltwosides environment:|
+
+\begin{CJKfilltwosides}{40mm}
+˷ɢ\\
+ɢ \\
+\CJKunderdot{ ɼӵ}
+\end{CJKfilltwosides}
+
+\vspace{0.3cm}
+
+\verb|\CJKunderdot{...\CJKunderline{...}}|:\\
+\CJKunderdot{ּӵ㣬 \CJKunderline{ͬʱ»߼», Զ,}}
+
+\verb|\CJKunderline*{...\CJKunderdot{...}}|:\\
+\CJKunderline*{ּӵ㣬 \CJKunderdot{ͬʱ»߼», Զ,}}
+
+\verb|\CJKunderdot{...\CJKunderwave{...}}|:\\
+\CJKunderdot{ּӵ㣬 \CJKunderwave{ͬʱ»߼», Զ,}}
+
+\verb|\CJKunderwave*{...\CJKunderdot{...}}|:\\
+\CJKunderwave*{ּӵ㣬 \CJKunderdot{ͬʱ»߼», Զ,}}
+
+\verb|\CJKunderdot{...\CJKunderdblline{...}}|:\\
+\CJKunderdot{ּӵ㣬 \CJKunderdblline{ͬʱ»߼», Զ,}}
+
+\verb|\CJKunderdblline*{...\CJKunderdot{...}}|:\\
+\CJKunderdblline*{ּӵ㣬 \CJKunderdot{ͬʱ»߼», Զ,}}
+
+\verb|\CJKunderdot{...\CJKsout{...}}|:\\
+\CJKunderdot{ּӵ㣬 \CJKsout{ͬʱ»߼», Զ,}}
+
+\verb|\CJKsout*{...\CJKunderdot{...}}|:\\
+\CJKsout*{ּӵ㣬 \CJKunderdot{ͬʱ»߼», Զ,}}
+
+\verb|\CJKunderdot{...\CJKxout{...}}|:\\
+\CJKunderdot{ּӵ㣬 \CJKxout{ͬʱ»߼», Զ,}}
+
+\verb|\CJKxout*{...\CJKunderdot{...}}|:\\
+\CJKxout*{ּӵ㣬 \CJKunderdot{ͬʱ»߼», Զ,}}
+
+\newpage
+
+\verb|\CJKunderline{...}\CJKunderline{...}|:\\
+\CJKunderline{}\CJKunderline{ӵ}
+
+\verb|\varCJKunderline{...}\varCJKunderline{...}|:\\
+\varCJKunderline{}\varCJKunderline{ӵ}
+
+\verb|\CJKunderanyline{...}{...}{...}%|\\
+\verb|\CJKunderanyline{...}{...}{...}|:\\
+\CJKunderanyline{0.5em}{-}{ּӵ㣬 ͬʱ}%
+\CJKunderanyline{0.5em}{-}{»߼», Զ,}
+
+\verb|\CJKunderanysymbol{...}{...}{...}|:\\
+\CJKunderanysymbol{0.5em}{-}{ּӵ㣬 ͬʱ»߼», Զ,}
+
+\end{CJK*}
+
+\end{document}
+
+%%% Local Variables:
+%%% coding: euc-china
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/CJKmixed.tex b/language/chinese/CJK/cjk-4.8.4/examples/CJKmixed.tex
new file mode 100644
index 0000000000..98d2e5f725
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/CJKmixed.tex
@@ -0,0 +1,81 @@
+% This is the file CJKmixed.tex of the CJK package
+% for testing CJK text written vertically.
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+%
+% Vietnamese support for Babel comes with the VnTeX package.
+
+\documentclass[12pt]{article}
+
+\usepackage{CJKutf8}
+\usepackage{CJKvert}
+\usepackage{CJKulem}
+
+\usepackage{inputenc} % load it without argument
+ % to avoid Babel warnings
+
+\usepackage[vietnam, % T5 font encoding
+ USenglish]{babel}
+
+\newenvironment{TChinese}{%
+ \CJKfamily{bsmi}%
+ \CJKtilde
+ \CJKnospace}{}
+
+
+\begin{document}
+
+\begin{CJK}{UTF8}{}
+
+\CJKhorz
+
+This is a test how CJK scripts can be typeset horizontally and
+vertically at the same time. It is not too difficult to achieve,
+nevertheless it is not trivial. Most importantly, you need a
+\texttt{.fdx} file which corresponds to your CJK font, and which
+defines how to set up the font for vertical typesetting.
+
+\begin{center}
+ \rotatebox[origin=c]{-90}{%
+ \begin{minipage}[c]{8cm}
+ \CJKvert
+ \begin{TChinese}
+ 本常問問答集~(FAQ list)~是從一些經常被問到的問題及其適當的解答
+ 中,以方便的形式摘要而出的。\uline{跟上一版不同的是,其編排結構
+ 已徹底改變。} \textbf{有關新結構的細節,可參考「如何閱讀本問
+ 答集及了解其編排結構」該項中的說明。}
+ \end{TChinese}
+ \end{minipage}%
+ }%
+ \hspace{0.5cm}%
+ \begin{minipage}[c]{8cm}
+ \begin{otherlanguage}{vietnam}
+ Phần ``Những câu hỏi và giải đáp thường gặp'' (viết tắt từ tiếng
+ Anh là FAQ) được nêu ra ở đây nhằm mục đích thu thập những câu
+ hỏi thường gặp trong thực tế và những lời giải đáp thích hợp
+ nhất của nó. \uline{Từ lần ấn bản cuối cùng đến nay, đã có
+ những sự thay đổi khá lớn trong cấu trúc của FAQ.} \textbf{Để
+ hiểu rõ hơn bạn nên xem lại chương ``Làm sao tôi có thể đọc
+ đuợc FAQ''.}
+ \end{otherlanguage}
+ \end{minipage}
+\end{center}
+
+\begin{TChinese}
+ 本常問問答集~(FAQ list)~是從一些經常被問到的問題及其適當的解答中,以
+ 方便的形式摘要而出的。\uline{跟上一版不同的是,其編排結構已徹底改變。}
+ \textbf{有關新結構的細節,可參考「如何閱讀本問答集及了解其編排結構」
+ 該項中的說明。}
+\end{TChinese}
+
+\end{CJK}
+
+\end{document}
+
+%%% Local Variables:
+%%% mode: latex
+%%% coding: utf-8
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/CJKspace.tex b/language/chinese/CJK/cjk-4.8.4/examples/CJKspace.tex
new file mode 100644
index 0000000000..cb96c2ec3b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/CJKspace.tex
@@ -0,0 +1,41 @@
+% This is the file CJKspace.tex of the CJK package
+% for testing the CJKspace style file.
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+%
+% Read CJKspace.txt for more details.
+
+\documentclass[11pt]{article}
+
+\usepackage{CJK}
+\usepackage{CJKspace}
+
+\begin{document}
+
+\parindent 2em
+
+\begin{CJK*}{UTF8}{gbsn}
+
+ This document shows the effects of \texttt{CJKspace.sty}.
+
+ \verb+CJKspace+ 包仅忽略CJK文字之间的空白而保留(CJK文字与英文之间等)
+ 其它空白。
+
+ 这是 English 中文 \textit{Chinese} 中文 {\itshape Italic} 数学 $x=y$
+ 混排 \verb+anything+
+
+ 混排 \verb+anything+ 保持 \texttt{spaces} 空格 \LaTeX\ 间隔
+ \mbox{boxes} 盒子 \hbox{hbox} 中文 123456 数字.
+
+\end{CJK*}
+
+\end{document}
+
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/CJKutf8.tex b/language/chinese/CJK/cjk-4.8.4/examples/CJKutf8.tex
new file mode 100644
index 0000000000..18cfa92e81
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/CJKutf8.tex
@@ -0,0 +1,134 @@
+% This is the file CJKutf8.tex of the CJK package
+% for testing the CJKutf8 style file.
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Vietnamese support for Babel comes with the VnTeX package.
+%
+% Read CJKutf8.txt for more details.
+
+\documentclass[12pt]{article}
+
+\usepackage{cmap}
+
+\usepackage[10pt]{type1ec} % use only 10pt fonts
+\usepackage[T1]{fontenc}
+
+\usepackage{CJKutf8}
+\usepackage[german,
+ russian, % T2A font encoding
+ vietnamese, % T5 font encoding
+ greek, % LGR font encoding
+ USenglish]{babel}
+
+\usepackage{textalpha} % improved LGR support
+
+\usepackage[overlap, CJK]{ruby}
+\usepackage{CJKulem}
+
+\renewcommand{\rubysep}{-0.2ex}
+
+\newenvironment{SChinese}{%
+ \CJKfamily{gbsn}%
+ \CJKtilde
+ \CJKnospace}{}
+\newenvironment{TChinese}{%
+ \CJKfamily{bsmi}%
+ \CJKtilde
+ \CJKnospace}{}
+\newenvironment{Japanese}{%
+ \CJKfamily{min}%
+ \CJKtilde
+ \CJKnospace}{}
+\newenvironment{Korean}{%
+ \CJKfamily{mj}}{}
+
+
+\begin{document}
+
+\parskip 3ex
+\parindent 0pt
+
+\begin{CJK}{UTF8}{}
+
+\begin{Korean}
+ 이 FAQ 은 자주 반복되는 질문과 그에 대한 대답을 간단명료한 양식으로
+ 모아 엮어졌습니다. \uline{이 FAQ 의 구조는 지난 판에 비하여
+ 획기적으로 변경되었습니다.} \textbf{상세한 것은 ``이 FAQ 을 어떻게
+ 읽을 것인가'' 라는 대목을 참조하시기 바랍니다.}
+\end{Korean}
+
+\begin{otherlanguage}{german}
+ Dieses FAQ wurde erstellt, um häufig gestellte Fragen und ihre
+ Antworten in einer gefälligen Form zusammenzufassen. \uline{Die
+ Struktur dieses FAQ wurde drastisch geändert seit der letzten
+ Version.} \textbf{Für Details siehe den Abschnitt "`Wie lese ich
+ dieses FAQ"'.}
+\end{otherlanguage}
+
+\begin{SChinese}
+ 本常问问答集~(FAQ list)~是从一些经常被问到的问题及其适当的解答中,以
+ 方便的形式摘要而出的。\uline{跟上一版不同的是,其编排结构已彻底改变。}
+ \textbf{有关新结构的细节,可参考「如何阅读本问答集及了解其编排结构」
+ 该项中的说明。}
+\end{SChinese}
+
+\begin{TChinese}
+ 本常問問答集~(FAQ list)~是從一些經常被問到的問題及其適當的解答中,以
+ 方便的形式摘要而出的。\uline{跟上一版不同的是,其編排結構已徹底改變。}
+ \textbf{有關新結構的細節,可參考「如何閱讀本問答集及了解其編排結構」
+ 該項中的說明。}
+\end{TChinese}
+
+This FAQ list was made to summarize some frequently asked questions
+and their answers in a convenient form. \uline{The structure of this
+ FAQ list has drastically changed since the last version.}
+\textbf{For details of the new structure, see the entry of `How to
+ read this FAQ and its structure'.}
+
+\begin{Japanese}
+ この~FAQ~リストは、よくある質問とその答を集め、役に立つようにしたもの
+ です。\uline{この~FAQ~リストの構造は、以前のものと比べて大幅に変更さ
+ れています。}\textbf{\ruby{新}{あたら}しい構造に関しては、「こ
+ の~FAQ~ の読み方とその構造」の項目を\ruby{参}{さん}\ruby{照}{しょ
+ う}して下さい。}
+\end{Japanese}
+
+\begin{otherlanguage}{vietnamese}
+ Phần ``Những câu hỏi và giải đáp thường gặp'' (viết tắt từ tiếng Anh
+ là FAQ) được nêu ra ở đây nhằm mục đích thu thập những câu hỏi
+ thường gặp trong thực tế và những lời giải đáp thích hợp nhất của
+ nó. \uline{Từ lần ấn bản cuối cùng đến nay, đã có những sự thay đổi
+ khá lớn trong cấu trúc của FAQ.} \textbf{Để hiểu rõ hơn bạn nên
+ xem lại chương ``Làm sao tôi có thể đọc đuợc FAQ''.}
+\end{otherlanguage}
+
+\begin{otherlanguage}{russian}
+ Этот список был составлен для суммирования некоторых часто
+ задаваемых вопросов (FAQ), вместе с ответами на них, в удобной
+ форме. \uline{Структура этого FAQ кардинально изменилась по
+ сравнению с послед\-ней версией.} \textbf{В разделе `Как читать
+ этот FAQ и его структура' объяснены детали этой новой структуры.}
+\end{otherlanguage}
+
+\begin{otherlanguage}{greek}
+ Η λίστα αυτή ΣΤΕ (συχνά τιθεμένων ερωτήσεων) έχει σαν σκοπό να
+ συμπεριλάβει σε εύχρηστη μορφή κάποιες σημαντικές ερωτήσεις και τις
+ απαντήσεις τους. \uline{Η οργάνωση αυτής της λίστας άλλαξε
+ σημαντικά από την τελευταία έκδοσή της και μετά.} \textbf{Για
+ λεπτομέρειες πάνω στη νέα οργάνωση, βλέπε το λήμμα <<Πώς να
+ διαβάσετε αυτή την ΣΤΕ και πώς είναι οργανωμένη>>.}
+\end{otherlanguage}
+
+\end{CJK}
+
+\end{document}
+
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/GB.tex b/language/chinese/CJK/cjk-4.8.4/examples/GB.tex
new file mode 100644
index 0000000000..334b786a4d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/GB.tex
@@ -0,0 +1,31 @@
+% This is the file GB.tex of the CJK package
+% for testing Chinese (in GB encoding).
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\documentclass[12pt]{article}
+
+\usepackage{CJK}
+
+
+\begin{document}
+
+\begin{CJK*}{GB}{gbsn}
+\CJKtilde
+
+\noindent ʴ~(FAQ list)~ǴһЩʵ⼰ʵĽ
+УԷʽժҪġһ治ͬǣŽṹѳ׸ı䡣
+\textbf{й½ṹϸڣɲοĶʴ𼯼˽Žṹ
+е˵}
+
+\end{CJK*}
+
+\end{document}
+
+%%% Local Variables:
+%%% coding: euc-china
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/JIS.tex b/language/chinese/CJK/cjk-4.8.4/examples/JIS.tex
new file mode 100644
index 0000000000..1808d52d8d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/JIS.tex
@@ -0,0 +1,35 @@
+% This is the file JIS.tex of the CJK package
+% for testing Japanese (in JIS encoding).
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\documentclass[12pt]{article}
+
+\usepackage{CJK}
+\usepackage[CJK, overlap]{ruby}
+
+\renewcommand{\rubysep}{-0.2ex}
+
+
+\begin{document}
+
+\begin{CJK*}[dnp]{JIS}{min}
+\CJKtilde
+
+\noindent ~FAQ~ꥹȤϡ褯Ȥ򽸤ᡢΩĤ褦
+ˤΤǤ~FAQ~ꥹȤι¤ϡΤΤ٤ѹ
+Ƥޤ\textbf{\ruby{}{}¤˴ؤƤϡ֤~FAQ~
+ɤȤι¤פιܤ\ruby{}{}\ruby{}{礦}Ʋ
+}
+
+\end{CJK*}
+
+\end{document}
+
+%%% Local Variables:
+%%% coding: euc-japan
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/KS.tex b/language/chinese/CJK/cjk-4.8.4/examples/KS.tex
new file mode 100644
index 0000000000..474319c000
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/KS.tex
@@ -0,0 +1,31 @@
+% This is the file KS.tex of the CJK package
+% for testing Korean (in KS encoding).
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\documentclass[12pt]{article}
+
+\usepackage{CJK}
+\usepackage{pshan}
+
+
+\begin{document}
+
+\begin{CJK}[HL]{KS}{}
+
+\noindent FAQ ݺǴ ׿ ܸ
+ ϴ. FAQ ǿ Ͽ
+ȹ Ǿϴ. \textbf{ `` FAQ 
+ ΰ'' Ͻñ ٶϴ.}
+
+\end{CJK}
+
+\end{document}
+
+%%% Local Variables:
+%%% coding: euc-korea
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/README b/language/chinese/CJK/cjk-4.8.4/examples/README
new file mode 100644
index 0000000000..38e932a325
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/README
@@ -0,0 +1,66 @@
+Please note that the used fonts in the example files are set up for the
+TeXLive distribution. Here a listing of some files and the used CJK fonts.
+
+
+ example file font definition file(s) TeX font names font file name(s)
+ ---------------------------------------------------------------------------
+
+ Big5.tex c00bsmi.fd bsmilp01, bsmiu00.pfb,
+ bsmilp02, bsmiu02.pfb,
+ ... (4) ...
+
+ Big5vert.tex c00bsmi.fd (1) bsmilp01, bsmiu00.pfb,
+ bsmilp02, bsmiu02.pfb,
+ ..., ...,
+ bsmilpv (4) bsmiuv.pfb
+
+ CEF_test.tex c31song.fd, c1so1201, cns40-1.hbf,
+ ..., c1so1202, ...,
+ c37song.fd ..., cns40-7.hbf (5)
+ c2so1201,
+ c2so1202,
+ ...
+
+ CJKutf8.txt c70bsmi.fd, bsmiu00,... bsmiu00.pfb,...
+ c70gbsn.fd, gbsnu00,... gbsnu00.pfb,...
+ c70min.fd, (2) udmj00,... (4) dmjsy.pfb,...
+ c70mj.fd uwmj00,... (4,6) umj00.pfb,... (7)
+
+ GB.tex c10gbsn.fd gbsnlp01, gbsnlp01.pfb,
+ gbsnlp02, gbsnlp02.pfb,
+ ... (4) ...
+
+ JIS.tex
+ SJIS.tex c42min.fd (2) dmjsy, dmjsy.pfb,
+ dmjroma, dmjroma.pfb,
+ dmjhira, dmjhira.pfb,
+ ... ...
+
+ KS.tex c63mj.fd wmj0, umj00.pfb,
+ wmj1, umj01.pfb,
+ ... (4) ... (7)
+
+ UTF8.tex c70song.fd (3) cyberb00, cyberbit.ttf
+ cyberb01,
+ ...
+
+
+(1) The glyphs are rotated using the graphicx package.
+
+(2) Font definition files for the Wadalab fonts are in the directory
+ `contrib/wadalab'.
+
+(3) For licensing reasons, TeXLive doesn't contain cyberbit.ttf and
+ corresponding TeX subfont metric files, thus you can't process UTF8.tex
+ without installing this font (or another Unicode font) manually.
+
+(4) These are virtual fonts.
+
+(5) These are bitmap fonts.
+
+(6) Virtual Unicode fonts for Korean (from HLaTeX) are currently only
+ available in the TeXLive distribution.
+
+(7) Korean PS fonts (from HLaTeX) with glyph names compliant to the Adobe
+ Glyph List (AGL) are currently only available in the TeXLive
+ distribution.
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/SJIS.tex b/language/chinese/CJK/cjk-4.8.4/examples/SJIS.tex
new file mode 100644
index 0000000000..80ccf2ee70
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/SJIS.tex
@@ -0,0 +1,39 @@
+% This is the file SJIS.tex of the CJK package
+% for testing Japanese (in SJIS encoding).
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+%
+%
+% process this file with sjislatex
+
+\documentclass[12pt]{article}
+
+\usepackage{CJK}
+\usepackage[CJK, overlap]{ruby}
+
+\renewcommand{\rubysep}{-0.3ex}
+
+
+\begin{document}
+
+\begin{CJK*}[dnp]{SJIS}{min}
+\CJKtilde
+
+\noindent ~FAQ~XǵA悭鎿Ƃ̓W߁Aɗ‚悤
+ɂ̂łB~FAQ~Xg̍\́AȑÔ̂Ɣׂđ啝ɕύX
+Ă܂B\textbf{\ruby{V}{}\ɊւẮAu~FAQ~
+̓ǂݕƂ̍\v̍ڂ\ruby{Q}{}\ruby{}{傤}ĉ
+B}
+
+\end{CJK*}
+
+\end{document}
+
+%%% Local Variables:
+%%% coding: sjis
+%%% mode: latex
+%%% TeX-master: t
+%%% TeX-command-default: "CJKLaTeX"
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/UTF8.tex b/language/chinese/CJK/cjk-4.8.4/examples/UTF8.tex
new file mode 100644
index 0000000000..bbbc0e0b48
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/UTF8.tex
@@ -0,0 +1,48 @@
+% This is the file UTF8.tex of the CJK package
+% for testing UTF 8 encoding.
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\documentclass[12pt]{article}
+
+\usepackage{CJK}
+\usepackage[T1]{fontenc}
+
+
+% WARNING! The font `cyberbit.ttf' is *not* part of TeXLive!
+% Its use is discouraged. If you really want to use it, please
+% follow the instructions given in `font.txt'.
+%
+% Look at the `CJKutf8.tex' example file (and read the
+% `CJKutf8.txt' documentation file) for a better way how to
+% process documents in UTF 8 encoding.
+
+
+% we want the Unicode font for normal text also
+\DeclareFontFamily{T1}{song}{}
+\DeclareFontShape{T1}{song}{m}{n}{<-> cyberb00}{}
+\renewcommand\rmdefault{song}
+
+
+\begin{document}
+
+\begin{CJK}{UTF8}{song}
+
+\noindent Hello World!
+
+\noindent Καλημέρα κόσμε
+
+\CJKnospace
+\noindent こんにちは 世界
+
+\end{CJK}
+
+\end{document}
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/cjk/Big5.cjk b/language/chinese/CJK/cjk-4.8.4/examples/cjk/Big5.cjk
new file mode 100644
index 0000000000..c2cb4a7795
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/cjk/Big5.cjk
@@ -0,0 +1,35 @@
+\def\CJKpreproc{bg5conv (CJK ver. 4.8.3)}% This is the file Big5.tex of the CJK package
+% for testing Chinese (in Big 5 encoding).
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+%
+%
+% process this file with bg5latex
+
+\documentclass[12pt]{article}
+
+\usepackage{CJK}
+
+
+\begin{document}
+
+\begin{CJK*}{Bg5}{bsmi}
+\CJKtilde
+
+\noindent 18796221221170176~(FAQ list)~791136419910396812212361862216820622865237186209
+17016465722327518620616175110211881866724287641691638018679652281151981789911925317923922067
+\textbf{179246115178991862119665105209210117112243921701872211701762067020922811519817899118211
+18116418616125067}
+
+\end{CJK*}
+
+\end{document}
+
+%%% Local Variables:
+%%% coding: big5
+%%% mode: latex
+%%% TeX-master: t
+%%% TeX-command-default: "CJKLaTeX"
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/cjk/Big5vert.cjk b/language/chinese/CJK/cjk-4.8.4/examples/cjk/Big5vert.cjk
new file mode 100644
index 0000000000..2b4f60b216
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/cjk/Big5vert.cjk
@@ -0,0 +1,35 @@
+\def\CJKpreproc{bg5conv (CJK ver. 4.8.3)}% This is the file Big5vert.tex of the CJK package
+% for testing vertical typesetting (in Big 5 encoding).
+%
+% process this file with bg5latex
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\documentclass[12pt]{article}
+
+\usepackage{CJK}
+\usepackage{CJKvert}
+
+
+\begin{document}
+
+\begin{CJK*}{Bg5}{bsmi}
+\CJKtilde
+
+\noindent 18796221221170176~(FAQ list)~791136419910396812212361862216820622865237186209
+17016465722327518620616175110211881866724287641691638018679652281151981789911925317923922067
+\textbf{179246115178991862119665105209210117112243921701872211701762067020922811519817899118211
+18116418616125067}
+
+\end{CJK*}
+
+\end{document}
+
+%%% Local Variables:
+%%% coding: big5
+%%% mode: latex
+%%% TeX-master: t
+%%% TeX-command-default: "CJKLaTeX"
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/cjk/CEF_test.cjk b/language/chinese/CJK/cjk-4.8.4/examples/cjk/CEF_test.cjk
new file mode 100644
index 0000000000..fc455f1e5b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/cjk/CEF_test.cjk
@@ -0,0 +1,41 @@
+\def\CNSpreproc{cefconv (CJK ver. 4.8.3)}% This is the file CEF_test.tex of the CJK package
+% for testing CEF encoded text with LaTeX2e
+%
+% Version 4.8.4 (18-Apr-2015)
+%
+% process this text with ceflatex
+
+\documentclass[12pt]{article}
+
+\usepackage[global]{CJK}
+\usepackage{MULEenc}
+
+
+\begin{document}
+
+\begin{CJK}{}{}
+
+\verb|\CJKchar[CNS1]{"5A}{"5A}| \CJKchar[CNS1]{"5A}{"5A}
+\quad \verb|&C1-|\verb|5A5A;| 72CNS1"05A"05A
+
+\verb|\CJKchar[CNS2]{"5A}{"5A}| \CJKchar[CNS2]{"5A}{"5A}
+\quad \verb|&C2-|\verb|5A5A;| 72CNS2"05A"05A
+
+\verb|\CJKchar[CNS3]{"5A}{"5A}| \CJKchar[CNS3]{"5A}{"5A}
+\quad \verb|&C3-|\verb|5A5A;| 72CNS3"05A"05A
+
+\verb|\CJKchar[CNS4]{"5A}{"5A}| \CJKchar[CNS4]{"5A}{"5A}
+\quad \verb|&C4-|\verb|5A5A;| 72CNS4"05A"05A
+
+\verb|\CJKchar[CNS5]{"5A}{"5A}| \CJKchar[CNS5]{"5A}{"5A}
+\quad \verb|&C5-|\verb|5A5A;| 72CNS5"05A"05A
+
+\verb|\CJKchar[CNS6]{"5A}{"5A}| \CJKchar[CNS6]{"5A}{"5A}
+\quad \verb|&C6-|\verb|5A5A;| 72CNS6"05A"05A
+
+\verb|\CJKchar[CNS7]{"5A}{"5A}| \CJKchar[CNS7]{"5A}{"5A}
+\quad \verb|&C7-|\verb|5A5A;| 72CNS7"05A"05A
+
+\end{CJK}
+
+\end{document}
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/cjk/CJKbabel.cjk b/language/chinese/CJK/cjk-4.8.4/examples/cjk/CJKbabel.cjk
new file mode 100644
index 0000000000..0afa78e99c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/cjk/CJKbabel.cjk
@@ -0,0 +1,135 @@
+\def\CJKhook{\CJKenc{JIS}\CJKenc{Bg5}\CJKenc{GB}\CJKenc{KS}}\ifx\CJKpreproc\undefined\def\CJKpreproc{cjk-enc}\RequirePackage[global]{CJK}\AtBeginDocument{\begin{CJK}{}{}\CJKspace}\AtEndDocument{\end{CJK}}\else\CJKhook\fi % This is the file CJKbabel.tex of the CJK package
+% for testing text written with Emacs 20 and Babel (starting
+% with version 3.6).
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% You need Emacs 20 to process this file!
+
+% You should load this file into Emacs (C-x C-f) and call
+% `cjk-write-file' (M-x cjk-write-file). Then run LaTeX on the file
+% `CJKbabel.cjk'.
+%
+% `cjk-write-file' will be available after loading cjk-enc.el into
+% Emacs 20 with the commands load-file or load-library.
+%
+% Vietnamese support for Babel comes with the VnTeX package.
+%
+% Read cjk-enc.txt for more details.
+
+\documentclass[12pt]{article}
+
+\usepackage{inputenc} % load it without argument
+ % to avoid Babel warnings
+
+\usepackage[10pt]{type1ec} % use only 10pt fonts
+\usepackage[T1]{fontenc}
+
+\usepackage[german,
+ russian, % T2A font encoding
+ thaicjk, % C90 font encoding
+ greek, % LGR font encoding
+ vietnam, % T5 font encoding
+ USenglish]{babel}
+
+\usepackage[overlap, CJK]{ruby}
+\usepackage{CJKulem}
+
+\usepackage{pshan} % Korean Wansong PS fonts
+
+\CJKencfamily{Bg5}{bsmi}
+\CJKencfamily{GB}{gbsn}
+\CJKencfamily[dnp]{JIS}{min}
+
+\CJKfontenc{KS}{HL}
+\CJKfontenc{JIS}{dnp}
+
+\renewcommand{\rubysep}{-0.2ex}
+
+
+\begin{document}
+
+\parskip 3ex
+\parindent 0pt
+
+6469204 FAQ 69186 218214 221185199194 250174250 215161 235209 235228187 163220237225209 231196184206
+240198 171238179192207217. \uline{69204 FAQ 69199 184182194 246173 199161 241207169 185226251184206
+ 175230199250192207217.} \textbf{69243188209 205186 ``69204 FAQ 69187 238187212 208187
+ 205206161'' 69243194 235241187 252182207195226 217248207217.}
+
+\begin{otherlanguage}{german}
+ Dieses FAQ wurde erstellt, um h8aufig gestellte Fragen und ihre
+ Antworten in einer gef8alligen Form zusammenzufassen. \uline{Die
+ Struktur dieses FAQ wurde drastisch ge8andert seit der letzten
+ Version.} \textbf{F8ur Details siehe den Abschnitt "`Wie lese ich
+ dieses FAQ"'.}
+\end{otherlanguage}
+
+\CJKtilde
+
+6567190163202202240175~(FAQ list)~67199211187169173163187202189196202226176228202177196226240208172212189
+227196206189170170248246196163\uline{67250207187230187172196199172228224197225185209185215196228163}
+\textbf{67208216194225185196184218172201206188184231206196193190202240175176203226228224197225185185195
+ 238208196181247163}
+
+6818796221221170176~(FAQ list)~687911364199103968122123618622168206228652371862091701646572232
+75186206161751102118818667\uline{6824287641691638018679652281151981789911925317923922067}
+\textbf{68179246115178991862119665105209210117112243921701872211701762067020922811519817899118211
+ 18116418616125067}
+
+This FAQ list was made to summarize some frequently asked questions
+and their answers in a convenient form. \uline{The structure of this
+ FAQ list has drastically changed since the last version.}
+\textbf{For details of the new structure, see the entry of `How to
+ read this FAQ and its structure'.}
+
+66179206~FAQ~66234185200207162232175162235193228200189206250242184225162242203169196232166203183191226206
+199185163\uline{66179206~FAQ~66234185200206189164207162202176206226206200230217198231253203209185181236
+ 198164222185163}\textbf{\ruby{66183}{66162191233}66183164189164203216183198207162214179206~FAQ~
+ 66206201223253200189206189164215206224220242\ruby{66178}{66181243}\ruby{66200}{66183231166}66183198188181
+ 164163}
+
+\begin{otherlanguage}{vietnam}
+Ph32\acircumflexn ``Nh34\uhornng c0\acircumflexu h73oi v32a gi73ai 0\dj20ap th0\uhorn32\ohornng g71\abrevep'' (vi20\ecircumflext t20\abrevet t32\uhorn ti20\ecircumflexng Anh
+l32a FAQ) 0\dj0\uhorn71\ohornc n0\ecircumflexu ra 73\ohorn 0\dj0\acircumflexy nh32\abrevem m71uc 0\dj20ich thu th71\acircumflexp nh34\uhornng c0\acircumflexu h73oi th0\uhorn32\ohornng
+g71\abrevep trong th71\uhornc t20\ecircumflex v32a nh34\uhornng l32\ohorni gi73ai 0\dj20ap th20ich h71\ohornp nh20\acircumflext c73ua n20o.
+\uline{T32\uhorn l32\acircumflexn 20\acircumflexn b73an cu20\ocircumflexi c32ung 0\dj20\ecircumflexn nay, 0\dj34a c20o nh34\uhornng s71\uhorn thay 0\dj73\ocircumflexi kh20a
+ l20\ohornn trong c20\acircumflexu tr20uc c73ua FAQ.} \textbf{0\DJ73\ecircumflex hi73\ecircumflexu r34o h0\ohornn b71an n0\ecircumflexn xem l71ai
+ ch0\uhorn0\ohornng ``L32am sao t0\ocircumflexi c20o th73\ecircumflex 0\dj71oc 0\dju71\ohornc FAQ''.}
+\end{otherlanguage}
+
+\begin{otherlanguage}{russian}
+ 0\CYREREV0\cyrt0\cyro0\cyrt 0\cyrs0\cyrp0\cyri0\cyrs0\cyro0\cyrk 0\cyrb0\cyrery0\cyrl 0\cyrs0\cyro0\cyrs0\cyrt0\cyra0\cyrv0\cyrl0\cyre0\cyrn 0\cyrd0\cyrl0\cyrya 0\cyrs0\cyru0\cyrm0\cyrm0\cyri0\cyrr0\cyro0\cyrv0\cyra0\cyrn0\cyri0\cyrya 0\cyrn0\cyre0\cyrk0\cyro0\cyrt0\cyro0\cyrr0\cyrery0\cyrh 0\cyrch0\cyra0\cyrs0\cyrt0\cyro
+ 0\cyrz0\cyra0\cyrd0\cyra0\cyrv0\cyra0\cyre0\cyrm0\cyrery0\cyrh 0\cyrv0\cyro0\cyrp0\cyrr0\cyro0\cyrs0\cyro0\cyrv (FAQ), 0\cyrv0\cyrm0\cyre0\cyrs0\cyrt0\cyre 0\cyrs 0\cyro0\cyrt0\cyrv0\cyre0\cyrt0\cyra0\cyrm0\cyri 0\cyrn0\cyra 0\cyrn0\cyri0\cyrh, 0\cyrv 0\cyru0\cyrd0\cyro0\cyrb0\cyrn0\cyro0\cyrishrt
+ 0\cyrf0\cyro0\cyrr0\cyrm0\cyre. \uline{0\CYRS0\cyrt0\cyrr0\cyru0\cyrk0\cyrt0\cyru0\cyrr0\cyra 0\cyrerev0\cyrt0\cyro0\cyrg0\cyro FAQ 0\cyrk0\cyra0\cyrr0\cyrd0\cyri0\cyrn0\cyra0\cyrl0\cyrsftsn0\cyrn0\cyro 0\cyri0\cyrz0\cyrm0\cyre0\cyrn0\cyri0\cyrl0\cyra0\cyrs0\cyrsftsn 0\cyrp0\cyro
+ 0\cyrs0\cyrr0\cyra0\cyrv0\cyrn0\cyre0\cyrn0\cyri0\cyryu 0\cyrs 0\cyrp0\cyro0\cyrs0\cyrl0\cyre0\cyrd\-0\cyrn0\cyre0\cyrishrt 0\cyrv0\cyre0\cyrr0\cyrs0\cyri0\cyre0\cyrishrt.} \textbf{0\CYRV 0\cyrr0\cyra0\cyrz0\cyrd0\cyre0\cyrl0\cyre `0\CYRK0\cyra0\cyrk 0\cyrch0\cyri0\cyrt0\cyra0\cyrt0\cyrsftsn
+ 0\cyrerev0\cyrt0\cyro0\cyrt FAQ 0\cyri 0\cyre0\cyrg0\cyro 0\cyrs0\cyrt0\cyrr0\cyru0\cyrk0\cyrt0\cyru0\cyrr0\cyra' 0\cyro0\cyrb0\cyrhrdsn0\cyrya0\cyrs0\cyrn0\cyre0\cyrn0\cyrery 0\cyrd0\cyre0\cyrt0\cyra0\cyrl0\cyri 0\cyrerev0\cyrt0\cyro0\cyrishrt 0\cyrn0\cyro0\cyrv0\cyro0\cyrishrt 0\cyrs0\cyrt0\cyrr0\cyru0\cyrk0\cyrt0\cyru0\cyrr0\cyrery.}
+\end{otherlanguage}
+
+\begin{otherlanguage}{thaicjk}
+ 5762195622106219462161622106219558 FAQ 5762185602136023361622026219560233622106216761621626021460233621856162224621906021560232622056162202621956021662187616216462211616218262210621936162183602136023261621826221062193616216160209621856162186602326220562194616216462195602096023362167616222562197622086162164622116162181622056218661621646221161621826221062193616222762185616219560217621876162225621866218661621836021361622026220862180621996216158.
+ \uline{5762226621646219562167616220262195602336221062167616216262205621676162195622106219462161622106219558 FAQ 576218560213602336162224621876219760213602326219462185616222862187616219362210621616162181602096023362167622256218160232616219560216602326218561621836021360232616222562197602336219958.}
+ \textbf{57621806021761621956221062194616219762208622246220560213621946218061622026221162203621956020962186616222662164621956216761622026219560233622106216761622276220362193602326162228621806023361621686221062161616217060232621996216758 ``576222662164621956216761622026219560233622106216761622256219762208616219960212621846021361621616221062195616220560232622106218558
+ FAQ.''}
+\end{otherlanguage}
+
+\begin{otherlanguage}{greek}
+ 0H 0l0'i0s0t0a 0a0u0t0'h 0S0T0E (0s0u0q0n0'a 0t0i0j0e0m0'e0n0w0n 0e0r0w0t0'h0s0e0w0n) 0'e0q0e0i 0s0a0n 0s0k0o0p0'o 0n0a
+ 0s0u0m0p0e0r0i0l0'a0b0e0i 0s0e 0e0'u0q0r0h0s0t0h 0m0o0r0f0'h 0k0'a0p0o0i0e0c 0s0h0m0a0n0t0i0k0'e0c 0e0r0w0t0'h0s0e0i0c 0k0a0i 0t0i0c
+ 0a0p0a0n0t0'h0s0e0i0c 0t0o0u0c. \uline{0H 0o0r0g0'a0n0w0s0h 0a0u0t0'h0c 0t0h0c 0l0'i0s0t0a0c 0'a0l0l0a0x0e
+ 0s0h0m0a0n0t0i0k0'a 0a0p0'o 0t0h0n 0t0e0l0e0u0t0a0'i0a 0'e0k0d0o0s0'h 0t0h0c 0k0a0i 0m0e0t0'a.} \textbf{0G0i0a
+ 0l0e0p0t0o0m0'e0r0e0i0e0c 0p0'a0n0w 0s0t0h 0n0'e0a 0o0r0g0'a0n0w0s0h, 0b0l0'e0p0e 0t0o 0l0'h0m0m0a <<0P0'w0c 0n0a
+ 0d0i0a0b0'a0s0e0t0e 0a0u0t0'h 0t0h0n 0S0T0E 0k0a0i 0p0'w0c 0e0'i0n0a0i 0o0r0g0a0n0w0m0'e0n0h>>.}
+\end{otherlanguage}
+
+\end{document}
+
+
+%%% Local Variables:
+%%% coding: emacs-mule
+%%% mode: latex
+%%% TeX-master: t
+%%% TeX-command-default: "CJKLaTeX"
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/cjk/SJIS.cjk b/language/chinese/CJK/cjk-4.8.4/examples/cjk/SJIS.cjk
new file mode 100644
index 0000000000..461698598d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/cjk/SJIS.cjk
@@ -0,0 +1,39 @@
+\def\CJKpreproc{sjisconv (CJK ver. 4.8.3)}% This is the file SJIS.tex of the CJK package
+% for testing Japanese (in SJIS encoding).
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+%
+%
+% process this file with sjislatex
+
+\documentclass[12pt]{article}
+
+\usepackage{CJK}
+\usepackage[CJK, overlap]{ruby}
+
+\renewcommand{\rubysep}{-0.3ex}
+
+
+\begin{document}
+
+\begin{CJK*}[dnp]{SJIS}{min}
+\CJKtilde
+
+\noindent 177204~FAQ~13888103205652301731602331912261981872041542408722365240201167194230164
+20118118922420419718366177204~FAQ~1388810320492162205652007920422420419822821519622915720120788
+17923419616222018366\textbf{\ruby{86}{160189231}1811629216220121418119620565117177204~FAQ~
+20419922125119818720492162118204128218240\ruby{81}{179241}\ruby{198}{181229164}181196186179
+16266}
+
+\end{CJK*}
+
+\end{document}
+
+%%% Local Variables:
+%%% coding: sjis
+%%% mode: latex
+%%% TeX-master: t
+%%% TeX-command-default: "CJKLaTeX"
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/cjk/muletest.cjk b/language/chinese/CJK/cjk-4.8.4/examples/cjk/muletest.cjk
new file mode 100644
index 0000000000..e212b1a23e
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/cjk/muletest.cjk
@@ -0,0 +1,149 @@
+\def\CJKhook{\CJKenc{JIS}\CJKenc{Bg5}\CJKenc{GB}\CJKenc{KS}}\ifx\CJKpreproc\undefined\def\CJKpreproc{cjk-enc}\RequirePackage[global]{CJK}\AtBeginDocument{\begin{CJK}{}{}\CJKspace}\AtEndDocument{\end{CJK}}\else\CJKhook\fi % This is the file muletest.tex of the CJK package
+% for testing text written with Mule and Emacs 20.
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% You need Emacs 20 (or Mule 2.3) to process this file!
+
+% You should load this file into Mule with `*internal*' encoding scheme
+% (C-u C-x C-f) and call `cjk-write-file' (M-x cjk-write-file).
+% Then run LaTeX on the file `muletest.cjk'.
+%
+% Under Emacs 20 type `C-x C-f muletest.tex' to load this file.
+%
+% `cjk-write-file' will be available after loading cjk-enc.el into Mule
+% (Emacs 20) with the commands load-file or load-library.
+%
+% If you don't have german.sty, comment out the `\usepackage{german}'
+% line.
+%
+% The T5 encoding is part of the VnTeX package (available at CTAN) which
+% contains Vietnamese fonts and other support files for both TeX and
+% LaTeX.
+%
+% Read cjk-enc.txt for more details.
+
+\documentclass[12pt]{article}
+
+\usepackage{inputenc} % load it without argument
+ % to avoid Babel warnings
+
+\usepackage[10pt]{type1ec} % use only 10pt fonts
+
+\usepackage{german}
+\usepackage[T5,T2A,LGR,OT1]{fontenc} % T2A is Cyrillic,
+ % LGR is Greek
+ % T5 is Vietnamese
+
+\usepackage[overlap, CJK]{ruby}
+\usepackage{pshan} % Korean Wansong PS fonts
+
+\CJKencfamily{Bg5}{bsmi}
+\CJKencfamily{GB}{gbsn}
+\CJKencfamily[dnp]{JIS}{min}
+
+\CJKfontenc{KS}{HL}
+\CJKfontenc{JIS}{dnp}
+
+\renewcommand{\rubysep}{-0.2ex}
+
+\begin{document}
+
+% suppress hyphenation completely since we don't use Babel and thus
+% don't know which \language corresponds to which hyphenation pattern
+\lefthyphenmin 65
+\raggedright
+
+\noindent 6469204 FAQ 69186 218214 221185199194 250174250 215161 235209 235228187 163220237225209
+231196184206 240198 171238179192207217. 69204 FAQ 69199 184182194 246173 199161 241207169
+185226251184206 175230199250192207217. \textbf{69243188209 205186 ``69204 FAQ 69187 238187212
+ 208187 205206161'' 69243194 235241187 252182207195226 217248207217.}
+
+\vspace{0.5cm}
+
+\noindent Dieses FAQ wurde erstellt, um h8aufig gestellte Fragen und
+ihre Antworten in einer gef8alligen Form zusammenzufassen. Die
+Struktur dieses FAQ wurde drastisch ge8andert seit der letzten Version.
+\textbf{F8ur Details siehe den Abschnitt "`Wie lese ich dieses FAQ"'.}
+
+\vspace{0.5cm}
+
+\CJKtilde
+
+\noindent 6567190163202202240175~(FAQ list)~67199211187169173163187202189196202226176228202177196226
+240208172212189227196206189170170248246196163250207187230187172196199172228224197225185209185215196228163
+\textbf{67208216194225185196184218172201206188184231206196193190202240175176203226228224197225185185195
+ 238208196181247163}
+
+\vspace{0.5cm}
+
+\noindent 6818796221221170176~(FAQ list)~68791136419910396812212361862216820622865237186209
+17016465722327518620616175110211881866724287641691638018679652281151981789911925317923922067
+\textbf{68179246115178991862119665105209210117112243921701872211701762067020922811519817899118211
+ 18116418616125067}
+
+\vspace{0.5cm}
+
+\noindent This FAQ list was made to summarize some frequently asked
+questions and their answers in a convenient form. The structure of
+this FAQ list has drastically changed since the last version.
+\textbf{For details of the new structure, see the entry of `How to
+ read this FAQ and its structure'.}
+
+\vspace{0.5cm}
+
+\noindent 66179206~FAQ~66234185200207162232175162235193228200189206250242184225162242203169196232166
+203183191226206199185163179206~FAQ~66234185200206189164207162202176206226206200230217198231253203209185
+181236198164222185163\textbf{\ruby{66183}{66162191233}66183164189164203216183198207162214179206~FAQ~
+ 66206201223253200189206189164215206224220242\ruby{66178}{66181243}\ruby{66200}{66183231166}66183198188181
+ 164163}
+
+\vspace{0.5cm}
+
+\bgroup
+\fontencoding{T5}\selectfont
+
+\noindent Ph32\acircumflexn ``Nh34\uhornng c0\acircumflexu h73oi v32a gi73ai 0\dj20ap th0\uhorn32\ohornng g71\abrevep'' (vi20\ecircumflext t20\abrevet t32\uhorn
+ti20\ecircumflexng Anh l32a FAQ) 0\dj0\uhorn71\ohornc n0\ecircumflexu ra 73\ohorn 0\dj0\acircumflexy nh32\abrevem m71uc 0\dj20ich thu th71\acircumflexp nh34\uhornng c0\acircumflexu
+h73oi th0\uhorn32\ohornng g71\abrevep trong th71\uhornc t20\ecircumflex v32a nh34\uhornng l32\ohorni gi73ai 0\dj20ap th20ich h71\ohornp nh20\acircumflext c73ua
+n20o. T32\uhorn l32\acircumflexn 20\acircumflexn b73an cu20\ocircumflexi c32ung 0\dj20\ecircumflexn nay, 0\dj34a c20o nh34\uhornng s71\uhorn thay 0\dj73\ocircumflexi kh20a l20\ohornn
+trong c20\acircumflexu tr20uc c73ua FAQ. \textbf{0\DJ73\ecircumflex hi73\ecircumflexu r34o h0\ohornn b71an n0\ecircumflexn xem l71ai ch0\uhorn0\ohornng
+ ``L32am sao t0\ocircumflexi c20o th73\ecircumflex 0\dj71oc 0\dju71\ohornc FAQ''.}
+\egroup
+
+\vspace{0.5cm}
+
+\bgroup
+\fontencoding{T2A}\selectfont
+
+\noindent 0\CYREREV0\cyrt0\cyro0\cyrt 0\cyrs0\cyrp0\cyri0\cyrs0\cyro0\cyrk 0\cyrb0\cyrery0\cyrl 0\cyrs0\cyro0\cyrs0\cyrt0\cyra0\cyrv0\cyrl0\cyre0\cyrn 0\cyrd0\cyrl0\cyrya 0\cyrs0\cyru0\cyrm0\cyrm0\cyri0\cyrr0\cyro0\cyrv0\cyra0\cyrn0\cyri0\cyrya 0\cyrn0\cyre0\cyrk0\cyro0\cyrt0\cyro0\cyrr0\cyrery0\cyrh 0\cyrch0\cyra0\cyrs0\cyrt0\cyro
+0\cyrz0\cyra0\cyrd0\cyra0\cyrv0\cyra0\cyre0\cyrm0\cyrery0\cyrh 0\cyrv0\cyro0\cyrp0\cyrr0\cyro0\cyrs0\cyro0\cyrv (FAQ), 0\cyrv0\cyrm0\cyre0\cyrs0\cyrt0\cyre 0\cyrs 0\cyro0\cyrt0\cyrv0\cyre0\cyrt0\cyra0\cyrm0\cyri 0\cyrn0\cyra 0\cyrn0\cyri0\cyrh, 0\cyrv 0\cyru0\cyrd0\cyro0\cyrb0\cyrn0\cyro0\cyrishrt 0\cyrf0\cyro0\cyrr0\cyrm0\cyre.
+0\CYRS0\cyrt0\cyrr0\cyru0\cyrk0\cyrt0\cyru0\cyrr0\cyra 0\cyrerev0\cyrt0\cyro0\cyrg0\cyro FAQ 0\cyrk0\cyra0\cyrr0\cyrd0\cyri0\cyrn0\cyra0\cyrl0\cyrsftsn0\cyrn0\cyro 0\cyri0\cyrz0\cyrm0\cyre0\cyrn0\cyri0\cyrl0\cyra0\cyrs0\cyrsftsn 0\cyrp0\cyro 0\cyrs0\cyrr0\cyra0\cyrv0\cyrn0\cyre0\cyrn0\cyri0\cyryu 0\cyrs 0\cyrp0\cyro0\cyrs0\cyrl0\cyre0\cyrd0\cyrn0\cyre0\cyrishrt
+0\cyrv0\cyre0\cyrr0\cyrs0\cyri0\cyre0\cyrishrt. \textbf{0\CYRV 0\cyrr0\cyra0\cyrz0\cyrd0\cyre0\cyrl0\cyre `0\CYRK0\cyra0\cyrk 0\cyrch0\cyri0\cyrt0\cyra0\cyrt0\cyrsftsn 0\cyrerev0\cyrt0\cyro0\cyrt FAQ 0\cyri 0\cyre0\cyrg0\cyro 0\cyrs0\cyrt0\cyrr0\cyru0\cyrk0\cyrt0\cyru0\cyrr0\cyra'
+ 0\cyro0\cyrb0\cyrhrdsn0\cyrya0\cyrs0\cyrn0\cyre0\cyrn0\cyrery 0\cyrd0\cyre0\cyrt0\cyra0\cyrl0\cyri 0\cyrerev0\cyrt0\cyro0\cyrishrt 0\cyrn0\cyro0\cyrv0\cyro0\cyrishrt 0\cyrs0\cyrt0\cyrr0\cyru0\cyrk0\cyrt0\cyru0\cyrr0\cyrery.}
+\egroup
+
+\vspace{0.5cm}
+
+\bgroup
+\fontencoding{LGR}\selectfont
+
+\noindent 0H 0l0'i0s0t0a 0a0u0t0'h 0S0T0E (0s0u0q0n0'a 0t0i0j0e0m0'e0n0w0n 0e0r0w0t0'h0s0e0w0n) 0'e0q0e0i 0s0a0n 0s0k0o0p0'o
+0n0a 0s0u0m0p0e0r0i0l0'a0b0e0i 0s0e 0e0'u0q0r0h0s0t0h 0m0o0r0f0'h 0k0'a0p0o0i0e0c 0s0h0m0a0n0t0i0k0'e0c 0e0r0w0t0'h0s0e0i0c 0k0a0i 0t0i0c
+0a0p0a0n0t0'h0s0e0i0c 0t0o0u0c. 0H 0o0r0g0'a0n0w0s0h 0a0u0t0'h0c 0t0h0c 0l0'i0s0t0a0c 0'a0l0l0a0x0e 0s0h0m0a0n0t0i0k0'a 0a0p0'o 0t0h0n
+0t0e0l0e0u0t0a0'i0a 0'e0k0d0o0s0'h 0t0h0c 0k0a0i 0m0e0t0'a. \textbf{0G0i0a 0l0e0p0t0o0m0'e0r0e0i0e0c 0p0'a0n0w 0s0t0h 0n0'e0a
+ 0o0r0g0'a0n0w0s0h, 0b0l0'e0p0e 0t0o 0l0'h0m0m0a <<0P0'w0c 0n0a 0d0i0a0b0'a0s0e0t0e 0a0u0t0'h 0t0h0n 0S0T0E 0k0a0i 0p0'w0c
+ 0e0'i0n0a0i 0o0r0g0a0n0w0m0'e0n0h>>.}
+\egroup
+
+\end{document}
+
+
+%%% Local Variables:
+%%% coding: emacs-mule
+%%% mode: latex
+%%% TeX-master: t
+%%% TeX-command-default: "CJKLaTeX"
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/cjk/rubytest.cjk b/language/chinese/CJK/cjk-4.8.4/examples/cjk/rubytest.cjk
new file mode 100644
index 0000000000..cfbc295156
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/cjk/rubytest.cjk
@@ -0,0 +1,56 @@
+\def\CJKhook{\CJKenc{JIS}\CJKenc{Bg5}}\ifx\CJKpreproc\undefined\def\CJKpreproc{cjk-enc}\RequirePackage[global]{CJK}\AtBeginDocument{\begin{CJK}{}{}\CJKspace}\AtEndDocument{\end{CJK}}\else\CJKhook\fi % This is the file rubytest.tex of the CJK package
+% for testing ruby with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% You need Emacs 20 (or Mule 2.3) to process this file!
+
+% You should load this file into Mule with `*internal*' encoding scheme
+% (C-u C-x C-f) and call `cjk-write-file' (M-x cjk-write-file).
+% Then run LaTeX on the created file `rubytest.cjk'.
+%
+% Under Emacs 20 type `C-x C-f rubytest.tex' to load this file.
+%
+% `cjk-write-file' will be available after loading cjk-enc.el into Mule
+% (Emacs 20) with the commands load-file or load-library.
+
+\documentclass[12pt]{article}
+
+\usepackage[overlap, CJK]{ruby}
+\usepackage{pinyin}
+
+\CJKencfamily{Bg5}{bsmi}
+\CJKencfamily[dnp]{JIS}{min}
+
+\CJKfontenc{JIS}{dnp}
+
+\renewcommand{\rubysep}{-0.3ex}
+
+
+\begin{document}
+
+{
+\rubylatin
+\renewcommand{\rubysize}{1}
+
+\ruby{\wo3}{6568218} \ruby{\hen3}{68220} \ruby{\xi3}{68223}\ruby{\huan1}{68119}
+\ruby{\chi1}{6889} \ruby{\Zhong1}{68164}\ruby{\guo2}{68234}
+\ruby{\cai4}{68230}\ruby{.}{6867}
+}
+
+\Large
+
+\ruby{66214}{66207202}\ruby{66224}{66190206}\ruby{66231}{66192164}\ruby{66216}{66172175}
+
+\ruby{66164}{66166223}66200\ruby{66208}{66223186166223}66216212175163
+
+\end{document}
+
+%%% Local Variables:
+%%% coding: emacs-mule
+%%% mode: latex
+%%% TeX-master: t
+%%% TeX-command-default: "CJKLaTeX"
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/cjk/thai.cjk b/language/chinese/CJK/cjk-4.8.4/examples/cjk/thai.cjk
new file mode 100644
index 0000000000..ef16754e35
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/cjk/thai.cjk
@@ -0,0 +1,43 @@
+\ifx\CJKpreproc\undefined\def\CJKpreproc{cjk-enc}\RequirePackage{MULEenc}\fi % This is the file thai.tex of the CJK package
+% for testing Thai (in TIS-620 encoding).
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% This file must be processed with cjk-enc.el to get
+%
+% . proper word breaks
+% . font switching between Thai and non-Thai
+% . intercharacter glue
+%
+% Please read cjk-enc.txt for usage instructions.
+%
+% To process without cjk-enc.el, comment out the line containing
+% `\extrasthaicjk'. Note, however, that you get overlong lines, and you
+% must manually insert proper Thai word breaks.
+
+
+\documentclass[12pt]{article}
+
+\usepackage[thaicjk]{babel}
+
+% \addto\extrasthaicjk{\fontencoding{C90}\selectfont}
+
+
+\begin{document}
+
+5762195622106219462161622106219558 FAQ 5762185602136023361622026219560233622106216761621626021460233621856162224621906021560232622056162202621956021662187616216462211616218262210621936162183602136023261621826221062193616216160209621856162186602326220562194616216462195602096023362167616222562197622086162164622116162181622056218661621646221161621826221062193616222762185616219560217621876162225621866218661621836021361622026220862180621996216158.
+5762226621646219562167616220262195602336221062167616216262205621676162195622106219462161622106219558 FAQ 576218560213602336162224621876219760213602326219462185616222862187616219362210621616162181602096023362167622256218160232616219560216602326218561621836021360232616222562197602336219958.
+\textbf{57621806021761621956221062194616219762208622246220560213621946218061622026221162203621956020962186616222662164621956216761622026219560233622106216761622276220362193602326162228621806023361621686221062161616217060232621996216758 ``576222662164621956216761622026219560233622106216761622256219762208616219960212621846021361621616221062195616220560232622106218558
+ FAQ.''}
+
+\end{document}
+
+
+%%% Local Variables:
+%%% coding: thai-tis620
+%%% mode: latex
+%%% TeX-master: t
+%%% TeX-command-default: "CJKLaTeX"
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/cjk/thai_utf8.cjk b/language/chinese/CJK/cjk-4.8.4/examples/cjk/thai_utf8.cjk
new file mode 100644
index 0000000000..1ffa284b83
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/cjk/thai_utf8.cjk
@@ -0,0 +1,43 @@
+\ifx\CJKpreproc\undefined\def\CJKpreproc{cjk-enc}\RequirePackage{MULEenc}\fi % This is the file thai_utf8.tex of the CJK package
+% for testing Thai (in utf-8 encoding).
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% This file must be processed with cjk-enc.el to get
+%
+% . proper word breaks
+% . font switching between Thai and non-Thai
+% . intercharacter glue
+%
+% Please read cjk-enc.txt for usage instructions.
+%
+% To process without cjk-enc.el, comment out the line containing
+% `\extrasthaicjk'. Note, however, that you get overlong lines, and you
+% must manually insert proper Thai word breaks.
+
+
+\documentclass[12pt]{article}
+
+\usepackage[thaicjk]{babel}
+
+% \addto\extrasthaicjk{\fontencoding{C90}\selectfont}
+
+
+\begin{document}
+
+5762195622106219462161622106219558 FAQ 5762185602136023361622026219560233622106216761621626021460233621856162224621906021560232622056162202621956021662187616216462211616218262210621936162183602136023261621826221062193616216160209621856162186602326220562194616216462195602096023362167616222562197622086162164622116162181622056218661621646221161621826221062193616222762185616219560217621876162225621866218661621836021361622026220862180621996216158.
+5762226621646219562167616220262195602336221062167616216262205621676162195622106219462161622106219558 FAQ 576218560213602336162224621876219760213602326219462185616222862187616219362210621616162181602096023362167622256218160232616219560216602326218561621836021360232616222562197602336219958.
+\textbf{57621806021761621956221062194616219762208622246220560213621946218061622026221162203621956020962186616222662164621956216761622026219560233622106216761622276220362193602326162228621806023361621686221062161616217060232621996216758 ``576222662164621956216761622026219560233622106216761622256219762208616219960212621846021361621616221062195616220560232622106218558
+ FAQ.''}
+
+\end{document}
+
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-master: t
+%%% TeX-command-default: "CJKLaTeX"
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/muletest.tex b/language/chinese/CJK/cjk-4.8.4/examples/muletest.tex
new file mode 100644
index 0000000000..9c7b86c5ba
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/muletest.tex
@@ -0,0 +1,149 @@
+% This is the file muletest.tex of the CJK package
+% for testing text written with Mule and Emacs 20.
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% You need Emacs 20 (or Mule 2.3) to process this file!
+
+% You should load this file into Mule with `*internal*' encoding scheme
+% (C-u C-x C-f) and call `cjk-write-file' (M-x cjk-write-file).
+% Then run LaTeX on the file `muletest.cjk'.
+%
+% Under Emacs 20 type `C-x C-f muletest.tex' to load this file.
+%
+% `cjk-write-file' will be available after loading cjk-enc.el into Mule
+% (Emacs 20) with the commands load-file or load-library.
+%
+% If you don't have german.sty, comment out the `\usepackage{german}'
+% line.
+%
+% The T5 encoding is part of the VnTeX package (available at CTAN) which
+% contains Vietnamese fonts and other support files for both TeX and
+% LaTeX.
+%
+% Read cjk-enc.txt for more details.
+
+\documentclass[12pt]{article}
+
+\usepackage{inputenc} % load it without argument
+ % to avoid Babel warnings
+
+\usepackage[10pt]{type1ec} % use only 10pt fonts
+
+\usepackage{german}
+\usepackage[T5,T2A,LGR,OT1]{fontenc} % T2A is Cyrillic,
+ % LGR is Greek
+ % T5 is Vietnamese
+
+\usepackage[overlap, CJK]{ruby}
+\usepackage{pshan} % Korean Wansong PS fonts
+
+\CJKencfamily{Bg5}{bsmi}
+\CJKencfamily{GB}{gbsn}
+\CJKencfamily[dnp]{JIS}{min}
+
+\CJKfontenc{KS}{HL}
+\CJKfontenc{JIS}{dnp}
+
+\renewcommand{\rubysep}{-0.2ex}
+
+\begin{document}
+
+% suppress hyphenation completely since we don't use Babel and thus
+% don't know which \language corresponds to which hyphenation pattern
+\lefthyphenmin 65
+\raggedright
+
+\noindent FAQ ړ ݓǓ ד 듴 ܓ퓷
+瓽ē ϓ. FAQ Ǔ ϓ
+ȹ 擵Ǔϓ. \textbf{󓼼 ͓ `` FAQ 
+ Г ͓Γ'' 듸 ϓÓ ٓϓ.}
+
+\vspace{0.5cm}
+
+\noindent Dieses FAQ wurde erstellt, um hufig gestellte Fragen und
+ihre Antworten in einer geflligen Form zusammenzufassen. Die
+Struktur dieses FAQ wurde drastisch gendert seit der letzten Version.
+\textbf{Fr Details siehe den Abschnitt "`Wie lese ich dieses FAQ"'.}
+
+\vspace{0.5cm}
+
+\CJKtilde
+
+\noindent ʑʑ𑼯~(FAQ list)~ǑӑһЩʑđʑ⑼ʑđ
+Бԑ㑵đΑʽժҪđϑһ摲ͬđǑ䑱őᑹёבđ䑡
+\textbf{Бؑ‘ᑹđϸڑɑΑ瑺Αđʑ𑼯ˑ䑱őᑹ
+ Бđ˵}
+
+\vspace{0.5cm}
+
+\noindent ܘØØñ~(FAQ list)~ӘØØ˘Ƕ
+ñ䘡阧ʘӘ՘똦㘩ҘӘоù˭٘是Ҙɘ
+\textbf{ØƼù˭٘蘡Ԙ֘ܘØñ٘оù˭ט
+ 䘰ͪ}
+
+\vspace{0.5cm}
+
+\noindent This FAQ list was made to summarize some frequently asked
+questions and their answers in a convenient form. The structure of
+this FAQ list has drastically changed since the last version.
+\textbf{For details of the new structure, see the entry of `How to
+ read this FAQ and its structure'.}
+
+\vspace{0.5cm}
+
+\noindent ~FAQ~꒥Ȓϒ蒤뒼䒤ȒΒ򒽸ᒡ˒ΩĒ蒤
+˒⒤Βǒ~FAQ~꒥ȒΒ¤ϒʒΒ⒤ΒȒ撤ْƒ˒ђ
+쒤ƒޒ\textbf{\ruby{}{}¤˒ؒƒϒ֒~FAQ~
+ ΒɒߒȒΒ¤גΒܒ\ruby{}{}\ruby{}{璤}ƒ
+ }
+
+\vspace{0.5cm}
+
+\bgroup
+\fontencoding{T5}\selectfont
+
+\noindent Phn ``Nhng cu hi v gii p thߚng gp'' (vit tt t
+ting Anh l FAQ) ߚc nu ra y nhm mc ch thu thp nhng cu
+hi thߚng gp trong thc t v nhng li gii p thch hp nht ca
+n. T ln n bn cui cng 𚢪n nay, c nhng s thay 𚢱i kh ln
+trong cu trc ca FAQ. \textbf{𚢬 hiu r hn bn nn xem li chߚng
+ ``Lm sao ti c th c uc FAQ''.}
+\egroup
+
+\vspace{0.5cm}
+
+\bgroup
+\fontencoding{T2A}\selectfont
+
+\noindent ͌ތ ߌ،ތ ь ތЌҌیՌ Ԍی ܌܌،ތҌЌ݌، ݌Ռڌތތ Ќ
+׌ЌԌЌҌЌՌ܌ Ҍތߌތތ (FAQ), Ҍ܌Ռ ތҌՌЌ܌ ݌ ݌،, Ԍތь݌ތ ތ܌.
+ڌ ތӌ FAQ ڌЌԌ،݌Ќی݌ ،׌܌Ռ݌،یЌ ߌ ЌҌ݌Ռ݌، ߌތیՌԌ݌Ռ
+ҌՌ،Ռ. \textbf{ Ќ׌ԌՌی `Ќ ،Ќ ތ FAQ Ռӌ ڌ'
+ ތь݌Ռ݌ ԌՌЌی ތ ݌ތҌތ ڌ.}
+\egroup
+
+\vspace{0.5cm}
+
+\bgroup
+\fontencoding{LGR}\selectfont
+
+\noindent ߆ ӆԆ ( ݆ ކ) ݆
+ ܆ ܆ ݆ ކ
+ކ . ܆ ކ ߆ ܆
+߆ ݆ . \textbf{Æ ݆ ܆ ݆
+ ܆, ݆ ކ <<І ܆ ӆԆ
+ ߆ ݆>>.}
+\egroup
+
+\end{document}
+
+
+%%% Local Variables:
+%%% coding: emacs-mule
+%%% mode: latex
+%%% TeX-master: t
+%%% TeX-command-default: "CJKLaTeX"
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/pdf/Big5.pdf b/language/chinese/CJK/cjk-4.8.4/examples/pdf/Big5.pdf
new file mode 100644
index 0000000000..673422ed7b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/pdf/Big5.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/pdf/Big5vert.pdf b/language/chinese/CJK/cjk-4.8.4/examples/pdf/Big5vert.pdf
new file mode 100644
index 0000000000..6b00bd023f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/pdf/Big5vert.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/pdf/CEF_test.pdf b/language/chinese/CJK/cjk-4.8.4/examples/pdf/CEF_test.pdf
new file mode 100644
index 0000000000..e326af035d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/pdf/CEF_test.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/pdf/CJKbabel.pdf b/language/chinese/CJK/cjk-4.8.4/examples/pdf/CJKbabel.pdf
new file mode 100644
index 0000000000..7d3dab33bd
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/pdf/CJKbabel.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/pdf/CJKfntef.pdf b/language/chinese/CJK/cjk-4.8.4/examples/pdf/CJKfntef.pdf
new file mode 100644
index 0000000000..58e7a7c418
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/pdf/CJKfntef.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/pdf/CJKmixed.pdf b/language/chinese/CJK/cjk-4.8.4/examples/pdf/CJKmixed.pdf
new file mode 100644
index 0000000000..6cd3bc814a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/pdf/CJKmixed.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/pdf/CJKspace.pdf b/language/chinese/CJK/cjk-4.8.4/examples/pdf/CJKspace.pdf
new file mode 100644
index 0000000000..735b14ff80
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/pdf/CJKspace.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/pdf/CJKutf8.pdf b/language/chinese/CJK/cjk-4.8.4/examples/pdf/CJKutf8.pdf
new file mode 100644
index 0000000000..28cc7ee9bb
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/pdf/CJKutf8.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/pdf/GB.pdf b/language/chinese/CJK/cjk-4.8.4/examples/pdf/GB.pdf
new file mode 100644
index 0000000000..094c34a1fd
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/pdf/GB.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/pdf/JIS.pdf b/language/chinese/CJK/cjk-4.8.4/examples/pdf/JIS.pdf
new file mode 100644
index 0000000000..71e0a4335f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/pdf/JIS.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/pdf/KS.pdf b/language/chinese/CJK/cjk-4.8.4/examples/pdf/KS.pdf
new file mode 100644
index 0000000000..b64b1c7260
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/pdf/KS.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/pdf/SJIS.pdf b/language/chinese/CJK/cjk-4.8.4/examples/pdf/SJIS.pdf
new file mode 100644
index 0000000000..9fb248701c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/pdf/SJIS.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/pdf/UTF8.pdf b/language/chinese/CJK/cjk-4.8.4/examples/pdf/UTF8.pdf
new file mode 100644
index 0000000000..851d91dfb0
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/pdf/UTF8.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/pdf/muletest.pdf b/language/chinese/CJK/cjk-4.8.4/examples/pdf/muletest.pdf
new file mode 100644
index 0000000000..f7711e89c9
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/pdf/muletest.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/pdf/py_test.pdf b/language/chinese/CJK/cjk-4.8.4/examples/pdf/py_test.pdf
new file mode 100644
index 0000000000..aca573272a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/pdf/py_test.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/pdf/pytest.pdf b/language/chinese/CJK/cjk-4.8.4/examples/pdf/pytest.pdf
new file mode 100644
index 0000000000..b4b458da6c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/pdf/pytest.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/pdf/rubytest.pdf b/language/chinese/CJK/cjk-4.8.4/examples/pdf/rubytest.pdf
new file mode 100644
index 0000000000..dc6d7b0ff7
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/pdf/rubytest.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/pdf/thai.pdf b/language/chinese/CJK/cjk-4.8.4/examples/pdf/thai.pdf
new file mode 100644
index 0000000000..322e0c696e
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/pdf/thai.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/pdf/thai_utf8.pdf b/language/chinese/CJK/cjk-4.8.4/examples/pdf/thai_utf8.pdf
new file mode 100644
index 0000000000..e168279686
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/pdf/thai_utf8.pdf
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/py_test.tex b/language/chinese/CJK/cjk-4.8.4/examples/py_test.tex
new file mode 100644
index 0000000000..1bb650f4a1
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/py_test.tex
@@ -0,0 +1,43 @@
+% This is the file py_test.tex of the CJK package
+% for testing pinyin syllables with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\documentclass{article}
+
+\usepackage{pinyin}
+
+
+\begin{document}
+
+\Huge
+
+{\Wo3 \hen3 \xi3\huan1 \lv3\xing2.}
+
+{\slshape
+ \Wo3 \hen3 \xi3\huan1 \lv3\xing2.}
+
+{\itshape
+ \Wo3 \hen3 \xi3\huan1 \lv3\xing2.}
+
+{\bfseries
+ \Wo3 \hen3 \xi3\huan1 \lv3\xing2.}
+
+{\sffamily
+ \Wo3 \hen3 \xi3\huan1 \lv3\xing2.}
+
+{\ttfamily
+ \Wo3 \hen3 \xi3\huan1 \lv3\xing2.}
+
+{\bfseries\sffamily
+ \Wo3 \hen3 \xi3\huan1 \lv3\xing2.}
+
+\PYdeactivate
+$\Xi, \xi, \Re$
+\PYactivate
+
+\Zhen1de \bu2 \cuo4 ne!
+
+\end{document}
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/rubytest.tex b/language/chinese/CJK/cjk-4.8.4/examples/rubytest.tex
new file mode 100644
index 0000000000..8e8b83e032
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/rubytest.tex
@@ -0,0 +1,56 @@
+% This is the file rubytest.tex of the CJK package
+% for testing ruby with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% You need Emacs 20 (or Mule 2.3) to process this file!
+
+% You should load this file into Mule with `*internal*' encoding scheme
+% (C-u C-x C-f) and call `cjk-write-file' (M-x cjk-write-file).
+% Then run LaTeX on the created file `rubytest.cjk'.
+%
+% Under Emacs 20 type `C-x C-f rubytest.tex' to load this file.
+%
+% `cjk-write-file' will be available after loading cjk-enc.el into Mule
+% (Emacs 20) with the commands load-file or load-library.
+
+\documentclass[12pt]{article}
+
+\usepackage[overlap, CJK]{ruby}
+\usepackage{pinyin}
+
+\CJKencfamily{Bg5}{bsmi}
+\CJKencfamily[dnp]{JIS}{min}
+
+\CJKfontenc{JIS}{dnp}
+
+\renewcommand{\rubysep}{-0.3ex}
+
+
+\begin{document}
+
+{
+\rubylatin
+\renewcommand{\rubysize}{1}
+
+\ruby{\wo3}{} \ruby{\hen3}{} \ruby{\xi3}{}\ruby{\huan1}{}
+\ruby{\chi1}{} \ruby{\Zhong1}{}\ruby{\guo2}{}
+\ruby{\cai4}{}\ruby{.}{}
+}
+
+\Large
+
+\ruby{}{ϒ}\ruby{}{}\ruby{}{}\ruby{}{}
+
+\ruby{}{}\ruby{}{ߒ}ؒԒ
+
+\end{document}
+
+%%% Local Variables:
+%%% coding: emacs-mule
+%%% mode: latex
+%%% TeX-master: t
+%%% TeX-command-default: "CJKLaTeX"
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/thai.tex b/language/chinese/CJK/cjk-4.8.4/examples/thai.tex
new file mode 100644
index 0000000000..6466e78e8c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/thai.tex
@@ -0,0 +1,43 @@
+% This is the file thai.tex of the CJK package
+% for testing Thai (in TIS-620 encoding).
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% This file must be processed with cjk-enc.el to get
+%
+% . proper word breaks
+% . font switching between Thai and non-Thai
+% . intercharacter glue
+%
+% Please read cjk-enc.txt for usage instructions.
+%
+% To process without cjk-enc.el, comment out the line containing
+% `\extrasthaicjk'. Note, however, that you get overlong lines, and you
+% must manually insert proper Thai word breaks.
+
+
+\documentclass[12pt]{article}
+
+\usepackage[thaicjk]{babel}
+
+% \addto\extrasthaicjk{\fontencoding{C90}\selectfont}
+
+
+\begin{document}
+
+¡ FAQ ҧػӶѹ¤ФӵͺӶٻẺдǡ.
+çҧͧ¡ FAQ ¹ҡ蹷.
+\textbf{´Ѻçҧҡǧ ``çҧԸաҹ
+ FAQ.''}
+
+\end{document}
+
+
+%%% Local Variables:
+%%% coding: thai-tis620
+%%% mode: latex
+%%% TeX-master: t
+%%% TeX-command-default: "CJKLaTeX"
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/examples/thai_utf8.tex b/language/chinese/CJK/cjk-4.8.4/examples/thai_utf8.tex
new file mode 100644
index 0000000000..64c6c99c0f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/examples/thai_utf8.tex
@@ -0,0 +1,43 @@
+% This is the file thai_utf8.tex of the CJK package
+% for testing Thai (in utf-8 encoding).
+%
+% written by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% This file must be processed with cjk-enc.el to get
+%
+% . proper word breaks
+% . font switching between Thai and non-Thai
+% . intercharacter glue
+%
+% Please read cjk-enc.txt for usage instructions.
+%
+% To process without cjk-enc.el, comment out the line containing
+% `\extrasthaicjk'. Note, however, that you get overlong lines, and you
+% must manually insert proper Thai word breaks.
+
+
+\documentclass[12pt]{article}
+
+\usepackage[thaicjk]{babel}
+
+% \addto\extrasthaicjk{\fontencoding{C90}\selectfont}
+
+
+\begin{document}
+
+รายการ FAQ นี้สร้างขึ้นเพื่อสรุปคำถามที่ถามกันบ่อยครั้งและคำตอบคำถามในรูปแบบทีสะดวก.
+โครงสร้างของรายการ FAQ นี้เปลี่ยนไปมากตั้งแต่รุ่นที่แล้ว.
+\textbf{ดูรายละเอียดสำหรับโครงสร้างใหม่ได้จากช่วง ``โครงสร้างและวิธีการอ่าน
+ FAQ.''}
+
+\end{document}
+
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-master: t
+%%% TeX-command-default: "CJKLaTeX"
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/Bg5.cap b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/Bg5.cap
new file mode 100644
index 0000000000..ee5ec02ad7
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/Bg5.cap
@@ -0,0 +1,86 @@
+% This is the file Bg5.cap of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{Bg5.cap}[\filedate\space\fileversion]
+
+
+% Chinese captions
+%
+% character set: Big 5
+% encoding: Big 5
+
+\renewcommand\contentsname{~~}
+\renewcommand\listfigurename{~~}
+\renewcommand\listtablename{~~}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{~~~}
+ %\renewcommand\refname{~~~m}
+ }
+ {\renewcommand\bibname{~~m}
+ %\renewcommand\bibname{~~~}
+% \newcommand\prechaptername{}
+% \newcommand\postchaptername{}
+ }
+
+\renewcommand\indexname{~}
+
+\renewcommand\figurename{}
+\renewcommand\tablename{}
+
+\newcommand\prepartname{}
+\newcommand\postpartname{}
+%\newcommand{\postpartname}{}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+
+% \newcommand\presectionname{}
+% \newcommand\postsectionname{`}
+% \renewcommand\appendixname{~}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{K~n}}{}
+
+% \renewcommand\ccname{} % ?
+% \renewcommand\enclname{}
+% \newcommand\prepagename{} % ?
+% \newcommand\postpagename{} % ?
+% \renewcommand\headtoname{} % ?
+% \renewcommand\seename{} % ?
+
+\renewcommand{\today}{\number\year ~ \number\month \number\day }
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{\ifcase #1\or
+ @\or G\or T\or |\or \or
+ \or C\or K\or E\or Q\fi}}{}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: big5
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/Bg5.chr b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/Bg5.chr
new file mode 100644
index 0000000000..1501c016ee
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/Bg5.chr
@@ -0,0 +1,219 @@
+% This is the file Bg5.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{Bg5.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling Big 5 encoded CJK fonts and characters.
+
+\global\@namedef{CJK@Bg5Chr}{
+ \CJK@global\chardef\CJK@gap "0A0\relax
+
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##3\relax
+ \ifnum ##3 > \CJK@gap
+ \advance\@tempcnta -34\relax
+ \fi
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \ifnum ##4 > \CJK@gap
+ \advance\@tempcnta -34\relax
+ \advance\@tempcntb 34\relax
+ \fi
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% for punctuation.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##4}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{Bg5}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \ifnum ##4 > \CJK@gap
+ \advance\@tempcnta -34\relax
+ \fi
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{Bg5}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+ \CJK@global\def\CJK@punctcharx##1##2##3##4##5{
+ {\ifnum ##5 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##5 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##5}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{Bg5}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##5\relax
+ \@tempcntb 256\relax
+ \ifnum ##5 > \CJK@gap
+ \advance\@tempcnta -34\relax
+ \advance\@tempcntb 34\relax
+ \fi
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcntb -##4\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##5 < \@temp
+ \edef\CJK@plane{##2}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##3}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{Bg5}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/Bg5.cpx b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/Bg5.cpx
new file mode 100644
index 0000000000..6be514b029
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/Bg5.cpx
@@ -0,0 +1,86 @@
+% This is the file Bg5.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{Bg5.cpx}[\filedate\space\fileversion]
+
+
+% Chinese captions
+%
+% character set: Big 5
+% encoding: Big 5
+%
+% preprocessed
+
+\renewcommand\contentsname{216~~253}
+\renewcommand\listfigurename{207~216~253}
+\renewcommand\listtablename{237~216~253}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{209~210~234~198}
+ %\renewcommand\refname{209~210~229~109}
+ }
+ {
+ \renewcommand\bibname{229~~109}
+ %\renewcommand\bibname{209~210~209~216}
+% \newcommand\prechaptername{196}
+% \newcommand\postchaptername{185}
+ }
+
+\renewcommand\indexname{193~222}
+
+\renewcommand\figurename{207}
+\renewcommand\tablename{237}
+
+\newcommand\prepartname{196}
+\newcommand\postpartname{161}
+%\newcommand{\postpartname}{161192}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+
+% \newcommand\presectionname{196}
+% \newcommand\postsectionname{96}
+% \renewcommand\appendixname{254~253}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{75~110}}{}
+
+% \renewcommand\ccname{} % ?
+% \renewcommand\enclname{254243}
+% \newcommand\prepagename{} % ?
+% \newcommand\postpagename{} % ?
+% \renewcommand\headtoname{} % ?
+% \renewcommand\seename{} % ?
+
+\renewcommand{\today}{\number\year 126
+ \number\month 235
+ \number\day 233}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{%
+ \ifcase #1\or
+ 64\or 71\or 84\or 124\or 173\or
+ 187\or 67\or 75\or 69\or 81\fi}}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/Bg5.enc b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/Bg5.enc
new file mode 100644
index 0000000000..818f55e3b9
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/Bg5.enc
@@ -0,0 +1,226 @@
+% This is the file Bg5.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{Bg5.enc}[\filedate\space\fileversion]
+
+
+% Big 5 encoding:
+% the second byte is in the range 0x40 - 0xFE with a gap from 0x7F to
+% 0xA0.
+
+\global\@namedef{CJK@Bg5Encoding}{
+ \CJK@loadChr{Bg5}
+
+ \CJK@namegdef{^^a1}##1{\CJK@disableMakeUppercase
+ \CJK@punctchar {A1}{01}{-64}{##1}}
+ \CJK@namegdef{^^a2}##1{\CJK@disableMakeUppercase
+ \CJK@punctcharx{A2}{01}{02}{93}{##1}}
+ \CJK@namegdef{^^a3}##1{\CJK@disableMakeUppercase
+ \CJK@char {02}{ -6}{##1}}
+ \CJK@namegdef{^^a4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{02}{03}{151}{##1}}
+ \CJK@namegdef{^^a5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{03}{04}{ 52}{##1}}
+ \CJK@namegdef{^^a6}##1{\CJK@disableMakeUppercase
+ \CJK@char {04}{-47}{##1}}
+ \CJK@namegdef{^^a7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{04}{05}{110}{##1}}
+ \CJK@namegdef{^^a8}##1{\CJK@disableMakeUppercase
+ \CJK@char {05}{ 11}{##1}}
+ \CJK@namegdef{^^a9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{05}{06}{168}{##1}}
+ \CJK@namegdef{^^aa}##1{\CJK@disableMakeUppercase
+ \CJK@charx{06}{07}{ 69}{##1}}
+ \CJK@namegdef{^^ab}##1{\CJK@disableMakeUppercase
+ \CJK@char {07}{-30}{##1}}
+ \CJK@namegdef{^^ac}##1{\CJK@disableMakeUppercase
+ \CJK@charx{07}{08}{127}{##1}}
+ \CJK@namegdef{^^ad}##1{\CJK@disableMakeUppercase
+ \CJK@char {08}{28}{##1}}
+ \CJK@namegdef{^^ae}##1{\CJK@disableMakeUppercase
+ \CJK@charx{08}{09}{185}{##1}}
+ \CJK@namegdef{^^af}##1{\CJK@disableMakeUppercase
+ \CJK@charx{09}{10}{ 86}{##1}}
+ \CJK@namegdef{^^b0}##1{\CJK@disableMakeUppercase
+ \CJK@char {10}{-13}{##1}}
+ \CJK@namegdef{^^b1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{10}{11}{144}{##1}}
+ \CJK@namegdef{^^b2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{11}{12}{ 45}{##1}}
+ \CJK@namegdef{^^b3}##1{\CJK@disableMakeUppercase
+ \CJK@char {12}{-54}{##1}}
+ \CJK@namegdef{^^b4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{12}{13}{103}{##1}}
+ \CJK@namegdef{^^b5}##1{\CJK@disableMakeUppercase
+ \CJK@char {13}{ 4}{##1}}
+ \CJK@namegdef{^^b6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{13}{14}{161}{##1}}
+ \CJK@namegdef{^^b7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{14}{15}{ 62}{##1}}
+ \CJK@namegdef{^^b8}##1{\CJK@disableMakeUppercase
+ \CJK@char {15}{-37}{##1}}
+ \CJK@namegdef{^^b9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{15}{16}{120}{##1}}
+ \CJK@namegdef{^^ba}##1{\CJK@disableMakeUppercase
+ \CJK@char {16}{ 21}{##1}}
+ \CJK@namegdef{^^bb}##1{\CJK@disableMakeUppercase
+ \CJK@charx{16}{17}{178}{##1}}
+ \CJK@namegdef{^^bc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{17}{18}{ 79}{##1}}
+ \CJK@namegdef{^^bd}##1{\CJK@disableMakeUppercase
+ \CJK@char {18}{-20}{##1}}
+ \CJK@namegdef{^^be}##1{\CJK@disableMakeUppercase
+ \CJK@charx{18}{19}{137}{##1}}
+ \CJK@namegdef{^^bf}##1{\CJK@disableMakeUppercase
+ \CJK@charx{19}{20}{ 38}{##1}}
+ \CJK@namegdef{^^c0}##1{\CJK@disableMakeUppercase
+ \CJK@char {20}{-61}{##1}}
+ \CJK@namegdef{^^c1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{20}{21}{ 96}{##1}}
+ \CJK@namegdef{^^c2}##1{\CJK@disableMakeUppercase
+ \CJK@char {21}{ -3}{##1}}
+ \CJK@namegdef{^^c3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{21}{22}{154}{##1}}
+ \CJK@namegdef{^^c4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{22}{23}{ 55}{##1}}
+ \CJK@namegdef{^^c5}##1{\CJK@disableMakeUppercase
+ \CJK@char {23}{-44}{##1}}
+ \CJK@namegdef{^^c6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{23}{24}{113}{##1}}
+ \CJK@namegdef{^^c7}##1{\CJK@disableMakeUppercase
+ \CJK@char {24}{ 14}{##1}}
+ \CJK@namegdef{^^c8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{24}{25}{171}{##1}}
+ \CJK@namegdef{^^c9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{25}{26}{ 72}{##1}}
+ \CJK@namegdef{^^ca}##1{\CJK@disableMakeUppercase
+ \CJK@char {26}{-27}{##1}}
+ \CJK@namegdef{^^cb}##1{\CJK@disableMakeUppercase
+ \CJK@charx{26}{27}{130}{##1}}
+ \CJK@namegdef{^^cc}##1{\CJK@disableMakeUppercase
+ \CJK@char {27}{ 31}{##1}}
+ \CJK@namegdef{^^cd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{27}{28}{188}{##1}}
+ \CJK@namegdef{^^ce}##1{\CJK@disableMakeUppercase
+ \CJK@charx{28}{29}{ 89}{##1}}
+ \CJK@namegdef{^^cf}##1{\CJK@disableMakeUppercase
+ \CJK@char {29}{-10}{##1}}
+ \CJK@namegdef{^^d0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{29}{30}{147}{##1}}
+ \CJK@namegdef{^^d1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{30}{31}{ 48}{##1}}
+ \CJK@namegdef{^^d2}##1{\CJK@disableMakeUppercase
+ \CJK@char {31}{-51}{##1}}
+ \CJK@namegdef{^^d3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{31}{32}{106}{##1}}
+ \CJK@namegdef{^^d4}##1{\CJK@disableMakeUppercase
+ \CJK@char {32}{ 7}{##1}}
+ \CJK@namegdef{^^d5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{32}{33}{164}{##1}}
+ \CJK@namegdef{^^d6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{33}{34}{ 65}{##1}}
+ \CJK@namegdef{^^d7}##1{\CJK@disableMakeUppercase
+ \CJK@char {34}{-34}{##1}}
+ \CJK@namegdef{^^d8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{34}{35}{123}{##1}}
+ \CJK@namegdef{^^d9}##1{\CJK@disableMakeUppercase
+ \CJK@char {35}{ 24}{##1}}
+ \CJK@namegdef{^^da}##1{\CJK@disableMakeUppercase
+ \CJK@charx{35}{36}{181}{##1}}
+ \CJK@namegdef{^^db}##1{\CJK@disableMakeUppercase
+ \CJK@charx{36}{37}{ 82}{##1}}
+ \CJK@namegdef{^^dc}##1{\CJK@disableMakeUppercase
+ \CJK@char {37}{-17}{##1}}
+ \CJK@namegdef{^^dd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{37}{38}{140}{##1}}
+ \CJK@namegdef{^^de}##1{\CJK@disableMakeUppercase
+ \CJK@charx{38}{39}{ 41}{##1}}
+ \CJK@namegdef{^^df}##1{\CJK@disableMakeUppercase
+ \CJK@char {39}{-58}{##1}}
+ \CJK@namegdef{^^e0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{39}{40}{ 99}{##1}}
+ \CJK@namegdef{^^e1}##1{\CJK@disableMakeUppercase
+ \CJK@char {40}{ 0}{##1}}
+ \CJK@namegdef{^^e2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{40}{41}{157}{##1}}
+ \CJK@namegdef{^^e3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{41}{42}{ 58}{##1}}
+ \CJK@namegdef{^^e4}##1{\CJK@disableMakeUppercase
+ \CJK@char {42}{-41}{##1}}
+ \CJK@namegdef{^^e5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{42}{43}{116}{##1}}
+ \CJK@namegdef{^^e6}##1{\CJK@disableMakeUppercase
+ \CJK@char {43}{ 17}{##1}}
+ \CJK@namegdef{^^e7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{43}{44}{174}{##1}}
+ \CJK@namegdef{^^e8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{44}{45}{ 75}{##1}}
+ \CJK@namegdef{^^e9}##1{\CJK@disableMakeUppercase
+ \CJK@char {45}{-24}{##1}}
+ \CJK@namegdef{^^ea}##1{\CJK@disableMakeUppercase
+ \CJK@charx{45}{46}{133}{##1}}
+ \CJK@namegdef{^^eb}##1{\CJK@disableMakeUppercase
+ \CJK@char {46}{ 34}{##1}}
+ \CJK@namegdef{^^ec}##1{\CJK@disableMakeUppercase
+ \CJK@charx{46}{47}{191}{##1}}
+ \CJK@namegdef{^^ed}##1{\CJK@disableMakeUppercase
+ \CJK@charx{47}{48}{ 92}{##1}}
+ \CJK@namegdef{^^ee}##1{\CJK@disableMakeUppercase
+ \CJK@char {48}{ -7}{##1}}
+ \CJK@namegdef{^^ef}##1{\CJK@disableMakeUppercase
+ \CJK@charx{48}{49}{150}{##1}}
+ \CJK@namegdef{^^f0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{49}{50}{ 51}{##1}}
+ \CJK@namegdef{^^f1}##1{\CJK@disableMakeUppercase
+ \CJK@char {50}{-48}{##1}}
+ \CJK@namegdef{^^f2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{50}{51}{109}{##1}}
+ \CJK@namegdef{^^f3}##1{\CJK@disableMakeUppercase
+ \CJK@char {51}{ 10}{##1}}
+ \CJK@namegdef{^^f4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{51}{52}{167}{##1}}
+ \CJK@namegdef{^^f5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{52}{53}{ 68}{##1}}
+ \CJK@namegdef{^^f6}##1{\CJK@disableMakeUppercase
+ \CJK@char {53}{-31}{##1}}
+ \CJK@namegdef{^^f7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{53}{54}{126}{##1}}
+ \CJK@namegdef{^^f8}##1{\CJK@disableMakeUppercase
+ \CJK@char {54}{ 27}{##1}}
+ \CJK@namegdef{^^f9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{54}{55}{184}{##1}}
+ \CJK@namegdef{^^fa}##1{\CJK@disableMakeUppercase
+ \CJK@charx{55}{56}{ 85}{##1}}
+ \CJK@namegdef{^^fb}##1{\CJK@disableMakeUppercase
+ \CJK@char {56}{-14}{##1}}
+ \CJK@namegdef{^^fc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{56}{57}{143}{##1}}
+ \CJK@namegdef{^^fd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{57}{58}{ 44}{##1}}
+ \CJK@namegdef{^^fe}##1{\CJK@disableMakeUppercase
+ \CJK@char {58}{-55}{##1}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/HK.enc b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/HK.enc
new file mode 100644
index 0000000000..aa70372a2f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/HK.enc
@@ -0,0 +1,276 @@
+% This is the file HK.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{HK.enc}[\filedate\space\fileversion]
+
+
+% HK encoding:
+% this is Big with all user-defined areas
+%
+% the second byte is in the range 0x40 - 0xFE with a gap from 0x7F to
+% 0xA0.
+
+\global\@namedef{CJK@HKEncoding}{
+ \CJK@loadChr{Bg5}
+
+ \CJK@namegdef{^^81}##1{\CJK@disableMakeUppercase
+ \CJK@punctchar {A1}{01}{-64}{##1}}
+ \CJK@namegdef{^^82}##1{\CJK@disableMakeUppercase
+ \CJK@punctcharx{A2}{01}{02}{93}{##1}}
+ \CJK@namegdef{^^83}##1{\CJK@disableMakeUppercase
+ \CJK@char {02}{ -6}{##1}}
+ \CJK@namegdef{^^84}##1{\CJK@disableMakeUppercase
+ \CJK@charx{02}{03}{151}{##1}}
+ \CJK@namegdef{^^85}##1{\CJK@disableMakeUppercase
+ \CJK@charx{03}{04}{ 52}{##1}}
+ \CJK@namegdef{^^86}##1{\CJK@disableMakeUppercase
+ \CJK@char {04}{-47}{##1}}
+ \CJK@namegdef{^^87}##1{\CJK@disableMakeUppercase
+ \CJK@charx{04}{05}{110}{##1}}
+ \CJK@namegdef{^^88}##1{\CJK@disableMakeUppercase
+ \CJK@char {05}{ 11}{##1}}
+ \CJK@namegdef{^^89}##1{\CJK@disableMakeUppercase
+ \CJK@charx{05}{06}{168}{##1}}
+ \CJK@namegdef{^^8a}##1{\CJK@disableMakeUppercase
+ \CJK@charx{06}{07}{ 69}{##1}}
+ \CJK@namegdef{^^8b}##1{\CJK@disableMakeUppercase
+ \CJK@char {07}{-30}{##1}}
+ \CJK@namegdef{^^8c}##1{\CJK@disableMakeUppercase
+ \CJK@charx{07}{08}{127}{##1}}
+ \CJK@namegdef{^^8d}##1{\CJK@disableMakeUppercase
+ \CJK@char {08}{28}{##1}}
+ \CJK@namegdef{^^8e}##1{\CJK@disableMakeUppercase
+ \CJK@charx{08}{09}{185}{##1}}
+ \CJK@namegdef{^^8f}##1{\CJK@disableMakeUppercase
+ \CJK@charx{09}{10}{ 86}{##1}}
+ \CJK@namegdef{^^90}##1{\CJK@disableMakeUppercase
+ \CJK@char {10}{-13}{##1}}
+ \CJK@namegdef{^^91}##1{\CJK@disableMakeUppercase
+ \CJK@charx{10}{11}{144}{##1}}
+ \CJK@namegdef{^^92}##1{\CJK@disableMakeUppercase
+ \CJK@charx{11}{12}{ 45}{##1}}
+ \CJK@namegdef{^^93}##1{\CJK@disableMakeUppercase
+ \CJK@char {12}{-54}{##1}}
+ \CJK@namegdef{^^94}##1{\CJK@disableMakeUppercase
+ \CJK@charx{12}{13}{103}{##1}}
+ \CJK@namegdef{^^95}##1{\CJK@disableMakeUppercase
+ \CJK@char {13}{ 4}{##1}}
+ \CJK@namegdef{^^96}##1{\CJK@disableMakeUppercase
+ \CJK@charx{13}{14}{161}{##1}}
+ \CJK@namegdef{^^97}##1{\CJK@disableMakeUppercase
+ \CJK@charx{14}{15}{ 62}{##1}}
+ \CJK@namegdef{^^98}##1{\CJK@disableMakeUppercase
+ \CJK@char {15}{-37}{##1}}
+ \CJK@namegdef{^^99}##1{\CJK@disableMakeUppercase
+ \CJK@charx{15}{16}{120}{##1}}
+ \CJK@namegdef{^^9a}##1{\CJK@disableMakeUppercase
+ \CJK@char {16}{ 21}{##1}}
+ \CJK@namegdef{^^9b}##1{\CJK@disableMakeUppercase
+ \CJK@charx{16}{17}{178}{##1}}
+ \CJK@namegdef{^^9c}##1{\CJK@disableMakeUppercase
+ \CJK@charx{17}{18}{ 79}{##1}}
+ \CJK@namegdef{^^9d}##1{\CJK@disableMakeUppercase
+ \CJK@char {18}{-20}{##1}}
+ \CJK@namegdef{^^9e}##1{\CJK@disableMakeUppercase
+ \CJK@charx{18}{19}{137}{##1}}
+ \CJK@namegdef{^^9f}##1{\CJK@disableMakeUppercase
+ \CJK@charx{19}{20}{ 38}{##1}}
+ \CJK@namegdef{^^a0}##1{\CJK@disableMakeUppercase
+ \CJK@char {20}{-61}{##1}}
+ \CJK@namegdef{^^a1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{20}{21}{ 96}{##1}}
+ \CJK@namegdef{^^a2}##1{\CJK@disableMakeUppercase
+ \CJK@char {21}{ -3}{##1}}
+ \CJK@namegdef{^^a3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{21}{22}{154}{##1}}
+ \CJK@namegdef{^^a4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{22}{23}{ 55}{##1}}
+ \CJK@namegdef{^^a5}##1{\CJK@disableMakeUppercase
+ \CJK@char {23}{-44}{##1}}
+ \CJK@namegdef{^^a6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{23}{24}{113}{##1}}
+ \CJK@namegdef{^^a7}##1{\CJK@disableMakeUppercase
+ \CJK@char {24}{ 14}{##1}}
+ \CJK@namegdef{^^a8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{24}{25}{171}{##1}}
+ \CJK@namegdef{^^a9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{25}{26}{ 72}{##1}}
+ \CJK@namegdef{^^aa}##1{\CJK@disableMakeUppercase
+ \CJK@char {26}{-27}{##1}}
+ \CJK@namegdef{^^ab}##1{\CJK@disableMakeUppercase
+ \CJK@charx{26}{27}{130}{##1}}
+ \CJK@namegdef{^^ac}##1{\CJK@disableMakeUppercase
+ \CJK@char {27}{ 31}{##1}}
+ \CJK@namegdef{^^ad}##1{\CJK@disableMakeUppercase
+ \CJK@charx{27}{28}{188}{##1}}
+ \CJK@namegdef{^^ae}##1{\CJK@disableMakeUppercase
+ \CJK@charx{28}{29}{ 89}{##1}}
+ \CJK@namegdef{^^af}##1{\CJK@disableMakeUppercase
+ \CJK@char {29}{-10}{##1}}
+ \CJK@namegdef{^^b0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{29}{30}{147}{##1}}
+ \CJK@namegdef{^^b1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{30}{31}{ 48}{##1}}
+ \CJK@namegdef{^^b2}##1{\CJK@disableMakeUppercase
+ \CJK@char {31}{-51}{##1}}
+ \CJK@namegdef{^^b3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{31}{32}{106}{##1}}
+ \CJK@namegdef{^^b4}##1{\CJK@disableMakeUppercase
+ \CJK@char {32}{ 7}{##1}}
+ \CJK@namegdef{^^b5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{32}{33}{164}{##1}}
+ \CJK@namegdef{^^b6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{33}{34}{ 65}{##1}}
+ \CJK@namegdef{^^b7}##1{\CJK@disableMakeUppercase
+ \CJK@char {34}{-34}{##1}}
+ \CJK@namegdef{^^b8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{34}{35}{123}{##1}}
+ \CJK@namegdef{^^b9}##1{\CJK@disableMakeUppercase
+ \CJK@char {35}{ 24}{##1}}
+ \CJK@namegdef{^^ba}##1{\CJK@disableMakeUppercase
+ \CJK@charx{35}{36}{181}{##1}}
+ \CJK@namegdef{^^bb}##1{\CJK@disableMakeUppercase
+ \CJK@charx{36}{37}{ 82}{##1}}
+ \CJK@namegdef{^^bc}##1{\CJK@disableMakeUppercase
+ \CJK@char {37}{-17}{##1}}
+ \CJK@namegdef{^^bd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{37}{38}{140}{##1}}
+ \CJK@namegdef{^^be}##1{\CJK@disableMakeUppercase
+ \CJK@charx{38}{39}{ 41}{##1}}
+ \CJK@namegdef{^^bf}##1{\CJK@disableMakeUppercase
+ \CJK@char {39}{-58}{##1}}
+ \CJK@namegdef{^^c0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{39}{40}{ 99}{##1}}
+ \CJK@namegdef{^^c1}##1{\CJK@disableMakeUppercase
+ \CJK@char {40}{ 0}{##1}}
+ \CJK@namegdef{^^c2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{40}{41}{157}{##1}}
+ \CJK@namegdef{^^c3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{41}{42}{ 58}{##1}}
+ \CJK@namegdef{^^c4}##1{\CJK@disableMakeUppercase
+ \CJK@char {42}{-41}{##1}}
+ \CJK@namegdef{^^c5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{42}{43}{116}{##1}}
+ \CJK@namegdef{^^c6}##1{\CJK@disableMakeUppercase
+ \CJK@char {43}{ 17}{##1}}
+ \CJK@namegdef{^^c7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{43}{44}{174}{##1}}
+ \CJK@namegdef{^^c8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{44}{45}{ 75}{##1}}
+ \CJK@namegdef{^^c9}##1{\CJK@disableMakeUppercase
+ \CJK@char {45}{-24}{##1}}
+ \CJK@namegdef{^^ca}##1{\CJK@disableMakeUppercase
+ \CJK@charx{45}{46}{133}{##1}}
+ \CJK@namegdef{^^cb}##1{\CJK@disableMakeUppercase
+ \CJK@char {46}{ 34}{##1}}
+ \CJK@namegdef{^^cc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{46}{47}{191}{##1}}
+ \CJK@namegdef{^^cd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{47}{48}{ 92}{##1}}
+ \CJK@namegdef{^^ce}##1{\CJK@disableMakeUppercase
+ \CJK@char {48}{ -7}{##1}}
+ \CJK@namegdef{^^cf}##1{\CJK@disableMakeUppercase
+ \CJK@charx{48}{49}{150}{##1}}
+ \CJK@namegdef{^^d0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{49}{50}{ 51}{##1}}
+ \CJK@namegdef{^^d1}##1{\CJK@disableMakeUppercase
+ \CJK@char {50}{-48}{##1}}
+ \CJK@namegdef{^^d2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{50}{51}{109}{##1}}
+ \CJK@namegdef{^^d3}##1{\CJK@disableMakeUppercase
+ \CJK@char {51}{ 10}{##1}}
+ \CJK@namegdef{^^d4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{51}{52}{167}{##1}}
+ \CJK@namegdef{^^d5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{52}{53}{ 68}{##1}}
+ \CJK@namegdef{^^d6}##1{\CJK@disableMakeUppercase
+ \CJK@char {53}{-31}{##1}}
+ \CJK@namegdef{^^d7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{53}{54}{126}{##1}}
+ \CJK@namegdef{^^d8}##1{\CJK@disableMakeUppercase
+ \CJK@char {54}{ 27}{##1}}
+ \CJK@namegdef{^^d9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{54}{55}{184}{##1}}
+ \CJK@namegdef{^^da}##1{\CJK@disableMakeUppercase
+ \CJK@charx{55}{56}{ 85}{##1}}
+ \CJK@namegdef{^^db}##1{\CJK@disableMakeUppercase
+ \CJK@char {56}{-14}{##1}}
+ \CJK@namegdef{^^dc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{56}{57}{143}{##1}}
+ \CJK@namegdef{^^dd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{57}{58}{ 44}{##1}}
+ \CJK@namegdef{^^de}##1{\CJK@disableMakeUppercase
+ \CJK@char {58}{-55}{##1}}}
+ \CJK@namegdef{^^df}##1{\CJK@disableMakeUppercase
+ \CJK@charx{58}{59}{102}{##1}}
+ \CJK@namegdef{^^e0}##1{\CJK@disableMakeUppercase
+ \CJK@char {59}{ 3}{##1}}
+ \CJK@namegdef{^^e1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{59}{60}{160}{##1}}
+ \CJK@namegdef{^^e2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{60}{61}{ 61}{##1}}
+ \CJK@namegdef{^^e3}##1{\CJK@disableMakeUppercase
+ \CJK@char {61}{-38}{##1}}
+ \CJK@namegdef{^^e4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{61}{62}{119}{##1}}
+ \CJK@namegdef{^^e5}##1{\CJK@disableMakeUppercase
+ \CJK@char {62}{ 20}{##1}}
+ \CJK@namegdef{^^e6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{62}{63}{177}{##1}}
+ \CJK@namegdef{^^e7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{63}{64}{ 78}{##1}}
+ \CJK@namegdef{^^e8}##1{\CJK@disableMakeUppercase
+ \CJK@char {64}{-21}{##1}}
+ \CJK@namegdef{^^e9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{64}{65}{136}{##1}}
+ \CJK@namegdef{^^ea}##1{\CJK@disableMakeUppercase
+ \CJK@charx{65}{66}{ 37}{##1}}
+ \CJK@namegdef{^^eb}##1{\CJK@disableMakeUppercase
+ \CJK@char {66}{-62}{##1}}
+ \CJK@namegdef{^^ec}##1{\CJK@disableMakeUppercase
+ \CJK@charx{66}{67}{ 95}{##1}}
+ \CJK@namegdef{^^ed}##1{\CJK@disableMakeUppercase
+ \CJK@char {67}{ -4}{##1}}
+ \CJK@namegdef{^^ee}##1{\CJK@disableMakeUppercase
+ \CJK@charx{67}{68}{153}{##1}}
+ \CJK@namegdef{^^ef}##1{\CJK@disableMakeUppercase
+ \CJK@charx{68}{69}{ 54}{##1}}
+ \CJK@namegdef{^^f0}##1{\CJK@disableMakeUppercase
+ \CJK@char {69}{-45}{##1}}
+ \CJK@namegdef{^^f1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{69}{70}{112}{##1}}
+ \CJK@namegdef{^^f2}##1{\CJK@disableMakeUppercase
+ \CJK@char {70}{ 13}{##1}}
+ \CJK@namegdef{^^f3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{70}{71}{170}{##1}}
+ \CJK@namegdef{^^f4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{71}{72}{ 71}{##1}}
+ \CJK@namegdef{^^f5}##1{\CJK@disableMakeUppercase
+ \CJK@char {72}{-28}{##1}}
+ \CJK@namegdef{^^f6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{72}{73}{129}{##1}}
+ \CJK@namegdef{^^f7}##1{\CJK@disableMakeUppercase
+ \CJK@char {73}{ 30}{##1}}
+ \CJK@namegdef{^^f8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{73}{74}{187}{##1}}
+ \CJK@namegdef{^^f9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{74}{75}{ 88}{##1}}
+ \CJK@namegdef{^^fa}##1{\CJK@disableMakeUppercase
+ \CJK@char {75}{-11}{##1}}
+ \CJK@namegdef{^^fb}##1{\CJK@disableMakeUppercase
+ \CJK@charx{75}{76}{146}{##1}}
+ \CJK@namegdef{^^fc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{76}{77}{ 47}{##1}}
+ \CJK@namegdef{^^fd}##1{\CJK@disableMakeUppercase
+ \CJK@char {77}{-52}{##1}}
+ \CJK@namegdef{^^fe}##1{\CJK@disableMakeUppercase
+ \CJK@charx{77}{78}{105}{##1}}
+
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00bkai.fd b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00bkai.fd
new file mode 100644
index 0000000000..a775ab8a10
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00bkai.fd
@@ -0,0 +1,25 @@
+% This is the file c00bkai.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c00bkai.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: Big 5
+% font encoding: CJK (Bg5)
+
+% Arphic PL TrueType font AR PL KaitiM Big5 / ZenKai-Medium
+
+\DeclareFontFamily{C00}{bkai}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{bkai}{m}{n}{<-> CJK * bkaimp}{\CJKnormal}
+\DeclareFontShape{C00}{bkai}{bx}{n}{<-> CJKb * bkaimp}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00bkai.fdx b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00bkai.fdx
new file mode 100644
index 0000000000..ac5c870304
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00bkai.fdx
@@ -0,0 +1,147 @@
+% This is the file c00bkai.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c00bkai.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{fullheight}{1em}
+\CJKvdef{height}{.88em}
+\CJKvdef{offset}{.6em}
+
+\CJKvdef{m/n/01/96}{\def\CJK@plane{v}\selectfont\CJKsymbol{0}}
+\CJKvdef{m/n/01/16}{\def\CJK@plane{v}\selectfont\CJKsymbol{1}}
+\CJKvdef{m/n/01/99}{\def\CJK@plane{v}\selectfont\CJKsymbol{2}}
+\CJKvdef{m/n/01/29}{\def\CJK@plane{v}\selectfont\CJKsymbol{3}}
+\CJKvdef{m/n/01/30}{\def\CJK@plane{v}\selectfont\CJKsymbol{4}}
+\CJKvdef{m/n/01/1}{\def\CJK@plane{v}\selectfont\CJKsymbol{5}}
+\CJKvdef{m/n/01/4}{\def\CJK@plane{v}\selectfont\CJKsymbol{6}}
+\CJKvdef{m/n/01/98}{\def\CJK@plane{v}\selectfont\CJKsymbol{9}}
+\CJKvdef{m/n/01/33}{\def\CJK@plane{v}\selectfont\CJKsymbol{10}}
+\CJKvdef{m/n/01/34}{\def\CJK@plane{v}\selectfont\CJKsymbol{11}}
+\CJKvdef{m/n/01/129}{\def\CJK@plane{v}\selectfont\CJKsymbol{12}}
+\CJKvdef{m/n/01/22}{\def\CJK@plane{v}\selectfont\CJKsymbol{13}}
+\CJKvdef{m/n/01/24}{\def\CJK@plane{v}\selectfont\CJKsymbol{14}}
+\CJKvdef{m/n/01/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{15}}
+\CJKvdef{m/n/01/11}{\def\CJK@plane{v}\selectfont\CJKsymbol{16}}
+\CJKvdef{m/n/01/148}{\def\CJK@plane{v}\selectfont\CJKsymbol{17}}
+\CJKvdef{m/n/01/146}{\def\CJK@plane{v}\selectfont\CJKsymbol{18}}
+\CJKvdef{m/n/01/149}{\def\CJK@plane{v}\selectfont\CJKsymbol{19}}
+\CJKvdef{m/n/01/147}{\def\CJK@plane{v}\selectfont\CJKsymbol{20}}
+\CJKvdef{m/n/01/155}{\def\CJK@plane{v}\selectfont\CJKsymbol{21}}
+\CJKvdef{m/n/01/154}{\def\CJK@plane{v}\selectfont\CJKsymbol{22}}
+\CJKvdef{m/n/01/212}{\def\CJK@plane{v}\selectfont\CJKsymbol{23}}
+\CJKvdef{m/n/01/213}{\def\CJK@plane{v}\selectfont\CJKsymbol{24}}
+\CJKvdef{m/n/01/215}{\def\CJK@plane{v}\selectfont\CJKsymbol{25}}
+\CJKvdef{m/n/01/216}{\def\CJK@plane{v}\selectfont\CJKsymbol{26}}
+\CJKvdef{m/n/01/217}{\def\CJK@plane{v}\selectfont\CJKsymbol{27}}
+\CJKvdef{m/n/01/218}{\def\CJK@plane{v}\selectfont\CJKsymbol{28}}
+\CJKvdef{m/n/01/210}{\def\CJK@plane{v}\selectfont\CJKsymbol{29}}
+\CJKvdef{m/n/01/209}{\def\CJK@plane{v}\selectfont\CJKsymbol{30}}
+\CJKvdef{m/n/01/208}{\def\CJK@plane{v}\selectfont\CJKsymbol{31}}
+\CJKvdef{m/n/01/207}{\def\CJK@plane{v}\selectfont\CJKsymbol{32}}
+\CJKvdef{m/n/01/223}{\def\CJK@plane{v}\selectfont\CJKsymbol{33}}
+\CJKvdef{m/n/01/224}{\def\CJK@plane{v}\selectfont\CJKsymbol{47}}
+\CJKvdef{m/n/01/226}{\def\CJK@plane{v}\selectfont\CJKsymbol{50}}
+\CJKvdef{m/n/01/225}{\def\CJK@plane{v}\selectfont\CJKsymbol{59}}
+\CJKvdef{m/n/01/219}{\def\CJK@plane{v}\selectfont\CJKsymbol{61}}
+\CJKvdef{m/n/01/220}{\def\CJK@plane{v}\selectfont\CJKsymbol{62}}
+\CJKvdef{m/n/01/222}{\def\CJK@plane{v}\selectfont\CJKsymbol{63}}
+\CJKvdef{m/n/01/221}{\def\CJK@plane{v}\selectfont\CJKsymbol{64}}
+\CJKvdef{m/n/01/26}{\def\CJK@plane{v}\selectfont\CJKsymbol{65}}
+\CJKvdef{m/n/01/2}{\def\CJK@plane{v}\selectfont\CJKsymbol{66}}
+\CJKvdef{m/n/01/3}{\def\CJK@plane{v}\selectfont\CJKsymbol{67}}
+\CJKvdef{m/n/01/49}{\def\CJK@plane{v}\selectfont\CJKsymbol{68}}
+\CJKvdef{m/n/01/50}{\def\CJK@plane{v}\selectfont\CJKsymbol{69}}
+\CJKvdef{m/n/01/45}{\def\CJK@plane{v}\selectfont\CJKsymbol{70}}
+\CJKvdef{m/n/01/46}{\def\CJK@plane{v}\selectfont\CJKsymbol{71}}
+\CJKvdef{m/n/01/53}{\def\CJK@plane{v}\selectfont\CJKsymbol{72}}
+\CJKvdef{m/n/01/54}{\def\CJK@plane{v}\selectfont\CJKsymbol{73}}
+\CJKvdef{m/n/01/57}{\def\CJK@plane{v}\selectfont\CJKsymbol{74}}
+\CJKvdef{m/n/01/58}{\def\CJK@plane{v}\selectfont\CJKsymbol{75}}
+\CJKvdef{m/n/01/41}{\def\CJK@plane{v}\selectfont\CJKsymbol{76}}
+\CJKvdef{m/n/01/42}{\def\CJK@plane{v}\selectfont\CJKsymbol{77}}
+\CJKvdef{m/n/01/37}{\def\CJK@plane{v}\selectfont\CJKsymbol{78}}
+\CJKvdef{m/n/01/38}{\def\CJK@plane{v}\selectfont\CJKsymbol{79}}
+\CJKvdef{m/n/01/28}{\def\CJK@plane{v}\selectfont\CJKsymbol{80}}
+\CJKvdef{m/n/01/13}{\def\CJK@plane{v}\selectfont\CJKsymbol{81}}
+\CJKvdef{m/n/01/14}{\def\CJK@plane{v}\selectfont\CJKsymbol{82}}
+\CJKvdef{m/n/01/15}{\def\CJK@plane{v}\selectfont\CJKsymbol{83}}
+\CJKvdef{m/n/01/61}{\def\CJK@plane{v}\selectfont\CJKsymbol{84}}
+\CJKvdef{m/n/01/62}{\def\CJK@plane{v}\selectfont\CJKsymbol{85}}
+\CJKvdef{m/n/01/63}{\def\CJK@plane{v}\selectfont\CJKsymbol{86}}
+\CJKvdef{m/n/01/64}{\def\CJK@plane{v}\selectfont\CJKsymbol{87}}
+\CJKvdef{m/n/01/65}{\def\CJK@plane{v}\selectfont\CJKsymbol{88}}
+\CJKvdef{m/n/01/66}{\def\CJK@plane{v}\selectfont\CJKsymbol{89}}
+
+\CJKvlet{bx/n/01/96}{m/n/01/96}
+\CJKvlet{bx/n/01/16}{m/n/01/16}
+\CJKvlet{bx/n/01/99}{m/n/01/99}
+\CJKvlet{bx/n/01/29}{m/n/01/29}
+\CJKvlet{bx/n/01/30}{m/n/01/30}
+\CJKvlet{bx/n/01/1}{m/n/01/1}
+\CJKvlet{bx/n/01/4}{m/n/01/4}
+\CJKvlet{bx/n/01/98}{m/n/01/98}
+\CJKvlet{bx/n/01/33}{m/n/01/33}
+\CJKvlet{bx/n/01/34}{m/n/01/34}
+\CJKvlet{bx/n/01/129}{m/n/01/129}
+\CJKvlet{bx/n/01/22}{m/n/01/22}
+\CJKvlet{bx/n/01/24}{m/n/01/24}
+\CJKvlet{bx/n/01/12}{m/n/01/12}
+\CJKvlet{bx/n/01/11}{m/n/01/11}
+\CJKvlet{bx/n/01/148}{m/n/01/148}
+\CJKvlet{bx/n/01/146}{m/n/01/146}
+\CJKvlet{bx/n/01/149}{m/n/01/149}
+\CJKvlet{bx/n/01/147}{m/n/01/147}
+\CJKvlet{bx/n/01/155}{m/n/01/155}
+\CJKvlet{bx/n/01/154}{m/n/01/154}
+\CJKvlet{bx/n/01/212}{m/n/01/212}
+\CJKvlet{bx/n/01/213}{m/n/01/213}
+\CJKvlet{bx/n/01/215}{m/n/01/215}
+\CJKvlet{bx/n/01/216}{m/n/01/216}
+\CJKvlet{bx/n/01/217}{m/n/01/217}
+\CJKvlet{bx/n/01/218}{m/n/01/218}
+\CJKvlet{bx/n/01/210}{m/n/01/210}
+\CJKvlet{bx/n/01/209}{m/n/01/209}
+\CJKvlet{bx/n/01/208}{m/n/01/208}
+\CJKvlet{bx/n/01/207}{m/n/01/207}
+\CJKvlet{bx/n/01/223}{m/n/01/223}
+\CJKvlet{bx/n/01/224}{m/n/01/224}
+\CJKvlet{bx/n/01/226}{m/n/01/226}
+\CJKvlet{bx/n/01/225}{m/n/01/225}
+\CJKvlet{bx/n/01/219}{m/n/01/219}
+\CJKvlet{bx/n/01/220}{m/n/01/220}
+\CJKvlet{bx/n/01/222}{m/n/01/222}
+\CJKvlet{bx/n/01/221}{m/n/01/221}
+\CJKvlet{bx/n/01/26}{m/n/01/26}
+\CJKvlet{bx/n/01/2}{m/n/01/2}
+\CJKvlet{bx/n/01/3}{m/n/01/3}
+\CJKvlet{bx/n/01/49}{m/n/01/49}
+\CJKvlet{bx/n/01/50}{m/n/01/50}
+\CJKvlet{bx/n/01/45}{m/n/01/45}
+\CJKvlet{bx/n/01/46}{m/n/01/46}
+\CJKvlet{bx/n/01/53}{m/n/01/53}
+\CJKvlet{bx/n/01/54}{m/n/01/54}
+\CJKvlet{bx/n/01/57}{m/n/01/57}
+\CJKvlet{bx/n/01/58}{m/n/01/58}
+\CJKvlet{bx/n/01/41}{m/n/01/41}
+\CJKvlet{bx/n/01/42}{m/n/01/42}
+\CJKvlet{bx/n/01/37}{m/n/01/37}
+\CJKvlet{bx/n/01/38}{m/n/01/38}
+\CJKvlet{bx/n/01/28}{m/n/01/28}
+\CJKvlet{bx/n/01/13}{m/n/01/13}
+\CJKvlet{bx/n/01/14}{m/n/01/14}
+\CJKvlet{bx/n/01/15}{m/n/01/15}
+\CJKvlet{bx/n/01/61}{m/n/01/61}
+\CJKvlet{bx/n/01/62}{m/n/01/62}
+\CJKvlet{bx/n/01/63}{m/n/01/63}
+\CJKvlet{bx/n/01/64}{m/n/01/64}
+\CJKvlet{bx/n/01/65}{m/n/01/65}
+\CJKvlet{bx/n/01/66}{m/n/01/66}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00bsmi.fd b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00bsmi.fd
new file mode 100644
index 0000000000..2d7c66ae3a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00bsmi.fd
@@ -0,0 +1,25 @@
+% This is the file c00bsmi.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c00bsmi.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: Big 5
+% font encoding: CJK (Bg5)
+
+% Arphic PL TrueType font AR PL Mingti2L Big5 / ShanHeiSun-Light
+
+\DeclareFontFamily{C00}{bsmi}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{bsmi}{m}{n}{<-> CJK * bsmilp}{\CJKnormal}
+\DeclareFontShape{C00}{bsmi}{bx}{n}{<-> CJKb * bsmilp}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00bsmi.fdx b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00bsmi.fdx
new file mode 100644
index 0000000000..15275d558b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00bsmi.fdx
@@ -0,0 +1,147 @@
+% This is the file c00bsmi.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c00bsmi.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{fullheight}{1em}
+\CJKvdef{height}{.88em}
+\CJKvdef{offset}{.6em}
+
+\CJKvdef{m/n/01/96}{\def\CJK@plane{v}\selectfont\CJKsymbol{0}}
+\CJKvdef{m/n/01/16}{\def\CJK@plane{v}\selectfont\CJKsymbol{1}}
+\CJKvdef{m/n/01/99}{\def\CJK@plane{v}\selectfont\CJKsymbol{2}}
+\CJKvdef{m/n/01/29}{\def\CJK@plane{v}\selectfont\CJKsymbol{3}}
+\CJKvdef{m/n/01/30}{\def\CJK@plane{v}\selectfont\CJKsymbol{4}}
+\CJKvdef{m/n/01/1}{\def\CJK@plane{v}\selectfont\CJKsymbol{5}}
+\CJKvdef{m/n/01/4}{\def\CJK@plane{v}\selectfont\CJKsymbol{6}}
+\CJKvdef{m/n/01/98}{\def\CJK@plane{v}\selectfont\CJKsymbol{9}}
+\CJKvdef{m/n/01/33}{\def\CJK@plane{v}\selectfont\CJKsymbol{10}}
+\CJKvdef{m/n/01/34}{\def\CJK@plane{v}\selectfont\CJKsymbol{11}}
+\CJKvdef{m/n/01/129}{\def\CJK@plane{v}\selectfont\CJKsymbol{12}}
+\CJKvdef{m/n/01/22}{\def\CJK@plane{v}\selectfont\CJKsymbol{13}}
+\CJKvdef{m/n/01/24}{\def\CJK@plane{v}\selectfont\CJKsymbol{14}}
+\CJKvdef{m/n/01/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{15}}
+\CJKvdef{m/n/01/11}{\def\CJK@plane{v}\selectfont\CJKsymbol{16}}
+\CJKvdef{m/n/01/148}{\def\CJK@plane{v}\selectfont\CJKsymbol{17}}
+\CJKvdef{m/n/01/146}{\def\CJK@plane{v}\selectfont\CJKsymbol{18}}
+\CJKvdef{m/n/01/149}{\def\CJK@plane{v}\selectfont\CJKsymbol{19}}
+\CJKvdef{m/n/01/147}{\def\CJK@plane{v}\selectfont\CJKsymbol{20}}
+\CJKvdef{m/n/01/155}{\def\CJK@plane{v}\selectfont\CJKsymbol{21}}
+\CJKvdef{m/n/01/154}{\def\CJK@plane{v}\selectfont\CJKsymbol{22}}
+\CJKvdef{m/n/01/212}{\def\CJK@plane{v}\selectfont\CJKsymbol{23}}
+\CJKvdef{m/n/01/213}{\def\CJK@plane{v}\selectfont\CJKsymbol{24}}
+\CJKvdef{m/n/01/215}{\def\CJK@plane{v}\selectfont\CJKsymbol{25}}
+\CJKvdef{m/n/01/216}{\def\CJK@plane{v}\selectfont\CJKsymbol{26}}
+\CJKvdef{m/n/01/217}{\def\CJK@plane{v}\selectfont\CJKsymbol{27}}
+\CJKvdef{m/n/01/218}{\def\CJK@plane{v}\selectfont\CJKsymbol{28}}
+\CJKvdef{m/n/01/210}{\def\CJK@plane{v}\selectfont\CJKsymbol{29}}
+\CJKvdef{m/n/01/209}{\def\CJK@plane{v}\selectfont\CJKsymbol{30}}
+\CJKvdef{m/n/01/208}{\def\CJK@plane{v}\selectfont\CJKsymbol{31}}
+\CJKvdef{m/n/01/207}{\def\CJK@plane{v}\selectfont\CJKsymbol{32}}
+\CJKvdef{m/n/01/223}{\def\CJK@plane{v}\selectfont\CJKsymbol{33}}
+\CJKvdef{m/n/01/224}{\def\CJK@plane{v}\selectfont\CJKsymbol{47}}
+\CJKvdef{m/n/01/226}{\def\CJK@plane{v}\selectfont\CJKsymbol{50}}
+\CJKvdef{m/n/01/225}{\def\CJK@plane{v}\selectfont\CJKsymbol{59}}
+\CJKvdef{m/n/01/219}{\def\CJK@plane{v}\selectfont\CJKsymbol{61}}
+\CJKvdef{m/n/01/220}{\def\CJK@plane{v}\selectfont\CJKsymbol{62}}
+\CJKvdef{m/n/01/222}{\def\CJK@plane{v}\selectfont\CJKsymbol{63}}
+\CJKvdef{m/n/01/221}{\def\CJK@plane{v}\selectfont\CJKsymbol{64}}
+\CJKvdef{m/n/01/26}{\def\CJK@plane{v}\selectfont\CJKsymbol{65}}
+\CJKvdef{m/n/01/2}{\def\CJK@plane{v}\selectfont\CJKsymbol{66}}
+\CJKvdef{m/n/01/3}{\def\CJK@plane{v}\selectfont\CJKsymbol{67}}
+\CJKvdef{m/n/01/49}{\def\CJK@plane{v}\selectfont\CJKsymbol{68}}
+\CJKvdef{m/n/01/50}{\def\CJK@plane{v}\selectfont\CJKsymbol{69}}
+\CJKvdef{m/n/01/45}{\def\CJK@plane{v}\selectfont\CJKsymbol{70}}
+\CJKvdef{m/n/01/46}{\def\CJK@plane{v}\selectfont\CJKsymbol{71}}
+\CJKvdef{m/n/01/53}{\def\CJK@plane{v}\selectfont\CJKsymbol{72}}
+\CJKvdef{m/n/01/54}{\def\CJK@plane{v}\selectfont\CJKsymbol{73}}
+\CJKvdef{m/n/01/57}{\def\CJK@plane{v}\selectfont\CJKsymbol{74}}
+\CJKvdef{m/n/01/58}{\def\CJK@plane{v}\selectfont\CJKsymbol{75}}
+\CJKvdef{m/n/01/41}{\def\CJK@plane{v}\selectfont\CJKsymbol{76}}
+\CJKvdef{m/n/01/42}{\def\CJK@plane{v}\selectfont\CJKsymbol{77}}
+\CJKvdef{m/n/01/37}{\def\CJK@plane{v}\selectfont\CJKsymbol{78}}
+\CJKvdef{m/n/01/38}{\def\CJK@plane{v}\selectfont\CJKsymbol{79}}
+\CJKvdef{m/n/01/28}{\def\CJK@plane{v}\selectfont\CJKsymbol{80}}
+\CJKvdef{m/n/01/13}{\def\CJK@plane{v}\selectfont\CJKsymbol{81}}
+\CJKvdef{m/n/01/14}{\def\CJK@plane{v}\selectfont\CJKsymbol{82}}
+\CJKvdef{m/n/01/15}{\def\CJK@plane{v}\selectfont\CJKsymbol{83}}
+\CJKvdef{m/n/01/61}{\def\CJK@plane{v}\selectfont\CJKsymbol{84}}
+\CJKvdef{m/n/01/62}{\def\CJK@plane{v}\selectfont\CJKsymbol{85}}
+\CJKvdef{m/n/01/63}{\def\CJK@plane{v}\selectfont\CJKsymbol{86}}
+\CJKvdef{m/n/01/64}{\def\CJK@plane{v}\selectfont\CJKsymbol{87}}
+\CJKvdef{m/n/01/65}{\def\CJK@plane{v}\selectfont\CJKsymbol{88}}
+\CJKvdef{m/n/01/66}{\def\CJK@plane{v}\selectfont\CJKsymbol{89}}
+
+\CJKvlet{bx/n/01/96}{m/n/01/96}
+\CJKvlet{bx/n/01/16}{m/n/01/16}
+\CJKvlet{bx/n/01/99}{m/n/01/99}
+\CJKvlet{bx/n/01/29}{m/n/01/29}
+\CJKvlet{bx/n/01/30}{m/n/01/30}
+\CJKvlet{bx/n/01/1}{m/n/01/1}
+\CJKvlet{bx/n/01/4}{m/n/01/4}
+\CJKvlet{bx/n/01/98}{m/n/01/98}
+\CJKvlet{bx/n/01/33}{m/n/01/33}
+\CJKvlet{bx/n/01/34}{m/n/01/34}
+\CJKvlet{bx/n/01/129}{m/n/01/129}
+\CJKvlet{bx/n/01/22}{m/n/01/22}
+\CJKvlet{bx/n/01/24}{m/n/01/24}
+\CJKvlet{bx/n/01/12}{m/n/01/12}
+\CJKvlet{bx/n/01/11}{m/n/01/11}
+\CJKvlet{bx/n/01/148}{m/n/01/148}
+\CJKvlet{bx/n/01/146}{m/n/01/146}
+\CJKvlet{bx/n/01/149}{m/n/01/149}
+\CJKvlet{bx/n/01/147}{m/n/01/147}
+\CJKvlet{bx/n/01/155}{m/n/01/155}
+\CJKvlet{bx/n/01/154}{m/n/01/154}
+\CJKvlet{bx/n/01/212}{m/n/01/212}
+\CJKvlet{bx/n/01/213}{m/n/01/213}
+\CJKvlet{bx/n/01/215}{m/n/01/215}
+\CJKvlet{bx/n/01/216}{m/n/01/216}
+\CJKvlet{bx/n/01/217}{m/n/01/217}
+\CJKvlet{bx/n/01/218}{m/n/01/218}
+\CJKvlet{bx/n/01/210}{m/n/01/210}
+\CJKvlet{bx/n/01/209}{m/n/01/209}
+\CJKvlet{bx/n/01/208}{m/n/01/208}
+\CJKvlet{bx/n/01/207}{m/n/01/207}
+\CJKvlet{bx/n/01/223}{m/n/01/223}
+\CJKvlet{bx/n/01/224}{m/n/01/224}
+\CJKvlet{bx/n/01/226}{m/n/01/226}
+\CJKvlet{bx/n/01/225}{m/n/01/225}
+\CJKvlet{bx/n/01/219}{m/n/01/219}
+\CJKvlet{bx/n/01/220}{m/n/01/220}
+\CJKvlet{bx/n/01/222}{m/n/01/222}
+\CJKvlet{bx/n/01/221}{m/n/01/221}
+\CJKvlet{bx/n/01/26}{m/n/01/26}
+\CJKvlet{bx/n/01/2}{m/n/01/2}
+\CJKvlet{bx/n/01/3}{m/n/01/3}
+\CJKvlet{bx/n/01/49}{m/n/01/49}
+\CJKvlet{bx/n/01/50}{m/n/01/50}
+\CJKvlet{bx/n/01/45}{m/n/01/45}
+\CJKvlet{bx/n/01/46}{m/n/01/46}
+\CJKvlet{bx/n/01/53}{m/n/01/53}
+\CJKvlet{bx/n/01/54}{m/n/01/54}
+\CJKvlet{bx/n/01/57}{m/n/01/57}
+\CJKvlet{bx/n/01/58}{m/n/01/58}
+\CJKvlet{bx/n/01/41}{m/n/01/41}
+\CJKvlet{bx/n/01/42}{m/n/01/42}
+\CJKvlet{bx/n/01/37}{m/n/01/37}
+\CJKvlet{bx/n/01/38}{m/n/01/38}
+\CJKvlet{bx/n/01/28}{m/n/01/28}
+\CJKvlet{bx/n/01/13}{m/n/01/13}
+\CJKvlet{bx/n/01/14}{m/n/01/14}
+\CJKvlet{bx/n/01/15}{m/n/01/15}
+\CJKvlet{bx/n/01/61}{m/n/01/61}
+\CJKvlet{bx/n/01/62}{m/n/01/62}
+\CJKvlet{bx/n/01/63}{m/n/01/63}
+\CJKvlet{bx/n/01/64}{m/n/01/64}
+\CJKvlet{bx/n/01/65}{m/n/01/65}
+\CJKvlet{bx/n/01/66}{m/n/01/66}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00bsmir.fd b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00bsmir.fd
new file mode 100644
index 0000000000..71fde2e2e6
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00bsmir.fd
@@ -0,0 +1,25 @@
+% This is the file c00bsmir.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c00bsmir.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: Big 5
+% font encoding: CJK (Bg5)
+
+% Arphic GPL font (MingTi) rotated
+
+\DeclareFontFamily{C00}{bsmir}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{bsmir}{m}{n}{<-> CJK * bsmilr}{\CJKnormal}
+\DeclareFontShape{C00}{bsmir}{bx}{n}{<-> CJKb * bsmilr}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00bsmir.fdx b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00bsmir.fdx
new file mode 100644
index 0000000000..b398d7fbed
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00bsmir.fdx
@@ -0,0 +1,15 @@
+% This is the file c00bsmir.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c00bsmir.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{norotate}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00cns.fd b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00cns.fd
new file mode 100644
index 0000000000..b5fe83a3a7
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00cns.fd
@@ -0,0 +1,25 @@
+% This is the file c00cns.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c00cns.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: Big 5
+% font encoding: CJK (Bg5)
+
+% Big 5 encoded CNS pixel font
+
+\DeclareFontFamily{C00}{CNS}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{CNS}{m}{n}{<-> CJK * csso12}{\CJKnormal}
+\DeclareFontShape{C00}{CNS}{bx}{n}{<-> CJKb * csso12}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00fs.fd b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00fs.fd
new file mode 100644
index 0000000000..6cded2be8b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00fs.fd
@@ -0,0 +1,25 @@
+% This is the file c00fs.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c00fs.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters in Big 5 encoding scheme.
+%
+% character set: Big 5
+% font encoding: CJK (Bg5)
+
+% NTU TrueType font
+
+\DeclareFontFamily{C00}{fs}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{fs}{m}{n}{<-> CJK * ntufsm}{\CJKnormal}
+\DeclareFontShape{C00}{fs}{bx}{n}{<-> CJKb * ntufsm}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00kai.fd b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00kai.fd
new file mode 100644
index 0000000000..1899bb3849
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00kai.fd
@@ -0,0 +1,25 @@
+% This is the file c00kai.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c00kai.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: Big 5
+% font encoding: CJK (Bg5)
+
+% pixel font
+
+\DeclareFontFamily{C00}{kai}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{kai}{m}{n}{<-> CJK * b5ka12}{\CJKnormal}
+\DeclareFontShape{C00}{kai}{bx}{n}{<-> CJKb * b5ka12}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00kair.fd b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00kair.fd
new file mode 100644
index 0000000000..6df67b5680
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00kair.fd
@@ -0,0 +1,25 @@
+% This is the file c00kair.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c00kair.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters in Big 5 encoding scheme.
+%
+% character set: Big 5
+% font encoding: CJK (Bg5)
+
+% ntukai48 pixel font rotated
+
+\DeclareFontFamily{C00}{kair}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{kair}{m}{n}{<-> CJK * b5kr12}{\CJKnormal}
+\DeclareFontShape{C00}{kair}{bx}{n}{<-> CJKb * b5kr12}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00kair.fdx b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00kair.fdx
new file mode 100644
index 0000000000..311c2f61d7
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00kair.fdx
@@ -0,0 +1,15 @@
+% This is the file c00kair.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c00kair.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{norotate}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00song.fd b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00song.fd
new file mode 100644
index 0000000000..9aa3e231f4
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c00song.fd
@@ -0,0 +1,25 @@
+% This is the file c00song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c00song.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: Big 5
+% font encoding: CJK (Bg5)
+
+% pixel font
+
+\DeclareFontFamily{C00}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{song}{m}{n}{<-> CJKsub * kai/m/n}{}
+\DeclareFontShape{C00}{song}{bx}{n}{<-> CJKsub * kai/bx/n}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c01song.fd b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c01song.fd
new file mode 100644
index 0000000000..7b5ca9addd
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c01song.fd
@@ -0,0 +1,23 @@
+% This is the file c01song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c01song.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: Big 5
+% font encoding: pmC
+
+\DeclareFontFamily{C01}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C01}{song}{m}{n}{<-> sCJKfixed * wcb5}{\CJKnormal}
+\DeclareFontShape{C01}{song}{bx}{n}{<-> sCJKfixedb * wcb5}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c05song.fd b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c05song.fd
new file mode 100644
index 0000000000..bbcdb9506d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c05song.fd
@@ -0,0 +1,25 @@
+% This is the file c00song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c05song.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: Big 5 + HKSCS-2004 (HKSCS-2001)
+% font encoding: CJK (HKSCS)
+
+% pixel font
+
+\DeclareFontFamily{C05}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C05}{song}{m}{n}{<-> CJKsub * kai/m/n}{}
+\DeclareFontShape{C05}{song}{bx}{n}{<-> CJKsub * kai/bx/n}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c09song.fd b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c09song.fd
new file mode 100644
index 0000000000..49f8a64040
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/Bg5/c09song.fd
@@ -0,0 +1,23 @@
+% This is the file c09song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c09song.fd}[\filedate\space\fileversion]
+
+
+% Chinese characters (extension of Big 5)
+%
+% character set: Big 5+
+% font encoding: CJK (extended)
+
+\DeclareFontFamily{C09}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C09}{song}{m}{n}{<-> CJK * bg5p}{\CJKnormal}
+\DeclareFontShape{C09}{song}{bx}{n}{<-> CJKb * bg5p}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/CEF/c80song.fd b/language/chinese/CJK/cjk-4.8.4/texinput/CEF/c80song.fd
new file mode 100644
index 0000000000..522930d91c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/CEF/c80song.fd
@@ -0,0 +1,34 @@
+% This is the file c80song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c80song.fd}[\filedate\space\fileversion]
+
+
+% CEF reserved font for IRIZ (International Research Institute for Zen
+% Buddhism).
+%
+% character set: IRIZ
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C80}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C80}{song}{m}{n}{
+ <5> <6> <7> CJKfixed * cxso10
+ <8> <9> <10> <10.95> sCJKfixed * cxso10
+ <12> CJKfixed * cxso10
+ <14.4> <17.28> sCJKfixed * cxso17
+ <20.74> <24.88> CJKfixed * cxso17}{\CJKnormal}
+\DeclareFontShape{C80}{song}{bx}{n}{
+ <5> <6> <7> CJKfixedb * cxso10
+ <8> <9> <10> <10.95> sCJKfixedb * cxso10
+ <12> CJKfixedb * cxso10
+ <14.4> <17.28> sCJKfixedb * cxso17
+ <20.74> <24.88> CJKfixedb * cxso17}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/CEF/c81song.fd b/language/chinese/CJK/cjk-4.8.4/texinput/CEF/c81song.fd
new file mode 100644
index 0000000000..c9a46527ff
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/CEF/c81song.fd
@@ -0,0 +1,33 @@
+% This is the file c81song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c81song.fd}[\filedate\space\fileversion]
+
+
+% CEF private font.
+%
+% character set: IRIZ private
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C81}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C81}{song}{m}{n}{
+ <5> <6> <7> CJKfixed * cyso10
+ <8> <9> <10> <10.95> sCJKfixed * cyso10
+ <12> CJKfixed * cyso10
+ <14.4> <17.28> sCJKfixed * cyso17
+ <20.74> <24.88> CJKfixed * cyso17}{\CJKnormal}
+\DeclareFontShape{C81}{song}{bx}{n}{
+ <5> <6> <7> CJKfixedb * cyso10
+ <8> <9> <10> <10.95> sCJKfixedb * cyso10
+ <12> CJKfixedb * cyso10
+ <14.4> <17.28> sCJKfixedb * cyso17
+ <20.74> <24.88> CJKfixedb * cyso17}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/CJK.enc b/language/chinese/CJK/cjk-4.8.4/texinput/CJK.enc
new file mode 100644
index 0000000000..be9cd4ad6c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/CJK.enc
@@ -0,0 +1,1092 @@
+% This is the file CJK.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{CJK.enc}[\filedate\space\fileversion]
+
+
+% we first define a macro to load an encoding file xxx.enc if
+% \CJK@xxxEncoding is still undefined. \CJK@xxxEncoding will only be
+% executed if it is not the actual encoding.
+
+\edef\CJK@actualEncoding{}
+
+\def\CJK@loadEncoding#1{
+ \expandafter\ifx\csname CJK@#1Encoding\endcsname \relax
+ \CJK@input{#1.enc}
+ \fi
+
+ \edef\CJK@temp{#1}
+ \ifx\CJK@temp \CJK@actualEncoding
+ \else
+ \csname CJK@#1Encoding\endcsname
+ \CJK@global\edef\CJK@actualEncoding{#1}
+ \fi}
+
+% this loads the appropriate xxx.chr file if \CJK@xxxChr is still undefined.
+% \CJK@xxxChr will only be executed if it is not the actual character
+% macro set.
+
+\edef\CJK@actualChr{}
+
+\def\CJK@loadChr#1{
+ \expandafter\ifx\csname CJK@#1Chr\endcsname \relax
+ \CJK@input{#1.chr}
+ \fi
+
+ \edef\CJK@temp{#1}
+ \ifx\CJK@temp \CJK@actualChr
+ \else
+ \csname CJK@#1Chr\endcsname
+ \CJK@global\edef\CJK@actualChr{#1}
+ \fi}
+
+% this loads the appropriate xxx.bdg file if \CJK@xxxBinding is still
+% undefined. \CJK@xxxBinding will only be executed if it is not the
+% actual binding.
+%
+% if the flag \ifCJK@nobind@ is set we do nothing.
+
+\newif\ifCJK@nobind@
+
+\edef\CJK@actualBinding{}
+
+\def\CJK@loadBinding#1{
+ \ifCJK@nobind@
+ \else
+ \expandafter\ifx\csname CJK@#1Binding\endcsname \relax
+ \CJK@input{#1.bdg}
+ \fi
+
+ \edef\CJK@temp{#1}
+ \ifx\CJK@temp \CJK@actualBinding
+ \else
+ \csname CJK@#1Binding\endcsname
+ \CJK@global\edef\CJK@actualBinding{#1}
+ \fi
+ \fi}
+
+
+% define macros for individual characters (i.e. the first byte); each active
+% character selects the appropriate subfont. The assignments actually
+% happen in the encoding specific .enc files.
+
+\def\CJK@namegdef#1{
+ \@tempcnta `#1
+ \edef\CJK@temp{\the\@tempcnta}
+ \expandafter\CJK@global\expandafter\def\csname CJK@\CJK@temp\endcsname}
+
+
+% some encodings can't be reliably processed if \MakeUppercase is active.
+% The following macro disables it. It is used in the encoding specific
+% .enc files.
+
+\ifx\CJKpreproc \relax
+ \def\CJK@disableMakeUppercase{
+ \CJK@global\let\CJKuppercase \MakeUppercase
+ \CJK@global\let\MakeUppercase \relax
+
+ \PackageWarningNoLine{CJK}{
+ `\CJK@actualEncoding' encoding used in non-preprocessed mode.\MessageBreak
+ \protect\MakeUppercase\space disabled}
+ \CJK@global\let\CJK@disableMakeUppercase \relax}
+\else
+ \let\CJK@disableMakeUppercase \relax
+\fi
+
+
+% single shifts (EUC-TW, EUC-JP), three-byte, and four-byte UTF8 values
+% can't be used in preprocessed mode
+
+\def\CJK@shiftError{
+ \PackageError{CJK}{
+ Single shifts in `\CJK@actualEncoding' encoding
+ can't be used in preprocessed mode
+ }
+ {Maybe you've forgotten to change the encoding?}}
+\def\CJK@unicodeError{
+ \PackageError{CJK}{
+ Three-Byte UTF8 values can't be used in preprocessed mode
+ }
+ {Maybe you've forgotten to change the encoding?}}
+\def\CJK@unicodexError{
+ \PackageError{CJK}{
+ Four-Byte UTF8 values can't be used in preprocessed mode
+ }
+ {Maybe you've forgotten to change the encoding?}}
+
+
+% the following macro is used to map the CJK (font) encoding to the
+% corresponding NFSS font encodings. It also registers the encoding;
+% we define an empty macro for the font name in \DeclareFontSubstitution
+% since LaTeX2e tests without a subplane appended.
+
+\def\CJK@mapToNFSS#1#2#3#4#5{
+ \expandafter\edef\csname CJK@#1@nfssenc\endcsname{#2}
+ \DeclareFontEncoding{#2}{}{}
+ \DeclareFontSubstitution{#2}{#3}{#4}{#5}
+ \expandafter\def\csname #2/#3/#4/#5\endcsname{}}
+
+
+% an ugly environment which redefines the characters `\', `{', and `}' to
+% `/', `(', and `)' respectively since some CJK encodings need these
+% characters as second bytes.
+%
+% to include \CJK@global we define the low level environment macros
+% directly.
+
+\def\CJK@makeEnvironment#1{
+ \@ifundefined{#1text}{
+ \CJK@global\@namedef{#1text}{
+ \catcode`\\=12
+ \catcode`\{=12
+ \catcode`\}=12
+ \def\/{/}
+ \def\({(}
+ \def\){)}
+ \catcode`\/=0
+ \catcode`\(=1
+ \catcode`\)=2}
+ \CJK@global\@namedef{end#1text}{}}{}}
+
+
+% here an overview of all encodings/font encodings:
+%
+% Chinese: Bg5 C00
+% Bg5pmC C01
+%
+% HK C05
+%
+% Bg5+ C09
+%
+% GB C10
+% GBpmC C11
+%
+% GBK C19
+%
+% GBt C20
+% GBtpmC C21
+%
+% CNS1-7 C31-37
+%
+% Japanese: JIS C40
+% JISpmC C41
+% JISdnp C42
+% JISwn C43
+%
+% JIS2 C50
+% JIS2dnp C52
+%
+% SJIS -> kana C49
+% SJISdnp -> kana C49
+%
+% Korean: KS -> hanja C60
+% -> hangul C61
+% KSpmC C62
+% KSHL -> hangulHL C63
+% -> symbolHL C64
+% -> hanjaHL C65
+%
+% Unicode: UTF8 C70
+%
+% CEF: CEFX C80
+% CEFY C81
+
+
+% here are the punctuation tables. We suppress spaces additionally in this
+% group.
+
+\begingroup
+ \catcode`\ 9\relax
+
+ \CJK@prePunct {Bg5}{A1}{5D, 5F, 61, 63, 65, 67, 69, 6B, 6D, 6F, 71, 73,
+ 75, 77, 79, 7B, 7D, A1, A3,
+ A5, A7, A9, AB,
+ AD, B1, CC, CD}
+ \CJK@postPunct {Bg5}{A1}{41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 4A, 4B, 4C, 4D, 4E, 4F, 50, 51,
+ 52, 53, 54, 57,
+ 5E, 60, 62, 64, 66, 68, 6A, 6C, 6E, 70, 72, 74,
+ 76, 78, 7A, 7C, 7E, A2, A4,
+ A6, A8, AA, AC}
+ \CJK@prePunct {Bg5}{A2}{43, 44, 45, 46, 47, 49,
+ 4C, 4E}
+ \CJK@postPunct {Bg5}{A2}{48, 4A, 4B, 4D,
+ 4F, 50, 51, 52, 53, 54, 55, 56, 57, 58}
+
+ \CJK@prePunct {GB}{A1}{AE, B0, B2, B4, B6, B8, BA, BC, BE,
+ E7, E8, E9, EA, EC, ED}
+ \CJK@postPunct {GB}{A1}{A2, A3, A4, A9, AD,
+ AF, B1, B3, B5, B7, B9, BB, BD, BF,
+ C3, E3, E4, E5, E6, EB}
+ \CJK@prePunct {GB}{A3}{A3, A4, A8, C0, DB, FB}
+ \CJK@postPunct {GB}{A3}{A1, A5, A9, AC, AE, BA, BB, BF, DD, FD}
+
+ \CJK@prePunct {JIS}{A1}{C6, C8, CA, CC, CE, D0, D2, D4, D6, D8, DA,
+ EF, F0, F1, F2, F4, F7, F8}
+ \CJK@postPunct {JIS}{A1}{A2, A3, A4, A5, A6, A7, A8, A9, AA, AB, AC,
+ B3, B4, B5, B6, B9, BA, BC,
+ C4, C7, C9, CB, CD, CF, D1, D3, D5, D7, D9, DB,
+ EB, EC, ED, EE, F3}
+ \CJK@prePunct {JIS}{A2}{A9}
+% \CJK@postPunct {JIS}{A2}{}
+% \CJK@prePunct {JIS}{A4}{}
+ \CJK@postPunct {JIS}{A4}{A1, A3, A5, A7, A9,
+ C3, E3, E5, E7, EE}
+% \CJK@prePunct {JIS}{A5}{}
+ \CJK@postPunct {JIS}{A5}{A1, A3, A5, A7, A9,
+ C3, E3, E5, E7, EE,
+ F5, F6}
+
+ \CJK@prePunct {SJIS}{81}{65, 67, 69, 6B, 6D, 6F, 71, 73, 75, 77, 79,
+ 8F, 90, 91, 92, 94, 97, 98,
+ A7}
+ \CJK@postPunct{SJIS}{81}{41, 42, 43, 44, 45, 46, 47, 48, 49, 4A, 4B,
+ 52, 53, 54, 55, 58, 59, 5B,
+ 63, 66, 68, 6A, 6C, 6E, 70, 72, 74, 76, 78, 7A,
+ 8B, 8C, 8D, 8E, 93}
+% \CJK@prePunct {SJIS}{82}{}
+ \CJK@postPunct{SJIS}{82}{9F, A1, A3, A5, A7,
+ C1, E1, E3, E5, EC}
+% \CJK@prePunct {SJIS}{83}{}
+ \CJK@postPunct{SJIS}{83}{40, 42, 44, 46, 48,
+ 62, 83, 85, 87, 8E,
+ 95, 96}
+
+ % half-width katakana
+ \CJK@prePunct {C49}{}{A2}
+ \CJK@postPunct {C49}{}{A1, A3, A4, A5, A7, A8, A9, AA, AB, AC, AD, AE, AF,
+ B0, DE, DF}
+
+ \CJK@prePunct {KS}{A1}{AE, B0, B2, B4, B6, B8, BA, BC,
+ CB, CC, CD, D7, EC}
+ \CJK@postPunct {KS}{A1}{A2, A3, A4, A5, A6,
+ AF, B1, B3, B5, B7, B9, BB, BD,
+ C6, C7, C8, C9, ED}
+ \CJK@prePunct {KS}{A3}{A3, A4, A8, C0, DB, DC, FB}
+ \CJK@postPunct {KS}{A3}{A1, A5, A9, AC, AE, BA, BB, BF, DD, FD}
+
+ \xdef\CJK@uniPunct{30, fe, ff} % values must be lowercase for UTF 8
+
+ \CJK@prePunct {UTF8}{30}{08, 0A, 0C, 0E, 10, 12, 14, 16, 18, 1A, 1D, 1F, 36}
+ \CJK@postPunct{UTF8}{30}{01, 02, 05, 06,
+ 09, 0B, 0D, 0F, 11, 15, 17, 19, 1B, 1E,
+ 41, 43, 45, 47, 49, 63, 83, 85, 87, 8E,
+ 9B, 9C, 9D, 9E,
+ A1, A3, A5, A7, A9, C3, E3, E5, E7, EE, F5, F6,
+ FB, FC, FD, FE}
+ \CJK@prePunct {UTF8}{fe}{59, 5B, 5D, 5F, 60, 69, 6B}
+ \CJK@postPunct{UTF8}{fe}{50, 51, 52, 54, 55, 56, 57, 5A, 5C, 5E, 6A}
+ \CJK@prePunct {UTF8}{ff}{03, 04, 08, 20, 3B, 5B, E0, E1, E5, E6}
+ \CJK@postPunct{UTF8}{ff}{01, 05, 09, 0C, 0E, 1A, 1B, 1F, 3D, 5D,
+ 61, 63, 64, 65, 67, 68, 69, 6A, 6B, 6C, 6D, 6E, 6F,
+ 70, 9E, 9F}
+
+ \CJK@prePunct {CNS1}{A1}{BE, C2, C6, CA, CE, D2, D6, DA, DE, E0, E2,
+ E4, E6, E8, EA,
+ EC, F0}
+ \CJK@postPunct{CNS1}{A1}{A2, A3, A4, A5, A6, A7, A8, A9,
+ AA, AC, AD, AE, AF, B0, B1, B2,
+ B3, B4, B5,
+ BF, C3, C7, CB, CF, D3, D7, DB, DF, E1, E3,
+ E5, E7, E9, EB}
+ \CJK@prePunct {CNS1}{A2}{AD, AE, E3, E4, E5, E6, E7, E9,
+ EC, EE}
+ \CJK@postPunct{CNS1}{A2}{E8, EA, EB, ED,
+ EF, F0, F1, F2, F3, F4, F5, F6, F7, F8}
+
+ \CJK@prePunct {GBK}{A1}{AE, B0, B2, B4, B6, B8, BA, BC, BE,
+ E7, E8, E9, EA, EC, ED}
+ \CJK@postPunct {GBK}{A1}{A2, A3, A4, A9, AD,
+ AF, B1, B3, B5, B7, B9, BB, BD, BF,
+ C3, E3, E4, E5, E6, EB}
+ \CJK@prePunct {GBK}{A3}{A3, A4, A8, C0, DB, FB}
+ \CJK@postPunct {GBK}{A3}{A1, A5, A9, AC, AE, BA, BB, BF, DD, FD}
+% \CJK@prePunct {GBK}{A4}{}
+ \CJK@postPunct {GBK}{A4}{A1, A3, A5, A7, A9, C3, E3, E5, E7, EE}
+% \CJK@prePunct {GBK}{A5}{}
+ \CJK@postPunct {GBK}{A5}{A1, A3, A5, A7, A9, C3, E3, E5, E7, EE, F5, F6}
+ \CJK@prePunct {GBK}{A8}{93, 94}
+ \CJK@postPunct {GBK}{A8}{95}
+ \CJK@prePunct {GBK}{A9}{76, 78, 7A, 7C, 7D, 86, 88}
+ \CJK@postPunct {GBK}{A9}{60, 61, 62, 63, 64, 65, 66, 67, 6F,
+ 70, 71, 72, 73, 74, 75, 77, 79, 7B, 87}
+\endgroup
+
+
+% dummy encoding for MULE.
+
+\def\CJK@@enc{\CJK@loadBinding{standard}}
+
+\edef\CJK@@fontenc{}
+
+
+% traditional Chinese characters
+%
+% character set: Big 5
+% encoding: Big 5
+% font encoding: CJK
+
+\CJK@mapToNFSS{Bg5}{C00}{song}{m}{n}
+\CJKencfamily{Bg5}{song}
+\CJKfontenc{Bg5}{}
+\@namedef{CJK@Bg5@hook}{}
+
+\@namedef{CJK@Bg5@enc}{
+ \CJK@makeEnvironment{Bg5}
+
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "040% don't forget `0' before the number,
+ \CJK@global\chardef\CJK@max "0FE% otherwise german.sty will not work.
+
+ \CJK@loadEncoding{Bg5}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"040}}}
+
+% support for Hong Kong
+%
+% character set: Big 5 + HKSCS-2004 (or HKSCS-2001)
+% encoding: Big 5
+% font encoding: CJK
+
+\CJK@mapToNFSS{HK}{C05}{song}{m}{n}
+\CJKencfamily{HK}{song}
+\CJKfontenc{HK}{}
+\@namedef{CJK@HK@hook}{}
+
+\def\CJK@HK@enc{
+ \CJK@makeEnvironment{HK}
+
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "040% don't forget `0' before the number,
+ \CJK@global\chardef\CJK@max "0FE% otherwise german.sty will not work.
+
+ \CJK@loadEncoding{HK}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"040}}}
+
+% Chinese characters (extension of Big 5)
+%
+% character set: Big 5+
+% encoding: extended
+% font encoding: CJK
+
+\CJK@mapToNFSS{Bg5+}{C09}{song}{m}{n}
+\CJKencfamily{Bg5+}{song}
+\CJKfontenc{Bg5+}{}
+\@namedef{CJK@Bg5+@hook}{}
+
+\@namedef{CJK@Bg5+@enc}{
+ \CJK@makeEnvironment{Bg5+}
+
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "040
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{extended}
+
+ \CJK@global\edef\CJK@punctEnc{Bg5}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"040}}}
+
+
+% Chinese characters
+%
+% character set: GB 2312-80
+% encoding: EUC
+% font encoding: CJK
+
+\CJK@mapToNFSS{GB}{C10}{song}{m}{n}
+\CJKencfamily{GB}{song}
+\CJKfontenc{GB}{}
+\def\CJK@GB@hook{}
+
+\def\CJK@GB@enc{
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{standard}
+
+ \CJK@global\edef\CJK@punctEnc{GB}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+% traditional Chinese characters
+%
+% character set: GB/T 12345-90
+% encoding: EUC
+% font encoding: CJK
+
+\CJK@mapToNFSS{GBt}{C20}{song}{m}{n}
+\CJKencfamily{GBt}{song}
+\CJKfontenc{GBt}{}
+\def\CJK@GBt@hook{}
+
+\let\CJK@GBt@enc \CJK@GB@enc
+
+% Chinese characters (extension of GB 2312)
+%
+% character set: GBK
+% encoding: extended
+% font encoding: CJK
+
+\CJK@mapToNFSS{GBK}{C19}{song}{m}{n}
+\CJKencfamily{GBK}{song}
+\CJKfontenc{GBK}{}
+\def\CJK@GBK@hook{}
+
+\def\CJK@GBK@enc{
+ \CJK@makeEnvironment{GBK}
+
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "040
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{extended}
+
+ \CJK@global\edef\CJK@punctEnc{GBK}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+
+% Japanese characters
+%
+% character set JIS X 0208:1997
+% encoding: EUC
+% font encoding: CJK
+
+\CJK@mapToNFSS{JIS}{C40}{song}{m}{n}
+\CJKencfamily{JIS}{song}
+\CJKfontenc{JIS}{}
+\def\CJK@JIS@hook{}
+
+\def\CJK@JIS@enc{
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{standard}
+
+ \CJK@global\edef\CJK@punctEnc{JIS}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+% Japanese characters
+%
+% character set: JIS X 0208:1997
+% encoding: EUC
+% font encoding: DNP
+
+\CJK@mapToNFSS{JISdnp}{C42}{song}{m}{n}
+\CJKencfamily[dnp]{JIS}{song}
+
+\def\CJK@JISdnp@enc{
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{JISdnp}
+
+ \CJK@global\edef\CJK@punctEnc{JIS}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+% Japanese characters
+%
+% character set: JIS X 0208:1997
+% encoding: EUC
+% font encoding: DNP (watanabe)
+
+\CJK@mapToNFSS{JISwn}{C43}{song}{m}{n}
+\CJKencfamily[wn]{JIS}{song}
+
+\let\CJK@JISwn@enc \CJK@JISdnp@enc
+
+% Japanese supplemental JIS characters
+%
+% character set: JIS X 0212-1990
+% encoding: EUC
+% font encoding: CJK
+
+\CJK@mapToNFSS{JIS2}{C50}{song}{m}{n}
+\CJKencfamily{JIS2}{song}
+\CJKfontenc{JIS2}{}
+\@namedef{CJK@JIS2@hook}{}
+
+\@namedef{CJK@JIS2@enc}{
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{standard}
+
+ \CJK@global\edef\CJK@punctEnc{}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar[JIS]{"0A1}{"0A1}}}
+
+% Japanese supplemental JIS characters
+%
+% character set: JIS X 0212-1990
+% encoding: EUC
+% font encoding: DNP
+
+\CJK@mapToNFSS{JIS2dnp}{C52}{song}{m}{n}
+\CJKencfamily[dnp]{JIS2}{song}
+
+\@namedef{CJK@JIS2dnp@enc}{
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{JISdnp}
+
+ \CJK@global\edef\CJK@punctEnc{}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar[JIS]{"0A1}{"0A1}}}
+
+% Japanese characters
+%
+% character sets: JIS X 0208:1997
+% half-width katakana (JIS X 0201-1997)
+% encoding: SJIS
+% font encoding: CJK
+%
+% Technical note: \CJK@altenc is used for SJIS, \CJK@altEnc for KS.
+
+\CJK@mapToNFSS{kana}{C49}{song}{m}{n}% used internally only
+\CJKencfamily{SJIS}{song}
+\CJKfontenc{SJIS}{}
+\def\CJK@SJIS@hook{}
+
+% the relative order of JIS and SJIS encoded characters are identical
+% except one byte characters.
+
+\def\CJK@@@SJIS@hook{
+ \CJK@global\edef\CJK@enc{\CJK@JIS@nfssenc}
+ \CJK@global\edef\CJK@altenc{\CJK@kana@nfssenc}}
+
+\def\CJK@SJIS@enc{
+ \CJK@makeEnvironment{SJIS}
+
+ \CJK@loadBinding{SJIS}
+
+ \CJK@global\chardef\CJK@min "040
+ \CJK@global\chardef\CJK@max "0FC
+
+ \CJK@loadEncoding{SJIS}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"081}{"040}}}
+
+% Japanese characters
+%
+% character sets: JIS X 0208:1997
+% half-width katakana (JIS X 0201-1997)
+% encoding: SJIS
+% font encoding: DNP
+
+\CJKencfamily[dnp]{SJIS}{song}
+
+% the relative order of JIS and SJIS encoded characters are identical
+% except one byte characters.
+
+\def\CJK@@@SJISdnp@hook{
+ \CJK@global\edef\CJK@enc{\CJK@JISdnp@nfssenc}
+ \CJK@global\edef\CJK@altenc{\CJK@kana@nfssenc}}
+
+\def\CJK@SJISdnp@enc{
+ \CJK@makeEnvironment{SJIS}
+
+ \CJK@loadBinding{SJIS}
+
+ \CJK@global\chardef\CJK@min "040
+ \CJK@global\chardef\CJK@max "0FC
+
+ \CJK@loadEncoding{SJISdnp}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"081}{"040}}}
+
+
+% Korean characters
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC
+% font encoding: CJK
+%
+% the increased \tolerance compensates the lack of \CJKglue for Hangul
+% syllables.
+
+% the following commands choose between C60xxx.fd (for hanja) and C61xxx.fd
+% (for hangul) for the character range 0xB0A1 - 0xC8FE.
+
+\newif\ifCJK@hanja@
+\CJK@hanja@false
+
+\DeclareRobustCommand{\CJKhanja}{
+ \CJK@global\CJK@hanja@true
+ \edef\CJK@temp{KS}
+ \ifx\CJK@temp \CJK@@@enc
+ \edef\CJK@temp{\csname CJK@\CJK@@@enc @fontenc\endcsname}
+ \CJK@global\edef\CJK@altEnc{
+ \csname CJK@hanja\CJK@temp @nfssenc\endcsname}
+ \fi}
+\DeclareRobustCommand{\CJKhangul}{
+ \CJK@global\CJK@hanja@false
+ \edef\CJK@temp{KS}
+ \ifx\CJK@temp \CJK@@@enc
+ \edef\CJK@temp{\csname CJK@\CJK@@@enc @fontenc\endcsname}
+ \CJK@global\edef\CJK@altEnc{
+ \csname CJK@hangul\CJK@temp @nfssenc\endcsname}
+ \fi}
+
+\CJK@mapToNFSS{hanja}{C60}{mj}{m}{n}% used internally only
+\CJK@mapToNFSS{hangul}{C61}{mj}{m}{n}% used internally only
+\CJKencfamily{KS}{mj}
+\CJKfontenc{KS}{}
+\def\CJK@KS@hook{}
+
+\def\CJK@@@KS@hook{
+ \CJK@global\edef\CJK@enc{\CJK@hanja@nfssenc}
+ \ifCJK@hanja@
+ \CJK@global\edef\CJK@altEnc{\CJK@hanja@nfssenc}
+ \else
+ \CJK@global\edef\CJK@altEnc{\CJK@hangul@nfssenc}
+ \fi}
+
+\def\CJK@KS@enc{
+ \CJK@global\def\mj{\protect\CJK@mj}% % from hLaTeX
+ \gdef\CJK@mj{\CJKencfamily{KS}{mj}}
+ \CJK@global\def\gt{\protect\CJK@gt}
+ \gdef\CJK@gt{\CJKencfamily{KS}{gt}}
+ \CJK@global\def\gs{\protect\CJK@gs}
+ \gdef\CJK@gs{\CJKencfamily{KS}{gs}}
+ \CJK@global\def\gr{\protect\CJK@gr}
+ \gdef\CJK@gr{\CJKencfamily{KS}{gr}}
+ \CJK@global\def\dr{\protect\CJK@dr}
+ \gdef\CJK@dr{\CJKencfamily{KS}{dr}}
+
+ \CJK@global\def\hgt{\protect\CJK@hgt}% % from hjTeX
+ \gdef\CJK@hgt{\CJKencfamily{KS}{hgt}}
+ \CJK@global\def\hmj{\protect\CJK@hmj}
+ \gdef\CJK@hmj{\CJKencfamily{KS}{hmj}}
+ \CJK@global\def\hol{\protect\CJK@hol}
+ \gdef\CJK@hol{\CJKencfamily{KS}{hol}}
+ \CJK@global\def\hpg{\protect\CJK@hpg}
+ \gdef\CJK@hpg{\CJKencfamily{KS}{hpg}}
+
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{KS}
+
+ \CJK@global\edef\CJK@punctEnc{KS}
+ \CJK@global\tolerance \CJKtolerance
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+
+% Korean characters
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC
+% font encoding: HLaTeX (version >= 0.97)
+
+\CJK@mapToNFSS{hangulHL}{C63}{mj}{m}{n}% used internally only
+\CJK@mapToNFSS{symbolHL}{C64}{mj}{m}{n}% used internally only
+\CJK@mapToNFSS{hanjaHL}{C65}{mj}{m}{n}% used internally only
+\CJKencfamily[HL]{KS}{mj}
+
+\def\CJK@@@KSHL@hook{
+ \CJK@global\edef\CJK@enc{\CJK@hanjaHL@nfssenc}
+ \CJK@global\edef\CJK@altEnc{\CJK@hangulHL@nfssenc}
+ \CJK@global\edef\CJK@symbEnc{\CJK@symbolHL@nfssenc}}
+
+\def\CJK@KSHL@enc{
+ \CJK@global\def\bm{\protect\CJK@bm}
+ \gdef\CJK@bm{\CJKencfamily[HL]{KS}{bm}}
+ \CJK@global\def\dn{\protect\CJK@dn}
+ \gdef\CJK@dn{\CJKencfamily[HL]{KS}{dn}}
+ \CJK@global\def\gr{\protect\CJK@gr}
+ \gdef\CJK@gr{\CJKencfamily[HL]{KS}{gr}}
+ \CJK@global\def\gs{\protect\CJK@gs}
+ \gdef\CJK@gs{\CJKencfamily[HL]{KS}{gs}}
+ \CJK@global\def\gt{\protect\CJK@gt}
+ \gdef\CJK@gt{\CJKencfamily[HL]{KS}{gt}}
+ \CJK@global\def\jgt{\protect\CJK@jgt}
+ \gdef\CJK@jgt{\CJKencfamily[HL]{KS}{jgt}}
+ \CJK@global\def\jmj{\protect\CJK@jmj}
+ \gdef\CJK@jmj{\CJKencfamily[HL]{KS}{jmj}}
+ \CJK@global\def\jnv{\protect\CJK@jnv}
+ \gdef\CJK@jnv{\CJKencfamily[HL]{KS}{jnv}}
+ \CJK@global\def\jsr{\protect\CJK@jsr}
+ \gdef\CJK@jsr{\CJKencfamily[HL]{KS}{jsr}}
+ \CJK@global\def\mj{\protect\CJK@mj}
+ \gdef\CJK@mj{\CJKencfamily[HL]{KS}{mj}}
+ \CJK@global\def\ol{\protect\CJK@ol}
+ \gdef\CJK@ol{\CJKencfamily[HL]{KS}{mj}}
+ \CJK@global\def\pg{\protect\CJK@pg}
+ \gdef\CJK@pg{\CJKencfamily[HL]{KS}{pg}}
+ \CJK@global\def\pga{\protect\CJK@pga}
+ \gdef\CJK@pga{\CJKencfamily[HL]{KS}{pga}}
+ \CJK@global\def\ph{\protect\CJK@ph}
+ \gdef\CJK@ph{\CJKencfamily[HL]{KS}{ph}}
+ \CJK@global\def\pn{\protect\CJK@pn}
+ \gdef\CJK@pn{\CJKencfamily[HL]{KS}{pn}}
+ \CJK@global\def\sh{\protect\CJK@sh}
+ \gdef\CJK@sh{\CJKencfamily[HL]{KS}{sh}}
+ \CJK@global\def\sm{\protect\CJK@sm}
+ \gdef\CJK@sm{\CJKencfamily[HL]{KS}{mj}}
+ \CJK@global\def\tz{\protect\CJK@tz}
+ \gdef\CJK@tz{\CJKencfamily[HL]{KS}{tz}}
+ \CJK@global\def\vd{\protect\CJK@vd}
+ \gdef\CJK@vd{\CJKencfamily[HL]{KS}{vd}}
+ \CJK@global\def\yt{\protect\CJK@yt}
+ \gdef\CJK@yt{\CJKencfamily[HL]{KS}{yt}}
+
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{KSHL}
+
+ \CJK@global\edef\CJK@punctEnc{KS}
+ \CJK@global\tolerance \CJKtolerance
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+
+% Unicode
+%
+% character set: Unicode
+% encoding: UTF 8
+% font encoding: CJK
+
+\CJK@mapToNFSS{UTF8}{C70}{song}{m}{n}
+\CJKencfamily{UTF8}{song}
+\CJKfontenc{UTF8}{}
+\@namedef{CJK@UTF8@hook}{}
+
+\@namedef{CJK@UTF8@enc}{
+ \CJK@loadBinding{UTF8}
+
+ \CJK@global\chardef\CJK@min "080
+ \CJK@global\chardef\CJK@max "0BF
+
+ \CJK@loadEncoding{UTF8}
+
+ \CJK@global\def\CJK@spaceChar{\Unicode{"030}{"000}}}
+
+
+% Chinese characters in CNS encoding.
+%
+% character set: CNS 11643-1992
+% encoding: EUC
+% font encoding: CJK
+
+% please note that internally character codes with the 8th bit set are
+% used, whereas Wittern's CEF use the seven bit form.
+
+% plane 1.
+
+\CJK@mapToNFSS{CNS1}{C31}{song}{m}{n}
+\CJKencfamily{CNS1}{song}
+\CJKfontenc{CNS1}{}
+\@namedef{CJK@CNS1@enc}{}
+
+\@namedef{CJK@CNS1@enc}{
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{standard}
+
+ \CJK@global\edef\CJK@punctEnc{CNS1}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar[CNS1]{"0A1}{"0A1}}}
+
+% plane 2-7.
+
+\CJK@mapToNFSS{CNS2}{C32}{song}{m}{n}
+\CJKencfamily{CNS2}{song}
+\CJKfontenc{CNS2}{}
+\@namedef{CJK@CNS2@hook}{}
+\CJK@mapToNFSS{CNS3}{C33}{song}{m}{n}
+\CJKencfamily{CNS3}{song}
+\CJKfontenc{CNS3}{}
+\@namedef{CJK@CNS3@hook}{}
+\CJK@mapToNFSS{CNS4}{C34}{song}{m}{n}
+\CJKencfamily{CNS4}{song}
+\CJKfontenc{CNS4}{}
+\@namedef{CJK@CNS4@hook}{}
+\CJK@mapToNFSS{CNS5}{C35}{song}{m}{n}
+\CJKencfamily{CNS5}{song}
+\CJKfontenc{CNS5}{}
+\@namedef{CJK@CNS5@hook}{}
+\CJK@mapToNFSS{CNS6}{C36}{song}{m}{n}
+\CJKencfamily{CNS6}{song}
+\CJKfontenc{CNS6}{}
+\@namedef{CJK@CNS6@hook}{}
+\CJK@mapToNFSS{CNS7}{C37}{song}{m}{n}
+\CJKencfamily{CNS7}{song}
+\CJKfontenc{CNS7}{}
+\@namedef{CJK@CNS7@hook}{}
+
+\expandafter\expandafter\expandafter\let
+ \expandafter\csname CJK@CNS2@enc\expandafter\endcsname
+ \csname CJK@JIS2@enc\endcsname
+\expandafter\expandafter\expandafter\let
+ \expandafter\csname CJK@CNS3@enc\expandafter\endcsname
+ \csname CJK@CNS2@enc\endcsname
+\expandafter\expandafter\expandafter\let
+ \expandafter\csname CJK@CNS4@enc\expandafter\endcsname
+ \csname CJK@CNS2@enc\endcsname
+\expandafter\expandafter\expandafter\let
+ \expandafter\csname CJK@CNS5@enc\expandafter\endcsname
+ \csname CJK@CNS2@enc\endcsname
+\expandafter\expandafter\expandafter\let
+ \expandafter\csname CJK@CNS6@enc\expandafter\endcsname
+ \csname CJK@CNS2@enc\endcsname
+\expandafter\expandafter\expandafter\let
+ \expandafter\csname CJK@CNS7@enc\expandafter\endcsname
+ \csname CJK@CNS2@enc\endcsname
+
+
+% special CEF encodings
+
+\CJK@mapToNFSS{CEFX}{C80}{song}{m}{n}
+\CJKencfamily{CEFX}{song}
+\CJKfontenc{CEFX}{}
+\def\CJK@CEFX@hook{}
+\CJK@mapToNFSS{CEFY}{C81}{song}{m}{n}
+\CJKencfamily{CEFY}{song}
+\CJKfontenc{CEFY}{}
+\def\CJK@CEFY@hook{}
+
+\expandafter\let\expandafter\CJK@CEFX@enc \csname CJK@CNS2@enc\endcsname
+\expandafter\let\expandafter\CJK@CEFY@enc \csname CJK@CNS2@enc\endcsname
+
+
+% traditional Chinese characters
+%
+% character set: Big 5
+% encoding: Big 5
+% font encoding: pmC
+
+\CJK@mapToNFSS{Bg5pmC}{C01}{song}{m}{n}
+\CJKencfamily[pmC]{Bg5}{song}
+
+\@namedef{CJK@Bg5pmC@enc}{
+ \CJK@global\def\pmCsmall{\protect\CJK@pmCsmall}
+ \gdef\CJK@pmCsmall{
+ \CJK@loadEncoding{pmCsmall}}
+ \CJK@global\def\pmCbig{\protect\CJK@pmCbig}
+ \gdef\CJK@pmCbig{
+ \PackageError{CJK}{
+ No big font for pmC Big 5 encoding available}{}}
+
+ \CJK@makeEnvironment{Bg5}
+
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "040
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@global\edef\CJK@punctEnc{Bg5}
+
+ \pmCsmall
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"040}}}
+
+% simplified Chinese characters
+%
+% character set: GB 2312-80
+% encoding: EUC
+% font encoding: pmC
+
+\CJK@mapToNFSS{GBpmC}{C11}{song}{m}{n}
+\CJKencfamily[pmC]{GB}{song}
+
+\def\CJK@GBpmC@enc{
+ \CJK@pmC{GB}}
+
+% traditional Chinese characters
+%
+% character set: GB/T 12345-90
+% encoding: EUC
+% font encoding: pmC
+
+\CJK@mapToNFSS{GBtpmC}{C21}{song}{m}{n}
+\CJKencfamily[pmC]{GBt}{song}
+
+\let\CJK@GBtpmC@enc \CJK@GBpmC@enc
+
+% Japanese characters
+%
+% character set: JIS X 0208:1997
+% encoding: EUC
+% font encoding: pmC
+
+\CJK@mapToNFSS{JISpmC}{C41}{song}{m}{n}
+\CJKencfamily[pmC]{JIS}{song}
+
+\def\CJK@JISpmC@enc{
+ \CJK@pmC{JIS}}
+
+% Korean characters
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC
+% font encoding: pmC
+
+\CJK@mapToNFSS{KSpmC}{C62}{song}{m}{n}
+\CJKencfamily[pmC]{KS}{song}
+
+\def\CJK@KSpmC@enc{
+ \CJK@pmC{KS}}
+
+\def\CJK@pmC#1{
+ \CJK@global\def\pmCsmall{\protect\CJK@pmCsmall}
+ \gdef\CJK@pmCsmall{
+ \CJK@loadEncoding{pmCsmall}}
+ \CJK@global\def\pmCbig{\protect\CJK@pmCbig}
+ \gdef\CJK@pmCbig{
+ \CJK@loadEncoding{pmCbig}}
+
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@global\edef\CJK@punctEnc{#1}
+
+ \pmCsmall
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+
+% EUC-JP
+%
+% character sets: half-width katakana (JIS X 0201-1997)
+% JIS X 0208:1997
+% JIS X 0212-1992
+% encoding: EUC-JP
+% font encoding: CJK
+%
+% Technical note: JIS X 0212 is directly accessed via
+% \CJKchar[JIS2]{...}{...}
+
+\CJKencfamily{EUC-JP}{song}
+\CJKfontenc{EUC-JP}{}
+\@namedef{CJK@EUC-JP@hook}{}
+
+\@namedef{CJK@@@EUC-JP@hook}{
+ \CJK@global\edef\CJK@enc{\CJK@JIS@nfssenc}
+ \CJK@global\edef\CJK@altenc{\CJK@kana@nfssenc}}
+
+\@namedef{CJK@EUC-JP@enc}{
+ \CJK@loadBinding{EUC-JP}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{EUC-JP}
+
+ \CJK@global\edef\CJK@punctEnc{JIS}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+
+% EUC-JP
+%
+% character sets: half-width katakana (JIS X 0201-1997)
+% JIS X 0208:1997
+% JIS X 0212-1992
+% encoding: EUC-JP
+% font encoding: dnp
+%
+% Technical note: JIS X 0212 is directly accessed via
+% \CJKchar[JIS2dnp]{...}{...}
+
+\CJKencfamily[dnp]{EUC-JP}{song}
+
+\@namedef{CJK@@@EUC-JPdnp@hook}{
+ \CJK@global\edef\CJK@enc{\CJK@JISdnp@nfssenc}
+ \CJK@global\edef\CJK@altenc{\CJK@kana@nfssenc}}
+
+\@namedef{CJK@EUC-JPdnp@enc}{
+ \CJK@loadBinding{EUC-JP}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{EUC-JPdnp}
+
+ \CJK@global\edef\CJK@punctEnc{JIS}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+
+% EUC-TW
+%
+% character sets: CNS 11643-1992 planes 1-7
+% encoding: EUC-TW
+% font encoding: CJK
+%
+% Technical note: CNS 11643-1992 planes 2-7 are directly accessed via
+% \CJKchar[CNSx]{...}{...}
+
+\CJKencfamily{EUC-TW}{song}
+\CJKfontenc{EUC-TW}{}
+\@namedef{CJK@EUC-TW@hook}{}
+
+\@namedef{CJK@@@EUC-TW@hook}{
+ \CJK@global\edef\CJK@enc{\csname CJK@CNS1@nfssenc\endcsname}}
+
+\@namedef{CJK@EUC-TW@enc}{
+ \CJK@loadBinding{EUC-TW}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{EUC-TW}
+
+ \CJK@global\edef\CJK@punctEnc{CNS1}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/CJK.sty b/language/chinese/CJK/cjk-4.8.4/texinput/CJK.sty
new file mode 100644
index 0000000000..1564efdb24
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/CJK.sty
@@ -0,0 +1,1121 @@
+% This is the file CJK.sty of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\NeedsTeXFormat{LaTeX2e}[2001/06/01]
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesPackage{CJK}[\filedate\space\fileversion]
+
+\RequirePackage{MULEenc}
+
+\newif\ifCJK@lowercase@
+\CJK@lowercase@false
+\DeclareOption{lowercase}{\CJK@lowercase@true}
+
+\DeclareOption{global}{\let\CJK@global \global
+ \let\CJK@active \global
+ \let\CJK@local \global}
+\DeclareOption{local}{\let\CJK@global \relax
+ \let\CJK@active \global
+ \let\CJK@local \global}
+\DeclareOption{active}{\let\CJK@global \relax
+ \let\CJK@active \relax
+ \let\CJK@local \global}
+\DeclareOption{encapsulated}{\let\CJK@global \relax
+ \let\CJK@active \relax
+ \let\CJK@local \relax}
+
+\ExecuteOptions{local}
+
+\ProcessOptions
+
+
+% we suppress any unwanted spaces produced by linefeeds.
+
+\endlinechar \m@ne
+
+
+% the use of the internal LaTeX macro `\@ifundefined' can be slightly
+% irritating. After it has been called, the tested macro is no
+% longer undefined but expands to \relax. Where possible, we use
+% the following macro which doesn't have this side effect.
+
+\def\CJK@ifundefined#1{
+ \ifx #1\@undefined
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+}
+
+
+% our input macro. For compatibility with ArabTeX, the catcode of `<'
+% is preserved.
+
+\def\CJK@input#1{
+ \makeatletter
+ \edef\CJK@lesscatcode{\noexpand\catcode`< \the\catcode`<}
+ \catcode`\< 12\relax
+ \endlinechar \m@ne
+ \input #1\relax
+ \endlinechar `\^^M
+ \CJK@lesscatcode
+ \makeatother}
+
+
+% our symbol macro. It honours the \ifCJK@bold@ flag (to be set in the .fd
+% files) for producing poor-man's bold fonts; if it is raised we print
+% the character three times with a small horizontal shift.
+%
+% The user commands to set and unset \ifCJK@bold@ are \CJKbold and
+% \CJKnormal respectively.
+%
+% \CJKboldshift defines the shift used to imitate bold fonts.
+
+\newif\ifCJK@bold@
+\newcommand{\CJKbold}{\global\CJK@bold@true}
+\newcommand{\CJKnormal}{\global\CJK@bold@false}
+\newcommand{\CJKboldshift}{0.015em}
+
+\DeclareRobustCommand{\CJKsymbol}[1]{
+ \symbol{#1}
+ \ifCJK@bold@
+ \hbox to \CJKboldshift{\hss\symbol{#1}}
+ \hbox to \CJKboldshift{\hss\symbol{#1}}
+ \fi}
+\let\CJKpunctsymbol\CJKsymbol
+
+% the same for HLaTeX which uses the ligature mechanism
+
+\DeclareRobustCommand{\CJKsymbols}[2]{
+ \char #1\char #2\relax
+ \ifCJK@bold@
+ \hbox to \CJKboldshift{\hss\char #1\char #2}
+ \hbox to \CJKboldshift{\hss\char #1\char #2}
+ \fi}
+
+
+% the auxiliary macro \CJK@numbToHex converts number #2 into a two-digit
+% hex string and assigns it globally to #1.
+
+\def\CJK@numbToHex#1#2{
+ {\count\z@ #2\relax
+ \count\tw@ \count\z@
+ \divide\count\z@ \sixt@@n
+
+ \count@ \count\z@
+ \multiply\count@ \sixt@@n
+ \advance\count\tw@ -\count@
+
+ \xdef#1{
+ \hexnumber@{\count\z@}\hexnumber@{\count\tw@}}}}
+
+
+% the auxiliary macro \CJK@numbxToHex converts number #2 into a four-digit
+% hex string and assigns it globally to #1.
+
+\def\CJK@numbxToHex#1#2{
+ {\count\thr@@ #2\relax
+ \count\tw@ \count\thr@@
+ \divide\count\tw@ \sixt@@n
+ \count\@ne \count\tw@
+ \divide\count\@ne \sixt@@n
+ \count\z@ \count\@ne
+ \divide\count\z@ \sixt@@n
+
+ \count@ \count\tw@
+ \multiply\count@ \sixt@@n
+ \advance\count\thr@@ -\count@
+ \count@ \count\@ne
+ \multiply\count@ \sixt@@n
+ \advance\count\tw@ -\count@
+ \count@ \count\z@
+ \multiply\count@ \sixt@@n
+ \advance\count\@ne -\count@
+
+ \xdef#1{
+ \hexnumber@{\count\z@}
+ \hexnumber@{\count\@ne}
+ \hexnumber@{\count\tw@}
+ \hexnumber@{\count\thr@@}}}}
+
+
+% the encoding of the `UTF8' environment.
+
+\edef\CJK@UnicodeEnc{UTF8}
+
+
+% with \CJKchar you can access a character directly at a low level:
+% the parameters are the first and the second byte of the CJK character
+% code. The second parameter will be ignored if you address one-byte
+% encoded characters in SJIS.
+%
+% the optional parameter selects the encoding (using \CJKenc).
+%
+% for Unicode characters you must select UTF-8 encoding (but enter real
+% Unicode values).
+%
+% you can enter character codes with or without the 8th bit set (GL or
+% GR form) except for SJIS, Bg5 and UTF-8 encodings.
+
+\DeclareRobustCommand{\CJKchar}[3][]{
+ {\CJK@nobind@true
+
+ \edef\CJK@tempenc{#1}
+ \ifx\CJK@tempenc \@empty
+ \else
+ \let\CJK@oldenc \CJK@@@enc
+ \CJKenc{#1}
+ \fi
+
+ \edef\CJK@temp{UTF8}
+ \ifx\CJK@temp \CJK@@@enc
+ \Unicode{#2}{#3}
+ \else
+ \@tempcnta #2
+ \edef\CJK@tempa{#3}
+ \ifx\CJK@tempa \@empty% % test for one-byte SJIS characters
+ \else
+ \@tempcntb #3
+ \ifnum \CJK@min > 160\relax
+ \ifnum\@tempcnta < 128\relax
+ \advance\@tempcnta 128\relax
+ \advance\@tempcntb 128\relax
+ \fi
+ \fi
+ \edef\CJK@tempa{\the\@tempcntb}
+ \fi
+
+ \edef\CJK@temp{\the\@tempcnta}
+ \expandafter\csname CJK@\CJK@temp\expandafter\endcsname
+ \expandafter{\CJK@tempa}
+ \fi
+
+ \ifx\CJK@tempenc \@empty
+ \else
+ \ifx\CJK@global \global
+ \CJKenc{\CJK@oldenc}
+ \fi
+ \fi}
+
+ \CJK@ignorespaces}
+
+
+% with \Unicode you can access a Unicode character directly at a low level:
+% the parameters are the first and the second byte of the Unicode (real
+% Unicode values, not UTF-8).
+%
+% If the Unicode value is greater than U+FFFF, put the first two bytes
+% into #1, and the third byte into #2.
+
+\DeclareRobustCommand{\Unicode}[2]{
+ {\edef\CJK@temp{UTF8}
+ \ifx\CJK@temp \CJK@@@enc
+ \else
+ \PackageError{CJK}{
+ You can't use \protect\Unicode\space here}{
+ You must activate UTF-8 encoding to use \protect\Unicode.}
+ \fi
+ \ifnum #1 > 255\relax
+ \CJK@numbxToHex{\CJK@gtemp}{#1}
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{#1}
+ \fi
+ \def\CJK@tempa##1{
+ \lowercase{\edef\CJK@plane{##1}}}
+ \expandafter\CJK@tempa\expandafter{\CJK@gtemp}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+
+ \edef\CJK@tempa{
+ \curr@fontshape/\CJK@plane/\number #2/\CJK@direction}
+ \expandafter\ifx\csname\CJK@tempa\endcsname \relax
+ \def\CJKtemp{\CJKsymbol{#2}}
+ \else
+ \def\CJKtemp{\csname\CJK@tempa\endcsname}
+ \fi
+
+ \ifCJK@latin@
+ \CJKtemp
+ \else
+ \expandafter\CJK@testInList\expandafter\CJK@uniPunct
+ \expandafter{\CJK@plane}
+ \ifCJK@% % punctuation character
+ \CJK@numbToHex{\CJK@gtemp}{#2}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@@@enc}{\CJK@plane}{\CJK@gtemp}
+ \ifCJK@
+ \ifCJK@CJK@
+ \CJK@nobreakglue
+ \fi
+ \else
+ \ifCJK@hangul@
+ \discretionary{}{}{}
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \fi
+ \ifCJK@CJK@
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+ \fi
+
+ \CJKtemp
+
+ \CJK@testPrePunct{\CJK@@@enc}{\CJK@plane}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \else% % not a punctuation character
+ \CJK@testLastCJK
+ \ifCJK@
+ \ifCJK@hangul@
+ \discretionary{}{}{}
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \ifCJK@CJK@
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+ \fi
+ \CJKtemp
+ \CJK@CJK
+ \fi
+ \fi}
+
+ \CJK@ignorespaces}
+
+
+% the following commands are needed for UTF-8 encoding to select the proper
+% intercharacter glue.
+
+\newif\ifCJK@CJK@
+\newif\ifCJK@hangul@
+\newif\ifCJK@latin@
+
+\newcommand{\CJKCJKchar}{
+ \CJK@global\CJK@CJK@true
+ \CJK@global\CJK@hangul@false
+ \CJK@global\CJK@latin@false}
+
+\newcommand{\CJKhangulchar}{
+ \CJK@global\CJK@CJK@false
+ \CJK@global\CJK@hangul@true
+ \CJK@global\CJK@latin@false}
+
+\newcommand{\CJKlatinchar}{
+ \CJK@global\CJK@CJK@false
+ \CJK@global\CJK@hangul@false
+ \CJK@global\CJK@latin@true}
+
+\CJKCJKchar
+
+
+% the next commands control mapping of half-width katakana to full-width
+% glyphs within SJIS encoding.
+
+\newif\ifCJK@hwkatakana@
+
+\newcommand{\CJKhwkatakana}{\CJK@global\CJK@hwkatakana@true}
+
+\newcommand{\CJKnohwkatakana}{\CJK@global\CJK@hwkatakana@false}
+
+\CJKhwkatakana
+
+
+% you will find the innermost routines of the macros defined above in the
+% xxx.chr files. These routines are
+%
+% \CJK@char, \CJK@charx,
+% \CJK@altchar, \CJK@altcharx,
+% \CJK@punctchar, \CJK@punctcharx,
+% \CJK@sjischar, \CJK@sjispunctchar .
+
+
+% we need to scan comma separated lists of character codes (represented as
+% hexadecimal strings), testing whether a particular character is in the
+% list. The macro \CJK@testInList sets the flag \ifCJK@ globally if true.
+% Parameter #1 is the list, #2 the actual character code to test.
+%
+% see the documentation of the \ifnot@excluded macro in the doc package of
+% the standard LaTeX2e distribution for a detailed explanation of the
+% following tricky definitions.
+
+\newif\ifCJK@
+
+\def\CJK@stop{\CJK@stop}
+
+\def\CJK@testInList#1#2{
+ \def\CJK@tempa##1,#2,##2\CJK@stop{
+ \def\CJK@tempb{##2}
+ \global\CJK@true
+ \ifx\CJK@tempb \@empty
+ \global\CJK@false
+ \fi}
+ \expandafter\CJK@tempa\expandafter,#1,#2,\CJK@stop}
+
+
+% lists defined in CJK.enc for plane yy with encoding xx are assigned to
+% global macros \CJK@xx@yy@prePunct and \CJK@xx@yy@postPunct.
+
+\def\CJK@prePunct#1#2#3{
+ \expandafter\gdef\csname CJK@#1@#2@prePunct\endcsname{#3}}
+
+\def\CJK@postPunct#1#2#3{
+ \expandafter\gdef\csname CJK@#1@#2@postPunct\endcsname{#3}}
+
+
+% the next two functions scan the lists of punctuation characters of a
+% particular plane which should not occur at the beginning or at the end
+% of a line. They will be used in the xxx.chr files. Parameters are the
+% encoding, the plane and the character to be tested. Again these macros
+% raise or lower \ifCJK@.
+
+\def\CJK@testPrePunct#1#2#3{
+ \expandafter\expandafter\expandafter
+ \CJK@testInList
+ \expandafter\csname CJK@#1@#2@prePunct\expandafter\endcsname
+ \expandafter{#3}}
+
+\def\CJK@testPostPunct#1#2#3{
+ \expandafter\expandafter\expandafter
+ \CJK@testInList
+ \expandafter\csname CJK@#1@#2@postPunct\expandafter\endcsname
+ \expandafter{#3}}
+
+
+% the macro \CJKenc changes the encoding inside of a CJK environment. It
+% always uses the fontencoding defined with \CJKfontenc (this
+% behaviour is intentionally different from the similar command pair
+% \CJKfamily and \CJKencfamily).
+
+\DeclareRobustCommand{\CJKenc}[1]{
+ \expandafter\ifx\csname CJK@#1@fontenc\endcsname \relax
+ \PackageError{CJK}{
+ Encoding `#1' is not defined}{}
+ \fi
+
+ \edef\CJK@temp{\csname CJK@#1@fontenc\endcsname}
+
+ \expandafter\ifx\csname CJK@#1\CJK@temp @enc\endcsname \relax
+ \PackageError{CJK}{
+ Encoding `#1\CJK@temp' is not defined}{}
+ \else
+ \CJK@global\edef\CJK@@@enc{#1}
+ \CJK@selectEnc
+ \fi}
+
+\edef\CJK@@@enc{}
+
+% to change a fontencoding yyy for a specific encoding xxx say
+% \CJKfontenc{xxx}{yyy}. If you then change the encoding forth and back,
+% this fontencoding is still valid. You will need this command only in
+% cases where the fonts are not CJK-fontencoded, such as pmC or dnp
+% fontencodings.
+%
+% if you define a new encoding `foo', you *must* supply the command
+% `\CJKfontenc{foo}{}' (note the empty second parameter) since the
+% encoding existence test relies on this.
+
+\DeclareRobustCommand{\CJKfontenc}[2]{
+ \expandafter\CJK@global\expandafter\edef
+ \csname CJK@#1@fontenc\endcsname{#2}
+ \CJK@selectEnc}
+
+% \CJKfamily{xxx} selects the shape xxx for all encodings. It will override
+% \CJKencfamily, i.e., if you change the encoding, the family will be
+% the same. To reactivate \CJKencfamily, say `\CJKfamily{}'.
+%
+% For backward compatibility the macros \CJKshape and \CJKencshape are set
+% to \CJKfamily and \CJKencfamily, respectively.
+
+\DeclareRobustCommand{\CJKfamily}[1]{
+ \CJK@global\edef\CJK@globalfamily{#1}
+ \CJK@selectFamily}
+
+\edef\CJK@globalfamily{}
+
+% to change a family for a specific encoding xxx (and a font encoding yyy),
+% use \CJKencfamily. If you then change the encoding forth and back,
+% this family is still valid. This macro is especially useful with
+% cjk-enc.el since it allows to change the encoding without the need to
+% select a (possibly different) family each time. See the various
+% encoding definitions in CJK.enc for the default values.
+%
+% note that it is equivalent to say \CJKencfamily[yyy]{xxx}{...} and
+% \CJKencfamily{xxxyyy}{...}.
+
+\DeclareRobustCommand{\CJKencfamily}[3][]{
+ \expandafter\CJK@global\expandafter\edef
+ \csname CJK@#2#1@family\endcsname{#3}
+ \CJK@selectFamily}
+
+
+\let\CJKshape \CJKfamily
+\let\CJKencshape \CJKencfamily
+
+
+% the next commands select the actual family and encoding.
+
+\def\CJK@selFam{
+ \edef\CJK@temp{\csname CJK@\CJK@@@enc @fontenc\endcsname}
+
+ \ifx\CJK@globalfamily \@empty
+ \CJK@global\edef\CJK@family{
+ \csname CJK@\CJK@@@enc\CJK@temp @family\endcsname}
+ \else
+ \CJK@global\edef\CJK@family{\CJK@globalfamily}
+ \fi}
+
+
+% \CJK@@@enc is the encoding selected by the user, \CJK@enc will be really
+% used. With the internal hook \CJK@@@xxx@hook we can modify \CJK@enc
+% for the encoding xxx if necessary. With the hook \CJK@xxx@hook other
+% packages can add stuff which should be executed immediately after the
+% encoding has changed.
+
+\def\CJK@selEnc{
+ \edef\CJK@temp{\csname CJK@\CJK@@@enc @fontenc\endcsname}
+
+ \CJK@global\edef\CJK@enc{
+ \csname CJK@\CJK@@@enc\CJK@temp @nfssenc\endcsname}
+ \csname CJK@@@\CJK@@@enc\CJK@temp @hook\endcsname
+
+ \csname CJK@\CJK@@@enc\CJK@temp @enc\endcsname
+ \CJK@selectFamily
+ \csname CJK@\CJK@@@enc @hook\endcsname}
+
+% and here the user-visible macro to add something to the encoding hook.
+% First parameter is the encoding, second parameter the data to be
+% appended.
+
+\def\CJKaddEncHook#1#2{
+ \expandafter\let\expandafter\CJK@temp \csname CJK@#1@hook\endcsname
+ \expandafter\def\expandafter\CJK@temp\expandafter{
+ \CJK@temp #2}
+ \expandafter\let\csname CJK@#1@hook\endcsname \CJK@temp}
+
+
+% we disable \CJK@selectFamily and \CJK@selectEnc until a CJK environment
+% starts to avoid side effects while defining default values for
+% encodings (outside of a CJK environment).
+
+\let\CJK@selectFamily \relax
+\let\CJK@selectEnc \relax
+
+
+% CJK.enc contains the \CJK@...@enc macros and the punctuation lists.
+
+\input CJK.enc
+
+
+% the macros \CJK@testLastKern and \CJK@testLastCJK check the last kern and
+% raise or lower \ifCJK@.
+
+\edef\CJK@kern{\kern -2sp\kern 2sp}
+\edef\CJK@CJK{\kern -1sp\kern 1sp}
+
+\let\CJKkern \CJK@kern
+
+% does previous CJK character request nonbreakable glue?
+
+\def\CJK@testLastKern{
+ \global\CJK@false
+ \ifnum\lastkern = \tw@
+ \global\CJK@true
+ \fi
+ \ifnum\lastkern = 5% % request from ruby.sty
+ \global\CJK@true
+ \fi}
+
+% is previous character a CJK character?
+
+\def\CJK@testLastCJK{
+ \global\CJK@false
+ \ifnum\lastkern = \@ne
+ \global\CJK@true
+ \fi}
+
+
+% we only check for lower and upper bounds, not for possible gaps in the
+% range of the second byte, as it happens for Big5 and SJIS encoding.
+
+\def\CJK@err{
+ \PackageError{CJK}{
+ Invalid character code}{
+ The second byte of the CJK code is out of range.\MessageBreak
+ Do you use the right encoding scheme?}}
+
+\def\CJK@errx{
+ \PackageError{CJK}{
+ Invalid character code}{
+ The third byte of the CJK code is out of range.\MessageBreak
+ Do you use the right encoding scheme?}}
+
+\def\CJK@errxx{
+ \PackageError{CJK}{
+ Invalid character code}{
+ The CJK code is out of range for this font encoding.\MessageBreak
+ Do you use the right encoding scheme?}}
+
+
+% we now define a set of new size functions:
+% `CJK', `sCJK', `CJKfixed', and `sCJKfixed' are similar to `' (empty),
+% `s', `fixed', and `sfixed' except that the value of \CJK@plane is
+% appended to \font@name.
+%
+% `CJKsub', `CJKssub' are similar to `sub' and `ssub' except that the font
+% substitution warning appears only once per CJK fontset.
+%
+% `CJKb', `sCJKb', `CJKfixedb', and `sCJKfixedb' are absolutely identical
+% to the functions without the final `b'; they just exist to overcome
+% a special feature of LaTeX:
+%
+% consider this example:
+%
+% \DeclareFontShape{C00}{kai}{m}{n}{<-> CJK * ntukai}{}
+% \DeclareFontShape{C00}{kai}{bx}{n}{<-> CJK * ntukai}{\CJKbold}
+%
+% the internal name of the macro which executes the last parameter
+% (\CJKbold) is identical to the fifth parameter (without spaces), in
+% this case `<->CJK*ntukai' -- the same name for both font shapes! This
+% means that the latter font shape definition overwrites the former.
+% Thus we have to write
+%
+% \DeclareFontShape{C00}{kai}{bx}{n}{<-> CJKb * ntukai}{\CJKbold}
+%
+% to get a different internal macro name.
+
+\def\CJK@curr@fontshape{CJK@\f@encoding/\f@family/\f@series/\f@shape}
+
+\DeclareSizeFunction{CJK}{\CJK@empty\@font@warning}
+\DeclareSizeFunction{CJKb}{\CJK@empty\@font@warning}
+\DeclareSizeFunction{sCJK}{\CJK@empty\@font@info}
+\DeclareSizeFunction{sCJKb}{\CJK@empty\@font@info}
+
+\def\CJK@empty#1{
+ \@tempdimb \f@size\p@
+ \ifx\optional@arg \@empty
+ \else
+ \expandafter\ifx
+ \csname CJK@\mandatory@arg/\f@size/\the\@tempdimb\endcsname \relax
+ \@tempdimb \optional@arg\@tempdimb
+ #1{Font\space shape\space `\curr@fontshape'\space
+ will\space be\MessageBreak
+ scaled\space to\space size\space \the\@tempdimb}
+ \expandafter
+ \gdef\csname CJK@\mandatory@arg/\f@size/\the\@tempdimb\endcsname{}
+ \fi
+ \fi
+ \edef\external@font{
+ \mandatory@arg\CJK@plane\space at \the\@tempdimb}
+ \xdef\font@name{
+ \csname \curr@fontshape/\f@size/\CJK@plane\endcsname}
+ \expandafter\global\expandafter\let
+ \csname \CJK@curr@fontshape\expandafter\endcsname
+ \csname \curr@fontshape\endcsname}
+
+\DeclareSizeFunction{CJKfixed}{\CJK@fixed\@font@warning}
+\DeclareSizeFunction{CJKfixedb}{\CJK@fixed\@font@warning}
+\DeclareSizeFunction{sCJKfixed}{\CJK@fixed\@font@info}
+\DeclareSizeFunction{sCJKfixedb}{\CJK@fixed\@font@info}
+
+\def\CJK@fixed#1{
+ \ifx\optional@arg \@empty
+ \edef\external@font{
+ \mandatory@arg\CJK@plane}
+ \else
+ \edef\external@font{
+ \mandatory@arg\CJK@plane\space at \optional@arg pt}
+ \fi
+ \xdef\font@name{
+ \csname \curr@fontshape/\f@size/\CJK@plane\endcsname}
+ #1{External\space font\space `\external@font'\space loaded\space
+ for\space size\MessageBreak
+ <\f@size>}
+ \expandafter\global\expandafter\let
+ \csname \CJK@curr@fontshape\expandafter\endcsname
+ \csname \curr@fontshape\endcsname}
+
+\DeclareSizeFunction{CJKsub}{\CJK@sub\@font@warning}
+\DeclareSizeFunction{CJKssub}{\CJK@sub\@font@info}
+
+\def\CJK@sub#1{
+ \edef\mandatory@arg{\f@encoding/\mandatory@arg}
+ \begingroup
+ \expandafter\split@name\mandatory@arg/\@nil
+ \try@load@fontshape
+ \endgroup
+ \let\f@user@size\f@size
+ \expandafter\ifx\csname\mandatory@arg\endcsname \relax
+ \errmessage{No\space declaration\space for\space shape\space
+ \mandatory@arg}
+ \error@fontshape
+ \else
+ \expandafter\ifx\csname CJK@\mandatory@arg/\f@size\endcsname \relax
+ #1{Font\space shape\space `\curr@fontshape'\MessageBreak
+ in\space size\space <\f@size>\space not\space available.\MessageBreak
+ Font\space shape\space `\mandatory@arg'\MessageBreak
+ tried\space instead}
+ \expandafter\gdef\csname CJK@\mandatory@arg/\f@size\endcsname{}
+ \fi
+ \expandafter\split@name\mandatory@arg/\@nil
+ \fi
+ \edef\f@size{\f@user@size}
+ \get@external@font
+ \do@subst@correction
+ \expandafter\global\expandafter\let
+ \csname \CJK@curr@fontshape\expandafter\endcsname
+ \csname \curr@fontshape\endcsname}
+
+% the following size functions are needed for the DNP fonts in JIS encoding.
+% `DNPgen' is similar to `gen' but ignores the optional argument.
+% `DNP' is similar to `gen' but the optional argument is used to
+% indicate the designsize.
+%
+% see the comment above for an explanation of DNPb and DNPgenb.
+
+\DeclareSizeFunction{DNPgen}{\CJK@DNPgen}
+\DeclareSizeFunction{DNPgenb}{\CJK@DNPgen}
+
+\def\CJK@DNPgen{
+ \edef\external@font{
+ \mandatory@arg\CJK@plane\f@size}
+ \xdef\font@name{
+ \csname \curr@fontshape/\f@size/\CJK@plane\endcsname}
+ \expandafter\global\expandafter\let
+ \csname \CJK@curr@fontshape\expandafter\endcsname
+ \csname \curr@fontshape\endcsname}
+
+\DeclareSizeFunction{DNP}{\CJK@DNP}
+\DeclareSizeFunction{DNPb}{\CJK@DNP}
+
+\def\CJK@DNP{
+ \@tempdimb \f@size\p@
+ \edef\external@font{
+ \mandatory@arg\CJK@plane\optional@arg\space at \the\@tempdimb}
+ \xdef\font@name{
+ \csname \curr@fontshape/\f@size/\CJK@plane\endcsname}
+ \expandafter\global\expandafter\let
+ \csname \CJK@curr@fontshape\expandafter\endcsname
+ \csname \curr@fontshape\endcsname}
+
+
+% we also must redefine \pickup@font to append \CJK@plane to the font name
+% if the particular subfont is already known.
+
+\def\pickup@font{
+ \CJK@ifundefined\CJK@plane
+ {\expandafter\ifx\font@name \relax% % old definition
+ \define@newfont
+ \fi}
+ {\expandafter% % CJK extension
+ \ifx\csname \curr@fontshape/\f@size/\CJK@plane\endcsname \relax
+ \define@newfont
+ \else
+ \xdef\font@name{
+ \csname \curr@fontshape/\f@size/\CJK@plane\endcsname}
+ \fi}}
+
+% the other LaTeX2e command we must redefine is \selectfont. It will
+% now reset \ifCJK@bold@ and calls \CJK@curr@fontshape additionally
+% (if it exists) to execute the loading-setting parameter of
+% \DeclareFontShape each time we switch to this font.
+% \CJK@curr@fontshape has been defined by the above size functions.
+
+\DeclareRobustCommand{\selectfont}{
+ \ifx\f@linespread \baselinestretch
+ \else
+ \set@fontsize\baselinestretch\f@size\f@baselineskip
+ \fi
+ \xdef\font@name{\csname\curr@fontshape/\f@size\endcsname}
+ \pickup@font
+ \font@name
+ \expandafter% % CJK extension
+ \ifx\csname CJK@\curr@fontshape\endcsname \relax
+ \else
+ \CJK@bold@false
+ \csname CJK@\curr@fontshape\endcsname
+ \fi
+ \size@update
+ \enc@update}
+
+
+% additional vertical and horizontal information for a font is stored in
+% files with the extension `.fdx'. We extend LaTeX's
+% \try@load@fontshape@ macro to load them.
+%
+% the macros \CJKhdef, \CJKvdef, \CJKhlet and \CJKvlet should be used to
+% handle commands in `.fdx' files.
+
+\def\CJK@load@fdx{
+ \expandafter\ifx\csname \f@encoding+\f@family+x\endcsname \relax
+ \global\expandafter\let\csname \f@encoding+\f@family+x\endcsname \@empty
+ \def\CJKhdef##1##2{
+ \expandafter\gdef\csname \CJK@enc/\CJK@family/##1/h\endcsname{##2}}
+ \def\CJKhlet##1##2{
+ \edef\reserved@a{\CJK@enc/\CJK@family/##1/h}
+ \edef\reserved@b{\CJK@enc/\CJK@family/##2/h}
+ \global\expandafter\let
+ \csname\reserved@a\expandafter\endcsname \csname\reserved@b\endcsname}
+ \def\CJKvdef##1##2{
+ \expandafter\gdef\csname \CJK@enc/\CJK@family/##1/v\endcsname{##2}}
+ \def\CJKvlet##1##2{
+ \edef\reserved@a{\CJK@enc/\CJK@family/##1/v}
+ \edef\reserved@b{\CJK@enc/\CJK@family/##2/v}
+ \global\expandafter\let
+ \csname\reserved@a\expandafter\endcsname \csname\reserved@b\endcsname}
+ \edef\reserved@a{
+ \lowercase{\noexpand\InputIfFileExists{\f@encoding\f@family.fdx}}}
+ \reserved@a{}{}
+ \fi}
+
+\expandafter\def\expandafter\try@load@fontshape\expandafter{
+ \try@load@fontshape
+ \CJK@load@fdx}
+
+
+% \CJKglue defines the stretchability of CJK characters.
+
+\newcommand{\CJKglue}{\hskip \z@ \@plus .08\baselineskip}
+
+\def\CJK@nobreakglue{
+ \nobreak
+ \CJKglue
+ \nobreak}
+
+% if the `verbatim' package is loaded it is possible to improve the output
+% automatically, namely, to avoid breaking of overfull lines in a
+% verbatim environment. The following command will install a hook to
+% suppress insertion of glue between CJK glyphs. MULEenc.sty will extend
+% it for Thai glyphs.
+
+\def\CJK@verbatim{
+ \addto@hook{\every@verbatim}{
+ \renewcommand{\CJKglue}{}}}
+\CJK@ifundefined\mule@verbatim
+ {\mule@verbatim{}}
+ {}
+
+\def\CJKverbatim{
+ \mule@verbatim
+ \CJK@verbatim}
+
+
+% increasing \CJKtolerance will allow more space between Hangul words.
+
+\newcommand{\CJKtolerance}{400}
+
+
+% \CJKtilde changes the definition of the active `~' character to embed
+% non-CJK words into CJK text. The horizontal space defined here has
+% a smaller width than an ordinary space character and is breakable.
+% It will suppress spaces afterwards.
+% The original definition will be preserved within \nbs, which is
+% a shorthand for the LaTeX command \nobreakspace.
+%
+% \standardtilde is the opposite command.
+
+\let\nbs \nobreakspace
+
+\DeclareRobustCommand{\CJKtilde}{
+ \CJK@global\def~{\hspace{0.25em plus 0.125em minus 0.08em}\ignorespaces}}
+\DeclareRobustCommand{\standardtilde}{
+ \CJK@global\def~{\nobreakspace{}}}
+
+
+% \CJKspace and \CJKnospace enables the user to switch between a CJK and a
+% CJK* environment without leaving the actual environment:
+%
+% \CJKnospace switches from CJK to CJK*
+% \CJKspace switches from CJK* to CJK
+%
+% the definitions are in MULEenc.sty also.
+
+\DeclareRobustCommand{\CJKspace}{
+ \CJK@global\let\CJK@ignorespaces \@empty}
+\DeclareRobustCommand{\CJKnospace}{
+ \CJK@global\let\CJK@ignorespaces \ignorespaces}
+
+
+% \CJKindent sets \parindent to two ideographic spaces. \CJK@spaceChar
+% is defined in CJK.enc for all encodings.
+
+\newbox\CJK@indent
+
+\providecommand{\CJKindent}{
+ \setbox\CJK@indent\hbox{\CJK@spaceChar\CJK@spaceChar}
+ \parindent\wd\CJK@indent
+}
+
+
+% make all characters possibly used active so they can become macros.
+
+\def\CJK@makeActive{
+ \@tempcnta "080\relax
+ \loop
+ \CJK@active\catcode\@tempcnta \active
+ \ifnum\@tempcnta < "0FE\relax
+ \advance\@tempcnta \@ne
+ \repeat}
+
+\def\CJK@makeInactive{
+ \@tempcnta "080\relax
+ \loop
+ \CJK@active\catcode\@tempcnta 12\relax
+ \ifnum\@tempcnta < "0FE\relax
+ \advance\@tempcnta \@ne
+ \repeat}
+
+
+% the following macro is a signature for `CJKspace.sty'.
+
+\def\CJK@@@{}
+
+
+% we assign to each active character ^^xx the macro \CJK@XX (if expansion
+% occurs); this will be done in the .bdg files. Then the various .enc
+% files define \CJK@.. (using \CJK@namegdef) with encoding-specific
+% macros.
+
+\def\CJK@namedef#1{
+ \CJK@active\def#1{
+ \CJK@@@
+ \ifx\protect \@typeset@protect
+ \string #1
+ \else
+ \noexpand #1
+ \fi}}
+
+\def\CJK@namepdef#1{
+ \CJK@active\def#1{
+ \CJK@@@
+ \ifx\protect \@typeset@protect
+ \expandafter\expandafter\expandafter\CJK@X
+ \expandafter\string\expandafter#1
+ \else
+ \noexpand #1
+ \fi}}
+
+\def\CJK@nameppdef#1{
+ \CJK@active\def#1{
+ \CJK@@@
+ \ifx\protect \@typeset@protect
+ \expandafter\expandafter\expandafter\CJK@XX
+ \expandafter\string\expandafter#1
+ \else
+ \noexpand #1
+ \fi}}
+
+\def\CJK@namepppdef#1{
+ \CJK@active\def#1{
+ \CJK@@@
+ \ifx\protect \@typeset@protect
+ \expandafter\expandafter\expandafter\CJK@XXX
+ \expandafter\string\expandafter#1
+ \else
+ \noexpand #1
+ \fi}}
+
+\def\CJK@nameppppdef#1{
+ \CJK@active\def#1{
+ \CJK@@@
+ \ifx\protect \@typeset@protect
+ \expandafter\expandafter\expandafter\CJK@XXXX
+ \expandafter\string\expandafter#1
+ \else
+ \noexpand #1
+ \fi}}
+
+
+\def\CJK@X#1{
+ \csname CJK@\number `#1\endcsname\CJK@ignorespaces}
+
+% two possibilities:
+% either \CJK@XX <arg1> <arg2>
+% or \CJK@XX <arg1> \protect <arg2>
+\def\CJK@XX#1#2{
+ \ifx #2\protect
+ \expandafter\CJK@XXp\expandafter#1
+ \else
+ \csname CJK@\number `#1\endcsname{`#2}\CJK@ignorespaces
+ \fi}
+\def\CJK@XXp#1#2{
+ \csname CJK@\number `#1\endcsname{`#2}\CJK@ignorespaces}
+
+% two possibilities:
+% either \CJK@XXX <arg1> <arg2> <arg3>
+% or \CJK@XXX <arg1> \protect <arg2> \protect <arg3>
+\def\CJK@XXX#1#2#3{
+ \ifx #2\protect
+ \expandafter\CJK@XXXp\expandafter#1#3
+ \else
+ \csname CJK@\number `#1\endcsname{`#2}{`#3}\CJK@ignorespaces
+ \fi}
+\def\CJK@XXXp#1#2#3#4{
+ \csname CJK@\number `#1\endcsname{`#2}{`#4}\CJK@ignorespaces}
+
+% two possibilities:
+% either \CJK@XXXX <arg1> <arg2> <arg3> <arg4>
+% or \CJK@XXXX <arg1> \protect <arg2> \protect <arg3> \protect <arg4>
+\def\CJK@XXXX#1#2#3#4{
+ \ifx #2\protect
+ \expandafter\CJK@XXXXp\expandafter#1#3
+ \else
+ \csname CJK@\number `#1\endcsname{`#2}{`#3}{`#4}\CJK@ignorespaces
+ \fi}
+\def\CJK@XXXXp#1#2#3#4#5{
+ \csname CJK@\number `#1\endcsname{`#2}{`#3}{`#5}\CJK@ignorespaces}
+
+
+% these auxiliary macros reset \lccode's and \uccode's of characters
+% 0x80-0xFF. This overrides the values set by LaTeX2e.
+
+\def\CJK@upperReset{
+ \@tempcnta "080\relax
+ \loop
+ \CJK@local\uccode\@tempcnta \z@
+ \ifnum\@tempcnta < "0FF\relax
+ \advance\@tempcnta \@ne
+ \repeat}
+
+\def\CJK@lowerReset{
+ \@tempcnta "080\relax
+ \loop
+ \CJK@local\lccode\@tempcnta \z@
+ \ifnum\@tempcnta < "0FF\relax
+ \advance\@tempcnta \@ne
+ \repeat}
+
+
+% finally come the CJK environments:
+%
+% CJK* will swallow spaces after a CJK character, whereas CJK will not.
+%
+% the first parameter selects the CJK encoding, the second the CJK font
+% family; the optional argument selects the fontencoding.
+%
+% each time a CJK or CJK* environment will be opened the hook \CJKhook will
+% be called (this feature is used by cjk-enc.el).
+%
+% always end the line after saying \begin{CJK} or \begin{CJK*};
+% any characters on the same line will have already been read with
+% their non-CJK meanings.
+
+\def\CJK@envStart#1#2#3{
+ \CJK@upperReset
+ \ifCJK@lowercase@
+ \CJK@lowerReset
+ \fi
+
+ \CJK@makeActive
+
+ % we enable \CJK@selectFamily and \CJK@selectEnc.
+
+ \CJK@global\let\CJK@selectFamily \CJK@selFam
+ \CJK@global\let\CJK@selectEnc \CJK@selEnc
+
+ \def\CJK@@@enc{#2}
+ \ifx\CJK@@@enc \@empty
+ \PackageInfo{CJK}{
+ no encoding parameter given,\MessageBreak
+ waiting for \protect\CJKenc\space commands}
+ \else
+ \CJKenc{#2}
+ \fi
+ \CJKfontenc{#2}{#1}
+ \CJKfamily{#3}
+ \def\CJK@series{\f@series}
+ \def\CJK@shape{\f@shape}
+
+ \csname CJKhook\endcsname}
+
+\def\CJK@envEnd{
+ \ifx\CJK@global \global
+ \CJK@makeInactive
+ \CJK@global\let\CJK@selectFamily \relax
+ \CJK@global\let\CJK@selectEnc \relax
+ \fi}
+
+\newenvironment{CJK}[3][]{
+ \CJKspace
+ \CJK@envStart{#1}{#2}{#3}
+ }{
+ \CJK@envEnd}
+
+\newenvironment{CJK*}[3][]{
+ \CJKnospace
+ \CJK@envStart{#1}{#2}{#3}
+ }{
+ \CJK@envEnd}
+
+
+% \CJKcaption{caption} will test whether we are in a CJK environment; if yes,
+% it tries to load `<caption>.cpx' (this is <caption>.cap in preprocessed
+% mode).
+
+\newcommand{\CJKcaption}[1]{
+ \ifx\CJK@actualBinding \@empty
+ \PackageError{CJK}{
+ You must be inside of a CJK environment to use \protect\CJKcaption}{}
+ \else
+ \makeatletter
+ \InputIfFileExists{#1.cpx}{}{
+ \PackageError{CJK}{
+ Can't find #1.cpx}{
+ The default captions are used if you continue.}}
+ \makeatother
+ \fi}
+
+
+% the writing direction.
+
+\def\CJK@direction{h}
+
+
+% reset endline character.
+
+\endlinechar `\^^M
+
+
+% in case some customization is necessary it should be done in the
+% configuration file `CJK.cfg' and *not* here.
+
+\InputIfFileExists{CJK.cfg}
+ {\typeout{^^J
+ *****************************************^^J
+ * Local configuration file CJK.cfg used *^^J
+ *****************************************^^J}}
+ {}
+
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/CJKfntef.sty b/language/chinese/CJK/cjk-4.8.4/texinput/CJKfntef.sty
new file mode 100644
index 0000000000..5a1d44df26
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/CJKfntef.sty
@@ -0,0 +1,509 @@
+% This is the file CJKfntef.sty of the CJK package
+% extending CJKulem.sty with more font effects
+%
+% created by Wenchang Sun <sunwch@hotmail.com>
+% Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+%
+% Macros:
+% \CJKunderdot{...}
+% \CJKunderline[*]{...}
+% \CJKunderdblline[*]{...}
+% \CJKunderwave[*]{...}
+% \CJKsout[*]{...}
+% \CJKxout[*]{...}
+% \varCJKunderline
+% \CJKunderanyline
+% \CJKunderanysymbol
+%
+% The following nesting combinations are allowed:
+%
+% \CJKunderdot{...\CJKunderline[*]{...}...}
+% \CJKunderdot{...\CJKunderdblline[*]{...}...}
+% \CJKunderdot{...\CJKunderwave[*]{...}...}
+% \CJKunderdot{...\CJKsout[*]{...}...}
+% \CJKunderdot{...\CJKxout[*]{...}...}
+%
+% \CJKunderline[*]{...\CJKunderdot{...}...}
+% \CJKunderdblline[*]{...\CJKunderdot{...}...}
+% \CJKunderwave[*]{...\CJKunderdot{...}...}
+% \CJKsout[*]{...\CJKunderdot{...}...}
+% \CJKxout[*]{...\CJKunderdot{...}...}
+%
+% Environment:
+% CJKfilltwosides
+%
+%
+% Here an example which shows how to use \CJKunderanysymbol.
+%
+% \def\varCJKunderdot{%
+% \CJKunderanysymbol{0.5em}{$\cdot$}%
+% }
+%
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\NeedsTeXFormat{LaTeX2e}[1998/06/01]
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesPackage{CJKfntef}[\filedate\space\fileversion]
+
+\RequirePackage{CJK}
+\RequirePackage{CJKulem}
+
+
+\endlinechar \m@ne
+
+
+\ifx\CJKpunctsymbol\undefined
+ \PackageWarning{CJKfntef}{
+ You need to download the last version of the CJK package\MessageBreak
+ to keep CJK punctuation from being underdotted}
+ \let\CJKpunctsymbol\CJKsymbol
+\fi
+
+
+\newskip\CJK@fntefSkip
+\newcount\CJK@nest
+\newdimen\CJK@fntefDimen
+\newbox\CJK@underdotBox
+\newbox\CJK@ULbox
+
+\newif\ifCJK@UL@
+\CJK@UL@false
+\newif\ifCJK@sxout@
+\CJK@sxout@false
+
+
+\newcommand{\CJKunderdotbasesep}{0.05em}
+\newcommand{\CJKunderdotsep}{0.04em}
+\newcommand{\CJKunderlinebasesep}{0.20em}
+\newcommand{\CJKunderlinesep}{0.07em}
+\newcommand{\CJKunderdbllinebasesep}{0.20em}
+\newcommand{\CJKunderdbllinesep}{0.17em}
+\newcommand{\CJKunderwavebasesep}{0.20em}
+\newcommand{\CJKunderwavesep}{0.00em}
+\newcommand{\CJKsoutheight}{0.35em}
+
+\let\CJKf@global\global
+
+\ifx\color\undefined
+ \def\CJKunderdotcolor{}
+ \def\CJKunderwavecolor{}
+ \def\CJKunderlinecolor{}
+ \def\CJKunderdbllinecolor{}
+ \def\CJKsoutcolor{}
+ \def\CJKxoutcolor{}
+\else
+ \def\CJKunderdotcolor{\color{red}}
+ \def\CJKunderwavecolor{\color{blue}}
+ \def\CJKunderlinecolor{\color{blue}}
+ \def\CJKunderdbllinecolor{\color{blue}}
+ \def\CJKsoutcolor{\color{red}}
+ \def\CJKxoutcolor{\color{blue}}
+\fi
+
+
+%
+% \CJKunderdot:
+% Add a dot under every CJK non-punctuation character. The dot position
+% can be controlled by redefining \CJKunderdotsep (for nesting) and
+% \CJKunderdotbasesep.
+%
+% The dot color can be changed by redefining \CJKunderdotcolor.
+%
+\def\CJK@underdotSkip{\z@}
+
+\def\CJK@preUnderdot{
+ \ifnum\CJK@nest = \z@
+ \CJKf@global\advance\CJK@fntefSkip \CJKunderdotbasesep
+ \fi
+ \CJKf@global\advance\CJK@nest \@ne
+
+ \xdef\CJK@underdotSkip{\the\CJK@fntefSkip}
+ \CJKf@global\advance\CJK@fntefSkip \CJKunderdotsep
+
+ \CJKf@global\setbox\CJK@underdotBox\hbox{{
+ \CJKunderdotcolor
+ {$\cdot$}}}
+ \CJKf@global\advance\CJK@fntefSkip \ht\CJK@underdotBox
+ \CJKf@global\advance\CJK@fntefSkip \dp\CJK@underdotBox}
+
+\def\CJK@postUnderdot{
+ \CJKf@global\advance\CJK@fntefSkip -\CJKunderdotsep
+ \CJKf@global\advance\CJK@fntefSkip -\ht\CJK@underdotBox
+ \CJKf@global\advance\CJK@fntefSkip -\dp\CJK@underdotBox
+ \CJKf@global\def\CJK@underdotSkip{\z@}
+
+ \CJKf@global\advance\CJK@nest \m@ne
+ \ifnum\CJK@nest = \z@
+ \CJKf@global\advance\CJK@fntefSkip -\CJKunderdotbasesep
+ \fi}
+
+
+\ifcsname XeTeXinterchartokenstate\endcsname
+ \def\XeTeX@CJKfntef@hook{
+ \XeTeXinterchartokenstate=0}
+\else
+ \let\XeTeX@CJKfntef@hook\relax
+\fi
+
+\newcommand{\CJKunderdot}[1]{
+ \CJK@preUnderdot
+
+ \CJKf@global\let\CJK@underdotSymbol \CJKsymbol
+ \CJKf@global\def\CJKsymbol##1{
+ \CJK@underdotSymbol{##1}
+
+ \settowidth\CJK@fntefDimen{{
+ \XeTeX@CJKfntef@hook
+ \CJK@underdotSymbol{##1}}}
+ \leavevmode
+ \rlap{
+ \vbox to \z@ {
+ \vskip\CJK@underdotSkip
+ \hbox to \z@ {
+ \hskip -\CJK@fntefDimen
+ \hss
+ \copy\CJK@underdotBox
+ \hss}
+ \vss}}}
+ #1
+ \CJKf@global\let\CJKsymbol \CJK@underdotSymbol
+
+ \CJK@postUnderdot
+ \ignorespaces}
+
+
+%
+% Auxiliary macros needed by \CJKunderline and friends.
+%
+\def\UL@CJKpunctnobreakglue{
+ \ifx\ \LA@space
+ \LA@CJKglue
+ \else
+ \egroup
+ \UL@stop
+ \UL@start
+ \bgroup
+ \fi}
+
+\def\CJK@fntefSave{
+ \CJKf@global\let\UL@UL@CJKnobreakglue \UL@CJKnobreakglue
+ \CJKf@global\let\UL@CJKsymbol \CJKsymbol
+ \CJKf@global\let\UL@CJKpunctsymbol \CJKpunctsymbol}
+
+\def\CJK@fntefRestore{
+ \CJKf@global\let\UL@CJKnobreakglue \UL@UL@CJKnobreakglue
+ \CJKf@global\let\CJKsymbol \UL@CJKsymbol
+ \CJKf@global\let\CJKpunctsymbol \UL@CJKpunctsymbol}
+
+\def\CJK@preUL{
+ \ifCJK@UL@
+ \PackageError{CJKfntef}
+ {Nesting error}
+ {Nesting \string\CJKunderwave[*], \string\CJKunderline[*],
+ \string\CJKsout[*], \string\CJKxout[*],\MessageBreak
+ or \string\CJKunderdblline[*] is not supported.}
+ \else
+ \CJKf@global\CJK@UL@true
+ \fi
+ \ifCJK@sxout@
+ \CJKf@global\def\CJK@ULskip{\z@}
+ \else
+ \ifnum\CJK@nest = \z@
+ \CJKf@global\advance\CJK@fntefSkip \CJK@ULbasesep
+ \fi
+ \CJKf@global\advance\CJK@nest \@ne
+
+ \CJKf@global\advance\CJK@fntefSkip \ht\CJK@ULbox
+ \CJKf@global\advance\CJK@fntefSkip \dp\CJK@ULbox
+
+ \xdef\CJK@ULskip{\the\CJK@fntefSkip}
+ \CJKf@global\advance\CJK@fntefSkip \CJK@ULsep
+ \fi}
+
+\def\CJK@postUL{
+ \CJKf@global\CJK@UL@false
+
+ \ifCJK@sxout@
+ \CJKf@global\CJK@sxout@false
+ \else
+ \CJKf@global\advance\CJK@fntefSkip -\CJK@ULsep
+ \CJKf@global\advance\CJK@fntefSkip -\ht\CJK@ULbox
+ \CJKf@global\advance\CJK@fntefSkip -\dp\CJK@ULbox
+
+ \CJKf@global\advance\CJK@nest \m@ne
+ \ifnum\CJK@nest = \z@
+ \CJKf@global\advance\CJK@fntefSkip -\CJK@ULbasesep
+ \fi
+ \fi}
+
+\def\CJK@UL{
+ \CJK@preUL
+ \CJK@fntefSave
+
+ \CJKf@global\let\UL@CJKnobreakglue \UL@CJKpunctnobreakglue
+ \CJKf@global\def\CJKsymbol{
+ \CJKf@global\def\UL@leadtype{\leaders\copy\ULC@box}
+ \UL@CJKsymbol}
+ \CJKf@global\def\CJKpunctsymbol{
+ \CJKf@global\def\UL@leadtype{}
+ \UL@CJKpunctsymbol}
+
+ \bgroup
+ \markoverwith{
+ \lower\CJK@ULskip\copy\CJK@ULbox}
+ \aftergroup\CJK@fntefRestore
+ \aftergroup\CJK@postUL
+ \ULon}
+
+\def\CJK@@UL{
+ \CJK@preUL
+ \bgroup
+ \markoverwith{
+ \lower\CJK@ULskip\copy\CJK@ULbox}
+ \aftergroup\CJK@postUL
+ \ULon}
+
+
+%
+% \CJKunderwave*:
+% The same as \uwave except that the wavy line is colored (you can change
+% the color by redefining \CJKunderwavecolor), and the position can be
+% controlled by redefining \CJKunderwavesep (for nesting) and
+% \CJKunderwavebasesep.
+%
+% \CJKunderwave:
+% The same as \CJKunderwave* but ignoring CJK punctuation characters.
+%
+\newcommand{\CJKunderwave}{
+ \CJKf@global\let\CJK@ULsep \CJKunderwavesep
+ \CJKf@global\let\CJK@ULbasesep \CJKunderwavebasesep
+ \CJKf@global\setbox\CJK@ULbox\hbox{{
+ \CJKunderwavecolor
+ \sixly
+ \char 58}}
+
+ \@ifstar\CJK@@UL\CJK@UL}
+
+
+%
+% \CJKunderline*:
+% The same as \uline except that the line is colored (you can change the
+% color by redefining \CJKunderlinecolor), and the position can be
+% controlled by redefining \CJKunderlinesep (for nesting) and
+% \CJKunderlinebasesep.
+%
+% \CJKunderline:
+% The same as \CJKunderline* but ignoring CJK punctuation characters.
+%
+\newcommand{\CJKunderline}{
+ \CJKf@global\let\CJK@ULsep \CJKunderlinesep
+ \CJKf@global\let\CJK@ULbasesep \CJKunderlinebasesep
+ \CJKf@global\setbox\CJK@ULbox\hbox{{
+ \CJKunderlinecolor
+ \vtop{\hrule \@height \ULthickness \@width .2em}}}
+
+ \@ifstar\CJK@@UL\CJK@UL}
+
+
+%
+% \CJKunderdblline[*]:
+% The same as \CJKunderline[*] except that two lines are used for
+% underlining.
+%
+\newcommand{\CJKunderdblline}{
+ \CJKf@global\let\CJK@ULsep \CJKunderdbllinesep
+ \CJKf@global\let\CJK@ULbasesep \CJKunderdbllinebasesep
+
+ \CJKf@global\setbox\CJK@ULbox\hbox{{
+ \CJKunderdbllinecolor
+ \vtop{
+ \kern -.07em
+ \hrule \@height\ULthickness \@width .2em
+ \kern 1.1\p@
+ \hrule}}}
+
+ \@ifstar\CJK@@UL\CJK@UL}
+
+
+%
+% \CJKsout*:
+% The same as \sout except that the line is colored (you can change the
+% color by redefining \CJKsoutcolor), and the position can be controlled
+% by redefining \CJKsoutheight.
+%
+% \CJKsout:
+% The same as \CJKsout* but ignoring CJK punctuation characters.
+%
+\def\CJKsout{
+ \CJKf@global\CJK@sxout@true
+ \CJKf@global\setbox\CJK@ULbox\hbox{{
+ \CJKsoutcolor
+ \vtop{
+ \kern -\CJKsoutheight
+ \hrule \@height\ULthickness \@width .2em}}}
+
+ \@ifstar\CJK@@UL\CJK@UL}
+
+
+%
+% \CJKxout*:
+% The same as \xout except using colored `/' (you can change the color
+% by redefining \CJKxoutcolor).
+%
+% \CJKxout:
+% The same as \CJKxout* but ignoring CJK punctuation characters.
+%
+\def\CJKxout{
+ \CJKf@global\CJK@sxout@true
+ \CJKf@global\setbox\CJK@ULbox\hbox{{
+ \kern -0.1em
+ {\CJKxoutcolor $/$}
+ \kern -0.1em}}
+
+ \@ifstar\CJK@@UL\CJK@UL}
+
+
+%
+% CJKfilltwosides environment:
+% Align CJK characters to fill two sides.
+%
+% Usage:
+% \begin{CJKfilltwosides}{width}
+% first line \\
+% second line \\
+% ... \\
+% last line
+% \end{CJKfilltwosides}
+%
+\newif\ifCJK@fillbegin@
+\CJKf@global\CJK@fillbegin@false
+\newif\ifCJK@filltwosides@
+\CJKf@global\CJK@filltwosides@false
+
+\newenvironment{CJKfilltwosides}[1]{
+ \leavevmode
+ \vbox\bgroup
+ \CJKf@global\CJK@filltwosides@true
+ \CJKf@global\let\CJK@filltwosidesSymbol \CJKsymbol
+
+ \def\CJK@ftscr{
+ \egroup
+ \CJKf@global\CJK@fillbegin@false
+ \hbox to #1\bgroup
+ \ignorespaces}
+
+ \let\\ \CJK@ftscr
+
+ \def\CJKsymbol##1{
+ \ifCJK@fillbegin@
+ \hfill
+ \CJK@filltwosidesSymbol{##1}
+ \else
+ \CJK@filltwosidesSymbol{##1}
+ \CJKf@global\CJK@fillbegin@true
+ \fi}
+
+ \hbox to #1\bgroup
+ \ignorespaces
+ }{
+ \egroup
+ \egroup
+
+ \CJKf@global\let\CJKsymbol \CJK@filltwosidesSymbol
+ \CJKf@global\CJK@fillbegin@false
+ \CJKf@global\CJK@filltwosides@false}
+
+
+%
+% \varCJKunderline:
+% The same as \CJKunderline but leaving spaces between two consecutive
+% \varCJKunderline calls. The separation on the left and right can be
+% controlled by redefining \CJKulineleftskip and \CJKulinerightskip,
+% respectively.
+%
+\def\CJKulineleftskip{0.2em}
+\def\CJKulinerightskip{0.2em}
+
+\def\varCJKunderline#1{
+ {\null
+ \hskip\CJKulineleftskip}
+ \CJKunderline{
+ {\hskip-\CJKulineleftskip}
+ #1
+ {\hskip-\CJKulinerightskip}}
+ {\hskip\CJKulinerightskip}}
+
+
+%
+% \CJKunderanyline:
+% The same as \varCJKunderline but using a user-defined underline shape.
+% The first argument gives the distance to the baseline, the second
+% argument the object used for underlining.
+%
+\def\CJK@underanyline#1#2{
+ \setbox\UL@box\hbox{{#2}}
+ \bgroup\markoverwith{\lower #1\copy\UL@box}\ULon}
+
+\def\CJKunderanyline#1#2#3{
+ {\null
+ \hskip\CJKulineleftskip}
+ \CJK@underanyline{#1}{#2}{
+ {\hskip-\CJKulineleftskip}
+ #3
+ {\hskip-\CJKulinerightskip}}
+ {\hskip\CJKulinerightskip}}
+
+
+%
+% \CJKunderanysymbol:
+% The same as \CJKunderdot but using a user-defined underline shape.
+% The first argument gives the distance to the baseline, the second
+% argument the object used for `underdotting'.
+%
+\newdimen\CJK@underanyskip
+
+\def\CJKunderanysymbol#1#2#3{{
+ \CJK@underanyskip #1\relax
+ \setbox\CJK@underdotBox\hbox{{#2}}
+ \CJKf@global\let\CJK@underanysymbol\CJKsymbol
+ \CJKf@global\def\CJK@fntefglue{
+ \CJKf@global\let\CJK@fntefglue\CJKglue}
+ \CJKf@global\def\CJKsymbol##1{
+ \CJK@fntefglue
+ \CJK@underanysymbol{##1}
+ \leavevmode
+ \rlap{
+ \lower \CJK@underanyskip
+ \hbox to \z@ {
+ \hskip -1em
+ \hss
+ \copy\CJK@underdotBox
+ \hss}
+ \hskip -1em}
+ \ignorespaces}
+ #3
+ \CJKf@global\let\CJKsymbol\CJK@underanysymbol}}
+
+
+\endlinechar `\^^M
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/CJKnumb.sty b/language/chinese/CJK/cjk-4.8.4/texinput/CJKnumb.sty
new file mode 100644
index 0000000000..68494d0ffc
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/CJKnumb.sty
@@ -0,0 +1,400 @@
+% This is the file CJKnumb.sty of the CJK package
+% for typesetting numbers with CJK glyphs.
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesPackage{CJKnumb}[\filedate\space\fileversion]
+
+\RequirePackage{CJK}[2015/04/18]
+
+
+% we suppress any unwanted spaces produced by linefeeds.
+
+\endlinechar \m@ne
+
+
+% the amount of space to be inserted before and after the circle
+% representing zero
+
+\def\CJKnullspace{0pt}
+
+
+% generic number macros. We add them to the CJK encoding hooks.
+
+\def\CJK@traditionalNumbers{
+ % circle used for zero
+ \def\CJK@null{\kern\CJKnullspace\CJKchar{161}{179}\kern\CJKnullspace}
+ % character used for zero
+ \def\CJK@zero{\CJKchar{185}{115}}
+ \def\CJK@one{\CJKchar{164}{64}}
+ \def\CJK@two{\CJKchar{164}{71}}
+ \def\CJK@three{\CJKchar{164}{84}}
+ \def\CJK@four{\CJKchar{165}{124}}
+ \def\CJK@five{\CJKchar{164}{173}}
+ \def\CJK@six{\CJKchar{164}{187}}
+ \def\CJK@seven{\CJKchar{164}{67}}
+ \def\CJK@eight{\CJKchar{164}{75}}
+ \def\CJK@nine{\CJKchar{164}{69}}
+ \def\CJK@ten{\CJKchar{164}{81}}
+ \def\CJK@hundred{\CJKchar{166}{202}}
+ \def\CJK@thousand{\CJKchar{164}{100}}
+ \def\CJK@tenthousand{\CJKchar{184}{85}}
+ \def\CJK@hundredmillion{\CJKchar{187}{245}}
+
+ \def\CJK@minus{\CJKchar{161}{208}}}
+
+\CJKaddEncHook{Bg5}{\CJK@traditionalNumbers}
+\CJKaddEncHook{Bg5+}{\CJK@traditionalNumbers}
+\CJKaddEncHook{HK}{\CJK@traditionalNumbers}
+
+\def\CJK@simplifiedNumbers{
+ \def\CJK@null{\kern\CJKnullspace\CJKchar{161}{240}\kern\CJKnullspace}
+ \def\CJK@zero{\CJKchar{193}{227}}
+ \def\CJK@one{\CJKchar{210}{187}}
+ \def\CJK@two{\CJKchar{182}{254}}
+ \def\CJK@three{\CJKchar{200}{253}}
+ \def\CJK@four{\CJKchar{203}{196}}
+ \def\CJK@five{\CJKchar{206}{229}}
+ \def\CJK@six{\CJKchar{193}{249}}
+ \def\CJK@seven{\CJKchar{198}{223}}
+ \def\CJK@eight{\CJKchar{176}{203}}
+ \def\CJK@nine{\CJKchar{190}{197}}
+ \def\CJK@ten{\CJKchar{202}{174}}
+ \def\CJK@hundred{\CJKchar{176}{217}}
+ \def\CJK@thousand{\CJKchar{199}{167}}
+ \def\CJK@tenthousand{\CJKchar{205}{242}}
+ \def\CJK@hundredmillion{\CJKchar{210}{218}}
+
+ \def\CJK@minus{\CJKchar{163}{173}}}
+
+\CJKaddEncHook{GB}{\CJK@simplifiedNumbers}
+\CJKaddEncHook{GBK}{\CJK@simplifiedNumbers}
+
+\CJKaddEncHook{JIS}{
+ \def\CJK@null{\kern\CJKnullspace\CJKchar{161}{251}\kern\CJKnullspace}
+ \def\CJK@zero{\CJKchar{206}{237}}
+ \def\CJK@one{\CJKchar{176}{236}}
+ \def\CJK@two{\CJKchar{198}{243}}
+ \def\CJK@three{\CJKchar{187}{176}}
+ \def\CJK@four{\CJKchar{187}{205}}
+ \def\CJK@five{\CJKchar{184}{222}}
+ \def\CJK@six{\CJKchar{207}{187}}
+ \def\CJK@seven{\CJKchar{188}{183}}
+ \def\CJK@eight{\CJKchar{200}{172}}
+ \def\CJK@nine{\CJKchar{182}{229}}
+ \def\CJK@ten{\CJKchar{189}{189}}
+ \def\CJK@hundred{\CJKchar{201}{180}}
+ \def\CJK@thousand{\CJKchar{192}{233}}
+ \def\CJK@tenthousand{\CJKchar{232}{223}}
+ \def\CJK@hundredmillion{\CJKchar{178}{175}}
+
+ \def\CJK@minus{\CJKchar{161}{221}}}
+
+\CJKaddEncHook{KS}{
+ \def\CJK@null{\kern\CJKnullspace\CJKchar{161}{219}\kern\CJKnullspace}
+ \def\CJK@zero{\CJKchar{214}{195}}
+ \def\CJK@one{\CJKchar{236}{233}}
+ \def\CJK@two{\CJKchar{236}{163}}
+ \def\CJK@three{\CJKchar{223}{178}}
+ \def\CJK@four{\CJKchar{222}{204}}
+ \def\CJK@five{\CJKchar{231}{233}}
+ \def\CJK@six{\CJKchar{215}{191}}
+ \def\CJK@seven{\CJKchar{246}{210}}
+ \def\CJK@eight{\CJKchar{248}{162}}
+ \def\CJK@nine{\CJKchar{206}{250}}
+ \def\CJK@ten{\CJKchar{228}{168}}
+ \def\CJK@hundred{\CJKchar{219}{221}}
+ \def\CJK@thousand{\CJKchar{244}{182}}
+ \def\CJK@tenthousand{\CJKchar{216}{191}}
+ \def\CJK@hundredmillion{\CJKchar{229}{226}}
+
+ \def\CJK@minus{\CJKchar{163}{173}}}
+
+\CJKaddEncHook{SJIS}{
+ \def\CJK@null{\kern\CJKnullspace\CJKchar{129}{155}\kern\CJKnullspace}
+ \def\CJK@zero{\CJKchar{151}{235}}
+ \def\CJK@one{\CJKchar{136}{234}}
+ \def\CJK@two{\CJKchar{147}{241}}
+ \def\CJK@three{\CJKchar{142}{79}}
+ \def\CJK@four{\CJKchar{142}{108}}
+ \def\CJK@five{\CJKchar{140}{220}}
+ \def\CJK@six{\CJKchar{152}{90}}
+ \def\CJK@seven{\CJKchar{142}{181}}
+ \def\CJK@eight{\CJKchar{148}{170}}
+ \def\CJK@nine{\CJKchar{139}{227}}
+ \def\CJK@ten{\CJKchar{143}{92}}
+ \def\CJK@hundred{\CJKchar{149}{83}}
+ \def\CJK@thousand{\CJKchar{144}{231}}
+ \def\CJK@tenthousand{\CJKchar{228}{221}}
+ \def\CJK@hundredmillion{\CJKchar{137}{173}}
+
+ \def\CJK@minus{\CJKchar{129}{124}}}
+
+\CJKaddEncHook{\CJK@UnicodeEnc}{
+ \def\CJK@null{\Unicode{48}{7}}
+ \def\CJK@zero{\Unicode{150}{246}}
+ \def\CJK@one{\Unicode{78}{0}}
+ \def\CJK@two{\Unicode{78}{140}}
+ \def\CJK@three{\Unicode{78}{9}}
+ \def\CJK@four{\Unicode{86}{219}}
+ \def\CJK@five{\Unicode{78}{148}}
+ \def\CJK@six{\Unicode{81}{109}}
+ \def\CJK@seven{\Unicode{78}{3}}
+ \def\CJK@eight{\Unicode{81}{107}}
+ \def\CJK@nine{\Unicode{78}{93}}
+ \def\CJK@ten{\Unicode{83}{65}}
+ \def\CJK@hundred{\Unicode{118}{126}}
+ \def\CJK@thousand{\Unicode{83}{67}}
+ \def\CJK@tenthousand{\Unicode{132}{44}}
+ \def\CJK@hundredmillion{\Unicode{81}{4}}
+
+ \def\CJK@minus{\Unicode{255}{13}}}
+
+
+\newif\ifCJK@zero@
+\newif\ifCJK@previous@
+
+\newif\ifCJK@null@
+
+
+\newcount\CJK@q
+\newcount\CJK@r
+
+
+\def\CJK@digit#1{
+ \ifcase #1\relax
+ \ifCJK@null@ \CJK@null \else \CJK@zero \fi \or
+ \CJK@one \or
+ \CJK@two \or
+ \CJK@three \or
+ \CJK@four \or
+ \CJK@five \or
+ \CJK@six \or
+ \CJK@seven \or
+ \CJK@eight \or
+ \CJK@nine
+ \fi}
+
+
+% This macro splits the number in zzyyyyxxxx (2^^31-1 is the largest
+% possible integer in TeX); zz is \CJK@yi, yyyy is \CJK@high, and
+% xxxx is \CJK@low.
+
+\def\CJK@splitnumber#1{
+ \CJK@q #1
+ \CJK@r #1
+
+ \divide\CJK@q \@M
+ \begingroup
+ \multiply\CJK@q \@M
+ \advance\CJK@r -\CJK@q
+ \ifnum\CJK@r = \z@
+ \xdef\CJK@low{}
+ \else
+ \xdef\CJK@low{\number\CJK@r}
+ \fi
+ \endgroup
+
+ \ifnum\CJK@q > \z@
+ \CJK@r \CJK@q
+
+ \divide\CJK@q \@M
+ \begingroup
+ \multiply\CJK@q \@M
+ \advance\CJK@r -\CJK@q
+ \ifnum\CJK@r = \z@
+ \xdef\CJK@high{}
+ \else
+ \xdef\CJK@high{\number\CJK@r}
+ \fi
+ \endgroup
+
+ \ifnum\CJK@q > \z@
+ \xdef\CJK@yi{\number\CJK@q}
+ \else
+ \xdef\CJK@yi{}
+ \fi
+ \else
+ \xdef\CJK@high{}
+ \xdef\CJK@yi{}
+ \fi
+}
+
+% Here we process four digits
+
+\def\CJK@processnumber#1{
+ \CJK@zero@false
+
+ \CJK@q #1
+ \CJK@r #1
+
+ \divide\CJK@q \@m
+ \ifnum\CJK@q = \z@
+ \ifCJK@previous@
+ \CJK@zero@true
+ \fi
+ \else
+ \ifCJK@zero@
+ \CJK@zero
+ \fi
+ \CJK@digit{\CJK@q}
+ \CJK@thousand
+ \CJK@previous@true
+ \CJK@zero@false
+ \fi
+
+ \multiply\CJK@q \@m
+ \advance\CJK@r -\CJK@q
+ \CJK@q \CJK@r
+
+ \divide\CJK@q 100\relax
+ \ifnum\CJK@q = \z@
+ \ifCJK@previous@
+ \CJK@zero@true
+ \fi
+ \else
+ \ifCJK@zero@
+ \CJK@zero
+ \fi
+ \CJK@digit{\CJK@q}
+ \CJK@hundred
+ \CJK@previous@true
+ \CJK@zero@false
+ \fi
+
+ \multiply\CJK@q 100
+ \advance\CJK@r -\CJK@q
+ \CJK@q \CJK@r
+
+ \divide \CJK@q 10\relax
+ \ifnum\CJK@q = \z@
+ \ifCJK@previous@
+ \CJK@zero@true
+ \fi
+ \else
+ \ifCJK@zero@
+ \CJK@zero
+ \fi
+ \ifnum\CJK@q = \@ne
+ \ifCJK@previous@
+ \CJK@one
+ \fi
+ \else
+ \CJK@digit{\CJK@q}
+ \fi
+ \CJK@ten
+ \CJK@previous@true
+ \CJK@zero@false
+ \fi
+
+ \multiply\CJK@q 10
+ \advance\CJK@r -\CJK@q
+
+ \ifnum\CJK@r = \z@
+ \else
+ \ifCJK@zero@
+ \CJK@zero
+ \fi
+ \CJK@digit{\CJK@r}
+ \CJK@previous@true
+ \fi
+}
+
+
+% this command provides a full CJK representation of a number.
+
+\DeclareRobustCommand\CJKnumber[1]{
+ \CJK@null@false
+
+ \CJK@q #1\relax
+
+ \ifnum\CJK@q < \z@
+ \multiply\CJK@q \m@ne
+ \CJK@minus
+ \CJKkern
+ \fi
+
+ \CJK@previous@false
+ \CJK@zero@false
+
+ \ifnum\CJK@q = \z@
+ \CJK@zero
+ \else
+ \CJK@splitnumber{\CJK@q}
+
+ \ifx\CJK@yi \@empty
+ \else
+ \CJK@processnumber{\CJK@yi}
+ \CJK@hundredmillion
+ \fi
+
+ \ifx\CJK@high \@empty
+ \else
+ \CJK@processnumber{\CJK@high}
+ \CJK@tenthousand
+ \fi
+
+ \ifx\CJK@low \@empty
+ \else
+ \ifx\CJK@yi \@empty
+ \else
+ \ifx\CJK@high \@empty
+ \CJK@zero % this catches 100002345
+ \fi
+ \fi
+ \CJK@processnumber{\CJK@low}
+ \fi
+ \fi}
+
+
+% this command simply converts the given string into CJK digits;
+% the starred version uses the traditional glyph for digit zero.
+
+\DeclareRobustCommand\CJKdigits{
+ \@ifstar{\CJK@null@false\CJK@digits}
+ {\CJK@null@true\CJK@digits}}
+
+\def\CJK@digits#1{
+ {\edef\CJK@tempa{}
+ \edef\CJK@tempb{#1}
+ \ifx\CJK@tempb \@empty
+ \else
+ \loop
+ \expandafter\CJK@getDigit\CJK@tempb\CJK@stop
+ \CJK@digit\CJK@tempa
+ \ifx\CJK@tempb \@empty
+ \else
+ \repeat
+ \fi}}
+
+\def\CJK@getDigit#1#2\CJK@stop{
+ \edef\CJK@tempa{#1}
+ \edef\CJK@tempb{#2}}
+
+
+% reset endline character.
+
+\endlinechar `\^^M
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/CJKspace.sty b/language/chinese/CJK/cjk-4.8.4/texinput/CJKspace.sty
new file mode 100644
index 0000000000..148ce1479d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/CJKspace.sty
@@ -0,0 +1,98 @@
+% This is the file CJKspace.sty of the CJK package
+% for suppressing spaces between CJK characters only.
+%
+% created by Wenchang Sun <sunwch@hotmail.com>
+% Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\NeedsTeXFormat{LaTeX2e}[2001/06/01]
+
+\def\fileversion{3.8.0}
+\def\filedate{2015/04/18}
+\ProvidesPackage{CJKspace}[\filedate\space\fileversion]
+
+
+\endlinechar \m@ne
+
+
+% redefine `\CJK@ignorespaces'.
+
+\def\CJK@@ignorespaces{
+ \expandafter\CJK@@@ignorespaces}
+
+\renewenvironment{CJK*}[3][]{
+ \let\CJK@ignorespaces\CJK@@ignorespaces
+ \CJK@envStart{#1}{#2}{#3}}
+ {\CJK@envEnd}
+
+
+\def\CJK@@@ignorespaces{
+ \futurelet\CJK@next@token
+ \CJK@check@next}
+
+\def\CJK@check@next{
+ \ifx\CJK@next@token\@sptoken
+ \expandafter\CJK@@check@next
+ \fi}
+
+{
+ \catcode`\-=11
+
+ \global\let\-empty\@empty
+
+ % define \CJK@@check@next to gobble subsequent space tokens.
+
+ \def\:{\CJK@@check@next}
+ \global\expandafter\def\: {
+ \futurelet\cjk-let-token
+ \cjk---check-next}
+
+ % since characters in the output of \meaning\something have
+ % catcode 12, we have to change the catcodes of `\', `C',
+ % `J', `K', and `@'.
+
+ \catcode`\/=0
+ \catcode`\C=12
+ \catcode`\J=12
+ \catcode`\K=12
+ \catcode`\@=12
+ \catcode`\\=12
+
+ /gdef/cjk---check-next{
+ /expandafter/cjk-get-keystring
+ /meaning/cjk-let-token\CJK@@@/cjk-space-stop
+ /cjk-temp}
+
+ % we check whether we can find the signature `\CJK@@@' at the
+ % beginning of following macro -- only the CJK package
+ % inserts this.
+
+ /long/gdef/cjk-get-keystring#1\CJK@@@#2/cjk-space-stop{
+ /edef/cjk-temp{#2}
+ /ifx/cjk-temp/-empty
+ /def/cjk-temp{ }
+ /else
+ /def/cjk-temp{}
+ /fi}
+}
+
+
+\endlinechar `\^^M
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/CJKulem.sty b/language/chinese/CJK/cjk-4.8.4/texinput/CJKulem.sty
new file mode 100644
index 0000000000..5baef63f17
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/CJKulem.sty
@@ -0,0 +1,193 @@
+% This is the file CJKulem.sty of the CJK package
+% for using the `ulem' package CJK characters.
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\NeedsTeXFormat{LaTeX2e}[1996/12/01]
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesPackage{CJKulem}[\filedate\space\fileversion]
+
+\RequirePackage{ulem}[2000/05/26]
+
+\endlinechar \m@ne
+
+\newdimen\UL@lastkern
+\newskip\CJK@skip
+
+
+\def\UL@CJKnobreakglue{
+ \nobreak
+ \LA@CJKglue
+ \nobreak}
+
+
+\def\UL@CJKglue{
+ \ifx\ \LA@space
+ \LA@CJKglue
+ \else
+ \egroup
+ \UL@stop
+ \ifnum\lastkern = \thr@@
+ \LA@hskip \CJK@skip
+ \else
+ \global\UL@skip \CJK@skip
+ \UL@leaders
+ \fi
+ \UL@start
+ \bgroup
+ \fi}
+
+
+\def\UL@Thaiglue{
+ \ifx\ \LA@space
+ \LA@Thaiglue
+ \else
+ \egroup
+ \egroup
+ \egroup
+ \UL@stop
+ \ifnum\lastkern = \thr@@
+ \LA@hskip \CJK@skip
+ \else
+ \global\UL@skip \CJK@skip
+ \UL@leaders
+ \fi
+ \UL@start
+ \bgroup
+ \fontencoding{C90}\selectfont
+ \bgroup
+ \bgroup
+ \fi}
+
+
+\def\UL@Thaibreak{
+ \ifx\ \LA@space
+ \LA@Thaibreak
+ \else
+ \egroup
+ \egroup
+ \egroup
+ \UL@stop
+ \LA@hskip \z@
+ \UL@start
+ \bgroup
+ \fontencoding{C90}\selectfont
+ \bgroup
+ \bgroup
+ \fi}
+
+
+\def\UL@testLastKern{
+ \global\CJK@false
+ \ifnum\lastkern = \thr@@
+ \ifnum\UL@lastkern = \tw@
+ \global\CJK@true
+ \fi
+ \ifnum\UL@lastkern = 5
+ \global\CJK@true
+ \fi
+ \fi
+
+ \ifnum\lastkern = \tw@
+ \global\CJK@true
+ \fi
+ \ifnum\lastkern = 5
+ \global\CJK@true
+ \fi}
+
+
+\def\UL@testLastCJK{
+ \global\CJK@false
+
+ \ifnum\lastkern = \thr@@
+ \ifnum\UL@lastkern = \@ne
+ \global\CJK@true
+ \fi
+ \fi
+
+ \ifnum\lastkern = \@ne
+ \global\CJK@true
+ \fi}
+
+
+\addto@hook\UL@hook{
+ \let\CJK@savehskip \hskip
+ \let\hskip \LA@hskip
+ \CJKglue
+ \CJK@skip\lastskip
+ \unskip
+ \let\hskip \CJK@savehskip
+ \let\LA@CJKglue \CJKglue
+ \let\LA@Thaiglue \Thaiglue
+ \let\LA@Thaibreak \Thaibreak
+ \let\CJK@nobreakglue \UL@CJKnobreakglue
+ \let\CJKglue \UL@CJKglue
+ \let\Thaiglue \UL@Thaiglue
+ \let\Thaibreak \UL@Thaibreak
+ \let\CJK@testLastKern \UL@testLastKern
+ \let\CJK@testLastCJK \UL@testLastCJK}
+
+
+\def\UL@start{
+ \global\UL@lastkern\lastkern
+ \setbox\UL@box\hbox\bgroup
+ \everyhbox{\UL@hrest}
+ \let\UL@start\@empty
+ \def\UL@unegroup{\bgroup\bgroup}
+ \let\UL@leadtype\@empty
+ \bgroup
+ \kern -3sp
+ \kern 3sp
+ \if@ignore
+ \global\@ignorefalse
+ \ignorespaces
+ \fi}
+
+
+\def\UL@stop{
+ \global\UL@pe\lastpenalty
+ \global\UL@lastkern\lastkern
+ \unpenalty
+ \ifnum\lastkern = \thr@@
+ \egroup
+ \egroup
+ \ifdim\wd\UL@box = \z@
+ \else
+ \UL@putbox
+ \fi
+ \else
+ \egroup
+ \egroup
+ \UL@putbox
+ \fi
+ \ifnum\UL@pe = \z@
+ \else
+ \LA@penalty\UL@pe
+ \fi
+ \kern -\UL@lastkern
+ \kern \UL@lastkern
+ \UL@unegroup}
+
+\endlinechar `\^^M
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/CJKutf8.sty b/language/chinese/CJK/cjk-4.8.4/texinput/CJKutf8.sty
new file mode 100644
index 0000000000..28f3f8b0ad
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/CJKutf8.sty
@@ -0,0 +1,720 @@
+% This is the file CJKutf8.sty of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+% in UTF-8 encoding.
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\NeedsTeXFormat{LaTeX2e}[2003/12/01]
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesPackage{CJKutf8}[\filedate\space\fileversion]
+
+\RequirePackage{ifpdf}
+\RequirePackage[utf8]{inputenc}
+\RequirePackage[encapsulated]{CJK}
+\RequirePackageWithOptions{fontenc}
+
+\DeclareOption*{\OptionNotUsed}
+
+\ProcessOptions
+
+
+% we suppress any unwanted spaces produced by linefeeds
+
+\endlinechar\m@ne
+
+% We redefine the basic macros for handling multibyte sequences to call
+% a `\u8:...' macro if it has been defined.
+
+\def\CJK@XX#1#2{
+ \ifx #2\protect
+ \expandafter\CJK@XXp\expandafter#1
+ \else
+ \expandafter\ifx\csname u8:\string #1\string #2\endcsname \relax
+ \csname CJK@\number `#1\endcsname{`#2}
+ \expandafter\CJK@ignorespaces
+ \else
+ \csname u8:\string #1\string #2\endcsname
+ \fi
+ \fi}
+\def\CJK@XXp#1#2{
+ \expandafter\ifx\csname u8:\string #1\string #2\endcsname \relax
+ \csname CJK@\number `#1\endcsname{`#2}
+ \expandafter\CJK@ignorespaces
+ \else
+ \csname u8:\string #1\string #2\endcsname
+ \fi}
+
+\def\CJK@XXX#1#2#3{
+ \ifx #2\protect
+ \expandafter\CJK@XXXp\expandafter#1#3
+ \else
+ \expandafter\ifx\csname u8:\string #1\string #2\string #3\endcsname \relax
+ \csname CJK@\number `#1\endcsname{`#2}{`#3}
+ \expandafter\CJK@ignorespaces
+ \else
+ \csname u8:\string #1\string #2\string #3\endcsname
+ \fi
+ \fi}
+\def\CJK@XXXp#1#2#3#4{
+ \expandafter\ifx\csname u8:\string #1\string #2\string #4\endcsname \relax
+ \csname CJK@\number `#1\endcsname{`#2}{`#4}
+ \expandafter\CJK@ignorespaces
+ \else
+ \csname u8:\string #1\string #2\string #4\endcsname
+ \fi}
+
+% If pdftex is used, emit proper \ToUnicode cmaps. This code is based on
+% cjk-unicmap.sty, part of the hangul-ucs package written by KIM Kang-Soo
+% and KIM Do-Hyun.
+
+\ifpdf
+ % Redefine \pickup@font (again).
+ \def\pickup@font{
+ \CJK@ifundefined\CJK@plane
+ {\expandafter\ifx\font@name \relax% % old definition
+ \define@newfont
+ \fi}
+ {\expandafter% % CJK extension
+ \ifx\csname \curr@fontshape/\f@size/\CJK@plane\endcsname \relax
+ \define@newfont
+ \def\CJK@temp{v}
+ \ifx\CJK@temp\CJK@plane
+ \expandafter
+ \ifx\csname CJK@cmap@\f@family\CJK@plane\endcsname \relax
+ \else
+ \csname CJK@cmap@\f@family\CJK@plane\endcsname
+ \fi
+ \else
+ \CJK@addcmap\CJK@plane
+ \fi
+ \else
+ \xdef\font@name{
+ \csname \curr@fontshape/\f@size/\CJK@plane\endcsname}
+ \fi}}
+
+ % Convert a CJK plane #2 to the corresponding surrogate value, if any.
+ % The result is returned in global macro #1.
+ \def\CJK@surr#1#2{
+ {\expandafter\uppercase\expandafter{
+ \expandafter\@tempcnta \expandafter "\expandafter 0#2\relax}
+ \ifnum \@tempcnta > "0FF\relax
+ % prepare for surrogate
+ \advance\@tempcnta -"0100\relax
+
+ % high surrogate value
+ \@tempcntb \@tempcnta
+ \divide\@tempcntb 4\relax
+ \advance\@tempcntb "0D800\relax
+ \CJK@numbxToHex{\CJK@gtemp}{\@tempcntb}
+ \expandafter\toks@\expandafter{\CJK@gtemp}
+
+ % upper byte of low surrogate value
+ \@tempcntb \@tempcnta
+ \divide\@tempcntb 4\relax
+ \multiply\@tempcntb 4\relax
+ \advance\@tempcnta -\@tempcntb
+ \advance\@tempcnta "0DC\relax
+ \CJK@numbToHex{\CJK@gtemp}{\@tempcnta}
+ \xdef#1{\the\toks@\CJK@gtemp}
+ \else
+ \xdef#1{#2}
+ \fi}}
+
+ \def\CJK@addcmap#1{
+ {\expandafter\ifx\csname CJK@CMap@#1\endcsname \relax
+ \CJK@surr{\CJK@gtemp}{#1}
+ \immediate\pdfobj stream {
+ /CIDInit /ProcSet findresource begin %
+ 12 dict begin %
+ begincmap %
+ /CIDSystemInfo << %
+ /Registry (TeX) %
+ /Ordering (Uni#1) %
+ /Supplement 0 >> def %
+ /CMapName /TeX-Uni#1-0 def %
+ 1 begincodespacerange <00> <FF> endcodespacerange %
+ 1 beginbfrange <00> <FF> <\CJK@gtemp 00> endbfrange %
+ endcmap %
+ CMapName currentdict /CMap defineresource %
+ pop %
+ end %
+ end }
+ \expandafter\xdef\csname CJK@CMap@#1\endcsname{
+ \the\pdflastobj}
+ \fi
+ \pdffontattr\font@name{
+ /ToUnicode \csname CJK@CMap@#1\endcsname\space 0 R}}}
+\fi
+
+
+% provide hooks for hyperref.sty to automatically emit UTF-16BE for
+% bookmarks -- note that we must do everything with expansion;
+% only eTeX provides numerical expression handling which works
+% within \xdef.
+
+% 110aaaaa 10bbbbbb
+%
+% aaaaa (two octal digits) is handled by \CJK@UnicodeTwoBytesFirst
+% bbbbbb (two octal digits) is handled by \CJK@UnicodeLast
+%
+%
+% 1110aaaa 10abbbbb 10cccccc
+%
+% aaaaa (two octal digits) is handled by \CJK@UnicodeThreeBytesFirst
+% bbbbbb (two octal digits) is handled by \CJK@UnicodeThreeBytesSecond
+% cccccc (two octal digits) is handled by \CJK@UnicodeLast
+%
+%
+% 11110uuu 10uubbbb 10bbcccc 10dddddd
+%
+% is emitted as a surrogate pair
+%
+% 110110aa aabbbbbb 110111cc ccdddddd
+%
+% (aaaa = uuuuu - 1; 0 < uuuuu <= 10000)
+%
+% 110110aaaa (four octal digits) is handled by \CJK@UnicodeFourBytesFirst
+% bbbbbb (two octal digits) is handled by \CJK@UnicodeFourBytesSecond
+% 110111cccc (four octal digits) is handled by \CJK@UnicodeFourBytesThird
+% dddddd (two octal digits) is handled by \CJK@UnicodeLast
+%
+
+\def\CJK@UnicodeFourBytesFirst#1#2{
+ \33
+
+ \ifnum #2 > '257\relax
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or 0\2\or 1\2\or 2\2\or 3\2
+ \fi
+ \else
+ \ifnum #2 > '237\relax
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or 0\1\or 1\1\or 2\1\or 3\1
+ \fi
+ \else
+ \ifnum #2 > '217\relax
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or 0\0\or 1\0\or 2\0\or 3\0
+ \fi
+ \else
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or 0\3\or 1\3\or 2\3\or 3\3
+ \fi
+ \fi
+ \fi
+ \fi}
+
+\def\CJK@UnicodeFourBytesSecond#1#2{
+ \ifnum #2 > '257\relax
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or 03\or 07\or 13\or 17\or 23\or 27\or 33\or 37
+ \or 43\or 47\or 53\or 57\or 63\or 67\or 73\or 77
+ \or 03\or 07\or 13\or 17\or 23\or 27\or 33\or 37
+ \or 43\or 47\or 53\or 57\or 63\or 67\or 73\or 77
+ \or 03\or 07\or 13\or 17\or 23\or 27\or 33\or 37
+ \or 43\or 47\or 53\or 57\or 63\or 67\or 73\or 77
+ \or 03\or 07\or 13\or 17\or 23\or 27\or 33\or 37
+ \or 43\or 47\or 53\or 57\or 63\or 67\or 73\or 77
+ \fi
+ \else
+ \ifnum #2 > '237\relax
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or 02\or 06\or 12\or 16\or 22\or 26\or 32\or 36
+ \or 42\or 46\or 52\or 56\or 62\or 66\or 72\or 76
+ \or 02\or 06\or 12\or 16\or 22\or 26\or 32\or 36
+ \or 42\or 46\or 52\or 56\or 62\or 66\or 72\or 76
+ \or 02\or 06\or 12\or 16\or 22\or 26\or 32\or 36
+ \or 42\or 46\or 52\or 56\or 62\or 66\or 72\or 76
+ \or 02\or 06\or 12\or 16\or 22\or 26\or 32\or 36
+ \or 42\or 46\or 52\or 56\or 62\or 66\or 72\or 76
+ \fi
+ \else
+ \ifnum #2 > '217\relax
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or 01\or 05\or 11\or 15\or 21\or 25\or 31\or 35
+ \or 41\or 45\or 51\or 55\or 61\or 65\or 71\or 75
+ \or 01\or 05\or 11\or 15\or 21\or 25\or 31\or 35
+ \or 41\or 45\or 51\or 55\or 61\or 65\or 71\or 75
+ \or 01\or 05\or 11\or 15\or 21\or 25\or 31\or 35
+ \or 41\or 45\or 51\or 55\or 61\or 65\or 71\or 75
+ \or 01\or 05\or 11\or 15\or 21\or 25\or 31\or 35
+ \or 41\or 45\or 51\or 55\or 61\or 65\or 71\or 75
+ \fi
+ \else
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or 00\or 04\or 10\or 14\or 20\or 24\or 30\or 34
+ \or 40\or 44\or 50\or 54\or 60\or 64\or 70\or 74
+ \or 00\or 04\or 10\or 14\or 20\or 24\or 30\or 34
+ \or 40\or 44\or 50\or 54\or 60\or 64\or 70\or 74
+ \or 00\or 04\or 10\or 14\or 20\or 24\or 30\or 34
+ \or 40\or 44\or 50\or 54\or 60\or 64\or 70\or 74
+ \or 00\or 04\or 10\or 14\or 20\or 24\or 30\or 34
+ \or 40\or 44\or 50\or 54\or 60\or 64\or 70\or 74
+ \fi
+ \fi
+ \fi
+ \fi}
+
+\def\CJK@UnicodeFourBytesThird#1{
+ \33
+
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or 4\0\or 4\1\or 4\2\or 4\3\or 5\0\or 5\1\or 5\2\or 5\3
+ \or 6\0\or 6\1\or 6\2\or 6\3\or 7\0\or 7\1\or 7\2\or 7\3
+ \or 4\0\or 4\1\or 4\2\or 4\3\or 5\0\or 5\1\or 5\2\or 5\3
+ \or 6\0\or 6\1\or 6\2\or 6\3\or 7\0\or 7\1\or 7\2\or 7\3
+ \or 4\0\or 4\1\or 4\2\or 4\3\or 5\0\or 5\1\or 5\2\or 5\3
+ \or 6\0\or 6\1\or 6\2\or 6\3\or 7\0\or 7\1\or 7\2\or 7\3
+ \or 4\0\or 4\1\or 4\2\or 4\3\or 5\0\or 5\1\or 5\2\or 5\3
+ \or 6\0\or 6\1\or 6\2\or 6\3\or 7\0\or 7\1\or 7\2\or 7\3
+ \fi
+}
+
+\def\CJK@UnicodeThreeBytesFirst#1#2{
+ \ifnum #2 > '237\relax
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \01\or \03\or \05\or \07\or \11\or \13\or \15\or \17
+ \or \21\or \23\or \25\or \27\or \31\or \33\or \35\or \37
+ \fi
+ \else
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \00\or \02\or \04\or \06\or \10\or \12\or \14\or \16
+ \or \20\or \22\or \24\or \26\or \30\or \32\or \34\or \35
+ \fi
+ \fi}
+
+\def\CJK@UnicodeThreeBytesSecond#1{
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or 0\0\or 0\1\or 0\2\or 0\3\or 1\0\or 1\1\or 1\2\or 1\3
+ \or 2\0\or 2\1\or 2\2\or 2\3\or 3\0\or 3\1\or 3\2\or 3\3
+ \or 4\0\or 4\1\or 4\2\or 4\3\or 5\0\or 5\1\or 5\2\or 5\3
+ \or 6\0\or 6\1\or 6\2\or 6\3\or 7\0\or 7\1\or 7\2\or 7\3
+ \or 0\0\or 0\1\or 0\2\or 0\3\or 1\0\or 1\1\or 1\2\or 1\3
+ \or 2\0\or 2\1\or 2\2\or 2\3\or 3\0\or 3\1\or 3\2\or 3\3
+ \or 4\0\or 4\1\or 4\2\or 4\3\or 5\0\or 5\1\or 5\2\or 5\3
+ \or 6\0\or 6\1\or 6\2\or 6\3\or 7\0\or 7\1\or 7\2\or 7\3
+ \fi}
+
+\def\CJK@UnicodeTwoBytesFirst#1{
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \000\0\or \000\1\or \000\2\or \000\3
+ \or \001\0\or \001\1\or \001\2\or \001\3
+ \or \002\0\or \002\1\or \002\2\or \002\3
+ \or \003\0\or \003\1\or \003\2\or \003\3
+ \or \004\0\or \004\1\or \004\2\or \004\3
+ \or \005\0\or \005\1\or \005\2\or \005\3
+ \or \006\0\or \006\1\or \006\2\or \006\3
+ \or \007\0\or \007\1\or \007\2\or \007\3
+ \fi}
+
+\def\CJK@UnicodeLast#1{
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or 00\or 01\or 02\or 03\or 04\or 05\or 06\or 07
+ \or 10\or 11\or 12\or 13\or 14\or 15\or 16\or 17
+ \or 20\or 21\or 22\or 23\or 24\or 25\or 26\or 27
+ \or 30\or 31\or 32\or 33\or 34\or 35\or 36\or 37
+ \or 40\or 41\or 42\or 43\or 44\or 45\or 46\or 47
+ \or 50\or 51\or 52\or 53\or 54\or 55\or 56\or 57
+ \or 60\or 61\or 62\or 63\or 64\or 65\or 66\or 67
+ \or 70\or 71\or 72\or 73\or 74\or 75\or 76\or 77
+ \fi}
+
+
+\def\CJK@XXpdf#1#2{
+ \CJK@UnicodeTwoBytesFirst{`#1}
+ \CJK@UnicodeLast{`#2}}
+
+\def\CJK@XXXpdf#1#2#3{
+ \CJK@UnicodeThreeBytesFirst{`#1}{`#2}
+ \CJK@UnicodeThreeBytesSecond{`#2}
+ \CJK@UnicodeLast{`#3}}
+
+\def\CJK@XXXXpdf#1#2#3#4{
+ \CJK@UnicodeFourBytesFirst{`#1}{`#2}
+ \CJK@UnicodeFourBytesSecond{`#2}{`#3}
+ \CJK@UnicodeFourBytesThird{`#3}
+ \CJK@UnicodeLast{`#4}}
+
+
+\ifx\pdfstringdefPreHook \undefined
+ \def\pdfstringdefPreHook{}
+\fi
+\g@addto@macro\pdfstringdefPreHook{
+ \let\CJK@XX \CJK@XXpdf
+ \let\CJK@XXX \CJK@XXXpdf
+ \let\CJK@XXXX \CJK@XXXXpdf}
+
+
+% reset endline character
+
+\endlinechar `\^^M
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/CJKvert.sty b/language/chinese/CJK/cjk-4.8.4/texinput/CJKvert.sty
new file mode 100644
index 0000000000..76985b5c28
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/CJKvert.sty
@@ -0,0 +1,159 @@
+% This is the file CJKvert.sty of the CJK package
+% for vertical typesetting.
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesPackage{CJKvert}[\filedate\space\fileversion]
+
+\RequirePackage{graphicx}
+
+\newif\ifCJK@useBaselinestretch@
+\CJK@useBaselinestretch@false
+
+\DeclareOption{usebaselinestretch}{\CJK@useBaselinestretch@true}
+
+\ProcessOptions
+
+\newcommand{\CJKbaselinestretch}{1.3}
+
+
+% we suppress any unwanted spaces produced by linefeeds.
+
+\endlinechar \m@ne
+
+
+\newif\ifCJK@vertical@
+\CJK@vertical@false
+
+\ifCJK@useBaselinestretch@
+ \edef\CJK@horzBaselinestretch{\baselinestretch}
+\fi
+
+\newcommand{\CJKvert}{
+ \CJK@vertical@true
+ \gdef\CJK@direction{v}
+
+ \ifCJK@useBaselinestretch@
+ \edef\CJK@horzBaselinestretch{\baselinestretch}
+ \dimen@ 1pt
+ \dimen@ \CJK@horzBaselinestretch\dimen@
+ \dimen@ \CJKbaselinestretch\dimen@
+ \edef\baselinestretch{\strip@pt\dimen@}
+ \else
+ \edef\baselinestretch{\CJKbaselinestretch}
+ \fi
+
+ \normalfont}
+
+\newcommand{\CJKhorz}{
+ \CJK@vertical@false
+ \gdef\CJK@direction{h}
+
+ \ifCJK@useBaselinestretch@
+ \edef\baselinestretch{\CJK@horzBaselinestretch}
+ \else
+ \edef\baselinestretch{1}
+ \fi
+
+ \normalfont}
+
+\AtBeginDocument{\CJKvert}
+
+
+% we redefine \CJKsymbol so that pseudo bold characters will be shifted
+% vertically, not horizontally.
+%
+% for fonts without vertical representation forms, some glyphs shouldn't
+% be rotated; \CJKsymbolsimple can be then used for a redefinition in
+% the `.fdx' file.
+
+\newcommand{\CJKsymbolsimple}[1]{
+ \edef\CJK@temp{\csname \CJK@enc/\CJK@family/simpleoffset\endcsname}
+ \expandafter\ifx\CJK@temp \relax
+ \edef\CJK@temp{0pt}
+ \fi
+ \ifCJK@bold@
+ \raise \CJK@temp \hbox{\symbol{#1}}
+ \raise \CJK@temp \hbox to \z@{\hss \raise\CJKboldshift\hbox{\symbol{#1}}}
+ \raise \CJK@temp \hbox to \z@{\hss \raise-\CJKboldshift\hbox{\symbol{#1}}}
+ \else
+ \raise \CJK@temp \hbox{\symbol{#1}}
+ \fi
+}
+
+\DeclareRobustCommand{\CJKsymbol}[1]{
+ \ifCJK@vertical@
+ \expandafter\ifx\csname \CJK@enc/\CJK@family/norotate/v\endcsname \relax
+ \edef\CJK@tempa{\csname \CJK@enc/\CJK@family/offset/v\endcsname}
+ \expandafter\ifx\CJK@tempa \relax
+ \edef\CJK@tempa{0pt}
+ \fi
+ \edef\CJK@tempb{\csname \CJK@enc/\CJK@family/fullheight/v\endcsname}
+ \expandafter\ifx\CJK@tempb \relax
+ \def\CJK@temp{\rotatebox[x=\CJK@tempa]{90}{\symbol{#1}}}
+ \else
+ \edef\CJK@tempc{\csname \CJK@enc/\CJK@family/height/v\endcsname}
+ \expandafter\ifx\CJK@tempc \relax
+ \edef\CJK@tempc{0pt}
+ \fi
+ \setbox\@tempboxa\hbox{\symbol{#1}}
+ \ht\@tempboxa \CJK@tempc
+ \@tempdima\CJK@tempb
+ \advance\@tempdima -\CJK@tempc
+ \dp\@tempboxa \@tempdima
+ \def\CJK@temp{
+ \rotatebox[x=\CJK@tempa]{90}{\copy\@tempboxa}}
+ \fi
+ \else
+ \def\CJK@temp{\symbol{#1}}
+ \fi
+ \ifCJK@bold@
+ \CJK@temp
+ \hbox to \z@ {\hss \raise\CJKboldshift\hbox{\CJK@temp}}
+ \hbox to \z@ {\hss \raise-\CJKboldshift\hbox{\CJK@temp}}
+ \else
+ \CJK@temp
+ \fi
+ \else
+ \edef\CJK@tempa{\csname \CJK@enc/\CJK@family/offset/h\endcsname}
+ \expandafter\ifx\CJK@tempa \relax
+ \edef\CJK@tempa{0pt}
+ \fi
+ \edef\CJK@temp{\raise\CJK@tempa\hbox{\symbol{#1}}}
+ \leavevmode
+ \ifCJK@bold@
+ \CJK@temp
+ \hbox to \CJKboldshift{\hss\CJK@temp}
+ \hbox to \CJKboldshift{\hss\CJK@temp}
+ \else
+ \CJK@temp
+ \fi
+ \fi}
+
+
+% reset endline character.
+
+\endlinechar `\^^M
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/CNS/EUC-TW.bdg b/language/chinese/CJK/cjk-4.8.4/texinput/CNS/EUC-TW.bdg
new file mode 100644
index 0000000000..95036c135f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/CNS/EUC-TW.bdg
@@ -0,0 +1,130 @@
+% This is the file EUC-TW.bdg of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{EUC-TW.bdg}[\filedate\space\fileversion]
+
+
+% The EUC-TW bindings (with single shift).
+
+\global\@namedef{CJK@EUC-TWBinding}{
+ \CJK@nameppppdef{^^8e}
+
+ \CJK@nameppdef{^^a1}
+ \CJK@nameppdef{^^a2}
+ \CJK@nameppdef{^^a3}
+ \CJK@nameppdef{^^a4}
+ \CJK@nameppdef{^^a5}
+ \CJK@nameppdef{^^a6}
+ \CJK@nameppdef{^^a7}
+ \CJK@nameppdef{^^a8}
+ \CJK@nameppdef{^^a9}
+ \CJK@nameppdef{^^aa}
+ \CJK@nameppdef{^^ab}
+ \CJK@nameppdef{^^ac}
+ \CJK@nameppdef{^^ad}
+ \CJK@nameppdef{^^ae}
+ \CJK@nameppdef{^^af}
+ \CJK@nameppdef{^^b0}
+ \CJK@nameppdef{^^b1}
+ \CJK@nameppdef{^^b2}
+ \CJK@nameppdef{^^b3}
+ \CJK@nameppdef{^^b4}
+ \CJK@nameppdef{^^b5}
+ \CJK@nameppdef{^^b6}
+ \CJK@nameppdef{^^b7}
+ \CJK@nameppdef{^^b8}
+ \CJK@nameppdef{^^b9}
+ \CJK@nameppdef{^^ba}
+ \CJK@nameppdef{^^bb}
+ \CJK@nameppdef{^^bc}
+ \CJK@nameppdef{^^bd}
+ \CJK@nameppdef{^^be}
+ \CJK@nameppdef{^^bf}
+ \CJK@nameppdef{^^c0}
+ \CJK@nameppdef{^^c1}
+ \CJK@nameppdef{^^c2}
+ \CJK@nameppdef{^^c3}
+ \CJK@nameppdef{^^c4}
+ \CJK@nameppdef{^^c5}
+ \CJK@nameppdef{^^c6}
+ \CJK@nameppdef{^^c7}
+ \CJK@nameppdef{^^c8}
+ \CJK@nameppdef{^^c9}
+ \CJK@nameppdef{^^ca}
+ \CJK@nameppdef{^^cb}
+ \CJK@nameppdef{^^cc}
+ \CJK@nameppdef{^^cd}
+ \CJK@nameppdef{^^ce}
+ \CJK@nameppdef{^^cf}
+ \CJK@nameppdef{^^d0}
+ \CJK@nameppdef{^^d1}
+ \CJK@nameppdef{^^d2}
+ \CJK@nameppdef{^^d3}
+ \CJK@nameppdef{^^d4}
+ \CJK@nameppdef{^^d5}
+ \CJK@nameppdef{^^d6}
+ \CJK@nameppdef{^^d7}
+ \CJK@nameppdef{^^d8}
+ \CJK@nameppdef{^^d9}
+ \CJK@nameppdef{^^da}
+ \CJK@nameppdef{^^db}
+ \CJK@nameppdef{^^dc}
+ \CJK@nameppdef{^^dd}
+ \CJK@nameppdef{^^de}
+ \CJK@nameppdef{^^df}
+ \CJK@nameppdef{^^e0}
+ \CJK@nameppdef{^^e1}
+ \CJK@nameppdef{^^e2}
+ \CJK@nameppdef{^^e3}
+ \CJK@nameppdef{^^e4}
+ \CJK@nameppdef{^^e5}
+ \CJK@nameppdef{^^e6}
+ \CJK@nameppdef{^^e7}
+ \CJK@nameppdef{^^e8}
+ \CJK@nameppdef{^^e9}
+ \CJK@nameppdef{^^ea}
+ \CJK@nameppdef{^^eb}
+ \CJK@nameppdef{^^ec}
+ \CJK@nameppdef{^^ed}
+ \CJK@nameppdef{^^ee}
+ \CJK@nameppdef{^^ef}
+ \CJK@nameppdef{^^f0}
+ \CJK@nameppdef{^^f1}
+ \CJK@nameppdef{^^f2}
+ \CJK@nameppdef{^^f3}
+ \CJK@nameppdef{^^f4}
+ \CJK@nameppdef{^^f5}
+ \CJK@nameppdef{^^f6}
+ \CJK@nameppdef{^^f7}
+ \CJK@nameppdef{^^f8}
+ \CJK@nameppdef{^^f9}
+ \CJK@nameppdef{^^fa}
+ \CJK@nameppdef{^^fb}
+ \CJK@nameppdef{^^fc}
+ \CJK@nameppdef{^^fd}
+ \CJK@nameppdef{^^fe}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/CNS/EUC-TW.chr b/language/chinese/CJK/cjk-4.8.4/texinput/CNS/EUC-TW.chr
new file mode 100644
index 0000000000..c7b90cab7a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/CNS/EUC-TW.chr
@@ -0,0 +1,210 @@
+% This is the file EUC-TW.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{EUC-TW.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling characters in EUC-TW encoding.
+
+\global\@namedef{CJK@EUC-TWChr}{
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##3\relax
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% for punctuation.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##4}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+ \CJK@global\def\CJK@punctcharx##1##2##3##4##5{
+ {\ifnum ##5 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##5 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##5}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##5\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcntb -##4\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##5 < \@temp
+ \edef\CJK@plane{##2}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##3}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+% for CNS characters accessed via the SS2 code (0x8E)
+
+ \CJK@global\def\CJK@shiftchar##1##2##3{
+ {\CJK@numbToHex{\CJK@gtemp}{##1}
+ \CJKchar[CNS\expandafter\@secondoftwo\CJK@gtemp]
+ {\number ##2}{\number ##3}}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/CNS/EUC-TW.enc b/language/chinese/CJK/cjk-4.8.4/texinput/CNS/EUC-TW.enc
new file mode 100644
index 0000000000..13a595d90f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/CNS/EUC-TW.enc
@@ -0,0 +1,138 @@
+% This is the file EUC-TW.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{EUC-TW.enc}[\filedate\space\fileversion]
+
+
+% EUC-TW encoding:
+%
+% CNS 11643-1992 planes 1-7 (C31-C37) 0x8EA1A1A1-0x8EA7FEFE
+% CNS 11643-1992 plane 1 (C31) 0xA1A1-0xFEFE
+
+\global\@namedef{CJK@EUC-TWEncoding}{
+ \CJK@loadChr{EUC-TW}
+
+ % if in preprocessed mode, `\@gobble' will be gobbled, and
+ % \CJK@shiftError becomes active
+ \CJK@namegdef{^^8e}##1##2##3{\@gobble\CJK@shiftError
+ \CJK@shiftchar{##1}{##2}{##3}}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar {A1}{01}{-161}{##1}}
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar {A2}{01}{ -67}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@punctcharx{A3}{01}{02}{27}{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar {A4}{02}{-135}{##1}}
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar {A5}{02}{ -41}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@charx{02}{03}{53}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@char {03}{-109}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@char {03}{ -15}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@charx{03}{04}{79}{##1}}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@char {04}{ -83}{##1}}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@charx{04}{05}{11}{##1}}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@char {05}{-151}{##1}}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@char {05}{ -57}{##1}}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@charx{05}{06}{37}{##1}}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@char {06}{-125}{##1}}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@char {06}{ -31}{##1}}
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@charx{06}{07}{63}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@char {07}{ -99}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@char {07}{ -5}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@charx{07}{08}{89}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@char {08}{ -73}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@charx{08}{09}{21}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@char {09}{-141}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@char {09}{ -47}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@charx{09}{10}{47}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@char {10}{-115}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@char {10}{ -21}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@charx{10}{11}{73}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@char {11}{ -89}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@charx{11}{12}{ 5}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@char {12}{-157}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@char {12}{ -63}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@charx{12}{13}{31}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@char {13}{-131}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@char {13}{ -37}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@charx{13}{14}{57}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@char {14}{-105}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@char {14}{ -11}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@charx{14}{15}{83}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@char {15}{ -79}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@charx{15}{16}{15}{##1}}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char {16}{-147}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@char {16}{ -53}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@charx{16}{17}{41}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@char {17}{-121}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char {17}{ -27}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@charx{17}{18}{67}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char {18}{ -95}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char {18}{ -1}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{18}{19}{93}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char {19}{ -69}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@charx{19}{20}{25}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@char {20}{-137}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char {20}{ -43}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@charx{20}{21}{51}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@char {21}{-111}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char {21}{ -17}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@charx{21}{22}{77}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char {22}{ -85}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@charx{22}{23}{ 9}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@char {23}{-153}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char {23}{ -59}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@charx{23}{24}{35}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@char {24}{-127}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char {24}{ -33}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@charx{24}{25}{61}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@char {25}{-101}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char {25}{ -7}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{25}{26}{87}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char {26}{ -75}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@charx{26}{27}{19}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@char {27}{-143}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char {27}{ -49}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@charx{27}{28}{45}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@char {28}{-117}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char {28}{ -23}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{28}{29}{71}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char {29}{ -91}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@charx{29}{30}{ 3}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@char {30}{-159}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char {30}{ -65}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@charx{30}{31}{29}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@char {31}{-133}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char {31}{ -39}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@charx{31}{32}{55}{##1}}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@char {32}{-107}{##1}}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@char {32}{ -13}{##1}}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@charx{32}{33}{81}{##1}}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@char {33}{ -81}{##1}}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@charx{33}{34}{13}{##1}}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@char {34}{-149}{##1}}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@char {34}{ -55}{##1}}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@charx{34}{35}{39}{##1}}
+ \CJK@namegdef{^^fe}##1{\@empty\CJK@char {35}{-123}{##1}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/CNS/c31song.fd b/language/chinese/CJK/cjk-4.8.4/texinput/CNS/c31song.fd
new file mode 100644
index 0000000000..15f25f0602
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/CNS/c31song.fd
@@ -0,0 +1,23 @@
+% This is the file c31song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c31song.fd}[\filedate\space\fileversion]
+
+
+% Chinese traditional characters
+%
+% character set: CNS 11643-1992 plane 1
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C31}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C31}{song}{m}{n}{<-> CJK * c1so12}{\CJKnormal}
+\DeclareFontShape{C31}{song}{bx}{n}{<-> CJKb * c1so12}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/CNS/c32song.fd b/language/chinese/CJK/cjk-4.8.4/texinput/CNS/c32song.fd
new file mode 100644
index 0000000000..9f866d1787
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/CNS/c32song.fd
@@ -0,0 +1,23 @@
+% This is the file c32song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c32song.fd}[\filedate\space\fileversion]
+
+
+% Chinese traditional characters
+%
+% character set: CNS 11643-1992 plane 2
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C32}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C32}{song}{m}{n}{<-> CJK * c2so12}{\CJKnormal}
+\DeclareFontShape{C32}{song}{bx}{n}{<-> CJKb * c2so12}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/CNS/c33song.fd b/language/chinese/CJK/cjk-4.8.4/texinput/CNS/c33song.fd
new file mode 100644
index 0000000000..06f0b84c31
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/CNS/c33song.fd
@@ -0,0 +1,23 @@
+% This is the file c33song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c33song.fd}[\filedate\space\fileversion]
+
+
+% Chinese traditional characters
+%
+% character set: CNS 11643-1992 plane 3
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C33}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C33}{song}{m}{n}{<-> CJK * c3so12}{\CJKnormal}
+\DeclareFontShape{C33}{song}{bx}{n}{<-> CJKb * c3so12}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/CNS/c34song.fd b/language/chinese/CJK/cjk-4.8.4/texinput/CNS/c34song.fd
new file mode 100644
index 0000000000..d052f1f622
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/CNS/c34song.fd
@@ -0,0 +1,23 @@
+% This is the file c34song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c34song.fd}[\filedate\space\fileversion]
+
+
+% Chinese traditional characters
+%
+% character set: CNS 11643-1992 plane 4
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C34}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C34}{song}{m}{n}{<-> CJK * c4so12}{\CJKnormal}
+\DeclareFontShape{C34}{song}{bx}{n}{<-> CJKb * c4so12}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/CNS/c35song.fd b/language/chinese/CJK/cjk-4.8.4/texinput/CNS/c35song.fd
new file mode 100644
index 0000000000..46bb373498
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/CNS/c35song.fd
@@ -0,0 +1,23 @@
+% This is the file c35song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c35song.fd}[\filedate\space\fileversion]
+
+
+% Chinese traditional characters
+%
+% character set: CNS 11643-1992 plane 5
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C35}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C35}{song}{m}{n}{<-> CJK * c5so12}{\CJKnormal}
+\DeclareFontShape{C35}{song}{bx}{n}{<-> CJKb * c5so12}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/CNS/c36song.fd b/language/chinese/CJK/cjk-4.8.4/texinput/CNS/c36song.fd
new file mode 100644
index 0000000000..4ff74f88bb
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/CNS/c36song.fd
@@ -0,0 +1,23 @@
+% This is the file c36song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c36song.fd}[\filedate\space\fileversion]
+
+
+% Chinese traditional characters
+%
+% character set: CNS 11643-1992 plane 6
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C36}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C36}{song}{m}{n}{<-> CJK * c6so12}{\CJKnormal}
+\DeclareFontShape{C36}{song}{bx}{n}{<-> CJKb * c6so12}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/CNS/c37song.fd b/language/chinese/CJK/cjk-4.8.4/texinput/CNS/c37song.fd
new file mode 100644
index 0000000000..c8e738ad1b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/CNS/c37song.fd
@@ -0,0 +1,23 @@
+% This is the file c37song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c37song.fd}[\filedate\space\fileversion]
+
+
+% Chinese traditional characters
+%
+% character set: CNS 11643-1992 plane 7
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C37}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C37}{song}{m}{n}{<-> CJK * c7so12}{\CJKnormal}
+\DeclareFontShape{C37}{song}{bx}{n}{<-> CJKb * c7so12}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/GB/GB.cap b/language/chinese/CJK/cjk-4.8.4/texinput/GB/GB.cap
new file mode 100644
index 0000000000..a6526a296d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/GB/GB.cap
@@ -0,0 +1,86 @@
+% This is the file GB.cap of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{GB.cap}[\filedate\space\fileversion]
+
+
+% Chinese captions
+%
+% character set: GB 2312-80
+% encoding: EUC
+
+\renewcommand\contentsname{Ŀ¼}
+\renewcommand\listfigurename{ͼ}
+\renewcommand\listtablename{}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ο}}
+ {\renewcommand\bibname{ο}}
+
+\renewcommand\indexname{}
+
+\newcommand\prefigurename{}
+\newcommand\postfigurename{ͼ}
+\renewcommand\figureformat{\prefigurename~\thefigure~\postfigurename}
+
+\newcommand\pretablename{}
+\newcommand\posttablename{}
+\renewcommand\tableformat{\pretablename~\thetable~\posttablename}
+
+\newcommand\prepartname{}
+\newcommand\postpartname{}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+% \newcommand\prechaptername{}
+% \newcommand\postchaptername{}
+% \newcommand\presectionname{}
+% \newcommand\postsectionname{}
+% \newcommand\preappendixname{}
+% \newcommand\postappendixname{¼}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{ժҪ}}{}
+
+% \renewcommand\ccname{} % ?
+% \renewcommand\enclname{}
+% \newcommand\prepagename{} % ?
+% \newcommand\postpagename{} % ?
+% \renewcommand\headtoname{} % ?
+% \renewcommand\seename{} % ?
+
+\renewcommand\today{\number\year \number\month \number\day }
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{\ifcase #1\or
+ һ\or \or \or \or \or
+ \or \or \or \or ʮ\fi}}{}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: euc-china
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/GB/GB.cpx b/language/chinese/CJK/cjk-4.8.4/texinput/GB/GB.cpx
new file mode 100644
index 0000000000..40fd77551d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/GB/GB.cpx
@@ -0,0 +1,84 @@
+% This is the file GB.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{GB.cpx}[\filedate\space\fileversion]
+
+
+% Chinese captions
+%
+% character set: GB 2312-80
+% encoding: EUC
+%
+% preprocessed
+
+\renewcommand\contentsname{191188}
+\renewcommand\listfigurename{229188}
+\renewcommand\listtablename{237241}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{206188196215}}
+ {\renewcommand\bibname{206188196215}}
+
+\renewcommand\indexname{247253}
+
+\newcommand\prefigurename{218}
+\newcommand\postfigurename{188}
+\renewcommand\figureformat{\prefigurename~\thefigure~\postfigurename}
+
+\newcommand\pretablename{218}
+\newcommand\posttablename{237}
+\renewcommand\tableformat{\pretablename~\thetable~\posttablename}
+
+\newcommand\prepartname{218}
+\newcommand\postpartname{191214}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+% \newcommand\prechaptername{218}
+% \newcommand\postchaptername{194}
+% \newcommand\presectionname{218}
+% \newcommand\postsectionname{218}
+% \newcommand\preappendixname{218}
+% \newcommand\postappendixname{189188}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{170170}}{}
+
+% \renewcommand\ccname{} % ?
+% \renewcommand\enclname{189254}
+% \newcommand\prepagename{} % ?
+% \newcommand\postpagename{} % ?
+% \renewcommand\headtoname{} % ?
+% \renewcommand\seename{} % ?
+
+\renewcommand\today{%
+ \number\year 234\number\month 194\number\day 213}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{%
+ \ifcase #1\or
+ 187\or 254\or 253\or 196\or 229\or
+ 249\or 223\or 203\or 197\or 174\fi}}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/GB/c10fs.fd b/language/chinese/CJK/cjk-4.8.4/texinput/GB/c10fs.fd
new file mode 100644
index 0000000000..e8efb4e8a1
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/GB/c10fs.fd
@@ -0,0 +1,25 @@
+% This is the file c10fs.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c10fs.fd}[\filedate\space\fileversion]
+
+
+% simplified Chinese characters
+%
+% character set: GB 2312-80
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C10}{fs}{\hyphenchar \font\m@ne}
+
+% jfs56
+
+\DeclareFontShape{C10}{fs}{m}{n}{<-> CJK * gsfs14}{\CJKnormal}
+\DeclareFontShape{C10}{fs}{bx}{n}{<-> CJKb * gsfs14}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/GB/c10gbsn.fd b/language/chinese/CJK/cjk-4.8.4/texinput/GB/c10gbsn.fd
new file mode 100644
index 0000000000..8b266472a5
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/GB/c10gbsn.fd
@@ -0,0 +1,25 @@
+% This is the file c10gbsn.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c10gbsn.fd}[\filedate\space\fileversion]
+
+
+% simplified Chinese characters
+%
+% character set: GB 2312-80
+% font encoding: CJK (standard)
+
+% Arphic PL TrueType font AR PL SungtiL GB / BousungEG-Light-GB
+
+\DeclareFontFamily{C10}{gbsn}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C10}{gbsn}{m}{n}{<-> CJK * gbsnlp}{\CJKnormal}
+\DeclareFontShape{C10}{gbsn}{bx}{n}{<-> CJKb * gbsnlp}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/GB/c10gbsn.fdx b/language/chinese/CJK/cjk-4.8.4/texinput/GB/c10gbsn.fdx
new file mode 100644
index 0000000000..19cbf19d04
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/GB/c10gbsn.fdx
@@ -0,0 +1,70 @@
+% This is the file c10gbsn.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c10gbsn.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{fullheight}{1em}
+\CJKvdef{height}{.88em}
+\CJKvdef{offset}{.5em}
+\CJKvdef{simpleoffset}{-.1em}
+
+\CJKvdef{m/n/01/1}{\raise .15em \hbox to 1em {\kern -.15em \CJKsymbol{1}\hss}}
+\CJKvdef{m/n/01/2}{\raise .15em \hbox to 1em {\kern -.15em \CJKsymbol{2}\hss}}
+\CJKvdef{m/n/01/17}{\CJKsymbolsimple{17}}
+\CJKvdef{m/n/01/18}{\CJKsymbolsimple{18}}
+\CJKvdef{m/n/01/19}{\CJKsymbolsimple{19}}
+\CJKvdef{m/n/01/20}{\CJKsymbolsimple{20}}
+\CJKvdef{m/n/01/21}{\CJKsymbolsimple{21}}
+\CJKvdef{m/n/01/22}{\CJKsymbolsimple{22}}
+\CJKvdef{m/n/01/23}{\CJKsymbolsimple{23}}
+\CJKvdef{m/n/01/24}{\CJKsymbolsimple{24}}
+\CJKvdef{m/n/01/25}{\CJKsymbolsimple{25}}
+\CJKvdef{m/n/01/26}{\CJKsymbolsimple{26}}
+\CJKvdef{m/n/01/27}{\CJKsymbolsimple{27}}
+\CJKvdef{m/n/01/28}{\CJKsymbolsimple{28}}
+\CJKvdef{m/n/01/29}{\CJKsymbolsimple{29}}
+\CJKvdef{m/n/01/30}{\CJKsymbolsimple{30}}
+\CJKvdef{m/n/01/195}{\CJKsymbolsimple{195}}
+\CJKvdef{m/n/01/196}{\CJKsymbolsimple{196}}
+\CJKvdef{m/n/01/199}{
+ \raise .25em \hbox to 1em {\kern -.35em \CJKsymbol{199}\hss}}
+\CJKvdef{m/n/01/201}{
+ \raise .25em \hbox to 1em {\kern -.35em \CJKsymbol{201}\hss}}
+\CJKvdef{m/n/01/246}{\CJKsymbolsimple{246}}
+\CJKvdef{m/n/01/248}{\CJKsymbolsimple{248}}
+\CJKvdef{m/n/02/22}{\CJKsymbolsimple{22}}
+\CJKvdef{m/n/02/24}{\CJKsymbolsimple{24}}
+
+\CJKvlet{bx/n/01/1}{m/n/01/1}
+\CJKvlet{bx/n/01/2}{m/n/01/2}
+\CJKvlet{bx/n/01/17}{m/n/01/17}
+\CJKvlet{bx/n/01/18}{m/n/01/18}
+\CJKvlet{bx/n/01/19}{m/n/01/19}
+\CJKvlet{bx/n/01/20}{m/n/01/20}
+\CJKvlet{bx/n/01/21}{m/n/01/21}
+\CJKvlet{bx/n/01/22}{m/n/01/22}
+\CJKvlet{bx/n/01/23}{m/n/01/23}
+\CJKvlet{bx/n/01/24}{m/n/01/24}
+\CJKvlet{bx/n/01/25}{m/n/01/25}
+\CJKvlet{bx/n/01/26}{m/n/01/26}
+\CJKvlet{bx/n/01/27}{m/n/01/27}
+\CJKvlet{bx/n/01/28}{m/n/01/28}
+\CJKvlet{bx/n/01/29}{m/n/01/29}
+\CJKvlet{bx/n/01/30}{m/n/01/30}
+\CJKvlet{bx/n/01/195}{m/n/01/195}
+\CJKvlet{bx/n/01/196}{m/n/01/196}
+\CJKvlet{bx/n/01/199}{m/n/01/199}
+\CJKvlet{bx/n/01/201}{m/n/01/201}
+\CJKvlet{bx/n/01/246}{m/n/01/246}
+\CJKvlet{bx/n/01/248}{m/n/01/248}
+\CJKvlet{bx/n/02/22}{m/n/02/22}
+\CJKvlet{bx/n/02/24}{m/n/02/24}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/GB/c10gkai.fd b/language/chinese/CJK/cjk-4.8.4/texinput/GB/c10gkai.fd
new file mode 100644
index 0000000000..0fdbcb3330
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/GB/c10gkai.fd
@@ -0,0 +1,25 @@
+% This is the file c10gkai.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c10gkai.fd}[\filedate\space\fileversion]
+
+
+% simplified Chinese characters
+%
+% character set: GB 2312-80
+% font encoding: CJK (standard)
+
+% Arphic PL TrueType font AR PL KaitiM GB / GBZenKai-Medium
+
+\DeclareFontFamily{C10}{gkai}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C10}{gkai}{m}{n}{<-> CJK * gkaimp}{\CJKnormal}
+\DeclareFontShape{C10}{gkai}{bx}{n}{<-> CJKb * gkaimp}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/GB/c10gkai.fdx b/language/chinese/CJK/cjk-4.8.4/texinput/GB/c10gkai.fdx
new file mode 100644
index 0000000000..3a34dfb6f3
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/GB/c10gkai.fdx
@@ -0,0 +1,70 @@
+% This is the file c10gkai.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c10gkai.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{fullheight}{1em}
+\CJKvdef{height}{.88em}
+\CJKvdef{offset}{.5em}
+\CJKvdef{simpleoffset}{-.1em}
+
+\CJKvdef{m/n/01/1}{\raise .15em \hbox to 1em {\kern -.15em \CJKsymbol{1}\hss}}
+\CJKvdef{m/n/01/2}{\raise .15em \hbox to 1em {\kern -.15em \CJKsymbol{2}\hss}}
+\CJKvdef{m/n/01/17}{\CJKsymbolsimple{17}}
+\CJKvdef{m/n/01/18}{\CJKsymbolsimple{18}}
+\CJKvdef{m/n/01/19}{\CJKsymbolsimple{19}}
+\CJKvdef{m/n/01/20}{\CJKsymbolsimple{20}}
+\CJKvdef{m/n/01/21}{\CJKsymbolsimple{21}}
+\CJKvdef{m/n/01/22}{\CJKsymbolsimple{22}}
+\CJKvdef{m/n/01/23}{\CJKsymbolsimple{23}}
+\CJKvdef{m/n/01/24}{\CJKsymbolsimple{24}}
+\CJKvdef{m/n/01/25}{\CJKsymbolsimple{25}}
+\CJKvdef{m/n/01/26}{\CJKsymbolsimple{26}}
+\CJKvdef{m/n/01/27}{\CJKsymbolsimple{27}}
+\CJKvdef{m/n/01/28}{\CJKsymbolsimple{28}}
+\CJKvdef{m/n/01/29}{\CJKsymbolsimple{29}}
+\CJKvdef{m/n/01/30}{\CJKsymbolsimple{30}}
+\CJKvdef{m/n/01/195}{\CJKsymbolsimple{195}}
+\CJKvdef{m/n/01/196}{\CJKsymbolsimple{196}}
+\CJKvdef{m/n/01/199}{
+ \raise .25em \hbox to 1em {\kern -.35em \CJKsymbol{199}\hss}}
+\CJKvdef{m/n/01/201}{
+ \raise .25em \hbox to 1em {\kern -.35em \CJKsymbol{201}\hss}}
+\CJKvdef{m/n/01/246}{\CJKsymbolsimple{246}}
+\CJKvdef{m/n/01/248}{\CJKsymbolsimple{248}}
+\CJKvdef{m/n/02/22}{\CJKsymbolsimple{22}}
+\CJKvdef{m/n/02/24}{\CJKsymbolsimple{24}}
+
+\CJKvlet{bx/n/01/1}{m/n/01/1}
+\CJKvlet{bx/n/01/2}{m/n/01/2}
+\CJKvlet{bx/n/01/17}{m/n/01/17}
+\CJKvlet{bx/n/01/18}{m/n/01/18}
+\CJKvlet{bx/n/01/19}{m/n/01/19}
+\CJKvlet{bx/n/01/20}{m/n/01/20}
+\CJKvlet{bx/n/01/21}{m/n/01/21}
+\CJKvlet{bx/n/01/22}{m/n/01/22}
+\CJKvlet{bx/n/01/23}{m/n/01/23}
+\CJKvlet{bx/n/01/24}{m/n/01/24}
+\CJKvlet{bx/n/01/25}{m/n/01/25}
+\CJKvlet{bx/n/01/26}{m/n/01/26}
+\CJKvlet{bx/n/01/27}{m/n/01/27}
+\CJKvlet{bx/n/01/28}{m/n/01/28}
+\CJKvlet{bx/n/01/29}{m/n/01/29}
+\CJKvlet{bx/n/01/30}{m/n/01/30}
+\CJKvlet{bx/n/01/195}{m/n/01/195}
+\CJKvlet{bx/n/01/196}{m/n/01/196}
+\CJKvlet{bx/n/01/199}{m/n/01/199}
+\CJKvlet{bx/n/01/201}{m/n/01/201}
+\CJKvlet{bx/n/01/246}{m/n/01/246}
+\CJKvlet{bx/n/01/248}{m/n/01/248}
+\CJKvlet{bx/n/02/22}{m/n/02/22}
+\CJKvlet{bx/n/02/24}{m/n/02/24}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/GB/c10song.fd b/language/chinese/CJK/cjk-4.8.4/texinput/GB/c10song.fd
new file mode 100644
index 0000000000..4e361cf963
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/GB/c10song.fd
@@ -0,0 +1,23 @@
+% This is the file c10song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c10song.fd}[\filedate\space\fileversion]
+
+
+% simplified Chinese characters
+%
+% character set: GB 2312-80
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C10}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C10}{song}{m}{n}{<-> CJKsub * fs/m/n}{}
+\DeclareFontShape{C10}{song}{bx}{n}{<-> CJKsub * fs/bx/n}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/GB/c11song.fd b/language/chinese/CJK/cjk-4.8.4/texinput/GB/c11song.fd
new file mode 100644
index 0000000000..4223455f1c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/GB/c11song.fd
@@ -0,0 +1,23 @@
+% This is the file c11song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c11song.fd}[\filedate\space\fileversion]
+
+
+% simplified Chinese characters
+%
+% character set: GB 2312-80
+% font encoding: pmC
+
+\DeclareFontFamily{C11}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C11}{song}{m}{n}{<-> sCJKfixed * wccs}{\CJKnormal}
+\DeclareFontShape{C11}{song}{bx}{n}{<-> sCJKfixedb * wccs}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/GB/c19song.fd b/language/chinese/CJK/cjk-4.8.4/texinput/GB/c19song.fd
new file mode 100644
index 0000000000..bbcb377c2c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/GB/c19song.fd
@@ -0,0 +1,23 @@
+% This is the file c19song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c19song.fd}[\filedate\space\fileversion]
+
+
+% Chinese characters (extension of GB 2312)
+%
+% character set: GBK
+% font encoding: CJK (extended)
+
+\DeclareFontFamily{C19}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C19}{song}{m}{n}{<-> CJK * gbk}{\CJKnormal}
+\DeclareFontShape{C19}{song}{bx}{n}{<-> CJKb * gbk}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/GB/c20song.fd b/language/chinese/CJK/cjk-4.8.4/texinput/GB/c20song.fd
new file mode 100644
index 0000000000..909728a41a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/GB/c20song.fd
@@ -0,0 +1,31 @@
+% This is the file c20song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c20song.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: GB/T 12345-90
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C20}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C20}{song}{m}{n}{
+ <5> <6> <7> <8> <9> CJKfixed * gtso12
+ <10> <10.95> <12> sCJKfixed * gtso12
+ <14.4> <17.28> <20.74> sCJKfixed * gtso17
+ <24.88> CJKfixed * gtso17}{\CJKnormal}
+\DeclareFontShape{C20}{song}{bx}{n}{
+ <5> <6> <7> <8> <9> CJKfixedb * gtso12
+ <10> <10.95> <12> sCJKfixedb * gtso12
+ <14.4> <17.28> <20.74> sCJKfixedb * gtso17
+ <24.88> CJKfixedb * gtso17}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/GB/c21song.fd b/language/chinese/CJK/cjk-4.8.4/texinput/GB/c21song.fd
new file mode 100644
index 0000000000..624e9e3c28
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/GB/c21song.fd
@@ -0,0 +1,23 @@
+% This is the file c21song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c21song.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: GB/T 12345-90
+% font encoding: pmC
+
+\DeclareFontFamily{C21}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C21}{song}{m}{n}{<-> sCJKfixed * wcct}{\CJKnormal}
+\DeclareFontShape{C21}{song}{bx}{n}{<-> sCJKfixedb * wcct}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/JIS/EUC-JP.bdg b/language/chinese/CJK/cjk-4.8.4/texinput/JIS/EUC-JP.bdg
new file mode 100644
index 0000000000..711e8b9f16
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/JIS/EUC-JP.bdg
@@ -0,0 +1,131 @@
+% This is the file EUC-JP.bdg of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{EUC-JP.bdg}[\filedate\space\fileversion]
+
+
+% The EUC-JP bindings (with single shifts).
+
+\global\@namedef{CJK@EUC-JPBinding}{
+ \CJK@nameppdef{^^8e}
+ \CJK@namepppdef{^^8f}
+
+ \CJK@nameppdef{^^a1}
+ \CJK@nameppdef{^^a2}
+ \CJK@nameppdef{^^a3}
+ \CJK@nameppdef{^^a4}
+ \CJK@nameppdef{^^a5}
+ \CJK@nameppdef{^^a6}
+ \CJK@nameppdef{^^a7}
+ \CJK@nameppdef{^^a8}
+ \CJK@nameppdef{^^a9}
+ \CJK@nameppdef{^^aa}
+ \CJK@nameppdef{^^ab}
+ \CJK@nameppdef{^^ac}
+ \CJK@nameppdef{^^ad}
+ \CJK@nameppdef{^^ae}
+ \CJK@nameppdef{^^af}
+ \CJK@nameppdef{^^b0}
+ \CJK@nameppdef{^^b1}
+ \CJK@nameppdef{^^b2}
+ \CJK@nameppdef{^^b3}
+ \CJK@nameppdef{^^b4}
+ \CJK@nameppdef{^^b5}
+ \CJK@nameppdef{^^b6}
+ \CJK@nameppdef{^^b7}
+ \CJK@nameppdef{^^b8}
+ \CJK@nameppdef{^^b9}
+ \CJK@nameppdef{^^ba}
+ \CJK@nameppdef{^^bb}
+ \CJK@nameppdef{^^bc}
+ \CJK@nameppdef{^^bd}
+ \CJK@nameppdef{^^be}
+ \CJK@nameppdef{^^bf}
+ \CJK@nameppdef{^^c0}
+ \CJK@nameppdef{^^c1}
+ \CJK@nameppdef{^^c2}
+ \CJK@nameppdef{^^c3}
+ \CJK@nameppdef{^^c4}
+ \CJK@nameppdef{^^c5}
+ \CJK@nameppdef{^^c6}
+ \CJK@nameppdef{^^c7}
+ \CJK@nameppdef{^^c8}
+ \CJK@nameppdef{^^c9}
+ \CJK@nameppdef{^^ca}
+ \CJK@nameppdef{^^cb}
+ \CJK@nameppdef{^^cc}
+ \CJK@nameppdef{^^cd}
+ \CJK@nameppdef{^^ce}
+ \CJK@nameppdef{^^cf}
+ \CJK@nameppdef{^^d0}
+ \CJK@nameppdef{^^d1}
+ \CJK@nameppdef{^^d2}
+ \CJK@nameppdef{^^d3}
+ \CJK@nameppdef{^^d4}
+ \CJK@nameppdef{^^d5}
+ \CJK@nameppdef{^^d6}
+ \CJK@nameppdef{^^d7}
+ \CJK@nameppdef{^^d8}
+ \CJK@nameppdef{^^d9}
+ \CJK@nameppdef{^^da}
+ \CJK@nameppdef{^^db}
+ \CJK@nameppdef{^^dc}
+ \CJK@nameppdef{^^dd}
+ \CJK@nameppdef{^^de}
+ \CJK@nameppdef{^^df}
+ \CJK@nameppdef{^^e0}
+ \CJK@nameppdef{^^e1}
+ \CJK@nameppdef{^^e2}
+ \CJK@nameppdef{^^e3}
+ \CJK@nameppdef{^^e4}
+ \CJK@nameppdef{^^e5}
+ \CJK@nameppdef{^^e6}
+ \CJK@nameppdef{^^e7}
+ \CJK@nameppdef{^^e8}
+ \CJK@nameppdef{^^e9}
+ \CJK@nameppdef{^^ea}
+ \CJK@nameppdef{^^eb}
+ \CJK@nameppdef{^^ec}
+ \CJK@nameppdef{^^ed}
+ \CJK@nameppdef{^^ee}
+ \CJK@nameppdef{^^ef}
+ \CJK@nameppdef{^^f0}
+ \CJK@nameppdef{^^f1}
+ \CJK@nameppdef{^^f2}
+ \CJK@nameppdef{^^f3}
+ \CJK@nameppdef{^^f4}
+ \CJK@nameppdef{^^f5}
+ \CJK@nameppdef{^^f6}
+ \CJK@nameppdef{^^f7}
+ \CJK@nameppdef{^^f8}
+ \CJK@nameppdef{^^f9}
+ \CJK@nameppdef{^^fa}
+ \CJK@nameppdef{^^fb}
+ \CJK@nameppdef{^^fc}
+ \CJK@nameppdef{^^fd}
+ \CJK@nameppdef{^^fe}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/JIS/EUC-JP.chr b/language/chinese/CJK/cjk-4.8.4/texinput/JIS/EUC-JP.chr
new file mode 100644
index 0000000000..18802ad256
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/JIS/EUC-JP.chr
@@ -0,0 +1,246 @@
+% This is the file EUC-JP.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{EUC-JP.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling characters in EUC-JP encoding.
+
+\global\@namedef{CJK@EUC-JPChr}{
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##3\relax
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% for punctuation.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##4}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+ \CJK@global\def\CJK@punctcharx##1##2##3##4##5{
+ {\ifnum ##5 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##5 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##5}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##5\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcntb -##4\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##5 < \@temp
+ \edef\CJK@plane{##2}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##3}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+% for half-width katakana accessed via the SS2 code (0x8E)
+
+ \CJK@global\def\CJK@shiftchar##1{
+ {\ifnum ##1 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##1 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##1}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@altenc}{}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \def\CJK@plane{}
+ \usefont{\CJK@altenc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number ##1/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{##1}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@altenc}{}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/JIS/EUC-JP.enc b/language/chinese/CJK/cjk-4.8.4/texinput/JIS/EUC-JP.enc
new file mode 100644
index 0000000000..38f4b026e6
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/JIS/EUC-JP.enc
@@ -0,0 +1,141 @@
+% This is the file EUC-JP.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{EUC-JP.enc}[\filedate\space\fileversion]
+
+
+% EUC-JP encoding:
+%
+% Half-width katakana (C49) 0x8EA1-0x8EDF
+% JIS X 0212-1992 (C5x) 0x8FA1A1-0x8FFEFE
+% JIS X 0208:1997 (C4x) 0xA1A1-0xFEFE
+
+\global\@namedef{CJK@EUC-JPEncoding}{
+ \CJK@loadChr{EUC-JP}
+
+ % if in preprocessed mode, `\@gobble' will be gobbled, and
+ % \CJK@shiftError becomes active
+ \CJK@namegdef{^^8e}##1{\@gobble\CJK@shiftError
+ \CJK@shiftchar{##1}}
+ \CJK@namegdef{^^8f}##1##2{\@gobble\CJK@shiftError
+ \CJKchar[JIS2]{\number ##1}{\number ##2}}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar {A1}{01}{-161}{##1}}
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar {A2}{01}{ -67}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@punctcharx{A3}{01}{02}{27}{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar {A4}{02}{-135}{##1}}
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar {A5}{02}{ -41}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@charx{02}{03}{53}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@char {03}{-109}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@char {03}{ -15}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@charx{03}{04}{79}{##1}}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@char {04}{ -83}{##1}}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@charx{04}{05}{11}{##1}}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@char {05}{-151}{##1}}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@char {05}{ -57}{##1}}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@charx{05}{06}{37}{##1}}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@char {06}{-125}{##1}}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@char {06}{ -31}{##1}}
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@charx{06}{07}{63}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@char {07}{ -99}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@char {07}{ -5}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@charx{07}{08}{89}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@char {08}{ -73}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@charx{08}{09}{21}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@char {09}{-141}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@char {09}{ -47}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@charx{09}{10}{47}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@char {10}{-115}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@char {10}{ -21}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@charx{10}{11}{73}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@char {11}{ -89}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@charx{11}{12}{ 5}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@char {12}{-157}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@char {12}{ -63}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@charx{12}{13}{31}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@char {13}{-131}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@char {13}{ -37}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@charx{13}{14}{57}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@char {14}{-105}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@char {14}{ -11}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@charx{14}{15}{83}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@char {15}{ -79}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@charx{15}{16}{15}{##1}}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char {16}{-147}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@char {16}{ -53}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@charx{16}{17}{41}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@char {17}{-121}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char {17}{ -27}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@charx{17}{18}{67}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char {18}{ -95}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char {18}{ -1}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{18}{19}{93}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char {19}{ -69}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@charx{19}{20}{25}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@char {20}{-137}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char {20}{ -43}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@charx{20}{21}{51}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@char {21}{-111}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char {21}{ -17}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@charx{21}{22}{77}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char {22}{ -85}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@charx{22}{23}{ 9}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@char {23}{-153}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char {23}{ -59}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@charx{23}{24}{35}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@char {24}{-127}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char {24}{ -33}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@charx{24}{25}{61}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@char {25}{-101}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char {25}{ -7}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{25}{26}{87}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char {26}{ -75}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@charx{26}{27}{19}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@char {27}{-143}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char {27}{ -49}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@charx{27}{28}{45}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@char {28}{-117}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char {28}{ -23}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{28}{29}{71}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char {29}{ -91}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@charx{29}{30}{ 3}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@char {30}{-159}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char {30}{ -65}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@charx{30}{31}{29}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@char {31}{-133}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char {31}{ -39}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@charx{31}{32}{55}{##1}}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@char {32}{-107}{##1}}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@char {32}{ -13}{##1}}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@charx{32}{33}{81}{##1}}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@char {33}{ -81}{##1}}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@charx{33}{34}{13}{##1}}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@char {34}{-149}{##1}}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@char {34}{ -55}{##1}}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@charx{34}{35}{39}{##1}}
+ \CJK@namegdef{^^fe}##1{\@empty\CJK@char {35}{-123}{##1}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/JIS/EUC-JPdnp.enc b/language/chinese/CJK/cjk-4.8.4/texinput/JIS/EUC-JPdnp.enc
new file mode 100644
index 0000000000..647eabd89c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/JIS/EUC-JPdnp.enc
@@ -0,0 +1,142 @@
+% This is the file EUC-JPdnp.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{EUC-JPdnp.enc}[\filedate\space\fileversion]
+
+
+% EUC-JP encoding with dnp font encoding:
+%
+% Half-width katakana (C49) 0x8EA1-0x8EDF
+% JIS X 0212-1992 (C5x) 0x8FA1A1-0x8FFEFE
+% JIS X 0208:1997 (C4x) 0xA1A1-0xFEFE
+
+\global\@namedef{CJK@EUC-JPdnpEncoding}{
+ \CJK@loadChr{EUC-JP}
+
+ % if in preprocessed mode, `\@gobble' will be gobbled, and
+ % \CJK@shiftError becomes active
+ \CJK@namegdef{^^8e}##1{\@gobble\CJK@shiftError
+ \CJK@shiftchar{##1}}
+ \CJK@namegdef{^^8f}##1##2{\@gobble\CJK@shiftError
+ \CJKchar[JIS2dnp]{\number ##1}{\number ##2}}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar{A1}{sy}{-160}{##1}}
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar{A2}{sy}{ -60}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@char {roma}{-128}{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar{A4}{hira}{-160}{##1}}
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar{A5}{kata}{-160}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@char {greek}{-160}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@char {russian}{-160}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@char {keisen}{-160}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@char {ka}{-161}{##1}}
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@char {ka}{ -67}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@charx{ka}{kb}{27}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@char {kb}{-135}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@char {kb}{ -41}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@charx{kb}{kc}{53}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@char {kc}{-109}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@char {kc}{ -15}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@charx{kc}{kd}{79}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@char {kd}{ -83}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@charx{kd}{ke}{11}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@char {ke}{-151}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@char {ke}{ -57}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@charx{ke}{kf}{37}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@char {kf}{-125}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@char {kf}{ -31}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@charx{kf}{kg}{63}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@char {kg}{ -99}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@char {kg}{ -5}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@charx{kg}{kh}{89}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@char {kh}{ -73}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@charx{kh}{ki}{21}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@char {ki}{-141}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@char {ki}{ -47}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@charx{ki}{kj}{47}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@char {kj}{-115}{##1}}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char {kj}{ -21}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@charx{kj}{kk}{73}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@char {kk}{ -89}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@charx{kk}{kl}{ 5}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char {kl}{-157}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@char {kl}{-63}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char {km}{-161}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char {km}{ -67}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{km}{kn}{27}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char {kn}{-135}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@char {kn}{ -41}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@charx{kn}{ko}{53}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char {ko}{-109}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@char {ko}{ -15}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@charx{ko}{kp}{79}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char {kp}{ -83}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@charx{kp}{kq}{11}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char {kq}{-151}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@char {kq}{ -57}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@charx{kq}{kr}{37}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char {kr}{-125}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@char {kr}{ -31}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@charx{kr}{ks}{63}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char {ks}{ -99}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@char {ks}{ -5}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@charx{ks}{kt}{89}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char {kt}{ -73}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{kt}{ku}{21}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char {ku}{-141}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@char {ku}{ -47}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@charx{ku}{kv}{47}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char {kv}{-115}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@char {kv}{ -21}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@charx{kv}{kw}{73}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char {kw}{ -89}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{kw}{kx}{ 5}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char {kx}{-157}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@char {kx}{ -63}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@charx{kx}{ky}{31}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char {ky}{-131}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@char {ky}{ -37}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@charx{ky}{kz}{57}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char {kz}{-105}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fe}##1{\@empty\CJK@errxx}
+}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/JIS/JIS.cap b/language/chinese/CJK/cjk-4.8.4/texinput/JIS/JIS.cap
new file mode 100644
index 0000000000..3a9550a5c2
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/JIS/JIS.cap
@@ -0,0 +1,83 @@
+% This is the file JIS.cap of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{JIS.cap}[\filedate\space\fileversion]
+
+
+% Japanese captions
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% encoding: EUC
+
+\newif\ifheisei
+\let\ifheisei=\iffalse
+\def\heisei{\let\ifheisei=\iftrue}
+
+\renewcommand\contentsname{ܼ}
+
+\renewcommand\listfigurename{ܼ}
+% \newcommand\listfigurename{ް}
+
+\renewcommand\listtablename{ɽܼ}
+% \newcommand\listtablename{ɽ}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ʸ}
+ }
+ {\renewcommand\bibname{Ϣ}
+% \renewcommand\bibname{ʸ}
+ }
+\renewcommand\indexname{}
+
+\renewcommand\figurename{}
+\renewcommand\tablename{ɽ}
+
+\newcommand\prepartname{}
+\newcommand\postpartname{}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+% \renewcommand{\appendixname}{Ͽ}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{׻}}{}
+
+\renewcommand\today{{\ifheisei\count0=\year\else\count0=\year
+ \advance\count0 -1988 ʿ\,\fi
+ \ifnum\count0=1 \else\number\count0\fi
+ \,ǯ\hspace{.5em}\nobreak\number\month
+ \,\hspace{.5em}\nobreak\number\day\,}}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{\ifcase #1\or
+ \or \or \or \or \or
+ ϻ\or \or Ȭ\or \or \fi}}{}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: euc-japan
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/JIS/JIS.cpx b/language/chinese/CJK/cjk-4.8.4/texinput/JIS/JIS.cpx
new file mode 100644
index 0000000000..82f0a25c93
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/JIS/JIS.cpx
@@ -0,0 +1,80 @@
+% This is the file JIS.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{JIS.cpx}[\filedate\space\fileversion]
+
+
+% Japanese captions
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% encoding: EUC
+%
+% preprocessed
+
+\newif\ifheisei
+\let\ifheisei=\iffalse
+\def\heisei{\let\ifheisei=\iftrue}
+
+\renewcommand\contentsname{220161}
+
+\renewcommand\listfigurename{222220161}
+% \newcommand\listfigurename{222236247}
+
+\renewcommand\listtablename{189220161}
+% \newcommand\listtablename{189236247}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{178205184165}
+ }
+ {\renewcommand\bibname{216162241210}
+% \renewcommand\bibname{178205184165}
+ }
+\renewcommand\indexname{247250}
+
+\renewcommand\figurename{222}
+\renewcommand\tablename{189}
+
+\newcommand\prepartname{232}
+\newcommand\postpartname{244}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+% \renewcommand{\appendixname}{237191}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{215221}}{}
+
+\renewcommand\today{{\ifheisei\count0=\year\else\count0=\year
+ \advance\count0 -1988 191174\,\fi
+ \ifnum\count0=1 181\else\number\count0\fi
+ \,175\hspace{.5em}\nobreak\number\month
+ \,238\hspace{.5em}\nobreak\number\day\,252}}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{%
+ \ifcase #1\or
+ 236\or 243\or 176\or 205\or 222\or
+ 187\or 183\or 172\or 229\or 189\fi}}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/JIS/JISdnp.enc b/language/chinese/CJK/cjk-4.8.4/texinput/JIS/JISdnp.enc
new file mode 100644
index 0000000000..44b19896b7
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/JIS/JISdnp.enc
@@ -0,0 +1,132 @@
+% This is the file JISdnp.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{JISdnp.enc}[\filedate\space\fileversion]
+
+
+% JIS encoding for DNP fonts:
+% each plane has 94 characters (GB, JIS etc.) (0xA1 - 0xFE).
+
+\global\@namedef{CJK@JISdnpEncoding}{
+ \CJK@loadChr{standard}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar{A1}{sy}{-160}{##1}}
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar{A2}{sy}{ -60}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@char {roma}{-128}{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar{A4}{hira}{-160}{##1}}
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar{A5}{kata}{-160}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@char {greek}{-160}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@char {russian}{-160}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@char {keisen}{-160}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@char {ka}{-161}{##1}}
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@char {ka}{ -67}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@charx{ka}{kb}{27}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@char {kb}{-135}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@char {kb}{ -41}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@charx{kb}{kc}{53}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@char {kc}{-109}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@char {kc}{ -15}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@charx{kc}{kd}{79}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@char {kd}{ -83}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@charx{kd}{ke}{11}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@char {ke}{-151}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@char {ke}{ -57}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@charx{ke}{kf}{37}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@char {kf}{-125}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@char {kf}{ -31}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@charx{kf}{kg}{63}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@char {kg}{ -99}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@char {kg}{ -5}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@charx{kg}{kh}{89}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@char {kh}{ -73}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@charx{kh}{ki}{21}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@char {ki}{-141}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@char {ki}{ -47}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@charx{ki}{kj}{47}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@char {kj}{-115}{##1}}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char {kj}{ -21}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@charx{kj}{kk}{73}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@char {kk}{ -89}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@charx{kk}{kl}{ 5}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char {kl}{-157}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@char {kl}{-63}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char {km}{-161}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char {km}{ -67}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{km}{kn}{27}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char {kn}{-135}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@char {kn}{ -41}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@charx{kn}{ko}{53}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char {ko}{-109}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@char {ko}{ -15}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@charx{ko}{kp}{79}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char {kp}{ -83}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@charx{kp}{kq}{11}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char {kq}{-151}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@char {kq}{ -57}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@charx{kq}{kr}{37}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char {kr}{-125}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@char {kr}{ -31}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@charx{kr}{ks}{63}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char {ks}{ -99}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@char {ks}{ -5}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@charx{ks}{kt}{89}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char {kt}{ -73}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{kt}{ku}{21}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char {ku}{-141}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@char {ku}{ -47}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@charx{ku}{kv}{47}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char {kv}{-115}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@char {kv}{ -21}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@charx{kv}{kw}{73}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char {kw}{ -89}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{kw}{kx}{ 5}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char {kx}{-157}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@char {kx}{ -63}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@charx{kx}{ky}{31}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char {ky}{-131}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@char {ky}{ -37}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@charx{ky}{kz}{57}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char {kz}{-105}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fe}##1{\@empty\CJK@errxx}
+}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/JIS/c40song.fd b/language/chinese/CJK/cjk-4.8.4/texinput/JIS/c40song.fd
new file mode 100644
index 0000000000..39a8b4036a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/JIS/c40song.fd
@@ -0,0 +1,25 @@
+% This is the file c40song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c40song.fd}[\filedate\space\fileversion]
+
+
+% Japanese characters
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C40}{song}{\hyphenchar \font\m@ne}
+
+% kanji48
+
+\DeclareFontShape{C40}{song}{m}{n}{<-> CJK * jsso12}{\CJKnormal}
+\DeclareFontShape{C40}{song}{bx}{n}{<-> CJKb * jsso12}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/JIS/c41song.fd b/language/chinese/CJK/cjk-4.8.4/texinput/JIS/c41song.fd
new file mode 100644
index 0000000000..4d05cbaeab
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/JIS/c41song.fd
@@ -0,0 +1,23 @@
+% This is the file c41song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c41song.fd}[\filedate\space\fileversion]
+
+
+% Japanese characters
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% font encoding: pmC
+
+\DeclareFontFamily{C41}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C41}{song}{m}{n}{<-> sCJKfixed * wjis}{\CJKnormal}
+\DeclareFontShape{C41}{song}{bx}{n}{<-> sCJKfixedb * wjis}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/JIS/c42song.fd b/language/chinese/CJK/cjk-4.8.4/texinput/JIS/c42song.fd
new file mode 100644
index 0000000000..7f0d984fef
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/JIS/c42song.fd
@@ -0,0 +1,28 @@
+% This is the file c42song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c42song.fd}[\filedate\space\fileversion]
+
+
+% Japanese characters in JIS encoding scheme using DNP fonts.
+% Japanese characters
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% font encoding: DNP
+
+\DeclareFontFamily{C42}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C42}{song}{m}{n}
+ {<5> <6> <7> <8> <9> <10> <12> DNPgen * dmj
+ <10.95><14.4><17.28><20.74><24.88> DNP *[10] dmj}{}
+\DeclareFontShape{C42}{song}{bx}{n}
+ {<5> <6> <7> <8> <9> <10> <12> DNPgen * dgj
+ <10.95><14.4><17.28><20.74><24.88> DNP *[10] dgj}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/JIS/c43song.fd b/language/chinese/CJK/cjk-4.8.4/texinput/JIS/c43song.fd
new file mode 100644
index 0000000000..1251d844c2
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/JIS/c43song.fd
@@ -0,0 +1,27 @@
+% This is the file c43song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c43song.fd}[\filedate\space\fileversion]
+
+
+% Japanese characters
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% font encoding: DNP
+
+\DeclareFontFamily{C43}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C43}{song}{m}{n}
+ {<5> <6> <7> <8> <9> <10> <12>
+ <10.95><14.4><17.28><20.74><24.88> DNP * mj}{}
+\DeclareFontShape{C43}{song}{bx}{n}
+ {<5> <6> <7> <8> <9> <10> <12>
+ <10.95><14.4><17.28><20.74><24.88> DNP * bj}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/JIS/c50song.fd b/language/chinese/CJK/cjk-4.8.4/texinput/JIS/c50song.fd
new file mode 100644
index 0000000000..f16744e25a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/JIS/c50song.fd
@@ -0,0 +1,26 @@
+% This is the file c50song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c50song.fd}[\filedate\space\fileversion]
+
+
+% Japanese characters in JIS supplement encoding scheme.
+% Japanese characters
+%
+% character set: JIS X 0212-1990
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C50}{song}{\hyphenchar \font\m@ne}
+
+% kanjix48
+
+\DeclareFontShape{C50}{song}{m}{n}{<-> CJK * j2so12}{\CJKnormal}
+\DeclareFontShape{C50}{song}{bx}{n}{<-> CJKb * j2so12}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/HLaTeX.chr b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/HLaTeX.chr
new file mode 100644
index 0000000000..cb4ad051ec
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/HLaTeX.chr
@@ -0,0 +1,229 @@
+% This is the file HLaTeX.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{HLaTeX.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling hangul fonts and characters.
+
+\gdef\CJK@HLaTeXChr{
+
+% KS symbols -- for Hiragana and Katagana, no kinsoku shori is provided!
+
+ \CJK@global\def\CJK@symbA##1##2##3{
+ {\CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@symbEnc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number ##2/\number ##3/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbols{##2}{##3}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK}}
+
+ \CJK@global\def\CJK@symbB##1{
+ {\CJK@numbToHex{\CJK@gtemp}{##1}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{KS}{A3}{\CJK@gtemp}
+ \ifCJK@
+ \else
+ \discretionary{}{}{}
+ \fi
+ \fi
+
+ \ifnum ##1 = 220\relax
+ \edef\CJK@plane{04}
+ \else
+ \edef\CJK@plane{07}
+ \fi
+ \usefont{\CJK@symbEnc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/163/\number ##1/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbols{163}{##1}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{KS}{A3}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi}}
+
+ \CJK@global\def\CJK@symbC##1##2##3{
+ {\CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \ifnum ##3 < ##1\relax
+ \edef\CJK@plane{07}
+ \else
+ \ifnum ##3 > 245\relax
+ \edef\CJK@plane{06}
+ \else
+ \edef\CJK@plane{04}
+ \fi
+ \fi
+ \usefont{\CJK@symbEnc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number ##2/\number ##3/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbols{##2}{##3}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK}}
+
+ \CJK@global\def\CJK@symbD##1{
+ {\CJK@numbToHex{\CJK@gtemp}{##1}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{KS}{A1}{\CJK@gtemp}
+ \ifCJK@
+ \else
+ \discretionary{}{}{}
+ \fi
+ \fi
+
+ \edef\CJK@plane{05}
+ \usefont{\CJK@symbEnc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/161/\number ##1/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbols{161}{##1}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{KS}{A1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi}}
+
+
+% Hangul syllables
+
+ \CJK@global\def\CJK@altchar##1##2##3{
+ {\CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@altEnc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number ##2/\number ##3/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbols{##2}{##3}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@altcharx##1##2##3##4##5{
+ {\CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \ifnum ##5 < ##3\relax
+ \edef\CJK@plane{##1}
+ \else
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@altEnc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number ##4/\number ##5/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbols{##4}{##5}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK}}
+
+% Hanja
+
+ \CJK@global\def\CJK@char##1##2##3{
+ {\CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number ##2/\number ##3/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbols{##2}{##3}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4##5{
+ {\CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \ifnum ##5 < ##3\relax
+ \edef\CJK@plane{##1}
+ \else
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number ##4/\number ##5/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbols{##4}{##5}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/KSHL.enc b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/KSHL.enc
new file mode 100644
index 0000000000..f7c26a7e0e
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/KSHL.enc
@@ -0,0 +1,134 @@
+% This is the file KSHL.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{KSHL.enc}[\filedate\space\fileversion]
+
+
+% KS encoding for HLaTeX >= 0.97 fonts:
+% each plane has 94 characters (but 256 characters per subfont);
+% Hangul subfonts have the postfixes 0 - 9
+% Hanja subfonts have the postfixes 10 - 29
+% Symbol subfonts have the postfixes 04 - 07
+
+\gdef\CJK@KSHLEncoding{
+ \CJK@loadChr{HLaTeX}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@symbD{##1}}% Symbols
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@symbA{05}{162}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@symbB{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@symbA{04}{164}{##1}}
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@symbA{07}{165}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@symbA{06}{166}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@symbA{05}{167}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@symbC{176}{168}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@symbC{177}{169}{##1}}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@symbA{06}{170}{##1}}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@symbA{06}{171}{##1}}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@symbA{07}{172}{##1}}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@altchar {0}{176}{##1}}% Hangul syllables
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@altchar {0}{177}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@altcharx{0}{1}{229}{178}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@altchar {1}{179}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@altchar {1}{180}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@altcharx{1}{2}{203}{181}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@altchar {2}{182}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@altchar {2}{183}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@altcharx{2}{3}{177}{184}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@altchar {3}{185}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@altcharx{3}{4}{245}{186}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@altchar {4}{187}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@altchar {4}{188}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@altcharx{4}{5}{219}{189}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@altchar {5}{190}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@altchar {5}{191}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@altcharx{5}{6}{193}{192}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@altchar {6}{193}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@altchar {6}{194}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@altcharx{6}{7}{167}{195}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@altchar {7}{196}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@altcharx{7}{8}{235}{197}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@altchar {8}{198}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@altchar {8}{199}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@altcharx{8}{9}{209}{200}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char {10}{202}{##1}}% Hanja
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@char {10}{203}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@charx{10}{11}{229}{204}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@char {11}{205}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char {11}{206}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@charx{11}{12}{203}{207}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char {12}{208}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char {12}{209}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{12}{13}{177}{210}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char {13}{211}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@charx{13}{14}{245}{212}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@char {14}{213}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char {14}{214}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@charx{14}{15}{219}{215}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@char {15}{216}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char {15}{217}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@charx{15}{16}{193}{218}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char {16}{219}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@char {16}{220}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@charx{16}{17}{167}{221}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char {17}{222}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@charx{17}{18}{235}{223}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@char {18}{224}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char {18}{225}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@charx{18}{19}{209}{226}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@char {19}{227}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char {19}{228}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{19}{20}{183}{229}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char {20}{230}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@charx{20}{21}{251}{231}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@char {21}{232}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char {21}{233}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@charx{21}{22}{225}{234}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@char {22}{235}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char {22}{236}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{22}{23}{199}{237}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char {23}{238}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@char {23}{239}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@charx{23}{24}{173}{240}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char {24}{241}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@charx{24}{25}{241}{242}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@char {25}{243}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char {25}{244}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@charx{25}{26}{215}{245}{##1}}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@char {26}{246}{##1}}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@char {26}{247}{##1}}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@charx{26}{27}{189}{248}{##1}}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@char {27}{249}{##1}}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@char {27}{250}{##1}}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@charx{27}{28}{163}{251}{##1}}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@char {28}{252}{##1}}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@charx{28}{29}{231}{253}{##1}}
+}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63bm.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63bm.fd
new file mode 100644
index 0000000000..30f66370a4
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63bm.fd
@@ -0,0 +1,53 @@
+% This is file c63bm.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c63bm.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcBom
+
+\DeclareFontFamily{C63}{bm}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{bm}{c}{n}{<-> CJK * wbmc}{}
+\DeclareFontShape{C63}{bm}{c}{sl}{<-> CJK * wbmco}{}
+\DeclareFontShape{C63}{bm}{c}{it}{<-> CJKssub * bm/c/sl}{}
+
+\DeclareFontShape{C63}{bm}{m}{n}{<-> CJK * wbm}{}
+\DeclareFontShape{C63}{bm}{m}{sl}{<-> CJK * wbmo}{}
+\DeclareFontShape{C63}{bm}{m}{it}{<-> CJKssub * bm/m/sl}{}
+
+\DeclareFontShape{C63}{bm}{x}{n}{<-> CJK * wbmx}{}
+\DeclareFontShape{C63}{bm}{x}{sl}{<-> CJK * wbmxo}{}
+\DeclareFontShape{C63}{bm}{x}{it}{<-> CJKssub * bm/x/sl}{}
+
+\DeclareFontShape{C63}{bm}{ux}{n}{<-> CJK * wbmu}{}
+\DeclareFontShape{C63}{bm}{ux}{sl}{<-> CJK * wbmuo}{}
+\DeclareFontShape{C63}{bm}{ux}{it}{<-> CJKssub * bm/ux/sl}{}
+
+\DeclareFontShape{C63}{bm}{bc}{n}{<-> CJKb * wbmc}{\CJKbold}
+\DeclareFontShape{C63}{bm}{bc}{sl}{<-> CJKb * wbmco}{\CJKbold}
+\DeclareFontShape{C63}{bm}{bc}{it}{<-> CJKssub * bm/bc/sl}{}
+
+\DeclareFontShape{C63}{bm}{b}{n}{<-> CJKb * wbm}{\CJKbold}
+\DeclareFontShape{C63}{bm}{b}{sl}{<-> CJKb * wbmo}{\CJKbold}
+\DeclareFontShape{C63}{bm}{b}{it}{<-> CJKssub * bm/b/sl}{}
+
+\DeclareFontShape{C63}{bm}{bx}{n}{<-> CJKb * wbmx}{\CJKbold}
+\DeclareFontShape{C63}{bm}{bx}{sl}{<-> CJKb * wbmxo}{\CJKbold}
+\DeclareFontShape{C63}{bm}{bx}{it}{<-> CJKssub * bm/bx/sl}{}
+
+\DeclareFontShape{C63}{bm}{bux}{n}{<-> CJKb * wbmu}{\CJKbold}
+\DeclareFontShape{C63}{bm}{bux}{sl}{<-> CJKb * wbmuo}{\CJKbold}
+\DeclareFontShape{C63}{bm}{bux}{it}{<-> CJKssub * bm/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63dn.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63dn.fd
new file mode 100644
index 0000000000..2f17d711f9
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63dn.fd
@@ -0,0 +1,69 @@
+% This is file c63dn.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c63dn.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcDinaru
+
+\DeclareFontFamily{C63}{dn}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{dn}{c}{n}{<-> CJK * wdnc}{}
+\DeclareFontShape{C63}{dn}{c}{sl}{<-> CJK * wdnco}{}
+\DeclareFontShape{C63}{dn}{c}{it}{<-> CJKssub * dn/c/sl}{}
+
+\DeclareFontShape{C63}{dn}{m}{n}{<-> CJK * wdn}{}
+\DeclareFontShape{C63}{dn}{m}{sl}{<-> CJK * wdno}{}
+\DeclareFontShape{C63}{dn}{m}{it}{<-> CJKssub * dn/m/sl}{}
+
+\DeclareFontShape{C63}{dn}{x}{n}{<-> CJK * wdnx}{}
+\DeclareFontShape{C63}{dn}{x}{sl}{<-> CJK * wdnxo}{}
+\DeclareFontShape{C63}{dn}{x}{it}{<-> CJKssub * dn/x/sl}{}
+
+\DeclareFontShape{C63}{dn}{ux}{n}{<-> CJK * wdnu}{}
+\DeclareFontShape{C63}{dn}{ux}{sl}{<-> CJK * wdnuo}{}
+\DeclareFontShape{C63}{dn}{ux}{it}{<-> CJKssub * dn/ux/sl}{}
+
+\DeclareFontShape{C63}{dn}{bc}{n}{<-> CJK * wdnbc}{}
+\DeclareFontShape{C63}{dn}{bc}{sl}{<-> CJK * wdnbco}{}
+\DeclareFontShape{C63}{dn}{bc}{it}{<-> CJKssub * dn/bc/sl}{}
+
+\DeclareFontShape{C63}{dn}{b}{n}{<-> CJK * wdnb}{}
+\DeclareFontShape{C63}{dn}{b}{sl}{<-> CJK * wdnbo}{}
+\DeclareFontShape{C63}{dn}{b}{it}{<-> CJKssub * dn/b/sl}{}
+
+\DeclareFontShape{C63}{dn}{bx}{n}{<-> CJK * wdnbx}{}
+\DeclareFontShape{C63}{dn}{bx}{sl}{<-> CJK * wdnbxo}{}
+\DeclareFontShape{C63}{dn}{bx}{it}{<-> CJKssub * dn/bx/sl}{}
+
+\DeclareFontShape{C63}{dn}{bux}{n}{<-> CJK * wdnbu}{}
+\DeclareFontShape{C63}{dn}{bux}{sl}{<-> CJK * wdnbuo}{}
+\DeclareFontShape{C63}{dn}{bux}{it}{<-> CJKssub * dn/bux/sl}{}
+
+\DeclareFontShape{C63}{dn}{lc}{n}{<-> CJK * wdnlc}{}
+\DeclareFontShape{C63}{dn}{lc}{sl}{<-> CJK * wdnlco}{}
+\DeclareFontShape{C63}{dn}{lc}{it}{<-> CJKssub * dn/lc/sl}{}
+
+\DeclareFontShape{C63}{dn}{l}{n}{<-> CJK * wdnl}{}
+\DeclareFontShape{C63}{dn}{l}{sl}{<-> CJK * wdnlo}{}
+\DeclareFontShape{C63}{dn}{l}{it}{<-> CJKssub * dn/l/sl}{}
+
+\DeclareFontShape{C63}{dn}{lx}{n}{<-> CJK * wdnlx}{}
+\DeclareFontShape{C63}{dn}{lx}{sl}{<-> CJK * wdnlxo}{}
+\DeclareFontShape{C63}{dn}{lx}{it}{<-> CJKssub * dn/lx/sl}{}
+
+\DeclareFontShape{C63}{dn}{lux}{n}{<-> CJK * wdnlu}{}
+\DeclareFontShape{C63}{dn}{lux}{sl}{<-> CJK * wdnluo}{}
+\DeclareFontShape{C63}{dn}{lux}{it}{<-> CJKssub * dn/lux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63gr.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63gr.fd
new file mode 100644
index 0000000000..c3507a2b32
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63gr.fd
@@ -0,0 +1,53 @@
+% This is file c63gr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c63gr.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGraphic
+
+\DeclareFontFamily{C63}{gr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{gr}{c}{n}{<-> CJK * wgrc}{}
+\DeclareFontShape{C63}{gr}{c}{sl}{<-> CJK * wgrco}{}
+\DeclareFontShape{C63}{gr}{c}{it}{<-> CJKssub * gr/c/sl}{}
+
+\DeclareFontShape{C63}{gr}{m}{n}{<-> CJK * wgr}{}
+\DeclareFontShape{C63}{gr}{m}{sl}{<-> CJK * wgro}{}
+\DeclareFontShape{C63}{gr}{m}{it}{<-> CJKssub * gr/m/sl}{}
+
+\DeclareFontShape{C63}{gr}{x}{n}{<-> CJK * wgrx}{}
+\DeclareFontShape{C63}{gr}{x}{sl}{<-> CJK * wgrxo}{}
+\DeclareFontShape{C63}{gr}{x}{it}{<-> CJKssub * gr/x/sl}{}
+
+\DeclareFontShape{C63}{gr}{ux}{n}{<-> CJK * wgru}{}
+\DeclareFontShape{C63}{gr}{ux}{sl}{<-> CJK * wgruo}{}
+\DeclareFontShape{C63}{gr}{ux}{it}{<-> CJKssub * gr/ux/sl}{}
+
+\DeclareFontShape{C63}{gr}{bc}{n}{<-> CJK * wgrbc}{}
+\DeclareFontShape{C63}{gr}{bc}{sl}{<-> CJK * wgrbco}{}
+\DeclareFontShape{C63}{gr}{bc}{it}{<-> CJKssub * gr/bc/sl}{}
+
+\DeclareFontShape{C63}{gr}{b}{n}{<-> CJK * wgrb}{}
+\DeclareFontShape{C63}{gr}{b}{sl}{<-> CJK * wgrbo}{}
+\DeclareFontShape{C63}{gr}{b}{it}{<-> CJKssub * gr/b/sl}{}
+
+\DeclareFontShape{C63}{gr}{bx}{n}{<-> CJK * wgrbx}{}
+\DeclareFontShape{C63}{gr}{bx}{sl}{<-> CJK * wgrbxo}{}
+\DeclareFontShape{C63}{gr}{bx}{it}{<-> CJKssub * gr/bx/sl}{}
+
+\DeclareFontShape{C63}{gr}{bux}{n}{<-> CJK * wgrbu}{}
+\DeclareFontShape{C63}{gr}{bux}{sl}{<-> CJK * wgrbuo}{}
+\DeclareFontShape{C63}{gr}{bux}{it}{<-> CJKssub * gr/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63gs.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63gs.fd
new file mode 100644
index 0000000000..b895651e97
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63gs.fd
@@ -0,0 +1,53 @@
+% This is file c63gs.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c63gs.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGungseo
+
+\DeclareFontFamily{C63}{gs}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{gs}{bc}{n}{<-> CJK * wgsc}{}
+\DeclareFontShape{C63}{gs}{bc}{sl}{<-> CJK * wgsco}{}
+\DeclareFontShape{C63}{gs}{bc}{it}{<-> CJKssub * gs/bc/sl}{}
+
+\DeclareFontShape{C63}{gs}{b}{n}{<-> CJK * wgs}{}
+\DeclareFontShape{C63}{gs}{b}{sl}{<-> CJK * wgso}{}
+\DeclareFontShape{C63}{gs}{b}{it}{<-> CJKssub * gs/b/sl}{}
+
+\DeclareFontShape{C63}{gs}{bx}{n}{<-> CJK * wgsx}{}
+\DeclareFontShape{C63}{gs}{bx}{sl}{<-> CJK * wgsxo}{}
+\DeclareFontShape{C63}{gs}{bx}{it}{<-> CJKssub * gs/bx/sl}{}
+
+\DeclareFontShape{C63}{gs}{bux}{n}{<-> CJK * wgsu}{}
+\DeclareFontShape{C63}{gs}{bux}{sl}{<-> CJK * wgsuo}{}
+\DeclareFontShape{C63}{gs}{bux}{it}{<-> CJKssub * gs/bux/sl}{}
+
+\DeclareFontShape{C63}{gs}{c}{n}{<-> CJKssub * gs/bc/n}{}
+\DeclareFontShape{C63}{gs}{c}{sl}{<-> CJKssub * gs/bc/sl}{}
+\DeclareFontShape{C63}{gs}{c}{it}{<-> CJKssub * gs/bc/sl}{}
+
+\DeclareFontShape{C63}{gs}{m}{n}{<-> CJKssub * gs/b/n}{}
+\DeclareFontShape{C63}{gs}{m}{sl}{<-> CJKssub * gs/b/sl}{}
+\DeclareFontShape{C63}{gs}{m}{it}{<-> CJKssub * gs/b/sl}{}
+
+\DeclareFontShape{C63}{gs}{x}{n}{<-> CJKssub * gs/bx/n}{}
+\DeclareFontShape{C63}{gs}{x}{sl}{<-> CJKssub * gs/bx/sl}{}
+\DeclareFontShape{C63}{gs}{x}{it}{<-> CJKssub * gs/bx/sl}{}
+
+\DeclareFontShape{C63}{gs}{ux}{n}{<-> CJKssub * gs/bux/n}{}
+\DeclareFontShape{C63}{gs}{ux}{sl}{<-> CJKssub * gs/bux/sl}{}
+\DeclareFontShape{C63}{gs}{ux}{it}{<-> CJKssub * gs/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63gt.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63gt.fd
new file mode 100644
index 0000000000..c27ebdf90e
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63gt.fd
@@ -0,0 +1,53 @@
+% This is file c63gt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c63gt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGothic
+
+\DeclareFontFamily{C63}{gt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{gt}{c}{n}{<-> CJK * wgtc}{}
+\DeclareFontShape{C63}{gt}{c}{sl}{<-> CJK * wgtco}{}
+\DeclareFontShape{C63}{gt}{c}{it}{<-> CJKssub * gt/c/sl}{}
+
+\DeclareFontShape{C63}{gt}{m}{n}{<-> CJK * wgt}{}
+\DeclareFontShape{C63}{gt}{m}{sl}{<-> CJK * wgto}{}
+\DeclareFontShape{C63}{gt}{m}{it}{<-> CJKssub * gt/m/sl}{}
+
+\DeclareFontShape{C63}{gt}{x}{n}{<-> CJK * wgtx}{}
+\DeclareFontShape{C63}{gt}{x}{sl}{<-> CJK * wgtxo}{}
+\DeclareFontShape{C63}{gt}{x}{it}{<-> CJKssub * gt/x/sl}{}
+
+\DeclareFontShape{C63}{gt}{ux}{n}{<-> CJK * wgtu}{}
+\DeclareFontShape{C63}{gt}{ux}{sl}{<-> CJK * wgtuo}{}
+\DeclareFontShape{C63}{gt}{ux}{it}{<-> CJKssub * gt/ux/sl}{}
+
+\DeclareFontShape{C63}{gt}{bc}{n}{<-> CJK * wgtbc}{}
+\DeclareFontShape{C63}{gt}{bc}{sl}{<-> CJK * wgtbco}{}
+\DeclareFontShape{C63}{gt}{bc}{it}{<-> CJKssub * gt/bc/sl}{}
+
+\DeclareFontShape{C63}{gt}{b}{n}{<-> CJK * wgtb}{}
+\DeclareFontShape{C63}{gt}{b}{sl}{<-> CJK * wgtbo}{}
+\DeclareFontShape{C63}{gt}{b}{it}{<-> CJKssub * gt/b/sl}{}
+
+\DeclareFontShape{C63}{gt}{bx}{n}{<-> CJK * wgtbx}{}
+\DeclareFontShape{C63}{gt}{bx}{sl}{<-> CJK * wgtbxo}{}
+\DeclareFontShape{C63}{gt}{bx}{it}{<-> CJKssub * gt/bx/sl}{}
+
+\DeclareFontShape{C63}{gt}{bux}{n}{<-> CJK * wgtbu}{}
+\DeclareFontShape{C63}{gt}{bux}{sl}{<-> CJK * wgtbuo}{}
+\DeclareFontShape{C63}{gt}{bux}{it}{<-> CJKssub * gt/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63jgt.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63jgt.fd
new file mode 100644
index 0000000000..3d32e0f325
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63jgt.fd
@@ -0,0 +1,53 @@
+% This is file c63jgt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c63jgt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoGothic
+
+\DeclareFontFamily{C63}{jgt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{jgt}{c}{n}{<-> CJK * wjgtc}{}
+\DeclareFontShape{C63}{jgt}{c}{sl}{<-> CJK * wjgtco}{}
+\DeclareFontShape{C63}{jgt}{c}{it}{<-> CJKssub * jgt/c/sl}{}
+
+\DeclareFontShape{C63}{jgt}{m}{n}{<-> CJK * wjgt}{}
+\DeclareFontShape{C63}{jgt}{m}{sl}{<-> CJK * wjgto}{}
+\DeclareFontShape{C63}{jgt}{m}{it}{<-> CJKssub * jgt/m/sl}{}
+
+\DeclareFontShape{C63}{jgt}{x}{n}{<-> CJK * wjgtx}{}
+\DeclareFontShape{C63}{jgt}{x}{sl}{<-> CJK * wjgtxo}{}
+\DeclareFontShape{C63}{jgt}{x}{it}{<-> CJKssub * jgt/x/sl}{}
+
+\DeclareFontShape{C63}{jgt}{ux}{n}{<-> CJK * wjgtu}{}
+\DeclareFontShape{C63}{jgt}{ux}{sl}{<-> CJK * wjgtuo}{}
+\DeclareFontShape{C63}{jgt}{ux}{it}{<-> CJKssub * jgt/ux/sl}{}
+
+\DeclareFontShape{C63}{jgt}{bc}{n}{<-> CJKb * wjgtc}{\CJKbold}
+\DeclareFontShape{C63}{jgt}{bc}{sl}{<-> CJKb * wjgtco}{\CJKbold}
+\DeclareFontShape{C63}{jgt}{bc}{it}{<-> CJKssub * jgt/bc/sl}{}
+
+\DeclareFontShape{C63}{jgt}{b}{n}{<-> CJKb * wjgt}{\CJKbold}
+\DeclareFontShape{C63}{jgt}{b}{sl}{<-> CJKb * wjgto}{\CJKbold}
+\DeclareFontShape{C63}{jgt}{b}{it}{<-> CJKssub * jgt/b/sl}{}
+
+\DeclareFontShape{C63}{jgt}{bx}{n}{<-> CJKb * wjgtx}{\CJKbold}
+\DeclareFontShape{C63}{jgt}{bx}{sl}{<-> CJKb * wjgtxo}{\CJKbold}
+\DeclareFontShape{C63}{jgt}{bx}{it}{<-> CJKssub * jgt/bx/sl}{}
+
+\DeclareFontShape{C63}{jgt}{bux}{n}{<-> CJKb * wjgtu}{\CJKbold}
+\DeclareFontShape{C63}{jgt}{bux}{sl}{<-> CJKb * wjgtuo}{\CJKbold}
+\DeclareFontShape{C63}{jgt}{bux}{it}{<-> CJKssub * jgt/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63jmj.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63jmj.fd
new file mode 100644
index 0000000000..8c964bb6a0
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63jmj.fd
@@ -0,0 +1,53 @@
+% This is file c63jmj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c63jmj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoMyoungjo
+
+\DeclareFontFamily{C63}{jmj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{jmj}{c}{n}{<-> CJK * wjmjc}{}
+\DeclareFontShape{C63}{jmj}{c}{sl}{<-> CJK * wjmjco}{}
+\DeclareFontShape{C63}{jmj}{c}{it}{<-> CJKssub * jmj/c/sl}{}
+
+\DeclareFontShape{C63}{jmj}{m}{n}{<-> CJK * wjmj}{}
+\DeclareFontShape{C63}{jmj}{m}{sl}{<-> CJK * wjmjo}{}
+\DeclareFontShape{C63}{jmj}{m}{it}{<-> CJKssub * jmj/m/sl}{}
+
+\DeclareFontShape{C63}{jmj}{x}{n}{<-> CJK * wjmjx}{}
+\DeclareFontShape{C63}{jmj}{x}{sl}{<-> CJK * wjmjxo}{}
+\DeclareFontShape{C63}{jmj}{x}{it}{<-> CJKssub * jmj/x/sl}{}
+
+\DeclareFontShape{C63}{jmj}{ux}{n}{<-> CJK * wjmju}{}
+\DeclareFontShape{C63}{jmj}{ux}{sl}{<-> CJK * wjmjuo}{}
+\DeclareFontShape{C63}{jmj}{ux}{it}{<-> CJKssub * jmj/ux/sl}{}
+
+\DeclareFontShape{C63}{jmj}{bc}{n}{<-> CJKb * wjmjc}{\CJKbold}
+\DeclareFontShape{C63}{jmj}{bc}{sl}{<-> CJKb * wjmjco}{\CJKbold}
+\DeclareFontShape{C63}{jmj}{bc}{it}{<-> CJKssub * jmj/bc/sl}{}
+
+\DeclareFontShape{C63}{jmj}{b}{n}{<-> CJKb * wjmj}{\CJKbold}
+\DeclareFontShape{C63}{jmj}{b}{sl}{<-> CJKb * wjmjo}{\CJKbold}
+\DeclareFontShape{C63}{jmj}{b}{it}{<-> CJKssub * jmj/b/sl}{}
+
+\DeclareFontShape{C63}{jmj}{bx}{n}{<-> CJKb * wjmjx}{\CJKbold}
+\DeclareFontShape{C63}{jmj}{bx}{sl}{<-> CJKb * wjmjxo}{\CJKbold}
+\DeclareFontShape{C63}{jmj}{bx}{it}{<-> CJKssub * jmj/bx/sl}{}
+
+\DeclareFontShape{C63}{jmj}{bux}{n}{<-> CJKb * wjmju}{\CJKbold}
+\DeclareFontShape{C63}{jmj}{bux}{sl}{<-> CJKb * wjmjuo}{\CJKbold}
+\DeclareFontShape{C63}{jmj}{bux}{it}{<-> CJKssub * jmj/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63jnv.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63jnv.fd
new file mode 100644
index 0000000000..169c4dda5e
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63jnv.fd
@@ -0,0 +1,53 @@
+% This is file c63jnv.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c63jnv.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoNovel
+
+\DeclareFontFamily{C63}{jnv}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{jnv}{c}{n}{<-> CJK * wjnvc}{}
+\DeclareFontShape{C63}{jnv}{c}{sl}{<-> CJK * wjnvco}{}
+\DeclareFontShape{C63}{jnv}{c}{it}{<-> CJKssub * jnv/c/sl}{}
+
+\DeclareFontShape{C63}{jnv}{m}{n}{<-> CJK * wjnv}{}
+\DeclareFontShape{C63}{jnv}{m}{sl}{<-> CJK * wjnvo}{}
+\DeclareFontShape{C63}{jnv}{m}{it}{<-> CJKssub * jnv/m/sl}{}
+
+\DeclareFontShape{C63}{jnv}{x}{n}{<-> CJK * wjnvx}{}
+\DeclareFontShape{C63}{jnv}{x}{sl}{<-> CJK * wjnvxo}{}
+\DeclareFontShape{C63}{jnv}{x}{it}{<-> CJKssub * jnv/x/sl}{}
+
+\DeclareFontShape{C63}{jnv}{ux}{n}{<-> CJK * wjnvu}{}
+\DeclareFontShape{C63}{jnv}{ux}{sl}{<-> CJK * wjnvuo}{}
+\DeclareFontShape{C63}{jnv}{ux}{it}{<-> CJKssub * jnv/ux/sl}{}
+
+\DeclareFontShape{C63}{jnv}{bc}{n}{<-> CJKb * wjnvc}{\CJKbold}
+\DeclareFontShape{C63}{jnv}{bc}{sl}{<-> CJKb * wjnvco}{\CJKbold}
+\DeclareFontShape{C63}{jnv}{bc}{it}{<-> CJKssub * jnv/bc/sl}{}
+
+\DeclareFontShape{C63}{jnv}{b}{n}{<-> CJKb * wjnv}{\CJKbold}
+\DeclareFontShape{C63}{jnv}{b}{sl}{<-> CJKb * wjnvo}{\CJKbold}
+\DeclareFontShape{C63}{jnv}{b}{it}{<-> CJKssub * jnv/b/sl}{}
+
+\DeclareFontShape{C63}{jnv}{bx}{n}{<-> CJKb * wjnvx}{\CJKbold}
+\DeclareFontShape{C63}{jnv}{bx}{sl}{<-> CJKb * wjnvxo}{\CJKbold}
+\DeclareFontShape{C63}{jnv}{bx}{it}{<-> CJKssub * jnv/bx/sl}{}
+
+\DeclareFontShape{C63}{jnv}{bux}{n}{<-> CJKb * wjnvu}{\CJKbold}
+\DeclareFontShape{C63}{jnv}{bux}{sl}{<-> CJKb * wjnvuo}{\CJKbold}
+\DeclareFontShape{C63}{jnv}{bux}{it}{<-> CJKssub * jnv/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63jsr.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63jsr.fd
new file mode 100644
index 0000000000..445d22c4db
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63jsr.fd
@@ -0,0 +1,53 @@
+% This is file c63jsr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c63jsr.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoSora
+
+\DeclareFontFamily{C63}{jsr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{jsr}{c}{n}{<-> CJK * wjsrc}{}
+\DeclareFontShape{C63}{jsr}{c}{sl}{<-> CJK * wjsrco}{}
+\DeclareFontShape{C63}{jsr}{c}{it}{<-> CJKssub * jsr/c/sl}{}
+
+\DeclareFontShape{C63}{jsr}{m}{n}{<-> CJK * wjsr}{}
+\DeclareFontShape{C63}{jsr}{m}{sl}{<-> CJK * wjsro}{}
+\DeclareFontShape{C63}{jsr}{m}{it}{<-> CJKssub * jsr/m/sl}{}
+
+\DeclareFontShape{C63}{jsr}{x}{n}{<-> CJK * wjsrx}{}
+\DeclareFontShape{C63}{jsr}{x}{sl}{<-> CJK * wjsrxo}{}
+\DeclareFontShape{C63}{jsr}{x}{it}{<-> CJKssub * jsr/x/sl}{}
+
+\DeclareFontShape{C63}{jsr}{ux}{n}{<-> CJK * wjsru}{}
+\DeclareFontShape{C63}{jsr}{ux}{sl}{<-> CJK * wjsruo}{}
+\DeclareFontShape{C63}{jsr}{ux}{it}{<-> CJKssub * jsr/ux/sl}{}
+
+\DeclareFontShape{C63}{jsr}{bc}{n}{<-> CJKb * wjsrc}{\CJKbold}
+\DeclareFontShape{C63}{jsr}{bc}{sl}{<-> CJKb * wjsrco}{\CJKbold}
+\DeclareFontShape{C63}{jsr}{bc}{it}{<-> CJKssub * jsr/bc/sl}{}
+
+\DeclareFontShape{C63}{jsr}{b}{n}{<-> CJKb * wjsr}{\CJKbold}
+\DeclareFontShape{C63}{jsr}{b}{sl}{<-> CJKb * wjsro}{\CJKbold}
+\DeclareFontShape{C63}{jsr}{b}{it}{<-> CJKssub * jsr/b/sl}{}
+
+\DeclareFontShape{C63}{jsr}{bx}{n}{<-> CJKb * wjsrx}{\CJKbold}
+\DeclareFontShape{C63}{jsr}{bx}{sl}{<-> CJKb * wjsrxo}{\CJKbold}
+\DeclareFontShape{C63}{jsr}{bx}{it}{<-> CJKssub * jsr/bx/sl}{}
+
+\DeclareFontShape{C63}{jsr}{bux}{n}{<-> CJKb * wjsru}{\CJKbold}
+\DeclareFontShape{C63}{jsr}{bux}{sl}{<-> CJKb * wjsruo}{\CJKbold}
+\DeclareFontShape{C63}{jsr}{bux}{it}{<-> CJKssub * jsr/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63mj.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63mj.fd
new file mode 100644
index 0000000000..ac1ba4bbf3
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63mj.fd
@@ -0,0 +1,53 @@
+% This is file c63mj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c63mj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcMyoungjo
+
+\DeclareFontFamily{C63}{mj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{mj}{c}{n}{<-> CJK * wmjc}{}
+\DeclareFontShape{C63}{mj}{c}{sl}{<-> CJK * wmjco}{}
+\DeclareFontShape{C63}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{}
+
+\DeclareFontShape{C63}{mj}{m}{n}{<-> CJK * wmj}{}
+\DeclareFontShape{C63}{mj}{m}{sl}{<-> CJK * wmjo}{}
+\DeclareFontShape{C63}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{}
+
+\DeclareFontShape{C63}{mj}{x}{n}{<-> CJK * wmjx}{}
+\DeclareFontShape{C63}{mj}{x}{sl}{<-> CJK * wmjxo}{}
+\DeclareFontShape{C63}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{}
+
+\DeclareFontShape{C63}{mj}{ux}{n}{<-> CJK * wmju}{}
+\DeclareFontShape{C63}{mj}{ux}{sl}{<-> CJK * wmjuo}{}
+\DeclareFontShape{C63}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{}
+
+\DeclareFontShape{C63}{mj}{bc}{n}{<-> CJK * wmjbc}{}
+\DeclareFontShape{C63}{mj}{bc}{sl}{<-> CJK * wmjbco}{}
+\DeclareFontShape{C63}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{}
+
+\DeclareFontShape{C63}{mj}{b}{n}{<-> CJK * wmjb}{}
+\DeclareFontShape{C63}{mj}{b}{sl}{<-> CJK * wmjbo}{}
+\DeclareFontShape{C63}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{}
+
+\DeclareFontShape{C63}{mj}{bx}{n}{<-> CJK * wmjbx}{}
+\DeclareFontShape{C63}{mj}{bx}{sl}{<-> CJK * wmjbxo}{}
+\DeclareFontShape{C63}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{}
+
+\DeclareFontShape{C63}{mj}{bux}{n}{<-> CJK * wmjbu}{}
+\DeclareFontShape{C63}{mj}{bux}{sl}{<-> CJK * wmjbuo}{}
+\DeclareFontShape{C63}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63pg.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63pg.fd
new file mode 100644
index 0000000000..9d9bb41e26
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63pg.fd
@@ -0,0 +1,53 @@
+% This is file c63pg.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c63pg.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPilgi
+
+\DeclareFontFamily{C63}{pg}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{pg}{c}{n}{<-> CJK * wpgc}{}
+\DeclareFontShape{C63}{pg}{c}{sl}{<-> CJK * wpgco}{}
+\DeclareFontShape{C63}{pg}{c}{it}{<-> CJKssub * wwpg/c/sl}{}
+
+\DeclareFontShape{C63}{pg}{m}{n}{<-> CJK * wpg}{}
+\DeclareFontShape{C63}{pg}{m}{sl}{<-> CJK * wpgo}{}
+\DeclareFontShape{C63}{pg}{m}{it}{<-> CJKssub * wwpg/m/sl}{}
+
+\DeclareFontShape{C63}{pg}{x}{n}{<-> CJK * wpgx}{}
+\DeclareFontShape{C63}{pg}{x}{sl}{<-> CJK * wpgxo}{}
+\DeclareFontShape{C63}{pg}{x}{it}{<-> CJKssub * wwpg/x/sl}{}
+
+\DeclareFontShape{C63}{pg}{ux}{n}{<-> CJK * wpgu}{}
+\DeclareFontShape{C63}{pg}{ux}{sl}{<-> CJK * wpguo}{}
+\DeclareFontShape{C63}{pg}{ux}{it}{<-> CJKssub * wwpg/ux/sl}{}
+
+\DeclareFontShape{C63}{pg}{bc}{n}{<-> CJK * wpgbc}{}
+\DeclareFontShape{C63}{pg}{bc}{sl}{<-> CJK * wpgbco}{}
+\DeclareFontShape{C63}{pg}{bc}{it}{<-> CJKssub * wwpg/bc/sl}{}
+
+\DeclareFontShape{C63}{pg}{b}{n}{<-> CJK * wpgb}{}
+\DeclareFontShape{C63}{pg}{b}{sl}{<-> CJK * wpgbo}{}
+\DeclareFontShape{C63}{pg}{b}{it}{<-> CJKssub * wwpg/b/sl}{}
+
+\DeclareFontShape{C63}{pg}{bx}{n}{<-> CJK * wpgbx}{}
+\DeclareFontShape{C63}{pg}{bx}{sl}{<-> CJK * wpgbxo}{}
+\DeclareFontShape{C63}{pg}{bx}{it}{<-> CJKssub * wwpg/bx/sl}{}
+
+\DeclareFontShape{C63}{pg}{bux}{n}{<-> CJK * wpgbu}{}
+\DeclareFontShape{C63}{pg}{bux}{sl}{<-> CJK * wpgbuo}{}
+\DeclareFontShape{C63}{pg}{bux}{it}{<-> CJKssub * wwpg/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63pga.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63pga.fd
new file mode 100644
index 0000000000..a51fabed81
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63pga.fd
@@ -0,0 +1,53 @@
+% This is file c63pga.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c63pga.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPilgia
+
+\DeclareFontFamily{C63}{pga}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{pga}{c}{n}{<-> CJK * wpgac}{}
+\DeclareFontShape{C63}{pga}{c}{sl}{<-> CJK * wpgaco}{}
+\DeclareFontShape{C63}{pga}{c}{it}{<-> CJKssub * pga/c/sl}{}
+
+\DeclareFontShape{C63}{pga}{m}{n}{<-> CJK * wpga}{}
+\DeclareFontShape{C63}{pga}{m}{sl}{<-> CJK * wpgao}{}
+\DeclareFontShape{C63}{pga}{m}{it}{<-> CJKssub * pga/m/sl}{}
+
+\DeclareFontShape{C63}{pga}{x}{n}{<-> CJK * wpgax}{}
+\DeclareFontShape{C63}{pga}{x}{sl}{<-> CJK * wpgaxo}{}
+\DeclareFontShape{C63}{pga}{x}{it}{<-> CJKssub * pga/x/sl}{}
+
+\DeclareFontShape{C63}{pga}{ux}{n}{<-> CJK * wpgau}{}
+\DeclareFontShape{C63}{pga}{ux}{sl}{<-> CJK * wpgauo}{}
+\DeclareFontShape{C63}{pga}{ux}{it}{<-> CJKssub * pga/ux/sl}{}
+
+\DeclareFontShape{C63}{pga}{bc}{n}{<-> CJKb * wpgac}{\CJKbold}
+\DeclareFontShape{C63}{pga}{bc}{sl}{<-> CJKb * wpgaco}{\CJKbold}
+\DeclareFontShape{C63}{pga}{bc}{it}{<-> CJKssub * pga/bc/sl}{}
+
+\DeclareFontShape{C63}{pga}{b}{n}{<-> CJKb * wpga}{\CJKbold}
+\DeclareFontShape{C63}{pga}{b}{sl}{<-> CJKb * wpgao}{\CJKbold}
+\DeclareFontShape{C63}{pga}{b}{it}{<-> CJKssub * pga/b/sl}{}
+
+\DeclareFontShape{C63}{pga}{bx}{n}{<-> CJKb * wpgax}{\CJKbold}
+\DeclareFontShape{C63}{pga}{bx}{sl}{<-> CJKb * wpgaxo}{\CJKbold}
+\DeclareFontShape{C63}{pga}{bx}{it}{<-> CJKssub * pga/bx/sl}{}
+
+\DeclareFontShape{C63}{pga}{bux}{n}{<-> CJKb * wpgau}{\CJKbold}
+\DeclareFontShape{C63}{pga}{bux}{sl}{<-> CJKb * wpgauo}{\CJKbold}
+\DeclareFontShape{C63}{pga}{bux}{it}{<-> CJKssub * pga/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63ph.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63ph.fd
new file mode 100644
index 0000000000..3ead419232
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63ph.fd
@@ -0,0 +1,53 @@
+% This is file c63ph.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c63ph.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPenHeulim
+
+\DeclareFontFamily{C63}{ph}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{ph}{c}{n}{<-> CJK * wphc}{}
+\DeclareFontShape{C63}{ph}{c}{sl}{<-> CJK * wphco}{}
+\DeclareFontShape{C63}{ph}{c}{it}{<-> CJKssub * ph/c/sl}{}
+
+\DeclareFontShape{C63}{ph}{m}{n}{<-> CJK * wph}{}
+\DeclareFontShape{C63}{ph}{m}{sl}{<-> CJK * wpho}{}
+\DeclareFontShape{C63}{ph}{m}{it}{<-> CJKssub * ph/m/sl}{}
+
+\DeclareFontShape{C63}{ph}{x}{n}{<-> CJK * wphx}{}
+\DeclareFontShape{C63}{ph}{x}{sl}{<-> CJK * wphxo}{}
+\DeclareFontShape{C63}{ph}{x}{it}{<-> CJKssub * ph/x/sl}{}
+
+\DeclareFontShape{C63}{ph}{ux}{n}{<-> CJK * wphu}{}
+\DeclareFontShape{C63}{ph}{ux}{sl}{<-> CJK * wphuo}{}
+\DeclareFontShape{C63}{ph}{ux}{it}{<-> CJKssub * ph/ux/sl}{}
+
+\DeclareFontShape{C63}{ph}{bc}{n}{<-> CJKb * wphc}{\CJKbold}
+\DeclareFontShape{C63}{ph}{bc}{sl}{<-> CJKb * wphco}{\CJKbold}
+\DeclareFontShape{C63}{ph}{bc}{it}{<-> CJKssub * ph/bc/sl}{}
+
+\DeclareFontShape{C63}{ph}{b}{n}{<-> CJKb * wph}{\CJKbold}
+\DeclareFontShape{C63}{ph}{b}{sl}{<-> CJKb * wpho}{\CJKbold}
+\DeclareFontShape{C63}{ph}{b}{it}{<-> CJKssub * ph/b/sl}{}
+
+\DeclareFontShape{C63}{ph}{bx}{n}{<-> CJKb * wphx}{\CJKbold}
+\DeclareFontShape{C63}{ph}{bx}{sl}{<-> CJKb * wphxo}{\CJKbold}
+\DeclareFontShape{C63}{ph}{bx}{it}{<-> CJKssub * ph/bx/sl}{}
+
+\DeclareFontShape{C63}{ph}{bux}{n}{<-> CJKb * wphu}{\CJKbold}
+\DeclareFontShape{C63}{ph}{bux}{sl}{<-> CJKb * wphuo}{\CJKbold}
+\DeclareFontShape{C63}{ph}{bux}{it}{<-> CJKssub * ph/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63pn.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63pn.fd
new file mode 100644
index 0000000000..f6f2249f53
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63pn.fd
@@ -0,0 +1,53 @@
+% This is file c63pn.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c63pn.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPen
+
+\DeclareFontFamily{C63}{pn}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{pn}{c}{n}{<-> CJK * wpnc}{}
+\DeclareFontShape{C63}{pn}{c}{sl}{<-> CJK * wpnco}{}
+\DeclareFontShape{C63}{pn}{c}{it}{<-> CJKssub * pn/c/sl}{}
+
+\DeclareFontShape{C63}{pn}{m}{n}{<-> CJK * wpn}{}
+\DeclareFontShape{C63}{pn}{m}{sl}{<-> CJK * wpno}{}
+\DeclareFontShape{C63}{pn}{m}{it}{<-> CJKssub * pn/m/sl}{}
+
+\DeclareFontShape{C63}{pn}{x}{n}{<-> CJK * wpnx}{}
+\DeclareFontShape{C63}{pn}{x}{sl}{<-> CJK * wpnxo}{}
+\DeclareFontShape{C63}{pn}{x}{it}{<-> CJKssub * pn/x/sl}{}
+
+\DeclareFontShape{C63}{pn}{ux}{n}{<-> CJK * wpnu}{}
+\DeclareFontShape{C63}{pn}{ux}{sl}{<-> CJK * wpnuo}{}
+\DeclareFontShape{C63}{pn}{ux}{it}{<-> CJKssub * pn/ux/sl}{}
+
+\DeclareFontShape{C63}{pn}{bc}{n}{<-> CJKb * wpnc}{\CJKbold}
+\DeclareFontShape{C63}{pn}{bc}{sl}{<-> CJKb * wpnco}{\CJKbold}
+\DeclareFontShape{C63}{pn}{bc}{it}{<-> CJKssub * pn/bc/sl}{}
+
+\DeclareFontShape{C63}{pn}{b}{n}{<-> CJKb * wpn}{\CJKbold}
+\DeclareFontShape{C63}{pn}{b}{sl}{<-> CJKb * wpno}{\CJKbold}
+\DeclareFontShape{C63}{pn}{b}{it}{<-> CJKssub * pn/b/sl}{}
+
+\DeclareFontShape{C63}{pn}{bx}{n}{<-> CJKb * wpnx}{\CJKbold}
+\DeclareFontShape{C63}{pn}{bx}{sl}{<-> CJKb * wpnxo}{\CJKbold}
+\DeclareFontShape{C63}{pn}{bx}{it}{<-> CJKssub * pn/bx/sl}{}
+
+\DeclareFontShape{C63}{pn}{bux}{n}{<-> CJKb * wpnu}{\CJKbold}
+\DeclareFontShape{C63}{pn}{bux}{sl}{<-> CJKb * wpnuo}{\CJKbold}
+\DeclareFontShape{C63}{pn}{bux}{it}{<-> CJKssub * pn/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63sh.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63sh.fd
new file mode 100644
index 0000000000..07931f05e4
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63sh.fd
@@ -0,0 +1,53 @@
+% This is file c63sh.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c63sh.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcShinmunMyoungjo
+
+\DeclareFontFamily{C63}{hwsh}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{sh}{c}{n}{<-> CJK * wshc}{}
+\DeclareFontShape{C63}{sh}{c}{sl}{<-> CJK * wshco}{}
+\DeclareFontShape{C63}{sh}{c}{it}{<-> CJKssub * sh/c/sl}{}
+
+\DeclareFontShape{C63}{sh}{m}{n}{<-> CJK * wsh}{}
+\DeclareFontShape{C63}{sh}{m}{sl}{<-> CJK * wsho}{}
+\DeclareFontShape{C63}{sh}{m}{it}{<-> CJKssub * sh/m/sl}{}
+
+\DeclareFontShape{C63}{sh}{x}{n}{<-> CJK * wshx}{}
+\DeclareFontShape{C63}{sh}{x}{sl}{<-> CJK * wshxo}{}
+\DeclareFontShape{C63}{sh}{x}{it}{<-> CJKssub * sh/x/sl}{}
+
+\DeclareFontShape{C63}{sh}{ux}{n}{<-> CJK * wshu}{}
+\DeclareFontShape{C63}{sh}{ux}{sl}{<-> CJK * wshuo}{}
+\DeclareFontShape{C63}{sh}{ux}{it}{<-> CJKssub * sh/ux/sl}{}
+
+\DeclareFontShape{C63}{sh}{bc}{n}{<-> CJKssub * sh/c/n}{}
+\DeclareFontShape{C63}{sh}{bc}{sl}{<-> CJKssub * sh/c/sl}{}
+\DeclareFontShape{C63}{sh}{bc}{it}{<-> CJKssub * sh/bc/sl}{}
+
+\DeclareFontShape{C63}{sh}{b}{n}{<-> CJKssub * sh/m/n}{}
+\DeclareFontShape{C63}{sh}{b}{sl}{<-> CJKssub * sh/m/sl}{}
+\DeclareFontShape{C63}{sh}{b}{it}{<-> CJKssub * sh/b/sl}{}
+
+\DeclareFontShape{C63}{sh}{bx}{n}{<-> CJKssub * sh/x/n}{}
+\DeclareFontShape{C63}{sh}{bx}{sl}{<-> CJKssub * sh/x/sl}{}
+\DeclareFontShape{C63}{sh}{bx}{it}{<-> CJKssub * sh/bx/sl}{}
+
+\DeclareFontShape{C63}{sh}{bux}{n}{<-> CJKssub * sh/ux/n}{}
+\DeclareFontShape{C63}{sh}{bux}{sl}{<-> CJKssub * sh/ux/sl}{}
+\DeclareFontShape{C63}{sh}{bux}{it}{<-> CJKssub * sh/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63tz.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63tz.fd
new file mode 100644
index 0000000000..aa113a74df
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63tz.fd
@@ -0,0 +1,53 @@
+% This is file c63tz.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c63tz.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcTypewriter
+
+\DeclareFontFamily{C63}{tz}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{tz}{c}{n}{<-> CJK * wttc}{}
+\DeclareFontShape{C63}{tz}{c}{sl}{<-> CJK * wttco}{}
+\DeclareFontShape{C63}{tz}{c}{it}{<-> CJKssub * tz/c/sl}{}
+
+\DeclareFontShape{C63}{tz}{m}{n}{<-> CJK * wtt}{}
+\DeclareFontShape{C63}{tz}{m}{sl}{<-> CJK * wtto}{}
+\DeclareFontShape{C63}{tz}{m}{it}{<-> CJKssub * tz/m/sl}{}
+
+\DeclareFontShape{C63}{tz}{x}{n}{<-> CJK * wttx}{}
+\DeclareFontShape{C63}{tz}{x}{sl}{<-> CJK * wttxo}{}
+\DeclareFontShape{C63}{tz}{x}{it}{<-> CJKssub * tz/x/sl}{}
+
+\DeclareFontShape{C63}{tz}{ux}{n}{<-> CJK * wttu}{}
+\DeclareFontShape{C63}{tz}{ux}{sl}{<-> CJK * wttuo}{}
+\DeclareFontShape{C63}{tz}{ux}{it}{<-> CJKssub * tz/ux/sl}{}
+
+\DeclareFontShape{C63}{tz}{bc}{n}{<-> CJKb * wttc}{\CJKbold}
+\DeclareFontShape{C63}{tz}{bc}{sl}{<-> CJKb * wttco}{\CJKbold}
+\DeclareFontShape{C63}{tz}{bc}{it}{<-> CJKssub * tz/bc/sl}{}
+
+\DeclareFontShape{C63}{tz}{b}{n}{<-> CJKb * wtt}{\CJKbold}
+\DeclareFontShape{C63}{tz}{b}{sl}{<-> CJKb * wtto}{\CJKbold}
+\DeclareFontShape{C63}{tz}{b}{it}{<-> CJKssub * tz/b/sl}{}
+
+\DeclareFontShape{C63}{tz}{bx}{n}{<-> CJKb * wttx}{\CJKbold}
+\DeclareFontShape{C63}{tz}{bx}{sl}{<-> CJKb * wttxo}{\CJKbold}
+\DeclareFontShape{C63}{tz}{bx}{it}{<-> CJKssub * tz/bx/sl}{}
+
+\DeclareFontShape{C63}{tz}{bux}{n}{<-> CJKb * wttu}{\CJKbold}
+\DeclareFontShape{C63}{tz}{bux}{sl}{<-> CJKb * wttuo}{\CJKbold}
+\DeclareFontShape{C63}{tz}{bux}{it}{<-> CJKssub * tz/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63vd.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63vd.fd
new file mode 100644
index 0000000000..b07ea60f8b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63vd.fd
@@ -0,0 +1,53 @@
+% This is file c63vd.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c63vd.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcVada
+
+\DeclareFontFamily{C63}{vd}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{vd}{c}{n}{<-> CJK * wvdc}{}
+\DeclareFontShape{C63}{vd}{c}{sl}{<-> CJK * wvdco}{}
+\DeclareFontShape{C63}{vd}{c}{it}{<-> CJKssub * vd/c/sl}{}
+
+\DeclareFontShape{C63}{vd}{m}{n}{<-> CJK * wvd}{}
+\DeclareFontShape{C63}{vd}{m}{sl}{<-> CJK * wvdo}{}
+\DeclareFontShape{C63}{vd}{m}{it}{<-> CJKssub * vd/m/sl}{}
+
+\DeclareFontShape{C63}{vd}{x}{n}{<-> CJK * wvdx}{}
+\DeclareFontShape{C63}{vd}{x}{sl}{<-> CJK * wvdxo}{}
+\DeclareFontShape{C63}{vd}{x}{it}{<-> CJKssub * vd/x/sl}{}
+
+\DeclareFontShape{C63}{vd}{ux}{n}{<-> CJK * wvdu}{}
+\DeclareFontShape{C63}{vd}{ux}{sl}{<-> CJK * wvduo}{}
+\DeclareFontShape{C63}{vd}{ux}{it}{<-> CJKssub * vd/ux/sl}{}
+
+\DeclareFontShape{C63}{vd}{bc}{n}{<-> CJKb * wvdc}{\CJKbold}
+\DeclareFontShape{C63}{vd}{bc}{sl}{<-> CJKb * wvdco}{\CJKbold}
+\DeclareFontShape{C63}{vd}{bc}{it}{<-> CJKssub * vd/bc/sl}{}
+
+\DeclareFontShape{C63}{vd}{b}{n}{<-> CJKb * wvd}{\CJKbold}
+\DeclareFontShape{C63}{vd}{b}{sl}{<-> CJKb * wvdo}{\CJKbold}
+\DeclareFontShape{C63}{vd}{b}{it}{<-> CJKssub * vd/b/sl}{}
+
+\DeclareFontShape{C63}{vd}{bx}{n}{<-> CJKb * wvdx}{\CJKbold}
+\DeclareFontShape{C63}{vd}{bx}{sl}{<-> CJKb * wvdxo}{\CJKbold}
+\DeclareFontShape{C63}{vd}{bx}{it}{<-> CJKssub * vd/bx/sl}{}
+
+\DeclareFontShape{C63}{vd}{bux}{n}{<-> CJKb * wvdu}{\CJKbold}
+\DeclareFontShape{C63}{vd}{bux}{sl}{<-> CJKb * wvduo}{\CJKbold}
+\DeclareFontShape{C63}{vd}{bux}{it}{<-> CJKssub * vd/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63yt.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63yt.fd
new file mode 100644
index 0000000000..f782d94183
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c63yt.fd
@@ -0,0 +1,53 @@
+% This is file c63yt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c63yt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcYetgul
+
+\DeclareFontFamily{C63}{yt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{yt}{c}{n}{<-> CJK * wytc}{}
+\DeclareFontShape{C63}{yt}{c}{sl}{<-> CJK * wytco}{}
+\DeclareFontShape{C63}{yt}{c}{it}{<-> CJKssub * yt/c/sl}{}
+
+\DeclareFontShape{C63}{yt}{m}{n}{<-> CJK * wyt}{}
+\DeclareFontShape{C63}{yt}{m}{sl}{<-> CJK * wyto}{}
+\DeclareFontShape{C63}{yt}{m}{it}{<-> CJKssub * yt/m/sl}{}
+
+\DeclareFontShape{C63}{yt}{x}{n}{<-> CJK * wytx}{}
+\DeclareFontShape{C63}{yt}{x}{sl}{<-> CJK * wytxo}{}
+\DeclareFontShape{C63}{yt}{x}{it}{<-> CJKssub * yt/x/sl}{}
+
+\DeclareFontShape{C63}{yt}{ux}{n}{<-> CJK * wytu}{}
+\DeclareFontShape{C63}{yt}{ux}{sl}{<-> CJK * wytuo}{}
+\DeclareFontShape{C63}{yt}{ux}{it}{<-> CJKssub * yt/ux/sl}{}
+
+\DeclareFontShape{C63}{yt}{bc}{n}{<-> CJKb * wytc}{\CJKbold}
+\DeclareFontShape{C63}{yt}{bc}{sl}{<-> CJKb * wytco}{\CJKbold}
+\DeclareFontShape{C63}{yt}{bc}{it}{<-> CJKssub * yt/bc/sl}{}
+
+\DeclareFontShape{C63}{yt}{b}{n}{<-> CJKb * wyt}{\CJKbold}
+\DeclareFontShape{C63}{yt}{b}{sl}{<-> CJKb * wyto}{\CJKbold}
+\DeclareFontShape{C63}{yt}{b}{it}{<-> CJKssub * yt/b/sl}{}
+
+\DeclareFontShape{C63}{yt}{bx}{n}{<-> CJKb * wytx}{\CJKbold}
+\DeclareFontShape{C63}{yt}{bx}{sl}{<-> CJKb * wytxo}{\CJKbold}
+\DeclareFontShape{C63}{yt}{bx}{it}{<-> CJKssub * yt/bx/sl}{}
+
+\DeclareFontShape{C63}{yt}{bux}{n}{<-> CJKb * wytu}{\CJKbold}
+\DeclareFontShape{C63}{yt}{bux}{sl}{<-> CJKb * wytuo}{\CJKbold}
+\DeclareFontShape{C63}{yt}{bux}{it}{<-> CJKssub * yt/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64bm.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64bm.fd
new file mode 100644
index 0000000000..e9b2fcd63f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64bm.fd
@@ -0,0 +1,53 @@
+% This is file c64bm.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c64bm.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcBom
+
+\DeclareFontFamily{C64}{bm}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{bm}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{bm}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{bm}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{bm}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{bm}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{bm}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{bm}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{bm}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{bm}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{bm}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{bm}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{bm}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{bm}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{bm}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{bm}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{bm}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{bm}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{bm}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{bm}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{bm}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{bm}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{bm}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{bm}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{bm}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64dn.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64dn.fd
new file mode 100644
index 0000000000..4ad2e82ff1
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64dn.fd
@@ -0,0 +1,69 @@
+% This is file c64dn.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c64dn.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcDinaru
+
+\DeclareFontFamily{C64}{dn}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{dn}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{dn}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{dn}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{dn}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{dn}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{dn}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{dn}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{dn}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{dn}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{dn}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{dn}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{dn}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{dn}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{dn}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{dn}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{dn}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{dn}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{dn}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{dn}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{dn}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{dn}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{dn}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{dn}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{dn}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\DeclareFontShape{C64}{dn}{lc}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{dn}{lc}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{dn}{lc}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{dn}{l}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{dn}{l}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{dn}{l}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{dn}{lx}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{dn}{lx}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{dn}{lx}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{dn}{lux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{dn}{lux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{dn}{lux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64gr.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64gr.fd
new file mode 100644
index 0000000000..ce45b0ce2a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64gr.fd
@@ -0,0 +1,53 @@
+% This is file c64gr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c64gr.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGraphic
+
+\DeclareFontFamily{C64}{gr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{gr}{c}{n}{<-> CJK * wgrc}{}
+\DeclareFontShape{C64}{gr}{c}{sl}{<-> CJK * wgrco}{}
+\DeclareFontShape{C64}{gr}{c}{it}{<-> CJKssub * gr/c/sl}{}
+
+\DeclareFontShape{C64}{gr}{m}{n}{<-> CJK * wgr}{}
+\DeclareFontShape{C64}{gr}{m}{sl}{<-> CJK * wgro}{}
+\DeclareFontShape{C64}{gr}{m}{it}{<-> CJKssub * gr/m/sl}{}
+
+\DeclareFontShape{C64}{gr}{x}{n}{<-> CJK * wgrx}{}
+\DeclareFontShape{C64}{gr}{x}{sl}{<-> CJK * wgrxo}{}
+\DeclareFontShape{C64}{gr}{x}{it}{<-> CJKssub * gr/x/sl}{}
+
+\DeclareFontShape{C64}{gr}{ux}{n}{<-> CJK * wgru}{}
+\DeclareFontShape{C64}{gr}{ux}{sl}{<-> CJK * wgruo}{}
+\DeclareFontShape{C64}{gr}{ux}{it}{<-> CJKssub * gr/ux/sl}{}
+
+\DeclareFontShape{C64}{gr}{bc}{n}{<-> CJK * wgrbc}{}
+\DeclareFontShape{C64}{gr}{bc}{sl}{<-> CJK * wgrbco}{}
+\DeclareFontShape{C64}{gr}{bc}{it}{<-> CJKssub * gr/bc/sl}{}
+
+\DeclareFontShape{C64}{gr}{b}{n}{<-> CJK * wgrb}{}
+\DeclareFontShape{C64}{gr}{b}{sl}{<-> CJK * wgrbo}{}
+\DeclareFontShape{C64}{gr}{b}{it}{<-> CJKssub * gr/b/sl}{}
+
+\DeclareFontShape{C64}{gr}{bx}{n}{<-> CJK * wgrbx}{}
+\DeclareFontShape{C64}{gr}{bx}{sl}{<-> CJK * wgrbxo}{}
+\DeclareFontShape{C64}{gr}{bx}{it}{<-> CJKssub * gr/bx/sl}{}
+
+\DeclareFontShape{C64}{gr}{bux}{n}{<-> CJK * wgrbu}{}
+\DeclareFontShape{C64}{gr}{bux}{sl}{<-> CJK * wgrbuo}{}
+\DeclareFontShape{C64}{gr}{bux}{it}{<-> CJKssub * gr/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64gs.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64gs.fd
new file mode 100644
index 0000000000..9311a5e4f0
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64gs.fd
@@ -0,0 +1,53 @@
+% This is file c64gs.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c64gs.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGungseo
+
+\DeclareFontFamily{C64}{gs}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{gs}{bc}{n}{<-> CJK * wgsc}{}
+\DeclareFontShape{C64}{gs}{bc}{sl}{<-> CJK * wgsco}{}
+\DeclareFontShape{C64}{gs}{bc}{it}{<-> CJKssub * gs/bc/sl}{}
+
+\DeclareFontShape{C64}{gs}{b}{n}{<-> CJK * wgs}{}
+\DeclareFontShape{C64}{gs}{b}{sl}{<-> CJK * wgso}{}
+\DeclareFontShape{C64}{gs}{b}{it}{<-> CJKssub * gs/b/sl}{}
+
+\DeclareFontShape{C64}{gs}{bx}{n}{<-> CJK * wgsx}{}
+\DeclareFontShape{C64}{gs}{bx}{sl}{<-> CJK * wgsxo}{}
+\DeclareFontShape{C64}{gs}{bx}{it}{<-> CJKssub * gs/bx/sl}{}
+
+\DeclareFontShape{C64}{gs}{bux}{n}{<-> CJK * wgsu}{}
+\DeclareFontShape{C64}{gs}{bux}{sl}{<-> CJK * wgsuo}{}
+\DeclareFontShape{C64}{gs}{bux}{it}{<-> CJKssub * gs/bux/sl}{}
+
+\DeclareFontShape{C64}{gs}{c}{n}{<-> CJKssub * gs/bc/n}{}
+\DeclareFontShape{C64}{gs}{c}{sl}{<-> CJKssub * gs/bc/sl}{}
+\DeclareFontShape{C64}{gs}{c}{it}{<-> CJKssub * gs/bc/sl}{}
+
+\DeclareFontShape{C64}{gs}{m}{n}{<-> CJKssub * gs/b/n}{}
+\DeclareFontShape{C64}{gs}{m}{sl}{<-> CJKssub * gs/b/sl}{}
+\DeclareFontShape{C64}{gs}{m}{it}{<-> CJKssub * gs/b/sl}{}
+
+\DeclareFontShape{C64}{gs}{x}{n}{<-> CJKssub * gs/bx/n}{}
+\DeclareFontShape{C64}{gs}{x}{sl}{<-> CJKssub * gs/bx/sl}{}
+\DeclareFontShape{C64}{gs}{x}{it}{<-> CJKssub * gs/bx/sl}{}
+
+\DeclareFontShape{C64}{gs}{ux}{n}{<-> CJKssub * gs/bux/n}{}
+\DeclareFontShape{C64}{gs}{ux}{sl}{<-> CJKssub * gs/bux/sl}{}
+\DeclareFontShape{C64}{gs}{ux}{it}{<-> CJKssub * gs/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64gt.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64gt.fd
new file mode 100644
index 0000000000..042cd30494
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64gt.fd
@@ -0,0 +1,53 @@
+% This is file c64gt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c64gt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGothic
+
+\DeclareFontFamily{C64}{gt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{gt}{c}{n}{<-> CJK * wgtc}{}
+\DeclareFontShape{C64}{gt}{c}{sl}{<-> CJK * wgtco}{}
+\DeclareFontShape{C64}{gt}{c}{it}{<-> CJKssub * gt/c/sl}{}
+
+\DeclareFontShape{C64}{gt}{m}{n}{<-> CJK * wgt}{}
+\DeclareFontShape{C64}{gt}{m}{sl}{<-> CJK * wgto}{}
+\DeclareFontShape{C64}{gt}{m}{it}{<-> CJKssub * gt/m/sl}{}
+
+\DeclareFontShape{C64}{gt}{x}{n}{<-> CJK * wgtx}{}
+\DeclareFontShape{C64}{gt}{x}{sl}{<-> CJK * wgtxo}{}
+\DeclareFontShape{C64}{gt}{x}{it}{<-> CJKssub * gt/x/sl}{}
+
+\DeclareFontShape{C64}{gt}{ux}{n}{<-> CJK * wgtu}{}
+\DeclareFontShape{C64}{gt}{ux}{sl}{<-> CJK * wgtuo}{}
+\DeclareFontShape{C64}{gt}{ux}{it}{<-> CJKssub * gt/ux/sl}{}
+
+\DeclareFontShape{C64}{gt}{bc}{n}{<-> CJK * wgtbc}{}
+\DeclareFontShape{C64}{gt}{bc}{sl}{<-> CJK * wgtbco}{}
+\DeclareFontShape{C64}{gt}{bc}{it}{<-> CJKssub * gt/bc/sl}{}
+
+\DeclareFontShape{C64}{gt}{b}{n}{<-> CJK * wgtb}{}
+\DeclareFontShape{C64}{gt}{b}{sl}{<-> CJK * wgtbo}{}
+\DeclareFontShape{C64}{gt}{b}{it}{<-> CJKssub * gt/b/sl}{}
+
+\DeclareFontShape{C64}{gt}{bx}{n}{<-> CJK * wgtbx}{}
+\DeclareFontShape{C64}{gt}{bx}{sl}{<-> CJK * wgtbxo}{}
+\DeclareFontShape{C64}{gt}{bx}{it}{<-> CJKssub * gt/bx/sl}{}
+
+\DeclareFontShape{C64}{gt}{bux}{n}{<-> CJK * wgtbu}{}
+\DeclareFontShape{C64}{gt}{bux}{sl}{<-> CJK * wgtbuo}{}
+\DeclareFontShape{C64}{gt}{bux}{it}{<-> CJKssub * gt/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64jgt.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64jgt.fd
new file mode 100644
index 0000000000..b76aa551a6
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64jgt.fd
@@ -0,0 +1,53 @@
+% This is file c64jgt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c64jgt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoGothic
+
+\DeclareFontFamily{C64}{jgt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{jgt}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{jgt}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{jgt}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{jgt}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{jgt}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{jgt}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{jgt}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{jgt}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{jgt}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{jgt}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{jgt}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{jgt}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{jgt}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{jgt}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{jgt}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{jgt}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{jgt}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{jgt}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{jgt}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{jgt}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{jgt}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{jgt}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{jgt}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{jgt}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64jmj.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64jmj.fd
new file mode 100644
index 0000000000..e7d3c54527
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64jmj.fd
@@ -0,0 +1,53 @@
+% This is file c64jmj.fd of the CJK package
+% for using Asian logograjmjs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c64jmj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoMyoungjo
+
+\DeclareFontFamily{C64}{jmj}{\hyjmjenchar \font\m@ne}
+
+\DeclareFontShape{C64}{jmj}{c}{n}{<-> CJKssub * mj/c/n}{}
+\DeclareFontShape{C64}{jmj}{c}{sl}{<-> CJKssub * mj/c/sl}{}
+\DeclareFontShape{C64}{jmj}{c}{it}{<-> CJKssub * mj/c/it}{}
+
+\DeclareFontShape{C64}{jmj}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C64}{jmj}{m}{sl}{<-> CJKssub * mj/m/sl}{}
+\DeclareFontShape{C64}{jmj}{m}{it}{<-> CJKssub * mj/m/it}{}
+
+\DeclareFontShape{C64}{jmj}{x}{n}{<-> CJKssub * mj/x/n}{}
+\DeclareFontShape{C64}{jmj}{x}{sl}{<-> CJKssub * mj/x/sl}{}
+\DeclareFontShape{C64}{jmj}{x}{it}{<-> CJKssub * mj/x/it}{}
+
+\DeclareFontShape{C64}{jmj}{ux}{n}{<-> CJKssub * mj/ux/n}{}
+\DeclareFontShape{C64}{jmj}{ux}{sl}{<-> CJKssub * mj/ux/sl}{}
+\DeclareFontShape{C64}{jmj}{ux}{it}{<-> CJKssub * mj/ux/it}{}
+
+\DeclareFontShape{C64}{jmj}{bc}{n}{<-> CJKssub * mj/bc/n}{}
+\DeclareFontShape{C64}{jmj}{bc}{sl}{<-> CJKssub * mj/bc/sl}{}
+\DeclareFontShape{C64}{jmj}{bc}{it}{<-> CJKssub * mj/bc/it}{}
+
+\DeclareFontShape{C64}{jmj}{b}{n}{<-> CJKssub * mj/b/n}{}
+\DeclareFontShape{C64}{jmj}{b}{sl}{<-> CJKssub * mj/b/sl}{}
+\DeclareFontShape{C64}{jmj}{b}{it}{<-> CJKssub * mj/b/it}{}
+
+\DeclareFontShape{C64}{jmj}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+\DeclareFontShape{C64}{jmj}{bx}{sl}{<-> CJKssub * mj/bx/sl}{}
+\DeclareFontShape{C64}{jmj}{bx}{it}{<-> CJKssub * mj/bx/it}{}
+
+\DeclareFontShape{C64}{jmj}{bux}{n}{<-> CJKssub * mj/bux/n}{}
+\DeclareFontShape{C64}{jmj}{bux}{sl}{<-> CJKssub * mj/bux/sl}{}
+\DeclareFontShape{C64}{jmj}{bux}{it}{<-> CJKssub * mj/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64jnv.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64jnv.fd
new file mode 100644
index 0000000000..05008ca036
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64jnv.fd
@@ -0,0 +1,53 @@
+% This is file c64jnv.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c64jnv.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoNovel
+
+\DeclareFontFamily{C64}{jnv}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{jnv}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{jnv}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{jnv}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{jnv}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{jnv}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{jnv}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{jnv}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{jnv}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{jnv}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{jnv}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{jnv}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{jnv}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{jnv}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{jnv}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{jnv}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{jnv}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{jnv}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{jnv}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{jnv}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{jnv}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{jnv}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{jnv}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{jnv}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{jnv}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64jsr.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64jsr.fd
new file mode 100644
index 0000000000..151e9bc009
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64jsr.fd
@@ -0,0 +1,53 @@
+% This is file c64jsr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c64jsr.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoSora
+
+\DeclareFontFamily{C64}{jsr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{jsr}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{jsr}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{jsr}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{jsr}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{jsr}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{jsr}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{jsr}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{jsr}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{jsr}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{jsr}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{jsr}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{jsr}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{jsr}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{jsr}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{jsr}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{jsr}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{jsr}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{jsr}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{jsr}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{jsr}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{jsr}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{jsr}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{jsr}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{jsr}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64mj.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64mj.fd
new file mode 100644
index 0000000000..6d2abe0dcd
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64mj.fd
@@ -0,0 +1,53 @@
+% This is file c64mj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c64mj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcMyoungjo
+
+\DeclareFontFamily{C64}{mj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{mj}{c}{n}{<-> CJK * wmjc}{}
+\DeclareFontShape{C64}{mj}{c}{sl}{<-> CJK * wmjco}{}
+\DeclareFontShape{C64}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{}
+
+\DeclareFontShape{C64}{mj}{m}{n}{<-> CJK * wmj}{}
+\DeclareFontShape{C64}{mj}{m}{sl}{<-> CJK * wmjo}{}
+\DeclareFontShape{C64}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{}
+
+\DeclareFontShape{C64}{mj}{x}{n}{<-> CJK * wmjx}{}
+\DeclareFontShape{C64}{mj}{x}{sl}{<-> CJK * wmjxo}{}
+\DeclareFontShape{C64}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{}
+
+\DeclareFontShape{C64}{mj}{ux}{n}{<-> CJK * wmju}{}
+\DeclareFontShape{C64}{mj}{ux}{sl}{<-> CJK * wmjuo}{}
+\DeclareFontShape{C64}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{}
+
+\DeclareFontShape{C64}{mj}{bc}{n}{<-> CJK * wmjbc}{}
+\DeclareFontShape{C64}{mj}{bc}{sl}{<-> CJK * wmjbco}{}
+\DeclareFontShape{C64}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{}
+
+\DeclareFontShape{C64}{mj}{b}{n}{<-> CJK * wmjb}{}
+\DeclareFontShape{C64}{mj}{b}{sl}{<-> CJK * wmjbo}{}
+\DeclareFontShape{C64}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{}
+
+\DeclareFontShape{C64}{mj}{bx}{n}{<-> CJK * wmjbx}{}
+\DeclareFontShape{C64}{mj}{bx}{sl}{<-> CJK * wmjbxo}{}
+\DeclareFontShape{C64}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{}
+
+\DeclareFontShape{C64}{mj}{bux}{n}{<-> CJK * wmjbu}{}
+\DeclareFontShape{C64}{mj}{bux}{sl}{<-> CJK * wmjbuo}{}
+\DeclareFontShape{C64}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64pg.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64pg.fd
new file mode 100644
index 0000000000..b208a5f875
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64pg.fd
@@ -0,0 +1,53 @@
+% This is file c64pg.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c64pg.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPilgi
+
+\DeclareFontFamily{C64}{pg}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{pg}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{pg}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{pg}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{pg}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{pg}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{pg}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{pg}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{pg}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{pg}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{pg}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{pg}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{pg}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{pg}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{pg}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{pg}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{pg}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{pg}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{pg}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{pg}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{pg}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{pg}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{pg}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{pg}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{pg}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64pga.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64pga.fd
new file mode 100644
index 0000000000..26ad47a7a3
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64pga.fd
@@ -0,0 +1,53 @@
+% This is file c64pga.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c64pga.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPilgia
+
+\DeclareFontFamily{C64}{pga}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{pga}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{pga}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{pga}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{pga}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{pga}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{pga}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{pga}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{pga}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{pga}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{pga}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{pga}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{pga}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{pga}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{pga}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{pga}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{pga}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{pga}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{pga}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{pga}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{pga}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{pga}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{pga}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{pga}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{pga}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64ph.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64ph.fd
new file mode 100644
index 0000000000..e81d2a479f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64ph.fd
@@ -0,0 +1,53 @@
+% This is file c64ph.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c64ph.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPenHeulim
+
+\DeclareFontFamily{C64}{ph}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{ph}{c}{n}{<-> CJKssub * mj/c/n}{}
+\DeclareFontShape{C64}{ph}{c}{sl}{<-> CJKssub * mj/c/sl}{}
+\DeclareFontShape{C64}{ph}{c}{it}{<-> CJKssub * mj/c/it}{}
+
+\DeclareFontShape{C64}{ph}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C64}{ph}{m}{sl}{<-> CJKssub * mj/m/sl}{}
+\DeclareFontShape{C64}{ph}{m}{it}{<-> CJKssub * mj/m/it}{}
+
+\DeclareFontShape{C64}{ph}{x}{n}{<-> CJKssub * mj/x/n}{}
+\DeclareFontShape{C64}{ph}{x}{sl}{<-> CJKssub * mj/x/sl}{}
+\DeclareFontShape{C64}{ph}{x}{it}{<-> CJKssub * mj/x/it}{}
+
+\DeclareFontShape{C64}{ph}{ux}{n}{<-> CJKssub * mj/ux/n}{}
+\DeclareFontShape{C64}{ph}{ux}{sl}{<-> CJKssub * mj/ux/sl}{}
+\DeclareFontShape{C64}{ph}{ux}{it}{<-> CJKssub * mj/ux/it}{}
+
+\DeclareFontShape{C64}{ph}{bc}{n}{<-> CJKssub * mj/bc/n}{}
+\DeclareFontShape{C64}{ph}{bc}{sl}{<-> CJKssub * mj/bc/sl}{}
+\DeclareFontShape{C64}{ph}{bc}{it}{<-> CJKssub * mj/bc/it}{}
+
+\DeclareFontShape{C64}{ph}{b}{n}{<-> CJKssub * mj/b/n}{}
+\DeclareFontShape{C64}{ph}{b}{sl}{<-> CJKssub * mj/b/sl}{}
+\DeclareFontShape{C64}{ph}{b}{it}{<-> CJKssub * mj/b/it}{}
+
+\DeclareFontShape{C64}{ph}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+\DeclareFontShape{C64}{ph}{bx}{sl}{<-> CJKssub * mj/bx/sl}{}
+\DeclareFontShape{C64}{ph}{bx}{it}{<-> CJKssub * mj/bx/it}{}
+
+\DeclareFontShape{C64}{ph}{bux}{n}{<-> CJKssub * mj/bux/n}{}
+\DeclareFontShape{C64}{ph}{bux}{sl}{<-> CJKssub * mj/bux/sl}{}
+\DeclareFontShape{C64}{ph}{bux}{it}{<-> CJKssub * mj/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64pn.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64pn.fd
new file mode 100644
index 0000000000..b4b1864db3
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64pn.fd
@@ -0,0 +1,53 @@
+% This is file c64pn.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c64pn.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPen
+
+\DeclareFontFamily{C64}{pn}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{pn}{c}{n}{<-> CJKssub * mj/c/n}{}
+\DeclareFontShape{C64}{pn}{c}{sl}{<-> CJKssub * mj/c/sl}{}
+\DeclareFontShape{C64}{pn}{c}{it}{<-> CJKssub * mj/c/it}{}
+
+\DeclareFontShape{C64}{pn}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C64}{pn}{m}{sl}{<-> CJKssub * mj/m/sl}{}
+\DeclareFontShape{C64}{pn}{m}{it}{<-> CJKssub * mj/m/it}{}
+
+\DeclareFontShape{C64}{pn}{x}{n}{<-> CJKssub * mj/x/n}{}
+\DeclareFontShape{C64}{pn}{x}{sl}{<-> CJKssub * mj/x/sl}{}
+\DeclareFontShape{C64}{pn}{x}{it}{<-> CJKssub * mj/x/it}{}
+
+\DeclareFontShape{C64}{pn}{ux}{n}{<-> CJKssub * mj/ux/n}{}
+\DeclareFontShape{C64}{pn}{ux}{sl}{<-> CJKssub * mj/ux/sl}{}
+\DeclareFontShape{C64}{pn}{ux}{it}{<-> CJKssub * mj/ux/it}{}
+
+\DeclareFontShape{C64}{pn}{bc}{n}{<-> CJKssub * mj/bc/n}{}
+\DeclareFontShape{C64}{pn}{bc}{sl}{<-> CJKssub * mj/bc/sl}{}
+\DeclareFontShape{C64}{pn}{bc}{it}{<-> CJKssub * mj/bc/it}{}
+
+\DeclareFontShape{C64}{pn}{b}{n}{<-> CJKssub * mj/b/n}{}
+\DeclareFontShape{C64}{pn}{b}{sl}{<-> CJKssub * mj/b/sl}{}
+\DeclareFontShape{C64}{pn}{b}{it}{<-> CJKssub * mj/b/it}{}
+
+\DeclareFontShape{C64}{pn}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+\DeclareFontShape{C64}{pn}{bx}{sl}{<-> CJKssub * mj/bx/sl}{}
+\DeclareFontShape{C64}{pn}{bx}{it}{<-> CJKssub * mj/bx/it}{}
+
+\DeclareFontShape{C64}{pn}{bux}{n}{<-> CJKssub * mj/bux/n}{}
+\DeclareFontShape{C64}{pn}{bux}{sl}{<-> CJKssub * mj/bux/sl}{}
+\DeclareFontShape{C64}{pn}{bux}{it}{<-> CJKssub * mj/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64sh.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64sh.fd
new file mode 100644
index 0000000000..1903bdd16d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64sh.fd
@@ -0,0 +1,53 @@
+% This is file c64sh.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c64sh.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcShinmunMyoungjo
+
+\DeclareFontFamily{C64}{hwsh}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{sh}{c}{n}{<-> CJK * wshc}{}
+\DeclareFontShape{C64}{sh}{c}{sl}{<-> CJK * wshco}{}
+\DeclareFontShape{C64}{sh}{c}{it}{<-> CJKssub * sh/c/sl}{}
+
+\DeclareFontShape{C64}{sh}{m}{n}{<-> CJK * wsh}{}
+\DeclareFontShape{C64}{sh}{m}{sl}{<-> CJK * wsho}{}
+\DeclareFontShape{C64}{sh}{m}{it}{<-> CJKssub * sh/m/sl}{}
+
+\DeclareFontShape{C64}{sh}{x}{n}{<-> CJK * wshx}{}
+\DeclareFontShape{C64}{sh}{x}{sl}{<-> CJK * wshxo}{}
+\DeclareFontShape{C64}{sh}{x}{it}{<-> CJKssub * sh/x/sl}{}
+
+\DeclareFontShape{C64}{sh}{ux}{n}{<-> CJK * wshu}{}
+\DeclareFontShape{C64}{sh}{ux}{sl}{<-> CJK * wshuo}{}
+\DeclareFontShape{C64}{sh}{ux}{it}{<-> CJKssub * sh/ux/sl}{}
+
+\DeclareFontShape{C64}{sh}{bc}{n}{<-> CJKssub * sh/c/n}{}
+\DeclareFontShape{C64}{sh}{bc}{sl}{<-> CJKssub * sh/c/sl}{}
+\DeclareFontShape{C64}{sh}{bc}{it}{<-> CJKssub * sh/bc/sl}{}
+
+\DeclareFontShape{C64}{sh}{b}{n}{<-> CJKssub * sh/m/n}{}
+\DeclareFontShape{C64}{sh}{b}{sl}{<-> CJKssub * sh/m/sl}{}
+\DeclareFontShape{C64}{sh}{b}{it}{<-> CJKssub * sh/b/sl}{}
+
+\DeclareFontShape{C64}{sh}{bx}{n}{<-> CJKssub * sh/x/n}{}
+\DeclareFontShape{C64}{sh}{bx}{sl}{<-> CJKssub * sh/x/sl}{}
+\DeclareFontShape{C64}{sh}{bx}{it}{<-> CJKssub * sh/bx/sl}{}
+
+\DeclareFontShape{C64}{sh}{bux}{n}{<-> CJKssub * sh/ux/n}{}
+\DeclareFontShape{C64}{sh}{bux}{sl}{<-> CJKssub * sh/ux/sl}{}
+\DeclareFontShape{C64}{sh}{bux}{it}{<-> CJKssub * sh/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64tz.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64tz.fd
new file mode 100644
index 0000000000..1980a8f306
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64tz.fd
@@ -0,0 +1,53 @@
+% This is file c64tz.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c64tz.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcTypewriter
+
+\DeclareFontFamily{C64}{tz}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{tz}{c}{n}{<-> CJK * wttc}{}
+\DeclareFontShape{C64}{tz}{c}{sl}{<-> CJK * wttco}{}
+\DeclareFontShape{C64}{tz}{c}{it}{<-> CJKssub * tz/c/sl}{}
+
+\DeclareFontShape{C64}{tz}{m}{n}{<-> CJK * wtt}{}
+\DeclareFontShape{C64}{tz}{m}{sl}{<-> CJK * wtto}{}
+\DeclareFontShape{C64}{tz}{m}{it}{<-> CJKssub * tz/m/sl}{}
+
+\DeclareFontShape{C64}{tz}{x}{n}{<-> CJK * wttx}{}
+\DeclareFontShape{C64}{tz}{x}{sl}{<-> CJK * wttxo}{}
+\DeclareFontShape{C64}{tz}{x}{it}{<-> CJKssub * tz/x/sl}{}
+
+\DeclareFontShape{C64}{tz}{ux}{n}{<-> CJK * wttu}{}
+\DeclareFontShape{C64}{tz}{ux}{sl}{<-> CJK * wttuo}{}
+\DeclareFontShape{C64}{tz}{ux}{it}{<-> CJKssub * tz/ux/sl}{}
+
+\DeclareFontShape{C64}{tz}{bc}{n}{<-> CJKb * wttc}{\CJKbold}
+\DeclareFontShape{C64}{tz}{bc}{sl}{<-> CJKb * wttco}{\CJKbold}
+\DeclareFontShape{C64}{tz}{bc}{it}{<-> CJKssub * tz/bc/sl}{}
+
+\DeclareFontShape{C64}{tz}{bm}{n}{<-> CJKb * wtt}{\CJKbold}
+\DeclareFontShape{C64}{tz}{bm}{sl}{<-> CJKb * wtto}{\CJKbold}
+\DeclareFontShape{C64}{tz}{bm}{it}{<-> CJKssub * tz/b/sl}{}
+
+\DeclareFontShape{C64}{tz}{bx}{n}{<-> CJKb * wttx}{\CJKbold}
+\DeclareFontShape{C64}{tz}{bx}{sl}{<-> CJKb * wttxo}{\CJKbold}
+\DeclareFontShape{C64}{tz}{bx}{it}{<-> CJKssub * tz/bx/sl}{}
+
+\DeclareFontShape{C64}{tz}{bux}{n}{<-> CJKb * wttu}{\CJKbold}
+\DeclareFontShape{C64}{tz}{bux}{sl}{<-> CJKb * wttuo}{\CJKbold}
+\DeclareFontShape{C64}{tz}{bux}{it}{<-> CJKssub * tz/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64vd.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64vd.fd
new file mode 100644
index 0000000000..92087c75f9
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64vd.fd
@@ -0,0 +1,53 @@
+% This is file c64vd.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c64vd.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcVada
+
+\DeclareFontFamily{C64}{vd}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{vd}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{vd}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{vd}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{vd}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{vd}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{vd}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{vd}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{vd}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{vd}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{vd}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{vd}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{vd}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{vd}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{vd}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{vd}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{vd}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{vd}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{vd}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{vd}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{vd}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{vd}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{vd}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{vd}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{vd}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64yt.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64yt.fd
new file mode 100644
index 0000000000..09f70c738d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c64yt.fd
@@ -0,0 +1,53 @@
+% This is file c64yt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c64yt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcYetgul
+
+\DeclareFontFamily{C64}{yt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{yt}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{yt}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{yt}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{yt}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{yt}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{yt}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{yt}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{yt}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{yt}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{yt}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{yt}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{yt}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{yt}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{yt}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{yt}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{yt}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{yt}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{yt}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{yt}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{yt}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{yt}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{yt}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{yt}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{yt}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65bm.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65bm.fd
new file mode 100644
index 0000000000..13cfbc8750
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65bm.fd
@@ -0,0 +1,53 @@
+% This is file c65bm.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c65bm.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcBom
+
+\DeclareFontFamily{C65}{bm}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{bm}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{bm}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{bm}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{bm}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{bm}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{bm}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{bm}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{bm}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{bm}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{bm}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{bm}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{bm}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{bm}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{bm}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{bm}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{bm}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{bm}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{bm}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{bm}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{bm}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{bm}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{bm}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{bm}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{bm}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65dn.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65dn.fd
new file mode 100644
index 0000000000..8873d59c89
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65dn.fd
@@ -0,0 +1,69 @@
+% This is file c65dn.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c65dn.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcDinaru
+
+\DeclareFontFamily{C65}{dn}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{dn}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{dn}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{dn}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{dn}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{dn}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{dn}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{dn}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{dn}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{dn}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{dn}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{dn}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{dn}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{dn}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{dn}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{dn}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{dn}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{dn}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{dn}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{dn}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{dn}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{dn}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{dn}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{dn}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{dn}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\DeclareFontShape{C65}{dn}{lc}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{dn}{lc}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{dn}{lc}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{dn}{l}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{dn}{l}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{dn}{l}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{dn}{lx}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{dn}{lx}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{dn}{lx}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{dn}{lux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{dn}{lux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{dn}{lux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65gr.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65gr.fd
new file mode 100644
index 0000000000..0a8d4990f1
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65gr.fd
@@ -0,0 +1,53 @@
+% This is file c65gr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c65gr.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGraphic
+
+\DeclareFontFamily{C65}{gr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{gr}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{gr}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{gr}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{gr}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{gr}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{gr}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{gr}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{gr}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{gr}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{gr}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{gr}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{gr}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{gr}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{gr}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{gr}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{gr}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{gr}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{gr}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{gr}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{gr}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{gr}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{gr}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{gr}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{gr}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65gs.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65gs.fd
new file mode 100644
index 0000000000..673fa549e0
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65gs.fd
@@ -0,0 +1,53 @@
+% This is file c65gs.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c65gs.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGungseo
+
+\DeclareFontFamily{C65}{gs}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{gs}{bc}{n}{<-> CJK * wgsc}{}
+\DeclareFontShape{C65}{gs}{bc}{sl}{<-> CJK * wgsco}{}
+\DeclareFontShape{C65}{gs}{bc}{it}{<-> CJKssub * gs/bc/sl}{}
+
+\DeclareFontShape{C65}{gs}{b}{n}{<-> CJK * wgs}{}
+\DeclareFontShape{C65}{gs}{b}{sl}{<-> CJK * wgso}{}
+\DeclareFontShape{C65}{gs}{b}{it}{<-> CJKssub * gs/b/sl}{}
+
+\DeclareFontShape{C65}{gs}{bx}{n}{<-> CJK * wgsx}{}
+\DeclareFontShape{C65}{gs}{bx}{sl}{<-> CJK * wgsxo}{}
+\DeclareFontShape{C65}{gs}{bx}{it}{<-> CJKssub * gs/bx/sl}{}
+
+\DeclareFontShape{C65}{gs}{bux}{n}{<-> CJK * wgsu}{}
+\DeclareFontShape{C65}{gs}{bux}{sl}{<-> CJK * wgsuo}{}
+\DeclareFontShape{C65}{gs}{bux}{it}{<-> CJKssub * gs/bux/sl}{}
+
+\DeclareFontShape{C65}{gs}{c}{n}{<-> CJKssub * gs/bc/n}{}
+\DeclareFontShape{C65}{gs}{c}{sl}{<-> CJKssub * gs/bc/sl}{}
+\DeclareFontShape{C65}{gs}{c}{it}{<-> CJKssub * gs/bc/sl}{}
+
+\DeclareFontShape{C65}{gs}{m}{n}{<-> CJKssub * gs/b/n}{}
+\DeclareFontShape{C65}{gs}{m}{sl}{<-> CJKssub * gs/b/sl}{}
+\DeclareFontShape{C65}{gs}{m}{it}{<-> CJKssub * gs/b/sl}{}
+
+\DeclareFontShape{C65}{gs}{x}{n}{<-> CJKssub * gs/bx/n}{}
+\DeclareFontShape{C65}{gs}{x}{sl}{<-> CJKssub * gs/bx/sl}{}
+\DeclareFontShape{C65}{gs}{x}{it}{<-> CJKssub * gs/bx/sl}{}
+
+\DeclareFontShape{C65}{gs}{ux}{n}{<-> CJKssub * gs/bux/n}{}
+\DeclareFontShape{C65}{gs}{ux}{sl}{<-> CJKssub * gs/bux/sl}{}
+\DeclareFontShape{C65}{gs}{ux}{it}{<-> CJKssub * gs/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65gt.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65gt.fd
new file mode 100644
index 0000000000..a9d96baded
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65gt.fd
@@ -0,0 +1,53 @@
+% This is file c65gt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c65gt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGothic
+
+\DeclareFontFamily{C65}{gt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{gt}{c}{n}{<-> CJK * wgtc}{}
+\DeclareFontShape{C65}{gt}{c}{sl}{<-> CJK * wgtco}{}
+\DeclareFontShape{C65}{gt}{c}{it}{<-> CJKssub * gt/c/sl}{}
+
+\DeclareFontShape{C65}{gt}{m}{n}{<-> CJK * wgt}{}
+\DeclareFontShape{C65}{gt}{m}{sl}{<-> CJK * wgto}{}
+\DeclareFontShape{C65}{gt}{m}{it}{<-> CJKssub * gt/m/sl}{}
+
+\DeclareFontShape{C65}{gt}{x}{n}{<-> CJK * wgtx}{}
+\DeclareFontShape{C65}{gt}{x}{sl}{<-> CJK * wgtxo}{}
+\DeclareFontShape{C65}{gt}{x}{it}{<-> CJKssub * gt/x/sl}{}
+
+\DeclareFontShape{C65}{gt}{ux}{n}{<-> CJK * wgtu}{}
+\DeclareFontShape{C65}{gt}{ux}{sl}{<-> CJK * wgtuo}{}
+\DeclareFontShape{C65}{gt}{ux}{it}{<-> CJKssub * gt/ux/sl}{}
+
+\DeclareFontShape{C65}{gt}{bc}{n}{<-> CJK * wgtbc}{}
+\DeclareFontShape{C65}{gt}{bc}{sl}{<-> CJK * wgtbco}{}
+\DeclareFontShape{C65}{gt}{bc}{it}{<-> CJKssub * gt/bc/sl}{}
+
+\DeclareFontShape{C65}{gt}{b}{n}{<-> CJK * wgtb}{}
+\DeclareFontShape{C65}{gt}{b}{sl}{<-> CJK * wgtbo}{}
+\DeclareFontShape{C65}{gt}{b}{it}{<-> CJKssub * gt/b/sl}{}
+
+\DeclareFontShape{C65}{gt}{bx}{n}{<-> CJK * wgtbx}{}
+\DeclareFontShape{C65}{gt}{bx}{sl}{<-> CJK * wgtbxo}{}
+\DeclareFontShape{C65}{gt}{bx}{it}{<-> CJKssub * gt/bx/sl}{}
+
+\DeclareFontShape{C65}{gt}{bux}{n}{<-> CJK * wgtbu}{}
+\DeclareFontShape{C65}{gt}{bux}{sl}{<-> CJK * wgtbuo}{}
+\DeclareFontShape{C65}{gt}{bux}{it}{<-> CJKssub * gt/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65jgt.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65jgt.fd
new file mode 100644
index 0000000000..40d511e1a2
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65jgt.fd
@@ -0,0 +1,53 @@
+% This is file c65jgt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c65jgt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoGothic
+
+\DeclareFontFamily{C65}{jgt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{jgt}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{jgt}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{jgt}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{jgt}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{jgt}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{jgt}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{jgt}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{jgt}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{jgt}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{jgt}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{jgt}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{jgt}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{jgt}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{jgt}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{jgt}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{jgt}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{jgt}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{jgt}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{jgt}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{jgt}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{jgt}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{jgt}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{jgt}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{jgt}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65jmj.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65jmj.fd
new file mode 100644
index 0000000000..94105895e4
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65jmj.fd
@@ -0,0 +1,53 @@
+% This is file c65jmj.fd of the CJK package
+% for using Asian logograjmjs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c65jmj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoMyoungjo
+
+\DeclareFontFamily{C65}{jmj}{\hyjmjenchar \font\m@ne}
+
+\DeclareFontShape{C65}{jmj}{c}{n}{<-> CJKssub * mj/c/n}{}
+\DeclareFontShape{C65}{jmj}{c}{sl}{<-> CJKssub * mj/c/sl}{}
+\DeclareFontShape{C65}{jmj}{c}{it}{<-> CJKssub * mj/c/it}{}
+
+\DeclareFontShape{C65}{jmj}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C65}{jmj}{m}{sl}{<-> CJKssub * mj/m/sl}{}
+\DeclareFontShape{C65}{jmj}{m}{it}{<-> CJKssub * mj/m/it}{}
+
+\DeclareFontShape{C65}{jmj}{x}{n}{<-> CJKssub * mj/x/n}{}
+\DeclareFontShape{C65}{jmj}{x}{sl}{<-> CJKssub * mj/x/sl}{}
+\DeclareFontShape{C65}{jmj}{x}{it}{<-> CJKssub * mj/x/it}{}
+
+\DeclareFontShape{C65}{jmj}{ux}{n}{<-> CJKssub * mj/ux/n}{}
+\DeclareFontShape{C65}{jmj}{ux}{sl}{<-> CJKssub * mj/ux/sl}{}
+\DeclareFontShape{C65}{jmj}{ux}{it}{<-> CJKssub * mj/ux/it}{}
+
+\DeclareFontShape{C65}{jmj}{bc}{n}{<-> CJKssub * mj/bc/n}{}
+\DeclareFontShape{C65}{jmj}{bc}{sl}{<-> CJKssub * mj/bc/sl}{}
+\DeclareFontShape{C65}{jmj}{bc}{it}{<-> CJKssub * mj/bc/it}{}
+
+\DeclareFontShape{C65}{jmj}{b}{n}{<-> CJKssub * mj/b/n}{}
+\DeclareFontShape{C65}{jmj}{b}{sl}{<-> CJKssub * mj/b/sl}{}
+\DeclareFontShape{C65}{jmj}{b}{it}{<-> CJKssub * mj/b/it}{}
+
+\DeclareFontShape{C65}{jmj}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+\DeclareFontShape{C65}{jmj}{bx}{sl}{<-> CJKssub * mj/bx/sl}{}
+\DeclareFontShape{C65}{jmj}{bx}{it}{<-> CJKssub * mj/bx/it}{}
+
+\DeclareFontShape{C65}{jmj}{bux}{n}{<-> CJKssub * mj/bux/n}{}
+\DeclareFontShape{C65}{jmj}{bux}{sl}{<-> CJKssub * mj/bux/sl}{}
+\DeclareFontShape{C65}{jmj}{bux}{it}{<-> CJKssub * mj/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65jnv.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65jnv.fd
new file mode 100644
index 0000000000..0c80ce03e9
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65jnv.fd
@@ -0,0 +1,53 @@
+% This is file c65jnv.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c65jnv.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoNovel
+
+\DeclareFontFamily{C65}{jnv}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{jnv}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{jnv}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{jnv}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{jnv}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{jnv}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{jnv}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{jnv}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{jnv}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{jnv}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{jnv}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{jnv}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{jnv}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{jnv}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{jnv}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{jnv}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{jnv}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{jnv}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{jnv}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{jnv}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{jnv}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{jnv}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{jnv}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{jnv}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{jnv}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65jsr.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65jsr.fd
new file mode 100644
index 0000000000..a0d8d08710
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65jsr.fd
@@ -0,0 +1,53 @@
+% This is file c65jsr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c65jsr.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoSora
+
+\DeclareFontFamily{C65}{jsr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{jsr}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{jsr}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{jsr}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{jsr}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{jsr}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{jsr}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{jsr}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{jsr}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{jsr}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{jsr}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{jsr}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{jsr}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{jsr}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{jsr}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{jsr}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{jsr}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{jsr}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{jsr}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{jsr}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{jsr}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{jsr}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{jsr}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{jsr}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{jsr}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65mj.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65mj.fd
new file mode 100644
index 0000000000..e0214d2167
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65mj.fd
@@ -0,0 +1,53 @@
+% This is file c65mj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c65mj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcMyoungjo
+
+\DeclareFontFamily{C65}{mj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{mj}{c}{n}{<-> CJK * wmjc}{}
+\DeclareFontShape{C65}{mj}{c}{sl}{<-> CJK * wmjco}{}
+\DeclareFontShape{C65}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{}
+
+\DeclareFontShape{C65}{mj}{m}{n}{<-> CJK * wmj}{}
+\DeclareFontShape{C65}{mj}{m}{sl}{<-> CJK * wmjo}{}
+\DeclareFontShape{C65}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{}
+
+\DeclareFontShape{C65}{mj}{x}{n}{<-> CJK * wmjx}{}
+\DeclareFontShape{C65}{mj}{x}{sl}{<-> CJK * wmjxo}{}
+\DeclareFontShape{C65}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{}
+
+\DeclareFontShape{C65}{mj}{ux}{n}{<-> CJK * wmju}{}
+\DeclareFontShape{C65}{mj}{ux}{sl}{<-> CJK * wmjuo}{}
+\DeclareFontShape{C65}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{}
+
+\DeclareFontShape{C65}{mj}{bc}{n}{<-> CJK * wmjbc}{}
+\DeclareFontShape{C65}{mj}{bc}{sl}{<-> CJK * wmjbco}{}
+\DeclareFontShape{C65}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{}
+
+\DeclareFontShape{C65}{mj}{b}{n}{<-> CJK * wmjb}{}
+\DeclareFontShape{C65}{mj}{b}{sl}{<-> CJK * wmjbo}{}
+\DeclareFontShape{C65}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{}
+
+\DeclareFontShape{C65}{mj}{bx}{n}{<-> CJK * wmjbx}{}
+\DeclareFontShape{C65}{mj}{bx}{sl}{<-> CJK * wmjbxo}{}
+\DeclareFontShape{C65}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{}
+
+\DeclareFontShape{C65}{mj}{bux}{n}{<-> CJK * wmjbu}{}
+\DeclareFontShape{C65}{mj}{bux}{sl}{<-> CJK * wmjbuo}{}
+\DeclareFontShape{C65}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65pg.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65pg.fd
new file mode 100644
index 0000000000..f5b43208f9
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65pg.fd
@@ -0,0 +1,53 @@
+% This is file c65pg.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c65pg.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPilgi
+
+\DeclareFontFamily{C65}{pg}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{pg}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{pg}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{pg}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{pg}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{pg}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{pg}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{pg}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{pg}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{pg}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{pg}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{pg}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{pg}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{pg}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{pg}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{pg}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{pg}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{pg}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{pg}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{pg}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{pg}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{pg}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{pg}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{pg}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{pg}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65pga.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65pga.fd
new file mode 100644
index 0000000000..f18acdedab
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65pga.fd
@@ -0,0 +1,53 @@
+% This is file c65pga.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c65pga.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPilgia
+
+\DeclareFontFamily{C65}{pga}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{pga}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{pga}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{pga}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{pga}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{pga}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{pga}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{pga}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{pga}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{pga}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{pga}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{pga}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{pga}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{pga}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{pga}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{pga}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{pga}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{pga}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{pga}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{pga}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{pga}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{pga}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{pga}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{pga}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{pga}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65ph.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65ph.fd
new file mode 100644
index 0000000000..fb4f2aa53c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65ph.fd
@@ -0,0 +1,53 @@
+% This is file c65ph.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c65ph.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPenHeulim
+
+\DeclareFontFamily{C65}{ph}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{ph}{c}{n}{<-> CJKssub * mj/c/n}{}
+\DeclareFontShape{C65}{ph}{c}{sl}{<-> CJKssub * mj/c/sl}{}
+\DeclareFontShape{C65}{ph}{c}{it}{<-> CJKssub * mj/c/it}{}
+
+\DeclareFontShape{C65}{ph}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C65}{ph}{m}{sl}{<-> CJKssub * mj/m/sl}{}
+\DeclareFontShape{C65}{ph}{m}{it}{<-> CJKssub * mj/m/it}{}
+
+\DeclareFontShape{C65}{ph}{x}{n}{<-> CJKssub * mj/x/n}{}
+\DeclareFontShape{C65}{ph}{x}{sl}{<-> CJKssub * mj/x/sl}{}
+\DeclareFontShape{C65}{ph}{x}{it}{<-> CJKssub * mj/x/it}{}
+
+\DeclareFontShape{C65}{ph}{ux}{n}{<-> CJKssub * mj/ux/n}{}
+\DeclareFontShape{C65}{ph}{ux}{sl}{<-> CJKssub * mj/ux/sl}{}
+\DeclareFontShape{C65}{ph}{ux}{it}{<-> CJKssub * mj/ux/it}{}
+
+\DeclareFontShape{C65}{ph}{bc}{n}{<-> CJKssub * mj/bc/n}{}
+\DeclareFontShape{C65}{ph}{bc}{sl}{<-> CJKssub * mj/bc/sl}{}
+\DeclareFontShape{C65}{ph}{bc}{it}{<-> CJKssub * mj/bc/it}{}
+
+\DeclareFontShape{C65}{ph}{b}{n}{<-> CJKssub * mj/b/n}{}
+\DeclareFontShape{C65}{ph}{b}{sl}{<-> CJKssub * mj/b/sl}{}
+\DeclareFontShape{C65}{ph}{b}{it}{<-> CJKssub * mj/b/it}{}
+
+\DeclareFontShape{C65}{ph}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+\DeclareFontShape{C65}{ph}{bx}{sl}{<-> CJKssub * mj/bx/sl}{}
+\DeclareFontShape{C65}{ph}{bx}{it}{<-> CJKssub * mj/bx/it}{}
+
+\DeclareFontShape{C65}{ph}{bux}{n}{<-> CJKssub * mj/bux/n}{}
+\DeclareFontShape{C65}{ph}{bux}{sl}{<-> CJKssub * mj/bux/sl}{}
+\DeclareFontShape{C65}{ph}{bux}{it}{<-> CJKssub * mj/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65pn.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65pn.fd
new file mode 100644
index 0000000000..836524e00e
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65pn.fd
@@ -0,0 +1,53 @@
+% This is file c65pn.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c65pn.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPen
+
+\DeclareFontFamily{C65}{pn}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{pn}{c}{n}{<-> CJKssub* mj/c/n}{}
+\DeclareFontShape{C65}{pn}{c}{sl}{<-> CJKssub* mj/c/sl}{}
+\DeclareFontShape{C65}{pn}{c}{it}{<-> CJKssub * mj/c/it}{}
+
+\DeclareFontShape{C65}{pn}{m}{n}{<-> CJKssub* mj/m/n}{}
+\DeclareFontShape{C65}{pn}{m}{sl}{<-> CJKssub* mj/m/sl}{}
+\DeclareFontShape{C65}{pn}{m}{it}{<-> CJKssub * mj/m/it}{}
+
+\DeclareFontShape{C65}{pn}{x}{n}{<-> CJKssub* mj/x/n}{}
+\DeclareFontShape{C65}{pn}{x}{sl}{<-> CJKssub* mj/x/sl}{}
+\DeclareFontShape{C65}{pn}{x}{it}{<-> CJKssub * mj/x/it}{}
+
+\DeclareFontShape{C65}{pn}{ux}{n}{<-> CJKssub* mj/ux/n}{}
+\DeclareFontShape{C65}{pn}{ux}{sl}{<-> CJKssub* mj/ux/sl}{}
+\DeclareFontShape{C65}{pn}{ux}{it}{<-> CJKssub * mj/ux/it}{}
+
+\DeclareFontShape{C65}{pn}{bc}{n}{<-> CJKssub * mj/bc/n}{}
+\DeclareFontShape{C65}{pn}{bc}{sl}{<-> CJKssub * mj/bc/sl}{}
+\DeclareFontShape{C65}{pn}{bc}{it}{<-> CJKssub * mj/bc/it}{}
+
+\DeclareFontShape{C65}{pn}{b}{n}{<-> CJKssub * mj/b/n}{}
+\DeclareFontShape{C65}{pn}{b}{sl}{<-> CJKssub * mj/b/sl}{}
+\DeclareFontShape{C65}{pn}{b}{it}{<-> CJKssub * mj/b/it}{}
+
+\DeclareFontShape{C65}{pn}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+\DeclareFontShape{C65}{pn}{bx}{sl}{<-> CJKssub * mj/bx/sl}{}
+\DeclareFontShape{C65}{pn}{bx}{it}{<-> CJKssub * mj/bx/it}{}
+
+\DeclareFontShape{C65}{pn}{bux}{n}{<-> CJKssub * mj/bux/n}{}
+\DeclareFontShape{C65}{pn}{bux}{sl}{<-> CJKssub * mj/bux/sl}{}
+\DeclareFontShape{C65}{pn}{bux}{it}{<-> CJKssub * mj/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65sh.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65sh.fd
new file mode 100644
index 0000000000..1f6ebafe91
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65sh.fd
@@ -0,0 +1,53 @@
+% This is file c65sh.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c65sh.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcShinmunMyoungjo
+
+\DeclareFontFamily{C65}{hwsh}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{sh}{c}{n}{<-> CJK * wshc}{}
+\DeclareFontShape{C65}{sh}{c}{sl}{<-> CJK * wshco}{}
+\DeclareFontShape{C65}{sh}{c}{it}{<-> CJKssub * sh/c/sl}{}
+
+\DeclareFontShape{C65}{sh}{m}{n}{<-> CJK * wsh}{}
+\DeclareFontShape{C65}{sh}{m}{sl}{<-> CJK * wsho}{}
+\DeclareFontShape{C65}{sh}{m}{it}{<-> CJKssub * sh/m/sl}{}
+
+\DeclareFontShape{C65}{sh}{x}{n}{<-> CJK * wshx}{}
+\DeclareFontShape{C65}{sh}{x}{sl}{<-> CJK * wshxo}{}
+\DeclareFontShape{C65}{sh}{x}{it}{<-> CJKssub * sh/x/sl}{}
+
+\DeclareFontShape{C65}{sh}{ux}{n}{<-> CJK * wshu}{}
+\DeclareFontShape{C65}{sh}{ux}{sl}{<-> CJK * wshuo}{}
+\DeclareFontShape{C65}{sh}{ux}{it}{<-> CJKssub * sh/ux/sl}{}
+
+\DeclareFontShape{C65}{sh}{bc}{n}{<-> CJKssub * sh/c/n}{}
+\DeclareFontShape{C65}{sh}{bc}{sl}{<-> CJKssub * sh/c/sl}{}
+\DeclareFontShape{C65}{sh}{bc}{it}{<-> CJKssub * sh/bc/sl}{}
+
+\DeclareFontShape{C65}{sh}{b}{n}{<-> CJKssub * sh/m/n}{}
+\DeclareFontShape{C65}{sh}{b}{sl}{<-> CJKssub * sh/m/sl}{}
+\DeclareFontShape{C65}{sh}{b}{it}{<-> CJKssub * sh/b/sl}{}
+
+\DeclareFontShape{C65}{sh}{bx}{n}{<-> CJKssub * sh/x/n}{}
+\DeclareFontShape{C65}{sh}{bx}{sl}{<-> CJKssub * sh/x/sl}{}
+\DeclareFontShape{C65}{sh}{bx}{it}{<-> CJKssub * sh/bx/sl}{}
+
+\DeclareFontShape{C65}{sh}{bux}{n}{<-> CJKssub * sh/ux/n}{}
+\DeclareFontShape{C65}{sh}{bux}{sl}{<-> CJKssub * sh/ux/sl}{}
+\DeclareFontShape{C65}{sh}{bux}{it}{<-> CJKssub * sh/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65tz.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65tz.fd
new file mode 100644
index 0000000000..0c80ae060a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65tz.fd
@@ -0,0 +1,53 @@
+% This is file c65tz.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c65tz.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcTypewriter
+
+\DeclareFontFamily{C65}{tz}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{tz}{c}{n}{<-> CJK * wttc}{}
+\DeclareFontShape{C65}{tz}{c}{sl}{<-> CJK * wttco}{}
+\DeclareFontShape{C65}{tz}{c}{it}{<-> CJKssub * tz/c/sl}{}
+
+\DeclareFontShape{C65}{tz}{m}{n}{<-> CJK * wtt}{}
+\DeclareFontShape{C65}{tz}{m}{sl}{<-> CJK * wtto}{}
+\DeclareFontShape{C65}{tz}{m}{it}{<-> CJKssub * tz/m/sl}{}
+
+\DeclareFontShape{C65}{tz}{x}{n}{<-> CJK * wttx}{}
+\DeclareFontShape{C65}{tz}{x}{sl}{<-> CJK * wttxo}{}
+\DeclareFontShape{C65}{tz}{x}{it}{<-> CJKssub * tz/x/sl}{}
+
+\DeclareFontShape{C65}{tz}{ux}{n}{<-> CJK * wttu}{}
+\DeclareFontShape{C65}{tz}{ux}{sl}{<-> CJK * wttuo}{}
+\DeclareFontShape{C65}{tz}{ux}{it}{<-> CJKssub * tz/ux/sl}{}
+
+\DeclareFontShape{C65}{tz}{bc}{n}{<-> CJKb * wttc}{\CJKbold}
+\DeclareFontShape{C65}{tz}{bc}{sl}{<-> CJKb * wttco}{\CJKbold}
+\DeclareFontShape{C65}{tz}{bc}{it}{<-> CJKssub * tz/bc/sl}{}
+
+\DeclareFontShape{C65}{tz}{b}{n}{<-> CJKb * wtt}{\CJKbold}
+\DeclareFontShape{C65}{tz}{b}{sl}{<-> CJKb * wtto}{\CJKbold}
+\DeclareFontShape{C65}{tz}{b}{it}{<-> CJKssub * tz/b/sl}{}
+
+\DeclareFontShape{C65}{tz}{bx}{n}{<-> CJKb * wttx}{\CJKbold}
+\DeclareFontShape{C65}{tz}{bx}{sl}{<-> CJKb * wttxo}{\CJKbold}
+\DeclareFontShape{C65}{tz}{bx}{it}{<-> CJKssub * tz/bx/sl}{}
+
+\DeclareFontShape{C65}{tz}{bux}{n}{<-> CJKb * wttu}{\CJKbold}
+\DeclareFontShape{C65}{tz}{bux}{sl}{<-> CJKb * wttuo}{\CJKbold}
+\DeclareFontShape{C65}{tz}{bux}{it}{<-> CJKssub * tz/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65vd.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65vd.fd
new file mode 100644
index 0000000000..1ffaefd5b9
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65vd.fd
@@ -0,0 +1,53 @@
+% This is file c65vd.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c65vd.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcVada
+
+\DeclareFontFamily{C65}{vd}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{vd}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{vd}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{vd}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{vd}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{vd}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{vd}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{vd}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{vd}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{vd}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{vd}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{vd}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{vd}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{vd}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{vd}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{vd}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{vd}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{vd}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{vd}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{vd}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{vd}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{vd}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{vd}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{vd}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{vd}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65yt.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65yt.fd
new file mode 100644
index 0000000000..90d021a102
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/c65yt.fd
@@ -0,0 +1,53 @@
+% This is file c65yt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c65yt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcYetgul
+
+\DeclareFontFamily{C65}{yt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{yt}{c}{n}{<-> CJK * wytc}{}
+\DeclareFontShape{C65}{yt}{c}{sl}{<-> CJK * wytco}{}
+\DeclareFontShape{C65}{yt}{c}{it}{<-> CJKssub * yt/c/sl}{}
+
+\DeclareFontShape{C65}{yt}{m}{n}{<-> CJK * wyt}{}
+\DeclareFontShape{C65}{yt}{m}{sl}{<-> CJK * wyto}{}
+\DeclareFontShape{C65}{yt}{m}{it}{<-> CJKssub * yt/m/sl}{}
+
+\DeclareFontShape{C65}{yt}{x}{n}{<-> CJK * wytx}{}
+\DeclareFontShape{C65}{yt}{x}{sl}{<-> CJK * wytxo}{}
+\DeclareFontShape{C65}{yt}{x}{it}{<-> CJKssub * yt/x/sl}{}
+
+\DeclareFontShape{C65}{yt}{ux}{n}{<-> CJK * wytu}{}
+\DeclareFontShape{C65}{yt}{ux}{sl}{<-> CJK * wytuo}{}
+\DeclareFontShape{C65}{yt}{ux}{it}{<-> CJKssub * yt/ux/sl}{}
+
+\DeclareFontShape{C65}{yt}{bc}{n}{<-> CJKb * wytc}{\CJKbold}
+\DeclareFontShape{C65}{yt}{bc}{sl}{<-> CJKb * wytco}{\CJKbold}
+\DeclareFontShape{C65}{yt}{bc}{it}{<-> CJKssub * yt/bc/sl}{}
+
+\DeclareFontShape{C65}{yt}{b}{n}{<-> CJKb * wyt}{\CJKbold}
+\DeclareFontShape{C65}{yt}{b}{sl}{<-> CJKb * wyto}{\CJKbold}
+\DeclareFontShape{C65}{yt}{b}{it}{<-> CJKssub * yt/b/sl}{}
+
+\DeclareFontShape{C65}{yt}{bx}{n}{<-> CJKb * wytx}{\CJKbold}
+\DeclareFontShape{C65}{yt}{bx}{sl}{<-> CJKb * wytxo}{\CJKbold}
+\DeclareFontShape{C65}{yt}{bx}{it}{<-> CJKssub * yt/bx/sl}{}
+
+\DeclareFontShape{C65}{yt}{bux}{n}{<-> CJKb * wytu}{\CJKbold}
+\DeclareFontShape{C65}{yt}{bux}{sl}{<-> CJKb * wytuo}{\CJKbold}
+\DeclareFontShape{C65}{yt}{bux}{it}{<-> CJKssub * yt/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/pshan.sty b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/pshan.sty
new file mode 100644
index 0000000000..d35018bdd3
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/HLaTeX/pshan.sty
@@ -0,0 +1,29 @@
+% This is the file pshan.sty of the CJK package
+% for using HLaTeX's PostScript fonts.
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesPackage{pshan}[\filedate\space\fileversion]
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/KS.chr b/language/chinese/CJK/cjk-4.8.4/texinput/KS/KS.chr
new file mode 100644
index 0000000000..d739a2ce90
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/KS.chr
@@ -0,0 +1,251 @@
+% This is the file KS.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{KS.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling hangul fonts and characters.
+
+\gdef\CJK@KSChr{
+ \CJK@global\def\CJK@altchar##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \@tempcnta ##3\relax
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@altEnc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@altcharx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@altEnc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \@tempcnta ##3\relax
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% for punctuation.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##4}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \else
+ \discretionary{}{}{}
+ \fi
+ \fi
+
+ \@tempcnta ##4\relax
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+ \CJK@global\def\CJK@punctcharx##1##2##3##4##5{
+ {\ifnum ##5 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##5 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##5}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \else
+ \discretionary{}{}{}
+ \fi
+ \fi
+
+ \@tempcnta ##5\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcntb -##4\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##5 < \@temp
+ \edef\CJK@plane{##2}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##3}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/KS.enc b/language/chinese/CJK/cjk-4.8.4/texinput/KS/KS.enc
new file mode 100644
index 0000000000..831451ca67
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/KS.enc
@@ -0,0 +1,114 @@
+% This is the file KS.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{KS.enc}[\filedate\space\fileversion]
+
+
+% KS encoding:
+% each plane has 94 characters; Hangul elements (Jaso) and Hangul
+% syllables are overlaid with a second CJK font.
+
+\gdef\CJK@KSEncoding{
+ \CJK@loadChr{KS}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar{A1}{01}{-161}{##1}}
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@char {01}{ -67}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@punctcharx{A3}{01}{02}{27}{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@altchar {02}{-135}{##1}}% Hangul elements
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@char {02}{ -41}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@charx{02}{03}{53}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@char {03}{-109}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@char {03}{ -15}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@charx{03}{04}{79}{##1}}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@char {04}{ -83}{##1}}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@charx{04}{05}{11}{##1}}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@char {05}{-151}{##1}}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@char {05}{ -57}{##1}}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@charx{05}{06}{37}{##1}}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@char {06}{-125}{##1}}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@altchar {06}{ -31}{##1}}% Hangul syllables
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@altcharx{06}{07}{63}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@altchar {07}{ -99}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@altchar {07}{ -5}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@altcharx{07}{08}{89}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@altchar {08}{ -73}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@altcharx{08}{09}{21}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@altchar {09}{-141}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@altchar {09}{ -47}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@altcharx{09}{10}{47}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@altchar {10}{-115}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@altchar {10}{ -21}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@altcharx{10}{11}{73}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@altchar {11}{ -89}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@altcharx{11}{12}{ 5}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@altchar {12}{-157}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@altchar {12}{ -63}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@altcharx{12}{13}{31}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@altchar {13}{-131}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@altchar {13}{ -37}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@altcharx{13}{14}{57}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@altchar {14}{-105}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@altchar {14}{ -11}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@altcharx{14}{15}{83}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@altchar {15}{ -79}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@charx{15}{16}{15}{##1}}% Hanja
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char {16}{-147}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@char {16}{ -53}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@charx{16}{17}{41}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@char {17}{-121}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char {17}{ -27}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@charx{17}{18}{67}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char {18}{ -95}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char {18}{ -1}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{18}{19}{93}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char {19}{ -69}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@charx{19}{20}{25}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@char {20}{-137}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char {20}{ -43}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@charx{20}{21}{51}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@char {21}{-111}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char {21}{ -17}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@charx{21}{22}{77}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char {22}{ -85}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@charx{22}{23}{ 9}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@char {23}{-153}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char {23}{ -59}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@charx{23}{24}{35}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@char {24}{-127}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char {24}{ -33}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@charx{24}{25}{61}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@char {25}{-101}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char {25}{ -7}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{25}{26}{87}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char {26}{ -75}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@charx{26}{27}{19}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@char {27}{-143}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char {27}{ -49}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@charx{27}{28}{45}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@char {28}{-117}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char {28}{ -23}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{28}{29}{71}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char {29}{ -91}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@charx{29}{30}{ 3}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@char {30}{-159}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char {30}{ -65}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@charx{30}{31}{29}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@char {31}{-133}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char {31}{ -39}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@charx{31}{32}{55}{##1}}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@char {32}{-107}{##1}}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@char {32}{ -13}{##1}}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@charx{32}{33}{81}{##1}}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@char {33}{ -81}{##1}}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@charx{33}{34}{13}{##1}}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@char {34}{-149}{##1}}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@char {34}{ -55}{##1}}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@charx{34}{35}{39}{##1}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60dr.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60dr.fd
new file mode 100644
index 0000000000..15124ebce8
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60dr.fd
@@ -0,0 +1,22 @@
+% This is the file c60dr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c60dr.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{dr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{dr}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C60}{dr}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60gr.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60gr.fd
new file mode 100644
index 0000000000..bfda728dbc
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60gr.fd
@@ -0,0 +1,22 @@
+% This is the file c60gr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c60gr.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{gr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{gr}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C60}{gr}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60gs.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60gs.fd
new file mode 100644
index 0000000000..a462f4249f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60gs.fd
@@ -0,0 +1,22 @@
+% This is the file c60gs.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c60gs.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{gs}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{gs}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C60}{gs}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60gt.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60gt.fd
new file mode 100644
index 0000000000..d5136edce4
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60gt.fd
@@ -0,0 +1,22 @@
+% This is the file c60gt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c60gt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{gt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{gt}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C60}{gt}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60hgt.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60hgt.fd
new file mode 100644
index 0000000000..1a53923e1c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60hgt.fd
@@ -0,0 +1,22 @@
+% This is the file c60hgt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c60hgt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{hgt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{hgt}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C60}{hgt}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60hmj.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60hmj.fd
new file mode 100644
index 0000000000..9c6aed9d1a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60hmj.fd
@@ -0,0 +1,22 @@
+% This is the file c60hmj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c60hmj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{hmj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{hmj}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C60}{hmj}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60hol.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60hol.fd
new file mode 100644
index 0000000000..d1a049365a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60hol.fd
@@ -0,0 +1,22 @@
+% This is the file c60hol.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c60hol.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{hol}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{hol}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C60}{hol}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60hpg.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60hpg.fd
new file mode 100644
index 0000000000..754d3d067d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60hpg.fd
@@ -0,0 +1,22 @@
+% This is the file c60hpg.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c60hpg.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{hpg}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{hpg}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C60}{hpg}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60mj.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60mj.fd
new file mode 100644
index 0000000000..6cd20203b0
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c60mj.fd
@@ -0,0 +1,22 @@
+% This is the file c60mj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c60mj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{mj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{mj}{m}{n}{<-> CJK * ksso17}{\CJKnormal}
+\DeclareFontShape{C60}{mj}{bx}{n}{<-> CJKb * ksso17}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61dr.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61dr.fd
new file mode 100644
index 0000000000..a7ae4c0459
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61dr.fd
@@ -0,0 +1,27 @@
+% This is the file c61dr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c61dr.fd}[\filedate\space\fileversion]
+
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{dr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{dr}{m}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * kdr}{\CJKnormal}
+\DeclareFontShape{C61}{dr}{bx}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJKb * kdr}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61gr.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61gr.fd
new file mode 100644
index 0000000000..112f131286
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61gr.fd
@@ -0,0 +1,26 @@
+% This is the file c61gr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c61gr.fd}[\filedate\space\fileversion]
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{gr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{gr}{m}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * kgr}{\CJKnormal}
+\DeclareFontShape{C61}{gr}{bx}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJKb * kgr}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61gs.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61gs.fd
new file mode 100644
index 0000000000..d82d2db892
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61gs.fd
@@ -0,0 +1,26 @@
+% This is the file c61gs.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c61gs.fd}[\filedate\space\fileversion]
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{gs}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{gs}{m}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * kgs}{\CJKnormal}
+\DeclareFontShape{C61}{gs}{bx}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJKb * kgs}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61gt.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61gt.fd
new file mode 100644
index 0000000000..64ac747dba
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61gt.fd
@@ -0,0 +1,26 @@
+% This is the file c61gt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c61gt.fd}[\filedate\space\fileversion]
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{gt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{gt}{m}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * kgt}{\CJKnormal}
+\DeclareFontShape{C61}{gt}{bx}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJKb * kgt}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61hgt.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61hgt.fd
new file mode 100644
index 0000000000..0eedfc9f9a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61hgt.fd
@@ -0,0 +1,24 @@
+% This is the file c61hgt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c61hgt.fd}[\filedate\space\fileversion]
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{hgt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{hgt}{m}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * hgtm}{}
+\DeclareFontShape{C61}{hgt}{bx}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * hgtb}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61hmj.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61hmj.fd
new file mode 100644
index 0000000000..ac2e6661e7
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61hmj.fd
@@ -0,0 +1,24 @@
+% This is the file c61hmj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c61hmj.fd}[\filedate\space\fileversion]
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{hmj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{hmj}{m}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * hmjm}{}
+\DeclareFontShape{C61}{hmj}{bx}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * hmjb}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61hol.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61hol.fd
new file mode 100644
index 0000000000..847be5a285
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61hol.fd
@@ -0,0 +1,26 @@
+% This is the file c61hol.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c61hol.fd}[\filedate\space\fileversion]
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{hol}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{hol}{m}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * hol}{\CJKnormal}
+\DeclareFontShape{C61}{hol}{bx}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJKb * hol}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61hpg.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61hpg.fd
new file mode 100644
index 0000000000..46cf14ded5
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61hpg.fd
@@ -0,0 +1,24 @@
+% This is the file c61hpg.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c61hpg.fd}[\filedate\space\fileversion]
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{hpg}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{hpg}{m}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * hpgm}{}
+\DeclareFontShape{C61}{hpg}{bx}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * hpgb}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61mj.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61mj.fd
new file mode 100644
index 0000000000..46157440b6
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c61mj.fd
@@ -0,0 +1,24 @@
+% This is the file c61mj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c61mj.fd}[\filedate\space\fileversion]
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{mj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{mj}{m}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * kmj}{}
+\DeclareFontShape{C61}{mj}{bx}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * kmjb}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/c62song.fd b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c62song.fd
new file mode 100644
index 0000000000..197758069b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/c62song.fd
@@ -0,0 +1,22 @@
+% This is the file c62song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c62song.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: pmC
+
+\DeclareFontFamily{C62}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C62}{song}{m}{n}{<-> sCJKfixed * wcks}{\CJKnormal}
+\DeclareFontShape{C62}{song}{bx}{n}{<-> sCJKfixedb * wcks}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/hangul.cap b/language/chinese/CJK/cjk-4.8.4/texinput/KS/hangul.cap
new file mode 100644
index 0000000000..6bd740870c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/hangul.cap
@@ -0,0 +1,74 @@
+% This is the file hangul.cap of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{hangul.cap}[\filedate\space\fileversion]
+
+
+% Hangul captions
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC (=Wansung)
+
+\renewcommand\contentsname{}
+\renewcommand\listfigurename{׸~}
+\renewcommand\listtablename{ǥ~}
+\renewcommand\indexname{}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{~}}
+ {\renewcommand\bibname{~}}
+
+\renewcommand\figurename{׸}
+\renewcommand\tablename{ǥ}
+
+\newcommand\prepartname{}
+\newcommand\postpartname{}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{}
+% \newcommand\postchaptername{}
+% \newcommand\presectionname{}
+% \newcommand\postsectionname{}
+% \renewcommand\appendixname{η}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{}}{}
+
+% \renewcommand\ccname{纻}
+% \renewcommand\enclname{÷ι}% Ȥ
+% \renewcommand\pagename{~}
+% \renewcommand\headtoname{޴}
+% \renewcommand\seename{}
+
+\renewcommand{\today}{\number\year ~\number\month ~\number\day }
+
+\endinput
+
+%%% Local Variables:
+%%% coding: euc-korea
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/hangul.cpx b/language/chinese/CJK/cjk-4.8.4/texinput/KS/hangul.cpx
new file mode 100644
index 0000000000..35f4f13e2a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/hangul.cpx
@@ -0,0 +1,71 @@
+% This is the file hangul.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{hangul.cpx}[\filedate\space\fileversion]
+
+
+% Hangul captions
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC (=Wansung)
+%
+% preprocessed
+
+\renewcommand\contentsname{241247}
+\renewcommand\listfigurename{215178~241247}
+\renewcommand\listtablename{165~241247}
+\renewcommand\indexname{246206}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{252237~173251}}
+ {\renewcommand\bibname{252237~174229}}
+
+\renewcommand\figurename{215178}
+\renewcommand\tablename{165}
+
+\newcommand\prepartname{166}
+\newcommand\postpartname{206}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{166}
+% \newcommand\postchaptername{229}
+% \newcommand\presectionname{166}
+% \newcommand\postsectionname{253}
+% \renewcommand\appendixname{206207}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{228224}}{}
+
+% \renewcommand\ccname{231187}
+% \renewcommand\enclname{183206176}% Ȥ
+% \renewcommand\pagename{228204246~}
+% \renewcommand\headtoname{222194204}
+% \renewcommand\seename{252182}
+
+\renewcommand{\today}{%
+ \number\year 226~\number\month 249~\number\day 207}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/hangul2.cap b/language/chinese/CJK/cjk-4.8.4/texinput/KS/hangul2.cap
new file mode 100644
index 0000000000..2c9e398ff7
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/hangul2.cap
@@ -0,0 +1,74 @@
+% This is the file hangul2.cap of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{hangul2.cap}[\filedate\space\fileversion]
+
+
+% Hangul captions set 2
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC (=Wansung)
+
+\renewcommand\contentsname{}
+\renewcommand\listfigurename{׸~}
+\renewcommand\listtablename{ǥ~}
+\renewcommand\indexname{ãƺ}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{~}}
+ {\renewcommand\bibname{~}}
+
+\renewcommand\figurename{׸}
+\renewcommand\tablename{ǥ}
+
+\newcommand\prepartname{}
+\newcommand\postpartname{}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{}
+% \newcommand\postchaptername{}
+% \newcommand\presectionname{}
+% \newcommand\postsectionname{}
+% \renewcommand\appendixname{η}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{}}{}
+
+% \renewcommand\ccname{纻}
+% \renewcommand\enclname{÷ι}% Ȥ
+% \renewcommand\pagename{~}
+% \renewcommand\headtoname{޴}
+% \renewcommand\seename{}
+
+\renewcommand{\today}{\number\year ~\number\month ~\number\day }
+
+\endinput
+
+%%% Local Variables:
+%%% coding: euc-korea
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/hangul2.cpx b/language/chinese/CJK/cjk-4.8.4/texinput/KS/hangul2.cpx
new file mode 100644
index 0000000000..37d43dc39c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/hangul2.cpx
@@ -0,0 +1,71 @@
+% This is the file hangul2.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{hangul2.cpx}[\filedate\space\fileversion]
+
+
+% Hangul captions set 2
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC (=Wansung)
+%
+% preprocessed
+
+\renewcommand\contentsname{247202}
+\renewcommand\listfigurename{215178~247202}
+\renewcommand\listtablename{165~247202}
+\renewcommand\indexname{163198184226}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{252237~173251}}
+ {\renewcommand\bibname{252237~174229}}
+
+\renewcommand\figurename{215178}
+\renewcommand\tablename{165}
+
+\newcommand\prepartname{166}
+\newcommand\postpartname{206}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{166}
+% \newcommand\postchaptername{229}
+% \newcommand\presectionname{166}
+% \newcommand\postsectionname{253}
+% \renewcommand\appendixname{206207}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{228224}}{}
+
+% \renewcommand\ccname{231187}
+% \renewcommand\enclname{183206176}% Ȥ
+% \renewcommand\pagename{228204246~}
+% \renewcommand\headtoname{222194204}
+% \renewcommand\seename{252182}
+
+\renewcommand{\today}{%
+ \number\year 226~\number\month 249~\number\day 207}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/hanja.cap b/language/chinese/CJK/cjk-4.8.4/texinput/KS/hanja.cap
new file mode 100644
index 0000000000..2b000073ee
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/hanja.cap
@@ -0,0 +1,74 @@
+% This is the file hanja.cap of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <a7971428@unet.univie.ac.at>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{hanja.cap}[\filedate\space\fileversion]
+
+
+% Hanja captions
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC (=Wansung)
+
+\renewcommand\contentsname{}
+\renewcommand\listfigurename{׸~}
+\renewcommand\listtablename{~}
+\renewcommand\indexname{}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{~}}
+ {\renewcommand\bibname{~}}
+
+\renewcommand\figurename{׸}
+\renewcommand\tablename{}
+
+\newcommand\prepartname{}
+\newcommand\postpartname{}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{}
+% \newcommand\postchaptername{}
+% \newcommand\presectionname{}
+% \newcommand\postsectionname{}
+% \newcommand\appendixname{ݾ}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{~}}{}
+
+% \renewcommand\ccname{}
+% \renewcommand\enclname{ݾڪ}% Ȥ
+% \renewcommand\pagename{}
+% \renewcommand\headtoname{}
+% \renewcommand\seename{}
+
+\renewcommand{\today}{\number\year Ҵ~\number\month ~\number\day }
+
+\endinput
+
+%%% Local Variables:
+%%% coding: euc-korea
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/KS/hanja.cpx b/language/chinese/CJK/cjk-4.8.4/texinput/KS/hanja.cpx
new file mode 100644
index 0000000000..b2e48ea932
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/KS/hanja.cpx
@@ -0,0 +1,71 @@
+% This is the file hanja.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{hanja.cpx}[\filedate\space\fileversion]
+
+
+% Hanja captions
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC (=Wansung)
+%
+% preprocessed
+
+\renewcommand\contentsname{205173}
+\renewcommand\listfigurename{215178~205173}
+\renewcommand\listtablename{250~205173}
+\renewcommand\indexname{227218}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{209197~246223}}
+ {\renewcommand\bibname{209197~254204}}
+
+\renewcommand\figurename{215178}
+\renewcommand\tablename{250}
+
+\newcommand\prepartname{175}
+\newcommand\postpartname{185}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{175}
+% \newcommand\postchaptername{241}
+% \newcommand\presectionname{175}
+% \newcommand\postsectionname{189}
+% \newcommand\appendixname{190226}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{169~179}}{}
+
+% \renewcommand\ccname{208226}
+% \renewcommand\enclname{213190170}% Ȥ
+% \renewcommand\pagename{228204246}
+% \renewcommand\headtoname{244225209}
+% \renewcommand\seename{209206}
+
+\renewcommand{\today}{%
+ \number\year 180~\number\month 197~\number\day 237}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJIS.bdg b/language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJIS.bdg
new file mode 100644
index 0000000000..7dd2a6a0f1
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJIS.bdg
@@ -0,0 +1,162 @@
+% This is the file SJIS.bdg of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{SJIS.bdg}[\filedate\space\fileversion]
+
+
+% The bindings for SJIS encoding.
+
+\gdef\CJK@SJISBinding{
+% 80
+ \CJK@nameppdef{^^81}
+ \CJK@nameppdef{^^82}
+ \CJK@nameppdef{^^83}
+ \CJK@nameppdef{^^84}
+ \CJK@nameppdef{^^85}
+ \CJK@nameppdef{^^86}
+ \CJK@nameppdef{^^87}
+ \CJK@nameppdef{^^88}
+ \CJK@nameppdef{^^89}
+ \CJK@nameppdef{^^8a}
+ \CJK@nameppdef{^^8b}
+ \CJK@nameppdef{^^8c}
+ \CJK@nameppdef{^^8d}
+ \CJK@nameppdef{^^8e}
+ \CJK@nameppdef{^^8f}
+ \CJK@nameppdef{^^90}
+ \CJK@nameppdef{^^91}
+ \CJK@nameppdef{^^92}
+ \CJK@nameppdef{^^93}
+ \CJK@nameppdef{^^94}
+ \CJK@nameppdef{^^95}
+ \CJK@nameppdef{^^96}
+ \CJK@nameppdef{^^97}
+ \CJK@nameppdef{^^98}
+ \CJK@nameppdef{^^99}
+ \CJK@nameppdef{^^9a}
+ \CJK@nameppdef{^^9b}
+ \CJK@nameppdef{^^9c}
+ \CJK@nameppdef{^^9d}
+ \CJK@nameppdef{^^9e}
+ \CJK@nameppdef{^^9f}
+% A0
+ \CJK@namepdef{^^a1}
+ \CJK@namepdef{^^a2}
+ \CJK@namepdef{^^a3}
+ \CJK@namepdef{^^a4}
+ \CJK@namepdef{^^a5}
+ \CJK@namepdef{^^a6}
+ \CJK@namepdef{^^a7}
+ \CJK@namepdef{^^a8}
+ \CJK@namepdef{^^a9}
+ \CJK@namepdef{^^aa}
+ \CJK@namepdef{^^ab}
+ \CJK@namepdef{^^ac}
+ \CJK@namepdef{^^ad}
+ \CJK@namepdef{^^ae}
+ \CJK@namepdef{^^af}
+ \CJK@namepdef{^^b0}
+ \CJK@namepdef{^^b1}
+ \CJK@namepdef{^^b2}
+ \CJK@namepdef{^^b3}
+ \CJK@namepdef{^^b4}
+ \CJK@namepdef{^^b5}
+ \CJK@namepdef{^^b6}
+ \CJK@namepdef{^^b7}
+ \CJK@namepdef{^^b8}
+ \CJK@namepdef{^^b9}
+ \CJK@namepdef{^^ba}
+ \CJK@namepdef{^^bb}
+ \CJK@namepdef{^^bc}
+ \CJK@namepdef{^^bd}
+ \CJK@namepdef{^^be}
+ \CJK@namepdef{^^bf}
+ \CJK@namepdef{^^c0}
+ \CJK@namepdef{^^c1}
+ \CJK@namepdef{^^c2}
+ \CJK@namepdef{^^c3}
+ \CJK@namepdef{^^c4}
+ \CJK@namepdef{^^c5}
+ \CJK@namepdef{^^c6}
+ \CJK@namepdef{^^c7}
+ \CJK@namepdef{^^c8}
+ \CJK@namepdef{^^c9}
+ \CJK@namepdef{^^ca}
+ \CJK@namepdef{^^cb}
+ \CJK@namepdef{^^cc}
+ \CJK@namepdef{^^cd}
+ \CJK@namepdef{^^ce}
+ \CJK@namepdef{^^cf}
+ \CJK@namepdef{^^d0}
+ \CJK@namepdef{^^d1}
+ \CJK@namepdef{^^d2}
+ \CJK@namepdef{^^d3}
+ \CJK@namepdef{^^d4}
+ \CJK@namepdef{^^d5}
+ \CJK@namepdef{^^d6}
+ \CJK@namepdef{^^d7}
+ \CJK@namepdef{^^d8}
+ \CJK@namepdef{^^d9}
+ \CJK@namepdef{^^da}
+ \CJK@namepdef{^^db}
+ \CJK@namepdef{^^dc}
+ \CJK@namepdef{^^dd}
+ \CJK@namepdef{^^de}
+ \CJK@namepdef{^^df}
+
+ \CJK@nameppdef{^^e0}
+ \CJK@nameppdef{^^e1}
+ \CJK@nameppdef{^^e2}
+ \CJK@nameppdef{^^e3}
+ \CJK@nameppdef{^^e4}
+ \CJK@nameppdef{^^e5}
+ \CJK@nameppdef{^^e6}
+ \CJK@nameppdef{^^e7}
+ \CJK@nameppdef{^^e8}
+ \CJK@nameppdef{^^e9}
+ \CJK@nameppdef{^^ea}
+ \CJK@nameppdef{^^eb}
+ \CJK@nameppdef{^^ec}
+ \CJK@nameppdef{^^ed}
+ \CJK@nameppdef{^^ee}
+ \CJK@nameppdef{^^ef}
+ \CJK@nameppdef{^^f0}
+ \CJK@nameppdef{^^f1}
+ \CJK@nameppdef{^^f2}
+ \CJK@nameppdef{^^f3}
+ \CJK@nameppdef{^^f4}
+ \CJK@nameppdef{^^f5}
+ \CJK@nameppdef{^^f6}
+ \CJK@nameppdef{^^f7}
+ \CJK@nameppdef{^^f8}
+ \CJK@nameppdef{^^f9}
+ \CJK@nameppdef{^^fa}
+ \CJK@nameppdef{^^fb}
+ \CJK@nameppdef{^^fc}
+ \CJK@nameppdef{^^fd}
+ \CJK@nameppdef{^^fe}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJIS.cap b/language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJIS.cap
new file mode 100644
index 0000000000..4390494383
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJIS.cap
@@ -0,0 +1,84 @@
+% This is the file SJIS.cap of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{SJIS.cap}[\filedate\space\fileversion]
+
+
+% Japanese captions
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% encoding: SJIS
+
+\newif\ifheisei
+\let\ifheisei=\iffalse
+\def\heisei{\let\ifheisei=\iftrue}
+
+\renewcommand\contentsname{ڎ}
+
+\renewcommand\listfigurename{\CJKchar{"090}{"07D}ڎ}
+% \renewcommand\listfigurename{\CJKchar{"090}{"07D}ꗗ}
+
+\renewcommand\listtablename{\CJKchar{"095}{"05C}ڎ}
+% \renewcommand\listtablename{\CJKchar{"095}{"05C}ꗗ}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{Ql}
+ }
+ {\renewcommand\bibname{֘A}
+% \renewcommand\bibname{Ql}
+ }
+
+\renewcommand\indexname{}
+
+\renewcommand\figurename{\CJKchar{"090}{"07D}}
+\renewcommand\tablename{\CJKchar{"095}{"05C}}
+
+\newcommand\prepartname{}
+\newcommand\postpartname{}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+% \renewcommand{\appendixname}{^}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{v|}}{}
+
+\renewcommand\today{{\ifheisei\count0=\year\else\count0=\year
+ \advance\count0 -1988 \,\fi
+ \ifnum\count0=1 \else\number\count0\fi
+ \,N\hspace{.5em}\nobreak\number\month
+ \,\hspace{.5em}\nobreak\number\day\,}}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{\ifcase #1\or
+ \or \or O\or l\or \or
+ Z\or \or \or \or\CJKchar{"08F}{"05C}\fi}}{}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: sjis
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJIS.chr b/language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJIS.chr
new file mode 100644
index 0000000000..d5243145c3
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJIS.chr
@@ -0,0 +1,260 @@
+% This is the file SJIS.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{SJIS.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling SJIS encoded CJK fonts and characters.
+
+% two byte encoded characters.
+
+\gdef\CJK@SJISChr{
+ \CJK@global\chardef\CJK@gap "07F\relax
+
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##3\relax
+ \ifnum ##3 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \fi
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \ifnum ##4 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \advance\@tempcntb \@ne
+ \fi
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% for punctuation.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##4}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{SJIS}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \ifnum ##4 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \fi
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{SJIS}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+ \CJK@global\def\CJK@punctcharx##1##2##3##4##5{
+ {\ifnum ##5 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##5 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##5}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{SJIS}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##5\relax
+ \@tempcntb 256\relax
+ \ifnum ##5 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \advance\@tempcntb \@ne
+ \fi
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcntb -##4\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##5 < \@temp
+ \edef\CJK@plane{##2}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##3}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{SJIS}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+
+% one byte encoded characters.
+
+ \CJK@global\def\CJK@sjischar##1##2##3{
+ \ifCJK@hwkatakana@
+ {\CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@altenc}{}{##1}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \edef\CJK@plane{}
+ \usefont{\CJK@altenc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number "0##1/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{"0##1}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@altenc}{}{##1}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi}
+ \else
+ \csname CJK@##2\endcsname{"0##3}
+ \fi}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJIS.cpx b/language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJIS.cpx
new file mode 100644
index 0000000000..d29ad72762
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJIS.cpx
@@ -0,0 +1,81 @@
+% This is the file SJIS.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{SJIS.cpx}[\filedate\space\fileversion]
+
+
+% Japanese captions
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% encoding: SJIS
+%
+% preprocessed
+
+\newif\ifheisei
+\let\ifheisei=\iffalse
+\def\heisei{\let\ifheisei=\iftrue}
+
+\renewcommand\contentsname{218159}
+
+\renewcommand\listfigurename{125218159}
+% \renewcommand\listfigurename{125234151}
+
+\renewcommand\listtablename{92218159}
+% \renewcommand\listtablename{92234151}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{81108182163}
+ }
+ {\renewcommand\bibname{21465145208}
+% \renewcommand\bibname{81108182163}
+ }
+
+\renewcommand\indexname{245248}
+
+\renewcommand\figurename{125}
+\renewcommand\tablename{92}
+
+\newcommand\prepartname{230}
+\newcommand\postpartname{148}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+% \renewcommand{\appendixname}{14194}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{118124}}{}
+
+\renewcommand\today{{\ifheisei\count0=\year\else\count0=\year
+ \advance\count0 -1988 189172\,\fi
+ \ifnum\count0=1 179\else\number\count0\fi
+ \,78\hspace{.5em}\nobreak\number\month
+ \,142\hspace{.5em}\nobreak\number\day\,250}}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{%
+ \ifcase #1\or
+ 234\or 241\or 79\or 108\or 220\or
+ 90\or 181\or 170\or 227\or 92\fi}}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJIS.enc b/language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJIS.enc
new file mode 100644
index 0000000000..ba61a6a1cf
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJIS.enc
@@ -0,0 +1,199 @@
+% This is the file SJIS.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{SJIS.enc}[\filedate\space\fileversion]
+
+
+% SJIS encoding (JIS X 0208:1997):
+% it uses a one byte encoding (for half-width Katakana) from 0xA1 to
+% 0xDF, and a two byte encoding for the remaining coding space (kanji,
+% kana, and symbols).
+% The first byte of the two byte encoding is in the ranges 0x81-0x9F and
+% 0xE0-0xEF; the second byte is in the range 0x40 - 0xFC with a gap at
+% 0x7F.
+
+\global\@namedef{CJK@SJISEncoding}{
+ \CJK@loadChr{SJIS}
+
+ \CJK@namegdef{^^81}##1{\CJK@disableMakeUppercase
+ \CJK@punctchar {81}{01}{-64}{##1}}
+ \CJK@namegdef{^^82}##1{\CJK@disableMakeUppercase
+ \CJK@punctcharx{82}{01}{02}{124}{##1}}
+ \CJK@namegdef{^^83}##1{\CJK@disableMakeUppercase
+ \CJK@punctcharx{83}{02}{03}{ 56}{##1}}
+ \CJK@namegdef{^^84}##1{\CJK@disableMakeUppercase
+ \CJK@char {03}{-12}{##1}}
+ \CJK@namegdef{^^85}##1{\CJK@disableMakeUppercase
+ \CJK@charx{03}{04}{176}{##1}}
+ \CJK@namegdef{^^86}##1{\CJK@disableMakeUppercase
+ \CJK@charx{04}{05}{108}{##1}}
+ \CJK@namegdef{^^87}##1{\CJK@disableMakeUppercase
+ \CJK@charx{05}{06}{ 40}{##1}}
+ \CJK@namegdef{^^88}##1{\CJK@disableMakeUppercase
+ \CJK@char {06}{-28}{##1}}
+ \CJK@namegdef{^^89}##1{\CJK@disableMakeUppercase
+ \CJK@charx{06}{07}{160}{##1}}
+ \CJK@namegdef{^^8a}##1{\CJK@disableMakeUppercase
+ \CJK@charx{07}{08}{ 92}{##1}}
+ \CJK@namegdef{^^8b}##1{\CJK@disableMakeUppercase
+ \CJK@charx{08}{09}{ 24}{##1}}
+ \CJK@namegdef{^^8c}##1{\CJK@disableMakeUppercase
+ \CJK@char {09}{-44}{##1}}
+ \CJK@namegdef{^^8d}##1{\CJK@disableMakeUppercase
+ \CJK@charx{09}{10}{144}{##1}}
+ \CJK@namegdef{^^8e}##1{\CJK@disableMakeUppercase
+ \CJK@charx{10}{11}{ 76}{##1}}
+ \CJK@namegdef{^^8f}##1{\CJK@disableMakeUppercase
+ \CJK@charx{11}{12}{ 8}{##1}}
+ \CJK@namegdef{^^90}##1{\CJK@disableMakeUppercase
+ \CJK@char {12}{-60}{##1}}
+ \CJK@namegdef{^^91}##1{\CJK@disableMakeUppercase
+ \CJK@charx{12}{13}{128}{##1}}
+ \CJK@namegdef{^^92}##1{\CJK@disableMakeUppercase
+ \CJK@charx{13}{14}{ 60}{##1}}
+ \CJK@namegdef{^^93}##1{\CJK@disableMakeUppercase
+ \CJK@char {14}{ -8}{##1}}
+ \CJK@namegdef{^^94}##1{\CJK@disableMakeUppercase
+ \CJK@charx{14}{15}{180}{##1}}
+ \CJK@namegdef{^^95}##1{\CJK@disableMakeUppercase
+ \CJK@charx{15}{16}{112}{##1}}
+ \CJK@namegdef{^^96}##1{\CJK@disableMakeUppercase
+ \CJK@charx{16}{17}{ 44}{##1}}
+ \CJK@namegdef{^^97}##1{\CJK@disableMakeUppercase
+ \CJK@char {17}{-24}{##1}}
+ \CJK@namegdef{^^98}##1{\CJK@disableMakeUppercase
+ \CJK@charx{17}{18}{164}{##1}}
+ \CJK@namegdef{^^99}##1{\CJK@disableMakeUppercase
+ \CJK@charx{18}{19}{ 96}{##1}}
+ \CJK@namegdef{^^9a}##1{\CJK@disableMakeUppercase
+ \CJK@charx{19}{20}{ 28}{##1}}
+ \CJK@namegdef{^^9b}##1{\CJK@disableMakeUppercase
+ \CJK@char {20}{-40}{##1}}
+ \CJK@namegdef{^^9c}##1{\CJK@disableMakeUppercase
+ \CJK@charx{20}{21}{148}{##1}}
+ \CJK@namegdef{^^9d}##1{\CJK@disableMakeUppercase
+ \CJK@charx{21}{22}{ 80}{##1}}
+ \CJK@namegdef{^^9e}##1{\CJK@disableMakeUppercase
+ \CJK@charx{22}{23}{ 12}{##1}}
+ \CJK@namegdef{^^9f}##1{\CJK@disableMakeUppercase
+ \CJK@char {23}{-56}{##1}}
+ \CJK@namegdef{^^a1}{\@empty\CJK@sjischar{A1}{129}{42}}
+ \CJK@namegdef{^^a2}{\@empty\CJK@sjischar{A2}{129}{75}}
+ \CJK@namegdef{^^a3}{\@empty\CJK@sjischar{A3}{129}{76}}
+ \CJK@namegdef{^^a4}{\@empty\CJK@sjischar{A4}{129}{41}}
+ \CJK@namegdef{^^a5}{\@empty\CJK@sjischar{A5}{129}{45}}
+ \CJK@namegdef{^^a6}{\@empty\CJK@sjischar{A6}{131}{92}}
+ \CJK@namegdef{^^a7}{\@empty\CJK@sjischar{A7}{131}{40}}
+ \CJK@namegdef{^^a8}{\@empty\CJK@sjischar{A8}{131}{42}}
+ \CJK@namegdef{^^a9}{\@empty\CJK@sjischar{A9}{131}{44}}
+ \CJK@namegdef{^^aa}{\@empty\CJK@sjischar{AA}{131}{46}}
+ \CJK@namegdef{^^ab}{\@empty\CJK@sjischar{AB}{131}{48}}
+ \CJK@namegdef{^^ac}{\@empty\CJK@sjischar{AC}{131}{83}}
+ \CJK@namegdef{^^ad}{\@empty\CJK@sjischar{AD}{131}{85}}
+ \CJK@namegdef{^^ae}{\@empty\CJK@sjischar{AE}{131}{87}}
+ \CJK@namegdef{^^af}{\@empty\CJK@sjischar{AF}{131}{62}}
+ \CJK@namegdef{^^b0}{\@empty\CJK@sjischar{B0}{129}{5B}}
+ \CJK@namegdef{^^b1}{\@empty\CJK@sjischar{B1}{131}{41}}
+ \CJK@namegdef{^^b2}{\@empty\CJK@sjischar{B2}{131}{43}}
+ \CJK@namegdef{^^b3}{\@empty\CJK@sjischar{B3}{131}{45}}
+ \CJK@namegdef{^^b4}{\@empty\CJK@sjischar{B4}{131}{47}}
+ \CJK@namegdef{^^b5}{\@empty\CJK@sjischar{B5}{131}{49}}
+ \CJK@namegdef{^^b6}{\@empty\CJK@sjischar{B6}{131}{4A}}
+ \CJK@namegdef{^^b7}{\@empty\CJK@sjischar{B7}{131}{4C}}
+ \CJK@namegdef{^^b8}{\@empty\CJK@sjischar{B8}{131}{4E}}
+ \CJK@namegdef{^^b9}{\@empty\CJK@sjischar{B9}{131}{50}}
+ \CJK@namegdef{^^ba}{\@empty\CJK@sjischar{BA}{131}{52}}
+ \CJK@namegdef{^^bb}{\@empty\CJK@sjischar{BB}{131}{54}}
+ \CJK@namegdef{^^bc}{\@empty\CJK@sjischar{BC}{131}{56}}
+ \CJK@namegdef{^^bd}{\@empty\CJK@sjischar{BD}{131}{58}}
+ \CJK@namegdef{^^be}{\@empty\CJK@sjischar{BE}{131}{5A}}
+ \CJK@namegdef{^^bf}{\@empty\CJK@sjischar{BF}{131}{5C}}
+ \CJK@namegdef{^^c0}{\@empty\CJK@sjischar{C0}{131}{5E}}
+ \CJK@namegdef{^^c1}{\@empty\CJK@sjischar{C1}{131}{60}}
+ \CJK@namegdef{^^c2}{\@empty\CJK@sjischar{C2}{131}{63}}
+ \CJK@namegdef{^^c3}{\@empty\CJK@sjischar{C3}{131}{65}}
+ \CJK@namegdef{^^c4}{\@empty\CJK@sjischar{C4}{131}{67}}
+ \CJK@namegdef{^^c5}{\@empty\CJK@sjischar{C5}{131}{69}}
+ \CJK@namegdef{^^c6}{\@empty\CJK@sjischar{C6}{131}{6A}}
+ \CJK@namegdef{^^c7}{\@empty\CJK@sjischar{C7}{131}{6B}}
+ \CJK@namegdef{^^c8}{\@empty\CJK@sjischar{C8}{131}{6C}}
+ \CJK@namegdef{^^c9}{\@empty\CJK@sjischar{C9}{131}{6D}}
+ \CJK@namegdef{^^ca}{\@empty\CJK@sjischar{CA}{131}{6E}}
+ \CJK@namegdef{^^cb}{\@empty\CJK@sjischar{CB}{131}{71}}
+ \CJK@namegdef{^^cc}{\@empty\CJK@sjischar{CC}{131}{74}}
+ \CJK@namegdef{^^cd}{\@empty\CJK@sjischar{CD}{131}{77}}
+ \CJK@namegdef{^^ce}{\@empty\CJK@sjischar{CE}{131}{7A}}
+ \CJK@namegdef{^^cf}{\@empty\CJK@sjischar{CF}{131}{7D}}
+ \CJK@namegdef{^^d0}{\@empty\CJK@sjischar{D0}{131}{7E}}
+ \CJK@namegdef{^^d1}{\@empty\CJK@sjischar{D1}{131}{80}}
+ \CJK@namegdef{^^d2}{\@empty\CJK@sjischar{D2}{131}{81}}
+ \CJK@namegdef{^^d3}{\@empty\CJK@sjischar{D3}{131}{82}}
+ \CJK@namegdef{^^d4}{\@empty\CJK@sjischar{D4}{131}{84}}
+ \CJK@namegdef{^^d5}{\@empty\CJK@sjischar{D5}{131}{86}}
+ \CJK@namegdef{^^d6}{\@empty\CJK@sjischar{D6}{131}{88}}
+ \CJK@namegdef{^^d7}{\@empty\CJK@sjischar{D7}{131}{89}}
+ \CJK@namegdef{^^d8}{\@empty\CJK@sjischar{D8}{131}{8A}}
+ \CJK@namegdef{^^d9}{\@empty\CJK@sjischar{D9}{131}{8B}}
+ \CJK@namegdef{^^da}{\@empty\CJK@sjischar{DA}{131}{8C}}
+ \CJK@namegdef{^^db}{\@empty\CJK@sjischar{DB}{131}{8D}}
+ \CJK@namegdef{^^dc}{\@empty\CJK@sjischar{DC}{131}{8F}}
+ \CJK@namegdef{^^dd}{\@empty\CJK@sjischar{DD}{131}{93}}
+ \CJK@namegdef{^^de}{\@empty\CJK@sjischar{DE}{129}{4A}}
+ \CJK@namegdef{^^df}{\@empty\CJK@sjischar{DF}{129}{4B}}
+ \CJK@namegdef{^^e0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{23}{24}{132}{##1}}
+ \CJK@namegdef{^^e1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{24}{25}{ 64}{##1}}
+ \CJK@namegdef{^^e2}##1{\CJK@disableMakeUppercase
+ \CJK@char {25}{ -4}{##1}}
+ \CJK@namegdef{^^e3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{25}{26}{184}{##1}}
+ \CJK@namegdef{^^e4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{26}{27}{116}{##1}}
+ \CJK@namegdef{^^e5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{27}{28}{ 48}{##1}}
+ \CJK@namegdef{^^e6}##1{\CJK@disableMakeUppercase
+ \CJK@char {28}{-20}{##1}}
+ \CJK@namegdef{^^e7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{28}{29}{168}{##1}}
+ \CJK@namegdef{^^e8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{29}{30}{100}{##1}}
+ \CJK@namegdef{^^e9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{30}{31}{ 32}{##1}}
+ \CJK@namegdef{^^ea}##1{\CJK@disableMakeUppercase
+ \CJK@char {31}{-36}{##1}}
+ \CJK@namegdef{^^eb}##1{\CJK@disableMakeUppercase
+ \CJK@charx{31}{32}{152}{##1}}
+ \CJK@namegdef{^^ec}##1{\CJK@disableMakeUppercase
+ \CJK@charx{32}{33}{ 84}{##1}}
+ \CJK@namegdef{^^ed}##1{\CJK@disableMakeUppercase
+ \CJK@charx{33}{34}{ 16}{##1}}
+ \CJK@namegdef{^^ee}##1{\CJK@disableMakeUppercase
+ \CJK@char {34}{-52}{##1}}
+ \CJK@namegdef{^^ef}##1{\CJK@disableMakeUppercase
+ \CJK@charx{34}{35}{136}{##1}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJISdnp.chr b/language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJISdnp.chr
new file mode 100644
index 0000000000..05e880f6cd
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJISdnp.chr
@@ -0,0 +1,253 @@
+% This is the file SJISdnp.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{SJISdnp.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling SJIS encoded DNP fonts and characters.
+
+% two byte encoded characters.
+
+\gdef\CJK@SJISdnpChr{
+ \CJK@global\chardef\CJK@gap "07F\relax
+
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##3\relax
+ \ifnum ##3 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \fi
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \ifnum ##4 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \advance\@tempcntb \@ne
+ \fi
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% to access two subfonts within one first byte value
+
+ \CJK@global\def\CJK@sjischarx##1##2##3##4##5{
+ {\ifnum ##5 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##5 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##5\relax
+ \ifnum ##5 < "09F\relax
+ \ifnum ##5 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \fi
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta ##4\relax
+ \edef\CJK@plane{##3}
+ \fi
+
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same for punctuation.
+
+ \CJK@global\def\CJK@sjispunctcharx##1##2##3##4##5##6{
+ {\ifnum ##6 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##6 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##6}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{SJIS}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##6\relax
+ \ifnum ##6 < "09F\relax
+ \ifnum ##6 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \fi
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \else
+ \advance\@tempcnta ##5\relax
+ \edef\CJK@plane{##4}
+ \fi
+
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{SJIS}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+% one byte encoded characters.
+
+ \CJK@global\def\CJK@sjischar##1##2##3{
+ \ifCJK@hwkatakana@
+ {\CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@altenc}{}{##1}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \def\CJK@plane{}
+ \usefont{\CJK@altenc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number "0##1/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{"0##1}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@altenc}{}{##1}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi}
+ \else
+ \csname CJK@##2\endcsname{"0##3}
+ \fi}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJISdnp.enc b/language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJISdnp.enc
new file mode 100644
index 0000000000..eb8381fa1b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/SJIS/SJISdnp.enc
@@ -0,0 +1,192 @@
+% This is the file SJISdnp.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{SJISdnp.enc}[\filedate\space\fileversion]
+
+
+% SJIS encoding (JIS X 0208:1997) for DNP fonts:
+% it uses a one byte encoding (for half-width Katakana) from 0xA1 to
+% 0xDF, and a two byte encoding for the remaining coding space (kanji,
+% kana, and symbols).
+% The first byte of the two byte encoding is in the ranges 0x81-0x9F and
+% 0xE0-0xEF; the second byte is in the range 0x40 - 0xFC with a gap at
+% 0x7F.
+
+\global\@namedef{CJK@SJISdnpEncoding}{
+ \CJK@loadChr{SJISdnp}
+
+ \CJK@namegdef{^^81}##1{\CJK@disableMakeUppercase
+ \CJK@sjispunctcharx{81}{sy}{-63}{sy}{-58}{##1}}
+ \CJK@namegdef{^^82}##1{\CJK@disableMakeUppercase
+ \CJK@sjispunctcharx{82}{roma}{-31}{hira}{-158}{##1}}
+ \CJK@namegdef{^^83}##1{\CJK@disableMakeUppercase
+ \CJK@sjispunctcharx{83}{kata}{-63}{greek}{-158}{##1}}
+ \CJK@namegdef{^^84}##1{\CJK@disableMakeUppercase
+ \CJK@sjischarx{russian}{-63}{keisen}{-158}{##1}}
+ \CJK@namegdef{^^85}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^86}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^87}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^88}##1{\CJK@disableMakeUppercase
+ \CJK@sjischarx{}{0}{ka}{-159}{##1}}
+ \CJK@namegdef{^^89}##1{\CJK@disableMakeUppercase
+ \CJK@charx{ka}{kb}{30}{##1}}
+ \CJK@namegdef{^^8a}##1{\CJK@disableMakeUppercase
+ \CJK@char {kb}{-38}{##1}}
+ \CJK@namegdef{^^8b}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kb}{kc}{150}{##1}}
+ \CJK@namegdef{^^8c}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kc}{kd}{ 82}{##1}}
+ \CJK@namegdef{^^8d}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kd}{ke}{ 14}{##1}}
+ \CJK@namegdef{^^8e}##1{\CJK@disableMakeUppercase
+ \CJK@char {ke}{-54}{##1}}
+ \CJK@namegdef{^^8f}##1{\CJK@disableMakeUppercase
+ \CJK@charx{ke}{kf}{134}{##1}}
+ \CJK@namegdef{^^90}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kf}{kg}{ 66}{##1}}
+ \CJK@namegdef{^^91}##1{\CJK@disableMakeUppercase
+ \CJK@char {kg}{ -2}{##1}}
+ \CJK@namegdef{^^92}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kg}{kh}{186}{##1}}
+ \CJK@namegdef{^^93}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kh}{ki}{118}{##1}}
+ \CJK@namegdef{^^94}##1{\CJK@disableMakeUppercase
+ \CJK@charx{ki}{kj}{ 50}{##1}}
+ \CJK@namegdef{^^95}##1{\CJK@disableMakeUppercase
+ \CJK@char {kj}{-18}{##1}}
+ \CJK@namegdef{^^96}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kj}{kk}{170}{##1}}
+ \CJK@namegdef{^^97}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kk}{kl}{102}{##1}}
+ \CJK@namegdef{^^98}##1{\CJK@disableMakeUppercase
+ \CJK@sjischarx{kl}{34}{km}{-159}{##1}}
+ \CJK@namegdef{^^99}##1{\CJK@disableMakeUppercase
+ \CJK@charx{km}{kn}{30}{##1}}
+ \CJK@namegdef{^^9a}##1{\CJK@disableMakeUppercase
+ \CJK@char {kn}{-38}{##1}}
+ \CJK@namegdef{^^9b}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kn}{ko}{150}{##1}}
+ \CJK@namegdef{^^9c}##1{\CJK@disableMakeUppercase
+ \CJK@charx{ko}{kp}{ 82}{##1}}
+ \CJK@namegdef{^^9d}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kp}{kq}{ 14}{##1}}
+ \CJK@namegdef{^^9e}##1{\CJK@disableMakeUppercase
+ \CJK@char {kq}{-54}{##1}}
+ \CJK@namegdef{^^9f}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kq}{kr}{134}{##1}}
+ \CJK@namegdef{^^a1}{\@empty\CJK@sjischar{A1}{129}{42}}
+ \CJK@namegdef{^^a2}{\@empty\CJK@sjischar{A2}{129}{75}}
+ \CJK@namegdef{^^a3}{\@empty\CJK@sjischar{A3}{129}{76}}
+ \CJK@namegdef{^^a4}{\@empty\CJK@sjischar{A4}{129}{41}}
+ \CJK@namegdef{^^a5}{\@empty\CJK@sjischar{A5}{129}{45}}
+ \CJK@namegdef{^^a6}{\@empty\CJK@sjischar{A6}{131}{92}}
+ \CJK@namegdef{^^a7}{\@empty\CJK@sjischar{A7}{131}{40}}
+ \CJK@namegdef{^^a8}{\@empty\CJK@sjischar{A8}{131}{42}}
+ \CJK@namegdef{^^a9}{\@empty\CJK@sjischar{A9}{131}{44}}
+ \CJK@namegdef{^^aa}{\@empty\CJK@sjischar{AA}{131}{46}}
+ \CJK@namegdef{^^ab}{\@empty\CJK@sjischar{AB}{131}{48}}
+ \CJK@namegdef{^^ac}{\@empty\CJK@sjischar{AC}{131}{83}}
+ \CJK@namegdef{^^ad}{\@empty\CJK@sjischar{AD}{131}{85}}
+ \CJK@namegdef{^^ae}{\@empty\CJK@sjischar{AE}{131}{87}}
+ \CJK@namegdef{^^af}{\@empty\CJK@sjischar{AF}{131}{62}}
+ \CJK@namegdef{^^b0}{\@empty\CJK@sjischar{B0}{129}{5B}}
+ \CJK@namegdef{^^b1}{\@empty\CJK@sjischar{B1}{131}{41}}
+ \CJK@namegdef{^^b2}{\@empty\CJK@sjischar{B2}{131}{43}}
+ \CJK@namegdef{^^b3}{\@empty\CJK@sjischar{B3}{131}{45}}
+ \CJK@namegdef{^^b4}{\@empty\CJK@sjischar{B4}{131}{47}}
+ \CJK@namegdef{^^b5}{\@empty\CJK@sjischar{B5}{131}{49}}
+ \CJK@namegdef{^^b6}{\@empty\CJK@sjischar{B6}{131}{4A}}
+ \CJK@namegdef{^^b7}{\@empty\CJK@sjischar{B7}{131}{4C}}
+ \CJK@namegdef{^^b8}{\@empty\CJK@sjischar{B8}{131}{4E}}
+ \CJK@namegdef{^^b9}{\@empty\CJK@sjischar{B9}{131}{50}}
+ \CJK@namegdef{^^ba}{\@empty\CJK@sjischar{BA}{131}{52}}
+ \CJK@namegdef{^^bb}{\@empty\CJK@sjischar{BB}{131}{54}}
+ \CJK@namegdef{^^bc}{\@empty\CJK@sjischar{BC}{131}{56}}
+ \CJK@namegdef{^^bd}{\@empty\CJK@sjischar{BD}{131}{58}}
+ \CJK@namegdef{^^be}{\@empty\CJK@sjischar{BE}{131}{5A}}
+ \CJK@namegdef{^^bf}{\@empty\CJK@sjischar{BF}{131}{5C}}
+ \CJK@namegdef{^^c0}{\@empty\CJK@sjischar{C0}{131}{5E}}
+ \CJK@namegdef{^^c1}{\@empty\CJK@sjischar{C1}{131}{60}}
+ \CJK@namegdef{^^c2}{\@empty\CJK@sjischar{C2}{131}{63}}
+ \CJK@namegdef{^^c3}{\@empty\CJK@sjischar{C3}{131}{65}}
+ \CJK@namegdef{^^c4}{\@empty\CJK@sjischar{C4}{131}{67}}
+ \CJK@namegdef{^^c5}{\@empty\CJK@sjischar{C5}{131}{69}}
+ \CJK@namegdef{^^c6}{\@empty\CJK@sjischar{C6}{131}{6A}}
+ \CJK@namegdef{^^c7}{\@empty\CJK@sjischar{C7}{131}{6B}}
+ \CJK@namegdef{^^c8}{\@empty\CJK@sjischar{C8}{131}{6C}}
+ \CJK@namegdef{^^c9}{\@empty\CJK@sjischar{C9}{131}{6D}}
+ \CJK@namegdef{^^ca}{\@empty\CJK@sjischar{CA}{131}{6E}}
+ \CJK@namegdef{^^cb}{\@empty\CJK@sjischar{CB}{131}{71}}
+ \CJK@namegdef{^^cc}{\@empty\CJK@sjischar{CC}{131}{74}}
+ \CJK@namegdef{^^cd}{\@empty\CJK@sjischar{CD}{131}{77}}
+ \CJK@namegdef{^^ce}{\@empty\CJK@sjischar{CE}{131}{7A}}
+ \CJK@namegdef{^^cf}{\@empty\CJK@sjischar{CF}{131}{7D}}
+ \CJK@namegdef{^^d0}{\@empty\CJK@sjischar{D0}{131}{7E}}
+ \CJK@namegdef{^^d1}{\@empty\CJK@sjischar{D1}{131}{80}}
+ \CJK@namegdef{^^d2}{\@empty\CJK@sjischar{D2}{131}{81}}
+ \CJK@namegdef{^^d3}{\@empty\CJK@sjischar{D3}{131}{82}}
+ \CJK@namegdef{^^d4}{\@empty\CJK@sjischar{D4}{131}{84}}
+ \CJK@namegdef{^^d5}{\@empty\CJK@sjischar{D5}{131}{86}}
+ \CJK@namegdef{^^d6}{\@empty\CJK@sjischar{D6}{131}{88}}
+ \CJK@namegdef{^^d7}{\@empty\CJK@sjischar{D7}{131}{89}}
+ \CJK@namegdef{^^d8}{\@empty\CJK@sjischar{D8}{131}{8A}}
+ \CJK@namegdef{^^d9}{\@empty\CJK@sjischar{D9}{131}{8B}}
+ \CJK@namegdef{^^da}{\@empty\CJK@sjischar{DA}{131}{8C}}
+ \CJK@namegdef{^^db}{\@empty\CJK@sjischar{DB}{131}{8D}}
+ \CJK@namegdef{^^dc}{\@empty\CJK@sjischar{DC}{131}{8F}}
+ \CJK@namegdef{^^dd}{\@empty\CJK@sjischar{DD}{131}{93}}
+ \CJK@namegdef{^^de}{\@empty\CJK@sjischar{DE}{129}{4A}}
+ \CJK@namegdef{^^df}{\@empty\CJK@sjischar{DF}{129}{4B}}
+ \CJK@namegdef{^^e0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kr}{ks}{ 66}{##1}}
+ \CJK@namegdef{^^e1}##1{\CJK@disableMakeUppercase
+ \CJK@char {ks}{ -2}{##1}}
+ \CJK@namegdef{^^e2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{ks}{kt}{186}{##1}}
+ \CJK@namegdef{^^e3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kt}{ku}{118}{##1}}
+ \CJK@namegdef{^^e4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{ku}{kv}{ 50}{##1}}
+ \CJK@namegdef{^^e5}##1{\CJK@disableMakeUppercase
+ \CJK@char {kv}{-18}{##1}}
+ \CJK@namegdef{^^e6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kv}{kw}{170}{##1}}
+ \CJK@namegdef{^^e7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kw}{kx}{102}{##1}}
+ \CJK@namegdef{^^e8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kx}{ky}{ 34}{##1}}
+ \CJK@namegdef{^^e9}##1{\CJK@disableMakeUppercase
+ \CJK@char {ky}{-34}{##1}}
+ \CJK@namegdef{^^ea}##1{\CJK@disableMakeUppercase
+ \CJK@charx{ky}{kz}{154}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@errxx}
+}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/SJIS/c49song.fd b/language/chinese/CJK/cjk-4.8.4/texinput/SJIS/c49song.fd
new file mode 100644
index 0000000000..334ebf6812
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/SJIS/c49song.fd
@@ -0,0 +1,25 @@
+% This is the file c49song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c49song.fd}[\filedate\space\fileversion]
+
+
+% Japanese characters
+%
+% character set: one-byte half-width katakana (JIS X 0201-1997)
+% font encoding: eight-bit (as used in SJIS)
+
+\DeclareFontFamily{C49}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C49}{song}{m}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * sokana}{}
+\DeclareFontShape{C49}{song}{bx}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * sokanab}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/UTF8.bdg b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/UTF8.bdg
new file mode 100644
index 0000000000..9c37a0afdb
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/UTF8.bdg
@@ -0,0 +1,156 @@
+% This is the file UTF8.bdg of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{UTF8.bdg}[\filedate\space\fileversion]
+
+
+
+% UTF 8 bindings for two-, three-, and four-byte characters. We stop
+% with 0xF4 because there are no valid Unicode characters beyond 0x10FFFF.
+
+\global\@namedef{CJK@UTF8Binding}{
+ \CJK@namedef{^^80}
+ \CJK@namedef{^^81}
+ \CJK@namedef{^^82}
+ \CJK@namedef{^^83}
+ \CJK@namedef{^^84}
+ \CJK@namedef{^^85}
+ \CJK@namedef{^^86}
+ \CJK@namedef{^^87}
+ \CJK@namedef{^^88}
+ \CJK@namedef{^^89}
+ \CJK@namedef{^^8a}
+ \CJK@namedef{^^8b}
+ \CJK@namedef{^^8c}
+ \CJK@namedef{^^8d}
+ \CJK@namedef{^^8e}
+ \CJK@namedef{^^8f}
+ \CJK@namedef{^^90}
+ \CJK@namedef{^^91}
+ \CJK@namedef{^^92}
+ \CJK@namedef{^^93}
+ \CJK@namedef{^^94}
+ \CJK@namedef{^^95}
+ \CJK@namedef{^^96}
+ \CJK@namedef{^^97}
+ \CJK@namedef{^^98}
+ \CJK@namedef{^^99}
+ \CJK@namedef{^^9a}
+ \CJK@namedef{^^9b}
+ \CJK@namedef{^^9c}
+ \CJK@namedef{^^9d}
+ \CJK@namedef{^^9e}
+ \CJK@namedef{^^9f}
+ \CJK@namedef{^^a0}
+ \CJK@namedef{^^a1}
+ \CJK@namedef{^^a2}
+ \CJK@namedef{^^a3}
+ \CJK@namedef{^^a4}
+ \CJK@namedef{^^a5}
+ \CJK@namedef{^^a6}
+ \CJK@namedef{^^a7}
+ \CJK@namedef{^^a8}
+ \CJK@namedef{^^a9}
+ \CJK@namedef{^^aa}
+ \CJK@namedef{^^ab}
+ \CJK@namedef{^^ac}
+ \CJK@namedef{^^ad}
+ \CJK@namedef{^^ae}
+ \CJK@namedef{^^af}
+ \CJK@namedef{^^b0}
+ \CJK@namedef{^^b1}
+ \CJK@namedef{^^b2}
+ \CJK@namedef{^^b3}
+ \CJK@namedef{^^b4}
+ \CJK@namedef{^^b5}
+ \CJK@namedef{^^b6}
+ \CJK@namedef{^^b7}
+ \CJK@namedef{^^b8}
+ \CJK@namedef{^^b9}
+ \CJK@namedef{^^ba}
+ \CJK@namedef{^^bb}
+ \CJK@namedef{^^bc}
+ \CJK@namedef{^^bd}
+ \CJK@namedef{^^be}
+ \CJK@namedef{^^bf}
+
+ \CJK@nameppdef{^^c0}
+ \CJK@nameppdef{^^c1}
+ \CJK@nameppdef{^^c2}
+ \CJK@nameppdef{^^c3}
+ \CJK@nameppdef{^^c4}
+ \CJK@nameppdef{^^c5}
+ \CJK@nameppdef{^^c6}
+ \CJK@nameppdef{^^c7}
+ \CJK@nameppdef{^^c8}
+ \CJK@nameppdef{^^c9}
+ \CJK@nameppdef{^^ca}
+ \CJK@nameppdef{^^cb}
+ \CJK@nameppdef{^^cc}
+ \CJK@nameppdef{^^cd}
+ \CJK@nameppdef{^^ce}
+ \CJK@nameppdef{^^cf}
+ \CJK@nameppdef{^^d0}
+ \CJK@nameppdef{^^d1}
+ \CJK@nameppdef{^^d2}
+ \CJK@nameppdef{^^d3}
+ \CJK@nameppdef{^^d4}
+ \CJK@nameppdef{^^d5}
+ \CJK@nameppdef{^^d6}
+ \CJK@nameppdef{^^d7}
+ \CJK@nameppdef{^^d8}
+ \CJK@nameppdef{^^d9}
+ \CJK@nameppdef{^^da}
+ \CJK@nameppdef{^^db}
+ \CJK@nameppdef{^^dc}
+ \CJK@nameppdef{^^dd}
+ \CJK@nameppdef{^^de}
+ \CJK@nameppdef{^^df}
+
+ \CJK@namepppdef{^^e0}
+ \CJK@namepppdef{^^e1}
+ \CJK@namepppdef{^^e2}
+ \CJK@namepppdef{^^e3}
+ \CJK@namepppdef{^^e4}
+ \CJK@namepppdef{^^e5}
+ \CJK@namepppdef{^^e6}
+ \CJK@namepppdef{^^e7}
+ \CJK@namepppdef{^^e8}
+ \CJK@namepppdef{^^e9}
+ \CJK@namepppdef{^^ea}
+ \CJK@namepppdef{^^eb}
+ \CJK@namepppdef{^^ec}
+ \CJK@namepppdef{^^ed}
+ \CJK@namepppdef{^^ee}
+ \CJK@namepppdef{^^ef}
+
+ \CJK@nameppppdef{^^f0}
+ \CJK@nameppppdef{^^f1}
+ \CJK@nameppppdef{^^f2}
+ \CJK@nameppppdef{^^f3}
+ \CJK@nameppppdef{^^f4}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/UTF8.chr b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/UTF8.chr
new file mode 100644
index 0000000000..f255e32f31
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/UTF8.chr
@@ -0,0 +1,276 @@
+% This is the file UTF8.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{UTF8.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling CJK fonts and characters in UTF 8 encoding.
+
+% two bytes per character; covers range 0x80 - 0x7FF.
+
+\CJK@global\@namedef{CJK@UTF8Chr}{
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \@tempcnta ##3\relax
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \CJKsymbol{\@tempcnta}
+ \fi
+ \fi}}
+
+% three bytes per character; covers range 0x800 - 0xFFFF.
+
+ \CJK@global\def\CJK@altchar##1##2##3{
+ {\ifnum ##2 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##2 > \CJK@max
+ \CJK@err
+ \else
+ \ifnum ##3 < \CJK@min
+ \CJK@errx
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@errx
+ \else
+ \ifCJK@CJK@
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+ \fi
+
+ \@tempcnta ##1\relax
+ \@tempcntb ##2\relax
+ \divide\@tempcntb 4\relax
+ \advance\@tempcnta \@tempcntb
+ \CJK@numbToHex{\CJK@gtemp}{\@tempcnta}
+ \def\CJK@tempa####1{
+ \lowercase{\edef\CJK@plane{####1}}}
+ \expandafter\CJK@tempa\expandafter{\CJK@gtemp}
+
+ \@tempcnta ##2\relax
+ \multiply\@tempcntb -4\relax
+ \advance\@tempcnta \@tempcntb
+ \multiply\@tempcnta 64\relax
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcnta -128\relax
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \ifCJK@hangul@
+ \discretionary{}{}{}
+ \fi
+ \ifCJK@CJK@
+ \CJK@CJK
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi}}
+
+% four bytes per character; covers range 0x10000 - 0x10FFFF.
+
+ \CJK@global\def\CJK@altxchar##1##2##3##4{
+ {\ifnum ##2 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##2 > \CJK@max
+ \CJK@err
+ \else
+ \ifnum ##3 < \CJK@min
+ \CJK@errx
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@errx
+ \else
+ \ifnum ##3 < \CJK@min
+ \CJK@errxx
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@errxx
+ \else
+ \ifCJK@CJK@
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+ \fi
+
+ \@tempcnta ##1\relax
+ \@tempcntb ##2\relax
+ \multiply\@tempcntb \sixt@@n
+ \advance\@tempcnta \@tempcntb
+ \@tempcntb ##3\relax
+ \divide\@tempcntb 4\relax
+ \advance\@tempcnta \@tempcntb
+ \CJK@numbxToHex{\CJK@gtemp}{\@tempcnta}
+ \def\CJK@tempa####1{
+ \lowercase{\edef\CJK@plane{####1}}}
+ \expandafter\CJK@tempa\expandafter{\CJK@gtemp}
+
+ \@tempcnta ##3\relax
+ \multiply\@tempcntb -4\relax
+ \advance\@tempcnta \@tempcntb
+ \multiply\@tempcnta 64\relax
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcnta -128\relax
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \ifCJK@hangul@
+ \discretionary{}{}{}
+ \fi
+ \ifCJK@CJK@
+ \CJK@CJK
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi}}
+
+% define macro for handling punctuation characters.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \ifnum ##4 < \CJK@min
+ \CJK@errx
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@errx
+ \else
+ \@tempcnta ##2\relax
+ \@tempcntb ##3\relax
+ \divide\@tempcntb 4\relax
+ \advance\@tempcnta \@tempcntb
+ \CJK@numbToHex{\CJK@gtemp}{\@tempcnta}
+ \def\CJK@tempa####1{
+ \lowercase{\edef\CJK@plane{####1}}}
+ \expandafter\CJK@tempa\expandafter{\CJK@gtemp}
+
+ \@tempcnta ##3\relax
+ \multiply\@tempcntb -4\relax
+ \advance\@tempcnta \@tempcntb
+ \multiply\@tempcnta 64\relax
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcnta -128\relax
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+
+ % we need three braces to make it work with CJKulem.sty
+ {{{\ifCJK@CJK@
+ \expandafter\CJK@testInList
+ \expandafter{\expandafter##1\expandafter}
+ \expandafter{\CJK@plane}
+ \ifCJK@
+ \CJK@numbToHex{\CJK@gtemp}{\@tempcnta}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@@@enc}{\CJK@plane}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@@@enc}{\CJK@plane}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \CJKpunctsymbol{\@tempcnta}
+
+ \CJK@CJK
+ \fi
+ \else
+ \CJKpunctsymbol{\@tempcnta}
+ \fi
+ \ifCJK@hangul@
+ \discretionary{}{}{}
+ \fi
+ }}}
+ \fi
+ \fi
+ \fi
+ \fi}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/UTF8.enc b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/UTF8.enc
new file mode 100644
index 0000000000..20b1cde2e9
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/UTF8.enc
@@ -0,0 +1,140 @@
+% This is the file UTF8.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{UTF8.enc}[\filedate\space\fileversion]
+
+
+% UTF 8 encoding:
+
+\CJK@global\@namedef{CJK@UTF8Encoding}{
+ \CJK@loadChr{UTF8}
+
+ % two-byte characters
+ %
+ % 110xxxxx 10xxxxxx
+ % |
+ %
+ % 1. Byte * 64 -> xxxxx000000
+ % 2. Byte -> 128 + xxxxxx
+ %
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@char{00}{-128}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@char{00}{ -64}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@char{00}{ 0}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@char{00}{ 64}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@char{01}{-128}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@char{01}{ -64}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@char{01}{ 0}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@char{01}{ 64}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@char{02}{-128}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@char{02}{ -64}{##1}}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char{02}{ 0}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@char{02}{ 64}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@char{03}{-128}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@char{03}{ -64}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char{03}{ 0}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@char{03}{ 64}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char{04}{-128}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char{04}{ -64}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@char{04}{ 0}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char{04}{ 64}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@char{05}{-128}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@char{05}{ -64}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char{05}{ 0}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@char{05}{ 64}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@char{06}{-128}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char{06}{ -64}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@char{06}{ 0}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char{06}{ 64}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@char{07}{-128}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@char{07}{ -64}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char{07}{ 0}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@char{07}{ 64}{##1}}
+
+ % if in preprocessed mode, `\@gobble' will be gobbled, and
+ % \CJK@unicodeError becomes active
+
+ % three-byte characters
+ %
+ % 1110xxxx 10xxxxxx 10xxxxxx
+ % |
+ %
+ % 1. Byte * 16 -> xxxx0000
+ % 2. Byte / 4 -> 32 + xxxx
+ %
+ \CJK@namegdef{^^e0}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{-32}{##1}{##2}}
+ \CJK@namegdef{^^e1}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{-16}{##1}{##2}}
+ \CJK@namegdef{^^e2}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{ 0}{##1}{##2}}
+ \CJK@namegdef{^^e3}##1##2{\@gobble\CJK@unicodeError
+ \CJK@punctchar{\CJK@uniPunct}{ 16}{##1}{##2}}
+ \CJK@namegdef{^^e4}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{ 32}{##1}{##2}}
+ \CJK@namegdef{^^e5}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{ 48}{##1}{##2}}
+ \CJK@namegdef{^^e6}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{ 64}{##1}{##2}}
+ \CJK@namegdef{^^e7}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{ 80}{##1}{##2}}
+ \CJK@namegdef{^^e8}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{ 96}{##1}{##2}}
+ \CJK@namegdef{^^e9}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{112}{##1}{##2}}
+ \CJK@namegdef{^^ea}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{128}{##1}{##2}}
+ \CJK@namegdef{^^eb}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{144}{##1}{##2}}
+ \CJK@namegdef{^^ec}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{160}{##1}{##2}}
+ \CJK@namegdef{^^ed}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{176}{##1}{##2}}
+ \CJK@namegdef{^^ee}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{192}{##1}{##2}}
+ \CJK@namegdef{^^ef}##1##2{\@gobble\CJK@unicodeError
+ \CJK@punctchar{\CJK@uniPunct}{208}{##1}{##2}}
+
+ % four-byte characters
+ %
+ % 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
+ % | |
+ %
+ % 1. Byte * 1024 -> xxx00 00000000
+ % 2. Byte * 16 -> 2048 + xx xxxx0000
+ % 3. Byte / 4 -> 32 + xxxx
+ %
+ \CJK@namegdef{^^f0}##1##2##3{\@gobble\CJK@unicodexError
+ \CJK@altxchar{-2080}{##1}{##2}{##3}}
+ \CJK@namegdef{^^f1}##1##2##3{\@gobble\CJK@unicodexError
+ \CJK@altxchar{-1056}{##1}{##2}{##3}}
+ \CJK@namegdef{^^f2}##1##2##3{\@gobble\CJK@unicodexError
+ \CJK@altxchar{ -32}{##1}{##2}{##3}}
+ \CJK@namegdef{^^f3}##1##2##3{\@gobble\CJK@unicodexError
+ \CJK@altxchar{ 992}{##1}{##2}{##3}}
+ \CJK@namegdef{^^f4}##1##2##3{\@gobble\CJK@unicodexError
+ \CJK@altxchar{ 2016}{##1}{##2}{##3}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70bkai.fd b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70bkai.fd
new file mode 100644
index 0000000000..b70366a9be
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70bkai.fd
@@ -0,0 +1,21 @@
+% This is the file c70bkai.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c70bkai.fd}[\filedate\space\fileversion]
+
+
+% character set: Big5
+% font encoding: Unicode
+
+\DeclareFontFamily{C70}{bkai}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C70}{bkai}{m}{n}{<-> CJK * bkaiu}{\CJKnormal}
+\DeclareFontShape{C70}{bkai}{bx}{n}{<-> CJKb * bkaiu}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70bkai.fdx b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70bkai.fdx
new file mode 100644
index 0000000000..f8b815ae44
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70bkai.fdx
@@ -0,0 +1,325 @@
+% This is the file c70bkai.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by the script makefdx.pl for CJK Version 4.8.4 (18-Apr-2015).
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c70bkai.fdx}[\filedate\space\fileversion]
+
+\CJKvdef{fullheight}{1em}
+\CJKvdef{height}{.88em}
+\CJKvdef{offset}{.6em}
+
+% Uncomment if necessary.
+%\CJKvdef{norotate}{}
+\CJKvdef{m/n/00/175}{\def\CJK@plane{v}\selectfont\CJKsymbol{0}}
+\CJKvlet{bx/n/00/175}{m/n/00/175}
+\CJKvdef{m/n/00/183}{\def\CJK@plane{v}\selectfont\CJKsymbol{1}}
+\CJKvlet{bx/n/00/183}{m/n/00/183}
+\CJKvdef{m/n/02/205}{\def\CJK@plane{v}\selectfont\CJKsymbol{2}}
+\CJKvlet{bx/n/02/205}{m/n/02/205}
+\CJKvdef{m/n/ff/8}{\def\CJK@plane{v}\selectfont\CJKsymbol{3}}
+\CJKvlet{bx/n/ff/8}{m/n/ff/8}
+\CJKvdef{m/n/ff/9}{\def\CJK@plane{v}\selectfont\CJKsymbol{4}}
+\CJKvlet{bx/n/ff/9}{m/n/ff/9}
+\CJKvdef{m/n/ff/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{5}}
+\CJKvlet{bx/n/ff/12}{m/n/ff/12}
+\CJKvdef{m/n/ff/14}{\def\CJK@plane{v}\selectfont\CJKsymbol{6}}
+\CJKvlet{bx/n/ff/14}{m/n/ff/14}
+\CJKvdef{m/n/ff/59}{\def\CJK@plane{v}\selectfont\CJKsymbol{7}}
+\CJKvlet{bx/n/ff/59}{m/n/ff/59}
+\CJKvdef{m/n/ff/61}{\def\CJK@plane{v}\selectfont\CJKsymbol{8}}
+\CJKvlet{bx/n/ff/61}{m/n/ff/61}
+\CJKvdef{m/n/ff/63}{\def\CJK@plane{v}\selectfont\CJKsymbol{9}}
+\CJKvlet{bx/n/ff/63}{m/n/ff/63}
+\CJKvdef{m/n/ff/91}{\def\CJK@plane{v}\selectfont\CJKsymbol{10}}
+\CJKvlet{bx/n/ff/91}{m/n/ff/91}
+\CJKvdef{m/n/ff/93}{\def\CJK@plane{v}\selectfont\CJKsymbol{11}}
+\CJKvlet{bx/n/ff/93}{m/n/ff/93}
+\CJKvdef{m/n/ff/94}{\def\CJK@plane{v}\selectfont\CJKsymbol{12}}
+\CJKvlet{bx/n/ff/94}{m/n/ff/94}
+\CJKvdef{m/n/20/19}{\def\CJK@plane{v}\selectfont\CJKsymbol{13}}
+\CJKvlet{bx/n/20/19}{m/n/20/19}
+\CJKvdef{m/n/20/20}{\def\CJK@plane{v}\selectfont\CJKsymbol{14}}
+\CJKvlet{bx/n/20/20}{m/n/20/20}
+\CJKvdef{m/n/20/37}{\def\CJK@plane{v}\selectfont\CJKsymbol{15}}
+\CJKvlet{bx/n/20/37}{m/n/20/37}
+\CJKvdef{m/n/20/38}{\def\CJK@plane{v}\selectfont\CJKsymbol{16}}
+\CJKvlet{bx/n/20/38}{m/n/20/38}
+\CJKvdef{m/n/21/144}{\def\CJK@plane{v}\selectfont\CJKsymbol{17}}
+\CJKvlet{bx/n/21/144}{m/n/21/144}
+\CJKvdef{m/n/21/145}{\def\CJK@plane{v}\selectfont\CJKsymbol{18}}
+\CJKvlet{bx/n/21/145}{m/n/21/145}
+\CJKvdef{m/n/21/146}{\def\CJK@plane{v}\selectfont\CJKsymbol{19}}
+\CJKvlet{bx/n/21/146}{m/n/21/146}
+\CJKvdef{m/n/21/147}{\def\CJK@plane{v}\selectfont\CJKsymbol{20}}
+\CJKvlet{bx/n/21/147}{m/n/21/147}
+\CJKvdef{m/n/22/35}{\def\CJK@plane{v}\selectfont\CJKsymbol{21}}
+\CJKvlet{bx/n/22/35}{m/n/22/35}
+\CJKvdef{m/n/22/37}{\def\CJK@plane{v}\selectfont\CJKsymbol{22}}
+\CJKvlet{bx/n/22/37}{m/n/22/37}
+\CJKvdef{m/n/25/0}{\def\CJK@plane{v}\selectfont\CJKsymbol{23}}
+\CJKvlet{bx/n/25/0}{m/n/25/0}
+\CJKvdef{m/n/25/2}{\def\CJK@plane{v}\selectfont\CJKsymbol{24}}
+\CJKvlet{bx/n/25/2}{m/n/25/2}
+\CJKvdef{m/n/25/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{25}}
+\CJKvlet{bx/n/25/12}{m/n/25/12}
+\CJKvdef{m/n/25/16}{\def\CJK@plane{v}\selectfont\CJKsymbol{26}}
+\CJKvlet{bx/n/25/16}{m/n/25/16}
+\CJKvdef{m/n/25/20}{\def\CJK@plane{v}\selectfont\CJKsymbol{27}}
+\CJKvlet{bx/n/25/20}{m/n/25/20}
+\CJKvdef{m/n/25/24}{\def\CJK@plane{v}\selectfont\CJKsymbol{28}}
+\CJKvlet{bx/n/25/24}{m/n/25/24}
+\CJKvdef{m/n/25/28}{\def\CJK@plane{v}\selectfont\CJKsymbol{29}}
+\CJKvlet{bx/n/25/28}{m/n/25/28}
+\CJKvdef{m/n/25/36}{\def\CJK@plane{v}\selectfont\CJKsymbol{30}}
+\CJKvlet{bx/n/25/36}{m/n/25/36}
+\CJKvdef{m/n/25/44}{\def\CJK@plane{v}\selectfont\CJKsymbol{31}}
+\CJKvlet{bx/n/25/44}{m/n/25/44}
+\CJKvdef{m/n/25/52}{\def\CJK@plane{v}\selectfont\CJKsymbol{32}}
+\CJKvlet{bx/n/25/52}{m/n/25/52}
+\CJKvdef{m/n/25/80}{\def\CJK@plane{v}\selectfont\CJKsymbol{33}}
+\CJKvlet{bx/n/25/80}{m/n/25/80}
+\CJKvdef{m/n/25/81}{\def\CJK@plane{v}\selectfont\CJKsymbol{34}}
+\CJKvlet{bx/n/25/81}{m/n/25/81}
+\CJKvdef{m/n/25/82}{\def\CJK@plane{v}\selectfont\CJKsymbol{35}}
+\CJKvlet{bx/n/25/82}{m/n/25/82}
+\CJKvdef{m/n/25/83}{\def\CJK@plane{v}\selectfont\CJKsymbol{36}}
+\CJKvlet{bx/n/25/83}{m/n/25/83}
+\CJKvdef{m/n/25/84}{\def\CJK@plane{v}\selectfont\CJKsymbol{37}}
+\CJKvlet{bx/n/25/84}{m/n/25/84}
+\CJKvdef{m/n/25/85}{\def\CJK@plane{v}\selectfont\CJKsymbol{38}}
+\CJKvlet{bx/n/25/85}{m/n/25/85}
+\CJKvdef{m/n/25/86}{\def\CJK@plane{v}\selectfont\CJKsymbol{39}}
+\CJKvlet{bx/n/25/86}{m/n/25/86}
+\CJKvdef{m/n/25/87}{\def\CJK@plane{v}\selectfont\CJKsymbol{40}}
+\CJKvlet{bx/n/25/87}{m/n/25/87}
+\CJKvdef{m/n/25/88}{\def\CJK@plane{v}\selectfont\CJKsymbol{41}}
+\CJKvlet{bx/n/25/88}{m/n/25/88}
+\CJKvdef{m/n/25/89}{\def\CJK@plane{v}\selectfont\CJKsymbol{42}}
+\CJKvlet{bx/n/25/89}{m/n/25/89}
+\CJKvdef{m/n/25/90}{\def\CJK@plane{v}\selectfont\CJKsymbol{43}}
+\CJKvlet{bx/n/25/90}{m/n/25/90}
+\CJKvdef{m/n/25/91}{\def\CJK@plane{v}\selectfont\CJKsymbol{44}}
+\CJKvlet{bx/n/25/91}{m/n/25/91}
+\CJKvdef{m/n/25/92}{\def\CJK@plane{v}\selectfont\CJKsymbol{45}}
+\CJKvlet{bx/n/25/92}{m/n/25/92}
+\CJKvdef{m/n/25/93}{\def\CJK@plane{v}\selectfont\CJKsymbol{46}}
+\CJKvlet{bx/n/25/93}{m/n/25/93}
+\CJKvdef{m/n/25/94}{\def\CJK@plane{v}\selectfont\CJKsymbol{47}}
+\CJKvlet{bx/n/25/94}{m/n/25/94}
+\CJKvdef{m/n/25/95}{\def\CJK@plane{v}\selectfont\CJKsymbol{48}}
+\CJKvlet{bx/n/25/95}{m/n/25/95}
+\CJKvdef{m/n/25/96}{\def\CJK@plane{v}\selectfont\CJKsymbol{49}}
+\CJKvlet{bx/n/25/96}{m/n/25/96}
+\CJKvdef{m/n/25/97}{\def\CJK@plane{v}\selectfont\CJKsymbol{50}}
+\CJKvlet{bx/n/25/97}{m/n/25/97}
+\CJKvdef{m/n/25/98}{\def\CJK@plane{v}\selectfont\CJKsymbol{51}}
+\CJKvlet{bx/n/25/98}{m/n/25/98}
+\CJKvdef{m/n/25/99}{\def\CJK@plane{v}\selectfont\CJKsymbol{52}}
+\CJKvlet{bx/n/25/99}{m/n/25/99}
+\CJKvdef{m/n/25/100}{\def\CJK@plane{v}\selectfont\CJKsymbol{53}}
+\CJKvlet{bx/n/25/100}{m/n/25/100}
+\CJKvdef{m/n/25/101}{\def\CJK@plane{v}\selectfont\CJKsymbol{54}}
+\CJKvlet{bx/n/25/101}{m/n/25/101}
+\CJKvdef{m/n/25/102}{\def\CJK@plane{v}\selectfont\CJKsymbol{55}}
+\CJKvlet{bx/n/25/102}{m/n/25/102}
+\CJKvdef{m/n/25/103}{\def\CJK@plane{v}\selectfont\CJKsymbol{56}}
+\CJKvlet{bx/n/25/103}{m/n/25/103}
+\CJKvdef{m/n/25/104}{\def\CJK@plane{v}\selectfont\CJKsymbol{57}}
+\CJKvlet{bx/n/25/104}{m/n/25/104}
+\CJKvdef{m/n/25/105}{\def\CJK@plane{v}\selectfont\CJKsymbol{58}}
+\CJKvlet{bx/n/25/105}{m/n/25/105}
+\CJKvdef{m/n/25/106}{\def\CJK@plane{v}\selectfont\CJKsymbol{59}}
+\CJKvlet{bx/n/25/106}{m/n/25/106}
+\CJKvdef{m/n/25/107}{\def\CJK@plane{v}\selectfont\CJKsymbol{60}}
+\CJKvlet{bx/n/25/107}{m/n/25/107}
+\CJKvdef{m/n/25/109}{\def\CJK@plane{v}\selectfont\CJKsymbol{61}}
+\CJKvlet{bx/n/25/109}{m/n/25/109}
+\CJKvdef{m/n/25/110}{\def\CJK@plane{v}\selectfont\CJKsymbol{62}}
+\CJKvlet{bx/n/25/110}{m/n/25/110}
+\CJKvdef{m/n/25/111}{\def\CJK@plane{v}\selectfont\CJKsymbol{63}}
+\CJKvlet{bx/n/25/111}{m/n/25/111}
+\CJKvdef{m/n/25/112}{\def\CJK@plane{v}\selectfont\CJKsymbol{64}}
+\CJKvlet{bx/n/25/112}{m/n/25/112}
+\CJKvdef{m/n/25/116}{\def\CJK@plane{v}\selectfont\CJKsymbol{65}}
+\CJKvlet{bx/n/25/116}{m/n/25/116}
+\CJKvdef{m/n/30/1}{\def\CJK@plane{v}\selectfont\CJKsymbol{66}}
+\CJKvlet{bx/n/30/1}{m/n/30/1}
+\CJKvdef{m/n/30/2}{\def\CJK@plane{v}\selectfont\CJKsymbol{67}}
+\CJKvlet{bx/n/30/2}{m/n/30/2}
+\CJKvdef{m/n/30/8}{\def\CJK@plane{v}\selectfont\CJKsymbol{68}}
+\CJKvlet{bx/n/30/8}{m/n/30/8}
+\CJKvdef{m/n/30/9}{\def\CJK@plane{v}\selectfont\CJKsymbol{69}}
+\CJKvlet{bx/n/30/9}{m/n/30/9}
+\CJKvdef{m/n/30/10}{\def\CJK@plane{v}\selectfont\CJKsymbol{70}}
+\CJKvlet{bx/n/30/10}{m/n/30/10}
+\CJKvdef{m/n/30/11}{\def\CJK@plane{v}\selectfont\CJKsymbol{71}}
+\CJKvlet{bx/n/30/11}{m/n/30/11}
+\CJKvdef{m/n/30/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{72}}
+\CJKvlet{bx/n/30/12}{m/n/30/12}
+\CJKvdef{m/n/30/13}{\def\CJK@plane{v}\selectfont\CJKsymbol{73}}
+\CJKvlet{bx/n/30/13}{m/n/30/13}
+\CJKvdef{m/n/30/14}{\def\CJK@plane{v}\selectfont\CJKsymbol{74}}
+\CJKvlet{bx/n/30/14}{m/n/30/14}
+\CJKvdef{m/n/30/15}{\def\CJK@plane{v}\selectfont\CJKsymbol{75}}
+\CJKvlet{bx/n/30/15}{m/n/30/15}
+\CJKvdef{m/n/30/16}{\def\CJK@plane{v}\selectfont\CJKsymbol{76}}
+\CJKvlet{bx/n/30/16}{m/n/30/16}
+\CJKvdef{m/n/30/17}{\def\CJK@plane{v}\selectfont\CJKsymbol{77}}
+\CJKvlet{bx/n/30/17}{m/n/30/17}
+\CJKvdef{m/n/30/20}{\def\CJK@plane{v}\selectfont\CJKsymbol{78}}
+\CJKvlet{bx/n/30/20}{m/n/30/20}
+\CJKvdef{m/n/30/21}{\def\CJK@plane{v}\selectfont\CJKsymbol{79}}
+\CJKvlet{bx/n/30/21}{m/n/30/21}
+\CJKvdef{m/n/fe/79}{\def\CJK@plane{v}\selectfont\CJKsymbol{80}}
+\CJKvlet{bx/n/fe/79}{m/n/fe/79}
+\CJKvdef{m/n/fe/80}{\def\CJK@plane{v}\selectfont\CJKsymbol{81}}
+\CJKvlet{bx/n/fe/80}{m/n/fe/80}
+\CJKvdef{m/n/fe/81}{\def\CJK@plane{v}\selectfont\CJKsymbol{82}}
+\CJKvlet{bx/n/fe/81}{m/n/fe/81}
+\CJKvdef{m/n/fe/82}{\def\CJK@plane{v}\selectfont\CJKsymbol{83}}
+\CJKvlet{bx/n/fe/82}{m/n/fe/82}
+\CJKvdef{m/n/fe/89}{\def\CJK@plane{v}\selectfont\CJKsymbol{84}}
+\CJKvlet{bx/n/fe/89}{m/n/fe/89}
+\CJKvdef{m/n/fe/90}{\def\CJK@plane{v}\selectfont\CJKsymbol{85}}
+\CJKvlet{bx/n/fe/90}{m/n/fe/90}
+\CJKvdef{m/n/fe/91}{\def\CJK@plane{v}\selectfont\CJKsymbol{86}}
+\CJKvlet{bx/n/fe/91}{m/n/fe/91}
+\CJKvdef{m/n/fe/92}{\def\CJK@plane{v}\selectfont\CJKsymbol{87}}
+\CJKvlet{bx/n/fe/92}{m/n/fe/92}
+\CJKvdef{m/n/fe/93}{\def\CJK@plane{v}\selectfont\CJKsymbol{88}}
+\CJKvlet{bx/n/fe/93}{m/n/fe/93}
+\CJKvdef{m/n/fe/94}{\def\CJK@plane{v}\selectfont\CJKsymbol{89}}
+\CJKvlet{bx/n/fe/94}{m/n/fe/94}
+\CJKvdef{m/n/20/62}{\def\CJK@plane{v}\selectfont\CJKsymbol{90}}
+\CJKvlet{bx/n/20/62}{m/n/20/62}
+
+\gdef\CJK@cmap@bkaiv{
+ \expandafter\ifx\csname CJK@CMap@bkaiv\endcsname \relax
+ \immediate\pdfobj stream {
+ /CIDInit\space/ProcSet\space findresource\space begin\space
+ 12\space dict\space begin\space
+ begincmap\space
+ /CIDSystemInfo\space <<\space
+ /Registry\space (TeX)\space
+ /Ordering\space (bkaiv)\space
+ /Supplement\space 0\space >>\space def\space
+ /CMapName\space /TeX-bkaiv-0\space def\space
+ 1\space begincodespacerange\space
+ <00>\space <FF>\space
+ endcodespacerange\space
+ 91\space beginbfchar\space
+ <00>\space <00AF>\space
+ <01>\space <00B7>\space
+ <02>\space <02CD>\space
+ <03>\space <FF08>\space
+ <04>\space <FF09>\space
+ <05>\space <FF0C>\space
+ <06>\space <FF0E>\space
+ <07>\space <FF3B>\space
+ <08>\space <FF3D>\space
+ <09>\space <FF3F>\space
+ <0A>\space <FF5B>\space
+ <0B>\space <FF5D>\space
+ <0C>\space <FF5E>\space
+ <0D>\space <2013>\space
+ <0E>\space <2014>\space
+ <0F>\space <2025>\space
+ <10>\space <2026>\space
+ <11>\space <2190>\space
+ <12>\space <2191>\space
+ <13>\space <2192>\space
+ <14>\space <2193>\space
+ <15>\space <2223>\space
+ <16>\space <2225>\space
+ <17>\space <2500>\space
+ <18>\space <2502>\space
+ <19>\space <250C>\space
+ <1A>\space <2510>\space
+ <1B>\space <2514>\space
+ <1C>\space <2518>\space
+ <1D>\space <251C>\space
+ <1E>\space <2524>\space
+ <1F>\space <252C>\space
+ <20>\space <2534>\space
+ <21>\space <2550>\space
+ <22>\space <2551>\space
+ <23>\space <2552>\space
+ <24>\space <2553>\space
+ <25>\space <2554>\space
+ <26>\space <2555>\space
+ <27>\space <2556>\space
+ <28>\space <2557>\space
+ <29>\space <2558>\space
+ <2A>\space <2559>\space
+ <2B>\space <255A>\space
+ <2C>\space <255B>\space
+ <2D>\space <255C>\space
+ <2E>\space <255D>\space
+ <2F>\space <255E>\space
+ <30>\space <255F>\space
+ <31>\space <2560>\space
+ <32>\space <2561>\space
+ <33>\space <2562>\space
+ <34>\space <2563>\space
+ <35>\space <2564>\space
+ <36>\space <2565>\space
+ <37>\space <2566>\space
+ <38>\space <2567>\space
+ <39>\space <2568>\space
+ <3A>\space <2569>\space
+ <3B>\space <256A>\space
+ <3C>\space <256B>\space
+ <3D>\space <256D>\space
+ <3E>\space <256E>\space
+ <3F>\space <256F>\space
+ <40>\space <2570>\space
+ <41>\space <2574>\space
+ <42>\space <3001>\space
+ <43>\space <3002>\space
+ <44>\space <3008>\space
+ <45>\space <3009>\space
+ <46>\space <300A>\space
+ <47>\space <300B>\space
+ <48>\space <300C>\space
+ <49>\space <300D>\space
+ <4A>\space <300E>\space
+ <4B>\space <300F>\space
+ <4C>\space <3010>\space
+ <4D>\space <3011>\space
+ <4E>\space <3014>\space
+ <4F>\space <3015>\space
+ <50>\space <FE4F>\space
+ <51>\space <FE50>\space
+ <52>\space <FE51>\space
+ <53>\space <FE52>\space
+ <54>\space <FE59>\space
+ <55>\space <FE5A>\space
+ <56>\space <FE5B>\space
+ <57>\space <FE5C>\space
+ <58>\space <FE5D>\space
+ <59>\space <FE5E>\space
+ <5A>\space <203E>\space
+ endbfchar\space
+ endcmap\space
+ CMapName\space currentdict\space /CMap\space defineresource\space
+ pop\space
+ end\space
+ end\space}
+ \expandafter\xdef\csname CJK@CMap@bkaiv\endcsname{
+ \the\pdflastobj}
+ \fi
+ \pdffontattr\font@name{
+ /ToUnicode\space\csname CJK@CMap@bkaiv\endcsname\space 0\space R}
+}
+
+% This font doesn't contain a glyph for U+3007, but it has U+25CB.
+
+\CJKhdef{m/n/30/7}{\def\CJK@plane{25}\selectfont\CJKsymbol{203}}
+\CJKhlet{bx/n/30/7}{m/n/30/7}
+\CJKvdef{m/n/30/7}{\def\CJK@plane{25}\selectfont\CJKsymbol{203}}
+\CJKvlet{bx/n/30/7}{m/n/30/7}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70bsmi.fd b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70bsmi.fd
new file mode 100644
index 0000000000..d65e63a7ea
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70bsmi.fd
@@ -0,0 +1,21 @@
+% This is the file c70bsmi.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c70bsmi.fd}[\filedate\space\fileversion]
+
+
+% character set: Big5
+% font encoding: Unicode
+
+\DeclareFontFamily{C70}{bsmi}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C70}{bsmi}{m}{n}{<-> CJK * bsmiu}{\CJKnormal}
+\DeclareFontShape{C70}{bsmi}{bx}{n}{<-> CJKb * bsmiu}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70bsmi.fdx b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70bsmi.fdx
new file mode 100644
index 0000000000..777dfe6c44
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70bsmi.fdx
@@ -0,0 +1,325 @@
+% This is the file c70bsmi.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by the script makefdx.pl for CJK Version 4.8.4 (18-Apr-2015).
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c70bsmi.fdx}[\filedate\space\fileversion]
+
+\CJKvdef{fullheight}{1em}
+\CJKvdef{height}{.88em}
+\CJKvdef{offset}{.6em}
+
+% Uncomment if necessary.
+%\CJKvdef{norotate}{}
+\CJKvdef{m/n/00/175}{\def\CJK@plane{v}\selectfont\CJKsymbol{0}}
+\CJKvlet{bx/n/00/175}{m/n/00/175}
+\CJKvdef{m/n/00/183}{\def\CJK@plane{v}\selectfont\CJKsymbol{1}}
+\CJKvlet{bx/n/00/183}{m/n/00/183}
+\CJKvdef{m/n/02/205}{\def\CJK@plane{v}\selectfont\CJKsymbol{2}}
+\CJKvlet{bx/n/02/205}{m/n/02/205}
+\CJKvdef{m/n/ff/8}{\def\CJK@plane{v}\selectfont\CJKsymbol{3}}
+\CJKvlet{bx/n/ff/8}{m/n/ff/8}
+\CJKvdef{m/n/ff/9}{\def\CJK@plane{v}\selectfont\CJKsymbol{4}}
+\CJKvlet{bx/n/ff/9}{m/n/ff/9}
+\CJKvdef{m/n/ff/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{5}}
+\CJKvlet{bx/n/ff/12}{m/n/ff/12}
+\CJKvdef{m/n/ff/14}{\def\CJK@plane{v}\selectfont\CJKsymbol{6}}
+\CJKvlet{bx/n/ff/14}{m/n/ff/14}
+\CJKvdef{m/n/ff/59}{\def\CJK@plane{v}\selectfont\CJKsymbol{7}}
+\CJKvlet{bx/n/ff/59}{m/n/ff/59}
+\CJKvdef{m/n/ff/61}{\def\CJK@plane{v}\selectfont\CJKsymbol{8}}
+\CJKvlet{bx/n/ff/61}{m/n/ff/61}
+\CJKvdef{m/n/ff/63}{\def\CJK@plane{v}\selectfont\CJKsymbol{9}}
+\CJKvlet{bx/n/ff/63}{m/n/ff/63}
+\CJKvdef{m/n/ff/91}{\def\CJK@plane{v}\selectfont\CJKsymbol{10}}
+\CJKvlet{bx/n/ff/91}{m/n/ff/91}
+\CJKvdef{m/n/ff/93}{\def\CJK@plane{v}\selectfont\CJKsymbol{11}}
+\CJKvlet{bx/n/ff/93}{m/n/ff/93}
+\CJKvdef{m/n/ff/94}{\def\CJK@plane{v}\selectfont\CJKsymbol{12}}
+\CJKvlet{bx/n/ff/94}{m/n/ff/94}
+\CJKvdef{m/n/20/19}{\def\CJK@plane{v}\selectfont\CJKsymbol{13}}
+\CJKvlet{bx/n/20/19}{m/n/20/19}
+\CJKvdef{m/n/20/20}{\def\CJK@plane{v}\selectfont\CJKsymbol{14}}
+\CJKvlet{bx/n/20/20}{m/n/20/20}
+\CJKvdef{m/n/20/37}{\def\CJK@plane{v}\selectfont\CJKsymbol{15}}
+\CJKvlet{bx/n/20/37}{m/n/20/37}
+\CJKvdef{m/n/20/38}{\def\CJK@plane{v}\selectfont\CJKsymbol{16}}
+\CJKvlet{bx/n/20/38}{m/n/20/38}
+\CJKvdef{m/n/21/144}{\def\CJK@plane{v}\selectfont\CJKsymbol{17}}
+\CJKvlet{bx/n/21/144}{m/n/21/144}
+\CJKvdef{m/n/21/145}{\def\CJK@plane{v}\selectfont\CJKsymbol{18}}
+\CJKvlet{bx/n/21/145}{m/n/21/145}
+\CJKvdef{m/n/21/146}{\def\CJK@plane{v}\selectfont\CJKsymbol{19}}
+\CJKvlet{bx/n/21/146}{m/n/21/146}
+\CJKvdef{m/n/21/147}{\def\CJK@plane{v}\selectfont\CJKsymbol{20}}
+\CJKvlet{bx/n/21/147}{m/n/21/147}
+\CJKvdef{m/n/22/35}{\def\CJK@plane{v}\selectfont\CJKsymbol{21}}
+\CJKvlet{bx/n/22/35}{m/n/22/35}
+\CJKvdef{m/n/22/37}{\def\CJK@plane{v}\selectfont\CJKsymbol{22}}
+\CJKvlet{bx/n/22/37}{m/n/22/37}
+\CJKvdef{m/n/25/0}{\def\CJK@plane{v}\selectfont\CJKsymbol{23}}
+\CJKvlet{bx/n/25/0}{m/n/25/0}
+\CJKvdef{m/n/25/2}{\def\CJK@plane{v}\selectfont\CJKsymbol{24}}
+\CJKvlet{bx/n/25/2}{m/n/25/2}
+\CJKvdef{m/n/25/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{25}}
+\CJKvlet{bx/n/25/12}{m/n/25/12}
+\CJKvdef{m/n/25/16}{\def\CJK@plane{v}\selectfont\CJKsymbol{26}}
+\CJKvlet{bx/n/25/16}{m/n/25/16}
+\CJKvdef{m/n/25/20}{\def\CJK@plane{v}\selectfont\CJKsymbol{27}}
+\CJKvlet{bx/n/25/20}{m/n/25/20}
+\CJKvdef{m/n/25/24}{\def\CJK@plane{v}\selectfont\CJKsymbol{28}}
+\CJKvlet{bx/n/25/24}{m/n/25/24}
+\CJKvdef{m/n/25/28}{\def\CJK@plane{v}\selectfont\CJKsymbol{29}}
+\CJKvlet{bx/n/25/28}{m/n/25/28}
+\CJKvdef{m/n/25/36}{\def\CJK@plane{v}\selectfont\CJKsymbol{30}}
+\CJKvlet{bx/n/25/36}{m/n/25/36}
+\CJKvdef{m/n/25/44}{\def\CJK@plane{v}\selectfont\CJKsymbol{31}}
+\CJKvlet{bx/n/25/44}{m/n/25/44}
+\CJKvdef{m/n/25/52}{\def\CJK@plane{v}\selectfont\CJKsymbol{32}}
+\CJKvlet{bx/n/25/52}{m/n/25/52}
+\CJKvdef{m/n/25/80}{\def\CJK@plane{v}\selectfont\CJKsymbol{33}}
+\CJKvlet{bx/n/25/80}{m/n/25/80}
+\CJKvdef{m/n/25/81}{\def\CJK@plane{v}\selectfont\CJKsymbol{34}}
+\CJKvlet{bx/n/25/81}{m/n/25/81}
+\CJKvdef{m/n/25/82}{\def\CJK@plane{v}\selectfont\CJKsymbol{35}}
+\CJKvlet{bx/n/25/82}{m/n/25/82}
+\CJKvdef{m/n/25/83}{\def\CJK@plane{v}\selectfont\CJKsymbol{36}}
+\CJKvlet{bx/n/25/83}{m/n/25/83}
+\CJKvdef{m/n/25/84}{\def\CJK@plane{v}\selectfont\CJKsymbol{37}}
+\CJKvlet{bx/n/25/84}{m/n/25/84}
+\CJKvdef{m/n/25/85}{\def\CJK@plane{v}\selectfont\CJKsymbol{38}}
+\CJKvlet{bx/n/25/85}{m/n/25/85}
+\CJKvdef{m/n/25/86}{\def\CJK@plane{v}\selectfont\CJKsymbol{39}}
+\CJKvlet{bx/n/25/86}{m/n/25/86}
+\CJKvdef{m/n/25/87}{\def\CJK@plane{v}\selectfont\CJKsymbol{40}}
+\CJKvlet{bx/n/25/87}{m/n/25/87}
+\CJKvdef{m/n/25/88}{\def\CJK@plane{v}\selectfont\CJKsymbol{41}}
+\CJKvlet{bx/n/25/88}{m/n/25/88}
+\CJKvdef{m/n/25/89}{\def\CJK@plane{v}\selectfont\CJKsymbol{42}}
+\CJKvlet{bx/n/25/89}{m/n/25/89}
+\CJKvdef{m/n/25/90}{\def\CJK@plane{v}\selectfont\CJKsymbol{43}}
+\CJKvlet{bx/n/25/90}{m/n/25/90}
+\CJKvdef{m/n/25/91}{\def\CJK@plane{v}\selectfont\CJKsymbol{44}}
+\CJKvlet{bx/n/25/91}{m/n/25/91}
+\CJKvdef{m/n/25/92}{\def\CJK@plane{v}\selectfont\CJKsymbol{45}}
+\CJKvlet{bx/n/25/92}{m/n/25/92}
+\CJKvdef{m/n/25/93}{\def\CJK@plane{v}\selectfont\CJKsymbol{46}}
+\CJKvlet{bx/n/25/93}{m/n/25/93}
+\CJKvdef{m/n/25/94}{\def\CJK@plane{v}\selectfont\CJKsymbol{47}}
+\CJKvlet{bx/n/25/94}{m/n/25/94}
+\CJKvdef{m/n/25/95}{\def\CJK@plane{v}\selectfont\CJKsymbol{48}}
+\CJKvlet{bx/n/25/95}{m/n/25/95}
+\CJKvdef{m/n/25/96}{\def\CJK@plane{v}\selectfont\CJKsymbol{49}}
+\CJKvlet{bx/n/25/96}{m/n/25/96}
+\CJKvdef{m/n/25/97}{\def\CJK@plane{v}\selectfont\CJKsymbol{50}}
+\CJKvlet{bx/n/25/97}{m/n/25/97}
+\CJKvdef{m/n/25/98}{\def\CJK@plane{v}\selectfont\CJKsymbol{51}}
+\CJKvlet{bx/n/25/98}{m/n/25/98}
+\CJKvdef{m/n/25/99}{\def\CJK@plane{v}\selectfont\CJKsymbol{52}}
+\CJKvlet{bx/n/25/99}{m/n/25/99}
+\CJKvdef{m/n/25/100}{\def\CJK@plane{v}\selectfont\CJKsymbol{53}}
+\CJKvlet{bx/n/25/100}{m/n/25/100}
+\CJKvdef{m/n/25/101}{\def\CJK@plane{v}\selectfont\CJKsymbol{54}}
+\CJKvlet{bx/n/25/101}{m/n/25/101}
+\CJKvdef{m/n/25/102}{\def\CJK@plane{v}\selectfont\CJKsymbol{55}}
+\CJKvlet{bx/n/25/102}{m/n/25/102}
+\CJKvdef{m/n/25/103}{\def\CJK@plane{v}\selectfont\CJKsymbol{56}}
+\CJKvlet{bx/n/25/103}{m/n/25/103}
+\CJKvdef{m/n/25/104}{\def\CJK@plane{v}\selectfont\CJKsymbol{57}}
+\CJKvlet{bx/n/25/104}{m/n/25/104}
+\CJKvdef{m/n/25/105}{\def\CJK@plane{v}\selectfont\CJKsymbol{58}}
+\CJKvlet{bx/n/25/105}{m/n/25/105}
+\CJKvdef{m/n/25/106}{\def\CJK@plane{v}\selectfont\CJKsymbol{59}}
+\CJKvlet{bx/n/25/106}{m/n/25/106}
+\CJKvdef{m/n/25/107}{\def\CJK@plane{v}\selectfont\CJKsymbol{60}}
+\CJKvlet{bx/n/25/107}{m/n/25/107}
+\CJKvdef{m/n/25/109}{\def\CJK@plane{v}\selectfont\CJKsymbol{61}}
+\CJKvlet{bx/n/25/109}{m/n/25/109}
+\CJKvdef{m/n/25/110}{\def\CJK@plane{v}\selectfont\CJKsymbol{62}}
+\CJKvlet{bx/n/25/110}{m/n/25/110}
+\CJKvdef{m/n/25/111}{\def\CJK@plane{v}\selectfont\CJKsymbol{63}}
+\CJKvlet{bx/n/25/111}{m/n/25/111}
+\CJKvdef{m/n/25/112}{\def\CJK@plane{v}\selectfont\CJKsymbol{64}}
+\CJKvlet{bx/n/25/112}{m/n/25/112}
+\CJKvdef{m/n/25/116}{\def\CJK@plane{v}\selectfont\CJKsymbol{65}}
+\CJKvlet{bx/n/25/116}{m/n/25/116}
+\CJKvdef{m/n/30/1}{\def\CJK@plane{v}\selectfont\CJKsymbol{66}}
+\CJKvlet{bx/n/30/1}{m/n/30/1}
+\CJKvdef{m/n/30/2}{\def\CJK@plane{v}\selectfont\CJKsymbol{67}}
+\CJKvlet{bx/n/30/2}{m/n/30/2}
+\CJKvdef{m/n/30/8}{\def\CJK@plane{v}\selectfont\CJKsymbol{68}}
+\CJKvlet{bx/n/30/8}{m/n/30/8}
+\CJKvdef{m/n/30/9}{\def\CJK@plane{v}\selectfont\CJKsymbol{69}}
+\CJKvlet{bx/n/30/9}{m/n/30/9}
+\CJKvdef{m/n/30/10}{\def\CJK@plane{v}\selectfont\CJKsymbol{70}}
+\CJKvlet{bx/n/30/10}{m/n/30/10}
+\CJKvdef{m/n/30/11}{\def\CJK@plane{v}\selectfont\CJKsymbol{71}}
+\CJKvlet{bx/n/30/11}{m/n/30/11}
+\CJKvdef{m/n/30/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{72}}
+\CJKvlet{bx/n/30/12}{m/n/30/12}
+\CJKvdef{m/n/30/13}{\def\CJK@plane{v}\selectfont\CJKsymbol{73}}
+\CJKvlet{bx/n/30/13}{m/n/30/13}
+\CJKvdef{m/n/30/14}{\def\CJK@plane{v}\selectfont\CJKsymbol{74}}
+\CJKvlet{bx/n/30/14}{m/n/30/14}
+\CJKvdef{m/n/30/15}{\def\CJK@plane{v}\selectfont\CJKsymbol{75}}
+\CJKvlet{bx/n/30/15}{m/n/30/15}
+\CJKvdef{m/n/30/16}{\def\CJK@plane{v}\selectfont\CJKsymbol{76}}
+\CJKvlet{bx/n/30/16}{m/n/30/16}
+\CJKvdef{m/n/30/17}{\def\CJK@plane{v}\selectfont\CJKsymbol{77}}
+\CJKvlet{bx/n/30/17}{m/n/30/17}
+\CJKvdef{m/n/30/20}{\def\CJK@plane{v}\selectfont\CJKsymbol{78}}
+\CJKvlet{bx/n/30/20}{m/n/30/20}
+\CJKvdef{m/n/30/21}{\def\CJK@plane{v}\selectfont\CJKsymbol{79}}
+\CJKvlet{bx/n/30/21}{m/n/30/21}
+\CJKvdef{m/n/fe/79}{\def\CJK@plane{v}\selectfont\CJKsymbol{80}}
+\CJKvlet{bx/n/fe/79}{m/n/fe/79}
+\CJKvdef{m/n/fe/80}{\def\CJK@plane{v}\selectfont\CJKsymbol{81}}
+\CJKvlet{bx/n/fe/80}{m/n/fe/80}
+\CJKvdef{m/n/fe/81}{\def\CJK@plane{v}\selectfont\CJKsymbol{82}}
+\CJKvlet{bx/n/fe/81}{m/n/fe/81}
+\CJKvdef{m/n/fe/82}{\def\CJK@plane{v}\selectfont\CJKsymbol{83}}
+\CJKvlet{bx/n/fe/82}{m/n/fe/82}
+\CJKvdef{m/n/fe/89}{\def\CJK@plane{v}\selectfont\CJKsymbol{84}}
+\CJKvlet{bx/n/fe/89}{m/n/fe/89}
+\CJKvdef{m/n/fe/90}{\def\CJK@plane{v}\selectfont\CJKsymbol{85}}
+\CJKvlet{bx/n/fe/90}{m/n/fe/90}
+\CJKvdef{m/n/fe/91}{\def\CJK@plane{v}\selectfont\CJKsymbol{86}}
+\CJKvlet{bx/n/fe/91}{m/n/fe/91}
+\CJKvdef{m/n/fe/92}{\def\CJK@plane{v}\selectfont\CJKsymbol{87}}
+\CJKvlet{bx/n/fe/92}{m/n/fe/92}
+\CJKvdef{m/n/fe/93}{\def\CJK@plane{v}\selectfont\CJKsymbol{88}}
+\CJKvlet{bx/n/fe/93}{m/n/fe/93}
+\CJKvdef{m/n/fe/94}{\def\CJK@plane{v}\selectfont\CJKsymbol{89}}
+\CJKvlet{bx/n/fe/94}{m/n/fe/94}
+\CJKvdef{m/n/20/62}{\def\CJK@plane{v}\selectfont\CJKsymbol{90}}
+\CJKvlet{bx/n/20/62}{m/n/20/62}
+
+\gdef\CJK@cmap@bsmiv{
+ \expandafter\ifx\csname CJK@CMap@bsmiv\endcsname \relax
+ \immediate\pdfobj stream {
+ /CIDInit\space/ProcSet\space findresource\space begin\space
+ 12\space dict\space begin\space
+ begincmap\space
+ /CIDSystemInfo\space <<\space
+ /Registry\space (TeX)\space
+ /Ordering\space (bsmiv)\space
+ /Supplement\space 0\space >>\space def\space
+ /CMapName\space /TeX-bsmiv-0\space def\space
+ 1\space begincodespacerange\space
+ <00>\space <FF>\space
+ endcodespacerange\space
+ 91\space beginbfchar\space
+ <00>\space <00AF>\space
+ <01>\space <00B7>\space
+ <02>\space <02CD>\space
+ <03>\space <FF08>\space
+ <04>\space <FF09>\space
+ <05>\space <FF0C>\space
+ <06>\space <FF0E>\space
+ <07>\space <FF3B>\space
+ <08>\space <FF3D>\space
+ <09>\space <FF3F>\space
+ <0A>\space <FF5B>\space
+ <0B>\space <FF5D>\space
+ <0C>\space <FF5E>\space
+ <0D>\space <2013>\space
+ <0E>\space <2014>\space
+ <0F>\space <2025>\space
+ <10>\space <2026>\space
+ <11>\space <2190>\space
+ <12>\space <2191>\space
+ <13>\space <2192>\space
+ <14>\space <2193>\space
+ <15>\space <2223>\space
+ <16>\space <2225>\space
+ <17>\space <2500>\space
+ <18>\space <2502>\space
+ <19>\space <250C>\space
+ <1A>\space <2510>\space
+ <1B>\space <2514>\space
+ <1C>\space <2518>\space
+ <1D>\space <251C>\space
+ <1E>\space <2524>\space
+ <1F>\space <252C>\space
+ <20>\space <2534>\space
+ <21>\space <2550>\space
+ <22>\space <2551>\space
+ <23>\space <2552>\space
+ <24>\space <2553>\space
+ <25>\space <2554>\space
+ <26>\space <2555>\space
+ <27>\space <2556>\space
+ <28>\space <2557>\space
+ <29>\space <2558>\space
+ <2A>\space <2559>\space
+ <2B>\space <255A>\space
+ <2C>\space <255B>\space
+ <2D>\space <255C>\space
+ <2E>\space <255D>\space
+ <2F>\space <255E>\space
+ <30>\space <255F>\space
+ <31>\space <2560>\space
+ <32>\space <2561>\space
+ <33>\space <2562>\space
+ <34>\space <2563>\space
+ <35>\space <2564>\space
+ <36>\space <2565>\space
+ <37>\space <2566>\space
+ <38>\space <2567>\space
+ <39>\space <2568>\space
+ <3A>\space <2569>\space
+ <3B>\space <256A>\space
+ <3C>\space <256B>\space
+ <3D>\space <256D>\space
+ <3E>\space <256E>\space
+ <3F>\space <256F>\space
+ <40>\space <2570>\space
+ <41>\space <2574>\space
+ <42>\space <3001>\space
+ <43>\space <3002>\space
+ <44>\space <3008>\space
+ <45>\space <3009>\space
+ <46>\space <300A>\space
+ <47>\space <300B>\space
+ <48>\space <300C>\space
+ <49>\space <300D>\space
+ <4A>\space <300E>\space
+ <4B>\space <300F>\space
+ <4C>\space <3010>\space
+ <4D>\space <3011>\space
+ <4E>\space <3014>\space
+ <4F>\space <3015>\space
+ <50>\space <FE4F>\space
+ <51>\space <FE50>\space
+ <52>\space <FE51>\space
+ <53>\space <FE52>\space
+ <54>\space <FE59>\space
+ <55>\space <FE5A>\space
+ <56>\space <FE5B>\space
+ <57>\space <FE5C>\space
+ <58>\space <FE5D>\space
+ <59>\space <FE5E>\space
+ <5A>\space <203E>\space
+ endbfchar\space
+ endcmap\space
+ CMapName\space currentdict\space /CMap\space defineresource\space
+ pop\space
+ end\space
+ end\space}
+ \expandafter\xdef\csname CJK@CMap@bsmiv\endcsname{
+ \the\pdflastobj}
+ \fi
+ \pdffontattr\font@name{
+ /ToUnicode\space\csname CJK@CMap@bsmiv\endcsname\space 0\space R}
+}
+
+% This font doesn't contain a glyph for U+3007, but it has U+25CB.
+
+\CJKhdef{m/n/30/7}{\def\CJK@plane{25}\selectfont\CJKsymbol{203}}
+\CJKhlet{bx/n/30/7}{m/n/30/7}
+\CJKvdef{m/n/30/7}{\def\CJK@plane{25}\selectfont\CJKsymbol{203}}
+\CJKvlet{bx/n/30/7}{m/n/30/7}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70gbsn.fd b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70gbsn.fd
new file mode 100644
index 0000000000..d3f68d1edf
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70gbsn.fd
@@ -0,0 +1,21 @@
+% This is the file c70gbsn.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c70gbsn.fd}[\filedate\space\fileversion]
+
+
+% character set: GB
+% font encoding: Unicode
+
+\DeclareFontFamily{C70}{gbsn}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C70}{gbsn}{m}{n}{<-> CJK * gbsnu}{\CJKnormal}
+\DeclareFontShape{C70}{gbsn}{bx}{n}{<-> CJKb * gbsnu}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70gbsn.fdx b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70gbsn.fdx
new file mode 100644
index 0000000000..2a171dcc03
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70gbsn.fdx
@@ -0,0 +1,15 @@
+% This is the file c70gbsn.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c70gbsn.fdx}[\filedate\space\fileversion]
+
+% This font doesn't contain a glyph for U+3007, but it has U+25CB.
+
+\CJKhdef{m/n/30/7}{\def\CJK@plane{25}\selectfont\CJKsymbol{203}}
+\CJKhlet{bx/n/30/7}{m/n/30/7}
+\CJKvdef{m/n/30/7}{\def\CJK@plane{25}\selectfont\CJKsymbol{203}}
+\CJKvlet{bx/n/30/7}{m/n/30/7}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70gkai.fd b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70gkai.fd
new file mode 100644
index 0000000000..1c17567194
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70gkai.fd
@@ -0,0 +1,21 @@
+% This is the file c70gkai.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c70gkai.fd}[\filedate\space\fileversion]
+
+
+% character set: GB
+% font encoding: Unicode
+
+\DeclareFontFamily{C70}{gkai}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C70}{gkai}{m}{n}{<-> CJK * gkaiu}{\CJKnormal}
+\DeclareFontShape{C70}{gkai}{bx}{n}{<-> CJKb * gkaiu}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70gkai.fdx b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70gkai.fdx
new file mode 100644
index 0000000000..5fa017a258
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70gkai.fdx
@@ -0,0 +1,15 @@
+% This is the file c70gkai.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c70gkai.fdx}[\filedate\space\fileversion]
+
+% This font doesn't contain a glyph for U+3007, but it has U+25CB.
+
+\CJKhdef{m/n/30/7}{\def\CJK@plane{25}\selectfont\CJKsymbol{203}}
+\CJKhlet{bx/n/30/7}{m/n/30/7}
+\CJKvdef{m/n/30/7}{\def\CJK@plane{25}\selectfont\CJKsymbol{203}}
+\CJKvlet{bx/n/30/7}{m/n/30/7}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70mj.fd b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70mj.fd
new file mode 100644
index 0000000000..e803afcea3
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70mj.fd
@@ -0,0 +1,51 @@
+% This is the file c70mj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c70mj.fd}[\filedate\space\fileversion]
+
+
+% character set: KS X 1001
+% font encoding: Unicode
+
+\DeclareFontFamily{C70}{mj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C70}{mj}{c}{n}{<-> CJK * uwmjc}{}
+\DeclareFontShape{C70}{mj}{c}{sl}{<-> CJK * uwmjco}{}
+\DeclareFontShape{C70}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{}
+
+\DeclareFontShape{C70}{mj}{m}{n}{<-> CJK * uwmj}{}
+\DeclareFontShape{C70}{mj}{m}{sl}{<-> CJK * uwmjo}{}
+\DeclareFontShape{C70}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{}
+
+\DeclareFontShape{C70}{mj}{x}{n}{<-> CJK * uwmjx}{}
+\DeclareFontShape{C70}{mj}{x}{sl}{<-> CJK * uwmjxo}{}
+\DeclareFontShape{C70}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{}
+
+\DeclareFontShape{C70}{mj}{ux}{n}{<-> CJK * uwmju}{}
+\DeclareFontShape{C70}{mj}{ux}{sl}{<-> CJK * uwmjuo}{}
+\DeclareFontShape{C70}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{}
+
+
+\DeclareFontShape{C70}{mj}{bc}{n}{<-> CJKb * uwmjc}{\CJKbold}
+\DeclareFontShape{C70}{mj}{bc}{sl}{<-> CJKb * uwmjco}{\CJKbold}
+\DeclareFontShape{C70}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{}
+
+\DeclareFontShape{C70}{mj}{b}{n}{<-> CJKb * uwmj}{\CJKbold}
+\DeclareFontShape{C70}{mj}{b}{sl}{<-> CJKb * uwmjo}{\CJKbold}
+\DeclareFontShape{C70}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{}
+
+\DeclareFontShape{C70}{mj}{bx}{n}{<-> CJKb * uwmjx}{\CJKbold}
+\DeclareFontShape{C70}{mj}{bx}{sl}{<-> CJKb * uwmjxo}{\CJKbold}
+\DeclareFontShape{C70}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{}
+
+\DeclareFontShape{C70}{mj}{bux}{n}{<-> CJKb * uwmju}{\CJKbold}
+\DeclareFontShape{C70}{mj}{bux}{sl}{<-> CJKb * uwmjuo}{\CJKbold}
+\DeclareFontShape{C70}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70mj.fdx b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70mj.fdx
new file mode 100644
index 0000000000..d5c0f741d7
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70mj.fdx
@@ -0,0 +1,15 @@
+% This is the file c70mj.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c70mj.fdx}[\filedate\space\fileversion]
+
+% This font doesn't contain a glyph for U+3007, but it has U+25CB.
+
+\CJKhdef{m/n/30/7}{\def\CJK@plane{25}\selectfont\CJKsymbol{203}}
+\CJKhlet{bx/n/30/7}{m/n/30/7}
+\CJKvdef{m/n/30/7}{\def\CJK@plane{25}\selectfont\CJKsymbol{203}}
+\CJKvlet{bx/n/30/7}{m/n/30/7}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70song.fd b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70song.fd
new file mode 100644
index 0000000000..4e41f9aef9
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/c70song.fd
@@ -0,0 +1,21 @@
+% This is the file c70song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c70song.fd}[\filedate\space\fileversion]
+
+
+% character set: Unicode U+0080 - U+FFFD
+% font encoding: Unicode
+
+\DeclareFontFamily{C70}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C70}{song}{m}{n}{<-> CJK * cyberb}{\CJKnormal}
+\DeclareFontShape{C70}{song}{bx}{n}{<-> CJKb * cyberb}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/ja.cpx b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/ja.cpx
new file mode 100644
index 0000000000..c6a16371d3
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/ja.cpx
@@ -0,0 +1,83 @@
+% This is the file ja.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{ja.cpx}[\filedate\space\fileversion]
+
+
+% Japanese captions
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% encoding: UTF-8
+
+\newif\ifheisei
+\let\ifheisei=\iffalse
+\def\heisei{\let\ifheisei=\iftrue}
+
+\renewcommand\contentsname{目次}
+
+\renewcommand\listfigurename{図目次}
+% \newcommand\listfigurename{図一覧}
+
+\renewcommand\listtablename{表目次}
+% \newcommand\listtablename{表一覧}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{参考文献}
+ }
+ {\renewcommand\bibname{関連書籍}
+% \renewcommand\bibname{参考文献}
+ }
+\renewcommand\indexname{索引}
+
+\renewcommand\figurename{図}
+\renewcommand\tablename{表}
+
+\newcommand\prepartname{第}
+\newcommand\postpartname{部}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+% \renewcommand{\appendixname}{附録}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{要旨}}{}
+
+\renewcommand\today{{\ifheisei\count0=\year\else\count0=\year
+ \advance\count0 -1988 平成\,\fi
+ \ifnum\count0=1 元\else\number\count0\fi
+ \,年\hspace{.5em}\nobreak\number\month
+ \,月\hspace{.5em}\nobreak\number\day\,日}}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber #1{\ifcase #1\or
+ 一\or 二\or 三\or 四\or 五\or
+ 六\or 七\or 八\or 九\or 十\fi}}{}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/ko-Hang.cpx b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/ko-Hang.cpx
new file mode 100644
index 0000000000..44b7dc614c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/ko-Hang.cpx
@@ -0,0 +1,74 @@
+% This is the file ko-Hang.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{ko-Hang.cpx}[\filedate\space\fileversion]
+
+
+% Hangul captions
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: UTF-8
+
+\renewcommand\contentsname{목차}
+\renewcommand\listfigurename{그림~목차}
+\renewcommand\listtablename{표~목차}
+\renewcommand\indexname{색인}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{참고~서적}}
+ {\renewcommand\bibname{참고~문헌}}
+
+\renewcommand\figurename{그림}
+\renewcommand\tablename{표}
+
+\newcommand\prepartname{제}
+\newcommand\postpartname{부}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{제}
+% \newcommand\postchaptername{장}
+% \newcommand\presectionname{제}
+% \newcommand\postsectionname{절}
+% \renewcommand\appendixname{부록}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{요약}}{}
+
+% \renewcommand\ccname{사본}
+% \renewcommand\enclname{첨부물}% 혹은 동봉물
+% \renewcommand\pagename{페이지~}
+% \renewcommand\headtoname{받는이}
+% \renewcommand\seename{참조}
+
+\renewcommand{\today}{\number\year 년~\number\month 월~\number\day 일}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/ko-Hang2.cpx b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/ko-Hang2.cpx
new file mode 100644
index 0000000000..9635d4f587
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/ko-Hang2.cpx
@@ -0,0 +1,74 @@
+% This is the file ko-Hang2.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{ko-Hang2.cpx}[\filedate\space\fileversion]
+
+
+% Hangul captions set 2
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: UTF-8
+
+\renewcommand\contentsname{차례}
+\renewcommand\listfigurename{그림~차례}
+\renewcommand\listtablename{표~차례}
+\renewcommand\indexname{찾아보기}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{참고~서적}}
+ {\renewcommand\bibname{참고~문헌}}
+
+\renewcommand\figurename{그림}
+\renewcommand\tablename{표}
+
+\newcommand\prepartname{제}
+\newcommand\postpartname{부}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{제}
+% \newcommand\postchaptername{장}
+% \newcommand\presectionname{제}
+% \newcommand\postsectionname{절}
+% \renewcommand\appendixname{부록}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{요약}}{}
+
+% \renewcommand\ccname{사본}
+% \renewcommand\enclname{첨부물}% 혹은 동봉물
+% \renewcommand\pagename{페이지~}
+% \renewcommand\headtoname{받는이}
+% \renewcommand\seename{참조}
+
+\renewcommand{\today}{\number\year 년~\number\month 월~\number\day 일}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/ko-Hani.cpx b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/ko-Hani.cpx
new file mode 100644
index 0000000000..68d68f9f57
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/ko-Hani.cpx
@@ -0,0 +1,74 @@
+% This is the file ko-Hani.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <a7971428@unet.univie.ac.at>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{ko-Hani.cpx}[\filedate\space\fileversion]
+
+
+% Hanja captions
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: UTF-8
+
+\renewcommand\contentsname{目次}
+\renewcommand\listfigurename{그림~目次}
+\renewcommand\listtablename{表~目次}
+\renewcommand\indexname{索引}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{參考~書籍}}
+ {\renewcommand\bibname{參考~文獻}}
+
+\renewcommand\figurename{그림}
+\renewcommand\tablename{表}
+
+\newcommand\prepartname{第}
+\newcommand\postpartname{篇}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{第}
+% \newcommand\postchaptername{章}
+% \newcommand\presectionname{第}
+% \newcommand\postsectionname{節}
+% \newcommand\appendixname{附錄}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{要~約}}{}
+
+% \renewcommand\ccname{寫本}
+% \renewcommand\enclname{添附物}% 혹은 동봉물
+% \renewcommand\pagename{페이지}
+% \renewcommand\headtoname{受信人}
+% \renewcommand\seename{參照}
+
+\renewcommand{\today}{\number\year 年~\number\month 月~\number\day 日}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/zh-Hans.cpx b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/zh-Hans.cpx
new file mode 100644
index 0000000000..f526089d33
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/zh-Hans.cpx
@@ -0,0 +1,86 @@
+% This is the file zh-Hans.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{zh-Hans.cpx}[\filedate\space\fileversion]
+
+
+% Chinese captions
+%
+% character set: GB 2312-80
+% encoding: EUC
+
+\renewcommand\contentsname{目录}
+\renewcommand\listfigurename{插图}
+\renewcommand\listtablename{表格}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{参考文献}}
+ {\renewcommand\bibname{参考文献}}
+
+\renewcommand\indexname{索引}
+
+\newcommand\prefigurename{第}
+\newcommand\postfigurename{图}
+\renewcommand\figureformat{\prefigurename~\thefigure~\postfigurename}
+
+\newcommand\pretablename{第}
+\newcommand\posttablename{表}
+\renewcommand\tableformat{\pretablename~\thetable~\posttablename}
+
+\newcommand\prepartname{第}
+\newcommand\postpartname{部分}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+% \newcommand\prechaptername{第}
+% \newcommand\postchaptername{章}
+% \newcommand\presectionname{第}
+% \newcommand\postsectionname{节}
+% \newcommand\preappendixname{第}
+% \newcommand\postappendixname{附录}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{摘要}}{}
+
+% \renewcommand\ccname{} % ?
+% \renewcommand\enclname{附件}
+% \newcommand\prepagename{} % ?
+% \newcommand\postpagename{} % ?
+% \renewcommand\headtoname{} % ?
+% \renewcommand\seename{} % ?
+
+\renewcommand\today{\number\year 年\number\month 月\number\day 日}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{\ifcase #1\or
+ 一\or 二\or 三\or 四\or 五\or
+ 六\or 七\or 八\or 九\or 十\fi}}{}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/zh-Hant.cpx b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/zh-Hant.cpx
new file mode 100644
index 0000000000..388f600aa8
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/UTF8/zh-Hant.cpx
@@ -0,0 +1,86 @@
+% This is the file zh-Hant.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{zh-Hant.cpx}[\filedate\space\fileversion]
+
+
+% Chinese captions
+%
+% character set: Big 5
+% encoding: UTF-8
+
+\renewcommand\contentsname{目~~錄}
+\renewcommand\listfigurename{圖~目~錄}
+\renewcommand\listtablename{表~目~錄}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{參~考~資~料}
+ %\renewcommand\refname{參~考~文~獻}
+ }
+ {\renewcommand\bibname{文~~獻}
+ %\renewcommand\bibname{參~考~書~目}
+% \newcommand\prechaptername{第}
+% \newcommand\postchaptername{章}
+ }
+
+\renewcommand\indexname{索~引}
+
+\renewcommand\figurename{圖}
+\renewcommand\tablename{表}
+
+\newcommand\prepartname{第}
+\newcommand\postpartname{部}
+%\newcommand{\postpartname}{部分}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+
+% \newcommand\presectionname{第}
+% \newcommand\postsectionname{節}
+% \renewcommand\appendixname{附~錄}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{摘~要}}{}
+
+% \renewcommand\ccname{} % ?
+% \renewcommand\enclname{附件}
+% \newcommand\prepagename{} % ?
+% \newcommand\postpagename{} % ?
+% \renewcommand\headtoname{} % ?
+% \renewcommand\seename{} % ?
+
+\renewcommand{\today}{\number\year 年 \number\month 月 \number\day 日}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{\ifcase #1\or
+ 一\or 二\or 三\or 四\or 五\or
+ 六\or 七\or 八\or 九\or 十\fi}}{}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/extended.chr b/language/chinese/CJK/cjk-4.8.4/texinput/extended.chr
new file mode 100644
index 0000000000..49e09b5f8e
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/extended.chr
@@ -0,0 +1,219 @@
+% This is the file extended.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{extended.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling extended encodings (GBK, Big5+).
+
+\gdef\CJK@extendedChr{
+ \CJK@global\chardef\CJK@gap "07F\relax
+
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##3\relax
+ \ifnum ##3 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \fi
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \ifnum ##4 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \advance\@tempcntb \@ne
+ \fi
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% for punctuation.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##4}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \ifnum ##4 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \fi
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+ \CJK@global\def\CJK@punctcharx##1##2##3##4##5{
+ {\ifnum ##5 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##5 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##5}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##5\relax
+ \@tempcntb 256\relax
+ \ifnum ##5 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \advance\@tempcntb \@ne
+ \fi
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcntb -##4\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##5 < \@temp
+ \edef\CJK@plane{##2}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##3}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/extended.enc b/language/chinese/CJK/cjk-4.8.4/texinput/extended.enc
new file mode 100644
index 0000000000..73d2ecee86
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/extended.enc
@@ -0,0 +1,289 @@
+% This is the file extended.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{extended.enc}[\filedate\space\fileversion]
+
+
+% extended encoding:
+% each plane has 190 characters (GBK, Big5+) (0x40-0x7E, 0x80-0xFE).
+
+\gdef\CJK@extendedEncoding{
+ \CJK@loadChr{extended}
+
+ \CJK@namegdef{^^81}##1{\CJK@disableMakeUppercase
+ \CJK@char {01}{-64}{##1}}
+ \CJK@namegdef{^^82}##1{\CJK@disableMakeUppercase
+ \CJK@charx{01}{02}{126}{##1}}
+ \CJK@namegdef{^^83}##1{\CJK@disableMakeUppercase
+ \CJK@charx{02}{03}{ 60}{##1}}
+ \CJK@namegdef{^^84}##1{\CJK@disableMakeUppercase
+ \CJK@char {03}{ -6}{##1}}
+ \CJK@namegdef{^^85}##1{\CJK@disableMakeUppercase
+ \CJK@charx{03}{04}{184}{##1}}
+ \CJK@namegdef{^^86}##1{\CJK@disableMakeUppercase
+ \CJK@charx{04}{05}{118}{##1}}
+ \CJK@namegdef{^^87}##1{\CJK@disableMakeUppercase
+ \CJK@charx{05}{06}{ 52}{##1}}
+ \CJK@namegdef{^^88}##1{\CJK@disableMakeUppercase
+ \CJK@char {06}{-14}{##1}}
+ \CJK@namegdef{^^89}##1{\CJK@disableMakeUppercase
+ \CJK@charx{06}{07}{176}{##1}}
+ \CJK@namegdef{^^8a}##1{\CJK@disableMakeUppercase
+ \CJK@charx{07}{08}{110}{##1}}
+ \CJK@namegdef{^^8b}##1{\CJK@disableMakeUppercase
+ \CJK@charx{08}{09}{ 44}{##1}}
+ \CJK@namegdef{^^8c}##1{\CJK@disableMakeUppercase
+ \CJK@char {09}{-22}{##1}}
+ \CJK@namegdef{^^8d}##1{\CJK@disableMakeUppercase
+ \CJK@charx{09}{10}{168}{##1}}
+ \CJK@namegdef{^^8e}##1{\CJK@disableMakeUppercase
+ \CJK@charx{10}{11}{102}{##1}}
+ \CJK@namegdef{^^8f}##1{\CJK@disableMakeUppercase
+ \CJK@charx{11}{12}{ 36}{##1}}
+ \CJK@namegdef{^^90}##1{\CJK@disableMakeUppercase
+ \CJK@char {12}{-30}{##1}}
+ \CJK@namegdef{^^91}##1{\CJK@disableMakeUppercase
+ \CJK@charx{12}{13}{160}{##1}}
+ \CJK@namegdef{^^92}##1{\CJK@disableMakeUppercase
+ \CJK@charx{13}{14}{ 94}{##1}}
+ \CJK@namegdef{^^93}##1{\CJK@disableMakeUppercase
+ \CJK@charx{14}{15}{ 28}{##1}}
+ \CJK@namegdef{^^94}##1{\CJK@disableMakeUppercase
+ \CJK@char {15}{-38}{##1}}
+ \CJK@namegdef{^^95}##1{\CJK@disableMakeUppercase
+ \CJK@charx{15}{16}{152}{##1}}
+ \CJK@namegdef{^^96}##1{\CJK@disableMakeUppercase
+ \CJK@charx{16}{17}{ 86}{##1}}
+ \CJK@namegdef{^^97}##1{\CJK@disableMakeUppercase
+ \CJK@charx{17}{18}{ 20}{##1}}
+ \CJK@namegdef{^^98}##1{\CJK@disableMakeUppercase
+ \CJK@char {18}{-46}{##1}}
+ \CJK@namegdef{^^99}##1{\CJK@disableMakeUppercase
+ \CJK@charx{18}{19}{144}{##1}}
+ \CJK@namegdef{^^9a}##1{\CJK@disableMakeUppercase
+ \CJK@charx{19}{20}{ 78}{##1}}
+ \CJK@namegdef{^^9b}##1{\CJK@disableMakeUppercase
+ \CJK@charx{20}{21}{ 12}{##1}}
+ \CJK@namegdef{^^9c}##1{\CJK@disableMakeUppercase
+ \CJK@char {21}{-54}{##1}}
+ \CJK@namegdef{^^9d}##1{\CJK@disableMakeUppercase
+ \CJK@charx{21}{22}{136}{##1}}
+ \CJK@namegdef{^^9e}##1{\CJK@disableMakeUppercase
+ \CJK@charx{22}{23}{ 70}{##1}}
+ \CJK@namegdef{^^9f}##1{\CJK@disableMakeUppercase
+ \CJK@charx{23}{24}{ 4}{##1}}
+ \CJK@namegdef{^^a0}##1{\CJK@disableMakeUppercase
+ \CJK@char {24}{-62}{##1}}
+ \CJK@namegdef{^^a1}##1{\CJK@disableMakeUppercase
+ \CJK@punctcharx{A1}{24}{25}{128}{##1}}
+ \CJK@namegdef{^^a2}##1{\CJK@disableMakeUppercase
+ \CJK@punctcharx{A2}{25}{26}{ 62}{##1}}
+ \CJK@namegdef{^^a3}##1{\CJK@disableMakeUppercase
+ \CJK@punctchar {A3}{26}{ -4}{##1}}
+ \CJK@namegdef{^^a4}##1{\CJK@disableMakeUppercase
+ \CJK@punctcharx{A4}{26}{27}{186}{##1}}
+ \CJK@namegdef{^^a5}##1{\CJK@disableMakeUppercase
+ \CJK@punctcharx{A5}{27}{28}{120}{##1}}
+ \CJK@namegdef{^^a6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{28}{29}{ 54}{##1}}
+ \CJK@namegdef{^^a7}##1{\CJK@disableMakeUppercase
+ \CJK@char {29}{-12}{##1}}
+ \CJK@namegdef{^^a8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{29}{30}{178}{##1}}
+ \CJK@namegdef{^^a9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{30}{31}{112}{##1}}
+ \CJK@namegdef{^^aa}##1{\CJK@disableMakeUppercase
+ \CJK@charx{31}{32}{ 46}{##1}}
+ \CJK@namegdef{^^ab}##1{\CJK@disableMakeUppercase
+ \CJK@char {32}{-20}{##1}}
+ \CJK@namegdef{^^ac}##1{\CJK@disableMakeUppercase
+ \CJK@charx{32}{33}{170}{##1}}
+ \CJK@namegdef{^^ad}##1{\CJK@disableMakeUppercase
+ \CJK@charx{33}{34}{104}{##1}}
+ \CJK@namegdef{^^ae}##1{\CJK@disableMakeUppercase
+ \CJK@charx{34}{35}{ 38}{##1}}
+ \CJK@namegdef{^^af}##1{\CJK@disableMakeUppercase
+ \CJK@char {35}{-28}{##1}}
+ \CJK@namegdef{^^b0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{35}{36}{162}{##1}}
+ \CJK@namegdef{^^b1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{36}{37}{ 96}{##1}}
+ \CJK@namegdef{^^b2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{37}{38}{ 30}{##1}}
+ \CJK@namegdef{^^b3}##1{\CJK@disableMakeUppercase
+ \CJK@char {38}{-36}{##1}}
+ \CJK@namegdef{^^b4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{38}{39}{154}{##1}}
+ \CJK@namegdef{^^b5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{39}{40}{ 88}{##1}}
+ \CJK@namegdef{^^b6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{40}{41}{ 22}{##1}}
+ \CJK@namegdef{^^b7}##1{\CJK@disableMakeUppercase
+ \CJK@char {41}{-44}{##1}}
+ \CJK@namegdef{^^b8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{41}{42}{146}{##1}}
+ \CJK@namegdef{^^b9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{42}{43}{ 80}{##1}}
+ \CJK@namegdef{^^ba}##1{\CJK@disableMakeUppercase
+ \CJK@charx{43}{44}{ 14}{##1}}
+ \CJK@namegdef{^^bb}##1{\CJK@disableMakeUppercase
+ \CJK@char {44}{-52}{##1}}
+ \CJK@namegdef{^^bc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{44}{45}{138}{##1}}
+ \CJK@namegdef{^^bd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{45}{46}{ 72}{##1}}
+ \CJK@namegdef{^^be}##1{\CJK@disableMakeUppercase
+ \CJK@charx{46}{47}{ 6}{##1}}
+ \CJK@namegdef{^^bf}##1{\CJK@disableMakeUppercase
+ \CJK@char {47}{-60}{##1}}
+ \CJK@namegdef{^^c0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{47}{48}{130}{##1}}
+ \CJK@namegdef{^^c1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{48}{49}{ 64}{##1}}
+ \CJK@namegdef{^^c2}##1{\CJK@disableMakeUppercase
+ \CJK@char {49}{ -2}{##1}}
+ \CJK@namegdef{^^c3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{49}{50}{188}{##1}}
+ \CJK@namegdef{^^c4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{50}{51}{122}{##1}}
+ \CJK@namegdef{^^c5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{51}{52}{ 56}{##1}}
+ \CJK@namegdef{^^c6}##1{\CJK@disableMakeUppercase
+ \CJK@char {52}{-10}{##1}}
+ \CJK@namegdef{^^c7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{52}{53}{180}{##1}}
+ \CJK@namegdef{^^c8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{53}{54}{114}{##1}}
+ \CJK@namegdef{^^c9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{54}{55}{ 48}{##1}}
+ \CJK@namegdef{^^ca}##1{\CJK@disableMakeUppercase
+ \CJK@char {55}{-18}{##1}}
+ \CJK@namegdef{^^cb}##1{\CJK@disableMakeUppercase
+ \CJK@charx{55}{56}{172}{##1}}
+ \CJK@namegdef{^^cc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{56}{57}{106}{##1}}
+ \CJK@namegdef{^^cd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{57}{58}{ 40}{##1}}
+ \CJK@namegdef{^^ce}##1{\CJK@disableMakeUppercase
+ \CJK@char {58}{-26}{##1}}
+ \CJK@namegdef{^^cf}##1{\CJK@disableMakeUppercase
+ \CJK@charx{58}{59}{164}{##1}}
+ \CJK@namegdef{^^d0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{59}{60}{ 98}{##1}}
+ \CJK@namegdef{^^d1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{60}{61}{ 32}{##1}}
+ \CJK@namegdef{^^d2}##1{\CJK@disableMakeUppercase
+ \CJK@char {61}{-34}{##1}}
+ \CJK@namegdef{^^d3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{61}{62}{156}{##1}}
+ \CJK@namegdef{^^d4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{62}{63}{ 90}{##1}}
+ \CJK@namegdef{^^d5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{63}{64}{ 24}{##1}}
+ \CJK@namegdef{^^d6}##1{\CJK@disableMakeUppercase
+ \CJK@char {64}{-42}{##1}}
+ \CJK@namegdef{^^d7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{64}{65}{148}{##1}}
+ \CJK@namegdef{^^d8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{65}{66}{ 82}{##1}}
+ \CJK@namegdef{^^d9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{66}{67}{ 16}{##1}}
+ \CJK@namegdef{^^da}##1{\CJK@disableMakeUppercase
+ \CJK@char {67}{-50}{##1}}
+ \CJK@namegdef{^^db}##1{\CJK@disableMakeUppercase
+ \CJK@charx{67}{68}{140}{##1}}
+ \CJK@namegdef{^^dc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{68}{69}{ 74}{##1}}
+ \CJK@namegdef{^^dd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{69}{70}{ 8}{##1}}
+ \CJK@namegdef{^^de}##1{\CJK@disableMakeUppercase
+ \CJK@char {70}{-58}{##1}}
+ \CJK@namegdef{^^df}##1{\CJK@disableMakeUppercase
+ \CJK@charx{70}{71}{132}{##1}}
+ \CJK@namegdef{^^e0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{71}{72}{ 66}{##1}}
+ \CJK@namegdef{^^e1}##1{\CJK@disableMakeUppercase
+ \CJK@char {72}{ 0}{##1}}
+ \CJK@namegdef{^^e2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{72}{73}{190}{##1}}
+ \CJK@namegdef{^^e3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{73}{74}{124}{##1}}
+ \CJK@namegdef{^^e4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{74}{75}{ 58}{##1}}
+ \CJK@namegdef{^^e5}##1{\CJK@disableMakeUppercase
+ \CJK@char {75}{ -8}{##1}}
+ \CJK@namegdef{^^e6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{75}{76}{182}{##1}}
+ \CJK@namegdef{^^e7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{76}{77}{116}{##1}}
+ \CJK@namegdef{^^e8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{77}{78}{ 50}{##1}}
+ \CJK@namegdef{^^e9}##1{\CJK@disableMakeUppercase
+ \CJK@char {78}{-16}{##1}}
+ \CJK@namegdef{^^ea}##1{\CJK@disableMakeUppercase
+ \CJK@charx{78}{79}{174}{##1}}
+ \CJK@namegdef{^^eb}##1{\CJK@disableMakeUppercase
+ \CJK@charx{79}{80}{108}{##1}}
+ \CJK@namegdef{^^ec}##1{\CJK@disableMakeUppercase
+ \CJK@charx{80}{81}{ 42}{##1}}
+ \CJK@namegdef{^^ed}##1{\CJK@disableMakeUppercase
+ \CJK@char {81}{-24}{##1}}
+ \CJK@namegdef{^^ee}##1{\CJK@disableMakeUppercase
+ \CJK@charx{81}{82}{166}{##1}}
+ \CJK@namegdef{^^ef}##1{\CJK@disableMakeUppercase
+ \CJK@charx{82}{83}{100}{##1}}
+ \CJK@namegdef{^^f0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{83}{84}{ 34}{##1}}
+ \CJK@namegdef{^^f1}##1{\CJK@disableMakeUppercase
+ \CJK@char {84}{-32}{##1}}
+ \CJK@namegdef{^^f2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{84}{85}{158}{##1}}
+ \CJK@namegdef{^^f3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{85}{86}{ 92}{##1}}
+ \CJK@namegdef{^^f4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{86}{87}{ 26}{##1}}
+ \CJK@namegdef{^^f5}##1{\CJK@disableMakeUppercase
+ \CJK@char {87}{-40}{##1}}
+ \CJK@namegdef{^^f6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{87}{88}{150}{##1}}
+ \CJK@namegdef{^^f7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{88}{89}{ 84}{##1}}
+ \CJK@namegdef{^^f8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{89}{90}{ 18}{##1}}
+ \CJK@namegdef{^^f9}##1{\CJK@disableMakeUppercase
+ \CJK@char {90}{-48}{##1}}
+ \CJK@namegdef{^^fa}##1{\CJK@disableMakeUppercase
+ \CJK@charx{90}{91}{142}{##1}}
+ \CJK@namegdef{^^fb}##1{\CJK@disableMakeUppercase
+ \CJK@charx{91}{92}{ 76}{##1}}
+ \CJK@namegdef{^^fc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{92}{93}{ 10}{##1}}
+ \CJK@namegdef{^^fd}##1{\CJK@disableMakeUppercase
+ \CJK@char {93}{-56}{##1}}
+ \CJK@namegdef{^^fe}##1{\CJK@disableMakeUppercase
+ \CJK@charx{93}{94}{134}{##1}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/mule/MULEenc.sty b/language/chinese/CJK/cjk-4.8.4/texinput/mule/MULEenc.sty
new file mode 100644
index 0000000000..cc356b4b6c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/mule/MULEenc.sty
@@ -0,0 +1,501 @@
+% This is the file MULEenc.sty of the CJK package
+% providing an interface to `cjk-enc.el' (a special Emacs mode)
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\makeatletter
+\endlinechar \m@ne
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesPackage{MULEenc}[\filedate\space\fileversion]
+\NeedsTeXFormat{LaTeX2e}[1998/06/01]
+
+
+% to allow Latin encodings in verbatim environments we activate the
+% character ^^7f and define it as a multiplex character which executes
+% its first argument; it will also be used as a delimiter.
+
+\catcode "7F \active
+
+\def^^7f{
+ \ifx\protect \@typeset@protect
+ \expandafter\mule@arg
+ \else
+ \noexpand ^^7f
+ \fi}
+
+\def\mule@arg#1^^7f#2^^7f{
+ \mule@@arg #2^^7f#1^^7f#2^^7f}
+
+\def\mule@@arg#1^^7f{
+ \mule@ifbslash #1^^7f
+ \expandafter\mule@@@arg
+ \else
+ \expandafter\mule@exec
+ \fi}
+
+\def\mule@@@arg#1^^7f#2^^7f{
+ \csname mule@\string #1\endcsname{#2}}
+
+
+% the pseudo-if \mule@ifbslash tests whether its argument contains a
+% backslash with a character category code (this happens in verbatim
+% environments). We need to change the catcode of `\' locally to
+% achieve that.
+%
+% \mule@exec then swallows this backslash so we can call \csname (twice).
+%
+% All these weird constructions assure that we do not lose kerning between
+% characters---only macro expansion is allowed!
+
+\let\mule@@@ \@empty
+
+{\catcode`\|=\z@
+ \catcode`\\=12\relax
+ |gdef|mule@ifbslash#1^^7f{
+ |mule@@ifbslash #1\^^7f}
+ |gdef|mule@@ifbslash#1\#2^^7f{
+ |expandafter|expandafter|expandafter|ifx
+ |expandafter|csname |string #2mule@@@|endcsname |@empty}
+ |gdef|mule@exec#1^^7f\#2^^7f{
+ |expandafter|csname
+ mule@#1|expandafter |endcsname |csname #2|endcsname}
+}
+
+
+% here come the definitions for the macros cjk-enc.el emits.
+
+% first some \let's to avoid problems in tabbing environments.
+
+\AtBeginDocument{
+ \let\mule@acute \'
+ \let\mule@grave \`
+ \let\mule@macron \=
+ \let\mule@hacek \v}
+
+% and now the missing definitions for cjk-enc.el to represent Latin
+% encodings.
+
+% these definitions may be overridden with \ProvideTextCommandDefault
+% commands.
+
+\def\textonequarter{\ensuremath{\frac14}}
+\def\textonehalf{\ensuremath{\frac12}}
+\def\textthreequarters{\ensuremath{\frac34}}
+
+% LaTeX defines the following macros as \math... instead of \text...,
+% but we want that all commands work in text mode.
+
+\def\textonesuperior{\ensuremath{{^1}}}
+\def\texttwosuperior{\ensuremath{{^2}}}
+\def\textthreesuperior{\ensuremath{{^3}}}
+
+% the next macros are text versions of the corresponding math macros.
+
+\def\textlnot{\ensuremath{\lnot}}
+\def\textpm{\ensuremath{\pm}}
+\def\textmu{\ensuremath{\mu}}
+\def\texttimes{\ensuremath{\times}}
+\def\textdiv{\ensuremath{\div}}
+
+% this macro is not in the LaTeX 2e base package
+
+\def\textcommercialat{\char64}
+
+% the following macro is not defined in standard LaTeX2e.
+%
+% JIS X 0201: 0x7E \textoverscore (U+203E)
+
+
+% to make the multiplex macro work with \uppercase and \lowercase too,
+% numbers are used as parameters in the ^^7f macro.
+
+\def\mule@def#1{\expandafter\def\csname mule@\string #1\endcsname}
+
+% accents
+
+\mule@def{8}{\"}
+\mule@def{15}{\mule@macron}
+\mule@def{20}{\mule@acute}
+\mule@def{24}{\c}
+\mule@def{32}{\mule@grave}
+\mule@def{33}{\^}
+\mule@def{34}{\~}
+\mule@def{48}{\k}
+\mule@def{49}{\u}
+\mule@def{51}{\mule@hacek}
+\mule@def{52}{\.}
+\mule@def{53}{\r}
+\mule@def{55}{\H}
+
+% Vietnamese hook (\h; only defined in T5 encoding) and dot below accent
+
+\mule@def{71}{\d}
+\mule@def{73}{\h}
+
+% symbols
+
+\mule@def{1}{\textexclamdown}
+\mule@def{2}{\textcent}
+\mule@def{3}{\textsterling}
+\mule@def{4}{\textcurrency}
+\mule@def{5}{\textyen}
+\mule@def{6}{\textbrokenbar}
+\mule@def{7}{\S}
+\mule@def{9}{\copyright}
+\mule@def{10}{\textordfeminine}
+\mule@def{11}{\guillemotleft}
+\mule@def{12}{\textlnot}
+\mule@def{14}{\textregistered}
+\mule@def{16}{\textdegree}
+\mule@def{17}{\textpm}
+\mule@def{18}{\texttwosuperior}
+\mule@def{19}{\textthreesuperior}
+\mule@def{21}{\textmu}
+\mule@def{22}{\P}
+\mule@def{23}{\textperiodcentered}
+\mule@def{25}{\textonesuperior}
+\mule@def{26}{\textordmasculine}
+\mule@def{27}{\guillemotright}
+\mule@def{28}{\textonequarter}
+\mule@def{29}{\textonehalf}
+\mule@def{30}{\textthreequarters}
+\mule@def{31}{\textquestiondown}
+\mule@def{36}{\textcommercialat}
+\mule@def{37}{\textquotedbl}
+\mule@def{38}{\texttimes}
+\mule@def{39}{\textdollar}
+\mule@def{40}{\textquoteright}
+\mule@def{41}{\textless}
+\mule@def{42}{\textgreater}
+\mule@def{43}{\textasciicircum}
+\mule@def{44}{\textunderscore}
+\mule@def{45}{\textdiv}
+\mule@def{46}{\textquoteleft}
+\mule@def{47}{\textbraceleft}
+\mule@def{50}{\textbar}
+\mule@def{54}{\textbraceright}
+\mule@def{56}{\textoverscore}
+\mule@def{99}{\nobreakspace}
+
+\mule@def{35}{\textnumero} % Cyrillic Number Sign
+
+% letters
+
+\let\TEXTMALTESEH \textmalteseH
+\def\I{I} % uppercase form of \i
+
+\let\TEXTTSTROKE \textTstroke
+\mule@def{59}{\textkra}
+
+% commands
+
+\mule@def{0}{\@firstofone} % for commands as arguments which exist
+ % in both uppercase and lowercase forms
+ % like \AA and \aa
+\mule@def{64}{\CJKspace\@gobble}
+\mule@def{65}{\CJKnospace\@gobble}
+\mule@def{66}{\CJKenc{JIS}\@gobble}
+\mule@def{67}{\CJKenc{GB}\@gobble}
+\mule@def{68}{\CJKenc{Bg5}\@gobble}
+\mule@def{69}{\CJKenc{KS}\@gobble}
+\mule@def{70}{\CJKenc{SJIS}\@gobble}
+
+% in previous versions we have used ^^a0 for calling \CJKchar, but to
+% support GBK and Big 5+ encodings which both need this slot we use the
+% ^^7f interface also.
+
+\mule@def{72}{\mule@@@@arg}
+
+\def\mule@@@@arg#1^^7f#2^^7f#3^^7f{
+ \uppercase{\CJKchar[#1]{#2}{#3}}}
+
+
+% Thai support. We need the many \bgroup and \egroup commands to make it
+% work with ulem.sty.
+
+\mule@def{57}{\bgroup\fontencoding{C90}\selectfont
+ \bgroup\bgroup\@gobble} % begin Thai
+\mule@def{58}{\egroup
+ \egroup\egroup\@gobble} % end Thai
+\mule@def{60}{\mule@char} % Thai diacritic
+\mule@def{61}{\Thaibreak\@gobble} % Thai word break
+\mule@def{62}{\nobreak\Thaiglue\nobreak\mule@char} % Thai base character
+\mule@def{63}{\mule@ignorespaces} % Thai EOL
+
+\def\mule@char#1{\char #1 }
+\def\mule@ignorespaces#1{\ignorespaces}
+
+\newcommand{\Thaiglue}{\hskip \z@ \@plus .03\baselineskip}
+\newcommand{\Thaibreak}{\hskip \z@}
+
+\newcommand{\Thaispace}{\mule@def{63}{}}
+\newcommand{\Thainospace}{\mule@def{63}{\mule@ignorespaces}}
+
+
+% preprocessed mode now uses the ^^7f interface for CJK characters also
+% to make it coexist with normal mode.
+%
+% the \@gobble macro is used to swallow the first element in \CJK@<number>;
+% this is either \CJK@disableMakeUppercase or \relax if not needed.
+
+\def\mule@@def#1{
+ \expandafter\def\csname mule@\string #1\endcsname##1{
+ \expandafter\expandafter\expandafter\@gobble
+ \csname CJK@\number `#1\endcsname{##1}
+ \CJK@ignorespaces}}
+
+\mule@@def{^^81}
+\mule@@def{^^82}
+\mule@@def{^^83}
+\mule@@def{^^84}
+\mule@@def{^^85}
+\mule@@def{^^86}
+\mule@@def{^^87}
+\mule@@def{^^88}
+\mule@@def{^^89}
+\mule@@def{^^8a}
+\mule@@def{^^8b}
+\mule@@def{^^8c}
+\mule@@def{^^8d}
+\mule@@def{^^8e}
+\mule@@def{^^8f}
+\mule@@def{^^90}
+\mule@@def{^^91}
+\mule@@def{^^92}
+\mule@@def{^^93}
+\mule@@def{^^94}
+\mule@@def{^^95}
+\mule@@def{^^96}
+\mule@@def{^^97}
+\mule@@def{^^98}
+\mule@@def{^^99}
+\mule@@def{^^9a}
+\mule@@def{^^9b}
+\mule@@def{^^9c}
+\mule@@def{^^9d}
+\mule@@def{^^9e}
+\mule@@def{^^9f}
+\mule@@def{^^a0}
+\mule@@def{^^a1}
+\mule@@def{^^a2}
+\mule@@def{^^a3}
+\mule@@def{^^a4}
+\mule@@def{^^a5}
+\mule@@def{^^a6}
+\mule@@def{^^a7}
+\mule@@def{^^a8}
+\mule@@def{^^a9}
+\mule@@def{^^aa}
+\mule@@def{^^ab}
+\mule@@def{^^ac}
+\mule@@def{^^ad}
+\mule@@def{^^ae}
+\mule@@def{^^af}
+\mule@@def{^^b0}
+\mule@@def{^^b1}
+\mule@@def{^^b2}
+\mule@@def{^^b3}
+\mule@@def{^^b4}
+\mule@@def{^^b5}
+\mule@@def{^^b6}
+\mule@@def{^^b7}
+\mule@@def{^^b8}
+\mule@@def{^^b9}
+\mule@@def{^^ba}
+\mule@@def{^^bb}
+\mule@@def{^^bc}
+\mule@@def{^^bd}
+\mule@@def{^^be}
+\mule@@def{^^bf}
+\mule@@def{^^c0}
+\mule@@def{^^c1}
+\mule@@def{^^c2}
+\mule@@def{^^c3}
+\mule@@def{^^c4}
+\mule@@def{^^c5}
+\mule@@def{^^c6}
+\mule@@def{^^c7}
+\mule@@def{^^c8}
+\mule@@def{^^c9}
+\mule@@def{^^ca}
+\mule@@def{^^cb}
+\mule@@def{^^cc}
+\mule@@def{^^cd}
+\mule@@def{^^ce}
+\mule@@def{^^cf}
+\mule@@def{^^d0}
+\mule@@def{^^d1}
+\mule@@def{^^d2}
+\mule@@def{^^d3}
+\mule@@def{^^d4}
+\mule@@def{^^d5}
+\mule@@def{^^d6}
+\mule@@def{^^d7}
+\mule@@def{^^d8}
+\mule@@def{^^d9}
+\mule@@def{^^da}
+\mule@@def{^^db}
+\mule@@def{^^dc}
+\mule@@def{^^dd}
+\mule@@def{^^de}
+\mule@@def{^^df}
+\mule@@def{^^e0}
+\mule@@def{^^e1}
+\mule@@def{^^e2}
+\mule@@def{^^e3}
+\mule@@def{^^e4}
+\mule@@def{^^e5}
+\mule@@def{^^e6}
+\mule@@def{^^e7}
+\mule@@def{^^e8}
+\mule@@def{^^e9}
+\mule@@def{^^ea}
+\mule@@def{^^eb}
+\mule@@def{^^ec}
+\mule@@def{^^ed}
+\mule@@def{^^ee}
+\mule@@def{^^ef}
+\mule@@def{^^f0}
+\mule@@def{^^f1}
+\mule@@def{^^f2}
+\mule@@def{^^f3}
+\mule@@def{^^f4}
+\mule@@def{^^f5}
+\mule@@def{^^f6}
+\mule@@def{^^f7}
+\mule@@def{^^f8}
+\mule@@def{^^f9}
+\mule@@def{^^fa}
+\mule@@def{^^fb}
+\mule@@def{^^fc}
+\mule@@def{^^fd}
+\mule@@def{^^fe}
+
+
+% if the `verbatim' package is loaded it is possible to improve the output
+% automatically, namely, to avoid breaking of overfull lines in a
+% verbatim environment. The following command will install a hook to
+% suppress insertion of glue between Thai glyphs. CJK.sty will extend
+% it for CJK glyphs.
+%
+\def\mule@verbatim{
+ \addto@hook{\every@verbatim}{
+ \renewcommand{\Thaiglue}{}
+ \mule@def{61}{}}}
+\ifx\CJK@verbatim \@undefined
+ \def\CJK@verbatim{}
+\fi
+
+\def\CJKverbatim{
+ \mule@verbatim
+ \CJK@verbatim}
+
+
+% here comes our special include command which will load <file>.cjk
+% instead of <file>.tex
+
+\def\CJKinclude#1{
+ \relax
+
+ \ifnum\@auxout = \@partaux
+ \@latex@error{\string\CJKinclude\space cannot be nested}
+ \@eha
+ \else
+ \CJK@include#1 %
+ \fi
+}
+
+\def\CJK@include#1 {
+ \clearpage
+
+ \if@filesw
+ \immediate\write\@mainaux{\string\@input{#1.aux}}
+ \fi
+
+ \@tempswatrue
+
+ \if@partsw
+ \@tempswafalse
+ \edef\reserved@b{#1}
+ \@for\reserved@a:=\@partlist\do
+ {\ifx\reserved@a \reserved@b
+ \@tempswatrue
+ \fi
+ }
+ \fi
+
+ \if@tempswa
+ \let\@auxout\@partaux
+ \if@filesw
+ \immediate\openout\@partaux #1.aux
+ \immediate\write\@partaux{\relax}
+ \fi
+ \@input@{#1.cjk}
+ \clearpage
+ \@writeckpt{#1}
+ \if@filesw
+ \immediate\closeout\@partaux
+ \fi
+ \else
+ \deadcycles\z@
+ \@nameuse{cp@#1}
+ \fi
+
+ \let\@auxout\@mainaux
+}
+
+
+% the same for the bibliography
+
+\def\CJKbibliography#1{
+ \if@filesw
+ \immediate\write\@auxout{\string\bibdata{#1-cjk}}%
+ \fi
+ \@input@{\jobname.bbl}
+}
+
+
+% here our special input command -- cjk-enc.el will scan files included with
+% \CJKinput, but not with \input.
+%
+% We only want the syntax form of \input with braces around the parameter.
+% If no file name extension is given, `cjk' is used.
+
+\def\CJKinput#1{
+ \filename@parse{#1}
+ \ifx\filename@ext \relax
+ \def\filename@ext{cjk}
+ \fi
+ \InputIfFileExists{\filename@area\filename@base.\filename@ext}
+ {}
+ {\edef\reserved@a{
+ \noexpand\@missingfileerror
+ {\filename@area\filename@base}
+ {\filename@ext}}
+ \reserved@a}}
+
+
+\endlinechar `\^^M
+\makeatother
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/pinyin.sty b/language/chinese/CJK/cjk-4.8.4/texinput/pinyin.sty
new file mode 100644
index 0000000000..c5a76b6bd8
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/pinyin.sty
@@ -0,0 +1,1234 @@
+% This is the file pinyin.sty of the CJK package
+% to input Chinese in pinyin transcription
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+%
+% This style file works with plain TeX also.
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+
+\catcode`@=11
+\endlinechar \m@ne
+
+% Older versions of the PostScript virtual files don't contain a macron
+% accent at all (e.g. Palatino). Under LaTeX, you can activate the
+% CM macron version with the package option `useCMmacron'.
+
+\newif\ifpy@useCMmacron@
+\py@useCMmacron@false
+
+\ifx\NeedsTeXFormat \@undefined
+ \message{Package: pinyin \filedate\space\fileversion}
+\else
+ \ProvidesPackage{pinyin}[\filedate\space\fileversion]
+
+ \DeclareOption{useCMmacron}{\py@useCMmacron@true}
+ \ProcessOptions
+\fi
+
+
+% Similar to the CJK and ruby packages we need a special kern to indicate
+% hyphenation between pinyin syllables. Values 1sp-3sp are already used
+% by those packages.
+
+\edef\py@sp{\kern -4sp\kern 4sp}
+
+
+% We must preserve various TeX macros because their names overlap with
+% pinyin syllables. The only exception is the internal command \long which
+% can't be renamed because almost all other packages would fail.
+%
+% Note that \ding is not a basic LaTeX macro but defined in pifont.sty, part
+% of the psnfss package.
+%
+% All other pinyin syllables will be defined below.
+
+\let\PYa=\a
+\let\PYchi=\chi
+\let\PYcong=\cong
+\let\PYding=\ding
+\let\PYge=\ge
+\let\PYhang=\hang
+\let\PYle=\le
+%\let\PYlong=\long -> we use \Long and \LONG instead
+\let\PYmin=\min
+\let\PYmu=\mu
+\let\PYne=\ne
+\let\PYni=\ni
+\let\PYnu=\nu
+\let\PYo=\o
+\let\PYO=\O
+\let\PYpi=\pi
+\let\PYPi=\Pi
+\let\PYRe=\Re
+\let\PYtan=\tan
+\let\PYxi=\xi
+\let\PYXi=\Xi
+
+\def\PYactivate{
+ \let\a=\py@@a
+ \let\chi=\py@chi
+ \let\cong=\py@cong
+ \let\ding=\py@ding
+ \let\ge=\py@ge
+ \let\hang=\py@hang
+ \let\le=\py@le
+ \let\min=\py@min
+ \let\mu=\py@mu
+ \let\ne=\py@ne
+ \let\ni=\py@ni
+ \let\nu=\py@nu
+ \let\o=\py@@o
+ \let\O=\py@@O
+ \let\pi=\py@pi
+ \let\Pi=\py@Pi
+ \let\Re=\py@Re
+ \let\tan=\py@tan
+ \let\xi=\py@xi
+ \let\Xi=\py@Xi}
+
+\def\PYdeactivate{
+ \let\a=\PYa
+ \let\chi=\PYchi
+ \let\cong=\PYcong
+ \let\ding=\PYding
+ \let\ge=\PYge
+ \let\hang=\PYhang
+ \let\le=\PYle
+ \let\min=\PYmin
+ \let\mu=\PYmu
+ \let\ne=\PYne
+ \let\ni=\PYni
+ \let\nu=\PYnu
+ \let\o=\PYo
+ \let\O=\PYO
+ \let\pi=\PYpi
+ \let\Pi=\PYPi
+ \let\Re=\PYRe
+ \let\tan=\PYtan
+ \let\xi=\PYxi
+ \let\Xi=\PYXi}
+
+
+% We use our own names for the accent macros so they will also work in
+% tabbing environments.
+
+\let\py@acute \'
+\let\py@hacek \v
+\let\py@grave \`
+
+
+% Macrons of the EC fonts are far too high for the first tone, and most
+% T1 encoded fonts follow this for compatibility reasons. However,
+% T5 encoded fonts don't exhibit this behaviour.
+
+\def\py@macron#1#2{
+ \edef\py@mcorr{0}
+ \edef\py@temp{T1}
+ \ifx\f@encoding \py@temp
+ \chardef\py@mcr 9\relax% T1 fonts
+ \else
+ \edef\py@temp{T5}
+ \ifx\f@encoding \py@temp
+ \chardef\py@mcr 9\relax% T5 fonts
+ \edef\py@mcorr{-.3}
+ \else
+ \chardef\py@mcr 22\relax% OT1 fonts
+ \fi
+ \fi
+
+ {\leavevmode
+ \dimen@ii 1ex
+ \ifpy@useCMmacron@
+ \edef\py@temp{\f@family}
+ \fontfamily{cmr}
+ \selectfont
+ \fi
+ \setbox\z@ \hbox{\char\py@mcr}
+ \dimen@ -#2ex
+ \advance\dimen@ \py@mcorr ex
+ \advance\dimen@ \ht\z@
+ \ifdim 1ex < \dimen@
+ \fontdimen5\font \dimen@
+ \fi
+ \accent\py@mcr
+ \ifpy@useCMmacron@
+ \fontfamily\py@temp
+ \selectfont
+ \fi
+ \fontdimen5\font \dimen@ii
+ #1}}
+
+% Here a replacement version for bookmarks in PDFs.
+
+\def\py@hr@macron#1#2{
+ \=#1
+}
+
+
+% The following command outputs the kern between two letters.
+
+\def\py@kern#1#2{
+ {\setbox\z@ \hbox{#1#2}
+ \dimen@ \wd\z@
+ \setbox\z@ \hbox{#1{}#2}
+ \advance\dimen@ -\wd\z@
+ \kern\dimen@}}
+
+
+% To make \MakeUppercase and \MakeLowercase work, we use a generic macro
+% which constructs the necessary pinyin macros by using the first
+% argument.
+
+\def\py@#1{
+ \csname py@#1\endcsname
+}
+
+% Here are the macros to produce various accents over the vocals.
+
+\def\py@@#1#2#3#4{
+ \py@kern{#2}#1
+ \ifcase #4
+ \or\py@macron #1{.3}\or\py@acute #1\or\py@hacek #1\or\py@grave #1\or #1
+ \fi
+ \py@kern #1{#3}}
+
+\def\py@a{\py@@ a}
+\def\py@A{\py@@ A}
+
+\def\py@e{\py@@ e}
+\def\py@E{\py@@ E}
+
+\def\py@i#1#2#3{
+ \py@kern{#1}i
+ \ifcase #3
+ \or\py@macron\i{.3}\or\py@acute\i\or\py@hacek\i\or\py@grave\i\or i
+ \fi
+ \py@kern i{#2}}
+\def\py@I{\py@@ I}
+
+\def\py@o{\py@@ o}
+\def\py@O{\py@@ O}
+
+\def\py@u{\py@@ u}
+\def\py@U{\py@@ U}
+
+% the previous definitions are almost trivial. The only tricky macro is the
+% following one. Above the u with umlaut dots we must place the four tone
+% modifiers. To get a better appearance, we lower the umlaut dots as much
+% as possible. The algorithm used here has been tested with the standard
+% cm, ec, and PostScript fonts; it was taken from german.sty .
+
+\def\py@@v#1#2#3#4{
+ \edef\py@temp{T1}
+ \ifx\f@encoding \py@temp
+ \chardef\py@umlaut 4\relax% T1 fonts
+ \chardef\py@ac \@ne
+ \chardef\py@gr \z@
+ \else
+ \edef\py@temp{T5}
+ \ifx\f@encoding \py@temp
+ \chardef\py@umlaut 4\relax% T5 fonts
+ \chardef\py@ac \@ne
+ \chardef\py@gr \z@
+ \else
+ \chardef\py@umlaut 127\relax% OT1 fonts
+ \chardef\py@ac 19\relax
+ \chardef\py@gr 18\relax
+ \fi
+ \fi
+
+ {\leavevmode
+ \dimen@ii 1ex
+ \setbox\z@ \hbox{\char\py@umlaut}
+ \dimen@ -.4ex
+ \advance\dimen@ \ht\z@
+ \ifdim 1ex < \dimen@
+ \fontdimen5\font \dimen@
+ \dimen@ .55ex
+ \else
+ \dimen@ .7ex
+ \fi
+ \py@kern{#2}#1
+ \rlap{\accent\py@umlaut #1}
+ \fontdimen5\font \dimen@
+ \ifcase #4
+ \or\py@macron #1{1.1}
+ \or\accent\py@ac #1
+ \or\py@hacek #1
+ \or\accent\py@gr #1
+ \or #1
+ \fi
+ \py@kern #1{#3}
+ \fontdimen5\font \dimen@ii}}
+
+\def\py@v{\py@@v u}
+\def\py@V{\py@@v U}
+
+% Here a replacement version for bookmarks in PDFs.
+
+\def\py@hr@@v#1#2#3#4{
+ \ifcase #4
+ \or\py@hr@dm #1\or\py@hr@da #1\or\py@hr@dh #1\or\py@hr@dg #1\or #1
+ \fi
+}
+
+
+% Here our small macro to test whether we should insert a soft hyphen or
+% not. Since it is the first macro in all syllable definitions, we
+% also ensure horizontal mode.
+
+\def\py@hy{
+ \leavevmode
+ \ifnum\lastkern = 4\relax% \py@sp
+ \-
+ \fi
+}
+
+
+% Bookmarks need Unicode characters and nothing else.
+
+\ifx\AtBeginDocument \undefined
+\else
+ \AtBeginDocument{
+ \ifx\pdfstringdefDisableCommands \undefined
+ \else
+ % We add some definitions to the PU encoding so that \MakeUppercase
+ % and \MakeLowercase work with the pinyin characters which have
+ % two diacritics.
+ \DeclareTextCommand{\py@hr@dm}{PU}[1]{
+ \TextSymbolUnavailable{\py@hr@dm{#1}}#1}
+ \DeclareTextCommand{\py@hr@da}{PU}[1]{
+ \TextSymbolUnavailable{\py@hr@da{#1}}#1}
+ \DeclareTextCommand{\py@hr@dh}{PU}[1]{
+ \TextSymbolUnavailable{\py@hr@dh{#1}}#1}
+ \DeclareTextCommand{\py@hr@dg}{PU}[1]{
+ \TextSymbolUnavailable{\py@hr@dg{#1}}#1}
+
+ \DeclareTextCompositeCommand{\py@hr@dm}{PU}{U}{\81\325}% U umlaut macron
+ \DeclareTextCompositeCommand{\py@hr@dm}{PU}{u}{\81\326}% u umlaut macron
+ \DeclareTextCompositeCommand{\py@hr@da}{PU}{U}{\81\327}% U umlaut acute
+ \DeclareTextCompositeCommand{\py@hr@da}{PU}{u}{\81\330}% u umlaut acute
+ \DeclareTextCompositeCommand{\py@hr@dh}{PU}{U}{\81\331}% U umlaut hacek
+ \DeclareTextCompositeCommand{\py@hr@dh}{PU}{u}{\81\332}% u umlaut hacek
+ \DeclareTextCompositeCommand{\py@hr@dg}{PU}{U}{\81\333}% U umlaut grave
+ \DeclareTextCompositeCommand{\py@hr@dg}{PU}{u}{\81\334}% u umlaut grave
+
+ \pdfstringdefDisableCommands{
+ \let\py@hy \relax
+ \let\py@kern \@gobbletwo
+ \let\py@sp \relax
+ \let\py@macron \py@hr@macron
+ \let\py@@v \py@hr@@v
+ }
+ \fi
+ }
+\fi
+
+% Finally the pinyin syllables themselves in lower- and uppercase forms. As
+% mentioned above, the only exceptions are \Long and \LONG instead of the
+% expected \long and \Long macros.
+
+\ifx\AtBeginDocument \undefined
+ \def\py@DRC#1#2{
+ \def#1##1{\py@hy #2\py@sp{}}
+ }
+\else
+ \def\py@DRC#1#2{
+ \DeclareRobustCommand#1[1]{\py@hy #2\py@sp{}}
+ }
+\fi
+
+\py@DRC{\py@@a}{\py@ a{}{}#1}
+\py@DRC{\ai}{\py@ a{}i#1i}
+\py@DRC{\an}{\py@ a{}n#1n}
+\py@DRC{\ang}{\py@ a{}n#1ng}
+\py@DRC{\ao}{\py@ a{}o#1o}
+
+\py@DRC{\ba}{b\py@ ab{}#1}
+\py@DRC{\bai}{b\py@ abi#1i}
+\py@DRC{\ban}{b\py@ abn#1n}
+\py@DRC{\bang}{b\py@ abn#1ng}
+\py@DRC{\bao}{b\py@ abo#1o}
+\py@DRC{\bei}{b\py@ ebi#1i}
+\py@DRC{\ben}{b\py@ ebn#1n}
+\py@DRC{\beng}{b\py@ ebn#1ng}
+\py@DRC{\bi}{b\py@ ib{}#1}
+\py@DRC{\bian}{bi\py@ ain#1n}
+\py@DRC{\biao}{bi\py@ aio#1o}
+\py@DRC{\bie}{bi\py@ ei{}#1}
+\py@DRC{\bin}{b\py@ ibn#1n}
+\py@DRC{\bing}{b\py@ ibn#1ng}
+\py@DRC{\bo}{b\py@ ob{}#1}
+\py@DRC{\bu}{b\py@ ub{}#1}
+
+\py@DRC{\ca}{c\py@ ac{}#1}
+\py@DRC{\cai}{c\py@ aci#1i}
+\py@DRC{\can}{c\py@ acn#1n}
+\py@DRC{\cang}{c\py@ acn#1ng}
+\py@DRC{\cao}{c\py@ aco#1o}
+\py@DRC{\ce}{c\py@ ec{}#1}
+\py@DRC{\cen}{c\py@ ecn#1n}
+\py@DRC{\ceng}{c\py@ ecn#1ng}
+\py@DRC{\cha}{ch\py@ ah{}#1}
+\py@DRC{\chai}{ch\py@ ahi#1i}
+\py@DRC{\chan}{ch\py@ ahn#1n}
+\py@DRC{\chang}{ch\py@ ahn#1ng}
+\py@DRC{\chao}{ch\py@ aho#1o}
+\py@DRC{\che}{ch\py@ eh{}#1}
+\py@DRC{\chen}{ch\py@ ehn#1n}
+\py@DRC{\cheng}{ch\py@ ehn#1ng}
+\py@DRC{\py@chi}{ch\py@ ih{}#1}
+\py@DRC{\chong}{ch\py@ ohn#1ng}
+\py@DRC{\chou}{ch\py@ ohu#1u}
+\py@DRC{\chu}{ch\py@ uh{}#1}
+\py@DRC{\chua}{chu\py@ au{}#1}
+\py@DRC{\chuai}{chu\py@ aui#1i}
+\py@DRC{\chuan}{chu\py@ aun#1n}
+\py@DRC{\chuang}{chu\py@ aun#1ng}
+\py@DRC{\chui}{chu\py@ iu{}#1}
+\py@DRC{\chun}{ch\py@ uhn#1n}
+\py@DRC{\chuo}{chu\py@ ou{}#1}
+\py@DRC{\ci}{c\py@ ic{}#1}
+\py@DRC{\py@cong}{c\py@ ocn#1ng}
+\py@DRC{\cou}{c\py@ ocu#1u}
+\py@DRC{\cu}{c\py@ uc{}#1}
+\py@DRC{\cuan}{cu\py@ aun#1n}
+\py@DRC{\cui}{cu\py@ iu{}#1}
+\py@DRC{\cun}{c\py@ ucn#1n}
+\py@DRC{\cuo}{cu\py@ ou{}#1}
+
+\py@DRC{\da}{d\py@ ad{}#1}
+\py@DRC{\dai}{d\py@ adi#1i}
+\py@DRC{\dan}{d\py@ adn#1n}
+\py@DRC{\dang}{d\py@ adn#1ng}
+\py@DRC{\dao}{d\py@ ado#1o}
+\py@DRC{\de}{d\py@ ed{}#1}
+\py@DRC{\dei}{d\py@ edi#1i}
+\py@DRC{\den}{d\py@ edn#1n}
+\py@DRC{\deng}{d\py@ edn#1ng}
+\py@DRC{\di}{d\py@ id{}#1}
+\py@DRC{\dian}{di\py@ ain#1n}
+\py@DRC{\diao}{di\py@ aio#1o}
+\py@DRC{\die}{di\py@ ei{}#1}
+\py@DRC{\py@ding}{d\py@ idn#1ng}
+\py@DRC{\diu}{di\py@ ui{}#1}
+\py@DRC{\dong}{d\py@ odn#1ng}
+\py@DRC{\dou}{d\py@ odu#1u}
+\py@DRC{\du}{d\py@ ud{}#1}
+\py@DRC{\duan}{du\py@ aun#1n}
+\py@DRC{\dui}{du\py@ iu{}#1}
+\py@DRC{\dun}{d\py@ udn#1n}
+\py@DRC{\duo}{du\py@ ou{}#1}
+
+\py@DRC{\e}{\py@ e{}{}#1}
+\py@DRC{\ei}{\py@ e{}i#1i}
+\py@DRC{\en}{\py@ e{}n#1n}
+\py@DRC{\eng}{\py@ e{}n#1ng}
+\py@DRC{\er}{\py@ e{}r#1r}
+
+\py@DRC{\fa}{f\py@ af{}#1}
+\py@DRC{\fan}{f\py@ afn#1n}
+\py@DRC{\fang}{f\py@ afn#1ng}
+\py@DRC{\fei}{f\py@ efi#1i}
+\py@DRC{\fen}{f\py@ efn#1n}
+\py@DRC{\feng}{f\py@ efn#1ng}
+\py@DRC{\fiao}{fi\py@ aio#1o}
+\py@DRC{\fo}{f\py@ of{}#1}
+\py@DRC{\fou}{f\py@ ofu#1u}
+\py@DRC{\fu}{f\py@ uf{}#1}
+
+\py@DRC{\ga}{g\py@ ag{}#1}
+\py@DRC{\gai}{g\py@ agi#1i}
+\py@DRC{\gan}{g\py@ agn#1n}
+\py@DRC{\gang}{g\py@ agn#1ng}
+\py@DRC{\gao}{g\py@ ago#1o}
+\py@DRC{\py@ge}{g\py@ eg{}#1}
+\py@DRC{\gei}{g\py@ egi#1i}
+\py@DRC{\gen}{g\py@ egn#1n}
+\py@DRC{\geng}{g\py@ egn#1ng}
+\py@DRC{\gong}{g\py@ ogn#1ng}
+\py@DRC{\gou}{g\py@ ogu#1u}
+\py@DRC{\gu}{g\py@ ug{}#1}
+\py@DRC{\gua}{gu\py@ au{}#1}
+\py@DRC{\guai}{gu\py@ aui#1i}
+\py@DRC{\guan}{gu\py@ aun#1n}
+\py@DRC{\guang}{gu\py@ aun#1ng}
+\py@DRC{\gui}{gu\py@ iu{}#1}
+\py@DRC{\gun}{g\py@ ugn#1n}
+\py@DRC{\guo}{gu\py@ ou{}#1}
+
+\py@DRC{\ha}{h\py@ ah{}#1}
+\py@DRC{\hai}{h\py@ ahi#1i}
+\py@DRC{\han}{h\py@ ahn#1n}
+\py@DRC{\py@hang}{h\py@ ahn#1ng}
+\py@DRC{\hao}{h\py@ aho#1o}
+\py@DRC{\he}{h\py@ eh{}#1}
+\py@DRC{\hei}{h\py@ ehi#1i}
+\py@DRC{\hen}{h\py@ ehn#1n}
+\py@DRC{\heng}{h\py@ ehn#1ng}
+\py@DRC{\hong}{h\py@ ohn#1ng}
+\py@DRC{\hou}{h\py@ ohu#1u}
+\py@DRC{\hu}{h\py@ uh{}#1}
+\py@DRC{\hua}{hu\py@ au{}#1}
+\py@DRC{\huai}{hu\py@ aui#1i}
+\py@DRC{\huan}{hu\py@ aun#1n}
+\py@DRC{\huang}{hu\py@ aun#1ng}
+\py@DRC{\hui}{hu\py@ iu{}#1}
+\py@DRC{\hun}{h\py@ uhn#1n}
+\py@DRC{\huo}{hu\py@ ou{}#1}
+
+\py@DRC{\ji}{j\py@ ij{}#1}
+\py@DRC{\jia}{ji\py@ ai{}#1}
+\py@DRC{\jian}{ji\py@ ain#1n}
+\py@DRC{\jiang}{ji\py@ ain#1ng}
+\py@DRC{\jiao}{ji\py@ aio#1o}
+\py@DRC{\jie}{ji\py@ ei{}#1}
+\py@DRC{\jin}{j\py@ ijn#1n}
+\py@DRC{\jing}{j\py@ ijn#1ng}
+\py@DRC{\jiong}{ji\py@ oin#1ng}
+\py@DRC{\jiu}{ji\py@ ui{}#1}
+\py@DRC{\ju}{j\py@ uj{}#1}
+\py@DRC{\juan}{ju\py@ aun#1n}
+\py@DRC{\jue}{ju\py@ eu{}#1}
+\py@DRC{\jun}{j\py@ ujn#1n}
+
+\py@DRC{\ka}{k\py@ ak{}#1}
+\py@DRC{\kai}{k\py@ aki#1i}
+\py@DRC{\kan}{k\py@ akn#1n}
+\py@DRC{\kang}{k\py@ akn#1ng}
+\py@DRC{\kao}{k\py@ ako#1o}
+\py@DRC{\ke}{k\py@ ek{}#1}
+\py@DRC{\kei}{k\py@ eki#1i}
+\py@DRC{\ken}{k\py@ ekn#1n}
+\py@DRC{\keng}{k\py@ ekn#1ng}
+\py@DRC{\kong}{k\py@ okn#1ng}
+\py@DRC{\kou}{k\py@ oku#1u}
+\py@DRC{\ku}{k\py@ uk{}#1}
+\py@DRC{\kua}{ku\py@ au{}#1}
+\py@DRC{\kuai}{ku\py@ aui#1i}
+\py@DRC{\kuan}{ku\py@ aun#1n}
+\py@DRC{\kuang}{ku\py@ aun#1ng}
+\py@DRC{\kui}{ku\py@ iu{}#1}
+\py@DRC{\kun}{k\py@ ukn#1n}
+\py@DRC{\kuo}{ku\py@ ou{}#1}
+
+\py@DRC{\la}{l\py@ al{}#1}
+\py@DRC{\lai}{l\py@ ali#1i}
+\py@DRC{\lan}{l\py@ aln#1n}
+\py@DRC{\lang}{l\py@ aln#1ng}
+\py@DRC{\lao}{l\py@ alo#1o}
+\py@DRC{\py@le}{l\py@ el{}#1}
+\py@DRC{\lei}{l\py@ eli#1i}
+\py@DRC{\leng}{l\py@ eln#1ng}
+\py@DRC{\li}{l\py@ il{}#1}
+\py@DRC{\lia}{li\py@ ai{}#1}
+\py@DRC{\lian}{li\py@ ain#1n}
+\py@DRC{\liang}{li\py@ ain#1ng}
+\py@DRC{\liao}{li\py@ aio#1o}
+\py@DRC{\lie}{li\py@ ei{}#1}
+\py@DRC{\lin}{l\py@ iln#1n}
+\py@DRC{\ling}{l\py@ iln#1ng}
+\py@DRC{\liu}{li\py@ ui{}#1}
+\py@DRC{\Long}{l\py@ oln#1ng}
+\py@DRC{\lou}{l\py@ olu#1u}
+\py@DRC{\lu}{l\py@ ul{}#1}
+\py@DRC{\luan}{lu\py@ aun#1n}
+\py@DRC{\lun}{l\py@ uln#1n}
+\py@DRC{\luo}{lu\py@ ou{}#1}
+\py@DRC{\lv}{l\py@ vl{}#1}
+\py@DRC{\lve}{l\"{u}\py@ ele#1}
+
+\py@DRC{\ma}{m\py@ am{}#1}
+\py@DRC{\mai}{m\py@ ami#1i}
+\py@DRC{\man}{m\py@ amn#1n}
+\py@DRC{\mang}{m\py@ amn#1ng}
+\py@DRC{\mao}{m\py@ amo#1o}
+\py@DRC{\me}{m\py@ em{}#1}
+\py@DRC{\mei}{m\py@ emi#1i}
+\py@DRC{\men}{m\py@ emn#1n}
+\py@DRC{\meng}{m\py@ emn#1ng}
+\py@DRC{\mi}{m\py@ im{}#1}
+\py@DRC{\mian}{mi\py@ ain#1n}
+\py@DRC{\miao}{mi\py@ aio#1o}
+\py@DRC{\mie}{mi\py@ ei{}#1}
+\py@DRC{\py@min}{m\py@ imn#1n}
+\py@DRC{\ming}{m\py@ imn#1ng}
+\py@DRC{\miu}{mi\py@ ui{}#1}
+\py@DRC{\mo}{m\py@ om{}#1}
+\py@DRC{\mou}{m\py@ omu#1u}
+\py@DRC{\py@mu}{m\py@ um{}#1}
+
+\py@DRC{\na}{n\py@ an{}#1}
+\py@DRC{\nai}{n\py@ ani#1i}
+\py@DRC{\nan}{n\py@ ann#1n}
+\py@DRC{\nang}{n\py@ ann#1ng}
+\py@DRC{\nao}{n\py@ ano#1o}
+\py@DRC{\py@ne}{n\py@ en{}#1}
+\py@DRC{\nei}{n\py@ eni#1i}
+\py@DRC{\nen}{n\py@ enn#1n}
+\py@DRC{\neng}{n\py@ enn#1ng}
+\py@DRC{\py@ni}{n\py@ in{}#1}
+\py@DRC{\nian}{ni\py@ ain#1n}
+\py@DRC{\niang}{ni\py@ ain#1ng}
+\py@DRC{\niao}{ni\py@ aio#1o}
+\py@DRC{\nie}{ni\py@ ei{}#1}
+\py@DRC{\nin}{n\py@ inn#1n}
+\py@DRC{\ning}{n\py@ inn#1ng}
+\py@DRC{\niu}{ni\py@ ui{}#1}
+\py@DRC{\nong}{n\py@ onn#1ng}
+\py@DRC{\nou}{n\py@ onu#1u}
+\py@DRC{\py@nu}{n\py@ un{}#1}
+\py@DRC{\nuan}{nu\py@ aun#1n}
+\py@DRC{\nuo}{nu\py@ ou{}#1}
+\py@DRC{\nv}{n\py@ vn{}#1}
+\py@DRC{\nve}{n\"{u}\py@ ene#1}
+
+\py@DRC{\py@@o}{\py@ o{}{}#1}
+\py@DRC{\ou}{\py@ o{}u#1u}
+
+\py@DRC{\pa}{p\py@ ap{}#1}
+\py@DRC{\pai}{p\py@ api#1i}
+\py@DRC{\pan}{p\py@ apn#1n}
+\py@DRC{\pang}{p\py@ apn#1ng}
+\py@DRC{\pao}{p\py@ apo#1o}
+\py@DRC{\pei}{p\py@ epi#1i}
+\py@DRC{\pen}{p\py@ epn#1n}
+\py@DRC{\peng}{p\py@ epn#1ng}
+\py@DRC{\py@pi}{p\py@ ip{}#1}
+\py@DRC{\pian}{pi\py@ ain#1n}
+\py@DRC{\piao}{pi\py@ aio#1o}
+\py@DRC{\pie}{pi\py@ ei{}#1}
+\py@DRC{\pin}{p\py@ ipn#1n}
+\py@DRC{\ping}{p\py@ ipn#1ng}
+\py@DRC{\po}{p\py@ op{}#1}
+\py@DRC{\pou}{p\py@ opu#1u}
+\py@DRC{\pu}{p\py@ up{}#1}
+
+\py@DRC{\qi}{q\py@ iq{}#1}
+\py@DRC{\qia}{qi\py@ ai{}#1}
+\py@DRC{\qian}{qi\py@ ain#1n}
+\py@DRC{\qiang}{qi\py@ ain#1ng}
+\py@DRC{\qiao}{qi\py@ aio#1o}
+\py@DRC{\qie}{qi\py@ ei{}#1}
+\py@DRC{\qin}{q\py@ iqn#1n}
+\py@DRC{\qing}{q\py@ iqn#1ng}
+\py@DRC{\qiong}{qi\py@ oin#1ng}
+\py@DRC{\qiu}{qi\py@ ui{}#1}
+\py@DRC{\qu}{q\py@ uq{}#1}
+\py@DRC{\quan}{qu\py@ aun#1n}
+\py@DRC{\que}{qu\py@ eu{}#1}
+\py@DRC{\qun}{q\py@ uqn#1n}
+
+\py@DRC{\ran}{r\py@ arn#1n}
+\py@DRC{\rang}{r\py@ arn#1ng}
+\py@DRC{\rao}{r\py@ aro#1o}
+\py@DRC{\re}{r\py@ er{}#1}
+\py@DRC{\ren}{r\py@ ern#1n}
+\py@DRC{\reng}{r\py@ ern#1ng}
+\py@DRC{\ri}{r\py@ ir{}#1}
+\py@DRC{\rong}{r\py@ orn#1ng}
+\py@DRC{\rou}{r\py@ oru#1u}
+\py@DRC{\ru}{r\py@ ur{}#1}
+\py@DRC{\rua}{ru\py@ au{}#1}
+\py@DRC{\ruan}{ru\py@ aun#1n}
+\py@DRC{\rui}{ru\py@ iu{}#1}
+\py@DRC{\run}{r\py@ urn#1n}
+\py@DRC{\ruo}{ru\py@ ou{}#1}
+
+\py@DRC{\sa}{s\py@ as{}#1}
+\py@DRC{\sai}{s\py@ asi#1i}
+\py@DRC{\san}{s\py@ asn#1n}
+\py@DRC{\sang}{s\py@ asn#1ng}
+\py@DRC{\sao}{s\py@ aso#1o}
+\py@DRC{\se}{s\py@ es{}#1}
+\py@DRC{\sen}{s\py@ esn#1n}
+\py@DRC{\seng}{s\py@ esn#1ng}
+\py@DRC{\sha}{sh\py@ ah{}#1}
+\py@DRC{\shai}{sh\py@ ahi#1i}
+\py@DRC{\shan}{sh\py@ ahn#1n}
+\py@DRC{\shang}{sh\py@ ahn#1ng}
+\py@DRC{\shao}{sh\py@ aho#1o}
+\py@DRC{\she}{sh\py@ eh{}#1}
+\py@DRC{\shei}{sh\py@ ehi#1i}
+\py@DRC{\shen}{sh\py@ ehn#1n}
+\py@DRC{\sheng}{sh\py@ ehn#1ng}
+\py@DRC{\shi}{sh\py@ ih{}#1}
+\py@DRC{\shou}{sh\py@ ohu#1u}
+\py@DRC{\shu}{sh\py@ uh{}#1}
+\py@DRC{\shua}{shu\py@ au{}#1}
+\py@DRC{\shuai}{shu\py@ aui#1i}
+\py@DRC{\shuan}{shu\py@ aun#1n}
+\py@DRC{\shuang}{shu\py@ aun#1ng}
+\py@DRC{\shui}{shu\py@ iu{}#1}
+\py@DRC{\shun}{sh\py@ uhn#1n}
+\py@DRC{\shuo}{shu\py@ ou{}#1}
+\py@DRC{\si}{s\py@ is{}#1}
+\py@DRC{\song}{s\py@ osn#1ng}
+\py@DRC{\sou}{s\py@ osu#1u}
+\py@DRC{\su}{s\py@ us{}#1}
+\py@DRC{\suan}{su\py@ aun#1n}
+\py@DRC{\sui}{su\py@ iu{}#1}
+\py@DRC{\sun}{s\py@ usn#1n}
+\py@DRC{\suo}{su\py@ ou{}#1}
+
+\py@DRC{\ta}{t\py@ at{}#1}
+\py@DRC{\tai}{t\py@ ati#1i}
+\py@DRC{\py@tan}{t\py@ atn#1n}
+\py@DRC{\tang}{t\py@ atn#1ng}
+\py@DRC{\tao}{t\py@ ato#1o}
+\py@DRC{\te}{t\py@ et{}#1}
+\py@DRC{\tei}{t\py@ eti#1i}
+\py@DRC{\teng}{t\py@ etn#1ng}
+\py@DRC{\ti}{t\py@ it{}#1}
+\py@DRC{\tian}{ti\py@ ain#1n}
+\py@DRC{\tiao}{ti\py@ aio#1o}
+\py@DRC{\tie}{ti\py@ ei{}#1}
+\py@DRC{\ting}{t\py@ itn#1ng}
+\py@DRC{\tong}{t\py@ otn#1ng}
+\py@DRC{\tou}{t\py@ otu#1u}
+\py@DRC{\tu}{t\py@ ut{}#1}
+\py@DRC{\tuan}{tu\py@ aun#1n}
+\py@DRC{\tui}{tu\py@ iu{}#1}
+\py@DRC{\tun}{t\py@ utn#1n}
+\py@DRC{\tuo}{tu\py@ ou{}#1}
+
+\py@DRC{\wa}{w\py@ aw{}#1}
+\py@DRC{\wai}{w\py@ awi#1i}
+\py@DRC{\wan}{w\py@ awn#1n}
+\py@DRC{\wang}{w\py@ awn#1ng}
+\py@DRC{\wei}{w\py@ ewi#1i}
+\py@DRC{\wen}{w\py@ ewn#1n}
+\py@DRC{\weng}{w\py@ ewn#1ng}
+\py@DRC{\wo}{w\py@ ow{}#1}
+\py@DRC{\wu}{w\py@ uw{}#1}
+
+\py@DRC{\py@xi}{x\py@ ix{}#1}
+\py@DRC{\xia}{xi\py@ ai{}#1}
+\py@DRC{\xian}{xi\py@ ain#1n}
+\py@DRC{\xiang}{xi\py@ ain#1ng}
+\py@DRC{\xiao}{xi\py@ aio#1o}
+\py@DRC{\xie}{xi\py@ ei{}#1}
+\py@DRC{\xin}{x\py@ ixn#1n}
+\py@DRC{\xing}{x\py@ ixn#1ng}
+\py@DRC{\xiong}{xi\py@ oin#1ng}
+\py@DRC{\xiu}{xi\py@ ui{}#1}
+\py@DRC{\xu}{x\py@ ux{}#1}
+\py@DRC{\xuan}{xu\py@ aun#1n}
+\py@DRC{\xue}{xu\py@ eu{}#1}
+\py@DRC{\xun}{x\py@ uxn#1n}
+
+\py@DRC{\ya}{y\py@ ay{}#1}
+\py@DRC{\yan}{y\py@ ayn#1n}
+\py@DRC{\yang}{y\py@ ayn#1ng}
+\py@DRC{\yao}{y\py@ ayo#1o}
+\py@DRC{\ye}{y\py@ ey{}#1}
+\py@DRC{\yi}{y\py@ iy{}#1}
+\py@DRC{\yin}{y\py@ iyn#1n}
+\py@DRC{\ying}{y\py@ iyn#1ng}
+\py@DRC{\yo}{y\py@ oy{}#1}
+\py@DRC{\yong}{y\py@ oyn#1ng}
+\py@DRC{\you}{y\py@ oyu#1u}
+\py@DRC{\yu}{y\py@ uy{}#1}
+\py@DRC{\yuan}{yu\py@ aun#1n}
+\py@DRC{\yue}{yu\py@ eu{}#1}
+\py@DRC{\yun}{y\py@ uyn#1n}
+
+\py@DRC{\za}{z\py@ az{}#1}
+\py@DRC{\zai}{z\py@ azi#1i}
+\py@DRC{\zan}{z\py@ azn#1n}
+\py@DRC{\zang}{z\py@ azn#1ng}
+\py@DRC{\zao}{z\py@ azo#1o}
+\py@DRC{\ze}{z\py@ ez{}#1}
+\py@DRC{\zei}{z\py@ ezi#1i}
+\py@DRC{\zen}{z\py@ ezn#1n}
+\py@DRC{\zeng}{z\py@ ezn#1ng}
+\py@DRC{\zha}{zh\py@ ah{}#1}
+\py@DRC{\zhai}{zh\py@ ahi#1i}
+\py@DRC{\zhan}{zh\py@ ahn#1n}
+\py@DRC{\zhang}{zh\py@ ahn#1ng}
+\py@DRC{\zhao}{zh\py@ aho#1o}
+\py@DRC{\zhe}{zh\py@ eh{}#1}
+\py@DRC{\zhei}{zh\py@ ehi#1i}
+\py@DRC{\zhen}{zh\py@ ehn#1n}
+\py@DRC{\zheng}{zh\py@ ehn#1ng}
+\py@DRC{\zhi}{zh\py@ ih{}#1}
+\py@DRC{\zhong}{zh\py@ ohn#1ng}
+\py@DRC{\zhou}{zh\py@ ohu#1u}
+\py@DRC{\zhu}{zh\py@ uh{}#1}
+\py@DRC{\zhua}{zhu\py@ au{}#1}
+\py@DRC{\zhuai}{zhu\py@ aui#1i}
+\py@DRC{\zhuan}{zhu\py@ aun#1n}
+\py@DRC{\zhuang}{zhu\py@ aun#1ng}
+\py@DRC{\zhui}{zhu\py@ iu{}#1}
+\py@DRC{\zhun}{zh\py@ uhn#1n}
+\py@DRC{\zhuo}{zhu\py@ ou{}#1}
+\py@DRC{\zi}{z\py@ iz{}#1}
+\py@DRC{\zong}{z\py@ ozn#1ng}
+\py@DRC{\zou}{z\py@ ozu#1u}
+\py@DRC{\zu}{z\py@ uz{}#1}
+\py@DRC{\zuan}{zu\py@ aun#1n}
+\py@DRC{\zui}{zu\py@ iu{}#1}
+\py@DRC{\zun}{z\py@ uzn#1n}
+\py@DRC{\zuo}{zu\py@ ou{}#1}
+
+
+\py@DRC{\A}{\py@ A{}{}#1}
+\py@DRC{\Ai}{\py@ A{}i#1i}
+\py@DRC{\An}{\py@ A{}n#1n}
+\py@DRC{\Ang}{\py@ A{}n#1ng}
+\py@DRC{\Ao}{\py@ A{}o#1o}
+
+\py@DRC{\Ba}{B\py@ aB{}#1}
+\py@DRC{\Bai}{B\py@ aBi#1i}
+\py@DRC{\Ban}{B\py@ aBn#1n}
+\py@DRC{\Bang}{B\py@ aBn#1ng}
+\py@DRC{\Bao}{B\py@ aBo#1o}
+\py@DRC{\Bei}{B\py@ eBi#1i}
+\py@DRC{\Ben}{B\py@ eBn#1n}
+\py@DRC{\Beng}{B\py@ eBn#1ng}
+\py@DRC{\Bi}{B\py@ iB{}#1}
+\py@DRC{\Bian}{Bi\py@ ain#1n}
+\py@DRC{\Biao}{Bi\py@ aio#1o}
+\py@DRC{\Bie}{Bi\py@ ei{}#1}
+\py@DRC{\Bin}{B\py@ iBn#1n}
+\py@DRC{\Bing}{B\py@ iBn#1ng}
+\py@DRC{\Bo}{B\py@ oB{}#1}
+\py@DRC{\Bu}{B\py@ uB{}#1}
+
+\py@DRC{\Ca}{C\py@ aC{}#1}
+\py@DRC{\Cai}{C\py@ aCi#1i}
+\py@DRC{\Can}{C\py@ aCn#1n}
+\py@DRC{\Cang}{C\py@ aCn#1ng}
+\py@DRC{\Cao}{C\py@ aCo#1o}
+\py@DRC{\Ce}{C\py@ eC{}#1}
+\py@DRC{\Cen}{C\py@ eCn#1n}
+\py@DRC{\Ceng}{C\py@ eCn#1ng}
+\py@DRC{\Cha}{Ch\py@ ah{}#1}
+\py@DRC{\Chai}{Ch\py@ ahi#1i}
+\py@DRC{\Chan}{Ch\py@ ahn#1n}
+\py@DRC{\Chang}{Ch\py@ ahn#1ng}
+\py@DRC{\Chao}{Ch\py@ aho#1o}
+\py@DRC{\Che}{Ch\py@ eh{}#1}
+\py@DRC{\Chen}{Ch\py@ ehn#1n}
+\py@DRC{\Cheng}{Ch\py@ ehn#1ng}
+\py@DRC{\Chi}{Ch\py@ ih{}#1}
+\py@DRC{\Chong}{Ch\py@ ohn#1ng}
+\py@DRC{\Chou}{Ch\py@ ohu#1u}
+\py@DRC{\Chu}{Ch\py@ uh{}#1}
+\py@DRC{\Chuai}{Chu\py@ aui#1i}
+\py@DRC{\Chuan}{Chu\py@ aun#1n}
+\py@DRC{\Chuang}{Chu\py@ aun#1ng}
+\py@DRC{\Chui}{Chu\py@ iu{}#1}
+\py@DRC{\Chun}{Ch\py@ uhn#1n}
+\py@DRC{\Chuo}{Chu\py@ ou{}#1}
+\py@DRC{\Ci}{C\py@ iC{}#1}
+\py@DRC{\Cong}{C\py@ oCn#1ng}
+\py@DRC{\Cou}{C\py@ oCu#1u}
+\py@DRC{\Cu}{C\py@ uC{}#1}
+\py@DRC{\Cuan}{Cu\py@ aun#1n}
+\py@DRC{\Cui}{Cu\py@ iu{}#1}
+\py@DRC{\Cun}{C\py@ uCn#1n}
+\py@DRC{\Cuo}{Cu\py@ ou{}#1}
+
+\py@DRC{\Da}{D\py@ aD{}#1}
+\py@DRC{\Dai}{D\py@ aDi#1i}
+\py@DRC{\Dan}{D\py@ aDn#1n}
+\py@DRC{\Dang}{D\py@ aDn#1ng}
+\py@DRC{\Dao}{D\py@ aDo#1o}
+\py@DRC{\De}{D\py@ eD{}#1}
+\py@DRC{\Dei}{D\py@ eDi#1i}
+\py@DRC{\Deng}{D\py@ eDn#1ng}
+\py@DRC{\Di}{D\py@ iD{}#1}
+\py@DRC{\Dian}{Di\py@ ain#1n}
+\py@DRC{\Diao}{Di\py@ aio#1o}
+\py@DRC{\Die}{Di\py@ ei{}#1}
+\py@DRC{\Ding}{D\py@ iDn#1ng}
+\py@DRC{\Diu}{Di\py@ ui{}#1}
+\py@DRC{\Dong}{D\py@ oDn#1ng}
+\py@DRC{\Dou}{D\py@ oDu#1u}
+\py@DRC{\Du}{D\py@ uD{}#1}
+\py@DRC{\Duan}{Du\py@ aun#1n}
+\py@DRC{\Dui}{Du\py@ iu{}#1}
+\py@DRC{\Dun}{D\py@ uDn#1n}
+\py@DRC{\Duo}{Du\py@ ou{}#1}
+
+\py@DRC{\E}{\py@ E{}{}#1}
+\py@DRC{\Ei}{\py@ E{}i#1i}
+\py@DRC{\En}{\py@ E{}n#1n}
+\py@DRC{\Eng}{\py@ E{}n#1ng}
+\py@DRC{\Er}{\py@ E{}r#1r}
+
+\py@DRC{\Fa}{F\py@ aF{}#1}
+\py@DRC{\Fan}{F\py@ aFn#1n}
+\py@DRC{\Fang}{F\py@ aFn#1ng}
+\py@DRC{\Fei}{F\py@ eFi#1i}
+\py@DRC{\Fen}{F\py@ eFn#1n}
+\py@DRC{\Feng}{F\py@ eFn#1ng}
+\py@DRC{\Fiao}{Fi\py@ aio#1o}
+\py@DRC{\Fo}{F\py@ oF{}#1}
+\py@DRC{\Fou}{F\py@ oFu#1u}
+\py@DRC{\Fu}{F\py@ uF{}#1}
+
+\py@DRC{\Ga}{G\py@ aG{}#1}
+\py@DRC{\Gai}{G\py@ aGi#1i}
+\py@DRC{\Gan}{G\py@ aGn#1n}
+\py@DRC{\Gang}{G\py@ aGn#1ng}
+\py@DRC{\Gao}{G\py@ aGo#1o}
+\py@DRC{\Ge}{G\py@ eG{}#1}
+\py@DRC{\Gei}{G\py@ eGi#1i}
+\py@DRC{\Gen}{G\py@ eGn#1n}
+\py@DRC{\Geng}{G\py@ eGn#1ng}
+\py@DRC{\Gong}{G\py@ oGn#1ng}
+\py@DRC{\Gou}{G\py@ oGu#1u}
+\py@DRC{\Gu}{G\py@ uG{}#1}
+\py@DRC{\Gua}{Gu\py@ au{}#1}
+\py@DRC{\Guai}{Gu\py@ aui#1i}
+\py@DRC{\Guan}{Gu\py@ aun#1n}
+\py@DRC{\Guang}{Gu\py@ aun#1ng}
+\py@DRC{\Gui}{Gu\py@ iu{}#1}
+\py@DRC{\Gun}{G\py@ uGn#1n}
+\py@DRC{\Guo}{Gu\py@ ou{}#1}
+
+\py@DRC{\Ha}{H\py@ aH{}#1}
+\py@DRC{\Hai}{H\py@ aHi#1i}
+\py@DRC{\Han}{H\py@ aHn#1n}
+\py@DRC{\Hang}{H\py@ aHn#1ng}
+\py@DRC{\Hao}{H\py@ aHo#1o}
+\py@DRC{\He}{H\py@ eH{}#1}
+\py@DRC{\Hei}{H\py@ eHi#1i}
+\py@DRC{\Hen}{H\py@ eHn#1n}
+\py@DRC{\Heng}{H\py@ eHn#1ng}
+\py@DRC{\Hong}{H\py@ oHn#1ng}
+\py@DRC{\Hou}{H\py@ oHu#1u}
+\py@DRC{\Hu}{H\py@ uH{}#1}
+\py@DRC{\Hua}{Hu\py@ au{}#1}
+\py@DRC{\Huai}{Hu\py@ aui#1i}
+\py@DRC{\Huan}{Hu\py@ aun#1n}
+\py@DRC{\Huang}{Hu\py@ aun#1ng}
+\py@DRC{\Hui}{Hu\py@ iu{}#1}
+\py@DRC{\Hun}{H\py@ uHn#1n}
+\py@DRC{\Huo}{Hu\py@ ou{}#1}
+
+\py@DRC{\Ji}{J\py@ iJ{}#1}
+\py@DRC{\Jia}{Ji\py@ ai{}#1}
+\py@DRC{\Jian}{Ji\py@ ain#1n}
+\py@DRC{\Jiang}{Ji\py@ ain#1ng}
+\py@DRC{\Jiao}{Ji\py@ aio#1o}
+\py@DRC{\Jie}{Ji\py@ ei{}#1}
+\py@DRC{\Jin}{J\py@ iJn#1n}
+\py@DRC{\Jing}{J\py@ iJn#1ng}
+\py@DRC{\Jiong}{Ji\py@ oin#1ng}
+\py@DRC{\Jiu}{Ji\py@ ui{}#1}
+\py@DRC{\Ju}{J\py@ uJ{}#1}
+\py@DRC{\Juan}{Ju\py@ aun#1n}
+\py@DRC{\Jue}{Ju\py@ eu{}#1}
+\py@DRC{\Jun}{J\py@ uJn#1n}
+
+\py@DRC{\Ka}{K\py@ aK{}#1}
+\py@DRC{\Kai}{K\py@ aKi#1i}
+\py@DRC{\Kan}{K\py@ aKn#1n}
+\py@DRC{\Kang}{K\py@ aKn#1ng}
+\py@DRC{\Kao}{K\py@ aKo#1o}
+\py@DRC{\Ke}{K\py@ eK{}#1}
+\py@DRC{\Kei}{K\py@ eKi#1i}
+\py@DRC{\Ken}{K\py@ eKn#1n}
+\py@DRC{\Keng}{K\py@ eKn#1ng}
+\py@DRC{\Kong}{K\py@ oKn#1ng}
+\py@DRC{\Kou}{K\py@ oKu#1u}
+\py@DRC{\Ku}{K\py@ uK{}#1}
+\py@DRC{\Kua}{Ku\py@ au{}#1}
+\py@DRC{\Kuai}{Ku\py@ aui#1i}
+\py@DRC{\Kuan}{Ku\py@ aun#1n}
+\py@DRC{\Kuang}{Ku\py@ aun#1ng}
+\py@DRC{\Kui}{Ku\py@ iu{}#1}
+\py@DRC{\Kun}{K\py@ uKn#1n}
+\py@DRC{\Kuo}{Ku\py@ ou{}#1}
+
+\py@DRC{\La}{L\py@ aL{}#1}
+\py@DRC{\Lai}{L\py@ aLi#1i}
+\py@DRC{\Lan}{L\py@ aLn#1n}
+\py@DRC{\Lang}{L\py@ aLn#1ng}
+\py@DRC{\Lao}{L\py@ aLo#1o}
+\py@DRC{\Le}{L\py@ eL{}#1}
+\py@DRC{\Lei}{L\py@ eLi#1i}
+\py@DRC{\Leng}{L\py@ eLn#1ng}
+\py@DRC{\Li}{L\py@ iL{}#1}
+\py@DRC{\Lia}{Li\py@ ai{}#1}
+\py@DRC{\Lian}{Li\py@ ain#1n}
+\py@DRC{\Liang}{Li\py@ ain#1ng}
+\py@DRC{\Liao}{Li\py@ aio#1o}
+\py@DRC{\Lie}{Li\py@ ei{}#1}
+\py@DRC{\Lin}{L\py@ iLn#1n}
+\py@DRC{\Ling}{L\py@ iLn#1ng}
+\py@DRC{\Liu}{Li\py@ ui{}#1}
+\py@DRC{\LONG}{L\py@ oLn#1ng}
+\py@DRC{\Lou}{L\py@ oLu#1u}
+\py@DRC{\Lu}{L\py@ uL{}#1}
+\py@DRC{\Luan}{Lu\py@ aun#1n}
+\py@DRC{\Lun}{L\py@ uLn#1n}
+\py@DRC{\Luo}{Lu\py@ ou{}#1}
+\py@DRC{\Lv}{L\py@ vL{}#1}
+\py@DRC{\Lve}{L\"{u}\py@ eLe#1}
+
+\py@DRC{\Ma}{M\py@ aM{}#1}
+\py@DRC{\Mai}{M\py@ aMi#1i}
+\py@DRC{\Man}{M\py@ aMn#1n}
+\py@DRC{\Mang}{M\py@ aMn#1ng}
+\py@DRC{\Mao}{M\py@ aMo#1o}
+\py@DRC{\Mei}{M\py@ eMi#1i}
+\py@DRC{\Men}{M\py@ eMn#1n}
+\py@DRC{\Meng}{M\py@ eMn#1ng}
+\py@DRC{\Mi}{M\py@ iM{}#1}
+\py@DRC{\Mian}{Mi\py@ ain#1n}
+\py@DRC{\Miao}{Mi\py@ aio#1o}
+\py@DRC{\Mie}{Mi\py@ ei{}#1}
+\py@DRC{\Min}{M\py@ iMn#1n}
+\py@DRC{\Ming}{M\py@ iMn#1ng}
+\py@DRC{\Miu}{Mi\py@ ui{}#1}
+\py@DRC{\Mo}{M\py@ oM{}#1}
+\py@DRC{\Mou}{M\py@ oMu#1u}
+\py@DRC{\Mu}{M\py@ uM{}#1}
+
+\py@DRC{\Na}{N\py@ aN{}#1}
+\py@DRC{\Nai}{N\py@ aNi#1i}
+\py@DRC{\Nan}{N\py@ aNn#1n}
+\py@DRC{\Nang}{N\py@ aNn#1ng}
+\py@DRC{\Nao}{N\py@ aNo#1o}
+\py@DRC{\Ne}{N\py@ eN{}#1}
+\py@DRC{\Nei}{N\py@ eNi#1i}
+\py@DRC{\Nen}{N\py@ eNn#1n}
+\py@DRC{\Neng}{N\py@ eNn#1ng}
+\py@DRC{\Ni}{N\py@ iN{}#1}
+\py@DRC{\Nian}{Ni\py@ ain#1n}
+\py@DRC{\Niang}{Ni\py@ ain#1ng}
+\py@DRC{\Niao}{Ni\py@ aio#1o}
+\py@DRC{\Nie}{Ni\py@ ei{}#1}
+\py@DRC{\Nin}{N\py@ iNn#1n}
+\py@DRC{\Ning}{N\py@ iNn#1ng}
+\py@DRC{\Niu}{Ni\py@ ui{}#1}
+\py@DRC{\Nong}{N\py@ oNn#1ng}
+\py@DRC{\Nou}{N\py@ oNu#1u}
+\py@DRC{\Nu}{N\py@ uN{}#1}
+\py@DRC{\Nuan}{Nu\py@ aun#1n}
+\py@DRC{\Nuo}{Nu\py@ ou{}#1}
+\py@DRC{\Nv}{N\py@ vN{}#1}
+\py@DRC{\Nve}{N\"{u}\py@ eNe#1}
+
+\py@DRC{\py@@O}{\py@ O{}{}#1}
+\py@DRC{\Ou}{\py@ O{}u#1u}
+
+\py@DRC{\Pa}{P\py@ aP{}#1}
+\py@DRC{\Pai}{P\py@ aPi#1i}
+\py@DRC{\Pan}{P\py@ aPn#1n}
+\py@DRC{\Pang}{P\py@ aPn#1ng}
+\py@DRC{\Pao}{P\py@ aPo#1o}
+\py@DRC{\Pei}{P\py@ ePi#1i}
+\py@DRC{\Pen}{P\py@ ePn#1n}
+\py@DRC{\Peng}{P\py@ ePn#1ng}
+\py@DRC{\py@Pi}{P\py@ iP{}#1}
+\py@DRC{\Pian}{Pi\py@ ain#1n}
+\py@DRC{\Piao}{Pi\py@ aio#1o}
+\py@DRC{\Pie}{Pi\py@ ei{}#1}
+\py@DRC{\Pin}{P\py@ iPn#1n}
+\py@DRC{\Ping}{P\py@ iPn#1ng}
+\py@DRC{\Po}{P\py@ oP{}#1}
+\py@DRC{\Pou}{P\py@ oPu#1u}
+\py@DRC{\Pu}{P\py@ uP{}#1}
+
+\py@DRC{\Qi}{Q\py@ iQ{}#1}
+\py@DRC{\Qia}{Qi\py@ ai{}#1}
+\py@DRC{\Qian}{Qi\py@ ain#1n}
+\py@DRC{\Qiang}{Qi\py@ ain#1ng}
+\py@DRC{\Qiao}{Qi\py@ aio#1o}
+\py@DRC{\Qie}{Qi\py@ ei{}#1}
+\py@DRC{\Qin}{Q\py@ iQn#1n}
+\py@DRC{\Qing}{Q\py@ iQn#1ng}
+\py@DRC{\Qiong}{Qi\py@ oin#1ng}
+\py@DRC{\Qiu}{Qi\py@ ui{}#1}
+\py@DRC{\Qu}{Q\py@ uQ{}#1}
+\py@DRC{\Quan}{Qu\py@ aun#1n}
+\py@DRC{\Que}{Qu\py@ eu{}#1}
+\py@DRC{\Qun}{Q\py@ uQn#1n}
+
+\py@DRC{\Ran}{R\py@ aRn#1n}
+\py@DRC{\Rang}{R\py@ aRn#1ng}
+\py@DRC{\Rao}{R\py@ aRo#1o}
+\py@DRC{\py@Re}{R\py@ eR{}#1}
+\py@DRC{\Ren}{R\py@ eRn#1n}
+\py@DRC{\Reng}{R\py@ eRn#1ng}
+\py@DRC{\Ri}{R\py@ iR{}#1}
+\py@DRC{\Rong}{R\py@ oRn#1ng}
+\py@DRC{\Rou}{R\py@ oRu#1u}
+\py@DRC{\Ru}{R\py@ uR{}#1}
+\py@DRC{\Ruan}{Ru\py@ aun#1n}
+\py@DRC{\Rui}{Ru\py@ iu{}#1}
+\py@DRC{\Run}{R\py@ uRn#1n}
+\py@DRC{\Ruo}{Ru\py@ ou{}#1}
+
+\py@DRC{\Sa}{S\py@ aS{}#1}
+\py@DRC{\Sai}{S\py@ aSi#1i}
+\py@DRC{\San}{S\py@ aSn#1n}
+\py@DRC{\Sang}{S\py@ aSn#1ng}
+\py@DRC{\Sao}{S\py@ aSo#1o}
+\py@DRC{\Se}{S\py@ eS{}#1}
+\py@DRC{\Sen}{S\py@ eSn#1n}
+\py@DRC{\Seng}{S\py@ eSn#1ng}
+\py@DRC{\Sha}{Sh\py@ ah{}#1}
+\py@DRC{\Shai}{Sh\py@ ahi#1i}
+\py@DRC{\Shan}{Sh\py@ ahn#1n}
+\py@DRC{\Shang}{Sh\py@ ahn#1ng}
+\py@DRC{\Shao}{Sh\py@ aho#1o}
+\py@DRC{\She}{Sh\py@ eh{}#1}
+\py@DRC{\Shei}{Sh\py@ ehi#1i}
+\py@DRC{\Shen}{Sh\py@ ehn#1n}
+\py@DRC{\Sheng}{Sh\py@ ehn#1ng}
+\py@DRC{\Shi}{Sh\py@ ih{}#1}
+\py@DRC{\Shou}{Sh\py@ ohu#1u}
+\py@DRC{\Shu}{Sh\py@ uh{}#1}
+\py@DRC{\Shua}{Shu\py@ au{}#1}
+\py@DRC{\Shuai}{Shu\py@ aui#1i}
+\py@DRC{\Shuan}{Shu\py@ aun#1n}
+\py@DRC{\Shuang}{Shu\py@ aun#1ng}
+\py@DRC{\Shui}{Shu\py@ iu{}#1}
+\py@DRC{\Shun}{Sh\py@ uhn#1n}
+\py@DRC{\Shuo}{Shu\py@ ou{}#1}
+\py@DRC{\Si}{S\py@ iS{}#1}
+\py@DRC{\Song}{S\py@ oSn#1ng}
+\py@DRC{\Sou}{S\py@ oSu#1u}
+\py@DRC{\Su}{S\py@ uS{}#1}
+\py@DRC{\Suan}{Su\py@ aun#1n}
+\py@DRC{\Sui}{Su\py@ iu{}#1}
+\py@DRC{\Sun}{S\py@ uSn#1n}
+\py@DRC{\Suo}{Su\py@ ou{}#1}
+
+\py@DRC{\Ta}{T\py@ aT{}#1}
+\py@DRC{\Tai}{T\py@ aTi#1i}
+\py@DRC{\Tan}{T\py@ aTn#1n}
+\py@DRC{\Tang}{T\py@ aTn#1ng}
+\py@DRC{\Tao}{T\py@ aTo#1o}
+\py@DRC{\Te}{T\py@ eT{}#1}
+\py@DRC{\Tei}{T\py@ eTi#1i}
+\py@DRC{\Teng}{T\py@ eTn#1ng}
+\py@DRC{\Ti}{T\py@ iT{}#1}
+\py@DRC{\Tian}{Ti\py@ ain#1n}
+\py@DRC{\Tiao}{Ti\py@ aio#1o}
+\py@DRC{\Tie}{Ti\py@ ei{}#1}
+\py@DRC{\Ting}{T\py@ iTn#1ng}
+\py@DRC{\Tong}{T\py@ oTn#1ng}
+\py@DRC{\Tou}{T\py@ oTu#1u}
+\py@DRC{\Tu}{T\py@ uT{}#1}
+\py@DRC{\Tuan}{Tu\py@ aun#1n}
+\py@DRC{\Tui}{Tu\py@ iu{}#1}
+\py@DRC{\Tun}{T\py@ uTn#1n}
+\py@DRC{\Tuo}{Tu\py@ ou{}#1}
+
+\py@DRC{\Wa}{W\py@ aW{}#1}
+\py@DRC{\Wai}{W\py@ aWi#1i}
+\py@DRC{\Wan}{W\py@ aWn#1n}
+\py@DRC{\Wang}{W\py@ aWn#1ng}
+\py@DRC{\Wei}{W\py@ eWi#1i}
+\py@DRC{\Wen}{W\py@ eWn#1n}
+\py@DRC{\Weng}{W\py@ eWn#1ng}
+\py@DRC{\Wo}{W\py@ oW{}#1}
+\py@DRC{\Wu}{W\py@ uW{}#1}
+
+\py@DRC{\py@Xi}{X\py@ iX{}#1}
+\py@DRC{\Xia}{Xi\py@ ai{}#1}
+\py@DRC{\Xian}{Xi\py@ ain#1n}
+\py@DRC{\Xiang}{Xi\py@ ain#1ng}
+\py@DRC{\Xiao}{Xi\py@ aio#1o}
+\py@DRC{\Xie}{Xi\py@ ei{}#1}
+\py@DRC{\Xin}{X\py@ iXn#1n}
+\py@DRC{\Xing}{X\py@ iXn#1ng}
+\py@DRC{\Xiong}{Xi\py@ oin#1ng}
+\py@DRC{\Xiu}{Xi\py@ ui{}#1}
+\py@DRC{\Xu}{X\py@ uX{}#1}
+\py@DRC{\Xuan}{Xu\py@ aun#1n}
+\py@DRC{\Xue}{Xu\py@ eu{}#1}
+\py@DRC{\Xun}{X\py@ uXn#1n}
+
+\py@DRC{\Ya}{Y\py@ aY{}#1}
+\py@DRC{\Yan}{Y\py@ aYn#1n}
+\py@DRC{\Yang}{Y\py@ aYn#1ng}
+\py@DRC{\Yao}{Y\py@ aYo#1o}
+\py@DRC{\Ye}{Y\py@ eY{}#1}
+\py@DRC{\Yi}{Y\py@ iY{}#1}
+\py@DRC{\Yin}{Y\py@ iYn#1n}
+\py@DRC{\Ying}{Y\py@ iYn#1ng}
+\py@DRC{\Yo}{Y\py@ oY{}#1}
+\py@DRC{\Yong}{Y\py@ oYn#1ng}
+\py@DRC{\You}{Y\py@ oYu#1u}
+\py@DRC{\Yu}{Y\py@ uY{}#1}
+\py@DRC{\Yuan}{Yu\py@ aun#1n}
+\py@DRC{\Yue}{Yu\py@ eu{}#1}
+\py@DRC{\Yun}{Y\py@ uYn#1n}
+
+\py@DRC{\Za}{Z\py@ aZ{}#1}
+\py@DRC{\Zai}{Z\py@ aZi#1i}
+\py@DRC{\Zan}{Z\py@ aZn#1n}
+\py@DRC{\Zang}{Z\py@ aZn#1ng}
+\py@DRC{\Zao}{Z\py@ aZo#1o}
+\py@DRC{\Ze}{Z\py@ eZ{}#1}
+\py@DRC{\Zei}{Z\py@ eZi#1i}
+\py@DRC{\Zen}{Z\py@ eZn#1n}
+\py@DRC{\Zeng}{Z\py@ eZn#1ng}
+\py@DRC{\Zha}{Zh\py@ ah{}#1}
+\py@DRC{\Zhai}{Zh\py@ ahi#1i}
+\py@DRC{\Zhan}{Zh\py@ ahn#1n}
+\py@DRC{\Zhang}{Zh\py@ ahn#1ng}
+\py@DRC{\Zhao}{Zh\py@ aho#1o}
+\py@DRC{\Zhe}{Zh\py@ eh{}#1}
+\py@DRC{\Zhei}{Zh\py@ ehi#1i}
+\py@DRC{\Zhen}{Zh\py@ ehn#1n}
+\py@DRC{\Zheng}{Zh\py@ ehn#1ng}
+\py@DRC{\Zhi}{Zh\py@ ih{}#1}
+\py@DRC{\Zhong}{Zh\py@ ohn#1ng}
+\py@DRC{\Zhou}{Zh\py@ ohu#1u}
+\py@DRC{\Zhu}{Zh\py@ uh{}#1}
+\py@DRC{\Zhua}{Zhu\py@ au{}#1}
+\py@DRC{\Zhuai}{Zhu\py@ aui#1i}
+\py@DRC{\Zhuan}{Zhu\py@ aun#1n}
+\py@DRC{\Zhuang}{Zhu\py@ aun#1ng}
+\py@DRC{\Zhui}{Zhu\py@ iu{}#1}
+\py@DRC{\Zhun}{Zh\py@ uhn#1n}
+\py@DRC{\Zhuo}{Zhu\py@ ou{}#1}
+\py@DRC{\Zi}{Z\py@ iZ{}#1}
+\py@DRC{\Zong}{Z\py@ oZn#1ng}
+\py@DRC{\Zou}{Z\py@ oZu#1u}
+\py@DRC{\Zu}{Z\py@ uZ{}#1}
+\py@DRC{\Zuan}{Zu\py@ aun#1n}
+\py@DRC{\Zui}{Zu\py@ iu{}#1}
+\py@DRC{\Zun}{Z\py@ uZn#1n}
+\py@DRC{\Zuo}{Zu\py@ ou{}#1}
+
+
+% We enable all pinyin syllables as the default.
+
+\PYactivate
+
+
+\endlinechar `\^^M
+\catcode`@=12
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/pmC.chr b/language/chinese/CJK/cjk-4.8.4/texinput/pmC.chr
new file mode 100644
index 0000000000..0a4b44d412
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/pmC.chr
@@ -0,0 +1,98 @@
+% This is the file pmC.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{pmC.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling pmC fonts and characters.
+
+\gdef\CJK@pmCChr{
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##3\relax
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \CJKsymbol{\@tempcnta}
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% for punctuation.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##4}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \CJKpunctsymbol{\@tempcnta}
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/pmCbig.enc b/language/chinese/CJK/cjk-4.8.4/texinput/pmCbig.enc
new file mode 100644
index 0000000000..c86d9b30e1
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/pmCbig.enc
@@ -0,0 +1,133 @@
+% This is the file pmCbig.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{pmCbig.enc}[\filedate\space\fileversion]
+
+
+% old poor man's Chinese encoding:
+% each plane gets an own font (Big 5, GB, JIS etc.).
+
+% big size:
+
+\gdef\CJK@pmCbigEncoding{
+ \CJK@loadChr{pmC}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar{A1}{a1}{-128}{##1}}
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar{A2}{a2}{-128}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@punctchar{A3}{a3}{-128}{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar{A4}{a4}{-128}{##1}}
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar{A5}{a5}{-128}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@char{a6}{-128}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@char{a7}{-128}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@char{a8}{-128}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@char{a9}{-128}{##1}}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@char{aa}{-128}{##1}}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@char{ab}{-128}{##1}}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@char{ac}{-128}{##1}}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@char{ad}{-128}{##1}}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@char{ae}{-128}{##1}}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@char{af}{-128}{##1}}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@char{b0}{-128}{##1}}
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@char{b1}{-128}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@char{b2}{-128}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@char{b3}{-128}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@char{b4}{-128}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@char{b5}{-128}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@char{b6}{-128}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@char{b7}{-128}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@char{b8}{-128}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@char{b9}{-128}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@char{ba}{-128}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@char{bb}{-128}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@char{bc}{-128}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@char{bd}{-128}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@char{be}{-128}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@char{bf}{-128}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@char{c0}{-128}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@char{c1}{-128}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@char{c2}{-128}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@char{c3}{-128}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@char{c4}{-128}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@char{c5}{-128}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@char{c6}{-128}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@char{c7}{-128}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@char{c8}{-128}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@char{c9}{-128}{##1}}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char{ca}{-128}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@char{cb}{-128}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@char{cc}{-128}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@char{cd}{-128}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char{ce}{-128}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@char{cf}{-128}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char{d0}{-128}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char{d1}{-128}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@char{d2}{-128}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char{d3}{-128}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@char{d4}{-128}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@char{d5}{-128}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char{d6}{-128}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@char{d7}{-128}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@char{d8}{-128}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char{d9}{-128}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@char{da}{-128}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char{db}{-128}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@char{dc}{-128}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@char{dd}{-128}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char{de}{-128}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@char{df}{-128}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@char{e0}{-128}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char{e1}{-128}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@char{e2}{-128}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@char{e3}{-128}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char{e4}{-128}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@char{e5}{-128}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char{e6}{-128}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@char{e7}{-128}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@char{e8}{-128}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char{e9}{-128}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@char{ea}{-128}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@char{eb}{-128}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char{ec}{-128}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@char{ed}{-128}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char{ee}{-128}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@char{ef}{-128}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@char{f0}{-128}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char{f1}{-128}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@char{f2}{-128}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@char{f3}{-128}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char{f4}{-128}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@char{f5}{-128}{##1}}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@char{f6}{-128}{##1}}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@char{f7}{-128}{##1}}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@char{f8}{-128}{##1}}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@char{f9}{-128}{##1}}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@char{fa}{-128}{##1}}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@char{fb}{-128}{##1}}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@char{fc}{-128}{##1}}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@char{fd}{-128}{##1}}
+ \CJK@namegdef{^^fe}##1{\@empty\CJK@char{fe}{-128}{##1}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/pmCsmall.enc b/language/chinese/CJK/cjk-4.8.4/texinput/pmCsmall.enc
new file mode 100644
index 0000000000..e1a0245e0a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/pmCsmall.enc
@@ -0,0 +1,133 @@
+% This is the file pmCsmall.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{pmCsmall.enc}[\filedate\space\fileversion]
+
+
+% old poor man's Chinese encoding:
+% each plane gets an own font (Big 5, GB, JIS etc.).
+
+% small size:
+
+\gdef\CJK@pmCsmallEncoding{
+ \CJK@loadChr{pmC}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar{A1}{a1}{0}{##1}}
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar{A2}{a2}{0}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@punctchar{A3}{a3}{0}{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar{A4}{a4}{0}{##1}}
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar{A5}{a5}{0}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@char{a6}{0}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@char{a7}{0}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@char{a8}{0}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@char{a9}{0}{##1}}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@char{aa}{0}{##1}}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@char{ab}{0}{##1}}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@char{ac}{0}{##1}}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@char{ad}{0}{##1}}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@char{ae}{0}{##1}}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@char{af}{0}{##1}}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@char{b0}{0}{##1}}
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@char{b1}{0}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@char{b2}{0}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@char{b3}{0}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@char{b4}{0}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@char{b5}{0}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@char{b6}{0}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@char{b7}{0}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@char{b8}{0}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@char{b9}{0}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@char{ba}{0}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@char{bb}{0}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@char{bc}{0}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@char{bd}{0}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@char{be}{0}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@char{bf}{0}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@char{c0}{0}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@char{c1}{0}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@char{c2}{0}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@char{c3}{0}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@char{c4}{0}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@char{c5}{0}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@char{c6}{0}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@char{c7}{0}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@char{c8}{0}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@char{c9}{0}{##1}}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char{ca}{0}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@char{cb}{0}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@char{cc}{0}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@char{cd}{0}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char{ce}{0}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@char{cf}{0}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char{d0}{0}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char{d1}{0}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@char{d2}{0}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char{d3}{0}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@char{d4}{0}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@char{d5}{0}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char{d6}{0}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@char{d7}{0}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@char{d8}{0}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char{d9}{0}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@char{da}{0}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char{db}{0}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@char{dc}{0}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@char{dd}{0}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char{de}{0}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@char{df}{0}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@char{e0}{0}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char{e1}{0}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@char{e2}{0}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@char{e3}{0}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char{e4}{0}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@char{e5}{0}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char{e6}{0}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@char{e7}{0}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@char{e8}{0}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char{e9}{0}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@char{ea}{0}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@char{eb}{0}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char{ec}{0}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@char{ed}{0}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char{ee}{0}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@char{ef}{0}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@char{f0}{0}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char{f1}{0}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@char{f2}{0}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@char{f3}{0}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char{f4}{0}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@char{f5}{0}{##1}}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@char{f6}{0}{##1}}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@char{f7}{0}{##1}}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@char{f8}{0}{##1}}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@char{f9}{0}{##1}}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@char{fa}{0}{##1}}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@char{fb}{0}{##1}}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@char{fc}{0}{##1}}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@char{fd}{0}{##1}}
+ \CJK@namegdef{^^fe}##1{\@empty\CJK@char{fe}{0}{##1}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/ruby.sty b/language/chinese/CJK/cjk-4.8.4/texinput/ruby.sty
new file mode 100644
index 0000000000..a42df601df
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/ruby.sty
@@ -0,0 +1,174 @@
+% This is the file ruby.sty of the CJK package
+% for displaying ruby (i.e. furigana).
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesPackage{ruby}[\filedate\space\fileversion]
+
+
+\RequirePackage{CJK}[1996/11/20]
+
+\newif\ifruby@overlap@
+\newif\ifruby@CJK@
+
+\DeclareOption{overlap}{\ruby@overlap@true}
+\DeclareOption{nooverlap}{\ruby@overlap@false}
+\DeclareOption{CJK}{\ruby@CJK@true}
+\DeclareOption{latin}{\ruby@CJK@false}
+
+\ExecuteOptions{overlap, CJK}
+
+\ProcessOptions
+
+
+% we suppress any unwanted spaces produced by linefeeds.
+
+\endlinechar \m@ne
+
+% to get a small separation between adjacent lines.
+
+\lineskiplimit 1pt
+
+
+\newdimen\ruby@width
+\edef\ruby@kern{\kern -5sp\kern 5sp}
+
+\newcommand{\rubysize}{0.4}
+\newcommand{\rubysep}{-0.5ex}
+\newcommand{\rubyoverlap}{\ruby@overlap@true}
+\newcommand{\rubynooverlap}{\ruby@overlap@false}
+\newcommand{\rubyCJK}{\ruby@CJK@true}
+\newcommand{\rubylatin}{\ruby@CJK@false}
+
+
+% #1 is the base character; #2 is the ruby.
+
+\DeclareRobustCommand{\ruby}[2]{
+ {\@tempdimc \f@size\p@
+ \@tempdimc \rubysize\@tempdimc
+ \sbox\z@{\vrule\@height.7\baselineskip\@depth\z@\@width\z@ #1}
+ \sbox\@tempboxa{\fontsize{\@tempdimc}{1.2\@tempdimc}\selectfont
+ \vrule\@height\z@\@depth.3\baselineskip\@width\z@ #2}
+
+ % save width value of previous ruby (if applicable)
+ \@tempdimb\ruby@width
+
+ \global\ruby@width \wd\@tempboxa
+ \global\advance\ruby@width -\wd\z@
+ \ifdim\ruby@width > \z@
+ \global\divide\ruby@width \tw@
+ \else
+ \global\ruby@width \z@
+ \fi
+
+ % we first compute the box of the ruby with its base character(s).
+ \ifruby@overlap@
+ \setbox\@tempboxa \vbox{
+ \hbox to \wd0{\hss \box\@tempboxa \hss}
+ \nointerlineskip
+ \kern\rubysep
+ \box\z@}
+ \else
+ \ifdim\ruby@width > \z@
+ \@tempdima \wd\@tempboxa
+ \else
+ \@tempdima \wd\z@
+ \fi
+ \setbox\@tempboxa \vbox{
+ \hbox to \@tempdima{\hss \box\@tempboxa \hss}
+ \nointerlineskip
+ \kern\rubysep
+ \hbox to \@tempdima{\hss \box\z@ \hss}}
+ \fi
+
+ % are we at the beginning of a paragraph?
+ \ifvmode
+ \leavevmode
+ \ifruby@overlap@
+ \kern\ruby@width
+ \fi
+ \else
+
+ % has previous character a ruby with \ruby@width > 0?
+ \ifnum\lastkern = 5% \ruby@kern
+ \kern\@tempdimb
+ \ifruby@CJK@
+ \nobreak
+ \CJKglue
+ \nobreak
+ \fi
+ \ifruby@overlap@
+ \kern\ruby@width
+ \fi
+ \else
+
+ \ifruby@CJK@
+
+ % is previous character an ordinary CJK character?
+ \ifnum\lastkern = \@ne% \CJK@CJK
+ \ifdim\ruby@width > \z@
+ \nobreak
+ \CJKglue
+ \nobreak
+ \else
+ \CJKglue
+ \fi
+ \else
+
+ % is previous character a punctuation character?
+ \ifnum\lastkern = \tw@% \CJK@kern
+ \nobreak
+ \CJKglue
+ \nobreak
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+
+ \box\@tempboxa
+
+ \ifdim\ruby@width > \z@
+ \ruby@kern
+ \ifruby@overlap@
+ \else
+ \global\ruby@width\z@
+ \fi
+ \else
+ \kern -1sp
+ \kern 1sp
+ \global\ruby@width\z@
+ \fi}
+
+ \ifruby@CJK@
+ \ignorespaces
+ \fi}
+
+
+% reset endline character.
+
+\endlinechar `\^^M
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/standard.bdg b/language/chinese/CJK/cjk-4.8.4/texinput/standard.bdg
new file mode 100644
index 0000000000..c793d94044
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/standard.bdg
@@ -0,0 +1,161 @@
+% This is the file standard.bdg of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{standard.bdg}[\filedate\space\fileversion]
+
+
+% The standard bindings for two byte encodings.
+
+\gdef\CJK@standardBinding{
+% 80 % used with cjk-enc.el/CEF
+ \CJK@nameppdef{^^81}
+ \CJK@nameppdef{^^82}
+ \CJK@nameppdef{^^83}
+ \CJK@nameppdef{^^84}
+ \CJK@nameppdef{^^85}
+ \CJK@nameppdef{^^86}
+ \CJK@nameppdef{^^87}
+ \CJK@nameppdef{^^88}
+ \CJK@nameppdef{^^89}
+ \CJK@nameppdef{^^8a}
+ \CJK@nameppdef{^^8b}
+ \CJK@nameppdef{^^8c}
+ \CJK@nameppdef{^^8d}
+ \CJK@nameppdef{^^8e}
+ \CJK@nameppdef{^^8f}
+ \CJK@nameppdef{^^90}
+ \CJK@nameppdef{^^91}
+ \CJK@nameppdef{^^92}
+ \CJK@nameppdef{^^93}
+ \CJK@nameppdef{^^94}
+ \CJK@nameppdef{^^95}
+ \CJK@nameppdef{^^96}
+ \CJK@nameppdef{^^97}
+ \CJK@nameppdef{^^98}
+ \CJK@nameppdef{^^99}
+ \CJK@nameppdef{^^9a}
+ \CJK@nameppdef{^^9b}
+ \CJK@nameppdef{^^9c}
+ \CJK@nameppdef{^^9d}
+ \CJK@nameppdef{^^9e}
+ \CJK@nameppdef{^^9f}
+ \CJK@nameppdef{^^a0}
+ \CJK@nameppdef{^^a1}
+ \CJK@nameppdef{^^a2}
+ \CJK@nameppdef{^^a3}
+ \CJK@nameppdef{^^a4}
+ \CJK@nameppdef{^^a5}
+ \CJK@nameppdef{^^a6}
+ \CJK@nameppdef{^^a7}
+ \CJK@nameppdef{^^a8}
+ \CJK@nameppdef{^^a9}
+ \CJK@nameppdef{^^aa}
+ \CJK@nameppdef{^^ab}
+ \CJK@nameppdef{^^ac}
+ \CJK@nameppdef{^^ad}
+ \CJK@nameppdef{^^ae}
+ \CJK@nameppdef{^^af}
+ \CJK@nameppdef{^^b0}
+ \CJK@nameppdef{^^b1}
+ \CJK@nameppdef{^^b2}
+ \CJK@nameppdef{^^b3}
+ \CJK@nameppdef{^^b4}
+ \CJK@nameppdef{^^b5}
+ \CJK@nameppdef{^^b6}
+ \CJK@nameppdef{^^b7}
+ \CJK@nameppdef{^^b8}
+ \CJK@nameppdef{^^b9}
+ \CJK@nameppdef{^^ba}
+ \CJK@nameppdef{^^bb}
+ \CJK@nameppdef{^^bc}
+ \CJK@nameppdef{^^bd}
+ \CJK@nameppdef{^^be}
+ \CJK@nameppdef{^^bf}
+ \CJK@nameppdef{^^c0}
+ \CJK@nameppdef{^^c1}
+ \CJK@nameppdef{^^c2}
+ \CJK@nameppdef{^^c3}
+ \CJK@nameppdef{^^c4}
+ \CJK@nameppdef{^^c5}
+ \CJK@nameppdef{^^c6}
+ \CJK@nameppdef{^^c7}
+ \CJK@nameppdef{^^c8}
+ \CJK@nameppdef{^^c9}
+ \CJK@nameppdef{^^ca}
+ \CJK@nameppdef{^^cb}
+ \CJK@nameppdef{^^cc}
+ \CJK@nameppdef{^^cd}
+ \CJK@nameppdef{^^ce}
+ \CJK@nameppdef{^^cf}
+ \CJK@nameppdef{^^d0}
+ \CJK@nameppdef{^^d1}
+ \CJK@nameppdef{^^d2}
+ \CJK@nameppdef{^^d3}
+ \CJK@nameppdef{^^d4}
+ \CJK@nameppdef{^^d5}
+ \CJK@nameppdef{^^d6}
+ \CJK@nameppdef{^^d7}
+ \CJK@nameppdef{^^d8}
+ \CJK@nameppdef{^^d9}
+ \CJK@nameppdef{^^da}
+ \CJK@nameppdef{^^db}
+ \CJK@nameppdef{^^dc}
+ \CJK@nameppdef{^^dd}
+ \CJK@nameppdef{^^de}
+ \CJK@nameppdef{^^df}
+ \CJK@nameppdef{^^e0}
+ \CJK@nameppdef{^^e1}
+ \CJK@nameppdef{^^e2}
+ \CJK@nameppdef{^^e3}
+ \CJK@nameppdef{^^e4}
+ \CJK@nameppdef{^^e5}
+ \CJK@nameppdef{^^e6}
+ \CJK@nameppdef{^^e7}
+ \CJK@nameppdef{^^e8}
+ \CJK@nameppdef{^^e9}
+ \CJK@nameppdef{^^ea}
+ \CJK@nameppdef{^^eb}
+ \CJK@nameppdef{^^ec}
+ \CJK@nameppdef{^^ed}
+ \CJK@nameppdef{^^ee}
+ \CJK@nameppdef{^^ef}
+ \CJK@nameppdef{^^f0}
+ \CJK@nameppdef{^^f1}
+ \CJK@nameppdef{^^f2}
+ \CJK@nameppdef{^^f3}
+ \CJK@nameppdef{^^f4}
+ \CJK@nameppdef{^^f5}
+ \CJK@nameppdef{^^f6}
+ \CJK@nameppdef{^^f7}
+ \CJK@nameppdef{^^f8}
+ \CJK@nameppdef{^^f9}
+ \CJK@nameppdef{^^fa}
+ \CJK@nameppdef{^^fb}
+ \CJK@nameppdef{^^fc}
+ \CJK@nameppdef{^^fd}
+ \CJK@nameppdef{^^fe}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/standard.chr b/language/chinese/CJK/cjk-4.8.4/texinput/standard.chr
new file mode 100644
index 0000000000..bf367663a1
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/standard.chr
@@ -0,0 +1,203 @@
+% This is the file standard.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{standard.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling standard CJK fonts and characters.
+
+\gdef\CJK@standardChr{
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##3\relax
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% for punctuation.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##4}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+ \CJK@global\def\CJK@punctcharx##1##2##3##4##5{
+ {\ifnum ##5 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##5 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##5}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##5\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcntb -##4\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##5 < \@temp
+ \edef\CJK@plane{##2}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##3}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/standard.enc b/language/chinese/CJK/cjk-4.8.4/texinput/standard.enc
new file mode 100644
index 0000000000..5f107344b0
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/standard.enc
@@ -0,0 +1,131 @@
+% This is the file standard.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{standard.enc}[\filedate\space\fileversion]
+
+
+% standard encoding:
+% each plane has 94 characters (GB, JIS etc.) (0xA1 - 0xFE).
+
+\gdef\CJK@standardEncoding{
+ \CJK@loadChr{standard}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar {A1}{01}{-161}{##1}}
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar {A2}{01}{ -67}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@punctcharx{A3}{01}{02}{27}{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar {A4}{02}{-135}{##1}}
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar {A5}{02}{ -41}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@charx{02}{03}{53}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@char {03}{-109}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@char {03}{ -15}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@charx{03}{04}{79}{##1}}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@char {04}{ -83}{##1}}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@charx{04}{05}{11}{##1}}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@char {05}{-151}{##1}}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@char {05}{ -57}{##1}}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@charx{05}{06}{37}{##1}}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@char {06}{-125}{##1}}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@char {06}{ -31}{##1}}
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@charx{06}{07}{63}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@char {07}{ -99}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@char {07}{ -5}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@charx{07}{08}{89}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@char {08}{ -73}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@charx{08}{09}{21}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@char {09}{-141}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@char {09}{ -47}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@charx{09}{10}{47}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@char {10}{-115}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@char {10}{ -21}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@charx{10}{11}{73}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@char {11}{ -89}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@charx{11}{12}{ 5}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@char {12}{-157}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@char {12}{ -63}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@charx{12}{13}{31}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@char {13}{-131}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@char {13}{ -37}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@charx{13}{14}{57}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@char {14}{-105}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@char {14}{ -11}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@charx{14}{15}{83}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@char {15}{ -79}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@charx{15}{16}{15}{##1}}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char {16}{-147}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@char {16}{ -53}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@charx{16}{17}{41}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@char {17}{-121}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char {17}{ -27}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@charx{17}{18}{67}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char {18}{ -95}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char {18}{ -1}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{18}{19}{93}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char {19}{ -69}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@charx{19}{20}{25}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@char {20}{-137}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char {20}{ -43}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@charx{20}{21}{51}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@char {21}{-111}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char {21}{ -17}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@charx{21}{22}{77}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char {22}{ -85}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@charx{22}{23}{ 9}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@char {23}{-153}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char {23}{ -59}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@charx{23}{24}{35}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@char {24}{-127}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char {24}{ -33}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@charx{24}{25}{61}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@char {25}{-101}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char {25}{ -7}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{25}{26}{87}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char {26}{ -75}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@charx{26}{27}{19}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@char {27}{-143}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char {27}{ -49}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@charx{27}{28}{45}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@char {28}{-117}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char {28}{ -23}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{28}{29}{71}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char {29}{ -91}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@charx{29}{30}{ 3}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@char {30}{-159}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char {30}{ -65}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@charx{30}{31}{29}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@char {31}{-133}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char {31}{ -39}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@charx{31}{32}{55}{##1}}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@char {32}{-107}{##1}}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@char {32}{ -13}{##1}}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@charx{32}{33}{81}{##1}}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@char {33}{ -81}{##1}}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@charx{33}{34}{13}{##1}}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@char {34}{-149}{##1}}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@char {34}{ -55}{##1}}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@charx{34}{35}{39}{##1}}
+ \CJK@namegdef{^^fe}##1{\@empty\CJK@char {35}{-123}{##1}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/thai/c90cmr.fd b/language/chinese/CJK/cjk-4.8.4/texinput/thai/c90cmr.fd
new file mode 100644
index 0000000000..ab41dcb2f9
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/thai/c90cmr.fd
@@ -0,0 +1,24 @@
+% This is the file c90cmr.fd of the CJK package
+% for using Thai with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c90cmr.fd}[\filedate\space\fileversion]
+
+
+% Thai
+%
+% font encoding: OT1-like + TIS 620 + Thai glyph variants
+
+\DeclareFontFamily{C90}{cmr}{}
+
+\DeclareFontShape{C90}{cmr}{m} {n} {<-> ssub * nrsr/m/n}{}
+\DeclareFontShape{C90}{cmr}{bx}{n} {<-> ssub * nrsr/bx/n}{}
+\DeclareFontShape{C90}{cmr}{m} {it}{<-> ssub * nrsr/m/it}{}
+\DeclareFontShape{C90}{cmr}{bx}{it}{<-> ssub * nrsr/bx/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/thai/c90cmss.fd b/language/chinese/CJK/cjk-4.8.4/texinput/thai/c90cmss.fd
new file mode 100644
index 0000000000..3dd77a71e7
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/thai/c90cmss.fd
@@ -0,0 +1,24 @@
+% This is the file c90cmss.fd of the CJK package
+% for using Thai with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c90cmss.fd}[\filedate\space\fileversion]
+
+
+% Thai
+%
+% font encoding: OT1-like + TIS 620 + Thai glyph variants
+
+\DeclareFontFamily{C90}{cmss}{}
+
+\DeclareFontShape{C90}{cmss}{m} {n} {<-> ssub * gar/m/n}{}
+\DeclareFontShape{C90}{cmss}{bx}{n} {<-> ssub * gar/bx/n}{}
+\DeclareFontShape{C90}{cmss}{m} {it}{<-> ssub * gar/m/it}{}
+\DeclareFontShape{C90}{cmss}{bx}{it}{<-> ssub * gar/bx/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/thai/c90cmtt.fd b/language/chinese/CJK/cjk-4.8.4/texinput/thai/c90cmtt.fd
new file mode 100644
index 0000000000..aa6ba2d662
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/thai/c90cmtt.fd
@@ -0,0 +1,24 @@
+% This is the file c90cmtt.fd of the CJK package
+% for using Thai with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c90cmtt.fd}[\filedate\space\fileversion]
+
+
+% Thai
+%
+% font encoding: OT1-like + TIS 620 + Thai glyph variants
+
+\DeclareFontFamily{C90}{cmtt}{}
+
+\DeclareFontShape{C90}{cmtt}{m} {n} {<-> ssub * gar/m/n}{}
+\DeclareFontShape{C90}{cmtt}{bx}{n} {<-> ssub * gar/bx/n}{}
+\DeclareFontShape{C90}{cmtt}{m} {it}{<-> ssub * gar/m/it}{}
+\DeclareFontShape{C90}{cmtt}{bx}{it}{<-> ssub * gar/bx/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/thai/c90enc.def b/language/chinese/CJK/cjk-4.8.4/texinput/thai/c90enc.def
new file mode 100644
index 0000000000..428e8e3801
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/thai/c90enc.def
@@ -0,0 +1,110 @@
+% (C) 2002 Dominique Unruh, LPPL
+% The macros in the Thai part are oriented on TIS620, i.e. each
+% letter in TIS620 is represented by exactly one macro.
+% No reordering whatsoever is required.
+%
+\NeedsTeXFormat{LaTeX2e}[1998/12/01]
+\ProvidesFile{c90enc.def}[2002/06/06 Encoding C90 for Thai]
+\DeclareFontEncoding{C90}{}{}
+\DeclareFontSubstitution{C90}{nrsr}{m}{n}
+%
+\DeclareTextSymbol{\textemdash}{C90}{"0C}
+\DeclareTextSymbol{\textendash}{C90}{"0B}
+\DeclareTextSymbol{\textquotedbl}{C90}{"11}
+\DeclareTextSymbol{\textquotedblleft}{C90}{"0DD}
+\DeclareTextSymbol{\textquotedblright}{C90}{"22}
+\DeclareTextSymbol{\textquoteleft}{C90}{`\`}
+\DeclareTextSymbol{\textquoteright}{C90}{`\'}
+\DeclareTextSymbol{\textbraceleft}{C90}{`\{}
+\DeclareTextSymbol{\textbraceright}{C90}{`\}}
+\DeclareTextSymbol{\textbar}{C90}{`\|}
+%
+\DeclareTextSymbol{\thaiKoKai}{C90}{161}
+\DeclareTextSymbol{\thaiKhoKhai}{C90}{162}
+\DeclareTextSymbol{\thaiKhoKhuat}{C90}{163}
+\DeclareTextSymbol{\thaiKhoKhwai}{C90}{164}
+\DeclareTextSymbol{\thaiKhoKhon}{C90}{165}
+\DeclareTextSymbol{\thaiKhoRakhang}{C90}{166}
+\DeclareTextSymbol{\thaiNgoNgu}{C90}{167}
+\DeclareTextSymbol{\thaiChoChan}{C90}{168}
+\DeclareTextSymbol{\thaiChoChing}{C90}{169}
+\DeclareTextSymbol{\thaiChoChang}{C90}{170}
+\DeclareTextSymbol{\thaiSoSo}{C90}{171}
+\DeclareTextSymbol{\thaiChoChoe}{C90}{172}
+\DeclareTextSymbol{\thaiYoYing}{C90}{173}
+\DeclareTextSymbol{\thaiDoChada}{C90}{174}
+\DeclareTextSymbol{\thaiToPatak}{C90}{175}
+\DeclareTextSymbol{\thaiThoThan}{C90}{176}
+\DeclareTextSymbol{\thaiThoNangmontho}{C90}{177}
+\DeclareTextSymbol{\thaiThoPhuthao}{C90}{178}
+\DeclareTextSymbol{\thaiNoNen}{C90}{179}
+\DeclareTextSymbol{\thaiDoDek}{C90}{180}
+\DeclareTextSymbol{\thaiToTao}{C90}{181}
+\DeclareTextSymbol{\thaiThoThung}{C90}{182}
+\DeclareTextSymbol{\thaiThoThahan}{C90}{183}
+\DeclareTextSymbol{\thaiThoThong}{C90}{184}
+\DeclareTextSymbol{\thaiNoNu}{C90}{185}
+\DeclareTextSymbol{\thaiBoBaimai}{C90}{186}
+\DeclareTextSymbol{\thaiPoPla}{C90}{187}
+\DeclareTextSymbol{\thaiPhoPhung}{C90}{188}
+\DeclareTextSymbol{\thaiFoFa}{C90}{189}
+\DeclareTextSymbol{\thaiPhoPhan}{C90}{190}
+\DeclareTextSymbol{\thaiFoFan}{C90}{191}
+\DeclareTextSymbol{\thaiPhoSamphao}{C90}{192}
+\DeclareTextSymbol{\thaiMoMa}{C90}{193}
+\DeclareTextSymbol{\thaiYoYak}{C90}{194}
+\DeclareTextSymbol{\thaiRoRua}{C90}{195}
+\DeclareTextSymbol{\thaiRu}{C90}{196}
+\DeclareTextSymbol{\thaiLoLing}{C90}{197}
+\DeclareTextSymbol{\thaiLu}{C90}{198}
+\DeclareTextSymbol{\thaiWoWaen}{C90}{199}
+\DeclareTextSymbol{\thaiSoSala}{C90}{200}
+\DeclareTextSymbol{\thaiSoRusi}{C90}{201}
+\DeclareTextSymbol{\thaiSoSua}{C90}{202}
+\DeclareTextSymbol{\thaiHoHip}{C90}{203}
+\DeclareTextSymbol{\thaiLoChula}{C90}{204}
+\DeclareTextSymbol{\thaiOAng}{C90}{205}
+\DeclareTextSymbol{\thaiHoNokhuk}{C90}{206}
+\DeclareTextSymbol{\thaiPaiyannoi}{C90}{207}
+\DeclareTextSymbol{\thaiSaraA}{C90}{208}
+\DeclareTextSymbol{\thaiMaiHanakat}{C90}{209}
+\DeclareTextSymbol{\thaiSaraAa}{C90}{210}
+\DeclareTextSymbol{\thaiSaraAm}{C90}{211}
+\DeclareTextSymbol{\thaiSaraI}{C90}{212}
+\DeclareTextSymbol{\thaiSaraIi}{C90}{213}
+\DeclareTextSymbol{\thaiSaraUe}{C90}{214}
+\DeclareTextSymbol{\thaiSaraUee}{C90}{215}
+\DeclareTextSymbol{\thaiSaraU}{C90}{216}
+\DeclareTextSymbol{\thaiSaraUu}{C90}{217}
+\DeclareTextSymbol{\thaiPhinthu}{C90}{218}
+\DeclareTextSymbol{\textbaht}{C90}{223}
+\DeclareTextSymbol{\thaiSaraE}{C90}{224}
+\DeclareTextSymbol{\thaiSaraAe}{C90}{225}
+\DeclareTextSymbol{\thaiSaraO}{C90}{226}
+\DeclareTextSymbol{\thaiSaraAiMaimuan}{C90}{227}
+\DeclareTextSymbol{\thaiSaraAiMaimalai}{C90}{228}
+\DeclareTextSymbol{\thaiLakkhangyao}{C90}{229}
+\DeclareTextSymbol{\thaiMaiyamok}{C90}{230}
+\DeclareTextSymbol{\thaiMaitaikhu}{C90}{231}
+\DeclareTextSymbol{\thaiMaiEk}{C90}{232}
+\DeclareTextSymbol{\thaiMaiTho}{C90}{233}
+\DeclareTextSymbol{\thaiMaiTri}{C90}{234}
+\DeclareTextSymbol{\thaiMaiChattawa}{C90}{235}
+\DeclareTextSymbol{\thaiThanthakhat}{C90}{236}
+\DeclareTextSymbol{\thaiNikhahit}{C90}{237}
+\DeclareTextSymbol{\thaiYamakkan}{C90}{238}
+\DeclareTextSymbol{\thaiFongman}{C90}{239}
+\DeclareTextSymbol{\thaizero}{C90}{240}
+\DeclareTextSymbol{\thaione}{C90}{241}
+\DeclareTextSymbol{\thaitwo}{C90}{242}
+\DeclareTextSymbol{\thaithree}{C90}{243}
+\DeclareTextSymbol{\thaifour}{C90}{244}
+\DeclareTextSymbol{\thaifive}{C90}{245}
+\DeclareTextSymbol{\thaisix}{C90}{246}
+\DeclareTextSymbol{\thaiseven}{C90}{247}
+\DeclareTextSymbol{\thaieight}{C90}{248}
+\DeclareTextSymbol{\thainine}{C90}{249}
+\DeclareTextSymbol{\thaiAngkhankhu}{C90}{250}
+\DeclareTextSymbol{\thaiKhomut}{C90}{251}
+%
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/thai/c90gar.fd b/language/chinese/CJK/cjk-4.8.4/texinput/thai/c90gar.fd
new file mode 100644
index 0000000000..69998e058b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/thai/c90gar.fd
@@ -0,0 +1,34 @@
+%Filename: c90gar.fd
+%Created by: tex garuda-c90
+%Created using fontinst v1.927
+
+%THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY
+
+\ProvidesFile{c90gar.fd}
+ [2005/07/04 Fontinst v1.927 font definitions for C90/gar.]
+
+\DeclareFontFamily{C90}{gar}{}
+
+\DeclareFontShape{C90}{gar}{m}{n}{
+ <-> fgdr8z
+}{}
+
+\DeclareFontShape{C90}{gar}{bx}{n}{
+ <-> fgdb8z
+}{}
+
+\DeclareFontShape{C90}{gar}{bx}{sl}{
+ <-> fgdbo8z
+}{}
+
+\DeclareFontShape{C90}{gar}{m}{sl}{
+ <-> fgdo8z
+}{}
+
+\DeclareFontShape{C90}{gar}{b}{n}{<->ssub * gar/bx/n}{}
+\DeclareFontShape{C90}{gar}{b}{sl}{<->ssub * gar/bx/sl}{}
+\DeclareFontShape{C90}{gar}{bx}{it}{<->ssub * gar/bx/sl}{}
+\DeclareFontShape{C90}{gar}{b}{it}{<->ssub * gar/bx/it}{}
+\DeclareFontShape{C90}{gar}{m}{it}{<->ssub * gar/m/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/thai/c90nrsr.fd b/language/chinese/CJK/cjk-4.8.4/texinput/thai/c90nrsr.fd
new file mode 100644
index 0000000000..5da41a39b7
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/thai/c90nrsr.fd
@@ -0,0 +1,34 @@
+%Filename: c90nrsr.fd
+%Created by: tex norasi-c90
+%Created using fontinst v1.927
+
+%THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY
+
+\ProvidesFile{c90nrsr.fd}
+ [2005/07/04 Fontinst v1.927 font definitions for C90/nrsr.]
+
+\DeclareFontFamily{C90}{nrsr}{}
+
+\DeclareFontShape{C90}{nrsr}{m}{n}{
+ <-> ftnr8z
+}{}
+
+\DeclareFontShape{C90}{nrsr}{bx}{n}{
+ <-> ftnb8z
+}{}
+
+\DeclareFontShape{C90}{nrsr}{bx}{it}{
+ <-> ftnbi8z
+}{}
+
+\DeclareFontShape{C90}{nrsr}{m}{it}{
+ <-> ftni8z
+}{}
+
+\DeclareFontShape{C90}{nrsr}{b}{n}{<->ssub * nrsr/bx/n}{}
+\DeclareFontShape{C90}{nrsr}{b}{it}{<->ssub * nrsr/bx/it}{}
+\DeclareFontShape{C90}{nrsr}{bx}{sl}{<->ssub * nrsr/bx/it}{}
+\DeclareFontShape{C90}{nrsr}{b}{sl}{<->ssub * nrsr/bx/sl}{}
+\DeclareFontShape{C90}{nrsr}{m}{sl}{<->ssub * nrsr/m/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texinput/thai/thaicjk.ldf b/language/chinese/CJK/cjk-4.8.4/texinput/thai/thaicjk.ldf
new file mode 100644
index 0000000000..b11c63edf3
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texinput/thai/thaicjk.ldf
@@ -0,0 +1,89 @@
+% This is the file thaicjk.ldf of the CJK package
+% for handling Thai.
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+%
+%
+% It is based on a similar file of the thailatex package, written
+% by Surapant Meknavin <surapan@nectec.or.th> with modifications by
+% Theppitak Karoonboonyanan <thep@links.nectec.or.th>.
+
+\ProvidesLanguage{thaicjk}
+ [CJK 4.8.4 Thai support for the babel system]
+
+\LdfInit{thaicjk}{captionsthaicjk}
+
+\ifx\l@thaicjk\@undefined
+ \adddialect\l@thaicjk0
+\fi
+
+\addto\captionsthaicjk{%
+ \def\prefacename{}%
+ \def\refname{˹ѧҧԧ}%
+ \def\abstractname{Ѵ}%
+ \def\bibname{óҹء}%
+ \def\chaptername{}%
+ \def\appendixname{Ҥǡ}%
+ \def\contentsname{úѭ}%
+ \def\listfigurename{úѭٻ}%
+ \def\listtablename{úѭҧ}%
+ \def\indexname{ê}%
+ \def\figurename{ٻ}%
+ \def\tablename{ҧ}%
+ \def\partname{Ҥ}%
+ \def\enclname{觷ṺҴ}%
+ \def\ccname{Ҷ֧}%
+ \def\headtoname{¹}%
+ \def\pagename{˹}%
+ \def\seename{}%
+ \def\alsoname{}%
+ \def\proofname{٨}%
+ }
+
+\def\th@month{%
+ \ifcase\month\or
+ Ҥ\or
+ Ҿѹ\or
+ չҤ\or
+ ¹\or
+ Ҥ\or
+ Զع¹\or
+ áҤ\or
+ ԧҤ\or
+ ѹ¹\or
+ Ҥ\or
+ Ȩԡ¹\or
+ ѹҤ\fi}
+\newcount\th@year
+\th@year=\year
+\advance\th@year by 543
+\def\datethaicjk{%
+ \def\today{\number\day \space \th@month\space ..~\number\th@year}}
+
+\addto\extrasthaicjk{\bbl@frenchspacing}
+\addto\noextrasthaicjk{\bbl@nonfrenchspacing}
+
+\addto\extrasthaicjk{\renewcommand{\baselinestretch}{1.2}}
+\addto\noextrasthaicjk{\renewcommand{\baselinestretch}{1}}
+
+\def\fnum@figure{\figurename\nobreakspace\thefigure}
+\def\fnum@table{\tablename\nobreakspace\thetable}
+
+\InputIfFileExists{c90enc.def}{%
+ \message{Loading definitions for the Thai C90 font encoding}}{%
+ \errhelp{I can't find file `c90enc.def' for Thai fonts}%
+ \errmessage{Since I do not know what the C90 encoding means^^J
+ I can't typeset Thai.^^J
+ I stop here, while you get a suitable c90enc.def file}\@@end
+ }
+
+\ldf@finish{thaicjk}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: tis-620
+%%% mode: latex
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.4/texlive/README b/language/chinese/CJK/cjk-4.8.4/texlive/README
new file mode 100644
index 0000000000..a07701fe54
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texlive/README
@@ -0,0 +1,2 @@
+The font definition files in this directory are modified versions to be used
+within the TeXLive distribution, using smaller font sets.
diff --git a/language/chinese/CJK/cjk-4.8.4/texlive/bin-cjkutils.pl b/language/chinese/CJK/cjk-4.8.4/texlive/bin-cjkutils.pl
new file mode 100644
index 0000000000..ea1997a8c4
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texlive/bin-cjkutils.pl
@@ -0,0 +1,112 @@
+# bin-cjkutils.pl
+#
+# Public domain.
+#
+# Written by Werner Lemberg <wl@gnu.org>
+#
+# This file is intended to be called from the `MAKEcjk' subroutine within
+# the ctan2tds perl script. It installs the necessary files from the CJK
+# package into the correct destinations.
+#
+# It expects that the CJK packages (cjk-4.8.4 and cjk-4.8.4-doc) have been
+# unpacked (unmodified) in the current directory.
+
+
+# XXX: This installs files in `texmf', not `texmf-dist'!
+
+
+my $D = "doc";
+my $M = "doc/man/man1";
+my $H = "hbf2gf";
+
+
+#
+# cjk-4.8.4
+# ---------
+#
+
+&I("utils/Bg5conv/bg5conv.1", "$M/bg5conv.1");
+
+&I("utils/CEFconv/cef5conv.1", "$M/cef5conv.1");
+&I("utils/CEFconv/cefconv.1", "$M/cefconv.1");
+&I("utils/CEFconv/cefsconv.1", "$M/cefsconv.1");
+
+&I("utils/extconv/extconv.1", "$M/extconv.1");
+
+&I("utils/hbf2gf/hbf2gf.1", "$M/hbf2gf.1");
+
+&I("utils/SJISconv/sjisconv.1", "$M/sjisconv.1");
+
+&I("utils/hbf2gf/cfg/b5ka12.cfg", "$H/b5ka12.cfg");
+&I("utils/hbf2gf/cfg/b5kr12.cfg", "$H/b5kr12.cfg");
+&I("utils/hbf2gf/cfg/b5so12.cfg", "$H/b5so12.cfg");
+&I("utils/hbf2gf/cfg/c1so12.cfg", "$H/c1so12.cfg");
+&I("utils/hbf2gf/cfg/c2so12.cfg", "$H/c2so12.cfg");
+&I("utils/hbf2gf/cfg/c3so12.cfg", "$H/c3so12.cfg");
+&I("utils/hbf2gf/cfg/c4so12.cfg", "$H/c4so12.cfg");
+&I("utils/hbf2gf/cfg/c5so12.cfg", "$H/c5so12.cfg");
+&I("utils/hbf2gf/cfg/c6so12.cfg", "$H/c6so12.cfg");
+&I("utils/hbf2gf/cfg/c7so12.cfg", "$H/c7so12.cfg");
+&I("utils/hbf2gf/cfg/csso12.cfg", "$H/csso12.cfg");
+&I("utils/hbf2gf/cfg/gsfs14.cfg", "$H/gsfs14.cfg");
+&I("utils/hbf2gf/cfg/j2so12.cfg", "$H/j2so12.cfg");
+&I("utils/hbf2gf/cfg/jsso12.cfg", "$H/jsso12.cfg");
+&I("utils/hbf2gf/cfg/ksso17.cfg", "$H/ksso17.cfg");
+&I("utils/hbf2gf/cfg/README", "$H/README");
+
+
+#
+# cjk-4.8.4-doc
+# -------------
+#
+
+# doc/dvi/bg5conv.dvi ---
+# doc/dvi/cef5conv.dvi ---
+# doc/dvi/cefconv.dvi ---
+# doc/dvi/cefsconv.dvi ---
+# doc/dvi/extconv.dvi ---
+# doc/dvi/hbf2gf.dvi ---
+# doc/dvi/sjisconv.dvi ---
+
+# doc/man/dvi/bg5conv.dvi ---
+# doc/man/dvi/cef5conv.dvi ---
+# doc/man/dvi/cefconv.dvi ---
+# doc/man/dvi/cefsconv.dvi ---
+# doc/man/dvi/extconv.dvi ---
+# doc/man/dvi/hbf2gf.dvi ---
+# doc/man/dvi/sjisconv.dvi ---
+
+# doc/man/html/bg5conv.html ---
+# doc/man/html/cef5conv.html ---
+# doc/man/html/cefconv.html ---
+# doc/man/html/cefsconv.html ---
+# doc/man/html/extconv.html ---
+# doc/man/html/hbf2gf.html ---
+# doc/man/html/sjisconv.html ---
+
+# doc/man/pdf/bg5conv.pdf ---
+# doc/man/pdf/cef5conv.pdf ---
+# doc/man/pdf/cefconv.pdf ---
+# doc/man/pdf/cefsconv.pdf ---
+# doc/man/pdf/extconv.pdf ---
+# doc/man/pdf/hbf2gf.pdf ---
+# doc/man/pdf/sjisconv.pdf ---
+
+# doc/man/txt/bg5conv.txt ---
+# doc/man/txt/cef5conv.txt ---
+# doc/man/txt/cefconv.txt ---
+# doc/man/txt/cefsconv.txt ---
+# doc/man/txt/extconv.txt ---
+# doc/man/txt/hbf2gf.txt ---
+# doc/man/txt/sjisconv.txt ---
+
+&I("doc/pdf/bg5conv.pdf", "$D/bg5conv/bg5conv.pdf");
+&I("doc/pdf/cef5conv.pdf", "$D/cef5conv/cef5conv.pdf");
+&I("doc/pdf/cefconv.pdf", "$D/cefconv/cefconv.pdf");
+&I("doc/pdf/cefsconv.pdf", "$D/cefsconv/cefsconv.pdf");
+&I("doc/pdf/extconv.pdf", "$D/extconv/extconv.pdf");
+&I("doc/pdf/hbf2gf.pdf", "$D/hbf2gf/hbf2gf.pdf");
+&I("doc/pdf/sjisconv.pdf", "$D/sjisconv/sjisconv.pdf");
+
+1;
+# EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/texlive/c63mj.fd b/language/chinese/CJK/cjk-4.8.4/texlive/c63mj.fd
new file mode 100644
index 0000000000..9939c393c6
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texlive/c63mj.fd
@@ -0,0 +1,56 @@
+% This is file c63mj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% This font definition file is a modified version of the standard c63mj.fd
+% file; it is for the TeXLive distribution, using smaller font sets.
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c63mj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcMyoungjo
+
+\DeclareFontFamily{C63}{mj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{mj}{c}{n}{<-> CJK * wmjc}{}
+\DeclareFontShape{C63}{mj}{c}{sl}{<-> CJK * wmjco}{}
+\DeclareFontShape{C63}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{}
+
+\DeclareFontShape{C63}{mj}{m}{n}{<-> CJK * wmj}{}
+\DeclareFontShape{C63}{mj}{m}{sl}{<-> CJK * wmjo}{}
+\DeclareFontShape{C63}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{}
+
+\DeclareFontShape{C63}{mj}{x}{n}{<-> CJK * wmjx}{}
+\DeclareFontShape{C63}{mj}{x}{sl}{<-> CJK * wmjxo}{}
+\DeclareFontShape{C63}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{}
+
+\DeclareFontShape{C63}{mj}{ux}{n}{<-> CJK * wmju}{}
+\DeclareFontShape{C63}{mj}{ux}{sl}{<-> CJK * wmjuo}{}
+\DeclareFontShape{C63}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{}
+
+\DeclareFontShape{C63}{mj}{bc}{n}{<-> CJKb * wmjc}{\CJKbold}
+\DeclareFontShape{C63}{mj}{bc}{sl}{<-> CJKb * wmjco}{\CJKbold}
+\DeclareFontShape{C63}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{}
+
+\DeclareFontShape{C63}{mj}{b}{n}{<-> CJKb * wmj}{\CJKbold}
+\DeclareFontShape{C63}{mj}{b}{sl}{<-> CJKb * wmjo}{\CJKbold}
+\DeclareFontShape{C63}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{}
+
+\DeclareFontShape{C63}{mj}{bx}{n}{<-> CJKb * wmjx}{\CJKbold}
+\DeclareFontShape{C63}{mj}{bx}{sl}{<-> CJKb * wmjxo}{\CJKbold}
+\DeclareFontShape{C63}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{}
+
+\DeclareFontShape{C63}{mj}{bux}{n}{<-> CJKb * wmju}{\CJKbold}
+\DeclareFontShape{C63}{mj}{bux}{sl}{<-> CJKb * wmjuo}{\CJKbold}
+\DeclareFontShape{C63}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texlive/c64mj.fd b/language/chinese/CJK/cjk-4.8.4/texlive/c64mj.fd
new file mode 100644
index 0000000000..250541c50a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texlive/c64mj.fd
@@ -0,0 +1,56 @@
+% This is file c64mj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% This font definition file is a modified version of the standard c64mj.fd
+% file; it is for the TeXLive distribution, using smaller font sets.
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c64mj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcMyoungjo
+
+\DeclareFontFamily{C64}{mj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{mj}{c}{n}{<-> CJK * wmjc}{}
+\DeclareFontShape{C64}{mj}{c}{sl}{<-> CJK * wmjco}{}
+\DeclareFontShape{C64}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{}
+
+\DeclareFontShape{C64}{mj}{m}{n}{<-> CJK * wmj}{}
+\DeclareFontShape{C64}{mj}{m}{sl}{<-> CJK * wmjo}{}
+\DeclareFontShape{C64}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{}
+
+\DeclareFontShape{C64}{mj}{x}{n}{<-> CJK * wmjx}{}
+\DeclareFontShape{C64}{mj}{x}{sl}{<-> CJK * wmjxo}{}
+\DeclareFontShape{C64}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{}
+
+\DeclareFontShape{C64}{mj}{ux}{n}{<-> CJK * wmju}{}
+\DeclareFontShape{C64}{mj}{ux}{sl}{<-> CJK * wmjuo}{}
+\DeclareFontShape{C64}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{}
+
+\DeclareFontShape{C64}{mj}{bc}{n}{<-> CJKb * wmjc}{\CJKbold}
+\DeclareFontShape{C64}{mj}{bc}{sl}{<-> CJKb * wmjco}{\CJKbold}
+\DeclareFontShape{C64}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{}
+
+\DeclareFontShape{C64}{mj}{b}{n}{<-> CJKb * wmj}{\CJKbold}
+\DeclareFontShape{C64}{mj}{b}{sl}{<-> CJKb * wmjo}{\CJKbold}
+\DeclareFontShape{C64}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{}
+
+\DeclareFontShape{C64}{mj}{bx}{n}{<-> CJKb * wmjx}{\CJKbold}
+\DeclareFontShape{C64}{mj}{bx}{sl}{<-> CJKb * wmjxo}{\CJKbold}
+\DeclareFontShape{C64}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{}
+
+\DeclareFontShape{C64}{mj}{bux}{n}{<-> CJKb * wmju}{\CJKbold}
+\DeclareFontShape{C64}{mj}{bux}{sl}{<-> CJKb * wmjuo}{\CJKbold}
+\DeclareFontShape{C64}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texlive/c65mj.fd b/language/chinese/CJK/cjk-4.8.4/texlive/c65mj.fd
new file mode 100644
index 0000000000..83c4db961a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texlive/c65mj.fd
@@ -0,0 +1,56 @@
+% This is file c65mj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% This font definition file is a modified version of the standard c65mj.fd
+% file; it is for the TeXLive distribution, using smaller font sets.
+
+\def\fileversion{4.8.4}
+\def\filedate{2015/04/18}
+\ProvidesFile{c65mj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcMyoungjo
+
+\DeclareFontFamily{C65}{mj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{mj}{c}{n}{<-> CJK * wmjc}{}
+\DeclareFontShape{C65}{mj}{c}{sl}{<-> CJK * wmjco}{}
+\DeclareFontShape{C65}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{}
+
+\DeclareFontShape{C65}{mj}{m}{n}{<-> CJK * wmj}{}
+\DeclareFontShape{C65}{mj}{m}{sl}{<-> CJK * wmjo}{}
+\DeclareFontShape{C65}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{}
+
+\DeclareFontShape{C65}{mj}{x}{n}{<-> CJK * wmjx}{}
+\DeclareFontShape{C65}{mj}{x}{sl}{<-> CJK * wmjxo}{}
+\DeclareFontShape{C65}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{}
+
+\DeclareFontShape{C65}{mj}{ux}{n}{<-> CJK * wmju}{}
+\DeclareFontShape{C65}{mj}{ux}{sl}{<-> CJK * wmjuo}{}
+\DeclareFontShape{C65}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{}
+
+\DeclareFontShape{C65}{mj}{bc}{n}{<-> CJKb * wmjc}{\CJKbold}
+\DeclareFontShape{C65}{mj}{bc}{sl}{<-> CJKb * wmjco}{\CJKbold}
+\DeclareFontShape{C65}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{}
+
+\DeclareFontShape{C65}{mj}{b}{n}{<-> CJKb * wmj}{\CJKbold}
+\DeclareFontShape{C65}{mj}{b}{sl}{<-> CJKb * wmjo}{\CJKbold}
+\DeclareFontShape{C65}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{}
+
+\DeclareFontShape{C65}{mj}{bx}{n}{<-> CJKb * wmjx}{\CJKbold}
+\DeclareFontShape{C65}{mj}{bx}{sl}{<-> CJKb * wmjxo}{\CJKbold}
+\DeclareFontShape{C65}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{}
+
+\DeclareFontShape{C65}{mj}{bux}{n}{<-> CJKb * wmju}{\CJKbold}
+\DeclareFontShape{C65}{mj}{bux}{sl}{<-> CJKb * wmjuo}{\CJKbold}
+\DeclareFontShape{C65}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/texlive/c90.pl b/language/chinese/CJK/cjk-4.8.4/texlive/c90.pl
new file mode 100644
index 0000000000..15863e16a1
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texlive/c90.pl
@@ -0,0 +1,28 @@
+# c90.pl
+#
+# Public domain.
+#
+# Written by Werner Lemberg <wl@gnu.org>
+#
+# This file is intended to be called from the `MAKEcjk' subroutine within
+# the ctan2tds perl script. It installs the necessary files from the CJK
+# package into the correct destinations.
+#
+# It expects that the CJK packages (cjk-4.8.4 and cjk-4.8.4-doc) have been
+# unpacked (unmodified) in the current directory.
+
+my $D = "doc/fonts/enc/c90";
+my $S = "source/fonts/enc/c90";
+my $T = "fonts/enc/dvips/c90";
+
+
+&I("utils/thaifont/texmf/fonts/enc/dvips/thai/c90.enc", "$T/c90.enc");
+
+&I("utils/thaifont/tools/c90.etx", "$S/c90.etx");
+&I("utils/thaifont/tools/c90.mtx", "$S/c90.mtx");
+
+# doc/dvi/c90.dvi ---
+&I("doc/pdf/c90.pdf", "$D/c90.pdf");
+
+1;
+# EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/texlive/cjk-build.pl b/language/chinese/CJK/cjk-4.8.4/texlive/cjk-build.pl
new file mode 100644
index 0000000000..d2ff4ff743
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texlive/cjk-build.pl
@@ -0,0 +1,63 @@
+# cjk-build.pl
+#
+# Public domain.
+#
+# Written by Werner Lemberg <wl@gnu.org>
+#
+# This file is intended to be called from the `MAKEcjk' subroutine within
+# the ctan2tds perl script. It installs the necessary files from the CJK
+# package into the correct destinations.
+#
+# It expects that the CJK packages (cjk-4.8.4 and cjk-4.8.4-doc) have been
+# unpacked (unmodified) in the current directory. For installation, it
+# simply uses `install -d' so that missing subdirectories are created
+# automatically.
+
+
+# XXX: This installs files in the Build hierarchy!
+
+
+my $B = "cjkutils/bat";
+my $C = "cjkutils/conv";
+my $H = "cjkutils/hbf2gf";
+my $S = "cjkutils/scripts";
+
+
+&I("utils/Bg5conv/bg5conv.c", "$C/bg5conv.c");
+&I("utils/Bg5conv/bg5latex", "$S/bg5latex");
+&I("utils/Bg5conv/bg5pdflatex", "$S/bg5pdflatex");
+
+&I("utils/CEFconv/cef5conv.c", "$C/cef5conv.c");
+&I("utils/CEFconv/cef5latex", "$S/cef5latex");
+&I("utils/CEFconv/cef5pdflatex", "$S/cef5pdflatex");
+&I("utils/CEFconv/cefconv.c", "$C/cefconv.c");
+&I("utils/CEFconv/ceflatex", "$S/ceflatex");
+&I("utils/CEFconv/cefpdflatex", "$S/cefpdflatex");
+&I("utils/CEFconv/cefsconv.c", "$C/cefsconv.c");
+&I("utils/CEFconv/cefslatex", "$S/cefslatex");
+&I("utils/CEFconv/cefspdflatex", "$S/cefspdflatex");
+
+&I("utils/cjklatex/cjklatex.c", "$B/cjklatex.c");
+
+# utils/extconv/bg5+latex --- # soft link to gbklatex
+# utils/extconv/bg5+pdflatex --- # soft link to gbkpdflatex
+&I("utils/extconv/extconv.c", "$C/extconv.c");
+&I("utils/extconv/gbklatex", "$S/gbklatex");
+&I("utils/extconv/gbkpdflatex", "$S/gbkpdflatex");
+
+&I("utils/hbf2gf/configure.ac", "$H/configure.ac");
+&I("utils/hbf2gf/emdir.c", "$H/emdir.c");
+&I("utils/hbf2gf/emdir.h", "$H/emdir.h");
+&I("utils/hbf2gf/emtexdir.c", "$H/emtexdir.c");
+&I("utils/hbf2gf/emtexdir.h", "$H/emtexdir.h");
+&I("utils/hbf2gf/hbf2gf.def", "$H/hbf2gf.def");
+&I("utils/hbf2gf/hbf2gf.w", "$H/hbf2gf.w");
+&I("utils/hbf2gf/hbf.c", "$H/hbf.c");
+&I("utils/hbf2gf/hbf.h", "$H/hbf.h");
+
+&I("utils/SJISconv/sjisconv.c", "$C/sjisconv.c");
+&I("utils/SJISconv/sjislatex", "$S/sjislatex");
+&I("utils/SJISconv/sjispdflatex", "$S/sjispdflatex");
+
+1;
+# EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/texlive/cjk.pl b/language/chinese/CJK/cjk-4.8.4/texlive/cjk.pl
new file mode 100644
index 0000000000..5e487dab7c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texlive/cjk.pl
@@ -0,0 +1,489 @@
+# cjk.pl
+#
+# Public domain.
+#
+# Written by Werner Lemberg <wl@gnu.org>
+#
+# This file is intended to be called from the `MAKEcjk' subroutine within
+# the ctan2tds perl script. It installs the necessary files from the CJK
+# package into the correct destinations.
+#
+# It expects that the CJK packages (cjk-4.8.4 and cjk-4.8.4-doc) have been
+# unpacked (unmodified) in the current directory.
+
+#
+# cjk-4.8.4
+# ---------
+#
+
+my $D = "doc/latex/cjk";
+my $S = "source/latex/cjk";
+my $T = "tex/latex/cjk";
+
+
+&I("ChangeLog", "$D/ChangeLog");
+&I("Makefile", "$D/Makefile");
+&I("MANIFEST", "$D/MANIFEST");
+&I("README", "$D/README");
+&I("TODO", "$D/TODO");
+
+&I("contrib/wadalab/c42goth.fd", "$T/contrib/wadalab/c42goth.fd");
+&I("contrib/wadalab/c42goth.fdx", "$T/contrib/wadalab/c42goth.fdx");
+&I("contrib/wadalab/c42maru.fd", "$T/contrib/wadalab/c42maru.fd");
+&I("contrib/wadalab/c42maru.fdx", "$T/contrib/wadalab/c42maru.fdx");
+&I("contrib/wadalab/c42min.fd", "$T/contrib/wadalab/c42min.fd");
+&I("contrib/wadalab/c42min.fdx", "$T/contrib/wadalab/c42min.fdx");
+&I("contrib/wadalab/c52maru.fd", "$T/contrib/wadalab/c52maru.fd");
+&I("contrib/wadalab/c52maru.fdx", "$T/contrib/wadalab/c52maru.fdx");
+&I("contrib/wadalab/c52min.fd", "$T/contrib/wadalab/c52min.fd");
+&I("contrib/wadalab/c52min.fdx", "$T/contrib/wadalab/c52min.fdx");
+&I("contrib/wadalab/c70goth.fd", "$T/contrib/wadalab/c70goth.fd");
+&I("contrib/wadalab/c70goth.fdx", "$T/contrib/wadalab/c70goth.fdx");
+&I("contrib/wadalab/c70maru.fd", "$T/contrib/wadalab/c70maru.fd");
+&I("contrib/wadalab/c70maru.fdx", "$T/contrib/wadalab/c70maru.fdx");
+&I("contrib/wadalab/c70min.fd", "$T/contrib/wadalab/c70min.fd");
+&I("contrib/wadalab/c70min.fdx", "$T/contrib/wadalab/c70min.fdx");
+
+&I("contrib/wadalab/fixwada", "$S/contrib/wadalab/fixwada");
+&I("contrib/wadalab/fixwada2.pl", "$S/contrib/wadalab/fixwada2.pl");
+&I("contrib/wadalab/makefont", "$S/contrib/wadalab/makefont");
+&I("contrib/wadalab/makeuniwada.pl", "$S/contrib/wadalab/makeuniwada.pl");
+&I("contrib/wadalab/wadalab.map", "$S/contrib/wadalab/wadalab.map");
+&I("contrib/wadalab/wadalab.txt", "$S/contrib/wadalab/wadalab.txt");
+
+&I("doc/CEF.txt", "$D/doc/CEF.txt");
+&I("doc/cjk-enc.txt", "$D/doc/cjk-enc.txt");
+&I("doc/CJKnumb.txt", "$D/doc/CJKnumb.txt");
+&I("doc/CJKspace.txt", "$D/doc/CJKspace.txt");
+&I("doc/CJK.txt", "$D/doc/CJK.txt");
+&I("doc/CJKutf8.txt", "$D/doc/CJKutf8.txt");
+&I("doc/commands.txt", "$D/doc/commands.txt");
+&I("doc/COPYING", "$D/doc/COPYING");
+&I("doc/dvidrv.txt", "$D/doc/dvidrv.txt");
+&I("doc/fdxfiles.txt", "$D/doc/fdxfiles.txt");
+&I("doc/fonts.txt", "$D/doc/fonts.txt");
+&I("doc/hbf2gf.txt", "$D/doc/hbf2gf.txt");
+&I("doc/history.2_5", "$D/doc/history.2_5");
+&I("doc/history.txt", "$D/doc/history.txt");
+&I("doc/INSTALL", "$D/doc/INSTALL");
+&I("doc/pinyin.txt", "$D/doc/pinyin.txt");
+&I("doc/pyhyphen.txt", "$D/doc/pyhyphen.txt");
+&I("doc/reftex.txt", "$D/doc/reftex.txt");
+&I("doc/ruby.txt", "$D/doc/ruby.txt");
+&I("doc/TDS.txt", "$D/doc/TDS.txt");
+&I("doc/thaifont.txt", "$D/doc/thaifont.txt");
+&I("doc/vertical.txt", "$D/doc/vertical.txt");
+
+&I("doc/chinese/emTeXb5.txt", "$D/doc/chinese/emTeXb5.txt");
+&I("doc/chinese/README", "$D/doc/chinese/README");
+&I("doc/chinese/READMEb5.tex", "$D/doc/chinese/READMEb5.tex");
+&I("doc/chinese/READMEgb.tex", "$D/doc/chinese/READMEgb.tex");
+&I("doc/chinese/teTeXb5.txt", "$D/doc/chinese/teTeXb5.txt");
+
+&I("doc/japanese/ascii.txt", "$D/doc/japanese/ascii.txt");
+&I("doc/japanese/japanese.jis", "$D/doc/japanese/japanese.jis");
+&I("doc/japanese/japanese.txt", "$D/doc/japanese/japanese.txt");
+&I("doc/japanese/jp-fonts.txt", "$D/doc/japanese/jp-fonts.txt");
+&I("doc/japanese/jp-tex.txt", "$D/doc/japanese/jp-tex.txt");
+&I("doc/japanese/preview.txt", "$D/doc/japanese/preview.txt");
+&I("doc/japanese/README", "$D/doc/japanese/README");
+&I("doc/japanese/shibuaki.txt", "$D/doc/japanese/shibuaki.txt");
+
+&I("doc/pdfhowto/examples/bkai.map", "$D/doc/pdfhowto/examples/bkai.map");
+&I("doc/pdfhowto/examples/cid-x.map", "$D/doc/pdfhowto/examples/cid-x.map");
+&I("doc/pdfhowto/examples/cwtb.map", "$D/doc/pdfhowto/examples/cwtb.map");
+&I("doc/pdfhowto/examples/dvipdfmx.cfg", "$D/doc/pdfhowto/examples/dvipdfmx.cfg");
+&I("doc/pdfhowto/examples/gen-map.pl", "$D/doc/pdfhowto/examples/gen-map.pl");
+&I("doc/pdfhowto/examples/map.list", "$D/doc/pdfhowto/examples/map.list");
+&I("doc/pdfhowto/examples/texinput/Bg5/c00cwtb.fd", "$D/doc/pdfhowto/examples/texinput/Bg5/c00cwtb.fd");
+&I("doc/pdfhowto/examples/texinput/Bg5/c00tmpl.fd", "$D/doc/pdfhowto/examples/texinput/Bg5/c00tmpl.fd");
+&I("doc/pdfhowto/examples/texinput/GB/c10tmpl.fd", "$D/doc/pdfhowto/examples/texinput/GB/c10tmpl.fd");
+&I("doc/pdfhowto/examples/texinput/JIS/c40tmpl.fd", "$D/doc/pdfhowto/examples/texinput/JIS/c40tmpl.fd");
+&I("doc/pdfhowto/examples/texinput/SJIS/c49tmpl.fd", "$D/doc/pdfhowto/examples/texinput/SJIS/c49tmpl.fd");
+&I("doc/pdfhowto/examples/updmap.my", "$D/doc/pdfhowto/examples/updmap.my");
+&I("doc/pdfhowto/examples/wcl.sfd", "$D/doc/pdfhowto/examples/wcl.sfd");
+&I("doc/pdfhowto/HOWTO.txt", "$D/doc/pdfhowto/HOWTO.txt");
+
+&I("examples/Big5.tex", "$D/examples/Big5.tex");
+&I("examples/Big5vert.tex", "$D/examples/Big5vert.tex");
+&I("examples/CEF_test.tex", "$D/examples/CEF_test.tex");
+&I("examples/CJKbabel.tex", "$D/examples/CJKbabel.tex");
+&I("examples/CJKfntef.tex", "$D/examples/CJKfntef.tex");
+&I("examples/CJKmixed.tex", "$D/examples/CJKmixed.tex");
+&I("examples/CJKspace.tex", "$D/examples/CJKspace.tex");
+&I("examples/CJKutf8.tex", "$D/examples/CJKutf8.tex");
+&I("examples/GB.tex", "$D/examples/GB.tex");
+&I("examples/JIS.tex", "$D/examples/JIS.tex");
+&I("examples/KS.tex", "$D/examples/KS.tex");
+&I("examples/muletest.tex", "$D/examples/muletest.tex");
+&I("examples/py_test.tex", "$D/examples/py_test.tex");
+&I("examples/README", "$D/examples/README");
+&I("examples/rubytest.tex", "$D/examples/rubytest.tex");
+&I("examples/SJIS.tex", "$D/examples/SJIS.tex");
+&I("examples/thai.tex", "$D/examples/thai.tex");
+&I("examples/thai_utf8.tex","$D/examples/thai_utf8.tex");
+&I("examples/UTF8.tex", "$D/examples/UTF8.tex");
+
+&I("texinput/CJK.enc", "$T/texinput/CJK.enc");
+&I("texinput/CJKfntef.sty", "$T/texinput/CJKfntef.sty");
+&I("texinput/CJKnumb.sty", "$T/texinput/CJKnumb.sty");
+&I("texinput/CJKspace.sty", "$T/texinput/CJKspace.sty");
+&I("texinput/CJK.sty", "$T/texinput/CJK.sty");
+&I("texinput/CJKulem.sty", "$T/texinput/CJKulem.sty");
+&I("texinput/CJKutf8.sty", "$T/texinput/CJKutf8.sty");
+&I("texinput/CJKvert.sty", "$T/texinput/CJKvert.sty");
+&I("texinput/extended.chr", "$T/texinput/extended.chr");
+&I("texinput/extended.enc", "$T/texinput/extended.enc");
+&I("texinput/pinyin.sty", "$T/texinput/pinyin.sty");
+&I("texinput/pmCbig.enc", "$T/texinput/pmCbig.enc");
+&I("texinput/pmC.chr", "$T/texinput/pmC.chr");
+&I("texinput/pmCsmall.enc", "$T/texinput/pmCsmall.enc");
+&I("texinput/ruby.sty", "$T/texinput/ruby.sty");
+&I("texinput/standard.bdg", "$T/texinput/standard.bdg");
+&I("texinput/standard.chr", "$T/texinput/standard.chr");
+&I("texinput/standard.enc", "$T/texinput/standard.enc");
+
+&I("texinput/Bg5/Bg5.cap", "$T/texinput/Bg5/Bg5.cap");
+&I("texinput/Bg5/Bg5.chr", "$T/texinput/Bg5/Bg5.chr");
+&I("texinput/Bg5/Bg5.cpx", "$T/texinput/Bg5/Bg5.cpx");
+&I("texinput/Bg5/Bg5.enc", "$T/texinput/Bg5/Bg5.enc");
+&I("texinput/Bg5/c00bkai.fd", "$T/texinput/Bg5/c00bkai.fd");
+&I("texinput/Bg5/c00bkai.fdx", "$T/texinput/Bg5/c00bkai.fdx");
+&I("texinput/Bg5/c00bsmi.fd", "$T/texinput/Bg5/c00bsmi.fd");
+&I("texinput/Bg5/c00bsmi.fdx", "$T/texinput/Bg5/c00bsmi.fdx");
+&I("texinput/Bg5/c00bsmir.fd", "$T/texinput/Bg5/c00bsmir.fd");
+&I("texinput/Bg5/c00bsmir.fdx", "$T/texinput/Bg5/c00bsmir.fdx");
+&I("texinput/Bg5/c00cns.fd", "$T/texinput/Bg5/c00cns.fd");
+&I("texinput/Bg5/c00fs.fd", "$T/texinput/Bg5/c00fs.fd");
+&I("texinput/Bg5/c00kai.fd", "$T/texinput/Bg5/c00kai.fd");
+&I("texinput/Bg5/c00kair.fd", "$T/texinput/Bg5/c00kair.fd");
+&I("texinput/Bg5/c00kair.fdx", "$T/texinput/Bg5/c00kair.fdx");
+&I("texinput/Bg5/c00song.fd", "$T/texinput/Bg5/c00song.fd");
+&I("texinput/Bg5/c01song.fd", "$T/texinput/Bg5/c01song.fd");
+&I("texinput/Bg5/c05song.fd", "$T/texinput/Bg5/c05song.fd");
+&I("texinput/Bg5/c09song.fd", "$T/texinput/Bg5/c09song.fd");
+&I("texinput/Bg5/HK.enc", "$T/texinput/Bg5/HK.enc");
+
+&I("texinput/CEF/c80song.fd", "$T/texinput/CEF/c80song.fd");
+&I("texinput/CEF/c81song.fd", "$T/texinput/CEF/c81song.fd");
+
+&I("texinput/CNS/c31song.fd", "$T/texinput/CNS/c31song.fd");
+&I("texinput/CNS/c32song.fd", "$T/texinput/CNS/c32song.fd");
+&I("texinput/CNS/c33song.fd", "$T/texinput/CNS/c33song.fd");
+&I("texinput/CNS/c34song.fd", "$T/texinput/CNS/c34song.fd");
+&I("texinput/CNS/c35song.fd", "$T/texinput/CNS/c35song.fd");
+&I("texinput/CNS/c36song.fd", "$T/texinput/CNS/c36song.fd");
+&I("texinput/CNS/c37song.fd", "$T/texinput/CNS/c37song.fd");
+&I("texinput/CNS/EUC-TW.bdg", "$T/texinput/CNS/EUC-TW.bdg");
+&I("texinput/CNS/EUC-TW.chr", "$T/texinput/CNS/EUC-TW.chr");
+&I("texinput/CNS/EUC-TW.enc", "$T/texinput/CNS/EUC-TW.enc");
+
+&I("texinput/GB/c10fs.fd", "$T/texinput/GB/c10fs.fd");
+&I("texinput/GB/c10gbsn.fd", "$T/texinput/GB/c10gbsn.fd");
+&I("texinput/GB/c10gbsn.fdx", "$T/texinput/GB/c10gbsn.fdx");
+&I("texinput/GB/c10gkai.fd", "$T/texinput/GB/c10gkai.fd");
+&I("texinput/GB/c10gkai.fdx", "$T/texinput/GB/c10gkai.fdx");
+&I("texinput/GB/c10song.fd", "$T/texinput/GB/c10song.fd");
+&I("texinput/GB/c11song.fd", "$T/texinput/GB/c11song.fd");
+&I("texinput/GB/c19song.fd", "$T/texinput/GB/c19song.fd");
+&I("texinput/GB/c20song.fd", "$T/texinput/GB/c20song.fd");
+&I("texinput/GB/c21song.fd", "$T/texinput/GB/c21song.fd");
+&I("texinput/GB/GB.cap", "$T/texinput/GB/GB.cap");
+&I("texinput/GB/GB.cpx", "$T/texinput/GB/GB.cpx");
+
+&I("texinput/JIS/c40song.fd", "$T/texinput/JIS/c40song.fd");
+&I("texinput/JIS/c41song.fd", "$T/texinput/JIS/c41song.fd");
+&I("texinput/JIS/c42song.fd", "$T/texinput/JIS/c42song.fd");
+&I("texinput/JIS/c43song.fd", "$T/texinput/JIS/c43song.fd");
+&I("texinput/JIS/c50song.fd", "$T/texinput/JIS/c50song.fd");
+&I("texinput/JIS/EUC-JP.bdg", "$T/texinput/JIS/EUC-JP.bdg");
+&I("texinput/JIS/EUC-JP.chr", "$T/texinput/JIS/EUC-JP.chr");
+&I("texinput/JIS/EUC-JP.enc", "$T/texinput/JIS/EUC-JP.enc");
+&I("texinput/JIS/EUC-JPdnp.enc", "$T/texinput/JIS/EUC-JPdnp.enc");
+&I("texinput/JIS/JIS.cap", "$T/texinput/JIS/JIS.cap");
+&I("texinput/JIS/JIS.cpx", "$T/texinput/JIS/JIS.cpx");
+&I("texinput/JIS/JISdnp.enc", "$T/texinput/JIS/JISdnp.enc");
+
+&I("texinput/KS/c60dr.fd", "$T/texinput/KS/c60dr.fd");
+&I("texinput/KS/c60gr.fd", "$T/texinput/KS/c60gr.fd");
+&I("texinput/KS/c60gs.fd", "$T/texinput/KS/c60gs.fd");
+&I("texinput/KS/c60gt.fd", "$T/texinput/KS/c60gt.fd");
+&I("texinput/KS/c60hgt.fd", "$T/texinput/KS/c60hgt.fd");
+&I("texinput/KS/c60hmj.fd", "$T/texinput/KS/c60hmj.fd");
+&I("texinput/KS/c60hol.fd", "$T/texinput/KS/c60hol.fd");
+&I("texinput/KS/c60hpg.fd", "$T/texinput/KS/c60hpg.fd");
+&I("texinput/KS/c60mj.fd", "$T/texinput/KS/c60mj.fd");
+&I("texinput/KS/c61dr.fd", "$T/texinput/KS/c61dr.fd");
+&I("texinput/KS/c61gr.fd", "$T/texinput/KS/c61gr.fd");
+&I("texinput/KS/c61gs.fd", "$T/texinput/KS/c61gs.fd");
+&I("texinput/KS/c61gt.fd", "$T/texinput/KS/c61gt.fd");
+&I("texinput/KS/c61hgt.fd", "$T/texinput/KS/c61hgt.fd");
+&I("texinput/KS/c61hmj.fd", "$T/texinput/KS/c61hmj.fd");
+&I("texinput/KS/c61hol.fd", "$T/texinput/KS/c61hol.fd");
+&I("texinput/KS/c61hpg.fd", "$T/texinput/KS/c61hpg.fd");
+&I("texinput/KS/c61mj.fd", "$T/texinput/KS/c61mj.fd");
+&I("texinput/KS/c62song.fd", "$T/texinput/KS/c62song.fd");
+&I("texinput/KS/hangul2.cap", "$T/texinput/KS/hangul2.cap");
+&I("texinput/KS/hangul2.cpx", "$T/texinput/KS/hangul2.cpx");
+&I("texinput/KS/hangul.cap", "$T/texinput/KS/hangul.cap");
+&I("texinput/KS/hangul.cpx", "$T/texinput/KS/hangul.cpx");
+&I("texinput/KS/hanja.cap", "$T/texinput/KS/hanja.cap");
+&I("texinput/KS/hanja.cpx", "$T/texinput/KS/hanja.cpx");
+&I("texinput/KS/KS.chr", "$T/texinput/KS/KS.chr");
+&I("texinput/KS/KS.enc", "$T/texinput/KS/KS.enc");
+
+&I("texinput/KS/HLaTeX/c63bm.fd", "$T/texinput/KS/HLaTeX/c63bm.fd");
+&I("texinput/KS/HLaTeX/c63dn.fd", "$T/texinput/KS/HLaTeX/c63dn.fd");
+&I("texinput/KS/HLaTeX/c63gr.fd", "$T/texinput/KS/HLaTeX/c63gr.fd");
+&I("texinput/KS/HLaTeX/c63gs.fd", "$T/texinput/KS/HLaTeX/c63gs.fd");
+&I("texinput/KS/HLaTeX/c63gt.fd", "$T/texinput/KS/HLaTeX/c63gt.fd");
+&I("texinput/KS/HLaTeX/c63jgt.fd", "$T/texinput/KS/HLaTeX/c63jgt.fd");
+&I("texinput/KS/HLaTeX/c63jmj.fd", "$T/texinput/KS/HLaTeX/c63jmj.fd");
+&I("texinput/KS/HLaTeX/c63jnv.fd", "$T/texinput/KS/HLaTeX/c63jnv.fd");
+&I("texinput/KS/HLaTeX/c63jsr.fd", "$T/texinput/KS/HLaTeX/c63jsr.fd");
+&I("texinput/KS/HLaTeX/c63mj.fd", "$S/texinput/KS/HLaTeX/c63mj.fd"); # $S
+&I("texinput/KS/HLaTeX/c63pga.fd", "$T/texinput/KS/HLaTeX/c63pga.fd");
+&I("texinput/KS/HLaTeX/c63pg.fd", "$T/texinput/KS/HLaTeX/c63pg.fd");
+&I("texinput/KS/HLaTeX/c63ph.fd", "$T/texinput/KS/HLaTeX/c63ph.fd");
+&I("texinput/KS/HLaTeX/c63pn.fd", "$T/texinput/KS/HLaTeX/c63pn.fd");
+&I("texinput/KS/HLaTeX/c63sh.fd", "$T/texinput/KS/HLaTeX/c63sh.fd");
+&I("texinput/KS/HLaTeX/c63tz.fd", "$T/texinput/KS/HLaTeX/c63tz.fd");
+&I("texinput/KS/HLaTeX/c63vd.fd", "$T/texinput/KS/HLaTeX/c63vd.fd");
+&I("texinput/KS/HLaTeX/c63yt.fd", "$T/texinput/KS/HLaTeX/c63yt.fd");
+&I("texinput/KS/HLaTeX/c64bm.fd", "$T/texinput/KS/HLaTeX/c64bm.fd");
+&I("texinput/KS/HLaTeX/c64dn.fd", "$T/texinput/KS/HLaTeX/c64dn.fd");
+&I("texinput/KS/HLaTeX/c64gr.fd", "$T/texinput/KS/HLaTeX/c64gr.fd");
+&I("texinput/KS/HLaTeX/c64gs.fd", "$T/texinput/KS/HLaTeX/c64gs.fd");
+&I("texinput/KS/HLaTeX/c64gt.fd", "$T/texinput/KS/HLaTeX/c64gt.fd");
+&I("texinput/KS/HLaTeX/c64jgt.fd", "$T/texinput/KS/HLaTeX/c64jgt.fd");
+&I("texinput/KS/HLaTeX/c64jmj.fd", "$T/texinput/KS/HLaTeX/c64jmj.fd");
+&I("texinput/KS/HLaTeX/c64jnv.fd", "$T/texinput/KS/HLaTeX/c64jnv.fd");
+&I("texinput/KS/HLaTeX/c64jsr.fd", "$T/texinput/KS/HLaTeX/c64jsr.fd");
+&I("texinput/KS/HLaTeX/c64mj.fd", "$S/texinput/KS/HLaTeX/c64mj.fd"); # $S
+&I("texinput/KS/HLaTeX/c64pga.fd", "$T/texinput/KS/HLaTeX/c64pga.fd");
+&I("texinput/KS/HLaTeX/c64pg.fd", "$T/texinput/KS/HLaTeX/c64pg.fd");
+&I("texinput/KS/HLaTeX/c64ph.fd", "$T/texinput/KS/HLaTeX/c64ph.fd");
+&I("texinput/KS/HLaTeX/c64pn.fd", "$T/texinput/KS/HLaTeX/c64pn.fd");
+&I("texinput/KS/HLaTeX/c64sh.fd", "$T/texinput/KS/HLaTeX/c64sh.fd");
+&I("texinput/KS/HLaTeX/c64tz.fd", "$T/texinput/KS/HLaTeX/c64tz.fd");
+&I("texinput/KS/HLaTeX/c64vd.fd", "$T/texinput/KS/HLaTeX/c64vd.fd");
+&I("texinput/KS/HLaTeX/c64yt.fd", "$T/texinput/KS/HLaTeX/c64yt.fd");
+&I("texinput/KS/HLaTeX/c65bm.fd", "$T/texinput/KS/HLaTeX/c65bm.fd");
+&I("texinput/KS/HLaTeX/c65dn.fd", "$T/texinput/KS/HLaTeX/c65dn.fd");
+&I("texinput/KS/HLaTeX/c65gr.fd", "$T/texinput/KS/HLaTeX/c65gr.fd");
+&I("texinput/KS/HLaTeX/c65gs.fd", "$T/texinput/KS/HLaTeX/c65gs.fd");
+&I("texinput/KS/HLaTeX/c65gt.fd", "$T/texinput/KS/HLaTeX/c65gt.fd");
+&I("texinput/KS/HLaTeX/c65jgt.fd", "$T/texinput/KS/HLaTeX/c65jgt.fd");
+&I("texinput/KS/HLaTeX/c65jmj.fd", "$T/texinput/KS/HLaTeX/c65jmj.fd");
+&I("texinput/KS/HLaTeX/c65jnv.fd", "$T/texinput/KS/HLaTeX/c65jnv.fd");
+&I("texinput/KS/HLaTeX/c65jsr.fd", "$T/texinput/KS/HLaTeX/c65jsr.fd");
+&I("texinput/KS/HLaTeX/c65mj.fd", "$S/texinput/KS/HLaTeX/c65mj.fd"); # $S
+&I("texinput/KS/HLaTeX/c65pga.fd", "$T/texinput/KS/HLaTeX/c65pga.fd");
+&I("texinput/KS/HLaTeX/c65pg.fd", "$T/texinput/KS/HLaTeX/c65pg.fd");
+&I("texinput/KS/HLaTeX/c65ph.fd", "$T/texinput/KS/HLaTeX/c65ph.fd");
+&I("texinput/KS/HLaTeX/c65pn.fd", "$T/texinput/KS/HLaTeX/c65pn.fd");
+&I("texinput/KS/HLaTeX/c65sh.fd", "$T/texinput/KS/HLaTeX/c65sh.fd");
+&I("texinput/KS/HLaTeX/c65tz.fd", "$T/texinput/KS/HLaTeX/c65tz.fd");
+&I("texinput/KS/HLaTeX/c65vd.fd", "$T/texinput/KS/HLaTeX/c65vd.fd");
+&I("texinput/KS/HLaTeX/c65yt.fd", "$T/texinput/KS/HLaTeX/c65yt.fd");
+&I("texinput/KS/HLaTeX/HLaTeX.chr", "$T/texinput/KS/HLaTeX/HLaTeX.chr");
+&I("texinput/KS/HLaTeX/KSHL.enc", "$T/texinput/KS/HLaTeX/KSHL.enc");
+&I("texinput/KS/HLaTeX/pshan.sty", "$T/texinput/KS/HLaTeX/pshan.sty");
+
+&I("texinput/mule/MULEenc.sty", "$T/texinput/mule/MULEenc.sty");
+
+&I("texinput/SJIS/c49song.fd", "$T/texinput/SJIS/c49song.fd");
+&I("texinput/SJIS/SJIS.bdg", "$T/texinput/SJIS/SJIS.bdg");
+&I("texinput/SJIS/SJIS.cap", "$T/texinput/SJIS/SJIS.cap");
+&I("texinput/SJIS/SJIS.chr", "$T/texinput/SJIS/SJIS.chr");
+&I("texinput/SJIS/SJIS.cpx", "$T/texinput/SJIS/SJIS.cpx");
+&I("texinput/SJIS/SJISdnp.chr", "$T/texinput/SJIS/SJISdnp.chr");
+&I("texinput/SJIS/SJISdnp.enc", "$T/texinput/SJIS/SJISdnp.enc");
+&I("texinput/SJIS/SJIS.enc", "$T/texinput/SJIS/SJIS.enc");
+
+&I("texinput/thai/c90cmr.fd", "$T/texinput/thai/c90cmr.fd");
+&I("texinput/thai/c90cmss.fd", "$T/texinput/thai/c90cmss.fd");
+&I("texinput/thai/c90cmtt.fd", "$T/texinput/thai/c90cmtt.fd");
+&I("texinput/thai/c90enc.def", "$T/texinput/thai/c90enc.def");
+&I("texinput/thai/c90gar.fd", "$T/texinput/thai/c90gar.fd");
+&I("texinput/thai/c90nrsr.fd", "$T/texinput/thai/c90nrsr.fd");
+&I("texinput/thai/thaicjk.ldf", "$T/texinput/thai/thaicjk.ldf");
+
+&I("texinput/UTF8/c70bkai.fd", "$T/texinput/UTF8/c70bkai.fd");
+&I("texinput/UTF8/c70bkai.fdx", "$T/texinput/UTF8/c70bkai.fdx");
+&I("texinput/UTF8/c70bsmi.fd", "$T/texinput/UTF8/c70bsmi.fd");
+&I("texinput/UTF8/c70bsmi.fdx", "$T/texinput/UTF8/c70bsmi.fdx");
+&I("texinput/UTF8/c70gbsn.fd", "$T/texinput/UTF8/c70gbsn.fd");
+&I("texinput/UTF8/c70gbsn.fdx", "$T/texinput/UTF8/c70gbsn.fdx");
+&I("texinput/UTF8/c70gkai.fd", "$T/texinput/UTF8/c70gkai.fd");
+&I("texinput/UTF8/c70gkai.fdx", "$T/texinput/UTF8/c70gkai.fdx");
+&I("texinput/UTF8/c70mj.fd", "$T/texinput/UTF8/c70mj.fd");
+&I("texinput/UTF8/c70mj.fdx", "$T/texinput/UTF8/c70mj.fdx");
+&I("texinput/UTF8/c70song.fd", "$T/texinput/UTF8/c70song.fd");
+&I("texinput/UTF8/ja.cpx", "$T/texinput/UTF8/ja.cpx");
+&I("texinput/UTF8/ko-Hang2.cpx", "$T/texinput/UTF8/ko-Hang2.cpx");
+&I("texinput/UTF8/ko-Hang.cpx", "$T/texinput/UTF8/ko-Hang.cpx");
+&I("texinput/UTF8/ko-Hani.cpx", "$T/texinput/UTF8/ko-Hani.cpx");
+&I("texinput/UTF8/UTF8.bdg", "$T/texinput/UTF8/UTF8.bdg");
+&I("texinput/UTF8/UTF8.chr", "$T/texinput/UTF8/UTF8.chr");
+&I("texinput/UTF8/UTF8.enc", "$T/texinput/UTF8/UTF8.enc");
+&I("texinput/UTF8/zh-Hans.cpx", "$T/texinput/UTF8/zh-Hans.cpx");
+&I("texinput/UTF8/zh-Hant.cpx", "$T/texinput/UTF8/zh-Hant.cpx");
+
+&I("texlive/c63mj.fd", "$T/texinput/KS/HLaTeX/c63mj.fd");
+&I("texlive/c64mj.fd", "$T/texinput/KS/HLaTeX/c64mj.fd");
+&I("texlive/c65mj.fd", "$T/texinput/KS/HLaTeX/c65mj.fd");
+# texlive/README ---
+&I("texlive/bin-cjkutils.pl", "$D/texlive/bin-cjkutils.pl");
+&I("texlive/c90.pl", "$D/texlive/c90.pl");
+&I("texlive/cjk-build.pl", "$D/texlive/cjk-build.pl");
+&I("texlive/cjk.pl", "$D/texlive/cjk.pl");
+&I("texlive/dnp.pl", "$D/texlive/dnp.pl");
+&I("texlive/garuda-c90.pl", "$D/texlive/garuda-c90.pl");
+&I("texlive/norasi-c90.pl", "$D/texlive/norasi-c90.pl");
+
+&I("utils/f_name.bat", "$S/utils/f_name.bat");
+
+&I("utils/Bg5conv/bg5conv.w", "$S/utils/Bg5conv/bg5conv.w");
+&I("utils/Bg5conv/bg5latex.bat", "$S/utils/Bg5conv/bg5latex.bat");
+&I("utils/Bg5conv/bg5latex.cmd", "$S/utils/Bg5conv/bg5latex.cmd");
+
+&I("utils/CEFconv/cef5conv.w", "$S/utils/CEFconv/cef5conv.w");
+&I("utils/CEFconv/cef5ltx.bat", "$S/utils/CEFconv/cef5ltx.bat");
+&I("utils/CEFconv/cef5ltx.cmd", "$S/utils/CEFconv/cef5ltx.cmd");
+&I("utils/CEFconv/cefconv.w", "$S/utils/CEFconv/cefconv.w");
+&I("utils/CEFconv/ceflatex.bat", "$S/utils/CEFconv/ceflatex.bat");
+&I("utils/CEFconv/ceflatex.cmd", "$S/utils/CEFconv/ceflatex.cmd");
+&I("utils/CEFconv/cefsconv.w", "$S/utils/CEFconv/cefsconv.w");
+&I("utils/CEFconv/cefsltx.bat", "$S/utils/CEFconv/cefsltx.bat");
+&I("utils/CEFconv/cefsltx.cmd", "$S/utils/CEFconv/cefsltx.cmd");
+
+&I("utils/extconv/bg5pltx.bat", "$S/utils/extconv/bg5pltx.bat");
+&I("utils/extconv/bg5pltx.cmd", "$S/utils/extconv/bg5pltx.cmd");
+&I("utils/extconv/extconv.w", "$S/utils/extconv/extconv.w");
+&I("utils/extconv/gbklatex.bat", "$S/utils/extconv/gbklatex.bat");
+&I("utils/extconv/gbklatex.cmd", "$S/utils/extconv/gbklatex.cmd");
+
+&I("utils/hbf2gf/c-auto.h", "$S/utils/hbf2gf/c-auto.h");
+# utils/hbf2gf/config.guess ---
+# utils/hbf2gf/config.sub ---
+# utils/hbf2gf/configure ---
+&I("utils/hbf2gf/dvidrv.btm", "$S/utils/hbf2gf/dvidrv.btm");
+# utils/hbf2gf/hbf2gf.c ---
+# utils/hbf2gf/install-sh ---
+&I("utils/hbf2gf/Makefile.gnu", "$S/utils/hbf2gf/Makefile.gnu");
+&I("utils/hbf2gf/Makefile.in", "$S/utils/hbf2gf/Makefile.in");
+# utils/hbf2gf/mkinstalldirs ---
+&I("utils/hbf2gf/README", "$S/utils/hbf2gf/README");
+
+# utils/hbf2gf/scripts/teTeX-0.4/MakeTeXPK.diff ---
+# utils/hbf2gf/scripts/teTeX-0.4/MakeTeXTFM.diff ---
+# utils/hbf2gf/scripts/web2c-6.1/MakeTeXPK.diff ---
+# utils/hbf2gf/scripts/web2c-6.1/README ---
+# utils/hbf2gf/scripts/web2c-7.0/MakeTeXPK.diff ---
+# utils/hbf2gf/scripts/web2c-7.0/MakeTeXTFM.diff ---
+# utils/hbf2gf/scripts/web2c-7.1/MakeTeXPK.diff ---
+# utils/hbf2gf/scripts/web2c-7.1/MakeTeXTFM.diff ---
+# utils/hbf2gf/scripts/web2c-7.2/mktexpk.diff ---
+# utils/hbf2gf/scripts/web2c-7.2/mktextfm.diff ---
+
+&I("utils/lisp/cjkspace.el", "$S/utils/lisp/cjkspace.el");
+&I("utils/lisp/cjktilde.el", "$S/utils/lisp/cjktilde.el");
+
+&I("utils/lisp/emacs/cjk-enc.el", "$S/utils/lisp/emacs/cjk-enc.el");
+&I("utils/lisp/emacs/thai-word.el", "$S/utils/lisp/emacs/thai-word.el");
+
+&I("utils/lisp/mule-2.3/cjk-enc.el", "$S/utils/lisp/mule-2.3/cjk-enc.el");
+
+&I("utils/pyhyphen/pinyin.c", "$S/utils/pyhyphen/pinyin.c");
+&I("utils/pyhyphen/pinyin.ldf", "$T/utils/pyhyphen/pinyin.ldf"); # $T
+&I("utils/pyhyphen/pinyin.tr", "$S/utils/pyhyphen/pinyin.tr");
+&I("utils/pyhyphen/pyhyph.tex", "$S/utils/pyhyphen/pyhyph.tex");
+&I("utils/pyhyphen/pytest.tex", "$D/utils/pyhyphen/pytest.tex"); # $D
+
+&I("utils/SJISconv/sjisconv.w", "$S/utils/SJISconv/sjisconv.w");
+&I("utils/SJISconv/sjisltx.bat", "$S/utils/SJISconv/sjisltx.bat");
+&I("utils/SJISconv/sjisltx.cmd", "$S/utils/SJISconv/sjisltx.cmd");
+
+&I("utils/subfonts/clonevf.pl", "$S/utils/subfonts/clonevf.pl");
+&I("utils/subfonts/hlatex2agl.pl", "$S/utils/subfonts/hlatex2agl.pl");
+&I("utils/subfonts/makefdx.pl", "$S/utils/subfonts/makefdx.pl");
+&I("utils/subfonts/sfd2uni.pl", "$S/utils/subfonts/sfd2uni.pl");
+&I("utils/subfonts/subfonts.pe", "$S/utils/subfonts/subfonts.pe");
+&I("utils/subfonts/uni2sfd.pl", "$S/utils/subfonts/uni2sfd.pl");
+&I("utils/subfonts/vertical.pe", "$S/utils/subfonts/vertical.pe");
+&I("utils/subfonts/vertref.pe", "$S/utils/subfonts/vertref.pe");
+
+# utils/thaifont/tools/dbtt-old/config.dbtt-old ---
+# utils/thaifont/tools/dbtt-old/dbtt-old-alias.etx ---
+# utils/thaifont/tools/dbtt-old/dbtt-old-alias.mtx ---
+# utils/thaifont/tools/dbtt-old/dbtt-old-alias.tex ---
+# utils/thaifont/tools/dbtt-old/dbtt-old.fontinst ---
+# utils/thaifont/tools/dbtt-old/dbtt-old.map ---
+# utils/thaifont/tools/INSTALL ---
+
+
+#
+# cjk-4.8.4-doc
+# -------------
+#
+
+&I("doc/cjk/README", "$D/doc/cjk/README");
+&I("doc/cjk/READMEb5.cjk", "$D/doc/cjk/READMEb5.cjk");
+
+# doc/dvi/READMEb5.dvi ---
+# doc/dvi/READMEgb.dvi ---
+
+&I("doc/pdf/READMEb5.pdf", "$D/doc/pdf/READMEb5.pdf");
+&I("doc/pdf/READMEgb.pdf", "$D/doc/pdf/READMEgb.pdf");
+
+&I("examples/cjk/Big5.cjk", "$D/examples/cjk/Big5.cjk");
+&I("examples/cjk/Big5vert.cjk", "$D/examples/cjk/Big5vert.cjk");
+&I("examples/cjk/CEF_test.cjk", "$D/examples/cjk/CEF_test.cjk");
+&I("examples/cjk/CJKbabel.cjk", "$D/examples/cjk/CJKbabel.cjk");
+&I("examples/cjk/muletest.cjk", "$D/examples/cjk/muletest.cjk");
+&I("examples/cjk/rubytest.cjk", "$D/examples/cjk/rubytest.cjk");
+&I("examples/cjk/SJIS.cjk", "$D/examples/cjk/SJIS.cjk");
+&I("examples/cjk/thai.cjk", "$D/examples/cjk/thai.cjk");
+
+# examples/dvi/Big5.dvi ---
+# examples/dvi/Big5vert.dvi ---
+# examples/dvi/CEF_test.dvi ---
+# examples/dvi/CJKbabel.dvi ---
+# examples/dvi/CJKfntef.dvi ---
+# examples/dvi/CJKmixed.dvi ---
+# examples/dvi/CJKspace.dvi ---
+# examples/dvi/CJKutf8.dvi ---
+# examples/dvi/GB.dvi ---
+# examples/dvi/JIS.dvi ---
+# examples/dvi/KS.dvi ---
+# examples/dvi/muletest.dvi ---
+# examples/dvi/py_test.dvi ---
+# examples/dvi/pytest.dvi ---
+# examples/dvi/rubytest.dvi ---
+# examples/dvi/SJIS.dvi ---
+# examples/dvi/thai.dvi ---
+# examples/dvi/UTF8.dvi ---
+
+&I("examples/pdf/Big5.pdf", "$D/examples/pdf/Big5.pdf");
+&I("examples/pdf/Big5vert.pdf", "$D/examples/pdf/Big5vert.pdf");
+&I("examples/pdf/CEF_test.pdf", "$D/examples/pdf/CEF_test.pdf");
+&I("examples/pdf/CJKbabel.pdf", "$D/examples/pdf/CJKbabel.pdf");
+&I("examples/pdf/CJKfntef.pdf", "$D/examples/pdf/CJKfntef.pdf");
+&I("examples/pdf/CJKmixed.pdf", "$D/examples/pdf/CJKmixed.pdf");
+&I("examples/pdf/CJKspace.pdf", "$D/examples/pdf/CJKspace.pdf");
+&I("examples/pdf/CJKutf8.pdf", "$D/examples/pdf/CJKutf8.pdf");
+&I("examples/pdf/GB.pdf", "$D/examples/pdf/GB.pdf");
+&I("examples/pdf/JIS.pdf", "$D/examples/pdf/JIS.pdf");
+&I("examples/pdf/KS.pdf", "$D/examples/pdf/KS.pdf");
+&I("examples/pdf/muletest.pdf", "$D/examples/pdf/muletest.pdf");
+&I("examples/pdf/py_test.pdf", "$D/examples/pdf/py_test.pdf");
+&I("examples/pdf/pytest.pdf", "$D/examples/pdf/pytest.pdf");
+&I("examples/pdf/rubytest.pdf", "$D/examples/pdf/rubytest.pdf");
+&I("examples/pdf/SJIS.pdf", "$D/examples/pdf/SJIS.pdf");
+&I("examples/pdf/thai.pdf", "$D/examples/pdf/thai.pdf");
+&I("examples/pdf/thai_utf8.pdf","$D/examples/pdf/thai_utf8.pdf");
+&I("examples/pdf/UTF8.pdf", "$D/examples/pdf/UTF8.pdf");
+
+1;
+# EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/texlive/dnp.pl b/language/chinese/CJK/cjk-4.8.4/texlive/dnp.pl
new file mode 100644
index 0000000000..f0ccf46a27
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texlive/dnp.pl
@@ -0,0 +1,21 @@
+# dnp.pl
+#
+# Public domain.
+#
+# Written by Werner Lemberg <wl@gnu.org>
+#
+# This file is intended to be called from the `MAKEcjk' subroutine within
+# the ctan2tds perl script. It installs the necessary files from the CJK
+# package into the correct destinations.
+#
+# It expects that the CJK packages (cjk-4.8.4 and cjk-4.8.4-doc) have been
+# unpacked (unmodified) in the current directory.
+
+
+# XXX: This installs files in `texmf', not `texmf-dist'!
+
+
+&I("contrib/wadalab/DNP.sfd", "fonts/sfd/dnp/DNP.sfd");
+
+1;
+# EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/texlive/garuda-c90.pl b/language/chinese/CJK/cjk-4.8.4/texlive/garuda-c90.pl
new file mode 100644
index 0000000000..40e0cda743
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texlive/garuda-c90.pl
@@ -0,0 +1,32 @@
+# garuda-c90.pl
+#
+# Public domain.
+#
+# Written by Werner Lemberg <wl@gnu.org>
+#
+# This file is intended to be called from the `MAKEcjk' subroutine within
+# the ctan2tds perl script. It installs the necessary files from the CJK
+# package into the correct destinations.
+#
+# It expects that the CJK packages (cjk-4.8.4 and cjk-4.8.4-doc) have been
+# unpacked (unmodified) in the current directory.
+
+my $D = "dvips/garuda-c90";
+my $M = "fonts/map/dvips/garuda-c90";
+my $S = "source/fonts/garuda-c90";
+my $T = "fonts/tfm/public/garuda-c90";
+
+
+&I("utils/thaifont/texmf/dvips/garuda-c90/config.garuda-c90", "$D/config.garuda-c90");
+
+&I("utils/thaifont/texmf/fonts/map/dvips/garuda-c90/garuda-c90.map", "$M/garuda-c90.map");
+
+&I("utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdb8z.tfm", "$T/fgdb8z.tfm");
+&I("utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdbo8z.tfm", "$T/fgdbo8z.tfm");
+&I("utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdo8z.tfm", "$T/fgdo8z.tfm");
+&I("utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdr8z.tfm", "$T/fgdr8z.tfm");
+
+&I("utils/thaifont/tools/garuda-c90.fontinst", "$S/garuda-c90.fontinst");
+
+1;
+# EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/texlive/norasi-c90.pl b/language/chinese/CJK/cjk-4.8.4/texlive/norasi-c90.pl
new file mode 100644
index 0000000000..200e31ea2d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/texlive/norasi-c90.pl
@@ -0,0 +1,32 @@
+# norasi-c90.pl
+#
+# Public domain.
+#
+# Written by Werner Lemberg <wl@gnu.org>
+#
+# This file is intended to be called from the `MAKEcjk' subroutine within
+# the ctan2tds perl script. It installs the necessary files from the CJK
+# package into the correct destinations.
+#
+# It expects that the CJK packages (cjk-4.8.4 and cjk-4.8.4-doc) have been
+# unpacked (unmodified) in the current directory.
+
+my $D = "dvips/norasi-c90";
+my $M = "fonts/map/dvips/norasi-c90";
+my $S = "source/fonts/norasi-c90";
+my $T = "fonts/tfm/public/norasi-c90";
+
+
+&I("utils/thaifont/texmf/dvips/norasi-c90/config.norasi-c90", "$D/config.norasi-c90");
+
+&I("utils/thaifont/texmf/fonts/map/dvips/norasi-c90/norasi-c90.map", "$M/norasi-c90.map");
+
+&I("utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftnb8z.tfm", "$T/ftnb8z.tfm");
+&I("utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftnbi8z.tfm", "$T/ftnbi8z.tfm");
+&I("utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftni8z.tfm", "$T/ftni8z.tfm");
+&I("utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftnr8z.tfm", "$T/ftnr8z.tfm");
+
+&I("utils/thaifont/tools/norasi-c90.fontinst", "$S/norasi-c90.fontinst");
+
+1;
+# EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.1 b/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.1
new file mode 100644
index 0000000000..a9e83901cf
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.1
@@ -0,0 +1,110 @@
+.\" man page for bg5conv
+.\" Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program in doc/COPYING; if not, write to the Free
+.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+.\" MA 02110-1301 USA
+.
+.TH BG5CONV 1 18-Apr-2015 "CJK Version 4.8.4"
+.
+.\" ====
+.\" ==== macro definitions
+.\" ====
+.
+.\" here we define \TeX for troff and nroff
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.
+.\" and here the same for \LaTeX
+.if t \{\
+.ie '\*(.T'dvi' \
+.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX
+.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX
+.\}
+.if n .ds LX LaTeX
+.
+.\" \LaTeXe
+.\" note that we need \vareps for TeX instead of \eps which can only be
+.\" accessed with the \N escape sequence (in the Math Italic font)
+.if t \{\
+.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v'
+.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v'
+.\}
+.if n .ds LE LaTeX\ 2e
+.
+.\" a typewriter font
+.if t \{\
+.de C
+\fC\\$1\fP\\$2
+..
+.\}
+.if n \{\
+.de C
+\\$1\\$2
+..
+.\}
+.
+.\" ====
+.\" ==== end of macro definitions
+.\" ====
+.
+.
+.
+.SH NAME
+bg5conv \- convert a TeX document in Big\ 5 encoding into `preprocessed'
+form.
+.
+.
+.SH SYNOPSIS
+.B bg5conv
+<
+.I infile
+>
+.I outfile
+.
+.
+.SH DESCRIPTION
+Big\ 5 encoding for traditional Chinese uses the characters
+.C { ,
+.C } ,
+and
+.C \e
+which have special meanings in \*(TX
+documents.
+.PP
+After processing a \*(LE
+document which contains Big\ 5 characters with
+.B bg5conv
+you need not care about these special characters.
+.PP
+This filter is part of the
+.B CJK
+macro package for \*(LE.
+.
+.
+.SH "SEE ALSO"
+.BR \%sjisconv (1),
+.BR \%cefconv (1),
+.BR cef5conv (1),
+.BR \%cefsconv (1),
+.BR \%extconv (1),
+.br
+the
+.B CJK
+documentation files.
+.
+.
+.SH AUTHOR
+Werner Lemberg
+.C <wl@gnu.org>
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.c b/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.c
new file mode 100644
index 0000000000..b745e6a97f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.c
@@ -0,0 +1,33 @@
+#define banner \
+"bg5conv (CJK ver. 4.8.4)" \
+
+/*2:*/
+#line 94 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/Bg5conv/bg5conv.w"
+
+#include <stdio.h>
+#include <stdlib.h>
+
+
+int main(int argc,char*argv[])
+{int ch;
+
+fprintf(stdout,"\\def\\CJKpreproc{%s}",banner);
+
+ch= fgetc(stdin);
+
+while(!feof(stdin))
+{if(ch>=0xA1&&ch<=0xFE)
+{fprintf(stdout,"\177%c\177",ch);
+
+ch= fgetc(stdin);
+if(!feof(stdin))
+fprintf(stdout,"%d\177",ch);
+}
+else
+fputc(ch,stdout);
+
+ch= fgetc(stdin);
+}
+exit(EXIT_SUCCESS);
+return 0;
+}/*:2*/
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.w b/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.w
new file mode 100644
index 0000000000..13165032d6
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.w
@@ -0,0 +1,121 @@
+% This is the cweb file bg5conv.w of the CJK Package Ver. 4.8.4 18-Apr-2015
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+% To print this CWEB file you should (but not must) use the CWEAVE of the
+% c2cweb-package (found at the CTAN archives, e.g. ftp.dante.de) and then say
+%
+% cweave +a bg5conv.w
+%
+% This (fully compatible) CWEAVE can transform CWEB-files with alternative
+% output rules (look at the position of braces below!) the author (it's me
+% too :-) prefer. Otherwise this file will be formatted traditionally.
+
+\def\title{bg5conv (CJK Version 4.8.4)}
+
+\def\topofcontents{
+ \null\vfill
+ \centerline{\titlefont The {\ttitlefont bg5conv} program}
+ \vskip 20pt
+ \centerline{(CJK Version 4.8.4)}
+ \vfill}
+
+\def\botofcontents{
+ \vfill
+ \noindent
+ Copyright \copyright\ 1996, 1998 by Werner Lemberg
+ \bigskip\noindent
+ Permission is granted to make and distribute verbatim copies of this
+ document provided that the copyright notice and this permission notice
+ are preserved on all copies.
+
+ \smallskip\noindent
+ Permission is granted to copy and distribute modified versions of this
+ document under the conditions for verbatim copying, provided that the
+ entire resulting derived work is distributed under the terms of a
+ permission notice identical to this one.}
+
+\pageno=\contentspagenumber \advance\pageno by 1
+\let\maybe=\iftrue
+\fullpageheight=240mm
+\pageheight=223mm
+\pagewidth=158mm
+\setpage
+\frenchspacing
+
+\noinx
+\nosecs
+\nocon
+
+@* Function and Use.
+This small program will convert Big~5 encoded Chinese characters into a
+`preprocessed' form. The need of this program arises from the fact that this
+encoding uses the characters `\.{\\}', `\.{\{}', and `\.{\}}' which have
+special meanings in \TeX.
+
+Use this program as a filter:
+
+\hskip 2em \.{bg5conv < input\_file > output\_file}
+
+
+@* The program.
+The only function of this program is to replace all occurrences of Big 5
+encoded characters \.{XY} (\.{X} and \.{Y} are the first and the second byte
+of the character) with
+\.{\char94 \char94 7fX\char94 \char94 7fZZZ\char94 \char94 7f}, where
+\.{ZZZ} represents the second byte as a decimal number. \.{0x7F} is used as
+an active character and delimiter.
+
+Additionally we define a \TeX\ macro at the very beginning to signal a
+preprocessed file.
+
+The following code is very simple. No error detection is done because \TeX\
+which will see the output of \.{bg5conv} complains loudly if something is
+wrong.
+
+@d banner
+"bg5conv (CJK ver. 4.8.4)"
+
+@c
+#include <stdio.h>
+#include <stdlib.h>@#
+
+
+int main(int argc, char *argv[])
+ {int ch;
+
+ fprintf(stdout, "\\def\\CJKpreproc{%s}", banner);@#
+
+ ch = fgetc(stdin);@#
+
+ while(!feof(stdin))
+ {if(ch >= 0xA1 && ch <= 0xFE)
+ {fprintf(stdout, "\177%c\177", ch);@#
+
+ ch = fgetc(stdin);
+ if(!feof(stdin))
+ fprintf(stdout, "%d\177", ch);
+ }
+ else
+ fputc(ch, stdout);@#
+
+ ch = fgetc(stdin);
+ }
+ exit(EXIT_SUCCESS);
+ return 0; /* never reached */
+ }
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5latex b/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5latex
new file mode 100755
index 0000000000..2540f9524d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5latex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] latex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+bg5conv < "$tex" > "$aux" && eval latex "$argv" "\$aux"
+
+# EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5latex.bat b/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5latex.bat
new file mode 100644
index 0000000000..91e7dfd857
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5latex.bat
@@ -0,0 +1,3 @@
+call f_name %1
+bg5conv < %1 > %fd%%fp%%fn%.cjk
+latex %fd%%fu%%fn%.cjk
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5latex.cmd b/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5latex.cmd
new file mode 100644
index 0000000000..facf871970
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5latex.cmd
@@ -0,0 +1,44 @@
+/*----------------------------------------------------------------------*\
+ bg5latex.cmd
+
+ This file is part of the CJK macro package for LaTeX2e ver. 4.8.4
+
+ Copyright (C) 1994-2015 Wonkoo Kim <wkim+@pitt.edu>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program in doc/COPYING; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ MA 02110-1301 USA
+
+ Wonkoo Kim (wkim+@pitt.edu), September 2, 1996
+\*----------------------------------------------------------------------*/
+
+Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
+Call SysLoadFuncs
+
+parse arg file
+
+drive = filespec('drive', file)
+path = filespec('path', file)
+fname = filespec('name', file)
+m = lastpos('.', fname)
+if (m = 0) then m = length(fname) + 1
+cjkfile = drive||path||delstr(fname, m)||'.cjk'
+
+'bg5conv <' file '>' cjkfile
+
+ucjkfile = translate(cjkfile,'/','\')
+if stream(cjkfile, 'C', 'QUERY EXISTS') \= '' then
+ 'call latex.cmd' ucjkfile
+
+/* End of bg5latex.cmd */
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5pdflatex b/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5pdflatex
new file mode 100755
index 0000000000..9adacad3a6
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5pdflatex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] pdflatex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+bg5conv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux"
+
+# EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.1 b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.1
new file mode 100644
index 0000000000..d04c527102
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.1
@@ -0,0 +1,127 @@
+.\" man page for cef5conv
+.\" Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program in doc/COPYING; if not, write to the Free
+.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+.\" MA 02110-1301 USA
+.
+.TH CEF5CONV 1 18-Apr-2015 "CJK Version 4.8.4"
+.
+.\" ====
+.\" ==== macro definitions
+.\" ====
+.
+.\" here we define \TeX for troff and nroff
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.
+.\" and here the same for \LaTeX
+.if t \{\
+.ie '\*(.T'dvi' \
+.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX
+.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX
+.\}
+.if n .ds LX LaTeX
+.
+.\" \LaTeXe
+.\" note that we need \vareps for TeX instead of \eps which can only be
+.\" accessed with the \N escape sequence (in the Math Italic font)
+.if t \{\
+.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v'
+.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v'
+.\}
+.if n .ds LE LaTeX\ 2e
+.
+.\" a typewriter font
+.if t \{\
+.de C
+\fC\\$1\fP
+..
+.\}
+.if n \{\
+.de C
+\\$1
+..
+.\}
+.
+.\" ====
+.\" ==== end of macro definitions
+.\" ====
+.
+.
+.
+.SH NAME
+cef5conv \- convert a TeX document in Big\ 5 encoding containing CEF macros
+into `preprocessed' form.
+.
+.
+.SH SYNOPSIS
+.B cef5conv
+<
+.I infile
+>
+.I outfile
+.
+.
+.SH DESCRIPTION
+The
+.B Chinese Encoding Framework
+.RB ( CEF )
+developed by Christian Wittern
+.C <cwittern@conline.central.de>
+makes it possible to include CJK characters in various encodings using the
+SGML macros
+.B &CX-aabb;
+for Big\ 5 and CNS encoding and
+.B &U-aabb;
+for Unicode
+.RB ( X
+denotes a number between 0 and 7; 0 represents Big\ 5 encoding, 1-7 CNS
+encoding planes 1-7.
+.B aabb
+is either a decimal or hexadecimal number).
+.PP
+.B cef5conv
+converts the CEF macros of a Big\ 5 encoded document together with the Big\
+5 encoding itself into a form which can directly processed with \*(LE.
+It is identical to
+.IP
+.B bg5conv
+<
+.I infile
+|
+.B cefconv
+>
+.I outfile
+.PP
+This filter is part of the
+.B CJK
+macro package for \*(LE.
+.
+.
+.SH "SEE ALSO"
+.BR \%sjisconv (1),
+.BR bg5conv (1),
+.BR \%cefconv (1),
+.BR \%cefsconv (1),
+.BR \%extconv (1),
+.br
+the
+.B CJK
+documentation files.
+.
+.
+.SH AUTHOR
+Werner Lemberg
+.C <wl@gnu.org>
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.c b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.c
new file mode 100644
index 0000000000..46228a1f5d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.c
@@ -0,0 +1,135 @@
+#define banner \
+"cef5conv (CJK ver. 4.8.4)" \
+
+/*2:*/
+#line 108 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/CEFconv/cef5conv.w"
+
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+
+int main(int argc,char*argv[])
+{int ch,i;
+unsigned char in[16];
+unsigned char out[32];
+unsigned char*inp,*outp;
+
+fprintf(stdout,"\\def\\CNSpreproc{%s}",banner);
+
+ch= fgetc(stdin);
+
+while(!feof(stdin))
+{if(ch>=0xA1&&ch<=0xFE)
+{fprintf(stdout,"\177%c\177",ch);
+
+ch= fgetc(stdin);
+if(!feof(stdin))
+fprintf(stdout,"%d\177",ch);
+}
+else if(ch=='&')
+
+{inp= in;
+outp= out;
+*inp= ch;
+*(++inp)= fgetc(stdin);
+
+if(*inp=='C'&&!feof(stdin))
+{*(++inp)= fgetc(stdin);
+if(*inp=='0'&&!feof(stdin))
+{*(outp++)= 'B';
+*(outp++)= 'g';
+*(outp++)= '5';
+}
+else if(*inp>='1'&&*inp<='7'&&!feof(stdin))
+{*(outp++)= 'C';
+*(outp++)= 'N';
+*(outp++)= 'S';
+*(outp++)= *inp;
+}
+else if((*inp=='X'||*inp=='Y')&&!feof(stdin))
+{*(outp++)= 'C';
+*(outp++)= 'E';
+*(outp++)= 'F';
+*(outp++)= *inp;
+}
+else
+goto no_macro;
+}
+else if(*inp=='U'&&!feof(stdin))
+{*(outp++)= 'U';
+*(outp++)= 'T';
+*(outp++)= 'F';
+*(outp++)= '8';
+}
+else
+goto no_macro;
+
+*(++inp)= fgetc(stdin);
+if(*inp!='-'||feof(stdin))
+goto no_macro;
+
+*(outp++)= '\177';
+*(outp++)= '\177';
+*(outp++)= '\"';
+*(outp++)= '0';
+
+*(++inp)= fgetc(stdin);
+if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin))
+*(outp++)= toupper(*inp);
+else
+goto no_macro;
+
+*(++inp)= fgetc(stdin);
+if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin))
+*(outp++)= toupper(*inp);
+else
+goto no_macro;
+
+*(outp++)= '\177';
+*(outp++)= '\"';
+*(outp++)= '0';
+
+*(++inp)= fgetc(stdin);
+if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin))
+*(outp++)= toupper(*inp);
+else
+goto no_macro;
+
+*(++inp)= fgetc(stdin);
+if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin))
+*(outp++)= toupper(*inp);
+else
+goto no_macro;
+
+*(outp++)= '\177';
+*outp= '\0';
+
+*(++inp)= fgetc(stdin);
+if(*inp!=';'||feof(stdin))
+goto no_macro;
+
+outp= out;
+fprintf(stdout,"\17772\177");
+while(*outp)
+fputc(*(outp++),stdout);
+
+ch= fgetc(stdin);
+continue;
+
+no_macro:
+ch= *inp;
+i= inp-in;
+inp= in;
+while(i--)
+fputc(*(inp++),stdout);
+continue;
+}
+else
+fputc(ch,stdout);
+
+ch= fgetc(stdin);
+}
+exit(EXIT_SUCCESS);
+return 0;
+}/*:2*/
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.w b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.w
new file mode 100644
index 0000000000..575ba253ae
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.w
@@ -0,0 +1,237 @@
+% This is the cweb file cef5conv.w of the CJK Package Ver. 4.8.4 18-Apr-2015
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+% To print this CWEB file you should (but not must) use the CWEAVE of the
+% c2cweb-package (found at the CTAN archives, e.g. ftp.dante.de) and then say
+%
+% cweave +a cef5conv.w
+%
+% This (fully compatible) CWEAVE can transform CWEB-files with alternative
+% output rules (look at the position of braces below!) the author (it's me
+% too :-) prefer. Otherwise this file will be formatted traditionally.
+
+\def\title{cef5conv (CJK Version 4.8.4)}
+
+\def\topofcontents{
+ \null\vfill
+ \centerline{\titlefont The {\ttitlefont cef5conv} program}
+ \vskip 20pt
+ \centerline{(CJK Version 4.8.4)}
+ \vfill}
+
+\def\botofcontents{
+ \vfill
+ \noindent
+ Copyright \copyright\ 1996, 1998, 2002 by Werner Lemberg
+ \bigskip\noindent
+ Permission is granted to make and distribute verbatim copies of this
+ document provided that the copyright notice and this permission notice
+ are preserved on all copies.
+
+ \smallskip\noindent
+ Permission is granted to copy and distribute modified versions of this
+ document under the conditions for verbatim copying, provided that the
+ entire resulting derived work is distributed under the terms of a
+ permission notice identical to this one.}
+
+\pageno=\contentspagenumber \advance\pageno by 1
+\let\maybe=\iftrue
+\fullpageheight=240mm
+\pageheight=223mm
+\pagewidth=158mm
+\setpage
+\frenchspacing
+
+\noinx
+\nosecs
+\nocon
+
+@* Function and Use.
+This small program will convert Big~5 encoding with CNS encoded Chinese
+characters using the {\it Chinese Encoding Framework (CEF)} into a
+`preprocessed' form. The need of this program arises from the fact that
+Big~5 encoding uses the characters `\.{\\}', `\.{\{}', and `\.{\}}' which
+have special meanings in \TeX.
+
+Use this program as a filter:
+
+\hskip 2em \.{cef5conv < input\_file > output\_file}
+
+
+@* The program.
+In contrast to \.{cefconv} two tasks will be executed:
+
+Replacing all occurrences of Big~5 encoded characters \.{XY} (\.{X} and
+\.{Y} are the first and the second byte of the character) with
+\.{\char94 \char94 7fX\char94 \char94 7fZZZ\char94 \char94 7f}, where
+\.{ZZZ} represents the second byte as a decimal number. \.{0x7F} is used as
+a control character and a delimiter.
+
+Replacing CEF macros of the form \.{\&xx-yyzz;} (\.{xx} can be C1--C7 for
+the CNS planes 1--7, C0 for Big~5 encoding, an encoding CX reserved for
+IRIZ, a private encoding CY, and U for Unicode encoding; \.{yyzz} is a
+hexadecimal representation of the code point in this plane) with
+\medskip
+\quad\.{\char94 \char94 7f72\char94 \char94 7fXX\char94 \char94 7f%
+\char94 \char94 7f"0yy\char94 \char94 7f"0zz\char94 \char94 7f}\quad.
+\medskip
+\.{XX} is the corresponding CJK encoding of \.{xx}; the number `72'
+specifies a macro in the file \.{MULEenc.sty} which further processes this
+representation -- it is automatically loaded by the \.{CJK} package.
+
+Additionally we define a \TeX\ macro at the very beginning to signal a
+preprocessed file.
+
+The following code is very simple. No error detection is done because \TeX\
+which will see the output of \.{cef5conv} complains loudly if something is
+wrong.
+
+@d banner
+"cef5conv (CJK ver. 4.8.4)"
+
+@c
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>@#
+
+
+int main(int argc, char *argv[])
+ {int ch, i;
+ unsigned char in[16];
+ unsigned char out[32];
+ unsigned char *inp, *outp;
+
+ fprintf(stdout, "\\def\\CNSpreproc{%s}", banner);@#
+
+ ch = fgetc(stdin);@#
+
+ while(!feof(stdin))
+ {if(ch >= 0xA1 && ch <= 0xFE)
+ {fprintf(stdout, "\177%c\177", ch);@#
+
+ ch = fgetc(stdin);
+ if(!feof(stdin))
+ fprintf(stdout, "%d\177", ch);
+ }
+ else if(ch == '&')
+ /* the macro test is hardcoded to make things simple */
+ {inp = in;
+ outp = out;
+ *inp = ch;
+ *(++inp) = fgetc(stdin);@#
+
+ if(*inp == 'C' && !feof(stdin))
+ {*(++inp) = fgetc(stdin);
+ if(*inp == '0' && !feof(stdin))
+ {*(outp++) = 'B';
+ *(outp++) = 'g';
+ *(outp++) = '5';
+ }
+ else if(*inp >= '1' && *inp <= '7' && !feof(stdin))
+ {*(outp++) = 'C';
+ *(outp++) = 'N';
+ *(outp++) = 'S';
+ *(outp++) = *inp;
+ }
+ else if((*inp == 'X' || *inp == 'Y') && !feof(stdin))
+ {*(outp++) = 'C';
+ *(outp++) = 'E';
+ *(outp++) = 'F';
+ *(outp++) = *inp;
+ }
+ else
+ goto no_macro;
+ }
+ else if(*inp == 'U' && !feof(stdin))
+ {*(outp++) = 'U';
+ *(outp++) = 'T';
+ *(outp++) = 'F';
+ *(outp++) = '8';
+ }
+ else
+ goto no_macro;@#
+
+ *(++inp) = fgetc(stdin);
+ if(*inp != '-' || feof(stdin))
+ goto no_macro;@#
+
+ *(outp++) = '\177';
+ *(outp++) = '\177';
+ *(outp++) = '\"';
+ *(outp++) = '0';@#
+
+ *(++inp) = fgetc(stdin);
+ if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin))
+ *(outp++) = toupper(*inp);
+ else
+ goto no_macro;@#
+
+ *(++inp) = fgetc(stdin);
+ if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin))
+ *(outp++) = toupper(*inp);
+ else
+ goto no_macro;@#
+
+ *(outp++) = '\177';
+ *(outp++) = '\"';
+ *(outp++) = '0';@#
+
+ *(++inp) = fgetc(stdin);
+ if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin))
+ *(outp++) = toupper(*inp);
+ else
+ goto no_macro;@#
+
+ *(++inp) = fgetc(stdin);
+ if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin))
+ *(outp++) = toupper(*inp);
+ else
+ goto no_macro;@#
+
+ *(outp++) = '\177';
+ *outp = '\0';@#
+
+ *(++inp) = fgetc(stdin);
+ if(*inp != ';' || feof(stdin))
+ goto no_macro;@#
+
+ outp = out;
+ fprintf(stdout, "\17772\177");
+ while(*outp)
+ fputc(*(outp++), stdout);@#
+
+ ch = fgetc(stdin);
+ continue;@#
+
+no_macro:
+ ch = *inp;
+ i = inp - in;
+ inp = in;
+ while(i--)
+ fputc(*(inp++), stdout);
+ continue;
+ }
+ else
+ fputc(ch, stdout);@#
+
+ ch = fgetc(stdin);
+ }
+ exit(EXIT_SUCCESS);
+ return 0; /* never reached */
+ }
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5latex b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5latex
new file mode 100755
index 0000000000..1b51a711d1
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5latex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] latex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+cef5conv < "$tex" > "$aux" && eval latex "$argv" "\$aux"
+
+# EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5ltx.bat b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5ltx.bat
new file mode 100644
index 0000000000..187485301f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5ltx.bat
@@ -0,0 +1,3 @@
+call f_name %1
+cef5conv < %1 > %fd%%fp%%fn%.cjk
+latex %fd%%fu%%fn%.cjk
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5ltx.cmd b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5ltx.cmd
new file mode 100644
index 0000000000..f089e831c6
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5ltx.cmd
@@ -0,0 +1,46 @@
+/*----------------------------------------------------------------------*\
+ cef5ltx.cmd
+
+ This file is part of the CJK macro package for LaTeX2e ver. 4.8.4
+
+ This file is part of the CJK macro package for LaTeX2e ver. 4.8.4
+
+ Copyright (C) 1994-2015 Wonkoo Kim <wkim+@pitt.edu>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program in doc/COPYING; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ MA 02110-1301 USA
+
+ Wonkoo Kim (wkim+@pitt.edu), September 2, 1996
+\*----------------------------------------------------------------------*/
+
+Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
+Call SysLoadFuncs
+
+parse arg file
+
+drive = filespec('drive', file)
+path = filespec('path', file)
+fname = filespec('name', file)
+m = lastpos('.', fname)
+if (m = 0) then m = length(fname) + 1
+cjkfile = drive||path||delstr(fname, m)||'.cjk'
+
+'cef5conv <' file '>' cjkfile
+
+ucjkfile = translate(cjkfile,'/','\')
+if stream(cjkfile, 'C', 'QUERY EXISTS') \= '' then
+ 'call latex.cmd' ucjkfile
+
+/* End of cef5ltx.cmd */
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5pdflatex b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5pdflatex
new file mode 100755
index 0000000000..1ae7b5953e
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5pdflatex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] pdflatex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+cef5conv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux"
+
+# EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.1 b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.1
new file mode 100644
index 0000000000..7be7fae6ba
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.1
@@ -0,0 +1,117 @@
+.\" man page for cefconv
+.\" Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program in doc/COPYING; if not, write to the Free
+.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+.\" MA 02110-1301 USA
+.
+.TH CEFCONV 1 18-Apr-2015 "CJK Version 4.8.4"
+.
+.\" ====
+.\" ==== macro definitions
+.\" ====
+.
+.\" here we define \TeX for troff and nroff
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.
+.\" and here the same for \LaTeX
+.if t \{\
+.ie '\*(.T'dvi' \
+.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX
+.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX
+.\}
+.if n .ds LX LaTeX
+.
+.\" \LaTeXe
+.\" note that we need \vareps for TeX instead of \eps which can only be
+.\" accessed with the \N escape sequence (in the Math Italic font)
+.if t \{\
+.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v'
+.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v'
+.\}
+.if n .ds LE LaTeX\ 2e
+.
+.\" a typewriter font
+.if t \{\
+.de C
+\fC\\$1\fP
+..
+.\}
+.if n \{\
+.de C
+\\$1
+..
+.\}
+.
+.\" ====
+.\" ==== end of macro definitions
+.\" ====
+.
+.
+.
+.SH NAME
+cefconv \- convert a TeX document containing CEF macros into `preprocessed'
+form.
+.
+.
+.SH SYNOPSIS
+.B cefconv
+<
+.I infile
+>
+.I outfile
+.
+.
+.SH DESCRIPTION
+The
+.B Chinese Encoding Framework
+.RB ( CEF )
+developed by Christian Wittern
+.C <cwittern@conline.central.de>
+makes it possible to include CJK characters in various encodings using the
+SGML macros
+.B &CX-aabb;
+for Big\ 5 and CNS encoding and
+.B &U-aabb;
+for Unicode
+.RB ( X
+denotes a number between 0 and 7; 0 represents Big\ 5 encoding, 1-7 CNS
+encoding planes 1-7.
+.B aabb
+is either a decimal or hexadecimal number)
+.PP
+.B \%cefconv
+converts the CEF macros into a form which can directly processed with \*(LE.
+.PP
+This filter is part of the
+.B CJK
+macro package for \*(LE.
+.
+.
+.SH "SEE ALSO"
+.BR \%sjisconv (1),
+.BR bg5conv (1),
+.BR cef5conv (1),
+.BR \%cefsconv (1),
+.BR \%extconv (1),
+.br
+the
+.B CJK
+documentation files.
+.
+.
+.SH AUTHOR
+Werner Lemberg
+.C <wl@gnu.org>
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.c b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.c
new file mode 100644
index 0000000000..967672e793
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.c
@@ -0,0 +1,127 @@
+#define banner \
+"cefconv (CJK ver. 4.8.4)" \
+
+/*2:*/
+#line 100 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/CEFconv/cefconv.w"
+
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+
+int main(int argc,char*argv[])
+{int ch,i;
+unsigned char in[16];
+unsigned char out[32];
+unsigned char*inp,*outp;
+
+fprintf(stdout,"\\def\\CNSpreproc{%s}",banner);
+
+ch= fgetc(stdin);
+
+while(!feof(stdin))
+{if(ch=='&')
+{inp= in;
+outp= out;
+*inp= ch;
+*(++inp)= fgetc(stdin);
+
+if(*inp=='C'&&!feof(stdin))
+{*(++inp)= fgetc(stdin);
+if(*inp=='0'&&!feof(stdin))
+{*(outp++)= 'B';
+*(outp++)= 'g';
+*(outp++)= '5';
+}
+else if(*inp>='1'&&*inp<='7'&&!feof(stdin))
+{*(outp++)= 'C';
+*(outp++)= 'N';
+*(outp++)= 'S';
+*(outp++)= *inp;
+}
+else if((*inp=='X'||*inp=='Y')&&!feof(stdin))
+{*(outp++)= 'C';
+*(outp++)= 'E';
+*(outp++)= 'F';
+*(outp++)= *inp;
+}
+else
+goto no_macro;
+}
+else if(*inp=='U'&&!feof(stdin))
+{*(outp++)= 'U';
+*(outp++)= 'T';
+*(outp++)= 'F';
+*(outp++)= '8';
+}
+else
+goto no_macro;
+
+*(++inp)= fgetc(stdin);
+if(*inp!='-'||feof(stdin))
+goto no_macro;
+
+*(outp++)= '\177';
+*(outp++)= '\177';
+*(outp++)= '\"';
+*(outp++)= '0';
+
+*(++inp)= fgetc(stdin);
+if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin))
+*(outp++)= toupper(*inp);
+else
+goto no_macro;
+
+*(++inp)= fgetc(stdin);
+if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin))
+*(outp++)= toupper(*inp);
+else
+goto no_macro;
+
+*(outp++)= '\177';
+*(outp++)= '\"';
+*(outp++)= '0';
+
+*(++inp)= fgetc(stdin);
+if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin))
+*(outp++)= toupper(*inp);
+else
+goto no_macro;
+
+*(++inp)= fgetc(stdin);
+if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin))
+*(outp++)= toupper(*inp);
+else
+goto no_macro;
+
+*(outp++)= '\177';
+*outp= '\0';
+
+*(++inp)= fgetc(stdin);
+if(*inp!=';'||feof(stdin))
+goto no_macro;
+
+outp= out;
+fprintf(stdout,"\17772\177");
+while(*outp)
+fputc(*(outp++),stdout);
+
+ch= fgetc(stdin);
+continue;
+
+no_macro:
+ch= *inp;
+i= inp-in;
+inp= in;
+while(i--)
+fputc(*(inp++),stdout);
+continue;
+}
+else
+fputc(ch,stdout);
+
+ch= fgetc(stdin);
+}
+exit(EXIT_SUCCESS);
+return 0;
+}/*:2*/
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.w b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.w
new file mode 100644
index 0000000000..142a5d862b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.w
@@ -0,0 +1,221 @@
+% This is the cweb file cefconv.w of the CJK Package Ver. 4.8.4 18-Apr-2015
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+% To print this CWEB file you should (but not must) use the CWEAVE of the
+% c2cweb-package (found at the CTAN archives, e.g. ftp.dante.de) and then say
+%
+% cweave +a cefconv.w
+%
+% This (fully compatible) CWEAVE can transform CWEB-files with alternative
+% output rules (look at the position of braces below!) the author (it's me
+% too :-) prefer. Otherwise this file will be formatted traditionally.
+
+\def\title{cefconv (CJK Version 4.8.4)}
+
+\def\topofcontents{
+ \null\vfill
+ \centerline{\titlefont The {\ttitlefont cefconv} program}
+ \vskip 20pt
+ \centerline{(CJK Version 4.8.4)}
+ \vfill}
+
+\def\botofcontents{
+ \vfill
+ \noindent
+ Copyright \copyright\ 1996, 1998, 2002 by Werner Lemberg
+ \bigskip\noindent
+ Permission is granted to make and distribute verbatim copies of this
+ document provided that the copyright notice and this permission notice
+ are preserved on all copies.
+
+ \smallskip\noindent
+ Permission is granted to copy and distribute modified versions of this
+ document under the conditions for verbatim copying, provided that the
+ entire resulting derived work is distributed under the terms of a
+ permission notice identical to this one.}
+
+\pageno=\contentspagenumber \advance\pageno by 1
+\let\maybe=\iftrue
+\fullpageheight=240mm
+\pageheight=223mm
+\pagewidth=158mm
+\setpage
+\frenchspacing
+
+\noinx
+\nosecs
+\nocon
+
+@* Function and Use.
+This small program will convert EUC encoding with CNS encoded Chinese
+characters using the {\it Chinese Encoding Framework (CEF)} into a
+`preprocessed' form, expanding the CEF macros.
+
+Use this program as a filter:
+
+\hskip 2em \.{cefconv < input\_file > output\_file}
+
+
+@* The program.
+In contrast to \.{cef5conv} or \.{cefsconv}, only one task will be executed:
+
+Replacing CEF macros of the form \.{\&xx-yyzz;} (\.{xx} can be C1--C7 for
+the CNS planes 1--7, C0 for Big~5 encoding, an encoding CX reserved for
+IRIZ, a private encoding CY, and U for Unicode encoding; \.{yyzz} is a
+hexadecimal representation of the code point in this plane) with
+\medskip
+\quad\.{\char94 \char94 7f72\char94 \char94 7fXX\char94 \char94 7f%
+\char94 \char94 7f"0yy\char94 \char94 7f"0zz\char94 \char94 7f}\quad.
+\medskip
+\.{XX} is the corresponding CJK encoding of \.{xx}; the number `72'
+specifies a macro in the file \.{MULEenc.sty} which further processes this
+representation -- it is automatically loaded by the \.{CJK} package.
+
+Additionally we define an empty \TeX\ macro at the very beginning to signal
+a preprocessed file.
+
+The following code is very simple. No error detection is done because \TeX\
+which will see the output of \.{cefconv} complains loudly if something is
+wrong.
+
+@d banner
+"cefconv (CJK ver. 4.8.4)"
+
+@c
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>@#
+
+
+int main(int argc, char *argv[])
+ {int ch, i;
+ unsigned char in[16];
+ unsigned char out[32];
+ unsigned char *inp, *outp;
+
+ fprintf(stdout, "\\def\\CNSpreproc{%s}", banner);@#
+
+ ch = fgetc(stdin);@#
+
+ while(!feof(stdin))
+ {if(ch == '&') /* the macro test is hardcoded to make things simple */
+ {inp = in;
+ outp = out;
+ *inp = ch;
+ *(++inp) = fgetc(stdin);@#
+
+ if(*inp == 'C' && !feof(stdin))
+ {*(++inp) = fgetc(stdin);
+ if(*inp == '0' && !feof(stdin))
+ {*(outp++) = 'B';
+ *(outp++) = 'g';
+ *(outp++) = '5';
+ }
+ else if(*inp >= '1' && *inp <= '7' && !feof(stdin))
+ {*(outp++) = 'C';
+ *(outp++) = 'N';
+ *(outp++) = 'S';
+ *(outp++) = *inp;
+ }
+ else if((*inp == 'X' || *inp == 'Y') && !feof(stdin))
+ {*(outp++) = 'C';
+ *(outp++) = 'E';
+ *(outp++) = 'F';
+ *(outp++) = *inp;
+ }
+ else
+ goto no_macro;
+ }
+ else if(*inp == 'U' && !feof(stdin))
+ {*(outp++) = 'U';
+ *(outp++) = 'T';
+ *(outp++) = 'F';
+ *(outp++) = '8';
+ }
+ else
+ goto no_macro;@#
+
+ *(++inp) = fgetc(stdin);
+ if(*inp != '-' || feof(stdin))
+ goto no_macro;@#
+
+ *(outp++) = '\177';
+ *(outp++) = '\177';
+ *(outp++) = '\"';
+ *(outp++) = '0';@#
+
+ *(++inp) = fgetc(stdin);
+ if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin))
+ *(outp++) = toupper(*inp);
+ else
+ goto no_macro;@#
+
+ *(++inp) = fgetc(stdin);
+ if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin))
+ *(outp++) = toupper(*inp);
+ else
+ goto no_macro;@#
+
+ *(outp++) = '\177';
+ *(outp++) = '\"';
+ *(outp++) = '0';@#
+
+ *(++inp) = fgetc(stdin);
+ if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin))
+ *(outp++) = toupper(*inp);
+ else
+ goto no_macro;@#
+
+ *(++inp) = fgetc(stdin);
+ if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin))
+ *(outp++) = toupper(*inp);
+ else
+ goto no_macro;@#
+
+ *(outp++) = '\177';
+ *outp = '\0';@#
+
+ *(++inp) = fgetc(stdin);
+ if(*inp != ';' || feof(stdin))
+ goto no_macro;@#
+
+ outp = out;
+ fprintf(stdout, "\17772\177");
+ while(*outp)
+ fputc(*(outp++), stdout);@#
+
+ ch = fgetc(stdin);
+ continue;@#
+
+no_macro:
+ ch = *inp;
+ i = inp - in;
+ inp = in;
+ while(i--)
+ fputc(*(inp++), stdout);
+ continue;
+ }
+ else
+ fputc(ch, stdout);@#
+
+ ch = fgetc(stdin);
+ }
+ exit(EXIT_SUCCESS);
+ return 0; /* never reached */
+ }
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/ceflatex b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/ceflatex
new file mode 100755
index 0000000000..79bcd8abe3
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/ceflatex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] latex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+cefconv < "$tex" > "$aux" && eval latex "$argv" "\$aux"
+
+# EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/ceflatex.bat b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/ceflatex.bat
new file mode 100644
index 0000000000..ba5925a6df
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/ceflatex.bat
@@ -0,0 +1,3 @@
+call f_name %1
+cefconv < %1 > %fd%%fp%%fn%.cjk
+latex %fd%%fu%%fn%.cjk
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/ceflatex.cmd b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/ceflatex.cmd
new file mode 100644
index 0000000000..dcc3183431
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/ceflatex.cmd
@@ -0,0 +1,46 @@
+/*----------------------------------------------------------------------*\
+ ceflatex.cmd
+
+ This file is part of the CJK macro package for LaTeX2e ver. 4.8.4
+
+ This file is part of the CJK macro package for LaTeX2e ver. 4.8.4
+
+ Copyright (C) 1994-2015 Wonkoo Kim <wkim+@pitt.edu>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program in doc/COPYING; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ MA 02110-1301 USA
+
+ Wonkoo Kim (wkim+@pitt.edu), September 2, 1996
+\*----------------------------------------------------------------------*/
+
+Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
+Call SysLoadFuncs
+
+parse arg file
+
+drive = filespec('drive', file)
+path = filespec('path', file)
+fname = filespec('name', file)
+m = lastpos('.', fname)
+if (m = 0) then m = length(fname) + 1
+cjkfile = drive||path||delstr(fname, m)||'.cjk'
+
+'cefconv <' file '>' cjkfile
+
+ucjkfile = translate(cjkfile,'/','\')
+if stream(cjkfile, 'C', 'QUERY EXISTS') \= '' then
+ 'call latex.cmd' ucjkfile
+
+/* End of ceflatex.cmd */
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefpdflatex b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefpdflatex
new file mode 100755
index 0000000000..c1b776cffd
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefpdflatex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] pdflatex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+cefconv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux"
+
+# EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.1 b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.1
new file mode 100644
index 0000000000..4c38133298
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.1
@@ -0,0 +1,127 @@
+.\" man page for cefsconv
+.\" Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program in doc/COPYING; if not, write to the Free
+.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+.\" MA 02110-1301 USA
+.
+.TH CEFSCONV 1 18-Apr-2015 "CJK Version 4.8.4"
+.
+.\" ====
+.\" ==== macro definitions
+.\" ====
+.
+.\" here we define \TeX for troff and nroff
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.
+.\" and here the same for \LaTeX
+.if t \{\
+.ie '\*(.T'dvi' \
+.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX
+.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX
+.\}
+.if n .ds LX LaTeX
+.
+.\" \LaTeXe
+.\" note that we need \vareps for TeX instead of \eps which can only be
+.\" accessed with the \N escape sequence (in the Math Italic font)
+.if t \{\
+.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v'
+.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v'
+.\}
+.if n .ds LE LaTeX\ 2e
+.
+.\" a typewriter font
+.if t \{\
+.de C
+\fC\\$1\fP
+..
+.\}
+.if n \{\
+.de C
+\\$1
+..
+.\}
+.
+.\" ====
+.\" ==== end of macro definitions
+.\" ====
+.
+.
+.
+.SH NAME
+cefsconv \- convert a TeX document in SJIS encoding containing CEF macros
+into `preprocessed' form.
+.
+.
+.SH SYNOPSIS
+.B cefsconv
+<
+.I infile
+>
+.I outfile
+.
+.
+.SH DESCRIPTION
+The
+.B Chinese Encoding Framework
+.RB ( CEF )
+developed by Christian Wittern
+.C <cwittern@conline.central.de>
+makes it possible to include CJK characters in various encodings using the
+SGML macros
+.B &CX-aabb;
+for Big\ 5 and CNS encoding and
+.B &U-aabb;
+for Unicode
+.RB ( X
+denotes a number between 0 and 7; 0 represents Big\ 5 encoding, 1-7 CNS
+encoding planes 1-7.
+.B aabb
+is either a decimal or hexadecimal number).
+.PP
+.B \%cefsconv
+converts the CEF macros of a SJIS encoded document together with the SJIS
+encoding itself into a form which can directly processed with \*(LE.
+It is identical to
+.IP
+.B sjisconv
+<
+.I infile
+|
+.B cefconv
+>
+.I outfile
+.PP
+This filter is part of the
+.B CJK
+macro package for \*(LE.
+.
+.
+.SH "SEE ALSO"
+.BR \%sjisconv (1),
+.BR bg5conv (1),
+.BR \%cefconv (1),
+.BR cef5conv (1),
+.BR \%extconv (1),
+.br
+the
+.B CJK
+documentation files.
+.
+.
+.SH AUTHOR
+Werner Lemberg
+.C <wl@gnu.org>
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.c b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.c
new file mode 100644
index 0000000000..bd4a701ffc
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.c
@@ -0,0 +1,135 @@
+#define banner \
+"cefsconv (CJK ver. 4.8.4)" \
+
+/*2:*/
+#line 111 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/CEFconv/cefsconv.w"
+
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+
+int main(int argc,char*argv[])
+{int ch,i;
+unsigned char in[16];
+unsigned char out[32];
+unsigned char*inp,*outp;
+
+fprintf(stdout,"\\def\\CNSpreproc{%s}",banner);
+
+ch= fgetc(stdin);
+
+while(!feof(stdin))
+{if((ch>=0x81&&ch<=0x9F)||(ch>=0xE0&&ch<=0xEF))
+{fprintf(stdout,"\177%c\177",ch);
+
+ch= fgetc(stdin);
+if(!feof(stdin))
+fprintf(stdout,"%d\177",ch);
+}
+else if(ch=='&')
+
+{inp= in;
+outp= out;
+*inp= ch;
+*(++inp)= fgetc(stdin);
+
+if(*inp=='C'&&!feof(stdin))
+{*(++inp)= fgetc(stdin);
+if(*inp=='0'&&!feof(stdin))
+{*(outp++)= 'B';
+*(outp++)= 'g';
+*(outp++)= '5';
+}
+else if(*inp>='1'&&*inp<='7'&&!feof(stdin))
+{*(outp++)= 'C';
+*(outp++)= 'N';
+*(outp++)= 'S';
+*(outp++)= *inp;
+}
+else if((*inp=='X'||*inp=='Y')&&!feof(stdin))
+{*(outp++)= 'C';
+*(outp++)= 'E';
+*(outp++)= 'F';
+*(outp++)= *inp;
+}
+else
+goto no_macro;
+}
+else if(*inp=='U'&&!feof(stdin))
+{*(outp++)= 'U';
+*(outp++)= 'T';
+*(outp++)= 'F';
+*(outp++)= '8';
+}
+else
+goto no_macro;
+
+*(++inp)= fgetc(stdin);
+if(*inp!='-'||feof(stdin))
+goto no_macro;
+
+*(outp++)= '\177';
+*(outp++)= '\177';
+*(outp++)= '\"';
+*(outp++)= '0';
+
+*(++inp)= fgetc(stdin);
+if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin))
+*(outp++)= toupper(*inp);
+else
+goto no_macro;
+
+*(++inp)= fgetc(stdin);
+if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin))
+*(outp++)= toupper(*inp);
+else
+goto no_macro;
+
+*(outp++)= '\177';
+*(outp++)= '\"';
+*(outp++)= '0';
+
+*(++inp)= fgetc(stdin);
+if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin))
+*(outp++)= toupper(*inp);
+else
+goto no_macro;
+
+*(++inp)= fgetc(stdin);
+if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin))
+*(outp++)= toupper(*inp);
+else
+goto no_macro;
+
+*(outp++)= '\177';
+*outp= '\0';
+
+*(++inp)= fgetc(stdin);
+if(*inp!=';'||feof(stdin))
+goto no_macro;
+
+outp= out;
+fprintf(stdout,"\17772\177");
+while(*outp)
+fputc(*(outp++),stdout);
+
+ch= fgetc(stdin);
+continue;
+
+no_macro:
+ch= *inp;
+i= inp-in;
+inp= in;
+while(i--)
+fputc(*(inp++),stdout);
+continue;
+}
+else
+fputc(ch,stdout);
+
+ch= fgetc(stdin);
+}
+exit(EXIT_SUCCESS);
+return 0;
+}/*:2*/
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.w b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.w
new file mode 100644
index 0000000000..7e033f34ea
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.w
@@ -0,0 +1,240 @@
+% This is the cweb file cefsconv.w of the CJK Package Ver. 4.8.4 18-Apr-2015
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+% To print this CWEB file you should (but not must) use the CWEAVE of the
+% c2cweb-package (found at the CTAN archives, e.g. ftp.dante.de) and then say
+%
+% cweave +a cefsconv.w
+%
+% This (fully compatible) CWEAVE can transform CWEB-files with alternative
+% output rules (look at the position of braces below!) the author (it's me
+% too :-) prefer. Otherwise this file will be formatted traditionally.
+
+\def\title{cefsconv (CJK Version 4.8.4)}
+
+\def\topofcontents{
+ \null\vfill
+ \centerline{\titlefont The {\ttitlefont cefsconv} program}
+ \vskip 20pt
+ \centerline{(CJK Version 4.8.4)}
+ \vfill}
+
+\def\botofcontents{
+ \vfill
+ \noindent
+ Copyright \copyright\ 1996, 1998 by Werner Lemberg
+ \bigskip\noindent
+ Permission is granted to make and distribute verbatim copies of this
+ document provided that the copyright notice and this permission notice
+ are preserved on all copies.
+
+ \smallskip\noindent
+ Permission is granted to copy and distribute modified versions of this
+ document under the conditions for verbatim copying, provided that the
+ entire resulting derived work is distributed under the terms of a
+ permission notice identical to this one.}
+
+\pageno=\contentspagenumber \advance\pageno by 1
+\let\maybe=\iftrue
+\fullpageheight=240mm
+\pageheight=223mm
+\pagewidth=158mm
+\setpage
+\frenchspacing
+
+\noinx
+\nosecs
+\nocon
+
+@* Function and Use.
+This small program will convert SJIS encoding with CNS encoded Chinese
+characters using the {\it Chinese Encoding Framework (CEF)} into a
+`preprocessed' form. The need of this program arises from the fact that
+SJIS encoding uses the characters `\.{\\}', `\.{\{}', and `\.{\}}' which
+have special meanings in \TeX.
+
+Use this program as a filter:
+
+\hskip 2em \.{cefsconv < input\_file > output\_file}
+
+
+@* The program.
+In contrast to \.{cefconv} two tasks will be executed:
+
+Replacing all occurrences of two byte SJIS encoded characters \.{XY} with
+\.{\char94 \char94 7fX\char94 \char94 7fZZZ\char94 \char94 7f} (\.{X} and
+\.{Y} are the first and the second byte of the character; \.{ZZZ} represents
+the second byte as a decimal number).
+
+Replacing CEF macros of the form \.{\&xx-yyzz;} (\.{xx} can be C1--C7 for
+the CNS planes 1--7, C0 for Big~5 encoding, an encoding CX reserved for
+IRIZ, a private encoding CY, and U for Unicode encoding; \.{yyzz} is a
+hexadecimal representation of the code point in this plane) with
+\medskip
+\quad\.{\char94 \char94 7f72\char94 \char94 7fXX\char94 \char94 7f%
+\char94 \char94 7f"0yy\char94 \char94 7f"0zz\char94 \char94 7f}\quad.
+\medskip
+\.{XX} is the corresponding CJK encoding of \.{xx}; the number `72'
+specifies a macro in the file \.{MULEenc.sty} which further processes this
+representation -- it is necessary to explicitly load this file with
+\.{\\usepackage}.
+
+Additionally we define a \TeX\ macro at the very beginning to signal a
+preprocessed file.
+
+The following code is very simple. No error detection is done because \TeX\
+which will see the output of \.{cefsconv} complains loudly if something is
+wrong.
+
+Note that the user-defined character area of SJIS (with the first bytes in
+the range 0xF0--0xFC) is not supported because it is not portable.
+
+@d banner
+"cefsconv (CJK ver. 4.8.4)"
+
+@c
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>@#
+
+
+int main(int argc, char *argv[])
+ {int ch, i;
+ unsigned char in[16];
+ unsigned char out[32];
+ unsigned char *inp, *outp;
+
+ fprintf(stdout, "\\def\\CNSpreproc{%s}", banner);@#
+
+ ch = fgetc(stdin);@#
+
+ while(!feof(stdin))
+ {if((ch >= 0x81 && ch <= 0x9F) || (ch >= 0xE0 && ch <= 0xEF))
+ {fprintf(stdout, "\177%c\177", ch);@#
+
+ ch = fgetc(stdin);
+ if(!feof(stdin))
+ fprintf(stdout, "%d\177", ch);
+ }
+ else if(ch == '&')
+ /* the macro test is hardcoded to make things simple */
+ {inp = in;
+ outp = out;
+ *inp = ch;
+ *(++inp) = fgetc(stdin);@#
+
+ if(*inp == 'C' && !feof(stdin))
+ {*(++inp) = fgetc(stdin);
+ if(*inp == '0' && !feof(stdin))
+ {*(outp++) = 'B';
+ *(outp++) = 'g';
+ *(outp++) = '5';
+ }
+ else if(*inp >= '1' && *inp <= '7' && !feof(stdin))
+ {*(outp++) = 'C';
+ *(outp++) = 'N';
+ *(outp++) = 'S';
+ *(outp++) = *inp;
+ }
+ else if((*inp == 'X' || *inp == 'Y') && !feof(stdin))
+ {*(outp++) = 'C';
+ *(outp++) = 'E';
+ *(outp++) = 'F';
+ *(outp++) = *inp;
+ }
+ else
+ goto no_macro;
+ }
+ else if(*inp == 'U' && !feof(stdin))
+ {*(outp++) = 'U';
+ *(outp++) = 'T';
+ *(outp++) = 'F';
+ *(outp++) = '8';
+ }
+ else
+ goto no_macro;@#
+
+ *(++inp) = fgetc(stdin);
+ if(*inp != '-' || feof(stdin))
+ goto no_macro;@#
+
+ *(outp++) = '\177';
+ *(outp++) = '\177';
+ *(outp++) = '\"';
+ *(outp++) = '0';@#
+
+ *(++inp) = fgetc(stdin);
+ if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin))
+ *(outp++) = toupper(*inp);
+ else
+ goto no_macro;@#
+
+ *(++inp) = fgetc(stdin);
+ if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin))
+ *(outp++) = toupper(*inp);
+ else
+ goto no_macro;@#
+
+ *(outp++) = '\177';
+ *(outp++) = '\"';
+ *(outp++) = '0';@#
+
+ *(++inp) = fgetc(stdin);
+ if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin))
+ *(outp++) = toupper(*inp);
+ else
+ goto no_macro;@#
+
+ *(++inp) = fgetc(stdin);
+ if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin))
+ *(outp++) = toupper(*inp);
+ else
+ goto no_macro;@#
+
+ *(outp++) = '\177';
+ *outp = '\0';@#
+
+ *(++inp) = fgetc(stdin);
+ if(*inp != ';' || feof(stdin))
+ goto no_macro;@#
+
+ outp = out;
+ fprintf(stdout, "\17772\177");
+ while(*outp)
+ fputc(*(outp++), stdout);@#
+
+ ch = fgetc(stdin);
+ continue;@#
+
+no_macro:
+ ch = *inp;
+ i = inp - in;
+ inp = in;
+ while(i--)
+ fputc(*(inp++), stdout);
+ continue;
+ }
+ else
+ fputc(ch, stdout);@#
+
+ ch = fgetc(stdin);
+ }
+ exit(EXIT_SUCCESS);
+ return 0; /* never reached */
+ }
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefslatex b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefslatex
new file mode 100755
index 0000000000..3d3daa175b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefslatex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] latex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+cefsconv < "$tex" > "$aux" && eval latex "$argv" "\$aux"
+
+# EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsltx.bat b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsltx.bat
new file mode 100644
index 0000000000..662ef9e3af
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsltx.bat
@@ -0,0 +1,3 @@
+call f_name %1
+cefsconv < %1 > %fd%%fp%%fn%.cjk
+latex %fd%%fu%%fn%.cjk
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsltx.cmd b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsltx.cmd
new file mode 100644
index 0000000000..7150e8aad1
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsltx.cmd
@@ -0,0 +1,46 @@
+/*----------------------------------------------------------------------*\
+ cefsltx.cmd
+
+ This file is part of the CJK macro package for LaTeX2e ver. 4.8.4
+
+ This file is part of the CJK macro package for LaTeX2e ver. 4.8.4
+
+ Copyright (C) 1994-2015 Wonkoo Kim <wkim+@pitt.edu>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program in doc/COPYING; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ MA 02110-1301 USA
+
+ Wonkoo Kim (wkim+@pitt.edu), September 2, 1996
+\*----------------------------------------------------------------------*/
+
+Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
+Call SysLoadFuncs
+
+parse arg file
+
+drive = filespec('drive', file)
+path = filespec('path', file)
+fname = filespec('name', file)
+m = lastpos('.', fname)
+if (m = 0) then m = length(fname) + 1
+cjkfile = drive||path||delstr(fname, m)||'.cjk'
+
+'cefsconv <' file '>' cjkfile
+
+ucjkfile = translate(cjkfile,'/','\')
+if stream(cjkfile, 'C', 'QUERY EXISTS') \= '' then
+ 'call latex.cmd' ucjkfile
+
+/* End of cefsltx.cmd */
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefspdflatex b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefspdflatex
new file mode 100755
index 0000000000..ed981d4dfb
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefspdflatex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] latex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+cefsconv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux"
+
+# EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.1 b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.1
new file mode 100644
index 0000000000..c385eb616d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.1
@@ -0,0 +1,110 @@
+.\" man page for sjisconv
+.\" Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program in doc/COPYING; if not, write to the Free
+.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+.\" MA 02110-1301 USA
+.
+.TH SJISCONV 1 18-Apr-2015 "CJK Version 4.8.4"
+.
+.\" ====
+.\" ==== macro definitions
+.\" ====
+.
+.\" here we define \TeX for troff and nroff
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.
+.\" and here the same for \LaTeX
+.if t \{\
+.ie '\*(.T'dvi' \
+.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX
+.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX
+.\}
+.if n .ds LX LaTeX
+.
+.\" \LaTeXe
+.\" note that we need \vareps for TeX instead of \eps which can only be
+.\" accessed with the \N escape sequence (in the Math Italic font)
+.if t \{\
+.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v'
+.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v'
+.\}
+.if n .ds LE LaTeX\ 2e
+.
+.\" a typewriter font
+.if t \{\
+.de C
+\fC\\$1\fP\\$2
+..
+.\}
+.if n \{\
+.de C
+\\$1\\$2
+..
+.\}
+.
+.\" ====
+.\" ==== end of macro definitions
+.\" ====
+.
+.
+.
+.SH NAME
+sjisconv \- convert a TeX document in SJIS encoding into `preprocessed'
+form.
+.
+.
+.SH SYNOPSIS
+.B sjisconv
+<
+.I infile
+>
+.I outfile
+.
+.
+.SH DESCRIPTION
+SJIS encoding for Japanese uses the characters
+.C { ,
+.C } ,
+and
+.C \e
+which have special meanings in \*(TX
+documents.
+.PP
+After processing a \*(LE
+document which contains SJIS characters with
+.B \%sjisconv
+you need not care about these special characters.
+.PP
+This filter is part of the
+.B CJK
+macro package for \*(LE.
+.
+.
+.SH "SEE ALSO"
+.BR bg5conv (1),
+.BR \%cefconv (1),
+.BR cef5conv (1),
+.BR \%cefsconv (1),
+.BR \%extconv (1),
+.br
+the
+.B CJK
+documentation files.
+.
+.
+.SH AUTHOR
+Werner Lemberg
+.C <wl@gnu.org>
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.c b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.c
new file mode 100644
index 0000000000..af121e555d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.c
@@ -0,0 +1,33 @@
+#define banner \
+"sjisconv (CJK ver. 4.8.4)" \
+
+/*2:*/
+#line 96 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/SJISconv/sjisconv.w"
+
+#include <stdio.h>
+#include <stdlib.h>
+
+
+int main(int argc,char*argv[])
+{int ch;
+
+fprintf(stdout,"\\def\\CJKpreproc{%s}",banner);
+
+ch= fgetc(stdin);
+
+while(!feof(stdin))
+{if((ch>=0x81&&ch<=0x9F)||(ch>=0xE0&&ch<=0xEF))
+{fprintf(stdout,"\177%c\177",ch);
+
+ch= fgetc(stdin);
+if(!feof(stdin))
+fprintf(stdout,"%d\177",ch);
+}
+else
+fputc(ch,stdout);
+
+ch= fgetc(stdin);
+}
+exit(EXIT_SUCCESS);
+return 0;
+}/*:2*/
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.w b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.w
new file mode 100644
index 0000000000..c1044cf36d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.w
@@ -0,0 +1,123 @@
+% This is the cweb file sjisconv.w of the CJK Package Ver. 4.8.4 18-Apr-2015
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+% To print this CWEB file you should (but not must) use the CWEAVE of the
+% c2cweb-package (found at the CTAN archives, e.g. ftp.dante.de) and then say
+%
+% cweave +a sjisconv.w
+%
+% This (fully compatible) CWEAVE can transform CWEB-files with alternative
+% output rules (look at the position of braces below!) the author (it's me
+% too :-) prefer. Otherwise this file will be formatted traditionally.
+
+\def\title{sjisconv (CJK Version 4.8.4)}
+
+\def\topofcontents{
+ \null\vfill
+ \centerline{\titlefont The {\ttitlefont sjisconv} program}
+ \vskip 20pt
+ \centerline{(CJK Version 4.8.4)}
+ \vfill}
+
+\def\botofcontents{
+ \vfill
+ \noindent
+ Copyright \copyright\ 1996, 1998 by Werner Lemberg
+ \bigskip\noindent
+ Permission is granted to make and distribute verbatim copies of this
+ document provided that the copyright notice and this permission notice
+ are preserved on all copies.
+
+ \smallskip\noindent
+ Permission is granted to copy and distribute modified versions of this
+ document under the conditions for verbatim copying, provided that the
+ entire resulting derived work is distributed under the terms of a
+ permission notice identical to this one.}
+
+\pageno=\contentspagenumber \advance\pageno by 1
+\let\maybe=\iftrue
+\fullpageheight=240mm
+\pageheight=223mm
+\pagewidth=158mm
+\setpage
+\frenchspacing
+
+\noinx
+\nosecs
+\nocon
+
+@* Function and Use.
+This small program will convert SJIS encoded Japanese characters into a
+`preprocessed' form. The need of this program arises from the fact that this
+encoding uses the characters `\.{\\}', `\.{\{}', and `\.{\}}' which have
+special meanings in \TeX.
+
+Use this program as a filter:
+
+\hskip 2em \.{sjisconv < input\_file > output\_file}
+
+
+@* The program.
+The only function of this program is to replace all occurrences of SJIS
+encoded two byte characters \.{XY} with
+\.{\char94 \char94 7fX\char94 \char94 7fZZZ\char94 \char94 7f} (\.{X}
+and \.{Y} are the first and the second byte of the character; \.{ZZZ}
+represents the second byte as a decimal number).
+
+Additionally we define a \TeX\ macro at the very beginning to signal a
+preprocessed file.
+
+The following code is very simple. No error detection is done because \TeX\
+which will see the output of \.{sjisconv} complains loudly if something is
+wrong.
+
+Note that the user-defined character area of SJIS (with the first bytes in
+the range 0xF0--0xFC) is not supported because it is not portable.
+
+@d banner
+"sjisconv (CJK ver. 4.8.4)"
+
+@c
+#include <stdio.h>
+#include <stdlib.h>@#
+
+
+int main(int argc, char *argv[])
+ {int ch;
+
+ fprintf(stdout, "\\def\\CJKpreproc{%s}", banner);@#
+
+ ch = fgetc(stdin);@#
+
+ while(!feof(stdin))
+ {if((ch >= 0x81 && ch <= 0x9F) || (ch >= 0xE0 && ch <= 0xEF))
+ {fprintf(stdout, "\177%c\177", ch);@#
+
+ ch = fgetc(stdin);
+ if(!feof(stdin))
+ fprintf(stdout, "%d\177", ch);
+ }
+ else
+ fputc(ch, stdout);@#
+
+ ch = fgetc(stdin);
+ }
+ exit(EXIT_SUCCESS);
+ return 0; /* never reached */
+ }
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjislatex b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjislatex
new file mode 100755
index 0000000000..b1086cba76
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjislatex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] latex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+sjisconv < "$tex" > "$aux" && eval latex "$argv" "\$aux"
+
+# EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisltx.bat b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisltx.bat
new file mode 100644
index 0000000000..5702c113bd
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisltx.bat
@@ -0,0 +1,3 @@
+call f_name %1
+sjisconv < %1 > %fd%%fp%%fn%.cjk
+latex %fd%%fu%%fn%.cjk
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisltx.cmd b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisltx.cmd
new file mode 100644
index 0000000000..2ff4e03e54
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisltx.cmd
@@ -0,0 +1,44 @@
+/*----------------------------------------------------------------------*\
+ sjisltx.cmd
+
+ This file is part of the CJK macro package for LaTeX2e ver. 4.8.4
+
+ Copyright (C) 1994-2015 Wonkoo Kim <wkim+@pitt.edu>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program in doc/COPYING; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ MA 02110-1301 USA
+
+ Wonkoo Kim (wkim+@pitt.edu), September 2, 1996
+\*----------------------------------------------------------------------*/
+
+Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
+Call SysLoadFuncs
+
+parse arg file
+
+drive = filespec('drive', file)
+path = filespec('path', file)
+fname = filespec('name', file)
+m = lastpos('.', fname)
+if (m = 0) then m = length(fname) + 1
+cjkfile = drive||path||delstr(fname, m)||'.cjk'
+
+'sjisconv <' file '>' cjkfile
+
+ucjkfile = translate(cjkfile,'/','\')
+if stream(cjkfile, 'C', 'QUERY EXISTS') \= '' then
+ 'call latex.cmd' ucjkfile
+
+/* End of sjisltx.cmd */
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjispdflatex b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjispdflatex
new file mode 100755
index 0000000000..651570da7f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjispdflatex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] latex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+sjisconv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux"
+
+# EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/cjklatex/cjklatex.c b/language/chinese/CJK/cjk-4.8.4/utils/cjklatex/cjklatex.c
new file mode 100644
index 0000000000..678c1dd3a8
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/cjklatex/cjklatex.c
@@ -0,0 +1,293 @@
+/*
+ Purpose: call LATEX after preprocessing of the .tex file by
+ the cjk conversion tool. The old f_name.bat script
+ is not working anymore.
+ Author : F. Popineau <Fabrice.Popineau@supelec.fr>
+ Date : <29/06/2001>
+*/
+
+#ifndef LATEX
+#define LATEX "latex"
+#endif
+
+/*
+ Copyright (C) 2001-2015 F. Popineau <Fabrice.Popineau@supelec.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program in doc/COPYING; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ MA 02110-1301 USA
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <kpathsea/config.h>
+#include <kpathsea/lib.h>
+#include <kpathsea/getopt.h>
+
+static const char *cjklatex_version_string = "1.0";
+
+static const char *usage_str[] = {
+ "Usage: %s OPTIONS FILE\n",
+ "Calls `" LATEX "' on FILE after conversion by the filter\n",
+ "specified by OPTIONS.\n",
+ "--conv=bg5\tfor traditional Chinese, encoding Big 5,\n",
+ "--conv=cef\tfor Chinese Encoding Framework, encoding CEF,\n",
+ "--conv=cef5\tidem CEF, also converts Big5 characters,\n",
+ "--conv=cefs\tidem CEF, also converts SJIS characters,\n",
+ "--conv=gbk\tfor Chinese, encoding GBK,\n",
+ "--conv=sjis\tfor Japanese, SJIS encoding.",
+ "\nAlternatively, for compatibility with the previous DOS batch files,\n",
+ "you can also copy this program to any of the following names:\n",
+ "bg5" LATEX ".exe, cef5" LATEX ".exe, cef" LATEX ".exe, cefs" LATEX ".exe,\n",
+ "gbk" LATEX ".exe and sjis" LATEX ".exe .\n",
+ "Then running one of these programs will be identical to specify\n",
+ "the corresponding option.\n",
+ "\nAdditional options:\n",
+ "--verbose\tbe a bit more verbose about what is happening,\n",
+ "--nocleanup\tdo not remove intermediate files,\n",
+ "--latex=engine\tuse `engine' instead of `" LATEX "' to process the file.\n",
+ NULL
+};
+
+static char *progname = NULL;
+
+static struct _conv_table {
+ const char *progname;
+ const char *processor;
+} CJKtable[] = {
+ { "cjk" LATEX, "" },
+ { "bg5" LATEX, "bg5conv" },
+ { "cef" LATEX, "cefconv" },
+ { "cef5" LATEX, "cef5conv" },
+ { "cefs" LATEX, "cefsconv" },
+ { "gbk" LATEX, "extconv" },
+ { "sjis" LATEX, "sjisconv" }
+};
+
+#define PROGRAM_IS(p) FILESTRCASEEQ (p, progname)
+#define ARGUMENT_IS(a) STREQ (long_options[option_index].name, a)
+
+static int program_number = -1;
+static int opt_verbose = 0;
+static int opt_nocleanup = 0;
+static char *texname, *cjkname, *texengine;
+
+static struct option long_options [] = {
+ { "debug", 1, 0, 0},
+ { "help", 0, 0, 0},
+ { "version", 0, 0, 0},
+ { "verbose", 0, 0, 0},
+ { "nocleanup", 0, 0, 0},
+ { "latex", 1, 0, 0},
+ { "conv", 1, 0, 0},
+ {0, 0, 0, 0}
+};
+
+static BOOL sigint_handler(DWORD dwCtrlType)
+{
+ /* Fix me : there is a problem if a system() command is running.
+ We should wait for the son process to be interrupted.
+ Only way I can think of to do that : rewrite system() based on
+ spawn() with parsing of the command line and set a global pid
+ Next cwait(pid) in the HandlerRoutine.
+ */
+
+ /* This is not that good, but else we would need to wait for
+ the child processes to finish ! */
+ Sleep(250);
+
+ fprintf(stderr, "Sending Ctrl+Break!\n");
+ GenerateConsoleCtrlEvent(CTRL_BREAK_EVENT, 0);
+
+ if (! opt_nocleanup)
+ unlink(cjkname);
+
+ exit(1);
+
+ return FALSE; /* return value obligatory */
+}
+
+static void usage(void)
+{
+ int i;
+ fprintf(stderr, "CJK" LATEX " version %s\n", cjklatex_version_string);
+ fprintf(stderr,usage_str[0], progname );
+ fputs("\n", stderr);
+ for(i = 1; usage_str[i]; ++i)
+ fputs(usage_str[i], stderr);
+}
+
+static int do_process(const char *processor, const char *filename)
+{
+ char *ext, *p;
+ char cmd[_MAX_PATH*3];
+ DWORD dwFA;
+ int ret;
+
+ if (strlen(filename) > 4 && _strnicmp(filename + strlen(filename) - 4, ".tex", 4) == 0) {
+ texname = xstrdup(filename);
+ }
+ else {
+ texname = concat(filename, ".tex");
+ }
+ for (p = texname; p && *p; p++)
+ *p = (*p == '\\' ? '/' : *p);
+
+ dwFA = GetFileAttributes(texname);
+ if (dwFA == 0xFFFFFFFF || (dwFA & FILE_ATTRIBUTE_DIRECTORY)) {
+ fprintf(stderr, "%s: %s is an invalid input file.\n",
+ progname, texname);
+ ret = 1;
+ }
+ else {
+ cjkname = xstrdup(texname);
+ ext = strrchr(cjkname, '.');
+ assert(ext != NULL);
+ strcpy(cjkname + (ext - cjkname), ".cjk");
+
+ sprintf(cmd, "%s < %s > %s", processor, texname, cjkname);
+ if (opt_verbose)
+ fprintf(stderr, "%s: running command `%s'.\n", progname, cmd);
+ ret = system(cmd);
+ if (ret == 0) {
+ sprintf(cmd, "%s %s", texengine, cjkname);
+ if (opt_verbose)
+ fprintf(stderr, "%s: running command `%s'.\n", progname, cmd);
+ ret = system(cmd);
+ if (! opt_nocleanup)
+ unlink(cjkname);
+ }
+ }
+
+ free(texname);
+ free(cjkname);
+
+ return ret;
+}
+
+int main(int argc, char *argv[])
+{
+ int g; /* getopt return code */
+ int i;
+ int option_index;
+ char *filename;
+
+ if (!progname)
+ progname = argv[0];
+
+ kpse_set_program_name (progname, NULL);
+ progname = kpse_program_name;
+
+ for (i = 0; i < sizeof(CJKtable)/sizeof(CJKtable[0]) && program_number < 0; i++) {
+ if (STREQ(progname, CJKtable[i].progname)
+#if 0
+ || (STREQ(progname, CJKtable[i].progname)
+ && STREQ(progname+strlen(CJKtable[i].progname), ".exe"))
+#endif
+ ) {
+ program_number = i;
+ }
+ }
+
+ if (program_number == -1) {
+ fprintf(stderr, "%s: this program has been incorrecty copied to the name %s.\n", progname, progname);
+ usage();
+ exit(1);
+ }
+
+ for(;;) {
+ g = getopt_long_only (argc, argv, "", long_options, &option_index);
+
+ if (g == EOF)
+ break;
+
+ if (g == '?') {
+ usage(); /* Unknown option. */
+ exit(1);
+ }
+
+ /* assert (g == 0); */ /* We have no short option names. */
+ /*
+ FIXME : try 'mktexpk --mfmode --bdpi 600 ...'
+ */
+ if (ARGUMENT_IS ("debug")) {
+ kpathsea_debug |= atoi (optarg);
+ }
+ else if (ARGUMENT_IS ("help")) {
+ usage();
+ exit(0);
+ }
+ else if (ARGUMENT_IS ("verbose")) {
+ opt_verbose = 1;
+ }
+ else if (ARGUMENT_IS ("nocleanup")) {
+ opt_nocleanup = 1;
+ }
+ else if (ARGUMENT_IS ("latex")) {
+ texengine = xstrdup(optarg);
+ }
+ else if (ARGUMENT_IS ("version")) {
+ fprintf(stderr, "%s of %s.\n", progname, cjklatex_version_string);
+ exit(0);
+ }
+ else if (PROGRAM_IS("cjk" LATEX)) {
+ if (ARGUMENT_IS("conv")) {
+ for (i = 1; i < sizeof(CJKtable)/sizeof(CJKtable[0]) && program_number <= 0; i++) {
+ if (STRNEQ(optarg, CJKtable[i].progname, strlen(optarg))) {
+ program_number = i;
+ }
+ }
+ }
+ }
+ }
+
+ /* shifting options from argv[] list */
+ for (i = 1; optind < argc; i++, optind++)
+ argv[i] = argv[optind];
+ argv[i] = NULL;
+
+ argc = i;
+
+ if (argc < 2) {
+ fprintf (stderr, "%s: Missing argument(s).\nTry `%s --help' for more information.\n", progname, kpse_program_name);
+ exit(1);
+ }
+
+ if (argc > 2) {
+ fprintf(stderr, "%s: Extra arguments", progname);
+ for (i = 2; i < argc; i++)
+ fprintf (stderr, " \"%s\"", argv[i]);
+ fprintf (stderr, "\nTry `%s --help' for more information.\n",
+ kpse_program_name);
+ exit(1);
+ }
+
+ SetConsoleCtrlHandler((PHANDLER_ROUTINE)sigint_handler, TRUE);
+
+ filename = xstrdup(argv[1]);
+
+ assert(program_number > 0);
+
+ if (! texengine) {
+ texengine = xstrdup(LATEX);
+ }
+
+ do_process(CJKtable[program_number].processor, filename);
+
+ free(filename);
+ free(texengine);
+
+ return 0;
+}
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5+latex b/language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5+latex
new file mode 100755
index 0000000000..82e706a44f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5+latex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] latex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+extconv < "$tex" > "$aux" && eval latex "$argv" "\$aux"
+
+# EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5+pdflatex b/language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5+pdflatex
new file mode 100755
index 0000000000..16377e9dc1
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5+pdflatex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] pdflatex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+extconv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux"
+
+# EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5pltx.bat b/language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5pltx.bat
new file mode 100644
index 0000000000..ccc6c76acd
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5pltx.bat
@@ -0,0 +1,3 @@
+call f_name %1
+extconv < %1 > %fd%%fp%%fn%.cjk
+latex %fd%%fu%%fn%.cjk
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5pltx.cmd b/language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5pltx.cmd
new file mode 100644
index 0000000000..69a9495208
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5pltx.cmd
@@ -0,0 +1,44 @@
+/*----------------------------------------------------------------------*\
+ bg5pltx.cmd
+
+ This file is part of the CJK macro package for LaTeX2e ver. 4.8.4
+
+ Copyright (C) 1994-2015 Wonkoo Kim <wkim+@pitt.edu>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program in doc/COPYING; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ MA 02110-1301 USA
+
+ Wonkoo Kim (wkim+@pitt.edu), September 2, 1996
+\*----------------------------------------------------------------------*/
+
+Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
+Call SysLoadFuncs
+
+parse arg file
+
+drive = filespec('drive', file)
+path = filespec('path', file)
+fname = filespec('name', file)
+m = lastpos('.', fname)
+if (m = 0) then m = length(fname) + 1
+cjkfile = drive||path||delstr(fname, m)||'.cjk'
+
+'extconv <' file '>' cjkfile
+
+ucjkfile = translate(cjkfile,'/','\')
+if stream(cjkfile, 'C', 'QUERY EXISTS') \= '' then
+ 'call latex.cmd' ucjkfile
+
+/* End of bg5pltx.cmd */
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/extconv/extconv.1 b/language/chinese/CJK/cjk-4.8.4/utils/extconv/extconv.1
new file mode 100644
index 0000000000..1ef4b011d8
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/extconv/extconv.1
@@ -0,0 +1,111 @@
+.\" man page for bg5conv
+.\"
+.\" Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program in doc/COPYING; if not, write to the Free
+.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+.\" MA 02110-1301 USA
+.
+.TH EXTCONV 1 18-Apr-2015 "CJK Version 4.8.4"
+.
+.\" ====
+.\" ==== macro definitions
+.\" ====
+.
+.\" here we define \TeX for troff and nroff
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.
+.\" and here the same for \LaTeX
+.if t \{\
+.ie '\*(.T'dvi' \
+.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX
+.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX
+.\}
+.if n .ds LX LaTeX
+.
+.\" \LaTeXe
+.\" note that we need \vareps for TeX instead of \eps which can only be
+.\" accessed with the \N escape sequence (in the Math Italic font)
+.if t \{\
+.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v'
+.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v'
+.\}
+.if n .ds LE LaTeX\ 2e
+.
+.\" a typewriter font
+.if t \{\
+.de C
+\fC\\$1\fP\\$2
+..
+.\}
+.if n \{\
+.de C
+\\$1\\$2
+..
+.\}
+.
+.\" ====
+.\" ==== end of macro definitions
+.\" ====
+.
+.
+.
+.SH NAME
+extconv \- convert a TeX document in either Big\ 5+ or GBK encoding into
+`preprocessed' form.
+.
+.
+.SH SYNOPSIS
+.B extconv
+<
+.I infile
+>
+.I outfile
+.
+.
+.SH DESCRIPTION
+Big\ 5+ and GBK encodings use the characters
+.C { ,
+.C } ,
+and
+.C \e
+which have special meanings in \*(TX
+documents.
+.PP
+After processing a \*(LE
+document which contains such characters with
+.B \%extconv
+you need not care about these special characters.
+.PP
+This filter is part of the
+.B CJK
+macro package for \*(LE.
+.
+.
+.SH "SEE ALSO"
+.BR bg5conv (1),
+.BR \%sjisconv (1),
+.BR \%cefconv (1),
+.BR cef5conv (1),
+.BR \%cefsconv (1),
+.br
+the
+.B CJK
+documentation files.
+.
+.
+.SH AUTHOR
+Werner Lemberg
+.C <wl@gnu.org>
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/extconv/extconv.c b/language/chinese/CJK/cjk-4.8.4/utils/extconv/extconv.c
new file mode 100644
index 0000000000..fdba62551c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/extconv/extconv.c
@@ -0,0 +1,34 @@
+#define banner \
+"extconv (CJK ver. 4.8.4)" \
+
+/*2:*/
+#line 94 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/extconv/extconv.w"
+
+#include <stdio.h>
+#include <stdlib.h>
+
+
+int main(int argc,char*argv[])
+{int ch;
+
+
+fprintf(stdout,"\\def\\CJKpreproc{%s}",banner);
+
+ch= fgetc(stdin);
+
+while(!feof(stdin))
+{if(ch>=0x81&&ch<=0xFE)
+{fprintf(stdout,"\177%c\177",ch);
+
+ch= fgetc(stdin);
+if(!feof(stdin))
+fprintf(stdout,"%d\177",ch);
+}
+else
+fputc(ch,stdout);
+
+ch= fgetc(stdin);
+}
+exit(EXIT_SUCCESS);
+return 0;
+}/*:2*/
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/extconv/extconv.w b/language/chinese/CJK/cjk-4.8.4/utils/extconv/extconv.w
new file mode 100644
index 0000000000..019976889b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/extconv/extconv.w
@@ -0,0 +1,122 @@
+% This is the cweb file extconv.w of the CJK Package Ver. 4.8.4 18-Apr-2015
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+% To print this CWEB file you should (but not must) use the CWEAVE of the
+% c2cweb-package (found at the CTAN archives, e.g. ftp.dante.de) and then say
+%
+% cweave +a extconv.w
+%
+% This (fully compatible) CWEAVE can transform CWEB-files with alternative
+% output rules (look at the position of braces below!) the author (it's me
+% too :-) prefer. Otherwise this file will be formatted traditionally.
+
+\def\title{extconv (CJK Version 4.8.4)}
+
+\def\topofcontents{
+ \null\vfill
+ \centerline{\titlefont The {\ttitlefont extconv} program}
+ \vskip 20pt
+ \centerline{(CJK Version 4.8.4)}
+ \vfill}
+
+\def\botofcontents{
+ \vfill
+ \noindent
+ Copyright \copyright\ 1996, 1998 by Werner Lemberg
+ \bigskip\noindent
+ Permission is granted to make and distribute verbatim copies of this
+ document provided that the copyright notice and this permission notice
+ are preserved on all copies.
+
+ \smallskip\noindent
+ Permission is granted to copy and distribute modified versions of this
+ document under the conditions for verbatim copying, provided that the
+ entire resulting derived work is distributed under the terms of a
+ permission notice identical to this one.}
+
+\pageno=\contentspagenumber \advance\pageno by 1
+\let\maybe=\iftrue
+\fullpageheight=240mm
+\pageheight=223mm
+\pagewidth=158mm
+\setpage
+\frenchspacing
+
+\noinx
+\nosecs
+\nocon
+
+@* Function and Use.
+This small program will convert Big~5+ or GBK encoded Chinese characters
+into a `preprocessed' form. The need of this program arises from the fact
+that these two encodings use the characters `\.{\\}', `\.{\{}', and `\.{\}}'
+which have special meanings in \TeX.
+
+Use this program as a filter:
+
+\hskip 2em \.{extconv < input\_file > output\_file}
+
+
+@* The program.
+The only function of this program is to replace all occurrences of Big~5+
+and GBK encoded characters \.{XY} (\.{X} and \.{Y} are the first and the
+second byte of the character) with
+\.{\char94 \char94 7fX\char94 \char94 7fZZZ\char94 \char94 7f}, where \.{ZZZ}
+represents the second byte as a decimal number. \.{0x7F} is used as an active
+character and delimiter.
+
+Additionally we define a \TeX\ macro at the very beginning to signal a
+preprocessed file.
+
+The following code is very simple. No error detection is done because \TeX\
+which will see the output of \.{extconv} complains loudly if something is
+wrong.
+
+@d banner
+"extconv (CJK ver. 4.8.4)"
+
+@c
+#include <stdio.h>
+#include <stdlib.h>@#
+
+
+int main(int argc, char *argv[])
+ {int ch;
+
+
+ fprintf(stdout, "\\def\\CJKpreproc{%s}", banner);@#
+
+ ch = fgetc(stdin);@#
+
+ while(!feof(stdin))
+ {if(ch >= 0x81 && ch <= 0xFE)
+ {fprintf(stdout, "\177%c\177", ch);@#
+
+ ch = fgetc(stdin);
+ if(!feof(stdin))
+ fprintf(stdout, "%d\177", ch);
+ }
+ else
+ fputc(ch, stdout);@#
+
+ ch = fgetc(stdin);
+ }
+ exit(EXIT_SUCCESS);
+ return 0; /* never reached */
+ }
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/extconv/gbklatex b/language/chinese/CJK/cjk-4.8.4/utils/extconv/gbklatex
new file mode 100755
index 0000000000..82e706a44f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/extconv/gbklatex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] latex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+extconv < "$tex" > "$aux" && eval latex "$argv" "\$aux"
+
+# EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/extconv/gbklatex.bat b/language/chinese/CJK/cjk-4.8.4/utils/extconv/gbklatex.bat
new file mode 100644
index 0000000000..ccc6c76acd
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/extconv/gbklatex.bat
@@ -0,0 +1,3 @@
+call f_name %1
+extconv < %1 > %fd%%fp%%fn%.cjk
+latex %fd%%fu%%fn%.cjk
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/extconv/gbklatex.cmd b/language/chinese/CJK/cjk-4.8.4/utils/extconv/gbklatex.cmd
new file mode 100644
index 0000000000..9bd1237934
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/extconv/gbklatex.cmd
@@ -0,0 +1,44 @@
+/*----------------------------------------------------------------------*\
+ gbklatex.cmd
+
+ This file is part of the CJK macro package for LaTeX2e ver. 4.8.4
+
+ Copyright (C) 1994-2015 Wonkoo Kim <wkim+@pitt.edu>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program in doc/COPYING; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ MA 02110-1301 USA
+
+ Wonkoo Kim (wkim+@pitt.edu), September 2, 1996
+\*----------------------------------------------------------------------*/
+
+Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
+Call SysLoadFuncs
+
+parse arg file
+
+drive = filespec('drive', file)
+path = filespec('path', file)
+fname = filespec('name', file)
+m = lastpos('.', fname)
+if (m = 0) then m = length(fname) + 1
+cjkfile = drive||path||delstr(fname, m)||'.cjk'
+
+'extconv <' file '>' cjkfile
+
+ucjkfile = translate(cjkfile,'/','\')
+if stream(cjkfile, 'C', 'QUERY EXISTS') \= '' then
+ 'call latex.cmd' ucjkfile
+
+/* End of gbklatex.cmd */
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/extconv/gbkpdflatex b/language/chinese/CJK/cjk-4.8.4/utils/extconv/gbkpdflatex
new file mode 100755
index 0000000000..16377e9dc1
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/extconv/gbkpdflatex
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+n=1
+argv=
+
+# get last argument
+while test 1 -lt $#; do
+ eval argv$n=\$1
+ argv="$argv \"\$argv$n\""
+ n=`expr $n + 1`
+ shift
+done
+
+# replace extension with .cjk or append .cjk if there is no extension
+tex=$1
+case $tex in
+""|*.cjk)
+ echo >&2 "Usage: $0 [options] pdflatex-file"
+ exit 1;;
+*)
+ aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;;
+esac
+
+extconv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux"
+
+# EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/f_name.bat b/language/chinese/CJK/cjk-4.8.4/utils/f_name.bat
new file mode 100644
index 0000000000..70e6e69ce9
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/f_name.bat
@@ -0,0 +1,205 @@
+@echo off
+:4dosCheck
+ if "%@eval[2+2]"=="4" loadbtm on
+:Start
+ if [%1]==[] goto Usage
+ if [%1]==[/?] goto Help
+ if [%2]==[] goto InputCheck
+REM
+REM This file is called F_NAME.BAT per default. Call it whatever you like.
+REM
+REM You need enough free environment space for this batch file.
+REM If there's not enough free space, f_name.bat will give you a warning.
+REM
+REM While f_name.bat tries to test your free environment space, you'll
+REM probably need to check your config.sys for the following line:
+REM
+REM SHELL=C:\DOS\COMMAND.COM C:\DOS\ /E:1024 /p
+REM
+REM The '/E:1024' sets your environment space - it will probably need to
+REM be 1024 or higher (unless you're really economical with env-space).
+REM
+REM If you are not sure about free space, set fp and fn with long dummy
+REM strings in autoexec.bat to get enough free space, eg.:
+REM
+REM set fp=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+REM set fu=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+REM set fn=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+REM set fd=xx
+REM set fe=xxxx
+REM
+REM Using dummy strings is necessary if you're going to execute
+REM f_name.bat from a second command shell, eg. from Norton Commander.
+REM In this case the total length reserved for f_name.bat should be up
+REM to 192 bytes. My suggestion is, let the strings for fp, fu, and fn count
+REM up to 186 bytes (eg. 62 each).
+REM
+REM Some releases of DOS (eg. some beta-releases/pre-releases of DOS 6.0
+REM and some older DOS releases) does not support the batchcommand 'NOT'.
+REM If you're still using such a release you cannot use this batchfile
+REM since it uses this batchcommand.
+REM
+REM Please also note that f_name.bat cannot work properly if filespec is
+REM longer than around 38 (? I don't know the exact length) characters. If
+REM filespec is long, f_name.bat will fail at 'for %%x in ... do if ...'
+REM lines. The result of error is fairly unpredictable as DOS will try to
+REM execute with a truncated batch command line. So, please use the
+REM batch file for short filespecs (< 38??). (On my DOS 6.22 using
+REM strings above 38 chars gives me an endless loop, Claus Futtrup).
+REM
+REM For large batchfiles it is usually an advantage to use a
+REM 'batch-compiler', which will convert the .bat file into a .com or
+REM .exe file. With f_name.bat this could probably speed it up many
+REM times, but it has not been possible to find a batch-compiler, which
+REM will compile this batchfile. The compilers PWR14G.ZIP and
+REM BAT2EX15.ZIP have been tested without success.
+REM
+REM This modified release is more solid when it comes to garbage input, it
+REM is provided with help option, additional documentation and additional
+REM checking for sufficient environment space and now remove the temporary
+REM environment settings (P, Q, R, S, T) at the bottom of the batchfile. The
+REM structure is changed a bit, but the basic still is made by Wonkoo Kim.
+REM
+REM Please do not distribute this file without the above documentation
+REM included in the batch-file. If you change the file please add your
+REM name as a "modifier" as done below + document your changes. We do
+REM not intend to hold a copyright, though. You may use, misuse or abuse
+REM this batchfile as you see fit.
+REM
+REM This file is provided to you on a free basis. The author/modifiers
+REM do not want to be hold responsible to whatever this batchfile is
+REM doing. Use of this batchfile is entirely at your own risk.
+REM
+REM Wonkoo Kim (wkim+@pitt.edu), August 11, 1995
+REM Modified by Claus Futtrup (odie@csek.iprod.auc.dk), August 23. 1995
+REM Modified by Werner Lemberg (wl@gnu.org), Jan. 10. 1996
+REM to run this batch file under 4DOS too (replacing all %%f with %%x
+REM and doubling the speed with the LOADBTM ON command)
+REM Modified by Werner Lemberg (wl@gnu.org), Aug. 31. 1996
+REM to return unix-like paths additionally in the variable %fu%;
+REM the batch file will now parse e.g. \a.b\ correctly as a directory.
+REM
+:Usage
+ echo.
+ echo Usage: %0 filespec
+ echo.
+ echo Returns: fd (drive), fp (path), fu (unix path), fn (name), fe (extension)
+ echo.
+ echo Type %0 /? for additional help
+ echo %0 is made by Wonkoo Kim, modified by C. Futtrup and W. Lemberg.
+ echo.
+ goto END
+:Help
+ cls
+ echo %0 -- extracts the drive, path, name, and ext from file-path-name.
+ echo.
+ echo Return envs: FD (drive), FP (path), FU (unix path), FN (name), FE (ext)
+ echo Temp envs: P, Q, R, S, T
+ echo.
+ echo INPUT FILE fd fp fn fe
+ echo ------------------ --------- --------- --------- ---------
+ echo abc abc
+ echo abc.tex abc .tex
+ echo c:\abc.tex c: \ abc .tex
+ echo c:tmp\abc.tex c: tmp\ abc .tex
+ echo c:\tmp\abc.tex c: \tmp\ abc .tex
+ echo c:tmp\tex\abc.tex c: tmp\tex\ abc .tex
+ echo c:\tmp\tex\abc.tex c: \tmp\tex\ abc .tex
+ echo.
+ echo Please note this file isn't blazing fast + it needs a lot
+ echo of environment space. See comments in %0 for more info.
+ echo.
+ echo Wonkoo Kim (wkim+@pitt.edu), August 11, 1995
+ echo Modified by Claus Futtrup (odie@csek.iprod.auc.dk), August 23. 1995
+ echo Modified by Werner Lemberg (wl@gnu.org), Aug 31. 1996
+ goto END
+:InputCheck
+ for %%x in (%1) do if "%%x"=="%1" goto Okay
+ echo *** ERROR: Please do not use wildcards in input file name.
+ goto END
+:Okay
+ set p=
+ set r=
+ set fp=
+ set fu=
+ set fe=
+ set fn=%1
+ set s=XXXXXXXX%fn%
+ set t=%fn%
+ set s=
+ if [%t%]==[%1] goto GetDrive
+:EnvErr
+ echo *** ERROR: Not enough environment space!
+ echo *** See documentation at top of file '%0'
+ goto END
+:GetDrive
+ for %%x in (/%t%) do set fn=%%x
+ for %%x in (/%t%) do if not [%%x]==[%fn%] set fd=%%x
+ if [%fn%]==[:] goto DriveOnly
+ set t=%fn%
+ for %%x in (/%t%) do set fn=%%x
+ if [:%fn%]==[%t%] goto DriveFound
+ set fd=
+ set fn=%1
+ goto GetPath
+:DriveOnly
+ set fn=
+:DriveFound
+ set fd=%fd%:
+:GetPath
+ set s=%fn%
+:PathLoop
+ set t=%s%
+ for %%x in (/%t%) do set s=%%x
+ set q=
+ for %%x in (/%t%) do if not [%%x]==[%s%] set q=%%x
+ if "\%s%"=="%t%" goto Separator
+ set p=%p%%q%
+ set r=%r%%q%
+ if [%s%]==[%t%] goto PathCheck
+ goto PathLoop
+:Separator
+ set fn=%s%
+ set p=%p%\
+ set r=%r%/
+ set fp=%p%
+ set fu=%r%
+ goto PathLoop
+:PathCheck
+ if [%s%]==[\] goto NoFilename
+ if not [%fn%]==[\] goto GetExt
+ set fp=\
+ set fu=/
+ set fn=
+ goto Done
+:NoFilename
+ set fp=%p%\
+ set fu=%r%/
+ set fn=
+ goto Done
+:GetExt
+ set s=%fn%
+ set fe=%fn%
+ set fn=
+:ExtLoop
+ set t=%fe%
+ for %%x in (/%t%) do set fe=%%x
+ if ".%fe%"=="%t%" goto ExtFound
+ if [%fe%]==[%t%] goto NoExt
+ for %%x in (/%t%) do if not [%%x]==[%fe%] set fn=%fn%%%x
+ goto ExtLoop
+:ExtFound
+ set fe=.%fe%
+ goto Done
+:NoExt
+ if not [%fe%]==[.] set fn=%s%
+ set fe=
+:Done
+ echo DRIVE=%fd% PATH=%fp% UNIX_PATH=%fu% NAME=%fn% EXT=%fe%
+:END
+ set p=
+ set q=
+ set r=
+ set s=
+ set t=
+
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/Makefile.gnu b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/Makefile.gnu
new file mode 100644
index 0000000000..1248c4f508
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/Makefile.gnu
@@ -0,0 +1,127 @@
+# This file is part of the CJK package Version 4.8.4 (18-Apr-2015)
+
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+# GNU Makefile for hbf2gf
+
+.PHONY: default all debug documentation clean \
+ do_all
+
+.CAUTIOUS: hbf2gf.c
+
+default:
+ @echo " say "
+ @echo ". "
+ @echo " make TARGET OS=SYSTEM "
+ @echo ". "
+ @echo " SYSTEM can be one of the following: "
+ @echo ". "
+ @echo " os2 bound (emx) "
+ @echo " dos (djgpp) "
+ @echo ". "
+ @echo " TARGET can be one of the following: "
+ @echo ". "
+ @echo " all debug "
+ @echo " documentation (needs cweave package)"
+ @echo " clean "
+
+ifdef OS
+
+ # default values (bound executables built with emx)
+ FS = msdos
+ CC = gcc -Wall -O -DHAVE_EMTEXDIR
+ LIB =
+ O = .o
+ EXE = .exe
+ RM = del
+
+ ifeq ($(OS),os2)
+ FS = msdos
+ CC = gcc -Wall -Zomf -Zmtd -O -DHAVE_EMTEXDIR
+ LIB = hbf2gf.def
+ O = .obj
+ EXE = .exe
+ RM = del
+ endif
+
+ ifeq ($(OS),dos)
+ FS = msdos
+ CC = gcc -Wall -O -DHAVE_EMTEXDIR
+ LIB =
+ O = .o
+ EXE = .exe
+ RM = del
+ endif
+
+
+ %$O: %.c
+ $(CC) $(CFLAGS) -c -D$(FS) -o $@ $<
+
+ %.c: %.w %.ch
+ $(CTANGLE) $^ $@
+ %.c: %.w
+ $(CTANGLE) $<
+
+ %.tex: %.w %.ch
+ $(CWEAVE) +ai $^ $@
+ %.tex: %.w
+ $(CWEAVE) +ai $<
+
+ %.dvi: %.tex
+ $(TEX) $*
+
+
+ all:
+ $(MAKE) -f Makefile.gnu do_all CFLAGS=-s
+
+ debug:
+ $(MAKE) -f Makefile.gnu do_all CFLAGS=-g
+
+ # this builds the .dvi-file
+ documentation: hbf2gf.dvi
+
+ # remove the unnecessary files;
+ clean:
+ -$(RM) *.scn
+ -$(RM) *.toc
+ -$(RM) *.idx
+ -$(RM) *.log
+ -$(RM) *.o
+
+
+ do_all: hbf2gf$(EXE)
+
+ hbf2gf$(EXE): hbf2gf$O hbf$O emdir$O emtexdir$O
+ ifeq ($(OS),dos)
+ $(CC) $(CFLAGS) -o $(basename $@) $^
+ strip $(basename $@)
+ coff2exe $(basename $@)
+ -del $(basename $@)
+ else
+ $(CC) $(CFLAGS) -o $@ $^ $(LIB)
+ endif
+
+ hbf$O: hbf.c hbf.h
+ emdir$O: emdir.c emdir.h
+ emtexdir$O: emtexdir.c emtexdir.h emdir.h
+
+else # ifdef OS
+
+ all debug documentation clean: default
+
+endif
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/Makefile.in b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/Makefile.in
new file mode 100644
index 0000000000..937d5d6f81
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/Makefile.in
@@ -0,0 +1,127 @@
+# Makefile for hbf2gf -- wl@gnu.org
+
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+VPATH = @srcdir@
+srcdir = @srcdir@
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+libdir = @libdir@
+bindir = @bindir@
+mandir = @mandir@
+
+RM = @RM@
+RMF = @RM@ -f
+
+TEX = tex
+CTANGLE = ctangle
+CWEAVE = cweave
+
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+
+CC = @CC@
+CPP = @CPP@
+
+MKINSTALLDIRS = $(srcdir)/mkinstalldirs
+
+CFLAGS = @CFLAGS@
+CPPFLAGS = @CPPFLAGS@ @DEFS@ @no_strdup@ -Dunix
+MY_CFLAGS = $(CFLAGS) $(CPPFLAGS) @XX_CFLAGS@
+LDFLAGS = @LDFLAGS@ @LIBS@
+
+SRC = hbf2gf.c $(srcdir)/hbf.c
+OBJ = hbf2gf.o hbf.o
+
+
+.SUFFIXES: .dvi .tex .w
+
+
+.w.c:
+ $(CTANGLE) $<
+.c.o:
+ $(CC) -c $(MY_CFLAGS) $<
+
+.w.tex:
+ $(CWEAVE) +ai $<
+
+.tex.dvi:
+ $(TEX) $<
+
+
+
+PROGRAMS = hbf2gf
+
+default all: $(PROGRAMS)
+
+hbf2gf.c: $(srcdir)/hbf2gf.w
+
+hbf2gf: $(OBJ)
+ $(CC) $(MY_CFLAGS) -o hbf2gf $(OBJ) $(LDFLAGS)
+
+documentation: hbf2gf.dvi
+
+install: $(PROGRAMS)
+ $(MKINSTALLDIRS) $(bindir) $(mandir)/man1
+ for P in $(PROGRAMS) ; do \
+ $(INSTALL_PROGRAM) $$P $(bindir)/$$P ; \
+ $(INSTALL_DATA) $(srcdir)/$$P.1 $(mandir)/man1 ; \
+ done
+
+uninstall:
+ -for P in $(PROGRAMS) ; do \
+ $(RMF) $(bindir)/$$P ; \
+ $(RMF) $(mandir)/man1/$$P.1 ; \
+ done
+
+clean: do_clean
+
+distclean: do_clean
+ -$(RMF) dep.end $(PROGRAMS) *.dvi
+ -$(RMF) *~ *.orig core *.core
+ -$(RMF) config.cache config.log config.status Makefile
+
+do_clean:
+ -$(RMF) *.o
+ -$(RMF) *.scn *.toc *.idx *.log
+
+maintainer-clean: distclean
+ -$(RMF) hbf2gf.c
+
+depend: $(SRC)
+ (echo '/^#.* PUT NO STUFF BELOW/,$$d'; echo w; echo q) | \
+ ed - Makefile
+ echo '# Dependencies generated by make depend: PUT NO STUFF BELOW' \
+ >> Makefile
+ for file in $(SRC) ; do \
+ $(CPP) $(CPPFLAGS) $$file | \
+ sed -n -e 's|^# [1-9][0-9]* "\([^/].*\.h\)".*|\1|p' \
+ -e 's|^# [1-9][0-9]* "\($(srcdir)/.*\.h\)".*|\1|p' | \
+ sed -e 's|/\./|.|g' -e "s/^/`basename $$file .c`.o: /" ; \
+ done | \
+ sort -u | \
+ awk '{ if (LINE == 1) \
+ { line = last = $$1 } \
+ else if ($$1 != last) \
+ { print line ; line = last = $$1 } \
+ line = line " " $$2 } \
+ END { print line }' >> Makefile
+
+# Dependencies generated by make depend: PUT NO STUFF BELOW
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/README b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/README
new file mode 100644
index 0000000000..a7de0ec140
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/README
@@ -0,0 +1,2 @@
+Additional installation documentation can be found in the files `INSTALL'
+(in the top directory) and `doc/hbf2gf.txt'.
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/c-auto.h b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/c-auto.h
new file mode 100644
index 0000000000..0bdbc5f782
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/c-auto.h
@@ -0,0 +1,39 @@
+/*
+ * c-auto.h
+ *
+ * This file is part of the CJK package ver 4.8.4 18-Apr-2015
+ *
+ */
+
+/*
+ Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program in doc/COPYING; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ MA 02110-1301 USA
+ */
+
+#ifndef C_AUTO_H
+#define C_AUTO_H
+
+/*
+ * We need to get kpathsea's configuration file.
+ */
+
+#include "kpathsea/c-auto.h"
+
+#endif /* C_AUTO_H */
+
+
+/* end */
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/README b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/README
new file mode 100644
index 0000000000..689d59e739
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/README
@@ -0,0 +1,10 @@
+In this directory you find some hbf2gf configuration files for common CJK
+bitmap fonts.
+
+No paths are specified for the HBF files -- under web2c you should add the
+path for these fonts to the `MISCFONTS' variable in texmf.cnf; under emTeX
+you should set the environment variable `HBFONTS'.
+
+The font paths used here in the config files of this directory are TDS
+compliant; only the `HBF_TARGET' environment variable is used (an example
+would be `set HBF_TARGET=/usr/local/TeX/texmf/fonts').
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/b5ka12.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/b5ka12.cfg
new file mode 100644
index 0000000000..f5c142f023
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/b5ka12.cfg
@@ -0,0 +1,28 @@
+
+hbf_header ntukai48.hbf
+mag_x 1
+threshold 128
+comment Big 5 normal 48x48 pixel font scaled and adapted to 12pt
+
+design_size 12
+
+x_offset 2
+y_offset -12
+
+nmb_files -1
+
+output_name b5ka12
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme Big 5 encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/ntu/b5ka12/
+tfm_directory $HBF_TARGET/tfm/ntu/b5ka12/
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/b5kr12.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/b5kr12.cfg
new file mode 100644
index 0000000000..9d9da2c1a2
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/b5kr12.cfg
@@ -0,0 +1,30 @@
+
+hbf_header ntukai48.hbf
+mag_x 1
+threshold 128
+comment Big 5 normal 48x48 pixel font rotated, scaled and adapted to 12pt
+
+design_size 12
+
+x_offset 2
+y_offset -10
+
+rotation yes
+
+nmb_files -1
+
+output_name b5kr12
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme Big 5 encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/ntu/b5kr12/
+tfm_directory $HBF_TARGET/tfm/ntu/b5kr12/
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/b5so12.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/b5so12.cfg
new file mode 100644
index 0000000000..dc0bcd9fbf
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/b5so12.cfg
@@ -0,0 +1,31 @@
+
+hbf_header et24.hbf
+mag_x 2.076
+threshold 128
+comment fanti songti 24x24 pixel font magnified and adapted for 12pt
+
+design_size 12.0
+
+x_offset 3
+y_offset -8
+
+nmb_files -1
+
+output_name b5so12
+
+checksum 123456789
+
+dpi_x 300
+
+tfm_files yes
+pk_files no
+
+coding codingscheme Big 5 encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/eten/b5so12/
+tfm_directory $HBF_TARGET/tfm/eten/b5so12/
+
+ rm_command del
+ cp_command copy
+ long_extension no
+ job_extension .cmd
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c1so12.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c1so12.cfg
new file mode 100644
index 0000000000..de5b32b3ef
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c1so12.cfg
@@ -0,0 +1,28 @@
+
+hbf_header cns40-1.hbf
+mag_x 1
+threshold 128
+comment CNS plane 1 song 40x40 pixel font scaled and adapted to 12pt
+
+design_size 12.0
+
+x_offset 2
+y_offset -8
+
+nmb_files -1
+
+output_name c1so12
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme CNS plane 1 encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/cns/c1so12/
+tfm_directory $HBF_TARGET/tfm/cns/c1so12/
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c2so12.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c2so12.cfg
new file mode 100644
index 0000000000..969af8fae1
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c2so12.cfg
@@ -0,0 +1,28 @@
+
+hbf_header cns40-2.hbf
+mag_x 1
+threshold 128
+comment CNS plane 2 song 40x40 pixel font scaled and adapted to 12pt
+
+design_size 12.0
+
+x_offset 2
+y_offset -8
+
+nmb_files -1
+
+output_name c2so12
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme CNS plane 2 encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/cns/c2so12/
+tfm_directory $HBF_TARGET/tfm/cns/c2so12/
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c3so12.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c3so12.cfg
new file mode 100644
index 0000000000..0e65768ee5
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c3so12.cfg
@@ -0,0 +1,28 @@
+
+hbf_header cns40-3.hbf
+mag_x 1
+threshold 128
+comment CNS plane 3 song 40x40 pixel font scaled and adapted to 12pt
+
+design_size 12.0
+
+x_offset 2
+y_offset -8
+
+nmb_files -1
+
+output_name c3so12
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme CNS plane 3 encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/cns/c3so12/
+tfm_directory $HBF_TARGET/tfm/cns/c3so12/
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c4so12.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c4so12.cfg
new file mode 100644
index 0000000000..8ea3a8b270
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c4so12.cfg
@@ -0,0 +1,28 @@
+
+hbf_header cns40-4.hbf
+mag_x 1
+threshold 128
+comment CNS plane 4 song 40x40 pixel font scaled and adapted to 12pt
+
+design_size 12.0
+
+x_offset 2
+y_offset -8
+
+nmb_files -1
+
+output_name c4so12
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme CNS plane 4 encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/cns/c4so12/
+tfm_directory $HBF_TARGET/tfm/cns/c4so12/
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c5so12.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c5so12.cfg
new file mode 100644
index 0000000000..1b81c90a0d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c5so12.cfg
@@ -0,0 +1,28 @@
+
+hbf_header cns40-5.hbf
+mag_x 1
+threshold 128
+comment CNS plane 5 song 40x40 pixel font scaled and adapted to 12pt
+
+design_size 12.0
+
+x_offset 2
+y_offset -8
+
+nmb_files -1
+
+output_name c5so12
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme CNS plane 5 encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/cns/c5so12/
+tfm_directory $HBF_TARGET/tfm/cns/c5so12/
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c6so12.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c6so12.cfg
new file mode 100644
index 0000000000..5b9c912ce5
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c6so12.cfg
@@ -0,0 +1,28 @@
+
+hbf_header cns40-6.hbf
+mag_x 1
+threshold 128
+comment CNS plane 6 song 40x40 pixel font scaled and adapted to 12pt
+
+design_size 12.0
+
+x_offset 2
+y_offset -8
+
+nmb_files -1
+
+output_name c6so12
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme CNS plane 6 encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/cns/c6so12/
+tfm_directory $HBF_TARGET/tfm/cns/c6so12/
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c7so12.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c7so12.cfg
new file mode 100644
index 0000000000..051b260142
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c7so12.cfg
@@ -0,0 +1,28 @@
+
+hbf_header cns40-7.hbf
+mag_x 1
+threshold 128
+comment CNS plane 7 song 40x40 pixel font scaled and adapted to 12pt
+
+design_size 12.0
+
+x_offset 2
+y_offset -8
+
+nmb_files -1
+
+output_name c7so12
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme CNS plane 7 encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/cns/c7so12/
+tfm_directory $HBF_TARGET/tfm/cns/c7so12/
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/csso12.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/csso12.cfg
new file mode 100644
index 0000000000..9ad91b0c57
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/csso12.cfg
@@ -0,0 +1,28 @@
+
+hbf_header cns40-b5.hbf
+mag_x 1
+threshold 128
+comment CNS song 40x40 pixel font (Bg5 encoded) scaled and adapted to 12pt
+
+design_size 12.0
+
+x_offset 2
+y_offset -8
+
+nmb_files -1
+
+output_name csso12
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme Big 5 encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/cns/csso12/
+tfm_directory $HBF_TARGET/tfm/cns/csso12/
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/gsfs14.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/gsfs14.cfg
new file mode 100644
index 0000000000..4b397aca46
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/gsfs14.cfg
@@ -0,0 +1,27 @@
+
+hbf_header jfs56.hbf
+mag_x 1
+threshold 128
+comment jianti fansongti 56x56 pixel font scaled and adapted to 14.4pt
+
+design_size 14.4
+
+y_offset -13
+
+nmb_files -1
+
+output_name gsfs14
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme GuoBiao encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/ccdos/gsfs14/
+tfm_directory $HBF_TARGET/tfm/ccdos/gsfs14/
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/j2so12.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/j2so12.cfg
new file mode 100644
index 0000000000..7e0d70b5c0
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/j2so12.cfg
@@ -0,0 +1,30 @@
+
+hbf_header jisksp40.hbf
+mag_x 1.0
+threshold 128
+comment supplemental kanji normal 40x40 pixel font scaled and adapted to 12pt
+
+design_size 12
+
+min_char 0x2121
+
+x_offset 2
+y_offset -7
+
+nmb_files -1
+
+output_name j2so12
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme JIS2 encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/jisx0212/j2so12/
+tfm_directory $HBF_TARGET/tfm/jisx0212/j2so12/
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/jsso12.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/jsso12.cfg
new file mode 100644
index 0000000000..9bdfc7b1e8
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/jsso12.cfg
@@ -0,0 +1,28 @@
+
+hbf_header kanji48.hbf
+mag_x 0.83
+threshold 128
+comment kanji normal 48x48 pixel font scaled and adapted to 12pt
+
+design_size 12
+
+x_offset 2
+y_offset -7
+
+nmb_files -1
+
+output_name jsso12
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme JIS encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/jisx0208/jsso12/
+tfm_directory $HBF_TARGET/tfm/jisx0208/jsso12/
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/ksso17.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/ksso17.cfg
new file mode 100644
index 0000000000..c82f7e7eee
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/ksso17.cfg
@@ -0,0 +1,27 @@
+
+hbf_header hanja65.hbf
+mag_x 1
+threshold 128
+comment hanja normal 65x65 pixel font scaled and adapted to 17.28pt
+
+design_size 17.28
+
+y_offset -16
+
+nmb_files -1
+
+output_name ksso17
+
+checksum 123456789
+
+dpi_x 300
+
+pk_files no
+tfm_files yes
+
+ long_extension no
+
+coding codingscheme KS encoded TeX text
+
+pk_directory $HBF_TARGET/pk/modeless/ksc5601/ksso17/
+tfm_directory $HBF_TARGET/tfm/ksc5601/ksso17/
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/config.guess b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/config.guess
new file mode 100755
index 0000000000..f7eb141e75
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/config.guess
@@ -0,0 +1,1438 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+# Copyright 1992-2015 Free Software Foundation, Inc.
+
+timestamp='2015-03-04'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
+#
+# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
+#
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+#
+# Please send patches to <config-patches@gnu.org>.
+
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright 1992-2015 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help" >&2
+ exit 1 ;;
+ * )
+ break ;;
+ esac
+done
+
+if test $# != 0; then
+ echo "$me: too many arguments$help" >&2
+ exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,) echo "int x;" > $dummy.c ;
+ for c in cc gcc c89 c99 ; do
+ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+ CC_FOR_BUILD="$c"; break ;
+ fi ;
+ done ;
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found ;
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+ PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+case "${UNAME_SYSTEM}" in
+Linux|GNU|GNU/*)
+ # If the system lacks a compiler, then just pick glibc.
+ # We could probably try harder.
+ LIBC=gnu
+
+ eval $set_cc_for_build
+ cat <<-EOF > $dummy.c
+ #include <features.h>
+ #if defined(__UCLIBC__)
+ LIBC=uclibc
+ #elif defined(__dietlibc__)
+ LIBC=dietlibc
+ #else
+ LIBC=gnu
+ #endif
+ EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+ ;;
+esac
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ *:NetBSD:*:*)
+ # NetBSD (nbsd) targets should (where applicable) match one or
+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
+ # switched to ELF, *-*-netbsd* would select the old
+ # object file format. This provides both forward
+ # compatibility and a consistent mechanism for selecting the
+ # object file format.
+ #
+ # Note: NetBSD doesn't particularly care about the vendor
+ # portion of the name. We always set it to "unknown".
+ sysctl="sysctl -n hw.machine_arch"
+ UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
+ /sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || \
+ echo unknown)`
+ case "${UNAME_MACHINE_ARCH}" in
+ armeb) machine=armeb-unknown ;;
+ arm*) machine=arm-unknown ;;
+ sh3el) machine=shl-unknown ;;
+ sh3eb) machine=sh-unknown ;;
+ sh5el) machine=sh5le-unknown ;;
+ earmv*)
+ arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+ endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
+ machine=${arch}${endian}-unknown
+ ;;
+ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+ esac
+ # The Operating System including object format, if it has switched
+ # to ELF recently, or will in the future.
+ case "${UNAME_MACHINE_ARCH}" in
+ arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ eval $set_cc_for_build
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ELF__
+ then
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+ # Return netbsd for either. FIX?
+ os=netbsd
+ else
+ os=netbsdelf
+ fi
+ ;;
+ *)
+ os=netbsd
+ ;;
+ esac
+ # Determine ABI tags.
+ case "${UNAME_MACHINE_ARCH}" in
+ earm*)
+ expr='s/^earmv[0-9]/-eabi/;s/eb$//'
+ abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+ ;;
+ esac
+ # The OS release
+ # Debian GNU/NetBSD machines have a different userland, and
+ # thus, need a distinct triplet. However, they do not need
+ # kernel version information, so it can be replaced with a
+ # suitable tag, in the style of linux-gnu.
+ case "${UNAME_VERSION}" in
+ Debian*)
+ release='-gnu'
+ ;;
+ *)
+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ ;;
+ esac
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+ # contains redundant information, the shorter form:
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "${machine}-${os}${release}${abi}"
+ exit ;;
+ *:Bitrig:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+ exit ;;
+ *:OpenBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+ exit ;;
+ *:ekkoBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+ exit ;;
+ *:SolidBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+ exit ;;
+ macppc:MirBSD:*:*)
+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ *:MirBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ alpha:OSF1:*:*)
+ case $UNAME_RELEASE in
+ *4.0)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+ ;;
+ *5.*)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ ;;
+ esac
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
+ # covers most systems running today. This code pipes the CPU
+ # types through head -n 1, so we only detect the type of CPU 0.
+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+ case "$ALPHA_CPU_TYPE" in
+ "EV4 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "EV4.5 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "LCA4 (21066/21068)")
+ UNAME_MACHINE="alpha" ;;
+ "EV5 (21164)")
+ UNAME_MACHINE="alphaev5" ;;
+ "EV5.6 (21164A)")
+ UNAME_MACHINE="alphaev56" ;;
+ "EV5.6 (21164PC)")
+ UNAME_MACHINE="alphapca56" ;;
+ "EV5.7 (21164PC)")
+ UNAME_MACHINE="alphapca57" ;;
+ "EV6 (21264)")
+ UNAME_MACHINE="alphaev6" ;;
+ "EV6.7 (21264A)")
+ UNAME_MACHINE="alphaev67" ;;
+ "EV6.8CB (21264C)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8AL (21264B)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8CX (21264D)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.9A (21264/EV69A)")
+ UNAME_MACHINE="alphaev69" ;;
+ "EV7 (21364)")
+ UNAME_MACHINE="alphaev7" ;;
+ "EV7.9 (21364A)")
+ UNAME_MACHINE="alphaev79" ;;
+ esac
+ # A Pn.n version is a patched version.
+ # A Vn.n version is a released version.
+ # A Tn.n version is a released field test version.
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+ exitcode=$?
+ trap '' 0
+ exit $exitcode ;;
+ Alpha\ *:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # Should we change UNAME_MACHINE based on the output of uname instead
+ # of the specific Alpha model?
+ echo alpha-pc-interix
+ exit ;;
+ 21064:Windows_NT:50:3)
+ echo alpha-dec-winnt3.5
+ exit ;;
+ Amiga*:UNIX_System_V:4.0:*)
+ echo m68k-unknown-sysv4
+ exit ;;
+ *:[Aa]miga[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-amigaos
+ exit ;;
+ *:[Mm]orph[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-morphos
+ exit ;;
+ *:OS/390:*:*)
+ echo i370-ibm-openedition
+ exit ;;
+ *:z/VM:*:*)
+ echo s390-ibm-zvmoe
+ exit ;;
+ *:OS400:*:*)
+ echo powerpc-ibm-os400
+ exit ;;
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix${UNAME_RELEASE}
+ exit ;;
+ arm*:riscos:*:*|arm*:RISCOS:*:*)
+ echo arm-unknown-riscos
+ exit ;;
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+ echo hppa1.1-hitachi-hiuxmpp
+ exit ;;
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
+ echo pyramid-pyramid-sysv3
+ else
+ echo pyramid-pyramid-bsd
+ fi
+ exit ;;
+ NILE*:*:*:dcosx)
+ echo pyramid-pyramid-svr4
+ exit ;;
+ DRS?6000:unix:4.0:6*)
+ echo sparc-icl-nx6
+ exit ;;
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+ case `/usr/bin/uname -p` in
+ sparc) echo sparc-icl-nx7; exit ;;
+ esac ;;
+ s390x:SunOS:*:*)
+ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4H:SunOS:5.*:*)
+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+ echo i386-pc-auroraux${UNAME_RELEASE}
+ exit ;;
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+ eval $set_cc_for_build
+ SUN_ARCH="i386"
+ # If there is a compiler, see if it is configured for 64-bit objects.
+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+ # This test works for both compilers.
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ SUN_ARCH="x86_64"
+ fi
+ fi
+ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:6*:*)
+ # According to config.sub, this is the proper way to canonicalize
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
+ # it's likely to be more like Solaris than SunOS4.
+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:*:*)
+ case "`/usr/bin/arch -k`" in
+ Series*|S4*)
+ UNAME_RELEASE=`uname -v`
+ ;;
+ esac
+ # Japanese Language versions have a version number like `4.1.3-JL'.
+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+ exit ;;
+ sun3*:SunOS:*:*)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ exit ;;
+ sun*:*:4.2BSD:*)
+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+ case "`/bin/arch`" in
+ sun3)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ ;;
+ sun4)
+ echo sparc-sun-sunos${UNAME_RELEASE}
+ ;;
+ esac
+ exit ;;
+ aushp:SunOS:*:*)
+ echo sparc-auspex-sunos${UNAME_RELEASE}
+ exit ;;
+ # The situation for MiNT is a little confusing. The machine name
+ # can be virtually everything (everything which is not
+ # "atarist" or "atariste" at least should have a processor
+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
+ # to the lowercase version "mint" (or "freemint"). Finally
+ # the system name "TOS" denotes a system which is actually not
+ # MiNT. But MiNT is downward compatible to TOS, so this should
+ # be no problem.
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+ echo m68k-milan-mint${UNAME_RELEASE}
+ exit ;;
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+ echo m68k-hades-mint${UNAME_RELEASE}
+ exit ;;
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit ;;
+ m68k:machten:*:*)
+ echo m68k-apple-machten${UNAME_RELEASE}
+ exit ;;
+ powerpc:machten:*:*)
+ echo powerpc-apple-machten${UNAME_RELEASE}
+ exit ;;
+ RISC*:Mach:*:*)
+ echo mips-dec-mach_bsd4.3
+ exit ;;
+ RISC*:ULTRIX:*:*)
+ echo mips-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ VAX*:ULTRIX*:*:*)
+ echo vax-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
+ echo clipper-intergraph-clix${UNAME_RELEASE}
+ exit ;;
+ mips:*:*:UMIPS | mips:*:*:RISCos)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h> /* for printf() prototype */
+ int main (int argc, char *argv[]) {
+#else
+ int main (argc, argv) int argc; char *argv[]; {
+#endif
+ #if defined (host_mips) && defined (MIPSEB)
+ #if defined (SYSTYPE_SYSV)
+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_SVR4)
+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+ #endif
+ #endif
+ exit (-1);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c &&
+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`$dummy $dummyarg` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo mips-mips-riscos${UNAME_RELEASE}
+ exit ;;
+ Motorola:PowerMAX_OS:*:*)
+ echo powerpc-motorola-powermax
+ exit ;;
+ Motorola:*:4.3:PL8-*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:Power_UNIX:*:*)
+ echo powerpc-harris-powerunix
+ exit ;;
+ m88k:CX/UX:7*:*)
+ echo m88k-harris-cxux7
+ exit ;;
+ m88k:*:4*:R4*)
+ echo m88k-motorola-sysv4
+ exit ;;
+ m88k:*:3*:R3*)
+ echo m88k-motorola-sysv3
+ exit ;;
+ AViiON:dgux:*:*)
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ then
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+ [ ${TARGET_BINARY_INTERFACE}x = x ]
+ then
+ echo m88k-dg-dgux${UNAME_RELEASE}
+ else
+ echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ fi
+ else
+ echo i586-dg-dgux${UNAME_RELEASE}
+ fi
+ exit ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+ exit ;;
+ M88*:*:R3*:*)
+ # Delta 88k system running SVR3
+ echo m88k-motorola-sysv3
+ exit ;;
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+ echo m88k-tektronix-sysv3
+ exit ;;
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+ echo m68k-tektronix-bsd
+ exit ;;
+ *:IRIX*:*:*)
+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+ exit ;;
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ i*86:AIX:*:*)
+ echo i386-ibm-aix
+ exit ;;
+ ia64:AIX:*:*)
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:2:3)
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <sys/systemcfg.h>
+
+ main()
+ {
+ if (!__power_pc())
+ exit(1);
+ puts("powerpc-ibm-aix3.2.5");
+ exit(0);
+ }
+EOF
+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+ then
+ echo "$SYSTEM_NAME"
+ else
+ echo rs6000-ibm-aix3.2.5
+ fi
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+ echo rs6000-ibm-aix3.2.4
+ else
+ echo rs6000-ibm-aix3.2
+ fi
+ exit ;;
+ *:AIX:*:[4567])
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ IBM_ARCH=rs6000
+ else
+ IBM_ARCH=powerpc
+ fi
+ if [ -x /usr/bin/lslpp ] ; then
+ IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
+ awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:*:*)
+ echo rs6000-ibm-aix
+ exit ;;
+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+ echo romp-ibm-bsd4.4
+ exit ;;
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
+ exit ;; # report: romp-ibm BSD 4.3
+ *:BOSX:*:*)
+ echo rs6000-bull-bosx
+ exit ;;
+ DPX/2?00:B.O.S.:*:*)
+ echo m68k-bull-sysv3
+ exit ;;
+ 9000/[34]??:4.3bsd:1.*:*)
+ echo m68k-hp-bsd
+ exit ;;
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+ echo m68k-hp-bsd4.4
+ exit ;;
+ 9000/[34678]??:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ case "${UNAME_MACHINE}" in
+ 9000/31? ) HP_ARCH=m68000 ;;
+ 9000/[34]?? ) HP_ARCH=m68k ;;
+ 9000/[678][0-9][0-9])
+ if [ -x /usr/bin/getconf ]; then
+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case "${sc_cpu_version}" in
+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 532) # CPU_PA_RISC2_0
+ case "${sc_kernel_bits}" in
+ 32) HP_ARCH="hppa2.0n" ;;
+ 64) HP_ARCH="hppa2.0w" ;;
+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+ esac ;;
+ esac
+ fi
+ if [ "${HP_ARCH}" = "" ]; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+
+ #define _HPUX_SOURCE
+ #include <stdlib.h>
+ #include <unistd.h>
+
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
+
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
+EOF
+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ test -z "$HP_ARCH" && HP_ARCH=hppa
+ fi ;;
+ esac
+ if [ ${HP_ARCH} = "hppa2.0w" ]
+ then
+ eval $set_cc_for_build
+
+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
+ # generating 64-bit code. GNU and HP use different nomenclature:
+ #
+ # $ CC_FOR_BUILD=cc ./config.guess
+ # => hppa2.0w-hp-hpux11.23
+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+ # => hppa64-hp-hpux11.23
+
+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+ grep -q __LP64__
+ then
+ HP_ARCH="hppa2.0w"
+ else
+ HP_ARCH="hppa64"
+ fi
+ fi
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+ exit ;;
+ ia64:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ echo ia64-hp-hpux${HPUX_REV}
+ exit ;;
+ 3050*:HI-UX:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <unistd.h>
+ int
+ main ()
+ {
+ long cpu = sysconf (_SC_CPU_VERSION);
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
+ results, however. */
+ if (CPU_IS_PA_RISC (cpu))
+ {
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+ default: puts ("hppa-hitachi-hiuxwe2"); break;
+ }
+ }
+ else if (CPU_IS_HP_MC68K (cpu))
+ puts ("m68k-hitachi-hiuxwe2");
+ else puts ("unknown-hitachi-hiuxwe2");
+ exit (0);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo unknown-hitachi-hiuxwe2
+ exit ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+ echo hppa1.1-hp-bsd
+ exit ;;
+ 9000/8??:4.3bsd:*:*)
+ echo hppa1.0-hp-bsd
+ exit ;;
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+ echo hppa1.0-hp-mpeix
+ exit ;;
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+ echo hppa1.1-hp-osf
+ exit ;;
+ hp8??:OSF1:*:*)
+ echo hppa1.0-hp-osf
+ exit ;;
+ i*86:OSF1:*:*)
+ if [ -x /usr/sbin/sysversion ] ; then
+ echo ${UNAME_MACHINE}-unknown-osf1mk
+ else
+ echo ${UNAME_MACHINE}-unknown-osf1
+ fi
+ exit ;;
+ parisc*:Lites*:*:*)
+ echo hppa1.1-hp-lites
+ exit ;;
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ echo c1-convex-bsd
+ exit ;;
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ echo c34-convex-bsd
+ exit ;;
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ echo c38-convex-bsd
+ exit ;;
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ echo c4-convex-bsd
+ exit ;;
+ CRAY*Y-MP:*:*:*)
+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*[A-Z]90:*:*:*)
+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+ -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*TS:*:*:*)
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*T3E:*:*:*)
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*SV1:*:*:*)
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ *:UNICOS/mp:*:*)
+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ 5000:UNIX_System_V:4.*:*)
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+ exit ;;
+ sparc*:BSD/OS:*:*)
+ echo sparc-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:FreeBSD:*:*)
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ case ${UNAME_PROCESSOR} in
+ amd64)
+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ *)
+ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ esac
+ exit ;;
+ i*:CYGWIN*:*)
+ echo ${UNAME_MACHINE}-pc-cygwin
+ exit ;;
+ *:MINGW64*:*)
+ echo ${UNAME_MACHINE}-pc-mingw64
+ exit ;;
+ *:MINGW*:*)
+ echo ${UNAME_MACHINE}-pc-mingw32
+ exit ;;
+ *:MSYS*:*)
+ echo ${UNAME_MACHINE}-pc-msys
+ exit ;;
+ i*:windows32*:*)
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
+ exit ;;
+ i*:PW*:*)
+ echo ${UNAME_MACHINE}-pc-pw32
+ exit ;;
+ *:Interix*:*)
+ case ${UNAME_MACHINE} in
+ x86)
+ echo i586-pc-interix${UNAME_RELEASE}
+ exit ;;
+ authenticamd | genuineintel | EM64T)
+ echo x86_64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ IA64)
+ echo ia64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ esac ;;
+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+ echo i${UNAME_MACHINE}-pc-mks
+ exit ;;
+ 8664:Windows_NT:*)
+ echo x86_64-pc-mks
+ exit ;;
+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+ # UNAME_MACHINE based on the output of uname instead of i386?
+ echo i586-pc-interix
+ exit ;;
+ i*:UWIN*:*)
+ echo ${UNAME_MACHINE}-pc-uwin
+ exit ;;
+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+ echo x86_64-unknown-cygwin
+ exit ;;
+ p*:CYGWIN*:*)
+ echo powerpcle-unknown-cygwin
+ exit ;;
+ prep*:SunOS:5.*:*)
+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ *:GNU:*:*)
+ # the GNU system
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ exit ;;
+ *:GNU/*:*:*)
+ # other systems with GNU libc and userland
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+ exit ;;
+ i*86:Minix:*:*)
+ echo ${UNAME_MACHINE}-pc-minix
+ exit ;;
+ aarch64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ aarch64_be:Linux:*:*)
+ UNAME_MACHINE=aarch64_be
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ EV5) UNAME_MACHINE=alphaev5 ;;
+ EV56) UNAME_MACHINE=alphaev56 ;;
+ PCA56) UNAME_MACHINE=alphapca56 ;;
+ PCA57) UNAME_MACHINE=alphapca56 ;;
+ EV6) UNAME_MACHINE=alphaev6 ;;
+ EV67) UNAME_MACHINE=alphaev67 ;;
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep -q ld.so.1
+ if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ arc:Linux:*:* | arceb:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ arm*:Linux:*:*)
+ eval $set_cc_for_build
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_EABI__
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ else
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_PCS_VFP
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
+ else
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
+ fi
+ fi
+ exit ;;
+ avr32*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ cris:Linux:*:*)
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+ exit ;;
+ crisv32:Linux:*:*)
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+ exit ;;
+ e2k:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ frv:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ hexagon:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ i*86:Linux:*:*)
+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+ exit ;;
+ ia64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ m32r*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ m68*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ mips:Linux:*:* | mips64:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+ #undef ${UNAME_MACHINE}
+ #undef ${UNAME_MACHINE}el
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+ CPU=${UNAME_MACHINE}el
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+ CPU=${UNAME_MACHINE}
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
+ ;;
+ openrisc*:Linux:*:*)
+ echo or1k-unknown-linux-${LIBC}
+ exit ;;
+ or32:Linux:*:* | or1k*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ padre:Linux:*:*)
+ echo sparc-unknown-linux-${LIBC}
+ exit ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+ echo hppa64-unknown-linux-${LIBC}
+ exit ;;
+ parisc:Linux:*:* | hppa:Linux:*:*)
+ # Look for CPU level
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+ PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+ PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+ *) echo hppa-unknown-linux-${LIBC} ;;
+ esac
+ exit ;;
+ ppc64:Linux:*:*)
+ echo powerpc64-unknown-linux-${LIBC}
+ exit ;;
+ ppc:Linux:*:*)
+ echo powerpc-unknown-linux-${LIBC}
+ exit ;;
+ ppc64le:Linux:*:*)
+ echo powerpc64le-unknown-linux-${LIBC}
+ exit ;;
+ ppcle:Linux:*:*)
+ echo powerpcle-unknown-linux-${LIBC}
+ exit ;;
+ s390:Linux:*:* | s390x:Linux:*:*)
+ echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
+ exit ;;
+ sh64*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ sh*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ sparc:Linux:*:* | sparc64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ tile*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ vax:Linux:*:*)
+ echo ${UNAME_MACHINE}-dec-linux-${LIBC}
+ exit ;;
+ x86_64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ xtensa*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ i*86:DYNIX/ptx:4*:*)
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+ # earlier versions are messed up and put the nodename in both
+ # sysname and nodename.
+ echo i386-sequent-sysv4
+ exit ;;
+ i*86:UNIX_SV:4.2MP:2.*)
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+ # I am not positive that other SVR4 systems won't match this,
+ # I just have to hope. -- rms.
+ # Use sysv4.2uw... so that sysv4* matches it.
+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+ exit ;;
+ i*86:OS/2:*:*)
+ # If we were able to find `uname', then EMX Unix compatibility
+ # is probably installed.
+ echo ${UNAME_MACHINE}-pc-os2-emx
+ exit ;;
+ i*86:XTS-300:*:STOP)
+ echo ${UNAME_MACHINE}-unknown-stop
+ exit ;;
+ i*86:atheos:*:*)
+ echo ${UNAME_MACHINE}-unknown-atheos
+ exit ;;
+ i*86:syllable:*:*)
+ echo ${UNAME_MACHINE}-pc-syllable
+ exit ;;
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+ echo i386-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ i*86:*DOS:*:*)
+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
+ exit ;;
+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+ else
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ fi
+ exit ;;
+ i*86:*:5:[678]*)
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ case `/bin/uname -X | grep "^Machine"` in
+ *486*) UNAME_MACHINE=i486 ;;
+ *Pentium) UNAME_MACHINE=i586 ;;
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+ esac
+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+ exit ;;
+ i*86:*:3.2:*)
+ if test -f /usr/options/cb.name; then
+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+ echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+ elif /bin/uname -X 2>/dev/null >/dev/null ; then
+ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+ && UNAME_MACHINE=i586
+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+ && UNAME_MACHINE=i686
+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+ && UNAME_MACHINE=i686
+ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+ else
+ echo ${UNAME_MACHINE}-pc-sysv32
+ fi
+ exit ;;
+ pc:*:*:*)
+ # Left here for compatibility:
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i586.
+ # Note: whatever this is, it MUST be the same as what config.sub
+ # prints for the "djgpp" host, or else GDB configury will decide that
+ # this is a cross-build.
+ echo i586-pc-msdosdjgpp
+ exit ;;
+ Intel:Mach:3*:*)
+ echo i386-pc-mach3
+ exit ;;
+ paragon:*:*:*)
+ echo i860-intel-osf1
+ exit ;;
+ i860:*:4.*:*) # i860-SVR4
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ else # Add other i860-SVR4 vendors below as they are discovered.
+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ fi
+ exit ;;
+ mini*:CTIX:SYS*5:*)
+ # "miniframe"
+ echo m68010-convergent-sysv
+ exit ;;
+ mc68k:UNIX:SYSTEM5:3.51m)
+ echo m68k-convergent-sysv
+ exit ;;
+ M680?0:D-NIX:5.3:*)
+ echo m68k-diab-dnix
+ exit ;;
+ M68*:*:R3V[5678]*:*)
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+ OS_REL=''
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4; exit; } ;;
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+ OS_REL='.3'
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+ echo m68k-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ mc68030:UNIX_System_V:4.*:*)
+ echo m68k-atari-sysv4
+ exit ;;
+ TSUNAMI:LynxOS:2.*:*)
+ echo sparc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ rs6000:LynxOS:2.*:*)
+ echo rs6000-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ SM[BE]S:UNIX_SV:*:*)
+ echo mips-dde-sysv${UNAME_RELEASE}
+ exit ;;
+ RM*:ReliantUNIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ RM*:SINIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ *:SINIX-*:*:*)
+ if uname -p 2>/dev/null >/dev/null ; then
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ echo ${UNAME_MACHINE}-sni-sysv4
+ else
+ echo ns32k-sni-sysv
+ fi
+ exit ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
+ echo i586-unisys-sysv4
+ exit ;;
+ *:UNIX_System_V:4*:FTX*)
+ # From Gerald Hewes <hewes@openmarket.com>.
+ # How about differentiating between stratus architectures? -djm
+ echo hppa1.1-stratus-sysv4
+ exit ;;
+ *:*:*:FTX*)
+ # From seanf@swdc.stratus.com.
+ echo i860-stratus-sysv4
+ exit ;;
+ i*86:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo ${UNAME_MACHINE}-stratus-vos
+ exit ;;
+ *:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo hppa1.1-stratus-vos
+ exit ;;
+ mc68*:A/UX:*:*)
+ echo m68k-apple-aux${UNAME_RELEASE}
+ exit ;;
+ news*:NEWS-OS:6*:*)
+ echo mips-sony-newsos6
+ exit ;;
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+ if [ -d /usr/nec ]; then
+ echo mips-nec-sysv${UNAME_RELEASE}
+ else
+ echo mips-unknown-sysv${UNAME_RELEASE}
+ fi
+ exit ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+ echo powerpc-be-beos
+ exit ;;
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
+ echo powerpc-apple-beos
+ exit ;;
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
+ echo i586-pc-beos
+ exit ;;
+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
+ echo i586-pc-haiku
+ exit ;;
+ x86_64:Haiku:*:*)
+ echo x86_64-unknown-haiku
+ exit ;;
+ SX-4:SUPER-UX:*:*)
+ echo sx4-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-5:SUPER-UX:*:*)
+ echo sx5-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-6:SUPER-UX:*:*)
+ echo sx6-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-7:SUPER-UX:*:*)
+ echo sx7-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8:SUPER-UX:*:*)
+ echo sx8-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8R:SUPER-UX:*:*)
+ echo sx8r-nec-superux${UNAME_RELEASE}
+ exit ;;
+ Power*:Rhapsody:*:*)
+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Rhapsody:*:*)
+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Darwin:*:*)
+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+ eval $set_cc_for_build
+ if test "$UNAME_PROCESSOR" = unknown ; then
+ UNAME_PROCESSOR=powerpc
+ fi
+ if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ case $UNAME_PROCESSOR in
+ i386) UNAME_PROCESSOR=x86_64 ;;
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
+ esac
+ fi
+ fi
+ elif test "$UNAME_PROCESSOR" = i386 ; then
+ # Avoid executing cc on OS X 10.9, as it ships with a stub
+ # that puts up a graphical alert prompting to install
+ # developer tools. Any system running Mac OS X 10.7 or
+ # later (Darwin 11 and later) is required to have a 64-bit
+ # processor. This is not true of the ARM version of Darwin
+ # that Apple uses in portable devices.
+ UNAME_PROCESSOR=x86_64
+ fi
+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+ exit ;;
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=`uname -p`
+ if test "$UNAME_PROCESSOR" = "x86"; then
+ UNAME_PROCESSOR=i386
+ UNAME_MACHINE=pc
+ fi
+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+ exit ;;
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+ exit ;;
+ NEO-?:NONSTOP_KERNEL:*:*)
+ echo neo-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSE-*:NONSTOP_KERNEL:*:*)
+ echo nse-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSR-?:NONSTOP_KERNEL:*:*)
+ echo nsr-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ *:NonStop-UX:*:*)
+ echo mips-compaq-nonstopux
+ exit ;;
+ BS2000:POSIX*:*:*)
+ echo bs2000-siemens-sysv
+ exit ;;
+ DS/*:UNIX_System_V:*:*)
+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+ exit ;;
+ *:Plan9:*:*)
+ # "uname -m" is not consistent, so use $cputype instead. 386
+ # is converted to i386 for consistency with other x86
+ # operating systems.
+ if test "$cputype" = "386"; then
+ UNAME_MACHINE=i386
+ else
+ UNAME_MACHINE="$cputype"
+ fi
+ echo ${UNAME_MACHINE}-unknown-plan9
+ exit ;;
+ *:TOPS-10:*:*)
+ echo pdp10-unknown-tops10
+ exit ;;
+ *:TENEX:*:*)
+ echo pdp10-unknown-tenex
+ exit ;;
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+ echo pdp10-dec-tops20
+ exit ;;
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+ echo pdp10-xkl-tops20
+ exit ;;
+ *:TOPS-20:*:*)
+ echo pdp10-unknown-tops20
+ exit ;;
+ *:ITS:*:*)
+ echo pdp10-unknown-its
+ exit ;;
+ SEI:*:*:SEIUX)
+ echo mips-sei-seiux${UNAME_RELEASE}
+ exit ;;
+ *:DragonFly:*:*)
+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit ;;
+ *:*VMS:*:*)
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ case "${UNAME_MACHINE}" in
+ A*) echo alpha-dec-vms ; exit ;;
+ I*) echo ia64-dec-vms ; exit ;;
+ V*) echo vax-dec-vms ; exit ;;
+ esac ;;
+ *:XENIX:*:SysV)
+ echo i386-pc-xenix
+ exit ;;
+ i*86:skyos:*:*)
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+ exit ;;
+ i*86:rdos:*:*)
+ echo ${UNAME_MACHINE}-pc-rdos
+ exit ;;
+ i*86:AROS:*:*)
+ echo ${UNAME_MACHINE}-pc-aros
+ exit ;;
+ x86_64:VMkernel:*:*)
+ echo ${UNAME_MACHINE}-unknown-esx
+ exit ;;
+esac
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+and
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo = `(hostinfo) 2>/dev/null`
+/bin/universe = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/config.sub b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/config.sub
new file mode 100755
index 0000000000..8f1229c6f7
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/config.sub
@@ -0,0 +1,1810 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+# Copyright 1992-2015 Free Software Foundation, Inc.
+
+timestamp='2015-03-08'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
+
+
+# Please send patches to <config-patches@gnu.org>.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support. The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+ $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright 1992-2015 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help"
+ exit 1 ;;
+
+ *local*)
+ # First pass through any local machine types.
+ echo $1
+ exit ;;
+
+ * )
+ break ;;
+ esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+ exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+ exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+ knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
+ kopensolaris*-gnu* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+ android-linux)
+ os=-linux-android
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+ ;;
+ *)
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+ if [ $basic_machine != $1 ]
+ then os=`echo $1 | sed 's/.*-/-/'`
+ else os=; fi
+ ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work. We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+ -sun*os*)
+ # Prevent following clause from handling this invalid input.
+ ;;
+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+ -apple | -axis | -knuth | -cray | -microblaze*)
+ os=
+ basic_machine=$1
+ ;;
+ -bluegene*)
+ os=-cnk
+ ;;
+ -sim | -cisco | -oki | -wec | -winbond)
+ os=
+ basic_machine=$1
+ ;;
+ -scout)
+ ;;
+ -wrs)
+ os=-vxworks
+ basic_machine=$1
+ ;;
+ -chorusos*)
+ os=-chorusos
+ basic_machine=$1
+ ;;
+ -chorusrdb)
+ os=-chorusrdb
+ basic_machine=$1
+ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+ -sco6)
+ os=-sco5v6
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5)
+ os=-sco3.2v5
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco4)
+ os=-sco3.2v4
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2.[4-9]*)
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2v[4-9]*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco*)
+ os=-sco3.2v2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -udk*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -isc)
+ os=-isc2.2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -clix*)
+ basic_machine=clipper-intergraph
+ ;;
+ -isc*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -lynx*178)
+ os=-lynxos178
+ ;;
+ -lynx*5)
+ os=-lynxos5
+ ;;
+ -lynx*)
+ os=-lynxos
+ ;;
+ -ptx*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+ ;;
+ -windowsnt*)
+ os=`echo $os | sed -e 's/windowsnt/winnt/'`
+ ;;
+ -psos*)
+ os=-psos
+ ;;
+ -mint | -mint[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ # Some are omitted here because they have special meanings below.
+ 1750a | 580 \
+ | a29k \
+ | aarch64 | aarch64_be \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | am33_2.0 \
+ | arc | arceb \
+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+ | avr | avr32 \
+ | be32 | be64 \
+ | bfin \
+ | c4x | c8051 | clipper \
+ | d10v | d30v | dlx | dsp16xx \
+ | e2k | epiphany \
+ | fido | fr30 | frv | ft32 \
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | hexagon \
+ | i370 | i860 | i960 | ia64 \
+ | ip2k | iq2000 \
+ | k1om \
+ | le32 | le64 \
+ | lm32 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+ | mips64octeon | mips64octeonel \
+ | mips64orion | mips64orionel \
+ | mips64r5900 | mips64r5900el \
+ | mips64vr | mips64vrel \
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa32r6 | mipsisa32r6el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64r6 | mipsisa64r6el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipsr5900 | mipsr5900el \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
+ | moxie \
+ | mt \
+ | msp430 \
+ | nds32 | nds32le | nds32be \
+ | nios | nios2 | nios2eb | nios2el \
+ | ns16k | ns32k \
+ | open8 | or1k | or1knd | or32 \
+ | pdp10 | pdp11 | pj | pjl \
+ | powerpc | powerpc64 | powerpc64le | powerpcle \
+ | pyramid \
+ | riscv32 | riscv64 \
+ | rl78 | rx \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+ | spu \
+ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
+ | ubicom32 \
+ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+ | visium \
+ | we32k \
+ | x86 | xc16x | xstormy16 | xtensa \
+ | z8k | z80)
+ basic_machine=$basic_machine-unknown
+ ;;
+ c54x)
+ basic_machine=tic54x-unknown
+ ;;
+ c55x)
+ basic_machine=tic55x-unknown
+ ;;
+ c6x)
+ basic_machine=tic6x-unknown
+ ;;
+ leon|leon[3-9])
+ basic_machine=sparc-$basic_machine
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ ;;
+ ms1)
+ basic_machine=mt-unknown
+ ;;
+
+ strongarm | thumb | xscale)
+ basic_machine=arm-unknown
+ ;;
+ xgate)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ xscaleeb)
+ basic_machine=armeb-unknown
+ ;;
+
+ xscaleel)
+ basic_machine=armel-unknown
+ ;;
+
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i*86 | x86_64)
+ basic_machine=$basic_machine-pc
+ ;;
+ # Object if more than one company name word.
+ *-*-*)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+ # Recognize the basic CPU types with company name.
+ 580-* \
+ | a29k-* \
+ | aarch64-* | aarch64_be-* \
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+ | avr-* | avr32-* \
+ | be32-* | be64-* \
+ | bfin-* | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* \
+ | c8051-* | clipper-* | craynv-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+ | e2k-* | elxsi-* \
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ | h8300-* | h8500-* \
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | hexagon-* \
+ | i*86-* | i860-* | i960-* | ia64-* \
+ | ip2k-* | iq2000-* \
+ | k1om-* \
+ | le32-* | le64-* \
+ | lm32-* \
+ | m32c-* | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+ | microblaze-* | microblazeel-* \
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+ | mips16-* \
+ | mips64-* | mips64el-* \
+ | mips64octeon-* | mips64octeonel-* \
+ | mips64orion-* | mips64orionel-* \
+ | mips64r5900-* | mips64r5900el-* \
+ | mips64vr-* | mips64vrel-* \
+ | mips64vr4100-* | mips64vr4100el-* \
+ | mips64vr4300-* | mips64vr4300el-* \
+ | mips64vr5000-* | mips64vr5000el-* \
+ | mips64vr5900-* | mips64vr5900el-* \
+ | mipsisa32-* | mipsisa32el-* \
+ | mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa32r6-* | mipsisa32r6el-* \
+ | mipsisa64-* | mipsisa64el-* \
+ | mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64r6-* | mipsisa64r6el-* \
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipsr5900-* | mipsr5900el-* \
+ | mipstx39-* | mipstx39el-* \
+ | mmix-* \
+ | mt-* \
+ | msp430-* \
+ | nds32-* | nds32le-* | nds32be-* \
+ | nios-* | nios2-* | nios2eb-* | nios2el-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
+ | open8-* \
+ | or1k*-* \
+ | orion-* \
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+ | pyramid-* \
+ | rl78-* | romp-* | rs6000-* | rx-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ | sparclite-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+ | tahoe-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+ | tile*-* \
+ | tron-* \
+ | ubicom32-* \
+ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
+ | vax-* \
+ | visium-* \
+ | we32k-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* \
+ | xstormy16-* | xtensa*-* \
+ | ymp-* \
+ | z8k-* | z80-*)
+ ;;
+ # Recognize the basic CPU types without company name, with glob match.
+ xtensa*)
+ basic_machine=$basic_machine-unknown
+ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+ 386bsd)
+ basic_machine=i386-unknown
+ os=-bsd
+ ;;
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+ basic_machine=m68000-att
+ ;;
+ 3b*)
+ basic_machine=we32k-att
+ ;;
+ a29khif)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ abacus)
+ basic_machine=abacus-unknown
+ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=-scout
+ ;;
+ alliant | fx80)
+ basic_machine=fx80-alliant
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ os=-bsd
+ ;;
+ amd64)
+ basic_machine=x86_64-pc
+ ;;
+ amd64-*)
+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=-sysv
+ ;;
+ amiga | amiga-*)
+ basic_machine=m68k-unknown
+ ;;
+ amigaos | amigados)
+ basic_machine=m68k-unknown
+ os=-amigaos
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-unknown
+ os=-sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ os=-sysv
+ ;;
+ apollo68bsd)
+ basic_machine=m68k-apollo
+ os=-bsd
+ ;;
+ aros)
+ basic_machine=i386-pc
+ os=-aros
+ ;;
+ asmjs)
+ basic_machine=asmjs-unknown
+ ;;
+ aux)
+ basic_machine=m68k-apple
+ os=-aux
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ os=-dynix
+ ;;
+ blackfin)
+ basic_machine=bfin-unknown
+ os=-linux
+ ;;
+ blackfin-*)
+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ bluegene*)
+ basic_machine=powerpc-ibm
+ os=-cnk
+ ;;
+ c54x-*)
+ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c55x-*)
+ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c6x-*)
+ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c90)
+ basic_machine=c90-cray
+ os=-unicos
+ ;;
+ cegcc)
+ basic_machine=arm-unknown
+ os=-cegcc
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=-bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=-bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ os=-bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ os=-bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ os=-bsd
+ ;;
+ cray | j90)
+ basic_machine=j90-cray
+ os=-unicos
+ ;;
+ craynv)
+ basic_machine=craynv-cray
+ os=-unicosmp
+ ;;
+ cr16 | cr16-*)
+ basic_machine=cr16-unknown
+ os=-elf
+ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
+ crisv32 | crisv32-* | etraxfs*)
+ basic_machine=crisv32-axis
+ ;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
+ crx)
+ basic_machine=crx-unknown
+ os=-elf
+ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ ;;
+ decsystem10* | dec10*)
+ basic_machine=pdp10-dec
+ os=-tops10
+ ;;
+ decsystem20* | dec20*)
+ basic_machine=pdp10-dec
+ os=-tops20
+ ;;
+ delta | 3300 | motorola-3300 | motorola-delta \
+ | 3300-motorola | delta-motorola)
+ basic_machine=m68k-motorola
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ os=-sysv3
+ ;;
+ dicos)
+ basic_machine=i686-pc
+ os=-dicos
+ ;;
+ djgpp)
+ basic_machine=i586-pc
+ os=-msdosdjgpp
+ ;;
+ dpx20 | dpx20-*)
+ basic_machine=rs6000-bull
+ os=-bosx
+ ;;
+ dpx2* | dpx2*-bull)
+ basic_machine=m68k-bull
+ os=-sysv3
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ os=-ebmon
+ ;;
+ elxsi)
+ basic_machine=elxsi-elxsi
+ os=-bsd
+ ;;
+ encore | umax | mmax)
+ basic_machine=ns32k-encore
+ ;;
+ es1800 | OSE68k | ose68k | ose | OSE)
+ basic_machine=m68k-ericsson
+ os=-ose
+ ;;
+ fx2800)
+ basic_machine=i860-alliant
+ ;;
+ genix)
+ basic_machine=ns32k-ns
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ os=-sysv
+ ;;
+ go32)
+ basic_machine=i386-pc
+ os=-go32
+ ;;
+ h3050r* | hiux*)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ os=-hms
+ ;;
+ h8300xray)
+ basic_machine=h8300-hitachi
+ os=-xray
+ ;;
+ h8500hms)
+ basic_machine=h8500-hitachi
+ os=-hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ os=-sysv3
+ ;;
+ hp300-*)
+ basic_machine=m68k-hp
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ os=-bsd
+ ;;
+ hp300hpux)
+ basic_machine=m68k-hp
+ os=-hpux
+ ;;
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k2[0-9][0-9] | hp9k31[0-9])
+ basic_machine=m68000-hp
+ ;;
+ hp9k3[2-9][0-9])
+ basic_machine=m68k-hp
+ ;;
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k78[0-9] | hp78[0-9])
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][13679] | hp8[0-9][13679])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hppa-next)
+ os=-nextstep3
+ ;;
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ os=-osf
+ ;;
+ hppro)
+ basic_machine=hppa1.1-hp
+ os=-proelf
+ ;;
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ ;;
+ i*86v32)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv32
+ ;;
+ i*86v4*)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv4
+ ;;
+ i*86v)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv
+ ;;
+ i*86sol2)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-solaris2
+ ;;
+ i386mach)
+ basic_machine=i386-mach
+ os=-mach
+ ;;
+ i386-vsta | vsta)
+ basic_machine=i386-unknown
+ os=-vsta
+ ;;
+ iris | iris4d)
+ basic_machine=mips-sgi
+ case $os in
+ -irix*)
+ ;;
+ *)
+ os=-irix4
+ ;;
+ esac
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ os=-sysv
+ ;;
+ leon-*|leon[3-9]-*)
+ basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
+ ;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ os=-linux
+ ;;
+ m68knommu-*)
+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ m88k-omron*)
+ basic_machine=m88k-omron
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ os=-sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
+ microblaze*)
+ basic_machine=microblaze-xilinx
+ ;;
+ mingw64)
+ basic_machine=x86_64-pc
+ os=-mingw64
+ ;;
+ mingw32)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
+ mingw32ce)
+ basic_machine=arm-unknown
+ os=-mingw32ce
+ ;;
+ miniframe)
+ basic_machine=m68000-convergent
+ ;;
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+ mips3*-*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+ ;;
+ mips3*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+ ;;
+ monitor)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ morphos)
+ basic_machine=powerpc-unknown
+ os=-morphos
+ ;;
+ moxiebox)
+ basic_machine=moxie-unknown
+ os=-moxiebox
+ ;;
+ msdos)
+ basic_machine=i386-pc
+ os=-msdos
+ ;;
+ ms1-*)
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ ;;
+ msys)
+ basic_machine=i686-pc
+ os=-msys
+ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
+ nacl)
+ basic_machine=le32-unknown
+ os=-nacl
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+ ;;
+ netbsd386)
+ basic_machine=i386-unknown
+ os=-netbsd
+ ;;
+ netwinder)
+ basic_machine=armv4l-rebel
+ os=-linux
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ os=-newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ os=-newsos
+ ;;
+ news-3600 | risc-news)
+ basic_machine=mips-sony
+ os=-newsos
+ ;;
+ necv70)
+ basic_machine=v70-nec
+ os=-sysv
+ ;;
+ next | m*-next )
+ basic_machine=m68k-next
+ case $os in
+ -nextstep* )
+ ;;
+ -ns2*)
+ os=-nextstep2
+ ;;
+ *)
+ os=-nextstep3
+ ;;
+ esac
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ os=-cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ os=-cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ os=-nindy
+ ;;
+ mon960)
+ basic_machine=i960-intel
+ os=-mon960
+ ;;
+ nonstopux)
+ basic_machine=mips-compaq
+ os=-nonstopux
+ ;;
+ np1)
+ basic_machine=np1-gould
+ ;;
+ neo-tandem)
+ basic_machine=neo-tandem
+ ;;
+ nse-tandem)
+ basic_machine=nse-tandem
+ ;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
+ ;;
+ op50n-* | op60c-*)
+ basic_machine=hppa1.1-oki
+ os=-proelf
+ ;;
+ openrisc | openrisc-*)
+ basic_machine=or32-unknown
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ os=-os400
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ os=-ose
+ ;;
+ os68k)
+ basic_machine=m68k-none
+ os=-os68k
+ ;;
+ pa-hitachi)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ os=-osf
+ ;;
+ parisc)
+ basic_machine=hppa-unknown
+ os=-linux
+ ;;
+ parisc-*)
+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ pbd)
+ basic_machine=sparc-tti
+ ;;
+ pbb)
+ basic_machine=m68k-tti
+ ;;
+ pc532 | pc532-*)
+ basic_machine=ns32k-pc532
+ ;;
+ pc98)
+ basic_machine=i386-pc
+ ;;
+ pc98-*)
+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium | p5 | k5 | k6 | nexgen | viac3)
+ basic_machine=i586-pc
+ ;;
+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
+ basic_machine=i686-pc
+ ;;
+ pentiumii | pentium2 | pentiumiii | pentium3)
+ basic_machine=i686-pc
+ ;;
+ pentium4)
+ basic_machine=i786-pc
+ ;;
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium4-*)
+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pn)
+ basic_machine=pn-gould
+ ;;
+ power) basic_machine=power-ibm
+ ;;
+ ppc | ppcbe) basic_machine=powerpc-unknown
+ ;;
+ ppc-* | ppcbe-*)
+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppcle | powerpclittle | ppc-le | powerpc-little)
+ basic_machine=powerpcle-unknown
+ ;;
+ ppcle-* | powerpclittle-*)
+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64) basic_machine=powerpc64-unknown
+ ;;
+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+ basic_machine=powerpc64le-unknown
+ ;;
+ ppc64le-* | powerpc64little-*)
+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ps2)
+ basic_machine=i386-ibm
+ ;;
+ pw32)
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
+ rdos | rdos64)
+ basic_machine=x86_64-pc
+ os=-rdos
+ ;;
+ rdos32)
+ basic_machine=i386-pc
+ os=-rdos
+ ;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ rm[46]00)
+ basic_machine=mips-siemens
+ ;;
+ rtpc | rtpc-*)
+ basic_machine=romp-ibm
+ ;;
+ s390 | s390-*)
+ basic_machine=s390-ibm
+ ;;
+ s390x | s390x-*)
+ basic_machine=s390x-ibm
+ ;;
+ sa29200)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ sb1)
+ basic_machine=mipsisa64sb1-unknown
+ ;;
+ sb1el)
+ basic_machine=mipsisa64sb1el-unknown
+ ;;
+ sde)
+ basic_machine=mipsisa32-sde
+ os=-elf
+ ;;
+ sei)
+ basic_machine=mips-sei
+ os=-seiux
+ ;;
+ sequent)
+ basic_machine=i386-sequent
+ ;;
+ sh)
+ basic_machine=sh-hitachi
+ os=-hms
+ ;;
+ sh5el)
+ basic_machine=sh5le-unknown
+ ;;
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
+ sparclite-wrs | simso-wrs)
+ basic_machine=sparclite-wrs
+ os=-vxworks
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ os=-sysv2
+ ;;
+ spur)
+ basic_machine=spur-unknown
+ ;;
+ st2000)
+ basic_machine=m68k-tandem
+ ;;
+ stratus)
+ basic_machine=i860-stratus
+ os=-sysv4
+ ;;
+ strongarm-* | thumb-*)
+ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ os=-sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ os=-sunos4
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ os=-sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ os=-sunos4
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ os=-sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ os=-sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ os=-solaris2
+ ;;
+ sun3 | sun3-*)
+ basic_machine=m68k-sun
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ ;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ ;;
+ sv1)
+ basic_machine=sv1-cray
+ os=-unicos
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ os=-dynix
+ ;;
+ t3e)
+ basic_machine=alphaev5-cray
+ os=-unicos
+ ;;
+ t90)
+ basic_machine=t90-cray
+ os=-unicos
+ ;;
+ tile*)
+ basic_machine=$basic_machine-unknown
+ os=-linux-gnu
+ ;;
+ tx39)
+ basic_machine=mipstx39-unknown
+ ;;
+ tx39el)
+ basic_machine=mipstx39el-unknown
+ ;;
+ toad1)
+ basic_machine=pdp10-xkl
+ os=-tops20
+ ;;
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ ;;
+ tpf)
+ basic_machine=s390x-ibm
+ os=-tpf
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ os=-sym1
+ ;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ os=-none
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ os=-sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ os=-vms
+ ;;
+ vpp*|vx|vx-*)
+ basic_machine=f301-fujitsu
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ os=-vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ os=-vxworks
+ ;;
+ vxworks29k)
+ basic_machine=a29k-wrs
+ os=-vxworks
+ ;;
+ w65*)
+ basic_machine=w65-wdc
+ os=-none
+ ;;
+ w89k-*)
+ basic_machine=hppa1.1-winbond
+ os=-proelf
+ ;;
+ xbox)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
+ xscale-* | xscalee[bl]-*)
+ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+ ;;
+ ymp)
+ basic_machine=ymp-cray
+ os=-unicos
+ ;;
+ z8k-*-coff)
+ basic_machine=z8k-unknown
+ os=-sim
+ ;;
+ z80-*-coff)
+ basic_machine=z80-unknown
+ os=-sim
+ ;;
+ none)
+ basic_machine=none-none
+ os=-none
+ ;;
+
+# Here we handle the default manufacturer of certain CPU types. It is in
+# some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ basic_machine=hppa1.1-winbond
+ ;;
+ op50n)
+ basic_machine=hppa1.1-oki
+ ;;
+ op60c)
+ basic_machine=hppa1.1-oki
+ ;;
+ romp)
+ basic_machine=romp-ibm
+ ;;
+ mmix)
+ basic_machine=mmix-knuth
+ ;;
+ rs6000)
+ basic_machine=rs6000-ibm
+ ;;
+ vax)
+ basic_machine=vax-dec
+ ;;
+ pdp10)
+ # there are many clones, so DEC is not a safe bet
+ basic_machine=pdp10-unknown
+ ;;
+ pdp11)
+ basic_machine=pdp11-dec
+ ;;
+ we32k)
+ basic_machine=we32k-att
+ ;;
+ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
+ basic_machine=sh-unknown
+ ;;
+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+ basic_machine=sparc-sun
+ ;;
+ cydra)
+ basic_machine=cydra-cydrome
+ ;;
+ orion)
+ basic_machine=orion-highlevel
+ ;;
+ orion105)
+ basic_machine=clipper-highlevel
+ ;;
+ mac | mpw | mac-mpw)
+ basic_machine=m68k-apple
+ ;;
+ pmac | pmac-mpw)
+ basic_machine=powerpc-apple
+ ;;
+ *-unknown)
+ # Make sure to match an already-canonicalized machine name.
+ ;;
+ *)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+ *-digital*)
+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+ ;;
+ *-commodore*)
+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ ;;
+ *)
+ ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+ # First match some system type aliases
+ # that might get confused with valid system types.
+ # -solaris* is a basic system type, with this one exception.
+ -auroraux)
+ os=-auroraux
+ ;;
+ -solaris1 | -solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ ;;
+ -solaris)
+ os=-solaris2
+ ;;
+ -svr4*)
+ os=-sysv4
+ ;;
+ -unixware*)
+ os=-sysv4.2uw
+ ;;
+ -gnu/linux*)
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+ ;;
+ # First accept the basic system types.
+ # The portable systems comes first.
+ # Each alternative MUST END IN A *, to match a version number.
+ # -sysv* is not here because it comes later, after sysvr4.
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+ | -sym* | -kopensolaris* | -plan9* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ | -aos* | -aros* | -cloudabi* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+ | -bitrig* | -openbsd* | -solidbsd* \
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* | -cegcc* \
+ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+ | -linux-newlib* | -linux-musl* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -qnx*)
+ case $basic_machine in
+ x86-* | i*86-*)
+ ;;
+ *)
+ os=-nto$os
+ ;;
+ esac
+ ;;
+ -nto-qnx*)
+ ;;
+ -nto*)
+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ ;;
+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ ;;
+ -mac*)
+ os=`echo $os | sed -e 's|mac|macos|'`
+ ;;
+ -linux-dietlibc)
+ os=-linux-dietlibc
+ ;;
+ -linux*)
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ ;;
+ -sunos5*)
+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
+ ;;
+ -sunos6*)
+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ ;;
+ -opened*)
+ os=-openedition
+ ;;
+ -os400*)
+ os=-os400
+ ;;
+ -wince*)
+ os=-wince
+ ;;
+ -osfrose*)
+ os=-osfrose
+ ;;
+ -osf*)
+ os=-osf
+ ;;
+ -utek*)
+ os=-bsd
+ ;;
+ -dynix*)
+ os=-bsd
+ ;;
+ -acis*)
+ os=-aos
+ ;;
+ -atheos*)
+ os=-atheos
+ ;;
+ -syllable*)
+ os=-syllable
+ ;;
+ -386bsd)
+ os=-bsd
+ ;;
+ -ctix* | -uts*)
+ os=-sysv
+ ;;
+ -nova*)
+ os=-rtmk-nova
+ ;;
+ -ns2 )
+ os=-nextstep2
+ ;;
+ -nsk*)
+ os=-nsk
+ ;;
+ # Preserve the version number of sinix5.
+ -sinix5.*)
+ os=`echo $os | sed -e 's|sinix|sysv|'`
+ ;;
+ -sinix*)
+ os=-sysv4
+ ;;
+ -tpf*)
+ os=-tpf
+ ;;
+ -triton*)
+ os=-sysv3
+ ;;
+ -oss*)
+ os=-sysv3
+ ;;
+ -svr4)
+ os=-sysv4
+ ;;
+ -svr3)
+ os=-sysv3
+ ;;
+ -sysvr4)
+ os=-sysv4
+ ;;
+ # This must come after -sysvr4.
+ -sysv*)
+ ;;
+ -ose*)
+ os=-ose
+ ;;
+ -es1800*)
+ os=-ose
+ ;;
+ -xenix)
+ os=-xenix
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ os=-mint
+ ;;
+ -aros*)
+ os=-aros
+ ;;
+ -zvmoe)
+ os=-zvmoe
+ ;;
+ -dicos*)
+ os=-dicos
+ ;;
+ -nacl*)
+ ;;
+ -none)
+ ;;
+ *)
+ # Get rid of the `-' at the beginning of $os.
+ os=`echo $os | sed 's/[^-]*-//'`
+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system. Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+ score-*)
+ os=-elf
+ ;;
+ spu-*)
+ os=-elf
+ ;;
+ *-acorn)
+ os=-riscix1.2
+ ;;
+ arm*-rebel)
+ os=-linux
+ ;;
+ arm*-semi)
+ os=-aout
+ ;;
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
+ c8051-*)
+ os=-elf
+ ;;
+ hexagon-*)
+ os=-elf
+ ;;
+ tic54x-*)
+ os=-coff
+ ;;
+ tic55x-*)
+ os=-coff
+ ;;
+ tic6x-*)
+ os=-coff
+ ;;
+ # This must come before the *-dec entry.
+ pdp10-*)
+ os=-tops20
+ ;;
+ pdp11-*)
+ os=-none
+ ;;
+ *-dec | vax-*)
+ os=-ultrix4.2
+ ;;
+ m68*-apollo)
+ os=-domain
+ ;;
+ i386-sun)
+ os=-sunos4.0.2
+ ;;
+ m68000-sun)
+ os=-sunos3
+ ;;
+ m68*-cisco)
+ os=-aout
+ ;;
+ mep-*)
+ os=-elf
+ ;;
+ mips*-cisco)
+ os=-elf
+ ;;
+ mips*-*)
+ os=-elf
+ ;;
+ or32-*)
+ os=-coff
+ ;;
+ *-tti) # must be before sparc entry or we get the wrong os.
+ os=-sysv3
+ ;;
+ sparc-* | *-sun)
+ os=-sunos4.1.1
+ ;;
+ *-be)
+ os=-beos
+ ;;
+ *-haiku)
+ os=-haiku
+ ;;
+ *-ibm)
+ os=-aix
+ ;;
+ *-knuth)
+ os=-mmixware
+ ;;
+ *-wec)
+ os=-proelf
+ ;;
+ *-winbond)
+ os=-proelf
+ ;;
+ *-oki)
+ os=-proelf
+ ;;
+ *-hp)
+ os=-hpux
+ ;;
+ *-hitachi)
+ os=-hiux
+ ;;
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+ os=-sysv
+ ;;
+ *-cbm)
+ os=-amigaos
+ ;;
+ *-dg)
+ os=-dgux
+ ;;
+ *-dolphin)
+ os=-sysv3
+ ;;
+ m68k-ccur)
+ os=-rtu
+ ;;
+ m88k-omron*)
+ os=-luna
+ ;;
+ *-next )
+ os=-nextstep
+ ;;
+ *-sequent)
+ os=-ptx
+ ;;
+ *-crds)
+ os=-unos
+ ;;
+ *-ns)
+ os=-genix
+ ;;
+ i370-*)
+ os=-mvs
+ ;;
+ *-next)
+ os=-nextstep3
+ ;;
+ *-gould)
+ os=-sysv
+ ;;
+ *-highlevel)
+ os=-bsd
+ ;;
+ *-encore)
+ os=-bsd
+ ;;
+ *-sgi)
+ os=-irix
+ ;;
+ *-siemens)
+ os=-sysv4
+ ;;
+ *-masscomp)
+ os=-rtu
+ ;;
+ f30[01]-fujitsu | f700-fujitsu)
+ os=-uxpv
+ ;;
+ *-rom68k)
+ os=-coff
+ ;;
+ *-*bug)
+ os=-coff
+ ;;
+ *-apple)
+ os=-macos
+ ;;
+ *-atari*)
+ os=-mint
+ ;;
+ *)
+ os=-none
+ ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer. We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+ *-unknown)
+ case $os in
+ -riscix*)
+ vendor=acorn
+ ;;
+ -sunos*)
+ vendor=sun
+ ;;
+ -cnk*|-aix*)
+ vendor=ibm
+ ;;
+ -beos*)
+ vendor=be
+ ;;
+ -hpux*)
+ vendor=hp
+ ;;
+ -mpeix*)
+ vendor=hp
+ ;;
+ -hiux*)
+ vendor=hitachi
+ ;;
+ -unos*)
+ vendor=crds
+ ;;
+ -dgux*)
+ vendor=dg
+ ;;
+ -luna*)
+ vendor=omron
+ ;;
+ -genix*)
+ vendor=ns
+ ;;
+ -mvs* | -opened*)
+ vendor=ibm
+ ;;
+ -os400*)
+ vendor=ibm
+ ;;
+ -ptx*)
+ vendor=sequent
+ ;;
+ -tpf*)
+ vendor=ibm
+ ;;
+ -vxsim* | -vxworks* | -windiss*)
+ vendor=wrs
+ ;;
+ -aux*)
+ vendor=apple
+ ;;
+ -hms*)
+ vendor=hitachi
+ ;;
+ -mpw* | -macos*)
+ vendor=apple
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ vendor=atari
+ ;;
+ -vos*)
+ vendor=stratus
+ ;;
+ esac
+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+ ;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/configure b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/configure
new file mode 100755
index 0000000000..3efefcaa2e
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/configure
@@ -0,0 +1,5088 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2015 Free Software Foundation, Inc.
+#
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in #(
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# Use a proper internal environment variable to ensure we don't fall
+ # into an infinite loop, continuously re-executing ourselves.
+ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+ _as_can_reexec=no; export _as_can_reexec;
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+ fi
+ # We don't want this to propagate to other subprocesses.
+ { _as_can_reexec=; unset _as_can_reexec;}
+if test "x$CONFIG_SHELL" = x; then
+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+"
+ as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+ exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1"
+ if (eval "$as_required") 2>/dev/null; then :
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ as_found=:
+ case $as_dir in #(
+ /*)
+ for as_base in sh bash ksh sh5; do
+ # Try only shells that exist, to save several forks.
+ as_shell=$as_dir/$as_base
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ CONFIG_SHELL=$as_shell as_have_required=yes
+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ break 2
+fi
+fi
+ done;;
+ esac
+ as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+ CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+ if test "x$CONFIG_SHELL" != x; then :
+ export CONFIG_SHELL
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
+fi
+
+ if test x$as_have_required = xno; then :
+ $as_echo "$0: This script requires a shell more modern than all"
+ $as_echo "$0: the shells that I found on your system."
+ if test x${ZSH_VERSION+set} = xset ; then
+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+ $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+ else
+ $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
+$0: including any error possibly output before this
+$0: message. Then install a modern shell, or manually run
+$0: the script under such a shell if you do have one."
+ fi
+ exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+
+ as_lineno_1=$LINENO as_lineno_1a=$LINENO
+ as_lineno_2=$LINENO as_lineno_2a=$LINENO
+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+ # already done that, so ensure we don't try to do so again and fall
+ # in an infinite loop. This has already happened in practice.
+ _as_can_reexec=no; export _as_can_reexec
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -pR'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -pR'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -pR'
+ fi
+else
+ as_ln_s='cp -pR'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+
+# Identity of this package.
+PACKAGE_NAME=
+PACKAGE_TARNAME=
+PACKAGE_VERSION=
+PACKAGE_STRING=
+PACKAGE_BUGREPORT=
+PACKAGE_URL=
+
+ac_unique_file="hbf.h"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+# include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='LTLIBOBJS
+LIBOBJS
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+RM
+no_strdup
+XX_CFLAGS
+EGREP
+GREP
+CPP
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+target_os
+target_vendor
+target_cpu
+target
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+with_kpathsea_include
+with_kpathsea_lib
+'
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval $ac_prev=\$ac_option
+ ac_prev=
+ continue
+ fi
+
+ case $ac_option in
+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *=) ac_optarg= ;;
+ *) ac_optarg=yes ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ datadir=$ac_optarg ;;
+
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
+
+ -enable-* | --enable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=\$ac_optarg ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst | --locals)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=\$ac_optarg ;;
+
+ -without-* | --without-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=no ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ case $ac_envvar in #(
+ '' | [0-9]* | *[!_$as_cr_alnum]* )
+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+ esac
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ as_fn_error $? "missing argument to $ac_option"
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir
+do
+ eval ac_val=\$$ac_var
+ # Remove trailing slashes.
+ case $ac_val in
+ */ )
+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+ eval $ac_var=\$ac_val;;
+ esac
+ # Be sure to have absolute directory names.
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ as_fn_error $? "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ as_fn_error $? "pwd does not report name of working directory"
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then the parent directory.
+ ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_myself" : 'X\(//\)[^/]' \| \
+ X"$as_myself" : 'X\(//\)$' \| \
+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r "$srcdir/$ac_unique_file"; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures this package to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking ...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
+_ACEOF
+
+ cat <<\_ACEOF
+
+System types:
+ --build=BUILD configure for building on BUILD [guessed]
+ --host=HOST cross-compile to build programs to run on HOST [BUILD]
+ --target=TARGET configure for building compilers for TARGET [HOST]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+
+ cat <<\_ACEOF
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-kpathsea-include=DIR
+ location of the kpathsea include dir
+ --with-kpathsea-lib=DIR
+ location of the kpathsea lib dir
+
+Some influential environment variables:
+ CC C compiler command
+ CFLAGS C compiler flags
+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
+ nonstandard directory <lib dir>
+ LIBS libraries to pass to the linker, e.g. -l<library>
+ CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
+ you have headers in a nonstandard directory <include dir>
+ CPP C preprocessor
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to the package provider.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
+ else
+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
+ done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+ cat <<\_ACEOF
+configure
+generated by GNU Autoconf 2.69
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit
+fi
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext
+ if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } > conftest.i && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_cpp
+
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_c_try_run ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=$ac_status
+fi
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_run
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext conftest$ac_exeext
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ test -x conftest$ac_exeext
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+ # interfere with the next link command; also delete a directory that is
+ # left behind by Apple's compiler. We do this before executing the actions.
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_link
+
+# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_c_check_header_mongrel ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if eval \${$3+:} false; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_header_compiler=yes
+else
+ ac_header_compiler=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <$2>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ ac_header_preproc=yes
+else
+ ac_header_preproc=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
+ yes:no: )
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+ ;;
+esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_mongrel
+
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_compile
+
+# ac_fn_c_check_func LINENO FUNC VAR
+# ----------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_c_check_func ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $2 innocuous_$2
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $2 (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $2
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$2 || defined __stub___$2
+choke me
+#endif
+
+int
+main ()
+{
+return $2 ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_func
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by $as_me, which was
+generated by GNU Autoconf 2.69. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ $as_echo "PATH: $as_dir"
+ done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *\'*)
+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+ 2)
+ as_fn_append ac_configure_args1 " '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ as_fn_append ac_configure_args " '$ac_arg'"
+ ;;
+ esac
+ done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ $as_echo "## ---------------- ##
+## Cache variables. ##
+## ---------------- ##"
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
+ (set) 2>&1 |
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ sed -n \
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
+ *)
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+)
+ echo
+
+ $as_echo "## ----------------- ##
+## Output variables. ##
+## ----------------- ##"
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ $as_echo "## ------------------- ##
+## File substitutions. ##
+## ------------------- ##"
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ $as_echo "## ----------- ##
+## confdefs.h. ##
+## ----------- ##"
+ echo
+ cat confdefs.h
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ $as_echo "$as_me: caught signal $ac_signal"
+ $as_echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+$as_echo "/* confdefs.h */" > confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+ # We do not want a PATH search for config.site.
+ case $CONFIG_SITE in #((
+ -*) ac_site_file1=./$CONFIG_SITE;;
+ */*) ac_site_file1=$CONFIG_SITE;;
+ *) ac_site_file1=./$CONFIG_SITE;;
+ esac
+elif test "x$prefix" != xNONE; then
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
+else
+ ac_site_file1=$ac_default_prefix/share/config.site
+ ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+ test "x$ac_site_file" = xNONE && continue
+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file" \
+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special files
+ # actually), so we avoid doing that. DJGPP emulates it as a regular file.
+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
+ esac
+ fi
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ # differences in whitespace do not lead to failure.
+ ac_old_val_w=`echo x $ac_old_val`
+ ac_new_val_w=`echo x $ac_new_val`
+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ ac_cache_corrupted=:
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ eval $ac_var=\$ac_old_val
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+ if test -f "$ac_dir/install-sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f "$ac_dir/install.sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f "$ac_dir/shtool"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if ${ac_cv_build+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if ${ac_cv_host+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
+$as_echo_n "checking target system type... " >&6; }
+if ${ac_cv_target+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$target_alias" = x; then
+ ac_cv_target=$ac_cv_host
+else
+ ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
+$as_echo "$ac_cv_target" >&6; }
+case $ac_cv_target in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
+esac
+target=$ac_cv_target
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_target
+shift
+target_cpu=$1
+target_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+target_os=$*
+IFS=$ac_save_IFS
+case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
+
+
+# The aliases save the names the user supplied, while $host etc.
+# will get canonicalized.
+test -n "$target_alias" &&
+ test "$program_prefix$program_suffix$program_transform_name" = \
+ NONENONEs,x,x, &&
+ program_prefix=${target_alias}-
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ fi
+fi
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in cl.exe
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$CC" && break
+ done
+fi
+if test -z "$CC"; then
+ ac_ct_CC=$CC
+ for ac_prog in cl.exe
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CC" && break
+done
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+ { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ fi
+ rm -f conftest.er1 conftest.err
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+ esac
+done
+rm -f $ac_rmfiles
+
+if { { ac_try="$ac_link_default"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link_default") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile. We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+ ;;
+ [ab].out )
+ # We found the default executable, but exeext='' is most
+ # certainly right.
+ break;;
+ *.* )
+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+ then :; else
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ fi
+ # We set ac_cv_exeext here because the later test for it is not
+ # safe: cross compilers may not add the suffix if given an `-o'
+ # argument, so we may need to know it at that point already.
+ # Even if this section looks crufty: it has the advantage of
+ # actually working.
+ break;;
+ * )
+ break;;
+ esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+ ac_file=''
+fi
+if test -z "$ac_file"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+ac_exeext=$ac_cv_exeext
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ break;;
+ * ) break;;
+ esac
+done
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest conftest$ac_cv_exeext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+ { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if { ac_try='./conftest$ac_cv_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if ${ac_cv_objext+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ for ac_file in conftest.o conftest.obj conftest.*; do
+ test -f "$ac_file" || continue;
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+ break;;
+ esac
+done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if ${ac_cv_c_compiler_gnu+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_compiler_gnu=yes
+else
+ ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GCC=yes
+else
+ GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if ${ac_cv_prog_cc_g+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+else
+ CFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if ${ac_cv_prog_cc_c89+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdio.h>
+struct stat;
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not '\xHH' hex character constants.
+ These don't provoke an error unfortunately, instead are silently treated
+ as 'x'. The following induces an error, until -std is added to get
+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
+ array size at least. It's necessary to write '\x00'==0 to get something
+ that's true only with -std. */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c89"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+ if ${ac_cv_prog_CPP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ # Double quotes because CPP needs to be expanded
+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+ break
+fi
+
+ done
+ ac_cv_prog_CPP=$CPP
+
+fi
+ CPP=$ac_cv_prog_CPP
+else
+ ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if ${ac_cv_path_GREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$GREP"; then
+ ac_path_GREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_GREP" || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_GREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if ${ac_cv_path_EGREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ if test -z "$EGREP"; then
+ ac_path_EGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_EGREP" || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_EGREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if ${ac_cv_header_stdc+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_header_stdc=yes
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then :
+ :
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+
+
+# Check whether --with-kpathsea-include was given.
+if test "${with_kpathsea_include+set}" = set; then :
+ withval=$with_kpathsea_include;
+ if test x$withval = xyes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Usage is: --with-kpathsea-include=includedir" >&5
+$as_echo "$as_me: WARNING: Usage is: --with-kpathsea-include=includedir" >&2;}
+ else
+ if test x$withval = xno; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Usage is: --with-kpathsea-include=includedir" >&5
+$as_echo "$as_me: WARNING: Usage is: --with-kpathsea-include=includedir" >&2;}
+ else
+ kpathsea_include=$withval
+ fi
+ fi
+
+fi
+
+
+
+
+# Check whether --with-kpathsea-lib was given.
+if test "${with_kpathsea_lib+set}" = set; then :
+ withval=$with_kpathsea_lib;
+ if test x$withval = xyes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Usage is: --with-kpathsea-lib=libdir" >&5
+$as_echo "$as_me: WARNING: Usage is: --with-kpathsea-lib=libdir" >&2;}
+ else
+ if test x$withval = xno; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Usage is: --with-kpathsea-lib=libdir" >&5
+$as_echo "$as_me: WARNING: Usage is: --with-kpathsea-lib=libdir" >&2;}
+ else
+ kpathsea_lib=$withval
+ fi
+ fi
+
+fi
+
+
+
+if test -n "$kpathsea_include" -o -n "$kpathsea_lib"; then
+ LIBS="$LIBS -L$kpathsea_lib"
+ CPPFLAGS="$CPPFLAGS -I$kpathsea_include -I$srcdir"
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for kpse_set_program_name in -lkpathsea" >&5
+$as_echo_n "checking for kpse_set_program_name in -lkpathsea... " >&6; }
+if ${ac_cv_lib_kpathsea_kpse_set_program_name+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lkpathsea $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char kpse_set_program_name ();
+int
+main ()
+{
+return kpse_set_program_name ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_kpathsea_kpse_set_program_name=yes
+else
+ ac_cv_lib_kpathsea_kpse_set_program_name=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kpathsea_kpse_set_program_name" >&5
+$as_echo "$ac_cv_lib_kpathsea_kpse_set_program_name" >&6; }
+if test "x$ac_cv_lib_kpathsea_kpse_set_program_name" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBKPATHSEA 1
+_ACEOF
+
+ LIBS="-lkpathsea $LIBS"
+
+else
+ $as_echo "#define OLD_KPATHSEA 1" >>confdefs.h
+
+fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for kpse_init_prog in -lkpathsea" >&5
+$as_echo_n "checking for kpse_init_prog in -lkpathsea... " >&6; }
+if ${ac_cv_lib_kpathsea_kpse_init_prog+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lkpathsea $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char kpse_init_prog ();
+int
+main ()
+{
+return kpse_init_prog ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_kpathsea_kpse_init_prog=yes
+else
+ ac_cv_lib_kpathsea_kpse_init_prog=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kpathsea_kpse_init_prog" >&5
+$as_echo "$ac_cv_lib_kpathsea_kpse_init_prog" >&6; }
+if test "x$ac_cv_lib_kpathsea_kpse_init_prog" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBKPATHSEA 1
+_ACEOF
+
+ LIBS="-lkpathsea $LIBS"
+
+else
+
+ as_fn_error $? "Can't find kpathsea library! Use --with-kpathsea-lib option." "$LINENO" 5
+fi
+
+
+ # On IRIX 5.3, sys/types and inttypes.h are conflicting.
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+ac_fn_c_check_header_mongrel "$LINENO" "kpathsea/kpathsea.h" "ac_cv_header_kpathsea_kpathsea_h" "$ac_includes_default"
+if test "x$ac_cv_header_kpathsea_kpathsea_h" = xyes; then :
+
+else
+ $as_echo "#define VERY_OLD_KPATHSEA 1" >>confdefs.h
+
+fi
+
+
+
+ ac_fn_c_check_header_mongrel "$LINENO" "kpathsea/c-auto.h" "ac_cv_header_kpathsea_c_auto_h" "$ac_includes_default"
+if test "x$ac_cv_header_kpathsea_c_auto_h" = xyes; then :
+
+else
+
+ as_fn_error $? "Can't find kpathsea include files! Use --with-kpathsea-include option." "$LINENO" 5
+fi
+
+
+else
+ CPPFLAGS="$CPPFLAGS -I$srcdir"
+fi
+
+
+if test "x$CC" = xgcc; then
+ XX_CFLAGS="-Wall"
+else
+ case "$host" in
+ alpha-dec-osf*)
+ XX_CFLAGS="-std1 -O2 -g3"
+ ;;
+ *)
+ XX_CFLAGS=
+ ;;
+ esac
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
+$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
+if ${ac_cv_c_const+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+#ifndef __cplusplus
+ /* Ultrix mips cc rejects this sort of thing. */
+ typedef int charset[2];
+ const charset cs = { 0, 0 };
+ /* SunOS 4.1.1 cc rejects this. */
+ char const *const *pcpcc;
+ char **ppc;
+ /* NEC SVR4.0.2 mips cc rejects this. */
+ struct point {int x, y;};
+ static struct point const zero = {0,0};
+ /* AIX XL C 1.02.0.0 rejects this.
+ It does not let you subtract one const X* pointer from another in
+ an arm of an if-expression whose if-part is not a constant
+ expression */
+ const char *g = "string";
+ pcpcc = &g + (g ? g-g : 0);
+ /* HPUX 7.0 cc rejects these. */
+ ++pcpcc;
+ ppc = (char**) pcpcc;
+ pcpcc = (char const *const *) ppc;
+ { /* SCO 3.2v4 cc rejects this sort of thing. */
+ char tx;
+ char *t = &tx;
+ char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+ *t++ = 0;
+ if (s) return 0;
+ }
+ { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
+ int x[] = {25, 17};
+ const int *foo = &x[0];
+ ++foo;
+ }
+ { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+ typedef const int *iptr;
+ iptr p = 0;
+ ++p;
+ }
+ { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying
+ "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+ struct s { int j; const int *ap[3]; } bx;
+ struct s *b = &bx; b->j = 5;
+ }
+ { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+ const int foo = 10;
+ if (!foo) return 0;
+ }
+ return !cs[0] && !zero.x;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_const=yes
+else
+ ac_cv_c_const=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
+$as_echo "$ac_cv_c_const" >&6; }
+if test $ac_cv_c_const = no; then
+
+$as_echo "#define const /**/" >>confdefs.h
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5
+$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; }
+if ${ac_cv_struct_tm+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <time.h>
+
+int
+main ()
+{
+struct tm tm;
+ int *p = &tm.tm_sec;
+ return !p;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_struct_tm=time.h
+else
+ ac_cv_struct_tm=sys/time.h
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5
+$as_echo "$ac_cv_struct_tm" >&6; }
+if test $ac_cv_struct_tm = sys/time.h; then
+
+$as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h
+
+fi
+
+
+
+for ac_func in vprintf
+do :
+ ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf"
+if test "x$ac_cv_func_vprintf" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_VPRINTF 1
+_ACEOF
+
+ac_fn_c_check_func "$LINENO" "_doprnt" "ac_cv_func__doprnt"
+if test "x$ac_cv_func__doprnt" = xyes; then :
+
+$as_echo "#define HAVE_DOPRNT 1" >>confdefs.h
+
+fi
+
+fi
+done
+
+
+for ac_func in strdup strstr strtol strtoul
+do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+if test "x$ac_cv_func_strdup" = xno; then
+ no_strdup=-DNO_STRDUP
+fi
+
+
+# Extract the first word of "rm", so it can be a program name with args.
+set dummy rm; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_RM+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$RM"; then
+ ac_cv_prog_RM="$RM" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_RM="rm"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+RM=$ac_cv_prog_RM
+if test -n "$RM"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RM" >&5
+$as_echo "$RM" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if ${ac_cv_path_install+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in #((
+ ./ | .// | /[cC]/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
+ /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ rm -rf conftest.one conftest.two conftest.dir
+ echo one > conftest.one
+ echo two > conftest.two
+ mkdir conftest.dir
+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+ test -s conftest.one && test -s conftest.two &&
+ test -s conftest.dir/conftest.one &&
+ test -s conftest.dir/conftest.two
+ then
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+
+ done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ INSTALL=$ac_install_sh
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+if test -z "$kpathsea_include" -a -z "$kpathsea_lib"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+
+ hbf2gf will be compiled without file search library support!
+ For kpathsea support use the --with-kpathsea-lib and
+ --with-kpathsea-include options.
+ " >&5
+$as_echo "$as_me: WARNING:
+
+ hbf2gf will be compiled without file search library support!
+ For kpathsea support use the --with-kpathsea-lib and
+ --with-kpathsea-include options.
+ " >&2;}
+fi
+
+ac_config_files="$ac_config_files Makefile"
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
+
+ (set) 2>&1 |
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ # `set' does not quote correctly, so add quotes: double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \.
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;; #(
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+) |
+ sed '
+ /^ac_cv_env_/b end
+ t clear
+ :clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ if test "x$cache_file" != "x/dev/null"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+ if test ! -f "$cache_file" || test -h "$cache_file"; then
+ cat confcache >"$cache_file"
+ else
+ case $cache_file in #(
+ */* | ?:*)
+ mv -f confcache "$cache_file"$$ &&
+ mv -f "$cache_file"$$ "$cache_file" ;; #(
+ *)
+ mv -f confcache "$cache_file" ;;
+ esac
+ fi
+ fi
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then branch to the quote section. Otherwise,
+# look for a macro that doesn't take arguments.
+ac_script='
+:mline
+/\\$/{
+ N
+ s,\\\n,,
+ b mline
+}
+t clear
+:clear
+s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g
+t quote
+s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g
+t quote
+b any
+:quote
+s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g
+s/\[/\\&/g
+s/\]/\\&/g
+s/\$/$$/g
+H
+:any
+${
+ g
+ s/^\n//
+ s/\n/ /g
+ p
+}
+'
+DEFS=`sed -n "$ac_script" confdefs.h`
+
+
+ac_libobjs=
+ac_ltlibobjs=
+U=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+
+: "${CONFIG_STATUS=./config.status}"
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in #(
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -pR'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -pR'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -pR'
+ fi
+else
+ as_ln_s='cp -pR'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by $as_me, which was
+generated by GNU Autoconf 2.69. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration. Unless the files
+and actions are specified as TAGs, all are instantiated by default.
+
+Usage: $0 [OPTION]... [TAG]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number and configuration settings, then exit
+ --config print configuration, then exit
+ -q, --quiet, --silent
+ do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Report bugs to the package provider."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.69,
+ with options \\"\$ac_cs_config\\"
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=?*)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ --*=)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=
+ ac_shift=:
+ ;;
+ *)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ $as_echo "$ac_cs_version"; exit ;;
+ --config | --confi | --conf | --con | --co | --c )
+ $as_echo "$ac_cs_config"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ '') as_fn_error $? "missing file argument" ;;
+ esac
+ as_fn_append CONFIG_FILES " '$ac_optarg'"
+ ac_need_defaults=false;;
+ --he | --h | --help | --hel | -h )
+ $as_echo "$ac_cs_usage"; exit ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) as_fn_error $? "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
+
+ *) as_fn_append ac_config_targets " $1"
+ ac_need_defaults=false ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ shift
+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+ CONFIG_SHELL='$SHELL'
+ export CONFIG_SHELL
+ exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ $as_echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+ case $ac_config_target in
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+
+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+ esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+ tmp= ac_tmp=
+ trap 'exit_status=$?
+ : "${ac_tmp:=$tmp}"
+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
+' 0
+ trap 'as_fn_exit 1' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+ test -d "$tmp"
+} ||
+{
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+ eval ac_cr=\$\'\\r\'
+fi
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+ ac_cs_awk_cr='\\r'
+else
+ ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+ echo "cat >conf$$subs.awk <<_ACEOF" &&
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+} >conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ . ./conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
+ break
+ elif $ac_last_try; then
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\)..*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\)..*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+ N
+ s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
+
+}
+{
+ line = $ 0
+ nfields = split(line, field, "@")
+ substed = 0
+ len = length(field[1])
+ for (i = 2; i < nfields; i++) {
+ key = field[i]
+ keylen = length(key)
+ if (S_is_set[key]) {
+ value = S[key]
+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+ len += length(value) + length(field[++i])
+ substed = 1
+ } else
+ len += 1 + keylen
+ }
+
+ print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+ cat
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
+h
+s///
+s/^/:/
+s/[ ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
+s/:*$//
+x
+s/\(=[ ]*\).*/\1/
+G
+s/\n//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+
+eval set X " :F $CONFIG_FILES "
+shift
+for ac_tag
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
+
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$ac_tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+ esac
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ as_fn_append ac_file_inputs " '$ac_f'"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input='Generated from '`
+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+ `' by configure.'
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+ fi
+ # Neutralize special characters interpreted by sed in replacement strings.
+ case $configure_input in #(
+ *\&* | *\|* | *\\* )
+ ac_sed_conf_input=`$as_echo "$configure_input" |
+ sed 's/[\\\\&|]/\\\\&/g'`;; #(
+ *) ac_sed_conf_input=$configure_input;;
+ esac
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$ac_tmp/stdin" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+ esac
+ ;;
+ esac
+
+ ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ as_dir="$ac_dir"; as_fn_mkdir_p
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+ esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+ac_sed_dataroot='
+/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
+ "$ac_tmp/out"`; test -z "$ac_out"; } &&
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined" >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined" >&2;}
+
+ rm -f "$ac_tmp/stdin"
+ case $ac_file in
+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
+ esac \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ ;;
+
+
+
+ esac
+
+done # for ac_tag
+
+
+as_fn_exit 0
+_ACEOF
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || as_fn_exit 1
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/configure.ac b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/configure.ac
new file mode 100644
index 0000000000..4c28719516
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/configure.ac
@@ -0,0 +1,131 @@
+dnl This file is part of the CJK package ver. 4.8.4
+
+dnl Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 2 of the License, or
+dnl (at your option) any later version.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+dnl GNU General Public License for more details.
+
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program in doc/COPYING; if not, write to the Free
+dnl Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+dnl MA 02110-1301 USA
+
+dnl Process this file with autoconf to produce a configure script.
+AC_INIT
+AC_CONFIG_SRCDIR([hbf.h])
+
+
+dnl check host
+AC_CANONICAL_TARGET([])
+
+
+dnl Checks for programs.
+AC_PROG_CC
+
+
+dnl Checks for header files.
+AC_HEADER_STDC
+
+AC_ARG_WITH(kpathsea-include,
+ [ --with-kpathsea-include=DIR
+ location of the kpathsea include dir],[
+ if test x$withval = xyes; then
+ AC_MSG_WARN(Usage is: --with-kpathsea-include=includedir)
+ else
+ if test x$withval = xno; then
+ AC_MSG_WARN(Usage is: --with-kpathsea-include=includedir)
+ else
+ kpathsea_include=$withval
+ fi
+ fi
+])
+
+
+dnl Checks for libraries.
+AC_ARG_WITH(kpathsea-lib,
+ [ --with-kpathsea-lib=DIR
+ location of the kpathsea lib dir],[
+ if test x$withval = xyes; then
+ AC_MSG_WARN(Usage is: --with-kpathsea-lib=libdir)
+ else
+ if test x$withval = xno; then
+ AC_MSG_WARN(Usage is: --with-kpathsea-lib=libdir)
+ else
+ kpathsea_lib=$withval
+ fi
+ fi
+])
+
+
+if test -n "$kpathsea_include" -o -n "$kpathsea_lib"; then
+ LIBS="$LIBS -L$kpathsea_lib"
+ CPPFLAGS="$CPPFLAGS -I$kpathsea_include -I$srcdir"
+
+ dnl the function kpse_set_program_name() is available since kpathsea 3.2
+ AC_CHECK_LIB(kpathsea, kpse_set_program_name, , AC_DEFINE(OLD_KPATHSEA))
+
+ AC_CHECK_LIB(kpathsea, kpse_init_prog, ,[
+ AC_MSG_ERROR([Can't find kpathsea library! Use --with-kpathsea-lib option.])])
+
+ dnl the header file kpathsea.h doesn't exist in kpathsea 2.6 and before
+ AC_CHECK_HEADER(kpathsea/kpathsea.h, , AC_DEFINE(VERY_OLD_KPATHSEA))
+
+ AC_CHECK_HEADER(kpathsea/c-auto.h, ,[
+ AC_MSG_ERROR([Can't find kpathsea include files! Use --with-kpathsea-include option.])])
+else
+ CPPFLAGS="$CPPFLAGS -I$srcdir"
+fi
+
+
+dnl Get compiler flags right.
+if test "x$CC" = xgcc; then
+ XX_CFLAGS="-Wall"
+else
+ case "$host" in
+ alpha-dec-osf*)
+ XX_CFLAGS="-std1 -O2 -g3"
+ ;;
+ *)
+ XX_CFLAGS=
+ ;;
+ esac
+fi
+AC_SUBST(XX_CFLAGS)
+
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+AC_C_CONST
+AC_STRUCT_TM
+
+
+dnl Checks for library functions.
+AC_FUNC_VPRINTF
+AC_CHECK_FUNCS(strdup strstr strtol strtoul)
+
+dnl we need this for hbf.c
+if test "x$ac_cv_func_strdup" = xno; then
+ no_strdup=-DNO_STRDUP
+fi
+AC_SUBST(no_strdup)
+
+AC_CHECK_PROG(RM, rm, rm)
+AC_PROG_INSTALL
+
+if test -z "$kpathsea_include" -a -z "$kpathsea_lib"; then
+ AC_MSG_WARN([
+
+ hbf2gf will be compiled without file search library support!
+ For kpathsea support use the --with-kpathsea-lib and
+ --with-kpathsea-include options.
+ ])
+fi
+
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/dvidrv.btm b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/dvidrv.btm
new file mode 100644
index 0000000000..4ec03d0bf2
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/dvidrv.btm
@@ -0,0 +1,352 @@
+setdos /y1
+::
+:: Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+::
+:: This program is free software; you can redistribute it and/or modify
+:: it under the terms of the GNU General Public License as published by
+:: the Free Software Foundation; either version 2 of the License, or
+:: (at your option) any later version.
+::
+:: This program is distributed in the hope that it will be useful,
+:: but WITHOUT ANY WARRANTY; without even the implied warranty of
+:: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+:: GNU General Public License for more details.
+::
+:: You should have received a copy of the GNU General Public License
+:: along with this program in doc/COPYING; if not, write to the Free
+:: Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+:: MA 02110-1301 USA
+::
+::
+:: This is dvidrv.btm, a batch file for 4DOS/4OS2 written by
+:: Werner Lemberg <wl@gnu.org> partially based on the
+:: dvidrv.btm file of the 4allTeX package written by Phons Bloemen.
+::
+:: It is a replacement for dvidrv.exe of the emTeX package.
+::
+:: Additional features: support of ps2pk
+:: support of ttf2pk
+:: support of hbf2gf for HBFs (Hanzi bitmap fonts)
+::
+:: Only quadratic printer modes are supported for ttf2pk!
+::
+:: All needed binaries will be searched in the path.
+
+iff %# lt 2 then
+ echo ``
+ echo Usage: %0 dvi-driver dvi-file [parameters]
+ quit
+endiff
+
+setlocal
+ :: we set a default value only if the corresponding environment variable
+ :: is empty. The `=' must follow the variable name immediately.
+ alias set_def `iff "%[%@word["=",0,%1]]" eq "" then %+ set %& %+ endiff`
+
+ :: =========================================
+ :: ======== User defined variables. ========
+ :: =========================================
+ ::
+ :: Can be overridden in the environment (except %ps2pk, %ttf2pk, %hbf2gf,
+ :: %pre_dpi, and %post_dpi).
+
+ :: Comment out the programs you don't want to use.
+ set ps2pk=yes
+ set ttf2pk=yes
+ set hbf2gf=yes
+
+ :: where the PK files will be installed created by ps2pk, ttf2pk, and
+ :: hbf2gf.
+ :: dvidrv.btm adds `\modeless\XXXdpi' to this string (see below for the
+ :: exact string).
+ set_def pkdir=%emtexdir\pixel\tmp\pk
+
+ :: where the TrueType fonts reside.
+ set_def ttfonts=%emtexdir\fonts\truetype
+ :: where auxiliary files of ttf2pk are located.
+ set_def ttfcfg=%emtexdir\ttf2pk
+
+ :: where the HBF files reside.
+ set_def hbfonts=%emtexdir\fonts\hbf
+ :: where the hbf2gf config files are.
+ set_def hbfcfg=%emtexdir\hbf2gf
+
+ :: the dpi-subdirectory has various forms; the most common are XXXdpi and
+ :: dpiXXX, e.g. 300dpi and dpi300. Here we define two variables which
+ :: control this behaviour.
+ :: [dpiXXX is used for TDS compatible TeX trees.]
+ set pre_dpi=dpi
+ set post_dpi=
+
+ :: ================================================
+ :: ======== End of user defined variables. ========
+ :: ================================================
+
+ :: the base name for log files etc.
+ set basename=%@name[%1]
+
+ :: do we run dvips?
+ iff "%basename" ne "dvips" then
+ goto nodvips1
+ endiff
+
+ :: we delete dvips.mfj if it exists.
+ del dvips.mfj >& nul
+
+ :: now we run dvips with all supplied parameters.
+ %&
+
+ :: do we have to generate fonts?
+ iff exist dvips.mfj then
+ goto generate_fonts
+ endiff
+
+ :: else all is done.
+ goto end
+
+
+:nodvips1
+ :: here we call the dvi driver with all supplied parameters.
+ %& -pj:%basename.mfj
+
+ :: do we have to generate fonts?
+ iff errorlevel 8 then
+ goto generate_fonts
+ endiff
+
+ :: else all is done.
+ goto end
+
+
+:generate_fonts
+ gosub call_mfjob
+
+ :: do we run dvips?
+ iff "%basename" ne "dvips" then
+ goto nodvips2
+ endiff
+
+ :: we now call dvips a second time
+ %&
+
+ :: since no fonts will be generated in the second run we remove dvips.mfj
+ del dvips.mfj >& nul
+
+ goto end
+
+
+:nodvips2
+ :: we call the dvi driver a second time (without font generation).
+ %& -pj -fm
+
+ del %basename.mfj >& nul
+
+ goto end
+
+
+:: this is the main subroutine which calls mfjob and then parses the mfjob
+:: file for fonts which can be handled by ps2pk, ttf2pk, or hbf2gf.
+:call_mfjob
+ :: this alias prints a message on the screen and writes it into the logfile.
+ alias echolog=`echo %& | tee /a %basename.mlg`
+
+ echo ======== DVIDRV.BTM logfile ======== > %basename.mlg
+ echo Commandline: dvidrv.btm %& >> %basename.mlg
+ echo `` >> %basename.mlg
+ echo basename=%basename >> %basename.mlg
+ echo emtexdir=%emtexdir >> %basename.mlg
+ echo dvidrvfonts=%dvidrvfonts >> %basename.mlg
+ echo mfinput=%mfinput >> %basename.mlg
+ echo mfjobopt=%mfjobopt >> %basename.mlg
+ echo textfm=%textfm >> %basename.mlg
+ echo psfonts=%psfonts >> %basename.mlg
+ echo ttfonts=%ttfonts >> %basename.mlg
+ echo ttfcfg=%ttfcfg >> %basename.mlg
+ echo hbfonts=%hbfonts >> %basename.mlg
+ echo hbfcfg=%hbfcfg >> %basename.mlg
+ echo `` >> %basename.mlg
+
+ iff "%@search[mfjob]" eq "" then
+ echolog MFJOB not found in the path.
+ echolog Can't generate PK fonts from METAFONT automatically.
+ echo ``
+ quit
+ endiff
+
+ :: now we call mfjob.
+ echolog mfjob %mfjobopt -g%basename.mfl %basename.mfj
+ mfjob %mfjobopt -g%basename.mfl %basename.mfj
+ iff %? gt 0 then
+ echolog ``
+ echolog Something went wrong while running METAFONT.
+ echolog Look into the log files...
+ echolog ``
+ endiff
+
+ :: after running mfjob we scan the mfjob input file for fonts which can
+ :: be handled by ps2pk, ttf2pk or hbf2gf.
+ set lnnr=0
+ set totlines=%@lines[%basename.mfj]
+
+ do while %lnnr le %totlines
+ :: input a line.
+ set scratch=%@line[%basename.mfj,%lnnr]
+ set lnnr=%@inc[%lnnr]
+
+ :: get resolutions (METAFONT mode will be ignored).
+ :: example:
+ :: mode=lqlores[180 180];
+ iff %@index[%scratch,mode] ge 0 then
+ set temp=%@word["[]",1,%scratch]
+ set xdpi=%@word[0,%temp]
+ set ydpi=%@word[1,%temp]
+ endiff
+
+ :: get fontname and magnification; we then compute the font resolutions
+ :: (rounded to the nearest integer---there is no necessity to adjust
+ :: these values further because of possible rounding errors since both
+ :: emTeX's dvi drivers and dvips check neighbored values too).
+ :: example:
+ :: {font=cmr10; mag=0.5;}
+ iff %@index[%scratch,{font] ge 0 then
+ set testfont=%@word["=;",1,%scratch]
+ set temp=%@word["=;",3,%scratch]
+ :: we use highest arithmetic precision for these calculations.
+ :: Additionally we write 1/2 instead of 0.5 to avoid problems with
+ :: countries which use a comma instead of a colon as the decimal
+ :: separator.
+ set fontresx=%@int[%@eval[%xdpi*%temp+1/2=8]]
+ set fontresy=%@int[%@eval[%ydpi*%temp+1/2=8]]
+ set pksubdir=modeless\%[pre_dpi]%[fontresx]%post_dpi
+
+ set success=0
+
+ :: check whether %testfont leads to a PS font (we call ps2pkmfj).
+ iff %success == 0 .and. "%ps2pk" ne "" then
+ gosub call_ps2pk
+ endiff
+
+ :: check whether %testfont leads to a TrueType font.
+ iff %success == 0 .and. "%ttf2pk" ne "" then
+ gosub call_ttf2pk
+ endiff
+
+ :: check whether %testfont leads to a HBF file.
+ iff %success == 0 .and. "%hbf2gf" ne "" then
+ gosub call_hbf2gf
+ endiff
+ endiff
+ enddo
+
+ iff exist %basename.mfp then
+ echo `` >> %basename.mlg
+ echo `` >> %basename.mlg
+ echo ======== PS2PK logfile ======== >> %basename.mlg
+ echo `` >> %basename.mlg
+ type %basename.mfp >> %basename.mlg
+ echo `` >> %basename.mlg
+ del %basename.mfp >& nul
+ endiff
+
+ iff exist %basename.mfl then
+ echo `` >> %basename.mlg
+ type %basename.mfl >> %basename.mlg
+ echo `` >> %basename.mlg
+ del %basename.mfl >& nul
+ endiff
+
+ return
+
+
+:call_ttf2pk
+ iff "%@search[ttf2pk]" eq "" then
+ echolog TTF2PK not found in the path.
+ echolog Can't generate PK fonts from TrueType fonts automatically.
+ echo ``
+ quit
+ endiff
+
+ echolog ttf2pk -q -n %testfont %fontresx
+ ttf2pk -q -n %testfont %fontresx
+
+ iff %? == 0 then
+ echolog Font %pkdir\%pksubdir\%testfont.pk generated.
+ mkdir /s %pkdir\%pksubdir >& nul
+ move %testfont.pk %pkdir\%pksubdir >& nul
+ set success=1
+ elseiff %? == 2 then
+ echolog (%lnnr/%totlines): Font %testfont is no TrueType font.
+ set success=0
+ else
+ echolog Error running TTF2PK for font %testfont!
+ endiff
+
+ return
+
+
+:call_hbf2gf
+ iff "%@search[hbf2gf]" eq "" then
+ echolog HBF2GF not found in the path.
+ echolog Can't generate PK fonts from HBF files automatically.
+ echo ``
+ quit
+ endiff
+
+ echolog hbf2gf -q -p -n %testfont %fontresx %fontresy
+ hbf2gf -q -p -n %testfont %fontresx %fontresy
+
+ iff %? == 0 then
+ echolog Font %pkdir\%pksubdir\%testfont.pk generated.
+ mkdir /s %pkdir\%pksubdir >& nul
+ gftopk %testfont.gf %testfont.pk
+ move %testfont.pk %pkdir\%pksubdir >& nul
+ del %testfont.gf >& nul
+ set success=1
+ elseiff %? == 2 then
+ echolog (%lnnr/%totlines): Font %testfont is no HBF.
+ set success=0
+ else
+ echolog Error running HBF2GF for font %testfont!
+ endiff
+
+ return
+
+
+:call_ps2pk
+ iff not exist %pkdir\%pksubdir\%testfont.pk then
+ iff "%@search[ps2pkmfj]" eq "" .or. "%@search[ps2pk]" eq "" then
+ echolog PS2PKMFJ and/or PS2PK not found in the path.
+ echolog Can't generate PK fonts from PostScript fonts automatically.
+ echo ``
+ quit
+ endiff
+
+ echolog ps2pkmfj -X%fontresx -Y%fontresy %testfont %testfont.pk
+ ps2pkmfj -X%fontresx -Y%fontresy %testfont %testfont.pk | input %%pspkline
+
+ iff errorlevel != 1 then
+ %pspkline >> %basename.mfp
+ iff %? == 0 then
+ echolog Font %pkdir\%pksubdir\%testfont.pk generated.
+ mkdir /s %pkdir\%pksubdir >& nul
+ move %testfont.pk %pkdir\%pksubdir >& nul
+ success=1
+ else
+ echolog Error running PS2PK for font %testfont!
+ endiff
+ else
+ echolog (%lnnr/%totlines): Font %testfont is no PS font.
+ success=0
+ endiff
+ else
+ echolog Font %pkdir\%pksubdir\%testfont.pk already exists.
+ endiff
+
+ return
+
+
+:end
+
+endlocal
+
+:: ==== end of dvidrv.btm ====
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emdir.c b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emdir.c
new file mode 100644
index 0000000000..4e759c83eb
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emdir.c
@@ -0,0 +1,109 @@
+/* emdir.c -- Written by Eberhard Mattes, donated to the public domain */
+
+#include "emdir.h"
+
+#ifdef OS2
+
+#undef HPS
+#define INCL_DOSFILEMGR
+#include <os2.h>
+#include <string.h>
+
+#define FHDIR(b) (*(HDIR *)(b)->reserved)
+
+static void fconv (struct ll_findbuffer *dst, const FILEFINDBUF *src)
+{
+ dst->attr = src->attrFile;
+ dst->time = *(unsigned *)&src->ftimeLastWrite;
+ dst->date = *(unsigned *)&src->fdateLastWrite;
+ dst->size = src->cbFile;
+ strcpy (dst->name, src->achName);
+}
+
+
+int ll_findfirst (const char *path, int attr, struct ll_findbuffer *buffer)
+{
+ USHORT rc;
+ ULONG count;
+ HDIR hdir;
+ FILEFINDBUF ffbuf;
+
+ hdir = HDIR_CREATE;
+ count = 1;
+ rc = DosFindFirst ((PSZ)path, &hdir, attr, &ffbuf, sizeof (ffbuf),
+ &count, 0L);
+ if (rc != 0 || count != 1)
+ return 0;
+ FHDIR (buffer) = hdir;
+ fconv (buffer, &ffbuf);
+ return 1;
+}
+
+
+int ll_findnext (struct ll_findbuffer *buffer)
+{
+ USHORT rc;
+ ULONG count;
+ HDIR hdir;
+ FILEFINDBUF ffbuf;
+
+ hdir = FHDIR (buffer);
+ count = 1;
+ rc = DosFindNext (hdir, &ffbuf, sizeof (ffbuf), &count);
+ if (rc != 0 || count != 1)
+ {
+ DosFindClose (hdir);
+ return 0;
+ }
+ fconv (buffer, &ffbuf);
+ return 1;
+}
+
+
+#elif defined(DJGPP)
+
+/* djgpp support by Hartmut Schirmer (hsc@techfak.uni-kiel.de), May 30, 1997 */
+
+#include <dos.h>
+#include <dir.h>
+
+static int ll_attr = 0;
+int ll_findnext (struct ll_findbuffer *buffer)
+{
+ int res;
+ do {
+ res = _dos_findnext ((struct find_t *)buffer);
+ if (res != 0) return 0;
+ } while ( (buffer->attrib&ll_attr) == 0);
+ return 1;
+}
+
+int ll_findfirst (const char *path, int attr, struct ll_findbuffer *buffer)
+{
+ int res;
+ ll_attr = attr;
+ res = _dos_findfirst((char *)path, attr, (struct find_t *)buffer);
+ if (res != 0) return 0;
+ if ( (buffer->attrib&ll_attr) == 0)
+ return ll_findnext(buffer);
+ return 1;
+}
+
+#elif !defined(__EMX__) /* if not OS2 nor DJGPP nor __EMX__ defined */
+
+/* Not tested */
+
+#include <dos.h>
+
+int ll_findfirst (const char *path, int attr, struct ll_findbuffer *buffer)
+{
+ return _dos_findfirst (path, attr, (struct find_t *)buffer) == 0;
+}
+
+
+int ll_findnext (struct ll_findbuffer *buffer)
+{
+ return _dos_findnext ((struct find_t *)buffer) == 0;
+}
+
+#endif
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emdir.h b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emdir.h
new file mode 100644
index 0000000000..0606d476ab
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emdir.h
@@ -0,0 +1,25 @@
+/* emdir.h -- Written by Eberhard Mattes, donated to the public domain */
+
+#if defined(DJGPP)
+
+/* djgpp support by Hartmut Schirmer (hsc@techfak.uni-kiel.de), May 30, 1997 */
+#include <dos.h>
+#define ll_findbuffer find_t
+#define attr attrib
+
+#else
+
+struct ll_findbuffer
+{
+ char reserved[21];
+ unsigned char attr;
+ unsigned time;
+ unsigned date;
+ long size;
+ char name[257];
+};
+
+#endif
+
+int ll_findfirst (const char *path, int attr, struct ll_findbuffer *buffer);
+int ll_findnext (struct ll_findbuffer *buffer);
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emtexdir.c b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emtexdir.c
new file mode 100644
index 0000000000..9a35570adb
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emtexdir.c
@@ -0,0 +1,405 @@
+/* emtexdir.c -- written by Eberhard Mattes, donated to the public domain */
+
+#if defined (__EMX__)
+#include <emx/syscalls.h>
+#else
+#include "emdir.h"
+#endif
+#if defined(DJGPP) || defined(GO32)
+#include <unistd.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+#include <fcntl.h>
+#include <io.h>
+#include "emtexdir.h"
+
+#define FALSE 0
+#define TRUE 1
+
+void (*emtex_dir_find_callback)(const char *name, int ok) = NULL;
+
+static int setup_add (struct emtex_dir *dst, const char *path)
+{
+ char *p;
+
+ if (dst->used >= dst->alloc)
+ {
+ dst->alloc += 8;
+ dst->list = realloc (dst->list, dst->alloc * sizeof (*dst->list));
+ if (dst->list == NULL)
+ return (FALSE);
+ }
+ p = strdup (path);
+ if (p == NULL)
+ return (FALSE);
+ dst->list[dst->used++] = p;
+ return (TRUE);
+}
+
+
+static int setup_subdir (struct emtex_dir *dst, char *path, size_t add,
+ unsigned flags, int recurse)
+{
+ int ok, i, end, len;
+#if defined (__EMX__)
+ struct _find find;
+#else
+ struct ll_findbuffer find;
+#endif
+
+ i = dst->used;
+ strcpy (path + add, "*.*");
+#if defined (__EMX__)
+ ok = __findfirst (path, 0x10, &find) == 0;
+#else
+ ok = ll_findfirst (path, 0x10, &find);
+#endif
+ while (ok)
+ {
+ if ((find.attr & 0x10)
+ && !(strcmp (find.name, ".") == 0 || strcmp (find.name, "..") == 0))
+ {
+ len = strlen (find.name);
+ memcpy (path + add, find.name, len);
+ path[add+len] = '\\';
+ path[add+len+1] = 0;
+ if (!setup_add (dst, path))
+ return (FALSE);
+ }
+#if defined (__EMX__)
+ ok = __findnext (&find) == 0;
+#else
+ ok = ll_findnext (&find);
+#endif
+ }
+ if (recurse)
+ {
+ end = dst->used;
+ while (i < end)
+ {
+ strcpy (path, dst->list[i]);
+ if (!setup_subdir (dst, path, strlen (path), flags, TRUE))
+ return (FALSE);
+ ++i;
+ }
+ }
+ return (TRUE);
+}
+
+
+static int setup_dir (struct emtex_dir *dst, char *path,
+ const char *base_dir, size_t base_dir_len,
+ const char *sub_dir,
+ unsigned flags)
+{
+ size_t i, len;
+
+ memcpy (path, base_dir, base_dir_len);
+ i = base_dir_len;
+ if ((flags & EDS_BANG) && sub_dir == NULL)
+ {
+ flags &= ~(EDS_ONESUBDIR|EDS_ALLSUBDIR);
+ if (i >= 2 && path[i-1] == '!' && path[i-2] == '!')
+ {
+ flags |= EDS_ALLSUBDIR;
+ i -= 2;
+ }
+ else if (i >= 1 && path[i-1] == '!')
+ {
+ flags |= EDS_ONESUBDIR;
+ --i;
+ }
+ }
+ if (sub_dir != NULL && *sub_dir != 0)
+ {
+ if (i != 0 && path[i-1] != ':' && path[i-1] != '/' && path[i-1] != '\\')
+ path[i++] = '\\';
+ len = strlen (sub_dir);
+ memcpy (path+i, sub_dir, len);
+ i += len;
+ }
+ if (path[i-1] != ':' && path[i-1] != '/' && path[i-1] != '\\')
+ path[i++] = '\\';
+ path[i] = 0;
+ if (!setup_add (dst, path))
+ return (FALSE);
+ if (flags & EDS_ALLSUBDIR)
+ return (setup_subdir (dst, path, i, flags, TRUE));
+ else if (flags & EDS_ONESUBDIR)
+ return (setup_subdir (dst, path, i, flags, FALSE));
+ else
+ return (TRUE);
+}
+
+
+/*static */int setup_list (struct emtex_dir *dst, char *path,
+ const char *list, unsigned flags)
+{
+ const char *end;
+ size_t i;
+
+ for (;;)
+ {
+ while (*list == ' ' || *list == '\t')
+ ++list;
+ if (*list == 0)
+ return (TRUE);
+ end = list;
+ while (*end != 0 && *end != ';')
+ ++end;
+ i = end - list;
+ while (i > 0 && (list[i-1] == ' ' || list[i-1] == '\t'))
+ --i;
+ if (i != 0 && !setup_dir (dst, path, list, i, NULL, flags))
+ return (FALSE);
+ if (*end == 0)
+ return (TRUE);
+ list = end + 1;
+ }
+}
+
+
+int emtex_dir_setup (struct emtex_dir *ed, const char *env, const char *dir,
+ unsigned flags)
+{
+ const char *val;
+ char path[260];
+
+ ed->alloc = 0;
+ ed->used = 0;
+ ed->list = NULL;
+ if (env != NULL && (val = getenv (env)) != NULL)
+ return (setup_list (ed, path, val, flags));
+ else if ((val = getenv ("EMTEXDIR")) != NULL)
+ return (setup_dir (ed, path, val, strlen (val), dir, flags));
+ else
+ return (setup_dir (ed, path, "\\emtex", 6, dir, flags));
+}
+
+
+static void pretty (char *path, unsigned flags)
+{
+ char *p;
+
+ if (flags & EDF_FSLASH)
+ for (p = path; *p != 0; ++p)
+ if (*p == '\\')
+ *p = '/';
+}
+
+
+#define ADDCHAR(C) \
+ if (dst_size < 1) return (EDT_TOOLONG); \
+ *dst++ = (C); --dst_size
+
+int emtex_dir_trunc (char *dst, size_t dst_size, const char *src,
+ unsigned flags, int method)
+{
+ int len, truncated, dot;
+
+ if (src[0] != 0 && src[1] == ':')
+ {
+ ADDCHAR (src[0]);
+ ADDCHAR (src[1]);
+ src += 2;
+ }
+
+ truncated = FALSE; dot = FALSE; len = 0;
+ for (;;)
+ {
+ switch (*src)
+ {
+ case 0:
+ ADDCHAR (0);
+ return (truncated ? EDT_CHANGED : EDT_UNCHANGED);
+
+ case ':':
+ return (EDT_INVALID);
+
+ case '/':
+ case '\\':
+ ADDCHAR (*src);
+ len = 0; dot = FALSE;
+ break;
+
+ case '.':
+ if (dot)
+ return (EDT_INVALID);
+ ADDCHAR (*src);
+
+ /* ".." is allowed -- don't return EDT_INVALID for the next
+ dot. */
+
+ if (!(len == 0 && src[1] == '.'
+ && (src[2] == 0 || src[2] == '/' || src[2] == '\\')))
+ {
+ len = 0; dot = TRUE;
+ }
+ break;
+
+ default:
+ if (dot && len == 3)
+ truncated = TRUE;
+ else if (!dot && len == 8)
+ {
+ truncated = TRUE;
+ if (method == 0)
+ {
+ dst[-3] = dst[-2];
+ dst[-2] = dst[-1];
+ dst[-1] = *src;
+ }
+ }
+ else
+ {
+ ADDCHAR (*src);
+ ++len;
+ }
+ break;
+ }
+ ++src;
+ }
+}
+
+
+static int find2 (const char *name, unsigned flags)
+{
+ int ok;
+
+ ok = (access (name, 4) == 0);
+ if (flags & EDF_TRACE)
+ emtex_dir_find_callback (name, ok);
+ return (ok);
+}
+
+
+static int find1 (char *path, size_t path_size, const char *dir,
+ const char *fname, unsigned flags)
+{
+ char buf[260];
+ int method, rc;
+ size_t len, tmp;
+
+ len = 0;
+ if (dir != NULL)
+ {
+ tmp = strlen (dir);
+ if (tmp >= sizeof (buf))
+ return (FALSE);
+ memcpy (buf, dir, tmp);
+ len = tmp;
+ }
+ tmp = strlen (fname);
+ if (len + tmp >= sizeof (buf))
+ return (FALSE);
+ memcpy (buf + len, fname, tmp + 1);
+ len += tmp;
+#if 0 /* wkim */
+/* disabled for Win95's long file name support */
+/* -- Wonkoo Kim (wkim+@pitt.edu), May 18, 1997 */
+ if (_osmode == DOS_MODE)
+ {
+ rc = emtex_dir_trunc (path, path_size, buf, flags, EDT_5_PLUS_3);
+ if ((rc == EDT_UNCHANGED || rc == EDT_CHANGED) && find2 (path, flags))
+ {
+ pretty (path, flags);
+ return (TRUE);
+ }
+ rc = emtex_dir_trunc (path, path_size, buf, flags, EDT_8);
+ if (rc == EDT_CHANGED && find2 (path, flags))
+ {
+ pretty (path, flags);
+ return (TRUE);
+ }
+ return (FALSE);
+ }
+ else
+#endif /* wkim */
+ {
+ if (len < path_size && find2 (buf, flags))
+ {
+ memcpy (path, buf, len + 1);
+ pretty (path, flags);
+ return (TRUE);
+ }
+ for (method = 0; method < 2; ++method)
+ {
+ rc = emtex_dir_trunc (path, path_size, buf, flags, method);
+ if (rc == EDT_CHANGED && find2 (path, flags))
+ {
+ pretty (path, flags);
+ return (TRUE);
+ }
+ }
+ return (FALSE);
+ }
+}
+
+
+int emtex_dir_find (char *path, size_t path_size,
+ const struct emtex_dir *ed,
+ const char *fname, unsigned flags)
+{
+ int i, absp;
+ const char *p;
+
+ absp = FALSE;
+ for (p = fname; *p != 0; ++p)
+ if (*p == ':' || *p == '/' || *p == '\\')
+ {
+ absp = TRUE;
+ break;
+ }
+
+ if (absp)
+ return (find1 (path, path_size, NULL, fname, flags));
+
+ if ((flags & EDF_CWD) && find1 (path, path_size, NULL, fname, flags))
+ return (TRUE);
+
+ for (i = 0; i < ed->used; ++i)
+ if (find1 (path, path_size, ed->list[i], fname, flags))
+ return (TRUE);
+ return (FALSE);
+}
+
+
+#if defined (TEST)
+
+#include <stdio.h>
+
+int main (int argc, char *argv[])
+{
+ struct emtex_dir ed;
+ int i;
+ unsigned flags1, flags2;
+ char path[260];
+
+ if (argc != 6)
+ {
+ puts ("Usage: emtexdir <flags> <flags> <env> <dir> <fname>");
+ return (1);
+ }
+
+ flags1 = (unsigned)strtol (argv[1], NULL, 0);
+ flags2 = (unsigned)strtol (argv[2], NULL, 0);
+
+ if (!emtex_dir_setup (&ed, argv[3], argv[4], flags1))
+ {
+ fputs ("emtex_dir_setup failed\n", stderr);
+ return (2);
+ }
+
+ printf ("Directories:\n");
+ for (i = 0; i < ed.used; ++i)
+ printf (" %s\n", ed.list[i]);
+
+ if (!emtex_dir_find (path, sizeof (path), &ed, argv[5], flags2))
+ puts ("File not found");
+ else
+ printf ("Path: %s\n", path);
+ return (0);
+}
+
+#endif
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emtexdir.h b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emtexdir.h
new file mode 100644
index 0000000000..a9a986db05
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emtexdir.h
@@ -0,0 +1,57 @@
+/* emtexdir.h -- written by Eberhard Mattes, donated to the public domain */
+
+#if !defined (_EMTEXDIR_H)
+#define _EMTEXDIR_H
+
+#if defined (__cplusplus)
+extern "C" {
+#endif
+
+
+/* Flags for emtex_dir_setup */
+
+#define EDS_ONESUBDIR 0x0001
+#define EDS_ALLSUBDIR 0x0002
+#define EDS_BANG 0x0004
+
+/* Flags for emtex_dir_find */
+
+#define EDF_CWD 0x0001
+#define EDF_FSLASH 0x0002
+#define EDF_TRACE 0x8000
+
+/* Methods for emtex_dir_trunc */
+
+#define EDT_5_PLUS_3 0 /* 5+3.3 */
+#define EDT_8 1 /* 8.3 */
+
+/* Return values for emtex_dir_trunc */
+
+#define EDT_UNCHANGED 0 /* Path name not changed */
+#define EDT_CHANGED 1 /* Path name truncated */
+#define EDT_TOOLONG 2 /* Path name too long */
+#define EDT_INVALID 3 /* Path name invalid */
+
+struct emtex_dir
+{
+ char **list;
+ int used;
+ int alloc;
+};
+
+extern void (*emtex_dir_find_callback)(const char *name, int ok);
+
+int emtex_dir_setup (struct emtex_dir *ed, const char *env, const char *dir,
+ unsigned flags);
+
+int emtex_dir_find (char *path, size_t path_size, const struct emtex_dir *ed,
+ const char *fname, unsigned flags);
+
+int emtex_dir_trunc (char *dst, size_t dst_size, const char *src,
+ unsigned flags, int method);
+
+#if defined (__cplusplus)
+}
+#endif
+
+#endif /* !defined (_EMTEXDIR_H) */
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf.c b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf.c
new file mode 100644
index 0000000000..dedb9650b2
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf.c
@@ -0,0 +1,1494 @@
+/*
+ * Copyright 1993,1994,1995,2005 by Ross Paterson
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote
+ * products derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * Ross Paterson <ross@soi.city.ac.uk>
+ * 17 October 1995
+ *
+ * The following people have supplied bug fixes:
+ *
+ * Simon Chow <khsc@synoptics.com>
+ * Fung Fung Lee <lee@simd.stanford.edu>
+ * Man-Chi Pong <mcpong@cs.ust.hk>
+ * Steven Simpson <simpson@math.psu.edu>
+ * Charles Wang <charles.wang@infores.com>
+ * Werner Lemberg <wl@gnu.org>
+ *
+ * Ross no longer maintains this code. Please send bug reports to
+ * Werner Lemberg <wl@gnu.org>.
+ *
+ */
+
+/*
+ * Two C interfaces to HBF files.
+ *
+ * The multiple interfaces make this code rather messy; I intend
+ * to clean it up as experience is gained on what is really needed.
+ *
+ * There are also two modes of operation:
+ * - the default is to read each bitmap from its file as demanded
+ * - if IN_MEMORY is defined, the whole bitmap file is held in memory.
+ * In this case, if running under Unix, the bitmap files may be gzipped
+ * (but the filename used in the HBF file should be the name of the
+ * file before it was gzipped).
+ */
+#include <stddef.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <ctype.h>
+#include <string.h>
+#include "hbf.h"
+
+#ifdef __MSDOS__
+#define msdos
+#endif
+
+/*
+ * if the linker complains about an unresolved identifier '_strdup',
+ * uncomment the following definition.
+ */
+/* #define NO_STRDUP */
+
+#ifdef __STDC__
+# define _(x) x
+#else
+# define _(x) ()
+#endif
+
+#define reg register
+
+typedef int bool;
+#define TRUE 1
+#define FALSE 0
+
+#define Bit(n) (1<<(7 - (n)))
+
+/*
+ * Messy file system issues
+ */
+
+#ifdef unix
+#define PATH_DELIMITER ':'
+#define RelativeFileName(fn) ((fn)[0] != '/')
+#define LocalFileName(fn) (strchr(fn, '/') == NULL)
+#endif /* unix */
+#ifdef msdos
+#define PATH_DELIMITER ';'
+#define HasDrive(fn) (isalpha((fn)[0]) && (fn)[1] == ':')
+#ifdef __EMX__
+#define RelativeFileName(fn) (! HasDrive(fn) && \
+ !((fn)[0] == '\\' || (fn)[0] == '/'))
+#define LocalFileName(fn) (! HasDrive(fn) && \
+ strchr(fn, '\\') == NULL && \
+ strchr(fn, '/') == NULL)
+#else
+#define RelativeFileName(fn) (! HasDrive(fn) && (fn)[0] != '\\')
+#define LocalFileName(fn) (! HasDrive(fn) && strchr(fn, '\\') == NULL)
+#endif /* __EMX__ */
+#define READ_BINARY "rb"
+#endif /* msdos */
+#ifdef vms
+#define PATH_DELIMITER ','
+#define RelativeFileName(fn) (strchr(fn, ':') == NULL && ((fn)[0] != '[' || (fn)[1] == '.' || (fn)[1] == '-'))
+#define LocalFileName(fn) (strchr(fn, ':') == NULL && strchr(fn, ']') == NULL)
+#endif
+
+#ifndef RelativeFileName
+#define RelativeFileName(fn) FALSE
+#endif
+
+#ifndef LocalFileName
+#define LocalFileName(fn) FALSE
+#endif
+
+#ifndef READ_BINARY
+#define READ_BINARY "r"
+#endif
+
+#define MAX_FILENAME 1024
+
+/*
+ * Internal structures
+ */
+
+typedef unsigned char byte;
+
+#define PROPERTY struct _PROPERTY
+#define BM_FILE struct _BM_FILE
+#define B2_RANGE struct _B2_RANGE
+#define CODE_RANGE struct _CODE_RANGE
+
+PROPERTY {
+ char *prop_name;
+ char *prop_value;
+ PROPERTY *prop_next;
+};
+
+BM_FILE {
+ char *bmf_name;
+#ifdef IN_MEMORY
+ byte *bmf_contents;
+#else
+ FILE *bmf_file;
+#endif
+ long bmf_size;
+ BM_FILE *bmf_next;
+};
+
+B2_RANGE {
+ byte b2r_start;
+ byte b2r_finish;
+ B2_RANGE *b2r_next;
+};
+
+typedef unsigned short CHAR;
+typedef unsigned int CHAR_INDEX; /* character index in file */
+#define BAD_CHAR_INDEX 0xffff
+
+CODE_RANGE {
+ CHAR code_start;
+ CHAR code_finish;
+ BM_FILE *code_bm_file;
+ long code_offset;
+ CHAR_INDEX code_pos;
+ bool code_transposed;
+ bool code_inverted;
+ CODE_RANGE *code_next;
+};
+
+/*
+ * Extended internal version of HBF
+ */
+
+typedef struct {
+ /* fields corresponding to the definition */
+ HBF public;
+ /* plus internal stuff */
+ char *filename;
+ byte *bitmap_buffer;
+ unsigned int b2_size; /* number of legal byte-2's */
+ PROPERTY *property;
+ B2_RANGE *byte_2_range;
+ CODE_RANGE *code_range;
+ BM_FILE *bm_file;
+} HBF_STRUCT;
+
+#define FirstByte(code) ((code)>>8)
+#define SecondByte(code) ((code)&0xff)
+#define MakeCode(byte1,byte2) (((byte1)<<8)|(byte2))
+
+/* size of a bitmap in the file (may be affected by transposition) */
+#define FileBitmapSize(hbfFile,cp) \
+ ((cp)->code_transposed ? \
+ (hbfBitmapBBox(hbfFile)->hbf_height + 7)/8 * \
+ hbfBitmapBBox(hbfFile)->hbf_width : \
+ HBF_BitmapSize(hbfFile))
+
+#define NEW(type) ((type *)malloc((unsigned)(sizeof(type))))
+
+#define QUOTE '"'
+
+#define MAXLINE 1024
+
+#ifdef WIN32
+#define strdup(x) _strdup(x)
+#else
+ extern char *strdup _((const char *s));
+#endif
+
+static void add_b2r _((B2_RANGE **last_b2r, int start, int finish));
+static bool add_code_range _((HBF_STRUCT *hbf, const char *line));
+static void add_property _((HBF_STRUCT *hbf, const char *lp));
+static CHAR_INDEX b2_pos _((HBF_STRUCT *hbf, HBF_CHAR code));
+static int b2_size _((B2_RANGE *b2r));
+static void clear_bbox _((HBF_BBOX *bbox));
+static void clear_record _((HBF_STRUCT *hbf));
+static char *concat _((const char *dir, int dirlen, const char *stem));
+static char *expand_filename _((const char *name, const char *filename));
+static const byte *get_bitmap
+ _((HBF_STRUCT *hbf, HBF_CHAR code, byte *buffer));
+static byte *local_buffer _((HBF_STRUCT *hbf));
+static void invert _((byte *buffer, unsigned length));
+#ifdef IN_MEMORY
+static bool read_bitmap_file _((BM_FILE *bmf, FILE *f));
+static bool copy_transposed
+ _((HBF *hbf, byte *bitmap, const byte *source));
+#else
+static bool get_transposed _((HBF *hbf, FILE *f, byte *bitmap));
+#endif
+static bool match _((const char *lp, const char *sp));
+static bool parse_file _((FILE *f, HBF_STRUCT *hbf));
+static FILE *path_open
+ _((const char *path, const char *filename, char **fullp));
+static bool real_open _((const char *filename, HBF_STRUCT *hbf));
+
+/* Error reporting */
+
+int hbfDebug; /* set this for error reporting */
+
+#ifdef __STDC__
+#include <stdarg.h>
+
+static void
+eprintf(const char *fmt, ...)
+{
+ if (hbfDebug) {
+ va_list args;
+
+ (void)fprintf(stderr, "HBF: ");
+ va_start(args, fmt);
+ (void)vfprintf(stderr, fmt, args);
+ va_end(args);
+ (void)fprintf(stderr, "\n");
+ }
+}
+#else /* ! __STDC__ */
+/* poor man's variable-length argument list */
+static void
+eprintf(fmt, x1, x2, x3, x4, x5, x6, x7, x8, x9)
+ const char *fmt;
+ int x1, x2, x3, x4, x5, x6, x7, x8, x9;
+{
+ if (hbfDebug) {
+ (void)fprintf(stderr, "HBF: ");
+ (void)fprintf(stderr, fmt, x1, x2, x3, x4, x5, x6, x7, x8, x9);
+ (void)fprintf(stderr, "\n");
+ }
+}
+#endif /* __STDC__ */
+
+static void
+clear_bbox(HBF_BBOX *bbox)
+{
+ bbox->hbf_width = bbox->hbf_height = 0;
+ bbox->hbf_xDisplacement = bbox->hbf_yDisplacement = 0;
+}
+
+static void
+clear_record(HBF_STRUCT *hbf)
+{
+ clear_bbox(&(hbf->public.hbf_bitmap_bbox));
+ clear_bbox(&(hbf->public.hbf_font_bbox));
+ hbf->property = NULL;
+ hbf->filename = NULL;
+ hbf->bitmap_buffer = NULL;
+ hbf->byte_2_range = NULL;
+ hbf->code_range = NULL;
+ hbf->bm_file = NULL;
+}
+
+/*
+ * Byte-2 ranges
+ */
+
+static void
+add_b2r(reg B2_RANGE **last_b2r, int start, int finish)
+{
+reg B2_RANGE *b2r;
+
+ b2r = NEW(B2_RANGE);
+ while (*last_b2r != NULL && (*last_b2r)->b2r_start < start)
+ last_b2r = &((*last_b2r)->b2r_next);
+ b2r->b2r_next = *last_b2r;
+ b2r->b2r_start = start;
+ b2r->b2r_finish = finish;
+ *last_b2r = b2r;
+}
+
+static CHAR_INDEX
+b2_pos(HBF_STRUCT *hbf, HBF_CHAR code)
+{
+reg B2_RANGE *b2r;
+reg unsigned c;
+reg CHAR_INDEX pos;
+
+ c = SecondByte(code);
+ pos = 0;
+ for (b2r = hbf->byte_2_range; b2r != NULL; b2r = b2r->b2r_next)
+ if (b2r->b2r_start <= c && c <= b2r->b2r_finish)
+ return pos + c - b2r->b2r_start;
+ else
+ pos += b2r->b2r_finish - b2r->b2r_start + 1;
+ return BAD_CHAR_INDEX;
+}
+
+static int
+b2_size(reg B2_RANGE *b2r)
+{
+reg int size;
+
+ size = 0;
+ for ( ; b2r != NULL; b2r = b2r->b2r_next)
+ size += b2r->b2r_finish - b2r->b2r_start + 1;
+ return size;
+}
+
+/* map a position to a character code */
+static long
+code_of(HBF_STRUCT *hbf, long pos)
+{
+ long code;
+ int residue;
+reg B2_RANGE *b2r;
+
+ code = pos / hbf->b2_size * 256;
+ residue = pos % hbf->b2_size;
+ for (b2r = hbf->byte_2_range; b2r != NULL; b2r = b2r->b2r_next)
+ if (b2r->b2r_start + residue <= b2r->b2r_finish)
+ return code + b2r->b2r_start + residue;
+ else
+ residue -= b2r->b2r_finish - b2r->b2r_start + 1;
+ /* should never get here */
+ return 0L;
+}
+
+/*
+ * String stuff
+ */
+
+static bool
+match(reg const char *lp, reg const char *sp)
+{
+ while (*lp == *sp && *sp != '\0') {
+ lp++;
+ sp++;
+ }
+ return (*lp == '\0' || isspace((unsigned char)*lp)) && *sp == '\0';
+}
+
+#ifdef NO_STRDUP
+char *
+strdup(const char *s)
+{
+ char *new_s;
+
+ new_s = malloc((unsigned)strlen(s) + 1);
+ strcpy(new_s, s);
+ return new_s;
+}
+#endif
+
+/*
+ * Properties
+ */
+
+static void
+add_property(reg HBF_STRUCT *hbf, const char *lp)
+{
+reg PROPERTY *prop;
+ char tmp[MAXLINE];
+reg char *tp;
+
+ prop = NEW(PROPERTY);
+
+ tp = tmp;
+ while (*lp != '\0' && ! isspace((unsigned char)*lp))
+ *tp++ = *lp++;
+ *tp = '\0';
+ prop->prop_name = strdup(tmp);
+
+ while (*lp != '\0' && isspace((unsigned char)*lp))
+ lp++;
+
+ tp = tmp;
+ if (*lp == QUOTE) {
+ lp++;
+ while (*lp != '\0' && ! (*lp == QUOTE && *++lp != QUOTE))
+ *tp++ = *lp++;
+ }
+ else
+ for (;;) {
+ while (*lp != '\0' && ! isspace((unsigned char)*lp))
+ *tp++ = *lp++;
+ while (*lp != '\0' && isspace((unsigned char)*lp))
+ lp++;
+ if (*lp == '\0')
+ break;
+ *tp++ = ' ';
+ }
+ *tp = '\0';
+ prop->prop_value = strdup(tmp);
+
+ prop->prop_next = hbf->property;
+ hbf->property = prop;
+}
+
+const char *
+hbfProperty(HBF *hbfFile, const char *propName)
+{
+reg HBF_STRUCT *hbf;
+reg PROPERTY *prop;
+
+ hbf = (HBF_STRUCT *)hbfFile;
+ for (prop = hbf->property; prop != NULL; prop = prop->prop_next)
+ if (strcmp(prop->prop_name, propName) == 0)
+ return prop->prop_value;
+ return NULL;
+}
+
+/*
+ * Compatability routines
+ */
+
+const char *
+HBF_GetProperty(HBF *handle, const char *propertyName)
+{
+ return hbfProperty(handle, propertyName);
+}
+
+int
+HBF_GetFontBoundingBox(HBF_Handle handle,
+ unsigned int *width, unsigned int *height,
+ int *xDisplacement, int *yDisplacement)
+{
+ if (width != NULL)
+ *width = hbfFontBBox(handle)->hbf_width;
+ if (height != NULL)
+ *height = hbfFontBBox(handle)->hbf_height;
+ if (xDisplacement != NULL)
+ *xDisplacement = hbfFontBBox(handle)->hbf_xDisplacement;
+ if (yDisplacement != NULL)
+ *yDisplacement = hbfFontBBox(handle)->hbf_yDisplacement;
+ return 0;
+}
+
+int
+HBF_GetBitmapBoundingBox(HBF_Handle handle,
+ unsigned int *width, unsigned int *height,
+ int *xDisplacement, int *yDisplacement)
+{
+ if (width != NULL)
+ *width = hbfBitmapBBox(handle)->hbf_width;
+ if (height != NULL)
+ *height = hbfBitmapBBox(handle)->hbf_height;
+ if (xDisplacement != NULL)
+ *xDisplacement = hbfBitmapBBox(handle)->hbf_xDisplacement;
+ if (yDisplacement != NULL)
+ *yDisplacement = hbfBitmapBBox(handle)->hbf_yDisplacement;
+ return 0;
+}
+
+/*
+ * Prepend a directory to a relative filename.
+ */
+static char *
+concat(const char *dir, /* not necessarily null-terminated */
+ int dirlen, /* number of significant chars in dir */
+ const char *stem) /* relative filename */
+{
+ char *fullname;
+
+ if (dirlen == 0) /* null: current directory */
+ return strdup(stem);
+#ifdef unix
+ fullname = malloc(dirlen + strlen(stem) + 2);
+ (void)sprintf(fullname, "%.*s/%s", dirlen, dir, stem);
+#else
+#ifdef msdos
+ fullname = malloc(dirlen + strlen(stem) + 2);
+ (void)sprintf(fullname, "%.*s\\%s", dirlen, dir, stem);
+#else
+#ifdef vms
+ if (dir[dirlen-1] == ']' && stem[0] == '[' && stem[1] == '-') {
+ dirlen--;
+ stem++;
+ fullname = malloc(dirlen + strlen(stem) + 2);
+ (void)sprintf(fullname, "%.*s.%s", dirlen, dir, stem);
+ }
+ else {
+ if (dir[dirlen-1] == ']' && stem[0] == '[' && stem[1] == '.') {
+ dirlen--;
+ stem++;
+ }
+ fullname = malloc(dirlen + strlen(stem) + 1);
+ (void)sprintf(fullname, "%.*s%s", dirlen, dir, stem);
+ }
+#else
+ fullname = strdup(stem);
+#endif /* vms */
+#endif /* msdos */
+#endif /* unix */
+ return fullname;
+}
+
+/*
+ * Bitmap files
+ *
+ * If the host operating system has a heirarchical file system and
+ * the bitmap file name is relative, it is relative to the directory
+ * containing the HBF file.
+ */
+static char *
+expand_filename(const char *name, const char *hbf_name)
+{
+#ifdef unix
+reg char *s;
+reg int size;
+
+ size = name[0] != '/' && (s = strrchr(hbf_name, '/')) != NULL ?
+ s - hbf_name + 1 : 0;
+ s = malloc((unsigned)size + strlen(name) + 1);
+ (void)sprintf(s, "%.*s%s", size, hbf_name, name);
+ return s;
+#else
+#ifdef msdos
+reg char *s;
+reg int size;
+
+#ifdef __EMX__
+ s = (unsigned char *)hbf_name + strlen((unsigned char *)hbf_name) - 1;
+ for(;;) {
+ if (*s == '\\' || *s == '/')
+ break;
+ if (s == hbf_name) {
+ s = NULL;
+ break;
+ }
+ s--;
+ }
+
+ size = HasDrive(name) ? 0 :
+ (name[0] == '\\' || name[0] == '/') ?
+ (HasDrive(hbf_name) ? 2 : 0) :
+ s != NULL ? s - hbf_name + 1 : 0;
+#else
+ size = HasDrive(name) ? 0 :
+ name[0] == '\\' ? (HasDrive(hbf_name) ? 2 : 0) :
+ (s = strrchr(hbf_name, '\\')) != NULL ?
+ s - hbf_name + 1 : 0;
+#endif /* __EMX__ */
+ s = malloc((unsigned)size + strlen(name) + 1);
+ (void)sprintf(s, "%.*s%s", size, hbf_name, name);
+ return s;
+#else
+#ifdef vms
+reg char *s;
+reg const char *copyto;
+reg int size;
+
+ if ((s = strchr(hbf_name, ']')) != NULL && RelativeFileName(name))
+ return concat(hbf_name, (s - hbf_name) + 1, name);
+
+ copyto = hbf_name;
+ if ((s = strstr(copyto, "::")) != NULL && strstr(name, "::") == NULL)
+ copyto = s+2;
+ if ((s = strchr(copyto, ':')) != NULL && strchr(name, ':') == NULL)
+ copyto = s+1;
+ size = copyto - hbf_name;
+ s = malloc((unsigned)size + strlen(name) + 1);
+ (void)sprintf(s, "%.*s%s", size, hbf_name, name);
+ return s;
+#else
+ return strdup(name);
+#endif /* vms */
+#endif /* msdos */
+#endif /* unix */
+}
+
+static BM_FILE *
+find_file(HBF_STRUCT *hbf, const char *filename)
+{
+ BM_FILE **fp;
+reg BM_FILE *file;
+ FILE *f;
+ char *bmfname;
+#ifdef IN_MEMORY
+#ifdef unix
+ bool from_pipe;
+#endif
+#endif
+
+ for (fp = &(hbf->bm_file); *fp != NULL; fp = &((*fp)->bmf_next)) {
+ bmfname = strrchr((*fp)->bmf_name, '/');
+ bmfname = (bmfname) ? bmfname + 1 : (*fp)->bmf_name;
+ if (strcmp(bmfname, filename) == 0)
+ return *fp;
+ }
+
+ file = NEW(BM_FILE);
+ if (file == NULL) {
+ eprintf("out of memory");
+ return NULL;
+ }
+ file->bmf_name = expand_filename(filename, hbf->filename);
+ if (file->bmf_name == NULL) {
+ free((char *)file);
+ return NULL;
+ }
+ f = fopen(file->bmf_name, READ_BINARY);
+#ifdef IN_MEMORY
+#ifdef unix
+ from_pipe = FALSE;
+ if (f == NULL) {
+ char tmp[400];
+
+ sprintf(tmp, "%s.gz", file->bmf_name);
+ if ((f = fopen(tmp, "r")) != NULL) {
+ fclose(f);
+ sprintf(tmp, "gzcat %s.gz", file->bmf_name);
+ if ((f = popen(tmp, "r")) != NULL)
+ from_pipe = TRUE;
+ }
+ }
+#endif /* unix */
+#endif /* IN_MEMORY */
+ if (f == NULL) {
+ eprintf("can't open bitmap file '%s'", file->bmf_name);
+ free(file->bmf_name);
+ free((char *)file);
+ return NULL;
+ }
+#ifdef IN_MEMORY
+ if (! read_bitmap_file(file, f)) {
+ free(file->bmf_name);
+ free((char *)file);
+ return NULL;
+ }
+#ifdef unix
+ if (from_pipe)
+ pclose(f);
+ else
+ fclose(f);
+#else /* ! unix */
+ fclose(f);
+#endif /* ! unix */
+#else /* ! IN_MEMORY */
+ file->bmf_file = f;
+ fseek(f, 0L, 2);
+ file->bmf_size = ftell(f);
+#endif /* ! IN_MEMORY */
+ file->bmf_next = NULL;
+ *fp = file;
+ return file;
+}
+
+#ifdef IN_MEMORY
+#define GRAIN_SIZE 512
+
+static bool
+read_bitmap_file(BM_FILE *bmf, FILE *f)
+{
+ byte *contents, *cp;
+ long size;
+ int c;
+
+ size = 0;
+ cp = contents = (byte *)malloc((unsigned)GRAIN_SIZE);
+ if (contents == NULL) {
+ eprintf("not enough space for bitmap file");
+ return NULL;
+ }
+ while ((c = getc(f)) != EOF) {
+ if (size%GRAIN_SIZE == 0) {
+ contents = (byte *)realloc((char *)contents,
+ (unsigned)(size + GRAIN_SIZE));
+ if (contents == NULL) {
+ eprintf("not enough space for bitmap file");
+ return NULL;
+ }
+ cp = contents + size;
+ }
+ *cp++ = c;
+ size++;
+ }
+ bmf->bmf_size = size;
+ bmf->bmf_contents = (byte *)realloc((char *)contents, (unsigned)size);
+ return TRUE;
+}
+#endif /* IN_MEMORY */
+
+/*
+ * Code ranges
+ */
+
+/* check that a code range fits within its bitmap file */
+static bool
+too_short(HBF_STRUCT *hbf, CODE_RANGE *cp)
+{
+ int bm_size;
+ long offset, end_offset;
+ BM_FILE *bmf;
+ long start, finish;
+
+ bm_size = FileBitmapSize(&(hbf->public), cp);
+ offset = cp->code_offset;
+ start = cp->code_start;
+ finish = cp->code_finish;
+ end_offset = offset + bm_size *
+ (hbf->b2_size*(long)FirstByte(finish) +
+ b2_pos(hbf, finish) - cp->code_pos + 1);
+ bmf = cp->code_bm_file;
+ if (end_offset <= bmf->bmf_size)
+ return FALSE;
+ /* bitmap file is too short: produce a specific error message */
+ if (offset > bmf->bmf_size)
+ eprintf("bitmap file '%s' is shorter than offset 0x%04lx",
+ bmf->bmf_name, offset);
+ else if (offset + bm_size > bmf->bmf_size)
+ eprintf("bitmap file '%s' too short: no room for any bitmaps at offset 0x%04lx",
+ bmf->bmf_name, offset);
+ else
+ eprintf("bitmap file '%s' is too short - code range appears to be 0x%04lx-0x%04lx",
+ bmf->bmf_name,
+ start,
+ code_of(hbf, cp->code_pos +
+ (bmf->bmf_size - offset)/bm_size) - 1);
+ return TRUE;
+}
+
+static const char *
+skip_word(int n, const char *s)
+{
+ for ( ; n > 0; n--) {
+ while (*s != '\0' && ! isspace((unsigned char)*s))
+ s++;
+ while (*s != '\0' && isspace((unsigned char)*s))
+ s++;
+ }
+ return s;
+}
+
+/* optional keywords at the end of a CODE_RANGE line */
+static void
+parse_keywords(CODE_RANGE *cp, const char *s)
+{
+ for (s = skip_word(4, s) ; *s != '\0'; s = skip_word(1, s)) {
+ switch (*s) {
+ case 's': case 'S': case 't': case 'T':
+ /* keyword "sideways" or "transposed" */
+ cp->code_transposed = TRUE;
+ break;
+ case 'i': case 'I':
+ /* keyword "inverted" */
+ cp->code_inverted = TRUE;
+ }
+ }
+}
+
+static bool
+add_code_range(HBF_STRUCT *hbf, const char *line)
+{
+ CODE_RANGE *cp;
+ CODE_RANGE **cpp;
+ long start, finish;
+ long offset;
+ char filename[MAXLINE];
+ BM_FILE *bmf;
+ CHAR_INDEX b2pos;
+
+ if (sscanf(line, "HBF_CODE_RANGE %li-%li %s %li",
+ &start, &finish, filename, &offset) != 4) {
+ eprintf("syntax error in HBF_CODE_RANGE");
+ return FALSE;
+ }
+ /* code ranges are checked in real_open() */
+ if ((bmf = find_file(hbf, filename)) == NULL)
+ return FALSE;
+ if ((cp = NEW(CODE_RANGE)) == NULL) {
+ eprintf("out of memory");
+ return FALSE;
+ }
+
+ cp->code_start = (CHAR)start;
+ cp->code_finish = (CHAR)finish;
+ cp->code_bm_file = bmf;
+ cp->code_offset = offset;
+ cp->code_transposed = cp->code_inverted = FALSE;
+ parse_keywords(cp, line);
+ /* insert it in order */
+ for (cpp = &hbf->code_range;
+ *cpp != NULL && (*cpp)->code_finish < start;
+ cpp = &((*cpp)->code_next))
+ ;
+ if (*cpp != NULL && (*cpp)->code_start <= finish) {
+ eprintf("code ranges overlap");
+ return FALSE;
+ }
+ cp->code_next = *cpp;
+ *cpp = cp;
+
+ /* set code_pos, and check range */
+ if (start > finish) {
+ eprintf("illegal code range 0x%04lx-0x%04lx", start, finish);
+ return FALSE;
+ }
+ if ((b2pos = b2_pos(hbf, start)) == BAD_CHAR_INDEX) {
+ eprintf("illegal start code 0x%04lx", start);
+ return FALSE;
+ }
+ cp->code_pos = hbf->b2_size*(long)FirstByte(start) + b2pos;
+ if ((b2pos = b2_pos(hbf, finish)) == BAD_CHAR_INDEX) {
+ eprintf("illegal finish code 0x%04lx", finish);
+ return FALSE;
+ }
+ /* check that the bitmap file has enough bitmaps */
+ return ! too_short(hbf, cp);
+}
+
+/*
+ * Reading and parsing of an HBF file
+ */
+
+/* get line, truncating to len, and trimming trailing spaces */
+static bool
+get_line(char *buf, int len, FILE *f)
+{
+ int c;
+ char *bp;
+
+ bp = buf;
+ for (;;) {
+ if ((c = getc(f)) == EOF) {
+ eprintf("unexpected end of file");
+ return FALSE;
+ }
+ if (c == '\n' || c == '\r') {
+ /* trim trailing space */
+ while (bp > buf && isspace((unsigned char)*(bp-1)))
+ bp--;
+ *bp = '\0';
+ return TRUE;
+ }
+ if (len > 0) {
+ *bp++ = c;
+ len--;
+ }
+ }
+}
+
+/* get next non-COMMENT line */
+static bool
+get_text_line(char *buf, int len, FILE *f)
+{
+ while (get_line(buf, len, f))
+ if (*buf != '\0' && ! match(buf, "COMMENT"))
+ return TRUE;
+ return FALSE;
+}
+
+static bool
+get_property(const char *line, const char *keyword, HBF_STRUCT *hbf)
+{
+ if (! match(line, keyword)) {
+ eprintf("%s expected", keyword);
+ return FALSE;
+ }
+ add_property(hbf, line);
+ return TRUE;
+}
+
+static bool
+get_bbox(const char *line, const char *keyword, HBF_BBOX *bbox)
+{
+ int w, h, xd, yd;
+
+ if (! match(line, keyword) ||
+ sscanf(line + strlen(keyword), "%i %i %i %i",
+ &w, &h, &xd, &yd) != 4) {
+ eprintf("%s expected", keyword);
+ return FALSE;
+ }
+ if (w <= 0 || h <= 0) {
+ eprintf("illegal %s dimensions %dx%d", keyword, w, h);
+ return FALSE;
+ }
+ bbox->hbf_width = w;
+ bbox->hbf_height = h;
+ bbox->hbf_xDisplacement = xd;
+ bbox->hbf_yDisplacement = yd;
+ return TRUE;
+}
+
+/*
+ * HBFHeaderFile ::=
+ * 'HBF_START_FONT' version EOLN
+ * 'HBF_CODE_SCHEME' word ... EOLN
+ * 'FONT' fontName EOLN
+ * 'SIZE' ptsize xres yres EOLN
+ * 'HBF_BITMAP_BOUNDING_BOX' w h xd yd EOLN
+ * 'FONTBOUNDINGBOX' w h xd yd EOLN
+ * X11R5FontPropertySection
+ * 'CHARS' n EOLN
+ * HBFByte2RangeSection
+ * HBFCodeRangeSection
+ * 'HBF_END_FONT' EOLN .
+ *
+ * This implementation allows extra lines before HBF_END_FONT.
+ * Anything after HBF_END_FONT is ignored.
+ */
+
+static bool
+parse_file(FILE *f, reg HBF_STRUCT *hbf)
+{
+ char line[MAXLINE];
+ int start, finish;
+
+ if (! get_text_line(line, MAXLINE, f) ||
+ ! get_property(line, "HBF_START_FONT", hbf))
+ return FALSE;
+
+ if (! get_text_line(line, MAXLINE, f) ||
+ ! get_property(line, "HBF_CODE_SCHEME", hbf))
+ return FALSE;
+
+ if (! get_text_line(line, MAXLINE, f) ||
+ ! get_property(line, "FONT", hbf))
+ return FALSE;
+
+ if (! get_text_line(line, MAXLINE, f) ||
+ ! get_property(line, "SIZE", hbf))
+ return FALSE;
+
+ if (! get_text_line(line, MAXLINE, f) ||
+ ! get_bbox(line, "HBF_BITMAP_BOUNDING_BOX",
+ &(hbf->public.hbf_bitmap_bbox)))
+ return FALSE;
+
+ if (! get_text_line(line, MAXLINE, f) ||
+ ! get_bbox(line, "FONTBOUNDINGBOX", &(hbf->public.hbf_font_bbox)))
+ return FALSE;
+
+ if (! get_text_line(line, MAXLINE, f))
+ return FALSE;
+ if (match(line, "STARTPROPERTIES")) {
+ for (;;) {
+ if (! get_text_line(line, MAXLINE, f))
+ return FALSE;
+ if (match(line, "ENDPROPERTIES"))
+ break;
+ add_property(hbf, line);
+ }
+ if (! get_text_line(line, MAXLINE, f))
+ return FALSE;
+ }
+
+ if (match(line, "CHARS"))
+ if (! get_text_line(line, MAXLINE, f))
+ return FALSE;
+
+ if (match(line, "HBF_START_BYTE_2_RANGES")) {
+ for (;;) {
+ if (! get_text_line(line, MAXLINE, f))
+ return FALSE;
+ if (match(line, "HBF_END_BYTE_2_RANGES"))
+ break;
+ if (sscanf(line, "HBF_BYTE_2_RANGE %i-%i",
+ &start, &finish) != 2) {
+ eprintf("HBF_BYTE_2_RANGE expected");
+ return FALSE;
+ }
+ add_b2r(&(hbf->byte_2_range), start, finish);
+ }
+ if (! get_text_line(line, MAXLINE, f))
+ return FALSE;
+ }
+ else
+ add_b2r(&(hbf->byte_2_range), 0, 0xff);
+ hbf->b2_size = b2_size(hbf->byte_2_range);
+
+ if (! match(line, "HBF_START_CODE_RANGES")) {
+ eprintf("HBF_START_CODE_RANGES expected");
+ return FALSE;
+ }
+ for (;;) {
+ if (! get_text_line(line, MAXLINE, f))
+ return FALSE;
+ if (match(line, "HBF_END_CODE_RANGES"))
+ break;
+ if (! add_code_range(hbf, line))
+ return FALSE;
+ }
+
+ for (;;) {
+ if (! get_text_line(line, MAXLINE, f))
+ return FALSE;
+ if (match(line, "HBF_END_FONT"))
+ break;
+ /* treat extra lines as properties (for private extensions) */
+ add_property(hbf, line);
+ }
+
+ return TRUE;
+}
+
+static FILE *
+path_open(const char *path, const char *filename, char **fullp)
+{
+ if (LocalFileName(filename) && path != NULL) {
+#ifdef PATH_DELIMITER
+ char *fullname;
+ FILE *f;
+ const char *p_next;
+
+ for (;;) {
+ p_next = strchr(path, PATH_DELIMITER);
+ if (p_next == NULL)
+ p_next = path + strlen(path);
+ fullname = concat(path, p_next - path, filename);
+ if ((f = fopen(fullname, "r")) != NULL) {
+ *fullp = fullname;
+ return f;
+ }
+ free(fullname);
+ if (*p_next == '\0')
+ break;
+ path = p_next + 1;
+ }
+#endif
+ return NULL;
+ }
+ else {
+ *fullp = strdup(filename);
+ return fopen(*fullp, "r");
+ }
+}
+
+static bool
+real_open(const char *filename, reg HBF_STRUCT *hbf)
+{
+ FILE *f;
+
+ f = path_open(getenv("HBFPATH"), filename, &(hbf->filename));
+ if (f == NULL) {
+ eprintf("can't read file '%s'", filename);
+ return FALSE;
+ }
+ if (! parse_file(f, hbf)) {
+ fclose(f);
+ return FALSE;
+ }
+ fclose(f);
+ return TRUE;
+}
+
+HBF *
+hbfOpen(const char *filename)
+{
+reg HBF_STRUCT *hbf;
+
+ if ((hbf = NEW(HBF_STRUCT)) == NULL) {
+ eprintf("can't allocate HBF structure");
+ return NULL;
+ }
+ clear_record(hbf);
+ if (real_open(filename, hbf))
+ return &(hbf->public);
+ hbfClose(&(hbf->public));
+ return NULL;
+}
+
+int
+HBF_OpenFont(const char *filename, HBF **ptrHandleStorage)
+{
+ return (*ptrHandleStorage = hbfOpen(filename)) == NULL ? -1 : 0;
+}
+
+/*
+ * Close files, free everything associated with the HBF.
+ */
+
+int
+HBF_CloseFont(HBF *hbfFile)
+{
+reg HBF_STRUCT *hbf;
+ PROPERTY *prop_ptr, *prop_next;
+ B2_RANGE *b2r_ptr, *b2r_next;
+ CODE_RANGE *code_ptr, *code_next;
+ BM_FILE *bmf_ptr, *bmf_next;
+ int status;
+
+ status = 0;
+ hbf = (HBF_STRUCT *)hbfFile;
+
+ if (hbf->filename != NULL)
+ free(hbf->filename);
+ if (hbf->bitmap_buffer != NULL)
+ free(hbf->bitmap_buffer);
+
+ for (prop_ptr = hbf->property;
+ prop_ptr != NULL;
+ prop_ptr = prop_next) {
+ prop_next = prop_ptr->prop_next;
+ free(prop_ptr->prop_name);
+ free(prop_ptr->prop_value);
+ free((char *)prop_ptr);
+ }
+
+ for (b2r_ptr = hbf->byte_2_range;
+ b2r_ptr != NULL;
+ b2r_ptr = b2r_next) {
+ b2r_next = b2r_ptr->b2r_next;
+ free((char *)b2r_ptr);
+ }
+
+ for (code_ptr = hbf->code_range;
+ code_ptr != NULL;
+ code_ptr = code_next) {
+ code_next = code_ptr->code_next;
+ free((char *)code_ptr);
+ }
+
+ for (bmf_ptr = hbf->bm_file;
+ bmf_ptr != NULL;
+ bmf_ptr = bmf_next) {
+ bmf_next = bmf_ptr->bmf_next;
+#ifdef IN_MEMORY
+ free((char *)(bmf_ptr->bmf_contents));
+#else
+ if (bmf_ptr->bmf_file != NULL &&
+ fclose(bmf_ptr->bmf_file) < 0)
+ status = -1;
+#endif
+ free(bmf_ptr->bmf_name);
+ free((char *)bmf_ptr);
+ }
+
+ free((char *)hbf);
+
+ return status;
+}
+
+void
+hbfClose(HBF *hbfFile)
+{
+ (void)HBF_CloseFont(hbfFile);
+}
+
+/*
+ * Fetch a bitmap
+ */
+
+const byte *
+hbfGetBitmap(HBF *hbf, HBF_CHAR code)
+{
+ return get_bitmap((HBF_STRUCT *)hbf, code, (byte *)NULL);
+}
+
+int
+HBF_GetBitmap(HBF *hbf, HBF_CHAR code, byte *buffer)
+{
+ return get_bitmap((HBF_STRUCT *)hbf, code, buffer) == NULL ? -1 : 0;
+}
+
+/*
+ * Internal function to fetch a bitmap.
+ * If buffer is non-null, it must be used.
+ */
+static const byte *
+get_bitmap(reg HBF_STRUCT *hbf, HBF_CHAR code, byte *buffer)
+{
+ CHAR_INDEX pos, b2pos;
+reg CODE_RANGE *cp;
+ BM_FILE *bmf;
+ int bm_size;
+ long offset;
+
+ if ((b2pos = b2_pos(hbf, code)) == BAD_CHAR_INDEX)
+ return NULL;
+ pos = hbf->b2_size*FirstByte(code) + b2pos;
+ for (cp = hbf->code_range; cp != NULL; cp = cp->code_next)
+ if (cp->code_start <= code && code <= cp->code_finish) {
+ bmf = cp->code_bm_file;
+ bm_size = FileBitmapSize(&(hbf->public), cp);
+ offset = cp->code_offset +
+ (long)(pos - cp->code_pos) * bm_size;
+#ifdef IN_MEMORY
+ if (buffer == NULL &&
+ ! cp->code_transposed && ! cp->code_inverted)
+ return bmf->bmf_contents + offset;
+#endif /* IN_MEMORY */
+ if (buffer == NULL &&
+ ((buffer = local_buffer(hbf)) == NULL))
+ return NULL;
+#ifdef IN_MEMORY
+ if (cp->code_transposed)
+ copy_transposed(&(hbf->public),
+ buffer,
+ bmf->bmf_contents + offset);
+ else
+ memcpy((char *)buffer,
+ (char *)(bmf->bmf_contents + offset),
+ bm_size);
+#else /* ! IN_MEMORY */
+ if (fseek(bmf->bmf_file, offset, 0) != 0) {
+ eprintf("seek error on code 0x%04x", code);
+ return NULL;
+ }
+ if (cp->code_transposed ?
+ ! get_transposed(&(hbf->public), bmf->bmf_file,
+ buffer) :
+ fread((char *)buffer,
+ bm_size, 1, bmf->bmf_file) != 1) {
+ eprintf("read error on code 0x%04x", code);
+ return NULL;
+ }
+#endif /* IN_MEMORY */
+ if (cp->code_inverted)
+ invert(buffer, HBF_BitmapSize(&(hbf->public)));
+ return buffer;
+ }
+ eprintf("code 0x%04x out of range", code);
+ return NULL;
+}
+
+static byte *
+local_buffer(HBF_STRUCT *hbf)
+{
+ if (hbf->bitmap_buffer == NULL &&
+ (hbf->bitmap_buffer = (byte *)malloc(HBF_BitmapSize(&(hbf->public)))) == NULL) {
+ eprintf("out of memory");
+ return NULL;
+ }
+ return hbf->bitmap_buffer;
+}
+
+static void
+invert(byte *buffer, unsigned int length)
+{
+ for ( ; length > 0; length--)
+ *buffer++ ^= 0xff;
+}
+
+#ifdef IN_MEMORY
+static bool
+copy_transposed(HBF *hbf, reg byte *bitmap, reg const byte *source)
+{
+reg byte *pos;
+reg byte *bm_end;
+ int x;
+ int width;
+reg int row_size;
+reg int c;
+reg int imask, omask;
+
+ width = hbfBitmapBBox(hbf)->hbf_width;
+ row_size = HBF_RowSize(hbf);
+ bm_end = bitmap + HBF_BitmapSize(hbf);
+ (void)memset((char *)bitmap, '\0', HBF_BitmapSize(hbf));
+ for (x = 0; x < width; x++) {
+ pos = bitmap + x/8;
+ omask = Bit(x%8);
+ /* y = 0 */
+ for (;;) {
+ c = *source++;
+ for (imask = Bit(0); imask != 0; imask >>= 1) {
+ /*
+ * At this point,
+ *
+ * imask == Bit(y%8)
+ * pos == bitmap + y*row_size + x/8
+ *
+ * We examine bit y of row x of the input,
+ * setting bit x of row y of the output if
+ * required, by applying omask to *pos.
+ */
+ if ((c & imask) != 0)
+ *pos |= omask;
+ /* if (++y > height) goto end_column */
+ pos += row_size;
+ if (pos >= bm_end)
+ goto end_column;
+ }
+ }
+end_column:
+ ;
+ }
+ return TRUE;
+}
+#else /* ! IN_MEMORY */
+static bool
+get_transposed(HBF *hbf, FILE *f, reg byte *bitmap)
+{
+reg byte *pos;
+reg byte *bm_end;
+ int x;
+ int width;
+reg int row_size;
+reg int c;
+reg int imask, omask;
+
+ width = hbfBitmapBBox(hbf)->hbf_width;
+ row_size = HBF_RowSize(hbf);
+ bm_end = bitmap + HBF_BitmapSize(hbf);
+ (void)memset((char *)bitmap, '\0', HBF_BitmapSize(hbf));
+ for (x = 0; x < width; x++) {
+ pos = bitmap + x/8;
+ omask = Bit(x%8);
+ /* y = 0 */
+ for (;;) {
+ if ((c = getc(f)) == EOF)
+ return FALSE;
+ for (imask = Bit(0); imask != 0; imask >>= 1) {
+ /*
+ * At this point,
+ *
+ * imask == Bit(y%8)
+ * pos == bitmap + y*row_size + x/8
+ *
+ * We examine bit y of row x of the input,
+ * setting bit x of row y of the output if
+ * required, by applying omask to *pos.
+ */
+ if ((c & imask) != 0)
+ *pos |= omask;
+ /* if (++y > height) goto end_column */
+ pos += row_size;
+ if (pos >= bm_end)
+ goto end_column;
+ }
+ }
+end_column:
+ ;
+ }
+ return TRUE;
+}
+#endif /* ! IN_MEMORY */
+
+/*
+ * Call function on each valid code in ascending order.
+ */
+void
+hbfForEach(reg HBF *hbfFile, void (*func)(HBF *, HBF_CHAR))
+{
+ HBF_STRUCT *hbf;
+ CODE_RANGE *cp;
+reg B2_RANGE *b2r;
+reg unsigned byte1, byte2;
+reg unsigned finish;
+
+ hbf = (HBF_STRUCT *)hbfFile;
+ for (cp = hbf->code_range; cp != NULL; cp = cp->code_next) {
+ byte1 = FirstByte(cp->code_start);
+ byte2 = SecondByte(cp->code_start);
+ while (MakeCode(byte1, byte2) <= cp->code_finish) {
+ for (b2r = hbf->byte_2_range;
+ b2r != NULL;
+ b2r = b2r->b2r_next) {
+ if (byte2 < b2r->b2r_start)
+ byte2 = b2r->b2r_start;
+ finish = b2r->b2r_finish;
+ if (byte1 == FirstByte(cp->code_finish) &&
+ finish > SecondByte(cp->code_finish))
+ finish = SecondByte(cp->code_finish);
+ while (byte2 <= finish) {
+ (*func)(hbfFile,
+ MakeCode(byte1, byte2));
+ byte2++;
+ }
+ }
+ byte1++;
+ byte2 = 0;
+ }
+ }
+}
+
+const char *
+hbfFileName(HBF *hbf)
+{
+ return ((HBF_STRUCT *)hbf)->filename;
+}
+
+long
+hbfChars(HBF *hbfFile)
+{
+ HBF_STRUCT *hbf;
+ CODE_RANGE *cp;
+ long num_chars;
+
+ hbf = (HBF_STRUCT *)hbfFile;
+ num_chars = 0;
+ for (cp = hbf->code_range; cp != NULL; cp = cp->code_next)
+ num_chars +=
+ hbf->b2_size*FirstByte(cp->code_finish) +
+ b2_pos(hbf, cp->code_finish) -
+ (hbf->b2_size*FirstByte(cp->code_start) +
+ b2_pos(hbf, cp->code_start)) + 1;
+ return num_chars;
+}
+
+/*
+ * Functions also implemented as macros
+ */
+
+#ifdef hbfBitmapBBox
+#undef hbfBitmapBBox
+#endif
+
+HBF_BBOX *
+hbfBitmapBBox(HBF *hbf)
+{
+ return &(hbf->hbf_bitmap_bbox);
+}
+
+#ifdef hbfFontBBox
+#undef hbfFontBBox
+#endif
+
+HBF_BBOX *
+hbfFontBBox(HBF *hbf)
+{
+ return &(hbf->hbf_font_bbox);
+}
+
+const void *
+hbfGetByte2Range(HBF *hbfFile, const void *b2r_pointer,
+ byte *startp, byte *finishp)
+{
+ HBF_STRUCT *hbf;
+ const B2_RANGE *b2r;
+
+ hbf = (HBF_STRUCT *)hbfFile;
+ if (b2r_pointer == NULL)
+ b2r = hbf->byte_2_range;
+ else
+ b2r = ((const B2_RANGE *)b2r_pointer)->b2r_next;
+ if(b2r == NULL)
+ return NULL;
+ *startp = b2r->b2r_start;
+ *finishp = b2r->b2r_finish;
+ return (const void *)b2r;
+}
+
+const void *
+hbfGetCodeRange(HBF *hbfFile, const void *code_pointer,
+ HBF_CHAR *startp, HBF_CHAR *finishp)
+{
+ HBF_STRUCT *hbf;
+ const CODE_RANGE *cp;
+
+ hbf = (HBF_STRUCT *)hbfFile;
+ if (code_pointer == NULL)
+ cp = hbf->code_range;
+ else
+ cp = ((const CODE_RANGE *)code_pointer)->code_next;
+ if(cp == NULL)
+ return NULL;
+ *startp = cp->code_start;
+ *finishp = cp->code_finish;
+ return (const void *)cp;
+}
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf.h b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf.h
new file mode 100644
index 0000000000..34f5940a71
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf.h
@@ -0,0 +1,215 @@
+/*
+ * Copyright 1993,1994,1995,2005 by Ross Paterson
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote
+ * products derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * Two interfaces to HBF files -- take your pick.
+ *
+ * Ross Paterson <ross@soi.city.ac.uk>
+ *
+ * Ross no longer maintains this code. Please send bug reports to
+ * Werner Lemberg <wl@gnu.org>.
+ *
+ */
+#ifndef _HBF_
+#define _HBF_
+
+#ifndef __STDC__
+# ifndef const
+# define const
+# endif
+#endif
+
+/*
+ * #1: a lightweight C interface.
+ */
+
+typedef unsigned int HBF_CHAR;
+
+typedef struct {
+ unsigned short hbf_width;
+ unsigned short hbf_height;
+ short hbf_xDisplacement;
+ short hbf_yDisplacement;
+} HBF_BBOX;
+
+typedef struct {
+ /* fields corresponding to the definition */
+ HBF_BBOX hbf_bitmap_bbox; /* HBF_BITMAP_BOUNDING_BOX */
+ HBF_BBOX hbf_font_bbox; /* FONTBOUNDINGBOX */
+} HBF;
+
+extern HBF *hbfOpen(
+#ifdef __STDC__
+ const char *filename
+#endif
+ );
+
+extern void hbfClose(
+#ifdef __STDC__
+ HBF *hbf
+#endif
+ );
+
+extern const char *hbfProperty(
+#ifdef __STDC__
+ HBF *hbf,
+ const char *propName
+#endif
+ );
+
+extern const unsigned char *hbfGetBitmap(
+#ifdef __STDC__
+ HBF *hbf,
+ HBF_CHAR code
+#endif
+ );
+
+extern void hbfForEach(
+#ifdef __STDC__
+ HBF *hbf,
+ void (*func)(HBF *sameHbf, HBF_CHAR code)
+#endif
+ );
+
+extern const char *hbfFileName(
+#ifdef __STDC__
+ HBF *hbf
+#endif
+ );
+
+extern long hbfChars(
+#ifdef __STDC__
+ HBF *hbf
+#endif
+ );
+
+extern HBF_BBOX *hbfBitmapBBox(
+#ifdef __STDC__
+ HBF *hbf
+#endif
+ );
+/* but defined here as a macro */
+#define hbfBitmapBBox(hbf) (&((hbf)->hbf_bitmap_bbox))
+
+extern HBF_BBOX *hbfFontBBox(
+#ifdef __STDC__
+ HBF *hbf
+#endif
+ );
+/* but defined here as a macro */
+#define hbfFontBBox(hbf) (&((hbf)->hbf_font_bbox))
+
+#define HBF_RowSize(hbf)\
+ ((hbfBitmapBBox(hbf)->hbf_width + 7)/8)
+
+#define HBF_BitmapSize(hbf)\
+ (HBF_RowSize(hbf) * hbfBitmapBBox(hbf)->hbf_height)
+
+#define HBF_GetBit(hbf,bitmap,x,y)\
+ (((bitmap)[(y)*HBF_RowSize(hbf) + (x)/8]>>(7 - (x)%8))&01)
+
+extern int hbfDebug; /* set non-zero for error reporting */
+
+extern const void *hbfGetCodeRange(
+#ifdef __STDC__
+ HBF *hbfFile,
+ const void *code_pointer,
+ HBF_CHAR *startp,
+ HBF_CHAR *finishp
+#endif
+ );
+
+extern const void *hbfGetByte2Range(
+#ifdef __STDC__
+ HBF *hbfFile,
+ const void *b2r_pointer,
+ unsigned char *startp,
+ unsigned char *finishp
+#endif
+ );
+
+/*
+ * #2: taken from Appendix 2 of the HBF draft.
+ */
+
+typedef unsigned int HBF_HzCode;
+typedef unsigned char HBF_Byte ;
+typedef HBF_Byte * HBF_BytePtr ;
+typedef HBF * HBF_Handle ;
+typedef HBF_Handle * HBF_HandlePtr ;
+typedef char * String ;
+
+extern int HBF_OpenFont(
+#ifdef __STDC__
+ const char * filename,
+ HBF_HandlePtr ptrHandleStorage
+#endif
+);
+
+extern int HBF_CloseFont(
+#ifdef __STDC__
+ HBF_Handle handle
+#endif
+);
+
+extern const char * HBF_GetProperty(
+#ifdef __STDC__
+ HBF_Handle handle,
+ const char * propertyName
+#endif
+);
+
+extern int HBF_GetFontBoundingBox(
+#ifdef __STDC__
+ HBF_Handle handle,
+ unsigned int *width,
+ unsigned int *height,
+ int *xDisplacement,
+ int *yDisplacement
+#endif
+);
+
+extern int HBF_GetBitmapBoundingBox(
+#ifdef __STDC__
+ HBF_Handle handle,
+ unsigned int *width,
+ unsigned int *height,
+ int *xDisplacement,
+ int *yDisplacement
+#endif
+);
+
+extern int HBF_GetBitmap(
+#ifdef __STDC__
+ HBF_Handle handle,
+ HBF_HzCode hanziCode,
+ HBF_BytePtr ptrBitmapBuffer
+#endif
+);
+
+#endif /* ! _HBF_ */
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.1 b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.1
new file mode 100644
index 0000000000..144e7e6893
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.1
@@ -0,0 +1,718 @@
+.\" man page for hbf2gf
+.\"
+.\" Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program in doc/COPYING; if not, write to the Free
+.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+.\" MA 02110-1301 USA
+.\"
+.
+.TH HBF2GF 1 18-Apr-2015 "CJK Version 4.8.4"
+.SH NAME
+hbf2gf \- convert a CJK bitmap font into subfonts usable by TeX and Omega.
+.
+.
+.SH SYNOPSIS
+.na
+.nh
+.B hbf2gf
+.RB [ \-q ]
+.IR \%configuration-file [ .cfg ]
+.br
+.B hbf2gf
+'in +\n(.ku
+.RB [ \-q ]
+.RB [ \-p ]
+.RB [ \-g ]
+.RB [ \-n ]
+.I \%subfont-name \%x-resolution
+.RI [ \%y-scale \ | \ \%y-resolution ]
+.br
+.in
+.B hbf2gf
+.B \-t
+.RB [ \-q ]
+.I \%subfont-name
+.br
+.B "hbf2gf \-\-version"
+|
+.B \-\-help
+.ad
+.hy
+.
+.
+.
+.\" ====
+.\" ==== macro definitions
+.\" ====
+.
+.\" here we define \TeX for troff and nroff
+.if t .ds TX \fRT\h'-0.1667m'\v'0.20v'E\v'-0.20v'\h'-0.125m'X\fP
+.if n .ds TX TeX
+.
+.\" and here the same for \LaTeX
+.if t \{\
+.ie '\*(.T'dvi' \
+.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX
+.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX
+.\}
+.if n .ds LX LaTeX
+.
+.\" \LaTeXe
+.\" note that we need \vareps for TeX instead of \eps which can only be
+.\" accessed with the \N escape sequence (in the Math Italic font)
+.if t \{\
+.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v'
+.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v'
+.\}
+.if n .ds LE LaTeX\ 2e
+.
+.\" a definition for \Delta
+.if t .ds DE \(*D
+.if n .ds DE Delta_
+.
+.\" a typewriter font
+.if t \{\
+.de C
+\fC\\$1\fP\\$2
+..
+.\}
+.if n \{\
+.de C
+\\$1\\$2
+..
+.\}
+.
+.\" an addition to .TP to allow two labels for the same item
+.de TQ
+.br
+.ns
+.TP
+..
+.
+.\" ====
+.\" ==== end of macro definitions
+.\" ====
+.
+.
+.
+.SH DESCRIPTION
+CJK bitmap fonts can't be directly used with \*(TX
+because the number of characters in such fonts exceeds\ 256, the limit of a
+\*(TX
+font.
+Thus it is necessary to split these fonts into subfonts, and this is
+exactly what
+.B hbf2gf
+does.
+.PP
+As the name says,
+.B hbf2gf
+uses CJK fonts in a certain format which is called
+.B Hanzi Bitmap Font
+.RB ( HBF )
+format.
+It simply consists of the CJK bitmap file(s) and a text file in a format
+very similar to the BDF format of the X\ Window System which describes the
+bitmap font files: the encoding, the size, etc.
+The produced
+.C GF
+files can then be converted with
+.B gftopk
+into standard
+.C PK
+files.
+.PP
+.B hbf2gf
+can be called in three modes:
+.
+.PP
+.in +2m
+.B hbf2gf
+.RB [ \-q ]
+.IR configuration-file [ .cfg ]
+.PP
+.in +5m
+This call normally creates a set of
+.C GF
+files, one
+.C PL
+file, and a batch file which must be executed after
+.B hbf2gf
+has finished.
+This script will then call
+.B gftopk
+to convert all
+.C GF
+files into
+.C PK
+files, and it will call
+.B pltotf
+to convert the
+.C PL
+file into a
+.C TFM
+file.
+Finally it will copy the
+.C TFM
+file so that each
+.C PK
+file has its
+.C TFM
+file (which are all identical).
+.PP
+.in +5m
+If
+.B ofm_file
+is set to \(oqyes\(cq in the configuration file,
+.C OFM
+and
+.C OVF
+files will be created too.
+.
+.PP
+.in +5m
+.B \-q
+makes
+.B hbf2gf
+quiet.
+.PP
+.in +2m
+.na
+.nh
+.B hbf2gf
+'in +\n(.ku
+.RB [ \-q ]
+.RB [ \-p ]
+.RB [ \-g ]
+.RB [ \-n ]
+.I \%subfont-name \%x-resolution
+.RI [ \%y-scale \ | \ \%y-resolution ]
+.ad
+.hy
+.PP
+.in +5m
+This mode is intended for use with
+.B \%mktexpk
+and its derivates.
+Only one
+.C GF
+file together with a
+.C PL
+file for the given subfont will be computed, taking the horizontal
+resolution and a vertical scaling factor (if the value is smaller than\ 10)
+resp. the vertical resolution (otherwise) from the command line, ignoring
+the
+.B nmb_fonts
+parameter of the configuration file.
+The last two characters (which are interpreted as the subfont number) are
+stripped to get the name for the configuration file (which must end with
+\(oq\c
+.C \&.cfg \(cq).
+No job file will be created.
+If option
+.B \-p
+is set, no
+.C PL
+file is created.
+If
+.B \-g
+is set, no
+.C GF
+file is created.
+The extension can be controlled with
+.BR \-n ;
+if set, the extension is \(oq\c
+.C \&.gf \(cq,
+otherwise \(oq\c
+.C \&. <\c
+.IR resolution >\c
+.C gf \(cq.
+.B \-q
+makes
+.B hbf2gf
+quiet.
+.
+.PP
+.in +2m
+.na
+.nh
+.B hbf2gf
+'in +\n(.ku
+.B \-t
+.RB [ \-q ]
+.I \%subfont-name
+.ad
+.hy
+.PP
+.in +5m
+This mode is intended for use with scripts like
+.BR \%mktexpk ;
+it tests whether the specified subfont name leads to an
+.B hbf2gf
+configuration file.
+It returns 0 on success and prints out the name of that configuration file
+(provided the
+.B \-q
+switch isn't set).
+This test isn't a thorough one; it only removes the last two characters
+and checks whether a configuration file with that name exists.
+.PP
+See the next section for more details about configuration files.
+.PP
+Specifying the option
+.B \-\-version
+returns the current version of
+.B hbf2gf
+and the used file search library (e.g.\ \c
+.BR kpathsea ).
+Usage information is shown with the
+.B \-\-help
+parameter.
+.
+.
+.SH "CONFIGURATION FILE"
+Here a sample configuration file (\c
+.C gsfs14.cfg )
+for a 56\(mu56 Chinese font in GB encoding; note that all information
+about the font is in the
+.C jfs56.hbf
+file.
+See the
+.B "FILE SEARCHING"
+section how HBF fonts and
+.B hbf2gf
+configuration files are found.
+See the
+.B AVAILABILITY
+section where to get CJK fonts together with its
+.C HBF
+files:
+.PP
+.if t \fC
+.nf
+ hbf_header jfs56.hbf
+ mag_x 1
+ threshold 128
+ comment jianti fansongti 56x56 pixel font
+
+ design_size 14.4
+
+ y_offset \-13
+
+ nmb_files \-1
+
+ output_name gsfs14
+
+ checksum 123456789
+
+ dpi_x 300
+
+ pk_files no
+ tfm_files yes
+
+ coding codingscheme GuoBiao encoded TeX text
+
+ pk_directory $HBF_TARGET/pk/modeless/gb2312/gsfs14/
+ tfm_directory $HBF_TARGET/tfm/gb2312/gsfs14/
+.fi
+.if t \fP
+.PP
+A configuration file is a plain text file consisting of keywords and its
+arguments.
+A keyword must start a line, otherwise the whole line will be ignored.
+If the word starting a line is not a keyword, the line will be ignored too.
+Empty lines will also be skipped.
+The search for keywords is case insensitive; in contrast, the arguments will
+be taken exactly as given (except \(oqyes\(cq and \(oqno\(cq which can be written with
+uppercase or lowercase letters).
+Each keyword has one argument which must be separated by whitespace (blanks
+or tabs) from the keyword and must be on the same line.
+Each line must not be longer than 256 characters.
+.PP
+You can use environment variables in the configuration file.
+The escape character starting an environment variable in the configuration
+file is always \(oq\c
+.C $ \(cq,
+even for operating systems like DOS which has other conventions.
+.B hbf2gf
+recognizes only environment variable names which start with a letter or an
+underscore, followed by alphanumeric characters or underscores.
+You can surround the variable with braces to indicate where the variable
+name ends, for example
+.C ${FOO} .
+To get a dollar sign you must write \(oq\c
+.C $$ \(cq.
+The expansion of environment variables in hbf2gf itself (without the help of
+either kpathsea, emtexdir, or MiKTeX searching routines) is very limited;
+this feature has been carried over from previous versions.
+It can't expand variables set in texmf.cnf; it also can't handle more than
+one directory as the variable's value.
+.B Don't use it except for the \(oqpk_directory\(cq and \(oqtfm_directory\(cq
+.B parameters!
+.PP
+This is the list of all necessary keywords:
+.TP
+.B hbf_header
+The HBF header file name of the input font(s).
+.B hbf2gf
+uses the given searching mechanism (kpathsea, emtexdir, or MiKTeX) to locate
+this file.
+.TP
+.B output_name
+The name stem of the output files.
+A running two digit decimal number starting with \(oq\c
+.C 01 \(cq
+will be appended.
+For Unicode fonts see the keyword
+.B unicode
+below.
+This value is in almost all cases identical to the name of the configuration
+file.
+.PP
+And now all optional keywords:
+.TP
+.B x_offset
+Increases the character width.
+Will be applied on both sides; default for non-rotated glyphs is the value
+given in the HBF header
+.RB ( HBF_BITMAP_BOUNDING_BOX )
+scaled to
+.B design_size
+(in pixels).
+.TP
+.B y_offset
+Shifts all characters up or down; default for non-rotated glyphs is the value
+given in the HBF header
+.RB ( HBF_BITMAP_BOUNDING_BOX )
+scaled to
+.B design_size
+(in pixels).
+.TP
+.B design_size
+The design size (in points) of the font.
+.B x_offset
+and
+.B y_offset
+refer to this size.
+Default is\ 10.0.
+.TP
+.B slant
+The slant of the font (given as \*(DEx\ /\ \*(DEy).
+Only values in the range 0\ \(<=\ \fBslant\fP\ \(<=\ 1 are allowed.
+Default is\ 0.0.
+.TP
+.B rotation
+If set to \(oqyes\(cq, all glyphs will be rotated 90\ degrees counter-clockwise.
+The default offsets as given in the HBF header will be ignored (and set
+to\ 0).
+Default is \(oqno\(cq.
+.TP
+.B mag_x
+.TQ
+.B mag_y
+Scaling values of the characters to reach design size.
+If only one magnification is given, x and y values are assumed to be equal.
+Default is \fBmag_x\fP\ =\ \fBmag_y\fP\ =\ 1.0.
+.PP
+.TP
+.B threshold
+A value between 1 and\ 254 defining a threshold for converting the internal
+graymap into the output bitmap; lower values cut more pixels.
+Default value is\ 128.
+.PP
+.TP
+.B comment
+A comment describing the font; default is none.
+.PP
+.TP
+.B nmb_fonts
+The number of subfonts to create.
+Default value is \-1 for creating all fonts.
+.TP
+.B unicode
+If \(oqyes\(cq, a two digit hexadecimal number will be used as a running number,
+starting with the value of the first byte of the first code range.
+Default is \(oqno\(cq.
+.TP
+.B min_char
+The minimum value of the encoding.
+You should set this value to get correct subfile offsets if it is not
+identical to the lowest character code in the HBF file.
+.PP
+.TP
+.B dpi_x
+.TQ
+.B dpi_y
+The horizontal and vertical resolution (in dpi) of the printer.
+If only one resolution is given, x and y values are assumed to be equal.
+Default is\ 300.
+.TP
+.B checksum
+A checksum to identify the
+.C GF
+files with the appropriate
+.C TFM
+files.
+The default value of this unsigned 32bit integer is\ 0.
+.TP
+.B coding
+A comment describing the coding scheme; default is none.
+.PP
+.TP
+.B pk_directory
+The destination directory of the
+.C PK
+files; default: none.
+Attention!
+The batch file will not check whether this directory exists.
+.TP
+.B tfm_directory
+The destination directory of the
+.C TFM
+files; default: none.
+Attention!
+The batch file will not check whether this directory exists.
+.TP
+.B pk_files
+Whether to create
+.C PK
+files or not; default is \(oqyes\(cq.
+.TP
+.B tfm_files
+Whether to create
+.C TFM
+files or not; default is \(oqyes\(cq.
+.TP
+.B ofm_file
+Whether to create an
+.C OPL
+file or not; default is \(oqno\(cq.
+The batch file will then use
+.B ovp2ovf
+of the Omega distribution to convert it into an
+.C OFM
+and an
+.C OVF
+file.
+The
+.C OPL
+file simply maps all subfonts back to a single Omega font.
+.TP
+.B long_extension
+If \(oqyes\(cq,
+.C PK
+files will include the resolution in the extension (e.g.
+.C gsso1201.300pk ).
+This affects the batch file only (default is \(oqyes\(cq).
+.TP
+.B rm_command
+The shell command to remove files; default: \(oqrm\(cq.
+.TP
+.B cp_command
+The shell command to copy files; default: \(oqcp\(cq.
+.TP
+.B job_extension
+The extension of the batch file which calls
+.B gftopk
+and
+.B pltotf
+to convert the
+.C GF
+and the
+.C PL
+files into
+.C PK
+and
+.C TFM
+files respectively; default is none.
+.
+.
+.SH "FILE SEARCHING"
+.B hbf2gf
+uses either the
+.BR kpathsea ,
+.BR emtexdir ,
+or
+.B MiKTeX
+library for searching files
+.RB ( emtexdir
+will work only on operating systems which have an MS-DOSish background,
+i.e., MS-DOS, OS/2, Windows;
+.B MiKTeX
+is for Win32 systems).
+.
+.SS kpathsea
+The actual version of kpathsea is displayed on screen if you call
+.B hbf2gf
+.BR \-\-version .
+.PP
+Here is a table of the file type and the corresponding
+.B kpathsea
+variables.
+.PP
+.in +4m
+.ta 2i
+.br
+.C "\&.hbf MISCFONTS"
+.br
+.C "\&.cfg HBF2GFINPUTS"
+.PP
+Please consult the info files of
+.B kpathsea
+for details on these variables.
+The decision which naming scheme to use for variables will be done during
+compilation.
+.PP
+You should set the
+.C TEXMFCNF
+variable to the directory where your
+.C texmf.cnf
+configuration file resides.
+.PP
+Here is the proper command to find out to which value a
+.B kpathsea
+variable is set (we use
+.C MISCFONTS
+as an example).
+This is especially useful if a variable isn't set in
+.C texmf.cnf
+or in the environment, thus pointing to the default value which is
+hard-coded into the
+.B kpathsea
+library.
+.PP
+.in +2m
+.C "kpsewhich \-progname=hbf2gf \-expand\-var='$MISCFONTS'"
+.PP
+We select the program name also since it is possible to specify
+variables which are searched only for a certain program \(en in our
+example it would be
+.C MISCFONTS.hbf2gf .
+.PP
+A similar but not identical method is to say
+.PP
+.in +2m
+.C "kpsewhich \-progname=hbf2gf \-show\-path='misc fonts'"
+.PP
+[A full list of format types can be obtained by saying \(oq\c
+.C "kpsewhich \-\-help" \(cq
+on the command line prompt.]
+This is exactly how
+.B hbf2gf
+searches for files; the disadvantage is that all variables are expanded
+which can cause very long strings.
+.
+.SS emtexdir
+.PP
+Here the list of suffixes and its related environment variables to be set in
+.C autoexec.bat
+(resp. in
+.C config.sys
+for OS/2):
+.PP
+.in +4m
+.ta 2i
+.br
+.C "\&.hbf HBFONTS"
+.br
+.C "\&.cfg HBFCFG"
+.PP
+If one of the variables isn't set, a warning message is emitted.
+The current directory will always be searched.
+As usual, one exclamation mark appended to a directory path causes
+subdirectories one level deep to be searched, two exclamation marks causes
+all subdirectories to be searched.
+Example:
+.PP
+.in +2m
+.C HBFONTS=c:\\\\fonts\\\\hbf!!;d:\\\\myfonts\\\\hbf!
+.PP
+Constructions like \(oq\c
+.C c:\\\\fonts!!\\\\hbf \(cq
+aren't possible.
+.
+.SS MikTeX
+.PP
+Please consult the documentation files of
+.B MiKTeX
+for more details.
+.
+.
+.SH LIMITATIONS
+The x and y output size must not exceed
+.BR MAX_CHAR_SIZE ,
+which is defined at compile time; its default value is 1023\ (pixel).
+.
+.
+.SH "SEE ALSO"
+.BR ttf2pk (1)
+.PP
+.C hbf2gf.w :
+'in +\n(.ku
+this is the source code written in
+.B CWEB
+which can be converted into a pretty-printed \*(TX
+document using
+.BR cweave .
+The CJK package also contains a preformatted
+.C hbf2gf.pdf
+file.
+.PP
+the
+.B CJK
+documentation files (\c
+.C hbf2gf.txt ).
+.PP
+the
+.B Hanzi Bitmap File
+.RB ( HBF )
+standard version\ 1.3; available at
+.C \%ftp.ifcss.org .
+.PP
+the Omega documentation available at
+.C ftp.ens.fr
+and the CTAN hosts and mirrors.
+.
+.
+.SH FILES
+.TP
+.C *.cfg
+The
+.B hbf2gf
+configuration scripts.
+.TP
+.C *.hbf
+HBF header files which describe fixed-width bitmap fonts.
+Note that the bitmap font name(s) themselves as specified in the header files
+are irrelevant for
+.BR hbf2gf .
+.
+.
+.SH AVAILABILITY
+.B hbf2gf
+is part of the CJK macro package for \*(LE
+available at the CTAN hosts and its mirrors.
+.PP
+CJK fonts together with HBF header files can be found at
+.C ftp.ifcss.org
+and its mirrors.
+.
+.
+.SH AUTHORS
+Werner Lemberg
+.C <wl@gnu.org>
+.br
+Ross Paterson (the HBF API)
+.C <ross@soi.city.ac.uk>
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.c b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.c
new file mode 100644
index 0000000000..1e250496a6
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.c
@@ -0,0 +1,2250 @@
+#define banner \
+"hbf2gf (CJK ver. 4.8.4)" \
+ \
+
+#define TRUE 1
+#define FALSE 0 \
+
+#define STRING_LENGTH 255 \
+
+#define FILE_NAME_LENGTH 1024 \
+ \
+
+#define VERSION \
+"\n" \
+"Copyright (C) 1996-1999 Werner Lemberg.\n" \
+"There is NO warranty. You may redistribute this software\n" \
+"under the terms of the GNU General Public License\n" \
+"and the HBF library copyright.\n" \
+"\n" \
+"For more information about these matters, see the files\n" \
+"named COPYING and hbf.c.\n" \
+"\n" \
+
+#define USAGE \
+"\n" \
+"Usage: hbf2gf [-q] configuration_file[.cfg]\n" \
+" hbf2gf [options] font_name x_resolution [y_scale | y_resolution]\n" \
+" hbf2gf -t [-q] font_name\n" \
+"\n" \
+" Convert a font in HBF format to TeX's GF resp. PK format.\n" \
+"\n" \
+" -q be silent\n" \
+" -p don't produce a PL file\n" \
+" -g don't produce a GF file\n" \
+" -n use no resolution in extension (only `.gf')\n" \
+" -t test for font_name (returns 0 on success)\n" \
+" --help print this message and exit\n" \
+" --version print version number and exit\n" \
+"\n" \
+
+#define GF_ID 131
+#define PRE 247 \
+
+#define header " hbf2gf output " \
+
+#define BOC 67
+#define BOC1 68
+#define EOC 69 \
+
+#define _2_16 65536.0
+#define _2_20 1048576.0 \
+
+#define XXX1 239
+#define XXX2 240
+#define XXX3 241
+#define XXX4 242 \
+
+#define YYY 243 \
+
+#define POST 248 \
+
+#define CHAR_LOC 245
+#define CHAR_LOC0 246 \
+
+#define POSTPOST 249
+#define POSTPOST_ID 223 \
+
+#define BLACK 1
+#define WHITE 0 \
+
+#define PIXEL_MAXVAL 255
+#define SCALE 4096
+#define HALFSCALE 2048 \
+
+#define MAX_CHAR_SIZE 1023 \
+
+#define PAINT_(x) (x)
+#define PAINT1 64
+#define PAINT2 65
+#define PAINT3 66 \
+
+#define SKIP0 70
+#define SKIP1 71
+#define SKIP2 72
+#define SKIP3 73 \
+
+#define NEW_ROW_(x) ((x) +74) \
+
+#define NOOP 244 \
+
+#define EXTENSION_LENGTH 8 \
+
+#define GFTOPK_NAME "gftopk"
+#define PLTOTF_NAME "pltotf"
+#define OVP2OVF_NAME "ovp2ovf" \
+
+#define PRINTER_MIN_RES_X 50
+#define PRINTER_MIN_RES_Y 50 \
+
+#define VALID_SUBCODE 1 \
+
+/*4:*/
+#line 191 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+/*10:*/
+#line 408 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+#ifdef HAVE_CONFIG_H
+#include <c-auto.h>
+#endif
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#ifdef TM_IN_SYS_TIME
+#include <sys/time.h>
+#endif
+#include "hbf.h"
+
+
+
+/*:10*//*69:*/
+#line 2473 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+#if defined(HAVE_LIBKPATHSEA)
+#include "kpathsea/kpathsea.h"
+
+#elif defined(HAVE_EMTEXDIR)
+#include "emtexdir.h"
+
+#elif defined(HAVE_MIKTEX)
+#include "miktex.h"
+#endif
+
+/*:69*/
+#line 192 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+/*11:*/
+#line 429 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static void write_file(void);
+
+
+/*:11*//*13:*/
+#line 491 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static void write_pre(void);
+
+
+/*:13*//*16:*/
+#line 579 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static void write_data(void);
+
+
+/*:16*//*20:*/
+#line 690 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static void write_post(void);
+
+
+/*:20*//*25:*/
+#line 834 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static void fputl(long,FILE*);
+
+
+/*:25*//*29:*/
+#line 994 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static void make_pixel_array(void);
+
+
+/*:29*//*36:*/
+#line 1222 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static
+#ifdef __GNUC__
+__inline__
+#endif
+void read_row(unsigned char*);
+
+
+/*:36*//*39:*/
+#line 1274 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static
+#ifdef __GNUC__
+__inline__
+#endif
+void write_row(unsigned char*);
+
+
+/*:39*//*41:*/
+#line 1329 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static void write_coding(void);
+
+
+/*:41*//*45:*/
+#line 1490 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static void write_pl(void);
+
+
+/*:45*//*47:*/
+#line 1587 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static void write_ovp(void);
+
+
+/*:47*//*50:*/
+#line 1732 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static void write_job(void);
+
+
+/*:50*//*54:*/
+#line 1981 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static void read_config(void);
+
+
+/*:54*//*64:*/
+#line 2312 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static int fsearch(const char*);
+
+
+/*:64*//*67:*/
+#line 2451 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static void config_error(const char*);
+
+
+/*:67*//*71:*/
+#line 2494 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static const char*TeX_search_version(void);
+
+
+/*:71*//*74:*/
+#line 2529 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+#ifdef HAVE_EMTEXDIR
+extern int setup_list(struct emtex_dir*,char*,const char*,unsigned);
+static int dir_setup(struct emtex_dir*,const char*,const char*,unsigned);
+static char*file_find(char*,struct emtex_dir*);
+#endif
+
+
+/*:74*//*79:*/
+#line 2621 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static char*TeX_search_cfg_file(char*);
+static char*TeX_search_hbf_file(char*);
+
+
+/*:79*/
+#line 193 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+/*2:*/
+#line 127 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+int nmb_files= -1;
+int unicode= FALSE;
+
+int testing= FALSE;
+
+int mf_like= FALSE;
+int file_number= 0;
+
+double x_resolution= 0.0;
+double y_scale= 1.0;
+
+int pk_files= TRUE;
+int tfm_files= TRUE;
+int long_extension= TRUE;
+int quiet= FALSE;
+
+char config_file[FILE_NAME_LENGTH+4+1];
+
+char output_name[STRING_LENGTH+1];
+
+FILE*config,*out;
+HBF*hbf;
+
+#ifdef msdos
+#define WRITE_BIN "wb"
+#define WRITE_TXT "wt"
+#define READ_BIN "rb"
+#define READ_TXT "rt"
+#else
+#define WRITE_BIN "w"
+#define WRITE_TXT "w"
+#define READ_BIN "r"
+#define READ_TXT "r"
+#endif
+
+int end_of_file= FALSE;
+
+
+/*:2*//*15:*/
+#line 538 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+long char_adr[256];
+long*char_adr_p;
+
+int pk_offset_x;
+
+
+double tfm_offset_x;
+int pk_offset_y;
+
+double tfm_offset_y;
+
+int input_size_x;
+int input_size_y;
+const char*font_encoding;
+int pk_width;
+int pk_output_size_x;
+
+double tfm_output_size_x;
+int pk_output_size_y;
+double tfm_output_size_y;
+
+double design_size= 10.0;
+double target_size_x;
+double target_size_y;
+double magstep_x;
+double magstep_y;
+double slant;
+int rotation;
+
+double mag_x;
+double mag_y;
+
+int empty_char;
+int last_char;
+
+int dot_count;
+
+
+
+/*:15*//*19:*/
+#line 667 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+char coding[STRING_LENGTH+1];
+char comment[STRING_LENGTH+1];
+
+unsigned long checksum;
+
+long pk_total_min_x;
+long pk_total_max_x;
+long pk_total_min_y;
+long pk_total_max_y;
+
+int dpi_x;
+int dpi_y;
+double ppp_x;
+double ppp_y;
+
+
+/*:19*//*27:*/
+#line 871 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+HBF_CHAR code;
+const unsigned char*bitmap;
+
+const unsigned char*bP;
+
+unsigned char out_char[MAX_CHAR_SIZE*MAX_CHAR_SIZE+1];
+
+unsigned char*out_char_p;
+
+unsigned char pixelrow[MAX_CHAR_SIZE];
+unsigned char temp_pixelrow[MAX_CHAR_SIZE];
+unsigned char new_pixelrow[MAX_CHAR_SIZE+1];
+
+int curr_row;
+
+long grayrow[MAX_CHAR_SIZE];
+
+long s_mag_x,s_mag_y,s_slant;
+
+
+/*:27*//*38:*/
+#line 1269 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+int threshold= 128;
+
+
+/*:38*//*49:*/
+#line 1721 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+char job_extension[EXTENSION_LENGTH+1];
+char rm_command[STRING_LENGTH+1];
+char cp_command[STRING_LENGTH+1];
+char pk_directory[STRING_LENGTH+1];
+char tfm_directory[STRING_LENGTH+1];
+
+int ofm_file= FALSE;
+
+
+/*:49*//*53:*/
+#line 1976 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+char Buffer[STRING_LENGTH+1];
+
+
+/*:53*//*58:*/
+#line 2094 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+int offset_x;
+int offset_y;
+
+HBF_CHAR user_min_char;
+int have_min_char= FALSE;
+
+/*:58*//*60:*/
+#line 2251 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+HBF_CHAR min_char,max_char;
+
+
+/*:60*//*62:*/
+#line 2278 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+char b2_codes[256];
+unsigned char min_2_byte,max_2_byte;
+int nmb_2_bytes= 0;
+
+
+/*:62*//*70:*/
+#line 2485 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+#if defined(HAVE_EMTEXDIR)
+char emtex_version_string[]= "emTeXdir";
+#elif !defined(HAVE_MIKTEX)
+char no_version_string[]= "no search library";
+#endif
+
+
+/*:70*//*73:*/
+#line 2522 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+#ifdef HAVE_EMTEXDIR
+struct emtex_dir cfg_path,hbf_path;
+#endif
+
+
+/*:73*//*76:*/
+#line 2569 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+#ifdef HAVE_EMTEXDIR
+char name_buffer[FILE_NAME_LENGTH+1];
+#endif
+
+
+/*:76*/
+#line 194 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+
+
+int main(int argc,char*argv[])
+{char*p;
+
+/*78:*/
+#line 2594 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+#if defined(HAVE_LIBKPATHSEA)
+kpse_set_program_name(argv[0],"hbf2gf");
+kpse_init_prog("HBF2GF",300,"cx","cmr10");
+
+#elif defined(HAVE_EMTEXDIR)
+if(!dir_setup(&cfg_path,"HBFCFG",NULL,EDS_BANG))
+{fprintf(stderr,
+"Couldn't setup search path for configuration files\n");
+exit(1);
+}
+if(!dir_setup(&hbf_path,"HBFONTS",NULL,EDS_BANG))
+{fprintf(stderr,
+"Couldn't setup search path for HBF header files\n");
+exit(1);
+}
+#endif
+
+
+/*:78*/
+#line 200 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+
+/*7:*/
+#line 307 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+if(argc==2)
+{if(strcmp(argv[1],"--help")==0)
+/*6:*/
+#line 288 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+{printf(USAGE);
+exit(0);
+}
+
+
+/*:6*/
+#line 310 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+else if(strcmp(argv[1],"--version")==0)
+/*5:*/
+#line 261 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+{printf("\n");
+printf(banner);
+printf(" (%s)\n",TeX_search_version());
+printf(VERSION);
+exit(0);
+}
+
+
+/*:5*/
+#line 312 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+}
+
+while(argc> 1)
+{p= argv[1];
+if(p[0]!='-')
+break;
+if(p[1]=='p')
+tfm_files= FALSE;
+else if(p[1]=='g')
+pk_files= FALSE;
+else if(p[1]=='n')
+long_extension= FALSE;
+else if(p[1]=='q')
+quiet= TRUE;
+else if(p[1]=='t')
+testing= TRUE;
+
+argv++;
+argc--;
+}
+
+if(testing)
+{if(argc!=2)
+{fprintf(stderr,"Need exactly one parameter for `-t' option.\n");
+fprintf(stderr,"Try `hbf2gf --help' for more information.\n");
+exit(1);
+}
+}
+else if(argc<2||argc> 4)
+{fprintf(stderr,"Invalid number of parameters.\n");
+fprintf(stderr,"Try `hbf2gf --help' for more information.\n");
+exit(1);
+}
+
+
+/*:7*/
+#line 202 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+
+if(!quiet)
+printf("\n%s\n\n",banner);
+
+strncpy(config_file,argv[1],FILE_NAME_LENGTH);
+config_file[FILE_NAME_LENGTH]= '\0';
+
+if(argc> 2||testing)
+{int l= strlen(config_file);
+
+if(l> 2)
+config_file[l-2]= '\0';
+
+else
+{if(!quiet)
+printf("`%s' can't be a subfont created by hbf2gf\n",
+config_file);
+exit(2);
+}
+
+mf_like= TRUE;
+}
+
+read_config();
+
+if(mf_like)
+/*8:*/
+#line 352 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+{if(unicode)
+file_number= (int)strtol(&argv[1][strlen(argv[1])-2],
+(char**)NULL,16);
+else
+file_number= atoi(&argv[1][strlen(argv[1])-2]);
+
+x_resolution= atof(argv[2]);
+if(x_resolution<PRINTER_MIN_RES_X)
+{fprintf(stderr,"Invalid horizontal resolution\n");
+exit(1);
+}
+
+if(argc> 3)
+{y_scale= atof(argv[3]);
+if(y_scale<0.01)
+{fprintf(stderr,
+"Invalid vertical scaling factor or resolution\n");
+exit(1);
+}
+if(y_scale> 10.0)
+y_scale= (double)x_resolution/y_scale;
+}
+}
+
+
+/*:8*/
+#line 229 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+
+/*28:*/
+#line 903 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+{int col,offset;
+
+if(rotation)
+{int tmp;
+
+
+tmp= input_size_x;
+input_size_x= input_size_y;
+input_size_y= tmp;
+}
+
+if(mf_like)
+{target_size_x= design_size*(x_resolution/dpi_x);
+target_size_y= design_size*(x_resolution*y_scale/dpi_y);
+}
+else
+target_size_x= target_size_y= design_size;
+magstep_x= target_size_x/design_size;
+magstep_y= target_size_y/design_size;
+
+pk_offset_x= offset_x*magstep_x+0.5;
+pk_offset_y= offset_y*magstep_y+0.5;
+tfm_offset_x= offset_x/(dpi_x/72.27)/design_size;
+tfm_offset_y= offset_y/(dpi_y/72.27)/design_size;
+
+pk_width= input_size_x*mag_x*magstep_x+0.5;
+pk_output_size_x= input_size_x*mag_x*magstep_x+
+input_size_y*mag_y*magstep_y*slant+0.5;
+pk_output_size_y= input_size_y*mag_y*magstep_y+0.5;
+tfm_output_size_x= input_size_x*mag_x/
+(dpi_x/72.27)/design_size;
+tfm_output_size_y= input_size_y*mag_y/
+(dpi_y/72.27)/design_size;
+if(pk_output_size_x> MAX_CHAR_SIZE)
+{fprintf(stderr,"Output character box width too big\n");
+exit(1);
+}
+if(pk_output_size_y> MAX_CHAR_SIZE)
+{fprintf(stderr,"Output character box height too big\n");
+exit(1);
+}
+
+for(col= 0;col<input_size_x;++col)
+grayrow[col]= HALFSCALE;
+
+if(!mf_like)
+code= (min_char&0xFF00)+min_2_byte;
+else
+{if((file_number<(unicode?0:1))||(file_number>=0x100))
+{fprintf(stderr,"Invalid subfile number\n");
+exit(1);
+}
+
+if(unicode)
+{offset= 0;
+code= file_number*0x100;
+}
+else
+{offset= (file_number-1)*256%nmb_2_bytes;
+code= (min_char&0xFF00)+min_2_byte+
+(file_number-1)*256/nmb_2_bytes*0x100;
+}
+
+while(offset--)
+while(!b2_codes[code++&0xFF])
+
+;
+
+if(code> max_char)
+{fprintf(stderr,"Invalid subfile number\n");
+exit(1);
+}
+}
+
+s_mag_x= mag_x*magstep_x*SCALE;
+s_mag_y= mag_y*magstep_y*SCALE;
+s_slant= slant*SCALE;
+}
+
+
+/*:28*/
+#line 231 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+
+/*9:*/
+#line 387 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+{int j,max_numb;
+
+if(!mf_like)
+{file_number= (unicode==TRUE?(min_char>>8):1);
+if(nmb_files==-1)
+max_numb= (unicode==TRUE?0x100:100);
+else
+max_numb= nmb_files;
+}
+else
+max_numb= 1;
+
+for(j= 0;(j<max_numb)&&!end_of_file;file_number++,j++)
+write_file();
+
+nmb_files= j;
+}
+
+
+/*:9*/
+#line 233 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+
+if(tfm_files)
+write_pl();
+if(ofm_file)
+write_ovp();
+if(!mf_like)
+write_job();
+
+hbfClose(hbf);
+
+exit(0);
+return 0;
+}
+
+
+/*:4*//*12:*/
+#line 437 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static void write_file(void)
+{char output_file[FILE_NAME_LENGTH+1];
+
+
+if(pk_files)
+{if(mf_like)
+{if(unicode)
+sprintf(output_file,"%s%02x.%.0igf",
+output_name,file_number,
+long_extension?(int)(x_resolution+0.5):0);
+else
+sprintf(output_file,"%s%02i.%.0igf",
+output_name,file_number,
+long_extension?(int)(x_resolution+0.5):0);
+}
+else
+{if(unicode)
+sprintf(output_file,"%s%02x.gf",output_name,file_number);
+else
+sprintf(output_file,"%s%02i.gf",output_name,file_number);
+}
+if(!(out= fopen(output_file,WRITE_BIN)))
+{fprintf(stderr,"Couldn't open `%s'\n",output_file);
+exit(1);
+}
+if(!quiet)
+printf("Writing `%s' ",output_file);
+
+write_pre();
+write_data();
+write_post();
+fclose(out);
+
+if(!quiet)
+printf("\n");
+}
+else
+write_data();
+}
+
+
+/*:12*//*14:*/
+#line 498 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static void write_pre(void)
+{char out_s[40],s[20];
+time_t secs_now;
+struct tm*time_now;
+
+
+strcpy(out_s,header);
+
+secs_now= time(NULL);
+time_now= localtime(&secs_now);
+strftime(s,20,"%Y.%m.%d:%H.%M",time_now);
+strcat(out_s,s);
+
+fputc(PRE,out);
+fputc(GF_ID,out);
+fputc(strlen(out_s),out);
+fputs(out_s,out);
+}
+
+
+/*:14*//*17:*/
+#line 584 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static void write_data(void)
+{dot_count= 0;
+char_adr_p= char_adr;
+
+for(last_char= 0;(last_char<256)&&!end_of_file;last_char++)
+/*18:*/
+#line 609 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+{if(dot_count++%10==0)
+if(pk_files&&!quiet)
+{printf(".");
+fflush(stdout);
+}
+
+empty_char= FALSE;
+make_pixel_array();
+if(end_of_file)
+return;
+
+if(pk_files)
+{*char_adr_p= ftell(out);
+char_adr_p++;
+
+if(empty_char)
+{fputc(BOC1,out);
+fputc((unsigned char)last_char,out);
+fputc(0,out);
+fputc(0,out);
+fputc(0,out);
+fputc(0,out);
+fputc(EOC,out);
+}
+else
+{fputc(BOC,out);
+fputl(last_char,out);
+fputl(-1L,out);
+fputl(pk_offset_x,out);
+fputl(pk_output_size_x+pk_offset_x,out);
+fputl(pk_offset_y,out);
+fputl(pk_output_size_y+pk_offset_y,out);
+
+write_coding();
+
+fputc(EOC,out);
+}
+}
+}
+
+
+/*:18*/
+#line 590 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+}
+
+
+/*:17*//*21:*/
+#line 695 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static void write_post(void)
+{long special_adr;
+long post_adr;
+
+long designsize= design_size*_2_20;
+
+int pk_dx;
+long tfm_width;
+
+int i;
+long temp;
+
+
+ppp_x= dpi_x/72.27*magstep_x;
+ppp_y= dpi_y/72.27*magstep_y;
+
+pk_total_min_x= pk_offset_x;
+pk_total_max_x= pk_output_size_x+2*pk_offset_x;
+pk_total_min_y= pk_offset_y;
+pk_total_max_y= pk_output_size_y+pk_offset_y;
+
+pk_dx= pk_width+2*pk_offset_x;
+tfm_width= (tfm_output_size_x+2*tfm_offset_x)*_2_20;
+
+
+/*22:*/
+#line 741 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+special_adr= ftell(out);
+
+if(*coding)
+{fputc(XXX1,out);
+fputc(strlen(coding),out);
+fputs(coding,out);
+}
+
+if(*comment)
+{fputc(XXX1,out);
+fputc(strlen(comment),out);
+fputs(comment,out);
+}
+
+
+/*:22*/
+#line 721 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+/*23:*/
+#line 770 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+post_adr= ftell(out);
+fputc(POST,out);
+fputl(special_adr,out);
+
+fputl(designsize,out);
+fputl(checksum,out);
+fputl(ppp_x*_2_16,out);
+fputl(ppp_y*_2_16,out);
+fputl(pk_total_min_x,out);
+fputl(pk_total_max_x,out);
+fputl(pk_total_min_y,out);
+fputl(pk_total_max_y,out);
+
+char_adr_p= char_adr;
+
+if(pk_dx<256)
+{for(i= 0;i<last_char;i++)
+{fputc(CHAR_LOC0,out);
+fputc(i,out);
+fputc(pk_dx,out);
+fputl(tfm_width,out);
+fputl(*char_adr_p++,out);
+}
+}
+else
+{for(i= 0;i<last_char;i++)
+{fputc(CHAR_LOC,out);
+fputc(i,out);
+fputl(pk_dx*_2_16,out);
+fputl(0,out);
+fputl(tfm_width,out);
+fputl(*char_adr_p++,out);
+}
+}
+
+
+/*:23*/
+#line 722 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+/*24:*/
+#line 821 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+fputc(POSTPOST,out);
+fputl(post_adr,out);
+fputc(GF_ID,out);
+temp= ftell(out);
+i= (int)(temp%4)+4;
+while(i--)
+fputc(POSTPOST_ID,out);
+
+
+/*:24*/
+#line 723 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+}
+
+
+/*:21*//*26:*/
+#line 839 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static void fputl(long num,FILE*f)
+{fputc(num>>24,f);
+fputc(num>>16,f);
+fputc(num>>8,f);
+fputc(num,f);
+}
+
+
+/*:26*//*30:*/
+#line 999 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static void make_pixel_array(void)
+{unsigned char*prP;
+unsigned char*temp_prP;
+unsigned char*new_prP;
+long*grP;
+
+register unsigned char*xP;
+register unsigned char*nxP;
+
+register int row,col;
+int rows_read= 0;
+register int need_to_read_row= 1;
+
+long frac_row_to_fill= SCALE;
+long frac_row_left= s_mag_y;
+
+int no_code= FALSE;
+
+
+prP= pixelrow;
+temp_prP= temp_pixelrow;
+new_prP= new_pixelrow;
+grP= grayrow;
+out_char_p= out_char;
+
+again:
+if(b2_codes[code&0xFF])
+{if(pk_files)
+{bitmap= hbfGetBitmap(hbf,code);
+bP= bitmap;
+
+
+if(!bitmap)
+empty_char= TRUE;
+else
+/*31:*/
+#line 1058 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+{if(pk_output_size_y==input_size_y)
+temp_prP= prP;
+
+curr_row= input_size_y-1;
+for(row= 0;row<pk_output_size_y;++row)
+{/*32:*/
+#line 1072 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+if(pk_output_size_y==input_size_y)
+
+read_row(prP);
+else
+{while(frac_row_left<frac_row_to_fill)
+{if(need_to_read_row)
+if(rows_read<input_size_y)
+{read_row(prP);
+++rows_read;
+}
+
+for(col= 0,xP= prP;col<input_size_x;++col,++xP)
+grP[col]+= frac_row_left*(*xP);
+
+frac_row_to_fill-= frac_row_left;
+frac_row_left= s_mag_y;
+need_to_read_row= 1;
+}
+
+/*33:*/
+#line 1099 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+if(need_to_read_row)
+if(rows_read<input_size_y)
+{read_row(prP);
+++rows_read;
+need_to_read_row= 0;
+}
+
+for(col= 0,xP= prP,nxP= temp_prP;
+col<input_size_x;++col,++xP,++nxP)
+{register long g;
+
+
+g= grP[col]+frac_row_to_fill*(*xP);
+g/= SCALE;
+if(g> PIXEL_MAXVAL)
+g= PIXEL_MAXVAL;
+
+*nxP= g;
+grP[col]= HALFSCALE;
+}
+
+frac_row_left-= frac_row_to_fill;
+if(frac_row_left==0)
+{frac_row_left= s_mag_y;
+need_to_read_row= 1;
+}
+frac_row_to_fill= SCALE;
+
+
+/*:33*/
+#line 1092 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+}
+
+
+/*:32*/
+#line 1064 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+/*34:*/
+#line 1140 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+if(pk_width==input_size_x&&s_slant==0)
+
+write_row(temp_prP);
+else
+{register long g= HALFSCALE;
+register long frac_col_to_fill= SCALE;
+register long frac_col_left;
+register int need_col= 0;
+
+
+nxP= new_prP;
+
+frac_col_left= (pk_output_size_y-row)*s_slant;
+while(frac_col_left>=frac_col_to_fill)
+{*(nxP++)= 0;
+frac_col_left-= frac_col_to_fill;
+}
+
+if(frac_col_left> 0)
+frac_col_to_fill-= frac_col_left;
+
+for(col= 0,xP= temp_prP;col<input_size_x;++col,++xP)
+{frac_col_left= s_mag_x;
+while(frac_col_left>=frac_col_to_fill)
+{if(need_col)
+{++nxP;
+g= HALFSCALE;
+}
+
+g+= frac_col_to_fill*(*xP);
+g/= SCALE;
+if(g> PIXEL_MAXVAL)
+g= PIXEL_MAXVAL;
+
+*nxP= g;
+frac_col_left-= frac_col_to_fill;
+frac_col_to_fill= SCALE;
+need_col= 1;
+}
+
+if(frac_col_left> 0)
+{if(need_col)
+{++nxP;
+g= HALFSCALE;
+need_col= 0;
+}
+
+g+= frac_col_left*(*xP);
+frac_col_to_fill-= frac_col_left;
+}
+}
+
+/*35:*/
+#line 1198 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+if(frac_col_to_fill> 0)
+{--xP;
+g+= frac_col_to_fill*(*xP);
+}
+
+if(!need_col)
+{g/= SCALE;
+if(g> PIXEL_MAXVAL)
+g= PIXEL_MAXVAL;
+*nxP= g;
+}
+
+*(++nxP)= 0;
+
+write_row(new_prP);
+
+
+/*:35*/
+#line 1193 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+}
+
+
+/*:34*/
+#line 1066 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+}
+}
+
+
+/*:31*/
+#line 1035 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+}
+}
+else
+no_code= TRUE;
+
+if((code&0xFF)==max_2_byte)
+code+= 0xFF-(max_2_byte-min_2_byte);
+if(code>=max_char)
+{end_of_file= TRUE;
+return;
+}
+
+code++;
+
+if(no_code)
+{no_code= FALSE;
+goto again;
+}
+}
+
+
+/*:30*//*37:*/
+#line 1231 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static
+#ifdef __GNUC__
+__inline__
+#endif
+void read_row(unsigned char*pixelrow)
+{register int col,bitshift,offset;
+register unsigned char*xP;
+register unsigned char item= 0;
+
+if(rotation)
+{bitshift= 7-(curr_row%8);
+offset= (input_size_y+7)/8;
+bP= bitmap+curr_row/8;
+for(col= 0,xP= pixelrow;col<input_size_x;++col,++xP)
+{*xP= ((*bP>>bitshift)&1)==1?PIXEL_MAXVAL:0;
+bP+= offset;
+}
+curr_row--;
+}
+else
+{bitshift= -1;
+for(col= 0,xP= pixelrow;col<input_size_x;++col,++xP)
+{if(bitshift==-1)
+{item= *(bP++);
+bitshift= 7;
+}
+*xP= ((item>>bitshift)&1)==1?PIXEL_MAXVAL:0;
+--bitshift;
+}
+}
+}
+
+
+/*:37*//*40:*/
+#line 1283 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static
+#ifdef __GNUC__
+__inline__
+#endif
+void write_row(unsigned char*pixelrow)
+{register int col;
+register unsigned char*xP;
+
+for(col= 0,xP= pixelrow;col<pk_output_size_x;++col,++xP)
+*(out_char_p++)= (*xP>=threshold)?1:0;
+
+}
+
+
+/*:40*//*42:*/
+#line 1337 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static void write_coding(void)
+{register int count,skip;
+register unsigned char paint;
+register int x,y;
+register unsigned char*cp;
+
+x= 0;
+y= 0;
+cp= out_char+y*pk_output_size_x+x;
+count= skip= 0;
+paint= WHITE;
+goto start;
+
+while(y<pk_output_size_y)
+{/*43:*/
+#line 1361 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+count= 0;
+x= 0;
+cp= out_char+y*pk_output_size_x+x;
+
+while(x<pk_output_size_x)
+{if(*cp==paint)
+count++;
+else
+{if(skip==0)
+{if(count<=164)
+fputc(NEW_ROW_(count),out);
+else
+{fputc(SKIP0,out);
+
+if(count<256)
+{fputc(PAINT1,out);
+fputc(count,out);
+}
+else
+{fputc(PAINT2,out);
+fputc(count>>8,out);
+fputc(count&0xFF,out);
+}
+}
+}
+else
+{if(skip==1)
+fputc(SKIP0,out);
+else
+{if(skip<256)
+{fputc(SKIP1,out);
+fputc(skip,out);
+}
+else
+{fputc(SKIP2,out);
+fputc(skip>>8,out);
+fputc(skip&0xFF,out);
+}
+}
+skip= 0;
+if(count<64)
+fputc(PAINT_(count),out);
+else if(count<256)
+{fputc(PAINT1,out);
+fputc(count,out);
+}
+else
+{fputc(PAINT2,out);
+fputc(count>>8,out);
+fputc(count&0xFF,out);
+}
+}
+count= 0;
+paint= BLACK;
+break;
+}
+x++;
+cp++;
+}
+if(x>=pk_output_size_x)
+{skip++;
+y++;
+continue;
+}
+
+
+/*:43*/
+#line 1352 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+start:
+/*44:*/
+#line 1429 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+while(x<pk_output_size_x)
+{if(*cp==paint)
+count++;
+else
+{if(count<64)
+fputc(PAINT_(count),out);
+else if(count<256)
+{fputc(PAINT1,out);
+fputc(count,out);
+}
+else
+{fputc(PAINT2,out);
+fputc(count>>8,out);
+fputc(count&0xFF,out);
+}
+count= 1;
+paint= BLACK-paint;
+}
+x++;
+cp++;
+}
+if(paint==BLACK)
+{if(count<64)
+fputc(PAINT_(count),out);
+else if(count<256)
+{fputc(PAINT1,out);
+fputc(count,out);
+}
+else
+{fputc(PAINT2,out);
+fputc(count>>8,out);
+fputc(count&0xFF,out);
+}
+paint= WHITE;
+}
+
+
+
+/*:44*/
+#line 1354 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+y++;
+}
+}
+
+
+/*:42*//*46:*/
+#line 1495 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static void write_pl(void)
+{int i,pos;
+char output_file[FILE_NAME_LENGTH+1];
+long t,sc;
+char*s;
+char tfm_header[]= "Created by hbf2gf";
+
+file_number--;
+
+if(mf_like)
+{if(unicode)
+sprintf(output_file,"%s%02x.pl",output_name,file_number);
+else
+sprintf(output_file,"%s%02i.pl",output_name,file_number);
+}
+else
+sprintf(output_file,"%s.pl",output_name);
+
+if(!(out= fopen(output_file,WRITE_TXT)))
+{fprintf(stderr,"Couldn't open `%s'\n",output_file);
+exit(1);
+}
+if(!quiet)
+printf("\nWriting `%s'\n",output_file);
+
+fprintf(out,
+"\n(FAMILY %s%d)"
+"\n(CODINGSCHEME CJK-%s)",
+output_name,file_number,font_encoding);
+
+fprintf(out,
+"\n(DESIGNSIZE R %.6f)"
+"\n(COMMENT DESIGNSIZE IS IN POINTS)"
+"\n(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)"
+"\n(CHECKSUM O %lo)"
+"\n(FONTDIMEN"
+"\n (SLANT R %.6f)"
+"\n (SPACE R 0.0)"
+"\n (STRETCH R 0.0)"
+"\n (SHRINK R 0.0)"
+"\n (XHEIGHT R 1.0)"
+"\n (QUAD R 1.0)"
+"\n (EXTRASPACE R 0.0)"
+"\n )",design_size,checksum,slant);
+
+s= tfm_header;
+i= strlen(s);
+t= ((long)i)<<24;
+sc= 16;
+pos= 18;
+
+fprintf(out,"\n");
+while(i> 0)
+{t|= ((long)(*(unsigned char*)s++))<<sc;
+sc-= 8;
+if(sc<0)
+{fprintf(out,"\n(HEADER D %d O %lo)",pos,t);
+t= 0;
+sc= 24;
+pos++;
+}
+i--;
+}
+if(t)
+fprintf(out,"\n(HEADER D %d O %lo)",pos,t);
+fprintf(out,"\n");
+
+for(i= 0;i<256;i++)
+{fprintf(out,
+"\n(CHARACTER O %o"
+"\n (CHARWD R %.6f)"
+"\n (CHARHT R %.6f)"
+"\n (CHARDP R %.6f)"
+"\n (CHARIC R %.6f)"
+"\n )",
+i,
+tfm_output_size_x+2*tfm_offset_x,
+tfm_output_size_y+tfm_offset_y,
+-tfm_offset_y,
+slant*(tfm_output_size_y+tfm_offset_y));
+}
+
+fclose(out);
+}
+
+
+
+/*:46*//*48:*/
+#line 1592 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static void write_ovp(void)
+{int c,i,nmb_subfonts,remainder,count,pos;
+char output_file[FILE_NAME_LENGTH+1];
+long t,sc;
+char*s;
+char ofm_header[]= "Created by hbf2gf";
+
+nmb_subfonts= ((max_char-(min_char&0xFF00))/256*nmb_2_bytes)
+/256+1;
+remainder= ((max_char-(min_char&0xFF00))/256*nmb_2_bytes)
+%256;
+
+
+for(count= 0;count<(max_char&0xFF);count++)
+if(b2_codes[count])
+remainder++;
+if(remainder>=256)
+nmb_subfonts++;
+
+sprintf(output_file,"%s.ovp",output_name);
+
+if(!(out= fopen(output_file,WRITE_TXT)))
+{fprintf(stderr,"Couldn't open `%s'\n",output_file);
+exit(1);
+}
+if(!quiet)
+printf("\nWriting `%s'\n",output_file);
+
+fprintf(out,
+"\n(VTITLE Omega virtual font created by hbf2gf)"
+"\n(DESIGNSIZE R %.6f)"
+"\n(COMMENT DESIGNSIZE IS IN POINTS)"
+"\n(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)"
+"\n(CHECKSUM O %lo)"
+"\n(FONTDIMEN"
+"\n (SLANT R %.6f)"
+"\n (SPACE R 0.0)"
+"\n (STRETCH R 0.0)"
+"\n (SHRINK R 0.0)"
+"\n (XHEIGHT R 1.0)"
+"\n (QUAD R 1.0)"
+"\n (EXTRASPACE R 0.0)"
+"\n )",design_size,checksum,slant);
+
+s= ofm_header;
+i= strlen(s);
+t= ((long)i)<<24;
+sc= 16;
+pos= 18;
+
+fprintf(out,"\n");
+while(i> 0)
+{t|= ((long)(*(unsigned char*)s++))<<sc;
+sc-= 8;
+if(sc<0)
+{fprintf(out,"\n(HEADER D %d O %lo)",pos,t);
+t= 0;
+sc= 24;
+pos++;
+}
+i--;
+}
+if(t)
+fprintf(out,"\n(HEADER D %d O %lo)",pos,t);
+fprintf(out,"\n");
+
+for(i= 0;i<nmb_subfonts;i++)
+{fprintf(out,
+"\n(MAPFONT D %i"
+"\n (FONTNAME %s%02i)"
+"\n (FONTCHECKSUM O %lo)"
+"\n (FONTAT R 1.0)"
+"\n (FONTDSIZE R %.6f)"
+"\n )",i,output_name,i+1,checksum,design_size);
+}
+
+for(c= min_char,i= 0,count= 0;c<=max_char;c++)
+{if(b2_codes[c&0xFF]==VALID_SUBCODE)
+{fprintf(out,
+"\n(CHARACTER O %o"
+"\n (CHARWD R %.6f)"
+"\n (CHARHT R %.6f)"
+"\n (CHARDP R %.6f)"
+"\n (CHARIC R %.6f)"
+"\n (MAP"
+"\n (SELECTFONT D %i)"
+"\n (SETCHAR O %o)"
+"\n )"
+"\n )",
+c,
+tfm_output_size_x+2*tfm_offset_x,
+tfm_output_size_y+tfm_offset_y,
+-tfm_offset_y,
+slant*(tfm_output_size_y+tfm_offset_y),
+i,
+count);
+
+count++;
+if(count==256)
+{count= 0;
+i++;
+}
+}
+else
+continue;
+}
+
+fclose(out);
+}
+
+
+
+/*:48*//*51:*/
+#line 1737 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static void write_job(void)
+{FILE*out;
+int i,j;
+char buffer[FILE_NAME_LENGTH+1];
+
+
+strcpy(buffer,output_name);
+strcat(buffer,job_extension);
+if(!(out= fopen(buffer,WRITE_TXT)))
+{fprintf(stderr,"Couldn't open `%s'\n",buffer);
+exit(1);
+}
+if(!quiet)
+printf("\nWriting `%s'\n",buffer);
+
+if(pk_files)
+{if(unicode)
+{for(i= (min_char>>8),j= 0;j<nmb_files;i++,j++)
+fprintf(out,
+"%s %s%02x.gf %s%s%02x.%.0ipk\n"
+"%s %s%02x.gf\n",
+GFTOPK_NAME,output_name,i,
+pk_directory,output_name,i,
+long_extension?(int)(dpi_x*magstep_x+0.5):0,
+rm_command,output_name,i);
+}
+else
+{for(i= 1;i<=nmb_files;i++)
+fprintf(out,
+"%s %s%02i.gf %s%s%02i.%.0ipk\n"
+"%s %s%02i.gf\n",
+GFTOPK_NAME,output_name,i,
+pk_directory,output_name,i,
+long_extension?(int)(dpi_x*magstep_x+0.5):0,
+rm_command,output_name,i);
+}
+}
+
+if(tfm_files)
+{fprintf(out,
+"\n"
+"%s %s.pl %s.tfm\n"
+"%s %s.pl\n"
+"\n",
+PLTOTF_NAME,output_name,output_name,
+rm_command,output_name);
+
+if(unicode)
+{for(i= (min_char>>8),j= 0;j<nmb_files;i++,j++)
+fprintf(out,
+"%s %s.tfm %s%s%02x.tfm\n",
+cp_command,output_name,
+tfm_directory,output_name,i);
+}
+else
+{for(i= 1;i<=nmb_files;i++)
+fprintf(out,
+"%s %s.tfm %s%s%02i.tfm\n",
+cp_command,output_name,
+tfm_directory,output_name,i);
+}
+
+fprintf(out,
+"\n"
+"%s %s.tfm",
+rm_command,output_name);
+}
+
+if(ofm_file)
+{fprintf(out,
+"\n"
+"%s %s.ovp %s.ovf %s.ofm\n"
+"%s %s.ovp\n"
+"\n",
+OVP2OVF_NAME,output_name,output_name,output_name,
+rm_command,output_name);
+}
+
+fclose(out);
+}
+
+
+
+/*:51*//*55:*/
+#line 1989 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static void read_config(void)
+{HBF_BBOX*boxp;
+char*real_config_file;
+
+
+/*56:*/
+#line 2041 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+{int i,lastext= -1;
+
+for(i= 0;config_file[i];i++)
+if(config_file[i]=='.')
+lastext= i;
+else if(config_file[i]=='/'||
+config_file[i]==':'||
+config_file[i]=='\\')
+lastext= -1;
+
+if(lastext==-1)
+strcat(config_file,".cfg");
+}
+
+
+/*:56*/
+#line 1995 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+
+real_config_file= TeX_search_cfg_file(config_file);
+if(!real_config_file)
+{if(mf_like)
+{if(!quiet)
+printf("Couldn't find `%s'\n",config_file);
+exit(2);
+}
+else
+{fprintf(stderr,"Couldn't find `%s'\n",config_file);
+exit(1);
+}
+}
+
+if(!(config= fopen(real_config_file,READ_TXT)))
+{if(!testing)
+{fprintf(stderr,"Couldn't open `%s'\n",config_file);
+exit(1);
+}
+else
+{if(!quiet)
+fprintf(stderr,"Couldn't find or open `%s'\n",config_file);
+exit(2);
+}
+}
+
+if(testing)
+{if(!quiet)
+printf("%s\n",real_config_file);
+exit(0);
+}
+
+/*57:*/
+#line 2058 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+{char hbf_header[STRING_LENGTH+1];
+char*real_hbf_header;
+
+if(!fsearch("hbf_header"))
+config_error("hbf_header");
+else
+strcpy(hbf_header,Buffer);
+
+real_hbf_header= TeX_search_hbf_file(hbf_header);
+if(!real_hbf_header)
+{fprintf(stderr,"Couldn't find `%s'\n",hbf_header);
+exit(1);
+}
+
+hbfDebug= 1;
+
+
+if(!(hbf= hbfOpen(real_hbf_header)))
+exit(1);
+
+hbfDebug= 0;
+
+boxp= hbfBitmapBBox(hbf);
+input_size_x= boxp->hbf_height;
+input_size_y= boxp->hbf_width;
+font_encoding= hbfProperty(hbf,"HBF_CODE_SCHEME");
+
+if(!fsearch("output_name"))
+config_error("output_name");
+else
+strcpy(output_name,Buffer);
+}
+
+
+/*:57*/
+#line 2028 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+/*59:*/
+#line 2102 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+{if(fsearch("nmb_files"))
+nmb_files= atoi(Buffer);
+if(fsearch("unicode"))
+if(Buffer[0]=='y'||Buffer[0]=='Y')
+unicode= TRUE;
+if(fsearch("min_char"))
+{user_min_char= strtoul(Buffer,(char**)NULL,0);
+have_min_char= TRUE;
+}
+
+if(!mf_like)
+{if(fsearch("pk_files"))
+if(Buffer[0]=='n'||Buffer[0]=='N')
+pk_files= FALSE;
+if(fsearch("tfm_files"))
+if(Buffer[0]=='n'||Buffer[0]=='N')
+tfm_files= FALSE;
+if(fsearch("ofm_file"))
+if(Buffer[0]=='y'||Buffer[0]=='Y')
+ofm_file= TRUE;
+if(fsearch("long_extension"))
+if(Buffer[0]=='n'||Buffer[0]=='N')
+long_extension= FALSE;
+}
+
+if(fsearch("slant"))
+slant= atof(Buffer);
+if(slant<0.0||slant> 1.0)
+{fprintf(stderr,"Invalid slant\n");
+exit(1);
+}
+if(fsearch("rotation"))
+if(Buffer[0]=='y'||Buffer[0]=='Y')
+rotation= TRUE;
+
+if(fsearch("mag_x"))
+mag_x= atof(Buffer);
+if(fsearch("mag_y"))
+mag_y= atof(Buffer);
+if(!mag_x&&!mag_y)
+{mag_x= 1.0;
+mag_y= 1.0;
+}
+if(mag_x&&!mag_y)
+mag_y= mag_x;
+if(mag_y&&!mag_x)
+mag_x= mag_y;
+if(mag_x<=0.0)
+{fprintf(stderr,"Invalid horizontal magnification\n");
+exit(1);
+}
+if(mag_y<=0.0)
+{fprintf(stderr,"Invalid vertical magnification\n");
+exit(1);
+}
+
+if(fsearch("dpi_x"))
+dpi_x= atoi(Buffer);
+if(fsearch("dpi_y"))
+dpi_y= atoi(Buffer);
+if(!dpi_x&&!dpi_y)
+{dpi_x= 300;
+dpi_y= 300;
+}
+if(dpi_x&&!dpi_y)
+dpi_y= dpi_x;
+if(dpi_y&&!dpi_x)
+dpi_x= dpi_y;
+if(dpi_x<=PRINTER_MIN_RES_X)
+{fprintf(stderr,"Invalid horizontal printer resolution\n");
+exit(1);
+}
+if(dpi_y<=PRINTER_MIN_RES_Y)
+{fprintf(stderr,"Invalid vertical printer resolution\n");
+exit(1);
+}
+
+if(fsearch("design_size"))
+design_size= atof(Buffer);
+
+if(fsearch("x_offset"))
+offset_x= atoi(Buffer);
+else
+offset_x= rotation?0:(boxp->hbf_xDisplacement*mag_x+0.5);
+if(fsearch("y_offset"))
+offset_y= atoi(Buffer);
+else
+offset_y= rotation?0:(boxp->hbf_yDisplacement*mag_y+0.5);
+if(!fsearch("comment"))
+comment[0]= '\0';
+else
+strcpy(comment,Buffer);
+
+if(fsearch("threshold"))
+threshold= atoi(Buffer);
+if(threshold<=0||threshold>=255)
+{fprintf(stderr,"Invalid threshold\n");
+exit(1);
+}
+
+if(!fsearch("checksum"))
+checksum= 0;
+else
+checksum= strtoul(Buffer,(char**)NULL,0);
+
+if(!fsearch("coding"))
+coding[0]= '\0';
+else
+strcpy(coding,Buffer);
+
+if(!fsearch("pk_directory"))
+pk_directory[0]= '\0';
+else
+strcpy(pk_directory,Buffer);
+
+if(!fsearch("tfm_directory"))
+tfm_directory[0]= '\0';
+else
+strcpy(tfm_directory,Buffer);
+
+if(fsearch("rm_command"))
+strcpy(rm_command,Buffer);
+else
+strcpy(rm_command,"rm");
+
+if(fsearch("cp_command"))
+strcpy(cp_command,Buffer);
+else
+strcpy(cp_command,"cp");
+
+if(!fsearch("job_extension"))
+job_extension[0]= '\0';
+else
+{strncpy(job_extension,Buffer,EXTENSION_LENGTH);
+job_extension[EXTENSION_LENGTH]= '\0';
+}
+}
+
+
+/*:59*/
+#line 2029 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+
+/*61:*/
+#line 2256 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+{const void*cp;
+HBF_CHAR dummy;
+
+cp= hbfGetCodeRange(hbf,NULL,&min_char,&max_char);
+for(;cp!=NULL;cp= hbfGetCodeRange(hbf,cp,&dummy,&max_char))
+;
+
+if(have_min_char)
+min_char= user_min_char;
+}
+
+
+/*:61*/
+#line 2031 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+/*63:*/
+#line 2285 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+{const void*b2r;
+unsigned char dummy;
+int i;
+
+for(i= 0;i<256;i++)
+b2_codes[i]= 0;
+
+b2r= hbfGetByte2Range(hbf,NULL,&min_2_byte,&max_2_byte);
+dummy= min_2_byte;
+for(;b2r!=NULL;b2r= hbfGetByte2Range(hbf,b2r,&dummy,&max_2_byte))
+{for(i= dummy;i<=max_2_byte;i++)
+b2_codes[i]= VALID_SUBCODE;
+}
+
+for(i= 0;i<256;i++)
+if(b2_codes[i]==VALID_SUBCODE)
+nmb_2_bytes++;
+}
+
+
+/*:63*/
+#line 2032 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+
+fclose(config);
+}
+
+
+/*:55*//*65:*/
+#line 2317 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static int fsearch(const char*search_string)
+{char*P,p;
+const char*Q;
+char temp_buffer[STRING_LENGTH+1];
+char env_name[STRING_LENGTH+1];
+char*env_p;
+char*env_value;
+char*Buf_p;
+int Ch,ch,old_ch= '\n';
+int count= STRING_LENGTH;
+
+rewind(config);
+
+do
+{Q= search_string;
+p= tolower((unsigned char)*Q);
+Ch= fgetc(config);
+ch= tolower(Ch);
+while(!(ch==p&&old_ch=='\n')&&Ch!=EOF)
+
+
+{old_ch= ch;
+Ch= fgetc(config);
+ch= tolower(Ch);
+}
+
+for(;;)
+{if(*(++Q)=='\0')
+if((Ch= fgetc(config))==' '||Ch=='\t')
+
+goto success;
+Ch= fgetc(config);
+if(tolower(Ch)!=tolower((unsigned char)*Q))
+break;
+}
+}
+while(Ch!=EOF);
+
+return 0;
+
+success:
+P= temp_buffer;
+
+while((Ch= fgetc(config))==' '||Ch=='\t')
+
+;
+while(Ch!='\n'&&--count> 0&&Ch!=EOF)
+{*P++= Ch;
+Ch= fgetc(config);
+}
+*P= '\0';
+
+if(*temp_buffer)
+/*66:*/
+#line 2396 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+{P= temp_buffer;
+Buf_p= Buffer;
+count= STRING_LENGTH-1;
+
+while(*P&&count> 0)
+{env_p= env_name;
+
+if(*P=='$')
+{P++;
+if(*P=='$')
+{*(Buf_p++)= *(P++);
+count--;
+continue;
+}
+while(*P=='{')
+P++;
+if(!(isalpha((unsigned char)*P)||*P=='_'))
+{fprintf(stderr,
+"Invalid environment variable name in configuration file\n");
+exit(1);
+}
+*(env_p++)= *(P++);
+while(*P)
+{if(isalnum((unsigned char)*P)||*P=='_')
+*(env_p++)= *(P++);
+else
+{while(*P=='}')
+P++;
+*env_p= '\0';
+break;
+}
+}
+
+env_value= getenv(env_name);
+if(env_value)
+{while(*env_value&&count> 0)
+{*(Buf_p++)= *(env_value++);
+count--;
+}
+}
+}
+else
+{*(Buf_p++)= *(P++);
+count--;
+}
+}
+*Buf_p= '\0';
+}
+
+
+/*:66*/
+#line 2371 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+else
+*Buffer= '\0';
+
+return(*Buffer)?1:0;
+}
+
+
+/*:65*//*68:*/
+#line 2456 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static void config_error(const char*message)
+{fprintf(stderr,"Couldn't find `%s' entry in configuration file\n",
+message);
+exit(1);
+}
+
+
+
+/*:68*//*72:*/
+#line 2499 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+static const char*TeX_search_version(void)
+{
+#if defined(HAVE_LIBKPATHSEA)
+return kpathsea_version_string;
+#elif defined(HAVE_EMTEXDIR)
+return emtex_version_string;
+#elif defined(HAVE_MIKTEX)
+char buf[200];
+
+strcpy(buf,"MiKTeX ");
+miktex_get_miktex_version_string_ex(buf+7,sizeof(buf)-7);
+
+return buf;
+#else
+return no_version_string;
+#endif
+}
+
+
+/*:72*//*75:*/
+#line 2541 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+#ifdef HAVE_EMTEXDIR
+static int dir_setup(ed,env,dir,flags)
+struct emtex_dir*ed;
+const char*env;
+const char*dir;
+unsigned flags;
+
+{const char*val;
+char path[260];
+
+ed->alloc= 0;
+ed->used= 0;
+ed->list= NULL;
+
+if(env!=NULL&&(val= getenv(env))!=NULL)
+return setup_list(ed,path,val,flags);
+else
+fprintf(stderr,
+"Environment variable `%s' not set; use current directory\n",
+env);
+
+return TRUE;
+}
+#endif
+
+
+/*:75*//*77:*/
+#line 2576 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+#ifdef HAVE_EMTEXDIR
+static char*file_find(name,list)
+char*name;
+struct emtex_dir*list;
+
+{if(emtex_dir_find(name_buffer,sizeof(name_buffer),list,name,EDF_CWD))
+return name_buffer;
+
+return NULL;
+}
+#endif
+
+
+/*:77*//*80:*/
+#line 2627 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w"
+
+#if defined(HAVE_LIBKPATHSEA)
+static char*TeX_search_cfg_file(char*name)
+{
+return kpse_find_file(name,kpse_program_text_format,TRUE);
+}
+
+
+static char*TeX_search_hbf_file(char*name)
+{
+return kpse_find_file(name,kpse_miscfonts_format,TRUE);
+}
+
+
+#elif defined(HAVE_EMTEXDIR)
+static char*TeX_search_cfg_file(char*name)
+{return file_find(name,&cfg_path);
+}
+
+
+static char*TeX_search_hbf_file(char*name)
+{return file_find(name,&hbf_path);
+}
+
+
+#elif defined(HAVE_MIKTEX)
+static char*TeX_search_cfg_file(char*name)
+{char result[_MAX_PATH];
+
+if(!miktex_find_input_file("hbf2gf",*name,result))
+return 0;
+return strdup(result);
+}
+
+
+static char*TeX_search_hbf_file(char*name)
+{char result[_MAX_PATH];
+
+
+if(!miktex_find_miscfont_file(*name,result))
+return 0;
+return strdup(result);
+}
+
+
+#else
+static char*TeX_search_cfg_file(char*name)
+{return name;
+}
+
+
+static char*TeX_search_hbf_file(char*name)
+{return name;
+}
+#endif
+
+
+
+/*:80*/
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.def b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.def
new file mode 100644
index 0000000000..583767e897
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.def
@@ -0,0 +1,3 @@
+NAME HBF2GF WINDOWCOMPAT
+DESCRIPTION 'hbf2gf (CJK Ver. 4.8.4)'
+STACKSIZE 0x80000
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.w b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.w
new file mode 100644
index 0000000000..434dd7f414
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.w
@@ -0,0 +1,2816 @@
+% This is the cweb file hbf2gf.w of the CJK package ver. 4.8.4 18-Apr-2015
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+% To print this CWEB file you should (but not must) use the CWEAVE of the
+% c2cweb-package (found at the CTAN archives, e.g. ftp.dante.de) and then say
+%
+% cweave +ai hbf2gf.w
+%
+% This (fully compatible) CWEAVE can transform CWEB-files with alternative
+% output rules (look at the position of braces below!) the author (it's me
+% too :-) prefer. Otherwise this file will be formatted traditionally.
+
+\font\meta=logo10
+\def\mf{{\meta META}\-{\meta FONT}}
+\def\Om{\char "0A} % Omega symbol
+
+\def\title{hbf2gf (CJK Version 4.8.4)}
+
+\def\topofcontents{
+ \null\vfill
+ \centerline{\titlefont The {\ttitlefont hbf2gf} program}
+ \vskip 20pt
+ \centerline{(CJK Version 4.8.4)}
+ \vfill}
+
+\def\botofcontents{
+ \vfill
+ \noindent
+ Copyright \copyright~1996-1999 by Werner Lemberg
+ \bigskip\noindent
+ Permission is granted to make and distribute verbatim copies of this
+ document provided that the copyright notice and this permission notice are
+ preserved on all copies.
+
+ \smallskip\noindent
+ Permission is granted to copy and distribute modified versions of this
+ document under the conditions for verbatim copying, provided that the
+ entire resulting derived work is distributed under the terms of a
+ permission notice identical to this one.}
+
+\pageno=\contentspagenumber \advance\pageno by 1
+\let\maybe=\iftrue
+\fullpageheight=240mm
+\pageheight=223mm
+\pagewidth=158mm
+\setpage
+\frenchspacing
+
+
+\def\msdos{\.{msdos}}
+@s msdos TeX
+
+@s HBF int
+@s HBF_CHAR int
+@s HBF_BBOX int
+
+@s __inline__ int
+
+
+@* Introduction.
+This is the \.{hbf2gf} program by Werner Lemberg
+(\.{wl@@gnu.org}).
+
+The ``banner line'' defined here should be changed whenever \.{hbf2gf} is
+modified.
+
+@d banner
+"hbf2gf (CJK ver. 4.8.4)"
+
+
+@
+\.{hbf2gf} is intended to convert Hanzi Bitmap Fonts (HBF) into \TeX\
+generic font files (\.{GF} files) according to the \\{CJK} package, which
+\.{hbf2gf} is part of.
+
+The outline of \.{hbf2gf} is simple: a CJK (Chinese/Japanese/Korean) bitmap
+file will be scaled and written in at most |nmb_files| \.{GF} files, each
+file containing |256|~characters (except the last and possibly the first
+one). In the normal case it's not necessary to compute the right value of
+|nmb_files| because \.{hbf2gf} will do this; you should use |-1| instead to
+indicate this. See the last section for an example.
+
+Alternatively you can call \.{hbf2gf} similar to \mf, i.e., the program will
+compute one font on demand. This mode will be used if two or three input
+parameters instead of one are given: the font name, the horizontal
+resolution, and optionally a vertical scaling factor or resolution to allow
+modes for e.g.\ $300\times600\,\hbox{dpi}$ printers. \.{hbf2gf} will extract
+the configuration file name from the font name; if this file isn't found,
+the program exits with error code~|2| (this is useful for scripts like
+\.{mktexpk}). If the configuration file is found but an error occurs while
+computing the font, error code~|1| is returned. In case of success, the exit
+code is zero.
+
+The characters in the input font files are completely described by the HBF
+header file. This program uses the HBF API implementation of Ross Paterson
+(\.{ross@@soi.city.ac.uk}; with small extensions). You will find a
+description of the HBF standard at \.{ftp.ifcss.org}.
+
+A batch file created by \.{hbf2gf} too (if the program computes a whole set
+of subfonts) will convert the \.{GF} files to \.{PK} files using
+\.{GFtoPK}, a part of every \TeX\ package.
+
+@d TRUE 1
+@d FALSE 0@#
+
+@d STRING_LENGTH 255
+ /* the maximal length of an input string in the configuration file */
+@d FILE_NAME_LENGTH 1024
+ /* the maximal length (including the path) of a filename */@#
+
+@<Global variables@>=
+int nmb_files = -1; /* create all files by default */
+int unicode = FALSE; /* whether a Unicode font should be processed */@#
+
+int testing = FALSE; /* whether we test only the font name */@#
+
+int mf_like = FALSE; /* whether we are in the \mf-like mode */
+int file_number = 0; /* the subfont number */@#
+
+double x_resolution = 0.0; /* the second and third input parameter */
+double y_scale = 1.0;@#
+
+int pk_files = TRUE; /* command line options */
+int tfm_files = TRUE;
+int long_extension = TRUE;
+int quiet = FALSE;@#
+
+char config_file[FILE_NAME_LENGTH + 4 + 1];
+ /* we probably must add `\.{.cfg}' */
+char output_name[STRING_LENGTH + 1];@#
+
+FILE *config, *out;
+HBF *hbf;@#
+
+#ifdef msdos /* if we compile under DOS or OS/2 */
+#define WRITE_BIN "wb"
+#define WRITE_TXT "wt"
+#define READ_BIN "rb"
+#define READ_TXT "rt"
+#else
+#define WRITE_BIN "w"
+#define WRITE_TXT "w"
+#define READ_BIN "r"
+#define READ_TXT "r"
+#endif@#
+
+int end_of_file = FALSE;
+
+
+@
+One \.{PL} file will be created additionally, which describes the font
+metrics in a readable way. Because all CJK characters have identical
+bounding boxes, one metrics file is enough---the batch job created by
+\.{hbf2gf} calls \.{PLtoTF} to produce this \.{TFM} file and then copies
+it into |nmb_files| metrics files. There usually will be a discrepancy
+between the number of characters in the last \.{GF} file and the
+\.{TFM} file, but this does not harm.
+
+If you specify the \.{ofm\_file} option in the configuration file, an
+extended virtual property file (such files have the extension \.{.ovp}) for
+the \Om\ system is written; this will be then converted with
+\.{ovp2ovf} into an \.{OFM} and an \.{OVF} file to map all the subfonts
+into one large virtual font.
+
+
+
+@* The main routine.
+The main routine takes |file_name|, |x_resolution|, and |y_scale| as command
+line parameters if in \mf-like mode, otherwise |config_file| as the only
+argument. |read_config()| scans the configuration file and fills the global
+variables, |write_file()| writes the \.{GF} files, |write_pl()| and
+|write_ovp()| write the \.{PL} and \.{OVP} files respectively, and
+|write_job()| the batch file.
+
+@c
+@<Include files@>@;
+@<Prototypes@>@;
+@<Global variables@>@;@#
+
+
+int main(int argc, char *argv[])
+ {char *p;
+
+ @<Initialize \TeX\ file searching@>@;@#
+
+ @<Scan options@>@;@#
+
+ if(!quiet)
+ printf("\n%s\n\n", banner);@#
+
+ strncpy(config_file, argv[1], FILE_NAME_LENGTH);
+ config_file[FILE_NAME_LENGTH] = '\0';@#
+
+ if(argc > 2 || testing)
+ {int l = strlen(config_file);
+
+ if(l > 2)
+ config_file[l - 2] = '\0';
+ /* strip subfont number from file name */
+ else
+ {if(!quiet)
+ printf("`%s' can't be a subfont created by hbf2gf\n",
+ config_file);
+ exit(2);
+ }@#
+
+ mf_like = TRUE;
+ }@#
+
+ read_config(); /* will call |exit(1)| on errors */@#
+
+ if(mf_like)
+ @<Check other arguments@>@;@#
+
+ @<Initialize variables@>@;@#
+
+ @<Write files@>@;@#
+
+ if(tfm_files)
+ write_pl();
+ if(ofm_file)
+ write_ovp();
+ if(!mf_like)
+ write_job();@#
+
+ hbfClose(hbf);@#
+
+ exit(0);
+ return 0; /* never reached */
+ }
+
+
+@
+@d VERSION @/
+"\n"@/
+"Copyright (C) 1996-1999 Werner Lemberg.\n"@/
+"There is NO warranty. You may redistribute this software\n"@/
+"under the terms of the GNU General Public License\n"@/
+"and the HBF library copyright.\n"@/
+"\n"@/
+"For more information about these matters, see the files\n"@/
+"named COPYING and hbf.c.\n"@/
+"\n"
+
+@<Print version@>=
+ {printf("\n");
+ printf(banner);
+ printf(" (%s)\n", TeX_search_version());
+ printf(VERSION);
+ exit(0);
+ }
+
+
+@
+@d USAGE @/
+"\n"@/
+"Usage: hbf2gf [-q] configuration_file[.cfg]\n"@/
+" hbf2gf [options] font_name x_resolution [y_scale | y_resolution]\n"@/
+" hbf2gf -t [-q] font_name\n"@/
+"\n"@/
+" Convert a font in HBF format to TeX's GF resp. PK format.\n"@/
+"\n"@/
+" -q be silent\n"@/
+" -p don't produce a PL file\n"@/
+" -g don't produce a GF file\n"@/
+" -n use no resolution in extension (only `.gf')\n"@/
+" -t test for font_name (returns 0 on success)\n"@/
+" --help print this message and exit\n"@/
+" --version print version number and exit\n"@/
+"\n"
+
+@<Print help information@>=
+ {printf(USAGE);
+ exit(0);
+ }
+
+
+@
+Three options can be specified to the program (\.{-p}, \.{-g}, and \.{-n})
+if in \mf-like mode to suppress creation of a \.{PL} resp.\ a
+\.{GF} file, and to force a `\.{.gf}' extension (instead of
+e.g.\ `\.{.300gf}'). The corresponding setting of a particular switch in the
+configuration file is ignored then.
+
+Additionally, the option \.{-t} tests whether the specified subfont name
+leads to an \.{hbf2gf} configuration file. It returns 0 on success and prints
+out the name of that configuration file (provided the \.{-q} switch isn't
+set). This test isn't a thorough one; it only removes the last two characters
+and checks whether a configuration file with that name exists.
+
+@<Scan options@>=
+ if(argc == 2)
+ {if(strcmp(argv[1], "--help") == 0)
+ @<Print help information@>@;
+ else if(strcmp(argv[1], "--version") == 0)
+ @<Print version@>@;
+ }@#
+
+ while(argc > 1)
+ {p = argv[1];
+ if(p[0] != '-')
+ break;
+ if(p[1] == 'p')
+ tfm_files = FALSE;
+ else if(p[1] == 'g')
+ pk_files = FALSE;
+ else if(p[1] == 'n')
+ long_extension = FALSE;
+ else if(p[1] == 'q')
+ quiet = TRUE;
+ else if(p[1] == 't')
+ testing = TRUE;@#
+
+ argv++;
+ argc--;
+ }@#
+
+ if(testing)
+ {if(argc != 2)
+ {fprintf(stderr, "Need exactly one parameter for `-t' option.\n");
+ fprintf(stderr, "Try `hbf2gf --help' for more information.\n");
+ exit(1);
+ }
+ }
+ else if(argc < 2 || argc > 4)
+ {fprintf(stderr, "Invalid number of parameters.\n");
+ fprintf(stderr, "Try `hbf2gf --help' for more information.\n");
+ exit(1);
+ }@#
+
+
+@
+If the (optional) argument is larger than~|10|, we treat it as a value for
+the vertical resolution (in dpi), otherwise as a vertical scaling factor.
+
+@<Check other arguments@>=
+ {if(unicode)
+ file_number = (int)strtol(&argv[1][strlen(argv[1]) - 2],
+ (char **)NULL, 16);
+ else
+ file_number = atoi(&argv[1][strlen(argv[1]) - 2]);@#
+
+ x_resolution = atof(argv[2]);
+ if(x_resolution < PRINTER_MIN_RES_X)
+ {fprintf(stderr, "Invalid horizontal resolution\n");
+ exit(1);
+ }@#
+
+ if(argc > 3)
+ {y_scale = atof(argv[3]);
+ if(y_scale < 0.01)
+ {fprintf(stderr,
+ "Invalid vertical scaling factor or resolution\n");
+ exit(1);
+ }
+ if(y_scale > 10.0)
+ y_scale = (double)x_resolution / y_scale;
+ }
+ }
+
+
+@
+If |unicode| is |TRUE|, the start value of the running number appended to
+the base name of the output font files is taken from the HBF header file,
+otherwise it starts with~`\.{01}'. |min_char| represents the lower bound of
+the code range.
+
+If we are in \mf-like mode, |file_number| is taken from the command line,
+and |max_numb| will be set to~|1|.
+
+@<Write files@>=
+ {int j, max_numb;
+
+ if(!mf_like)
+ {file_number = (unicode == TRUE ? (min_char >> 8) : 1);
+ if(nmb_files == -1)
+ max_numb = (unicode == TRUE ? 0x100 : 100);
+ else
+ max_numb = nmb_files;
+ }
+ else
+ max_numb = 1;@#
+
+ for(j = 0; (j < max_numb) && !end_of_file; file_number++, j++)
+ write_file();@#
+
+ nmb_files = j; /* the real number of output font files */
+ }
+
+
+@
+@<Include files@>=
+#ifdef HAVE_CONFIG_H
+#include <c-auto.h>
+#endif
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#ifdef TM_IN_SYS_TIME
+#include <sys/time.h>
+#endif
+#include "hbf.h"
+
+
+
+@* The functions.
+The first function to be described is |write_file()|. Each \.{GF} file
+consists of three sections: a preamble, a data section, and a postamble. The
+functions |write_pre()|, |write_data()|, and |write_post()| handle this.
+
+@<Prototypes@>=
+static void write_file(void);
+
+
+@
+In \mf-like mode we create font file name extensions similar to \mf\ if
+the \.{-n} option isn't specified; otherwise only `\.{.gf}' will be appended.
+
+@c
+static void write_file(void)
+ {char output_file[FILE_NAME_LENGTH + 1];
+
+
+ if(pk_files)
+ {if(mf_like)
+ {if(unicode)
+ sprintf(output_file, "%s%02x.%.0igf",@/
+ output_name, file_number,
+ long_extension ? (int)(x_resolution + 0.5) : 0);
+ else
+ sprintf(output_file, "%s%02i.%.0igf",@/
+ output_name, file_number,
+ long_extension ? (int)(x_resolution + 0.5) : 0);
+ }
+ else
+ {if(unicode)
+ sprintf(output_file, "%s%02x.gf", output_name, file_number);
+ else
+ sprintf(output_file, "%s%02i.gf", output_name, file_number);
+ }
+ if(!(out = fopen(output_file, WRITE_BIN)))
+ {fprintf(stderr, "Couldn't open `%s'\n", output_file);
+ exit(1);
+ }
+ if(!quiet)
+ printf("Writing `%s' ", output_file);@#
+
+ write_pre();
+ write_data();
+ write_post();
+ fclose(out);@#
+
+ if(!quiet)
+ printf("\n");
+ }
+ else
+ write_data();
+ }
+
+
+@
+The preamble has two bytes at the very beginning, |PRE| and |GF_ID|. |PRE|
+starts the preamble, and |GF_ID| is the Generic Font Identity Byte. The next
+bytes are a string in Pascal format containing a header, the date, and the
+time. Strings in Pascal format start with the length of the string and have
+no terminating NULL byte.
+
+@d GF_ID 131
+@d PRE 247@#
+
+@d header " hbf2gf output "
+
+@<Prototypes@>=
+static void write_pre(void);
+
+
+@
+@s tm int
+
+@c
+static void write_pre(void)
+ {char out_s[40], s[20];
+ time_t secs_now;
+ struct tm *time_now;
+
+
+ strcpy(out_s, header);@#
+
+ secs_now = time(NULL); /* system date and time */
+ time_now = localtime(&secs_now);
+ strftime(s, 20, "%Y.%m.%d:%H.%M", time_now);
+ strcat(out_s, s);@#
+
+ fputc(PRE, out);
+ fputc(GF_ID, out);
+ fputc(strlen(out_s), out);
+ fputs(out_s, out);
+ }
+
+
+@
+|write_data()| produces the middle part of the \.{GF} file. It first sets
+|char_adr_p| equal to the address of |char_adr[]| which will contain file
+offsets of the compressed characters.
+
+|input_size_x| and |input_size_y| reflect the original dimensions of the
+bitmap font, |pk_output_size_x| and |pk_output_size_y| contain the width and
+height of the output character box (in pixels), |pk_offset_x| and
+|pk_offset_y| define the baseline of the font. The same names starting with
+`\\{tfm\_}' instead of `\\{pk\_}' are used for \.{TFM} files (values are
+multiples of design size). |mag_x| and |mag_y| hold the scaling factors
+which are needed to reach |design_size|. |slant| defines the slant ($\Delta
+x / \Delta y$), |target_size_x| and |target_size_y| will be the final
+dimensions; |magstep_x = target_size_x / design_size| is \TeX's
+\.{\\magstep}.
+
+The \CEE/ standard specifies that all global values will be automatically
+set to~|0| if no initialization value is given.
+
+@<Global...@>=
+long char_adr[256];
+long *char_adr_p;@#
+
+int pk_offset_x;
+ /* horizontal offset (increase character width a bit; will be applied on
+ both the left and the right side) */
+double tfm_offset_x;
+int pk_offset_y;
+ /* vertical offset (must be configured to desired font size) */
+double tfm_offset_y;@#
+
+int input_size_x;
+int input_size_y;
+const char *font_encoding; /* taken from the HBF file */
+int pk_width; /* without slant */
+int pk_output_size_x;
+ /* the output character box dimensions without offsets */
+double tfm_output_size_x;
+int pk_output_size_y;
+double tfm_output_size_y;@#
+
+double design_size = 10.0; /* in points */
+double target_size_x; /* in points */
+double target_size_y;
+double magstep_x;
+double magstep_y;
+double slant;
+int rotation;@#
+
+double mag_x; /* horizontal and vertical magnification values */
+double mag_y;@#
+
+int empty_char; /* a flag whether the character does not exist or is empty */
+int last_char; /* the last valid character in a \.{GF} file */@#
+
+int dot_count; /* this counts the processed characters;
+ every ten characters a dot is output to the screen */
+
+
+@
+@<Prototypes@>=
+static void write_data(void);
+
+
+@
+@c
+static void write_data(void)
+ {dot_count = 0;
+ char_adr_p = char_adr;@#
+
+ for(last_char = 0; (last_char < 256) && !end_of_file; last_char++)
+ @<Write character@>@;
+ }
+
+
+@
+The code in this section saves the current file position first and calls
+|make_pixel_array()|, which expands and scales the character bitmap.
+
+|BOC| (and |BOC1|), the Begin Of Character command byte, must be followed by
+the character code and the dimensions of the character as explained in
+``\mf---the program'' (corrected by vertical and horizontal offsets).
+
+|write_coding()| compresses and outputs the bitmap; |EOC| (End Of Character)
+finishes the current character.
+
+@d BOC 67
+@d BOC1 68 /* simplified version of |BOC| */
+@d EOC 69
+
+@<Write character@>=
+ {if(dot_count++ % 10 == 0) /* a progress report for impatient users */
+ if(pk_files && !quiet)
+ {printf(".");
+ fflush(stdout);
+ }@#
+
+ empty_char = FALSE;
+ make_pixel_array();
+ if(end_of_file)
+ return;@#
+
+ if(pk_files)
+ {*char_adr_p = ftell(out);
+ char_adr_p++;@#
+
+ if(empty_char)
+ {fputc(BOC1, out);
+ fputc((unsigned char)last_char, out);
+ fputc(0, out);
+ fputc(0, out);
+ fputc(0, out);
+ fputc(0, out);
+ fputc(EOC, out);
+ }
+ else
+ {fputc(BOC, out);
+ fputl(last_char, out);
+ fputl(-1L, out);
+ fputl(pk_offset_x, out);
+ fputl(pk_output_size_x + pk_offset_x, out);
+ fputl(pk_offset_y, out);
+ fputl(pk_output_size_y + pk_offset_y, out);@#
+
+ write_coding();@#
+
+ fputc(EOC, out);
+ }
+ }
+ }
+
+
+@
+The current \.{GF} file will be completed with data written by
+|write_post()|. The end consists of three sections: ``special'', ``post'',
+and ``postpost''. The first contains material not used by \TeX\ itself but
+which can be used by other programs like \.{GFtoDVI} or for documentary
+purposes (|coding[]| and |comment[]|). The second describes the font as a
+whole, and the last marks the end of the file.
+
+|pk_total_min_x| up to |pk_total_max_y| define the greatest bounding box of
+this file (including offsets); the horizontal character escapement after
+drawing the character is |pk_dx|. |tfm_width| is the width in multiples of
+the design size ignoring the target size.
+
+@d _2_16 65536.0 /* $2^{16}$ */
+@d _2_20 1048576.0 /* $2^{20}$ */
+
+@<Global...@>=
+char coding[STRING_LENGTH + 1]; /* a comment describing the font encoding */
+char comment[STRING_LENGTH + 1]; /* a comment describing the font */@#
+
+unsigned long checksum;@#
+
+long pk_total_min_x;
+long pk_total_max_x;
+long pk_total_min_y;
+long pk_total_max_y;@#
+
+int dpi_x; /* printer resolution */
+int dpi_y;
+double ppp_x; /* pixels per point */
+double ppp_y;
+
+
+@
+To clarify the meaning of these values see the sections about the metrics
+and configuration file also.
+
+\TeX\ defines that 72.27~points are exactly 1~inch.
+
+@<Prototypes@>=
+static void write_post(void);
+
+
+@
+@c
+static void write_post(void)
+ {long special_adr;
+ long post_adr;@#
+
+ long designsize = design_size * _2_20; /* design size $* 2^{20}$ */@#
+
+ int pk_dx;
+ long tfm_width;@#
+
+ int i;
+ long temp;
+
+
+ ppp_x = dpi_x / 72.27 * magstep_x;
+ ppp_y = dpi_y / 72.27 * magstep_y;@#
+
+ pk_total_min_x = pk_offset_x;
+ pk_total_max_x = pk_output_size_x + 2 * pk_offset_x;
+ pk_total_min_y = pk_offset_y;
+ pk_total_max_y = pk_output_size_y + pk_offset_y;@#
+
+ pk_dx = pk_width + 2 * pk_offset_x; /* no slant */
+ tfm_width = (tfm_output_size_x + 2 * tfm_offset_x) * _2_20;
+ /* width in multiples of design size $* 2^{20}$ */@#
+
+ @<Special section@>@;
+ @<Post section@>@;
+ @<Postpost section@>@;
+ }
+
+
+@
+\.{XXXn} will be followed by n~bytes representing the length of a string
+which follows immediately. |YYY| is a 32~bit integer which is normally
+connected with the preceding string (but not used here). |special_adr|
+contains the address of the ``special section''. All items here are
+optional.
+
+@d XXX1 239 /* these are all special command bytes */
+@d XXX2 240 /* not used */
+@d XXX3 241 /* not used */
+@d XXX4 242 /* not used */@#
+
+@d YYY 243 /* not used */
+
+@<Special section@>=
+ special_adr = ftell(out);@#
+
+ if(*coding)
+ {fputc(XXX1, out); /* |XXX1| implies a string length |< 256| */
+ fputc(strlen(coding), out);
+ fputs(coding, out);
+ }@#
+
+ if(*comment)
+ {fputc(XXX1, out);
+ fputc(strlen(comment), out);
+ fputs(comment, out);
+ }
+
+
+@
+All character offsets collected in |char_adr| will be written to the output
+file. |fputl()| writes a 32~bit integer into a file.
+
+|CHAR_LOC0| (and |CHAR_LOC|) is the first byte of a character locator
+(i.e., offset, character code, and width information). |POST| starts the
+postamble, and |post_adr| points to the beginning byte of the postamble.
+
+@d POST 248@#
+
+@d CHAR_LOC 245
+@d CHAR_LOC0 246 /* simplified version of |CHAR_LOC| */
+
+@<Post section@>=
+ post_adr = ftell(out);
+ fputc(POST, out);
+ fputl(special_adr, out);@#
+
+ fputl(designsize, out);
+ fputl(checksum, out);
+ fputl(ppp_x * _2_16, out);
+ fputl(ppp_y * _2_16, out);
+ fputl(pk_total_min_x, out);
+ fputl(pk_total_max_x, out);
+ fputl(pk_total_min_y, out);
+ fputl(pk_total_max_y, out);@#
+
+ char_adr_p = char_adr;@#
+
+ if(pk_dx < 256)
+ {for(i = 0; i < last_char; i++) /* the character locators */
+ {fputc(CHAR_LOC0, out);
+ fputc(i, out);
+ fputc(pk_dx, out);
+ fputl(tfm_width, out);
+ fputl(*char_adr_p++, out);
+ }
+ }
+ else /* will only happen if |MAX_CHAR_SIZE >= 256| */
+ {for(i = 0; i < last_char; i++)
+ {fputc(CHAR_LOC, out);
+ fputc(i, out);
+ fputl(pk_dx * _2_16, out);
+ fputl(0, out);
+ fputl(tfm_width, out);
+ fputl(*char_adr_p++, out);
+ }
+ }
+
+
+@
+|POSTPOST| starts the section after the postamble. To get all information in
+a \.{GF} file, you must start here. The very last bytes of the file have
+the value |POSTPOST_ID| (the file is filled with at least 4 of these bytes
+until a file length of a multiple of~4 is reached). Going backwards a
+|GF_ID| will be next, then comes the address of the postamble section.
+
+Jumping to the postamble, a |POST| byte comes first, then the address of
+the special section, and afterwards all character offsets. These offsets and
+addresses describe the whole file.
+
+@d POSTPOST 249
+@d POSTPOST_ID 223
+
+@<Postpost section@>=
+ fputc(POSTPOST, out);
+ fputl(post_adr, out);
+ fputc(GF_ID, out);
+ temp = ftell(out);
+ i = (int)(temp % 4) + 4;
+ while(i--)
+ fputc(POSTPOST_ID, out);
+
+
+@
+\TeX\ wants the most significant byte first.
+
+@<Prototypes@>=
+static void fputl(long, FILE *);
+
+
+@
+@c
+static void fputl(long num, FILE *f)
+ {fputc(num >> 24, f);
+ fputc(num >> 16, f);
+ fputc(num >> 8, f);
+ fputc(num, f);
+ }
+
+
+@
+|make_pixel_array()| scales a character into the array |out_char[]| where
+each \\{byte} represents one pixel, contrary to the input file where each
+\\{bit} is used to store the character bitmap. |BLACK| indicates a black
+pixel.
+
+The scaling routine was modeled after the program \.{pnmscale} of the
+\.{pbmplus} package. \.{pbmplus} was designed to handle arbitrary pictures,
+and bitmaps are only a special case of a graymap with values from~0 for
+white up to |PIXEL_MAXVAL = 255| for black.
+
+If |EOF| is encountered, |end_of_file| is set and the function returns
+immediately.
+
+@d BLACK 1
+@d WHITE 0@#
+
+@d PIXEL_MAXVAL 255
+@d SCALE 4096
+@d HALFSCALE 2048@#
+
+@d MAX_CHAR_SIZE 1023
+
+@<Global...@>=
+HBF_CHAR code;
+const unsigned char *bitmap;
+ /* a proper input bitmap array will be allocated by the HBF API */
+const unsigned char *bP;@#
+
+unsigned char out_char[MAX_CHAR_SIZE * MAX_CHAR_SIZE + 1];
+ /* the output bitmap array */
+unsigned char *out_char_p;@#
+
+unsigned char pixelrow[MAX_CHAR_SIZE];
+unsigned char temp_pixelrow[MAX_CHAR_SIZE];
+unsigned char new_pixelrow[MAX_CHAR_SIZE + 1];
+ /* we need space to append a white pixel */@#
+int curr_row; /* for |read_row()| if we access the glyph rotated */
+
+long grayrow[MAX_CHAR_SIZE];@#
+
+long s_mag_x, s_mag_y, s_slant;
+
+
+@
+We need to initialize the |grayrow[]| array together with some other
+variables.
+
+Two steps are necessary to compute the |code| if we are in the \mf-like
+mode. Assuming that we search the code \.{0xXXYY}, we first set |code| to
+the value \.{0xXXAA}, where \.{0xAA} is equal to |min_2_byte| (getting
+|offset| as the number of remaining characters to reach the first character
+in our given subfont), then we increment |code| (and decrement |offset|)
+until |offset| equals~0.
+
+@<Initialize variables@>=
+ {int col, offset;
+
+ if(rotation)
+ {int tmp;
+
+
+ tmp = input_size_x;
+ input_size_x = input_size_y;
+ input_size_y = tmp;
+ }@#
+
+ if(mf_like)
+ {target_size_x = design_size * (x_resolution / dpi_x);
+ target_size_y = design_size * (x_resolution * y_scale / dpi_y);
+ }
+ else
+ target_size_x = target_size_y = design_size;
+ magstep_x = target_size_x / design_size;
+ magstep_y = target_size_y / design_size;@#
+
+ pk_offset_x = offset_x * magstep_x + 0.5;
+ pk_offset_y = offset_y * magstep_y + 0.5;
+ tfm_offset_x = offset_x / (dpi_x / 72.27) / design_size;
+ tfm_offset_y = offset_y / (dpi_y / 72.27) / design_size;@#
+
+ pk_width = input_size_x * mag_x * magstep_x + 0.5; /* without slant */
+ pk_output_size_x = input_size_x * mag_x * magstep_x +
+ input_size_y * mag_y * magstep_y * slant + 0.5;
+ pk_output_size_y = input_size_y * mag_y * magstep_y + 0.5;
+ tfm_output_size_x = input_size_x * mag_x /
+ (dpi_x / 72.27) / design_size;
+ tfm_output_size_y = input_size_y * mag_y /
+ (dpi_y / 72.27) / design_size;
+ if(pk_output_size_x > MAX_CHAR_SIZE)
+ {fprintf(stderr, "Output character box width too big\n");
+ exit(1);
+ }
+ if(pk_output_size_y > MAX_CHAR_SIZE)
+ {fprintf(stderr, "Output character box height too big\n");
+ exit(1);
+ }@#
+
+ for(col = 0; col < input_size_x; ++col)
+ grayrow[col] = HALFSCALE;@#
+
+ if(!mf_like)
+ code = (min_char & 0xFF00) + min_2_byte;
+ else
+ {if((file_number < (unicode ? 0 : 1)) || (file_number >= 0x100))
+ {fprintf(stderr, "Invalid subfile number\n");
+ exit(1);
+ }@#
+
+ if(unicode)
+ {offset = 0;
+ code = file_number * 0x100;
+ }
+ else
+ {offset = (file_number - 1) * 256 % nmb_2_bytes;
+ code = (min_char & 0xFF00) + min_2_byte +
+ (file_number - 1) * 256 / nmb_2_bytes * 0x100;
+ }@#
+
+ while(offset--)
+ while(!b2_codes[code++ & 0xFF])
+ /* eliminate invalid |b2_codes| */
+ ;@#
+
+ if(code > max_char)
+ {fprintf(stderr, "Invalid subfile number\n");
+ exit(1);
+ }
+ }
+
+ s_mag_x = mag_x * magstep_x * SCALE;
+ s_mag_y = mag_y * magstep_y * SCALE;
+ s_slant = slant * SCALE;
+ }
+
+
+@
+All arrays of the \\{pixelrow} family contain gray values. While scaling
+with non-integer values a pixel of the input bitmap will normally not align
+with the pixel grid of the output bitmap (geometrically spoken). In this
+case we first compute the fractions of input pixel rows scaled vertically
+and add the corresponding gray values until a temporary row is produced.
+Then we repeat this procedure horizontally pixel by pixel and write the
+result into an output array.
+
+
+@<Prototypes@>=
+static void make_pixel_array(void);
+
+
+@
+@c
+static void make_pixel_array(void)
+ {unsigned char *prP;
+ unsigned char *temp_prP;
+ unsigned char *new_prP;
+ long *grP;@#
+
+ register unsigned char *xP;
+ register unsigned char *nxP;@#
+
+ register int row, col;
+ int rows_read = 0;
+ register int need_to_read_row = 1;@#
+
+ long frac_row_to_fill = SCALE;
+ long frac_row_left = s_mag_y;@#
+
+ int no_code = FALSE;
+
+
+ prP = pixelrow;
+ temp_prP = temp_pixelrow;
+ new_prP = new_pixelrow;
+ grP = grayrow;
+ out_char_p = out_char; /* will be increased by |write_row()| */@#
+
+again:
+ if(b2_codes[code & 0xFF]) /* a valid second byte? */
+ {if(pk_files)
+ {bitmap = hbfGetBitmap(hbf, code);
+ bP = bitmap;
+ /* will be increased by |read_row()| */@#
+
+ if(!bitmap)
+ empty_char = TRUE;
+ else
+ @<Scale row by row@>@;
+ }
+ }
+ else
+ no_code = TRUE;@#
+
+ if((code & 0xFF) == max_2_byte)
+ code += 0xFF - (max_2_byte - min_2_byte); /* go to next plane */
+ if(code >= max_char)
+ {end_of_file = TRUE;
+ return;
+ }@#
+
+ code++;@#
+
+ if(no_code)
+ {no_code = FALSE;
+ goto again;
+ }
+ }
+
+
+@
+@<Scale row by row@>=
+ {if(pk_output_size_y == input_size_y) /* shortcut Y~scaling if possible */
+ temp_prP = prP;@#
+
+ curr_row = input_size_y - 1; /* only needed for rotated glyphs */
+ for(row = 0; row < pk_output_size_y; ++row)
+ {@<Scale Y from |pixelrow[]| into |temp_pixelrow[]|@>@;
+ @<Scale X from |temp_pixelrow[]| into |new_pixelrow[]|
+ and write it into |out_char[]|@>@;
+ }
+ }
+
+
+@
+@<Scale Y from |pixelrow[]| into |temp_pixelrow[]|@>=
+ if(pk_output_size_y == input_size_y)
+ /* shortcut Y~scaling if possible */
+ read_row(prP);
+ else
+ {while(frac_row_left < frac_row_to_fill)
+ {if(need_to_read_row)
+ if(rows_read < input_size_y)
+ {read_row(prP);
+ ++rows_read;
+ }@#
+
+ for(col = 0, xP = prP; col < input_size_x; ++col, ++xP)
+ grP[col] += frac_row_left * (*xP);@#
+
+ frac_row_to_fill -= frac_row_left;
+ frac_row_left = s_mag_y;
+ need_to_read_row = 1;
+ }@#
+
+ @<Produce a temporary row@>@;
+ }
+
+
+@
+Now |frac_row_left >= frac_row_to_fill|, so we can produce a row.
+
+@<Produce a temporary row@>=
+ if(need_to_read_row)
+ if(rows_read < input_size_y)
+ {read_row(prP);
+ ++rows_read;
+ need_to_read_row = 0;
+ }@#
+
+ for(col = 0, xP = prP, nxP = temp_prP;
+ col < input_size_x; ++col, ++xP, ++nxP)
+ {register long g;
+
+
+ g = grP[col] + frac_row_to_fill * (*xP);
+ g /= SCALE;
+ if(g > PIXEL_MAXVAL)
+ g = PIXEL_MAXVAL;@#
+
+ *nxP = g;
+ grP[col] = HALFSCALE;
+ }@#
+
+ frac_row_left -= frac_row_to_fill;
+ if(frac_row_left == 0)
+ {frac_row_left = s_mag_y;
+ need_to_read_row = 1;
+ }
+ frac_row_to_fill = SCALE;
+
+
+@
+To implement the slant we move the starting point |nxP| to the right
+according to the corresponding |y|~value. To simplify life only positive
+shift values are allowed.
+
+We always append a white pixel to avoid artefacts at the end of the line
+produced by the last line. This rule sets the second condition that the
+slant must not be greater than~|1|---such a large slant would be unusable
+anyway for typesetting purposes.
+
+@<Scale X from |temp_pixelrow[]| into |new_pixelrow[]|
+ and write it into |out_char[]|@>=
+ if(pk_width == input_size_x && s_slant == 0)
+ /* shortcut X~scaling if possible */
+ write_row(temp_prP);
+ else
+ {register long g = HALFSCALE;
+ register long frac_col_to_fill = SCALE;
+ register long frac_col_left;
+ register int need_col = 0;
+
+
+ nxP = new_prP;@#
+
+ frac_col_left = (pk_output_size_y - row) * s_slant;
+ while(frac_col_left >= frac_col_to_fill)
+ {*(nxP++) = 0;
+ frac_col_left -= frac_col_to_fill;
+ }@#
+
+ if(frac_col_left > 0)
+ frac_col_to_fill -= frac_col_left;@#
+
+ for(col = 0, xP = temp_prP; col < input_size_x; ++col, ++xP)
+ {frac_col_left = s_mag_x;
+ while(frac_col_left >= frac_col_to_fill)
+ {if(need_col)
+ {++nxP;
+ g = HALFSCALE;
+ }@#
+
+ g += frac_col_to_fill * (*xP);
+ g /= SCALE;
+ if(g > PIXEL_MAXVAL)
+ g = PIXEL_MAXVAL;@#
+
+ *nxP = g;
+ frac_col_left -= frac_col_to_fill;
+ frac_col_to_fill = SCALE;
+ need_col = 1;
+ }@#
+
+ if(frac_col_left > 0)
+ {if(need_col)
+ {++nxP;
+ g = HALFSCALE;
+ need_col = 0;
+ }@#
+
+ g += frac_col_left * (*xP);
+ frac_col_to_fill -= frac_col_left;
+ }
+ }@#
+
+ @<Write out a row@>@;
+ }
+
+
+@
+@<Write out a row@>=
+ if(frac_col_to_fill > 0)
+ {--xP;
+ g += frac_col_to_fill * (*xP);
+ }@#
+
+ if(!need_col)
+ {g /= SCALE;
+ if(g > PIXEL_MAXVAL)
+ g = PIXEL_MAXVAL;
+ *nxP = g;
+ }@#
+
+ *(++nxP) = 0; /* append a blank pixel */@#
+
+ write_row(new_prP);
+
+
+@
+|read_row()| reads a row from |bitmap[]| and converts it into a graymap row.
+If the |rotation| flag has been set, we get the proper column instead (note
+that in this case |input_size_x| already reflects the width of the rotated
+glyph).
+
+@<Prototypes@>=
+static
+#ifdef __GNUC__
+__inline__
+#endif
+void read_row(unsigned char *);
+
+
+@
+@c
+static
+#ifdef __GNUC__
+__inline__
+#endif
+void read_row(unsigned char *pixelrow)
+ {register int col, bitshift, offset;
+ register unsigned char *xP;
+ register unsigned char item = 0;
+
+ if(rotation)
+ {bitshift = 7 - (curr_row % 8);
+ offset = (input_size_y + 7) / 8;
+ bP = bitmap + curr_row / 8;
+ for(col = 0, xP = pixelrow; col < input_size_x; ++col, ++xP)
+ {*xP = ((*bP >> bitshift) & 1) == 1 ? PIXEL_MAXVAL : 0;
+ bP += offset;
+ }
+ curr_row--;
+ }
+ else
+ {bitshift = -1;
+ for(col = 0, xP = pixelrow; col < input_size_x; ++col, ++xP)
+ {if(bitshift == -1)
+ {item = *(bP++); /* increase input bitmap pointer */
+ bitshift = 7;
+ }
+ *xP = ((item >> bitshift) & 1) == 1 ? PIXEL_MAXVAL : 0;
+ --bitshift;
+ }
+ }
+ }
+
+
+@
+|write_row()| converts the graymap back into a bitmap using a simple
+threshold.
+
+@<Global...@>=
+int threshold = 128;
+
+
+@
+@<Prototypes@>=
+static
+#ifdef __GNUC__
+__inline__
+#endif
+void write_row(unsigned char *);
+
+
+@
+@c
+static
+#ifdef __GNUC__
+__inline__
+#endif
+void write_row(unsigned char *pixelrow)
+ {register int col;
+ register unsigned char *xP;
+
+ for(col = 0, xP = pixelrow; col < pk_output_size_x; ++col, ++xP)
+ *(out_char_p++) = (*xP >= threshold) ? 1 : 0;
+ /* increase output bitmap pointer */
+ }
+
+
+@
+Now comes the most interesting routine. The pixel array will be compressed
+in sequences of black and white pixels.
+
+|SKIP0|, |SKIP1|, and |SKIP2| indicate how many blank lines will be skipped.
+|PAINT_(x)| means that the next x~pixels will have the same color, then the
+color changes. |NEW_ROW_(x)| is the first black pixel in the next row.
+
+An example: the pixel sequence 111100011001 [new row] 000111011110 will be
+output as 4 3 2 2 1 77 3 1 4 1.
+
+Commands with an ending~`n' in its name indicate that the next n~bytes
+should be read as the counter. Example: |SKIP1|~26 means `skip the next
+26~rows'.
+
+For further details please refer to ``\mf---the program''.
+
+@d PAINT_(x) (x) /* $0 \le x \le 63$ */
+@d PAINT1 64
+@d PAINT2 65
+@d PAINT3 66 /* not used */@#
+
+@d SKIP0 70
+@d SKIP1 71
+@d SKIP2 72
+@d SKIP3 73 /* not used */@#
+
+@d NEW_ROW_(x) ((x) + 74) /* $0 \le x \le 164$ */@#
+
+@d NOOP 244 /* not used */
+
+@<Prototypes@>=
+static void write_coding(void);
+
+
+@
+The |goto start| instruction causes some compilers to complain about
+``Unreachable code $\ldots$'' or something similar.
+
+@c
+static void write_coding(void)
+ {register int count, skip;
+ register unsigned char paint;
+ register int x, y;
+ register unsigned char *cp;
+
+ x = 0;
+ y = 0;
+ cp = out_char + y * pk_output_size_x + x;
+ count = skip = 0;
+ paint = WHITE;
+ goto start;@#
+
+ while (y < pk_output_size_y)
+ {@<Search blank lines@>@;
+start:
+ @<Process rest of line@>@;
+ y++;
+ }
+ }@#
+
+
+@
+@<Search blank lines@>=
+ count = 0;
+ x = 0;
+ cp = out_char + y * pk_output_size_x + x;@#
+
+ while(x < pk_output_size_x)
+ {if(*cp == paint)
+ count++;
+ else
+ {if(skip == 0)
+ {if(count <= 164)
+ fputc(NEW_ROW_(count), out);
+ else
+ {fputc(SKIP0, out);@#
+
+ if(count < 256)
+ {fputc(PAINT1, out);
+ fputc(count, out);
+ }
+ else
+ {fputc(PAINT2, out);
+ fputc(count >> 8, out);
+ fputc(count & 0xFF, out);
+ }
+ }
+ }
+ else
+ {if(skip == 1)
+ fputc(SKIP0, out);
+ else
+ {if(skip < 256)
+ {fputc(SKIP1, out);
+ fputc(skip, out);
+ }
+ else
+ {fputc(SKIP2, out);
+ fputc(skip >> 8, out);
+ fputc(skip & 0xFF, out);
+ }
+ }
+ skip = 0;
+ if(count < 64)
+ fputc(PAINT_(count), out);
+ else if(count < 256)
+ {fputc(PAINT1, out);
+ fputc(count, out);
+ }
+ else
+ {fputc(PAINT2, out);
+ fputc(count >> 8, out);
+ fputc(count & 0xFF, out);
+ }
+ }
+ count = 0;
+ paint = BLACK;
+ break;
+ }
+ x++;
+ cp++;
+ }
+ if(x >= pk_output_size_x)
+ {skip++;
+ y++;
+ continue;
+ }
+
+
+@
+@<Process rest of line@>=
+ while(x < pk_output_size_x)
+ {if(*cp == paint)
+ count++;
+ else
+ {if(count < 64)
+ fputc(PAINT_(count), out);
+ else if(count < 256)
+ {fputc(PAINT1, out);
+ fputc(count, out);
+ }
+ else
+ {fputc(PAINT2, out);
+ fputc(count >> 8, out);
+ fputc(count & 0xFF, out);
+ }
+ count = 1;
+ paint = BLACK - paint;
+ }
+ x++;
+ cp++;
+ }
+ if(paint == BLACK)
+ {if(count < 64)
+ fputc(PAINT_(count), out);
+ else if(count < 256)
+ {fputc(PAINT1, out);
+ fputc(count, out);
+ }
+ else
+ {fputc(PAINT2, out);
+ fputc(count >> 8, out);
+ fputc(count & 0xFF, out);
+ }
+ paint = WHITE;
+ }
+
+
+
+@* The font metrics file.
+This routine creates one \.{PL} file with the font properties. None of the
+\TeX\ font dimensions are needed because you never will use CJK fonts
+directly, and intercharacter stretching is handled by the \\{CJK} macro
+\.{\\CJKglue}. (Other packages may define similar commands.)
+
+The name of the \.{PL} file will contain the running two digits in
+\mf-like mode only.
+
+It makes sense \\{not} to compute the check sum automatically for two
+reasons. Firstly, since \TeX's checksum algorithm is based on the character
+width, the number of valid characters, and the designsize, there is a much
+higher chance that two subfonts from different HBF fonts have the same check
+sum than it is for ordinary fonts, because all characters have the same
+width, usually 256~characters in a subfont, and very often the same design
+size. Secondly, and this is more important, we create just one
+\.{TFM} file for all subfonts regardless of the real number of characters
+in a particular subfont.
+
+To have an identification string in the \.{TFM} file, we split it into
+single bytes and use the \.{HEADER} command repeatedly.
+
+@<Prototypes@>=
+static void write_pl(void);
+
+
+@
+@c
+static void write_pl(void)
+ {int i, pos;
+ char output_file[FILE_NAME_LENGTH + 1];
+ long t, sc;
+ char *s;
+ char tfm_header[] = "Created by hbf2gf";
+
+ file_number--; /* for \mf-like mode */@#
+
+ if(mf_like)
+ {if(unicode)
+ sprintf(output_file, "%s%02x.pl", output_name, file_number);
+ else
+ sprintf(output_file, "%s%02i.pl", output_name, file_number);
+ }
+ else
+ sprintf(output_file, "%s.pl", output_name);@#
+
+ if(!(out = fopen(output_file, WRITE_TXT)))
+ {fprintf(stderr, "Couldn't open `%s'\n", output_file);
+ exit(1);
+ }
+ if(!quiet)
+ printf("\nWriting `%s'\n", output_file);@#
+
+ fprintf(out,@/
+ "\n(FAMILY %s%d)"@/
+ "\n(CODINGSCHEME CJK-%s)",
+ output_name, file_number, font_encoding);@#
+
+ fprintf(out,@/
+ "\n(DESIGNSIZE R %.6f)"@/
+ "\n(COMMENT DESIGNSIZE IS IN POINTS)"@/
+ "\n(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)"@/
+ "\n(CHECKSUM O %lo)"@/
+ "\n(FONTDIMEN"@/
+ "\n (SLANT R %.6f)"@/
+ "\n (SPACE R 0.0)"@/
+ "\n (STRETCH R 0.0)"@/
+ "\n (SHRINK R 0.0)"@/
+ "\n (XHEIGHT R 1.0)"@/
+ "\n (QUAD R 1.0)"@/
+ "\n (EXTRASPACE R 0.0)"@/
+ "\n )", design_size, checksum, slant);@#
+
+ s = tfm_header;
+ i = strlen(s);
+ t = ((long)i) << 24;
+ sc = 16;
+ pos = 18;@#
+
+ fprintf(out, "\n");
+ while(i > 0)
+ {t |= ((long)(*(unsigned char *)s++)) << sc;
+ sc -= 8;
+ if(sc < 0)
+ {fprintf(out, "\n(HEADER D %d O %lo)", pos, t);
+ t = 0;
+ sc = 24;
+ pos++;
+ }
+ i--;
+ }
+ if(t)
+ fprintf(out, "\n(HEADER D %d O %lo)", pos, t);
+ fprintf(out, "\n");@#
+
+ for(i = 0; i < 256; i++)
+ {fprintf(out,@/
+ "\n(CHARACTER O %o"@/
+ "\n (CHARWD R %.6f)"@/
+ "\n (CHARHT R %.6f)"@/
+ "\n (CHARDP R %.6f)"@/
+ "\n (CHARIC R %.6f)"@/
+ "\n )",@/
+ i,
+ tfm_output_size_x + 2 * tfm_offset_x,
+ tfm_output_size_y + tfm_offset_y,
+ -tfm_offset_y,
+ slant * (tfm_output_size_y + tfm_offset_y));
+ }@#
+
+ fclose(out);
+ }
+
+
+
+@* The extended virtual font file for \Om.
+The following is very similar to |write_pl()|; we simply map the glyphs
+of the subfonts back to the original encoding positions.
+
+@<Prototypes@>=
+static void write_ovp(void);
+
+
+@
+@c
+static void write_ovp(void)
+ {int c, i, nmb_subfonts, remainder, count, pos;
+ char output_file[FILE_NAME_LENGTH + 1];
+ long t, sc;
+ char *s;
+ char ofm_header[] = "Created by hbf2gf";
+
+ nmb_subfonts = ((max_char - (min_char & 0xFF00)) / 256 * nmb_2_bytes)
+ / 256 + 1;
+ remainder = ((max_char - (min_char & 0xFF00)) / 256 * nmb_2_bytes)
+ % 256;@#
+
+ /* correction for the last incomplete second byte range */
+ for(count = 0; count < (max_char & 0xFF); count++)
+ if(b2_codes[count])
+ remainder++;
+ if(remainder >= 256)
+ nmb_subfonts++;@#
+
+ sprintf(output_file, "%s.ovp", output_name);@#
+
+ if(!(out = fopen(output_file, WRITE_TXT)))
+ {fprintf(stderr, "Couldn't open `%s'\n", output_file);
+ exit(1);
+ }
+ if(!quiet)
+ printf("\nWriting `%s'\n", output_file);@#
+
+ fprintf(out,@/
+ "\n(VTITLE Omega virtual font created by hbf2gf)"@/
+ "\n(DESIGNSIZE R %.6f)"@/
+ "\n(COMMENT DESIGNSIZE IS IN POINTS)"@/
+ "\n(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)"@/
+ "\n(CHECKSUM O %lo)"@/
+ "\n(FONTDIMEN"@/
+ "\n (SLANT R %.6f)"@/
+ "\n (SPACE R 0.0)"@/
+ "\n (STRETCH R 0.0)"@/
+ "\n (SHRINK R 0.0)"@/
+ "\n (XHEIGHT R 1.0)"@/
+ "\n (QUAD R 1.0)"@/
+ "\n (EXTRASPACE R 0.0)"@/
+ "\n )", design_size, checksum, slant);@#
+
+ s = ofm_header;
+ i = strlen(s);
+ t = ((long)i) << 24;
+ sc = 16;
+ pos = 18;@#
+
+ fprintf(out, "\n");
+ while(i > 0)
+ {t |= ((long)(*(unsigned char *)s++)) << sc;
+ sc -= 8;
+ if(sc < 0)
+ {fprintf(out, "\n(HEADER D %d O %lo)", pos, t);
+ t = 0;
+ sc = 24;
+ pos++;
+ }
+ i--;
+ }
+ if(t)
+ fprintf(out, "\n(HEADER D %d O %lo)", pos, t);
+ fprintf(out, "\n");@#
+
+ for(i = 0; i < nmb_subfonts; i++)
+ {fprintf(out,@/
+ "\n(MAPFONT D %i"@/
+ "\n (FONTNAME %s%02i)"@/
+ "\n (FONTCHECKSUM O %lo)"@/
+ "\n (FONTAT R 1.0)"@/
+ "\n (FONTDSIZE R %.6f)"@/
+ "\n )", i, output_name, i + 1, checksum, design_size);
+ }@#
+
+ for(c = min_char, i = 0, count = 0; c <= max_char; c++)
+ {if(b2_codes[c & 0xFF] == VALID_SUBCODE)
+ {fprintf(out,@/
+ "\n(CHARACTER O %o"@/
+ "\n (CHARWD R %.6f)"@/
+ "\n (CHARHT R %.6f)"@/
+ "\n (CHARDP R %.6f)"@/
+ "\n (CHARIC R %.6f)"@/
+ "\n (MAP"@/
+ "\n (SELECTFONT D %i)"@/
+ "\n (SETCHAR O %o)"@/
+ "\n )"@/
+ "\n )",@/
+ c,
+ tfm_output_size_x + 2 * tfm_offset_x,
+ tfm_output_size_y + tfm_offset_y,
+ -tfm_offset_y,
+ slant * (tfm_output_size_y + tfm_offset_y),
+ i,
+ count);@#
+
+ count++;
+ if(count == 256)
+ {count = 0;
+ i++;
+ }
+ }
+ else
+ continue;
+ }@#
+
+ fclose(out);
+ }
+
+
+
+@* The job file.
+This routine is the most system specific one. If your operating system needs
+a different outline, make appropriate changes here.
+
+You have to call this batch file after \.{hbf2gf} has finished (if not in
+\mf-like mode). It will transform the \.{GF} files into \.{PK} files and
+delete the now unnecessary \.{GF} files, then transform the \.{PL} file into
+a \.{TFM} file and copy it |nmb_files| times. The name of the job file is
+|output_name|.
+
+@d EXTENSION_LENGTH 8 /* the maximal length of a file extension */@#
+
+@d GFTOPK_NAME "gftopk"
+@d PLTOTF_NAME "pltotf"
+@d OVP2OVF_NAME "ovp2ovf"
+
+@<Global...@>=
+char job_extension[EXTENSION_LENGTH + 1];
+char rm_command[STRING_LENGTH + 1];
+char cp_command[STRING_LENGTH + 1];
+char pk_directory[STRING_LENGTH + 1];
+char tfm_directory[STRING_LENGTH + 1];@#
+
+int ofm_file = FALSE;
+
+
+@
+@<Prototypes@>=
+static void write_job(void);
+
+
+@
+@c
+static void write_job(void)
+ {FILE *out;
+ int i, j;
+ char buffer[FILE_NAME_LENGTH + 1];
+
+
+ strcpy(buffer, output_name);
+ strcat(buffer, job_extension);
+ if(!(out = fopen(buffer, WRITE_TXT)))
+ {fprintf(stderr, "Couldn't open `%s'\n", buffer);
+ exit(1);
+ }
+ if(!quiet)
+ printf("\nWriting `%s'\n", buffer);@#
+
+ if(pk_files)
+ {if(unicode)
+ {for(i = (min_char >> 8), j = 0; j < nmb_files; i++, j++)
+ fprintf(out,@/
+ "%s %s%02x.gf %s%s%02x.%.0ipk\n"@/
+ "%s %s%02x.gf\n",@/
+ GFTOPK_NAME, output_name, i,@/
+ pk_directory, output_name, i,
+ long_extension ? (int)(dpi_x * magstep_x + 0.5) : 0,@/
+ rm_command, output_name, i);
+ }
+ else
+ {for(i = 1; i <= nmb_files; i++)
+ fprintf(out,@/
+ "%s %s%02i.gf %s%s%02i.%.0ipk\n"@/
+ "%s %s%02i.gf\n",@/
+ GFTOPK_NAME, output_name, i,@/
+ pk_directory, output_name, i,
+ long_extension ? (int)(dpi_x * magstep_x + 0.5) : 0,@/
+ rm_command, output_name, i);
+ }
+ }@#
+
+ if(tfm_files)
+ {fprintf(out,@/
+ "\n"@/
+ "%s %s.pl %s.tfm\n"@/
+ "%s %s.pl\n"@/
+ "\n",@/
+ PLTOTF_NAME, output_name, output_name,@/
+ rm_command, output_name);@#
+
+ if(unicode)
+ {for(i = (min_char >> 8), j = 0; j < nmb_files; i++, j++)
+ fprintf(out,@/
+ "%s %s.tfm %s%s%02x.tfm\n",@/
+ cp_command, output_name,
+ tfm_directory, output_name, i);
+ }
+ else
+ {for(i = 1; i <= nmb_files; i++)
+ fprintf(out,@/
+ "%s %s.tfm %s%s%02i.tfm\n",@/
+ cp_command, output_name,
+ tfm_directory, output_name, i);
+ }@#
+
+ fprintf(out,@/
+ "\n"@/
+ "%s %s.tfm",@/
+ rm_command, output_name);
+ }@#
+
+ if(ofm_file)
+ {fprintf(out,@/
+ "\n"@/
+ "%s %s.ovp %s.ovf %s.ofm\n"@/
+ "%s %s.ovp\n"@/
+ "\n",@/
+ OVP2OVF_NAME, output_name, output_name, output_name,@/
+ rm_command, output_name);
+ }@#
+
+ fclose(out);
+ }
+
+
+
+@* The configuration file.
+Here is a list with all necessary keywords (and parameters):
+\medskip
+\halign{\quad\.{#}\hfil&\quad#\hfil\cr
+ hbf\_header & the HBF header file name of the input font(s). \cr
+ output\_name & the name stem of the output files. \cr
+ & Should be equal to the name of the configuration file
+ in most cases.\cr
+ & A running two digit decimal number starting with
+ \.{01} will be appended. \cr
+ & (For Unicode fonts see the keyword \.{unicode}
+ below.) \cr
+ }
+\bigskip
+And now all optional keywords:
+\medskip
+\halign{\quad\.{#}\hfil&\quad#\hfil\cr
+ x\_offset & increases the character width. \cr
+ & Will be applied on both sides; \cr
+ & default is the value given in the HBF header
+ (\.{HBF\_BITMAP\_BOUNDING\_BOX}) \cr
+ & scaled to \\{design\/}size (in pixels). \cr
+ y\_offset & shifts all characters up or down; \cr
+ & default is the value given in the HBF header
+ (\.{HBF\_BITMAP\_BOUNDING\_BOX}) \cr
+ & scaled to \\{design\/}size (in pixels). \cr
+ design\_size & the design size (in points) of the font. \cr
+ & \.{x\_offset} and \.{y\_offset} refer to this
+ size. \cr
+ & Default is |10.0| \cr
+ target\_size & This command is obsolete now and will be
+ ignored.\cr
+ & \cr
+ slant & the slant of the font (given as $\Delta x /
+ \Delta y$). \cr
+ & Only values in the range |0 <= slant <= 1|
+ are allowed. \cr
+ & Default is |0.0| \cr
+ rotation & if set to `yes'. the glyphs are rotated
+ 90~degrees counter-clockwise. \cr
+ & The default offsets as given in the HBF header
+ will be ignored (and set to~|0|). \cr
+ & Default is `no'. \cr
+ & \cr
+ mag\_x & \cr
+ mag\_y & scaling values of the characters to reach
+ design size. \cr
+ & If only one magnification is given, x and y
+ values are assumed to be equal. \cr
+ & Default is \.{mag\_x} $=$ \.{mag\_y} $=$ |1.0|
+ \cr
+ threshold & A value between |1| and |254| defining a
+ threshold for converting the internal \cr
+ & graymap into the output bitmap; lower values
+ cut more pixels. \cr
+ & Default value is |128|. \cr
+ & \cr
+ comment & a comment describing the font; \cr
+ & default is none. \cr
+ & \cr
+ nmb\_fonts & the number of the fonts. \cr
+ & Default value is~|-1| for creating all
+ fonts. \cr
+ unicode & if `yes', a two digit hexadecimal number will
+ be used as a running number, \cr
+ & starting with the value of the first byte of
+ the first code range. \cr
+ & Default is `no'. \cr
+ min\_char & the minimum of the encoding range. \cr
+ & Specify this value if it is not identical to
+ the lowest code value \cr
+ & in the HBF file (to which it defaults). \cr
+ & \cr
+ dpi\_x & \cr
+ dpi\_y & the horizontal and vertical resolution (in
+ dpi) of the printer. \cr
+ & If only one resolution is given, x and y
+ values are assumed to be equal. \cr
+ & Default is |300|. \cr
+ checksum & a checksum to identify the \.{GF} files
+ with the appropriate \.{TFM} files. \cr
+ & The default of this 32~bit unsigned integer
+ is |0|. \cr
+ coding & a comment describing the coding scheme; \cr
+ & default is none. \cr
+ & \cr
+ pk\_directory & the destination directory of the
+ \.{PK} files; \cr
+ & default: none. \cr
+ & Attention! The batch file will not check
+ whether this directory exists. \cr
+ tfm\_directory & the destination directory of the
+ \.{TFM} files; \cr
+ & default: none. \cr
+ & Attention! The batch file will not check
+ whether this directory exists. \cr
+ pk\_files & whether to create \.{PK} files or not; \cr
+ & default is `yes'. \cr
+ tfm\_files & whether to create \.{TFM} files or not; \cr
+ & default is `yes'. \cr
+ ofm\_file & whether to create an \.{OFM} and an
+ \.{OVF} file or not; \cr
+ & default is `no'. \cr
+ long\_extension & if `yes', \.{PK} files will include the
+ resolution in the extension \cr
+ & (e.g. \.{gsso1201.300pk}). \cr
+ & This affects the batch file only (default is
+ `yes'). \cr
+ rm\_command & this shell command removes files; \cr
+ & default: `rm'. \cr
+ cp\_command & this shell command copies files; \cr
+ & default: `cp'. \cr
+ job\_extension & the extension of the batch file which calls
+ \.{GFtoPK} and \.{PLtoTF} \cr
+ & to convert the \.{GF} and the
+ \.{PL} files into \.{PK} and
+ \.{TFM} files; \cr
+ & default is none. \cr
+ }
+\bigskip
+
+The searching algorithm (for the keywords) of \.{hbf2gf} is case
+insensitive; it makes no difference whether you write for example \.{comment}
+or \.{CommenT}. The keywords must start a line (be in the first column), and
+the corresponding parameters must be on the same line with the keyword and
+separated by at least one space or tabulator stop. Lines starting not with a
+keyword are ignored.
+
+Key values \\{are} case sensitive (except \.{yes} and \.{no}).
+
+The default system dependent values are for \UNIX/-like operating systems;
+if you use for example DOS, you must write
+\medskip
+\halign{\quad\.{#}\hfil&\quad\.{#}\hfil\cr
+ long\_extension & no \cr
+ rm\_command & del \cr
+ cp\_command & copy \cr
+ job\_extension & .bat \cr
+ }
+\medskip
+
+Both the values |pk_output_size_x| and |pk_output_size_y| must not exceed
+|MAX_CHAR_SIZE|; \.{x\_offset} and \.{y\_offset} are related to the
+design size (and not to the input size).
+
+In \mf-like mode, one \.{GF} file and one \.{PL} file will be computed
+(depending on the command line options \.{-g} and \.{-p}), taking
+|x_resolution| and |y_scale| from the command line. \.{nmb\_fonts} will
+always be set to~|1|; no job file will be created.
+
+
+@
+@d PRINTER_MIN_RES_X 50
+@d PRINTER_MIN_RES_Y 50
+
+@<Global...@>=
+char Buffer[STRING_LENGTH + 1];
+
+
+@
+@<Prototypes@>=
+static void read_config(void);
+
+
+@
+If |config_file| isn't found in \mf-like mode we assume that the font
+isn't a HBF font at all.
+
+@c
+static void read_config(void)
+ {HBF_BBOX *boxp;
+ char *real_config_file;
+
+
+ @<Handle extension@>@;@#
+
+ real_config_file = TeX_search_cfg_file(config_file);
+ if(!real_config_file)
+ {if(mf_like)
+ {if(!quiet)
+ printf("Couldn't find `%s'\n", config_file);
+ exit(2);
+ }
+ else
+ {fprintf(stderr, "Couldn't find `%s'\n", config_file);
+ exit(1);
+ }
+ }@#
+
+ if(!(config = fopen(real_config_file, READ_TXT)))
+ {if(!testing)
+ {fprintf(stderr, "Couldn't open `%s'\n", config_file);
+ exit(1);
+ }
+ else /* We reach this point only if no searching library is used */
+ {if(!quiet)
+ fprintf(stderr, "Couldn't find or open `%s'\n", config_file);
+ exit(2);
+ }
+ }@#
+
+ if(testing)
+ {if(!quiet)
+ printf("%s\n", real_config_file);
+ exit(0);
+ }
+
+ @<Necessary parameters@>@;
+ @<Optional parameters@>@;@#
+
+ @<Get code range@>@;
+ @<Get sub code range@>@;@#
+
+ fclose(config);
+ }
+
+
+@
+Here we check whether we have to add an extension.
+
+@<Handle extension@>=
+ {int i, lastext = -1;
+
+ for(i = 0; config_file[i]; i++)
+ if(config_file[i] == '.')
+ lastext = i;
+ else if (config_file[i] == '/' ||
+ config_file[i] == ':' ||
+ config_file[i] == '\\')
+ lastext = -1;@#
+
+ if(lastext == -1)
+ strcat(config_file, ".cfg");
+ }
+
+
+@
+@<Necess...@>=
+ {char hbf_header[STRING_LENGTH + 1];
+ char *real_hbf_header;
+
+ if(!fsearch("hbf_header"))
+ config_error("hbf_header");
+ else
+ strcpy(hbf_header, Buffer);@#
+
+ real_hbf_header = TeX_search_hbf_file(hbf_header);
+ if(!real_hbf_header)
+ {fprintf(stderr, "Couldn't find `%s'\n", hbf_header);
+ exit(1);
+ }@#
+
+ hbfDebug = 1; /* we activate error messages of the HBF API
+ while scanning the HBF header file */@#
+
+ if(!(hbf = hbfOpen(real_hbf_header)))
+ exit(1);@#
+
+ hbfDebug = 0;@#
+
+ boxp = hbfBitmapBBox(hbf);
+ input_size_x = boxp->hbf_height; /* will be checked later for rotation */
+ input_size_y = boxp->hbf_width;
+ font_encoding = hbfProperty(hbf, "HBF_CODE_SCHEME");@#
+
+ if(!fsearch("output_name"))
+ config_error("output_name");
+ else
+ strcpy(output_name, Buffer);
+ }
+
+
+@
+@<Global...@>=
+int offset_x;
+int offset_y;@#
+
+HBF_CHAR user_min_char;
+int have_min_char = FALSE;
+
+@
+@<Opt...@>=
+ {if(fsearch("nmb_files"))
+ nmb_files = atoi(Buffer);
+ if(fsearch("unicode"))
+ if(Buffer[0] == 'y' || Buffer[0] == 'Y')
+ unicode = TRUE;
+ if(fsearch("min_char"))
+ {user_min_char = strtoul(Buffer, (char **)NULL, 0);
+ have_min_char = TRUE;
+ }@#
+
+ if(!mf_like)
+ {if(fsearch("pk_files"))
+ if(Buffer[0] == 'n' || Buffer[0] == 'N')
+ pk_files = FALSE;
+ if(fsearch("tfm_files"))
+ if(Buffer[0] == 'n' || Buffer[0] == 'N')
+ tfm_files = FALSE;
+ if(fsearch("ofm_file"))
+ if(Buffer[0] == 'y' || Buffer[0] == 'Y')
+ ofm_file = TRUE;
+ if(fsearch("long_extension"))
+ if(Buffer[0] == 'n' || Buffer[0] == 'N')
+ long_extension = FALSE;
+ }@#
+
+ if(fsearch("slant"))
+ slant = atof(Buffer);
+ if(slant < 0.0 || slant > 1.0)
+ {fprintf(stderr, "Invalid slant\n");
+ exit(1);
+ }
+ if(fsearch("rotation"))
+ if(Buffer[0] == 'y' || Buffer[0] == 'Y')
+ rotation = TRUE;@#
+
+ if(fsearch("mag_x"))
+ mag_x = atof(Buffer);
+ if(fsearch("mag_y"))
+ mag_y = atof(Buffer);
+ if(!mag_x && !mag_y)
+ {mag_x = 1.0;
+ mag_y = 1.0;
+ }
+ if(mag_x && !mag_y)
+ mag_y = mag_x;
+ if(mag_y && !mag_x)
+ mag_x = mag_y;
+ if(mag_x <= 0.0)
+ {fprintf(stderr, "Invalid horizontal magnification\n");
+ exit(1);
+ }
+ if(mag_y <= 0.0)
+ {fprintf(stderr, "Invalid vertical magnification\n");
+ exit(1);
+ }@#
+
+ if(fsearch("dpi_x"))
+ dpi_x = atoi(Buffer);
+ if(fsearch("dpi_y"))
+ dpi_y = atoi(Buffer);
+ if(!dpi_x && !dpi_y)
+ {dpi_x = 300;
+ dpi_y = 300;
+ }
+ if(dpi_x && !dpi_y)
+ dpi_y = dpi_x;
+ if(dpi_y && !dpi_x)
+ dpi_x = dpi_y;
+ if(dpi_x <= PRINTER_MIN_RES_X)
+ {fprintf(stderr, "Invalid horizontal printer resolution\n");
+ exit(1);
+ }
+ if(dpi_y <= PRINTER_MIN_RES_Y)
+ {fprintf(stderr, "Invalid vertical printer resolution\n");
+ exit(1);
+ }@#
+
+ if(fsearch("design_size"))
+ design_size = atof(Buffer);@#
+
+ if(fsearch("x_offset"))
+ offset_x = atoi(Buffer);
+ else
+ offset_x = rotation ? 0 : (boxp->hbf_xDisplacement * mag_x + 0.5);
+ if(fsearch("y_offset"))
+ offset_y = atoi(Buffer);
+ else
+ offset_y = rotation ? 0 : (boxp->hbf_yDisplacement * mag_y + 0.5);
+ if(!fsearch("comment"))
+ comment[0] = '\0';
+ else
+ strcpy(comment, Buffer);@#
+
+ if(fsearch("threshold"))
+ threshold = atoi(Buffer);
+ if(threshold <= 0 || threshold >= 255)
+ {fprintf(stderr, "Invalid threshold\n");
+ exit(1);
+ }@#
+
+ if(!fsearch("checksum"))
+ checksum = 0;
+ else
+ checksum = strtoul(Buffer, (char **)NULL, 0);@#
+
+ if(!fsearch("coding"))
+ coding[0] = '\0';
+ else
+ strcpy(coding, Buffer);@#
+
+ if(!fsearch("pk_directory"))
+ pk_directory[0] = '\0';
+ else
+ strcpy(pk_directory, Buffer);@#
+
+ if(!fsearch("tfm_directory"))
+ tfm_directory[0] = '\0';
+ else
+ strcpy(tfm_directory, Buffer);@#
+
+ if(fsearch("rm_command"))
+ strcpy(rm_command, Buffer);
+ else
+ strcpy(rm_command, "rm");@#
+
+ if(fsearch("cp_command"))
+ strcpy(cp_command, Buffer);
+ else
+ strcpy(cp_command, "cp");@#
+
+ if(!fsearch("job_extension"))
+ job_extension[0] = '\0';
+ else
+ {strncpy(job_extension, Buffer, EXTENSION_LENGTH);
+ job_extension[EXTENSION_LENGTH] = '\0';
+ }
+ }
+
+
+@
+The function |hbfGetCodeRange()| is an extension to the HBF API.
+
+Successive calls return the code ranges in ascending order; we only need the
+extrema of the whole code range.
+
+In case |min_char| has been supplied in the configuration file, we use that
+value instead.
+
+@<Global...@>=
+HBF_CHAR min_char, max_char;
+
+
+@
+@<Get code range@>=
+ {const void *cp;
+ HBF_CHAR dummy;
+
+ cp = hbfGetCodeRange(hbf, NULL, &min_char, &max_char);
+ for(; cp != NULL; cp = hbfGetCodeRange(hbf, cp, &dummy, &max_char))
+ ;@#
+
+ if(have_min_char)
+ min_char = user_min_char;
+ }
+
+
+@
+The function |hbfGetByte2Range()| is an extension to the HBF API.
+
+Successive calls return the byte~2 ranges in ascending order. We raise
+|VALID_SUBCODE| in the array |b2_codes[]| for all characters in subcode
+ranges.
+
+@d VALID_SUBCODE 1
+
+@<Global...@>=
+char b2_codes[256];
+unsigned char min_2_byte, max_2_byte;
+int nmb_2_bytes = 0;
+
+
+@
+@<Get sub code range@>=
+ {const void *b2r;
+ unsigned char dummy;
+ int i;
+
+ for(i = 0; i < 256; i++)
+ b2_codes[i] = 0;@#
+
+ b2r = hbfGetByte2Range(hbf, NULL, &min_2_byte, &max_2_byte);
+ dummy = min_2_byte;
+ for(; b2r != NULL; b2r = hbfGetByte2Range(hbf, b2r, &dummy, &max_2_byte))
+ {for(i = dummy; i <= max_2_byte; i++)
+ b2_codes[i] = VALID_SUBCODE;
+ }@#
+
+ for(i = 0; i < 256; i++) /* compute the number of valid |b2_codes| */
+ if(b2_codes[i] == VALID_SUBCODE)
+ nmb_2_bytes++;
+ }
+
+
+@
+This search routine is case insignificant. Each keyword must start a line;
+the function checks whether the character before the keyword is a newline
+character (|'\n'|). It also checks the presence of a parameter and fills
+|Buffer| if existent. |fsearch()| returns~1 on success.
+
+@<Prototypes@>=
+static int fsearch(const char *);
+
+
+@
+@c
+static int fsearch(const char *search_string)
+ {char *P, p;
+ const char *Q;
+ char temp_buffer[STRING_LENGTH + 1];
+ char env_name[STRING_LENGTH + 1];
+ char *env_p;
+ char *env_value;
+ char *Buf_p;
+ int Ch, ch, old_ch = '\n';
+ int count = STRING_LENGTH;
+
+ rewind(config); /* we start at offset~0 */@#
+
+ do
+ {Q = search_string;
+ p = tolower((unsigned char)*Q);
+ Ch = fgetc(config);
+ ch = tolower(Ch);
+ while(!(ch == p && old_ch == '\n') && Ch != EOF)
+ /* search first character of |search_string|;
+ |'\n'| must be the character before */
+ {old_ch = ch;
+ Ch = fgetc(config);
+ ch = tolower(Ch);
+ }@#
+
+ for(;;)
+ {if(*(++Q) == '\0')
+ if((Ch = fgetc(config)) == ' ' || Ch == '\t')
+ /* there must be a space or a tab stop after the keyword */
+ goto success;
+ Ch = fgetc(config);
+ if(tolower(Ch) != tolower((unsigned char)*Q))
+ break;
+ }
+ }
+ while(Ch != EOF);@#
+
+ return 0;@#
+
+success:
+ P = temp_buffer;@#
+
+ while((Ch = fgetc(config)) == ' ' || Ch == '\t')
+ /* remove leading blanks and tabs */
+ ;
+ while(Ch != '\n' && --count > 0 && Ch != EOF) /* fill |Buffer| */
+ {*P++ = Ch;
+ Ch = fgetc(config);
+ }
+ *P = '\0';@#
+
+ if (*temp_buffer)
+ @<Check for environment variables@>@;
+ else
+ *Buffer = '\0';@#
+
+ return (*Buffer) ? 1 : 0; /* is there something in the buffer? */
+ }
+
+
+@
+To make the configuration file more flexible we allow environment variables
+in the arguments. We scan the parameter stored in |temp_buffer| whether it
+contains a `\.{\$}' character. If yes, the following code fragment tries to
+get an environment variable name whose value will be then fetched with
+|getenv()|. An environment variable name recognized by \.{hbf2gf} must start
+with a letter or underscore; the other characters may be alphanumeric or an
+underscore. You can surround the environment variable name with braces to
+indicate where the name ends, e.g. \.{\$\{FOO\}}. The interpolated
+configuration parameter will be truncated to |STRING_LENGTH| characters. If
+you want to have `\.{\$}' you must write `\.{\$\$}'.
+
+Note that you should avoid to use such environment variables for specifying
+the location of the configuration file in case you have support for a file
+searching library like kpathsea. Its primary aim is to specify the target
+directories for the \.{pk\_directory} and the \.{tfm\_directory} keywords.
+
+@<Check for environment variables@>=
+ {P = temp_buffer;
+ Buf_p = Buffer;
+ count = STRING_LENGTH - 1;@#
+
+ while(*P && count > 0)
+ {env_p = env_name;@#
+
+ if(*P == '$')
+ {P++;
+ if(*P == '$')
+ {*(Buf_p++) = *(P++);
+ count--;
+ continue;
+ }
+ while(*P == '{') @q } @>
+ P++;
+ if(!(isalpha((unsigned char)*P) || *P == '_'))
+ {fprintf(stderr,@/
+ "Invalid environment variable name in configuration file\n");
+ exit(1);
+ }
+ *(env_p++) = *(P++);
+ while(*P)
+ {if(isalnum((unsigned char)*P) || *P == '_')
+ *(env_p++) = *(P++);
+ else
+ {@q { @> while(*P == '}')
+ P++;
+ *env_p = '\0';
+ break;
+ }
+ }@#
+
+ env_value = getenv(env_name);
+ if(env_value) /* append the environment value to |Buffer| */
+ {while(*env_value && count > 0)
+ {*(Buf_p++) = *(env_value++);
+ count--;
+ }
+ }
+ }
+ else
+ {*(Buf_p++) = *(P++);
+ count--;
+ }
+ }
+ *Buf_p = '\0';
+ }
+
+
+@
+If an error occurs, |config_error()| will leave the program with an error
+message.
+
+@<Prototypes@>=
+static void config_error(const char *);
+
+
+@
+@c
+static void config_error(const char *message)
+ {fprintf(stderr, "Couldn't find `%s' entry in configuration file\n",
+ message);
+ exit(1);
+ }
+
+
+
+@* File searching.
+
+We support three searching engines: emtexdir, kpathsea, and MiKTeX (which is
+a Win32 port of kpathsea). For emtexdir, define |HAVE_EMTEXDIR| while
+compiling. For kpathsea, define |HAVE_LIBKPATHSEA|. For MikTeX, define
+|HAVE_MIKTEX|. If none of these macros is defined, a simple |fopen()| will
+be used instead.
+
+@<Include files@>=
+#if defined(HAVE_LIBKPATHSEA)
+#include "kpathsea/kpathsea.h"
+
+#elif defined(HAVE_EMTEXDIR)
+#include "emtexdir.h"
+
+#elif defined(HAVE_MIKTEX)
+#include "miktex.h"
+#endif
+
+@
+@<Global variables@>=
+#if defined(HAVE_EMTEXDIR)
+char emtex_version_string[] = "emTeXdir";
+#elif !defined(HAVE_MIKTEX)
+char no_version_string[] = "no search library";
+#endif
+
+
+@
+@<Prototypes@>=
+static const char *TeX_search_version(void);
+
+
+@
+@c
+static const char *TeX_search_version(void)
+ {
+#if defined(HAVE_LIBKPATHSEA)
+ return kpathsea_version_string;
+#elif defined(HAVE_EMTEXDIR)
+ return emtex_version_string;
+#elif defined(HAVE_MIKTEX)
+ char buf[200];
+
+ strcpy(buf, "MiKTeX ");
+ miktex_get_miktex_version_string_ex(buf + 7, sizeof (buf) - 7);
+
+ return buf;
+#else
+ return no_version_string;
+#endif
+ }
+
+
+@
+@s emtex_dir int
+
+@<Global variables@>=
+#ifdef HAVE_EMTEXDIR
+struct emtex_dir cfg_path, hbf_path;
+#endif
+
+
+@
+@<Prototypes@>=
+#ifdef HAVE_EMTEXDIR
+extern int setup_list(struct emtex_dir *, char *, const char *, unsigned);
+static int dir_setup(struct emtex_dir *, const char *, const char *, unsigned);
+static char *file_find(char *, struct emtex_dir *);
+#endif
+
+
+@
+We slightly modify |emtex_dir_setup()| (from the file \.{emtexdir.c}) to
+output a warning in case the environment variable |env| isn't set properly.
+
+@c
+#ifdef HAVE_EMTEXDIR
+static int dir_setup(ed, env, dir, flags)
+ struct emtex_dir *ed;
+ const char *env;
+ const char *dir;
+ unsigned flags;
+
+ {const char *val;
+ char path[260];
+
+ ed->alloc = 0;
+ ed->used = 0;
+ ed->list = NULL;@#
+
+ if(env != NULL && (val = getenv(env)) != NULL)
+ return setup_list(ed, path, val, flags);
+ else
+ fprintf(stderr,
+ "Environment variable `%s' not set; use current directory\n",
+ env);@#
+
+ return TRUE;
+ }
+#endif
+
+
+@
+@<Global variables@>=
+#ifdef HAVE_EMTEXDIR
+char name_buffer[FILE_NAME_LENGTH + 1];
+#endif
+
+
+@
+@c
+#ifdef HAVE_EMTEXDIR
+static char *file_find(name, list)
+ char *name;
+ struct emtex_dir *list;
+
+ {if(emtex_dir_find(name_buffer, sizeof(name_buffer), list, name, EDF_CWD))
+ return name_buffer;@#
+
+ return NULL;
+ }
+#endif
+
+
+@
+For emtexdir we use the environment variables \.{HBFCFG} and \.{HBFONTS} for
+configuration resp.\ HBF header files.
+
+@<Initialize \TeX\ file searching@>=
+#if defined(HAVE_LIBKPATHSEA)
+ kpse_set_program_name(argv[0], "hbf2gf");
+ kpse_init_prog("HBF2GF", 300, "cx", "cmr10");@#
+
+#elif defined(HAVE_EMTEXDIR)
+ if(!dir_setup(&cfg_path, "HBFCFG", NULL, EDS_BANG))
+ {fprintf(stderr,
+ "Couldn't setup search path for configuration files\n");
+ exit(1);
+ }
+ if(!dir_setup(&hbf_path, "HBFONTS", NULL, EDS_BANG))
+ {fprintf(stderr,
+ "Couldn't setup search path for HBF header files\n");
+ exit(1);
+ }
+#endif
+
+
+@
+Finally, here are the searching routines. A special format in the kpathsea
+library for fonts which are neither PostScript nor TrueType (\.{MISCFONTS})
+is available with version~3.3 and newer. For older versions we use the path
+for PostScript fonts (\.{T1FONTS}) to find HBF files. Configuration files
+are searched in the path specified within \.{TEXCONFIG} for old kpathsea
+versions, and within \.{HBF2GFINPUTS} for new versions.
+
+@<Prototypes@>=
+static char *TeX_search_cfg_file(char *);
+static char *TeX_search_hbf_file(char *);
+
+
+@
+@c
+#if defined(HAVE_LIBKPATHSEA)
+static char *TeX_search_cfg_file(char *name)
+ {
+ return kpse_find_file(name, kpse_program_text_format, TRUE);
+ }@#
+
+
+static char *TeX_search_hbf_file(char *name)
+ {
+ return kpse_find_file(name, kpse_miscfonts_format, TRUE);
+ }@#
+
+
+#elif defined(HAVE_EMTEXDIR)
+static char *TeX_search_cfg_file(char *name)
+ {return file_find(name, &cfg_path);
+ }@#
+
+
+static char *TeX_search_hbf_file(char *name)
+ {return file_find(name, &hbf_path);
+ }@#
+
+
+#elif defined(HAVE_MIKTEX)
+static char *TeX_search_cfg_file(char *name)
+ {char result[_MAX_PATH];
+
+ if (!miktex_find_input_file("hbf2gf", *name, result))
+ return 0;
+ return strdup(result);
+ }@#
+
+
+static char *TeX_search_hbf_file(char *name)
+ {char result[_MAX_PATH];
+
+
+ if (!miktex_find_miscfont_file(*name, result))
+ return 0;
+ return strdup(result);
+ }@#
+
+
+#else
+static char *TeX_search_cfg_file(char *name)
+ {return name;
+ }@#
+
+
+static char *TeX_search_hbf_file(char *name)
+ {return name;
+ }
+#endif
+
+
+
+@* An example.
+This is the example configuration file \.{b5so12.cfg} (for use with DOS or
+OS/2 and the emtexdir searching engine):
+\bigskip
+\halign{\quad\.{#}\hfil&\quad\.{#}\hfil\cr
+ hbf\_header & et24.hbf \cr
+ mag\_x & 2.076 \cr
+ x\_offset & 3 \cr
+ y\_offset & -8 \cr
+ comment & fanti songti 24x24 pixel font scaled and
+ adapted to 12 pt \cr
+ & \cr
+ design\_size & 12.0 \cr
+ & \cr
+ nmb\_fonts & -1 \cr
+ & \cr
+ output\_name & b5so12 \cr
+ & \cr
+ dpi\_x & 300 \cr
+ checksum & 123456789 \cr
+ coding & codingscheme Big 5 encoded TeX text \cr
+ & \cr
+ long\_extension & no \cr
+ job\_extension & .cmd \cr
+ rm\_command & del \cr
+ cp\_command & copy \cr
+ pk\_directory & \$HBF\_TARGET\\pk\\360dpi\\ \cr
+ tfm\_directory & \$HBF\_TARGET\\tfm\\ \cr
+ }
+\bigskip
+If you say e.g.
+\medskip
+\quad \.{set HBF\_TARGET=c:\\emtex\\texfonts}
+\medskip
+on your DOS prompt (or in your \.{autoexec.bat} file), then the interpolated
+value of the \.{tfm\_directory} keyword is \.{c:\\emtex\\texfonts\\tfm\\}.
+The HBF header file \.{et24.hbf} will be searched in the path specified by
+the \.{HBFCFG} environment variable.
+\bigskip
+The call
+\medskip
+\quad \.{hbf2gf b5so12.cfg}
+\medskip
+creates the files
+\medskip
+\quad \.{b5so1201.gf}, \.{b5so1202.gf}, $\ldots$ , \.{b5so1255.gf},
+\.{b5so12.pl}, and \.{b5so12.cmd}
+\bigskip
+After calling
+\medskip
+\quad \.{b5so12.cmd}
+\medskip
+you will find the \.{PK} files in the
+\.{c:\\emtex\\texfonts\\pk\\360dpi} directory and the \.{TFM} files in
+the \.{c:\\emtex\\texfonts\\tfm} directory; all \.{GF} files and
+\.{b5so12.pl} will be deleted.
+\bigskip
+The call
+\medskip
+\quad \.{hbf2gf -n b5so1220 417}
+\medskip
+creates two files:
+\medskip
+\quad \.{b5so1220.gf} and \.{b5so1220.pl}
+\medskip
+using the configuration file \.{b5so12.cfg}. The \.{GF} file would be
+named \.{b5so1220.417gf} if the flag \.{-n} had not been used.
+
+\medskip
+
+It is possible to convert bitmap fonts to \.{PK} files almost
+automatically. The HBF header file already has the entry
+\.{HBF\_BITMAP\_BOUNDING\_BOX} which defines vertical and horizontal offsets
+(in pixels), but these values are not in all cases optimal. If you omit
+\.{x\_offset} and \.{y\_offset} in the configuration file, the third and
+fourth parameter of \.{HBF\_BITMAP\_BOUNDING\_BOX} is used, scaled to design
+size (to say it in other words: \.{x\_offset} and \.{y\_offset} will always
+apply to the design size to be synchronous with the \.{TFM} files).
+
+Don't confuse scaling and magnification: Scaling here means that you choose
+a (arbitrary) design size and compute scaling values (\.{mag\_x} and
+\.{mag\_y}) which scales the bitmap to this particular design size at a
+certain (arbitrarily chosen) resolution (\.{dpi\_x} and \.{dpi\_y}).
+Magnification means that the scaled bitmap will be then magnified to a
+certain target size while still using the font parameters (i.e., the
+\.{TFM} file) of the design size.
+
+In the sample, you have a $24 \times 24$ bitmap font which will be scaled to
+$12\,\hbox{pt}$ having a resolution of $300\,\hbox{dpi}$:
+\medskip
+\quad $1\,\hbox{pt}$ are $300 / 72.27 = 4.1511$ pixel;
+
+\quad $12\,\hbox{pt}$ are $4.1511 * 12 = 49.813$ pixel;
+
+\quad thus the theoretical scaling value is $49.813 / 24 = 2.076$.
+
+\medskip
+
+But especially for small sizes, this may not be the best value if the font
+should harmonize with, say, Knuth's Computer Modern fonts. I recommend to
+compute, say, 5~\.{PK} fonts, then check the CJK font with different \TeX\
+fonts to see whether the offsets and/or the scaling value is good. The
+greater the design size the finer you can control the offsets---as an
+example you could use a design size of $30\,\hbox{pt}$ (nevertheless there
+is a compile-time constant |MAX_CHAR_SIZE| which limits the maximal
+character size; default is 255~pixels).
+
+If you have found optimal offsets, you can produce many different
+magnifications of the CJK font using the same set of \.{TFM} files
+analogous to ordinary \TeX\ fonts; as a simplification, we assume that
+\.{PK} files with a resolution of $300\,\hbox{dpi}$ and a design size of
+$10\,\hbox{pt}$ have the extension `\.{.300pk}' (respectively come into a
+`\.{300dpi}' subdirectory)---this is the reason why in the above example for
+the $12\,\hbox{pt}$ design size a `\.{360dpi}' target directory has been
+used. Now we can use the following formula:
+
+ $$ \\{needed\_dpi} = \\{your\_horizontal\_resolution} *
+ {\\{your\_target\_size} \over 10.0} $$
+
+Example: assuming that your printer has a resolution of
+$300\times400\,\hbox{dpi}$, and you want $14.4\,\hbox{pt}$:
+
+ $$ 300 * {14.4 \over 10.0} = 432 $$
+
+The vertical scaling value is $400 / 300 = 1.3333$. Use these values now to
+call \.{hbf2gf} in \mf-like mode:
+
+\quad \.{hbf2gf b5so1220 432 1.3333}
+
+
+
+@* Index.
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/install-sh b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/install-sh
new file mode 100755
index 0000000000..0b0fdcbba6
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/install-sh
@@ -0,0 +1,501 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2013-12-25.23; # UTC
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# 'make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.
+
+tab=' '
+nl='
+'
+IFS=" $tab$nl"
+
+# Set DOITPROG to "echo" to test this script.
+
+doit=${DOITPROG-}
+doit_exec=${doit:-exec}
+
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
+
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+
+posix_mkdir=
+
+# Desired mode of installed file.
+mode=0755
+
+chgrpcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
+rmcmd="$rmprog -f"
+stripcmd=
+
+src=
+dst=
+dir_arg=
+dst_arg=
+
+copy_on_change=false
+is_target_a_directory=possibly
+
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+ or: $0 [OPTION]... SRCFILES... DIRECTORY
+ or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+ or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+ --help display this help and exit.
+ --version display version info and exit.
+
+ -c (ignored)
+ -C install only if different (preserve the last data modification time)
+ -d create directories instead of installing files.
+ -g GROUP $chgrpprog installed files to GROUP.
+ -m MODE $chmodprog installed files to MODE.
+ -o USER $chownprog installed files to USER.
+ -s $stripprog installed files.
+ -t DIRECTORY install into DIRECTORY.
+ -T report an error if DSTFILE is a directory.
+
+Environment variables override the default commands:
+ CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+ RMPROG STRIPPROG
+"
+
+while test $# -ne 0; do
+ case $1 in
+ -c) ;;
+
+ -C) copy_on_change=true;;
+
+ -d) dir_arg=true;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift;;
+
+ --help) echo "$usage"; exit $?;;
+
+ -m) mode=$2
+ case $mode in
+ *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
+ echo "$0: invalid mode: $mode" >&2
+ exit 1;;
+ esac
+ shift;;
+
+ -o) chowncmd="$chownprog $2"
+ shift;;
+
+ -s) stripcmd=$stripprog;;
+
+ -t)
+ is_target_a_directory=always
+ dst_arg=$2
+ # Protect names problematic for 'test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
+ shift;;
+
+ -T) is_target_a_directory=never;;
+
+ --version) echo "$0 $scriptversion"; exit $?;;
+
+ --) shift
+ break;;
+
+ -*) echo "$0: invalid option: $1" >&2
+ exit 1;;
+
+ *) break;;
+ esac
+ shift
+done
+
+# We allow the use of options -d and -T together, by making -d
+# take the precedence; this is for compatibility with GNU install.
+
+if test -n "$dir_arg"; then
+ if test -n "$dst_arg"; then
+ echo "$0: target directory not allowed when installing a directory." >&2
+ exit 1
+ fi
+fi
+
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
+ # When -d is used, all remaining arguments are directories to create.
+ # When -t is used, the destination is already specified.
+ # Otherwise, the last argument is the destination. Remove it from $@.
+ for arg
+ do
+ if test -n "$dst_arg"; then
+ # $@ is not empty: it contains at least $arg.
+ set fnord "$@" "$dst_arg"
+ shift # fnord
+ fi
+ shift # arg
+ dst_arg=$arg
+ # Protect names problematic for 'test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
+ done
+fi
+
+if test $# -eq 0; then
+ if test -z "$dir_arg"; then
+ echo "$0: no input file specified." >&2
+ exit 1
+ fi
+ # It's OK to call 'install-sh -d' without argument.
+ # This can happen when creating conditional directories.
+ exit 0
+fi
+
+if test -z "$dir_arg"; then
+ if test $# -gt 1 || test "$is_target_a_directory" = always; then
+ if test ! -d "$dst_arg"; then
+ echo "$0: $dst_arg: Is not a directory." >&2
+ exit 1
+ fi
+ fi
+fi
+
+if test -z "$dir_arg"; then
+ do_exit='(exit $ret); exit $ret'
+ trap "ret=129; $do_exit" 1
+ trap "ret=130; $do_exit" 2
+ trap "ret=141; $do_exit" 13
+ trap "ret=143; $do_exit" 15
+
+ # Set umask so as not to create temps with too-generous modes.
+ # However, 'strip' requires both read and write access to temps.
+ case $mode in
+ # Optimize common cases.
+ *644) cp_umask=133;;
+ *755) cp_umask=22;;
+
+ *[0-7])
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw='% 200'
+ fi
+ cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+ *)
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw=,u+rw
+ fi
+ cp_umask=$mode$u_plus_rw;;
+ esac
+fi
+
+for src
+do
+ # Protect names problematic for 'test' and other utilities.
+ case $src in
+ -* | [=\(\)!]) src=./$src;;
+ esac
+
+ if test -n "$dir_arg"; then
+ dst=$src
+ dstdir=$dst
+ test -d "$dstdir"
+ dstdir_status=$?
+ else
+
+ # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+ # might cause directories to be created, which would be especially bad
+ # if $src (and thus $dsttmp) contains '*'.
+ if test ! -f "$src" && test ! -d "$src"; then
+ echo "$0: $src does not exist." >&2
+ exit 1
+ fi
+
+ if test -z "$dst_arg"; then
+ echo "$0: no destination specified." >&2
+ exit 1
+ fi
+ dst=$dst_arg
+
+ # If destination is a directory, append the input filename; won't work
+ # if double slashes aren't ignored.
+ if test -d "$dst"; then
+ if test "$is_target_a_directory" = never; then
+ echo "$0: $dst_arg: Is a directory" >&2
+ exit 1
+ fi
+ dstdir=$dst
+ dst=$dstdir/`basename "$src"`
+ dstdir_status=0
+ else
+ dstdir=`dirname "$dst"`
+ test -d "$dstdir"
+ dstdir_status=$?
+ fi
+ fi
+
+ obsolete_mkdir_used=false
+
+ if test $dstdir_status != 0; then
+ case $posix_mkdir in
+ '')
+ # Create intermediate dirs using mode 755 as modified by the umask.
+ # This is like FreeBSD 'install' as of 1997-10-28.
+ umask=`umask`
+ case $stripcmd.$umask in
+ # Optimize common cases.
+ *[2367][2367]) mkdir_umask=$umask;;
+ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+ *[0-7])
+ mkdir_umask=`expr $umask + 22 \
+ - $umask % 100 % 40 + $umask % 20 \
+ - $umask % 10 % 4 + $umask % 2
+ `;;
+ *) mkdir_umask=$umask,go-w;;
+ esac
+
+ # With -d, create the new directory with the user-specified mode.
+ # Otherwise, rely on $mkdir_umask.
+ if test -n "$dir_arg"; then
+ mkdir_mode=-m$mode
+ else
+ mkdir_mode=
+ fi
+
+ posix_mkdir=false
+ case $umask in
+ *[123567][0-7][0-7])
+ # POSIX mkdir -p sets u+wx bits regardless of umask, which
+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+ ;;
+ *)
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+ if (umask $mkdir_umask &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+ ls_ld_tmpdir=`ls -ld "$tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+ $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/d" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+ fi
+ trap '' 0;;
+ esac;;
+ esac
+
+ if
+ $posix_mkdir && (
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+ )
+ then :
+ else
+
+ # The umask is ridiculous, or mkdir does not conform to POSIX,
+ # or it failed possibly due to a race condition. Create the
+ # directory the slow way, step by step, checking for races as we go.
+
+ case $dstdir in
+ /*) prefix='/';;
+ [-=\(\)!]*) prefix='./';;
+ *) prefix='';;
+ esac
+
+ oIFS=$IFS
+ IFS=/
+ set -f
+ set fnord $dstdir
+ shift
+ set +f
+ IFS=$oIFS
+
+ prefixes=
+
+ for d
+ do
+ test X"$d" = X && continue
+
+ prefix=$prefix$d
+ if test -d "$prefix"; then
+ prefixes=
+ else
+ if $posix_mkdir; then
+ (umask=$mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+ # Don't fail if two instances are running concurrently.
+ test -d "$prefix" || exit 1
+ else
+ case $prefix in
+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) qprefix=$prefix;;
+ esac
+ prefixes="$prefixes '$qprefix'"
+ fi
+ fi
+ prefix=$prefix/
+ done
+
+ if test -n "$prefixes"; then
+ # Don't fail if two instances are running concurrently.
+ (umask $mkdir_umask &&
+ eval "\$doit_exec \$mkdirprog $prefixes") ||
+ test -d "$dstdir" || exit 1
+ obsolete_mkdir_used=true
+ fi
+ fi
+ fi
+
+ if test -n "$dir_arg"; then
+ { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+ { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+ else
+
+ # Make a couple of temp file names in the proper directory.
+ dsttmp=$dstdir/_inst.$$_
+ rmtmp=$dstdir/_rm.$$_
+
+ # Trap to clean up those temp files at exit.
+ trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+
+ # Copy the file name to the temp name.
+ (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+
+ # and set any options; do chmod last to preserve setuid bits.
+ #
+ # If any of these fail, we abort the whole thing. If we want to
+ # ignore errors from any of these, just make sure not to ignore
+ # errors from the above "$doit $cpprog $src $dsttmp" command.
+ #
+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+ { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+ { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+ # If -C, don't bother to copy if it wouldn't change the file.
+ if $copy_on_change &&
+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+ set -f &&
+ set X $old && old=:$2:$4:$5:$6 &&
+ set X $new && new=:$2:$4:$5:$6 &&
+ set +f &&
+ test "$old" = "$new" &&
+ $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+ then
+ rm -f "$dsttmp"
+ else
+ # Rename the file to the real destination.
+ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
+
+ # The rename failed, perhaps because mv can't rename something else
+ # to itself, or perhaps because mv is so ancient that it does not
+ # support -f.
+ {
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ test ! -f "$dst" ||
+ $doit $rmcmd -f "$dst" 2>/dev/null ||
+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ } ||
+ { echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
+ }
+ fi || exit 1
+
+ trap '' 0
+ fi
+done
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/mkinstalldirs b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/mkinstalldirs
new file mode 100755
index 0000000000..55d537f872
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/mkinstalldirs
@@ -0,0 +1,162 @@
+#! /bin/sh
+# mkinstalldirs --- make directory hierarchy
+
+scriptversion=2009-04-28.21; # UTC
+
+# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
+# Created: 1993-05-16
+# Public domain.
+#
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+nl='
+'
+IFS=" "" $nl"
+errstatus=0
+dirmode=
+
+usage="\
+Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
+
+Create each directory DIR (with mode MODE, if specified), including all
+leading file name components.
+
+Report bugs to <bug-automake@gnu.org>."
+
+# process command line arguments
+while test $# -gt 0 ; do
+ case $1 in
+ -h | --help | --h*) # -h for help
+ echo "$usage"
+ exit $?
+ ;;
+ -m) # -m PERM arg
+ shift
+ test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
+ dirmode=$1
+ shift
+ ;;
+ --version)
+ echo "$0 $scriptversion"
+ exit $?
+ ;;
+ --) # stop option processing
+ shift
+ break
+ ;;
+ -*) # unknown option
+ echo "$usage" 1>&2
+ exit 1
+ ;;
+ *) # first non-opt arg
+ break
+ ;;
+ esac
+done
+
+for file
+do
+ if test -d "$file"; then
+ shift
+ else
+ break
+ fi
+done
+
+case $# in
+ 0) exit 0 ;;
+esac
+
+# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
+# mkdir -p a/c at the same time, both will detect that a is missing,
+# one will create a, then the other will try to create a and die with
+# a "File exists" error. This is a problem when calling mkinstalldirs
+# from a parallel make. We use --version in the probe to restrict
+# ourselves to GNU mkdir, which is thread-safe.
+case $dirmode in
+ '')
+ if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+ echo "mkdir -p -- $*"
+ exec mkdir -p -- "$@"
+ else
+ # On NextStep and OpenStep, the 'mkdir' command does not
+ # recognize any option. It will interpret all options as
+ # directories to create, and then abort because '.' already
+ # exists.
+ test -d ./-p && rmdir ./-p
+ test -d ./--version && rmdir ./--version
+ fi
+ ;;
+ *)
+ if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
+ test ! -d ./--version; then
+ echo "mkdir -m $dirmode -p -- $*"
+ exec mkdir -m "$dirmode" -p -- "$@"
+ else
+ # Clean up after NextStep and OpenStep mkdir.
+ for d in ./-m ./-p ./--version "./$dirmode";
+ do
+ test -d $d && rmdir $d
+ done
+ fi
+ ;;
+esac
+
+for file
+do
+ case $file in
+ /*) pathcomp=/ ;;
+ *) pathcomp= ;;
+ esac
+ oIFS=$IFS
+ IFS=/
+ set fnord $file
+ shift
+ IFS=$oIFS
+
+ for d
+ do
+ test "x$d" = x && continue
+
+ pathcomp=$pathcomp$d
+ case $pathcomp in
+ -*) pathcomp=./$pathcomp ;;
+ esac
+
+ if test ! -d "$pathcomp"; then
+ echo "mkdir $pathcomp"
+
+ mkdir "$pathcomp" || lasterr=$?
+
+ if test ! -d "$pathcomp"; then
+ errstatus=$lasterr
+ else
+ if test ! -z "$dirmode"; then
+ echo "chmod $dirmode $pathcomp"
+ lasterr=
+ chmod "$dirmode" "$pathcomp" || lasterr=$?
+
+ if test ! -z "$lasterr"; then
+ errstatus=$lasterr
+ fi
+ fi
+ fi
+ fi
+
+ pathcomp=$pathcomp/
+ done
+done
+
+exit $errstatus
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXPK.diff b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXPK.diff
new file mode 100644
index 0000000000..02f6250898
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXPK.diff
@@ -0,0 +1,63 @@
+--- MakeTeXPK.orig Sun Feb 23 22:12:05 1997
++++ MakeTeXPK Tue Aug 18 08:07:40 1998
+@@ -80,18 +80,57 @@
+ : ${MAKETEXDIR=$TEXMF/maketex}
+ export TEXMF MAKETEXDIR
+
++unset cmd
++
++# test for TTF fonts
++if test -z "$cmd"; then
++ ttf2pk -q $NAME $DPI
++ errstatus=$?
++
++ if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "ttf2pk failed" >&2
++ exit 1
++ fi
++ MODE=ttf2pk # preferred mode for TDS would be `modeless'
++ cmd=true
++ fi
++fi
++
++# test for HBF fonts
++if test -z "$cmd"; then
++ hbf2gf -q -p $NAME $DPI
++ errstatus=$?
++
++ if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "hbf2gf failed" >&2
++ exit 1
++ fi
++ MODE=hbf2gf # preferred mode for TDS would be `modeless'
++ cmd=true
++ fi
++fi
++
++unset psline
++
+ # grep for the font in $PSMAPFILE, if some ps-to-pk is claimed to be supported.
+ # We have to figure out the name of the base font -- $NAME is probably
+ # something like pplr, but it's rpplr or pplr0 or pplr8r that's in psfonts.map.
+-pattern="^r?$NAME"'(0|8r)?([ ]|$)'
+-psline=`egrep "$pattern" $PSMAPFILE`
++if test -z "$cmd"; then
++ pattern="^r?$NAME"'(0|8r)?([ ]|$)'
++ psline=`egrep "$pattern" $PSMAPFILE`
++fi
++
+ if test -n "$psline"; then
+ cmd="gsftopk $NAME $DPI"
+ MODE=gsftopk
+ # some installations have set up gs in such a way that creating files
+ # is only allowed if the parameter -DNOSAFER is used:
+ GS_OPTIONS=-DNOSAFER; export GS_OPTIONS
+-else
++fi
++
++if test -z "$cmd"; then
+ # If an explicit mode is not supplied, try to guess. You can get a
+ # list of extant modes from ftp.cs.umb.edu:pub/tex/modes.mf.
+ if test -z "$MODE" || test "$MODE" = default; then
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXTFM.diff b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXTFM.diff
new file mode 100644
index 0000000000..52cd52e1c1
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXTFM.diff
@@ -0,0 +1,28 @@
+--- MakeTeXTFM.orig Mon Feb 10 22:40:31 1997
++++ MakeTeXTFM Tue Aug 18 08:14:40 1998
+@@ -48,7 +48,24 @@
+ BDPI=${MT_DEF_BDPI-600}
+ DPI=$BDPI
+
+-cmd="mf \mode:=$MODE; mag:=$MAG; scrollmode; input $NAME"
++unset cmd
++
++# test for CJK bitmap font in HBF format
++hbf2gf -q $NAME $DPI
++errstatus=$?
++
++if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "$progname: \`hbf2gf failed." >&2
++ exit 1
++ fi
++ pltotf ./$NAME.pl $TFMNAME || exit 1
++ cmd=true
++fi
++
++if test -z "$cmd"; then
++ cmd="mf \mode:=$MODE; mag:=$MAG; scrollmode; input $NAME"
++fi
+
+ set x `MakeTeXnames $NAME $DPI $MODE $DEST`
+ PKDEST=$2
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-6.1/MakeTeXPK.diff b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-6.1/MakeTeXPK.diff
new file mode 100644
index 0000000000..0536dbc7a4
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-6.1/MakeTeXPK.diff
@@ -0,0 +1,75 @@
+--- MakeTeXPK.orig Sun Aug 16 08:05:07 1998
++++ MakeTeXPK Tue Aug 18 07:53:57 1998
+@@ -1,5 +1,5 @@
+ #!/bin/sh
+-# original MakeTeXPK -- make a new PK font, because one wasn't found.
++# MakeTeXPK -- make a new PK font, because one wasn't found.
+ # Version of 12dec94.
+ #
+ # (If you change or delete the word `original' on the previous line,
+@@ -142,11 +142,52 @@
+ test -d $TEMPDIR || mkdir $TEMPDIR
+ cd $TEMPDIR || exit 1
+
++unset cmd
++
++# test for TTF fonts
++if test -z "$cmd"; then
++ ttf2pk -q $NAME $DPI
++ errstatus=$?
++
++ if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "ttf2pk failed" >&2
++ exit 1
++ fi
++ test -z "$6" && DESTDIR="$DESTROOT/ttf2pk" # preferred mode for TDS
++ # would be `modeless'
++ echo "Successful call to ttf2pk" >&2
++ cmd=ttf2pk
++ fi
++fi
++
++# test for HBF fonts
++if test -z "$cmd"; then
++ hbf2gf -q -p $NAME $DPI
++ errstatus=$?
++
++ if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "hbf2gf failed" >&2
++ exit 1
++ fi
++ test -z "$6" && DESTDIR="$DESTROOT/hbf2gf" # preferred mode for TDS
++ # would be `modeless'
++ echo "Successful call to hbf2gf" >&2
++ cmd=hbf2gf
++
++ gftopk ./$GFNAME $PKNAME || exit 1
++ fi
++fi
++
+ # grep for the font in $PSMAPFILE, if some ps-to-pk is claimed to be supported.
+ # We have to figure out the name of the base font -- $NAME is probably
+ # something like pplr, but it's rpplr or pplr0 or pplr8r that's in psfonts.map.
+-pattern="^r?$NAME"'(0|8r)?([ ]|$)'
+-test -n "$ps_to_pk" && egrep "$pattern" $PSMAPFILE >psline
++if test -z "$cmd"; then
++ pattern="^r?$NAME"'(0|8r)?([ ]|$)'
++ test -n "$ps_to_pk" && egrep "$pattern" $PSMAPFILE > psline
++fi
++
+ if test -s psline; then
+ # This is a PostScript font.
+ MODE=$ps_to_pk
+@@ -173,8 +214,9 @@
+ export DVIPSHEADERS
+ echo "$0: Running $cmd" >&2
+ $cmd >&2 || { echo "$0: $ps_to_pk failed." >&2; exit 1; }
++fi
+
+-else
++if test -z "$cmd"; then
+ # Try Metafont.
+ MFINPUTS="$MFINPUTS:$SAVEPWD"
+ export MFINPUTS
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-6.1/README b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-6.1/README
new file mode 100644
index 0000000000..eb12bec7a3
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-6.1/README
@@ -0,0 +1 @@
+This is for web2c-6.1 with the patch for kpathsea 2.6
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.0/MakeTeXPK.diff b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.0/MakeTeXPK.diff
new file mode 100644
index 0000000000..23f7cb58fe
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.0/MakeTeXPK.diff
@@ -0,0 +1,67 @@
+--- MakeTeXPK.orig Sat Feb 8 15:52:00 1997
++++ MakeTeXPK Tue Aug 18 07:58:22 1998
+@@ -1,5 +1,5 @@
+ #!/bin/sh
+-# original MakeTeXPK -- make a new PK font, because one wasn't found.
++# MakeTeXPK -- make a new PK font, because one wasn't found.
+ #
+ # (If you change or delete the word `original' on the previous line,
+ # installation won't write this script over yours.)
+@@ -44,15 +44,54 @@
+ MODE=$5
+ DEST=$6
+
++unset cmd
++
++# test for TTF fonts
++if test -z "$cmd"; then
++ ttf2pk -q $NAME $DPI
++ errstatus=$?
++
++ if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "ttf2pk failed" >&2
++ exit 1
++ fi
++ MODE=modeless
++ cmd=true
++ fi
++fi
++
++# test for HBF fonts
++if test -z "$cmd"; then
++ hbf2gf -q -p $NAME $DPI
++ errstatus=$?
++
++ if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "hbf2gf failed" >&2
++ exit 1
++ fi
++ MODE=modeless
++ cmd=true
++ fi
++fi
++
++unset psline
++
+ # grep for the font in $PSMAPFILE. These are base font names, such as
+ # rpplr (the original) or pplr0 (an interim step) or pplr8r (current).
+-pattern="^r?$NAME"'(0|8r)?([ ]|$)'
+-psline=`egrep "$pattern" $PSMAPFILE`
++if test -z "$cmd"; then
++ pattern="^r?$NAME"'(0|8r)?([ ]|$)'
++ psline=`egrep "$pattern" $PSMAPFILE`
++fi
++
+ if test -n "$psline"; then
+ MODE=modeless
+ # ps_to_pk set in MakeTeXcommon and/or MakeTeX.site.
+ cmd="$ps_to_pk $NAME $DPI"
+-else
++fi
++
++if test -z "$cmd"; then
+ # Check that $BDPI and $MODE are consistent; if not, ignore the mode and
+ # hope we can correctly guess it from bdpi. (People like to specify the
+ # resolution on the command line, not the mode so much.)
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.0/MakeTeXTFM.diff b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.0/MakeTeXTFM.diff
new file mode 100644
index 0000000000..a67df4e14b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.0/MakeTeXTFM.diff
@@ -0,0 +1,36 @@
+--- MakeTeXTFM.orig Sat Feb 8 15:52:00 1997
++++ MakeTeXTFM Sun Aug 16 15:41:39 1998
+@@ -1,5 +1,5 @@
+ #!/bin/sh
+-# original MakeTeXTFM -- make a new TFM file, because one wasn't found.
++# MakeTeXTFM -- make a new TFM file, because one wasn't found.
+ #
+ # (If you change or delete the word `original' on the previous line,
+ # installation won't write this script over yours.)
+@@ -50,7 +50,25 @@
+ exit 1
+ fi
+
+-cmd="mf \mode:=$MODE; mag:=$MAG; scrollmode; input $NAME"
++unset cmd
++
++# test for CJK bitmap font in HBF format
++hbf2gf -q $NAME $DPI
++errstatus=$?
++
++if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "$progname: \`hbf2gf failed." >&2
++ exit 1
++ fi
++ pltotf ./$NAME.pl $TFMNAME || exit 1
++ cmd=true
++fi
++
++if test -z "$cmd"; then
++ cmd="mf \mode:=$MODE; mag:=$MAG; scrollmode; input $NAME"
++fi
++
+ echo "$0: Running $cmd"
+ $cmd </dev/null
+ test -r $TFMNAME || { echo "$0: \`$cmd' failed to make $TFMNAME."; exit 1; }
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.1/MakeTeXPK.diff b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.1/MakeTeXPK.diff
new file mode 100644
index 0000000000..1faf078adb
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.1/MakeTeXPK.diff
@@ -0,0 +1,72 @@
+--- MakeTeXPK.orig Fri Oct 31 09:30:54 1997
++++ MakeTeXPK Tue Aug 18 08:01:33 1998
+@@ -1,5 +1,5 @@
+ #!/bin/sh
+-# original MakeTeXPK -- make a new PK font, because one wasn't found.
++# MakeTeXPK -- make a new PK font, because one wasn't found.
+ #
+ # (If you change or delete the word `original' on the previous line,
+ # installation won't write this script over yours.)
+@@ -57,11 +57,48 @@
+ MODE=$5
+ DEST=$6
+
++unset cmd
++
++# test for TTF fonts
++if test -z "$cmd"; then
++ ttf2pk -q $NAME $DPI
++ errstatus=$?
++
++ if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "ttf2pk failed" >&2
++ exit 1
++ fi
++ MODE=modeless
++ cmd=true
++ fi
++fi
++
++# test for HBF fonts
++if test -z "$cmd"; then
++ hbf2gf -q -p $NAME $DPI
++ errstatus=$?
++
++ if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "hbf2gf failed" >&2
++ exit 1
++ fi
++ MODE=modeless
++ cmd=true
++ fi
++fi
++
++unset psline
++
+ # grep for the font in $PSMAPFILE. These are base font names, such as
+ # rpplr (the original) or pplr0 (an interim step) or pplr8r (current).
+-: ${PSMAPFILE=`kpsewhich psfonts.map`}
+-pattern="^$NAME"'([ ]|$)'
+-psline=`egrep "$pattern" $PSMAPFILE`
++if test -z "$cmd"; then
++ : ${PSMAPFILE=`kpsewhich psfonts.map`}
++ pattern="^r?$NAME"'(0|8r)?([ ]|$)'
++ psline=`egrep "$pattern" $PSMAPFILE`
++fi
++
+ if test -n "$psline"; then
+ MODE=modeless
+ # ps_to_pk is set in MakeTeX.cnf
+@@ -100,7 +137,9 @@
+ cmd="$ps_to_pk $NAME $DPI"
+ ;;
+ esac
+-else
++fi
++
++if test -z "$cmd"; then
+ # Check that $BDPI and $MODE are consistent; if not, ignore the mode and
+ # hope we can correctly guess it from bdpi. (People like to specify the
+ # resolution on the command line, not the mode so much.)
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.1/MakeTeXTFM.diff b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.1/MakeTeXTFM.diff
new file mode 100644
index 0000000000..3fd17f9453
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.1/MakeTeXTFM.diff
@@ -0,0 +1,36 @@
+--- MakeTeXTFM.orig Tue Oct 21 21:22:12 1997
++++ MakeTeXTFM Sun Aug 16 15:51:20 1998
+@@ -1,5 +1,5 @@
+ #!/bin/sh
+-# original MakeTeXTFM -- make a new TFM file, because one wasn't found.
++# MakeTeXTFM -- make a new TFM file, because one wasn't found.
+ #
+ # (If you change or delete the word `original' on the previous line,
+ # installation won't write this script over yours.)
+@@ -53,7 +53,25 @@
+ exit 1
+ fi
+
+-cmd="mf \mode:=$MODE; mag:=$MAG; scrollmode; input $NAME"
++unset cmd
++
++# test for CJK bitmap font in HBF format
++hbf2gf -q $NAME $DPI
++errstatus=$?
++
++if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "$progname: \`hbf2gf failed." >&2
++ exit 1
++ fi
++ pltotf ./$NAME.pl $TFMNAME || exit 1
++ cmd=true
++fi
++
++if test -z "$cmd"; then
++ cmd="mf \mode:=$MODE; mag:=$MAG; scrollmode; input $NAME"
++fi
++
+ echo "$progname: Running $cmd"
+
+ $cmd </dev/null || {
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.2/mktexpk.diff b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.2/mktexpk.diff
new file mode 100644
index 0000000000..ac703fd7d3
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.2/mktexpk.diff
@@ -0,0 +1,72 @@
+--- mktexpk.orig Fri Feb 20 16:23:22 1998
++++ mktexpk Tue Aug 18 08:04:40 1998
+@@ -1,5 +1,5 @@
+ #!/bin/sh
+-# original mktexpk -- make a new PK font, because one wasn't found.
++# mktexpk -- make a new PK font, because one wasn't found.
+ #
+ # (If you change or delete the word `original' on the previous line,
+ # installation won't write this script over yours.)
+@@ -73,11 +73,48 @@
+
+ NAME=$1
+
++unset cmd
++
++# test for TTF fonts
++if test -z "$cmd"; then
++ ttf2pk -q $NAME $DPI
++ errstatus=$?
++
++ if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "ttf2pk failed" >&2
++ exit 1
++ fi
++ MODE=modeless
++ cmd=true
++ fi
++fi
++
++# test for HBF fonts
++if test -z "$cmd"; then
++ hbf2gf -q -p $NAME $DPI
++ errstatus=$?
++
++ if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "hbf2gf failed" >&2
++ exit 1
++ fi
++ MODE=modeless
++ cmd=true
++ fi
++fi
++
++unset psline
++
+ # grep for the font in $PSMAPFILE. These are base font names, such as
+ # rpplr (the original) or pplr0 (an interim step) or pplr8r (current).
+-: ${PSMAPFILE=`kpsewhich psfonts.map`}
+-pattern="^$NAME"'([ ]|$)'
+-psline=`egrep "$pattern" $PSMAPFILE`
++if test -z "$cmd"; then
++ : ${PSMAPFILE=`kpsewhich psfonts.map`}
++ pattern="^r?$NAME"'(0|8r)?([ ]|$)'
++ psline=`egrep "$pattern" $PSMAPFILE`
++fi
++
+ if test -n "$psline"; then
+ MODE=modeless
+ # ps_to_pk is set in mktex.opt
+@@ -116,7 +153,9 @@
+ cmd="$ps_to_pk $NAME $DPI"
+ ;;
+ esac
+-else
++fi
++
++if test -z "$cmd"; then
+ # Check that $BDPI and $MODE are consistent; if not, ignore the mode and
+ # hope we can correctly guess it from bdpi. (People like to specify the
+ # resolution on the command line, not the mode so much.)
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.2/mktextfm.diff b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.2/mktextfm.diff
new file mode 100644
index 0000000000..b7bf872e8c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.2/mktextfm.diff
@@ -0,0 +1,36 @@
+--- mktextfm.orig Mon Feb 16 08:56:13 1998
++++ mktextfm Tue Aug 18 06:13:22 1998
+@@ -1,5 +1,5 @@
+ #!/bin/sh
+-# original mktextfm -- make a new TFM file, because one wasn't found.
++# mktextfm -- make a new TFM file, because one wasn't found.
+ #
+ # (If you change or delete the word `original' on the previous line,
+ # installation won't write this script over yours.)
+@@ -70,7 +70,25 @@
+ exit 1
+ fi
+
+-cmd="mf \mode:=$MODE; mag:=$MAG; nonstopmode; input $NAME"
++unset cmd
++
++# test for CJK bitmap font in HBF format
++hbf2gf -q $NAME $DPI
++errstatus=$?
++
++if test $errstatus -ne 2; then
++ if test $errstatus -ne 0; then
++ echo "$progname: \`hbf2gf failed." >&2
++ exit 1
++ fi
++ pltotf ./$NAME.pl $TFMNAME || exit 1
++ cmd=true
++fi
++
++if test -z "$cmd"; then
++ cmd="mf \mode:=$MODE; mag:=$MAG; nonstopmode; input $NAME"
++fi
++
+ echo "$progname: Running $cmd"
+
+ $cmd </dev/null || {
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/lisp/cjkspace.el b/language/chinese/CJK/cjk-4.8.4/utils/lisp/cjkspace.el
new file mode 100644
index 0000000000..89b072111f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/lisp/cjkspace.el
@@ -0,0 +1,102 @@
+;;; cjkspace.el --- provide a tilde character if you type a space.
+;;; use this file with AUCTeX.
+
+;; Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+;;
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2 of the License, or
+;; (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with this program in doc/COPYING; if not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+;; MA 02110-1301 USA
+
+;; This file is part of the CJK package Version 4.8.4 (18-Apr-2015)
+
+;; Insert tilde characters instead of spaces for LaTeX CJK documents.
+;; If `CJK-space-after-space' is non-nil, typing a space yields a space.
+;; Typing two consecutive spaces yields a tilde. If `CJK-space-after-space'
+;; is nil, the behaviour is reversed.
+;;
+;; You should put the following in your .emacs file (additionally to the
+;; common AUCTeX adaptations):
+;;
+;; (autoload 'CJK-insert-space "cjkspace"
+;; "Insert tildes appropriately in CJK document." t)
+;; (defun my-LaTeX-mode-hook ()
+;; "Key definitions for LaTeX mode."
+;; (define-key LaTeX-mode-map " " 'CJK-insert-space)
+;; )
+;; (add-hook 'LaTeX-mode-hook 'my-LaTeX-mode-hook)
+
+
+;;; Code:
+
+(provide 'cjkspace)
+
+
+(defvar CJK-space "~")
+
+(defvar CJK-space-after-space nil
+
+ "*If non-nil, typing a space yields a space. Typing two consecutive
+spaces yields a tilde. If nil the behaviour is reversed.")
+
+(make-variable-buffer-local 'CJK-space-after-space)
+
+
+;;;###autoload
+(defun CJK-insert-space (arg)
+
+ "Insert tilde characters instead of spaces for LaTeX CJK documents.
+If `CJK-space-after-space' is non-nil, typing a space yields a space.
+Typing two consecutive spaces yields a tilde. If `CJK-space-after-space'
+is nil, the behaviour is reversed.
+
+With prefix argument, always inserts space characters."
+
+ (interactive "*P")
+
+ (if arg
+ (self-insert-command (prefix-numeric-value arg))
+ (TeX-update-style)
+ (if CJK-space-after-space
+ (insert (cond ((bobp)
+ ?\ )
+ ((not (= (preceding-char) ?\ ))
+ ?\ )
+ ((and (> (point) 2)
+ (save-excursion
+ (forward-char -2)
+ (looking-at (concat "[" CJK-space
+ (regexp-quote TeX-esc) "]"))))
+ ?\ )
+ (t
+ (delete-backward-char 1)
+ CJK-space)))
+ (insert (cond ((bobp)
+ ?\ )
+ ((= (preceding-char) (string-to-char TeX-esc))
+ ?\ )
+ ((= (preceding-char) ?\ )
+ ?\ )
+ ((and (> (point) 2)
+ (save-excursion
+ (forward-char -2)
+ (looking-at (concat (regexp-quote TeX-esc)
+ CJK-space))))
+ CJK-space)
+ ((= (preceding-char) (string-to-char CJK-space))
+ (delete-backward-char 1)
+ ?\ )
+ (t
+ CJK-space))))))
+
+;;; EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/lisp/cjktilde.el b/language/chinese/CJK/cjk-4.8.4/utils/lisp/cjktilde.el
new file mode 100644
index 0000000000..1d075fc688
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/lisp/cjktilde.el
@@ -0,0 +1,111 @@
+;;; cjktilde.el -- minor mode exchanging `~' and ` ' keys.
+
+;; Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+;;
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2 of the License, or
+;; (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with this program in doc/COPYING; if not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+;; MA 02110-1301 USA
+
+;; This file is part of the CJK package Version 4.8.4 (18-Apr-2015)
+
+;; Function `cjk-tilde-mode' activates a minor mode (`cjk-tilde-minor-mode')
+;; which exchanges the tilde key with the space key. This is useful for
+;; writing Chinese or Japanese with the CJK macro package for LaTeX 2e which
+;; redefines the `~' command to insert a shibuaki space (see documentation
+;; of the \CJKtilde macro for further details).
+
+;;; Code:
+
+(provide 'cjktilde)
+
+
+(defvar cjk-tilde-minor-mode nil
+
+ "*Non-nil enables CJK tilde mode.
+Setting this variable makes it local to the current buffer.
+See `cjk-tilde-mode' for details.")
+
+(make-variable-buffer-local 'cjk-tilde-minor-mode)
+
+
+;; the following two functions do the exchange.
+(defun electric-cjk-tilde (arg)
+
+ "insert space if tilde key is pressed provided cjk-tilde-minor-mode is
+activated."
+
+ (if cjk-tilde-minor-mode
+ (char-to-string ?\ )
+ (char-to-string ?\~)
+ )
+)
+
+
+(defun electric-cjk-space (arg)
+
+ "insert tilde if space key is pressed provided cjk-tilde-minor-mode is
+activated."
+
+ (if cjk-tilde-minor-mode
+ (char-to-string ?\~)
+ (char-to-string ?\ )
+ )
+)
+
+
+(or key-translation-map (setq key-translation-map (make-sparse-keymap)))
+
+(define-key key-translation-map " " 'electric-cjk-space)
+(define-key key-translation-map "~" 'electric-cjk-tilde)
+
+
+;; we indicate the minor mode in the mode line.
+(or (assq 'cjk-tilde-minor-mode minor-mode-map-alist)
+ (setq minor-mode-alist
+ (append minor-mode-alist
+ '((cjk-tilde-minor-mode " ~"))
+ )
+ )
+)
+
+;;;###autoload
+(defun cjk-tilde-mode (&optional arg)
+
+ "Toggle CJK tilde mode. If enabled, a tilde character will be inserted if
+the space key is pressed and vice versa.
+
+Use with caution! This minor mode makes only sense for CJK environments
+after insertion of the \\CJKtilde command. See the documentation of the
+CJK package for further details.
+
+With an argument, a positive argument enables CJK tilde mode,
+and a negative argument disables it."
+
+ (interactive "P")
+
+ (if (if arg
+ ;; negative arg: switch off
+ (<= (prefix-numeric-value arg) 0)
+ ;; no arg: toggle
+ cjk-tilde-minor-mode)
+ (setq cjk-tilde-minor-mode nil)
+
+ ;; positive arg: switch on
+ (setq cjk-tilde-minor-mode t)
+ )
+ (force-mode-line-update)
+)
+
+
+;;; end of cjktilde.el
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/lisp/emacs/cjk-enc.el b/language/chinese/CJK/cjk-4.8.4/utils/lisp/emacs/cjk-enc.el
new file mode 100644
index 0000000000..da2052eb56
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/lisp/emacs/cjk-enc.el
@@ -0,0 +1,1162 @@
+;;; cjk-enc.el --- provide a coding system for LaTeX2e CJK package
+
+;; Copyright (C) 1996-2000 Electrotechnical Laboratory, JAPAN.
+
+;; Author: Kenichi HANDA <handa@etl.go.jp>
+;; Werner LEMBERG <wl@gnu.org>
+;; Hin-Tak Leung <htl10@users.sourceforge.net>
+
+;; Keywords: CJK package, LaTeX2e, emacs, xemacs
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to
+;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+
+;;
+;; CJK Version 4.8.4 (18-Apr-2015)
+;;
+
+;;; Code
+
+;; This file will work with both Emacs (>=20.3) and XEmacs (>=21). In
+;; the following `Emacs' is used for both Emacs and XEmacs except where
+;; it differs.
+
+;; XXX: Thai stuff not yet ported to XEmacs. I don't know whether it
+;; makes sense currently to support it because the Thai implementation
+;; in XEmacs (version 21.1 and probably the upcoming 21.2) is not
+;; complete: For example, there is no correct display handling of IR
+;; 166 (this is the right part of TIS-620) in an ISO-2022 data stream,
+;; decomposition of precomposed Thai (in xtis character set) doesn't
+;; provide linguistic properties, etc.
+
+;; The following tables map from Emacs's character sets to LaTeX2e
+;; macros. Note that not all macros defined here really do exist. See
+;; MULEenc.sty and cjk-enc.txt for further details.
+;;
+;; MULEenc.sty makes TeX character 0x7F `active' and assigns to it a
+;; multiplex command which executes its first argument. To make the
+;; macro expansion robust against \uppercase and \lowercase, only
+;; numbers are used as parameters which index the various commands.
+;;
+;; 0x7F will be used as a parameter delimiting character also.
+;;
+(defconst cjk-latin-1
+ [;0xa0
+ "99\177" "1\177" "2\177" "3\177"
+ "4\177" "5\177" "6\177" "7\177"
+ "8\177\\ " "9\177" "10\177" "11\177"
+ "12\177" "0\177-{}" "14\177" "15\177\\ "
+
+ ; 0xb0
+ "16\177" "17\177" "18\177" "19\177"
+ "20\177\\ " "21\177" "22\177" "23\177"
+ "24\177\\ " "25\177" "26\177" "27\177"
+ "28\177" "29\177" "30\177" "31\177"
+
+ ; 0xc0
+ "32\177A" "20\177A" "33\177A" "34\177A"
+ "8\177A" "0\177\\AA" "0\177\\AE" "24\177C"
+ "32\177E" "20\177E" "33\177E" "8\177E"
+ "32\177I" "20\177I" "33\177I" "8\177I"
+
+ ; 0xd0
+ "0\177\\DJ" "34\177N" "32\177O" "20\177O"
+ "33\177O" "34\177O" "8\177O" "38\177"
+ "0\177\\O" "32\177U" "20\177U" "33\177U"
+ "8\177U" "20\177Y" "0\177\\TH" "0\177\\ss"
+
+ ; 0xe0
+ "32\177a" "20\177a" "33\177a" "34\177a"
+ "8\177a" "0\177\\aa" "0\177\\ae" "24\177c"
+ "32\177e" "20\177e" "33\177e" "8\177e"
+ "32\177\\i" "20\177\\i" "33\177\\i" "8\177\\i"
+
+ ; 0xf0
+ "0\177\\dj" "34\177n" "32\177o" "20\177o"
+ "33\177o" "34\177o" "8\177o" "45\177"
+ "0\177\\o" "32\177u" "20\177u" "33\177u"
+ "8\177u" "20\177y" "0\177\\th" "8\177y"
+ ])
+
+(defconst cjk-latin-2
+ [; 0xa0
+ "99\177" "48\177A" "49\177\\ " "0\177\\L"
+ "4\177" "51\177L" "20\177S" "7\177"
+ "8\177\\ " "51\177S" "24\177S" "51\177T"
+ "20\177Z" "0\177-{}" "51\177Z" "52\177Z"
+
+ ; 0xb0
+ "16\177" "48\177a" "48\177\\ " "0\177\\l"
+ "20\177\\ " "51\177l" "20\177s" "51\177\\ "
+ "24\177\\ " "51\177s" "24\177s" "51\177t"
+ "20\177z" "55\177\\ " "51\177z" "52\177z"
+
+ ; 0xc0
+ "20\177R" "20\177A" "33\177A" "49\177A"
+ "8\177A" "20\177L" "20\177C" "24\177C"
+ "51\177C" "20\177E" "48\177E" "8\177E"
+ "51\177E" "20\177I" "33\177I" "51\177D"
+
+ ; 0xd0
+ "0\177\\DJ" "20\177N" "51\177N" "20\177O"
+ "33\177O" "55\177O" "8\177O" "38\177"
+ "51\177R" "53\177U" "20\177U" "55\177U"
+ "8\177U" "20\177Y" "24\177T" "0\177\\ss"
+
+ ; 0xe0
+ "20\177r" "20\177a" "33\177a" "49\177a"
+ "8\177a" "20\177l" "20\177c" "24\177c"
+ "51\177c" "20\177e" "48\177e" "8\177e"
+ "51\177e" "20\177\\i" "33\177\\i" "51\177d"
+
+ ; 0xf0
+ "0\177\\dj" "20\177n" "51\177n" "20\177o"
+ "33\177o" "55\177o" "8\177o" "45\177"
+ "51\177r" "53\177u" "20\177u" "55\177u"
+ "8\177u" "20\177y" "24\177t" "52\177\\ "
+ ])
+
+(defconst cjk-latin-3
+ [; 0xa0
+ "99\177" "0\177\\TEXTMALTESEH" "49\177\\ " "3\177"
+ "4\177" "" "33\177H" "7\177"
+ "8\177\\ " "52\177I" "24\177S" "49\177G"
+ "33\177J" "0\177-{}" "" "52\177Z"
+
+ ; 0xb0
+ "16\177" "0\177\\textmalteseh" "18\177" "19\177"
+ "20\177\\ " "21\177" "33\177h" "23\177"
+ "24\177\\ " "0\177\\i" "24\177s" "49\177g"
+ "33\177\\j" "29\177" "" "52\177z"
+
+ ; 0xc0
+ "32\177A" "20\177A" "33\177A" ""
+ "8\177A" "52\177C" "33\177C" "24\177C"
+ "32\177E" "20\177E" "33\177E" "8\177E"
+ "32\177I" "20\177I" "33\177I" "8\177I"
+
+ ; 0xd0
+ "" "34\177N" "32\177O" "20\177O"
+ "33\177O" "52\177G" "8\177O" "38\177"
+ "33\177G" "32\177U" "20\177U" "33\177U"
+ "8\177U" "49\177U" "33\177S" "0\177\\ss"
+
+ ; 0xe0
+ "32\177a" "20\177a" "33\177a" ""
+ "8\177a" "52\177c" "33\177c" "24\177c"
+ "32\177e" "20\177e" "33\177e" "8\177e"
+ "32\177\\i" "20\177\\i" "33\177\\i" "8\177\\i"
+
+ ; 0xf0
+ "" "34\177n" "32\177o" "20\177o"
+ "33\177o" "52\177g" "8\177o" "45\177"
+ "33\177g" "32\177u" "20\177u" "33\177u"
+ "8\177u" "49\177u" "33\177s" "52\177\\ "
+ ])
+
+(defconst cjk-latin-4
+ [; 0xa0
+ "99\177" "48\177A" "59\177" "24\177R"
+ "4\177" "34\177I" "24\177L" "7\177"
+ "8\177\\ " "51\177S" "15\177E" "24\177G"
+ "0\177\\TEXTTSTROKE" "0\177-{}" "51\177Z" "15\177\\ "
+
+ ; 0xb0
+ "16\177" "48\177a" "48\177\\ " "24\177r"
+ "20\177\\ " "34\177\\i" "24\177l" "51\177\\ "
+ "24\177\\ " "51\177s" "15\177e" "24\177g"
+ "0\177\\texttstroke" "0\177\\NG" "51\177z" "0\177\\ng"
+
+ ; 0xc0
+ "15\177A" "20\177A" "33\177A" "34\177A"
+ "8\177A" "0\177\\AA" "0\177\\AE" "48\177I"
+ "51\177C" "20\177E" "48\177E" "8\177E"
+ "52\177E" "20\177I" "33\177I" "15\177I"
+
+ ; 0xd0
+ "0\177\\DJ" "24\177N" "15\177O" "24\177K"
+ "33\177O" "34\177O" "8\177O" "38\177"
+ "0\177\\O" "48\177U" "20\177U" "33\177U"
+ "8\177U" "34\177U" "15\177U" "0\177\\ss"
+
+ ; 0xe0
+ "15\177a" "20\177a" "33\177a" "34\177a"
+ "8\177a" "0\177\\aa" "0\177\\ae" "48\177i"
+ "51\177c" "20\177e" "48\177e" "8\177e"
+ "52\177e" "20\177\\i" "33\177\\i" "15\177\\i"
+
+ ; 0xf0
+ "0\177\\dj" "24\177n" "15\177o" "24\177k"
+ "33\177o" "34\177o" "8\177o" "45\177"
+ "0\177\\o" "48\177u" "20\177u" "33\177u"
+ "8\177u" "34\177u" "15\177u" "52\177\\ "
+ ])
+
+(defconst cjk-latin-5 ; ISO 8859-9
+ [; 0xa0
+ "99\177" "1\177" "2\177" "3\177"
+ "4\177" "5\177" "6\177" "7\177"
+ "8\177\\ " "9\177" "10\177" "11\177"
+ "12\177" "0\177-{}" "14\177" "15\177\\ "
+
+ ; 0xb0
+ "16\177" "17\177" "18\177" "19\177"
+ "20\177\\ " "21\177" "22\177" "23\177"
+ "24\177\\ " "25\177" "26\177" "27\177"
+ "28\177" "29\177" "30\177" "31\177"
+
+ ; 0xc0
+ "32\177A" "20\177A" "33\177A" "34\177A"
+ "8\177A" "0\177\\AA" "0\177\\AE" "24\177C"
+ "32\177E" "20\177E" "33\177E" "8\177E"
+ "32\177I" "20\177I" "33\177I" "8\177I"
+
+ ; 0xd0
+ "49\177G" "34\177N" "32\177O" "20\177O"
+ "33\177O" "34\177O" "8\177O" "38\177"
+ "0\177\\O" "32\177U" "20\177U" "33\177U"
+ "8\177U" "52\177I" "24\177S" "0\177\\ss"
+
+ ; 0xe0
+ "32\177a" "20\177a" "33\177a" "34\177a"
+ "8\177a" "0\177\\aa" "0\177\\ae" "24\177c"
+ "32\177e" "20\177e" "33\177e" "8\177e"
+ "32\177\\i" "20\177\\i" "33\177\\i" "8\177\\i"
+
+ ; 0xf0
+ "49\177g" "34\177n" "32\177o" "20\177o"
+ "33\177o" "34\177o" "8\177o" "45\177"
+ "0\177\\o" "32\177u" "20\177u" "33\177u"
+ "8\177u" "0\177\\i" "24\177s" "8\177y"
+ ])
+
+(defconst cjk-latin-jisx ; JIS X 0201 lower half
+ [; 0xa0
+ "" "0\177!" "37\177" "0\177\\#"
+ "39\177" "0\177\\%" "0\177\\&" "40\177"
+ "0\177(" "0\177)" "0\177*" "0\177+"
+ "0\177," "0\177-" "0\177." "0\177/"
+
+ ; 0xb0
+ "0\1770" "0\1771" "0\1772" "0\1773"
+ "0\1774" "0\1775" "0\1776" "0\1777"
+ "0\1778" "0\1779" "0\177:" "0\177;"
+ "41\177" "0\177=" "42\177" "0\177?"
+
+ ; 0xc0
+ "36\177" "0\177A" "0\177B" "0\177C"
+ "0\177D" "0\177E" "0\177F" "0\177G"
+ "0\177H" "0\177I" "0\177J" "0\177K"
+ "0\177L" "0\177M" "0\177N" "0\177O"
+
+ ; 0xd0
+ "0\177P" "0\177Q" "0\177R" "0\177S"
+ "0\177T" "0\177U" "0\177V" "0\177W"
+ "0\177X" "0\177Y" "0\177Z" "0\177["
+ "5\177" "0\177]" "43\177" "44\177"
+
+ ; 0xe0
+ "46\177" "0\177a" "0\177b" "0\177c"
+ "0\177d" "0\177e" "0\177f" "0\177g"
+ "0\177h" "0\177i" "0\177j" "0\177k"
+ "0\177l" "0\177m" "0\177n" "0\177o"
+
+ ; 0xf0
+ "0\177p" "0\177q" "0\177r" "0\177s"
+ "0\177t" "0\177u" "0\177v" "0\177w"
+ "0\177x" "0\177y" "0\177z" "47\177"
+ "50\177" "54\177" "56\177" ""
+ ])
+
+(defconst cjk-cyrillic ; ISO 8859-5
+ [; 0xa0
+ "99\177" "0\177\\CYRYO" "0\177\\CYRDJE" "20\177\\CYRG"
+ "0\177\\CYRIE" "0\177\\CYRDZE" "0\177\\CYRII" "0\177\\CYRYI"
+ "0\177\\CYRJE" "0\177\\CYRLJE" "0\177\\CYRNJE" "0\177\\CYRTSHE"
+ "20\177\\CYRK" "0\177-{}" "0\177\\CYRUSHRT" "0\177\\CYRDZHE"
+
+ ; 0xb0
+ "0\177\\CYRA" "0\177\\CYRB" "0\177\\CYRV" "0\177\\CYRG"
+ "0\177\\CYRD" "0\177\\CYRE" "0\177\\CYRZH" "0\177\\CYRZ"
+ "0\177\\CYRI" "0\177\\CYRISHRT" "0\177\\CYRK" "0\177\\CYRL"
+ "0\177\\CYRM" "0\177\\CYRN" "0\177\\CYRO" "0\177\\CYRP"
+
+ ; 0xc0
+ "0\177\\CYRR" "0\177\\CYRS" "0\177\\CYRT" "0\177\\CYRU"
+ "0\177\\CYRF" "0\177\\CYRH" "0\177\\CYRC" "0\177\\CYRCH"
+ "0\177\\CYRSH" "0\177\\CYRSHCH" "0\177\\CYRHRDSN" "0\177\\CYRERY"
+ "0\177\\CYRSFTSN" "0\177\\CYREREV" "0\177\\CYRYU" "0\177\\CYRYA"
+
+ ; 0xd0
+ "0\177\\cyra" "0\177\\cyrb" "0\177\\cyrv" "0\177\\cyrg"
+ "0\177\\cyrd" "0\177\\cyre" "0\177\\cyrzh" "0\177\\cyrz"
+ "0\177\\cyri" "0\177\\cyrishrt" "0\177\\cyrk" "0\177\\cyrl"
+ "0\177\\cyrm" "0\177\\cyrn" "0\177\\cyro" "0\177\\cyrp"
+
+ ; 0xe0
+ "0\177\\cyrr" "0\177\\cyrs" "0\177\\cyrt" "0\177\\cyru"
+ "0\177\\cyrf" "0\177\\cyrh" "0\177\\cyrc" "0\177\\cyrch"
+ "0\177\\cyrsh" "0\177\\cyrshch" "0\177\\cyrhrdsn" "0\177\\cyrery"
+ "0\177\\cyrsftsn" "0\177\\cyrerev" "0\177\\cyryu" "0\177\\cyrya"
+
+ ; 0xf0
+ "35\177" "0\177\\cyryo" "0\177\\cyrdje" "20\177\\cyrg"
+ "0\177\\cyrie" "0\177\\cyrdze" "0\177\\cyrii" "0\177\\cyryi"
+ "0\177\\cyrje" "0\177\\cyrlje" "0\177\\cyrnje" "0\177\\cyrtshe"
+ "20\177\\cyrk" "7\177" "0\177\\cyrushrt" "0\177\\cyrdzhe"
+ ])
+
+(defconst cjk-greek ; ISO 8859-7
+ [;0xa0
+ "99\177" "0\177<{}" "0\177>{}" "3\177"
+ "" "" "6\177" "7\177"
+ "8\177\\ " "9\177" "" "0\177(("
+ "12\177" "0\177-{}" "" "0\177---"
+
+ ; 0xb0
+ "16\177" "17\177" "18\177" "19\177"
+ "0\177'{}" "0\177\"'{}" "0\177'A" "0\177;"
+ "0\177'E" "0\177'H" "0\177'I" "0\177))"
+ "0\177'O" "29\177" "0\177'U" "0\177'W"
+
+ ; 0xc0
+ "0\177\"'i" "0\177A" "0\177B" "0\177G"
+ "0\177D" "0\177E" "0\177Z" "0\177H"
+ "0\177J" "0\177I" "0\177K" "0\177L"
+ "0\177M" "0\177N" "0\177X" "0\177O"
+
+ ; 0xd0
+ "0\177P" "0\177R" "" "0\177S"
+ "0\177T" "0\177U" "0\177F" "0\177Q"
+ "0\177Y" "0\177W" "0\177\"I" "0\177\"U"
+ "0\177'a" "0\177'e" "0\177'h" "0\177'i"
+
+ ; 0xe0
+ "0\177\"'u" "0\177a" "0\177b" "0\177g"
+ "0\177d" "0\177e" "0\177z" "0\177h"
+ "0\177j" "0\177i" "0\177k" "0\177l"
+ "0\177m" "0\177n" "0\177x" "0\177o"
+
+ ; 0xf0
+ "0\177p" "0\177r" "0\177c" "0\177s"
+ "0\177t" "0\177u" "0\177f" "0\177q"
+ "0\177y" "0\177w" "0\177\"i" "0\177\"u"
+ "0\177'o" "0\177'u" "0\177'w" ""
+ ])
+
+(defconst cjk-viscii-lower
+ [; 0xA0
+ "" "20\177\\abreve" "32\177\\abreve" "71\177\\abreve"
+ "20\177\\acircumflex" "32\177\\acircumflex" "73\177\\acircumflex" "71\177\\acircumflex"
+ "34\177e" "71\177e" "20\177\\ecircumflex" "32\177\\ecircumflex"
+ "73\177\\ecircumflex" "34\177\\ecircumflex" "71\177\\ecircumflex" "20\177\\ocircumflex"
+
+ ; 0xB0
+ "32\177\\ocircumflex" "73\177\\ocircumflex" "34\177\\ocircumflex" ""
+ "" "71\177\\ocircumflex" "32\177\\ohorn" "73\177\\ohorn"
+ "71\177i" "" "" ""
+ "" "0\177\\ohorn" "20\177\\ohorn" ""
+
+ ; 0xC0
+ "" "" "" ""
+ "" "" "73\177\\abreve" "34\177\\abreve"
+ "" "" "" ""
+ "" "" "" "32\177y"
+
+ ; 0xD0
+ "" "20\177\\uhorn" "" ""
+ "" "71\177a" "73\177y" "32\177\\uhorn"
+ "73\177\\uhorn" "" "" "34\177y"
+ "71\177y" "" "34\177\\ohorn" "0\177\\uhorn"
+
+ ; 0xE0
+ "32\177a" "20\177a" "0\177\\acircumflex" "34\177a"
+ "73\177a" "0\177\\abreve" "34\177\\uhorn" "34\177\\acircumflex"
+ "32\177e" "20\177e" "0\177\\ecircumflex" "73\177e"
+ "32\177i" "20\177i" "34\177i" "73\177i"
+
+ ; 0xF0
+ "0\177\\dj" "71\177\\uhorn" "32\177o" "20\177o"
+ "0\177\\ocircumflex" "34\177o" "73\177o" "71\177o"
+ "71\177u" "32\177u" "20\177u" "34\177u"
+ "73\177u" "20\177y" "71\177\\ohorn" ""
+ ])
+
+(defconst cjk-viscii-upper
+ [; 0xA0
+ "" "20\177\\ABREVE" "32\177\\ABREVE" "71\177\\ABREVE"
+ "20\177\\ACIRCUMFLEX" "32\177\\ACIRCUMFLEX" "73\177\\ACIRCUMFLEX" "71\177\\ACIRCUMFLEX"
+ "34\177E" "71\177E" "20\177\\ECIRCUMFLEX" "32\177\\ECIRCUMFLEX"
+ "73\177\\ECIRCUMFLEX" "34\177\\ECIRCUMFLEX" "71\177\\ECIRCUMFLEX" "20\177\\OCIRCUMFLEX"
+
+ ; 0xB0
+ "32\177\\OCIRCUMFLEX" "73\177\\OCIRCUMFLEX" "34\177\\OCIRCUMFLEX" ""
+ "" "71\177\\OCIRCUMFLEX" "32\177\\OHORN" "73\177\\OHORN"
+ "71\177I" "" "" ""
+ "" "0\177\\OHORN" "20\177\\OHORN" ""
+
+ ; 0xC0
+ "" "" "" ""
+ "" "" "73\177\\ABREVE" "34\177\\ABREVE"
+ "" "" "" ""
+ "" "" "" "32\177Y"
+
+ ; 0xD0
+ "" "20\177\\UHORN" "" ""
+ "" "71\177A" "73\177Y" "32\177\\UHORN"
+ "73\177\\UHORN" "" "" "34\177Y"
+ "71\177Y" "" "34\177\\OHORN" "0\177\\UHORN"
+
+ ; 0xE0
+ "32\177A" "20\177A" "0\177\\ACIRCUMFLEX" "34\177A"
+ "73\177A" "0\177\\ABREVE" "34\177\\UHORN" "34\177\\ACIRCUMFLEX"
+ "32\177E" "20\177E" "0\177\\ECIRCUMFLEX" "73\177E"
+ "32\177I" "20\177I" "34\177I" "73\177I"
+
+ ; 0xF0
+ "0\177\\DJ" "71\177\\UHORN" "32\177O" "20\177O"
+ "0\177\\OCIRCUMFLEX" "34\177O" "73\177O" "71\177O"
+ "71\177U" "32\177U" "20\177U" "34\177U"
+ "73\177U" "20\177Y" "71\177\\OHORN" ""
+ ])
+
+
+;; The following encodings will be selected (if they occur in the input
+;; buffer) at the very beginning of the output buffer to load the
+;; corresponding CJK macros.
+;;
+(defconst cjk-enc-table
+ '((chinese-gb2312 . GB)
+ (katakana-jisx0201 . SJIS)
+ (japanese-jisx0208 . JIS)
+ (japanese-jisx0212 . JIS2)
+ (korean-ksc5601 . KS)
+ (chinese-big5-1 . Bg5)
+ (chinese-big5-2 . Bg5)
+ (chinese-cns11643-1 . CNS1)
+ (chinese-cns11643-2 . CNS2)
+ (chinese-cns11643-3 . CNS3)
+ (chinese-cns11643-4 . CNS4)
+ (chinese-cns11643-5 . CNS5)
+ (chinese-cns11643-6 . CNS6)
+ (chinese-cns11643-7 . CNS7)))
+
+
+;; MULEenc's versions of \CJKspace and \CJKnospace
+;;
+(defconst cjk-space "\17764\177\177")
+(defconst cjk-nospace "\17765\177\177")
+
+;; MULEenc's command to insert a word break.
+;;
+(defconst cjk-word-break "\17761\177\177")
+
+
+;; Here we have the format specification table which defines what to do
+;; for each encoding.
+;;
+;; Later in the code we check to which group of commands the encoding
+;; belongs. This is done by testing how the encoding and its data is
+;; stored, e.g. whether it is a vector, or a cons cell, etc.
+;;
+(defconst cjk-format-spec-table
+ `(
+ ;; Cdr part is a vector VEC. Each character is formatted as:
+ ;;
+ ;; (format "\177%s\177" (aref VEC (- char-position-code-1 32)))
+ ;;
+ (latin-iso8859-1 . ,cjk-latin-1)
+ (latin-iso8859-2 . ,cjk-latin-2)
+ (latin-iso8859-3 . ,cjk-latin-3)
+ (latin-iso8859-4 . ,cjk-latin-4)
+ (latin-iso8859-9 . ,cjk-latin-5)
+ (latin-jisx0201 . ,cjk-latin-jisx)
+ ;; T2A encoding is used for Cyrillic letters. You must explicitly
+ ;; switch between T2 and T1/OT1 encoding.
+ (cyrillic-iso8859-5 . ,cjk-cyrillic)
+ ;; LGR encoding (resp. its ligatures) is used for Greek letters.
+ ;; You must explicitly switch between LGR and T1/OT1 encoding (using
+ ;; e.g. Babel's `greek' option).
+ (greek-iso8859-7 . ,cjk-greek)
+ ;; For Vietnamese a Vietnamese TeX-font has to be used which
+ ;; contains ASCII characters too! You must explicitly switch
+ ;; between Vietnamese T5 and T1/OT1 encoding.
+ (vietnamese-viscii-lower . ,cjk-viscii-lower)
+ (vietnamese-viscii-upper . ,cjk-viscii-upper)
+
+ ;; Cdr part is a cons of header HEAD and formatter FORMAT. HEAD is
+ ;; printed first, then each character is formatted as:
+ ;;
+ ;; (format FORMAT char-code-1 [char-code-2])
+ ;;
+ (katakana-jisx0201 . ("\17770\177\177" . "\177%c\177\177"))
+ (japanese-jisx0208 . ("\17766\177\177" . "\177%c\177%d\177"))
+ (chinese-gb2312 . ("\17767\177\177" . "\177%c\177%d\177"))
+ (chinese-big5-1 . ("\17768\177\177" . "\177%c\177%d\177"))
+ (chinese-big5-2 . ("\17768\177\177" . "\177%c\177%d\177"))
+ (korean-ksc5601 . ("\17769\177\177" . "\177%c\177%d\177"))
+
+ ;; Cdr part is a formatter string FORMAT. Each character is
+ ;; formatted as:
+ ;;
+ ;; (format FORMAT char-code-1 char-code-2)
+ ;;
+ (japanese-jisx0212 . "\17772\177JIS2\177\177%d\177%d\177")
+ (chinese-cns11643-1 . "\17772\177CNS1\177\177%d\177%d\177")
+ (chinese-cns11643-2 . "\17772\177CNS2\177\177%d\177%d\177")
+ (chinese-cns11643-3 . "\17772\177CNS3\177\177%d\177%d\177")
+ (chinese-cns11643-4 . "\17772\177CNS4\177\177%d\177%d\177")
+ (chinese-cns11643-5 . "\17772\177CNS5\177\177%d\177%d\177")
+ (chinese-cns11643-6 . "\17772\177CNS6\177\177%d\177%d\177")
+ (chinese-cns11643-7 . "\17772\177CNS7\177\177%d\177%d\177")
+
+ ;; Cdr part is a list of the form (SYMBOL ARG1 ARG2 ...). SYMBOL
+ ;; indicates how to process the following characters.
+ ;;
+ (thai-tis620 . (thai
+ "\17757\177\177" ; Thai start
+ "\17758\177\177" ; Thai end
+ "\17762\177%d\177" ; Thai base character
+ "\17760\177%d\177" ; Thai upper/lower vowel and tone
+ "\17763\177\177" ; Thai EOL
+ ))
+ ))
+
+
+;; An alist of charsets vs list of features required for processing
+;; the corresponding charset. The feature is loaded then on demand.
+;;
+(defconst cjk-feature-table
+ '((thai-tis620 thai-word)))
+
+
+;; Create an output encoding called `cjk-coding', using the function
+;; cjk-encode to actually convert the output.
+;;
+(if (featurep 'xemacs)
+ (make-coding-system
+ 'cjk-coding 'no-conversion
+ "Coding-system for LaTeX2e CJK Package"
+ '(mnemonic "CJK"
+ pre-write-conversion cjk-encode))
+ (if (< emacs-major-version 23)
+ (make-coding-system
+ 'cjk-coding 0 ?c
+ "Coding-system for LaTeX2e CJK Package"
+ nil
+ '((pre-write-conversion . cjk-encode)))
+ (define-coding-system
+ 'cjk-coding
+ "Coding-system for LaTeX2e CJK Package"
+ :mnemonic ?c
+ :coding-type 'emacs-mule
+ :default-char ?
+ :charset-list '(ascii
+ latin-iso8859-1
+ latin-iso8859-2
+ latin-iso8859-3
+ latin-iso8859-4
+ cyrillic-iso8859-5
+ greek-iso8859-7
+ thai-tis620
+ vietnamese-viscii-lower
+ vietnamese-viscii-upper
+ latin-jisx0201
+ katakana-jisx0201
+ japanese-jisx0208
+ japanese-jisx0212
+ korean-ksc5601
+ chinese-gb2312
+ chinese-big5-1
+ chinese-big5-2
+ chinese-cns11643-1
+ chinese-cns11643-2
+ chinese-cns11643-3
+ chinese-cns11643-4
+ chinese-cns11643-5
+ chinese-cns11643-6
+ chinese-cns11643-7)
+ :pre-write-conversion 'cjk-encode)))
+
+;; XEmacs doesn't have set-buffer-multibyte.
+;;
+(defmacro cjk-set-buffer-multibyte (arg)
+ (if (fboundp 'set-buffer-multibyte)
+ `(set-buffer-multibyte ,arg)))
+
+
+;; The conversion routine. Its main idea is to analyze the character
+;; set for each character and then to do something if the previous
+;; character has a different character set. For Thai, we must
+;; additionally find proper word breaks using a large word list.
+;;
+(defun cjk-encode (from to)
+ (let ((old-buf (current-buffer))
+ (temp-buf (get-buffer-create " *cjk-tmp*"))
+ (work-buf (get-buffer-create " *cjk-work*"))
+ (required-features (copy-sequence cjk-feature-table)))
+ ;; Initialize all working buffers.
+ (set-buffer work-buf)
+ (erase-buffer)
+ (cjk-set-buffer-multibyte nil)
+
+ (set-buffer temp-buf)
+ (erase-buffer)
+ (cjk-set-buffer-multibyte t)
+
+ ;; Copy the original contents into TEMP-BUF.
+ (insert-buffer-substring old-buf from to)
+ (if (and (not (featurep 'xemacs))
+ (string< emacs-version "21.0"))
+ (progn
+ (message "Decomposing...")
+ (decompose-region (point-min) (point-max))))
+
+ (let ((enc nil)
+ (space-state nil)
+ prev-charset charset
+ ch ch1 ch2
+ format-spec
+ (skipped-whitespace nil)
+ (last-pos 0))
+ ;; Now we go to beginning of TEMP-BUF and start the loop.
+ (goto-char (point-min))
+ (setq prev-charset 'ascii)
+
+ (while (not (eobp))
+ ;; In emacs 23+, the `charset' property holds the original
+ ;; encoding value; in emacs 22 and earlier, we get `nil'.
+ (setq tpch (get-text-property (point) 'charset))
+ (setq ch (following-char))
+ (set-buffer work-buf)
+
+ ;; Set CHARSET to the character set of the current character.
+ ;; Use text property in preference to `char-charset'.
+ (if (not (eq tpch nil))
+ (setq charset tpch)
+ (setq charset (char-charset ch)))
+
+ ;; Avoid `tis620-2533' (new with emacs 23+); we replace it with
+ ;; Thai and ASCII (as a new optional argument to
+ ;; `char-charset'.
+ (if (eq charset 'tis620-2533)
+ (setq charset (char-charset ch '(thai-tis620 ascii))))
+
+ ;; Check whether we have Unicode based input.
+ (if (eq charset 'unicode)
+ (let ((l (split-char ch)))
+ (progn
+ ;; Unicode 0x0E00-0x0E7F is Thai. Transform back to TIS620
+ (setq ch2 (nth 2 l)
+ ch3 (nth 3 l))
+ (if (and (eq ch2 14) (< ch3 128))
+ (setq charset 'thai-tis620
+ ch (encode-char ch 'thai-tis620))))))
+
+ ;; `split-char' in emacs 23+ is sensitive to charset priority.
+ (cond ((> emacs-major-version 22)
+ (if (not (eq charset 'ascii))
+ (set-charset-priority charset))))
+
+ (if (eq charset 'ascii)
+ ;; Not a multibyte character.
+ (progn
+ ;; Don't modify PREV-CHARSET for whitespace characters.
+ (setq skipped-whitespace (string-match "[ \t\n]"
+ (string ch)))
+ (if (not skipped-whitespace)
+ (setq prev-charset 'ascii))
+ (insert ch))
+
+ ;; Now we are at a multibyte character. Set the following
+ ;; variables:
+ ;;
+ ;; CH1 -- first character code
+ ;; CH2 -- second character code (of two-byte characters)
+ ;; if any
+ (if (or (eq charset 'chinese-big5-1)
+ (eq charset 'chinese-big5-2))
+ ;; Emacs uses two special character sets for Big5
+ ;; characters. We must decode the current character to
+ ;; get the real Big5 character code.
+ (progn
+ (setq ch (encode-big5-char ch))
+ (if (consp ch)
+ ;; XEmacs
+ (setq ch1 (car ch)
+ ch2 (cdr ch))
+ ;; Emacs
+ (setq ch1 (lsh ch -8)
+ ch2 (logand ch 255)))
+ ;; 128 will be later added again.
+ (setq ch1 (- ch1 128))
+ (setq ch2 (- ch2 128)))
+ ;; For all other character sets, split-char does the right
+ ;; thing. Note that CH2 can be zero in case it is a
+ ;; single-byte character set.
+ (let ((l (split-char ch)))
+ (setq ch1 (nth 1 l)
+ ch2 (or (nth 2 l) 0))))
+
+ ;; FORMAT-SPEC tells how to encode this character.
+ (setq format-spec (cdr (assq charset cjk-format-spec-table)))
+ (if (null format-spec)
+ ;; Unsupported character set. Do nothing.
+ nil
+ ;; Ok, it is supported. If this character set is a CJK
+ ;; character set (i.e., it is in CJK-ENC-TABLE), we need a
+ ;; special header at the beginning of the output file.
+ ;; This information is stored in the ENC list.
+ (let ((tag (cdr (assq charset cjk-enc-table))))
+ (if tag
+ (or (memq tag enc)
+ (setq enc (cons tag enc)))))
+
+ ;; Load all features which are required to handle this
+ ;; character set.
+ (let ((tail (assq charset required-features)))
+ ;; We remove all occurrences of TAIL in the feature list
+ ;; to avoid loading packages multiple times.
+ (setq required-features (delete tail required-features)
+ tail (cdr tail))
+ (while tail
+ (require (car tail))
+ (setq tail (cdr tail))))
+
+ (cond
+ ;; If FORMAT-SPEC has the form (SYMBOL ARG1 ARG2 ...),
+ ;; SYMBOL indicates how to process the following
+ ;; characters.
+ ((and (consp format-spec) (symbolp (car format-spec)))
+ (cond
+ ((eq (car format-spec) 'thai)
+ ;; FORMAT-SPEC has this form:
+ ;; (thai START-STRING END-STRING
+ ;; BASE-CHAR-FORMAT COMBINING-CHAR-FORMAT
+ ;; EOL-STRING)
+ (let ((base-format (nth 3 format-spec))
+ (combining-format (nth 4 format-spec))
+ pos
+ start
+ end
+ str
+ len
+ (i 0))
+ ;; First, insert the code for starting Thai.
+ (if (not (eq prev-charset charset))
+ (insert (nth 1 format-spec)))
+ ;; Analyze the maximum run of Thai characters in
+ ;; TEMP-BUF and insert `|' at all word boundaries.
+ (set-buffer temp-buf)
+ (setq start (point))
+ ;; "\\ct+" searches for characters which have the
+ ;; category `t', i.e. are Thai characters.
+ (re-search-forward "\\ct+" nil t)
+ (setq end (point-marker))
+ (goto-char start)
+ (thai-break-words "|" end)
+ ;; Extract this run.
+ (setq str (buffer-substring start end)
+ len (length str))
+ (goto-char end)
+ (set-marker end nil)
+ ;; Insert characters in STR one by one while
+ ;; converting `|' to `cjk-word-break' and formatting
+ ;; Thai characters according to FORMAT-SPEC.
+ (set-buffer work-buf)
+ (while (< i len)
+ (setq ch (aref str i)
+ i (1+ i))
+ (if (= ch ?|)
+ (insert cjk-word-break)
+ (let* ((split (split-char ch))
+ (category-set (char-category-set ch)))
+ ;; We now analyze the linguistic category
+ ;; assigned to the current character and take
+ ;; the appropriate format. Then we add 128
+ ;; for producing TIS-620 output.
+ (insert (format
+ (if (or (aref category-set ?2)
+ (aref category-set ?3)
+ (aref category-set ?4))
+ combining-format
+ base-format)
+ (+ (nth 1 split) 128))))))
+ ;; It depends on the following characters what to do
+ ;; next. If we have tabs and spaces followed by a
+ ;; Thai character, nothing will be done. If we have
+ ;; a newline character additionally, we insert a
+ ;; special command which usually expands to
+ ;; `\ignorespaces' (which will suppress all
+ ;; whitespace characters). In all other cases, we
+ ;; close the Thai block.
+ ;;
+ ;; Reason for this algorithm is the fact that in the
+ ;; Thai language a space isn't used to separate
+ ;; words but to structure a sentence. A normal line
+ ;; break shall not automatically cause the insertion
+ ;; of a space. The user has rather to explicitly
+ ;; type one or more space characters in the middle
+ ;; of a line to indicate that he or she really wants
+ ;; a space -- note that usually a Thai space is
+ ;; wider than a Roman space resp. can be stretched
+ ;; more.
+ (set-buffer temp-buf)
+ (if (looking-at "[ \t]+\\ct")
+ (setq str "")
+ (if (looking-at "[ \t]*\n[ \t]*\\ct")
+ (setq str (nth 5 format-spec))
+ (setq str (nth 2 format-spec))))
+ ;; To compensate the forward-char at the end of loop.
+ (forward-char -1)
+ (set-buffer work-buf)
+ (insert str)))))
+
+ ;; We may have to insert the car part of the cons and/or
+ ;; space controlling commands (cjk-space/cjk-nospace)
+ ;; depending on the current context.
+ ;;
+ ;; Note that this logic sometimes fails. In the example
+ ;; below, cjk-encode will insert \CJKspace in the comment
+ ;; instead of right after the comment. Since cjk-encode
+ ;; should be a low-level function we can't assume that
+ ;; `%' is always the TeX comment character. Only TeX
+ ;; itself can reliably detect the current comment
+ ;; character.
+ ;;
+ ;; Chinese Text
+ ;; % Korean comment
+ ;; Korean Text
+ ;;
+ ;; Two solutions: Either switch between Korean and other
+ ;; languages only outside of a comment, or manually insert
+ ;; \CJKspace and \CJKnospace commands as needed.
+ ((consp format-spec)
+ (if (eq charset 'korean-ksc5601)
+ (or (eq space-state cjk-space)
+ (insert (setq space-state cjk-space)))
+ (or (eq space-state cjk-nospace)
+ (insert (setq space-state cjk-nospace))))
+
+ ;; Now insert the the header and character(s)
+ ;; according to CJK-FORMAT-SPEC-TABLE. The CJK
+ ;; package needs the characters in GR notation, so
+ ;; we add 0x80.
+ (if (not (eq prev-charset charset))
+ (insert (car format-spec)))
+ (insert (format (cdr format-spec)
+ (+ ch1 128) (+ ch2 128))))
+
+ ;; Since Emacs provides the character sets in GL
+ ;; notation, we simply subtract 0x20 to get the proper
+ ;; index.
+ ((vectorp format-spec)
+ (insert (format "\177%s\177"
+ (aref format-spec (- ch1 32)))))
+
+ ;; Otherwise, FORMAT-SPEC is just a formatting
+ ;; string.
+ (t
+ (insert (format format-spec ch1 ch2)))))
+
+ (setq prev-charset charset))
+
+ ;; We have finished the analysis of the character set. Print
+ ;; some progress information if we have done another 1000
+ ;; characters.
+ (set-buffer temp-buf)
+ (if (> (- (point) last-pos) 1000)
+ (progn
+ (setq last-pos (point))
+ (message "Converting: %2d%%"
+ (/ (* 100 (point)) (point-max)))))
+
+ ;; Advance to the next character and loop.
+ (forward-char 1))
+
+ ;; The remaining task is to insert an appropriate header at the
+ ;; very beginning of the output file. If ENC isn't empty, we need
+ ;; the extra LaTeX commands to load CJK package and to output all
+ ;; collected CJK encodings.
+ (set-buffer work-buf)
+ (goto-char (point-min))
+ (if enc
+ (progn
+ (insert "\\def\\CJKhook{")
+ (while enc
+ (insert (format "\\CJKenc{%s}" (car enc)))
+ (setq enc (cdr enc)))
+ (insert "}")
+ (insert "\\ifx\\CJKpreproc\\undefined")
+ (insert "\\def\\CJKpreproc{cjk-enc}")
+ (insert "\\RequirePackage[global]{CJK}")
+ (insert "\\AtBeginDocument{\\begin{CJK}{}{}\\CJKspace}")
+ (insert "\\AtEndDocument{\\end{CJK}}")
+ (insert "\\else\\CJKhook\\fi "))
+ (insert "\\ifx\\CJKpreproc\\undefined")
+ (insert "\\def\\CJKpreproc{cjk-enc}")
+ (insert "\\RequirePackage{MULEenc}")
+ (insert "\\fi ")))))
+
+
+(defun cjk-get-name (filename)
+ "Replace the extension of the file name with `.cjk'.
+If the extension of FILENAME is `.bib', `-cjk.bib' will be appended
+to the file name without extension."
+
+ (concat (file-name-sans-extension filename)
+ (if (string-equal (file-name-extension filename) "bib")
+ "-cjk.bib"
+ ".cjk")))
+
+
+(defun cjk-write-file ()
+ "Save current buffer and <buffername>.cjk in cjk-coding.
+Files of the form <buffername>.bib are saved as <buffername>-cjk.bib.
+
+If no file is associated with the buffer, you are asked to specify a
+file name."
+
+ (interactive)
+ (save-buffer)
+ (let* ((bufname (buffer-file-name))
+ (newbufname (cjk-get-name bufname)))
+ (message "Saving %s and %s" bufname newbufname)
+ (let ((coding-system-for-write 'cjk-coding))
+ (write-region (point-min) (point-max) newbufname))))
+
+
+(defun cjk-file-write-file (filename &optional load)
+ "Save FILENAME as <FILENAME>.cjk in cjk-coding.
+With prefix arg (noninteractively: 2nd arg LOAD), load FILENAME into
+current buffer also."
+
+ (interactive
+ (let ((file buffer-file-name)
+ (file-name nil)
+ (file-dir nil))
+ (and file
+ ;; If we are in LaTeX mode, we present the file associated
+ ;; with the current buffer as the default.
+ (eq (cdr (assq 'major-mode (buffer-local-variables)))
+ 'latex-mode)
+ (setq file-name (file-name-nondirectory file)
+ file-dir (file-name-directory file)))
+ ;; Now we build the argument list.
+ (list (read-file-name (if current-prefix-arg
+ "Load file and save it in cjk-coding: "
+ "Save file in cjk-coding: ")
+ file-dir file-name nil)
+ current-prefix-arg)))
+
+ (setq filename (expand-file-name filename))
+
+ (let (input-buffer
+ (new-filename (cjk-get-name filename)))
+ (save-excursion
+ (setq input-buffer (get-buffer-create " *cjk-temp*"))
+ (set-buffer input-buffer)
+ (erase-buffer)
+ (cjk-set-buffer-multibyte t)
+ (insert-file-contents filename)
+ (let ((coding-system-for-write 'cjk-coding))
+ (write-region (point-min) (point-max) new-filename))))
+
+ (if load
+ (find-file filename)))
+
+
+;; To be independent from AUC TeX, we copy the TeX-in-comment function.
+
+(defvar cjk-tex-esc "\\"
+ "The TeX escape character.")
+
+
+(defconst cjk-comment-start-skip (concat "\\(\\(^\\|[^\\]\\)\\("
+ (regexp-quote cjk-tex-esc)
+ (regexp-quote cjk-tex-esc)
+ "\\)*\\)\\(%+ *\\)")
+ "A regexp to identify the beginning of a comment in TeX.")
+
+
+(defun cjk-tex-in-comment ()
+ "Return non-nil if point is in a TeX comment."
+
+ (if (or (bolp)
+ (eq (preceding-char) ?\r))
+ nil
+ (save-excursion
+ (let ((pos (point)))
+ (re-search-backward "^\\|\r" nil t)
+ (or (looking-at cjk-comment-start-skip)
+ (re-search-forward cjk-comment-start-skip pos t))))))
+
+
+(defun cjk-write-all-files (filename &optional load force)
+ "Save FILENAME and all files included in FILENAME in cjk-coding.
+This function runs `cjk-file-write-file' on each file if necessary.
+The inclusion commands scanned for are `\\CJKinput', `\\CJKinclude',
+and `\\CJKbibliography'.
+
+With 1 \\[universal-argument] (noninteractively: 2nd arg LOAD),
+ load FILENAME into current buffer also.
+With 2 \\[universal-argument]'s (noninteractively: 3rd arg FORCE),
+ run `cjk-file-write-file' unconditionally.
+With 3 \\[universal-argument]'s, do both."
+
+ (interactive
+ (let ((file buffer-file-name)
+ (file-name nil)
+ (file-dir nil))
+ (and file
+ ;; If we are in LaTeX mode, we present the file associated
+ ;; with the current buffer as the default.
+ (eq (cdr (assq 'major-mode (buffer-local-variables)))
+ 'latex-mode)
+ (setq file-name (file-name-nondirectory file)
+ file-dir (file-name-directory file)))
+ ;; Now we build the argument list.
+ (setq load (member current-prefix-arg '((4) (64))))
+ (setq force (member current-prefix-arg '((16) (64))))
+ (list
+ (read-file-name (if load
+ "Load file and save it in cjk-coding: "
+ "Save file in cjk-coding: ")
+ file-dir file-name nil)
+ load
+ force)))
+
+ (let (input-buffer
+ (dir (file-name-directory filename))
+ (tex-include-regexp "\\\\CJKinclude *{\\(.*\\)}")
+ (tex-input-regexp "\\\\CJKinput *{\\(.*\\)}")
+ (bib-regexp "\\\\CJKbibliography *{\\(.*\\)}")
+ (result '())
+ (newresult '()))
+ (save-excursion
+ ;; First, load the file associated with FILENAME into INPUT-BUFFER
+ (setq input-buffer (get-buffer-create " *cjk-temp*"))
+ (set-buffer input-buffer)
+ (erase-buffer)
+ (cjk-set-buffer-multibyte t)
+ (insert-file-contents filename)
+ (goto-char (point-min))
+
+ ;; Then, search `\CJKinput', `\CJKinclude', and `\CJKbibliography' and
+ ;; append the found filenames to the RESULT list.
+ (while (re-search-forward tex-include-regexp nil t)
+ ;; We assume that the include file name is well behaved and
+ ;; doesn't contain a comment character.
+ (let ((match (match-string 1)))
+ (if (not (cjk-tex-in-comment))
+ (setq result (cons (concat match ".tex") result)))))
+ (while (re-search-forward tex-input-regexp nil t)
+ (let ((match (match-string 1)))
+ (if (not (cjk-tex-in-comment))
+ (if (string-equal (file-name-sans-extension match) match)
+ (setq result (cons (concat match ".tex") result))
+ (setq result (cons match result))))))
+ (while (re-search-forward bib-regexp nil t)
+ (let ((match (match-string 1)))
+ (if (not (cjk-tex-in-comment))
+ (setq result (cons (concat match ".bib") result))))))
+
+ ;; Add directory to each element.
+ (dolist (elt result)
+ (setq newresult (cons (concat dir elt) newresult)))
+
+ ;; Add the master file itself to the list.
+ (setq newresult (cons filename newresult))
+
+ ;; Process file by file.
+ (dolist (source newresult)
+ (if (not (file-readable-p source))
+ (message "Can't operate on %s" source)
+ (if (or (file-newer-than-file-p source (cjk-get-name source))
+ force)
+ (cjk-file-write-file source)))))
+
+ (if load
+ (find-file filename)))
+
+
+(defun batch-cjk-write-file ()
+ "Run `cjk-file-write-file' on the remaining files if necessary.
+Use this from the command line, with `--batch' (or `-batch'); it won't
+work in an interactive Emacs. For example, invoke
+
+ \"emacs -batch -l cjk-enc -f batch-cjk-write-file *.tex\"
+
+Note that if you specify a directory name, all files in this directory
+are processed."
+
+ (do-batch-cjk-write-file))
+
+
+(defun batch-force-cjk-write-file ()
+ "Run `cjk-file-write-file' on the remaining files unconditionally.
+Use this from the command line, with `--batch' (or `-batch'); it won't
+work in an interactive Emacs. For example, invoke
+
+ \"emacs -b -l cjk-enc -f batch-force-cjk-write-file *.tex\"
+
+Note that if you specify a directory name, all files in this directory
+are processed.
+
+This function is useful for Makefiles to let the make program do the
+file time management."
+
+ (do-batch-cjk-write-file t))
+
+
+(defun do-batch-cjk-write-file (&optional force)
+ "Run `cjk-file-write-file' on remaining arguments.
+If optional argument FORCE is non-nil, run it unconditionally."
+
+ (defvar command-line-args-left) ; Avoid `free variable' warning.
+
+ (if (not noninteractive)
+ (error "`batch-write-cjk-file' is to be used only with --batch"))
+
+ (while command-line-args-left
+ (let ((source (car command-line-args-left))
+ dest)
+ (if (file-directory-p (expand-file-name source))
+ ;; Handle all files in directory.
+ (let ((files (directory-files source)))
+ (while files
+ (if (and (not (auto-save-file-name-p (car files)))
+ ;; Replace the directory name saved in `source'
+ ;; with a file name.
+ (setq source
+ (expand-file-name (car files) source))
+ (setq dest (cjk-get-name source))
+ (not (file-directory-p source))
+ (or (file-newer-than-file-p source dest)
+ force))
+ (cjk-file-write-file source))
+ (setq files (cdr files))))
+ ;; Otherwise, process a single file.
+ (if (not (file-readable-p source))
+ (message "Can't operate on %s" source)
+ (if (or (file-newer-than-file-p source (cjk-get-name source))
+ force)
+ (cjk-file-write-file source)))))
+
+ (setq command-line-args-left (cdr command-line-args-left)))
+
+ (message "Done")
+ (kill-emacs 0))
+
+;;; EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/lisp/emacs/thai-word.el b/language/chinese/CJK/cjk-4.8.4/utils/lisp/emacs/thai-word.el
new file mode 100644
index 0000000000..956cf27b06
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/lisp/emacs/thai-word.el
@@ -0,0 +1,11052 @@
+;;; thai-word.el -- find Thai word boundaries
+
+;; Copyright (C) 2000, 2001, 2002, 2003, 2004
+;; Electrotechnical Laboratory, JAPAN.
+
+;; Author: Kenichi HANDA <handa@etl.go.jp>
+
+;; Keywords: thai, word break, emacs
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to
+;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+
+;; The used Thai word list has been taken from IBM's ICU4J project
+;; (file `thai6.ucs', version 1.4, converted to TIS encoding, with
+;; removal of three incorrect entries) to which the following license
+;; applies:
+;;
+;; COPYRIGHT AND PERMISSION NOTICE
+;;
+;;
+;; Copyright (c) 1995-2001 International Business Machines
+;; Corporation and others
+;;
+;; All rights reserved.
+;;
+;;
+;; Permission is hereby granted, free of charge, to any person
+;; obtaining a copy of this software and associated documentation
+;; files (the "Software"), to deal in the Software without
+;; restriction, including without limitation the rights to use,
+;; copy, modify, merge, publish, distribute, and/or sell copies of
+;; the Software, and to permit persons to whom the Software is
+;; furnished to do so, provided that the above copyright notice(s)
+;; and this permission notice appear in all copies of the Software
+;; and that both the above copyright notice(s) and this permission
+;; notice appear in supporting documentation.
+;;
+;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+;; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+;; NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE
+;; COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE
+;; FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
+;; OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+;; PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+;; TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+;; PERFORMANCE OF THIS SOFTWARE.
+;;
+;; Except as contained in this notice, the name of a copyright
+;; holder shall not be used in advertising or otherwise to promote
+;; the sale, use or other dealings in this Software without prior
+;; written authorization of the copyright holder.
+
+
+;; This file implements an algorithm to find Thai word breaks using a
+;; dictionary. It is based on the C program `cttex' written by
+;; Vuthichai Ampornaramveth <vuthi@nii.ac.jp>.
+
+
+;; Table of Thai words. It is a nested alist (see `nested-alist-p'),
+;; which means that you can easily index the list character by
+;; character.
+
+(defconst thai-word-table nil)
+
+
+;; Set up `thai-word-table'.
+
+(let
+ ((l
+ '(""
+ ""
+ "ظѳ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "Թ"
+ ""
+ "ѭ"
+ "ѭص"
+ "ѭ"
+ "Ҹԡ"
+ "Թ"
+ "ԡ"
+ "ǷԵ"
+ "Ƿ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ɰ"
+ ""
+ ""
+ "ҹ"
+ ""
+ ""
+ "Թ"
+ ""
+ ""
+ ""
+ ""
+ "á"
+ "áҤ"
+ "á"
+ "ç"
+ "ó"
+ "ó"
+ "ó¡Ԩ"
+ "ó"
+ "ô"
+ "ù"
+ "ú"
+ "ú"
+ ""
+ ""
+ ""
+ ""
+ "êԧ"
+ "ó"
+ "óԡ"
+ "þ"
+ ""
+ ""
+ ""
+ "ҵ"
+ "Ҫ"
+ "Ҫվ"
+ "Ҹԡ"
+ "¡"
+ "§"
+ "á"
+ "⪡"
+ ""
+ "Ǵ"
+ "Ǻ"
+ ""
+ ""
+ "͡"
+ "͡á"
+ "ͧ"
+ "ͧ"
+ "ʹ"
+ "ͺ"
+ ""
+ ""
+ "Ч"
+ "Чͧ"
+ "Ч͹"
+ "Ш"
+ "Ш͡"
+ "Шͧ"
+ "Шѧ"
+ "ШѺ"
+ "ШҴ"
+ "ШҺ"
+ "Ш"
+ "ШԴ"
+ "ШԺ"
+ "ШԴ"
+ "Шء"
+ "ШغШԺ"
+ "Ш"
+ "Ш맡Ш"
+ "ШШ"
+ "ШШ"
+ "Шҧ"
+ "Ш͹"
+ "Щ͡"
+ "ЩѺ੧"
+ "Щٴ"
+ "Щ͹"
+ "Ъ͹"
+ "ЪѺ"
+ "Ъ"
+ "Ъҡ"
+ "Ъ"
+ "Ыԡ"
+ "ЫԺ"
+ "Ю"
+ "д"
+ "дͧ"
+ "д͹"
+ "дѧ"
+ "дҡ"
+ "дҧҧ"
+ "дҹ"
+ "д"
+ "дԡ"
+ "д"
+ "д"
+ "д׺"
+ "д"
+ "д١"
+ "д"
+ "дҧ"
+ "еԡ"
+ "еԺ"
+ "е"
+ "е"
+ "еء"
+ "е駡е"
+ "е"
+ "еͧ"
+ "е"
+ "е"
+ "еͺ"
+ "жԹ"
+ "з"
+ "з"
+ "зǧ"
+ "з"
+ "з"
+ "зԧ"
+ "з׺"
+ "зا"
+ "з"
+ "з"
+ "з͹"
+ "з"
+ "й"
+ "кǹ"
+ "к"
+ "к͡"
+ "кͧ"
+ "к"
+ "к"
+ "к"
+ "к"
+ "кا"
+ "л"
+ "лǡ"
+ "л"
+ "л͡"
+ "лͧ"
+ "мաм"
+ "мա"
+ "о"
+ "о"
+ "о"
+ "пѴ´"
+ "пп"
+ ""
+ "ѧ"
+ "˧ѹ"
+ "֡"
+ "͹"
+ "͡"
+ ""
+ ""
+ "Թ"
+ "աҴ"
+ ""
+ "һ"
+ "ͺ"
+ "ѧ"
+ "ѹ"
+ ""
+ ""
+ "اԧ"
+ "ع"
+ "˹"
+ "˹Һ"
+ "˹"
+ "Ժ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ͺ"
+ "ѡ"
+ "ѡǹ"
+ "ҡЧʹ"
+ ""
+ "ԧ"
+ "Դԧ"
+ "º"
+ ""
+ ""
+ "ԧ"
+ ""
+ ""
+ "Դ"
+ "´"
+ "͡"
+ "ͧ"
+ ""
+ ""
+ "൧"
+ ""
+ "ͧ"
+ ""
+ "Ժ"
+ ""
+ "͹"
+ "ູ"
+ "´"
+ "ͧ"
+ ""
+ ""
+ ""
+ ""
+ "͡"
+ "¹"
+ "¹"
+ ""
+ "繡"
+ ""
+ "紡"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ᷡ"
+ ""
+ ""
+ "⨹"
+ ""
+ "⩡੡"
+ "ⴡ"
+ "ⴡഡ"
+ "ⴧ"
+ "ⴴ"
+ "ⶹ"
+ ""
+ "ç"
+ ""
+ "ѡ"
+ "ѧ"
+ "ѹ"
+ "Ѻ"
+ ""
+ "ҡ"
+ "ҧ"
+ "Ҵ"
+ "ҹ"
+ "Һ"
+ "ҿ"
+ "ҿԡ"
+ "ҿԡ"
+ ""
+ ""
+ ""
+ ""
+ "ԡ"
+ "ԧ"
+ "Ԫ"
+ "Ժ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ա"
+ "ձ"
+ "մ"
+ "ո"
+ ""
+ ""
+ "ء"
+ "ا"
+ "ا෾"
+ "س"
+ "سҸԤس"
+ "ع"
+ "غ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ٴ"
+ "͡"
+ "͹"
+ ""
+ "ҧ"
+ ""
+ ""
+ ""
+ ""
+ "ҹ"
+ ""
+ "ɮա"
+ "ɳ"
+ ""
+ "Ŵ"
+ "ź"
+ ""
+ "ط"
+ "ǧ"
+ "͡"
+ "ͧ"
+ "͹"
+ ""
+ "ѡ"
+ "Ѵ"
+ "Ѻ"
+ ""
+ ""
+ ""
+ ""
+ "ҡ"
+ "ҧ"
+ "Ҵ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "պ"
+ ""
+ "֧"
+ "׹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ͧ"
+ "͹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ͧ"
+ "͹"
+ ""
+ ""
+ ""
+ ""
+ "Ǵ"
+ "ǹ"
+ ""
+ ""
+ "¨"
+ "¨"
+ "ѡ"
+ "Ѵ"
+ "ҧ"
+ "ҧ"
+ "Ҵ"
+ ""
+ ""
+ ""
+ "ҧ"
+ "ҹ"
+ "ҹ"
+ "ѵ"
+ ""
+ "һ"
+ ""
+ "ԡ"
+ "ԡ"
+ "Գ"
+ ""
+ "͡"
+ "ͧ"
+ "ͫ"
+ "ʹ"
+ "ͺ"
+ "ͻ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "Ъ衡Ъ"
+ "Ыǡ"
+ "д"
+ "е"
+ "еҡ"
+ "зá"
+ "зѴѴ"
+ "зѹѹ"
+ "з"
+ "з"
+ "кѧ"
+ "к"
+ "лԴл"
+ "лǡ¡"
+ "л"
+ "л"
+ "о"
+ "оԺ"
+ "оͧ"
+ "о"
+ "ѵ"
+ "觡"
+ ""
+ ""
+ "лѧ"
+ "ѧ"
+ ""
+ ""
+ ""
+ ""
+ "͹"
+ ""
+ "¡Ժ"
+ ""
+ "˹ا˹ԧ"
+ "˹ͧ˹"
+ "ʹ"
+ ""
+ ""
+ "ͧ"
+ ""
+ "ءԡ"
+ ""
+ "ഡ"
+ "൧"
+ ""
+ ""
+ "꺡лҺ"
+ "š"
+ "¡Ҵ"
+ "Դ"
+ "͡"
+ "§"
+ ""
+ ""
+ "ⵧ൧"
+ ""
+ ""
+ "ç"
+ ""
+ "šš"
+ "š"
+ "ѡ"
+ "ѡ"
+ "ѧ"
+ "ѧ"
+ "ѧ"
+ "ѧԹ"
+ "ѧ"
+ "ѧ"
+ "ѧҹ"
+ "ѧʴ"
+ "ѧѹ"
+ "ѧ"
+ "ѭ"
+ "ѭ"
+ "ѳ"
+ "Ѵ"
+ "ѹ"
+ "ѹ"
+ "ѹ"
+ "ѹ¹"
+ "ѹ"
+ "Ѻ"
+ "ѻ"
+ "ѻѹ"
+ "ҷ"
+ ""
+ "٪"
+ "ѹҾѧ"
+ "ѹѧ"
+ "ź"
+ "Żġ"
+ "Żѧ"
+ "Żҹ"
+ "Ż"
+ ""
+ "ҳ"
+ "ҳԵ"
+ "ҳ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ҡ"
+ "ҡ"
+ "ҧ"
+ "ҧࡧ"
+ "ҧࢹ"
+ "ҫͧ"
+ "ҭ"
+ "ҭ"
+ "Ҵ"
+ "ҹ"
+ "ҹ"
+ "ҹ"
+ "Һ"
+ "ҽҡ"
+ "Ҿ"
+ ""
+ ""
+ ""
+ "¡"
+ "Ҿ"
+ "Ҥ"
+ "Է"
+ "Ҿ¾"
+ ""
+ "ó"
+ "ú"
+ "ࡴ"
+ "ѳ"
+ "ѹ"
+ "ح"
+ "س"
+ "ǡ"
+ ""
+ ""
+ "ٹ"
+ ""
+ "šԳ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ŧ"
+ ""
+ ""
+ ""
+ "硫"
+ ""
+ "ӡ"
+ "ӡѴ"
+ "ӡѺ"
+ "Ө"
+ "ӨѴ"
+ "Ө"
+ "ӪѺ"
+ "ӫҺ"
+ "ӴѴ"
+ "Ӹ"
+ "ӹѹ"
+ "ӹ"
+ "Ӻѧ"
+ "ӻ"
+ "Ӿ"
+ "Ӿ״"
+ "жѹ"
+ ""
+ ""
+ "ҹ"
+ ""
+ "Һ"
+ "ѧ"
+ ""
+ "˹"
+ "˹Ѵ"
+ ""
+ "Դ"
+ "Ժ"
+ "˹"
+ "ᾧ"
+ "˧"
+ ""
+ ""
+ "ԡ"
+ "ԡ"
+ "Ԩ"
+ "Ԩ"
+ "Ԩ"
+ "Ԩѡɳ"
+ "Ԩ"
+ "Ե"
+ "ԵԤس"
+ "Եѡ"
+ "ԵѾ"
+ "Թ"
+ "Թ"
+ "Թ"
+ "Գ"
+ ""
+ "Ź"
+ ""
+ ""
+ "µչ"
+ ""
+ "š"
+ "Ե"
+ ""
+ "õ"
+ ""
+ ""
+ "駡"
+ "駡"
+ ""
+ ""
+ ""
+ "կԷ"
+ "մ"
+ "յ"
+ "պ"
+ ""
+ ""
+ ""
+ ""
+ "֡"
+ "֡ͧ"
+ ""
+ ""
+ ""
+ "ء"
+ "ءѡ"
+ "ح"
+ "ح"
+ "خ"
+ "دѧ"
+ "د"
+ "س"
+ "ش"
+ "شѧ"
+ "ش"
+ "ع"
+ "ع"
+ "ع§"
+ "غ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ª"
+ "Χ"
+ ""
+ "ŸԴ"
+ "źص"
+ "ʵ"
+ ""
+ ""
+ "աب"
+ ""
+ "ź"
+ "Һ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ٳ"
+ "ٴ"
+ "ٺ"
+ ""
+ ""
+ "ҡ"
+ ""
+ ""
+ ""
+ ""
+ "ͧ"
+ "͹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ͧ"
+ "͹"
+ ""
+ ""
+ "͡͵ԡ"
+ "ҧ"
+ "ҹ"
+ ""
+ ""
+ ""
+ "ӡ"
+ "Թ"
+ ""
+ ""
+ "͡"
+ "ͺ"
+ "ͻ"
+ "ҫ"
+ "Ҵ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "Ѵ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ͺ"
+ "Ѵ"
+ "ѹ"
+ "ҡ"
+ "ҧ"
+ "Ҵ"
+ "ҹ"
+ "Һ"
+ ""
+ "ɰ"
+ "ع"
+ ""
+ ""
+ "ǹ"
+ ""
+ "Ǵ"
+ "ͧ"
+ ""
+ "ѧ"
+ "Ѻ"
+ ""
+ "Ժ"
+ ""
+ "բѹ"
+ "֧"
+ "ء"
+ "ء"
+ "غ"
+ "غԺ"
+ ""
+ ""
+ "͡"
+ "ͧ"
+ ""
+ "ѡ"
+ "ѹ"
+ "Ѻ"
+ ""
+ "Ҵ"
+ "Һ"
+ ""
+ ""
+ "ԡ"
+ "Ժ"
+ ""
+ ""
+ "ءԡ"
+ "ء"
+ "غ"
+ "غԺ"
+ ""
+ ""
+ ""
+ ""
+ "͹"
+ "͹"
+ ""
+ ""
+ "ä"
+ ""
+ "Ժ"
+ ""
+ "آ"
+ "ѧ"
+ "Ѻ"
+ ""
+ "Ҵ"
+ "Ժ"
+ "ء"
+ "ءѡ"
+ "ءԡ"
+ "غ"
+ ""
+ ""
+ "ǧ"
+ "Ǵ"
+ "ǹ"
+ "Ǻ"
+ ""
+ "ѡ"
+ "ѭ"
+ "Ѵ"
+ "Ѻ"
+ "Ѻ"
+ ""
+ ""
+ "ҡ"
+ "ҧ"
+ "Ҵ"
+ "ҹ"
+ "¢ǹ"
+ "Դ"
+ "ҧ"
+ ""
+ "͡"
+ "ͧ"
+ "ʹ"
+ "͹"
+ "ͺ"
+ "ͺس"
+ "ͺ"
+ ""
+ ""
+ "ѡ"
+ "ء"
+ "ԡ"
+ "ء"
+ ""
+ ""
+ "ѧ"
+ "ѳʡ"
+ "ѳ"
+ "Ѵ"
+ "ѵҹ"
+ "ѹ"
+ "ѹ"
+ "ѹ"
+ "ѹ"
+ "ѹ"
+ "ѹҡ"
+ "ѹⵡ"
+ "Ѻ"
+ ""
+ ""
+ ""
+ ""
+ "ҡ"
+ "ҡ"
+ "ҧ"
+ "Ҵ"
+ "ҹ"
+ "Һ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ԡ"
+ "ԧ"
+ ""
+ ""
+ "մ"
+ "ջظ"
+ ""
+ ""
+ ""
+ "֧"
+ ""
+ ""
+ "鹩"
+ "׹"
+ ""
+ ""
+ "ء"
+ "ش"
+ "ع"
+ "عͧ"
+ "عἹ"
+ ""
+ ""
+ ""
+ "ٴ"
+ ""
+ ""
+ ""
+ "ǹ"
+ ""
+ "͹"
+ ""
+ ""
+ "ҧ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ͧ"
+ "͹"
+ ""
+ ""
+ ""
+ "ҧ"
+ "Ҿ"
+ ""
+ ""
+ ""
+ ""
+ "⾴"
+ "֡"
+ "ǧ"
+ ""
+ "ҧ"
+ "ҹ"
+ ""
+ ""
+ "Ҫ"
+ ""
+ "Ҫҵ"
+ "Ҫվ"
+ "Ҹ"
+ "ó"
+ ""
+ ""
+ ""
+ "Ҩ"
+ "Ҹԡ"
+ "ҸԻ"
+ "ҹѺ"
+ "ԡ"
+ "Ե"
+ "Եʵ"
+ ""
+ ""
+ ""
+ "Ը"
+ "Ծ"
+ ""
+ ""
+ "þ"
+ ""
+ ""
+ ""
+ "ҡ"
+ "Ҥ"
+ "á"
+ "ú"
+ "êԵ"
+ ""
+ ""
+ "ͧ"
+ "ŧ"
+ ""
+ "ǭ"
+ "ѡ"
+ ""
+ ""
+ "͡"
+ "ͧ"
+ "ͧç"
+ "ͺ"
+ "ͺ"
+ ""
+ "Ѵ"
+ "ѹ"
+ "Ѻ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ҡ"
+ "ҧ"
+ "ҭ"
+ "Ҵ"
+ "Һ"
+ ""
+ ""
+ ""
+ ""
+ "ʵ"
+ "ʵѧ"
+ "ʵ"
+ "ʵ"
+ "¹"
+ "պ"
+ ""
+ ""
+ "֡"
+ "֡"
+ "ֹ"
+ ""
+ ""
+ ""
+ "״"
+ "׹"
+ ""
+ ""
+ "鹤֡"
+ ""
+ "ر"
+ ""
+ ""
+ ""
+ ""
+ "ٴ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ҹ"
+ ""
+ ""
+ "ʶ"
+ "ʹ"
+ ""
+ "͡"
+ "ͧ"
+ "ʹ"
+ "͹"
+ "չ"
+ "ÿ"
+ "ÿ"
+ ""
+ "ѡ"
+ "ѧ"
+ "ѵ"
+ "Ѻ"
+ ""
+ ""
+ ""
+ "ҧŧ"
+ "Ҵ"
+ "ҹ"
+ ""
+ ""
+ "Ԥ"
+ ""
+ "Թԡ"
+ ""
+ ""
+ "չԤ"
+ ""
+ "֧"
+ ""
+ "¹"
+ ""
+ "ء"
+ ""
+ ""
+ ""
+ ""
+ "ͧ"
+ "ͧ"
+ ""
+ "ͧ"
+ ""
+ ""
+ ""
+ "ǧ"
+ "Ǻ"
+ ""
+ "ѡ"
+ "ѹ"
+ ""
+ "ҡ"
+ "ҭ"
+ "ҹ"
+ ""
+ ""
+ "ԹԹ"
+ "չ"
+ ""
+ ""
+ "ҧ"
+ "ҹ"
+ "ˡ"
+ "ˡʵ"
+ "˺"
+ "˻ҹ"
+ ""
+ "͡"
+ "ʹ"
+ "͹"
+ "͹յ"
+ "͹ԡ"
+ "͹ഹ"
+ "͹"
+ "͹"
+ "͹ǹ"
+ ""
+ ""
+ "ҹ"
+ "ǹʵ"
+ "ᾤ"
+ "๹"
+ ""
+ ""
+ "ѻ"
+ "ԡ"
+ ""
+ "ê"
+ ""
+ "ʵԡ"
+ "फ´"
+ ""
+ ""
+ "йͧ"
+ "й֧"
+ "й"
+ ""
+ "鹤"
+ ""
+ ""
+ "ṹ"
+ "ѡ"
+ "Ѥ"
+ "Ѥҧ"
+ "Ѥҹ"
+ "ѳٵ"
+ "Ѵ"
+ "ѷ"
+ "ѹ"
+ "ѹ"
+ "ѹç"
+ "Ѻ"
+ "Ҿ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ҧ"
+ "ҧ"
+ "Ҵ"
+ "Ҷ"
+ "ҷԡ"
+ "ҹ"
+ "Һ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ҹ"
+ ""
+ ""
+ ""
+ "͹"
+ "͹͹͡䫴"
+ "͹͡䫴"
+ "ԡ"
+ "๵"
+ ""
+ ""
+ "õ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ӹdz"
+ "ӹѺ"
+ "ӹ֧"
+ "ù"
+ "ú"
+ ""
+ "˧"
+ ""
+ "ԡ"
+ "ԧ"
+ "Դ"
+ "ѹ"
+ ""
+ ""
+ "յ"
+ "չ"
+ "պ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "֡"
+ "֡ѡ"
+ ""
+ "׹"
+ "׺"
+ ""
+ ""
+ "ء"
+ "ء"
+ "س"
+ "س"
+ "سҾ"
+ "سز"
+ "سѾ"
+ "سѵ"
+ "سҡ"
+ "سٻ"
+ "ش"
+ "شҴ"
+ ""
+ ""
+ ""
+ "⳻"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ٳ"
+ "ٹ"
+ "ٻͧ"
+ ""
+ ""
+ ""
+ "๨"
+ "͡"
+ "͹"
+ ""
+ ""
+ ""
+ ""
+ "ҧ"
+ ""
+ ""
+ ""
+ "͹"
+ ""
+ ""
+ "ҧ"
+ "ҧ"
+ "ҧ"
+ "ҹ"
+ ""
+ ""
+ "ҵ"
+ "ҵ"
+ "ҵ"
+ ""
+ "ͧ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ǧ"
+ "Ǵ"
+ "§"
+ ""
+ "͡"
+ "͡᧡"
+ "ʹ"
+ "ʹ᧴"
+ "͹"
+ "͹˧"
+ "ͺ"
+ ""
+ ""
+ ""
+ ""
+ "ѡ"
+ "Ѵ"
+ "ѹ"
+ "Ѻ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ҹ"
+ "Һ"
+ ""
+ ""
+ ""
+ ""
+ "պ"
+ "֡"
+ ""
+ ""
+ "ش"
+ "ع"
+ "غ"
+ "غԺ"
+ ""
+ "蹧ҹ"
+ ""
+ ""
+ ""
+ "Ѵ"
+ "ǧ"
+ "ǹ"
+ "ͧ"
+ "͹"
+ ""
+ ""
+ "ҹ"
+ ""
+ ""
+ ""
+ "ǹ"
+ ""
+ ""
+ "ҧ"
+ ""
+ ""
+ ""
+ ""
+ "Ź"
+ "ҧ"
+ ""
+ ""
+ "ç"
+ "þԸ"
+ "ʴ"
+ ""
+ ""
+ ""
+ "١"
+ ""
+ "èѴ"
+ "ô"
+ ""
+ "ŧ"
+ ""
+ "Ǵ"
+ ""
+ ""
+ ""
+ "Ҩ"
+ "ԧ"
+ "Ե"
+ "¸"
+ "ʵ"
+ "֡"
+ ""
+ "ا"
+ "٭"
+ ""
+ "Źʵ"
+ "Źʵ"
+ "Ҩ"
+ "ǡ"
+ "ǧ"
+ "ǹ"
+ "Ǻ"
+ "ѡ"
+ ""
+ "͡"
+ "ͧ"
+ "ͧͧ"
+ "ʹ"
+ "͹"
+ "ͺ"
+ ""
+ "ᴹ"
+ ""
+ ""
+ "С"
+ "С"
+ ""
+ ""
+ ""
+ "ѡ"
+ "ѡ"
+ "ѡ"
+ "ѡ"
+ "ѡþô"
+ "ѡ"
+ "ѡҹ"
+ "ѡô"
+ "ѡ"
+ "ѡ"
+ "ѡ"
+ "ѡ"
+ "ѧ"
+ "ѧͺ"
+ "ѧ"
+ "ѧѧ"
+ "ѧ"
+ "ѧѴ"
+ "ѧѹ"
+ "ѧ"
+ "ѭ"
+ "ѳ"
+ "ѳ"
+ "Ѵ"
+ "Ѵ"
+ "ѵ"
+ "ѵ"
+ "ѹ"
+ "ѹ"
+ "ѹ"
+ "ѹ"
+ "ѹä"
+ "ѹä"
+ "ѹػҤ"
+ "ѹ"
+ "Ѻ"
+ "Ѻѧ"
+ "Ѻ"
+ ""
+ ""
+ ""
+ "ꡨ"
+ ""
+ ""
+ "ҡ"
+ "ҧ"
+ "Ҵ"
+ "ҵçѹԺҵ"
+ "ҹ"
+ "Һ"
+ "Һ"
+ "Һ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "к"
+ ""
+ "ԡ"
+ ""
+ "յ"
+ "֡"
+ ""
+ ""
+ ""
+ ""
+ "ӡѴ"
+ "ӹ"
+ "ӹ"
+ "ӹè"
+ "ӹè"
+ "ӹǹ"
+ "ӹͧ"
+ "ӹ"
+ "ӻ"
+ "ӻ"
+ "Ӿǡ"
+ ""
+ "٭"
+ "ͧ"
+ "˹"
+ "Ǵ"
+ ""
+ "ԭ"
+ "§"
+ ""
+ "ṡ"
+ "ԡ"
+ "ԧ"
+ "Ե"
+ "Ե"
+ "Եá"
+ "Եá"
+ "ԵŴ"
+ "ԵԷ"
+ "ԵǪ"
+ "Եᾷ"
+ "Թ"
+ "Թ"
+ "Թ"
+ "Թҡ"
+ "ԹҾ"
+ "Ժ"
+ "ԻҶ"
+ ""
+ "駨"
+ "駨͡"
+ "մ"
+ "Ź"
+ ""
+ ""
+ "չ"
+ "չ"
+ "պ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "֧"
+ ""
+ ""
+ "״"
+ ""
+ "ء"
+ "ش"
+ "ص"
+ "ع"
+ "غ"
+ "غԺ"
+ ""
+ "Ե"
+ "Ũ"
+ "Ūվ"
+ "Ūѹ"
+ "ŪԹ"
+ "ŷȹ"
+ "Ҥ"
+ "ä"
+ "ѡҪ"
+ ""
+ "Թ"
+ ""
+ "ŧó"
+ ""
+ ""
+ ""
+ ""
+ "鹨"
+ ""
+ ""
+ "ꡡ"
+ ""
+ "ᨧ"
+ "맨"
+ ""
+ ""
+ "٧"
+ "ٺ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ҧ"
+ ""
+ ""
+ "ǧ"
+ ""
+ "͡"
+ "͡"
+ "ͧ"
+ "͹"
+ ""
+ ""
+ ""
+ "ҧ"
+ "ҹ"
+ ""
+ ""
+ ""
+ "Ө"
+ ""
+ "͡"
+ ""
+ ""
+ "ͧ"
+ ""
+ ""
+ ""
+ ""
+ "è"
+ "ѵ"
+ "Ҩ"
+ "Ҿ"
+ ""
+ ""
+ "ǹ"
+ "ѧ"
+ "ҡ"
+ ""
+ "ѧ"
+ "Ѻ"
+ ""
+ "ǡ"
+ "ѧ"
+ ""
+ ""
+ ""
+ ""
+ "ͧ"
+ ""
+ "ѡ"
+ "ҡ"
+ "Ҵ"
+ ""
+ ""
+ ""
+ ""
+ "ء"
+ ""
+ ""
+ "Ѵ¹"
+ "ҧ"
+ ""
+ "ȡ"
+ "͡"
+ "ʹ"
+ ""
+ ""
+ "Щҹ"
+ "й"
+ "й"
+ "͹"
+ "ѵ"
+ "ѹ"
+ "ѹѡɳ"
+ "ѹ"
+ "ѹ"
+ "ѹҹѵ"
+ "ѹ"
+ "Ѻ"
+ "ҡ"
+ "ҧ"
+ "Ҵ"
+ "ҹ"
+ "Һ"
+ ""
+ ""
+ ""
+ "ө"
+ "Թ"
+ "Ժ"
+ ""
+ ""
+ ""
+ "ա"
+ "մ"
+ ""
+ ""
+ "ء"
+ "ءԹ"
+ "ش"
+ "ع"
+ ""
+ "ٴ"
+ ""
+ "ͧ"
+ ""
+ ""
+ "ҧ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ǹ"
+ ""
+ "ѡ"
+ "Դ"
+ ""
+ ""
+ ""
+ ""
+ "ٹ"
+ "ٹط"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "Ÿ"
+ "Ÿ"
+ "Ź"
+ "Żзҹ"
+ ""
+ ""
+ ""
+ "Ǵ"
+ "ǹ"
+ ""
+ "Ե"
+ ""
+ ""
+ "͡"
+ "͡"
+ "ͧ"
+ "͹"
+ "ͺ"
+ "ͻ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "Чѡ"
+ "ЧѴ"
+ "Ч"
+ "Ч͹"
+ "Ч"
+ "е"
+ "й"
+ ""
+ "Ѵ"
+ ""
+ ""
+ ""
+ "ٴ"
+ ""
+ ""
+ ""
+ ""
+ "ŧ"
+ "⧡"
+ ""
+ "ѡ"
+ "ѧ"
+ "Ѫ"
+ "ѯ"
+ "Ѵ"
+ "ѹ"
+ "ѹе"
+ "ѹ"
+ "ѹٵ"
+ ""
+ "¾ġ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ҭ"
+ "Ҵ"
+ "Ҵ"
+ "ҵ"
+ "ҵ"
+ "ҵ"
+ "ҹ"
+ "ҹ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ӹѭ"
+ "ӹҭ"
+ "ӹ"
+ ""
+ "ش"
+ ""
+ "¹"
+ ""
+ ""
+ "ͧ"
+ ""
+ ""
+ "Ԥ"
+ "ԧ"
+ "ԧ"
+ "Դ"
+ "Թ"
+ "Ի"
+ "Ծ"
+ ""
+ "ỹ"
+ ""
+ ""
+ ""
+ ""
+ "ջТ"
+ "վ"
+ "վԵѡ"
+ "ǻѵ"
+ "Է"
+ "ҵ"
+ ""
+ "Ե"
+ "Եѡ"
+ "Թ"
+ ""
+ ""
+ ""
+ "״"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ء"
+ "ش"
+ "ع"
+ "غ"
+ ""
+ ""
+ ""
+ "ع"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ŷ"
+ ""
+ ""
+ "͡ŵ"
+ "͡ŵ"
+ "ǧ"
+ ""
+ ""
+ "ͧ"
+ "͹"
+ "ҧ"
+ ""
+ "Ӫͧ"
+ "ͧ"
+ "͹"
+ ""
+ ""
+ "ҧ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "Ǵ"
+ "ǹ"
+ ""
+ ""
+ "͡"
+ "ͧ"
+ "͹"
+ "Ϳ"
+ "Ϳ"
+ "Ϳ"
+ ""
+ ""
+ ""
+ "ѡ"
+ "ѧ"
+ "Ѵ"
+ "ѹ"
+ "ѹҤ"
+ "Ѻ"
+ "Ѿ"
+ "ſ"
+ ""
+ "ҡ"
+ "ҡ"
+ "ҧ"
+ "ҹ"
+ "Һ"
+ "Һҹ"
+ ""
+ ""
+ ""
+ "Ǵ"
+ ""
+ "ԡ"
+ "ԡ"
+ "ԡ"
+ "Թ"
+ "Ժ"
+ "Ի"
+ "Կ"
+ "Ԥ͹"
+ ""
+ ""
+ ""
+ "ա"
+ "մ"
+ "մ"
+ "չ͹"
+ "͡"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "֧"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ء"
+ "ا"
+ "ع"
+ "غ"
+ "ػ"
+ ""
+ ""
+ ""
+ ""
+ "٪"
+ "ٴҴ"
+ "ٴҹ"
+ "ٺ"
+ ""
+ ""
+ ""
+ ""
+ "ͧ"
+ "͹"
+ ""
+ ""
+ "ҹ"
+ ""
+ ""
+ "ͧ"
+ "͹"
+ ""
+ ""
+ ""
+ "ҹ"
+ "һԨ"
+ "һʶҹ"
+ "ǹ"
+ "ѵ"
+ "ҳ"
+ "ҵ"
+ ""
+ "ҹ"
+ "ҹ"
+ "ҹѹ"
+ "һ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ê"
+ "ҿ"
+ "س"
+ "س"
+ ""
+ "ǧ"
+ "Ǵ"
+ ""
+ "͡"
+ "͡"
+ "͡"
+ "ͧ"
+ "ʹ"
+ "͹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ѡ"
+ "ѡҹ"
+ "ѡ"
+ "ѧ"
+ "Ѫ"
+ "Ѵ"
+ "ѵ"
+ "ѹ"
+ "Ѻ"
+ "Ѻ"
+ ""
+ "ʡ"
+ ""
+ ""
+ ""
+ ""
+ "ҡ"
+ "Ҵ"
+ "ҵ"
+ "ҹ"
+ "Һ"
+ "Һ"
+ ""
+ ""
+ ""
+ "ó"
+ "ô"
+ ""
+ ""
+ ""
+ "Ѵ"
+ ""
+ "Ǵ֧"
+ "ǹŴ"
+ "⨹"
+ ""
+ "ɴ"
+ ""
+ "ç"
+ ""
+ ""
+ "ɳ"
+ "ԧ"
+ "Թ"
+ "ᤧ"
+ ""
+ "ԡ"
+ "ԨԵ"
+ "ԩѹ"
+ "Զ"
+ "Թ"
+ "Ժ"
+ "Ѩҹ"
+ "š"
+ "Ԫ"
+ "ʹ"
+ "ࡵ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ա"
+ "մ"
+ "մշ"
+ "պء"
+ "մ"
+ ""
+ "ʪ"
+ "䫹"
+ ""
+ "֡"
+ "֡Ӻþ"
+ "֧"
+ "֧"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ء"
+ "ب"
+ "ش"
+ "ع"
+ "غ"
+ ""
+ "ç"
+ "ҧʵ"
+ "ҧŻ"
+ "ҧ"
+ ""
+ "žԹԨ"
+ "Ҥ"
+ "¾ԹԨ"
+ "Ҿ"
+ "ɮ"
+ "ɳ"
+ "Ե"
+ "Ե"
+ ""
+ ""
+ ""
+ ""
+ "駴"
+ ""
+ ""
+ "١"
+ "ٴ"
+ ""
+ "ǹ"
+ "͹"
+ ""
+ ""
+ "ҧ"
+ "ҹ"
+ ""
+ ""
+ ""
+ ""
+ "ǧ"
+ "ǹ"
+ ""
+ ""
+ ""
+ "ҹ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ŧ"
+ ""
+ "Թ"
+ "Դ"
+ ""
+ "Ҥ"
+ ""
+ ""
+ ""
+ ""
+ "ç"
+ ""
+ ""
+ "áԷ"
+ "áʵ"
+ "á"
+ "Ǩ"
+ "ǹ"
+ "͡"
+ "ͧ"
+ ""
+ ""
+ ""
+ "С"
+ "˧ҹ"
+ "˹"
+ "˹ѡ"
+ "˹"
+ "ǹ"
+ "ѧ"
+ "Ѻ"
+ ""
+ ""
+ ""
+ "ҡ"
+ "Һ"
+ "ѧ"
+ ""
+ ""
+ ""
+ ""
+ "⡳"
+ "֡"
+ "֧"
+ ""
+ ""
+ ""
+ ""
+ "ij"
+ "š"
+ "ź"
+ "ʹ"
+ "Ѻ"
+ "Ҵ"
+ ""
+ "ǧ"
+ "Ѵ"
+ "Ҵ"
+ ""
+ "͡"
+ "ͧ"
+ "ʹ"
+ "͹"
+ "ͺ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "Сѹ"
+ "Сش"
+ "С"
+ "С"
+ "С"
+ "С"
+ "С"
+ "С͹"
+ "Сѧ"
+ "С"
+ "СءСѡ"
+ "Т"
+ "ТҺ"
+ "ТԴТǧ"
+ "Ф"
+ "Фغ"
+ "Ф͡"
+ "й"
+ "кͧ"
+ "к"
+ "кѹ"
+ "лл"
+ "оҺ"
+ "оִ"
+ "оִо"
+ "о"
+ "յҹ"
+ "֧"
+ "ا"
+ "͹"
+ "ء"
+ ""
+ "ѹ"
+ ""
+ "¡С"
+ "§"
+ "º"
+ ""
+ "¹"
+ ""
+ ""
+ "Դ"
+ ""
+ "¹"
+ ""
+ "ŧ"
+ "ç"
+ "ᤧ"
+ "ầ"
+ ""
+ "⡡"
+ "⡹"
+ ""
+ "⢧"
+ ""
+ "⾡"
+ "˧"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ѡ"
+ "ѡ"
+ "ѧ"
+ "ѧ"
+ "ѧ"
+ "ѧ"
+ "ѧ"
+ "ѳ"
+ "Ѵ"
+ "ѴԹ"
+ "ѹ"
+ "ѹ§"
+ "Ѻ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ᵹ"
+ ""
+ ""
+ "ҡ"
+ "Ҵ"
+ "ҹ"
+ "ҹ"
+ "Һ"
+ ""
+ ""
+ ""
+ "Żѵ"
+ ""
+ "ӹҹ"
+ "Ӻ"
+ "Ǩ"
+ "Ѻ"
+ ""
+ "֧"
+ "˹ѡ"
+ "˹"
+ ""
+ "˹"
+ ""
+ "ԡѧ"
+ "ԧ"
+ "Գ"
+ "Դ"
+ "Ѩҹ"
+ "š"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "չ"
+ "պ"
+ ""
+ ""
+ ""
+ "֡"
+ "֧"
+ "ִ"
+ ""
+ "页"
+ "괵"
+ "״"
+ "ǹ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ءԡ"
+ "ا"
+ "ع"
+ "ع˧ѹ"
+ "غ"
+ "á"
+ ""
+ "ҡ"
+ "Ҥ"
+ "Ѵ"
+ ""
+ ""
+ ""
+ "駡"
+ "駵"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "꡵"
+ ""
+ ""
+ ""
+ "꺻ͧ"
+ ""
+ ""
+ ""
+ "µ"
+ ""
+ "١"
+ "ٴ"
+ "ٺ"
+ ""
+ ""
+ ""
+ "ǹ"
+ ""
+ "ͧ"
+ ""
+ ""
+ "ҧ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ͧ"
+ "ͧ"
+ "͹"
+ ""
+ "µ"
+ "µԴ"
+ "ҹ"
+ "͡"
+ "͡"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "Ѵ"
+ "Ѵ"
+ ""
+ ""
+ "֧֧"
+ "š"
+ "Ź"
+ "͡"
+ "ѹ"
+ ""
+ "ҡ"
+ ""
+ "ն"
+ "֧"
+ "ا"
+ "ع"
+ ""
+ ""
+ ""
+ ""
+ "͡"
+ "ͧ"
+ "ʹ"
+ "͹"
+ ""
+ ""
+ "ѡ"
+ "ѧ"
+ "Ѵ"
+ "ѹ"
+ ""
+ ""
+ ""
+ "ҡ"
+ "ҧ"
+ "Ҵ"
+ "ҹ"
+ ""
+ ""
+ ""
+ "պ"
+ ""
+ "֡"
+ "֧"
+ ""
+ "ا"
+ "ع"
+ ""
+ ""
+ "١"
+ ""
+ "ǧ"
+ ""
+ "ͧ"
+ ""
+ ""
+ "ҧ"
+ "ҹ"
+ ""
+ "ǹ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ǹ"
+ "ǧ"
+ ""
+ ""
+ "á"
+ "ç"
+ "ê"
+ "êҵ"
+ "þ"
+ "þ"
+ "ҹ"
+ ""
+ "ؤ"
+ "û"
+ "ȹ"
+ "Ҫ"
+ "ѡɳ"
+ "ǧ"
+ "Ǵç"
+ "˴"
+ "Ѿҡ"
+ "Ѿ"
+ "ѾԹ"
+ ""
+ "ҹ"
+ "Һ"
+ ""
+ ""
+ "ش"
+ "ɮ"
+ ""
+ "ǧ"
+ "Ǵ"
+ "ǹ"
+ ""
+ "ҷ"
+ ""
+ ""
+ ""
+ ""
+ "ոɡ"
+ "ջ"
+ ""
+ ""
+ "ȹ"
+ ""
+ ""
+ "͡"
+ "ͧ"
+ "ͧ"
+ "ͧҧ"
+ "ʹ"
+ "͹"
+ "͹"
+ "Ϳ"
+ ""
+ ""
+ "й"
+ "йҹ"
+ "й"
+ "Ѵ"
+ "ֹ"
+ ""
+ "ҹ"
+ "ǧ"
+ "ѡ"
+ ""
+ ""
+ ""
+ ""
+ "¹"
+ "ͷҹ"
+ ""
+ ""
+ "ͷ"
+ ""
+ ""
+ "ѡ"
+ "ѡԭ"
+ "ѡԳ"
+ "ѡԳѯ"
+ "ѡ"
+ "ѡ"
+ "ѡԳ"
+ "ѡԳ"
+ "ѡԳõ"
+ "ѡ⳷"
+ "ѧ൹"
+ "ѳ"
+ "ѳҵ"
+ "ѳʶҹ"
+ "ѳ"
+ "Ѵ"
+ "ѹ"
+ "ѹᾷ"
+ "ѹ"
+ "ѹ"
+ "Ѻ"
+ "Ѻԧ"
+ "Ѿ"
+ "Ѿ"
+ "ȹ"
+ "ȹ"
+ "ȹ֡"
+ "ȹ"
+ "ȹ"
+ "ȹҨ"
+ "ȹҾ"
+ "ȹ"
+ "ȹٻó"
+ "ȹ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ҡ"
+ "ҧ"
+ "ҹ"
+ "Һ"
+ ""
+ ""
+ "Ҵ"
+ "ҷ"
+ "á"
+ "ԡ"
+ "س"
+ "ҹ"
+ ""
+ ""
+ "ӹ"
+ "ӹͧ"
+ "ӹ"
+ "ӹ"
+ ""
+ ""
+ "º"
+ ""
+ ""
+ "Ԥ"
+ "Ԧ"
+ "ԧ"
+ "԰"
+ "Դ"
+ "Ծ¨ѡ"
+ "Ծ­ҳ"
+ "Ծ"
+ "Ծ๵"
+ "Ծ"
+ "Ծҡ"
+ ""
+ ""
+ "ǧ"
+ "Ƿȹ"
+ ""
+ ""
+ ""
+ "ҹط"
+ "ີ"
+ ""
+ ""
+ ""
+ "զҵ"
+ ""
+ "͹"
+ ""
+ "Թ"
+ "֡"
+ "ֹ֡"
+ "ֺ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ء"
+ "ء"
+ "ء"
+ "ءǷ"
+ "ء"
+ "ءá"
+ "ؤ"
+ "بԵ"
+ "ش"
+ "ع"
+ "غ"
+ "ؾ"
+ "ؾԡ"
+ ""
+ "áѹ"
+ "ê"
+ "êҵ"
+ "ù"
+ "þ"
+ "ѡ"
+ ""
+ ""
+ "¹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ٵ"
+ "ٵҹطٵ"
+ "ٹ"
+ "ٺ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "§"
+ ""
+ "ǧӹͧ"
+ "ǧ"
+ "ǧ"
+ ""
+ ""
+ "ͧ"
+ "͹"
+ ""
+ ""
+ "ҹ"
+ "ҧ"
+ ""
+ "ǧ"
+ "ǹ"
+ ""
+ ""
+ "ͧ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ѵ"
+ ""
+ "ѵ"
+ ""
+ "Ҥ"
+ "ҳѵ"
+ "ѡ"
+ ""
+ ""
+ ""
+ "ó"
+ ""
+ ""
+ "ҵ"
+ ""
+ "ʵ"
+ ""
+ "и"
+ "ҷԵ"
+ "Ҹ"
+ "ҸԻ"
+ "Ҹɰҹ"
+ "ҹҹ"
+ "آ"
+ ""
+ "µ"
+ ""
+ "ʹ"
+ "ԡ"
+ "Ҹ"
+ "Ҹ"
+ "ҸԺ"
+ "ҸԻ"
+ "ѭ"
+ "ѭ"
+ "ѭת"
+ "ѹҤ"
+ ""
+ "ҵ"
+ "ҹ"
+ ""
+ ""
+ "ç"
+ "ç"
+ "Դ"
+ "ີ"
+ "ش"
+ "á"
+ "á"
+ "áԨ"
+ ""
+ ""
+ "Ǵ"
+ "Ҥ"
+ ""
+ "ٻ"
+ ""
+ ""
+ "Ҫ"
+ "Թ"
+ ""
+ "ҭ"
+ "ت"
+ "Ч"
+ ""
+ ""
+ "ѡɳ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ȡ"
+ ""
+ ""
+ ""
+ ""
+ "ʡ"
+ "á"
+ "ԧ"
+ "Ǫ"
+ "ᾷ"
+ "ĤԵ"
+ "Ĺҷ"
+ ""
+ "Ե"
+ "ү"
+ "Թ"
+ "Ǵ"
+ "ǹ"
+ ""
+ ""
+ ""
+ ""
+ "ͧ"
+ ""
+ "͡"
+ "ͧ"
+ "͵"
+ "͹"
+ "ͺ"
+ ""
+ ""
+ ""
+ "ѡ"
+ "ѡѵ"
+ "ѡ֡"
+ "ѡѵ"
+ "ѡ¹"
+ "ѧ"
+ "Ѵ"
+ "Ѵ"
+ "ѵ"
+ "ѹҡ"
+ "Ѻ"
+ ""
+ "¹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ҡ"
+ "Ҥ"
+ "Ҥ"
+ "ҤҪ"
+ "Ҥ"
+ "ҧ"
+ "ҧ"
+ "ҧ"
+ "ҫ"
+ "ү"
+ "Ҵ"
+ "Ҷ"
+ "ҷ"
+ "ҷ"
+ "ҹ"
+ "ҹѻ"
+ "ҹ"
+ "Һ"
+ ""
+ ""
+ ""
+ "ʡ"
+ "ҹء"
+ ""
+ ""
+ "¡"
+ "³"
+ ""
+ ""
+ "ԡ"
+ "Թ"
+ ""
+ "ԡ"
+ "ԡ"
+ ""
+ ""
+ ""
+ ""
+ "ԡ"
+ "ԡ´"
+ "ԡ"
+ "ԡ"
+ "Ԥ"
+ "Ԥù"
+ "ԤԵ"
+ "Ԩ"
+ "Դ"
+ "Ե"
+ "Ե"
+ "Ե"
+ "Է"
+ "Է"
+ "Էȹ"
+ "Էҹ"
+ "Թ"
+ "Ժҵ"
+ "Ծ"
+ "Ծҹ"
+ ""
+ "ҹ"
+ "ҹô"
+ "Ե"
+ ""
+ ""
+ ""
+ "÷ء"
+ "ù"
+ ""
+ ""
+ "Ե"
+ "ѹ"
+ ""
+ ""
+ ""
+ "غ"
+ "ǡԹ"
+ "Ǥԡ"
+ "ǫŹ"
+ "ǵ͹"
+ ""
+ "ó"
+ "ѵ"
+ "ѵ"
+ "ҵ"
+ ""
+ ""
+ ""
+ ""
+ "Ե"
+ ""
+ ""
+ "ȹ"
+ "⤵Թ"
+ "ø"
+ "ź"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "͹"
+ "ʹ"
+ ""
+ ""
+ "֡"
+ ""
+ "ا"
+ "ت"
+ ""
+ ""
+ ""
+ ""
+ "ٹ"
+ ""
+ ""
+ ""
+ "º"
+ "ô"
+ ""
+ "ͧ"
+ ""
+ "ҹ"
+ "ͧ"
+ ""
+ ""
+ "˹"
+ "˹"
+ ""
+ ""
+ ""
+ "ѹ"
+ "Թ"
+ ""
+ "ͧ"
+ ""
+ ""
+ ""
+ "Թപ"
+ "Թ"
+ ""
+ ""
+ ""
+ "Ե"
+ "Ը"
+ ""
+ "ѵ"
+ ""
+ "è"
+ "èó"
+ "è"
+ "èǺ"
+ "è"
+ "ó"
+ "óҡ"
+ "óҤ"
+ "óҸԡ"
+ "óҹء"
+ "óѡʵ"
+ "óѡ"
+ "ô"
+ "÷"
+ "÷Ѵ"
+ "÷ء"
+ "þ"
+ "þ"
+ "þԵ"
+ "þ"
+ "þ"
+ "§"
+ "§"
+ "ҡ"
+ ""
+ ""
+ ""
+ "ѷ"
+ ""
+ "Դ"
+ ""
+ "ŧ"
+ ""
+ "蹴"
+ ""
+ ""
+ "ԡ"
+ "ԡ"
+ "Ԣ"
+ "Ԥ"
+ "ԨҤ"
+ "Ԩá"
+ "Ԩԡ"
+ "Ժ"
+ "Ժó"
+ "Ծѵ"
+ "Ծ"
+ "ѳ"
+ ""
+ "ѡ"
+ "Ҫ"
+ ""
+ "ѷ"
+ "ط"
+ ""
+ "੷"
+ "൹"
+ "dz"
+ ""
+ "͡"
+ "ǡ"
+ "ǧ"
+ "Ǫ"
+ "ǹ"
+ "Ǻ"
+ ""
+ ""
+ ""
+ "͡"
+ "ʹ"
+ "ʹ"
+ "͹"
+ "ͺ"
+ ""
+ ""
+ ""
+ ""
+ "ٹ"
+ ""
+ "ѡ"
+ "Ѥ"
+ "ѧ"
+ "ѧ"
+ "ѧ"
+ "ѧ"
+ "ѧѺ"
+ "ѧء"
+ "ѧ"
+ "ѧҨ"
+ "ѧԴ"
+ "ѧ¹"
+ "ѧԭ"
+ "ѭ"
+ "ѭ"
+ "ѭ"
+ "ѭѵ"
+ "ѳԵ"
+ "ѳԵ"
+ "ѳ"
+ "ѳ"
+ "ѳ"
+ "ѳ"
+ "ѳ"
+ "ѳС"
+ "ѳ"
+ "Ѵ"
+ "Ѵ"
+ "Ѵ"
+ "Ѵ"
+ "ѵ"
+ "ѹ"
+ "ѹ"
+ "ѹ֡"
+ "ѹкѹѧ"
+ "ѹ"
+ "ѹԧ"
+ "ѹ"
+ "ѻ"
+ "Ѿ"
+ "š"
+ "ѧ"
+ "ٹ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ҡ"
+ "ҧ"
+ "Ҵ"
+ "Ҵѡ"
+ "Ҵ"
+ "ҵ"
+ "ҵ"
+ "ҷ"
+ "ҷ"
+ "ҷǧ"
+ "ҷҸ֡"
+ "ҷء"
+ "ҹ"
+ "ҹ"
+ "ҹ"
+ "ҹ"
+ "ҹ"
+ "ҹ"
+ "һ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ȡ"
+ "ࡵ"
+ ""
+ "ӹҭ"
+ "ӺѴ"
+ "Һ"
+ ""
+ "ا"
+ ""
+ ""
+ ""
+ "˹"
+ ""
+ "԰"
+ "Գҵ"
+ "Դ"
+ "Դ"
+ "Դ"
+ "Դ"
+ "Ե"
+ "Թ"
+ ""
+ "´"
+ ""
+ "ձ"
+ "չ"
+ "պ"
+ ""
+ "֡"
+ "ֹ֡"
+ "֧"
+ ""
+ ""
+ ""
+ "ء"
+ "ءء"
+ "ءɡ"
+ "ؤ"
+ "ؤҡ"
+ "ؤҸɰҹ"
+ "ؤԡ"
+ "ؤԡҾ"
+ "ح"
+ "حҹҾ"
+ "حԹ"
+ "سԡ"
+ "س"
+ "ص"
+ "ص"
+ "ص"
+ "غ"
+ "ػҵ"
+ "ؾ"
+ "ؾ"
+ "ؾԨ"
+ "ؾҵ"
+ "ؾѡԳ"
+ "ؾԵ"
+ "ؾ"
+ "ؾҨ"
+ "ؾѹ"
+ "ؿ"
+ "þ"
+ "þ"
+ "þҨ"
+ "ҳ"
+ ""
+ ""
+ "Է"
+ ""
+ ""
+ "ɡ"
+ "ɺ"
+ "ɺ"
+ ""
+ "Ҥ"
+ "˧ѹ"
+ "˧"
+ "ç"
+ ""
+ "ѹ"
+ "÷"
+ ""
+ ""
+ ""
+ ""
+ "٪"
+ "٪ѭ"
+ "ٴ"
+ "ٵ"
+ "óҾ"
+ "ó"
+ "þ"
+ "þҨ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ǧ"
+ ""
+ "ͧ"
+ "͹"
+ ""
+ ""
+ "ҧ"
+ ""
+ ""
+ "ǹ"
+ "ͧ"
+ "ͧ"
+ ""
+ ""
+ "ҧ"
+ "ҹ"
+ ""
+ ""
+ ""
+ "ͧ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ͧ"
+ ""
+ "ó"
+ ""
+ "Գ"
+ "ѡ"
+ "ԡó"
+ "ԡ"
+ "ԡ"
+ "ԡ"
+ "Ԥ"
+ "Ԫǹ"
+ "ԭ"
+ "ԭҳ"
+ "ԷԹ"
+ "Ժ"
+ "Ժѵ"
+ "Ի"
+ "Իѡ"
+ "Ծѷ"
+ "Ծҡ"
+ "Ҥ"
+ "ҳ"
+ ""
+ "ҡ"
+ "ط"
+ "ٻ"
+ "ѵ"
+ "ҵ"
+ "ҷ"
+ "ʹ"
+ "ѧó"
+ "ѹ"
+ "ѹ"
+ "Ǹ"
+ "ʸ"
+ ""
+ ""
+ ""
+ "ȹ"
+ ""
+ "Һ"
+ "ġ"
+ ""
+ "ȹ"
+ ""
+ "Ըҹ"
+ ""
+ ""
+ "ҹء"
+ ""
+ "ҹ"
+ ""
+ "Ѵ"
+ ""
+ ""
+ ""
+ "á"
+ "á"
+ "ç"
+ "ù"
+ "ùԺѵ"
+ "ù"
+ "ú"
+ "ûѡ"
+ "ѵ"
+ "Ҩ"
+ "ҳ"
+ "ɡ"
+ ""
+ "Ǵ"
+ "ǹ"
+ "ҷ"
+ "Ե"
+ "ͧͧ"
+ "ʹ"
+ "ͷ"
+ ""
+ ""
+ "С"
+ "СǴ"
+ "Сͺ"
+ "Сѹ"
+ "СѺ"
+ "С"
+ "С"
+ "С"
+ "Сȹºѵ"
+ "СԵ"
+ "СԴ"
+ "Ф"
+ "Ф˧"
+ "Фͧ"
+ "Ф"
+ "Ш"
+ "ШǺ"
+ "Шѡ"
+ "Шѭ"
+ "Шѹ"
+ "ШҤ"
+ "Шҹ"
+ "Ш"
+ "Ш"
+ "Ш"
+ "Шͻ"
+ "Ъ"
+ "Ъ"
+ "Ъѹ"
+ "Ъ"
+ "ЪҪ"
+ "ЪҸԻѵ"
+ "ЪҸԻ"
+ "ЪԺ"
+ "ЪԴ"
+ "Ъ"
+ "г"
+ "г"
+ "г"
+ "гԸҹ"
+ "гԸ"
+ "гյ"
+ "д"
+ "дǹ"
+ "д͹"
+ "дѡԴ"
+ "дѧ"
+ "дѺ"
+ "д"
+ "дһ"
+ "д"
+ "дԴд"
+ "дԷԹ"
+ "дɰҹ"
+ "дɰ"
+ "дا"
+ "дب"
+ "д"
+ "е"
+ "ж"
+ "зǹ"
+ "зѡ"
+ "зѧ"
+ "зѴ"
+ "зѺ"
+ "зҹ"
+ "зԹ"
+ "з"
+ "зջ"
+ "зع"
+ "з"
+ "з"
+ "зǧ"
+ "иҹ"
+ "иҹҸԺ"
+ "й"
+ "й"
+ "йջй"
+ "л"
+ "л"
+ "оĵ"
+ "оĸ"
+ "оѷ"
+ "оѹ"
+ "оҵ"
+ "о"
+ "о"
+ "оԳ"
+ "оط"
+ ""
+ ""
+ "Ҥ"
+ "Ҿ"
+ ""
+ ""
+ "ǭ"
+ ""
+ "ҳ"
+ "ҷ"
+ "آ"
+ "ط"
+ ""
+ "ء"
+ "ط"
+ ""
+ ""
+ "ͧ"
+ ""
+ "ҵ"
+ "õ"
+ "õ"
+ "ѵ"
+ "ѵԡó"
+ "ѵʵ"
+ "ҵ"
+ ""
+ ""
+ "ԧ"
+ "Ԫ"
+ "Ե"
+ "ճ"
+ ""
+ "ʹ"
+ "ʡ"
+ "ʧ"
+ "ʺ"
+ "ʺó"
+ "ʾ"
+ ""
+ "ҷ"
+ "ҹ"
+ "ԷԼ"
+ "ԷҾ"
+ "Է"
+ "ٵ"
+ ""
+ "Ѵ"
+ "Ҵ"
+ ""
+ ""
+ ""
+ "ह"
+ "ਡ"
+ "Դ"
+ "´"
+ ""
+ ""
+ "§"
+ ""
+ "ǻд"
+ ""
+ ""
+ "Ҫ"
+ ""
+ "ͧ"
+ "ླ"
+ ""
+ "Թ"
+ "dz"
+ ""
+ "ȹ"
+ "԰"
+ "ᡡ"
+ ""
+ ""
+ "¤"
+ "ª"
+ ""
+ "ѡ"
+ "ѧ"
+ "Ѫ"
+ "ѵصѹ"
+ "ѵغѹ"
+ "ѹ"
+ "Ѻ"
+ ""
+ "ȹ"
+ ""
+ "ҡ"
+ "ҡ"
+ "ҡ"
+ "Ҥ"
+ "ҧ"
+ "ҧ"
+ "Ҩչ"
+ "Ҫ"
+ "Ҫ"
+ "Ҫ"
+ "ҪԵ"
+ "ҳ"
+ "ҳ"
+ "Ҵ"
+ "ҹ"
+ "Һ"
+ "Һɡ"
+ "һ"
+ ""
+ ""
+ ""
+ ""
+ "ö"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ɳ"
+ "ҳ"
+ "ҷ"
+ ""
+ ""
+ ""
+ ""
+ "ԡ"
+ "Ԥ"
+ "ԨҤ"
+ "Ԩԡ"
+ "ԫ"
+ "ԭ"
+ "Գ"
+ "Գ¡"
+ "Ե"
+ "Ե"
+ "Ե"
+ "Էȹ"
+ "Էȹ"
+ "Թ"
+ "Թ"
+ "ԹԾҹ"
+ "Ժ"
+ ""
+ "ѷ"
+ "ҳ"
+ "ҵ"
+ "ѵ"
+ ""
+ "õ"
+ ""
+ "ȹ"
+ "੷"
+ ""
+ "ժ"
+ "մ"
+ "մ"
+ ""
+ ""
+ ""
+ "֡"
+ ""
+ ""
+ ""
+ "ا"
+ "ٴ"
+ "괻Ҵ"
+ ""
+ ""
+ "š"
+ ""
+ ""
+ "Ĩ"
+ "ɮҧ"
+ "š"
+ "ŧ"
+ "Ŵ"
+ "ǡ"
+ "͡"
+ "ʹ"
+ "ʹ"
+ "ͺ"
+ ""
+ ""
+ "ѡ"
+ "Ѵ"
+ ""
+ ""
+ "Թ"
+ ""
+ "ҵ"
+ "Һ"
+ ""
+ ""
+ "ʹҡ"
+ ""
+ "ԧ"
+ "Դ"
+ ""
+ "⾸"
+ ""
+ ""
+ ""
+ "ա"
+ ""
+ "ء"
+ "١"
+ ""
+ "ͧ"
+ ""
+ ""
+ "ͧ"
+ "͹"
+ ""
+ "ǡ¡"
+ "ǧ"
+ "Ǵ"
+ "ó"
+ ""
+ ""
+ "͡"
+ "ͧ"
+ "ʹ"
+ "͹"
+ "͹"
+ "ͺ"
+ ""
+ ""
+ ""
+ ""
+ "С"
+ "Сѧ"
+ "Т"
+ "з"
+ "з"
+ "˧Ѻ"
+ ""
+ ""
+ "ŧ"
+ "ѡ"
+ "ѡ"
+ "ѡ"
+ "ѡҹ"
+ "ѡԳ"
+ "ѡԹ"
+ "ѡ"
+ "ѡ"
+ "ѡ"
+ "ѧ"
+ "ѧء"
+ "Ѩѹ"
+ "Ѩѹ"
+ "Ѩѹ"
+ "Ѩѹ"
+ "Ѩ"
+ "ѨԵ"
+ "Ѩغѹ"
+ "Ѩ"
+ "Ѩ"
+ "Ѩ"
+ "Ѩਡ"
+ "ѭѤ"
+ "ѭ"
+ "ѭ"
+ "Ѵ"
+ "ѵҹ"
+ "ѵ"
+ "ѷ"
+ "ѹ"
+ "Ѻ"
+ "ѻ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ҡ"
+ "ҡ"
+ "ҡʶҹ"
+ "ҧ"
+ "ү"
+ "Ұ"
+ "Ұ"
+ "ҳҵԺҵ"
+ "Ҵ"
+ "ҵ"
+ "ҷѧ"
+ "ҷͧ"
+ "ҹ"
+ "һ"
+ ""
+ ""
+ "Ҫԡ"
+ "ԩѵ"
+ "Ԫҵ"
+ ""
+ "ࡵ"
+ ""
+ ""
+ ""
+ "˹ѹ"
+ ""
+ ""
+ ""
+ "ԡԡ"
+ "ԧͧ"
+ "Ԯ"
+ "Դ"
+ "Ե"
+ "Ե"
+ "Ե"
+ "Եئҵ"
+ "Ե"
+ "Ե"
+ "Ե"
+ ""
+ "Ҩ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ա"
+ "չ"
+ "պ"
+ ""
+ "Ҩ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "֡"
+ "֧"
+ ""
+ ""
+ ""
+ "׹"
+ ""
+ ""
+ ""
+ "ء"
+ "ب"
+ "ش"
+ "ضت"
+ "غ"
+ ""
+ "Ե"
+ ""
+ "駡"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "٪ºؤ"
+ "٪ѵ"
+ "ٴ"
+ "ٹ"
+ ""
+ ""
+ ""
+ "dz"
+ ""
+ "ǧ"
+ "ǹ"
+ ""
+ "ͧ"
+ ""
+ "ҹ"
+ ""
+ ""
+ "ǹ"
+ "ǹ¹"
+ ""
+ "ͧ"
+ "ͧѹ"
+ "͹"
+ ""
+ ""
+ ""
+ ""
+ "ҧ"
+ "ҹ"
+ "Һ"
+ ""
+ ""
+ "͡"
+ "Һ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "Ҵ"
+ ""
+ ""
+ ""
+ "ا"
+ "ǡ"
+ "Ǫ"
+ "ѧ"
+ "֡"
+ ""
+ "ͺ"
+ "ͧ"
+ "ҷ"
+ ""
+ ""
+ "ѡ"
+ "Ѵ"
+ ""
+ "ҭ"
+ "ҹʧ"
+ "Ҽ"
+ ""
+ ""
+ "Ե"
+ "Եѳ"
+ "ռ"
+ "֡"
+ ""
+ ""
+ "ا"
+ "ش"
+ "ع"
+ "غ"
+ ""
+ ""
+ ""
+ "ǹ"
+ ""
+ ""
+ ""
+ "ҹ"
+ ""
+ "͡"
+ "ͧ"
+ "ʹ"
+ "ͺ"
+ ""
+ "Ǵ"
+ "ٹ"
+ ""
+ "ѡ"
+ "ѧ"
+ "Ѵ"
+ "ѹ"
+ "ѹǹ"
+ "Ѻ"
+ ""
+ ""
+ ""
+ "ҡ"
+ "ҧ"
+ "ҳԵ"
+ "Ҵ"
+ ""
+ ""
+ "ԧ"
+ "Դ"
+ "Թ"
+ ""
+ ""
+ "֧"
+ ""
+ ""
+ "׹"
+ ""
+ ""
+ "ش"
+ "¼"
+ "١"
+ ""
+ ""
+ "ͧ"
+ "͹"
+ ""
+ ""
+ "ҹ"
+ "¼"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ѡ"
+ "ѧ"
+ "Ѵ"
+ "ѹ"
+ ""
+ ""
+ "ҡ"
+ "ҧ"
+ "Ҵ"
+ "ҹ"
+ ""
+ ""
+ ""
+ "֡"
+ "״"
+ "׹"
+ ""
+ "٧"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "Ǵ"
+ ""
+ ""
+ "ҹء"
+ "ö"
+ ""
+ ""
+ "ҹ"
+ ""
+ ""
+ ""
+ "Ԫ"
+ "Ԫ"
+ ""
+ ""
+ ""
+ "ѡ"
+ "ѡҹ"
+ "ѧ"
+ "ѹ"
+ ""
+ ""
+ "Ҵ"
+ ""
+ ""
+ "Դ"
+ ""
+ ""
+ "¹"
+ ""
+ "ѡ"
+ "ѡԴ"
+ "Ѥ"
+ "ѤԹ"
+ "Ѥ"
+ "Ѥ"
+ "ѭ"
+ "ѵ"
+ "Ѻ"
+ "ҡó"
+ "ҧ"
+ "Ҹ"
+ "ҹ"
+ "Һҷ"
+ "Һ"
+ ""
+ ""
+ "ا"
+ "ҵ"
+ ""
+ "ʹ"
+ ""
+ "õ"
+ ""
+ ""
+ "ä"
+ "ä"
+ "ó"
+ "ó"
+ ""
+ ""
+ "Ǵ"
+ "ǹ"
+ ""
+ ""
+ "Գ"
+ ""
+ "ʹ"
+ ""
+ "Ҫѧ"
+ "ͧ"
+ ""
+ "ѡ"
+ "Ѵ"
+ ""
+ ""
+ "ҡ"
+ "ҧ"
+ "Ҵ"
+ "ҹ"
+ ""
+ ""
+ ""
+ ""
+ "ԡ"
+ "Թ"
+ "Ժ"
+ ""
+ ""
+ ""
+ ""
+ "֧"
+ "ֹ"
+ "ֺ"
+ "״"
+ ""
+ "ء"
+ "ع"
+ ""
+ ""
+ "ٴ"
+ "ͧ"
+ ""
+ ""
+ ""
+ "ҧ"
+ ""
+ "ͧ"
+ ""
+ "ѡ"
+ ""
+ ""
+ ""
+ "ġɪҵ"
+ "ġɷ"
+ "ġҪ"
+ "ġʵ"
+ "ġ"
+ "ġǴ"
+ "ġ"
+ "IJ"
+ "IJ"
+ "IJҨ"
+ "IJ"
+ "ĵ"
+ "ĵ"
+ "ĵԡ"
+ "ĵԡó"
+ "ĵԹ"
+ "ķ"
+ "ķ"
+ "Ĺ"
+ "Ĺ"
+ "Ȩ"
+ "Ȩԡ¹"
+ ""
+ "Ҥ"
+ ""
+ "ʺ"
+ ""
+ "š"
+ "Ť"
+ "ź"
+ "ǧ"
+ "ѵ"
+ "֡"
+ "ͧ"
+ "ʹ"
+ ""
+ ""
+ ""
+ "ѧ"
+ "ѧҹ"
+ "Ѵ"
+ "ѹ"
+ "Ѻ"
+ "Ѻ"
+ "Ѻ֧"
+ ""
+ ""
+ ""
+ ""
+ "ҡ"
+ "ҧ"
+ "Ҵ"
+ "Ҹԡ"
+ "ҹ"
+ ""
+ ""
+ "ʵԡ"
+ ""
+ "ˡ"
+ "ԡ"
+ ""
+ ""
+ ""
+ "ء"
+ ""
+ ""
+ ""
+ ""
+ "ͧ"
+ "͹"
+ "š"
+ ""
+ ""
+ "ҹ"
+ ""
+ ""
+ "ǡ"
+ "ǧ"
+ "ǹ"
+ ""
+ "ʡ"
+ "ظ"
+ ""
+ "¸Թ"
+ ""
+ ""
+ "پ"
+ "ٵ"
+ ""
+ "͡"
+ "ͧ"
+ "ͷ"
+ ""
+ ""
+ "оԧ"
+ "ٹ"
+ "اѧ"
+ "ǧ"
+ "ѡǹ"
+ "Ҿѧ"
+ "ͧ"
+ "״"
+ "§"
+ "Ҿй"
+ "Ժ"
+ "ԺҺ"
+ "ṧ"
+ ""
+ "ѡ"
+ "ѡ"
+ "ѧ"
+ "ѧ"
+ "ѧ״"
+ "ѧ"
+ "ѧ͹"
+ "ѧҺ"
+ "ѧ"
+ "Ѫ"
+ "Ѳ"
+ "Ѳ"
+ "Ѵ"
+ "ѵ"
+ "ѷ"
+ "ѷ"
+ "ѷا"
+ "ѹ"
+ "ѹҧ"
+ "ѹó"
+ "ѹԾ"
+ "ѹҡ"
+ "ѹѵ"
+ "ѹԵ"
+ "ѹ"
+ "ѹ"
+ "ѹ"
+ "ѹ"
+ "Ѻ"
+ ""
+ "ѹ"
+ ""
+ ""
+ "ȴ"
+ "ʴ"
+ "ʵ"
+ "ʶҹ"
+ ""
+ "ҡ"
+ "ҡ"
+ "ҧ"
+ "ҳ"
+ "ҳԪ"
+ "ҳԪ"
+ "ҳ"
+ "ҳչ"
+ "Ҵ"
+ "ҵ"
+ "ҷ"
+ "ҷ"
+ "Ҹ"
+ "Ҹ"
+ "ҹ"
+ "ҹ"
+ ""
+ ""
+ "Ѿ"
+ ""
+ "ó"
+ ""
+ "ҿԹ"
+ ""
+ ""
+ ""
+ ""
+ "ʹ"
+ "ʹ"
+ "ء"
+ ""
+ "˹"
+ ""
+ ""
+ ""
+ "Ѵ"
+ ""
+ ""
+ "ô"
+ ""
+ ""
+ ""
+ "ӹѡ"
+ "ԡ"
+ "ԡѴ"
+ "ԡѵ"
+ "ԡ"
+ "ԡ"
+ "Ԧҵ"
+ "Ԧ"
+ "ԧ"
+ "Ԩó"
+ "Ԩó"
+ "ԨԵ"
+ "Ԫ"
+ "Ԫҹ"
+ "ԪԵ"
+ "ԫ"
+ "Գ"
+ "ԶվԶѹ"
+ "Է"
+ "Էѡ"
+ "Ըҹ"
+ "Ը"
+ "Թ"
+ "Թͺ"
+ "Թ"
+ "Թ"
+ "ԹԨ"
+ "ԹԵ"
+ "Թ"
+ "Ժѵ"
+ "Ժ"
+ "Ծ"
+ "ԾѡԾǹ"
+ "ԾѲ"
+ "Ծҡ"
+ "Ծҡ"
+ "Ծҷ"
+ "ԾԸ"
+ "ԾԸѳʶҹ"
+ "ԾԸѳ"
+ ""
+ ""
+ ""
+ "ҹ"
+ "آ"
+ "ʹ"
+ "ʹ"
+ "Һ"
+ ""
+ ""
+ "س"
+ "ظ"
+ "һ"
+ ""
+ "֡"
+ "֡֡"
+ "֡"
+ ""
+ "ǧ"
+ ""
+ ""
+ "ط"
+ "ط"
+ ""
+ "ɳš"
+ "ʧ"
+ "ʴ"
+ ""
+ ""
+ "԰"
+ "ط"
+ "٨"
+ ""
+ ""
+ ""
+ ""
+ "¡ࡹ"
+ "¤"
+ "ø"
+ ""
+ ""
+ ""
+ "ժԵ"
+ "ի"
+ "Դ"
+ ""
+ ""
+ "֧"
+ ""
+ ""
+ ""
+ ""
+ "ת"
+ "״"
+ ""
+ "鹷"
+ ""
+ "ء"
+ "ا"
+ "ز"
+ "ز"
+ "ش"
+ "ط"
+ "ط"
+ "ط"
+ "ط"
+ "ط"
+ "ط"
+ "ظ"
+ ""
+ ""
+ ""
+ ""
+ "ٴ"
+ "ٹ"
+ ""
+ ""
+ "๨"
+ ""
+ "ǧ"
+ ""
+ "ҧ"
+ "ҹ"
+ ""
+ ""
+ ""
+ ""
+ "ͧ"
+ ""
+ ""
+ "´"
+ ""
+ "ù"
+ "չ"
+ "͡"
+ "ͧ"
+ "ʹ"
+ "͹"
+ "͹"
+ ""
+ "Ŵδ"
+ "Թ"
+ ""
+ "ʫ"
+ "ʿ"
+ "࿵"
+ "ѡ"
+ "ѧ"
+ "ѧѹ"
+ "ѧ"
+ "Ѵ"
+ "ѹ"
+ ""
+ ""
+ "ҡ"
+ "ҧ"
+ "Ҵ"
+ "ҷ"
+ "ҹ"
+ ""
+ ""
+ "ʫʵ"
+ "ԡ"
+ "Դ"
+ "ԹŹ"
+ "Ժ"
+ "Ŵ"
+ "ԻԹ"
+ ""
+ ""
+ "ԡ"
+ "տ"
+ ""
+ ""
+ "׹"
+ ""
+ ""
+ ""
+ "ص"
+ "ص"
+ "ع"
+ "غ"
+ "ؿ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "١"
+ "٨"
+ "ٴ"
+ ""
+ ""
+ ""
+ ""
+ "ͧ"
+ "͹"
+ "ҧ"
+ ""
+ ""
+ "ͧ"
+ "͹"
+ ""
+ ""
+ ""
+ ""
+ "ѹ"
+ "õ"
+ ""
+ ""
+ "Ҵ"
+ ""
+ "ǵѳ"
+ "ѧ"
+ "ѡ"
+ "ѡ"
+ "ѡ"
+ "ѳ"
+ "ѵҤ"
+ "ѵ"
+ "ѷ"
+ "Ѿ"
+ ""
+ "ʴ"
+ "ʵ"
+ "Ҥ"
+ "Ҥ"
+ "Ҫ"
+ "ҳ"
+ "Ҿ"
+ "Ҿ¹"
+ ""
+ ""
+ "áԨ"
+ "ô"
+ "õ"
+ ""
+ ""
+ "ç"
+ "ǹ"
+ ""
+ ""
+ "ɡ"
+ "ɳ"
+ ""
+ "Ե"
+ ""
+ "ʡ"
+ "ʹ"
+ ""
+ "ԡ"
+ "ԡҨ"
+ "ԡ"
+ "ԡع"
+ "ԡ"
+ "ԡ"
+ "ԡس"
+ "ԧ"
+ "ԭ"
+ "Թҡ"
+ "Թ"
+ ""
+ "ت"
+ "ت"
+ ""
+ "Թ"
+ ""
+ ""
+ "ٵ"
+ "ٵ"
+ ""
+ "Ի"
+ "Ҥ"
+ ""
+ "ʵ"
+ ""
+ ""
+ ""
+ "Ǵ"
+ "ǹҶ"
+ "๵"
+ ""
+ ""
+ "Ե"
+ ""
+ ""
+ ""
+ ""
+ "Ҥ"
+ "خ"
+ ""
+ "خ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ԡ"
+ ""
+ ""
+ ""
+ "ªҵ"
+ "¸"
+ "ʵ"
+ "ѹ"
+ "෾"
+ "š"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "á"
+ "ó"
+ "ó"
+ "ô"
+ "ä"
+ "ä¡"
+ "ä"
+ ""
+ "ҷ"
+ ""
+ "Ĥ"
+ "ĵ"
+ ""
+ "ŷԹ"
+ ""
+ ""
+ "ҧ"
+ "ǹ"
+ ""
+ ""
+ "ˡ"
+ "ó"
+ "ó"
+ "ʾ"
+ "ѹ"
+ "ѹ"
+ "Ȩ"
+ ""
+ "Ҫ"
+ "Ҵ"
+ "Ҵ"
+ "ҵ"
+ "ҹ"
+ "Ҫ"
+ "Է"
+ ""
+ "ط"
+ "ԧ"
+ "ԧ"
+ "Դ"
+ ""
+ ""
+ ""
+ "ͧ"
+ "ͧ´"
+ "ͭ"
+ "ʹ"
+ "͹"
+ "ͺ"
+ ""
+ ""
+ "ͤ"
+ "չ"
+ ""
+ ""
+ ""
+ ""
+ "Сٴ"
+ "С͡"
+ "Сù"
+ "ТԴ"
+ "Т"
+ "Тǧ"
+ "Ф"
+ "Ч"
+ "ЧЧ"
+ "Ыҧ"
+ "дѹ"
+ "ек"
+ "е"
+ "е"
+ "еͧ"
+ "й"
+ "лҧ"
+ "о"
+ "оѺ"
+ "оٴ"
+ "ǧ"
+ ""
+ ""
+ "׹"
+ "С"
+ ""
+ "Ѵ"
+ "͡ҹ"
+ ""
+ ""
+ ""
+ "ͧ"
+ ""
+ ""
+ ""
+ "ç"
+ ""
+ "ѡ"
+ "ѡѹ"
+ "Ѥȡ"
+ "Ѥ¡"
+ "Ѧҹ"
+ "ѧ"
+ "ѧش"
+ "ѧ"
+ "Ѩ"
+ "Ѩ"
+ "Ѫ"
+ "Ѫ"
+ "Ѫ"
+ "ѳŻ"
+ "ѳ"
+ "Ѵ"
+ "ѵ"
+ "ѷ"
+ "ѷ"
+ "ѷ"
+ "Ѹ°ҹ"
+ "Ѹ"
+ "Ѹʶ"
+ "ѹ"
+ "Ѻ"
+ ""
+ ""
+ "ŵ"
+ "ԡ"
+ ""
+ ""
+ "ʵ"
+ ""
+ "Դ"
+ "Թ"
+ ""
+ ""
+ ""
+ ""
+ "ҡ"
+ "ҡ"
+ "Ҧ٪"
+ "Ҧ"
+ "ҳ"
+ "ҳԡ"
+ "Ҵ"
+ "ҵ"
+ "ҵá"
+ "ҵðҹ"
+ "ҵ"
+ "ҵ"
+ "ҵ"
+ "ҹ"
+ "ҹ"
+ "ҹ"
+ "ҹԵ"
+ "ҹ"
+ "ҹ"
+ "ҹԷ"
+ "ҺҾش"
+ ""
+ ""
+ ""
+ ""
+ "ä"
+ "ô"
+ "ô"
+ ""
+ "ҷ"
+ ""
+ "ص"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "⹪"
+ "ͧ"
+ ""
+ "Ԥѭ"
+ "Ԩ"
+ "Դ"
+ "Ե"
+ "Ե"
+ "Զع¹"
+ "ѹ"
+ "ԡ"
+ "Ժ"
+ "Ե"
+ ""
+ "ҵ"
+ "Ԥ"
+ ""
+ "ʫ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "մ"
+ "չ"
+ "չҤ"
+ "෹"
+ ""
+ ""
+ "֧"
+ "ֹ"
+ "״"
+ "׹"
+ ""
+ ""
+ ""
+ ""
+ "ء"
+ "ء"
+ "ء"
+ "آ"
+ "ا"
+ "بԹ"
+ "ش"
+ "صԴ"
+ "طԵ"
+ "ط"
+ "عԹ"
+ "ع"
+ "غ"
+ "غԺ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "١"
+ "ٵ"
+ "ٹ"
+ ""
+ ""
+ "Ť"
+ "Űҹ"
+ "ŹԸ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ʾ"
+ "з֡"
+ ""
+ ""
+ "ǧ"
+ "ǹ"
+ "͵"
+ ""
+ ""
+ "ҹ"
+ ""
+ "ǹ"
+ ""
+ ""
+ "ҹ"
+ ""
+ "¡"
+ "¡ͧ"
+ "§"
+ "§"
+ "µ"
+ "¶ҡ"
+ "¹"
+ "¹"
+ ""
+ ""
+ "§"
+ ""
+ "ǧ"
+ "Ǵ"
+ "ǹ"
+ "Ǻ"
+ ""
+ ""
+ "͡"
+ "ͧ"
+ "ʹ"
+ "͹"
+ "ͺ"
+ ""
+ ""
+ "ѡ"
+ "ѡԹ"
+ "ѡ"
+ "ѡ͡"
+ "ѡԳ"
+ "ѡ"
+ "ѡ"
+ "ѧ"
+ "Ѵ"
+ "Ѵ´"
+ "ѹ"
+ "ѹá"
+ "ѹ"
+ "ѹ"
+ "Ѻ"
+ "׹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ҡ"
+ "ҧ"
+ "Ҩ"
+ "Ҵ"
+ "Ҵ"
+ "ҵ"
+ "ҵ"
+ "ҹ"
+ "ҹ"
+ "Һ"
+ "Һ"
+ ""
+ ""
+ ""
+ ""
+ "ԡ"
+ "ԧ"
+ "Թ"
+ "Ժ"
+ "Ի"
+ "Ի"
+ "ʵԡ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "չ"
+ "ҿ"
+ ""
+ "ʡ"
+ "ʧ"
+ ""
+ "ҹ"
+ ""
+ ""
+ ""
+ "֡"
+ "ִ"
+ "״"
+ "׹"
+ ""
+ ""
+ ""
+ ""
+ "ء"
+ "ؤ"
+ "ؤ"
+ "ا"
+ "ش"
+ "ص"
+ "صԸ"
+ "ط"
+ "ط"
+ "ط"
+ "ط"
+ "ط⸻ó"
+ "غ"
+ "ؾ"
+ "ؾ§"
+ "ؾҪ"
+ "ؾ"
+ "ؾ"
+ "ҵ"
+ "Ǫ"
+ "û"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "٧"
+ "ٹԡ"
+ "ҵ"
+ "ԡ"
+ ""
+ "ù"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ͧ"
+ ""
+ ""
+ ""
+ ""
+ "ҧ"
+ "ҹ"
+ ""
+ ""
+ ""
+ "͹"
+ ""
+ ""
+ ""
+ ""
+ "á"
+ "ç"
+ "çѵ"
+ "ç"
+ "è"
+ "èԵ"
+ "èè"
+ "èŢ"
+ "ó"
+ "óѰ"
+ "ô"
+ "ô"
+ "õ"
+ "õ"
+ "ö"
+ "ö"
+ "ù"
+ "ú"
+ "þ"
+ "þ"
+ ""
+ ""
+ ""
+ ""
+ "ҧ"
+ "ǡ"
+ "ǧ"
+ "Ǵ"
+ "ǹ"
+ "ǹ"
+ "Ǻ"
+ ""
+ ""
+ ""
+ ""
+ "ȹ"
+ ""
+ "ʹ"
+ "¹Ƿ"
+ "ԡ"
+ ""
+ "Ե"
+ ""
+ "͡"
+ "ͧ"
+ "ͧ"
+ "ʹ"
+ "͹"
+ "ͺ"
+ "ͺͺ"
+ ""
+ ""
+ ""
+ "С"
+ "Ф"
+ "Ф"
+ "Цѧ"
+ "Ч"
+ "ЧѺ"
+ "д"
+ "дѺ"
+ "д"
+ "з"
+ "з"
+ "з"
+ "з֡"
+ "йҴ"
+ "йҺ"
+ "й"
+ "к"
+ "к"
+ "кͺ"
+ "кѺ"
+ "кҭ"
+ "кҴ"
+ "к"
+ "к"
+ "к"
+ "к"
+ "к"
+ ""
+ "Ѻ"
+ ""
+ "Ժ"
+ ""
+ "ԡ"
+ "͡"
+ "֡"
+ "ѧ"
+ "ҧ"
+ "ҧ"
+ ""
+ ""
+ ""
+ "๹"
+ "йҴ"
+ "´"
+ "Դ"
+ "§"
+ "¹"
+ "º"
+ ""
+ ""
+ ""
+ "Դ"
+ ""
+ ""
+ ""
+ "ṧ"
+ "ǧ"
+ "ѡ"
+ "ѡ"
+ "ѡ"
+ "ѡ"
+ "ѡ"
+ "ѡ"
+ "ѧ"
+ "ѧԵ"
+ "ѧ"
+ "ѧ"
+ "ѧ"
+ "Ѩ"
+ "Ѫ"
+ "Ѫɡ"
+ "Ѫɡ"
+ "Ѫ"
+ "ѭǹ"
+ "Ѱ"
+ "Ѱ"
+ "Ѱ"
+ "Ѱʹʵ"
+ "Ѱ"
+ "Ѱ"
+ "ѰˡԨ"
+ "Ѱʵ"
+ "Ѱ"
+ "Ѵ"
+ "ѵ"
+ "ѵ"
+ "ѵ"
+ "ѵ"
+ "ѵѧ"
+ "ѵ"
+ "ѵ"
+ "ѵԹ"
+ "ѵ"
+ "Ѷ"
+ "ѹ"
+ "ѹ"
+ "Ѻ"
+ "Ѻͧ"
+ ""
+ ""
+ ""
+ "ѵ"
+ "ҹ"
+ ""
+ "ɮҡ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ҡ"
+ "ҡ"
+ "Ҥ"
+ "Ҥ"
+ "ҤԹ"
+ "Ҥ"
+ "ҧ"
+ "ҧҧ"
+ "ҧ"
+ "Ҫ"
+ "Ҫ"
+ "Ҫԡ"
+ "ҪѳԵʶҹ"
+ "Ҫ"
+ "Ҫǧ"
+ "Ҫç"
+ "Ҫ"
+ "Ҫ"
+ "Ҫѹ"
+ "Ҫ"
+ "ҪҸҪ"
+ "Ҫɡ"
+ "ҪǴ"
+ "ҪԹԡ"
+ "ҪԹ"
+ "ҪԹٻ"
+ "Ҫٻ"
+ "Ҫٻ"
+ "ҭ"
+ "Ҵ"
+ "ҵ"
+ "ҵ"
+ "ҵ"
+ "ҹ"
+ "Һ"
+ "Ҿ"
+ ""
+ "˧"
+ ""
+ "ѭ"
+ ""
+ "ҸԺ"
+ "õ"
+ ""
+ "¡"
+ "§ҹ"
+ ""
+ ""
+ ""
+ "ɮ"
+ "ɮ"
+ ""
+ "હ"
+ "⪺"
+ "ҷ"
+ ""
+ "Ӥҭ"
+ "Өǹ"
+ "Ӿѹ"
+ "Ӿ֧"
+ "й"
+ "֡"
+ ""
+ ""
+ "ԡ"
+ "Դմǧ"
+ "Թ"
+ "Ժ"
+ "Ժ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ըʷ"
+ "մ"
+ "յ"
+ "պ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "֧"
+ ""
+ ""
+ ""
+ ""
+ "ء"
+ "ء"
+ "ءҵ"
+ "ء"
+ "ءǴ"
+ "ء"
+ "اѧ"
+ "ب"
+ "ب"
+ "ش"
+ "ص"
+ "ط"
+ "ط"
+ "ع"
+ "عç"
+ "غ"
+ ""
+ "ɯ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ٴ"
+ "ٻ"
+ ""
+ ""
+ ""
+ "絵"
+ ""
+ ""
+ "ѡ"
+ ""
+ ""
+ ""
+ "ǧ"
+ "ǹ"
+ ""
+ ""
+ "ͧ"
+ "͹"
+ ""
+ ""
+ "ҧ"
+ "ҹ"
+ ""
+ ""
+ ""
+ ""
+ "ͧ"
+ "͹"
+ ""
+ ""
+ "ҧ"
+ "ҹ"
+ ""
+ ""
+ "ġ"
+ "Ī"
+ "Ī"
+ "ij"
+ "Ĵ"
+ "Ĵ"
+ "ĵ"
+ "ķ"
+ "ķ"
+ "ķ"
+ ""
+ ""
+ ""
+ "ŧ"
+ "Ŵ"
+ "Ŵ"
+ "Ŵ"
+ "Ź"
+ "ź"
+ "ž"
+ ""
+ "Ź"
+ "ү"
+ "Ե"
+ "ǡ"
+ "ǧ"
+ "Ǵ"
+ "ǹ"
+ "ǹ"
+ ""
+ ""
+ "͡"
+ "͡Է"
+ "ͧ"
+ "ͧͧ"
+ "ͧԨٴ"
+ "ʹ"
+ "͵"
+ "͹"
+ "͹͹"
+ "ͺ"
+ ""
+ ""
+ ""
+ ""
+ "Ф"
+ "еԨٴ"
+ "еԹ"
+ "кѴ"
+ ""
+ "ع"
+ ""
+ ""
+ ""
+ "Ҵ"
+ "ҹ"
+ ""
+ "ͧ"
+ ""
+ ""
+ ""
+ "Դ"
+ "´"
+ "ŧ"
+ "ԧ"
+ "´"
+ "ǧ"
+ ""
+ "´"
+ "ǡ"
+ ""
+ ""
+ ""
+ "ѡ"
+ "ѡ"
+ "ѡɳ"
+ "ѡ"
+ "Ѥ"
+ "Ѥ"
+ "Ѥ"
+ "ѧ"
+ "ѧ"
+ "Ѫ"
+ "Ѫ"
+ "ѭ"
+ "ѭ"
+ "ѭ"
+ "ѭ"
+ "ѭ"
+ "Ѵ"
+ "Ѵ"
+ "ѷ"
+ "ѷ"
+ "ѹ"
+ "Ѻ"
+ "Ѿ"
+ ""
+ ""
+ "蹷"
+ ""
+ "ҡ"
+ "ҧ"
+ "ҭ"
+ "Ҵ"
+ "ҹ"
+ "Һ"
+ "һ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "Ź"
+ ""
+ ""
+ "ǡ"
+ "ѳ"
+ ""
+ "ʹ"
+ ""
+ "Ӵǹ"
+ "ӴѺ"
+ "Ӻҡ"
+ "Ӿǹ"
+ "Ӿͧ"
+ "Ӿѧ"
+ "آѹ"
+ "ͧ"
+ ""
+ "¡"
+ ""
+ ""
+ "ԡ"
+ "§"
+ "⾧"
+ ""
+ ""
+ "ԡ乵"
+ "ԢԷ"
+ "ԢԵ"
+ "ԧ"
+ "ԧ"
+ "ԧ"
+ "Դ"
+ "Ե"
+ "Ե"
+ "Ե"
+ "ԹԹ"
+ "Ժ"
+ "Ի"
+ "Ի"
+ "Իʵԡ"
+ "Ի"
+ "Կ"
+ "Ե"
+ ""
+ "ʧ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "鹨"
+ ""
+ ""
+ "ա"
+ "չء"
+ "պ"
+ ""
+ ""
+ ""
+ ""
+ "֡"
+ "֧"
+ "״"
+ "׺"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ء"
+ "ا"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "١"
+ "١"
+ "١ȡ"
+ "ٺ"
+ ""
+ "͡ࡵ"
+ ""
+ ""
+ "ǧ"
+ ""
+ ""
+ "ͧ"
+ "͹"
+ ""
+ ""
+ ""
+ ""
+ "ҧ"
+ "ҹ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ǧ"
+ "ǹ"
+ ""
+ ""
+ ""
+ "ҧ"
+ "ҵ"
+ "ҹ"
+ ""
+ "ǡ"
+ "ǡ"
+ "ǧ"
+ "ǧ"
+ "ǧ"
+ "ǧ"
+ "ǧȡ"
+ "ǧ"
+ "ǧ"
+ "Ǩ"
+ "Ǩ"
+ "Ǩ"
+ "Ǫ"
+ "Ǫ"
+ "Ǫظ"
+ "dzѵ"
+ "dzѹ"
+ "dz"
+ "dzԪ"
+ "dzԪ"
+ "dzԪ"
+ "dzԪ"
+ "dzԾ"
+ "Ǵ"
+ "ǵ"
+ "Ƿ"
+ "Ƿѭص"
+ "Ǹء"
+ "Ǹ"
+ "ǹ"
+ "ǹ"
+ "ǹ"
+ "ǹҹ"
+ "ǹԴ"
+ "ǹԾ"
+ ""
+ "ç"
+ "ó"
+ ""
+ "ä"
+ "ä"
+ "ê"
+ "ê"
+ "ó"
+ "ó"
+ "ó"
+ "óĵ"
+ "óء"
+ "óص"
+ "óŻ"
+ "ó"
+ "ó֡"
+ "ø"
+ "ø"
+ ""
+ ""
+ ""
+ "ѭ"
+ "ҧ"
+ ""
+ ""
+ "س"
+ "ѭ"
+ ""
+ "ˡ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ѹš"
+ "ѹ"
+ ""
+ ""
+ ""
+ "ظ"
+ "ع"
+ ""
+ ""
+ ""
+ ""
+ "͡"
+ "͡ǡ"
+ "ʹ"
+ "͹"
+ "ù"
+ "ʵշ"
+ ""
+ ""
+ ""
+ ""
+ "ѡ"
+ "ѡ"
+ "Ѥ"
+ "Ѥ"
+ "Ѥ"
+ "Ѥչ"
+ "ѧ"
+ "ѧ"
+ "ѧǧ"
+ "Ѩ"
+ "Ѫ"
+ "Ѫ"
+ "Ѫ"
+ "ѪԹ"
+ "Ѫ"
+ "ѯѡ"
+ "ѯ"
+ "ѯʧ"
+ "Ѳ"
+ "Ѳ"
+ "Ѳ"
+ "Ѳ"
+ "Ѳ"
+ "ѳ"
+ "ѳ"
+ "ѳ"
+ "Ѵ"
+ "ѵ"
+ "ѵ"
+ "ѵ"
+ "ѵ"
+ "ѵ"
+ "ѵ"
+ "ѵ"
+ "ѵ"
+ "ѹ"
+ "ѹ"
+ "ѹ"
+ "ѹѵ"
+ "ѹظ"
+ "ѹ"
+ "Ѻ"
+ "ѻ"
+ "ԡ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ʴ"
+ ""
+ "ҹ"
+ "ʷ"
+ ""
+ "ҡ"
+ "ҡѹ"
+ "ҡ"
+ "ҧ"
+ "Ҩ"
+ "Ҩ"
+ "ҳԪ"
+ "ҳԪ"
+ "ҳ"
+ "Ҵ"
+ "ҵ"
+ "ҵ"
+ "ҷ"
+ "ҷ"
+ "ҷ¡"
+ "ҷ"
+ "ҷԵ"
+ "ҷԹ"
+ "ҷ"
+ "ҹ"
+ "ҹ"
+ "ҹԹ"
+ "Һ"
+ "һ"
+ "һԵ"
+ "һ"
+ ""
+ ""
+ ""
+ "·"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "س"
+ "س"
+ ""
+ ""
+ ""
+ "ʹ"
+ "ʹ"
+ "ʾ"
+ ""
+ "Թ"
+ ""
+ "ԡ"
+ "ԡĵ"
+ "ԡĵó"
+ "ԡĵ"
+ "ԡ"
+ "ԡԵ"
+ "ԡѻ"
+ "ԡ"
+ "Ԥ"
+ "ԧ"
+ "ԧ͹"
+ "Ԩص"
+ "Ԩó"
+ "Ԩ"
+ "Ԩѡ"
+ "Ԩѡɳ"
+ "Ԩ"
+ "Ԩ"
+ "Ԩóҳ"
+ "Ԩó"
+ "Ԩ"
+ "ԨԡԨ"
+ "ԨԵ"
+ "ԨԵ"
+ "ԨԹ"
+ "Ԩس"
+ "Ԩó"
+ "Ԫ"
+ "Ԫ"
+ "ԪŴ"
+ "Ԫ"
+ "Ԫ"
+ "Ԫ"
+ "Ԫҹ"
+ "ԪԵ"
+ "ԭѵ"
+ "ԭҳ"
+ "ԭ"
+ "Ա"
+ "Դ"
+ "Դ"
+ "Ե"
+ "Ե"
+ "ԵԹ"
+ "Զ"
+ "Է°ҹ"
+ "Է"
+ "Է"
+ "Է"
+ "Էص"
+ "Է"
+ "Էó"
+ "ԷŹ"
+ "ԷԵ"
+ "Է"
+ "Է"
+ "Ը"
+ "Ը"
+ "Ը"
+ "Ըҹ"
+ "Ը"
+ "Ըٻ"
+ "Թѹ"
+ "Թ"
+ "Թҷ"
+ "Թ"
+ "ԹԨ"
+ "ԹԨ"
+ "ԹԵ"
+ "ԹԺҵ"
+ "ԹԻҵԡ"
+ "Թ"
+ "Թ"
+ "Ժѵ"
+ "Ժҡ"
+ "Ժ"
+ "Ժ"
+ "Ժ"
+ "Ժ"
+ "Ի"
+ "Ի"
+ "ԻС"
+ "Իе"
+ "Իһ"
+ "Ի"
+ "ԻԵ"
+ "Իһ"
+ "Ի"
+ "Ի"
+ "Իѡ"
+ "Իʡ"
+ "Իʹ"
+ "Ի¤"
+ "Ծҡ"
+ "ԾԸȹ"
+ "ǵѳ"
+ "ѧ"
+ "Ѫ"
+ "ѵ"
+ ""
+ "Ǵ"
+ "ѵ"
+ "ص"
+ "ص"
+ "õ"
+ ""
+ "ø"
+ ""
+ "Ѫ"
+ "ѵ"
+ "ѵ"
+ "Ҿ"
+ ""
+ "ظ"
+ "ˡ"
+ ""
+ "ѹ"
+ "Ҵ"
+ "һ"
+ "ѳ"
+ ""
+ ""
+ "Թ"
+ ""
+ "ó"
+ ""
+ "ѯ"
+ "Ѳҡ"
+ "Ѳ"
+ "ҷ"
+ ""
+ ""
+ ""
+ "Ԩ"
+ "Ե"
+ "Ը"
+ "ص"
+ "ǡ"
+ "ǡ"
+ ""
+ "Ң"
+ "Ң"
+ "ҧ"
+ ""
+ "ɰ"
+ "ط"
+ "ط"
+ "ɳ"
+ "ɸ"
+ "ѡ"
+ ""
+ "ҳ"
+ "ѵ"
+ "ʡ"
+ "ê"
+ "ĵ"
+ "ء"
+ "Ѫ"
+ "ѭ"
+ ""
+ "Ң٪"
+ "Ң"
+ "ѭ"
+ ""
+ "ˡԨ"
+ "԰"
+ "ا"
+ "ط"
+ "ط"
+ "ٵ"
+ "ˤ"
+ "˧"
+ ""
+ ""
+ ""
+ "ԧ"
+ "ԧ"
+ "ѧ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "Ⱥ"
+ "๵"
+ "¹"
+ "ù"
+ "Ż"
+ "ǡ"
+ ""
+ "ɳ"
+ "ʷ"
+ ""
+ "⹷"
+ ""
+ "¤"
+ "è"
+ "è"
+ "ò"
+ "ø"
+ "ø"
+ "Ũ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ը"
+ "ժ"
+ "ի"
+ "ճ"
+ "á"
+ "ê"
+ "ú"
+ "ʵ"
+ "ѹ"
+ ""
+ ""
+ "ذ"
+ "ز"
+ "ز"
+ "ش"
+ "غ"
+ ""
+ ""
+ ""
+ ""
+ "ٴҴ"
+ "ٸ"
+ "ٺ"
+ ""
+ ""
+ "๨"
+ "⹷ҹ"
+ ""
+ "á"
+ "ô"
+ "ͧ"
+ "͹"
+ ""
+ "ҧ"
+ "ҹ"
+ ""
+ ""
+ ""
+ "ҧ"
+ ""
+ "ȡ"
+ "ȵ"
+ "ȵ"
+ "Ⱦ"
+ ""
+ "ѷ"
+ ""
+ ""
+ "ķ"
+ ""
+ "ħ"
+ ""
+ ""
+ "͡"
+ "ѡ"
+ "ѡԹ"
+ "ѡ"
+ "ѡҾ"
+ "ѡ"
+ "ѡ"
+ "ѡҪ"
+ "ѵ"
+ "Ѿ"
+ "¡"
+ "ʵ"
+ "ᾷ"
+ ""
+ "ҡ¾ط"
+ "ҡع"
+ "ҡ"
+ "ҵҨ"
+ "ҹ"
+ "ҹ"
+ "÷"
+ "÷"
+ ""
+ ""
+ "ʡ"
+ "ʴ"
+ "ʵ"
+ "ʵҨ"
+ "ʵ"
+ "ʹѡ"
+ "ʹ"
+ "ʹٻ"
+ "ʹ"
+ "ԢԹ"
+ "Ҫ"
+ "Ż"
+ "Ż"
+ "Ż"
+ "ŻԨ"
+ "ŻԷ"
+ "Żʵ"
+ "Ż"
+ "Żҡ"
+ "ŻԹ"
+ "Ż"
+ "Ż"
+ ""
+ "֧"
+ ""
+ "Ƿ"
+ ""
+ ""
+ "Һ"
+ ""
+ ""
+ "֡"
+ "֡"
+ "֡Ҹԡ"
+ "֡ҹȡ"
+ "ء"
+ ""
+ "Ե"
+ "ʴ"
+ "ҵ"
+ ""
+ "ѡ"
+ "ҧ"
+ ""
+ "šҡ"
+ "šѡ"
+ ""
+ "ٷ"
+ "ٹ"
+ "ʡ"
+ "ʡ"
+ "ʡá"
+ "ʡ"
+ "ʡҷ"
+ "ʡ͵Ź"
+ "ʡѴ"
+ "ʡ"
+ "ʡ"
+ "ʡ"
+ "ʡس"
+ "ʡس"
+ "ʡس"
+ "ʡع"
+ "ʡ"
+ "ʡ͵Ź"
+ "ʧ"
+ "ʧҹ"
+ "ʧ"
+ "ʧ"
+ "ʧ"
+ "ʧ"
+ "ʧ"
+ "ʧǹ"
+ "ʧ"
+ "ʧ"
+ "ʧѯ"
+ "ʧѴ"
+ "ʧ"
+ "ʧ"
+ "ʳ"
+ "ʴ"
+ "ʴ"
+ "ʴѺ"
+ "ʴش"
+ "ʵ"
+ "ʵ͡"
+ "ʵѿ"
+ "ʵҧ"
+ "ʵ"
+ "ʵ"
+ "ʵ"
+ "ʵ"
+ "ʵ͡"
+ "ʶ"
+ "ʶҹ"
+ "ʶҹó"
+ "ʶҹ"
+ "ʶҹ"
+ "ʶҺѹ"
+ "ʶһ"
+ "ʶһԡ"
+ "ʶһѵ¡"
+ "ʶҾ"
+ "ʶ"
+ "ʶԵ"
+ "ʶԵ"
+ "ʶԵʵ"
+ "ʶԵ"
+ "ʶԵ"
+ "ʶ"
+ "ʶٻ"
+ "ʷ;"
+ "ʹ"
+ "ʹ"
+ "ʹ"
+ "ʹ"
+ "ʹҤ"
+ "ʹ"
+ "ʹͧ"
+ "ʹѺ"
+ "ʹѺʹع"
+ "ʹ"
+ "ʹҹ"
+ "ʹ"
+ "ʹԷ"
+ "ʹ"
+ "ʹء"
+ "ʹ"
+ "ʹ"
+ "ʹ"
+ "ʹ"
+ "ʺ"
+ "ʺ"
+ "ʺ"
+ "ʺ"
+ "ʺ"
+ "ʻԧ"
+ "ʻ"
+ "ʻࡵ"
+ "ʻԵ"
+ ""
+ "Ҿ"
+ "ҾѲ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ѡ"
+ ""
+ ""
+ ""
+ "Ҥس"
+ "ѵ"
+ "óҭԷҪ"
+ "ó"
+ "д"
+ "Ĵ"
+ ""
+ ""
+ ""
+ ""
+ "ҵ"
+ "ص"
+ ""
+ "ö"
+ "ö"
+ ""
+ ""
+ "ͧ"
+ "Ѥ"
+ "Ѫ"
+ "ѹ"
+ ""
+ ""
+ "Ҥ"
+ "Ҩ"
+ "Ҫԡ"
+ "Ҹ"
+ "ҹ"
+ "Һѵ"
+ ""
+ "ԧ"
+ "Ե"
+ ""
+ "دҹ"
+ "ش"
+ "ط"
+ "ط"
+ "ع"
+ "ع"
+ ""
+ ""
+ "ྪ"
+ ""
+ "⾸"
+ ""
+ ""
+ ""
+ "´"
+ "º"
+ ""
+ "ͧ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ç"
+ "ó"
+ "óҤ"
+ "õ"
+ ""
+ "ä"
+ "þ"
+ "þҡ"
+ "þҧ"
+ "ྪ"
+ "ԭ"
+ "ǧ"
+ ""
+ ""
+ ""
+ "ҭ"
+ "áԨ"
+ "øҵ"
+ "Է"
+ "ʵ"
+ ""
+ "ػ"
+ ""
+ "ҧ"
+ ""
+ "ҧ"
+ ""
+ "ĵ"
+ "ɯ"
+ ""
+ "Ŵ"
+ "ź"
+ "ǹ"
+ ""
+ "ʹ"
+ "͹"
+ ""
+ ""
+ "ѡ"
+ "ѡ"
+ "Ѵ"
+ "Ѵ"
+ "Ѻ"
+ ""
+ ""
+ ""
+ "ҡ"
+ "Ҵ"
+ "ҵѹ"
+ "Һ"
+ ""
+ "Դ"
+ ""
+ "֡"
+ "֧"
+ "ص"
+ "غ"
+ ""
+ "͵"
+ "ҧ"
+ "ǡ"
+ "Ǵ"
+ "ǹ"
+ "ǹ"
+ "ǹҡ"
+ "Ǻ"
+ ""
+ ""
+ ""
+ "ä"
+ "ä"
+ "ä"
+ ""
+ "ͻ"
+ ""
+ "ʴԡ"
+ "ʴҾ"
+ "ʴ"
+ "ʴ"
+ "ʵԡ"
+ ""
+ "ҧ"
+ "Ҵ"
+ "ҷ"
+ ""
+ ""
+ ""
+ "ʴ"
+ ""
+ "ԧ"
+ "Ե"
+ "Ե"
+ "Ź"
+ "ഹ"
+ "ҧ"
+ "ҹ"
+ "ҹ"
+ ""
+ "ˡó"
+ "ˡ"
+ "˨"
+ "˪ҵ"
+ "˻ЪҪҵ"
+ "˾ѹѰ"
+ "˾ѹ"
+ "Ҿ"
+ "Ѱ"
+ ""
+ "֡"
+ "Ѫ"
+ ""
+ "ʹ¹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ͧ"
+ "ʹ"
+ "͹"
+ "ͺ"
+ ";"
+ ""
+ ""
+ "С"
+ "СԴ"
+ "Фҭ"
+ "д"
+ "дǡ"
+ "д"
+ "д֧"
+ "д"
+ "дش"
+ "д"
+ "е"
+ "е"
+ "е"
+ "з͹"
+ "зҹ"
+ "кѡ"
+ "кѴ"
+ "кѴк"
+ "к"
+ "к"
+ "оѡ"
+ "о"
+ "оѴ"
+ "о"
+ "оҹ"
+ "о"
+ "е"
+ "˹"
+ ""
+ "Ҵ"
+ ""
+ "ҧ"
+ "ҧ"
+ "Ҵ"
+ "Դ¹"
+ ""
+ "֡"
+ ""
+ "ҹ"
+ ""
+ ""
+ ""
+ "͹"
+ "͹"
+ ""
+ ""
+ "⾡"
+ "ʹͧ"
+ ""
+ "ѡ"
+ "ѡ"
+ "ѡ"
+ "ѡҴ"
+ "Ѣ"
+ "ѧѾ"
+ "ѧ"
+ "ѧó"
+ "ѧеѧ"
+ "ѧ"
+ "ѧѴ"
+ "ѧѻ"
+ "ѧ"
+ "ѧ"
+ "ѧ"
+ "ѧ"
+ "ѧ"
+ "ѧҵ"
+ "ѧ"
+ "ѧѧ"
+ "ѧ¹"
+ "ѧ¹"
+ "ѧյ"
+ "ѧ"
+ "ѧ"
+ "ѧ¡"
+ "ѧ"
+ "ѧ"
+ "ѧҪ"
+ "ѧ"
+ "ѧү"
+ "ѧ"
+ "ѧ"
+ "ѧѸ"
+ "ѧ"
+ "ѧ"
+ "ѧʴ"
+ "ѧä"
+ "ѧѯ"
+ "ѧ"
+ "ѧó"
+ "ѧ"
+ "ѧѾ"
+ "ѧԵ"
+ "ѧࡵ"
+ "ѧࢻ"
+ "ѧ"
+ "ѧǤ"
+ "ѧǪ"
+ "ѧ"
+ "ѧ¹"
+ "ѧ¤"
+ "ѧª"
+ "Ѩ"
+ "Ѩ"
+ "Ѩ"
+ "Ѩҳ"
+ "Ѩ"
+ "Ѩ"
+ "Ѫ"
+ "ѭ"
+ "ѭ"
+ "ѭҵҳ"
+ "ѭҵ"
+ "ѭ"
+ "ѭ"
+ "ѭҳ"
+ "ѭ"
+ "ѭС"
+ "ѭѡɳ"
+ "ѭਵ"
+ "ѳҹ"
+ "ѳ"
+ "ѳ"
+ "Ѵ"
+ "ѵ"
+ "ѵ"
+ "ѵó"
+ "ѵҺѹ"
+ "ѵ"
+ "ѵǺ"
+ "ѵԷ"
+ "ѵ"
+ "ѵ"
+ "ѵᾷ"
+ "ѵš"
+ "ѵ"
+ "ѷ"
+ "ѷ"
+ "ѷʵ"
+ "ѹ"
+ "ѹҹ"
+ "ѹһ"
+ "ѹлһ"
+ "ѹ"
+ "ѹ"
+ "ѹ"
+ "ѹѵ"
+ "ѹ"
+ "ѹ"
+ "ѹҡ"
+ "ѹ"
+ "ѹѴ"
+ "ѹҹ"
+ "ѹԺҵ"
+ "ѹ"
+ "ѹɰҹ"
+ "ѹ"
+ "ѹʡĵ"
+ "ѹ"
+ "Ѻ"
+ "ѺѺ"
+ "Ѻô"
+ "ѻѺ"
+ "ѻ"
+ "ѻ"
+ "ѻ"
+ "ѻط"
+ "ѻ˧"
+ "ѻ"
+ "Ѿ"
+ "Ѿ"
+ "Ѿѭ"
+ "Ѿ͡"
+ "Ѿ"
+ "ó"
+ "ѭ"
+ ""
+ "ҹ"
+ "ص"
+ "Է"
+ ""
+ ""
+ "ԡ"
+ "¤"
+ ""
+ "ѷ"
+ "ѹ"
+ "ѹҾ"
+ "ѹԵ"
+ "ѹ"
+ "ѹ"
+ "Ҹ"
+ "ط"
+ ""
+ "ɳ"
+ ""
+ ""
+ "Ҫվ"
+ "ķ"
+ "⾸"
+ "¡"
+ "ʴ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ҡ"
+ "ҡè"
+ "ҡ"
+ "Ң"
+ "Ҥ"
+ "Ҥ"
+ "Ҥ"
+ "ҧ"
+ "Ҵ"
+ "ҷ"
+ "ҷ"
+ "Ҹ"
+ "Ҹ"
+ "Ҹó"
+ "ҸóѰ"
+ "Ҹóآ"
+ "Ҹó"
+ "Ҹóٻ"
+ "Ҹóٻ"
+ "ҸԵ"
+ "Ҹ"
+ "ҹ"
+ "ҹ"
+ "Һ"
+ "Һ٭"
+ "Һҹ"
+ "һ"
+ ""
+ "Ѥ"
+ "ѭ"
+ "ҹ"
+ "ö"
+ "Ե"
+ "ѡ"
+ ""
+ ""
+ ""
+ "ª"
+ ""
+ "ѳ"
+ ""
+ "ä"
+ "ö"
+ "÷"
+ "ù"
+ "ú"
+ "úó"
+ "úѭ"
+ "úѺ"
+ "úҭ"
+ "þѴ"
+ "þѹ"
+ "þҧ"
+ "Ҿ"
+ ""
+ "ѵ"
+ ""
+ ""
+ "ѷ"
+ ""
+ "ҳ¡"
+ "ҹء"
+ "ԡҵ"
+ "ǹ"
+ "ԡ"
+ "Թ"
+ ""
+ ""
+ ""
+ "ǡ"
+ "ԡ"
+ "Ե"
+ "Ե"
+ "ʹ"
+ ""
+ ""
+ ""
+ ""
+ "˵"
+ "á"
+ ""
+ "ê"
+ ""
+ ""
+ "Ӥѭ"
+ "ӷѺ"
+ "ӹǹ"
+ "ӹѡ"
+ "ӹ֡"
+ "ӺѴӹǹ"
+ "ӻѧ"
+ "ӻ"
+ ""
+ ""
+ "⹤"
+ "Ǩ"
+ ""
+ ""
+ ""
+ "͡"
+ "ͧ"
+ "Ѻ"
+ "ҡ"
+ "ҭ"
+ "Դ"
+ "ѡ"
+ "ҹ"
+ ""
+ "͹"
+ "Ѻ"
+ ""
+ ""
+ "ҧ"
+ ""
+ "§"
+ ""
+ "ԧ"
+ ""
+ "˹¡"
+ ""
+ "ᴧ"
+ "ŧ"
+ "ç"
+ ""
+ "ԡ"
+ "Ԣ"
+ "Ԥ"
+ "ԧ"
+ "ԧ"
+ "ԧ"
+ "ԧ"
+ "ԧ"
+ "ԧ"
+ "ԧѵ"
+ "ԧ˹ҷ"
+ "ԧ˺ѭ"
+ "ԧҪ"
+ "ԧ"
+ "ԧҤ"
+ "ԧʹ"
+ "ԧ"
+ "ԧ"
+ "ԭ"
+ "Ե"
+ "Զ"
+ "Է"
+ "Է"
+ "Էö"
+ "Է"
+ "Է"
+ "Թ"
+ "Թ"
+ "Թ"
+ "Թ"
+ "Թ"
+ "Ժ"
+ ""
+ ""
+ "ԡԵ"
+ ""
+ ""
+ "ˡ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ա"
+ "մ"
+ ""
+ "֡"
+ "׺"
+ ""
+ ""
+ "ء"
+ "ء"
+ "ء"
+ "ءҡ"
+ "آ"
+ "آ"
+ "آ"
+ "آԺ"
+ "آ"
+ "آǴ"
+ "آ"
+ "آ"
+ "آ"
+ "ؤ"
+ "ؤ"
+ "ؤ"
+ "ؤ"
+ "ؤѹ"
+ "اҡ"
+ "اԧ"
+ "بԵ"
+ "ب˹"
+ "ب"
+ "ت"
+ "تҴ"
+ "ح"
+ "حҡ"
+ "س"
+ "س"
+ "ش"
+ "ش"
+ "ص"
+ "ص"
+ "ص"
+ "ط"
+ "ط"
+ "ط"
+ "طȹ"
+ "ظ"
+ "ظ"
+ "ع"
+ "ع"
+ "عҾ"
+ "عʵ"
+ "عѢ"
+ "عѹ"
+ "غó"
+ "غԹ"
+ "ؾó"
+ "Ѥ"
+ "Ҿ"
+ "Ե"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "˹ҷ"
+ "ѵ"
+ "Ǵ"
+ ""
+ "ҧ"
+ "ҧҧ"
+ "ѡ"
+ ""
+ "ɮ"
+ "Թ"
+ "¡"
+ "¡"
+ "¤"
+ "¤"
+ "§"
+ "¹"
+ ""
+ ""
+ "ѹ"
+ ""
+ "ػҤ"
+ ""
+ "¹"
+ ""
+ ""
+ ""
+ ""
+ "§"
+ "ŵҹ"
+ "Ҿ"
+ "ó"
+ "ҹ"
+ "Է"
+ "Թ"
+ ""
+ "ҹ"
+ "˹ѵ"
+ ""
+ ""
+ ""
+ ""
+ "ͫ"
+ ""
+ ""
+ ""
+ "٧"
+ "٨"
+ "٭"
+ "ٴ"
+ "ٵ"
+ "ٵ"
+ "ٵ"
+ "ٵԡ"
+ "ٵԺѵ"
+ "ٵʵ"
+ "ٵᾷ"
+ "ٷ"
+ "ٺ"
+ ""
+ ""
+ ""
+ "ࡵ"
+ ""
+ ""
+ ""
+ "໡"
+ "໡"
+ "໹"
+ "ôյ"
+ "᡹"
+ "ŧ"
+ ""
+ "ê"
+ ""
+ ""
+ "Ŵ"
+ ""
+ "ǹ"
+ ""
+ ""
+ "ͧ"
+ "͹"
+ ""
+ "ҹ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ǧ"
+ ""
+ ""
+ "ͧ"
+ ""
+ "ˡ"
+ "˧"
+ "˧"
+ "˧"
+ "˧͡"
+ "˧ʹ"
+ "˧͹"
+ "˧"
+ "˧ѡ"
+ "˧Ѻ"
+ "˧"
+ "˧"
+ "˧ԡ"
+ "˧ԧ"
+ "˧"
+ "˧֡"
+ "˧ا˧ԧ"
+ "˧ش˧Դ"
+ "˧غ"
+ "˧"
+ "˧"
+ "˧ҧ"
+ "˧"
+ "˭ԧ"
+ "˭Ժ"
+ "˭"
+ "˴"
+ "˷"
+ "˹"
+ "˹ǡ"
+ "˹Ǵ"
+ "˹"
+ "˹͡"
+ "˹ͧ"
+ "˹͹"
+ "˹ѡ"
+ "˹ѧ"
+ "˹ѧ"
+ "˹Ѻ"
+ "˹"
+ "˹"
+ "˹Ҵ"
+ "˹ҹ"
+ "˹"
+ "˹"
+ "˹"
+ "˹º"
+ "˹"
+ "˹պ"
+ "˹"
+ "˹ֺ"
+ "˹"
+ "˹״"
+ "˹"
+ "˹ع"
+ "˹غ"
+ "˹"
+ "˹"
+ "˹"
+ "˹"
+ "˹ǧ"
+ "˹"
+ "˹¡Ե"
+ "˹"
+ "˹"
+ "˹"
+ "˹ҧ"
+ "˹"
+ "˹"
+ "˹ҷ"
+ ""
+ ""
+ "ǡ"
+ "Ǵ"
+ ""
+ "͡"
+ "ͧ"
+ "͹"
+ "ͺ"
+ ""
+ "ѡ"
+ "Ѵ"
+ "ѹ"
+ "Ѻ"
+ ""
+ ""
+ ""
+ "ҡ"
+ "ҡ"
+ "ҧ"
+ "Ҵ"
+ ""
+ ""
+ ""
+ ""
+ "֡"
+ ""
+ "ش"
+ "ع"
+ "غ"
+ "غԺ"
+ ""
+ ""
+ ""
+ ""
+ "ͧ"
+ "͹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "¡"
+ "´"
+ "ǡ"
+ "Ǻ"
+ "͡"
+ "͡Թ"
+ "ͧ"
+ "ʹ"
+ ""
+ ""
+ "ѡ"
+ "ѧ"
+ "Ѵ"
+ "ѹ"
+ "Ѻ"
+ ""
+ "ҡ"
+ "Ҵ"
+ "Һ"
+ ""
+ ""
+ ""
+ "ԡ"
+ "Ժ"
+ ""
+ ""
+ ""
+ "ءԡ"
+ "ش"
+ "غ"
+ ""
+ ""
+ "١"
+ "ͧ"
+ ""
+ "ͧ"
+ "͹"
+ ""
+ ""
+ ""
+ "ô"
+ ""
+ ""
+ "͡"
+ ""
+ ""
+ ""
+ ""
+ "մ"
+ ""
+ ""
+ "غ"
+ "غ"
+ "غ"
+ ""
+ ""
+ ""
+ "ķ"
+ ""
+ "˴"
+ ""
+ "ŧ"
+ "Ŵ"
+ "Ź"
+ "ź"
+ "ǧ"
+ ""
+ ""
+ "͡"
+ "ʹ"
+ "͹"
+ ""
+ ""
+ "ѡ"
+ "ѧ"
+ "Ѵ"
+ "Ѻ"
+ ""
+ ""
+ ""
+ ""
+ "ҡ"
+ "ҹ"
+ "Һ"
+ ""
+ ""
+ ""
+ "ԡ"
+ ""
+ ""
+ ""
+ ""
+ "ա"
+ ""
+ "׺"
+ "ءԡ"
+ "ش"
+ "ع"
+ "غ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "͹"
+ ""
+ ""
+ "ǧ"
+ "Ǵ"
+ "ǹ"
+ ""
+ ""
+ "ʹ"
+ ""
+ "ѧ"
+ "Ѵ"
+ ""
+ ""
+ ""
+ ""
+ "Ҵ"
+ "ҹ"
+ ""
+ ""
+ ""
+ "Դ"
+ ""
+ ""
+ "մ"
+ ""
+ ""
+ "شԴ"
+ ""
+ "ٴ"
+ ""
+ ""
+ "ҧ"
+ "ҹ"
+ ""
+ ""
+ "͡"
+ "ͧ"
+ "͹"
+ "ͺ"
+ ""
+ ""
+ "á"
+ "ѡ"
+ "Ѵ"
+ "ѵ"
+ "ѵ"
+ "ѵԨ"
+ "ѵ"
+ "ѵŻ"
+ "ѵ֡"
+ "ѵ"
+ "ѵ"
+ "ѹ"
+ "Ѻ"
+ ""
+ "Ǻء"
+ "˹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ҡ"
+ "ҧ"
+ "ҭ"
+ "Ҵ"
+ "ҹ"
+ "Һ"
+ ""
+ ""
+ "¹"
+ ""
+ ""
+ ""
+ ""
+ "ԧ"
+ "ԧ"
+ "Դ"
+ "Թ"
+ ""
+ ""
+ "ѭ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "չҹ"
+ "պ"
+ ""
+ "֧"
+ ""
+ "״"
+ "׹"
+ ""
+ ""
+ ""
+ "ا"
+ "ع"
+ "غ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "١"
+ "ٴ"
+ ""
+ "´"
+ ""
+ "ǧ"
+ ""
+ ""
+ "͹"
+ ""
+ "ҧ"
+ "ҹ"
+ ""
+ "ǧ"
+ "ǹ"
+ ""
+ ""
+ "ͧ"
+ ""
+ ""
+ ""
+ "ҧ"
+ ""
+ ""
+ ""
+ "͡"
+ "͡ѭص"
+ "͡ѭ"
+ "͡ɰ"
+ "͡ó"
+ "͡"
+ "͡"
+ "ͤ"
+ "ͤҸ"
+ "ͧ"
+ "ͧҵ"
+ "ͧ"
+ "ͧ"
+ "ͧѡ"
+ "ͧԷ"
+ "ͧҾ¾"
+ "ͧ"
+ "ͧ"
+ "ͧ"
+ "ͧ"
+ "ͧ"
+ "ͧ"
+ "ͧҨ"
+ "ͧ"
+ "ͨ"
+ "ͨԵ"
+ "ͨԹ"
+ "ͨԹ"
+ "ͨ"
+ "ͪ"
+ "ͪ"
+ "ͪԹ"
+ "ͪԹ"
+ "ͪ"
+ "ͯ"
+ "ͳ"
+ "ͳ"
+ "ͳ"
+ "ʹ"
+ "ʹԶ"
+ "ʹ"
+ "ʹ"
+ "ʹ"
+ "ʹ෾"
+ "ʹá"
+ "ʹյ"
+ "ʹ"
+ "ʹ"
+ "ʹ"
+ "͵Ԫҵ"
+ "͵ҹ"
+ "͵Ҫ"
+ "͵"
+ "͵á"
+ "ͷԹҷҹ"
+ "͸"
+ "͸ԡ"
+ "͸ԡó"
+ "͸ԡ"
+ "͸ԡ÷Թ"
+ "͸ԡ"
+ "͸Ԥ"
+ "͸ԯҹ"
+ "͸Ժ"
+ "͸Ժ"
+ "͸Ի"
+ "͸Ի"
+ "͸Ҫ"
+ "͸ɰҹ"
+ "͸֡"
+ "͹"
+ "͹Ţ"
+ "͹"
+ "͹Ţ"
+ "͹"
+ "͹ѵ"
+ "͹ѹ"
+ "͹Ҥ"
+ "͹Ҥ"
+ "͹Ҩ"
+ "͹Ҷ"
+ "͹Ҷ"
+ "͹ҷ"
+ "͹ҸԻ"
+ "͹"
+ "͹ª"
+ "͹¸"
+ "͹"
+ "͹"
+ "͹Ԩ"
+ "͹Ԩѧ"
+ "͹Ԩ"
+ "͹ԯ"
+ "͹"
+ "͹"
+ "͹"
+ "͹ء"
+ "͹ء"
+ "͹ء"
+ "͹ءҪҴ"
+ "͹ء"
+ "͹ء"
+ "͹ب"
+ "͹ت"
+ "͹ت"
+ "͹تҵ"
+ "͹تԵ"
+ "͹حҵ"
+ "͹ح⵵ҡ"
+ "͹طԹ"
+ "͹غ"
+ "͹غ"
+ "͹ػԭ"
+ "͹ؾ"
+ "͹ؾѹ"
+ "͹"
+ "͹"
+ "͹Ҥ"
+ "͹ѵ"
+ "͹ҵ"
+ "͹ҹ"
+ "͹"
+ "͹ѡɹ"
+ "͹ѡ"
+ "͹Ҫ"
+ "͹ٻ"
+ "͹ǧ"
+ "͹ѵ"
+ "͹ʡ"
+ "͹ʵҨ"
+ "͹ʹ"
+ "͹ɯ"
+ "͹ʵ"
+ "͹ʹ"
+ "͹"
+ "͹ó"
+ "͹ѭ"
+ "͹"
+ "͹"
+ "͹ʹ"
+ "͹"
+ "͹"
+ "͹"
+ "͹¤"
+ "͹"
+ "ͺ"
+ "ͺ"
+ "ͺ"
+ "ͺآ"
+ "ͻ"
+ ";¾"
+ ";"
+ ""
+ "Ԫ"
+ "Ԫҵ"
+ "ԭ"
+ "Ը"
+ "Ըҹ"
+ "Թѹ"
+ "Թ"
+ "Թ"
+ "Ժ"
+ "ԻѪ"
+ "Ի"
+ "ӹҨ"
+ "ҹ"
+ "آ"
+ "ô"
+ ""
+ "ѡ"
+ "ѡԵ"
+ "ѹ"
+ "ҷ"
+ ""
+ "Ҩ"
+ "⾸"
+ "⾸"
+ "Է"
+ "Ż"
+ "ɡ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "Ǵ"
+ "Թ"
+ "ĵ"
+ "ĵ"
+ "Ե"
+ ""
+ "ҡ"
+ "ظ"
+ ""
+ ""
+ "ҧ"
+ ""
+ "ê"
+ "ó"
+ "ö"
+ "öҸԺ"
+ ""
+ "ѧ"
+ "ѹ"
+ "ѭ"
+ ""
+ "ºؤ"
+ ""
+ ""
+ "س"
+ "⳷"
+ ""
+ ""
+ ""
+ "ŧ"
+ "ŧó"
+ "ŧ"
+ "ǹ"
+ "ҹ"
+ "ѧ"
+ "Ѫ"
+ "觩"
+ "ǧ"
+ "ͧͧ"
+ "ҧҧ"
+ "ǡ"
+ "Ǵ"
+ "ǵ"
+ "ǹ"
+ "Ǻ"
+ ""
+ ""
+ ""
+ "ҹ"
+ ""
+ ""
+ "Ԫ"
+ "ʧ"
+ "ʹպҵ"
+ ""
+ "ҵ"
+ "þ"
+ "ѧѾ"
+ "ѭ"
+ "ѭ"
+ "ѵ"
+ "յ"
+ "ب"
+ "عպҵ"
+ "á"
+ ""
+ ""
+ "ѧ"
+ "ԧ"
+ "ҵä"
+ ""
+ "͡"
+ "͡ਹ"
+ "͡പѹ"
+ "͡"
+ "͡䫴"
+ "ʹ"
+ "ʹ"
+ "͹"
+ "͹͹"
+ "͹"
+ "͹Ź"
+ "ͻѹ"
+ "ͻ硵"
+ "Ϳ"
+ "Ϳ"
+ "Ϳ"
+ ""
+ ""
+ "᡹"
+ ""
+ ""
+ "Ф"
+ "дչԹ"
+ "е"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "૷չ"
+ ""
+ ""
+ "ѡ"
+ "ѡ"
+ "ѡԸ"
+ "ѡԺѵ"
+ "ѡ"
+ "ѡ"
+ "ѡ"
+ "ѡ"
+ "ѡʺ"
+ "ѡ"
+ "Ѥ"
+ "Ѥ"
+ "Ѥ"
+ "Ѥê"
+ "Ѥ"
+ "ѤҪٵ"
+ "ѧ"
+ "ѧ"
+ "ѧا"
+ "ѧ"
+ "ѧ"
+ "ѧ"
+ "ѧʵ"
+ "ѧʹ"
+ "ѨѺ"
+ "Ѩѹ"
+ "Ѩ"
+ "Ѩ"
+ "Ѩ"
+ "Ѩºؤ"
+ "Ѩ"
+ "Ѩ"
+ "Ѫ"
+ "Ѫ"
+ "ѭ"
+ "ѭ"
+ "ѭѹ"
+ "ѭС"
+ "ѭ"
+ "ѭѭ"
+ "ѭٻ"
+ "ѭԭ"
+ "ѯ"
+ "ѯ"
+ "Ѱ"
+ "Ѱ"
+ "Ѱ"
+ "Ѳѹ"
+ "ѲҤ"
+ "Ѳ"
+ "Ѳ"
+ "Ѳѵ"
+ "ѳ"
+ "ѳ"
+ "ѳҡ"
+ "Ѵ"
+ "ѵѴ"
+ "ѵǻѵ"
+ "ѵ"
+ "ѵ"
+ "ѵҸԻ"
+ "ѵ"
+ "ѵҾ"
+ "ѵ"
+ "ѵԹԺҵ"
+ "ѵѵ"
+ "Ѹ"
+ "ѹ"
+ "ѹѺ"
+ "ѹøҹ"
+ "ѹ"
+ "ѹ"
+ "ѹ"
+ "ѹ"
+ "Ѻ"
+ "ѻҤ"
+ "ѻ"
+ "ѻ"
+ "ѻҳ"
+ "ѻҪ"
+ "ѻ"
+ "ѻѡɳ"
+ "ѻ"
+ "ѻ"
+ "Ѿô"
+ "Ѿവ"
+ "Ѿഷ"
+ "ѿ"
+ ""
+ "ġ"
+ ""
+ "ҵ"
+ "ت"
+ ""
+ "¡"
+ "¡"
+ "ԡ"
+ "Ũ"
+ "ź"
+ "ź"
+ ""
+ "Ȩ"
+ "Թ"
+ "Թ"
+ ""
+ "ɮط"
+ "ɮظ"
+ "ʴ"
+ "ʴ"
+ "ʴ"
+ "ʹ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ҡ"
+ "ҡѻ"
+ "ҡ"
+ "ҡ"
+ "ҡ"
+ "ҡ"
+ "Ңҹ"
+ "Ҥ"
+ "Ҥѹء"
+ "Ҥ"
+ "Ҥ"
+ "Ҧҵ"
+ "ҧҧ"
+ "Ҩ"
+ "Ҩ"
+ "Ҩѵ"
+ "ҨҴ"
+ "Ҩ"
+ "ҨԳ"
+ "Ҫ"
+ "Ҫ"
+ "Ҫ"
+ "Ҫվ"
+ "Ҫ֡"
+ "Ҫ"
+ "ҭ"
+ "ҳѵ"
+ "ҳ"
+ "Ҵ"
+ "Ҵ"
+ "ҵҾ"
+ "ҵ"
+ "Ҷþ"
+ "Ҷþ"
+ "ҷ"
+ "ҷ"
+ "ҷԵ"
+ "ҹ"
+ "ҹʧ"
+ "ҹҾ"
+ "Һ"
+ "Һѵ"
+ "ҾҸ"
+ "ҿҹʶҹ"
+ "ҿԡ"
+ "ó"
+ "Ѿ"
+ ""
+ ""
+ ""
+ "µ"
+ "Ѵ"
+ ""
+ "ʵ"
+ "Ǫ"
+ "ᾷ"
+ "úԤ"
+ ""
+ "ª"
+ "ªҵ"
+ "¸"
+ "»"
+ ""
+ "ѹ"
+ "ѡ"
+ "ѡ"
+ ""
+ ""
+ "Ҹ"
+ ""
+ "ԡ"
+ ""
+ ""
+ "줵ԡ"
+ "ૹ"
+ "Ż"
+ "Ҵ"
+ "ѡɳ"
+ ""
+ ""
+ ""
+ "ó"
+ ""
+ ""
+ "ظ"
+ ""
+ ""
+ ""
+ ""
+ "ҷ"
+ "ʹ"
+ "ʹ"
+ "ѭ"
+ ""
+ "˺٪"
+ ""
+ "Ѻ"
+ ""
+ "¹"
+ ""
+ ""
+ "Ǥ"
+ ""
+ "ҷ"
+ ""
+ "ӹ"
+ "ӹҨ"
+ "Ӿй"
+ "Ӿѹ"
+ "ĵ"
+ "Ե"
+ "ҵ"
+ ""
+ ""
+ ""
+ "ԧ"
+ "ԧ"
+ "ԧ"
+ "Ԩ"
+ "ԩѹ"
+ "ԯ"
+ "԰"
+ "Դ"
+ "Ե"
+ "Ե"
+ "Ե¹"
+ "Է"
+ "Թ"
+ "ԹԹ"
+ "Թ"
+ "Թ"
+ "Թø"
+ "Թǧ"
+ "Թ"
+ "Թ"
+ "Թ"
+ "Թ"
+ "Թѧ"
+ "Թ"
+ "Թ"
+ "Թص"
+ "Թô"
+ "Թԡ"
+ "Թѧ"
+ "Թ"
+ "Թ¹ᴧ"
+ "Թ"
+ "Թ"
+ "Թ࿫"
+ "Թ"
+ "Թ๵"
+ "Թ"
+ "Թ࿫"
+ "Թⴹ"
+ "Թⴹ"
+ "Թ"
+ ""
+ ""
+ "Ի"
+ "Һ"
+ ""
+ "ɯ"
+ "ɯ"
+ ""
+ "ʵ"
+ "Ҿ"
+ ""
+ ""
+ ""
+ ""
+ "ó"
+ ""
+ ""
+ ""
+ ""
+ "ҹ"
+ "ѡ"
+ "硵͹"
+ "硷͹ԡ"
+ "ⷹ"
+ ""
+ ""
+ "ա"
+ "ա"
+ "ա"
+ "դ"
+ "չااѧ"
+ ""
+ "Ի"
+ "©ᩡ"
+ ""
+ "ҹ"
+ "ء"
+ "ͺ"
+ "ѡ"
+ ""
+ ""
+ ""
+ ""
+ "Т"
+ "ššš"
+ ""
+ ""
+ ""
+ "֡"
+ "֡֡"
+ "֡ѡ"
+ "֧"
+ "֧"
+ "֧"
+ "ִ"
+ ""
+ ""
+ "鴷"
+ ""
+ "״"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ء"
+ "ءҺҵ"
+ "ءɯ"
+ "ب"
+ "بҴ"
+ "بä"
+ "ب੷"
+ "ت"
+ "دҡ"
+ "س"
+ "س"
+ "سҡ"
+ "س"
+ "س"
+ "ش"
+ "ش"
+ "ش"
+ "ش˹ع"
+ "صԴ"
+ "صôԵ"
+ "ص"
+ "صش"
+ "صˡ"
+ "ص"
+ "ص"
+ "ص"
+ "ط"
+ "طó"
+ "طѨ"
+ "طҹ"
+ "ط"
+ "ط"
+ "طѪ"
+ "ط"
+ "طҹ"
+ "ط"
+ "طó"
+ "ط"
+ "ط"
+ "ظѨ"
+ "غ"
+ "غ"
+ "غԺ"
+ "غ"
+ "غѵ"
+ "غҷ"
+ "غҷ"
+ "غ"
+ "غʡ"
+ "غԡ"
+ "غ"
+ "ػ"
+ "ػó"
+ "ػ"
+ "ػ"
+ "ػ"
+ "ػ"
+ "ػ"
+ "ػҹ"
+ "ػٵ"
+ "ػ"
+ "ػ¡"
+ "ػ"
+ "ػ"
+ "ػҹ"
+ "ػҪ"
+ "ػʧ"
+ "ػ"
+ "ػä"
+ "ػ"
+ "ػѪ"
+ "ػѪ"
+ "ػѯҡ"
+ "ػѯҹ"
+ "ػѷѹ"
+ "ػѷ˵"
+ "ػҷҹ"
+ "ػ"
+ "ػ¤"
+ "ػš"
+ "ػ"
+ ""
+ ""
+ "ѧصѧ"
+ ""
+ ""
+ "اصѧ"
+ "ɳ"
+ ""
+ ""
+ ""
+ "ມ"
+ ""
+ ""
+ ""
+ "ʶ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ٰ"
+ "ٴ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "š"
+ ""
+ "๡"
+ "๡س"
+ "๨͹Ҷ"
+ ""
+ ""
+ "ԡѹ"
+ "ԡ"
+ "Ǩ"
+ "ᴻ"
+ ""
+ "⳷"
+ "⹪"
+ "⹴ҵ"
+ ""
+ "ȡ"
+ ""
+ "ͧ"
+ "͹"
+ ""
+ ""
+ "ҧ"
+ "ҹ"
+ ""
+ ""
+ ""
+ "ǡ"
+ "ǹ"
+ ""
+ "͹"
+ "͹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ҧ"
+ ""
+ ""
+ ""
+ "ʹ"
+ ""
+ ""
+ "ͧ"
+ ""
+ "Ρ¹"
+ "ǧ"
+ "ǹ"
+ "Ǻ"
+ "͡"
+ "ʹ"
+ "͹"
+ ""
+ "ѹ"
+ "Ź"
+ ""
+ "ѡ"
+ "ѧ"
+ ""
+ ""
+ ""
+ ""
+ "촴ʤ"
+ ""
+ ""
+ "չ"
+ "Ե"
+ "Թ"
+ "Ի"
+ "ʷ"
+ ""
+ ""
+ ""
+ "֡"
+ "ִ"
+ "ִѴ"
+ ""
+ ""
+ ""
+ "״Ҵ"
+ ""
+ ""
+ ""
+ "غ"
+ ""
+ "١"
+ ""
+ ""
+ ""
+ "ͧ"
+ "ͧ"
+ ""
+ ""
+ ""
+ "ࡡá"
+ "ࡨҨ"
+ "ࡳ"
+ "ࡴ"
+ "ࡵ"
+ "ࡹ"
+ ""
+ ""
+ ""
+ "ç"
+ "ô"
+ ""
+ ""
+ "ԡ"
+ ""
+ "¡"
+ "§"
+ "¹"
+ "º"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "§"
+ "´"
+ ""
+ ""
+ ""
+ "§"
+ ""
+ "͡"
+ "͹"
+ ""
+ "͹"
+ ""
+ ""
+ "¹"
+ ""
+ ""
+ "Թ"
+ "ɵ"
+ "ɵá"
+ "ɵá"
+ ""
+ "³"
+ "¹"
+ ""
+ ""
+ ""
+ "Ԫ"
+ ""
+ "С"
+ ""
+ "ҵ"
+ "ҷѳ"
+ "Ѵ"
+ ""
+ ""
+ ""
+ "ԧ"
+ "Դ"
+ "Թ"
+ ""
+ "§"
+ "¨"
+ "´"
+ "¹"
+ "õ"
+ "õԤس"
+ "õԹ"
+ "õԻѵ"
+ "õ"
+ "õ"
+ "õѡ"
+ "õ"
+ ""
+ ""
+ "§"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "͡"
+ "ͺ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "觡Ҩ"
+ ""
+ ""
+ ""
+ ""
+ "駡ҧ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ࢡ"
+ "ࢵ"
+ "ࢹ"
+ "ࢹ"
+ "ࢹ"
+ "ࢹ"
+ "ࢺ稢ǹ"
+ "ࢺ"
+ ""
+ ""
+ "ͺ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "¡"
+ "Ժ"
+ "͹"
+ ""
+ ""
+ ""
+ ""
+ "ŧ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "Т"
+ ""
+ "Թ"
+ "§"
+ "´"
+ "¹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ͧ"
+ "͹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ह"
+ ""
+ ""
+ "ç"
+ "ôԵ"
+ ""
+ ""
+ "´"
+ ""
+ "ͧ"
+ "ͧ"
+ ""
+ "觤Ѵ"
+ "Ժ"
+ ""
+ ""
+ "ͺ"
+ "͹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ҹ"
+ "þ"
+ ""
+ "§"
+ "´"
+ "¹"
+ ""
+ ""
+ ""
+ ""
+ "ͧ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "¹"
+ "ৡ"
+ ""
+ ""
+ "Ч"
+ ""
+ ""
+ "Թ"
+ "º"
+ "§"
+ "¹"
+ ""
+ ""
+ "͡"
+ "ʹ"
+ "ͺ"
+ "ͧ"
+ "͹"
+ "͹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "਴ʶҹ"
+ "਴"
+ "ਵ"
+ "ਵ"
+ "ਵӹ"
+ "ਵ"
+ "ਵ"
+ "ਵٵ"
+ "ਵԡ"
+ "ਹ"
+ ""
+ "è"
+ "ԭ"
+ "Դ"
+ ""
+ "ɮ"
+ ""
+ ""
+ ""
+ ""
+ "Դ"
+ ""
+ ""
+ ""
+ "´"
+ "¹"
+ ""
+ ""
+ ""
+ "º"
+ ""
+ "Ǩ"
+ "¹"
+ ""
+ ""
+ "͹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "Ҫ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "੡"
+ "ੴ"
+ "੾"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "§"
+ ""
+ ""
+ "§"
+ "¹"
+ ""
+ ""
+ "ҡ"
+ ""
+ "Դ"
+ "Ժ"
+ "§"
+ "´"
+ "º"
+ ""
+ ""
+ "͹"
+ ""
+ ""
+ ""
+ "હ"
+ ""
+ ""
+ ""
+ "ɰ"
+ ""
+ ""
+ "ǹ"
+ ""
+ "ԧ"
+ "ԭ"
+ "Դ"
+ ""
+ "§"
+ "§"
+ "º"
+ ""
+ ""
+ "¹"
+ ""
+ "͡"
+ "ʹ"
+ "͹"
+ ""
+ "ͧ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "૵"
+ "ૹ"
+ "ૹԡ"
+ "ૹԵ"
+ "ૹô"
+ "ૹ"
+ "ૹ"
+ "ૻѡС"
+ "૿"
+ ""
+ "´"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ԧ"
+ ""
+ ""
+ "¹"
+ ""
+ ""
+ "§"
+ "ͧ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ҫ"
+ ""
+ ""
+ ""
+ ""
+ "ഡ"
+ "തҡ"
+ "തԵ"
+ "ത"
+ "പ"
+ "പ"
+ "ഫԡ"
+ "ഫԵ"
+ "ഫ"
+ "ഹ"
+ "ഹ"
+ "ഹ"
+ "ഺԵ"
+ "Ѩҹ"
+ ""
+ "Դ"
+ "ʡͻ"
+ ""
+ ""
+ ""
+ "Թ"
+ ""
+ ""
+ "§"
+ "´"
+ ""
+ "ô"
+ "ö"
+ "Ѩҹ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ʹ"
+ "͹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ʹ"
+ ""
+ ""
+ "´"
+ ""
+ ""
+ ""
+ "Դ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "Ժ"
+ ""
+ ""
+ "§"
+ "¹"
+ "º"
+ ""
+ ""
+ ""
+ ""
+ "͹"
+ ""
+ ""
+ "繷"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ҷ֧"
+ "ǹ"
+ ""
+ ""
+ ""
+ "º"
+ ""
+ ""
+ ""
+ "ඡԧ"
+ "ඹ"
+ ""
+ ""
+ "ҹ"
+ "ԧ"
+ "͡Ź"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ԡ"
+ "Դ"
+ "Դԧ"
+ "Թ"
+ "§"
+ ""
+ "͡"
+ "͹"
+ ""
+ ""
+ ""
+ "෤Ԥ"
+ "෤"
+ "෹"
+ "෻"
+ "෾"
+ "෾"
+ "෾Դ"
+ "෾"
+ "෾´"
+ "෾"
+ "෾ѡ"
+ "෾"
+ "෾"
+ ""
+ "ô"
+ "ù"
+ "Ǵ"
+ "Ƿѳ"
+ "Ƿٵ"
+ "Ǹ"
+ "ǸԴ"
+ "ǹ"
+ "ٻ"
+ ""
+ "ʶҹ"
+ "ѭ"
+ "ѹ"
+ ""
+ ""
+ "š"
+ ""
+ "ȡ"
+ "ȹ"
+ "ȹ"
+ "Ⱥ"
+ ""
+ "Ժ"
+ "ʵ"
+ "ѵ"
+ ""
+ "ͭ"
+ ""
+ ""
+ "з"
+ ""
+ "Դ"
+ "Թ"
+ "Ժ"
+ ""
+ ""
+ "¹"
+ "º"
+ ""
+ ""
+ "§"
+ ""
+ "͡"
+ ""
+ "Ť"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ู"
+ "ู"
+ ""
+ "๤"
+ "๵"
+ "๵"
+ "๵ऻ"
+ "๵"
+ "๺"
+ "๻ٹ"
+ "๻"
+ ""
+ "äس"
+ "Ե"
+ ""
+ ""
+ "Թ"
+ "Ժ"
+ ""
+ ""
+ "¹"
+ ""
+ "ͧ"
+ ""
+ "ͧ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "຤͹"
+ "ວ"
+ "ອ"
+ "ອ"
+ "ອҳ"
+ "ອس"
+ "ອ"
+ "ອþ"
+ "ອ"
+ "ອç"
+ "ອ"
+ "ອҧдɰ"
+ "ອҧ"
+ "ອ"
+ "ີ"
+ "ູ"
+ "ູԹ"
+ "ູ"
+ "á"
+ ""
+ ""
+ ""
+ ""
+ "ʺ"
+ ""
+ "Թ"
+ ""
+ "к"
+ ""
+ ""
+ ""
+ ""
+ "ԡ"
+ ""
+ ""
+ "´"
+ "¹"
+ ""
+ "§"
+ ""
+ ""
+ ""
+ "͹"
+ ""
+ ""
+ "ͧ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "໡"
+ "õ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "§"
+ "­"
+ "º"
+ ""
+ ""
+ "§"
+ ""
+ ""
+ "ͧ"
+ ""
+ ""
+ ""
+ ""
+ "¹"
+ ""
+ ""
+ "͡"
+ "ͧ"
+ ""
+ "ͧ"
+ ""
+ ""
+ ""
+ ""
+ "繵"
+ ""
+ ""
+ ""
+ ""
+ "ԡ"
+ "ԧ"
+ "Դ"
+ "Ժ"
+ ""
+ ""
+ ""
+ "¡"
+ ""
+ ""
+ "¡"
+ ""
+ "͡"
+ ""
+ "͹"
+ ""
+ ""
+ "繵"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "༧"
+ "༪ԭ"
+ "༴"
+ "༴§"
+ "༴"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ԭ"
+ ""
+ ""
+ ""
+ ""
+ "Թ"
+ "͡"
+ "ʹ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "͡"
+ "͹"
+ ""
+ ""
+ "ྨ"
+ "ྪҵ"
+ "ྪ"
+ "ྪظ"
+ "ྴҹ"
+ "ྷ"
+ "ྷ"
+ "ྷغ"
+ "ྐྵԹ"
+ "ྐྵ´"
+ "ྐྵ"
+ "ç"
+ ""
+ ""
+ "Դ"
+ ""
+ "¡"
+ "§"
+ "º"
+ ""
+ ""
+ ""
+ "ŧ"
+ ""
+ ""
+ "ԧ"
+ "ԴԹ"
+ "Թ"
+ ""
+ "§"
+ ""
+ ""
+ ""
+ "ԡ"
+ "ԧ"
+ ""
+ ""
+ "§"
+ "º"
+ ""
+ ""
+ "§"
+ "¹"
+ ""
+ "͹"
+ ""
+ ""
+ ""
+ "紷"
+ ""
+ "蹾ҹ"
+ ""
+ ""
+ "࿴"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "Թ"
+ ""
+ ""
+ ""
+ "ͧ"
+ "͹"
+ ""
+ "ͧ"
+ ""
+ "ͧ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "غ"
+ ""
+ "Ѫ"
+ ""
+ ""
+ "õ"
+ ""
+ ""
+ ""
+ "Թ"
+ ""
+ ""
+ ""
+ "ԡ"
+ "ع"
+ ""
+ "Թ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ͧ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "¹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "Թ"
+ ""
+ "§"
+ "§"
+ "¹"
+ "͡"
+ "ͧ"
+ ""
+ ""
+ ""
+ "硫"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "§"
+ "«"
+ "¹"
+ ""
+ "ѹ"
+ "ѹ"
+ "ѹ"
+ ""
+ ""
+ "Ǫ"
+ "Ǿ"
+ "Ǿҹ"
+ ""
+ "ʹ"
+ "Ҫ"
+ "ѡɳ"
+ ""
+ ""
+ ""
+ "Թ"
+ "Ժ"
+ ""
+ ""
+ ""
+ ""
+ "¹"
+ "º"
+ ""
+ "§"
+ ""
+ ""
+ "͡"
+ "͹"
+ ""
+ ""
+ "ͧ"
+ "͹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "â"
+ "â"
+ "âҤԵ"
+ "ó"
+ "ô͹"
+ "ô"
+ "ǹ"
+ "Ǵ"
+ ""
+ ""
+ ""
+ "ԧ"
+ "Դ"
+ ""
+ ""
+ ""
+ "¡"
+ "§"
+ "´"
+ "¹"
+ "º"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "á"
+ ""
+ "͡"
+ "ͧ"
+ "ʹ"
+ "͹"
+ ""
+ "ͧ"
+ ""
+ ""
+ "͹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "Ţ"
+ "Ţ"
+ "ŢҸԡ"
+ "Ţҹء"
+ "Ŵ"
+ "ŵ"
+ "Ź"
+ "Ź"
+ "źҹ͹"
+ ""
+ ""
+ ""
+ "ѧ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ԡ"
+ "ԡ"
+ "Թ"
+ ""
+ ""
+ ""
+ "§"
+ "¹"
+ "º"
+ ""
+ ""
+ "§"
+ "¹"
+ ""
+ "§"
+ ""
+ "͡"
+ "ʹ"
+ "͹"
+ "ͧ"
+ "͹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "Ǥ"
+ "ǤԹ"
+ "Ǥ"
+ "Ǩ"
+ "Ǫ"
+ "Ǫ"
+ "ǰ"
+ "dz"
+ "dz"
+ "dzԡ"
+ "dz"
+ "ǵ"
+ "ǵ"
+ "ǵ"
+ "Ƿ"
+ "Ƿ"
+ "Ƿ"
+ "Ƿҧʵ"
+ "Ƿҧ"
+ "Ƿҹ"
+ "Ƿҹ"
+ "Ƿ"
+ "Ƿ"
+ "Ǹ"
+ "ǹ"
+ "ǹ"
+ "ǹ"
+ "Ǻ䫵"
+ ""
+ ""
+ "ѵ"
+ "ҵԡ"
+ ""
+ ""
+ "ѳ"
+ "ѳ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ʵ"
+ "ʹ"
+ ""
+ ""
+ ""
+ "ѳ"
+ ""
+ "ѹ"
+ "ء"
+ "ѳ"
+ "Ѫ"
+ ""
+ ""
+ "˹"
+ ""
+ "ѧ"
+ "ѻ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ѹ"
+ "ԡ"
+ "൪ѹ"
+ ""
+ ""
+ "§"
+ "´"
+ "¹"
+ "è"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ɰԨ"
+ "ɰʵ"
+ "ɰҹ"
+ "ɰ"
+ "ɰ"
+ ""
+ "ǵ"
+ ""
+ ""
+ ""
+ "ʡ"
+ "ʧ"
+ "ʩǹ"
+ "ʴ"
+ "ʴ"
+ "ʶ"
+ "ʶҾ"
+ "ʹ"
+ "ʹ"
+ "ʹ"
+ "ʹ"
+ "ʹ"
+ "ʹ"
+ "ʹҸԡ"
+ "ʹҺ"
+ "ʹʹ"
+ "ʹ"
+ "ʹ´"
+ "ʹ"
+ "ʹ"
+ "ʹ"
+ "ʹ"
+ "ʹ"
+ "ʺ"
+ "ʺ§"
+ "ʾ"
+ "ʾ"
+ ""
+ ""
+ ""
+ ""
+ "¹"
+ "͹"
+ ""
+ ""
+ "Դ"
+ "Կ"
+ ""
+ ""
+ ""
+ "Ŵ"
+ ""
+ "§"
+ "͡Ź"
+ "ǡ"
+ "ǡҵ"
+ "ǹ"
+ "ǹ"
+ ""
+ "¹"
+ ""
+ ""
+ ""
+ "Ǥ"
+ "dzԵ"
+ "ǹ"
+ "ǹ"
+ ""
+ "Ҥ"
+ "Ҿ"
+ ""
+ "ѡɳ"
+ ""
+ ""
+ ""
+ "§"
+ "´"
+ "º"
+ ""
+ ""
+ ""
+ "§"
+ ""
+ "¹"
+ ""
+ ""
+ ""
+ "͡"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "˧"
+ "˧"
+ "˧͡"
+ "˧"
+ "˧"
+ "˵"
+ "˵ءó"
+ "˹"
+ "˹˹"
+ "˹"
+ "˹§"
+ "˹"
+ "˹"
+ "˹"
+ "˹"
+ "˹"
+ "˹"
+ "˹"
+ "˹"
+ "˹"
+ "˹"
+ ""
+ "Ǵ"
+ "ѹ"
+ ""
+ ""
+ ""
+ ""
+ "ͧ"
+ "ʹ"
+ "͹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "§"
+ ""
+ "ԧ"
+ "´"
+ "º"
+ ""
+ "͡"
+ ""
+ ""
+ "ѭԡ"
+ ""
+ "­"
+ "Ź"
+ ""
+ ""
+ ""
+ ""
+ "ԧ"
+ "¹"
+ ""
+ ""
+ ""
+ "͡"
+ "ͧ"
+ "ͺ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ǧ"
+ ""
+ ""
+ ""
+ "§"
+ ""
+ ""
+ ""
+ ""
+ "Թ"
+ ""
+ "¹"
+ ""
+ ""
+ "¹"
+ ""
+ "ʹ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "͡"
+ "͡ѹ"
+ "͡"
+ "͡"
+ "͡"
+ "͡"
+ "͡Ҿ"
+ "͡"
+ "͡ö¤"
+ "͡Ҫ"
+ "͡ѡɳ"
+ "͡"
+ "͡Ѥ"
+ "͡ҸԻ"
+ "͡ࢹ"
+ "͡"
+ "ͧ"
+ "ͪ"
+ "ʹ"
+ "ʹ"
+ "͵Ѥ"
+ "ͷ"
+ "͹"
+ "͹ҹ"
+ "͹"
+ "ͻѹ"
+ ""
+ ""
+ "ѳ"
+ ""
+ ""
+ "ѧ"
+ ""
+ "̡"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ҷص"
+ ""
+ "ԡ"
+ "Ժ"
+ ""
+ "§"
+ "´"
+ "¹"
+ "¹"
+ ""
+ ""
+ "§"
+ ""
+ ""
+ "´"
+ ""
+ ""
+ "͹"
+ ""
+ ""
+ ""
+ "ͧ"
+ "͹"
+ ""
+ ""
+ ""
+ ""
+ "¹"
+ ""
+ "蹵"
+ "Ấ"
+ "硫"
+ "硫"
+ "硫"
+ ""
+ ""
+ "紵"
+ "֧"
+ ""
+ "繴"
+ "෹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "Χ"
+ ""
+ "Ԥͻ"
+ "õ"
+ ""
+ "¹"
+ "º"
+ ""
+ "͡"
+ "͹"
+ "չ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ᡧ"
+ "᡹"
+ ""
+ ""
+ "á"
+ "ùԵ"
+ ""
+ "俵"
+ ""
+ ""
+ ""
+ ""
+ "ź"
+ "͹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ᢡ"
+ "ᢹ"
+ "ᢹ"
+ ""
+ ""
+ ""
+ "§"
+ ""
+ ""
+ "ǡ"
+ "ǧ"
+ "ǹ"
+ ""
+ ""
+ ""
+ "觢ѹ"
+ ""
+ ""
+ ""
+ "ᤪ"
+ "ᤪ"
+ "ᤵͤ"
+ "᤹"
+ "᤺"
+ "᤻"
+ ""
+ "ç"
+ ""
+ ""
+ ""
+ "Ť"
+ "ŧ"
+ "Ź"
+ ""
+ "Կ"
+ ""
+ "Ǥͧ"
+ ""
+ ""
+ "ǡ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ᨡ"
+ "ᨧ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ᩡ"
+ "ᩧ"
+ "ź"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "໭"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "᫧"
+ "᫴"
+ "᫹Ԫ"
+ "᫺"
+ ""
+ "Դ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ᴡ"
+ "ᴧ"
+ "ᴴ"
+ "ᴹ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ᵡ"
+ "ᵧ"
+ "ᵧ"
+ "ᵧ"
+ "ᵧ"
+ "ᵴ"
+ "ᵹ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ᶡ"
+ "ᶺ"
+ ""
+ "ŧ"
+ ""
+ "ᷧ"
+ "᷹"
+ "᷹"
+ "᷺"
+ "á"
+ "á"
+ ""
+ "硫"
+ "秡"
+ ""
+ ""
+ ""
+ ""
+ "Ṻ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ạ"
+ "Ấ"
+ "ầ"
+ "ầ"
+ "ẴԹѹ"
+ "ẵ"
+ "ẹ"
+ "ẹ"
+ "Ẻ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ừԿԤ"
+ "Ỵ"
+ "Ỻ"
+ ""
+ "á"
+ "ç"
+ "ûǹ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "š"
+ "ŧ"
+ "Ź"
+ "ź"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "Ы"
+ ""
+ ""
+ "ἡ"
+ "ἧ"
+ "ἴ"
+ "Ἱ"
+ "Ἱ"
+ ""
+ "ŧ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ὡ"
+ "ὧ"
+ "ὴ"
+ ""
+ "ᾧ"
+ "ᾧ"
+ "ᾷʵ"
+ "ᾷ"
+ "ᾷ"
+ "ᾷ"
+ "Ᾱ"
+ "Ᾱ"
+ "Ᾱԭ"
+ ""
+ "á"
+ ""
+ ""
+ ""
+ ""
+ "ŧ"
+ "ŵ"
+ "ŷԹ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ࡨ"
+ ""
+ ""
+ ""
+ ""
+ "ῡ"
+ "ῧ"
+ "Ὺ"
+ "Ό"
+ "Ό"
+ "Ὼ"
+ ""
+ "š"
+ "ŵ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ҹ"
+ ""
+ ""
+ "ŧ"
+ ""
+ ""
+ ""
+ ""
+ "ͧ͹"
+ ""
+ ""
+ ""
+ "¡"
+ "§"
+ "º"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "á"
+ "ç"
+ "ô"
+ ""
+ ""
+ "ࡵ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "š"
+ "ŧ"
+ "Ź"
+ "Ź"
+ "Ź"
+ "ź"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ǧ"
+ "Ǵ"
+ "Ǻ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ʡ"
+ "ʧ"
+ "ʴ"
+ "ʴ"
+ "ʵ"
+ "ʹ"
+ "ʹҡ"
+ "ʹҹҾ"
+ "ʺ"
+ ""
+ "¡"
+ "§"
+ ""
+ ""
+ "ŧ"
+ "ǧ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ˡ"
+ "˧"
+ "˧"
+ "˧"
+ "˧"
+ "˧"
+ "˹"
+ "˹"
+ "˹"
+ "˹"
+ "˺"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "§"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "š"
+ "Ź"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ǡ"
+ "ǹ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "͡"
+ "ʹ"
+ "ʹҹ"
+ "ʹ"
+ "͹"
+ "͹"
+ "͹졵ԡ"
+ "͹Ժʹ"
+ "͹ਹ"
+ "͹"
+ "ͺ"
+ ";पѹ"
+ ";"
+ "Ϳԡ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "š"
+ "ſ"
+ "ʿŵ"
+ "Թ"
+ "Ѵ"
+ "⹴"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ꤪ"
+ ""
+ ""
+ ""
+ "ι"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "⡡"
+ "⡧"
+ "⡧ҧ"
+ "⡯"
+ "⡴ѧ"
+ "⡹"
+ ""
+ "ط"
+ ""
+ "á"
+ "ç"
+ "ø"
+ "ø"
+ ""
+ ""
+ "Ŵ"
+ "Ź"
+ ""
+ ""
+ "ʹ"
+ "Թ"
+ ""
+ ""
+ "ˡ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "⢡"
+ "⢧"
+ "⢴"
+ "⢹"
+ "⢹"
+ ""
+ ""
+ ""
+ "¡"
+ "§"
+ ""
+ "š"
+ "ŧ"
+ ""
+ ""
+ "⤡"
+ "⤨"
+ "⤵"
+ "⤹"
+ "⤹"
+ "⤺ŵ"
+ ""
+ ""
+ "á"
+ "ç"
+ "ç"
+ ""
+ "Ҫ"
+ ""
+ ""
+ ""
+ ""
+ "ŧ"
+ "ŧŧ"
+ "Ź"
+ "Ź"
+ ""
+ "ǵ"
+ "ह"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ɡ"
+ "ɳ"
+ ""
+ "Ե"
+ ""
+ "⧡"
+ "⧧"
+ "⧧১"
+ "⧹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "⨡"
+ "⨧"
+ "⨧"
+ "⨷"
+ "⨷"
+ "⨷"
+ "⨹"
+ ""
+ ""
+ "á"
+ ""
+ "ɨѹ"
+ "觤"
+ ""
+ ""
+ "매"
+ ""
+ "⩧੧"
+ "⩴"
+ "⩹"
+ "⩺"
+ ""
+ "š"
+ ""
+ "觩ҧ"
+ "⪡"
+ "⪡ع"
+ "⪤"
+ "⪴"
+ "⪴֡"
+ "⪵"
+ "⪹"
+ ""
+ ""
+ ""
+ "⫡"
+ "⫴"
+ ""
+ ""
+ ""
+ "٪"
+ ""
+ "µ"
+ ""
+ ""
+ "ⴡഡ"
+ "ⴴ"
+ "ⴹ"
+ "ⴹѷ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ⵡ"
+ "ⵧ൧"
+ "⵹"
+ "⵹"
+ ""
+ "á"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "⶧"
+ "ⶺ"
+ ""
+ ""
+ "ⷡ෡"
+ "ⷧ"
+ "ⷧ෧"
+ "ⷹ"
+ ""
+ ""
+ "äҤ"
+ "÷ȹ"
+ "÷ȹ"
+ "þ"
+ "Ҿ"
+ ""
+ "Ѿ"
+ "Ţ"
+ ""
+ "ɷѳ"
+ "ҹ"
+ ""
+ ""
+ "Ҥ"
+ ""
+ ""
+ ""
+ ""
+ "⹹"
+ ""
+ ""
+ ""
+ ""
+ "鵺"
+ ""
+ ""
+ ""
+ ""
+ "⺡"
+ "⺡ó"
+ "⺡"
+ "⺵"
+ "⺵"
+ "⺹"
+ ""
+ "չ"
+ "͹"
+ "ҳ"
+ ""
+ ""
+ "ʶ"
+ ""
+ ""
+ ""
+ "⻡"
+ "⻧"
+ "⻧ҧ"
+ "⻹"
+ ""
+ "ç"
+ "ô"
+ "õ͹"
+ "õչ"
+ "õ"
+ ""
+ ""
+ "ᵹ"
+ ""
+ ""
+ "ѹ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ʡ"
+ ""
+ ""
+ "Ź"
+ ""
+ ""
+ "觢"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "¹"
+ ""
+ ""
+ "⼧"
+ "⼹"
+ ""
+ "šš"
+ "Ź"
+ ""
+ ""
+ ""
+ ""
+ "⾡"
+ "⾧"
+ "⾧ҧ"
+ "⾫Ե͹"
+ "⾸ԭҳ"
+ "⾸Ժѧ"
+ "⾸"
+ "⾸ѵ"
+ "⾸"
+ "⾹"
+ "⾹й"
+ ""
+ "¡ǹ"
+ ""
+ "á"
+ "ç"
+ "д"
+ "ⵤ"
+ "ŧ"
+ "Ź"
+ ""
+ ""
+ ""
+ ""
+ "ʾ"
+ ""
+ ""
+ "⿡"
+ "⿹"
+ ""
+ ""
+ "Թ"
+ ""
+ ""
+ ""
+ "ҡ"
+ "ҡ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ѭ"
+ ""
+ "¡"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "Ժչ"
+ ""
+ ""
+ "ѹ"
+ "Ҥ"
+ ""
+ ""
+ ""
+ ""
+ "š"
+ "ʡ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "¡"
+ "¡"
+ "¤"
+ "¤"
+ "§"
+ "ª"
+ "¸"
+ "¸Թ"
+ "¹"
+ "¹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ä"
+ "äԵ"
+ "ä"
+ "äҾҸ"
+ "ç"
+ "ç"
+ "ç¹"
+ "ç"
+ "è"
+ "è"
+ "õ"
+ "ø"
+ "ø"
+ ""
+ "ѹ"
+ ""
+ ""
+ ""
+ "Ե"
+ ""
+ ""
+ "š"
+ "šԷ"
+ "šѹ"
+ "š"
+ "šҸԺ"
+ "šҸ"
+ "š"
+ "šԹ"
+ "š"
+ "šѵ"
+ "š"
+ "šصø"
+ "šص"
+ "ŧ"
+ "Ũ"
+ "ų"
+ "Ŵ"
+ "ŵ"
+ "Ź"
+ ""
+ ""
+ ""
+ ""
+ "Ѫ"
+ "Ե"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ȡ"
+ "ȡ"
+ "ȡҴ"
+ "ȡ"
+ "ȡ"
+ ""
+ "ʡѹ"
+ "ʳ"
+ "ʳ"
+ "ʴ"
+ "ʴ"
+ "ʴҺѹ"
+ "ʵ"
+ "ʷ"
+ "ʷ"
+ "ʸ"
+ "ʸ"
+ "ʹ"
+ ""
+ ""
+ "Գ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "è"
+ ""
+ "ó"
+ ""
+ ""
+ ""
+ "á"
+ "˧"
+ "˴"
+ "˹"
+ "˹"
+ "˹"
+ ""
+ ""
+ ""
+ ""
+ "¡¡"
+ "§"
+ ""
+ ""
+ "çç"
+ "о"
+ ""
+ "Ҩ"
+ "ʵ"
+ ""
+ "ŧ"
+ "Ź"
+ ""
+ ""
+ "ǡǡ"
+ "ǧ"
+ "Ǵ"
+ "ǵ"
+ ""
+ ""
+ ""
+ "͡"
+ "͡"
+ "͡Թ"
+ "ͧ"
+ "ͧ⢴"
+ "ͪ"
+ "ͪ"
+ "ʹ"
+ "͵ѻ"
+ "͹"
+ "ͺ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "о"
+ "ԡ"
+ "ҷ"
+ "ɰ"
+ "ɰ"
+ "ʶ"
+ "ѧ"
+ ""
+ ""
+ "ԡ"
+ "֡"
+ "໡"
+ "§"
+ ""
+ "ͫ"
+ ""
+ "⫹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "Ρ"
+ ""
+ ""
+ "ʵ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ǧ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "˭"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ѹ"
+ "ء"
+ ""
+ ""
+ ""
+ ""
+ "繵"
+ "͹"
+ ""
+ ""
+ ""
+ ""
+ "䩹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "䫵"
+ "䫹"
+ "䫺"
+ "䫻"
+ "乴"
+ ""
+ ""
+ ""
+ "ù"
+ "Ź"
+ ""
+ ""
+ ""
+ "䴹"
+ "䴹"
+ ""
+ ""
+ "͡"
+ "͡͡"
+ ""
+ "á"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ͧ"
+ ""
+ ""
+ ""
+ ""
+ "ѹ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "䷡"
+ "䷿´"
+ ""
+ "Ѱ"
+ ""
+ "´"
+ ""
+ ""
+ ""
+ "乵Ѻ"
+ "͹"
+ ""
+ "ਹ"
+ "亵"
+ ""
+ ""
+ ""
+ ""
+ "ɳºó"
+ "ɳºѵ"
+ "ɳѳ"
+ "ɳѵ"
+ "ɳҡ"
+ "ɳ"
+ ""
+ ""
+ ""
+ ""
+ "伷"
+ ""
+ ""
+ ""
+ "侨Ե"
+ "侱"
+ "侺"
+ ""
+ "èԵ"
+ "ñ"
+ "Ѫ"
+ "Թ"
+ ""
+ ""
+ "Թ"
+ ""
+ ""
+ ""
+ "è"
+ ""
+ "͡"
+ ""
+ ""
+ "ṹ"
+ "͹"
+ ""
+ "Һ"
+ ""
+ ""
+ "ëͿ"
+ "ǿ"
+ "⿹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ૹ"
+ ""
+ ""
+ ""
+ ""
+ "ǡٳ"
+ "DZ"
+ "Ƿ"
+ "ǹ"
+ "Ǿ"
+ "ҡó"
+ "Ѩ"
+ "Ѩ"
+ ""
+ "Թ"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "˹"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "ͤ͹"
+ "ͷ"
+ "ͺ"
+ ""
+ ""
+ "ѳ"
+ "Ź"
+ "ȡ"
+ ""
+ ""
+ "͹"
+ "ⷻ"
+ "ʹչ"
+ ""
+ "δ"
+ ""
+ "ä͹"
+ ""
+ )))
+ (setq thai-word-table (list 'thai-words))
+ (while l
+ (set-nested-alist (car l) 1 thai-word-table)
+ (setq l (cdr l))))
+
+
+(defun thai-update-word-table (file &optional append)
+ "Update Thai word table by replacing the current word list with
+FILE. If called with a prefix argument, FILE is appended instead to
+the current word list."
+ (interactive "FThai word table file: \nP")
+ (let ((buf (generate-new-buffer "*thai-work*"))
+ (coding-system-for-read 'thai-tis620)
+ (table (if append thai-word-table (list 'thai-words))))
+ (unwind-protect
+ (save-excursion
+ (set-buffer buf)
+ (insert-file-contents file)
+ (goto-char (point-min))
+ (while (re-search-forward "\\ct+" nil t)
+ (set-nested-alist (match-string 0) 1 table)))
+ (kill-buffer buf))
+ (setq thai-word-table table)))
+
+
+;; Two special Thai characters regarded as suffix of words.
+
+(defconst thai-MaiYaMok (make-char 'thai-tis620 ?\xE6))
+(defconst thai-PaiYanNoi (make-char 'thai-tis620 ?\xCF))
+
+
+;; Find Thai words starting at POS and return a list of positions of
+;; the Thai word ends. It doesn't move point. LIMIT limits the
+;; maximum position. IGNORE is a list of positions to ignore. It is
+;; assumed that all following characters to LIMIT are Thai. If the
+;; following char is not Thai (i.e., POS is equal to LIMIT), return t.
+;;
+;; Note that the longest word position comes first.
+
+(defun thai-find-word-ends (pos limit &optional ignore)
+ (if (>= pos limit)
+ t
+ (let* ((char (char-after pos))
+ (this (cdr (assq char (cdr thai-word-table))))
+ category-set
+ positions)
+ ;; Look up the following character sequence in `thai-word-table'
+ ;; character by character.
+ (while this
+ (setq pos (1+ pos)
+ char (char-after pos)
+ category-set (char-category-set char))
+ ;; If the current sequence is recorded in `thai-word-table'
+ ;; (i.e. (car THIS) is 1) and the following Thai character is
+ ;; not an upper-vowel, lower-vowel, or tone-mark, we have
+ ;; found a possible word ending position.
+ (if (and (eq (car this) 1)
+ (not (or (aref category-set ?2)
+ (aref category-set ?3)
+ (aref category-set ?4))))
+ (progn
+ ;; Skip possible Thai suffices.
+ (while (or (eq char thai-MaiYaMok) (eq char thai-PaiYanNoi))
+ (setq pos (1+ pos)
+ char (char-after pos)))
+ ;; Skip character positions in IGNORE list.
+ (or (memq pos ignore)
+ (setq positions (cons pos positions)))))
+ ;; Set up next loop.
+ (setq this (and (< pos limit) (cdr (assq char this)))))
+ positions)))
+
+
+;; Move point forward to the end of Thai word which follows point and
+;; update VEC. VEC is a vector of three elements used to cache word
+;; end positions. The Nth element, if non-nil, is a list of end
+;; points of the Nth word, or t indicating that there is no Thai
+;; character. LIMIT limits the point movement.
+
+(defun thai-forward-word-update-info (vec limit)
+ (let ((pos (point))
+ v0 v1 v2 v3
+ second-best
+ tried
+ positions)
+ (if
+ ;; If four succeeding Thai words are found, throw t, otherwise
+ ;; throw nil.
+ (catch 'tag
+ ;; Start with first vector element.
+ (setq v0 (aref vec 0))
+ (unless v0
+ ;; Update VEC if V0 is empty.
+ (setq v0 (thai-find-word-ends pos limit))
+ (aset vec 0 v0)
+ (aset vec 1 nil))
+ ;; In case we haven't found any wordbreaks resp. point has
+ ;; reached LIMIT, exit the catch body.
+ (if (symbolp v0) ; i.e. nil or t?
+ (throw 'tag nil))
+ ;; OK, V0 holds possible word ends for the current position.
+ ;; We save V0 for later reference.
+ (setq tried v0)
+ (setq v1 (aref vec 1))
+ ;; Now we try all end word positions to find the next word.
+ (while v0
+ (setq pos (car v0))
+ (unless v1
+ ;; Update VEC if V1 is empty, ignoring positions already
+ ;; found -- for Thai, we need the longest match, so if
+ ;; we have
+ ;;
+ ;; start(long-word) = start(short-word1)
+ ;; end(short-word1) = start(short-word2)
+ ;; end(short-word2) = end(long-word)
+ ;;
+ ;; only long-word is used.
+ (setq v1 (thai-find-word-ends pos limit tried))
+ (aset vec 1 v1)
+ (aset vec 2 nil))
+ ;; If point has reached LIMIT, exit the catch body.
+ (if (eq v1 t)
+ (throw 'tag t))
+ ;; Save SECOND-BEST, if this hasn't been done already.
+ ;; The `second best' solution is the end position of the
+ ;; longest first word followed by the longest second word.
+ (or second-best
+ (not v1)
+ (setq second-best (cons v0 v1)))
+ ;; Update the already tried end word positions.
+ (setq tried (append tried v1))
+ ;; Now repeat the whole process to find a third word.
+ (when v1
+ (setq v2 (aref vec 2))
+ (while v1
+ (setq pos (car v1))
+ (unless v2
+ (setq v2 (thai-find-word-ends pos limit tried))
+ (aset vec 2 v2))
+ (if (eq v2 t)
+ (throw 'tag t))
+ (setq tried (append tried v2))
+ ;; And the same for a fourth word.
+ (while v2
+ (setq pos (car v2))
+ (setq v3 (thai-find-word-ends pos limit tried))
+ (if v3
+ (throw 'tag t))
+ (setq v2 (cdr v2)))
+ (setq v1 (cdr v1))))
+ (setq v0 (cdr v0)))
+ ;; No success.
+ nil)
+ (progn
+ ;; We found four succeeding Thai words (or LIMIT has been
+ ;; reached). Move to the end of the first word.
+ (goto-char (car v0))
+ ;; Update VEC for the next function call. If no larger word
+ ;; positions have been found, set the corresponding vector
+ ;; element to nil.
+ (if (and (consp v1) (< (car v1) (car (aref vec 1))))
+ (aset vec 0 nil)
+ (aset vec 0 v1)
+ (if (and (consp v2) (< (car v2) (car (aref vec 2))))
+ (aset vec 1 nil)
+ (aset vec 1 v2)
+ (aset vec 2 v3)))) ; exit function successfully
+
+ ;; We didn't find four consecutive words. If we have found a
+ ;; `second best' solution and the length of those two words is
+ ;; longer than the longest word we can see at the current point,
+ ;; adopt the second best solution. This decision is based on
+ ;; heuristic tests.
+ (if (and second-best
+ (< (car (aref vec 0)) (car (cdr second-best))))
+ (progn
+ (goto-char (car (car second-best)))
+ (aset vec 0 (cdr second-best)))
+ ;; We finally failed to find a word break. For Thai, the best
+ ;; solution is to extend the first longest word so that the
+ ;; end point starts a second word.
+ (setq pos (or (car (aref vec 0)) pos))
+ (while (and (< pos limit)
+ (not (setq positions (thai-find-word-ends pos limit))))
+ (setq pos (1+ pos)))
+ (goto-char pos)
+ (aset vec 0 positions))
+ (aset vec 1 nil)
+ nil)))
+
+
+;; Return a list of Thai word boundary positions after the current
+;; point. LIMIT, if non-nil, limits the region to check.
+
+(defun thai-find-word-boundaries (&optional limit)
+ (or limit
+ (setq limit (point-max)))
+ (save-excursion
+ (let ((vec (make-vector 3 nil))
+ (boundaries nil)
+ this-limit)
+ ;; Loop over all (consecutive) Thai regions by using the
+ ;; character property `t' until LIMIT is reached.
+ (while (and (< (point) limit)
+ (re-search-forward "\\ct+" nil t))
+ (setq this-limit (point))
+ (goto-char (match-beginning 0))
+ (fillarray vec nil)
+ ;; Check the first word, initializing VEC.
+ (thai-forward-word-update-info vec this-limit)
+ ;; Then loop over the remaining words in the current Thai
+ ;; region, collecting the boundaries.
+ (while (< (point) this-limit)
+ (setq boundaries (cons (point) boundaries))
+ (thai-forward-word-update-info vec this-limit)))
+ boundaries)))
+
+
+(defun thai-break-words (separator &optional limit)
+ "Break Thai words by inserting a separator string at word boundaries."
+ (interactive "sSeparator: ")
+ (save-excursion
+ (let ((boundaries (thai-find-word-boundaries limit)))
+ (while boundaries
+ (goto-char (car boundaries))
+ (insert separator)
+ (setq boundaries (cdr boundaries))))))
+
+
+(defun thai-forward-word (count)
+ "Move point forward COUNT words considering Thai word boundaries.
+If COUNT is negative, move point backward (- COUNT) words."
+ (interactive "p")
+ (if (> count 0)
+ (while (> count 0)
+ (skip-syntax-forward "^w")
+ (if (looking-at "\\ct+")
+ ;; We have reached a Thai region, so we must do something
+ ;; special instead of using forward-word.
+ (let ((start (point))
+ (limit (match-end 0))
+ boundaries
+ tail)
+ ;; If thai-forward-word has been called within a Thai
+ ;; region, we must go back until the Thai region starts
+ ;; to do the contextual analysis for finding word
+ ;; breaks.
+ (while (aref (char-category-set (preceding-char)) ?t)
+ (forward-char -1))
+ ;; OK, we ask for the list of word boundaries in
+ ;; reversed order.
+ (setq boundaries (nreverse (thai-find-word-boundaries limit)))
+ ;; Now we search for the next boundary after START.
+ (while (and boundaries (<= (car boundaries) start))
+ (setq boundaries (cdr boundaries)))
+ ;; Adjust loop for next while loop.
+ (setq count (1- count))
+ ;; Now we skip Thai words until the BOUNDARIES list is
+ ;; empty or count-1 words have been passed.
+ (if (not boundaries)
+ (goto-char limit)
+ (while (and (> count 0)
+ boundaries)
+ (setq boundaries (cdr boundaries)
+ count (1- count)))
+ ;; If BOUNDARIES is empty, the word counter is not
+ ;; zero yet (remember that we have decreased COUNT by
+ ;; one), so we go to LIMIT. Otherwise go to next
+ ;; boundary.
+ (if boundaries
+ (goto-char (car boundaries))
+ (goto-char limit))))
+ ;; No Thai region.
+ (forward-word 1)
+ (setq count (1- count))))
+ ;; The symmetrical action for negative values.
+ (if (< count 0)
+ (while (< count 0)
+ (skip-syntax-backward "^w")
+ (if (aref (char-category-set (preceding-char)) ?t)
+ (let ((start (point))
+ (limit (if (looking-at "\\ct+") (match-end 0)
+ (point)))
+ boundaries)
+ (forward-char -1)
+ (while (aref (char-category-set (preceding-char)) ?t)
+ (forward-char -1))
+ (setq boundaries (thai-find-word-boundaries limit))
+ (while (and boundaries (>= (car boundaries) start))
+ (setq boundaries (cdr boundaries)))
+ (setq count (1+ count))
+ (if boundaries
+ (progn
+ (while (and (< count 0) boundaries)
+ (setq boundaries (cdr boundaries)
+ count (1+ count)))
+ (if boundaries
+ (goto-char (car boundaries))))))
+ (forward-word -1)
+ (setq count (1+ count)))))))
+
+
+(defun thai-backward-word (count)
+ "Move point backward COUNT words considering Thai word boundaries.
+If COUNT is negative, move point forward (- COUNT) words."
+ (interactive "p")
+ (thai-forward-word (- count)))
+
+
+(provide 'thai-word)
+
+
+;; Local Variables:
+;; coding: tis-620
+;; End:
+
+;; end of thai-word.el
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/lisp/mule-2.3/cjk-enc.el b/language/chinese/CJK/cjk-4.8.4/utils/lisp/mule-2.3/cjk-enc.el
new file mode 100644
index 0000000000..d93d53e5ca
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/lisp/mule-2.3/cjk-enc.el
@@ -0,0 +1,625 @@
+;;; cjk-enc.el --- provide a coding system for LaTeX2e CJK package
+
+;; Copyright (C) 1996, 1998 Electrotechnical Laboratory, JAPAN.
+
+;; Author: Kenichi HANDA <handa@etl.go.jp>
+;; Werner LEMBERG <wl@gnu.org>
+
+;; Keywords: CJK package, LaTeX2e, mule
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to
+;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+
+;;
+;; CJK Version 4.8.4 (18-Apr-2015)
+;;
+
+;;; Code
+
+;; The following tables map from Mule's internal encoding to LaTeX2e
+;; macros. Note that not all macros defined here really do exist. See
+;; MULEenc.sty and cjk-enc.txt for further details.
+;;
+;; The active TeX character 0x80 is defined as a multiplex command which
+;; executes its first argument. To make the macro expansion robust
+;; against \uppercase and \lowercase, numbers are used as parameters which
+;; index the various commands.
+;;
+;; 0xFF will be used as a parameter delimiting character.
+
+(defconst cjk-latin-1
+ [;0xa0
+ "99\177" "1\177" "2\177" "3\177"
+ "4\177" "5\177" "6\177" "7\177"
+ "8\177\\ " "9\177" "10\177" "11\177"
+ "12\177" "0\177-{}" "14\177" "15\177\\ "
+
+ ; 0xb0
+ "16\177" "17\177" "18\177" "19\177"
+ "20\177\\ " "21\177" "22\177" "23\177"
+ "24\177\\ " "25\177" "26\177" "27\177"
+ "28\177" "29\177" "30\177" "31\177"
+
+ ; 0xc0
+ "32\177A" "20\177A" "33\177A" "34\177A"
+ "8\177A" "0\177\\AA" "0\177\\AE" "24\177C"
+ "32\177E" "20\177E" "33\177E" "8\177E"
+ "32\177I" "20\177I" "33\177I" "8\177I"
+
+ ; 0xd0
+ "0\177\\DJ" "34\177N" "32\177O" "20\177O"
+ "33\177O" "34\177O" "8\177O" "38\177"
+ "0\177\\O" "32\177U" "20\177U" "33\177U"
+ "8\177U" "20\177Y" "0\177\\TH" "0\177\\ss"
+
+ ; 0xe0
+ "32\177a" "20\177a" "33\177a" "34\177a"
+ "8\177a" "0\177\\aa" "0\177\\ae" "24\177c"
+ "32\177e" "20\177e" "33\177e" "8\177e"
+ "32\177\\i" "20\177\\i" "33\177\\i" "8\177\\i"
+
+ ; 0xf0
+ "0\177\\dj" "34\177n" "32\177o" "20\177o"
+ "33\177o" "34\177o" "8\177o" "45\177"
+ "0\177\\o" "32\177u" "20\177u" "33\177u"
+ "8\177u" "20\177y" "0\177\\th" "8\177y"
+ ])
+
+(defconst cjk-latin-2
+ [; 0xa0
+ "99\177" "48\177A" "49\177\\ " "0\177\\L"
+ "4\177" "51\177L" "20\177S" "7\177"
+ "8\177\\ " "51\177S" "24\177S" "51\177T"
+ "20\177Z" "0\177-{}" "51\177Z" "52\177Z"
+
+ ; 0xb0
+ "16\177" "48\177a" "48\177\\ " "0\177\\l"
+ "20\177\\ " "51\177l" "20\177s" "51\177\\ "
+ "24\177\\ " "51\177s" "24\177s" "51\177t"
+ "20\177z" "55\177\\ " "51\177z" "52\177z"
+
+ ; 0xc0
+ "20\177R" "20\177A" "33\177A" "49\177A"
+ "8\177A" "20\177L" "20\177C" "24\177C"
+ "51\177C" "20\177E" "48\177E" "8\177E"
+ "51\177E" "20\177I" "33\177I" "51\177D"
+
+ ; 0xd0
+ "0\177\\DJ" "20\177N" "51\177N" "20\177O"
+ "33\177O" "55\177O" "8\177O" "38\177"
+ "51\177R" "53\177U" "20\177U" "55\177U"
+ "8\177U" "20\177Y" "24\177T" "0\177\\ss"
+
+ ; 0xe0
+ "20\177r" "20\177a" "33\177a" "49\177a"
+ "8\177a" "20\177l" "20\177c" "24\177c"
+ "51\177c" "20\177e" "48\177e" "8\177e"
+ "51\177e" "20\177\\i" "33\177\\i" "51\177d"
+
+ ; 0xf0
+ "0\177\\dj" "20\177n" "51\177n" "20\177o"
+ "33\177o" "55\177o" "8\177o" "45\177"
+ "51\177r" "53\177u" "20\177u" "55\177u"
+ "8\177u" "20\177y" "24\177t" "52\177\\ "
+ ])
+
+(defconst cjk-latin-3
+ [; 0xa0
+ "99\177" "0\177\\TEXTMALTESEH" "49\177\\ " "3\177"
+ "4\177" "" "33\177H" "7\177"
+ "8\177\\ " "52\177I" "24\177S" "49\177G"
+ "33\177J" "0\177-{}" "" "52\177Z"
+
+ ; 0xb0
+ "16\177" "0\177\\textmalteseh" "18\177" "19\177"
+ "20\177\\ " "21\177" "33\177h" "23\177"
+ "24\177\\ " "0\177\\i" "24\177s" "49\177g"
+ "33\177\\j" "29\177" "" "52\177z"
+
+ ; 0xc0
+ "32\177A" "20\177A" "33\177A" ""
+ "8\177A" "52\177C" "33\177C" "24\177C"
+ "32\177E" "20\177E" "33\177E" "8\177E"
+ "32\177I" "20\177I" "33\177I" "8\177I"
+
+ ; 0xd0
+ "" "34\177N" "32\177O" "20\177O"
+ "33\177O" "52\177G" "8\177O" "38\177"
+ "33\177G" "32\177U" "20\177U" "33\177U"
+ "8\177U" "49\177U" "33\177S" "0\177\\ss"
+
+ ; 0xe0
+ "32\177a" "20\177a" "33\177a" ""
+ "8\177a" "52\177c" "33\177c" "24\177c"
+ "32\177e" "20\177e" "33\177e" "8\177e"
+ "32\177\\i" "20\177\\i" "33\177\\i" "8\177\\i"
+
+ ; 0xf0
+ "" "34\177n" "32\177o" "20\177o"
+ "33\177o" "52\177g" "8\177o" "45\177"
+ "33\177g" "32\177u" "20\177u" "33\177u"
+ "8\177u" "49\177u" "33\177s" "52\177\\ "
+ ])
+
+(defconst cjk-latin-4
+ [; 0xa0
+ "99\177" "48\177A" "59\177" "24\177R"
+ "4\177" "34\177I" "24\177L" "7\177"
+ "8\177\\ " "51\177S" "15\177E" "24\177G"
+ "0\177\\TEXTTSTROKE" "0\177-{}" "51\177Z" "15\177\\ "
+
+ ; 0xb0
+ "16\177" "48\177a" "48\177\\ " "24\177r"
+ "20\177\\ " "34\177\\i" "24\177l" "51\177\\ "
+ "24\177\\ " "51\177s" "15\177e" "24\177g"
+ "0\177\\texttstroke" "0\177\\NG" "51\177z" "0\177\\ng"
+
+ ; 0xc0
+ "15\177A" "20\177A" "33\177A" "34\177A"
+ "8\177A" "0\177\\AA" "0\177\\AE" "48\177I"
+ "51\177C" "20\177E" "48\177E" "8\177E"
+ "52\177E" "20\177I" "33\177I" "15\177I"
+
+ ; 0xd0
+ "0\177\\DJ" "24\177N" "15\177O" "24\177K"
+ "33\177O" "34\177O" "8\177O" "38\177"
+ "0\177\\O" "48\177U" "20\177U" "33\177U"
+ "8\177U" "34\177U" "15\177U" "0\177\\ss"
+
+ ; 0xe0
+ "15\177a" "20\177a" "33\177a" "34\177a"
+ "8\177a" "0\177\\aa" "0\177\\ae" "48\177i"
+ "51\177c" "20\177e" "48\177e" "8\177e"
+ "52\177e" "20\177\\i" "33\177\\i" "15\177\\i"
+
+ ; 0xf0
+ "0\177\\dj" "24\177n" "15\177o" "24\177k"
+ "33\177o" "34\177o" "8\177o" "45\177"
+ "0\177\\o" "48\177u" "20\177u" "33\177u"
+ "8\177u" "34\177u" "15\177u" "52\177\\ "
+ ])
+
+(defconst cjk-latin-5 ; ISO 8859-9
+ [; 0xa0
+ "99\177" "1\177" "2\177" "3\177"
+ "4\177" "5\177" "6\177" "7\177"
+ "8\177\\ " "9\177" "10\177" "11\177"
+ "12\177" "0\177-{}" "14\177" "15\177\\ "
+
+ ; 0xb0
+ "16\177" "17\177" "18\177" "19\177"
+ "20\177\\ " "21\177" "22\177" "23\177"
+ "24\177\\ " "25\177" "26\177" "27\177"
+ "28\177" "29\177" "30\177" "31\177"
+
+ ; 0xc0
+ "32\177A" "20\177A" "33\177A" "34\177A"
+ "8\177A" "0\177\\AA" "0\177\\AE" "24\177C"
+ "32\177E" "20\177E" "33\177E" "8\177E"
+ "32\177I" "20\177I" "33\177I" "8\177I"
+
+ ; 0xd0
+ "49\177G" "34\177N" "32\177O" "20\177O"
+ "33\177O" "34\177O" "8\177O" "38\177"
+ "0\177\\O" "32\177U" "20\177U" "33\177U"
+ "8\177U" "52\177I" "24\177S" "0\177\\ss"
+
+ ; 0xe0
+ "32\177a" "20\177a" "33\177a" "34\177a"
+ "8\177a" "0\177\\aa" "0\177\\ae" "24\177c"
+ "32\177e" "20\177e" "33\177e" "8\177e"
+ "32\177\\i" "20\177\\i" "33\177\\i" "8\177\\i"
+
+ ; 0xf0
+ "49\177g" "34\177n" "32\177o" "20\177o"
+ "33\177o" "34\177o" "8\177o" "45\177"
+ "0\177\\o" "32\177u" "20\177u" "33\177u"
+ "8\177u" "0\177\\i" "24\177s" "8\177y"
+ ])
+
+(defconst cjk-latin-jisx ; JIS X 0201 lower half
+ [; 0xa0
+ "" "0\177!" "37\177" "0\177\\#"
+ "39\177" "0\177\\%" "0\177\\&" "40\177"
+ "0\177(" "0\177)" "0\177*" "0\177+"
+ "0\177," "0\177-" "0\177." "0\177/"
+
+ ; 0xb0
+ "0\1770" "0\1771" "0\1772" "0\1773"
+ "0\1774" "0\1775" "0\1776" "0\1777"
+ "0\1778" "0\1779" "0\177:" "0\177;"
+ "41\177" "0\177=" "42\177" "0\177?"
+
+ ; 0xc0
+ "36\177" "0\177A" "0\177B" "0\177C"
+ "0\177D" "0\177E" "0\177F" "0\177G"
+ "0\177H" "0\177I" "0\177J" "0\177K"
+ "0\177L" "0\177M" "0\177N" "0\177O"
+
+ ; 0xd0
+ "0\177P" "0\177Q" "0\177R" "0\177S"
+ "0\177T" "0\177U" "0\177V" "0\177W"
+ "0\177X" "0\177Y" "0\177Z" "0\177["
+ "5\177" "0\177]" "43\177" "44\177"
+
+ ; 0xe0
+ "46\177" "0\177a" "0\177b" "0\177c"
+ "0\177d" "0\177e" "0\177f" "0\177g"
+ "0\177h" "0\177i" "0\177j" "0\177k"
+ "0\177l" "0\177m" "0\177n" "0\177o"
+
+ ; 0xf0
+ "0\177p" "0\177q" "0\177r" "0\177s"
+ "0\177t" "0\177u" "0\177v" "0\177w"
+ "0\177x" "0\177y" "0\177z" "47\177"
+ "50\177" "54\177" "56\177" ""
+ ])
+
+(defconst cjk-cyrillic ; ISO 8859-5
+ [; 0xa0
+ "99\177" "0\177\\CYRYO" "0\177\\CYRDJE" "20\177\\CYRG"
+ "0\177\\CYRIE" "0\177\\CYRDZE" "0\177\\CYRII" "0\177\\CYRYI"
+ "0\177\\CYRJE" "0\177\\CYRLJE" "0\177\\CYRNJE" "0\177\\CYRTSHE"
+ "20\177\\CYRK" "0\177-{}" "0\177\\CYRUSHRT" "0\177\\CYRDZHE"
+
+ ; 0xb0
+ "0\177\\CYRA" "0\177\\CYRB" "0\177\\CYRV" "0\177\\CYRG"
+ "0\177\\CYRD" "0\177\\CYRE" "0\177\\CYRZH" "0\177\\CYRZ"
+ "0\177\\CYRI" "0\177\\CYRISHRT" "0\177\\CYRK" "0\177\\CYRL"
+ "0\177\\CYRM" "0\177\\CYRN" "0\177\\CYRO" "0\177\\CYRP"
+
+ ; 0xc0
+ "0\177\\CYRR" "0\177\\CYRS" "0\177\\CYRT" "0\177\\CYRU"
+ "0\177\\CYRF" "0\177\\CYRH" "0\177\\CYRC" "0\177\\CYRCH"
+ "0\177\\CYRSH" "0\177\\CYRSHCH" "0\177\\CYRHRDSN" "0\177\\CYRERY"
+ "0\177\\CYRSFTSN" "0\177\\CYREREV" "0\177\\CYRYU" "0\177\\CYRYA"
+
+ ; 0xd0
+ "0\177\\cyra" "0\177\\cyrb" "0\177\\cyrv" "0\177\\cyrg"
+ "0\177\\cyrd" "0\177\\cyre" "0\177\\cyrzh" "0\177\\cyrz"
+ "0\177\\cyri" "0\177\\cyrishrt" "0\177\\cyrk" "0\177\\cyrl"
+ "0\177\\cyrm" "0\177\\cyrn" "0\177\\cyro" "0\177\\cyrp"
+
+ ; 0xe0
+ "0\177\\cyrr" "0\177\\cyrs" "0\177\\cyrt" "0\177\\cyru"
+ "0\177\\cyrf" "0\177\\cyrh" "0\177\\cyrc" "0\177\\cyrch"
+ "0\177\\cyrsh" "0\177\\cyrshch" "0\177\\cyrhrdsn" "0\177\\cyrery"
+ "0\177\\cyrsftsn" "0\177\\cyrerev" "0\177\\cyryu" "0\177\\cyrya"
+
+ ; 0xf0
+ "35\177" "0\177\\cyryo" "0\177\\cyrdje" "20\177\\cyrg"
+ "0\177\\cyrie" "0\177\\cyrdze" "0\177\\cyrii" "0\177\\cyryi"
+ "0\177\\cyrje" "0\177\\cyrlje" "0\177\\cyrnje" "0\177\\cyrtshe"
+ "20\177\\cyrk" "7\177" "0\177\\cyrushrt" "0\177\\cyrdzhe"
+ ])
+
+(defconst cjk-greek ; ISO 8859-7
+ [;0xa0
+ "99\177" "0\177<{}" "0\177>{}" "3\177"
+ "" "" "6\177" "7\177"
+ "8\177\\ " "9\177" "" "0\177(("
+ "12\177" "0\177-{}" "" "0\177---"
+
+ ; 0xb0
+ "16\177" "17\177" "18\177" "19\177"
+ "0\177'{}" "0\177\"'{}" "0\177'A" "0\177;"
+ "0\177'E" "0\177'H" "0\177'I" "0\177))"
+ "0\177'O" "29\177" "0\177'U" "0\177'W"
+
+ ; 0xc0
+ "0\177\"'i" "0\177A" "0\177B" "0\177G"
+ "0\177D" "0\177E" "0\177Z" "0\177H"
+ "0\177J" "0\177I" "0\177K" "0\177L"
+ "0\177M" "0\177N" "0\177X" "0\177O"
+
+ ; 0xd0
+ "0\177P" "0\177R" "" "0\177S"
+ "0\177T" "0\177U" "0\177F" "0\177Q"
+ "0\177Y" "0\177W" "0\177\"I" "0\177\"U"
+ "0\177'a" "0\177'e" "0\177'h" "0\177'i"
+
+ ; 0xe0
+ "0\177\"'u" "0\177a" "0\177b" "0\177g"
+ "0\177d" "0\177e" "0\177z" "0\177h"
+ "0\177j" "0\177i" "0\177k" "0\177l"
+ "0\177m" "0\177n" "0\177x" "0\177o"
+
+ ; 0xf0
+ "0\177p" "0\177r" "0\177c" "0\177s"
+ "0\177t" "0\177u" "0\177f" "0\177q"
+ "0\177y" "0\177w" "0\177\"i" "0\177\"u"
+ "0\177'o" "0\177'u" "0\177'w" ""
+ ])
+
+(defconst cjk-viscii-lower
+ [; 0xA0
+ "" "20\177\\abreve" "32\177\\abreve" "71\177\\abreve"
+ "20\177\\acircumflex" "32\177\\acircumflex" "73\177\\acircumflex" "71\177\\acircumflex"
+ "34\177e" "71\177e" "20\177\\ecircumflex" "32\177\\ecircumflex"
+ "73\177\\ecircumflex" "34\177\\ecircumflex" "71\177\\ecircumflex" "20\177\\ocircumflex"
+
+ ; 0xB0
+ "32\177\\ocircumflex" "73\177\\ocircumflex" "34\177\\ocircumflex" ""
+ "" "71\177\\ocircumflex" "32\177\\ohorn" "73\177\\ohorn"
+ "71\177i" "" "" ""
+ "" "0\177\\ohorn" "20\177\\ohorn" ""
+
+ ; 0xC0
+ "" "" "" ""
+ "" "" "73\177\\abreve" "34\177\\abreve"
+ "" "" "" ""
+ "" "" "" "32\177y"
+
+ ; 0xD0
+ "" "20\177\\uhorn" "" ""
+ "" "71\177a" "73\177y" "32\177\\uhorn"
+ "73\177\\uhorn" "" "" "34\177y"
+ "71\177y" "" "34\177\\ohorn" "0\177\\uhorn"
+
+ ; 0xE0
+ "32\177a" "20\177a" "0\177\\acircumflex" "34\177a"
+ "73\177a" "0\177\\abreve" "34\177\\uhorn" "34\177\\acircumflex"
+ "32\177e" "20\177e" "0\177\\ecircumflex" "73\177e"
+ "32\177i" "20\177i" "34\177i" "73\177i"
+
+ ; 0xF0
+ "0\177\\dj" "71\177\\uhorn" "32\177o" "20\177o"
+ "0\177\\ocircumflex" "34\177o" "73\177o" "71\177o"
+ "71\177u" "32\177u" "20\177u" "34\177u"
+ "73\177u" "20\177y" "71\177\\ohorn" ""
+ ])
+
+(defconst cjk-viscii-upper
+ [; 0xA0
+ "" "20\177\\ABREVE" "32\177\\ABREVE" "71\177\\ABREVE"
+ "20\177\\ACIRCUMFLEX" "32\177\\ACIRCUMFLEX" "73\177\\ACIRCUMFLEX" "71\177\\ACIRCUMFLEX"
+ "34\177E" "71\177E" "20\177\\ECIRCUMFLEX" "32\177\\ECIRCUMFLEX"
+ "73\177\\ECIRCUMFLEX" "34\177\\ECIRCUMFLEX" "71\177\\ECIRCUMFLEX" "20\177\\OCIRCUMFLEX"
+
+ ; 0xB0
+ "32\177\\OCIRCUMFLEX" "73\177\\OCIRCUMFLEX" "34\177\\OCIRCUMFLEX" ""
+ "" "71\177\\OCIRCUMFLEX" "32\177\\OHORN" "73\177\\OHORN"
+ "71\177I" "" "" ""
+ "" "0\177\\OHORN" "20\177\\OHORN" ""
+
+ ; 0xC0
+ "" "" "" ""
+ "" "" "73\177\\ABREVE" "34\177\\ABREVE"
+ "" "" "" ""
+ "" "" "" "32\177Y"
+
+ ; 0xD0
+ "" "20\177\\UHORN" "" ""
+ "" "71\177A" "73\177Y" "32\177\\UHORN"
+ "73\177\\UHORN" "" "" "34\177Y"
+ "71\177Y" "" "34\177\\OHORN" "0\177\\UHORN"
+
+ ; 0xE0
+ "32\177A" "20\177A" "0\177\\ACIRCUMFLEX" "34\177A"
+ "73\177A" "0\177\\ABREVE" "34\177\\UHORN" "34\177\\ACIRCUMFLEX"
+ "32\177E" "20\177E" "0\177\\ECIRCUMFLEX" "73\177E"
+ "32\177I" "20\177I" "34\177I" "73\177I"
+
+ ; 0xF0
+ "0\177\\DJ" "71\177\\UHORN" "32\177O" "20\177O"
+ "0\177\\OCIRCUMFLEX" "34\177O" "73\177O" "71\177O"
+ "71\177U" "32\177U" "20\177U" "34\177U"
+ "73\177U" "20\177Y" "71\177\\OHORN" ""
+ ])
+
+
+;; The following encodings will be selected (if they occur in the input
+;; buffer) at the very beginning of the output buffer to load the
+;; corresponding CJK macros.
+(defconst cjk-enc-table
+ (let ((vec (make-vector 256 nil)))
+ (aset vec lc-cn "GB")
+ (aset vec lc-kana "SJIS")
+ (aset vec lc-jp "JIS")
+ (aset vec lc-jp2 "JIS2")
+ (aset vec lc-kr "KS")
+ (aset vec lc-big5-1 "Bg5")
+ (aset vec lc-big5-2 "Bg5")
+ (aset vec lc-cns1 "CNS1")
+ (aset vec lc-cns2 "CNS2")
+ (aset vec lc-cns3 "CNS3")
+ (aset vec lc-cns4 "CNS4")
+ (aset vec lc-cns5 "CNS5")
+ (aset vec lc-cns6 "CNS6")
+ (aset vec lc-cns7 "CNS7")
+ vec))
+
+(defconst cjk-space "\17764\177\177")
+(defconst cjk-nospace "\17765\177\177")
+
+;; here we have the format specification table which defines what to do
+;; for each encoding.
+(defconst cjk-format-spec-table
+ (let ((vec (make-vector 256 nil)))
+ ;; Element is a vector VEC. Each character is formatted as:
+ ;; (format "\177%s\177" (aref VEC (- char-code 160)))
+ (aset vec lc-ltn1 cjk-latin-1)
+ (aset vec lc-ltn2 cjk-latin-2)
+ (aset vec lc-ltn3 cjk-latin-3)
+ (aset vec lc-ltn4 cjk-latin-4)
+ (aset vec lc-ltn5 cjk-latin-5)
+ (aset vec lc-roman cjk-latin-jisx)
+ ;; T2A encoding is used for Cyrillic letters. You must explicitly
+ ;; switch between T2 and T1/OT1 encoding.
+ (aset vec lc-crl cjk-cyrillic)
+ ;; LGR encoding (resp. its ligatures) is used for Greek letters. You
+ ;; must explicitly switch between LGR and T1/OT1 encoding (using
+ ;; e.g. Babel's `greek' option).
+ (aset vec lc-grk cjk-greek)
+ ;; for Vietnamese a Vietnamese TeX-font has to be used which contains
+ ;; ASCII characters too! You must explicitly switch between Vietnamese
+ ;; T5 and T1/OT1 encoding.
+ (aset vec lc-vn-1 cjk-viscii-lower)
+ (aset vec lc-vn-2 cjk-viscii-upper)
+
+ ;; Element is a cons of header HEAD and formatter FORMAT. HEAD is
+ ;; printed first, then each character is formatted as:
+ ;; (format FORMAT char-code-1 char-code-2)
+ (aset vec lc-kana '("\17770\177\177" . "\177%c\177\177"))
+ (aset vec lc-jp '("\17766\177\177" . "\177%c\177%d\177"))
+ (aset vec lc-cn '("\17767\177\177" . "\177%c\177%d\177"))
+ (aset vec lc-big5-1 '("\17768\177\177" . "\177%c\177%d\177"))
+ (aset vec lc-big5-2 '("\17768\177\177" . "\177%c\177%d\177"))
+ (aset vec lc-kr '("\17769\177\177" . "\177%c\177%d\177"))
+
+ ;; Element is a formatter string FORMAT. Each character is
+ ;; formatted as:
+ ;; (format FORMAT char-code-1 char-code-2)
+ (aset vec lc-jp2 "\17772\177JIS2\177\177%d\177%d\177")
+ (aset vec lc-cns1 "\17772\177CNS1\177\177%d\177%d\177")
+ (aset vec lc-cns2 "\17772\177CNS2\177\177%d\177%d\177")
+ (aset vec lc-cns3 "\17772\177CNS3\177\177%d\177%d\177")
+ (aset vec lc-cns4 "\17772\177CNS4\177\177%d\177%d\177")
+ (aset vec lc-cns5 "\17772\177CNS5\177\177%d\177%d\177")
+ (aset vec lc-cns6 "\17772\177CNS6\177\177%d\177%d\177")
+ (aset vec lc-cns7 "\17772\177CNS7\177\177%d\177%d\177")
+ vec))
+
+
+(make-coding-system
+ '*cjk-coding* 0 ?c
+ "Coding-system for LaTeX2e CJK Package" 1)
+
+
+(put '*cjk-coding* 'pre-write-conversion 'cjk-encode)
+
+
+(defun cjk-encode (from to)
+ (save-excursion
+ (save-restriction
+ (narrow-to-region from to)
+ (let ((mc-flag t)
+ (re-multibyte-char "[\177-\237][\240-\177]+")
+ (enc (make-vector 256 nil))
+ (space-state nil)
+ (require-cjk-execute nil)
+ prev-lc lc ch ch1 ch2 format-spec)
+ (goto-char (point-min))
+ (if (null (let (mc-flag) (re-search-forward re-multibyte-char nil t)))
+ ;; No multilingual text. Nothing to do.
+ nil
+ (goto-char (match-beginning 0))
+ (setq prev-lc lc-ascii)
+ (while (not (eobp))
+ ;; Now we are at a multibyte character.
+ ;; Set the following variables:
+ ;; LC -- leading char
+ ;; CH1 -- first char code
+ ;; CH2 -- second char code (of two byte chars)
+ (setq ch (following-char))
+ (delete-char 1)
+ (setq lc (char-component ch 0))
+ (if (or (= lc lc-big5-1) (= lc lc-big5-2))
+ ;; Mule has special encoding for Big5 characters. We
+ ;; must decode them to the normal Big5 codes.
+ (let ((vec (g2b ch)))
+ (setq ch1 (aref vec 0) ch2 (aref vec 1)))
+ (setq ch1 (char-component ch 1)
+ ch2 (char-component ch 2)))
+
+ ;; FORMAT-SPEC tells how to encode this character.
+ (setq format-spec (aref cjk-format-spec-table lc))
+ (if (null format-spec)
+ ;; Unsupported character set.
+ nil
+ ;; Ok, it is supported. If this character set is one of
+ ;; CJK, we need a special header at the beginning of the
+ ;; file.
+ (if (aset enc lc (aref cjk-enc-table lc))
+ (setq require-cjk-execute t))
+
+ (cond ((consp format-spec)
+ ;; We may have to insert the car part of the cons
+ ;; and/or space controlling commands
+ ;; (cjk-space/cjk-nospace) depending on the current
+ ;; context.
+ (if (= lc lc-kr)
+ (or (eq space-state cjk-space)
+ (insert (setq space-state cjk-space)))
+ (or (eq space-state cjk-nospace)
+ (insert (setq space-state cjk-nospace))))
+ (if (/= prev-lc lc)
+ (insert (car format-spec)))
+ (insert (format (cdr format-spec) ch1 ch2)))
+
+ ((vectorp format-spec)
+ (insert (format "\177%s\177"
+ (aref format-spec (- ch1 160)))))
+ (t ; FORMAT-SPEC is just a formatting string.
+ (insert (format format-spec ch1 ch2)))))
+
+ ;; Prepare the next loop.
+ (setq prev-lc lc)
+ ;; Skip spaces, etc.
+ (skip-chars-forward " \t\n")
+ ;; If there are any ASCII chars, skip them also, but set
+ ;; PREV-LC to LC-ASCII.
+ (if (and (< (following-char) 128)
+ (let (mc-flag)
+ (re-search-forward re-multibyte-char nil 'move)))
+ (progn
+ (goto-char (match-beginning 0))
+ (setq prev-lc lc-ascii))))
+
+ ;; Now, insert an appropriate header at the head of the file.
+ (goto-char (point-min))
+ (if require-cjk-execute
+ (let ((i 128))
+ (insert "\\def\\CJKhook{")
+ (while (< i 256)
+ (if (aref enc i)
+ (insert (format "\\CJKenc{%s}" (aref enc i))))
+ (setq i (1+ i)))
+ (insert "}")
+ (insert "\\ifx\\CJKpreproc\\undefined")
+ (insert "\\def\\CJKpreproc{cjk-enc}")
+ (insert "\\RequirePackage[global]{CJK}")
+ (insert "\\AtBeginDocument{\\begin{CJK}{}{}\\CJKspace}")
+ (insert "\\AtEndDocument{\\end{CJK}}")
+ (insert "\\else\\CJKhook\\fi "))
+ (insert "\\ifx\\CJKpreproc\\undefined")
+ (insert "\\def\\CJKpreproc{cjk-enc}")
+ (insert "\\RequirePackage{MULEenc}")
+ (insert "\\fi ")))))))
+
+
+(defun cjk-write-file ()
+ "Save current buffer and <buffername>.cjk in *cjk-coding*.
+Files of the form <buffername>.bib are saved as <buffername>-cjk.bib"
+
+ (interactive)
+ (let ((bufname (buffer-file-name))
+ body
+ extension
+ newbufname)
+ (save-buffer)
+ (string-match "\\(.*\\)\\(\\.[^/]*$\\)" bufname)
+ (setq body (match-string 1 bufname)
+ extension (match-string 2 bufname))
+ (setq newbufname
+ (concat body
+ (if (string-equal extension ".bib")
+ "-cjk.bib"
+ ".cjk")))
+ (message "Saving %s and %s" bufname newbufname)
+ (let ((set-file-coding-system *cjk-coding*))
+ (write-region (point-min) (point-max) newbufname))))
+
+
+;;; EOF
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pinyin.c b/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pinyin.c
new file mode 100644
index 0000000000..a728991c73
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pinyin.c
@@ -0,0 +1,480 @@
+/*
+
+ This is the file pinyin.c of the CJK macro package ver. 4.8.4
+ (18-Apr-2015).
+
+ Use this file to generate a hyphenation input file for patgen.
+
+ Usage:
+
+ pinyin > pinyin.dic
+
+ */
+
+/*
+ Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program in doc/COPYING; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ MA 02110-1301 USA
+ */
+
+#include <stdio.h>
+
+
+/* A list of all Chinese syllables. We use latin-1 encoding for the
+ `umlaut u' character. */
+
+char *py[] =
+{
+ "a",
+ "ai",
+ "an",
+ "ang",
+ "ao",
+ "ba",
+ "bai",
+ "ban",
+ "bang",
+ "bao",
+ "bei",
+ "ben",
+ "beng",
+ "bi",
+ "bian",
+ "biao",
+ "bie",
+ "bin",
+ "bing",
+ "bo",
+ "bu",
+ "ca",
+ "cai",
+ "can",
+ "cang",
+ "cao",
+ "ce",
+ "cen",
+ "ceng",
+ "cha",
+ "chai",
+ "chan",
+ "chang",
+ "chao",
+ "che",
+ "chen",
+ "cheng",
+ "chi",
+ "chong",
+ "chou",
+ "chu",
+ "chuai",
+ "chuan",
+ "chuang",
+ "chui",
+ "chun",
+ "chuo",
+ "ci",
+ "cong",
+ "cou",
+ "cu",
+ "cuan",
+ "cui",
+ "cun",
+ "cuo",
+ "da",
+ "dai",
+ "dan",
+ "dang",
+ "dao",
+ "de",
+ "dei",
+ "deng",
+ "di",
+ "dian",
+ "diao",
+ "die",
+ "ding",
+ "diu",
+ "dong",
+ "dou",
+ "du",
+ "duan",
+ "dui",
+ "dun",
+ "duo",
+ "e",
+ "ei",
+ "en",
+ "eng",
+ "er",
+ "fa",
+ "fan",
+ "fang",
+ "fei",
+ "fen",
+ "feng",
+ "fiao",
+ "fo",
+ "fou",
+ "fu",
+ "ga",
+ "gai",
+ "gan",
+ "gang",
+ "gao",
+ "ge",
+ "gei",
+ "gen",
+ "geng",
+ "gong",
+ "gou",
+ "gu",
+ "gua",
+ "guai",
+ "guan",
+ "guang",
+ "gui",
+ "gun",
+ "guo",
+ "ha",
+ "hai",
+ "han",
+ "hang",
+ "hao",
+ "he",
+ "hei",
+ "hen",
+ "heng",
+ "hong",
+ "hou",
+ "hu",
+ "hua",
+ "huai",
+ "huan",
+ "huang",
+ "hui",
+ "hun",
+ "huo",
+ "ji",
+ "jia",
+ "jian",
+ "jiang",
+ "jiao",
+ "jie",
+ "jin",
+ "jing",
+ "jiong",
+ "jiu",
+ "ju",
+ "juan",
+ "jue",
+ "jun",
+ "ka",
+ "kai",
+ "kan",
+ "kang",
+ "kao",
+ "ke",
+ "kei",
+ "ken",
+ "keng",
+ "kong",
+ "kou",
+ "ku",
+ "kua",
+ "kuai",
+ "kuan",
+ "kuang",
+ "kui",
+ "kun",
+ "kuo",
+ "la",
+ "lai",
+ "lan",
+ "lang",
+ "lao",
+ "le",
+ "lei",
+ "leng",
+ "li",
+ "lia",
+ "lian",
+ "liang",
+ "liao",
+ "lie",
+ "lin",
+ "ling",
+ "liu",
+ "long",
+ "lou",
+ "lu",
+ "luan",
+ "lun",
+ "luo",
+ "l",
+ "le",
+ "ma",
+ "mai",
+ "man",
+ "mang",
+ "mao",
+ "me",
+ "mei",
+ "men",
+ "meng",
+ "mi",
+ "mian",
+ "miao",
+ "mie",
+ "min",
+ "ming",
+ "miu",
+ "mo",
+ "mou",
+ "mu",
+ "na",
+ "nai",
+ "nan",
+ "nang",
+ "nao",
+ "ne",
+ "nei",
+ "nen",
+ "neng",
+ "ni",
+ "nian",
+ "niang",
+ "niao",
+ "nie",
+ "nin",
+ "ning",
+ "niu",
+ "nong",
+ "nou",
+ "nu",
+ "nuan",
+ "nuo",
+ "n",
+ "ne",
+ "o",
+ "ou",
+ "pa",
+ "pai",
+ "pan",
+ "pang",
+ "pao",
+ "pei",
+ "pen",
+ "peng",
+ "pi",
+ "pian",
+ "piao",
+ "pie",
+ "pin",
+ "ping",
+ "po",
+ "pou",
+ "pu",
+ "qi",
+ "qia",
+ "qian",
+ "qiang",
+ "qiao",
+ "qie",
+ "qin",
+ "qing",
+ "qiong",
+ "qiu",
+ "qu",
+ "quan",
+ "que",
+ "qun",
+ "ran",
+ "rang",
+ "rao",
+ "re",
+ "ren",
+ "reng",
+ "ri",
+ "rong",
+ "rou",
+ "ru",
+ "ruan",
+ "rui",
+ "run",
+ "ruo",
+ "sa",
+ "sai",
+ "san",
+ "sang",
+ "sao",
+ "se",
+ "sen",
+ "seng",
+ "sha",
+ "shai",
+ "shan",
+ "shang",
+ "shao",
+ "she",
+ "shei",
+ "shen",
+ "sheng",
+ "shi",
+ "shou",
+ "shu",
+ "shua",
+ "shuai",
+ "shuan",
+ "shuang",
+ "shui",
+ "shun",
+ "shuo",
+ "si",
+ "song",
+ "sou",
+ "su",
+ "suan",
+ "sui",
+ "sun",
+ "suo",
+ "ta",
+ "tai",
+ "tan",
+ "tang",
+ "tao",
+ "te",
+ "tei",
+ "teng",
+ "ti",
+ "tian",
+ "tiao",
+ "tie",
+ "ting",
+ "tong",
+ "tou",
+ "tu",
+ "tuan",
+ "tui",
+ "tun",
+ "tuo",
+ "wa",
+ "wai",
+ "wan",
+ "wang",
+ "wei",
+ "wen",
+ "weng",
+ "wo",
+ "wu",
+ "xi",
+ "xia",
+ "xian",
+ "xiang",
+ "xiao",
+ "xie",
+ "xin",
+ "xing",
+ "xiong",
+ "xiu",
+ "xu",
+ "xuan",
+ "xue",
+ "xun",
+ "ya",
+ "yan",
+ "yang",
+ "yao",
+ "ye",
+ "yi",
+ "yin",
+ "ying",
+ "yo",
+ "yong",
+ "you",
+ "yu",
+ "yuan",
+ "yue",
+ "yun",
+ "za",
+ "zai",
+ "zan",
+ "zang",
+ "zao",
+ "ze",
+ "zei",
+ "zen",
+ "zeng",
+ "zha",
+ "zhai",
+ "zhan",
+ "zhang",
+ "zhao",
+ "zhe",
+ "zhei",
+ "zhen",
+ "zheng",
+ "zhi",
+ "zhong",
+ "zhou",
+ "zhu",
+ "zhua",
+ "zhuai",
+ "zhuan",
+ "zhuang",
+ "zhui",
+ "zhun",
+ "zhuo",
+ "zi",
+ "zong",
+ "zou",
+ "zu",
+ "zuan",
+ "zui",
+ "zun",
+ "zuo"
+};
+
+
+int main(void)
+{
+ int i, j, off;
+ size_t size = sizeof (py) / sizeof (char*);
+ char s[20];
+
+ /* Now we loop through all possible syllable combinations. */
+
+ for (i = 0; i < size; i++)
+ for (j = 0; j < size; j++)
+ {
+ /* The seldom used `%n' construct yields the number of processed
+ characters so far. */
+
+ sprintf(s, "%s%n%s", py[i], &off, py[j]);
+
+ /* We check the first character of the second syllable. If it is
+ a vowel, a quote will be inserted. Example: Tian'anmen. */
+
+ if (s[off] == 'a' || s[off] == 'e' || s[off] == 'o')
+ printf("%s'-%s\n", py[i], py[j]);
+
+ /* No special case. */
+
+ else
+ printf("%s-%s\n", py[i], py[j]);
+ }
+
+ return 0;
+}
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pinyin.ldf b/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pinyin.ldf
new file mode 100644
index 0000000000..9fbe8e4fa9
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pinyin.ldf
@@ -0,0 +1,62 @@
+% This is the file pinyin.ldf of the CJK package
+% for hyphenating Chinese pinyin syllables.
+%
+% We use the latin-1 character code for `umlaut u' (0xfc). Additionally,
+% the quote character "'" is used in its standard sense (resolving syllabic
+% ambiguities).
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\ProvidesLanguage{pinyin}
+ [CJK 4.8.4 pinyin support for the babel system]
+
+\LdfInit{pinyin}{captionspinyin}
+
+\ifx\l@pinyin\@undefined
+ \@nopatterns{pinyin}
+ \adddialect\l@pinyin0
+\fi
+
+\def\pinyinhyphenmins{11}
+\def\captionspinyin{}
+\def\datepinyin{}
+
+\initiate@active@char{"}
+
+\addto\extraspinyin{\languageshorthands{pinyin}}
+\addto\extraspinyin{\bbl@activate{"}}
+\addto\extraspinyin{\babel@save\"\umlautlow}
+\addto\extraspinyin{%
+ \babel@savevariable{\lccode"27}%
+ \lccode"27 "27}
+
+\addto\noextraspinyin{\umlauthigh}
+
+\declare@shorthand{pinyin}{"u}{\textormath{\"{u}}{\ddot u}}
+\declare@shorthand{pinyin}{"U}{\textormath{\"{U}}{\ddot U}}
+
+\def\mdqon{\shorthandon{"}}
+\def\mdqoff{\shorthandoff{"}}
+
+\ldf@finish{pinyin}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pinyin.tr b/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pinyin.tr
new file mode 100644
index 0000000000..8002b91033
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pinyin.tr
@@ -0,0 +1,52 @@
+ 1 1
+%% This is the file pinyin.tr of the CJK package
+%% defining the letters used for generating pinyin hyphenation patterns
+%% with patgen.
+%
+%% created by Werner Lemberg <wl@gnu.org>
+%%
+%% Version 4.8.4 (18-Apr-2015)
+%%
+%% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%%
+%% This program is free software; you can redistribute it and/or modify
+%% it under the terms of the GNU General Public License as published by
+%% the Free Software Foundation; either version 2 of the License, or
+%% (at your option) any later version.
+%%
+%% This program is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%% GNU General Public License for more details.
+%%
+%% You should have received a copy of the GNU General Public License
+%% along with this program in doc/COPYING; if not, write to the Free
+%% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+%% MA 02110-1301 USA
+ a A
+ b B
+ c C
+ d D
+ e E
+ f F
+ g G
+ h H
+ i I
+ j J
+ k K
+ l L
+ m M
+ n N
+ o O
+ p P
+ q Q
+ r R
+ s S
+ t T
+ u U
+
+ w W
+ x X
+ y Y
+ z Z
+ '
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pyhyph.tex b/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pyhyph.tex
new file mode 100644
index 0000000000..f118f42001
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pyhyph.tex
@@ -0,0 +1,236 @@
+% This is the file pyhyph.tex of the CJK package
+% for hyphenating Chinese pinyin syllables.
+%
+% We use the latin-1 character code for `umlaut u' (0xfc). Additionally,
+% the quote character "'" is used in its standard sense (resolving syllabic
+% ambiguities).
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\message{Hyphenation patterns for unaccented pinyin syllables (CJK 4.8.4)}
+
+\begingroup
+
+\catcode"0FC = 11 % umlaut u
+\catcode"027 = 11 % quote (')
+\lccode"0FC = "0FC
+\lccode"027 = "027
+
+\patterns{
+a1b
+a1c
+a1d
+a1f
+a1g
+a1h
+a1j
+a1k
+a1l
+a1m
+a1p
+a1q
+a1r
+a1s
+a1t
+a1w
+a1x
+a1y
+a1z
+e1b
+e1c
+e1d
+e1f
+e1g
+e1h
+e1j
+e1k
+e1l
+e1m
+e1p
+e1q
+e1s
+e1t
+e1w
+e1x
+e1y
+e1z
+1ga
+g1b
+g1c
+g1d
+1ge
+g1f
+g1g
+g1h
+g1j
+g1k
+g1l
+g1m
+g1n
+1go
+g1p
+g1q
+g1r
+g1s
+g1t
+1gu
+g1w
+g1x
+g1y
+g1z
+i1b
+i1c
+i1d
+i1f
+i1g
+i1h
+i1j
+i1k
+i1l
+i1m
+i1p
+i1q
+i1r
+i1s
+i1t
+i1w
+i1x
+i1y
+i1z
+1na
+n1b
+n1c
+n1d
+1ne
+n1f
+n1h
+1ni
+n1j
+n1k
+n1l
+n1m
+n1n
+1no
+n1p
+n1q
+n1r
+n1s
+n1t
+1nu
+1n^^fc
+n1w
+n1x
+n1y
+n1z
+o1b
+o1c
+o1d
+o1f
+o1g
+o1h
+o1j
+o1k
+o1l
+o1m
+o1p
+o1q
+o1r
+o1s
+o1t
+o1w
+o1x
+o1y
+o1z
+1ra
+r1b
+r1c
+r1d
+1re
+r1f
+r1g
+r1h
+1ri
+r1j
+r1k
+r1l
+r1m
+r1n
+1ro
+r1p
+r1q
+r1r
+r1s
+r1t
+1ru
+r1w
+r1x
+r1y
+r1z
+u1b
+u1c
+u1d
+u1f
+u1g
+u1h
+u1j
+u1k
+u1l
+u1m
+u1p
+u1q
+u1r
+u1s
+u1t
+u1w
+u1x
+u1y
+u1z
+^^fc1b
+^^fc1c
+^^fc1d
+^^fc1f
+^^fc1g
+^^fc1h
+^^fc1j
+^^fc1k
+^^fc1l
+^^fc1m
+^^fc1n
+^^fc1p
+^^fc1q
+^^fc1r
+^^fc1s
+^^fc1t
+^^fc1w
+^^fc1x
+^^fc1y
+^^fc1z
+'1a
+'1e
+'1o
+}
+\endgroup
+
+\lefthyphenmin 1
+\righthyphenmin 1
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pytest.tex b/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pytest.tex
new file mode 100644
index 0000000000..adf37d3c32
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pytest.tex
@@ -0,0 +1,51 @@
+% This is the file pytest.tex of the CJK package
+% for testing Chinese pinyin hyphenation.
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.4 (18-Apr-2015)
+%
+%%
+%% Attention! This will work only if you have created a new format file
+%% with `pyhyph.tex' as additional hyphenation patterns for the language
+%% `pinyin'. Otherwise no hyphenation will be used.
+%%
+% Note that the Babel package searches for `pinyin.ldf', not pinyin.sty --
+% the latter is for typesetting accented pinyin syllables.
+
+\documentclass[12pt,b5paper]{article}
+
+\usepackage[10pt]{type1ec} % use only 10pt fonts
+\usepackage[T1]{fontenc}
+\usepackage[pinyin]{babel}
+
+
+\begin{document}
+
+% Taken from the TeXbook (p. 451) to force frequent insertion of hyphens.
+\hyphenpenalty -1000
+\pretolerance -1
+\tolerance 1000
+\doublehyphendemerits -100000
+\finalhyphendemerits -100000
+
+\selectlanguage{pinyin}
+
+Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen.
+Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia.
+Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen.
+Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia.
+Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen.
+Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia.
+Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen.
+Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia.
+Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen.
+Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia.
+Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen.
+Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia.
+Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen.
+Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia.
+Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen.
+Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia.
+
+\end{document}
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/subfonts/clonevf.pl b/language/chinese/CJK/cjk-4.8.4/utils/subfonts/clonevf.pl
new file mode 100644
index 0000000000..ab345b00cb
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/subfonts/clonevf.pl
@@ -0,0 +1,122 @@
+#! /usr/bin/perl -w
+#
+# This script clones a virtual font from a TFM file.
+#
+# As prerequisites, it needs the programs `tftopl' and `vptovf', which must
+# be in the path.
+#
+# Call the script as
+#
+# perl clonevf.pl tfm-name vf-name
+#
+# Example:
+#
+# perl clonevf.pl bsmiuv bsmilpv
+
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+use strict;
+
+my $prog = $0;
+$prog =~ s@.*/@@;
+
+if ($#ARGV != 1) {
+ die("usage: $prog tfm-name vf-name\n");
+}
+
+my $tfmname = $ARGV[0];
+my $vfname = $ARGV[1];
+
+
+# Create PL file.
+
+print("Processing metrics file \`$tfmname.tfm'...\n");
+
+my $arg = "tftopl $tfmname.tfm > $tfmname.pl";
+system($arg) == 0
+|| die("$prog: calling \`$arg' failed: $?\n");
+
+
+# Create VPL file.
+
+print("Writing virtual property list file \`$vfname.vpl'...\n");
+
+open(PL, "$tfmname.pl")
+|| die("$prog: can't open \`$tfmname.pl': $!\n");
+
+open(VPL, ">", "$vfname.vpl")
+|| die("$prog: can't open \`$vfname.vpl': $!\n");
+
+print(VPL "(VTITLE Created by \`$prog " . join(" ", @ARGV) . "')\n");
+print(VPL "(FAMILY TEX-\U$vfname\E)\n");
+
+my $have_mapfont = 0;
+while (<PL>) {
+ next if /^\(FAMILY/;
+ next if /^\(CHECKSUM/;
+
+ if (/^\(CHARACTER (.*)/) {
+ if (!$have_mapfont) {
+ print(VPL "(MAPFONT D 0\n");
+ print(VPL " (FONTNAME $tfmname)\n");
+ print(VPL " )\n");
+ $have_mapfont = 1;
+ }
+
+ my $char = $1;
+
+ print(VPL $_);
+
+ $_ = <PL>;
+ if (/CHARWD/) {
+ print(VPL $_);
+ $_ = <PL>;
+ }
+ if (/CHARHT/) {
+ print(VPL $_);
+ $_ = <PL>;
+ }
+ if (/CHARDP/) {
+ print(VPL $_);
+ $_ = <PL>;
+ }
+
+ print(VPL " (MAP\n");
+ print(VPL " (SELECTFONT D 0)\n");
+ print(VPL " (SETCHAR $char)\n");
+ print(VPL " )\n");
+ }
+
+ print(VPL $_);
+}
+
+close(PL);
+close(VPL);
+
+print("Processing \`$vfname.vpl'\n");
+$arg = "vptovf $vfname.vpl";
+system($arg) == 0
+|| die("$prog: calling \`$arg' failed: $?\n");
+
+print("Removing \`$tfmname.pl'...\n");
+unlink("$tfmname.pl");
+print("Removing \`$vfname.vpl'...\n");
+unlink("$vfname.vpl");
+
+
+# eof
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/subfonts/hlatex2agl.pl b/language/chinese/CJK/cjk-4.8.4/utils/subfonts/hlatex2agl.pl
new file mode 100644
index 0000000000..22ca69446a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/subfonts/hlatex2agl.pl
@@ -0,0 +1,477 @@
+#! /usr/bin/perl -w
+#
+# This script adds AGL compliant glyph names to fonts from the HLaTeX
+# package version 0.97 or newer. Note that only glyphs actually used in the
+# (virtual) HLaTeX subfonts get new names; additionally, the used glyph
+# shapes in the HLaTeX fonts aren't always correct -- consider this script
+# as an auxiliary means, not a definitive solution. At least the Hangul and
+# Hanja shapes are correct.
+#
+# As prerequisites, it needs the programs `t1asm' and `t1disasm' (from the
+# t1utils package) and `vftovp' which must be in the path. The subfont
+# definition file `UKS-HLaTeX.sfd' (from the ttf2pk package) and the file
+#
+# http://partners.adobe.com/public/developer/en/opentype/aglfn13.txt
+#
+# are necessary also.
+#
+# Call the script as
+#
+# perl hlatex2agl.pl virtual-namestem real-namestem sfd-file
+#
+# `virtual-namestem' specifies the name stem of the virtual subfonts
+# directly used by LaTeX; both the VF and TFM files are needed.
+# `real-namestem' gives the name stem of the real subfonts used by the
+# virtual fonts; TFM, AFM, and PFB files are needed.
+#
+# Example:
+#
+# perl hlatex2agl.pl wmj umj UKS-HLaTeX.sfd
+
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+use strict;
+
+my $prog = $0;
+$prog =~ s@.*/@@;
+
+if ($#ARGV != 2) {
+ die("usage: $prog virtual-namestem real-namestem sfd-file\n");
+}
+
+my $virtnamestem = $ARGV[0];
+my $realnamestem = $ARGV[1];
+my $sfdfile = $ARGV[2];
+
+
+# Read UKS-HLaTeX.sfd.
+
+my @sfd;
+my @virtsubfonts;
+
+read_sfdfile($sfdfile, \@sfd, \@virtsubfonts);
+
+
+# Read AGL file.
+
+my %agl;
+
+read_aglfile("aglfn13.txt", \%agl);
+
+
+# Read VF files.
+
+my %vpl;
+my %subfonts;
+
+for my $suffix (@virtsubfonts) {
+ read_vffile("$virtnamestem$suffix.vf", $suffix, \%vpl, \%subfonts);
+}
+
+
+# Decompose all Hangul syllables.
+
+my @hangul;
+
+decompose_hangul(\@hangul);
+
+
+# Build glyph names.
+
+my %names;
+
+build_glyphnames(\%names);
+
+
+# Process AFM files.
+
+foreach my $suffix (sort (keys %subfonts)) {
+ process_afmfile("$realnamestem$suffix.afm", $suffix);
+}
+
+
+# Process PFB files.
+
+foreach my $suffix (sort (keys %subfonts)) {
+ process_pfbfile("$realnamestem$suffix.pfb", $suffix);
+}
+
+
+# Read an SFD file.
+#
+# $1: Name of the SFD file.
+# $2: Reference to the target array, mapping from Unicode to the subfont.
+# The format of the array values is the concatenation of the subfont
+# suffix, a space, and the index.
+# $3: Reference to a target array which holds the subfont suffixes.
+
+sub read_sfdfile {
+ my ($sfdfile, $sfdarray, $subarray) = @_;
+
+ print("Reading subfont definition file \`$sfdfile'...\n");
+
+ open(SFD, $sfdfile)
+ || die("$prog: can't open \`$sfdfile': $!\n");
+
+ my $line;
+ my $continuation = 0;
+ while (<SFD>) {
+ chop;
+
+ next if /^\s*$/;
+ next if /^#/;
+
+ if ($continuation) {
+ $line .= $_;
+ }
+ else {
+ $line = $_;
+ }
+ $continuation = 0;
+
+ if ($line =~ s/\\$//) {
+ $continuation = 1;
+ next;
+ }
+
+ $_ = $line;
+ my @field = split(" ");
+
+ my $suffix = $field[0];
+ push(@{$subarray}, $suffix);
+
+ shift(@field);
+ my $index = 0;
+
+ while (@field) {
+ if ($field[0] =~ /(.*):$/) {
+ $index = $1;
+ }
+ elsif ($field[0] =~ /(.*)_(.*)/) {
+ my $start = $1;
+ my $end = $2;
+ $start = oct($start) if ($start =~ /^0/);
+ $end = oct($end) if ($end =~ /^0/);
+ foreach my $i ($start .. $end) {
+ $sfdarray->[$i] = "$suffix $index";
+ $index++;
+ }
+ }
+ else {
+ my $value = $field[0];
+ $value = oct($value) if ($value =~ /^0/);
+ $sfdarray->[$value] = "$suffix $index";
+ $index++;
+ }
+ shift(@field);
+ }
+ }
+ close(SFD);
+}
+
+
+# Read an AGL file.
+#
+# $1: Name of the AGL file.
+# $2: Reference to the target hash file, mapping from the Unicode value
+# to the glyph name.
+
+sub read_aglfile {
+ my ($aglfile, $aglhash) = @_;
+
+ print("Reading Adobe Glyph List file \`$aglfile'...\n");
+
+ open(AGL, $aglfile)
+ || die("$prog: can't open \`$aglfile': $!\n");
+
+ while (<AGL>) {
+ chop;
+
+ next if /^\s*$/;
+ next if /^#/;
+
+ my @field = split(";");
+ $aglhash->{hex($field[0])} = $field[1];
+ }
+ close(AGL);
+}
+
+
+# Read a VF file.
+#
+# $1: Name of the VF file.
+# $2: Subfont suffix.
+# $3: Reference to a target hash, mapping from the virtual subfont to the
+# real subfonts. The format of the key is the concatenation of the
+# subfont suffix, a space, and the index. The format of the hash value
+# is `<suffix1> <idx1>[,<suffix2> <idx2>[,...]]'.
+# $4: Reference to a target hash, collecting the suffixes of the real
+# subfonts.
+
+sub read_vffile {
+ my ($vffile, $vfsuffix, $vplhash, $subfonthash) = @_;
+ my $vplfile = "$vffile.vpl";
+
+ print("Creating virtual property list file \`$vplfile'...\n");
+ my $arg = "vftovp -charcode-format=octal $vffile > $vplfile";
+ system("$arg") == 0
+ || die("$prog: calling \`$arg' failed: $?");
+
+ print("Reading \`$vplfile'...\n");
+ open(VPL, $vplfile)
+ || die("$prog: can't open \`$vplfile': $!\n");
+
+ my @subfonts;
+ my $subindex;
+ my $index;
+ my $currfont;
+ my $map = "";
+
+ while (<VPL>) {
+ if (/\(MAPFONT D ([0-9]+)/) {
+ $subindex = $1;
+ }
+ elsif (/\(FONTNAME $realnamestem(.*?)\)/) {
+ $subfonts[$subindex] = $1;
+ if (!defined ($subfonthash->{$1})) {
+ $subfonthash->{$1} = 1;
+ }
+ }
+ elsif (/\(CHARACTER O ([0-7]+)/) {
+ # Save data from previous CHARACTER block.
+ $vplhash->{"$vfsuffix $index"} = $map if ($map);
+
+ # Reset variables.
+ $index = oct($1);
+ $currfont = 0;
+ $map = "";
+ }
+ elsif (/\(SELECTFONT D ([0-9]+)\)/) {
+ $currfont = $1;
+ }
+ elsif (/\(SETCHAR O ([0-7]+)\)/) {
+ $map .= "," if ($map);
+ $map .= "$subfonts[$currfont] " . oct($1);
+ }
+ }
+
+ # Save data from last CHARACTER block.
+ $vplhash->{"$vfsuffix $index"} = $map if ($map);
+
+ close(VPL);
+ unlink($vplfile);
+}
+
+
+# Decompose all Unicode Hangul syllables into Jamo elements.
+#
+# $1: The target array, mapping from Unicode value to a list of Jamos (in
+# Unicode), separated by commata.
+#
+# This follows the algorithm given in the Unicode standard.
+
+sub decompose_hangul {
+ my ($hangularray) = @_;
+
+ my $s_base = 0xAC00;
+ my $l_base = 0x1100;
+ my $v_base = 0x1161;
+ my $t_base = 0x11A7;
+
+ my $s_count = 11172;
+ my $l_count = 19;
+ my $v_count = 21;
+ my $t_count = 28;
+
+ my $n_count = $v_count * $t_count;
+
+ for my $s ($s_base .. ($s_base + $s_count - 1)) {
+ my $s_index = $s - $s_base;
+
+ my $l = $l_base + int($s_index / $n_count);
+ my $v = $v_base + int(($s_index % $n_count) / $t_count);
+ my $t = $t_base + $s_index % $t_count;
+
+ my $jamos = "$l,$v";
+ $jamos .= ",$t" if ($t != $t_base);
+ $hangularray->[$s] = $jamos;
+ }
+}
+
+
+# Build glyph names.
+#
+# $1: The target hash which maps from real subfonts to glyph names. Keys
+# are of the form `<suffix> <index>', hash values are AGL compliant
+# glyph names. Glyph variants get a trailing suffix of the form `.N',
+# where is is a running number starting with 1. Example: `uni1100.24'.
+
+sub build_glyphnames {
+ my ($nameshash) = @_;
+
+ my @entries;
+
+ foreach my $unicode (0 .. 0xFFFF) {
+ next if !defined ($sfd[$unicode]);
+
+ my $virtdata = $sfd[$unicode];
+
+ # We assume that only Hangul syllables are composed of more than
+ # a single element.
+ if (defined ($hangul[$unicode])) {
+ my @unijamos = split(",", $hangul[$unicode]);
+ my @jamos = split(",", $vpl{$virtdata});
+
+ foreach my $i (0 .. $#jamos) {
+ if (!defined ($nameshash->{$jamos[$i]})) {
+ if (defined ($entries[$unijamos[$i]])) {
+ $nameshash->{$jamos[$i]} = sprintf("uni%04X.%d",
+ $unijamos[$i],
+ $entries[$unijamos[$i]]);
+ $entries[$unijamos[$i]] += 1;
+ }
+ else {
+ $nameshash->{$jamos[$i]} = sprintf("uni%04X", $unijamos[$i]);
+ $entries[$unijamos[$i]] = 1;
+ }
+ }
+ }
+ }
+ else {
+ if (defined ($agl{$unicode})) {
+ $nameshash->{$vpl{$virtdata}} = $agl{$unicode};
+ }
+ else {
+ $nameshash->{$vpl{$virtdata}} = sprintf("uni%04X", $unicode);
+ }
+ }
+ }
+}
+
+
+# Process AFM file.
+#
+# $1: Name of the AFM file to process. The file is first saved, then all
+# glyph names are replaced for which an AGL compliant glyph name is
+# known.
+# $2: The suffix.
+
+sub process_afmfile {
+ my ($afmfile, $sub) = @_;
+
+ print("Processing \`$afmfile'...\n");
+
+ if (!-f $afmfile) {
+ die("$prog: \`$afmfile' doesn't exist\n");
+ }
+
+ rename($afmfile, "$afmfile.old");
+
+ open(INFILE, "$afmfile.old")
+ || die("$prog: can't open \`$afmfile.old': $!\n");
+ open(OUTFILE, ">", "$afmfile")
+ || die("$prog: can't open \`$afmfile': $!\n");
+
+ while (<INFILE>) {
+ # Replace the `kxx' entries.
+ if (/ N k(.*?) ;/) {
+ my $index = hex($1);
+ if (defined ($names{"$sub $index"})) {
+ s/ N .*? ;/ N $names{"$sub $index"} ;/;
+ }
+ }
+
+ # Update version number.
+ s/001\.000/001.001/;
+ s/Altsys\ Fontographer\ 4\.1\ 1\/10\/95$/001.001/;
+
+ print(OUTFILE $_);
+
+ # Add comment.
+ if (/^Comment\ UniqueID/ || /^Comment\ Generated/) {
+ print(OUTFILE "Comment AGL compliant glyph names added "
+ . "by script $prog 2005-Jul-27.\n");
+ }
+ }
+
+ close(INFILE);
+ close(OUTFILE);
+}
+
+
+# Process PFB file.
+#
+# $1: Name of the PFB file to process. The file is first saved, then all
+# glyph names are replaced for which an AGL compliant glyph name is
+# known.
+# $2: The suffix.
+
+sub process_pfbfile {
+ my ($pfbfile, $sub) = @_;
+ my $arg;
+
+ print("Processing \`$pfbfile'...\n");
+
+ if (!-f $pfbfile) {
+ die("$prog: \`$pfbfile' doesn't exist\n");
+ }
+
+ rename($pfbfile, "$pfbfile.old");
+
+ $arg = "t1disasm < $pfbfile.old > $pfbfile.disasm.old";
+ system("$arg") == 0
+ || die("$prog: calling \`$arg' failed: $?");
+
+ open(INFILE, "$pfbfile.disasm.old")
+ || die("$prog: can't open \`$pfbfile.disasm.old': $!\n");
+ open(OUTFILE, ">", "$pfbfile.disasm")
+ || die("$prog: can't open \`$pfbfile.disasm': $!\n");
+
+ while (<INFILE>) {
+ # Replace the `kxx' entries.
+ if (m@/k(.*?) @) {
+ my $index = hex($1);
+ if (defined ($names{"$sub $index"})) {
+ s@/k.*? @/$names{"$sub $index"} @;
+ }
+ }
+
+ # Update version number.
+ s/001\.000/001.001/;
+
+ print(OUTFILE $_);
+
+ # Add comment.
+ if (/^%%CreationDate/) {
+ print(OUTFILE "% AGL compliant glyph names added "
+ . "by script $prog 2005-Jul-27.\n");
+ }
+ }
+
+ close(INFILE);
+ close(OUTFILE);
+
+ $arg = "t1asm < $pfbfile.disasm > $pfbfile";
+ system("$arg") == 0
+ || die("$prog: calling \`$arg' failed: $?");
+
+ unlink("$pfbfile.disasm.old", "$pfbfile.disasm");
+}
+
+
+# eof
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/subfonts/makefdx.pl b/language/chinese/CJK/cjk-4.8.4/utils/subfonts/makefdx.pl
new file mode 100644
index 0000000000..bed1c4b857
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/subfonts/makefdx.pl
@@ -0,0 +1,340 @@
+#! /usr/bin/perl -w
+#
+# This script creates proper entries for an FDX file as used by the CJK
+# package for LaTeX.
+#
+# As a prerequisite, it needs the file
+#
+# http://partners.adobe.com/public/developer/en/opentype/aglfn13.txt
+#
+# which must be located in the current directory.
+#
+# Call the script as
+#
+# perl [-u] makefdx.pl vertref-afm-file sfd-file encoding font-name
+#
+# `vertref-afm-file' is an AFM file as produced by the script `vertref.pe'.
+# The subfont definition file `sfd-file' gives the subfont scheme to get the
+# proper entries in the FDX file. `encoding' and `font-name' are TeX font
+# parameters as used by the CJK package; the scripts uses the concatenation
+# of those two values as the name of the FDX file (with suffix `.fdx').
+#
+# The switch `-u' makes the script add a macro to the FDX file (which is
+# used by the CJKutf8.sty) to provide a proper /ToUnicode cmap to pdftex.
+#
+# Note that the created FDX file has to be completed manually.
+#
+# Examples:
+#
+# perl makefdx.pl bsmiuvr.afm UBig5.sfd c00 bsmi
+#
+# The result of this call is the file `c00bsmi.fdx' (you get some warnings
+# because not all glyphs contained in bsmiuvr.afm can be accessed with Big5
+# encoding).
+#
+# perl makefdx.pl -u bsmiuvr.afm Unicode.sfd c70 bsmi
+#
+# The result of this call is the file `c70bsmi.fdx'.
+#
+# A collection of useful subfont definition files for CJK fonts can be found
+# in the ttf2pk package.
+
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+use strict;
+
+my $prog = $0;
+$prog =~ s@.*/@@;
+
+my $is_unicode = 0;
+if ($ARGV[0] eq "-u") {
+ $is_unicode = 1;
+ shift @ARGV;
+}
+
+if ($#ARGV != 3) {
+ die("usage: $prog [-u] vertref-afm-file sfd-file encoding font-name\n");
+}
+
+my $vertrefafmfile = $ARGV[0];
+my $sfdfile = $ARGV[1];
+my $encoding = $ARGV[2];
+my $fontname = $ARGV[3];
+
+my $fdxfile = $encoding . $fontname . ".fdx";
+
+# Read AGL file.
+
+my %agl;
+
+read_aglfile("aglfn13.txt", \%agl);
+
+
+# Read AFM file.
+
+my @vertref;
+
+read_afmfile($vertrefafmfile, \@vertref);
+
+
+# Read subfont definition file.
+
+my @sfd;
+
+read_sfdfile($sfdfile, \@sfd);
+
+
+# Write FDX file.
+
+print("Writing extended font definition file \`$fdxfile'...\n");
+
+open(FDX, ">", $fdxfile)
+|| die("$prog: can't open \`$fdxfile': $!\n");
+my $oldfh = select(FDX);
+
+print("% This is the file $fdxfile of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by the script makefdx.pl for CJK Version 4.8.4 (18-Apr-2015).
+
+\\def\\fileversion{4.8.4}
+\\def\\filedate{2015/04/18}
+\\ProvidesFile{$fdxfile}[\\filedate\\space\\fileversion]
+
+\\CJKvdef{fullheight}{1em}
+\\CJKvdef{height}{.88em}
+\\CJKvdef{offset}{.6em}
+
+% Uncomment if necessary.
+%\\CJKvdef{norotate}{}
+");
+
+my @unicodes;
+my $mapping_count = 0;
+
+foreach my $index (0 .. $#vertref) {
+ my $glyphnameref = $vertref[$index];
+ my $unicode;
+
+ if (defined ($agl{$glyphnameref})) {
+ $unicode = $agl{$glyphnameref};
+ }
+ elsif ($glyphnameref =~ /^uni([0-9A-F]{4})$/) {
+ $unicode = hex($1);
+ }
+ elsif ($glyphnameref =~ /^u([0-9A-F]{4,6})$/) {
+ $unicode = hex($1);
+ }
+ else {
+ $unicode = -1;
+ }
+ if ($unicode == -1
+ || ($unicode >= 0xD800 && $unicode <= 0xDFFF)
+ || $unicode > 0x10FFFF) {
+ print(STDERR "Can't map glyph name \`$glyphnameref' to Unicode.\n");
+ $unicodes[$index] = -1;
+ next;
+ }
+ $unicodes[$index] = $unicode;
+
+ my $sfdentry;
+
+ if (defined ($sfd[$unicode])) {
+ $sfdentry = $sfd[$unicode];
+ }
+ else {
+ $unicodes[$index] = -1;
+ printf(STDERR "\`%s' (U+%04X) not in subfont encoding\n",
+ $glyphnameref, $unicode);
+ next;
+ }
+
+ $mapping_count++;
+
+ print("\\CJKvdef{m/n/$sfdentry}");
+ print("{\\def\\CJK\@plane{v}\\selectfont\\CJKsymbol{$index}}\n");
+ print("\\CJKvlet{bx/n/$sfdentry}");
+ print("{m/n/$sfdentry}\n");
+}
+
+if ($is_unicode) {
+ print("
+\\gdef\\CJK\@cmap\@${fontname}v{
+ \\expandafter\\ifx\\csname CJK\@CMap\@${fontname}v\\endcsname \\relax
+ \\immediate\\pdfobj stream {
+ /CIDInit\\space/ProcSet\\space findresource\\space begin\\space
+ 12\\space dict\\space begin\\space
+ begincmap\\space
+ /CIDSystemInfo\\space <<\\space
+ /Registry\\space (TeX)\\space
+ /Ordering\\space (${fontname}v)\\space
+ /Supplement\\space 0\\space >>\\space def\\space
+ /CMapName\\space /TeX-${fontname}v-0\\space def\\space
+ 1\\space begincodespacerange\\space
+ <00>\\space <FF>\\space
+ endcodespacerange\\space
+ $mapping_count\\space beginbfchar\\space
+");
+
+ foreach my $index (0 .. $#vertref) {
+ if ($unicodes[$index] != -1) {
+ printf(" <%02X>\\space <%04X>\\space\n",
+ $index, $unicodes[$index]);
+ }
+ }
+
+ print(" endbfchar\\space
+ endcmap\\space
+ CMapName\\space currentdict\\space /CMap\\space defineresource\\space
+ pop\\space
+ end\\space
+ end\\space}
+ \\expandafter\\xdef\\csname CJK\@CMap\@${fontname}v\\endcsname{
+ \\the\\pdflastobj}
+ \\fi
+ \\pdffontattr\\font\@name{
+ /ToUnicode\\space\\csname CJK\@CMap\@${fontname}v\\endcsname\\space 0\\space R}
+}
+
+\\endinput
+");
+}
+
+
+# Read an AGL file.
+#
+# $1: Name of the AGL file.
+# $2: Reference to the target hash file, mapping from the glyph name
+# to the Unicode value.
+
+sub read_aglfile {
+ my ($aglfile, $aglhash) = @_;
+
+ print("Reading Adobe Glyph List file \`$aglfile'...\n");
+
+ open(AGL, $aglfile)
+ || die("$prog: can't open \`$aglfile': $!\n");
+
+ while (<AGL>) {
+ chop;
+
+ next if /^\s*$/;
+ next if /^#/;
+
+ my @field = split(";");
+ $aglhash->{$field[1]} = hex($field[0]);
+ }
+ close(AGL);
+}
+
+
+# Read an SFD file.
+#
+# $1: Name of the SFD file.
+# $2: Reference to the target array file, mapping from the character code
+# to the subfont index. The format of an array value is the
+# concatenation of the subfont suffix, a slash, and the index.
+
+sub read_sfdfile {
+ my ($sfdfile, $sfdarray) = @_;
+
+ print("Reading subfont definition file \`$sfdfile'...\n");
+
+ open(SFD, $sfdfile)
+ || die("$prog: can't open \`$sfdfile': $!\n");
+
+ my $line;
+ my $continuation = 0;
+ while (<SFD>) {
+ chop;
+
+ next if /^\s*$/;
+ next if /^#/;
+
+ if ($continuation) {
+ $line .= $_;
+ }
+ else {
+ $line = $_;
+ }
+ $continuation = 0;
+
+ if ($line =~ s/\\$//) {
+ $continuation = 1;
+ next;
+ }
+
+ $_ = $line;
+ my @field = split(" ");
+
+ my $suffix = $field[0];
+
+ shift(@field);
+ my $index = 0;
+
+ while (@field) {
+ if ($field[0] =~ /(.*):$/) {
+ $index = $1;
+ }
+ elsif ($field[0] =~ /(.*)_(.*)/) {
+ my $start = $1;
+ my $end = $2;
+ $start = oct($start) if ($start =~ /^0/);
+ $end = oct($end) if ($end =~ /^0/);
+ foreach my $i ($start .. $end) {
+ $sfdarray->[$i] = "$suffix/$index";
+ $index++;
+ }
+ }
+ else {
+ my $value = $field[0];
+ $value = oct($value) if ($value =~ /^0/);
+ $sfdarray->[$value] = "$suffix/$index";
+ $index++;
+ }
+ shift(@field);
+ }
+ }
+ close(SFD);
+}
+
+
+# Read an AFM file.
+#
+# $1: Name of the AFM file.
+# $2: Reference to array which maps glyph indices to glyph names.
+
+sub read_afmfile {
+ my ($afmfile, $maparray) = @_;
+
+ print("Reading metrics file \`$afmfile'\n");
+
+ open(AFM, $afmfile)
+ || die("$prog: can't open \`$afmfile': $!\n");
+
+ while (<AFM>) {
+ if (/^C \d+ ;/) {
+ / N (.*?) ;/;
+ push (@$maparray, $1);
+ }
+ }
+ close(AFM);
+}
+
+
+# eof
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/subfonts/sfd2uni.pl b/language/chinese/CJK/cjk-4.8.4/utils/subfonts/sfd2uni.pl
new file mode 100644
index 0000000000..a82a3cb10f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/subfonts/sfd2uni.pl
@@ -0,0 +1,348 @@
+#! /usr/bin/perl -w
+#
+# This script creates virtual subfonts in Unicode encoding for a font
+# encoding given by a subfont definition file (which must use Unicode
+# code points).
+#
+# As prerequisites it needs the programs `tftopl' and `vptovf' which must be
+# in the path.
+#
+# Call the script as
+#
+# perl sfd2uni.pl sfd-file namestem uni-namestem codingscheme
+#
+# `sfd-file' is the subfont definition file, `namestem' is the name stem
+# of the subfonts defined in `sfd-file', and `uni-namestem' holds the prefix
+# for the Unicode subfonts. `codingscheme' (converted to uppercase) is used
+# for the CODINGSCHEME parameter in the resulting TFM files.
+#
+# `sfd2uni.pl' reads all TFM files from the font family with name stem
+# `namestem'.
+#
+# Example:
+#
+# perl sfd2uni.pl UKS-HLaTeX.sfd wmj uwmj HLATEX
+#
+# A collection of useful subfont definition files for CJK fonts can be found
+# in the ttf2pk package.
+
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+use strict;
+
+my $prog = $0;
+$prog =~ s@.*/@@;
+
+if ($#ARGV != 3) {
+ die("usage: $prog sfd-file namestem uni-namestem codingscheme\n");
+}
+
+my $sfdfile = $ARGV[0];
+my $namestem = $ARGV[1];
+my $uninamestem = $ARGV[2];
+my $codingscheme = $ARGV[3];
+
+
+# Read subfont definition file.
+
+my %sfd;
+my @subfonts;
+
+read_sfdfile($sfdfile, \%sfd, \@subfonts);
+
+
+# Read TFM files.
+
+my @unicmetrics;
+
+foreach my $sub (@subfonts) {
+ my $tfmname = "$namestem$sub.tfm";
+
+ read_tfmfile($tfmname, \@unicmetrics, \%sfd, $sub);
+}
+
+
+# Read FONTDIMEN block.
+
+my $fontdimen = read_fontdimen("$namestem$subfonts[0].tfm");
+
+
+# Write VPL files.
+
+my $index = 0;
+foreach my $i (0 .. 255) {
+ my @entries;
+
+ foreach my $j (0 .. 255) {
+ if (defined ($unicmetrics[$index])) {
+ push(@entries, "$j $unicmetrics[$index]");
+ }
+ $index++;
+ }
+
+ if ($#entries >= 0) {
+ write_vplfile($uninamestem . sprintf("%02x.vpl", $i), \@entries);
+ }
+}
+
+
+# Generate VF and TFM files, then remove the VPL files.
+
+my @vplfiles = glob("$uninamestem*.vpl");
+foreach my $vplfile (@vplfiles) {
+ print("Processing \`$vplfile'...\n");
+ my $arg = "vptovf $vplfile";
+ system($arg) == 0
+ || die("$prog: calling \`$arg' failed: $?");;
+ print("Removing \`$vplfile'...\n");
+ unlink($vplfile);
+}
+
+
+# Read an SFD file.
+#
+# $1: Name of the SFD file.
+# $2: Reference to the target hash file, mapping from the subfont index to
+# the character code. The format of the key value is the concatenation
+# of the subfont suffix, a space, and the index.
+# $3: Reference to a target array which holds the subfont suffixes.
+
+sub read_sfdfile {
+ my ($sfdfile, $sfdhash, $sfdarray) = @_;
+
+ print("Reading subfont definition file \`$sfdfile'...\n");
+
+ open(SFD, $sfdfile)
+ || die("$prog: can't open \`$sfdfile': $!\n");
+
+ my $line;
+ my $continuation = 0;
+ while (<SFD>) {
+ chop;
+
+ next if /^\s*$/;
+ next if /^#/;
+
+ if ($continuation) {
+ $line .= $_;
+ }
+ else {
+ $line = $_;
+ }
+ $continuation = 0;
+
+ if ($line =~ s/\\$//) {
+ $continuation = 1;
+ next;
+ }
+
+ $_ = $line;
+ my @field = split(" ");
+
+ my $suffix = $field[0];
+ push(@{$sfdarray}, $suffix);
+
+ shift(@field);
+ my $index = 0;
+
+ while (@field) {
+ if ($field[0] =~ /(.*):$/) {
+ $index = $1;
+ }
+ elsif ($field[0] =~ /(.*)_(.*)/) {
+ my $start = $1;
+ my $end = $2;
+ $start = oct($start) if ($start =~ /^0/);
+ $end = oct($end) if ($end =~ /^0/);
+ foreach my $i ($start .. $end) {
+ $sfdhash->{"$suffix $index"} = $i;
+ $index++;
+ }
+ }
+ else {
+ my $value = $field[0];
+ $value = oct($value) if ($value =~ /^0/);
+ $sfdhash->{"$suffix $index"} = $value;
+ $index++;
+ }
+ shift(@field);
+ }
+ }
+ close(SFD);
+}
+
+
+# Read TFM file.
+#
+# $1: Name of the TFM file.
+# $2: Reference to the target array holding metric information in the form
+# `<subfont> <subfont_index> <width> <heigth> <depth>'.
+# $3: Reference to a hash created by `read_sfdfile'.
+# $4: Subfont suffix.
+
+sub read_tfmfile {
+ my ($tfmfile, $unicarray, $sfdhash, $sub) = @_;
+
+ print("Processing metrics file \`$tfmfile'...\n");
+ my $arg = "tftopl $tfmfile > $tfmfile.pl";
+ system($arg) == 0
+ || die("$prog: calling \`$arg' failed: $?\n");
+
+ print("Reading property list file \`$tfmfile.pl'...\n");
+ open(PL, "$tfmfile.pl")
+ || die("$prog: can't open \`$tfmfile.pl': $!\n");
+
+ while (<PL>) {
+ my $index;
+ if (/^\(CHARACTER O (\d+)/) {
+ $index = oct($1);
+ }
+ elsif (/^\(CHARACTER C (.)/) {
+ $index = ord($1);
+ }
+ else {
+ next;
+ }
+
+ my $wd = "0";
+ my $ht = "0";
+ my $dp = "0";
+
+ $_ = <PL>;
+ if (/\(CHARWD R (.*)\)/) {
+ $wd = "$1";
+ $_ = <PL>;
+ }
+ if (/\(CHARHT R (.*)\)/) {
+ $ht = "$1";
+ $_ = <PL>;
+ }
+ if (/\(CHARDP R (.*)\)/) {
+ $dp = "$1";
+ }
+
+ if (defined ($sfdhash->{"$sub $index"})) {
+ $unicarray->[$sfdhash->{"$sub $index"}] = "$sub $index $wd $ht $dp";
+ }
+ }
+ close(PL);
+ print("Removing \`$tfmfile.pl'...\n");
+ unlink("$tfmfile.pl");
+}
+
+
+# Read FONTDIMEN block of a TFM file.
+#
+# $1: Name of the TFM file.
+#
+# Return the block as a string.
+
+sub read_fontdimen {
+ my ($tfmfile) = @_;
+
+ print("Processing metrics file \`$tfmfile'...\n");
+ my $arg = "tftopl $tfmfile > $tfmfile.pl";
+ system($arg) == 0
+ || die("$prog: calling \`$arg' failed: $?\n");
+
+ print("Reading property list file \`$tfmfile.pl'...\n");
+ open(PL, "$tfmfile.pl")
+ || die("$prog: can't open \`$tfmfile.pl': $!\n");
+
+ my $s = "";
+ my $have_fontdimen = 0;
+
+ while (<PL>) {
+ if (/^\(FONTDIMEN/) {
+ $have_fontdimen = 1;
+ }
+
+ if ($have_fontdimen) {
+ $s .= $_;
+
+ last if (/^ \)/);
+ }
+ }
+
+ close(PL);
+ print("Removing \`$tfmfile.pl'...\n");
+ unlink("$tfmfile.pl");
+
+ return $s;
+}
+
+
+# Write VPL file.
+#
+# $1: Name of the VPL file.
+# $2: Reference to list which holds the font entries. An entry has the
+# form `<idx> <subfont> <subfont_idx> <width> <height> <depth>'.
+
+sub write_vplfile {
+ my ($vplfile, $metricsarray) = @_;
+
+ my %subfonts;
+ my $subcount = 0;
+
+ foreach my $entry (@{$metricsarray}) {
+ my @field = split(" ", $entry);
+ my $subfont = $field[1];
+ if (!defined ($subfonts{$subfont})) {
+ $subfonts{$subfont} = $subcount;
+ $subcount++;
+ }
+ }
+
+ print("Writing virtual property list file \`$vplfile'...\n");
+
+ open(VPL, ">", $vplfile)
+ || die("$prog: can't open \`$vplfile': $!\n");
+ my $oldfh = select(VPL);
+
+ print("(VTITLE Created by \`$prog " . join(" ", @ARGV) . "')\n");
+ print("(FAMILY TEX-\U$uninamestem\E)\n");
+ print("(CODINGSCHEME \U$codingscheme\E)\n");
+ print $fontdimen;
+
+ foreach my $subfont
+ (sort { $subfonts{$a} <=> $subfonts{$b} } keys %subfonts) {
+ print("(MAPFONT D $subfonts{$subfont}\n");
+ print(" (FONTNAME $namestem$subfont)\n");
+ print(" )\n");
+ }
+
+ foreach my $entry (@{$metricsarray}) {
+ my ($index, $subnumber, $subindex, $wd, $ht, $dp) = split(" ", $entry);
+
+ print("(CHARACTER D $index\n");
+ print(" (CHARWD R $wd)\n");
+ print(" (CHARHT R $ht)\n");
+ print(" (CHARDP R $dp)\n");
+ print(" (MAP\n");
+ print(" (SELECTFONT D $subfonts{$subnumber})\n");
+ print(" (SETCHAR D $subindex)\n");
+ print(" )\n");
+ print(" )\n");
+ }
+
+ close(VPL);
+ select($oldfh);
+}
+
+
+# eof
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/subfonts/subfonts.pe b/language/chinese/CJK/cjk-4.8.4/utils/subfonts/subfonts.pe
new file mode 100644
index 0000000000..feb9d3a56c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/subfonts/subfonts.pe
@@ -0,0 +1,95 @@
+# Generate CJK subfonts from master font.
+# The fonts are created in the current directory.
+#
+# $1: The master font (e.g., `bsmi00lp.ttf').
+# $2: The name stem for the subfonts (e.g., `bsmilp').
+# $3: The subfont definition file, mapping from Unicode to whatever
+# (e.g., `UBig5.sfd', which maps to Big 5).
+#
+# A collection of useful subfont definition files for CJK fonts can be found
+# in the ttf2pk package.
+
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+if (Strtol($version) < 20071105)
+ Print("Can't use FontForge version before 2007-11-05. Aborting.");
+ Quit(1);
+endif;
+
+if ($argc != 4)
+ Print("usage: [fontforge -script] ", $0, " master-font name-stem SFD-file");
+ Quit(1);
+endif;
+
+Print("Loading ", $1, "...");
+Open($1);
+
+if ($cidfontname != "")
+ CIDFlatten();
+endif;
+
+Reencode("ucs4");
+
+copyright = $copyright \
+ + Chr(10) + Chr(10) \
+ + "Subfont version " \
+ + Strftime("%F", 1, "C") \
+ + ".";
+SetFontNames("", "", "", "", copyright, "");
+
+Print("Ensure third order curves...");
+SetFontOrder(3);
+
+Print("Scaling to PostScript units...");
+ScaleToEm(900, 100);
+
+num_chars = CharCnt();
+count = 0;
+delta = 100;
+
+while (count + delta < num_chars)
+ Print(count, "/", num_chars - 1, ":");
+ Select(count, count + delta);
+
+ Print(" Add extrema...");
+ AddExtrema();
+
+ Print(" Simplifying outlines...");
+ Simplify(0, 2);
+
+ count += delta;
+endloop;
+
+Print(count, "/", num_chars - 1, ":");
+Select(count, num_chars - 1);
+
+Print(" Add extrema...");
+AddExtrema();
+
+Print(" Simplifying outlines...");
+Simplify(0, 2);
+
+SelectAll();
+
+# generate AFM and TFM files, no PS hints, and rounded PS coordinates
+Print("Generating subfonts...");
+Generate($2 + "%s.pfb", "", \
+ 0x1 | 0x100 | 0x10000 | 0x80000 | 0x200000, \
+ -1, $3);
+
+Quit(0);
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/subfonts/uni2sfd.pl b/language/chinese/CJK/cjk-4.8.4/utils/subfonts/uni2sfd.pl
new file mode 100644
index 0000000000..d28796c874
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/subfonts/uni2sfd.pl
@@ -0,0 +1,312 @@
+#! /usr/bin/perl -w
+#
+# This script creates virtual subfonts in a font encoding given by a subfont
+# definition file, based on Unicode subfonts.
+#
+# As prerequisites, it needs the programs `tftopl' and `vptovf' which must
+# be in the path.
+#
+# Call the script as
+#
+# perl uni2sfd.pl uni-namestem sfd-file namestem codingscheme
+#
+# `uni-namestem' is the namestem of the Unicode subfonts; `uni2sfd.pl'
+# appends the Unicode suffixes and reads the corresponding TFM files.
+# `sfd-file' is the subfont definition file which maps Unicode input
+# characters to the target subfont scheme using `namestem' as the namestem.
+# `codingscheme' gives the value for the CODINGSCHEME parameter in the
+# VF files (always converted to uppercase).
+#
+# Example:
+#
+# perl uni2sfd.pl bsmiu UBig5.sfd bsmilp cjkbig5
+#
+# A collection of useful subfont definition files for CJK fonts can be found
+# in the ttf2pk package.
+
+# Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+use strict;
+
+my $prog = $0;
+$prog =~ s@.*/@@;
+
+if ($#ARGV != 3) {
+ die("usage: $prog uni-namestem sfd-file namestem codingscheme\n");
+}
+
+my $uninamestem = $ARGV[0];
+my $sfdfile = $ARGV[1];
+my $namestem = $ARGV[2];
+my $codingscheme = $ARGV[3];
+
+
+# Read subfont definition file.
+
+my %sfd;
+my @subfonts;
+
+read_sfdfile($sfdfile, \%sfd, \@subfonts);
+
+
+# Read TFM files.
+
+my @unimetrics;
+
+foreach my $sub (0 .. 0xFF) {
+ my $suffix = sprintf("%02x", $sub);
+ my $tfmname = "$uninamestem$suffix.tfm";
+
+ if (-f $tfmname) {
+ read_tfmfile($tfmname, \@unimetrics, $suffix);
+ }
+}
+
+
+# Write VPL files.
+
+foreach my $sub (@subfonts) {
+ my @entries;
+
+ foreach my $i (0 .. 255) {
+ if (defined ($sfd{"$sub $i"})) {
+ my $index = $sfd{"$sub $i"};
+ if (defined ($unimetrics[$index])) {
+ push(@entries, "$i $index $unimetrics[$index]");
+ }
+ }
+ }
+
+ if ($#entries >= 0) {
+ write_vplfile("$namestem$sub.vpl", \@entries);
+ }
+}
+
+
+# Generate VF and TFM files, then remove the VPL files.
+
+my @vplfiles = glob("$namestem*.vpl");
+foreach my $vplfile (@vplfiles) {
+ print("Processing \`$vplfile'...\n");
+ my $arg = "vptovf $vplfile";
+ system($arg) == 0
+ || die("$prog: calling \`$arg' failed: $?\n");
+ print("Removing \`$vplfile'...\n");
+ unlink($vplfile);
+}
+
+
+# Read an SFD file.
+#
+# $1: Name of the SFD file.
+# $2: Reference to the target hash file, mapping from the character code
+# to the subfont index. The format of the key value is the
+# concatenation of the subfont suffix, a space, and the index.
+# $3: Reference to a target array which holds the subfont suffixes.
+
+sub read_sfdfile {
+ my ($sfdfile, $sfdhash, $sfdarray) = @_;
+
+ print("Reading subfont definition file \`$sfdfile'...\n");
+
+ open(SFD, $sfdfile)
+ || die("$prog: can't open \`$sfdfile': $!\n");
+
+ my $line;
+ my $continuation = 0;
+ while (<SFD>) {
+ chop;
+
+ next if /^\s*$/;
+ next if /^#/;
+
+ if ($continuation) {
+ $line .= $_;
+ }
+ else {
+ $line = $_;
+ }
+ $continuation = 0;
+
+ if ($line =~ s/\\$//) {
+ $continuation = 1;
+ next;
+ }
+
+ $_ = $line;
+ my @field = split(" ");
+
+ my $suffix = $field[0];
+ push(@{$sfdarray}, $suffix);
+
+ shift(@field);
+ my $index = 0;
+
+ while (@field) {
+ if ($field[0] =~ /(.*):$/) {
+ $index = $1;
+ }
+ elsif ($field[0] =~ /(.*)_(.*)/) {
+ my $start = $1;
+ my $end = $2;
+ $start = oct($start) if ($start =~ /^0/);
+ $end = oct($end) if ($end =~ /^0/);
+ foreach my $i ($start .. $end) {
+ $sfdhash->{"$suffix $index"} = $i;
+ $index++;
+ }
+ }
+ else {
+ my $value = $field[0];
+ $value = oct($value) if ($value =~ /^0/);
+ $sfdhash->{"$suffix $index"} = $value;
+ $index++;
+ }
+ shift(@field);
+ }
+ }
+ close(SFD);
+}
+
+
+# Read TFM file.
+#
+# $1: Name of the TFM file.
+# $2: Reference to the target array holding metric information in the form
+# `<width> <heigth> <depth>'.
+# $3: Subfont suffix.
+
+sub read_tfmfile {
+ my ($tfmfile, $unicarray, $suffix) = @_;
+
+ print("Processing metrics file \`$tfmfile'...\n");
+ my $arg = "tftopl $tfmfile > $tfmfile.pl";
+ system($arg) == 0
+ || die("$prog: calling \`$arg' failed: $?\n");
+
+ print("Reading property list file \`$tfmfile.pl'...\n");
+ open(PL, "$tfmfile.pl")
+ || die("$prog: can't open \`$tfmfile.pl': $!\n");
+
+ while (<PL>) {
+ my $idx;
+ if (/^\(CHARACTER O (\d+)/) {
+ $idx = oct($1);
+ }
+ elsif (/^\(CHARACTER C (.)/) {
+ $idx = ord($1);
+ }
+ else {
+ next;
+ }
+ $idx += hex($suffix) * 256;
+
+ my $wd = "0";
+ my $ht = "0";
+ my $dp = "0";
+
+ $_ = <PL>;
+ if (/\(CHARWD R (.*)\)/) {
+ $wd = "$1";
+ $_ = <PL>;
+ }
+ if (/\(CHARHT R (.*)\)/) {
+ $ht = "$1";
+ $_ = <PL>;
+ }
+ if (/\(CHARDP R (.*)\)/) {
+ $dp = "$1";
+ }
+
+ $unicarray->[$idx] = "$wd $ht $dp";
+ }
+ close(PL);
+ print("Removing \`$tfmfile.pl'...\n");
+ unlink("$tfmfile.pl");
+}
+
+
+# Write VPL file.
+#
+# $1: Name of the VPL file.
+# $2: Reference to list which holds the font entries. An entry has the
+# form `<index> <Unicode> <width> <height> <depth>'.
+
+sub write_vplfile {
+ my ($vplfile, $glypharray) = @_;
+
+ my %subfonts;
+ my $subcount = 0;
+
+ foreach my $entry (@{$glypharray}) {
+ my @field = split(" ", $entry);
+ my $subfont = int($field[1] / 256);
+ if (!defined ($subfonts{$subfont})) {
+ $subfonts{$subfont} = $subcount;
+ $subcount++;
+ }
+ }
+
+ print("Writing virtual property list file \`$vplfile'...\n");
+
+ open(VPL, ">", $vplfile)
+ || die("$prog: can't open \`$vplfile': $!\n");
+ my $oldfh = select(VPL);
+
+ print("(VTITLE Created by \`$prog " . join(" ", @ARGV) . "')\n");
+ print("(FAMILY TEX-\U$namestem\E)\n");
+ print("(CODINGSCHEME \U$codingscheme\E)\n");
+ print("(FONTDIMEN\n");
+ print(" (SPACE R 0.5)\n");
+ print(" (XHEIGHT R 0.4)\n");
+ print(" (QUAD R 1)\n");
+ print(" )\n");
+
+ foreach my $subfont
+ (sort { $subfonts{$a} <=> $subfonts{$b} } keys %subfonts) {
+ print("(MAPFONT D $subfonts{$subfont}\n");
+ print(" (FONTNAME $uninamestem" . sprintf("%02x", $subfont) . ")\n");
+ print(" )\n");
+ }
+
+ foreach my $entry (@{$glypharray}) {
+ my @field = split(" ", $entry);
+ my $index = $field[0];
+ my $subnumber = $subfonts{int($field[1] / 256)};
+ my $subindex = $field[1] % 256;
+ my $width = $field[2];
+ my $height = $field[3];
+ my $depth = $field[4];
+
+ print("(CHARACTER D $index\n");
+ print(" (CHARWD R $width)\n");
+ print(" (CHARHT R $height)\n");
+ print(" (CHARDP R $depth)\n");
+ print(" (MAP\n");
+ print(" (SELECTFONT D $subnumber)\n");
+ print(" (SETCHAR D $subindex)\n");
+ print(" )\n");
+ print(" )\n");
+ }
+
+ close(VPL);
+ select($oldfh);
+}
+
+
+# eof
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/subfonts/vertical.pe b/language/chinese/CJK/cjk-4.8.4/utils/subfonts/vertical.pe
new file mode 100644
index 0000000000..a10faef088
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/subfonts/vertical.pe
@@ -0,0 +1,108 @@
+# Generate a font which contains vertical glyph representations.
+# The font is created in the current directory.
+#
+# $1: The master font (e.g., `bsmi00lp.ttf').
+# $2: The name of the vertical font (e.g., `bsmilpv').
+
+# Copyright (C) 1994-2007 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+if (Strtol($version) < 20071105)
+ Print("Can't use FontForge version before 2007-11-05. Aborting.";
+ Quit(1);
+endif;
+
+if ($argc != 3)
+ Print("usage: [fontforge -script] ", $0, " master-font vertical-fontname");
+ Quit(1);
+endif;
+
+Print("Loading ", $1, "...");
+Open($1);
+
+fontname = $2;
+fullname = $fullname + " vertical";
+copyright = $copyright \
+ + Chr(10) + Chr(10) \
+ + "Vertical glyph representations version " \
+ + Strftime("%F", 1, "C") \
+ + ".";
+SetFontNames(fontname, "", fullname, "", copyright, "");
+
+SelectAll();
+ApplySubstitution("*", "*", "vert");
+
+if (!$fontchanged)
+ Print("No vertical glyph representation forms found.");
+ Quit(1);
+endif;
+
+SelectChanged();
+
+SelectInvert();
+DetachAndRemoveGlyphs();
+
+Print("Ensure third order curves...");
+SetFontOrder(3);
+
+Print("Scaling to PostScript units...");
+ScaleToEm(900, 100);
+
+num_chars = CharCnt();
+count = 0;
+delta = 100;
+
+while (count + delta < num_chars)
+ Print(count, "/", num_chars - 1, ":");
+ Select(count, count + delta);
+
+ Print(" Add extrema...");
+ AddExtrema();
+
+ Print(" Simplifying outlines...");
+ Simplify(0, 2);
+
+ count += delta;
+endloop;
+
+Print(count, "/", num_chars - 1, ":");
+Select(count, num_chars - 1);
+
+Print(" Add extrema...");
+AddExtrema();
+
+Print(" Simplifying outlines...");
+Simplify(0, 2);
+
+SelectAll();
+foreach
+ unicode = GlyphInfo("Unicode");
+ if (unicode > 0)
+ SetUnicodeValue(unicode);
+ name = GlyphInfo("Name");
+ SetGlyphName(name + ".vert", 0);
+ endif
+endloop;
+
+Reencode("original");
+
+# generate AFM and TFM files, no PS hints, and rounded PS coordinates
+Print("Generating font...");
+Generate($2 + ".pfb", "", \
+ 0x1 | 0x100 | 0x10000 | 0x80000 | 0x200000);
+
+Quit(0);
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/subfonts/vertref.pe b/language/chinese/CJK/cjk-4.8.4/utils/subfonts/vertref.pe
new file mode 100644
index 0000000000..63533f9473
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/subfonts/vertref.pe
@@ -0,0 +1,121 @@
+# Generate a font with glyphs which have vertical glyph representations (but
+# don't include the vertical glyph representations itself). This is used by
+# the perl script `makefdx.pl' to create an FDX file as used by the CJK
+# package for LaTeX.
+#
+# The font is created in the current directory.
+#
+# $1: The master font (e.g., `bsmi00lp.ttf').
+# $2: The name of the target font (e.g., `bsmilpvr').
+
+# Copyright (C) 1994-2007 Werner Lemberg <wl@gnu.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in doc/COPYING; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+if (Strtol($version) < 20071105)
+ Print("Can't use FontForge version before 2007-11-05. Aborting.";
+ Quit(1);
+endif;
+
+if ($argc != 3)
+ Print("usage: [fontforge -script] ", $0, " master-font fontname");
+ Quit(1);
+endif;
+
+Print("Loading ", $1, "...");
+Open($1);
+
+fontname = $2;
+fullname = $fullname + " vertical reference";
+copyright = $copyright \
+ + Chr(10) + Chr(10) \
+ + "Vertical glyph reference font version " \
+ + Strftime("%F", 1, "C") \
+ + ".";
+SetFontNames(fontname, "", fullname, "", copyright, "");
+
+lookups = GetLookups("GSUB");
+
+i = 0;
+result = -1;
+while (i < SizeOf(lookups))
+ if (Strstr(lookups[i], "'vert'") >= 0)
+ result = i;
+ endif;
+ i++;
+endloop;
+
+if (result == -1)
+ Print("This font doesn't contain a GSUB table with a `vert' feature.");
+ Quit(1);
+endif;
+
+subtables = GetLookupSubtables(lookups[result]);
+
+i = 0;
+result = -1;
+while (i < SizeOf(subtables))
+ if (Strstr(subtables[i], "'vert'") >= 0)
+ result = i;
+ endif;
+ i++;
+endloop;
+
+SelectByPosSub(subtables[result], 1);
+
+SelectInvert();
+DetachAndRemoveGlyphs();
+
+Print("Ensure third order curves...");
+SetFontOrder(3);
+
+Print("Scaling to PostScript units...");
+ScaleToEm(900, 100);
+
+num_chars = CharCnt();
+count = 0;
+delta = 100;
+
+while (count + delta < num_chars)
+ Print(count, "/", num_chars - 1, ":");
+ Select(count, count + delta);
+
+ Print(" Add extrema...");
+ AddExtrema();
+
+ Print(" Simplifying outlines...");
+ Simplify(0, 2);
+
+ count += delta;
+endloop;
+
+Print(count, "/", num_chars - 1, ":");
+Select(count, num_chars - 1);
+
+Print(" Add extrema...");
+AddExtrema();
+
+Print(" Simplifying outlines...");
+Simplify(0, 2);
+
+Reencode("original");
+
+# generate AFM and TFM files, no PS hints, and rounded PS coordinates
+Print("Generating font...");
+Generate($2 + ".pfb", "", \
+ 0x1 | 0x100 | 0x10000 | 0x80000 | 0x200000);
+
+Quit(0);
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/dvips/garuda-c90/config.garuda-c90 b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/dvips/garuda-c90/config.garuda-c90
new file mode 100644
index 0000000000..69e0d59326
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/dvips/garuda-c90/config.garuda-c90
@@ -0,0 +1 @@
+p +garuda-c90.map
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/dvips/norasi-c90/config.norasi-c90 b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/dvips/norasi-c90/config.norasi-c90
new file mode 100644
index 0000000000..655dace2ba
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/dvips/norasi-c90/config.norasi-c90
@@ -0,0 +1 @@
+p +norasi-c90.map
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/enc/dvips/thai/c90.enc b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/enc/dvips/thai/c90.enc
new file mode 100644
index 0000000000..03fc48b9fa
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/enc/dvips/thai/c90.enc
@@ -0,0 +1,334 @@
+%!PS-Adobe-3.0 Resource-Encoding
+% @psencodingfile{
+% author = "See file c90.etx",
+% version = "See file c90.etx",
+% date = "generated 2005/07/04",
+% filename = "c90.enc",
+% email = "See file c90.etx",
+% codetable = "ISO/ASCII",
+% checksum = "",
+% abstract = "This is a postscript encoding file, automatically generated by fontinst from c90.etx."
+% }
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+% Created by: tex garuda
+% Created using: \etxtoenc{c90}{c90}
+
+% This file should be installed somewhere that your DVI
+% to postscript driver looks for files. It is needed for
+% reencoding some font you have transformed.
+
+% After installing this file, you should add the following
+% line (minus %) to your finstmsc.rc file:
+% \declarepsencoding{c90}{C90Encoding}{\download{c90.enc}}
+
+%%BeginResource: encoding C90Encoding
+/C90Encoding [
+% 0
+/Gamma
+/Delta
+/Theta
+/Lambda
+/Xi
+/Pi
+/Sigma
+/Upsilon
+% 8
+/Phi
+/Psi
+/Omega
+/endash
+/emdash
+/quotesingle
+/exclamdown
+/questiondown
+% 16
+/dotlessi
+/quotedblleft
+/grave
+/acute
+/caron
+/breve
+/macron
+/ring
+% 24
+/cedilla
+/germandbls
+/ae
+/oe
+/oslash
+/AE
+/OE
+/Oslash
+% 32
+/.notdef
+/exclam
+/quotedblright
+/numbersign
+/dollar
+/percent
+/ampersand
+/quoteright
+% 40
+/parenleft
+/parenright
+/asterisk
+/plus
+/comma
+/hyphen
+/period
+/slash
+% 48
+/zero
+/one
+/two
+/three
+/four
+/five
+/six
+/seven
+% 56
+/eight
+/nine
+/colon
+/semicolon
+/less
+/equal
+/greater
+/question
+% 64
+/at
+/A
+/B
+/C
+/D
+/E
+/F
+/G
+% 72
+/H
+/I
+/J
+/K
+/L
+/M
+/N
+/O
+% 80
+/P
+/Q
+/R
+/S
+/T
+/U
+/V
+/W
+% 88
+/X
+/Y
+/Z
+/bracketleft
+/backslash
+/bracketright
+/circumflex
+/underscore
+% 96
+/quoteleft
+/a
+/b
+/c
+/d
+/e
+/f
+/g
+% 104
+/h
+/i
+/j
+/k
+/l
+/m
+/n
+/o
+% 112
+/p
+/q
+/r
+/s
+/t
+/u
+/v
+/w
+% 120
+/x
+/y
+/z
+/braceleft
+/bar
+/braceright
+/tilde
+/dieresis
+% 128
+/uni0E38
+/uni0E39
+/uni0E3A
+/uni0E48.low_left
+/uni0E49.low_left
+/uni0E4A.low_left
+/uni0E4B.low_left
+/uni0E4C.low_left
+% 136
+/uni0E48.low
+/uni0E49.low
+/uni0E4A.low
+/uni0E4B.low
+/uni0E4C.low
+/.notdef
+/.notdef
+/uni0E4D.left
+% 144
+/uni0E0D.descless
+/.notdef
+/uni0E31.left
+/uni0E47.left
+/uni0E34.left
+/uni0E35.left
+/uni0E36.left
+/uni0E37.left
+% 152
+/uni0E48.left
+/uni0E49.left
+/uni0E4A.left
+/uni0E4B.left
+/uni0E4C.left
+/.notdef
+/.notdef
+/uni0E10.descless
+% 160
+/.notdef
+/uni0E01
+/uni0E02
+/uni0E03
+/uni0E04
+/uni0E05
+/uni0E06
+/uni0E07
+% 168
+/uni0E08
+/uni0E09
+/uni0E0A
+/uni0E0B
+/uni0E0C
+/uni0E0D
+/uni0E0E
+/uni0E0F
+% 176
+/uni0E10
+/uni0E11
+/uni0E12
+/uni0E13
+/uni0E14
+/uni0E15
+/uni0E16
+/uni0E17
+% 184
+/uni0E18
+/uni0E19
+/uni0E1A
+/uni0E1B
+/uni0E1C
+/uni0E1D
+/uni0E1E
+/uni0E1F
+% 192
+/uni0E20
+/uni0E21
+/uni0E22
+/uni0E23
+/uni0E24
+/uni0E25
+/uni0E26
+/uni0E27
+% 200
+/uni0E28
+/uni0E29
+/uni0E2A
+/uni0E2B
+/uni0E2C
+/uni0E2D
+/uni0E2E
+/uni0E2F
+% 208
+/uni0E30
+/uni0E31
+/uni0E32
+/uni0E33
+/uni0E34
+/uni0E35
+/uni0E36
+/uni0E37
+% 216
+/uni0E38
+/uni0E39
+/uni0E3A
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/uni0E3F
+% 224
+/uni0E40
+/uni0E41
+/uni0E42
+/uni0E43
+/uni0E44
+/uni0E45
+/uni0E46
+/uni0E47
+% 232
+/uni0E48
+/uni0E49
+/uni0E4A
+/uni0E4B
+/uni0E4C
+/uni0E4D
+/uni0E4E
+/uni0E4F
+% 240
+/uni0E50
+/uni0E51
+/uni0E52
+/uni0E53
+/uni0E54
+/uni0E55
+/uni0E56
+/uni0E57
+% 248
+/uni0E58
+/uni0E59
+/uni0E5A
+/uni0E5B
+/uni0E38.low
+/uni0E39.low
+/uni0E3A.low
+/.notdef
+] def
+%%EndResource
+
+% End of file c90.enc.
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/map/dvips/garuda-c90/garuda-c90.map b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/map/dvips/garuda-c90/garuda-c90.map
new file mode 100644
index 0000000000..0c1af91bfe
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/map/dvips/garuda-c90/garuda-c90.map
@@ -0,0 +1,4 @@
+fgdr8z Garuda " C90Encoding ReEncodeFont " <c90.enc <garuda.pfb
+fgdb8z Garuda-Bold " C90Encoding ReEncodeFont " <c90.enc <garuda_b.pfb
+fgdo8z Garuda-Oblique " C90Encoding ReEncodeFont " <c90.enc <garuda_o.pfb
+fgdbo8z Garuda-BoldOblique " C90Encoding ReEncodeFont " <c90.enc <garuda_bo.pfb
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/map/dvips/norasi-c90/norasi-c90.map b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/map/dvips/norasi-c90/norasi-c90.map
new file mode 100644
index 0000000000..6d6a7790fd
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/map/dvips/norasi-c90/norasi-c90.map
@@ -0,0 +1,4 @@
+ftnr8z Norasi " C90Encoding ReEncodeFont " <c90.enc <norasi.pfb
+ftnb8z Norasi-Bold " C90Encoding ReEncodeFont " <c90.enc <norasi_b.pfb
+ftni8z Norasi-Italic " C90Encoding ReEncodeFont " <c90.enc <norasi_i.pfb
+ftnbi8z Norasi-BoldItalic " C90Encoding ReEncodeFont " <c90.enc <norasi_bi.pfb
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdb8z.tfm b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdb8z.tfm
new file mode 100644
index 0000000000..65f79a03d9
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdb8z.tfm
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdbo8z.tfm b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdbo8z.tfm
new file mode 100644
index 0000000000..10f04c2013
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdbo8z.tfm
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdo8z.tfm b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdo8z.tfm
new file mode 100644
index 0000000000..729bb4f89e
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdo8z.tfm
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdr8z.tfm b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdr8z.tfm
new file mode 100644
index 0000000000..7e7ab8eb41
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdr8z.tfm
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftnb8z.tfm b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftnb8z.tfm
new file mode 100644
index 0000000000..29f8047108
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftnb8z.tfm
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftnbi8z.tfm b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftnbi8z.tfm
new file mode 100644
index 0000000000..be784971fc
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftnbi8z.tfm
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftni8z.tfm b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftni8z.tfm
new file mode 100644
index 0000000000..202a7c5bbe
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftni8z.tfm
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftnr8z.tfm b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftnr8z.tfm
new file mode 100644
index 0000000000..866eac16ba
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftnr8z.tfm
Binary files differ
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/INSTALL b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/INSTALL
new file mode 100644
index 0000000000..21e0236826
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/INSTALL
@@ -0,0 +1,333 @@
+Installation of Thai fonts for TeX with fontinst
+------------------------------------------------
+
+0. The files `c90.etx' and `c90.mtx' must be in the TEXINPUTS path.
+ Normally, the current directory also works. Note that you need
+ fontinst version 1.918 or higher.
+
+1. In case your Thai font doesn't come with an AFM metrics file you
+ must extract it from the font using tools like `type1afm' (from the
+ t1lib package) or ghostscript's `ps2afm' program.
+
+2. Create a control file for fontinst.
+
+ Example:
+
+ Let us assume that we have the following AFM files for the Garuda
+ family, using version 0.5 of the `fonts-tlwg' project:
+
+ garuda.afm
+ garuda_b.afm
+ garuda_o.afm
+ garuda_bo.afm
+
+ You should use glyph names compliant to Karl Berry's `fontname'
+ scheme. For `garuda', this could be `fgdr8z': `f' is the foundry
+ (`small foundry'), `gd' is the typeface name, `r' means the
+ weight (`regular'), and `8z' the encoding (`8bit user').
+ Similarly, suitable names for the other fonts are `fgdb8z',
+ `fgdo8z', and `fgdbo8z', respectively.
+
+ Fonts with `f' as the supplier should go into a `public' font
+ directory. The typeface `Garuda' already exists in the latest
+ fontname version (typeface.map version 4-Jul-2005 at the time of
+ writing), the associated directory is `garuda'. Please consult
+ the `fontname' standard for more information.
+
+ A template for the fontinst control file can be found as
+ `garuda-c90.fontinst' which looks like the following.
+
+ ==== garuda-c90.fontinst ====
+
+ \input fontinst.sty
+
+ \needsfontinstversion{1.918}
+
+
+ % we explicitly set all slots in the encoding, so provide all
+ % glyph names in AFM files equally (this is, don't create
+ % `<glyph>-not' names)
+ \let\setnotglyph \setrawglyph
+
+ % we want warnings for missing glyphs
+ \fontinstcc
+ \add_to\pre_fourth_etx_pass_hook{
+ \def\do_slot{
+ \if_undefined{g-\slot_name}\then
+ \fontinstwarningnoline{fontinst}
+ {missing~glyph~`\slot_name'\space
+ for~slot~\the\slot_number\space
+ in~font~`\out_filename'}
+ \fi
+ \do_character
+ }
+ }
+ \normalcc
+
+
+ % create PL files and an FD file
+ \installfonts
+ \setint{fontdimen(2)}{500} % SPACE
+ \setint{fontdimen(3)}{300} % STRETCH
+ \setint{fontdimen(4)}{100} % SHRINK
+ \setint{fontdimen(6)}{1000} % QUAD
+ \setint{fontdimen(7)}{0} % EXTRASPACE
+
+ \installrawfont{fdbr8z}{garuda,c90}{c90}
+ {C90}{garuda}{m}{n}{}
+ \installrawfont{fdbb8z}{garuda_b,c90}{c90}
+ {C90}{garuda}{bx}{n}{}
+ \installrawfont{fdbbo8z}{garuda_bo,c90}{c90}
+ {C90}{garuda}{bx}{sl}{}
+ \installrawfont{fdbo8z}{garuda_o,c90}{c90}
+ {C90}{garuda}{m}{sl}{}
+ \endinstallfonts
+
+
+ \input finstmsc.sty
+
+
+ % create the c90.enc file
+ \installfonts
+ % the `makeenc' flag is used in c90.etx
+ \setint{makeenc}{1}
+ \setstr{encodingname}{C90Encoding}
+ \etxtoenc{c90}{c90}
+ \endinstallfonts
+
+ \end
+
+ ==== garuda-c90.fontinst ====
+
+ Some explanations.
+
+ - The control files also create MTX and PL files for the AFM
+ files (e.g., garuda.mtx and garuda.pl) which aren't needed and
+ can be deleted.
+
+ - AFM files don't provide all necessary font dimensions for TeX.
+ Consequently, you have to set some dimensions manually. The
+ `SPACE' value must be larger than for a Latin font; a
+ reasonable value is 500. You should increase the `STRETCH'
+ value also -- some tests have shown that 300 yields good
+ results, but this depends on the font. `EXTRASPACE' can be set
+ to zero since you must always use TeX's \frenchspacing command
+ for Thai. All other font dimension values given above are
+ default values and can stay unmodified.
+
+ There is nothing for free: The changed font dimensions improve
+ spacing between Thai words, but Latin words are far too widely
+ spaced.
+
+ - The arguments to \installrawfont are as follows.
+
+ #1 The target font name.
+ #2 A comma separated list (without spaces) of metric
+ files. Above, the first one is the AFM file, the
+ second one is c90.mtx which sets up the three mandatory
+ alias glyph slots.
+ #3 The name of the encoding file (c90.etx).
+ #4-#7 The NFSS attributes for the font.
+ #8 The size command. If it is empty, `<->' is used.
+
+ - The second \installfonts...\endinstallfonts block creates an
+ encoding file.
+
+3. Run fontinst:
+
+ tex garuda-c90.fontinst
+
+ If you get warnings about missing glyphs which are critical (this
+ is, if they affect Thai characters), you have to configure fontinst
+ to use an alias file for glyph names. This is described below.
+
+4. Say
+
+ pltotf <PL-file>
+
+ for all target PL files to create TFM files.
+
+ Example:
+
+ pltotf fgdr8z
+ pltotf fgdb8z
+ pltotf fgdo8z
+ pltotf fgdbo8z
+
+ After the conversion, the PL files are no longer needed and can be
+ deleted. As mentioned above, the PL files created directly from the
+ AFM files need not be converted.
+
+5. Create a mapping file <font>.map for the PS fonts (which can be
+ used by both dvips and pdftex).
+
+ Example `garuda-c90.map' (the lines are split for readability only):
+
+ fgdr8z Garuda \
+ " C90Encoding ReEncodeFont " <c90.enc <garuda.pfb
+ fgdb8z Garuda-Bold \
+ " C90Encoding ReEncodeFont " <c90.enc <garuda_b.pfb
+ fgdo8z Garuda-Oblique \
+ " C90Encoding ReEncodeFont " <c90.enc <garuda_o.pfb
+ fgdbo8z Garuda-BoldOblique \
+ " C90Encoding ReEncodeFont " <c90.enc <garuda_bo.pfb
+
+ A proper entry for the mapping file (dvipdfm.map) of dvipdfm (and
+ dvipdfmx) looks like this:
+
+ fgdr8z c90 garuda
+ fgdb8z c90 garuda_b
+ fgdo8z c90 garuda_o
+ fgdbo8z c90 garuda_bo
+
+ Note that teTeX's (and TeXLive's) `updmap' script can automatically
+ convert a map line for dvips to a proper entry for dvipdfm and
+ dvipdfmx.
+
+6. There are two possibilities how to make the Thai fonts known to
+ dvips.
+
+ - Append the contents of the map file to `psfonts.map' (or the map
+ file specified in the configuration file of dvips, `config.ps',
+ with the `p' option). How to do this may vary depending on the
+ used TeX system; for example, teTeX and TeXLive both use a script
+ called `updmap' to maintain `psfonts.map'.
+
+ - Write a small file called config.<font> (e.g. `config.garuda-c90')
+ with the following line in it:
+
+ p +<map_file>
+
+ Example:
+
+ p +garuda-c90.map
+
+ Then you can use the `-P' command line option of dvips to include
+ the reencoded font. Example:
+
+ dvips -P garuda-c90 test.dvi
+
+7. After testing, install the font and its support files in your TeX
+ tree. In the following example, `TEXMF' denotes the location of
+ your (local) `texmf' directory (we assume a TeX installation
+ compliant to TDS 1.1 as provided recent versions of TeXLive and
+ teTeX).
+
+ garuda.pfb -> TEXMF/fonts/type1/public/garuda/
+ garuda.afm -> TEXMF/fonts/afm/public/garuda/
+ ...
+
+ c90.enc -> TEXMF/fonts/enc/dvips/thai/
+
+ garuda.map -> TEXMF/fonts/map/dvips/garuda-c90/
+ config.garuda -> TEXMF/dvips/garuda-c90/
+
+ fgdr8z.tfm -> TEXMF/fonts/tfm/public/garuda-c90/
+ ...
+
+ c90gar.fd -> TEXMF/tex/latex/CJK/thai/
+
+8. Run texhash or a similar program to update the TDS database if
+ necessary.
+
+
+You are done! With plain TeX, say e.g.
+
+ \font\thai = fgdr9z at 16pt
+
+to use the font \thai. This will typeset TIS-620 encoded Thai. Note,
+however, that you need CJK's cjk-enc.el for Emacs to insert proper
+inter-character glue and word breakpoints in case you want to typeset
+longer Thai phrases.
+
+
+Reencoding Thai fonts
+---------------------
+
+Older Thai fonts don't use proper glyph names, and recent ones
+probably use different suffixes; it is thus necessary to make fontinst
+aware of those names.
+
+A complete example can be found in the `dbtt-old' subdirectory (which
+can be used for the dbtt fonts from TeXLive 8 or earlier).
+
+a. Set up a file which contains all the aliases, using the \galias
+ macro. This file should have the extension `.tex'.
+
+ Example:
+
+ If glyph `endash' is represented with glyph name `ucircumflex' in
+ the font, use the following:
+
+ \galias{ucircumflex}{endash}
+
+b. Set up both ETX and MTX files which load the just created glyph
+ alias file. To do that, use the files `dbtt-old-alias.etx' and
+ `dbtt-old-alias.mtx' as templates. Leave everything unchanged
+ except the line with \input which should load your glyph alias
+ file.
+
+c. Set up a proper fontinst control file. Use `dbtt-old.fontinst' as
+ a template, replacing the `dbtt-old-alias' items in the
+ \installrawfont lines with the name of your MTX file. Similarly,
+ the three last lines in the second \installfonts...\endinstallfonts
+ block should be adjusted accordingly.
+
+d. Continue with item 3 above. Note that in item 5, you have to use
+ not `C90Encoding' but the encoding name defined with the \setstr
+ line in your fontinst control file.
+
+
+Using different LaTeX encodings for Thai
+----------------------------------------
+
+The used encoding scheme within the CJK package for Thai is `C90', but
+it is straightforward to adapt it to other Thai encodings like `LTH'
+by reordering the `\setslot ... \endsetslot' blocks in the file
+`c90.etx'.
+
+Currently, only CJK's cjk-enc.el output filter for Emacs needs the
+Thai ligatures -- other Thai word segmentation programs like `swath'
+or `cttex' already replace the input characters with proper glyph
+variants. Anyway, they don't harm, and it is on the TODO list of the
+thailatex maintainers to finally use those ligatures also.
+
+
+Printing c90.etx
+----------------
+
+It is possible to convert the main fontinst encoding file for Thai,
+c90.etx, into a printable document. To do so, you have to apply the
+patch below to the file `fontdoc.sty' (which is part of the fontinst
+package -- tested with fontinst version 1.926; newer versions have
+already been corrected and don't need this patch), then simply say
+
+ latex c90.etx
+
+
+====================================================================
+
+
+--- fontdoc.sty.old Mon Feb 9 21:28:59 2004
++++ fontdoc.sty Wed Jun 23 12:13:04 2004
+@@ -1052,7 +1052,7 @@
+ \x@cs\def{FD@lig-/LIG}#1#2{%
+ \FD@typeset@string{\slot@name}${}*{}$\typeset@glyph{#1}%
+ ${}\rightarrow{}$%
+- \FD@typeset@string{\slot@name}${}*{}$\typeset@glyph{#2}$%
++ \FD@typeset@string{\slot@name}${}*{}$\typeset@glyph{#2}%
+ }
+ \x@cs\def{FD@lig-LIG/}#1#2{%
+ \FD@typeset@string{\slot@name}${}*{}$\typeset@glyph{#1}%
+@@ -1085,7 +1085,7 @@
+ \FD@typeset@string{\slot@name}${}*{}$\typeset@glyph{#1}%
+ ${}\rightarrow{}$%
+ \FD@typeset@string{\slot@name}${}*{}$%
+- \typeset@glyph{#2}${}*\lfloor$\typeset@glyph{#1}$}
++ \typeset@glyph{#2}${}*\lfloor$\typeset@glyph{#1}}
+ \def\nextlarger#1{\Bheading{Next larger} \typeset@glyph{#1}}
+ \def\makerightboundary#1{%
+ \Bheading{Right boundary marker slot} designation \typeset@glyph{#1}%
+
+
+---End of INSTALL---
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/c90.etx b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/c90.etx
new file mode 100644
index 0000000000..56cb88c757
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/c90.etx
@@ -0,0 +1,2346 @@
+% c90.etx
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\relax
+\documentclass{article}
+
+\usepackage[specification]{fontdoc}[2001/06/01]
+\usepackage{textcomp}
+\usepackage{shortvrb}
+\usepackage{mflogo}
+\usepackage{multicol}
+\usepackage{url}
+
+\MakeShortVerb{\|}
+
+\newlength{\Stackwidth}
+
+\newcommand\StackAbove[2]{%
+ \settowidth{\Stackwidth}{$#1$}%
+ \vbox{\hbox{$#1$}%
+ \hbox to \Stackwidth{\hss $#2$\hss}}%
+}
+\newcommand\StackBelow[2]{%
+ \settowidth{\Stackwidth}{$#1$}%
+ \vtop{\hbox{$#1$}%
+ \hbox to \Stackwidth{\hss $#2$\hss}}%
+}
+
+\newcommand{\thaiclass}[1]{%
+ {\textit{#1}}%
+}
+\newcommand{\thaiclassx}[2]{%
+ \thaiclass{#1}%
+ \raisebox{-0.4ex}{{\footnotesize\textit{#2}}}%
+}
+\newcommand{\thaiclassxx}[3]{%
+ \thaiclassx{#1}{#2}%
+ \raisebox{-0.8ex}{{\tiny\textit{#3}}}%
+}
+
+
+\begin{document}
+
+\title{The \texttt{C90} encoding for Thai}
+\author{Werner Lemberg}
+\date{2005/07/04}
+\maketitle
+
+
+\section{Introduction}
+
+This file describes a font encoding for Thai, as presented in a
+TUGboat article~\cite{TUG-Thai}. The glyph names follow the Adobe
+Glyph List (AGL)~\cite{AGL} recommendations. Since most available
+Thai fonts neither use AGL glyph names nor follow the font encoding
+used here, you have to be careful in setting up a proper encoding
+vector. A specialty (for reasons explained below) is that three
+glyphs, namely |/uni0E38| (Thai character `sara u'), |/uni0E39| (Thai
+character `sara uu'), and |/uni0E3A| (Thai character `phinthu') must
+appear twice in the encoding; the additional glyph indices are |0x80|,
+|0x81|, and |0x82|, respectively.
+
+
+\section{Ligatures}
+The tricky part is implementing the ligatures. TeX's ligature
+mechanism only provides contextual patterns of length~2. Due to the
+very nature of the ETX format, ligatures aren't grouped into classes
+which makes this file rather long.
+
+Thai glyphs can be grouped functionally into base glyphs (which are
+spacing glyphs) and diacritics (which have zero advance width).
+Usually, diacritical glyphs represent either vowels or tone
+indicators, whereas base glyphs represent consonants -- I won't go
+into detail here; please read the Unicode standard~\cite{Unicode} or
+any introduction into the Thai script for more information.
+
+The general composing rules are as follows:
+
+\[
+ CV \longrightarrow \StackAbove{V}{C}\,,\quad
+ CT \longrightarrow \StackAbove{T}{C}\,,\quad
+ CVT \longrightarrow \StackAbove{\StackAbove{T}{V}}{C}\,,\quad
+ Cv \longrightarrow \StackBelow{C}{v}\,,\quad
+ CvT \longrightarrow \StackBelow{\StackAbove{T}{C}}{v}
+\]
+
+\noindent
+where $C$ represents a base consonant, $V$ an upper vowel, $v$ a lower
+vowel, and $T$ a tone mark. The tone mark always comes last.
+
+Sometimes you will find documents which have first the tone mark and
+then the vowel. In real Thai input systems, this error will be
+catched and fixed by reordering the characters according to the
+TIS-620 Thai encoding standard before any output is created. The
+ligatures given below are not able to handle such incorrect data, and
+you have to normalize it before using them.
+
+It depends on context where the diacritics are exactly positioned;
+some base glyphs have overlong ascenders or descenders, making it
+necessary to shift the diacritics vertically and horizontally.
+
+To complicate things, the Thai vowel `sara am' (TIS-620 code point
+|0xD3|, Unicode value |U+0E33|), which looks like the final nasal sign
+`nikhahit' (|0xED|, |U+0E4D|) followed by the vowel `sara aa' (|0xD2|,
+|U+0E32|), will be decomposed into these two glyphs for rendering.
+The difficulty is that we must position the tone mark of the
+\emph{previous} character properly! Thus we have
+
+\[
+ C + SM \longrightarrow \StackAbove{N}{C} + SA\,,\quad
+ C + T + SM \longrightarrow \StackAbove{\StackAbove{T}{N}}{C} + SA
+\]
+
+A last specialty (used for Sanskrit written in Thai) is that `sara aa'
+if it follows the independent vowel letter `ru' (|0xC4|, |U+0E24|) or
+`lu' (|0xC6|, |U+0E26|) is replaced with the `lakkhangyao' sign
+(|0xE5|, |U+0E45|).
+
+
+\section{Glyph Classes}
+
+To describe the patterns and rules we start with defining glyph
+classes.
+
+\begin{quote}
+ \begin{description}
+ \item[\thaiclassx{base}{normal}] Normal base glyphs without special
+ features.
+ \item[\thaiclassx{base}{desc}] Base glyphs with descender.
+ \item[\thaiclassx{base}{desclike}] These base glyphs consist of two
+ elements which look like a normal base glyph combined with a lower
+ vowel diacritic; the diacritic-like element will be omitted if
+ combined with a lower vowel.
+ \item[\thaiclassx{base}{asc}] Base glyphs with an ascender on the
+ right side.
+ \item[\thaiclassx{base}{indic}] The two independent vowels \emph{ru}
+ and \emph{lu}.
+ \item[\thaiclassx{base}{sign}] The sign \emph{lakkhangyao}.
+ \item[\thaiclassx{base}{sara am}] The vowel \emph{sara am}.
+ \item[\thaiclassx{base}{sara aa}] The vowel \emph{sara aa}.
+ \item[\thaiclass{lower}] Lower vowel diacritics.
+ \item[\thaiclassx{upper}{vowel}] Upper vowel diacritics.
+ \item[\thaiclassx{upper}{sign}] The \emph{nikhahit} final nasal
+ sign.
+ \item[\thaiclass{top}] Tone marks.
+ \end{description}
+\end{quote}
+
+Here the glyph variant classes:
+
+\begin{quote}
+ \begin{description}
+ \item[\thaiclassx{base}{descless}] The glyphs of class
+ \thaiclassx{base}{desclike} without the lower part.
+ \item[\thaiclassx{lower}{low}] The glyphs of class
+ \thaiclass{lower} shifted downwards.
+ \item[\thaiclassxx{upper}{vowel}{left}] The glyphs of class
+ \thaiclassx{upper}{vowel} shifted to the left.
+ \item[\thaiclassxx{upper}{sign}{left}] The glyphs of class
+ \thaiclassx{upper}{sign} shifted to the left.
+ \item[\thaiclassx{top}{left}] The glyphs of class
+ \thaiclass{top} shifted to the left.
+ \item[\thaiclassx{top}{low}] The glyphs of class
+ \thaiclass{top} shifted downwards.
+ \item[\thaiclassx{top}{low-left}] The glyphs of class
+ \thaiclass{top} shifted to the left and downwards.
+ \end{description}
+\end{quote}
+
+
+\section{Context Patterns}
+
+Using the glyph classes defined in the last section it is easy to
+describe the context patterns for base glyphs with diacritical signs.
+Surprisingly, these patterns are quite systematic. Patterns in
+table~\ref{table:context-dia} which are marked with an asterisk do
+nothing and are listed for completeness only. Note that these
+patterns cover combinations which don't happen in the Thai script
+(which doesn't harm).
+
+\begin{table*}
+ \centering
+ \def\arraystretch{1.3}
+ \begin{tabular}
+ {l@{~}l@{~}l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l@{~}l@{~}l@{~}l}
+ \thaiclass{base} &\thaiclass{lower}
+ & &
+ &\thaiclass{base} &\thaiclass{lower}
+ & & &* \\
+ \thaiclass{base} &
+ &\thaiclass{upper} &
+ &\thaiclass{base} &
+ &\thaiclass{upper} & &* \\
+ \thaiclass{base} &
+ & &\thaiclass{top}
+ &\thaiclass{base} &
+ & &\thaiclassx{top}{low} & \\
+ \thaiclass{base} &\thaiclass{lower}
+ & &\thaiclass{top}
+ &\thaiclass{base} &\thaiclass{lower}
+ & &\thaiclassx{top}{low} & \\
+ \thaiclass{base} &
+ &\thaiclass{upper} &\thaiclass{top}
+ &\thaiclass{base} &
+ &\thaiclass{upper} &\thaiclass{top} &* \\[2ex]
+
+ \thaiclassx{base}{desc} &\thaiclass{lower}
+ & &
+ &\thaiclassx{base}{desc} &\thaiclassx{lower}{low}
+ & & & \\
+ \thaiclassx{base}{desc} &
+ &\thaiclass{upper} &
+ &\thaiclassx{base}{desc} &
+ &\thaiclass{upper} & &* \\
+ \thaiclassx{base}{desc} &
+ & &\thaiclass{top}
+ &\thaiclassx{base}{desc} &
+ & &\thaiclassx{top}{low} & \\
+ \thaiclassx{base}{desc} &\thaiclass{lower}
+ & &\thaiclass{top}
+ &\thaiclassx{base}{desc} &\thaiclassx{lower}{low}
+ & &\thaiclassx{top}{low} & \\
+ \thaiclassx{base}{desc} &
+ &\thaiclass{upper} &\thaiclass{top}
+ &\thaiclassx{base}{desc} &
+ &\thaiclass{upper} &\thaiclass{top} &* \\[2ex]
+
+ \thaiclassx{base}{desclike} &\thaiclass{lower}
+ & &
+ &\thaiclassx{base}{descless} &
+ & & & \\
+ \thaiclassx{base}{desclike} &
+ &\thaiclass{upper} &
+ &\thaiclassx{base}{desclike} &
+ &\thaiclass{upper} & &* \\
+ \thaiclassx{base}{desclike} &
+ & &\thaiclass{top}
+ &\thaiclassx{base}{desclike} &
+ & &\thaiclassx{top}{low} & \\
+ \thaiclassx{base}{desclike} &\thaiclass{lower}
+ & &\thaiclass{top}
+ &\thaiclassx{base}{descless} &\thaiclass{lower}
+ & &\thaiclassx{top}{low} & \\
+ \thaiclassx{base}{desclike} &
+ &\thaiclass{upper} &\thaiclass{top}
+ &\thaiclassx{base}{desclike} &
+ &\thaiclass{upper} &\thaiclass{top} &* \\[2ex]
+
+ \thaiclassx{base}{asc} &\thaiclass{lower}
+ & &
+ &\thaiclassx{base}{asc} &\thaiclass{lower}
+ & & &* \\
+ \thaiclassx{base}{asc} &
+ &\thaiclass{upper} &
+ &\thaiclassx{base}{asc} &
+ &\thaiclassx{upper}{left} & & \\
+ \thaiclassx{base}{asc} &
+ & &\thaiclass{top}
+ &\thaiclassx{base}{asc} &
+ & &\thaiclassx{top}{low-left} & \\
+ \thaiclassx{base}{asc} &\thaiclass{lower}
+ & &\thaiclass{top}
+ &\thaiclassx{base}{asc} &\thaiclass{lower}
+ & &\thaiclassx{top}{low-left} & \\
+ \thaiclassx{base}{asc} &
+ &\thaiclass{upper} &\thaiclass{top}
+ &\thaiclassx{base}{asc} &
+ &\thaiclassx{upper}{left} &\thaiclassx{top}{left} & \\
+ \end{tabular}
+
+ \caption{Context patterns for diacritical signs. Here,
+ \thaiclass{base} refers to the union of the subclasses
+ \thaiclass{normal}, \thaiclass{indic}, \thaiclass{sign},
+ \thaiclass{sara am}, and \thaiclass{sara aa} of \thaiclass{base};
+ \thaiclass{upper} is the union of the subclasses \thaiclass{vowel}
+ and \thaiclass{sign} of \thaiclass{upper}.}
+ \label{table:context-dia}
+\end{table*}
+
+Table~\ref{table:context-sara} covers the ligatures of the character
+\emph{sara am}. Finally, table~\ref{table:context-indic} describes
+the letters specific to Sanskrit.
+
+\begin{table*}
+ \centering
+ \def\arraystretch{1.3}
+ \begin{tabular}{l@{~}l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l@{~}l@{~}l}
+ \thaiclass{base} &\thaiclassx{base}{sara am} &
+ &\thaiclass{base} &\thaiclassx{upper}{sign}
+ & &\thaiclassx{base}{sara aa} \\
+ \thaiclassx{base}{asc} &\thaiclassx{base}{sara am} &
+ &\thaiclassx{base}{asc} &\thaiclassxx{upper}{sign}{left}
+ & &\thaiclassx{base}{sara aa} \\[2ex]
+
+ \thaiclass{base} &\thaiclass{top} &\thaiclassx{base}{sara am}
+ &\thaiclass{base} &\thaiclassx{upper}{sign}
+ &\thaiclass{top} &\thaiclassx{base}{sara aa} \\
+ \thaiclassx{base}{asc} &\thaiclass{top} &\thaiclassx{base}{sara
+ am}
+ &\thaiclassx{base}{asc} &\thaiclassxx{upper}{sign}{left}
+ &\thaiclassx{top}{left} &\thaiclassx{base}{sara aa}
+ \end{tabular}
+ \caption{Context patterns for \emph{sara am}. Here,
+ \thaiclass{base} denotes the union of subclasses
+ \thaiclass{normal}, \thaiclass{desc}, and \thaiclass{desclike} of
+ \thaiclass{base}.}
+ \label{table:context-sara}
+\end{table*}
+
+\begin{table*}
+ \centering
+ \def\arraystretch{1.3}
+ \begin{tabular}{l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l}
+ \thaiclassx{base}{indic} &\thaiclassx{base}{sara aa}
+ &\thaiclassx{base}{indic} &\thaiclassx{base}{sign}
+ \end{tabular}
+ \caption{Context patterns for \emph{ru} and \emph{lu}.}
+ \label{table:context-indic}
+\end{table*}
+
+\section{\TeX's Ligature Mechanism}
+
+\DeleteShortVerb{\|}
+
+A small introduction into the exotic variants of \TeX's ligature
+mechanism which probably many users haven't seen before.
+Additionally, the documentation in the \emph{\MF book}~\cite{MFbook}
+is very sparse. In the following examples \MF's notation is used.
+
+The usual ligature action of two glyphs $a$ and~$b$ is the replacement
+of both glyphs with another glyph~$c$.
+
+\begin{center}
+ \texttt{a b =:\ c}
+\end{center}
+
+Another possibility is to retain the left or the right original glyph
+(before and after the ligature, respectively) or both.
+
+\begin{center}
+ \texttt{a b |=:\ c} \quad
+ \texttt{a b =:| c} \quad
+ \texttt{a b |=:| c}
+\end{center}
+
+\noindent
+The first rule creates $ac$, the second $cb$, and the last $acb$. In
+all three cases, the current point after appying the ligature rule is
+still at the first glyph of the replaced glyphs, and \TeX\ simply
+restarts there to check ligatures (and kernings). A classical example
+is
+
+\begin{center}
+ f f i \textrightarrow\ ff i \textrightarrow\ ffi
+\end{center}
+
+To advance the current point to the right, append either \texttt{>} or
+\texttt{>{}>} (the latter is only possible if you retain both input
+glyphs). Here are the remaining four ligature rules.
+
+\begin{center}
+ \texttt{a b |=:> c} \quad
+ \texttt{a b =:|> c} \\
+ \texttt{a b |=:|> c} \quad
+ \texttt{a b |=:|>{}> c}
+\end{center}
+
+For Thai ligatures, the most often needed rule is \texttt{|=:}\ (i.e.,
+retain the left glyph and stay at the same position before applying
+the next ligature rule). Note that using \texttt{|=:>} instead is not
+a good idea since this would prohibit kerning between the left glyph
+and the ligature.
+
+\section{Ligature Rules}
+
+\MakeShortVerb{\|}
+
+As just explained, \TeX\ can only handle context patterns of length~2,
+whereas Thai needs patterns of length~3. It was an interesting
+challenge to find out whether the problem can be solved with \TeX's
+somewhat restricted ligature rules -- the gentle reader is invited to
+find a solution by herself! There won't be any difficulties in
+understanding ligatures afterwards.
+
+The tables~\ref{table:liga-dia}, \ref{table:liga-sara},
+and~\ref{table:liga-indic} use the same conventions as
+tables~\ref{table:context-dia}, \ref{table:context-sara},
+and~\ref{table:context-indic}, respectively. The current point isn't
+increased in any of the rules.
+
+\begin{table*}
+ \centering
+ \def\arraystretch{1.3}
+ \begin{tabular}{l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l}
+ \thaiclass{base} &\thaiclass{top}
+ &\thaiclass{base} &\thaiclassx{top}{low} \\
+ \thaiclassx{base}{desc} &\thaiclass{lower}
+ &\thaiclassx{base}{desc} &\thaiclassx{lower}{low} \\
+ \thaiclassx{base}{desc} &\thaiclass{top}
+ &\thaiclassx{base}{desc} &\thaiclassx{top}{low} \\
+ \thaiclassx{base}{desclike} &\thaiclass{lower}
+ &\thaiclassx{base}{descless} &\thaiclass{lower} \\
+ \thaiclassx{base}{desclike} &\thaiclass{top}
+ &\thaiclassx{base}{desclike} &\thaiclassx{top}{low} \\
+ \thaiclassx{base}{asc} &\thaiclass{lower}
+ &\thaiclassx{base}{asc} &\thaiclassx{lower}{left} \\
+ \thaiclassx{base}{asc} &\thaiclass{upper}
+ &\thaiclassx{base}{asc} &\thaiclassx{upper}{left} \\
+ \thaiclassx{base}{asc} &\thaiclass{top}
+ &\thaiclassx{base}{asc} &\thaiclassx{top}{low-left} \\[2ex]
+
+ \thaiclass{lower} &\thaiclass{top}
+ &\thaiclass{lower} &\thaiclassx{top}{low} \\
+ \thaiclassx{lower}{low} &\thaiclass{top}
+ &\thaiclassx{lower}{low} &\thaiclassx{top}{low} \\[2ex]
+
+ \thaiclassx{upper}{left} &\thaiclass{top}
+ &\thaiclassx{upper}{left} &\thaiclassx{top}{left} \\[2ex]
+
+ \thaiclassx{lower}{left} &\thaiclass{top}
+ &\thaiclassx{lower}{left} &\thaiclassx{top}{low-left} \\
+ \end{tabular}
+
+ \caption{Ligature rules for diacritical marks.}
+ \label{table:liga-dia}
+\end{table*}
+
+\begin{table*}
+ \centering
+ \def\arraystretch{1.3}
+ \begin{tabular}{l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l@{~}l}
+ \thaiclass{base} &\thaiclassx{base}{sara am}
+ &\thaiclass{base} &\thaiclassx{upper}{sign}
+ &\thaiclassx{base}{sara am} \\
+ \thaiclassx{base}{asc} &\thaiclassx{base}{sara am}
+ &\thaiclassx{base}{asc} &\thaiclassxx{upper}{sign}{left}
+ &\thaiclassx{base}{sara am} \\[2ex]
+
+ \thaiclassx{upper}{sign} &\thaiclassx{base}{sara am}
+ &\thaiclassx{upper}{sign} &\thaiclassx{base}{sara aa}
+ & \\
+ \thaiclassxx{upper}{sign}{left} &\thaiclassx{base}{sara am}
+ &\thaiclassxx{upper}{sign}{left} &\thaiclassx{base}{sara aa}
+ & \\[2ex]
+
+ \thaiclassx{top}{low} &\thaiclassx{base}{sara am}
+ &\thaiclassx{top}{low} &\thaiclass{top}
+ &\thaiclassx{base}{sara am} \\
+ \thaiclassx{top}{low} &\thaiclass{top}
+ &\thaiclassx{upper}{sign} &\thaiclass{top}
+ & \\
+ \thaiclass{top} &\thaiclassx{base}{sara am}
+ &\thaiclass{top} &\thaiclassx{base}{sara aa}
+ & \\[2ex]
+
+ \thaiclassx{top}{low-left} &\thaiclassx{base}{sara am}
+ &\thaiclassx{top}{low-left} &\thaiclassx{top}{left}
+ &\thaiclassx{base}{sara am} \\
+ \thaiclassx{top}{low-left} &\thaiclassx{top}{left}
+ &\thaiclassxx{upper}{sign}{left} &\thaiclassx{top}{left}
+ & \\
+ \thaiclassx{top}{left} &\thaiclassx{base}{sara am}
+ &\thaiclassx{top}{left} &\thaiclassx{base}{sara aa} \\
+ \end{tabular}
+
+ \caption{Ligature rules for \emph{sara am}.}
+ \label{table:liga-sara}
+\end{table*}
+
+\begin{table*}
+ \centering
+ \def\arraystretch{1.3}
+ \begin{tabular}{l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l}
+ \thaiclassx{base}{indic} &\thaiclassx{base}{sara aa}
+ &\thaiclassx{base}{indic} &\thaiclassx{base}{sign}
+ \end{tabular}
+ \caption{Ligature rule for \emph{ru} and \emph{lu}.}
+ \label{table:liga-indic}
+\end{table*}
+
+Most of the ligature rules can be derived easily by handling the
+patterns sequentially (quite similar to logic puzzles found in various
+magazines), but at the end there remain two patterns which apparently
+contradict.
+
+\setlength{\tabcolsep}{3pt}
+
+\begin{center}
+ \begin{tabular}{l@{~}l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l@{~}l}
+ \thaiclass{base} &\thaiclass{lower} &\thaiclass{top}
+ &\thaiclass{base} &\thaiclass{lower}
+ &\thaiclassx{top}{low} \\
+ \thaiclassx{base}{asc} &\thaiclass{lower} &\thaiclass{top}
+ &\thaiclassx{base}{asc} &\thaiclass{lower}
+ &\thaiclassx{top}{low-left} \\
+ \end{tabular}
+\end{center}
+
+After applying ligature rules for the first two glyph classes it is
+necessary to handle the context `\thaiclass{lower} \thaiclass{top}',
+but depending on the previous glyph class \thaiclass{top} must be
+replaced with \thaiclassx{top}{left} and \thaiclassx{top}{low-left},
+respectively. With a context pattern length of~3 this would be easy
+to solve, but \TeX\ doesn't have this feature. What to do?
+
+The context `\thaiclass{base} \thaiclass{lower} \thaiclass{top}' must
+be distinguished from `\thaiclassx{base}{asc} \thaiclass{lower}
+\thaiclass{top}', i.e., two different \thaiclass{lower} classes are
+needed depending on the previous character since \TeX\ is not able to
+forward information from one ligature cycle to the next. The idea is
+now to create an `alias class', a class which behaves identically to
+the original one. The glyphs in this alias class are the same, but
+different glyph indices and glyph names are assigned to it. A
+closer look to table~\ref{table:liga-dia} shows that
+\thaiclassx{lower}{left} isn't a typo but the alias class of
+\thaiclass{lower}.
+
+
+\section{The Implementation}
+
+After solving the problem theoretically now the practical
+implementation. All glyph names follow the \emph{Adobe Glyph List
+ (AGL)}~\cite{AGL}. There are no predefined Adobe glyph names for
+Thai, so the prefix `uni' with attached Unicode value will be used for
+all glyphs which are encoded in Unicode. Glyph variants are
+identified by an arbitrarily chosen postfix.
+
+Here the real glyph names for the various classes. Hexadecimal values
+in parentheses after the glyph name give the glyph indices in the
+encoding vector.
+
+\vspace{1ex}
+\multicolsep 1ex
+
+\begin{multicols}{2}[\thaiclassx{base}{normal}:]
+ \begin{quote}
+ |uni0E01| (|0xA1|)\\
+ |uni0E02| (|0xA2|)\\
+ |uni0E03| (|0xA3|)\\
+ |uni0E04| (|0xA4|)\\
+ |uni0E05| (|0xA5|)\\
+ |uni0E06| (|0xA6|)\\
+ |uni0E07| (|0xA7|)\\
+ |uni0E08| (|0xA8|)\\
+ |uni0E09| (|0xA9|)\\
+ |uni0E0A| (|0xAA|)\\
+ |uni0E0B| (|0xAB|)\\
+ |uni0E0C| (|0xAC|)\\
+ |uni0E11| (|0xB1|)\\
+ |uni0E12| (|0xB2|)\\
+ |uni0E13| (|0xB3|)\\
+ |uni0E14| (|0xB4|)\\
+ |uni0E15| (|0xB5|)\\
+ |uni0E16| (|0xB6|)\\
+ |uni0E17| (|0xB7|)\\
+ |uni0E18| (|0xB8|)\\
+ |uni0E19| (|0xB9|)\\
+ |uni0E1A| (|0xBA|)\\
+ |uni0E1C| (|0xBC|)\\
+ |uni0E1E| (|0xBE|)\\
+ |uni0E20| (|0xC0|)\\
+ |uni0E21| (|0xC1|)\\
+ |uni0E22| (|0xC2|)\\
+ |uni0E23| (|0xC3|)\\
+ |uni0E25| (|0xC5|)\\
+ |uni0E27| (|0xC7|)\\
+ |uni0E28| (|0xC8|)\\
+ |uni0E29| (|0xC9|)\\
+ |uni0E2A| (|0xCA|)\\
+ |uni0E2B| (|0xCB|)\\
+ |uni0E2D| (|0xCD|)\\
+ |uni0E2E| (|0xCE|)\\
+ |uni0E2F| (|0xCF|)\\
+ |uni0E30| (|0xD0|)\\
+ |uni0E40| (|0xE0|)\\
+ |uni0E41| (|0xE1|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{base}{desc}:]
+ \begin{quote}
+ |uni0E0E| (|0xAE|)\\
+ |uni0E0F| (|0xAF|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{base}{desclike}:]
+ \begin{quote}
+ |uni0E0D| (|0xAD|)\\
+ |uni0E10| (|0xB0|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{base}{indic}:]
+ \begin{quote}
+ |uni0E24| (|0xC4|)\\
+ |uni0E26| (|0xC6|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{base}{sign}:]
+ \begin{quote}
+ |uni0E45| (|0xE5|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{base}{asc}:]
+ \begin{quote}
+ |uni0E1B| (|0xBB|)\\
+ |uni0E1D| (|0xBD|)\\
+ |uni0E1F| (|0xBF|)\\
+ |uni0E2C| (|0xCC|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{base}{sara am}:]
+ \begin{quote}
+ |uni0E33| (|0xD3|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{base}{sara aa}:]
+ \begin{quote}
+ |uni0E32| (|0xD2|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{base}{descless}:]
+ \begin{quote}
+ |uni0E0D.descless| (|0x90|)\\
+ |uni0E10.descless| (|0x9F|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclass{lower}:]
+ \begin{quote}
+ |uni0E38| (|0xD8|)\\
+ |uni0E39| (|0xD9|)\\
+ |uni0E3A| (|0xDA|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{lower}{left}:]
+ \begin{quote}
+ |uni0E38.left| (|0x80|)\\
+ |uni0E39.left| (|0x81|)\\
+ |uni0E3A.left| (|0x82|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{lower}{low}:]
+ \begin{quote}
+ |uni0E38.low| (|0xFC|)\\
+ |uni0E39.low| (|0xFD|)\\
+ |uni0E3A.low| (|0xFE|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{upper}{vowel}:]
+ \begin{quote}
+ |uni0E31| (|0xD1|)\\
+ |uni0E34| (|0xD4|)\\
+ |uni0E35| (|0xD5|)\\
+ |uni0E36| (|0xD6|)\\
+ |uni0E37| (|0xD7|)\\
+ |uni0E47| (|0xE7|)\\
+ |uni0E4D| (|0xED|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{upper}{sign}:]
+ \begin{quote}
+ |uni0E4D| (|0xED|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassxx{upper}{vowel}{left}:]
+ \begin{quote}
+ |uni0E31.left| (|0x92|)\\
+ |uni0E34.left| (|0x94|)\\
+ |uni0E35.left| (|0x95|)\\
+ |uni0E36.left| (|0x96|)\\
+ |uni0E37.left| (|0x97|)\\
+ |uni0E47.left| (|0x93|)\\
+ |uni0E4D.left| (|0x8F|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassxx{upper}{sign}{left}:]
+ \begin{quote}
+ |uni0E4D.left| (|0x8F|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclass{top}:]
+ \begin{quote}
+ |uni0E48| (|0xE8|)\\
+ |uni0E49| (|0xE9|)\\
+ |uni0E4A| (|0xEA|)\\
+ |uni0E4B| (|0xEB|)\\
+ |uni0E4C| (|0xEC|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{top}{left}:]
+ \begin{quote}
+ |uni0E48.left| (|0x98|)\\
+ |uni0E49.left| (|0x99|)\\
+ |uni0E4A.left| (|0x9A|)\\
+ |uni0E4B.left| (|0x9B|)\\
+ |uni0E4C.left| (|0x9C|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{top}{low}:]
+ \begin{quote}
+ |uni0E48.low| (|0x88|)\\
+ |uni0E49.low| (|0x89|)\\
+ |uni0E4A.low| (|0x8A|)\\
+ |uni0E4B.low| (|0x8B|)\\
+ |uni0E4C.low| (|0x8C|)
+ \end{quote}
+\end{multicols}
+
+\begin{multicols}{2}[\thaiclassx{top}{low-left}:]
+ \begin{quote}
+ |uni0E48.low_left| (|0x83|)\\
+ |uni0E49.low_left| (|0x84|)\\
+ |uni0E4A.low_left| (|0x85|)\\
+ |uni0E4B.low_left| (|0x86|)\\
+ |uni0E4C.low_left| (|0x87|)
+ \end{quote}
+\end{multicols}
+
+\vspace{1ex}
+
+
+\encoding
+\needsfontinstversion{1.918}
+
+
+\begincomment
+\section{Coding Scheme}
+\endcomment
+
+\setstr{codingscheme}{C90 THAI ENCODING}
+
+
+\begincomment
+\section{Non-Thai Characters}
+
+Of the many different \LaTeX{} encodings, |OT1| supports {\small
+ ASCII} best (and this is what most Type~1 Thai fonts have). This
+has two advantages: We can use the raw Thai font without specifying a
+new encoding (switching to |OT1| will be sufficient), and it will work
+with plain \TeX{} also.
+
+We use the |OT1| layout for typewriter fonts (i.e., for |cmtt|) with
+the exception that `arrowup' and `arrowdown' are replaced with
+`endash' and `emdash', and the seldom used `dotlessj' with
+`quotedblleft'.
+\endcomment
+
+
+% 0x00 | 0
+\setslot{Gamma}
+ \Unicode{0393}{GREEK CAPITAL LETTER GAMMA}
+\endsetslot
+
+\setslot{Delta}
+ \Unicode{0394}{GREEK CAPITAL LETTER DELTA}
+\endsetslot
+
+\setslot{Theta}
+ \Unicode{0398}{GREEK CAPITAL LETTER THETA}
+\endsetslot
+
+\setslot{Lambda}
+ \Unicode{039B}{GREEK CAPITAL LETTER LAMDA}
+\endsetslot
+
+\setslot{Xi}
+ \Unicode{039E}{GREEK CAPITAL LETTER XI}
+\endsetslot
+
+\setslot{Pi}
+ \Unicode{03A0}{GREEK CAPITAL LETTER PI}
+\endsetslot
+
+\setslot{Sigma}
+ \Unicode{03A3}{GREEK CAPITAL LETTER SIGMA}
+\endsetslot
+
+\setslot{Upsilon}
+ \Unicode{03D2}{GREEK UPSILON WITH HOOK SYMBOL}
+\endsetslot
+
+\setslot{Phi}
+ \Unicode{03A6}{GREEK CAPITAL LETTER PHI}
+\endsetslot
+
+\setslot{Psi}
+ \Unicode{03A8}{GREEK CAPITAL LETTER PSI}
+\endsetslot
+
+\setslot{Omega}
+ \Unicode{03A9}{GREEK CAPITAL LETTER OMEGA}
+\endsetslot
+
+\setslot{endash}
+ \Unicode{2013}{EN DASH}
+ \Ligature{LIG}{hyphen}{emdash}
+ \comment{This is `arrowup' in |OT1| encoding.}
+\endsetslot
+
+\setslot{emdash}
+ \Unicode{2014}{EM DASH}
+ \comment{This is `arrowdown' in |OT1| encoding.}
+\endsetslot
+
+\setslot{quotesingle}
+ \Unicode{0027}{APOSTROPHE}
+\endsetslot
+
+\setslot{exclamdown}
+ \Unicode{00A1}{INVERTED EXCLAMATION MARK}
+\endsetslot
+
+\setslot{questiondown}
+ \Unicode{00BF}{INVERTED QUESTION MARK}
+\endsetslot
+
+% 0x10 | 16
+\setslot{dotlessi}
+ \Unicode{0131}{LATIN SMALL LETTER DOTLESS I}
+\endsetslot
+
+\setslot{quotedblleft}
+ \Unicode{201C}{LEFT DOUBLE QUOTATION MARK}
+ \comment{This is `dotlessj' in |OT1| encoding.}
+\endsetslot
+
+\setslot{grave}
+ \Unicode{0300}{COMBINING GRAVE ACCENT}
+\endsetslot
+
+\setslot{acute}
+ \Unicode{0301}{COMBINING ACUTE ACCENT}
+\endsetslot
+
+\setslot{caron}
+ \Unicode{030C}{COMBINING CARON}
+\endsetslot
+
+\setslot{breve}
+ \Unicode{0306}{COMBINING BREVE}
+\endsetslot
+
+\setslot{macron}
+ \Unicode{0304}{COMBINING MACRON}
+\endsetslot
+
+\setslot{ring}
+ \Unicode{030A}{COMBINING RING ABOVE}
+\endsetslot
+
+\setslot{cedilla}
+ \Unicode{0327}{COMBINING CEDILLA}
+\endsetslot
+
+\setslot{germandbls}
+ \Unicode{00DF}{LATIN SMALL LETTER SHARP S}
+\endsetslot
+
+\setslot{ae}
+ \Unicode{00E6}{LATIN SMALL LETTER AE}
+\endsetslot
+
+\setslot{oe}
+ \Unicode{0153}{LATIN SMALL LIGATURE OE}
+\endsetslot
+
+\setslot{oslash}
+ \Unicode{00F8}{LATIN SMALL LETTER O WITH STROKE}
+\endsetslot
+
+\setslot{AE}
+ \Unicode{00C6}{LATIN CAPITAL LETTER AE}
+\endsetslot
+
+\setslot{OE}
+ \Unicode{0152}{LATIN CAPITAL LIGATURE OE}
+\endsetslot
+
+\setslot{Oslash}
+ \Unicode{00D8}{LATIN CAPITAL LETTER O WITH STROKE}
+\endsetslot
+
+% 0x20 | 32
+\skipslots{1}
+
+\setslot{exclam}
+ \Unicode{0021}{EXCLAMATION MARK}
+ \Ligature{LIG}{quoteleft}{exclamdown}
+\endsetslot
+
+\setslot{quotedblright}
+ \Unicode{201D}{RIGHT DOUBLE QUOTATION MARK}
+\endsetslot
+
+\setslot{numbersign}
+ \Unicode{0023}{NUMBER SIGN}
+\endsetslot
+
+\setslot{dollar}
+ \Unicode{0024}{DOLLAR SIGN}
+\endsetslot
+
+\setslot{percent}
+ \Unicode{0025}{PERCENT SIGN}
+\endsetslot
+
+\setslot{ampersand}
+ \Unicode{0026}{AMPERSAND}
+\endsetslot
+
+\setslot{quoteright}
+ \Unicode{2019}{RIGHT SINGLE QUOTATION MARK}
+ \Ligature{LIG}{quoteright}{quotedblright}
+\endsetslot
+
+\setslot{parenleft}
+ \Unicode{0028}{LEFT PARENTHESIS}
+\endsetslot
+
+\setslot{parenright}
+ \Unicode{0029}{RIGHT PARENTHESIS}
+\endsetslot
+
+\setslot{asterisk}
+ \Unicode{002A}{ASTERISK}
+\endsetslot
+
+\setslot{plus}
+ \Unicode{002B}{PLUS SIGN}
+\endsetslot
+
+\setslot{comma}
+ \Unicode{002C}{COMMA}
+\endsetslot
+
+\setslot{hyphen}
+ \Unicode{002D}{HYPHEN-MINUS}
+ \Ligature{LIG}{hyphen}{endash}
+\endsetslot
+
+\setslot{period}
+ \Unicode{002E}{FULL STOP}
+\endsetslot
+
+\setslot{slash}
+ \Unicode{002F}{SOLIDUS}
+\endsetslot
+
+% 0x30 | 48
+\setslot{zero}
+ \Unicode{0030}{DIGIT ZERO}
+\endsetslot
+
+\setslot{one}
+ \Unicode{0031}{DIGIT ONE}
+\endsetslot
+
+\setslot{two}
+ \Unicode{0032}{DIGIT TWO}
+\endsetslot
+
+\setslot{three}
+ \Unicode{0033}{DIGIT THREE}
+\endsetslot
+
+\setslot{four}
+ \Unicode{0034}{DIGIT FOUR}
+\endsetslot
+
+\setslot{five}
+ \Unicode{0035}{DIGIT FIVE}
+\endsetslot
+
+\setslot{six}
+ \Unicode{0036}{DIGIT SIX}
+\endsetslot
+
+\setslot{seven}
+ \Unicode{0037}{DIGIT SEVEN}
+\endsetslot
+
+\setslot{eight}
+ \Unicode{0038}{DIGIT EIGHT}
+\endsetslot
+
+\setslot{nine}
+ \Unicode{0039}{DIGIT NINE}
+\endsetslot
+
+\setslot{colon}
+ \Unicode{003A}{COLON}
+\endsetslot
+
+\setslot{semicolon}
+ \Unicode{003B}{SEMICOLON}
+\endsetslot
+
+\setslot{less}
+ \Unicode{003C}{LESS-THAN SIGN}
+\endsetslot
+
+\setslot{equal}
+ \Unicode{003D}{EQUALS SIGN}
+\endsetslot
+
+\setslot{greater}
+ \Unicode{003E}{GREATER-THAN SIGN}
+\endsetslot
+
+\setslot{question}
+ \Unicode{003F}{QUESTION MARK}
+ \Ligature{LIG}{quoteleft}{questiondown}
+\endsetslot
+
+% 0x40 | 64
+\setslot{at}
+ \Unicode{0040}{COMMERCIAL AT}
+\endsetslot
+
+\setslot{A}
+ \Unicode{0041}{LATIN CAPITAL LETTER A}
+\endsetslot
+
+\setslot{B}
+ \Unicode{0042}{LATIN CAPITAL LETTER B}
+\endsetslot
+
+\setslot{C}
+ \Unicode{0043}{LATIN CAPITAL LETTER C}
+\endsetslot
+
+\setslot{D}
+ \Unicode{0044}{LATIN CAPITAL LETTER D}
+\endsetslot
+
+\setslot{E}
+ \Unicode{0045}{LATIN CAPITAL LETTER E}
+\endsetslot
+
+\setslot{F}
+ \Unicode{0046}{LATIN CAPITAL LETTER F}
+\endsetslot
+
+\setslot{G}
+ \Unicode{0047}{LATIN CAPITAL LETTER G}
+\endsetslot
+
+\setslot{H}
+ \Unicode{0048}{LATIN CAPITAL LETTER H}
+\endsetslot
+
+\setslot{I}
+ \Unicode{0049}{LATIN CAPITAL LETTER I}
+\endsetslot
+
+\setslot{J}
+ \Unicode{004A}{LATIN CAPITAL LETTER J}
+\endsetslot
+
+\setslot{K}
+ \Unicode{004B}{LATIN CAPITAL LETTER K}
+\endsetslot
+
+\setslot{L}
+ \Unicode{004C}{LATIN CAPITAL LETTER L}
+\endsetslot
+
+\setslot{M}
+ \Unicode{004D}{LATIN CAPITAL LETTER M}
+\endsetslot
+
+\setslot{N}
+ \Unicode{004E}{LATIN CAPITAL LETTER N}
+\endsetslot
+
+\setslot{O}
+ \Unicode{004F}{LATIN CAPITAL LETTER O}
+\endsetslot
+
+% 0x50 | 80
+\setslot{P}
+ \Unicode{0050}{LATIN CAPITAL LETTER P}
+\endsetslot
+
+\setslot{Q}
+ \Unicode{0051}{LATIN CAPITAL LETTER Q}
+\endsetslot
+
+\setslot{R}
+ \Unicode{0052}{LATIN CAPITAL LETTER R}
+\endsetslot
+
+\setslot{S}
+ \Unicode{0053}{LATIN CAPITAL LETTER S}
+\endsetslot
+
+\setslot{T}
+ \Unicode{0054}{LATIN CAPITAL LETTER T}
+\endsetslot
+
+\setslot{U}
+ \Unicode{0055}{LATIN CAPITAL LETTER U}
+\endsetslot
+
+\setslot{V}
+ \Unicode{0056}{LATIN CAPITAL LETTER V}
+\endsetslot
+
+\setslot{W}
+ \Unicode{0057}{LATIN CAPITAL LETTER W}
+\endsetslot
+
+\setslot{X}
+ \Unicode{0058}{LATIN CAPITAL LETTER X}
+\endsetslot
+
+\setslot{Y}
+ \Unicode{0059}{LATIN CAPITAL LETTER Y}
+\endsetslot
+
+\setslot{Z}
+ \Unicode{005A}{LATIN CAPITAL LETTER Z}
+\endsetslot
+
+\setslot{bracketleft}
+ \Unicode{005B}{LEFT SQUARE BRACKET}
+\endsetslot
+
+\setslot{backslash}
+ \Unicode{005C}{REVERSE SOLIDUS}
+\endsetslot
+
+\setslot{bracketright}
+ \Unicode{005D}{RIGHT SQUARE BRACKET}
+\endsetslot
+
+\setslot{circumflex}
+ \Unicode{0302}{COMBINING CIRCUMFLEX ACCENT}
+\endsetslot
+
+\setslot{underscore}
+ \Unicode{005F}{LOW LINE}
+\endsetslot
+
+% 0x60 | 96
+\setslot{quoteleft}
+ \Unicode{2018}{LEFT SINGLE QUOTATION MARK}
+ \Ligature{LIG}{quoteleft}{quotedblleft}
+\endsetslot
+
+\setslot{a}
+ \Unicode{0061}{LATIN SMALL LETTER A}
+\endsetslot
+
+\setslot{b}
+ \Unicode{0062}{LATIN SMALL LETTER B}
+\endsetslot
+
+\setslot{c}
+ \Unicode{0063}{LATIN SMALL LETTER C}
+\endsetslot
+
+\setslot{d}
+ \Unicode{0064}{LATIN SMALL LETTER D}
+\endsetslot
+
+\setslot{e}
+ \Unicode{0065}{LATIN SMALL LETTER E}
+\endsetslot
+
+\setslot{f}
+ \Unicode{0066}{LATIN SMALL LETTER F}
+\endsetslot
+
+\setslot{g}
+ \Unicode{0067}{LATIN SMALL LETTER G}
+\endsetslot
+
+\setslot{h}
+ \Unicode{0068}{LATIN SMALL LETTER H}
+\endsetslot
+
+\setslot{i}
+ \Unicode{0069}{LATIN SMALL LETTER I}
+\endsetslot
+
+\setslot{j}
+ \Unicode{006A}{LATIN SMALL LETTER J}
+\endsetslot
+
+\setslot{k}
+ \Unicode{006B}{LATIN SMALL LETTER K}
+\endsetslot
+
+\setslot{l}
+ \Unicode{006C}{LATIN SMALL LETTER L}
+\endsetslot
+
+\setslot{m}
+ \Unicode{006D}{LATIN SMALL LETTER M}
+\endsetslot
+
+\setslot{n}
+ \Unicode{006E}{LATIN SMALL LETTER N}
+\endsetslot
+
+\setslot{o}
+ \Unicode{006F}{LATIN SMALL LETTER O}
+\endsetslot
+
+% 0x70 | 112
+\setslot{p}
+ \Unicode{0070}{LATIN SMALL LETTER P}
+\endsetslot
+
+\setslot{q}
+ \Unicode{0071}{LATIN SMALL LETTER Q}
+\endsetslot
+
+\setslot{r}
+ \Unicode{0072}{LATIN SMALL LETTER R}
+\endsetslot
+
+\setslot{s}
+ \Unicode{0073}{LATIN SMALL LETTER S}
+\endsetslot
+
+\setslot{t}
+ \Unicode{0074}{LATIN SMALL LETTER T}
+\endsetslot
+
+\setslot{u}
+ \Unicode{0075}{LATIN SMALL LETTER U}
+\endsetslot
+
+\setslot{v}
+ \Unicode{0076}{LATIN SMALL LETTER V}
+\endsetslot
+
+\setslot{w}
+ \Unicode{0077}{LATIN SMALL LETTER W}
+\endsetslot
+
+\setslot{x}
+ \Unicode{0078}{LATIN SMALL LETTER X}
+\endsetslot
+
+\setslot{y}
+ \Unicode{0079}{LATIN SMALL LETTER Y}
+\endsetslot
+
+\setslot{z}
+ \Unicode{007A}{LATIN SMALL LETTER Z}
+\endsetslot
+
+\setslot{braceleft}
+ \Unicode{007B}{LEFT CURLY BRACKET}
+\endsetslot
+
+\setslot{bar}
+ \Unicode{007C}{VERTICAL LINE}
+\endsetslot
+
+\setslot{braceright}
+ \Unicode{007D}{RIGHT CURLY BRACKET}
+\endsetslot
+
+\setslot{tilde}
+ \Unicode{0303}{COMBINING TILDE}
+\endsetslot
+
+\setslot{dieresis}
+ \Unicode{0308}{COMBINING DIAERESIS}
+\endsetslot
+
+
+\begincomment
+\section{Thai Characters}
+
+This is |TIS-620| encoding with glyph variants. The encoding presented
+in~\cite{TUG-Thai} contained two alternate glyph forms at positions 157
+and 158 which have been removed meanwhile.
+
+The number of all Thai ligature rules is quite big (464~in total).
+Note that |vptovf| will make the ligature table much more compact as
+it may appear here.
+\endcomment
+
+% 0x80 | 128
+\ifisint{makeenc}\then
+ \setslot{uni0E38}
+ \endsetslot
+\Else
+ \setslot{uni0E38.left}
+ \comment{An alias for
+ \textunicode{0E38}{THAI CHARACTER SARA U}.}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low_left}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low_left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low_left}
+ \endsetslot
+\Fi
+
+\ifisint{makeenc}\then
+ \setslot{uni0E39}
+ \endsetslot
+\Else
+ \setslot{uni0E39.left}
+ \comment{An alias for
+ \textunicode{0E39}{THAI CHARACTER SARA UU}.}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low_left}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low_left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low_left}
+ \endsetslot
+\Fi
+
+\ifisint{makeenc}\then
+ \setslot{uni0E3A}
+ \endsetslot
+\Else
+ \setslot{uni0E3A.left}
+ \comment{An alias for
+ \textunicode{0E3A}{THAI CHARACTER PHINTHU}.}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low_left}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low_left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low_left}
+ \endsetslot
+\Fi
+
+\setslot{uni0E48.low_left}
+ \comment{A glyph variant of
+ \textunicode{0E48}{THAI CHARACTER MAI EK}.}
+ \Ligature{/LIG/}{uni0E33}{uni0E48.left}
+ \Ligature{LIG/}{uni0E48.left}{uni0E4D.left}
+\endsetslot
+
+\setslot{uni0E49.low_left}
+ \comment{A glyph variant of
+ \textunicode{0E49}{THAI CHARACTER MAI THO}.}
+ \Ligature{/LIG/}{uni0E33}{uni0E49.left}
+ \Ligature{LIG/}{uni0E49.left}{uni0E4D.left}
+\endsetslot
+
+\setslot{uni0E4A.low_left}
+ \comment{A glyph variant of
+ \textunicode{0E4A}{THAI CHARACTER MAI TRI}.}
+ \Ligature{/LIG/}{uni0E33}{uni0E4A.left}
+ \Ligature{LIG/}{uni0E4A.left}{uni0E4D.left}
+\endsetslot
+
+\setslot{uni0E4B.low_left}
+ \comment{A glyph variant of
+ \textunicode{0E4B}{THAI CHARACTER MAI CHATTAWA}.}
+ \Ligature{/LIG/}{uni0E33}{uni0E4B.left}
+ \Ligature{LIG/}{uni0E4B.left}{uni0E4D.left}
+\endsetslot
+
+\setslot{uni0E4C.low_left}
+ \comment{A glyph variant of
+ \textunicode{0E4C}{THAI CHARACTER THANTHAKHAT}.}
+ \Ligature{/LIG/}{uni0E33}{uni0E4C.left}
+ \Ligature{LIG/}{uni0E4C.left}{uni0E4D.left}
+\endsetslot
+
+\setslot{uni0E48.low}
+ \comment{A glyph variant of
+ \textunicode{0E48}{THAI CHARACTER MAI EK}.}
+ \Ligature{/LIG/}{uni0E33}{uni0E48}
+ \Ligature{LIG/}{uni0E48}{uni0E4D}
+\endsetslot
+
+\setslot{uni0E49.low}
+ \comment{A glyph variant of
+ \textunicode{0E49}{THAI CHARACTER MAI THO}.}
+ \Ligature{/LIG/}{uni0E33}{uni0E49}
+ \Ligature{LIG/}{uni0E49}{uni0E4D}
+\endsetslot
+
+\setslot{uni0E4A.low}
+ \comment{A glyph variant of
+ \textunicode{0E4A}{THAI CHARACTER MAI TRI}.}
+ \Ligature{/LIG/}{uni0E33}{uni0E4A}
+ \Ligature{LIG/}{uni0E4A}{uni0E4D}
+\endsetslot
+
+\setslot{uni0E4B.low}
+ \comment{A glyph variant of
+ \textunicode{04EB}{THAI CHARACTER MAI CHATTAWA}.}
+ \Ligature{/LIG/}{uni0E33}{uni0E4B}
+ \Ligature{LIG/}{uni0E4B}{uni0E4D}
+\endsetslot
+
+\setslot{uni0E4C.low}
+ \comment{A glyph variant of
+ \textunicode{0E4C}{THAI CHARACTER THANTHAKHAT}.}
+ \Ligature{/LIG/}{uni0E33}{uni0E4C}
+ \Ligature{LIG/}{uni0E4C}{uni0E4D}
+\endsetslot
+
+\skipslots{2}
+
+\setslot{uni0E4D.left}
+ \comment{A glyph variant of
+ \textunicode{0E4D}{THAI CHARACTER NIKHAHIT}.}
+ \Ligature{/LIG}{uni0E33}{uni0E32}
+ \Ligature{/LIG}{uni0E48}{uni0E48.left}
+ \Ligature{/LIG}{uni0E49}{uni0E49.left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.left}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.left}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.left}
+\endsetslot
+
+% 0x90 | 144
+\setslot{uni0E0D.descless}
+ \comment{A glyph variant of
+ \textunicode{0E0D}{THAI CHARACTER YO YING}.}
+\endsetslot
+
+\skipslots{1}
+
+\setslot{uni0E31.left}
+ \comment{A glyph variant of
+ \textunicode{0E31}{THAI CHARACTER MAI HAN-AKAT}.}
+ \Ligature{/LIG}{uni0E48}{uni0E48.left}
+ \Ligature{/LIG}{uni0E49}{uni0E49.left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.left}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.left}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.left}
+\endsetslot
+
+\setslot{uni0E47.left}
+ \comment{A glyph variant of
+ \textunicode{0E47}{THAI CHARACTER MAITAIKHU}.}
+ \Ligature{/LIG}{uni0E48}{uni0E48.left}
+ \Ligature{/LIG}{uni0E49}{uni0E49.left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.left}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.left}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.left}
+\endsetslot
+
+\setslot{uni0E34.left}
+ \comment{A glyph variant of
+ \textunicode{0E34}{THAI CHARACTER SARA I}.}
+ \Ligature{/LIG}{uni0E48}{uni0E48.left}
+ \Ligature{/LIG}{uni0E49}{uni0E49.left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.left}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.left}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.left}
+\endsetslot
+
+\setslot{uni0E35.left}
+ \comment{A glyph variant of
+ \textunicode{0E35}{THAI CHARACTER SARA II}.}
+ \Ligature{/LIG}{uni0E48}{uni0E48.left}
+ \Ligature{/LIG}{uni0E49}{uni0E49.left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.left}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.left}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.left}
+\endsetslot
+
+\setslot{uni0E36.left}
+ \comment{A glyph variant of
+ \textunicode{0E36}{THAI CHARACTER SARA UE}.}
+ \Ligature{/LIG}{uni0E48}{uni0E48.left}
+ \Ligature{/LIG}{uni0E49}{uni0E49.left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.left}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.left}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.left}
+\endsetslot
+
+\setslot{uni0E37.left}
+ \comment{A glyph variant of
+ \textunicode{0E37}{THAI CHARACTER SARA UEE}.}
+ \Ligature{/LIG}{uni0E48}{uni0E48.left}
+ \Ligature{/LIG}{uni0E49}{uni0E49.left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.left}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.left}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.left}
+\endsetslot
+
+\setslot{uni0E48.left}
+ \comment{A glyph variant of
+ \textunicode{0E48}{THAI CHARACTER MAI EK}.}
+ \Ligature{/LIG}{uni0E33}{uni0E32}
+\endsetslot
+
+\setslot{uni0E49.left}
+ \comment{A glyph variant of
+ \textunicode{0E49}{THAI CHARACTER MAI THO}.}
+ \Ligature{/LIG}{uni0E33}{uni0E32}
+\endsetslot
+
+\setslot{uni0E4A.left}
+ \comment{A glyph variant of
+ \textunicode{0E4A}{THAI CHARACTER MAI TRI}.}
+ \Ligature{/LIG}{uni0E33}{uni0E32}
+\endsetslot
+
+\setslot{uni0E4B.left}
+ \comment{A glyph variant of
+ \textunicode{0E4B}{THAI CHARACTER MAI CHATTAWA}.}
+ \Ligature{/LIG}{uni0E33}{uni0E32}
+\endsetslot
+
+\setslot{uni0E4C.left}
+ \comment{A glyph variant of
+ \textunicode{0E4C}{THAI CHARACTER THANTHAKHAT}.}
+ \Ligature{/LIG}{uni0E33}{uni0E32}
+\endsetslot
+
+\skipslots{2}
+
+\setslot{uni0E10.descless}
+ \comment{A glyph variant of
+ \textunicode{0E10}{THAI CHARACTER THO THAN}.}
+\endsetslot
+
+% 0xA0 | 160
+\skipslots{1}
+
+\setslot{uni0E01}
+ \Unicode{0E01}{THAI CHARACTER KO KAI}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E02}
+ \Unicode{0E02}{THAI CHARACTER KHO KHAI}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E03}
+ \Unicode{0E03}{THAI CHARACTER KHO KHUAT}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E04}
+ \Unicode{0E04}{THAI CHARACTER KHO KHWAI}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E05}
+ \Unicode{0E05}{THAI CHARACTER KHO KHON}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E06}
+ \Unicode{0E06}{THAI CHARACTER KHO RAKHANG}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E07}
+ \Unicode{0E07}{THAI CHARACTER NGO NGU}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E08}
+ \Unicode{0E08}{THAI CHARACTER CHO CHAN}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E09}
+ \Unicode{0E09}{THAI CHARACTER CHO CHING}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E0A}
+ \Unicode{0E0A}{THAI CHARACTER CHO CHANG}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E0B}
+ \Unicode{0E0B}{THAI CHARACTER SO SO}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E0C}
+ \Unicode{0E0C}{THAI CHARACTER CHO CHOE}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E0D}
+ \Unicode{0E0D}{THAI CHARACTER YO YING}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{LIG/}{uni0E38}{uni0E0D.descless}
+ \Ligature{LIG/}{uni0E39}{uni0E0D.descless}
+ \Ligature{LIG/}{uni0E3A}{uni0E0D.descless}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E0E}
+ \Unicode{0E0E}{THAI CHARACTER DO CHADA}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E38}{uni0E38.low}
+ \Ligature{/LIG}{uni0E39}{uni0E39.low}
+ \Ligature{/LIG}{uni0E3A}{uni0E3A.low}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E0F}
+ \Unicode{0E0F}{THAI CHARACTER TO PATAK}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E38}{uni0E38.low}
+ \Ligature{/LIG}{uni0E39}{uni0E39.low}
+ \Ligature{/LIG}{uni0E3A}{uni0E3A.low}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+% 0xB0 | 176
+\setslot{uni0E10}
+ \Unicode{0E10}{THAI CHARACTER THO THAN}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{LIG/}{uni0E38}{uni0E10.descless}
+ \Ligature{LIG/}{uni0E39}{uni0E10.descless}
+ \Ligature{LIG/}{uni0E3A}{uni0E10.descless}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E11}
+ \Unicode{0E11}{THAI CHARACTER THO NANGMONTHO}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E12}
+ \Unicode{0E12}{THAI CHARACTER THO PHUTHAO}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E13}
+ \Unicode{0E13}{THAI CHARACTER NO NEN}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E14}
+ \Unicode{0E14}{THAI CHARACTER DO DEK}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E15}
+ \Unicode{0E15}{THAI CHARACTER TO TAO}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E16}
+ \Unicode{0E16}{THAI CHARACTER THO THUNG}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E17}
+ \Unicode{0E17}{THAI CHARACTER THO THAHAN}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E18}
+ \Unicode{0E18}{THAI CHARACTER THO THONG}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E19}
+ \Unicode{0E19}{THAI CHARACTER NO NU}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E1A}
+ \Unicode{0E1A}{THAI CHARACTER BO BAIMAI}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E1B}
+ \Unicode{0E1B}{THAI CHARACTER PO PLA}
+ \Ligature{/LIG}{uni0E31}{uni0E31.left}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D.left}
+ \Ligature{/LIG}{uni0E34}{uni0E34.left}
+ \Ligature{/LIG}{uni0E35}{uni0E35.left}
+ \Ligature{/LIG}{uni0E36}{uni0E36.left}
+ \Ligature{/LIG}{uni0E37}{uni0E37.left}
+ \Ligature{/LIG}{uni0E38}{uni0E38.left}
+ \Ligature{/LIG}{uni0E39}{uni0E39.left}
+ \Ligature{/LIG}{uni0E3A}{uni0E3A.left}
+ \Ligature{/LIG}{uni0E47}{uni0E47.left}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low_left}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low_left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+ \Ligature{/LIG}{uni0E4D}{uni0E4D.left}
+\endsetslot
+
+\setslot{uni0E1C}
+ \Unicode{0E1C}{THAI CHARACTER PHO PHUNG}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E1D}
+ \Unicode{0E1D}{THAI CHARACTER FO FA}
+ \Ligature{/LIG}{uni0E31}{uni0E31.left}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D.left}
+ \Ligature{/LIG}{uni0E34}{uni0E34.left}
+ \Ligature{/LIG}{uni0E35}{uni0E35.left}
+ \Ligature{/LIG}{uni0E36}{uni0E36.left}
+ \Ligature{/LIG}{uni0E37}{uni0E37.left}
+ \Ligature{/LIG}{uni0E38}{uni0E38.left}
+ \Ligature{/LIG}{uni0E39}{uni0E39.left}
+ \Ligature{/LIG}{uni0E3A}{uni0E3A.left}
+ \Ligature{/LIG}{uni0E47}{uni0E47.left}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low_left}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low_left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+ \Ligature{/LIG}{uni0E4D}{uni0E4D.left}
+\endsetslot
+
+\setslot{uni0E1E}
+ \Unicode{0E1E}{THAI CHARACTER PHO PHAN}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E1F}
+ \Unicode{0E1F}{THAI CHARACTER FO FAN}
+ \Ligature{/LIG}{uni0E31}{uni0E31.left}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D.left}
+ \Ligature{/LIG}{uni0E34}{uni0E34.left}
+ \Ligature{/LIG}{uni0E35}{uni0E35.left}
+ \Ligature{/LIG}{uni0E36}{uni0E36.left}
+ \Ligature{/LIG}{uni0E37}{uni0E37.left}
+ \Ligature{/LIG}{uni0E38}{uni0E38.left}
+ \Ligature{/LIG}{uni0E39}{uni0E39.left}
+ \Ligature{/LIG}{uni0E3A}{uni0E3A.left}
+ \Ligature{/LIG}{uni0E47}{uni0E47.left}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low_left}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low_left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+ \Ligature{/LIG}{uni0E4D}{uni0E4D.left}
+\endsetslot
+
+% 0xC0 | 192
+\setslot{uni0E20}
+ \Unicode{0E20}{THAI CHARACTER PHO SAMPHAO}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E21}
+ \Unicode{0E21}{THAI CHARACTER MO MA}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E22}
+ \Unicode{0E22}{THAI CHARACTER YO YAK}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E23}
+ \Unicode{0E23}{THAI CHARACTER RO RUA}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E24}
+ \Unicode{0E24}{THAI CHARACTER RU}
+ \Ligature{/LIG}{uni0E32}{uni0E45}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E25}
+ \Unicode{0E25}{THAI CHARACTER LO LING}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E26}
+ \Unicode{0E26}{THAI CHARACTER LU}
+ \Ligature{/LIG}{uni0E32}{uni0E45}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E27}
+ \Unicode{0E27}{THAI CHARACTER WO WAEN}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E28}
+ \Unicode{0E28}{THAI CHARACTER SO SALA}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E29}
+ \Unicode{0E29}{THAI CHARACTER SO RUSI}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E2A}
+ \Unicode{0E2A}{THAI CHARACTER SO SUA}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E2B}
+ \Unicode{0E2B}{THAI CHARACTER HO HIP}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E2C}
+ \Unicode{0E2C}{THAI CHARACTER LO CHULA}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D.left}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+\endsetslot
+
+\setslot{uni0E2D}
+ \Unicode{0E2D}{THAI CHARACTER O ANG}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E2E}
+ \Unicode{0E2E}{THAI CHARACTER HO NOKHUK}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E2F}
+ \Unicode{0E2F}{THAI CHARACTER PAIYANNOI}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+% 0xD0 | 208
+\setslot{uni0E30}
+ \Unicode{0E30}{THAI CHARACTER SARA A}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E31}
+ \Unicode{0E31}{THAI CHARACTER MAI HAN-AKAT}
+\endsetslot
+
+\setslot{uni0E32}
+ \Unicode{0E32}{THAI CHARACTER SARA AA}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E33}
+ \Unicode{0E33}{THAI CHARACTER SARA AM}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E34}
+ \Unicode{0E34}{THAI CHARACTER SARA I}
+\endsetslot
+
+\setslot{uni0E35}
+ \Unicode{0E35}{THAI CHARACTER SARA II}
+\endsetslot
+
+\setslot{uni0E36}
+ \Unicode{0E36}{THAI CHARACTER SARA UE}
+\endsetslot
+
+\setslot{uni0E37}
+ \Unicode{0E37}{THAI CHARACTER SARA UEE}
+\endsetslot
+
+\setslot{uni0E38}
+ \Unicode{0E38}{THAI CHARACTER SARA U}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E39}
+ \Unicode{0E39}{THAI CHARACTER SARA UU}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E3A}
+ \Unicode{0E3A}{THAI CHARACTER PHINTHU}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\skipslots{4}
+
+\setslot{uni0E3F}
+ \Unicode{0E3F}{THAI CURRENCY SYMBOL BAHT}
+\endsetslot
+
+% 0xE0 | 224
+\setslot{uni0E40}
+ \Unicode{0E40}{THAI CHARACTER SARA E}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E41}
+ \Unicode{0E41}{THAI CHARACTER SARA AE}
+ \Ligature{/LIG/}{uni0E33}{uni0E4D}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E42}
+ \Unicode{0E42}{THAI CHARACTER SARA O}
+\endsetslot
+
+\setslot{uni0E43}
+ \Unicode{0E43}{THAI CHARACTER SARA AI MAIMUAN}
+\endsetslot
+
+\setslot{uni0E44}
+ \Unicode{0E44}{THAI CHARACTER SARA AI MAIMALAI}
+\endsetslot
+
+\setslot{uni0E45}
+ \Unicode{0E45}{THAI CHARACTER LAKKHANGYAO}
+\endsetslot
+
+\setslot{uni0E46}
+ \Unicode{0E46}{THAI CHARACTER MAIYAMOK}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E47}
+ \Unicode{0E47}{THAI CHARACTER MAITAIKHU}
+\endsetslot
+
+\setslot{uni0E48}
+ \Unicode{0E48}{THAI CHARACTER MAI EK}
+ \Ligature{/LIG}{uni0E33}{uni0E32}
+\endsetslot
+
+\setslot{uni0E49}
+ \Unicode{0E49}{THAI CHARACTER MAI THO}
+ \Ligature{/LIG}{uni0E33}{uni0E32}
+\endsetslot
+
+\setslot{uni0E4A}
+ \Unicode{0E4A}{THAI CHARACTER MAI TRI}
+ \Ligature{/LIG}{uni0E33}{uni0E32}
+\endsetslot
+
+\setslot{uni0E4B}
+ \Unicode{0E4B}{THAI CHARACTER MAI CHATTAWA}
+ \Ligature{/LIG}{uni0E33}{uni0E32}
+\endsetslot
+
+\setslot{uni0E4C}
+ \Unicode{0E4C}{THAI CHARACTER THANTHAKHAT}
+ \Ligature{/LIG}{uni0E33}{uni0E32}
+\endsetslot
+
+\setslot{uni0E4D}
+ \Unicode{0E4D}{THAI CHARACTER NIKHAHIT}
+ \Ligature{/LIG}{uni0E33}{uni0E32}
+\endsetslot
+
+\setslot{uni0E4E}
+ \Unicode{0E4E}{THAI CHARACTER YAMAKKAN}
+\endsetslot
+
+\setslot{uni0E4F}
+ \Unicode{0E4F}{THAI CHARACTER FONGMAN}
+\endsetslot
+
+% 0xF0 | 240
+\setslot{uni0E50}
+ \Unicode{0E50}{THAI DIGIT ZERO}
+\endsetslot
+
+\setslot{uni0E51}
+ \Unicode{0E51}{THAI DIGIT ONE}
+\endsetslot
+
+\setslot{uni0E52}
+ \Unicode{0E52}{THAI DIGIT TWO}
+\endsetslot
+
+\setslot{uni0E53}
+ \Unicode{0E53}{THAI DIGIT THREE}
+\endsetslot
+
+\setslot{uni0E54}
+ \Unicode{0E54}{THAI DIGIT FOUR}
+\endsetslot
+
+\setslot{uni0E55}
+ \Unicode{0E55}{THAI DIGIT FIVE}
+\endsetslot
+
+\setslot{uni0E56}
+ \Unicode{0E56}{THAI DIGIT SIX}
+\endsetslot
+
+\setslot{uni0E57}
+ \Unicode{0E57}{THAI DIGIT SEVEN}
+\endsetslot
+
+\setslot{uni0E58}
+ \Unicode{0E58}{THAI DIGIT EIGHT}
+\endsetslot
+
+\setslot{uni0E59}
+ \Unicode{0E59}{THAI DIGIT NINE}
+\endsetslot
+
+\setslot{uni0E5A}
+ \Unicode{0E5A}{THAI CHARACTER ANGKHANKHU}
+\endsetslot
+
+\setslot{uni0E5B}
+ \Unicode{0E5B}{THAI CHARACTER KHOMUT}
+\endsetslot
+
+\setslot{uni0E38.low}
+ \comment{A glyph variant of \textunicode{0E38}{THAI CHARACTER SARA U}.}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E39.low}
+ \comment{A glyph variant of \textunicode{0E39}{THAI CHARACTER SARA UU}.}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\setslot{uni0E3A.low}
+ \comment{A glyph variant of \textunicode{0E3A}{THAI CHARACTER PHINTHU}.}
+ \Ligature{/LIG}{uni0E48}{uni0E48.low}
+ \Ligature{/LIG}{uni0E49}{uni0E49.low}
+ \Ligature{/LIG}{uni0E4A}{uni0E4A.low}
+ \Ligature{/LIG}{uni0E4B}{uni0E4B.low}
+ \Ligature{/LIG}{uni0E4C}{uni0E4C.low}
+\endsetslot
+
+\skipslots{1}
+
+
+\begincomment
+\section{Font Dimensions}
+\endcomment
+
+\setfontdimen{1}{italicslant}
+\setfontdimen{2}{interword}
+\setfontdimen{3}{stretchword}
+\setfontdimen{4}{shrinkword}
+\setfontdimen{5}{xheight}
+\setfontdimen{6}{quad}
+\setfontdimen{7}{extraspace}
+
+\endencoding
+
+
+\begin{thebibliography}{9}
+\bibitem{TUG-Thai}
+ Werner Lemberg: \textit{Thai Fonts}, in \textit{TUGboat},
+ 21(2):113--120, June 2000. Available online in PDF format as
+ \url{http://tug.org/TUGboat/Articles/tb21-2/tb67lemb.pdf}.
+\bibitem{AGL}
+ Adobe Systems Incorporated: \textit{Adobe Glyph List}, 2003;
+ \url{http://partners.adobe.com/asn/developer/type/unicodegn.html}.
+\bibitem{MFbook}
+ Donald E.\ Knuth, Duane Bibby (illustrations): \textit{The \MF
+ book}, Ad\-di\-son--Wes\-ley, 1986; ISBN~0-201-13445-4.
+\bibitem{Unicode}
+ The Unicode Consortium (editor), \emph{et al.}: \textit{The Unicode
+ Standard, Version 4.0}, Addison Wesley Longman Publisher, 2003;
+ ISBN~0-321-18578-1. Most of the information in this book is also
+ available online at the Unicode consortium website, at
+ \url{http://www.unicode.org/versions/Unicode4.0.1}.
+\end{thebibliography}
+
+\end{document}
+
+% end of c90.etx
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/c90.mtx b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/c90.mtx
new file mode 100644
index 0000000000..baccdefa08
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/c90.mtx
@@ -0,0 +1,42 @@
+% c90.mtx
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\relax
+
+\metrics
+
+\needsfontinstversion{1.918}
+
+% provide glyph aliases needed for the ligature mechanism
+
+\setglyph{uni0E38.left}
+ \glyph{uni0E38}{1000}
+\endsetglyph
+
+\setglyph{uni0E39.left}
+ \glyph{uni0E39}{1000}
+\endsetglyph
+
+\setglyph{uni0E3A.left}
+ \glyph{uni0E3A}{1000}
+\endsetglyph
+
+\endmetrics
+
+% end of c90.mtx
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/config.dbtt-old b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/config.dbtt-old
new file mode 100644
index 0000000000..5ce1be96b2
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/config.dbtt-old
@@ -0,0 +1 @@
+p +dbtt-old.map
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old-alias.etx b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old-alias.etx
new file mode 100644
index 0000000000..c89777a2fb
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old-alias.etx
@@ -0,0 +1,46 @@
+% dbtt-old-alias.etx
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\relax
+
+\encoding
+
+\needsfontinstversion{1.918}
+
+\fontinstcc
+\def\galias#1#2{
+ \expandafter\def\csname slot-#2\endcsname{#1}
+}
+\def\setslot#1{
+ \edef\slot_name{
+ \if_defined{slot-#1}\then
+ \csname slot-#1\endcsname
+ \else
+ #1
+ \fi
+ }
+ \do_slot
+}
+\normalcc
+
+\input dbtt-old-alias
+
+\endencoding
+
+% end of dbtt-old-alias.etx
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old-alias.mtx b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old-alias.mtx
new file mode 100644
index 0000000000..4dbb7382e2
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old-alias.mtx
@@ -0,0 +1,36 @@
+% dbtt-old-alias.mtx
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\relax
+
+\metrics
+
+\needsfontinstversion{1.918}
+
+\def\galias#1#2{
+ \setglyph{#2}
+ \glyph{#1}{1000}
+ \endsetglyph
+}
+
+\input dbtt-old-alias
+
+\endmetrics
+
+% end of dbtt-old-alias.mtx
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old-alias.tex b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old-alias.tex
new file mode 100644
index 0000000000..558a1306cd
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old-alias.tex
@@ -0,0 +1,139 @@
+% dbtt-old-alias.tex
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\galias{ucircumflex}{endash}
+\galias{uacute}{emdash}
+\galias{quotedbl}{quotedblleft}
+\galias{quotedbl}{quotedblright}
+\galias{quotesingle}{quoteright}
+\galias{grave}{quoteleft}
+\galias{florin}{uni0E48.low_left}
+\galias{quotedblbase}{uni0E49.low_left}
+\galias{ellipsis}{uni0E4A.low_left}
+\galias{dagger}{uni0E4B.low_left}
+\galias{daggerdbl}{uni0E4C.low_left}
+\galias{circumflex}{uni0E48.low}
+\galias{perthousand}{uni0E49.low}
+\galias{Scaron}{uni0E4A.low}
+\galias{guilsinglleft}{uni0E4B.low}
+\galias{OE}{uni0E4C.low}
+\galias{u008F}{uni0E4D.left}
+\galias{u0090}{uni0E0D.descless}
+\galias{quoteright}{uni0E31.left}
+\galias{quotedblleft}{uni0E47.left}
+\galias{quotedblright}{uni0E34.left}
+\galias{bullet}{uni0E35.left}
+\galias{emdash}{uni0E36.left}
+\galias{endash}{uni0E37.left}
+\galias{tilde}{uni0E48.left}
+\galias{trademark}{uni0E49.left}
+\galias{scaron}{uni0E4A.left}
+\galias{guilsinglright}{uni0E4B.left}
+\galias{oe}{uni0E4C.left}
+\galias{Ydieresis}{uni0E10.descless}
+\galias{exclamdown}{uni0E01}
+\galias{cent}{uni0E02}
+\galias{sterling}{uni0E03}
+\galias{currency}{uni0E04}
+\galias{yen}{uni0E05}
+\galias{brokenbar}{uni0E06}
+\galias{section}{uni0E07}
+\galias{dieresis}{uni0E08}
+\galias{copyright}{uni0E09}
+\galias{ordfeminine}{uni0E0A}
+\galias{guillemotleft}{uni0E0B}
+\galias{logicalnot}{uni0E0C}
+\galias{hyphen}{uni0E0D}
+\galias{registered}{uni0E0E}
+\galias{macron}{uni0E0F}
+\galias{degree}{uni0E10}
+\galias{plusminus}{uni0E11}
+\galias{twosuperior}{uni0E12}
+\galias{threesuperior}{uni0E13}
+\galias{acute}{uni0E14}
+\galias{mu}{uni0E15}
+\galias{paragraph}{uni0E16}
+\galias{periodcentered}{uni0E17}
+\galias{cedilla}{uni0E18}
+\galias{onesuperior}{uni0E19}
+\galias{ordmasculine}{uni0E1A}
+\galias{guillemotright}{uni0E1B}
+\galias{onequarter}{uni0E1C}
+\galias{onehalf}{uni0E1D}
+\galias{threequarters}{uni0E1E}
+\galias{questiondown}{uni0E1F}
+\galias{Agrave}{uni0E20}
+\galias{Aacute}{uni0E21}
+\galias{Acircumflex}{uni0E22}
+\galias{Atilde}{uni0E23}
+\galias{Adieresis}{uni0E24}
+\galias{Aring}{uni0E25}
+\galias{AE}{uni0E26}
+\galias{Ccedilla}{uni0E27}
+\galias{Egrave}{uni0E28}
+\galias{Eacute}{uni0E29}
+\galias{Ecircumflex}{uni0E2A}
+\galias{Edieresis}{uni0E2B}
+\galias{Igrave}{uni0E2C}
+\galias{Iacute}{uni0E2D}
+\galias{Icircumflex}{uni0E2E}
+\galias{Idieresis}{uni0E2F}
+\galias{Eth}{uni0E30}
+\galias{Ntilde}{uni0E31}
+\galias{Ograve}{uni0E32}
+\galias{Oacute}{uni0E33}
+\galias{Ocircumflex}{uni0E34}
+\galias{Otilde}{uni0E35}
+\galias{Odieresis}{uni0E36}
+\galias{multiply}{uni0E37}
+\galias{Oslash}{uni0E38}
+\galias{Ugrave}{uni0E39}
+\galias{Uacute}{uni0E3A}
+\galias{germandbls}{uni0E3F}
+\galias{agrave}{uni0E40}
+\galias{aacute}{uni0E41}
+\galias{acircumflex}{uni0E42}
+\galias{atilde}{uni0E43}
+\galias{adieresis}{uni0E44}
+\galias{aring}{uni0E45}
+\galias{ae}{uni0E46}
+\galias{ccedilla}{uni0E47}
+\galias{egrave}{uni0E48}
+\galias{eacute}{uni0E49}
+\galias{ecircumflex}{uni0E4A}
+\galias{edieresis}{uni0E4B}
+\galias{igrave}{uni0E4C}
+\galias{iacute}{uni0E4D}
+\galias{icircumflex}{uni0E4E}
+\galias{idieresis}{uni0E4F}
+\galias{eth}{uni0E50}
+\galias{ntilde}{uni0E51}
+\galias{ograve}{uni0E52}
+\galias{oacute}{uni0E53}
+\galias{ocircumflex}{uni0E54}
+\galias{otilde}{uni0E55}
+\galias{odieresis}{uni0E56}
+\galias{divide}{uni0E57}
+\galias{oslash}{uni0E58}
+\galias{ugrave}{uni0E59}
+\galias{udieresis}{uni0E38.low}
+\galias{yacute}{uni0E39.low}
+\galias{Ucircumflex}{uni0E3A.low}
+
+% end of dbtt-old-alias.tex
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old.fontinst b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old.fontinst
new file mode 100644
index 0000000000..794284d1e0
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old.fontinst
@@ -0,0 +1,78 @@
+% dbtt-old.fontinst
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\input fontinst.sty
+
+\needsfontinstversion{1.918}
+
+
+% we explicitly set all slots in the encoding, so provide all glyph names
+% in AFM files equally (this is, don't create `<glyph>-not' names)
+\let\setnotglyph \setrawglyph
+
+% we want warnings for missing glyphs
+\fontinstcc
+\add_to\pre_fourth_etx_pass_hook{
+ \def\do_slot{
+ \if_undefined{g-\slot_name}\then
+ \fontinstwarningnoline{fontinst}
+ {missing~glyph~`\slot_name'\space
+ for~slot~\the\slot_number\space
+ in~font~`\out_filename'}
+ \fi
+ \do_character
+ }
+}
+\normalcc
+
+
+% create PL files and an FD file
+\installfonts
+ \setint{fontdimen(2)}{500} % SPACE
+ \setint{fontdimen(3)}{300} % STRETCH
+ \setint{fontdimen(4)}{100} % SHRINK
+ \setint{fontdimen(6)}{1000} % QUAD
+ \setint{fontdimen(7)}{0} % EXTRASPACE
+
+ \installrawfont{fdbr8z}{dbtt,dbtt-old-alias,c90}{c90}
+ {C90}{dbss}{m}{n}{<-> s *[1.3]}
+ \installrawfont{fdbb8z}{dbttb,dbtt-old-alias,c90}{c90}
+ {C90}{dbss}{bx}{n}{<-> s *[1.3]}
+ \installrawfont{fdbbo8z}{dbttbi,dbtt-old-alias,c90}{c90}
+ {C90}{dbss}{bx}{sl}{<-> s *[1.3]}
+ \installrawfont{fdbo8z}{dbtti,dbtt-old-alias,c90}{c90}
+ {C90}{dbss}{m}{sl}{<-> s *[1.3]}
+\endinstallfonts
+
+
+\input finstmsc.sty
+
+
+% create the dbtt-old.enc file
+\installfonts
+ % the `makeenc' flag is used in c90.etx
+ \setint{makeenc}{1}
+ \setstr{encodingname}{dbtt-oldEncoding}
+ \inputetx{dbtt-old-alias}
+ \etxtoenc{c90}{dbtt-old}
+\endinstallfonts
+
+\end
+
+% end of dbtt-old.fontinst
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old.map b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old.map
new file mode 100644
index 0000000000..c48f73fe71
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old.map
@@ -0,0 +1,4 @@
+fdbr8z DBThaiText " dbtt-oldEncoding ReEncodeFont " <dbtt-old.enc <dbtt.pfb
+fdbb8z DBThaiTextBold " dbtt-oldEncoding ReEncodeFont " <dbtt-old.enc <dbttb.pfb
+fdbo8z DBThaiTextItalic " dbtt-oldEncoding ReEncodeFont " <dbtt-old.enc <dbtti.pfb
+fdbbo8z DBThaiTextBoldItalic " dbtt-oldEncoding ReEncodeFont " <dbtt-old.enc <dbttbi.pfb
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/garuda-c90.fontinst b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/garuda-c90.fontinst
new file mode 100644
index 0000000000..a48185c4cb
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/garuda-c90.fontinst
@@ -0,0 +1,77 @@
+% garuda-c90.fontinst
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\input fontinst.sty
+
+\needsfontinstversion{1.918}
+
+
+% we explicitly set all slots in the encoding, so provide all glyph names
+% in AFM files equally (this is, don't create `<glyph>-not' names)
+\let\setnotglyph \setrawglyph
+
+% we want warnings for missing glyphs
+\fontinstcc
+\add_to\pre_fourth_etx_pass_hook{
+ \def\do_slot{
+ \if_undefined{g-\slot_name}\then
+ \fontinstwarningnoline{fontinst}
+ {missing~glyph~`\slot_name'\space
+ for~slot~\the\slot_number\space
+ in~font~`\out_filename'}
+ \fi
+ \do_character
+ }
+}
+\normalcc
+
+
+% create PL files and an FD file
+\installfonts
+ \setint{fontdimen(2)}{500} % SPACE
+ \setint{fontdimen(3)}{300} % STRETCH
+ \setint{fontdimen(4)}{100} % SHRINK
+ \setint{fontdimen(6)}{1000} % QUAD
+ \setint{fontdimen(7)}{0} % EXTRASPACE
+
+ \installrawfont{fgdr8z}{garuda,c90}{c90}
+ {C90}{garuda}{m}{n}{}
+ \installrawfont{fgdb8z}{garuda_b,c90}{c90}
+ {C90}{garuda}{bx}{n}{}
+ \installrawfont{fgdbo8z}{garuda_bo,c90}{c90}
+ {C90}{garuda}{bx}{sl}{}
+ \installrawfont{fgdo8z}{garuda_o,c90}{c90}
+ {C90}{garuda}{m}{sl}{}
+\endinstallfonts
+
+
+\input finstmsc.sty
+
+
+% create the c90.enc file
+\installfonts
+ % the `makeenc' flag is used in c90.etx
+ \setint{makeenc}{1}
+ \setstr{encodingname}{C90Encoding}
+ \etxtoenc{c90}{c90}
+\endinstallfonts
+
+\end
+
+% end of garuda-c90.fontinst
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/norasi-c90.fontinst b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/norasi-c90.fontinst
new file mode 100644
index 0000000000..433c89a9ab
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/norasi-c90.fontinst
@@ -0,0 +1,85 @@
+% norasi-c90.fontinst
+
+% Copyright (C) 1994-2015 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\input fontinst.sty
+
+\needsfontinstversion{1.918}
+
+
+% we explicitly set all slots in the encoding, so provide all glyph names
+% in AFM files equally (this is, don't create `<glyph>-not' names)
+\let\setnotglyph \setrawglyph
+
+% we want warnings for missing glyphs
+\fontinstcc
+\add_to\pre_fourth_etx_pass_hook{
+ \def\do_slot{
+ \if_undefined{g-\slot_name}\then
+ \fontinstwarningnoline{fontinst}
+ {missing~glyph~`\slot_name'\space
+ for~slot~\the\slot_number\space
+ in~font~`\out_filename'}
+ \fi
+ \do_character
+ }
+}
+\normalcc
+
+
+% create PL files and an FD file
+\installfonts
+ \setint{fontdimen(2)}{500} % SPACE
+ \setint{fontdimen(3)}{300} % STRETCH
+ \setint{fontdimen(4)}{100} % SHRINK
+ \setint{fontdimen(6)}{1000} % QUAD
+ \setint{fontdimen(7)}{0} % EXTRASPACE
+
+ \installrawfont{ftnr8z}{norasi,c90}{c90}
+ {C90}{nrsr}{m}{n}{}
+ \installrawfont{ftnb8z}{norasi_b,c90}{c90}
+ {C90}{nrsr}{bx}{n}{}
+ \installrawfont{ftnbi8z}{norasi_bi,c90}{c90}
+ {C90}{nrsr}{bx}{it}{}
+ \installrawfont{ftni8z}{norasi_i,c90}{c90}
+ {C90}{nrsr}{m}{it}{}
+
+% Thai glyphs in norasi_o and norasi_bo are identical to the shapes
+% in norasi_i and norasi_bi, respectively.
+%
+% \installrawfont{ftno8z}{norasi_o,c90}{c90}
+% {C90}{nrsr}{m}{sl}{}
+% \installrawfont{ftnbo8z}{norasi_bo,c90}{c90}
+% {C90}{nrsr}{bx}{sl}{}
+\endinstallfonts
+
+
+\input finstmsc.sty
+
+
+% create the c90.enc file
+\installfonts
+ % the `makeenc' flag is used in c90.etx
+ \setint{makeenc}{1}
+ \setstr{encodingname}{C90Encoding}
+ \etxtoenc{c90}{c90}
+\endinstallfonts
+
+\end
+
+% end of norasi-c90.fontinst
diff --git a/language/chinese/chtex/HC-1.5.hqx b/language/chinese/chtex/HC-1.5.hqx
new file mode 100644
index 0000000000..9c99f8992c
--- /dev/null
+++ b/language/chinese/chtex/HC-1.5.hqx
@@ -0,0 +1,1794 @@
+(This file must be converted with BinHex 4.0)
+:#NK$,6%Z05jcDA3!8dP8)90*9#%!!!!"6UX!!!!!Nee6593K!!)!!8kVFNaKG3%
+!!!!!!!!!!`!'5%-J-5ie!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!39"36%K$3%!K!+4j)ZDNH5fd!!&MJ!!
+!!!!!!4!-!!!!!!fA!!!!!!!!!!!*j`"fr6a$ipI-Q9el,NQAp0jVDa8mDhej-Sq
+IMCl%M6XRQcK,[bQ4fJG1Qelq$lph&f%N!i+$mNjRV@VV$fq'X0Y[!H6kc`BH1Fl
+(%'aK9DjJ!3P0*YdGaEeT86&!CLL[l9QSai9RZD"XUN+AfRj56$,*34G'MXCQPkl
+0R'@GJP82JUS1TmUF&#G"H2XC,m0J6&(Ta9bAR5ic[SS4Z*a'h"V%+le!")F,-S`
+p#YmGV9fJCZKHlljb,%ARFq`*`')pkB&G)V1C2l!&Sb!PF5m"F8DRAL5l8M3U04h
+qPSqLHq9lNXV5P)rJJd6i13MU8b9qVBA29RUN98&Y8Q'V"VM6D@N!+McFrqcLqD)
+,+ZY`ImEFKH$KbRZVI'N9rGKCQGJK[h,%CQFM`N))$FMKlQ'#"6mAlRdaXGQDT+0
+k81a-jYB"pTpS-MRY(m(2f05rlbQrrVJZmIrf)%rrrr0*pm)cN!#"hTA(kHY,9eR
+habjG"jrh(V0DcL!I6eTDZXqq1A,S22qip"HRrrr@DeV52e`A,D,rpSTQmV%[rrr
+rrrrrrrrrrl%!2rrKcJC1rrU6(rr4AIr%9Vrrrrrq3Q2rrrrrj@#SVh)!ArreRNb
+,R9"+6CfQ9`"*LP-(E8,K%3@-H8%Tl8kVY4ma#rrrrh3)0VDRE8JUJ$dR5*DdKkF
+HE9NYD8SGTV96T%X$dR5G+$DfTfe)+S!p*dL@Y)HR(QeC,!p*dYdS0VDRE8JUJ$d
+R5*DdKkFHE9NX$dR5hp%'eY6YU3mf39@Tj3HE9NX$dR5XYQ6DLPDYMj-L$DfTfe*
+&N[Ke1T%1dbJKf`*DMfeG+&CE-Qe&+eE(bC%'eY6YU5,*I$UG5)GTP"$YJ5e(YUk
+8+be"YE8lD`E)Y@Y+B(U+DeT%3De%L8Qe-l6++9V56L3S8*Fk44DMfj56(U$aeXP
+JGY5Ad,88T5$C*(j01*)r*TdE%8cUG5*'4*(f0-pFk58TVl++$bLQ8(MVC$YJ5`[
+Tj35`1fT&-kR8L52XDCqZG*+8epP&"j46+$aeXKf`*BAdmS*B(E8NMl'*&[E*)qa
+TRb2bDF5QE8@SpZ8NakLNR4X54q66L+,8Hh+5Bp456SAmY#+8R58e"*ipY9(LA`k
+flU9V+(MVC*FIIC1N5*(T1PYI5k3p120Ub+"ppNk8T#K3T(j01)S(hf6T%T0U,8p
+5P#@Y)HR3Z#Ej*dKpUHE9N8$ll*dS8+%6Hd[NR5(fTjY@432[XR5K3S4$ikh5K0I
+#"lZ20Ub5iqqbG+8K3S4(X#"lZ20Ub5iqqbG+8K3S4$ikh5KI[B%8T1NTU#@"k6T
+%8(5+CeYh8V94[BPdKkF3HfR%8@SpZ8NakLP#K3LELL4k6T%YD3p1KEAjHe(YbNQ
+28(MVC%ikh5K0IPl8Hh+5Bp3H1YN6MVG+%I(@k8)K*(j01)T`!qe(UDLPDbK+CY4
+DMfj56(U+5G#cikh5K%*)r*Ta&1!(fSp688V@8*60U,8Hh+5Bp456S@pJ32Ge)LQ
+GEGe+e88NiPJHNk4"mTeNCpUH8(QeF+&#*4Xqe2+$cDZ&#K%2MVG+&ZPFk39@Tj3
+HE9N6UDN43G*5YE8lD`XYCiqeE20Ui0N1YUG)Jq6Nb@"eY35`25G+8)2YD4*5P*d
+P0456Sf*B(@e"*5Q[XSS2++C3H1YN&4k6NbAfN411YdL$kC3GQ"kJmTMj16#iAmM
+JLP*dP034K52&BmfV*B(@e"*-pIE8IDKC'Fq4`45Nk5QS)`T(LXHE9NX$VDJNQH[
+YU2Y3XMSr)i)T5G*68%B8Ma@20Ub@"eY3562Afe(fS@3Ymb3LP*dP035A(RUHNH*
+B(@e"*-pIE8IDKC'Fr-N)T5G*68%PajkRT(L@"eY3562Afe(fS@4dGl4RRE8(RQe
+C$VC'$1%(YTa*GR)8+%pSccYU$ccDXKeXM"R#$fdiNZk-+&#HdCjfe"jjY@3kf4J
+k*"lDF5ACb&#K2D-mlDJmmfV)GE)`G%JpY1*,ZM#K3RY'HGY3HHE9N!$VC'"D3Hf
+R%PfFK3S6fM21fS220Ub(@b-#dJpY1*,ZM#K3T(`LQ[XSS2++C3H1YN6MVG)JpY1
+*B(T1PHT54iP06Me&*1K@@c*T@L8V@e1fX)J46Af88(P&-S2(@b(Qe-l-8mR588S
+AQ5%8T1NTU#$kHRNcbQ28(MVC&"dNQ2TQe1!l'`PdpKbe"Q+G3&NJ"lDU2%8cUG5
+)TR@hG5YC3mGE)S(hf6T62V)Rhdl6+#6lj#K3[j'qARc*G-%[K,UH[YU2Y6e+8*C
+CK2h$)cMqV1fGN!!J,Q"lDLNTN[KfeTi4#*mR*NY6bZ!85K,@P+8V9h8Nk&pMcJq
+QI[(S[HbChSI6+$YK*ddT!%1UDR6@YV56T(TRf04Dde,@H`(bFT5qdpDeUil4KpT
+r99XE6[Y!ID0GFAU,iqjMkImI6([GKmI5%IMIiq-q3K#IDIDIZrY1dl6Y2r*D'RB
+rleh(FETc6SrfZl(R$ilhHbrrd!NQkeYI*(Nq5k1"R`HI,DpFl3i(D@$hq2PJpe$
+k+2-")mRbA@F$2PYHZGSF$X!4mD([mI,"lU(d8HB%pppMKVH@eiNHD(!NZL[68qd
+1"R(bi)[68r0-H@eiNH5A+mP8rjEAL9j*6#mP9"ijMA"Q9PQ%BeSrAaPY'Z*C`)X
+SYfD2dRXPY!1JNDdDk@Ql"VmYBeaH5ep%MjaKpZ[6*+Q[65f[%Md4,B6kANUT#@e
+iPH5E,9j+T!PYH*(L9j*6CH5U0CEAL9j*NHANUSr,Dm5[*+c&j+TM**`ej+T4,Bm
+525f[%Vb6#PUH[*9AeG$U-UI'UM+k"[V2JPR'qhhXBAVJd`[@ei`4CNT2,@qcG&&
+ZQ-R2"+ib5[1-EZ*GLA3kM+RaUSbXihfHk8QdM*cZ*FC*ATG'Za8!869`Y&#k(8C
+8q09'9d$ICj'FEk2G-YElGd&!DE-)$MCJLi8GD@&M5ELDZ%PhaNji*PVIEbe&hTF
+CPYHFBhF5jaA3kQC2M96-k"[V2JPR'qhhXBAVJd`J-b8QhM*c`5RZV*,@qcTk0*K
+,M-YVcM'lLA1+k(8q*mDUI(30lLi*Ca[Xpl%Pr5-R2@Dic,DmE8DjaA3kRa2M96i
+cMIClf1JEh&`5NYHaNjkcA'CEAMDMA1+k(8c*mDUCR30m%m%XihdHpM#pF'NQcMR
+0JpM#!c*5EFPRI(9NPXDl1@cIET-cM*c[BZ-bf[1-EeQZF9d1SbTmDU-V10p[ZP*
+Dr'6RV1@YpR,8@C+ic,DmE8DjaA3kM+RaUSbXihfqkA30pRQ5N`6'6RV0FCPYH0U
+0FiN1pM)dl0JVKaSPH@UdZa%1pM[MUl5Ri*Sk0mSl5`C4BTNXf[FK`,da$[BkISk
+1DXG'kZdS#4UT*K4NDGMATPd1TPB#*iAI+dI)0bBP*LKT*+p&ckKT,0@C,5&80AH
+)3V)h80LeUTP)h8bV`,5&80KU5ib[6"%qY-qHJh9DA3rR[8aeQ3ZM)hfFYElHp@@
+%ZHQaM998c@["0PK@cUcXHk9CT4MH,QR&CV2ZQ`0+-EN5f&'eqhqj9r&INYr2+qd
+5lIfl#*8BhASaZRdBhASa[HQ[e[b2E[MGJlZhY0CcYaDV12Yb1mICJ&hTZEdpMQS
+!)6cV+pM18IEZrIe1h&HGp`lpCUp0EYIhk`XGVD-EXeRh6BH(4b#hF+UdTl3II6K
+fNqf"&C@c5h3Hd1fiqDIRH2AIPRJ8mI!5l"XV8BhT6`%VfAQ$5M'm%64T4MH,2Ub
+drI*,I*GbA3Ca9*dfrfF`Ydh!R&*E"YRCTI0qSlC2[Nqf'abh,&ErQQcVL@cPXP'
+U`Kbh*,db@`EDkM'm*HQ5f$ELSaZr"$Q6M#p-4[Xhi[Y,QDRR$Y#ZI(CE((dRE[c
+[(LJmbdr!Rdd4qY"jFr@-He(jCcTNMhJm9c6f8pS2!4l06m$I"jHr@Jp!IV'a))p
++)hfCS`eUMMpeDfBVM*+mia[EVX9'0jP4MGHM,q*)E#D@@iY1GlUIh4VSINQ*+#8
+YfNS*Sj[1"FCATPd2dmXGV"%q5Hb#'qcNS*Si@eqHEh1dKGZZmZ!ifSlGc99B@1R
+UQU-Na*35`Sb4FP"-$0pQPQkib[6,SIX&Fp[YfN,XehP8h@RhZ*FCATPd2lNal5H
+hfl5&fDlbTNV6lh%Z-Vdbk(9&0)ACV[,4VLe('6QU+Yh2F(63N!#lHD6BMIETFhf
+p1r8C[EYpT9&@&Z4[YdZElHRIU-h*#lGFCATPd2jleh6HQqc"bBNRXYfZh0K"+@D
+c9CTkf5c@MSjj[FkiP,SijVV#0A9V1RA'9kCG$qHp9QZQp0pQcU&c-bB@Xf$F,S`
+FQ**l'PZZml,PU0RHc)-Rj@9$k1+9KmqhDl)VSlGVZ#&CTEYGaGJQdFD+b8EA6cH
+jea+A4dlPdQme4aaTB@1R*0A&1rA1Z*5k-)3Bj"NjBdYehP4D@SjU@Y,GGj8Z@Sj
+UcZ6()Z*5k-)3Bj!!C0Ec9QdYehP4`Le(G@XkC%Z-Vdbk(mpklT[6ICJjGCUi5c@
+1Dk`NL@m#1h9V1RA'9kCG$pS8RY`Ya66f4d,1#`XG15DZ+GqZFNa*2B[!bk-)LFG
+%j-`3SmZ-Vdbk(80D&*qQ*+1D@E5&fDlYad@jU'aaZVF65&80AH91-Y4[da*4c5c
+D3ZcAGY,Hhfm6h&*Z*q+4SjhkHq69R4aFP2RQl&%lR*-56f,`-ZMK4jFCATPd2jl
+eGr#KGR@pT0A#A%RkBNSjTCY#NZlFG#iihX(qr'PeDfq,M+p-ZKe3H4cI-kKXC0p
+Ce48pZSDdKGR2EUJpbBpC)C9NFhc1SE'6I@G88dK9$ClG8(D3!,SehP$CGT!!ZMA
+H8,1Le'Z-Vdbk'K*'HpBmcY0TL5HbI-54NV[+b0F@SijbV0+HUDkbE#BNS0%El-Y
+Qqc[5d$MICad,QD[F6%$J40EL&GZ8Z4q`h%FX)996#&80B3UU&K#UNQ%+T0-)96+
+RVC,0@G8G'8TjZZlDc-di0FAbhIZ&`4R$bE$XYiPV-ikRY*(1DUQ%+SE0#Z1K99-
+pm2ZHEb1Fe$CTj6fNMR09#`K958e0ad+UKCliIFmhNFjUNTS1Tl54cQT065a"YVe
+RDcbil0,-#$@,ZU%ilGVYr9YVVGVYqQ+cRYS6MAH1+qPU1Hq69a6m'pRIHQd*aZl
+YfZi62I$lRQmMR089(DY0NXeYfZeQ@&QF0VfA(8XeQQZLlUK11HfK10GiiTD@ScK
+pkE3R(EYGb2f$Q1K99+h6FQ2)qZb5k0q@F)Fh1`9V[%*%@SjSbAjC`KcFp(#U'cc
+HjehL%b&U1j-H4pGNPdD@Dc@F%#RVC,0@G8GZ8Z6CliIFmhNFjU3Sl9QLHYNXeCe
+4fj5i#`0%pE*CUcUMSbP20ehE@Cc21(Th6p0U-lXEBh@q@Zmre0hLR6f0KbPMI1`
+@F-k5c`1JQNKUc31iQF$TMS95%VDk,#%*aPSl&YS6MUM%G0S6MQ(XQNfM))3NM,M
+VmfK*',Re4L1E3NM*dG2D51Fe-T)98B2MH,Fe4LRF6fVQ5MTSbDHcHeFb8G00G6X
+pVac*6jSdT`GQ[(-P2Tk0l9c*4eZ8Y19ZQ1K9)5ZcL`LU-&Sl01+RhjVf,Fe4LA(
+@N!#UM#la#-NY4Q2(3UKU[a51K9-YKEad+UKX$51K955YCPZ8Y1X%fMS96+VF9bB
+m@Zb5k1DJQ1K980KBkFNeF8m%A1Zb5k-)2VFTCeAEfj5be@D@j5f0B2dG#U65YCP
+bBlmZb5k-)2VFTCEB1+j-FYAC*G'%(eZ8YM@$LZ6(Bbl*,S`Jq,liG0(k*%XjUiI
+RHk0MC(0cD8F+SE20lRAH8,U,8CG%MVA2c[JBPFp(#U'ccHjehP#a&U0T#UM#lbK
+M"DMMS995[fDh+@R@$Sad+TP9fpbBm@Zb5k-)2TSNG#USE!dMS98NVDk1K980KBk
+FNeF8m%A1Zb5k-)2VFTCeAEfj5be@D@j5f0B2dG#U65YCPbBlmZb5k-)2VFTCEB1
++j-FYAC*G'%(eZ8YM@$LZ6(Bbl*,S`JqIRI!a+jlNal4Gj3R#,8Emli'*4cNkD2c
+[JBNJ1@N+U-,[+'1,8D"%VQaX&DlbKSbe((3UKYKP*VSk&99BC5Yik&8bf&Cad+U
+5X,11K98+[j1h+@R@(TaII$TSr4)PR0A$mlh4@GNFK#IFfP(#U'ccHjehNN+&U11
+K9-UYaA*MaDl*,SjU#Bk&93f&MTb69a6`4Fkl*,Shjh`-5ZHj-HdAH58#@SfN+U-
+,[*)A,8FeQKR(3UNdVqbpZ8XkVV1h+@@Ul1h+@aV$kGMA&Z8XlBA$'Y#qq(64qL4
+,1DZ(jhZLXl)jC$kjY+1&80RQpcV[*+$CDMZ6(IPf5A4fj5bf`XlNabeGNPdGZ8Y
+M@&RFQ1aPf5A4[c[JBPFpbBpSZmNM3Y4Y)98BAH55c#e(0CTBbk*(64q[K,1DZ(i
+dG&Cf4cFfP(#U'ccHjehLD@4DMMS93eR[KpccGdAHb4+jY,RAH*Tm,8E5&9'&hLD
+-"DMQYC`U1K99+hXZ@[9f5A4[bcK$Qjf#YGiQN!!,8Fe"Tq@F)Fh24`UKXmhZGGi
+QSq@SlPVeGNPdFZ1c@XmIL`K#FC'd*aTFfK11MSjjZBjD1ad+U+9QKII$Y`BZp8L
+8FJbG`UZ1K99@$A631%E3R'PcD%ik1MRQpcVXNZM#)P(4+6G9bXl"@Zm65E&U1De
+RMDj@HMK9$Cj[Fkla08CDMQS*)fK10,Qd*adG(20lRAC*G'%4+1L8QkTVXF84Vf,
+FS6MDDlaP&#e'BjD1ad+U+9QKII$Y`BZp8L8FJbG`UZ1K99@$A631%E3R'PcD%ik
+1MRQpcVXNZM#)P(4+6G9bXl"@ZmCC!Y4cABlbj@HMK9$Cj[FklaP-be(0354Y#FD
+A0S6MSk1HEh1Zb5k-)L8G%T0e6ABkh6ie9,,i-#+XLVIPA%bVZ+1K949KF1idRYa
+8XZAIFQ2D6fkTBZmCBUY2[YiYbK892M5&,)ZHK3H-Uhp#JXpY#JXpZU@A*L4a3bV
+-'-G#UNV!dMS99#VIL0S8(5jY#JmG#US9CT2HZEc9R2HZEdj*UiTi)ZV@Y1M0jTa
+%E3S1PcD&"k-b#0S9&5jY#SV1U11+9JkSk&8QPG((Ab`Yb0S8(5jY#Jp2#ScFMD&
+"f&(FV24`UKXmhZHMK996cHjjlD&,&hM(@9DIHiTVGpFRaUU@A`B%9C&@r+Z*PAF
+8G#ULV#iGaT2ELTBr1p,Fh1`9cfkTBZmC8fV6llH,FS9&6idK5b,RS8(M+Yr3S,2
+E3S,2EUPPbBNF8-Uc&Cad+UK9fC'd+Ldm%8C[(3UT+`mh)fK8@hSmPKkK,Qd+LcA
+bC'd+Lfp(dV#@dpT)jc8bNE3U,4Q4(3UNdVSikq@&Z4Y#JkA0S8(Ti9'ENE3U+&A
+UU+X(6(3UQ9A",5%K3GT#3U+Zm-,)Y)iYbK3FMD&4EHMh+Z#50S8(5jY#JmYE3U+
+PcD&4D-@)fK8@1Sl!c)fK3GK4h+cdF+SE20lRSi998mhZHHfK5aGiB45Y2[F8eh"
+QRaUU@A`B%9C&@r+Z*PAF9[I1dNlKh@NG#ULV#iGaT2ELTCFZpJVRYe5aGi1(&@R
+hfm@j3U+4Y#SUA0S9&Yk2T@#h)fK89,Qd+Lfp(aE2I$lRQmMR06,&YS9&3S22E3S
+1ZmZ)!Y4Q2(3UQ9ABk"'e94d+T0+i0&pmEXlH*9$C23T"2M89,)ZHK88f&+DiTp&
+pmEm"YiP80Q2,f%*#,,mli'*6fiU@A2FQ2D6fkTBZmBkUV6llH,FS9&QL4d*#,0K
+4NE3U,EdI#CliIFmhQVLRY*(18)XTFfK88MD&4BkMX&N%6D&4Bk%K&Q`0*S(!LE3
+U+4Y#SY[4lmV@j'd+Lfp(`V#aK%fK89,Qd+LNE3U+`Sdq048XLjk&450S9&MU0@k
+50S9&Yk2Ll$3M3MD&4BkpGTBBf5)fK8@RIU-h)fK89KHZdQXE4@I0S9&QVFMD&43
+LE3U,6ZD-h)fK8@hSpq9b`MD&4EHMi5Z#ad+U5X+cYi@5+PPJD8lQ4cQ+PNC9[k&
+"ClD&"ClG8XZ6%MLKP@BYik&93Uc5RJL4cQ+PLI'N+@4Fp#JkI'SU@4Fp#SXe,50
+S9&Yk2FUfZ)fK3G,Qd+$beY#SUA0S9&SaDDXDA0S9&)fK8@hSqPB,DM+8mh0MNMD
+&4D-h)fK3G,Qd+$beY#SUA0S9&SaBMD&"dZE3S2,@d+LTFfK8@M&QN!#3!+$Y)5&
+49hJDF5dMLh+&"jU#50S8(5jY#JmYE3U+PcD&4D-@)fK8@1Sl#LNE3S1`SlPCk1&
+80RQpcdF+UUHEh22E3TBZm$6#Y2[F8e@G290%SbP20lRAC*G'RVC,0@G8FF8V$--
+*qLj+$8eBehRHVUeM*C9aPHQTq@eiM2RX6MC9cLr01cX,LRY#(Hah9LFE+ZF8mX5
+9e*CVdbk(mpkfMT[6ICh4Jj,c6A2a5+"ZiS*DpR[GL6c4c8a2EdXGYf[Gr9XdYf[
+GqNi,HKeq+9eDcT0eaPHQA3kQ9TENQ*+m[NDUC8peG(,9P,9Nr3USSdFe!5-R08N
+r3UKTSjU!NC1DQ9J)4,)PH[8pTESP92EUC86d0)Z5[)GMD@k),D@k*9hU[,M+p-I
+*DHciQPeTRVSIY,Hp6%P)66A%Pb8E00pRB@-P[09Q5A[8"ZNj'rB8@RleAPaPHQL
+D$,RdbAL9DA3rD@mG0pRB'Np[Xd5L#'qcNVaT&b9iZmUF#e("$Q5R#6%P1ATDJL6
+l155S)Nqab8h"%RfmNA34*p(*2))NpVT)+[9HA'9kB)5#pmLGeV6"G$UC@K5RYe-
+U)GIS96+a0e56%h9&2Eb6%PH5e[XdpeG(,9P,9N4[Xbf!lJMICQN"8qmd)hfFZY%
+El1@YpQr52GMJ9Sf1CliphA+(A)hfE%Y%El0R(2Bi8HA'9kDq*pe[L#I6+AA3r*-
+59j,@qc6h9dFY@8Y@4'qc5i$0#0pQ%,4'qcIVeQKSjUN4'qcCach"'qc0)#TEpMA
+'9kDq*pe[J4I%ZY0,FNa*6Gk@Rk0ZcJCHHq2GrlT[9HATQ!L'Qa+pGLa*APK@E"@
+dLj*+KheqMdFjE0(iakTUiTpT&b59Fm0r&kCG$qHp5PNQ*+E)Y2E[@k9hP5+$Hr,
+1a0pQBmG%T1iVIB+fNA**81q[dH,h*fhB+fNA**81q[dH-GT&b59FQN06IPRJBN8
+1Z`9h1dLj+EKMQkYEJUib[6"&m5keGEV,S+k(mpkZrB#'N!#h&$MFNHIQqcZcjBI
+0%Q*+EPXa*6FYS!LdrAVYi%pfC*L5Qb,8pmHlUh62I(Z0lJaik*@&`Pa*qKGQZlF
+'pVYl6-RXpaG[`6G&8e@Gd@NdiRid2R,fqDZ(YQPb8PhP8YPdGeDfq,M*+p@RhQL
+l&,TDII%`%Aa,A3kQ@HpBpcfkQ9GiK-FY4NQ*+E)Y-ih9&CS5BNTXLdY2Uq4UTP)
+Ub+YT&b8h$BL6%P0N@MKhVG**L5Qb,6fleM,p#U'`,G6,2I([E$(AH48R"[ILP!S
+,SQM)jChD4amGJe()*el$P"1h$1eRIV'8@aJVZGT&b8h$(+SI6fkQ9T&b8h$'$m8
+S'*4cQB0(iT3-5QVLRfNA**9c`k65,NNUj@H'TV[)U0VUeYPA'9kDY)D#PcdmfA9
+G$pJ)AH$B1@SehJf1AH49R(1dNA+k1MKC`6cHjb6%NA,`-ZMA'9kC2[N[-N02Pd&
+G$UC@!KGi0F#e'5BNVbq4UTP6h9dFY@8Y@8pZTP4+8G#cJ9bl5,NNU'@NQ**+)YA
+b09-UdqTDXTDXTlG6,$@C2EUC9hL%F-Y4[d+SE!Ye-V5,NNUj-HMZH'E@NA**9c#
+UNVQ&8b`dJZmLPKT&b59$Cme"SNa*6C&Uq4UTP@Re,9P,9P2EUC@NA*6F-B,[+%r
+D4FPH3cbib[6'aD2NqA35%A3rR[9hl!3ZmS4TDMB+fNA**65&fF1`ISmp[Yh1pl"
+RE"@dLj*+Kc6p(M(B+fNA**65&fE!4$J(k2@lRHpJF0JVD4FNP3jTqMd$%VRAH)9
+[,SjSNG%eCN[d6D4FNP0,1'kc"@dLj*+D3ZcRc'e)F!r4kkYEI&aPHQ'0D0J3JN)
+5HpGdX"#lbKY5e'5,NVaQGT)8X,0J)AHA&i@Sb6%P)%@L8E-l59jB35$Na*5"*L5
+N#,8%3'kC+3QPQAUBNT!!QQG%P`FJ0dN##8E-l59jB@j!L@bpPX"ZRG-eChT-()h
+l")Y+b,[(UbY)Z5QiG!Y)Z5[)EA-(D5[,UeR6Vdbk(l5&fDlb5,Le(('k'q(h20e
+aPHQQ33I-qC,ReDA3rD@l5&fDlb5C#e(('kZc*,N[ABjUiTqp9jFCATSQJbjmcjN
+ZI,SG6rD@mG0pRB'5pUhfmNC[DYpCb8#pUhdFNb2DYm%b3C0HFY)ACV[+V,PU11e
+ISTlG3e%SD3ZcAH55F@SfNA*AL+8[8a*6C*Hq4UTrV6kPUbPUbRYe2p%T%Plj'UR
+r,9P,9P6h%#h8rjlG6rB+lR4)L5pmM96r)Ub+XNZcMI4mqjKF%Y,H'eVQ&fk)b,Q
+&eQL2jlG8B4$Vp#UM$%h8af*ZU5*,Xijh55ACaZU-F'L5l10p[aa*GR'qXpDAH$3
+FD3UKU+8[9HA'9kB)3CFqCmbA2Pd1SDdKGQZmLLmY4afV1&2EU'SP$5&fDla0"aD
+MD4FPH)T4JVD4FNP3jTqMcS`ZhC(0cD,[**)bk0T#U'ST4FCATJK"PcjRc*FqA3r
+D@mG0pRB@F%0p[*!!G01PT#l0GiQS0&U1p1Bih9fC*Gd$IEp[HUmZ-Vd`3Jbjmcj
+NZI,SIY,HhQr"e9fjfcLkhm(9AEfmhqRG[*QP1R4ERYlHEr6ZMNc5R6SYcdFG0pR
+B9R"$IEb5a"$I4b5T0%D3!,XehM+L,8GkFaaZVSb5lS'qhk-NZk"[SpVVeAPaPHQ
+#%'A2QI-PcjG$q1Qqc9eQdKGQZm3QBY4afV0))El15&&aPHQ#%'A2QI-PcjG$mMI
+CNGT)8A'9kD*S-ZI-qC,Rbk(l5&fDla#8&U11eC'N,XehM+E5e'`%0)AEY)Z5QiC
+aD4FP0``+ZmNN"FCATSPG6B%6cjRc*G$UM$5hRYe4K%SB+f!LI-DCB#*ma`HI-FX
+B#*maVGT&b9iZmV1cV6ljE(1E#hD3!+U-)T5RjVc,2EUC9hM+APU0J)D4FPH6fkQ
+@I-569MaMfM"@`9X&GbBp'`%3jFPHJLI**8pZTPAH-VT,8E!42EUCClG6,$DK+p"
+%q5Qf!LHaXb9hKJ0b9kp6b5lS*L5N0d`4GC+3!#5j(D5[#5lS*L55Zc*,ZJQ*+El
+'dLj)1D4FPH,[)Sd@NE5,NP4T&b5`dLj+mAH48+Y2[YlQ,NJbjLj*NZBZ5JEQ,NM
+0T&b9iZm'UPDIIEY)Z5[&hN8EPU0T#UM#+8Tl5p9jFCATJK"PcBY(c2Q5k(l!3`%
+0)ACY)AEak&YIZ6(XfN,JQ23Yl4T#h6$Dp*AS)Rb9ic$I9YFZmLNU1FUc3NA*ANe
+CY)Z5[)EA8qZ-Vdbk#ccjRc*FqA3rB#,Q&fE!3dKELKhXPHJLI*AM-0p@eblb+YB
+jbV0#4FPH69QdLj+mKYG6kib[640"Ped&RRc2A3kSa2HXHXijfNK4AjARYe4K%SD
+4FN+)T4T&b3SZmBpJ@Sle-58f5AIS$-6M'ZhZaBNRKedY)Z5#QNA*ALla#BPT(2Q
+*+4PhR1&U-NZF1pETRXB(98pM!kUD@m-iY)ACY)AEY,H'ib5pmM96+Y2U@V+@V)N
+ZpZpBbr3UKX#h8bchalf`aehJiV1$Hr,1a4*d5Nb1@GfNFI(DcIRHI15J"B+lRD@
+m-F[a5JBP"[MN'BCd`9Y)Z55SGpISmc)+ZMD4FNPA+c`k65,NNUj@H'TV['1N@N+
+U-)T5kYDMC9aPHQ2TN!"#eG8p)5kk(j'qcTqMSfQ4[Xjm"fLlb+M#dMA'9kBqQ33
+YA925!3ZKeE5&fFpZVAH'"CNpZVAH9#KDMA'9kBqQ33YA925&eA3rIQqcD@DlbSb
+PU0FCATMkC"#eG8p)6*G$qHaZdRYj`,[)S-@NDib[6(db#&UkTk3[PbBmcAH9*'A
+4Vdbk(mG#cJ9fDH@*+#NXjSd6ba*88PQdehP5d@SeaPHQ2TN%,9e6dJ`A3rYfpaG
+R-@1RCmeF8lma0pR20lRAH9'FZMA'9kDHJPV")5k#4G$qMKC`6cGe1EKcV0ZGGj8
+q5k1MKC`6cHiFkcERAH96FZMA'9kBqQ33YA925%pG$pqKGR"A0`jkTj[FklbSZPd
+EmBp6ihfFmhZGGj9A5k0FCATMkC!!3YA925%pG$mN,Xl@MJk6F1DUVRAH9&dZMIM
+'UTmEh&FklbUFPdDib[6(db#&UkTk3RVSIY,FN!#l0QGU%PJD%Lk&0TU0Ve-56rQ
+QG%Pb8E00pRB9R"$ICd*))ZY#Qa,HDV-N[HS$K()hl")drHUmZ-Vdd63CGRRdp2A
+A3rD@l5&fDlbUZ,8GkFaaZVSb0pRE`(FFQVXC,HDZ+I[9HA'9kD*S-ZcjkHZI,SI
+Y,GT#l0Gj8f@SldjMMGA4NEl1hJ1ij1`XC,HDZ+I[9HA'9kD*S-ZI6dpFqA3rR[9
+hZPJVD3Zc4&CqMcfpJVD3!,Xd32ISmBpkQ*+5QL%P`TDX'Z*,Jj!!(F&`heGRFQL
+iP,SjUh*,hU!h%FMIX%b`9`fGh9V1PmA'9kBqV3a39cCI+dZKa6,(4G#iPETYfqd
+l1`SijfS64Am!5BS64H"QKQHh804+'NA3pc#l1Hh&$BF5B+iBQ`%6`Xq5d0,RYa3
+f(%%VdA2LQ@2'2D3a11QiTP9NB#'N++CBFk52'K[p(Y0GieQZB+jlF80KPcp(QN+
+SDLP&aPHQ2UdRV5eG8'C0)ZKiESVdbk(80D@mG0pQVJf4[Xb,9kJ1c14[UeQ%ElH
+,J0a9$ClG3e&"K'qhZEeeQ4[YfPkc4T!!UKUiC@RhZ+p9jFCATMkY$'Y'`)35,SI
+Y,H1Qqc9N)hfC&Up3(ER)heG(F`ZXk1&c1HEh1Z'&U1p9jFCATMkY*K"5"#%A3kK
+Xpkl1ldhfCb0p@BcfkKU*35A6CDD1*&+0(&$PT*F()$SbiEkYVL5p(HZ0Tj[FkiP
+,Sb5l#pFE0(&$XYD3!+SDLP,UeM*eaPHQ2UdE&Sq6jG"A3rD@mG0pQV"`MICN@QP
+'LP#0pQ4D[8"YFFMI9fp(#jR20lRA$*G(HUmZ-Vdap@Nqq5mb3dpG$qHpGdhT[Xc
+NEkYl#5i13'k5iEkZaVL8dD%PfP($HbkYCdkib[6(eD[PeV33JNA3kKV5hRYe$85
+JMICN@QP'LP#0pQ4D[8"f-j'qVZ&`aT!!UKU+8[9HA'9kBqV9mZYDB-%&G$U@mpk
+fMT[6IC[EDkhLHleCTEa2@H`[9R'hpCUb%-IkRa`lKJ)ZH'pXNHDDla#1%@SkHdQ
+[6HRY(h!2Na3hU1FUrGc"@dYiB1U124fVq!YjIXl!PR'hkc9ET*'hF4EQTENFfm"
+h(*f"SdK9,G&+-&E5hRYe$ClG8P$0k124fV[65&80AH$8!Y4JijMMG@k5"%FLb+k
+-J3dYlQ&9*%J-Lm#E8G2D69a6peDcT0eaPHQ2UdI6*2ZYDLDk(j'qhR`(4`le(6I
+CUlFMICN@UHdDqjifA'9kDA5jP%iQJTCXA3kQ1d+8G0pQVDiMICN@Vj'UQ92G@Qd
+Y@8Y@8eETmDUCEi@**EN9C&@`%0)AEY)A4cfkQ@("")p#iih9[c"@d+5)([dHB+f
+K5M*c8ad4@ISmdKG[F`UQ2Fl"A$NFdKGZdKGQZmU6PT(#Mbib[6(eDLDA@QH3!)Z
+KqdYldhfE5&fpc#k0JV43ED3ZhD@klbSi5dM[9HA'9kBqV8EeUY$%K&d1U46hUXe
+dhT[XfPZZmLM%Y4acQ`l4-aFRZ+SE"Z0ZXle'hF2cA,Zh"[Y1cY(cSl3[Y$'d1E4
+RGT0@N!!fME"@dK9$ClG6,$MCqMcfpT!!UQ9Gj*5"DM"abr&*Gfi0pTfGSqXbHXq
+#l$@C`20lJdYfN!#UCBGhQZdNf!KT#U'`ib*(QQZmSCD@SjVY%0T#U'Y)96+dV)Z
+mLUkY2[YjVY(,!4$6BPHZdDUC9G'r'0T[L$(1E!dD3UQ@((L6&$Ehb095*2GA4be
+C5eC'MHee8LRYe5+j-Hah*Mf0&$D3!+TPD3UKXpZU43j(jVid`9Y)96+dK9$BE1U
+124fVp-Y+b,["V`Y4cAQ9JVD3!+TPD3UKYb8N6fY((Sl9qFh*5D3UQ9T@4Gj&(pD
+IHiTVkjJ)KTX5[AD09-UYa0)96,$MdejQdYfPC&hP#j@NFejZ3arUI,,Q6X"%00L
+9kHY,[%d!PU1j@H#65HplQdDDlbKJ&T(05l5aV[%eH&U0TV[+'",8Fd`D@0GiQN!
+Y4fYS+)-FRSC3I@Nplh0SdehP#C6DMQTD`9Y,'L+cp(SjbVHaGiU`aJVD4G#C,5a
+V[&@Qlp(PhLVX[G@XkC%Z-Vdap@N&$39jFLk(meBehLCV0qKGQ%0pR(1@j&(6HiP
+GQdKELAH+XhAH+Y0lNaU"d`9V[&@Y6jL5V0%fLLSF%`hk'9'!L'p#*DRc&$E`k-N
+a3flfX"[C*-T*LKYhkpEA'MQTr[DZC*MVM+p-%*K"ZXbAQ8ZZKe8@HpGRFemj$&i
+jfSB*9QK*LKJPH"B+lQ,SB06fkT&$Tk1251Fe2Z1K92Y@pNFl8,f+hXRYe5)Na3[
+B[!PU11eCT(0e5+`F8pZU4,[%*RCDMMS96lX25jlG8X4+,e-56rQQGNP`FJ1%5A6
+CDB#)DE%VerNCACNPikpFAB3DKLj*FPkc*Lh09&MMG@iQML45K'kU+[!hT-()hl!
+8D3UTBLP)kBSD0Ae)E#BSD1kYBbGFCATJK-)0e'+I-PkHdHeFd0'[669CNQ**rN@
+QP'ZmZ&be((1dNrl"rc6f%Q*+5B##,9c4`jN5[6eTGj[SY4acY*59JB&kCG$pTEX
+)Z5LQN!#l0GjbCDMTl4Vac*46!42Bh@DlaC-#9kp6fBEkZ%5AG"-58PZ+#,V*54'
+qc)Y5fAG'"*,ZJElIZ#5lS'qMc4T#l0JVKJlad,Id9h%-(Bj'qK[KpccHp9jFCAT
+JK-)0e'+#ZE&d2jleY'GNEl-LdpZMMRD5NPIdj*L5NL,38Y@%%Jj-58N5BNT)Le"
+%"Z+5NTU0Ve-58P0%*,Jj!EL,K[Uh*!J+@V#h)%5fAXYJ0aELQV1p*Jj'rB*Qj+8
+-iF-(D1Lj++9YF3)6D!c3A'qVXfN,Xef3!,8E5XLl`#dpeDaNQkib[6"#B3EUPM&
+$39d2kHdHeFd0MB#,Q,SE(2Q+&CN0R#9k#*p$adhfDXP2D0H1D&a0)ZKfN!#l1(C
+CD4G$cjLKMD(CCJK[Yk%dD4G$c`Xq5d0,KM&JVRc'UTmaapT&d1ZmLS'Y2[V0FCA
+TJK-)0e6eTDZUk(mpklTB4FP)QN,XehR!PU1RY'[(-P)Q!LHaYd9hKA#L9kp6fBE
+kXY*,ZJQ**rm+#,V*2m(*F(*[XhpYp[fEqfqMlGrEHeh4[lEh6YFrY[-RG,qfmRB
+hpYkECN[D0mMh&X))if6bVTYI#a*,FLV)UfN,Xd8SFMI3h`qjj[G@XkGFCATJK-)
+0eCmbA2Pd2jleh55&fE-l8*,#aX(DK*(1dNreIf"*L5Ij&SP'c6ICf%%Jj-56r*-
+56r)Y34!F+5ImdrAUBNRr0*X5A"b!i4F0p@k*!JP'c6ICf&Z3!#*E,f@`(#i8eCh
+T-()hl!VadA*5*ACY+b,["`abe'dV)ZmVBUA9V1RA'9kB)6#$G8XBSD#ZKe46"@`
+%0)@ec5&dE!3`%-"$!3dKGQZmLTZY2[PXFj9ZPT!!ZcAH4K8,8C(*&Td$IEj+HdQ
+VLReaPHQ#%`Jh8qQ5IG9d2fN,XehP6f&U0FCATJK-)0e5aLKS+k(8bY,H1QqcX(6
+2Q**Eh-,YlQ&eRF`ZMZBA"+)40(#D3ZcAH4K0be(HR-FEUdfRYe-Yc#lHjKGCh-,
+SlQ&`5L%%PdpeDEAb09-T&@49hU[,M+p-%*K"ZX65kdced2hY@qcSB0,M+p-%*K"
+ZU#KS+kk(j'qcIRDKJdZ-Vd`3Q%'ka0"Pd&G$q#'qcSB*A'9kB)6#$G@#II%`ZKq
+4[Xb1e$"+ib[6"#B3EV%d'AB,SI`3hfG#pLib[6"#B3EUJSD#ZZKq4[Xb1e#pLib
+[6"#B3EV%d'A39d2kHd0fqcHeFd0kA'9kB)6#$G6kkeU*VSINEl0qGU'p,M+p-%*
+K"ZX63CFqA3rZ6(J*iArV[1e0U1('&aNPHV6ll(#0ef)BT#*TGDCmEeTG$UJXpZU
+#SN"T#l1jKG[2EUBmpZTEcfkQ@'%cfkQ@j-DKYbBe$881j-Ghh*MZp%*cfkQ@j-H
+MZ6(Sd602EUJU)$A'9kD**DH-8%qQ8ZZKeA@Hh804+*m`QT!!48!dKGR2#rjE2#r
+dfRKIi13aeJ)ZBAEcfkPjl'UUKeZ5[4FqTPD3!+TP45PbBpSdK9-UlbU0cDMB#*l
+G9eKLc5&8b`iqdK9$88Sr3UVUZ-Vd`a5#IG8&,Pb,SG5hISAEVZh"[phi9fHp[BC
+qdKGR2#rle2#reQ6`[q0SBk`%A*MdTma8Kcf099$VFPHJLI8PY)ZT,K[HDqk*m`Q
+T"&3%Fl9*D[kGT&e*GbBpT2EULTlG8P2EU@m-*D3UT*T#l1'MD4G5A$HpZhfREf&
+Q`%6fkSU',0)ZT,KapJl9*Fe'dFl9*DX('NA8Ph*MfNpZU+RYe58pZTE``PT#UNQ
+N,XiD0T&e*F0lVM+p--8%)#%q*S*&d1SD`K99-&E!34[XlQpE1PhJ`'Ak2-&C'qc
+R`(,BB-r4iMICXiji*B+iB+r4k1Ff#(6fNMR096!42#l#qRP"'qcZEefm0**ATDh
+fGPXrV0J))hfE5pGC`jdNH)hfES(1ec"A$"Ak24cPABkIQSiMICY,eeQZm1-XTl5
+DJhFQ2!6`[q%ZmLQZ0U11K99+h%4[XlQpF%`e3MICY,eeQZm1)#4[XfPkkcAH(&!
+TpFCATNY"6cj,#)P-Pd1U5B3UUQ!KJ)AH(&XPHPVIEbep-&C'qcR`'iL0pRFhV0*
+lG3eGiF8"qMdFjX*URY*(1DUQ#ZjK9$@N,SehM86,p(SjcB4)MIEY+-MI4Y+0GiF
+A4)hfl"AF`UKV5&dC&TT4V[$M12dHMR0K"TJVZB93eGiF98r4iMIEY+0GiFEHRY*
+TRGbBm"2#reTGiK($0U11K99+lGJVZB93eGiFBjqMa'qhD8DlaLST'qhD8DlaL,k
+IA'9kC,38mqZX5Q9eA3kT*K#UUMSZK-+ZhD4G$),['*!!'%A3Q&J)B#&hM%ENVd%
+6k'3Tl4Vac3Q&JV)hfFq!h%4[XlQpCT2EU'V['+FISp(1E"1Tl54cQUTJVZB93fI
+-8+SZm1,UISp(1E#1D4G$)0)ZK9&hM%I-&Gc#U'cjLK9#6&$)0+0Gia2(k24cQ`6
+CJVZB93eGia'Ep(QNA3b#laLPT*LKN!##&UK$Q$Y3V&2D661lNai#H&rPCGi0FQe
+((3UUPGZ`9h-+SDZmBTGqMc5,SC!!AHA5YfNA3b#lbk4@`Lk%`dqZ-Vdb@JTjp%T
+PG8&G$UIl#EU'X*ZTPTlL,Fe5+Dm9NLk%1BTZSD4cEdH46mA*&d)Fa6G3dMQhSqj
+[[b")ZK$Q+EU'NFdr4dCSjUDdpb`Fch,%ETjBSAii[NC,98D9qUSk,S8dV-NNa3T
+Zr3USdD1ESI*lPJjRZ@)hBS%MQ-PUU0%K9$B'EUCBYc9'#4G#(-8h8bX&Gc#l1Hh
+9''QZmZP%r4k1FUc5RjVi"JVZBACcfkT&2EUM5lbk6pqMdFj9f1RjU1*#U'TC[&Z
+DQ9,QkKT)93eQGU&8Q1U%5&80JCZTPLh08B*&d)Fa6G6+`9h-,XjlG8BDDlbk@$p
+(SjbVXG2c9a6fLib[6,9m3jFK#%A3kT*K#US@#XMICci$F4'qcZEeQM5,SCbH&bk
+#@bklbk3&qMdC1DKYZh8a9$9GR(0e$E$c0JV)hfFq!h%4[XlQpCT2EULPhKP96p(
+SjcBI*dpT)jc93X&Gc#ULQ!KGjG-&ISp(1E",MSZKCE!b@#ZjK948qBS93Na3b$5
+MAH'9!ISp(1E"dCUXlQ&9&,[)U$FZMMYA,@#ZjK945l`bPVp(Q#YJ))hfGcHXdAH
+A5D2dHTl5D1(FQ2!6`[qbklb5YcDMMS99#VCd`9h-+U+AH'8Mp(Q#YJ))hfGcHXd
+AH'8b[dHTpFCATQHPc+A3BP-VUZKe2qR@SbFe491$Y'6QSE&YpCe2q1KC`+fGX&E
+5&`5ZmNVdE8E5&80D3Z#@!Lj-HdRYe2pJ)D3Yl&hK8QlNalKT#i*AH*U+0U1DHaT
+#U'Y)A",5&Z*J)D3Yl&hK86FMHpP(4VM+p-%5kHZI*k@I,SINEl0qQqh)hfE10pC
+p`4[Xh30p(f-MICYIEhp1c)hfEAfpl61!MICYIEl,'iL0pQep[Dmkb%El0R'mbHh
+)hfE"&eQZ-Vd`3Jbm5ZXbB%MRBDXaACY)XDXaGi9&L1GKTUVXfN@009hK8I8Fl)5
+8VXfN@K*5l`U+U1GKXD9fE5,'aTGi9*11GN*D9fE5,3PTGi9"PJl$9Q-(BDDX(C!
+!NTJl$Bd`GN*DATPd2hiakRa[Xb0pCdCZr'0@q0pR"Cj'pa8CZZ-VdamJhbY(b#3
+Lk(9&6fkSUHh99F`ZcAH92PDIHiVH&ZDSUNQe[#lSULVkC02dF+USdFe9iS'pLYH
+#B988a*jSjUI*U*8r4`USUhFm45[92dF+U+Yh2&AdbDISi994SjUVa30l&Dm%`US
+TL6c4c8(68%h*M`%m,r9&hJiSTY4dqZ-VddZRRamPN!#%A3kKV#&9&8qr3Zc0a[B
+M4ca%MR0992[d,XcFEf+HjNFjU3VH&h05%R8G2dF+T#0(1jNFjULTTl,H&h05&5V
+1Rk1&8K'MR[XMR089E`Yc9&8V1hKGd945R'e2dF+U+Yh2%8VHRk1&9&@lRLP0VVN
+ai#H&rK5l`F6cDMTqDSkISi994CFf["-+U+BNpFCATTHII+dI)*!!Lk(80RYe48p
+ZUUjKGQZmLP9@RhZ+Rk1&99F1F(8MR0992dF+U+Z(1$U4cQU+TqMK99'MQTV3HHD
+1Glb1Fe)92dF+UUiFpT(19CNdr4`USSdFmHNFjU'fm,"e80T0FP`UKXe@G2dF+U+
+0(2G%MR03fRk1&8K&PcDm%`UKV%RVM+p02LE"d3L*X#,SG3fHh9&6fkUVQ&fDla#
+FGDIHiUISi989EZHJdNfTqMK99'MQS(6%j0(2,C(1DN+Rk1&9&'MQU2b1Fe$CU&6
+p(#UU0(031Q*bD1Gd%MR05&E`X(988Tf-)K9492dF+U+0(04CNFjU'dr4`UN,Fj[
+)jc8K8r4`UKZjcH4cQSE6p(#U3LbjYH#B93eL6eaPHQ#)Q`G'I%f"*UaTEY3V")Z
+K@'CfS94Xi4)ZK$Q*fS9JMQRk1MYh14@ib4G#(-6Y3V"(0[4mc9Q8NA3Kc%l8+`4
+cEdHF#X+ATPd1SD`EULPhP6-5,S3jLGU&B)jTqMSibFe$EG[IUKX`C0Zh[ke$@fZ
+IS988!A,%h800(06&'6QU+QSPEYiqSE-'6EYpK80EDjqK943"FX6G3ddFe3ibFe4
+8e,EG[6kKXa#Yfq*9$@`FIS988!A,%h800(046M*c9&*EY3V")ZK@'CfS95BkRG6
+meBhk&9&,M+p-PS+HI6d%Y)ZKe4KK0e-UlbUaNLk&BCRDK9*2j%5,S9K,GU&BBRD
+K$L1DISk-XZCE&d+`PZe#X04fS3iLIDm%dE%RaNjULVQ&9&,["T`TG(2FX(-pc&Z
+DS`5,S3jLGU&B)jTqMSlGcN9qQj)ZK$Q*fS9JMQhSqCUr8%Lk%1BRDK@#1EHMcJ9
+hdNA3V#@l8+`a1e#(%Fdr4dCCFbf,S9K,GU&BDMY3Ka%qei*Sf*2M*c80ZB93eGj
+3PmZM*-8*r2FX(-pba'l&!NQ+%rPX+U-04lY5")Rbebk-#PcG6,0G8QPZe#X%Lk%
+1BRDK@#1EHMjRB2qDkV'5&8bVM+p--8p-)+3Q8[-Pd1Te-*ZU-8pT'6QU@%Lk&B5
+hDK@'*fS3iMQRk1MYh2)rBI0%Lk&B5hDK@'*fS3iMQ4be8!EH&X+J$B@G2F4NjUP
+Ne'e[#bfS!f&R6f1-R08XQM*Yi@N+J$B@G1R4NjUPNeEdpT'6QU@69M5hDK@#4G#
+(-6Y3V"(0[4mcX(rEYkG9,,#cAH48EcAF'5Zm3Tb-R088Zm3Jk-R03f1EULPID&H
+1EU'Uqd-XC0e498P0GTIL4G#(-6Y3V"(0[4mcX(X5hDK@#4G#(-6Y3V"(0[4mc9p
+T(b4G#X*EY3V$%l8)F4c6p(4PPc,BZK@%YfS9KU1e#(%6lAJQMBNq-R06+PcG8BY
+fqdUPPKpEflF3Ae-YKBf$G6+5BS8hIS98ND1ESI*lPJjRZ@)hBS%MPqQkQ@hEL(0
+6,5mEEYTU+UCElkhZB96+ZmNM5A4ch,"c2FaEQTrNQ+%r*#UIl%EX8#4c(,9KiV*
+-8*q5&8rf)hBS%MPqQkT+DmAYfqiUPPKkUYfhZ#9-YKBf$G6,F`UT*GiQNUA4NQ+
+%rRZ@$QHjBMGLJ51AkEUCEGYlZDQ@PlZYfhBE8bhhj-Na3TZr3UT)dFh3q6h,"c2
+FX4Za3*(-FY@#j*LK6GqK954SjZKmRZ@$QHjBMGLJ51AkEUNTTqYfqae5b`[9Zfp
+`5TPX,'`EUC56&#b2d+U50(+@q6h,"c2FX4Za3*(,p0e-T)ZK@'CfS94ZM5fkT*q
+K956-h808q+0T)ZK@'CfS93la31A*MZqH&r`GGi""@E8C*LK6FLdcPEa"IhPbBa"
+HZmC9Y,Sb6&#Ich,"c2FX4Za3*(,mA[F%*#UM#ib[6$&26#$,Tl!Lk(9''%h80Q[
+J53ZcBTZSD4c)jDU-02dF+S`fIP*A6NK9$8ZEU'X8hfC(02dG'@A-YK9$8ZEU'Y5
+El-LIDm%dE%RaNjUNVQ&9*,[*)iFZMM*c8bcfkQ22EU(&c#UC9hM,4eTplL*#l0L
+QkKT(,AfkKa9&%KGQa6G3dMPVlG6(UUQV'PcG3dN+SDc6IEc(9!,M+p-%40KI%1A
+)4G$UM$#EU'cA`*)ACX8h80)jNFY9''Rk1&8BE2bNVTb3!+SDPcG3eLQqc)jTqMS
+bbjPX+SDPcG3eU6ICN6lAJQMBNq-R08PF`UT*GibZUA4aNjUCClG6(RYe$LjK9-U
+l`F$0DIHiL3ZcBTZSD4bepZSF944)ACX8h80)jDqh8akUTUaTFh80*#U'Xdhfmae
+3#ib[640KI%1A)3Lk(&,GK0e$@%h8bcAD1")ACX8h80)jYk2Hp,Y&JN+SDPcG3eL
+Qqc)jTqMSbbjPX+SDPcG3eU6ICN6lAJQMBNq-R06(YjMY+'+X'GflEhFe-HPHVGY
+f'e-HqN*-8+E[d+TMQMQk(bHjB1ClPL0f+")jM*DUM%epPf$G8BQ[VHhQ1iSBU`1
+(EYa$QTMdVeEYTU+UBpp*F`UQ1ZmBpqPdC*LK2jlPJjRZ@)hBS%MQ-PUU-66"Jh9
+'*SaYjMXG$&@"`VGYfFe-HN$PZfl$DQ2I@G%Q+&NIS96(0(+@q6h,"c2FX4Za3*(
+-C,98BQM5-QkQ29')jZU-@(fXG&d-B9XlZB96()h80R`&94'kKXq!ULTiApSD6jL
++0&hM949Tpm%cjL+0&hJ$"*DMDDlaV)"DM5jZTPYjMY+'+X,1-UhL#qU-661VHBl
+LKLV#cM+YhZ#94LDV1hQ1ad-9B'NC0e-HU-6fkP[2EU$9c#UM#l``QYDIHiL3!,X
+f+EU'NFYIEU$9885&fE&0e$51@[Ye,HUUDXDA0e$53UKV00p[-F9G53UQ9FCATQ%
+[I%1A)3Lk(9)-*ZSD`QkQ9K0e4KJh94Bk,S8dVDk,El1TraEIEe5+,Q+&0kR9036
+&Yp[8riY[XkT&&c&#Ie1SMG6r*!GCaDe8ib0e2q-PUTC%EUImC3(F9&FMG6rLi$X
+G69)h8rkISlefFC1DQBMG6rTqM[@F%C1DTXMG6rTqM[@iSbFe1"'kRr6p(HZXNC1
+DV`MG8L*!GCaDe9"b0e5+-PUT)NEUN8C3(F9*NMG8LLi$XG4P)h9)UISlefFC1DM
+NMG8LTqM[@F%C1DLiMG8LTqM[@iSbFe#j'kT&6p(HZXNC1DNTqK9&d#h8FX6G59!
+Ye#mZjM*c8LIM(UI'kNM'6QUZIS99Fc0e&epV0qK99d#h8FaNjUR*Tl(k&8A3,G4
+ba0e9d#h8,TEQ-R08j'6G5bUDN@h8eDRNefPqMSZK65YR4*LK6GqK903dFh3q6h,
+"c2FX4Za3*(-C,95fQQGA-+TU,[!dkTG'5BS6qHjB1ClPL0f+")jM*DU@cp#U@c-
+h94E#&(4G$'&C,Q&8e*iApSF+I-44SZm!BP@RhZ+I-44SZm(,fbe'PcG6,0HXRk&
+8YQCZT)dR%r3UPXc0e*P6G'1Lk'-+dfZB95fZB968RKIfNEcjL+0&hJ$eTpp[2Q)
+SdAH*&P,8DA0e-Xel)r'28EYe,D"EU5-&RP%DU43,G8j'6QU3!(iakRaZTE4NjUV
+Rk&9A-cG4GIDcIS99G!Ye(*aEUN*Tl(k&8A3,G4ba0e9d#h8,TENiYe5&2[d+U3I
+TJDD0,0TVZf`BTZSbaEQS+*!!US1a6G39,B96MDNh8mDE5dITJDD0,0GjC+0,QkS
+`r'28q0e04QEUQl#Xhk&8i3,G8fF@kQT0*Xr'28q0e04QEU[,##Ak&8c3,G9iD1E
+61,G68QV'PYe04qLaTT2I$M0e2(k&8e'CZSVUI&'dMG6rDAVV1(H4dA3aK@Qc5&9
+''N+TPRKIfK[2Q)SdAH#MMV6lk1I-44SZm!"A,8Dib[64*K-THq)FZ4JVZ6&hZTJ
+)KZKISm[6,SI[DYpR3MAk&fDlY`El6Y0Kh%G&d-BCliIFmhD4G$Dh*MfNHiD$(4G
+$''Hq(h20f[(0$')k,SB`VF65,U0)EqNefN'fNA8D3hXQZdIQNA3fYbBl[B+iD#d
+Lk'eZ6(XE"A$3@NA3fYbBkcX&F0"D4G#lQ#Z("YT&d+UB+iF'fNA3h3`9`i0Y)ZK
+Ml"A$JhEYl[l0R[KpccGVac3XHhEl(fE2I$lRQlAMQK(&ZhV2fE2I$lRQlAMQKCA
+k&fDlY`El6@IF1md@DESlE5,SE@j-Ghaial5'JY)ZKEZ6(XiF'fNA3Yh*MfN0r9T
+&d,ZB+iEqXekKT&d0VFQ2BimBpT!!d&T&d,GbBpT$JfdLk&Zj-HiK`ED4G#hFQ2C
+`hp@NA3UTJVK[kY)ZKZKJVK[kc4`QNA3fYbBkcaial5'JY)ZKEZ6(Z)F'fNA3Yh*
+MfF1$E5,S@lNal5'rUdLk'2X&F0r@'$XZ-Vdap@UdY5mbV5kk(l5,SAGFQ2D-&F0
+"D4G#lVNalKJVKS,5,SAGFQ1Xl"A$3@NA3Zkj-FdB+iD#dLk&hA*Mf0JVKS,5,SA
+GF`ZcMaMfN!$3AY@qcSBTqKGQZlF'qdc6P[Em%jNlAEThXTl4Vac3TUDYf%A3TUD
+0+HdDmFd+DA'9kBqV9mV4mJN)ZKqpUhfBhD4G#UVNal4JVKS,5,S99FQ2F-&F0"D
+4G#UVQ&fFH-HdKS0ZhfRCXpm2ZHEYH1D&0,M+p-I9U*9THA)4G$U'Y)ZKZLj-HdB
++iD#dLk'k,NalKJVKS,5,SESZBACaial5'J[DYpQ0Z(k&fDlY`El6Z0RABqh*-$E
+1,@UKXe@C*JECN@NpeF[&ckKT'kKX[0e$AY9SDD%EU'dqrAVXC'kKYcHZXb0e$EQ
+pGZ4ZSEFhVF4'kKYcHZc)h80ZEeQM6)h80ZEeh"'kKYc4cjJDC+lb00G@Rh[BD6I
+p(80)h80Tpq[ABb0e$EQpGCNEU'h0klFMG3fj[@iL0e$EQpGQ4ZSEFhV0'Q4ZSEF
+hVZ#0e$EQMRc!fk&hKB#Udqpl$5ErSkKT'kKY2[ekl'4ZSEFhVV-MG3fj[AENEU'
+h0kh%4ZSEFhVXb0e$EQpCSdb0e$EQpG`4ZSEFdFqB3UjGi@)#Y2[H`dQrk1SD4ZS
+E6lpHZaNEU'h0kkc)h80ZEefj'kKYcHYa%EU'h0kl-MG3fj[@D0-MG3fj[AF%EU'
+h0(2Q"X&AH&L#Ddqpl$5ErSkKT'kKY2[ekl'4ZSEFhVV-MG3fj[AENEU'h0kh%4Z
+SEFhVXb0e$EQpCSdb0e$EQpG`4ZSEFdFqB3Q#larPpDIHpLib[6(eD#*P'k#3!)Z
+KqpUhfBfaY)ZKMpbBpS`9`d&T&d-IZ6(Z'#Z'JY)ZKMpc#l12'2D3!0"A'9kBqV5
+dE&lj,NA3iU#[d,XehEJhfR-bNpPTA1mi45SpVZZY*j5XhHA&+aQMJ8XdQc5-6jL
+K[*iApTA6`ZA35fARKIfNKFQ2D,[#VH9Tpm%afVc4E6jLK[&hMUTbe((D[0!&JVR
+KIfNM,[)cBMDMRc&9CSU!AH!5YfR2#rY%c2Q)SdAHAXV9TppZ`Lk'5Rc#DN%9!6j
+L+0&hM`9PU1j-HdDDlb-f3fSfNA3Yh*MQN!$IeQXd+c"A2#rY&ZZmM0h'e'`EULT
+U$4*LK6GqK948pb`Fch,%EX8#4b`@NYZU+Yfif[G895FE"ZU+QS0%Q+%rIS9892F
+X(-pba'l&!NFX&T,EULVGXiB*9&8R'`EULTU$4*LKC(k&9&6h,"c2FX4Za3*(,"D
+5fkSUhElh9&8R(6fMAMQKNQNA3T[$[,NalLH&rF'Ll``3FfSjV@F"B+jiAp`cTGi
+B')fSjma9@D+J'NA3T[$['NA3T[$CQNA3Rm1mD4G#I`fCT&d,*$['NA3XN!$CTm`
+QT"&3&bBpa2#rZ(jGiB)%fSjV@HeRc&$H6`[lL1RKFZJPX[2#rZ*pbBpSZmPK+dq
+q#Bl9kcac"A2Q+%AZBZKCTlF8kPhKcB2dHJKZ+Ip$16jLK[&hP&+KDMMYAV14JVR
+KIh&pAH'#0MDMMSZKC9EAA*Mh%m,qi95l``2BE8FefP[Ec'Xp$&@%YD4G#U0)ZK$
+PhLhTeT(FQ2F6`[lK0ehJEIjY4cA`HhQ-dSBU`PV5,S94T&d)FZm@l+Y)lNalLH&
+rF)#l`0LKY4cAR0[-GT3a9K,Y)ZK9'NA3KblaEQ9D4cjLUXd9!0)ZK9'NA3Kbl`0
+5DdMDFm,qi[*ma&'Llb[XlV6llHI-*U348"2Q)SdAH(0q,8GbBpSdehJE6MDMQSh
+YjMZ+'+X%ZI-99QLS"T&d+SdLk%1AH"TR5dMDFm,qi-XqBLM4GimPPDIIEcjK05#
++J*ma&'Ll`jA,8GbBpSdehJEH`fSfNA3UM5,S3jGi"+h@NE5,S@lNalL'rV0E[JY
+2dFA3LmqBS4HHh&45@jRZ@$QHjDDl`Z2Tma3hNm,qi@mm,Pd%YPjlF9&-&Dlae1k
+Y2[JQ1eHldPJVRKIZpa,[)1i'e(2Q+Uc48"2Q+'mAH28q,8FGUi*Z6(Z*iAl[HaG
+j"hdE8Fe4h*MfNm,phhTGj"hFE8FqB68JLS#DhHPh*Mf%m,phX&hKCSTY4flRY,$
+Gm'jm`01&2#rGiG2#l#qRP%m,phhkj-HdAH29e9Tpm%afVhI"-qB'V%m,phK8m,X
+,kH86`[hHAh*MfLlak[PDII"-GUqiPNG&d+D9hUI-)4I2#rGlMRKGKI6bLH&qldM
+FQ2D,[(Ub9Tpm%afVlJ[Rc!ePRKIZq+RKGKI6bLH&qlaYbBpSZmHT@V6li*MYAh!
+C2Q%+0jiApMCe2#l#qRP%m,qaQ6FQ2D,[(U`V6li*MYAh%R2Q"TNV[)1KPU11eID
+5+I-$B+ZmJm5,8FGUqdJV"A2#rXCLZm,*DE8FqB'`@I-$6*AH,GP@NGc&M9[$9'#
+Z'#[dHMR0KfL92Q%*JZmJpQ@Sil9pT)A*MZqH&rBjGGi@A5E8FqB3Q%qB'Q5Zm@j
+bY)lQ,3TH'U-&F-&ISp(1E$Y,@jLaX+'U-&F-&ISp(1E$Y*UI-$ESAH&NZ,8FGUq
+d@Tm`0JUl`XcKDMMYAfMQj-Ghc`[l(*V[)+A'e(2Q"X&Rc!fk&hLh3eT(FaBeE`e
+4JVKJVp(SjcBGT4cjK#B,[#cB&U11eIDGbBl[RKIf1bklb#ZifSjm`K-*m`0ZKGi
+YhX@NGc&S8[$9'#Z'#[dHMR0Kl&FaBf"KUM"A$"Ak24cQ`m+MSZK65[`kI-)9FZm
+,0Z@Sil9r16jJE"9hN!"4TDMMYAkaFQ1ljiApM[blb#fjY4cjJE"Cm`K9bl`#1#d
+MZBXDYiDS`9``9qMdFjX2X*m`K-&hN!"5mY4afV3lNahI2#rXBZZmDaP0U1I-)6#
+I-)9FZm!MDdMZBY#PiDS`9``9qMdFjX,eFaD%A3e4JVKJVp(SjcB1Qj-HdRKIf-U
+,['Y!Qe'ZmST*VflNal5H&rBeZZmDc'0U0Gj4E1D3!0Gi,Q@D@Tma3hNm,pCh62#
+dpD@VV2#r@Gl,Nal4Gj'I@Rh`6(DYCM"@`%A-A3XblblTZr4k1Ff$TAHFYB+jma3
+Lklbl5bDXehR"+la9ebib[6(eDL8bZU#-8'1Lk'59M,5,S8hKZc5,S8hB#&hL9"Y
+T&d+Ec`ZII&&pZ6(T6`[eR1($P@NA3T[$['NA3T[$CQNA3Rl!3Zm5UcD4G#I`laT
+&d*r$CQNA3XM!3ZmZc+dLk&NKhM5,S@5'c,dbk(9*-"%m,Rha4IENak80**AS)Rd
++EX"$5,S8hKcT)p&ZDT+1QkT*R[KpccGVac3b8G&d-NVSlNai#H&qXjLZm(-X0U1
+hQr5#UUNPC`QNA3T[2Bb3!&8ZmZaq`EULTU$4*LK6GqK948pb`Fch,%EX8#4b`@N
+YZU+Yfif[G895FE!42#jpm8Afj-H`KT*+p"%qK2f!KT&d*r$R54k,Fe59[0r-,-U
+NPC`QNA3RmpM6#c&hPf@B`EULTU$4*LK2hk&9&6h,"c2FX4Za3*(,"D5fkSUhE1'
+#949*aX"%m,Rha4IENaeF0**AS)Rd,)`%0)ZKC)Fk524EQU5Yj[l49955Xi65,S@
+5HaV49,['B9X'kSUDJd5BS@4qK948pb`Fch,%EX8#4b`@NYZU+Yfqpe49*aVM+p-
+%)-ZE&UA6f#k(8aehKA3*maT8m,pCjTGiUh5Y)jl'UUZ6(T,[#SA'e("$QSdB#,N
+al($YT+p&ckQ14ZTMN@Vi@+UcTk1@V+J*'U'X"&bBZm!`l)5[342S@f!LI-DSdLk
+&YGi"5kY2[Yf!Lj-AI,)GN!#9k#*p$DX"%qBf4T&d0UZm!Ua@Rhfl!4FQ,[+X1b%
+Vd%6k&h-"%qBcpT&d,ZAH!9h9TppZ`%A*Llhr$XK+p"%qK96!42Q1mD4G#UPhJ&3
+kdqqhB#,NaGjBKf3PHJLI3h3`%6jMH0)ZKZKGi"6KeTppZ`%A*Llie$XK+p"%qKM
+l!42Q-9Y)ZKMkl`#[C@Rhfl!42#kFIDc&bBpT$559k#*ifcZBZKLPhLh&*G(FaBh
+AH"U*5k1jLaY`Zm$6kPdGc&ME'Zm-+a,SlQ,S4Ul`#@FZMAH)8EcjMN&hNh49hPE
+*5l`VapFCATKLRc*FK#%qcBrrrre['`I&[D4FMSZbf,"SZa4DP#HV5L2eIG&pJl[
+k!lhGl83pYk()j6l,@#$%`I%a9%iL*ff*d-p(2L*jCRQ'C@Nb3CNkdbG$-J@C&@1
+IeMP+1SNF!BkK6$qLBLd`rUQ$BQ"kBV+Q%DBP8a@%`-%`eVVCBZU3!,VAlV3M'N-
+9)BPNBTTGr4Gd#iY@Q[V9PRl(BIZ,rr&'$'F8GBM,'aL%5k@%,[(I@kI*988KUZm
+khAHA%J`9c`[kUTjhXFpRh*MfNYJh8+elr4m1-,[(HF*GjF6Dp02HY6+pYTQ+dbZ
+)C5#0SBhbY(b$FP+'NNMbYq"abQ`4CXQ8PC&hQJ*-Mb34Y$'q*D$GENT3dPGjS")
+mVYb19hQ@h9V4kTHQTeQ`bQN%E3aMG"5kd`9`dP0QHN%E3a2NqA6f#Z'NNCj&U@X
+Bi,00NZDV0d9PB1*dB069``XX8!8kKYI+GK'SDP$8NJMD'*mPS0eB+iD55[*X-8Q
+4pTCN@S1jQS*6DCZLkE0lqVXDE3EUZ+f5U2S#4URr$8PkBLBMQ0F'C@XEf0HVdb5
+HHcATSjMA"Q9V'pPC9kBLBShHNPCHQ*AR4G*`R5c&V2+G8P(-&F8[)L$59jdA5F*
+dXb!cbR9*4c"A&,b)NN5[1Lk6K1PQB0Z+"6jJdBR+I)ZiIU0A&,b,b01aY%rXFYD
+GQdVhBjle-G0X(,5H`!ECHYCPT23C'SLf2Tl"J`I#KLMpeDfBbf2,da'RBfLIf1@
+Y1cD9lXFpkXjV[1rA9VCV,Bm[6%DGMD*rBjDdl0TAZachUcQZmkh*DA9VCV,Bm[6
+%DGMD*rBjDdl0TAZachUcQZmifZV@c@@ajHQ)dl'd6qabeTfE5[GMR[9R0Gjfj,5
+kYE0CE(PkD10bXC-FpbYERaZI2GGjN!$jlVdamEV[0l$ih2RZ[64ch+cL2RZZmc3
+q0ekD%Br98P'kQD5hTpHQCM)[YZEP%pbk1`Fch+p-P'4IB03YJjRZ6FSRZCm6Hhc
+iQCP$m8Tm6G%T,dbEB1@N(I8($dSb,kbQj3q'3k,[&(b%ljm6-Vj2LE8-LPCXNI[
+YM2RZ[6"$QD-$SQ-14Ab53MGGj`$SQ-0Ehb53!*YGjQed6'''Vj*)9pAHDdk*M$M
+&mNN*,ANXqD@C$[CY)$Z1c)aVLFTlGLJ@BjZ,b`6CGjf$SQ-14,[1$ESQ-0EV[0d
+A4-BBDAHDc(4-BFBAHFY*APkCqY)L**Y2TlHGCdr@L6%hiD[E5&0q'VTSJVATRkd
+L)P,B$XdQ22eS5C*-6AT[rr6j+TMN"HaVdbI*92mP'V0'%#4b[!NJh9"eGM)jB3+
+p0G(3$+iKP))fKTFP+'NNMb[jX((+34Y+b3jd()m5XPkGkA%hh%dZ*`E+8dpL34Y
+$5j+80**(PI[T,LCTCI`G44X4Y1(12dHXr@H`5+dbZ)CZP"9)RB'54hT,PT@5()%
+Dp9r'l5XN0N[334-*-Me2D,da,(%-k*CUrBAUHdV*$N#0HUr1'4-%Gmdk8JMD'Pb
+8SD552+rPUA%b15'2JkLQPQ4DPYe9EiN`SDP3&!e*N!!`%(,V6fLp-4-4b$B@0*X
+YATNQ2,dhlUrCI0#rpCINl1j-HdKb+dIVNal5()V3qZ6(Y)FLY#fj-HdKb+d8A*M
+fN!$N9THA*MfN14@JVZ6(Y)FLY(rFQ2D3!14A&[FQ2D3j%lflNal5()V'e,NalL(
+)R369bBpa$N4&YFQ2F3j%I'PbBpa$N6"4FQ2F3j&%cKA*Mh%144XUVNalL()Mi-Z
+6(Z)FLB@&bBpa$N4p"ENalL()PSPbBpa$N85CENalL()Rp,,h*Mh%141Q*A*Mh%1
+42B9lNalL()RY,Hj-HiKb*l3jZ6(Z)FLrFAlLNAZ+4Ik,)qU$IJ-JVh2G'Eihlp3
+A!1ifh2G'EihY(Cbl$E4*h2G'EihMpFjDYd@@8VFpdF4aAP0bQUfifh2G(%F9p9A
+2I9"[`(aYZHk-ha[DAkJZ!GaYZHk-ha[F1cPf'fL6ZHk-ha[@@ZFY@k,,efjlSiM
+L[+EP09YChlFpdF4aAe9If@11Y&Qm(Y!efIfRrQJ3S(U+D8rJeJlEAl5bcD-RCrD
+Iq8Tpm*2T5G2pS"E3#p&bMUY,,YIY%RMk6QGTZ,rZ'+iFS("VSZqG9SqZLj4e@PP
+qLj4e@PPrZ(Vh$elKkpPLakEGa4aA-k2S-LcIlL2'pDCE4#i02CTY4h-&mT92N!!
+dES"[h&'EcqU+LZ$9MiQbh")VV1Ai&qPVkqiMeCDT%Eh%9`DHcMZi2V3ha,"Q*%Y
+HXf"0jrC*++h5ef+qU+Y$GhdBE!P'LTrZ)mEPY'0i01qd5b@N9V0Yk0b$-5*pHlr
+1XXHN89`DXG`Tb*CXLLZXiV"&U'QhQPNJSV0k1MLZ$9Mf'kD1+kcXGT@beH5AZ+c
+GmFqSp)SVG,AE$[9(D'qkBrIeT%6lLMik"'m'RXf&(@T&D'j5UI!CL63hlLjJXG0
+!k'aA"UapmCAe4aA@G(Le'qL%lLC%5h+IBiVJeBpKfG(&GCdI%6hI&1RZ!mL@cX(
+3f+i0@2BDcC&&GCV@C$rb@rF35k"6SdqaaA"Ual$Xk1+kc*Qj-PMlK0Rb2i1KX9h
+$elKkp`pHiH[F2AZ(Vh$elKkk6SdRV,9l[YV[Y[rakdXX0IY%RMk6QGTZ,rZ'+iF
+S'Qhrakd*rmHY,,(rakdXXGTF$RZ"ch!jlJFj&Rhk#r6d18UIV0cBl4mTd,XC5Xl
+6JX9l1iVPTTXlI2QU-EfFefi1SUd0jTmLZc0&Qe'i$c@kBVXY00qI28fGMHcQR6E
+c9CfKZ$U#a@F"TEZmhGHU4%Xc5VNI01DI1jUCSVF6[UU'fmeEfKZq3@+cJ0,Ghl9
+qjUUUl,66(Qlpc910l14G[0&5d0iJhLXi$4CY@eIQXdUl,66(e-[065&fGSkX(4e
+rR!"f@S@F"TGAIYAI),h@VXY0-S32QRa#l0hf(EUGZF$)pL&R"F[phP*Me3@*e3@
+VCdDGXG2Mdh3Zc0&2Ye1h1#"-P#l'D@l[fV*FYGq'h6a95&fGZ2I$*8lFi)%iD&R
+!D,0UfVpMb9GPUcfP&G2QJh1"dc8LCeI,Fi)&60iVkcLYCfV[a5UN9ACDXpT!1QD
+h50cJQVJaNGARqF%#85++cJ@Elikp6+DG29TXXl[QSp)ZR3Ya1qJe1Q-JL0MJ"R6
+04@F&Cd'Tm+kGQR09FY0,LDG2D2P'0bN8Z,#)f1#"G+&R!cTUr48l+98&UjECf1D
+G1lkQAI)VXlIMB)MBi"+TmLXdHbhc)DUFr$G0V2QR6V0fGfN&LXT-EN`L0MJJA5K
+C`($Me69DYK0%l(9b2fI01QDDmhkdJX9[k6AGDmB!q"G16`FXXf@(aUhemZDSUVN
+IXqDMdL$HrEj&EqNdkEVE,'MN9@kI"b`XX'l98pqG0CeFMjTc6ThI9)SVHdGp93f
+hV+I2UMG2@IQKUcKZ!UHr1QhUl,66QR6ZrIKZrT0G[@8((eZNK5mdG,1'j8(pc80
+Uj(l2QR6ZrIYmLYr5DlHXT`hd8UT%lr0(iHEb-20hjdfpA)rCmdkGhlpD3@+hp*V
+QGbacIG1lr0(`S0j'[Vir1QhUdfXqDG1lpqY),&C5QZCXkDm0pdS@F"SlkbQl&*d
+lmkEHV6CVhQR6ZqU4Ejl[J[@I@3hh5KC`'P[FP+f5*RGc80UjDDFdkGhlm0bNqG[
+fRZP#cJ0+FdY(ZEdEpfpAF$RZ"ch!jdR4T2@@Vmh0k2cV,BmP(EpMSfZl,dEqi+R
+%FdFY)rYLZ(,A,6S(0ZY16HaV43jeTJ6@MibGDRfIrrrmI)YCeP@Z@N@Yh`9D0cF
+h@R`kbV56HReAS&CV+jXb'pc!eTPdPm0pmV`h0f"2ZVTrrrl6+6i8Rad[cTIL@me
+CZAHEf-hY1i0l6Z$HdlKm1#2bfX)4f5J6JPXYMj`1q$LK`'mI5Q[RC)@DrHMplZJ
+@E*3-352T+I@T+#a$j(iKVpHLT"CV#@ebch@$4[DG`EfRF'pTh"N&"5&%"R(5k+6
+-jTa2M[0c3b#JT#L!cMTG&*1!MLI#Nq'K5I#Nq4k44k4A)d(6+$UUSE999&99949
+9989999&999499989999&999499989999&999499989999&999499989999&9994
+99989999&999499989999&999499989999&-Ybb[EJUcB,@Ei8R`dqdrpcCq$X0Z
+1MXc6Z,0aE#cDpN6SdC,0Vp'ekkV3ML[9'NQPk)jZ,e0*2HR38IHTE@IHNfXIrrr
+kI4hV"f'hVDr4hVY*&HMGbj[6i$X0[55eamdJ5N0*CdEQ23,qaZNc6RI'N9QlS+2
+`FYrm(9989999999999999999999999999999999999999999999999999999999
+9999999999999999999999999999999999999999999999999999999999999999
+98$UUU+qdrpcCfJd(BD8SUMXkcGpaCfl[B@GZlh4SlGhYISc4CYS5i"e4T2@j(26
+c56dlS+2jE@I6TYBqRrTeQ[Rak#Tp'r-l"f'c6TDr4c6TY*&01PbjIQGJl$@[XVA
+(a5I#N!$5NEdENTEqaT5jTcl5++@k#M+@$PZ8[`G994999999999999999999999
+9999999999999999999999999999999999999999999999999999999999999999
+9999999999999999999999999999999999931UUSVq0TpmFZIl5CAaHbhZ2cIY0l
+paaq**D$%Zir0qdh[h((rkcPd%YPqd+8qq%RdT1Rr+5HY,9err+8"5NkIZ2pd(k(
+dIr9999D0G@42[TfQ8%Rhb&#KIrq+hH!IrrUUM&PQaa)p*dUcQ8a6RE935AT-C4#
+K3[qXd&M8jfe8%Pk6'83S8,rY)[r@E@UHNf5II#4)p*dS8+&reRI*1N2Y56li5A(
+hf6TImc#"lZT%Rh`NZ2[XR5rl5,rhp,iGEGe+e8%X,kH8%L4k6T5N+&#rl5,rbP2
+T5G2#K3ZIpT&rpC*He(YbPK5YB8+&brf1J+BmSk!rr3hI,2rrUUUXSdV91S2(@bN
+KdV@qRC5PSIfNArZ+H2E94iPm1Te,rF8mHfUMa)NGE8IpC&UQE8e&-28(MVIrra0
+hPArrkUURVBliG6U4`40J5,Hf4K-SRrR!`Q86*&[E*%f(rF4IreNLE!Y*&[E*%f(
+rrqjGlrrrqUUU+XF51YU'[X+4iV(QeC)YlC*FHHTk4lrDr,Mce252%LhYNB8Ma@2
+0UrrrMChPMrrkUUSUaK"j98LNcK`b-BM1($rbNk*`L-BMSR#rrplE[MArre9949C
+&UQE8e&-28(MVGC%m)[NbQ4)YlC)Q`rkc6`Lq6+C%LhYNB6+*Jlrrrfqk1XbdIV5
+#Zpe(apqrTV@jbqdI1dY2rrJ2pr5dIhhfd[PSXGTDIrr5rhp0RA(GGD9MY,6rrl$
+rBE[rpIDl[ZY@1iV5BrpaEI6fLQqVJCI[rBfaXec9p@N,rpaC0CQj5EMrY(4l(rp
+!EAEhY!5crr4lqQrl3'I6)E*3mfV)Y$kD6)I8c!kHP(pNPl8Hh+"!2T5C*JkR8dR
+5P)8c@MYUS2(@j3Pk[NMa*HI-Pd`5AT+F!fGNcUXp5P)f*-Qe1&-jR,`"k8*6fTe
+ADMjJN`2#b(@j-,*ID4&-l6RU5F3HfR%TT5NR%X$YU4Xkh&UCfBQ+9UTRKmQ5RTV
+@R1bP+8KIr'qF,9A,NZ&QSrr5(IGM@Md1EMTIrElA[%V3-I342(YUSm5q(@hG5Y9
+&+e)KdV@82(@b-j!!JGjR-liGT`Ze2+i"35pAb4iM12kXlCh&XirUrUcK,k&NL9-
+fV*%UCY@5kdU4!F)PRP-(KC%K5TQeIr"2rqlpr6NGD4YCh!brIR$lMrbh[A*kGBl
+LY*Mrbfdq6Y$'aQPm(YUG+6rqck2@V3YXlJCI[5#UL(-3`L,jm3+I%A@)5[N"9%"
+Z)'a#BL*f)R)J4%)SLP%@%4"N4Da%a%0a&0%1k)#iK9Im3HL#Y%$#)1-3e)L*U5r
+U4X8JL)M1)-(r%,ErL(Vm3'SKra"BL"cm3NIq)62r%,+)9F3!)L0I%2Z)!N4)T!Y
+L(#)[*#1N,VmK%T!!LIa&fq)1BLfa&hL"H)V%3mL+r%&m4HiLra"G%-d31)KMa%B
+L$$)9hrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)@f3H
+5&IN#q3[FJ&5&NN(b3+*!8rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrriLC4&j%1dJI5%q)QiK`L+84B4"PL,TL%q)BSLY4%9)!XJc5&fN%U3ZmJ,b&
+rN!!ZN!#X5"c%*F43%4"N3"BLeL*mK-T#kC!!BT!!1-Je*!B5#fN+fN#[)!@3!&P
+)+Z36-J!*")b!jN(()0D3!),)&Q3JmJ'j!`5%Cb&&N!"kb$Uq3Fr%5N3!r%5XJ!C
+#@5"9N!"rb"BN)e)2Z3N8J"*"Eb!DN!#-5"KN'2)$L3CC"05%P)8-J0N%+3LP*bT
+*kN`8Vj%$j"M4&pL"6rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrpQ60i0QikE+*@QGKXV+AZ1I%d!L$Q*cJEYPj@%ZfRJUqcDh
+R"8l8$+XHX+)GF-$df"Dr,)DD"C5GCpf-THBE)i@bJ5jUPc+&05b(ei1CZf6TG1U
+S32"EEA*K`S'Z6-0aPcV@eh#)1#Y5L,HL8"HhT[%8l@cKB6JV&$DLVDl('9M$MS4
+HlJXEeL!%88&+YYHLmV9j$%5b(@di",CA6YpXMr5LSLYVicAB`[(mVmmj+`ZCEf%
+-d5&!$G`%S[EXTZ`aRAm[EVZ`"rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrmSL,EDbYDZkDYX3!ek(,,ZbPj6CMDq&Df+Um'*c@KG14''GVelNRDC)SB8
+@ZeN"81lY8+-YrRhHJ)GpGV#GVk8+AC)&!bi1Zi6JS!'CZfa1[KUZ!PII,q)KPl`
+iKXThZm5TamSPd`&YM!L4Ua',ZiADJEE*6U9EA)8q&&-8!9QL,BjYKJqpbKF%5SD
+P8a4%MA@9C#V4)Q!e[E4LAX9h[Pl4AKBSJ9'E'%9Uf#,Y*UX,YM'I&PAj9rZS4GC
+aJi69G&APXVp&F,X#f%ip,J8ApE&pl,k`P*Qm2AHYT8(eJpECTiB"$#'l*4B5M"A
+d`,J5m#kq!CZX9b@l$Jj+E0)Uj5RA"%`YJ,GiL'eAbb*8'Aq-#"aAA3c2iFX,fYl
+aMhDB[p&[D8q'eQ10%NKFF[)NmLEi!Dq2XPrGNM@#Q+@`+FC3cbmihB`!SD&ih[m
+ic&mkE"H5,i!09SAL+kN-,Z#TT`6S1@+`VYXD%@bE8(,8KaUE$E-k`$5H'`8S&UM
+k*&!)%YNX5P)"!D)F`a`P5Rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrhF`fdSZdeH-VilMP9&kJA"ANEX`!GQSA-m3!#ke&a3[MLm!hD[#'la546BKe2
+"L,LUfS6b9!T9R%bLCVDaABXL+f46+lJTF@d4%AhpiUj9Q#La1)K&*f,lqp&X9Pj
+C13"$'&hBa4&!S,1*#X-H96603-iq@546NKE9+EN!UF4!@Z@ASV`&S'G1E)Q*e,4
+*FiB,XPfa1K`HfK&XRD*I$P)9LA!49AAGi1)1B+k)"6"H2qG,EBG,kHf*%+#"55F
+G!-bP@)J8R(aM83F$P9!+9Gf![)9bK`IBj5*Fkk9'VZ1Cb@AZIIiJ[Na"6&)aGf)
+39VbZ&d43kT@9F%`1ET!!U1Qf#8JJSS!XSSchMl5T8&3RPdem!@`0eLY*84IaXjE
+849[EeR$NS1hZrL"91M0fJ`8V3[,%S9K9e+,V+V5DV9N#a59H*GfMFZ&B+ND`"(J
+"5V#[TiKPR*5Z1hY,,bqXAfl@fEI,)QUaB@f*Aqm[Cp1LpF9K&pVRfXN0mYYf(Z&
+21VPaXZjXP4bA8[rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrPBc"9
+X&&QZR,[4A8@aQFP$'RED,PQF3Lqm5TplZN[TV[(9JX"3&!@TC(Mi8kiBeJk8-6Y
+C8h"PXP3STSRrHkpGTffRerP#m9ABlH2,Bil*@VqhIjem'fffK8qlXF4I(JUGRT,
+`&+YL+`H-eI[PYFF0e3l[1$cQF5J'9DJJU9m[[FQ!TreXHV&N18`+6*&'Ej3&Y@e
+YJbFNN8R$ZefHQla38K9LrR)aRDGmMRB`9bpf,jbJ,ZL[GE&`b#TEaL[EafL,)e+
+*@pF`40cX`c1kleqf`l)BBBUGS-R5cH4+G3cQl[JZc#XA+GP"8V)RBXZ$dX`S)(0
+G4@Dk%3LlfYr"ph8Ua&1&VE(TXM2SPic4JjFhX`#%d8&P%p%U"4GkL,ai1Er6&"9
+F)-&+pHhFc2X4-LkZYVl,h@#UaE!!,XeY#a!@A#T`FGY@UfP$,%jb!YU4-V21C+F
+V"badSUSRf,Jm[MFjXNfGYNEbTEE'&hVdh'iZTea8%"ZfTJZ"i89TZFR"JLJXj@c
+`jVleF+hVSRrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrjGGEqGVlQ
+rZdkqjf*9mVhJ2[l2YPNR+h[pJ+AX[@`$+AH9+&1ZMHX-9GG0j)RB)ZkR1ZZA2,a
+M#(S[%cA1UmVD'a)JS4+cS"ZjD#Pm-#AmXbTmc,*f1E`bZdX[DC%8pj3*HG[*JZV
+9j"`,'"%"H$0Fq!T6,bfrc*%c`@[K3$1ML'8&mVj4,edl+LZX1"b86G1&-pfV$aU
+T8RGhS,JSSVeN@8-CVi%R&Z)VeFe#qLAX4EBc%0D'XV)p4HAF&#94*d#5UAH*i+`
+5U6`VhpMcYf4&B[#UqP1a3c"F0ET3E[l9KT9ILEY6-c9&'+pPQpY@ld5GQ9j*9`i
+1BKf8#mbGV@mLQBEC&+(("9NYVVR)`%2ZX##j4AcEIh0FUTdU#%*`(Z!%4-D[XeB
+@VqUKHl09K$8RCe@5KF+&%URKKZ`b,Q!4&@43#R@DmVmb"5TC+hV#F+4UpaZ)21d
+BH3Bq&&G"45*!VM[$QlQ9f5MN&Qk,Ij&AkfYT@Vj8GKK1'brffE6*bY`8iL!e$CV
+BArrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr0a-&VDl5+ZTK%LR6E
+0cY%GG%F@DDVVh0UGFp)8R)N'93QBCR(0YVeF!eJ+GU9i#bS+m8bJ9X`i,Ni!+80
+J'jHFM&jB3e%1!YYj1PDL!"QKSTbm1,K%k)E)F[EEqL,%k+eY*feeAB+Vje%!`c"
+$GFAYPXBm0M5SpUZXmFEirP%CAKpi#!E[5RC)[P,Zp,amZl2R&-V["3([LL[M"f#
+fCf1A'i('E!&dZ6NF&e!&jm&1AP-,Y3SHYhN'D@AN6Vm'@fkbXJq8T8"QaXf'Tee
+6FdqAdZ1J%98$@a4*#&#8k`[242@lJ"&6@59#PA0LJKEK4aQj9+"mjHhPd&1$,bq
+!VUI*"m99I4*6PQJbFE"4JFfd&3889GdLP$3!rNf9jdF`aM1"UF,8TQ1A9AfTH8N
+Sf9qE[G%SPp,PS[6"F+*9j+T&`[FU9AB06K9#SeC+*+PLL4+9L!8BZai83A"M#+r
+1XcJBEZqj@1[jX%3C+dlXYTb0iFbRBR$XPB-&h3MP`GSkpffmCVf$aGErrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr$V&j,'B`84cA1$afVLcH&N['0r@
+9BJpBDYrT6L$A08j5,`p+Z1f3!!P$lB2SJUI)a0UXS9Gl&3[+hB9AH@2*'1D,@&P
+Idq9DYF!!@09KRPci8(elI"5EF"Jc!)["PB!Xf9+`JbS"+(bFGFA%AXF2L9+[qra
+UF'D`,cEJAUUG8aH`Zd(1AriT$V&E[KB,J,C'+[U9X16N4$'hCKAid,S58KP&%F)
+LG+YFBAaE`c+,hemAZpJm!VjAa#Nc,F+(&BM9lIbb0['Y1+YQ%()%XL$E+f&+'E3
+bL0lhDcLpBR4GUf4e!)@A-eFCC@LJY*%KL%JA53,4(bpeee"5cA1iS["$M#R#(6&
+195Vf&!Yf[(a9hDIGTNl8l0@R#1%05[TN3P!0d1$(YY%ZP"%)N4PQamkkb8'R`f(
+*9R@TEA@CNUpZYAddi1X&@TFQJ&e2"@c&LF#hN!"5k)V"PGKcH$!SHQFNlh6fbr[
+PP1%EY9DDUd,US+D`SP9mDc83AM3+Ya5P4,[HieHi1L8LJ`AZqcSDrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrpQV!$1PpmI"Pj1LN'&mDP9PAf@91EXZ
+AYDFXPXR,hGLqYLq5+,*1*J8SVXc@3[&eX841raelR*fLZdkAaR4(KII3'0k*30I
+GFSB@fE1ATF!T&A9q-lBm[pf,VTZc&AlCE)1Fd-l+Aq3&jblAp`DKASPr$4G1[*N
+)PcQDQdMH,hBZV&#m52PjJ[k8FR''9K#V&(A[!fi&0f+GFA1"PVpE`iLZ#lqi9ce
+["aAAp`99X+MaE[LHA5-+,BZ239-cBV1CHm!JT66G#m+FV*JXLYTbP4LX53[E3'H
+L&G%M0i96QNFUkk9!Eq,[(a$I%ZfY5X3CE(90e[IbYE9&hH!,Z5VkiAHrh3,hL+8
+[*'43$X,ecV)VlA),0+#jYZedLJT1$NjVSB3,VhPY+%e$+Yj0JT@Kh3&5PrJiLp`
+li#XBSVHmJb[S-0-K5CR85)0PdEhX`f3F1aaR3X"DcJP&lQE[GX5%f%1`SP*5)F(
+-"'GfSK8%3@l(,YG,iq`'l)KMGih[iZ)L,qeLjh1c'%+jZBrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrq9PlrA!YmCUF8FhGC3h-kR5UNA25,[4@*#ld#
+,YcXEhH--a6%5$K'EJ1EXR2'"3PcPi)50G0hN41059LJ9F+(`d0f3!0`V`Z+lfcb
+LKF(q,YD9#jdm,MJ4()R9+b0HfTH&GQ9B882Pr%9Z)0Yj4*Y5VUfZef,-&VV#FKh
+D*1"YGT)jIchCReqL6BUXMVcK@PEXC9NFKS&$CG'$Q[9qK%&F[T!!ZQCb1[k*%VQ
+eN!!-'*9rYNaH8j4+T3+B5RC*3j[*8ZVjBZmM'%YV"Y,hr$GD'bcGY%-C`6a3YYV
++82Z'E)DfZm(!C+f"9I,QDYVqN83`XN&&+)c)3$43&1!@-8!3"-)#HC45L"S"3VB
+HDXQ!bam(+8+U`p),,Lk3!(DFQeY0XF[&lZe%5R1(&%a5S9ECF&V8CM@CebmVffR
+SNF85&l0L89h`9#J3&$QF@9XLNSfUZl9L9%,d#QVXQNUR#UjUPS+ca3F2(FP+S3B
+89lYKX&"#9*!!+qjbY6E@!8X[L6i&J+J+NK&!HLDNUcrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrr[kZGDb88lB+LJ`eeD,iTf66Xkj46hY`ZmT4*P@)Q
+AcM`4$K[J#8"GXIp%&GBDPlQ"5lT4pGRUFTb*k88([E+A3B,hZ9LGl+KHm5LcEEX
+q-YN5lD!E)"#m0ed5,0&M$lYUDQfV1AbrQ%&@TbH+"Gr5&jG5Lq2Ja+(S#SP4(qP
+9U[a4c'K$VI$N6J+Ap9ff8!5[E4iJq5NLl3GUa+lcEil9q$cULGV9BNB&GCj!*4c
+E*i+R&l#pa*`#h#!VUqq5P%VJ&$SNJ8*JZKfbqfb6YJi,aJc56bY&!aH9Zl6B$H@
+46DXeE,!"N`S!AHb(*b&9Z!K"cGD)%(-B1AhGh`!b)j!!Lb)9hCLqEDT@%@!9,bY
+!6FM&jkfb)S0THp!["j9V*6Z&$V`#85eSPP85RDY)4'jGE,Xc*9GGLLpMAB!)NbP
+9jj*AX#d4-P&hYPYSMMDYUe8K4(@VpUFSR#GI%krR*FKAF8H@5pPYN!"4Q4AZYlD
+q&b4QjNA*Gh+,h45K-JV@XPJ!haUaZmL,f#Xc8HAaj$rrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrq4"Y&G!+@,`[[(mR&*+-0NDcY,P!EVP[1UZfUjf`G
+ShPDm,Qb[hKG,eaY["HmPlXar#TUX(&%%1#4&li83G&I(!Di,LkBKf!ZRhLD&k6X
+9,qikq@LLR@%eC'9+YEDQBFTHeie4,C3P!3c+bJ[I,Y1&3&[ph3la6Vp+l*J+GKF
+VJVZpibXeX%*L9+dfN!#p`BlACfI`A#hPP#M9F#`,TS[J`40hYQV$j1P%-#cS&Z`
+`,a&I@d15XK4AhhAaA1-q'PLPE2&bql!+)[DPlVV)H,`@L2j$9FlHdTMK8kq3!'A
+K@H+Ufd9f"E)FCb4R")3k+L6J8I$26VjE4JAZ[E6#A03[HQZImkXU`0[,bb8mhGh
+D+%(5kQ42*Y,"AAR+rA(dlA1cQ(05VD)(faPSMCHFR+N,R3TM9XqiGD#JIA2,E"3
+@#`eEj@RC9hLG1L(am%*l-CE)c-eK@!&kT#("Cbk,fKLMVABT`hbES"UhblK3Lb6
+E`8XJ#-[Zb0@!&(q#c+l+S8X(`#"8hEAVrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrli&2J&VU%3@5k8"EB8#Ub1EDRL,+R9)3KbSEVJI@'-l3$`"Ql)q
+&`#UV*@dfj,dc4,BAZ1f#PYYM-F`GM-bfGK9H6N0`Kb0IhmK[@l0@rV9fY4HKF&+
+f!m[IGlZYl5$JeJ@D%,8V"Nk'lC5QhAPNCZap$Dd1H)#(!ZZmZA2jH#U'RZd5pQB
+pITlfeVZl-bK%XN5B,k!F#Z#KF-XT4i[PJZ-hXA&`+FVP&DXPf['!#YADX(-bXTE
+h5rk)PL)cKT%[6lqEA#8CS,Ia@#`%k9kjelr*emF#!S"&lfVCJUZ63$%J&U[(TXM
+q*4HmMV*!5SiI'IGi#9ZJjTTf$`fH!bYr'%kl"485VS[p$+P5'N#q$emXhDq!VdK
+5UGT"+XTfM-[Zi93&FPAGbFT9rBUr'mh2R,r0S)ZA6FPE'+f0LPU,P!Z!"HkEXl3
+dkZ[L8N(LNi6&P,5)`#jaKekmGC+REY,LMjAi`m,A"eAJTE"Lc9jQMHZ'CePZc8P
+4G`-!9ECZ4)KHl"T&,hPHCQI@bMrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrj@@1%JP(5QpIYVq9bF&)0XZdk2+!TQQhbeXNPE5f9T&leVla+ZS$&@fYK
+HY9aBH8l`V&e&[i$H#YmN441hBV9LB#M#85aiKcD)+M"3jZlrYS[1`hbA,h`8,jX
+(bUiSi9a3l&Xk`KJ0%1)ZNC@C@5bJ@lhmC,PYH38+JTbKferSSRmVI+q,T6!Z+EX
+98SB[M`A19A4EY%AF[[E%AKGX8Vf2F)e1hbmM#8&SMkGHPfKhNS88#cA6GjP1AB8
+Dd0kD)@Lj9456-QQV,hYrcX!c!&0!Y%GdDGG`TTf+5R#EZeF04!%"0J++k"@V)2P
+6S#ZmTAZAZjFFb-FbPr'0N!$C1blJKd4k!&eJ&6!@I4%)"GF8MF8,U`%&l(VQ+Z"
+DkH)@aF,cXBVld9ep%AG`(%lIkiAVJ$16S+"+r,["pN!AL9@+r0dVrGki+&khF#f
+F!S+bJ)+&#(b(18l-R)U*1&pG(@54VZfLXPN,U`p3Sf&eEPjBGNK0US[VpdbJS!R
+0EJ*P,LU8&1ZPkkArrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqlLX
+A5TXXPbCZm&V!2!5TGVh@%qX8@FJlieKHbVDi*6lF)2GSU9[U+*!!,HbiU,C5V#V
+XLUQk"F(aLP"!fZP"#@m&hDBCRSCT!+VB"H@3!"ErHj`8QfB8[rPeP-``[F&Qc,A
+-q(@pIEZ`"QaHrKGNA45&FTeq#eaAGRhH,G+BQCPVlYGcljaahLVZj@!5c0U`'#J
+UIH2PhI`&ZLG'%-qR%dLGNUDQfHP,B&P88m[X"5AF'VIhAV#'m"5KZGS'rUEKEDi
+TfbX1#V5VYGcMGaJFU*Yh6XK@)+i6*m$Cb9kke[#VA8"1J"`B6C6VQCfYYI"pYPP
+X1-klTe-SVTPE+#UH(*cN41T'ZJ*ebi'a%eC9PVldhHQ,UfF+dA$N+[B8RcUB48#
+![PYN+i06XV+aU9GHrXTc@dii9d(GRNj6@eCAB8CS1L'hZ*fbk,fl&pdcEMQb`)H
+YN!!#LSEqC8UJ%T&0R'L5Yf35q-&%i,epmDTc6R)8A&&YP3%FcVaf939)K%BR"&l
+(0Y+pfX#pU[+lrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrjZZ45af
+6hPeCTP1h6+M#EPMKI#JF#LD5Qlf9kk-2$,Ikh%6$j&&aGIlTVm3m'%fe,Bp![Ib
+qfPkA+Q"&6cX'AqX6M`jGdiaLk#cYEcM,1$EDp0FaVbJ#L$#p5YYEXe)3mZicAa9
+@#YC"F8IbfLJ#i&e2+Q`&I,ZS[i,"B`A2qX@fl4aFIIIa5[J0IGCj"bKMPdiq6cN
+(d4e(-qXAFSMVDJ[N6"BFfrPBNlr+eqqhD-1c(+%Jm#J8S&*C$DKFYjfkcXj1(5k
+4@b)#PN8A6H`)lA9f(`hh1XDE-2e``H*k+Y#,SSP0GeG%-0%#`S8I*'V%L,k,E"K
+Hk"KaZ,`@lTEaUABAYS#i#iZabiX9LNc"SASPl8RD4@4kADYVfadUCAXUf3)ZcV[
+L4V!V1C1raR0[9Q"k8-hHlXe!6Ba"3Lf@`"XS&"j4E,XkRCkhZ4"9D&e+f(eN,0h
+60%!)Zq2N4GK%f1*96ZbeA(&+6"F"*eL5T#9IGIS#rP0`2VXbZeET9B16#A*LL*L
+(+Y8f85G+perrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqGSJJ9Xef
+PBP0XDE,cQGZm'6CJJVJq8-iY9mTL+"[kPGL`F5kr`dSbhq!CVf)+ViN,ZUTe))V
+9`N9YZQEHLlh3e$EGUeA+ja,40BACEDCEXq2NEeqkR,jC'Uc3!Kr+j9P$ZK[qFP8
+UL[J2[+'fe`9-"5h%#m-FhGe5TKP99Ihqm6-VHjfb[!D&`ERES[D4SNSe@IHADfX
+DZ5"AMK&Y1BkE#VXeVr6hCk)Ed-e#FQbrfa&GDj!!UkD[&Tj')GYKaLl883FC`(b
+SS!Z1XA@F',YGlE2Q`$GeZc0Dl3h"QI)cH8*c+hm`3k6-A-c-)I,fh1PplP85%i5
+-l41lZ1f8"12mAM&N!YfZTI)AZfAY"V&%CNqZM1[R`+&#!IE(B&XM-15i`!TPZPC
+"8([Gl&c#m!!K-['IH!8AVN4X%83Z$BS93@J*bf9p95TP[peXJ9GRf)'4#GA5+mM
+HZGTXjVT'VkA1aU93bi`cYhYNPGS,H5YG4'D4TZ(AlSKQ&jGla,R(89aHmXJ[@#q
+H)Nl)0!5VrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrprHQE%#'VGQ
+0HjfZ2ADZH&b9-9LbT`S[k@q#ZL#*ZQ5QY@(0hDeI1,KG#*4AeNq(+8-,f-EfAL#
+dSC5KU9Kh6FR+h8&0PFE+a2QlUqA4GT'qG3TeD&%qL&H9&9lM1[Q9+IjGG#9I)CF
+A80%$Ej-NTk!'BXPFFb$j0(0U&@9GaGfGVh6Hi!!AGCUM,YAlfTP"b,b)ZQ,q&*9
+I19Y@+!SNZL+CGIj8iK3DYYhR%-ZRf5phph"6q5UFl)3#!!TDQf@E6NT6#ScVUF4
+IjZYN6Z,`J&H6B$@+j%kpB5VC)`8TSJe0hm"Jk)jZ`&"9AC!!B&kZl!4%bf`TK3`
+['a5B+"5EJ#Lk,``"5piN%3,@*39KZZDdV2M&rF&SjHLrSBZHXPhR$k9F""P49LF
+SYNM%-&%-H'+iFa1K&GC!8FcNbF+iZ"APrRC%l!9+!%i,PdCJ0X43CG`J815p$R*
+b[MQrb`[A,Ua0[6GcEAfIGkkl,DFCK$VJYpP9[IbiAB2"S#YfBIGeA+d3"(hB!6X
+MIrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrC(h4,S"9&rH@fQ+"!8
+kmkil[@*b-lZYS1q#me1!TbeKFBffG4AqEM8i!Xb'c5pIYU+l[LP$$B9G$if)YDi
+Y[((A5602Zb'Fd4+@LkECJ+LNDlT"++dV@lrQ9BZP+PfV3!#N(!0KX!`jf(Id8lE
+,iq4+mN,bQKMlYAdSAGT0iSDUIGaapN@VEHlqaLjfGJ*+J#rTLE[YN!$,4(Ui(Cf
+)I*J&ZeB4#lXLXTj4*bkA"h&`LE!NkB5Zp)8H,l+H"C3N6N,%!VbpeKZlKU[eqpc
+4385Vj+fS,4EB!ZcB#T9LF,kdlAbX$QlcSJBecq1aGGV[@,S1ADF5Vr4)Eq*86VR
+0h'LNCLmkB(FL+Nkrjak[MV6Kkb,G+#Uqa`9C2,BL'BBA+PiSE"H4VBeAB9e`UVN
+p%GRCpXI""BKXG%A6LUVjK%-44DPd!FLT`+Nkp6Pek`ZAMN+BMQ$!@$+`FR+C!E[
+Hl+!5j+%&%QP$Qf&`,',h0cMq6ElGVrGlY+f`469q4NTr,Y%bi[VN9FibL-Irrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr1A9f'3'-hbFDUljGk*@aH0XP
+XI(UmV&XGHmIB$EA#YLph@3lIa8i$'lJ%++mj&&%S1*CGU9YNl)'cPjIj+m(JX5R
+ECGRG+RTdbbYE2P0GJX[ZLZ!XkF5k6YTY[i4H(4H-d9IR,[A8$1JqFBpY3krA9`4
+1cD+l*8GA9kmVpBQcQX9JBP"Am3JbTYYYDZpl&l8A'[*XZ49d1EPj9KAeTmF(#@6
+LL[KFia6T6CRqLL(B41"&YMVZ9CYZl5PB0Pf3!*jAd9Ed42"6iAMMNbfd9@3FPeN
+I+G+ClXikijPCYQ6$XraH'89XA!&fS5k@9JXeLphY4Ak`lAeijPA8c9[A5a`64FK
+d3qDYHKSMQ`VLV0cB8E39LVVb#SUkf@d(eeYYV!"GLKV9J9@a#RCfGQJ9k"4PQi2
++Zj%2QkmFMCa2R,l+cV($CI)eX9G%B85F1CX+2LK$DSU!C`AGHFGJU+CMi",`SjZ
+i@LQ%9HI*CGdi+5-V!@4213$+[8[CjHL&l*E&PA"ZlaQ,PLG#Vb0Irrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr'PYEB!&&6JrM`CKd"1S,KIbjJm6!S[1
+1i&,LkL@dULPFq&FjJjADeiVV$,GP@8$#fJ5E2849Lj8RD38YJ8j&hfmIjH9,[EE
+D0H5Pf2#l'H6JL5VN1lAfpKZG'0rNDb69I9F-!1&e%'#mJ+q#eJB(,Fk0Vm5RC-+
+B#!#l''03!S@E`UH93hHiGh1cD%i@bX@S,62"3&99N5RD8CK8c9qm33@6,N%+Vdf
+A#KBCRTVlqADf(0mK[%UQ["%1f"3EF(-lC(#*#k'#U`U*hp#[!"H*LZ-!L8Vj@[!
+UmZN&!Xk!e`J8&a3+[,f,M!AFE-BAD4V+ViKkC8EA4UlJqGTTbE"C'%$![CK4)6L
+4GPSjQ#qBPET44SA,`8A15fpZUmR8U'mN,ah*9NVUj`@8-+!5KQMNS#[&NFh3l5X
+kYdUlcN&KV8ip$J+SeAApQ,VkL#iGj$LGl6%09ACaY@1"AmQh9Ihh1&elFGl1*b1
+EZlTbbR`UhpH'9fVB83#6TpI`!i-m3E,ZJPdG4,YIj[rrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrj`XANd#Z!8f)IpFaj@KZ`aXK@&)+APa4)elX#mbT6
++Ff8)KPk8)%AMJ,eXq1@D6&&NAT!!H"UpQ9f$FhAiFCSSa0`@raZl9jQTQBVhm!)
+TUb-!8F5UJjPNUm&iT+6K"GIlr1acJ'U`mVT1F!$ak*beYPD&`%85-0h2)d86432
+YY!)TAj@rLpd!U8LF%5hZbC!!@m,Nqm3NUYQV6J-3Ah8+6&h+KbG&lVC#`i8"1hN
+iBA"@cAm3j%9df&rrrj6RP1*9`qZN+j)e`VR8qGM1GJV-i('N&Arh!UrA,46LGFY
+UjPR9Fk+&0ehCGC,9B,MP2rj9"G3D+DI1Q!Td"H@8)15jaPQkeeBS&PGL`"(hGb[
+p%Jp%F#RI*fe@affPl-a5)0)Q1+lAki8R)P3-LXTU'!0AHkC@`BJ#a89fSSEGFZ1
+0YVjCBH&-hhK6qZZa6##QPP1N8i$jfJ%LmR@18k`+km8jYf-Yh+Fl,*b06NL&Bm3
+""%m4%[rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr&DR12[j`F@8Ff
+9E83jXTiL@b*)SJ!L9B9+f9Gkr*@8e3U(4!H!J@JA(+a[3)ES'-j8BbS3l!,Y4'B
+AGLZa$"QXRZbbGNba!9f#RDf1c&"3dcAGQH,Bf-eY,U"5*I4*-+[$#q*'b@d&-%X
+YV0"C+#b+fZaJ+TJM462&0P&G*)LNUkcl,[mF1Di[&`KUTcl0M(@3!!T(j@BBVXc
+@9"5a1+d4Cq9'ADphHY!9m+#j0A`jZNjGB+DUh(0X[IP-[48@bM,rPclGQYl-Y-b
+@c"%L()!+phGDra4G%Lkq&cR`!eS,%S,GB,%cN!!TbUi+-6NXR-&[Db+X4"CpIR+
+r)9qG-!aHUfHUb[B`[B!HU4[Df[DVXJ!XPdP@FXKA+SLb+Zb*'b*Qb8$C&X9C88'
+$9Q)e)4TQ+!%8+ii3e[3f`#faE*U'!R,9FqC3Aa@KcJ"42L)SS&9d#QC9bc9c%+,
+D**')Zpr,T@lT54ZJZ[)+YSdB4@PLZA!LB&G!3@(C5+J9Y3*A[$$C!errrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrpi'U"!S`($&Af)[+S&pL[D4@U)c-e
+U-"S`S4K*!9pJ9e&cD45c!$kq+'#!#TNkTFS(-B,,(MF&ImV@$"'"$2&Ce&)Q*Pp
+E6"HJZdDI(9'"9rqYSljd&"90LCiVF'D0IE6L!Dd&@amVTb`R%ljbD&%XTb018VB
+TL*crKP[f8B3)aiCYXUK+MQbSaC6,C3eE&"P#$,,T'-eXmrj9+PABih8ZBphNNLB
+$L-6LPVC+pE9KQ!RVBj@eP,DrVBA@eh@8JXSMl[3T%XH@A@,+(jHE!%Td4A4&(LX
+BLYHbP9C8430NXT5XUYl+HNUTGiND"&lb-laeAMeM!9lXE+",V`!d#mZkIIhUpAG
+3*43)93,jpie[GNZJEBa#TfGEf+)M"ba0Zdda8cXEIBP8a23l*ceYIGPCF1((DX8
+Ja3B-(T'!UPN8p@aK1T3i'%i#Q%&'J@6+Ye'$J#XFB6B,&4TD"D%&NK3TM"3a@S`
+P(Mb$bIrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrq-&+4-hemCDc8
+rdTEKX81EXP8)&Q%T0IAdJP4AJ9@"B!UeT+3NS#*8L!VV83Ipr!S!Q!!G!&1YUrp
+r+i!E[m&!&0pr$B!HJ!9[Ih9I`#!!ZrR'rY3!$)!REr@`!QV*)AmFJ#epVACV(,@
+YV@Vj96rD`S96jV!2R,-FPab,YC`HTeV9XF`cQrKXj$GY$GlSNErAkpAe1[Q`0X`
+iN3EQ`fA"ZX"Y`q01AUEE*A[HY-B8*kbi$$PM+p4MHbjkTeNV&N1E*E5U`XPNM4p
+,(SXPIM&N,&#@"T4$+%4B--D5lB8&#P'U!&"A)MN8NB"BrVGE4LfQ&PM"3B4[MJ0
+9cd5UV+GP@dFX4XPE[0eUEACLTA3B8kf%&ljHIGV)@A'9,f9,E$!--X5XP'GY-V@
+1,`iemiR0E6#V'EXmZa8VD$(P!9X&hDL9Y!AB9eXULbkPA0HUhm,lBUeIUXf#lJ,
+[5UdjpY3FcBj,KbFMPkB1-MQ9(,`X[@-A9j,aQ#rrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrqm@K3CIB&,bJ`d$i"R!$A2pr[JSYd%F$PPIGG@iV+reLC
+I1LS[PjeZG1cVd6KYqFGEicL9%Q"@&J4EL&2f*0Irf8e[KS-0-@8qiDlip%1*3lV
+C6erk"'bVdHkN+945V'-#DYY!Q8Bq!8q9R*@(rJ%qprP%U)PATm+H8$&'9FXM&LM
+"I%jZq1c+a'&)VEjXqBKXfRVB9@dTV)kXUI`&-XceCR(kfT[GPZc*&E3BYVAfDLV
+DYfB0hF0T%VhF`AFXHXQeP"PhHYhM54!#bX,Z"5jC@eUaK2ZjCZi%qfb-A1UfLXZ
+D`#Ur5,8,J!N@*)M!ZJjFp8L13S[5*85,M,PAjF@D)#rEE+,-b,+i#@rE3Uff3Xa
+2c"&&mb,eU-cl`S+#NS8@M!bqrlB&&`9A`Ulrlip,rI2CBemjALQe9Xi#&9C3%PE
+bEL5fP@BUJ'*Ll2+KdU0`jYrJ!XT9YBrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrhC6@5hYSiYSDL$i[E%!*6!SVI""4E9Z+a5EP)JBL"3A@SKD+Jb9+
+83%&3I$R)BJU+F3@`j!!Mj9LM-mCATZc2M06@e$GRm@`fYMkl'eE4Ll"&f0Mi#a"
+iAS"C88FTDb$GB2LbL@3!@3j(0DV&mmXU8Chd[+a3klr60%J`Th84G*8TT@#r+`H
+9,0f8ADRZe-,MabR&l'!004"[q8j`9h`8Bhf8Tf95[(Ek"(h5q5`Hi&lMF'T1JTD
+e,aU)TC005ZDN-VMdT44&89k4A2&HDM$DCTiK&IjH)[)L96-'2#q$f8Ad0&#jB-P
+LNB4c10DfUXZ1ED!)JjL,DqkdA9m#1aGE8M0PelYYd9pe1SS#T0mVhfbC"Ul"S&!
+6lc#cr+BA'G-+k"KLjPH5TAVDCACAGS#YNaH`#@5mXPdCbJ"Y3#G+&(P0k*bZ!Ek
+AZ`V!"C'!V()VFGBMHl+9BGB3XK@Ua!&+PE`k)9(SKd$$&#T$Kf9$+K8N!#p--T[
+%&rd8ANkaAM,CArrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrbS%9EQ
+E"CZm,,VR%3F84aRCYf10i,UlY)9X-eXEEY1AC&GT@l9[@%K'Fi,PBAJ"HB&j3AT
+ac!$P@mRPm-[F#qGm+ZQf&D(H`)GGR"C)*3Ybj5,RS5+UBi2#R@G3K0!,UR(r2Ik
+Bprh9rV[q*4S#&%L&!d+'%8BjK3Iq(G2q8d)Tb46'Q%B)Sj%ZL0U*D48"k)Y44ZL
+5#VIj8C5T'#SB9ZrPX#la4H@[hPdAMd[YMP54&3#APp[*1mHLE66J)F%6Jp!,29F
+9G)Lk49G,'F(C`Q`#bZ%Ui1&dUS8P)2"KH",TGc8@QT@Uf!0&0V80Nh&!UBpU-pU
+4Ze)NP4ZP,T4DP"!T6T5ZYLaC*NP3&E"T+L3Sh@aCVB#*5@U`),KUrX%c%h'N,r%
+i2$6+B&k+,ZSAIpr2Nda11keJ8-+fJmkqhh@#LX&4aVAZ1ASYHV&!Z-YFF5V"Hij
+p&[Lh'EBSpiLJkNm[)2%!)2ICKH1%(TRM'SUI4A0&B&lUSYe,i+AP@f8hrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrba2XPmXN5XN6#KVi@A``Hq*PmFG
+XGbh8lC+4LP'$DbJY%M(P18+KD9'I+P1EX%bi!)VH"&Y,"HR&@e#T'M9NM9jp!Q@
+J6LlA3aApf8K5$ZcdAF91eFc6!`IB&$G%()&-&hTl[@i&HTGB&a@5)a50DJX4E9i
++p0YQ39I+qFeqpeqb"9&qb4SS@43!"3`#JEYNCrGJHCEfXS`8kD9VTXV,B0#m6,-
+Jq5S#'ML&`cQ96)&,4Gr"`)qFJbFQ"$-AMlD@4$X+lr$E@9r%1!Ll3i-+Nq'GKJq
+'TVDYLp6-UYMT'9VmVEIQh@QcD,S*IATYDQbfE0M0&,BihBq@c&GR0f6bqDmZLKF
+q&h+b15iD@E@X-!$,[JK)MJXdeY-!"5lE"lDeVD'bb$bmC!0!!%YIl%q)J%fP0EH
+)V"83aH*9daA0P3f1S9K4d+8''[85LK8'1Sbd5[MLk(a6DUU!J+"%S#&c(VF`UB#
+JXGk6#2-0pSL3!'1p!iVGUJp0AIh#5F)`i-V%Q$#pIrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrr"@U#J)`3b[48TC*5VXL*+1+8e2p-d0r,fX@YDDDc2H
+5*ia`fhiENlfaRN8'i-$G*i@(L&H`ZL[@p[4He9)V@LP@L[qLPL@,+LZUb#,*15a
+LXNk@'+bA4C)J"HNST&#XSI`SGBS[TK!)T@"5fr'(CET5h&ddjqpX2S'eCM[LY"X
+L3FGhS%VAPh[%UkC'!@h#b1&%F!(lT+E8GQSi@e9*6'DL8e'B&VeXN!#X!'LU9r,
+D`9Eq2[lVAqqTQYdbUNbp&rQNc%9Ke9KrZ-ZV%CeL@2KKH&&lFf3Y!5aHdqLcP&N
+#p#XKYI'1q"SX(K4984LM"d#9`DREB0XTJLFL+'bVj"dK'$CH4eiclbH9&Api%+Z
+lPi&ZdPH(ej-Va$ZNf2P!h6I)`%1!bi(S`KZ"@ZQ1F&1kEUi5Gf(&dMh#Ni!pETC
+PSAq1$LN6L19@P"6+FA9@)Ca!-(AZbh1*9m+Imfrh`U6FCMJXqF3"0MQl&@YRbYJ
+UYLLl5bYJ%"HSZXPA)eXTicFB[32rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrML$MPaUX9Pp!MPE#l%UlD16+1@T@&)FM#X!V93kaHIijD`jJVb6!B#f3
+C"dm`R%FP1X-eBGRLG"jNmX(LYi$i1PPNDmQS2,LPpH9jEh@$adCM"m-THXSc+NC
+ZTEQb-db&!3!J,ie!#F3$)`8ahr&@be#TB!4@&2YEPTB2R`i[m`[M&reKVIH'fkD
+4HNETX)2B2LfVC)J%0MQK&*-!`GQ[YhQ2,Kl,%dLj,P0)cr(&)!44bK(-9"3Z#XD
+[hHpd0lLVfQVfK@5@!5*@`Xq9,X@3!#hDE&kDX$ka0$QQ(,Z,*AVkpN'@S&10m,&
+U@+H46,bR'LQ@"@b`iS+G9i@P39`d+(3d#PZ%ZC6#C@1i*CP+TPM3,G*a@`8pCYL
+Ql+V&0@ejiZ&9J,(,iq1Zm0S"&hf!"5D!E!"-"FZ!*B!(8A$'44Jj,"c)Q1Pep`H
+Vr-!4leM439!!F5L[Q!q(!4C#T'P8+(&EKUkEhmi8rF(KA0TAVerS"-bEMRIH@fE
+5UfX&A,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrq@Bdq&lK&HUic
+V&BM-F10b&8+hGB!ZTM[8Th38aaC8bXU1ZQ6&`h0aLYQXmYIZeEIE+hV$M,f9`1A
+VG%j%rXTM)K9j8DRhM&H05J@Dm@hJ+[r!Djf6$%kdV0-9HBPE&5-XNl9S#c`8VJS
+!"8b8+Vr"B20M$rZppDdJ"EU"8`"8(r[pPAmUAqJImjBc@P'Xl[$FjrT'LT&09q1
+Via&#J[N9&3[,%X&"jB+TBGAb`!LK@VCC+Y-MNF$N`K5D-&!em0P!d"B-G4rMQqP
+#fM6dLiZbh3!KZ''MMG*a1*aBVXNEX19AG$a)9LYR(-@5krrh60Z!,G0fPJa"EU9
+k!+jXXNZQBh6,qI@&Y@!"lMP2FDMrSYV46aH1+,B2NDPPDI++qk%`TPUKILMZV"A
+XP!3cL9%SbM#l!SZl[[#K`SVJp@Sp@S!@T,!@EICJ"AB&42+f+pl18XSQ8(69&XS
+SRd5)&B&&Dbrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrppb-FDh1,
+dR'k$M%6Gd6F3@EC@"QX2iAeZ&8#!AFq9J83ddmqF+j8M4BV5VHT4%U"98(M9dJ4
+-h6pdP9`RJXKi,@rJ0UBB1#ehJX3e%be&@e)1P2%b8dbe5a1&HfPH[q9cRl**R+d
+iicFCJPJKa[piYS19IJiDSV9qLL[l)$baH&L9+%'4&XBHPEebhL"`C8Lc2YQ$4KS
+%9A6"rF%bi3@kB+e#Ze!+e+f+pjjA5NSZV#%+6UCVrZ-FR+#Fa)j2RP!d8[H&5$[
+@peUpV9N9f5Nq)4B93T)@9-8$"MJ+h#bVT!$8+%c0Z-"pL')`0S,C3!JV@+bh,rX
+N1L*SX"X&YE)R$KPpL+'*mCP8c-CE-&NRhH'"4T9PPhR!+KHN9GY6Lj9&c'50p50
+1N6U46NL9S,GS+P@eR`@lrEBhYU3JYrJYIJVbff&%JX&CVEIB,0fe6JYBYY+L$%+
+5c!p"J94JHN`)R9!!)Tp%Z[Q#)!NEeqbR8G-&BM!DVp!Q#Frrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrm0&B`5&NLM!T38ZM$eVpdQ!4'%d96!kMeXM(K
+53G91kV8+3h8hrqkP0e&Ce1iUZSUPRbV4I+S"I,iq(hq9@X9B+q)*44Bde)d9bL0
+4TL!KY+(rpX$9X@rq'S!8N9%VAJ3C&(f"!JF+lC)VB@,C'VB"!e0@`Uq'KpX!-BI
+raJ`r'(8QJL-5c`eB4J#$Jp4&f1-r4'X8!'kA8Q3'fYh5QQS"!9QDKBmA5dbXNb9
+cNfR-Ed9UAXC&%3T2YPeBl+i,C+Qlr"MMVBX-CU&k8p+)pE4&IN6U!)8p,j*KU4*
+UX2q'rjZL4Tp[31#Kph3qj"U[5"'*0A6E(@!LVCDF#A5!M(`'Y"SX!0e-0EQ%4rr
+4&0MLl9Be%&"`mC90P"l,*XYKl9V69VIl+1b*-#PdAPBp`BJ8pi+hrY5fH#c(T6Y
+Icci1%bP*QrPJ9*N&FC6V!DFC8V"KFGdeKpPKh3G)d9QJl@SS,m((0&Zhrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrP@DPP2HjPHljmXNjC+-H-5b$#`S
+SMdb`li$'[N8F+264'2jABkC50!cYieETLQSa`@X*6i!dab-KZkKZ1PL94DfpLQa
+JYQBBM!#Xee!YrYPP!#bJ!+`"G-DY@Y'&[)T%U`f1+r6"XEAe!ENM!jXJVHXMAZ4
+LLfhX9J,0C#Q89L08haLbNdQ*eE1b$"bcIl9`,-iYQ+A'&JP3Arqpb"BHXXSYNQr
+[lj30i"EiP3H-*9r+*&@j4-AmF*&`JX&JVM#U38Vpe(,i@fa"YN568fBDd'N9%3r
+DXbpQFd$)dL&Dh$EX$f*%l&BB2"JAM!81EB-#S-*'CSQc-'Dq-b$GiPGiRGji#1!
+,1J@ZZkBZpeZia@lM!XU!#pV888+Pr,"9"pr!KcAlqYia4,q93"GJ"C!!j&$QpYD
+@(*HFJ,@IE@IiE+pIX!f!+r!"Y-KYEKZ$P![Ac`E+YIQ+r*ep1[CcAeIaKU[8[[G
+IqpP$e1I[BSpC!S5RUTAZb29i94Q0+r+!Arrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrbKQ+Xd99FDMFU[jC(`SZdL+)drNDVa40P&rN6VaTXSGLK`M4k4
+"8LI"5kIM"6M%M@`9VGkXGJ!TUL8,+&6KP!C!S+aB,)+pEaeh"EM!qXJU'$Nj8aJ
+JPF#M#q&FU&F!&GE*695T'+jA5LJVQ8VR%VY4PS8Tedc'CBYLCSV`XTQ$[)c14jc
+IIrfXQ'XZ'dXXAZLJ9j4D+UhJEBp#'bd8CJh@[&(DpdK5lAZ![C@PMb@AZ@&pNHL
+@&"3Y&#rPL[XTb@"548K3&N8"E'DL+9XZpiXKK6T8X!$2"Bc'$%a(RDJ&[E2'%'!
+XX"3#"3JF4)#bi&3rDdkeUk[K$eL4B!NLN!#-&``6*c30h@MN9R,9YKP+mBDd`eQ
+lhG&&$9N[2Qk)-)lr6,U6,eDdZ'jTj,#JYqLPRk,"D+eTB8baG-i@AMV1#%P11rf
+3!$EdepK48eHiLb1a3$jbJ5`i`h6"Yh&K9TT2#T!!!CGfG`!,%&6S+-TSlGcelPJ
+`FGh(Zei-)TE19XRT%Crrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrp
+)c54IclDE)+l08kQS--%TAfUB&(ZTeLUUbU!#UQBde5KaJ4,$9HYMe!P!4J`!0NS
+Np%LBj6!Dr"E8`63SU`)I$#-`+U`+9l[*aS+!%B!%NA'dF64FN!!!-FZVaG038pE
+'X+11#YML[84"1@8`-m`1XkR0lIGl$9%QhU1(V'+)lH9AcrXP&+S$C)18'8Ud5b'
+"UQd86*3F4`rPX(0X6)D#,C!!8"[E9E(!b1"kDTf@f@9A&db1AV"BhN3%M9BZbb!
+V9&'S!&Y"EieN)`6eZB6N`5*kZTQZjbe8%Z5JSCSJZkTYm@Ra-@a00@*J0%SPrIG
+r!9XB3S`eqL3&%285L84UY8)JVlIGf69+96eY%lE-3@YUqN445C8m`3fV"MU8@``
+aTaKU6M54pP&B8p$U!$+khqe9&NJar[3e4LrkhppPB8[MlNddE44J'Q*P,3)kkD-
+Y%XJiQf1l$K+YKEE*F#@bf)B$("Te`e)`D+iDXS"QAKUJ3dC3&-H'VTm`JpUbJ$G
+*KE-,Zrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr(![4+majZL66
+("4`#d4m(%V4#MrSKBSK9C@HbJ@[Z1[YDL&h[p$DTi#9Z+)AqB%cAbU&8c(,rpmX
+,BZ",E4$D'LKUheP@e%PJ8&ZT9Y@kfa,ICkf"&%'D)ck)B,BQ+*E4`lPY-VE19pr
+K3UG5fI&Ej!2qR!PIpUTKP0RY96Vkh#P)X$QfSRrGRq#LN6!D!YMlSP+L2X8ZST(
+#LBYKY!N&pUdaK,M#,XVZSPJqaHf$)#-+)!XVd2mj&"Mrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrm`XalZBqQ(ZR[GK(aM(aM(ihMk3!)q-apbplkplUpi
+P(d`pdq2M'2M'2a[(dK(aQ2ZBrISrGBrISrGBrISrG(r(iR(jmILFIRam6MpLrh[
+3$h5rpl[ipaRrHjXHk(r[F)Hm[r[GR[FYrhZN(['rr(iR(jmI%irBR[3$h5hZ-AZ
+ZpkdpeU2TmI6iqEaq*4pK(d(hZ"[FeHm6Hm#paClJch3(Zb2FcHk0lL6h$(Z#2GB
+rrplRhaqk2rrrrrir-Sr(4qk[HDHiplejlJrrMjYHld2HYhZaRZp,hTR[+IrrlhM
+R[!2GAlhErrpl`Bpl9lh3pcGlapl[Ih[6[Hr2Ha2F6HkTrrlh6(apH2[4rr(ljlh
+$hZIamqMpHHkEqpc)rrrrrrrh[@Arrrrrrrrrrrrrrrrrrrplc+2hlrrrrrplKhr
+rrrrraqY4pDMp!4p,Mi4(jH2Qb2SFICmI,AZqh[)RZ"(ZYhZ'R['(ZBAZahZ1(Zb
+rrrrrrrraqDMiq2hf2UFI6Sr5MpK(eFIJ)qHMj@Mi2MmR(jL2Yaml(kH2`C(l@2b
+NI84qQMlZMiUMl'MiA(h[(ir(kbaqbmIG$(dhMjN4pp4m2Mjr(af2QXI#BqCap((
+i'2LdIC)q*4m-Mi*(eL2JdI3)q"ap8rrrrrrplUIrr[H`pld[rrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrr`1fJE%1d%5(,)8dGX&LX1M3`TMSi$!#qLQCP`kE"d5&N!"[df#1!II
+e5Q$+&!(LF!#0JEq!ck0D!4P$)%!E-*5*8#`CB[d3''8%G`C%Jm`3)@$63*Hd""2
+`)*!!a[eUT!"55*r'D"3D#+`5m"$DIcJ6I$-j!lT@&D-*0AAS*3NM%*ZSIE$m5[d
+J(fd6-TUpafq#EJ"b5SqP3"4Z"QI!`EJ8J'5-#-eqG3PC4r!KM84Lb-2[`#U)P54
+Q4C!!X"f+2K-F'$P!VBeTJ`lIUf9'U%K!0'M0F58JD-`5aAkZ$h3MXL9+FcQc8)$
+(A@*BDXLa$[c0!Zi%BbSV2lS"T0p@8Chfr+3k#!G#J#KUkM1*!Lf9'86R3B8(EqM
+4QTY$"JU@e8I'3[$%-6V"q'JBXKkYNMJ5J9JBQF$IN!"05krAB5[!1[#6!-F!B%$
+a-%#Vp1KN'"N#*Q%6L4UJK)D!fSDLpq1JK6@"-6"jqbLaQJ3&qM4rCG!@`CA`pV$
+YiqRKqX!aE!VQCa#8&p54qa"kdUA5'6*p!%cHL"LBQkc)-EmP"LP!`!5R+N'#E'(
+BK*PdNf$X#X2jIU"4R4B*%lD#Ap*5eLF4`Gp09*3eK6$!`'Mi'1JNk*4c)+e3bV&
+qC'XM5)C!Ai5"$+(["+[UMZ$T-*!!#DU3!(LS'PKr)J`i[UL#462iq1c`30"lq!b
+8b#&5K%l%b&c),AklUPH%j8'FqDXp!'UJX%YJed'XM!LSUAeB39JX+N!CeX#(m12
+[UYK+3C!!5C,fb*J%,J4f"#m*&B(%aC2[`JG4#9B%S-[`9ITa('i'i`P504pqBjQ
+M!l)DXJ-p68q3!!!'Yq%`+CM3`U!DaIT%DeZ*!6`Q2S&E#EZ3!"@'3`QJ&3#Ki',
+(8!9QBa[aAR(m&V9!!X#M4TDSj"SJc43+h"N`1JJ-29!6c8`S$)b#B63*r+")%58
+JNXm$N4Q+NPrK`@1LT8@3!%Q3!"`U$Uh$RGBJNGFB'+30P`Da'Ee8P3*+&La"NCU
+3!"hkQ2c!U'B)9a0-2TQ@"jR"3-#LB!0Bi25@4e!PI2`YN3BL#KLf3)c""`I`%#U
+S&RJad%'#T'BQm!aLJ2X-9!1rUKe!FBNF41@$X(2bSIP0BVc*)`BkJQX!bV4h8r&
+5"(!PJ$+X$#208JC`Bb-dl)Rd"40pXMZ[(VH2i"XLT!`0!`,V$V(KQ31XSLJ!b#`
+)j-k#IZYIT36XL14J3hL"F69GiN351I9iITZ"c*!!$+"[J-BE&"cp`#A'$@fr1Em
+1,%RhjPI6e0B%*+J6AVm'+PVBViX*`)DMVk%h@@+3!1abSE,m$-KC$h!GNaC0e3h
+[`d2HAkK(@+"+c*(`p!!`@"JiI!L4f"63)rJNaNE'%f856!FrL"'jQP#edLed3-S
+$!m'DaU,HqRA2eZNei'JTqH&JT(3QXSDQ!rZi04!D5@&Sr5f5f'XQ%aS$0SR1"0i
+"Q&BS6qkB'G(9NN[XeMH"Y41rV$JM(%$3"QJAj!-jF1ZLr*CQCEmY$XM'XdT5#N(
+-KQ"f*5%e*5-bQ'A5$1j!5Ep-+5b[a3$(ka-",US*84VB5R'54!c0%6+)A$bV%4)
+'VC!!'#")Jqe2fB'6a+C$Vd!`a3#T%9Z"UX'[aQkiQAKJV2kp!QX3riL@)l,Jc%I
+h@",4dA-hKUX)hf*AapA51J36J`59(e"33XRjX%e8qSc"MCIMi$@hQSS%ReqNJQl
+QXN#-H"Ik!F3m82`f1f`69eeI"(@05QDTQZHH(epN'3`5#9`4,$,S"'3rQT!!XZ*
+*Z$"L1-5$S9L9N!!b*"p(lS@50a*0!bf-lXDKFJIb"V)$[b#Eq"b-U2qr8P4E)a5
+"+M*GeLr$X'3)XMXL*`0DjN-Sk(UK9(8N$1+`E8!XJb34hY!P`N&3*#FQM8U#F&0
+5Z1d48X3Xkc)RUJN#8aQQNGJ"bJ5V(Da+PSH%(j[IVS[eC33*2jG!XKqE939H"Xm
+5(!(3!'9d#J8#EI6rC+)U0r!PJeV`Brl%'l%B2$dN*P!akJMiJ#!1`3!P')!i%$#
+J39QGdJPBJ6+%ci'KJ8Ua6hdU`p*2hT%R3f*-#aAX8GBTPBSPi0I4dF@)c&MDM()
+P"afbpLX35l3)2$(CB6cm9MTY#CJ6!4f-`k[IIV,S%VIKN!$keIQSM+U!,S#h$+#
+#"X%6)-,K0%JBN!#6dK,q)kf""e*9T-Q*`F5&35Yc8+5B"*Q!QbNNV-KA%db*S,*
+INBV#3I!hN!!ei513!1HiNq,&BJC!1G#"eJe-a)`-K8!f-(ZXT)K*)JcXbAeN!!6
+I@5rSkbU3!)"(L!-&**8Tce+ZpNE#4jQAhi,(C`*B`'8a-`!d##(3br)cLM0BK)'
+V8I3Z"`C%'b)3e3+&PS6,+`QK+D$hC*65!a'Y#1RjUi$VZL')$Y8#$$0bT#3-"LB
+-D`)H9T!![SQa"-BC(qD[6%!369!beL)d(K366#3q)(#!e)J04%BL*%CXNJp*U-c
+JE@!-r1`-UqU+*VGNC$8'C*a'Q4-k*#B-+Rd9"*h-Me%Mmr$`0)"+Lr2ib*3NTMY
+034J(a*'C3CZJVB2M5a1LaZDTaV$R"F'9!CEJGE"p$!U6k1@3!"Td+-he1hZGYS*
+BM81%K)*H9dM#B51``N6VLLZ+GGC"1Z&UB2ZU0k(d'`B'@)!'M&F!XKXqZ&GFq6Y
+I3!S'JiP'Fl(f3q09!P*Aj29(mN"0N!!YNFB5F3QD%`J6Y3qFC*8eLFKIM8kJ9K8
+Ni&B4V+3$!aBN")$&3Q9"+Yc9)"k9mKB[N!!'N!"BJBh!hFIK"q,LC6%Um*JEk@c
+k-$*C!BXAi)L'4(G)5KK-N!!bEecSDkbl*,rk*)QT94P3G8e49-Pm%`864!`i"$)
+R!#*2m2[h`+L'KhPp4K9qSSBkeqI"1k$@B06`R$R%i*J*bNCaR1+c9r)&X'DPj1J
+Mh0A@%e)1VlkYJ'-Ke!KLU-iQD`BM6G!,`kpq(@31#Ji"-dm%P6m%$`P8'UPe0CG
+(IJ49"cN-&V&3KlVSi%r[M)R'Yr"V9p*0qI4VAl%pC@pUKq''jVBAk[Jem&TT!YJ
+C6",r$kbS&HX62$*J2B(i&&R`eX9L,B&bX1i'G8#0(5UJ5pLPl%p+SpdDfX8#b9U
+F1K)@#8!X1T!!!B-V9q!%#9P54+JpNV+(SND6BJpNS%-5JPpL91"cVkREp!2T59"
+JJ!p*Gd#V"P8NfS'H5E,L9r#3!0K)G!ce)G9&@NeZNeP5DC*HP*!!)IeK!XS1%P5
+'%XmrX)&d)Fb8&UL3!'VmE`0q$R@4c*5Qlm9P*f!a@$26!h5*Li(A'Ee"Ji$M!5N
+S#D-ai)a3-QT'`eMi)FL9Nm'!!RE)KeN"'1UTBLAULR%03GDU1*d%88J`$G#%TNr
+S61J"CeiLk)Kla"Z*A9BGBGFQB+U"T8V"QG$()5N61Q#5b#A5X2XGCT!!FS#h$iq
+qJ!$"Ek5K*+"#JrTU$@eqL3QA"0DJ6D*hk"R!5E@*k`Y`Q$"-1#6`JfJJJcDTqFL
+G1U*E*0!P%3+*IQ5GYRcVi#@3!$#m6(!BeQ5l'C9-dc!eZ*hbZZQ"(KkSDL[kjE"
+leVP@qL[IJ3@3!#ZBUjU9bCVLZ*38'Hi'IRii(5S1PiN('US')J-5%dL%[8@"NE*
+)4!l3MU8J""QCKLH*3#!XKB0KppN+$)*2r)ANK+b!L346PX"N3H()c!MH,&l%iQ*
+"IcMV!PqR9[m3$")!4dUjp!L3!!q)&RZ*fAVMqZ$`3%$ai0IdCN#*X3#JBjI3V4R
+rSR'%SdFSCRN8kU,L6km6ZN%S)K'J'l)kd#%$UC%TJ4!`dh"+d"R4+-3+A15bF+S
+N9I9!Qr1%$5C"d-4RiJ'MFeXUm8lp6U5D#CBCf8'-5P*+Ma5C6@YQ5[AMMR'$*C5
+``[d6!h!5TSGC4+k!BZm25`PPR*KB8RdQVpIja3*[Pii"edQTXC*iF+3-e!QiC6K
+LhC&`jU"bVC!!b&42[`m1!UaA+PrI6+($N!#6B(Qd1JSP@JQ-iGhKhB$HJ%V`'Lm
+c!4d3D["-r06NeQlapL3bMNJNe")`T+eL-$VDNTMYq%QUT8P)mMGD"GG8$2$!5mC
+4-Vb#FJ25,)Q5E4bl)QjU@!D3!%Ei"VF$ZaUC"V!!Pf"+f3+bRj@X3YBP-20KU20
+4#-!f*1X53X8ES$%,6a1lShd"Q8G,@5`I9f[dB4J5a8NCC2iieM!6)PKUf)fS#4X
+8db$Qa$aDYJpE'CJ9"&LN2(EX,2Ur1X1XJP)eqFD`N68B2SDDPB-XZU5YqDSFR!J
+@X!)(CG*S)516@-a0k&J-$bj*#4D*`,dUJ+qUj!3'38%MBNL4rAdNe54B5DL5Y`P
+b*-3Xqhe%HJ+Da@e"NDJZZT!!Zb&KNDU0e+JHT&aR1JL05[l*CFGM5Nc+9f@%IUP
+E"0FCX3'C!5Q%#r"J!8N-%XZJ2"-Y8M8-Nd!C4M94!(3#DZK(8Km4G3prS#i*A3-
+I"Mkr!BB'JBfSaG!PJK"%4)rHL"TPKb%a)G-+!RKLQ$5+3[J6Ic-,N!#HU&%J`"&
+BC+cXNb&!*DS$J*L`H,JaJJDjN!!*IMD$)+1LJaU*8!Ibap5!5P2S"3*fmXS@E%T
+3@+!3&4UNk+c1B"#d%Q2R5Q#29B3jakB'4N#)#5QqLk"C$0RQSi#B&'UUk4!M@J3
+eIUm#-&4U"ll"TpFrc9pV$%*ZS'VPL*rA5`%JS'PJB%%Q1"JMk"3Q3R%YB%3*6@(
+UJ#FJ(#5f4K`6%#GCC!Zm%6FeS-#`9+#%J+S-r)5$)12N+a108*-%#rN#F4D$!CC
+$S'X&H"SL"0"k(!ZU)92I6M&S%5G#*[Aki5%Qf3A3!)(6!X''E-(d%654+)40C'a
+,#V%c0&484C08Mi'B"&NI9Y!f!QQl*G!Q`4PF5$a0p+M%)V`N!JJH)T!!Kr2%+BN
+&qU@XiYeJc[bEJJYIQ!RECapRpUL"J-*[dI$"8*Y9N!"8*h@'N!!6Iap5-J9aUUM
+96"!J'!3CeeJ9,!-IhX53!'Z6c-AVR,)kiRAc9h"J+)V"UeMplJ`VR@UU@`e66kB
+JN8(8m*6jah#Gi"Y9!CTaM6JU2h'J&FePJY''4-QGBR+hJAdIKPj$!jbm(K0I[,Y
+H-ck,)G'l)`-e1"!L1)$+f-i`(J!$M3Fr`i#Aj@'&N!$k+(-F1-)F@$m8$Je$GJB
+SKeq'AUMeKhYp4L'm!jTB2K0U+Pj$X)DGjR4,&A,#fX8lBT`$0J-G!jF5SIm5IBI
+)JqC"i#%V3P'JQC)!iR3R`bLV%Qb'"NP!BV-K6-a8X('r)DN9Jp1VVSJEi%[JG()
+`%5X[IVk1b!Q1L'UDSK&%"*T814-5(5i2VF%(RpLX6U",%*fdc54BUK0JDMNG[pq
+4")5'*M`B&"Q"Q"E%VX6VAjB"TY'j%R@X4@X8!*QSHi`DA%SGL'ImGZl)pc-V'Dh
+03@"'!-qi&D(ADa$Y"+CqlQ5$KL"IQ)2+JY*!J2%RmJ@Dr+B(509F#GI9"2jNNT)
+0)b5*Jdi*8&NIi)UdQF-f#"-*0FNURKPF%UL6'&4N-fX(8ilG)HFKeL-`0B+"em%
+dS50`Q0`5Y`a*&Ui'&M8[JEqT9K5VkNAQBH*@a5YS)!B&k!0P-a3cYL`p,)p!-Ah
+k*Sii'Vb`!I2c)L,!5HX3V!am3-`+N!"pH2dL,&H)6SJHDV)rS!rB(l(%cd3jJCG
+8,355L&Y%9X*T`B-U4N"l)(b-1L`lIBLXTqF4+`9!1)Mm4CG8QM0eN!![LT5C'8'
+4b&!$Sk*1--$j"-4$U3)N1M-JZX8@3V3-)-hb3@KdVL3!R4%j44Bi`)U4P8$5PL[
+Sl9(@iN#)j%IJ'JMN$#ad-")Q%`C3ET!!DN,$!%@3!*JJHkk-B#5FX@8J8Q3Ud%`
+!MhS,M$kCp9p'e8B2I5C%PZb"L"'Ta$p!"C98%cCIR3S&$1(-jE41-`B*"RqIM*Q
+p2KkCm'%aC),!!")-VM$A!6`DYH$1-*B)&hVU+*-U`*2U0-L(A!9B$8#B+jerp8%
+`4D#E*iC(d#R&Ldr,j"UJCb1h9BNC8Bb`93a,$(3b&l&RS!e-%M13!"A)@3$N`PU
+'CUU6NJ&#6MN#m*PB&V!Bi@'S,!8%-c-)4fe!X9qNc9*2bc)&%J!L3k"`!5A'SHJ
+6eK-"M#"M-2I'56$aX4%#D!,50!fbZJ3aNJ5UJ8hST85[Cqkka'JpP&QS*882E!j
+B#886&B5UcmS$,a%kN8j!S!5C34*4b`6@3'US%-%)#`B4CN%jB)2)!H*!TQ&!B#*
+d$$MHmJ`2'4fR(3Xe%laZmGeiG&Q"qYK*ehd98#$!C,9'8%HLZLGG23'H#30q$i&
+9LB`VMkZ3!%2R8!FLaN!Er['XJ9U'ILbR$@$@m$`A`DRrr["!kB%"X2Qcqm"&k#c
+k#Kd'HCY4'T-N5C%3G,,m[34M!b+JTJ*GHJQbJV3N9!jURpF(MS*G!QQSB9$XN!$
+I!`$(De$!BG%KY8%$9LC,am$ih@,DJ3F594r*-M'#8h0Ek"UdCKX80!+S)qPKXG,
+#!&AJiR$Fe3e50",h-`4BQa)A[)`#4m61C@qcTQ'&86MkNG"SQ1R)XQ&KM!PX%id
+T3"r6UNX"QHDRkP6K0P`Cr!qpK)'1[%!X!Ff)+N#UKeB%&2c@Y"kJ5V+,(jq2&Uq
+"KUa4TB'#"@pLIiBA!Fq9R4-HMV!kT"KqU9PC(f,!SY@"B##ce-f*p-FeZiHcdEd
+3)GIM##18#G[aR!h8eIpq6*qP!N4!f8#5!(("iLr5-NT8#JS$+X3F*Q`PURmU$9K
+!S!%2NNZJA"*%*-0863kI*-f$-C8#$-fUJ-'@#6H*)+%PAdQX!dk"T-$@Mpb1Jm$
+ZJ2LBII!jB$K!'m#@11QUN8-LQJ4KN!$DT2LNP+5C8M-*F$@fUL5b$lp!JGD4f8'
+'b)V839N5TBUbQS'b,3R38PMQCG!Y825+!pdG%8PJ5#69+!lV%1K-a)GIBHZb8M1
+Yj#1N$BJ50)5il4BL5N%1"',)-*!!,6-(UPPj"Rr1STakRl2%k6)qM103-F'11J[
+Zr2F2$Cr1V$@"KJ"Pk1$$1e2lqU1#-[-ihS-D!dBHPRm6(5ZDX3)R[SFcPf@#d5'
+!-bKKN!#1G4cB)ra1L#eHR6+U-GB-!NXMpF*Geq&5`+'GiU'!$+Jl0`0p",U*a[A
+$AdYa*-cU#*!!E#3B6CND(ITGNHN54ec,m#CL5V$&!HC41l30JX()l-KCUcP!'UV
+9*L3'!kkmJYP3C2aJ'"dK@bT*'BD%aP!6F2Z`50N#S$2!BbV!9!RJC6C$82JSNV9
+(3QBlIJHDY8cQT#JIN!!VrmJa"k30@-M,300`C)KPY%`*iP5R6#J*K8"m4$#5`J1
+ZDcki'&P&qQUj8%V%*Ad-Bhee"VJ1Z%`36@&"RG69-#cN'#%3"4hmGYSPAH1f"UR
+JaQL%3h3MXe!cSk+d!%9+!!iq#5KVG*q$eLY)$P(AcqE4di-[!TikV$ab(RS'""U
+!2idX#b-c0Ei*M9J,%h'M2)hZ'*&'almfJ"TB'4D-c9MJGmqZZS*53(eH3@'*3d"
+B0`B5$)h!bieP34B%j0B!JNNcKN6MkR!m%-#`%#4PS-R3CJ5H"mK3DHJMk#kaR-K
+D2q*XH"Ze"P'4@MCD#TQY*'-+$B!cJXA5(P-1GHJRU#9N"k`fS$24$+KQlK-!QXL
+KQ@'a)kB2+"DR0C!!KLB)FEmRUKY%JSrNB6N,&H@*f[aN#Fqa1#aG!QMX8Vk!*5S
+)*b5`1$9c1J#G@4V6K*A#4)@N3Hpf4,2ddU9mr6"rIC@!4Z0p8$+f!Np!kJ5T@P3
+I1`)QeTd5#A@2aUPDLDC!`!M3&+8(3dU(N!!-J1@JQF@+B@'6mBL4mDJ,)!Sdd1U
+X3e2%('3J!b43-b3$TR"rN!"@1R&'lPKd)''+KN#e"X8LX4B(3H"eP!dj!9CQl"-
+R+L&3"$,+3$0B5d!!a"G%AXe,BL[JDDL,)DMUTA'G)%N35XKCLm6',kXKr$4V!C@
+8r())9J5AX32p'9JmFAk#XMc``,"!%cR$1XU6GdNTJPm5A`@M3)eEm+**HXAe*XT
+*YJ-9`BTS$@$%JNJ+5m9*Y8CJa0,$d,&N"KQa4#`(,$r@&6i%2"J#(!JF@Adq'D4
+-lZJ@UPE"DLU9N3&S%RU9%L*5)E-fc9eaBBS&p59ScV,i-NUMdJF&2fUDQ9!(Adi
+"P%2c089!3'-dk"$8JPa$eL!$!T)LC#*m43cYj1`cpeHDPPBI$prKi"I6@$iDa6J
+L#X3)CAJ1JMU(k0+%h3S$iqV[1f8J2iU&35ARETrc0l`)#"hFr$S&-6Xb3*`cKJG
+iDf`$-ki0cSaJ5bDePR8JU241TLG,I3%5`IQE'(61r9LF331-eLYlp"JBQC!!SUS
+P"-Z1[GNJC!Fb#VpNM-'I$0-AjeKC'(eXX8#J6+3FFJ'c-0JB208YN5!XE"0418$
+1&mi@616-km#)IcKPm$GTa)6TZ#6LTGM11JEB%Q'ZVJ5C"NDVSLZ"+kGVN!!VT!G
+@M-644KBZjqeKCkST%(bL*ERkMa1AC#XMVNEdXJ8)!af[MT4IMN2SJQX#%N3(#+#
+qSD`(L5`$$Sl(aDlMU-5J3mBL*6j``LeY4LB-b"PEq*ZZIK+)1X3-LX8$G%-f`*q
+M#lakEbk,a@,4ZM[&5b)j9'ri'GI3%@$)@$+*P!R6Aj'#4S$$D!UJ`j!!45%LjBQ
+J0)cKU"hir38"UKJi4T`R@aV@%"M-M84P-'L3!1XBc-J@Jp"6H"%`D9#4`"LkSeM
+@08%hS-F*8#1bY"Mp"-LJ[G8VF@CJQf+MV3lTKV+'9`4pMVU"S!eX[$VD(@)DV!l
+lH#J'eJbX"pB[#Lr9U",&jC&5)X5ak12KjB05K!2`4U!N1aAH"X[BKF$STqfCeS6
+,!5CJDpLV&L,K1J2PC$c-CP9J*ZP8@pq2'Df-lSR4b,25,&dkic1)0@@"-J@[k`a
+ad0K,*+f[MTC4YUKAR8#G!`pM#8p8+DT-$YH@$8r,!I5"P*5#e4B(9Z%f)2$e)9+
+NI(3"IRTmr2i&LPEiU5JK-KLiKaL"bCPG8+`BJL6'#8X2["Cd)L-a$e%-3J!L)1b
+A866hdl'Uh9(A9%K+f4%'I!eX1Q3(TiY@9'A!CmqM+U5!-C!!1J@Z4[U$V!2@,#)
+I!mq"#SIUS'P!0DF&#*fF,,MYF%UB)"!3Bf*h)e1a3CBT3@6K+bN!@$&B6*rk13(
+6aQ-Em@EpG)'pdNB*+f&L`ITka+#8EV"HCP4*&c9m5EDNJL6AdNbqNXB'6JCeMpr
+!ke4hCNV!kQiC,JLDm%!X4If5BL+`1YDJJ)kS8U"C&@T@*5+LNC9)9QS)b1c)0#D
+F@9JPh%e`ak9+0`q@$V8&VB*Xq)MSLq"m'-PY54X3`J83Y-"lZm6[Tq@qU&baH3*
+X&U%*ZL)C3qk3!2BT"eNBU%QB6Q5aI$p$C!i@R4098'#Ri!8NK3D%2@iCI3BiL8X
+R+qIcl`FcV8I6l%ckG6TdH'!A`NYRBh$"HG0XkrJX,'Dd'&Xk-cUAiN$r$'HDd@F
+Pa06!kh#9L"PJl-5%B!e4NF,mS&K!Nl"*b,-SRC3NeJ3DM2K1`&Ue)2m@'b%D2dK
+),Fc3940`4!(E8@"3a9J`D""P!6+"%e51(8e1TS1S95r4$X"Kb`X#cU#A3e`J6-J
+$GF5@J-@0AejQrL1JQEMC!m3T#)KBA2lB1UJH$eKiX'`3aT`0'X3CV!QYMqN$9Z$
+A5MZJG+B5p"Q('CC[&8X9P[!m2PEbYl`b2mrJYi-%F-6VeFN,mUMpmVPS@&D--[b
+3!!C!03,A8!ILc)EKmM#bb"Va!-0G'pFKQV!rJpj"af8"VBM9BQ+M9fI8L0A(1!J
+Hc!bZF@*fE@*a8(9L4!e&[,D'&HJSd"G!Il*!8'Y#9dV%I0D)*KP"2U#%q(Y4BC+
+#C`h8b+U'1BFXKYD'B"-3#*80k`k+#8i6DL6h#Em,&N6!BFT$JceJk*PkSM"Nb'8
+#M(338"J)X5pL,c0d+SSX9lX9Im*#[C+!$eLGJS)p)5-"180D"meR*fr"Mh"M@""
+93A8RS!d--S!$L"fYe+Yr8RT$i$`i)4bD`pi&lbXp'2!f1$A9N9"!i03d)S8#B44
+,d",#@)*(@4B03)Da,d!f#ECR)aq!bT3J89`V6JY!JU%K3@0Ca%X6L0@(f)GNSJS
+$lZqU`i4Zi8d$BM-rC!0&0QU0`HiIB#3"!eN"d35R8Fmc9GLAJ4dc!RLeESic%Vm
+,!L0J%KJFT`*K54d'655XMqY")&[aUCcd"e!FUNUX5-KBMG!8NN)$RC!!$!U4Je&
+9q,4ekMS`re*L8VZTAY5[b-C8Va5GD"#3!%%N"+$bb,#N3+[2`86&)K"0@cp!C!R
+`QXTr%KeG8V3k2L$)$$8c93Y4"%Fb9p8X")!!el@#XU#FJ-Lbl)#+KKN$D1TJeZL
+3!(mL)1,&l*A#GlC+$IU!%LR!LXr6Vp("pFb(&B5!YI3b-(le$e)eR@3UKK@5Ejp
+"PJkG04)%S@3j9!!(cr!`-6QTfqAiBJMM$cm29E*%#bNDM&(@S&E9c9R6`XN"*$@
+#qGXZ"PN5,8DBN!#52jJ5+"BmM0dCY@"F-@T"P2eS50C#KJBJ-!L1*#4@R%#3!!A
+r"*BqLm-DXi"Cb0r4V83#UN6VTX@L9FLVT@ZHL(I$ppJeN!"CB"!!IZd0JqT`6$B
+N$d!YC$SLG%6RRp&I3D$,r!V*N!!$!UBX!4+603fCV)*9QGq4*)krJ()"KQCd+"C
+Ilb"[ee%N9ibIH#363MVdLb'$AB6I$0e-MS6-3(QkTGd#k"dbQD3VMCA1YA$0FrJ
+Xrhd-,ael``#6V,&XC*!!3$j'N!!e$!me%hZ(c!0GaD1""b"[X@66)M4VKiV$lq*
+'CqCD$%I$!)5QKd6KaT!!%J$8$m-F'DZ()SBD"JSrG#%VBe5Re3`f0m09!EU&Kk`
+AAk0adBKJk*[q"Q,%8@)"(3CBZSXUl%Ff+L'S2X3S$9P"'86+SP(`560EXCXSQ9K
+d83*-@@jrC3R)d3"E``V"6$*$c-F5VZ@"bX5!HeC89HMDb`kjR+#cq6Y"$k!RE%,
+,DG5Cd1#3!%"*'%`Y595T"3b*L`@*a!k9Jif(lbr"*r@diC!!JAYBFD!U#3V%&8r
+9"Db"Ml4,4UQiI,SKL%PdJ$e383&L94#F#b&X#-[UE3,`*'-1Jr$53QB!d!GM$)"
+BLf!bLrAa5D`*E9)0QB!4Y45JVJkaURZ$ZC&Xi+a+L5Y!Lef4-`('rhKBF)r!d9N
+KRpEKJE4d'a,9LEX9e-kqb9Zb8*RC,mB!1154bNQ!G@VpH*-((9XU!%5-+5Qk5'd
+PUJMVT+40E)(KF$6V&f$P"Up(f*!!!1*+6q$VVHJ23*&iK-"jE)63("`NAI43J&`
+QE35qUNZ1d!X*)6GNB!&TY8IF#N3m#QEl$(S(@!-9"-6J@9!$P+k*f4Tejmkl[VJ
+#IU`PV6V'"$$1YJe-J3)BR"Ne1bKQU9aCR*b"CCbHT(`k%UP&%SQU!5r@#NR[S8-
+j!GZUPI2N,Cjr@@F#["&!l5!cHFJiYB,!VR#Q'22(3UZKechrki&%TZG"D#"LF`'
+AEaDm%2JK%,'%3)%VXb+9qRL$F4DUJ'Cf*8@Q4mP4Km#U'S!rlbPjqU`4RhJ-D`9
+BSPF9Ui(d'e0EfJ#UZJ+k`VU9G%K"IH&-*CReHlb-iBX#*c)'a*N%`p!+Da"JH-!
+`X8&5S0G3CdG#+$H)cBJ"J-1D#)[%&N3"D@+Nm-@3!%`8'230C3b@3khKZi-Gdl,
+,%C30p@*ec1bl)#MYL3,YBVT%THa&-'VjU%f+bV&30LDYL+LSTHb41"Zk`@C@2UN
+EbVSIP6Fe3$19")21a!HQlkPPq&P)h!h*qaKD!!lCBKU"G)l1Ki5MJV)$cmUKJa0
+9X$8)Xm4-,mE%B*k)C49j%R!G-X"+`Qk!S(4D9F"-)&K8CKM)NC@9(A3SfE``mCM
+"'#L9hKU3!$)B0B!C3(f8%eZM[N3!S!A1+`QG8RU,'!*S,KAR"M1!@%KX2MJD$%9
+f!c8$GEe5GC,`-ZSXU"*qU*aqI3+C2dQ"Bi6HdN(qN[9!6PL-`N[!bd1T[9,iT1Z
+T,B--&"S&5J93e&Ke8#SL!I4BC+Bc8+L#1Z%$"JNPL"LJ)CqB3a0c-'R%mc[iNj!
+!qb-N&0AUNc,aDJ!mk#&LG1+`P$XZJA8cPPF9DiU6X"mkp-kp%l6r1Q4iQY#5H(J
+KQ8+8pNJ&JU3)ST6)%6(U5$i)L8SN$3j`!+Nb$U3HF93X#FL-f-CaqF9D0EKKYC*
+)c&Ukl'D(A6PFc)TB,8Rd)m'MKf!%3eLJ!bN,&C(I4Ch'GJ)V+)0L0RcLDR'1X$S
+X((jA&Tbm9")@[!2i&$C,8e0r9#b(V+m@b`#'FjA8iX!ead2QM8e[cdAkYkk$$9D
+3!!V9dapFhrhPH[++"P@'U!J'Id#,6*B2!DC9%1)()HUJDB%SN!$X6&NZF#aCM)`
++Cd9!ViHjJ3,3EZMQ3BrJ)930"S),3CXcYX#$APD[&lb1KMEacH4+'B4B!3`hH*L
+a"JQUN!!G$$#rRAUb+(d1!b14d!Cdi'T)&Y@%cBUf-`P!Q83aVmQ!b5#8Kml'BB$
+5YC9L)(@I+[T!0SQKcJ+U1bTG!Hp#Npc-Y&JdT4m$%`jRbUdU@8IL3k!XMq-Nb-j
+,d9)*3$mZ4#`B2(E+4!rd8"!`j"h30YN,"p"X$'LamX@A@*NJ1XMS%*K`+G13!2c
+q$)%q3$dUNC99q%d8e!,JC#+3!"fXVJ%Z"Qi'VKBK112fSNZ0!C!!198#!!3-!l+
+%,RpNJ4!Q&"PXC*BqPNX@U5RMY!cYE6PqR90N2")XCQ&N6AqX6Nj%")I1MU!Fb$V
+La6N(a'JL3&N(B$6#1a6N&q)-aD8VV[A1h`eT%!&48%5XU+#GD%+Kr3B&pSSJc0r
+2db'0hL-cJ,a*[$@m&M14#c2%hB%J!`"VT4!$GFSr``(QYe%jYN@iNkT`'4ZZ(PF
+-Bm#,XKqMG#"TJ1(&"[jR')GP"iDqm#$9QRAr+hka(&'$-PLX4A0A[IQI+[j+Q3(
+UGqBaR%5VBB*hkC!!Qp+PB+9Pe+XS(AdB4r[S`V#!$!9NBiQb'X(41j&DrmJ+Mql
+5$'N!Z"!+SF9L12a-cV[F%--4Kldq1[m$8,%&Ked1Gm@%SKUqi8k*5%L`i69qGba
+!!abi&C`Nj@L`-DPA9mV'D0kMXX4"6JMp`32mcPaC*$RT2hd*@SXi(mQCTF$C*!H
+*(KD)J335+jq$9dP1bml6+9eN*C)$9+1&Vi(KNJb"kB@'I1&SlH`4)V&"VJ`-#Ad
+kMmG4M%2&Mp3b3$kP4f0c-@"QViHAhNJ'6jek,bZ3!#A-`#"PJ%$M00aC)Si$c8E
+BP5"Qc@C!B`S+8**"B!S')m$S&86#"$3,rH-q(!)a*p"9jE$1H*9X##iR),&rX5C
+-e,l%Ue3F+L4P4dGVBr!j8r(8k9Q*8*R9*(-(p%$lS8R3r+K#1lSRZ(MK&G!X%)P
+8LHK`$d3@LVG%fLQ%5BPAA#48,5$*G-Ul!a9C)-VMP8S'"FDSA$Yd6Pi,-H)+DP'
+K+9#@9(15XDP3$+VG%e83S'AG%!L3!'1$kJB`,*9j'JbE&Vm'2L5F30Y(AJ`+8Uf
+C#`b"S23I3*+),)CC)'X"i%R5[1(Td)JDqb8dK)KCf3(GA'4r`)N)(QUm#1)EV)c
+Nr4`*bCZ!N!"!-R"lkVT-c&Gq(E`C!iFj*Sdp8$Ek4-L633i@KL9Y@&#S+r$)2$H
+K''Mp5!hU*#%EX"J&8!0L5+S-346PBh9(9+QIbU'#@8*R%3"%##KkDP385F!`8m1
+Qe)Y@&N#4,`aPP@9!"l)QikPZ!(+T4qX#ePl%PqNhY*!!0!!l%C!!#,F'S+-0JMS
+35XU!l6PhR3+U-)%ZVK`CMN*0i%S"K[eej$'-iHm2Bk!ae)@q"H8%jKP"q&ANE`,
+X$'r`)8'""RI&319"bIQUSAbX'"-($c)P@H,A@"+k`bL!d)PL)*45JHaRde")$&K
+G!03NV3iD!%KPL8P[34d@JVKI@5GF*K`6h#q8&)"0E)LTlJIZ#`(!XVIj8Zqa8"B
+TK*0V)a#b4&U"L&8,@8$@A$QCBGJbF-cCk`c4%J'AXG$SFF"Tmj*#eL[&)@%eLK9
+('J$%r8r(E)#1Ur@9+[4+XC*+JG-K1KmcBmV$P@C`S$`q5F)-4[iT4QU10!!)HCb
+TCF)Ni6d9dL62F&59V%UFK-6@&(LdZ,&4('NFd#&[e`Z'5JC2re5*)"@ra0)#bC!
+!QN(fA8TJ@(++"%"[lm+d#8F$U0%T3F$$eKp,!EF,"`ZSXUR"-)Lj`(I%i`qMM!h
+Y5@PJ&Kd!Ia!5p)LpKp!hMV4!H'&!HBE%130k68iXNDq9R"B2PCX-L819%k+i25i
+(T@YP3q4&Fc,!(-I+fd-L&L5REU$1KJAU,0B@(!5UT90r3)qUAX@P3q-1#Fi'pLX
+Z,'86$5SN@3`Z%Z,AY5--#q@*U5U193EmIbY%&R(+ML9DMJbHU3G%CCaaU6U9!a%
+"89I9!6rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrlpHr[a8m'C,mNhi&[e"rrL(Srrqr@5r5br!(rpp(2
+rrrrrrrrhiUrpqIpL#rrrrr#EEkNPqT(rrm432a$@rjbkrrrm3DrrqCh[r[`Drrr
+rrlm"2rrX9qrrrrrr55aIKF1HMrS0Xrrrrre)Vd'b[L)RrrpqArrrrrrm-[Rrrr1
+eLG,[rrrrqF'0L9Ab$hq3!)r)'rrra!6pFErrrrq(*3GGrqa-Ha"Vl&'2X4Crrrr
+rlmYr[bDqa1IX6dIrrrrrK`crhiBIrrrT,qIrrrrrrrrrq((Irrrrp5S2rrrrrra
+%riK-Irrrrrr%A6rrrrrT+mj3cJf)+[a!Eq)M1)S[rk!XN!!+2rrrrrrrrrrrrJA
+@R6RrrrrrVVEA&rrrr1,cPDrrra)Xrrrrrrrrrrrra%$m3,Irrrq)F24+[rrrrrR
++piF,q(()GEI$VriG@*8-rrX6,rrrrrrpL'2rrf)qX5$BSQ*Lrq1J[a&dIrrpLVA
+rrrrf)1rr[bbrrpB'(rrrrT0,rrrrdP[rrrrdNpk6)K)'m1I3G@Ar$Jr`b"$Nh$M
+rr$M)rrrrp5RIrrrrrrre)FU5V8TG5#2rrq)S$rL*IiKRr%*IrrrrqNXU512rrq)
+HRrrrL(h%&Mrq)-2rrrm3YrrrrrRCfF-(rrrp"DRrp"12rrrrrrrmkArrrrr1Ahr
+rrqZ&2rrrrrrrrrrrrm3Pr)!FJUImJMN)(rN$2rrrrrrrrrrrrrr`aQqGXRrrrrr
+rrrr%"RrrrrrA9Prrrr%1eFp2rrL$Ar%)IrrqX#Ir$0Rrr``crrrR,$rm1,r$VCr
+q(86rm1&BFA"eP"a6m1B[rrKcIrrqT$rp5[[rBNd%SV&*"bIpLM1a8Arqa"(rrf)
+fIBN2rrrrrrlm"85errrrIU*!K[r5B-p*-Mr542rradFrrrk5&T,krrm103i*raf
+#rrrrrrrrrrU8Vrrrrrrrrrrrrrr%2jrrrrrrrrrrBQYrrrrrrm3FIp5IArrrrrr
+rra!e!@Arrrmj'Irr`+Errrrd%#rrrrrrrmk!rml42rrrjdSR46rqFP+j)rrK)Yr
+ee!qCd$rrpF-2VUfrrrrrkkb[rrrrrrqZ@Arml@@GG$iI6rrcLerrrq''(rN'D3R
+C#Fq3!($rrrrrrj!!V[rrrj`8rj`"rrrrrrrjf0Im3#IrrrrA*[A'[rrrrrrrrq$
+@9rL'Erra!YiJ*rrrd6*rL(@%N!!rrm3@rrrrqL"2rrKXrrrrrrrr8U(a&rrrrrK
+[UJd6`j[rqFErrR+IrrrR,Ajb$2[*Arr`iVriFB!j0!NEq(,,`iiriF!!j)rrKbf
+$Jhrrr`dVrrrKhhrX4rrqT*hrrq(A`12Jk*riJ"%@ba!(rrrrrrrm2#Irl%rRrpL
+[[rrrrrrrrrIKcrhj)rrrrrrqNRk5CriG0*)rr5@6rrrrrrrrr$J`132rr$J2rrr
+rrrrrrrrqr3rrrrrrrrrrrrr8Q6r%*iKJ)[JJqrrN)RmJJb%5q3QArrrrrrq$,Ad
+&-r39P39ArrrrrrrrrrrrmjIjbX6KGrcVVrrrreclVR(A0Errrrrrkk$eaJqZH[r
+rrrrrrrrrrrrrrrb&Irrrrrj"+N,YrrmKIrN,Erb$c`BCrrrrrrrrrrrrrrrrrrr
+rrrrrq)$SJ$riLr4&"L"2kicVJRrVQ6ki@rrrrrr4ARcV0rL,Yk)`Irrrrrrrrrr
+iJ-%-JJ5m3V%@(rrrrL)$rrjarr1&LFMAqL32rd5arrm-Yrrrrrlb`rl`VALGH3(
+rrhK8rrrrrrrkjKrrrL#lrrrrrq'(rlk[rrrrpj1AJ,iG*"c,rKe&rrr`k-rrk#R
+q(!%1+[rrq(5,`jErrq(aRrrrr$&rKhrrrrKPhrrr$Y[rm-jr`qkhPjrr$8rq(5r
+l`+rr['2rrrr+elrrrrrp5"rrrrrKc$r$KL(A816(hLD[*+mS4$Vrrf+@5S9lK+"
+a@r`qPrrrrpL2Irrrrrrrrrrrrrq%R3kqrIM,k6%*-KrT0Lp*$2rr5Chrr`3fIrr
+rqNKT*MArrq(+JFT"dJ(4(Keq$U$iFMS0Hrrr`iGrrrrrr$NRrre*iT(2rkP$rrr
+rrrrrrrrrrrrrrrre)*L+Arrrm404&prrrrL&2rriJBI%&Irrrrrrrrrrj!Br)AA
+rrrrjfKqJKXG0rrk#!2rk#e[(8L*$IrrS*CS-Crrrrrrrrr1P6rrrrrrrrrrrrki
+0IA,HZM(rA-Irrrrrrrrrrrrjb3rrRAercJ4mK)hrrrrb&hrrN!!8pNVEj!Tr)86
+rrrrrrrrrrrrrm'$r@"[rrcMVrrcNMIrrrcSDrjf-4%l%*2rm3TIra&Grrrrrrrr
+rrrri'$Irrrrrq)"2rrrr%!hJc(rr%8iLB#Ad)EqFM(rrrrSe(rrrpi$r[,Ar[*5
+m8IH6(hP2H([rlb6rr%d[rrrqZ[RrrrrrrrrhJ$m-)rrrrrrriB*mjCIrR+ErR+b
+cNIrrrr[%Um&r[,rkN!!Rr35hr(Darrrrrd&,S)4rq(4UJhArrrrrrrrrrrrrKfb
+'+Irrm14[rrqFYRrm0ArrrrrrpL%[rrq9%rrrrrrrrrrj8IrbXerrrrrqT5DNhrU
+8'"eDrcq0rr`jIrrc@errrrm3+a&!riL4[rj#Prrrrrrpq,[rrmrM(rrrrrrrrrk
+6G[rrrr5A"*@%N!"NPfrrrrrrrrm1R3kZrrrrrrrrrrrr8SMr8K6rrrrrrrrrrrr
+rrrrrrrrrriLRq)JcrrrL*MrL!Irrrrrrra#IkN(rrrrrrr)*rrrrrrrrrrrrrcS
+fJPMrrrrk#!D#NIS,errS-Lrk#9Irrrrrrrrrrm2%[rrR(Rrrrrrrrrrr`-&VS,A
+86rrrRBPrrrrrrrrrebDqGBIrrrrrrrrrcLPrrrrmiVrj`q$(d)PrrrN!Rrrj#b[
+rrrrrrrj"5rrrrq3-[rmJe2rrrrrrrrqF&Ir1@9rrrrrrrrrcV(rrL"%3iIrrrrp
+GBUi1VVpreb6rrrrrrkNcr%*5+0Ik)Urk*rrrriJ6rrrrrd3PiJ(riJVIrriK)Ir
+rrSVpk)6rrKbrrrrH24rhJU[!ZmBVbkIrrrrrrrrrrrkj-Irrrrrrrrrrrrrrrrp
+iLrrr`Q4U#hp"JcrrrrrrrqJQfJhfJ[j34Rk#Srk#RIrd%(r39G"J2rr#6Ep"1rr
+rrrrrm-BIrrrrrr$+Ir$@hrrrrrr`bY$2Ir``Iml4Iq9XAf*&rrrrrf)&%(2rrrr
+cUCqG9IrH5,rrrq96[P6hrmV5rrR3DGC2rrrrR3crre*4kP6"dr`kJ2rrrrrrP8q
+m'r+ZI%$$a"Ara&driJ#rrq)VB3Y[rrrrrj!!2Irf*pf)Urrrrrrr$[ha!9iJ2rr
+rrrd#![clqa5IrBUIrX9ErrrrrrT,VrrT*4k6C%N858IT+,rrdPQp*SL6)hrrq(!
+`FCcJPrrrq()[rrrrre+4[R!crrrrrrrrrrrrrL,ArL*2rrrrrrrrrqFQrL%hrj!
+!MH35(rrrrrrrml+cVKrqIb(r36$rrrrrrrd%FIp"@rV&PIi-B2qJKVk$'2S,,rr
+rcV&rrrrrcV2rrqGLCrEIqGRcXG1RhrrrrRk+GCmkRcUe1d"rrIQ,rrrrrrrrrrj
+bGqFV[rjdrrrR)Rrrrb%Cr)2Arq3@ArmJeMqrImJ@Irj!`5&drrrrrrrrrrrrr1A
+[rr`k$cM&106rrrrrrrrrR4arrrr%)(rrrpG(rqZ8[rrrrrjflIrL,[rrk*prk)#
+Ik)0Irrk*&rrrriLaIrrrL+B3Srrrr%#VrrrrrrrrrI54rrrrrrrrrlb2rpj@Arr
+r[$MreeDVKMrrrrpF[rrrrrq)Y[rH85mD[rrcJ6rcKRrrrrrr12Il`j[+arrrr3D
+brrr3AGrrrr3493@0p"#rrrrk$@rd'k2rrrrrr$irrd&"rk#k(rrrrrrrrrriBVr
+rKJAiB!riDCrrq(-IrrrrmV3IrrP3lrX60BNUa22rl&GV&Irrrrrrrrj8'rr[&[r
+rrhJ%rrq9NrrrP6[rmUkhrrr1LFkUIrU6'p5GhrrrkT4,%12m'Q8UI#+,iJ`#&N)
+9BJ!H)Db)q%1Vr%&N4"Irrrrrrrrrrrrrrrl%"*9mrrp'"rr``liGLrrrrrrrrX4
+VmUmX90rf+`@&9rrrf*4rrrrIS2rrk6@hT0drpqYL5(T,&rrrriG+rrq(ARrrrrr
+rrrrkPG2rrrkN!rkN8rrrrrrr8NF46Irr%(IrrrrrdQKrrL&Arrra#brrrr%42rq
+3!$lrrrrrrrL$"rcVY1cRrrrp"B[J@0rrrL`2S+DS0&rrrjacrrrrrrrrml0IrcT
+XrrrrqGGDGX2rkk-rrjf[I1hhrrkkprrr3@2rrrrmkQrrrq($IrrN*[rq3$Aq*'h
+rrrq3!(hmJ@2N!"rr)((rrrrrrrrrrrrrr`0-IrrrrrRkhL*[rrrrrrrrrrd6(48
+2SQAiGPrmrC2m4AIrL![`pe#'IrriKk2rrqF((rrrrrrrrKmIq'-r$Icr[!Rr[,,
+q%M2rpi1qU82rrrH06rrkiYrrrrVTIkj,rkjRrrhJ"[*CrrrrH&Rrrr5ANj!!2rr
+r336k#bI3B(rrrS)P33bJ[UJKrrp"2rrrS-brrqr0E`q6rrrrrrrrKT(rq("BEMr
+rrrK`Irrrm$TrKaRrrrr$,2rr`kIrKU2Kf[r$T[rjeeIrbU6rrpL#[rrqGJrrmV+
+IrbUK8MIrq90[rrrrKd[rKbArrrrmV%j@CH"h[rm3@"$rm4'[%'&%RSVjrL"U+*L
+(h+J2rrrrrrrrL%errrrrrrrrrrrrr1#2rrrrrrrh")Irrrrrrrrrf+eX3Url%a[
+rr[bV$MErqNYC*&3kqrrdN!![rrT+Cp*GErrrrrrrrrrrrrrrrrq)Gd4A[rrq)0[
+rrrrrm3QIL$,rKk2rrrrrrrN!MrrrrrS)hdCBrrrr(BP35[rrrrrrrrrrrr1PErr
+aC-I1UrrrrjfBrrVU(rrrrrqG"rrrrrrrrrr14,rri&UImJaj!`b!iN(9rrrqIc(
+b#DrrrrrrrrrrN!!Arj!!JrrrrmiX[qF+rrrrrr19Yrrrr%-hrrrpFl9barecKrr
+rrrSNdL(#)ErrrrrriL3rrrrrr%9[rq)ZLFCIrrrd9"riFepiQrhMkrrrla9hLb[
+#[rrreaYVNlrVTUZ(eeprrrlb4[rrqm$Irmi"rrrrrH22rrrk#Nrrrrd'aIrqb8A
+rS+"rrrrp"N2rrrrr`je8'brq(12rS)Q(50rrrrmiEIKaL'arrrrrrrrrrrrrq'"
+2KX[`barrrrrrr`a9rrrrrrrf+bIrf*mrrX9Xrrrrrrrrm662cTCqG-(rrr+UVrP
+3[rrrrj@Qrrrrrrrrrrrrm13rrae"rj9-#F[rrrqL0RrrL*%LMN5(rqLS!3bSPr4
+9Vj9UqLCrrrrrrrrrb$FK*rrrrbYjmVAIrrrr$N2rrrrq)&!mZrrrrp5FIrkNB2r
+rp`&ArrZ%"mUCIrrrrrrrr4![rrrrrpq,rrrrrrdP4rT,dIk5Erk5BIrrrr$T6e)
+iU9PHT0Arp5DRrrrrr%4[rrrrrrrrm3NIq)!(r%2S4G3N4rrra$(rrp*LIT-5rrr
+rrrrrqG'(rrrrrrrrrmkGrrREAjd9IrrrcX'Irrrrrrrrrr1QXk(rrr14hrrrrLa
+crrrrmK$rrrrp5Frrrrrrrmj42R%crrrrrrrrra&fq)X83XIrrrrrr$3Iq'Q)DI$
+Rr$LArrrrd'(rrrrrq)Ghrrrrrr`kprrrrpi'IH,&i#IrhL"rrrrpiQIrrrkjArr
+rrpFTrrrrrrrrL5L(!rmiNrrrrrrrrrp"S2rrq(2Ak#UU$1I3ATrrrrm1IIr3CIr
+$RRrrrrrrhKp$6A`h2rrrpi`rrKd$rrrqT'hrrrrrrr3'@a@hrrl&)eL&IrpLB[r
+rrrrrrrrrrrq9HRrq9HmVCG8MrrrrrrrrrrrKb$mVGC9H9'2rk+qSP0%N2%cG&-[
+41Yk)Y42i)XVrrrrrrrrrrrrrrrrrN!"4mJG!bYmK6b&VmK+Irrrqi"(rrrrrrKp
+hrrrrrrrrrh"9Irrrrrr+VD9+rrrrrrrSKIrrd9rF%hp`G$rrrqiAlrrrrdPe*-I
+p*,2rrrrrrrkN-2rrrrriJ,5C,rrrrrriK0H(Jhrk62rrrrrjfYrVKcrrrr1U2rr
+R99rrrrk1IrL!Mrrrrrrrrrrrrrq)5[rkj+rrrrRE[mkPI$QASM#L,#+(iLmrrrr
+rr%5IriKlL)rrrrrrrrrrrHAllad2rrhJGH-Errrrrrr[!"A([rrrrqm+[rlK@@m
+GArH6AL!Vrq'MR!lj`6R,&rrrhPIrrS,0rrrd&`S,Yrd%'rrS+,rrrpBGArrKdBS
+)[3EYrrrrpjI2qmRrH6,rrrriFN*e[H,ArrhJarrKbIr$ZMrrjdUrmicIpL'(LBj
+rrre+[IrrpL@hrrrmU"rrrrbUQT!!crrrXP2+eS-%Irrrrk)pk+`%ad6FqL9rrrm
+U+rPC'rrrrrrrrrrrrN+Erqa,Irrrrrrrrrrrrrrrq)HIrrpLG$rrrrrrrrrrrrl
+J$j9CI+TRrrrrrrrrr49Mr4@hd6crrrrrrrra"r+errF!D9ZeLZMrrrrrC)arrrr
+rL(2rrrrrp"!RrrT,$rqG@hrrrrr15,rrrrrrj")rrrmJ"*!!32rrR%Mrrrrrrrr
+1Lm1Y)Ncrrrrrrrq)X[rrrrrrrrH8(r[)MrrrrrqZVhrrrrrm-$rr[#rrrrrrrrr
+k#`rrrrqJPhrrrH8"piPhN6rrrlbkrm-&rrrrrrrrriChrqa#2rrpNFrrbUPrrrr
+rr+S(hiicU4rrrrrr9#crrmU-r1b(rrf)`rrrmV,bY!)K9rrrq)BrSLYk+Qrrrrr
+rrrrrq38rrrrrrrrh!fIrrpFAIrrrrm3AqT!!"re+@IrU49rh!IlJp(rrrrbVerr
+P@Yrrrrk)S4&rrrrrqLXRrrrlK!rrrrrrrrrpqGIr54Rrm1X[rrrrrrrrk6(Irrr
+cY,rrrVJ"rcXRrcSArcNbq3&T!!rrqT*Mrrrrrrrrrrrrrrrrrm3C(q)6Irrrrrr
+rrki9IA-Errrra$crrrqmG[rrrrrrrrrrS,crrrrrX3($GIrriE0rrH&[rrrrr$E
+rjdXI+a(rrrBPPISlrrrrrrrrrrr$i2rr+Q[rrrrrrr+TD*k84[rrk)rp&"RSR2b
+T6rrrrrrrrrrrrrrqZV(r$4Irrra%MI%1[rrrrrrrrrqi+Irrr+bb9+[r+PMj@45
+S%PBa+MRrrrPArrrrrrrrrrrik,Irrk+LIk*+rrm31rrrrrrqNhrrrrrrrk$*Irr
+reaPqZ#UiirrrkN[rrrrrU3arrrrriLFVVrrrrriGBIrriKd2rrrrrrrrecZrrq'
+$Ik!!hPlm1VDJerrr`jmS-Vp"[Irm-i`hrpiKhKXq'ErrrrrrQE'rrrrrrr`iYrj
+8fIk*"4*[k*pHLMrq,5ISKha%Pk+brrk+IrrrrrrmJU[rrrrriBMrrrriLbS'Jrr
+rrU4Cp5N5N!!45,(rrrrbV(rj90Irrrr+bArrqLGIrrrrr450rrrrrrrqi"RZ!Pr
+rmU,rmVGrX4hrrrrrJ32rp*2[rje$q3V,)*RrrrR"cra&hrrm4IIrr8K[eeVrrrr
+rrrrrd%[rrS)93EprrH*$rrrrrrrrrqGDhrrrrKb3!2rd4RjQKrrrrrrr)&Errrr
+rR*Arrrp5$5Nre*prrrrrrrrr+KY`B1"prrk+JIrrrrF$Errrrrrrr+T$rrrrrrr
+rrX5ErrU6KrrrqU*RrqF6(rrrrrrrm1*rrSUlr[$rrqa2Irrr[,[rrrrrrrr1J(r
+X3&rrrrP3q9JC@RP9FU,IrcUak*MHL0Irrrrrrrh#errre+-HT8Arrrp5"[rh#*r
+mV"h""rj8`Hi1Irrp%aIrrrSMRrrrrrrrm3qJQb[rrrrrrrr58arrA&LGFrrrrqU
+-rrrrS)Yrd&mrrm38IrrrJCN5YXrrrjd@rrrrrrrrp`ZMh!BbVMrj@kIrrrr4((r
+4,Errd684$$rp%qIrrlJ#Irqi#Ir1*ArrrrrrrrqT9Vrrrrr[,&rrrhKYrrJ5q9%
+[rrrj8UIrrrrrZ&,rF&rrrrrrrrrrrrrrr5CBNhArrrrrrr[+ErqZ#larrBJ6rrr
+riEhrr2ePrqL-MrrrL#MrP3"rrrrrbTIrrrrrrH"U9C*@*Irrrrrrrrrrrrrf)!I
+rr$R!bGrr8Q2rqLZrq)VArrrrrmK-IrrrrrbX&4AZ3![rrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrD+Vrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrpd@FRMfe8H*I$VEZT@ULPDN3b-j!!JGb3!-N5TQeC)P#*GD9)J1%
+5cbQ$`XL3!+9-fVrP[ER"2T5EZT+$bQ2iY8IcqVqMQC[r4m@*M2i1dmHfUMa,iGE
+Ge+e88V8M13JGb6k8R6c1CV8R5(bP)NT5Nk5QS)2*+8ep+e*68%K3S8cQIh(F61i
+Y,5H2E94iPm1YZkPDU+9U4R)31pa-lLq(DF,Y6bZ!8%KNCar9RE1iYR(pAp@F)5*
+8cDXN5K%ZY+N3(#*Cj6"i@4)8UCYA-lLCh%[!(T3P2DR9GU2Q#6!m,)GEN`XPpT%
+8cY1HT*a"lDF5QP+5F5`1fT*RF0R@iY61c%a5Y9-m2Nb8p0Ddjf8T5N)NcZ*RF'b
+820Ub,3qQNb(e-`1RT4rC*He(YbJ3$k8Q5B1Te0*dT5&-lKD1fUJmGEP#3b5mqC,
+TJN[58i"Xl*R9CkP+4X5C0UF+Ch%cZ*H!25K)#P*dj%im2NcUXJU(bK&G*ZPDMe&
+*1)+MbL!QG`PREl5Y9""LGEP+6Eqj3NqP*dj,iGQ+Fp*dV8L'k-*qK61iQGa,`!p
+X(bK&"dJaYB4%&1Q+CY1*G4jiPJGY58pUGGaj120Ub6"f88%1f%cZ&%"5)R$e!mL
+QGE8$ccG*1)HE)SJ+4,!p*dL2lLE"dBYlE#C40rC%ip++,8pIDC456TRF#SmSJ#+
+)!p+%Tl8kVY4ma#QGa-lKDNk3!2P+4*5NfR%#cY0DN[Y-V*DdUFlDU*3LJl-lL6T
+8R-`HNcX+88$fl!lDTd+NR8a$YU3,T8cDYb28*d*1T+F*61c%cZ*RkcR#Z*RFAbQ
+YE@NfSN`XLI6dmR5*I$Xa6dbLPDaX5C0UF)Kf`X+9V+%8#Sk5Ch%a6++BI*bB@3m
+fTRCLR(U$epNk4(G5YC3mGEP#(E!PmJ$cG+8T5iq6"pi5Ch&JGY5+)#N3BMe-mfS
+1bN"#)5AJ+3@5!(ZkN412@&K5YD6DJKjY45Y@amQ5Ch%mHfUMa,eI)!mh5P+4&1!
+(fSp688V@4iLQG6U8T'a%ipB@&+eT0U#@"eY4+4X5Ch!pY1)R(V#`T@Y*Y33mh6d
+bJNa583"e1P)4*H!T%Y,KK52&BmfV*F%P!Z888TJNcZ&-l-8T3JU2+)!M#NH+ajY
+@5`1YU#(E!NSHQ+H62@"kNR%QG`T`!qe(UDLPDbNE%TT5P+%Y,L*daeJH(R5AU*X
+*(LA"&-kR8L$fdiPp(bKj6(bFQ&NQGaDA#dHE5"jXP`3HfR%Y,KJH,6cDXP`3I+%
+2+*3KjZRTP"*LNSJ$UG+3!)N[!8L61iY,LA(RUHNH*F%P!Z888TJLQGQ+8S39(P%
+!5A(RUHNH*B(@e"$YJ5Ch#Le(Taj3H1YMj-LR!$l8HTU+9V+4X5QP+8S5dZ'%bLB
+1j,JLQG6U4"lDF5qMj3mTMj16#b61iY,L0i#Q5"jY@5i)2E6L@PaI"lDZ128LA""
+mS3mSP#(QkHQ8%Q+5L!1TdT!!L61iQG`RbDL!1dbZ!)SJ+3@3!(fY)LG5P$bYZNR
+%(YTa+FHTJmHVT*a"mS3pB%83&),*-lJ98V@N43+MT%ipB@&+eT0U#5BpYA6$eG+
+8MBLL!T!!@3IDdL@Y)I*bB@5Ch%S&bLLP-5K,k2P+5F3kf44!8L5JqBT%[N!HET5
+P)NQ2E9d`pA5K%QGa,`&)JqQ83"feP#@&+P*N83!p344!8V@N3p+%(NET8NiPJGY
+58p)l6bG)LJk5Ch&pT%(hf6T%8(5+CeYh8V935`25G+8*ID5J98U6C&%"5)S&4dP
+mJ$cG+8T%QG`%"FSST6%T#)42Nj3l'a&%"5YD4"pV5*65P+eP##U!1N&3pY343G*
+65P)NcZ&%"5*,@&)m9McDZ@N20dp-S*-8P%!G6T3JpY1)SJ+4*E,Mce2525dPJGE
+8%(U#61i83&)NS2Q+4&"kBT4X3HfR%Gaj6T%Ge+eP"m)NqNfTdSf)+U4)!HlU4"m
+R+(561i26&2*dTLNfST*a"lC$Y1S2(@b#U!2+F!56T+*3LL!T%TT5PDNYD92*Me1
+N5Ch#L!T%X$VDJNQH[YU2Y3XKjXLL!T%PV#NH+ajYA,5"!A+++8`39(P%!5`1YU*
+5Ch&KDRCJLL!T%PXZ228p)p,5"!A+++8a'a"lDF4h(P1N4h8V@8(`TRFAS)T8L%P
+Ym1YZkPDU#@&p2+#4)p*dT5@`T(TRF61iPi!p+%25K&%"5*B(V@88%Ge+eP$aeXK
+f`*2(YUSm5q(@hG5Y9&+e)+S!mT`"$dT-lK61c&128(Vl*dL#SmSJ#Ab!20dT5N3
+)#j445Q*3K`i6p#XX`TRF*p26bG)LR!$feG*1)SJ+4$cDLPDYMj-LQG6U4$YJ44!
+8L40J58#j445Q*RF@&UGQ#"%6B%8(56iQ`*+(Qe1N3)#j445Q#($K2d+Ch%cphee
+a-lLAJ+4*ipY9(L%8cUG5)TR@hG5YC3mGE)HP#0R9"+HPDf&*68%(U#5G)I++#61
+i6UDN43G)SJ+4,!l*bCd9(QeC&%"DdU4,@N2P$VFT"ZCh%cZ,5d[6152%Z#5m"5*
+%f"&-kR8Sf)28e&-2Nj-,*DA%mmVJ)ZqRP%A+8P")R6(@"iHG*HTm6B52%Z*RF8d
+T56L(Qb+)#N5@X+4iV(QeFY)%"FSST6""lDF4K-SQ$Z461Te)NcZ+D8T*a$cC&%"
+5*,CFHHTk4k@N#!Z888TJLFG)fG8%8cVZT@T&%"5*+$jLN5Ch%T58%1f")!HfUMd
+)K*D`T(LXHE9bdN!2P#$lkGTP"$KaXcYqIL3!pY9(Sf)2E6L61iPXZ228p)p,53!
+q8)2[TfQ8%Cbbc'cmr2a)!HfUMdE%83"fQ9`"&%"5*B(E@BT@T*RF(T3Jq6Q$XSS
+)2*+8epP+5JKf`)SJ+4*-HS88V@%3Nmk+U6ZT@XE%83&),)R(CRF(AG5YC-I6NX$
+YU44!8L6"f88%X,@P"P05E85B@5QP+5F5!(YUSp'a"9!(P1!*-lK3G8$j-JqqRDC
+35bc'cmr2a&"dJ1mE2cmr3L%Pi!p+%Q"i2T5K&%"5*-lK61YZkPDbKikf5R1bNSH
+[XR5)HE*-(C435RY4kQS2+Bq6)TMj5P+3!+Ch%cZ,5d[6Sb2%Z#""fBT%P$da6bC
+k`28NiN!2E94iLQGYE@P+8jeY1P#+$T*JlDdL61i83!pXKeZN44DMdimS2(@amQ5
+!(YUSp#*,`&)MG0-AfPDN1f"*5Q8i!NcZ*3p-8mQHX$e*1*!!!pY9(L(Qe-lDdjf
+e(U+5F3mf44!8L5eK52&BmfVPT!J,P&&+BQG`HP#8T43HQ"kLNR%[S@44!8L$kC4
+!(E@8)S1N[Y)JqqRDC34dAjqK61iQGaD@PkXXb2%Z#5m"5*+8e26bCkNR%Rh`LQG
+EGe+eP$aeXLJIIC1N5`25G+8)TRAG5YCRF$j16)GX#+)#N461Te)PU2E9dL(E!N6
+B-j'a"lDF5B1bLJKf`)SJ"kJKf`*%f$SaY-lLqdbJLL!T"C!!IDdL0R9"&-l-8mR
+588L*e05)S1N83&)NQ28`H3lB%Q"lC+Fk+U9V#QGa-re[F61iPi#N5`1bFQG&4jY
+@5II#5iqqbG)PJHNk8S5!(ZkN5qdU6C+HeT4FQG(Te*1)2E6TRF5Jph8NiJq8)SJ
++4*DTRE@P,B0c1iLE"qLhYX*P%if*%f$14Eff%bLFE%LE"dBYlE#C410L-*P%hk,
+Hh%f%E61iB6+*Xj&[ELE#0L-*P%b*#C5mbMHC3TRF61i6dj12+$aeXI*NX$dR5P#
++GV5(U+5F5qKC&%"5*65P+e*B(E8P0+8V8LG5X$cG*1QG`T`!qe(UDLPDbK&-Hf5
+qdL5CdHR8NiKk`)h58k8T+$l8,K61iQIfBfiQGaD,2-TLR1fUJN[5BbLiZ*RF61i
+V925E)2*2(YUSm445BbJPJHNk8E%YD3p1)H8%20U$T"j,l6@&K5YBf)2E6L61i8c
+VEZT@UJKj4'a"kQTRE9120Ub+$T&%"5)28e"jh8L9UR8(MVC$bLP-3EQG`SJ+4$b
+LP-%8i#NTJqNR%20N[Ke1T%'0*ZQ)HX#2lRMfe8H*I$UG5If3!25NcZ"kQS21iHS
+T*dE%1fT&%"5)H88TJLR!8P-(dNiKjXLe60UG-S(U$aeXJaT0ddcZ$eJ4rDe60UG
+-S(U$aeYrC$dS3HTU$cZ(U+5G#)5Ch%cZ*Nf44!8L5Bp3ST@T&-I+8Sf)3kh*KC&
+%"5*+(QeFR5Llk&U+4%m)[NbQ4*RF8p-fTU+BHS2(@b6!qe"mS3mfS1N&4k6NbAf
+N461YZkPDU+5F3mfS1N83&)pDNQG`TRE@eT5P1GE6McDXLFGTVl*dSZqKDLN5q3"
+jZP+8L8p-fTU+BHS2(@b61iQ"pU$j5%3N51fT+6'(c&2*dSf)3H5`TT16*++$Y13
+p+%8cVEZT@ULNR%20U$T*RF$fb8Qdk,P+6DLNfTdL6!qe"p+e)+S!mT`"*-kG"mS
+562!qN3H58Q"mR*NQG`TRV96Nk8+Ch%cZ,4Cd&M8jfe8%Pk6'8A&a-lLCh$2Y6bL
+N3l6+#+)#N461YZkPDU+5F5H2E94iLLNaP"*43GYD5F3mf44!8L61i[Y0B@&+e)S
+1N!"j,!p*dS8cZ*RF@LceURT0NRh`NZ2[XR5Z,LCh%cZ%ZN26L(Qb$b6alDU2%8c
+VEZT@XSH1YN8$ll*dL(Qb+)#N5II)N5`1fX`283L%QGa,`&)LQGQ+H6T++4&!qqb
+G)N`2#bAfN58Tj-mS)HE8(55P*h8V8I*NX$dR5P)8cZ*H!T%8$ll*dL#Sp*bC'cU
+JPpT%P"lZT*a+CZ6T5NS44!8L5d)(ZkN5II#5iqqbG+@c1i1dkJmGE)HP#+F!GP+
+6F+Ch%cZ,4Clj*dKpU5II#5iqqbG+iZ*RF61i[NR5(fT&%"5)S(hf6T%20NQ+8`G
+Y3XJpY1*DdTJklU4&%"5)HE88V9XI*c1iYD8SGTV96T%P&"feT*a$cC,!p*dS8cZ
+*RF@LcK!ph8L6li5A(hf6TA&a-lLCh!32Ge)Jq8*DdT3l6@UR5)SJ+4&-kflU9V+
+(MVC&!qqbG)LQGEP&&V6+DLNR%QG`HE*-8TJlDKC"mS3H5eT5P0*U#(E!Mqke6dQ
+b6li5A(hf6T2lK61iQGaD,2I$VEZT@UJPKI6bJN525G+8Z,LCh%cZ(@Pi!p+%1dk
+JmGE)HP#+G0DfY*Y4*KC&ke,NP+DRTcYUST*a$cC(G5YC3mGE)cN)(H%rNcZ*RF5
+m"5*65P+e)+MdR*N[Y)Jq8"p*1)S1NP+HNTRV!,)SJ+4'ama5P#(E!P)HT`"*RF(
+E!LL!T%8#Sk5`1YU#5CkqfSqe#b@"k6T5K,eBAdmS*B(T1P+52%1f"'&)m9McDXN
+cZ,e+(TLRNceJHT*dMa,!kfS*HMcC)Q`)GY8kPDb2%(YTa*FHHTk4iPk8@Sp12+$
+aeXI*b261iX$VDJPk20NB6+*JlN1fUG5YC(S8cZ*RF6+`)rYK52&BmfVLhYbimp6
+dMcqb(T3LR!8P-(dNiKjXLL!T%L4eY35BT0ddE%QG`SJ+4,kH86!qRP#(Qb+)#N4
+K52&BmfV*BAdmS*B(T1P+%&4k6NbAfN5eT8mQ28k5F5Ch&p#b+)#NHY5+CfeYD8T
+6R@dkNfTdT3KjXLL!T%PajkRT(L@&p2+#@"k6T5K$eJ5Ch%T6+F!5p0R@iYZQNj1
+4iLQGYE@P+8jeY1T0UG+8*5Bak88%20N83&)NcZ&-kflU9V+(MVC&!qqbG+%3M#N
++KpV5)SJ"kJLR6@YV5E85B@44!8L61iYD92*Me1P-8Qe"$dS5RT@YJGYCLNR%6Me
+V58e%Q&N1YN83&)PJHNk8T'a*RF+)!HS)HP)f)SJ+4'&)m9McDXPKI6bJPJHNk8S
+3mf44!(T3LQ2P+8+Ch%cZ,5dCkHPVc*H*h%cZ"L2"p)NT6@Y)LL!(U#"CfQ)2YD4
+"8GY3HHE9N!$VC"j&-l6KC$YJ5N28i!Kf`QG`SJ+4,#qRP",!p*dT3LJk5qdL5P0
+IC43H88bLNR3TRF61iQ9J4rFZ228p)p&[EB8Ma@20UhpN25K&1!T+B2T*a$cC&%"
+5*%MVDJNa5ETL61i83&)PJGE85K$cC&%"5*,Mce252%X,kH8%X$dR5P##Sp*bC,l
+5*DdUH6(UG*1*I3ZCh#L!T(V8LQGYE@P+8jeY1T0UG+8)HE)SJ+4'&)m9McDXPKI
+6bJPJHNk8S3pB%QGa+8bR!%[6CeZ,ETT16NH)TRE@eT5P1GE6U6DR5P#8Q-HP&"$
+cC&%"5*-lK61YZkPDbKikf432[XR5K%QGa-lLAJ+4*-IDUk9U44!8L@"eY3582+U
+P'a&%"5*-(E@N5BT6"fe#b(P"&!m(dT5Ch#Jk5NaU5R6++4&%!HP#(DG3H1Y`L4)
+lDNG%i4%ikS*BAdmS)TR@hG5YC3mGEMDCh!@GTL0dU5F3II6Y-S)cMmr2bB)S1NY
+DCXKj4#)5C0UGV5(bP)LL!T%Q+8`GY3ZCh!q6NcUQ28(MVC,!lDN83&)JqRTj-mT
+Me"ikf3pB%ET+G+8P"pU&`L6cSUT1kPDaY-lJpB%#cY-3V8dSS)+KlDJLJk411N8
+cUG5)TR@hG5YC3mGEMBPPPqIN`58J$Y0*TdcZ,l5*+8eKB(P-p5E83TRF61iQGar
+(X(10V5$9S+E[Y2rq21A%[5&4$im2NcU[q2B1FE@N'V38hIDIrmH6h%[5&4$im2N
+cU[pKZrrePD,@rl3eXGa@NarmrSpLY(dErrdI4mqdI6kZ"PqrpC@PR[qd2V(Bjp+
+6TrbYV2rkbY(1rl5Yl(Bcikh5rpCF&hrD'6BhI,RDIrpCE'hrLpMXDp*M+2r@@kG
+rm[BeR@V8mGYIrl2Sq4eSqReF$,prjNp(R'dI4[r"0Ec9CrI+dI)*5B[rdq5UM6S
+*'1!bcAD&kmPXkANZ%[*Efej,3ej,I5mPebmPLLmPZ-PHG&dR#G,-@XmTe58F`9a
+5mL)0*AR4G*`R5c)$2+G8P(-&F8[)L54+mk,T1%k@CJfiS&2Q$4LFTmLlKqSeF8[
+)[)dl'd6qabeTfE5[GMR[8adf`FY*l!"YPkeQ@Np"NDL,BqRX'$"m+'+2h9VCM,B
+m[6%DGMD*rBjDdl0TAZachUcQZmlpG@YQXYMbp-4Tf0SRpMPV6XfPHl(2HV1DlcV
+FPTG@YQXYMbp-4Tf0SRpMPV6XfPHl(2HV1DlcMDkYE0CE(PkBM6XE42l(,@RCY+p
+f1Hp@FehRENY,UeXePXHATSih+aNach+eZI'jmpehQ3qHkp-I'klcH`q0cjlVddF
+pbXiMjlV[-d2MGHQK'2e9*4ZTQNYkIATQBb,lEQj42FZMX(-pb[6*4NAf$8,B1Cl
+Nh+*lQI%hYmq*QC3r&+I%h4+5p-Qf$PT"he"`p+-LqXTZ82KN1Lla4mK1qI%c+q6
+iQe$)T@E*(llBcjlVd`3jQM"rVSD%&6hV[c"Z+DV"Z+!@P[HTk*DRYe$85K))lNa
+McPJ)RXDUU(@j+m$NmZ'rB'PkVdeZp0QPC%8SdV*FQ2F6fkT+Hh8ajlG8DKK,5XP
+bBpaF`UT+HURI@FpZU03c02M96M[NDUM4&@49cfkSeFQ2BlNal'LKQMG3%UM%pZU
+@-&E"@L0jlG68B+f#Zj-HdB+d3K))jlG8DRYe04T#UPM"@dV)`9X&E"A(M(Y&hLc
+@b9k,Re*NMG5C)YGkcI6CJh8rf$G8XTqDRY)99&RYa3T2ELJUHfK"80%E%GbBpTF
+`UTBdK9*PGiXfXhk28r4`N!##TlD&C,RD3UTBdK9*PGiXdb@N+UL`e*,EUPL3!%F
+m,RbjE,h-+U@3!0**ASZI945@DZ$4X4Y)99&Kecp(MBMM*c&#N!$$(k2-cF8++dh
+D9NRYe*Q'k8JMRKFq*,bl"A$559k,Ra8M-`heFpT#LT'AH,0Z#0a8M4De&&3MF89
+*m"h%pZ+DX20L1jK469)h&&5jSiGa4ak1eGQ4Z++NC,88!Y)89)blbXfSdK48M3e
++Hh9,'#YJV4'l5XL+8D9NK[k0+b3im`9c`ZI-PiNZmGpCQe(FQ2BfPC&hPMSTY4a
+ial4T#UPM5&8Q9hPC`ERUUdJmpZ+BSBYEYpMLQ+`5jlG8XB+f#Y%EQa((M(Y*lG8
+XD3UNbZmQBfMMdGf"S`K468QL4P@r9&#NpZ+'%pZ+&'N+U@0)95CAH60E51ELVC&
+05Rk1&&051FUlmdV*$HaJVD3UTBdK9*PGj-`'hEl(&-9KiV5#1j-BmRX"%pM993k
+h*ANfRLiheIXc4a)T5jK43$F`STUcfiTU0(%ZmZ%9DIIEV[+&!l6XHiZckcfZcK0
+(&$V,0I@l4a3kbcA&-G,EUPK'kNbE%E5&9,#,8q!jk*fSip(GJk,"ZU@68E"$G8X
+)h8Q6BMD3!+U@%@Tm"cd6Y4ak1l#M)h8Q5,6pHZkK$Q-R08XM+YqU+&*lF8-*lF8
++0)98XD3UNbZmYjC)jZ+YN8e*VU,@N!#U6+lbhBQPC)GC@N+SDLP,eAVUeVIA'9k
+BBTmbA)3K&d1TP5#0T#h&$Hd*(SYc8bNEUC8peGZd)d)ZmXiqY)imBpS4ZTPD8Dl
+bhX[2EU'X&E"@L0fN+SD4ZTPD8DlbhE0L0JVMaMfNpZSD4ZTPD8Dlbh6U124hB&G
+FC*AUdqmdABMj,6fIGCN%5kk(8adJMD3ZMK[D%Md@jUC50pZr8Dlb5RpMi*l2L@D
+C@l65Ghl9)hfpRH[eQUc*)hfl5pG`LP)mBpS4ZTPD8DlbXLfQ[$Q#XMG6+dSehPC
+!'Dmc)hfj)$Z,H!lMNl$kh)hdE5pET)h8bY+0Gj@3!-XepJ4[YiZ!h&80RYe$88'
+'a'dK9$50p[FhVV-MG6+dSehPC+hSip(DXiC'qcTl'r'p2D68E%ElHR"dq)ZiM*c
+8alG[QG6(9fGZhZqTMf&Z4[XkHa[a[6fNeF8qZ-NVeDIIEXk0ef)BT#*6+kbk#PV
+SF8bT"'dKGRF`ZhKT*+p&ciSDc$I9Z8JMD3SSE$R54k,Fa6,EQrp6DE%ELKV5MRY
+e@M5&&-UlbXLG)jZ+SDZHh9X"$!3`%3aeT#LKX05A'9kC,#%Zq5pD@NpG$UG65&f
+l!3`%-"%-G5#1H&cjFYPfN!#lH(%%VdA2U'adh80X$5RUQ[[c5&80KXM5&fGbBjT
+2EUNTlG6(RYe2q'%Y)ACh*MQPc#UNTkUkhRYe2q'Ch-,JQjKG'dK9$ClG6rD3!,X
+ehPS-eTpp(&ZDR9(6G6U9R$D3!,XfN!#UG80dh*MfM5&fDlcJTY4NEl1I!G($[8p
+9DA2EUM%-@D3UR8ZmGpp,8E5&80AH1+Hr3US`Z-VddbPd%Bcd'kV5k(k3!%E5&Z+
+'pS5200Gilj`Y4VM*+p@RhQLl%-8JI*DHcjG"A3kSSMIE[e'Zm(&&l(P[Cm[QQiZ
+djEZrRT!!4Y)A4`hY#4iMIEY,eZ*TV[,'R,51D@B4[YkF(6iLlL-R089EYmcULPG
+REYl[ULV#h)hfG2D2a[6fNeF8qZ-NVeDIIEXk0ef+HJh9DL8bZXZZKe39T#l1jKG
+[2EUNTlG3fHh8YiB62EUJU*!!%3GFQ1llNahHL%jlG5hZ6'SEFQ03e&$RYe,Hj-H
+MZ6(Sd602EUJU)$A'9kC"',#YA8q3!&GG$U+NpZSbSP$5&fD+85#1HaRI,V[$JXb
+9k,Re3H1QkS2B'P2cAF8C'qh[NDUCCDXTDXTlG6,FQ2BlNal'LKh-,Dj%C&c#hX4
+(mpZTU)KeJV4'3`9SMpqK904LEU@b'jM*c8ihk&80J@kQ@Hq2H0911-R08&6ie9)
+Vj'UQ8LV)Uhk&8ac4c9)SbFe,GqK938SM96MBQkQ@-R03ddEUN9884[YjDh9"jDX
+TDXL0e3GR'kS,bdMG8(@ReI)e8bN9C&@4ZU$ZJEk2Sb0e3GR'kR(Q54ZU$Xih8e0
+R4'kS1cMG5fb%EUJp2BfFFlA%EUJl#!hX5#0%XL9k@Ye3HbfITXN%D*C%VdYEUJp
+PXr[534SPN5[5eZU$f@cq0L0e3GR'pVYq)h9"fFEhXh4)h9"fPkle2EUC86@D3ZM
+AH&*MX'kSd4[SiYDUPL34Y)A4V[#N9#4jLQkTC&ZDU,0HEAk&9'TBjR[NCQl&0e3
+FMI4bf&9,'5")jG!Rj`Q$G48QM**#UPM00e891V-MG8X5jZU@@p(c1`G5@h89#3U
+TBc6G9&6V1hEb9&5BDMp#U+KaEUM4)98XCTZULdVmdKG'Zm+91r3US+,0e4U1EUM
+8RBf$G8D5#0T#l1Hh9)TkU+4@MaMfM"@`9h-+U0A*MdE5&9"iFZ5[5eZU$f@cpdY
+)94P45K)98(A'9kDA35fA3jNJXpG$mMICY,eZQ'E#0pQd[@Qb*9NEl0THZp)P@4[
+XfPkif4+YT#l0GiD#kib[65k#@bk(-N&RVSIY+b!ihfFFhfkYa0))h5`9`hmQR%d
+JMG0bBp80r!FVbib[65k#@bk(-N&RVSIY+b!ihfDH9HcD%D%AHA$f,50T"(HQPC&
+hM[VGD4JjAPaPHQPd%YPd1C),2A3kR92HZr!ihfFFhfk[cNf)fN%ETKc6p(SbFe5
+b1ElH61'E%E5#0d`alp(SbFe1TqK91TQEUPL[cpqK95aLElGQEUG8QjIS96UJ@kT
+C'6RYjTd6BMD3!%ETKheqMdC1DR8r3UR8c0e5aA,[d+U@-6IEXcG6U1flp#UG8#h
+9,)bFpZr3Zh2R*39FbCi2l0JVZGT"('b*pQa'dJMG-1DISma0pZdJMG0c`e0T"('
+c5XLlbiVPT(G@YEkib[65k#@bk(-N&RVSG3fHpE5M"a[XjlIESS-0L0T"'k@N,Yi
+GJr4jlHr&*Gi'Rl01$AjNlAFElqQXEfFj[DCG[I&G2cAY9T!!4ZQj+80r,NaUUD9
+NAH4480U1Hhfm1e0L1'SSip(DZ#6BMD34ZPT#lH(B2dHCSQVDM5#0dX&F0r*Viqd
+JMG0b8SEqA*MfM5XLlb+2cDMRYp[$Y6BMKU+124fVJNf)fN%ETD3ZhKf$p(QD*Uf
+SdJMG,"A$IbDFQa'dJMG,5&fmp9C8K`$p(TU0MBMD34ZPT#lHHUV5&$J(k266T0L
+0T"'k@N,Yf!L(!2dHD9NAH)6r,8G2DA9V@CZZ-VddZJPXZKc*"Ckk(mp[Xd842El
+1j-HdZ6(Y%81HhfD+)RYpRFQ2FA*Mh#+(2El0&%,M+p0,S*E,SFb3!&RVSINEl0R
+'qhfZD3ZcAH)9Pbe'Z-VddZJPXZKc*"Ckk(j'qcCa[Ypl'N,XehL&0&U0FCATTG"
+,CG$Q5#ced1U55#0T#h&$MFNHLh03fhEhXl1`MMBMD3Ya3jTqMaX4Y)@iSbFe58-
+Hr4jQEUNPFE'a'dKELKc6p(L0e$B'!jDdKELZH'TNEU'Y,ehTT#U'V[-e@NDib5[
+9TpjSZa,5I%d%f,4#,SG8NN%E5&Z+('j)p&ZDKYZh[DGRB4aX4Y)@iSFdr4if)fN
+,F8C1DT+(IAk2-cG8NVMBf)fN,F81DISm4ZSDa3(,@N,F9c`e-MG3eTHZp0)93eG
+j[BY)eaNPHV6lc4GL@Nq*S*p@QHZZKe-XpkZpq"a[XlQ#0q4'4F`4ZLL2cBMD34Z
+Q(02dH-HRJVj%RYl5#1MAHA$%r'NXFchb-cGL(51CD$qM)epL4C`NfFT"'dJMSeh
+P`U%Ma!IdE&!aEQTP#SP-3602BRY4,2lHMjRB'LA%`U*+c5raUTPT5b,MUKYdE5#
+00N5UD3Zh4"Fm(pQL8TT,)h805jZSEEdI-l!qILNPa0Q"r,C-qIS)l0L"qcTd5N%
+*pX+ZC,%RZM"'iLe2ZE3YFh1L%L3UKX#IK$QjfMLD9NAHGV@RhZ*0QkKT)93eQQk
+Q@PAAq09$9ES[d%GQa!rCdk-%CNfaef*2G'#0a&UIFfKDjZG%*%K9$B%rZGSiQPC
+&hR'eDIHiQN%DE)JYT"(4V[,4E-&D)rB+d4NA9V@liZ-VdamPTl2)3K&d0#@mpkf
+Mm$MICTXhflfiA4h-%Ef-&D)-RYS6+L9%q04A&cd)E0H+8r4`6EZFP+Xb0S3e,Qd
+)E4XNek*2M89hD0)3e1Cd5%K$B%c0$IlMRYa@`9h1LG#RaU+iZHK$DISi*AH2YaG
+TR"f[(DGbrBF"f'RGplLHfK4K%U2d*#Bm#fK58C18*E[cD%Yb@Eh'kE*ENS'kE4N
+j3PZr3N+5BQd*Eh2F`N*P4#8d$L@Idr4`6Fk*p"%6QR5PRp2dF%h1L-J)LFdiQ#Y
+%qTUaX&D)b%XrILN%411FYp61dq04AGSdK$8jl#3N)E!QCSErFFpZ+f#Zjd6SEUe
+VFhA'9kBq5dpRbk#@bj)mRbA4`-m0cjEAVRD(!l28HramX(ZSI44jJ(`FI"4lM(T
+%HQ4kb(PFHYKl8(X3mbMbS2&Bq4Kl9(J)m8([Jm+(Pipj6l3i'FI,JLp06mdajEA
+L4k)Ce#I5mP9,*EAL9j*MbmP9"CEAL9j*XYANUL[,Dm5[*-Mm)h+aS`"Pj+TUVb9
+6j,Dm5[*-MbmP8Fbf[%Vb5XaH5UQjE(L4k@eiPH5B8Y6ej+S1rl6l3C(2D2i1IXD
+P[l8NTCl,rQ5ld[H`)PdX)rH(bI,Trl9MG"5keqe$j,3EVqilj@Mj"hIbbq*D$GI
+Y)0"%bMG"qd"bII&&plLdG'R(fXapSKXqC,RhD@Pp@TPI*IY,496+q9TIl4NRhab
+jqd$TPI&l,HiY,aJZIAAl3ba*,3BPh&SQ4LJVQc0,5+6lUPbrh#@IA@Y42XG`-Rd
+bPlVV2F+Nq*,brh%(Rc*H*IF4UI,PX[f1iN[UUXrrrkUVeV26rre9@HD'2rp99kc
+5DrqiUUChQLGrpT98C1@[VIh),IkUVeQeErj5BV5*%Y%`rQrZ3PRF99AV,E2rUUU
+Upr((rk[qdXXU2rX0CrDX5rqPZ,j14[rY+U[Iarrr5eQq-S(rf'pRM0rrhH'UU['
+4Krp+UVjUEreQSkU[6JIrr99fK`P[rlhfGHR2[rcILrT"VrirJlIB$MrcHUVeG$r
+lhUUq!JMrcHUVi#-[rMp9A`%rrGlUiPm!%Il[!2GE(`$'hpb%(GmXk!XHHL@rY50
+(H9FYmmNrl[IqrRRLVrZmXGpmV02phaV9q9UprZpeFTj@L2rJ-,mVAErkA@AbX+r
+rX-b2+`ErimjY$**D4bR[lN+,(NqdIf5dMNhhpeA(!CRj@'rl[G@J%`H`rqPKhbE
+'rq`j$j-crimjY(4*D4d2Ih)#NH6l3a*D4clhpb$MqUSPS$[HYrFK'[iC,3(GIIf
+T3Dr[C,3(F2hpU5c1dfS5d"f#GrFJ&GaQ!PSBd6Ih)0AGpTD%Y(-a[lN"Af1dDq5
+d6e2Ih)05aPXZRX,(,bkH`XE#A6f"S%+"kLQP#P2[K*p+6TkcRhb*%PappNk4*NT
+R@cJ6kHRNb6*61YeR2T5G15`25G)Nb8cVDcTpp1dbLaa)p*dM5Y8kJmGEXGm1Te+
+aa)kfSXB3H99+XLe60UDLQ(U$aeYCdqqRDC3F#$DfTfe)-C4@laM++c3q2$j-kV1
+""YE8lDN'-SV@G2[TfQ81mBbLXd2M`q61Uf[Cp+6Tb(aiI*R9C*p)HR(QeEA41Nh
+5Y4mQ5C0f"feQ"kJmGEQEAeUe1Ul8I-%V6ZT@VZ28K9-c*@V8lIC1P-5K$YJ5q(8
+kN5q(@hG5YC3mGEQDcCpm*,Mll*dL4)p*dT5CZ+*(T1N3BdQkDCZ+I5NkFq2$j-k
+VF8[5BbJq2$j-kV1#I5NkFqZTk88(",dQ-S2VUHP&$LRdT1R2V8mlU9U!)#!*5%-
+J9'&LE'9c!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!+%9RrfNH52N!!!!!!!!3*N!!!!!!!!pU3!
+!!!!!!!!!!!$HD3!$#N**4b"CDA4THQN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&4&@&4)3d"!!3#K%G)-S440H`!
+!!!!!!!34!!!!!!!!!q)!!!PX!!!!!!!!bj3KSf,FlXi4mrecfRe3eH`ECicq8+M
+'qi$Em-(%DrG'rj,ZUM9JV9K@5dPid,Qp!HMd[ZSG1&5UDVedX9M@@fJ@kkVYb$Q
+G9f1f1jhhKp4krBq2d$prerNPS)SP,95YPIY#efcCMDlKaZ@e!AUqZehU6V!dMDE
+`h["+96&BV)9bcZGdMVpPi[)2ElRir1P'QDRA!pr`SY!eVCF8+E8(bq`Sp)8qUPH
+X#e@m,RG&h[CIY%ir+(4kEUGBm(PHEce0RhY9AXKHKeQTK3ZrQ&k*@'N#(,r4(j&
+EFael[(IGDK&ReaHL4'f[S(EDLdJ1@h&R3[kXUS,6P,f#rKq9Ce[FA-5p(km",Tl
+q)`U8P@fp)c,aYFAf)RR,UcLmERl[f*c00N6#FC+cHqYk"Ic4!)Rm2E(k@e,Q1PI
+l-([0qiZR'5!`PF[m0mk#LMNI,8i@RQYpalBFa&IQeI(Fa&!92qF4f%BZ@e2BBIj
+PJa-S[Q+HkkU@2Hj3KH8iY'mceG-0e03`dppJimZ5CNYBUX-,`HEblM*S&f`j9SV
+k9*)l9Fj)(,`QPBa+ZbCec)23Br"p@FG&+'1drcpTal'IF2BUI4ADD0DMfB1q6pm
+Xdj5-CC!!DrCKQiXijb0Eja9l'8KH5PX6fYM0',1A!AQpIf)F9biXDb1iYNBRCG0
+)l((+YBidr[0#fBaSR(ZXdBjE5-i@P,-RBq*fq6cBZb@D)1+VQZB0q@TcR5AXiVq
+(pr!Mrip8JdB1J,Vb49BqPhpjA%KS+e([)6cRq6Y((83HikSJr"K9$-Q)LiiKbGC
+T4cMS*f-fFRe-QE$S"IDKEPe'KD"Kf5l(E24p"(A(+Q%PDp)qM[TRIpjC)hQeY9,
+qbT8MR,Gp)Ae8@cH(A0c#+[dXlLmFriN&qa*Gk'06$EFhcCEkQr&dq0j4566p5HZ
+G[6%Ea+$(4a(fM-PGG[8'EcdQk-6hCUNdp"VC%Y+$jR$$2V1ELGJiIiF1GQ0@2@m
+YSjd&12,[LaR[iMIaT#4bDl5`amS*F6dQIkA4Hmk%jMEccL28MMR"AE&mq[fR+&e
+Y'%6HS&r$lkfP4"Tl[N'2+lE+p@QI3rhe8qC'LaSaIKDL$@G8SDRa+rdiJBrPYdX
+@h2!Gr$rBjccDk4Ip1b1VV',qT6Bimi5`PkUCD1UeVjR%jYI34m)Nr([@T+L+MM`
+)I6"dR+jhQB,Y9N*[a6)rUfY%lmGmCPMqKU3jCJH-'hC@EZ0T!AdAFdHfTM30jpa
+8"DCKq19iCq@cq5a8Ap-YTX4$HJXm3ZSYq8j3Zf8rJGI(*lcPiYD2rTC`ef5&rEB
+fa(KeETMDmQiG@chf!!!##%**4c!Y2NG#HQN!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&4&@&4)3d"!!3#K#!TES3T
+p,`!!!!!!!!$Q!!!!!!!!!,`!!-HA!!!!!!!!5e`PK#3j8U1&MbP(K$4S%#3'$4J
+J'YiSdL!3%%&,!J8**%43%iq#Y!M+)XL,)##"a!4L%XJ)4SdH'i!85G,N48k#Q!M
+#U41RRd#9J!Sk)JM*8*P'0`RU",4TP%"5QJEY%XL,e%"9!PN"@M(SP%"8VPi*K19
+UPN"DT!iYZV"K`iJaK"L4UC6TdkK0!MN*p#33&%&"!!X#*-KPab*F!f8+a#M3N8#
+3!!*&#R3T%+C!NJ)j#[3Sd+4!P*TDNVU`35J!!JK#58Fa,6j(3RTT!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"849K
+85%0!3!%!S3UCkD%+QU%!!!!!!!!!0!!!!!!!!!!b!!$M$!!!!!!!!*6Y*B3N1G,
+#aj3M3KSd''+M"J`3$"dfF041B4!D0@L!Z*La!D9p#SA8)#)%K%L5$6ECD`!!!JK
+(3M!Y2N**4hTT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!"849K85%0!3!%!S3SHI+%+HP)!!!!!!!!"h!!!!!!!!!(
+4!!$p13!!!!!!!!K-*DBF%G,#Kj!!*%GU0'L!)`B0'#!DhLM5)"53!&"#3Jd*a5Z
+8-)kKQ)55a9(8R9$M3[%,Y548U9#Q3TfUL#T8Q9"Q3X8**5G8Qe"Z3Y8*C5G8RP"
+k3(C-%dT0U'N9Si@5&ZV)+#FF4e8C0598Z9$NP)DL*[BFaiVc3V%,e5j80j!!h-4
+U%iXY9,C3fd+j@pJ3"m5'15L'HKFUALKiSV#%BK9+P5JPSN6b%Q9%e"'3!,&!iJU
+9Uq+X8,4#h3UP+p3ZN!#p3Y8+C5X8V&$h3YN,45p829'Nq-BSBL4L$#-i'SM+*8U
+AU&fL*[F5j8[8,e(!4!86*Bb[M)F4C8bXQ+4aU&DLL)K#%XV9BTXi3cN,p5a8N!"
+3d%)p#H92e#[KX%6&%L9,e#a4Y)K5LbLfL(+,+*Y*%8S81S9b$8qK)#&+%X)p)`S
+dSN3MLM5L6#-+0D*8)iSeSP`M#MDLC#1+0U*X)`ShSR3MLMI#I5-+1++%)iSiSS`
+M#MQLP#1+1D+F)`Sk*9h8d4bK%'1GApN&9Y%USU3MLMULV#-+1k+d)iSlSV`M#Q,
+aL#+2+21)3SmSYpNMbMh#i50+2U,S)mSqS[!M5MqLq$-+%+-%-BS3Sf`8KLKiK#+
+'4`X"!!-)4d)a,6j#58GkD3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!9%9B9%K$3%!"!+""q(kK%I"I!!!!!!!!(rB
+!!!!!!!!FNJ!!Spi!!!!!!!#E`3#T90@E@A5m,jbaeq`lATi4a9MIQJ('8bf&kjl
+Xp`(NpElc3Qp99UZLdA"GEkAlSZph`m[UHlqF0a#PA&GY'"b1fl[JhlJRXr5K8m+
+Y9eNijbHNkh[EFUR1G2a!mIiN'l&h[,kNfQYRha$H!h1f"1GBf"Fp#qR90MVfpeS
+h'UE,G'mfTCPLX1c$8kKUePR"VYSdfR!VP&9Z[&JYUpmh5Y)2p4PBkKma2NPPXa6
++CUGA`@V41Cd$cqeqrk6"5+J9'dVGE`ZA+H(c(Sq$ir)IDJU(4#MdP5kEh5!IiRG
+dqk%lqraVA(-qH#iacjlJTb)+T-p$c4,)UR-mSbBmG&MYk2jX`'dV!$hYEZY2[Xd
+6mI,m,!Q(5plG!KNa`&TBcP4NAE'T'%hM[M(f&Y94rG+&SEbrb1EhFVhAqKir39J
+A2m*iqhAj986lLHbBVTajMiEQha$i'-I)@j4aGjYEj5CBShqFT#paU8qR$Fa`Mp[
+XEecG)TPALaHGLNDUbGRe8H$9GQ!BZb'&hR*66LTrrb6c+Fi@jRJ)r4MRJ*-cL8D
+pm-Nqm@HM6ZrJBhX0LT&`(I!D18rqK2e8X@VR[c*Xrpa`El8k-UKH-EAEI9Il-,U
+Hjbc8()"*F1&6Kf$3B[Fpr'HjepQAEGm,+beJ9*UDYR4"dSHMYd"D1[KNilbEc8m
+,YZT&534&'QLjT!jRJcqM(2""QFQM(`(,ZCIi3Ik"d5%6q(!chrXmGrkQaTmSMCJ
+#lTjZmJf20*S+k%Xj*Rdh'YNk(LGGLNeRj`b1Ci),M(2"F&15h0LZ&+hYf6@,9"9
+2Y[MmJ0Ef[F5XJh6X*k[,83-rlAl8Y,)ASYd!6N9#T&pHMrQ(&10P[MF"MU04lE(
+ENA4C%6d*dhhTr%R&YqFe6[!L,4%h9#Vl0ImG#fEY'fFI@9!c@bj*4X,C##AZDNe
+Zd9R*,UQf&(F6pBhV-[AbLd+N[q9CV['@jZJ*3Ui'@M"&`MXeC+(aaPf*f$[XDBe
+(ja`P'"&9'1ClXMp'1Hl*-cPl8mP*a+@&dqS(,!6@@XQL3Ce9p4h3ArKU(BH@"FR
+Ihpe*rMT[p+rrUd2HH[)))GJV'*labI,H2arYmVrD%aXYV(XSQr,YM[QRXYiaVAX
+q9#$J[AJUABPPf!P[aN,4FICe(klH&irdm,Hf)4d%ZCl[2k-Fph"QFaTPir0#2qj
+!-3$BJN!$9,"IH!6H42e3",,Kc4eI@4,j"e'bN!"5QFpShhf&*Sqf!KTTGl)MpD0
+FchF&aMRZlJT`2Cd&%)N)F1U[6YI$d#3Uk%2[UG4PHKE'-hUYME"[G8$MVr([i+H
+YF8[TPP$rN!#(@cc41Ui-SCc#'SeUp@8[RV(@8%eJ@6kSfdcfHa)C[*Y3PljVGfM
+RKb(SDIUBeI&XD5'X[@,*k,5(P@!5%craP(e[Y@&eA'IcZ`l4RA[Q!,,&VU4l4e%
+@@Z2GQfQEpmkpH$Hkk9`P3GHNZi5RR[2NYj,NK2jR-pd4qM(2G%QCc)`PlEIbkf[
+qIdl4K3N#m[Dr,Ecf8eHUBGX+VcaEbYK"bUM@kUGIpEhTH1F(d26FQe6&-QlmR,h
+lYM,'L6hdeQPb+IElVHA60jj[eArMIp9Y%jABG8EMFVLCr6aGKp-,pVZMDSl*9hm
+60N`fGqA-peRp'1HkJc14rY@4Sr`Ipa-(IBpfhMhC0a'm**!!V[l$IR@YSrr*5kH
+6N!"ehT,0[CIM0([m18!VmFeFmDLUL!cQHkJZ-FpeF&1G*f2ZjiX4pHbpJLeB0%j
+lcmUHcbS8AZkaI(98"fm[V2mS5Z)2G#kqF4CM[Im,31mr@l%2`0+d9%5Q+1S&jL$
+F@5q@2'b#0I*[6@K@P54$#HKpqBqL9prkrdmVfF*YBe"eLHDGfPpSK,R[A(aLlr0
+LKiIA9'K0f@Sr&4$LVkJGK03MTlc5E,Y'TerId*Y4AALhB([mq"Yq$6ECHa3pSqZ
+KRb3JhAmFcLL2dBja4*QFI'VIHb,fcmUr2CC9U31e404f"VEJFeRE1M,mNKA4-Yi
+qKfRkcJ0iVP6IVT!!AIM8KAAdTMm2(Lh[Pb&hpU@c$l@r,,pa"-p&+l1Bc"@j66a
+l2I6aAdqPI#)lFSTiI6XUTCfVIlLSbXYRFN@#9Q6QF9Rp'1F9"QF5A1ZF[LY$3PS
+8YU-keBbSE[iclDAI4#F1'cpY[[[hqP@`5EGi`h,m!P(bDVN)*8*cpXJ#RmZCa8&
+aMR&A"6NUG9QV9VIac*Mi,'fDTdSQR$le-&Sc#TRq6P83`2acI+BCH*crD8hSLSM
+C`6Aqcr#RX4'D*rJH0S[+G#pZVVE[JM2!Y&qKcRaEqH'lKqf)+c%Ykl4c@3BRB(m
+rd4md2Qa(+fU6KkN'rB4"*II&5crCI%L$,+3CP-6EqfH1V2A8ZN-2XbPe0&kl294
+,TmlIUc([H"Ra6Vfa,DpS&8IH8YhlQ%4YMQG5)r4MR8L6-jTr*Bq6kp&@reji'R)
+LRL@aF6UE39d9YU@2"bmmA$f&hZrdFXh2QTPbPV&*I')LI8N%r`6Q"FfMUEQ!*J8
+28mq!4"L`afT,BIi)5i,MeZ2Pjq2E'h[T)fclm6X#$"6e00r'!,PGM1&@A1NiM$A
+qh-kPRp'1G5Jc1("GqEP0XM,bZYfp4f&+eBB'k#-Vdl6&23A3PZL#1Lp"%rl,2ff
+,eP@UUPj,r$%BdraNpH'X[#jR8S,M(1TA"6MZE)l3cdlR2ddiMYdrl`YSimHNQlJ
+PA#ep@2N[3F5T(*XHd$hqlCETP8"l69PLSHdrUAk1q&dFCaU&iMhEh5Ve$d["al&
+ir8CS*2SVFS@(rflQhDULSqM+V6QU*@G*K",TrefIjm1UR)IKQb)CqjX3YQ5)QAP
+%l18E,rjrD(`B3AGRQ+&U[9mMbdPh2FLQIYl%f(pjrQ#+a"Ijk)CcbCkQ+B$eqlQ
+I-4qM(2Q*-cQ#e*M%3##r80FrAbTq9RrY#9PpBCEQfi23bJIVpZ4FD89ACYf)d1a
+fJmN260'Z8M4HBeS&(c@#EIcN-k3C6*C4IG5rFcSHN!#[4(DRU`4TiPZ$N!"D6Zb
+RV[-41eC*PTPY`eYG)E"cN9VFNAk%ac2QcqM(2QJc1"i,!c[PI#%I'bIQd8Ei'FL
+FbCDqHT35%KMH5(TUGqq#lVG1pkqj@%1XlRmAhE)PM+BR4peCHjRc3A'1I0F&1E$
+d@p(f4i*XH(jY&")QQq'hH@je')r3jTILkAF[R,Qa80`*p0P%GQk'TIPdI*8lPcF
+1"8UC960bb8ZMdRUNrXj6%R`RQkUb&Ee(&N2iH%(H$[MLZkAI2#UlMT,33mUVh#L
+UQi6)Y$`QrJq,(I5[iaHACTV3hieCGR3U9j)Vf'jLNfed(K*KRV'H[8FE,`kQ61)
+68bPqiHB5qBbQAm6p)JQZZHijRZ%ISach#6-j%XGcCqRH(Ab'Hf'@35b`j85Gk`[
+f40fQNXMl%e*(Er"r1H*'cAYTIbdmQfjqFr0KJ*ACG(%`R(C8dNjl5JVKEakC-$D
+lC(af6aXQQVp(QjM,I$VY*E#UU`P[FIjVrZkj4a0"qR[52VHDXIFch-rSach)-cP
+K"E93@iH$FH$8k@#&8R91Ri9eN!"X)hTTYKkmP*&eE#1'q+[lZrPp!$lErY3`V6i
+d,P2f$+Y2-jRZ3A'1HjF&19UQ3h,pAU+SjC0eH1p@2a%-+b'M03eqXMVGDh9"d!H
+99MdhkD!e[JH",kcMkUkK[Y,0DFBbP!a+*pHZ&MGGF'+-ei%Jk'(XK8GB!1[HTH5
+&X#'R5A`B&MFCD[lcBIU8&5"U6eRJi"6B9cML`2Ndc8L46P[,5FA`e@#qNaS&S!c
+Ke9BN9"3B5#H,G$NSR(A9Fk6(rhNeZZmEDA[Rdi,Zep1+j"k%ISaJp#6-jNZ@p5r
+U)T!!aHm*`&q9,)rI+pH-YiEq2VlZ5Dq1L90r$#B3S8LP@R*!'e1ireT6'l+ZABP
+lcGhJS6U%2Ieq-bLPjS8c8[bDHIEU4ERQ2db3!#C9T9SKjY*fhF'hi&)QKre(b5I
+*$kZEB5GQ(J6TY"1j"kCr4M"k3CR*e&N64S48p["P)ZK0(FPB(ikM[XqEG@XcDK@
+ajEMLep!NipUY0iY*5PP9+e+L-C46NqcjEd"b$dJZ-B25i+FDZdY`,%c$KB-1Mfi
+,$q3qdm`T+q",Kflemj00ECILMl4r&H43`a)[1GmcP)i&5qac8Gl@%-6Z(HFhfM"
+XiaG3UQKBVPA03+IE6YkILc@p9a&E&Z2MbEHA*8m`-iP1a@H+4$a,`c%Y5Xkd"J,
+D&X%QpLVJ$dLf@rHiiY),9&,I3cY5U)C&@I9$Ql9M-D5Kle*XU[XRk&j`"CfA@Ni
+%E6GrC'fBUZ5Lj"h8Mp'-(G56-jDeq5qT80D%QVT2Xl%iY1TT&-d0mB*r9[jCYA[
+KJkFNdQTJRa@9CZ+(I9qj2*3TBPH+r-`[RZXfAmQm9PGAbHNGB83"i,4qeM"efIP
+mijAH&Y"QhkYDTIAYkJfQd#T'N[dlrdZ-hf4%bT2Cl&"P[`R)1kjr4M"h@$-jKpB
+3l4jk-19RV[Ipe$mkq-l0qMXl+rb#FTkb",`UbLUJhe5U9LG0fB@Q%SkCGM"1MP!
+6`TIjb$ZX&aM"h@i+FI`0ZM4XdLXASNfY25rpB02SG5L+'F3fiF0YS0k0&$B-F!d
+$3J$4(8+plSApD!&(cha@D$2"[FEA-[CSJ@HelkTF#cMDVq4I8I"qq[l#I!3(%+4
+QEFQI0NLUkN5Q-jd(%+UlpDE-%#"59jV`KF-q!`#%i62`SaKjG8VD(r2H(@M0fN3
+iXCJCjemIdrVi"HP0mdJU8[4Z(ISB69aXdX5VAqUm()1l%ISaJlX5CR2U`BPN[PT
+XT*pMqTU4,jea*Jkqr)mmeqENj0Php59QPpFki&1Y+j*q)fa[L,&Z)$#2krT*Iar
+8*R$hYIpKFer0)YVQRm9TFcfJa5`XL`eI"i+`M*ZmC#'qC)"LDk9MXQhLPY[8+46
+1D6r0ckUdTmj"hE2k-B1l3CR+f')hIrCH$3#Q2Cj*bI9TV"`aN!$jG4D`phdQL@G
+j5`#13L4HXhClH#DLNbVXr(C4`!!iq[[13GfJZ-B1lA"6PNKf0LV0dMlE*4#I!Hj
+QUr$I,Tl6i+aaljcbSPZb"#"BI2&5PZm2Ebkm[@+Ec8qUf&I5Cb%V'G0+*6TI2f0
+rHq9Bek!%URXceqqHTaI$LCHl%$0B42GC43IkqpX&MeI"2E!qUhN19$`DlUI128U
+A1lVZrjLA8BSVLahN!X%2BXQ8!q&)UB1kH`CqVfpdG+`d6Z'VSM#J0-PrXJi(FGq
+cHMhNFJlZ4qM'$Zj*QFGEG#1[0[mRib8e*S4&h[cZ$mRqkKN`G!D`,189RD)Z[R$
+L-IS,f"3KYKFD'mE&3[JXAERD+GX)F%#dR`mNJbhebI$Ac3RjS(BVc$8`&#Abm6I
+ej([,!EQd8c%`RrH"IKkY`'&qpFI*k@M$mcpPb$ZqIdB`GhJc14IKNTQ,ljiJ6%*
+areRXK9T@R$j9Hf`aeiFfZS44hNNp'5P11pFLe(p"rZ1TJJ"ZBB$pRjYi%-Bj"hH
+#iaJl[F&14)G[aP+19ET6Y'f5,GXl@CVa0p#ahC1'9PD*29C@H)P'4%kShP'4C39
+FVq#LGPD[FcYq+SXYmfAL`!V&pRj5IU8VE(*r$8$cQ&PlIXkU[&k+VI'b6DHVDh6
+Jk[k*T[M0p`I`e5e3G4f5I"5kr93&@I`m8(pH*"U@iGqRK9Fb,JEV-GAfSIT5'Er
+iZr%6GF2PKN9FYB5"Yl6kikbGc&FTlm5M(JMN"'4qM'!M*-cQ4M$iD[HUH50XH*q
+P*[JQbFhD6F@M[`46AZePQXmM0G3dGf(Sr92kmYC6Ai(rRDG6mAIUPc*i&Z+fe*'
+0DKTLh(*#pkBpVcJkZ@1KfD!HAH$Kk5RlA+GJF)@kMqAp4"jElH'rfk80Y$S8(Nc
+(q13%HIdB`%F'Cc,p-ke*ckT13eIpf[@JHqFNEIC0il'NdrQZi6,Rp8ae66Mqq5Z
+I#Q-5im3lIrGT!br!V%l@T#j!4`A'-"(F&1BTX3X-A*NcNSL#aD83q-P1%Ujl&81
+NR4RL&R%X[airV4Zm[HGhUmdbjHr3J84P[r4*H9b&3%iah#1&(+)RR18`bB0pB"X
+r(AMkPkp@rEIejMQH0eGEh`NA0[@[3AYc,pQ9bZl41VU@Cdc@hp0kJd2Df#*@%k9
+[Gh$BTL8X40V1Ma&![pf++,khNE*A`DcbcJ@JjBb1aJCe!-FZ[N+5TdZG,MN$@NI
+SaJDdNc1Ar(@V6j2K9k'X"RH+5CEmVI2CIG,p3Gk'TAKAj1aPGBpQ@CraGXr@(N4
+c6M`Zq1-h-qScF!VeRiXA'Lm,FHG@M,E0X(T%(E'f2Jm5p-Kk,[5MJ$-qk3,deYD
+8HpMiHK6+(dV6Up2hUmF6#c2Iqh)'YcqM'"VB-cQaG52Aq!ljD0Fj$Pr0,Yj2+@F
+Vf(lf&XCkZ*SSeGZA,(e@A!eb%CDTV+&FUAZjipSU&lT80@FJDf#iaJDfi+FK(UT
+,bfpHS"0$lR`V)F2pGB+&EVi8N!$el18'&1d91SThQ30ia0,H6lN+a(FJGXT`'pS
+hNIk+14H%Pa'C-,*AH92am+HqK0c0rRRrBmFjel`pGcR,)bb8l@'L2fKkAjkpLTi
+*N!!iPr%cQrKTC02B1k&fRPhmL)AMjV9fVf9Bk&SQ8R"XMNYY@A4P"63fqNpNFKF
+ecMMIehMYYjN*j@NZ@$+qR)'X)r4M!eK*QFdka-Crc@04IhNGbAY$'(p*%3BY9lT
+PEU1VAE3EILZpKpqdGCMDel490ifYYMeJ"N3BP2*lDYYA3IE!Vk(b$E-1aQm9p!Y
+2X52E$pi'LcEehm0PS@m#1SC1m'G#q8j%XVYi*E+KackBXp)H2rYb"V-rSaJDb$-
+jD'bFc`Uep,m2l1qUJ$%qP(U@[52(Z#lr*F0#GBEYbCZT)kIm*!9EFU3CMJU[rIN
+DjffplreFJDb#iaJDbi+F0M@`P)GQqdie2Gi+r),Se4YR5pAqF8rFX%+VfZ)e#0,
+BEU!YpE2QD[6FI!Qe3l`#Y9NeH1Keer$rP@c4Gc85BrRqU*A2(cILVqc%+)$)TZM
+khaS'l6$6b4!GA$[[LpQRrP!666JH8$50NqNrNQqVDIUIQrY(jAK3JAUkl'bEk%@
+3!+NpI4E9rRrYcik[$NVXqbe8KrFM$1$9,806rq%rf'3`P%j9KTb!N!#2dB`%K*Q
+Fj%hq-8QACd"G,+1Ech3J3iAI0Ykf96IMfRmRP,AlF+PfdSLQh)A3+mFj!XIK$pA
+Kh6MAPLV`*%rTVl!'*IU`[,XMVT-b081SM)LMFRk(NMl"-fbUqES(6jRZQq+hppp
+F%+rkC0@3!1@TPB9P0b$Z3%QIdB`%N!"QF1md2Zj,*Km5-'+0-M`,d"+ajZp3HD0
+b&pT6*aX10&jU#@dh%DkmrA%TpGFGJpK(5I2FYf!mJh)#5#iaJ*,JT`iZ@'Y[r2H
+pkY!Zrla&mQ%-6TKAjU-V5$$0%r&&Zl0lZE*XXI2#J6rbmZ0pQbCV()K%JeCiCMC
+Z#X*&qHM"RpbYlJCXmU-5%q35VSk%YVmdfV9@JlK9DM5%DpBNZiMl!'3bqcBeNFb
+AE4T&Z4AhiHkPepD5EUI5MT!!'3$Nbb8(fVQme0N3kFZK)N$6"NX`DUlk3$Ek+fY
++1UeRUh'd6-iKFJcNISaJcNQCbdVdhh'5!Xh2AYNkVIUiU`2XPD!1r%6I3UU,eKH
+m[C,B5c%%C#AD+PkErc@EpT*K599Ml3Eb'T5ASP@p@Jdk@5)%ECcjqI@(q4&E*SQ
+-'9fT-I,+[eJqrjK'"hqeFBlLSp8H&hL8I"X([eRRQ+R)-qIdB`Ci-cN+$V`KR$R
+CQ&*8Dr9rLfYe-dGYEf#,Q+SrEN@YpakrC3Ip5-eTmf6j+8rR13@rAS`k+93TX`F
+Jc`A'-'Hi+Fk+GlG)r%qX!CDp$PZX90DSe!E&Bpc5djIaSN#*4j&HXDmRfaB694Y
+HTp`I&5$d+%LbNJEle)&M+Y'I&Jk,m[9(@`qZMM@U'[Y4[frH81klLYYmdBl#AIm
+BI($LmJ25-U&YrBHRjDlHIV1%9)1fVjJFELHhJ)G&LKYXbK@Q0RHI@d+lq!bShp5
+G[D,G6PZX[[DrUR9QChhLZlal)3klN3H8"b#!Mp'-%"*QF49a#b8%YVH+NYfe2NZ
+[@f-,qf[Zkm6D@J[erlh10ZKPXG%S4,M,f0lTrJ`0PM[Zhq(ADT,ZNf,e5+&!PAV
+IdL#-8#m#Um'3!$*Rp@(DP`Cl$J+&JB![$R#h(Nhp1pQR`dP@&h)c9V10eJJcmhN
+6N!""Rp'-%%'Ca(e[6@JVmmrfb3EIpTG)VSRNKpr-DlaCC&XGCm3HX6BGK2Rpp2Y
+be+a@hlE!HYT5(k'RH@ZCb###iaJJZ#R&[GIh'@CZ)NPNlPm*IQDG2lMMpEDa2Rr
+5b&Ic[rqLHGq5pBXSRfUY%`*k[jd,hQBCKVb3!"pMiZ8cEb1m,EfSrHTYRm5K0CZ
+2$`DFV!bA9!0'6r(TSkr12[jp4VZrP`r',q`ibeEq0,i2P&$4$iZI*3TVGka#EmG
+"l+HV88"4em`1Fr9ZN!$G5%Dr,(6DE%qL[2EI*NEZ9-S&42*r(l1XHLj+1FJZb2d
+B`AC*QFf'Tq'FB1l$1mlH*(f'D*V[NV@08k9Fjk'2X2NIIDd3rqm,E9YZ`P'%4M*
+QH'd@#LZe0TZjHcbE)ICHhPGbMh5U4TX,1JMNYI'hZ"D!dqr8`aCf[kir)(Yq(P"
+RVS"jdaNU21Zr5bYT3XYrdPCb#lcqM'#lJc1Em(,J2*pmf[`e-kp(mHX0&c*1CpE
+X-*MX#-Y1hMj9)Nc'0Rhf!AMbmKdpdNBX5bHHYR%'%r,N&h"FB`AG`8j,qp6bKGH
+D%8*p&dTU8CblUM,5,r6TQZ#8Hq&cqCma@q5dd`)bY2G9LqAdL"ZM'%@I8"2f-lq
+'0&cSKddEi%[MkT3mHMAJ2Tjj11R5,eQJhcmmmm5AM"X1LrNIBhHRIS-p[cYGCFr
+KJX3$4i41%fSdErD5J-D$YY92DG[X4IXkaZLpTaiZ2IG-Ee*XIb+%Ic3&jH5a4Xa
+e40#HQ#m`em[,G*Nj"G%ISaJZL6-iCGYiSPD)5H[KiHcRJ`f[TeIq$lfap+qq)m3
+Kp1Ue#qV&p,A@BC!!H5AR[YTl4"lAaFjQqh,4UVeTPRL[HH-kib6fkJYHfkEdS5A
+8c"crl8"(L-Mf#$#0EN&*3c+X[8HlNcCl2)ffREKFl8C&!IbTm6N&eRp'-&e"QF)
+@#E#rhkHH%eEi5P9BFSiM92'40%602"P'hq#hhp(`r,%9XNmKY(k`VU+UGm$@f#%
+Aj4Kl,N&e"FB`A9`8jUS5YG[q@qHP"Trh4"['-q#PZNGP#16ZY`p3fkCY9l8ZLDT
+d!(Ch+mM2Sb[!q5VE59!hAV)J`,BIRpG(&XiZ3lLCDf5kdGUEk8meB9q'NqU4kkK
+#F'cNSMbS)V#D#bI,RleAl)H(Vfid,3CG@a2h@,6K6Kr*[pJ15&``mP*p2TDVl2c
+&daE3KARf`1k3!0[H`9KP`6lFrZe"K8Gb@rJ[RJNPZMN!SMp'-!SNc1EH@RL5`Yq
+lG-kr'AQNrk2J$3l(dN#DjBZe-0!2[KC9[[6$V(ZLm3f'%f!9IFQACf$4R!`aMY%
+1dQRlm49%V@S12%46T5,)%S-FUpHa8TE[ffmRN!$h&UqK[C!!Dq0Ym$8r8i-I`2U
+c*,L*AEhXabFJ&Cr4M!+JJFbYe,*DXBFI[)&5d[rQRce4i`T1ME"T[rAq+MhkM52
+PKpR01c9#eiVGaIIV4TF!!!-)4d)b,6j#58GkD3!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!9%9B9%K$3%!"!+""q&q
+K%F*I!!!!!!!!'C`!!!!!!!!ACJ!![D8!!!!!!!"Ae!d)@qp,i*mNXYQ2(Ha3+++
+RBPXZ*qrpU!k2CH,dRUr"@,VTYi$M@-QNh6LM#`@jHlkD*@Dlc"cqNl[H2$bR@li
+I(jP-U5Z@FeHdG2h$krG)0QGIa[*k!&b8UjPh[,p*P-iDDRY22kaYH@lId@&bHD(
+Y9j@NfQVAE%eAJEfc$@l"XZiHBU0@9Hm*cV`EVS0CYKjG*C@hi!D93VSADr0(b'q
+h*ZqSFjD,9Z!iKDlKqA$2l51`&1TkUrcIQRkVj+$3`85MUA81+i*9+r-$K2Im$l+
+665Yf4DED*N-H(4#CLBdAkm0(``hN0kZk[)Dk''GcCb2NcC+CNfmPESGl3b0#VCa
+%-ZU3!!H+1"j2MRH(*fj*A3Cp$j1%pMSFrMcBprH!`0S,[f-l[D$kGG+NRXhieDa
+NbFdmVBS-2TfZ!r*,cLRGr3J0SKV1cKqf)rm@`!(Nr#k22qj+PmaGU'PI#6`h,&a
+k*mC$AX@D)$e@31T1!mQR1'*c,1bcYd"k&dYi0$mRCP[YR8V'ilRD"3Zh,rDfEXB
+GR0l%H'pr86hGA[kLjB9U%[p!CGc*hbGBp9*`$pSqf2P$b1TT*Gl)0*3DSRRLF(N
+p@dSdpl2b'RlD$&MKBmf@YKGKE@HS(Bjl%A#mXDV(+aKUXE,ZcJfp+cVaclCq4V9
+8FClIAAII&0GQV"U[hVX2Slj[1rdiUYbfrM6qI@1'pr8EhGA[lHb`JEN@b6DM#$q
+rA5r1IKE!fRr`dl-QV3,XipB"Y++a@Gp&jRpBq2[le'rqDN(FUj9J1FBqj*h)Ehp
+[9h9lqed-)'"irU`[!l2MXXYNBqe8TFlrNJGaSq2[iaB$P,kU29C+[Kh[0j'Vqpk
+cI9VFmF+[0f&pLCXd(hlMEBh2@E9T8Dh@feL2@9e84br9G(l1T(VEkaHXrVYMY2M
+C"rfkBhXqZ(aFjZ[F1FRR,Eaa1'p!,!HjI!eYe,NaqFIkRNCm9S,@FR$mfSpX(FM
+'dGfVHPae+ZeZi@XUhf-2%YZP@**(cpXpG8FG@-0l+LHlUpP4FX04M2H0R1(CK11
+m!m0Dhir0Qc!0ZQf('d'HI6arM5EE+qiQciqh@Vp2rCk95eRj4ViTTQI5qbl,4!I
+pi5S(YrjLpK[RIbi)"JB(YJ3(SAlk($GPZ+bh!pC!RdGA,2NPkjIqJCG)q-Xl6Pm
+[*$f&iEf9'ph9l,Hb`JF3X!j,KKq4'D51*aD6,NPC26fqY`Bh2CEb0Z!$!fPTTB)
+-Q2mG`Dfq)IXJblE3(Yc@@!($HbhUlUpPVSBGZrE*fb0VADljdcR!$GMPZJ"V2iX
+ZS'I5i6[,2jdB'YrDhS54'5%rV*ddN5NTFGPU@jl@TN9(p50,e!GMT6mG3R2`1qp
+)M4Y*2p6p8r1"e&i(BCCr,$",(m!m)5pq&*X*'%YX-`(K%F+9BrXD!!l$2MFUi$#
+QB4YXPYS)8(Bb5fd,6PXA[Z,r6H$8GNEBVrifTAae[ilijIJhbFfdH'!E32"J*$8
+0kZLHlUpA4FX)'fdhhC!!2C4,e)'"fZjlmhdl3imrpVM!pLDY$S'mChQkMp'ec,6
+#ep[2jjQ!j$b9rj3K+iZhB"b&dT*N9C4D"b(XT+P#8Kr)*bS,))5&-ULPD%MYP*(
+9-N+T8!"VkDrH[eVpNI[!Drj(m#rK$HVShZk[9lf@(IChipl9ILM##rYha0mKl[H
+khYEc4J2ClGL(CdRYPcp[D6h'pc2F3'h&Sc0epS(',A(-MHcK%K[9leGeHVed-*3
+V'rGE('r[A0ehpGFI4GHVI`&%VVXPpD!j3kIU*k(d($GPjH[@QEh6iYqprc6m2`$
+lYX[@i+br6MTJEPMNT63M1Nke@(T0(G,SdZKC6j)h1lH`mp3$Tp9LY2@6kiK1*3D
+3!'b0Hi[)B#'`K[lIq4SUH#QRl4["G1f#dr2EZUDhY%9MmLN!C&0Rb)Xi'4k6A%e
+5b2pqP+UNUaUYkT,*85TSU`,)dYN`Hc)[`cHk*lZT[G&b`i2(mS[TiITa2!bCFRN
+LK@Ijh#lP89qXN5@VJ20qJ23JKqc35G!3d%SZc!CIq!H3!)rRrVB+`lZa#"iH-$!
+`15[!iJ[%m8RkLG$1P4%H)b5B`'"cqQd5J0rc'JpTGhh(VRlRl!bIHD&fN3$KQpd
+EhG6Hpl,#6m!'+p01aSPJHV"2(GcS,2hKPRiDAIX&F,LhY!kAJ`p1PhYX%ecZF3j
+q+"m)YQ0C9JHdY!iC[HpAG6HpG$$BlV0[D0lB!$Xh0SPCHZhYYFlI1k!(cT210Zi
+cY[EPFpGfmamqY",lcYBlB!H[6ihqYEMAm#)(E8ij9[$EEBb@10E9DMYTlD['4!m
+DccI!pFPCqPR3i&J(VeDqUc`JEiG2p(imM`!HV9UYI2'q+JBVPUakYQTf"JHG,&C
+`-Uh!brYR)0Z,X%C,"T8T)qeTCMNr#eZbF36T-5N+P,,@[mKQ%e%ph8`QSZ@'QKj
+ql@jeX3-dRXi6RLh2fHYIFYq8S'"pRaVi`024*mS'RQL&iRBR3JF4-*c0-14rYa,
+ThE)3l4bQQp[6lI"6CYXZQ-8qPR[JE@kFpa8bmlh0i&JrRPFkT9dFhI!eQQb"Nph
+k%iU,j'jc*f+%jDdU`c#DMHlUB6Ef@&S5D,+HMTm@Q@YCPAp1lNbhcd`-$R&e[Iq
+AF$NSC1@TB!jmbM18Qa'Va+G#q@+DLNH85&16$-*YkZkQ%fZKK8a&deV4q4&GPAI
+jFN5dQ,a314l!-$LMH!b8Nabj"5P&3bZ&4GIV)ipqZ8"JIedFHaKBaklG,(@ekAB
+rIqY3eRpS(br6'Qa[m2!"Z,X"cS,N&UfI%DlQ"SZlIe6CkHklI&@*V$@BmL"Ni!Q
+)HY'"cNS[Nm"Nl#f8XE,95eAQSe26C[jfFkdMf2%iP%mTdU*2LI%m5**L*dkB65i
+Nl!,LVM8DcHhFN`c3FLHlUD$NA,#dB%4DPIT9&JR)GK!H3d+9JK8DXp0-lD,YCUC
+HQ2TY+BPQ6@3ADlYVZQ[rD`0Va9@k9-q$QR%2%HJ"kP(,Ga+c!3XBZFApGf26BdU
+f)rR%eIarfFI"qA&Fd9iJ-8b#ZJ+4fl$epr'2aamr(!Z"JF43"`c3FMHlUD$Vf@'
+Gc*d'RG0`f(`)Id"l-2mBqk!BmX(dBHQL)T196bdlMZ6I+#e0(8J!1TTDLApILIl
+6X+Jc8'UL95iiCS1[9h8d(9d-1,Xa$m59IjT%G8GLL#+,[LXBU4-VLDBX5J4q3-N
+0Q`8D46ie24l5GaQ8p+N1hr%"UEXTSbP(Y8Ded,4CD'2R&Y-rE3krUeZZeMD4rL6
+fV1eKDC5,"UaND+,i9DDNH%P%Lq*VFD[fSU4i12#VC-haaY*D(epC[@C1VmB'VpP
+cfjTkXX9SqBeI0ZGrZSZ@M!m!mPTX&3N($LI6M"L*&Z#lh1pF&VQL0rFC$UR(j&X
+-d(SRZkQJp&b`P1pelr9(kq(9dmkc1q!mmA1VjD6Z3mS(,bbfBVImb`1G!djBRZc
+5G5VaFA"EJ'0G!rl(J0@REp@p3$RlNmKBdZ'4Bdh`PB5RF%XC0RrY[TipmURMjha
+ABNmMBkq2GfrhEk080I3UTH[pDZrXhl+fcVUZ3c3HMHlUD$lf@(UhpFrU9mII([,
+)!kI%h+h2,R&V6*TE[DaDq&BQCfR"L3JX6HdL[#aUQh2B"PaX[rqbbFfYCf@)CS2
+[9h8d(ed-+f4%5HH4fBZbR%'dr0L#%6L4%1hY0$Z-rjEDE'QX$TIbNc04FrE5mG)
+XTG+b1l5&2`EF0-@TpidJ$aMVA`04ERhiqQXJ-fL*qc2f@h+`Ye[LE,V*DeqYkXi
+Kd41k%b`9KcMq$01fJICQ6h9UMj2rb8P2dRkh8)DY'ip[QjU'hqjjf1G,R3S"&KI
+B@Q'2m%R#(J,rL@iQF$2P0IL8j%N(%ihB(LJf+AL+iI%iM3c)L*lZTN4&b`hd&rJ
+fZUkjDjl4(U2Y%,5N$!iSj)0H@,dKIGX(hJr(U5"[4UYGm!kp'hZA"3`FbY"ENDX
+P9K(lJ,NHi+Z8#R2FIpHcUA+BHZK3`pG,e$JPqX[TRp*[er23bi*r-hc@"bl(GDl
+Q[',!GE4!Fq!XL%-b)MHlUC%[CB9S[e65Yh2hG4h8Y+02`5FAA&jaF!0418f&1,@
+)fVZTY+E0rfmNc-6ZDD3@CSmLD4r*!c&%SSM&5SCN5pAG6)PG$$)5)SCRqB8VajX
+M-8cZ-(UX,G5cK3VGkiAZ*KmcUcCrc1aSIli)qF-X3BC,(3jG16SKiYf$NR[NNe,
+k95"9,Y8jUFL"e"JLl0j6Je6`92e8ZUMTCjkM[baM&4B[p,ZZ,GU)&L3U'6%08h+
+LE&PaF6ZCG`F&15&XJU)fY48Jrc4#"-Pd+IF3MJHS95&Cdp,)FV!-K+T+UFIYcpZ
+VYp8bRE`i4Q[14dr,Lj!!VDciCU242Ge04k,PKFNP5XLY1HUfYF*(@Uh&5R0TP6E
+0I3AA08!`08[99F!e`hA)E*Gj`396XeR0B`IdPqX&I!ci1)5C9R6`*",fI"R"lHj
+N*3,)ECp`qI)6j$rZk@4&e-#I$1T*N!!RTpAi+(H8"U+%eZVklLbKi-j!8ici31'
+DMdEhG68IHb`jPi(8CP'8lDLZ5Vjp[EE*[93jm'LC+b-Zrq"ijL[KYLf0$EjS'jb
+bKhIc0il9JY@ll(GBFV$X-e(hUlUDMkk''YaeZCe+-%INX!dp0BmTdQTEQQc*#SY
+9D4BZfG$V4+G5[23J+(&qrd"cQmkJY+a"h8rU&LGE%jN3FRXZ,fEMMFr-6,Z4pa[
+I8%0ZU05`dT1BYlDJ'eeCS+Ucja2JCLEAkPI%MKAi2XI3P&*6r(qrZA[SEr[mCGQ
++-+I$!('EqNmSKkf2[!j'1UGZ)r#(Fa89J-[1!m@"Fc,[E)ZN8D9k!(JedVAEA)q
+b'DMN6hG68FLjB9MI1H)G!b14QcC$P@,DKcZrK0rq4TfPR1C2kN`*300AY+AfVm%
+!"dqd$j!!PQ9Q9aEifP,q%$NhFI"!01T!kQ'STRfDQd$i-i'"m-QaiX2mD*'(fi@
+I$Ph)0Bk,cQheeq9ILqK%$!lj+Nf!iCU14[Ge04el,#l'9kBmC(RLH#i'"b*-K2)
+RJB([Zkq"Vp)"[5i'"flP[Mf3!#fI[jk2lZF`$S&2Ne#23I`c8GHVZTU1VSB3-S6
+qE[Yjb-98j910A'qRl([VTm0&qD-$!e3ckfYdYUe+kAJpL-5#JJ3)BDGZQU)kA!Q
+XhDVrr9N!`-$88X9p46+IZqb,VSZkAAf4D0&6B(QfjT3'VJB'VdB'"h)#jrMFh+q
+GZ8k1Hjp$ML+JJS(mdQCGeZN3JRYEMDRIDk3$UHX9c&'8aP*058[d[TpIXAaq$YA
+9Yl,kr4,MZ5IA0mJYH,HH'C&42Ge-LSZ@(kdj!5)*C$5N!TD@N!!XjCU,-Qc%Y8m
+RT-qEjGH2!"PebG[3k*'0k4jiL5EU'%93"U)q,Qhd`$[L3(`J("+rNJGm&-9548N
+V@#,1LS+"GGVAE!0G[!qSe[mD[)9[LRBV&B0T+1"NQ0a!"h&X-b+MHlUC&[CBH[%
+S9+$6d,rCC,5ql*lJFlPZcp@@,LI"&")$a4F99498VP,a6fVUJ'ZY@XHEQI0#,X!
+eDVH,`c)YkZkQ4Dk'(HMlr"JRh$`*b8DYdDhMkXrA,RjP!4q*NRrca[%Ya59%T6k
+LdPI!$`rYXcAj-UU[hIFB(eLHH1Jp[`(AqZ5S(KpBFpN4XhIESZI[1iMcTabMXZm
+jJ(ECpIpaL11lfaQhaEBKErY[GeDG@eVZe9f"kk0V69@49f9F'Z[jUeE1XCUdYD'
+VQejI2le-Vj+I#,j,I$hqkiI!2bb!Ei'&'f5AiJqc5f1bHq,`c)b*lZTNC&b`XGf
+q61SkqdeA(,ME&$lXPmFGmrrh+@"kNdriVq!eA9qNJB'"[d,rG[p*(IaeJ((Z!FF
+RRlqI`!B((AakZFApA'kPZZp0fq&JcHK3(bBmZi$!f1kqIIRSJE#LqI6!BFXr,lj
+816IN`BT(+2$-M)hZkQ4Vf@&M0b*ba3(,F!FYraM%XS"XDmYJjrhRSIP%"q9rSQS
+IaH'Y*8FDPKIXUD!'eCB[2&AEfEI4SCNDpAG6)eG$$F8eU,i2qFhNbIKA&YY8T!f
+VlD&h8RD5arqepQclINp5AR'Q2hajK8395mYrT+Fq[V5r5BJ5f'(M8F[i`)PH+`8
+F2f"m1LaSF'4`*11`$!`2bKr'U#lqIMR!93PH)9'LYF$3G&!*!FN3qr&mdY6-"iX
+0rr!Gp*!!-$8mJ1rr`1eBNIl1jLfSXLK")YpA1c-9DI-i9U-he3dK+hFXNPpbq"N
+P9bR$0H42Ge0H4FX-G)+F@YqUhI!bJd8JIj,+$G$4q8XS)!I"Z"rF#q*IRm!ehj&
+Ycp#SJ8$URm[jV@IJ@lk*kb2B%8YA1d$`dQffcqfcbbb2*(+6+NbPXT3hJ&m[Zqr
+XLpFl#eldpQMH`Cm,G9XE6eY2keeP[#ceRHXcFYKQ[)hZkQ[AXX-Z6aq,3ff"FNX
+N3'*BAfiIBfVfUS'"JGC-S4LPcV5!j'HI8HGqd5PfT(Vl%[ArN!$QhLUeDUZ'DpH
+VZTVeG$$UbkQF$IlmjCb&q52adR(4BMr0e!d(k!l)Y2drfYlRYMLB4pMGYX$Bfhc
+IbE*ffRXq'cSV2IXLlY(Gq&hcH$PjS2-PhiRE)lrIFVH0*4VlRa2)S4q*)BEpNMZ
+PqC%H96PGGrcI@AP0jlq#rkALRUlCAHbYQkHaA[Fp*HQZcr2Bqcrl"VCrDfrBcJF
+Y"'1YX!khU0[!khb-QHV8E69ZXE"(SQl1"qVm-db*lZTTNA,$kXadL1cYk0(6IA2
+kTrITZQfrYp8[8Ml%lG*p@2@*[r[[9pjrLJ$PcTHRj,Hk0qD,Kaq4`VU,lR"-pEZ
+JX[aUJRaGcE`GB)f&Yk&X,VRME[VNkk8ZffN&V6VPeVdZh&a"FT+MPS6aFLKbLh-
+#b+5`C'qEH-`c6)hZkQQ[CB3-$Aq*Id(V,3VA(Q#jF)i([i125cjCHp%$q@+fAj6
+VEUYZbQ!T@+(e5LRVeirA3!k'`V[SI)CTVeGe00A3`rHAjIqpebXqG0bGe1GYaE4
+59GVq3f`iIpBZRGb!f`hI+AbE`BFSlcf2,U"Vp"INl"L-Md'(fQ5mED,[RZr([@l
+d(,FA5errAT0E5h'2@S"d[,D"!B(&IaBbrf28M!8p&J(F@!GbVFAP*e"3A@B2jLj
+PTA)k[8[CSVR(@$VBpF3[2S+hTDpdP!Mapl8QF2CBdNUK9rY@Lia"hrUa4XVGc@+
+MBGfLfh[@k+'BC42Ge--SZ@'fN@df"kqP9X)"$M'hd$f)(fM!hrmMNBmU2&ES25Y
+JbXIEbM-,T,IF1[RQMarj1iE+X!q52K&Ki'f3!2#,aFl'QqU9,P3E'c18M'QTAjM
+pZ0)UrlN[q+kU5jp[NAhPAefIIaq,9[UXamdScQ0,mf!12R!iCKP'ph8`cHb`pEN
+IKe*HYb2jk[N$0mLqL$P0mPA++a'19AK@3*,QLFcFI&+mT16Mr@q09Shf`EjUI1m
+3I&-VE9lm-`cHVZTKQZKKAmapcHja[IIFCrCGld![MYDU,beIdXrMcq,PaS2$`mq
+C(e)iEA'TaXmlVcr[2RbJ3$&AkqUI(PDGlEiGIrUpZbhmdaA[2SL!EIk2NiEUf)d
+hYJC9EU5RmSVr!-$3D2U0LNT"qa3N"r@lqGrk'Z0QqD*MK+PM!6mHjjkZDAjBFfZ
+4CbpM$PbZ[#"-41adl&FaNm2d"XCl(FiH)$BU!0aa%%$i+(#5idJ'"`c)86hG6)8
+A,#jDqIEq8[+4qAh0rcRFY22S$!r0$c(+hBUmf+pLrcM!a9e3IjJ*I1B"JEk,XMk
+Lhm-$!mpIPd''[bc-I5!C+lI*69"Aj&!bFQAkrh)BmdAQlHAh,aHGER5EIeV,l"@
+U#2pZGRclS9a@'`$3H)VdSCN+0lZTN!$Hb`S%1cZeDDJUeMa9-9IqH(KG1AejbqI
+VibI)&mmA*QB930!@Z-EKU9dRQ[p0H9&`EHH"9+&ErRl!i5%K#8K$)&4KBQaPF`!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!#K&CrpT(NMj!!!!!!!!%#C!!!!!!!!3h)!!!!!!!!!!!!
+!VV$Ya!!!: \ No newline at end of file
diff --git a/language/chinese/chtex/MacHanzi.README b/language/chinese/chtex/MacHanzi.README
new file mode 100644
index 0000000000..f3a329c491
--- /dev/null
+++ b/language/chinese/chtex/MacHanzi.README
@@ -0,0 +1,31 @@
+This is MacHanzi, a freeware application for viewing and printing
+Chinese articles WITHOUT using a Mac Chinese Operating System.
+It is useful for those who subscribe to "Hua Xia Wen Zhai"
+(ccman-l\\@uga.cc.uga.edu) and "Chinese Articles from HKU"
+(car-request\\@ahkcus.org).
+
+The features are:
+
+* Supports both GB format (simplified Chinese character used in
+ mainland China) and BIG5 format (traditional Chinese character
+ used in Taiwan and Hong Kong) WITHOUT using a Mac Chinese OS.
+
+* The Chinese articles can be viewed and printed either horizontally
+ (from left to right, top to bottom - the modern way) or vertically
+ (from top to bottom, right to left - the traditional way).
+
+* The minimum hardware requirement is a Mac Plus with 1 Mb RAM
+ (512e should work, but has not been tested).
+
+* It is multifinder friendly and can be used under System 7.0.
+
+* The application itself is small (about 10 K). Two font libraries
+ are obtained from anonymous ftp sides. (cclib.16 [GB font] is
+ from 128.123.1.14 inside pub/chinese/ChTex-1.1.tar.Z and
+ chinese.16 [BIG5 font] is from 192.55.187.25 at src/pc/HKU.
+ I think that these two libraries are in the public domain.
+ If not, please delete them and down load them yourself.
+
+Enjoy.
+
+Xing Li <xli%mcs.drexel.edu>
diff --git a/language/chinese/chtex/MacHanzi.hqx b/language/chinese/chtex/MacHanzi.hqx
new file mode 100644
index 0000000000..487c04c4a2
--- /dev/null
+++ b/language/chinese/chtex/MacHanzi.hqx
@@ -0,0 +1,20367 @@
+
+(This file must be converted with BinHex 4.0)
+
+:$%eKBdKKERTT,Q0`G!""8&"-49K88L%!!!FpJ3!!-U&3d3%"Q+8!"c`MJ'GfD'G
+
+SQ9GhCiL+L9CfH)CRH(U*QjQ)Q9GfL'GSL(KfH)Q+LCUTHUQEUULDL(HVUAQ*LhL
+
++UAH*LTUXLRQSL'D,HBjjMEYlQSbk[CalQCkDR+ZpQlfTQlZ-QCakM,UZQBZDN!"
+
+jR-YkQUklcSamL*fTMDU[Qkl-LjU0Zkq,MTPpCK)!!54&9RH)QBQCQUQX[,c-X-"
+
+!099QCRCRGRGhGhChGhGhGhGhGhKiGhGiGhH)KiL)H)L)GiH(L(GiL(L)L)H)L(L
+
+)L)GiL)L*L)L)L*L)L)L(Kihlf9Hcid-E@aV@0CFQ1!rXVq0M4XB!Pq!feX16(jm
+
+IRf(*!CEfA9!0$,N5j%Vpl+N!(Pf-qaRf'$BFq-K"""$VEr@hm%)$09B5l#A(LMa
+
+5F@4Jb-'9bCA*YSeX"QbX)dF*2*P@ZP"$,LM4@1+$rRaZR'`32DLVA!0F@NDRbI"
+
+r&'V4U5)[Bi0MJS#1JKm!`%&T$RlIpHhrA$RJ-YT8D+0LaZV'kS"JKm!CM@aS)dL
+
+0+M5`)kZjMCpKQ4rc4rc@'BK"$cp[dp[diHI+`CI*Z8AH!*RLK5m&!4d%!5T""3f
+
+N-DdM4ieK'X%"(33"+d$`[hXVX-'0bE#0BX*G)!4B4JjK&Mdk!mm+%J`LP6`)-1c
+
+4K*(*NFR6aY2'3)F-S`-@%q`RaZC'jL"$JBl#`kVk*kd$!Ej)4*!!%G"$!0DSNdU
+
+2el'9BpHaj0Mb8"(34(3Fdr%MGp'lj!4d%4ZqRIPPpp150NQekXUI+BKmL`S%!1R
+
+fU$NUb#+f%U0bih,MGh'lY!L`P@)&Q"cUfA6XZICFQbj0P'XK*J"(2!NdFG@2eE"
+
+)4G@0a)h%3)X!*-$JG3dZhAH'#M!-%C*8T*@f#2K`E'I)PbT51QX15a0Q413NN!$
+
+J1!Xm6cN[B-dl"fKk$m&k@N!2X8-d#(j@X-3MNcY+'4")NL-dGL,JL&)RD8l54M+
+
+HP"&"%J)k#%"-$MSF)L#!MS)D"S4G-`eNLbkX%--$qa-Pe22MY*D,-EARS$)(4i`
+
+ZX#1``hk625@dTl"PNK4,BP#NS``8[NlD0fl&`30Rp,)ih*DBa*6ZT9ZTVS#)lYa
+
+2*eDl,M8dB1#`jmQ+#'9+I"jFITM"KJ1`IhYarEh2rcZ2lF(pjTlm%-ITSXQ+,8h
+
+h6re$&(j6JDMmR6B1Q`G0Ja`Q,SFY3XXC!4KE3mL9Gbpc,bY2)NbJ+9N"%',50E5
+
+*r,Y1)J-*1TL($,ZjqjRj9cBkJ+%`*A'SRh1$2j0cJkLI"F!5XdGF'K#0T(3*Y1d
+
+NDZa!)&`XB,'+a%$V50HaYq!4-3l(RJ8Da6RbCpKjl'-H[MDi!Jb"X22NciCi(Y0
+
+*',1,BFP!H)!NQ0FmQ(&N`f'@$%"m3CaL+D"-N!!*&'pL2""&%%[30$qi)G4Gh+-
+
+"ZG4GX-"D33Dd*a!LI@A2X1RBG0La2X(`YhHeLBYhjpMjmMQ1SfJ15"mm9f5k"k"
+
+cl+F0AI2J@GNMT%eF"@+9XCDbdcIjYK2MiYMJbHHiXZJL6&'A3kiXGP`"L%"!cmU
+
+2,#f)LmD2q@ciNbA-M@BaHX1IBBYK&E4Dc&l))X'8ZIBeHbHNP(&l-V9l+jpK(TG
+
+p(kXRQ`Fb(N`mQC'Q4N"1`P5CFITTE&+iNEVaXf`jPKbEAUTLHa)cfl(*BHATV'#
+
+4U*@SPL1c9TQIT[fY2qeEIY6dikDDaME0V'GM$mEE1'qN8SSH*FB1U`GAJkX!QT`
+
+Y6mffqEEIhbp$&jq,p)HMSpV"3kimj&b62#9bp2hHVf8)bGF%(2X1I(kG@[6V6Y+
+
+ekpPeEAVfZ6VEpSJHefb)1J),bRLlB%&VejfP6V8ke@[9VS#)K$5&0%%%0Yl1[[H
+
+dl$Zp2hfQll6GpTZldrDGKVlffpPT!(TV`L6)MM5b1'S3J#Z)UL*-p&NMp0aql*R
+
+9TGM,X8"(33J)a6D91V6Ub!MS)G"#414Yhk9iBrTB(3R#*d`j!*mdS#@Sfh,dr-4
+
+ECQE-c4QI2dr-YZ@Q*@#)RAp1X3S)Q`0E!AGkf06VDd"#5#Y(K&hTEZpV9p-qi6N
+
+Fa#Y$0JIBhG3%DeAH`G'KN9kQ0Lem@'VAaVr'`rIrNbkYD6'Tk9jQAQC(jp5S$"%
+
+#3%3%hpJ,Adih3%G"$!0&CFeMJ10CmNJqU)!*fTbr*&B)-'9ScY&q4!,U`YdVRJ5
+
+dE20XK$93Hl+0f-EXBfTMDN!P2T[X5#ekFV&(i)fbl(N`%18AriS%X@4S4e$rN@A
+
+2PG1("K'C8hNh(2!9L`iU!N'KC-%%lTbd6a!3C-U0`4ZJXNQ+a5L,KB)89,NkB,!
+
+k$JVbCG[BJ!Tcj,#%5hX35ZRY1E0KQ`S#1JK!5CRAr[S35*padi-@$&3%G"$!0MD
+
+hV2JJ%b''A$&$2#qB)5cPc2-fra2d)1R$a*M53HTIrSB)*p,&!YdjQ,-aCQ,EiYZ
+
+!5Ge`JhKArqL%(BpIDbVH0EaJ#G1E&E`LcbhI!rkZdjdf@i(hXa,SJ"qqa@HH-p1
+
+6-j-c0fllQrQ5iHD&(G"cT)(XjqCcSG'%-5q""FF5MSkr4aJ#5G'6Sb0'$4Jd36D
+
+0ldX$kc#!5TI+e2+ZFUjbN!!4d%DRf8`lD),EfG6`0IHhGl2[CqrRqaFj@Ze(Crj
+
+Y9[I!JZQ"kI[lUpeplVYrE24!1lPqcEHcGHaGHaGqaGqafRXGarQ#Ef,Ep,d3#A)
+
+l,pRCrRZl(irXGR[d5Cpb!5VEp1Tf@[e'[XGH#$X`22S3-)"rQ$Uk#K0,&BkQ4U(
+
+h,!KYFqaVYqrC!,Ef@KJ$ALcr6I3Je(epElZ[k1[k+!MS)RIAHa"UYEpGSqD"N!!
+
+5Gahf)"fIPkrbpIEX$Qreqrerr5GT2d)0U"kherPJ-I4)0PVr&erqH[p2Xr6l2dq
+
+cq&q#350ETDrf0IqIArfDr@krjQ[pcAqjVrKIFS'PVrqJ)[mpIm,KJ2KI*)%3#h#
+
+G0,!`X8lJ2Z@"Jf#M!)3-I*!!"d3G(ArC##BEk%'Yq[0phAG(AG(A-%Q`k1`k1dG
+
+%$ADHkZ4BPJrfi2pU!Q$rD)KIRHRDDGCT"lGAQ$HB2Ji2pZirHDQ!qK"Z@"l"m(F
+
+hM83(S35pd%5pMFrflRqhGIflVqh[IrTUB$f)*(CrjpRqIG@(b2lHkm&%QI4!,Ep
+
+1Z[GIU0hBEX%(GAQlINN#)"rQ$Uj#K"4'TJ2SX'l[1jm%Neq#rC!!"*XEX)d#6kZ
+
+$r`I3Je(eqh$Z0hrhhIrG!6GrppIdHim9j+Th6h%&e(FI#f)Dl%2G@`5l[Xrmh3d
+
+d82N3AICIXB'0cV[c[k%"23lLYqemVpVjAlAbZfq9X2XpTf(FI#TkMi)"Ff0cGGR
+
+rRFh9cG!%l9m%!dmUfj8[q0K@YcGEQkhpd"5le'Ue6f`JN@dJ)"YGGqIBf)#%"2h
+
+jIl(JJjF[GDMG!kG(PeGh[DDL@m)!%JN@`D"K1YrFlRAEQkqEGiF,fQ",j8[P6mU
+
+IP6riJSb"!"%&'#$GYNU[U!%c#2P@A%HMYAS&@5QjbYClXVPbZ@J)k#%"0ClVp"c
+
+[TAI!%Rh#a,C9T5EMrb@C)%GD,6*b$k('QPDD8J)CUURIbYYkeYUVE9)#@fUl$9G
+
+JJ*UT'UNB$!j@Y[Rfhcd",EjrBI2l"!6jmMjmKNAGi44K4'!Ci@KT6(UPQf-"D+U
+
+Lm($5LDD8q$3B(`DVGDVG!%l69GTUTE!-!l!q"Kk$*d5!MCe4#2)5ENl6X%GpCF4
+
+!4dpaP3N"#`Q@K*k"5*CVD8%Z62Mi+)9CG0Nc"4"f)30Q9`1j1m-Ll+1+HEGMdl$
+
+Q4jD2GMqETZA"q@(&Pp1C&D@l-LE62h2N@9Jp"4))FpPC4D4kN!#!"j*&lC@BE0d
+
+C'*ETj0TD4CFVPbHDNN(U@1LQ2c6`4aHVI@T[E-U#kq%NChl01U5lQ%2[Q,SjI6N
+
+M[&Na5BN"(34(9QC865NSiG3k#(6XR4Z4QeC%8E'0*PYUk0$J'J-4X@a4%H)i41b
+
+$Q5Kjcl%M351I)jm(2+ck`X%c$9BRUV3idh2XX@3YDjk+Bk6'0*!!12Z@L9Dp8dq
+
+iM0#-TeKBh)r6fCp#Yde,lN6D&1)DFcd(*FNfBV8)('!)d&'EdkI9'!)p(k"m+TI
+
+1CJZ+c-HHCNiQUa!q3`$#5K0ej,FdpKCAQELYQhTQd&$BV0p4h6PG0iYdNNk+ATr
+
+Ee(#eDA8GTUq&U2lp2bT%U1f`BbKcLf)Ga)L+eY+9$+KZ&Z+bTh9Y+8%-&+$L@[2
+
+JiJ#)B)E5+F`r+2dj)%!9K3N")Bd%S1&B(*h6Y#VK!'iH#qGel5'#8CN%qekF%pQ
+
+C9+Y)@@8Al$M$T`VVlNQ[bZ9$*KBAQ8VBD+P"$DpGd&+ff`Vc%6Rm6"9-Pj0`3%%
+
+M1HcBQPDh*,,1,"cl-f8V2R`G0TYQN85'ceRcZ!J,kQ5Y+dZ,M9l$9l$8l$8i9YK
+
+@fK,c*HC54JT9aF@NVXCABbY2bp2bjAYb[EPF+9`T9+iBUL'H$U(KH`#"RRf2%BI
+
+N(,[CbYNr3hZ*0)19@PfU3El$[RKN3)0-,CIUG22YH5*m8SaLFh%AC1)5@h,IiGV
+
+VEJ3LP)#1JKk,AIh!4+9$,+Sdq#I*`C1#Yh90&02YrJKpQ(fBICJr9Cm+ci5!QQl
+
+56&)DUZ%6N`f6&h,&%4-*e,T%6Z![pPL[K%TT5jhAA'J,p(@2TTC`05,NfAA6%C!
+
+!%G"$S)CEaNYi@hR$Ql`f,9!0m9QbQJ)k#(!3"TQKdpjm+AqhE&lAB-Y0ZYVeR8`
+
+aq6*$pC8q2jmP,8H&*dBr-Bjl0C4Q8a'Np1b&q-N@Q@,G5hX'-!jlJHPZ-M6AbkD
+
+T'am@3jN`bIe4e5cY'X-V,VJYN4iE$QJS'p(9X1ZY49kG5[$YZ`#Q"9*)YS4Vp0b
+
+@%00RYVHCmPBFD-fZ5dc`c$I,FpT%(j!!aTq5eTETh#(dT-Z6Lf3F@,%KVF`KlrY
+
+`cf(B6pBb!bqm-Zddh2YAbjSB3NYU2KcmiGKD@26YHDdpJ-4dfQ8Y@0cZCBm4lEC
+
+Fd5"53V5&a@@pERkYTVf6H0rmSI&,(Y`k+Hfm&Q`Z6fI&jl0TH#aPfM`N,#5rAX'
+
+&qY8F2,C!+mpRB%L1fMUjM6pfeFPBTlr!i,&VP'aEBMC#dB@&i'%8-8CY'A*l8Gj
+
+[Tk&TqHpF&UI@TE8k%!RM0H"rI%kjKkTFXlf(TFmhMIB%&&(@ZB%RRY)NE2V,JZR
+
+jYY+eI,P0&cDr*`1GG,Piq,TZqdrGbZ9EEUdGJFLl`MM5aMR+5pNi2Q-E1aBTA2P
+
+bjB`m@QB2*16TQ,fqaXK!5`j0M'YHQ)D+*-'R3Cdk$+"V!c#"Y()XK8TV3&!@dS"
+
+eX,lNb2E0cT,M@(M[N!$A*PHc,9j!*h)'C)I(LkEQ$*Q9UZC"LXLLbPd34Td8MZj
+
+(+ddL6)JjHUlk#HJf,FV#0E5lAPf(Gf1kXGe)h8M#%rcc+4$l%hb,E9[f(,*FI0K
+
+eE9),G8YAKq8HI)r,)RN!4ECJ1cYlkcq#"b)Qc@20BeKj50NaQ1$d@pGfHBcqa!T
+
+!FZ)2XimYFB-X32'hqQ%TKXiKqG3FZlPkPJLP[`)&%k2qBf#kN!$L#Na,mkQ#3MD
+
+jlp"Z8`eSDqdGDdcim4K%[XDf5rJJ#'2`h6A%FhKeXM+-'b`JmrBGHZ[i@[Vc4*e
+
+MNNjBlXE,2*6,Ii)*6*Sdl5FaZ[21c*')6IR6)e[D@1[I`2bV,RRr-E+eiRBmQiC
+
+L6XFmF4U$pPlGMZhm%$6AdTd%JiI'Q5J1BQAJaAk8#N#$dL4)fcr"!66I2JjPPdh
+
+'#h0MHfI3m$1TaU,RMa[jS2Y[i)"PK+kGNRM$Ck+4*YZ*VZAF1q-a)a5r!A8UGl*
+
+M2d(,5rMmr@2E-N16LBL0TPj0b)ffI`2bRM1iCA)8SLLASXF4DC,)%"(pKp(Ca6S
+
+@(*cj!qRJP`rPYU8AmFpAj$`!P5TA9Gmq8"$`bc*59K'C&Ma,$PpP)q0)l#4f"PT
+
+pV5rD`TG&aRC'PBYrc02+dmMYC'`2&#'PfQ&[D+J!DH124VDAFbVQ9Fb,PC!!6+e
+
+8Z8eG"C6j8r6hFVVM5S"8S8QNp2ie,6lTPd@4'edUldqZI`2@-EimUkI`H*EC*K'
+
+X1UPDS*HPrS[EP$fP0RQHh1UNcAm%#l'ihaT0Zrk$mT-B%JLcXIkFRHlAjPXk6D0
+
+!GbqBrS1kH9(e9Kbhp"X6Gl#0EFN4GT!!kfBhPJ6&4&VI)CXj8E9"pEk#rBX1&dq
+
+NrKira5VZ9VRp"i0Cm-T(N!$q"eLhSNIJ''El!G*j1RjqTa9MFkHe5Djem5*HULl
+
+HImRcqqaHqjYbb@iPY-k--Up3NS0A+eBiL%XKPIf,&X"q%kRRh(RbZCCm[8La5kj
+
+HSlYiX85I,I-RNajqQPaj9KlBY2P@%Z0jl99)jq'K0q&f2+Nb,$Y!-+MK%ejV*MD
+
+H9+f8MfEkaY,'`Zl#&Q(JhbaXTmEL5[k02`02GkHl3%l$qLdiM'dl$96jII5qTEA
+
+GYG@edJ*EA8[lZShqUJ-[CieHDa*BrPMqHDj1pBX1H`fl!@*+8ML5#*Dci8Dq8Ep
+
+J@29MjSL"$'iM@r6@DZQCKI@J[1G`8-rr@R!Uhm"X1*(jBp+N3qcBGT'jJDjMC*a
+
+61ATjIDcpJIF8-rY,VHkTN[58qimJ"j!!2+DJ`P40aplcp0%apk6df[[@"N3kLNH
+
+fapkp"[!MAEVqf#'4fN(Gm,Y1A,ljT%'3!#R&Mm`UrHHUmBbePpKfRaX),B&UBLJ
+
+S4C@hYHlQFdcLP"*j-Jq*h8F%Fk&1,rdKLC*Dh4L(HrckK1%K-*KMIjJXCRXDFp&
+
+C%E0G2rD[@GUr%-%'0P'dlhK1SpMX,q`kGVbBRpi6E88,AVVeEBdqFV*Jh%'E@XD
+
+X6VF9mKlXA9clMd3B+2R8(!)b1RDL-B'F81S@,*jmV&ETc-9V$(44Zq2i4LLNU@(
+
+[V#)F2$X)e2VXA%VBU6Ej#,cjl)Bc@q6q#!)!j"@kpUdTRA)5lC(D*k@Yf`9ApKm
+
+SF)p-PMLq+@qpL0*NSI5*,r""TQJhXH[,BYDIB1b3!*Z!k5rX2@CPA0GH-!e0(Vk
+
+GakJr3El&bh[6V1l`,$"0B4U#CVl&N!#)Id)'DNUaf*!!,G5-Nm-3Rq,&,j)'&A`
+
+Id)01)UZK9mE#MQ&AeRp"dbkJpc5Tb"$'@kaMCTE)EJ9N[k$UQKV$SBa[I*q$5d!
+
+*eEr"!1fhT%h820p"rD*VmL#8fB1PTbMN1B[lSm#GrUYC,r"""2ddmYT2)qb1#Xl
+
+D9-jFVQ2VEjBcM$%@eSrX2DFd+`5)NMpP'YIe04+IX3-1"BH@8$b3!%6hMCYb65M
+
+J3#2i)*6d`0IJMD@#"Tf-+%`q%*eeA[Sm3+%S!)T)M+HI)jKHjj-plCJYahhh0RD
+
+Xi599@)d#4E8J&(5@%Pp"Ld)$eK)I3@Y@'$LX6F(HM)PKal5YIX1kH4BpKBb(p"Z
+
+"Lm4q1(Ce$fGeRpKiS4b*h`[l$J@A64T4-LHDQMUJDhUhk$ZR3kN2k$Dj$kGBZ'Y
+
+2M1aSRk02MC28C32'*MmKmbF[ra'bRm$X!hHF,iXe*Mr8B&fNCPH'3`%!IB#'ABQ
+
+mpEVVJBH6[f0cEe!)DXLGjbR$KRYbDeD'QbM0(i(0UQmUKk1`EJRV(fZNeM5maB(
+
+#hP!"aT3cAme8jhA!RUR3Nk`Pc!Nk#'C4+01jN5[3+B$'Fa#0@p(%[KP%3H-'4Jb
+
+%"(!3q''-Pp`j)`C@kPGf4I-9MUPh+rN16hc#Ud`K@X1lXEA5CKKS#1!Le46E4qh
+
+eYQrdqUEeKPe!K")#0B&1(AGJih(HHGE$SQ,D3#2dRMf+FD[VUqFFCUG2ZShFK5h
+
+p&*6)Xh,q@*NmYMlEY#*qYR4MHJ1CHhL$e%+rf9ki"YEA4Xf#em3hAf"cGc*qq5*
+
+k"5)*qMb84,p(NX"##AdE#ZqL%*Q$AI3AD&Ak)N`9[`&Ulm&H#!eick#k#VqLd9q
+
+5r!BIBGSjU@qJS`,@MlMKSUIF+1#TmN!36YRd%d&E9pKpAC4(I38B&RdK)r"lMmP
+
+bIq)L2rb!2r8G(r"!r*3(j,!ri3"rfK-r+`Cq6hhqcJ(rj!(rTS(j5FIK$Cr`X$r
+
+K!(l6mIY4+Z-$(k#Vp+6TKHrBUId5Tr#J2f[54&hqd,(k85Vef8#(i&,pV[A@FVl
+
+(3[dTkMLRj88G)Uq`@IddkINq"p#"rmLXrq@l2bJ#qLf2q&!Ir*E2q#"q6!2SJ$r
+
+d`$m,&Rk1!Il+!r*`$mR32r6!2q(!2rbJ2TD!km83%m*RRc(2k&IdDkY&l@[2k0h
+
+pm,TMkrShqrlpk($ir$fAp,AVNT@*GRaSfa5ST3"+HNc4XIl`$b6*f1V8*+rJJqY
+
+lQdmh6mc6mc6HICmfekYRcCQE-cEc-ihjQeD09a)D8Zi0IIL%IAL4J'5U8RL-`qf
+
+i+U8'pJhX'E"QfF0R#&'Eq)b9pL[pL$@``E)pE16CRjLcp,EJ5Cr12bDVY)U8862
+
+AKrV!N`Pc,lpUMA1!aYpprjJ5dRX,[Z1(qX&fR#*KF@rfL!N)HQm)QrApNhf0ErB
+
+@KR)f4H*CkHFR6K%9Kif6rGrTAm,AUT!!D[-a!5CQRM-jIkHMG2J`4@GCI!H`p5N
+
+j-I4F,F`Lh'r-k4"d%)#98VLrS198a94SBfVFqfV*jqj@3G%JjIhm+%81XcBG'(4
+
+KdGCQdf%XAf-r`DGL`qKLhMMY2PP2%),rVc-bC*QbCXQF`$)#6-brCe'4p+5iCa'
+
+DMK%K"1'r4-(`[XqSrQ$V6PepAqG0cl*qI[AX,8@DJ3aE,RVpSCq4SU-&Ve3'5h6
+
+'ZrKGQ*l0BQiXM&PBXlVXf%*GKdcl[5D8D6+Ma-AF@PJ,dQKLbkmKl$(BrPQCZQm
+
+r6HI(jqQmr6mbESY[c@3X'AXG'!4!&2BMT"Dj,#Tm56c3mafrpD*KB"Ti&RIjDeP
+
+Q$I"CJeaC-m#bQi&!Q`LX)V"LPPM&F43)@5iEL#Pf&,XGlTp(6jZRDPpD1%Z'Nlf
+
+4DdIhJXYHZq,q$SXNp1ejVJ!jlfGU`iHHiH4,H%$kZRjMm,[(Il0plprBFQ1`5DE
+
+cdZI5jI6HHp+B2q[lY`b,`XUd'RX-4q)D'84SX4()D"M@HkI,h,3%D"QC5pSr3@4
+
+8i(9clUfPaE2!k[,XmfddB-Q$*Y0'Gq&K0RhA-ZM#2cj#jUB600K1*"iMlVH*"Sf
+
+HCCjPU!4!L$4eUp(B)rAXZ)kAk2&f%@YDLQq&aH[YDmR,iZAhqAhr@qKhrIp$[qJ
+
+!6VGrPrBNpr*(H@YNb0eBeDq0*i1VrGVI6c['cXM1i1G`HY`GIaj2#NiZ[aGEL`5
+
+iSH&$S6+eAG3iX0DCcEHpQeiBYENj122pb`mL6B`Y%(V9Id`iY[l1XV6BSEhE9mQ
+
+,Hj-2ZE6b04BaY#0SGeAUD'2SBrGj%M(mN!!4p((bH2&MmH-%!XE%0K`YeS9I@b2
+
+diq,MqcN9[%Lalha+i)-PSJ1icP9DdXEEM+H41kqTqI*iGVIcDAKF12fGPl"pV4@
+
+fGY-lph1UeXL4N9XH6aj14@b19NFR)bZ4PI*VaUdERbpr1Vc*'qVH0QE65Q5T[jY
+
+VmhMIQqM`0AM8FEXkfkN33eDm%0K)[+dc-dqPb-bCT62T`ejRmXh%eRm'dreRf-Z
+
+9$T3aAPE!bGKqc#qrChYA&JaV1[FBfYd+&,AH*Z-X3![DYG)$#md&XLNeFhBG1bb
+
+B*h%NaXUTAKciDd@IG9UI+iYDM"I9k1C4am$B8F)E+MCZ2TA(-Nk1Sp1RAqY*lM5
+
+MbV,5XSE2QbZREFlA6S*2b*3Gj[I%VBrjH&Qr9c2$XZ(BipMiPIa1rihIq&hrKGr
+
+`DqSRcCGAq5EARH2XI6TaE'[XFDRME$3Xq29jd($JpV6f-%UedSBfTkmq4i&E8l#
+
+RT8FH6K9G+$3QCPVr$CrVLhBI"cjH96Vr9Nh2+ML`a'+JaE)-&(bB0E&)N!!arXk
+
+d(%Kd0Cj(EhAblfcVfHGCeN",1mJTbYE,`BCm`@+9GhEm#(IcDpaS8Y$aXhHN%H(
+
+Kd[De0M'RlU+V@aq@)mEfVAaq9MeJ&D((dZl&M%E5+ER*Pqb(3CmjU-NUET!!P3)
+
+C4BXr&`F@0Lh8qR,SrbAeHqmI!p1M%(HBf"M8ICSip''MJG[`INC8H0FLb$I`Gb2
+
+KT1,Dmq6ejN9J@&b'cjZZ2qF`J%0'[4MB'kSe!FBq!!3"'44b1hr*mL5%d+jD!N-
+
+%INkf0a+mAKARKB(KFIa-A''`je4@h+R#abB2$Bq,D8SEA&"T-`TQ%J*9VlRFeDZ
+
+--ZZ$lir!&EQJDV@`C%%Z#i%RZE"6Tkq$'Ujm1[R8CYaUC9#iee(Z1chHjP5V1#V
+
+Q`6UG%$hS60P1mfEF8+2Cq&Kr[dH(pDqZVUdMA&H+K9S82`8rX82X8k%(f+[i04q
+
+$)p5#JJC"G6i)DPReDL3`[CPIDaFH,$bEIK3i81K$Pc,+hXG2)XmZCQGPqUjqepM
+
+ShRfllhlcbVcbEcU81"3iG(`pPrjl6pZ`j1TN6Ud1CEqP-d!b@KEqP,jGKl&@Z)p
+
+4#28%@,Hqa3Vd0IY[kZ0aIV9U(&SIe4F5qVaF5,4[2*S@@bXCq,Eqaf0H2VqjrUS
+
+FA8eV,LpMr9$a1bVm3%'dmRE@@UX4TeET4b#%eef(K6-`2QM3f-0M1VfYDKqLKi9
+
+$`Z0iG$`k(rQ,`k(BhhrREH(a[$qX"5pm,krq0hZ4qdb#M8!*Ek0`JCQl6-mE-hd
+
+QECE@2UV%AHD1k!pMk11J)J*Qj'Cb-c)Nal+aMRDR'X,(j&HU0&-K!4V&ENmMNr*
+
+bV$+0)ZX32BTe5MSq&j,qb`'a1q%8ahh!(+K9VL+dRf@$BMk-6SKMEfafeHEVjZ[
+
+QkrE9X560MDQaS@1ZVlLY'M6j&1Xp46DHN5@Sc([NHRA&Z&h$H`d)BKM"&ElqiU`
+
+id1I5kQ6lZqcCRVEEXp9ZGcGeEh'SBd@0AU4BfrJUiq0iQIMp6(pha-hNHYi2Cf1
+
+je%DEZ+YHEiFl`pMiG2rcXDZahp2&f',CiYArjJm'#V"J5idbaQ9jQG9cTQG-cTZ
+
+GV+fdjAMFRIFQCP6-VD9jGC4H+Y@$`kIK`H(9m1#VVI#eQ,X3J@&[i!Pd'"E)ICF
+
+c,D3"!4!5hLirD4BdEfV#aYH[2bUYIkRSr)mUK6UqT3S8kF&#VkQ4kp86LUrc`EQ
+
+@(M6D-fM0SKV2CMHfEKhX8kpKjj'hJR9S*!HKF6H(Fqc(iPTF8VA`2K6mkGeiCBl
+
+l%%!A'0P(j1V#$-Mq541aZ'-`&(0e,@-T!*j3CqYcpERlI2f0E(cm,2Jci-q#Y+c
+
+i`d1)$%EX"U%qTY*E8Pc2($3HM-p'VAQH2EaDbX1bSKee`YlS6-[E9lEaj&MDei-
+
+@("LbYm`iJ!PC`%-"@iPeI0m+(`SJm(Aq(MH(Zr$p$`k2Kh&a+eS`'ehmqih0P'e
+
+Y5)AR`9+D*T8'*N-!Z319q+("%[GELj0H(T3p)@!p+PdVmB"iH2[FbCAD@5`MFIe
+
+iG#Ee"JISFH[Ek&[S6"YV$SDhUH0KEqUH9(*NH`$S$e[S6G#U#*!!-QjQXc10"Vk
+
+XU0EIa6*e[hmhV91rQrifrXDfV1pqhlrEIpIXk'(p'hiZer4UYb%NU616$ckRX3e
+
+lI2Z"X($Rl6d['r$[SCZ"YH$UXU9ZS+Rl@26apYNAhHd-ZVAS5GYZllB8,qK$3`1
+
+ci1j0'A99GA$HbpG6m(rIJrj4YM6f-hBc8")+'Vl2AERF5j%2R3p9T)+@IIjq"lq
+
+(k@qmd4P[j[$Yqke4`IkrcU29Smr!pL+[&Ri'I4pqMe+2ZhfEXr`klKhAGEV+Klk
+
+(*B`r63rb0CBMKNFYj1J)2jQdZ04+6RHCkN2@UHV$5Q9VJ3pT4C-@)+'S&5c"4Dh
+
+YQ##,eGk#""C!43[@!UI2pZfc*XQT6lAY1erpkRS@rpG[k$30Ur+fAPI(qCmR2MH
+
+c,pb$3Y0'4re-CS`c`##IlJ+!)[%+2'MbkIAMa4iY65e1bSdH,3epk-BiSZRJi-U
+
+IV!X%A@Zr9qC5j!8#)E3iX8H[!&QRa4TmUaJUfG'VR38E2C8qG"XJ'#lQ#K$J3l+
+
++,"LNh92ej0'GkXQN#5K$YSXlZrCYDd'K"S3Hl+pXKVmQ(hSHP-q+TdSHMY0+rk1
+
+ek@*m@pk@ppk(SKmN1SP`ciBJh(+$`1lfPIEklE8-5YKiZpU$+I'KpbCbSdr!L[U
+
+e(P8G$!lXH[kkqS8ke(&(NC%ClIh2NFU9clJ*"HI&Gp,jR4j'P$dBZPb2LaHP'pk
+
+dk2MCYb0C*Fq(C)pLT@KaG[A`2EfhTBPpp&(d-M`b`d94K3)Y#IhG1[pJ*!%Z#3$
+
+lr'-*[P4NJ0XSF#TeF5,$La+`ZXLK[*YI@aFD,IM@LA2Z!J'!%!ZIP9Dq*VTPl9#
+
+93e,I'Z-DPlPYbT%qd)6+*"[HlQejZZQd!P`)(Sd%mME`mUAS5Zl'XlJJYkJ2XD@
+
+&!HSh*TDMrhZ1TKBm'1-DrU3$$QbV4Tpe&6hj!jbll9i&DMd+23`1Y4p`Jpqa4pM
+
+YkqkU@-DbM5C&V@-bIBGlT3)HG5$k*RAf,5!'S%-fj"YLh'IIeX+'cVfRjZambbh
+
+9VJ6Gl`Ib4j-EZDIk)hiThiSh5Ur&*Ql[c+25l,c,@2Ur(SrLa[$lIZT&LdVdqMU
+
+Dmbph&HmcYT@e1GC9Y0RBpRY#,,+qM1kpb+rr6cZ$lr)pEjImE5P"K12DrUJ!CCD
+
+3!2rkeQ1dlBNll6Y0kN&XNNPqU0aD&[Hbjm&5daS-D'TI`ipF,a@Jk9RrC"q@0l,
+
+&Y`YUP6i1*-(F0lPrZbBHY$d)HJ!Eh,IfEMRd[BPeie30"djB+#NiZkPLj3"(6MH
+
+kB61H0YCm2%Khm0HTPc*0[eVKK!+AZC2XlhR`qa5VbkPY)&49&AmfCbjR+QeYCSE
+
+63mEqMI+ZKk@drRYYbQeU!LbB+GD6%((Ff$hD2q[FrRY2GdhYaZ6*P`3fm@fZZ(9
+
+Z-qMPfZleZ0Uk2EkrjNR9bGIUrQ@NK4Ik8bpR9lR'h1I6iZalqRhqaiZaqC6h8E"
+
+XYcakX@"B*ZD!6`+h(d2'VEh3$S2EeRUpP@er'Zr9lRkdDI,X3*6iD3QaNdXQrdX
+
+$VBQGLHT[Jla-J*FmIPBSjl'i%Z[2k96T#bU)`embRASXU*5H"JFH6Lkh*)(1rU9
+
+*1,'M4iGAQ8IIa[SBfSl2Vae@1%+,JB)#@M!0Bi0PL`EmC5'(Z[k%cQ!H5I#UBdR
+
+(NV1QC#(Y0raGrVkXR!Na9+FQ,!D#1EBHb(5'UdC5BPXN$*'kNm2!b3RP@l`*6(J
+
+ETk5dfT8XpAkd!k-6*&!4J'BqHY),+ABfeMV"hY6p#mcVR1j'G[Krd3#0P$Nfq2F
+
+CkSX5X@$CGM@Q5VE-TD0,q,`$'LDLHb+4T@dV6@2G9pMPc23QCfacZpcV21eQGYm
+
+lBl,#bB-IBCqXmMX#Mc(-m+ekp[&VLGC*iN-kU3!ThAE!'PPA#ekqYLSG2Jm5iZ+
+
+GIIH@Je1kpK)eHI4qh`IKeh9MBV'AmVk@Cap(*qD0pj%)HEUp$Ak&hSB1P'd)KTr
+
+mB8$Xr8QqR1pAEeUHILHP-p+C$0T"JP2BBYPMcj1M+r*3kdERbHM6VYJ[PGNK#J+
+
+YfK+aBZ9+IAjC1M"lN!$l@ZrcHR!V)DA6Mp9"b4lF'K+cp6rV2pK"U5E'Flek12i
+
+AN4[BIf3"2F@81*&1R3-YaS'!03l2XpcZC8BLIFDKaYGaZmVeH-`&9q0a[#ieVaZ
+
+0aVVr@4md*acir9Nk-2j*qHkN#d$3D%2Qcj3Z[M3%8LM"Zi,,5NHhBqc6q#6ei0'
+
+(3LpVZIBMFNaeR*6&5j'Vi5+GAa10LFE`!NfrVb2QlL4&lNA,X+dBHjN&GN'N!QC
+
+$QDb9pL[FeZjVAK5dX-c6jR)dT[B$B('QeJ#!'eXK##1)J3D0TNfHEDpFPV+@d!5
+
+0B*SURNFE"Pm5ia94XQF'Gm!cEiJ$%$[cc[#5pqRbEcelcc+IQ5CYASbELVdFATF
+
+2TI8kAe1P`rcBZM9dFA4$i2j'(`4ifrMp@FDB3XHj0A5-4aQ)ma`qBV'cp6Z[6Xr
+
+9Q9YTRljpPJ&l6U`$8'R8D"P0%5SZY!ICD8Q"1(aB"&BC5NM3jkNM3F#eq!V%EqF
+
+5RRA(m%2bmfV1lHM9pr)p$)mVa20UjR)ml)p6jHjPF3PMF%F*m5$&Xrci&@(!ID#
+
+$$`)H(1bBGr9$@4LE4"LcM(DqcNfRjl2I`eFA!F%',-hk(PM'X1CUqG4[D2KFAr$
+
+XlHekqT+peKT@[6T-6%&E@*'-!hZ4[C4)#b&djHj8q#'00KQfmfE0r00Z*X0#CVY
+
+Th[[5E50cj@r*-%EjGEENeSA`!)aihF9aCpS@fCVS+8DiXITeaPKRq*e["cr#cpr
+
+RifI`-rKCrLjrJp$&mR&N35[P`C'E6Y[QHZ'kcmMd2%p#Vr(b$(!b20b2+b2jr"h
+
+2bmc)K`*GAemMhr%cU[QmMbFMrGNIRBh&6h&3(eD!cE$hC'EUiYAXU1bSih&lR'r
+
+&fH9C&bkETA2APjXl3*N!b!RIac#9b,2Y#rVhqKX0$Z0$#c)dUG%'@U6YKYHdT9k
+
+F1*8a)Cd-YlGIcN(VYSFm#'-q@S-UP,Pi-&$hk&@2p52p6khkD%kqNhh[dr%faMA
+
+d2IT4[%VpR@q4,UqANI&NHGNHEp2rPpEh[TfQ22aiXICFLY`M#&aEh`UphJhCB@q
+
+2QEHRErde2A`rkF2ekQC$r4$Qe20KmU(qH(f*q$,&TfTVbXEMP&K)0$QrB@j0JSa
+
+[#&d%V&)lpHmbrMjIHeZ4bTRlejAj(Sq&k-H[DqMa[4q2rAB@-D#TJERUiFr$K`q
+
+``kq(*`i-1%FmiZUjq[j1ZUpcJ@(*PT(KZ+G'KX*eI!k9(TGRAer5hI5Nqp*XC9M
+
+CQ(A-[ED[Y#"f0`+`fqjX26&+0'CpV9f+K2dkrBa6U8fM3SDlDplT5)@F$22X1E*
+
+R8T+df(A*B"1U2eh%QQK+IbjHK$Re2Hl6qlYIqPAfCR[6-qTRNK(,PjGj*ZC1jNh
+
+)iD""pcY1arDrk92C!dd3Cm[hlc2RjH$*RbN3#VpcpVq$Y[U&VchM*SNcIH+,([h
+
+fAG5F'6JiYeHd+qZNkQ6aUe#a*%2IheEEGr3qPHb'S35acJPVP3I6hm@"cYVTElp
+
+QqcTY#hSA&l$eCFq6BfANDq66d+1MIIG`,+MQ82iYPi9pRdG#MdE[mrGN(rA9m$Y
+
+!LhShhSMl'aSeU0J!L'Mp'MdD2QGaYGd[S$P8c#&R$*)VGFUbqCDEh@ck-@lZ*2j
+
+,@aN4XM-f-,&VhPFM-m6lpPqH!5k[p!MNMB*C26pVJ,#0*d$BiYIX$X#IZDIk)[a
+
+4Ii4G+RdZdmb$%Ur&"dS2m)Ia3rLLr&V[YELaPiXk[Em#E@a)0Ye*[(Q`6G+Pa0l
+
+lXhrYUY',r1I@`H2,bSID%PY$NIUKr[THeYrIfqPLD1(rIp&J8KpZAc*m-cT5TR(
+
+YqaVi@EKD1`dHekp[SkM3fZKfrrah(krNH4'XEQa[2Aq0SDE0q4kr"rr[l@aXrkH
+
+bb0jNE6r+mc+'YScEqK,h-r&e"%pY)qjYjr9[19XkfQ0rMj2m01[5cEch+(NDXIJ
+
+@(*8J(&aVRpKiTMmSdAKUN!#[&aF@N8JCp'(R0MeEH(Uc19V'3(0Tr$9Vlh0QHjY
+
+P[-45ZZ$JkZKHdbUdi2Pi@@Q,)MB1$LaErDF(X[JX1[BGAXFRXH&EQYYpI'TF'mh
+
+m[TMMiT[+-69[*PIDHTYr8TqS4RI4QINQHdCc(N@eLh1q4C+BT0HCGjRM"bM4`+@
+
+V'B*Y-4Z)T'Sf3-C@0S!)%1$aNdB0#Al5IKDH32V1A1VAZK`(Yi"Ek&aQE6-YS,'
+
+9'F+"p+mj&Ia[8hhU628QHTV24l,mRCqemIapaj&KP09J,FC8!-kZmTer%SGaYT[
+
+L6IlU%IA@@j,,eP&Bm"5@AUH5J)ZV@8X0mKSe2,K@I$d5b&@%@2IKke[l[)cEceV
+
+!VI09-055pe0HE3lbpefb[UhBjFh(qY5Sh'bm5CPNTiacCQG8p9BR0[TDclqf[H4
+
+ABa)'+&Y)KZe5rQFdUI2aUIE6Xp4ZCCe``aB&lH9jr%iq6[H[$qbSfEhAZ,eCMmq
+
+I,'6db[h2UI(p2CqVqe@dqI-p,k[T'Hl5[FICHeVV''LXJFjH'%b3!"*QA$"0VUS
+
+($jTiq"U+F8&jXDpAe2"S6U&M3N8,AAFI`S-EBG#imR6b(`3"9r%3#P"aUqq#!8[
+
+0PbTFZiT3m6!pJ,"RmI2hSV!C4)"P8,T9THI+PfGZb""Zjr6YXV%Vh1AXm[ieE6Q
+
+PjifAH9VE,N5cq@iN)3"$aMD*K!(38EEbi%$pe3%YZCFM%jcA+mf`2Lk#AfY+Ra+
+
+)U)8qmqU!6!V)&83#G[@h@IG3djK06KSiH"A-M1V4Ni%&&S5h[EdYe,h9%Z(4'bY
+
+RFJ!M!4Pim(L9mM-`Y$k2Qph+eaDEl,4Mc1mUq*dZda,,iTI5Y[-[2LTqCpAlGck
+
+QZrRX0c2Pbk9`@2Y`(!4Cqbcj"Bdl[2TCp)"d3F")N9-Z$(ai6K[i'2P92)NlXR#
+
+l#dTF@ihH"DF'4P(8a4@EA9%4!q!2QfKeJEj(dCfdpDfp9lm$M@)X1RBFk`mf`mQ
+
+`j6S@1RLMZK2KTK'Q#DBb`cV$eV$eBCm"fT94DPCdYCq'G4`,lBqRmYV#K,BM&rK
+
+qk,ANKXDF,$p)EHhj&H*fqq-!'3b156e#633Q2FLpV"C,FB')dINXjm)d(2K+(Z%
+
+fJ&lX"SYZL5$fi0+$RUe%BTrYfRZh(ALkXERac(HLM%akRMD%3F&qhHr(Vl21&S@
+
+GE9[UqPI9lc-LpfIbci"0)'fcTP(X+0ApNDP2cUIqPjkPjkPjke2eENT[PB6L4Eq
+
+KATFraZEpDp[UqhcVc1[-kmpDmp@)rK4LejC#qmHTAQIf6HTVFqCimhN8ShM9plp
+
+'(mfdfdZA)LhGlX9SfkAEhRHei-Ui-qAB9MCmVE$2Z2FPFSlrmDGqH5C--*N*eIm
+
+E5MFIKTh'arjBArh"pUGC34cDm9%GR&"VD8kPYmRBEh#dB-fcK&3-Q9,MB,-N-b6
+
+4$VTam8pqF8fM-A&9e)DrENY`lQ$$Xb#e"Kh'(FBGrKQH4$SI'Jeq`ee`6[EMG9U
+
+PdASrq[(jH2H0m%-I5j'GNAeMHKhXrGA&5YMZ#$MMB*H5@pdYpRH"IIC[F8%"#4d
+
+Th2dmU$cC2AN6h-@Cc&!&AZ6(bUGP"Pkr3q0Qfel*XU[Z@N-kpRHe4bpIQEZ%DLB
+
+,M4lTap+R+drQ`Ff6caZGdiqM*F)!jKP%c#EMi&,(Kfh`4@AHr$)r+)bHjHHb##a
+
+XUZVep1ii[@eRiYYHE[hCeI'mZ6[E,VbFq6NfAR@Pf,9Tjr6k9Kqqc)%cE2h*[Ck
+
+ra4Bj,MC0Kdl8meMpYC!!!Sq$C4@HE1VEIlrbr62ZMcl$Q6M$#MAGMHeD%1bYkdk
+
++KHkq[hqbZ-##iKT4H02r(h0NakppUqkpjjqf[+[Vrl-kqkc&MR@[Xkmp#mp#mbl
+
+Q3ll,A(!TemR3hhmp[iX2Yc,JM1Hc-Y)D9Ydf@A8jH,@S[@CaGDc1l,1l21q2@h'
+
+@5[)T1b6MbbjXIRf4a%3f["rc!Ta*0h*N@9D2T36qeL'Ef6JD'"PhdHV@0HA3`2G
+
+Sqh4jlDrUiR!i32SJKZ0EI9phHXFr2#!*Zp$a*@6Jk&cPhNHM@N#MRGql5pZPciM
+
+G[Pe'S!5VIZ+q`Kf2`mM%XrLj'ef0EBiAbIr[IE1A`CrMbfUQ9UNDCqZEqeV2eXi
+
+QKC%')[YVHK()F2HiP6Elf(q3!(3%EEe0[MEI'hf0[UNcJ6H6VDZV`*II3r0QelI
+
+jTP0GrYUe2[kGE%2J*D$6G"j2-YHBm&'LE1S"*kra62%4S'0'RJ9DdR&eI#I$F4I
+
+46@Idqa+r-Dqr4XYGXpGXr4fISS#E2dEcq$AGch2KEZqPA6VMlZFZR@Ej!6IGe2p
+
+&PcE2cCRf["bLAjBh'ZRIk!qlEirSrl(K!0Rr,3lQMi@b[ZdZVEG6UNh(Qik!Nh(
+
+$$2!C0aqbqMGFZIBl,AGPrT)ehb1frGp(BqMCqMmEdIM)K(mYjq+Ki9%)!VhMQ)j
+
+)KXCYCBN%2jCR,YXbK*l1[ZE(FjpA(i0IJrEi2rDVq$Jel2+akjeZCq4@iBm-aDd
+
+EP(&lJ61V#(63m5hp2@8aZTRH-TSbE[$rijIaGi4IG#4MbHlXAF6VTak8QiJYCFP
+
+j#8RZ+b%!lEk@1b0-6Q%Q!`3DEcf*#D-2ZAhqZ$l%RU`HlEqjE#m",[+YB6FmpHj
+
+'drhGlm-%9Ve8""[e)UeSd0@B0pVq+TGBQ"r*pK2)-CErH!!50B4Q4EP&d@VlEk'
+
+X-4M@rrCb2pF-&3f[LbjkSI8kr&Np`rM%!e5cliJKKeYprVh)YF(p8qHpeFT--F8
+
+!#cFZGT()+M5+330BSXA")h%E&Z5Gp1NkL4+Kip5Cde6D%d-@ihp,IbkXE!KJQB%
+
+cTc1691mkEAeQE-j`DEcZ00`lFBL`PIi6![[JSj0(IhhjkP@,eSckD!333@m'fXq
+
+(AZ)+0aDA'Y[pAIp[Mr-d1b'`(c,J*V`SH2$rdQ9kKYlfpDiaiIac2YEA'bD@pP3
+
+iY+rPbKLiaN"8i%`kZGBaN!!EDibH*[4N"5'3!"BCF28KlY4GUZGL9MCjcUTN!@p
+
+j1VrCA0l&+i8!5!YZp$JG!Hp-*"Eie[5Z*9,&PhmD9'i8rMa"3*I3PG$M[d)*@,V
+
+4je3MDk[hR5Up)"A5eh5ieI`SE@TpQ'kQ5+kirB4I"&Ph11BHh*BG8!DEbGC'fNE
+
+8'[iC,`Up)Pf9,8-pKQ[p3VBip`6FFePIZpIMdFE'm6VC'FJ*iR@qRk(JjC6-br"
+
+mid2MdkM49EVF9Ih0c[2QrZBHi`kZ('`m$$l@i`$-IUPpah1`3'B`Z%mkGCS'Rb*
+
+'9Zkq`CK8E$2qC@Xl$@9pCiqamIjGHc!0V+qRX43!C)3`LB(JMYllF25YqPV28mD
+
+KGH&)cl$cT-K3A*2ZkMqqRAiNQIUV,VLL!53K95j16Dql""+pZ6S)2IANpRT,B%X
+
+Z[+I26l)PJ@L&Nh2XNPjJJ+%m!+G[*pTC,dL*G[Y[kYpAqP(Z,'Bcl@&b'+1*X`e
+
+D*0e)1G1!`c)X$`Ek[4qh4k5c[U25[[8[YIfrc0e)Bb!F28G"$i2JJPr,Z$5qLlH
+
+RKHK9pr`Fra23m21m2cI$jILHEp21m)p2&Z(3QKP8L`r"a+p6lH(dX-iBm2T%h,A
+
+frc*FL0P4Uqk)hQ1-YXHYN@'4Ab2(b2(j&Ij2Mf(Mf&H`X9GhJ$i)P-DV6,"4$'H
+
+f$3-8hMrPBe-eHS2Q3FUU3MpKMGaMAp5raPS[EKh`[je5Y-reQqRV)VIC3p[5Z"F
+
+"a)HIY16U)cNplR49VRrANHRL(B68lH%8lYq*F-%%UjJpHVrT"3f(U&(ib(!#H[X
+
+D%(U!8m+$ZS-U`rfr*qj9q,kIQH*mA$UJ%ib"(dr-mEc1pq+`mb`rh@(hERrEHIF
+
+l)"RGI&M9Hcq+6aZbq,9eEcc,cc2XI&HHCFrlVRlXR'Jd*QE"S50dYc"!4[imc*!
+
+![FPRqGM4EU+TcJjcrA)p2a)Z(pI(lI(Z125l[L+5PBKJ'QJqP@j(q[M)`(eiHhZ
+
+,M9dYIa,[RlJ%$*,aD@NmQ6cb5&lFl5P2M51jjhqX)%GmHbQqYV1E-jZdj[MFd[H
+
+mfCkG1ZB1Z9$PcHSG$[HcIKKS6[d6I&fhrMMBq*qNhB2UEArcU[QPpElH[QeHPVr
+
+-Tri8IDerm9VecTpklGQ#2cih*dmDcrHQH[EHCmIc2PqC0k@dmcIHC-mbCq#CrT0
+
+p5Ci82Y@eMFmU,,l,U@'Ch2Hm(iCp#br4UI&e2rLKMd2dr@aU(e,VrcGr0Prl9k1
+
+`RqEKk0,hG[m1hq,%&Rhd6dGA`R,cCiCb,RaFq)QG0QTdp+,fh3P2M0@J$l`@m'k
+
+"ZT[$QdTXZE5SDhAF([FU5D(PKbG2c4AM-[2*h(+*m5#4'DBrH'6$eeqbf%'QpG%
+
+1QlUKJDlHper9BP0jEM8f[1aX$JC1,[F8Lp-qV5CYjFbGU,5jX6-@NfmM"jFr5Ld
+
+GPSb0'$4l[4fQEY,Fk`*fUY0e2UAZ4AamA(kI#j[eEhkCLMBr1b2fFM1m1qhp$JI
+
+jiXq8M*NAk$rGCl@$&UFZ#if%AEm#rmQrT8F&,B*icCJJU@FQZ9,XcDk((am2(Ym
+
+*Q$RB#dL8H%rf64qNe$meKdVK@,)YT@Eq2dZ*,Rf-qeL[m8a!kpAd0CXYEcF$Vl(
+
+pQac[Pd,3q[i1*+Rbp@@mlFS[3Qh0m+j(ME1kR'`YIV*1cJi-[aiGe0rbYq0-q9b
+
+$p$Tep[Bdp,%c0pQEl5Q3!%cfiIiTYH0hdEKbq!)#$[L(e*h@)((Uc2`c-fqePlY
+
+jr"`I(Fkr6ajJP+jd*UHflj!!V%KZ)FPKd+B([5IG3'Y[JM[LD"cj*T,3Cm"3`Um
+
+UiMDfT6Kf-1`U01"(M0H9)ePD+,Y)[PqU8cNYBp1EAX1AUqT4hI&e+k[Tqke)B$6
+
+r+h'CVT0#[Xl(6D4AHAV6+-IlSkQ['KRMU'EAe-2B`eA$J*[8Qi8h@DhClAJkVai
+
+aA`&mQ+0LXUrrl"KY'er9$SDRU4CmpPjlF@0iDHeKPkHYb'(q0r+e5`Z)bZ[5)UT
+
+%)FbpUe5aXUji8elA,iXRGl#d(i%PFL89RXV-I!A(UkhrP6Vl#,B4B6Y)#H0KH*Z
+
+X@Tl'2Ab16`j'2@2RkPMi[(jq3jcr$#)H,6Bf*'qcG8kjQ[Ce2V+D4ECe#TGBfk`
+
+4N!!E*9S+KQr@m&aCc+p,-bG$Him)H'S%%rNdqIHHI6p-DFCec4UrKNdYIiYpkG'
+
+RJDfq&B-'Xc%JLdp(FH[FpDKRE21dfGCqYmReGTbGTPAQ9H9jGE"bSUm@I'cj@H2
+
+r[d`rP&c@K-mQCCDfa4`'Z1KkS')Xk2brAj(@m21m(1rGcU[V@IUfI*XmVpc+fJ3
+
+"SJ-L$erTpEa$c!q@%JXr9eR*b-VjH9V+mUYBbkTSIMX#(!mZMle(4`0'MSQl9Se
+
+0(Ap'bVNKpmj[N[f5jplmc1Qi&aUe+8Pb#e4a)1"#D5@(SLrcRcEU'U#6U@p)3Qj
+
+mdK3U!!a)iBL@FZcj-(*PFq(&Pa4A%qe`9ir0jDQ+VGM&DdTeqA#,j4l*#8!YKrY
+
+3Kr"9reKqaEd+Y$ArBepI9IJZ+&TpLEGAJH"'LYZ[1j,(ULRGBV1*M*PimA$Rm$"
+
+-b3hALSTEjrdLBKNeKi*'KlZir6UmrAjjDHMf,R&m0j[2XKL61VGKXSm8GPSU#pK
+
+TcpE'Ri-88@e[06AMd)p#bSGM3l'[Eh[%!SD[LIKmPMJClkZJjEfBhj5rh@Tqe#'
+
+JD&,EP5J58T1TrC'M@ZP)r,*d)-p6)&Zr@`[%qVVlReE$q-bjX@2`)r$MmH6iX(j
+
+jP@IJ(jb,)*KL5"qbdhRG1"bF"BlQViHUm2HH(9m2HIVhPIHFEH!-qaiHi!KZ2#U
+
+pcZFU0,M@qjVe)F1TKaBGHTLiHIKjH*A`ph8aYcVieT'NEQA9YmD[M3ie5T&M9i-
+
+A(cq(PN%6Gm2'iq[a33DBSBH0imclFb[9qh-qhYkp2aq0q$%p%Y`EDEfe[CA&MBb
+
+l@hTHC"qDVp(@`lHrf10K*qSpXB'qhel`0aP()"bEAVab-mCf&DE$i1EB8SdZ4bE
+
+3HX3mq,fm65Bhi3%d6kmmXDlMH$6NG+Cipjp[ipI[IYmJ+0HH2b2`H$k0Kk0RYZ0
+
+feeC5,'0hIGG6Mk'2SBrra9rqmIhXMi14e-MUF2rT`qMaqMhIq%Er#0peBd%kY(J
+
+M`!%Z)jNr1I6MR$4BFRXAcfT@[Adr-Cc8,'1eT2jM3@2B9kZ0*aV2'eR[MUE'f2[
+
+r,85iDk@IRGK)X)ecbh0Nl-Tk9bE+'ij4+Dbd"+YE"NDJMh6BdhV(3Tq[EHK6p#R
+
+r9LI"L@Q*j8h[c%'VDU3fN!!45+I[a5ElhMCdpqqk%@Y[qK4brMk[Z2F`C'jaUZ0
+
+`Dq0MBel8Vie'#PN9q(LM1c`Z(9irKBY@0ZCFV@l#Ee+H43Uklrc9m2%m1D!DEiF
+
+h`j[aDhje,XTGe,lZ((YmHRrcerVlV3l(3U9j1K*d-"J'NrMU9j(*l60TqEV29Xr
+
+3qAqM)Up[jGR$CQ-*XIGf0Ea10YqPIrfGT,)RLe-Y$)mMkPMa0,K(IeN9XIRFMpK
+
+)HSEraF&5V)Kr0NcY+MprZVf6XPb#5[EZ0+(RdHIVKl"Bbbji3J)ZPG9kIPm@'Mj
+
+DP2+90Gp+0AMC5LJApkETe(&fjS$BTZa9ll'[UQ"ME,'#GlTGA#r!V2HfR1Xpk0c
+
+)DG5'+R8fh&[Z(YZ,9VRLi1$)F@TS61[El+iaMKBXGTAEZ!*G"-PcXfK$Vm2(Udq
+
+MXqMXqL!DX!E0fIPl2lQZq,FEq8EEai246ZE3TDkrqG4eGpDAXL+dLYBTRRa9m'T
+
+$2QE*CYKMl5"cTLfrX6DqflrMGrLGqD+(c04)Pb,M,HrM4k"@I&Pcj1$)E5JqYMD
+
+qr&a"d33V,ZjUC43mfIa)bEr$AkCMe+81rfLl`2&`r-`rcElcEHT-k8hDbab#II"
+
+fI5m@N!"#0lcjR+QeTKLS$JV*KZ*FU9ZS12qeMdmIEC&phY$,UmQKZGY9[PrrJ#G
+
+R8h1kM6l$CI)'r!mJNH)4+1(l(L9r%lqVhrLGr(lq2m`S3mph&3YG+9lEdd)Bd'*
+
+!$AJ'pLbH*5pfCpUE*fqPia#JQHEEFZmbVNE!24S0TQkN8UQHP0dYEMcG#B2j*fN
+
+FV`M"-VBHK8hSbfM-T"!%m"ANJ#DN9k6PBEGB+Ka"2ZR-kXcp4*!!XEAm(Zpr'a@
+
+C3%R&erLGE'rHbY0hr"VBY(a1YLdFALiZ[aGEJb,'aXSmQ2Dal2c"+2c2!k4+Gmb
+
+Eimb2$(KrJRHeDj6(lqrU9mI,b,[KdL1l%!6*ir#l[3X-Z1-I`Vr%Khp[AqPPmLl
+
++#V-3ZibGA`YISI(bpaC$4jR6l$H#[iX(R-J!l6CFB14-,qpYUdZ#i""JAPjAZGP
+
+b-l%'dTHRf4!,-9G##0$(dYDah'0mqL01p'6Sb2bZ1m5055VqBYU%DXUG+5$TeDM
+
+IGdYJ1+bkXLHdlq',N!!lEfeHrdG[j1*AqMq2HU3D5$jI,XBUY[UUqmh0@V[-EH9
+
+0jZJ#3IBYp`BGqiKUdYb*!15p4"XQHp[0TGPke$[Hiq&B80Vea"l&PLlqCBlJk9l
+
+bYXj%LY""hGlYUp++,Qa%Pq8c2r[+ph&hSD#BEI[)VH$Hf)elbEfI6MDe&kBAk-S
+
+Xia&pIZ[md[Mf1(6U@FbV9PEfVm1(dYTAfQMKk2cI,QcCh5SDhl'C3J[[rLKXkIq
+
+-rZ3N'bK`,`j1Hpbq4@Q"414kZ,Hac`Tb9S[cfTI`aYlc-R4TG%c[ILf[j[XqlKk
+
+1Sk0lm2Cqph0SlZIb*mrL3rRdpH2Zl(K5-AZq*5dEc-feVUT-Em9A'Kf%`9MZYeJ
+
+I"aG#qrX-fA'0dAlepYSpH`l@aZq`i[BBhBE[YDrEBhFHrf[LGVMGVM)$G[MFEhl
+
+QV'(!Y1%T3lZ$(Urd!)*6Y20S9c[G)5P1'k&Ml5J@CY2J'2-Hfh6jP2qc,0R16`Y
+
+lLa'#h8&616+XKcICqR$rRJ8iE6"*,p+6,NakfReBF!bd[-kdhAh%QPUjBprNB0P
+
+a#QQFZZ[hp(JPJRMdH)0CF9b`IJ5E'6(UrSercUEG$ATG[jPVUGEiqVr&4m,ApcZ
+
+l@6BlRFe+Zja[Qe-2')!1k`l`dR[bBRK`p,ihU8HfehGEQa)EjHpT9jHABAFDP)2
+
+A'8Dp2%i8@KY-Zf&`&LE6p(l`fIcc[6V8H9J48EHMk0(e+[r$Xr6Nq[)eVU!$H8(
+
+Z1TCk8ccGG+X19UmqL`i#aM@8EB$Z1mbk'VS'p$IBfdci[I[1Y3eqbE@r)3N#b@D
+
+0#MmfMDBePM@Cl1h2S4i)-+@3!"q922*ejffY!eT5Qm+BTX2NELa'VllL#hi8h([
+
+'"aREcLi2!S$Af`dSfr**qMf0PCLKAeUd3XLY[Y@-Q(PBBcG[a3j8BEm"@ed-25h
+
+V2U1(mIC9l((UiqUVE`!a&GMEcFl`8SqaMELT9aYaM949mK[rb,JIm2AR@l9Kmmh
+
+lFdSdejYa3SpR`GcPDH4CeV-[ifba8qdhTRbc2@-p[Qc1*0T%0q6ZTr)[4XMhQ4l
+
+R)[INecr5e[![GmI,Z)P+0P'6&#RHihHr%qB82m4AT,J0$a1krcDVq0EH1eZ2Dk8
+
+Xf$AMF(Nbjl%NPLqmbCQQ6hQcDfhc6J"cCQEY+pY'"%BLD&fUi&TXJjb,EeX++c'
+
+"N!"HfYFb8TpVR@B3#,PElmU)"0c6j"c6D2#!6!J&e&6hj[CjppbcfGjiXLkf"eJ
+
+$IXSp@MkIF8peVA'!',i&EaXhDCXhm0[lprZXR&m!IEaBXr&`F'ALiHb`keq3!+8
+
+[Yjfhe&r2fYlL-9H6BSr(F@AXYC@Jl["ajqM&RE285*m&lhJcHT(LjTMIq%Qp6Vl
+
+A@f9TYZ,U2jSh2R#CGVMffHY(j+abT45FdeR9U`3Dh-eZKYmIBiq&K)*l##iP5RR
+
+Te)J0@5rK`JMYU-Z`h[0@EiDcr%-TSZJ4LR0!,aE,&X9iRBYKLaM`mXFqTMTXl&T
+
+A4r3IB8,lfEkSBa80h$'YieHf'L)G@QM-J@aiXlpFhkffrmmEKiR!Qr"6m1Aqh,c
+
+i@%!%Za@@F3ASICfKZmEdI[dVHAA8E`Yj9UJ"KbQHMP,2bFrHXkNLqebQ1(4d[9-
+
+ebCm8hMDhkX1b90aVTh8ejH1F'&E!(H9cAimEHQ+98CeQ1IcA+PLf0jb1HjV2)Yl
+
+'PTH0BlkZ&fbe%mEP15lhX6cf#aC*"b-RbDBQbY1A0BpI+8leNTIh2!*9d%hrAKG
+
+Jl4Z6PeU2Xcbr!Vq0QdX8a&XcEIBj(BEl5YL9CFk@i"#Y4BiR)4"+h9VB*&[3'b0
+
+l5T5jE03Yc8(!0ciq#Ire[-ED4@@$Bb"8TZ)ECGH4c(ip@qI'(U4c*aNVNBQ-2B4
+
+DPhSGiN!jG-VYLh+,5hTA"$0qK0[YCkd2AQ9T[hjRL`cj1UTqp*2KQI[DI`dHNPB
+
+UIjTRR8p#Crq5!Gr2&l%VPU*ZD2qKfRlp@[Lq2fQHYMpj[YmNc'aQj$`,I'TrLee
+
+IZ[BSL)*ZPjickcc+jj8VZi-H$'Ki%[IMh"@1m9LhD''C$C`R9h"MfR!ePDPLl$&
+
+`Vf$@bS"K"!L2@I8)rqY-Ujl%&RjdV3$AEU5DcrKI4MpRCHa(1$Zdf3YCLf9lh5X
+
+1fHdVlh-'LbTYPKZA+-YNIY4U)Lr4Q9VHpQIIK2*HEI62&Z*kd'fqlF%&-rhE[)$
+
+TqBp1h,'I9LSqRI9ll1Tl+M&4iQ!HXp(HdG'TdGIjFRlQQY$Dp%ACQA9%M`p6,eJ
+
+NVidMHX4efaYYYcfbGRQ`(lLfq(!PKF[Hbk8qA+10E8'jJQ9FlVY!cejF@(*[16-
+
+RGVL8rL(I24Tql4k+3MNc4JGETBR)KYMSkQI+-VKM8&P,bYY0PNhM0EScI,U0JC5
+
+GXZ1fd#"h$4M8Be'alL[ZM)jHUIM6IZ,9MQL(,*iCfT&Ee2ARb2!V8-HEQ3D9$(e
+
+121d1ac*2ii+X@[P4S-U!E&bmqN+A'KdVXh+C6U-K31GF,"V-kRRFC[NNGE80i*P
+
+T6D+I2YVh@IIXr`lLP2ai[DfIhE)X#I*r$Y)U@6&lPjj'SXF'6p@GfI1e-('J[F,
+
+Cj&pqXPDBp$([XME9q,clZV+`00Pe1TCr+Xkrbc%qqR@CTY9V2C3APVAqLfRi4dj
+
+@K"el6Rc1V&krGZ*qNdEf@8qT+bfTRQkc0dr0X$H+M34S)am*0"&25M%IbCHc28K
+
+ke6eBGU-hT*!!Xj*9LB[5fKTY1p(@bHG(9P599b2HP9bR&V@qR%q4E#[JQArEY+q
+
+Sk8Rc00kQ4i@eqKFH6+N5jmei5!a@T1"*`j1'i5#B%JHmjKS'JN`58hFKKLbF'A,
+
+LQF!24d+[8QHP-mfErk'J2h1eqGaX6%a*[aEAXTGMZS+Q"NG2)p2(k@2jA(f@qm'
+
+CpUGiqqmIIIVm$ar'mI`5pc+ZVAr6@%iUKmlDmE`2LQBNcc*ha%jllFcq@Gq+hXT
+
+CTmpLE2GR&Cme1,B,UGAXC1Zep!KN8p+IF4T88Z%Q09)B$+[Qem$&[bVb5kYhEid
+
+1[KY)C%S(bFeRZDE[TfmKamY3hST(0(1mq0bU[Y5T0aVlF)P9c[fMXNUjd&'$A`5
+
+EAbUJ*C%'Y`2'kFcdiHP8mU(CEI`G[pVEH2L"J(HTNF1NYUCHkb[6ba*p1LI9C5V
+
+FHYEJhAk"%Jdqjj!!Qq,MUX!NKZ`bl)k`X@Pq@mme5c*DR#0rHmLVAPBX(!R9VII
+
+d+rHGr1lqE@fXME9YlZTP'ErK1rk@qP,bC69[YDlcph@Jj8bY5J&1@X[S)6ECPba
+
+#L,Ih9@VMCq0PiaA4aU10VbV4*UE$G"i'kh9Ar,KmE)q9NCP@6i!C#CTD`bHF65r
+
+FJmEfmAq+b&!@Z2IT([!eaYTVL(9KlPh[F%Mmf%ZRdGGpE9dGE5@CaXVAZ[KFF8R
+
+V4BKH@ef+12mM,+l"@`$m5Ir*%i,'*KrqklVr+S`RrL5DYI)XFM5j'CNCQ4TC%()
+
+p[Z`Rp2HkRaGEI@[AKZ,lrAGhYPeBjLGK(1Zbed,AV#kUq[(Sak2FdGGXU0,9l+d
+
+S`80E3Qd+(VA1b`5Jc,j3a1+)G3!N2lk3!&ef!FMQhR0Mm5aTb0E+N@H"CM6DfcG
+
+TjHdVU0H03M$*QIdc2q-hr@fZKmiXIR-`IqqZVd+&pAXU&VaZmlcEGjYZ03lbKC!
+
+!aHRN5+4BAZRVV(hBbFF"'XN*&meZ)Ep@4UGAd&B1f1`TrK+#Y+KId-DRh9eP$CQ
+
+C1pHhak(N'`)mfS$0SFrZ*%rGdYJE,%bKXFl[I`fCPhhq6X1&K$),BjHXXZ`XCjK
+
+XK0-cZGlGm5,hGRrAC((0hH65dYTRAP#pm9kMG'*cM,6fI@(c,RdKdl&Rl)5V[[Y
+
+pRAb2Yj(i0Tk1Xp'qr"fISr)mL`AbaJ6!k#U@UTPFN!#kNSjK6F$S0X(3@(*RVr*
+
+5,kX1QiU0k8Gd#-fMrhl2r,[I%NEYPAT'!pHVeTV6Q[@QPaMaXUjCbF5BP,P-0)@
+
++A@r6prKIp((ll2RL9,XlG*!!(FL3!"'d$-PpZ%1Ne1I*ci2FL0(S[XFZRT,5qer
+
+XeDhJjPjbfZa!#FkfjPKbB)E++ai#Xh5hf(fI$lXm*"h-0jkY#Y'aq`akZP0aCT!
+
+!SEIhcLkiG[`,M"5)#TFNaI#q2p6[DpAA63kcN!"bI4bCEi`P&'R`f0358`2ZdDi
+
+lHk'"d%"+23Up$98YV`k(GEM+'VpZ-CqB`m$lJH"dCPIDHrih[iQ0ERap,h4,j06
+
+DC`0a@ZFbmdYRQ,UBhfPY-bqVdY'Cj1SN5ZqirI5qqe(cHfVdqrm2[qfVGYhrEGr
+
+fhIdkrDD0KQ@&TBPML`jPJClHRjEiMTDMZj[![-kjp6FA9LB4ZT&j#C(RNJaN[9V
+
+N,-Ji`fNq3-Ar,)XqA8(Q9@TG%Y5Mjbjh-$VdHGh(h2N@N!!-[c3cal6([p,(rq0
+
+CpVX*+USVr@0jLQarENMpYh@RQl!je--bHBe[)S9X4V40`SL"9[+KM,+jNf0VA@D
+
+6hYDc$f,AV0!dVYi`cIFS-U[Y`)DLp4VF3NQbD%QK*eeEFb(6i0CQdr,ihh"J!(`
+
+#)([c3q#i$i*8Z656(4T`P[IkcU3Mekf--Q2L`B"fXMrj%3h*[4APEC450PCi(b6
+
+kFfR9S4,eiZGe6)1e$(Tj%AHl2,TepR*fHlTqPfYrXBGpkeY`Cq9B@!GmFI"ACqh
+
+6qhpL[IH2IIJ[[4[[4TrJq2feJCc-DaX+qkNe*12*$`pAMdFI'b-ra-[N!3M-0"F
+
+hG21rDaYMZkGIBie2'ZI%TVB5!0FiecMGR9h1$B@'i1-cDIEYUpKpZ`qhTUqRmI6
+
+rJQHMpAdEcm'flE8,MB-j@0*M53#Dq0ZifIBCGP*Y*0r*T@N[B)N$VTp)b-MZMTq
+
+PHZDV)kICAjrHbT-lVfh-G4'!*jUiSV#0,Ph!iq`,U+V2ckQA[YfFrp%EpQ&fIhG
+
+T,N@&KFKATJ9l6XjGJiS+p0p(@1&H2REQir9b29b+e@,[fHCfYiQpbF24qMSH0j2
+
+K!J*dYa0iGcl-IL@RQl6pIKAYVdl$Q@Rel#YCHE'kmITi%Da(aS4BXRkleUIrX8H
+
+PhK9k2(`2cAIQ@&Z1QU0YR$CjEh(VBRrXEA3XMKVfr(RIQqcjPb#$"RhN9jkYK@l
+
+%iBf2PH*$`LH#0HYEBTJp'ZlR1S"!,E1drVFMrf1i)EQ%@6Mh(jUAQ@`3#e(0%IT
+
+fP+Q,2)+Ae[FTerVk[Xrf&V2QbHUY*&81h2N4S'H!UajpJVDeMmJK0V*Gaajqd$1
+
+!lHpf22Q,(JZM3Sd$0%NEHaJ35a%1'a`+m4f[e'C@$Y%4Q2e'XG0AU46,TBRcMRF
+
+!N!$NdXHARf(N'lTe9Y2DrCAh@00,VE,9dkNIIam@V9QL8ZZaZjaTFr@"bY16HLh
+
+fT@&LHbUi#dGT[9eR0fNl8@MDQh%Ncj%B@6MBeRT(VHI0jpjdjpI"`"GRAKKPRpp
+
+a`UrBXb@bFS'BLXZ[68hlQ%i`b@9111UV&-HIVdr0KP!1@k2'NmNpFKNG+jmMmYT
+
+lF'K$lN@Ih,2#k1ar*DiXcRh22-SqP-qeLqqCj8B2@-p+#+QFNMCp&Ybe2m6IC,4
+
+,AUT`J93c4lQk9a[kGI*i')QRbCFD4AedSH"f9D02XBUF8DpM9l"Q&I#DYe!k`Vd
+
+8!X,LaP&fjC9I2UG1CcGTkG-jF2TFl%rC[XkE3Yk&`29Z`'H8k5-aUffNiR&QR2)
+
+!4!L60eG[DDU4EVY1""1V8j2'iUZL2X)#cHB50,RbqRBFf`p@2@dd8VR62fI9cU&
+
+$Dd09iXDIG@1TB3$ZDaJZiY$[l,[lA[m6LlE[k%RE0)"ci-VE&FmBfHrIBffUDRh
+
+dhS0RrI`H&#HTb`YCN!$-c5YEQc)CZEFG'Ppc*bF605f#P#,1F'3#k19CP9`Y-@4
+
+[ie@Rde9b3%MB)[iEfK4F+pqYAi8@4XXMeXMQmMQr6k[KF6Idq"V@,$hcMm5M$TJ
+
+T#9q+IqU['NGc@[*&j@X-c6jR)dTNUC+QCKjiIa(8db6Uih@++Af55I0JQ`EE5id
+
+'(+e0aHCYcHpk3Q),U$ekBi+YD0ApN!"5Kp@ReYTRH!32*RUcZEE45E'bpH6VkIr
+
+@GQ8IcI-rRNI+IEcD-MaIPKbEURE)N@9D5CrjmPBjMP3T4L9&X)VqYX$Q4b+q&rK
+
+m[$Y-fidH2Kl'["IND6m9RBNAB%4#fVNABG(Dc1fpEBhZ&XS+1`Tc[p02P4LjVH%
+
+8bAH'FVpZ(Sc0l-cBI,$2Ap,'PrL)Q`bZ2e#M8[iD5lYSIB'5fIakd@I'cia66M4
+
+ESmk"`GIip+UGGf2l()Vm22akf1I[hG[""ZU1k[rRd[S9rRi[crBhPI[mrjj(@f'
+
+IVkfkj6IZiX*#r2D9Mr(4BCA1CVRTT0'PaD`H,8aVaFN,$IHY-rQ1pM21[5'GIlA
+
+JkV+ZTp04TJ#B'bE'k0r&S5[@CUQ#c85Pc2,!0QNF$9#L'C&SaF5IlZiqe*XCm9Y
+
+Ekb[Cjfi#3AQGXr@dhmeR@q6Rl6dYY$3[ld*"+02f$q)E&CpA2QV1fpR(jpq-HEl
+
+RklNlJIk4TpXcaZj&E6XlVZepMYUrE#f6MGri61ki`pUd-D)rX0KRi4'XUP"Zcbl
+
+M3e[#SI0eeIFaY3&HQdDCMjklr'VZF5R0ckZVQl+GS6ELG4ffZe'je'kR#UY[McX
+
+L([EI,%UT-cGkhBFHrT3N1(J`j8L4M91,dk[6m6&aM$daXIa-Ia1T8kR&amE(aXH
+
+VSB2,l"K)$IESpk%JQdk!5$`YP(d,@iie(ADkah,,@A8KrjeIAQD&[S#04`MfpIM
+
+k%@K'r'Heh*8(DbLl$K25k$X1q&m'rGA`EV"UF34faFI&i@,a!#Br9arbiqMb-hk
+
+HCi4aZF+aM5V'#V"Zl2AepI"UXbid*4X4D[#S#jA"JMAj!fNAhZ43AhYdIHUp(CI
+
+@[ZY&d"pTS8r0rfHGZ28Mrbf'i@00ZKrTMTIeRC'F!5YNA[(LaldDD(BIZXbTdFL
+
+[MpTMeZ2pljqI$rC$PDfY[6)jqMQC1KLr4'$*dBeHGFa8rA*mf0FN2+1Hc&@PIl#
+
+$'Z2DdpM,-K%5qql$A`mr$k'(d+J")HK$5eZ2NidrfV#a9qkmNhRS8qYHCHcp$Cq
+
+KIHrXr3[2+[+dA@LCcRbfIkmrNSPiRV58%i,f'+h[ELpT8jHYM3ffP1Ek8BYZ5S"
+
+M&T6B+'P3Jed(Fk9M+`CGlak(9MQhP98El2"&RfpDi+h9abNbJPlNJ,H(-pqTlNc
+
+m%fjZ$2efffmEKlhp-2Z62kpT3e&dcd[i&5YND($b6GhdFLp1EVhq4`mHr',h6*b
+
+Li-Kd&D4DR&X16*aBIEX0+bKl%fPl$Rf3!)!Yfl4fN3`)HiaEf-3$"ESHCXL+0e5
+
+KTbc*ZdBHM8k*LD@M9ke[cZ4TAQG([T!!0i)HAU0+RSdHMJG'MpbRD8BUJTYVFR@
+
+k9pRGRII-m@3(3XbiYP*f8'"$F2cZClVPe0,(dFISir4j(h2S"),Fi9YlcM0ecZ0
+
+IEm*""&f[Pdb3!'8pcJBY(J9H(4am$*,@r6SlqM[qhUlV!Pj8lm5NE62-fIaBbec
+
+ZPf8fGiq![mIhRc&lhXGr60+G&INHcI-f(hP2[bED4hGlb+q2[q&AqVRr8'HJN!$
+
+Cr#mR`C!!aA)QV8ea*G5Eq5(mG63)bQKKrMUHpKr"V1T0pfVrPHrMX2DMC6SJ`h"
+
+"KJJa1Ti(Zq,rPJX%'UL`1"`DepS8G+VlY(3Sql4rjdkrf)r&l%Zqq2pEbENa9S2
+
+Kl(c*RmPYQdkqdcGprBB"21R'U*-rj62acI)YSmUaf0HV&iAhIQekCMVI4k'Yk&m
+
+*b8D9((Sif"lAal'0hdrVa#%&YjQRmbVjdhcYCjUb-*[1eR4fRPfhh,$b8@#Cq68
+
+IMf@K9VdG$ArMarH[rJQG6@Hl4rberirN"B%m!MiY$J6H(1irBm46S)dE62ISHU`
+
+CcYbK2D%lCd"-QE&0M8,'KBkk[Z+eXMdZ6-qk-J"EicEdpEDHVih0a,bh[,mA!EJ
+
+HHAQCBD5HI3rp$-ip$@m@Ep+Ej8hi,KQJYf[qfRlhDqCY[-X*Y2bihQeHM"0KmbR
+
+dJ[APamfbKXB6Kc$!6[ahZKqkQERiiIb3!0DB)!Dhr+Pq1f5!!B"X65E[EI*Z+8l
+
+VbjFR-eI[dIRFA8GReir9@jd4T)f['"$)-b!M30aEhjKjR[2rHd$0!eT[i0r$i89
+
+A"`&DdETN0!`"VH66XY(!)pV04"8GMe,Jc)IERrPNG1dr,"SKD2FLpV"pL15Z*9M
+
+CelI3RD&lTF"Rm#cbRr*0+lG+#A"'P6b,"F'I*hHP2&G,h5N)'INfa5iT3A%%Z9'
+
+*8UK4r[C9UYm6pl+XYA'1(L-I5dD'VecQU%Ik1M4d,lmGRpS86bV#AE(4R-'#Y#0
+
+(,T&NVPh0(h29[20lQeJNTSLMIUTA$*JhFV'UBa!VaV2'Y0AIQ+5lk3Dlb0cp5bC
+
+biAr!aq("N`I9JrcXrZ3@PMhGPMbFDdi%("Z126r2X1$KF-JedJ3Ipl2q'd#3!%D
+
++`dUI2X)`Zr-UNa0U8EUaqIDJ*[SheMV$LXGCAlZ6`-l'k(!cr%VBr3irjXIVBr[
+
+ir$)'HGp2@i,H`2C@eEG4ACcNGYA2TlKGpMa&i6D9j[k,BKSU"@cZ&E!M""Eir(c
+
+lc,X+mIp&JBj+hTBh(ZImjIUcDrGk9cpqq,#Fc1qV@[-jGXEG8I$d+J"-2UBHPKq
+
+lKk(dJ'62iCRm-bee!B#Gel2QfAkDYDbkGRcCRQdkqqmYkjMjFZbM9,EBer%S38+
+
+[i0ErVYrpF,e+[qZ4AUr&NHTN!+h&eClfchTS6jXlMi'"XF6[IKY1F[Eil6$%lJe
+
+X8&LBP+@#aD&eS8qTaG)BTk!aCd-$mIariE#eXC-[PA!)-!%%r3ir8hZP$lTViTm
+
+Vq2@I`l3,!E)[Ta9I!pqhk&A3YrGRIIe1r0JZ'bdT'MDD'XpbAbR&F4Z$C0SZp@6
+
+c8$S,f#pKTiZYDlaYrZr5VmI2bHK[8lYk&ad0A5eq2Gif#1mBd@RkpVb6Mb*5GT!
+
+!fX+i-)HR$dlcQkkihGV$*M3EM![1VH$MI6eZ4Q60!C@`fprFF'CP0P)VD25!9h2
+
+YT%bYmR-ZFcCjQRmfCbrUj9jPE5[,+P0AcYceF2RiIXBDHjjq(m'(T3mkCQr'[pI
+
+`pGh@jbT%EGmVB-1Lf'Kmc3Y0#ipfrp[BFr#jm(XE$f,L[+U5T%(R@r9RFqppMJ-
+
+f)BII)ArZPFrm1diHSlU0P6i*H"V1V"2`D8r9'L2")0R2ZmADFRDFqKLheA8B"LS
+
+dSG3HBBq9KU`id10$M@r[mF5JX25@,LkB#bjUde6b1P4p+1cbdJjd2%Rcc(j20U-
+
+E`,SFF$a%G3JZX@R5SkJYHiZ![bJi)m!!J#-qMe1imhj"NBbc%63[+GrGU!c-1'b
+
+B8kpG"ZEL4+h@,8TBqS)DH,`Yra+[#@%4MBi@$KCrJmV`VMJ+LL``'baDJ5$AJH[
+
+mD(hlJl6Hcp,j!B#4LfP+!%%@,[AKS!k3!$ULkYF@mU0Lck8@S1`r&PErM["![L(
+
+DHPE"!*@,F"),b[Gi[c'##,'iq0LqrBNM[a[5Z333bl5iN3eHE$6QDqGM6Gh0p+E
+
+IcA0iIJL)$Ti%LI*f@"J*rf`$AY5Qe0D42XU6J8G$Mf(KIec)fMZY(Mp(a2c+!Z`
+
+$!)UqpMk-E4M)#6k[9MF#0M4XH0NR&[`J%B`%-@0[b1M1M@Pd5kk*XmYfIe-a`1I
+
+4jp(RdIBSqafpIG9*jQhhNqm,Qppq&!3"AUdr@33[,URARaTr-(TqM,k2BrQiipA
+
+QrQ)IU"([A'M5dCHL&H`Bh#h@28amI&'IbNmNR(Mk2bHABCNFSQ5,%RSXhZliMUh
+
+fGICakf)$HYIHV4LlH,G41C'2GcH(0i%k[Eqb1cmbClXh*S#m,ZrDMf-rQ5`Q%k[
+
+hI4ZZM3V8G'6rhl'[Kp+,T8ZPY2Z6VI85iiUY(@f$p3YridR(YDeqqIL4e!#aaE*
+
+cmk[UqimYLFafE3cl(ZkZ2UXIHBpA#hQI[2)hPM[0,HBrf-IF!3h'K9mhZC8E[Sf
+
+6ZY'TSiqKMjH4j'4Bq*T!+d11!3hCaB!q28A6CJ[JkNA(m6U5G!bPIac2b6mZaRf
+
+6%5"E$F3fP2rAZEeRL'JS&!PcjAIA'6$SaD0hQGlPmLbYl'mdZ2SBZKBKJ['c%P"
+
+'aCBQ!0f-bSXbRHPLQ)IXm,*d,R,MXeDC-91YDj-lpP(lr"[G0cECA)HEE2&B'(J
+
+D0RSM,V,S@9'adaaKphS8Y#PS%jQie%U(QBHMKk1hdCQC9bjYPJ@1hdYU0rYk-X"
+
+!J%$0iFUmK%#8R5X[!q&mI4m-*14jJrMpZfc0T*fePKf1XDr6H%!XF&`rM@h`E`"
+
+A%Q6ha&4LaBZ"I9SXADI$9Vr9cIVD9$#ElMhV2HAAf-c0(2hkUHN1IZG-mR'i"c(
+
+Q0HF0)`BZ,L*&Jjk,!cm6EA9FVVX"43bJJXi+[m-"J#TjJXDakH2"K!8c+Z`L0`G
+
+NE%[`9I+QIQfR3fr@TqKLCfqVElmdcS6E+hXY9BP,(J*j&LFkV&KrNa-l$dKl4T@
+
+m8lCFDY2LM41L#CcX4`3BF@(TI5LmACELX"k+AJh!)-$3[1GG4FImQ*41h%)!)LE
+
+,@9Pp#ZEXmLihY[ejZLMeTZM0kp[Nl,$LYjpVJR'UPd&[)a+h'Jff`QrKQqPYXIM
+
+Bq*ap6p'MrqEZblZaPi*Fr#JH"cZ4&NK3%4bidYA&fHbq2@1kF,"Jm#+Y&S@(1l%
+
++"0B)%"*PDiLCTBbZjdVc0fKh6f'EBH@F!mQ9*KeIf+d8QPVjBG!Vdm03L!Fl[,M
+
+Mm'GjG#TVSH08m+'eVmD(Ael'TB@*RdKi&Yj@Rr0b1K-kdcd'GeIjYCd0YC,HTF3
+
+@mqekXH3I[j!!3Vcq[[ImhT!!XBF"$$[ChAZ-Qhd@("2Ni#8*2A(4QeiZMYHML9V
+
+I4YrqjMBp+(T3p)a`4L"'#,%P(RfA0Xr0QH6i2+X16E21(QA,DRmHN!#aBY6CXfa
+
+h'*%9PJf1QPkEcDZMGmfRkqcp#RlqcckITI([kZM$$1r$-cU(q1ih,P8r5C9(C94
+
+`-QM`LGES8FrZ2)q4B`fRIC2f2lpjLEcLrBZrS9Gj*hN(qbCp#[USEXpKGe51N4P
+
+BqC@%G'4RVL+PNj2#BSpPl3mjCI-BUGAir4YqM0$2Dhr[YUrfHP[@'HfP[U)B5"T
+
+,N9"%#ISEh5j!RC0cZ4RH-hd,*eXX`Hbj(ckh(d2Rk(cp)Cr9pjRIZCeY@YMKj!0
+
+B[KQpCjP2UI,p+Ve$j3d[PrKXrrZCrAFjEXPlZYfGHp[0VlH()cB0'$0'GfpJT5T
+
+FV"Ji8"`G5mAE9U@,[59Y$q@(4QFZCQ6C+A25),5TCrTYph3appfK)%J(aM[l&c4
+
+R92Bjq(aP(mf"l)jb!CJHq1K[G-+EVG[rMZ[B)6e5D%!lR(ZHdC!!RU8&lhPHNA3
+
+BZE%0AM[&8Pb9JjNr4LqEI'[R"@62k*0!Y+AS4"d'Uj95Y!D9ZYdYZBKQ)pHpC*H
+
+Llk(l1Uq+TrhXmfE9RCZfcH4QiRQcI`c29!pk%cp%cFM)`SabFIAip25%@$I9CI"
+
+aS1($`*H,2`E$cl$e8P!hJ,HQR$23Fik*FLE@AEfSR`[QaEML8ZVNpAHp@CkFfpf
+
+Y29Dd1)SkSG!APlFepm)G(65p)JHYEHV+aB$1K-Mqlfe(%aT[J6IIQpDE8Qm-rdH
+
+0$`jHkHqJFrCm(f'q%*ahHl*r,)r5BjE`35ISkcr(Jj8NS4,(aJaC@,,,Gpe$6Yk
+
+-d2iK-b(T8HNHTV!-JCfr[EVbqdaEmR+GY'lB+"ff0fhJGYlqfkhE91fiIDif`aU
+
+A$l[G+I`[[Y@jjX&[AQ`6XHEId0JD9q`lP1RQ-hJ19jf&0f%hk0Z2KYEMAhR8FEA
+
+p$ZV54)N5b1CQdmd!h1Uql*eZVmbGdGE$Uc@XSFbjVi050bUZI'Ndj0$Ad$Ae`Fk
+
+VePB6UjH4Pj(P9I*h%KH*TMp'1p+jm&DEbD0E#k%0DPcpl@QqK$5QHeZC96pHjXm
+
+-X3iH&Kiq)0@-6(QBmc(q0b1cr@Bq9M*M@YDiP8p,#Fh`Ha*%4N"')&HFj8IT9%p
+
+)4I!X8`VfT"M,KJ052-(BAQbj9M+XS*-&TCfGHiJ[mcBD'&M`*amC3Z`-SmNHpLb
+
+j8%GPY"%VQ+91lef5-@bT@Pa"D3kqrq[ZX@6dir28UeVdZ'eaC0eLi&@McaN[Ri!
+
+"#-l`-#ST60p5Sl$Yq$mM+MR$&D$1cY$""!RAUrIJ#@(0Mh%QdK2Q4[82h'P'C3R
+
+XQdi&qS!%PbTm83[,Pa5ZEaq),fm#'q1$k+hL'Bi&MB+j962amm2YVq(Prl-[kIS
+
+"r[RC(PFM,qRPq$jAJPEJilSd&MCe5!fFqNf6UDP'6VC0V*QjGj@ZC'$'P850fA-
+
+2MjhHeNYG[-lNCH,"(VfKXA6r02L6P4XrGCr)#3H)N8hK)2NjGKj9Kj0K)MD%H[Z
+
+Y#V@!iJ*@arl39814q$j2kl$qk`reX,'2AX,hj&F)!p#,(m5[aq&hGr'mD0ldHdR
+
+iX3b[*RIYmMcC[1'E[!,4(QKS-QPlPYj%QaX*pAQN@fkMeGGMdp#pd,cY!h2-S8X
+
+$(bFqj1mI8'`G0`T[dD[ZcFIEBp1[6Ka-h%r$0imhr+GN@rHbmZ@CVTrjYPHB&cc
+
+H4r`haraULMp4lH1hrc&TJBrTfEDXlMUBf0R9TQ&-`N"+YHlh0pAeHK*phZ[GaZT
+
+VqTC9pAQpP$IIKSrKqarPfq4GrNX*-B6EFK8[L&Uk%MIZC[c&5&hIZD#(1PSCIV1
+
+jERGlBraLjEPbi0jK$j%jE)aIikTTf8Y#rd-$5EK0X#fP,jEVIr`YhDpGZ$LQm6m
+
+!*bEU3*X0jMQBJVhc(+CkHAdQ4*U-B2jYASbDZVcCfLq@$r#Rij9Ci&2hiXHRrCY
+
+rl+IkqdcrN!$hKHb!N!"!EMd%9@pePI@RKeX6TH`Q")!Nq`Pdr0$@&3-B`ie2Gd2
+
+5SAp1'KcVkrif03lUabT8q$!Um#MQkVJeDec#9L4cI3k&2S3G#VI`F'$+9CdP3Dr
+
+CF@KMAKPThR[d+0(!TDX#QVLY*mM"h0Ap',q,IrLqYrKp6TF2TF!!RKp,aHPLri)
+
++H$l@$P@eKV"(5Rr"HINZIkq4q$IIEQIJUrVQIh62(Qq2V2i'2[eBcN49UF1`K`K
+
+"5U!6jBp$b-h)mZVAh%DkM8j!`@HcZ(fk6Y1`N!"HI`I(r*hS5#CpZmr"b2eq$rG
+
+(mHcmIa[i,QbXE'`MA2+[-ZmbcLD4LR$%"KZ,XYI&VCmLjcECR84Z2,lL[HCY##b
+
+VfIPr*cGTcYTr&HC9iD$S@"Lb*3Ik86kl$TFBdIDG((h'A1dQk-pPeEXSka5D([P
+
+P2i*ibJl'@*D4@[93%dr-*Sr2X[2@%,II"Z#,ABFQ0l)fEFmVVAVSXfbeBd3AfVf
+
+k)"6V,lVl,r-YcGEAl+bkV'`qE!!D822i&jVIPC(*)m,&ZKL&aSfUlZMMr@Sh9hE
+
+CCA6l[EY-&TAiB,DhZ*AhXDCmqEqE@p,8I+)Vl1jDSTfZPEf!p,MlEMFE[-6[*['
+
+-2qaD)-#0%E"h(dX1`QekXHEaT[H6HmR-%%LIV5i-)LD4U+k@eX"L&(a10L-)"0"
+
+"'j-MRb6m))S[2RLjkVAI2rD-2d0p[3bQMDk-S4bM3fZL`''bDCTm9K,Uj[Ba8lV
+
+YUZfhHZrMUk2B`diHfKferff`MieN,306'QI[@p@EVMqjlbEkNhE6[%fhm('#J"2
+
+Sk,!XldcSrCM9Th2!0RaZSc1PkYKkFHhJR4T*cY'*lFD'VdU(Zh@Kp(hBaa(8Bp(
+
+8hhaB&P4&X&e&6i&'S5,I50)AKhhY8FSJ$U-H!6YccZ)*HrYDm(2`Ufhj1Y)VBlP
+
+KamABFqcbTQ9E9jpD#aerFeIdF$m@lqh1mb60TqC*a+[a6m5RrT&q+,m9-h(5$A`
+
+UC"aXZQp4)EEQ263TC6CJXHI!%QaR9pTPll2Qm@iemlhBdTXrfhd+ZpKL[mR!d0Y
+
+j'(@hVV1)C`',qE4ji*Cp6b-5a`ke50Kj5mr0ERrCcjjl(,Epq6*m,Aq&eXE'm22
+
+m(,aXE*`1$eXBaMq$lr!qPJb2N!!-XIP'iASF,5iR,qTBH*Am6[I%m1VAm1Ki9$`
+
+VlIh65J'1l[CmA(bGlS62)U-eDlI3Z&K[mZ-2VQ6Fm8cEIGKr*2chYUm0B,'0(M5
+
+BE8b$pGLf(2Nm5iRH*@I$D#82DSH&&MhHImcb14B`eMG)bX@ZY2h*BB"@NbP16%C
+
+QCY-cEk92qJbII0hh1+lIZ&fkaq38(FM-b-c)dZ4QEc-QD8cqLF#$%jhlRTH0lRK
+
+H4B@-(,Jd+HKCeUC!8Uk'Yd*eIEPUI#96r-Xi1`P,NZCU[Z3%SG#4cilB39+'GLZ
+
+C,X1$#ZYE'!9M%NrJ3rPLdEcbGGCB9M"%R8#A`9DehhI$iD"63G0dE6MdSCCah&"
+
+mN`Z5pDe[&-jY6TaF50lYKpU5I4p9M5bqSB'FB`[9`1DG0A#[X+TSDr,X[)dajh2
+
+4!0T@fqG6VBN@pjZpkC0lpfCpV9bBdCm[)R`mF%T!26l'+V&$G#[11c3cl3Kc5jL
+
+p,Q2i#ZlLb#db@ifkl,!0-%J2'mUjY,'3!,4p0"&ZR(2XiTRQl2lAGG#ckmcU@hT
+
+DlPQ4lcE$02)l4Nrjh&I`UNR&I@KlTjGRQNjZYE'B#GYfDVkd2-QHf5NE5hNkU4$
+
+)e&DR"4J`-bMT'VZ-J1hbpD43U-RAp[m`fRAcTZq6HHeZ-U2LQQf!kGT6S*5fh@B
+
+8(CrXC`Jp@42CK3-5K@&!Zfj1JjF*T&bi31(3)4X`#HkQB%EP5+cEPi"1SCfrZS&
+
+Dh3bIah,1*f0,BViY(mT8kEQ8qF9CqHQm'cmRZH9B4VD@bQM@j#SAjTi$"S+A-mE
+
+fpm'JfSD#-06Q`0T5kY'D[,iN30fJf(a0fM`qJ0S69B))4R!I0h%KaF$f)UpcPeG
+
+h[FD(S921(@(P@mQilHPF5bXkHpdD6BfTJS[*1ibiqlNieVeT'[M5Bf`1J+8AR3J
+
+%2XB)3#KZlh'NG#$c[NeUAP8T-6#!)Q90F(X8HaXUm%QierCpC8Al,hj'l4!*%[G
+
+dYK%F20IBjIHkZcVDc1fqGXFljI@Xj1`eGaD!IJQB%cUc169bQH+hX'CrlqXpmJq
+
+BdQT)aT@k(-$#J9$8$fZl[mE!k'(jfq$!&`$Yi3S'jReH*ZF9FMH*PiHl`mB[T-0
+
+"UKB"VVMFXrMTPl12ic`r`MKUplEhZfSEELpYqD2!A3iV&6EMLC5QK66BTiBH3Q!
+
+eH-PB'l6VBp&[AU`cF2DR&,FBfYaU&6FlSr6MFMUA[L9cp-Lb,h)VNX6,C-!V@'A
+
+B5"!Mde(!qGZb84,UiC5P`pYKmEk@*KcBGYAe!I$!QJ9l3-e2HLqKYQY!4I1&XhY
+
+G""h0HI&Ha8,h69l-)jY-[D%f$D!JXB+Z"CG@cjGYr4-r$0r$V29frUq0R'02R61
+
+hQq*YILe5IJ-)"UDp3M)pPHl1[Y`MPRPpPPheEiqAZ*!!M-9Ff!Q-4VF`QYf4a0K
+
+GAqZKShra[JUHeH%5"M%aKdMFf8VFpJbYbpjZGYc+ZNTPdkY0ajZ1J)ir)c8qZf(
+
+4Ueq&UqpE4'E,L+R*ahV6Pc,Eb6-GCMi6Uq2E[6GUkh9-XUQQ6NB(j,l,-a'6JEZ
+
+MX+0r4KSi#aqNGe"&Ch4-k-M(Bi92qJj8jB"-HRZlhb,QaZGc9Va3hRlG1[Y[#fh
+
+KlE`kIKlA`kAKj2KiPaVD0,Jbf51Vb5BARP('rPl2bL+S1eL+YViT*(1C4k'9K,j
+
+*f%qCkXfY0Ll+YI4GY@e`JGBNaLQXVU6CkqVR$-'MXD021S85@0*SDZRDA8L0$ED
+
+8lc`GFfCcCR-C82cCZK3`Vh'l2rA[Ed4CbUIiVcalcalclG2c2fTZ%2q-FP2FEr$
+
+aIaBV*69b(kBXR`0*8J,20$YQ6j*eI`MKINPEPL,4TGYp&6(5f@dVC,Q(eYM$kL*
+
+l@Ud+T`'RbG@[rF`2bBRrfl2BRD'TJMF52TDeM*U4q@6dF$hT2ZS$D[h(A[MajdR
+
+Lh#YprV+p,'bFEHVUArUfeaUK%%%%%2Qh(A`1*pRhGprAV6,iELf05`PcjJ9LE(U
+
+C81NjLYFrHqa[@piGDAbT8Z65&iA#HVAFGZEa5KZ)MCAGE0AHUEj[NQDHbVkcp@0
+
+IN4!iNHjl#GQ$BbU2T25Xr`fIQfHC-mkCqrH9m'YB@1QVeFZbcZc'@'X&b@RcYC4
+
+eH64bE[r[Jrpl$lNNcY8aBSiAcFqRAq[Uqc&3JN6f5#92X``%k2HjA!EaBNL+(f,
+
+H[FCp,2PN&UIMhPHIMe2Jh[hYlm"hVip3b!M4Pd-1[p,3m@[JmNiGapK0Vk`HkFD
+
+a-YV,CA6cTQ5CJANDLaRk'T!!C62Fh(bVRh)ZCXY(69Y2Qpj@fqEY+a[@elD-,[Y
+
+",A!%2kEp$McPkI-6al6mf`rQ$[X8GY&GQ6[i$`(aF!QpFpN*T1[d"(!3Z$+H2Yp
+
+ePAYHKQ@%(BjR'd0Ckdh-QjQX%ET[m-bU[CHjV5)USr@8(+UhAaf82%e[emRScrH
+
+X2pXHG)Y'mLl!i!4J)SkS2JehrHkrllJ2JFBp0i"@m[l[,kf#ijIALLZKb&a9$'E
+
+ErLf88qpMec4DXIPemH6Mb8"$$LNi3TFPk&i,hX'-4fTpPeB-@(fkHN3'(PVQfrL
+
+X-U`VaM"[qjAqR*m(,i2[q$Pq$k(LGB!c`'BTJhPFQ$Rfr2UFq(fk'PX$acUD1`*
+
+c((dGMjGRjGR1l#dX16U4riq0P1fjNIR4r[@9Dcp'CAaDdr"L*,9YQGM$b+kGF62
+
+IQHr-q#EqR@BZfhqSUb-#`P8rSkRIfpm9hSCh8[2)h(m50maE)Z[FI026!"c3Df@
+
+qV1D$58!M6%I&bD[*Q(i2YmZRPiQ@AYq82*KjCE4YeJe1"MNMca!S'mB8#Glqqq$
+
+%r6qjLmEIlm+!6Z[C&R'J33&!qJG5%Gm0l'aXSmQ2DajRfjI5lMMB1*'QdqP*QfH
+
+TJmHCrGJF'AZ8a!YL9aHCPcTEk83S2,Qr&b21mEcCRpNcScIZ@aTY5eN0HhZ2jpI
+
+iXAYl25NIHJqYhI`E6p9$JAr$TIk5pqib!dNb!fNVEjY2bm6iYpjfqH%!PmUi*@f
+
+!Ep-r5irp'q[*PHVkNcm%cpFhql@H2Y#Bd,!2ZeDmr1TpDmcUIUcqG6rCBCdQM9c
+
+YIJ5GPD45)RG$Uqk`h%p!!aQlAQGHHJD*c'i#Zl[P$lq1V@dh2Y@CMPjj*Q1#DM4
+
+)K%ef*TqEV2*SI4lVL6I1m'"2HBEI8ej82fBCN!$-c6Q(c6S(bELA4MH%,S'2qZ)
+
+HQqCN@A$XFM5aif4)b+h)c2NjKkEk9K+YTFk'fVkb(CqR9raaG,`-fEHc[#QlZGQ
+
+6ELE4l,`VV+XCG@'50dTGl$`EI5Z0lIhZ6i@pca9+iKSd[#YXUIclB4SQf2FerMq
+
+KHCfcmSd1[3q6RE6bVb[Y*,,,6hcFai$)Nc*QJEQ"2BQrMerL3EYLm"[5M2Nm5ek
+
+FMRf(-MdMJjkYjQai&Z0*@#,2l-`i,,VXF%102QY3$%@[E1ZI9rYr6mha1GaqVKF
+
+#$h,2cDN@2N`HjV2)l#aNFZTSGTSGS@1[UD(e0!!QPp63iHKZG#SJ*TERPQSeQN6
+
+`Lp8r5SA&1P3f&AZYGqqp9fVDkQHZ-H1X-H29QFkCkXl1QHT-p3!RV6[9YKR+Uq4
+
+#BLS48+`"L*&6S38+[U38),k#pP6eNG4m@bLXmf(dMMjhmERkIP[M2kRR6b!Z(FA
+
+Fr1LdU2fE+KDmE[+qfqr3qa3ea&k1lG(!F@Mh!hkY3#8kpP%Hdr$[E,FHa'kBeK8
+
+[T0Em@$fqcr0HrjhRk+(qP(TB(j0RrG&ijrEf)(0EmUDCG82K`q(m2KcI$q,`r@m
+
+2dZ0e1mrr-RCb1$+mG1S2&hHZf5Q&GNYIappIS5IT9&QFH2`E('rA9i["VBh`9-D
+
+(i+YDCaBIJPlUAUlFkljX0AiCXfEm-hqUGk@frbihCBIhGCeT[pf"@e'5jl,eUUM
+
+e#PK[j&@TV)!hr*lDT$GT"()-f3(UjebA536[KTcH0m1*r90p+hrbe[CDclXhV6[
+
+lVHY,H%JeKCFidJPk-Jd12i!N$4"0VH"PmLYicJJR9p9&ViVZ)rkmpL!!+X')Z5'
+
+dj)LP%*il0`#)J%q-cUEJh%&c"&QhZE)r,"a0lLdZ*&Sl6bCTrZ@iHcBl8fem,X*
+
+fNYjP*[3Ef'P2Pbm9%bQ9kND(P8Ua"JF[U`rMKr(-qeU*-%rYCG1%k6if"ZU05UB
+
+C@"Mi$-0#MNG[q6j%QA%'1(l965Q&+5E(Ykd1rQIIUD9jNf2Uf(f*0e'L,R4Afap
+
+,)XI%Vm11A'[cj!)2NZ#!QaD5eHPVT+09hZP(jFRhC[9Np1ESfIZ4'Yiq4"MGlqb
+
+`j+eJUI`YG3&YUfNrF5ZK@dq'cmhBp(Ep,Er&NIJqAkmcbp6Qh--Ua,k)Dfh'0%d
+
+3U*2!aEY)CX0$Hh9,"PbT%'YTPVDRXS+e@,@a6VhEdqikTED[B,f#R+eVeDd08BT
+
+c&'B#8K3!qD@)TmqIE4#R9EZBVU,C*##0CN+BR-%jaH,-BjA0e"8Jb0KND@4q()r
+
+#!65b0Kai1lJEN!$9K)X+hb"a!Y(c)i61CMAF1K9qYhRJ4ri)r`4PP00aHM*FZ),
+
+IBEE5faercHTEUf1jNG)36l(XJ3I+f'ZdVl(l%%(LKJeNY#-#5`aDRYc20fR1[qV
+
+JF$$pcI(0e#j&!0IcVcR0T!fp1QY[DccA'lR*X#""DaVq0"P39kZIF&0#RRl(2f'
+
+IK9S-q$P3&lP3B$,fJe$T@P2iD9lB)X%C9f1H0F+4FIl,[IK0'PpYPTcXSYH[FE#
+
+qrehGkNDY9GZiS5-e"`,HTYY$KqPV#deDHe1bYAAlI2qCRk[2eqImbY)Fe@["bkY
+
+E`YhMBhLCrJqKiA&aXrkHIi@0M8H&fq$)&d"VQ3`EN!$QU'2IBpPMfZ2hR8fU1Hf
+
+#1JZV$8ejZZQd1jSDk[3SAhhl+[DrNlcmQfVd2i0Y(65"BX&RXUDj2JqK&8fh`FE
+
+pH*N)&GPp'kjGi-G2M#)"+bdYC`X$qhE9m6ADfK-qY-m#Cr"-q#A)@eefTBiqTTI
+
+4d0AlY2fk2pY8fZUHTSr&6mLID4Pfp$k#c-,LKkfiZRUQm3B+6*%&MB9rN!#mlr@
+
+1e5YNE)T29XH,MRelBr0Np+4rk0HqDcR6Z[0EY+0c-L1eXX,'aVUlECkYj'*@fd'
+
+fdTS"10hCm!l!SaI4l2l@jXG2)Xb$"E%*lj+NGD@dp[IIc$Ncc4bCm%hfVDaddMZ
+
+Ufa*+8c5f1ChZCCk@Xp[Erc'KejYRcYMm%lfY2BZd)0CT8mcMCQqdM88I*!)f,'1
+
+jUVBXcNUf4)*!8'25imAGa08!MFPkHD$c$96U`Z@(&dE&XF@`kBAia`$&3(L%f[Y
+
+,(EekHGL-ri-1BB`AML%(*XrZc+qTaHeh1`qjLHrEqKY[If[SBR[c-ZGeTR3Qm29
+
+ETM9k0-NDbYYmcaN@"KM*NSB!LaL@2hSjFFNmPA2'0f$PSe*mafP+d[j["m(+X*G
+
+KQr)c6DH9kaPl!TbFcNHhmR-MfPM*2RMQ%0,4Qe[T%R6*dGlS`p'EAZ1C4p[Xmci
+
+rNlL6BT'#4"8f-020f-1aK3%TJ%Xi6+-m[MejmDI&,*3%1KhZPVp#MlZ"lGTrEUk
+
+rJH2&UD(a8Mh6Pb,QAE+,a@h'EFjYjQl20dhPfYIZqCY2E[-cE-X00I!I9Nh2+4L
+
+)q$*kF(2QHI3LhF-'P1c)$6EU8PR4B8A(Rm,LB[#i'28d"IjPfB5ED(@a+$liC&j
+
+@f8A$Liij5L!02LX3CC0lVUmD0Bb)pEjdAfEhk&I[m([q"p+Yhr0qa&p#[*T%ih'
+
+NqeTV'8*!3-Pe8Z65pRI9TKll#Q&*A$%bJdmMjGEpV0fa(#fdqRHq"8QjZf0,,%K
+
+Qhmh'fhGDM+MGT(dYeMe-,(c-IhFIUC'KiK$qap$Mk(GrMMIMX2b4XYD*eZ)L6B*
+
+SRp0dVH90dTF-@rlL[2aF%J`2C3-(EF$%V6HE0(58fPEZ&!CS!FPU0aT1X)84!B0
+
+G"h-%I5*6mL0JI)kG6C!!l2r$MpI(p0YF*l6JLMGH2cpElFV3JdC2jC(jhU$m@0L
+
+!!1%"IT0(L@&S6-cA33%$A6makM3@&Yb2Z62-RI&-mbCpcNIJQr%AXUS"X5hQmHK
+
+2l10Z6$JC4@R%J+V@i'&Zq&Vq"4aYEMkh*eI%Nm#UFkc@m%'j2alhi-EBe+DrfP3
+
+MSCpdIE8VF`9E2'3D%TXCd1-$fI'""E@eYpbfmck(aFMc0jpcHHCp$TGrL92!qGd
+
+YALA%hLd,X+")JlV!f29QFZCr4XI`plq'cp8XH,BDcV2YpMiQYq,X2P5rpZ(pc$m
+
+bRm82QFIlN!$jQhk92%fhJElTEi4"KS3pR,h0b%J4S0ajPcpcCqCIG,X-5h#3!&l
+
+L46D9#N##3DV9QDVAbrk14q(kIiI"pApheDZGCjeQ%Jm"QUd(PGGQR&d#UJC)d2(
+
+YjFhVNLkpeplK8jHY3JNHap#[8aZrird1Rhr!lr!i[,lr5ND-(4drPkNc!#mdcA`
+
+-)!eNTYE@FVDFRaZ6[Z60M6BfeMDU-[pe(9hjRP`(NBX',1kFS4!84JifF'@`J'i
+
+blNID8+fQj9RbINmRDFQK'fc#!2-m"cK-K6(Tlc`!LJiH4'V("XZ"*aS1(FBprNi
+
+A%Jr2Clq#V+`)hI4[XlVT9I1b2GiI`ir[BrZ#6aY6-5JB314JbH&"MbXQiiPrdm,
+
+p0R`)+QRr#lDS3%FE!G5Er6h&IjNHeVD`k2YMQI,(1'ac0CjZRPA*(J'LA8lRqRX
+
+kpp(fGE6$D6j1CY$*`fQCY20YKE!ZF"51,2Qr,pAa2p4b0RC'GiR@i@[aC0@YJb0
+
+2BfIM`ILJmHVrK"0Jmb$T@IQ@8f60Y060lQKh1iraMH`'@%b"*l'Z-G'Df(%`X@$
+
+TX-pi6$35*q"HGFN&A[BKPQS'#"'AV#)"E9V#3([-d3#Se@fK`E&lVCEhkjN'ejR
+
+r#E6e@Yl!JI6L0l3lr[+PVhmh[pYhqflr%iXh[`SXQE@e%KR4e2KTA%@"NrCbGlT
+
+3UK93Yk&`@D'5J1C,'`%cq,F9pGQd-d1!+aAbDfd'YQdmYDB$T!$hDb5(S%!QjfX
+
+p6aU&eHZ)Kcl(L9Gr*Vl[,lUlf#iT!LeaNdH&Vp!YX(ie)-,4rXJ$VQ!RB0lQXc%
+
+6QCijJRf0m4ITH,+k[(kXcp3L4M@r"Z0r$Lh',4`95!P5,M!QIRLqrGrpHpVmI&Q
+
+eiYrakq,Rar5XiH0IhA"NC62(UT!!k&App(M"2-lDCc*m(#Kd0S0)(Gm#GelRq-h
+
+3Xbmc+HPFmZ6SD['Sf[f"Q!*am$G9+QKNI[Mi*L2JMmN`1&'d,"GR6HpVNlhfr'd
+
+YY#S['faq0Mq"APp1mmhA@QkN@h-Xmh6FdMZ4KQCLf[AQfR"rQQp@cjmhTl(QcI0
+
+Z@rpUTEk(JI[mLZjFdcQ8!1&Gk'i#3#N!)*@KZ2hb,"RE21d``ml`ijUA#Ld,aKJ
+
+'l-(FD3[Di"$q0liM`F*S16Cqd-3+'6-Nd-[`T1!9r*KLBdm[aXZjekPJ5BNeHNm
+
+f0l09ZY)4%#5&cE2djRThRVlMcTC!iABTF&PjM&LY-f"kEHP-rTQl'hlM9DpF3$[
+
+HdkH8J)b4PF6j8EZkZ12S"I[VUq"PF@[4k&'XJ*JF+lcl$a`m#+f5f$,a$*!!X5Y
+
+L%@LSBm&[T6SZ-Db8H["&1iplSl[(4%UYCm%LeH,"Ia3aifV#j+pXJ*,ErU(GH)`
+
+KTid![-cCl#qdU12IG4!6CB9pe,c-[[mVRq'jrVlhV1+3!'AV+e2,ieEI%BjYP"j
+
+C!B)*ZAi&ENCIM1##i,86-Q"@S(QA"DNIifb1DhE%Gf`*Cq%3jq(@UJ%a29`qYKr
+
+Km#[Km3A&G'(Sc2ZDZdA""-p5(VA(l-$q`6B3Db9%5KmZCjFbGU,5IS8"!#Ae*5r
+
+rR*Q2%!0Cr6YYMU1iNDp9B()A@,*i&VMGMMfrkSZVFmhZBC0a"Dbj+T36HjYpq)[
+
+G1CcCZbR9YS3QX4QB%Xf"#$%lR$""IJJUl,8N)+PHpYAf%AD-c!,D9V-,@B@ch[C
+
+p([TdlV80I4k&Aq1KK8qT3`VlSEEjedVl@+[TDijq"qAMHA[ZP0U@rdELP$fMX-#
+
+fX,D[EH2[2(UqM[2AhRSlcdGjk2)p(p[m(a[4l,ak[Mr(Vf&L[KYDS@beE,[AB29
+
+hU$GEkT9kRKBrf-M`[b9F[FeidQVZi0K"IfX2(`)Z$BC8[RVC#QP!#Rk('cYpj8f
+
+[-p!AIH8)R5B9ADKTe%")2j'Fq9D-1IN"0ARdIYXJY+Zdb"jTc(d8pjB9"%-69L+
+
+I2+8QNq%X,B&QUJe[,Sp$LrEl2iBr9MFrj'9b+rL%aVa23Ujf4jAL9mMd-M1j(PI
+
+*Vf%Q-6fSdrFQRjmk[KYmQ-E$U(NaM3e09M8FEAI-h2+N6jfbmC["Y@QAG,IhpA!
+
+cm6'hYqDlf"$l1TM2G(VYc8DX9mL'U)Ge8lVcX`mdeZpF5hh[dY$NH4pRl1p*!bU
+
+rD[KDrfIMqGZ2I19U0U&S*4ZjMDk03MAdDbMGM'a!&$jS$'S-cZ)Ff5c43j!!l9@
+
+S3T`e6TAXY0fZ62pLm$i2M9p2k()$f(6i0BDr8YBh8mmXZ*&[E[3qCj()qb2dT()
+
+VBX8EK@RXq0jeb&!GIYDUk*F'@@)1I"cjhAP29Eb'jdUI2L*Z%@,4[FQelLXh,8G
+
+bfMUDeXcVc2,YUpA0l,qRX[DfGHr1R5#X)JCph@`H9'LfqrX+pJ08Jm!2'fGDqfA
+
+ErAihfEf[BIm)p14VEQa-TVZGE[qjV6qRHFhCl+bVDH,ZcKN9ET,HVU4U@5PZjJ-
+
+YU8TV@Rq,j2RE6cEcqcDG(E'me+l6Bl+Vlq4h02q+$R8mH$fUZ9XDY-MY-M[9,VG
+
+&Yc!Q$lV"-5L)jEY0HkHZ[qSUI@d+I4Pp$hDCHhP$DCf*q'BNQ-P1GM(3bjPN0ZQ
+
+*J@fCEHE-cGTcEcRkR"'1cI3k"GR6XMU42eqbZ+-U,@'9aF8VMKE$(`XpEA8EHaX
+
+H0`L@KLfh!RHqc1`T6SY4a,Ar[NrrQj@$6K4XHV@Pm#G`jZ61[G4pQVq5IPk[-Sq
+
+rMI3aY4fIAMp@ekkmA-M1lVfGCcTAIA(#Qk9,&fhAhZ,0km2!R9TFD4ZV6'JaiIX
+
+hrLi9Hc`([Mkr8CM@YKN4FU'YUM*BJADTr4YlbRAa'A1TRpdcajKFkBD"lE&$fTc
+
+d!5KdX4J(r3FG8dBIljRh!j62QqPV2`mD(AAmRKb#NdkjDEAq54Lh*TQCIIilM+X
+
+"H`Fl8SbLXfU%3fQDFM@ELCUk3TP[0YlHGUV46[2N$Nljq2mr2hNLVAhQVhPEHCh
+
+)c[NGD`ekA`50KVGPieD(kX2[9H($pRDIS[m$!bX1ZHE9C[Ne)MDh+b@H9&3!KVZ
+
+FV!l[$r5cckmHC(+A8ZcYjhVl,(hG&l,-)C&eL'"D,A,`0+MSdG'MSi$!-k#+24S
+
+qAfrh2N@NVP`D9[ScY'KSifMF*[NJ*SfqMV2,fRPfdkaY*r*LaBE[8eT45DYrGQr
+
+QQp+hk0aSKS+@YPrBVkkYFm[CiACG56SpedFEhZckdIAcZYUIRd1THk(&d+23q2r
+
+KfRhEQ9H"ceYQkI0,fcKr"mHCZXm[E@qS-6U0&BV&Jd0ITDrhG9SA(Zb[qHXVkU2
+
+4e2Cr&Jf51JFkZXh8jYAbqbVpPPl2,2l5YCqAf@EIHAmH[Z)dSH%,ZiZp,jLG1@0
+
+jAj(SH$R@'GDjhMBmrfSpM+Cd04D!)2hb1*S4DA(d-A5MD&Tlh'kPb@1hTB`PNdD
+
+-Y)S`,5RdXFfRh$Xfcm6dYpq'DCHe[`pElAaQ(q9DX%1a`kGIBiHa`d"0EIcVrEe
+
+YMLBAPM(`6F965,5Rr[iPIMk'pdVI3iqPNk%2[6HT-JPMAe)H8FIj@I"Mi&D$(Te
+
+i0c9Uh!`Bf10K9*@k8jDcdVM&frA`X@ckm(!l'Y'jipNkFR4Jpb(fTrX*XBcRNLN
+
+m#6@Y),1#"G,A%Pp8`YVA#NLhcQ4c&`P#K8D!DC!!jiX1@pCDah,EqeViA*[qIFH
+
+cCeYC&J&"6BF5!B[6-[8f9hBcaQiMJ-(4RrhhRh0RPkE2Xr5q6q(E3d,rDm2DK`&
+
+c'Tqa3UM-KV-l'[FDPME,'Se+I!mA&RPEaN&D[mEcp6kGAeqbkraY(iqEh&F4kpA
+
+X[9q2MAAFlV+P&C!!5$QbdH(rHCN'AHCr)p+jr$C"m(&iGf+H$Pa4"-`3!iP[lZX
+
+mLhrITD'5cKB*Nd'SP'3ZHZa"bAa8d$!%Y&$dm++VJRaYEFZcmh6G@RSkRKbGP"F
+
+8kq&EYL5$GkNE1dUQVUaKhciDIA(Yl*TTSlf-8HRAR2@EYbVA2QHKi9'ReU2@3%T
+
+jmr,Ur!+p*hi1XQqrP[QA'K5hZ6NQ)XEUba&T2!`+NRJ9+Qb[f[['b%J##h)Ia$U
+
+f1YhBl@,,TV`+Edp%#!G-4bQXYRD!*",LTE,D9YlQ#"Qp#12,HdL4Ce,A3Qiq"5i
+
+X9a$0kN9PJf0Vej(jE6hEMh,cfBh*N@-RZDIk,Eaqae*kQHC$mAMBK8!mbCpXBpH
+
+2EH4Ff-Z3!#F%8b[FC1"TH0pr$[48+&jGBiKMV6jE%!"B"a0PlZcmMX2hj3Ip%)C
+
+E6-Q#!$PIBHV$M5rKYkYH9[3p`qHT@E'T4TE4"pH6Vj&PP5DXQ69cpAX*er6cD2i
+
+GIMI-lU4P$raN1D9HmKjd'3QTdG2b30,feiCZ8Z#9"ai"@6PV$k-2cNkc+fQ9E(,
+
+YFNE3J@lfRNd0'KjG1[HjY+rf9r4akH4i[ilRl3jmCfl5NMKUS#Y"CD8D0URYcjZ
+
+T&5YMMVmGJf2eUr#Lb+4b-Ce@MiG$IqT`2&`Cl8B*KLN90Pf9E9jQbd,m3!JLeH6
+
+4pcirNENBJDhbjZ*3UDlk2H9cRB[k'"fIfH0LDlbl@%FJ9b*@PX!L(XS1("b!`&j
+
+bH4bERNa``(eFUj!!`$I4+GT1c2NPG"pfQl[NAHS+RdffQq"905VEBP2%TiRlf9T
+
+M8e0*h@IhkSj&faqdl4XqETc&lMmP6!4*Zi6lYLcm4"&Rj"aCh'ZcNf6PAFIAXrf
+
+4q6C5V2cD"dhfI9SD-NC1q&l!(NZDZBIAUrk1HKV30kPjkqcp6AIG&HjkNAfF4)M
+
+VDIQ@[1dhjbTLcP(JZ)EA&XCBfj-c(lX0I$ckR3[qK9k%23Z1K4T8-HkaX(fLAU)
+
+IkNlTjY'E4(pEeFeFIYZrHV[hZhlCGUTf%Df*HXc1TjejRA0EN!$-V8M"l*iN$2l
+
+#k+DZ00'EHfVBQjQdjZI0eFhC6G"I@XhADMFNRZpmCIkhiDQ,$qRD8ErMi(Aa2`l
+
+lkp[eTRU@rLRPUM`-8A%RJ,YV,k2m6VadTdjXb(83`(*UN!#ee#q0c`i$Taf(J$C
+
+hNZL"SH%AaNIDeif[TpBNFhj@1'VkllG3&!eIkIMCfbiprejRiE6kqVkfcp5k%[l
+
+'3YA9'3TaDqpi0HL'B8eQ)YYV&9NB1[aD1rSeD29(jrNpRj'Q'#,[4QZM@4)epDM
+
+Q8ISdFQM%!63l2b*(X4[EDbI9b9*!%l94$mbjjEAJXGe%#dRb(A6qicV$VfScRX+
+
+e2Pa[GMG@`r2CAY+G'Y&dkpfU1'[i2@aM1ai2[Y!h!hBf'eZ#81fCTmUF-ij`9)!
+
+Q&f9aG5Y9hG[M8+'jZS)T1r&Aadl*AA(MMXhKD[LDh*Siq`aZlr6,`8R!9&4h!q0
+
+lfKT+h[ZEL3GqZQV9Fbbc1c08YAGG2lHXrQl,1[[0q2cYam%F5J*RE&Y`[rLeGlf
+
+9IC4'E8(KDZ+LU@mq9$FDfhQd+qZKlaRdc3q,Xr@ihTGRkABrjFAreZqcP@,VIqb
+
+LEMJZ*KCYKQ@'P9Y)NhriKNlk0A-Q@@eq'rMB(XiI&hhT(,lc)ESEDaJq!283mCe
+
+-k-lVkRmV@p0jj2FmU`M$0[@e!S&#(YJS(E6Hfq,Y[@fhTGYk@ZrbNrqXJ+"'Re'
+
+%J[-cA@@"m2&M8ICSm@qp)`JHCXVTFLTPkQAR$ck[9-a-5+&Zh1mEpQqcTYpEqTI
+
+Ld"m&JYrKYieal1ei[M1&Jf`@"j!!ImZ#4mDYEl!2H2(9caj)rBZ!iJZ!dEE-feP
+
+Ir#8@rCYq,-p)A!1'J@PUr+,dkY(JN`'LV+M3i1Y[CZfVkNqkir`f8hXILl(eT[T
+
+I@p+KrPJIqZUHci'G2FL!Dehp,#&d3TYcB1*+RbqlQ*D9p5V9QrAfQ0IpcJ@*T0Q
+
+`kE#rIV@9Zq"4U8G'qmQqpRA,cldTRf["bThAdj8rXZETLLMZX+TMBr!aq"N9Z2L
+
+r20(q(JDhKlhBBG,k2MC2ir"XSeMZ33ERJBCcAP*hIiPI$i'(`ce[TDVaYIq2A@5
+
+E[MMQ+cLCA*3%jZRmmA3Fq6l%(X3em@T,Ph&[$9[r,S9lRbq4@hd-h0j&BNYNLfG
+
+hfeUkV!H(`Cb@d2bG9+RSMNceEDYYSYV&p&ZAkmH$XCJAYaAQ8Ek[YU1*@YpP1L&
+
+`KHA!4jp[Ae95$+l@[6ck23`1KJG!d83#B(mH"5ShjJ9r(frf[N5E'aXSmQ1Ec2q
+
+%2'Tp,ZcHAl2c0RjNc8kM`Srm&5bRf-V#JaVIJ6Z"HeZ!D2U1JK$J,HPFH05r(E"
+
+d&cBhRfZbkmHIZEcJdrMjeVe[MCeYRAR@[Xlk[SARSAQAFb*qUf@(fA5NEhG9IhG
+
+lXF1cUr'`pjLIl2TA0aHrmVhr,CF(Y0cVSeYP@rVcC2FprVUPphpphrBmAXHra1r
+
+SF@Khqf1"c85$Uhi"RDijYhirl@Paq&$LcG,HiZfVA',IB1ZVi0EXDm&MCMH+f0r
+
+2D9X3a(9YqRT5J*)l)@85F9[4UY'99`9Y1`BYPcl$UbEqNPS&lK9FI2fq2IdYKMf
+
+Im-k[I`BqKMiq``LX$F5T8V"aq"IR'[VG'riQ2l[lA,dfE6jVLq$lAFjGJBr6@3@
+
+#+iAX9l&)'2Qp(,4QpU-V'deHS&JXmlN9[TjhJeUYIBf2)Vl%"eRRIZ9YT)e+fN@
+
+i0H"MeY[SDh*Xp!+&Q1&#ISS#Bh1XB&rE[`)&c)TY"5DfJX*DmcCYCc'GmZF*G-a
+
+Qc`Ge!mr@aVXSVlVdBe'3!&KFDE)#E*'#Zb`h'IFN(B9DqT'aNh(eYr0kL[5lSNG
+
+iqKNC12&`XRLINm1h2[24ap(NC[Kem8C,iXY`cf$!CZX[&faQmiQP$`$N[lZEVlc
+
+e0aG@dBMArR1l(,RHrY2+frPEIq2%d-6p8lm1XrM,JImYYZE&EUY963ES[YQ4M@S
+
+k&(3Sq[J4YPpkjpH`q-fKq-`XAEk@`a6&$C[ZpM@GFJA8ZREdDp(Zk2!`2FSrD[[
+
+P8GlJ48CG'P4ak1llIb2N,1l)X*R!PHf(BDV!ZZ"(a6aYjiqNT36Z**PA8(VeHY'
+
+SkLM-f9$R82fI+cV5K)S@P#EJ@hUh+4f1[-b!IE`IGRrCf9lX[Hl'dl(5hZM&SaG
+
+(DHA0-jZ4+UApRddbJi@Mp2-UfAc2he#qiqKKD&RQDb$X*4,I`*R6KhqTVe0(ifC
+
+mDbSr[hj2lJd0@'QZmcF(dTC9[QiA'qSHk[PI3VI2NI3cq,AqKRbHYCG#6Pf[Z50
+
+eEAF1G-rr8f[9MfpD(P@rmeakY,eFReGlNR4[dGTpc8@NZ+iYjPI!lZ,J6rFUIDh
+
+hbSGk6bBS6rkh'HThmZ9$Ic1RHm#R@hZM-#`@rlpaSDS*iAPFcF3@-U9bB2CY3d%
+
+[hDAfDALlhhTPT0dQ3i1M-BD$j&Y9qjNHCNHCiRaFMbmMcI%q()mcNBRLBR$Uq*m
+
+12[IS`pf9I0hEl'Z!RJE$h2QIDXrPA'p[iYK&K8S-IB-dfc`aP@@PD3`QMVK"Z#6
+
++d$"`d[hCr,P43"J*hGd1"GHjmrl8`-!c%rTA'25clBjYEEPc)+'KGEhYZMmc`10
+
+eVEAhh3efUifKVX+e`[XprmIr#9pdcZ`J%AGl,JF2h11%!LhV2c8)"a2FZ3J%hId
+
+IaC(MdIa8rp+25Tp*!6AqC9q,9rE`2aDr`bGrBV#JXiUIh6h6kPRK6Y#mrSlUP*P
+
+f[1iZ2VphD%8k4&8[HdVpT4UArKerUErkPIkQAiGa`iHjVe)Gc$8TEQ@Mi,ETe1"
+
+FeSY(ICR)$i&R@YbReL[biSEHfVe1lRm#,h0lpVN-0!FblbqUIffCZJC$&*!!%d-
+
+ImH2qE)kR(c1l)r-CP0Y6)2VBf[r#BbHP$cjj'dP+9-cSGP5VBC["+Y)I`D8cK@r
+
+pZXVlEAFHKLI@Qq"0rJfh`5e#J@*KbkKNEQ8r&FErE9mR##`C-0r5pc8b*@k2*((
+
+YIe3F5cr2J9CRVGLbB%)31%JN6pDFFUG+9!K&+0YbCKLCHqClac$BEdmDcmkCbHb
+
+kGcPI*pHGe&hFq!!DCQ6ZTE`+#"ZTp5,(aFILBqMp2bIUfAe2iNaqac8(i@Mi1Ei
+
+-1rKNhFl1Nd9"'e%8fpRIk8+021a,LGjXh@6EkGrM,h,*J%91mJV`8,1K9p5!hPp
+
+43SH&9m+jk#r9A9B*-8BNm%CE-3%X0#`jeJTXdCmCVqdVAmDRBiPG`[c$!2A&h(j
+
+lfVa'GC3"!%Ei**!!d3m#MV+e,CH0&[[@)Yh%fTkkaTqk!jMhZ4Aak2)VBp%JdE,
+
+)Lb2@b1E9iRbLhh'bTCVFbUe62N9YI`+2pZbVl(qAX+()qYFq"BI`@(`&2bH,)JN
+
+3bUf9j@f8E6@1R#`AM0hY&JC`YhY!NFF2C$bL0H$Q#jbiqACVZh2G@9BfG@GR6D0
+
+(KeICfISE2ekHF!E2Ted3,ACHi,2F,+i+fhpATD[3-VmfjA'B'Kh0H0hCPpF!dem
+
+A8F#EM%h,m-fN3B)T[fD'(V[YEPjElPGfrZZqi)1ETR*ZQYlM'%6QIcjb(NJ"P%"
+
+cRhjLjJh4%d3'af-8$+Jd+@KYUqq6pjL$6U%%BrY4"ac*3i&ddMMd3"b[r2[ciVJ
+
+d0Cj'"qrMk'`@m5,`,D#kP#`'hLQcDpY[G2[H4KcILQI5QI5QB8c#QIZDhHEAJkS
+
+bS(Ccd1k2JXpJGEMDh'(P@0VmEZUdK,)!S&b14&lSS#-!hiER0EP!1i8&eRrYhFl
+
+djY8baPPP!%QihCI-ZZ9'KPk8lRXe)"1"2-d")X@)XZi1+I#B4jkTBH*eQl)ENN$
+
+p01X`i"JJXiBFb,fX(q+ekl+m4UYUL)[G8G3BrG9jq23dYP`T'+1S-@,JAeDNRcq
+
+$&biG$ieHTS@GDElfYrb[cH*`i`a3jaIpCP`1C%'p)#f2fIN4lUekZQ*pNMp9TSL
+
+#hZ6q8*[Ic3eX"E2qK8dYmD**Jr-XkEkfXf5dS4f$)XbCYE3E5#PQlh0'N!"a$9+
+
+iK5JmQECDUaMD"cTL@9XFkCdpU0Y&#-b"3L+@HQXEPcariPJ%SHE-q)4$b(3eQCI
+
+5PI9ZV'Kh&AR8$,ql@,#(e5r0DZGmZM"M9Fq!Rk-l5mA8m,XFHebHam8DZ22q+hT
+
+l5bUR@YFQGT8I[peHaM%1M%4+4eE6hBIFeaCIM5,R![1R-j0YP"B'm$--f'hKZ)D
+
+-Y&!F9Jc2!c14TH0r4[XfEmc@heaEkZAVqIGm6",$pcT%&R5KJh'PGGKI9k-R6D@
+
+RKhZE&eBZ*5pfCpV9Mf&&3Fl$qqJ-5kCQ`qj&j&eBlMRaZR'`E#A6cBjqU@Y@CdX
+
+Ac+IQ3'@k0+[8UH&2BdJXmUcmHRqLcmI6r1Tr&CqCCqCCMVi!hfl0c@rP"2cJ"20
+
+HR8SF&GCqVf'Y[pEMk[r+qqAGIDh$edpRfI'kGKcj2%KR-5QC`jL8%rGE+UG4q2T
+
+FFYmir+ipBG#D@1F%IGk"R8FYmI5XUAFlNeE@GQV[Ch,PkUh`+pfB3q"MGVMGV8`
+
+2QpV$fZp`12'k06c0GYBdZ1bN"'&e#aL$X1kZRRfE0$#fc0GbaY"LTTp-Arlbq0P
+
+ljDAR1KrB,+2[c+#6JPcm2CBPBcG0+S#Lrj9r@fZKKk3l!dKC0lX[PbaZKKaEGLE
+
+%fYYmlEeYYXX2QlhTLB53!!*,QVr#+JFIMrNQf0j@im9b,&,L,*LRLB#kQfp6V'5
+
+cMNa[Yk[EZD)36DFld,cSIZCRa[0RAeL2J*1,f0*Tbc$,1(2DIq*k5qNG16q@$h8
+
+S"BMc!)Kph@ek'IZHK6k%(3J!*CdUQ22aSa6J*AA!2PR3TqACekY'jVdk0#Y6f5@
+
+i81EIF5kRaR0cmcJUmaarC0c0CTC24Rp'`qj*Y*XqE&9jXfke&@CMdp#KKH(r46T
+
+GY,lDPYVrYXDblUabNm!Q9X$-Lk2Ceq4)$i-bVT)JKe!Q'"Ul58aIp,KRhrGm'ip
+
+LE)0q0h*qC3JF9JNEHYF3$p'r[rbH*Bl&F(+1J21pTB*8965NA[Cek2+f9EBD(B(
+
+3r21Kp*!!#lRj$+dMi5+l(K4q"*i%&5+rX15UjaRJ2"%q`JMB1$`)Ufdc06Ef&H4
+
+4XUmUMTkd1biLa`1E,iNDIE@!ibmHEirJHMb2AmEdGpk-cdCRSkcm(CHMfIMr(rJ
+
+h(N@&LmLJApVT4lHRAMVFM)FQY)HpPT&KrQ69VPC[)rX($RV6G+GScFhEramMq2I
+
+H9-p$D%q"i3$MpK5**JS0(L1pF@93AX01IVC8Ui10-jrp$KM3!"Aiq2qDjkPMQ33
+
+C-%m`J)f$)aDRYLG`55U5@)HdKi@Y`XR3(iNQ6C5V%S3BXRKB((CclZJKd%"bPM'
+
+MaT-Zb,A!ISZK%Bl@(0MbcaCY)E,&X33&hmaB1IFmfbZ0CpVphbV2RDcTpL[J&P#
+
+"%!4H+E#m1&m5f#pK[BUH$VCpMf9H([VIj[FepGhp!cB,,mhBbF55CX%RE5GY@e%
+
+LH,30PZ4SeShajBJ)cEkiSrK[[fG[raZrhF%lfaJGcB)U[hB+[bmIBp5RKG[r41T
+
+DbAXHGNAq`aVJkIidBEK9k%QK*3%!*@HJCVUeL2i,$RpRBhp0eq[J9(Mq'5C8%MY
+
+q2&"J!%Tk6iJPDNkG3i)FKNH$QcZV-jhE8Gh3YEfCjm9IZm"VIjUq#9X)+0AeEQp
+
+'I%3SY5l@P"5lIY+I#b2r(brPA(fY2*F@`B0r`VM5JdGCQlHA`iYK5H[prGck-9A
+
+`6FJr46qrmU[9ihKer$S9H0mUVf(hk[U5ZhP0k[q*$[kK#i0pUYV-lDChMCfqkdb
+
+6$Uk9T,N519ZaFNRD@`d[Q%*Lid,r5f"N23%+DGA1hjK32PbY[TDc0Xmh@GIEjZ4
+
+Ql(VRdkCaRC9eSI%$B-DHL2G`N!#HKaEFIi-F5`Dl5h*-JU43F6(m((Vj(Mr8rJ'
+
+ER5Np+dkA&q,ArENalJB22(!!YdeRTAfPmM3(Q'KCG5cr$-1qH`jEf5#9#4$,IAc
+
+HX4b-DKlplZjpaJbV#9BDAb$mCb-h)ki"%#!&FM0q6Qf'EBHADM'*D59jbDI*fQ9
+
+[Ji5Ub0aV19IFQqbPlYkL9TmbddC(0262&Cqkq5cpeGrMH6FbVCQiYZ-fjkp$0fH
+
+ETXfckrb5q,HCZd1SfA'Uqa-pHGRc25RCXcm0Ar'jpL6bj[ZbHVCp1KS`IN[-q-F
+
+m$00,NeH6-bTYI@CHX*A(M9YpbM3fbYTAYMPJEKT(+Yr'D+eI@CZdk2M9m30&Eif
+
+eUDVG-1!GM2-@EX1+35$MMEJHfHcN&JHh@)BbdCT!A@96VdHI4jp(f-#[fZI"Rl$
+
+2lLYX2Cf22lIRmIf*pH0bIN@0@[NCH4Pj&ENIalc0Ai,1k1q#JIZBh'aYr8-k"KB
+
++HAH9VRq2NCSH&QeHL"),"1B@$6MD#c'f&YQE65fQC[Nfmc"B0c)IEQCNf6UL4!G
+
+@%D6BfT*'TDr[HX0&mD$'YIIPEZ0X)ea'HC%'Xc+HPaRk)!`S"hRq"PFL[icD,!K
+
+pfA*l2Nr(bY`FVd[Fc[d3rLKr&1r`Yr-QcCha6CTfLr&IriE$m@`r&h[Y5XTl2JN
+
+64q-)!9JK$-3$DH6E50c&9i'0@aL2jZIGUk'0lZ0rcU9mD28e2"q,'XZ(DEU4,bS
+
+6&JKcp4@UmV9j@VVl,2[kd1I"@eHI4cl[h-(PGK`V2(Xre61*U55K6VUS))cHA-j
+
+dcq+CP6+mXXF@I0dhp"q*N!$-8UDekqY`,lrAGhTmTa@A9N6hl%&'qhILbHdNP0L
+
+2ep1Z`!aE0R@m54b%Y+bq4@'cPCQ0!4J04BR5pGcFkTr60VfrH6[Qc[RlEpR'qIK
+
+i9[mbhk0rp[ieeUIc@rcCZ(Ep#VqD(Q"h@E1VE6br'Vlh2-k#P5rAUE%ii-@(J6+
+
+e6(!PMfq21VdXA*kU-4-1a$9@,#35CXQV@QkUEdTh5R9pYdH0jH*dT[5YqPYDqUb
+
+Z`%@T`)+&EEDT"B&h4Qq@!J%"[!C8E!UpFJI9Q4N+ec"6c+&HRK8-HRIdGK9@r"l
+
+FR3e(4'iNRXp+6QbG'6SS#&MlIbGr"9L`"l!6EYT@PXriNM(l'[+aBHVa$Q`fRNk
+
+QbN@-E"RJJ*N'2+aq1'#*N3),I4eMJJPBYal-0Dmd0RjIL-a),`f[,RP4q6CjAM-
+
+pAh1F$f%eJYj)M9aBHheY(*prACGKfk6JGC`DUl&i'%E'QB0jY!j[[`h(T6K[SdJ
+
+'"l%4Pl9-rHm@(Ae,5'M$lmh,eREdM3JPMU$kXQjj9VeaF0bC(j5,jciabF-rd"q
+
+rVir1ETMrTMrbA!-+U-'l1H"3!)h#Pk&YPkQ[,k1mc0jhAIlrjpEjqK[25j%1lT4
+
+Z('(F%VK(SCPN3VSl6-fRGBHr@BC-p+C#2bZ($l@TX83#CPpMAUG(6CRCpe4hkL!
+
+GL%!ZR#!6f#!cS1MFjQc""+V5Y$IHPH3hY+P`k5)"bDIjl2el21UpBma29Tmk(eD
+
+I@fLp52@QHV1jYY&)i4MqCIHemISr6c-MZUQr`U`9!*!!I-T3F1ipVX6VJX,dqZG
+
+h`p,(c-M4iI%0fcb2%VFM-q5Y%E5'ha8Jq4rYj(h2%q,)r"NIJ3%3%UlE[0Y*Tb2
+
+rl+`@k)!+Z5cID(aeKc4ZeQ!8CP`'9&`0e@UD'4[H(&Mj+)p`bE&ap!Q[D%E5MFY
+
+Bi$l5[(Fej4j*mqfPc2,QI&-mkVjXcqbElfXiGal)aJFCNE65YT6i%'fplEm2!pR
+
+%VEj@$!3$6D9+hAbkQ4e-MU9HTZ-HVMamIABp2([5IIIIMiril``2kMFLj,#Qr4Q
+
+ql6""L9jTdK6I`cH20rbRC&[hX[,MC9Pq,!,`8R8bI-Up)8*5PXf$8`#`q@AJ)fK
+
+,ENlD4CL*bK2-p+Cq'Gq[aXqjj0J0303TF(9+l4pa,1@UpECdGR4fG(DHr&M8rQ6
+
+q9'`5J%GC3e#h9ZFr`YXiN!$qA@qhifB-KKG"BckT!HKVaCHZZm#Pa@mB'64i@"S
+
+I(bl#b)hmZ2ej`J%2PSah"#GfYK[Z[Zi6#b!)DAr2PTrXc1N!4McG+ii%hKhRASB
+
+rEm'lr2Ji*8IAd"HcDY1M9ViP'E8QqU3)-QhcT[UDaZ-"HiPHQ##V4QNjkR8fhUR
+
+H%p#!Gp+l!cHfFrGXNZa+D![+#Ac`b"ie9)d2,KdVI4Z0'PSj1L0!2,QHAYMHJ+-
+
+(2M#cU3b4)pV!'5S-A@ZN!qP'ir,b5jdYpbidGASpRjIar,lQG)Y%PpDk3PPkG1[
+
+'jmIP@9DcjFh5m&Mi'-BN#X[(DXES#f4,IaEL[Y26ieAk1[0,4V%!eS*PHhSr5[k
+
+YF,aiX0I@HR1Uk[Akq6Gp[JM+#4q@bkm"L"5"[FMdSm8l!3%Ma8kFH+aRbaX"$"-
+
+f"LVIKQIK3%QD8lB-QH-HJ"M$Jk)S&d@C)C@p)!@LET@M+c3X'6'LI"!0Tq(ErKT
+
+rKa0,IE"N%VB,E!BmJ'V!mJ)l@hVB%@*AhVFZ+KEhXZH,)&4JLS9lVK8mrl&HMP&
+
+dlle(lf"pklqp'qp(Vi)HjNCYArpj&HVqMjIK`H(9rmh(Kkh`kH(XI00%6J`C8LA
+
+VBFR0$eXQT[CN1hcF$SlAlQpbF60KrHbT-Z@-(Q4DV,TbbTYpIBGRef6Q$S#Ji%0
+
+5IIQS*HpeAUBZ2lH4jZ4cXIURrUpc)mfT&hH6'pb`mJQqN!#qHME2CZSBfDMIA-L
+
+fC"HlR-efPXq&X[lG2Al(AI5S82V82!fhm%dhrJS$0ac6mah1ql"6fLJe"[iDZ,J
+
+3@-RZD[k*-H$8c*Y$c*aJG3)hHTYBmcabaCP1BhfVl25Y)TZ,Fmq2a*0a1Vij[YY
+
+a(V#aZDpi([@eE6j`jq$b"!lR@rl#B03e&kH([*PIPJkm(2J9cCmi433+P+PMAlC
+
+I)pDVcFMdr%Vj%M)VC'CND@39UQ0I[0X$`IHKTCm`9kTB(L3j8ERfZN1A!V6pL#C
+
+r&UqT4hI&e2"q(AG9pPhc1KM4eSS"FqABHA(&[`3ELES5D([I,+Zc,MLZ2I*F%#8
+
+HPQ(&iZleh!9U+AfPVeA0,aQPpBKl`JYei1[Cp'dk1h1Y#`Pk[-SqrMI3aY4fIAM
+
+p@0jp2UMG$QP(EL5HECFfeLeXA&LeifXeGlD(!p,Rc%aqqG8qS1e[)eYLYCCmX2R
+
+CEh+QCmhdYCk4+qmdS2HK-pPXYlpl+dcXi&XVej,$JPP"`C1X)#TUSqaE-G@(+4h
+
+pS0('S[m562e9VQaYE6dE2eV2dV20Xr0+h[jl`q2@BcX9ZZ,dCVlFSL[A0h-blD4
+
+EETHPCI0iqSlXj,r,CrfhQiELbAV1pKe5,01dVIK!`dU104aZcVEU3*Nm"I0mR&4
+
+jp@YBFQf'a+AGcZ[,Pf-ZV[G9NlbT9dGjQlbhhPIHERH9IXBfiaUU!P6FlS)pl)4
+
+ERc18&'`GDIrHh,iG1ZlEEL$hIM9kTE,QeTh0fqM6VBK49Q$U0E$i[GBhhGYqcIe
+
+i[B$J89(X9EI,6EG,Z(L9&*eXVMiBBdfYVICmDY2c$VC0MYq4"YUf6l1q@RE"5T5
+
+jDk1ch[1M[NCRcQ#$@9Yl`-1Yp%TYiS3#kRi%62P2*`0#Mj&ppQL1JD2!2F'#M"f
+
+p)efRc)lEKGkhULIZCBH5REE[$hZFq@#D(([mHS2J9El%MI*e"cpR[@!kfc0YCAr
+
+`ldFdMXA&KpZ(-QHG0pqfN!$T),M(`-Il12[A-0XhZ58fYlYa$kMh'P(L'hVNMh6
+
+G9f4fZYZVqH#V"RdrjSaCaM&NQ$*lIK8m,)crSq4Tl&IRB&CGpeiZI&q9J'jmAYd
+
+p)#K(e2cY``(cFm4dM6H[$cd")5ZHXJdSpb2PeYJai[X0PmXXCh%629XD$l!J(bQ
+
+j,I*Q#cLBC@1hV8mh%cGm)`,*lQ#jdEYbiI,(rI2ZZI6jr&@4+J*ckI*fI*ZBeM'
+
+X,(j&HVbFMP$,FrZfJE)m[)Vj(*j'9mNJpaXAG8UZS33!N!!%3)3+l`V)f-D4'h%
+
+Lm,,*GR-+R65T(-PD-SC2r9cEcbpYEkZG+Y'F0S[L'iK+FM+#j)6EU+`BNqDE3G$
+
+*pZepfhkGjcZjYB"h+e3p!38,MA2,9fbRT6cb(qA@ai-H$)dXH$HM#'mdM2DHP(I
+
+iS+p22@da9k&TkXhl0[dEclQjY&iU5BY0GdkfTapE5JKRI"HIl[!q&LfqN!$3S)!
+
+R$NIRbF8Z+HEIIVh'8aSjjl!-"U6+f'26dU2ZdqT43'd0KkpTK@Q&EqP0rb[IrIA
+
+9pa@PBYSII8h(e1PYXIEBq)-'iIV`rXKq'CkmfmYc`DP6l-J06XkqVI(fAcMIL%'
+
+I31IM1eQ65paI68[&Yc!d-IG+RMmCqL!%M`)"-cYa@ZGP3Vl1adeI6qK[LK"H"!'
+
+Hr4#FQ-%4H5(lc,VQb2rFIB!`"CrZSBChA'4mJC(pm,Dq'",L3rRQlrMLIqSX"AV
+
+A6D&@J!LK1idlMEDVa[[iRhjY#EVYYAe$%rlb"U!9jQ80#KSAh8fIiGTk3%LbG2P
+
+5j%1"-kT'kCl[(3PHl4h1#-d38IaBD8c8#[[*%d61LeR*fR*mENllNcBdf0YBfU0
+
+6TBE8cNc[rUhm#Em9[KcIGYm1Gm825TepRjHZcGa,L+6AGbH*Vq&aFM2iRImDYp6
+
+GrZprrXVH-G)'4e[Tp[Jb!J(%KZaJR'U5*NQBEB``jc3i#I2h0PA'r[*'"m80h9V
+
+3bTN%h-Z-dMpIPh[01YijKK[lBf(mYVrTqhipAr6HIJhRi%"2XI&mlT@AqPRr,Tr
+
+8Y[jl#aMGh,6,HYKXa'-2+`kjN!!'IEeTfIaXqkV4Z9GGh6ak11-laMqE,"%i`$2
+
+d!J!EYkfkj84(DUerhEfqVl&)4Cdckp6*Kkm2l,E1S8,Zp`CpK,X-hj!!1-aH$k'
+
+4k'4eXMVH*RH*k[)rQq6r4BI[aaEme`lCBV2"$clAQkETdp+bjjmaCVIQ*hjkYR2
+
+#bV@HI3AfYaPRNe2Jf9@T"KE%X%E(jZa`pMKl($eZ(1`p[jZaSiAK5XTh&bZq"4U
+
+8HV4dD2Nr(N*kDk[!IEYkdhRaaJ31+H*(kGKcT1YT504+$p0'hrM$i"`GIbPiY#X
+
+V+r5iqTEf),H0F5VM5T%E0#+9BTqimEIqKGl)+%r"3%X!q6Pq*e["!*NCb!RLGE`
+
+XrJqKNHYpAb["mNqQMXk'1I#RD6)!l'9QR8I#0Gf'TUkcAD[iYhVYIm9(dHhq+dp
+
+(9r&hreU2SdIkkIEB(CkUkh9KVUZc!jUpG8""43%q+L#$!rVqaff[l14G5qlQBFc
+
+`*Rek["QENHAjEGa6j1bKm@9rHZI5aRkRC&#MHcFcXPL,2`iCZE'mTdp$ClfRAj(
+
+drpQ4XmMCj&$Bd2kGRSE2k@dQhP#jh-VZpB%J[2Vl2Jq*ZH3Uha(mZFk2XS2&bIl
+
+lNk&(6f[!VFG(C5SG+i*TG'0ViehBRlP'RphU%G*p6ZDZZq[4aYPh2B@2BeX3ZI8
+
+1rfhIUeT'aG-GkLP-(4FJ0lFcqDCR6[0mERA2`4cUdYZ6Erm"KTaU[a6H0Y[Xdp+
+
+RKiRQBQ*0idf[1`lFJ-b-AZYPX@%!f1ChZCCk@Xp[ErcE(1qAjYRcYMm%iiP,$Nc
+
+aAUK'fIlBYik9pdD2ZJ%QdI-Sqph(`hHp`CF&eVrATpBCeCe2eEcRARUdmlCd,fK
+
+3SE2e['f5CZ5YcXDY2hh[a)aVfTIN41RMICcjjBdRiYX6e*QCZ0+jc+'C3dY0lGR
+
+r0[XlDHEHFlDI"0pUfXCBjR'('M8r[QepEh0[M%IBcfc`8,qQdZ04+1DBM9aiY4G
+
+$L#6VS$5F+[Kkc3bGl!3Q@Z1[VjH[pQ$flA5KjmmPQ#cKZPND@M9'QC!!YcE!r4)
+
+r*XZ@4eHVi*f(@'P'kjhD&!+D9e+A#TH,i&H(f*Rq-h(YmQihjQ99CH!l"Ce'28i
+
+@VmAXUqbpMEJJY-R9EqM[lZVJi&MJeH"ULY49h[IaGrNprSI3mM[cCLh1K83%dYc
+
+b`J(!2Z63m$HmH,*bGkT69Did+1KVp#ld-%UD6p'@`i$FrhRqblRCBfRV5L&r%GB
+
+`q2$J,UI3)4G#mTeqeSBAU9I8b28b!$I,S3H&9r4"h8'8,fq[Dmq$NNpMR`%*'0c
+
+j(jE6fi0#(2[IaEMf)h*YH[FQ*TNH9`I@m$p1RjcE[$E[5!dZA,V6,bfVdr[h[`c
+
+kPAe9r+0[Y$Yc16IU6LMcl&YHVFV)mcZkpRErK8PHCQc@A[*FZ--*SiZkY$3UNDL
+
+R9JKQAY1VLCdd5&RB'SZhcd95j1,1r,(KTL`De'MP!BGDHaXkpQ%`YKHaY+hdIfj
+
+h[DcHDcH0!dlhY9qhBFQ1HbaV&$'+hf9$'UelRFf"N!!6*q`94'!&`(hkR``P1l@
+
+"J'AY'24%B#kRdeScASh5Sr[C9PJ#EC-bck23lIbIN5,D@e@qR@&EHG-ml`C$+r,
+
+B+qYLJZE'fC`)lM,ZDejPd-[6CGR@q56Z,`!M(Lmq&QCLck2d+ImqfUEh2h[8QFi
+
+edFGDk,0e([j[IeDe[Ghm91[YGr[DZpaP`4K&Vr85SaL14G@N59SqlNm'9fZQdT8
+
+--2eBSZR5iNY2ped#NQTLSqNd$@r#LaD'N69MUVX*%ld*0'ReV@M1cU2SE[h*(XK
+
+IZR(dC2Z3!2Y6a(eq4!9!HI,GfNq6B6jhTbDY2S@Z"1pqMl[GIU+,IZh(rE'r2(k
+
+ZYph6qh'j*&TTdFIFCG25e2#0`NK[h2lp1[HHK3Shh@[HhRb00Bpd2%8X[f1GhZG
+
+CeYCXVq,BeRU5XHk)5c8F)CIp5h`TfPH)IEZpei2YI%AFCmq@[l(#h'GFr"XkepX
+
+qaVpM3a2$SGj3VlE[*YPU,'`)P,(YiLHb)cXP2QC%A,pmCVcFbZf2+mfmrVlVr-T
+
+LZ'HMKS(dY[YZCBFPcVY*G8BPlI'VdmliqGmQY6cZfcZf2fhYBZf+UmH,MVl2M4B
+
+0aLpKLe98P!41aG[dpMLi@,!D')"+XV!GHlf%Lbbm$AKp@GD'ZcICf[p$GbC0T)H
+
+Gf-GE6--'6&,Q!35jZKMGRmcFmShdfEm,+2JdcRD@UpZajiYckFQP$1aC-BMEkNb
+
+$'C6"Y!T0k2dl,QM3(lAJP4&P910FN30+plELdkPp`d#N",lKh@k53$Hce6R'G2U
+
+fbmaH11[Z1lP6jG24*kHq1cHE4a,liU25Sp*!6CIiE$r6Y[jrfpc)N921-BERaD0
+
+eSi(404''Mp%PJp'RjRajYMpNb0QNJj*3UpJMmLeKUe`A@5EUih8S1BmM!Nb8Fee
+
+T0'eSfZGVHYUr3emN1HeD1JP(1MVIQcDkGfiPDhh624AUc2e6-Hhi0a[jH$+ZVAr
+
+6@H2-MhRcYYm@(L6F6@G+CjN25QI@QpcEalLbPf-UkJrdR(BM&rKY[Lh[5,IIa+k
+
+AFIi,XPKpU@9ACHrm#[NlUPlqfmUCj8lVE6bZ0d-6VDc16"5fmQj1G*F%XBD)LSm
+
+-JK"L&Q,BRkbMkM$h+ZH'BHYqb3[Ymbrd0VSiHD9%c$h84HkXG6AQPYAZ4CGI8Ek
+
+Mf0(XD1))Z8-EDjqemRibVjYc@&S(#B&cr(V2*Xp'bjZXmhk[fYGP@"MG-[SL-dH
+
+#2"(1BH5!3L"3`aC1#DL8J@Ac-)A!r"b+dhCV%FQq(1lcM9pGhNFYi%RD[mJA-P'
+
+p5bUf4XXFcCH2&hF8CLjp([h"*i[FME9m6`j[H6DXhlmhrF6D1jQadSrBqc9iG(H
+
+NQD,!'X9pA!05Sm+qakQ&Vmq6j'QXA8riNmJjqRj['dTJ`AK-VfM2qYAZDae)F#J
+
+8pCIRkIe5&)9U&0qHK!Yp$8ekH23Vkl[cI3lqEAUpq0$IRcG(@p$EI1q0mebEYQJ
+
+%p-BMj`#-ir0[9[ZGICfap6p[dbGXc1&22$GrCi2dHeQ+UI)#8G-SG45aMpUVHhV
+
+pM&Z1*2hYpdG69l'(XEI%Vd)D%0pc-#[Gi$eBbl2J@GrH-GF*L6-jbBNf%D4,&kX
+
+Zd[CY1fkP2#l[dV2BGRQl1'E5e&rCBh(pUjX@121*4i9(3`2)[[KSaU2Xi(&[[5*
+
+,h-ShAF9pd,J,Hhe&HR&H"3+[4a+Xf'VEL%N-f'F&!e5+!-hC1,Uq*VH&4apIME[
+
+J4hcUT1Eq',i(9ir0mECBL2#jeaqbqkhCjhak'jm@02P6lJ25LaGReH(cH4XTYDm
+
+Lir1RrXMR8paU&f##ALiJ0YZB6K(Dc0[TEIfpYr0LCfqmdp8Q4A"brHd+qd(BYJ1
+
+Zp0@dqbP'pGpA1[2[QdN%!RbTZP`Y(CqlfhjVITIl2l0V,PN6TVMq$fSKaqq`J`2
+
+bk[STPr*dB((,mH-ba'mbQ*X+Nf3m5Ca,IhG[Dbf@mSq,(aGF@#@-eHY4r0X[1fQ
+
+V&*Y@QrkiF*Cj&AZ43%i+V%i+VfR!%B4()Ch`MqKlJN@h--jK0`FAG#F'4BP4I,j
+
+"qV#i$RBqPb1YmRlmHK)$30FrZlM(DDLRAi'VlSl)V4R-K2eTk("m&YBkH[b'fKp
+
+P$cSG+EeYCprE808Mi"#!6BiY8ME#E'CV$pfmE5h[Uc1[-cYYpE9A5k8+2r5qrVS
+
+rq-!iTPa8)$AhrLTr9VrP5HlNFXapVfe#!5p$DH46Gl5Y+&K!*S3#0cj3r&`Ser)
+
+ePD!f*Vq,(009Ikb(Qbq),Ah#JH"SFMb1-i3$@D9(eHckramlZIV5,TXRckZVlM5
+
+l(Hf9+Geqar,DC-cmR$ZSh9YC8EMdqI'NA0D+#''A&+Lil06e!5(Qh(%D[JFHrmA
+
+ZG#jmLK@fHCT`N!"qhT4HVHGID-0![""9T"kUl,3F"%JH[Qe#hR3V*mh0`VM5eQE
+
+5iRMIFm"MQGH##-"UDqhiX35#U``#S"3qV0kqXD5"[DKZ5(,d*RZ'eRqbCcT[LDc
+
+lXAek(NckAGFqA,`iF5'r1G+TQ[ccS(A9q*MAElFiF,hRQE6c1pQf8f5c`1LXX'a
+
+X*&2d,-Kmd+2c+-'[Q@RJVqfh8RKfY+Eq(JpkGeh+05MA`CdlV,S1lfM*"0$DBXM
+
+9GhEie#KZEU-I)8R3Jpb$T3rjcqHIBh+qa@X-aVDH#P&,NF[Gk'`d$#r!0hYHc-Z
+
+,EjHabrPQ#lBjHXVDH4'jFJQM,b'Kd"Up@QHp0rbYrmVM3bG#H[A$Pb#5`+aHUZY
+
++ebEA*eZPVIf8FlXk'l[8'*!!FafQke6m*p(GIpVlp1pqRZqfVpVhrFGrY+rDCGK
+
+Paj-L3qf)dXk"%)eZPIAb)&)'2d(%Jhq&AaqRNFl)e[$N-A8ChbmiqA#0ATahlCA
+
+8QRDdE21Kkfbq[Zk9LI0eKkQTS@Q""XJJ%9YX[MGE!r$mH[hIATrIlDplEGdkrEG
+
+rfhIi&Ha&,0F&!ZCGXP62,lU[FjY$m0pTGMkhBp(HG,CqAH'd$Y-ffPaYrh9Hp-p
+
+l8m@2hmILf9EX*'R0Y[l&HmkQfaYAqL9ZC%Ud[l2U`P&l#LXkdU4DLi5$3,[(kSp
+
++6VB@G@%l5N4@1+*@Fq6a,LGiR`ZmUbkF(A$`NTZb"IfZXdU816$[Q1(K"qI'aC'
+
+,8C["cGh8i-,MMl@4C26Rm4DUNR&A(Hf1L8*)TZYm,pNQ+caBHIFp16J3Q68`q$1
+
+m(,qAkT04jd2j1$m+(&MLN!!c0V592P4G[NpTMpTRe2jp2HbY9fYEYB#*$hedA+l
+
+U%F1KB*I9`0'mc0F&!h[DcG+SBMXb+hkG``X%S`eB!X&YQE6Gl9pREaBXPclZI4a
+
+G8FD*`ajqhi0[HRdXK$c@FUB8L02`GPH(4*,6qc3dhmrBe*@I$e2UmkpT8XHAl8H
+
+aD[q+TBU*B5p0c,2RDcTkGkZSf*b*l)j%iXHpm1[a0$kImrL9-I2aqTb1Gp5PLiq
+
+,lAFXf9!p((Kcm2qI%[F29BGE$J`iITGpiXm*m'JP'2e$&U[ZdDqZcrP'lKJG#6d
+
+*23e9+9M`BdSTY-45&p9VTGK+MV)QFK``B80)qDb6fhR[XiBF`m)2iJY3MCBB)ff
+
+*RGel'TTcFkEaHjkhCp[HlTQhPR'hP@["IBC&dJ4HA8ALQI4PN56Y5r9k8cdThTH
+
+0r6VYMBpa)eqSpLD`J&AV6Hh`0eYa-JH020abfN@1,9AbCLa(lj6Vrl2[E2dYRk5
+
+!QhrT[YMG"!02[l2lNcS$(lVI(rUhfkCEbB1PU!@eD`NAFM!V4Bqb,@f"SIl20ZT
+
+4Z31EMc[$0"C5C-Md+[@MdGG4e0(@PiUdemf6HCFr2`I11,*M6c$pMMH[YZrQp#R
+
+`rXlV%VcFDE@e)mSeeEFQM`QcN!$Li1KFjC[CIHdrTDIdYpk9jk9jr6YYMEpaUYH
+
+D$(6QIrZEi&8P,lE%TiP2%a-6`1PEqp$jCQZ3!1UKFNYX[S4SeMJf5CA'B*!!33f
+
+NZ62N@%md8-f`rM@LP(pZ2S-XFG@$TfIX@rX49m'SJm"c4Nrjh&I`UNirN!#bkU!
+
+Lr!KF0%DrZ2ZZ&8i(L9XI&2LVVBr@226RFMQr*[BrLbIAPDekkN@imFI"Mm#2`j2
+
+(Nq,"qHBHpccNbqMJD9p[GP&5r)GH[0Sk92Ql,5LLZDfkpLTAamr)mR)qMp5,LI"
+
+iGPMk@4Sj"GCmD(Ie-@(JecF59mb0CCYVcV2r1Eq+M@l[MZ5l@%`Z1)9H-DTM*'5
+
+haEM2Z1XXpMMArdXQ(rkfP1ADEVL91"Mif2MC&IKB[%aH&RijXU%X5rqcNm$rkm'
+
+RLfKNdd*QG$kSP)2$Y[kQhSBH+AlK5+'P$`jRN6$9#XZDjRmrFm(,-3I8%UbPDQi
+
+TC9$RMHb!&8ce0C3TB[M9mR2h`3#PiPYP`8Te2DihJq2-jeQ`JfXr$Y2*MbfC&[6
+
+YDPrFDk[0NpM*MeZjM8#G,C3pMAQrbDMrimAq5prr@ek9rr*U[-q6Aim1pViI5`q
+
+PmhTErr$j[5`rqf(rMKrLmAfYcl'jMGeAh-BX`@p1Z!E4PF"LmL34"MaX&r+BpLV
+
+PJ(9@f82J!5Q6qbhG,65'0JaX'0"B`9l5+$lZ`1Nkpk&k-(SZK%!5I5Rm2"lTAcP
+
+DiLjqbhjDiNdC*iqQdXcDBMGh'lk-02STKphH!1,MQ+V619V161j2CFRCaYG'ZSf
+
+kM%)M!Q4(-Pr`CLDHTV21fRr$aUrMHT[U%c`YVrGUXZ2+Mk8H0VM[G)pQ"XU0$La
+
+CpjRAY6C8BT*i&b6hMBfJSE@Ka,lp1fNhQP&l&pALcjqIFq9h1Yh8!J9eEMJ8kd'
+
+J'i!)bP@VF80Ped"))DYA@hqaa2Plk0c`J`+U#kiU"Qql6Xrq'&VC&M84c942Spr
+
+AU`P*IDdH24qc4k@"jPpidBVT0XTH&lrbr0ZVZR8SqPJ3l$JfRXE'Vh'0akNrGEV
+
+"%S+f2SC"VmI2b5!-Dr'pd-23qL3!-8eq)f$ZH"8VER3a0lKaBH6Kk'*j!V!3,YN
+
+@R0F@Z(0eJH28+0#LHaX5+j4f@[TGRr`qC6`YEhIPpalfhcYCk(Hp$`X+KEpYpMX
+
+IZcDIE8HfSq(RH*4Ui'`Scl'%-"8U*A0I-prdYVYF6MiIfBHP$jNcaSBRT`p'Yc%
+
+fj8lcSr1GjXZk&TfkLFF24F+pqYAi3#$*F&dAMChJjhJer"bj@pUr$Kp,D9pTSiH
+
+MKqAXCZYQd0Em[3[FbeeP$Ch(Cm6ZC%96bi"J%19-r(V9IBhI2Nmr@RTcMFrGmQd
+
+j1QM0Q,12c*8p)d-L(S#*'#AbVJLYB"YN6p,MmVHQ$XEc1B1c9lbj(+Y"&b%%'pd
+
+SH9##!E40`(X`)aBYa[j9@Tl&jpUpmfRqQMlP(3-IJ[0Dr3er3qCrVZPIEMdkplL
+
+heA!pLmUhZ0I9#dh8SmrAeqcaYh$Zrm@L#NKarH)#G@MlerlPjbkGHjc0GSi0AZ[
+
+c5SYC3QGD,eIMerQGINCdhe,bKaq"i0H6RfI8bDA%m5jbhk6JRl2eEle0Mp[Br[I
+
+*jAI#Q%iqIH$ee@MMB8lU4Y#e)keA5e14DrrM8r@emmi''F#hCeql+hF2#TF$E9Y
+
+lLXdB9"Ba9NZ9DejbjZ2CIPQHNIM2l00c'E2UX1J%RLN&R&TkrJrm%k`dhUDIcTR
+
+,Y[rAk[rm[2Ul6jZeqjUV586Y)B)Y,C3H*A*VRTd2LipDIq(6HV-Sq+c*F#3"$YA
+
+a-$K8H(MF(Glq32Q,cb8lHDlLIJ3I4TN8JJe!@dr*XLSZq4"p4NiVTY,%K"2aBEh
+
+XDpKl[Fp'pk@UrlaZC)!G$elceIV8IVd*rr#0Lf-EXpcIL$$eBA[XEM90I`&V&`N
+
+3+6'TQ,9!!5U`$E'+RcD%9#)!Kdih@Y$TNp!X9dU6#BKV,fPemRpK[08EHKYIUNG
+
+l"MF$FeUMLm!"$&i#ipLBi,i#(jLQK0Se-`)"C@rlpaS-mmZR$l%2X8UmZSK",)c
+
+dr-[-[%XURlkp-URj50i##%%%LIDF3,9eBY!pKSp[ciIFCkUG@CclF%%03h29Vdi
+
+*'1KKeY(XphiXRTbHICFQdM5C&P@X0)ah1*F%H"N!#2XZI)pb$3l[4TGADFq)I35
+
+kKRZF3KIG@ld2PjG8*"&lR(d-8IKDcRj)))e50%CE`B#AQDI,j!B"K2[bQ(jl&,f
+
+*B)&@F(%'bFf(DfTj9P@Y,6@HlHFk-5P,50E+*9@a-kV@a1"KqjLGHT[ppAZ2l,I
+
+pNl1mDKG+NiDrDfL6NQVDQ4*P@YDhJZBE$QaZR("pa)fjXD"VVaqre2ImD[Hlq+Z
+
+@Npf9hiBZ*5j2"VkkYE@'XVc24TqMHHMFeq4HEhI`RZN2-0KE`h%9,&YZHYr[l2L
+
+ZqBMmPJN9kR5'8(5akq2r*Mm#Tej0l*VbEqdqcaHPhAQ@QdN5i[hSDqUk95ZBr`m
+
+k`)Eq[LAp[ai4U"-mbhfNZ@f`jViSZlPkAb-fMa1ddG2pUG*qUB3'dCPH6cUqKcj
+
+@AZ0KHdSZ(T[Dl$+%9XrLCm@I5ck9DARb0r8U`Cq2Pj'`ak@2`k[Y5FU6AeZIaFr
+
+'cphRfPD4RbYrF"!)X[iq`qC5ir$QHe&PFH[LjpMRh'INjm9D0RbqA$T##@MXY'V
+
+SdHMVkq2PhmQ(9kbY4NkrAlUiM5V#0'kE(!80!IN&K+PIIKff(ff*fdhA61jKh-S
+
+b30)QZ"!K,MSL5@@1VY@A(C16Vm8)")jG4K))Y',4hr4U9k1@2TY@2TT1"Vk))(5
+
+J9%h!k*qSCHpNh'VQeUNQpejk3bSdYB@MMC%U$5*-D6'epAV!'JMAjpSf01UhafP
+
+JU(jaDDPbBfV0*B&!3+I'Kq4EmL[NAH4GQ6aGj(!b1,NIdmMqR)q2BAGMGb,Z-2i
+
+2NCYA0-*60b2,"&*aj11$lZd5J+!pk$LQEAUTp@qPIR*ha)X'pX+l'['C,kPTSb2
+
+bcqI$cpCbG1aNi6NVq#G&D0MM-MS+jU2qV+'cjX26a9qC6U8P`3+8pZiIIJpZIcl
+
+MRbPC!4!X#'i`C&p@fJ*,DYicM65mJ02H$C8U8Y,3)f,G8UFXKjIjdD'"YEl5Sj1
+
+"pHLC`&(1[U(Eq,ZTmE4h4CZap((k)V"hh$qEiKYHH*hrLGriRp9@6hQVXB*A+J2
+
+*DGTAZK`0*MVcj4S&5,HYIi@65LiPKlMk9J)eM0S!XIFZ`V8mbjcEEbeYqELAVUd
+
+@MX2qpVAeI5lriU2hllXUHZ`1ke9M!,AS)QfF*iGC4)EbIk5)E&5),pfbXJ*JpK9
+
+Vif09VB)+*8-RTam#rZ"kSZG25TD&rTI5XF5[[Q&J!*Q3!1pKiPYlNpJJPD@$S4D
+
+9lBakpPhrBJJ[+h%c1*[Cr9MfNEP6kd33#@#5ShZ(B3#ic+@pLkZTY"*CBJ!NpBV
+
+@S$qP)H3%J-ML9'HK"')pN!"EkH[LL-d22XHIIqc&@RQaiMS#4SSC%D%Bd3`$bK!
+
+3!NZ4B@0b0q[MCGA,-M3TUAPF!QD1ZXbjkNIb)pM$JQ)31)VMRhr2f[2h[2hV#2+
+
+k5+'FQ@LJ0kQf6r&5deGpMAY25J08bA&2LND"@qr'UcQ`jAc)bVIDc1,l&Dc!-9[
+
+RPca(k4k8EmiQ*RbIEJjmVRbqI[a[e,d,M3Kr(Ykj$JjA(MEi@"0@e1Hh&M'KX0+
+
+RcbFY+6fb1Y`TFYGM(XBmH2AX+c%6+8I&X!lS)el+)j!!"J)ZIJXrhF@$5kGjrqq
+
+01aZPZqP8Ce+e1PIG+pk9,lReEIIQ*6BaV@aeYI*a[hXUcUBe(LbFG29m805dZmQ
+
+I2k*%$pQ,h)[G&0-@,Qh2Tkkeh8R"N9Df,"9dN!!6"055RT43dqZJ)d%@eJ,5r(a
+
++p8!Q*BBH9Kem22qP@`mm@@J%Pj3qrm'hVlEp($Uh(K8DYT[YE$UiZhfAc0KUm,A
+
+r,qCj%LaXE'eUmHMLdFE'bI0RKSc4aEajjUAVdVKaj['MbchL(`FAjF(fc@9NbC0
+
+VAR4j46eU$aG0ZiFqTPc0h$X)EL'PVFQramR2aI)X,%kHQ##S##PPlIGlABBGaKd
+
+YkbT2$j%ad39kR2QC@eVhqIYIqf*@a1KKqi"j+a`+hRUXAjpHVcpjPEbV[0h[2SE
+
+bYpM[pambVZpa9UjHiJ1U36AqRRF(hrh29KMAfPh`B5D5iBG%rE6F,PZ@NITDA(d
+
+-R5h[p%-3Q(Nk[5Gj-jr,PXE,i2h,RbD%MCeT'C+`YlNa44C0)haGABU96H(I"HC
+
+C+PME+a@0kQkYp@emRXkflNbmD('#eBfbU955IVm2(KfpH'rZ#I[fFhGI9(fr+Z1
+
+($MP2Z'I@im1qV``PG8r!VIKA'lTH4E@*N3M%AY*AHk9R$Ck-"fm@CZI`QH@&qiJ
+
+3#A"5NQ,DkUblR1ZkLXBYFZcHH2Hq*Aaq*MpI(rCb-l)[V'K)[&aTV1hm@MVlfMX
+
+Y@He55ZSj0(kp(1err$ZVb4,)Um5[UE++SGUICK!,rV`rXeQGIAf[SES)",(kj3$
+
+k@bk3!$MRkrrjakprr[KpHirhdIAerqrj&1aZB6+jrDHjaEd#J#DfI)+r3[VlZ6i
+
+-R&crUGriHYieTaYIpEVH$ljm4bFA@i-'RM@H9"kp[*e-RE5GY*a*-f603%D"YEU
+
+(R`P'j@[V8c(VSk@!d$D'[d)hQf%TSJeC&ELNpReShB8kpP)Xr*Sqlf26e@M0qeF
+
+b4"j8dmBS'f'dj&rBl@[Km6$rjEhjFceSIPc2q8Z@I"LHVe+B""klMAAc)h+E%$3
+
+%,`l*Qq"$%HHA(Lh[%YlSqN1r&AHrR(X*f9H#4mZYfN%Z''pfeIHaA(%eYeYUjl1
+
+!Ja'L#hUeELreZef1*XF6#rNXSdQ9Ck9[$VP'j)UqY2,3T9`[Lq0,I*3)drj&l9p
+
+3V@qVMdZ4@5,h(rCML,f43UAKjlcl'#TSDV)hRlPA@lbR[0$HI4hRdYjqjpM)h'4
+
+9h@iaD[JERbA-YH#RkppFAhp@fqAHHR6pHmjYpkeccDIVlMQlL@qK"X[E[[G[4Q9
+
+Fp2AD1lpcZrD`F@K`pYMfhkV$aG6AbHRHG@mr93iGl`GP[iX@P2[UrK9MSbqAYY[
+
+0lHfJP9H2jXheTRV62kCRp-cmHXc0TblbVU-#3-B$qmVr,cZ4X[U4B[%i'68rC"e
+
+S28Xk(dEbPeCH,B4VRPfhQc-fcjZRpQV@Mmqbmr6HICmc6jXc-[2)h"lj@KYk`kf
+
+(k-128kN28QF2Eq*6m6MH(LI6`q*$[iIAYYE'2G-HLmU6`j'%l`SJ%kQRr6(hmQR
+
+$VCmq(CA'YPI4`FHIe)ZTXq(T[%YI%lc`pYp2Dm5,Ia"!'VS1*MDr2eI,[YIIGEX
+
+IcbrC(EC!TPqa'VdmYcUcp$AqVUqRIH9fIa6ImmANbrCEIiR9TFLRAiABq*@`VGV
+
+pQb('jR*q5*A-`FDI0Pa60qU9*cSjHhV8pPYE`E88$kAS6Ekh[CF9KBr)VeF[)bc
+
+[4V%CI0-)%M3mM-b-b`BmhP8VLpKVhQIGe[QCr(V3qR&HFL[i2U4r8Xr8mDqRhXD
+
+@MD%&N!!*(jNRV`l,Z'D3!$TrjKYp[i+X[!N4T-Ze)pmA!EeccY,8mZ1ClFRf)"l
+
+cLe,HI1LSa#8PI`k2KdI$Se5qKVGI4lHMZYIPDk[Z+dYNaH(PE1[9(DC+hrihpr$
+
+Mh'24()'kqeB5C3`HKT44I(h(Heq4k-cdEcm()p(`I4MrJeRSq0k0jAX#rQc#MMD
+
+m9)SPP@qkc3-J06V6hM##5G8%jKBN@4d%5j4%6Bh#A8cEmV@",PX,q0@0pYVlI3h
+
+4NLj&I(d-I3ir+A4Q02'Id2)c[NeV"N"FaYaVGY0TUkm(KC0@"2#0P4[phX,M[C@
+
+AC3fSf[JfX('UmDihf"QdlIBcKikA0M4VaB16J`q&QlA0e(1XIl1j(jYlr*CHAf(
+
+h,IbVh,mA-m,0hq,JV1j@X[LaBV0CR'Sie('(%!"YIMGR@h9M,A-(F3lAC")+1qe
+
+qEMqAIcSGAF-rhQkaBh*F1!@TZX4fXb!0`0P`k&rH`cmMFCkPlT[TTr*dqC-cGTd
+
+p6JRa#YpZ&MJ#5f!NQiY2VhR-["`j%3NiX@mhq"Hj-kI*GdTkZ@!M0RH@(JC[MC[
+
+MCKj1p6EH4UE'0'GSjZXY(X'C"(PPh&a1cBS["Tdr3-p[2[YK9r$YM&GThqZaZal
+
+U6P6)b`Jj[J6T02'fe%IH86P&aM+RqP0baZ""$'Y,(Geq"*m(b[%CEam6VI6mV`I
+
+3m,V9G@e`"'bYcAUP%A'cmDY8B"XE2UCqkcl"GqZYN5*C$HQH2Ef&3KU'IMRe+`V
+
+-B0DQ,Hk%BJ`'i"`2N9UZJA$IG&JRZirr-@'4q21arp)rY@(NaT%YQ3[JHr&RA1`
+
+,B2%Q($1PrPZC$+b9l%`X9XbfX8cTcb(9*$MXCPlH6"CD8L8SJ$HS1ErVLf0YZRS
+
+kbGap4`KZ*ARq(HH($rMEH(+raiq'cJVrh3h82Ykh8hq05Z,EU[(3'0$P@pFZ,eP
+
+PRj1ra#%TY2)e$CZj,j9D15,V)1*0r92r*hA@Di3MmP##cLEP-dkppq'q`pYKhfP
+
+HHa3Vkl,q2@q6PZ`i+SM4Yb&*YLhh[5(*$`MTT)B&eMi'1*X+p[P8Dp(2SeX!!P'
+
+*"6YrDq4BZ1!)DGDq[lleYYdJMeDmj9#YfF(E3I1dV'8pL"8NF5PpQqkF@,3km@r
+
+lL[2aGacicSH!j3mY,JNYq##I2ehjYIrEhG9LECeFe&NRl+iV'KENj2l-RVEllmb
+
+KYEfA2229Z3bcQ,(!(6X[2XqECZZ!15,aM#1%KhZGM()K%QHiZ!&d'cr$3kP25X1
+
+@!3$9$'drD&PPcRA`FfVqE)mcNC[L'AR9cF,0JKT`fHUUraaY4ffZqTr,JrfcbFk
+
+Tkq#6SiYN4`)S-RHrXTGDmqrY+!fJRcp#@`q!del'mVl2,dapAc$b&S9k@2$l9X(
+
+J*a"a6Ha2NeMJ4!46IdXdLY0d!SkFF((b[TerUjIddhUV$H`"AJjIJeYaPaXDIM4
+
+#b!e)6K(K`bB!BB&[pQik@dQbc$!2R8EK33blqGqU$Rh(YhfPJKqK!BAC@6Yc@,f
+
+9@Y"&Dp9!66qHc-pjpPcE2cCRf["$`$(a+T*-Fpq(me[d0B*K8[cC23,bj,HTDfA
+
+""28IUSGl@&@`SMR"LZ)VpQrlKAYRAP,BA0VFBc%YKXeKCFES+PbjEK)0PlpAme(
+
+S''"RhrjSHKFCppAeqAZYE'J@A[C``CX$*,N%**QI-Q"bPZmb5C*&J%I[*i2qV83
+
+(i%"eD`36Uf20F2ZIS3@HC1VH0pTVi"rJJqVjNFV!'A5rC)0#Clre[m*2Z`G#fj6
+
+%i'&+dcdQjjXcb@T[#2c%f&a-)J$S)G"8Z9'Lh@bU-q0FL[aq&MjrL811[8B#A(L
+
+lXUVL!(%ab`hMjq&Ri@ADlZ$BA&aIdXI*amI#ci2)-YIIfPIEjm&D!DGDceF$r6!
+
+p2Bhq`kH&F3IRJXS0ETqQY(qbkpaDm(i9j@b*jc3mm!M&N5bPif$DrrAIqpaHPi(
+
+5lrSprl[Ip%"(5i[5lrhYedE24PCUaBJX893+mc`2cXMd!#Hjb2*b"X"BH6B'ZaF
+
+#rV![Eb[FMe)HlHJ8YrFQH5cPAmNq9rZN1aCK1G9p@CcTRUJHp5CkPjkPjkhCl,F
+
+K(,,f+&@KLFE%[ZPiQ(iRdI$`llTDNpJHfqPfZplAHr)dCA,P-*!!4A[akrHK)*Q
+
+GHHKb-l`IFMq6V$r#h)8"pZ2HRe$#Fc,2#Jai-L(JfhX6q6'(J$$lBKpFHeV@hDl
+
+ijH[RmI"KPM9K0K0P`+[#(bRKBrKArK3rLZ2a8IaDrapd%JMCGA2JNbUF[,TjrDj
+
+IDqKf[PGVj`"-[YFZIPkiR30cbj,GlIYllrA"X88U4cl6mTH0r*VL2!h(@A0h4ep
+
+$LhZl[ZXXLaQ4Tjdq3KFq2ZPQJc*rHbY0"UiEqI#H(H2)akRr1$erPk(Ek'`Vl!E
+
+Rh&HL8(Geq10A(2SPc-mZRAm(XI%rql2HfZ5Y+69l+VAYB*[#SA'ic`ldM[LVY''
+
+iYk9ahYaPdV(*VrCarTBm125r*E5Bd9dE4e'94`U2hX$rb8e[m-$T8IedIr0%1"l
+
+H[ZXSDHfiG$'Z)0[m[MHMLIJQHB)Irec2lNpeQ9lD`H2[m[&k(L9Kq+4@@,*rI'I
+
+rREL!ZEE+i`,1ph&FZE9Q0Ar9lXa5k83D-E[%alj""mBdfj@4l'4qM)prNG6`q*h
+
+2JbI"N9C919B`6VI5R4lhbZ"p''9#5UMk&pbhd,LP5qM,pS(c&2NHiMd+'I3aU0(
+
+CB&,9Zj,aBemRAG6MrDl6q,Z2cp[plYr[GYrie(h[fX[Bk(ErH`[4l$lGKE5Ye"M
+
+@q2HF5VqHjUdr@S4UHk)Xf26bD'rSEqqUh@!cDe)Mfc*N&pPGRjq4kHhqr-00'qp
+
+AXkAb2Uf1YGd([%prk1UTeYkkaNpQ6ce+qRe*',DIVX`kZmrA[Q(Bc-JU-Bl*'QC
+
+-YEH6Ff0X`N'ibpG@fI+fIXDIp'RprIG5Ka+(JlA`EHVUUD9@)m-NYSblH90JQ`c
+
+BT[2S@0#a8[b'9-Z%V49dCRAQpI@Fl@CV)hRZiRmFdp&THjP6i&Gc1CrDHKYGP[H
+
+E$ejRl$iGS%h++(UMV`5mS#c&G-Yjb4-JIXAd'fJSD9kTINDl(02F9pK$Yq[X)Hi
+
+dYK"Yp,Bh'aqIXIRl(jq&ZGlr,mR8EQ#j0F2XkmD0UmELXNX+Ma&clcNd)hF9qkV
+
+Gelf,q+,m8AiZcpk6[XD'qpklr`Nr&f25Y[DSHppIr6`[bA1@epdRlNc5Q"j%%BR
+
+e@0VARihKmAkRdTq%9[&!H`'3!"b,@AT)F''apqKf6220F2JV"&cqlpX(4Uh`26[
+
+S!PLEBp9Cp&B1`i(H9U[!m1[ffIfhrAY[Ef[ZpVrM)bSFqCqYB9R)!0ErfDbfZ0r
+
+YUq6Sq0@hX-f[5K-h4GQI#KpRNCFc8fmbidVL95Rq0jI'r`a2BYrCfYDAafiAPP%
+
+1X[5'(@rMFr6Fc9jQVpqMmlLkMXq[($iSBBIiSDqbckYDMRkqYMqaIrpKhjlG(hG
+
+Ilrb2a@'9BckN1UqE[+YA'hP6H)#ErHI@qaiHiqT9iqiaU[eYcqHbM@JX!fX1qcC
+
+N-0ZcN!$hH4'6'(RMelbXa&Xqqd,cUd1R3dD2ZAIYGYl'ij*L1'5Xh*F'b&E@A9)
+
+YGKS!p#PHkQZS3PPe8"*-8kY6jYMUUG69l$9l##'9X1blUkbNlmf%1!Z#ZZN"k-1
+
+"$Dp@0[fZ2$HPPaYPBHYmMQmMdc8BPip,)p6)p6)p(NHeNH2BH2B&&bfVh'2$am!
+
+GPcr%j'P[C%2`9,U(ld2hVIGh(me,leYE(HLGNq"RhPDHCAQp0P#TkB`LiP[elM1
+
+fP$8H$FX-"Tm[F-DhDDYTlU%M(I9V448J`&YAKpLiVhQF,@Z),@XkhS3rjbm@4bY
+
+AM8HjiZRl25MpFhdiTPdFqD@BFUrXGYA20Z*'qBZ!aB-(#LrDZM[CbpTPllPA"hJ
+
+K''#$Ha,3mdrVDI,lb6`p9`ZAfGMBeB02Dl$9iq[m6Z1TMFIJi9hPrY4b(jcjBbm
+
+iKKc4K!ak5kDpFF+!C`!J!%JeJ5$*%!Q)!")*q$,LePeCepaPM9hPE+ada"UlY'F
+
+'VXJ%%ENbP[Kqf1iZI2jq#q9VL`R)A(AP3!P[MDbYFBe,'bFE*aYkIZ&,,e0H@Xc
+
+c'`-D)`a12MEkXd9!XhCX1CGYACQZ!HZmEjJ'TPD)%f,M5FDihH6ZiXZ`Vh81"[L
+
+DTdU2Pi%9'K4m+MrR6p@M5Sd3'EEYrUlSdHjHqZ$a4`I,RaAY$CH&)rc'lY+P4T8
+
+)YY%I#CHMBfDqY"VZA*j9Tmc@lfMLlYC6Pa*r*Df-JIG$ElQ@TpcTf2'M$k4N@jc
+
+N6RbLej!!9l169bjZlQi8h(e1`SdVLAD8TZ2Hjpcj'jXB*&R8Uk%hB8)E6C6H$[m
+
+U1-pSl(m*QZdX@A$BeDX-QKZmEB3`pafHlh-D0)j1VpNA`1,)'Z2R(i3S2"LfQ+,
+
+@1R(iNQiKY-@4'eYPAj'[b29ark-LYamA(hiYQpR(VFI3b25X-f`[V(Ff(-X"`!8
+
+)0V3iPpqRE5Ec5f4fbd4TjViflNGdBm%VIfSd@`Sfh$kV2NkcNlI+m5[XH6CmQCP
+
+@eHjMGPl%fV0)GeAT6F1Ep'GKcZPYL)9LI5YplElhEk1UjG!@e8+p(lr&qcihUj0
+
+eI([Z[J1Khk!P$[lU$8eTF@*A`2[dIXfhUmHkl+[Y4S"i(Iq"hrC(a,UHrXB,$-Z
+
+FcE'T9BCNV&iqr*m`i-Q9fCE4kjbmSJZrjI)r*8r(Mk!CV3arair[Br`C(8UqlMp
+
+50q1`pU0P4TqiLUrRhpAkfIp6qE)TF#,'LqT&iG,aH&LipA2`6-Fh%0Adr"Uq&lj
+
+TXG[p5laU[!ehe)rKfAKrJqVi@,(Uf@$BlMG9DRJirKBrKrMm2[IU5FBJ6r8cr$f
+
+(KhreBF@T9pV"BbJ%E0c"9TiF&6@iBLGr*F9pEdZhrlE(p'&l8V+C!Hj0A+b2jc$
+
+fmh)c-MPj(P!-pMNFRjH8-S16f$+E@fdU'2i@PHm"bV"d,kYIDXpQpEG`-H[FR@C
+
+@RrRh(SA2QhQCmEPkEbY2r2Y2BqVbIUjAJelRNaXmdh[HUG,)q)qpcljb1PiR5m6
+
+TF2TFITBA5X2HMIEh-UVMih#aZ&`H&8acMjappMr5aYlMEh'qPq,Mq2a2(m'aMFR
+
+XrrNLHq(IH'4-Dp(rjSp1Mdk20Sr5Sm2AiZ[`0eF5jCRBF6$&r"6Fcd"-1Yp)!c,
+
+6aS1$L!Fa60cV$B)ibGV-EA)#)&@adHdkF%!""LI9UQ`B[)%f1S6bdR9l@X1S`N%
+
+*6bQ-Ti+RPNRiH+P-Tq5qBcl2k0Amb!dlmeaSdY(*k1*lb#e,4Pmc9a(8b-)+I5L
+
+Vh[5-,Q[4L-mV--Gb$A`EQ#9M`'Z9-rA&Mpf!L(i+4IDhS%#'&K3jPY)ZIBl,ejX
+
+'TJMdqkd+%'ZTf8(B`@ZKUDY#$aB1""fK"re'"0kHTNGcjhCp@qr[lErYf2ZiHMH
+
+VMHcrVrp[pRjqdj-h#j(h0YK8kQ(rqGpm[9pUUMPpq[FCGVe@jf&P'RfZT2UQArV
+
+'r$Z+d@62kdIlm&lTkpYRAPEkZGi0DjNaZITq@C(fE!I$)"Y'(R4DV`(Zij*Tl$1
+
+TpECrbeIcE2q,CjQZrhELk0HSp6D,G,b#0c0dAlmM4b-ca-[N@@2BM#BY6+e9b-c
+
+j0aBPr1`YpcdU[fI$qMiF2Ke+X)"J#9DrK&,8ie)C&MVr(eIiYEp[XX5Rm4"Ra+U
+
+!`FI"(KMa@Z$Bbj'*jh'kZejpal'!c88Ur!B)qG$QferEF1klVGC8DA(kmlUSK*N
+
+5(MG#RV@#Bf9a'Y)eT'N4X'A[ck6Rc&p-mQEZTT*keZMXZV5jpjPA9AGB#c2#N!"
+
+8YH$MIbG`-bT,+pLSB3dTmZ#I"Ei&H$G`HP6VfImX(Pe+paHi&2!Sl$'`XD$bG2)
+
+ZTp2dk2hk2@SrA`+5VD8BK[3Uh3"Zh+1a5Lp+Ee*Rp0AejRScI4eRSkcdGTk2MHT
+
+ihhppkFbIY+HSeXETa[BC`2D[KpE(k'2d!#GE(pbTl118`Se@0J3lQGqJMJIiI5k
+
+9[dVG!6T6ZPEqC#(23pcDrifAX5qQQD%c,m$9mIVC23h[3Kk%2@Z2FeIXkrRhIXB
+
+)3#)%(aJN&RUiHYEp$!k&rd-2VBIZEhf@I+Y@(!hA6UH`C6!8#Te[SSIG#ikfppc
+
+$pRk22bIBiPA&`*i3#cVkI,m(9lAV5qK)k%S*",pcLHc&ckAX8MKmA+jZM[`-clL
+
+Bl,fh$[9QFBjHiM%IbkXF#[4-AS1BiP(pP%rfQ"HSj`!NrYcMBPiUlQSC96-&%[Q
+
+L%KI2RCRM#ZeKQ@'NZcc!TJ%`*-95RC4,@bNbT2Q`Eh@iZ0$DfN%L0Le0Ph0E$PB
+
+HCKk1(mh%ViI+`f-)Y88ApGTER3h3)$`kPBqC`Y(LI0m1[N5$&Q16VaXc`Fc`G,`
+
+F`K+eG9*hJmJ2ALT[1"[-AHB[f-8kQ0rZ0r9UlJj(,5aYDdf63iZ*@QkqE@Qre@r
+
+hVIle[rCErHZ,Sf4,QIciH*FAABemA&TBZShmH[CBhBidh'qXEp'eiG,J5m%l0L9
+
+YamAkI`q*AqRQq(TH(KH(MmE(m2(h1MBH6(XS,'a`E)IR#9QY[[pHj[3&F5AG[MY
+
+FN@*Z'43jdA@LjfrAQ`dlaa+L02C$!""8kd21Yc%H0IakL345b`iUAMDS8l5CR4F
+
+3BX$l,9BAKDqkZpaPF(r(DCGYQ@AkX'AIIRSiePe)1dKqEXZ$pE'hq&2jGVq8JIH
+
+3!'Ep"C`dr2X*&2bD&a3RdpcFf@TY,H'Rc12LYjQSmMGKkdVVpP`H0@Li!pd(*%@
+
+,iK3!YrfjYFI2$k,EHp6a+H*6a-6hX3E'*pTEr1eASGKqfH0J$+'*V[Hm-IGH(LG
+
+YlhEBREBQf!*Br1NHJDI&6JFarSN(bFUVrMp2,qRQH*qV*Pq*qIKihLG6(l6*qEM
+
+m(`mEj@&hI,qKq9ccmA*`HIMS)D#ZcqCZH9f[0fhVGVphYHMfZGY[6lAeHepIYIj
+
+GYirDq1!Mr6YI(q9j'mX9lp,k-U9PY"A(Xkce0V@$i,dhh'(`5-XMSB8b[&MhQ4i
+
+@49b+2q9(i+2`8H'EaK[)@"KJ#%!E!a`1*$qb(1QAd0lEQ[pNaF5IJLlb4bedE3r
+
+MLr*&Ahrj+RZ8IF'lLE`D'"TAhj,$,HVrR)pBd*kY(Ai'ULVdiGY$YURJ'dAE5f@
+
+U2,UqC-mkETDc0EPJElq5CrbQqpY,8YG'I*jC6qk824Yp%hQmqPlq6eXRhGlQc-$
+
+DGRU0c1L+4p5GX0VfP))VL9*`4&,*@4`Eq+'aN8kKN[J%JKUeCr*LpR!pb,3LdBZ
+
+RJHaNM&q0bifKZG#Tq2$r*Kem-,rKqjKk'(SBHK8dZjkPKpSaSq*'kIb+r))#12A
+
+E!K'012amcj0H0"'JM3AA%`1Q0E6rEM'F!e'Z,9f22k-(E`EU"c#rRr,[G[AeRU@
+
+IUkcQlHYNH4XIkV2R6,M8H*GjCUqmqAl%j1'rC@*,E`cBCR0KkGjcD&aVlAHf+S[
+
+hNDmjYjc8"!#HVHB&lFE*Db5SmaR#3@2HelqPFF5$pQXp6!SBmrBf0Q+Tf`mIN3@
+
+Q[YDmhkP$a-6'QrTQq!8LIIQq)G(Z00pr@BfUN!$ib2pPG#pHp[[[Q)lXU0,Xr6l
+
+HGK@Nj([AE6h2!K5mZ0'TaSe4eHM"$1TlrJ@h*EY3N!#Al#GAeQ[fq[TeYMVpMJI
+
+*f%V&XcHM#Q'EEY19[[hK3hdChSkb[-2)HCr@H$H#+JM[81#6dk@9*4Kb)k6iX%0
+
+*)aDS2ekpI600cNI[I,Vf[SfB2mMdIPqMV2kp2Bf-DVZG98UlRHI-hR$Ur8NBH"m
+
+UalqVhm1r[pchRFlAF5rhVQ[,l3PlHMZ24ZDplBl+Y)X,1[hF0,k0,SaHCHE@A,#
+
+!Gk%!`GjZYjmqVmq4mr!qEBr0Ur0KqGIr1lcjferEPr[-5,1rKcd+e"Yl,hqmqCc
+
+,c0lVbBmLfPI'hZTm$MHAEDRX[dDc[2MIhAhZIB`[pQkhRb[MGjUZmrfIi6rpq4Q
+
+p[pbVd-MeH4Q(-jp[kIh@9M)3dU!L!NDC*QCN1K8jNbX,Ap%M2G(M&-$Hk*iN3kJ
+
+hQi+T9irEf&ABH&9m1dm2@H(XI$ar$l2j0T!!A'VLef$Z,%d1KAb"L[R%Jl5Q4#V
+
+20Xmh6rPMiX'"&"+2KKBaLj1*8q0'h1j0#Rpl+P9+Qk22HVjCKAG!kVJ#89lHBY(
+
+IdDYAGkq6*eT%DIU%d16KEY#2'm'-aLdifkA6mN1EFHG4#(!R!U-M&A#M%Ih`93h
+
+KQA+%"16B4R4"'NGb090G`l$UEMaEk[GiXV&iQ,LP*KRUYblBp8JbA-IFI"!*@"V
+
+0)hPSYKTB4ND@YH9,XZZaD9&)[C8kADEZaSerMiYAmjphVfbiYAi'!LT4iY(Gkqb
+
+h4ZbA*M16,ffp59eZ2qb(R'+i``5G"5``$UjXXZ@pjr'GYaBS[$FR[-fj(R1k-4N
+
+@+Z-farj@'!I[`pE@qlamhkZ"FpRBlQIGfek--qDE@m8@rf9@4M3CrGp5PlZdcEc
+
+eV`Cp`4[PeDZENIYLZ[KF2`rTq(9rmq&iIKq(p6j2!Jq9UqmehlHi`BVbpZDpKRG
+
+ckZcVDEdYT$iSa[Mbf1VZRDe,qi%3)B3S%A5ZZM6dH+DMe(hk2T8r0fG,ABpMl@Q
+
+2ADB8F,c1rGV(jG@b0rMmrNG6)r9NI@iI$iqrlZQDINqI&HF#C@YXc6jR)c$9qCI
+
+3QD@XP8BhK9lNR0BG,$iPq4RUK)i[mr!cpXHcLR-0Rp34j-HRrGB6GGjNfEU#6a'
+
+Qcr-Tp+mmHmmHmmHRj0cbQ,0-@haDZ,$a*R#eZ18fZ$Nlr*aGk"Bc@F%hPD-`DhS
+
+dc1ADXFV!"TTZ1E6eVEC'haLQcdIZa@Fi41`aSH$$[fN@!*JYckV1+cp-@0FUG@Q
+
+CKfI)#)`h1YZBhBDZ#cTYXDReZjemlV6FDGlk!Jdpq$8lTdJ$*B%9TNb$(NAD8R&
+
+BZfP0)"26cDpq5A@YTR@eE6CfRcYSTh4me5pP#'!KLULhaPekXEM'GYkhMCheFlF
+
+HYBE*dY931!TF+rapVMBI"`pqMI),5m("'4AJje9bjL[cTRjpe[TqKi-QV@`C-%8
+
+RJ$,lK8FI@m,9q+k9aIj*!D9,Rl+A45HQi$`,c1fHFF5iH0Y+ei&UQ"i%E2Rip#[
+
+$SkRTDImh(k)+Sb`8+d*Y-ZmV(*[@N!!lR+&9E(jA(ac$Nac2#rkmMiZ(rrY0kYK
+
+pDaZVN!$dV25dqCi0ED5*HKTUdSpC*IrAkhi0PrrYTkZfqYUVUfM62pp1ZZSUGkN
+
+cefJDCkPAr5E3[2dA2Hi19G6k"a+(8eZkIme!dckC[a8+9AqLEMhQ0FQGdc#k-a+
+
+VN6+qdb0[N8mM`-M%lh%rr%b`Q@#jPaP,XTp'RA[BU&#KdU%fKVDIZhd0pk@fc1f
+
+qAfIGEQaCN4(bKB(PTBCUq()ji-5D9Va)r6XUP+#0'Fm'$SqX2Z@A6mCd''Ia'05
+
+U0LpeARNBbPMGPAMBdHY+aCAr6XUpjQI@KaHRFqYCA%m4BJiNVVi[@fRhp4HaTmV
+
+L61TUq$pEU8ZVY-Hprae@jRiX2!Xkd3"T'05U6lq0c`T(6Mk-Rh)IDRqa'j*Xp9p
+
+2R@A@h'GHCeYR*Ce-cVEVI@cVkMYD*,DcC%pG0+Ci1lS#DS5*jl33`h%q9$bcqH*
+
+TK&JdVr3[p,Dk'pd-5[[F'(p4`DH4U$k@4`8GGQfYLN%U6HMP!cPTfM,cBf5HjXZ
+
+#hJ0h`FJ@jekbGKZpKVpKXYM$JE$LBdBdZMGkK0,kSc,5&YRKbfCE94Q@eEaUjeE
+
+XMpBH2KpeKj42DeCMGH9p,b[&kf$PQ8p+ZSX#h)Fql-*,B',"`k2iX"+`)#BhEl[
+
+GFShR#KG+P5,q2a,$RfA%YkH04FE3,AFRaEqiUbX@Tl0jMAYF$G4MCc'SepI&VmE
+
+jK5DLN3kh9D94EAad%"`6)c+[E&lL#hP4@0a9dp'VR@9'df9a5QE,BjfacX,1J`)
+
+0Nbep2N490P![CE(aqkqS3ZGhUj2@Nq9JH9aHYZmZdZ*%SjHV'69TjFQ6*hG@Y*i
+
+'VaChjpE[pA9`-#K'ZDq#D(c2#!m+*mQ-2Z#%mRf8T2%V@YCD3m)0HT2#Sa#h(H@
+
+6'AY8CZF&MC9iqNhPDCLZ@NANB2X5[EJEc`Fq!1B%hZ5c#jCk%$f+a1q%V*Df6VC
+
+0'6fGEG5E-B`3Be2'JaV2'Uqr"mb$P-rZ-'624%TmM6@2)'A%hVAJP"qlR94L&Xm
+
+lCpDq%S-#MXZ"'c5EeAE0`Z[RTG*(LJYIU[38h3F!Q58ZEeiTIJ)`$Ah%8E8#2eU
+
+(1aZkNDmfLVZ0+PDR5b8pV0$5+[&8l50h9H2@0$T&3M541ZGT5T6Ajc0`3HN6jmm
+
+0!0@Z6h2(Ziel+q2T5Lm6hbHakHPCdV+A(RiXZP$U*YI"MA-MCCGhQ5Y#(fjIYm6
+
+Q45k4T55i`S&PAJ3#fMGK)ilEi"dR@mqi`DAX4'EdS582[6*059ElqEq5G*R5GY*
+
+ihjZ0*a$5"feE85#IKL`rPZ-cEf@eXGl+hfP[BbcA(AFeY)Rm3`qrb`jQiXVUaLP
+
+E25N4Y2)heED(Z&Y'#"k8Jl6@9Dq2q,#cj[ARmp,9(1,S6J+aN61eTqXVUA)Z!3B
+
+!G[2Lipl[KY8K8mJa6jI+Z"JpJD%@K2mMN@1pM3UP82A'EVPDAPaT8DiMpHQeS)c
+
+k!ID)"Jb*q"3kV)9PlC9mPYe*!3qFVk[h*LKNahek12i9PBC4(1KiRC6[KX*@Rmf
+
+cdB1C)ZKP9)Y0E!b+%&b(Fc`J$K"V$-`HMI9pTkHT)3Rf"c&3V%lhQd1G6c[pRhr
+
+f[6X*i5Jd)SFA$`DR*aT&5TM39)0l$$,$6Eq'R$VF%p&-McH4q(a-l)rPUrhBAm-
+
+%URJ,N!#)dRYT(e19JmZAK$p,&`1!GA4`0"d(!UF-CfdVIaVMmHd&N!!(3"afhVa
+
+CjeY+$a@8)KiG"R`3f89LV0dDAbTfI-p#CR6K@)!RS(49j`M!#c@IVPCqirA2ci[
+
+[E2D5ED9PGh@T!mLA$ePaYrh4[@$!)aJG4)ieBpQY+E)0')"&pelQ[2`BH&FBdVJ
+
+EJ,"&`0R@NBX&$Zk0+rTEf,0[,+ABbVhjGIXmlCeY4&Deq,P%XV2*BaVc8Fr'VI)
+
+kmUV"C@H"9jX0lUkG21NkqVk'"Zj(+&R(XcNN"l$HZT'3!*eBH9"L+'lSIaXH5E+
+
+KVkIGDl+%If5r04"VS1jPR2&'MmN616*+iPfXq6$lGRQdrHl$q5RrrhBHj9kRBD&
+
+23Yl5EDEAc1ekADr@q9qhf&bcrpF5(*UD%c,fXHrVE9+JHl[IECCkVbkJpJLhA%U
+
+C12SC'A`ij!'@eYl[(pYQYeAM9,UAJ%f#qmHMpdcb[D[XUM'AMmbbC$fp[ZUmZA"
+
+56X)6-6iCLFNINbHHIR(XbMrY6m&P5V&if0HG3UA@*cm&FDqlrMFAkdRZDeM*E&J
+
+5NPYQV#%@*K&"IG5MMhh8LJTk8MP9+d'K"TBAp((LqRHq$A655cV@HbJf@&JEEr'
+
+fXA`D#hMQHhS8Y$*ph*p[HKS+3D#(!C28V9)TPHPHhr[8r*hhiF63hhV6Y!K8CN[
+
+fKI"e*QKJ&2UlpkV@h[Z`k&AfjR8QIq,Iql@ri8[rh,rh`bS-bVS6rY8p#mc+HCF
+
+q"9r4LriF2rTp6fIUHj`rlXAr$`Ipm-qC3-,EV8ZGYlh`+q)pFIL!hNfh+Pb!SA6
+
+@,Y$lHd'Bf"qrKMm,HY`F3DL9'l[GG5TRirh-M3iI['rTlf2S!'pI(MBrr6NIer*
+
+p'`X)h(Tp9)l58i)LKZ,rZ-+LfLBhZD-Fc!XqQ5S0q9M1%%@bjRpe[q0@['[))aj
+
+Q-CC*V49KhDFd@mRMMD%U,hmD93P9HP3ie1rf1qJUeIdC(k-L[9r4m[p#"Pri8("
+
+Jh,i2!YlfipkGj1dr$9d2'pE`!m$E"i%9e&qZTMAR&eI`A(`GVME[i*(`9H+2`0e
+
+4jH[XHc'B%Y`k$$jf)DPf*PiQAL9X6,m$,qY@h'ABH6BFU42YD&Q##,REj5`R6ZR
+
+$`*R+MaPTpBf[aYP$Ef0HQMGAX&@#6DbFQ6%3J#&qcemeTkh,e5CkV$&cDCHTNf)
+
+rJGbB*-81jQ9DUa0P8h!*3UG[[pd4`Aa5HD"QJj6@)dCfce5L[a'"RcSB9KT6jB@
+
+lp%ZaI"B01&)El-)U((hFAQf"-KZ1*$[m#[&Ph0haaMUa`"N`m+hd0CPl5be&MTp
+
+)p)p+'#fdYVf&1[p+6V0)`4CX29&URZc2YDX*"BFZRT%dE&NHc9BT06dY2jpRc*R
+
+QhRNpebQ5A(C338JJ,F5ET4INm$iC2jB0#Cq5IP[YBl)6A2Y,rkeVBFaN+`qQ+%q
+
+K&9jY#pTeIfU-!SjN!%JSdk-&(!em(dD[,HM`)hAe1N-c#%mj2maCq,JiSG"5$BH
+
+T9YaC"pkirLZ2[8UhMARM9ppkNcdGTpqfbN6+bT@IfZ*RcY+chX'EClfekqZ-a5K
+
+Zlh'[[JLZjBe%iNRiiF0KD9r"Yp+!VkcT1a8p+PX2%XmXr@Tpa,JcF(hCrYhR2fI
+
+XDEfV6mAb[aB(pZepQ,fBUNZrIBi"kaAQBX@6+Pbj&[@UN!!dLTAr$f(Y9FVBKa9
+
+8F`JHYl1[+*-TI8MF(VXhe-+Re,$3XS*QKLp5Gq16C5EUVeC39!IAIG[Dqfcm2S@
+
+r3Yd"1K1T@kbL[D'B%V!lM`rLm-VfIqI$qSD5hrM`qfihBpYhPVrjeZ2,l5I+)Er
+
+!QQMcZ0+H@lIMb013!([p[5[-bmdYTQE6cED93[D[Vd0I$Rdr3m(cG[Qr(rRfqj2
+
+pVb3#-Ief8BXHl,N%Mmaf4!I)X@ACDh)brN9V$,X,5aN"Ikejdr%kmN,fJ**f&A5
+
+R$$h@rMQHeUIBZH53!0eK30CTB!c$hcBIDT1S#"3)eMVUm89jGE5[Yr3@''J*HCf
+
+hTC12LidEfLDrLV&GKaEE5P"!()RHP0c0B'!YKDrBFQH)JaFQ,RaH`0hqH!MRaIP
+
+[1AFjPe*h9PhB3#4HmLZPmFc,j#B+dBH[$q`I3hhM80rqH0JU6r6VmAAkr9`3kQi
+
+ea,KA@ST4d%-[L&AkIDLRF&lCd"0I5e[9RFhEdYK`X,#Jd,2,Xl,X,%L2k3[aEZM
+
+Na'!cl8"'!B,PB4ZbqlF8aeCR'GcXTY+E4QQ5)!5Y8f8p5CpK)f94PIHCHeIpBI`
+
+LdhMfrUkc1qa3ZVdYl6l#IBFeQ5[c,E0QFfckIBmr6G1cjXc0qVjZcmRA#RlG0pX
+
+f0J'cb@c4Si'beG)dmjmL#AC8P#Ie2!G[(khMh&r$"0kLfk*FUkX06AQajZZlQKV
+
+U!N*C8,AEGjiQflfKr"YSqfVkLa@3!25F!4AlZ6r%,aT1VbjhVDf6Uj1"8SFSR[9
+
+*kHA4ST9lFAN0jcBZR&LaG@mcD&aXM&BTejmDAP3Q'GEjp3qX&pE9-rHPH+hckZI
+
+iZI'cipHa`Bq,(aGG[fc8'69+cd#J[mq(ekI9qVr`TqTHIJTrJ[-kVkFIrMCImE2
+
+rP-jYccHkTf,hCHLa@dG,j!V`U2KDr`ZcVlU2)j05["cmIfFI2arqf2d+[3Nk%R3
+
+Np(!rdi[X5HID9j!!8RTTL1ELY3bp0@fR*qVAZ@HT&QaT"I@QjN4Z69jmd%NhGcY
+
+f0Y0K1f%frQ`cZGaYKVXD2h9MP,rF8F[!`U1`26M(UHe(bV"(81Chd-%U6+[qhiA
+
+D3pT8lA$UiIDe1eKl@[f[mP(rKGIqperrq"j&eBbjmhi*QjUlqCrI-lqCmqVredq
+
+&XHllMfp[mqri0(Fq&Ah&Cc2mE$DE$F-ETP%lMdrFKCFjfp(CqK6kejj3GeVlkYY
+
+Z'B3@VSGDmkb2!e5m')BelpLV[!S'b`kCQ$eF2BBG1(BAp2JcmSGI'(C-(D-1CIj
+
+Z"SlALEfH@+0kCfRNcE,9@0MGeDqUZpj$9[pjVpjh@mbYj9hN2f)G`IB4Qk@qj'-
+
+HTFi`fGc(2XICTqj*kjqJD&llAJQKmmbIVL'em6i3`A-YHZj0k$k"hlcjH+0d!QQ
+
+6Sl6-Qf@XV%rlCEkY,8r#plQ[Tmh6Fe'mMPF5#+CTAhq1$mdiIQ82Sr28m"%8X20
+
+(5bG1%KS*Fdk#iPQ8mq#!-#f`[[pGakFH+a@4"eCH++!49BYhHkq[Vk1USh&'8!6
+
+9m@KlpeRlMdV"2hM#H[BUGlK9l-cT)+0RAf-@aTE(KGaKH0RcbRp,`@1M1"i&EMm
+
+$*i'prG+!',FF69lhAk&hbYaj"bXmqAZ3!0"bF6i2'lADr-Z22YlhE9q0Vm6LkRq
+
+UKhqZmRFb$LDh-&9CMd!"$-JaVILcH(HITUp1ja4ipLaTGh5SlNp-2BSpDVrH([9
+
+k-HMDi%fM3Sm(!r*GjCRQq@0'riUR00Sl4fq&YDSM$8hZ1[SXFci0MJeH!!c3Lm[
+
+A9m$SF9F85!Kq"I(bl$@f-L`MDIcpCjYYj0cl2FaT1,!Ir6BB[Hk8'+1aLHK+$Ri
+
+Dm"SSbDN",afYIMaBH,Eqa-U@kJb9)GcBEQRr10&qe22ikmkG5hKR3lD[YSF3"'S
+
+KM'$M6l+GR6EfKAlL,LdYE`S-H(2[2)h0MUZl[FEke#kZTI,Krk3r`62eIZ9H4qV
+
+l2YiRdCRr@(1eRmYpZGIr(mI$lRa0cfU4JZ4C81X5NP66VR-[2iDYGN5'iR`4Fq(
+
+fr#dYPSpTdCRPr@R8E6pVNLk,RfA0Xr0QIDm%Iq5V5V5MF6l(cpjmrl(cp8G$L!J
+
+"2QbrRpVhrJIZDMdidZ`A9Rm%2hVIi+RGN@M(KVDh(fPILF[FG'arA'hF-XE0JJU
+
+IH"*hC5U""YFIaUqpjFcSlApF[GSJ((MBr`BrhJ#Gf6rXG!6N9mIPf$#!4X%apQ3
+
+V*A!ip4j[E(!KFBY,IpPAP"JlHpR9Efhi%%0p$Z3PPH(Y,IY,MZkAr5ApU`N`i)6
+
+)hm$08i4N%F+h!05i41Hrk62hpTDkL6+Rh"5fLVhG[mb$MK!)Sh)Vi[D@2D3GhNr
+
+p*i3"f*iaMe,YG+M$CGH0bGAe+1liZTi2`klUbX%G6T4c(YFHikR(iq`rq,2q'RD
+
+pKC1S3%*r5XZIFFmd-M(3*##"#!J"%`!CdP$)++-Cr5lZfJCXDB"!L!Pmc''3!,h
+
+(fA[@@#AITeD`16V6CNH#6Q3D%0+jPkEP[4B&,H,VJPj8cSFkVeVHLf9jVFqhmUC
+
+DDL4+P3FIX5Gp,13bP[r!FMY0AU6DdYFcT*bPNqcMP`!NUGmE,RYN$r-fdR8@8J+
+
+!9A))m'TJl'#bJMjNI3NN-H!k%iGl,T6b0m9AXQ(0f3SE4Kem12A[bYrF-"QkU%c
+
+`Xh(hY4Zk2c-lMjd2@LSmI')A10DCrMH9FN4q@3X9LQ'hplG[rIFHp$RdXraPMbC
+
+Ff6YEM9'b[CQ5p$S5p#PlG,qrHJJ0aC6[J3@i)$3@BV!c8iBV-q!BH$2GaXH0M4Z
+
+!Ca""aXq"9q##r&cG+$I3r`faQ[1b[K'*[-JJ*E`6VAVe&T3`Z#$QYR#AImHRpY)
+
+26Uer1`VG#k2&(22L2&,(0(%cjjRl'qjeC1L&d@qpcl'96P4Z`TdlRYDIDh2DaZe
+
+UqYKIHqEbk[,`[hm,rpGjrmf"+mKrfM1$dISjp6dmQP[H&$ZSH9V+fVlUlh9hZX(
+
+MaYe2Rfa@dQr1h24ZrkYRpIYG(6MJ6H-BA%Kr5YM#I8CraGhfHbJmkCl1ZaC0*15
+
+'R"VQqP3PKkEH9lZ(jQEaqM-q+,TFImf,Q4mbceRfGR2i*PEM3+VAaC1ke6[JXd$
+
+5Ef#pKTcpD@IU`"1lC'$m@ip@Ca)Cp+p'%(1QAfem@A2@jPB3a[cPHM2JpR8mqjj
+
++A$2A%m[hPNJ(2)[2&Si&,bR!4U`NZYR`2*rdmM[lYC!!"VmDp)8eaM6XDpUB10,
+
+2p!(3@e6SBF[$k'('U9pl,KV@rhU[hVhldEldE,PD9QHDNfKU1Y5LfQG[BdkZE%e
+
+HEhmh[`#I5e%L4@U5p0AXlD(S45lISA%Bd**C3mAi[k2eI4ZFXF`$Q+cHC2'SB6b
+
+daTY5mpqjh4rrPmP4T[A9D+EZT[$QdU(p@ie8kYB`f'EBC-D+b`Ch6rGaHhaGALd
+
+m@aa5YX!MLiZ[aC2!Nm#iU5VqI2PQ`4!2UTq0&`0PMb0#cd2NpHP&5bB[F[$PHXB
+
+eNb'&'jia)kCK@)ra)I3(!F-3*r+KV3FqTT5IBJV`qaYIGj(qZ(qHhhBe%hBT$V5
+
++!C+",(U`jGYGhp,B$kaGdR(i@1bAr+XGe)U9K5q0qlAi@MNk12SifMM!%iqMp2b
+
+r#YmDeaALi#4bH`d,hAkRDf(9MG284YTUGPrlr0rp[TIK*rdr6E*[MK-1I`E-H`d
+
+pkVhp$[irc"J"bVJY(B(Pa9TkNH,Aqq!E*HhEp(@H@Q`&)BJI6%S-AAq*e["br"b
+
+q$lk!hJjG@X"6@i-LkXEEeiFZhNpcaHceppVqfi[BkqEVrRDqKaD"[6EE@kL3!1P
+
+JdhRaa1L5+Q6Ue'$G`5B*-&PT5*9J+F(V$*Te,hJAKL$klGcD0VVCY(kh[klGVPq
+
+QEUCZj[8QB9A[C[``d*hk*[LlEraaXI%r5)fI8f[rR9I0Rb,DYFGp"hfjqEVUe$k
+
+&phpPhpVhrHGrY[1fdNXM9Y5m1JhCATi&EKEVLGTp1[Mmr(jr(jr#jrJmRFaVV+)
+
+1A3FrRP!kcm#-0,I,[[m,l[1hiqkTAZ9fGIkA3NG#T@%rN!!E2`if(Ge2,lRr$@G
+
+ja12JdQX!2VBhFD8I&YH[(a9''6jaNFa8Z'##KMG`"ad36Y+rqjX2,qASaq*DA#d
+
+Ac$BrHbV)dC3$kF1Q!1A&SmZ5-3V$q)1JRfN-2EhhqSj1RfA9"NX`S`q%jb#ACXc
+
+bEcrGmRbl2QkClr[*XqE&6jXfkQeD[8ZF+RMd2k+G+K,!*X+'0IGeGC9PeE'H51V
+
+ZR@l(B5BE21YYdqhHY'dLca&8q88Mqf*cRhXLKMh[L9q2a-IVf'G(S5,TZM4EFZc
+
+mfbB6Lcj9Rj-(YMfb+ecGED`5@DHRS@r(0)cMfrpHXClqE61mDY[I9KSlD[EC8KD
+
+YhSBr(1[MMirpI)1*UbcV,1YDh&pAGdCeHcbNpL#"5DM08iK-!)T&G,HbCPDPBbi
+
+ahEICKrh3p$C9UR3[Uf[bXHVIjF111Z+@[apdZrD-h553!"V1(!U5ieK&mEqJHmC
+
+re[Yq&m0heE'0(Pf4A@K)$QqCcf$'KGQPLRl9V@Rf0YAZ$5``FBi9[*fFL33b2PE
+
+,DB'djYjcEaFGJLp9V%BVcc+Y01SB%E+T@Z1*JD@aqrmbpJLNCpVMfGHCpZmrlEl
+
+m!EaQ4-X#$30$bR8f,ZI,p@(VI*rdehhpR4PB%-2%LLaD4dQ4KL89ZZG&@ZrpDIT
+
+rBf9'M4AMp&JBYf)m54j["5MiVNlccCIr3EJG1dkX(Z`qj&lAFL)&YP@IiV+2Cq2
+
+$dV[c$TTmbRdV5E1e0(m@[mIGpM*)$%mJD)N'#%JfITrYE,X+-1`1[C%qjqdj1VM
+
+5KTX!rRGR@qAprNAT0Nq[aqhaELaT3F6*(%K"AaE6UfCNF81ra0H-N!#Y0lq(Pc0
+
+h$ejQ%Cd2L6-XL0hqkm5Tl'4))q%@2Hj&F!fbij`r4Y!5Fc1`PNX#pq29UjFIAap
+
+96JMh%I9eGG(h-D0U0e3aXDJld,I)beT`3"!$qd,2Q4R@HGTk*dQ5,#YaqqaqqiI
+
+cI%V9ISH*hrLGqJ*9mla"NBGfJG$)qmBDRhSI[3rHUIH%LQ!Uhqpar[4IHX2%XEe
+
+e!#bRXaS$(d["IFhCATk88%Ua)PmNi'Y'#pe[GDfdfm1ap2#lS#39JhQMd06aTXH
+
+LIl%AiS[a)#)#$bb22XIMER@ILq0h2aZjq0LI'a+Ia)$!%qF`*GjmIZ[QHa,P`iD
+
+@+I5VFI2bH6KeiIr@(r#iriD[lq[rlhIqhFIBXESRX@8%&5'4H`F'hmRD`NpMI`q
+
+3!-dYM9VK`A@c(Jb@YN%"2#cprMF#M`YHQc'kRe)XECF'Y`29i@6NKhf0&M4B`jB
+
+i@J#Lbi&Lh%iQ9k[Mc2`6I4eRi*RMMeU0NeYld)De+0UDqjl@TZYcA`rim2qI$rk
+
+BGI$j1(kf(b3Z(*eAVkre0GkqjSA@@FphIAeB65dU-3#1l&5)b9!SjrEeYeRVF3+
+
+bVQV6CmfQD4BT&qpP5ChAPbh(Ud@$&VU&#KI8$5@SGj3fe$E8$RqMkKlpp#1jZ*h
+
+[@rpfdpU,m@Zr*VqPZ[m,$fSf9+blM(KlkmVAFAc0,Ma6+dAGNeD0BeS-r*cjpD0
+
+RaTGYA)aAD"S&!UpS-mM6HMihi,RdE!Ql-QV(5pEFREBYqZ4KZqSb3j0*#cIE5#,
+
+AM&kKK8FHr[eH`9l,CB4MV5TAYbG$8IhdkqbNpRT591b9PR31JE3X1RCB%-"JdTF
+
+MILHRMj(i-MdH4k14k13J*q!"AMSS"pV0UF1*H2IRJ%i!pblccGCQkIcl$NMfLbi
+
+2[ihlf9+!0MBZYaB(i*iI9NR'Ql,`Yl(lHbpU1G1%bpKqqEUQbQ9YTj'hbpXFTfq
+
+bpmhNdmQC)1A#pQIIKdUV18kEPkbYY-XQC-%'d2&#62ThYRpq!k`UYE@H412jMBj
+
+HabrPeL%KPfINfFLAciIC0V(frTHlar&bI&h[[6C-fYFD0(4er4q2jIFcT&Sp+0@
+
+PMDL)Ph*lQ6BCmEhc)XNaYE'JNRjVF5*aB@RQVV*&q"Z8[BJKXH`VeD0eRDV'dqI
+
+9mQkN8rcd+TCXECbUA@-dlV6mbcc!ZANARm@ijeJZ+K2$L1Ca#8MBA[b2[e+f4XX
+
+LYNH3!+fD!6,j!"JP(NabaP6VfIQ@IQ62-[2,lRcE#hZ4UjHHCHHCHHG6cEc0M3X
+
+i%"GEGihc-rMql-jG!!&cPa`hhMCGc@X'IH#Ep@H,-pfRAq4qr6-1$Z1[K-ZV)#(
+
+MG&8bGeSI)mM[q`qITI2MEbYmrQr2kqmp@CRGa3erLlUI'-E@(q5CAa2(UIG`iL[
+
+RJ9,mZ!H,VI6ie#IJ,d0HC56-T#%RU2M&8CbBF3BM`4GPh[`YJb6$9!&(*%lVJAP
+
+`A!li'Jm(S%TEGcGKY[`lE4a+8fre10fIGENXT-amY)amY+(3YkfXc)C'dr0ihcp
+
+pp'(Pl6k'SZS*Al8&2-S3%,C!M3UP,UEK6B+"ri1k[l%H50)"VG#rdXR3hT`A`b*
+
+RjTRcjJ3#B%!B`Ff9RkfijYckG#[X[9NeS2pINjfef&+',&[16U)d4UCDSkC"ljX
+
+YC@`)YUc!8cp-Akp'RmZ,5KdCHM+qjb2*Qb0C@Kc)F+(*-"f65d,Eb*0M'"j-p1B
+
+IYAamkR@qaRAfGI9VkL-b)U+hlh&'RDUMDU925ZH@lJ3"))4FMdh(+9CS'j'GMSI
+
+44TmL+d#Z626[+qqE+iD"XjjrBFRXAUm*m-%kRT4KVc'dBiK$a-Q0,ZV(XUqYqhU
+
+ZMZ2*q2`+1,h&D9diHVqhqUmak'0YH$IlqALbbDNI,RYl,5UFqMl'[Vj(kX$kK#k
+
+i9(MkrhperM'h,A[9jHr(VplRFJ*eHCh)VH$R4`UQ6%F5,-l$i`T%H+QGV+e21ff
+
+F,r0Ni9k)9E-qc@&KcZFDki%@,XX@4a)-RZp'PSd[,[2,S6Y9D@)G"E%REL5ERP*
+
+Ca-cChA3%QCV6S(-Y,apPk&5+q[Hc$TYZ'qePDq[GH(F4LSmXbiB3G9!4-,*NqCc
+
+CX0["F5Ta65N5*0DMQ8Gl4T8H()j6mGH$2&ih8MM[fqCifN4I(,eSh`dCRNkL33Q
+
+Z&FD&R@`H"FeiY$Crcb2&Jp[[,LPa+AXhPT&5YZQlJ@R9T6LZ`5*4ZNKl'(c2*PF
+
+q"LlD)8%`IEY6GfFI9*4#0'pL9AJk'`k'2@Up$#k%&DRk"GpVi&')`UV$cV'#9,f
+
+'p[q[X0'RQj&6#%Zl@(@911hr)(q5JVf%qbjZ!jQ50e2%"&!j86r"RbYcF9'-J+R
+
+c0hb"@4a%!Y[C0l2TM5,Nb2bbG#$S3I&$qHjj9P@eX("dPLQ1iU8E(PKcP[`*f1G
+
+"Zel,a,V,M(H&-`TQ%J*9Vf@9Iaj2MeIm0AjQVmcLr%d$@QTR4pEip(rcZqkN@0e
+
+,TlfMNL!&E!cD1EI'ScJ&BiMq3dEIYkjlS$iL8D,"b!F5#r[,AFC6lF'M)Z%AbhZ
+
+,PNChbmkCkdcC("N2XMF5j0QaPPHFRF0DQB*5i*8%0a&Di0M)h1lm$BESHrH"XGj
+
+m[H@HmeQmfqmf'm`Yj"ZYKbVMPDH4$2Y)T#rVZqKmZGi%hl-hScF1EKd2Rd0aVYa
+
+fpAG8lNPp,lHh'AmHYXj(DFb9dEMTI0k0$me$hGVSdZMf9FC!l+)qF*GlTkka(5'
+
+4Q$3M(Z-+PX*C`T,1UHfZ"5$EVC5h9N%UQG`HYKZiH"Qdp(CjZccGQ!LlcG0jFRS
+
+hrkiGfpB6$8U(aD5!*bBa2kMMUYCCPV@Z#ZIX)-)MVLBd%T@%%[)i82XeFZCip[p
+
+QhMA!``TD!eU,)erT5p#0+,L+Z'emD#TQBfKMBq0Mif&8Ji%'$"'[idTEH55-Pa8
+
+ML-H0A(M#"R0Pa*2Q`rN@R3e4Uce8(Z3F5cjfYeXU3cFbLR48+rlUCp1XrYPFE+P
+
+JDRr'2BYbNZ*Pl$fC22K&e8TLjL`mmTpA%!JhB@0cA[#!CECHREjSb)HA$l0[RPm
+
+lap6(0K)1'C'H9!V2R9Y9l0LR[R21*kP$1aC-)l$PKmPbPMc)D$MV+P$F6lA",D5
+
+`G6DpYHl5[Y-i9N62ij(RIj!!PVFDEKGEUhi8c(QF4Hcm29YZT3aVVJlVFb$MAJK
+
+aqPMe`#G+TANp*C!!hD3mACE['Y1jNC3pH(0F2!e'I9Vk[+eFECC9q&XJcp@5'VZ
+
+YJmU0hdEK'`T`M-%aE$&Tp0C@J9,0YCR(XjpNDU3cb-d,6&0Q0cj(6-%kY'P*H,m
+
+5aQANEP`cEh'l&bFD0E5jQE-c3#H@0@@JV0QGHC,%`c0h,Gq#&Ge%bZRBTmUCe21
+
+a!i81(pD&MF9X&qfFE-fh-*BZB%S(BGKbl*0RlXB&'1L+!JZQpA@FhDC[MCZqrSQ
+
+IMRIrMDf8Z2"Q3G@UDPZ"Sr,cE20A#'D$!b"3%5j(FGRHIK[26X2Al(V$Ph1QpDF
+
+aC(0p#CZVL0pL[VU`eppZcdUHM"SfZMarrpXIAePVf)SLF(USG8X@@q'k-V89Dk'
+
+%V5Z1IUqI3jmq[Jkd8Q9'HNbMMdmM5iHrakQ2'!PRaP-CV4Ye'VmMh-LpaiaIbLa
+
+r9iI@ar9b29j((iHe"eHakmD42`,cU`hZTVbSNerE[@c+fXN8BhK9lQXemq+ehT-
+
+hICFk5FBB`)0P!-Af#"iaI,#H%0a,L'9*N6UZ2h1aeqY[i)D[iB2SG[jI)UlH(B9
+
+m)&S(iCA*XcrScUpl&qk3!'9a3&2Dr@TE)bGiSeaVUe0Iaar)&'Y[mKcpP[k@riP
+
+pLi'$F%h[RaK%)HbX4%H,"1GEFa,*N@JJ!aDfpfpI*JhVlPJPNlZf'`[%J02%rj-
+
+%8lVkF("M$Z0Rl`d9rMCG8T!!i93@I$rrC()$N`rpjRmNfGUV8IJ@m8f'%2!Kim*
+
+YFk*bSk0[qUir(Y[raE#emr-BYI&4ZU08S)k&(3[ZdSdX#AaD@[f%R'NqeTQi-%p
+
+PpYHYllAPBidrG[i1a"hYqkcJaH3Aph2i"aleT4DSMQif['f2db[UP!18F8r*Y6)
+
+ITel$Q4iE+YC``jXr0)Sm8ZdKq[$mq(l`ZqmH(+YkP`15k@2NpT[Eq(KlAb,DaNm
+
+q$K'U$cqpkm(2#EHb3!j3mp6()a64Pp,MpHijNR4e(c3SQVlM5N(r,FdD@-hfHjq
+
+$-mr%pEEDqEr90emfYYE(ID81C,hXA9Rk2FNrrXH!S+iCa!3P$bAb5"ar[2M,Pha
+
+l6G3CIF9pKkZ`pAZ2rearq2Jhfj+lF*NX`mqTl%2k+A3[rG`0$$k'pr4[IB-,-$"
+
+Lqcce6K')&h$M8[BfpI!pA$pAHqV[Iq-2r'(rM-[VHa+i@pUldZ4jY1(A@qlVdBE
+
+MM`I5Kk-AQ6r-h&['6)KATGl8RU9IF88af2T0NX@NI'*'riN[4j'CVV,CI$[Bfqr
+
+2b1eQIq*hDq0riQGV-ZTR$YVXZAj8&@eNQk*M9I3Jem'`eYq9(HGm[M`Beal@RX3
+
+3D@SJZGlp,ce%AUdB0P"&XBUF9#+K&6kY$&ZSe#ae012RGc4m+Mh(@MdG6UZbmfq
+
+lZRUZ0Uk'ZefZZYbFk%ZV$C9i,Z9MEhf2h+iC`0&arq2%rii[r(FAeMBf(,-FIpm
+
+jYFdi`Ff`'X`%&MYjDr*6L*LhF95YZB[QhQ*A`rm-6$`mh$dF2$'"PrIif0q,j&M
+
++*N02QaVfG8QdCfG'iY1M(`,6!JSdl[BI(Z1kPC8'$9aF$JA9E!aif2JD&MM`IrG
+
+6qQcqeVARMLf0V1dTZ1[hF6%jSL4'XZ[DLkcA3aqZXB0!5Gel$ca6EqDV@Y)dlVl
+
+#,[A+,pK@X2PFMj40hXFH,N9XICH*Aaq*MkA)d1(T-X-k&25@I5Tflqb!'JLXXQY
+
+3Nb5NrECIFGDccVAV@(S4qYVGA'`$,#dTdCX(XFpD"VQrRY0'mrlGcqH6q@(3ehY
+
+@'9(j0T'fKAK`125+p-ccANcrbjh5fRh,b5@"8"*&p@La65AaVkY5m'RAf(q'amc
+
+[ILqADbV'`RQKRQf(mG1YTZIC-fIl2Q$0l-[2*ZI))jI*20,C4$Q)C!F6Mj)PBQR
+
+e#h[EL+M26B!mXC-1lQqr8Ufq0-hHhiZ"jfek'qaX5MEkqiN`kf@j5IHQRdlVkRQ
+
+@A2dcGZIl@ibPiSVS,'[KmmdZ"4iG#r[BKD([S[iENJ2Z6Ip'Mhe(L5IGNH6Tj%I
+
+NaL4$Bcir%X0e6V8r@fH96mdMCej%bRQb)E@P5PUU1)B-D`%*hIVhEB6bXmI!CX8
+
+EChHaqrhIfrPbpMQdjGAdpE6fq`f12hH&"r49TDLA4TA&rDie[lAJf0cblEq5Ckp
+
+VqMFIqRCp6CqPXr5XZTTmc[0$EHPYrkVcpqmqhEIli9dfL)@-DH2F90hM'a6bGAl
+
+1VpqMh2&drCk8IVcqjTrSCD(k9$%edhZ1Pff*ff*fhFpYh)"2lYGCGcBcY,Z6$"+
+
+b1RiIFb)ip"NdVAL%`bT5J8"XGKa9ESNSF5irQQI+Kb4JhXYm"5N4d$+m8K)6YNR
+
+U%QCmI"XMr*H&p'2fGPl%FbZh-[6U0!b!ejjYjblc+[-V"VaUNTNqDcI1)dYa#cp
+
+D!C!!XqH41-Fl@2(Uj8-LP@[c-5`pP[Dc*!5m[SdYl%!cK@94XU9CM,X`M*BYRAY
+
+0p21qKlqXp@0'JpNaR0#!ck0CTE!"%'K'M@-LV@NjQ[c0IKDVZp9[9PeD[*e2Gh@
+
+K2bpaj!aE)UBi4jAa[k02c2MId@(*D#)rXX`fYE2N4ZlRN!!bKrjbrAdkqX+kqZ)
+
+Dp[SA'K5r(,V[)cI,dfC6dE,UY@YkGaDhh@8(I3EUY8Lalca+q4XZ4R)iB!bB!aF
+
+H,Zlf`V5H9JF-a$I,JV9FqicpERdkf`q$BBq&lGTdE2bl-ZU*f(arEb2Fm5bm5[i
+
+RPiji()#FI4aqMBHA(R5#[pBIUirTC(c325H4PBrkFLT9qIMrp544l2(j@4)M5,'
+
+aeeIYBZeqlfYIYFrYHKf[33%!*r(fY,Fm2FqdFqN8I56VZkqD,)C1&UTN2CD9c[H
+
+a`j0HcKQ$ML`bjr8[-1B-GA*M@'Rr0[Sh(rIDIbDQG)YBal2'mp,LVhIiX$TFAT8
+
+HP43%r``,LM4MF'0PA0c0pIX+&Ae*9$)pI)p6)p6)p5U!JV-d)I$Ppe2bTHYQC-c
+
+mXc0rFcH4Qq0jHqVc)BD9aap9dIMqCmHEZIXaSY4)Qr-TpHELcF@G[jY89"ajZ20
+
+ak[8QipjS6mcF360c-lfChFhUeI!QG#ChqXlqCd0ThrMGri(@QGr0iZelr9AGKZE
+
+$[H4hILGA)m$)k'4hq4hl309kf4hmILf2Ib,YEd6@1E30,Pf%V9D'VaU2ImA8pRm
+
+-IUf8E!P%JDiJZ+T'VeX[!(61`aF,J3EQ$hV2r5$+M%EFaeph6pq0*PlZGllNq,2
+
+PjE0KU4)1p)ir*p[`Y6KB(AJ,Ym[&`0+@Z3aGqc1pKI)9R`,AhjR8YXIEC2Hm4"#
+
+$`BI"LUi010&JAYjA[k+!Pj@[EfU,lTF9f18Gbc6kEE3CQ'+f-5L5(q+C(Zpc6CC
+
+Ri&MG9EUa!0m1iXD[`lcj@mq9[2P9IXJ'XGjBpcD4T%D0JYBYpJC#G6KB(%NVfQ`
+
+3-5&QU%(bK@hfVFVTCdcV60H0LpA$D3b*8XqViCX1TcGY[GYNiQpQJ-QlfEq'G4Y
+
+r#Kr&E@,0T56V3J(lV`J%hV64YR5eFYK1SJhME[cE`$,*XJ,hC6UeVT'-TQQ'2lG
+
+8lU0[k&1qfZrqMa0lS`jNbY0pmhdSc"[5Yq(i)f"H4dEH#GDpHS*m'iS&JFc8iE5
+
+iQdG4`ERf2NFXm$YhaG6`IKeh9P4YKAf80'A`DrKrL`qP,k8A5Lk9hdZ(rK8Z1"4
+
+`42U`P6p#,HSqk9&aeDQ@C&M`jpaj&pBTdUlKkr9,#Laair*XZH1FFffc,RbGabK
+
+Kec*qM&Sc2Ge1CTpI9[M&ra6*5pQ(2eRN,d-%HUa+@1hUfe'RVV&AGepYBHQPYj0
+
+K)#B-mlUPD(S($GP3RpJ5&BGk08U4)9%C[XpTrZ`1KYDe(S8+e6+[DZebk12H`hY
+
++papIj(Ff)e`blIdTQK9rA-k0[kPar,-rLTrq2Xi@(bMM!rkB(Kblf`(1[MH[p$p
+
+(lIrTp$UEcdYjkAd1TqhQI1d2RHP[2k['rIrEqhBIlhPmDHM2@'ETr0QHG3Qr@Qk
+
+qh0iML6jpMD9FR9D1mKUfqmVlb(H8YjIlc!qapRFBPA%h(PeBGc,NGhDITJcbX&h
+
+Hpd*R+Q5EIZMf56Aj!3hKL$L@F)h2-[SFa'H9Lf[9M`fZP)dE6h*RY6mU0Lcq"I&
+
+G68eZaakZPEm+(UMe2(YmC)2T!"LlSP)d6J%Te[f[iVAR-q922QFbmcHk1,54)Y+
+
+d"dRARSlld6'9rPKp@(l)j5LKbCRhlHpKRh@je9@Vlm'0XDQa156BieaM3r"&l,Q
+
+Yi&5ZpaU2%Yrr5errhb2rIirpHcrppRrlfArpdhpIbIr6DIqQdrp+'R[Hbe9e(MA
+
+*"eaB-+9DQijHFV%V6B*X%h5D"TX%E@h2A[16-j9Y@didFQD-cR61F41r1eRh0Tj
+
+HTKN+##Z)Jq4'CP1CHCHcccIBpEDH9HCGcPlM,NGT8aqdcrfUp6Sq(QH(hAe0rp5
+
+Yp63m6dZjKU8YcMe2DlQaH@M*mkT'M,VkZ)X$*fr(f'GmZqZ2&P6dZ!RH[0akGBf
+
+%(-@qekmGJdJ(l8S`HT35ekZRR[86Nb-HABD98dP0d,GQCL06KD2eBIU9mM+(AaG
+
+DmE,m'XH2ANlU9b)-Ipr(pIa2br6qlpAh[TraC(RC#!RmAMH9i2*m+[`+NV@h(ej
+
+R[aHPGlhjPlb+m1bLaZ2MBZ&Bql"&pR*RrNX,'aJTdlV0f[VGYreUH[ZIlkRh0Ir
+
+&IqGGS#IaAIPE#[mHT'aDLc(HlLal[4`-ll'SSck0lI9hR&T2@3kh61Yj-H'1BYp
+
+T&TqV,kGKeBqEC5j4QUkf,M9cXiVe44BUDeYUCVqprpVIr2@qeVIr[9FIF5SY#Pc
+
+)pDAcr'r6HF@ppACj0lcYR4[IXE,mp,"i*69h@Sj'SamaKS2l2UiAdiFMBC'(NGY
+
+NI,mDPi-Y'J2IjR*-k##TVe4!LX*KCZZ')9LFZM$kZE$qbhrCV26frUH03`bU+Xr
+
+GBZYXCLUd*kYDBILQXbjRSE61mBdP4P0SE6b04BL)&+Gk`lScm&-RVFY"%f&@KS$
+
+BDRaQSr(BdbVHG(c'SdHACCYVLd2@XMJI'R9l"9UlQ#le[Fkhq,EhHa`-)"M'UAC
+
+bYb8GBDYlM9FEf-EBBhGBhmA"ZmDTMCp6BBaI'(hAX,`dS9pG(lA+`UrMFZflAAH
+
+[aLlpT[@QCheFkjpD`Zc8Fk96DRd*AKk96T3p+&!6T@rmR([iZ('8&ScNEAVlJG,
+
+BZIFqc(jYPLf3!-)$IZdE63eRZ5q9,KZ1P$YF$reLVc`J''$aK"[j,HrZ1(5pUfX
+
+E'4h(dUA%1S$&Ci(Bp$(TiplMaD%@KFjQZJh8%YCHHI#IKK8Eh%f[-m1(r'(`UYH
+
+mm10i8CA9'E5NbpY[AfR@+H+9FpDCkXcNc-UCP6+mZXY(@@cR8Zj%QA*T$hERf8D
+
+6)Nb*-QbV4p)be4#UCHr'pHVeZbc[MCfccYZ%!Xq6f@9ICAakq$@MD%2iaNKS9"N
+
+P$lNcb,HaKdTTiFALb9c`dNF[GrbE$ej[jiIZGYrpI+ripKraQrrr$rkrYIrcj2U
+
+pKr9KI[d[Ybrpm-%b"D3p5R0d*QCV"h0-mhDHGihUElf*R*fPI890bD)Z0RieB38
+
+VBfiYDq4iI$raar#b+rLH(ar#a3d'jKUp,'qPMAq0p+TjQ0jGT5arlq(Aamr(VF2
+
+2iqILPMHkPi&+M&4i&(2'XQ8IY(XB&GIY6[lFmC!!(RQM$bV+61VhmFTLRlFUBCR
+
+iXfNUQI-Vfq8H8)IG52bVHLQ9+Y,cfEb8XeSC01[$BX[,%%5edT8SP*-K)#CJfBX
+
+TpRQkcqUqreh(X4qECqEf2,X)eM2URJC[!RQmLhN5!QmbIXGhZ1T9p,FCeAXYcB[
+
+0UeRR-%Q`5U22XSV20Kpf,l@#d3)1+Ur&Dh%cl@,Bb2bk[(6pK4XR-&&lh0FlGiY
+
+P%cY-pZPe+ATAQGHGPU,'-!!!J&GRD@GiQ@H(CiL+LPCfGiGSH)TiQUU)UQGRH@G
+
+RL(KfH)PjHBQCLCQUUkQ+L)LVQ'Q)LQL*Q'H)LCUlQAQSGhD+L*ejR,YlQTZUV*Y
+
+kQCkUZkUmQlfCUVZ,QCYkR,UFQBbCMAUEUhUCV,UpQiZ(RTU0UVfE[FU,QCbVV)U
+
+-QAaQ$J!"*%9@ChL*QUZmc3hG3$999@C@CRChCfGhGRGhGhGhGiGiKiGiGhL)L)H
+
+)L)H)L)KiL)L)L)L)L)L)Q)QBQ*H)L)LBL)L)L)H)Q)Q)LCMNX6alH6l82X(qmC[
+
+U@SI5CP9dD)[B`L[QeIhQ23PG+ecG9k8R0`-h[kQlCb'i&![NP[Y6,E-[0(#kq3[
+
+-3T8*rj+c,$#MiaUhmb"B*Y2FrL[kPadBHMEj1aTl`!fS)"FZTK8CFFc6*dI[-,d
+
+YGdTfE1p,U-facH`UE'GJ#PX`*"!-XM#8'52*Q4-$UqYI9aqEGrCVrEL&YY$)9m`
+
+2PZ9*r"IqAXr`819ZUfjJh*+Q3fNV6j430YZkGraSHK*mLefdqM[1&*dC([AI,eQ
+
+U`imZ#dUfff1kcXYC@[+rV+[8C9P9l$+[kXmr2d`K-34GA9QED9@drCG9@U9j-@9
+
+6E+*J8cC9QE*X[9hYhQbI3Y*pM6ar`bIYbVdCDp#9aVEFZHGN%,%4$YK1fQJE`-G
+
+HFm5Z+19RQB22aXF4*Hj2"KmD(H3i&5fKYBHqKp16Ah&D`UQeGb6rRCdE1XXk99`
+
+-lLChDeBrJ'I("(L4kdH#*-(%&j5BHYSd+hHr+RFqGm&pk&p$JhZYT3HTA4,3J(5
+
+[V@[2UH(*[E9D0r'Rp2'dGejdQGDQ2XM34DZ6'TaUH96bJ#BP2Edp[6Tij1EJckj
+
+Q#Nf-9+KVa`k0"C%Y$X1AB+cCaM"5MbiXJj`Sm1eQ5qiZkelpD,S4p$XG#ISArQh
+
+Ge0l54&(r'Q$jCP6dC2M$NAM$hE-PFmDBpZZT4-Q,YAk)*AM@i),rRpr@hAYbD@a
+
+bG4YE(eBfIT[lk&DpMDjQZ'cBKjN(j,$TYYXRk),$TaI98i5[k%ER4rA[26-`f4J
+
+r0RIfAeDqqQ2-+8kNGaQeB[lNcSIN3iBQ"GpMI0+'QPkT@MEF#idG9TG6(efML4j
+
+%[GkEH9GRQ5I4U"B0Rifcp(CCQmjjJ0"B,8,"&Q@Ffbqr$jdfG[+dU0+lf9Z*@i!
+
+)J4'P&9L(8DEaD(cCfj`IUcUf$bChpQ6jAbI+eAPDVqbGj9ebHdm1,i%ZCD6EIlm
+
+IcYV1&`)ephYKZ,2FGPZ0PhZbh&j'[0,TSXMkX1iKqENr9&K16#$kamVArfI)mV!
+
+j1"iFk,[kfdUbl'fd5++HDdEif[l('qVGi2aI!+qh3kV#)pfUQ,,5SLaPE*bT25Y
+
+F309L5G`X&6GG+6UCqPN4CFL4Dh&B%p@@-C([CR4mVX+erLE'NF%L%%H4Jfr3X[-
+
+`Y#AiXfpkcZ1SqTCFVX19IqlImUlj9h@,VMN@h0&[X[AEREmE(pQ6r6H%ekMM40'
+
+bcHr[,R['HpJqFe*plc6$MEhTAH8Er18Y6'21-&+1cm1mqed+RY56jL`2D[p$HD'
+
+ljjHYFq(RbIY@ZP`ZGHmrBk&Il8MRBhXhI2Qk%lRh[2QD&hpUETCm#Q-5m+44Y[6
+
+XUf&PDcT6F5qUaF5bh(B"SVrTAHT4J-2#bD0,dq$@i'9h25aX6&UdX6JlMJlM)h(
+
+Fp,Z064dY',!b-c$(Y+eM(afrSFr4*rLSmq2)2!aX"k[PaT&RSkU`i2kSd"rXM"N
+
+%23RU0Bf-cAhZ"9embJA$fh2)DcV@fAMjq[TXmNF#aXA)E&lFrd8-DG9(bGDGMB1
+
+I1qrII5RHImR[F1AFl["f-kf5j`["2&i28SBml$2dhY*ePmMreKqT"c,(I@GD2KE
+
+I4`-ZhaY,-YXE!pR&qTmMk3rh`T%qA)dQCe(mCE)B9!iJCRiGk6IV!RF,TaE4LNR
+
+BE$r,*Uj)CLrdGR4SElH9Ye5'A[EP8VEL3m#Ci&$m0hP82*ZcN!#Er0KcD(5lBN[
+
+I#mRiZ9mAaIRH(V)ZefY5SDP@5!2*TBHPZkG6LH[Lm1RSFAcFMip(Vi)PT)Y`N!!
+
+BI91A6b0(G8C*aXMT`)pEdYMa*(!Y)SmHbj1LBI'M*kQiV@dbr[Hrp(GFZ6bjA'f
+
+0$8DV9RI,H3d2QAP5KYERGe1IUGhUYhFH41RB1reh*hj,BfX[*[H$9TEIJpe8VF(
+
+@@mhG9YkcZYhQENHMh&k@r-Z,He+Y2Ei[G'GTV-9c8D0"E0V[4VJ3@1%H,`mHdp@
+
+I4RqpZIHNrkbIpC0195(j@qKSb#0SZ!Z-IC@0-XLKCGf(DZHUMHBf!hlmHl*G&Ia
+
+DZ,je24TS#&h"LhGGk&GaSP`bc@1+DV1`+Z0cGcGQ'akj1md*AQbIM`pI)LDZ4DC
+
+PYr,C9F)2"Gk2@8HS&6YYlGrlGrlGj5Qm68F$64G4i0$1X[*XK3$AcYH+!@jdUl2
+
+bINjACkQ2TBm9mrKN#cV$1dV5XH96dq2H3D`D!J-h*mP415S%Zp$E6,2#L-J`0P!
+
+Bdh2[IjZSQaqAf(pPrXGPI6EbCri11d1iAE(!,VK+4)#!%b-ZmV3FkZm1-4iRGT4
+
+Y4Kk#TNH@Ikb0YU&126MiXHY83)Tl$(S&biVQ!ZBXHjfa`@i-RT`c,B`h&Xd+m#F
+
+m8519D&#!Te"B!J'0(cirmf`Qd1AHIfAQa[,km[+(rLjSh29i29cZVRH82r[+!09
+
+RH8J3A[91GRI*m(VSMAS%,(S"UNHe*d*@KXHIMFlFMd#rqeTY,%N@(6dXb94eEHR
+
+rek2TPR(S9rj#&"kejcB14K4EZV211Q4Rprj%faZr!ZfQX$80H`3Fl$jf6caM$fX
+
+9E&(YBZK8d1*cq)E'@2cq`qe%dZejf6cUA2TD("pUTcUA1dS)1+##RcZ)#$Z%)*H
+
+6-1B["hFcGc0h-hKIkEc+hJEci@9IC@XUl6+)`%bdjBL,Pk`[SPk)ir#9lTDjp[P
+
+E+`e%4YeaZm(*I#!EeK!Q)!bNSm6"aNCF4U!MS)Q8GAd-,Q3@2AB&6hXANB[)CKj
+
+CQ,QBTM!GcQGE$ALbpM$)L$!%D'flHIMm6'r$ZPBS%iDNFpeXc#QeeDA")L@kK3'
+
+J-[2L+1Q0X8M5NIZCNq4)*B'$Jp-e)#lH`CYK@ZJH%2HpLR0VTc+BXCPN6-)DXM2
+
+Rk1arHhYE99pZF*MRYIldL@Cl5Y6Z0h@0M,)$P(6r*ppYUdB@JPPiY-LcG93kFfA
+
+0QpC@AB6XVfqUcB2L9YX1PM8h`*@@3I-Z6((9QAXF[k@AqhPNZM#f068B0M"(d[a
+
+X#KRcY[JlHFI3l!4Ycdhp'q`[N9-2"VUT#!i4I-9Y*Qj$QKScqfrdAa(JeG@e8i#
+
+0+0FL9'SGl3h'bh'mh'mlhH+5p'PDU9(LE5T8e'dlED92fqffREIYpX9F1qrEfRE
+
+90TY0T8krDl@#CeeA*m+QF#'+AaJfe9'fUZ,QVUjfdb[V-8qMc0HQ6VhAhc1VQG6
+
+[ZMHlF#f",XE5Z0qcP8#29Uq98m[GHP*mZTjFRm%RbjA+Yq9Ir8Y)JG`JrAqAICR
+
+@HCGrKUICZmbl!4Gj3`&QDlPpEK9h)Z1R&Pa-1T9E[01G91BJ`YZ)Z6)amEckQQN
+
+eVr0@3Y[&!HDFM`cBBI"!E1'EEJD-CLUX)#rm1d@eXjM,G``a9pd8"%B+G6QB%b'
+
+aSajN0cH9YE`X6Qj'9+V61IMmkAcSR1X[XGrpM@,mBFb"6[V(Fp1ImUeeXUV+Tl,
+
+4hK2#diepV-IDm+,-dXb2M%&E`GfUKec*r1HJUp#8"+8QjNH%DIJd&NrDNq(+LLc
+
+@A2fq0M(+F$5rm(8a)14)jNIQ4ZCVHC!!J)X6#%9p3DMd*FjU6p$Up'C4P9C(6dR
+
+Zj1qNk-2U`qd,%CG[E6V&+r4h-pCZk[6Qip!i$9`)J%AfDVZRCLmK+JjPKbl,l0h
+
+Pp32EP$5M6Bmf'K,e9Gb*"TqI4a,UpXVDdrRV[19B4N'+C(YSE1M%PM[LlmQmk8f
+
+kkbPIjej5RB0riXc1[)dcfjQ*3UbiX@@(!-lLpQBKl&`NEcGHM*)hNRhT2'Nd,A9
+
+B9'lkHbMaUriA[iaV[AG'midkRHdTr!ZqK2jM,Ci[3VBJ-E6`EQ*0dCdb,Hf9AEH
+
+I2rAIjYhH6HmN5hb'mpT"IRNeY2R6U[9jf&9HBAad+2)G$3-Z'"3R4[BV&c+GlLe
+
+@!J!Q1!5#EAJJM3D83&$-QBHp81!eRSRq&KcShXaXq2q+'T,`CFZd[EFl!0T9eF@
+
+mV6U-Adl1X8IKQDmh&jfQQ&qajjL6+8`p"CRYhDMD8Jd&+lF2")fc*q(pZ6k8R2N
+
+jpV@1SM2aUfj@iTq1I@NFLfJaMR3bC%0E!p6k@KZG$!d0ISDr3f(jH)EHp(JiA*e
+
+X6"SI%RDhdGD-GI%cILF[iRr2CQFYm6m(a2eI%j(b+f(N`H")iN1[KmEGeFR1hHG
+
+ZmlH9FRh)DGVkZUjr(mE9fCXDa,DKe8l*p'0Qf9@9Ql2PmIrR[%kkr"*r8CM9Deb
+
+Di`IVXMS@QAT0()m+6c9Hr5IZbXkhLcS'EZdaR(BU%5Ti3`kA!q'6!',A-q+fBla
+
+5b%C*!#3&*bdMkZj4Jr9D'"UpE3e[aZYSB(aYE3c1a`,5NpfR#D&2NFL%T[5H48`
+
+VAJ(r[k0a6f92Miqmi8U*+L($a9N33kSq`A-b@3jV@DTm"D`QEQE$H6k%M9A1G3T
+
+U2j1cX&@+UXllZ$J6YH0bGR1r(mMkRA@&M-KmEV#[jm6Di&(@m$Am5jTe-D0aY9d
+
+1phf*[Y,8Li1(-bI')Hh+aGV`U2'i(#iP1R6aUI'aqK`Yp4he'T4`BXXp08R4Qij
+
+86VV'MF,5jrHjrAj9RB4BJXpieN`J&1M6i'6a)e1`#3D9i5#eMb[l6X)h06M5[5P
+
+G+KhZbbH2hT!!A[4P6T8i!Rb)-H`Ud,'*EDH'9bl,#Vi+mK"4VE5ZHZ%-F1!E(%0
+
+(*S`M88RNh&DecX"lR-H""(-9jcb`)2cIjYHe!YKMJRPJFkhM3eT2Pj2P3m8XF46
+
+L821R'SlRdiI8&`-PMU"VTUDV8cA8cee"!CVd)mJhFc**,4*L+*JS4-Z*RdTZX"!
+
+c0q(HQ&-Z6BqFH!#N8qC-!K)JC+HBe"NRf1ZJN!"X`J&X@1lUEepBbI6eZ-LTam0
+
+TCPP-'[$fXKmbi[$0qe8`&R8ZIJ5e,dML61daSrkir5X[[f9jTCTBGXD$cS+Zr)f
+
+M@K2%,2A)')$L`EG25D0ad*A'[-EC8qbiQPi-EI-ZXLB"K8B*H6ieG@SFUGkFlXC
+
+h&RIpm(qbjmViA%q&`[KGMe2Bi(lqVdTXE$dM8mE"i8lLAA"`qa*43[e$&18U2"S
+
+`6bXm[MLRKHjUm@laEhE4DXH2YY'r0G)6AJb)l-VjZHd6b'A"J",ARC(MAPV%Xcf
+
+3!))YE"2RH*@UHSjr$'Ia#Gj'ZCeV#8S!#%C`r'N0K$Amk[kGIZ4qL,-`h%[5L)$
+
+(fYq9[BQ2Sid"2H#2@h1e21ZZIVG$D&Zmeb$M4THS9rNljI"`Yp(hm)a!MJ%EVP6
+
+26e[Bi2&lhr[1-ILqiPp`U(Bc[a3I[efP,Vl%&J2!UG5pM`6q-43LLNVRk$#`q"N
+
+eDHILq0a6X@8X$&[4N!!aZ&rPKIj9hfSeQ,!H0Ie[SFUT%9iYLeLjLEmUFr(d1`q
+
+e"T5IU`S'Up2!l('iZjrl`rf3!2P5H)8)1aKr&$qrDD@*!Zl6M4ZV`l+TFHhD%#$
+
+ir%lAJ@#-%'!Pi,6J5H9HqRNLS&erhTrfB!3#fi8lXEVm@''!Er1'S%Vf)%@E)hA
+
+eQFE#Ph-["mBc2")'#a)%lqc"$J6JJ%lmAb2hqZdXZ,TkYX*Z`U0c`,bU3J!'EDL
+
+B&9'C[ViBJ5i$b(PiK-dIb)!Z$CNdJ5)J)k#&Da0N`er#+S,Q$b$JE+VJ8F'MZk1
+
+jSlPH2LeeQ8Z,[8hrfHXpUqlfE5*!fikcYjrLcmT0NUL2Bm`dTYED9CNcUjQh'D%
+
+cd5hPFq'SB&JLp3QS'4J-Krb-"$i%HV8Ch`@ZMECprj'QDC!!HHm44q*LM0Bk#2B
+
+Qr9"A51SI2iXf%i`2$`5bj$q[J)0E"1Pc5Gebk(kjXkmR82eh[SE2-[)HXrjr%aH
+
+Vr$mZ[A1G3dE#CJF#29SHGED2b21Mk1QjG5pRI5[IhEEmdl`l5aYp[ElIV0cVZIm
+
+UiZ1PHq6IHah[q"5Fp@GSh[X6rZ5pV&2SG0H3!2!S9GhBRH3[KE'P502%[)L`[RN
+
+TK`b9#XF9biXXUZqcA%5M#Sc"(%&'4`Zr*e#988NbCa*R!Rd9-J,YIJ3NTUT#A)(
+
+Tl1Y3p[HHhZ[FhAqFNb5,@TDi,,D#0Gq63-rLqpZlm8[U-di11PGq5C@K+!Jfd&2
+
+$cmRqh&p,&cq*Rdke22Tjq2@i@IKCm(ii+d(),bZR$dBIlEMdYRRr5cpbFF"+DD"
+
+[a`NU#ZJY"m9CFM51&kVmk[T9mk0G4Sap@B&'aeFHdc*8lUHma25eJ6LmS4ZpdZE
+
+fAT6qpf@E1RAT`2@1fMN`#CrEVI5lA2b#B"-cmI2PeSQI(cmEmFX+!X4TH4PPbfR
+
+S$c1RNp'ZmLZj%DBcUfdEJfM"VcR@hV9rj!*29B$3NGS35IYGaP'k)b$CAdDlhSf
+
+$2LN%$J(TJ)Jf@M2SlP-+8SD3!!3cQNaaT+-IS@fq,VJYY0c5Kld$$4"51+c9@XH
+
+3!%#T1laeCB`imVS3P)b'MF,#-lJr,e#aPf`a4--%cXkZ1-DAPE([+0j%[)p$'Qb
+
+clq-Q30GX+D)3UV$q-f2Xb6j&hp6DFQZJHmbe$1&-XUC8[XUCG82D[Y6XXVADVDa
+
+i$"iFM30M4FDRdkIkap9I4,b#lJPaec&#$Kdd`$44lGCH&(pQ2aVLIUVLaMc'C6L
+
+bPPIK-HD(JXJ)0Jid-bZ(F&6lZ,SiU!R8NNENB[mZ,iZ4QB[N9hNeriDlNkUChqq
+
+CjTCZc203[9U[`Vh"rFi(dYI@Y2kVbKYp9BmJLQ6)GDCrd%qahC!!P5h!m3MK5iG
+
+VF$3&c%dpD9G5U[@h@XUcBR@",V,,l$4[mZr9LMb,5aL$UDm""TlVUUZ6%NZDCNV
+
+,Y`5@RN9eM,bNGJ1e@Q'3!)&&6TAQ$IDQqb[MiRCBR`p8HbL$RT6)e!VVd2&q4'q
+
+GTCd@bm4ke!33&RJCPGQ)#-!h6V[%I+F$0IkbLGR@fH9EeE)!QcLdiRbDeQF%QRh
+
+'ZVDZ,D"8V64fQAm6,kc4q,Bp5BPhl5Z[#Q&36k#M)R`PEcGjH6Pl[RE[Fl[M,[J
+
+YH&UXrMj@VX))LJJ3#[9L+N4CN5L,XFa[88fpJR`@d6ZDe'0aHP5qRbB["pZP5!*
+
+hY,fq$5iP+MmLM&-'!*!!'$"PpTPir1Kh-cMBmbAM41&(cqrbYBA!%'&"d--IaBZ
+
+iiQiTlLRl&2aDHELq6NA@,5Vm5*fmA,Lm$9C10RU**NaSDZ"'`DZaLlRj@kqP+iF
+
+Vk&VNb-"MrkCAp#[QD@fNq[V2-Ihdf1Ck*T+dZ0Hh9pdQITi!PplGlL0K!$f$Ui-
+
+lV[ZC0l6T8rJTmQRUaB,Kdrp-IIi[Zeh$ASYB8G,2NfFfkX1G(N9d5KkA9DQ[dYI
+
+'Xp9XZpdpeCkU0(Vq0TEDrXpCj-D'ck-0M!2MSeMBD-H'bmb(p@$3-VU#eM'F43a
+
+idV1Nq59H[&fH9hq9Z[$Nq!beY9,`#UQlYhRj1MZrjpjGlbY8mf6q#9lYarGaq9U
+
+r"VSNX%&X1QX,2Pk-hqHqZqSV@AQpKq!r,hpaqA["Y$RqCKJ8VV!+U36K9@2Lr[%
+
+"6+[+9l1PaiQfXkH"5Mm#24,LMJ@9,5dlEAimrAc)rIaral1`XDmC'`-QP$eqlr&
+
+8TdYINlHP6bGIZim0E*CmlMF%bMbkR[$LFqPje60lM0lMcDRQ8Z@R)k3'+-amqP[
+
+!2TEcT2flqYhrMEb'9NbSGM$U+aCHbEF[D(P'!alYY`TqhRjmc+Zl!mRKj"AFLbc
+
+,,-3%Nm[iAmr`rk1qp[iR0H-46)1"ea(L6R"E"Hc6rY,XL[alLRrZ2([$JLP,ifR
+
+U"mc5a!@jpQ(qdP@9m29'ppAVNqX)0+-J6iGc#D51Q(L8B`mp68UJ'M,MH0,iU+4
+
+i-)H%6D*-JhdHYYMjGRaM6Ke5Z3$`H*4eTQk60Ch%IXPC&VIfXpAidJP"2PH"3+[
+
+b5I#(RfhKi@R)ad[IGV@IcGq23b[-Uk0kFFZ`*PE#bAN!$UfLJPCFK3*R4"#28PM
+
+G&ADR2Ti&1K@hI*h0CARc2'MNSN$fM"AfY5YBUA-a6eDPbceS64dZ1R)E-D%+9r-
+
+dY'fRc,M#dV!mce1Nq-F5b"!",bfSG2@3!-E'XCN'fZ+F&+!*p&+1ee4[ZK1SRmh
+
+ieppM*XTGJ6h46jbkLN81RAc+qBCR6'@dCD!3ip,m9eUGZGFNqXm[rZ5VC3+&c*R
+
+-0SJD'@ZSJ)i#14#%JQlEH8k"RmDEX49SfB-(4h(1Mmk6@Q%YXe[#'"$c*(-RmbI
+
+cGiaNTNR`!LYrV(Q@A*YkdU*GeVrb4ccaC9CVX3mL)d)Pk!Qm%(,2b8-Y'%6mBkP
+
+IMp9GeJbHPJC,q2$i`J&(X)qA%KabiDRc0e,rJfPR"'XqR,%)GejIAH,Af0KdqTQ
+
+9h3X*p[p5mk9Gb`j('XCE,Mia'#-"6ac&E@[0LeXM+a9+JUed5a`YI4`+1[p2"VB
+
+[LpTfmIYp,l&YQj(Nl#PTF52R@9XG,J8@1,4ANl@6ZYR4ZpMGl'T4U8@PBjeTPA1
+
+ULaiJMKjprZ0(Z2SkQc&"NS!492HSbh9!,HVJdrT8pc6$J11m'rPac+q)8'NXFH!
+
+&M+1eV-YZ%[Kb*%CHfF)jILVJP8(AX630(KQA0$dT`ja3cE[dD(Q#@TT&-e8%&Vi
+
+8lLI4[VQjN@-R!Np!bRZ5@rfCXmbKQEc-h5@N+%eV$U)A,YiKVDcI(lQTAP+mbCf
+
+#-q4LMP'),dA)U`r+Kq90qC3Ur(qG`pamIFI(3%qcXShaieI9ViaIr6)HmKU6-3b
+
+b*hHi-l8cSmk1GY8bG4Jj%%&Gp2k(mf4k(&pl&jH,kA&cDR5aHNc(JCdJGKlGGP+
+
+BmXH`8Jm#QB!`pLfaJ%#NM&)-U#,Ae5KpRPrKrILrDaFV&cXAlZ4k($Kkh!MF5ar
+
+$Aa*(*YMpZB0@CR5kZ2cGch!riFrEP[mHHIYbaLE#YJGAVqVSI&aDhCqAfIPfIPf
+
+rPj(Pl$el,P@A+XUePA4X3jR*mIL4r1U6EDYFBf$ZYI@f'KYcr44rc4l@2$AmM5X
+
+H(2Fl5aKID[eM$B8DrhV$b*2le5YB3@hUd0(Ajqh)9a1!2QD$Q9fMFINAL!bK"r'
+
+3!#$`l[`1ZI#!A*ck6Z01kFlT82[cTXkA1ie$ScZ#EcR[Ae2j(qQ(Y4D##[Lf"M+
+
+@XI6apAj",qR`FBP!FL0"E(Ffc9FUfY298pR@aS0cb@GP5EBB"T(J510$qG"6YkZ
+
+2RBe8HE$H9YmV8r5Z[dr%rrGTNa-#4L&2bI$a1hml)QQXYM3rj3eVI3e1KGD'Yr0
+
+K@X%-[952efpe(UiAcERUjY1G9)Ah!fh[cjPr90)2ep2'CBqlb28`K)"Z1C-@G(e
+
+qfYTmqIaTR3Zq4TM)AH3AZ"+iN!$ldRLbU@USJ!She@@BDPhiA@EF0GcUR2RIQ[Z
+
+P8ZZqkAII0!KRPp&l&rq@CpZZjGGQ"r1G'r9E9U16AFL!Mf4U8UphqjVrN@!N#$Q
+
+5#QNRqPa9!0dj2bVB#'UTDQP1iQYi"BH(`!qMMNUL2AaiPY"6VXq`bp9(aSmZ2!I
+
+hadm&kE(dkVGCe1VJFQ(j9Yp+GqRAIr[AC))ZB@+1CCR,mEqd+!PHb!`*8MS#1G,
+
+RRAG8kA$3JGX55[X@rf0PFDLceI,Y1AEqGC9HYQA-bDD!%8IpEBridrR62'ZlJbI
+
+SDr4fF!UG,,V$QD6-M4k&A8Ff0ldIfBI@hjfH'XpQi[Qm8eI1jbZlUpcP-bR[2ar
+
+epcQlqmi(H8CF'fL8kP,%i&e`EV(q&qHfi0Ma,E!e-qmaVRr,DI`3$q!J`355"pm
+
+60l8CbNjYfFVfVcDmqb(IRf3@Qpea%biYiHUaGr+V-A"5pBXV)bZ`6X!9#-lSl'+
+
+NcGcphJEZGNhd-eQRp-,akC40,lK4H+RI@IaG&S'iA0SmbMc+*$1S`A(6eC!!B1j
+
+cH$lH4k*cPC*HVijGTC*6)2T'AkF-Z6Dr$V9,bmQkZVZ6RbKQ5Uf40lpVq)lI+l6
+
+I3V92*aI*aI*aIFaIYj(fXAfaVca5lUbmMl2BIa9eblV23qGZkZlaYfh@LaZhiAH
+
+CqdbUk`L4,%kHlB%%ccTp8BH)$K!LaPhr"),#eL4CH*-el#!DqVLBfP0eilQ-E%i
+
+8E2ef9Ef(8QXqRm$NX$S9hRQ%Pi6jBLJAC`Ad%@qUcSjdZ)#)#FfmUpCQDc4l5`U
+
+9Y*i6pHJG8A,eP$$bl[TpEF@bdrJN$Q@XTEjd-R+)XYjEB%b(eCAf*9#9r[8lP[Z
+
+e+Td+I(TR3"a,AXF$6b0A)p@i""3rh[1jee1SJ`!CJSiQUB)#mHjNFlrP*LPmhHe
+
+8j89I+-EZ)rF'RmBA`H!R26*Qb[0jH5Vb8J)d$9T9HDff(FHjHGAG9DN1`Kf'633
+
+'V8)G@Cfp6-Q,2$LffUKd9KrGT-afBK'1BM-3LrBb6",JeXZF(N85,hTNbpm`ULG
+
++GrK1jeprPHiX[em+0&LaUXl,RFkGmUGaShXaI$-*Jl4*1C+c,$#MidLCT14CrRP
+
+A'TJq2qIBIDh@9+pZrbVr+h@85a-k9P55@!GMd2aBp#YXSppDhPj8ZVc(f@f[SEb
+
+CHA0jaGGm'efMYmph%EZ2*i[5lM+hqG`I*aFhZI&l[+lL04e9'+82V1(d1Ucm,,e
+
+HAGfGjpfZqlBrGfhhErlZcVAH&0U5-',)-L12C9Y[$McH&[k1*`0(*m)Mq60,[[R
+
+q[Ir")j0TP`mm@8jh`Uf6SI$VDR3kbYJHc*jePl2`rDRD'Yjq&iMY`Bl)bkVKDcJ
+
+DHN+3!'0Tq0ANP,$Pj2'1(MRBZAh0KhR[m+#RcDIHi[hFIRF,a+0c[aN#ZLG4@U)
+
+f!lmC4qcC0l$aY9MBhq@VqaARHp(N@9V8mH2DlR-U9[SRpiUH4LrAUIAaI16V,Kr
+
+FfQeIdS!"KjKAbebPA'M(XEQI3iapZPCqUXXrI9`EdL(BiT0j[bHm`jCJrEker0F
+
+4TYMp$I5[ACr%SdVfT8DiME+0TkX5,(Q4M4i,9QLbVCb*I0ZkXR%daHh6qRhIfEN
+
+YS,6`+&E[if`m#b0)#6b0@IG)Z[LQ"'p5fV6-R$SiqqiRjZ+56HjhhdIAiFELaZ,
+
+'i[Y9)h$MEq0[kZqLpF2B-A,aF[&dHjbqlbqjdFAe6*HcFMb1jmrZ2FhriHiL@1h
+
+MdSH"-Sr%UpS%+,P6JBp+AVi*qP[mE&PrKVkq32[P1`%#C9r9fCBJhQ8HRMbH!Y,
+
+kE!*ZS'3a1[X'qcD(5f@6H'Y3@q@$YEQ4)+@8'$lNcbTIZC1fh*G$C)"#jNm+hjq
+
+apf4L2R5pd$bJmL6p6Lqqp4F924H#ip*IclEmQ2@UCdI1e9@icYR9eqGYmk29XI!
+
+@Ke""FBmURFBmDB@p#!N`VTCNRhU&$EapA"DIENqPCC[Ap,9jYjk0jdV2T@HEfIS
+
+VqN'V*k0TFea#mX!NN!$-SG#4cDq0(Md1R)Q3!"N5%cU$M3Db#GD#lPj$H3rJ`Hq
+
+Klk'mUGmIJlm%0j)[*Il-+jQC8028GAN9G+QKY("QB#LL0h2N"*F'9,Tc1VNe69)
+
+QBqLfjHA,mbrq(N%GTPUZUcVLVX-i-X'8kLae20REM[G2V[IVrH'JTRAG`3e19Lq
+
+@E!APJ'*i(FrJfRPRDpp5Z2Ej58SSr88Gk,BR&*-J9'VQ46!S*1%3hT*P39D&-'Z
+
+J&a#AZ0`TIV9hJaRmT3%FBB@RAf*hNEUidH`kGIldLP$Sb6Lk(AP@rhf"-`HmhIM
+
+l[fYej&VNbG#9XC%LaT4p'h""GjYr9h@q$3IUNq2$l8P`33b&UI9m&d[14mb`R-X
+
+!b[P8qEZqETRKeTr!MHY+kI%k%VmPel-Rek2*M3Nc#'$Q@&@$2S9S$8JNCeYlFVf
+
+VAf)FkCRBAT`5kNf(lm0@CHh0@Kq([8l#Ci$,`-Jm1ZL[XF$5$)A`[jhh9!N6)d5
+
+kkfG[p9q@qhP$i*QK-d+!"*RjD(U628QHTHH[,j*G36FQm,TUG6`&i!8rpFA(iJd
+
+%b("aS*E9ZV6$9Q*@Z*1ATqETFDITGlN!BTfQ()Pfi@$"UhGlUkY6`5"e96*8QV+
+
+bVI+[r$dm8rVdf6jX25fRpRa+h@CAaFV5$,RbmUlUhC!!D,rl0SD$pGb&bJGhiZ`
+
+p#`pl5Ic[XBb22XC%[%NG'f+B'&jfVQcDep[SYDbcZaUcc$FQCd`crQGlddhpV@R
+
+(alkRY3`QjTmija1I"cklkN5-,!-`kS[3MINMmk2R`qY$q'CkJKJ#PHBJ")Zbklb
+
+$EqjGGqFNN!!J+`Q4qEF99LB'Sab#9pDNf$EC2!KpDIp6CpMJlRGUcpM&dYkdR`G
+
+0%1iV-X[il$QI#0p`aaK4"S'!0e%q4)JSa5ZfX*HR6aG(L8Z,5i[5iY@Ta1,5Vc"
+
+RXD9M,XTYak9V6[-6#FhJkP9peIE'4C%FQ#CTU%RAhR4[0[f2hG,2Lb,1I+k0TL5
+
+r`l5*$reKr0*r6$rG8!*X[di(q1$qVGc0e@h-m+rR5H862m)b&H"IHi3FHmREkqr
+
+4Ne*Q#A,[[3"Ab@aFbaalmp#T1a-(q@jRkZC8jIC62McllUpC6S8V$m-6NfKXZ@Q
+
+AffMN!%lEKI0rkpY@UDcFAPTp'ihYjqrh(Z345m3Q()99`CQN+1h$QF-"eM9Z#6*
+
+eFbaQk5Y)`QibbbAT016a*A&Z1,DiUar*1A+YY3+[Ymr-RcLliaV@D3$*Nr'aZ&Z
+
+5GpIQKj)i820'cXmJ+CjHMCj@-j&r9aPC'j9rFDD2A')m[l-36X#Tdqb`,1GFAa-
+
+D[Vc"ePler'L5iYMTBj!!(23fQ[(pG12VkRe,E4e8HK(f%IEalD2Bf0cK8+-lJ%p
+
+bRJNjFm&XA"a6r08jaGaI*mMVV'Zc0Aij%`mDdr"eAjXM5`ZAheV9YXkIR5+X(*N
+
+$cMpb0G49X*'MHB"%@2"YkR4CdQci*"lZ@X-SZFYc*h1chG$i0PfqklIGEH6ZCAl
+
+GVePY`C(+Ml@'T30e*C'P$fie+kld8Vi%lSAe((Sbk-'&m1KmEpqTSGCj0$l[@'S
+
+&eRTDl,lM,E`hD[NehT92pjZp[2rUGrb[2rlBqCp,q2k24QqG0p'mrA0rPQqN!6@
+
+hZ(-LbpEDA9Z9$1YV%*l0[XhU!'GKk0rpZrj&hbEZYD3DYIMb0Dq"KFbASc1CHqR
+
+&V4FVEDRC96(Je-aCRh0eH8IMcfp28kVfkP+9dMAdpbepZ6lG[5f0,8Hj"K[F$k6
+
+`T91erA+UbSje44p2ShNI@@feX9%UM6#lNlI"aY0[Sp5TdBjF`@`LlXp[mr,dJ)(
+
+04`j"S[)e2UkRfjh"RGEh[8dV'kMf'MAN5Uf1TE"a*P1jkZT@0H+&G8d)K@f-0@4
+
+)L5rNmE!hdbY3bVl@cTjP[(qfRBaDFclV+kmi2$[Fp8imT&I#2),NJ3*S`#6ZMpB
+
+aBrEe2H[+-UMU5%m*L+6fU#aE#RYmqfbp)0KbF&@(VMNl1YhlE$$QU&*#L5"cj2B
+
+)[-MF+0KkQ0UBdk[R9rHp6G@*$F#r(kC`SjaH(alBhqM2Jh4jR1FB"!)Nk0SDhXH
+
+eKd,[k9$jrE3pYNJ%K3%lDYfjT#d@8[MQmCK%!%m+-8kV08k[9l9'#)c&cY4hi9e
+
+Te,"bChc!hA1`DYp$1K!P$mLe`kdADpI8ep+(*K2YcLI-dZ0UZGUDZZ2Lq0Nh80Y
+
+Dp5DeM'%L3pJ9FEqrFlQ(R5DYUR`15)VYE5Y%LkZ0D"E)rUaqGBq*"Fe+d6#X'A$
+
+LSai8@$kG$e,5[NmU6qr*r"8q#6imRa`&FS#(+Y2hpAi1dL9d@Kj+G`91N!!'ZT8
+
+DmqcFmh#@,FNI"J)-1KlGPPfAK'qer,83+c,,c,,e#'"PhHCUjKXCFLK@Y*6#-H0
+
+8dC2M-"5!RfE6-eHCY!m%HU)HJPa1`V4f3-cI(qRbE('%Yl@T8e&,YXQS!6Y[QGY
+
+MGYcZfUpp$Y)DQ5!5efU5@e*+b-BDr!VU,S1DPdNXq&3d9[8fA,NjPhiHdm#dN!!
+
+iZbE[FHm2'TF2,Kpk(cVHV3jI(QEUCDUEkqHkimlh-26Kjh@CQ5BU9d38F!3VE#M
+
+Ye$KfX$jpK@e0fhr,2VII,kh0eU',2hej[lcIlrZ2d8I8lMp(FAQrf9+9`Y24Vc&
+
+jVb$h-RGa1VAeIJemlpqGS6[,`G!"(`!%VrN@H('6B8)lIPa[PELfk8V0NcTA5YX
+
+fik8M8ZF+iYjEGTCEcDIJeIeVccElm(8IdfAphBHTImUrj9h@Zki-!IcH46bIlC(
+
+TAqIX-rieEECrbXr89VSe+pDceAMh0VII$`2Lre()6pQKbl[c$BKrkARp@VSG6UT
+
+@(H8U9j&QD9E8FflVERM%DrT`rVKmiRZhPVH3!-eA(+mpa6h2Y0c2QE'RZrmC8fe
+
+TbXbeQ`m'6P`cp2c"45p9APIc8dSb*E'@q6RhQLIeR26+VH(R*)F-rQl1VJaph(h
+
+-IFT"qhK`)BB*mAMC2TNTNcFd"'!M0ac+lJT`IKVSNM9@h6Nc-'Y-rFPplMqEZTX
+
+2mV)FYDecKah`cFjkGQ8(fqZpPpUlbYS+B(jrV@#pep9,Mbb*h(Q9*TdAP$(C&Mh
+
+H9AEN%H4aE%*"$-ZkeeqjY`N%QE0eZ29SdiP525aXkAiGHIGNh1I0+(2f!ACNRl8
+
+R`j2ejAemMrlZrf9dk*U)Y4qrGQiIlpfIH9[ch'9fIR9h)Yr2@8,V$*TC%pTh[cj
+
+GL-#G14kB3$f)6iEKp@((NblIcVldEccpAjKbDRN["di[Tr1VC0,FBrcZKZ1"Z-(
+
+[GYml&kMhBrZ@02UKJ#aL@4)0Y0pePEVmUb-*qlcHZcE$0XVf(K62@fKG-X9JaSF
+
+rV2"a)NFBmRhZkU`qI$qYLXRH&9R#PdCR0KUfR,kNP(ZCM,j9C)6GD0bklQ8+ai'
+
+p1[baRlU3!,F9Cd"*%5*&UA@Se(EDLTfhEGKfhBGX2(2RGp`GTee6DE6D9+QefJ`
+
+r%YDPh'PiREdSpe(ZUQ[YX$93r*Rl$(fp+fr$T)NL#($KbC01Td5ZB84'CHQ2+`j
+
+866R54K'VSYGL'aPD-Nc,)IcXrqarm*&'C4eI3`X)FD'Lkq4'RfI'kMr@[`E2QXL
+
+f2#[R)hd)HB3QL8&apa[$e-P)#-!bpeSGp8U@Y,[LUCE9EldqYQ2lDf#"9T0j*p'
+
+pmc*pkqp,A4UI*`!MeX9(VUVKjd'ABUr`Qc+fYRGT2b+d*&Nb-lICd5V(cK2p@$+
+
+X4Ef6Sc*[akfhZZrmk4bpA-b1A,mb[V4q&MCfVj8D*$&KUfdc*-aRU0b4ij-c9#J
+
+f-ih&)P`5qS!YaDmj,DY1"hKEa`#3!(J+r6EjDmBiSEM4Dh8p`mdYBp#J"#VI'N4
+
+m#9dl2UChYplqdZ$H%cpl%MTb-,6FQiUDQee1je15!6R6ZGmMcrLA'eM+TZXK%[[
+
+BmE5am#ipk24)'RK@%DfbD(qNL*!!5pA-Zr1-B'Ce)@KEH-2f*2f*0aUV1G"[kfV
+
+F8rNr-hR`E(Eh&Dhfp[Yk(YIYJ'q(@[+HZcp[B`5"Ak196B66Yhp2%$1H%!bC6hf
+
+2krBI""bE'AEFC)9q*PGVUFLV+'(XMTG`YVITGrUCCdVcZVRB&6(RBZ$q25Hl8ph
+
+Km6Km5T6X5paakI9iYMaE(%H61Cj',bGAHd2)[$5hQ3Qd$$3KPb0*)XXc8HBa!@Y
+
+X2HJ$13Fdab@3!0TAHk1!RJ&%B"Lm#046q`Ih%IUCE5l2#2!el@AeIJ&DFi*B#8+
+
+J0FD*elN[GE$qQ!dlVFZJKErl)6dfG@`CfrR9-hKcZ(13!"1(1rETI$a,R`pT&J'
+
+P'pjpa9YIBAh$3%S9Y-jqeiZUXqQFC[M$cl-XZHIY[fb`VlFR*P8VA*YU8,,1mD*
+
+B9KqCG81PYk8HPCqh(B"V(%,2&M",PmDC[SDeTPG8)JBr8k6-CRTAqTN,Zh&J)"`
+
+1`kD!c-G83KBQ,TB6)JI#,bFRmXI3Tk&0!63bG#0S4J#DA3lh3a2bkAPG4%fQY-C
+
+(0VXh6dmN@8QlDmTQAHX[2@ci1$@eP8P*FE*#J5XUKUGC9kmSpfr5XPphqPUp6K"
+
+3*FA6eVBc,F,eYCSc5bE&pPR$[cjr2-9rej'8GZrNhB-&r99q&hQ5cGE+0TMC92l
+
+V@Q&8Z4kfNd@H6IXTH5ejpYcjqK)pH$+`YYIG'IR`H4Tm([r5ZrG[[acIac-rV-q
+
+mmLlXA#`@1XdCJ-T(1XHGab9-$lr)jQrc@he'X35&le`3mL(Q3N(aEVm2j!5CmMe
+
+CRTr*VB40cCSlV@c%2"@+XQE2(N"KYU"!CLZ6`0491@A4RHc8cp,l1UrYe9BZAG2
+
+GI"L@'PdSB#CY6!9hHIZp(*pN!hXj2pZlAr9dm2`3f$&))PG@`kH66Aja'4XXTkB
+
+'26i@IY-Z[MacPA19Q2(e4QTc)Q%rRXQbkCGG34CDdEimbiUf2'JpjRTUbeZZEG[
+
+Q,(1&1aF$3k#0qR#@HV")ClSlXPi(jcYYhJC11HlqIFCI(Mbm!6Tc&J%h&@H%)0p
+
+#MH(dEI!+3)4i,'#cr2*Z2KmciZqf'ph@*FG+I'f1*[2EYF5ea*@GDpT)LkZ*D9V
+
+Ia,,-fQCV+YjQAfCe&@bc1`c,qVIjPh$0VDL#$EC028G'GrEIHPI"3Y,@e@IUXmf
+
+aFqkcm6mHPV46bjLeFQQ3!"hLBSldph&pfRlP2h&r3#@l6VUc$2V3ki'*5ZU5N!#
+
+HUaY9aY5JNY(`'FZV-$2b-qacamrE%c&KRlI,[imK'IXD'MAFJkVKS@,"'0!694,
+
+1Yf&eLjZYm96r@lfa[#,cUUY!f,kf4kc[[XhlV(h8bZ,dYrP8XQTd[SH6`IE3%lM
+
+aHiUdIml4QeT+mRHM$[Ie6rFCXRqLhpDqpEACAa-VD9DicGT%bhUaq0KCqXm'EFh
+
+c*X[B9Emda,ZlQ8*'UAk@XTP6ciq!HT[QfCaS60DpE*!!d4'@Vq"+T@G2iIH,kQ'
+
+#d""IGF@H&"%)BD9I+c"JQGp@E-h`Fqpcp@,3aE%9rdX1"*pAGqV8pAHIdEcqIHI
+
+kj2qX2mpVr2FHMaqCUkd6*G9r-1*%U+r9R9e38[%1mJMb@-%@a`FMhP&VZlhi[Sj
+
+(,NmZ6bpejQbV@m%k$@9Jd8$1!i*2F'"-J*)X@C`"!jN"&Be5KQ5Y0mLT3p1mhFl
+
+GpCZpPcjflfIc0Pj%kGVq$mVNY3p[lVJp+RGEr%TDRLG+R1iRHdjh&kA#e+r@PG"
+
+Ur)NqIEmc5FZZYShK4mqIRaqGCqpBG#`Sk@I$F5id[`"KdDe`Xr@q[eRJr(JXK3i
+
+de-TQQSEqME`Fr)QC(pH(1iZM(0GC!5acS28,V[*K+(C4lif6RbI"YEQhQTSQrUp
+
+rQN'1lRLMeG&kkV8Cq&$X'3'pA)2`TLq4LqING(XLMhB`D@**qe)jRaZ6mQKZXUh
+
+M6m5IR'VeP,ml@TMl,9dA3pYD[a)R@9[LjTUkC[bkYhKc1&2clmdY*(!-*,2U'fX
+
+jCdUe16*j%RN5H6*j-QY)$"$D[)NqK8rPNqK*3%m3SYeFMqHlmLZmQZV9d%H%Vf$
+
+QXLaYIPFIi,AjpVZTA2f1pSkA5EBdb5VfH"&@CmSQB8jRGAeC2(cfXpkljGj$1dZ
+
+YX0Y%VK2bhVV[0q*Qd-h[KafqQRc*MB22[['VVL*T83#EmUmre[Mh3S%*mfp'JER
+
+6ZIG9X2N3B88GM$ZQ+bEk!E&!)(UbcA-dDi9!J0F*DNpc[MHBRhI3[V'CJ!'Lc-(
+
+9p$YB*&'%j0*8EYl()hh(pIH-j0,MfVL0I4YG'kdj0)N#NHm,8r*H@dHN2Vj8#Mp
+
+#(l[)cX-bV$Kb+I8rcMSMdcC8rp3qSD6h[cq9DD@*M46SdMlRAjq`m(B42MG2*JZ
+
+ZE'T@Hhll-Z[%MA0Q0)%9dYfT)T*3cGCQXLZjTI)idc4PP0Z)CHbmI,3[ZA-UcaL
+
+G5qE#Vd19+eK4e8qqVGRiXIr#cU`EHKd9)pM5m%JPf8fb2`YEjY`)Nf'EmQYYmD2
+
+Sar@X["kPP"`Z$)FQC$h&r@`2VB1KZp$Fk'jd#p2ZVAY)BTKp2"!FTAeVE3Rk(Iq
+
+EZVbehm1GIrCddA54BrV@fj264YA9j9GH@9'dh)ZkUNjlM3qR+V6paZIBKcE5kZm
+
+5jl6#LaBDqIAm"6-AZ1'q`rGA&NHY#%J`TQY[HXUQb8%LrDCib6fAIZ("8L,i#aF
+
+SqG-VZDU"5q%1jbZiUpaPG`D`CQ63I$pkABlh4Zmb9$3jaqCJ#92r8DbM@%D[-2[
+
+mp[k8Um[,ajjUE+9I5[e5ZAD[KJ*0MZXbIiNV4KSbY'I[Yk9L9GZ5k1&K(BT`Nj!
+
+!A(6VcUq106FkUR1i1*[Sp'19UjG'dLL8J`!J#pfGA!QE'CZAcQfN6*HID&4bb$3
+
+DbY0ScTR8G120l$4Rp1rcEbm[CXLAY2!ZmlCDq[VDIk2(r4HGeHIpj[PAhklZkZr
+
+dhFhBd9,pZB$[-kZqq,I9U(PhhPheDqeChUGlI(I*1arNI*`mkaMamQb(reUF,3d
+
+3c88YZ&TG[+cjZ9Ul!Yr)N@iUIUNkb6Q`ri&IqV*jB,+eY-[mhZmh9eDl+,ebiNJ
+
+JU!JKSfY@hjGV0f9E'Q+(32S-SZ24h&Ab+lci2cerTDV5Ul4C'ZhdEIacd8`KQMC
+
+ISVXf4pI[p4H9CXcV$ff,GXr@MEEeYilp'PGB'PKYT&RdiHC,C4,E#8KM34*GaGK
+
+3,60XIm-GKB,9Ld9ZA'GS&JXHFISVR`k%VfUR1YHGDqeID&pS@h2dT2rQmr9rDfZ
+
+P'S#Cl6kXNRrKaIhLEl5!92ajp2L3!(iB18G5N@ZUd2#dPYCCNEhV$q2j%6!1MbC
+
+'SC,!09Pa(C[SQLM#HIP2+NdTNl(ZYA'M4XDfPf)EbMTaJ"4V,M4Y2#Vi%,SidpA
+
+HI'e4a3A0V@hREC0jJ,A9f-01fUfr1q%0rDfVKFjCRCS0kU9m%RH90j*jprmrCl[
+
+CD'mhQkiqkr0+hCSClNXkc)X`Xkc+HMLa1+UdUI60V1lD#D9RBP5VHAejIAPp32a
+
+aH6U#"RhlkG8`,bCARrF69%VLD[Qer'dUD`e9RSefCACL!PGjpGiJrHJfZM8Ml[F
+
+l[q2*&f0h1bEhGLl!fP-eA,a[H1$LCK6jKQUfQ8%Xj-%(8FR5%($Zf4B%S!ih"b"
+
+X,4Z-c[dh&jj#NL3a)DqiV$C"*8JjQNm"EANI2Mjk!NI2XI9V[ikq'2Cc&Am)ZN2
+
+LBr2NrDPDbhqY*mUrmNLrH4*mJ@JrQY0UZ69q6[1&UXE8mCUd6*1a5I``Z!H+DFl
+
++""$Yi8c#AAS6)8@$9RmbA$3cKXm#Zm+$fB1Q,hIlk@K2dZ(K,3(Tq*6jq4pVLkc
+
+&qYLq9N+H9j!!4iXhp[qEX0VAXP[-9qjXLVIjGr6hRRfh1(a9%h)2UDQ*,De")fR
+
+erLB0pVIMI0kVjr`rjrfTjkBcpP6fAAkENPa"C$U%!kmAcC'69FXG5dHUhY@a'-B
+
+mbcplUIP)NULehI)[,'mdCe'HFK*'Vr*GjPjTCd@H$#A")m!JPNZ[*dBIhJqHIDk
+
+0YRcp%jJIcA(4f8Fr[dZfN3`QQ0-PdFRIERmT*,Tf[#Ki&Va,E[CrqNMDKKCFGE5
+
+%bI4RJJKpL6l-VeEE2KpU(r56kFMN(%fVbV2Q(PlZ3P!q[jV,c3X0bS04!*YE00@
+
+$K&Mj@UpDGMiNq0aV$cl#fdYR&ME@*8UF#'P0T91,ZqjhIFJ%iZlTEZPZq"$8p$#
+
+i-(*Fb*L*IACPadj2laVT&'1[pU06+YKUMB@&0i'bUep26k2dZ"I9TX@mUhQh[+F
+
+hJ61GIadeA&PkUCMF!D$ckQ0$-`1GXjZaUE[1h9-rAdb'MTq3!*5@frFKRAHZ[r"
+
+h2KKkYbE0N`8VjaqBE1eMA-bJ9aKq$HMr1p,ml0S9LZa1RI5R8rNIKkk*)0%@iVi
+
+EU6EB0M$@PbTRMB21Tqe[HG(kHUpQmqTeSijDB0[d,,NE6NkbXblSc'AG'BblSKe
+
+%Kh-SeZSX1QVj#`pjS'Dp$,PFLGLR%h69XQGm1Vm2qVV+fc[)Ek2h@Ti45Vm(Da)
+
+X&Kd)XZ`k#r,IaZVYXI"r*EBra[1MidF(b[cPf[L3!+CNdiH[RR),JkRGp,Fq,ZI
+
+&Kk818AHpM"K%dd1"[0G8m(Gq'B*@jb3i&VaY9cZ2PkZcL4M3R[EB)"-Tcq[h2*)
+
+!ZT!!GH,#p)!Aa+bR#UJ9Lk'L!C-L48B@iUNKeYe(-9J*I0-CR!X2C+qK@"`[RhQ
+
+'IiIp@2Bf%%Bb&T,,$!&U0X6"S*'Y$dAN,IYU`b-ql[Ce,!TBhU,5RHCT!lhZ'CP
+
+$#52(TBeAqH55+kM*%p`!6CE,Mhfmr9F%LYBY$lT%G9)M&r,*REmlMBqGGj8B0!j
+
+9A29'4BXCXbddM-kPiB)9!+3r)N`EZ,ZkZl1!6G`lZCfp([1CY2691XG34#dUBMX
+
+q1GAiYSR68RNbSNU[&@+XA`0,92GA2[IapIkpPP@YDIPER%AkV&i1*$q'6%&`+Xl
+
+$*&YE"j)Z3hkjUc[Yc[lllqlj14Kcm,`V[Tl,89pA6dq26[0%Bii8cr1lmbmSAZU
+
+E'VPi9l`#k0TheE("",i8bM3dDG(Yq"C9G94[+1e-EabCAShqC+Z09TBBZbUlU1C
+
+6('ZqGV#b-ei!N4DQCUTml!lfG5[VUqM6@ieNZCAFLT9X*&Y2lRQ@A[DUik[5d0'
+
+EYjZh`-#mcjZh[2CA!-XHKr0I$a06rV1a1pdqZpq[pk2Ke-QG6e&1aaDRV`j8fYZ
+
+mVj'*mqRmM!l@IX!i&T%-(8[RBDqfMB"[fQ@mr%!5+TU%@0TPPFI-X5j@LT4HMA(
+
+rj+0TIedBeM)LcdjUbMl$$TCPK[Ac6`U9YABb-qfh2`kZ&q5AQAHAI(KR(LGP@f@
+
+if@i[0aHEMiC(YPqY-pQ(S@RTf0E*b4CCqq`19,j%c#Ki&T1dPeMjF1@F-fj'[*G
+
+VaVERAqATl-UP5pADhKIPfQ9BYck0&!3U9Q#VTe%,L'J4P3m54J@2'bI@NrIAbE$
+
+-YL`Scm66$TbBYp$TMS-UfG8CCFB`DS"3bG2GG9UG2GA@h94%Ia!%M83#'Fm#+'Z
+
+)jD%9KTE295TfblhiIb)RJ3'JK&2ZcAKf,&,[C8cLA@"Yq0MK3*YlN9D-b*0XbII
+
+,#J,0J6dVAc6SSMAINhh5-1I%QplHh6CYESJfrQBpDPR8XkP9af!E[FkRi[FDADa
+
+CB8!('9Gq633kbVc%[+8iJ'cp5`J%@($ZmQKdEbR3aEcek!N#CP6F5K6*LXrAF6Y
+
+2`iE28&&ZL0,FjfD21!ba`q6NVSLcUHG`U['cZ%J8G&@2R&3[+hqUi%9ZA6*mRV$
+
+$T[UZZ,&1cUbI@-Z[+ef9eaBT6GH6M'P*j1,XZ*TUF8(a$E-db&MHQ&D468Dbk'A
+
+Gk1XbkQAZY'6kTL+jXRb*ARfrZAi[",Mb%j!!HCKD%[aCYlHi*6,QEBSfcjNbpZk
+
+Tq+fB*I'X1,lqVF[p@U5DR`L8lJ5i6-*ieV[Y9@[-Vk'YC%86k2'YH%*JbV5`"q0
+
+J(6XF-3"S5VMBem!rS8!B,$K33H"3cP'5eH93bVZ0-bUQGUeRKU0*P@CcbiI!b6l
+
+qB[lh&VF+0aU[#M&`A%Tm[(jrGIhErrkheAJBpG"V[6`DN`N!d+8bP-!*I8XI*Pm
+
+!0j44`(B%(8IafRJ(e+chjFC1CK&kMjI`rcDMjH4fh`Zfq&fdhpl!qAZIaEbYmV2
+
+dqA)jdLC)pH[MD[Dd+fVfZ`hH`hH`hGVHkcV5ThTRZ+A2Mbb,p1cpRk,0QVeJ$9V
+
+ba[ZR1jpmHA(bIF2l#h",$A5BX19ECai5EH6BRm3N6,PDe'SqA3r0Hr,q*fhCpYN
+
+GYDr[DrjH&q,MeSZIe@A$cTNcMH[V)ccC)2VdZ!06[5FCAH*Cp1ZrM+*IefE)M`3
+
+,6[fMQ+cFG1Zm5KdlM2D)05-IIZDRA'd9BHp&PXhA"F'idC&Lr#3CAd2&krb,,cl
+
+ISG9K'El$Bk@C&Hc`0f8UpjQe$8YYkXUE8Q6EZ#JDaG'jp1mp+91dmlUTe3qDCAH
+
+h(SfYk0"6*dYIBK6ISB&T8SQPaSpAeHbUr'q0XI+q0r4XI+q,f1lZi*&"HkQYKbE
+
+M,kc,[,Dkreff'qkT0$`,[+&r[#SCNE@e2EJMd-`rPAUI$MA'A1c2N6-2QB4LNid
+
+cIIE`+d'GTIBarB2#lf-Rf*rXB%rGm6GpI)j,0@NbDl5YeQE3UQCA9[VfGbm(SA[
+
+'PqcAI81JHAKRQ)9c4PV)!)bk2i@2`YYRLi4!1Jjd(1b2YBZRiRlA&r46p5RpE&P
+
+F5ii[pf2Adkq$e+r`DiFJNe`lLmfSHC8VcEIcEHYIqEhrQQ4EjXQmf0pU,Q,"Cee
+
+N##lmhG!'ARJ`$)#APU##$II*VAqCmAc[Mh@"@q6Qr&cIM80RQr*kAaI5q,Qr(RG
+
+M3qDBaGM[V1YC3GR@f(Ql-)pC"*0K@aI0aEc5AQQ15K,J62!+A"4!QCppSh[0[Mm
+
+EAfM1cpGSQpCcQh)%ImN22ehTC*Jl`eEVRC21M93&FqA@`Z4YDZ6'TEHP2i)`Y`5
+
+aEZUZpcGd!EH"cZlm1ZLfKKRRZK2bG-PIR%JCXUV8cISjZV"!FP8c*N8qR6Qdll&
+
+k92T8p'RqX38&JLAFAM'I64N6,D4(kH&0PhehdVhT4G'2q[X-frmfr[*YhHmD4,2
+
+e9'YY[(Rl66DZYGjYjQRh)c33'l@BZ2p&T&,`XX)R`9iA8CG$R@([@AmGPbp*iJb
+
+"Pk[`H[j0G!AENp8i"-aAI3%eZAUI6e2qNlVHpdQZdDrT[p%%[,Ar-Vc%,Mh39YR
+
+QUjAjG"!"TQG-cTIfF++Ue0KiAArrlZI(qMrTaI5i2e1jqYqljI&VF(kRFFVZ198
+
+VB9IBlD26MRTc)Sl+V2SlNZZ'FTR11qcl%Uie&QHBqqKU6FlHH6+YT8q95NFVU13
+
+qPJ1@,R&LhQl+YJFlYqGZqGZA#!3mq6idQcddD[PZ2rU0I4'pPJKQC+320p)hdZT
+
+KB,F-YYDeYZid%-YjSjF2a)p521fqE8k@,jf,ji"2-UHD*qr!-BHC8jHdm3[`#$P
+
+3QhGE9LZ5biDM1ZijdPPeaB[)a1GV`X%UYVqGfJX"EFl!jf[jfh-RrB"B1TM,KT6
+
+-'dVI%cHX'!0)EK[bfGC5iEE5,Fb02#FK([9hfqZZ1Xa2Mp(UI9dfIhPCG@9lRpC
+
+l29q%V(D-eV$CT[+4(FTAZ62R6)epdQ4i"h#P,L&J3b*d1)GZ%BA4D"SaNe)i$&8
+
+#kmX0'0$C50*biHK)k&hbpCEEFVeX%$K"!JcmiCiaqDBY(5lkb0*ZC4h,*l"RMX5
+
+-a*P@(+M5lJVYl!mbY85!SqEmM0`DZc0JrEjZhcEDVBaB-(9p1BX+$M@26ar[bCY
+
+UIEXIiFl9Cf"kNckPI',D),eB`PZm6G)JDTbhHFL!,M**Y%feVANkkRBmlAcV@G+
+
+)SRIiN[1V[)L@1&BhHLfF9M[hBPiel,qL3),Q,D%9,iIUeqTkh@AQdeRqXE1dZGT
+
+HCUI9RCrlQGp$m29mPRP3hBAIZa+jkN)Vc[`8PLUrN@Mjr%Nrm#@F+(1b19DeCm'
+
+ceHcr4[2Mlcp1kq2*r6*q2*i0VFQBHHY3Tj0ZqQc$qMR@&&[UXXljZYMlH[EP!S#
+
+E3**h&e[qPKrGIA3&[bErl9jlGh'`ID[2EQCfcUhJc`+@5p,)$`(i*Jj$`phbH$q
+
+THiapfHK'jaGkCfXjS(NlJSalDCBGVqU$`,M1NQpHJ)@ZXV6q(UiZ&c+23l[-ZY,
+
+eA`4F2[[ERHaIH`J*1cZXpEKH"VUeI92Fq4+kDb2[P2)h63-B,M)AM6J@r+`DZaJ
+
+h@VhAk($H-1"TVNI385PPRk6+a2J2B2@DIp&K`qUr6Tq(HITqM`pp`GEkF[#NFda
+
+[X[53!1eZEXI4@JqL(8KVQph'S`DkYed6)82`l!qjUph1lUl0+qmiZrUEcKql[kr
+
+If'qL0`[S[-Vq3[eU@c(K08SBEJR2b15fSPHeFQ,1Uh4RSl-,TEF+G6ZXl$)N%"Z
+
+`[@SYRdEld1XqkJ4eRS$8Q!03,rSMTB!a@U,45G6h96T!'M-q514)jKa3eSHCZqC
+
+Zr6hGEGaYh'hGe[HPhNE#B)+r4UG#ZFHr#Y(J-9QbYr1iYAJR5AK4bpJj&S*JidD
+
+AVE2hReDS-!1fMh)-l3[!UYM6acY4P9Pl-5XUhEU9a55"8M4VV%R8X([G6G4Y,TG
+
+6UCdkPh[Yh@*'MDV94ilM!$5*+fBj"E0H)De2L0l)5[r1EqAmQE*r,*qC*h%RjmR
+
+fG92a[mYGLa2`eeHmaJ1VIVSKdX%G3!"rp(R3qG3kGrjfkmbi8Mcm!Y&jNVPbC%%
+
+AU$lcXe3hQU@Y8fQXNFad0A%Zkc0h8kK@F"ZrPGN!D9Df&l%["i!bS"`UHGLmVL'
+
+e,Lk[&r6Lr(aIdj(arSITVYCAF'*F`5j('Ki!qjj@mQlZIZmIGjfmVph@lI1lc1`
+
+Xk!V!DH#9D5Udh3eTarh(`60$UcN,YG#er0DqrFFk9$)N9h-X-D9qEZqTZ-mhDeZ
+
+hlH9EDEeB[!e1iRDI[[IeR[@-Z%U!DHTV-VDIbbCqUQAR,fNbK2[1&H(@63kr@FQ
+
+aYHcP$PAT'2hQI1jbG0'GjpIGIANrhb[ZAQXNE5Zj$DlbX"2c&N9#('XC&T(XXb2
+
+pXQ"5j1C3rCK4V2hS),2hRZ8X3`10EF#2LBA+eFfCM6DFA1XUrXDdm`hL3&9NC5Z
+
+rU-EH[,[Kb,9YllSc0H8*E'C,YZ0e*9NMmSJHBdkRJChlGIDeV9a`#4P+i!M60Ip
+
+Z'YTXkTl%Vf,9Pa%F5jP3BhiG2%Lm$*bBqImA6DDX`29EDM$rI+f82Y5X#(Gphq#
+
+j,4Q6&MeDHhTlF!Q[UDpN2LCTHVlhEiQ*TI"kL**fYa@eP,FF5fi'RlLP3Z1RDc*
+
+A'Nh0a@N4UlTC*m8kc@DHmPIIP91YiqX[,ci,bmX2Sp9aqbiqaqrXI[R*AHDLj@f
+
+Y[ihArV-8`Sm+mHC`SlH[TaYp(U6-'!flMF)X&C`H5JiqqMNY@MJb$*G''cpR-`C
+
+FSmYPjM9FL0aM'C1$aE'l'&@)a,rr6aBhD4pIE6+GYCfGY'C0pSf[0P9C8H9SS#@
+
+[#NmD6d53!$lri[jm,#NB-RT`rFKk@6l%1j4flHY2hf08aXikc-ZrPDDjXEf1BdS
+
+bc@Kj0l@fqGJeBqqd[q14r4Jm+25MppBqRK,Hca1$lD[1DP9PGr1THa`XRM6U-DT
+
+9SaAZ+I$U!hXGZ!r*bj@h&NEJDc+rXfk[1N5QIE[G58@FfGQh[NhHGHC1"U9ApLh
+
+Z*9el0L(AmRY+dI1YUZ"[YIrMfIp'P#J6qqNHRFa02@P3b[QGE8ee+qbIMdZUbC8
+
+2lAcjZ61jmlaqXf29b,($MNLflkHYqVfYBjU2chPpMk1Vmq[rFMp,[r0ZZm1'Dae
+
+HM-AeY%kUYMYRVrj+hAYV1G!VeelUqf1eNe,Mfj9,6d[Nm6XZ!P)T&5AJh&Dei$e
+
+$Pj`VVJlEmmAEDRQMi(UM2pkFIlCUhPYAX24l+pLhGM3QICMmc8rjcU8lVDA9+-l
+
+",ki*!FS(8m,4id(#18bRcUI1aqGh2f1iqa[lLRCSm#jp%"&EA[3B`(4@F39'CkH
+
+YVGVPC%DeM6-6(T5lU#0TBf0'PN(dc"E@0+SFq08MF+TrhMF28m5irce14UIpX(j
+
+eppc9eX,*fZUbG&YGE*Qm'YDc0c-lIKERKER2lI1lr+lL[L4*(*YL(lJUPA9bFlF
+
+M1H5bPlDjeYPAqPdd@[kGad$%l5hJ8L%X!eh)I,Pq,'$!GCQhRNd#6[HHMeRLklh
+
+P(c83qaM`Bd%ba84RkI*M#CKUeJ'M*ka-`-+a+jrV3p'(GhpECj@cbYjPEbV$cfA
+
+A2M0TFbfDR1(52*IbH,dUG,LqfeF#Rl(#kA'iQ%HFPP&UHM(-352%XUP6Pfdc"QB
+
+1Yf&cfI@lHY(lXqc#MmM2+MlFL[@+J2T,%I68#cYUlQKk9j11RQGKHG8kIF&dXA5
+
+KG-3i1T[GCbpT,M3@F&Y&Z"4h@aZYM9q9A4S*eGR@FE!'[6&dMiIJC0@RRdcV4lQ
+
+*hGEZFTBAb``1jcD2#SrKhm5)V%KF0@-0$4SI2MF*j8ihd1qQ&6CNECeGQL6)-q(
+
+QbIXb[EYiVpACNPbGm6,lA4fHA*dCX6VcABX0aapa`Dd5#T&e'6fd&5$YSRE9ZfQ
+
+GY-lDChfYfPc8khD9URGl@"V9U!LEJT'6Y'jNImJG&RP1CDNLbZkRT40CVZYeAe[
+
+K5URfYAe9$`EcUU#rU@RSDA@4@Bkdf'K$G3iPalFcfGSH%EXGa60X)Q,8HC4jR#j
+
+[&DFK!4!6fH&kY&#J*XQLE[lh@HP3qpqlplphlh@IHk`!QcrSkc,,B*Fj`SrAc+q
+
+E'Qar5KpUL8A)[3d[j$%@clcm1&b3!2P5Z2caU)XE4XYp8qrUTfURE1ff'CLq4Yr
+
+[4q[XAJJCfRdGA0SII&6VBr-eY3f&hem(*#h-iKU-EDH"T2#Nq4IjQRib5%,ID@'
+
+`Pa+pQQY4&A+lkpadl'BL%"R'`,`dNEEK)2mfP!dR!UCXLGX,fTj%H'Trceq,(r$
+
+C9kBR,CKc45+($0&C-0J%`*&Lfp@S+md(JFIKA'MJ8GI4fl%K@GBAG2!(VJQM2VP
+
+hkrUpcPE4DI4EE50V+hC,QqCNqkGQAP@pjUVQrUpriTiaP$UI6drJf@PUHK$-R6F
+
+6dU(5MA9$bIh-13&mG9dKKR8k&3S"EIHqP+YCAb0AR(ekf#lRerRaVLITB*'emE*
+
+VEAQE[e6Qbc`#9N"SFr8CGePkb2YDec)`I'1+lQ6[9`5Y8Y0C`%CFl,q6(`kcZKS
+
+(Jhea`GCa1hlb'K-e@)D-bqc"6103#CcpP@dh2VkZ6cj99-%5HLHEqMeNI6eUkV$
+
+cYj9qIcX%$5$f$ck&ACq"[+Zm'*JXQMDCFA$ZZ*1Ti2#eA'e)HD,-[+5hZ#lS0i*
+
+2jh(8&lUb@CIk1SfRAeVV3[[cG@)F[1&h["k[1E'eE,X[-ZqpQ`rRX[2Nh'rbUlS
+
+@1&BFbZI*S$30D-SA2EMV9PMK&+dQAKr,[Udl3q(qD0S@*VNAR#qM5TIkGAYB,'K
+
+SkH(5FZ04VqCUU(FICHT+0AE4Z$-BkkV8bmA4aF[(qAm1YUG$HrQh'KmVIEfYqe`
+
+Z1%!XGUp%&2jI&VF63i[jZ*S8`eADm+[T4J3(jfQAIR5DZRQG5'SBIj+ID0[BYDJ
+
+Vi,SPS[1[+23UaE#0E4XDcj[HaE#VAk-LA$-P6*8cGhZ29aKcGA`eXF`@ZQDbCFc
+
+H[V@M5*D1p#`FHYZp#9qDed,EII$VDlKI%TEAr5,Y995Bk1H5qeFG!%jardp9aSV
+
+193r@f6J&$leVIlqU[Em*4M'a%GMka,SN[VD(k*RjEh3RD%j!4J'Z[V@9I*j8chF
+
+,DbiPT@YXU2a-,!PmDCkejpq,Hf9AE6*j`F6"4#4-fX16+fYVqe@1Xcr,GP*,HHi
+
+aH$fG4l-llfXq*YGUhefP3APMV0(VBYH(3Lq&UHEUD8lXZpkP4qC'G*TNj2r'6@@
+
+Xa*F[j099aXk@VVE`)FU5VbVq+rr0Xr`8+fmj1lV+,kC'$D'hJ4jPdG@erphV23[
+
+ZMeQI3dHVe$IM4BpPQA@N'9eTAFkhq,pVmfmr!DM!3$Gjfl"eU-kGRA9ADq!Ckc2
+
+F6*!!#@[-YZCEFbIc-EQBh-h2T`qR2U5-%q[a9LRaM8ik@,prLAP1j0S)D#qJRRd
+
+5`V5jNLEEeSr'`ZR,k9hpqEH4EQbVGKP'SYPAG@lLI$Cp0V3'U!%e9(98GR4f$Me
+
+iS0d,(90%&3NDb+1!"bTd)p'cSi0((F%"b(kbqrh`0CqlmIk(Pj(PpCjI@0!hh,[
+
+e0P[qmll@h-b#fLGb2i1&UH+BMA&k5!RFq,h"b+!%qcY)X&aefMNi4I96kHQb+aa
+
+j4XFe"bYr4aqCf(T3ICNA)M,bSI+b3#ApE!mV"mVGq9ZI+h)$SI+NpeDI0&i2'&'
+
+198T3lqfj1"`0MNl(SEUph1#b(SHDd'&KqQFc(-aHKLm$LC01M6Sdpp6UBp(J1IT
+
+Da-2XkN+ej"V)1Y-33KS-5-[UBJZ`5-*BQPYc0ld-MJGrNlYNcffUDQMG8GG4fS3
+
+#$#PqR--95dk'Ni'4NfV""$8K%&6`q4lU5fI'fGNiS@Ekea@YrVAri1rm[[r,hAi
+
+*2PhrJfN3[YZE3Uf--EM9h-Xm$M@G$hkmGS-Ia,6Dc(BF(FHher0P)VQUVmH[k&a
+
+"[iPI%VUd!@T##PGEI8'J+-%Dbakem-)BqXc5MT+%k!YbB@LVT&9NFm!*6Kr$+#J
+
+,rlI4TI*dDqMCp1[SPNMParCZ2f8[caqG+pDAi%(0`kZ4PiYELqGLk"P3FM&Uj!"
+
+-Adm@TN8ZabBZe,aD("KMkU1)[2E1TC8URYP62*!!#9eJCLfPJ+LBiG[0YE8LlML
+
+bUU!PUAPZRMDbVeXD4,2l*-`*XqKNMeVCJUf@9ZXVG1ASGT&@`YE6Bp$#1m5C-Qc
+
+1SQXB!-K3F#UfQ9Am+[ak(*Vk&6mPGjm([@GlaY8rG(Dae8I(MmbS1[T(Ti&EAjp
+
+62MjpPRi1IMjq[ciqAT,(5-1P8#AAI*fG2XkY#RC9V+P3rFb1&X1"THqkQjEFcd+
+
+XH,CDUTS`mc8HRX+b)*3#")J"pT!!YbL$T)-05U2Q2'Z+dV$PI)[*pjmrAI8fX4X
+
+0kT5e&6YX5T@lDPfe6YUA"TE6HrY`E6ZURcYTra&S1&$5Y5e*$4YZ"XkZaSl'mh-
+
+lFi"kICNQ`N-fGP%%VQ3e&#HFP11FqdME3dl@PFF#(*Np$Gm#T5T8k@"5RP1R[mR
+
+mIAH$%Vdi!A(dfT3L61YQA2Q6UelRDh1dKVZBe8I"H"UmZdblLYCCHddG@H$9jPp
+
+4PfGEXZ&XUHbiPji&jADHVBb,BCJZmViNAY)-HU[VI*qc418V9INb22ZrY4)c2@E
+
+,KTj*,QRa0Q8`b2pPEUUh-UN6+l`U'M(CE,1iA+!PTp9f0*Ba,+`SC@RMfX06c0A
+
+ep$l0j$3QhRAd)eP(UCJrNjNZpY+YYPakH&ZpC@Zba4e'9C98q!RcEbY-#34H4Nm
+
+f2R4mrEml(r2`ke(mR!r)FMRUaa5+2l&rrT)j-I2e22I1[*9a1BlFr,DfPrahhkV
+
+rlpTQehRGIjmkCJe06jeKq[5'UjGqEhIQr3rpDbM)N!#NX"AV8E)-L[!c-$FlZCZ
+
+bde#ck@HlKdMQ51CBmc5FMU&[cFJTb6jPaKD@4b"k"q(Gjf6Rl[hYhkHmVE[mQlr
+
+*fjE@%*lr'6qL4kHej'6kHer$mc1)Lc`3E[e5F"R6[mGCqMDqR&ND89V%F@T'5KN
+
+``jKHYmCHM5+"+LA2)`I6RIKRCdl2`IHRHQ5i[bB2j*a[D!5raq6qM$p1$daRB`Z
+
+peQBhkU&DeLE+Yaih(Ulb0+Ub+1ZVB9($[DP@RPdkG2Gm1YhC"UE3'b+[#QlqXIJ
+
+ZBb4"1KRC0)V'q(F4ED*IeZrbZrBlL1*E+JLGG@b4E@R52Hc`m@,a$Z'#!&b-bj!
+
+!-T,`3R+YNLm&V`,DPE8jq"M6b@4hm2ilr`G0AXNJ8Sp,#T5mkCiI@'#5rAN%@*'
+
+X)dDKj-DkMDQTpH0(e0M3mLGUCfZ`GVH3!#`fB)Pc@S6K52LB1(1VAaqYX%rA%[$
+
+e(K6UAdEbjZ6#4,*K0Lp1#Y)2YNR@b!MYk"&`SfqMF'k"a1TkRM4Z&TH"1T8Z#4A
+
+"`UA3`Y9CEkK8#!I0QH&V,lHqqhhqA[iI"M,0N!!Xdq2APND0(MciG43UlF`h0*C
+
+QQ(,&ipPKkHPAeUqPak8V*PBGV"Dq9Drifrr(83DbXGTqUKae*9'hI6,0ZHI01IM
+
+Cq0RlR2-a52TV'(9@ZLJj#8XmB#PhBXhAfiSdFcENeV6Kk1$6a[R`rmE[d`1$'ja
+
+5qV"9Z-[54BFq9dFMkNRE6Hl[rdE[ip$i*A$PHh3i((pZ9`lAKfhrBCprPZ1PACC
+
+Y`rR$%QD"E"$@kYpRdl'3!%$Fc%-'Y-RA-qT@h1qKVC!!bDQBk@G203ph#CAM[0N
+
+$[HUAfX0jdjN(a*hb0$Erh`F`RSh*bRap*PPM,FXAcciI$Yidk+U(1XMAPYXTR`r
+
+HkfC[jZrSAR5eQECcVJp[EbG[jhIA9cK`5i['b@F+-R`4RfB4fFZ''ehf2i-c5`6
+
+klQ&$RbC2Le2DNq,FC8RbEMl)$2`pCUZXTAq8CH@G,M+KcT2#IGNG!309-M@dFq$
+
+eK-kDCmcPe2eI-p(jKd)lEdBmkbR8-d!hSi2HBfVJPa*P31%AKj!!pkNc[4rf-Uj
+
+emCFdfV"R4CZ50Jc-R@c1[VB2#e'FDpI[B!r0YFE(rAGrILA,XJA@&5'lK[-aKhS
+
+EU4'j%HM)e9'1S,-JbDTNc@QBSU0kM!MbJ4`8HCC)j)Zm-blm`pVr*FNCjXQp$N"
+
+dY0%@B4*hdUY8)AX*2E`H0XFCH'Zj@AYFDE5Rj[,ZH(#h23a[bAqADhf"[Vra0c2
+
+h23Y)XM95mEVH3Ia(M($IaT'IT2"b,@eF4"$[Y9i1"TCNq[(mUPXpcQr1pZhml9K
+
+K*NLqkFa6'mbGd2Ni'(CfLMFmL6i"i5mL9bEHYErplrp2Im6HF#9a,A[GMqM8E@3
+
+46j0A"i&fC1p64h49MU-`&C9Dfp@rbY0&`jCq,GpLeUH&`ZKa[1lQV6jDr(05Y`K
+
+lUR[,Ud&aSaBF(I4rBKpA6jqVm(#kQidG0YYP`GrG&*9R-INDBPRdP,GRdXDPhp8
+
+AUShr3N$a[$jZ69aF[LkE&UiifrLeN!!BbCGpMdH`k"rM5Tc*Ub#@[YTPPHbI4Nm
+
+ZrjHkjFRPbHA*m`hGB)[-a1EVeHYkEB9Hd'iEHYJ8YI5l-fQ0I4YqKBm`mMj&J9#
+
+i5SrY-ZZ-E8C-@"ZFkpKb+jZkJbqYf-cCB1k#11%H#3$TBkEDReGK3SIbl#R3`09
+
+$Xr1f("fr*S9B29Mk-IQ4aYeN$NbCXQ34brf@f6EG1Iq['cHr[0h0KidqjdpC2HA
+
+HlqaD0ZBJ)dI(ME,VTP6PalNipDFI2q6RkrqIB6pIiRbCieGRD[`69bB`jZjQ6jK
+
+Glq5[T(HCZpcGim@J#,'+,(JfjNqfa,$YTQc`FAPl$Pf3!'#Y2-eeE@4,bTUCajN
+
+cSpl(mqTqZ20MhQP[*@b0SEp8[PP(JN@TL+aQBpl*`A$G!%PFZhmcC"`(ZhNfN!"
+
+P-LI!8KG+D4Yp@dp91S&,&(5aJTi'AJjHlh1jaJ+EP&Je*Fm[1HAa&QFRSUcd62`
+
+a2ASHAc)b`,3-jd3%C92%TdmIAm#'#R"q'[L514DIBY+h`[(b0jZ0$jZKmli-I3q
+
+9SDM3e1KNeVcqUZRa*"`T"5TZeS90I5fp*Y&I5dT3i4GqhUm2#JZCP!XENI%H#-"
+
+'9JiNkQIcBXCr)r$ed5$NA2V82CRG#GkH$@RC-k)CI)ep1UTk*mLVKj6+,)KK8@C
+
+XhV$+EMLj8mHHI6j285*CSFFb!aH!SN`[+1BD"4h-DU$k*&f-,JlMl)6#6f-ShN9
+
+Fr4FIa*IUa-qb*$QXVcXYJUFPVH,5Ei2J6YY1i&p5bFkkp50bZS4rf(pDrMIVq@1
+
+4CLdB2ABD03H#hqAXcGPhQAZQCLLb32KQRC&9ZT4q%-IhfAm6,rGdIfmZbB),[,e
+
+HAepBSX+q-C%MYDG[6YqL4AHMZG'6pk6CE'ce&KBXdJ)D0T`$$-bddqi4a`N&LcM
+
+4'L-lGH$$ll26bp+[MIM+D&!C2CX+PV*qdjNSjPaQC'CGq0B,[Vm!qbA1YIce#0j
+
+Dj0XF$Nr111aQ-U422!2LerkkkFGHE@48*QP)!Q6ie,md*!@lF!Qk!0MFkMckp%L
+
+EREp6FG14)*BFXNpfdc5i8A#XD12[rHbBP%K[$#Mpc'`$@-@b1BUlc2LCRDq0N9T
+
+1CGKG0@0F@Im(Irek`mK@9,b!Sfd,FG1ZJe"P(NahpUPTcp8Hml*f`HMMBqjrrph
+
+m26qr3k$"3a8f`JYHiPEf6imVi+RMbI'PH4Eq0FI"Iq2hrMprpVHEZ9ME('e(bN9
+
+)f%@IF1idG)[k'mfDf%%PM@NbeZEZT8k1`fjI9pA3mq2)Mcl1RMXDfGR(eh)U9Rq
+
+4hNRGPL(Gje3!QlUJ%JhHflIr-bdFk(P5Dr6*lYHPKfCZb,PZl(Ga`$4phPp[6lb
+
+RK4i-##'kL6Z93p5kdq*[+R`4T9e[+(`-cXIbc[8[[8Z[U4SNL#lfP#YVprfHrUI
+
+SMlq98eITVrfZhDmL'`K`Gc(jae'CP5'fYG9@SCQ`KeplYlf2G4qYMmV59eKYX'R
+
+(k-Iqfbp+TRfqIULFeX-rB9YZUYriipDaj%&MDD0`-G[1I"c#*QrNZr)ePRYiN9R
+
+94+KkcPlIQ@%&[Br3mLbmqhk(9B5PV@*,@FIl5p[Hl1U2(TYa@`)r&VE#2(0Y14J
+
+5iGC6[+BqHTpE6i&GaDf"[rMF$UUZR!TH8pr6lc'Pi5D@A%,Y-VA9ZXLGA!X0rjD
+
+T&UNR9Y)Vc([YT(8Mrk3iU-Y59US$-'pccEFjRY@PCQUa3&j1UU,20@iUb26!JB5
+
+Eh&[HM`('@KTT)YYRDrr6(kfRe2bG'`kE,KDCJcEZYm8ij9[LNS$c(XcCK4(K!V[
+
+`+lNG4'dZAEF,!QEI9@GR$'0!rJ3eCQAm6FpT-abi3kc`IT6CF-54(`XDHZSL*,X
+
+jQ"-XM(PUCYPQh'EFCZcUl#pfkGIV%(1JZj-QQGpJJ(1DjC!!([X%$3[*2N3iFL#
+
+BedCD#9RIDNh8hPViR,"#)3`#,ibFN``$AV*RhmKN-+C(-`lJA,[D(Ccl,SbD8cm
+
+1d(qqRCL$fUfKr'*%b`%cTXN3b)CI'`TE23J3j+k684@ZT&KTdUGHG+EG5p9K4E'
+
+),NEq2[qdqMX12XrGfIZl$KS(4pr$[iHYQ9q&%2+M@5Vc6hRCARbI`AeEj2IG9hd
+
+UmqLFaNfmRDbpVqV*#bd,b`c(kQdb+d0I$AJ%V@YIE9mq[Y+d%65FR)qe*mQhp[H
+
+HaarXmAhqic1(ie6mdVbEI0Yr*hALN!"C,a830-U'LRDCYrQl!SmE#VCLT@`%A@9
+
+A54B,'jMd#5RI9X'1IQ222ah6REHF"+GVf)J-af#1AFKIKbaF,Z-VHYhdFZ6k&TQ
+
+9d'VfY#XQSKU6*ZF1+@d6U")j,ZSkU'aNpJDP[$ZZ(f(G82pDqTAlq[qM3iGIh9I
+
+Keq*8rILIe4"J#dj0#YaSfVLJ+BU-e8K!D33,@f!435A-KRfG#VZ@9N@9Nb"TBkX
+
+EBhrFrTlRZZjrclRk96p-IjFI!X[r@2SDrb,,k8r3Y,5#',cXRR$B@C*KbE8R4EQ
+
+(4KjpVSC(MhFU**)DXZ(P`qp*miB@QE'EXkf$aYhMER4Kmk6QbVbeQkJlDT!![Ab
+
+VZal"Zc'6hHjb@%!Z2(lq9FK!)#'*$kS9)b$CC$-LG#`r*'j`mqpDCq(#p1$N4CH
+
+*-ekedCf[RpUFQGY@fHGmM1fp8b`ml!Uf2J3,5RQ`eT%kaRLX"Il56d%2pPR6mk4
+
+9JbS)CI1Q"3*'CT)FGm-"Eq1ImC&!LkbU9&ZEDHhe2lQ2dj2Rf[lN2kj1EDhPYqU
+
+G,9rYBblEM%-3a&GIRpQB4FLH9UP1UQ5T[lGE)c@rYQ69YjZT[EUGVD(@rleh*,d
+
+M5d1MAc%mDXkZ"(l8`[Kq0&dff+mGpFh**RR`kD5Tp6'L,E4Rc$L$CqVCmdjjDlV
+
+Ue6P'3[iH,k'4kZ,k1,j@4k1,r`!Kf'4qef2lCqSh`3BV"!!6rKN9Z$f&Iqe%"!l
+
+E&Z2K2%XqQmI)$a+!S&'cUD&0Rd6%-m`,0i9KSkU(Jp-e@)E$TaC%MQ'%0VC09&J
+
+RMel"dGfjb%UK")+96EF`YVjf#C*I8B-iMidVl1)ZIN4,'#M)BCrGQ#+XlVGk,68
+
+h%cMR+%ESNXS8cm2kTjrFVYSRcB2Q`)#I0+S1`VA8'(![X&D9LY69PRJ0ZI9K+YF
+
+REfY1(AfXI!1q)abiEMdVfRLC8%%6Ed-PIImfG-FMjrMQH$A4,(Q4q0(#rb'A$SA
+
+R4GE[DAqAc*!!`cq%B40l-kZCBJJq8U!Uj44qL5%Y4RC)Y!-EHR1i9#RZkHj1'#(
+
+mF2m%QcYBd@MNciqQl0Y+J`a-3dkBdc961pQA4ZFp9@N45RpldRqHTjmRcjAR@rR
+
+@rRArR*-`q@[0LR5@2Ap1hm56iNR`T2K-D)@lf!5dj9TbYAbYTA)Y-QE*Ue"CD9Q
+
+fp@hmkI0aVl'e@jR`rlE)fS92-E"JEQ)aL2&&+1XBU'3G!pS*Q5YL-G,DbY3Spl4
+
+RE88SM6X6"emkB9FT$(b4T#K+,RB9YI4bGVVkfPa-H,Vp[(RalDaXC2a6$Sqp*pf
+
+Tpk6j&VrTEI[@fHG-*Q)&I,e64"L9dI$jp5YehQI1VGYQS#I1UpYjhEF[jhRkI0q
+
+2prBHCedZa*[eak-URIG,%1I&8G8@56mqPjmRmPekqNbKcRaLETc-NeGCqIJCq#H
+
+B1jCR#3jFQ2TL3P,,ekCb*R-QF`!R0[UVJ+jNXDLl@Y&PcTQU++1PQDQplfVVHBD
+
+"q('iPR2P@fri0KbBN!!VPEEmcAQC0ECpPPf@AE`krR#P@-F(q9C@(8a"$e@(`SI
+
+Q#bTKC$P9@rcHrUprQlN2XQINH$ELV@!F-[bDbMM@`$+FcAc)jqQE'!%&lYbmj`*
+
+QcV!8Q4q-5,Z&62`rC0*!YB(Sf[pY6dT1IXFr!VB$2@80"RL`9D4b*'fYPSLIfhI
+
+TI%cmR2h0D%!`G$2YFqfr(2"!Rb8NZaDl,dQAND)Q6NXi`bmckaQH4(Q92-Md+'*
+
+(mQTj%QI3rQeQ*Z)M2-22dl2l$Fb+%qG-R6-$K6Z&1jZ"PAGK1LDYfjf'J,(9fpD
+
+(IhI$q*`qdcXI`*2G6Ec(eIF9UrIfA$1k2m&ID389UN56BRdKY,bBSk'MTebbCKl
+
+d&'ZNE3TME,6DHS0A3p9Np9$[)Ec*[)GP$+YG2@L3!$[RQXVk9eGY-Ylfrp([qAh
+
+r,hP'9-f0aU0+aL$cC2QRJrjSS"H)M(([12HEbmPAQbVDHZ94!fb@46(EQL6Q2+N
+
+M!mr!icqJfI-+p(NAIe0T'JLG4@b9`mGaDrFUDD(BbFH9id2pPUBH&h*LFD!9HMP
+
+FL2-XLZ3lEj9h)Ef`e+Y'*%Pe10U0pfe5TLGYPGY'lE%1-1G`EVD4UNB!PXHB#hJ
+
+B4C,Z+Ih-A68pMLir&mE&rXarJffKA1%JM&D0)`6Z"1hVD(L[+QK#q`SHK$kGYk@
+
+pMC%Ek8EFj4IDplEA@T0h$@aX)YdQiP&P0fPE9jYjQpCQp35k1`Qcld99SAIqpTb
+
+E&5RYU'#$55*G,Ei1M'fmH'aKdelGBQ69ZF1l0#5dUp4(kRmQjk&hjkTM4id,crD
+
+b)CKRMI#bp*eHlidcRAHAXE2j2[f80PQ@@CCFiYb-'I(I`J'UZE10TJPdqfk&Ic0
+
+,M609UimM2Kr[Z+hB'([0r[[UXA1Mq"f&MXC'aqVIIQQrPNFQAp@dqq4NYEf2#eH
+
+E-d,ck[89V,0l$0-2A0Zmdi)H6")VTp6Pemf03X62QXX65rGam$!K([P12L6c[KM
+
+8Bh![[FRBdlIAhjmQTGqM'KZ1KAHVT6"1MrNKpE9q$&JdX8lS5j9h*3$DiUmFKk%
+
+M#N3Eb,[+ZaMi%*RP5b+!6&P%(C&#"",`V3'8VVGV[TChbhZA&qCCeM*),'MIN!"
+
+J&-RFN9hlkZiRbj399bdlNjC[iGD"RHQ%rS)p+YVhX+UC)k`A1XXS1!A(eh6QIKd
+
+lRL$aSd[8@(6B5CcP2G*"FD@((e8%V93k05#eXk'5Vd$VBe$4X[il,-Y-[@@)E6c
+
+'G`F@'aRiq""Ja0j@hARlVcT-iQEIRN(e&NqC`Dh"bZ$&bE'PM``EZ*[@#$Hc[TA
+
+R!r2"K2EM+AVE2hM5i&jJMRL5I)Y2$ed@),Jf`5"R@$BiqM$"HJJlMcklcV-)"V3
+
+J"kGc00`(T`*&L9p29RF#GZ1pCAbN5*-0S04I&c1cc1rc,6-eHChrXkcpb`rFYEV
+
+[D@Ykfaj*Ud9,M0[*ee1l#pUHIAhYI0SAPIH9qbVje5EAc$9'@!NmEZ,p$a,,Tk6
+
+N@r)PFLljNZYKB+D#I'B*FH4+dCRVlhhklq1[YSpR)21&Rp"QC,1e1fi9YcEr*qP
+
+HBmhG9SDFmkJE#$"j-HXU!&61YUZ$R8-lB&"$EJ3MjeR@()'BH6I$)GiH*&jNCQA
+
+TDmb6c*L+"!LJ,kPKq9UI)edIiRK1DLcQ$P-Pfdbahe5SFGA,Z0EUFQGcVke*!80
+
+eHr)TBIUGE%+5I*e&C5i&,L`$3[-HjQC8A`bQ2N`+HAbNM1XFim3@"K##ecX!SUD
+
+HYed@SEXf,PiZAh1MhHAh+"@MLjH3!!+lM,i0DLY+NJKACS4pUSB!qJb-[9k0H4L
+
+Zr(H9K@Fi5*XbK,*Rfjmb%+BL5((49+@RJ5CYak9jYpl9PCF24Z0(8PjTCIAPI"G
+
+rLlA4MFkapDdm#$EGGYmLTLlI&phLj924Tmmq+mdq*Fhk&@ZcDl"LDf*4UAZSUpY
+
+6U8qfhIEIJlEk[E3pYDm'YY$kN3%fTiSZ[c))+PD8[llPh'fPEQ9bkQ[eRAa16K#
+
+Ue)jp+P@-GJSdG4`8"YpNe!$B8HH[0Zkhe#Y1TB'#FI99!5"ML8DC&k'VmDqVE(R
+
+N3MRp9TFRhcjhU`fY`Cr%21`1AH(5)IHESC2Tdkf,d-8)p6Sdk02I8kQ24i9%GP8
+
+B-*ZP9A$U!id))d@`&DV%e@CP'A4`M+ULdG,[V*QT6ZD+i8L,BbS)fJrTbD`R(V@
+
+Y8k%RJE(*`#c4ZppZkJ,&V1dC'&D(a[*c,6a,kYUr&Zr*rGm@qr`-(6eChXhhq&l
+
+Qc0r,j*Mi8BjUM@R3[`J$"a[JqlT!+0G"DH&Iq4GTQ$kq`mRVrZGGkEQ@Bl8HjMH
+
+3!'YH%XU#erlf[`@hH3d4e%M"ElYDd(dq6b!#DYHV"4c%@2Vk"VBK[`-D@MB54mJ
+
+)k#&hbc+1&4Ir""[SqqKhmbTKB,G2Ddm56dcNbj0a@Q4S)d#!ND$%@MXTdM-U*LR
+
+$J-F"&RldHBRSMQc-C'MZcJ`r@CUi4b0cL-$DIaer[2Q$JM"+$SK!1(1[$(RG0BS
+
+,!J4[b"jAFb*kH$rMBD0Idaj)6iQ%%,@Y$4HE15MD@,&e+A&k6*8hKl5+MI9r)X&
+
+,dc,[l2lFHe`D(JEq21V@dI94lbIYC#%&Gb0Rk(a2jILIbl2d'Y32d(2'X(S+I!B
+
+LH2Z14m[pjC(@rT8Th&kA!q4K'RXrUQeF(-&m$lj`Md)jl,'2E4lBMVFD2d,,N@8
+
+'P!e(L4iNH[XkeK9J`E$hU$jJU1JUZj0GbM!KUPj*d,Km$eIK%TaQf*!!fdM5biX
+
+%@CUV2!VqKAiqPZ-#0YSBXq0-9NbZk&KM4lJKY3hHM3j%`j5Vfa[Y&QKGQ%P+BF5
+
+d6A9ZY12c@933+SX4IRDN&l[YP[Zlqrh(Sl5fL3@%'["p-M&GA[5`plGhRAG+mlf
+
+GG6ajG,LkZ40c,lRAQC1h0jdlhFhh6)%R1!*cjh2RD(a2cB@PNBN1[1ZbC8rc2k0
+
+6PBk!J"-Q9f1RVpC@fP@2,YT&a$-VGaVD&+mp2C9VljY6jZbqEIGY3lE@GYeAcSh
+
+*%%*YKQY&"kT+3&P+qB!JZlNLk*KbZ*CmDmTh3lFeq$8m52$3bB)D&69h9#fe(hk
+
+QeBYj"&&%,$N9l'8Ui#HPH,E3HRFrQSHT1r[RHY1cm(fVRr'$mm(-U9VMhSfqX+d
+
+I8he@0HklhTelIG+G1[ZPXZ*e4$1@eJ+V*8D,(`E,SfCLC"*G[(`)pUkUXV)GV40
+
+djaUlGdDP'P4T8D@qTEl*S8Y9!,,120ArALYGb,)kVGRk!"[1FHT[aHZ$Q)i+cCD
+
+0eV[eMqeG3V&[BVKSe)jSD)mhc,)b9fk(FVSL"qLT90cFhM0+[MdVbVHE@mS9-lX
+
+Y6f9lf@If9YajhCDb*YCDi[ADflL8jR3ZqKHFZqKepRmU-i)1Jh"6ZqCHF+q6jFK
+
+&XJZi5%&h,ZqAGmZqd3$HBIkHa[0&Ik1mKeR6fYL`J(j*RUJHk&jJAX)ZccQ*lkG
+
+lkX[QBA)3J[GY0mDK@ZlRV2QGCZHXh2@EQqjh@EQle&jGAA@lENX)""0m-@lr*0q
+
+cHIAQrA3%SIVRIA[Ih1VqEKDeq%J`Ef1&Bp-kjrBRCXlf,V0kqUIS[K6UY$R(@QJ
+
+*cTeDpm#qUQ%9dHXrAV09Kam)NXYL$0!ci$"6,#-GT#$J51$dk8bP-3%3%i2[F#3
+
+qL$I51,rK[X(k'Si[eqie&6r$Z2KGaVZifY%MdZ#$Q!qjh"kG(QFA4S`)'8ZGh(3
+
+T('5d3F$QF(4T'HA5Lm'V`IQm(4qKmhZIQph(D5$Dc+Pl`+Y+pT9H,0lQYh-6ZDh
+
+&bU@E5cH"Qe+H&q%c1"BUbSe1J43H03i482T81$(h`&1K8&S)-*fXcUa-K'Zc+(1
+
+88HKQ+0e3kFYVV"3SD8&*!4J'a'"5k1mQ2"%VUrDFV@IFePjTVc8RRf[2r9D`H)m
+
+VDDH#cJM5)K[0mUKqMihQpMj[8qEDqEDqEUI0RIF[H9VH9VrVI(qTf%DZL819Aem
+
+E6fFU6ip(3SH2(11k2TipICFV*dmX)!Q4kR+MkI95Vb9Up$Yr(JP92(Y01KTTp2C
+
+fFD0Ba1cVmAPB[h-8`qpcjXQmSHE[l`hrDr5emI6cl2#IJJ`[0++[Qepj3ePhAhR
+
++`G2M@Fb0'L4UqTqLkrDS1INQKSDlH@HRZ191p5krhl6YBVp+"ip63V[(q*ip$kh
+
+a19Xq9m6keKp5[B5#Kb[NDH2+"&irB5SrMiZK3dq[#JA'R[$%jLK),RVDRqp(3QH
+
+2$[,c3q4[-6HAhl@UjA8pET[VD`,"D4*2+UISNr@Y0jEr"m,HI#hP[S!'rDYr8q&
+
+e[`[f[LGVYFk!2"e0If2l96i1kd1kd+QKKEbiP3DHTkQTVrKr@`IAfmDAA82r(a2
+
+Ld2rGcf(a[qAa[q5!Rb3#A1VZIPkhl(BI$JL5SNf[UHT1dp$ajdT!5KS5pjVIp`k
+
+&jf&j"mQ#0+L928P9pYTj`KK`4H1#le2NmUaqYB@Frfi3S&hbYRpDqmHlmHJ(!i!
+
+86JIPUHT"Ae2bbV1mZP)&IbBJk#,UMUX+1K"`,UP5hf*8UpaPFAT8Se+0`IET2"!
+
+@lT%K*'iQh6PZkVH&S'D"M#CL&Zfcjb0kRFQl,)Lq&TG'1IF'B@MealS#)#5I'2#
+
+mbcBZ&T9!!hej@h,I-"!6fiFk6P5YIUVE8@,Q(D1EENQl'b8cjPB"M3p*T%[5mB)
+
+!FFHkj%,FbZH3!([Q'GUCfmLV&ND8a@c@0SlR$KpD6j%Q'eQ,fQKfX2jT2qmMNZ&
+
+d)l@j1!H(T%HTT4-k6iXR5kD+#$dijFUc26h2k)IBKpNd4IBKr4$kCFcP#@4c1SN
+
+@HCCH0*%CEVi!bRN")QcUHR+c*0a)dS3#V(0VfBDX*IUfd1"$MQNrRbFZ9(K`*%-
+
+@*CeV+#6b,[`MiXc*21,I(cf%!rXPD%Vl9Sdm"NihI,CArIFDYRlrLmJ,"q'(1#3
+
+Hp$kB([b3!2j)6AC,a(r'6qL4kBH!e)BFDCRlV+NepV9!eRKK[9F-"NP-mS#bD`L
+
+$`!rb$b!Le+rabIUDD-`J%q(kTeImU6%I8I"MPaI43d!$K8#L[%F+%'FNqHFLI1P
+
+DA84@%![B6J0h,5q6`i@#)Q[A$!50,E,0*Q80h5P8T@G+emV!P3fU%e+(Va5#ATH
+
+A(jCJ(m[H6,9Q'Z`JQ1"lm-RPDD)kN!!ZkfmM5G5ACVHf2T5Bd1TKdXL,&jQPjXH
+
+V$PhHh0lqB)kr$*Z3!"%-2)2c(Jb)iL#ACAFUYH9qkfV%XF3)jaSIcbIcfZr,!'"
+
+e#8J0IflbYe9&N[ij2Q59QZjXRcT-qelZ4UZT(4NUdPEfqq$CEcHEb9[*5!J",AH
+
+@ZpYrlp3Fhk4"+V"`&[U`53r$["M*24p*!C5jd@E81La(RVbM#h9F#4BXm2d3#MZ
+
+I6NeV9c%,D"SI@NH!L3$U!d5pePbE#epq'!`-5r92XD1LMUqj1P-DX6"REP$6f)I
+
+Q`r03%KlD(rM*X"!%bc*P`L!cS@,2B`F$4Kk3!'Q1Rm8JpA5qcCH(*X*[*0bPqNq
+
+cT2KMU$RDAR4qI$SARYET2'2DNk%V3YHH!VR`mq6pV6D8,!EfX1@0!FD(fC2Jf[l
+
+cUd3QD2TND#e(B'fQF$FqY$p56f0VZA&BUB5!r&S)2kV+Y*mflQMS$[)Ip*25PBi
+
+Y4`")(I3rSNE8%(#MjmRdE[r-A!1dH69(N!!kQKUd#*!!3c+ZjQ!@SKH-S8#a,@P
+
+$G-6!P!1IDrQ[2ChA1-5IN!"IhS#)#3@X'S)fZPAT$"0qCXUfmh%VF5Ya+pU9l6!
+
+3!31"Vp,HY9Jh8f6qb(d',Z-l[BCX2'N5f,!#F,ZUhVRNc3V$,,lF5piT"9h+EqG
+
+,j`RT`,-pfh#!98qdCh4j4deDmZbl',9dXD2YiCphTYd#CK)QJC!!'m-@JI6`-Vf
+
+Z24-BIR)N$9)$pfEQL%kp@6pf9I0+3K0)Q"!'##lUTi!i[p93%!)2i1S,#pR@9L8
+
+*"[Q)LGAS%c$`$a"-(1PHdf%"+pTVReaqCN)6-ddK&!Mi-PI,lT'21H[TK8!b,b#
+
+"RAIb0h#008TAeL4lDfSUN!$d6I`P-aL)+YhQMZ!3i$SIA&jfQ!1m#!@*%!12'CM
+
+ERpFRlpV0K`PRbL(-q('NqlTidAMDAmpP@P'if%!BIS)"cT0U#4E4X289`5$P5IV
+
+"B2V5IV"[Z9*r"*mZ6jB"[MfTdQaCGP0XkdU[Zq5Ic9V`*N"T`i(J#i(M#S(PhI%
+
+)3(JbSM)NMcY1Y+cal"9hAeacCBeI2!0lFNIR@Z6TX1,4Mm#cU`dE[hpk"b9SbYZ
+
+Vp8bQ48#9i1TLG4&XkYPb*2SAImZkp#6r,*p!l&rVL"2jb)4j*rXi1Sc,2al+V*m
+
+Dlr"Z[c5Y,#GcEkm'NFPK!#c6GjC%!i82r@6@PDbe[*2dC@pPI[bIFN4@#$lS)2Z
+
+JJkN5&b!NhLKCJN%Vm0Tb5""kBJ$F6HPZFQ(0KrSNiBL,[*2(Nm19p#eb*%mB![,
+
+,0KmiK3G-3m@qeV45J%24(9A%Y2"kM@kA0X[qNP33(BIfM$rJ+KI56d$6k@,4F4"
+
+DlRhT2J0j@C2m!3,-NX1"&,4XHG$hNcdYldVA0YI5P*85YDplE,&dS$!(JDAfV,j
+
+PVqjGjQkMfYKE$q"M2RS$Z+q(U%Z+@-4U"-30M!D-1f$L1-8@Q9&Lk6Y*A4Y1eQD
+
+E[,R6rpp4mD9j@QmV6H6TrZb2M@Raj(qmMjI8HlCGMCGM+pfCi'kl1eljiimQ#N3
+
+#*&fdISkA1KqeGjqlr-%H3%ciI5)i(iT2p-Rbl5ZkL4CH0CH2FHr-KhPDec#9TE5
+
+G4*q[+qEErZ5IK5Vi)"-XkXFlE4F"%FDmD!)cZ&Q#`"E2@Ac45#,[+cRljd436dj
+
+2X@[4Kr0)bS[0dSV"+VAIRET,-FJ%5!JlNNLd%1e-T[Q')&2KZ*FE#PfI[2c-(,Z
+
+Jr0lSLMhIJpGi9aPf(L@A3Nm[9jR8H(Aq"A32SJ[2p$m1','EqImDk6GCiGG&I4"
+
+-q(f[[`500$e8bbjGKr(e''BRaQ8fc&e-$1i1GYDXM1YKGLHEbZZcYVRE3reD(eK
+
+2YV2M4PYAfrXr#qEEqc,-YQmT'#G5Pk@)81+jT)0+rk@"k)*19eRmAAmZZp8qqr-
+
+kKRj[eCm@4-+`EQVk@CBGIqSSM5+rTYQ`ed-([35m((ZF2"ajH&UpUC8-%EJA'LY
+
+@HSYSHIEDUC(Y)GJBe9+PmRTaZ"8CfVYd0EMTR#c$)MiPV6YC%150iEAre8qp5rT
+
+TIdj2p&,Sj-0,r@PpM*ef(kG,NkqY!I0ZlUj2*hI41(2SQehlF2kiIpC2!PGp)Z6
+
+bY-N,6qeTYh[HhqCcYhZ[SqYC5*@IFkiplH4THC!!cia-!YSUei48"lVb[+fM`3B
+
+QVZYldUkkXrEXU5!L!Mk),[+q6dX+0BHh!!5ae0RdSmkck9LK!0!3a[Kqh-MDc1f
+
+Z*Ajb$PPQS#!Jq4"&Vq3%#kGY$EjQ[mq2TV1Y%ePIqL[hpI`krJL00p)`@BkQh[Z
+
+LH%r4[0IHkqmThI4QCi$V+jXTCIUB1$1)&&pdP`#kh$HlC*YPlq'K,`6-[M#S5A1
+
+@bZADi$L[38H1C(Sp62dhLG4d,1M&JX1C'jZP+9%[(VZ4FD0KldDCBHpVEPCP@&q
+
+j"d,!c(U([QUkDVB#UYIK@&'bRkIYih#X2H&FZ4'mr5mE8p$ACPKCaBb%%!k+L&l
+
+9!ICZ`bl,-PIahhNGT2e2'X2)LfDdJirURDEcVMRkri,IlA9DAU)ZPpE9I2R61[m
+
+L`dX5+Xl504#)8beY[ZSSk[NQBYPARYcXflcVcLA9k[i6AmLcLi'6-Mi12-1jI9@
+
+0aE6[HZU1*Q@D+!%d@Ge+epVpfeTh'MTik0e'pk2l-2VDcQM+!5#'#iB*&RVI&XG
+
+PfRbIIf2GI'pDrrHq,q,GpfrSJk[`YPlRa[+f2PI(pcBq9mAhpjD2k)2MGAIiRar
+
+qmrplirZ6rh[NqrZIi6Gj*ZeRb0+9N!"F4iYm*NCYIJ5&,BR@NfkI0N9$*HpZacl
+
+(2Nk-c-id-qC-Q5*YI@JZH[rhZq9IepTqeAr"%hR9Ebbd*2Mc0$ZrSl,VCYI)X$+
+
+%jHdjGhjer9dmb*-M6HUV@,-&lMFkIcTRM@Pa%dXE@iNkGhe$p'TlLcqAFCPejqP
+
+jHTScZ"hZFCjAU$Q!8,55h-3NhL$A9B$VVYIeUcYAq$'cl2RI$pkkk(9HpBHcBq[
+
+Tr6VZ3K"`J30r$9RlfNN'U@DRF3kqSBC$ASI)0K3r1eadhMlha+lS9h-Vc991p(4
+
+Q+BE-XCZ3!2Prqck3!$Y``RSJQBljJ1VN@RP[(K5jBGY#$UVbSIq3!-TjJ'Z&rlU
+
+q)3!jC["3mdkX2mFRf#R'S8I2YIplEdjr-N9N9E9a,XJpfR)dR*b(D[Y@6i&[b,r
+
+NfPB,"-D5$6AI99RK)0j+rZZ,2C9qRXiND"T3!T5,"*+%,5#@q9IN@%Ja`5c!rKM
+
+kEAp9Se'5h9XBfZh2[lVj"rN#[*JhBq6Y-c5H-&!EL2NJHhqpIrefRl+kjJLDZY-
+
+)pmLPBjf6iFQ+X&Y`N!"P@P@ZbS*%[aTQK$S50#aVBrM%rRaS3(@ZKED%r3$3(`J
+
+If@C$`*'GT+f6b5"djEIfa#9Q9B-kZ#30rbQNc-M-$G-j&T0CiF"R`+BKX0MNii#
+
+$*qd4!'KEq2IbY0*'$NF!ZXdU"afUJ18`F"LN$"!8-`3AZ3B%GZr6!4B-+@EFS)1
+
+Ce2j+RM&l$Nf[clDI$eGY6RjeTi-BB4eB`M*'%HTQC+ZHh-Z1fjdpM#-%I9i0hl`
+
+U"bG*@b13!-Mpqh*pZ95Z+@abC&+$$JRbkFc%Kj@Rj0M&aeHIKB&F5T2eS4J`S(!
+
+Q%PR6fZNVBmi*"1#r',q#$Pb1-HZ%6@9VcVEAIDHVBp$)jFQpP19*A9i"@#dZkd0
+
+j)[,(m'6haIEhJ"+dRm&YH6lb4qb#jJPkZE-qr$9Y,h59DRJ[CRV$JH(Aa336(63
+
+Bk0!jL#ZRJLmQjVAK@0dqAe@INCFRl-V,PCGZN`CHbrJY+JB#C,i8`[!l6r1aSij
+
+H"bR,YffaTrV@RJa"d$V1KGr,Nlfdd0*[-MH5G#6[*1mNm56cEMY0M[*(baX0,3&
+
+B+4h&Mpc)dd1aNimVaT2pN!$m&YSAmR6"`)-(9qma8$'XG()qrDQ1qXS@(2YXqIM
+
+"`2@JSbrHZcrT@QET$dQ$2-bH`S'jRjpTB"3*JV"`SHEDC@Ndq6*%q@--XdAIbh(
+
+Tl(QkBk#JJ'qQIQNaY0Bp6[URVbSdU-!6fT8DiME+0TkSfP4PhYh9KfdLRBml*cC
+
+1Q&cf9KA9!+ipYV`[Sl64dM2kJChGD8H,eaa0Pi'RVUmKfbjS)*Sa"Qj$EGrpb(T
+
+bI3Z*famf4hLq$af!BIZRrUdQE8UPd(pNY`r4NmZhVAmc6B)5#,UchZNk0TPk64b
+
+(P319p'ihZbrIdrZ3!%@ZXGAlYhm@6lXL#aamGCZkd`6#&YX5I'NB%@%-"4QFD(2
+
+Y-VUIJai,A@5[d5Z(+r6+iGaqRCF26F',kE'J2c`rINIiG9@ae6p"iAi2hEH(CB!
+
+)15Q3!#mU`q&)cl(FN!$EGd"p%8!cj'M"i3),d%'hY1k'i0BaX"QE,EjYrk0THKJ
+
+2%PmkCk81bdfJ2)21Nh82@V9lH,34S+1V-&q6P#N&A)m#6p-0!X!'YEqAIqADIde
+
+d5$2Pjiq!cj'IT)M(m$-)H'CF9Tp13F+pGVCHEGPh(Tkr59FGmZilEk8rRfRfUr5
+
+Mf!`IbRDN`I0-UAhEAk4P2KS0MJ-)"BbmqCZC9@4q5ac-M,P@%-4B`mVFA'if@id
+
+qiX+`lJq9Gpj+r"m2qR5IM""S`p-qGRd309Jbj(q6)-&BJ[FH9f8VXVMMl,XY1P`
+
+0YV+dcN`rUNH,Bp,(m@(p82e64pL#N!"0)m[%Jm#Zph9pMGPh()m$5GRN[Ph'iH!
+
+)",k-`Zil62kRm`D"jGafhiVrqQdmZZVS0'AYjR9Mq$k0MrIMq**Z`J(PbI`bI`#
+
+!2`@K5$Jm#Ai&jrq`rr%M`!X(!YGE+rcYI*PHjDrdkVbpMrmkEqU#dJjXX@JP9V6
+
+cY*ca%$bl$&`+@QbB0U*JrihIpFQRTYZ*JrPPHK$rbPIp)IjTASfhhCrh[Kr""D4
+
+E'`dBdH0(3%B"Y['`)d,Yc-3re9cKJrdbHM&pkbciI"ehkX)Q2QA$'0)-Vrf-K51
+
+'I$NZ2K!%3+jCr'*DQ*f-''5B+I1TmkRcZ%5aq%`&8qGMmlZI'lMaYrFF$5iFA(e
+
+92'TqpLc1&0qM@i8bR-TJ%ajR#AdQGI@(i@2Rdmr&UdmrKCr'!*aDe-#'1!VZ-[Z
+
+)qqX3J(fDI[8qC6p2K9Z0RF,1Tqh6k02fFM-lRd1iiQqkqMbF1AMc+FfR3TK%Z-!
+
+6&QiYE&bXM+lPI&K`NiH&MqR6V8qCLp$ZH"hQ6`U01M6he1TMdH&4+,Q&KVl)H-#
+
+$3iA2#r9DD*!!G,(pRKCRFB2FDlIEA$Lj&@QYm,!iA"ihTm1+&SG,p0hpDM"KdFH
+
+D&bSdr9lRb1lmrKHp6i&2eXAb-QC`XDMkhFH$[SM#[AZ,k1,bqjm`0pje1V6rCLj
+
+Z6Vq&$4Spab0p"KmR(V"0!R(#UKRL)@#kUiGi*&K`91KLr,aGlLk(FlcZpjh1KLl
+
+c&hQ,a-MQm2Y+1mSr,Si@((ad9+liYEZEhZmhZDf,QiZELhT1bB3$Z+Z(-ak01YL
+
+k!D#YaY$KD!DUC6TiqAh0BiZ$VUki0"LrGaG(&qlh1MhI8m1YLmM&rPaI&%2H4h(
+
+Nlrm2FFR$QC'q5%-@Vh19hGAZ@R!*&$`X%c*3Jc33CS8#VLhY2M8rh-RRm,mhFI`
+
+TAlVKT4$l&bZjUph6iA2$PG(LM"(#qhh'ihr$lMXBN5K8McSmk21XVfTjmHp!8GM
+
+)"-%"KET24!"#Hr4"8jG'C(L4UP$0Q&N'CHMQ0k!LmQAJ"-'CHbjQ&-KL4kP4ri)
+
++(R()Y-M`5EQKkAdCej1[*e#pR6k(ki1P%k96T39B[kkrhUlP`a0,8LcUQD5GVfi
+
+RbVf919[!8am'm[H$-fXbZL925McY[Qe-h&ml&mr&mlMj[dI0qMj[FHEh(Spajfr
+
+jHdQ3!#[$jfP$!@plXr2f(REIT4r04J,2dFHp`JS$'l*dV[CAHmIpb9djAR0*"+[
+
+0PNmIpHkjFLCTSNUS"5G+REcpcHBfmrFir5irqqbmhCHE+`CAlP6hU)H#cUBjr"+
+
+Fi9fmqRHdjalaAP,cHkp(&ml)jIA6,'*E9#iFRA-lIJJeGl"1lMcDRql5`91Ah(,
+
+X3m%HG3#`E#pS6p9He-e&He9jHB1Xmi,m%JU"!)Cdd)"3F8!S!LX[4bEfH#$8a*e
+
+5F(Ja*dDpMHI8rACc[KqEIHE1rhZXR%rFM'cr'L@&65cVLGIjXcpI&aM"0R8!i%Q
+
+mNHMUr1`IHJjHVLAP69"2T8klmlFqI#&!K[,Dm[EcVX(5HGFHp2B@#(0Z1PGj[d2
+
+1fIRr%mlCj[a20fIQr%mfZp(5HGBFZ[Q5q63p+MdYYdK3+pYTq[$J9,cAhPPH924
+
+DX!+3!&D#GmE0f@EmEc[MHH!60fAQr'mhihQr'p%"R,Z83#YGQar3c3lNqTjcTS%
+
+Y"C6+R,e%%kdRA&63a#AV8pq#fPlZKS60#CS62c61I3jd[-PmLdrKPA%H9+PAIMl
+
+IaURXk@ee*iFdYjGEfkhGecSd0K"FI`r3SI)P),3H0AfdDeSH2hXUk8cqeYLEA'J
+
+erbk&E[6d024(Rkrb)E@G+a0j8q"#"N%1$Er`i[fYJEQdH9UE@mmMEmr&mIBH2Eb
+
+Spa+YE[-SmkTbD0$LcZjR!%[H,2i&lp#G8mhZVcJARGB2GMU!@Lj&6rYe0af)4)m
+
+eHI8pREEZ2+S,fjqeCmr(@C2"3rKLh(`j@SPDMakR2KYVMaTqmZ2JLD&6md(2VqG
+
+ACPj"8rK[,LK+fjD4aI'aI)UH-!Sr[G$l8HeMjP6R(aTr$3r0DH2*P92J$ZD)GB1
+
+p3d)fpUHqM!9r-U@NlmfUmHc""CfYaj%lRiQbUI"5ijQkr5UG2#Rb14*rK(83Gj)
+
+JRHcUI'#%E`))e%'jbB0D%JeZm`Gjm6amMRaXH2id2Ml2aqePI$qemMhp6ZGI$"b
+
++(rE%S-)PSBPV3pQ0DpY[+QJIXcHlcGe1Gm[Fr#JUIpZfhY633@lEGe2CJ&!)$qF
+
+brY82'Y)@'!JdYMCp1aKN5*Gc3V+-VF9@aR6+*2)'0BfHLD-1SU%JBXFjG3b`kr#
+
+-aqC$UTFHZN9-`SQrB&KMb&3%F"(eV[cGCr0Y0VBb!HCParPGe[S"H2L(bRm4J)V
+
+[V9hQf(meIYB2%U(j*NrBNqPGq2e[MedV#%8GairFH2h(eKh3%!Mb)fjUFk0*Me*
+
+*mkh!TdJ4L5V26bI0QIkBA**!Rfk$151mp(DDfT@Y)EL'9$+!0TSB-BI4H*3&4Ul
+
+l%DJN44T9Y+Pl+Km(@FIV2SpCp(V1$8r9KI+UG-@'rbSePmibr(SD#pr3#"J+(md
+
+[dj&A!qVU2UkLU!6kZ[Uh-&6QI'p2ihjIMIBq0kS#26rEp#*b)hTfCFSDVfSFibe
+
+I6Jm+cdBX0I-VZK"leKF@fPNH&mlr[Z['RffRp@4Br(r`a0pAmb#4Cp1,aSKRTer
+
+'Mi&$*[qmq6fqXa+'6(SfG@9d*qMYJ%3'NV'KVZKCi-5#JciG3)@3!-'-0b,*LMr
+
+93'!p9@M$K9e'[Sek!MS)U9X+Z!ee()JjN!"c)RUfIXeh6V[ckcrHGSB(Vcr8QHT
+
+GqT-j9#Y-VqSrMfZdiAeZjdqqkhk(h+PEj9F1d,BT[p#6bE@*F9E24@CIA-*q%a`
+
+L0FAa%LfPj06ejE-dZZJBNH'KlPMU#f9Qe+cEDNk%$)9`TEd39d@Zj&5Xa1q"F9Y
+
+RQpVlePbc5NPd*%5'`VDA@bU9(dk&D2jdIcJ#Iearkl2q[)[VPlY[DUqrCeXd"A'
+
+Y#RICYX5N0P6qkqMHF#9a,M(kVM9r!S9Dk"p%%HRTH"EeCp(Am$EdiqaMlZam0r"
+
+",U6-'pZDZ$VG96LCp6[i[Vfb4+EJc4"Bi&6@i1Yf2"q4k1$Ff-kTEI'RI'eQ$Y+
+
+kZ0D6TS3)bN0l0UBP2!V3dlT!LT!!i9f%%D),%Vq@0#THIYNGlKkE84ll9C(QkMZ
+
+,Gi)),'dd@i*V-4PjQli`Iih[U*TQ,R`2L!cZD,ElHeM@dE'M5fEMd%Z4aPej3Q1
+
+cDS9(TT!!dEEQGrbG@cBXJj-Me)IbV,[b3#)%-bqIVGrbYCAaUqaL38C%q6TPq@$
+
+)CHH29[b1rJeJVPBQ,j)1*4Ha@2(NacLDm*`30*!!(!PD0iY-XVmVPDd6PND)26J
+
+""%LDHY+PbTNS5df5+J*F8Z25ZFk*iI84B)pTJbHJ%8@Jbh1C!*EjRIjQV,`++I6
+
+mMl-2[,V5afr[MfcRipN%(SDcL41[+hIJ5&l%!FbA1r+(1Y60jaXkAR"[Xk$M5&r
+
++U8QYNSrfFIeK9ZF$k@0,rm9e!f&CFK)d`BCQ5!KZLh++h2Ij@VbUjCrCX*3d%'U
+
+M[-abC50"b0B1d5VfkB$N9&JjjNRccUBqcEq2hrMDad`'$*0(Z6Q'EbiD*C6[IrH
+
+eIpGHY(ZC)3Bj8RDilIVbR$M@['YZKhqqPlk#T"Jed5dFdl6'CHIAe[QprjfXRa1
+
+lLkS8!@!IR5I*b2XbI&1al+-[ra3`&DAP-6")ZiE[-ZrXAP$k@m[L)[Gq2HEbGm&
+
+$i10S5p2"VLqlJN93QK8HbF@6LbIGNql$lN2Z@aHA5kF&-9L&3',FCf4i-2[Zk2E
+
+Lm"Z@-9J8"DV8M&Z'hh@lfih((MDc8a0+3[*%KQTE#Y4QY$A`mSB!p1fjQ0c*Ir9
+
+*J#J@F2S5Xq&,!@FVlXRlX2hBIZfrhHrVD[#L"`!J%q5HUdRPC$E@b!RPfri1rm[
+
+9mUZqSBcFb3[1U#'2NGQcc8mFbRrkEIql[q8##XBAG'3Q@+-2Uj(N5I2&LZ!IhEb
+
+09-aXDAkeFChGG&dlHp,4B`"SbI92&l0Yr)lrcpAlPFUrEUJ&A)-UKQVUr$J'&h'
+
+Q4TNDmc[T9*Z*HG+EfmhFAQG-GG`44H"ca@ap'(qGQ*hjTLFqlhrp`@"BRI*N1HD
+
+'2R-bGI*EP-prQbmD$eM@ldXMTQFMim2pq2B`aa@#2$PQJc6aSm[E`B"qjTEL`(8
+
+K)&Q0X9-""Rbra`02!hk3!0mjZmXbQa-&8BJbJ`!k!CrFXr)m'eZA,$G8+"9eGf3
+
+m08i@!C@akTQ-hF05(ej2$YY$MqEUrM`GH1JjPSP(JD'Nbh5EaSHIEeXBd4'GBdb
+
+44K0*XB!dpUmdQlMm[(p1jjX3dQiPf,!FFbMbf2D##UEalMMmIMkcMa2f4IQ3!(K
+
+@R6*l9@96CpQG'e-(D(TfqEajYcF4G+0[eC%D(**deA)@DZCEYVpq(0Y[1a[1&)&
+
+XGbai!YR%fH3`dfeQ5I0Kk9[jr(RA9j!!'Nfq-!DL9S5Y!*pcjAMA'Kap#jd)PBH
+
+`Dfdc4'`Cc)p'6rb%&%A56@YXI'pV9q2%Y3d#G3I+YIQ5Ue4V(QiP9EADfh#lr4P
+
+dB0pB0G3-#f6V@Dkqq%"8Nh!+!B%5'ZLfK[RbKJ5T,P6C@6+c#Ch@Z)H2JDbPApI
+
+%j0G9N30dN4@$`V@Z#`GUDE0EMhQX[+qqL%D%*"#3!#$*UE8(b!N-V!Z2TFIHA2M
+
+p4If-KaF$44!'jkXUV$&YkZ0Pbpc"leITBK[rK2UNUe&!,8(hf!5D!5$3ZDdA3Jm
+
+@*NfQQNrY@[l8Umapp+l55Q6-D(4Yr3lqqZCX#hZkeTbKEkY*d-Mq`IG9T22(i9@
+
+hj`m!Br!MNF#2eqU`D&,BHG3KPcZerh8ADbjGadk&YZUealpMBe+PMBi1$Jh0cFi
+
+0YU*e6VBabKh!VYFHqSleMq5TZE'KJpK"rV8pADH4Y*f$[i2Ti2c,R3SIp[KB@Sf
+
+Y6!8heN[*bAdZFmGRhY#URDjc-b,MTemb[Q)#4VZ2GRHPURJJRRSC#!LLAFT&L-j
+
+lAi@2!JN%14!#9Bl+-Gje9L'[#39r6Z#h&E+)H#+"i),d*"(#4A*HPj@PTRY&aT(
+
+XkZcIk@$6c1UQ@Fb`rUX[r%2T-,!dS%mRJ3fI6Mb)m3d4@k0f#HD6SJQP0m#NXTc
+
+Q&3BG8`pf,0K1N5"I[f0)Mc,MSD6N9m"p%G1Zr*B#qESJX*MPX8``"2D8kL2,X(T
+
+B&FdM-KK!aZC'jNErV(rk`eTH5rk)#iL`Up6kZRFICG,!GDS4SmIMeFZmT!5lm29
+
+RbNk)"$aie9a5[XBBXq0aUmklidq&iF"RK"b)HD,j%!!i0Bmf2VEE#XAJJXELVDa
+
+4T`V'5X#9BbS,b*V+ZddA4"-X3l%%b+B#CDN-8S2%8G(K3$MAj%cQc-r"cjR1QG#
+
+ljNlrVJIpFDY-4S(5`+k[m)K,2ECaU3("!kCbmT6TelUTqP$TPmLr$!+ffCE0DI`
+
+ShTabI44H%J4Y)`F+0b"$P%#fjX2$e9JCal`X&LhBV3%ifPaT@IGj@dViMSJjBV!
+
+$Dbc)FqCr&f[[V1,,M!mm(UJ"NpeSrN`q6Ur*VU9IL4-k0P4IXk4i@"`3Cd1I,jP
+
+Gd"e!R3eK,HP!aYGSd14-jN`rYJ"ZC0p2!p6'T5m"d3@(6&F*TJKQ#r&(@eI4V[H
+
+M8,&i5!l'H4!Hh3JEq1ZjCJ"jPGi6MU"`d&I"D#!Z0'CGQ@"rkB(UACG$Per'LF[
+
+U1ACc09-lfCG6Bdh5d)Va,STl,QQN,GmZl,ZZlRcUH"RGrbVQZD)"KY,0RS*Cp1[
+
+jPKd,,PRKpPkXMiZN!-0BB&5'hQmi!Ua8NjT)!T`3$S!qrMB2N[fqUqma`N@AAdk
+
+r(MFD2d*2rjV+NA"HQ!V[-S)hIK9qMB3aqA$4QFl9r8fXCqTGAaqd$0!dKi`lBXV
+
+k4dmrD"N)5$+p3lD$E+S(h#S2q-AJm--q4)G%%Y-9aVh8hh5R%61qk9lG2eGeQ!5
+
+ACp#YYflBp'2`,1VB[&!+mMX$4pV3VGR$CCNIR4pb&!Rf,T)1@0Bm`0Yk%2Vm&,G
+
+biP%q!1K!24A#!($TTFb0cSdq0TV#Y&@59'9bLm%%65eMdHcTQGJJ%QqaJHYMFf@
+
+I)6aCdf0Tp+Dc@,[+@blf0a)r!KSbhK))!d(F4ZibYTi$bXIb%SNm4!##MUH,9kf
+
+pVjPal`jr0VjYIF4(K3*BV!PGD'MGr[$`ANAIr@pr22bH0E1#!5jARkU(51"-%E+
+
+hMQ"K*F9k8#T@LB@X%!)X%l*RcQL"X3Zbmi5ji&a9VXX8NrHZ+eIP4Zd$!6hA(8[
+
+!"l`S1G"hPGk*QT9KiAh%F`c(KJ-1'RUZ0$[VM*Rma-LV((!)m2"""&`ShF4YrVU
+
+8lK6Z01Sc[rbqlM"UBfUGM&[9J1Vdb58rTJ'TJ[ZNJ)m6%q*JIp@!I5!D5#bm5ik
+
+HVC!![A'B[Y%e0mH1f1"NHmX2([Uf"4ejE)c)2NeZ[H+3!%(6XqB`H#j'PaY9aD9
+
+)IKd3bMeH#R(T3Q1LaH$j8IR@@ATE#aH2!+r!MHpC2rl!&JD5N!$McSRCeKIGLrS
+
+Fh!N1bAA@!-#(j2&r8Nq@(3E*VId35[GSp5C-DbrHKFB%Gi3#[j*RD"i1[k8DGB)
+
+#G++c'4C)A4!"ja'KkScaL3,&XkXk2L4l$4LZ2)'Y`'ei2pE$hJi&1G`F6I26J0%
+
+%BFrYTqQiQXjVA+l'iN123(SJ-a[4dr#!p[SqrKbAX&dI`@0jSf*k06k-LM&+`Ca
+
+hllj,ak!Q3-@0Z[!Z2HDU)q62AM)"qr[VrYjPKba9lQ5Iil[-kh`kje)&kD-8H[d
+
+B)j-M&rM5`KVmbZ05jSJe0kRcbI,A'ME@-V5bI)KpkiaY9FB$KJ'L"JLfeV4Nc,[
+
+b*Ie-5*AmJP!Y*!)%NBNI1e[0KjNGN!$$$4B%HiQ+hGB@#*)`BBfjLifNdG,clE3
+
+`2(aE@2$EBeLi8!L-`DSX(cCP)kUTK$#lm$'3!2NRf2BkS+"0MdUf2YjQ[e@"hpY
+
+'Miq"-H@rTKXmD(mmQY8a'AHI'YHGEjIdE1+mF!6hE9Kq+-EVrmb2UiJ)9XG)!Xl
+
+U23MhPDmfp$AhQ"H@e#2FQ"LmNqb&'rX2Hq)E2MCB1!r(B%'0Cp"V,LT@cVl%qNS
+
++%LHmG!EE5dp45MEi"P'`[0+$qPhQPqe&H(JX"E6!Lm@V(ciqh04I,MjikHM[5J4
+
+j%-fE8hQI+fmVAUl"YDC@Rj9SmCJMi82![+ZjJNf-R,Kjd21Kq9$%Z+dKa!"Ci@X
+
+[ZElhGTiYadl$Q@AmFRcpApQ[bh9J(""$-q6f[5JJdPMCH4'jd6P`BEf$"AD0acV
+
+,a)[K@'L3!,iH$%cZMA8B(8J1L!A5VaD"-m%YrQDTjEHa0Y'Tdk9j@RPSljr'`10
+
+Vqmfrpp[pVUAUB#59LcE[lprqZRjrcjq"-er#fqIEq$e,KS"N!H@&G+j&1(fT#kB
+
+#BTM0'klApE+,V0a-CLH3!'$8mZ(Q[@)VA5bFb(S2V%%DEF9Vb0`HPfPl'jFD@4J
+
+1U$49m&a!m,"(PkSVfcCR"cFM0ZkV&i,[(S6(B8(,49,$hPX2T`Ucc)kP"2C!!X!
+
+Ql,$hN!!4N5jQh2)H%JXG+DZ9'K[VDTUUIbDH`TlI2XXZbMp5pP`34qVMdk&+fp6
+
+9HCmRK!JcV,i)rr8#cN-#cpjXZ#ikGTiP!+BE0lYlkmE!VjQPYVlpP')Lf#3ZAV2
+
+)VRAd!B!N,CK''c#H%)%XbSrBC-,aL!*9YJS'qXUfP#bB&+RRf@CEcZTkemKJ(Aa
+
+CdSp+TlHPTI*RBXH2E@dkaH#"4APE,1aB#5FrC%%%@aZY[3pHGRcXqGrY1VAAQaV
+
+b03Lh,VJ&Kb,1#l$#AHAXr3ZmZKSkcE&XK2G8!Dk![UZjjN2-&C%"$C!!fZJ"alm
+
+PIi&Q-Y"4!#D6`V$Q@hThcC%6aS$9l9XTUKa,cJ(f!qMHC1XTpI`iRbh*8(,VaS#
+
+12aYIRX)*rU8"0pBe*$Ld&K-ViE24YTPjYD95I'Zie$"IXN"V!!@DM+h1Vm0m`[h
+
+Mk!BFQ4HVUHj*kfirK(N'hPDfmQDk(D[%`DZ,hG@rbl,,q*ShCH1p4Sb6SBl[`pF
+
+m9JBk!MB4E64S)jFf2l&!3Ji@TlA4CG!Dd1F5TLX5r""6a0lNkHRH8lkRfq0(hd1
+
+rN9*EXf!FJqMBBNf24Z1C'P`ck'MBHURSQXm4iqJZ+(6X21kM0dQECQQIXr[i[h,
+
+,X,I)kRk$JJCLY`60*YYKih@CYjRGCQl2l0rP2U3)l2RCHM"kYF5bm"2"SpY-9Ie
+
+bkJMN&k2(',#$"(`)rN@FHf`+,j!!B(aQ"EhZ&+QDU'iH2J"J$DakJb"5e@6mQPX
+
+-RELp8I*XF10-CEI$HNb'KrP0P6MT3fIfHXYTYPI@q`rQq9kMk),lr+phR@EcV0j
+
+eREpCmqmrJRIrl@rKffrH6`-+Ga*q0HElCeIKXUe0He2DX$@2,(8&k)ed4lmHiUG
+
+1"aU#Zj&QFckjS8ld!C-XZAT2%X-E"S2K!"fdJ*Bb2K@-l1TF2%XV$rhAN44SJZ-
+
+H96Z-Fahdr!Lep@)GXm'2!j%!X,fb0[HlbpeSbHkZ+d2[5IpC91fi-1qN2,F#1Ee
+
+mhf+RX6[BR9F(Q6ZC1p1GkQ$@eVMJ$@!,$S4U2`rcTDMYIeYB!GMJ@1I'jeGd,LV
+
+Ap#0cV(eNp!X(mHJ3C1XpkmMp9hQXTE+RTq0BF+96RGlHrSk[D[e`$Hk0LC8EDdK
+
+@HeVX3#kQMY40)j-h$Q#SdbN!5'CJ5r`Z)!4A[HE1NKc1$q'ZqV3-)LbjGTiE4""
+
+c,$T3Cir#j&PdlZ,A$kaeXj`N""5[2HS9Ek21c*h'[[Xc4M#mQD[PiA'3!(RSZCe
+
+"cllhGVFUFCF$#Mp8JXYba5#1re5"b4"Q3rhh&CjB&dG-mJJ%*#'26[2[l3G%DHk
+
+VieKTC8kqiN4kp!$10BH95UmpZEGARYc0+-J-I[5"pCZHCIq&XY'fjNrdpk!b(SA
+
+IRkbi`h(S#(fRi8R2%bD1V9q"j0j1[ZP0q3kl!Bfp4d`r%lM+h[[emK&i*5([5eP
+
+cU("`K$AUJNji5lRA(6d[3e2[6[CZ[A`mTih""HEA69+RYl$*f!bp3'ASFk4iHVG
+
+H3FZ*[YB4iZUUkb0XUZRm#`kq9Vlc'[[UA,Y#!N!AH9[m6%eXH(iI4eIJlhhp*iP
+
+PbqSrPHc!+&5[XEAjFHT8r4CITXZ((iFIKapaEAPMh$Vf#2Ge25MlqKmcBCQ`2f"
+
+USGREE$0frk,&aD!G3D+0iPr0lqZck%HMCEk2[VLTBZ2S0,jPa@[lU6lFQkZ+ZQ`
+
+f5`0p'hmGij!!4CHPQ4r4Nm[V2-l8r,Yrjfk!C*SfY$82)J%@2T5[lDEA9rElIlF
+
+&ceIfqXmAi8HicFGie!2J)BY#S$Dip'9Z6GeK[)GG1fVND$8c0c%iYDPPFATGrPF
+
+Afqj3%!C`Ka"SJdr6YB+rhY0)PHp'JP-A',F6PbRXN!!FC!fqaJPe-DGYTdbG0RG
+
+PVUh@Z)!FFJe1mpq4c0MiA(d5(&dd"0-mQ3(m2epI(X2)PG'ZjPK4arY@'*AINJN
+
+*E*VF&$4@9`J)!6b+PE!m$AjhDeP583JZ0(6m")L5*,2TfF-ITfE2XIA103*Q$Cq
+
+*eJbYXIBf2ek(L6C%ffQcYE[pYp0i8$d$#!U5FZieAbBrcX[j(TEMQA@&fMc0JHZ
+
+`ZTde5YHB0#GH6U(NAfPqPI2#!EB*p`,JZS,cI8+9jVk%qmmbT[DpaS"p5"f[khA
+
+X#!MaZ!SJG4bl$lBHcS@rRN-$aQQXG%&cTCf"8jH,jP6dXA0UCXHFJ)3`[!H,`BF
+
+bPJeJ#$ELrXGl5THT8rkl9iD#JG%phlZ$6a+HZph!1M'bpf'R-TpD4fNIjTqTGG8
+
+VFAi-6I@I!NdrKied83)3i$&R[!d[hEAqIAHl(ddVr[2kRGILNpM*l'9hYV`p4mY
+
+V,d"4H+bK5H%I&$bidE[`FBD)Xp&a6kV(Sf[Uh@AEeTZIGHeMjpMl4XLjmZYK2,B
+
+$B4pKQDUK8j1UZGKp[ErEYEQTiYe(YTemmB!2PE*[0EH3!+M%%DV*f81mKhN1pN1
+
+-29Sr-KpQ(Q6De6p9edChl,h1KV@hX6[&kl5aJC!!eP9))A6*i"KJ8+fXY,$T`F`
+
+P*F`$MLMbAJlRaH[rcdRL9+fX6k*QJ4FpSjG[IVS9E6`,M4YrZbXm&RK&')G#5UG
+
+hQZ&!fX0+KVGA"[XQK$X-#KDl#T3KVXc*-N&Ti$)5k%5AAp!FLk5X5)R5L@@hi@N
+
+!+a1$3h'URE$bE2Y)hlQ2p52ciR[@(1Y[AVZE(K8M*8XUPE&mhJq0$c+'MZHCFG-
+
+S5)#93d&@0cTI3[UfThe5UCc'M1fepbjf0HqMIrZI*rQ(B$5`FL2kdRSDDAVUhDH
+
+6+pZemRCHhZFUik82KkIJ-Hr6,Mq1KNpY&SIbr#KZ0F4eNc`ABh8Ibk6a(F6kKJr
+
+4e&#SNG#JN!$A2d`(,S9CYM3p'qYYMj8h5AI,SHMGmZqp$9m[YI4VZ@ZE%bTM0XE
+
+KH-"3"$B-09jP@+MTH0UDFlr6@l@a@M)i*SY'aSb-)r8kXQmJ&d-Zcq9UC-,hkeZ
+
+iF+3qL#KqcFc6)F+B3rDRfabdb#r$H##f""[VMS3d3#F+(4U'%"!rK30)Z)&Q-dC
+
+[d`i+BjK,FLap@bc1Sm5[rMMB9Rd!$"',3frJ58EE!`jBcI-bCYK@b3%8Y(VQFJE
+
+-mbM(S6p+IEDlU9)qdY[ThQ4UrrVYrrF'dUIKK`VM#16hD@HdM9$S4F,)cP4EJm-
+
+h+*QqPe-,"1mfaKKNkDTr6+a*9e+R5Y5H2HPP4C85mVpC@fP@3JpU+RNbZYPDf9V
+
+8"'!E$P401`35pE-ql0qr8qh1ZCd%kV1mUGj5!NlbVkY1VP"HEajUhqC`kRl"X14
+
+CFM5-#PJIXA9mLCqHmhYj'ij0m[)ep'f8Ek-Ek)"%$[Sk@jLYq(i3i8QYDdEDMEE
+
+@I@aSf0LERA`c*j[[(UY-AY,820'8Hdp[QhpA[lh'QENH#cjNLA$K`qh$R5FUTk9
+
+VR@[X@hY@hV6r@aLeEZ6iMRqY)m!*"42Bf-2N[@YFqiV@fI2cmE2aXrFR3rIap0B
+
+`b$lMEQ(r,)p+6+PI"ED%RalmpNYh[,Mi)Gj2[T'e43)3S'5&SYDYY"Ea,qYhq9h
+
+q9ZMiE[kYSIq1("NL9-NpeEAK@fIEaVrqlkAid5#(2[mX*"f%1K$p@6VFRkX1KDp
+
+KE6EDT2cZrTI5eqj-UZI4Y13hdVKdFReC*jfX0!I*IIq"ZMSj[kak&k@&Rr2bIli
+
+E'eMfpDhMcmX-"60L$EccBH,@KrEBCf6N`cV@GE9EDpRll'VGrlHm+Y%r*0j3d9%
+
+B,)23HeclEqDhQcqAhrpRIl(HAd0j2rm(cA)Ke8Vi*1mb0j*jmVjp[ZlI3[pjhr(
+
+lrmfmhF1jRlQ4)NRe(*m56QC'C*UbXbhc,HVIjRIjRIeGeQ5BGM@e%$&)$k2bHFG
+
+PpKEHrE36i[(Uih[EcK@Y1IlFM#5X#+&NdiH[YH6EeVE8cqPMH,MH,ZHP$P$-GM*
+
+VJN"kSN6$kdVke[q#hqYIq2hrmAIeYd"5rV@N3)mck[U94)'EEeEHpRif0cqrV#!
+
+)Ck8p5N(F3e-Rp%RlpV@YZ2EeTpjMFI'UERlmRcCrb*%89q5d&MNQJTDr-#JH"2U
+
+Y5"$Rcp'4R`KBQ,3#U!Y"pHhmB9J$4EbpP8YMeZSj-1%Jm,39C2J5I6&)[E&`2Eh
+
+9@65NdYMa*''(J4@N["9BU&P#S'EZXf6M3qYIq$TSN!$13H$!CXNqMj9DfQ6jSAl
+
+(Kk82Qhmf3SKDq)q0Np1(0NqEDc,Hj5d!5$+NeEmreFQ+%Bj%Rd+RmXRd*2mXVd,
+
+Ia,rkiMlqFq1r*$`3$$QA*NbUf6X,IS`jpYRh(4FBJjm2jCrk04Y!N!"-'lXkTbS
+
+DYV"EkZhr4Ir(lrp2Ir(hAkC2alrJkDjF9!m,*ci5h8Y[!YUV#!D,6`DE`SCE$J9
+
+p304D`1#$4#3D-2J6d@"*J$qC!@D9R@rh4-(RGrjhIeK!(!f1(U2!(8(rH(idRlf
+
+6p#(1YH9Erqp81pZ2@(J(##3H#+`BDG!5HRNjJb"-YYpErFfAlAdZIhq"ZGj*mHI
+
+mXH36"Q#B+3Ie-D!mfhqcIq&hrr([rr[GIq*2c,qidfPBX"pB%(i*2PL2SPYiPrc
+
+q2rGarqZlp1ep5I@NC-0a*kFR`j2mp6dT2rc+p'hrqEIqLrrMlrbZrrShAP5[ME(
+
+XG4r#E&R2&)2-U$2LGJA!B$Mm[MqI[-fhqrIqCD5l@ADr&NpV$T+Rrp$p5erqEAr
+
+jZ2rkIp6'riERrK$r`NfQaeHSkfe&G#!P'U9C859`*9@ii'bVFI1hRq%VeEAfGMr
+
+S,!E@9l81eKfZ1!LeqCUT%UYXILprplFlq(ldUrf1VNIk3R!J'Nl()V5IM`jeYj8
+
+QmRcH2@h2'(QfEXVb4FMal33%bDd2f,AJ@h6YTYr@aX$Fr5!YiprIb*'SqAm2mfS
+
+qAm,YXMY[KGYT[hY4mZ(m9j@ifIm[,NFk4-QH[Tib9JYE8AJ*m!@URF8pPMmH$HH
+
+9+mUemVCr#Nr#KLbI@(i(c"f"[T2TbGpErhhqllrLEVQbZdYGi+!B8RhC2aBIq81
+
+rb2[3lq'4EL6,p2[N[!eq"b)IY3q"+rcarq)#2iCArQfq&X[r[kAEE[YVAYVAY0P
+
+rG)Y)Gp$@NmQ9@b%kJ!*E3E+YM3EQUEhP@IR5+TFc9V88#bHI+dYVliJkV21[lG%
+
+LD(R$b#HP`![(CC1DaFJD#f0hakfm[*9DeQN)#CGq"Gq"ICrIq0IIP1T$QB2YAfI
+
+hZhl[dV[,[Xmd(X[9q%aN$jXR4b)SV-!bhblr4lr$h2TbIBYHM2r0)bLe(G")1kU
+
+F@95PIjbYlFA@bkA(iZmT!1p[Bh@S85$4)-(Xiibp$SK!&%!c3i!Va2cl6,&B2GN
+
+pL-`EZek3!2E1GEr[E+TNCJ)"rKIq0D9SFH6GM$ApH6hpVjcr`3CmRhCAcE@VMrU
+
+Kqc$9YTJ4ESe1bh26Ki!H$jYTjXZCH9V[0[Uf4rrqXlDlpQIcZldH0cZqA%"r,eQ
+
+ChrJbrcNS#@H0QSVkY3Mh+2XI)Def0p"H,HqJeX%k"C)"rlBTV*kQC0jFrRERFbG
+
+**rJZ2"Xkpk),Nq(+R,[!$8#XeHD5KCA0K"Ah0M1Mfh8cZTfYBP9@06pb(@i'Y`G
+
+E[0EZrL3l#Iqb4%1-SYL,QM3i4i,8je1FAB'Yh`6j@caE30+GKrpFRe+HG6ckI1T
+
+qpMp$X1CAqR&p5$e)+d'6A@0GSefCefC8c-A-a8"#(9f"rqDqeM5Spa)dX(*"0RE
+
+A1UCe,1T)#Cf6RBIY3FehbHJL9eBfFkAdq6e@65`k8'GAC9I'MDSXmX+cYD06IF'
+
+X"k-rJH`DmU!K@HCNmbRkI&V8qC6jQ2c0X@ZA#VeeGbS-k$SiHfbCCHc6%"-HCYK
+
+!U36",JN-!e($jZ6PiY@R2TdDH%%!m!*"3VrEL431)8D1'$DRHJLQ8mE(i@fT`Ci
+
+86`Dk*"&JU`6'"kELeJ26kH-#,TlERehM9ea%dX(K3CpG@`mr(ckIl`))e25PrP2
+
+ak1f,3GI@VUV53BCEEX(c5aF,(cq`mQ[[)ZRJL4)PI@VjIAc+NhLeZ,1iXj!!%iX
+
+kT5l+P%cSRKp4&B)14erfkRTFA0iZDJ*aI4i[R91Af9hAhF5K&e5+""RiIimIekG
+
+DRkp2eUIV#RS8lED0GdDrkN%DZ%Eef9ehNe-h&cF9!4!5pamB0%'JL4([XET*'V,
+
+jQlbPdjcCelU4F3T,LMb3!#CQ(l12kZ,c-AdmAm2%p6*p6XIqX6QLVH6"J3DDZq!
+
+B"[1Zrhb+r&Vq,e3T&+aj@fP35S*8((JQX+"PefAehhXMdXAlf,pj!6)qpf(hUlq
+
+J#hK9eCL[h!JbF1MMdDHq"paJle2E8S1#aG[#JJVSRA$DSADULqC&AX*VLVM9B)p
+
+GJpGlf4i@,r2LqKLqKLqGNHGf'EACYGQehb+rLa2JLpLPR-2hXIRBZALiR%i02if
+
+4SlBLe9db$S!D4!$TM`kf4PBXILEPLI1&YXqZrQL63fL+e-!0-kkjb+Z,PBZ9Lq"
+
+6,(EiXpl`)JJ@*0UAR&[1,HF@Ya*U@ql'EAhPIH!%V4'XlrpF2kP6reLbF@6aILm
+
+6iZ,h14rYYXkZcUrKa[Pf1V#83`EQ$r,V[5b*A&q#RSB[MiXUT+l(H9r`42fS0G"
+
+YB0U-2H!)!q,NI&i[Y8pU1hI!b,(X2LerZ`334,#XN3GGb-M`!lbGUJ'(DrM#0#p
+
+I!-HYJYm0EKR%`p"La-LYf'9AC9FJ*9VSX%@ZUiIbXIjA%qB,JEMLlMLlLTZ1bh&
+
+IpQ[M9mD[UemC'!`c!T'H2bB[MBZKLj06jrBci[9`1,!)`'($M`m5TL`dlELq3+4
+
+IFl$e+lkDXia+dE*J,[MV[r'2reaIrMLrqH,eQ,eQ,rAMrqGYh%(r@ZqRAed5`Le
+
+iJDEKL&+Gl6UJ%dDHEN9YY0(eIdJNAi4f!#$VN!##FQ@+IViXE(LGK@!j6!*kpI'
+
+L5+rGpIS92XmA!i[2i[fZ*T3e!b8m8NP`ED#RKdmHR6aH*NFALmALF@RaDI&Te+I
+
+C8aHrhE$1"&GiPjN6FAcUI,3k(h21Tml(jhBIBVj-DiXG,",VVhVMZ*BZ"VDHq"h
+
+RC&,$2jI"J`Fd4"YS1MefINCI%p)CkpURqDRrY6r(Mjq'1e%lB(Ef&"rq$!(eZ*i
+
+ilJd+HJ!ERir1`qG"q3A#(km5KAeH[JUDALj2&`Z,YH,`3XAbUQhkr%LGI&rhXIq
+
+Srh5S('apc6cmA`H*p)0V&aDZ2-`q%%mqcAqh"i!5,4`qGMmqRcmAlA&BEl&VBrR
+
+pGSMS+qLGi$kA"HpG9amX-YaUIXK"2hNdmL`9f@IRQaJbJm(9j#IF6"(c5!$H$aQ
+
+#MAm6VkH4rV6l`1jd-AhXArALm)JaF'aE#j%[9dhVke50a)TSEC1,d#"!*Zfe%Gr
+
+Ek#S(NKJh@(@bG#Ri`4bmTlqRqSGb6qaR$@QbJlX3m,JGGPj'ALk)lL3'pA&rPb-
+
+hX2)V[2V[FVNN!k#m2JBp+RkQ,rlTmiBL`+F12DlDX"JH%#hc63)[L8qSdr6aDf4
+
+LGM6JRMER"VZ5a!'L#"L@+IKBZILqY8pIXIALrM'`,D*B`Fk$RGI9aqGa2lahpe[
+
+%T$U3!%hECKi'#!JJBF`6"@FE#Um5CNF[EG#$M3HcAI8(8"bJMIR!"ap2Np4q)*(
+
+"N!![#ibr'VSeGj(AFZTlf+Db',k@,dNi#'IBh(Aq6ABF%bZqrKrZC(P-)qj"I"!
+
+RdI%FBrSpGkH4@([UE$Ui[!Tll(UGNR[,82iK&lRir%TqGLU($MB[qA%VBqKYY#$
+
+3Jr0"i`H%0reek,rqGLqMLr"LmILGh6[FLUikGQepBp#rNpIm&6KmAKmAp)"%"[M
+
+e1Ul,Y,$r@,`S1V%[ZXre@4IqELqEa"&Zf3kDPpq)raH5')bXMb3d&l"`S2@VV!A
+
+KcJJ'G6pZRjcNF'MMrpH`V9qrMEqaU$je42FmH[N6@Ri',%4b!i&9MJG81!4Ae(G
+
+%-CiEkVLrQi[qf6rXP(h'Ar#(lFHTdFAl2%cq,d3JJ+-MhHbp5$m4%IcS155RkhA
+
+FV)qX%BqYLS$FV&r"NHAf(Pehi+riiprC"I`a%(%bXAT8m39&a-AFC'il$F9h5VY
+
+56e)SD6Z"YrbmAip2ip2pURmkRpZR)b2'l,qk*reLqQTIiS3MJEDR6'BFh&de1A6
+
+-F*mPrY2"i39VFXPZN@-Nqjm'-,[qX32jD4"Nd4$8B3!MJ#Xa%2%q40,&""A6HZq
+
+r8p$&RK)[`i[fq,HLB[3b#C,"keIi)B#aLpKf96kA$iA$Tm2Kpe`k2G9Z&lIFdZr
+
+lhKpTBEH*ipGFX)!efq%FC#&`FAPj(,aHKAc)Pa&dSf$rEf9DTmIKrTiIaq(mEKp
+
+%!R9F2UZ2f[CI'VqRBG@-IY)!S[YA&qVLq33JkbKai[R9pe%kf,bBQNl,rh8Nm1h
+
+iIr[KfA$klKpG`qflVrc8lEYHfkMjGPm[5F'3!%6q[VGG`kRYdr@aI`BZViPb$lC
+
+B[%armq&keGr6AAN5jJeYGQpHf5rk1,r+"jX(r'iAkkl0LAN@j5XhAKmP2A##H$a
+
+)P24882ZABRiU"YKlM`U2GElKeZ(UH(lA$ZZ(h[(ZZ(9VlU[q4%eUY[qbLFHT`ph
+
+`mN!M30$aiH*NRB*DfLB'5J(#&)2*aEcL*5)M6TK"VU#ZN9hf1ZmHTSMhRrRaIcB
+
+[KdjQ,[Kl$PGc9B8$NXMrQASaTfEa,XMLhR&iG5Y`qbVkq[XiNCK3,UT9iYeaD[%
+
+LBT!!I8qPb-[ZG%H[R-S-aG(Vmr*qm,mHl6pELk)frdFASj2YGeciRpdAmX(mJqK
+
+rlGGr&8qYLriXAqd`Q506bXHR`Tm&0NIpLd&51'!jlaB!aj(6`,Z1L`kblU9Zij@
+
+p2i`C3RN9hK@M[Ya&(8P2VkZ5ijfb!$c4F$-iCShaE@aV&Z$IBI5bFB6jd`dPm6B
+
+H!+3Ch#8#(Lef9D4iqAVrqe5Y5j92mADk-2-PqR8V5'%HD5"Ki-S@!UXDF%mB[i8
+
+5!BJKL@X@Y"K`9F22b1R6mB*i1RXAlR%qM6jq4JF,MehMa2PXC!H0J!Li92QmA*T
+
+hQ49i@0"dUllm5j!!dAKpKPe1Mh2e1(cqjqXGCRLpcr4h24ir!iI%LF1,qQaq@'!
+
+VBGlNY(e&24!$C3p`kC!!3,k,[LC2r`krhFMaaGlp2&pm%(lh%q2aIJUFAKrpkrK
+
+9rqYIeBNB4!(JD3$eDIKi[l+I*%3GMAGMAGMB9Q@hqINk022iQM6r(6UmA,TiR&V
+
+C(Hm)KIercQX!GN-!GciAFa1kVF@0`qpiHiiHiii"LFrT5lr+2[AeFJKIXLqYM$L
+
+B1(@JjeGiE,am1"N6"CM@F6[!X'LM!%*$qbZ`)RI4ENZiB-2`-HU*!dDIKF5Z"4f
+
+UA!iT3rLAd@j'!N3"f&m!5RcDGA)bqkh)CVhDpP9rV[&+VUB#rSaI@5P&2q2)d1k
+
+rl4[6L*p"-VYmaS"`J$+FIUj'Eh9je"I,K"-1$fm2e-R`mAFdqp&22T8qMLqI6Tj
+
+(fHkT3HJ3rZJ3!X(V[cj2hkIq',@iZriSkmB8$l[F`KJ1$&j)k#cm2FLL(j!!NZq
+
+(Lf(%,U&A)BH$F9qiX+dAZDrLr-ri92rAbrq(EIdpYrmpYrmr1rrZfrTqAr`l[rK
+
+m[rKAfN6iBL#A&h`r!jR#j1,8iHeiIc1kjr#VGcmc[qaiIDf([a0p"(,m#Tf9eN`
+
+m,X1jUFAGF2GF1SJ*a`&9re6mUB)D$0(J#1"jP-4-SNLL"#m%f#KArSZmUqp[9jH
+
+mdqcqTHHhY-bKlYIp2[rXkZ1pBJLED`k2BlI*fr$r(h96ZIi1,rXVerLrlC(hZjq
+
+pArj@(eL#"mU$jR@eXPYdl93%63LQhM3#!K4,%3B[dq6&VB[8$%`F#Rjq4q[Z4Gk
+
+*p%0"$"FGFCP!PElZ,rdaIkFAqN,9ph)rAaDF6lX6qZ,YB[bl$mfhqANGYLpYLpY
+
+hAlhGI,TrLiGEKCrIjI#j`Si8Ri+-DPfP,*TF8)e6q@6Bp$LrQbG$YIc4Y#0SG4r
+
+MBrEL(9jf(m96mR$k[KkVKlRKrViQIa+f6RpTRa[@Lk(8IPXIj%Z"fGE*cUH+b1%
+
+J)4`2S%F#ZmYQ+r,VV[VDe6VH*1TrHaG$LrRTeKh"-b-hZ@b3!$Neh*X2p1`bZrb
+
+q,rV`TR&r2a+A&k2#kZRmckA"iG+*Yi2#X2b-I`DrMrp#AhrkiIa1(r4`rZm24iI
+
+hH2GF6%MGP&rIdPSj"JQi[$9)%2maFBD!mbZp#ZliKJFk*SGGS91ILqb2[SiX)R!
+
+Y(((Ga-!r$Aa!SQ9f"(3lQVh-ALeZ(4iIZm2k2$r6aq*`q"AqjBF-Ha&2mZAmm4"
+
+9iLQ#*NV2ar5i8&Gj9Ik9Gm+#M%p2XUa$3rS(I9AKplhAPF+MaDf04i3lHVe,!Q3
+
+Bf(lG6cH*DM$AP8rUJ%UiYf4)20V[dehhbKqap!+JCSAa,6#X#LJBUJ[!%,m9*!6
+
+N(i"$h*)4'G6cXHV`XiJY95fq`klrE$ip6X3X#P30KJCH4Spc(Jp@$kT2'cbjIcd
+
+E"f'ja3N93Hd$)(HP5%R!#!&EHIQiRqh%m)HJ,%$mrZHPAqE%lb+X6r!l%`Aq(5i
+
+H2`rmq(Jm1)4aTr(rZiH$'pU,Lf2f"e"9`m[*lTl-F3%ar*lR3LIhaUd6*VVZ[VB
+
+Rlq50F-J1+I4kSb"IF6hiSTd2i)m5k*F(G#X&)*!!EhKaZ(lI$i[(TF1PBHhe'*B
+
+QBlA6!3AR%k3TadUGb%!8H$jRFr-V[Q9hENQ#C"i`)19a"pPLp'RRFApr&b+BJ$K
+
+HcAFqZf8662i3$q2&jjG6Cq69i@H(qci258N6X,h(dHkZ`c(EGe9iA1iGAZZI8VG
+
+cpf[c)RZaF6#2NKRF@hZ4HJS!J'UjJJdr"q#MH8HYSqT4rZ!GkP(e0rbZiI4"bZi
+
+jAFI[NH,cGrHF6IpabU2k0rXUHRHL$Z+rZ19[r8TI4Td1pP8Yr5p6JK%0rrZp%&+
+
+[TG9`Df,irFrJqMXZ"aq&SGaip+9`[SdGBrT!-@KhIMm(rHMHEi**h(U86R+F%!6
+
+cIep,6mAi1p[1$r[53%[+AdH!m)"4!eh(eZ$m#,"8VF!*mK*`01m)"pDTm(FFVLr
+
+lSK$JHmfPrZp)"h(eJJ#$Pj[pq!VP-#!E4d3F)cYFAHFAi+299+b(A"f@rhq,q$k
+
+,#30lP0h-bCQlUlZCZjZmVEZmlHmhGj!!l+'qKQRkfAHTcYh9bFcH3lZe!p$ZiHh
+
+[GhH`dSI8Kj9TA3PqVifl-)$GmrGJRhHGZrElITE[f6G9p'6VY0YBBP5TDaVl%TD
+
+q'(j1Za0VDH&FD,RYVjpTiPG!m*q%p#1d3J&EHj@mT5CeVG3k8kG@@PGf5S89[H4
+
+!#C@pcGi@Jj01(m1RL@PGD9V6prYUe6cHfmhY[0lEi!#IJlElrlIh`,FS!Rdcp*d
+
+iHMZrlDRTEc2hHIZk`"-rY`$(!(q1'Y)j$HEAH(8V[15%Fc0jjQmVEhaYiEkB@+(
+
+69Qq+ZldFN!!)`RfihPAYiZmAM62Kpc6f$1a2,hG2*hBAjKAYj9$!9C2Q(8@F+X0
+
+16L`qlZrFU9YhPEZQ&!%6pZ'+$-8i9ckh%UV*Ql[pQ6k'mUl['hI5hRhpjFlfX'J
+
+Ca4fR*VZ3!,@`ZmUK9PkQScA)Mj1PMf8H2cS6M9kf0)APV'KM3aJN&AGmhGmcGmc
+
+GmcYqChRTi6,hq3F,S@`0KZmm,%ML)i@Ip(,fQAA4iPLhXhNK8(&IFVGiQlTp[Vq
+
+mK`M1HViNMNK)1C!!qR$q(GqhZrBhIq'lp8!hjHhr2hR-B5$Q1&!T3dJFC3D$5l[
+
+9E["hFlYkAHBQ&iGG&Y'pD[Nb466H)#CZmQK+Z&fp2[2al6kND0"Md2HAqhM(qhM
+
+6)pY$i-c1h2014-rZT*&L2K`2&AbRTH0HA'dm@ikEQ"lK24""(S9CQ[QBpkCBYfF
+
+HGjLkfqfebq%!Ld+YhPhHA3d6mr36)Nb*3VA&9RBZiZ),K*D3!%REh+qMPE43JI!
+
+I#!"BS-Zi2Le8jEM,Kbc"KKHL$@4Dp'%j%IQ529SD-EmNIeT2iCI*BF",h9A$I98
+
+F$YjRH6-*KJQP!A1Lm2!#VHj[dFhD+3r&XGYE8iGpI9TDrmicAC3q$)p0kGmpPZJ
+
++1LQqmME[TE[aGhiS"1PfrLpj'`Sd&Y"B[5[f'e`DNbP1T6J#B2HdZ*&i%0'MK@N
+
+3G5j9TP@Q9feEYXcY['B"Xcp[,rGbpTrYANVk3##4P51*)`2QmEj[VGYprFA[E9I
+
+Qc2RcHqV0,rTMbidmE6aY29qG'qGh[cYamlF!%lhHlM[Sh@kPBVdL,)`G2d*'qdp
+
+Ej[UpYPpYBEMpljZImh2qIRrZCqdbkq2&XA6!$X28LriAaqQ!NFb4cC&@dbqfdhE
+
+9Ya5qE5qG@qD!EpZVqj[X+MA'Ur)cj'ITkdM2qEiAE9hcUhcZYh'qqE`1fUr2TX*
+
+"E")'0IJ%RE[4hIpJ`raYhdphSp[jhdCfd[$I$P[6`$"1fbHM$RB(Jd,RGmEFm$F
+
+j8QY)r2"-N63N(#NChEFVFA2E63m'EfeAp[0rGUl5lJS3DVDH"h'9h!elK#[IFH,
+
+8UpciTEN(2haHP6e05V4L9dD4l-MM@RVDEJ"HZCfhJELU(!d3i'MKCm(XNRbLL3*
+
+3EYXVYU[E4IQeIQarQcGl@rF5Ac3%N5)I'Cp,GeZq"Zr`l[Nlb,ZmNJJ3MYq'#eV
+
+JG0pY"CrNlc`YjplHIHhRTEclfpbrSrMfRikqT&fKreXmH1jm2Ul[kB`hpEH@Si"
+
+@lIjrHFr#mHZ0CeM6rBK"1ahRBLh0cZq!(NTp[YZmpl#RUjHPqR-p5K@QI%JR!'j
+
+G$p8lak(Y6[Ckc-S3l$lh9rcI+fX(-QHSK&,LA&CLk3"0*&Y[ckre+I9FArhVMpX
+
+Y%'XI""'i&KZE,4Nrm,ZYK9AK!16AFb`mq'ii25NFQipXmR-f9QfRKkb,)cL!$9A
+
+Kdifr4(dGAHjRGRX6&YB+dLE*[J!B`lrkBkl[Yf``AEjhH8``"LI$Ir"'hGH#$$h
+
+IZ$m0*%TG[Rpjj@df4`qr'NI6Cl,D%1J0pmcGrrJ"[j0hkAErbGjk@&r*A8)QVND
+
+SmY'Y2relc0!*qcGrfE[pcYqPhRkYTjTBHeD-!&qH9e#lbkN29GAh5[EUqpc@kfd
+
+eN!$Q`id25Nrr1lTE[P$NC$()(qMhQHiN#pY+XM,N8j'l%`4"Cj*'bKL#EY'k`&l
+
+DCXMTkHV)a[Qp)LYh1i6ZLPfrHrZlMDIQVXS`[X1drfNFI6pL1SShcUhE41fd4QE
+
+,rEdIhBqd+(aCp,3e#VfIf0er9p(r6X[q1prji[rrh[TEhm',SIYrmq`rKU9X+ZF
+
+-"%`DPhGDUfQG6-VI2e-2cFRfSIHKjepp6VBc4"('(V+23p+mZGPmDqq0X[MARaU
+
+RP@YYGraE5j-jlS%&H#2,NFD$S9r)Z)0q1'Ta&!3d[D-HIEDD9@QFcEFff)fXr2R
+
+jqkC!$PI2YCqSN@-%INf`PUCREE1""R6mkIR-q%Kp"+V5),(#Mp#fp16@ZihCDQh
+
+)bGrdVr0hA5Nq+b,RE5,(54BrV@fI$ZEZVf-bf(P8qC2E(G6LXb4,XC!!&!Q3!0'
+
+pbZed3%HTXUdrrkh*Q6DSMI`m@dbV'C(Q@db69kbpl6T@f-HfA[6qRZ[1)0mke[,
+
+BQr@-Z2-Ylf6k0hbqZmbcV@dbr[ErdGebj2,Np#9aV@KU09Bbl+EErIKkA@GrfYD
+
+hj8Rm&rjGrjHkmZ6q#6jBld*,pM-XYpEMZ,V+[Dj3B#,IKBYbQdQ3!2A6eV'*(S@
+
+rkT1Zkc0l6Ffh0KUhr,f)mq)5,)@B@$`)qAU[kEAqHEr9erk0,mHfkVCITRh@mk8
+
+20Nqh$rGFI")deMcE,,Z2GYHV[2r'*V,2p0YrGX[J[r&2P,cT8k9XVAi04mc6qID
+
+rcb[2Qrdkccqa!4*iYjlpj0lhk@bQhRdVbEHHrFa64qRRiTjPGb)cJ+ViXI5N$Sq
+
+keGc&Z2a)Dq'ZjD9QM(V++f!)Lmba!CAR5$&j'*c0Ic#9$kZ`dHdjdIR@h1`1GVq
+
+GfHCCH0X2'YlMU5%&L9GHa3cAc1dQf3J,!!9Ya'f[%F@-Z,,a)GIibPakrQGTc)r
+
+-YZCJ!+fi#YKb,H$UB)[KBQMVqG$cS3LhDFq2@YXV!MDr8pV9MaYIG@eYBf0M%l1
+
+YVbAl$5ejA'XUYY5`!&EHP(a0IPA&DaJ#3FEAd3X(JE#0fYD2p9rKB)1[LE"NL(B
+
+9HecE,0YkZcQ[i@$MDrI"B-VB4Zdk8If,Ef-$TDreY[cBr-erTfeDabE(a0[cYIc
+
+j0DCcpMcpl9eA1YImYP@f1KZ4kK*qeIfZQ+)(DDVAbL'9$XFcEmqcq#fd-$fYIPp
+
+RPf9[CGCX5Nq`N!"`L$"PE#`l6him&X6&GI4fp'2cGIP@pDar2&`X5lf&D9AkIUI
+
+M4p[(&`SqcMkr2fr4MlIAalE!XBE'alA2eibKGapMEEV9@rSbI4SIlArhYeq0-aE
+
+,cl54e'CerMl$i*2M5I)f(r2YIc@@PYS"3#pl1U`d%hUUdANiPEATQkVX1Sl@YCF
+
+Uhj@cVE$PGRbV)!e[i1NL@-6Er4f(k,Ae*RpdrqlHr"EIh5IlVrp0rm'ld,Aqkep
+
+5Iq'4bBXc%QDqR$R@r+q4e2DD)bCHl1VVr2l2pGPQl#meAH1)!S`mkhbrNY0"YGR
+
+VYKQlI4Mrckr6-8J`JJ%f9@YSZ`UpT!+J3E-83l2+XXVB$V$54)[#a-rB%JU(Rl$
+
+,lAViqqYUZ"Rl$l[C`ajq[iPYq(USJ8#pekC1TkrVqdj0P@e@T&)2&frLaqPVmT*
+
+JkL*epEB-C-f'D+`9G90fGEAmEEp12q[BCY[HG6Fp4A!JAVaLl#YfQdMdEEIB!G$
+
+Xr*dY2AieY-dR-Lll%phBFSH'!'l81YER@pVkHhciripIr"EfI8aS['a+)["RbFV
+
+j(`EHD'!QE1pf&89JbpKPfqMT)X@ML!39i,mMRGRQf9pUVR!Ql#Xp@JXI%lAPl$c
+
+*2T@RhYPkfpMbVD9fqbr0XIGh2qd2qdr2PCpTQ@2m2CrDf(MbI(dr`Arf[f`%5G!
+
+%'mhHmYGjXY#e[*')(!#)3mD(TkrTGTpqb[,Lj&3-VXkSJ#VEa1UVG4@kr0$J$rS
+
+1"9XL30XrYl$lrCrCXXcBH(FIkD6N[d34r!5)0ISKS0(AjpYRf1Ce(*F3!R8()X[
+
+YfrSK!24l2lGPk1`ZEI"kQjBmJMQ$%&'(8(R@r'`*H[0&#2dpKpqhlcUCF@pkqVV
+
+mX[Dpf##))!bYR94B)mhj)dCBc(rd3Gd&!rJkU`kQ*fYEj1[PIp02aGPrkh[a*Ap
+
+%VlZbdGPphHA9VLE(XVEpri9SiF#E*iH[cqem'bU[#!HCX23YqqkQjkUilArEj(i
+
+jArpUI-f2mZppbecEAdYPdYMj1lp+emRBq6ECfSm#aaqckI9cELYTTZb+B-V*PGl
+
+XUXqEZL6T3V5YaUH((cqeV$-(V@RBhrVERa)HG*UhqCXU[lCJ[hqC*V@N&M(YY[*
+
+UA'I+TbLlhq26hJ#2KeY,(MQ"4)Mbl(#m5TcPiX92*2YacURQ4rc920eAHi2YE12
+
+X-cXqABmb4)Q6jPl0TB2h,k61j0e@RChEeEE1MeBIb`jpTqbAkHPJZ1KeR-l6dk&
+
+Ba[+[bZD5j-mPb!%,kh95)m5#`JM4E#V(YY22eI[3G#`R`fG'0"p2Np5`05,$Taj
+
+QNPfK+'8STJ'm5Zk&H1B@-@29YBpa$H61klLhV3r@EE$@ZKEqEIh@Ql5#+S[9U(D
+
+[*R$[EGL3!)600Y4VDI0N&(V5FLbj-UYF3AQ2h8&Y&)U6-0beMfeP2kL4B34!N!"
+
+Jf[6Z*B3#BKXX+1&!UC2*ZN!IU2Nf[[A%`+!QJ&#NaSH&DLferP@PK%L%VVdl@YF
+
+FLm`ZkS`li(c(*VA1YXi%'UL4e*DYCPa`,c%iGDej*rDPKdjb%%r1N!"Ul1#$Z,b
+
+Y`q9EU3KjD!NVm&[jGrbV6kPG'*29lDeELC0Qm1YF9pUM!5)E@eV@aMX5-D!AF$J
+
+BfUclc`H(%Y9+m8MEcjAklI0[lc6'UaBj8HYDjfUUcFlZUYVqpErB(EK!SPH4Erm
+
+lrr,6rDVY+%!$-DVM6HRhA5YI[fpj*Z96UP#m9r9Y$F8XHmMrif[X"!2BlVf*9@f
+
+qUXNH(EfZjYTmqR)2kaBjmI2#!CpjRm2NU@%)q!*DNXkIRfKdX@1G(TbUZUShQMh
+
+3hX9"LfQNq6+RA&ABcY41VUeMRf9Decp9ShJD"LS&@56D,@CEN`+3!'TTDBGrLAR
+
+4fHhq*f[c[IRAQbr4HGjHIplbRIIjl+Pp(ZVRp-6jPTm@rVAIhYRl[a2[GYj&lrT
+
+2rHQCph9QCplRl+Ya[9eB8#31XVZp`0'kZrR9VlYYM9QFkmUcHII9Vrl[dFbj0AL
+
+Zj%(3NBB[K"*LbI$)L'B@fh-NmL6bE[NkXUG2""&P9BD-)V)9BZ%5D[mV[l'VZ0V
+
+T@#$DJ8`Q"S%%UY*M3j82Xc10UrAa)c`3"%T0D9UEIT@rLbI&Np)M'I6G*"-fY#Y
+
+Gb,beQeVk(C6lc([-QmhPj[,caYC$YC!!k3#6(Kjl#3F"K5!PNbM,Si4NXZ#$,3%
+
+Nk0UAe8U0+UbY0H4lU`faP-b26"`!56pf65(4A%PD)d0Sf[d*RF5kQ&JSJ%Y&!`T
+
+[%RF'qiLVmAe@phdcRD[,D3"SJQHRI9N'Q"ldl[J&-j`S%XHE61EI#0J%CppShPM
+
+3V6ZdRG'kcpAjrD"i%),[`,leV[,[[AZr%SIR[1b[2dcXqGRDhmAa2blElD$ej(3
+
+%[0'p-N&K)1!%1i'ZUbppfTHD8+el%I#HGeHD-cI")UAbDda`3AN&p@kcak'KeRc
+
+1Xi&prKeQikbTIHheQ*m5TmA+fN9KAJB-)*lFkF%#kN)%630C`VVJlEdd)$&*VE2
+
+,R93U`",hdTX@mUhP2@B&c(`babQcZSj&Pc,,q1bjGPQD6a(ih-Fbm*L16bh3lHP
+
+Zk@jBmqBd*R3j8Qfda0l6h#I(fGEYiqlMlR,*`P1(EYE'KRQ,a&K-$bH8-1h-(VG
+
+2+UMY9U&0k8Cp(!Sp[[Yj@h0%MLHp$l`[*jJqQ+M6DF9r@D3$FP`&$L")MD(!0q%
+
+Vm+[eb,rNl2qEHq6[2)h@A*m)@qrQNqQQ)L%eb'NSRN["E0qkDl#mam+"K#eh0Re
+
+F$Pldd1Gb0@2dX$5%Am'caqhJhFAG13)!#@8283f"PAFKDUXr1`-rYrHhITKS2b3
+
+rNKp810R3ribId'I)Y"RM6mB%'9[+rGVCaciIC"%YBfY)b5BTdBI9RmhCj@pe`D!
+
+[T%9!3jB%#cmmL!,"2KdcK`*QjR`hX-jIC*`X%a+23dR9)!X$UN')(SbY2@B8"K`
+
+%3$G%)"Q93c+XNj9SYjR!K[Q#$ME['h26KrA*9raH54hH`m#*"0[llCj[ErVhIR[
+
+p2!ec)1"RG[REZVZ@84$GYBRKB265JAlkS"QK"1%+ICdR`G0%$N'KeIeYRd0l`0h
+
+Nr2Bf&$8BFB!NM#EpQEr+$`'BjZ[ia,(hf4K[1Ncj2GkE93NSk(Rl+YJFrYqHBl"
+
+8kP9V9NF56pU6DkD&KJ*dqF(JcYhiHkLbK8jkF+dm"JJbTr%`-!1"kfkqrDY`9R$
+
+8"S*!S"-Rm$!cYl@hI*h-#8fELX)e8MQMS$-PFkI*`+(EbYc[0jm%Q84![(NrY@[
+
+dEMp&VVT'e)(!5+rm6Cq4[I(hRMEUXcKcmi,ppZ6V*2@kENc)PlV,lrHpeRl[amM
+
+bmMbqXm[V%"2,Zq9HGEHEqEhfYZ@iBPrQl20hYAGVliaj-H6SbI!&f2TPkK9%`#!
+
+*pECQVeqh9%3G)'$jM0+$a$8&)2*hX1lRERJbAkB$`*+J)GEXGpXk[EdGhbpeHRi
+
+(H'qBF!Mj3N5cCQ+JaJ"NL!2SEBZ-hJf-Dm$rlGEG*9p-Zi`X+,"fUippp$aC@rf
+
+A$SGe[H"[1*Zq($m`+Leb-9Tq(@BUrQhp8-qEQ@k6#lZ-Zc'C[+kmVAQX[,cC(1M
+
+hhdISmHmipjpqmqrH"2GCH9YCA2%[9GkZ,@mPANUm$)9dU!!PDdUN0ER3rhLAThl
+
+Fie'21Nre!`qM$r[*mf6I@Xh85`ST9d5I[fm[HGIZbpB!Kpf6$DciH)mH[H*IjJ5
+
+$-hQKZ[4!FP2[*NqSakmQ(QCGf!(HhH9ZDF1fIa2e-BSThrZi&2YkHlTlVh'K#9l
+
+V34)fd-Z60Kqr2k@clm3pbYdlE32-VL6A"-[hlrhGRjS)2ZEVa`(IFNrF""pb6qr
+
+*([c""pbrmhCr"[I0hRQlVi!EI"*rZPGP+imVXV@`e!fma[kPJm6YrAhIfGe1KT5
+
+I$KrPNk%VmZUrqV@V)a`i#-"YJX(1(EepDh,eAaKJ'Ffmr2`0(YcM[h1MDr[#(Ya
+
++h#!NVFI$96*+IjSH!cX0dMhH+G11D(LrFKpBjepU1c[QE(jP$fPcflN[H"IM`(,
+
+QEFb*LNR@TMD8+[Ei@lhaQCF`IH9C+d@SpVZG4-$`AV53!!3!K2@[T[K31ddd8K[
+
+G'6Rl(mH"krcrc")2C&2[9Np'6rh-9MmYYrfNIb-qkR*(Va83hDdNZ"$NM((4Ncl
+
+@R$epTb@'Z[EqUa8#MZFX+e`#iHV3qI*rA*qrTYmTL``rcaqpc`S(2""cT2Xb[CP
+
+Fqed,ERb2%Y3J%Uef95KDLN&V[-Q9pJ#'JJ)83Y$8H+i["96Ifj!!m63JU)3lN!!
+
+N%2K%)iS&E2,hYAG#)NLi#AT!Sd*2TDIV"jp9Km+Im`Ir40d-`YkMj1D`-6"aiZA
+
+*1IIeF(fZhrpl[rEFq8&kR3S4HFDE5MI"B*-31"f1plVHE[GGL$C'bkDFNPAfShb
+
+)"#8$+'i(V`b&UZS00iR6)#5FZddB$RY0J*Fb-ZbYV[kR@mRU2%X[9X[ZLLRhp2p
+
+@ZJ`CT,fTh[YApDpcTeA"cVfV-cYAPf&'hqcp$r'bp#9G3`D@*VDdb0-M!%e*0fD
+
+#QJE95il`3'l8d$)8(5#r""GaV[bElT)#AILRlpcE[0ZrE2eFqL""M+[-5mpZGRA
+
+[Nhmkqk8fkI#!C8c1#0A8fPHC`*XkGhXqk#3D8[fc1Ul+Y[ihFCA&k9'0`IETCe,
+
+1!*l&1VaZpSkV#F%&'0`-5MLF6TF$%i'*`2*qKUH"'lV8palEd3F#ki25TI6j-AJ
+
+qh`Y5mXm6RdJ#$"aUG,ZI&iIXBZEh1Ti[5i9dp%(F4YrlIGBR&k@,5i[YS#GcUHi
+
+UdHNq#!+p6!`J*LkQRj2&cXR*IK)-UMl(&UdFlLqah2Epch[&T8IFi16a(4"&F,"
+
+5$2!%D@*&JiYAEDpT!+9ea!N(%B5$Kq6[mTK`ZPaXR#DJ#V-lfqpZEj*3De2@Hh-
+
+TAG+CRARHhViL#m%DAh5RCe$*[Cdi9%+*(YULBp9JQh9$bEh*[XlV+A@6ZXME+PG
+
+cRe@!r-fT3%D#,[b@+Q8VhYfL#,@PiPph[@GT0ZVh9AJV`#*"kFq,!CejdTQG3Uh
+
+Pd,4#da5Lh!X)K"%dZ6V3C6-UmpZEG)#1JJ)0fpcVh5`GC1SH60bGMr4XFfKQcI*
+
+RG[2m0qV`6VS-&k2@ELqlIV*ep1kcbD(El2a8Z""4JS`8Be'[Sekl#+*ZpG$5G#`
+
+!P&3D`SVIC3!PRdeE*d1QJCT4pl$$,N334YYL8U@qT8D@qbDdDM'Qj0p1R6VDG$1
+
+`1pf&,Vi[*L39d#TN3(%)k#S[3VcLLV`)335cL`("26`UfVj"R#eBXHaRlQM-jPh
+
+bEmFiN9GAP@KR'@@9f'9UcYHkbVe'9CFMX16ImUrj9hbVX%%Z,D$D'NbYTQS3AH9
+
+Aj8A2fq0J6-$'RPI+dL5jNLpYcCQ`TN[4Q6*Xb+IEcEP3bI-*!8LA,Lb$AVM`B86
+
+@&mh0ciTLflI2`#&MGr`AeKTSdXUJ@aP(B9BPNEZES4G#2iqhmECbLFN3i*%L@GZ
+
+))2XBAjTHK-d*QKAk&R@fpIJ9mq[Q9mbiND8-qC@GP@fdc9hYhQpCQp3DrIB69CG
+
+#Q8*'UP`5$MhMR(V,12X0rR)',MpQ$C-JpfC%%QZdPEDFV9KXEbYe(+kJh&GRbVq
+
+YImUB"bAc!rpce4k#bjM$2i%@qfme'IRJ3$38C"GHJJbjHA-jdhFaH0&Q"hq&2cl
+
+r`Eb)%!4SBG*@`S*H(-bCY1,6Ldp[6`+Fr&RiXcel50,PkHC*jGMbm+D(JT6D8@P
+
+&k@hpE!#`Aq9IDV6'LcTSmV2kVEpEfHXUARMhQmX0je@ml,3f@mf8VCAPjaG0P5r
+
+#AKcBrMkfY,cjQI-ciQLkL#IRc0'4i8[@b*d-baQJJQAGlGqGe'ET-h5C[lIQE+m
+
+f0f``'jN8iH&Bm$VDXZM-i%cT41P(dG[jqcjGr0[qmRHPTY9,i8M(NllUUfd5AkY
+
+hb+rN@A)l2NE2NAr)[i,k$6)d!T6T$X&eDJDjYHIP[YD`Ph4RqYI&2fA"D9e[@X[
+
+,fRPk[bl[blcbqSmZbm[Xr,fIVY@I%rmbdm!6rKBA!PdjZ6HG'`Tp96l+RXSqbJ[
+
+)Pi6ha%&'(hV(RE6,eQ*Hm'CmEU0'a,j#rQ6qK2ic$!B9Td*ArEUYleZmeLb-A$`
+
+6p#IpUrmDl5`'UY-D6q65CQdc0AQAIM#X%0M2ff22jpripr+Qr5N#U`Sr)&3)CFf
+
+C[jq*%dB[KEH%9Hhdrel[i*(*Pbl5E*mfak@&jdZIGPZ2%Q#X%br++$L3!#C)2AI
+
+5FVDE9)!Rm5*6Lifhi`9lI6pp-U5-'AKDIS3qVBjqecpCRhQh[)pKYqUrel(RKB2
+
+bckejkPTb0@IpG-[pEPDbYHCPjieK@kV-l,-[mZrblrSXCILfKE&P16!Pm'CkGh&
+
+kLVBc0XaEkI0(Em%Z,Tc0jdNAVDZVbl[,Zp(U-[5CHNdIfl'I"2%!!JSb$02XHCY
+
+2!Z6+IQCmA4XFqacrRk,%`CiQ$Dr$r4*j@NjA@rYDc3Qk&lS@1Ke@Kf(jCrUArh,
+
+rPAPRU4H!9J,2qdQk[0QHGePDa05rE8CkBJbTYF%J0'1'KBc-,c0A@Zr*Zaf!aD#
+
+pRd4j&i1RLDXH!"S2*'[md@!3JUk6e[fr@[bQRGeG2%Z3!1"+MG9'khFDc*[0aHE
+
+L`h(9EMUZphQif8EC4VbVTSTI[(5RBeF,-eCXUAGD,ZE(4XHIZG"LS%N9JKN6*1e
+
+(J$9i-VU""RB984j%J%!B8MS3mc5FMD40G@G*"f@if@if3",j(J4S10BlR#cpAi-
+
+hk8b#,&dP84"`Tr0fAfE[fj(J5qF&!jpMSE6fYCcTR1QHee!H$EFqIcTr2Rmqlqe
+
+TNf"aSGpBK30CUA$3G,X#j2,AqTQD@4&Pm!a`Fr5B`p!aTRVhGU+JFlEFii'kbI4
+
+5*'VL519$kR9IS`[bTp"0d)fKT0$X2(%[HTIlql[Y0FVcBN`k6q2#qeVZL+`CI8H
+
+PT-[X%Pl2[cT,N@-X3"$'dPA#MDbUEZN0K@kQ(X-bIQ6eKU&rp,j%JlpE(QBAVr*
+
+rpAIpYjrmf(Fp6h2BIfcrA[k1bQAX,$J&[HRJ$,EA0#`FEEHI2mkrcGPHATJ2-A!
+
+Sf2!fP@C6Q8jP1`VD5*f&Cm4!`J&M-%`HG-qPI9SXbamjK`*VAX$&B,VU[NGE9eP
+
+eHGlHA9K9kVj(CI)fAb0PJl+k&B)fV#354I6DCHVdE[UjNb,jfNp(X1AIm[CFEC6
+
+jYaU0+iX"PE5VUiXb*GeK@#Vf"5[43,c`l5,,PkDE+["i"4PmklMhe+,If0Mf'LM
+
+I-G`B3Q#4*(!!N!!R8'Ae'Ae9EE3*Q!@J,hqAL$m#IBm3H3$+%c'LEU2@l23`%p#
+
+r0-YC%-[I5+N1GBq"Y+c)J&D*rA(`'1!EHIfFckLF!FD!L%Aq#lV4$dEfjjGLB0"
+
+LB&QJcE'YK6Kk!DSm5YCCfhcX#Uf)&)Bi"*Uf1IKCi3!Jj4#0"fGE!`TrqXr1Zr"
+
+N40AF@RL5Fc5CRAp29rB[2YAR2VaF$Xr`$(hQhrQhIU@R*eFDdj-Rpl5I[GIrheI
+
+r#mrK[2pDr2kV2l2lSD$l&rr$GqPD9c#J$@Q(GkZY-r,-hFA-&`0f2J-#I5QHS+J
+
+#))B4i"h%[lPhTTQakM(dRMEEqbIm%r3[j-cM5*E&!"iN+!*-&@+G9HfC$H&`-[6
+
+@-[`$*K(U@&ST!#@!dQD1`&)#Zf5!*iL$%XH9Y16,LcDSV"-XEhE%!LrcCrR61mY
+
++ecp[6qPDq9e2PEAbYCj8hbT[Sa[Yp9r(f2mHarNf2mQarNQqPm,l+JJ#m#fKl'B
+
+)LL(6hfIRl2cVqGXEbCqF9JSZ#$@bjTN%6KD#Gf35"j!!B'%!kU[f[*BL"2`1CYL
+
+`DiS"i%Z*)'3,(*`SdZ-'!KLD%IBlI(`2T#32(ZqrN6,QddrrUeY1TY0VDDcrc0k
+
+kEeeKrjkVYZbqAX[Pl,jHbrGQpEU0T,R@KSfKi-h9qMGrmK)"2jfpE!alrfJJ#@!
+
+6Z$jA8r-kfYV"lmaX#Vf1eRm+rdCp'BCEc""2'30S3!#0&e(i0*jIBHAIrJ[r,[r
+
+,)d&F6J$$rkRmH&km[mej9QHc&cp*k[BG'rrll(qkIq@BBIiV"p+(q+apM#UbrB1
+
+,INa+NI+&i)CjaZc'6hl3jdf-J*r!l$!0bm2!@2VNMdDHKAcX5G`qP-cE#GTY4[I
+
+)0Il8I5cHmeQqePcYCHf8Z$5H&Y)ecrl63!8$!l'ef9C3!,`ahai"R`r9Xkf&YGC
+
+kNhmXh3X0$UG$XG$CD'ar,XI8Qq[m,1C(!VD5[fN69eCN%c`)SaCYP$qdCrJ6!hM
+
+imJbV[NAGAU2%dRm[BHrIjJmLc,Z(69TIda5!L,B@J-!FbCrq4DeMr*Y[5Rrb6`#
+
+AG$6D[9f0Tr"*qTe@KY2-eI0[+ehrAe(pHNrVl@YImZrm`G3HPDDT0`54Z!2!*JQ
+
+F)-"h[BhBMiI5ADI35l3bha3#Y,i9hR%1$Nf0EEH92mUH!5Cj9T@eGD3DBYMR"!-
+
+i)"'Lrr(9IQfhUE(qlBrh%q$LDEG"i+B5#RKGM,Y"j"6LCePf'hTl1Y2TcqM-cl5
+
+aC2Jr'0`Cm[piAJViR8aG&NN$'RhXbED9KB!c$G*9&J&Kle5'"PED11i-XN3H3ij
+
+!p@!UaVQaQ$%(6[r3f9mb$!RB(-XG(#p1@FF-cfHSrCT0pf1)-3BKL!RM[,p-*"R
+
+%F$1PeCQd)!($XIp0Y[bLp`jqrQIk50VV6p+kQ[MI"LGE5j@Zi-EqQc[06`jhqPp
+
+V1phmk[eeE@efVm+mKe2XG42ff(4XGGS`FcUZR)A*6c10cCQG,dCH-2)10$kBqJ#
+
+3!#C5L(QRYmh!2bH,J'QqPJ*19e1N`X`YS1GH4ZSrpf0(EG1ri&r`*rqXc[02@&!
+
+00*UNq$dGAi`l!mDZp(5CRBFm,"lGr5Qj-MDU4!+3!(J#!0X#$@G4H%L#M2bCjpd
+
+CRV@RJ5keSI@YMA*5"9%KD#CYV8*m6!'1J"5!9!Ti9-@!j-bY&pLaUlEf*p8NaCe
+
+hbT%5AiNJcIl(RBAeGC@Qh-cE4IHXGDA%(,)`8e2`(JJi!`"6[+d@RT0(XH"XD@a
+
+k@biNfPU--G!4CAVNm$`rLGYGaCJqP(m(0[r!#36")%5AmU4mb9@F9!UM3&A544r
+
+"PhqL3!0'dbai"JbCK0!rU)`(p9hpVU13!%B$mGrr4Ie,q20YY4BbaMk'Y(d-+Y-
+
+qa-i%(6XCTqNm$MI5Q$F&rIPX"KDBfl1UT&3$I#d&+`UL))0Mp[Br`i(J&8$M$U!
+
+qaim!l'jq6HQAl&e28r0l,El,EhmICHhII[kE6Dh`Y0q16k8Ubkl`a$h1Vr-X+h`
+
+MI0l[d9IQE,dE5k""RJJKkl0Zr8Zq6AeV$+q&k-RqMZrk,[dHXbYPpQdMbjPVTT9
+
+DcTpD(F[-@[VG9YT@,TmRk*rSpPNE(LkM1eF@6i%1fkVhGT)ZlLlkkZrcdQ(*qGT
+
+rQr4qEHI0f2cpMl'SlLABbXq(,XFcVrf6H"0a+rf1Th%Vf00Z1mi9jRd-5If-MjH
+
+dm$JqfIdI+X2E`VKC'GKdSrb)Hd[DAdD@qa*IfE22eHeY1eNlEU[HfQpeIXAHiZp
+
+ae(XD6FGKZ0PdVrF81pQlL4V3i'A+r0T-[VIDq*r"Gf*5Jc0*dq`c,rTQlMQAFr6
+
+5*H(DImTA@D6aGTpVA%M#mmFM`IQl,m'cmHrmICq2Gq2DDNJ!'SrU[QGJ0eAGDm)
+
+X&NSX'E2[HXUXJ!0SJ9HYapC([,@mV@%MUTRCHjXVRCBG$hCZ(U-mD!qa$kA9IRf
+
+[fYGriQrecIkl$rcBrmH`rqpPjfarS`IhT[eY4r*,MPi"1MpjeYDjcCZEHHP%cHU
+
+cHap*C-XbF4`*N[a00cj9AUHIeY@jjjr0iK2!BX"Xp'lbjR2)B(0N+F"@fRRD[3&
+
+3Z35!13#$dpR@ZfXJFEiGB6"'kh[4F$[Eb-,JD2B4Er4fF@l)j`3"6J%U!Pi#P%+
+
+KEMXUZbqE3jdhf1XrDdrc*G@4))i&TYIm4f6l%b!plj!!A!(Pl-L@AIPfNE9kLdr
+
+qj2pI96YVU2L9,ZkZlfZUD5(X-'rKfG5lKZjeT[bm!kF2mpMQBAmm[-QG1ldDl@K
+
+30EIk1"!46[#Y2#%39SG'%PJ*%(@9m@V(hhBIIRk0hM6r1fAI5,QAYG2lXRXBFlU
+
+YhYHP-(S9TqpB9"U)K2'hRifVVD[`,[`2KjpGQGIrM5k'Zq#0rEm2rE8lblriAIM
+
+ppSAIhYAr`eIMMq$fVI`0*U0VrKUpYGrA[,Q,mVU[Dfh1fAYB!"')!Sc,RiGDZm,
+
+DD2F4GA9VXZd0T1qq4eRaZqprV1heha[Ll`V3dC(1VX[VHpTefZllU1fq(hdJp+j
+
+hlAI!%Z[RDf*UlQ4j`h"jfdQND$cTQM&mkadGYYVmr'*#ZjYTbGClZQZCAYp6GGE
+
+dGApUCr`[2rk0CG9rYf1`fAqfam#Eq+pmUdrK9e"DM@QeQkc0$`B9KlQNr&fAZE(
+
+bYPlQ"qpIIpj(L`'[UXjH4c,M4EiVb,%#NGI#Y#YhNE@46FpNA(6Vk0K40"AJD@P
+
+(T3e*Cm+S3FD0,L`(V5#5#0&Xk[94p2(eNH[dBN9k)+k$U2ip4r2U1"HdVhqriQC
+
+L'L2+pk@LC0*"U,MTaT!!"5CV2H-c0!5CAmD*,G)"eHSXqR(JXqK(XEM41C2$PF+
+
+mjHZYZdX@L$Ziha[Vp6eHRk&MBfHM(c!9)#CNIcl(a'L$k-lj1MAc,$TQFA9M3bY
+
+'mRGErkJfearV"$DFQK@lfPmRhie'cpk0`+"S3bZGGjIDrUV[%Z1RA'8-K"qj'ZU
+
+XkLEkY+kT@&E*j-kY1cTfG1cVUVKq!dN(FC9#V+[E2TkUii2[aSE$TaIb4[HMmk9
+
+kd[`(p*!!@A,Z1R1MmAkXVj9j4krcp,)3JaShbIIXYcCqr8V--!(DX-[5lR98GG2
+
+dZPIk@#ikH"6lAmpPb,,S5Z4-ahp%%R-SD1rbX,rm##Hp&N@([336$@ZX69KaPVE
+
+)#1JL#mVGa9"!I'pMQ3Fl'jjh(qHGQA1NjPV$$M@da`3FJa'2#VmIk61`LiHFkGY
+
+,D)*Tbmp9'Vqpil[+EhXU0+M5Y,USVK!$iAXI6V[5#!B+)&$3IT!!#BIYRUUN5CN
+
+,p3Vd2p'6r@GkTV(2`J&E)AFN[C(02qIG`mCdJ&h"*JdNZ[rpC(bC2aC2a8"!#I*
+
+YH%m)!M34i)FHR$i-VU4S4c`UH#!edE'M"cFMNR'$A53A&R-XkflKJ,[95HRT14A
+
+FR)Alaqh*p*K3Xf9JffYB)*FcJ3qeeAJ9fjak-RclAA5G'(P`qFH+cTS$@2@@aA6
+
+3J$cPe4TVGT!!##B)!dPMAHlNIHNrHNql*pd!b"A$F,",Q6SEZaQepE)maKI-Dec
+
+CAhj6di%ZlQbFfamkZk[)FjDfFZHA*mLhX@#$$ZkD[Z+lmH4rYDiUkdC@hYZaKhF
+
+RmYYr)i5!mHG*P9pA(bj2NbZ(ED-R-Kr)Ea21Yic``&lBeB!`%19+eQUZf&'+*MK
+
+B)mcM3fZNV3Bf2l-Qe2iLGXm1($ViBEEJ1'JQ)39m6(ChJJqEkleEE`'#!JR+qBJ
+
+M")*NRqS6"jiKkmI$3(E[T+X@$MeSAhYel5fDT"$-miRF&rKM)MN9)k&"(LX&G%Z
+
+mZ(eHUV42Q9'MVl)Zj93%e4SmGa9LE@mpf9[qUhpIlY6IbYV+pf9Tcbcr5##2UY1
+
+`N!"i%c2PG'am+Zr0MrEPIRNkD6rI*qE*fpVf0VrIEG``38``&-2"6$!I9$0H`'Q
+
+pJB!cVE`h#J+liUef9N9C)5#epL(1NqYDqa*pCT`+kEGq[*rq0*r"AIHb2d`rm!N
+
+$a-eZ`X&FD&KFmC9G9ar9NeT@BGLZB#$-NeVGe-(Q3rZG9@JmiG3HG$lFQTDm56l
+
+%1pKbR&31VQB#FiVrMe1mPB!IlDb[Yb[h*AS@[c,EPX%()QIDNrrfNlQ*qe8reYI
+
+5PG+emNmar*YI*YI*H+JHV+bp*ZDl*arcbF'eqh*bEAjX2q%RYTAcVElE"!AYdVX
+
+Y*rm9ffabmJPEkfc5dMqiGr2Qfe&JJqVGjXURT-f[V90a+ZK3"H#1Y!*FfrQY*"F
+
+9ELV"'JM)#@G@cH!bK9S!-XE'2(S8)mI9DU2(U!)XHTZ+c48J0F#@$`2pk4-XrHJ
+
+(heI"(m,6mk2q5dk%ER3qYAq"A32d3DD4+jeVQ@qC+kFRaVIH@Zp[IN5l%jhip$4
+
+QFJVEFbqkFcRAI1Zmbl@m*Dr)Z-25kZjSHPH6VbGH6U%km`6P6J[*&j1ZprGmQCc
+
+*G6#`A5!ANZGHckYj-RAZ$9RBFlJ6Z&1QAAb-2Qbb-Y-$'AX&#*eP6V)dlFGChTc
+
+qplHkQpMDh5iF9d36*&jdc-$eTHk5jR3[2$QFQqr0Ui[@ah4"H5*flf@pREZK@R5
+
+*hM6[c6ZG1jGepVVY+r""J6Uf$ZCflR5b9eYjh#ZTQ(6!pA8+ehQAeDC4*j9'K@k
+
+cZU(T6BppUU(TA-IEf-@,N9BmFb6-$(i2#p2Z)[d+Z6-Mc)i"2RPqj)0QLKk0P&P
+
+DJME6S),2Ta4"8HaX0&N-(')$X6*V4b8CYmR(TF+P4bH"5bD8IJamQbp[jmDI'N4
+
+HVPpA`2MHeNq"mIUIM9XRf1&l(#pM*Ur'p2ih-q0cINCh9eYYNf-6(Z)BealHkmA
+
+MkUPZH(lp5T+pZ95P8TAYfXE'e8b2XIk*2Ycr$eRqYrkeVj-r`kPBM34l24kXpME
+
+bPIG+AiF()Jj#b1QHpZIFD-(0JjN(-3%D"MGj0[L'YeQ9NaTf*G8UFl!R3kQfM6S
+
+ee'`p,"&N4"hSGK9l'bF5GNh@qTdF#M$4YYp1hee8`m'!jfMkCU`dlfQ@U1*VUe-
+
+e9)DGY6REHkbm12"BZ##CHR0VI9VUL%!q9$ZEE-RIBe`RjK!%q`jPlkH6qLGl&el
+
+022`2BKr4EHR1jPekH(@#`,rEQ0eHq[NeThVhAV8r@`!)@fI1dGGdHZqT"'$!$QJ
+
+8$1bIjVkEGDLR9`$ZbYSCdJ9HPK)*%0V$pU(Th[1bHGIFqkV8pMJE'(GfflRICZL
+
+#2")Y+-23K-eUp&'*e+klfRa-#P$5YN$2@kk+%!L$GJ%QL$A9DG*`3BPePGG@3JB
+
+H#2HpANkDG@ZT01e`$`aYSEk(AER$RK2l'9E$CfCeR1UG2V1Rm6cm8[F*1CEmkqq
+
+[VVV$keK`15R-!`"f,Dh1TQbT$i&Y"1JZSM#3!#0"-NcHXV9$"+q*QiZEXappEjY
+
+pQkl0kkVA43m(Z3q9$j9lj96bThP#J(PB!$VB"PejAAGl!8!)1DVG5[Q9ec8,N!!
+
+M4+PD2$'Q9h-Jk&I-Ma`S!Tma8$&[XAAHlLqlJHj$lJU"6ZUE`S"L@AYVNajepGE
+
+A&VB'jKjeYcjh2Z[cGGiB))B6p-3eEh-U3cV8+"ZF$4KjpYS6[(Z[(kk6")#J&`"
+
+Ac,2!P6TXb[P[m+!4IK%@f[H"NqY1qTVZa#!+Ej2#JIKklN`3@N@(eSI#NeEh2bF
+
+qGRK)$Y8BN!!bpGPpFPS*F*[F5H9eQPbBCe'kmbR3fI["!*XipKX29"!"8"5d1XU
+
+e%I5VLhZ!CC&X9PEUD`d%K%!KpLpUj2X6UYe%$38BGpE9,l%(3'UJMb'b&Xm+"Sc
+
+[jpGGiYECqE*r"EqlIIhDlPGGi0G%1aDiKqR$r$HrBbIqNll&erdTrJ`2mSIX@hf
+
+*hm0ep2$j8%%-Zamk4jNQCVIN6mDmk%[Q9lq(!Y*",3rP$3$)&pSkkMLllCeT0+h
+
+pZqp[A8X2L3F"KJ16*UpCb+RSAfCV[3&J#+pErB[[X*mp"!EZf9Dj9VP6ZP8h!b"
+
+l(%pM"k9VPA$(J'*USN84!6$)CR@9@1`!d'c)f&[PAeAAC33"r4"4Trhl20YIm,E
+
+R6ZLe3!4!D[%)Z"NcVkVG6X@VJAXQCEqMIF[A91Z63$&rK)!`"1UkkZ#3!"RN@pD
+
+qj3H#X(Jid23#!(@N2!0#kd+GB9JTff@%XMM8%FePL-`r""$$DfpDG#eh!pJ3G9p
+
+qdZBZ(B9BfIBDq0mq0dE$b)f"&KH+3D+6"GD02pi3"Z,IFAfiefikiVM50,$8Nmb
+
+(cEhfXRjSV"-BV"NM`$f,V2`r&VpB-!9SBN03H3C-l+eeE&j@c(L3!23%8#I%NA%
+
+MUYE&bD(mYPVG4eHYKXU9I!rM!'f(Aa0L[DY5Q0!I9$!%f+fpJ0"RBIV34$5f4S%
+
+c!Ac&eR$F#Yh*J)+H(q'[L#i%a0"A[Z#i(Z-%(K3rMYUXlmGel[AC3L$"Np1(lN2
+
+5[IBU9VlIh9%-"[SDPYR"J-[VT8&b,J+UabZXYFRhZXm!EJBkJYkXl-ehVGGi-4%
+
+JmBdHY#pV$Z#YG@Y1TJEXIJC-k51S2r%"F[kVJ4kY$JDVJE$Uim29dU'MGq!3[*N
+
+kMGmc@60[(BqJKKlHph06GK!+02(B8#-*-DkJ`SH!,!8HXTC24F@JM5Hp&!1pedB
+
+EJM'5YeB`&jI@HA8V6SPe9Tefc#)@hcak"irAE%Cr(cNRcB5dP8j8lrhGBB5$6#J
+
+(X"S2D`rm!3-e1%B$*qa1i&edkFh!V3i&Yp)6CirAAi)%[pPL30h8VGBH,Q,P$U$
+
++$J6GG@`cldVj@&!%a"i&l9ZXqRSi'f,K`h,Kd!80MU@V3`5Dh@FUTq#qm[AIJ%J
+
+!3&!2B-2ic*VLC+KPC0aVpMeFqY3KhQ6F3eheDPD02Xq0Ap#`bE'2MrDqErpr0rq
+
+mImhcIr[jhrR)p+drPUI*q&m68ImY4rpI#kliRBBRaBqRY)3hd%QjkcpP5PIIJee
+
+cLf1c[C2V@m0p0'3+k)-3`j*rLDelrE8p#Gh9e"6lACrqSIAY[rkqhYef'(fUbGV
+
+$4VV'[N9q"'Laimc,JjeMc)qI$R6#54Am`J2FL,kU#%(-VM%UVq@4#r$NFf,q4"3
+
+ANj%%b[dEEa)h1LI+J-Mia,D-(-,MKNRa%!IV-&Jr"%K!-@AY#V'Q@A#Z0%!aF5'
+
+,S#4d43'-N6DN0[@JkGGd0Gc,CPUKdJ$d35qB[-+(QDAQ9r3VUd(Y0%%548RaTXF
+
+Mb4mkck@PpMjrXB(5erV4qE(jNIda@V*Lq"NeBqI6ckHI`Y(LCq2RlFlQ)qME!3f
+
+j#'kUYe!l3X[,aI,a8"2,UHAfIPfAPfAVfr+aH9fBf0T+m)"R4ml&bZ+*DaFUTj2
+
+CjYPpQbm@h!CfILfrKk5,&PPZK`+GA&bqjXH*TXLYYidH0(UfdDR'fmDhUf-D+S1
+
+'96iP2!iA'iRVC(hp[Hf4Nb@dh&VEHCE(r%IU!,2TaTNDC([E!VF81M"(J`)XM*R
+
+ajP2J8mlZDh%j12"Yr6MeSqGE%QMEjeXFL$#J6DGDRDm+2a,l(f[CeSqjMmkfje2
+
+r,Erj@re1TM4GYNdiq,6r(LqY`p(LIMarAfqE(Q@GDf2f'dS(84FReSrKBSmii@I
+
+a-m-!M`"fUHAfHAEaqTX@A)%',lZ,`qjiI&iH4l[CqlCF1biG[`mAKpTp'frdXGV
+
+&m,*cirVBT(BBL$44!,+YEB92KEI2YmUaj-ANK!2BTqa6Um,f1*9arVlH'bV4rRf
+
+h2aI(frf,DIBb'&JTdrlDITGb&!afP!V-8Jr(E9V(N4CQ6`SqH&Ji!F$2b2jY[hN
+
+IeE+fYZ06j[Ck@fRk6SDU4Dp[EI+YDeVZ09j%2'NFL`%"2U!(l"!MdV$hSe'2`PG
+
+381F,-6iXLieZPbEM@apECpA*K[+4R62`3G4qHTpUbpM&cFATGcr4aF2)LGR@XXf
+
+bcEHVLj[CJ'%J6-N-PLmV&VGcbZ,b-MpRCr`fArhCHEErrH,r$fIm0[DG6HG4@bH
+
+V"!PRUh%LBpAEe`F!I!8qIYr(YpMe-J9JKMqB+JI9iApR%r&Mr9frP4kXHAEH2Lr
+
+pZdjSV"Mp32Q!J(Si[JGciA&p()m,XmbbrCCI`frfmApRCrEYlRUD53"CHl6Ti[Z
+
+m+Va2B#3H`%!Tfe@R6l1YE8l(e)XJA!JTqj6mVKHja0X##QK"EeUIKGRclEhE(%(
+
+N5CUj&K-VZJ0#FL[PV58JieIc#5k!QaJYLQ!5CBH*DQ-%3lFH'@4FBm10M5jJ),'
+
+f0SbCCGC@iNI()"%bRMdjHhL&lRMDqAE!IPfh'KSc26[Dh&j'1L&4mHI,Sa26XZ6
+
+hpD@BEeMb%m`Q&3$LeXI2PCphRih4ZFqbrJYri12Ch8B%%Zf)J8bYHmcLFc(B+XE
+
+Q5qC%jNIQGrb0Bp,""H`F5$(*YNbCMM986Qf@9acq+!Jm+f)U%`UJF5YMq[$kdce
+
+XI2PjjrhY(Mp(9P8#aL@a6!%j`Thp$1Q6FF`BBKJ3Bh[5q0",G)!'J'[J&D,K!-r
+
+'dCH@`S'SKq[-r`[Im1*rJ%!r`QIiBrq%[f3X(TieDAc!3DffQ`hNbCHeZ*-ab,e
+
+-TC'G,k-6fE,-lrdGAVS0U'JQ3m#C9kc,iYMMQ8p-MBmDA9L$dE[kXY(!m5fjd22
+
+Zkelcq*cmLV$cTRq@4@Pk"m2D(IrDeGV")XC&X5)*QKVG$Y+f4i`T"if2S8@#$'d
+
+*GD$NJJR`c*R![Fi4"b5!6kH2@Pjah[Cf-Gp8'FLJ5DXcMA[1iZAN@%2[c)-LV,j
+
+YI9MjH0(PPi"Bi9Y[SH,-jRa)1dhf2qD6R6Fl(cU,T!2@Jm#ai&YN`jphMDfCfQ0
+
+Mq[*YEbVMmkMcUr-XUf-*S#!4,G*fqaVDhDD'2@Nk%fYMbD1C%aK%&1Aq'ZL@-Zh
+
+Q`rIQ9GEHpT9b2``jdfU`N!"9B5$`kk,T*&Z8B,ZVVDID8c9#ShHqb+e(fkrfl,f
+
+qrT5bM!a!&@C-q*@l62b2"PA-cKBrck2K40XL3DXYJ,'CEAU%!3$VmFf3!+CUFIT
+
+8I&LH,(k@0P-AJ5)1G-jra2Dl6RBr2PHe-j`B$RerjSr1aZG,ja'ZQ@mf6pqCjfY
+
+RGV@U4TAHhQiUEMIlL[lfch((MD`G4p6&Z+XU2HD1ZMpVSj&M*-YM)q$Z2XehN@I
+
+pRImr9rDVp,BalBT26,[iPEXlh)cC9DlcFM0lLpVkfPQBdbA0VUYMTEEpb(jXcbJ
+
+3FS8JbCQ(MiG'RAGATF$'iNXU`@1(E8SGa-p,iR`p[Qir!Kr0Gq(MmQM@VXl5Y9!
+
+j0M`VHR*reZq0m5VfP%A!1&c)VGaieIjpPpA[q6Ukd&9)JNeVZ[e[*l3AkB`"c+2
+
+Ta#')`J(JD6@fjH[ACHYGRVFIkXRX,ZX&JcDml(Zr2JUZLf1fYLj!Q8pEMpUcFLZ
+
+kf2-ScHSV#)"e4",dN!"EQlTGj[a1PfZENHM+k9jdUQEp$dDmIb"!24VVQam!1!%
+
+feZH&!rHP9TXbTHpak0Ibl,PpraYC3LkUaKZ-bec*[RhApRDk'6S@[f,caXRl@qm
+
+@*PDA,ijrDS13!1'!-!$LhS8!eG-MbGAQK)-E'pE9q$"%dJY!M!I%UK3$@@ZiQ2,
+
+&S2VA(rahrJA16"J$!&BAJbqXSF6lf2k82hT[TBqA,rRLCNIb-EaCImd(Tk5+YE+
+
+mYEkY`jG5E+bE``b0C@ViE2!ip,@GI%j*QplZeUAP,9dYYNe+))+@ZTFI*eQ*C`I
+
+5VDh*JJdPDhj3@$a[L9Zec$ILr#(JHX!#),'+(!ThH,VIF'!+d*lp2i)+0X8J*R!
+
+$!CDhiV[4b-[Z0'[baN$e4J#+a!(-%!HRfPE(r[KpQEqc(r1%!V@@*hpeFPd!1J!
+
+m%b$@k2D%IkeVVbY8VprakrXV2XZ2apCB4"Q"##lfra-hYIFb+XVV!3AQriB)+h(
+
+l*#$5@)qJh)c"q6Y-c)bj9K0LC-6IeUrF$%'ieQi2+E,YMjiQFrA9Y[c``"jH*j!
+
+!G4l0PlA(d,VR`H)'!4)19VVAEqpNH"*Uc4r04cqSUamcMqYV["ViQNV@a8!Zr,e
+
+hPpR@aiN0@EA$`#'*mq2cmEap@9!(8`A@IYp&1!ARBj&@M&Bf"ZCI'V[@XDeX9!*
+
+QKG9Y[pJG!G1E0ake(!LI5(d(MkXU!")1(*iFcr6AF2ErkBqlKRcH*NIa8EQ*kXI
+
+6ie+AE9h[@2e3J'KGjYef'hj11Be!pJpLM9L5"%(lQVqX&!j0YqD(Qc1EV+fhrlB
+
+rjCArQpq&8rmlrpf[rGXkA(rlh0fb)!Ad&hh[a-rYI"0q*a5#*je[dqrcERk-&cB
+
+j9[6""r&m6mhDrJ&i(LX&Xkc"@YJbbAJl20&!+eh%(F!c"Ej[IeGA&VkeM0B`!B6
+
+AB(AeDeTZGp+V[[6M9V8"'VkFDTBK#LRG9ZS1cph)q,*pfE-%!Bd64'B,kjQXGJ&
+
+mpGeJ3*b!)!&!Ua1YX[Biq0,T`HTBl@hl'6lXcDr%phEJDNm1D('#`Ha(pM'm`%(
+
+JNF0NS)!RUefAACE+JA'JrcVXq[bV-bi0*&Y2#q*p@rp$iAlf"k-(-U'SPYF1TrR
+
+`q&8f2$R91d`SUZiPP#,4ND"VbC*c&3%LiFA$8J"!b6Q@2K4F1*Fb)Ke`"N,LUd$
+
+5)Mi)2QRLSGcK[CD0hie$i*PI3UQaK%*`82dq6e&UAY(dq6T08DYX[F`%4U$`SZM
+
+NV2mjeUDVM0!B!QU1fLAid(fUl5`5iXfScY1P'jSc+'[)Ec9AQ03Pc3dNZ$j8A'B
+
+1-Z9P9,#')FL`rJe@IMCqVbkkfL@-&',2b53P$PfZ@#MFQe3Dp@Ui3)$&B4Z&5F#
+
+U43VH5c9eYBC@UNieU312TmQ-&iM3kQ69PCY4R@P*k8-E94XD0,(HbR44H"NQZ8%
+
+JSfY(*cSHN`5B&VMDVrahG#"&qQ9(1mbeQC+a*MNSNj8V+Z-VZc#iJm5,cmIaj-N
+
+im[YC(6BMSkPVI,lrrieC#f#3!%J,paSI6A,9DQBiCF`M*!c99H0R'X`)BU"%!LP
+
+@9ie3j-'N%PCGadHlB3)[QV56[C2`5Gj+hP6H5Gj*3%!CUYlqlrH*dJBEi-&$NfT
+
+Y1#Mb"QpYFR9HhaPCJm5++,&Gae5$RK5[%K15bim2Zia3E5V%b(lDc[VAf-Rf$SB
+
+3%RfY298Z-5Q!`@db2GY1`Y1`Y1adr4ara52l8$00fZTlV)p@$E%lI#Lll*iX2-N
+
+`3lker08BCa`d'GaLBa"cJS(2Kd*2Y588$fT1K*d)HH&-jqUjrGrDLD@$I4DJGE+
+
+Nkm*Ta+RiC,G%KT!!!YQ$NB2bje9@4`+rM4UGM5Jk%'f+Ue'[kCKeF#c1RJ3"eT[
+
+G9BHK+jG3b4T,&T,@CUTR'5cdL,Dj0D6-NmD(FbKrd)F@a3)NZ2%qM@MB)[pRe'D
+
+(4fV'ZiJ8(L`SIpG9RI4m'0%Jfd8eNQlMPVp848`m!5#AUYH(Jj*qQVh**E3)1[Y
+
+H5-8DQ(T3q,$iYVdY9PFBQX3Fb,dmNlcV@PDimVSC2!YF'em+edE81"FH0p'iLNc
+
+U`Ue)mV4P!%Nf13L[I"*qc*mL6rCFFrk*-iJQ(SPQ`qJ-E6iH*MrK&`2-Kc5TlaY
+
+9cZlqTAaJdAQ"PXU6&KXBG((JK25D6jjdm6VLmlcmm'%#$aJ3FSr,hB`mA(rl`rf
+
+3!2P5H*!!m+(XG9q,[2hkl5ed3rZ@iKqE$Q5Bm-[(CX#(bpqZ6IDUEhR[38@#"Ll
+
+dRkmR-H)!pZ6lGa5lc*J`kkZ"!4qT+!PFRh5f"N"09RGi@c!T04aq-)8bVAi)B+Q
+
+XPISPF-mH!#A($lcJaI6J`DlTijTX#&Yc$9bD)M`T[*Fc9CId66BLA*fT,PST&Sl
+
+I9+%V1PDQ9HbXq9EA%lk1XLE@ZeYF5m$YZeTj,8FIQ-G[Hj*m@9r4Ej`lJLY*"DK
+
+)$`8hlk5#fbql#3"B*T!!d-`rjhM5Ue6aJ%CNNG55[EYkAGj-6D`CpFAb%1LRR$(
+
+S3Y!Mb5M@mialh$S5RMX5m*8+mMI0L'UIpM1l[P4)NAjGKqE(qAEpYEpYEpYDr[C
+
+2biIa(YaRbFZej`3$ea8#4!9DQDERB@[!&kXp##'YDjpYq2M9Kj!!(%cMqB"lkX2
+
+pPVq,*qUIU5V$,YI(PIpY9c4e"MepMhqA3pqGI6YV1p+Tq1GPc[Zc[kChhF(lZ4p
+
+hEqK$mQ$1J[6d5b`X'l%X%A4LT3",8Li$U#C"YUl&b2pSIFCm(G@'+@%bDP3b"6B
+
+d",JQC2md2rL(rM*ZBISC2f$ikhF1!&JRfflihq6-p,"U!`Nre(r3rUUID!9iJ$0
+
+#9pfhjrGr&LIj3@-5airUcIR6Gp0h((cjRldhq'EqHEk@acHmcF6T@ISaEPrZUa!
+
+9#S1BD&hj)2a8+d'eVZab2GKfXRh8dYNF0[00$l!U"jR')h'Zr9JDVV2B3%kcFE2
+
+fYETUPDMApVrkJjKLr%FUidGA)S3hP3!N0$"eF06-M9,U6IIBR5X'e[T'rVB9@@5
+
+UPpp*M2[e-Uc4i*11EE"1FUCj@VV5imc"kcS92-QD&liZ6HhIFARe+R+[Z9IHlIF
+
+UKbZXVDZ)H$kk@Ne*6RRCTJdph6h1hh*ee3rMPH$*L$dVS$2RT9$YmRj@"RB0,Gp
+
+lZEVFJ11Qkf(HN8@1-EV*!*Ik1cm+Kb0jb0eb0eb$p@FN)a9XB)m528Mj96f)q6U
+
+Z*UVVCkrBB'hKMciq1H4hiG)51,,4Mmk1104qGUZIUUf"PDq0Yp5D6ND2G4lDaXE
+
+'*C9V+AC%85bVA%kiRE1GX*hCcV+PC8Y,R4c6iNU9TidRakRMbIJ[r'fIN82)hQC
+
+ZXcGCNP46,L(5U,`QNXQV*rCIqCXjQ$qjZrNEQfh-mE3jNRN3`9ae09a[e@(3XZA
+
+*c,rq)PH'0SHIM!0Bb"1")%bI'KV6rD`2D`IDhI5h2ZEPX+6eSI!G9182LIl'"l'
+
+$l'lq[ZTqj`)F83"p56'$r8BHD0-FZ6-Rc-#E3VEZCZCQjD95BBM2)%1'(GNjm2[
+
+6r6fGE"r*ZrbERe4(fG$rM*r3"b,$iDF5""RcmrCjJClkqkq[Z[Q5Yp+hpVV,AD9
+
+m'TPh([@Y'8[$l$Z+X52AkqKSfHI+arShZXKL3"2Tm*,mb6T-Re-#N!#Re,FqfM!
+
+5IZb8Tp!P*T,*E9rQl20S9GjP2URaQ`Xm9XIUiG02VB%R"YGf2TpbTPZ-%DN2dre
+
+hi-#cYV%hB[HMmk6R`FJhdUF2%#J*ClX3d"mDlQGZCd1#Cj+1!eEkL&JSck1!(#h
+
+QGfqGmpU)+SKkM$`&+3)M#%'GJG,HCZpR#)-D(ra*S3k9R8Yr(*jG6PbG'rcpRPd
+
+-X9qmiFHp16b*0DdEjl6)Fh*k82RcjS8#BP!(%I6*%Xk9X"2fP0#[kZcj$9rJH)#
+
+3!'Q'Rj,1lK2q($`6AiU!j*Z9Xa2j)5#MZq"ZDVMTl9$TKccfU""'%!cGj9h@EZQ
+
+fj&8Lk1%!8[LHFk@$"ZpYZImf,3FU6AL2Y82MM4ZUFb(da3$2`HMZp(FqeZI@%UC
+
+C&`&3)IU3!26Kp-2"c!J(5`HN,`9GcqZ(hSI-$`DS3"4!CcUQA*a*r"`2M80&+JE
+
+UB*Z9b0,B["4#!HP*M6r&`+Sa"l35#U,E0-"&K1ML6Q&Zaier@&`-`4"PlV,NrHN
+
+rebIf%")ZCj2j'#$-'IKq&Zjqjapccj2MbC82dQ(NCjV9)N2)Rmd0"kfljfjk'jj
+
+V&B+JNBDq$%H4Np1(M6rCfIp1$0hFcG9A%3+kUD"Tf6J5D`b"hQ"@hRQEQTZES+p
+
+mKMhj'!-6J@Ji8r["3$dpjrTZUHjaL0)Sdf#(JC&F""Lhq,XrGSHlZrF(J!%QaFQ
+
++3(p@bE8E6[X$DMZ$FlRRERRP[&qD6iELlaU-C1G*j9r@`2'`6(&h0C1J)bpVN!$
+
+`ZQURQ5Derj,&AK9cGAS962Nq#+I5fG+R5bIe`rf!qif$ME['#2Fi1Tic'h*FQp5
+
+5L5"PAm32pP$2eAGFQ6i"&L62d!*-#8cA`RjBCl2hHIZFrGCmRdEAQ@V$r*4k'CN
+
+Kj!ldcCcGj@h@9ZR+C`Xp)KRbH0*p-LVC9rPE2+SH6[2FI""P3r+&*0#6pQTl-2[
+
+crcB(V$TkEZUci`pK#"LNj8+6NrmfccX(1hHGZFjmII)raFX$EhJhrdX#$"Ll`8m
+
+h2#KjTF"Hh$i%@31Kl@cUAQjkVG4MJZKc)2lcpZINMCpYq'ap1$N2[r8LH)JCAG!
+
+$h1MqY$q'AkF(-Y2%XXcU1A3d5eC9M8E+'6iIFIbfI[G4b,,PhrNDI`Uk!,!N49U
+
+Q*$`*jli)m'kc0bbK9$q%LH33fL`,XQmKr"2ll!ll"[0jhfjVEVm#V!3rXKZ5*R$
+
+3bG9JE2*f'mfrM4C#iY,$Pa[HMFBrC3kqN5bfXmk69U"cQ0I3Eb*ZQAhb3"D4C%H
+
+(*Nrj`iQ66NpAIeF#2JcdJ"Kr2H,)NZ4V456J3lBQl9Q3!*kVZrB'A&6#cSI$#!6
+
+)6Z@4!)HV%`!YhN)3$kCZ@RRHIhq'62b2l)Gj2hQcNl2aYcpVFlLebM!HjdQM))R
+
+6B,KJj4Kje,(AAQERT%9Mp``628KqQeKK1ZSCi4bL1QU`Tih!qU`q!r6H38Bdq2T
+
+CQSX1RATbr'APF0m%il*ZaCckf"ck'jhQCZI'#[B""3p56%XY,8p#'C1Qe25M6UQ
+
+E'pZSrLRJPbp&hNqk8"V+(r9lZA6[#cNQZAm1NRC81[,[!hf$@hHGZXhFkm0[-KS
+
+Rc9(#c6)EX)"HMrUXaPbpF)"0AV8cqi(BXaKbV3[GhjqjdGedT2hj0j!!pi%qI4"
+
+9fF84j(H&!pi$dL&2!V@T@PH-##%I0959`9B*AbQ-Z5h%!6Ji%l!R"!21)$@0$Qb
+
+I0NK)'3Q"*&3Zf,r-#`CQmjqkVEUP*T5D9VNff'L!*U)[h*SS"6`FlHC!kF38TXA
+
+FEJ8-`-TqMJCp#Y[2ZlVd0elXR186S`cP,ikJVG``hpU%Ir$[2,#2r@!hpD6r%$p
+
+VpRM$rRTArhm#m`EPMcYP*Z5AiB2dX!CHFQ53!(R3SHP[2(#!E1(fT4MfJHfdRGQ
+
+-Vqj8i-1e""P2'qqmKr[PIDNk8H1X`P3Vrl`Ar2`G%Hpk*-Cr0*k-TX2PN6XLmU*
+
+cb5*cmcH9YiBkmVH5[c@ZmZDP#MVmRXpp3bBGp1UD`L3[iPq,$dC1IDRL6$qEC9F
+
+$fF$2hRUlVSlVr[U[lVAmX2rD4r*Dli[EjdUG8R5[p0PYD&#KREc8lbphQIF@`&Y
+
+CTYV$B3k@6pH(mf6+Nk!hhcU(fYeSER3h2jSIqdRa*9E6C+9rBbha)GH'!QB&lZk
+
+ZjjHkp#9I@Xf(hT!!SZXf6CX8rpC,[l1V[2@hAV-3"P54ff1TDE'2p&Vc[!Sl[Ql
+
+N6$+%+feV)V$2[NPEAjiT"KcrEfIQd1X#32M$l@fC0I8L5DXq$!m!6qe!'L)D80A
+
+kBIi[YmN[ZCr-`2r`BrrNh2TERq5(dSIj#4cUiE%VRq0*qd6'DYrka$EiQkLLX3k
+
+a6V89JIkXrapb4ZiI3NjXUm8jPLm2ekRebM[pICrASIXCFFrX-8Akl&Rr6EL8XQF
+
+l3@JiHlrdh1r'2q($[iIp)GV$YbiMV5XX0"PN[R,#`H)5Z8flT1D(MZTAYe+NRfl
+
+qPXqP3bGjlQjp[GHh+TDUP$lN1'jS498AZI,)LeBJVH6[,`0fdlV(E8*rN!#(2f6
+
+9QppZHPZ[CYHF,BSRBCX%%$MTUZ(69I[12[1bPGP+imU`YBPcYG48UHh(bGK5f'6
+
+3TE$L@h0S9AeCZ24MP@bbj95eMqpU[!Z+ZcbpKPpRr"CeV,-MqYCH$T)K8Dq`#$b
+
+crSHCUTqUTl2%errafGA5Xpm)qMBq"",N6*%f48imkdrk8+fbSlcDr1UIY8Y29dp
+
+,8dT'6)`h(R9@TcT2pPrl)pkpXDkpX6fC+NVL@Z(#h&#dDJFKbidQ$A6)"c$0B5Q
+
+C3dDP+6d3i%30"'hRHlcF5ZpP4T9@eM3p6$e8R5%9E`T2mYrjfcrk82kpjrlhApH
+
+krmbIrFRc*AHf[a"eh9NP45TpD6hXq4JGk,0N4EFd4hLfIT),"hpJ)"D1I5+QQ6Z
+
+pUUHM0VMU+h8cBf6([CeE5i0V[T[Sa,R5qM&)r,drmR`"8RF5[FbIk,A0fAZB2p'
+
+$j1mVE[bGhj0Vj0Vj*dKQE2*+(X1B3'IQArjpRmbKcpjZpeh@kp@9KfZhKlk(Dee
+
+MDI8Y23dqMhrhE6le$rp[r*lEbIPp,iAP@rle[r$+JY+dLVH%,1mZSFkKj2FH4Xm
+
+ciRmfcL41BqP!8SGEbkVLe+h"q$@9eKdj8*ThJQX2C`-ke(cdV@bXh*qp+VE(XU(
+
+c+(cGjq[HI0hHhYHdYHIDr@YlPPhR8CICeEr2&RdceRlRdK[,bT2T5IK#JXmLKqE
+
+8(2jrPB(eF(bYh9h9f-GHD-YII0Ap416b,*kZD00*6qYZI!)h,05%!Q8!EE#(rM#
+
+VrPE2h+(pK0emEH(CQ%BaL0UkPrqm)"Sl2qqKiQmjaEUXff8emb4[G#KeD(C6phJ
+
+HI3X4iaX0eedRm%RiXQr+Q[8ME(ldRaFL*Dlfrm,!jHcdQkl2HH,ZV1(pZ6r@31N
+
+Vk5%j2hmIhiFN5q0ZEa3I!YcPfQB9j+PVC(R5G!FDj!qDj![$kFQSD`H6EE@(IA&
+
+C)%UGl+h'blfK9`)ZmdGc"[D`ia5YId@feIjPSjL85I)26P4-cUrl,rSi'G3j4&C
+
+J'Q[R`qe*f8-M@@Xk98YG48e!S,fd2E)#3ppU0THe*ZdeP6IlAD4jG!VYkUjMlfT
+
+i(8kfiKddHjll%qh!,)9p'2-Q4i2!L99LAf[im(epCPGI@RC9YR4kF1"-Rbq*K-h
+
+NBLdCcFK`FkjUiQG1cJ3#F*QG,cYS@DB-+*YFRdT-&Vdk%c@El%V6Y#f2J8jqr0e
+
+GeKGSIE'A%iaKAmDeck(Jkbea*NkMECCFYlkCi-[5i8qZ&`)PC49V@VJjfXj2AeV
+
+lbEFmK9i0bmE#Af4D3$R5XZKBA2[iN!"1jYYhYPpdpHr%Ph,#J4iP@T`*1*+k1$r
+
+2V+Z*(R6lBE22jh-Pm[#id%ZZbSR4UGLY8fKQkbVeqEICY[9XVf'lZkdZCK,54L"
+
+3#H*DfP$pQXl[VrhHXlbhlbbrm`hi3$MB4X'Rfl8j@[P@Z$lfXm$VckaYmZbrJ1l
+
+[-eIVE4@8C%4NVDebD&E@FV%rk6S,E*Ml8pND8[ASX%L#eA$M1Q%eAAQ)cX-fb1(
+
+IAdSqG(m@bdYM&Y%PcN5IYhITE-$M""k06cYKbl,qUbZp,3X5NUV)m-fl)kf[-eI
+
+B9V,+UC@`bV,+XUYPPD5,)#!C-H6Vl[4fISE$d+J",,4UDrAac)cekcNC%beQe+%
+
+Rc,XPlE!N!E$NfA)UFMBFLbj&Pb,+$UB*"eHT3#CRB'GVb*!!Dq#2YXRr2AjdI1X
+
+Z9C9r8a*(j$mMmmlbmcC`kmRrkmICC-MAhXHp0"(VHTj)@"LX%c2fIJl#ebCQ[Sa
+
+m[*KeqqMq$(dXHIeA-1&$"UG#'pZjfcp$Ap2*mcB(Z'#BA8MmZ2aV'A)e8V'U')R
+
+GjQcc0Kie5YX$"DbFIAmqbmHbP4rT@-aKS$+6Q8JX(V92!f"S`Z(!$KD6++$&VNM
+
+ebB8UYKdmRRDpD6[Ukr2Mrl4raKi)M#!%`#CRE2`GIll#G(j"B8#C(Qk5Y)12[*a
+
+)H9GmR!LK`(d3#a&M")`MFR'cV[FLJ'0Njq`m'11X!N$BRrK-*"r($r2-re`2jpI
+
+r2NrkkrqH2jq6r2Vq&CIr-IiXIA@0c'Q4TPaMaTP#V'QD@R*r$-j-(-Z+YI4A'U3
+
+0+0TA#32hj2ZhIQl1YX2Z92(&B2Z92ZE$m&PpbbrIXV#aL50@%JhmRKhI$$JH"8l
+
+VAhNI9KjYrCF-@#r"T,5d),P3qk0hVF$kZ`,Vm@!c4@B!ePQKi)ST!cY2Q9F!6jN
+
+dpIR@A(bCQ`Uar3""H#J%be0X@66ZkB8$&#!EDbaDQ6X+GP6XXLbi[8jeTHbZPNq
+
+J)JkHcqrX*Y6%&30a8h!"NS"'kQ+D+IKA'MT2#Xp'bc,2TS#,4K33AJVB`ed*j2q
+
+"A9E0H9I0JUh(-2`(aS1KAIEMDQ,E(c6K&PfPJF#GNhh3he'T4REkGIB-iS!p1GZ
+
+VL`dSC+-Ed--Hid8"%"+i#KL&mkZr9'T6lD2K4q&8T4q"YmQTd0q%!hqqUAfhR4m
+
+#TM4rmV+`Ma,R#SF+G5`H"V!3AP'K4[0pHAe#GHHKIBhd[mV`ra1Q`T33#9`,M*P
+
+G#i0CQT[ZX[ZXRGCJAr6QEUKB5iQd`URqZrT91"[`J(9dGI4hZqfpp(RDV!Mp1bh
+
+96`4Vl#UF+jTDlJE,*iI3rDSr*Sa0p8qrh@EhASGedqkqa8r$K4"r!%JRF$[XR[Z
+
+Khe'F%JfYp8R8X$*kG,GC0KL4$5fP5*0`CFZjKfA1f2MbY$BlcHHeZr)PIMQ@m[A
+
+BA@i3ep4SllIGe8lUPh9+Ph[!iL"(GC2Gpl4a+PKK4,'*(0@h8+TY5l'P(lfKa)e
+
++05e'6Bpl(cV(Vi)NH*'U81KDEk68kQP8T3GlUq*3pZmT'0*hY$%eB))d5ibieVF
+
+CeRQ@A*Xm[U*pRTL(p#+RHC!!rU`6@cZBR`ke5Mf@qaDQkpZT5ZHp`H*0T65E,0l
+
+fElH$epc%Ij&!YD!mLHN!CXjmLZkD!eRlaerMT#0-Vk-(-Vk-Bd%cadN8$)*M$1%
+
+0a-dVqrC',Bf'M'K-LX!N8h)kq4FG1[4"*S-+%c9340UAqbY#-Y*9R!8!3f$SB*%
+
+JfhiBEMTS#5$hM#N(jcVqCTD0Y2QA'&TAp%"$5&S+q#-F49adjNGq&!ImXD[T!*L
+
+q3i,[NAI)Zq4H8CXc(YYXIP#Z`HZk'4b-ANiYE)c-A-a8"-c)c2SCPGQ'aP)1A(M
+
+38F2dmHYLj910Mje2[DIb+Fl(p[k'9Ar)J2"'aN)k51J(1QG4iPPjp[d0)Mq6)iI
+
+irp,i))mb',I9HYMkH2UFqfTh(4J`))E'4(c,2fT2Mr(KM5#-a9XE&VYTC5)lJXA
+
+d`'TNDr`Vh4RFkGcTh1`HRNrNe[-XH3r6`9l(Pd@A'SaU-E#LBG!dp6b8ZFQK(R4
+
+jf[p()RB+r@ISlImjaLkS*qHq0G@kl+b-V&bX@VNFR&rMaI-aI[iTh"r3mkZmqZl
+
+Z*UK-(L@(6V[jE1VAjPPjehSf26IrL`629SD-bAGm+KrVH6,bCH6H$mMDiF(bS2T
+
+3D(AICb2CiR[drcBrV8jP1ELeXHC`&*F29&p)"U2P4U0e6e10'SkURhY+khbd0AT
+
+d,2Tk6`TCLpGaqr[IrFDICmD[k&KN`akk*AeUrVF6IC&@Rd-APj&lLeF8*&N9R53
+
+(CM1Vkf*-b!Qb-`#$0!49qKQefEAHMAAUl%38F,$cmM+iQrTc-M40XUCNDhk&8IX
+
+D0G&ILS%ZiRpjHkqA+UpaSZKJQK64!9IN4-@V6Jar!TeDHI6dFI2i'L@cJKb$UUl
+
+h)0YehCC'A6bXAUXRrh6Sdq"LeFHM`2b$q,`kpPT'$lQ(dXIf!X"D4aDe2I8kQ2R
+
+F$f)-ZZP4,QZV9h+VZ9eeGMeDHG6ULi&83&DKS+-'I"i0I%VSYKkd%IVr9bIcFAR
+
+drSe1P6pM&bmA2UH4p$l0GjYIpbZfN!"US2H``BBX)a"[-ACK))3K&Vp#Y"j9GjG
+
+Im+!*&KrmXIIdrq92rPMl'R6TeFARF@VMmlJ9B1G![,'Q##p#I6H,@b2a8ri1,@a
+
+FrLH98c[S4UrmF'mV[la4k1J*Ck05YCi'NeYRJ4SD&9!l9FfG`Z$JK!ZCCPjG&r*
+
+(*MdDCe29T9#bKXXbbc,$M@eYA5p*je#VCFZbjGPldF5BeA"k)0U8AYUEP1lcYh9
+
+hITl[KE`lN9`@kMmGer"V,2DaYV)bCqeQE[JE[1-"MNlZ!%M,)HScVST)EA1XF+2
+
+`)p@K6Mdl-lcpIclEl4''B4lUZ&'Q3fd5AAcHUkA9B(96l2hX'K)BYJqL$DdFQEe
+
+YEGdGhkZmmMHHIZrH#9HY*mL'CU-DkpE@H$YBM`X&AGrLhCZBl[qAHCXRaC0Im+*
+
+G8EQIYC'e(ah@mMHH"[&GmFNce1@#$d*2RI#QklCA2dGVUi29Xp'0cUrpC,djdEe
+
+VEQ`FKr#JDr*[GUIFRGc0j0hRl0hk'lRl[(Kmk6Qr#[,UEFmEDba%(0Z+XAeG,l-
+
+VT5rqY#Y-VrNrqhi3!Z91Yc3FFB(A%hIi3JhQ3jX12U10GFl@I8%!6UPEDc!VacP
+
+S#!%bSBmQYU-ZkclRb0VBVT6PC9`hRM!*[#DF@p['TIhm(aUPa5dYM%l1TLiQ+5p
+
+0U!50Z,VF80401(kqaFImGhp5#0%)0eMP@1EmE0q-!6p[0fqEBjYMjQPieYrIhIM
+
+DkiLD@2%dY5KL4paCELTl(FqaXpa(h&28E1HEKZ,HrMTI8kf0)L&pcL3lLGZ0rl(
+
+lHiJh(bpaqlU1fRrZi(EB[GrMqAp6jdE842K9+QGU0aJlMi33+a!4mE8B-rif"8a
+
+ERmHXqTGC@YL6UP6%R!BdJ)1'&NkR89*pMJB1,BrMZ2UFE+kQ*Ce2LiP6f2Lqa3h
+
+(9lMj1iPK!2MHIX[3f@,mEmIaZehZ9(Tk@PEeTj,Dfmf2US[)Kr*hh6PPmY8V&YJ
+
+@fQU`)fYe@"TXQihFE*M@ZPUZL!q+f##a`YIaX$JDmmDkG2Edp[M"ZU12d0IqHbh
+
+dIIN%6"XBZ[e@cplAc-'pTeG[-fmbcQfhTC!!"#14`)p#2UV'AVcN,eplJMcMEc1
+
+cQfGDh)0cYh"C4E',X+Z"4er!S9@%JTJJLC&CfQ"C4,'AX*QcmlB9D%`)"0l1YTB
+
+(i))YL%F`#k3`DG2Vp[b3!%'TYZPMq,Vr&Mp+2P4lD2Bf2JDqVJCq[dD!q@fqIYc
+
+d0Y[@b+f[m52kYPPf8BMrb0IDi0$B%YE&mEXr4l1'cje[k'4QE$d4F,j@P4S+1`-
+
+C6BC9!K`GRi(Cr6#`HANH@A3hPfAPfIp+,"V`3Dq$"dDB4lY+kcVA&I8irbHbXqb
+
+Xq2Cf(8a)X503SH,'e0aG4VUKj-EY)X@cpj6+P+QVZ4B33bl(cT(Q5CQYq42aVcS
+
+5qCA`82HV[%Z1Qk))))D&(,QjFhEr5lHpepjRhHhlqT0fmhEcF[V-ZCj%XN42d36
+
+)q08[ZM1cjfI1cllfGEB[mR!3[dN$qaS)1RB0%"G69hK9fM"BfF1$-Mlk28SGA(T
+
+aplC4kRKL["SGk5`V9p@$'X1BXifcUPelM`6k'6(K,Rf'TNarX@IfV$5JrXF("Kk
+
+Q9k@"qp$k-QaY[Xj2K5[5NqV*S@X5cV@&@4&[G9GHpNc*&kE2TrP+8hXU%`L@c(*
+
+hpM&MkU(hY6-eRRIYj1&-aZAY[-qPkABqpp,PpMjQfmcHHPf'ULb,V-RCREIIUCh
+
+lIeqfm,p[TGEp`U`q%6adCp&rN@H$Jm"EVZ!Yf'YEeXR()(k!Q1LJ3EqcRB0D(@`
+
+rmX#P$VC0Df`cR#D)-K#$[S[EDV[Z0fdc[VhYXR[TPY-QcH,3ZZ0mQCG6INcEUKm
+
+R93`A'M-Ji26JLe+X@2'MaN"!#4l+'`Q'@kqL#abf9P@eQra`V!VIJJ2Uk2Tp[+T
+
+bUB"-@9`EMmm"[F[4"TR3i`3AR"hfeIT!)ZACjpTPf%HbbjP10(VV+0B9jfD24""
+
+Yk(4'0IZl$Sl22Ymqbqp8rC!!2`35`3ASRHJ!6V-qrr(3rdPl9r#`EHik29EHck-
+
+I2Xmq`rJkMqD6qGp%%J$d1IF'GE3cjH[SIqqXi06p8@!TJ`4V'bdCmc818fkqLCU
+
+j3M5D,'4C@e6-Mc0K3SH5IB,%f'[f'"USELIXm$B8Y[epLGRFHfh806PlqK8ZLqR
+
+cYcVl,!UCQQRh'"G8VVVqdj1TQ'Ae9R6+"QBcIVB22REQqc*h2[Udj#$e1Zj1SRG
+
+CQpC@k`cAE[dEcrN!!!#!ChGjD(QTChKSLBQC9RCRGQGiLBL*H)Q*D(H*ChL)H'C
+
+iHAQ+LCU+QVZEPjYiGjUCHBL+LBZRD)PkUVbCLTKiCBQ*M(QGZifUR*UlUiQ*R+U
+
+UV*UEZSQUUTZCQhQEUTZ*LjQGHCZmHBUYUUU-LiHEQBblVCUZZjZDMVbVLRbTI'8
+
+1!!%c9&9QChGiHTX!!,"!-d999@CQCRGfGfGhKiKiH)L(L)Q*KjL)L)QCQ)LSUBL
+
+)Q*QBQ)LBLBLBL)L)L*L)Q)QCL)QTU+LBQ,L)Z*QCQD89##K"3LSC&$h02j'S0Th
+
+5@B$M2eT9Crppcl))2l`)Ik"5rddpA6mMXG2'RefI-m@2cDhp`Y)Bae25Dj1PDI)
+
+jpKd0&p5h1HAjYl(ZF',"bZPp-Y`r3KqTBq*e[Tl,qLdj&Mb,6j(a-QGi9,eYEi@
+
+YmM@q45!)!Em#!B#AKDh`Y,p$CepZGF`ESe!fq+"j2k"r[9#23MJ%dqXYF#4E9Y,
+
+`lU2G5,U#PFhAaEUeB#&#AA6pTI*ek3a5)dJYYkphhkdX2b,b`NfrL88R%eD'BJ)
+
+!8GDc8jfKQDcLpMB@jcP"qM!BA!A-"PS%FklirAD(!MfmkLM)VN%#!LI32aY3pQK
+
+lp$lGhPGGe@"@fmQM"34JNqLLIHc3iY*0!bj2,2rRV)X#rD%!e##Mip$0SCY$0&3
+
+H10%Xk&RV*Z"C+)&)9&3m#$0SIXSISSHY3pE@IK`-Q`Jd',AG$3H6+rLKLd%D3C0
+
+G#4U-rD5$aDb)mb[X")-F0KUVdY03[%5)5MId0i+UbHZd!N'&4TJ1h9h9%Jh9$Sd
+
+1M4ck(TAIQhGcGr0eRUB&VEiY(F#2FUKq+PaV[MUP'rSCp$h,[b,ZAV0KJ5EHq8F
+
+9+'+!K"9MdGj3Td0h3lbKZ0CLi&pE`8IU#lKm5MPML29SFUMbJR)"19V1&f-DhV4
+
+@$DZ(L`"@fXJ$!dX$MX@!#3"$"%JJV1&E&)R@m8aH3#DPhKfRe40eqhj9(RKfLZq
+
+I59*K+$*V9mV&9)*&'M3k!eMmY(mY$mY$mY$Q8HC3jP$mG$pY$lhA3i(CU`$&SBj
+
+0fm1lXaJ',4iSI0a3m1KCDbml(P+m"Ld29ZiU8HKp-9&p1Mp-"(4!*())+mI!Sd-
+
+jAZ1F*`dq!MlhY82r!m"fG[AdKZ38VbM[U(XAGE3UXI)(T1ZL`)`B,QKjphP82eM
+
+1"qCb!$r#KrKV2UpMC@r$)Q1(3iG$lp(Kd143qr3j&&3-J8eRd-$L@k4F%d"9-94
+
+65!Mi+(`)&0C9`1(EQkq+H`N9"3m!KU4%*imPkphp6V[Hl(L@qdT8alLBC`HE3J5
+
+Ga4m#KL$5[(Zj@Xhq"2(S%4BKDTH6GqN-+h9(PhINK#hp$PpGiBr"a+A,&AB3r!b
+
+,J4"NCAAFEXC))0S2JDPLZ'ib,`I%fQXm2XDfhYk9h3bKr,IUD*p$cD1G3cl[+Zl
+
+UKFkbIJ6P9!NDAGdIqehSk'`SC&(MhH`SF#KQL3Bi),qNCea!KZk95KJ$h%9*U-J
+
+M#eRX)X#M2ZpF&$d+A*ZrKZq"3qC4ea119S@XZHaL(S+PhqHKY,ZR5e)'$HIBK!K
+
+5Q#F(#+lm+lV5,JR61Td&$0FE!M3+Y(e4qBG`3`Hj3pXD&q(@Ip55![@91&95a`b
+
+'K)U%!QAV1@1!4)+V8!&#h*Ld9,+ZkSQ&@leZXT%b$DMB+GhqUK6*T$B)8%8+HXf
+
+f"iP[qj5jY$aU(rLKie(aKhhM!)UJ'JSDkKZpCi3b#I5)h#3lCdFK+-`d$#+IhYd
+
+2U-Q`6U2R#S-QKa+0D#JMfSfY$M+U,198#334AG!4LJ*4VVXf+EZH$+IGr@)B+Jp
+
+!518-@lceN!#1EGk!IJa98PcHZqL83'jB)++)4pQKr85NIf)fLKiqXqVJH-VS#Ia
+
+Gl1P&GqCGqCGrJT+"N!!CedABePZGeDaSCkdZ-qKJ!3j"%!!6@FJF"'TIUZqX&S4
+
+K8!TjD4#5SE3Q3AZ"!,!5#c-Zr$"a@82qP$rLMr,3riS)"2qQXrQ`21Ypj5ThIkE
+
+[(5@"9!F@PU#Pp2$92eNrXDY[TU*-FSHD#!9X#$lC"KZ+'!P4)R3F[XUZ4'f[%fY
+
+ADjQrcpViRCeRaSZ"mMif0mD,ieemDkq0GfG[)U3mU$)QpV,lRTqfe(!lAN2kJ!X
+
+F!r!I$qliMGR3!MM*(!1!I8J4!1L1#p+lZpCmeb#$c,[HdF!I8h9$D%!$DJ%KJNL
+
+Z-!Q!4$1)U'(3`k-P)"Qjd(9f'bi[9mA8HreIUE,LkM2ddMUrGfAlh9r[GArIeH"
+
+eHqe'EmHfYc`mKi!*5V,[Jd"k3P`rVSI(Zq63q2ehpH"*dT)KGm@lcl[LdIh38CY
+
+hlT)32&AHmZphV2d&8#m(399S!*2i!80S`"3!"0C'l',DcUPb,ZTLq1h!3!3"&Ai
+
+hEI'j[Cmc%rHq2fZPee,Sd26#eR8[4)RYS3JG[GpZ"$*,5#2J9mkG2apF@qNr*eZ
+
+QZEb%Zi,+IDP8$GjQRbG$S+qYYjh8imMFG9&FC1Ldd0j*+Vhbjpa[lMHA'CFC25R
+
+$rB6V$(SlL`LQC28kE5hN2QedrBcp9[pM[09Q9f6S$GrYCfral!%%16BDD`[1XRi
+
+hQpP2l,Iifml,-l,*Kd'cVB*ha-H(F@m@NbHP$!2hHDH[RIdYjGCPeNR1L'#B9S0
+
+R&4bBfQSJJSciCqMhq'9S-2*kI38")+-qh#"Gm1KqfijeacVK,86elHVEj&[@k@,
+
+CeDbYd4erp0N`r6k6h04c,[SpIjI@jA69H$lPYc+c`k`5!Z`1)#j)QXbica5`#,Z
+
++hTfrXD95"ErZ8Ih,IkGZXjbimDiUh($4RP[UEHTEqZJJq*Ef&'PEf&[T+&[3fGa
+
+SVMU,L(Sk+KSVIV,HiqaJER!l!I!mDhlDhNMiAaEMKh(9h(hU(m0$6fq*Erp'NJV
+
+j*XpVBB0[%pPqScSdqYReKBLMiXJmA%LhT(YlYD&pP3rS[[@lRKaM,YVG24dmkC5
+
+[Dc[0"`hJJ`[@KiF%0jY+HRTDH4-Kp14hPJrK"+-XhHqA$jHpmQ(dplqMXUf22Sd
+
+J#8BmqS!K,dihhj&G!I%(cBmf#2@F)[ATjZRircINA4C5)"'J4Fl6VZMI9qQV*F0
+
+MTDR`f@Pl6iHdmc@I$V2-YIKkRje(c0CplVY9Y04Afm%QbJk5C$P3EL9Xj[p*MPb
+
+*HdPkBG*"G61mXVq[RcTNq`h&5,@`A-9,M*A!DVcDI0dreHdXm#5i))ec4TG"V!X
+
+3#DFmBAD&1"`3F+kDS9Hq8R"`@Rc02QGTj2Bf$JJ[VRm9(M%E#hA9#TTcpDGT"f-
+
+6JJV4!%U,IM@cFp[6mh6mlY#Q!i)2&ZS#FeTLV9&3lDKffRlE6rQl6qEXDe`3FC4
+
+"UbAK-!$[Y2fqRllY$!!NRlK,mZ$ZCq4hIciX,k8SlZjQEe1ETr2k[6hjhIbCd&c
+
++2Tq##V[jq%J-ZTPee0eTkA9h0qQfr12e#"EZCr"ehcmVEVr&E5jkN9pTVQqT4MV
+
+r""M`ErZ6CrqIABCp5B-bClI8qcTq9T[9[SSe56'J0%'$&lR&b19[q9Yq(+LXcm`
+
+p5DMZQblkV'iJN!"4P(9rh9$JqR[ml#mk@)C-RKJRkCIZr*aB,b$4SJ'42%JR`Cl
+
+JJRhecA45C*5)2AIh-'4FlrFi@d""iNb!%'idhiGRm-EKR(6"-N(!2B''T-DhK6`
+
+dFrTVipm0V2N5Ih)2!JcCAe1kp[)rE[rG`Z@LVV5*KJ4B'5H8V8bUUS"RL!#c(%!
+
+339mUV"L`EVZUZ46hp2#TQRE@fNA9C1SbHVb8Qr5FF$h0JprZXVJaF!qJF%q9ZV5
+
+VeA&e"5ffC[2bEiJDkk9@peSq$f[cqq'3!(Pb[ZfPae@`e&EeGEXl)%%k$A#iVRZ
+
+SKN&AEj-UV+edbjkU*Y!+b0EH6+p+djA5mqZaip%k,j2am1M8Q3@9l,SA1j[Z(SY
+
+&+qV+mLAm2bI)i2eIRq4LCYRL@IG6FhUF66%3YpU)er*iCQ1'cIh*[0lr,`UX(R3
+
+36+[8i'R`006[Y6@4D)9"+qh+cqkqh`Frjra-5+9`TAP@RdqUifSmRUr,l$f+cKk
+
+2F5iTG#A3lUK$qMJAq*5PjF[UCZZkV-e%c881`dYEIb+PPZj"mm,f#R&)lL49NC[
+
+52E3*dUj#&AI*VH$9hmE#iK"GQ6-rUFc6jqQiPmF6FR&83C2bFRJeIRm6Eq$+LPH
+
+CDHCe8@SmcUr-fIhUiqrpR5P8)16h"fUN%(Qb[kj@9DCA8IJe(qr9m,Ca9Y56kXZ
+
+P,bTIIGedBGCmr!`L!"""e9A8CA9j3f#[NUFS-rZ-c)cr!VF5+AfmZV-VqUUkILk
+
+E#[ZKA@8Q53IB%'Tq6&`I-qIjQhpL9i8Vm!J(QDMm!J(dDb25X,U45KRb+01IHdT
+
+&1plU$V[%Y(LS,F)&[+qrh(`F(lr!ZF,i)1fPELdLkM*kZUak$&Jp89"Tqkql$hh
+
+!UiRI5rZ`Bmf,U6EGk[k'c,+#6SCG@9F`IXlMdaF'r`ZM,p&))1UbY4993%H6'Xl
+
+H9T!!@"iX2qRcrSEId*A,PIc@RfHSrae(L0,!T9,#6VrQpTj1Ne2Hqhe'Xq9rI)X
+
+haS%LA9XpY,qAh896kI!Ui9I,bl1+EPp6dG4c02NpKbkh!QjpRp[UIe`aB'LlVJf
+
+9je(E9rLdMpZfATAA[9[eY"M`5)hJm16Sp0Sp0G8,UKED-"a5bV1%IFAK'L4`J@6
+
+p"RfRQi[QaZK'aG(JA@lYVHfR8YaG4&Upheefpd!5P(eYV'ND6a#i5hIHGrEfi0J
+
+I6Fk0'DjGBq,$%eGj0%#Xi8Nhm8bhbm-fX'kJh8Y*J@22jYYaH`2`Lm%&RYCA2Xm
+
+@9qH#T0jmr&RBYpLaM-bGN!!X)+fE&DalASfTM,DISl5eVj!!pL#9d*8Q9d*ZIDl
+
+Dlcp0@r&06*i)*@TPHE0j)"26PHE5j1YmhZr0V*eDGU*ZFq+I,@I',8LZjpPR3Hh
+
+1pPVG2MF,@NDA8F@(Lf2&PF@9Rl,a0P`MMCi4'a`j4!p"9Rb)+R8'UNIDdKk[6Fp
+
+`bi`Jfa"0NbY"CP2)q(Xp""+edVNl,cGPjTm%r0PHE+mf8N[dDI2JefN2DBK!P0%
+
+$&`pe"ki2STIqF$C!Z6UYR`6pNEAZ*NiQ6+bC551C-U[RkD#jdPe8RU)0aH`hZl2
+
+Nllm(Y`FD9bE283AmrP3Fr5HV8LXHI+h9R8[F@paF2FBF)d,&3#3AdqqB)-UAVS*
+
+plMhZr`reiI4PHICh8'YJk%',2+HA8Cd*mBCA(P4E,ME,MBR'a%@Cpb9k-[pNUhR
+
+PPKT$K-XDXVUC9ACC@b2KRLG'9Ti)m(8`@8&H+JZG*5%JmiQQH@`3C8VA"mc*AKL
+
+i1E"cG*cUQDGUS#Vhh0PQiQEKmiT#Fk$R5[UfGP2m5$-kLV8c,)Ql3CPlRhTcDiN
+
+8&p"qQ$,3JDh*Jpr5E@'VBVD@+B+Zhed'Y5cD4H3U$j(8Im91aNIrd(Bb[rGlqrH
+
+lM$RPTa2,1LR"l%T`J$3*mV29S"cI`4TAE5rFYFfcl-8"2kL)8"9J*2,d3,$fT4B
+
+&E00#RNQ@NM92JNFL$i)0VHeEfQI4XU-3H*+jeRqU$D4M!b5140Yj34`ZNNp9iR8
+
+qr3fRIG2hRlG,d$h)ZJiEJdD-pL#0)U50h&ZpYTkFbpS51`6lL!`G##a1E'4Zk45
+
+fXGh$ldMY*(%X6m+Zc!6(&hh8"#Q)KbGL"1"I5Q-YGEZkhCH6GT1VhX34kPMR3BY
+
+lZ1ZLff,)hPMRf%Cl%"Vj(p5"DqXR&5r'#GkZYLkAGeZkX2aDhMEQ4@Q&)pL"*2U
+
+ilifjplX0e(h%LTBAZMHK"dXDaqT"bZ[T@16"NhQdJbCGPSkpi)+8qkKTEZKp-[Y
+
+jPcr0X[X4Ra)+@IFcV[SDhK8XkkjrAcYI1e[jdiUA3JXS,hjX%-*DDE"-e6Gd+P(
+
+!kYiU#jKKSl5hmZMVTPKAc,#K$f&K@kpf)1Rr2*df4h9jbpM9`IcI[IQkRejAVbH
+
+*@F*d),BaX0&aY,Rklr$USV,0ZqphIrH[d$a!+q`TI9d@YKpbP)f81SSdVL(N&IL
+
+lq*rPTpfip"a*TqR4Y(&+9(L02L0!B!LI*&m%$EX(""iQbmR3HEdR+XI0PH6ml`l
+
+DYNQXXXY`"*0KBHc(c0'Cidq2E$'%&9MbTAQkhM&@l*VQ%#d!Y+j@Yp2X2Sp,T$Z
+
+Yi%0'eb0Ph1pmLCX,#6Aq*8cbCGcCr0RmhFFfSc3-A3DmLl2YMAf'3ASN%r`H(Ah
+
+2GNC$0-jVAkReXk[VkLf-TmqIhB)2T0i+9hjp,6d#aNb$aVj4+r!AXPISD[8b01E
+
++ad)5DPQA5NqH9%X@V8ic@em[SD!*'NemkSY&UI2eZZlXl$9cV%bFVNp&4i%UqYU
+
+43DZ$9TdB#!DY-kS`Q1,3iY'43)lUq4$4Jjm(+RqV2LaFbSj[(,PpF@X1E'T4PG#
+
+#FI-h5Gh9U*Uq'X&Gm+lj9,&ZiDbMdK-J5PGVITkhh1ljN!$dE[be3,h,[Q'Z%@q
+
+3!+!JJ!'Nqh&JU*kI*aU!*Q0H&3LMF1[`+Ql&3EZIJ&Qr`kRX'&P6-Cj0D,Gd1`M
+
+F06"pBEPjfYLBU"!)!3L@l5[iPCjYCaLfBjXIrHC&Le)`,QQ!@XLJd`#qUHU'$PD
+
+hRkhGELT8AhU0E55Em8Dq%J@@bIY*rKGh@e+M6('-JXid9IA`dC@G+ifYifYirGa
+
+3mDliehaMc4F@lqj5rUZrf9P[AmUTMRdUUcidq[lZ2$a4IA024G2S6U0rGP#k[Re
+
+#Sa+m,@hmr&aGe8h`TlIQLGcl[F*Z0((IiY3XM"`(1RmlFe4q$r"-hKGjVhD((V*
+
+0645[rF(ei2VcrVcrXlRrj8qbD1RfD(ek(ek(ek2ek(mpCTA'!EZIffiJK6ImClX
+
+$9#2$NVd'Z%Jp#I9aGr8DpTbm+9(*Zr$V+f[i96ebjbpQIlFr`-AjY6hEZbZmpU'
+
+!h3[UePPAcSpeU-SdP0EGqTN@Vmb#XV1#+H&34Dh`Zlr"#QPFeTCH&5m*AJ*p6&J
+
+j8UX""r(hIrH(mPhjphji"2-Zr`Md%3J'iU3Q$PNkh9clc&he6f$cG0Di5qm+0Pe
+
+qeUHr+r$"l8r-ZNJJpUKlY$i,[hl[fk(qe(fV[f"m#G8&2%8'I2ZGc&#DHPhNV!*
+
+VMLDjGCS!J8i2IJrZe[UDh-h'C8L@&a304pSA"`Ur&8J@%rLNF(DM!%qB$F3'I'c
+
++qG#4[5ipcAckdL!RQZ942B"jYhd+AQV1!Re0i@e9@IZN5#(qHKmfKl0h-(4H[5X
+
+U&jAFm%#9MXmR!*1J46a[V$4PhiMN$iC-JbblSbaX'kUIfJDqP3qP3r"3qp4pDJG
+
++6&3EE@r,ZSYcG3qFZdFe%"bE[A4Tb*!!*LCDfYeYA&M91)UI(Tf0D,L8+fXLVm9
+
+&!%b$*eYAZq*$i+qalc%!aVYIH'JAp6jX(eB1GVIPck@,kX1MDi0Mf0FkMj&h+*)
+
+-@SQ50l1YrRZIQi[X`jjVeI1'KITZpdFBArU0Z+r2UE89"fBk$9BZA8j#Ep5FV"T
+
+4'rY@fmLpTDD4m@eUdVrVD&+C1Zk9AX(ZC"p@Tq+#eJr(2qT2amAhDNifI)L#$d"
+
+8&e3-G)5$GL!@%rrrcr(aIrG6TD(rbKe9$6R"eqLMU+'pMDf[`)IpV2J5Zce[&ZS
+
+l'3,[J$i")4@4G*&85ZCPDfVVFVZkX-9fMd5qj3eDUqZLVp-0!dd(b*rrZIc1lh)
+
+d$q`hQ%SaBCUpDm@"Ze3$GLS+cZq$86H@ClFU2al[qX%&q%$$P3khM6k[GiF03mp
+
+e3ApaEZ'PUk'VM6+b0AF+1CHehlPpAcHK"2Qp#Z5-6LNr,mFL,@e+qqdqkS8qThP
+
+Pmf'+amhUr+6r(VV-ZrIfATkrbGEaED`q*1Z2k,MlF[6r%R3aG41XU1Qqa5qaT[1
+
+eRRGIb00p[6FLfr*m56FFHimLA"m5+(Qp48XX26FkP9dh1eR1km!fQjeYc)eKJCq
+
+3!&2fR2b,RHa!'8')#0V26a$4UhXBUNQRaUIZC(q&20TjZ4&6VUGG6VXLZfYG'd*
+
+h@aZaVH$&[H&[H*`F[HrEh[fq$aYlj1pbYljI"pIXZ(@49ND01`'&VJki$'9`FVH
+
+eGlFSEYVFaLc!M&0N1RTEfV`I4hYc[Tq4r$6eP1C6[-M(f[+V1%Ia2&`-AJlM[BZ
+
+phG6G8m@RLj'1HERQdqENFIXZ2A6Dqbk@0DH,0cYE`[NG"+VPJpGLQKcV#6dY5Er
+
+PS[mY9m'KaBrGQTPBGkq##0*`,bT2TlURPm'+R`kFE)p@R&6bkHANCHebia*!UJ0
+
+G[DU*PhV5i'JFLi$15MEA!Tj&-YRYl`H$[HphZqi02Hdpk!6JdqbhYGqV3)3-I)h
+
+91V[FcJlrI6kI0i0c6KTqp[GpNAZe[)h2VSdD!-'kTlZRkh"rq8qE[H08b+F&1ch
+
+X@3BeTBXNZ-!bXMpG1m!`,XTrV'%HIf9e@kf0183Bp2H8mcJq([[fLJ2ATpp[IYL
+
+i2&fYZ)p'V*2BmE)mS6)5EHjqp''"-plHqp`IHq0ZkhI9qkMEc!2@B+Djh"iZpq,
+
+[YaN9DHB1)Jb,cDlk0l&G@eJm"`I&h['h['i09S$)"KYh'q0"@a9k0Jr9`I#h[KE
+
+eS$4F(HLcHNc-M-l,LefKVikVIpqRrG[I8i1C[XbR&NCP-!e-%'epU-8AidrXG`2
+
+IMbSmbJ'e`jrR1+rJ+qI3YMkDpjlfifRar3MiXh2b*ZKrDlEr2`2pq$qKK!UlfY)
+
+(mQR6([prYFbXm-[l)f"rTNA'pqj6q9NCHpm,IIr%KI@'IHEA-M&Sr4Ykq'`[iI,
+
+P`A&lYGh"r'k,M$"1`0G`4eiL@mhZA[SXMKLIFLRb-MNEAN4Z4@44SZapB9c@8c3
+
+4Te4lF&LYra@M"@4B'T&3HC[I-(hkd%eB(k#Rh'4cYVj&CX"cmr!p$Jq!3[ee5+R
+
+baE'I6iL4rm'Uapq`q,Rm(ZYlZ0lq2JpV[He8$GR[Gp[IAi2DGRL4[h6,Ief"dFM
+
+d`UCh"p'RFlhDF(hGlfqplF5M*q0NeNH0Af&K$$-X+0'hYk0[T*N0"r+JVGR&$"M
+
+3B`"'`3J+[i)f&'[)dQD9fjA'D!dh1Nr%KLVlk2Lam9!*)aC0p'RE2A3d-DjaSXB
+
+iUmDmaVc'TifkKfPrPSViD"1fCKJierMC10Y)GTMD['eDQ$5Ap#0ZBhB4["M6GR[
+
+iFA'l['KaYc$ml'qGM)"-D(IAp10cShdUbfM5GQF%J9-['m1'caTq0Lih&#"Z,r`
+
+ieP'[+`R4eh+d&j,r$Map$d1NqYBqE,mRjKqp@NbQjfLm@01[Z2$&MH&M9Z0fF2H
+
+ih)a[[ihqQ0[SGjIpR'r[V2ikfbM6pR9Km6'l88!8GmE+aUU!5(+0`fV'ZDb+P9Z
+
+G2FkHP9M(MB+5r#d%DaqY+m9V#I6$IGL"Q46SZ%ATkHH%mmF,K!--GV""i@L-5p2
+
+5HeKr[BJ-m9-mR1Da)d%6f))q,DHPh[l,(cY$d,(cG$qX3+Ul%#H(P-*mE"SFk[0
+
+'G0'0i)0$d0Ri--@kdZil$[2mqlm,[IrAGq(Xq'f)*2iTA'Pr%f8A"ifhUMV%!KI
+
+,k*fU$4j%2PD26@ZQN8U@PkfZT3b+k(`j&Df))mrX0a$&r"p2HjAb[,KUpeqe[Th
+
+V2%65G92)dL`J0jY&15kFZQJ%KLeR$[2Sh2Pl,h,R,SC@bqT1iNBUj2""ERD,'qc
+
+$&T-@K&f(JeQLfI"Kr0Jm("d@$e'$rmKm2IeYI'd"CLD$S5)d[Rk,K@h#kj-N9-A
+
+RkaSPMB*0p--kHPLTT(e-A#!C#ZGcClLCZEb'64NPB+#'PA6imim[LEf-+BK(+Xr
+
+lCRpYj&*U56MaJ1e@I2R6kPjKAX&#'lJZB*pQF+pj2NcT0E-VS+kPTCpe1ZUPeK(
+
+*4$TB!*@GG-d0jS**YBc)S)jc@5*aiD3`%EK,"C`6),cIb3JZbrVMH33rJ58[h1L
+
+LNm1Ckd(V8[b6mfGQe-h#2LG#!5$0Xrb62@[2#d5&r3$&5`q+IiH%!b&2'AX`ral
+
+bC*aj2#QFU$eD2GDf2EC-15F#!"NmKd[*Y-RAr8d8L5F2d%HMjFr+RG[8fQ&Zi0@
+
+F"Yj"[l1R-blc```+N!"4ZGE&1hH4Zm+R"Q3jLGa&R[jR,erKk-3!)%kMH#!Er)h
+
+q&R`G'TP5[2PA8&baElSJ&A)id-HT[i2C,r$lGTPDrUJJ4V3ZrUA#e[#YZ(`BQ*!
+
+!9CA%PF+diH[(rj0I-qT"d+*Mr6SXM,`XZ$hUKl(#"hdjZqf(aG*```'`C4jXrLf
+
+fA`Hm`lQ$2U1-INKraCKb(l+)GpZ-L%8qAPX([3CGRPfRfpI-dGK*j8c(JY`34Th
+
+LC'IK'81H1d!dVMfR(emh4QqI-JP3E,M6qE1ih"Jfr'Jje6kX'rPmBiY4FdNYYTP
+
+c+ZpPP6qM1k14q[#p+"-'hG(!#FfUYIM6$MaSmbIc*h-UF`Frkp6P3FSIHp@CkU[
+
+[4TKX2d@1rfilp2)DBl"R'E')ZA%BqCG+L#MYjmVcB@YI[cE6cP%#-IefbUU)*qh
+
+-!PTcmSFrXDZLb@1IMkh6fh4i+rkI#el@imc6hPV*ND)%%VK+crNm(l'hqa+qa$p
+
+L9b8Rq-CqGam'i&`FUfmhJQS[+,cmeCq5FUV6Rp0-ZB,UM24cp6FB8)b$,(1MBE6
+
+Nkr8D1r""3PA0+,@qD%$qREq4+im2NMIIYb[rZdrfek2[m-LH-8QIPcUY4(2jCiM
+
+3$*ckhP@6a"F%D$KRk[bj`'P%"iLi1*CaTPDU`!35M6peZ9E'9f+J+A3N'9,bV5V
+
+VmN%&VDEq9q+NC,YYaSH2YiT8&5mJb)1G,mLdPhRJ%IlE`!`$Jh))!M-)(*eqZ&3
+
+$`%%J3##GFe&rkqTiK0$RNllm1[q'6`j-qB5c8M*p)rpeKEk#Q3[im(2""Z'52@`
+
+Z#A2kQGY+R[iA`b[r82rQ8lNq9S'652(lE9BH(YrV5[1Kp&8!p#dp,Ar-dGV*(k)
+
+11)"QcZG8jSq"Pe2HJk-(Ybff3)k$*SlkIHcXHTbp[k0RVS8ac6&a9X#52MbP'K2
+
+[EBcqm,jX%82R@F-'RXimc@%jq`H#!Q2R+l`Id@G1$(Xm@ChDU!3`2'`!''`H`I2
+
+@2H4j*dAN!&b*"LcMI$fqlXkK(!DTGRZjQl[1d(!36,@9,'`)d$pZhr"+r"$b4hh
+
+[brqYTr9VrLk1ZDK!T'Ck'$ITfRN3'rJhPRQ%pr3%jrK62A)S$-pRH"8qEKHl+XS
+
+9dVE2R-Q3!%DCSCArZMeNrl8ll96NEI2JaURm%(rqPIDPpC-e9j[*1TNcV5jPHI4
+
+k)B0K$&K%2&512J4aB%IAPQ9*[jK"T4hFqT1`+RMi88"4P@LrlXcMNf#5aX(PUr"
+
+9@-#UIjRbePrUN!#"*QFH$0SjXq+FC-q&A3H%BY[UNf$P-X[S*JPe'V2ieX,9fm8
+
+'%DP[1Jc9J!P5C++!Jp1PQ%rrL`dX6L`F@S!59aCF9TI+d#eQEq$M85F[12A*K(X
+
+T!5GRpRY*RK"JiFRDc+F'pSqeVHAECp6fX,m-'98RTqAf@Edq6H!Jbk2KDdeD#-!
+
+T&e0F,!33A1[5-!&%'mSq[VFQhVURJB8D$L%`!r+GRQ6-bmcj1C*fJ3,bM-RlXUI
+
+`#J,fTi%'),JmHC+@crjSU$R8Fh@qjEFh)jZ&lNV0i1E,12fcjdcRDrkSf$P)i$C
+
+F@ISlDV8hH&ZjF5235UT%"LkrRbH9*h8bT"Q8[LDf*bD"`dNqPm0*i%QU9[NU[eC
+
+qeYZ*`FR%UP)"D8&Rc@M!0JT5[#))*&YSURUBAjS-'Te%(83B0Rr+2`DU6qk%!l-
+
+5!$D6Ye8h!S!eJCA')B,bC[Vcf&Y(jd(H8Gl2pV8Ir+RrA%rk`Iie2c3ImS2P@Ir
+
++CrMVp#43#S#!$Qcr'e%96X--6Sp9T9&))1+Y3"BJ%RJ6[ee,`q1mqTk8(kbD"jp
+
+TGAQY*!)*PR"CV)!MJ2%P8iGA,Q@Pl+f9TeH[r4*5)$ld(fU2fTrPcY28kc#NVVP
+
+!$@d!Xj+@hl8`#V1iP5-PZq4301!@hI@#$+T(Qp9J"qV4i"`3G2%4!6jAS'AR2Yc
+
+R$&J4S@Z6PU%#[(`$eqd6eqk@+TQBAY3Hl8q!Q2HhCrl62DerX$m!U#9VJ`HKTH6
+
+$m1(`)0DeT'ZA,pP-cT@MSq42r(1X+NJSJ5#%$--J#4-fejHbB!J#P"B'QREZTkS
+
+J(S923Jp#$qUcrUQIeDql*X',-Q`H$4m'Irm*S(fLB!!D$l8(fV2l8cqkmrqT2K1
+
+#$`ChpP6l1&pQ!!d!"V2`CRJhRJS),34#PaGERNB(&fqI+pQ(bLL"j-[dV6i0H1J
+
+d@I-N5XqM)eZIT6%ka)pTRPdraMSAajRYkrk1MVA+3&@f0(X8"i82i*AQ5[-PrJY
+
+2#5H"drU@Z6Cj0(*ZHMTHhUFc$jPRc+R4XmQ@5!@XIB@ZMVb-!3!UJ95S"&K(q`e
+
+&rkHccb-$fj2L5H*-bbM"PcrHRHJV3%eVIl68[h+f3&r*JYBS0G4h-raTf48Ni@e
+
+*3%IJTPhrQDrLMm&5e+*bci,mQJ5!3EB%'V'3!%K+B'L2rR[(J#prLJ@!+dZYKFb
+
+CfL,mb9aD@HHUR2KX0ZB+N!$m-VkNVbCAhl6RE(kZLXT2JMm(MdI(+!(MNS(MXC!
+
+!ICXrl"N%8R`C*EN&T"ZjqqRIKUI8fp!YS2S3H9+cCIj*Rri9S-JE!L`$AGRFfTf
+
+SU"2JDlN!d@mY+FVp0((&`(jAfr0PR*2DFH9k8[aQ6B%T3HM5p2@hNkR8pMErBPk
+
+iV!HR+,)4RIImDd+U&,6A1mYXUTQlIaL[![91+JbPT!GlDrm3I+Srm6plEIqkRm'
+
+&qm4Ha&k"AfHZ,-$X*2$d8QEajA`d[UDhbEElm2ZlII3H[$9PRi(PF8QJCqLX&MJ
+
+0LNMJD[)-ZT'2CEajAj,6iejN5Ec4@&TqU9eP,p4H`C&5YBi$F34&)#1X-&I-2Kk
+
+YKr(UHGYr8@i!%H,J"%J4k$`)2jQ'#VKF1#'TNMJ)#H"6@rISfQG"rf,1$Q6X)%'
+
++1J1#3ZJ1C-iZ[Pk1h'3*@JiJ3#IdAlrL!Jk-Vfb8$-[2d$i%qdZT@94p!3$1(J#
+
+rjU"%#"lmbm[0pS[$Ni&TYTAG8Ir-rr#GfP6$`JZ92a`IMPGR,l1CIhPr*fNR8c+
+
+X&`@F(p%k)Q!GC+e4mM88"jGTr$HF[4D$49K&"QdXh@jYY&$bY[rj'JIAPHT+q[,
+
+p5dq[Vk@MYT*Te#3(Qa@U!eE`%!dU)9"l(6eZLURH!iJB-bFAA@(@5iSIN5mBh6l
+
+UEGE'l&3E`XS)LU!LS+Z&Q&T"`L5$-JpdQ!6G()@q!jY(LhAIK!iJX#-@S!mpCcl
+
+5U@N'2*lfCrq5[qG+ae[m&Yq5T@EFS1023-D"@k+`QCN'%9!2a'#"aF6339Y5Y$p
+
+fm[Yj[El(YqU5@!ZV+9GFrYRBZ4qIEj9RNC'G+p1crKJk0Tjq`qDZ'!0!1p"CcZK
+
+8iK4J**TArf4kFC))"8%8'TP4E,c0EjKGJ9Sq!I#d[B1iJjdcb0IX#fJR`HK+m!l
+
+RDkhLUFX9!+'Ak99@83#GP"Q8Fp9`$m%VYc[!'%PCm@CKAR3dAd**FT''!Pa"ijh
+
+i-k#j)B,f$`,20$"Vj-R4T`YfG+'kXp,&$CiP5Aim-8[0!TQcBYKQk6kCAJ0efMi
+
+NrpFlkY6MiAM3I9UH0"id(M@IM@Rmf[f@MPD+[Y1*"YDAkYE*YTX2BlImmV!KrIP
+
+GY+lD9fdhZ0Kc0*hE,f$,eZp(J2T#3I5FPJmaF%#[Y+S3)VVia8!VKF'5A8"LJMB
+
+)NZ30'6i*HQSj9cp`%(aX6YCIE3rVPpYClDcl5ejf`qPe&[*fYT[CAqe(i#%$!UD
+
+PE5$)4liU3$i#eS0F5JCLd)%[!$JKJ&k%N!"RhQC*cp&a*I`350Pl1YlUfje5kfr
+
+4JlG,-#9j0Rp5CjqarlD,Ck1YP`bVHMqfjYlIpY6NBIlE2N92ffIcE2N@IhCYaX0
+
+13!AjFR48Yl2q#FCPK-JL@a"9Fa!'RS2MA19EA*3!%!UDe)2LrJZ9Zi)eTbi1cSp
+
+QAJ&I$0fr85[c9-'$ZS-#cl'CmAAriP%$!Y2pS1"51,ffM[KJThQT(J0-6`004ed
+
+q'GcBDTr3"d3MbAVfG5CTLq!r4SSV3CFIGhP@hJ``iHPJq'TjN!"m-'UXiTRmGjS
+
+5`"!AB'QS`$!+TPIeB1'8J,H9,PrbfR%[+NQpEa)*m4+"6fqA,VUR"JM$)1iQHjV
+
+pL@)"Y%Vq3VJIbMS2++!(P&U"k*H"FLEb0MrYe(Bf&V-cTKpjlU*YB#8)-3lmfbU
+
+imr5a5G')G,Rbk2dYArRY[@NIpiBT%Z4,Q5l@AGF$5h@c(!$MYGVFUPk(@mRir`R
+
+jjqC)edJKmYCpe2dYcXiT1e*6[IRrh8[8kh-l6-N43jNJ!dc-YFbkpV5aE2K4r%S
+
+S%[DNIKKLQIKYHA5jI@jQVc0YQ5-qapr3r4N4imQMCb2Ub-k4cB5mUYBU@akhBk[
+
+%fhZb12BTkrj-H#NJ)LN&&@C"De+@&eZIUqGYXf4j%Mb,'8##cT5j%T!!4+),fPN
+
+GE9HK!IVd3!35(2QF5eM8UhVBZYbIMj0MNf16BeE(*Mk--%)30G$[4)-QP*kh4pE
+
+p,irdV(k9LJ%LMb+0@ah9MY,(hkRp&SI41PHGEFpE&YTmLI)mf4Mb*dI&TDi*(&X
+
+Fq%XdMfAHce[PGEPI(mQap+aq#apLaVG!C$PMP@19BM1,6+QeD8rVBYAk@fr@",c
+
+l'j!!J(r+50j)pHabBHRQ5VA2T@(@cZYirarb@AUfAVb+XM)""Ff-8McK8'A-UfZ
+
+A5UpEPkZVYXX#P14l&M(BB+YL4[60VDjP,qIVER9e0YjFM9LP+%Mr1219),Q4k%1
+
+rY)TNDM9klKpEprir)NIINF--%DLGjk%RSl#e`bK[Ui0hirB4EAeVMeTRV62@Z)Y
+
+[i0(&+QA+f9@MPq"9`b(L6ZVmXSZmTe,cGPYKf0E(NdST%D4m%MN3r!)"9T8aS&2
+
+im9PiQKjdMp8MD@%f$IcmAZqlKLh1jh2cYcmk%!QjaYc[SDGqZfpB6i,-rQqeKh@
+
+jjHjqMZHcK`Yc2h-mZfkGrPT`r@%k92e[S(3ZJ@6YrMEQYh-@j-qAX$AmV+q48'!
+
+3fY2C8plQGRaBjYp*Er(Yk8$(NIN(Ac2l[+UHKhN@lhqlciFV[,V[+[H#lZabJJC
+
+1Jm5MUq[eIAqjeqCerUGIaH[iS"12erRpIrRerpY$PGC$hA*X*%LM$d*(#YI+Z[3
+
+Y[3lR+MC82R3HGDqI@qI@rcfApPCmU-AN%D4@FD0q+6Z*UGXq@EA$3'!0*qJ9!0d
+
+9N!$-UHrCRI8XrEXrlTF9RA@I65iVR`Y,CE5[V2&AFdrYMIfed1Jk&P2MqE(RD#+
+
+[kDP&'VSdf0C6TmrGDfVHjNrhlR-Sqh*pP1rj8VS1Q,H5ZJXL3#I*h@$9b-cY[Il
+
+E-Nqh"l1TrYkb,8eeadaa)9feXVi%#)!@&2I+bJ)1erYKLhGGZqQ&R9e5b`+mD"Z
+
+UP@IJEcGEA!UGaBE@`fGa$M9f0dhC4@!B,!%&KZV+VBB(@EUPJAAFA@eT([0Redr
+
+TYE&2VTbQ#IZVDVh@"Xpe@B&Ch'bf[9l2UiGPA9R6(ejVY"C9YIDcprZX@V[!`E`
+
+-'mfY2ClU(G9fkkEG3ppi@0p$DemLI+h9(1JaD1HR!p(MD(S4r0d%8CaB%DI$ZT!
+
+!)"*h81"JpaJlA"fH$$Jef$df$&JehB@@cVl#qSjeMYB2CkcjFZ3rc!,+IH#`$'f
+
+BX$$I&JD5IVYeTUZk`+@kdf"V1ieQeZpRem2AefQkE64DDZdePTUq0kY+)9IVTG$
+
+TlQ214(RX`)Z#L*!!3pYXm$j2F9i`$iK[XAR6EaM!%8"'Ui'"hrEB,&!GqiS$"9S
+
+'T#"YF#`lB)RF4YVIl1T#qYJXk[6i'P$"+lLefYeXpQ@4eededA+9+bdYI1Rp9ZY
+
+R9l,!l,YZb#"YpVmRCRa)VZbkEEaGPAE1bl#[Yjp$GD5V8`,2YU1"K!JKfFZ(Bef
+
+akEZSF0A`+qIeqkVkX1"ApYAi&Ih(8lAUGRh-2Dehlh6I[3r[9hbHdqCkqMRk2G3
+
+eG(JD-3#(Z1bf[CE2XSB3`GP$f9G#0!4q!XmX#Kff0JGPh&6Dh'cS`h&G4kD`Kk@
+
+ZXV+CAQm`2!3L3!%lL(DkRCl8)&J##`VV"Ai*!B)f"5lDk`+3!,!TE1Z6MBkBT+9
+
+d`%'MrFkImqMUD2GF$pHMh@Mb0([1"rjl1(Xq`l2ib!E)jHeVpMiYak&a9f2P9QZ
+
+TH9'p1(p-LfJp5PkfLrMV28V[#5!#fNh@ZdG5(bY&VVV6@plY[k0MpI48M['G0T[
+
+8fhV3mZ[`*hLd[3kqVerP8[3RkDIHd[k,ckp,e,c`UAmGi!E[ISEAL2I5p,VRf#"
+
+)B+fVfq"Uqfa5'$DM`%)TTTF(C@80IZ4S%0A5$d(8B%2Yp30!dN28eehdhAaGIAG
+
+YCD5[i(iZch@08aYeMI`ffQe[TiIkDqfXD82V$S)E1ZN@9ea,#6)0*kide`+JZ,f
+
+ie1XYTe+Gf(Ar'kqPV[qhbrZpRa1"q,V2iB+[@EVXriB2calfae-VkqkLQEQjkD2
+
+5ej-![Dp#"$9lEbU(SER63qREDQPE@e+PA51Qkf(Hq&-qKB9qNNd$SHh@lTGpTYh
+
+5UDEG8[r-k'0f&ar(F4A(KGYfRE%80,kCj"+PIT1[kLap%raKm@"4NeqZ04,GE$A
+
+EA6BAT`rdEEkrDqThIKGcr(fXAFq&XrSAh%Jdec&$TYhVZqKhh0q99K`UkTA!%K`
+
+!%DE3`4qmSiY[lG(Lp,KDc(e1I5q0hfrI6"T*-2m1Nj-E6GrVX(63hZZ&!8am$9p
+
+05KeGG5qK1Vih+X0aSBYY'[6F)N!%[Be10U`&-rA8C`3&LL3CZPkGM@V+hbB)NRS
+
+6X9`3'B4)0E5phG2Gk[[T'q2H*LbF@GI1K"0LNBXc&[Ga6LeHA)6JLdqM1FY`3(S
+
+SN6l6AE)r)R@PYJQf*SUYXfN&EXSV3kR,6cYNIQTJJdqMl66F4JJm5ppHE9NILQF
+
+fpjY2Qk[Qb$68PH4dmh6@6JJc*R,d*GXATq[YARb$*LJ2"mFpca)*&TlqbeHpeI@
+
+kZapq9UbkpQ6V"X3E)@"BPc&XXrHmAV5jZP9m&Ee86Li1&XZ*D9E,P62C[FqRbYA
+
+l-M26i55H91i6JJiGT&C4l6SUU$i,(L5Z(+m,4&pSiJ"Q%@*HX+b$29N"SI1'$&[
+
+6&`'!E@piZpcKS',"kmV*kH+fVBh+5VaCaX50XEJ`k[PbrPl(jH)!ETrPh@qdrqQ
+
+e'J,DX9q*9[$fU@I1PqjVrEfrYTUK6qGU)Vi-#L$&""LbmmY,-rAJ-Jh%RI6rbk8
+
+SJ-%&pKBY+URefPjpj1fqZPHGe(dV[rReX@ecf##0KFhBeB1E0LYErBEXh4UFQR2
+
+c,EbEmB!d)!`FU8HTJeV)X+0+14T1(,CX-&RYF5RXDF[i,AiCRqpjLiQHMhLIjPm
+
+L*S35SfhiH`p5cYl1hXrfl#h`rQfIlHRqlG@p[TlpY)*1&"HiFhJ@I!QCY,MiI8b
+
+V,Ti+%r@BZ!0!GS"iNZR-apIkAFhX(ZD+lSA8lr+qEA"iZ&cEcQcIG&"HlHFhZJ%
+
+5HDF'8&r*BN&EL4E"6pCfq`rEKra@IlG(r&FeZPUhl'J3C'*clc&%Shm[i0MZZjr
+
+&+ir94A8%lSI&)!%%%ZqlVIE$G@HkPdl2GE$G+U$SDhQkA3i%GLS+r#qK5q'cYV2
+
+Dbrcl$DBGrClA4i&cY1VpEDm0JJif&qABTrp62PdpMRiC'je991e"a3(#`Z(5rhJ
+
+iF[r5cj'`j'*rT"r&S[9ZIXDBN!!(6J0MRbYj+hNfVHILa2N60aSXjkC"AiP6B5,
+
+@+c[V1VXH0K`@F@MJZEfhlbrE3$LUk$&("EVBeF)B9dqI3RkRAE-K!9F'ffqmer3
+
+Ir@""@iRZl$D@HdXqjPqVX0CLIMXp(dqCFfY[GAqcFE"RkrH3!(32f&mLphHhcT@
+
+md@GVIPcSILrfX3$Kpe&VrTbqC+qR0k1[qRYr+PE[U22fAr2V+Ymh!"c8KJPeCFH
+
+A9f-I%UfGr*aEZ+GcA%!i@hqTXIafIDbpcCmUP&KpV,lA4rhh1fk[raYIX-8"ZY[
+
+[,cfjIdCXFL!6B'iZL68bmRCY`J+B!%6J`DI%Ubp2dp@IcG,p$D0`!)r"qi)!HKJ
+
+A"R34J3G$5ll!h6S3E(6JJ!*HBZhpQARD2elZV1k(B8h3Jf()-PEN5[*f2Ipaq0p
+
+B"+X0[cYKq@dm5AS,ApYi#b9Lk,1ZGpT[cZ2!6Zkj1`r(Cm@AGfIpZ`j1(r4,UD2
+
+a,QMEPVba8%R%p6BIj@I#PdE2KJJiFZMSqeZIm0,mDrU0S"hAZE$YCACbZACpVVm
+
+rEmDeZp&lmrS@eVmARZ*"phAkBe0Zf*!!$YY[TTAED,mYhAfmeZ3#9*fp+PrP+Qc
+
+Ic@Q$XX(Z[c5ZSkIqAVqckcTpRE153Cq[iaXPCdVMDr10NDVe9eX[jAEJ)f*m'`Z
+
+#$lcl2kfar9KrBPrYkMq,BpaEprJ@l""BBRXl#'clDAq@cKf!$*G6TpVeqekcfGR
+
+YBb4lF+AlZhiQapfcrGPrQXm(BrQ`m'AqE4i0hqHhq4JE""",pbclA%`pKc"i#V+
+
+Rl(2lUI,cqRRh@ITCrB9BdD6SS)[LA80eArJdrId1reeeUqrq*&`I`@ee'ZShl)e
+
+['R56e!G-CAR5C@SbVZVerm1Vhra-l)rAEC9CG9Yc'R9dDXj8RKdS[Ql65lU22d&
+
+KSFqcJZ[5V20M&9UXi9P'$!H!,jfldpl),9(3jdDISHK)X0"RVD`lq02V'#$8AYM
+
+aM`QCfLi8Va*4rC'Lm5XiGC&'2#il)'ISHI'pR3JmV1IS1&-M8SMb"1a"AcV+jXB
+
+CA4TC8HK+SDh+Qr"*iMS3@@&AEUA[Y$[kl&d12XFMTpj(h%L'I4GN$Qk$16!ZX[@
+
+Vr9XZ8H0EkfJYE@3m-#Eib!5PRR[XUf2Qb[UERL[#"AG#eYHrrCBC1KbE(+d*@Nd
+
+2d*6Y!*('QjmHIAEL'+0'd1I)Jd1FJ%F%(F@2QdUZJjpTkH[qKA56`P6klRk'THc
+
+(3Jd(e,hpG[j9ajA@H9eRPh(hEMc,Mm&(c1bh&E'V#R*'m9'04Yj@CPGcE,S3Cdl
+
+fihXJ@j8EK6Uq9&)bDRPamU4lN!"c0KPj'd`kGR[df!MecH(,VCaDe5$QDd"PM5X
+
+VBjA"m[%bTI,PI36QL!0AcUq#M)cSIV4eVkE#ji-@'F[Lk`5Fa%C5"[kQCS2,XGM
+
+"SpKAj&A$MfFJr[lT*j9[[Tep"LTJ3akFJq#Z`TJraE2S3Ff9aCAd#DE@cMrRE(c
+
+kR4MqK)[*9AB6mLHKIPQr1Yh$1GL$B5SYK(b)iAcXrJ1dN!$rAcXF-(iUR&d'JNI
+
+%PCq`MF%YU6KI1X%!KFbL2lU48UCNIlGMH3ElBqaNF2$LXdd`9daB1*E'aABQdRS
+
+-qa"PXFrJqcLH9,1Eq9k8Vi*IX5Udk!,1bLKRp*Mb-+EcYM$$"L@C'M",JPq,CaD
+
+5ME'jLHM[*k5VBem%EC9Gr2lJZD@Nq@Z#D2mM(UEb2Q52$PIYf%E)pI$lkApXZ2r
+
+&JYa8dDGrE"hXM`DRJarXb2l)2Xl$l14rCKrCXck2R)(i-(K`F-8!A5p5IS+XJQ$
+
+l$&b2aiQ9CrP#"lm(X5Z'aRjYTak!`#,BEM)La-X9!ZAk!E*R'VM)bkP@2Pb$99f
+
+(Gj%@(q'AM3CXVcj@UXrL`)lr&XBUQE(cC"Z8l$0""22jra6,I28"")E9"S+YMr*
+
++ifaLi2'a1G,LPHp+hFXrPF'"1[`3Bd2[4qABrJP@f`Yq$&LE'A[S2c`FZ9pk9G@
+
+G[1+q)B-`Hrhm(,f2Kj&EKjmYRf"-eH[RH0CjYMlP6Qk$hE(PbUrBe6JMcfZ4mF"
+
+j-U`RGU+!r($q23I8XH10JiSB1,,qSFB2hTAY+)*mUkX6dZk#+4R%(rRm'k`m8Ba
+
+PLi"f%V`jf+2J4#J$6YPF6Bq#%$c*IQ5iT[Q'`[piG"YC91aT`r,d%1KrKY$Qab+
+
+hZPY"9pm+0JYC@GBmD(bG"aV(e*AfYMbH$r4LIGPr@PIGPFL9b"JAldkh)hlH(lm
+
+Ii,(lmUjf(`C(EBQi&`)Ta!*@cSdVPb1cUGRS1ABemUEXHSi*5GXcEIJl'$iXVr'
+
+$`Ca54%JZSr4)hqLM!-0#"fXVY3#Gb,Jj%(M@2kUR)d(rLamb$cYM&N8m5+cXcNc
+
+J'a33EmS`9m0@XiZLiT,ZN[HHRjpY1&,i9e`Zl*IjTS4k,pFVK6BYI9fT5GENh9c
+
+YjB5Db`KrZrGKfq0"M3r,NlbmKe1jUI1X-E3r,hrVkR,X2iqPeXQ`JrZR`kBaiVI
+
+jHNhPc$YpcT2R8FEDI,kRej'A"r(hHYMciCmIIk6-q*jF2i,(aV5[[DYk6DpY"YS
+
+*%qmaG&I9K2IV2%TCi"[&QP#fX*HG"cbA[bGEp(Cj0BH1Q4AdUNL3!'`,*KqYDcj
+
+YcXSYA2AAIRf22X,j!45Rb250NApN2R!JefbeQV1jSeqq9)iA5aT(%N9D4XZJ%ci
+
+IAYH90p8)'AYXZ4Pb#(+`b9)'mN8k1ABq($@fY@eMA[$eF6JJiNJm9BA1E4r'0'l
+
+#EZjY@pTkZQEMqCBm@bQ@&K)dNMkG,YT'&5mBf!H(DrIQmMCFM9mMEIINFJe[rS"
+
+!Va!230dhd+1I)mU3!&@HdZD9c5qAeYAirCf0PdTS2f0e5bT(S@-4RcQcR$G6-@N
+
+I)r9qq+%hh5q()fXLQDi0149SdcC6mBhTHC4UdZBEFHA)jGK`d9"4j8M2NHV4LNH
+
+V)pZ(pNcr+PPdSZYfRDDH4DQUkE[0(bJp93$9C(`3q9-LTH-Ej[qADIBXD0KEeRL
+
+6FqXmdD"q,3EbEp[jQGSFqZJd1IdRL9KCBeR$KLVBd0E3LS38)+)"'J03JZi+N!"
+
+Tm+2H9mN%%QK*SH03LSmbKc+&930&GjG6,dqA(jGIa+h&KaD(3SFfliY,D81mSA&
+
+,28J6kR2dq2(RemkY[SCp#hS9EXr8G$L8$FYS(%D##ITjmIS9q,@em0'KR!bX`0)
+
+J((%1bf'#U'#G$FhF9fA(0(A!)#"Gq@!l+UEr6m[3H(dPE)R8UPVZSI*PlqEqUkf
+
+RG&V$S1JJ%MQEU98Cmh2VY`IilZlVGdUZTq)kL!VrlbX19AidDp5-L6"&"ke601H
+
+Y!*Q`IN2HC3Jlb6`kf0ed9l"FQl,3pDKQd-e!)!6mP#CTk'dlb[iCAI#"m3VBerV
+
+8@"klcE[mQXmR!S4ZmMF16'#e"88`AZE'cDQEZmhGjZlr*8QAkL#`M&(L#C*kQ+k
+
+pDhcHicDdkkfM"4S81mRF1G'RL!6j1ZLhrV6Xf6QfHEN#3A[j)CQ(3[")*%D1FI-
+
+H6)LPHYGCXh0NCXV0ZXhDINd-b93RpjI+J%q$8bF#,Y4!+r0X!LC'E6r)GQe$)lc
+
+Dm2[iaUN`Gr*`BS`S#0Q`JJSjXImNHCe0#b&3@%BcLB,L64LYr@K"p$Qi1EJjZ$q
+
+6"QB0$"lcX1(4MD5+C"T*-b,U9-&H*pKjZ(q6YjQQSBRHIZm25!JK""$&T!J+2!#
+
+Bhj0R-fG$X"B%`%&J#$[iX%@"JKL4Selq6@61c'J@($[BfQ&JDD6HaDEeS!14Xfp
+
+cG-##pQGb,!JiG+YX#XTfAlZpKa0cf@0'aSFD5!6"aQ*"If&6@5G68Kl@``lM$Z-
+
+1a[,[Sr(ml3p#amh3p#Zj9SArT25i9CclBjCCmHjVlUGG6lV&ZVkki9eAh8I5eGR
+
+ReRLeQGE&Kqkf&eMhIjpM(eZI2aEZVF`DfI2jpYbGT)MAdNbeB-A$aDJ"-034"Lf
+
+H,0h(JELG5M@XEa*1HQCEKmfS!6$8%3FfcjXhMm$MfdfYXSa#P(2!IC!!rM*hmlc
+
+BhUk&IRH@*IC+Ah&0!5#(M5kN[$PiB"+N[#ARFqEdp[TDlX#aqB$jG"3HVKa3m,$
+
+Vm1VKb+Pi)"bT[$i($YLb!%J[)#hk`q98j@(bX-!P3p,0RbVAeI!L25l'#!A!8UV
+
+KNa,$ZF3Y[UQrJhPQFrr!bEE39YD+!6e9qeKrKU&[eKm[$jClbm`%'I`2IY[SeXH
+
+-4GRaUmM$,J3GaQiIrLTqL$r1cpDEkhJHY1pL0`b)*+ah-`qC8!*KS#2j),bc[CZ
+
+pi(Y+3+q6DbZK"2`pG8%%`a"$YI,d+EFq"FU`"%JaB-I$jX2d-63BIM0X!YHE`$c
+
+2eX%EaC)%*AYiR&Km[%Zm1j9S(VfHA0m2J4@a-HM5C-%U#9aJFFE%Ja10KmkTp@$
+
+Ibq0D`H""16f4D15IEq#AKr5UIjiIVBIrI%LU!1XaNIJF#GG4M0ID[E*Y@6kXEP%
+
+l4pE!aF!1-c$c-2-`mpLi-c`$q)a[%DC"!-D'36m3"%*AkPj-h*i&@fbDb[M9ZLL
+
+,"@Ra1M$PBQ9L!%Kk-V6fFHeMq"e-kb1CN!"!@b8@*jX2RBRU+)$!RPqp0bq"Nfp
+
+PAek+J'JH1id$0U(H)XmfecI!cEH)D!JKN`H-#"'I98D3!(ElPcF[`-ZGbibHGrR
+
+`HV"&LFq(GBG4B30a"$CiYVLq!HKq-C%%Q3AC@+Vi(VK!EK!j[JFiIJM4M3TJ-&!
+
+D"Y-2[-1ia-qS86jFqejrJBmkHE!&ISUTe[H6Kje6(`rEa2[BGc8(lKd%r`*mkjV
+
+SN4q$#Jr`a28KPiR`iHELH4$,P5l2%Qr$i'*1Zieq@lKKG5-LaTdIDe[KLN2AI'J
+
+)b!a#F2d"m$IT#&82#hClab%"""F`4BGR8NBGhKhi)-*A`1F+!5!"'J*0!biI$`r
+
+fT!&8#GCRhIBN&r*5mZ`-2ZSF(%`F3!N1$"JfH$Di(JF5Ga+k[MDQ6UB06"UF2N%
+
+8()`q3!LV!CSmhNH"9RF1-0ENf8&l+c-2E90YKm8MJ!4"YKk$Nm$P@d0E4)J+-V1
+
+)J#(K$pL!)Bp!DMip"1NTijq+-i4J(KiIm6Em(!iYY)M@$@5r"1`riDQl`rBa2L"
+
+Jhd&lCRi*m$Gc[LRP$Vj2,J`PQ`Dl%51*NF#UJ4X%q6[$'*j1*qFS!G$%p$%-1b#
+
+jPa0L#5RrNBd[1J2Y2,`*HqPrYkjkD")iXMS3qUA)R0q2aV(M@RiV"r0Jd9c"k-&
+
+9CX(XBHAKREl"PfG9b!"UG!JB5ImfN!"[,@Q#$`kbYM@mRre+pD$eX2mN+22I$LI
+
+$#@8&Rq5eENJRMS$),a2$U''d%!ilB25PrVQjAclUhqD+JN5DNVmm'da+F1T&J5-
+
+1mU#m&J!mfGMJJS5G)9lB-1T8J`iX15##m(`-)KJ+8#IAp@J6a)%PH-Ei8"9)`+V
+
+&!%i"2UrKjP625Em!M-$"I6Idq"PfahIa[T(@U4C$r(1a"3"-J43"@Um$mNlr-8"
+
+m56m42(B8Z2I`rYiIfm2lP6i)2ZfHZQqei(mTk(+f22SdJ#8BmqS!L[j6l%!Xk!R
+
+*BP9C!"J3`$dV-@"`,Uh25r'm%C!!H$"i1(rC8mI$mI$rX`r(UIpB2(XiT[Jq"i-
+
+k+0i*$"$"Zi+Q(ZkP6$`-2@iF06m-V'%JmrjqUYrLNS'2*jiN#b-,*!NF&1ciXf,
+
+`*%i`2DbX%!m+9p)S-I5a!$BRK3rJP(MLQl(JDUhd&I@aYjSUFVp-V((f-8B!NkL
+
++9ajIT6I'CC`6T2(-Bl`X2eDRCiIHiIqQ(pqTb*@qPlbEfIJIhc[ikbb-hrrT+pf
+
+9LBQE$LBQ(LHhLBF2N5X5A`*XA!`eTJ%N"i5i'4JBq(EKJ6bHG[`1hYZh*S"1!4`
+
+$L!I3&`HeCjmeZP"Q$J)K`(Xe2"%qqPL'3V"&Cp`6S2)Y[Q$!%YS0`@S"+`#$UF6
+
+h)G2+lkATjYAJDHfeNE6+J&H3!-!lM$cm3pdkdS+Sd$+*S&D2J*-JhJ)2,a,T)BQ
+
+53Ck53'M$qI4C-(Eb[J`qqUI"KrS`kZ*ld1l6bZ@Zl*S([4X!S`3`FSQJ'8)NAf(
+
+ZL#R,XrIQhRJDZGhPBN3(J3Ic&V"9UF`Gp`a`'50JJYEc`+DaJ*&"[)-[%m))%E%
+
+YX6r@(95[pCHUQrkm$5fhH(XIJd8%VqD9iZ*r[$0a0TLIT`rYe2,Jp5cmZem[JHA
+
+ECpEYBdr4A8VS`HJ3JC`r"jq*G90dY3$hr![*hHef6'hFQp,$QT`p523ID`rYBIf
+
+URfS2`fIJfX52`9[JaXA4#`*@6LC-0A%iQ)-NKm`HJ-N$JHCEIHV+fE1q*8TIRXB
+
+0*[YAl%FhlAp6JZ5%#H33%,'([-2,a0M8k%'ZPeEAIq"qZfp'0E[H%"Zq%rL"cC2
+
+1'JFh$j`32h-2Y4!1h9k$l[!Mfh8Q2rYC0-%&2$l1TSKk#Q@4(C38b8#Ri([cXbX
+
+X((S-b%FjLC*(3C6")"%-JpJC!N`##92a+N0rL9-3!N-%UpPq"0a"m$AN%'2*rb&
+
+`,3i'r)#1("qjCq"Drkm$rqYUKdh,6!PEBYQ2Ja+Z*eiN&e+aTIaL'$ieYS#B"1N
+
+k-cL1D$MR%q$R!)1KXQJHpi(["![f3`F3IJfSN!"TF5k*3-@cU+q"bkcL4j-hcBp
+
++Pq1aqRXXcT[Uk+hIbi"B!B+H(6&`&"iYi+X(-+8'm+!(K#!FdKJ$N4J!%``#3m5
+
+8D88h2,-$2V1,@45G5+!mc%m`)&D+LV#1#"NB'`&J5C2E3II+i(JMd'l`pf8D,m%
+
+%&V8@m!LM@XRS3BF&k2`AQ(N#S10$*HP`EZ6RbL@)A"9a0`6B[Qe2)JpbAj0V8i'
+
+DKJV1&A(Jqd-&GMeh2YDAGr3MFVTH%C596VF1P8XC8--EA#J1++J`d5"("3RTD(`
+
+,RJ4&T"2*X$8k#h*S'2Kq9LGQH!#H8J+Ue3*mBUJ9N!"'rb-@$,NH[dr+YN-'%l-
+
+($kIp%'6"aF6p056LIjBHRa2IUDQ9fX[[*Zdm#RTICV$!qNfDHQTEb"+)895cJKP
+
+rMYHXm$l0YkPCD4Y#A8&c"qc$p1&+i(4a245cJPj4*!NJ%H0NMB2h&YJ#dH'KE8C
+
+"'XkYUPU"9MCFE6%8'QJea0i15-`i%HJUfIVM)0--Jr3-!hBJ'l(f+c%i)f++TM`
+
+IefIaj[*m$ipYr@0JpH690+U,%p#(0&[F)G"`Kd(UcBH"Zjc6m#33'IY$fi)!#%B
+
+&@Afa9JjPYqp@GUa!+U9q-2q)YB+Y6a)2iLjJp,`13Nm#YM9h2VCeGccI2m@bk&G
+
+cjP@Zc*R'GX!j8fVAqcS-kP&1V6c14Y$RA4N[1a"m%RN3I""m#AF')+H,SJJ3&J-
+
+9")-+1I*TCfc6&)-pbXi@Lm@9aTA'3#6Fk6*YVqP&EAr@iI@iI@iGRHhAHI,iFL6
+
+0cYD#T""""(YDAjBr88[jU(f+88raTpPTTRDER3QN)9"L'5#41Rck0X5HEIqNreA
+
+qQ9p8@pbF6fX6lZ*$h8MjXbqX)pI52FqPp*!!lk4$)TpE6T8lURG8lVHhAr+PqLh
+
+[cM6aj'kQeGIpEUj2aCPDDB4HUG+BZXD0(N52(QqT3TlRD("iR"BF0#JMP9r+VMq
+
+QAJJMb$H`Yimf2Nf914H3!'2*pZfd,S34JVJJ-J,3a4Y25k-Qb)ZE"l%&G2VVQP%
+
+!DIA6di6*-jd)%ldXU3elYHRm52kXJ`NF@Sl)'GSIa-BVj+LE*eZJ[Ue`3G['cMN
+
+1j8(UcBZRbcFTbi2ER(&mk)!m,@k#,3p6+bY,heGZiqAAqABr8dFKfB-!`Cpe)h8
+
+MH5-L4Zp$[U1rJ-2Yd)*eI5Ukk`ZfXp[1edQH-!RZQ!B&JZXbhV,k(1X*-DY2N!"
+
+1M"'k8efjZIVH&hDD1k29QMfk%%H0SDXZ0TE$X#!'ZVkkU!BSG2"!EMmHCTp4dBq
+
+lMl[3HpAl50-H-JAN#pHERaT0IH9U-LaDc!T9AD!#J)ffQqrBEE3qqY(h-X1iHf`
+
+(-e)NAX%"5pACDQjmQ[G###r)L[HPPZZJ%PlZkUDcFB$Y)*0p"ZZP2Ec!I+1$fj9
+
+K"'ZiZ`GS!5bm52(QaAYF8rI"iFFAFlCmD!DDXUDfHC4c-M-eHI-iPJl,d&1eai0
+
+a0UAK"%[VeAjX1K"BM&*A#6r8Sr+MmU2kXIeTN8pfppBA["k"jJk2c20fAQpEj[c
+
+kXmdNrLZdHVZ9(aaARAGlrZM@Y"cdfm9@J`35$kl5CjV"mD'+X*QS*1&A2D[[9P4
+
+3ai0T"Ti+&RZl6,qGp5XH2[$(ZPm@dmf9pD9j[8IdG9QGAiPB6Ah3J'm%m@$-*Yi
+
+"1SiPGbT&@IHZK"dYIBeE(lG,lGMRf2#TF,Jm2VI#Y)V"fS$TI&k6qJ(N#5(J%2T
+
+eH5C,BIaYh-ZEQ(%c*HfPkXc'8q6QA"i@LC&lGdpcPP5$K*!!+`a1Z"b`R['qSV2
+
+3p!%4djf2Qf2Qp0Lc*MS3'KebV[1ZIa8XqIbYEpDK-Rr%HSRGT5q#ZJ6TeMN8Yl"
+
+mK6&B31iACjdlqDL!9eIS+YV)hFM3$2AEIr%)-BPHIchqHIX+TlLUG(Ib24XI!Sc
+
+q$9eFqC2X(f4dEZY*$iJUCHNPfjq#2HM2caT0HLCTq0h)lbMUrfQRh8Lm@XBqc26
+
+h'8pTh96TbMTGdqjhmMF3EQ6$1SX%([lP+p@B8@Fc3eCR[(j*jN'A2blleA5!6cF
+
+kR`AIq%qAGeD(Yd2DZrmG2m@qVP%%AArElhSSc)Cm(3e1*pMj[5q,S0qH44X`E4)
+
+c8!JD%T[ILDlKAE`&@I)a)N`4*5G6#pHqMG5qM3%rqZJ%&ZFBGpaMM3GYJT4DhcE
+
+[dd!LJLIFflfk!hSX@P96HJ(UXqZj9MjZ[qS6Eh&`(fZS3CFZK0Ub0eSIJN#iTX-
+
+KYF&2Fpb2FFfId"AQmSC"`&FkKQkEk[C@6BJlh[iI8NEQPf[@mEVB+8&V"XTR@j@
+
+frcX,pX33Xhh*h1%@h@ZheeHh-%lHl2,G#$AkFqYaiX0(J9f,ABYGZ)qjN3bA%!h
+
+@%MS,VG#JUClr,UlbY2Vp4r6YV9a)1dM6,HjZD@`1(5P3Zk'`bVR6dXZFiU$[4GM
+
+8@eM[0$d*PlB36Fq@(Cd)'e[!LidMITDeP)ehCZcFMUF)CP2XrPkAk$TaMU!#EqH
+
+kTf9j,rCLafZ*SVR#A0L$&lHK&$Qd1G4pXq,QA3pq(1QH6GplZFPa!+N2P5+J`$R
+
+&G,$YF0pB"ZHqX0e)pf4r&4j%MQ@*D,m(+kfVDCA5eDhKD$ecXb-kbe*kk6fHPpF
+
+TMiT@lJJXTaj@G"Ab+Lf9H3eCBb00(,D%Ya8YRCjcm,D9k(1VLTl(R@8&TDdBGYC
+
+k(IU[!j@'L!Jq"jB3"maG2AjA8mbjfNkeM5)mC+rb!4S%*%"AFr3HEBq6+qMhI$V
+
+1&B9TamE[@lZPZm(Gi1l`DUJEhX(GpcY-MDBZ6@4&4@[kbV5Rl%jE,SqXPd`&'r"
+
+FkL+rM(1eBGCB8V$BpRGiedF'9eME('3&A@0G3kMFJJR5*r@@G,b0Mi9hi9eP`lD
+
+k`YM[`JBpecEVLkM3hmH`2pikbR5hZalflKZZpKq#khfa*`"GmC&elqSq3#!pZr@
+
+3!&,$f-0hKh@($cVV$f03"8&e"G3DL#rNf&I)qTeR3TFVBqVGa"JblVi0MRhITAA
+
+'ZVfkhfSq,Im1`aC&jeQMT4E(&ZpaG&VlGE[BlZl)DL'kRU1i[r%4B(@4kAEl([V
+
+[YlVYiHCG0!U2G4lV6kLe[aL-Lekc#T3U0UN2q9eLK+a6LF1*l8F*LS*p)l8V[+Z
+
+MD8ZXVBe8"9d!689Eq[X19)jr@%K'ajphZJJFm)'i&9+3!,8BYrI+J'TTDRBpB+!
+
+mb(c,Vc0MjPhjPeq'km+km)C"@"JZHXp'P9f1ZZkYeiF16G9GMNhB"VV*ZXR8I3$
+
+"`j%@Tbk0ABFUKRh20K!*X+Y$Qh2q&crKFr9e&N*!G6(@(BYX6Rq(!BpeEL9#UVS
+
+!QSjRB4@'@0!L(3)LflK&50+U4F@SUAprBIZ51e""fUMDV#!6BeiKA&ZXmF"Rhr&
+
+X*iB2%839YdHI3%"d5#[YGG9G4FKJhFMGK!hB)+bki-)*0MMhIpGemHkj0emI8Ie
+
+pJQ,abY"H@2dHrk-E&6P'@MTZjHZh1&ADc3HaA9YG'd'G(jXI$d-9G(V-QPdDbbV
+
+Upi)$3l-(+a26CGFRCkCq)"hMkYIq)a22a61AB%I6k)*mq$d+c+eYc")VjpQrj!+
+
+-&c&4dhGaGc"SkNhQ[`JdeI3Sk61K5r6iqbLPJ)!BAlHYqjEHMf(l+bh""9dK-K0
+
+rcIA[X5Z("9U*F06i*eRf"KHDBm"@NZ6-Xp@$GA[B3H0+dakP`'!J[,ip5kMrLe-
+
+mb1mqphNVqfcLUD@#kXrRA2G@rmIBI"'V`JCZN6herNJJ[BT8qcakR1JmL$ZCpj1
+
+hemCUk@kV9ab9Mjp(A5+%-0VVZYS@YjVV1hklDE5616GY[CmVA*Shl,+f@9X69rf
+
+i$$'GVp%C@f(--TDI"5UEZ$GhZAX[Yl#p`i-+m,k$D3HaSUf6'a1(L4E)'$#!32i
+
+R#fr#PF19`j88QVSNbDq&XST4m0jAU1'$hT@A+bC9PSkqXi@YiZYiTHU-"(@qKS$
+
+*MXIV5[&e['q,p#Z2[`CaZT[G6+k`a5I-fAQE)LIa2-fri6feq&,Ld9CVH&+iQLU
+
+p*)q*q,#jqYp2V10SI5k6l$`J4kh33p6Tk8c[ZMDHY+MGCiVk)1XME,aTXZbP`r5
+
+N8*ZQfA[r(TbUI9kEZXVUr)kliCANGhSaF(R#S-Q9Ae,!D&'[DhBaBRTEId*9!D0
+
+rP*-c8d6FcC9B0dC4qCX[jlhjZ`pR%QB@2"kmZbJ[1RjqLiKkMH0XMAEKqY+mlC9
+
+GPaYMaX5,EmD9kF[hT5-!`$CYqRX[f5Y*8mU$![I8f9VX,r$K`MD*6D0NhmReX6G
+
+iHVf4Pee-#$i,h-fAhpLHMr#c)14+f)X#iNQ@6Kh@bj-(R91J-JMh[$f%@(Pi4H"
+
+RU0bj2&NT`'eplYB%i$rQh[SE,(f%l$ZGZEMFUlXrQbCdQm22EkTqHcfV`CGl9[F
+
+[B9F2+`NeUkE(3F[$l1pl19biDq90fA8E,mf``F2ZX,!Jl'$iXVJbIVRcA6LCDm'
+
+&I0cTF%VLQI2MbXHcp[CD'6@dU0YUD@&E48S,L9UjIIrHdTrBMGY6B(I&V#c[kI6
+
+k(UG"CE(UHRll3DciQZ1qZ*BehhCdiUIk+#,5A9#kd[i1crC)rC4mq2hmH,5IJk@
+
+kNA9KhjVEmUXjmH$TZM2V[LjdH$3IYT8HRhh6DI3fZali+aFHTL"9RR"ScY!**Z,
+
+1P9Ha!e`*S"%!PIE[`J,K2ep$c*(4d24NFb9P[SJN4SG&E4@ee5ZVEm&YqbPqc9H
+
+IFIXZ)UAi-EcrPqIMIXRIBSaSfLV)U0eT43&(pNE[iEV"lr"Llrm(bI2l,cqblrX
+
+VHPj@T[DA9kI[+ATkI9krh*hmlkB#fri9GiYGH5*mhR`FUXm5bN8UZYpHZjmIQ`F
+
+[5P!me)pdBpP1Mlqrb-,r(Ap9dqid(3VS0"Rer0XXbdjFRL0Ab1Jmf2d)iaDap+A
+
+hYhr[f$X350a5KZ[HTDl@kbGqbqp@XmfZaAXJD'e[-HXJkLjkMG5FqP[0Y2"K&)m
+
+Aipj[I8h[1Kp,CbBh+2"AbM`9RHpMmdACQ'GVT0I8e'NKj1MhP+c04bI4R`CkJEA
+
+39B6PPYGj3Td-cE(DhEeU##(Zm1(`2ml6dD8@Ri(lN@ZZU2!`)GAk-(RcpCI9pIA
+
+aimFmj8HK(S3J'kRdCY@ellUG24MhA%YSVkTAaMd(89%&&4"bC[4YD(8d+-0e`N%
+
+%Q0+rp`H$8rk5[rGRr9+kq(qU`rieIp1XYVhiYl`lZ0ZBYR9Nf%%%V492[3Ih3I(
+
+JN90ABEE9jQXjfbr*HrBS+)0&fCkpHf)[-Z9M&,[Q@(-eI-eR-[I'[DG$*33@&r)
+
+KX5kpNEk4ZSImTF-[Gl(Sm$2a0j,b*G6UZmYlmU[cl%lamLK)[)BCB)YMZq"lf*9
+
+6+qkUTEQDP$a)e5NYFp!*5JYS0("Si1TJkDci*K2aT-0R')[J1@Ge&G4k@dYY2Sp
+
+F#$9p0ZmMf0E@eYE$$T)-'#%!Ke)+"ZrJfB%0RK3hPqAVm04JJXm'*k%!"!3@%0K
+
+T*'$)KL`C'$aF'RJhZ$UqrNE-pB3"*PrB"!1GM"XiHk`I!`HGJiH$Ki1(hq&Xlk'
+
+rfGr$$IdDdq#bL"SZBCeVE[[phXbi*fG5(DAq"@hd22dRUi-822`GeJe-(&`FA"h
+
+(I`l2&Ka8!PrI9Xq(Mk5,"m+'r!eZX(I#"Er[mICmq(FE2F+B10$cG*cF'V$aPl,
+
+SJ38qrTl1R$6fIY3r4[ipD#E5CH$ld19JkX%@2JKXBJ'lKUAql%!pl5Cq$d)G`)e
+
+4`EpL39("!Cm'NdQ$J`d-(5"H4)-A[e4`!PpIm)@"$T)f$hm1#HLr[bCi!2CK&3#
+
+AmDY,md2fA$9`H*JaK8#-HU-BpChm9E"$-dQZ`G2$Z3ZFF$`ZE[qi$p`0RQ`rI'I
+
+@81rdRim(b)Iai0J0!9SRIjJTk4XpY$Hhm&D-NdQl`4,JZAq$iSd,iHrpcCqh$qh
+
+Cmk(kYrC9Xk(AD5VJi%1q&IA!3"8(Il[X(5[ZNKe'Nk["rj3rC`G4JrmX("`Iha3
+
+(r,X-'(T0RdX29ApZp'#Y9!,h[iH`4Mf&$q'rb9@p,`HjK`m(1`I`i15``)[i!Pr
+
+YK8&b0q2-UZ&[8`F$"iIIaGKb)H4X`#GK%*!!D-5$QLi1F&lR''rcHriqcLKpj8J
+
+[kf+('dQ0JrSK!)2HAJm"r0hp[XrCKkF%%brk&ET)IcD3!'Y"JYm(A,#"8)2SKN'
+
+ZKdprf&EUBFr5Hm2[8`q)"+BN',Xid2qQcp5(c,qX)AS4cfR#"ff$f`X$f(a)%E!
+
+2V3rdi1IJqGJr9`H'2IHPf(rH(Nl2h)Glf%S-()&3FJ8"b"2%A&Apr9l$-Kb"*2P
+
+K![BFj5"CMaq')!!6[i"F#**fprrUQTJ[`CiXMQk,S@q,)jqLap2[l$-RjH"l&G`
+
+kb0*bi+FUVDV,"82"EZmA$pI%UpjaZ`,Eqr*[%BU[4ciVf8%b#6[jdmUm6p$d$3S
+
+jqK1&fGN'aFEZ-M)XDG(fTj`5[SJN@Y,S5+YVcEhQdqE-ih5f$k)*fZT9ERq5PQA
+
+8VV[4a,riK`D[BJdhQp45TIjGIp1PaH[ifQp(iPqqL$!R9*p2&TlLR&NC1#QRaZl
+
+@KKDI$Mpa(hr8iYP'Vm#[KUdmbRQ8qENIM`IURHbbj[fp[kH*"h9l`0pZ2Bk5Y`)
+
+e5[TeDCEpC&2"5ibTfY2#Ti92ZDHrc-ALePJTJRlfV6Rj%rYNZ9*pV[m,HB@Ch1C
+
+mr*l[39YDSJakHrTjR"bF'ZXcbcc-c#p[$pRZ19[r9aBLkcM9+hHa#4BZ4bZfj8V
+
+KRe2bm,,`m[Z-[IjH,9MF6!fP6hYlPplNlhe!JC-VbcN[qTYrTiQ6mR*$!D[J314
+
+6LTmLRb-MNGYb"!14DmM#j'(b1ij'rj(Gpl'ZF#eKhqpr&[H0[H0`H0JTq2cX[`M
+
+kHr*mMjm[FH"'RL35DIMlf,Hq&NIBlC+S&'e[F+IKI0lRc[Rh@,4M6-#0$'hZLh[
+
+GGlm2"a-(%PBNV%QiQha0[LGeLH"hAb[aaZ&J$a&2ML"CZ4cZf1Bq$,QHpKG($p[
+
+Z10mrNphU+fr`*05mTckHkTjI"LlEK`4S29Q41e3CDVJebX!ZIhdkrjmcAEFr`2Z
+
+*qrRiYcA4+),N-&RN52h,XhASTQ&KFh$j[FFlImlZrSeXIXC-2(h[`lhkQpmRJre
+
+r[Hl+XS*dbIKA1*%T!RaThBqE$jZpp$HeGl2U6rh,NpD[0QFe5"cGraqlQeYPJ4i
+
+EhHi92MGlcH$am'*1,Ldifhif*a[NmEjrLph&@e"!%4lLMd'2fhYb[$JrL(!(C(h
+
+'CmrLph)VE$!Re,-F"YDHkb1AfhdCAC`B3J%r$[1iTlr,l[`ai$&K#"[H,[FrJmA
+
+"iXV2PHcDH9YmV%mRj2TI2q$Zcb1i&E8LTakFIHeH$`X%a%)+Xbq`[QiR`r*reqI
+
+mVFF'Y[%3#R4hYc[BKi!k6j9@dp"k9!5JEh+hZ8%$+`6a*3(rlm,dX2pIbFVjpeZ
+
+,Q[RB(#K4chNGlL9-hYXf9m-'E-cF,0`mhZ)[RrdphH'#lS4B(k4))K)28PIDPIF
+
+Y2ZEIlQ*pcj2&qIp6ZlXF"2K&3Eha4m$MN8('PFkdLfr[BR[GeZq"Zpa8Vm$!a9A
+
+"B8q,NFhYZe'3!&I-UY,J)S$A2`1lKlS2h`lhb!JH60rE+mLdmMEq4LHlhAJH"HE
+
+U#0*&3$RZpS#!8-'VDkk92Y+ZhRiNAG6q"pEG*&"3KbK!"8A"j1$pQd)3*N'hL`m
+
+MZ2FqIj'iXid'!9)',!VrhiTQ+R-dIA[YqklIJG[ZHdVDr!Sm(1TcqpLTcq$FMS"
+
+F9TPEHVYmVZ0G`+U[`4kPl6r569kQ4KpYK`9*8S9"j'*jrbI-qIqcZrSeNGL`%3#
+
+)C"bCAP#3!'ALIE(S,hFGjAm2!bkP0)2UHHbF"Lc2AfpAZS1i0Ml&Xkb)H!'qEh*
+
+hZ6`5X&+m'9&0-ClZSJ`HChIhUbY`+qT9Teiq"FN8(cB23PBpV19d'GmrdGamf01
+
+*J#6i-qRQC'IffC!!(@$Deqhpc%lEj2FEra1`rIMfq"cDR1)!1E6jd-AEIZ@Bd+D
+
++q&JIGi%IX1TVC'"De2elh6P!,YXM8pXRkrRc0eKIY`jrbDZrhppq%9!2JGl'lhS
+
+pl(Kr9qrjF[bjIhC[`BPPLI6'!E[GeE#[83DE[FVIIFKLlIid[Y6X2rALGYKlEZH
+
+dm$RE[kA5SJ'EhZE[HG6pX3#4"cC98L!cm1jlU,IlaBB0$8UlhcUIl+ChDpY[i1M
+
++p'e-9c%b[NeIRj@c1l9*S&2b1prE6J$"K5qE+mQEr*Yrj-6m[GIVi2mZcp'X[qa
+
+LKmcHqB+LjA"m("KXp,"m-cc-,iF29I*Li(6AfK+B'Q)`006mURXq$5`Ii#K"f9T
+
+mREpPLI*q6fAciGRm8C!!'pA[DQp`pl8i*DG',j8Y"m$%llj1E`26[l1[L`1bUCZ
+
+pbUHE6l)G"jNVk8Vc"i$+a+T'"Rl2qUZlc![iF-F"fY2p96-+-&e"EM`(da3'9mr
+
++[UGGiH"i`U$m'pbkI*b2XG[pq$r59`E@0K9F2LpaK)b!cRFr3mV44T(iBq4@Fr3
+
+hf4ckccBmq$Qk8f#,QI@Fmfh65GXk'aSElGc-ZKp$3epV`qTLeQAfQAe1ATm[Y+Y
+
+IPakh3NUejLdr9YBU'ACCGVPp69GL$*Ml@bpq9QE(Llk+ec+&@bUf[Zp6rYV2pZd
+
+c1Tc02QGTQ9rL4kGP6P4E'R[UGV`k%33+[8jHXUpT2kU,6dqd,5#22XYa"&X2Jlh
+
+Q@[`"!mDecHTpc@CrDFhUHGTmhj(eDqbJNcF+khqR[+I0TChAqPere3$FEVq05!*
+
+er'd['fFN%"JmDHP6ip,RGIaq[ip+*4"kAAqKerPkAeYRINp#GG3kH06j0,LGIkR
+
+Ar5TIcGIk2AqC5mcVrbGIq65q(Xkf#00d0e8dii+Pb1[j(AmK30pqPq!%(rM5rpG
+
+ReGKI(%A[YA[0AMdYa4KlbV)ddfVUcj8Q+0Rf(YbI%%!ipeLDHT6p1Paq[LkrdUA
+
+TpIkIAqQS'qjTI`l11SJKdpR6L%JjhAmkP9!-JQpcVmh5mF8"Tj[mPe&TmfRQLGC
+
+[AS"ZF+!93b+JX-#4[ZZhQVqEeX05LZK%A)8BhF8!LEYVer&G(VIS@hNr)q'22V1
+
+8Q3XJJ6@pTCFMQ8ZC)jN2-YJ%AAmP+mZVfP[EVfV[k*qTmkf-#,q$+lchVELD(S4
+
+Sa[JaSjpKSdq02MG#0L["!FMr#e[%2+mD"'YiYe)dplYM,bE%("j2arj%5+[JM`9
+
+`qjABXLE2GQ"""'b0Mcl$&kDV*aHPcl!l1Y,9Ha!ReC1j,P@@rS8'Z&pl%%mqDmD
+
+IVDXV+V-UaZE`rM6f)+r&Sj%G!*Le+NI&Vm@`GU!i2*6+ST9DiQe4lc3ij`aTleA
+
+K!mQIqZ$lYCR'YL8QT%qmRk*iN!"4ZXrTkI!clSfBE[5h1jf(d[R46RT8'MRdSG(
+
+Y)I,T8,V58T&eDdVVFhl`36)f29Z1C)Ur`mbeUlk63Upc*XBV#qX-I@BZTh'Th0a
+
+ZiDGa[lM(Z-@iaD',ElLh(m,HMB4V$Kk`hIp6Ph"ia,J!`"+Y$,YmZhbk1ATBV#F
+
+T!UpCNkU2$dEMQA(-Z1MFFZKkp[bVIeD-9[8X+f`LeP$8d1XhHUbiISA&IFHVF4A
+
+'@`J9EI,X,#`e1Xkc8pCUELij%2Th(flMqLirSZ2k+(p&[k9[rrU2pfPMf(%X+ZX
+
+c06QDR2Z-b(-Z-qir5'$fk'GEqrEmZPl&[`l#[""LkRGDQVF(L8Z2lp9&F4VMeD%
+
+6KJ33)3!H3rdA%r9DkiSh(Qd1KEp$5qE5QfpPBF-5!8m%$,Kj9a9eAiVMmpaqfKa
+
+VHVTH05JYiV!kD6Pd2@Cd[L%!3rj5cd!PYr&@H&@44UZJ5$5,3ELp[@[AP@H)#$M
+
+8Xl@q25rpeRK4UXh)d@!FZUp0Te,j`8-i(h%!*rcTIr+b,TBdJi[i,qE&HBYjZZk
+
+U`BX'k1ar&Jh%de8T-D[[SqmXFqCLl,1ff,BjdMGG-Fk-Eedjedl1ih+IK"B%AdL
+
+jN45)pKDbC%EDi&1T6Trh8r8hZC8c$[N(FZJ'hfCNHe[iXAK5GVTUG'RJIhD[e*@
+
+CHjQRL[mcCCQQLdfCTXc6HeHaDEK6I8PHIDIJPqM+mqEkR8reD%Y30P9fdqa1J@4
+
+Fk%qIHLdRAq9$lZQmV6H95mV6HSS'r2eIU8G01ddl64U8DFmm3&Gl'KcdqLFh1kA
+
+aE(MD$cHN&%9dC2TIe124hP$ID!d+Rd36mLAcjqiPa61Emck1Sbhi34p"$bHTZCY
+
++bS8XV3Hmr##E1q*8TIRXB0*[Y@D96m)*!N9VZSH0,hdhelV&fN%L40L3!%6L!%h
+
++IQ&XYk(c24Ij!([LpIK"@FV3BmfUP"cT2V6Fk4-f1llRqa(d"E%(@iF-9cUp43U
+
+DlGA0'+iRh%qMHA&jFAPaUD1mY[Pf[pq2p(CalR&e&j8dIbSU1,FELiKSlZihG`!
+
+5MZjfADjRc2*[l#jdfSZDPeZTkN!QC!HblMhk2Yfh'QmRjQS[lqjVG4&8Rr+bUA4
+
+Z25Z$4Q3c"SRfdqeRimqqRA-l8'%eZU0&3a5ZG9&UXR9C0,*YXQENr-Ul2*ZB04p
+
+5TcGe&4@Ea4p@ij9abVMP8H9EFUei@2`YR'ZEA6j`3$qTJJEqM[bC&q[9C9+kRA,
+
+$"Y02ld1AmV,%J#&4piQIHjFFbMPfaE&BrZAh&k@6BmE6'epZBqS)k$mmjL@M63'
+
+50UjNkHm$"ZU1@6@Z(4*VL5!-)&@qbe8"VYe9&!#H+SEA#80+J-R"4"FM!'Ja'Z1
+
+'p%$elQH`3BYakS3&9-SJUJJjGpa,Q0U)DNRG@iS$NA()SJ%D"&XBp'2NheIFcY2
+
+VSDZkiY(QN[AYd[$Z2iVM-Z-bMQ6XbEaIQ5"X%R8@G5,GE@MZVMPh(dDACh'%*&*
+
+ShPY6YGTMPZ"SZ0BqDHi$K%4A2d0j,Ldqlq3YXiiX#TU)p5MmUYT909BDU45Le8M
+
+9FA9CP+RE5*ZfqBD!$(3$QY9PDUV5!)8*20SmqGMf[Yr-4m"&!4[PGr5`G9JkV"T
+
+GrUZr8%B0YJcF(jQ$I4KN#*!!6k@2FFh9Fi90aVMMh%9(M6Z00mAjNAB84J(hURf
+
+YepUMjGaTlMV+-QiJZ),LT40F5eJai,k+jML3!([EVbk2UA(Ph([!QbVMNh(4SqA
+
+E4l@2MfYp)ZH&TrAKUr+iY,#9F(hY80Q(U-qfbTYemhjSp"DkIS3`%3'kZ-Lir50
+
+Qh!f#I4hml+Qkl(alkFpG([XprRkZ3MdMYF%l6mH',jAK8UdIk!KFFfijYacD20R
+
+FkecIQ'Q"Ff'Rkk(iIPBe,'eAqZUqA5TkVr69DV9G05q0TIpCY2jZT[V#jRUi#I4
+
+UUq"@Smm28CFjYi#GU0G833)R'C5rRe94)i+AT@ejDdmIf0R@M)1I$qlmVZU@EUX
+
+69BM3'e@qTH[EGTDiQ2qlIAec6e"5!q9qUM6Z+Ga6TIU3!!b!LG6YFc(iZcVlRLD
+
+LV8iZkck2&&!H)2MFkiq'ipbMlFlpXhRI-qVXl+jiBk$,)B&JDT9K-Jm,9H&5LY[
+
+#Qq&mb)3"""`peie(aL$K!0ppB)2[cZ4Dm-KJiGcLkIp82K#i2e0$M9Ee%!5##ei
+
+[c$q1N3'rUEcGH[5m[9A9aSU1IF@&aHDVaUAj,EeEAe`JC&e@DL))(dJGI5e5!E`
+
+Y9q$9&J#fr"0eAcG"I9YcAkLT8Q%b$6#J2YdIYJ'deaUk14ECPVdQ1JJmE8HM$PI
+
++de(HDV+Z-fPi`S$+*d&8H!bL5$Kh1Z&J6pek!hVLDU)3B$`)013JEC)S,QKU-SG
+
+"P%,A*eAf5#!J!'dC&YlPVj(c,1qJZV$8IUKk`C!!4Km!dc#0iPUSa6YS3!AYp"F
+
+lr6qr$QEVfU2i4`!aLipr9ITe@C4r[YXfer*MrrYppFS`3e19mT'3!#6H+YaZVJG
+
+&4pmG"UmI[")*qS0Icj@65UNV&@PAT(!33ClNN!"LkJj0J3!HeA%TH#+Jm`A"&EH
+
+C0mcjRAApEFj'SlDTUGeXJ`54X%5h89@Mc*dQeUI-pDqm&hCJIPZUYP)[E9mR!3%
+
+J%1kX`GAPa`D1jZ28Z,@iM8DPYZl@TMlZqUA2UZ239EMCMB-Dir4FEN3$'YGcMrS
+
+[VqjLe(fDRf5Q"i)J%&'pZ-1icEMak0l1`lA0ar([T0c@kHE$r[mV5dXUir,FBY'
+
+VU[0DSN-E"Nh2eY4qZTj@kr24l%8d6Z09raUX'il'Pra1l'el,(rH[Ze-,c8L`"j
+
+)C"@M!##)0(F%`$b2QE!-&683%N(MdFfirX!`NF%HiMdDNj*d&8HJ5)$-)J%lcJi
+
+$9GZ-L0P5GaEA#amlCr3,*6cTm2GHpCmb(-XrEQrIJq3[d#G,JZ5##cq9$5Xa),-
+
+PQmF""i4Kd%@2QhhddPJKdhbXUMp`4Mie,YG9ffUrAUZfSlDGfPVcXIk@cYlR**N
+
+(lJm"2%!-"kifUGm+M9FU3FA6QBeZY5+Dj!mapmU!9EJT%#3CQ2h")"UG4b"8()8
+
+39D2$"pa!%CPYRfZeacG!S4U"AJS&4+`,m$'bmB!eKa*XE)MDQYk8Z`+%kK2KRd#
+
+Q"dTqi-E+aJ$@%8hIj'IUHAd[Kr%VD%LlN91,3c+0,TFb(Lih&aZ,$j25r8QqI`I
+
+9kcKG,&m5T3VlZM8k&!Z!1PhN1CMH(MGR#D"YV6b+HTfeKaHPX+',3ba!1*5q*dX
+
+5Q#U'$(YGrNFl8jYKpATE+KTU'Q""Uk1Z1!R&a[GaYT!!lD`fPV$NE68l5`l5``"
+
+),D''Ki0(4@("KV-EAieC$Vl#XYH$NGMUH$BI&X+fKAd+X0I3fY'jX)SIQihSBf2
+
+$1X,QeLb25kblq*mf`R80V3TKJTdDYJ!M'mE'LKjPK9YHC`6$8X1ABF1JEM3B+!X
+
+$@``ihqZ0M3`f'00aXL(8ieKhYKIk+60[0&1Y0reqC$Ni[aHkhdZR0TS"*G1AQG9
+
+aG,B&qp8d91dTpI[BI`iZ6h88[*Ql3%&l,[*HqkVf0,@K!Jd8&TCpI&$cFAMGeKb
+
+iCTd-)"$SqhG[JD+I0h@LUfQCeqI$QB[Ypel-[qfE&,VT[6brKPq(e9PEeqLVjY(
+
+4Eqdf[Al@(qr&KlVDbpV0fX[E6F#AmUAraeAG@qMd8J%(3Y1&eikE&iAGHUD!([5
+
+rHI$"8$"pZ(dXAi1kpLAkXdq`5L"1Pl!d9E0Kd@(DBIAe)HGLmlZUXZ!3$#Qj%[Z
+
+CING9Ck@6SXHEcp&&D'5d'$0lV0$"2&3F@A&,NG9)dXM4B8hJD+MD61[KKcXANJJ
+
+PJJLQjBZ#mkVI@rKk+G0Z3JE39"aFAQpeMbmbEm@A8&!B%[!kV)YpVSV!3$CfQNk
+
+qM$q8)&[,Z*Y`J%Pb*I8G9U,HrB31`kr$Kk',a")%Cj[4*%C"m@hiHL2BKSMeDGI
+
+bSI"&`D@Am-hc!#DS5$TZUd0[Aakr9i&)aN+AVd2ASHl5pI9r3XZjX[q9Rj8[rqZ
+
+IVk8l(SpKUqcT482CTILSI"3p@PrIUq*CGTCBeRr6,jl3JR%ibIq+Il0hRkhRhA*
+
+Zj&hRd0XJ%ZmqIrqDA'fe+2'eF0,mY#+PqDKqDKqDPqE9rkf@cXYcCr@Prq@'#[e
+
+H#)"lY,rpSIrU!E9r9X[hE,jPRjlCJ8JIfJkLSIh"'rrGArdX[NJJrl1##[eIG8[
+
+l`3CY$h43hZk[q@bfiS"`J@%%cA5HmYr'KVBm0KZl1TG(ql9fiMidMGhP1qrC'2f
+
+C26$'j9e2[F`!R,ZmkK!J%!*d1ZSi%bPH5FZeQ@r2dNb`jpeHl61QaE[Mam,3CdI
+
+,Mlr3I8XY04JYiD2C3pa*l5Mh&EJk$l'JaCZIZr)349q,dR*XTNEP3R"YU+XVlr9
+
+qh+qre8@SI4"@dY"2MdC%q#MFcrLkfbKidbjJq,VBm2&fF"k)VkEC3C&V'PfX'I$
+
+'Xp$5U@h#2aK&(aBq,(h%L'64I4"'cj[#V1%C&"IC9RJeN6q%(#-lMLbrIJiTqdT
+
+NQ`I4"SFqXiYGaE+BH)`QpD(2Ia!j8db(%TZ&153r#!b--AU[HkQRe12eAq95'Hr
+
+NJX*mbIXDZrai-q9k0RFQPmq##Yr%D(J[4259@kQZcRd3@8Qm`j&l#EmfXehaqmQ
+
+F0p%#CmAaIrrB4Y$d,$P3RpM2JJUb[1Qe3[3D$1NI@eeA3AVq8"i[5RUddHeQjh8
+
+AdVcUAZ9R#RHV5LZS+9@l[,[dpMLDrke$(eh+er#ZV#K)e&AE9lk)*q4GmqILN!$
+
+pLPQ*Z,i4"l%'YRA8qlcVV8N@(jlImABqc'j3(K9Pe3T9D'+2lEUPN6ieed,UIGA
+
+0[5`,9ri3EqkjmrP8UZPk'djVr`Jj9hR)"*h+q3--IK"3jYed+@IGG$6mhECN'QN
+
+DDPj4GUDDPk&apZPj@TeeaUpCTY9&V0*FHGGk@rfEm3,[)e[+ShYecl[1YraGd2'
+
+2`Jf2&[BVRlG,dp0aIMH5C12@d[UA%LiT8Z,FI8TIFe1VZ1eeRJDVk1X`lMlph5[
+
+lq6jX(0ZXr#j8'kJSdXrCHRGqr52(G0)3)DYeZphGAhL3!2LEhNF(NGlb0lb)H6Y
+
+Z4)X+AC@2C3rh4ZbeACI,L[[lElq5(q6HrbF(qI[IDh[r%2fGYr9)kLPe&MeF2h)
+
+h"eA5I,rqllaVlaB9kA1pLh['KiffUb)e+rXBBIHME[9E[jG@qp@qid2e0lp,JrB
+
+lhfplaBH2Y[3NGT5d9MUSI$M@@UJqAiYppB3$aGlpMJaGlr9[IX3rNfhr544TE5a
+
+dm2S4TJ)24#"aBH+GAR&ldrb+(rkfhh*%LPUl'3E*%'UQ))+bG0mk2$5jQKScI,S
+
+C$rP3FB)%A"iAHrBh[U3j@fbJ`A&M"$kFDieAa[Pq2IH))"aYlk!N%@pmD(bGXDi
+
+&+pXHmKjFDpe@aqAp#qcQ%$l(Hj@p0GlEF))&#aS3mQ03e9$jI*[[X5G*EDlj&cX
+
+pahrBE2`5f!SA&#LJ%SA'94plq$Y)h%Nf&YBI)X0RBGrf@c!rMBaQLBeaM!%KSrj
+
+r`E1-D-9Y8q41fFl[mMCkD(6BbAIQ4FB&(!!*Rr`B!)+0YEr)Sl1hlm!KEX`h'c2
+
+k%24PFE@M2rJe-E!NfYYq[j'RfGA[qffHTKTiaJ2'19qdlae@M[ri2`aMh!8[&e[
+
+Ll,aE[q6@eDAmN!$qAGIP3#3rPMG4$qDAU,UrJM8Z&VH6XZ0GmBdpM6LhA0KjU!5
+
+0"$cCF&e*JN8Z,VI8fAe,[lKl0[Y!Jrp)""S&Y$bTG+kM!!!!!)"@CeGh9QKSKeC
+
+RD*KRQAQ(9QKBL'KjQUPiLCbULlb+GfGT9jPRHCZjH(TjZkZmc,PkLUZUQEbpfhQ
+
+DV0Z*QhKfH'PkQAQGREYiHiZmR,#`ZjZ-Qlb,RmlJVY$Glmc2hkU+R*ZVUmq`c+b
+
+[[Gq[d0qkLkfVfkU``-Z+R+cVLTYUCK)!!60%9@CiL*UCUUZmhZd-$Jj!0&CQCQC
+
+QGhGhGhCfGhGhGhGiGhH(H)H(KhKiGiH)H)H)KhL)L)L)KiL)H)L)L)L)KiL)L)K
+
+iL)L)Q)Q)KiQ*L2&r5fI4p$c[QqEmq5ci[-Nj[ihifG*i[QqGrfrRr1r2!4mRd2N
+
+r+qIqIk%P[c[RrpRbGQ6jRkAS56IRrpRkAbJ,qM*q6qIqRmk69p$p,Cq6mhj2rEm
+
+[j2`k2$r+r2p$jhRITIpXR0q(RCe(KJEqArNq9qImZ5hk-Q[j[jmhkAcD2$dIdId
+
+C0C!!V[R5D`8ISIphjrbk2$lf6UhYU$Uh[KdS12"ai+8%-%3$q0%!R'Jai-3"Z9M
+
+`4EN@jMS#mD$)Jb!0+&XMFb&#h$3,)&-9J*RJpkYkQr!YeEe$(l9,BMcUfG@cS0L
+
+$Y6YbGZ!@KD#)TfjLGV%l@)SBI3Db0bGfS%"1+i#DYEk[a[l+he3&Gl5VFIS8U`#
+
+Z1q&lP42$I``F4J8H'pb(q'bb("9LZ!R)3lZ$FR!KRL1+!B#Z*"MlQ2ZBqjL+8'+
+
+`$il$EX!ci$(6Mq*QAmbqKl)53F-`$2J-B"ZVHM86al!I+J%F"$l"h9[GrK$ii),
+
+8%N%F%B"RJ+H!VUhZqMhHCUH0c@(,a!94$e`KXi##*@G@pM-"1-('SFLJ%aP61M!
+
+laFIZC(GV8T*pUF!kMDR56ke,)lZ2h%$P*5TN8Ypa5l3'4LKS5eB)4$pjm%k"a!P
+
+%,N4bUlNkeaqJK+Z%ZK-mIS6N)MUhXP#m3PE5!4S)3Q89LaN0DK+cN!!)d%)6+"d
+
+0I&&(#q'[MKLLBDrDJkF'br%$GN#L-KmE-%cd6hH(LL9S&-a"eG`hF1cMl')i5fa
+
+LE11J831@i0fG%&0*&DMh)V3ANFk+$GJYS5eH"m#M`89d@h$aCmN-BE(GVffJS&D
+
+&'`fm-Fq5[EMh@!TTlY"8,Q(CX3F8pd'Vd(-2r86!bR3BQjM$3)Cr$,Ki6M55TiA
+
+p+NmCp"'kUVJ"Rk%r#IB43p#1GKR6Ted544*9!*fJ,9*hDH"+lDY@VU"ELAHd!Ti
+
++Q#bLq#`)UG13!*LQL80B6q3#9QUpm4$URJ9BY[a%9A4N)J2F"5+TdFi'm5!48lQ
+
+!T$dk6L`l!-aB8#k#L&!)i#'U64)V"ci1JUaRH9J%jE5+V63EdlfChra1pP!eqR"
+
+qR"iF&L#C%%Q!fQMGF"hr1$rR"r+#a#Sl`8ih)1dT[FVY6Zf(J$H*A(--N!$*$Ri
+
+rEfR!3J)38Bf2"`pbYfUhDiBl*iN(IG$QlqGpI1fFl1VG2)rhS)*,`Ra[3lmrfTh
+
+Dd-%lY6rDKhiYk2GN[)F$(Zd2V!FNTcFrp@R-+HEp$kdHka$fIR#K2D49!6L$,Bb
+
+!B5Ca+f0R8YK&IP"hDTCdF5Q28dXF9,1a&4ra1eNGc-lZKId,k!63[jRGb1iSDi3
+
+YLLfD%f$!FL4`Uja!cfThDa1hLG[(lL0m-MZYGBdF6YdUdF0IhE#-c2GMKT9X6YS
+
+Fm,-lNrFKY3fVqf-hiS`aG#5T[eG@cCcUd!b*a0c%h-IYBrD`i,Yr3lZCh-MYj(E
+
+irFbpRRmp`3-C*CeEBTGV'f+@G@V"cf0fX3CDX%'2fXMYjRFd1lG[[#%afL#lKI&
+
+GR`'+f9K4XkJ%F"$i$%1!Zi3mBD%$3S&b(RSHZeSJ"l3`D'"$a%2-3p4$h'`!SA%
+
+1[#r"D[@VdhfjVdZliAi(83)Z*"6LNMNNU@U@j1k%qh$ELYap"&N&38bd*K39m03
+
+0hVS3TIMIlraN6mbqKr`k(r!"'Dr!K5KMSfDFbU"9SBq*cqqr4j[e9"hH3lN1jQG
+
+Y!-i#%BQ5#*LMJ2&NLpU+eMrkP5VF99F968jA)Dh$$%2'lhH+CDUq1,RA@5-RU6N
+
+5j43mLD2`Li'(1MKKejEEJPJUUe,T,'24rP5@!%%(fPJb8A3CR$@GXEG)Gp052aQ
+
+`dAdl)Jc1kJ%9Q1il+9f-p$A#9qjSB%#qKJFJcj1APmMT@ZVDk[)k@APScIT"N!"
+
+TZN1IJ9c!X8TiGLpLU$q&kIaN)r[V1(,eRKcB3,pR+S9kM,'8$9D8'C!!mhf*1kV
+
+K$[-6Y['PU+i)"%1KH!jiX)V4bLr8F'lJZi%[E()DV6p%"iH1K&ZZjRJ+8jbK#'l
+
+UL0Na!mKR```LC-1JVCU5$B)E[)r9Pk-[4Pr*PZI1r9&h+Bk,'352(eBHbk(BL&[
+
+N!Q@N*$KE%'qqiR04AM9,1JZ)J+MU',H4!fJYl,`keES"cPC%1a5"Nb4LR6S-!mk
+
+*"aJLVbRP*!iFJXXFaZ,B24+$0KE5AT,fKJ3$0-%`0,%4Vqlb2YerGHhK6`M9B3I
+
+Z%Jq-HU'5)ia$+3FGXN&)VX(&1Jd0Dm%S-VZjX3DSH[--VY'#dj&B#P`LKZ,"3%,
+
+Ui'ZUa)pX%DeDh0%'-`1G88I@*e4DbKkS,Ui0U!2X4BPY&kS+p84IZ+dp1MF0'qP
+
+#3-1(+2BiM)N[#C-K4G`'6*K+3bPMXU,N'$*Rb+GSRd"a%CrCL(*@*h)0k$GTE`#
+
+&11jr%Bi14U*"Z-!`65Vq1Y'Ak0[Mcjhi*m82H4FU0CApJ@@V4eT1AfV5$K&32B(
+
+'RG3bAI`FL#hZ6@qHM[@Mai+m9H1[*ad1aGB24'1KNGa(K(Lql0BZ9,R1Qe[&pH6
+
+'MMb%8ALjm%h6QhIaL"8eD['*LR64V0ci0,$0kI2kSCMGJ[KElVKU&94K3ABrDSE
+
+&$BS'&I1YBT!!@U%Q2fN$!C!!LaSk%P1e8h1(X6pr&!C'Kh9*&PD'r4eD1V4eD(e
+
+i[P`a"q!c#RVKbe)*rq#T,ribm%[!!6rpd[8[LIpfQ$GA)@ArhFM6YDGV6dG1aTj
+
+HQK[RCfqjq6rhA029dpJ!Pc6qBJFSqISf2P5r+PmZcjHGTfG'A4PdE'MjiU4Hi@-
+
++0cJX)[mAr#a*BN3#@%2TTI%a02SDG[6YJ'Ndmm9(dB-p#R'iSPVAp1ad*EI2Ybp
+
+#a*AcrRI8819"fPb2&m@eDdG'aB9fT4ba(D`!4!D8)iSVSjjaEX@MGd3&e)UN95K
+
+BRH+X3%$mqld%G-[rSJMLflXHM(SJ'U8kQC8JHL#YGP((29Z`"!8,Y1TAUH+qK"G
+
+ZMCm!fLK5hG'TSe,V`34`8m28JThDHRe,ZPTk9hU4Fc2jN@EGXc[+D3&h2S@+GMj
+
+ZHb9ANGf1(`[Jdp2)lY#iYi$HMk%D%r[4leE$9hUJ#+Zp@pD2UUdj8S+F(P`IM+8
+
+926jYhmb,La8mqT&(G""*K36GkBY#,Mpi!LLL#J#%G`m3"&4%%J%GiLUB#1pJJ!0
+
+ai"mpfN!MJ)IJ3JJlN!"h%!MJ)IJ3J&NVk!4`%2`)"6"`+!4`%2X(!Jl@(Y)"(!3
+
+q`F#$ZBHiJ%F"$l"`),q'qJ%F"$l"`8,kE0Kp$lE9[f)!pCrr#CqR9$m%!Fbr"!Z
+
+8%5Se+"rlPX32bUZq`FXG4qkJ8Err-Sr4G!ckYl-ab-fklaB4RF)8c+fEm)aM[LX
+
+C&6K'-BLT#CCB"8jk*3-pHS[$@[!8p-km3YHSE[JJIfKZZ$Qh*ad),X''GKa-12K
+
+b-1CKd%RD!Ml8(E$,Gd9&`)TAZ#KrE%mqk*Vi"&%%fJ#l)"YL!q"(G#+Fbe`3BF!
+
++Zk$,YJkh-)3em)lZ",)l"(Hlb&qqS$L!pp`&(p3*65MHc@dXI%RLHjKX`fNL93i
+
+rFT9Ue+Y53#1!LY5T9PM*ia(500Pqp,pNYTdHCC9ilFiaG#Ba$@C35G$`&HI1lB)
+
+R`QXI1-fAZ6[SiQF92cA"cXiPRja-pCJ$pePE[[Zjakf@K!J%H'93Q8@TB)(k0RQ
+
+Aik40TG[bAeUkBf2f`VJHdXl(lHAc`Zk5!6,jq1Z+#SHDFR5k'2rb#fVCGC!!@)T
+
+Nb9qqeX'5VXMZT6T3#1!LI*N,JjCPq(IKhd!MJ)Khf94IdmHa2X6km0H'6HNhT0@
+
+69NNf9NbFrL2mU"VY+l2kD2rilFGZ+p&HaCq,24)4B)2fT2ANpHR4Td4"k'M$4K6
+
+5PSqIKNpb6h+HE6cD1E4!*$Q`jX+-'dIdq*BKVa5EmQr*X5E#!L[&BKr6@ECXilh
+
+3-G8&f8+Pqj3L43D6c*d8$%)9*(5d@SSYk,H3!!M!0([0NQifGM)M[MCf*X,NeE!
+
+Q@)Hjb2A9[Qhka)'cAD#PXU%'8m"F+JE*IS)X!e*'@T5UIe8cG)p4Ur$Nf*%jPpa
+
+*-cC&16MBN38k@T*4Ekc,Qm'H0X*PG8Xl)lL+9)T"dq1UV3Sme@h1b'!`Le9XaLb
+
+[h+AL9XX&X+-KJ#!j3meLV1KfcLQITT39h0"3pQGd"m5XTV@4fU9T39&5V,LY[p$
+
+`"%-TMirhDA2#)LcLCD&Vd%j$Uh2TG2(qbJlk(3$JU)d1!0d%QF$+*r[#JTTmIZX
+
+0f`$3,bY*QJBk15mESE3$YLYfXVFliG!j5D9"Qe'(3NPR'6QYF-dd%3dU9)VX)(Z
+
+RNFrLG$Mp$Mr%%%HGb[$qCiIc1EpAQr9c[8kD,5BfcaqI5k&,2TI&TH(l(0rPc[q
+
+@GY"a)JBa$I)lQAcqHL$6@YU!6RjHAcf14"&ARdXY%5FZPca&Cm2Gb1ecpRCjq`'
+
+R3#)"2QqcXphRr1b%aSFE3lMU+3N)p138YQ)-eK$M(06L$CM"CPdZmVC+PYSAra[
+
+fqEl&IGIT!GFkaL'pALE,%[1QU+V8$8+&h55$4qIr'P4lQr9Tr9TcGpqMhhk0'ca
+
+1HlKhifeQ-C`cj(fcMfP2hkI(Dc`f(1U9m-,QAke+0lBNA+e&99b+H*N"eX'`1X%
+
+2@qlN*RLaCEU2H4fq)eDVLCfBK`XDVY0h%@V+d1HjZ4irfDA6$XXCUQl"D+r+,@-
+
+,a6ZhLCf*R*'Cc1fpj$&Vr"!E0,B45K,L6e65&iC2Kp[)cZ)e'rMV5$Fd+"!TpRG
+
+m**LD3I(CN!$5l9)!LPDm*2ZKCQh6NGVL$@lMTE[LI#,IK+arTG2mEqAQqacIB3#
+
+Fhf2469$Mlj!!qKe9EMT6*BGk%BdqCJNDJBa@"&)1'(9E,@F'b(a)c`3IdZ(fmIC
+
+&f4'p!*N,hDpX2IM&4pb$Ya"80IR+J#p30cX6CAB2#dbpPkbXfFIri3+*iVK-MZe
+
+LKL[N1*qTr1`j$qrrmCRGiQb[!,(Rl6&&%G&8Xl23pTSqa-iL%Pid0Jpa$0m,)lP
+
+,1LF8K('5Zl5,LUYL&8KC*$`C&,9Qh#0-pPr5j'1aFJb*KR25'hMqQk#$c&BLK2Y
+
+Bfa$)&f0&S`p15(BaPdMiAA9YTVUepVQ`jQ#Ya(b+mr'6%,eeP5Dkbl@AXSM4iRb
+
+2LrCq,pRa2N)$-[CBk6IpA1DZJK($@peeVZCE@mEKj6$MNHi-Hj12F0M'f8KM`l2
+
+%jqAcm[SG$a2"m6`ILISr%r4jhNmlbI$98CA6F23iqA5ip,-TGp5b[Bb[jDhmYEp
+
+'YY9ZJAQHAd%V#3j"b6aT!N0@3beejSdj(Y"AV,j)#H*hYN'&P%-G@8m4%FRpVbY
+
+486ITT8XD&Zfia"BBpE`!K&2pG@YCY3m6Cc1lc91@Ik)%F[BrElrr9cIBq6kRbI8
+
+3#Fhf1rre)Ki`3E6mG%-9i4HMD4mh$mVk[hre[mhqE+pR+pP!*PHc`rSm2k,%HR#
+
+J8B#A#%*ME(a2QCqf[5Er[aqQPmiV5ICTICare81ZlNlfF5PMdLmlcZ'1[mY8GHK
+
+RH(fdlDXM'cXMCbZfCRSb#@EkUZU1I+dlH,r(Yikhq,'M2%1ET'JZ*fmE1KAr#L#
+
+NH2h&DLL"q0)MSKa@8GVQH&"fk64YhrEq+MDT`MQI3X@*fN`B$*N0hjJ)KNBj"8l
+
+%IRBd(%#Bb1dKQq'*"jha0RP)k)h1*fUAeX[ZmrC@$Ue)a$L&E&+I)3TNc*q)KEY
+
+,[BTI,iPr[NHJF3E49XHYL9M"8%"KJe6[1d&Th%FQ$L-"#38!b!GNYkBThLB*ie'
+
+BaT`aZ,QGaM*6'f1*jZAdkb'5iLRpT1C*%fCffmA-1*r,M2%C"K"@*1'1Sm`,K$q
+
+!kiE%SB[)T+IHiEa%lN0#Yh*1k5PpQYpP%hFMYKf)1%@ki3pYjq5MV!5-,MI[Frr
+
+PR)lRah2UVYiheUAfFX((IrkN894#"(H53Yk3!0%2j4Sal(IrCad1#LEa2Afrc)"
+
+Tk8U`Bd02p[S#J)r@fBbhSjl@X!f1[5Ji8Nk'G#hMGZ,l#F*GAP,3MF85-G)Vbk%
+
+1&F9V%BCQ%qe0p9$1%E8m@j(Z-)jk4LlX-4Jb&VDdJ)A#S8eQKICM3K8Z(55,#1$
+
+KRfE"P80IK"LY%8I6bGl,F$k6Q(cGB3%0bUe)erhI*!1j3TF`8@HTfa1h-D!j8%"
+
+'j@H$*#-8lM)DD&`c2#BKa8KT`alXFdFU!jP2`a&K-5j#00R2S)'#'I*pS$3ZQIk
+
+PK&&%eK`U(9Ke'AAqfMKRK[P+4p($*N"#0f2DLl3K(!PDp@6P"L3Eq`h4C5i-*4P
+
+-*$leSp"V$h44)Ji#)TmCcBXqVH&ZBK!IcRcLKBF5LTlQ9'iRG*('+[U(XMZ[qHA
+
+4!hRa(%H(dC!!kPqZ'c4F3DH*VYjd@BTbT(qdGR5e1SdHV8RTqLLjB8&*j6,39*r
+
+8MqU)-+Vrhq,[V[EB"PM@RKfXXIqqa,GUph%AH2UXCR%,p2e"-br*iL12fH0U(jS
+
+IE')4$[9!*$(SB)SZ0q#a2mIm0+,M)8',f[aZAe19r,r,`kh%qMa1hha%*r[lQKf
+
+XlrEXI+f2RGV2l5&2MG2rRp#Rp#QJ%F"(Sdd*Y*CG2Hj'lmRe0'pShN!RbI8VlZ6
+
+pCYk(#SJqYb2Pr-q*ih1YG+elZMHq9MFUVaZkq#$*qYb[Pl(+YG,aIG"&BqCmcNH
+
+mRdSm%%IeUr[FMh['phbIGq4l[QHr*p@6hUIhA`3FElXX-X-drarYfZGDU5pjb[%
+
+bAd)%+"""THlih5QX5mVPI,ICS)iZAq#Aa,9J,khDpf31!TlcqL!PmB0"ih5mRRH
+
+$m4qL!33H$iRNmla[3mAhl6q##1+AlRrChQP8dUL!6mr[2KrFG1JaSShpRr4,@V!
+
+irKr6JFIfIXi((pRj1"arCpci5Mp(e1NSrKmck($m2LI!ir4lc`P(l2DB(&@c&Kh
+
+p5+k+3'B)1)qS&13Mr'LNPq#$ja+*H84Ie2jd$53Li)2lrkZ9$@hUfp@eDfV@NA[
+
++Mk'c@N6!$aKI*QqR55%M"drqHGieEe+hUF2'iH-NbC(4Nd%(r2q@B4eXc@CKHlr
+
+QJ9i))2l2rc0`6F%h"Ci,2"(`8dZ5d8SfKM#KhRICcYR1fFll,6'2lSGZCllrMc(
+
+&CT8X!cJ)@!JQN!$icq`mS'9I@)AP5kNNrZUrHZ'VL@a(BN4V0$G[MXK(CM!-q!c
+
+RS9Gh"DRfTj3`*Zm)IFa'C6'"rh%EL*3$IDNX'&@#!I0I!Uqj,hT$1jdQFDbADNl
+
+9IFj%(+0[YA9J"'CTeh!rXj2-3iE&KalmmKf)"!#46l)mb@$kJ%(qSrPh'43"j$5
+
+2l3J@iNK1PIQZ%S54%#*+!MqZ!1XZ&&M,Jk#!+RG`b*+9M5&j6MTKr&L4!3J3KQA
+
+J2F,f3dXl4mLSmN6K2kHC[-%!lDY13bAN@TMfc&d""C!!IjK#TjX'6"49"+K"RGU
+
+"*f1-2%9'6J)9*MKXH*M`8""9%,(#8%&[Am9$eF6Z)"X``ha#&KPGb'e@cYP@(0$
+
+ZX2lZhjqi"K*#*RBfN!#`aE89U*!!#%b&C,[DF#%GU419i#Q4KL2S@c"C$)9J$HD
+
+kFGMmIBRpUal0AB)!YEB4@fUL8HEfFhXS"-rZZ`(e1m*MHA@JlH*#HfhEa0c,524
+
+ILh+ZjBh0&1SS2mb1j1M*9KJmcS-UY`pK,XZ9R9%48a[f*[f*[r@Ere!*rjcIqB"
+
+2f2,rbrTSb"`GZR(8JU6kQ06U4re53p(0pcq(XI`m(q[eriIFrKk1E*!!U)-HTLe
+
+*p1UJJr,qVr$c2hZCeUIVFcq(QG(aJ3IETm@T1#!R8q,(pZe2qRr&qm#$rA68$D9
+
+UHT!!!6e5M6c%%(q[UGMVGMVIl!#GMVIkkB)1e6m)q!Z)%"c)rUfTrqc6rcqArRm
+
+[rCrkpMrrZarkrl2)83FT4"3B)2qrrT[IXGIpMp[r0f2f1aqap6pGR5(r90ejZZJ
+
+%QH!VqT!!jl'r&fdqPI4rqY'KSd0(rk'EF2j21pE6pE4r9j[V8028q(iM4"rbdBG
+
+'(4rjS)0Ei1#[`9rh!#DeMR5JJaY'Kk2p!"SY(qa""Ur"[pAIkZrprIkZVHcphm5
+
+%e1#JR1&"dIJkeIV9rAVq[Ar*X5S3%'M2""4dFM4qfJJmcEhp(IdIh24hp(9Yjd`
+
+)-M4Lp(rQm)$bIIi2@hr@#JrHeZ$`IBA*NjpZDeHY#QYDp$HRhTpkh0d%EidHKY@
+
+dR!LFPC*`"HY@iqJMV2'kRDUH%U+dY2hK8HIrVlrpqRqr6rI8$IkrrqBIYh0Lj[k
+
+8'P!J%!*MD8r5Rh1$ZI040Cp"c'dU'P1!jeqjqNr!i`0BfP1ZIjZjmar3iRJDSk@
+
+3!"+G*#`$+FUT3%bZC6qUKP2ErArm[f2r2brrYqCrp[rArlHAqrmHe2D)-HTA335
+
+3!1[mch2r2XIqI@q&kh`[iIKG(P53!2pfj,DPU5m@Abq3!$eHe2rrMrAqpbIhZ6r
+
+Vr'B"Q(+Fh+dmUprQ[IjVhl&lpMGm[Gm[eIrAGq2j2ar%q1KR2JRqRMHRMA[A[H[
+
+m'YHeVeLpB4!hi%(%ASIRH[dEh4[G'hdE(je6SdHM4k2Vp(crh%3NrkIUl[4h6"r
+
+[4rIMh0rFeGc9hHMrd6+)a[RGU@5@Ib2UbCX[KI1pe8R23%HZVqjjqr3eIAc[Rr1
+
+qV,c*C`)+m[-qFTbAj21kfR[k2krrike$SLRJ3(+PSFMkNR+PXr1ri))2cJ3GE4r
+
+Fj[ASDfTc8%%NX()rPNPPPqGr[99cd1$eZ$Um(Rm&$@pI`IRSGKprlZR&T4D5!6l
+
+V343dk(hrl%18cK[`bRIP4TjHUa6P&$dd8eLMmCmaCHpEkK-[fpN'+EVbC"GUY*r
+
+,'3M9b39eQPa%$YKCkc+m#lBZIPK@Q2bTGU0)M$IIX28-5PL8X5Nj2UCLMb*$,-6
+
+&bGPa[d[JGKbESqPBmmKa-%r'-BD+T(A6&@Y"UeA,3jp))P,(V4I4Lf)pL2Z8rCb
+
+BrL"`S(X6Y8Xl1T*4-529DRje+PR,([UER%`iGP13!)blZ"APZAG2Q",9kZjd!MJ
+
+)I!BEY,lI42X(*)`K$kZEpAmErIPrYd[CRb336j+AXjIlIihqrQr96Ek2VY)BlpI
+
+X$bm@!jG6r3[!8Z+-Mrr(lHJ!E)lP5jBhH4$BKlq*8TB9$dQ2h,U[VmMZpl,BYfq
+
+ViXlaThaNr1L(+I6@jRE'FN9f1a"98+ipVFf0M11h,1iQGM5BmQ**"AJj`MFJGa6
+
+,@)"m-(LpVS&3&Tha)I5'0!LAKrr#&T!!H,hHJ1!@aCA,`e-X2'")CpXk#)R*cdM
+
+PpS2+N!$QV5[PfThE#)jrkhFkCHAT*c1*9Aq1a(D5@VM)TT2r*mIrjd)DN!"2lTr
+
+9Tp5I4KaUdm9FLip$q2-p2Z`h%3d[j&kY1XcVNkj1Xckd-3)N2XaS)GreIjGVP5j
+
+0,*LUeJR-ke,Dm9+UZ0LH(2V2rJJ1IQ5PXrapV3Ma1IrYlHJ'ib1f+cV)TMJb0`%
+
+%qPjhmI[%C21If)")C06SbmdP@jbXV+5DJS+KAT,$IXBRUBrKTXmSI@Jf#8A&H&C
+
+854NYCfa(RGjiHKcIVV%)!*BMm56,NLA5iaS26h2XpVbGLeXI)r4[q2D%LjVAQlR
+
+2h-N43Nf$M0'859[39XVPCaa1SJVeIBZr9J[BPD'NC0)9$-[rY4h9T+"KBkA2rM&
+
+*9[JRk1AJJ,2*JjH6qYrpEE0C6Fc1e*Z,SZT-%8$*1JF`#9$33FPU[ZFGBkR)JjZ
+
+jRGVP!)VY($`3+Bp#"X@Y!rVJ3FlfTq`5prDB4ih0T6rQ6Xi-e(eHlG,dMKPk48!
+
+-c3XAKf)#3h@PhX&drlm8P#5,fL5V"$$L,@44aV`5A#K*FkerE5#$DTfSp`4LL1X
+
+N0&b1hPNak$Fa)SHKPI@ciie9FA4lfB)Td[kh"Xr@VS9XNIFqE*hE@LYmSVVm`2a
+
+9S5Xe)0##,RaHmaPRAJ21CB64chh)TG50rJHKCTccmlaHlRXCNl@CHT)AE$R0P$5
+
+45d1$pEkb1!Si+IFfdAPBcbcPhYk8lZIm+h663"D&PGhF+rr`p6TcT'%@dM8Dr)N
+
+%LQm%$qa$""(Al[(baK"9#R+&5[*dFbiYVeHhdpQ6Y"p-Sl8(Uc0%R'J1fG&JQ0X
+
+NM4Gc)#5BU3UK5#$&h,GU[**Z!6Y9qha`a,LH)S6fQS%E1KPaF5,1#$5KM&*hDp+
+
+G8ADfaYb#h@q6I6F'B0Y'$T3@*r-[aKZ@Dp[9lRMdY1IcChKcYDGU6['r'mEaZAi
+
+f9q-[5-T2A0RSI@i80+'+'Y$CKqlmqjl&Ep@,jbi6(Eb1IcBG'ISc[6RATekGkNr
+
+GRh+@FTqYVFNY5I,Pq9Jf!%%kS!RbHjBXjXY0%+mHIZDGUAB83[!rQfHFJI'Am&!
+
+%(+Im%#ZXZ2XIfjdfG&CMr4MQNmBbNE9SCaTmjLF05'KarP[r"!%m#$jMr4"N,TG
+
+*b)UN*fmII+68frd[Dj(5Vk)fZ83I@RHpL9)BTm,rJJl8lkZ)&*2aRl%#l)cD52E
+
+f,9BaY%Kim*%XEN-Q0'r3C@0(#4@Rk$-@MPbGc1MjeAQi((2HGhH,9bUNAE9!2N3
+
+qIkIm[DmEkfYr(hGbeZ@N!RqhYkqVmZjb0a6!Fb(rZp2YGUepE9IX3-6CTRmj3%9
+
+k4Y+U%XcY9mka'YDQe6lCF59d[1Lb+AKqaEkHl@hHmhZ4FVjhD42QK"qYZ$3'PPe
+
+,&Hac,(,Uf"qQ[#%PaH$Y@ZefYcjAEd2pA0hIc*qR1pHGqU*rqV2db--MrG'BFd'
+
+KfLSC"km9d3X)jC(0KV,dTBdmE)p'$aZjALrFKkF-@p5f839ENHeYbAFj(2MqVql
+
+1kFk+G5pf(S)'ah@Leek+d,Nb9qlbTEPM9XDp[N65(%)M6a@DScVdHlm`$Pb[pH[
+
+[erEYrjr*f1jDh0&E&G"5(4c6DR+HjN38qe6jr%B6k[P4IKTphaS2(JkZjeGQha1
+
+KL#1L3iar@MHk[h195XcpNXIUfb-A0MrN1,hH(2S6q22AGDH4+6i*j(FD[LJakIK
+
+l[3-)bGpZI9ReKZ3VG,HJfpL,Ii8G)`UqI(pf1j(&6Xd-['AfFIi3$KI10EEN'I"
+
+&fq&@b`a0NDifBX[CL4c%`RS)Zj`U9),(Rc[ZN88XFBaIc[SRK!RS6rGajfA1PRA
+
+2[kG(SdT"jILER3l9-1mSGc[)[4KXEXrHa1iMQVPCIr[d[Np@ee95`lAUp[DJKbi
+
+V('YeYhBpRaqfC3bPeMpeN4Pb[6NlP8QiCdL,Z9l94G!fJ2$qK@TaiK`UUL-drdq
+
+j-'KMKp8qGZ`EX(XSL)ilqC!!#U+*Dl+m+MjdDELaE1JL(5aSc+0fAJF)cV'j55c
+
+r&lQfKMB5h-Lm5U&T2+8U)G("GaNckKm'mcD&R5d9B4Gd1C-6Z*QAa4@VqJFj,k[
+
+VEfjKZM`06AE%G`YpGS1S0!l'-`R1!8#4l%8)4[Y2,GG16BpSL,*#E#+YBG#p(HJ
+
+["k8p0-Z'+D1cX4Rq0m1IP$152dqlYNJ3k3NRmMdq16j)6kAY#'RYR4(6Bc+LZhb
+
+JQK+Kfmq('U#[8,rSJJ8mdS1*i4+5lNMbNc!E%$#925LN63P,bTU"D-X8PH+Q$(&
+
+YC'j(fSpMB1F99,@S@K!%63E``aEEr`4)Jcl%EP!'XL*Hj@Zhd,iHScaaP$"4HL4
+
+p#**'FL3BTHYJfeAZ-'&TT&)#p"TbI,-Tef2KR%I"VGJ)Y(HX!F38KQcZThDjC2$
+
+4PrLeSq*&L5`')FrX2idHMhG#Y@Fm,3rA%06b,1cUhD5-UMRR%JZH,rbcrQ9P-LM
+
+@5I"L`4GV1f1dT["R!5Cp,kZHN!$'1bTXD1I1[YDZKH$YdM"IjDh63k92$9!bb9E
+
+@MT48U9,'L'jD"G)TLSYTMHUb&Jh2jEAc#M)(DZ'!FN-2L@p5+[[MHlYcXkI'a,H
+
+,'VBP+Y&j1BNd+eD&Z1'%aMN3$1h&h*pR%lAaPADkX0h!LLk%iikA$FHKLIbI'K)
+
+[Mr"!QfcR3e['V@)mk10bEB'I-0Z#'Y2TH,5VqacGkY%U$V6Pjkpkk44SU%2LHT@
+
+m@YmS(bqJDd&%*e+ZF-R)lLi"XA9[h@0NfYq9-h$"Bj(hq1UM$r"!X@"KV3$GSR!
+
+KkV'aD-kS-k1Y&r,5-Q"&ZZ%(Sa*DkDUc%XZ"D)Mq(EUJbaZ1Y90'hUK5'2Eb2UL
+
+YJ*Cm8ja%ZY5*RSkUCPN$B$DV'dH,MiRdBIBVHRfeCM"[QBIkXPQd2'S(-[k+!T0
+
+ZBa`3+fhL(`jH(MQP(0H1Ic'(JaVKfF2f(F@N)9e)IBIi2(+0NFR26NZj!l6Eb'4
+
+&,p4kG2&UYX8YMaVAEdGcaB2*$(18FbLq(-lP5e8""DIi)%k!$Pc-k&ilIASG3jK
+
+M0hFZAIq@Gic$VRL3!)IqC$p6GCh2*ZpX@jI`3,JrB`Mq2c$&U"-j*rS$0l'PaSq
+
+&%rBEV35JEV2i0NkM%5jLdEqJJ+6PlLVd[NifR2a86eLRbcUNlHR)fbIf)-DI3R8
+
+*hU2qL"(*+2X-kN'qcU5mjDk9L2HiZQQ-jfi-kXAQaKMKhfdCCTK5YCB1,(UhH59
+
+C&(d1MpA24CCDL9*'!keE'MRC`3rDR#f80DX@kdCL4M$5VI6lHKSGSVP13&i9rBK
+
+&m4,MKkHPl'I@6rH(5@fN1bp[0,22d[pZH!F[E&CN+(NK6dC,@CfhD))d)h0kkRC
+
+(39GKZEQUb1jBZi8C8dRMb[Zj(XV5IlZK[Sc0KKYEHKp9aF1,DarjA0*+eYD(eN`
+
+eBqRNEU[-)G$!SSBSZV0%lQP[#h,ip3-jRiXb1K,5'eME$c[hLYa6%+1j(pQ6C-U
+
+9V3CZK3b&)BrXHjiEAPe&T[&QeeSdM-G2-pK@a-PIZCk-259RBe5qB!FTGp4ND4q
+
+idd+3!,rBJZ"d(DM6UjYleflfMUlBJDR@'L"'@L"%pf4m4A-0e8pmD+6Dc2B4Qq(
+
+YEd,kC`M*paCSF,2ar[$M8X6'V3q6k[E[l"Qp3N0*p-hPZ0+9KN!jNG#1F[)qH%"
+
+HA+H5LQ8NAFc"kY*ZD,AICm%*Y`Qd+Qd1L!14hBNLJ!,*a)#XcZ'8#3+82*b1fLa
+
+#JiIJ+hbaXa!S'lMId(6[KH$Ypl1#-T-A%`6SCd+!4RTfMTN&fKJ55pQGf+X$i8+
+
+6[XA[N3G449QD+H0XB`ccH#C4)k)ThDVHa,`3lmrfTrY*[J6rDK5Te[4lXPlcrid
+
+1Aa`eeCVQB`a9hfBbXT5La%1AKf66e%fV-Pb6HVa9iV%8X9NHrb4(P,"5&`IRIY[
+
+rd4FrRaq5Cm@j6JT`FF!J$%VUQ@PceE3j&p%Ad!MJ)6U-YabaePcQ1Ia+9DP@iPQ
+
+MCSfDFe1DR-K[%ZbE11`3+MFU0+I,,`(-4hb1h@)kHa5I,ZTaTeUaM$S)%D([JfI
+
+SJ"*HY%@Ea&+P&@%R(fMi(reBcC`'9$Mi*(ep*-C"K2jhU5ARlhk@BZ(6b"#ZP&&
+
+5((TV1Ldm'jcGcjd(M$p!S`GZ$FaqjPrYjhUE(TfLLKDkZakHGkQAqf52Q%!D8L)
+
+dibB8"DEBklLT4ifdQk'a(Y[qqH!T!)F+T$@jq@eXJS'L-iM%qXqMRSIRIYSNLJ%
+
+F"$J)(9F$rm$bP"""S&@(U`G9VY1GI*lbCdf)Lp%1cQ2VlchC*T!!kY`#6AIh8%#
+
+0F($(2icaDNe)Fhq*Z`q6&iL[B(U6Ap(Fm@Y05QKmR'Z6qR2Z6lNrbFDD(aUALe[
+
+k&)$%`8KDK%UK!@(%[iN+2*e[c%5kTC(D(`ZaMpZPX9YLYX9[Eb%P2iSiNac+qMJ
+
+ihDbpLYR#j89E1TE!rb!9Q**2f)YL,YC'i!E1'3fG&XCLklTrSdIr2aVl`X6ZcKa
+
+'ea+V[M3lTX"!a14*K3MIYH#)j5%+@NAi6rJFTH(l0!fpF@eMpV&Y8#'2ALqGqfJ
+
+d1XMBAHF45-lC)#$%GC5M41j302UaEp#1L5*%lU&LUP3R[rp6r!j5iPB4c4QAZBi
+
+qC4E,L*LcF6(DFF`$9$K23,CHA5V)e!SA+&a'raq%)&N,J*,)lM!3`QK$!5$F993
+
+dbR0F3Fa2LYc"G4lijpQ"#P*`Zdm3AiDN1f!JR'`T#M#NHkq0"QEQr(k!Sd)IcPR
+
+&j4*m6%CaQAcqj5pQTlGIh4[RHVql8pZPl,JfcpSCdbBLGD2DK%V-p(&r%fGNVDF
+
+5lh9I@8Z*ch'jdr1RIA8aURSrhrp4)LM3#-!fJM"G*r3@[LbBG,QEPGaQ&h$4k4j
+
+8afl4&h88fMMhip@29Mhp"6eH)l[AirD4&X-"*N+E4%pbFY(LEm1c!*-Y9iTFp2,
+
+5P8Kim05'T$NdUIXmp#JTBRG@Ed%&LGa&Bi83h5"8jk@`b6lYe-V4!)d%)54i*mZ
+
+$jadTeV5("pjEJrUJqV1pJ[&ZVHV(RH1B%pTj9NSYbjNHpJ*Z3I)JZhrN!))SXm4
+
+0ldp4Hp!3PlKN6emN+JILXIec$k@3!'$a6-6q&BU#9r20dp4Q4(fba!6ZJb!Vl3c
+
+P(`LFKq80Z'kN)pC*Xq5DeC!!T&[NNEdAHipFH)ZRAMVl#Ea#Pkb8fNFGXp-[mdM
+
+8*42c%FqY1)aha8a-hTB[`JaMQX)Pq!rE[XAI2J+[Dd')6-cJ(Jm8I45BkrUZ,)B
+
+Rb(VS"'hLk,M1%q!P$UhfrhTa8imKIi#'N6223#)"*kaRSV%G@4FYp$Jd4JX3@dc
+
+q%$m8r16fH@63b9Jm)00"C4pX+(eJ9TUf5#ceJ6+jkT!!,L3EZP'rL4EK1S",4Y-
+
+eKNUi%&h$-D,3+A5+lLX",pDVM@VBq`ZkB3PPUI+LAMY4,3eE#5NI`NN0HB)k`hR
+
+K+Ce,)f93TF-h[3AhhUa+6L)E9XBS1[qI@E$Ma6KV`[IRkXrS`diDGCL*,8Cm@1(
+
+IKq[$UX4P4'G*T5,)4XD8YVQHdV5Z*Tef+ibM!qPrDS1%a4S-V)m0V&qh&phKEfA
+
+[HD1h)Yq,FLkX3H$MUEX(-14J&Mir+lVV2*(!6""LSJ+rL0,@GMGGm3FIPpe$MZ0
+
++RLX+Ubb3!+,4CLi-Nr3`QS#E#d&kPHaPf("5Da&9+rbk3%8r-`XTl'MY2R)+TiS
+
+Da8)pr1RQ2qU$)UF+93d$PQKhQ-H2T1@J&kqM0!%d-#XZ(8VYd8)IY+jriVj[+TJ
+
+L9VldZrDI0R)m@hSm48i,N51Lamj`['-f%GR4$i)9,l@*R8U45NDLHa[iqLqDLHB
+
+1E!lkLF'Q*Z8M836E0I3IL1Pm#,1"(fJ8qS`2Ub%GC$)HLfqbCKXZRElN1r5@I$D
+
+kVk6+4D8Cb+mP5+j2dBG',4MdGK(*D)R2C`VBA6&N(6e3#*!!L%!M!-iLLMZ@f98
+
+d!MJ)YSQbcVm4VJrE2KU0b-L@`-0#qfF10Jj*fBq"pCNEq"p1!jVYSNm42d(e6Q$
+
+QYf2G3#!%kmHmm9$FCH[p9L(F$MYDlKF"59Q&fbQ+&5$E%adfXk%Hf@"fQN3*#I)
+
+S3bPc1kPf!1!BG6FJBr+a8&eX,K-M&&[8bPh1AGKR4V-MBS!QKKGbfU,$q&Jbald
+
+GmTTAJkjN%GeRkJICN!$IY6pq(f)[8M[0j0e*e6Y"R%iN1q8Be$rqV%l@@ibeICl
+
+k'Eb"L#K%NXb)RfQ2[&(C1Aa6e!4SGbl%J6I4PJa&BP$P%1%'A`"XcZJ'FLHU[3-
+
+J8CSHk&GH1aKp-[FB[IQR-Vf6Sd86%qBmKDMCSB&"&4L1#4qd4Z93J$D)IYB-LM-
+
+P9$3SL#`2YHh00'HUbi9V(S)FXKiCQ+[)@5[!kFLdk`QBH&J6G%XL8#Va6mKUqL%
+
+mb0**@XH&KZ2b+NdIcmA#c2EXTja-Qblj1j830GY54@Dh+XR`BrSJ0`pdYlKAkfp
+
+ChVL)Ule#+K3Sd+@1TISaKNM)A1hYAJMrGM1fQR2TckPLT9UU)(CD'6r8,q3#&$G
+
+0aUCVJIUF[T@($&SFL2m'YZM9,6TG!*l5Ar4PK`h$bJFCb%XPipTDpMC*[%'Q%jS
+
+AkNdqC'3Jb'H1''+)#(M&DUpZaBPlfc4#(SV5Q@5'1V'`kCjq9LE#C#K$`B%R*+[
+
+KIfc6dd&dFY6Sh(@f`1L9bF`4qVXAPK2'%QB9l'Bk2KLD)HBliF"@DEke1Z8*UGZ
+
+[Sk0VUk1MEVc8lR$eF@e1Zi62m4V'T2,J9H&rEEU1e*ID,NU4Q$9GM`af-baXf$b
+
+HX8l(H@1HNSkU[brLcj!!4XLi+&6&U6`#3m%9iABYl&&@m#Tliq%[hl(,pmPif-I
+
+hhdf%G%&1IBRfcc&LXCRfiV!)QL"a@LTBX@,GL'`#+h(HVcjp8$Dl5b1%SV9DeCm
+
+Djded[&4FLd&l`4fhBNX5)"'!DAMf5@+)f+QZANf2I1'a(m6p,[JJhm6kqHc3`'P
+
+cc(qAFj3cM'lb!6ea[%d'$R!@dA*qF5f3!)rfS0mPGZ--U6k4QM$MbEjcLN1HTFU
+
+Ce3iaE%l4BR5fIq06iU*X64qdGe(YBPDNf(1j3&NKfU-+1DLQrX5HciZ25E`lp$-
+
+l8F'CIU,JB4L5%RY9keYm$lq2@Q4JNEf[!fq6pQhZ,EaPSID)Dcf-%qSd)(m55(f
+
+DhUX(d8&pmNE+2RN`k'G*S0qJiC-AYm56jiXG$AKVeDm5dIeLJ3l`m`h*%36hh'"
+
+mpN3K%+3QA)SSR'V5f4BSU2'%cfZl4LSR[bAa5DpPCbLHkC9N)`Le)a)QM$GDH[*
+
+ZbEU!4f(@X-jBCN*3q9Ba&MYYF+fT2Vcl[BNkiC0&6hV(6b&eMp`Cc*V%V"0d1k0
+
+qb@4AC49P*p6*m'lSHm2FGh-h9SDlYe3G&ZP(0BC5m9`GC"9KUckS1*Tb2(F4Gd0
+
+'XKIJhEZi,$eJf#d(FDacqpAN*aDd(Ec&[k8@Y(9Ufh(C$F8'eS2j"TE*hB[AGpS
+
+4YNaT-Z6jDYra'r-9S'dBj#[PA++q0R&$KL9U[YfCMcbMUm60K%qT``51V#@c"SA
+
+HfjY#V#4&$-YGV*(jMAYkFe*r#'2PdD#,2H'Cm@)X$K'R-HU#*M(EMmYBiMd'0Tj
+
+-Q%fTph!m"6%l%m[98,B"RX@0iS1F55AMZp&ZSllGNl%)c)`"fQp*[fQXSAfcI"5
+
++YN$+)F3+#N!MCL$-8J`BXD(&LLqXTaLpNUFlQ-Ld6A"L1&Na#-c!(D@4a`Z1FIH
+
+!"*V(Nk'UHc5!c4j'Mi1MXUbJ'bb9+ChGc!STf",hJ#!E5"5lMM+1+FGSbF`*acd
+
+j+P1V3VBZF[ZLYmE"l'I[cqfD@Id4`TkT1PFM[X1AhB[BLhirDV[6YQB%Bi61C[I
+
+)UL!3jK4F[GNp@dKqkar`9idP4I)9qmM-6cA#Uh*faM9ZI9CN"[9+X9X2p(5SkAl
+
+D*c-6U1peM9YS6XD'&MIqX([Zd1d40b#q+IkmV5L+VIClQ@2D5Ej2IBc'I8q&c41
+
+CIAqlAX@+NY4f+$LSH5!5lKB#!#Gd!JF0N!#eBN*e$Z0bIp&9+5-+q%kPbGlY$1E
+
+4N3i)C9$jm(Db&l$a2Pj*f5Q+jH1[-BCiEeYiHb'$3J2NkrSSR@*k[E#[3d'[C3F
+
+4',mHE5H"6CYU+A#D@pMHc2pTm3@DRJKT8[JeJU8`'9BcMlPf2Uq+[T!!)jI#%ll
+
+$CLZ*#,Z!(!KC-)S$f,J5Vm6,j,0MbR@cJ"2DL@mCEIBf-c#PaGSFP5rLHhk&#A+
+
+cqCpcbTD%Y#bF1pHK1')9$k4#UR#`PqE[h%[a5r(1%Dj&k[#BihY'D+KNEGDliAD
+
+8S)bJI3LaBQ-UAbq3!'Aac&P&8Z@bY(*8XFkaV@#r&3#!%bF"*IE'j52YBV@1CBZ
+
+GL,X,M('@K4UdQApb`!&QEQ%&+X*dGT49mjB),h(*U-$VEl#4X'"Z+JMrk2G&0f2
+
+U+UZP-8FG"jk(TbhF,J+S5j1Z3M9Ab63USb8fY#kf2mUHL@j8#4R4Mcmr3X'q&b2
+
+Y[kXB[N(0qXMpjK+e0V-I[-[[CRZMpmQ"6pDllkJLSQZG4@!ff@,3d,[BS@+&K!)
+
+J%Tf16Rfl#YQMr%(dr`X,-PELAZQ&e1X1bj((Gd2KHpF2qRNHm+Fj6jTJ3Mhj54X
+
+H,BRpL(T4IY8k0LI#fq%DDbaRq#pfV+mq[a+qba%qlJBl5m,",0,-!6APZ!3YQNi
+
+aDI,aHf[p!IDa,-0V&h+hX*lr2me*ANQXMjElb,fm[K@-@Yfb(jD[CQU2'U+ARcR
+
+LBARc%VXHIcp#[BVf%!R,jhifE1&%U8QFf%rIc"CPlI8A+PNRLcVFkFf[kihE9A%
+
+9cE9dA0@9d`)2#')KZU(-bjF$FYjm1`(EL3J4cBj[0Yir')r9BCBCM83aliMHaN'
+
+crN3c*!CjGm"H-i(Cr8`c4c4S"'!ED!)&R[`*Y@BXq($YfjVFb!3!QedTYGHBY,&
+
+V3rBQX6)"!#E9ZC1$Z`e-l&Rl@&+Jde'DS"qhe,fNqU+)FI1JVk(h`$D1Cr4'61)
+
+p(-qT(dB'BD+c!MDUj(G@NF!6NGb`QiUPSPQj9YfcUAr*fr3Yqkh-aI,lDJ(X$pp
+
+H+Ybe-mE)-e'bU@BXLI-VM4Ykf3@cc!3hAB,"@CfpbDp0kNfp0[cHe0fY,FfYbCb
+
+rc5Vm9ddU2V[(P"&k96GZ2)6EMXH9lj6J+FQ2pZ&jL"$k$IKpREh`Qd!J"1T&T8T
+
+q16A9emBC0X[#p,#m3Y@h8aTfNS"'pT6fH0VFGQhZjV4-Jh'4Hd2YH-j(Y4r4Ml2
+
+0Pdq4LedG3VP&XCi+TBl)LINBGqiP,!qf)8Keq#+IGYdjUFeH@SHZBkYXdjT29a'
+
+#"-f@EEQ'99bTqG,HUhSVh&RmQIEDi0c%G%9)G#+I`[YajXNd'iaN#miMNLLQ&XZ
+
+JAR3pV(J4CYIqJiP5-EQX&84SP!P6"Y6*0BeCV#!Kmf-'G"Z,2RBGY!YD+dCK6m3
+
+qm`r*ppC`P+V29-GJN@Q,ND3$(*!!X8TPj8mfF(0Qa["UJq-qJ%&RGZ'%l&eiR"!
+
+b3)R'A$[[lNK-RGf+Q'aBfV"fLf*EHhEX'A3UG-*(H@!F+A$XYQG@pciiCmGfXCF
+
+dHH!55226PaZ6ph&`5p8T!-B&Pd-""-P$rL%eQ'@R$QeT5pL8J!jlIJpQ'1@@AN5
+
+k-fjL`id0+'V$b&l38rQN`k(Y4fijBj68%M(8HRSr3J@m+9mrKfafZRr#V4qDfJ4
+
+Ce@'G4q$3`EBk$Sh+AQ9Y(cHV&eD%kK6cD,V-51)C5aEp(ITEpEImhI)YG+MMq#b
+
+*HajCG)d0(`DA+V@20Dmq+&UV*,NdLDk6NE92Y4l-Ib#1QL2DZ8@0[FCF+*!!$(Z
+
+)U4$'4K1`9%jjB!f2eRcF$')CrY6rDRqdMi+,HihpVY%GmbKThD33X`F(JIBP1#9
+
+SIpKpBBVY6LP*a*1,*aC*@C01BKkQ-pQj[V$'EIV"bTBdqXPldAJbBBe`klBS09L
+
+4l'34N!"N&F)Q[")06jE9Q[RC8Q1bKCY"qSNHU5U84L1r@SC2p,%N8@Xb'85rVP%
+
+YdjYV5D3KQa%1,1XC1&LSHbfJFa,#5#Y2i@%%!%(d)'kUXN'6JS'5pSN8HR9R4BT
+
+A+T`I*!G)V1XHfi)YfVZblXfl5pZVl-Zj0Z3p@(UfEUTS-ap&Jfb(rqh-4q3GhKr
+
+E*elc#G&LmZ$Yj%KIQ)"*+"Y&8lP1@[mH[`,Ne[VJ%S*Z`Ej&VTmDRdfEiVkX!TA
+
+jI9J0AAU0R4#kdrFqeA)$XaKJ'-5,GNkpTeq3!2d(q[(kdR9Y)q+L5f)mYR2ZA!d
+
+ThbhHqZcjJCB&hpmaMm[p'jr$eaeZ`Ea`Kld)U65h+Qj63k+e!hH!(1VllRAb"%R
+
+8+"fh(0aJ)P&&PNck2)b2*CFlc-"LA5S"(!48-"T[1Bq9h(+m6Dla%20kG2+a,FA
+
+ZcPi'dGl0khdEVSemHfS'd0Z)cd+Fjk(XL)#cNJCRhic'FLhkfp*kLeLR1U#$,c1
+
+fmX610Ae3DGiP&IP"PeK![-QV'82)JY!'L62l5DPDDi9aekT"ahZjrX6qiM2U,eB
+
+leMF5p43ZQI'5U1)%ekhBT%`"95VVBrE5pcahHUH!IX*Ll,&`I`2"@9MhDBl*6%d
+
+)RM!4SHeANVb9dERekl*eBk0$m-5rLa#CPaJ'-A"Q2DacN!$3V'Ue,$q9iR,G+(A
+
+dE0'91&96ffCFMG3`46cSE@4[6U`(0LY[iN9,'C&m-9@3!)R'%iECVQfbDS3C0fK
+
+CSVJQ!JX&%@#Y&C[XkT!!kTJ-*e62)l9#aPFVQ@G61$T094&$4C[+%emap3P$(6Q
+
+Z68,i6eT&p+"-pGadkGr1Ne4bBGGb18Y@2HT`e()lCHHaRT!!DXbGKNHl6KT`di8
+
+`Id(lFG1YYq"fLN2C-Hp$"HY`QBkE$2"`"4SfEQc&fBZc3PSmLPBGZ"@BCBTBT'e
+
+X8b-hfEjT!GlBcE'TBSf1&JSU2(#!4*+R,6`Fk6@NUN@S-ZqRHSQa5a6abI9+KlP
+
+)fSEe$3SPBGYCAXC1E8PHMq2&(@0#RP91CrmDD!U1KR81M3ke$)FbX4BUK&PBqE2
+
+r)lV8A$+3!+,2%"h+4(XqaH'pAG6`a!)h0RL(Q9H(SVjRdlY24Tf+G8c%UYAT8c!
+
+U4IRe(*!!bqZm2-8R3iLjBhUm9MH-9NJ,5h'GiKhK,1N5d[c[*SkY&,PHaa0ARH5
+
+jaDXr1P[dNEN+8$hM8D(h,"VN4h(lLYTdL21Bi#52@ij#-p5K&@+%5Xp9IA0`&#-
+
+qcCiHCj-Kf1a@i2'arV4GbKX8pAd,P5DVipDh6Y"N%bI0$h6G9UC("(`4m(-UD4N
+
+q*ap&F0A)p[3qfAf("&`4F&hhf!K2ir*ki`QM*bI3"l3qaYTeKRH2M9)DP'I8Yep
+
+5$hP3j#,c2XFA@j1YTDe$@Ske6@XDbG`Y6ejbNre5QlkdIVCJ"'!B"(9NkYMk'Lf
+
+HFIE&2pU$Ba"j[XlTCahCaLm3fDc'Q6Y(fjBUke6JTe+R"9eXchceBT1iPhKGe)h
+
+dQjbqi`%!3JCLA$R@ecr(l8d%dAMhjT*T*KNeUb@QfI-5IYAE9ZeEYflS"N"AMkr
+
+6HBe3Af1,B4QA`6(b3H+S@DG1R1VcV6abHeH`Ge1bahQM)q31&M%GUPcpPC%,+8Y
+
+6`[JNRm[hdITS"RPT0h'4H`Y[ANC"d4A&F4H5DAam$$PpS!JlTX,QjBTA63)c@2(
+
+`[3klZ@$6,DL!fMU$H(*9cD!86JQC@l0+)m8kC!la-kPNE-p2'-`X`$1`d'(!@14
+
+ljLJ3mMlGL`mq8"kHFa'0(33J)+82kH"mb[@XMDe,j[r4mr6A)m9U#pYBG+$aSY+
+
+q'HM$HfTYaja`0mYQjQKrda8m[6r&[Xl*@(X@p+p000CD2YfG20XeR@A$a0[Z+IL
+
+q(Y&q*!VljXFB482p-bVZRqSGMbXk,I+pp-AY!)J+HG&kKrarIY@"3QpjR`@VeUp
+
+D[D0jSI4P5V1IE9R(&`F6JkI"AU&BYYF-G6MMZ@RRp6lQ6+!Ma+GQRAlqGjmjPpQ
+
+lRBSikPSB"f-M%b[d&YpZ5cALUEhJ'%IKB5k8K9ZJi-KqBcL2Qk'#K$3KZJ%&V)F
+
+L$dB+mkG19$G4!%&(G0e8)52)MkB``*hXRRXlCq0pfR&NrGU@HmXj9`Il'`*+Irj
+
+UD3P25NUGSjXCZIJR3id@9("fmFih(RJ'ALqm5Hp`S8AThNidPDYX+bVC4L%pZ(p
+
+RCambqDUIF6me@8db)X#"-52),0#IiPI%MY6ml,4Y)`lb2EMU9-R$8-Eih*`#@#A
+
+LaDp&#)bBlYLK95r8hE'j9)DPAUf1VE9Me+k%81h&88JRT!0`bfBaHh`92hDR[j2
+
+"Bi+[A6"@UpCdJ&fhVYfRETfkGZ[EU@k0Z'h4fkGYKrBlpLZlGl*&e8[-5XK2Ucl
+
+&LflPEKl4r-T*FMZ$6pq[imiQaLhej6E(KB@mPVH8G"q,,cV94@jM[28mc%'Kq#S
+
+1Y%2lCl1Y1GR#j4,lm5$Y(IJYF&ppq#QEVJRBKa528k$Y6M8IV+lJF,&&6ibMfqb
+
+H04[IaYi[epdE&-[k8l9U9E'CHS,P(hGIFmZ$A[km1[&VakmQ[SlA906eL$8pR!M
+
+&Er8rRF"3-VBXd`J)Bp[DQejYIjHZ&E0rK!A(p#2k&2&U-beSXBPKPUP$,&p@J)G
+
+hI@m,'2J)Dqpi6-Gpmc9PF9kSke5HjDc%Kj!!j@aqYck%H+`[Xm[%M*8i1Kql*lr
+
+)i*1$SF%2l82@GaC4,M1%qCrKBIK3Fb$6-D+JJ%6ra+(dj(rKBFd[5#C@cVlaf3m
+
+Q&bDpb05jY"!jR4kY2eZ9LVN1JIGc661)A02HjTV"mYJbDV,NfDGQ21MZ)2V6m$p
+
+[-X$JLYaBkR0Ndl6FiYFEi@1KYiY['YdVIcaB`CGY9Z4kf0b8e"k*PleT&c5l'4K
+
+E`*!!V*Pm)j,0Y!rBll#h0UVf558h!LY'pTGQhC[HdT[*XkpRjFCI-63qVMZlP#m
+
+)L4b(pFTL05df`'HI8$hkj5#5lj'LHpMMHr-Zf3QfFlYQ-FclGfDK03QSE5JDDRe
+
+(BH,*04lIMr6'd-!"Nap'ZBT`k%2SVZS"+F4Tfp[%dD9ICbS&RYZZrc@jT4FEZbV
+
+"1($KDIFdiKJXkU+flPi-d#pa!qQ#1`3+hP&rkeE[-[*cDI-MZ1rTbL"ZfUY'(F0
+
+rrfS[CI0!h)A,,LMc[h@iFDiU'Fj&4C,&[3BF@I3)`jQRDU81LK&MXSH)Gd6P198
+
+Xj2d6@IN3#9*-RplDEi+*8T6H@l%Im"[,CfR)Er6bE"%)S43FBf[[+[k([#4ql$q
+
+#,LaF@2pq5fK2@LLSCh9Vam1F89*j)TMhpMBNhkp,P,&5Y3q'BCd#D#8P8[*)RjS
+
+)1L#am8SDSBP""6Hk#&B`qP(cSHMXFC)SE0'r+2BV4cqEpcM(X46Nmp)49HR1MC5
+
+CT@SEF&feHcVe1ILlY(jFGRC0PmC3lP0H10QPGE-,LSBDp5ak$[UDKH9m&B8GY6`
+
+c43`LhDH$C4%ZD-kPd%()[eMiGYEfFDl@+,,4lfbAmP1JiiQYEQF1!XHr!`5I@J+
+
+I-IVI*),hJVSCeqlP"q%k,4LjZp6Z6V1+!kR3H#!8d46Ue$0MH63e5[rl8RYD-Br
+
+5akc9HNdh4h"Z[i!&D*eE9@hQH0,FPeCYM(Y8VAL'%l$S`k#l!ker`K(H,YqFrbi
+
+k14p1VFPhY*&X%!MeEL2GTHaM(Nmql8MaAJ@-L,EXLImLF'f3!045pL2e(-`JDT2
+
+c1$GrXbQ!@)A-kq%IIS%XV1l1Rdl&#T3**H,4S91EdUGLFADA,kZG$QImMd#6"b*
+
+`'0"4,DeL#h"1@Pf0GHj1NR$`3M,Ak%'5@dE88jji&VPhNYJE@C'DbFh[3Gc3#q8
+
+acM3TcGB@RFmeZe!e5(-aqjdd9VCVKNGmqY#H`%#j[2[QV@h"[VLU-[!d%9(F"b2
+
+-hbV*8c,Y1S!B!K9UX8lI*kpYR`C"Q3e0ZT0acaqB"J%D965jAd2&9imQJ1Q(+3e
+
+fqdqki%(kXeX6,B"R%6b83h[[4)PqjP"HdlKG'ZU[42d0Yq[XMTQpUqBE,mebNJD
+
+j''R%EHGc0ZH0FKZNG5,BCPa)CeAS"`R*MK+#$(11@KL$4U-4ajRF3#%Fi`[iqe(
+
+*9TeZ)9,QBKhG)MF[KB%qj6hZ[La%$clRFkH&N!!SE9QP"MFph[jI1aPGS&,EQ$3
+
+)Zl+,$6r(mfDFC)+XF%Sqr-m")LDI*MAMEZQX9i+@a9Y5b64`lf,Midr,DdKI(fl
+
+kmkm@(EiP[Z64r)MZ9$dM(#[b`'$XX!MmpQP[CehAAMCY*[4'(5$53NB)0#r"R3%
+
+-+IDR0EGLpS[c@JjN1R#U&ZUCC*H3!,QIP)QULZ%@QJ5b)D4,Q45l88Q6KqA1UcQ
+
+kKDXA['&@$fM2bpfcZ(JCl"0fpU,kN4fGa,H[BYmbIN,keCYQMJD"dAeee%[Bi6G
+
+0$&X3qf&)c$-3YfkCcG0!j(MI5kqGerMhkQr8i-R$(`8qpTeHmHAVk464bCPIFjN
+
+ZR,3PSIFS5J3UXr)fDQ'3!01ICK[)"%`hQR[@dKjKS%1!`8&lhBUM+D5(['#d$rF
+
+XlQQ*IdGfNRRMZRA@c0CJ-dI-c2XFl@eM-eU)"0DVV9IcXV@A1hKKRiZ%JPe1qq#
+
+c2drI4c#!6hbA"4LBAk03'karN!"V&[QXLbDk)1Ur+jeMiq"!3ir@Gm0)j*-p0QZ
+
+1a6`djp1HJ%Ti+EZcE4KUEY5ER5kdTKYA+QrNeDR)Uk,$2XY'e)HG#)2$Q3pl%Nr
+
+V@B3RfPpiH"GFa#i8%9FfX`haCkL`d,@9DcC[*feaP6$'8%+QkQ"FKPHG$VSD(Xa
+
+qh6j942ATiRlE*Y9kYHXhVPiTaRd1J%3&0a0H2`Zh8N,4Th#&2Z-d`2@bFA[-@Tr
+
+dD3#l819$Qrfq5Hi4ZQNp!#4b%2hCc(-`dF(fjli+Ni'qSBD%r[DR`[Jdh%@UK-B
+
+DRfM3(MB6q4(&$b-(+%BJ+jYL@4-2KKIHe&lF@$+NcA&H@EPZ249$fPXeUfca(R3
+
+l8'ZLHIF9IC@6FkmdFG[,D5F$iXeN,TFD'$9BiVpi11)HYCZbK("dmIF6"*1@G9"
+
+NEa[0M!MS)L0[6NSr#GhcP5KBP'fACl9!KQB[i)X6%1U[B&#+pSHLl$-4DpQHkQa
+
+AQF&@T$`C(f&f%Kq6T89cT)Cj9GlhT8H#I8d2X6cC0ZJ'1cGhC4[BRZjmpJCaUQ2
+
+8SrB0K@TBRcfMr3qhbE(*XFR0j1EbFflm$!3`*@[PUKj1MdFcldQRqGTe01TTmI6
+
+TkCXC9ikmI*b2YZH8HK[Kapdk(rX49+*"!d#Xc"ejc(Xb3BUP2#X&a)-3)10f1RE
+
+ND)$0(+hG5AR9U8G'ccI(R6mbqQcR5Xjc)k4kCk'rSe+phie6Ne15!6ieL[BR@k1
+
+[$[1E+N(PGfj[A0jJ'mVZfMd0Y1`3VYl4ZhEHLZbTEeVHTT6IQ@YKhC8aTr2Zf,I
+
+1eXh8cG5aEq(d[3ejj`@a'!#jdb*[NUqmf-CHTTh$(9`[DfNdqcD4Q[QYj[E3""+
+
+UK2S3XqH!ieQ&@eEk@S2MRE,c1b!JdJGAYGIC1T,0(RNrk-2X9[6f1Upr%N$[SiG
+
+1ITc`#B!#ERSfY14,e+''Xb-ee-'P,T5S"!#Ap+(U3D6h,TGfN@BR#bl2CV-Pe)6
+
+Xl#$$EdVHPE3#G6AdEKGq,kH*I80BGN2K'%#EcDHYT*!!Q0BPq1'Nm'V0pIC)dM,
+
+aGcm,Bd*)VfmPSpNITBrMRS3CfCq6)"JpU$)[Tk@H1feK($UlHUEFZl0kZP2mDr0
+
+0Y66"J*aRd2+I,P[aqYm8HLEGZE$0H$dl2M*XiK&`EZ)cX6aGcD[6BG,@mE@QeTZ
+
+#EJkPLfPmhHR0V'`iQ$Dh4+EIQrFQph5PkPRaSjjN'aHV1C!!3BcDX0U$5RLD@QE
+
+``QC1S2%c*1QE%9cXh2EZGM6VkFZT,djEKr$%j,&$m%R6XH4Ke#iD!6@e068pIdT
+
+qSidS0`ZcYbYfkY@E945[5K'9-m9M6MmqlY*iLKCcGQEkhMX9*pD$eTrUS(mFi38
+
+$B"#mBLQV!YqYL40i)Kb$8kLhPmf#BhD`1aJEQJpA%C46l5*0F,lXF2,pqe66qf2
+
+Y@G0kC6*kAkIM6cISKAL!MAh9CmGlAEQh!QX,'8HNAXSV5fB15TLYEQBFkhVAMR3
+
+l&@h@l&2[4rdDK6pEiek[lYMX5rY@IAGr+i8$b"bAJPi*H$Pqq[+ck6hIQd--XrP
+
+r!M@$RDJKVkpReqEQf+MJr53Y%ET'fCrF4l5F5ETc&YMGR@9KX))#)VYTGiAYaiQ
+
+pdpk4L5keb@j@ZrGi)[h8fD)YqK[m6IkHr*`(&+ZTS4!SDFh86J%Kif'R$hm2RQC
+
+42EKT0K8hYZm2mI55ica25AI-Fc3dKKlHhH2ICNNc9iQVXleFN9Kr))#pR-@REhS
+
+[h)[GLpk,fmLck-GLb1429S0l89mqk[AUF&MX@Zdr*m1,2+fTNHl49(TbpjBMVe6
+
+)pf'G$b&pa)ZiPQZk4A9m,`liR3X4q@$c,*+!6S$rA(`l63G,,TB&UQYfEf'"kAq
+
+Gq[p"$DPY5fTEI,`p#D'EDhCGkA9"pmLAe0*L,P)eNrGfm05p8[9-&LmQq4aB130
+
+%f0U94lZiDPST+EGLDU,-eGfaZk,L2CHc*3CfeTE'r@`46@*[&Cb#UMHF`Al06ZP
+
+mM[f0qUQr6rq,(r'hqXpi#GHTmHTd32(Yl&%F&*'(C12$a!pmiLA1%Qc&C#HhG(%
+
+1F4Eh)j@hm,kdH5EC@D,MfGZ-N!#3!,G1F4EhL*,EUP"JUAP)#b'!Xfr(R1b9($!
+
+9(R'69YT8lacXBR3a*P'b'r2K%$Bdhc$Z"FV&1j&Nk$-lKB*hI#`@R1%LIDZfTpX
+
+a-0fMlh$'5GN`h6$KQXqVNUSZ%m-Nc$L1D9'XlC!!!`I1*F*`eq9q!%(DB)(R&)Q
+
+3!+6l5FJ53AdN'PVH+hRClP-&4!98AjNS-V*Sdmd@F8N#AA)YbJ6$qAI90FLBQi$
+
+CZc9Eh&dqmZ9EP@j9hU[VFQGb-+1$XCFJjE5U6A*q6liMllp3mEE5U+Z"q@V*aH9
+
+a[p98diU[lh,VbjMk(Xa-3k92jG2j&5j,ipQhSN4pm(XI'lFHj(Ii`q'M`H&Z@Qm
+
+F%B)b18FHmH[JelCaNfGU1Dc"pA%@&NZE@P8R%f)DhIIaN@Skf&D&,'+!XX8,T%r
+
++(9V52c1E3ITrH-cZ%%be`Zl3M5Fj*lALeU5[IPqph'aYAVf1aEpeeX2MBk*YFr[
+
+f)+'QhNB+XhbjSGH&2Mj)(#A@*)1Ah6"ppU5hi@"IRUeAY@QjNYY+&#fK5dVNpQT
+
+R!+$plECVk"miS!prYarATRiLKqeTNL0(N!"e$K%MPj'!EN$F$LhiKcqa($&CM`U
+
+if&&A-T90ME19P0LCdkdBp+(MlNGl-`cVdqp5i-lf(-KA-p3X!4j8R&YmA'TaAIV
+
+dm3GRQf9bC,DppqKpa&`4X4HZrF!4eS[hSV`J[[5Ejm[UjML-,+329Lfa'dJb$XX
+
+TPdQj9m)mA"FC80'$+[fGdjRN`Y[N829iMGG"%*9lY5-E1JLh,0ZcSh$(qadia-@
+
+)0kNFb*1RC11IQ6l2e,1RFS-$lh52$bMYXXpS)#Ji(`I6M0jiBl5)aFG##(hLSq2
+
+Dr&lMQ[I&*c-(`V'E+[H4UKe2@S8k13Y`pAVXh`X'DTc"4iY!IhJjl'@1Jhf(m'C
+
+""TMNa&cN!MFK-E*kX9c`Gl0hHCMkL9Dl5$dI*,*,aT!!LL*Qi58$Ccd2ES@D%G$
+
+Qdp16k%jG`QIDapASA)4`"$FaEQ0R8T2%eBGr&SeD-@-m0jYpQ,fk2qIKemUAp#@
+
+,jDCdPRBb@,rVmA*#DShk@p@h[04CceU&$Q8+M)6@p&jSZk1*U2QdV0D,cFMK,'f
+
+4b8dJ$,'6UESAq(#T!+Mbec'aMr"YJ'Se1(KV4qDVS%G"qQd3+IlG(XG'DP0@Qra
+
+i6-`hk%@EMe@#"A[qf$+M-%"0jV6rI!E@5J)+DrlkM`8X&DpjUH#4QffHV'hb0+U
+
+8"Grfq&0`jXUEcYF5edD1Mi1M'Z!'L(Cd3H93lR%QV@I0cJhH`&r3cF@08(a#f1K
+
+(GU81mSICiFH9(jb"$Sd1Yc-KKIV$Dfpa+d0(hDAYe[EmhXQCPCm(akE(VU9JbX$
+
+YbF,$5VeV$EM8PPZ6Lf!kAR9(pbP[eYrc@`6A$RNI1GX*qp4`Z)Zd"@R0F3pMLq3
+
+%l[4%DIL$,K6h611jP@S`3,)[fpkMk[$32)NDqdA5$j3lP#cGXm+c`l19Cmid,dc
+
+G2"VXk!K"k35pmU,eU2V8[@LpDYrQXr`kIrp4)S!iB#-JZ"E8N[cl0QbGS#2i,f5
+
+Vk3lH4m[ERhG[hY%m3E9NFI@IN6E$,p*Cj#D-CRqUfmf1**dp8[9cAPFmGiVG'lh
+
+ZlQqpj!Pr4Xd4"X4`p9QT@habA@PGSY2Ik8YX9Q[BMa$-[eGh%JRpUPcpP@#b!Xm
+
+YH(K0lclTH$DP`)irF(Hh[-A$GK12URHqULN,1Bdp6L4ha,2&XR016e")jcaA"CY
+
+a8$DdbiXhHcEPa0VR&IVa8MVB-Z20Mc@H+MPN&3r8fm)(pr,hmh9Z)NMR2$e@qeB
+
+B'Y$hpr`)9q48QdcSPNh`SCk1lX8SH)GpA&f*Cddp3TR3U`5[mY9TK@UGrKc6Y3I
+
+RQQm%%ETRb4#hDqCTkECSM9TqAEc63NZ*LJf'k)L),1-#YI&lm1p&Zl2U3)b`2c[
+
+HK[TT%)Lj$[BaYIaR2VLER3FmX5'@$aR&DJ'+S9mK`GY""[`EfJ*(8[BKq["l5Nc
+
+kZF*(0MiZTalX(XCrehRBUe*)K+8T,ACc[ETmM&VdCBrPl*i&al&2FlaP0bNHKqF
+
+KMYbMZdEe6drRp@UN6RDCj@@Udh#`@j[%Z4l"U#qe(l@cl91[8VeFbXSIRpmEbGX
+
+mmSaUr([l)"+BJE8Te9m$Pp+S)'H5'r!IX-@rjjR8R,1Z55HC['`Tk8j1$'FmcFf
+
+T+jr+C)Hq1#G""(,LJ+MHr`YKR4H2aF'FBV8%f2K'DhYE1r6LU0AMAdUXH,K-(AC
+
+L2-LR,jmTD8j$T2Y%!6k4-LMc(pDR,8jG9QhT)T9@T,&MP"R-R"XTD4NA5G@ca*!
+
+!j4[cD-2*AIQTP,JLGS"!'01G3eZ*KCkfBKZi01"ClMB-i3SR&mcc8'1m*,DUA5U
+
+IkhH-lI)+i80'$aErL(I6!+dE++fBXE@!T12ha(A$h3dUAQ!6Kp#8iA6[N!$rGe2
+
+BDVqj$lXAYmfc6MU@DNeAe@EfFJlALhY',R!`a'IdS!JIpUe@([EPEBL-Zb3T#Sp
+
+1MmECYYjl@I-dPBJ`fS*BT9aZd)!pb$EGUUi(Y-%+(`+(e1GMhXR(be,pRa("Z-2
+
+(K'(DGrB3iL,PUe3jCbP45D0MNk(*X(ZpB2NNMK%FB`L%%&Z2R'%h2MYaq(pT!44
+
+!GdMLEXImH@a&lMjAES3D-(0RmA#Ra,3Lmq)1G'Q$X1!LpCXRJbmc!Yji!5U6)V!
+
+QLmpbmfli0lQ6lPXDdf+TDQX@,6Q2eEMhDm8Hl&EJh*!![8kAXXaJ+9CABd-q2%6
+
+9hf*frM44HViR"$l)Yll@*X0%!fa`bG8iM0mAGFd6hM%KRh5abQbe+CQTV)R2Amp
+
+0lbSFdc(9eRIXlr3khNB5BR`8Z[%b$)4)DcI"k`(("Y2i*Hc0p'N!`qMp@(HjQ1c
+
+rcfTpM#c%4PMK`8P""Vp91BaQe2NZbTA[LQcdl#BmLcdl-NaAha%NHBZKh9fG%p9
+
+Ydp6%p9Q!EVb+k0('$p2SeS'pG81eSN0#k11Y$$1RcTmqI5Ujc(Xaf9%ZfI(Bm,h
+
+p1aNIE2Y(lF9JmVk,+B8jjD(8$0r-`3VGQaYT05%FJ*Sj-!bJKYAGcqS)mF6p"@k
+
+UC@dA%cQF1!KEY#&GhIiNR$NUc5fjZU)Dp8e$80iBHV'(eJ3r0pm95jk3!"@,99U
+
+YLp2-EBrBl'X@'fbmc1I-CbB[KUQ02Nc1ijEUcPSPjHKf`d#rRq*(54i%8P)a"j[
+
+qY`f+me3HiXL,[k6e&6M(dCm9mH(*r!($rFifk!CV,4+B!pX-3GBVqp&pdN%qE`Y
+
+jcfFim*P&M-MMVPjU#!(@#!B@FN2FK2pHFKR(`J'QikIh)"eL(8CShBc#!B0Q!DT
+
+8j'(00DY&&)ma`-ZL9k(fC'%+(D-MJa4Gem-i*22Ph+*Ph+Tcm[(cQl6jEK`R-Jm
+
+`d8!K$@+1cd32e)4FVT0a1N&m3FVAh6+J6UeCD%G8Y@5dS+SA%kjBY(1A!3ael!c
+
+r@MNNhP@!C)b3!0"RP1K%18!MH3Tj)C48'N2$QkB2cIICq9[H8NJM21(F@%$BP&a
+
+YkIL3!-2X4IAjZa2f#YhpHGFRq2PfdjPAFVCRlU`$)"KA('f@C5lcLq+meQM,8j%
+
+YHD3KeVM`2R'kQ6!F2N@j9h,'jS[H@K$L0i$qiJIH"hFaql#B`i"2`T95d1l"FRE
+
+h%Lf@lbl-A42"9eXDkLZ`r*2-P'0"&TM2Cm[aNjD)"0+$-`F@%cK"p[,@PpAafF+
+
+&HqMcmiG$lUMNjl')IDL(IhbPG3N0H5TAr6`e,&LaEP!C*8R9*e2$CJmGKc2)[eK
+
+pY"[IU,!Ec[@LqK&kF@j@JqD`jZ6$P$I(TLGNGE1f)ZUbB5d2`bF&EJS5cTI5Z8Y
+
+qTFjT2q6aA6,hBAcLJKT311[53*)DQ'BSJd2T)rc2Z1cGqi!L[3VP9[0Tbe`4YlG
+
+rT'B@0!G$lZ0bU**4XFfhQcj6b8833jjk6GJk&jG#b!DaGrHLjX@E(,)cEj%mmp#
+
+KZbd2"!-%r6#Ij-YYd2LCNq`0la*bA2XccL#GiFS5bTZ5HTPMr"Z$9[eYlBp9a&G
+
+@(A'-R-eKj[*@YU5j8mM$URk*F`(90ZqEZp%X[6''%SqfX%d&bImI$F$KM+eZHEF
+
+eG1ekfM3mCB'Umh(NB0AHe6b+ZEhNBI0!9D,`@fV-ITc[)`DF(4Jdm1R1dlfR0Tb
+
+qG@k0Dh,0EdqUXP,DMdm1V"FJ1aB1DqA0mLDeT@[SH+c*4%LjmLk!Km2e*D0R'cQ
+
+!aKZZIN$YCM)L(JKrCk(X`pE,khbreR&EmIfZR*,l9AfUFPhfTdQ0*Lqea*2RM$Y
+
+8BmGT,1,8!%1p00&BBT8IU@NQ6r"8jp5[Nr[EHC*""'LF%#0HfqCDQ0cmp322cmp
+
+m-kZGmjLD!%0CA320fHhI-H0rQUFEMkrm0"FF(*`CdQV*6[YQa,-TC-V*a"b"F,$
+
+@Y@IDZHh3l0(IT$pk,r3@e'4VC)4R2%5X2#`h"kQ!cH+A5ik$4")k)"S5J-60J)F
+
+bXl&"FFRKi0B[k-R"6X4pU2BMpR*EI&"Ifq&rqSVPE9Xp,bX-@j`YbNVJF!QfYF`
+
+P1diZ0JjXA4!3Q[@@9)DQ-fF3P+I)pqR2m2q[@cDZEhZT6e)rATNSbV4EDD@&HC&
+
+&AXp,kSm4CKJl[5p06h)BFA"LNk)eIB0-DNM4@@KbD2*TFYPiB4VFI#KapDEQB00
+
+F%X!LJC61#$FHVb"A1-EML#kJKN`P6R0Z(GS#(YD5cFZEh#MLd)VG$fiUd@a`Qfa
+
+MDYKiera*YHELrJiZ[aGF!Rq5VT9[&CJ$3TKUF%Al2Hqcc0qjl0$pRLF"R6'!1fb
+
+(LGY,bk1(`[JY#BQCI4YQ`$92"E)X0&5M$hrph-LdrV81Q)&fD(eP!c8HX8daU-Q
+
+A*CX#(H`8"1bCKI,T&P"e&X46VE[-`DQl5h4i#J%hBZZ1[%0rXa&"1a2ejbU-54f
+
+@JJ8LBB"N$R3`DV-ZfBc'1M$TN!"AA5(R`CI39pNNP-IF9*8@d52MXUc@KiqHKaZ
+
+6papKf1[X+(f@+KT&G`fZVFkecVDrm25rLYG@ep#dVNZ-I1V"N3#!%)N-q6'M)45
+
+Sq*!!JNI"1#*"!N(ZNd3*c06lJA&bTFc1kJ'&#*+8FBQHK2f1@+E8+0$qZGQdFh*
+
+cD[qlC96TUR#0"bYVDqTFpDEr0ErHYG@Er0mMr`YpA4R"V&pp)Cdr4Zrd(brTjKX
+
+F6p1Pkh0SBNkPp6CdKldUAFrfQAT#0R%0AmR*2f-j2P4FaE'ClmHEQIedk01MQIe
+
+j@EPC[-cHCf01h1SXlB#q4kYhkN0$3pDAeTI@j2VF5KaD%[e*Y'(&AclaHVSI8L&
+
+#T2@d2j)9@Bd2@KSBre0SVDS(rUD%i),eV[mL"Z%%XRV5HY*eG$k"e&)Hi36Xcq5
+
+S2CV[hTp!"@R8dFR4UG@ILXl[XcUdjbBPeAq5@JK#"IHY,eCTc5q-qk(IZrA-d'l
+
+8UCp5U%68-JI6YdpH"&'FDlpDe&jN8fK03QSHB!4!4GpDe6ZrEDj`(Zb*!8E01Cr
+
+,qN9$Ti)l'eBMe)pdr[2fUHP6dUHP8diecEpf!IC[08F@-H%#ME+FPja[)'D!(dZ
+
+3!!(djX'0&#9cSE`"U9hrFTqi%-IHk#91@CpLB%fKJ5qbK'*D['qA8'SrbiBF5qT
+
+RB+Fr-qR,BQ5'(BUf10BUmlMHjY13!,e0'V3,lfRGkfEeXe!)J%rCc3qpNbZlfUF
+
+&2"Q6kGZR0Q68bY[Q@I2PVRQZabM"MlJhfRhIHKQKPlbcaGqAXbfCM*BCmTRMj3L
+
+$3B5R(2b"P#P1bGfZ*RV4JAp12J'D5D`BFmNfc0fHTCYmZ'`f*hLBGS*M5qjT5k8
+
+ZP,e2ZD-Uc4feGNT6HP2mVl@TVDQXJ%e0EdYDE@aIcSZ"$Gib$jP,+5EBQl-hm'P
+
+b0XQ'`(cmTH35E6#fNQ$#D828KdK8@GIC5FKK`EC&5)UepJ'QhGS"%'k[rX0+XDK
+
+EH'EJQi*X#!BLfF!IQ"K6G3iGYd0cB0VJ-,4JG82LKLKp"$8QMkJRI1&Jjf'FV5f
+
+I$S&f5a0Rl4#dN!"YF(d-F&5+i+Y3@pUl0Hd[ImC#$prD[6*F$)bbqAJLVa1Th0+
+
+@Er60p&L$'d(5##AY-la$l!fjTYh5`q0ZcHh0ejZZ`jL$VUb0F(c%-a$@A4PRkdr
+
+8Kr#bHp1Jp'ITk(PIBde3amRJp,JdD-rGKe)UF'``3*X%"`GfllX0ZPEiP[Lfc'h
+
+fb5`L+Th1EHf)(lfPUL9fpTBqhEQcMhecQ,(6jf%*qITNMV6YDGV6fr5Y@p&+,+m
+
+a1,2&#Eh,pq5p*H5@0brI05%!PTPBh&h!mV$T%NEaTJk1e0DfVFeeic,*F!jD29M
+
+m'aL$m$DTc#bKr@A"!FFmH4[mf1Mi--e'#RKf(Q5i`cYh$Scr-q$4Rk-rb[I(F04
+
+!0DRhF#[!8kT9kjiS$M`h50RFLeH*(XLQ+TjR6-2hCmA[Te%,1#prLAZQ2CA-XZ*
+
+1iq5K,YqfQ[!Pi0a#c%V5PM5Y#@h5i1S)L[m6GkD9MGf![3(PZLkQRV(3`8,H4,j
+
+pQ['H0IMd&A'4A1RJTLe$0GHQF(IRNk1#"@5+Z5)cq!EDaq+PMMf2RB,#0#R$!,e
+
+MR@6H1di`Mq*l(6pHZ8+6a#HiUaDifSYh+Qm#cj*c@%1AfD'1[mH)lDi(ZBIaP+k
+
+9EpEj[[SkBGG%*5LA&d5!e&NI@4!,)qXj9dR36LCZXB(PJjA,e)ehXCc+jl#HR@X
+
+E1VIVITI!aFpP3PM*3IVK1'C4hhp@aH(8-E'%SMIqE4%!Jc%F3U"rc(L,p8jE&'Y
+
+$!8+Nd5Gl-lXiL"0$qG590UYQGYMaLPl1GkLjAU1DHd'08pS3BPTi0U5@abcH!Qf
+
+E2Qaqhc1AbV#Y&P6D%%VfhH+jQj8pSRFr5S5F@[b$r*YeB%jcMY$+mGM$8[8Vd9k
+
+VHXAV@"H9""rGLeY[8U@kP[*`f0DVU!J`f*pYcAH1Ba%mp[GUAkQl8hE"eb4EYAG
+
+XEVGKj#rpcEpbTlP6h!J2FUqj%!5alQMrh6l$[XpDfjUPicL*e5#A"9[CBB#fiB!
+
+m@MdI`e0r*CR5B'DaeLSdS)caKlQh[e0qT[e-05RBjYAqp&V9GrN'jmleQLjY6JU
+
+F&6J"m-RD["Bi(#J0pLe,Kj02E1*#ARbkm["aDDP"Uk,Mm3C1KchYe1[8kpMGUqh
+
+&leAHX9EI)0[0#!MVdjH#AAfm#@KjBq5hBZX4k,Fdm8Mf()5aR#&6GEjC,U5)JCq
+
+A2f-AISD[#eH(Uj@VjebKF2#Mr,i2[URjLl13!2Ub,!Q'-mcc(0@De#@ENJSi6DI
+
+hT28Y-m!PCE-%#95aR!YKGlAi@"j8&M!fQ4h%l&'Z&'Nmd3T,qINYjK2-%!9cQ1-
+
+h(5EXrX%&bINE9!G(j@[bEPYG%TLq1i[C6[X0'LpD,iPq`C,MZHH%CDUc9CZ-!LY
+
+EXfl0[bMmAI3IMYQ'5FPI'[e6+#mFYB,PXQ5+Z5@61C,9Qhc2I3Hq"m&bIj5kNdF
+
+qRKTcr,`HA(jFIPe@!JJ9kFj[kXPmjF$E@kqMSqCq)`&2@ZHYFpEb[`fX9Q!NKEQ
+
+-9S&-6*-hKc&*N!!VQR1,MJYeV-Lr9LP0qC0#4B8JqZTqAKmZRjG-!LJJ,eX+)ZI
+
+m%@(-h,0TH3rpb"50G3BaHRNEM2)"2+P%d(d(fSEf+pZa5rEF4CM5%!f@QQa`$C!
+
+!%"RVA9mcm5L)&MbAQ5mG$ANej0H82DKmZ(r%ml,Q##hYBGHpVhJ#B%!hq'p(HM`
+
+,-6$!6d-ijmXYq(cL63`5(2clYfKBbUZ0&3Ul2qGiD*SJa8bY'Be3jSHjV$M"D*A
+
+FE"(-!K%ejSrDNpU[@Yip*V`PLCmaqU#DZ6I6FhX3q,IA8Z9NPQB5AZBc'6Klb,[
+
+Gj+*eL+hCA)$D))qIaZe9&110J!0*bC2Ke*U1,rp1Nr8%XkX2IIFC64,lQKER6PC
+
+SPj!!EAF'10q6phD-E#(IQhdjU@kYN!$Y$i!m[L2TDYfYhD4QY)6",`*'Af@ea-A
+
+ZBYRU@G+cSNGh&PaCFA@SDQYk-U"kRYhHa6PSeSCIe2&'U%5kkBNDir'5[l&$Ni*
+
+%mj*Hq`@C&l,h-[e-Q"2$dH5bd-r+NjNQQGV"cD0VZ%",*`b'LC`X066jeciq'26
+
+Mdc%($kR0pHKKiY2NNrZRYmfhdCUFY1b1dl0Aq0LLj"'A93KM+mf2qI`BYbK,6Pa
+
+9a"$m[GrD)dJV38),0kckebKMpeRfVMi%&eLDI0$ek"bmcS,2ZfG0SJ-)PGl(+rU
+
+f#G82HSjdNYk8`bm43qJG+%06MG)S3eYJa[0b@h,TY$k2C52jm+A`*HC+PKX1c2k
+
+-89-HLb3mXGl`6`PXbkHH(USHbp2E4!HAi@!$mP`d(NIC!p3DU2dK"kYMr"Kej1M
+
+,d3i82C!!#91@jSV)L,3`q$DcGqc`DH'M`8Q5BrfAIe))T-cr`G8+,j'Rk[%X,SF
+
+1PqMm1a&Km'pQhMa)`4%+0!)J+D6pUPDcGhQ6r!`h*d8"*JRd*i"!%-%!FB'rm!1
+
+Je$rad,lldPB38`r#[q"$c#r@S@U'h3Y8G'MSdY"JIeBY@KIm(AcGIQAp29SDe$#
+
+'lrDS'5j5BEdJ3L$N)2llQJX"41pP%Z,-#2k6G1c2E42$-2e2%kh3jN'P18hKm85
+
+R!PBiqKLGZH8X!)4e-iUrr3A(qaGR-AXN%pGa'+$6[[RV$&0FV,FRH"rIMhKTaZ8
+
+l9HeBcTZ*@BeZKa2eHKXb@Y#hAZec)$+858Nph45R5MqRZ%H6hHKkJlA03VKIG0,
+
+,GjIr5dj"I%TK2IEJLhD*Rj9MFM$c4%[`'HRLIhH,fpZ40$HNDfIq0G4k)6PG5hM
+
+LRT)E3qbYJme%L#-Di2e3iZKq2#NiGM+`qG)6@iU'Rc2S8eI"&ja[m+rYGH,Vm+r
+
+a0r[H!*rJSGl3UjVCDk*"Q"L&M5$69L9cFpZ,r43XGkPXpb5eZ%j%N`F6GVE[QTT
+
+AEN9kbRq1@5d*&fpZh&E&8[BbS2d'U-f@X%2*fI#MiGr+QmkBe,1I4PcI(UY[@JJ
+
+,@hDLh+0kPKbVhk#h[M`J"f'AZ@d[i29hXU,REfZHRFHpcBHm8k!GLMeEUCQ6r6a
+
+G,+dZETG&+l1R8e[%Y,%I8k#,33k!3I3q"LbXrQB+E@QSFdBeF@Y4UdSmV#e"q-8
+
+LH5ZSpZT%V2+Y`HEJC4EG1J5Be`"!B(SJI#!#J5LI4[dS+drcJq`ir3k$Q8DM-00
+
+#J3J1!)$!%"'QbI3Tmc$6@'1U8%acG$Hr+K$rTD+EhN0N+&dJ,'fB$SJ"H%hfY9h
+
+633aFHKh,TLF#)'$+Mmj%hVP$k(JBY2p4Tm&b,GkJi%LhU1p5hZq,FL8HqBehLN4
+
+k+lYhU%q,i1*kpEer0q!*lf)ZVCkXDqC))$$YZck*LEm4$`$%e!P2XYXl0)$IS4m
+
+6pbYlrq0$r$mqHN!B$9#2U9+0h)!j`kQ98r3eXMl%@YCr3Mpjj66fa6+,$a%rG[C
+
+(1A"32H4kH"*Yc4AZ&KiFkY!)J2Xm!GalB[04rYT6kd(R*r*6kp'El5!M4DJMJ$j
+
+JcrKYb0Zl&Qa0U*-kAQTKMlh`9Sdj'ak"(d@2P'ATc-K)Y1@B,0e-iAdq2BU9MhU
+
+NX9V&,8@@$M6qSIMMIa5TT0"KRD9'Bq+4QfHjCM4TIUX[fh2BPch"!)R&cN,irc#
+
+J8IAa&4HH#"+PllpH(bqI!)Pm$BYk&d"'Mbp(TUbGB'N!Q*2fVT&1Yq,VH6UE-cF
+
+Umf2,Yff#MEff!DhEYQ&KHR8@HQUjITR5e*[JfTjRcI"02!4BFd[5+eZ#k#6I+pE
+
++fFGlV`YYQ'F20Z6&K*1kLB!Qe[D6Q4D[pXG1GEN,fTqG5iLkV,dhNq2,$Y%P90U
+
+h-m'mcE@apmLRDTlHCV8pHRF!*VmRj3F)M#TVk8l&1aQCl!-J'Tf16EXDKpNZ`l4
+
+hY"@lZA[CZpC2%#)hf+0#Nc[r6-,RM2Le@YCHeQcCTir'!hZd"EPj#ZZf+-YD6,c
+
+Xh1XkYc9LkdA@6QVFlJR[bB[S[l'akE[aFjYBZECc+AQ`bNQcV%B%c+,IAjJmJR)
+
+febTHrPm#rc)G1"2I*2I4c3(S4hDP$[-Vl2Iaq!5B4[RdD(@SC$N5YDaN3p[bdLA
+
+c*h0!%plK+[S[jE8Zh6PEjr%jkG8F["TC,2d0h3(,rSl*C-[BcI0cIEdl&'ZaqZk
+
+EjRp,1bjKbX"$BX9f9MA'ZH#YHbrGcIEXqhFl0!i'U6FqC$RN['pY#IPm"qTN3eJ
+
+*JU,kCGl[UqE*FZ#,&idYEc!qkh4VB85Cc4*P2"+L$KU6-d@hYN$I+Mbb$0Qah'[
+
+%fb*d+bhYh8d!XX5hcEPbc&c`DHV`R(U-e'@k!D+A,KcF1QJ53#!%83$[d-rR4$f
+
+h,TjY4dS'Fil#JNfqc&lH9b1rVjXYQ8+"1Q2YF*!!hleVNhNR%#ISd[e@k%X-k6%
+
+pV,NMd)p(-i%Ve)j56ETYqR1@1A*1XjRYTNJTfHC2Y%ID2*q[Y8*-@"N5m@hi3JP
+
+m16Q#HeRHXk[`j0R9NhX4Y&P@b8G[MhXQ'TJjdr8QK$1afC2im4Pm)f-GA[ej+pL
+
+[KVbFQ23LR1e8%mRiS10INJmbr$Z`KmHCrm5R$r3dSr69ZP**@$!33D-2*2@L2Hf
+
+GiNU*9@82@XiU+BQ'e)!LA%@J4X55'MQULmQa@JSGXNmmV*ql#[MccHA8X9C)rDC
+
+jq"1&jAEKPLV`$)$1Tf[2h'F#XDXPUeU,1JlbeZjar-U2AUGMd2pYAUdc40Ul5Pp
+
+*$hf#LEXRKhkQjMEP(GUB23h+R9Up@VeBPIP56qq,AYUIcIITe-@TLe+&66prQe#
+
+j#f!8&q+bq,K$H&d#JE-rRT93GUT5@U`Tb(5$ek'EK"@Fk'T$8K5Tk`S-SLI@VHG
+
+EMi)IBS39-'bPA"fVN`jqIBk8Z6ISlY(HjebTUeC+[b+hUj+SZ))-K$r*FR!8fpQ
+
+2cGRfkBI#j2J8d%[LRfY9ArI"L$e-if#SDe5#$aHeR$lf#EaIH3c'*pD#j&Tap(B
+
+Zf1VA@qShj1!4Si2(`5m%1rNBD[@fHY(qa6U9$5(3Iea`C311VQbmE#P+6cjDI31
+
+YD#R!a$j`prR'ijM@+*Z3!(S!+AFSBAiTI8RcjpZIiH#TV3DTjEkXHrmNGl5TEb$
+
+NXUr3LR4D-A0lY1,&6lNl[bBMQ6Lm*K3%Mr)1JkAJm6JK*0I&iRc*mXq@Ibm%V$h
+
+a(qM2YN'(0#qSmkTUHKkQ6M9*lKJ'+DcX#("8jCa*2&24NeAaq8V*U+6HV%IK%rF
+
+A(10`hqAiNpZ4EZM2m-b*B6$GTcr2Rdjp1HF&l-V+3F)8$Mim2hq+LI[[JIT2&A*
+
+1KhhDLY$*qAPSh!'HQc*NfUZj(GBUi%p3JmA"rH#5R6ja5eH&!a"f-CVJr6k)N4N
+
+l6PqCb*!!M3[%'m6"EMje6*`i`VM8Mk3qrXI3VUdfY3q(h8@*Ye2$`e)d%(S4Lcq
+
+P8p1Rk,'Qel[XbMV@pDaVFV@iAf+RjZcValp-)9LA3Nd9CV@pbIRmV%i4#bfBKUT
+
+X#QpBmiQ,j#PqE"i-9Qq3!'83&Ule6eUp$4S6dJeRS"l%@r6f*pDPkQGHLpQ,fUG
+
+UG)!l(f@iV-8QEfI"pZcrRdkjI[I,LPU`e)V%GVBa'8)NB4`CZlm+b2$&AGTDY5j
+
+(ZmM(mP5!RaBj"XUkYMBREQ0"cpk(fBIDS,NdG0BG4f@cmh$Qm'E`CZ$0h-hUj[9
+
+jPhQ3!&RFZA9a@jqJ*4(V&UQB,ZMY"0A!GQ0TqTHrdE20mBGcfY[35'DX01I&2ae
+
+4CKKPiN[FPh-r!GQAZp$fjIEPl2*Mj9QEam9@UX*Q8bNRDAGdTXHDPFqIC&j,*RA
+
+HVMX1ph,1jC[I'`jZYFeZ*V%hrX8,&&*mIABr1KXbbK"%Z&2',DeCG@AHPhZ6$bT
+
+mbhcmdmTNm&NmCBF&)i%j6b`Ki)AD(pM"hLmC-Tk1dQJJGmlVDRdqeBY9EF@'VHj
+
+-q(i'N!!qr$2XQrqXN@ELFcZ8iZCF-d1jPA!%680HMrAi1Q[Vr$YM`e-3(25i8!6
+
+LA1QIpDFTcH0$1`*5h4((25jSS+iNR6XFKG1@e"*YNL++(2h4"91iQ6TM3qGMic(
+
+p!2#Ib58CXqB$iqRiPRCQNp9MkNIMQm%0V@!LkJ-iQMdqV1CS8Nlc4JdlZQ!T3,G
+
+dlAV6KQbD##PfX@biC%QEBldEBIS+iUj'#faUANBD%'R$c-'E"`lpD+c(jZa3kY5
+
+GBR0iEi,H4KZEK"F[eM$Rr34UECMQVqVic))GU3L[@lhLMQUhBfdk-J&EER4ALa1
+
+E,,r18SeqcMrAFBJ6cFGQiZ6G@fL*cqJk`ITIqZIKm0LlpZ%G'8,&22Vf'B+-Pf5
+
+,32LI4MYjrBq28U8M#`MimP5djZE&i+CS+DdQ@ZI5c+JE165)r1)Mq+CdAIQI@6&
+
+PQ-'1'TcF%1IGl%iGV3fH*,aE%[ldeH(Q`jTaSUqL-bP6Z(M1UIl9,fGReA0l5'$
+
+TR#RLl8G-"[ia`RG8a0@BilPXDhBaUd45d9!9"ZK)ZL#@RFSmDr!R&$"NB&r5@fP
+
+Sj$"PqQB49baZfS#eYI!YMQa5bq`MYb&&b@h@)lPJ4qLRjXr02QCPPU3&&JiLr#q
+
+#[26jA$SE$hQN*U%q9GpdSfX-QB9+mmHFcRM6G%k(lL!C[!)e,pXV1,-lNk1F[Qe
+
+MpfP&9LjIGQ(NVH@H'I(Q4RMa(ad!h"aelJkRl0Ja`cpc4*A2`f$Z-c`#@-&LpRR
+
+@cBkYMUjYfC3mJq(LkMkpale4+XT9McI'dNNjTM"QTd##e8Y90AMlp6fXQ5T0BYj
+
+Z#CM1ST%JdQirUj*'cim`V@ZjKb[(d9Fa-*i-mTQ12JU%6)m3DHEN)Aq0cmMY&lR
+
+#86i1&IS`S"&icK[XJqaZHQ3h3&ITm#G$rc3l4$Z"e)U2!Ck-KL)CkDTYKI"LNp)
+
+HACYUGjZ3!1p$IK2DjpXVNEAVeJ'!lF!*G&XG%!J%,0bcFQZhNC(ifj2hF[k5Ejr
+
+(rp(0p90k+P@f@2Z@EekI##T-lc[Hba&KDh-q3pjdTR3BPqHZ@p(URr5HL"%U$MU
+
+cS1e1JaS+d%X$-ReY)AI9NLiRZ&K@apKL(6CdcHKY$2LaXBRAN!$FVeK3CPp+H1C
+
+KJeCfrM%*ABe@I'MTS$D8Kk&Bbi6jb'Y12XFrMZBJkBqd&,-lN8#m*bZj%lJ(TS)
+
+i,4rmTUffA#V4#04I"FVjRQ),HTEbV4ircII*G59K#c#q#!`S9JM91AdV!#P+*Lc
+
+%m%#$48,6bKk8[Lc6iBQFGlTrkFlkq!36X84j++a'%qTR8DL$SqI[`ld@lXXb!9C
+
+VUIrl6@q4dbX1pa0KU6ce&p@KVqVN6JJBN!!XpY5ed91@HqQp!)l'qE1c2J@r'1S
+
+K&ZK`)Q6$$G[`A*hhFq+IFd2Zf,PLjSI@0ME6a2kH*iHc6E9'Rcm1f1jSKm*i0Mb
+
+4h8QZfF5M'+@C8,8fGkIUidRHeZPimqmUVD)d$"B"00!)`'*Ifef)Z&lAlZ6S6l(
+
+T$pLadYEXF,0SbSKaCNCF%NiQ9h+"!1p(DTR#KdE*KS@D2M9,cPb56(VGf),[TiB
+
+pk6He5mfS)Xe%i),YfRA6!lVq$U@)6LAdFh4PdC0%-3claR3BRlQdMpDVSHc,9!4
+
+6XG(QIQjhmfa(N!$I#,%cmZ`IF%ZCpfRbJM+p2QjRpHc++G+3!"4JSjj1'p[p6lP
+
+'c4P!9mR[IrarM$K!2,L@CqKfTd0Eq@PmKL85jC[XaHVR1Il09-iSZ0q"Fe0AE"+
+
+NhjrYL#cImiIkT!)+!8B!jhILf+%P'Yd&6F)UfL!4S+Y6V8j!)G#l2ML(%FEh1!K
+
+pX*iXQe(TiG1GV6lPUDBd'YAcGM9dE@MDdE5S[EH'`P$chl*)[P4h[lpMJm5ICGH
+
+Sl8-f#jZkZlUlY`Ni6EXerc3'@Yham+Z0lCUm@lPlSr6e$X+Qi*[AQpIcEfVHYHZ
+
+ZPhLap-,hSdqM8q6(dF"j&@I1MeV0ZDEeG&M,MFKQ(DGUYFc,ie6Z,G#0bC[9@V0
+
+"I`kpCl(+rDB"LqGpGRiJkUZrTI0L6%NkaSD!"T*dZCRU#!)-Dl,,4d-!e)KarT3
+
+E[(pZTekQparrbKqQ)f%83abmIGeY5(MjA`0Md+l`#pD@V!pE6pIVdUqFY3-`U50
+
+C("cF'V"6`%FN`aRY+5(&[`Pi$&$PAl-(NBD-kPm!e@eBYQ,pAK+KZ#!1)i@$+Jj
+
+N'QGCm8JHTUN[ec2E66BN+L0M`m'XBc00FYZ2k02)lah#+i@#16QVjJ92F+-HUQ3
+
+*8Re9["9+$9LXGpKcE'SH6`XZ`$CY&N8MJKeSYHYJX[2+&J'pH*GP42I`m'`i#Y*
+
+CXH8M[(CLrdd180Z@,iJJ55f(3&'UJI%!XPl9(BEj#23r'BC2Zm)Ui86Nj$"X0ra
+
+q&fiiDF[0XkX'6h5H#QE`Rl1h0!%(epEkeiSqh`QdQM26hbK&D-$$!Akf0UASZkD
+
+Ufp4eBZR&qXdrrHLp5RBU5CfVUle2(U6q+BI,jMaLV1#K"4[e[EXpHje`R2ELkp#
+
+UL1,E,AfmLp(kmIVk(`D[VdrATrlURZ92FUhUb"4QjRr0`Z#2Jq,KeGmaB2X8rBl
+
+cHMpQ2firSFA%U-kLl4LMb@*YIHTp`1@Yj1#1['Bj2HFK[M9!L*V%R8bq%1m8$*M
+
+kZGYCKL9GfaIe$$@!CI!B0'-GL[VMIAqhBRjJJ4Q#BU!5R$NdN!"!ch5Ti1E"d4j
+
+Y6kKh8k96U9CaMdU)"EdEL`aeUAkApc)Y#2I4PeA@@2#,Bcr#q"!*)Ilpr-&[3-8
+
+9!)ic#80YbC&CABfC$1Zk'k,SeD-0'UC)NkZVG2&j[9ScS6KGj[VBY#lr*$3iY$N
+
+d*[U(YhL`UMj6R8CfKkd2V3qYSHXCiqRSIHUkFZMTD-2d'##'G,eH,3lbKS')")#
+
+430eC1UCBE%[)XDXcSRd*pHTS9%!PHTARmQMBBPj1KkYhkN)3%S2["pEL81,1Up@
+
+A4QDB#+#L6q)TETSKD)"[,KU`eH,9S5cPI)B[9d2U25jDAp'G6aGMh@-B$cIY[11
+
+p)G9h"1RckZ@a4YEq@@lG9fMSF!d8Ye2AUBVDHK&Xd0p,`r3qR*`@UQC8RN,I3X3
+
+fk[AS-`ZV[eUPbAph6S5qY8dd3!6l$KTirlfeic'h14KTfkpMc2J1EFehd!L!5RQ
+
+Vp"-iN6#"`5N+i5I*mJ[Ni[T$9$qY'a!4+DTT2k0LlcQ3!'pb$EQB-RZe)N!Jdh0
+
+YiDGp,`X-JpZC!1LiQRh-hFm(Fcdq22HfrELl)b*XdjE(Mc*1$(eeMam*V0EfP$i
+
+hVR@2Ul8NfV!jN!"E9@(&qCfl2ZBfFD%GcT0VL9Lkk*dfI54cIFM0LppFjf,FJZ(
+
+J0F)!m!r,!4YCddN(fA#IKUiY63kc,fe,k$3i*1[*[5IXD(qH6US2kXP39pMNhp$
+
+kmNIKGDceV2"CkrKEeRpLeb&IhBQ(DM2&UT0JQhp,#AL&1$R3A)0h%65m5YCqTKZ
+
+@VQlT`kIGZ9,R+kGc6hc%@pjJI)Tr6Pdm&b5jBmM#!DAp3"JRCB9URLc`R3f1PJd
+
+Y65e!#INp5pT*U`LIE3rk8r8'$2)`!'eY68p,e2)aTjUP6f9a25XDFYcXh*&*[CZ
+
+GRTpR6PRmL'`bmNCjeYmlB&LhTA2d@5hGlTlhNB,KcZS"2+`p1#j[6SCmm41!rX`
+
+EhS`kNrmMm3Jj"Thp1(dBG-CKcVjX1)GV&DfYX1chY69ZG1jk[N6lPrTlYcG*Q+Z
+
+UARIj9JUeDY5Tb+QM6JNl8R2Y,,GNKYlH%mPl`JQS'fJ$(RcJ!)Ql6"[qM8dm2N4
+
+rNFr6jqRVkHYk1YTpBS,&"T5HKJhYV9dX%dNdQPI!-0Ga,"%&PL"emIlmkGk1,Tr
+
+pG2NkR*r)j26rIZD8(9-eh&Cc4,,eda%lmLaTf02"Tf24,jmLMfTbV'AF1M1mcm9
+
+ZGi[hr'Tq4pr@Tq,pqh6Yp'hAZiE5RYG$-l56MG$!Q2F,R1iqM-$@ISHl3(1phl!
+
+"Tp2ej#c8SIEP$VqA3d,pd!P#e3Yj%[SeUm8k@GEa%9-*iZ54B)i1SFRc(h0-X%q
+
+H9hf2!iXDKhD%&dddb`c2SAH&EiG[clGLh$Y`,r0KSe9b6aD1VAl&6@UDr(ZHKFX
+
+Hc$c)G+*GZU14B1HVYEf6$Prh4`C1$,h22[MDAHJfAQeA&DflP$Z'Y(+DQ1pb)i2
+
+dChTicPLF1l-1[P@,%1`bBXq9%iB0$kF)j!(*AB-eMhN2AHqkVNTj0%9Q0`PbHFE
+
+IH@Vd93`H@JrL[0VflLpa+D+LNrN%&VBQc-&-D)CHd,1QG5lMSSZ1fpqd-#%BQ*G
+
+LE%(Da-l,@!%APFar19V6C1'a092G1UGhYVG9CJ)k0,`+ck#b'FR(3K-D3bJZIce
+
+0!R`Q%"!%"kH6T@,08b4kThrfQkfc%(qTIPPj0rNbD@#b8!V1[,[D,A"Dq4'"%Af
+
+9e,%GA!%&(BUH+c8HY4fkIrkfVKYMG,PiCGcNlQEZ4i,1j,Z@QpSI*`balCZC!)T
+
+baQ&eJV4J)UD6%hbe*3dp[rG8rPUA+RNf2ph&e)VPAeV(V0iDKrASAiC-C1!RBjq
+
+A'Bd08KIa4ITrTXA)Q)EeV3l9LaSIFPpZcl2*MXCh*dlMRLj208IJfq"-q@T`@2F
+
+Ur`4I9UhV&kfeT[*Ye-8[FijU1l`ql@pIcDN8XAeZ&9Xp,*9CYc8LY6dalh[mRHB
+
+$DL$b[J5U+jKEJ+-jTGV&'J9UJ@9))B`EQ1-q*YcM!`)9[`'56*6-l1YNI0ppeck
+
+d39jqL0B*m#DB['lXVkcbB8["0dT(lUF@QKeb)"$Ml[3KMCY,`jQ'1H9JVG5j6eJ
+
+'GZ2kp29XA*I(Z@i&[)5"+QYY6MMpVMB+FG1-b1L9rECrXm@HdJ)-`5hbIVeGA[I
+
+cUHrATfkG*Cl3'P$a"Fh+F3"TSlA,[b@V9Xc0dI#RN!#akp6bm1[$V`U"TYSpQ)'
+
+QGMRdm01IjITH@J%e2,e!#HPe03HP%M9Q9@89fj9iIlpfVbrPf-IYSGRL*X8"lZC
+
+I5Z#)JG@d0&%jKNKLZ9kdb'T"jiMV,2dj023&`,"Z8*R(UeA3Q4XY,m[j5$0,f3L
+
+Z*GbA&Z0L#EVA2hY2r2qGq+EeVR@e[haHAdlA9FA6+mY5)2a`#hp`1m'3!,Q%9ke
+
+DBJdF+#)'$A5-QX"mB,Fk6YH,RCD@#-@2D`3e+''1Td-!PKJQMjQ&1($aS*cfRNT
+
+RZ9,dSS'RLZjm[8`TcA`hpSQcfJ$6%fe$f8k5(TlGJ5!f+HphNB"YhP45CfMfZ)j
+
+KD%NQrbBG)B6bVI-mE6Xd+e#DKkY"bKSFcNCe6F,#FPFANB9jMAGF%hJaZP6RmRd
+
+Y,8SDQ9UFc8dr55F-NiaK!8,m8Z6KPPdVm4r[2!)Rm58@'Bf"4dLYahC45',hkae
+
+8A2ILi)Z#,hcFPCe`4RG90B0&q+aPBE1MFfM$#Z4Cd9QKr'SJ-@'16NTmBbGmIV&
+
+a-90ZV3brBZlG1h8PjeDNPbMai$M5XqlC1Ur(A8&CI9X!`"Jqq,hV2Lf3!+0JJ'P
+
+VG40b6S#,Y@G5c3mIm,""LG`,bEM(%GMMiR))X9QpCpC`S$FD`865ij(G69Ia%!d
+
+(-RfIj,QQk)0ZK06QcGIaVN*h-4jjaHlPReh#JLNS@)[i2"l1Dc'42P3c5HY3TdF
+
+K(L+D8i%r"h[!amfIq30k@`S%K2+Pm`(I#1B[Q3kGqKESH03I56k9f1&Km'eQlpR
+
+IZF&$mUKck)I25XaH23AIp(Kqj(ZkYrj'lVqpUqhUpH2hSrETeQBhEAU)Qri*f6q
+
+"KZ'5e%I5kXr@T[LG23iAED)"&0$-2KS%I(d*r`X(J6qC2%q431Ja2qLd3"S)VYR
+
+hIK6CYQjci[q(#5T'fY`d3,MTr#er!eqCVkH[3ek!"%cDQCYLEUEMKc-`C96+UH&
+
+JdbmJSGiXZ(Ek#5iG[38$A8`JLSqA,b,'djk1KKkNkMU4E[$ReZljU0aZe3RFa[e
+
+Uk)$+JiH'Y0jX`GeXa@E2M8f'HpL,9SB0X23Sle,Hll$jUr(X4hUe'BDe8"*[4a&
+
+h,KpbY[U)2[F,eZCLaZ@-""imU5m8T49S[mH&L$eNrRbZYa-+Te-)"iDZ#Y"(JcM
+
+5QM[DSirFke-R"q+a6`F@aPB1EBq[+[V[c0A5VVcY$jiS0EBqNShD8&E"jVF`qcJ
+
+MBEp6@p6"%'pVH[qNL#T["d-E0C[STGi'VYcEe3cfjPB2d,9+qC)HpCZ4jc'IB(S
+
+ce%qj4kG,k0EXqGb`qMfSVIK-rVB+q23lE6RC+dRR,@qS6qBh40BXhYQBP4rZiN&
+
+D%%#TpmaYJj@XQVYqa3a+0rL"!HDhqL@6UXE'XhiYrEi+(l0$fD@r@pRcZ[a1[3T
+
+d$TiUZEX2#9"c)`Jp!BT)f''HaNhFETrf0h`TV-eN3am+cdl-Nd(UVK-X,faGErI
+
+cd-529(RfE(McP2lR`hH*&h)Yb2Fiq(REfY[90iXPEdHp1)`V)p-9ZlGMhcX9rGU
+
+HrNm&6pSXfGDaeG5kXZIE`@pqh[lHrEi2&,mdHV4c$I29drNqYM,())KTH`*&,5`
+
+KNGfVa[Pe%L8YL@iXqGK5d(0EQi0Vec&e+%kd)h,bU#6DP+@NZP,e!#'-jUl@V-p
+
+ZYJGQCMDb6E-hQlAYkA,+b6GlYqAREH6UUH#c-Na&ad!LA`iZVJMh*0lc(2K4B#'
+
+i'0`k9VaTYVEQ6G!fpUe-N!!Y@"HI$6K3-Iq$lj1Cbf`I53D[6hY1(8q$bCh6J-3
+
+'IFKkHpF6V59NQm(X*E!c-+-NUI5U'8G"PZ0-e[a)kf$,i-e(ZA"&qdB0BehDLcF
+
+Vhc['pDR3U(pj6SM*bAkZFN3eK!%+hE"G@Mbimh"QL,LGVbI)BCl)lNk5$Y#,Xdq
+
+j5l5chRd2dR3X4R3$0if[SdR"!jATc,pAVe2E**h[*ale[9*jc#qJd"jG3QiZdI9
+
+l[)Zp%#Q-faZL'HUCZ(05e5pGAT4aUDfhV90EmI@q,KeJ%'(+J%e+M'DL2-C,TDC
+
+bTZrh[!LjNC%1mDKH5PH[q!6FLfb&@kIfN!#[Ra8BQ$q!2(MfadTP8qrTq"c1CTD
+
+ITTr[k'+elFZXU1F0h,hHphFhGXhlLK)8!CX3`)DRE$AjGl0Jdm-4R**ejmbI8CK
+
+IZ(2m&EJ3`@EJ$"*%[BFrLSHPl8rITHaXqQqV2MRq(4kEKfle#I@8i&dhlBYLhXT
+
+@DL,@JB%G%2Xrj1jZ,$GY86PEbpV0Y(+l0&YUq$AG!,@AlV%(Zpe[LDfYpM*eURj
+
+XH[([dbMJiJp&*YQpc@l1A*i'(0)eckM@0S3aB&1I`+SdJ%DUj&a+(F%AL)PPBHr
+
+Nm#26)0TX$k9$dk(SZL##kBl)))r!M%IUe$[+05M(5B3&U@e(DacREcV8HI'Q-f+
+
+!8[Cf4DKE3H#GZ#T[X+UD0iS0`hXMjpKE@pRRbr(J6r%@1$RF(j!!N!!VXaMT@ek
+
+E(5U#!pQjXqpb-*riB0E"4[3L!%EAb'*$PlFFfC0(imHjQ3Q#N!!-f8I*ISj+2N(
+
+hdGT*6ZiDD51lKmYXcXbac[DrVDrrIVrmJ%EfZ!6DrKQrNRHUj)Uieq5$c,m1lSI
+
+FKp[-qj9hFcm%2l%ArRR+rZ2B0khEJ[CreCrCKhkhXG,deR#cSC0kYUm,"DNcT+C
+
+-VMXITXj(@cD*"65,JYF'G`FArm`UTYXm"X3e+JiG339imU1K(iq#Z8G6cYUFE$X
+
+39il%8Z0C9G@e)Fkm8PUjRE[&`&rSEX[06S&PUVUc@T*Zq`46Bq'e0iC2#i9rCY4
+
+NY8Bm94Z5[hhhk%l4aDrp2*j0(Nm,NeIiYR5MkXI9TiY45qjBI93KdEr0-c$&*$P
+
+1(cmHRIibB)LY'Uq(+),HMk4[)V)QTkRRqP6e$VkSXJQej-SJIk-R1$Z-FPcakZc
+
+UL[)G$9AhY2m"Pm,YKlK+i!D#`+*lc0b59L&EDhZEMpj2R%`LQCfMjcGeXkKldrM
+
+fqhc[DUHeMGLMqc8pRd0qT[9Ip&Ah60%3J)+hDL(S(1R8rr$&mZKbDIPqIri8m@R
+
+q)dmebqC0bX3rlHpR%kf(j%AUdjrrFcpe!-c5fR`C&qV&mY+UQl"l'IpG9q2eYQm
+
+c6@#J1TQe"c3b"BK!-'J,eb1Hbq)NY#,YUeZ5hq6Zd0fLFfqbT1,rVPqEqFI"X(C
+
+Y@2LiBc6cLhpRIMkbR`,9!""Aif'IAmA$cUq5!L1@5cX4bFb6q,N,PH5DYE9SkfM
+
+q9bIN5kXAfD(j96@%)'%!a#$FV$G[4Rf*r-pp08#RlrRLMP2hc-F9`hDMcV%H'dF
+
+'RLB%CTa%UZ-P9M-9@EFNGD5+eSi+qTb8QL)P!!5RU%i"YjE84[Ki-JidhD(GLNU
+
+fUQlARmKQ-%2Pcp&Y'Na&2M'd%-G$`J09HYBdi&3r3qHV*mLamI#RAe8j`m`pI0R
+
+mUIEScfcKaadCeQEJm'mhaG)L06FXBE6(c#cTqC2m$d[K*L4*1Pe1,2j%r4C@Ja5
+
+*3Q(q0GKE+Tie5j9Y4qeAMmD+Xc4h&qD1(i9VQ@XfDiaI'h9Ze,9K-H4h"QcEhJh
+
+ZCll@&leAf+R9XG9QK[3`a9l0I`DqESfIAd`(+q8RF@Gb#eBfdT!!RqpEUD'Br3,
+
+!dPUGp(MULl&(C+,qIJdaf3,Q'MNB*)q*-LPFF-4PUajP40*ZD2(U8X2L$RH'p#)
+
+e+2jh-`@Gl2hVRVKmU65pkc[A1c&r&@p1KmCP@0+fP1GQd6$#6(PhVKTMRX6CC3'
+
+dX(`KQ9c,qN+pF1raEI*mE5XiYE&QjJb'336,ICf6QIaBH*4UldZr0U`l-1pc$d$
+
+C[h$h3JNPHp!43`j%rdCpGmij%ICe0EdYEMBDQYapEd0DaV6rX3f)NkQm8KRKYqX
+
+2Q0m5@pih-E0H1ICKCI8R3f0V%q"25rYUQ#[6[jF1c&)j*2#meG[9LhU('Sf0ZdA
+
+Y-I%PkG`1A,)5Nl#B-!6iXNN2C!4a,h6[5-Q83`kqhV4m!i)rGkRFU(meUEfA[E2
+
+V5I3JqK!V#Eb3!(-N*$c!dHHmiNF'3ZSSNJ[%(k1cHHGbb!D6VfPDV2J@,F1%RBA
+
+#PP*4Mk#jVD2-0j0!iQ&Qk,M@HpjI5X22bb5(1fl1[B0)q6DNej0I9eprDhY'+IM
+
+ViTX3ielH[KmZEDQel1[(VfGUc00!b"GLb'DP"dHlcBUFAa-FZShkF8Hr*XD2Xm4
+
+EFKe-C''j"i'$02XA[E(JB2d*p'!bLMq)[!r*CeE1p3aqppHc[*LH8a+CFER&Y)6
+
+ZV*iPHS10mlXkU2ap@6HdBFCcVe+XPUjUfERJBDfVChr0hk%D1$T9@ac,Nl9U5Q5
+
+0(m8Ek-K+*`5dU5m)`kZX6D(NbE2)dGV3R1@LhRFL(I[F'4BT,H%eX8Q2L5GcDh*
+
+Ya1MrDpfEhT[EQl28MdV-ram99&BY!K8F,lY(2S@ile2p#a+N3qS3,'$r%l3L&(a
+
+[Zp*D#YEY3'[qJHD)-9)QQj1hmEHjrU*C#R"`$i(cDc'ml8bd%,m$jS*qT(riR$U
+
+%[mXcP6D)3#!%HHCJPLj4q1X1ADVc9i&H%Uk+9BerXX4dZM@)U`S"%!NX2MX*q(3
+
+-,A3@Qa&"QGfc&j6mr`JiV6AHMY1$ZV$blmX-bD(UkjZV-8bZT$TBrMI!RLdHKj(
+
+ddE+j'BhVfcYeQl*64j'PAfjCME%fSTXk$Y+TTS4cV05c5QKp1lq2L`8SD@"$0QA
+
+1Al+NmNU+,ALq2(dH2[mkTV9DP@T&acA6C"PKKfbm$(3K96q2K6QNUE[(hDC90Em
+
+$3hY[kFA"'Bf(3i0IJUrq0Al&AJbl%HS[KYLfVYXQRAUF-GR2NeT+QV8eDQpQ3e'
+
+-cb'(6,GQf0CbeE(cbDc8*I`9ekQVm50,qD2Ehb5lqlPlqE[kK#P-N!#i'dQSXD,
+
+ZlHj2$#4BF[Hc6cd5Zl3+(E&G**p1r3)Yr8M,ab2QarQ4m@QC0fP6p05IaHKSGTi
+
+R`Nb1eeEAlhPIIQiYT@TbT-XES3*ZXp@ekhPIKY8$Nb9q&2LaiYUj$CZJ%iNA$b+
+
+[GUPYkBX#'&UYrhMaQLCVhIM`p(LEr$je@S*+%)L(B&Ee4jiNR6NLl'hr"&fFU6,
+
+NcG81!hD'24RVV$XYq@+me6-*RF8QCJR5(DY*RHdZ1ShQF333He"`)kA(+$hZh6A
+
+Qb2TeG@a[@KR8eT5R"kja!1L"pKkIZ+Hj&JjN2Ha8N6GUC@%UVaYUVkVGb81RM*J
+
+QdBJ4Z'bRRp$P`jXZQjZ5MM@1H#"G6b`P3*-GdrSLSpKraEpX6pUH4Rm&LmQMPPl
+
+QEeG2Ua+f3%d+mPHhAfUmAldIbE&IEVd+qASJJU4,LEMDkh(KX3E48I#)KfiJRb)
+
+D%!X4mha,8GfaeHT1LR4el&2ES8*fA1cCcT!!!T`KPpT11GiCq26DFq2pi-cGPfj
+
+ScqTIAKMPhjGqAI2bG$jPI6iQFp`Qekmep&FMC9$l32-kK,1KiILFhhX@V2$l%cP
+
+QE"+Sr4jRE5[rMpc[BIPA`'#lj'Ur&1R3+ib[AIG'FNq,3ZhYIJerAerAelf[Hel
+
+fM4C1mCReSjKbCA248c%%lC&6pFNHP@DG"BRLG(9[BqE)`HI5Al)+&01b!Da6Vj2
+
+lh8jeI`5lJThI3Nj9MNr`5pRS5F["+FX[3X(PZ!L@6b9%!G[Z`pfMZ8bLFqC#EGf
+
+$&Kq0J2,k6SE%Za,fCIi2MFMP9`HK#q5VK!a18!J3cr"m[95i)AQK[($)ZGC2XCr
+
+3Req*Ap$-X2l(k1l0!XLpL,2LXD&L[Rel&HaA3&0F)cmr$B-D[2`-!`"K,f`*Fc+
+
+2jmHK(BNX0aVmq#`+Yf$d3e'5Z-@eRfl&faHd*pMh`Im!"[AXETCMkX++EBZj6Pb
+
+IHMhDF['r"(5bI`9+S"1,NrpHPNMQT$fZ2a+KHDmII2jEK!3QZ(qaBrIcIpXhrmV
+
+H0VX!LZflG-p#+jRKbN9R)QkIUmKM9+#-1AjfRQkHETlChE-"9M6cEXfLa94&*&l
+
+Uc`CAq%[M9*NKU1#KhH54S+F@,Cp'1R"6R8fm(8q4,J`U1D9d!Uh1YcjNCMdl6&X
+
+f#"(mmFHCh8hiFcZ)XFR'3L$6I)aFeU,-,6-Hm!D+#bbb-Lhb'"KhfYl0iNP2N@&
+
+T!86r)AG#KBS@%!P1ab4$0i3',(1#J6V#6%E4Hp2E&[FX%!%p[*X2L5&Q21MeDIV
+
+FV&Y,5[D8(Y-DB$-&qDP$$Rdq!8HLX!a#bG8DG1JH3m%aE9lBRd)'N!"#!,kGS2"
+
+!eSjZRm4+IU)h2JJI8MYkI!(J9%5J+qNF-3m8IJJBF!jfqFkE8eiEN!$SaD-HJUR
+
+M3q(laaH&pC+"f4pB1GjX8l(H*IHd`fIIIeE%r-lX%Q0D)JZ`cGLF-r&2b"hcbrY
+
+c@)E'2pZ'`A`$6[f(1Zl)Hr&[FEqe8(@S2X)$%Rp#k--@kqYRkPK9)-j[p5&bNq,
+
+*2Jm,F**F()lYLIi@'h!cj1)+Q$29m+J%ca*e+A'4(jp6N!$QX35`-qH98V@EDcb
+
+b4%@9-LejpZ63B[KGhkP3Cl'P98`9)bmQip6rjX3@*c1#'M$6qP*Z63F+#RGcTYA
+
+Gic+pF01V6CVN$r#l(2f$1Q)#rJjfT1S$#SJ$R4GTXb"'6P58am@Zd-3CNBQGPUp
+
+[M(#fM3Rk'Kkd[V)"0$eT2@NpD6V@2hp&8[Bi")8jRB+1H-[Fp3B)q+"QL#I"K"!
+
+SFHL#cSXi)i%Mdh3#CpD#VRe%"QM(SU"R8(KRJQSNLI639M9ZHc)0*M%NPUB@D9H
+
+aaIDY5f&CH+cm6`,MZrCKlbV8ifqP9qV(i-(LUImMk[3l%)QRG%diE&@aa[T9CrJ
+
+cj@L!AAV@0@aUjjS)r$e6#Khl1pi8AR`f-4CBU5(2-r%N%ef4Jb#Ul'VSR!$&JZb
+
+kFU!3"NYhNaFQ,5S*V6iXNPQ1A%`p152XbGRBl01c8jD@Bl-RMX,k#f3"10pUH94
+
+kK9*k@Y9eXVmk2FX`+)-8M69MhRkIVd)DJpjM@Fh9[@)&6E#HNU'3!'cl(S(KeBX
+
+G)XA(&P2D2SE8",R`cTr8,!&-cCmAdX8pDkF,K25'U3HdNq6Tbm)rqZFPA['SckX
+
+(bP$mFPLX6hS$V0,`UpR0RX0$m-PkYKS4ckR6rGiA[am'GeiYq(U`Pj)k),9Bm$X
+
+6"dbi*60DYRZ5kA`Ne$R`pLlpZR+(ZI,k0LMAiR0SCY185ZErc-A2d1aAPd,0IPD
+
+&H[ANjXZEbTI4$Y'0Ga5Vk9hlFGM3PjYRSbjK%Yc1E6#!iXP4Pk2S85T)BrZYSGB
+
+Mjdp$r0*qa*`5EqK[bEl2Qh'V+mh@QGPjEiT!UV0hhD0fM&S'"pQlhJEfG[5EfJJ
+
+%l+Mr&Lc1ia-Ym6EDQqN$+lSk+!4!)B#mke6-#&!4LYR"Cq#AGP[f3#%-EhV(Cm3
+
+8jNrd5Hl)ZAA2kQ'D1jYp(@dpE5eY,p$5qCjG[6e0%JQUVXd2ah,'VKZ(K8Q-ejT
+
+fpfX"MJ*%-1k,"Th$D@qcTmXmm,mhYHEf2MiE6%'X9C(FpNMZ(NIEX@!#,(qBaHj
+
+!21c*6RAdYXKl+2)NiG@iqD#9i(dA2NRbjqH`$1Ja9j@i,a1BA`R3*2U2Bf8+4&U
+
+L2c([Nl$'iebd,jAVUq&pb6GNhHAq#AVbpIPrJNqK*qaiAr5dRC[#2(rARqad2A(
+
+pAUaEPhm-AVRfckmCR%fQFEAD(T-F@p(Zm[hjUEFiq+(9aC1*ah0Kj6iA[)!pIRB
+
+YE-lE(TM)8[cIIHCkL"rTj$3larp-rk10f2arh'2FqIqUdrekIb1cV9$b[[UR[e9
+
+QZMbhKB4S&$cHld8MPGd9i'@Dm$6IX92RZ#R5cYl9hcD[KTR#fmi16pLMVk(PHl,
+
+2jI",`5S"1#Af,2X@1#[ADq-2X#TDjdfYZe-16Ze2E2NRVeGfXhHjS5aGNE&f[Li
+
+G8e*DRpeAeb2Cf669[4lEMm`)#GiRVp'%jL`cUmfCacYh18ENFfrUfJ)laE[rZUf
+
+)j-N#M1GD'3h,a[P@Nm)d,D"bp)"&"$(jDN"R5IPPZ#2H#%NMPB2Q%!QkbRATmZZ
+
+6Z+r*jN[lr*ramVQbejH6+XNP*N[#"&cEr48p06r!#1'IhJr`PH"cca"GkIm5D#h
+
+A@eDfpi''j$3r"3Ud+S"M,5BUe(AihhkFk[TG,Nm[qQ6pq6k!"[S5IIm,Uf-9M,N
+
+c*[Y5p(a`#FX!NXk@FJ%!*LbXCXPk3C-'VPHaqKb1(I1T4!)!30ZX3S"L1US1L*@
+
+mE$6Y8j+G-k-jDG[*kV*i3Kj2bF(1MeR)PJ#+["@EaV`cm8i1+'$+U(LB1h$NE`d
+
+,e'p5ERR3`iTcVd,q8EMj[XSK[#DV1p3p5LTS%#5(QFf(SNdY(T5!4J'DG!)EcFc
+
+NrL%-kr*r&bFANiS$*`LDYK5J5JDXAaF1ZFCh&`Gj)3E-090ZpQkfPCJZ%4qjiH(
+
+@#@UI"8pHTki"Ve5Lcj3,eDj`[q%9bYFXh02rH@R5p,3)*BjEaXhiplLk[a*0Il2
+
+'ieABiZp9cUXe2H*TbAP8-0,&lL+"eZcc*G6N4@XM$3LLqZ)2ICi6L8&[&rG2jKr
+
+2c*qQ(d8045NpDK3STSS``lSI!'LbVr-PdjU&q,IS9!q"jl*E*Xk`f*rPrL,`jIm
+
+j8eQ!DSXDa'l@,pH+,MIJPUH2pp'bF8('lXTH)irGBpb5rS55E2,2dmNSNp5ccZ8
+
+MTjA,@'a1mAhc+!Y'UBXkUK&2eBG1,4cP6J*JKIM2(@!HX0kKbC5C1S'ji)-`b,X
+
+5#Pl(pl9a[0llfjrqI,,qHFYk84GC"SG2XBJ"1&JU@0MXejH9b##HcHKJPmA"R$1
+
+[(`cSD2MeHlmRHXDScZqcMUHpDhj1$+&&X51GJ0[q2cc4j0`6$6J4,h'Rq,KX'le
+
+2q$'3!*ZIk#*2I"8R`ZIPXk'GSHXD8G#M3Zrb38&Pcp@6Uk(d'Hpd-kI1d2k*16U
+
+kAIrdmR5r[D@Rr&3aDC!!pVAp-#`-1VQI8MpE-pC!*&3c2j-dJ(90'VSmR5BXhGq
+
+TdG(8djY1lr*-!Ebp2b`#HCSfY(4dPJ*"2j(e+hVFQK2dl[hTp#ajhHqYMd+29UD
+
+25j1-cQAZiG'64Nmc23$H9d'!bh*-epT$2r[rDXDfEVH"pM08$IMe-hpUMVe2Vm[
+
+9Y-U4&U6F'QVZe,(DXA*I'dlE'04qC6Mi`"%iD-RZe)UN42%1dE%90LIZjIdSphM
+
+rqM)01Kh@@-685VE+fUBiHYYkdfZN1C!!#(!-!BjY2ACNmlLG`i@F`6db&fqYb41
+
+,l%`l8'PJQ3#!%kNr5RL&cHT'-$YUEG!h2)P'l0IfJ#"-pFq`&69UIU$ZbjIZES"
+
+)02"diVL,I*dk-K@a&+iTC%lJ`B(!BlMYid26ZfSEH2Gk&b(HiSZ3!2Z#E*!!A1R
+
+Zq4JZA,Qpj(Mh0UjZqMFYjaq!rlf6IjB,!AdRNB05`J%e,(kJ"M9Fc@HC-l"!R#f
+
+F+FdT`c`+EhG$HSF#L(%l"k*J+kGm!J"VKXUkGm0bAG93i-,C,cR2cl&L!b(RkUX
+
+1'VIHGFNBcRm4dhZRJZ6lQjF[kFPbaj!!6UEQV"qYL-r"),IkPm1De[+`h0c6kHT
+
+&Y'['kIhMBrpRSmc6cI+rVdr"!0pl6jRTFc8q&$lN9aR5RUqMelR"Fhr)`h0qjpL
+
+j`DIAp,HQpQ$pqIp#FNFA'a2Gp,c2)qaUDb!68UHP`DRjXrrbad4B9$CH6(ZTB!i
+
+X9AkpA1if4ba`1lPSSHaY('eTAdYS&YLrT5'h9X6[CaP8`hB20fSj["QpfBEC6Eq
+
+PJfq#EpS64D6blf(@mcm9VUq9q'iEh#!5jkecV)hrFF$PpD"l4TJQ!CFS*IHZ#"N
+
+-D1AUB"qhITbprIfC*%,rphL-HcP(2MBGSF9(akQ%MBipMjaK2L@dUL",c8eT1S$
+
+a##M0q,jf"-&GL5i6P`dUX'e2-bfr6)cq6Kbj0Pe&L1QKIfqTK1-!JG96Smf$c$R
+
+6jkX$&pfqTLQ4h8#&51GfmpEf"Q1,MpbP&a[lIPcb9Zc1f0$PR5T2M)6&6-"*Rae
+
+-&Ji6'+-8UfFUj'KpbR#2dXkIDb1dPM**S5#,'cP8@(ddRCUI`3pMmDc&Xm*NXaQ
+
+4McfC')q1[lHl8[e0fS!DAX9IELpQV[@2p&[h@B!!hLrXTmcUC[,rVj2Jk@Ei(hU
+
+I-jR`Z9lPZiP(&lfDB+N"&#[@#SHY41pDBh26UeYbfp[EPh*GbA!Pb[NiDeDY,,E
+
+YYM$0)$e+RGUEi3'r&KUlpMVD01Hcr!))"ppYle6k96X91aBl&Ak8@m'LhVE,k-r
+
+2)Yd)$F)I@'Ah+[qQ,Xm@ANmLhcQdf*M6p`EG3-p[K3BD[0LjYAbl(!C0l)3eU,D
+
+0)33FCBbXF&@cPh,(V&F98))[0SIlSY2EZC1'TFUIS@2jH,FLek[bjG,4m8QbZ'J
+
+i0Y*!!3"Y$Q6F(K'e@c*5)!1#AJf`#"hd"rjl8YUYYeTiH$@9Cr(RMZ)LV6F,TdS
+
+keMcX*J9DmA"c+E1)#lZ@[TfZVG[@SI-hCY$c2HQK3#6F1DFbPiD"GHGD2Q4@*cC
+
+1GrQ#SrRLLD&IPI!QVDQXDZVUpe$9%%qd0C1(&cICRqe5lA0pUIl0,eHGHAD,82c
+
+[+q"aAa0K6'6LrjpCMV0HTb5Gij3h50%[p4I42XdV*Z#Il6eN-%eR1Pp1Yf)ICSA
+
+&`adC#e(Q&mPbSDiUa1!5MDSf+0@TFXE[MV5mLKc#EKQA3#3djUCB[a5B*6Kr21B
+
+KVMP!*DUA+HUmJQPafUcD+B)##B!4)*ajD@DPDak[LceDY-a-kNGA"P$3A[0V[32
+
+R%*CYq22@)-B41YVkq[JAQbB"X'd38)2AR+p[0h3E14R1ZHH2Pq@Im50Iq*H1IaM
+
+GNm`$m"pEbjYIEeriMre@6MGX`HpMUFmccJmZQIrkEA[HA1epVA2``)$DJQCU9aq
+
+E6rhDqQ%&Ferd0IqAblQ[VlAjmfP1BUeLfScUE"lc`Im(Pp3,h"0(14jQUM10!R!
+
+XJ%!)Mj1!EbcV&I3qh!cTDCYk*iT8G#lTRTBL6&ATf)2U)(eV&DprA3#EUJBJi6H
+
+Y1SBbY0jmLrI62rmVP2([TD#Y(b!hpN59JS'MTp`LcB*EFZS(2,jD4`9c,6fSp,$
+
+T8qT6d3#D925iXe6DMC(L"r()M(#-))"%TXFXbdf5r,3S["i@IALX'S"i89H+[&c
+
+)Z9RmRFZ-j[S,CIZh,&baFj1[Cqh*FjGmVQ1'FKfpZI2fpZd"$EZf,&5TMBhHpld
+
+ZPBX3N!$-EiTbdcXb6$rV5%jh2S58*+2Y8YKQ(cNNPH[6Yf+8e5acDHV#j8d6'CE
+
+8B-)INirM6c#M0Ahb-%ACSFUMBLpU*6[4U9+pm-i)GbVmZVBPS68&P3iYU,Ek&kG
+
+,!%2d0l%ai)+Zj9k6SIKfi#iY(,&mDebEA*Yr'YmR4P-i+'h$EKceaH0Zr&pD,Xa
+
+GRLHYdr@VJrjNqcp5cTh+$Ckm%80hETc84[04fZE0""bBCIG6##E,I$11F%P,fBr
+
+9qA`3r@LpZ2ffG2Z-[,UGLfl6QUH*9UM0q'cEH%mVD&p@"jd&RhATIF%@Y&Vq$(Q
+
+i-fpFA@KCV6QCZVdq+'KJLY@C["`CXecG6lIL[aEX@kJ'HC'RJbH!Q(U96c$Pl0#
+
+@Mb+9KRVHc*Lq&$i"Lkh)#X#$!T+TF4Bm[h!VYci8'EIXqhFkj6cP-MA!BHMFM8I
+
+&kY#ri-ZE+BfXP&-J(X8-fM,5D3"@IpL,9jLP%P992dFS68k13V089a&GG@6iq(m
+
+fGVILeBSkJ%%N`,PTBZcQ*q6,)aMRjRdk["8pHV`@HaEDh4h)Yl&03a0"&-4IBp0
+
+aK3j[P4kZhBUGdcU6GdY[GF&SJ6ffllqcBE6c0*PALM`3%3X3qfapqPD@XD`M%3,
+
+2VaUJiL`@55#Sj#d[,h[ZH*jqV*'Q3M$m4A'*N[`AF&#$K6q(KbYAcZM3eU(NdEP
+
+(ar"k8E'UVXNV[,(IB23E*1U&%U`Vde%QSTY["&04hD@lhf(cB$(9Rd*r-`8fC51
+
+'K1S$BZKKiG1Kq0PHAc2ep0-3+Rc-009d5842Tcr48$8m&D$1Nq1V2V92G0a2bK#
+
+Rk"`Vr$PV5HG*3'R9(f["f)eDF4ih're4lhSQ'I9ZmEHVEfbIcHRRe0cAY@9%#3k
+
+pY$e)+1#PHVB(Km$-l%0pIS4(rK`8,($XC9McX%4bMaGEQ8kLZP'b#qCNremA`FV
+
+0j[-q2pkRm+TQeHcUh*'k1&#AU'6M4pbPjpD6c6L'99Lai60$"N`RUB$CVh+Yr+N
+
+cV(am*PfA09[YXaCYKcp+$[X(QY@EXZD9pM*pqTBfmh*rVTdHqrVTj[RjY-3pUGM
+
+Ae'IGm5Fqfr8d+GZ6X@l"*TUe)U9@P9UFMBpeKRp560XH$GL2IDY0PcCYR0Xh)b[
+
+PkY"QLK$,Zm@A[+YhGKPT9H*$aE[&-6LD%0ff(BES`mB@0J,$3BRGAYDeFjKRe5m
+
+Ta4jh(pfTr"8l**[%3,(qM8pf&FED3j2*,NT6HLkG%SL4DFA6hVMQ)fPaJCR5jqd
+
+MfjpiFDiIVZek-PK1+Z6f&UVje*mL9J%LhSGmYNJH)b3mkfFaFK-kGM$pdm'RUHM
+
+UDHTTrNkGld61fFaYj),A6[!GRkIT+(p4342R8@01CmiUjP4%ak5*#jMk`3!BICH
+
+S@[1j9'cMChir`al2Af88j6KM$P([+Qm'+VF6k'K4@iM,p+AX5pM3qP#A)cr`kNL
+
+Y1-qpBQX@E"k,NEkTRi8["!*6CYl59Pa&2K-AU[Bd-m!PL[Rb@*E&LabE(2e0KaG
+
+3XplF%8eEdqrdXfDbL@pQ+DKkV-1*&C!!%"I"jHlQph0UA*B[VF*"&pAK+HkYk&j
+
+9qFZ@4a1HK`,hJ%#r9YcY8)qrMlk2`0SelScAZ'j0"V6IKB0Xh(mU([i4KGLkjjc
+
+LcL[ccfa-%%H!9VqAf2"p[p$fG3pdS[p&$hBQq#JcB`"RV(I&,M0NjQ!ChXC0U2i
+
+e1G*"YE"P`CX'EJ(ZlAZVE8hfSVHhESDf9UCHTQfl2eI)r0-bZf@ER`pdR"$*6"Q
+
+cmdNQNi$Vd+Y(*ERPXpX%pXQr1RdDAXE2TXcM0f"Q!QkUk#rk-2kYEGBHjMpa$p-
+
+E1d$Y@T9[$qB`rbPl1GkM"!E!PR3pZ%eJ)C%"(%VF@2NjdfR$p$&CkS69I*ifV9f
+
++Y[M@qIp*U(4ERAk[F3mRhI5bTrIqPi'Tc"AQKk5,jQSZaXT&NEG1+TCcEN1fR"B
+
+`J)[9cR#!0S3A6hU1VPbGlUfGlQBrNB1'[LddJ)dJ!lI"4rCb[Cbpr0pRQGImRJ5
+
+!M4TdQ8hJ2&*lIS4eURIiFh1cHIFq3(rIjD&4YU4P*i6J%[Y[`$91SDp#j4dD1M5
+
+Bl6)iJ))D1*Phd5GXbkEA@[#CNHTIL`lHm2Tj1IUkrdkHM8l&-T3Q!hffP"p+K"Y
+
+fSVGEkHAZmcGcGfiN8hGLkm5k1(YEIYMeD6MQpkEkmRb#+G6jI+X1bk*pZlGM[CR
+
+T@06@p+PU3kNAT$2@IDS`+GpcpZ5E2'G1IkGL$2`+$#H$QfCI(d@+1$LIBJb1iGA
+
+GqTFSlf2&SIGaiU2VFlmr'CK33C'!c1lmN!"jPq'E-r"1Kb2Z6SG$m8l&A0h3J-2
+
+KAl33dk(-r"9UbqhNHp$ZiQ,$r&@j$+lHCJm+rjLKkH*QC'l1PaTUhm@*rHT)UiK
+
+!B!`#GRGq!bLV%ZKpcNmQcqrSIdb)3!dj@B-QA($[jIXp,r41ph'qM&[Fle&a(,9
+
+V1,mHG$SRZG6[cVG#@R@q6&AmH[H6XGaC0kYUm+rDPcTFP0pNLGE(5Nl&I0X(ZQZ
+
+k#Hi8ICJqLSrAi,q6IV`eiDp@`VY)hIB+G1IBQQjeLR6J*0NFQa)"PX-k5c@Pb#G
+
+PiC&%C[J*pEMp(0U,R-9m&D'+rDKjT)0a-0'G9q$C4-ITdr9laA'fM"c6,eRAr2-
+
+6R(`Prp,k#GMd+9J&)$'bZI3NmIYmfa6d-AjG$fq0,jkCm%h&h@@hkq$+'91LKTX
+
+"pNNA,c`#%ASqdf(!FiJ[iQ#hBj`CJ`,3RR`i"$`+CZ`me-&D5KBTbqKC&9pLRZG
+
+iTrr(llYa3k*p(4`B[G&FE(c4FB95N@3C**@Z4ESI*[8iTrUaGfR[HKUeC)rN4qV
+
+NUFp*[C80%9ScY@29K2[R*`rj%Z0Zh(6mX,MXmeGmj$!#liL!L(`L)JJj&qX3QV9
+
+M`m05`[''m3H83H2JcVH6EJ[D-riKXJ334@q,Ar2MVckmq[JBFpm8[UCdZM,c[FU
+
+qH(I&l9XEeFjlr"9lTDJ%H*iHp23%2fHpSi1D5KTf!&''S%UA+i1P"BR@*eGLAdR
+
+Hf+0MaF!qX'`0$p1T2rb*rldDXZB"'p4Jm$"i*HIkGpMC'V*BNX-qYB@GKi)$XGZ
+
+*f-iDX"P-c@[8@'LMCNkXmfji1Vc-0be3`8E9,"9Rf0feF0ipJJfmfpi2[FbcCMZ
+
+)rUR*TEe,dM2[5(3pdPMe-MJ-Q6JjP6'1EQY$9Z919Bj$0MD%drXbrC5-`0C3#BB
+
+*d[@XDG[5JCUlapli-lYBQa`khKreH0BSGV%Y8Zk3!%(fS1dXBmP,5mc"Rb@6GPT
+
+49S[mDDFPb+)-FVVLhDPPbX'9$bEqP$`lr&YmQA5VBX@,ir-[-q1C,NRJ#-#8C+2
+
+ZCIRf3))Z66KqBVGQe2P`PNNf6IPhS6"-UhJ%B)CV2Tj,%IN%("&`!Ji)H!%"8aQ
+
+*6eNViS)0,"c"(lQ&j(Li1(2iZ$Ncp)C5BXrQ0C1554QGCGZ`Mf%@DXE@dJ)VelY
+
+eE$H,HfrTRc85[mRHp(k5!UR&hmARa@,U$l'Y35Q$,DLhD'$S6daL6',l2SfE&Q&
+
+Gl!NelDHNYLTm'hlP6h+RZGjlRHrq2S@)8Z0!Ihp[I0ZMITal4fh%d$RjIb0RVmM
+
+M6UM*C"PDJIMM!lY&*V'!CPal06%CPlE@'R-(64afGVkZ5ZjKPhYQm3a%5e"j`Dk
+
+Ck8CRN4kp3c@3!)icNh0HZ1,-Zei0%L$(L0TaDG@lBdl'RSkHMGdAGdZ,)lNlFaS
+
+L*C2*84+d3#-[K*fiQir11KShAlrQrpkH5D@Qh05h%Rp#kNRb@aRkLAYbCX6!-Yl
+
+3PII)`kF2-`CXP+5X6er0@PrAafA09$pb(`-&NDAGpJc6SJSke6el&&HKj1[N$m&
+
+Q([L$%8ICD'HA8T+pMbQE"!(4RCi'!eBj1q[jX2k"%9UE-[kUa#@$l6-dE+Lb-'8
+
+!McMd`Ta9`ipJIN3RHB5TD%*lB`qFcjrK9XGLRpmZEPQrc!NkdPRj'Rr(hR1'Y(D
+
+YCc%G*XM"FY@IDjPDMiqA`Fb6p#d,&!JNl5mlV#l+mhKID*3ZYc0EcYDJIfANrR4
+
+F$djK`Z`Z9I'b3H1UaCPiZi2Fp)"-C()pAp)fNAC)8QKSFR4j29P1ah3dkrSmfhU
+
+@S50&c8d,%f9)`M8j5!&jf-P"Y,dfS5G'cR%)YH691m#Fr!qN)&%Jd,UY5f-4pKq
+
+6Te$V82!3SYfcZ[lYb1i!SlTPCNEVGc&lEq'Hkr%LdG1TJdSG+&1V(5XG6#!D25L
+
+kQRT-l&M`ZfqITGUBH5E9NleScVPY6ERM`EHj-`jZ'2"QEPRFXlYc"GC(h[eGfTZ
+
+(*kc[4K'NmD@TZ29jdIam*cNQd4a`#-4h$qYZa(S#0)#,''`FZeLm8,@XcTqf194
+
+Vlp,2pc@9U3!6rlmFE+`+Gf94lY8`*KSEakRKiGD1T)EJ&lMiDM&iBc)*`d+CG8M
+
+q0JmZhaCZ,C!!Zl-2Md'0,!Ie%iqkR"SB0CH6[Mm#QD9TC2KZm5,Z4EmHr(`Cq(@
+
+1AXa6ZcariURT`I'AMAimAE(UdFGAMi1G$V4"c8P5eQEP1e!Y,2Efc"NMYb!)X@l
+
+#!6EX@mm"#QpKRfVT,dLZaHd5hCHGRkdJi[d12*8FPX`EHeHTcj2JYH[d2APpHAi
+
+!#AZKp#AUX(kVJA0UeLfk'M6YIM6HA06dkR4MVaqC6998%!rbkQ''e&Z8iIacIFM
+
+[4S""aLc[d-0ZIYe-Ai)TqAlqE`DR"&ljRH6cFPCS8Sfc6Fq4@i[AM2MKhi[BFRl
+
+*KjlHl#*AP2&,r*QU'ZUH["a&8fm-)mJTF(Hi-hJZ!+%DH!G!+Jj'h0)6MYlqri'
+
+[Fe@DFcQ#V($&ajhFkNH+*!pr(i#BKm9#j3qK3aB[R+)0`l-F1,DSN!#Nbp[0YDN
+
+d@f2$l5!4""a*r6`TT'ECVPCFIIBFdGj',N&m``'0*ddeH*0XMK9YM,fFhXj[C)"
+
+(,0fjBMN-I%MkCTM4F&hJbq$[H!L"@8aX)[6FVdm6"d`km@d8m(02mFKhl+L@-qA
+
+qfchhkfaH'h2dBIBFTTm56d61SSB,XP%GLQ&VUKi!`03afBjd-(%YG21LlcEhX[I
+
+lhVj[BcIp[Np@KZQQPY0*l$,6e+-mJY8)+FBZ$"1LR"A0kX%kF*DGbLC2akSjmX8
+
+Y5E3QRGGLp#TXAG#!MN#Q*$NK[BplTNEC@HCCLc2T5kYXl3%EjXHp$*'G(1)d$0'
+
++aNI6UkYMHJfXaI3eRqMLamjNID1,9cEQ@6'YXceFZrhXeQDj-3UDY&Ad3l9MQUG
+
+33m'ZZK0AfUmGIAd6RGE0d83Dqe`8+E'Tfe8MK-Fk2ANm[Y1#$5`l3U$'D$HeZJY
+
+XJH1L'RkEjS5*P6qKbmGcf4hDK,kGA1Fc"CmKlC%'N@DhZEkMVXa0'#h8aqf@PSX
+
+K!ll&6G9"aCEP65`p-FTbF%h"YB)q!,fRVRCfc$1M`5(1,Y#'P2$BPfjHr0fI6!F
+
+bZ32lS[&LkN3rirXVaD3epTaIM4HAc+HR6r@8J"Sl*ZcEfe[aI6MkX[Bfc&%ba-(
+
+6(TM0EmHNNK2TckH%2RNfV96Gr'Rq@PhKM2BqKSqSMR1RbHCGdUITrM6[,R8je2&
+
+CDqMRdlpH25MkKQ1dm(*!46TqA3m[5m[df@[NehDmr8RG-`N*$SEfM2Rjp[A[8dR
+
+3+Qj8Nc*E1!cRM`TLPcF1E*QkZI[FM(Chh6cT6X,ekLDkI`8JF2I-U+,'V0l&Gl3
+
+4rQ#Bm@*HEbT'*p`4IfQrhjFAPlIKfkG[Qbrrj@TeUF[c2&JDkbNKhmUPdZ4Mpb#
+
+,3fkGLK8a-EKplcHPLXM2`L4AFR(-V1JaqlP`I+`2Mr*M0I(Kk'h$"S6iF0f1P*a
+
+*1,09Ybi)EbTY(prQk%d@$2Q0JDDKKbjZpQ0+T(,V+j-(%`FmFNCi",Sj1bpc0h-
+
+hUh1U*$+2q2a1hdj)V1Id)ZhG-)h,cqplGQ[F6YjA!`NZb5f16Kq0Bj-XZGd0@A9
+
+PhpVVBY2'T`Ujb0VG)$@Y8r+UI)il!CCp#cBmI%[)HjM4jr"Br+XI),)&6NBFm[U
+
+6+(,hR0dj[99AI2h#l`J'ZTP8,")!0QQ[8THG"F[cNhqK,bEr*Nq0J,f,APhY,('
+
+iU$l(*)P%`$DG2PFTm2fM6ZYaCjVBAV!G`%QJ'pbar"BqU%kE)V`2hXrrB!ErCRq
+
+i"p!9HcIAQ66HaEA3fTGlNap$#I[[dZJE$KX3IkCIh[K9lDRVlR3kXZ'AUmQGRcZ
+
+6riFRbrMFRNq@!Mm8XkjM)H[d,3c&[FQES@6Z3XbqpSBNYqAGP25eG6c&jrSpV6J
+
+diG2TqMDdlHR0k2QkHVTh01E8e[NId-T59,9MDZfTeV2Y@-m!PUaYJ'dFh4PCY,R
+
+5IUd2*jeL%E5eH0mdr`LAHBG8Ni)Afl,F2c,"d,J#06Pi9"'p,[HA%UL4)m2(UjU
+
+p2HdiIbIlZR!!cFZAlN0bjUVL4Bb8iZlCHb1f1X-E1jl+F4QFeS[#IGRXY,aEa"R
+
+#Ik'KfTd-Hl&[6i1KYQk[2d'!E!aPK2iR3)cm@q+QiBYr2hl'rB!*Rr`f2iQ-&ML
+
+ih+qP"cS-hDX6A64'j`XLEQrd0*+-``A((Re,'(R()TGd,"PbjYM0)d'Eep*MX[L
+
+CrFXER1h$a*l'hf1GemhVjZpBkr)PcEFbAAL!,&RjNZ9,aI&T`(RIB!991hUYbIQ
+
+ffk6Q31'ZE6k02-qq0(FE-`[!BaUJcd$MJZ$GVN&Q+R"mQ#["A(-M)3TL2aSHUMR
+
+M-)a53*8[8GK&Y3J,Z(%NR#%CE&cUa&cd,Y#T6XFR8YVYX'bYpZK8JUD(f+&5K8Z
+
+qqJ',dbIACaTZQ!4jLL@`"+X2(aqjcfhS,$!6cEr''$)TZ%BeBSHUb*+%![X5qp[
+
+aF&CBFlK3*",Cl(dcT56f4C60F%$1D[*qiNj6*qimjXA"!)8mIKGX`YM$S*H+GLU
+
+Ym8EEA48Q#+0$YmmJ+a4dl'KYXVJ1MqIGqR$f)Z`1X61)aFq,XCc+'mF04,+b3`%
+
+q"N`N88m2+TT[ek)$UNKMSQLT2Kam'A$mZ(([L[,T38C)Nq-)I#pkj0NHp%J%eaE
+
+GkB#)RraUaDqplPTJ)i0fRJp''IFJY4l(6hje+IMdQ4aNZ'L)*`h5*KFr0rk3!'i
+
+-GMcec'-5'3DPr'r!GQB8I'`5'QhSr4iL-hF8`'KT0GZcae11PL8d4JXLVXpJarQ
+
+A`-e(a0#VQ`jXfE,RipRDS`j%2RP-aQhbFLI`49-qTQqrQhXhJcrJXe+06L923U3
+
+GL#fcUaaBkRY81eM58UfckV-L3-iQ(Hb$BXIa-5pbPqJ'J5DLj(SU4CHIh-f206r
+
+9$3QKKSN[Ech-QScLU0R3XKR[er!UCmGN[E1*Fp$G'6E#!2T,2'TqEZq"Kck89+M
+
+9iN[T69ph'UUKpLSU8[rT6jTb1l5[9CTE-1q2TeDq*-EBCP$Ecpk(9T59Dhjj-"A
+
+-JFqGfrPF-9)efjGA5LaP(b6hGUaLiD9LYBm5arJ`eT+Ur)Y5I9@+6*a+IFL-2iU
+
+691p`q$(U-QpKdE(@j')S,''iZ$mD2mb2LNBJq"50Jf-4!)m&mIRKTXr4J4hiM[V
+
+4cp'`chQJLfb$V&RS"-+!K%Rl#JKPj4&2ZL(HI2JRjpZ#`1CCjZ`e-qLbl-%"2Zh
+
+@N!!+4#N"4(j+b"d6iB'p22(VfHLJ3"-qlBE*'L[lFX%[33#Ad"!&CTISI'aC92H
+
+""MAHR"(Ra`$X"!35#)l&22Tf'r)X8kkT-2SS2@ccCECI4a4hC!hqj"RK`F)Cq-f
+
+0p(2kYKQ2Um1r`[6Ia%4GQ'l&&FZh!Q-+P"UCpa$r3J#)iKcl-mi[k&5IE*K5rdA
+
++4'pe#(r*$hN1AKqG5aD9#ViFZ,03hI2KSe4K*AQp16p#a,GVAZ,2qCBSe+P6jNq
+
+M2jdqV9C!9Kd)E%0M$R`f+9LVRbMh$GcaGQa9d@rfGPHea4aj&Z,$5`&3`@hS6(c
+
+[0GfLjpDieUVEm62m&ZDG$"QADFr-Rdp[-Y8lG-D`VaGf169RX-q-J,ZHL3@QJ%4
+
+e%!MUhQ2md$T0fZdp2ShHETJ)3'%Q1h&l$d3&mpTS"&[TJ#FQ,NaIaVZ+BC)0!kM
+
+6$KPQpR)b#B6K2!*ck$KR(&XFqQ$D-16*`M+IB-CDPhZ*,"iV1"5(11B*2m1G&FY
+
+H8C%5N!#(YCfiZS'F1QG*6PJp[TpRKBBrSbGQRbUPJR+b@@RHYkDBI4+[e2cDmG1
+
+j3p5K2M#rB),8q[KMXQ#&c+I-VNp@K1S6MCMH###[KTcZTe+'P6dUqP6kJ)!)Cd(
+
+JY0"Dhr%i+Rl-rfHR[d2CUGHAVfYq6JTe+P+1$`Q#$FVQ#je&jl+C#VTi&mkm&@$
+
+j6-YBDmdi!cd&-k(UHl8hDZl'0jA6!EfGUR39[G-KMKm#CcKZ-e)R"!8!)LmaQE"
+
+25!bMVM&FUID(diZYGqa&ep$J+2911RSGE9kdIl-HrQ'E-e2h3d1Y$8KUhIX86+1
+
+SdmhVC[j@TUe)q8U-#Ik#[,S5`GR%Pk&L'[SI[3mf(0arEfM4"8i#IaX-HUGA"V2
+
+BfY4rFbCrS*[%)"'B89hkG'IS%eM0qPQpM`rDNpV3pU6pk6pl3rHNrGAHCZrASad
+
+DQKp20pdb0Z$`q!c!E`"1[)RSA$PN"(4$4jk2IJ#A3#DF1E,5UV2$KbaU+-TBXp&
+
+F-C&HG1,0LT-R``jBfIdDF!h(3la9H+HR1cCe,&(0L`-+0RQq0"ZBQ`2NXG)aU-k
+
+iYk(I'Y5C@`0C0keFc+80&0Q,3hSBTGlLaBd@JTRVYh4d8!Pe,qrUfZVDkZMSfkr
+
+Nj3$PD-l9UD6b-1Y1eCqRIZ&pCjZVUkYVV@ZYSdr'4bZR$[TBCSlQ$9i,Q#EJQ`6
+
+4rQBE4rIl5SGQ`r*dEqV*X@2MQl2TbDF[RRGhEpUhX6+`Vk-CT!Iqh4VI*Tp(SkI
+
+kfR*jS,V4e9fV$%fbE@$M9Nq6,dCG6h2*mqi#)-$[D-2M,X9K3DS"plj-1YrF@J6
+
+!CfC0(P@l&VfV5jkIkQ#j"Um(bCGDjTbh1#j"rM`DU%mm+#Ab2HeGhBh3cflT`kN
+
+[QfAfB#-cPG@d+QS",56$M19-UI%f1JYEc,*XR4-6YILj!)NfUDA5cG,ceQA&8bd
+
+,,S"$LPJRmba,`@p3KQXKBUl&S(#PG`fThPI!kk@3!,T+3a#bA(@Dkf4hr*2jI[b
+
+e1AlmLS[k'K,33#D'K*1NR)"'JLJSJ&HhJpA)TVfr#q#5p*kjHC+6mp*4$PZlY6V
+
+JP6V`p5YTE$Ir2G6BY+NI)fNI)jjbaAG%9[d&BeS382Z8*FQEa2Ak24i*+ZC(!ib
+
+h'YkB"NCY%amJq`YLD6"ARf--Xl0rKXH@B5'@h`0,jL1$QhqL1B6rCBDXl+q"(2E
+
+IbDI`[Y8EG5hiImqX39FRhDPA*rQ2"kV8q8V4Q(KBD-&6"cVfYJUAUQ#T*Ni62mq
+
+Y8cURmZ5c4h4[LHeHVfBl3eM,5G2"N`m9hf0#-,J[kAdf4+I#i,2"CkpRHm,VfHa
+
+)b(T*NPK-p`)14JX6`iL6Pi%p#r#'*@bMp[M(CMcDQYYeBq0YdimU2[-2&MVEmD`
+
+Y%p[mNq6pB!dFJFpAUmRLrLUcUZ,98i!Y(Ma%1q5l$Iiafb8l)jJZ8r9CQpd%R4r
+
+qh0VG(SdqY6m+1dKZ%!MK`"CXNMcmk6ilU'b!4j*5'kdlKId9168j2Krdkh*bIkD
+
+PHTAbIk+HM8j0@Se%$fM8bLr[Ifr)Rj2[90F3H3#690HTpC4"Pm,lClJR[@)J6mR
+
+$NkR&e1,JiZTPDP092SY`j1GlLk[a*0Ij&Ar4aV0@AMB$k0mQ1mck0#J%!Xk$SSE
+
+4%SV8GkReqmhSrETrl@5Fq0KNYE!pI-ZRSRrSk,!-!jG6VFS6r$rXX*p,IEX@-h0
+
+m2rkJJ-&Bc(GP@IU-M4BiUYQG,h)M$cXl[PAjeVLD1FU[fJIj5a$br`H$9jIi*3#
+
+5!-NhHAreNqKjApc(AL8,-`3p3#!%T&0Nj3U9A19SlGpdm6$%pc%U(m%[",`D&k@
+
+p,Hd2AN@TA6MZrA%EkQCGK83D(BKXAIY`fiIAa9d(*0Uh&Km-mq0Z2LraaRTRdF"
+
+HTfilhKUYp6LZr@TaCQK6SCP#R3ZrbCY$0SCY$`qY*c0$kV0*V2(Q&hl3lepDAeN
+
+!QKkb!b'RG8346c(URk([fTq4pZ+aNIEc2I$&S"2IJ6VQAr&hGZVZmL(Er""el[A
+
+Mr"apfIl-rUe64p@5SF`P-XYdr"c-k#5ll8-P@aa[h+VX4HlJYbHCIYb@Yhc-'M"
+
+i[GmD,8)qALpfe"G9Um10)2(lSjpLmF#RQCr4XG'adE(QCi)'%"KY@[([c3J%JmI
+
+"j2"Vm(MSmL)al"!cEPLLU9#8Il9,j'6Zl()arV%K-fi((6M((HKJ6ALNRirF&r,
+
+4YelEadi*#bjQ#T,9UpprbEMQ0hP6KILp'TTk(PIE*Y25drTH86Er4!*Ljmp,p1%
+
+i(LkjqAp2S`G'IdHadE(ajI,UqI9k0A&2&-4q2MU6TqlTmVb2NA0r6q4UH*FeqR`
+
+DG-NEqe!Ve[%`p1i#Ib2q'T1e*b!6p6rKFZ3A),M2R-")%38H3J'aQKhHEaRcXrd
+
+8IY3DH$6RS"01Ik)"TdqHZI(NI6qIH1&fIjIirj@EjHEjHEVqjmrrCq9lQ,2)BDU
+
+-hi0hD[cEX`JcTB0+IT6cb3"l1`,NLBXN(YlACdT*Y@EHdXBmKe"d&bGkUr'$lKj
+
+c[(qr-0pjUB#1,D83&)6$k8rmLITr"U@lP[bX&bhk@Tj(`384pX[RpDJeHRFZBEQ
+
+pTlfTJZEecHZB1Q!BfldV4"cPmpNCG1q!5BLDfVRBZN-3lS&lSZR"ZqM2e243lXd
+
+p$e#p+aUGDIZ3!+Ime'LQj$Di4!elkrCYH3N$e)1Gp)r'3Q5!CCdr@p,VkF@Ter*
+
+k5'Ee1ZJ1RpH(j85C%@,,"RT%de+qT*UAp5aUFIdS05iIrEeX4Y8+GQHMpl8pDjk
+
+hNIHZ!'ZIHp,eY6ejrhFG-%3(qA1qhk1&88kZR8dm*'IXcl-qD(e@CMdl$1RHM6d
+
+qTTS"*fRe24dY25RG5G1RiX,81Y[DhG++D!pXIeY+GT6Y,qcU6K,jV*!!Qke[plb
+
+[`k-lc2a@krMrIr0q&EqTETk2hl8jePKTfY,c-0V4mc4k1PdG,c1CDTqCi&V55)i
+
+d3GAb[`fZUJqdG(ar[X"eVUZ#!@iUC1(D1Dl*qa8eUQ[QI@fBUrrqih*JdS&k*G[
+
+"F[EFeXF(A2"frpYT0("-a9R(`b*C$(YCPUGYCKQL,T*ZmLl'jqV&V*VklIASB+1
+
+r&eq*Jf6"UDP`6KM"H,UK-YBqMNbl(cNJ8X5j)*S)"FlUB+GLRBTi)pA,h`31rhU
+
+'0lUTTRb'IYmhhhFlTE5EBmkYR80!l8A@0B65EqhC-Uml`k'lNE[S'lUEZ)bZFd'
+
+Y$JKd,[f+G5McV[rZB1!lf(N0Z&CCBqGP)8qpYDXGJL@Q[l6`GqClPF`qQC%1CAV
+
+hGEUdTdI8mh5LdXc5Vp6@dU3hQf9DDQA[JaBmV`[Qqr1YD!h$1Bq,jTQ#ii"&I(E
+
+KLqf"l3@Vl[q91E1I(M4cT)1eMTdd*F&6pZ5551E$2cKhee5qeRjl$riikC5hfpb
+
+ArR,lQPQkI`mhh")ReY'K2CQ[B*Cr*`lFqA!ErQ(NdcKk`9Z#Y`5rXfh%(p[LFrL
+
+rP5m"KX#9Fm223RTqG58cq6fUPfTHp+pi(iqElQElQS!6*rf9,fE22606[cme`('
+
+*If`#*`[FQIbCq9JbJ$H+V6NMQ(YcYRr22qQ!DaCUh+''U)U@P+!(fq33m1h[5pQ
+
+Aq+A%$8AUf#YHP`-hH)iq''fTe*eqKFTjhaId8dE%0"MCeCMmifb0Z-*ik*FR$BN
+
+UkdAmh&Z@*VAbQ1cbBcl8%ZKYV6TqAar%Km()QqIT3r3Ur3S+NqcfLNVframb5$Z
+
+k'p4eD1c8pM*a6$I9Ej!!1cV9&&%KlV[)"$6$MLT-fecdL`bAV@lNGdYG@0!d3-M
+
+kd9`!MQ5)JJ'e11CIYhhSE2H@H,[blmeQVip"6RfPr1Z6bY**R6G%C@2NSYJJVcT
+
+Z#Vm[NhXD,qq,31Hj5'IhFchJ'lXGd!NZCr08UPhqE@QRXX!*CjE1%61Q6A`A@$&
+
+1PRM`b(+9f0,VlAb-Am%-28`bRp'PQPPPKQ83*Z'!mhZ0h)qaQBDF'6Ilb(`,r1K
+
+m@qa,d%%mJbfUZ[@emR$9em[APej[m-0U'e#X8Y$QJ#EmQrbrh%!NQriAlU!l4M)
+
+'#'IESIUH(jA`*@M1F6f'lfTp24aiGIUMqQEA[Dm'[JebS[-DK-j8@j)jDH$AeGI
+
+Hr,`km1[q$Akq[epVm"fd0fG6fATcr,`(S%X#hbp[U4D3!1hCpf&C`TKA)HJP(Ze
+
+blmPV`QJL5ejM+FCX-8kq[`DrNKF92,`kp6D`69"*E9DiiA6i4%K!*QAl5`3l9T)
+
+)+R10*rEVfd!M!0AYYjN%1l$VGb+E-`@EAP)r5!)Q)DT['(XBREKMllrPXBQCI5m
+
+#B"SeJfI-MV4bak`CD6AfpIhI,frbVHd-#'qFckj3I'8i@HSGhLHhaH49Y5h*Yh&
+
+`+q2G1l([91hA4jFMr3"%kdc6ChUFF5rZVQkSR+h@pMBp0M#DC3lc&D4iHK*'*kh
+
+PY3e"m(5mMqT#N4mdKb%IlER3B,Li)pcD`Dqi)0lJF,HMkjRHqh(lY0Hd`Ac0i,U
+
+BIbYlAhJ4!'r`MX%%45XBk6`P,Qr(-!LEMAkR5TkpLj,iqREBR[DB(mc##-"&8%F
+
+Xh,[c63q5cPVYLaLB%#!D-dC)j)16,0q[&eR5G&QIDTkY5jaX2HkQ6hDPcNGdbH'
+
+HFUMkehRq%*G!)%r*l9HYif2@9"[D`%DUrYENeqeZG6#!cV3m%2AKhVRYmeF*Z'I
+
+Yi5l(J4BM4`p3r$F8J[691BGlV15T0L4!)!4PU%K``+#&%#BmeZlq#+j@qTPrdFc
+
+@jNfTTS%LEGF@142kIU'F4((AKa,Zl$&a)q(eD[TM9!le9e00'lrmc6HCFQk2QH,
+
+D!4dGASk2QH,dCV9c4A6daEjRQMIcNNX6KB$q)BG1)UhR-"%cQ+6BXcq6*T5F)j+
+
+HBC[0$2S582DSl0*R!H*8ep68jThbbFf6Sb'M#6cDIY90LUZ(iNT[*ri5A*L9,`[
+
+q&DjCZA!%4A)YkJV`qM2bIYFQTSRLla[IjY6bkR&qaaHpi[i-`[")fF"j9[N3YTD
+
+RZH*jqV*(XapNm#E&@Z*#S8&5,pH2@Pei4i[P6ZB56+'P36CDaD#S`CRG'Rh[2Dl
+
+Ql(l&RhE1RFSBrG9*pM%,cS1R32JIfXaG35H61b"(p'PqVREVd2``PKDMZpp0QfG
+
+3e3+2MaAS(`IP9QJA)qG,Vqd'f6F1pU1eC[2"!C61(mfGjFmRprckfY8r0iZ[([a
+
+pBIr8kUS2-X-q$[CZpc0I8X45$DiV9S"'I`8"%GQIm,$i%I-Mdma-QHKGS@k0ZPY
+
+VIM+IpUbIi-'VBr,`kUCASc9,a6HMfH0qX`J1&JXbI#[jTA,Z38&6-3#!%CQXVkB
+
+fC2"XH"KjN!$FhMdp*$c$$,%Y0dMShrc)2,[p'$mXM+NT"2N@@REb9DXTQFq!T`&
+
+RH2jqqLLD8'I%'!m#(QAp-#c`RQP"KU6URVDh4r`BIbUqY6!GeDR9UIL!TLXcZ5@
+
+92k1$m`BfeGc9h+H'SB&mIV#!&L0'[B`S$5aqEm(j4QGTBGUI"8pF!PkV4C!!cP[
+
+M,N@(`Gl`0l0-)30KJ@l2KLBjjKSGh`C2!`@GQcfI)jFAGLM$22IN@+p&KjQYm2@
+
+cH#cf020Sc438H#MeU2d+@l&Y1)J4`IQAr,Kk-*Xr`(mTU!565Cf&BhJUUi9qZ1(
+
+I`8k[&hZ,FbUeINk@P2@0CG+k14hDdA#lZ4pe&qTapA%5(fS,HKp*F-6-h@3XKaR
+
+&Npe($R,[bcTTbe1d1HXF,$YL'h#KiF19$jeq,Xd194X@48CUqiU"k8kV`8iZpaN
+
+cAe-d*f,5LLi)YH,Rp31aSBD8d9l+kQE0FfSY'cSaXeP9*rDhi[h+&MKml[[*rl2
+
+ES9U(2S6Fa[N5NbDTUE8dITdc+5ll$Xl#Y1q4Vf'kHeVKB0[HL1M'PDV@rdX)f6!
+
+G&R@IbDDi&++Za5G5q+KiD8Z9ImdF&MIhfXhBUVREU3&S6eY$K[XqGbq*m$"PC$K
+
+A8[Cpd[DZmi1pi235pb*L9AJq32[R&A9-&["33C9rcQ+YLTE**C%49jL8+6q5j@(
+
+Qap'1Q%0V915j2TPSB0[9%&Eq4bmUAcMV24B--!`d!))XrEN9$qqU(kV1Z'J-,ZI
+
+qSC[9-k3Hq`qJ184BmSTp(P-2J4G[*qjdpf2e10reMKVEZb!jB,'lmAm##$MIDUp
+
+'k!6MIDbje@GiNlA!-DkP$AaC@I3ZV(FMpIUBDQp(kpA$@hXlep9'[B"T'3PXi%'
+
+le*p6m5E@AHkI1drMM-'TTkfRBCUlF6KGbKB+FZ'K1iNqYJmfm2GE-A2XrlmPM,f
+
+H(A8qT6Li+'#P8bX0QTTi&C1aePHp[""5JL%!,22ZDi,+GPV$C(0[8-0fh4e+'Y`
+
+rJV@r0qh3r0SQJhCDdG$2A)ajlde!eDjXJ'!P[G&[a5`J0Y,JI[m5h@YrirJL#-i
+
+A`@Ckap!J-RHU4lHBE0Rql[0l[Gld0kTekRAUpM9EZ,#-'VYle$(SqJLAhQa#e&V
+
+KFlKdqC!!aV8TLbk(f`d"h3d)q&9iBG&jeQM04Qm(dfED`bVArFHPm!q0PliYj,1
+
+*'Y0GabkM+$9&Q)D2pfA2raLVP#c3j@DH5V-)V6Mm#1,3Zfp1arLXIiU[q1VTa$N
+
+#A6mA89@!`kl'KS3cFIGKPZqh&,N@D#EUeRP6@PYU86NGLXAEZT0QlY+DYCcE1R'
+
+)`6@@lZd1VSEm2YBZKGpiPkc@,-eNTq@BCA+"HI*BX@,Tc9EUmf&QaCcimh1Uh,(
+
+Uk+N"SalFPUlG[(clBZPdAc,(4Up',SaHC9k2bQ(!CReiip$kH[lY6XAIZ9H[B1k
+
+R3rQJkq,b*k[I5iRR8*)l[KHl0EK+4hH9Z,@j0Nq&29C#E3k#lp-$A[5qhSHh,fH
+
+)P'[XNREeF9F`AHZrALd0#f*2e,[f$Dk6IfT9k3#+l2UUM,6UbGIc*BDZKZ`hH,$
+
+9hCGfBZfa-3rZC&QTCd,RPfH,Cc)Z,KiX@BGiKZkaH+UIjlhmHlpF26hjIh9fpZ!
+
+bV[X'53ERD##N'IJd,YSKDCr(eDQV8haZI(BXkRMQM)K3%2`$fj6ZmFpT33IR90@
+
+aUj[dG+1HX,bPDKY`BEXC$5hq2Jb6&[+TXGLTj'&DC+KqlYQ5EalG6EU@N!#"XDY
+
+MVDR@a9m%5-LAT"'65-lG`[,3V-f@edljTHaq4Je,"Tmf2)`A0ATkYcV6UI%8I3P
+
+fDeFQ04bETc-eiI40GeZXdpfNmbraZl("QB!rbj,RD@3ZXhLlNiF0H5H8qTHp+hU
+
+@2+`kP[dV(N%aH"FZ2H,24iBPRUEp6#@PX'T`EA"FrCHC`5D!@KJPU)"%Rm[+1bb
+
+9(3F0DBp#lATk&-!PH[UA@-Fcc0Hl%HI(BbFr,X4q-K!*N!"cQG&Shmkj6e,HRCh
+
+UGRTEkD,%rfSGq)NZ18,iY@KIfcmqbVrIbH"BjQ'jdSZa3cD*rlQjFI"&VECPdjG
+
+l0`CYkjH)HeiKQHZCmcC#d@$E(0YDchq(0MXRUZabbbr80!)hkc-&ejIel8CR-(e
+
+($pH(9LTjc*1`4ffK*B-Z!LV!f0%ak3'6I!6Ul9M*`rMf2L*'BX*f2J'cDNVB()"
+
+ZTKTdkIihihPqAqZ!l(2dPN&BM*i)V@hILQbph[Gh`-0N5ECq$XCV(IB2C,Z$+Pl
+
+qri%[-0X!12pU,CSIVF4JJMLUa9#)[(PD[IkhJHrc0I6ek2b+A-LdU#kcd@0`[Xa
+
+A0X`)Hrd1qqYCZDQp4qNH8'j4ZSZVM&2`im)M',089ErT1,cI+J6$qlN@k3&*m8e
+
+EdqrdFhDXlZRFSjd@G&r[i6'L[lXA@iA[lA"&eqqpr,i-hV@I[q4eS[fU&8miP2E
+
+#U`8B0Z(Ki1qQjNT30QS5dDT$@KLA,KMR"p-'fN0U$mI"q8ZK%H@QjiR9MF[-m01
+
+cX4fE2-rMXamc$CMXmqcVbF&HR)Vj62R*ppjG20Th*d4M2-0jXqU6Z'*pLPGQ(b[
+
+`'3kEejleHUPS'(fUhXr*6(TGMje*mGrR`I(`M`,9!*[dkIa&Kk*YH8cDmTrVakr
+
+2jq[cipH2JbDCekDV'0+NPHaTk%9ZVeq4(SSY%0dE&`AqE[-f1R9Z4DPA8cIeD-&
+
+hD%T#HfaKC8AM4H`-Y0*S6H9q!C,G`SGrLJkX#jBP@I8fN8Vi0XNp4FrEek(ki$T
+
+)T`F8L[-'4Jm2ZA5ShSIJ-0%3F+P2p-r&RmM3qqZ*EMI&re4R-hSfHGm2*l-(CTG
+
+R*Xr*Zf0b@eC@9PDNm-pjTer4KjTSicTBL8KdV%YH6fT&PSfT2LPpHSJ2JD![lmR
+
+"X5!CF%&V1$rTjeGS)-6#K!HKBUV4AD)"NV"[f[h1EBTml%mR&pkRCq6(AXer(VU
+
+HpDNjeLRr""fE@VRIUdj3`(qQ29f,NQpAaq8d3Ff@2fi,(LiHG2U6jr`8IAUH[d[
+
+J2K5MB96kh&cBUGc)qlEUq(f+Re*qr4pLTZp,IPpM0p4K3H,JcV8G[(`fYr1hUGb
+
+Iip+e6eqPU5@kpTNI+eE$S0@#[irr(1b!f8aiFA0M9NVm[rM)VAP6i$RiBH3Q1[m
+
+NL'9d!L[Fp',iZ#QA$Y(ZKL)Taqi8i[dX0H+aM-Nj9d#dAP!5jNA#rEbIm2&cIcm
+
+hQDD2Xf%"A`C8G#24`FdVQiZ'J6(225q@UFA#M*h&V`CADSCqMBjYMMIES9FRVrj
+
+,Q9%8N!#aaI&U+qbmIqMa+pAQBrhT[@m6eZ0pl'rKiRm2HI`r-rKjAp&Rk$,p'[&
+
+P%@2arZejI!QiAkq6UmA9rb5C46-TlE)U0U48Ap@e[FfA*`cLqYTbr*[b9j+mLVH
+
+mM$hXkMA%25&6MILSr3UI3p$k#8VNTM+JqDj95(%[fiHF1K)*+-Z6rTk@GBq6BrH
+
+j#N"0dI%)X824mIlAL6Z0KKRC"I1r,6j,!)Trq0cHI6NaqhSf2$d-RfmAjI&Pmk@
+
+[,AQVlV*'+SEbBQ#eB!4Ba#Q9aX1a[5E-QVbeaVK4qf&aFYD[KQJc1-"ILhrN`X4
+
+K833Fd`cTripZaiI+UHj2p#MlQ6bZPf,&Y2h9T`%'6JRR"6cT+NZ*JSb9*1PUf0l
+
+N`jUdVj)Dh(iAEYfa8AFJ!9(*qQP1a,Cc%AkBiiQ[9rJX@iVI#`4fr3e-Ri)k*DF
+
+@CKDf46D'I2d[aCb&2V8GE*`G,@-AV@BVm)-cU[V`E[MmM1+8Sbq,"IbHAbV#-i9
+
+)$IcZ#RKa)p+2QP$+G'CAFBbqU9m+4m-@e1m2"8QR@4D8jf),!B'`q0(C2V9Xk,b
+
+EAB$r,8*dF9,rcpf0,'"UeUKp,cVPAIRh0'85q`)c8$2NX*`pk5e@-Qc4LcYq2TB
+
+j@XThr26pYGi'J3&qI"[@Yi1RejjA1bF+'!AB#jH'YDLh2&YbI,XIkTfG4l0AcGR
+
+fkI,CBaDTf6E*f2ih`"hKfNm)JAr*PNl-NR,Cal14iL*BQGPfTi`M,,BU@kLll"h
+
+!'4mB1)qe-G02[1V`9055Lh8Q)9e("i0icA-&b!"dF3c9*9`aJek[Y%lRfb)MqMT
+
+rVS)+Zd"l")i)2V4Ce(b3!)#6`-0c9Lhk'$[1#VqeBki(QF(#24U[ALhU[AB#1,V
+
+ca1kYMl$*&jS25BrD4mIE2F'(Faqj%hZ8AP8REEVlH,eB`05+5,JJQNXL+9Q65[`
+
+QI&aEr*KdVq+@@ZC$694QD$Q%A+cRA#([@MXkY`2rSLMqYV+Il$0IXL99NZN3`F2
+
+"a6V,aF'+2&ZBCMb#$5[mb@R+CX4UM8,pC-qb3aYHAV0V%h*hJB1pYmb@jl*VK@!
+
+2#MN8QULMREEd+#)&HaNqm4*jHAlm#bG(6J#k6+BmLTdRR[E-rqYaB[4mH[H4YYL
+
+iRpKC9dkHT6e2e2q8Iqk2rGhqRk(j%ZT32q)cNhU`91TK1p5T(`EAAMjmIb)q[hq
+
+6Xe'mHq,JJ*MNI!Ei+!M"'3SUf$C%@'@e,qdQ1NLdjrbd!e@qP5U$eXGCT&I%qTd
+
+rS4r3MrI-J2k(Sra92hk[l%I9bqVXr3JCJLBehDUkq6VepImijVlZ[(Vjq[2qABr
+
+3Url+&"9dTp6$9YACLG$08qAGrQUDi#1[BrTYr3A1KaGhSB*d[3+K'*qUUV2F,f[
+
+ILeZ&8bep#jmf20Y6&lkG@aMq6CqeBQX6&+i"$BKaPc&`D@e+FjPQeRA%jdV4[j-
+
+3BQfY[AhI,Qel1e@erPqAkH[YE8ddd'e!Sq$a!hTdbDiJ#!B"MhTZ6!HEDdLhY!A
+
+-4(*INKUQc`34Ypp%RF'10$)cl%ckN!#NBb3a8X(`jpRAXkr`q[dq[AUcmPQebA`
+
+pbji!ED)0KCLrai+%8Hp)c`)AM@Jr,`H*2if#V2q,Jei#K$mMNjhMI)T)f`6M@b#
+
+IeChmhISlrHrZC[Fe0qTeURhqAN)AH0DJ-bQjUfGlQBkCkYBc-r165FX0E@TbCIP
+
+N1a,DIaEq[Di`l-NrJj%INUKXNU55SB61pTifTkr6hM#T-+hTlfM$M0p!PpZ,Q,U
+
+`pZ,ITm5`(PTd"*d#))%kaSSZ0q#5H05b6@P$pk)-@iDZPV-QTfDGRNdl(R@XGpM
+
+q,HMhG$"Sed`a-MZeH0mhhhIXj@pQKJX+"T+Q4fabXUE0A8q9jjkrSkVaBZTI2TE
+
+ZRGlhG+Ie*Y+cT4k8A8mI59QGM6m6$k8'TYDNIT4kNHTY+"Sr5`DK*19(ATh,QlT
+
+i1R8ZEpc"k*QA'*j(d`%-4@5T*UkQYk2j@RmJ2@qck1[UDecIp'R2TVbQiXN%HH*
+
+,4lY2"ajr1l1YfDRCUGRMpQRCRmY!r[`GID-`bT()+BRdacjGISF(*TZBQm8lUII
+
+-3MNdq6hr*q,rem[NmANmANprATejr*-JP%@#NMYLNm9@2!6@5E4(eEe&KkFq4%"
+
+8mB4i')["l1r(l$Pb!CYEG1EQ@IQ4eBZ&pcCa%U&`qe&l)rC83F56TlFAZd*GZY&
+
+RCIeqpc-fZBQ2"&PaE(#Bl"Ah9X9jUQCJ2[#,)(EDZhdFMZL#@RTkP1j3mRKDZ,X
+
+80AQq62dU@MR,Im&PUaQI6PeEHmSU+U)bQ2rY2YY5cNS!JXkX`cT,FkBaZpa[lGL
+
+micV33C(dkT&VY,c80jbA2P8+#TBc,YRIQ+6#C1BmM`cVf0HjrA(8Vk)#D)H"a@G
+
+kiG5lkkj@L#iFpq3%!c([Fam61Qd,Pc&,$&)he)*b&`(!XV![SJ,F'2JaB#qB[ei
+
+$+YJ9J)JI5CX2Ii)S0[GblRHh-fi3*09-89@!BB16Ym@EL6A6lciNh$QiZe+1*SC
+
+M[T8I')hQf-[$G-L+YHbc)`A)bA)dCM)RGl6Qi0VALMTLLjKqSj1-2T[D&DNPmM"
+
+db&AAhEPcTje@6RfYIGT`MA9CL`fBMViCT0Uh(JNR("%Dpq[F+UhV8f9MMQ-ZbCF
+
+QEAdrhCmQ4fS0l3[`pJ8IhK4pQc15lV&MDX4@iq[BL5Yei0l8[&Se63*XLem%fTd
+
+p6*`FSafFR#%jTkrVdiUM0NFeL,'RY&Rb1lBdpZ+M&&TjHRQkHRGLABR,er$*`6F
+
+(64q0`5i%IR(e0`Dq#0K3$9D[KdUISdkH(NQeHqc[SN(ekDpY"q%Gk8"%H!rlPlA
+
+[8f-61pl4@AMc1h25hVeS[BFc$"dEJVc6@HR((CNQQl(82QVAY(d0('T[McH-!65
+
+Pr8`X"(8PbHKq0"jF!dG9l*,(Bj'(jFPDd%6lh*QfjM)4Mel-Fe0FUiP'e2MBG@1
+
+2Rl49UTde0fam1`hm52@f-lKdL0ASplp,"1LRaD#QrX59G@"Qi0k@H4%$1h"T%Bp
+
+c$[p#l6X8+Q*MF2[HEdJj%ACJ9AZIBDckX%UHa*BraFk$h-rh*pL(jR*rf9V%9L(
+
+h&J5(l$1R9kp1RLi[SqM2[8d2[HD2DjTh%`G2GLhFrGL[hC+e[,`Y9IBPlLfYZpb
+
+FcNkhaYENkbJEl(*r0fYH(9Khb$mMEQ1l[e,2(QUHRNqPai#ZA2im2SHEBMRKd+#
+
+$S9C5hE,(d-%SPed$BQP3&!)Z,PRp#5@ANi*C2MBH62j8%[Gk%FSrNPNPpUiYr[G
+
+1XV3[QU0,T9XE)+kX+!4!)bIR$"RTCieH6Iq0$b6j%k'V,UbkX[@Pkhj$Rm!`dj[
+
+%jrPraeB+Z#VHULJK)%[4hUH-TJ*iCk#@!0!+15hJ%3!)QPXkDS2KQ)150ArM)"S
+
+16Kq0Dj24j1TbGIPG,bIU0[!85FR3)rYi8@AGmfMNG0Q`faUhab3$hYlM3e,@h08
+
+ZGlUpjX9$I2e0'&Pef5K(Q#a18G8&fa6fXU,Laj0JC'VQ'iSmV(5p1hP@q,ETflZ
+
+fi#Z6YffEm-%8ZB,!C8[&m@RZACp1kr"!Zb4'0J,AYbrjk&HT,Xf6SeY8pc['%rG
+
+ZQLL-*AF0UGjA`3"```T*$AjkQH!B+66j%1L)kL-@EN'mmR,cj%f18#"R'c[+pmK
+
+ISV"Z&$YqLI5j@F82B0'HeMCh69&aJJ)LJrr*V%Cp86,*JDq98Rj"i$ZK`a2Vk9K
+
+)%SCmMS0-r+N$PjZQ)1N+$RXPqZ'r(pl!mQKT*2)[60FQ**9d%"T"P'M3`cipY39
+
+BMYi($!8C%e"ii2#+pD5`UC+Lc-%#kTE$3BNrS6cP(l%0ML@1(BiYL@I04%@A4"Q
+
+GT$e5!Rl1Cr8("G1I&$FCf[Z'JKJaF-819p`fDjD(h$@TUX6pB3%F"fR'&CcYI'h
+
+k*bSG+ijErDB"b6EkIQAeJmQHQU(kKrXSIkL3!!lI9Ze6f*ZT&`F2r3#2%[Kri,-
+
+"qI9jI`5ENRGPJm,rdr[5fr(aB1Ha&q$%pfIMCRhDQVNhZ2MC2eSkPAe+[V5pDje
+
+BdXPXhaF1IeI!RjYV0YC[NjqVCf+0VLD2SD-M2lp)23$F'cBmd!QIJc9hRk-Hh8j
+
+$(,5hV1KKcCXfE0-(+bA1XLEcar3abdZqI8"!K!9-r$C[8Eh%[HKHN`0`Qi%hLXq
+
+(0r"QpI0kqIel2i+2AiN2S3b99`pd%"9hcph0hFhGcEqD1JV0qMZm6Gp,GBB!9,h
+
+BHl5h+*q,l"&16GX2qU32AIrhX*dKjrYC[YH",QjqI*CX8G$)Nmq4[bpa)YQMDd,
+
+3ElEc5*RRh,0bMFb,RRkM6S%Y,@FqE0p2`25cB-r"CKSaC'U$jVcSbH[m[,-FH,p
+
+DTf1Gf0EX91a8l&Ara((IVaT#h6(dL)prQm*%GiB)GfPFUjhbpr&LikjD+(2k'h3
+
+QTNBq`V06'eHpNkAXiQ22FiKa&rEkd2"hZri*d6aHmH6FG'c5Ei1aK!8-&f(&,U2
+
+IArK3q3YedC(-[0#"mBG1hKKi)MkFm(Je-",`!BjH+aP&@+lYhXAhfL$hi[B$M1V
+
+&eBP6H(SGb,EllYHD*M81)+PHa5eDXRbrCaFGH5E&Kd1l6*j6l9G,-0ICBRlYa@m
+
+qfJ'ZJ%#VfiTDXYMNfY+F[Sh((41jf#62V`D!"+qIAX9l&HaSjrVXd5ap$Kfpf$G
+
+k!"2MBB+[3P'00hNbMl"8h81Ifm%&6S9)#'r"'2Q)jE-Xh3[FPNM61""eS-23kd(
+
+@k(m-(mA3kX[9P!*d2S5X1r54TR`A-mV5Cq%!KmCN*C33e"lDfjS*ZJ'`k%%'$S6
+
+)pd)&(k2*@+Z##YGPJYjr9JJca)X(#5BlHIKX+B!S8qeYHe1Np+5G*k1H!566Ndj
+
+01[k0I6CJBcMX!-0$22'22#S11&Q2cZX2!5&a"8J`k%GIDVcD!)UPQV(MfHR0A8`
+
+((6QKYmIq$*jjj,qcQFmVFGI*b6VKeCP@GkQ#EFQh0Vk8hBQl'd!3"(AfYkR9Xf*
+
+RN!!B3#AF,)YfCq"NA4LrD1#,Z%F)1q$E!0$'ahh$ZG1q*eBAc`jI"!MR@KpD1(P
+
+qrDd@*YY6KD)$3r(5CTqdiGKpN!"--!IhcEd$!LKel[eU1hQrEcIjY6ASh+1[8q9
+
++f"bRpAKd)EGhX8E(J9FhVRD09U9E()Q836ip"AP1I[aIZ4&BAiB"%!h6i'0A&%"
+
+l@jmGQT31X6iGQcFq(0dpf[L-CqalQdEJ1eJeqaVKri"[Ff[E%NIhUGH0adjAZk%
+
+A-ZkQR&GL3#!9UhE%@M&e@Djh)0Y2d6VNThj)+krQe1(+[b`H+TJ+mYEXaE-kre"
+
+TkB43"+%0#VP41##eJNXaQJ$k01JH-YF!P#R3iZ8H2c4"2VPpre$a5TckmqQ!L,G
+
+LZC4(V83BXLQ"Nr8`*Y#@!#4bFE$@Nj8QLSI*RZ8@1ZTKS(Q%K24DmA"P8jBf%pS
+
+ckr36K(p(3TqhAPbCH,+1*GhR3h)-G4"iq#5e6pl'rlHRp'R*bMGNSFZLE9XIY@E
+
+AMY-pb--I"k-Y'j6PNi-NmlJr#ahcKRSC-+5SGSTAam56Z$8YIAedha[85EmH$U$
+
+cl**EmE2E["@[1#$4[b5C1#$CfJZXRi*0k2pZK$4$m,-#Q!aE9VDN1YRDcS[jFRN
+
+)H432j'Qb!`cmeba[8iTrm1elP$r68qY,[4pH,r24qT6JD2iCGbTHTr6REhTEdId
+
+Uqp8hU@p4`d)+a-'DEq5YUa'lAkA`'F1%`E&A+Sf+hY5fQ##+6&,VeH@TCT5hHa"
+
+A,[(0VjYHA31FGPkYGqe"6d1#6Vk(AJUCKAGZrqm09&Nk6+#F&$2d1a4PZqfA[eM
+
+QeqMAc1DEE-ZC*68J,X&8lNl[PP*I6q2Tr*mZlmI4q9Sk0flSV61d2TPr"ep$HPh
+
+TF1Kkd0(3hLH*&MlfeC(h))-[3X6Y(4cqM&TdG+lSUjeUkF@E9bl&e5!bi,%'MS)
+
+l5AX@Vh3#DGI0d-ZZ[Q$Pb@0$4V`D*kd(DEGS(DI1djfE1bk0eN(DG9dE'RSkHH9
+
+,iY1kS'dbTEPp@kbkp"93SCqHV,0!,LKI86(qA),fUSk&dCXrjBUPj,0K66QcG,,
+
+qKG@"UKdU!5lGYD0VSq9q%!he0(4Yk2Nk9TD*dQe(TB,QlUcDYcb--d'PJmkIdCq
+
+M2dF'LVl8b1jMl[k1'jZkA)0RRh[1XkXGUcDrMmG`2k4SRG($Tdp)aX0,$0VqE`G
+
+'REk0TGbQ6TbH4JeC0L6m[$T`kR,Z5Ii`(@KR@a6D6D-ar6qIV6lRiCSjT*ZljX(
+
+am&UeDhI&5CGLfYVGdX'R,d6JPdTG+r0UqE`I(`TLkVb3!1,ZG2UkH(@RI,k[4r$
+
+UD2NIKZD2RG(SrIY6V8qePX(eZDlF[G'(9LZIeD8l5RDApAR6ZM1dF1LU#h6JmVZ
+
+DPV8r1q2lZYVDQ[j(mfTFe,RkAi0AAYI+Y,UjlQ0l%Am%IZim&DEp)e!#EJJ%Y-L
+
+@Bbmheh$0eVIBTHbM#F"6B2IN"$R1jG`h2@Qi+hX-d[5V2I*-X8(FGhC3B[AKLjc
+
+$H,er!qLeN92CAa8K`EDEJE@XV-cB!NeQp68jZFKmXPc"YAV9keJ3#@le[!30,dj
+
+4!Z4R**Dmah4h69PU69l&VV0rq2GXaH8b0)XGiqUjh-VcF%#iX40(L5D6ARQT$`@
+
+,(-Ybm&I8X@*H!1iCZNjQ'QB6*bl'X"9NUbFEk8XQPAaN0qXUBSq*4qq9mV'V9Yh
+
+j2pf4("l8(D82''k6h4m8Aj&L2PmrPIkXhj'EmMRIjECQD-M$mE$,1r2r%0b,8RY
+
+FMmU6fH4cj0H[q[bSj0KZP`@2ilRKiGD['Ikb2F5Ul6Re+V,$X0Nlb6TYlfai'$8
+
+1K8GN4"dHmjUF4lf6JNh[QRM"b-(*XFc!5*%!PL[QXLcSq@j(f[PkqEVerTmSFXm
+
+[$*fDm[+j$RPN640dlbTI$[kdZ6IU6#Y[CMrmUIaUPHUU2XAGS3e,(*r&d9kA+Gq
+
+T"aEq8pm8cAXN6AXUpHAJe2iDI[3lp(XdrHG6FKU(dKiAfVIBPYfH`c+h%3q#[5X
+
+Hai2cN!"!mPYP0X8"c,P1cQ4qICRH21C2%k'Q8P555J%!*Sbk-YhNk2*XD9eCFmq
+
+GSIIX9lHRjRmNqKQ!%d2[38-ckNHMQIa4V%S5p6d2@JSAIj)+'KkdRV5!%d1V*eD
+
+H,Gpe6!6SqVBdI-rKMpE-pC!!#4JQeI@MkXId-a6!6[UFHG2RAI[8I@p*!*pl'SF
+
++K8rNk@LGcM,`L+Aq6LjY'Vc5S6DkYUmPVkG$2KKZFpDNIT@018i3C$P-6KAXHPA
+
+dm&baFYh1$ikUZk'p*[D'p"S--iJ'3#D(@TepMkUT35mBq3FR"YN11SJ%2lbP81-
+
+J(-e2DYbT[CRfUG2LrSF@jaER'qY6Z9ajp-4UQFe)d-Rb*8&mVi"2If8fehE$q,)
+
+FKQMj2T(03R0&pRbXIdEqR$1K'9kfZ5%jqTKe*hNc`fX'RJd`%HL!5!j3fGIq!l$
+
+V+,Pq-,m'd#DmX(l,H-l&S`8!I4H4hG5MUIekRZHPrTe2Zcq[$bB[iSfG!Z#G#KA
+
+kGr6Jdm1TAmQ[k24drr#G1RILJCer6l(T@2)`A*rP#!&bej'(dY28$"6rb&3ka3J
+
+24P"i!5j"j@(dTVGQI(2Z6r9afHb,E1MFGk'SmF3ZKrMrqP6fkRYmIrd@a"UM3XS
+
+DCD[Kjf'G1kNi1CJ!*(T@0,#G"YdbHSS&1k,d6p6lpck(NIdkRlqTqrj(p0`mQEI
+
+ld2@JEj+cVNkjG`kGc6kBFhJZ5H9KkHcFl-lPieKRSP*"Bam+2EG6ep6@e2Je!kI
+
+dV'TBRjXpL'jA2`cE-hCdZAieM5[k4kUD3LT!f5pRjpLaRjkR(11Mhem'K[DI8Br
+
+IJ%9Vd`Zh-Q3SI[5`iThEfT*T2(`6GQEXq2KQl1d!B-c*L+k3!0qG(k@KjA9djfR
+
+Ae+INkIPIaHMAmMUiZM3SX68h*f$dSMV@("iEcep5`(1RFl"[Bkq#qc"[HM$U6rb
+
+2aA)2)qhUC[NIeqN!5IBRqj2A*d1iaAPr#ql8Pq9rmX45bIZ9*FRlLZF-9RDlJe$
+
+'23#*fZ`TeBR'NJIqlqT[A2iERl9cp[b[ZkIeY2XqPelIAKkmABJl%#i@[dS0hdB
+
+I)ZrN*5+d"$q,dF1Q4X*a(4Bm+arYHM3mVq663#9"48cBENKm6Y0jhI4LdqkYc(h
+
+Y1cUE26l2LqE"rSal!aDfdASc[+r$Sd2-r&jAiEP!M1GAb[`cGAc2a@ZUca@%2ee
+
+5m%8@IRQNjG5bH'mUCh(32lh)(G8RGkB"!%H[bm0M9r(eHPqG2h'-c@fQ0SRVdci
+
+bVBDI*k@RAkdQE"r+V"+Vrp3!NF#0NqrPmr2X5BNKk!V3aSB+%&$ES'3G3YJ)MSB
+
+FLAdIPekdk9RZB3cEZISaD0haUYUVGcrNaI*LeV[NNNAT-jC)SZ&IU4C2GcVAQB)
+
+qh6q4hRM$q*GHPYb%r5UHhe,&1`BV%kTk2(dr3djrScjcMSNbQrr5,GS%UEK@Z(Y
+
+d0qK8b-2SacR'#A'L#l&"Xd1BPcH)C$r('Q0h$EVrRI'6LNir368$FdkjeSK4cFI
+
+DH4J52ld-YB%mKe!$b$"YhMJH0fENcTF!kL(8dbZaiX-AVEIV9-06FUI6UI[@2Te
+
+IhSJ#FL[E,mK6rX)qSrEfpqTpI*d+K[P950*9`9,eMel5p853!'IDhTHk6G!$65H
+
+"KMfE2Cj2,YXDSQ1VA[mQR,`AF-ZiF#'i''plQ@DNGQcTIaXbET%i)2h0XIrSClN
+
+p6NkA-dUI8jNl5AK'A@,LS9-rDLMZlFkH-Tl3GdC3%lY0kC*qCJbHi46cikMl@Cp
+
++Q3@r#qRELaUc%(MdFmVi%fbaLh"LlidLjIbTm(DBh`AHImcm6L'm%"YKAN!MBi6
+
+!qq0cVAV#d"Z&-CETYlke@TJimFmA)U4e%bcreq48CH5*da,Y8Rp!bm[*qi%%Zbd
+
+"jEb4*Fj,2!3Bk4MV#T4Tmid453B3&QK,GpU#`CMFPLcBXjpR0XkC2@XqY6Cq9+C
+
+@V6UAITdpDR9c)kFC%PPMmG9l@KmjTC+[,qj*Zm[m%[AjIi*2r$b[lS+$`2f6maN
+
+ihfkG6-rQUDpMHVj9[pqPiUcH-E9jpcKB0[9LkeEVGrNCTqdQk,+9%9Fh3jKmEjQ
+
+dFH9[)cfF(b+j`eQEX8FqRKfS0G1p$"jH(bkIPdrm@'Q$I#bqETiDFrUHPjFrbr5
+
+ei0HrVlZ[Ir`lXDA`i"'D8XI(fLjF[JH!Er#aX,-AS6RScJMXG6#$j5M1r2"([Vp
+
+E+Cke&FUDh3fSVPAAcpZ#B3A2p$9MXFb$aP$qCKU3!&2-ihmPA8ihmS"2j1,3Urq
+
+(*e2bE+lB!cd"#0c[k+[*ihp+!5VbCH6irp%r5AlY3I8i+HIQIE'ZHINpMLp,Ljq
+
+8YN+F`2LDX(KIZ@H$`Z#crRXlRKI5XpM0Umb,8kqAmTRRYYCR#pfK2r8rRYkY[9p
+
+,c1&p5MSdG(KI8eY3iVd@bR`qTGqXCd[Y3Ba(&hp$pkR2S`iqpdh,pRFTi,%'Q@0
+
+kGrQ`p'r6JbF&AH,cRCihkc0ahKGbT8m$$U4e-(1[D`dXU*f[AUcI95'5'DKJTPa
+
+)fJ,pD$`#%23`450STDX"#K$`$EHc,126jr-JmHVpDVq9,8a&`XMe$RfXrDNKcpU
+
+ID2V#$Q3fEeR6Z)bpANjfp#I*RLD+!Jr$0bcEXk0bKFSBkL"jM$D1L-aZVUD1T3e
+
+X@h6dIqYTNCepmUDF#GRh3Rk'1NCf(MBDXH[8raBGF&IrYaIaUXG@c9Qi[Te4MP!
+
+r`X0(@cGE`X'EDXN(dAjA$ES6k,HEG0fIQ'lMi&p9M-&&E$m9KZlc`[Y+2rjmf$Q
+
+%IS#ZiLeU*p0RTlQ6KeGc9`IiSrMi6fD`DV2("+#kYMmRqLTAeZ6rJrTr+2iMmIq
+
+P2i[8j16r46dDR*Ue(2dZKBq&JcCrJ%&i0ETdG0!*4r)SXe1i-RYDhQIi2j[bYI@
+
+erMrDU3e2B'j[mh'j-HP'cGkdci(PeVRjNZ[`G'$iq(@pDTdDPF!RVC+RIP'2$d3
+
+c(q'mKR!#@YA"69LfQUpJG@*GFb(i9r`!mHj"`K,C$`A1(MB'B8Aj[pZ[2q2lfYV
+
+j)f2U)"TJ%I@8IrGi46Ym(q(0rDm$rPFhU(eU2CSpHN4C)[U&[aX)RShrc)I,[p'
+
+(ScXR$hPGTRIIEl)pHlpL%a$KC2INi0$J-lRHZrrkHcQP#ZicQGe'$8B2+QQHJ%T
+
+QI[i@IE2"GD18r-qaBUAIIc2X90DTpA-lVRedH2+Q!LhQ34%B*d1fm$cI,3C4Eh'
+
+`l3q`lbahYMd&`FkPLTBq2JX1fpU'(D!*3rAiIPd2aXV$Cjp`eRHC6C24)R95Krl
+
+ADe$Sm,VF2`UeVcNf1884$Z@+1aA)XlUB#*e[m21V@2mH',XaHh3jHEBM8hr#rQL
+
+q44eZTeiYi((ph%X9M-&Lq4&ZmbI8BB!aMBT1SCER#`dYl+arqhi&#Ab,2UC,""a
+
+q&fiT0Ua`M'hTHehh`rd,&'a`[rZESCrQQ1Nd11r8)mf6KUb9VAcX!I2V90E@eV#
+
+U[*fTaEZhILhD4YZppKmf1*Gf2QDY4Bp#)rp3ER8m(&NbT[2`8kJp1fUNHXIFck)
+
+#!0"ZeVrQRi[&k[#[f5-Jf43(LA3#8GbPHbX2k&MLDe(eq&lj$Y9,m3B0`XfHik1
+
+#NG4YEJmd"LEiE%)!S123lHfKfRCTGN0"fBZbKk9NbD93!r"3PLl0e-i6$@YHD(%
+
+$GE1Sh2"p@Q`m$kh'LTd1TQmErP6Xj8AcYlLkq9VdkY1adE&GC4"%H[diYU-1JXC
+
+@YcIAk-m[EY@2Hk-2+A$fM,E'h2%eYfTFif$[ER1ZI(`e,P@jmMHVUfpDI"$a4eT
+
+m8Cd#%fR'BTr1Yaq`T!DZ6r2YDXI4bIY9B-TMYTM*1'`Ti'R(c$c2Ld,Y[4XIiTI
+
+,UqA9mZ,r%Df@N@4@*JAE"f*@l%r2X%21`-RiVZp$9UYaFC0"-,lkG5EMqpNfH1)
+
+,9,0fc2QRqVL+Gr8""8Ye,YhGR6D([(4cCVf6T$XmRmQ`X&+G2f[TaaFElXF49BZ
+
+HMqG([8c+5ipRd)T9lYTeV3fb@6Y-"#-ZTmNiN5ZI@BFEa0!i0ME,d%r@DCYb`(V
+
+a6hDl(fkBjTB`Sf9Q0[Vhm3hrTp2p[bZjFhp2IdrYHPriq6`A1#j`G2XA1a"lV)e
+
+Kaih*$&a6%5EMSNdB!LiEK4HKM3#%VqISADpXQ3EE!0A@ZFqrr5fD)AFHFblMNGh
+
+KIGLTC(GR4jRGR%X#I"MhmZ(jYq'&MeJRY6mckFYLlpZMRdl&H,bPr&RK[E@eB-3
+
+q$5*mqP#E)8NhCkR+,k0Y%"ljMbC(dDIJQK'9f'Q3!&X'(6YJXqZCdAB*E,p(Z"r
+
+QKYPl9GK2@@Riqa2IS3%q(3d1a6X$T+aQ%qQRRhIYe,&1h*kqLj%c""$Bd2T5GM3
+
+l!"2T-rGiG5&8[%Ccd*fh2VAmYEU9aX"S!c(A4pS&#'F85m'A"i"pFA1#K6SQBHa
+
+rc&[3llaGa%)M5HqM5r9cYeQ1a&&&4Zh8TXkC&#bm[0c3%3T`62BDP2hURY`lk!`
+
+ePc5cLhQ5U`ZaX4YfBTZq`jFr0q#ckpcei[J$1d9PdPk@5PcUa1V!!Rif(AjmHZ3
+
+#+EC9D8`$iKf`#9X'A(m,$QeY6a,QY&q[3BEdP'RNBiE"%+Z*cq,qAm[J6E*8If+
+
+'(EP)FG2,qpQip`"d5JkKpk*ReE*&RlC!RS3prIliJEfC,L4-%kf'ImaAHikAN!!
+
+hpc0p[Q@06m,!S`3-0qB[Y5RK-&h"(+""p3PD'$EPSBFZA[CHCIjNYcXaCa"UjC!
+
+!@&8F(-k,lLpYEG%IVpRGZESm$hD(Td@@ePAjZQ[jhpr`"[(TrcMkQR3k0$pC9HN
+
+[(q&K3i&4#(!kD[YQ`p%[L+Ifc&pUD(Ar[9HM9bGlLh+GALmLTEMBNeX(haKfpqK
+
+[plJbpr0hmh"Fhd#4)FDRd`[U"j4CFQEB*HpLMQdCA6[Tq6pUTVEHYNrcrMkhj3"
+
+Q2N`#IBUmTU$eLKI%[Fi2qYCZjc$p[T0i5fdrlZ0R*lC5F'M6aXjA$(Y8[CfI9DT
+
+e)G8T4m2q6U*p'hBXXkdG-GCePrKe-l1G$k3bfQTlkdAil[hDPQR0*kUp#i3&@ZR
+
+@XG@P!8a#!L1VGhX6aEQh0A2iMd+NZE,bTE(PiD8N8XI-NTf[l&LUA6qL$+D6MT9
+
+6`D`Eb%0j(HCrE)S,[(LUD"q8hH#erRr1h)-r-X9+Y6Hj&AaP`5mI@kH[&l-9R2m
+
+B38MZkj%2ha6bDKp"QNK&$NB$jBJmcZd,1,FRlfAde"(V3rRmr*C9p-@Z$bM&hc,
+
+q*lh%QREZKq$+qALlY$5m2`fmS))2(lM1GR-r"2hH2q#1VarqXrdmclkN"[9YlKB
+
+,@pR%GQ!M,j2phq5M6lSQT2M6'rKdBXlHMb-IZD1CcIGTcBXe#l6Qp#DV0PGGR'*
+
+ALVEq4KY3FMlGM0Sj[#rVUC[cJ#%BIh+LD5Q,DN2AZLFJG5j2kG6"k#rT9@c@rM@
+
+m5!q-Y+-kEi*)15Z%IjlQF+JHdEqG&(XiQ#hBm-NeBKb3!2'`l'M*eDp4N!"3Y5H
+
+'HX%krDYI&`alf,$4q$jpFjCb'PNVHB(bfYhqKIjTH+,B@I6MANB1pRdCrLi19"b
+
+M"*Sc"S#MP92Fe5r2@XCFfYR1l0-f(U!42RV$43d#Pr4cU('-Y[5qliNA&qlLmcL
+
+mcNmcmrq[NmQAK@HDa"c[X%@pDlSJ&hB5riif(d0@Tl'6M9#PHc*mVcmV3mIlI0+
+
+JQ*f1(dZ,Bp%BH4KbQP3D'6GlllN@lDr@jIr@ALirp-HPXqY(pl*pD2V92hkD[mK
+
+&3G*H9prQjP1RMrmDA4UqCm[Sm[rM,6Nj-LL#e2m-[(r&`FiChBfXFj9MC1'iUm#
+
+!l6[cSf4"f1$&G3q$SUY08R0%[!kI3R&YEQR&9$1TIKqIkeAeU[iDZ,99PeA`C8q
+
+KJR(T$R"k8k#KKUFRjk4dE%INY+#(KAlF2KNY1F)qe,(cpE[IA-%bLYlILb@$!'m
+
+89IjH''e&HbF2S10Qe4qY4I&hUZp$[H2lRLI`eIiBIVFEe[Pq[,Zm[fC0MN+MpDR
+
+H(r48jNrQH,plRFbTc-Ile(QHKc(c$XihdU%@MRr&qY6LaFqJD3IkIqkRGTa9)UN
+
+99QQadkfl3RfraH*"NrESjZ6rAk'E8!-kVh$iq(a+p@Z+25Fdl[`q'AclkA-a!&A
+
+,1L*3L"1lDhDm9L2(qe&HT`p++ASm[l8M*Gd('qR0fHAfCHc5qRaYkV(qI@j2CjA
+
+m-ZR*kUDLq,Dh1DDkX-BM"BUDdrek-qTBqEKNeC0lPUpfNRppKLY@Vh,2&QP`8[I
+
+Um(cq#U!EMB')IH,KX'(&hTYT@)kRVGpM`'!VV6Z3!!@Bhk4*la6*R&Qle%b3!(d
+
+,cc*(8J-(0P4QVDNcV3F1Be2SEeA9$RIXmC6!$2e*ZmL'JbF%m6UfC$EQ!ebef&V
+
+8QlP$(+TbR3R#9$0Q3C1Y`,&J!`CZpi1pCe6)*(dI&KbBDi-'5Mb$k6+U@GhRq(N
+
+N)Q,fBIDaE4hheUf2X-l2Gc(*e%9c-[fE9biR[K&Eb"Z06j8M(HpSb&YZMZr#LXf
+
+ZCqjTck%qKr2aCq5+QcQ###-pr,8&3[UbBU!DTUAF0AH2r#V0dGjeFJ`S-V$bBpD
+
+c4X`c4%mDT,8j%LhZ'kANfr"f&[DHlhXAbZl2La"HC2kfU6U9YbYcVh[N'22dBZL
+
++3drl+FA-jQNMaFc)jEFSMeRi*1#6XG$",Ubm!N8D2l)ZN!$*aF&A9c2*&NF-d10
+
+q#Per%km2i)B8RCXeQ%h#6!SeDIm[H69,@6hDYU1hi@%rb5a&,QlCZC1'bGr*"qe
+
+-V8jRkSH(k9#Ic$I,33D4&)TN8j0A$+[f6X&0ALY3ZG(eDkL#Ek9RGT`mc$j%($Y
+
+80[+hb*YK)QeRQH26@$YB%kSJ#5i!fA"5`eGqE"LL1CZ1Vc&aHM&(p+U-c+FA6ZN
+
+LIHTaGj8lfadX-p6rYk$H-8FFmE3"!%H[NiFZ$ChUq-cK4S4G3(+H0h8LbIfmRr$
+
+aFh[mhcp1[%I4URIBQ(DNMpfRbXRj'e[drN9%PApI[mRd+NM*Yaf5'L!ATPHRcqT
+
+pXGAp2[lRRh,'R$kdj&HmBQ%Vf&NbX-mAA6#4NYFV4kDi8pdQdk'd49pYRC1ZK9$
+
+(1MR(fiRTZ#$-""SECP,fXE1b[q'`QpT'EYkSGl8DmNaZTl5E&ZiRdZ-eEfb2BQ'
+
+pfjeA@$dT3i8AV'DHcPpRcqAbR1k(U)l%(d[8`a`drZ8j6Q[qiBB99GISYQp5H6V
+
+NYTJ'kL4X[jkFIIaqI6a2q$0Ef,$C&',KMJjkDZpL+aa,I6YbGG6r-B[!$%@dp#k
+
+GFGh2Xa'fG&9+M'LbfBEe)id,TUf'hQT3bhAd-cY4Ef0l-m@i6kkc-2QqZ8!YjbL
+
+,Z3$36b2G,0rVj(pGEeqCrZmlh+2Z9EdMHre3rTpfcUTq+CYMr'V'Q6JX@*k5UX8
+
+b0SLrlm,$C,e[[X&Q$cE9(raUIX9IS5E5RX*YBj1$9i"`aFjXZV`+qXNNN!$a"B2
+
+VKX9@B%[L1C!!qFQCG!+0kV("kPiSKMLr4VIjr!VrpL2dSDlIHj0`lFT`r(`ChV8
+
+iZG0Vrh8lJL(**Uq1YV,-Z6Y@M,M&FR)lXH2mhhf9+c'rQAP'KcpZI*mrM%`ADVk
+
+QMTjRj-F"9RQR@DFI%r4C1MN`lA9dTmfe0"Y6cdGZ6A0VeVAV6U'-UjT1Yhj0rD`
+
+D8Fe6acK@Adl[0p1e%%XG[$YpDV[f,qVZmIkeMXkqr3XpjCPEqek-(0JR(AjiPL!
+
+6jq6$Ba0!YSMLk9RB*LB25RRTShfXe23p,h2)j5"$p6!aRLG3Q(2,DP`QUlD6@i$
+
+V%**RKNRX6dMJi-mPpSj9cfEZ!mVipkSe*M$YTa1F'I`!Ei+R"8`9)q2pHTR3H8b
+
+jq(#EGk3k-YT1XK1fDc,Ck'R,kf*N,ZSMF%[TBiLi%NjI,[%m0!9kp"AK8r"5[G0
+
+Cf1f-JUf$`6eB@DQfTha-263AAYXa@Hp`CT4k$KJ1&%0Gmq$L6G0+@!6qAHlh"Cp
+
+bjC!!(DFAV8&3lKKiReZRR4H583F1AUpl[fF(-i06JLrD)Jc-4e1aqDTQ$%)aE&Q
+
+Gf'$)[eBIPYb@*d"LhBCDHQEF*M"(ZIaCSpdi@KYSdIbdlRVMkrZP&!UX&Ca0h01
+
+YCRNf6dfIpphY$EX,TJr54eTG[$,kh*QPZblYRhU&RL(Ip)e,FSZ5jQh,[ZM-c)$
+
+TPNFbYSSmc3XkTY#0iFc(Krdcpq(HjrU-F&aak'K0laDS34Eb@X%p#@rD$JJQ)AL
+
+G`d(KB*,A,[b@J%!3BB#MBc,XZrEL3krMIJGqN!#UbGmR!INI6UkYMH25q6)[XCG
+
+XCH[#J'9Z#5IDRj(fcLS3#IEJKJ6aE@Ri&"[@j638X8lU9fN!R*e,Dj,14p+PR(d
+
+CZ3kX0b+lhhDXf4*c1Ldk(d)QDZ)8&biK`%&r2Q)L2c`#6F65VI3VUPiQN!"'9@M
+
+#TJ&*PGQ#$l81rcre@(J3hY[pf'pMGMihmmQrb1j*`G$ph&ph'l%ekceipj5J5qQ
+
+`c6G1p6dTCTKUp(CeipHcVc8ehm)KUa*(iTZjJ+2kk9T%ZA&`jR66(5*kd4XBN!!
+
+KNhTYlUIeaqaVlhPmAAa)fG`Kh"5@*XhDQS&GRNdb[("jF(Pc[,R4UL"9mRME0A4
+
+ifMYD&H$)1"#F)N3EUD5cE(-qlGTfqGETEI1YcimMYcYc'"&&l,Q&$5V4b@,ChLK
+
+Rl&K-f$0kYiH)03mNMcqPdU[BLUe)V&@lmU+lQk1ESkHM%X#F'GQ5DDpk-k-63(+
+
+lp(1@Sl8Q(5RE8k,m8Id*ISE3"YIk'[q,AR4VJITq9b@TV@eELkY-[1YS2L$r#'A
+
+6BSjDMfj2EdV26MMr4j2kjYUiGIIeprbm*j%+RiL26&Z0$!hl-GdpQ1Nl%qVrCGX
+
+4HjRr-5!*GqC&lP$R4f)rFNA!r%UT)Bq&pf1(`[JZ8&q'G[+XBY5KBq)P"l&ha"%
+
+DAm2ZH*!!iPp'N`9GjQNfUIIkY6Z$QHTNiH2(8U9-16Hipld,eLp2`6fIeT%5Q35
+
+jH$SIZ-qFqKqj,`6F#[cHK'[rU[G$rR,lR*cIMC[+rqmYbAeTI@r)AhhYG#6Ni16
+
+2j823eCGlN`r'[bb5b5f1@2`KfIDk&JqkBqKqjbE(*jh,mRiheZ6(bE2*mINh[b%
+
+$dR31-rNbI'XFQhbE[*phifYbG6NkR*YmV8mP6Z0["FRlFeZcYah2qHfVJa!)0()
+
+C-Y""d'IJHi6&&r$qKf*HZIR2APl'Rp4@5Pc2Z5kR*`r'3PX#!BQF35h*[8iD[5q
+
+KB5qB$Y-!"Za,Jk%NZXKVYGVZr28iLA9k'pbCHAKj-[aVjlG)G"BZFGFa$Mh-RrK
+
+8B"J$9&"&LjQN$*A5A(eDRl06JirrXMfMMm&5c8XJIQcEfNV,+(ESckFXRAmb+($
+
+$3d2AKLc%Qp4CK#,G[!8f+jDFe6)fUHVQkZ-*rSdTBSULK)Z#)rT$JIT49d3EU+D
+
+QfA-kk[9QLJbRPUX[IZc&Cb2(SAU'G6LVl'P@RXIQ0)#1(KB2lac@4bITVLB1BQM
+
+""8'IHRJVbiTUUHH@l+QG9rPljA+,#JJ[$XqIiri&A**rm-3"&QlS(rD9Nah56lh
+
+Cd##q'eLGV,k$SrpV-[NbphK%BFl%aI!fi%I(a'@FMT+*VcTp(2K!)GVLa82re8U
+
+BdG#5$YBr2jl)*NHKK'V+mV5,R,HYEf4q'$U`+be$ed%'k2DYq$fJ',",jE[&+d3
+
+"!)APAVf1`qhD$KrqIa)Hj&fD2CbqcjeQK,4cI"r8Bp`A%e##cpZaE3#)"L3$HR8
+
+FCj89"!0$2IjGiD+I!Qp2CpF##Uq-3I%%fF,eA[+[&&ZTTD[LZDpM#!RbTrJ'!DI
+
+B6r%#+UhKHKKRaa6mM$6RmbaT@p$i-@pLp+KBTcjbk+,K`'0Ze[T4l[(rp%KhN!!
+
+DcUA%cQEp+SJCRF3m+(ISL(bG-56jmr2F0"4Nb#Y&bcJrM'kN"(Rb2JJR`-rS$%!
+
+*qKIV`ald3L%Q"0R*$ZBr383$`*'[#!36J0Fbc4Mk(k6`m$MhkRYmIfDQj8[mIhU
+
+RCUEpMXj[mFcZeB%!3[SYJaqGh)[d,8r9Ke)VHFTS*d%kr1Jc-01G6q$-A6+TbF@
+
+AMG#[*jMBQ"*C+%'I"Qh[!dXfE2#kiPRd*S26CFL6(e+'ahLjT8+cBmqVC`!LMp+
+
+TAB3!20#20PcEHEKcDHI(C6cV""k$d34%b20rfC[ZC[ZC[ZCrZ4Il+*,pRYQMK3E
+
+i8'ri%B6fGRmmrYq[a2m[kP5a'8[f#![A-qE0'k(JG3[dGUM0a*[2Q+!+Z[%$d@E
+
+Ri@Nm5c+2ZF6h23pb4`S1*&h)S`i"K[X&Nc'Z)2&h""6c1AfY'#K"NIDT`mf(m[h
+
+M8-+F@BH3!%aB#ICc2E4%3kU1a$,&lIIfFf26qM5rNLqK19VrGpf+TNF&EJj05I2
+
+bbEk)hA-E1SqciH1bF2(FLmQ$ep[emAHSiDfpQlhNle(HLkmAqH,h@FCL*2CKJXj
+
+PplhR2NV!k+3qkp#6EbE6He%`5rF@rZ@L1NeHl""Kc`r!!JM9B)+0J@f5[VLJILJ
+
+JZl)(DNlqE2q4"UjrXmLUE(fF)3YkL))lU$hJJemrRcJL8(k!CTIiB*efG"e-m8+
+
+cqT!!D@IT@1TBRCmpQiJSJ1-'#*13!*cr+J(aGJH1@,QHa,p1["""G83)#0'aSf0
+
+(2Zf'Id#l%Er9e1G+["q6RKUhi)#G("EZfi%EEfmp33MF8EMYM*R6MDZh3jMIJc&
+
+2&c(`i!,A$"0GQJQclS"%"%eMAXIRjrLf2rj836STm'eGNJNcp##A2PJj@IbE%YL
+
+8%bYIj#3R"0e26JJfUd'aY&q,YE%dqD(DV6GYdS*pfI"2cr51Fh8!*k9LHI*e&T!
+
+!!L$"Kf[@JhYVHJqPYGL$XEABQkmfpYGI5j!!V6q$(lN3Q$XMII%LTEr0f-EBb[V
+
+m6bZEEEd9cqp`r-X&dka@cIPc8GbTYr-YplEk9ZMY`TZiiXQe(T%T,U6M&I*1%aS
+
+h%RD1cUc0IHk"Yjf0$2N*QXZIJXEYMGcpfVZf,ki&f,91HA$"(SIAZPLl3q[*Uk(
+
+ep$rM*Tk(m9T62$Ve,kkhRp90L85d`f"UA91M@db3!**li)j!I(h#!4F1P#q[cjG
+
+#rBN(BPI)6q%I@S+)Q#!61qQ1bV(&2[cbN!!aphK+(XDY@C5TF`rPVl'Sk`$%GG@
+
+ECJcf%pfA!X`%$SQ,15q2aBFrL@1jBN%bm!LM#)#4jmP@eBpV4c&NEEBHhEkRlEp
+
+N#clmKXa5N3Z12)H58N!Nq2,83$TLTRi4apel[ALrmV2fIKlpR0Xq0clh+CQm3MR
+
+LaRKDaCYfD+#cYq&EXfl0[RlFX(LZ,pDZH0M+(aGZf%0RI$QXqaC*`1GDmT4!(r4
+
+L'29d*m9UcDXq6m29Xl(-YI$dHRSbD$$Rm&MFXEQH[b[C[I$[@F&RFq(ZG1p)Srf
+
+V%eHD6509IAN%eYh[jYDcUakSQd,(*+e`@2FXHjB(D1ElP$$CpciIZ)"24r3Ve&c
+
+ZiCpV3Yf,YLm(pqr&`@H$iI[QJ*l(`qVXp@4*pZ+M12IX$[Spmc`3q((CXq&0dr'
+
+Np0QiD'm3hh@cq$0'),2[I$l0RIq(fI4PVq1Z!Da9UdM8I00-@cJ$IUF,dh(I!cC
+
+ZcbMGk@RUAG66e!$HN!!1!P%Y#a'l+HA"pIDB!p0!4%!SESXj#d2$hic916#!kK3
+
+N4NaY@BfBK$RqJ4,&NYTpb&l8PI"",qSA9kGqaBVbapQRbKmTl9QdZNh$)G5m#AY
+
+@pAKYf*8lK#p`if'c!`3Bq#Dh,EaIIqIEih`5crcrIiY6Le1,lpA'Xcf##e[5Ajd
+
+AT4mB@%1P$9MpQ2pLR6lc)F)#f6hFc"$*mq6MB*C2PJ'Ub93$1##[h+d[#`3E(6r
+
+e8!c(cF)pRhSY@,1Ur@CE,r8qeUG(8e[e2jS+QBLm(r&0K6-rc3IX`Eq3!,0eqRS
+
+9)DYhqB-U"hLjA&iYhrqdb4Y$IE"fh)rhH4pl8cIe2q960XFcb2[HP3SqY4r)UHj
+
+b)VD`&Y$qH5TiA"CkrKGHcl2KGH@TSIIPkh-Tm[[E2Ad2VS6rBZrESf+0M3`j[Bc
+
+HaQpMQI5cZaSGL6XD(dT1`VrAL9Hj9(ZhPe2,`rPmrj1[SrPhH$4Md3*D+Pq-k@Y
+
+be[dbCQN"9!)bbj%9cV%HMVjr"3TLm0621b20Kba[aRYGV9GZa8d9$"`Bh9%&6,!
+
+-2"PHl94SaSMl#+j%CFqHF!fE1baiCRUr@0Vp""GJdbl(TaHARr+L-HI,dB[&@l#
+
+2GKZ2D""Sjr9S6S[4#!p&K!A@%!KS-!FB39MjP0cZ)N!jCKECkkN!),*cVAL#PY#
+
+e-!)*l6J&GlZ'!caDE'!-C)X@@"22BAdlLMAV4h-rk8ABLl%ABcqa&emhHbq[3D)
+
+,Yh4d8!PflDR@ZVjAiEGI4dEA9dG'hAmR[Rk%(PIKYG@eeI(qqJ'!Bc0$I#!"&EV
+
+fkkJEN6*hM[`S&((9dIU@rhTZYFrlhl)$ar[c8d!J"-QdZ)Lr43A+#!4!*UUD$3d
+
++pG!*SD%Nk5G*eI#r&AR@0'Ak(-r&*LS)24KZEhjH(BYA,9cTA0r6m68q4j[Ak21
+
+YG'e[fYK""k"X(I(qedSpESq9qk#6FmM"U6rmH$@2RDfVK[TfVP[b-1VIq6*VB01
+
+rT`qGIk*h5D-1M9d9@Gr8"KmI"dJ#A$U&ZEQRKr3j1[TfZYSel5YqpU%b56UTjS"
+
+*C1AJq*BcFfam!YHf1TY@TGZAhZCCXlA*p1ADPhr%`Fb-fV"Y#br6p'$b-(j8p#J
+
+e*qT2mJ+Er(Je6aeY-iGiHRar)lGb6r"Jf1cUpRm[$Fl0cXS),8S)NCZ2`cmQR*j
+
+fIdC0(fVHa-VaLIQBDQV9hUZ([pkVJ!3!BbEGkE$#MPV&Nd2SclP5lBqYGZBfh4+
+
+aYMEYh*pbMGKCX3E%A"YMpDK[e-%HrC0Vc9hbIK`Cq'HbKKZC&qYZH&hEJd2L!C%
+
+Y&L*hmK)8Z#1IQB+GUQ1SkNR'[pl*NhkKr#&MB+e%`fI@mEraLhNaX@BCZ*X8Z1c
+
+$[CIFk"Pdf2APi%V9'H,JR`3a,YZM9V3Zd+&heS+'CTdqCQC4P)qY+!3`0PmTCa`
+
+FN!"C6IF5rT[F6!3%,d'##DFVrDRGiXI&ZmA4iZL`$1!b[Bd9CHBUF!dP6"B[3K!
+
+4Pj86Hd"8hb9)"RB2hrMmUabEr*KmXjXD&qR9Vh0(e'2pk8&6'VmqEHd)Um3",ZJ
+
+B&8Se-j-A2qNSJZe,A-Y6IDd0'[dG$Sep63e*05c0,UCZTRGC4!1,qCG#!dkqQJ%
+
+d,T[)4@+(*SFre9%%P56QD%hm)(+,#N8S+[*XFpQHA*4NTk(`qeDA-Pc,Y1KQ8+P
+
+2LekfL9-eYl@j2$%6m5qP@(%`a(J*d[iCIiB*d#V1AB,PhERA0(EdEQMFdEZM1XH
+
+A9mZ,`+XkaM+I!P#ePA0FdCQ8Eh8ND4SYjLp2-AL5KpR+qYMIkX[r,dM*Za[Se[B
+
+RlU0HXD%6FhHmrmQ5P@m$%"lCFU`a(dLU6EmZrQ&3#lpISk[QD[QG(8k-`"1MpTM
+
+VI*`ml"V&PXX[R1N!41GS!P9,)49-S%R$QiG8f'Pq,[T4r!RaP(HTUhjS48)Z0pH
+
+RQI&qhdDQCpLT9bIjUPbVFUkq9eie[ViT-JcZr$`DahK*hM4ecc,Kif'T$'ZU4$Z
+
+m,$(Zjem+$"6U8m%B#%!NBCKZ%E&9Mm62el('l&A2Uf!#GMLjrH+m1EPf)m2`9Y@
+
+c[DH'M[dX#BhJ"-,-3b(FL0ilRB096D4i-P1m($8j-HR'Td%9VKBDRVe23jhVr(`
+
+8iDRTeIa8c4*MZ8r9laR[)IU06h2LH0VHjNe+QD(!34lP6X91Y9hDbH0m2#qe&Sj
+
+2j(0dYE6#H9BQR,hRa`&44pa""8dCI@UDHCr)J%3#6k&hm0(eUQMBj,-BbI1d2k)
+
+[@aD'KplNLU2KIbFfKASF[kPHGAa2+rS92hlq,Lk(p2*4J2qQ$&b2S3BYhlp(Ue2
+
+NZ%!b[BN-e)EDDC3MP&aVpLM$R))*Gj)0d[daURkb!3DVd,[mR&Tbr[6H-V6f+lp
+
+B@9d&DkU(N!!*SGD'[GrhX6JciiYUl9cH[TkqIbBY+lMST01Rcjp*QDB%"GqdK+3
+
+!kNpE2pE`J$!+keT5JZiGA9mRId4cPj1!HQlp["0[r)hlQ#icVlKR3p2H(GmQRIZ
+
+5#r9Uj0dm'R'GpY5Fc8-Y%brFZ3H6Yq4VDHTF`h,ISkf0U%c8-#T!Ai0lTl0cHmM
+
+qI8eY2f06@3KZRfCh,aR,Xq*JkFRNBG5[j1TTpfj*FQmM"dl%rN3ee$jp66iccfM
+
+(k!rLmM$FRDIPqMjFrbaTiP"(&Y6ZlYDhMiCV8h`D9[aXr5[p3,+FJ%EhEQYqPN&
+
+[FiGMY@URC#0$8,fGJfT*V#N"Zk@#DH%"Vk@[1emGP!kISA6",p)aVI5m[8mX`&!
+
+$HN&p4m95HNR5p5A5[c$m3RlAd"JEDA%`'Q5VILIB2@Mi$eLeY6edIkA0cdZa2kd
+
+2d)&9E-Th"qT2djqRJdi%!QQ(201FAI$eHR[DFZTi[Nl`Kj!!)J"k1TEeSEFl8Ck
+
+hb6Jkh5[k5!3!N`ZRG`cDX(kZ)`cX#N"j'$mM&5(MThr4Ja-',2S6jb5ccpIH$SR
+
+3EACdTCpM&r%(!2%9fTD5A,QRh,NhSi,RYcL(Ja2CNF2c2a1AK[MG(8Vkh4mIr`E
+
+c,i@ARljH8q9q'DRFS-p%9p6[+q!m6HkR5$2pUPl2Krr9VUZAeP1I4d,[fiFrLP@
+
+I-X&PNJdSklFjpT)c)F*GhT9!%9$'VMcF(1[G*Fr&JJV&F+6rCP8`*Fr1eiq#0CT
+
+6K3(*c1NJj'$TlNRp&IRFVbC2CjRCjhNl(rl6Si%N(BZl(ZMJMGM'p'eZdm5Tq+1
+
+$Li-UIjmr4CJ&bF,!HLPqk3#8J'd$!pp%*@F*j+Er"6RS"1S1$XRrK(Sdp,,rfr1
+
+r)NdCfNbR4A[ejDmYIAp(f+i$%-6Qkh1eZPV6pCLR%QjA!Tk9MN&'N!!*`5EpRJc
+
+[f0MpfG6aPV$)(Z62Vckq$dB+q#["A`fCh0m[T1*mQD$*GjCHIl@'AGjHkG"'li2
+
+Yr&krbpf#U6H!3FcQCZEPjG@Vb19Sfp$$XBKAChe2I,Cl)Z1CIcU[jIh+[AUHfA6
+
+IHUHh9kk11)SYPEqf)Hk8*fh2(a(BbIL@2N9ICSH*9el(kpZSTrjki#lf(DpVPI5
+
+j2CPqYTBFhHXle12Q9I'j"hRS)0iHbDZeUR6KVL*H[TAl2fDH[Qr(&IG95J25L+E
+
+E`9*XR#Mr+a`9F%A"aF0YRl6#5f3jlE59'XUF1LRFcbkIPfCdbl%%N!"A[mbAQ5p
+
+6AjRXFb(QAl-(J#%96@c4Y8SJY5B1BC2HdQ6qJ%JXbFc@Tk2-QQAQJNeCIfCH$Er
+
+pMXk`5aJ%QPXf63KXq2T1Il!f%0[JUHj8qU(LEeMeU[pFAX9I@XI`f[ie1J&!'C`
+
+DABXIZ)hjEp*-e`Gk29bF1[*jH$ANr,`kpVAQep[DhjdFqTLUD#RIT`p5rjC)V"*
+
+,VrkGI1r,`IiG@2V*9YEa`&&NRRCj@j5%#FGr9[8'Crj%N!#B86"+FT`K5mDrbE2
+
+-jI4X#f#1Vmc$NpfR"NhmRm&5r8KbEp1$NGhNafZhN!#U-dkY%-(4MjT9AKqlGZG
+
+jFiYbAdFAq+VLQYNVM,%lN!$*LGV-[hF2PIKFaC%k*fr&*1aj'#dC#h'`bk1ZQ6&
+
+DM$M5+D[@c3*-(*eG,c-MlFG63rQeD['kpAXeIjU[AVFL0,qU&j)HA,ShBrEihi"
+
+'(6Z8-IZYdh@If4jUF@IGG$j"X31%'#aRl8-9#TSEH,"9pkVV5e-4)GQ,9,Q%I,h
+
+j+I,i%p$HAqa*L@,A1XDe#QSrL[aEZhIVEZAIcGh8hBVm"`a[5IaBY$Z4lUA$2,S
+
+Drl(,pqHE)j,j2J$S+cfC$U5(&11mfNBarcHl"le@h9SmK5IaiqK($VAIbSINF6X
+
+m@@AaiEd1j9QG-m[b9MpfYMrT8D&c)Z)"+%A#V5k-Z,iV-%H6KBBT2KAr!&NY0ih
+
+k%2D$-plH""[45H"Kq&"T`8-%8&#@K+A'*D5bULpJ05ZRKr-jRPmcSi8cl!*$TZR
+
+6CkDLQdY1@RVrQHajF24[kTB9,e)CE90EM-9@JThkN!"jIGr``I([khNdpH2lQ6I
+
+05AlP2bkRN!$@ZeNd-EhjQ(A[DUbN+F"-Q1b#0MGDe&Zd-(`TI![kFSEUe&mZ,fc
+
+l-m+MAT+TlS59j0#l,lHK9PLPkr1rd9lCIdHl,Tc8-48!+'I(ZFU#KGV6@Ghb)D&
+
+@+)5HYbd(""(*8(KRam(b)2bm'U'X1G41[T@pc&RE[f+G6-MTh3#4dkPhl(-Umb,
+
+1rc5FR3rfVV1eE&3iMEYhICa&jk%I9ZldrLcfApANaD[#`EBa`PrT@YHEZaB+"em
+
+@5Ed`m#RKTkA8dSqa9NVEFIY8j-l2eC)mr1Er98%%F'dQrMY9B-V$jmkRe+HP6kR
+
+4*CM$J!J)qSNfE$aDQ9JmmQc9,e5pVRjNaYX-cplDCI#BrHr"XX1N%E+ke"hd)1A
+
+hYMcljC!!CDR)erhT&aTSrh+G6*qaYkf6mQTfZ0r2hZYml@UIBUH68mR@eT9[LSj
+
+8XSp4%aVr&PbVrRbmE#D&@pUfC(,Lhj49SrpNR(8Bk@#Y0jYP,P9RakDQJ"p,([H
+
+PUe*)rXmEPK`!4"0SPq1he@@G"HfN`)J&9F&DpXV1bcQE$c&!*YVJTp51DU@l0RD
+
+-%VEU@p@h*YU)0`85QfZcNp`9+`j8IS)JK(6Tp'Qc+M'pH#RHU$#dH#VZ9X%HjRB
+
+GA4UDH6q(1BK"-&a-'!QTiDXGE"Xm!%1#RKeEdRkUU3&)#K((SCRZbGMmlX92EUG
+
+HT[FIVapHIrRR+iGT`k(YdkZC9TcCL-U)E[mHEYCX2K`b3k$(2X%10SIkUCLQhIT
+
+`bk(YiXYAfjCTTUZl%b5Mdb3D5561+Zi58L9dr)`HN!!%@*VM6X)QGe$R0`EA!Fl
+
+)"0U-QaXmdm@ILIDp+hU@bp'Jp,2mMlC,6Uq4pEdUXrN6e-jQAq0q!Hj$IbeeFMZ
+
+XYKS"&bQdEZGhTfp2PA1cTi,PS,hDZHpFl2SakPQ(ajbmkS95p*m!@ekDm!Um!JY
+
+d,1Pa8#S%`1`D5ApPhDrIdZ6"b4[1KZhSI!h0eY,VEAm-hm4rlIa-ai-6Y`am,lX
+
+CHUXLSVMM1H@l%QFc*rilBhTr[rcI%eYE@bIq05R8rpmRAU#D5dSjD0NHb4*piZB
+
+iDA8GReA,TqKY`am6SFA@P6F2`%5AFK-fQVZ-h@+%G#1Kr2GMSG([qYhhK@E6ikr
+
+EAJXFBjG-R"q2kiB$i%Dm*90,AmV$3&kEkr8rh4q[rIrVm6JeIi%i0'0"@BSB(Si
+
+j0VC+UIfUR4r(r0r+emRrh'm8FHFbV(`X0$Q8-flQd2qAIj[IFcQIHjR-drK82km
+
+K2J@ba2RKIDfjZ&r0hZ[ar-m$hXf,8pLMr0`[,SmQ,a8NhBV(*A89bGaX22h0G+X
+
+'R9db)J[0U'rcaT`N[4CHh0`IQ$M-b)Yh*9EL+'KJS%9#+$[X2I`q"IjKJQ8-G1Y
+
+K9@![`3'%j3`9T-Y2T+eFfSTKhC9SVHh"jFqTM92J0jli+RZIMqjq9lJ#149jFIi
+
+Sef'cZHhS[eG[hk'YhpM[[cFf(i@$6ek'[3eamdX$E10klGZrU8B-VlIIj[JC[-r
+
+VdmfKQd2YJ%q@TIR56%FeZ9q[hrPq"6jQ'jR4Fq,ALrA6JQCjR8-0fS'MJlrElkh
+
+c,I-fp1h3fk0ZPYa+YfbpYZN[*#)LMbm'EHdfkC5XQpq2Ic2hBrhXcrG&&QI@Ph[
+
+PlfEeqEej1$2l')N`h&h#(ZQ0C9c")I-hkPA[2ClhIVmbhTCE6r[$ckm[Kber&d)
+
+)F%-fK0$C*5RCf[(VUbkK15$fp$fj*HCiZKZFblc$lcN(UqRaSrYYFURIMDNccJm
+
+c6a6ZkqEVf0I3ejrAiDNrPal1eaUSNM9p,DidG2D4i$8MiZ'1GN+RjSaCfr'8ZE@
+
+rcBZmaS)1&IUGITGHael(Am*4",EUIZae-Mhp'TbIcZ6VF2@i[jhkIf+D2Z04NP+
+
+eDcT-R$2R6@2$(MX'UQGEX5mM")Re)!5X4932H[cCDQY"[8-HT2rb+p9469K!)1,
+
+@VmA$9dB,"RPlQbNPMGTeDLTZmM$hXPX`r+Q$'[864Ap#1TVeIrliY1YUXIkfYj!
+
+!J!i$Hq+&eLB+)cDk9MPi8qF'GURI''AShqE$aEq+V4,QKG$hRe+LL#e&R8Sk12K
+
+QLq,pfV[BhCiIqkVl(br@XrX9r&X,aX@V2KK-H,Jj`6'0B-mZaXJq$46-QefM5EM
+
+NY@![V3G!B"2bX&M@XDeM@jDS!H2KcVe1'ITq2qjcBDQRMrD5q#q8Tlc""ArXV9i
+
+UqMrCc5CeLrf49kB!!!#!9QKRQ&CiLCK@CfHBH*U+KfCSCjKQDCUBH*UDZSQUL'C
+
+RH9HSChLEZAGkCkQDUkUiQCQVUTZV[0f*QV[DL*PRGBKkHVTiMDZlH(U,[D[H`+U
+
+DQiR-LSbmc,c1cGh2[,ZCQUbF[*UpcVZUVDblcXl2QCZFUpbDR-fTQUbVbiQFD@8
+
+1!!%c0'GRLBQUZl`0!0"!0&CQCfChGhGRGRGhGhGhGhGiGiGhGhGhL)H(L)L)L)H
+
+)GiL(L(H(L)H)L)KiH)KhL)L)LBKhL)L)L)L(L)L)Q,(,mb,c+&L,c'Nj9-"[(R'
+
+9a!r6%'%H0KmGBQEb*USDidbYb*HkQBrZ6%h1ThK$r'TZfr,-b,Z6Y3d)[HLcB0p
+
+%&i[I-mle1$jhD8FAEcG2ZG['XcSpeKmGidF!-ad'@0#TKa8Hq&+9+#$a$)GX'3k
+
+SJi([I8S6ERpl,kX8'jqVLcD-hj[T$)qDM*9""hRXm5V&da+ECSGF3Yf-E$bkS[*
+
+dD(dZc9E!(`D10KQkHETSJ4!ZcEi29UF,YDY0PN&`h@ThHB1j--bE1h@#,4m'l`j
+
+DHe8Kl9FLY*DXbGNp3a$4lU!5GMEZ##MGSGUd&9j*9e,(aE'PP!14dHN%P[M")%3
+
+V"K[DrJ%K*C!!XQc4AVajb`G#9TKXl2EpH[XhGQ(VTJX3mZPeH$`XeY9jI9*#%e*
+
+ILd0,8dZl*A(&59TBS4XqAY5e6m4Uk&VBUk`#-feV"RSq*`Fa8hNCq6j[EBIH'R)
+
+BqX8r$5f+-G1l`C9jPQSd'RPK[320VK'l&LT'e9hMCYD5YVj8hMIN-N[E!0dB"iG
+
+9i,GDJ58Fr$ZTh["ZRB%['d&D91UlS8A!4RAS3l[EdHYSrb"hC$[LMVkqFa!4Ec*
+
+SeDfR*Y`G1hX`G1$pkhpU#!r!h&"3pLK8S906f05$8J!0-S6+(VM*V&X8-jMRNFX
+
+NdrhPE2#qhNT-+Vim@0GUI4c'`FCSS03[EIaCG(R"r21L`4HK3Vd4$l1A,RR4BYI
+
+ZHe6%hhqrN!$"V&MeA*Ud1jNXc&Hm9ZT@kK4IkPVq+RcZ-CT19,@iYDp@qRR'3HJ
+
+JUdU9'3Xd&"',8Llq,`SXb[*Ac)j13H-`))rV@*f0k&Q23j@,UEVrEfQ2fhqh3e-
+
+A8aHrlEd++Vr)khE#e6KN8aB"dlIB+rPhHR2fE2pqPpT4!8AB[0VqAR5iNcGQ)6@
+
+)FJi$elZ[a(CCh-rDa[`PR8[iq6q'M2Sc`#IX8IjI*Vc99FKrD[p$'r$&d)P"&'a
+
+4iI!XI0r$9S'"bV,cFHRVCY(0aKJKj%#!DM4bI[q1Fc$c"95'Y1LbEi"U-NNb#Gj
+
+4Mhp(KBZlKpkZ5K6e8N%%"Eb4JV&F%cY2hHRifR8djM40j65LpX*IfllTjhZjhM#
+
+REYYbGZCCe5r85C*MBGCe[kP6pe,bhE!HhUeLYaYN0UiQ)c3X8+(Zl(MCdb@BL6f
+
+*Xq50f6$d0VG-IM'PhqMbp'RXc0cf#aP2"[l9#'Mq@PZ2*p#MH16@p`,hcI[eBjY
+
+kEk+V20UEj4)Y0Mdd1M1iAGHG)eDap@e5QpHdEa+Y[6VhjEr6MkF(jA93X5j"9%m
+
+),Zc`rbck8qP[[k,(LITH"4dFI[DklEI1'4&22V9qVAdBGRhADq,6X9SHV&SdhEE
+
+G`$pbl6lE$AfBGRII%XeI&9S`0%RP18a9Th[r64i6llpc8rFarh-Ipc(e,&E-BI)
+
+APhDiIeUqe$YHkqVAf[&fYjpD%Jc8pT`q'44NL)k6lNb8+"fIm)J"Zh'65#`D0-G
+
+)GAL9Y2bkA3@1CSdkIHHNicFmPVpYk9REhHhNEIEINmAESDG$p#UUh,X1G!KR)G+
+
+(L3j-[%Kq(rGarQEkI8+JNa8mCXiYpA)0HhV65AD`+bF&'Y40pP#GeVCp)fpC!)C
+
+M[`S0GJkm$p-hSMHdA$R0T"frY1ck5Nmm$pfYj-YdCC'qr6clA02B0Fhma(bcBEp
+
+MBNpEb+[j[Z+$U[I-6V"IQeLdReVp5lbc$",16bh41RER@R6T"Q"@raGplEbFm`)
+
+C@br9ZKHADr06J4`mddSVZ$QE&hBJ@Qk9GkbDfBQ8[V&0TSp'AId9k4c5d$ReV[9
+
+jN!"G$)KPr"3`@I`[)GbMmDCr8BZqK("I`adFk@r4-4%T'`CEB[p1!YIjiEcQQKk
+
+J'Zk0hEj-[-G3HMQI91-ZGRIm&!ab#4k-HeIk8bKf69m0'rTR1eYFhDd-0hDjLG$
+
+fd!MEZZS24EZ,fH"@XBE[,KkXRDQQ0GTE0(4UjGcrBkfA1LeX-*MYaGDe&Ta8D+E
+
+Dr!5HmTIE%k2@ZP+V$6ZmE2q9Rj@K@rf9V['Zdp$F-Ke"&acG[aGH,mA'kfTCal2
+
+CriU9hIp#K2QSqLa"VQHpI@Lkh!`pceY2V8HX%l"`)k2qPQ8p1$MAiakfGppq+Y3
+
+iAT9Vh'fmUK0BpQG1QRhbZB6`0XmTpHMr#ED[m2!ek',0E#GQbHR4)Ph"p,i'Rmc
+
+6&bjZLfG2i'R9qp16$pa)V32h%$jB31M4ff1GSU6iX(5Gr*&k16GlR@dcpkSke'l
+
+`,X8N#[JJjc9P'M9LRG[r4V3,ZhQJ0aNbqPT*`eS*GDY1V3mEIeV2'ZJ32(QXBVA
+
+2DIh$aS)pBpc*mZ4&fqhSAM#kfd`ZQ`[&b'X[X[!aqRmR'4T%QC!!Q4ep)PZ1b1N
+
+emheTd4I,R5j(ilP#iZ"p-mrF8jhe-QA`kXrdF@ZLebh,8QeD[#r*6D[R6jBfpL&
+
+YP'G[q4ll"TE"l1jDFQp"IVVXV[-MKPRl@XHQH4YErDXiDiPb(iZp2HaPlZK2S6p
+
+8qXk(ZpAh8baUf-l2cTqVLc0fT3GK6jJe"NqGLcFMVlq'c&AZD(Pi[ephd#KMc&D
+
+d55SS(MIJ3jY[Q"-aR,FFr0Qhd4H`bEH4KA(DLZY3ESXHr-J6U(MSZBdh-@lZJ$8
+
+Sq&JMGfr5eU&h&bF$hH@9!$pS+&[M[cU@M9fETrlqa`fDeHYbCB3f%rFpNd)#+hE
+
+MMJJYb9+&XKPfk&2Y+e+Y&C1#"q%"FZ3Q1CDeiHjKQpPir,Qdm@"Nr(JJJ#%&#Jl
+
+CI!aId0a3AEVmd$N!NiQiFZfXacVdlXc3m,2Qp#TPal8dm4*[P"[[fAKlmqA2$'E
+
+[$V*p2lCNFEGh4A+ZqMZP1!6S(h[i+*D%6S$6500r2VM`'(FV[B`P8HRRalI0(e&
+
+E2(mXYiN1AKN`fbM$V4CY20MeZC!!45eZII*6Pk@pclh2Ljm5bI4qX(VCe$QJ)bZ
+
+leG5Kp-ja+'T3!`dD$kf0q1RYap2QG2'r*@k9rT4G,[rah[flfh&Y8&3!'&05T3M
+
+k2-MLZ9Sp@@#-j5DiB#[3E"J6pEVjF9k[5rTT8cqepNrlj-G6IcE8eCYSL$Qmkqk
+
+pD'&!)!6&C##fGRkY`J5*cKS"'Ab-J!#"300TkeY'q9UdJ'eVDA3(T!6)FRfCJ[L
+
+l!31q61h1!Fe!%FaHI+L%b[`+diYqiPA@T6TqrpqbRU"aLbL%T+H[3V"1D2%rDA5
+
+ia-bh9S8U%NQc3KYQH"8Kj@c3N!$mX-DYI-6R8,H55`3#@j1FHeUViR(!ScmeUf9
+
+KbUh(`C9E+`FD$K5paFr9[M`NS[S2a["V48H"++PD`$-)89'M,EL2'44"6Ll@,Li
+
+DCjKF#M6`fSVS)TjBCSPRY""aSH&jYESeTH0dFUdGj[QmECl@A+fFUlh&10H'rM6
+
+5@KGbX2(d-V3bX2')8Cf6qM@bkhHrQV+q(H#I$8dIl3$ZVRCmZKTAHPRe,Xc`&jE
+
+`h%l+!*am&DQ("BH1!EYF0DR@CrM1*Q4Kk9X2'B$39UZ9TC@PP4pV(hUhTHC"Rpp
+
+S@,XrQ6mr2d,(-RmRrRS@0#[bI@d+rJ+IrIR4pH1)I&QdNZdFQdXJ-Lr0BS0HY,P
+
+B1ef10JVE&E"@ZFE"P(E10r[e2c9A2FDR@M%)('SV9Z2keEUKSZ$@m[[9Y(mE2VE
+
+H9@-9E2VFl+PiqGP@-UJ!61bTIc9AIC*dAF!!Q6JHpD`QG0l#Ma9SY3`4EMMrm+d
+
+IGE([-QYXAi`&4qmj34Pcmj@AbpUd+Y8iNK(A1H[BPrGH3NQFH0pN[lZB[4"Y8m&
+
+!J&h+GErG2h1p`q-qk,5P!5REN`@c*+qH,i"e)a!%lC(6fM3VBZ41KbIlI"-(#CF
+
+6&ZHN!$$B4`+c"SE92M"j$D6DF%%keEmZGDR9FQe3UV3JEqrFG"3$6(1El-8'5V!
+
+K1mV`94!BJ,H''j[1pSF[&cH--AN#6aLmRE@Rr!H0H0c,$Vd-fc9hRVZEI+8&Ue9
+
+UfV6aliC%f!$bi16)!)2*rAR`fbj,`[b**0(VLCIUL$GaC-Y2kqmpU$RlcfSHJJ%
+
+3#3rrTa35`j'mp4$E2aq%U)MiF"$0LPYEGAEUiE@[9jeAR@ZI9jm%Md`",+Qe0Dh
+
+!V31YEb+H46V8eral%"L,[dC#C%e1%`Ajr#aDURJBR1JpN!$Dkr#kp2Vm(fE-AEH
+
+c`m&12P5c)ZbA1mIJIkp@l`m2"kp1jhf'CVpNUI`[@hmC$m-eA@eBU(!S3HlVBPE
+
+%VCq9h2)8jl$$AY4@4dTCfl1'eYep[&`pPYq4YdpZ$pGAIRBBhqFkVGR8Kq**hi#
+
+02CapRIqEqL*26P8H'IQEUjZTV'GeK[dEaeTa48Upq1$A@-[1RAj,Nl0h-R'ZcYR
+
+(K4-K6rL(!+d*6C)$3fp%F5P*`r9ckZmp@C4QINYdBQKm``r-RrEYA5#TGXr-lEr
+
+CDZelf,mRXXlQpj6@+c$X$dH#dHT0RBXl&V"AZiYhXV[NG#Rd*Le&c`-,-PVUGYN
+
+@DeRrk$SBUjeUEbAac,*DFI[6,BbCD-G'[MC&(NEh!N*DRQmTM2Vl9`K-+8'#eX9
+
+pM&`Ec4mE5Tp,F0-bmDIpQ(-YChEIf@Ip9RqZhU@-l&cZbc2(c+HFfEf,PI9SC2)
+
+mr&j9'1hqA4-qF+U-!ek*@RXk[6r[8I,a+m1A&jqpJ6$6l$4l5RiIe0aZ9kE6!k%
+
+RGN#QAiIl1i&cY'Y5THkrk2[rL4B#2NjdF-IDBHhZD'Z4Kmh&c8KdU)$QF!m1-D&
+
+$he$iXZ23!V+!A%aN3qmU$D%20RX2i-6q$)&)q`fF8l9RTI98mRTCUH8fXHNSHR*
+
+KRE1ldFHRmTA$G3*E9SBNXqJ%p,i"SaNb!b2fK,cKL,NrPVcLi%!VH5c1IEpUGrH
+
+hGcXri+bQm*LNGmUZ`m@PAiXGj2FMjkGh5GfcSqXb$XZB-Y%!RAQl%klZm[(b2PE
+
+QFTRF@eLeG$`l2QqkUiYA&YHkUfI,d0E&TBY+MUH*rb9$Z6*,(eDcbSmICakq6Da
+
+lZ1CCY!IIVcAVAc&l%c9Q3BEjQDkXXG11R'8UfHF-))#NY"XAlX(FhkdGf2kNGDr
+
+Qjc6P)iUi)%a[6Y#6#J6&j6(0AAc0A@+H#!@J61Z%!AM!J,ZGrCIh%DTYQ"!iF3$
+
+`5C+2#0JlaTeqP'qQJF8!KkC'+AXMcCMEfR-(i$L-,2i91%Z4kdFf1DC+E*0R@GI
+
+jd'cIkd(@[l)#0Q2TaqA(jHVQCbFU%kRcMdP&5,idS#JP[mq2Rabamm"$5GSBHae
+
+X@C,abMVar@Q9q2B(QeR+r4irEC6(!6*q(@$J11'Ni`D3!(e'[@!)3%'0!8YYE$"
+
+YFGm%LeeY[Md+c(`'+TV4`3mBG%FE$"jI'kaVNH9@q[a[Vj6)JA)EQX0JZ2-JpVM
+
+G#$SFEfUh3VG#YlA'QXPr%Ad`J0IMkUQ!LiepjM+9Pi%STN1(@(XLP"cS21ihekh
+
+ek`"12El9V#a03LTfjG2CT4QNA"MB-E"6Ji1$0REKA2#4LYEAQ4mDZ%jqT-qHKc$
+
+m1JKTekIFFD[8e[14riQUdl9H4l%aS)GBP@FC$5Cb!KB@eIM4j6212+)-b-RkHjp
+
+QI$4rDrZDFh`GhpcLGlf%FadlEY+IbUG,0KPb0Ij1[LR0emSrCI$1EkFi`&'eCcB
+
+r3X9k8ADep#2'qIfYr3'EZ+*NS[raE8qV$`CE9fVGYqY92FQep+Pd+2lY6+c8b-m
+
+5j`*)1KDT'V)rQ)Y&1EK`CqSMGYl"b3#6SXK82K41)*fR9Y&SclA",5PV0T(i,9d
+
+,L&p1R8b3!,9*21IN,*L!iU[YXMJI0p4I1#RMB'$6qP"6UeUZYDp$Jek[&Y4m(jp
+
+@#d,fD)aIc&+!%%99(2Y1V(Dkja14fYNhTkYA-Z+aH[diiZ4,'-0VefKSHlcp22d
+
+65,[AHCXc-KHdqeKUl&8F*3QmEh(8Vr8Vl9IClMqrbrY8e3p#ITKcjN4i[Ypa"B`
+
+elPI"h%lQ6UGddkNQU!KeUSCkeaDmFrjrF6Dq#[XGaXFXL6)(p'eSeG(JkGVqL(r
+
+G$Sp[rZX(FEh'Mc1P8SGJVRDeaJjfY9V@XUcrTKKVbp[N9qhVk(FG$Q((8U,JMVI
+
+Ul2"5PVcUrm3CrUGaeHCpHT8l"YB+d)GKk-GIjmr1VapaAVaGaAjNG2k-aF1q(@V
+
+jYFj)EZKXS6[F3eprAXpaRm[CAE6-Hke'(h)"2Te5'jLm@Mi&@pQr6h6Z'k)Cj$0
+
+SESkZ*HM[LUGqZ0,+m8G"9[%kPEfh592Z@pZYdlIe+feErJR8*2j@aESYhIaBKAE
+
+[m)"2@[$2K)3'0kd@*%Y+b+$9)-PqRHcEq'p3[TP%$8K1DCCpd9Z'T*8JU9EG+R*
+
+6KY`m5650SRP'@FmS@F2fd@X55dc0Z3#9Uq9&m+[ZeJBmL@Y8h'(Q8dlSZ$Kc3#-
+
+R0AJEQXc)DN@jp,b)0ek9'1VGcId+`G"3[4E01!JCTed4dkqiPjP`Uekp2$F!)cY
+
+&i3&blPTqADr0q6Lq"&YH&aD2a#ee3bp'l6h,#"I!MFbmcCLdH$KZ8kLm1ld`&bG
+
+`5D0c50G3'GhH$#*Z*&m%&-%&Aj`d3$I6H$K-car$J1mp2Z5iCZ25mLELP``H3iT
+
+#0aD2%H##TJ5hA-0RU%,LV9Sf9YYcXZ"U&e4HXZBBed*eMq*3acTP-(6X(``")-J
+
+qVc0XJic+QV3cTj8QRc+'iF)-6XZ$l10KmLD)2`9F0(VB[@aF1+E"PGa2jRXdm-'
+
+[c$l6L%@mb@QN&)62I#Ip5T&0Kr@rY$Rr3cEh",GjEcMSrl(dprVcDINiF@R4`9G
+
+M0!*4`8YL,!m%!X[mkldV1hDkF*RZdk&[T!1rFY$UYY#ZGENql"4bD9#MNd)+%Rh
+
+EQPbY65dq9Sh0'jSV&3UbHA5Xb@G5cUI`kRrKhpR`V1CCNd-c3Nefl#j2ZB[!aDY
+
+[eE26XRlrCripYcX[c6mTmXr2I,AQ0Np(&i&[bl2hl2dV1cffePqE6p9p$mkE&ZB
+
+ZC&2SpY,[pZ3XAlr$fK-BZQR`hp*$$5KU`jNPSjMF5e)FD1CCc0rQ%m*AkF-&)m'
+
+mc0JPYCX1DDYC''XjZr)adM5$Ue+V96rbe3K[$YH@1)D9Q(IK+Dhf@lUD89@A-Tf
+
+VT('cl@I$R`jpR2hr**iE-Zi+8PA2c-m,S$3"J+"!%b9`JH'I8G-*JJ-pp0!00Xb
+
+YDMKqH60Jcc`d&TdUi+$RjNbec9)$QKd(jeQj[lJ5ECGG-mGC-cRfTN))P+EQfCQ
+
+rQ3c*&FUK`&1VF$!"l"-@Im2JKT!!H$QCPVISSF#!(9QD(J3b0N&a"`%ZB5F"X6Q
+
+fX!Fc&CUKS*C'f+B"8D'C9eDLGK4fEeiXZp6i[JaHAUfQMjdVJB#iaG"KT)ELR!A
+
+*&abb&P#4(HJ+TqD42I,LmZ,ThYRLp-)"iI!b%#(013'IL!%9b[cXl*Q6p8i#D"Z
+
+L82dU(q#pBiYH+kB-+*r5CQBJ%NN5lMGk#!6[[DZFqjclLYZr)Qjml4fIPbk1cRc
+
+Y#DD9q(jQRTRhRQkE,hZC1cc6&dX(K6Y,!JHd1Mmc6q'044'96i1E,Rc0+A`B0)"
+
+'HJ%8)A)lQ[Q,'65'I11)DMGYHMLDd*a$@YDGG3*CDk*F02*`9kII$0XR+!%JJY@
+
+Z$kTA-Qdf`8km9EJ59rNhHT!!fpC1)1h5-fUVEGG8R'AQ!fT,8Mc)q2*P4j5JDC(
+
+2Nl"5JET,VEGASeYYZqPXfphIDrJJIQFA!l0V0,Q@Rcrc[iB1GfAqIFQ!I[I4VAG
+
+ck-lY*dhF,(65bb`Ll,r2-ZGKPllrCi1i0b1QAJQk)+C+6Tc-"$pPX+hMh-lQTk&
+
+0GDR8Y'64TEAZpV&fVAeE1eCfNCm5G+(T3p+(pT4""V5dY[IM,QdCTYRAYFidCqG
+
+$ciHI#TS%S'8K3Z(AN`iS"N8A3$9h2Ql4KAQ[U-VU@Y53!!QEMkhCeU`Y6$SPjj5
+
+fM%29JR$,-!*#4cphAKq&-9Qr-PeNAG!@Y)63"1b`mb#RhX(H6%)$%QijXF9F06A
+
+Z!pSiD+!5[4VGVhM40%$`a"`f0HkVJ'PVe5G&9lH$08IS[IQ9CQIUfKJ&DcUZGDc
+
+UHV9Q9KL(ihdRaRr6cmdLYc,3jIYDp2AUN[+cKmCPIP8Ica4qU,ik[0#!cDYbYFX
+
+jRM29(lFPfV+"i%9-!eRNeSE-2M0Z8`hEXPfl,*RhFqlRbD%blPAFUjqIFQCQj8J
+
+*)BaMN!!%N!!#%r+YXeJ#I'kF(Pla@(qYQAFr@"dJ%N&hf9Rj3"2cmbCQGJTd'6k
+
+%816Ya9XRCLSbHK2KbGTI#+TZkQ@Z)P6Z8pDRpURVAmfYV9VL!6+Nl@CPDQCU30T
+
+PRLk,iNY@dUHprLT9GlpA'pQV&Qd0fXEEFqc1Lh2XdU@pr+J%bEm`CV6ik%IK#m*
+
+Mrj+--YSRPfX&9X'-R0b9kI)CBpf%ihajeUr6R@m&LlP9d!P5(ZrpALBN#a@Cmk,
+
+Ci8[k19@qa@mEK%4hJiDT#"3#9@j*b)V&Sm)8!UB+PC!!#9-&-KAdaGF`JaJ'I,P
+
+U6Z&kD!5QF&G5R8TeDPC6[dd"SSX[$S`*%4!*A)20GJBV"ldqaTBp,HqRa*h`phM
+
+kQqr[if#M13#)"(D*Q',bXHPh-2IbpTLihAS`ihASD0([FH1*@(f,TclfpPiJV%N
+
+6&!)Q"bI@ZcM0U'Fk(Vd)[HiIL%5q,bmEZS[!a[U4GrME3)Q[Y`*h1f*EYFNIIb6
+
+p@%#"$p6!"@1h1-V'K"a*G+BFh-D!5K*4MLN-l"@,f*l%mEVF6f0+%E[H`4ej8!J
+
+(YGZHG4"l(%XDAX8*K6hcN!!)S)rBS+L!DCX8NLl&DrIq,AaHVZUp(2Tp$-8`'6G
+
+Rk2B9X6rF0'2lINdGcl+5LpakKp0eFKG)kG-Ymq6lFlS@qKEk%kI*pZfCGi"1H"C
+
+HLHhl91CAmc+bVImGA8Xr3XqC`r-Uj9A5VCphrcBd"[aml[Z[GfHqkpcRFV"hhAl
+
+leZqpDl$hhAd8Dm)3%[$fDr4!*j[$fDF)#0N!R6iI6ZqA#X(kE&cFR[[+d0(3Lj2
+
+eY$Uk'cS5q4XcZR1kFrbi%AriPb#UIp,CZk)kCUS"2)p[3k-hfjXfDL,k"rjdYlC
+
+[E2IJ'e2q'Tr`q*r`r9r`4Nlf"AML@JqqpTFQ1$*5b2ehfd@M6b(jhV%kR*lrqV8
+
+d1rp(5Kq(XrVAXp'H("Q,#Fh"H9mJbiG#23[k%(*pMNf16BmQabIBQ`0mr4RZ9(I
+
+6%[AN'EN#0)#["r)hM'[9'mbC8a2iS,HY3cIPkbd%paKmJjN%1BlkA[DRI5mcUNT
+
+(4JTlRdf,f#iIp,"Ri-qGRi,Zcc20j(R`E8(K3IrhFVpZE1ipEQE2*pLlYppkZI4
+
+cr[jphb,ZEHRIIKi+l)b%pITjf#1Rb*Fl"R6Y8!Nc"-!*Z&A-RqcbC2Zjp([[bjp
+
+(NrHr1d[)dZ6r[QhTZM0dGapaFNi`cd3edd!R*)%@IJjSBG#"8Iqa"jPra)r-MqE
+
+(A08(Sje!UbqM(h*a!VlHiB0Xe0%28[CdU!41LSG6Zki%j@QjAZqr#3Vrqi$*mNZ
+
+C2ZGfb@mN[)r((32QcRmVh,NcPHjm2q[6b[KreS$'Z[Mj+Ul2VVdq(jS"21Z2E[b
+
+F2rh-Qr3TC2G@qhQeVHG1qIZe4-6EXD)S-MM&YmQ91E&!*l["bpURdTMXba&mcfN
+
+qX1,kRZ[qAJkm'd3$PDl@Vm0+5p9lU5P$P5Cd1jE[VH'!KQbAi5-PC'b#!5(BN!"
+
+Q8p0"EmfYVfqR@fEFXkIEk-k[EfQl[('Ja$%p*i1TIfk'SJ)LfrGkR,*"%%Fa(qE
+
+a0J!de1GP-TFk#T5LiX4+hY9[Ue[,YrI(C+CN[+NkAC8FIYkfc(&1m&pj(@p!3jc
+
+0QFMfX@%lqr+hRRUjdkqqbpajj$dQGplDHRVcXK0'GAUD(SBQAZZ[fGEY[EcDQi-
+
+AcF&rNGl``,6R6m)+T'6JbjZPq01S!GVp6Hra,e$,iZ(Jj(V9kbGiL!6q'YeXMq(
+
+)ekh4c@k[0Z'p2PNQ8GBaTEp9)IZh5fk[lQDj,`EYqY&qec1PfhiE2f,2@j2Vf0L
+
+Kk&RV9ZMFk8(P))%T6fEpNfQ3!!d(EHafeMYV(EHa4JXZacjmTX#'524ka$+)19)
+
+EjdVeAEc+$&!B!CLqDff"k1Me``&D(#3T,fEYX)+#I%heEqdHDR1VBBqGAPLQ805
+
+aU'l%cR2X)ZCfh2XpDcc[JqECf1ffIJ5iX0''M$9VK`6([ad19UYe[XR%hH5Y89!
+
+rQ60$T8FMFHc[1[2ZLaYIk#$REK(H+,ZZqpXJ,EABD*5h2PrFqc[Z(i98PQT+13I
+
+FV9cXIGG[MhTpEFHIZri2HlZ#jZHG"69BfJI5G-M9K&L5Y'[bj2jFR"i+km#-&kR
+
++#91(SkiTfeNi2$rHRI8Kf9NeX2SrFV6XUAMB-6$ajYDqeKq0bYiPRTN-qMJi&DE
+
+@NPS`*'`UiCVFEGZ@Y-j(N6l[CjIG4EVeSYc`[bA1G$p+,BD@4LcV1alUG*X3@k!
+
+$,Ha1V&6ABR)Z3@05RF+!5j`X($`S"+qE`m064iH'jFh2m5NqNeHG-Np)A0l9Eka
+
+U6ECUD8C2[0EkQ5QFjDe+ZT9e,4emI1e069e-l8QI1'T$+*TRkQVYU5hX0lA3#I(
+
+`hNBN!FD(6Rdl0Z522k[b)[dkqI(hRchlkj2e60%(mR"i[rR$eB4NfJJ0*6XGEGG
+
+r,m5Im6m2a2XI%qaqKrcSpM4r$4ak1i+M5'!3MX&rB[B06$UD!"-(aaT#3brpfp9
+
+aGF18H$*p5,*h[hD@R[I[aBfprGUGR`rZCN@i90@i2UIiUh8Up1Yq#Tr"f[$VrDi
+
+01Rk2"bmcceHceYV(&P0[bkhUpadrIE0ETe2hQ8%K$YN,eq(0jR)'K4'Z+Hf##'C
+
+l+R1cEIU`l'*$*l16pU+2*p',5bIXcCXRi*TjK+[6Kh[h+P[0cGlpU+Elrl9l6h[
+
+hJdRhU@K5MTFP6RH0EV9+e[[$c0V8kpZ+TriGiFVY,0VCAH+k11)[R(D013#Eh"9
+
+dDeflk%lR"!6q#HVkBXPAM'["EY`9+G[M9+PZh8#!0rQaQ+h3(#"9cr2-'EiFZQP
+
+ChUdHA5kZ2`XLV%UZ8pI5RhNlYX(*`iZRZM`kRi)GNp-rTETBSbDaqpPq09lq8"8
+
+e!)`)S6U,84+H0k'MXGr,Sr3jApHRjJl0mc'rVLqJ!6SEhmLRJ60lk@qLlrlQTSp
+
+rkHTTiiGj3SS"+&'K9BJ)Sp,"m@Gm62#%k9#[4dkAeiVY$DLTd&EC*9ZS4I&`kNZ
+
+PKdSU''KYd-0%D!dYZ,pa83+q6e%BS`dm@RNrFlQMbZR4b-RDSjq6rUGY[l0(lP(
+
+bVrR4Dqpr*[p[ZY[8qpfIm0,reTG1PfRGF4aJ&hAdPrBp$I5q-RF'5#0,1U11J4e
+
+MIV81E&YipM)[jFA`eAFSY!BS0lke#(b19[I9LSqk+i(cI[dEZ0k0'pTq*9qdd@M
+
+H#l(@fCq$G6Za`EkGqNQG9,$SerfFCYjmQ086p65aVN'eDL-NA9hXZM6i5i&H0kG
+
+(5eFkKR8Fq,bk9cIBI'QTXid*ZP0U+jchXY,XEqk!02ar`qlXIV@-IrR5l(Hrmk@
+
+2hic5CqJ0mp[@``k1,XlZAIE2c$bJ(!qb0fhMA@V8llfdBX6NCpr4qAq4Rf,FqaP
+
+IQ(2*(2MRblU2XBppIr5JaBmAV@IXBpKarpe',P#aM5j(AiPE6d+A52pVG$hr89m
+
+M$*k-'mbBD%16V36EIPpadl26lMCTp1VrIU09M+#*pj4eIRfp#VAYE-0f6H3pFeL
+
+9Fi(qdNNje#1,$`"jJMc3plCHdMVIk@dBBVQlcCaqpbAiUr!!e4R8IbdHR9r,S6T
+
+b`,dpYj0E2cFmZmQNl6NNKm`e"HN9eZp@M$KYE4P[49V(FCrFr4IA@T!!"fDYFfE
+
+S6VZ#lXAF(-!*GThD2*PjN!"-l"[G%3G,pqYARblkV[iZfPVh,Tp[`l%qPLYX!Kr
+
+Nr1eYH'R[j1dmqa(CeVY`ej5X2#e3'iQ3!#iXfrXlkY[p'cXf0cqGlBLrXKi5cCB
+
+VL80Em#B)rGi,d!XRQ8[DTG!!LVRE&LcChqrl2Xb(I,i2ci1MNi*[P6YU(CLrAGT
+
+!cNhlbj!!'4(a4[dh&iJ%E%M)1"'YN!!#*MYr"A(,4PH@SQIi"RSDHVJKZHkPhqc
+
+fe+crale!PqqEG+imCX)b`p)e@imLAIapZ4PG#5kIID(4+)*BGF6l+IH4"l[f2H@
+
+0$c)I%Rri5rRjMIKiQpS`bkfe2`pTYEr$CfUmYhDKLh4T+`X`GcFEcU1hVDG(Epl
+
+CiXIIVEDSR(+M30L!RiCpD5Y2`HlVHkV@-&LjGq6$eTrFBY6GYjkFZ,CeDe'MMqi
+
+L!'SNSq$'`ikX!e)$ARqV2UbHV2YqlpAhAFf,2EH[Gm1&0mIV3Zc`m@V2NeXhGC[
+
+ZpEY,REDeM0cmfIVB[1hDld')EG"Y`Qc#(B'c,$Rlq'c*R[&[X2-6`XXrXbAl0Hc
+
+&9r86!+4&rLrXZ4GQKMk&rE1R+RaERG)UmNTX*K8r+"pBR$rNiY5hr,Ll-RVB[6Y
+
+p2h9Br9Xh&A8pLNfZ29bVH9QmITbE8b,MaC9I+VmH1ChRB08GQl`@EldGfFV"NrJ
+
+aUf6q#hq@YdkhlFRZ,5Ha$3Tb0Q(4j%Z2Ja&FLm3k'PS`YXYURe1QFR$PdpcKa4$
+
+,adD-l0$pG81X5jFTqrPS$cl1pcL##m(1Rd+24q6X8r,TVPH8lQp(4@Edqjq64kH
+
+i%[plKr9cD@hMqh5QdN9fa,P-6QS6S0P1R,YIEaDY(fr$k0AfkZ,99UV8L(-[RCY
+
+bV"`I1aHKLp'MeI(ra8HU1pqV5r38RaEK$6l`-i'N'!P$m(,Vihm&$KGRjF#Tm8p
+
+Rh3feZ3F6"McX4AN+#U,`+(dHc8hb(Hdjq"$K%$p$"i``KLkp$pG3r1TcYlKT6Z4
+
+JlU#P0h-Y+R`X2c+T*eUpceU[DVVmFLA,$"6ZK(d2IL%Zi$Upl,i9DV9V,pPA0N#
+
+fc"eqm`pb(k3*8R+Jp2CU6QUFh0P"p"Xh1ZT`&6GqC5mcp(p2YH*@i,%"QAK"Zp-
+
+[FMjf@%a1UGMlP#Yi4"PUG[6C&bQ(2G@jrHiP@MScrmICeI'V4G@KfY'V&j85RIC
+
+N2[afR-bH4r9ll3h[Sc)GeXiplp+P8Ue1#cE6-QF6JEhlNb,NIFppbYlpl%dpi2c
+
+rPrHU834+HpVmMcX[bS[0h2P4fZk$3`HC$rHLkRJp5RrPi2K+Eq,hdY'+$$qGYpb
+
+2aTZ(&LaTI$Ll@+a"6EVdd3lmc*)p,hmY,5h-X)`cm0eETHh2$h*#!Qc4(p$RqK[
+
+$*Um(CTk*@i9jP`F2D9Gd[MA9cBGQKl2,M)9eQLG0MPVD[XT[+j(Udk2"qrLPh,a
+
+eIC8I%SUqbVE9($2Llb[P4e*Cmh'mMpE3hfK3mLK0am9Uh(HBIHbdCQiPcF2FQlM
+
+0Ja5%KiH'YcUr2FF"cZ*JS`lJ-%L2md@UBf(`B+Zh@ckqHhLRPaRJR1cFm1SdS0Q
+
+IHSqAmR2&r&1SX2,-Tm5h4cH`TCZch26Sr[6GR&PSrhI$XeFp1Z95!ZCHY&F$i+R
+
+GG#PTGMP8Y,j23bXUY--A9Rq92G5iXcYqMBV@G1kRhP0l%A$iaj&jLR!@r1UJ'iI
+
+Per0Vq9`r+UL1e[ke'1K9U9,M%"N6r9lE$lbEB`jm%rm8qV2kf2mUMeMrTGD"P94
+
+el3[fr2bE9#jNJ+!*QieUY(9i,L!Z)SIfa(8cdApLrfPFam[JpRRBN!!XP*r(@Zi
+
+ZDqlqT0mUCjmfR1LiUpHdNX@a6-klLIb'6hYfHXm"(%qe6rAH20Hf`mBeQSH[Zi0
+
+eKl5EmcfmASi[YiXh&CVa#K3*f055hHINi+CKMYMcXeiMf+r`XEqb[1c[BR6Zar"
+
+5RCAi-kYL@F5c2r$a&KT`dq6KVM#'ZDE%qG[X&J1)4"36K4-$%l+rq-q*,dA1[iD
+
+%9'M3PhmA,fkHh!HY+YQ*`kaK[2EHhC(X"6V3IDh#([BNkCKe8NMJ%!30mk8cIDR
+
+KDNeh"T6JMeF+Amp8!P#j&iZrrbm[cDP5E8R)l4a+HU5MD'Y3SJ)SJ)LphKmIAQk
+
+qlB[1`NN1#'RUFE8(LQIh82Eb$jVHDR-r4TY0,eYr1S9pj&&,NLmkGY5I9RE@,pb
+
+Kr"8hL`cNa5#$MIdER[m0+Vll"Hie,"@jh)PKjbSmBP2*@F(m0@(qA"hkBqd[Djp
+
+cT6&99jd&c*`a3GrJlUGMrPT4qqr,UAJ%CeI8d[qV`RICS3kFlhq()QHpp$66iT2
+
+M(0MR*&+3!*dI0i,aC3SeHjdp2ST#(L&Fme60T)5f#+S[@r*+H1Y",E0%c#PLd$`
+
+f2*NfVRP5Fi"(16XY321%'*XmcClifkcB80ZI3Uq5S'8%0PJrlZCTjpi%'aRpKSI
+
+pqC6ZL39fRc0'lqcZ&GAE-'"Y21GYEl[H`bmRVq,[0jeh4UJ2l[Qqb4QDh*`mcUh
+
+5a1J'!C6ZehE#%k$rCIdFD@RX9,(`02p2dUqaBKXkI`0,YTB%EhiPE@kKSmG5,q,
+
+JFlZF1Q06D2&ShZ"p1K4A48a+FKkB@K-MH#C"-PJhKMPI*RER!F8+kZ@X6B)F-9b
+
+K,DZDHL6h2[ia+0Sr4Q+Fj1Qka%26"ci!d`0!2ASJ+Sa`Dma@0dl$VE%1#%c)GrF
+
+lVAe*HcUiraXISqlpZ+E!hL*&$`0D+F,LXM$fq[S1[4'$(Vce)#J0i0E$1!X4ii0
+
+5@K3+'#3a(4iS#TKVc[U`lH4Yqm20pe`'C2a*l'IRFcVV3"3dHhaF0lE54NJ%S0B
+
+[""3SaEGqp&Kbp[`"cLB%ZZ541L8h@dH,Xq,YDG2I$'4(kdiIXCBf0([,c84Zcpl
+
+rfR4BRXT89TcH$kY@V`IATUIk4[TdJh,bX"eJDq9*CUlR6jXfTq5#NGr+-M!llEe
+
+KNh@J+l02+PheMH@2'X9,$)1'-9jY+l9f&5Gr*$&[2CKJGK#U2UH6EVD1D8VNkk8
+
+!KSk',0Zph%f0fMFfh((0b#-cFQE8hPU#0HEiI'AP"#!mkPSeGQjf&SfBB6cPQl9
+
+)P@8S2%GT-@lGfkHrEX2C!)QKkmd1`ckN"((1M#i!0Z6M4R4dM$N9(ZVNqFKS)Mp
+
+Gc*DNh%Qchc)IH&"((NP%pq-2S1G0jbUP)CqYGc*f6ejL9N3lUP$m[VcSGb!4S8k
+
+'IR*U[Dr#r)J%V83%*Ue0%Q""(GQTbD1[p6NpS$i8C[3Q4hC`lm`Mca!kfrLl41X
+
+`R-[*cX023LXbp[cjjC5b)1(,CLZhSITck$j1p%`ldA&G2"%fhZ*kf3kCh95A1QF
+
+b!cRiYBXFhYUpYAYS[#1mrf%(0eBSkac&aA,fYHcEfD#YX4d+#SH&I-[a#6`Z"[A
+
+Y[8SAKBYL-(iZ!8R-2-#cVDpm-1D`!jhHKr$6LcTHBA8-V-#HM[G8$pH+2'Aim$2
+
+@UHE(e1CN4'qVIS82[AVelTkP'MT0J$(r4MYP6#YAYQim@&r2Q&PGlK2EVf)UP63
+
+Mf1ES8H*@Je3(DQKHf03"e&BmXmB`e-l1XFh9S8-UKUkY$-26M9e*P$%CCkrJJ!c
+
+36B@Q24!Khe-jS1CVd*DdfrlFA4[G'plGkDBHc-'a3UT3cYAQLL19,URG%E+QGUD
+
+Th@-3&`2!eh([L-9#J&(3e-FC@XXHhmAJe+%Hf(`)H!rkJpATaakr0Q!rJ"rB,-m
+
+ZSH',GrSMlGTl'FAXiYQY,I!0H@mE%e,G""8UBBkh-02HYF)"@Em4iXGE*DciYZT
+
+@#rcd@1KiP!*i0#+ZYJ5iD&#RYaamd#'9UTGR[9d4r[#`pYe0131'#5E"9Y98!L!
+
+5V0Y1a)VGUC0hhFiQ,hIFYDKaDp!Bb2BFXfRDY)"*Y2@YP9r@U9D&(IGTiAKiQ,0
+
+BJ0DK9l(Y*p(LHA12FI)ZF2"GZ#K9`e'dBZDe[00P&!)PT3rerhFirf[+pUjMh&3
+
+qNmqK*Ne6r$3d+8Rr'Cjr!p%cpHR5rHm2l6&r1'RG#pN`aIr($kp`i8Nib(G-Le0
+
+Nh-iFDAXl[D9k1L6lI,ap1YQe[,cU-j@$I'L1Ak1YAimZ99V4F+AMA$K2MVE&ETr
+
+QUCrB3l2Fqb@YU()r)pDHQHHR201imYD!)(AifZ!B3riqGP@-UA+SHmamj6IFDY`
+
+X)h1`FHYPB-S!R(V9S59pXeZVhUTHFE@l@2+MbVr''2(#[QA&HbVZ9m,+m2iARlY
+
+@68j+K2dYjip#pMhD[bHqrl[TJ&ICdS+2$PlElPRDq"YlVlhNAZfp'cXk'cMIlDH
+
+9Flapkj(PSrPHj0$M%#5`VH`RpPa29U6H2q+RjI'ra9+YA`fkXiTc+lFdd8BDTV*
+
+h4m*e,Alh"UeHT`E0Uc9mTXRXi$F2FhEH'LFci8'Y3Zf,[B5lXh89GTcS5"MDKlN
+
+e,E-@YSeDIFi6*DkeAVGY+MK6%KAE,%e"fR(YclUFZ&,HTp2MmY8f$X0mTjaS)h,
+
+FhAa@HT6SEGZGG0K5(KiDX2"kp1iR)IAd,XE'I#!N9EN-mGa&ZiEH&khrH@l!#"I
+
+FMmKq(`qlqTf1Mh0hGmMLCVR#TVSP9IRF3kY[K5pbDCKRH9I$T96XD6-D3cpHR@-
+
+MBcRl*MN8D[c8dmc(!IRr81VR@+mTiGipQYpZ2C!!pGMhP*p1jTQ#q6ei"e!pMdc
+
+DFd`PJpAfB+h!rf6GUGp6Y2Sq&0hRASr#U0`(3kfY$%B#%80EY1B2kke,$mQ+GHT
+
+EE1P&Z1D+9PiM1&dG%Nb,AG6dUH'!R`pJ52hKkXh3QrS'DPQFYR5N1YEhAV6MdXT
+
+8Z&q51KZ5$P[HZ6CKlXiS**fdRMiL-+T"GIGhFI,q9f6b0FKd%fRL4GTfiRT&EeT
+
+ja%C@K2SXI!ZcM-Y6E21XrLXpEYV0VV9rr$XV[Mp#T2QTceRP"E4hTYd[Nj@[f%2
+
+`8Zc)McVfm*'`F3"lKBE+*`BE@[A`iZ[f4KadqM!hN!!i4#R)Y3fCE-0QlDVecE"
+
+aHYfA@mIV9'phZmKlf'lEkpQlCrRXq[Ed,'KLk(CDIMkG2`er1N)!NA@YLcJXh,-
+
+PVl&LaLjrCG,jY5RS-8"KTcG@AiQhHfqrr*Ifp%mhIGdIe[d+[FcUDUFEX5fpj$F
+
+PYjp62!**EKV3eX@c2mD5QcGBp)('pVR`l,BMaBqb[H2Rdmb"N!$q91%d%@hCfl1
+
+'cVf[iDr@l,q(apHSjXY$XL(UVI%D2`$5IX0(&TdGVJpN`JL0ecFHYc0Q(k@0lFA
+
+3lVSIRqY5fBZ[[GQL3Y&3IZ@pDCFbEl!K2R1E(f&IY2UH*Z@S4#e4lId5m6h2kk&
+
+$h2e9`k*e-PKhdR'(,35UiXH@,,Lm#,rdH29-@ENlG@MEqp0Sj2mP(0&TA1hHa5Z
+
+r*rJa)ZbApF*0e8h$pZF%*NEGRbqp`iZM$Y[ZiH-qYE"11#rY+IEi0$BRl',JhH`
+
+L+8+SI8c(4e5"$2(Q([TILc0pUijbG(1K-S+Pm'JRAkm!rZ)"p#B#`$mU#(1aQqI
+
+dLf%8mU2Ai)+GqMRCqGFcXfrQ4UKr61!F$N9r$!I2d`Y-Rb9QajYm!c``#L$EJ$b
+
+*QTIiSqBLM#899`$q'r9JmZrQ`HAUNf+r"RDHGTCdGr0MY+2m@+IIK#AKJkYrUc2
+
+D[rBMkdIlmIq(9pk4)Pq2T1C$Fl+6LhCpdYE$a9,G6jMN)FrVkf["KeB*K#5JUhk
+
+ZG,(GMf0@Em*5!TQ#k#!Rh`++0BDXjS"$NKqLilrD[l33!F'%""I`akmH['4[)eJ
+
+U8qFCqNZi!`(2p%04ValFI4MP[cBf@IQ"0IL!aHJfp@J)"aapp(Q4mr9a)eBZeCY
+
+$PApLB(k3!%Grdd"(2epcUb4UfC*G[3KcpDc""aT)-a!*V5CZCQjQYRCV&k*L"FS
+
+"""`*hEM`KIJ-cPbj"hqf*)IJ[ijNlX0RIF[X2ZElmlFA(38C[-PXM%rGiIeG[X0
+
+[&`q2&f%5!DG&[PCFiY2Y*IQDpEAhjN`r+emA$h2@aDrFhCZI5k%pID4hip1mU(c
+
+j(f"K[1ZdHkR0Y5eHG9`fZFG*r9UpDVqrDkP,bmDc8iQDXUke&9VeBlAcq#*!@T[
+
+"PUa@Ve,rkaU&8TBXeBYkbZA*8F@Hpq9h2QDH94V9Bl0k0HJNAKG+eT`pdQ8DQQe
+
+h''[VeqMhFk["b'DF&X'd!3Er`3RBP``#F@'ZBY'i83DZ(1Qjdh1%QdMJqljY$2d
+
+Xr5j[b*RMiN$0H)BF8FFTF%NNcd!J$-mkkq6#R(D1diS0AeSZVIpDm,@lhVAqV&e
+
+3)@)V%A#GF-P[NM29VAYZrRhK+0%L`-QUqdQqeDKM4TcD'R0S[CTHh#JC"p'A9%K
+
++49BU@'3CI5F8UKI6RLc4[+B@YLcc9)lU60SX*A%rqk(JGcGZr#h,D-2"(L1i`mc
+
+Ch4ZQf$S3ReXE$BRCdjM[qmp1R(&d1E`$2Rqh8j9'1(8RkJ$(`rqj6UB+&EQi0eK
+
+SB1)R)FI!Y#GB`2$rlNhKB+1C-Uq3!'qA@Tm)j*NkK[HiEX$&r0j'#V&4i(N5i[5
+
+SqE9fU2eDA8Sj8A)H%rQB+JqJQ6ZEJ,*RT9G1KS6p$&di[j(`[a*+MTq3!(cp&6U
+
+(#E$P`p@K@lQUiRjeclA"YdGZEplbIMBYD+$JN!#3!$Ye0jCi3'6jY#UCKYDG@Np
+
+DG@2+AkpRr*h(@Tp5hj92bPJl3@r6UclImY[rT9d,If`&IElR2YrrcZG$PHM4ZXl
+
+fNp1K4bD8kMEk9ET@qP1he[pX"Qd,82Z1U[p+P*5T5C!!BBX@T6m6$QE%NJREAc&
+
+4HNLT9U3i3e+fThQTpI[q0i8HCe%$NRFCLUml-RSiYI&Y@qVCp'c,fh1br1TqAEm
+
+X!RQdr,8cm330H6NDQ[UAqrSq&+$RLjRa-cENdFaZkDj5TeD1C,!HY"Tlj`Pr&CV
+
+QDcVb-eBQdTDZ[F)&i[EjfYjF26cpQcXErEKq[V,e'``!JjqCclAmF22KrMYHC$j
+
+PRq2Imq(Rkhd&XE$"fPEUjZCjGUN,amZejm1YCcGrQ`jZYV0!e-D[DM``E@U1AeU
+
+9F@pHiZfAHdAV)3&UPQeI3c+pU*''9Vjl`J,6L!KK6I0c-b#!BaSSDS'X`lp'0bQ
+
+JKrDSA+Y2[BXEf-[AdGI'p@,ASqA3qdIr2rXccHZCY-bBQ00M*rkeaVZ+'AeIpEH
+
+!e+1VA$`$3VRbS"V-DD'qYX30"@LTE9ADc#rC2)Mk-2BDiJ!-2C&BH[Y#hRppl@C
+
+-cFcNG,-UCZP(d-a9(Ai)14q0")m"$BaVmaV8$8I532A1Nrd3HGQIMcD(jY5jpR[
+
+1*qErqCP6-rVIi3"@Xcq9lRLjPh2Zk9fTGq+rdS1IQCQE8c[Zq"f2HIeCY6[')$%
+
+L[hSrrV2hfM6dF1HCb8H[iZ(4[A2TjK`IY`DBEYhiF[J`D@$2RCf$1RITB0'Rb*E
+
+P1iUEh0p(3dp5pTl1I1d2ElfCRi2&Tk9E0Uae(JJaDH,PiYfc*Cp(KhE1X4f8!Ph
+
+Z24qE*9E5(bpjGS5Gck1Kk1*VBYfKGTiH8!BbRlMD8kC1jN8p,0m[Gr8NP+GFda(
+
+JbpPX6'P"*V8R*AfFfcQfXf%HF``%SKFFZ+5M5P&aL0H50YE)KSelMKqHfd"$"1Q
+
+fj+"L$5(1rEJ8qR0UCY[@DpC1-Efhj9E$P+%JhQE@eV0Da@dM)+DR25LSdkQ(ij!
+
+!8*0HDC@Z3Zir"mpEPiiC0p#EVH2CUfIE6'T!09eV-hfjf+3T8c5C2`A)q9GMdZ9
+
+bY5jbZ9(TC`#XbjFUA&qJBDG++VLjmN0DeQeHH!60Y9Uq4@b,0E,rd[9[HH&MDM(
+
+X%S")kjPl@GM,CEh"5`eBmq1'qSJ[S),%YDGCR1%%3ShQjjqcfYHVr$D-NJ`X[iD
+
+f[Ck+L$X0ERhIPDf4GVDhqQl"GcC-h+cFUYqIN6-MX2P1al3chF5fB*10Q9V9DUJ
+
+%V@XUVRCUeK*T6RUeZiV@FU6i@C!!@YB0pQJJb+Z4m,rNUa[A-ZlIC2B5IZd1`Yr
+
+8Jm(FYMF&!U"@6-k#'GEkPETS",IdDf$X*f,XB[8a[`9DJUDKr[(`c+dbY)1[%k-
+
+khbGEU9HY-lKh4D6lGaejX2NpI3Kj2Ad)16Jj-[-QD(f*[f*h@9NaL8EFXf,*pD,
+
++bI9bI8LJbI8bCB*PET4rYY!8Yi1(q@V1iAi+eC!!#F,m(#p#Y1iAjE2qh8pl![@
+
+3!(2I3K3#Bhph(qC[S5'9Y9+I"p'jXEaI1HFC!Z6k&$"Ni%h!8!LC5+jjUX&b)P0
+
+VFIiZlrFTG2j2rk$b-#!3`!ciqGi$$p2hmZLf6!J%`8VZ2PBmb*AHNma,6U(Tr$(
+
+QKk3HT&d8k-+(4l2BSETPM@pfD8YEbkh6qAXR@G$`YRYI0Xl2"fDTSIXNd3+m2%U
+
+k@%HHBFB"L!KJBi3"J2HiG2SK22KJN!!)[m$1Kd61Fd`3DH0K1YFJ-S"+26Sl0,q
+
+P4"bcfmRGclGkB#$YD2@IK$+Hqp%(T8G1MTihT4E&#'MdkAKdXaM`*j!!#[IbhTP
+
+,fSLK,%K2$r4!)V4Br4!*cHM02$R'`q&JTdq(,8I2d5G-h2fEIp9DaEqh@Rm,S@r
+
+`eTr$XHpc-VRrRjhB,4Tb8la)mQZGTN9LrBLlij(*SYaR9mKADR"qcQCQIRq4RpP
+
+2S6kI3j@I1RfqK@jq2-l,%NAiPl)iU+H[bY1#Mm%CVI"fi+*hS6E1[(S4VaZ))2r
+
+$l8&'6lfTTrRDFRhS+0[E%JM0*YV3VLY5@D&QKDbKTT!!'bl*YfIX@I`fI9lhbk#
+
+h2$+'fH%!3qa8qb3#(fr,@XChY6N@2iQa0rpZEr0Gf-r3d1*bCG#TcF0fU2EGIF1
+
+jZDC'-Tjq#kHJHHHIpd[ITHpQcG`arZiP!qAXXr"hfj34mh"GkXbY0U`H#UrQE-b
+
+IRIHdU2IqPHdqrqm!6d['Sppq5C4Q9CR`P%'(QeXrpr2r9ck`6B8r-1h###EHQkF
+
+l69PaYH4red2lZKq2[[fV[AciZ6Jr0)lHC@QB""p1a3lN&N@FR$ReZqPcdlH8)'Q
+
+-&eB-di,3%CG$-d0ANrDd0E3Zq6SFR3a2jSEUb$AKcJ)CRjT)#cm(0$SS0Q$6D0E
+
+-[3IlZCSmNm,lZLq'IPJd3Y%fR-5QGke2QE!)GM2`jmh2`md!dc$"XEKE2-fjj(`
+
+ZqkqKSmRlQKbZ6pr3[D&k6mYfP0[6Uc+DJrjJEDk(Gk(@j2q*[)hFIiT[@'D`(pH
+
+C1Qjrc[Uk8l6cqrp24VGr,ip2iG+Ed*f2$`9p`cf"aX1YYdEahdD0(@i'Miqh`@8
+
+6E1LZ*b[BdZYQ8Eq0pUMV8Dr!0*bGq+'Zc&DKZi[4Ld3JUY(V)[+hm(M%YbB5h&m
+
+V#lMKL[%@50jcelr$bafdIrPF'VM4TH(VkGEpqYmH[eUHI6fQhedT9)),p21PZkf
+
+MXjpVi4R*q,j'MqKF,+,YrP#rK'Ym@pp1riHpqp[I[4G2I8['p(K3c+@*`CU[EK!
+
+H*2a`LcASL0&3Pph3mBclCK&qI0cUejX@eDmfVjD!5ejXbiRpec&TJ&Y5@X@Hj&h
+
+rNi!mU@PAK`dYI`eE*e2BU@-Vf*!!!Q9-bU'9UJ%e0pUEkKPBRH0f*ILTpDYq,@3
+
+IED!3!KP2j%9D,0E&')DPH@aeVr@VpDa,AB$38,&LaR,rG#d$$A1bDr(ArKX@+r&
+
+X5f*PMZ`3Gfh"`H5i)0@@Z2K%!PH!!Pf,S@*r`PbjGFVZc8qRU9,HGI)hRrMlDjF
+
+[dU1`Kh[B#!QE8r3ikEb6qGq@9a8dA9c)Tq6l+93de'SM9pdIS2Qkb[S9-b10&1i
+
+!"$r8`Eb@+CPD@*TY*N6I+YiDNA$`fG#cSF2$`X!lY!*b(I%jrfjZ6KSmkPKSi+@
+
+a[`#8X'9Jl@l(PiRmbV@I[aH"3dlhdVhAe0cm6fdk+VhA[l*QHk,-0HG6edH!N!$
+
+3Tq*EY@)G#d6V,0,IeC&Eh)l%[l0l4lqA8`%mB!Rb-%91J!3hbN%'a&(3rlAr-[G
+
+6[jEdl8r"mM+SIed1eSHmSImD#YliYrMHSCIR9lr$HjB"Zeq3!""$Qa!)V$DjEPi
+
+2PdrfmSk2Z&rGTrYm,qp@YF,TdpR1T6I%F(kXlKl&@e`pLR1iI8Vp2Kl&IBVl'95
+
+lj+2f*cS%%-($qY9SF2T9rV)"1(dJ'I6c9ri)(Dhkr$rh9YVKE9Ekh#kGETeZR`r
+
+[j9+le)PSI!IU4F,!L$P1i)+4S"1&JcB93DBRDF&5'aSjAeZ(kYHcfa'RlEU9l0h
+
+`N@EAra6KN!!Aa0URYhm-lER%%A%PVZpimRl88H5-NXRl8fE*qA*qh&TC2fXABSh
+
+E1L,69HM%"Bqf0$6a4p4P`Gr,3ZBrFiq2[X5*A`dq((Zj@Mb26KUlhlfA4lrlp#P
+
+[I4S3d2[lfV%[0@T[1(KU8H(KiFZ9RCAE91[9kpE4Zdpak6h4hbEk!J6RR$+B6FV
+
+kph1h,*k`B!jcRm,h+IAHRFk'E4bY`TI'"l&[F%54#B-EVim0$Vj1'PpUYRacp`Y
+
+G&13ekZTNPR`d*hk2djj1I4YAL%3'$Fqcf'MLCFNYlk&,6iAXlRe-@R3mqE6Am!6
+
+"JUaF(DUa@rZ()$dqjcqeap6JipLY#a2C1`,h0L+6HcYl5UdZfRD(6l1'[pU[RhC
+
+lFCJ`%fFUpS9D&2LFA6mUNFQ&(BSjTU,-eXR8EP55jpZMS9)Id0QM5i(L33$26-V
+
+9Sjc(2*JK3k2$4P0Jced8jq"3T6hM,P"@R5Pm!bcG(EdB)[9SF1,V4FSqATV4)N`
+
+'2KqPmB!QR9dkY(fk0%`++S"1L`JRlZ(dBG(YX2F9E2@d#NNBQQ#HQMk!44!S+pj
+
+1lE"ATpp+`1KkXrYF@V#VqDKl"k@qaP`F5AiTjZk3!0V8cAc8eElH-#'+pm1A`)p
+
+6$T,r*S"!+E$[jhDLfU'(iFAaF1T&TBG++JJ`JSD&(2SjlRCA1S5kF(JGDpeY+A4
+
+kdA@#FJ32-)2*kF1hCfYppDcl1lfXIEmATdBDf42XGcR6[SF99MSiV%HF2#iYRqR
+
+ZD2#klGK91jQ1X)(,,&$INT9EdQ9$U5IYEVf4(9A9@iDaJXZTh5'Pj5(HrJiAj1q
+
+pTi)%CiT[L*dripEIB2'&+d#QL4*P@1kG#pM%+5,4SB-JD%Y,TLdG(Ci+R[d*f1R
+
+fV1l6SdY)N5jJ2Ncf0M5T99P[d#4k2ajP(fiYR)kr,JL`%af@+lSpAJUajRqa2X6
+
+rBeBCpMGrmSB-JFQh62mKMVr2EiJLr"&Ce6i-ajQqr&&CiRrA4je!"%9E5XdrZZr
+
+Rq[&6e49r'rChdlHqRP`"S0UK3dk&CF6bMFSr#h[AeY('qjfI+peprale'pNrPLT
+
+8EekY6@4!,5CBG(@k-qGZTHaREl"qNj*fcjECQe#lMHYUpp3dpllH4LihVpcCq(q
+
+#M@a[ASfG2L9@5p`T0*e3#EfAY,Kh4jZ0pqMGh[Sk0kQMC)ESd28S9ViH*&eFHYf
+
+R"mCQjYE5V9'AZmk(R6jF8I&cjGheSHYN(Q$GJRMiZLViX*l%SIJeDe#h4kRCr*h
+
+dHAdG+K4%[p-Mk-ZGKkmQ#'TLfph"lVdUqcbI51K2diGQ[pL*Y06C4KlUi*pkIp+
+
+IqV[X(L`l`8r""e@DmLfdpBD1IM5iq(I#jIL6G)h-mDA4GYiLhf1MA[j10rA5qKN
+
+E'0q$,f02V82jBZMhrieN4RV26UPA@5DLj'5MRd[N3kP,j"UbjUd9m3eqLM[je[l
+
+9BVeeZR1T5HM[+41Mi2DUJq0FBXU+6cXV`lG@6bl[6NkF9+3kIGr5qFTrlHSkFX1
+
+mkmf"&aDH'AbrqUpLkemj,pT1d)eDl8FQa$1HYD%%$d(6DD,`EH(Gr8mIqr0mVIr
+
+h@ArlLAb)0#23`J%Tq4Kd+C,Qm[3YH4"b4XQKcmC5%23H%`2qhTk(-KS6r[&P(ER
+
+d)FYm9EfEqMZTGpJpf-iE"-#49Fb(&GEaFl'pMQ6mEm0'cm(rTSiZ0q',2LrBh[V
+
+a$IQ*H-p@G*bPS#1,(Hek&5Mr-5-2a*)dE)p2-FceCpEIFEhN'ImkH@F*rcLbX"C
+
+*-aaM&If89!PiX&j'I%X5am@@1`h4FlGN`cp$IBIGk(EBETGJ5l)mZd#6XZYXcm'
+
+qRHl`GXF%peMGq"$p(G1p"Lj4YM%r$[cLbZQLmM&X29iXp8hF@[2ZkhR6lZrhrEI
+
+-Zp#IG59qNNMGm"Y&BTMhZ2eChGFBNK$P$C&KRP6YU(Cbref3!2U%lKIKmMZ-Em&
+
+Qaj2X*md2!p0jbbTU"`Z8U[0e+-2C`pc$mEmkMGSh3#H,4qT4E[R06-CZ48GVi(X
+
+rQEI`rb8HRMqMfIf-MpZKqp%X8fMESG#MBj[dcNGemD$LaDJKBKlY&almQeFLj&[
+
+1c-kIb-@j$mMdG5lUAINHMFT5HAF8J+%-K"&bGj1S@r-VE&[BR6N!NRSBZ,a1NVG
+
+[@`e%KSDiG!6*Y5AGh*dN2Q8-URb92qR6V9[U8+dRqQaIr1V8UhDeZaqT5f[NekA
+
+)KA$&Np+j4j&(1Sjf0b),Q6mMl1TTDQKmMd,Q,*pfj3@l2D0@EUcEb96UZl$m[TF
+
+ED2paYH2qdXXF`$XMCj!!4-Z#@a'rS&F'ZMeF(Uj(m',jHB0amVmX1ihAAmH('kp
+
+'%1kmXdhNjLr4lV5Sp'C1q&0plrrm9kCr4214,`G#R(9d+L(1R-AlmLCCPl,fD'$
+
+FlP1BIaX%A9SGV4Ua+ZEc,I[rYlhlFbIb2[F5R&GQHc#Fp2Je(ZIcFTm3G%lM$F+
+
+ILG#CSMEAJl93d@Hh9(hHMEIFBFdTp6"qP3`H-!4$H$2K5JlcqIZHM4k1ip1jVm5
+
+G4rqB$5'ScI%`eCT4&9Dj8KhZ'I$hRph+r6U3!1k`BXl'`H1!5M1SdU,I)Fh`XRH
+
+rHQ8H4k9E6iAhYhTlhdU&(`U2$r*8Ue&cI+I2h[r@$BlceXZCMImCYE'p6Pc+2"S
+
+4aH,[GTM!EJ+Mh@(0`9BH&,LaBZAMIcq2Qd[BhZaNE&$k6(3Hp%00aKGSrcGelG(
+
+$iBCkSH6k#$NHRh@P[I6RD3#$5kR90hl9+TqMlKAQa+cr`Jk!)1KmRfUh3"%SJi1
+
+$I9SHU%mG3AB9Ge,ikkHLkI5L$MeUh91X2$aNTRl2(iADpB#(,VI[qmUaUlClc"P
+
+L%N!#2IKh@jp+%"hK6UH`BI+R`GjkAFQTGZ25cBZj065!FcaE2bc4TH(!A2fIHQ#
+
+"Z2fFfD,!1G-PaCN8c`rX9IX9[X8e%%kR*j8&BhcDeZY"@YATfGDcThcrJ4e1$Q0
+
+UFdlIP6UZ6*1f$@eVlb+KAUFMi@[4MS9A%"%IjLe*pkK4VIj4M9rkcZ$*rTJQ&T'
+
+FZ'DmNV@`#8VIhp$BSplf(1KfTPcX-[LpNcE[YTE-hYX0UNRS0m!D3@8!Q([GZ(p
+
+aa3I@RGe*k125(A8YB`mDka1EPb"AA9A@Up5emHEh@Y,9VCS`HCTdD!82,AQ0j%[
+
+[U9,UHrrY[Cq2Tqq[DPl(r,5MTD&,Sr&Se90"BX@E1rhrCpR9UfjI"h&bENNAIHH
+
+bD2jNi1dRVj%fhTiN*"H)P"&!qG,6HDEQU4"D(Fd0$9rA(iG-iADR!cr(pbVL69d
+
+RGRb4%pf!dl"5hp2aMAFE`SLQ8!J2VQ"6,UaBf((*'RZi['+1bYH+1ha[iSGQPdl
+
+AQ`%CUh(P9VGI+Vfk&2p+BRl!I8FY+26Zpee+%A[jIMBU+-F(VeBFf[0EG4hNZH0
+
+Fq(KRk14j9L,jRVE[FLjd%FeGC2R3CSjQ05q`1FTj%cV`ITiF86-@2MLA!1h16jY
+
+QMfQhLrHpefYHjb9mBkS[VG[faA02irG4ld!RINr6'kp#+RkQC&f5,&J2baF[4fH
+
+*qVMHhMcq*ep)a5k-'89f@de`h9'$[riZkkRCp6(r[fr2[Ia!)kYEkQIrILGf`e+
+
+'B(Y4`C`"0@A1QCdc1P[kmFFa9G+F0Xq@1fclHI2Z8q9Ec-r5lE6Ypl2dk(ef@+&
+
+pEQ@VYA3Xr5Xhj+pNm(DXH6edGDb+EdTCje#2$ILM04P#R!CVaTU-+i4R3q4RjpQ
+
+k[ePSEr3Xmh2Ekk[mkkPXI%TPKiVKmbjGemqAQ3ACaVFD(0d-r3DqlcCFqCS6EZ$
+
+QE&h"Gf1B2cVX3,SlZZe6@Rj1'lFEAQ5a5QdKcChI5QY5X1c0QaR8LG5j@kLY5kG
+
+-VEE2!fD"%M8hPSIr`ecphUm#,hXZRFShk-I!f+26Q+X@0EJMMe+1R6fYA$fZd9-
+
+J#FED$QeIe,SdpHP$m[V`3(rG2`qhVDAPPqbe3@b2-`fb5A3Vd-2(VkPI(Par$al
+
+h!ZdH41m0@&f)@d!`"qZN1'RDMdcKPSiD2@i"LQV+'`kUi[05,9`j84AFQC@Tap6
+
++e)-9hMeaXNjQXI[*2iXI)SF,JPq-bmX'lRGe1A0J'G[C8HE,$JeM65l5#aKX6Fr
+
+b*qK2mLI0RVL6-)*mh@`lrbrGGeAm#[p6Npe$hqkfiG&X'L(M$5@Y*P5FJkAj,9@
+
+%NLlqPCUjqC!!V"+l+Yc5B0$TDheTr1b2Ehq[CIBTD#$X*HBGV54,BG[)#NlEMei
+
+l[9RTlN,%TRGPf2XmbY2lA@fBDIZrj[G6E%far0Rc3cf&HhjDUY#lLM633`GXc`2
+
+M8a!rGR`cXR@iNh*eU&c*NS6**NqEMZS549FQh@ZjZ`Gk8YZE8*U#!5T9bXA08rk
+
++RNqG@dFhCR36M`6hHYf@EMkeE0McCfY1F[hYflYhGcT0D'V*9cd!REb%S+5T#PG
+
+*L!#JJVM(fRNqT[HT5kZpfKb6Rh%CS))!`()r"1Tlccj*H`fZ,kQidGrk1ij('cC
+
+MXQ4M!'"-h8l"NiE"T&Cp'&fE(Nr@V9ZqHcHB(dmGm0!DNh&bI23+3NJP!)SNF8&
+
++l9Ma!IEUA)jeI"RT+*dBITETE4F2eV1h[p[GINKqVVEHqqpl[6lEp$2dbF49Kd(
+
+5akBTc,((c"HpP8#DGYhYZpYh[h$2$Gi1d*DCppFh8SDQ8RlaH[EHT3[!Ia'$m@'
+
+R4cKNP%4b%R'hX0lD*&VKrZ[@LfDIl@GLmh6a[9VG'rdFEm&lB[G([rA4GNdHL(%
+
+#jRFfG3r9bTfVqY3e!+rq@TL8Gdi36Ci[eVA!`0LKBbZleE&$Zp5aU@059Xb1(@L
+
+cDHY("cCBMf9[jX@YHcG5@p0LQa01'+393DQFf@K"P5'GEUDNL&(3e++9R%%&qRX
+
+4pIQ8k%YE`Eqh3lHpmDppLpRMX&X-DR&FTRfGc$L(VBEp'Kpqpi&lTkP'MT0%UKq
+
+V2Si`ThRIpHE"3p6+bG@KMH[U6Y6&e#e`SJ[aEG1m(`#!pDRIeSYM8VhSVeHp(3A
+
+dHKQ`i"QL)3mcELfa#%!`F!6b@8G6$b%3Bilr-%+UaXI4%iY"!id%%rm&#YP9[d[
+
+kk($b[ID[pC`QeG6m&i4ALp44!'iFF"!U2qeHqX)`E9(4L9FqD80@hK&cBQHJ%!)
+
+INjAqci&@[JJ8$3dbFCrR'$0Uh6-$ELe+RH+3!"4`dYM@93ZeFKcBCC+1,Y`pD,m
+
+P2&Z1q2,FP5MEq08r-TPhfcrlfIpp[EqBAVDrqqTe&%%[CEBTrKY#RZYKb)[GbpY
+
+3lE(cp@IL+dpa)Z0YeVf9,P6,9mS$hq-A'5ik*iUhjiaHI)i'$+RC3"12J)kJK0@
+
+m#Yp(NUcETmDU"(UmIYHedkfc`Z%XIIaDhpl+Uh9Mck[X4qC(iNIQArdik8GQrT(
+
+hTk-G'2j0k'&-f(%kir4jqppb,VN'DkJ%aZ[[F(#r,b2b`VG#QmH@YA(02@VGB!f
+
+'X)3eVeEEbM,KE1rQe4[Cj3bk0Z0!),Y2CVEFI5KA$P5UP0TeYV(Ll$*-prlhFEI
+
+[ZR@fDh6Tr[9&mAQ%&[BTP$kR)!5YEkGRBd)k0*BCNk%I@3eq%,hr*@&0h+E(j&Q
+
+KD*3iJ))YD8JH4em2F39lh$[Fbp6kFa9'M@HNR4Aq,@MVlI%eDm0Dr@JlFLc8mfS
+
+T!*VI$46CCSSL8kD"-cchNN9LJbF&'X0#YT%`k9fMSdkP2l[)@I,1K+@F-fR4Y8I
+
+Q@ZR0KY5dDaL3!-kV5c91!8pkRZVmqlfHAh83T6ZH(lFlDhIdSYKf`mKd%16,EpV
+
+[[a`d0jq1hl95HJ%Yqe![SmTJ2+Ti+'cLm[QI5aZ$PB+"5!peKV8qmCIh&VDdq,*
+
+km@cMemDl5fD&h*kqC0dHKSiQm9VdK!3(6G@Qa`Hk`eb%mmh1ClPHYE@2qLBjF&2
+
+[-2%MQq4$d)Y(`DG24i2l,YYh[U(iG@cU@G6rS!5cUrKarcIGr-r4kT!!P'GYDmA
+
+eSYZ6mPlkSebqpUrSD@RMkIZr[IV9B0#"Qh9D(U@jE28Xra@HGD1Y2G5pPaI)[8r
+
+Tc+,H!jSA`3hbSlIX`@4I$AfmA$f@hiqh6G&b0lZT3UDY68pM8Je26eD!%rZiq,U
+
+cX6&Q+clA[qqVI("fT,U60A9SCf2RBqVUc-6%Q+eEYqc0LaBZ`SELK1bBBE9Ub"5
+
+eDRcj*&LjcSGh$q5'@d3-,21Xbf[-XHCLbpPjRMqC6mb"QRG-e)0HeKXS)S1fPY4
+
+9iJd8AN$T"6!HVMG',pF-"dHrpA8ep6dpEbiYHPVkf[0ef1!'NGFN'kqTUr%Je29
+
+%!2AdV12krZl2k0@CmPY8$JqaFmVGHc&[2HqVTeFEeBTZ0q5MVlhmJFXjheMIcdq
+
+GhhXaIYF,mRbG[KINV!%Tkr"p@RVm,rXXV&GU$9`BJX5lVAq,,fG8cJ01KlBjE4M
+
+q&!0,i*`F*fQ(YpI[F*SMiCpF`D+ke)8KFcS)F14Vem0f)40[6G[Gk0,bXV)l"F@
+
+5RVaHG"jHV9RfXD(hd2aC6Qkl3rjZHG(5V2kI&3jh%eBB-IeHlXkRVJFpF-#F`Up
+
+D8kRN82`8-1UNIU$hd(aF12eU(@'aaa5-Fq2f#C2-QAlm"-bJ[hidpR"b6(R013"
+
+$UN5Uq*(hbD16@BSp[9S4k+d*3J+&#rY`4Aki3!#!0EFGF)$AcP@2[K!)8&m"'!)
+
+$$($IKMABITlQ,MAjdcd![2Sk[6J[AlfGHMqYRA0DR'[!k&!1N!"#iQ5UB3G6"!D
+
+prSjbVr`Rb%I"5[j!)$mje6i0M!*I!)SJ)9B)%!L')L[hSpX`iBN1)9&qC3BR,`*
+
+#H)Ti&F%&I1@3!,K`'YUkm%fr1JZhqG-h1V-c[B5ISNrTG'5@K3eD#,Z!#6!#Cb1
+
+-J3BR`QFZ'(&XkXXhC[l-%S"0Qr,'HGJ"PCr8mZ+lIf*Nh@pb#$9`c0$9d-l$RD'
+
+FJ)Bjr#U$pi0r4$Id3lpERYr4MC!!rC!!I4([VDY"$Sh#"aciAeh9rR$GhCRmpql
+
+!!b1l(GMfG8JC+)0'Krk"Zk'Vr5!3qr&@2[8Im5,bCCXbGVmcm9hVCpRQfC[q+lS
+
+CGhQG!PY+YHNJMNNUjK1,MT5$IZ!RK,m8MK94r*&$,N8INdZaPl1,p(`GhKamhj*
+
+,5TDd+)ZiP1e&9`QZ&@Ueq$,DJ!CVfKMl9`h'alGUEj8N[)r((4h2XU6(Sch%p#c
+
+KZGER9IqeA%Y6LP"@YIa9HSD'(m@prVUlM-9&bGXDfZC8feImU112q+rQJ-ZL8P5
+
+[TChl5L#GVBBqFC-)")qF(pmk2blr6JfDrqD2r5aRkYA"9V(Jh6$5iH$X9F&VBT!
+
+!"LE3LVAR9TP[bkI6Yl0DPErHhQ!iQI`6m'm`$T0[DjTIkBI%NV69f!hJUpCYBDZ
+
+aD`98*@j9`m'c9d,@hMeDZEFkE1'EA'Td`SkdFFj*b-l*r"M+2SBFYBHLAbc5[!0
+
+QRVY&`H[fZlq$rci2VGjefr4Td48ceTe+GN55pYV@IYGYQk'YLjZ,QdGEY9AX`dj
+
+pDee3$BC*Xrb,'K`p#aj(GcE%k1"XbZ'$GHc2Tfl8reC,-rel&EKfE&MY[am@RGG
+
+!i5MR(A+2BPM3cU'GmM1d[pHM(Sak-BY3$2h8CK4h)kpqLGK[`[N5k0`$YM4SD[X
+
+,J,'lRYe9GB3iHiLViDplZ2TmfLG#5k-+R[)KI$JlLjA`f01cTpaYmcbkPQ"P9SY
+
+EqLVaDYkep1I4KTpaKVMAlZ0IQ%N4R'YVfDY8*qpDJK'bJ6r&3Rr'H%r1TmkrcUh
+
+XjAI@Xq[RlVfS3$GaRerXGaqlcGj95jY1[lFGk2LKcUFRXHMVk@VmG$QmqrQ3!#5
+
+8&0m,Cl@e$Y3bepVZ0U[KiHEijK0`13FS9Z0e+eAMbj8hMcFVb0A3ap$+mM1Qiq+
+
+d$3ciU&l$a5CAIf`lS!PQ,hKqdh('ILQSVUM*V8'+fTqlUDQVrS4R1QB1SJ&,)UZ
+
+VH[E)"(!`m0,aF-A5PQdl3"YDh0mSQDVjX)"%ZI[c!dNNT8U[PUYEF)KMUf5F+ra
+
+4k[cl`hb[BEjl,KUNFjZHU4EHV@ShG@YHflm'TKeD0#MUi5jR46hhBd'X5NlrQA[
+
+hEmYlTArii[VkhmFA2LjmAd)QIU'12I1S#rVK23DN1V$321#K[U&M'rREIjU(S*c
+
+$FaSeD[YdDZ,lH,dD2YeCZM1El2Z#Zq0,j"dpdEY@l4jQ,"ZqY&pML@,X$,A#eck
+
+0$*h'hcDZpqp9aFEqA&MaG#PT9rV[&cPc4i8Z0KmM6#Jdq$KS,JR8#[@m%'jPZE2
+
+"`R%hKjKaAdbfr4pZPmr,`[#JVHEMQ(1EHr6R8BZPm(lZKrkfHR[IZ8pUjY3E6*[
+
+d,FRhF@L6#Y[LG,Z1P6k9[pfGMbIHaBZ)SJmRcm@hTD92EZAVHh"3YJJTrZfrh+H
+
+e32!YDPIRfXQMTBZhEr,Lr8ShT2b8G,*ql4q-Hc(h)Y&Qbm0+@6@e-h8eZre[#RC
+
+Q4*4c*Fb+64c&FUcBT+0+@P"*(U4kR@lq,`J254!J!)SJT#cS@IDP)bTS05eiP@5
+
+eQ9Fa3-SJK#JNNb05YUFR8YDPRjGV-Xr)YCJ&XaCQF-0)TMCKdHJ*PY3``fC0q!D
+
+4mNTMS)GiQ@3BKjZMF5pdZlaiU*!!#'A2a@#$-Ma91m9%LEf[aGH)J+6'dMD0HJ3
+
+[JG'@r,UJ%e+(GJ,eF4GFFPjdSUXZC4Y8L*K60*2bTpZc-hmb'MV0&cKa[4XhIKF
+
+VbIYRVMRS"[LCr`-rHrMjQ9!a!"i0A0c-fd61BDCNT5fHI[qI$cpB@1U)-fP@U`C
+
+QYDc6*XeV9H'[CVlq`EDr3Q+mf8`&l-[@Vd2m-qKDL#'eV-@r!3K"$GU(@THK9Vj
+
+N31`4fU%0m$kHNcCTXP)3Zc"#k%383$"rkS*3,V&3iD@h9flLj9TPCK,fF+Nk3jf
+
+QC9b)'N3Y@"!T4U5M-`JD-JrV@mfSJ%eVGbB2ID()r(Q61qpUl2llfVLRI[4"(8c
+
+Fc[[ahD(IIM$cXl[H1`J95U@[d)p[&kXcchYpm@4+8"M9+)2KIjBGRMEr%p6IeYc
+
+KT8jq#P"`90!r""Ni-EfFR$M`dYUYi2`XKQRfmkjLRG,0mXmbB-R"`q[2-F+'k&Y
+
+$!er,REcVa%YGjmUfV8fR`1-J)R+ZIT+Zrhr2ReE5Fd*p+`l-Pf(,KZcreh##+NK
+
+q9%Rm$V`3#`N-LLNqS4HeVm0k6k+E*#IF6aUfU[E0A68-0LHUEp"Kl`!%9aAfp2[
+
+*L*2BNdB0a8UHT*qBB((jQCU#`kP*M`C9A['4qNT3QRA*FcE@E!18,@Y9cDU!D1B
+
+Np$X*22ZA14b2Mr(MMjA+e!#4k8I+cVR+Th&PAYY2S"$#AfLbIdq&q52S6Y(%TpK
+
+[e*k[MrbeFripfC,aVYEp,MCpEqAMplAcqhe1jlbQbhZCMiDX"(+k2'Z9VTRpAH0
+
+AVa9UpQ2hUd$Yh$4TC9@2l0Zd@1BDNP[Idl0E2l@'a$Pj#aN8e#T*-b2-N!$cSNV
+
+61,U8qfUDP5E8hDQJN53M$V#&qY#PXDC$U3pX!5C)X0553[`DQXJ%!**U6068qAf
+
+fCUCJ(e2GN!!DhC0E2Zji""f)$qlfeI8LQ9q`j$Hk!dD'ErjP9Y5ame+YYV8X8%P
+
+ZT8r1YTcaC+DU"cQJHk8I4B3DeblF#Jc,ZCVFqlUb%fQaUkNba-QiZrB3)j`cGEA
+
+Zm2@UhDXPQCfYLVU9E&@E9hpC9hBh$ph4aj,He6fZ94S5C1E3c8!Q2V89J-fjY[I
+
+fjXRpfL!L$jkF8H*&2Lbr8Q0dZ2d3*@S9mc*+@h&D0DeZl23#$&[RmMmD!52T4rj
+
+)qPFqJc$XE0LL@H0LXq388ke,SBphHqY5QH(-Fbl(V20VCpBjRkh0Mcm&haE[@jR
+
+QjP0iLr&@Y9Ce1I,DTfDGV,XjGV,UjF'MUG)h5fPC%f!hkh'BjAZ4d(@EdCDU8%@
+
+Y*pV5eY)fiKc,*5Q8[m'9rJcV'iQUK"LA,5rmHYVkf'GcYhKT(+0RDQ*U'T@l'00
+
+bM@$l$SBZ5k`a)e)KBr(0em4U0LT"fE9Q(j!!(8#ZG,j&AZXb(RdS2%9VbRCj$Nq
+
+EMErXrm(D3KPLle&FiH#idADGEUcVFQR1fqbUN8rBl$,b2f[NlFhbThe-MCEL&bF
+
+&,TdHSM)jX#fM@UBecRZ`18*q(R(+J-'UZ,@SfE2%q&E`[!3h4%8E*HjqaHmHKqq
+
+[j2F2JNlY3#+di+49-mD+h[jG&I($HbdG-mYVe#mI!VK"MBFZRSpFmd[DLUd!%Bf
+
+a4ml'kN5X(!3%Jqc-Zi4bYa62'emAfiI0+EdF+a&SEN+3!+l6lrU8IhkAq#,pqJ[
+
+SSJ%SUJp-Z@pD54lJh*V,*U[1`NCcBG,e[K-J5i4Ni+r4C9QG"(j[[jY+PZ24T@p
+
+lpRIB[K9q(q+TAUp@YbQ-"1JQc*2kX61mMk&Rc,2QD(lF@GNrCLc!#Ce09hXfCNr
+
+ChfC5reC2qUhrA9bN!P[qZ6qU(R`r3be)$*11DhXcVG[SHqk(FG#hd*dp!*Ek9Rb
+
+p")qf*bi0RQcY#VqElPh4&`9l2`FbRbF-h3QqfhZJAcZE1Zl2I5ThH0hL6DXhT6[
+
+S30A)Uc+dN[Hc2cIF32AB16KmLU$mp0'lh*U1!Z"r&4kR!rLCX#i'DlC4@cZ*HCX
+
+jrr$3khHp#lXmNM&55jpDE9R9'TMc-QC1qGk1PNk9$8j@TTDR+lrl[M80,P60#Cp
+
+f"CL8a6)"EHPSDI*p+l6lkAQFZleCR#Qe@)$*[d)k%H6I)i"m)*qKj'lNNF&![p(
+
+F%LrNi3HKGmQA3JmM$bCC[dTZcLIdUGj"D$cCG#TSB0$ImQAb1TqEi%lr2$hp$EE
+
+l+QKId,ZhbCH6m22-X1lFjQ(26j+Vc&T56)CRXH4dlZDKkYfQ)19ZE@d1Y1mD"hf
+
+AcTN!ArYk(@d2($"q1!Jh&,Zbmp&YRFbYk9S"-q$2%'IcHj!!l[mM-Y)FQ'K)HBp
+
+++A*KiPVPAB,KYYA)-ffc41E[j2NjZ4VIUj[BDh`,hBAIJAThP[')+UC`(&G`F0A
+
+ar)dk[Mm($8`9#C6a*hKB('F5"jLb8I4iik4SkeUl1NiVfk`JIQdm64hAAbF(#pZ
+
+GFh)#(bHHM2%k0UQ[fUY%4S[cUdYDTPHj5ciIZqrrZ1(jfPB0jepjeq0rGVG1hqA
+
++q2aleEp[KIVGl`@AC6rMjHal[ip#2IrhD%FNU4-%lJS#d!e%+@R-j3c)6&EG$2M
+
+l#[m$Dh#Z,VKb-3A1EJ6#p6I2mE!BMkfMi%CBTEkRBCfhaX0-h6Q"L!5($a(KcPc
+
+Rppl8"JASIDh$($QejrIGG#Hj'(ZUHp`(KMJT8rPKL,'92bLhcQaiQi8l`eZD-k5
+
+6l8l@(F@Y3!*NjY,l4dU6p`T!6M&rLfIHiG1$HP!I'`LTY@$R9Y#YLGijaB0(m2a
+
+ZMm6fp1Em-a499ckY$YD09Zc5)90S6ZrPm#$iH&"&4QiajYdYZPp#NLj1FEkd10,
+
+mD([q[TiZRkp(pqMpLMrC5h'qfk,`3Fl'`kIYrRpVm6V!mmHMeXEY3S0%bTje&AP
+
+P#hMIHTEI+qpUI*e,hIqRMr*h[S$V!k)XMd)P9[q#B[[`GSJBl9ED!*dVHh1T$0r
+
+(R99@VQCD0lM*imM(d0pj(%`k)NV%!6,`Bc6481![l0#P4Y8,f4pAL8Y1pMHP&dq
+
+*5SVFALfiVaK`&EB,+q2C6CS1%[Ebc%8E$%)q40ke53ClVc4!LeSl-3#1*Xd8rV*
+
+d1+RU6V3lVViZ,fAVpTqrmcl',rCLlMXGZcp#LTh`2pr2PRd08j(Hai%r@he1aIc
+
+rfjrDcrcFLZjbEaGe,Le0E"LmEXVq,Hl6$C[D&rXCBFcI,+&-q1`B[4RadSYm8K1
+
+*,SJ-LLbhGk9!4-aTGDTMriSUH2qrN3I09C*4UkGAJUm0LjN9f,QAi+(XBpMIHaP
+
+aD8XA&2!rEdU"SL))#ac&XDXfMlN8'2r`hela[q"jQ'J(TeDbUiKS0'IqrVIpiG1
+
+I@l'p[X(LdpeKaG2&pZcLXl0K`6iCmZV(2fqaPR`El@X3CqY2JaGDZ3HP%&UI9Kr
+
+aAl-0RG5GMQ6rNEl8XI)cmcGCYIR4+J"1TbHS1DqT@r"EkIC`jACSbcRFkGejc0m
+
+*``kJi@rU`m2cDX2#hpRVF,"@R)"14J@XqMQlQ$FE2RGpkI0!*GJlkAQQqC0SEYF
+
+U2FB+Xl'`8ChNi+&2JiHcTqk`8DH0JaMP#j!!cNq$Ch2Tm`FNjpENriZE@lk@k1c
+
+1B9R@F([A`TrARUKf[rUBQZ%L#N0C5q3[0$SjmlbF2jZ)cARQ$ENFR,iC3M$Z(4e
+
+F%qp[[THlRGYqVRQ[V[*Cm-29DJ&3X4GBU44a9m[$i"L@(#*+R00&VYmhSL@Uhh"
+
+&eFE$aHVhjhI)aK-&p62cr[`r'RhYECRc[G5p["f`B"+B81c$SYS`+B$CeZZIqU$
+
+hH$YUeJMhS)*rkq+V$X"KLiDZ'(`ppe0r6lE$Cdp$SLarSQP3fV"VihUmcAa[BLQ
+
+qkpAmbcTf8k&U0@KQihVXaERrJKMeYRG5cqjphCpekpLcBpI2VEVm%0P--G""MHM
+
+4NSl@Yjf0(m$c[c25dp1MqKMDG(kY%2jl0XH'(VciYeKeMb,hrPpYh9I`16p5(qR
+
+G43k-,-qTSb*62if+'Ym$1[AaHBPTl1SD[%AFk$IpH6"$8b#C,fhT9pRNqNH2rTK
+
+hrf)9HS4E3J6,UaBd@2KlZ,hf(56e6P-'RiG&N!"rU8+e(aFEc5X,eK95Vm'A8UL
+
+P'c5e)PFVS`f8`%G$f1,(UHa&"M5Lql2Lk'pEbcTiY1K9YqGFUj-G$DbB[Jl9RUl
+
+lUfHT$rTS+Ti,I0IKmCkYmUhDGbVV9EQDBPbkRjlQfr1TrIlMCXp2Z2q02kQ6kLi
+
+0[Z(DLkXrlq@N2eSp(hf(HiCfRf1'PSrShXV6Xk90+RmlNILlUc5XlReimEhecHq
+
+TLFVXG,Hq[mQGPD&R5UVhTe-'q$j,N!"lhdU1RZ[5L2Hf,PMKVK'bqU%&c4pk5QG
+
+aKcG2hZ('*iKV$Nd'VdkZc@rS33GjKlR6aX+HCq@19)%G%8r#`8c+pFlBfk@hZF1
+
+C"lf@PQEMfXA2a[Dm(1iAZ8m5QX)r4TkIZTFA6lc$9dqf(@[M,+%&b@LdZB'ij2Q
+
+pE0mGJ4["bVi1c8R9CYC8ADTVq8VZjp12`q&pkT5hRhk0,a24UhMr[I[9ej0,P2V
+
+lip"Ff1VYpY,4$GH1!5NG`%5Um)IjMBC[Yj[4lRfmE$-(ke$"i3HN-cN,rX1mp2,
+
+MSl-c*ZG,hrTd0+CNck&$*m+$JiY46qN1k$f[5$iJrcFHPLkH0kAJh+HC6c+DiJ6
+
+MfS$hT$PjQ#(ASG2`pQYe+IfULj[iG2dFEm1TGq,Gq(,S`r$pHMCa[qP'aCppb2q
+
+-EQ610kd82`rBq*h2jrUk-hiIUa)`6f+r4cZP'[rY%qKfaU5q"Hd4[8,K[BaV-Aq
+
+1[Qakkqa[B-YDS5hSrLqaSak3!,@K6QlAk'FLeMX0lpk+p5q,Tp(iXliH'P-HBAY
+
+IC9A-XUYq&iYIGHYc*qkr&LeqdXH*rbV4eH$FAr9V,e5*8fPXm`-D-G4GP@'RZL[
+
+EfelYpQaJj1jl&Gc5MeDRDjVPG$ZTei64[,Z8X0b#5(c+'Ii2rT1fTPc@8rXq5,&
+
+$f05`I*%bKP81$Brb@2X@2hXl*cTMI&%2dSIAaHVlbhBkYQlqEGKkFqP4i0,0UAX
+
+c6@60f&1'e$QjmfbPIla+TVDjrcV1B9b6@f!pRBE'K3`q,cTiq6b2DmAl%2Y$3cf
+
+VXc,6"Ta0Rb5)83[S1EJS'0h3VHl`FZ#RXc1`BQa3J81&&"3kr9aT6f!&$SY5qLK
+
+f*YhldA&%*allUd#fel&#cMpE)Pm(A-a8$klB#EC#UC+#U9l)fr#S0@0QkHUC$m@
+
+cId8LI8#-ClUAPRml-qPf#UQ5Ak9b5pUAY5p)@%)!$3kIElGRl'IaQc8jNf6cVNA
+
+)LcZ"R8H4fPcXrNIHe028d[NIlEQqNrb0UBNM#*SrL5JH9lQmpQI&$dSG+dL5Q*F
+
+hJMYbF0ICiFXm8A(*3M`C-c2+8$mq$[[5XDGM6aI54bAmbVLkCakkEBbJdahZ'p0
+
+prKT3HqP[4BmZ2UBrGj@TRr69(6%jd'$*Pa[F,M2AaZ[4ZS"-EVlh"@kR+92+GVm
+
+ApURYm,bqlrQUrDUqAhAeE'[!66D0DLBj+L$EeVdF@G,Uc2KDUI13!!-q($c$SV6
+
+Za$X+1b5rI"'12061e-lr3MNDC3C,)adVZIKcp$Qk'H8&HBQ-p,c1VRpUmaP"Y2E
+
+Np@2TrRE1TrmA"Fdpfb#CLdjkV&EPiA&XrIlNfDkN(#`fChFcZm`6@N3Y&r5EjIf
+
+c$GSC8YDF9dSi&U&cZ0EkNkYNeS1mYra9ZTEqT6VFV$ZH[ZiHkKh+Nm$qR&8!*Q5
+
+mC0(AfkhYTSpmEA(%b,ci1&l&hSBhiF[SDIr1MXlheL%`C5FlDb2T1cVBZD&q*lU
+
+QYPkrJBD6Nk'JajKITjP20`jTY3D``j!!#Dqr`fBlZ[ZP%(C4mh#M'15G[X([1jX
+
+e+rSmQ+(j-rCKbpdNpZG`1bUm8fV$9SA9ZhqICNci$B*e!#))0ekA,cFEif0mDrQ
+
+d2TF@RHrhBh#Lqj&@Lp%-TkMX6f1KNEXTI"JB3`-J"+9HVRYb4a8mQhAZal&[#b'
+
+&[$6Qm,mPDM`[b8eG#diVH6GV*Mc))%!flMT9rNl@*$f5mFC9PYhEXkGD[`pe2pj
+
+VFK"89+pVLrXXHqHVGZl'Zbq@E%!JqEQ'b5mfD8-!F`eZh-Q@lD#kC-iR%Rcr(mG
+
+[9i%&UYSpm+h19`-rr%LhhHq(`Gcl,``%CqKdj&h*XqRRfmqTRfp#Qmjie%%`A(d
+
+)b(1KLVQ6ILc-E-ibUh"k8HIA5haV!%l5MfdYH$2djpLIBa@eLLeelZ)p[#dY[U2
+
+Zm2E3@-1IViZ[Za!aL!LMTRXpc#1Y@ep@BG%ChMAL2XNJ(X!RU%Y1[(KjPQK,@XR
+
+)9A[IUAZYU@)P`hFr2Xf6`F(&qC-Qdpjjm`NlR(GXjIkl[##ULJ5D3@0KUQN0j!%
+
+1lRD1`Fl#R2C-P#(*S&(5rT3mUKFNNfCeR(XeZY(RQ@fXpd,k#1rc)iVpD"+!qSM
+
+&r9',EZU%%!b,jJY[TR0CV,rSp3GlY3GRba9+HE(jR0(J19,I1FDmH*5!4K"$cST
+
+DP#28jQV&3VHAIPLk@TUAY@p3LU4I#D,$9Ufm-2P3lA[*E%A*`pL)&6cH*+'+j[&
+
+0[hT%YFQl*,Mh1"e+pI[U%baf5m%aM19j)iIRfi+[iMqMkeVj4dqr+Kkd2@KAjHK
+
+JYHa9,ccJe9TI+XpE25pFi353!%(cV3jPUrrrDpl"3NplUDQTql*3ck'CUGiVfX-
+
+E"*JR`@jCqR*hZqlrhIKpY1X5k%Hl1&YA#NlME2#`eUH9Jie2KBFT!G,@JbX'91r
+
+0A1D[i[)PMKc[@[`mMVjhVCeI9pE1XChiFl+e2q1JN!$Qa,R'c1&l9E0b[bmDIPI
+
+MbU2(kq8(cCAjDd2HSkca)K)mDFeUHV,5f+(NDe!8i[AldckEGEr[rqeDMPIHih!
+
+b[[C@Rard-VleB5R2me1Tc9JN"ldAa,@h9rSXlIDiGD$Z4QTfYHV&9Vk()a'4GJL
+
+b+GDeTfHKC1GZ3!PR@Xh+Z'URhqq1dTN&,BTEGDMZ2CJJV3k2Jr$q94mcJFCm%'d
+
+UM1bJ%'jST2Ak0HIb2DIITd)40jp0&MHrPI1U*F!J@,%Y+MYC2Td+Q2S(&&pqTHU
+
+8XhJcQrIBEHY1Lc-(%`6*fCJpk)QBf(j1K6fkP@RhV`J%h1jfe02[e'fArMrhI$&
+
+2KS*dHm``QSAA+eX0cH'S*3aUDR`-G!LF!C)UN9Y[MI9YiH0p@YYM2eFrU3m+iS,
+
+H$6ZdEY["4!0*KV4JEBd%@YVEcfBBYjl1mpQ6$9`@YLeGUjHYPcEXeD28)Z(KMY9
+
+qfPlDTCLlD@eFVhqbMmIBU((-brfI-YBE1[C!)!LR$4h8[C3H2(6qHcTUBHfKlEB
+
+G5,8!)1ITP$8aaM"1QXljcmrYV1rhrCpQ-!jI"h&cSKd#SL3HENrk@X(5E-#GEYU
+
+hCJXbGE5mh3kdQc(dBjFaC8Nq#IkP(mkYcZ6kP(c[HrJdqTMIJLf0lq@K(4lUNTS
+
++FhI@iI,e[0R9F@Vl[cE2el[@KkN2rlKq[2Z3!+Y@kBSlU`iNNmX,qqcrLbBqH@(
+
+`'84LZmAr6--N'*,2m2h9lhPhNr,RcX@AGa`eS9iakFh'`6iYAJ6iU%R%d[NDe$4
+
+phqK3Z8INaHC39Np6)e8'cI+B%@clkGmEr[5J@@8XXaZ`3[!CTM)#hb(0N!#r&C,
+
+m'HAi)ISUXJYiSbEYqEFm2LqECm[i(QfHRm$TeqRCrEXC8#R`F@r!+j`%0dbPD-"
+
+"GM&R8IlK$i9K"a6hR[a`F@rr*",Iei2TArmNIkmIlYrAcYh"bh`3!%'YfTUpfJ-
+
+M[4NKX(cL!#8)J38j)F!)0LBpSL&[""'T3Ad!L%4I[2k3!"e!+G5$UAcL)[VqM!J
+
+[Ap[1S-)+N!#9P[BQ3kX-(r+rF"*KM'mFCmRaUbJUa82VAkN%qrXc+@V9JJ83Dld
+
+38aef&iI0i9!3'V*'H0mHCI!3b-%8ZXKZ%!Pb!1Sq&dSrX4mqrlNDZA8VcAm-#!3
+
+*a2XGaJ1M'R*21i*BUmMfjYAb+Xhfr)kdhV&VQVS@G$r[Ih&eF5M,iYf!UmcIF[`
+
+629eE-cep@cRH[R@GA`idm!m3V6UI!5$AL!MkFpL4[iIqJ-kXI9MrN[mir8N2G*h
+
+YrTSKU"UR"VAr,cU4kT8Vjkk)),A'QhCfeMiBGZ6bmA$$jFqp$p6GGe$m1aYa,1[
+
+eIBS91*8ckRZ[aHmJj1mhhp9LIRiXrm%r&X8+#j--*+Lr6*!!*N4rSbpM3ak#!Eh
+
+e$%*$QqFfp2RZd-[pRYYDbI'frcHd!4GeKGkUIYU)E8aeDikESBY'[KlMEVlIFEI
+
+-rF0K9&MZ*&DKUbeHTDPVp5(q,Z-0IAVp6Kj(0VeA0r,9qV$9bkXYVT@C6#NPlMT
+
+9jYHAZ+R-ckDXr,HY9V9FJ%'qXfBI4Vj(F4@*Hi[FckG5LbAR'LbM'mbTH0"faKV
+
+m1@cRfFrZ-rb-qVqDlU&YB+XA"PY49`q+&$2BDmAFBHB5b@FpMKb#'e*9ckTk6`$
+
+LNp+"Kc*#hji"S!N!&DZH`-6rMcBCX,*Gm8`SYI9eEd'VkZTCeIAS)",)r+Xd@Im
+
+SrG4ckRX()&)RP2DK2+PLJLK%'Z91c4cVS5FUH,'GEP3l%mlS+E+0cSYLrpEY[AV
+
+pDrjdA8LkPrcM)9VC8GcBES,MaTCmXbaUpp2jp$ZkKI@-a2Bb,eD([&1IU9XMUlV
+
+$"bqCeGefY!6,ShZa[3r@hdlYCc#$FHP90"#E&j!!DDf@Z['PZ+a1MJh#L#CKm+E
+
+3`c)ZEr3B&Ap&$4S)i+`f4Q``J5Qj4djRdZE1aIETG#ReiYQ(Vj!!9'V&CYY8q(D
+
+&EQi%maZ*JRrPRhdTqepR1-@T"rL`D%PRT5IHS8T2[6U%Rh3#Irh(l1YY4k)e83r
+
+V@TCY)DYRrm2q[hmRKAFcCNYCL)ZT[CiP1)51cLKi3S%KcIS4D0l4iZM&r"UYmq'
+
+f&R$2")Af0,IcBZRUE2`0JC@IAQ+[lLPVmq0'l@c%QBKXd*,fCaFb)8iJC&h"A&l
+
+fi'U!$G'r6$[Y$8d1ld+'Jf4G&(AM#J'6#5a3TL2IaGH)C030$BZdKHhQ9l4'HKU
+
+fTBDYQY[kikCX3,XV8*E%c1cK(k8BQ$e#KU$Emb6YA%E*2L&p`S+%JFVFPrpZKMh
+
+XVLjmA5[f@`diDG,@Ul&cQ@NI`EGS[KfEfrfiD&V4E*[LQf-%G!9B[&YbL2Z+1TK
+
+iTJNhh##'[5ZeF1CGYAB5p@J'XhGrGKd"HPF8J,PI$R+eiE3-$5d1lS8+0pcKJ3J
+
+`ML5ZTi%frq5,E[EI&r)!Td"Kp1!ec8B(%P!ac1lX(+4l$-2D8YATCR5YIaM,T!-
+
+AjGrr($cl3Jmi3CpAEc+eVE4LL-!M)6hi"KLJU-%NQCQ)"**)cYRZjNI0Zcqq3#H
+
+eF9Pj9jP,3PdkIbp25hqKfqImEp,YY+lQ`jeHlYA&ZBm`1UdZ"GVGpqKR`D&Vp+V
+
+T@XbVQfXkVGf0&8hZ@Hlml6QrSqjSVl5Tl6rT6Y+GQp'2599QhdkhR@r`9ZS!EU8
+
+qTh(R@HTh(8TqGQq9-GEa1i1@[d2KIj8V#*'M6Z6l!m#'NDY)"lhph[IhBZGZkG1
+
+eN8m6$2Qm3BAYLC-3&2RrRI``FlX[mj)l*!ICFA(lqYYX[FAd383GPrRhQ()ZGYJ
+
+Zh0dNGQ9)HQ)Jr3Rphp5C"`,m8lJFD)'FfRZkR,9Hip-r$XcDGUe0Tm$M-#*V*18
+
+aEKVfYL'$@`ML24YIS!%dDZMCrJbQi-Z"EmDGTj2EcYD6EbCD&(*SRKG4&(Y('8J
+
+"@8Qab@Y5VU@[N99!e,8TDPD61c2RV!8fj01VH&l@'ddIKXl(AKk-+[Y"Y,65)GC
+
+5FCQr)!8LKG@YQCV4Y%UMBm0Q+pEXe-Hh"8Nmk'S4iph*YYq2cj4a26(&ZZ5[0HZ
+
+&&(VcX-0H,i94@,K&8KS48r1r1m+#hEU6EFkTEU!$SJ'90bG0eK6V@TjXZEcmfA@
+
+jm!#+dZ4@eKjUJJl#Ec*4kb'BhqYffERMeHPQiqYfSD'iJJa!IhBVY@l*qKQkHYT
+
+j[k'XIKZYGVDhH-2pjV3aj*2&TG@Im,ZI,h2AhqpqAq5G&ZICRHTf#b%ph&4KX%2
+
+qhDU9EG8PFdk`"mUTa62kCqY5SeC-qM$5YckQpYdM25SeU9@(+aq+[*MN&5(6$ZG
+
+BdcpD$0fGECdHYGrf4l1Kd1AmYbRCNRCqEDR9EPVk0ARfZIArj9ZIf[2X5mY63C&
+
+@Y5diBHkeTFfRVDfEjCq$eBl@K9dY$`9Cpb4ABESmCZd*+Yfr*d)0ZVe06k8'h2U
+
+GJURHYQhDeh@eU`GP@Zbb9TPE8VGX!DM(Ze@2ke1lEZjQYjGfN!$2UP*iNb68c1f
+
+c*QC4NhDSIfiUXhi-YQ+5YQDb*P"VI3!45Xq*P+D#h@Uf[J4fBj1VQ4@L%EEekYq
+
+e(9MXhc@133Dp[M@jXRm9#EEibrh#C[X$jAUR5FqR`,F&ZC6i%R2SF#6R6UGEJm,
+
+q+Y6V9*2V+D#hGRS"0DhQe14q20UCY6[[DcDNG#l29Qh1ieb15(Rb6-rQjj9`!0Q
+
+bA),QTQDQCU,KTa48b"K8c,HC8LYa8k0ZP6b,HeUIj06TEK#J2JcR*1qeF!"S0A"
+
+R5ac#PGU&3"GZC0PcCNPhH4lhq3e%2@!*l1mPTIAUkHEH8IAm1S1V,k8SqGI0A1+
+
+@MpLKU&fC'h'*6KZ3!1#PX9F'CXEr""JY5cCQ*UEl8hE%l1hPqK(ClfGQr"md*Md
+
+3UJpMHBB*Y,bkhlkRqE9ETqqfqifVDCH1dJ%Qp@ce6B*qLfl*$EfIIG2Z2,VIkEI
+
+pfG"EjdkeEei*YRBXl'KG90ZiC`3")*XQYQ!)c,QCV5!%cXc09Y[[1Z9Dm'R(`,m
+
+fj*KaILI!d-AiJ#,R`*M396!#Z4B-[B2crmZ0,MI$SCe(LNj[Ud)S[a+bDV3pAHb
+
+qqpc56r#Y3+`82bS"QrKTq#HFDA%VD3(YlkCCIe'!fpp1NMILG4-1kRDqAd+H,`[
+
+1Ta!%dZ&pDYdUh53$+NhkdHcb[4Mml[[YjqHJ%lllHC2jAiG+a[ImNArfm[dE0hV
+
+mQA3QIQqhGZAHTcHCSIhjRKcI+9lUJImLEGkZKlGf!palfIJmR#Ym4`Ifi,a3T1"
+
+dJlE*M5i9`KdJiV1Zh"HPmQA3UD(QAI&Zp4H!#jbF-h6QY`rQR6-RI0rCdThIqRT
+
+p(6k2a2rpTpEa`%6YZ$AQ0p#c#rZTQcj)$!%AhNiCRqHEi-j&Uq)4"cd*f,q$'PS
+
+c$pTZErfr'lH$`)2hjRaQV$F,RF,SeZK`TH(XPZ!@5f2Xh(9GeDU`EP&PrfUHRbU
+
+9RCbD9$Jj-$bXZ[,dmX`,"T!!&Er$bb+"0cjZHcI3i9-fhV@pC!04V9-e+A8dHTp
+
+Pa@cL+NZ9Uj9$@[9[UC@'XDIeE0Vkd3")eCDdkI"PUaq4(fdYQ1cq,NkPQR4fU0D
+
+cQai@QQkZ'FGDG(l&,aU(lqrTr0PLZBaj,8G26dkURqm(dDZc`I6eY(JqT9rDlEc
+
+kjY`f0#aSGX9UQPR$iqBPX+YKVlIFiDf(hN[[TDel1PRF@Gr)#$FrXd-fKip$qE8
+
+mFjmI5e0-i-))0QC1E$Tjd4TG3b8KjVmM-J&fmf5GQ9j)QR8S(q9JVrVaI3iIjEZ
+
+5I68lY[`ACfkr"CXihieR%605,m4-Aka(&P!*3'6aQL6(CN8-khENf"aE1NqNbL+
+
++UdpHRd64Q""j-X0k(EjXZC3c2p(0e*rqLI3!)!M2QF4PkN12Gal[#p1l9hRfU1R
+
+lrEdU0(TlhrCMhYp`D$HJBG[G$XGNj9N!J",-HK9ScY`ZaqPf['`lfA4TmV$TeIK
+
+iD*[64%j5*2Fe8Q1CKdpIYaeK5`p[VdZRfqc5kRErkCNk[dHq9YG&13@Gr,mM+[G
+
+A5VEdP(XLb!48@GekdqlImlGHY[rhpprkfIXAI4Rl-%&Il9I2ZcejZTdk(Fl0[q@
+
+YRm2cUd2"k($rPTl[KqMAq,`rp9EjrI,1*R9djqT*EI81IMUeZVEfU%9[q#KGNqh
+
+6A5"Sa5E9(*bI,TrIr3fH"rm(&*jl4(i1G-AB"KidQ9$b,9qeAr6LNrmC)Gjl+1F
+
+N%'i83C*2ebDm8Z6&a,r+,cD4NRi3%4L%T5$LXihhk(a1de2'@-03`k8fUdiNBF8
+
+FFXhfk8'q`m63q'B9ia+LdG&S"b)%Bmc9p,'dk26arTEkGijU4if'K@dkY0HKZK[
+
++(pG#EUre8FR'rVTE'4XHprjD26LrZd,fR9V,4%a[6SkANJ%!4-l6QdIXGc3drrb
+
+McD1ITmeM!EhdcN)r0eIpF@CMrZGT&lfA6LaMm)SaI$P5bpL3!-DE%&r#G4Q(GJ%
+
+b0Q[KZiBBkr&S,L86S5*C$6fH9hd&(i1[Cfl1hm(Sd*eNPN,,+RCp1cENMcqVmL,
+
+p1[QFKH[DR[1TMej[%[Up0QBGA3cX-GE1`hkj`%A)c$@eRLZk4,*Q!UjhZ4,b0*H
+
+lDQGdA9cM$Ch#PqKre$$Uq43d1lmM8`Q(i+K)")K8C8IYZ'p2PNQ6p@'2IQ+jRV4
+
+U3#0cG8)FEdD1M*kG(`rJrHiP,PIPSdJ)AXHpNI[40Yrm@'1(AN0Al)r&fr@d1Y$
+
+q)ceM1+Kkdp8(LS!Y'42Y[Zp68%I(Hcl[k%fDrBSlGmr'q*PI&rVamS4Xa+(`Lq[
+
+HaPBZUe9fpA83%F@$81CbJRMUR-ia`&mSlAiB*rXEkalcf0"-Ff+(ERd%dZRa2k1
+
++[Nbm5,5[j-8'e*,f(PC(e2"qLl*R[`l)H"(2fpp,lZ$YYDa"Rkdq$&eXA0hDm2q
+
++,[X9&hhh[d1R`1R-i+,HTc%!UhkhY@GUcpDhdSXI*mb[XDa!*YE%rBNk1*3QT-,
+
+a)YD[6MTkp69id&Em9BrfHlkdlm4Q-pDSTlqmpQ+RE`*K[&jAMfr13(D)e-Qf'@I
+
+6TNRT'ppXpaXfI1lMCYl16E2m@*SC-q4&Mq*&a$8kQG6`I,LiarlZYL%m$PT42a&
+
+UrTS4BrZ6[XCREpcaGljm`i`TrjD&r`X&2Ci+UGS))Y(FrimhprZHY5rB!m382#`
+
+9*e@G@@66FTqp`d&iq%)L$cjrkY(r2i9iir+$-1lQalf@,Bh%ZElR%`aH$"rNRr'
+
+LrIm6[DI4i1Ni3"!4$jEN5m6h)UXc"ZTFElAKmVJrbeFeY1([2@lRCa[jjYh[2ZG
+
+cp('p5##HCmRK%!$K&dm1%iAT8G1ISCQK9diGUI,M4IV,T!J%PASij(TpcRpRmAF
+
+IQjZIh@h&!'qRBrp2k0,+TC9,KHQTIA-[@hXZ*lQGUGcdFI%h'((a%1FU)"&EXm&
+
+@iFG5aqr6Tcrhi3'FYifEBpk2LHa&HJ`jQcPP4LEKR$*laT4FHjNeQB8bFCNh-`j
+
+Ha3XEMdSI-a[Bm'!eM#$kZU"eU(kP%Bk@6BKh8Z,&4`q1LTGHMb-C8qmb(ZHcR8i
+
+CHqVGc@RHG[1T9V@I1qCe,28UZa*iYHP(4P[8r!m(4fplh9(`+2e+2hV0'cSj`0%
+
+%'1-4phPlVYk%DA1Z3Z+'RS'LCbN!A#2KremAXLiP1aKlEhRp@jpP)1(BCI&l*[V
+
+5Kjp$*q(phiQKmABdXA6iNA9'br9S9V0@0X@FB0ca42Yra&c6m5Fj&,LdEeAkHBl
+
+Cq%4bNFH)r14pY&lNAlGIh+p#[lNFb05J'@IC8IQI%XrRrTkI[IKqT&pD,TBhicV
+
+Bf14kjT-2LMHTUq""T5k6B'LEF5m!$'JaX2CiZRq6iR@q0iiphmHMeYk,ENVaI#h
+
+#X1b[P1'4qE8NP)0k!515YQcT+@B[,e1L2k2EVEH9UFH@FA*-UB4)-l+eFkCL+J"
+
+'D`"j#rqehqp2if4KVpE2&rSV[&AdBP2!Zaf*BVeI$RLcL(C"&XMKK($66$-6MFb
+
+Q,$mh'pRb)k2&*P[qEY2!qErQVI$RlDkN1*,Imb,c$@FJ26'@,Ra5d[Zll3mHp"i
+
+De`-6JD[iiYX3$ql3rq4Up6LeS[,ph5jCNY`H)VMH#Ck@V0a[[dVY(TmhJipC%AG
+
+rbqAeDR#l"A@pc*PSp(5riCHc3[EfAZXbpQBf#QEE*&46-$32T"dlR6SI5S6[HiG
+
+6%5GA8`CY@Gi5bUM3f`D8lL%kEhrThY)H4dk0@V9lc#Z#I1UBGpKc*[%`lL@(R8*
+
+I$ckI5bF&%h1k*"R8INeIClkAQ*0P*FU5lEY2QJ%h+S-mhlph`-r6ZQfcSHhhXc2
+
+`FfF###lXmc4AECREMeM#%rDllmRN@H6kqKCmRep$YG#Yj2VrR@B1)arA!eI8*cY
+
+l90Tli@[IpM1Xr#kdI+1R+E!TRZCYCq(NaIQaFh$RaCm@IKjS"Z6KjYl3q(1X2$2
+
+D1KdHEJd2r1led`lVY2QGA2V6DVDl02M8iV8YfY$Q`rakeD(M3bdZI5rMUqCFrMC
+
+bPV+p5&VYkep2iD+'qaM@D2@i(+2Xa5rR4k`N,$IS5m!pMp2ESiD)"1!5b*Ld[I[
+
+khJ6p1(k8@cl["qCZ06"McXHGMi0rXaD+id@*Ymh8a[6LfkQTj2Teca2VPc+[dql
+
+cl2[Tb,PF5lV5MY(CSM2,ME0l$5fD@c5PphTd(B3d9-Y*8pA"1JRi1aRHk,*rI5Q
+
+0SQ0`h$Rq+(VDhiT`Z)Lfq,K[ED@2"JacpG98Yh&c5*bGq&!6j!*aD)r4k9(SdHI
+
+4AAe+bYDKGk2'kq9SekHArZlEFe[EppJXdkIAi6EfG2*YelXCYY`bDhP4@Z"SdD1
+
+0,CVeZ4Q+IdC6GZlk16JYi8R(M3N!b-B50Pc'dH0jjY,4Ul2+%c4T(Y,IhTdp+Tq
+
+`c*''RNkeEDZB+Qc4jF(d[*i2Bi*j`rEV$5-6Y5J4PVEM2(Z5R$E-rV&14f(IdV0
+
+A2EJc$!4a`'Il&jIFlr6UdFqLHBp'b*3+SL5qTIL8rJNd+5@M9q$KdqV4jG(Uir#
+
+b+SlpBlqV$`r0i@rXpDVGUDC25p5Ti(DmM`-eNZ8qjT[P6YTMQ91G2Y4-BD*N2$V
+
+0e*H,(%frTVL)#)H9iSk$([k2IbmA4aX1YlG(6q$KlU$5E0qI23U'[CkZrmf%khS
+
+C0pcYqHGehbiI0Rh-@fZdUF(PH)RXFAV%ZlLaIdGhB[ASZU08DF5bU$kP-J-iNXb
+
+,cFVDe[0LmZpjYlblhPa!+F)-0-m[HB'9V)D2f`3'L+MF9@erX8r-Mm5rrl4H,6M
+
+Mk1V3LVA[4[8Ehb3rcf@3!(JJ0[1P[LDY2$'H'-9iFHe`k9V5)RQJBjJqAV4QNcT
+
+JHiSD6E2cj5!U8!I382BU@-ii44chBe2B!*BLqDbEe'e8diqRIb)IP43m+eUPbc8
+
+Klq5pXa,6l'KH'T9c[JFh3SGE+SkY@KK[3'5CRd-f*BPF2Pd"81jjGM8aME1bVZV
+
+qG3ZkPh8mA8m#Khc5UU&DQCqR-$J+b'qL$3AVffH"64kYUREjAKip+6Cak@6qp-L
+
+h2UEL%@cDm1c%NNSe'3rN1DjL)!j@8HpZeU#b)B"0Nc646@Z)Jf"K*!)3NV'p%iS
+
+@%(S4ADHPRHRcCe$*b[pYr8Lj4I*cY6P40E`%XJrmHJ"2(1Y&K!paE`LlM,j&aH$
+
+&Ve-*1Lq`K89Zp[lG$+[A4''G%Q21aRkNb1rc"'K6S0XV3ed)&9[['-HEKC0b!"&
+
+EkP[U9HmiAAK*4L,KeI'ra9kh$iAGA,IQeU9Q'hrm@pDK9RdH*iH*Lc9@ZfbYaf2
+
+G8)jK9$h4QKcDDF5*,-Lb'I@dlIP$&hbjek6Ch["UC[+&lZjqjLHb-[Q2IJ1&Aa,
+
+GUh4XEZhfI$1I[FqbEf89YK"L8pE0V5j@[a[Ue[leEekfha[,VBFUM*RpK(1[Uh9
+
+ekf[P9Z2r1!D2+pMM3C9J2NXBRX6UmkZfE,PAY#V3YH2j9+3JX'e5J%'"-X#VrDI
+
+(-jMK(T6PB-UGPB11!5YYC@hm,k%+%rL8q04i8Z95ir+iAqDYdmVP@Vh#qr@j3#X
+
+Rmj61MikKASkhCqMlV@ShD1YMB+*&4UhkXl09pE&NiD"D46,MXAqqLh2Ah2A-h8!
+
+NjE4p[q+hrHXA,H'a@Yr8XF,4qdTR24RJ'K83Fc4j1%k)-2N!%j-S#)!)G23fHpq
+
+ri#h,Vq$1KcTFk29'(ZG"RBG8!QG"m)5Xle)P'*aH0'(Vc+f%1HpM+XFHaPHa@MV
+
+4eZYqDUI2'iS$2iFUCajFV85r@8SYG!)9195D[ml4PdHGT&UQ20MeSmfr"THaT@0
+
+)BaCL2Mq`ir!UHVaqbUHVa[m93Dm4E(#r*Fjk84Qa3+TTh(qj,KFKF*NZ!)[(#lH
+
+TH(99ZSL8Q,6RGKErcd+H,6NmkG@&S(S4acYJTmVJbb5eDaRBB-kYP&Mda!kh,Kh
+
+XTMJUHl0TME86XIHV!hhN!M@M%+!%#B6#SKa4#)T"ChMXJ!5$6j!!TFR"[IbSZXH
+
+JTYGC4"XT),TG0!j&1h[jD9)%6TJU&!Q"lNi*N@6ec)mJhQ$)RIq1#'G[&%#(!*D
+
+aEq+Y#J+JU+d0ehK!8)XI4bZ9b29h[hXZPm2TdGQMk0,TdZ$N,QJ25J5Z$hhYcVQ
+
+mZEkrfYbGQm@dqP"-Ymr-RfqK@k#!5hcc&9cY"Xi#$HHE*jpfj*jef([YR2bH9cj
+
+1IT619ck',NYePddc%V9EYZECfqfX@EpUPB-3[XS[(FD!c+$r-fjE-#GK0Nl%Dq(
+
+&LhNVi)#)F%",CjrEAl-GUrA%'-A#K!9'IUE*KDr5[eHrP[D0lCe0cVG(4+f'rfI
+
+Nl-a9''dAl6LH,YH'[&ZT3J+p0Y&p1+Dh*pV&SfG[3qP4pkcjQ$A084e6iI&lHV,
+
+H&6N`jaUbHZ0+[ILQ-kf2Ih&`fpX*b+c@XpHe4ViHb[H2p-cAhQ*,ZU%r9Pe*qTq
+
+(8qaUrKSEV(rXapeUc*NXa@bm2AKSTIr0aIZV0kcp1h4aG(X[[H0R9Fk"2+V%'XB
+
+Gr&$INT@HRRhV@9$R5ERGk0+Rf[ahDMZE0dpA3Rk&(6bkI[X(a50B3%RN"6%eaBm
+
+0HXQqLiKcA,ChHMqCaCfjEHe0%B1HR'PK&KlVEm$$56i2-1*RbKCZcEITm2AYrHU
+
+iYRAlR3Mp!B(9D0l`pRFU3%1XG(QE!Idd!a%UjU-5UYHPBNci%er-3dhTQIIkd%1
+
+Vjd'cUlq$VArYR&cXkYb0H&+RaBTKAkJMeCCP!35P[h%8#MelqrGJ)ep@8qSm-&N
+
+"&NilUmIkNI@eE%DYYH,'Jq3#!%L2ZXI24T!!BYH08r+BFB%mF+F(1#%J)ISm8Mk
+
+HV5q%ahdfKJ[P3QrY`(8V-1DJraF59(Fj8h+H[3pAbH(-pAQeCPAQq[-lAQeH6kY
+
+hbmqVj&QkYfMQVKmFR$c0'leFr"S6ErY%ka-45Gm9X`'R&H[k%c1eEXbpI[K5Fi0
+
+"eSqYIkc&"$ANV(J0Y#b'Z5&1m2Bml4KN0IUS8'*FNk-kK(FlIBLaDP#e"1Z5HR1
+
+S5IGS8+DhTlR2r3rMZp,4q[i[reRIXI%qamRrqIRIrV8qamRlIHrZb5h%6Ea0QeS
+
+m(#AqF0A6i-YV6&&Y'erZaqrUkHCSZ6DMSFVh'N$EcVj'liIVlceNGl,)1a"&3jk
+
+-0q0$e"$VEM)[9L8c(9KREBJD2K4#d%ZGRA`$Qal(H[h9f9U9ULA,m0VE#ff``@h
+
+9R@TD8G@mfBfAT*,AQ6r-Kpb5T$qG$*h(Q@2FVe-[mkl!f1%(N9`J)V3`@h8YHjA
+
+MlM$AfZ(&c+,-YP6XCaa"$l(C9+rQ9r%XIiHiUFcc+Dm5IC@[CUeZ$fGATeGQe6R
+
+rcF1EB!*cCY3dEPA,qb'4[9DGU1[eiBJQc1+lL,Q9kI)Q1`b6S'SAb+mJ%e#2UXa
+
+4CLc-PG8f2p8p9aNb!5KTDZK3lfMTaH%dXXlQ[UcU0[ENp@2[*22YPebhdUh4Yl%
+
+RmTS+ZCUhdi0B'm5,pL,3[qK3q-%!XkU(RBhr6,f2KrJi(m@-J%r!MR&'im-,)Z3
+
+m(d+2+Sk'irPmFXrF'2(&K&$d-ZFirl%Tdl@0,0c2)`8HC9`ieDPi'2p6)lUarp4
+
+Rq13RYb,$H&Kh1(P`Eh$@QprKaUZ25SAE(dBi'b)YRN5dpR'`q3FP&8!QpPT@-If
+
+ZkaAL,NfEhRR9+1jrSeI$alh#p2(q6[I3T58Sm[d(JJU`lhdDA+h2UrUkHpqp3TF
+
+2lp%h`U9kaiFI2B[j22VF$MrHbY2MhUh6eI!h2lQ,T8HP`U',r['DbYFT)D8Y,CY
+
+HECk0Q@cdIc20Ul0AcEAPeI,YRb1KRaRE5d+@K*rjDQEUDfT"iNQCU(d!J%8hd8P
+
+--KRb5DQH"5[mZcQF2j&I-cj1KQ)bd*id0H@2bi*EkBM21[TL6p2Ll-A6e8TlpK$
+
+(5VeF*p,QQ3-6c9dXaEqZ1J9L&4$3!BpLkP1!Fa#4bVa3$$0e9f`01fmf2S`5kZ,
+
+MHE&XK1l2a20lZ'MXhe``NS!JrGh4MSSQ[m8Q[M6aRPRI8[kkZGFrVYCd2iBFep,
+
+hACcBP9q2cB2,[q@1PTQU0*p61lXY&DZ)bjH+EA`4Sf'*h%45r3$"S41iDK)Yh&e
+
++'!5DiT[c%%IJJLMXE%IlF(lGrpR'r&&XD[S8HYHk2&k-A5[p+"ICf,Z,(mSFpkp
+
+rrc2VAf,r2Lk'Tq(Lp#,pHrq["qkSJQ@--Gk"*hP-A1h)L)THVK39p9AeN!$KTDi
+
+JkFRGU#I,VA)CE2f2Gf)E%QNhfj3pL`Bc8cf%BAa'YL0J*EdcLc)U0p2aXrQ-fSJ
+
+%2jcf[K9%!PcfXhSGld)rD$,2i)1qjZPRD&MNIMZp$[rl-c-2lbLr4"FjrIHdJ%d
+
+2XGpl@CpRmlrrVM55XQ1JJ%[r@lcqV[[DcDRHIeFMmHDSUB355CQBJ%NNZ614q11
+
+Kb2ah*RIFdqCHEFAb'QkZ#2EZhY($G4d6KMe[&Qk1(0fmhk&aA*j-`NNRlq5c2NN
+
+JKNj-2EfGrCXjqI$A@2@,HUfC'@"cQqNNcimm!a$q!0-949I(GC)N(1l,r1KaXl@
+
+l,0acfRR,b9-)+r3q&rP*#'Y8QTledilGHR&6rm%%&,0NNTDrZkX2@YH2CUpYKY9
+
+BI(NqC$eSE-0CPV`Ma4('d#ID`ik4T,Y,TqV,U-%5RCZ$G*F'D($*Vlp)U9Hlm+H
+
+alhTA02PIS4J%-aEp$PDFFQGTmV`XbjFZ3,Q3!'3C#fEYj'(@fmh$V([VVEHMdlZ
+
+ch[8drYH#YAL'f24,HHJ%!*!!6*-U,+YrRc*NcX1!U,Ybl(Gep@@l(Iemr-eVmf1
+
+ceE-Aa+mf2GUaFKJLc,GA0T!!M0$RL&)"$(de)G5(8CeR"&6[M"2@MdpIiH*V6Y1
+
+26)9N&HY&mCF#XPla4bb4Cp-8mq[RfmqS'&UDP68bY4'Hj`(&63BV)6`)N!!-!b"
+
+#J@Vj&FTjHY[2Y6GE0eZjZ6GEHHI&*i@T9e+FbQLjc%L0eV$9cFc@5*6"F(J-PAr
+
+"9r`@TLrEf*cXR$4-1C*T&+R[IiU9AHr9ShH(KcEZlq%ZeP&aSTe'6dqbLaiUd@,
+
+VBqElllABj[[KCeZdHBGJKMrdiINEa$YBB3c'C*Q3!#Y9&3DY3fFqeRJ%"4D4D2R
+
+`CkYAh"qlCZf[VGYq'eR`p#epLIl@Y[S*jpMim#RF`hFM@iIPAGp$ZGjephp6&kZ
+
+mkkBTa@#MU-))-Q$IDf1GDp[CV5J%1ZFA2qM30%CZ!T!!A6DI(j9,TeY[mrmD6fU
+
+28TG1RXA&`CU%Dd!JP%a9+%#bF+p#+5[-AXMkmb,bF2je8bP!#CqKj'9RR@NRBC-
+
+D,,cZ&l(N@-EeqeXH6rq8IjIdkq6Jbc-GSeMPf53,L*cjeU-ZX!3ec*Hck(D5q(d
+
+*dX)I`ZPXq9c4,-@-)"%-8[a%XZ+T,PBPEVkekYa5iIH,KjZD$FSN@0KJERVl`d*
+
+UfeMmDhYpP*MfDfH2ka#A,8lkjXqrPJfERAbbdj5qamRl'9qYfA"TkpE2MEr[BNA
+
+NrFXAV'MSGr$c+-@6plPI5S`j2e+19NrkSQfNaEP2)84P-mEXCCqY[Y#aVD'K$V9
+
+meY2DM6SFMHrfFh1h[rE(e1cppl[rEh@2hrrC1RLK(h+XPGe,$6K[hrN`plZTGjm
+
+2I4elpfr$eCm9H[3rNGL[qa$(Uqa$eZaS6j6PNfcPN!$#01ATADBIlRq5)Ud,[Z[
+
+BLKpll'R6a[@a[BSep1a9iE)IBhV8HVMHYj(q2'pI*r*5frIrNdr,h[Yd)p(Sm,a
+
+P@1cD%R0Kh[h+&UK9pejX9AhjXTd[0hZeSpV6AqpdTRb[d2*fY64eI6Z8C2[D9(j
+
+@Rj1hUDFRUh*XRfPAFqa-XAr-MrHcXU1lIPcYQ1@2C[J%J*bDbCZ2,@MbMTEYAa&
+
+kja[,bZkbMS%bY[[9m`8lSD8c9pbKAh[Xd-(GcY6!mfmD+[FSESI$G*kNcIqhfN&
+
+M$Am(NrjTrqD([peY`U3!qSLSAcqm[P'#rhFHTI!81BD'ZerlHqY5fGll&qZ!Mrd
+
+q$kPikm9lr`#EeRb5H0Nc9r@Lr[CI'iZ(`1YU5dNH122@$HRp[3clrqUKRaEIGiH
+
+rLahlj3a8mBI&DTq946+'(Ldp6#!UEMHR4dmC8I9ifiYA#hkKm'AiRZ8Fi"JhiBc
+
+d806dDrIGaUGhrUVjhFCh`I32%Q16m%c&Lk00IlX96`hjT1$Qh$C[cLf[&KdG[iq
+
+hSrZ%0*!!`'V+I(&kYp5Y&PBEap)cXf(@LcDHYF92aEldbEfA`T[[I5ScGaKR`Bd
+
+[b[X9IX19cGIqQeFbYlq@JFrqk1(Ra#3QBLU[EkGbelf@E8QqjQmEZErBAX@r4[H
+
+2IaY2(j-52%-5,,-%5$$i4i6(bZC6r,Grpk#a$IPp1PYc[1h24q6p#PrSh1aZpZP
+
+,m[Tm'I@rEVq*683GjKlQEM(BKhQ(,*4X'c[*D(Eq*q5YpMYZeEdHcIapeTBqPZI
+
+rDjp$LCe(+h2pN!$p$'rUm2kp6l2$pUQU6D)GQJV6r2`kI@Sq1J1lE$ATm1@2S6Z
+
+JbEB&%d0k[jq(441IS8ZKMBE1RCdel*5iEKC9,*p`IXB4QG1bC+&E*hHDRrB%fN4
+
+qe!&,EPZ8*E!i)cV"f5VL`ADI[CHjZmR$LhIGBE1(30#6&!*4Mq5XLREckeQl3VG
+
+X09-A6h@(I9V"fLcrFSCALIrYCm%96$EMTQN[a)Y+rNQ2!bUF'bhF"&"`#5*UNH$
+
+V%S[$3qI&Khq[bdP#VX)TSD4d$+0RkeZ1GV%-mmfYjl-qK[dbH"hB'mlrClU@PjH
+
+pkIG5GrXlrCTHE`LLZfh@RKfDBHMXqp&Q'0KlQVm-``keM1pUG[(JIjF@cTIUpc0
+
+arq0#ca2Ad[ASr+bUZIL-i2R3bHGEmfK9bD@,$*rk20dGJ3TcCJ,9-e!*EeMU``j
+
+G2P#,H5J%8hP`bLYNA&ajaRNQe9VCfYR3DZYQY%Pa1Ac0R2RD%h9pbl"bI5mM60[
+
+IdXqFH0(4R)[5a%T&qa6MTrLUCemCVeU&EDVI9ihh+hm%c*9FN9hk"a1BPJiK)1*
+
+,i%&*9U5DLE166Mm-*$9e"BQ#$iXc(*XTS)'4FeUAQfU"lkhm8E-3qppEih3h[@S
+
+r[RNAp2'9*@GAjUIDLP*3PiN(aCFFZ$80#K(4r6FLcS9)YrPcZ!36mR"3Lphp`!R
+
+hD%rMUpU!rTd,Hlm+REYe+eY,Xr8LT@iFbPf#hdhRDr!C*N!ma1'EkY[$61(52E@
+
+3!!TfZp90Zp1h0kpC(KDXN!"1lqPSmV@TD0[@hHAmVpTq)Z[K3AE4M6fV6dI+q*A
+
+HVH'!HEJiF(qAHS"X$--Q)"l-PDC'!6qaCMj2r[Hha4#j1Cb,Ebm2JEBKmQZq-!@
+
+f5q$kqGRkYfIGaTDd-RiD0R[rqRa+ra2IGrraLE&reiSkK60e5ZNA3bR#REKU604
+
+b,bpN+ddLkA(R')1G)9Fjj1K34EdRB#JqX3rb(38D**,[-lbpYkP#*R9U%"4#!S`
+
+iD&#TUChp+D!fTr6U%8a@5UQ!cU(0-Ih+A385prHI0"D)URRA$H[m86H[&kXX@K!
+
+&M9M39*DGIMbk3P!hK%Sq$MNbMAD'fX4jIpp$mcbGZK4mREJr-NrhiY'MlqV-la5
+
+!l$f1E9X9HdUbGDcmV2UfUYRj9RV!'UfZXZVI1[aerKGYrChGDa@2KHGhIi$RMrq
+
+l&EQrp*q9#X-a2+a1M0HMI$0LNN&P5iUlIrEQ8qqP2q[kINGE3khI@2)QQ$NJ%Qk
+
+%fNVM!0ARFf28MqS9k-+A,,kh-)pE[@ZJNh@Gj49*Tm-r-K0@RNpH[ZfA9,SFA#2
+
+4Sm1AY[ZI!fpepli'Rfhhl*c5ihrpUj9c[([(8Q`*Gep'22PcVZGVITE1P*Q3!1D
+
+pikSC,JR&Fc1G*DZ`53*-bSeQM90`e3eII5pRVj'(j1Z0VV[rKGlR2TG#HZcFebU
+
+'k@l,YUl2PY33i1df,1#lX3Zah`S-MHHSLl%R$G0T55!k0Zm&EP8NXc0i(m9(UG[
+
+rP3jK!*&1TYlI`khREVeYakM-%j*HqpUE&[2C2VcVMIplb95e)Z(KU8H(KV3F)r'
+
+,1ITjllDU699Me2B[)"%c3Up+lIk')UhqJHQ@U"C&ZCUjJ%3A8MEfEY##TKf9jee
+
+CD%XY9MNp-UjV9-6V9+@Tb29LlICBI(fkHfVR@Fmj4k'(+Jh@"(D9hR6m',X`m[G
+
+IY+Aq5QeeNj-kJDaReVI5!4pDGLQXPZT2qUc+HGaMX@KE@3!)9pZG(+4Z-r[91IE
+
+IY0q8GbS"&hVDjBeemjQ6cEpTkVTC*331fS%TjJJq$,-r`hkJ"2j$4"r8QI6[eir
+
+Z&fEd38HST30D,1$'C3e6BIeGA1$e3&-r5REA+pb2T)"19lJPK"*+b0#*E0cd5@l
+
+ALb48DrbZ3m@--#&9Ga+f6,MG5MAbIZ@IXGcRGprh8GmkGJhh1m&FMie8`iq1qDI
+
+BiaSD@TmM8dY65rdD9$94KhL4FHJ1cS12l%qa2pMhK"UR!'mDa9X3*pGiR1[qAR9
+
+IKDPrCe)-D'KGq4GdZqdVZPGdZVUSlh4KbKj5+p)cXq2KdGI43#BG96qPhhAIU0#
+
+Aipl5PdBY)q21BjQa&"8(a@9DbU[(Uj9VM`CAcYA8l(8arRC8(jVQ[#9LcFUFQ[H
+
+6SPR!%f)Pdpc@*fFEeJc[$lrmPqEhrVr%XbH[4XbIJSfBP`T14,8V9DZjPrm[Qir
+
+q(YIQae1e!4fIcD8c,QpmT3A+I#PVG#If(,fGlKU9Zcm@,q$Hei[PBhPelLaDTfC
+
+YGVDpjiHiYIVHA4m[Yr0SG1Mdprqh4mbTb0'$H0BarLZPllj0rP9p#+6f%4l6S0V
+
+8HfpGQ$0@R9eVAqDEiZY+FIYBY0+Z+hqra[`-cj&E[16jAarc-R$[F&+0!*[F&1j
+
+b-'5bcZ+P,9jpbYDcBHI#S'Xkfrc62V+0M(`(&Z[2,3("4V,kel0iZ[3Qhk5a-8f
+
+9aaXZZZ1&QF0F8K+Aff0m5R&F+l'[!MV(R!Kjaj66068l[8[VRpPHH`DGkKp#!%`
+
+Ab`Zm,j&kLZU'%PlAlXHHDbb#cV$"#G$T(+"N'P&hL@'&6k(ZS`NVS[ELek%aGGV
+
+VAZYaHY&ePfG-5E3PV`1,iHiDZFB!"JIpfjEc$3LVqG(dTRhEr+LdB[VAp+,5[FV
+
+Lk-AP+YDR4F8*lEQ8(&m,`)ZGUDh&cBXfqYC4pVjFmVh'ZCQN&2NIMcY,[[qlpf%
+
+J,IeFMqU2RmMfVNr3qaFhc3Fh`3HGhhY,#,qlb2ZmMlUFqphG2dS0,-d0APCdI5e
+
++(+X4jehF-3%kP*plLHGCfkfhCfaTHC8HGbLXYTh19F6T%R4*eF59HT9VDL9IUd0
+
+[IeM2"!4#Z(,$&4V@pE6kQ6D'VD!5eZIC0JlR6,PTICkR&EkPceE2R@ZT&e+&X"R
+
+8B'C9ZDT!6+HYGKp$2NXaa4eT1C(4M+JFFNG+5UZbSN9Z5@ldSqKc0DV9bU[&lep
+
+LmTXDBC+e+,hFX1PDdl1eff@R!TVF8pN[TYp29jeHYUqKArEi[lH0rCIrE[*[kG5
+
+rdBMIdLAIbT55ADAQqlkf,eLfKeL$IjSm#kX2e)Ilm+jcij6TKi'C569bNJc,8&@
+
+5e#9QiE62P*,Hc6fVYVH9D&Uc9hGUM9YqAT@U&,*i-5rpk'DJLS&C+hpUYV@$r+C
+
+3"+eDlhM8hjT1`#-L'-+q8d1Y`mf[VF@YAc@CGr"mkcXfGVi2Q`9FP#l-C(*Uc,8
+
+bPLm'FZJr1Qe[1VE9X%%Q'G9YqECmZcjGRcE26UI[3,@l#6c0E[-h9eXm8@r6(!H
+
+IUFQa*TpiHllB`q2pEJiQIR6mVMjq9YmD#YKifhA0XHb52P%'eMih"SI)S62k4["
+
+3irp0D,MBDjB5XemYY*kj5`m(Er3(Ch'%`q0KVG[aV0EZ,1IPp$JUr6Yl@mlfKp1
+
+c@hfR0kQmkp,Hr,r)4A[bc[&a0rf#`8jR1eTCm%Jc1XRY6$V@VKh*p8l9kp9H0(@
+
+LZM,#lA[Q"IGQbH4-d-V3r2mLC0aF8MQV[CeG[i"p0bEHBRH,&EPUjGVQ9IkHfSe
+
+P@IQ[E4X9T1K3QbFC%bEN`JI%4@(CLAAEYcEA'Y6DI'NQdH0EJ&d1E[qPCL&cqY#
+
+UprF8q0Q`bbEHr`f68dNTdFZVHTI'KqYMd+V5mTaS3Q60U'JfQAAUrk,&$YXIKdD
+
+m$)ra3@TIQFqcjPVpdreI5YHjfIekAmH2cq&Vac'l#kG1,UCpQVBLLm6e*d'j)MH
+
+4Xm-KcEcVVePK!FBhciG16@)Jb!D,2LNeS)Y3,*c[Vf0@a2XD[iG5aU-"ZaeG#CG
+
+XG9V+Nr"4fDfMi01[SeqVB[pYYf-&JKm9+e6"9dh48kf6GUa6UXPmh@k#Er%'re,
+
+*ZH,PeRCCQDfCpS,20NeXbi-bN!!*rJc*RHGNJraB[Qdk2QdI$NmfM9l5e4mVhYV
+
+6YpRMdHfdqI8rACdc@TeKSr@eSpDGFYkd%PZC8bURji"PSBcBVFAE5fSV+A6i,9p
+
+'A8"-"e,m#cFA5NNSBdU8-Rr[f(Aid@ip5rpC'F6#$jd1BJ%)aLf3!'4,)[FIElZ
+
+6`9BI6q[La(K*0q(KS3d2a8-0%"bCfFAlHp@$aXlQAQE0hVjml2r9ll[mqpRhT2R
+
+AB*aSJ3TSKBL8Z'FCT6-rTT4ElqRaYZEp+Ge*RqPPhXQY9!*"0$h0BQDAj0AN,ZZ
+
+0%bh%Y@T`I5Uaq6,9p$Jrq&A8UhV-AFr9q6Y3l5X28bcVZCDeU5N'F@#,[YB"'Cf
+
+Ua-M3)S4EhdU1e4qV[IY4F$HqP5dGlk9Ep$NIGRHQSI1L[VdqG`X19lGEQC@$+V)
+
+"1%DF(IUAY(UeHVhRX3aBhUjFhiIUaG%XhG('r(AelZG['i&P1GdTILjfSN3lqR4
+
+$SD(4Sl&,V8&CXd)FRm9#Mhri2NFS`D19[IZiheXI5hf63a5"%Y%T0%+KJq,He-"
+
+U460pKDaUeMeZ(@rpDK(aIf6)F(!ZjpR)qPm[rUf&I-E-XfFEf+&hbIBLQBhXGTA
+
+Sm2h[VDI$0fVKdE(Frq,@GjG!e(Y#k!L$305$b!#6F-k0I-QG-2U(1PcJ#4Vr%!)
+
+rFcZEVF@1p-qQacj5"ZDhUdFhi-[jNh6p@MeU2Pd[9THA[[EAjKGKQ*QeT52iUC8
+
+[YRVHq9rFEqHMRihmqX!5M-Smhi'Im6QdDP(h+2d!#0@!TLNHaV,`&lmD!jpL($#
+
+GHL!48A[r'@V"Z-(LB+XlGB0lqGqMlI#r1bZY`ZYPFRY[mLQrRI,p1K@h'(`DTZM
+
+Qca5qa`[mIbjDe6KIikrf'j8mc*prpZK2h)r2ppTBr+h2hCq6MG,p(P9-@SY#ZV$
+
+NrIQdZqmZ[pQ($NlGIrIArprr(rhUr'YlGAie9H*E[*HjUBhmdf-"(SBhrK0e-@p
+
+4f[$qV@fUqe8E0UNaiFIlQ*DcU[$`ipA(e[#mZS-*+e+[`9YEBP2`H-IX06`m&(M
+
+6Ei2Ep@piGqYKVpCKr2`6m'kRHm`9pRYX0dXF`l-qYfIq#Pip2UjLPr4cD2Yirl(
+
+IqamESkRZEhFTDNLTM2QV(8J@!YGL("iiEeCFbaQ5hm0hfl[QhGHk4a-a82S6"bV
+
+MU[2PRf1a5hU#"%'UjJa))2*p(3d2*qhEmj1ST!**k-&+hdkIPfr,Tq@JJcmQa2h
+
+[fq*4lrdmF2pprph5$rFIP8-A5S-IrNi*fe0mUhKXpBH9J%a6899DlVYXrh)-'V#
+
+P@BP(15Chq(Phi0UB[F8AB[3NbC[P*"ae[1Sp6JHGir6alf2fpMm&a$[m4+&*mmD
+
+NYlh,ihT&m-dcfV-ceB&6meTCZ'EYkf'jYjNZY"4`r!fk1(Y0[`m-k$I-A`bjJq(
+
+eqjKaZ[M!'q(ek2VEh"frplNB*h8F(k9V[pIZU9,k@pmlZX6[pMIEhKIIcHR1r8K
+
+j#"rBmQ@lXFQAb$C"cm2-m'lp22lHlmIQGE2ci0T@fF'YDi1a9Ze4*cMiQ9q$YIr
+
+6KIPVG2MhZelH"Fm@Q+-3NfSY*6)TH+'r&+#@*3Xd2rYA#FCXKAKIcXM!(C&r+!J
+
+R'4F@Krb836ZEeerI3L#X&0+`8dB+kG$1L[[GB31LR#5TDi!0dFE$8qPQp&Z$Bd9
+
+GDYYBf''R2`CJlSa+dr"ieB%ef,)GVbHGh@MT`fj+1I`,Y(@i'E4q6*HTG2Jm'iZ
+
+)C60PblGh(Rl[,qEr2!1NkXBkAL*i9I`eK*-B$H(+,E0D+h,`X(#`8i""bGZ@DX"
+
+39VX0cGHEV8FAEhRc2dm1+-B-8q6h-ZB*2iVH9Bj&ZeEU`dT0R2T5H*0TlRdEBrf
+
+GT5b*QChHPTp+rlPhrETqjVG+lqhmIh2QI3ZVI'S5e,#CfKF`L0D3!,6U3IVbG'6
+
+E)G2V4pDrq+'[3pM++Ce#`8k+GkT&8LAjN!#TrVe0@1!h4p6+lY-ZpqeilCbrPBF
+
+U$8F2(Z`ke'l*V3RTpCNK9Ke4Kh[SeV[#p1riHmqp3TF2mZE5mRdHd[I*[9[%ElN
+
+M'(42TrK1,Mq%*4f*Y&IT`CLXZNb@8H38U8biMJe2qS9-VRBCI&5#NMa5)L`EcVl
+
+cVmIir#r,aZRPIIihphKIf9[fqprH@i[cDfKGckh*`q49,6@(b)q6qA3Mj2pQKRI
+
+RVSaSIc`X&'lb-2%dHcZi[)h[Yq2GaZ[43#0paV"3Y43hj+9RTr)r4KcT0bKMTd1
+
+5[&iJJYl9EDNqiDB28Yl&EBYl&!4PR8[*ri[+d@,6K`fK[XJ%eM#ZpfB11IUce@1
+
+QaR,0LipE+`mDiCbHcaq&f[@VFZYqrR9Yhi,fV&Z[@SpcDifkpEXqkY@Y`ZXFmN(
+
+XD"-qZ#NC(e1rF-TGGN4XHk+kN!#+4HkEH[mYlC&J(9arjDAd,rrRL,L(,a-SXbV
+
+kRX%Bm@I82BT8lp5G82S0""q@K5SIfkZ2UIpp5MHepAfmE3SD'2eXIelr[Tf8dFr
+
+*eZ9fZ2iZ6DaaK(M`dpR[K%Z$BYM%9N[K[9,DmZcpXNRqEDjeIcFARGPj[cDY5e0
+
+@4I6fiVaFpQ#ehAlV$i%'1Y&&!)cELQ-FBYR9riGKrJKfD@chH#p!-@HV3l@M9LA
+
+(1U(M"f@,0r*VGE&1a'e9dr(i(@"&SM+PD*8@6K6llLPYTeEE8'e*,f'ALrYHpAG
+
+Ia'eJ3#'`'(r!%DSULd&5q1"mUqf,r@Jr8""!9&c2A5e1CrLe`5N(rfJmbre!K*d
+
+cq[9lA1r"RHmcXV9rijb`mkRX49pAr"!QK[Uhi%cm8(a98VYA"U&Jj#J#FGVL[+m
+
+,M!BBTerLK1DF'dSSrejhGPj$ZpA%DZ&6cBYLKBmRdS0MQf0al(0SlLAQaCr6clZ
+
+KMmaN(Nf[%FZ,S'TShT!!q-kB1A'3!(VSJiITPp!)S)Mj`FRqhIrEcXG$i0Hq8U6
+
+rDI6cNTI&01-0(A8m9FXZ[NfUefhVBq9m[N2hXAERH1)Ep5VAi-YU-I%aGaIVM+[
+
+Z)ZCATrkp`U(ie0UiD[@UrLY"+p[KVcZfPlIBjFG1melBXVMRDb6DDqkPlL1[KXE
+
+(FB1CX8cTZA4RmQANdY$UH6rETjq0Tr$dIcrbkGkpdIeHMRdD+SHFIlpE`-V6VI5
+
+VE((mM&Q6m([*eM"h'ablY2,A&*a"IQU&CYb44r)Pd55eShIMjr,cpap&Q,20TGp
+
+pkk-AlekPHlrlraDA`qRUAYA+lc1J9XX-&GZqE$PqpHfp@KHcErq1KCeG#,cU%eP
+
+h-8fq1-Y91HkrIrNe0903A9DldMcE%fEF-FZ69l+P*k1K*TAH9GZ5FUlSABlZKk+
+
+UVCQ$JNTMQi*i"Z%HT@k``NUUcN0Mc6+e8ml-E"0q6j(6aX("m8DBr-Sk(EI+MJh
+
+$Dm&@PdkAbU@E*cp6m@TCr4r*b2fFcerN9Xbc*a-a'kZ*6N1%BT&HMUDfTGlr@m*
+
+1Z1jQGD6l#a$R9J8AXT9GGe,F@l&d09Aq6Ur`Yl'0)FU(+CfTUph-eF5Bhd-i3R"
+
+I&eB[0[p@,dB[0[E2GMB9Te0ICj(X6)G@)i`+fV@S@p5YhGDMCeG*D%Q*$4KX5(T
+
+hDeHY&jY#cI!0HfH+2r09F5B3jVhXk@B)(LqG+d"JGF843A@q(L&Gf[fhKU1m)q,
+
+A'X9HBhJN*V8lH#V@Yi1ilQhqK6mVJpIMFMKB-fl[&Q$TAp&fD-9$HX2i4ql(CmU
+
+8!2*[(d`[1[%GK[&kG#MIS1hfEYR[[KIV6G$bIq%@EMHRcFfKTkQKhHE3cI)d&bB
+
+!hTFQ'AU@@MZb5c!%#'Ie9M8"2jqGq%,fa3rqk'IUqd2jCcm1GK0"C1*H3eNC)j0
+
+LI(Z28iheGcl-hbQUZ[DrXG$2UIRFf1KSCA+eFr2llQjLrj(QE2*pM5ZmRf,XcNq
+
+aS9rQF2iIVC[$l`!QEBc8a4*e@+5XB!"p@54QFe(#rZXkMlfh,Ak(`[mX@rhAU9+
+
+dA9a-%02LB%rr6pe[GE4RDeIUa4DeIY#T"GcFMk6)HbeBH(j[#hpRV8r+iIQdr+i
+
+Am5!M-TYVZ3c,@(&0GXLMa9IPfXb(-YI1VjKfAQXBc"8HAPBkU9!B#bE93#!3Y9U
+
+Ui*F-d(X-N8-Qr&eQIQBSHC!!b8U9@VQ+3%bEEmkV$@LiIR9rVS"1(je@TCmkccV
+
+1hQUTSDA*AqH%`S)#HBJ91IKc1fq4RjrkHH(ZITfj+ZI5j)6rH9ER1,h+Q!T5@Fh
+
+2+l3C5@VjPU@R"@eUYE+b1,mY""N(i$Ta`hq0%PEF!N9-DXp[KlQ,`P@2fVNkj[p
+
+D6Uf)V[FC2AbICbICS3C1(+0SD",Qq*0eMV#[bhHH!3V%6IpYRrECPq*rYQrlHa8
+
+cp[AYmDR0YmD6ASFD6R6V9[bd!P2c3#*1)RF#'V#*4`&,JX)!'K%+c5ie+qScUq$
+
+@eSFh@eY20dpE@JdjG2RkdYEReZICPdQmMiZ!E1j%c68@P!-(9b&JA8cG4G(f+6J
+
+Cp82EDp0RjQImL68Je$Tic04VHaalk`aEeX1EKeZG"KYFk'A@Q3rBXDM0G*d@*6i
+
+f'F##GVdX0,$mIRATEaUcIRkRK+k3!#ShKeLSh@eUe`0$*V6-hl!AXc@aFe[#p0c
+
+[@T!!Kk)Kh,1YDNXc,@T$rJRc0bX%f(i1dE94YAI"mfcj3#[1q$cl2lGRr"CjrHV
+
+!1R9M'JV@riV28Xp5hr&9V@HT``q$Kp63&rE-(B$i2XDH9r+,KL5XNVL[6iIQekI
+
+IHFmN'BpkYYN,1QGqThmdUHpkP,Zq&pH0BTKTrCSKPVr)l@(V8[(i1(4Um$aqjkh
+
+j[Da@I"A,%S3bHM3KmRdp$2mRlG5I)!5fJ%qh8alD@@X6C)%Eiamd1(bI@d1(j&I
+
+Nqa0X69TJ8pc,j2T%U6dVZcb6-Nj1(QE2I5c+1ihH)L[(BEMd[)!iJJ3#D'Rh[f$
+
+'hdB+FcrJUI59XV9ZAKl9A*YrPVp6Kl&IBiI6Zl16pq"*JmlFpHC@qFA6qr`prk&
+
+k-bB)qrqrqV5[E'jqqlTaTidY$rKUhU(r"+%G$"[pRjdY2U62UGKp'"H&BaNCGA8
+
+lALe[[eYVK(DcBqV3qp4mfcYar9JffKe9*DKL!CAXD`[N1pN!eIESI5Xp50Dh56#
+
+)BVGqTAYekH'h&8[fcme60%@SkQ%0bY@GXj-NkcEmeSBQmpC!-ZPlLAiYP*!!N6p
+
+rlEf`*Ul+ERih(cp`[X6NcD('q4$hp(PFDj4NNXfFqc$$@cDe5Y1la@bjpTGVMkQ
+
+THlqA`*fP(hrke$i@pr9SIQlhpDKhQpr'f5(ZTCrr#5p2ri3l2ZX2Ll-r!8SZT2q
+
+TCqM%ThfprDTG#3!Qprad[Dhp6(pcpEr$MrVBrZ8[XHqbPrKjdAAS'c4j%d2kr&M
+
+`ll$a)[KVXlCI5GXlEM$c+HIJ&Lm20rkGp,SGANrbmfGbIrj"U6%KQBQcj2iXqlb
+
+IaAC[NrL%QHij2VH4h'KAj2iY#amCA#THLqVMINeG1KqKMINLqVm(mPlESHP4rIT
+
+I5LrELr[VifqRh@P[I6RD3#+P,fTe6XIFare[dIFVIBbXUXTR[N5eVdlEa+(ZjG,
+
+r4a06hIqM%rdBQTMrk-UKUBmqL[ME&9fTh+KTmMl91E`2Aa6RDl,ek@K@Md1Y3@R
+
+i-Yq03PdUQTKq,aY+rTAU&qJ!5cKMkc5aYjX`iXRflYf6cZqKNfH9$T3mS"(c1RE
+
+mZXZShXlMm@VGa[a46FEm@YASpaMHYfIFGTAqEq*iZi5Pk8@p'RldSYm5YTqh5qa
+
+6kpcUQKlrXF(mDpUAZlrYSiY,eH0LkJC[(pHY(RH[13cUAb5dkJ%ifV,P3C@YPD'
+
+9V@Y#XB[cYMCJpVCQRapE+d`34GV,a[fkhmEE+e#1,BeH8PM@,BQR2M1LbF(KlMH
+
+Hc4Lh(XUYicI)r,5rGh[eURj2)kIEqe`pjATpYKVpAZkeQV!Mc*Gj,S0P`ad%pCX
+
+RmZpAlMm&I'Z&@Hp@V5-'`HUUaPT8U@2PCA`NdZfd(243J,H(HHfkb5R0*@Y0m8,
+
+SH5E%G16cVRP5HI(`*1FR-G4V0CaB3'!5Ckb5bVm"T"$Ea0TGRU0N[9ccb!K[C'h
+
+lZ@c6X5jjFq2c463*M9kN[GR-@4ap@KMF56iZ)BiH93l'Ja36JR2V@-AY[j6HF'!
+
+q0q!""fSeZRFA+r5bT8QCfU4K1R8b-l!P(fpqVHM['KUb$p6ph1r&UkNmU`C8ZV(
+
+3rG*5'SCCCJVUmbA5DCPG[1[*,L4EVdD&,KINcIVcPeI,HY8cEHX`'2'[$6%-)1F
+
+ISc[!fIKKkeRj@rkfYY8TFIDl2$5fXI$fHe@flJ*PE+FcMFQA3UD'(b10SAp#pSA
+
+r)!*hZ'le[LYJR`4IPYG5VrECqTCpQ6qr9pQc"C5HJDmV,QNDE8-(BcXl"`[5aG2
+
+'p,PTY-FXb`1&4A'JGRI1ar!#A#CRdSrX4qd[d3VT+GY$UU+hKlALpYhrFlB$)1&
+
+Jq01h#QrGcA5D[+50RQe1qpUp8j!!RZY8j#hc&%(Ab4BH*UqbY0MeXEVm,"(e(IX
+
+kN!!9pEKa9alc$QpTV@Fh34mGVFaS','J,ZFB#L$I$Rlpd(0pdAM9#fipXQciDCQ
+
+4*pQAZXjCqF5N@#rXALhRm6h,ebrlG$YkAJ8[hpA3R0SIB8FmDhf2LH2Hk[IiEp2
+
+50II(dpA6bY1BX"(JqY4(QZYPlVe+2lA[r8-pj0KI63#Bc@9[MaE((q2[rlY#15A
+
+[[DZch10486LV9mU5me,YFYkjHPeDPlh,hQArFMbXlh,hBA9LS'%bQjb)FTQ5rb`
+
+CjPbI-c[pPr2MrTE`-LPbI,LNbGR,PbGNPGBGcl1jpPR6bblUIcVG@16UmEDVGAM
+
+rkhr"!f)$!QQkNi#0XR*lS2m8l0EjRXD[X%l,f%%NGk-b6SaqZTrilhmQ@E(j'h0
+
+PmL#EImL!@L`GlKjKDjIbYfKBmIm@9CirVjAiZ2Cb[qIjf-U[4+"f$0qmZVpZV,D
+
+rZeIlYAR@[0akY8R3[%h4RJ[fcE`dqM`[EiH&D)(Xle5H[fSkYqV"Dr&$eZir%QG
+
+hAi[FAZCp1T4@I9L64R0eMemZ@F-qVAp[Z1X!5ccIETiUm'H)BpQFDeZUHI`N*Xq
+
+lNdGR4PdGRj&had4Da+qYKTGDPKYGDcKXiIc)!L0Fcbil4Rh)Cc%%H6D*,*`QL+5
+
+F@28@X1Q+JrFU%S#M!!!Pk,LJVGN#4&+9&LDdA8abJLcN$[jma+,Ui`e%Bad6)Pe
+
++(p*PK5kP$Zrk48E8IY!E[ZDQ,jb2amMlXI5j(iqqpUiY(aX8DYd02U6iFRDRfj2
+
+Y4EH6diYR*kG"BGXQ'PVbDqTr$UEFQ'$qLer4*K,mRlHIr(2a'p)e-m0V66-3#Ac
+
+EUdEYdm6[#A3lS9V2Lpjj[0V6HYj2QhI,NPck[0TCZcHe2!i2b@jV10*P3mL6@X9
+
+EHriAr'i*l`l1pr,@SmMmHj4eSL5mG$PHiLaD'(*r,Aeqqr([2CKjfm2fCXrcQG8
+
+K&8qq2-SK+9IcIFjZ$2TjmZKpMihq"H5h$GQhlaq"(i0VId6B[L(d9m6$0SBjEJE
+
+P0Zl0rDZqEImZljZYjFhcE1cCkha2X6IYiiS8XfDEaTEZfQ@jHflb!D#ppLrpL$b
+
+V&@p`&M9elIShGQ,CNr$HrpEfcIfG6dILG@rX`G1pjGjI%JFkGK`-5+A@f0$m[c0
+
+MiQamcm[a2p[c2k16qYQlV@@%I$!IM%9QRmJEq8[iI%kfr!05khG&mrhl,2GL(C6
+
+pillfNA($bcU)[MNP-F4L!RI1eXbRmkQH[YDc@Y5fB,3V[DqeqNC+DVf)+h!i4'b
+
+Nfi1"TlIpcEZEFReA!KdkIK(f(*pH#CTrarh2-ZHC*jJ#1IFjmR2Z0p"`9Yf%"8(
+
+eA!dqGrFmi$@[Tp2qjXh0L4ALQkp1'$'p,h[aY2qJmFES"-r'PaSFEqE(0hYXZAH
+
+bdYZYYr,`eUpLlh%YDlBeZ(GVDh[,[[PbCCQ'$BjQ#lJ6TdZcZ6,Rk(0rQcrjTQK
+
+Z26Bi#C1h2Tc*hc[6(Y(+lrrEUFV8cZrp2aT[IqR-aCLZP6mHUDe[*`6)(NZK*Fc
+
+"CileJjfkr&`rAXpafhVGaBqErba[`GV9RqHlMa,Q*NbBHerJiH'a4iH(K5eqI`[
+
+aeZP`[l1qpb"DR`qIbF&SiG*0[ILAC`kHA@m$)e+A5i1mAdSp+MTr$p,iCL(I$p,
+
+4fG,$m1'JRjBJ%@&Q190M4`D*X8r$PdCh`jG,3d[jU(me$3a[6L8jp""&JjJdhaT
+
+FLGM5m4i)25be%#rYfeUi-D,(`8-(%LdL1Y5k"-Zk(GHfT!,`b8,%RX6+%qA2SCm
+
+ZIrrV"cZ@2TjbT2KkZbh,*NhbchIQQ1BLAp,4l9@Zk(!)"*&"('q[H2TFi-+F@MM
+
+IX[5J+J2X*`MGf4(k(rq(*1T3qQk@F@XSUGmJPBq8Q%&i%'pqGMkQ2UBqT[IR)Ir
+
+e,rQ9,h"-AhMG6+rc9ZTUIqflmc%rpSI-a[Em&1Ur%MiKTZc2Bm*%VGR%PaGRPMC
+
+k*!)UlhHqR5*aRap,[r6[906h+4Kf*KeG[pM1bM[)4Gl($A6dUijkR6jGhrA[TI&
+
+r"2e)IrZ(hN+01fb481C(A@&12[Hbj'cih8Qrk9L)6Yak@XThV(Jd[VS))Y(IdqA
+
+SlK$[9QQ3!1P[2IrHSC1pqlllPGrpfKNm(TCh+%qeQ@l2Nq`BP*PKH5Z@&j*PK,P
+
+M@0"F5PZiUrqj'E$pp(Y8GrEcXH2VapeqEpjR#p5A1`k[p%rq'KKU4CemX!bkQhm
+
+69[!)HIXCVV,qae*8Y@$PGEYlFTT%*QQFl&[F'-4&FHpNqE4+TY@(P5cAh!2Y`e*
+
+,G8Vb`k8Q6#rjdfb*2c(,PcRpplAIHeSIBllfSqPGrmhf)IQ@L#U4+d!J%S#*Dd5
+
+mC@9U-ZY@q*VI%d%!QYV8BHcPeZK1'E#qa,6LCd@mkrk[rTZIb3a@VpQpD[ck*@Z
+
+61%pRHHc"91F'(ZpVX28l[4l,[[IEH6IbEmiMV+GrYd+erE*ESpj[G3i2qT&JTHC
+
+5mc9rlRmmK2daIR!Hpf+-mZkSrRbpR4SdXEdD125i,3lY@`HiQc[Z(lleY'I[[Ba
+
+kG$eU($!*BS+Lp*60NdXdakNNMlQa2N@f+'M*Ujj[k`lL@rjXbVImf2cSrVmLhIm
+
+U0@R%5BF%F"I))Z'%jEF*cfaam8HKUq@RlqKk((hrZrq#4MCfdM46KINj(ihb+GL
+
+6ZCL$'bGUhrcEhIAZEUppqEqEUk[a-5pa2)d&1H5*m,2",UB3D)[Mi5iK0dTG+cU
+
+VmMD[XCeL2c0@aHrNLfU''MYI(`k1eSJ%1IGTe5TiepAqR8e+'T4e0(A"$VJKep9
+
+P95K!UM+!D55eDXfE9TPQ$RHQaIqYfhVemA9p1+G3p#rNihi+0DV@lcm$[q$Jb)Y
+
+p,V4I'`r'rSq0r$rjBFf)eJSZm*AIH@'@pGY,m+2F5QA"KSfC*D0RiQ(i(@aV&q[
+
+"AC&bZ'IQ((,3e&`,pXXV+qNE+(Lk2EIKMf4$L('pDMANr$&2a[A[I5q$kdAlFLH
+
+Blqm@K)d&l1f4-%)&&[*JQeF1C%G0Cm6fSjjMllm"PSiJh@PmSLAPMZK8LpbrjNA
+
+ZAXVZrFLQAfM@cSY'[XJJ1`"'K3"S,hr,LqC&r(Ijl'ICdkJ%Z9193dYAP@0'AP8
+
+2dYA[U&a@Lcfc[fYZ5SH,S"XmBM59)9YETIiEJhbBD%P#VNdLDc$a,@P#-BA`39Z
+
+PQqANdk(''qh9TF@P,[Bq-(@+D$ke[m10kqYBhAiD2l(LIbS`LG+l3G!Jl+EPflH
+
+c6fVIR9UR$mli!",+!5Mhhei9XXC-P#(*LS@XQV1Y5HVNfJ`3#XHP@rHhE@Q2VF,
+
+m2N@FEm)8Arj4k2LHTZIChIe$"5qpL8q`b&6pPci08hG3#3D[cX3IYHmqGU3BN!!
+
+1Z%efjZV,G1Nh2-+fk8!Ta*ZlFl&m5KN+KmKVQ6p63JhRAb0MKrNZmp)apEkV5El
+
+T[%)"#lI9QAp5IfdQTCQCq,#4,!3*`AG[YqqP0hH,M!f!*HimYD[@Lr05&MLA(YY
+
+AKB1&JV4m,"8,b-l-b'i98NepBM&GDmBY&H@Z5M1(r(Ajpf"HiNeqadEN!Nblhk&
+
+lDeFQm'reCNbA8+plB`[(XCpK2-R8SApZm8@i!jh8SAR*ZiplXZ,LedCECXcNIMh
+
+He[ICV3ERe0cKSk&(3GZER"9TDeE0N!$IiYS"*+fT@e,FbQhCG`,RFiIQ&,ALiDr
+
+1eX*F%Q3kK[V6,53ldhpBI0Km[i2QNrQem(cBI1r6jm2lIkIq#(Rqp@bSR-P6iCe
+
+Rm2"f[Fm,kY@G`[3lL6KIIcBpfQTp1Y4'*$(DMXeqfPY33PaU%iFcKa1$KMhE4*0
+
+YAkYHe&5VbFM*krEHYhhAR,S6U)"#IZ!#$SkYm5YiI8e[-cI-d2-q*jQYr(hLEba
+
+bC9j1icDiFh!%YqRVCPb6`p5pqRGc,dRL0)0Np1hd*2Yc[T`pH%*DG&S@19lKrPl
+
+$9!GdZJalfA6pDMqGMINSrjD2UdHY4pHMe-Im%AE+f9V3pAHbpel9lSaGI'`d6mN
+
+LTd&kVk1QVp)MfE2NqMRfZqrPr0d1qrkjr"llr6j1%@-E")QE$,4I4*,qKak0EJF
+
+DhK51lZkq2&h(#9fP,1k%lSI1PdXA6Sh[1lqMTFV[r[H04e19LDFaH(+,BiAiEY(
+
+jZ#Y2NPh(UI%pphrpQjp5#iKlMYlDRVM%fh*k0[cUIelIR@rVdd!RR5Ibh0*C48$
+
+m)'G-lrqa#$J8E2#Ij2j'$ha2II1rXYi,H#R"EP**$c4IKKfEAI3D8Nh-ZfZR"`6
+
+XAkeVkp,+NhkaklQpr"4d2*p1,SlheprrMh[VjI4lrei[fYlkp(3lVK[(H4NIV'4
+
+iZaU5dGJ9I3#!%DhMib@mIjp$5mRqZTL5HK8R@d!RS9-@hpeMhr"Jh[eH`rFq9rl
+
+lf@GGhNY,2i8[k-19r0BX9&R96BrPKJ#EadIPq[5ralReiHM[IBTp(rapHVheCA'
+
+fG,B-`Da,Gf*pRGHRNG'a`q6km2l@,eUrl8@bU6Xb6cIJq9CmVi2PMR6V)"%!PQc
+
+mR6q$afP&Z8h!BPh159-L2FqbM0&f$G[EqTCr-hq2DTE2G5h[0TI9bV8I@RHC1ib
+
+S[3!KSd1rrPbrVEhd2I4prkH2([I3LbD1aP0rVMKeNp,X02GHP[X(GE1PJ@1Ce+(
+
+e1creYVq1XHDe8C!!%%f6@c0D5i!6@c-cN!$38&%!q$qZ!6-$2jKUZ!),XUYPCe1
+
+hjTH)p#hr&@kP[l!Nd4(8EjTYa+m8NL-rG!)9mYE$j%&("j&('cr*cTU10-6BjDB
+
+B2d0+ApDGUAp5pmkrTGlhqVUI%e0Eibac!RV9'R*jYZe8XfqkYf+P[JQprZp'P6i
+
+DVHkN&#eZI9mMbmAcGlk[GfZrpAI@XETiqT3acEF9fR6ZFE"P3cb*S4EGHrlGlc4
+
+UpIMkZFcC9C*LDV@U[b@Q`qB&f'-qPe`,X3TXT$[eCFk`3mh"Z,AVX(jeZ@T6Uhq
+
+eqrC[QQ*V98EXrPbX%FlFi)9Hj6BGAHmMh)rlh)`Dhq,'ph4rr2d1aq(lQMRI$`k
+
+9,@AIj[l'Gl'GSDZKUD#I`1MKq1Z!CSQr+Vp,%jf0q#Yd16q6ariZ&q(@mlFHTHr
+
+E4J`pHSbHTarBppe[HIU6F@hq'Yd!#IBYrrR%aH2k1PAphkc(2'PqTcd8b)F0%q'
+
+@p0lZ@Jk,G3pDaGc[a6-[9p5KqG3p3r4F*q$k&$3SD$00b3CENZN`A853!(EMe*d
+
+@kpD,BqAre50`rB+-NXc0i(m9(UG[rP3cQ6JTV#ahRAD#IMiI(fphKlVEl)pJq``
+
+pT&iNUl$&H(9Y9pRLb4CYqYhmQT!!kZY3KeC-D%aCP6lV(!EV+p+LfpE$m-"L!K0
+
+8TX-Q'!D+qKEfHimkcpIZ"SRNfk&6*U8,H64YrA9bY[kSiiJfj-&VcC[9l(mlFpI
+
+IrqRbrbBP1GjrC,#`[hp',Qbk-I-`k@GI[T!!%2H'$jLCf*Ulj8IM5E%RFmPRS"-
+
+5@p"lb@pGRCpI2aPe!Z-A[ZhMpm8HpEfZmq0aZhVAH2qe@c4rTQYje@qK@Sf+dR3
+
+S6C102PLZ9m*2j``NqqSUAfI6Xfj02j'lr6aTRXcDE+#S"#5Q["a6KUbFH'l,Icl
+
+dRIjqVRkNQV$-Nlq'pXhP2Jif'1ZUjXA1hi#J(!,JeIkXrcTiDH[aX0d,#qN#e"0
+
+IJVhSVeHpr)V"f'G&EmfR9X@LV*jS"VI$Q@-HRffTQBr`PIU5IFZ@Z44cZ"R8H4`
+
+,R!q4kCm4DRb2rQjMb,fhdjIKHEQqAmS!QEjZYdldYrTQT3!M6QFeNAb@F@XpD5M
+
+5SkN[kCm%jL2I4m,Q08#Ym)kXM6LYkHarFf,RrT*dc6!kGcTbI[h&ID[@E4q1HEE
+
+q[8miapM@XNPD%PX$G2BjXc2p,3Mj2i0$cZ6q$b1TSIiYarCLAX5mcVFcdZC2Zlc
+
+Q1pF2ZF2bq(dDqabZM![#Xc[Aa[q&DHQ%Em(mAa2IBhi*N!"Afbe!V"erjkX[9cc
+
+Y`X(6'p,'q04dr*p+,bU'(h92(`F41*M"&GdF[JrcUGrr42Ucrk*qRUrhTqRZTHb
+
+pc)`9c80Kpb(2hbqKfi`q6kA*q0SIdADI*PmLlbF1KSFR$j'cSILRG#"@MHpp1+$
+
+HrYGRqaUri%UJr"Pq)Y8((rQ4j1VlI3eIBLc5Q"S4H)M44'B6FdNaD&3aDcU&U+(
+
+J'&,IN[3rU6jIGd1fbXr9RlPkiBS8V*Yr8)['qi!6le#Pihfk'1Z)Bi32Q%RjaZV
+
+'D8ZD4p0k)0cq"9&*h(p,8e2Grm%Zj!%lGjTJm(d[K&)"-$ZYpHq1Z,fMHThQd`H
+
+`Sk&A2r0rcr1PSAH(c-ql*c+&hhr0q,SEhqb,G+6f#K#D!dc9PKf)[lDdZV#Qri1
+
+"0#JTr[NG(NrcplYmRf2)khHrr@IKcj[0!)J)cm,R2!pmNZdTEGfcV@3#IQADXPU
+
+!K,IBU0[1YS#BDY@fD2h"P[l--Y(CeTE1cS+qdjbX5[Eb86[N4qV2Rb52[HLre*b
+
+FDmp#i6i'ca26qApAZ2rIFbrUh5XX3MmF4ial'2l&H$N)3(BENY,lf@I4QqGmkV3
+
+YeI,h[RBrPrVHG#dfYZ,I11,I9cK[P(Ur1S4kRcZlJSpE9E+'dUrm1Gfmcf,rm0$
+
+Yk(p`F14(&[HL1C*Q@jaE$`D"(G+d6#)pYkQ2aH[&H[V`0#mrSfHK`r0iI6iIPhI
+
+XQ$NFcZ0q"-`TA5hB%DECYl54T+&[YI#mRcU&6YC*2pQKTk(K2dI@I,crXcI+5J,
+
+lrrY1qjL8qbA"Z6TZNpDqR6Cb0jKKTS"&"%YE23RR8!4mbA+Jcdij%aX[%Y!AX0B
+
+i6VmGhq(9QAIaDh@QpEiRiV-Ia)jXHlkb[cV8R`,3X2mf5$-mdk-8!L!6rli5dfq
+
+0AbTIH@2I5b@1mPi`jmid&E$aYHYKV4rQUMXR3Am!jbd`)EAPm(fdKT@[E-2(fkb
+
+ZlkFD9m&a3jEal@S"L#c-HBXG2EThZ0a3fUYT,qEHPe1j[rHJqYU6Eb0%H`2m,"b
+
+D9(U5Ifr%cj02[p166h(j,fEHqKU6f6cSdEpp%b,2@EI2!0KakZ94E1HKKR@EHcC
+
+NYpDcXfqT6NXp2KhV2$iI8d)i'V,l0,kR#kr)pMHIPl2r0lllrIrP0eVm%A6h[jF
+
+I`-IrbEJaQ6GA$RI8cVfGKcZX!5i3p[DQIBQrpi&0pZ--&2K5jAq(+r`q2cZ&kI"
+
+kA#p2+dZ&kIM80cpeGMDG[I4apj[I[8Z9*rpBq2[I6hbEbf$5R82FLk([9XTF%hS
+
+X6+d2+iAT9G[GEFrJEhlhkfR[I5S8GlkY"A0h1*)ec[r`Gb@3!2Hq[hA@lrf%Qi8
+
+rfZ4kme*Xbf0)-Rdp+GlrdplphZLaT5j@pql@jAIH[$a'(f$FqcLHcZIZBRXQ`8-
+
+08r4[JI!lMZ$ADG1Ni%GIm9hV3rLNZ`keRdHfeV1YD'5d&aZ'j'49I$IfDq(Ll)e
+
+(f4fK-6VULAm#NNT8XR*amIKF,*`EhmZ5I4MDML)RZ,m[K5djRIHf3CSIPpHG%f[
+
+TNqDTlR,aq9`ZAb1Af2+h[Mpc9lrmRD96('3#9FErXmr)AH,iPNJ%M1[,1k0rBMr
+
+qALTk*P!Ff,rpX!UH"kJ5%Y$198qKGSD&(l&r)h%[0ZlMa3#I-j[HmRp,2e2*rih
+
+@92Ke,XRmqTTbHKUFU6rEErEJalIeM4)k9#K*kDT18j109m@PY5G["rTYAl@'eIK
+
+M('Gk(Yi9IekbH,(iUr@e[aI-MqCKqC(mV$QaPCI6cIpNRbd1rid9-Cj9*Q(9ie#
+
+r3[DS"05rm!q*@lkANDJCHFCj5%Th+Yr0&LU,Z8U-b5plqlh[l[Grc@0$ZrjK#$C
+
+TG1UGUV)Z)(Vhf0$pYhk'qIS0rrUJJViDjj8@1XRLcI`pr(Uqh3cpA0SDf0!f1"@
+
+Ym++6cUA(bZ2f"[kQlhJd5!fpc[C28clHIr9*Ccr`CpQ6qUlrQZpH6`*R6e1je0,
+
+XPpi,FbeDY'-*3Q@r06k"b0U6"[2`Ec!M$*rLU9hl16JbpK%STh!KSFYF15KqG6e
+
+q2qK8cH0p@TQTM13R,A[4KrNi&`CedfEYE$lcC'G@'YXj@(JpIYE["krHBFAbfN6
+
+4ak[9LbrMrcD)#jerHHcNEA$2Rpji8Q)(AhmF@[3eGD$3r&mcVI%k`""'M3kdLfc
+
+SLD0*(p@5*CT(kD65NGN[(CF0-earNP#@[m,N)['Y!8lQcCl@eEh$TFT5lc+ja%`
+
+FV8ZrTk@CbLbhb[dimb16P1%'Yh%*JcD%'KUDhkF)8fIUCrkI*"3Q2!Kce[CX5F1
+
+%!QTBNY`F16+rbfrXGp9Q,dd#QhCEhlerPEd8fYqRm2$[IE0aZEM5d*p&90TPA`r
+
+eGrd0cV6ISI,PLjH*UEM"$1hZ$jdX8f*-VlX%K$aacU-RhZ*jeREYr@3&Ch+j@RF
+
+8cV3T@C1`adCEH`2jpJIcl#[jeINH6KH[aS'ImGH"fKh3JmEdk&$bIZk(+mRlY8A
+
+f$khT%FVSeFDfZlL8+4a3L--TC3pMir@dIaD2iY(VDAiMp566h%+,BpFbEk*F)KY
+
+MrIbF'kr,3Se9DDM,D`@X4q@mq`KcTaHM3f,rr06R1,AMMrKQ6"q6eNQL'qFLkAV
+
+AdH'QTTZ656MLjARFMkrIHGS)"!#FVd063Nr'U,1$(Kpl,Q6$$3f1-4!q14%E&$+
+
+PXfFY*%'*6imZ9TGeJlI4eX'EXFE!#9!*lPEiIEr@IjKq`l0#+hJU4fm(`I+q$Yf
+
+eRHXZ@CFTQe,H(FHSQerZPmTN%'E9lRamIpEFr1cI(pmAXpcZB6Y,m(Ue$%ETU`@
+
+h%[N616,SIdH4Kd1YSBI)Z%d'Kj'V0e*b9'%+$3SHaIcCRXDZK!5AdKR4TQZ!)@5
+
+qN!$Q%2)"HQ(pPcJ2Mr&Hr&aHY3FKjAMXHaI[@*HlVTcj(4IF-KqjUb&cI[fcQZ!
+
+BVA5ZrahrlTp`pBqiHYm6cE-XhrEf+ZFEpI2pK!)3Tc)dQiIL4f3#ELAGYQY+mZi
+
+AhSajGf)mZbX'VJS6Y6"U6Y6h-C9["e65kZV--KJ`4p5ChEFfmCcIjbB)Z*VNai@
+
+GjcH3!(Bq4UkAfp,9dYA5cp95rNpLaBXHa*,qRqVqR`[PqhhRaZmmH66lcamfpQr
+
+NeYmaleMf)e2HLm4'Ub6I6NX!4UXHmrUjQE6h2X`l*RREDj[ABBdYR2q&RR+9Xd+
+
+10,c0ZJE#I&qY4qpj#,21`lY-!IqR9e06qQp&I)VQS!bCr6A-"G[!#RaZ2,Re+'$
+
+9ifTIe4a9U$M+`Fj5L"+HPikQG5ApB`D3!-k'E4B$H`kLQEl5'6Cq0jS"$rrbE5A
+
+UVHY8q0Eq04q-c4(6rLpl@NmbhrVYqEqYdreYQ6ri6,DjRl@mkmhbQ%((pE+YmIm
+
+D!6+iJZ$bp$*KfT*F6%QcrGVKXlVrTm(rSNN['q6*,(3j@VMrINPQq9LIF#%jMGF
+
+HM"THaUriG,bG@A5VD8ZVPBNZT(lcjha)pfRZe1S$ZqPX'1KrlBhi**IQI3r@k&R
+
+TfqY6T@ZVEfPX(`dBT20SeIJqEC1#qPDYqGHQC0M*e+9M*rAIq3l6KV'0K`de[h%
+
+%'C!!Ff@VXm#+KElMkpb56qVmm!NNZK(*r,S*Z(iNk#G61bSG1a6DF``NjPbD"''
+
+(PY3i*XU!56#A6S4al6!G-01#BcibR0Tc8!M`%)"%rM!1EQD3!1+#R!J%H!J!LKE
+
+Rkm-iQ6`3`)"%!L&,6@)p$05G+(#B*`8)CJ0$FKJfS2"3f#"d-@J%H!KiCGFm@CJ
+
+Y`6)*N!"-*%8M!U#B(%V)@a)5"j!!'c`MmcR)"'!dhR)PCf#'EIrcN!"riZcHZS4
+
+8+D-4%i1+HZJ%6J+Tklq&%MYS3EJQKaZ3!)#JXjh1iVk(h'8L`&NMB4rF(K6JpKM
+
+YbeY-"&0!R[-&+G@$fTm0)$k,i3rK,8G`X9UGI8'k5#Ul"PUXL(6Xi22RC2j8!bJ
+
+M%QBNcF0Qm[KkEdl)3aT`diPDmcVNki)IjZkPb$P5ZjX1E$V`kmqYLdYfTI"TSCa
+
+&"b0Q[XhGQ(CK!*2!aLcpfUB+R$Fb+(,KdGNeUN!Qc3R8CY+BY!)1c3qfRX8pN!$
+
+[r2%r8+l-Lc+E6#4BYNbeTNFc*qc1c*fI1ciFq,QL*pD"Hd5C"f%R-U8kP-!P8dh
+
+kpA,lFFBXR@i[Td&XY1XM9iH5'1-V'6VY[hKdm)"*(!LI6aDHlUFbT"8J@+Bq,YX
+
+R*qcAc,[2a*Nd2jb2Y!piVF*[1bH["X`E-!cHHVqiThJT1(32Tr68pHjciZG#,-C
+
+SLm(6h)%b!32MGG&QTZ4UXe!*dbf+j*+'hJLjdA1!)SR8p[-3p[`9`K)Yb6YPAIl
+
+cP`!-KQa6+BJ&6Y+EYk5NLFVDJUh,3KQk)PLb$8l*`a3F2Vh)!i4Q)Xq#HH3+iJC
+
+i6S"*aU[#!GYpBQ,CU%TXfTQe%!LD@E*E)PSckpM0@m1*&1fTfLP0ppBdXLa1a"3
+
+$)JVcXpiS40hNU!KQLX%-l'`q#%L$*J06LUR)Bi2h)EN9c,ZD-F@Y%!T!)!60hUY
+
+p!iHE2PS`GeK#lBYENA2S6+"`,UKbq)dlR`D)lLH-4pKF%Gp$l)pZ2q6K*8l`5&Q
+
+c*1P0S6D&@K4SBS#%#@,LKbl-LVPb1j(Fj@#111k!V0MQmM#V&pIjDM(4M3#86cH
+
+HJbU#GT85GN-N)f"R`iX1lKjD(UefdE3eVihRl$,jRl5*H-Eedap%"Ml-U9G+V3U
+
+ckZ*fkSX91@jFLjQ1(3BQ4[Yci8hHGHC$0&Nm1MPUM`Lem0r-Z6"CSBT,pD`iJ(p
+
+Fj4CZC1Q4C2A4b1+S[aU'p2km(ji0[+RE81cPrVZE2SRJ,@+"+SS!r"Y%'PS4d)A
+
+VB"'eL+L@c2IQ6CXdjP*f@M#bGZ!cEklF$+[MDaB`5(GR[2#+4)"!#FN3%l#[#U@
+
+I1JM4GG4JScU144m('j`#S+-fV0c'@C`'&b+DA+Ga!)S'mUT&9Kle,k#NjZTBD[E
+
+eE0@[9Ze6X19U62TBUVF+m&DR6$%L1P@V@V9km@ABm,r8jJ5V0V@PKU3e-@SM0i"
+
+@C$cl'+bCm-'6KT`Gpei)"SV$-K4&'E2RBQ4Z!mGbc0RV8'[VIa6[+KfSYQRXA2R
+
+Z46T`C(-K$3A0R,'c8hCR$F$aRaY"L8lQ3,klPhL'rA0ZcVX0hPhBZJ6ljm5YhlP
+
+2,'$@iPZ9-ZT4U6JcR,c%AepR4LArCL)+[car$&@LcAf$&c&NFah+pb+lff#-*cG
+
+hD9fYG!8HrpLI43S1`9-AD'X1`MLPkQLhMBS,4b"8QKr&(Kqh6D%MLXcQ%KqG8NU
+
+6,FbT0281'T%1*lP6-bXc0DAY6MThDHP,GU4e)`#I*UH"QA1IQ6FfN3F&YTcUSli
+
+TekHIJRP9)GZD)LEi%2dGdb@FF1D1UVR)P&PqM6d3#E3XeS9U&G9pd-'k-KkV0cC
+
+["`eHG9Z9DG856UcUdfZe1MR6YLIKRdqd#LZe4Tmjd1J%IK!D-%@e&Y)"&!aSN8@
+
++#R$SaE05GQcDhY9aC*`4F@mE$ZDc#1-@a8QkFbP89U(F4lmIZ$@9kF@M6fFbG9Q
+
+eZK6fDHbJ%Tl03@[8e2!4*F)Z+jcUZa9qI9jpER9qG6CIZZr`#!)a%h+FhK5Lhl%
+
+Z8`V3&ZY,6U*eNaH#RH8,QmHK4L&LEN'UF0C'm0'V4UQUaK8c`M$%ZfiMKkI$[SE
+
+',Rb`j%0H'k39K8i"5UN3QET68cUX+DhDe5!%4Zf1fRiBUZA9q(KSdk*MMU5eN6q
+
+H3dKP2&VmYZ8*J-J)ek$Q#)IY-##j`)TAN!#b$pSD--61RH4KiN&#!B9B-5'I$id
+
+10eeFbMTj8pCP[RUp*k%Rfk)[S3#84Hj9bXce90h-Kc-RqUR2Z6mRS3G#B1UTdq'
+
+B,@XV*33BR2bIXaG#,S8ZK4k%Ri8"8A2LjmA2Ur3Q,)&@"I-'$'liX!`8NN%'Te5
+
+TQCRCGNjcl("("hf(5UjPA0(+PhAc*ecLZFqS(mb#jXFSG(Gjl1E&QaCSjlZm"`I
+
+l#6RLNb!3!Ji(jecR)"!#0@D&BZ(JV#"A#`M,GPeS$VQLX5h%)&9qG(#C(8@FQ5"
+
+&I!)-IA"m,c0&jFQ%GeeFh0c0I0cBqjZiXQ'ihakMr4$IdFfVQCYcAc-d0r4HL"%
+
+lCq''GV%*@H-6pj!!Ff#S6@X4Yr#%N5$cER53!%1XMY(H4FbR6+LC*PC5XL%5aFr
+
+94eVQ49+9$)QFY(00'"IGeBTLY'FM)h2bGXKEE3km'&cB5pc@3hFXh0eXh0cEQEF
+
+VCZ4(NADh,2"TCJHiTlZVbkUIhY'V)-TBU3NR5(EZBUXe1#V"9Qb5)ij3#9BD8--
+
+0,&UYUkLhUG9AHh!0$5!j5T9DZBJF5DmSaNKUjpA23#8Kfj5c`G[""f&AQ!HKUiY
+
+@9m*X"'BUmj@$&E@P5Z(fPEXmJGr9K#,RjX%aYZf3!(XSIJN'V)Nm8HCcaeqV#A*
+
+kik+ScED1"BHM&X9KqDAB0KcRT)Q!Y!cD@[MjY+V5SdTY+E5V9YpQc&*V%QP1UlH
+
+ZhN!LJDrGMceAC)iD82cBMP-e-1T0e)05$8J+3-ab1%kBV(LK8[IA[H&HUAUJ"-b
+
+rcmkE0GLE"UBFrRkiB&Mb%K0R'@XFSND3!$BC8A3Tp#iR"SNmCe$1LpaKdBlXXK5
+
+BVQj*(I@14([F+!JCZC[+8ac5SXRVV+f`)1d)9l*3*6%hPHi1j8M6#GDCEU2XB2T
+
+0[DT)ZTbA$#"'9HCPe0'JfB+(K+pRD6$i&A[j8G#U$K`ddqK4!6KBTIL`AS0,"SM
+
+M9j*5Sc+$,[Td2C6rClHRCTek[*Iad3cSS0LR"I&&4S5dMXpjBh*h1MSXjRH"e-q
+
+l(PH"eiFd4m6VNZaABKqrN!#3!$p!Cd0+I9Gl-Sl8[l@0,&dUA5b0[Pl3D`DBD22
+
+E'#&TZrRqTV"L-8H4C&2aA'@VZER+Q0,UT4!`dTf4$bh(1D8bQdUmEE'Q`!DNC%Q
+
+AGd4Dl&ALMdGIJXm%JK``cGEbiG[&k1lemL2a4c%1CSkq[M-)#(r$*VFq'CLjQlU
+
+C&$a8L46)DYFBa1I#9BH&VF@IkN)b%hdVM39+p5*(dQ*$[$Sq0fF!JTI&EkiYd*Z
+
+1lSFYYr&m#NkKNEcra88#eXLl%99AG-+Ik"*TfrKXNK9mN!#D(G'"hUN9P%%Z+,i
+
+83B5+h5EA89)J1m4i"8iS[#!4Q$ZLP4BQad5F)!"%"'rNXc-pMR!#+EU'q2GlTf!
+
+!'hpfcGcd"@I$d*l5lfb2RBp!YS5CBQ*Nbh*XMZqf5$Ki[1[)#&GP40!mhkBldJi
+
+[)JdHrMXajk!VARc&HbTM'RmLD#r+(+mk1G'MPU(1LcUIH2CeAe-Mk2Jkr!p'Er!
+
+THI4TklQEDb&UZjPQ3CN#2V-3I(q-!JRFV`ddjZqPRcFbEa%aHX*A-B22-D&dPD#
+
+Vb*8"#a%Y(P[V!qR1pd1LXb1TAVG8PBk2,4KHM$(FpQVUbRcXMAK(YAFLe8A"4!J
+
+Z4Fjk`[8bdZE-bjNA2-e5T%1M"NDVMG6!61*-S8-bKa+&#KL8*i"['!*4Q%a9iYe
+
+PKS@6l4Vd+jfR3d+95MQ9GI-G)j4HrA1(+k6%"EV8m9Cf8qELMKa""RB%ArekFBI
+
+*ZkG+R@*4+48hM"@2R9a5q`35Cf(GcU80D)%'C1jpKf@$0R5kb,8d!Z*f82-KThA
+
+Q4%cm@jVh0FIFX"J$!%k0af(I%4Dj2+E4eYYSpT!!ADP49q"0DM$NSZ"""[28)(2
+
+RlJI3QJdlB`E)Gc-65cY#a'@9p,13!#&c%G!N!)1&F@4&q2B4$%KddNF6SdRIYIS
+
+d8'5[I!ql(hGMmcFZG!Zk)VM8%@))I)a[Hj21@V#Ti)&HBQC"0eN(aJ%L#$c$R-b
+
+G2A%PGmi`2NPMmkQ44Nf0QG))Ga'C4XG$NIMMS+FXjCC1Y6UXRUL-YF!K*TUF5he
+
+LU#l9M-5AcCaK+6ZT*k`"UXkT1iNkb!S@)0%B$cUX0E&Vb9J%9)H)-b+eem@@2K!
+
+9f(fjrbAl00LHF)***P@C@Q"!CP@j8ZF5jCZG5jj8RP+)1`ia0`VADph,!*A-B$Z
+
+YQ[d+NqV2lGA$pq,2LdS[#SGr,Rd-qL3Z)[dSY+CQ6-b96[)I*kphCdGR`3#FReV
+
+TX!hGRaGR4k&aRfXkrcSpHl,T&JSj69MYhUGfi8)jM5%K1fi6Dp[6ek1a4fD1h5q
+
+[&pNB8Dp(ACR,1QiNX-9#KPlHMHLL(8I2eeHhcS-5@H-XZ*!!D@&0(i!Q&9(KLXm
+
+c0)UI"-0m4q-3p-+ER9*`MbbFk92L"*a0(5dD0fMGT4irpZ4QYU#-@qjPK+rH4JA
+
+D8p'IAR`cr`lUI$ZADVbcpi["bkIJQ(lA-l)afNM#m*MPVK3h[`QCeAcHqP#Ym%b
+
+0qp&IJYhY&,'2#I`kY@V`j5"NBiTM#c(c)A`%qhDhqLC#qM2rRl,Z4iRjjZ"C$-[
+
+P93ZCHaT'++,LKUSq(L0K4[*4(brb)[54`eZrT4IV[($5BZr#P-P5j&X8)FEf9IB
+
+E&#FB'LR[$DfY3VF5YhmTPNJ+!*aQ3GCXkP##K0m*m,-IpE&#DUVUR[+KjPk1L0X
+
+1ci-6XH&-H1LT2Q%0Q4jPh-dC,Nc[[DZclXql23%#r"FKZj@bkZ0+Q#I1ejmhaik
+
+6S')mj8pkL0aT2Xd4DE*p[6RbIKSf#JppF`Xm5DT3C+1ic&hb8aHf!bK+6qYHqV%
+
+Q5Fm@[p#6SCXr0RbIE!0-cCQIQD2qV`5FD,liT0SeeC-F0TFSfeaZUP@hQe,a5&3
+
+lk'Y$@KY`eT)c'jNk%i!f+1)UIQA&)"'`'5FJrIHV-QPF$0Yqfc4)2I9(dD"'4bF
+
+FTCGTcVIi+FG[d%Er&X*e,3adb9a3UBiA*E-UCPR-V(#I6c'rRc0`T`F,"@'CR#`
+
+TM'J%fXkIf'*[rqVBdTKe`F,#ZG9J9T1!DiqFP!MGj-YdBMAHGRaD!#1CcXmdj0b
+
+PcYH@Djc,R*`'Q-@1ZqP!rj@I%9a*d+fN[+JmUC6mLRqE6ckHID!*6jS"*P5BD8M
+
+DTY2Q'NPb8+%@pmcC#E2C`e&f`XS$b4-Tp)*Z`EEPFb)DilPep`e8ZE9mLVReV[9
+
+8I)4@M"XQAA0hDKr""@[eSkdB"$*I!-J1'a&CIlV%$JqB8l91EmV2VD&AQ9,Vfi8
+
+(-ahm1F*MQ8c46+IA+GDkkTQpUrdaT,Y!MIp$pH#lZ0RQ#KSHQUX`FfZhbh"J)1F
+
+bA2QD%bl-ZrMZc-rfZB!TlNZSH[@j1'l6ckfI@!*JjSi!154Ye8$kReD%fld'*Zl
+
+XYZV2#Gf,ApfEj6EK[Mr4Q3*`%TL$Y5[4mPQmr0jqEp#2SI(r((ciqI(p#2h,Na!
+
+`jKJFFFG5l8dEGbBMYaRFcd3A1IFjr+"PhRp5LV+Zj@MahT!!%8c'`d)Y8hE5S-!
+
+E(Lhd2M@$'UqIZ@4fCTrj"9%4#[YX1A1m&1mpZmh%mpYh,Hrfq(4RD14j6Fei"NN
+
+HUGiDJd91K@e@CeB+92)TR"G8ERM%RNCF43(ZZQD[9T9FM0jH[-a9kIjcEY9Z5QE
+
+#YA-[b2K21i6bpGek89@R-mr@mjJdJ%GB)8l`0,cTQc0f,rcbm+$CqqIaK16k[C5
+
+FaFl4FlkNFEMh0G*%HY9JN5LmZEf4`DF*Q)eCFaT&$ChFMXl[8Uq*5*YG,-UjfBU
+
+PUE!-1MVE0(k10j&'#UGl5NmEP#RqcL@,AUaka2V0(00(H1N2KD@a`4JSUhBalik
+
+ZZ3)-,Qde'NF$G,Sq'alm&2)UeUZE*cq$!aR`d0B%%[L262VSDiVh3eGS,+FccP1
+
+CV"#9JF9U@8'jqLSJQ!JZ5A!p9r$-e54-k1-1%1*-mp1q&q)-CDZ*(cNRU3HI[()
+
+k+LYcfSqR(58%BSGE,61PT48[$T*+'mH1EZ9`J%b,BMUk!AK!m60k@'Y"'HEVP$$
+
+3F'9&k2[jE`"VdGq12BQ0i'V(`,KF8h8PID6QI'P*TU(+##%#fb#,)[9`2E1C$f$
+
+jdLc%fFpL,C[I9[DplA[HAHkGrCcU3N,Q6%e$X4)4%NAf05aHXAV&l2[G$8SAkNH
+
+C"d@,jc`l8QAVpk#pK['L'QYZUr0U9*k(E#Hk5I(EcQTI2N8[a"K,d3Cb+p&HL[e
+
+iaX%[e'MakJEA8A1[5hYQpXS",fcUN!#kA4AHp%Mbf*Ler(i5F@'lFeP5Br!F+Qa
+
+81S+(0J'GDVkfBfUd4&aa0Ll#62ZFP-eSpV"HBe'T-k@565cp)McdZ65&a9D(+Kc
+
+SIS6eUBmjG+'iJ%hZ#LIl@,bKMpr"hQmhEYYR0ET$iH'RFCa4`X&1i2PNMP[1Q*m
+
+fJ(@2ZpGBG31ZkFmVm[&h!1NL5)`(Emp8Qjh#kiZ4R&XeGVLZ)d1RkUbbDmEZq+m
+
+U2Ze)!3DXZ)Bj'UBk@C,Uc-3bN!"!*R6(8%%2CbiVYEBcb)1Qib48aC%f#mQBE"M
+
+BDKmpd)Z*DdTY$00PJSL8KSe&pPREQL5ij*22-YQRLa@GU[GcmqILER%D(P0Yb`H
+
+I"r""p3KK)LG"5p#PQeTmFrFGGMfYP-4j%C`8KMRm$k5VDDGRbkMT1PKl9EN$h8E
+
++bH0Kb$9EdC[Ib[1@8bVU&*jbbR3+Jq6S&R`[1J@Ip(XPLi1pQ+ID9IL9G1VT[,K
+
+DA$9Z&YlGIRbX(PMN9ARZNT3Fk(BlI#(DE@I&$41fC%ad!J"'0!1`*haBG5,5Yk8
+
+`2pV8$E&T(BE3AGmDGYmBdAp'UrqeZ`J+-2aSIL3kF2`jD*F(!*RdISBfil0`J4R
+
+GTcIM6ILG(6daX&TdHM40[Gj*`Kl+(fBHGfr1XkpFJH*B9-)eGbpTTd564S[!Th[
+
+"dIi+&HM@T93lTp1JBb'qRDFfpl4-e$(*Nq0Xq00ZJY*'Gc,HB4V6'JYSm9!KFCJ
+
+Y6$bBGBcmF@,GaC'4iY*1BQk,I@@YSX(RbkY5I8+`&I)VQX!R4FRF#bTUefVi"RE
+
+(6ZX6iEhdh+i9p2rl,ZcBJm9fT+p)!1IK0RS(&,UEkYilMRcCmGGN5Y(VDm1[$Vi
+
+Z[Zm14Vq+S-VM@9"!)qcG9VmPV(Qll0mCblc4UddAH0V$5AbmT%1"dXHXeIdM+dG
+
+YYF#Il-mE)lU,XF1q-Rm3rZcrSGYL8&pAdiASUTV6"P+3!(JFZZ%"GLf6DJBi"6G
+
+Ac%LaT6DJfMDJ9FrTd+cZq3X!DiF"K$IDq4KBhd1[BaD,8m*X1#%MR3a"m!D$a9X
+
+2!J-3GiB$9A!#S9XHY[UhMB'AHk05QT30LHhd`"Ep+$)JjEPRjZ`-Nqp%!q%b)q@
+
+NQ)aMY-c`&Fh595GjVMNZU(T98`ajJrSTCNpA9NkrK@8R&I@6Xrb6aKJ8)Te)X#&
+
+%,je*Nkkr*(cmkC(Q$Z+K(-MQA`#1Nm,)M3#-j'HZGhN4pk)#5@qIU,hp6I1$BMp
+
+a4F8GfP[81jFYB`%CG%hKhKa4k1R)FUpRPZ5BZKl&`(3P&aEPibYJLCj8&EmA95'
+
+3!%9SBYqH$iTkU,%qCL[+mBVVV#il)AEpXhES[@0[fILUEahBE(2Vj(9hqcCdE1M
+
+G6"0fCqja@0j#RKYI!)'Lk(&k0j2%CY`*Q,!2KL`U6$M!-de'VVqm,&q+GaB5Q!k
+
+hScR1+'KJS3kX)[DZphAe%"#!4j[r*KTSKL)GT1`0k159!0Ni4-49UlhGJ-$HG3T
+
+8+3harXJai'2IIcH!ReTpC!*3bU'96i+#"Yf#jcXXhhCbVXHAVP%@U1e99@bb+("
+
+(FMbik%Ulh5,@4D[4&LUL!S93AFc#J)RA4[XR)bppCCf@Qp82[XX@3KeKX%m[R)a
+
+$Fp5biiXf#jhNZAFLdCa,$0i0cV03r9'k9'60Sm2le@MLdD0(ap['(23JMdD#PpN
+
+(al"9Z8rIM,G0$!(lR'610((2*C'Z6YQI&Ldq@P106!1%""Cc-+F!"Cq`cj[M2P-
+
+e$2,eVh)XXRhiQ62%pI'5Iq!4VmEF$qjPMUGe8TD8lSBq*@QI*+m9E%V+Pi#!Xhc
+
+$rX"SHNhN4iadpdU#mUMV2mh5MdX[5LdTfP#+rH28TCNA4C!!Gc$BNS*FIkkm2TU
+
+'q-"!Dl13!(ENchZ'L,lFf,hXU!M&LmH+MSdHKMBRCUXpZC'Ai10cTX(H5pc-Skm
+
+f-M6Q'6@1K4ZM4$J-E#4DkI[4mfR%$&6jD[G@)!0!0q%S2CDIDVFB0-Fp1H*L@rP
+
+8#(A1TjY2ZE9&)HY2akDD0G&B'DZ9*0!G$Tci6eaF'p+KJ%(QH"YDNZMdY(T4ED`
+
+VHGA-VA0CJY"BPVe108ZrAKm*h$b[$hBSYfd4h$EhLX#Y8k,Gj&+P@SS#Tcip1MJ
+
+(A'aAf)pLG,Z`2eLGaL6Tdk[@L9I[(1XB63d0$bG(ZimH8%#dMZf&pSCmhmJLE%Z
+
+F4VZaSBmZ93IdRdhGVYIBcMDBhHI50bk1l1k%j(YUXe3J$ZK5QR1[lXF(Z*rk&M%
+
+B36S)q`Vj&$f8H46SZa(k*ED9A6L,LFGKIKLpP*cpm)G!3ce*cJiDD'B1#HL2,bD
+
+)i1l8(JUTM1jfX"FC`6,p5+J-b*LrFER"N!$0[lBKJ!4J45fc[XfjP%eY@JN-6K!
+
+U#-8QU+d$0c0Q$RYf(@m"#1T(1Jel!8!L0+Np`6fp5K2$Z2CCe%H'd-&fE`jDj4D
+
+VRL!LBe2bVLjlcB5N'P!-5Th%KdXZKjp!rPM-qH@B*f5D#2+Ce,X1SY2+aT1+)8Z
+
+aIf4K(pD,RjI2m"I9-fLCX@r@M!,Ck&2*!)`'S$iYUYbdZcLlN5[AES90)YUljDq
+
+p5TQCf,09L3mdU9EK[MbS[f1qK,F4cq591GEJU@UNkfGC!%-`)#4C[&Uj9Z'BhKY
+
+,Q3f[NeEbjPHGSCdjFd@C1bIT$0A`mRX%L2j2JM3,X+"V@C8@DLa+FBc9@5@E6J-
+
+K06X[+I-)06[RJJ"%J5f(#ClMAQ-FDIm"BpQ5B8cG"ZM6'D8q"9Tci8%)G'RR`Rf
+
+lK%I(CG$p%%5IIj064r2[&cKQkGpjeebZ[2HSY1kPRSrJ[j,`blcUpETf@K1GG2X
+
+`LSNq+(D'K3M0F9V-m)$F8mRf8kXYa&0fTfLpkYXRBQGK$p5Gi1ijh'Z3!'eZ+qr
+
+Z`E1i20Gi[4QjNY42'#Eiab19$b+U"hG%1Gj$1"B+D+RPLI&(6P@VQJ%5GSm%#jG
+
+G8X39l9B$G5Va+YNd5I+cI+h(P+EpImY#2PYje4mj9Re$`[Xj9Bdr(Q"$ENSk9,5
+
+b)U9+LVprY+ek24h2h(RG61YfqN2ND4fHrGR8*fqRBq,4S48pUjS[2p`D#PDCfmR
+
+PeUPDS@dV0DY@mU2bYbTJ-@#KETp+jT38EI6KfiHP$dSIr@(TaE9EDh$8TL%lR$F
+
+(5KcrBcJ&Cd1T$Remc2c1KQ,#KQq6,S3DF(KiG20d-h3cG$irc,QRF5fff(aI@lK
+
+PVGdbV@96pp6X0i@(*iJJ6ISdERJml5QQrGdVZeiZeSl9cDc$'JMH)r8mR"4V8Df
+
+6JQdlH%eC4F1cSTlc$4c+hBdq*`I2Th$UQG2iTUB!k46*hKfXMCXGKSG&f6UZ$!f
+
+6ZRAc`TEP`XH4F(m!BhDUCG@l6f+NhY@MJ%KDR,FkAFG+R4E'1lJpF+H[8HBE%cH
+
+re(*VR9FkVRF2qa!09,!Cadje0YGXT5dlRHB+C5'V)Cl-TrAU86[)R9eHb%ep&@U
+
+H4@lE$G'Nj#&6N!#jdmc*8%'jPRE%1a$Jb"fGG`!+f)I1hAS*qD3U)!J-d)$Dhd0
+
+RjhHcCq!c"m!(,T+'H*2cYcKKjfqR"3*RBeYeK61,4XFQJQ&L0FX'P1*!m"S)QBX
+
+I*FG$AhUR2cb(E8Lc!#926U4C8@8J%L)hrhHi9&p1jUHB(@qQf*ZIj%r3Rk%rb!)
+
+66R-GIRKJhXYB`MDhY9ZK@k!"2D-#'BH0M&!-$+Kq"$BrmBee3#!%&QPDQdQ$R8-
+
+&84Ni+Faq%B1jYAiie1AR+E+hSeZ$Kc3AdaB26fUHdY4!1(VYM,cSZ,`[8m%bC32
+
++iUUcDXfV03%2RMecZ*0q(,fHQCf5!43-8LP2I0"@KKi-l1M&r9,K5R%!!LSHcP9
+
+[)&)kmlGBGp9X&0I&C"Kpd9BB+9bYFMllKrKDhP@ckUHU[l9E2VU)*a1fS62#c)L
+
+@qkJ`kl23qHf)m(qR26@iZ9kLG9@9+J'V9+jqCXr1h4*lTh#NLAL8!MJ32d@m3jq
+
+#MXr*-&K-rhHlN@5LN3"!%15q&jP!mGEhY*!!AAq#"GehRaE'lqSf'1h*l&X1m4-
+
+3A(F5Y3`c"('%lVRQBU5Be8FTh0(,#H2dEfMC3JmCrK2Ie*h)[[G$d*!!bM6HpqK
+
+!Y(3H06,DpV8Rfi&AUJ1!T*rUD&C0Q@rkX6%KqK&RF2c,Q2ErVKa0jrU'm'C"p$H
+
+-bF2rpEfkHfJ%!)-a4Cc0VDpI3jD'!l!lecZk2$RI+#$&dSd+Y60cCVB&5C!!aY3
+
+b*32N&lNLDqp6-cC$MmH,QmNbSXaHq$*r*-QiQE2Ud+)D&P[D##@L+8FMqUI-Q6-
+
+RmFbC20+$HHUd8S3FZA2+c)Xf(1r,GQpjemf(0K3$A$!rGVhR&qRH,JVLUEcE2i@
+
+#0Z$e2!)#[1U'd@E9%BViQh4F9mU4-DF%A-jfKVk(3d1PGmUljjh`FilKHHFXlG'
+
+'i`SfmZe5k@rh[rf)0JL)E()P1k!PLai)`(4l"X`E$4ErV3E(NrJZl&hBZp5lk(*
+
+!4c!#6HQ[QjL%D[9LcSXkrRAXkmJ%c[MS%"pkTc1d2TX(-kGhTmR"SE@KYFQAQG+
+
+ldTRCTm!Z[6"[,9m15-#H@2AMeli")-,*+c--bEcCZH0E4cMcV[1ZiHC0ZT)pV,P
+
+TBNdMCU-6['3$Dj6DBFZkkDHi`q49d+[*`k!"ZqPmLES68HMYJecCQj+#2ND@KTD
+
+'PSG,Nd0$*mJlcpa,03pIFP1L#5qP1MfSqK(d)qKI!3pli)ZB@2-qMS5GpYhGX"'
+
+RhhhZCTh+X'Jaqb(38cP#ec5LQ(RrK8jGiFbQP*Ud)pXjCM5QImd`jSB@Ej%d0[&
+
+S4FQ9!0j%1KR6IRZp081B&L2,Zp922A[DR-'L,mmplKlhKRp$$hSChQ!%JrFIi6Z
+
+D(T8HqP)!YAb+1J"3M#+JT-h1%+b(3K#i8%H4Ad-qEp$FEMX1DTH3!1MIdEZcRpK
+
+qGrhZ`Cq#l12,Y*blX1mA8clRMGmhLpcmcl1EpH2TH"q`qH,5VUGHS41-VleIX[I
+
+rN!$qU')VfTmQ3-DEbD-RG'ljdTp$XSZB+S`0KXiJib,K!FQIBj!!pZ&,Ak@Ad[#
+
+H*RNGicN"RVUSmJZ8,RZpEaKd"0c#C3VL*,[YZ%R)SpF4pp[*h0(%"qZ0VF#P'&T
+
+pCXFa'bbR4-5beXk$IfK-eCKF6cU'G3cXI9hfGi`bQQBNaf+D9(pL(UDh6Kf#',e
+
+1bkI0T9%PY-YXR4GK&ebXcYQ+B9Qhc'PI+l%)d%2%Qe+QMbJ%l)dIc)@MBlVHBhA
+
+Sa85m"M'Gr4Li%AMk8hSEM%l,rZV)90P2D'jG[@dmEle#M4!0[p2PeDEiY3GU0T-
+
+a#TfDHcFqL64ARTUGN!!f21TR%h9Gp+l*$H@F4hl2QDdd4KfBIU3q9f3cNTShr9R
+
+%lH!eCJMD$+PKb*Sff6#6HIGD&k96Te@Gb2lBBU01BRX*FY@RF*a18JKKScUdhih
+
+Z8Bk-GU1Ei%ikkQp%4(H!mY&p@8pNcbi6dcE2I6"R-m%B"9m*[NF@[HVlGJXXSC*
+
+4q(M!RAcch0Sp+ci3UfXbUiQ`89aCTAf`E"$9kpF1*6kVHV&0EBSl&("4f+Za5-&
+
+dlpC[H)IVf#Ml$A-ae!-T!DpIALekr4'[c[QS0IQ5FmhKHDPmkPcBFqP-UcFaA+V
+
+&pB-bZ[9VaeqZ&mGBPF8cCBSB"-4EDZAlPM0XCpM2Vk0I`BVPIl@GQaSI`IlQSKX
+
+N1kLVl9Ik`""qPAfSpS)*[G'4IE&6$%QZ5N)*dJ(CM)-b951,)!3a+[K)K'ljUNG
+
+I4Dr@Rd-hdG*5chmqbTPAXU[-9&GIZLV[k9N1JHL!qD`jMAeDJD!dTDmfZEeYHl(
+
+PZ6@JbGE`a%k(M492"YTMXcAiNa1-Sf(jTbNd)B[4TC!!f2b#,cjY1qNE$%ZDdFh
+
+$L6TrjGj5he,p,mT"cT&bKlh3cT0DK1l5[1Ll6Yr#lcHHb-*rY*NR1bDdbh"SE-c
+
+*XlCA1Jf-HEfXfFG8R[F$[R!lA+Ffi+U6B*d1j`EYI0lFpF0bZ)b4#6fY4C0`e1F
+
+U8kX8F-2B4+SJq#!pdbQ6Qemd%bJBH"+[d'&G#BAdlPl02R$QAKC5AmXai`6!rU)
+
+(cZQ0)'lI08)bQ9GZ,a!AZFI"+I*Z[H`hqG'QC%QCBLKU9-#qHfPfJ+IamY%RhA1
+
+[(!rHblhJAZRU8Ee"RB$2GdYK&RHpXAX!"&!b`8GK@K32iTBYZpYKI-"YYqZr8,j
+
+`F!*U*bLT@HeeGq0`bDelAe$l$[IN85IN[lFFf"fM!JqVKjrkqTm&[ZVimlp8BT[
+
+RdD[#LZTZD(rV3hGjk-*3,GSITp@*NBcUG["1V@m&DREP0&hZ-YceT3qQQe-R6Cf
+
+liVDFMZBai(dr9EFZC!194L1`'3hAB*(N,Ljq2qDI`"r"AYQrdmirJNP$Sd)Z4Dp
+
+!3VC&*!-qSDL#YD,P4I3e-I8rV)N[d06+e2klpL1K"P3*NG[2f8HM+eY0`-`X%AR
+
+YTVPrDTUbhUGkQ*@C[apL,Ud)U+YY+$),*Qr5hZN)(E5SlG6ii)MbEj&"PQBjI[l
+
+BN6YDJNMU#6IaaV3[cLT!DSI21UAkPc-ZDqC[lm'*,L$aM%QCm[%83AiPqcCFbKF
+
+L[PcdfS4Ja11MljUiRPr0RCXiJ2Ar1ZDpcblqh1k)*0HF05cA"336-6$1%aVQaFP
+
+[l%lBRE%lTc[-RIkUrck(GX`Yh(XcUHmmpe6$BibDljKq9GG@0JS@,8k`0hCMS#&
+
+c(pMH-Hq6mkHcQ%CQPl@A"m2#ZirY4H#qHb%cHiDT-caBFDAZ5%`qhd&`&4$*pCp
+
+Lbq[r*AQA4RrZ@r$dRH3FMVLHaY8cCeQ1a@Viph1h2qPcleHbM)jelAdHMTp#PY4
+
+H9&jiLeVpRVaDc0#YeKReZhkPRU9qVGIFMCmb1N"9AYPr-EU`f(lRX0[XH"&U5k9
+
+$5S!,X%-%KQL+DXkdjKD%hiZ%qliY,#[,Y#8@FkKmpPMa!3Sa4I&P8388aXJ3DP$
+
+pl'ETC@,RQp[QfFf[dFme*%jh&SX!)I2Dqji'YHZD0c4c5'!IG6mqlNLlD8liXl8
+
+R(-aJ@fqmb'Qp$e`9P%#D(Lj#EC!!kh3fNAI43ciFlT8"UULX6Pc"ck8,(aE'TBd
+
+V'PRd2fP1fQ)eiCR@,PiLr$H-[,5Pd82QF[9BIP&2AKPpjFXh+mGh@K(Ra&CB%+p
+
+#4X2&,m@CHQD2YD+C5[Y!%6CiGbGVi)qGm@Im62lrlHMd$ZTcplpX3%U%e"8@D-&
+
+(R8IVI'kAIrGdqPTp+MdU25SRCG4k0)%M,@%[aq"eEe25`D*prQK8lqQHHL)%SI!
+
+L['X[Sq9T'9Shj5kNN!"R4Bei%h8r*T84(MmJXQhC+C!!jecb)QQl[4Xl0LGCrYA
+
+834lNPE40h4*m-)ZBLQq$-jeV0QfTJm*AESqeZ+['i$RNCiZSe!)Q(h+@MM8D'6N
+
+qbLT,TKkTq%V1C&GT(USGpjhpaG"mr+1Fmj(#8L[)i"$kXA1d5Z-lE2*lPpDH#r9
+
+$[P$4-I"iiX`VbHimT,23Z6Zaq'2eALHq0,Id4-[$4H%pqj%,+c#3!%%#*ciG9m(
+
+lT)ZNmel8Q#Q$j2PaGM&kQlkH4dr&96+[diYPr2d8h2`jf,PTdV`K2dkRR[(Xe#E
+
+UTi43Bp2I8r'Td,5FKfR8V,TRVp'LUBl4`8YM)f1@[YP&XD1a`AL,Sb9eC6IQUpL
+
+DQ[k98B)'ZU4T'@H!)SB085Jam'q0kR[j@AUD9+ScdP8TLH8JLVEkYmk9+Ljr5c@
+
+VR#XR&SHTI")HF@lb1,br8S3Bd&,RD2JdeBE'#4&Q8bbM050#!3CDRMK9aF`cf!3
+
+%P6#4fVPU5E(0MePjF+XHEX'N3Ujb*2TQ@42SZ2J%e1LJHcTZG5qK26N+-S@,9P,
+
+peb2@[jXHDCG8h@QP+qkA`&$jfC4M*Uq!@F3!Vjh"*313!$ZlJjINml2JcpEQjZI
+
+QjpEQj'IN6DdiHNYP`$d2Q5hIXCpM3XFbaGXAFqld1E3Ze5%+f9&-A!`E08+2A13
+
+(6$2@@!+pkGd`mQI#SiCH4pSGjJK6Qj!!#366X*Z4HI36"jl*Gf6%RC,X9FmkiS6
+
+R'mAG-,B84@l#56-,f,!B!b5k1`h1'C1*c-@I6jZYRcANkHE9294S,5CepqRR9Xk
+
+YUJ%cX%G-AJe$PF4-Nckm[QAEZaRcG$Qmb!Tf6608KZTd3,H[bi&MGr#0!E9`XM-
+
+)BDqiE1[4fj,iG5D2rSFb,pPqpQbR)F$#0*S1!IC&'l4Zm!!P'l9cl23cPrb#0h)
+
+VYmC,LBehLhEb-SAhrU#Ff'+#qIi)C#["!+"M8aP!haN(hC!!PAVF#Lq0rh,j*BU
+
+A&1FXC3R0q1dAaG*M"lD,T+&EZm&j&fK`Ia@fDJB#*V@[J%LV8*3IU#N"M1q"K&V
+
+96+BUqlUqkUf+YM6crcTrklfdJ'd`4#&D&*a5*hMB9B++8$imB+NBUr8iZCHk&$h
+
++')rMMji)#,C&&a8cZAkFmmbp3kB+#i(5)2TSD0U19e&6pC!!3BBU[&2!XPGkp#E
+
+4H#!Jka3hdT9CY$-q"Q"")@@D#CF8!Ca-KiK3$Q4QViM3&-`J!B,[8D%4E(&*YB#
+
+K()#cb![2--dYij[ZmhYXh2[6lXqjLjQlc)@1r9jlUKaXA0LQF@CHpa6I[6[jS4i
+
+bq$#J1CBqRpXm`%KXlXj(eGrpUck&IUCpHI&2ViXHlqLk$QVLSFGI43iALcL4Bir
+
+ed0+i+Ql@V&M*$Xi(GaDL!JJEY"`H0fPd$ql-)4Bb%6111`+cpq52TCe#1LjdKA5
+
+[5l6Sa*XQr4bC`#ARm1A&BG9r"I'IGc@Z'S"pMMf+eMj0LPBKX$(ITCP3QM0R+A,
+
+HY6Z9-`lL*U-`N!!)ZMbe1T'&rAT`Gpl-%&[VMjreUYI+VeqUAU-URhM01pLep+E
+
+pbGj82e+2dI#Q[&1h+IcXXMe34CK-@S'VQ6e$9MC0&Y`qRN&i%Z`h+fa2hHkpQ+R
+
+bcQbScKEdZ4T6UeGprHKkYbR`F0BG1lf8Hk2X)r[-1@9dCPDjeFXK"`,fmH#G"5X
+
+UXZ$'*rGb$hj$%!heD&E`kYDSD%RP8eL'6)DKQeGp+I*N-q'Ker'6L-3#GHJTZlP
+
+A,U)5Ya13!'2m[21qIj2##Hl"3p5baI*Z*Ff,Z4-#E3aD0'PiGfVqh`G`cml,-"V
+
+Fbh+BH$X6*f+FrC0GAZGi+L$KE@rfZaLcU2DbC9(GlG,ErmY[(-pUPQdZRMUAfq0
+
+AkC-c0AL&IV%cTqV2+rMmPKj%%q@B@pH*3S8#l03Rd2'5A5mMdh1GPLkbC-cCR%p
+
+UK2Q6ji"[",T*i8+Xh$PDG!`K)ccq8rSI9q%G&5AIe%'aPM6QE1cT1)2ijNFqY3T
+
+H%Q,QjrD(-PdVFB-fRh)r2JU3!2K4IAm+cfYC,SkL#(hrXdB*Yc0Zpb0[jYh&ZdB
+
+rNlGMfZ*2EHbQqp0V+C!!#6)[*QC%qP3Sq(3V+XD8jl,-ZABc+2Fe)VSZ4U`amYP
+
+k&bJmSicYDMTdY2Vk145lUPTdZPMa9Y'-ffQcXdMSck1,5[pIGj(DGeBdl[53!#8
+
+-9Gib2JKeTmh&QhkAD3fC-qI2RQa-MJdBlZ1I$e`lLBUBcNf4,ebARH5jBTc-pUi
+
+r8(hc`DlbAZ4f*0Jlc$h*KF6CZk(DRKR2FRK8Khi6k%[FjH@,9jYAGNXAa-,a0[-
+
+JiKimlRf-baa,&#a-X6`$H(BVF1RRe&1p9FQ++h1Ga!TF3a0D%h`TSp6`e&5EZ3H
+
+p-5QE0cCV!J,fEi)qH2'9iAUH%dG4Pl@l&LRb6`kHHHaHf)ffi`SNh%!KM[&mT&(
+
+qbAYVFh2j(fm[2Lk%bILQ&(i1N!"lQDbE51jCp1a@XiHhVADa`E5dUG&-UhFc@Xl
+
+c)F0Fa)E1EfmPefre5f-Bh+ELTG2X1lR6YM%Zcp'M6'U"P0jEcJhV3dY#GReVY*I
+
+LU5'G5"pQ(`DmG5P*DDC6Q[Sklcbd-%cAc'Pci)DeQYCVG[@VeXq8)`0*5'6G59B
+
+Ab*6@D*P0JiZm@'p$Yck#C*bi8V(2M6+c6pj@X(TNBJGB1IU9DPbT!hZT"$(CcE2
+
+2pj-#!425Q(2kq0,9-&8@3*Uk('LR38cJadHCbrG-%,PlR*'e8kl$PKi1e0mT0N#
+
+G&c&KI#i)fm10KZl8q,GPV6a9A,-ZF334`)GGBPcbh2N39iEYd3Iejmc6Q+Mi"mI
+
+3T9Gl%YSQ%"HRI6a+"!BF[AMT9a9@a,R4GM&Md-UMR8X5lLIYcq#q$qaKLK$Q+F0
+
+c)kPLVS9'STNm&3qL&G'`IjqG&Zk0+@X5EPd9--5kDNHMAdFE!PDc%`GMSiqRP5a
+
+kFlreRG1`)2YqhjdYJA'@-1I"2ZEkjBZCqY2Z6mbMQH#VXZF'i3M+k%aKhH[5e`S
+
+M6FKJiLXY3`#@6m1FKJ#,P@`SBT)He"K"6$U$)md*Zlr(N3GYKZTNI43q9Sh+DR!
+
+4Ak*""D0!rR0QVmE9ACN)D-Yp5G-H$BmDG0EB'a)Tm@UN"26-Mp!3J%iRZp,aZPZ
+
+'q,'`9BUYqV%2"M'"dFMC"p0-T0"p1dGBqUiGMMlM&`0d&mcBTl%`XrXCPf#1N!#
+
+L4,CLm&f#hkViHT&jCP-G%Md&XqPVj'[bpHCLYK2h))ljSaTRHkUk5lq(,cTT[#d
+
+jDNb[-Xe,0#c2Xc,%f[p,3ZC00Pb'i0P$9J4kS2@VY#[M`lk(aUmc2QG$FUFdQe1
+
+B61I6cb&-`'-B@QXkVX"NCX`l)b18$*YL)LJf!iUirCS49DG#+(C@F3Zh8`'GY3*
+
+V1N0,B)D5EJ[1Kjf4JVFl0jcEh"m$Np!1)lq9'PH@D')aSUm*Q45([@r0VE18-SZ
+
+()B(-2D`r#)&4eQhAHH9p2-e,3aMV-"J$)RCf%l$V-aILMSjbEk6cccGGp%Se#B(
+
+@$,lk*)CUrcXk5-P&L1-kr#"qQ%iHcKDb3cHYK4MNB1Y(hXZQ,[f[4"kV)U66rH+
+
+Th)3j+L!3m"Kpc#`r2JD3!'Qd9DR@j5iC0#YNj9$+JcS2SXFc6#!6h3YFUDCX80#
+
+,*Td%aR&ikCXhIb1I(FU4PYH6&30+G9Q1*DJQb$2q),,5N4CYNJ%I1$%jj)YU(D[
+
+l8r$&YmAE[G0D5[2LjjK'+ZT*b-)8qY-5,"[a0'l-('8e,`DXK*h-+)Vma*ABNEB
+
+S,cQNMSQ#P1h(Al#+I6LmrF%QY-f6X"*#1KGKLRERf@XlS"TccRKLLYflYfF-%jN
+
+&Xr5CJmm04-a&kD$iCACm0Q(IM,9%(pq!c2)'NpX0US4LVkSU9BT"NG[iV-@I%QU
+
+kfTc*Vd6c)i#Sd1md!96G'D`Jjd(Rc+ICEp$+*`Xe-hYHjB$8eA%d`DNmRJ38HBq
+
+C5ZI9k(*h+Kke&9VeBl4(DUhl4"Q+9"QQeB5[UT2@Nc"0Hh-&2)V84#%!3J%"!U+
+
+PUE9`&0K,faj%Y6BUl&@GS#&kTS#b'M4Sbm$ESlG(Ei(@SrhU2mP(AUkpPhI`U@0
+
+#T3X8-UK*dQ"&5K8UCfJfLdedTXqCqD%$afXr""""ZICFbP%fQdfMVAUTS3)bP43
+
+8#&0*"N06,832K!,a'Zjm8a!ZHUl"p)!ILadHpbG%iDXc'c0rQ0PX1)"HHH5@BCj
+
+ED,U,a&jLRKRdCP`E!)e0kMkYk2c4(L(NrRKJpF%fbq*V[#qQq8[E![mE@)DP2&9
+
+BiiIN$R,h2R[j3!G3#B34,3)1p@#6VVrR*m'*"Z'@VTp4`'eVf6)"13FKKbeMR[$
+
+!3cGj+RRcQeCTbq`klRAEi)-RVTi,GKc*m-+FKAJ92SpJX6&i)*dlFi4Z6Y4-8'3
+
+mLSZ%(PEM`Cf4NERa29JJ'pDDCcDD!F!m3"4&SEe[KS'2rH&"EmUC6l!ZPERbVj,
+
+(A#UCBp6R!J2AeI*MFGFHAH9$FLrJi2CEYN!+FKH#4AXjG56U-FpI*qd3,)B1@r&
+
+MbIQ0$"PMF)&LCkc,(K!`Dhjib-caVHM*,%RJ*Q1DB$2fT*8ckQH!4!3+Vc-@C)8
+
+('jbeGr8-qKRJ%3%#YY6&c*+$R[k#$M5%DV2!)J)52ILj8Q9-FfYQb5lL#GcZCk-
+
+cPiYbGi2`2Z6,Xhd*hHGf,if`bDDDaN%2A(@qc%25)HK$d-EHH,"Z9A0M`1DQ-"c
+
+#+2MBDCNfdeiMDm()B36Z$KS"`R0Kh8TqA&@ZI$LemL+Y![r68S0c,c$-'UL62"5
+
+TL9,mZhGH&"ATeS+INN,)*`QM&8da%8MK0LdQ-(1UBD&2b"la`j6rJ,'4b!DZ+##
+
+TJHQHjCN8$r5Gh-ei8%-%kh4SD0(4TD26dp1MT8YpNBm@hPlAIE6)Ib@M'p3rQZ)
+
+!eG5Tm1TiR%c,1G@c@miC`khY8+XRi"i*A(Je8CmF5KCbDe"`JNme'T@lVGP@akp
+
+,U9[,-H2LERVAkaJj0MNMAbM9U9T1T"eB+eZV8U91*8XfbM3`JjP1l6q(Km%JYAD
+
+I*`hEPhRIT(!Mb*EM66dfQ+YffJHZeBjBpIa6#d2",$FAd%6GTelXZPFd$T1AIlM
+
+mA@dEJ'P*bCbF1P$i81P$RbSRpqN!V-bXc[-cRpi[K)@6c#$d3#CdT4'SCeMp,1d
+
+TQC-c-6-DH9F4"DV0m3!R"`PTqUCi9fVXF'EfUV@cbb%lGe,N8l08`kq,$e69bi3
+
+JJ,rhP93BdEIK9UYfT@TlG1$JTNLBK%"32lU@L1M2$`MT"-RLj9ckZJ%rHVH(Aqb
+
+SJ`4'PahQ!ca)dah!`FdGF)BYM2c3JJ)GiH*CN!$MC%8&D#Y-BS#,"KKemAAl6$C
+
+Jj1%-ZBV%*RF3l'k99M%2!fK1U2cY#1falfc6UB)LJ&[UeM"GJ2'AR'-fR10ADHB
+
+HTqLbh9-R`d,X0EE$TIh(QI)bdZV0c[F(4B9&2DTl92D"3*N-YELZ9SiikdGR3iQ
+
+N-'VR#`S"UGcKXYlje$$9R4`Kf!$JrYi2U&GL!jf2"9NcL2`Q#"`C-T`+bT&SL3M
+
+31R6m(j02bq&85RXrdrmcC5596Tk06kADm'Q9JKUiQDB(+-dC&RQEQ9KE6XL(iSm
+
+,C3A!19X[$0h[m4QE+[rUY(&NbKBAP39f0rFhZbF3F2#p%$@c`ESrcU#X8bT-6[+
+
+a*2X`6+1C@k'I2VG#L8%*2YcM"6R6*2p3pE4[X"kMQ8FkMR@I-j'20a*Z*ErV)Q8
+
+b6qaK!ZDek-l*R6lI3Tp#Rd,I3Sccf+c+ZKhRS-)+d0[CV@ichfNqh!`Qk92kp[A
+
+Tr533$fU$KB+dj!*`X&5,Ki8dI1&r%B65bK+F&r@f+m0H@[cUq'[jGIbl2lpRb[c
+
+[Vc+NeB#B2qF)dRf+Sl4(8!e`Tl0b5cED,60MKl0EZDdl+KbSXT!!$F5a-c'Pa"!
+
++-J[id!R#`)%&)"`I3cbKYJkJ%ZCVIVaK[*0l`R6DR6H!Dq!D###DcA8!fac0LlJ
+
+ZRrBB$H6,GE'2@-K&aU19+Y[R#'PQeTH-C94#@`J%3[JS)KRb8Nml$(3-,SbU8H+
+
+U6arHBGEBM`4S"2,MkPrkNHe"X`IhjRfQG*EL@E-mLCSHjS60$Qk'ISCqKcI)cp"
+
+*9T1CIN+qf+b3!%cHIC%Sm`!fD'EAX0fS0VQEHKdmrkPhDcrUD(6ZlI-fXmf`$#R
+
+9GXQc*cF1J08HqP'U[,ZpAQeY#V1U,"34UR-PmJ95j1%rhj,KNP1VPTql4E*RA4Y
+
+QSmTjq$2RFfGRSRZB,6BfA1jXZK-Zp$2e-r+!*qacF62p`INd9Y'iP1G@YDeEBbV
+
+YE,VIHi9ZYQmEd-UZ6Zc##6'8Ehl53%pi*5*JN8jS9&2KHDBUP1Y8NmjZYP**,XN
+
+fFJZRpHHC!40NQm,mK8dSS"L-8YAQeD43LeD@)!K53Ec!Ua+'$f@0jQlM!AHG%1G
+
+mr2ZD&c[GEQA,U*T,H@ZRL6GeEZGhfGc-klRAFklUq"RIT62YlKCdIB8apPVMP'K
+
+(Y#D@eR,NG2KqkiQBJc-ZqeGk#!5llA-k&e*3YCNG5NFQrlI*Al[PbZ83b!2Z2RU
+
+I`Q[j6hI-i["p4PD+pc,ZH$Q3!'Bf2NQQcKHml@pAipHPk[1j6KZRahK-DUR2`pN
+
+3-UG9B%AB,dV6CrN568!dr3hJRM845V&9BR19Y[Yq4dkRe"Vrp5Vdkj!!2[#I8dD
+
+N("`9KAMb6El'VQE9cE2aqjZH(Q'h1h,$#10pR@)M@kl8FLq$fA,jR9U9T["R9@6
+
+a)X+B@&Y@mbc'YPF*j-+a#rZdqM82QIQb0Q8@)H*$i9)r%ef,Z`@c6%P2UM&V448
+
+X14&ickK`9*d!fhI%)8m+&rYFq!feq`@Qmlr#&l-I9*rQQdR(M)SQi*Y6V1bJ6J!
+
+Y@J$(VSc18'JRl"[F&)fSZ&JZA0jK48$*9P1XkTKdbfT&c5EG$(-3cYjKh[AV3mM
+
+VcSGcejX'jkkCK96bZ`*XMKr1LR`ihi+fESFmQFhi0QBP*bj[&8QTc+Q'Z'p[Q`F
+
+J)'dKVF4DrkM'k4f9#C&j,T(r!m4Ub8K5LPQH*)*DS)$-45"EVBDfZ+M#S&E$NDq
+
+4"P5ReU*ipK6a!QCemqkE(jDqGAq&AMVrX80aA1,*XqDT,A,XeIAXDYH!&9b[V&B
+
+fEAR4m9eZ$T`iGEDaM+B0acLdVd0kPYm'KQZ4B(XjX%ecYaVSF$GVh8!NA3X6ieb
+
+FKG0JX6Um0pmFreriUrP8+PHT'VRqRV8ikr9X$DD[k0I*Ve+qRAhC#A*J8IRZ1rT
+
+%@r-NJUk`GlV9FfPQ`J%UkfBKd#-bq,Bp69JXDeL#`J'cE'EC21L[V4X))DFPA-#
+
+!,X)IqPGBT`dJP&r)N!$3CU(EAlPI#$V@VJkVS3'JfEP8+q4FDeG8!PM1XCbJBC3
+
+f-619`+K!9jG8L&KcbRH"("qYFL2Z%#%TXDYf[PekB6RfZfc9+"aS%KLfIEeUYQV
+
+CpZceV2@3!!PRr,4UKm#bedKLeqGB28erq-!p2JY#8-0@d(2P35V)Kcj#GKQC25i
+
+P$&1Y[)h$1XM2A,90pR3UjaIB&LV@NUe1prN342d3*Pdh*NG@G6T9phPcUHlbqkl
+
+FJ9e2"9(mf&TLE$5apcl6hXY+T@bSd85945R&4,NG-i#YR8r*HVAVYrDM5HSldc6
+
+rp`AX0lA[Dl!Cr(rkKmVIAXd$Y'mIFejGJiSrYB@L#f&U%YlR!KmZpjGrpr1TcDN
+
+&4A&#I)fZ&lVh[bAYZpYX"Vrj)jX$V*A1Tkk-P!q1K[1P%iq@'Cbm4BV$"qBCJjS
+
+C#N'p`8CeAQCSf2BcJ(e)!d1lH%cC0Q,BiIYh1HZJ`m(did"k02`KmCEeQ8pI0c"
+
+KmmcS0lqA`G`r2Fd[QB1@JYH$84(BC8e-icUE-[4kNSJh(HM1CepG6)eN$l,e(8`
+
+kN@T,IS4d),+)EEK80NbHX-9DpA"p6[A,hRkQXQkS+j+iSQ-KVFe*G5aU@%!LTk#
+
+mDBeqXE`E'TA%6MNLe2RL+K&iHa0A0bY5CH[hS,bV(P%,aZ8b'c`md!Nf+Y3b+-0
+
+pQYb"qDX"A'`9ChHB*T`XQK95$e&rfZ,&2S5kN!$U3kRSkQIUD'VhZGGQr&RHBfR
+
+%DHe1$q6Mr8RI8hhdI"emR!10%38Q`cGcK9*00rq[I`SIRU5r(@h'!3pJ@KG2&rH
+
+I"RfJ#3FQ4-&8!J#')#(CFCqG&VdqHh%,&p*(-$8+SEiFSJ%4jdka*6k02BB38i+
+
+YZ40,#T5Ym'TFH#*i)-3iTU)r4Lf6Q#+3!)D%"KGCT1KCENh'+R-qQKh$[CD%02C
+
+Z20r*jac!Eje#DR1)JV5P8X'!HL$a%BeZjpXIdmH,(LbM,[hRTZ$k6,DKiTC9IJj
+
+G5R`F[hREe6bpb&LEFk$0BI8D1pPl6,Sm@MHUr6i0(0%Ie5e@pjZ[@LRI,rkcSYc
+
+l-fQYBST3Y4ILf%M(6JrU+F,k*q6ede4Rc"d1!+G#L2`0YRGrFiRJcG(GqMa14f'
+
+Dmdh`jA4Tk0c4hNY,5lV5[D9,TEh*T6+8`CiUZ8f'fNaL2XdrfMIPj`HYVembl2%
+
+Jeaj+&2KB2#0#iSE'&U+XE&E0V6)arQlc-%%r!fG3d0%3k-mfQ!3bYqc90P%9)Y(
+
+h@'pXk1cSUL`"b'L*A4+aa9&'RqIKdD[IiD5!`Da4DEdJ$F2cFE"NAG(4lqA4Z#-
+
+&bMV8Lf%"K@PJaa)(IJ$&,52N3V2IY*)'!)-U'%"TJ5I&&fqP#9[NrdD!L"'`!Gm
+
+R)T3`lk$8JdCG%"9#DJ%B$0Ci%HTILc05CTDZNY1)p'hdRdLT4AI!ZkQKSrl0'l&
+
+rXaZ5S5k&#I4@!-'R'@P#l[m[4Tr$mmj!r$SG3ZZLNqp9r-D-1E$,lbECSf2Eck-
+
+rmNmbJ`$2R+DTS*IM6,dc6rBSkP(+!*qaMHj&-%[Gqf9*$$mdA(##kHjF8f#CVeq
+
+IARh6jPHS[j!!F`SB!EQiaq8TV2S#&%#SRr'N3pm2K1FjYQ&!)iJ"$AiXVq(JC`H
+
+"L12J9CEmJ@HhTQN2"iUD2$8ZaQaQMXP@jH'+D!6R4GH,REdc,Bjfj`1Yl`6TS[G
+
+323C-Z4-pelPR%d-6Nqjd63m339GD5[5)+P)j(AR"ZLfjjd(UpQ2(&I(PX,0'`ZL
+
+FY$PRVHHJX1ajZqQq-H-b-JY+9G!%0E+G8eb,ke$RNVEBjIR0kJD26Tl,hm*[QQ,
+
+f1jl6fr&J--5iP3%`CekEM#$3J%,mB'TKj0KrD*(E836U'(9A8Cam'qQm5YT9`[D
+
+p#25FCm-!RVKQaI5T3EkGlrdd3KSjp,5$IVMASR,USRIUiqG[J1H-b(Fc5a+M)Hh
+
+)X0!H"*rIBrq[)JjDHXa,#d4Ufj&h@Lp$9338mIdFM*jG5,lamEL8r[I88k$EReS
+
+G[@fiFh&NhH[NIDr5VBU4")UrJd&8lLl+,,SHIUlX9cm(IC[MDG#mHVmG(6[H&69
+
+Ek&!2FG850Lb+AUC"ZH$"B@Hk05Qd)Li!!!!!J&CSCjK@HBUS99GRQ(QDLTK@@@H
+
+BChQVU(L*QXU)UiPhCQPAQ@CjQVPRH@DUQEbVUBQDQlUVc-lXLCZmkiLCChCiHRQ
+
+lH*qZURKkLVfV[l#UQSbDciQ2c-c-hIhId1r0QDUXQlZUX-r,UUfphEhpd+QV[Dc
+
+HUVl-ZTZZUpk*QhPQ%!!"-c4QGiL*Umd1!!!!!!j!0&9@CQCfGhGfGhH(GhGhGhG
+
+iKiGhGhL)H)GhH)GiL)L(GiL)H)KiL*L)L)L)L)L)L)L)Q)L)L)L*L)L)LBL)KiT
+
+XT8SUQcfqejhU91ZGa1j&kPhlAG(&fZ!fIlK!0Pap[')qjC(UhXU0'!f5J0i2E`E
+
+CmjlG6Ec0rRLEJ%U9dQHZ-"-%%MFcGbiZihZIH4"6iTq"MDek@9bdA02GA$jVPfG
+
+A4C6p2+'(MF034SNk&dk-"5bJiMhS*4Z'M24R6UiU(cY8[cI+XZR!d*D1PcDTm'8
+
+0,AVDGE6V)"U"CZl4X,C0ZV$XE*f)8HjT53RFk5jl80'[`P1mFRHPh+D"r@dY(YC
+
+XRV5E%PUD@eQC2"'Dk[eCM+dJ'$jHK2Eh,RY&E#ad0V`mDm+f4Zm$&d0kh[H(Le0
+
+hcph`mG[U@qTEkR4lE8GAQSdXH`fBjkH$djr6RpDIdpHVCUdH-XJCmM#YN!!r'a6
+
+66R2M'k6%kZ3d-jAk%ARmK(kbq0LIpK'4Bb6akjQ1kF6Qkf0CMVlP3fcJB3$@l[3
+
+h,KlkNjG6Y@-''Fq+jrE`G1ITcqf!5KJS%Z&9phmCeE`IT@E2JmQaN@(DHr$PMjI
+
+F9Ud[Dba%,RaA5J(NS4m0j4JjZM9Qimh-j9$i(D5mYeif4,ZK"Fr$ElZhAp$fVIA
+
+Z'Cld+YZ@$dfk6Ad[`p"kN!!VRNeH&Ck'maRcjRARXdNjlNqG@jqJ(H!UZpMZE%P
+
+U6$*YFDM*jmQTh1S!Bl%Fr*RDkULKNTim0(*TCQcaGc2qRAp1hpL(T3p)ZUP5EX)
+
+d@'kKm$((VjR,R[ID)'PLSla*MMLhSVf"'*baKbbC+![*9Hj@q6"SD%Ud-"FBeVB
+
+YY2&6J`J'lHPlqPhP,1-lQR!@-"6j#hf3!*IH`E`f"!3I@fp&p3#Qb!4R*D05blM
+
+4kKbq[mHY&h5[*PI220mU'aX@)E'CBiZhhQ,1fp6Ei@h$YMUp[B"61kiC#-[&HC2
+
+I9dA*28,MTh@*Xl'c6r,QHVaI9cr9VqVFcUHGNjf6rUi9aM2N0[AD'["(BjPLrBM
+
+f&3TCL@mkLhFV&J$FN!!AhILE[amF4J,aG52YT"ZLiRm%-q%E!S#1,2Rch!%!1RT
+
+XGm!Q!YhKr9YkL5bZbS[5L8hj,*a3lH`(2c)2IimqA2X@dc5%fSNc[8)$Y(%"[Fc
+
+'1"e[LNZ,(&p4K'TqCYFADcm@IY@i"m42$Y8c0KH2L)k,(JLYmZhH@-UqaK9MLkk
+
+A-!"1CF[p12K[f1+UV'ZQC3B!3US!U&i()KhTZaBYFX[)lU49GiCjj)JLakm##L2
+
+%UR29"KdSZNj6P(dP("4Mr-FUdR-r0ISN@@"LqFCbD+eJfSrA%AGB4jk9jNGE4I1
+
+S)+%AD4lq[!,R@ilI-Yhd"%mHY*q[86IPb#)Q6J[6TI6c1$rMpb!`NS0QPZ`r1Nf
+
+f`ji#jK5dR4CY#[krZ`lR2rFDDk&m[@-'1SmZ#mPNG6Y58&G#JGb%Y-VJ@M3TjJE
+
+eh'mV2(m"2iKjHjHIp-m-D5+KVqh&3MpZ1Rc+Gm!b"*j)pCQ$XD,A12,-6+4Mp%-
+
+KaRJ&B(",PQ0-J)6hEFB"c09%q)iqC(I!-"4T(+a$!H*ji5m[5[*1BXaG,+QFAP%
+
+JV'Ii'N-3J8@3!1-Xk#0j#m-I,"YaV&H$qI4*8YB"N!#kRLRR4Gf0bQA,A&-13ki
+
+8PQA3-0#m5@RpAATbA1*pb+jbqRI!8!cl`VFVSBlq*[f%LA448iZ#VfAdd6Dd2fh
+
+8m8G9D9Qc3Tkq6T`kF1Z!3[pTT,2#5*jN8S$L$Lfqjhj0ZEEj@hiQr5'pd@hh@0Z
+
+6kA$G%b[RFE+NPQRlhFm3V"`qa&$,S8'chB)ZDRVT$Q`raM4l40+GqjIeL6a10GL
+
+jd9VL@X`hEUFTSqI0m1R`SHpA!eDTm`'4p-QfPTE%YLDcJEBaJ`k91UR9GqPT34F
+
+(m,D`L9i)(I#CE)Jm,m)rJ+Af(lFpY!)GB'459AQ'M`mI%hr*-ArJrLKRr[ECCTp
+
+Mp(Q`HMfQ435Y1I5HJ6S+&+e4lkR($5h)4ERR[Uh0QPS&(AJBV'i!MFi10+E[Q[Y
+
+(A`XII'@CN!"kqpp&PQFc`J$HBDTDHAb(qPq'*Y!rQq'8P!IL[R2ID5NXZC@lA%a
+
+K6FhVIX+Y)PlQf)FJrZ`EPQPb[FU81"LKfBXA209S@TA9DX89%&h`-A+eZleXR@N
+
+e[1qIP2YqTB1"SHV@,(VFQMP8XJTAe6rKVZH+kYXaFN[4+%9RfIK'+4N*LQ4IUaj
+
+XHE(b%a8$H@NJNSq,l-fY-%pNke6@mlHMNNqT8eM%849hMikP(K8Crc9YkY[F,HU
+
+Ehl2jUQp8Sm6&8E+QlHY6a@NjT%pVZI&eqIeicQ(U'1UTRYR3a4dU1j2Gd"RR5fD
+
+H,cRkeePfFcITlPSmUDhmrDmF`rprcCBa[1L)h%"Z4j2!TkF2*+Kq3FpND(HU9CU
+
+UbP`3E-Hr`+@R2bDdG,JikG,cCcea-3Q4@I+*2',eXf0`5'h"6cF&1PBhiLqLVe6
+
+bA35%i5-Q9DNSVMB)Rk(B4PRhT4eT38prc8rr#hmlN[M%aJZq&Md,%Af-MBbE%@(
+
+RSieFhjX3"F@%8H#!04e2f(R[P2*bIe##e,m+Y(@TGF9KZmpp-"BJld3C"Bm$(bK
+
+ZMfPc*!0j`""ZqbRd#-Y)0`C5G1TdkA6iQ2c1R@kGETTd!-VphZ13!,bc[F8K0pb
+
+C[1eT25bZdIU[fh'DSpLVb5Lr4$3F6'TS(*JH&[pmFGI"hjjqqrCUGA)U91VjRQ9
+
+TmhdDf4ACRj!!FRIN2YQcMj*LHC'a6Y4fK-)q#ULYR!3BC)qdMYBq83%U1(*),2R
+
+455b@*&FFf+!CSe53!2!-L+1+6DQf[,1*fZkNU%"T538YQaXmR5&hU9-5m9-+Sf*
+
+N1`56"RaCmA`%aNm8-93++D5UcPTSTQIYCqem$&EfSGU(DK1I+5#@L[ZZ0qh"ij6
+
+#0)EcaKrCdPbATq![p[f5rf1F-F',iA$KMEKhBl(DD(3@,@QX"cUA'4baYPDJ8i2
+
+kA"-P"a+'Jr65d*ikj#'V,(SaQBqJ%cTI#CqQ*6C@,idhkBdp*!k*EADqjQMLTZA
+
+BMmf-rBcjrJHaA-3C1#fRp'T$*@'KDV[*`JjmqIYIS8+r3Y`,h@dUQj)0$V#[PjX
+
+D8-T[cD1p4hU1pXIQQhP#&'eNd9CI64!5hTVa#8a5P(VZXB%KPh-3%&%&%))N@k1
+
+T,Yb`D1+B6H!*LY+Qi9HmU[cHrqlF(kR[-HCbDqVEkP12*lC-'&`J)XAIilNG12h
+
+NIEire`%8ic`pS0V586pXfY(V9pkhk92'BL5JU('(&E+YYd[&lAXjPL[0EhZ&mqP
+
+Zm(XMTYEAc30$4EK3#+#2F(YT"@EFTjI[8%#H8XCef6MXVKBUN!"@a8YUPY8K8,3
+
+8hmp5ZAF[H$aHPZm,Um6mpEUcp@PZC'AAr9-aK""BVMCZZHd($aKKYQjBbGK%dEY
+
+L99fjcVmc$e1V(%C`YUSGLNj2-#JJj+U1h-Dm`1[F)D[ER-RFdkH[6dkEfXK2LVp
+
+L,X9qaTikABiABUGM0acpLPf+ABKl"%@""EhETk&AYl*kY2kHCZjaq0m,HKhDCPL
+
+HB[,SNCf#,B[3Pra+Hrm-J[d4DGL+LPE$)P,m#'+a(DMXkqR(FLZe1GQ@)[Xq9Cl
+
+4GDQLAG9+,mj-!kZ$US#+P,-TFmj[fq[D%",'Sm6fBpEAeSpD2@prVHGV6I*TDe0
+
+Y@PDUZ-N'C$T#@A'pq"%J+NQFlb%A5,1'j(l95A-*9IP0LR*Hqa,HrP*Y1)3k'(d
+
+HcJcAj@*#8k5'$0VRjmm'!iQd-e@TQ2j(@0YF!b!U2Qae[I`HD1aeqfCGI%Yfj5A
+
+!QhDQlQEXFIPadQkDXH"*,L5AYV"a8[UXZKfp$cD$X8lY-$EeCNM'58S)-NcEjqf
+
+[1F$jj,!+6S"Rdh,6Ji)RP"P+-*R8Yl[qP!P"P3ql2#LSB&QB+)AR(TJ,ldhf5qp
+
+ej!$8F[Lp["jX&!-kf+9Xkr''J4J,'!pq5,i05ZIphFi$EqaRr*K*SM$ZCj2-N[5
+
+H)9TCk0qTqV6rMA5qPTEY1(cZ2`ID6GKi2Y8Ydc'iUAhZ0(!kK`F+b)SU`rT*2EA
+
+S(3#E9K'5$9L,h51E(Si$@L[DpjU`eBCL,,MplSqeRl+8XY(VCrUCr9cpc5U9DP'
+
+D$l,XJFr6B,G$[-AF3jm2KimQ(*KNdj[Qq%k[+SIe"i6h%AHHcU(1"NaC1V*e1k9
+
+2E$20A(Q@6PILm[ZZ&bi!haiI#%+&M4d@Pa`EHP[bl1N)T'j4UI59T+b!4[VeIF#
+
+BbJ*["V6bi0#Hl2G`G5IU8)fr9kA4a'Cj"d+*Q0aG!XL@l&[Ek)$PCB)VV&2Zclf
+
+$kXqm!E%CdC6P2(pfB$3k1*2k2dGLjDZ@ZM@ZCPc-e+f#eEk6H2p,SpPFYh%J'`Y
+
+PabQ5+la"S3G'#jMe+(3S@rl,B"VRYfk#!Lh4J4d6N!"+Gk0,8Sq*3k1qZFVLYdE
+
+G'h5k%0[RUASC!l9dc*!!a9d!ZhVQcU4l@dGjSrcGc0AQZIddjX0%hF2FU55565@
+
+1Y!hrk63C`9iEF+*8B3$F&lrpdK!BF+B&881PK0c*-YkTaTS`1UXR4"M5K1YVZFI
+
++UDe35aRNfq05NFKL+MZiGf(HLqV&lAFl[+hGEGNhC0f6rCh2hT2S1CRl"P`4lm[
+
+,`FZYHVI4cC1D8GS,UfHZdi'-TSlF@jcIAmcT9[V9ZY@k[0h-ekXLIiBa##Te,L`
+
+69TUb!5EQfUh9FAF&I"2,Y9D%Xr0RmbHY2@!*cCkffU&Na#9[ihEXP'$Jlp5(c$R
+
+QA`!i*if*L[mhd[eFGBMR9YVQJ%Jp+JSm("'`RHE`HE"jQ)*H[@LjYHXmmYb)UA$
+
+'2B64rdH+IH0Y03ID)#cZ18aBa*IB`dVN0cLh-r$EZ#@MCUKNc"eTi3R0#$am94)
+
+!DeJ-TD"-8%0+KL8QTNb@03U+3lP1PNm(K0q5JX4#b3SAh'#Hq1r"LjK$VTaBBUI
+
+i1hLpr&hN4$lZdb(V#VF*0`2S#D-12$[FAHlMHcm4$5EBiD)M$crD4iRVVakmc%B
+
+Jb4mdGR+Z6$3EKcAL&amb+qhJ(FMp(+DR62ce6b`'E!Bi8ej)e9SG(8SP`+dYMD@
+
+1Y(Ep*Z2Kf&LMC*)@@3"8dD+F%["q`N89"'r)Q+E3CQ`bl&LYZCX0B@+-"DI-fYK
+
+cBC-J(5dVGXjM9(b1Z%!N-$[lmq###"-NG)e+!4)fUh+&bA2`m8lmm1M$4iY,2KZ
+
+4&+G2ACHahI6f[jBPN!#)(a,ldBmL4EqZ'8(mh&Q%RTMFEQiY3)%a4!J9D'`dEP(
+
+2SmA$$4`d3,5FA*c`*#['6#cBQ'p$HKjLIaN[Xc1iFUj&YC65VD&cBciH+0E4UU!
+
+J*i@CTX'`eGbDjJ&Xj,QaFTSYcFYp-$$TG%9L5hQlq#h$ELqC,iqaEPkI[HRjY1V
+
+6SUEY-S@@MU@[2QNNUdTpc"GNPjGfmQ"3LM+ES+1l(EBDA$'c4rem,ja)SErhJq4
+
+)pQPP+$KqeS&"1$l&#ABD'S$C&"iBIfH*4P4UXfm5mNeIY(q8M6m,KldF!pk!KA"
+
+16I`c+k"(TI'l+%+9)#mbV8ERjM18r-0UNa3XLL5Q!1fUYUVDcE!C4i9h28lSPF6
+
+YiSF1KIShk38h*[d'"9THVJ9Ka)k%d4Q0KNlI(a4r*RTIfQAmjNXc)EMErQC4#A2
+
+qX!6&c@LTdNFTCTN9!)PV@ZEYj[C9NaDcFIL+PjcEGDf##jcEQEMcEIIU$+ebYdm
+
+h*m4@pk%"@#14G$0aU#"GDYY2#!dB$QZXk0QDc0K!0"0!PlPU@U5V+mfY@Q"XJbf
+
+qrT-iY!*210j9G6pbIG-Q2ZGk6HNa-"T0kB2"1T[Arr[r)ChGVBXf*MbXD9#IVEA
+
+a@1lBVE,MqlYEGlr'PB3"A5VG,a'Z8fi2Zjp2+V5D2FbMpI5-i1A2PR@Tp5-"4"c
+
+c3Sql#EjZ*5KN$q)2Y'a0B$qp,4S6DmfRSkD!DDK03QScV4Id4"9+e0YD2NP0,@d
+
+G4+E#!5E8m&CC@M#1!C94Z)r-pG33L42J[$[49Smh&hjNjKhSkarPDh8cHfV4H)X
+
+Qk80PGN@e[*Z#4-dRX(9V&Rml6DG'j2Y$kE`Iar)Fb+AFqpNpS((ANkmRA!0kNRU
+
+5GM2rqfER*$Al3S2[(-N@c,mrRE8ZecIU5J''JUXPBU@MLj5XLpJGM-#TT#JHJqH
+
+1ZcfjKKZ2)M*2cPFNa5L'Gd38@f5M3()"!#51ZVhJJ,K'PB&X0ZYYDG$Y)1dTGZV
+
+USEQc)d&4e0$Z8YeA86aeFT!!"&fLS8U!dl0Y8V,FPEZfM,cHjF)!RNqD@q661#J
+
+bYq36lm"aJ%)#P,TEp+YTEpDA5adUY+UDL[`'VV2$!D@r3T8EI#Vk%4M2!BHGDKU
+
+SSCi-Y3J4Ue`qbA@9LNIkr3@9Hm)#MkCHX)mSh1([[`J(U(Jk#6J@R$U"PK8[8!*
+
+H$Uf`B$2L3$)q1ibKBk5Gb&UViREf+#""r*!!"!l,Q)KD49+r,lZ,l61ce(k-!FE
+
+&9JX`80qJ3!Q!cd2`E-*EIP9@4R!$abLm*j)Xj9lPVNZk%e!fRd'cFi2``j2Dimb
+
+'[Z@ajZ2Gkl4*RK2U5ZlbrR[0ZUL,'[KI%38Mi*Zm5dV",[fXiS*[irM,J2%!6jE
+
+Ij"kRirjl5LpMk)(BlGL+F9LPU4jLE[,k8('0%+,E`Q'+J)-VLNZ!3i3F2fT*I+F
+
+YT`[Tk(Jd*3SZFr#!KLM`c(Dr#4iUdFeABe++dj0&Ca""mZBEK%DZ#'FN"")6Dlq
+
+S!0*!4#3LZBF+h6Q52hk%F#`$&kV-@NF-QI[jipdVb`f-RCpld[1k6C'aRBbPiC9
+
+Z@EP!GMah+F*eX"!C,TM)G*DKbHU&)!e-`ld!M)HlAm-AlNZc2X`r3iRjY$DZ[1M
+
+elfpNU2%PiX+RBqjLqBEPQ5dN&RpY)mm$VK`EY-lpHqkRMlfBBMkpAlZX%TN$9E"
+
+eLpefZqf[(Rc+p4qaTBU1MDY@U9V#8+3#E''MCSf3!!QR4Y+Sp%E)4*Kl05#SJ%l
+
+06FUEP6fkarmQa34YKMUdI*r-G8Ip2$rT3$*G&J'DS-QHP&SVm#N6+1[(b+YHcAp
+
+,PQ9Da!@De8amI3ad`$!+jTkU`8c,(V'Q%JJm$&-DVP'$cMh&QX@YLChP[AJE3b0
+
+[$EKa#Ue[SB#jfRKA-6c,$`J%PL3k-%Z#@QBaP8mC6feaCCIkYr-CGQ25bBp,H03
+
+#512$pk112Z)kL9MPl4#9f5`qT5N0E@6$pj05R5rI!BMY$lV`3FBZYk965hNm&X2
+
+rR(PdcZ!+0DN"3X810TIFURf&hq6Qh-hTjY20pjRpLYmbaAHCDq(eSCT!rQ(Vd[8
+
+T6DAeUA*i2p@#X2''H039Y'Y0TGDHY5ViIrIhYAhYA,j1ARe[a6MFj8`0(MGDAV5
+
+qTmRe"pYkRFpD6khFrl*1a"kQ4+1$QNe"`1G[5pA5hTHT,e0,U5r[bp@AGdM1,DM
+
+aT5b5e0,UJ'Mj(8Vp5[qpArGYl[$hB8$irAU8TYLbYeC$,K&r$9"kA&2c(#breLS
+
+*VfE'L"L'aK8$CpRLfBE1&Em)MdcFI(AX9lHKZChY9qV@VpppZ[&,rLUr0lY9[qJ
+
+15r'amk@lX@rYA0M8Y@pMjPUlDX@V(T@&R5DjT(@jEYM9ah-id-`#AmkjR@FkcR@
+
+9C2p#A`m9fARAEZjFrCe+2aIGqCXhGq`13!`kBTP,SE0cIeS[+PZrBYl2KbK2EHV
+
+E1#+@aBm*B$24,i69hr,0Nqf%9Ejrc1[UeV8dp8%6S613!&q[QBME101J3)D,a5H
+
+HY2dhhjB2+5!Ck9EcCCH2M1rTF(a'l(%1$AbS1kpQYUr!eCY@Vp5UBhPD1Zc$"G1
+
+eDeL8,[Fir"PPQ!F!a3Fc6N*UA`-8SN",0h@+@@V,9dC[6VFkZhP%,XpdFXr(aKH
+
+H&@hkZj0G&GRT!3`'CbGPC#Shd!L3!,!)VFUdZlDRi[*fT4)EDa,[9HVhHiE5r@l
+
+T-BqN2JTmV&S@,TVkaIP&Kjc5rX*X"arPBJ1e(JrHiYDC0j-!LGS#Jb*EKG6JAE#
+
+&KrG,!K`*H[9VGhh3#%i5M-#,Zq@R[p[5cYqj5Tlp0B$UZcP5Db5-(hAV@TTTZ4e
+
+NNlmHTRlNaB)QXpfe*k$LHc@[chq2ri9VpEbH2pfYGVA3#DYE9VVfMm6fDJ$*pAM
+
+LAeCJ-!K4"eQT[GUFj-RZFSi+j2FNSJ%p+6h+P'TNjMHm@bF6-2Hie`(-Di%$!E(
+
+'Z85C#XH2Nd0@J3G66e+IGirN#I),B,XR%qp,&m['f+GQrG*H0[0kI)b*H"+Ur)G
+
+q'DTDQj(f5qJKim)Ge*RXa0r83GUG#(GB[,!*-0L8PeK`dPiKbe-qHm))$`N"%!D
+
+E@&"B%8IQDiifdNN*(JmAffZLXQZ3!-S9'k#UrRYmJ%63TJ-h!HSkD@P(QAB,mT,
+
+)3#*%i6hX3#*$HAe%b"AM34kfHN"m3MYXb+U-D!4B'ac)5LVX%`(jK@RFrD1qief
+
+RGmh"aceDeAiAZe!b'4l[[-M,b2eIGcFLY3HGNh!a@Dh+QU96dq&PqHbbkGJATND
+
+3!#Ijk,-FSlNk'qml`j!!D0aGGZm@XE!fA*fXNAhr-eM1mhXZ5Y4l@M&pVRDMD!G
+
++KKqc5SD4h,kA6T8`#G-rr[6dZP5b'bZ"i43`rF6PF`rFJ""+#LAT5p,5p&Z`@P4
+
+dYUP*Nb4bBI[`EbdTYVZ5(V4GQSd0Iqc6MVrALdkrep2,erlG2,!CCVr@dmXl@3I
+
+dk&1K6Tp(mP0(!,!EmP1R6S4j&"IB2TBIX`d1,6QTkGbRdp@RhA6[h+HGPd+Z4i+
+
+Mp-h$$pZ$53c#'DT8mZQ3!0(9T8B@kK6CiPkALqf+@p6Kqh8qP`Il+A8i2pKPDHf
+
+TIj&(5abMclNI9B$2!CBhA3-KredBVII@pEa1TU4A*,FR3hVJ6Jq,6N(0E`hGBTh
+
++k*U2Pa,2!IXcA1)b'E@Cm8eQENYc44h)5p1G#Uh*%hYp#hiH28ZDPc8kIKm28SH
+
+IlZT3SNBqLX`mAY0Mb@h-E(9fjHk1YDeDA8S48A-Q#GRfR4jILrK#CdVRQA28m@X
+
+E$mp#I)ffl3L&K9S8I3r1C+GUj2FZ'ar2FmHMCT'BXSJ2$VJBZK5ZEpZ!-,3e2FY
+
+lR3ZfjB,[!qHd,$5pDPeSHYNpENk+cG)H(pZ'f!5Zh%M41,)ZRG2%!43-!l%(pSU
+
+Ei*qK5k,%lLe*Y5E`mAR`DN&&6`,H@d-5L&"')M-L@83rkG(R8Pk""(P"$SeVRBe
+
+20"$@ZBNJa+d(82YYGqGiP!)!c'cFR3R-6+m4,ZVLDZR3dpHFf4NJr,,m5aaN)eV
+
+P3RG6XH)K1bKq0`TB8H%q'l,JY$HSCj)6BPSNFKFPF[6qMl9ZMFQYp8hfkAKiqKY
+
+fja60j[Cm(&3VHI0iP@hXfp`8lh1KZ@d6dZm&YTXp6-A4Le$+S&'B,ClIG!K+&1e
+
+HDUV`2k1KdlI6Yp2`rb)"VRfI2qYiR8'@ISZjbD'+M$d)VKrZd!Pb2SilP!0TN89
+
+2bm3alJAba"qKelPBNaTR+TIHiV'ei[Z@+2KIQ3#)"*j%"!'&D)SkQmRhE&Qcr$D
+
+ZI)rXXfINrd@GAj2aE25GJ[*bQ+jDaDk1BS-ZMfpEcF`i8Y[J,#+,lfVT93#65r!
+
+V()a4+(DBeEbL#RbSRc9XBJ$%ef&0KBpRi)QR"MBrZHer$$06Nf1V$$fZ1(FplEk
+
+!qJJFYR30GdKEB0i""VXjH2-Ljb++Xc5b,%@)Si`RIk[B&PRXcjUSF998K6p[fE-
+
+(HiXJE+aRq4LhAq-pJjqRNIZ3!-(2`,Z1IeTN4[d3@#(-HmH64f1c$"fZ2hYhSAC
+
+HT!pjkMFN$-EH#h&S%@%m1Zha2hZ"2N1$cm8e)fRiHkajmR+LmX1-mI6d0mZ2ckI
+
+p$&-A-L!62Qj8hPc8FmDP-)+AGBj4Nc,!MefEh+ph3*1%'j`9I%eB+ZPar[9C1M8
+
+irhkXG@2MrHcZhj2EH813!-+4$285%QNEd0UNF[pL@$1hp#%5!@2,$Z3lRplrXHD
+
+MjUNpRP,eMm$R0BBPfH2l8Zcb1bm"%Th$T@#6'H838DUD6fpQeYMH!3I(GB3&#!6
+
+j5)pl3r4PilYK-qMGVI862mUIGTk(l+bJb!M,AY9mH#J6SF@F*J',TAVQNB[91B(
+
+NUkG32N*T!)3'B6jEmYAij'F2Xr!F+YIHViMpFjGFMLCdFlVrbAkd[eUqeRIR`G+
+
+[eUrU9rV)"S[9cUXp@LaJ+&Am&HI"Yje+[p@[2ARVcjdmAeFkai-VBIFZM+NMSd#
+
+*Nd1XM4QU9+N05TQr+m*`ra9leIHep8(105"&JN1"3APHPMUrd9l1$6VkHGrEA!0
+
+Arijer2Z%%R6R5dPN'EBf4C!!i-0)N!$-R*aj)R[NhH5jj8YDiDY%[Haa0qS8Yq*
+
+[S$%i`hd3HfBi@1J9R"3!%eDP`Ak),'G&@5YPaTBjM"QTphPf2P)AjFQ[PbbJ%1e
+
+['0E@DE"R6Z(a5f12[c3eBZ3!T!B6q6dh9A[$&CPXf-*b1Y,kq5d[lBeB2US6p3Y
+
+X$0#pL[Eb!4!*J2pC"[,mG%)C,P#p[hMYR[ild&ikiTpSFh1G)PiK&-"Nje!Gf,f
+
+,AY#0V8'`hK,2[eb'"R%,QP2lc(8*81R(N4j%H@0DPGBVTX*crNN*,AcCr6Y*"!q
+
+SK4!$b8AD0JL,QVdmF(fSBH*qIRI0ifqeQT!!LAjD[4`I&[B%1lY)"2N(e`eI9C2
+
+e*IY)ma`2E5L+[mJC2$c[TaUhdX%F,EirC)h'+ACUpRi)c)iieNX1N[)(i!0qR,k
+
+I)aCdfISek2HHjESm2&#VblCJ"$@KV3mM#!E$QcGh8q"$@U6cF*I103rQ`9Y[NEP
+
+E[Xf%[1D`"Y$1Sf8ekFLMVMDJKJlf[@XEeLjJJb#cm1`)Zp9cIJLTEe+m@L"lS6Q
+
+0UPLTE9,DTE9GMYj&5"2iR*aUNIEaqFHRB"S+Q(pk$pH"Xmf!P1H[5NidP+65ke,
+
+2,&%&6l4(LTm$XUCejc%Z"%'A5IJIAPDSZjrT2J2m(k9,h[Dqe$,Q6FJN0*6!K%f
+
+Ai)%@6Mhr)TApr9T4lmF%E,jfipYZr!HIam6(GLr62EVirhbCYeC2Te2hS[VaH!f
+
+PA%Mk'[im9r(UakV2N!!p2-L4THp)a!G[i'rR`Cf+j-6(X4Pe*0+S3UMS&Y#2(im
+
+!2D!23'*H$J%HN!!!bVIS9ZmhmiG9dpp6JYJkYrfmSTSITcI(+L@YjFRR5IkFVZb
+
+R!CRV$mRrhFb@pGZpIiq11A+hmXXiQ+DEB,EBBrSh2H8Zma9pc1m(8Y3pNp5$'N-
+
+DMjhDXIaB0(F3S8%LAk*Dh3#4apXVQeZlcapUrVP*S`@iZ@l"4LLATf@+&4mLMIa
+
+DT--)'DK4!0P0D*6dDaIU4DX@Y&UTTC['DJ#&M5p8@[hINqZ!6GeYl@h[NlfYeE'
+
+jBqPDrbXmY'MJqG9M6CPXFM&0"QcCe3mMUh"rh21%0Z&Y+B[(r0BkA$10&H*0E"8
+
+d'(5QUJad[rSESVjhC1fCP0IMea0#,&8JlI(cdDSUe6j+YXf%'!2c(3bpI-Kjk)$
+
+!TGLPE(2V'1lMk$U8qC,cq[(@lEZL(dcA5PPEid$Zi!556GY0ll&jbT5b6DfI0@8
+
+3#JmP(d-4a-Bj+(FHhjh6NpZ6Tb8,e'ALU8!)SY[AaaEH9[jQcbD@VLNfj0ZTYhG
+
+q9fX4PIPNc[2cXVmNQG*RHqrjqGNbENRfr'Vpfmf4eC2E'q5)FA[*ZhQrAa'P3-S
+
+-kJfX4$SpVpL'FEipH(GbBIH'p2mcF6HP4rQfU3(#kq[@%qGqT$Q4HDKrZdZKi9$
+
+bABPl"[*ZI&f"2ch@bEXrG0E*Fja46'TYCQ,Rfa*S5FeDFc*2+Uld8NIaC4U[Fpb
+
+VYdL`+)$T8MaqH,,acG[*hZ29Q03iPfhAL(V"EeSqJL(Z"&Bc-AQcb2i`%TY4lHZ
+
+PGdHKp[(jU0Ha5c9b(C!!FLKa&ULhK6lH$3Ec")8HBrbf!Rd3-'c3AHCaUCNI3!-
+
+CNZjQERRHP*k96TaEPhVeA)q#!Z%b+Y&[9,QC!j(a*pHcJGiQrlf6[F,&Q'k-ZJA
+
+&ANFcl4"a"!!4,8XCRY+Yi06EZe9C`ZL'+1ZYk'ARZ,3Yh85HZAHRae5HAH3qVX'
+
+TRl`[(Fc@qC[8j"9#'[&P,9b%R-8KJc"a[jq*ambApKXl'AijANI'hH$DMeeQJBq
+
+HjYfm8qA+!pk['1E&QI0RcCp3iabhAQ0DV3&qpXM)V4``*lG6'G5CMfM0-SJi4ee
+
+3BpMG'$$K%6f42C2HQrGe'Q5[""XPm2XGc2*jNPl+ac6c6kR9b&AFLX8X)f0i8AY
+
+44Gch*rT)T10PHe0(U4dQ@H0KHPM`M'CkrBC*j*j!I@TkQh#Vr5LQ$cd,&[Em2&d
+
+*NU,!)I+Laj-Vr@3#*iqbf0+HVAUaCqG@dl+,1VKF@qKYh+1Tl[3-63`B-A31lq#
+
+GIdjpc5Mc%-6+@Karl%Z'Z2rDX@e[6E0apr(QjfETX"XfKQd-h)q+V*[QVGIGhVG
+
+rHVIceV[0rRcEhGk`%Yh0Mr5DiBfKSlA'l*Fi4iqA2H5Ya1-ccIdISJ!Cc-GiD4J
+
+*APKM9Ae0'QRM`d-QE-PiX[HBmqHh2$mb(-KlZRpTblG@2&JV49c!rPjH'pkFHNP
+
+@d)PXSiIadprBV`k([XI&Pcl&Il&c"NTZdD,2pmQ+RPBm!b"b[am[F[EJrRh-VmK
+
+`rm"d*09UX**2(38[k11mRm2eSYb1Pfc2ecJJiRhYH413!!jQVIkNIEpYPUF6Y'D
+
+-$6#lJZaDhHirLDhaYD6@NqIP$XKl"9%&XKZ+IPchfkUP2h)aI+fQ-*Y%1bAR,X)
+
+6q3Y`VlFA5`HM&rE&p+2,NqPblpl0LdiZN!!p)CceY[M`5aH6PE8@hbrA[(b+Rb6
+
+&eBYaSQBclP`@"Lh1McZBF$L!J!P#0L!,fd)")A9U6BjGUpX%ZDd!68EXG6B%KPf
+
+#(efp,hjJp9c'pIBUC8jQKp6BkkA1I[mHIGVhEGf(U3p5R(NX[aXa`5Bm#3UplPl
+
+`Ijlfq0-(6&CTqeX")URh+Zh65TTYfXVf1pSL#S2([EMTmcflp0!3+GdA+G`(j-[
+
+AaKU`rT,K4%iq,Ejhc@qeJ9G5,UB1T*rjarpFAdHAe,`$N!!N4G@5q$raBF&`9Lp
+
+,PR&d+YIE')CMUGAG$9hYY+ji$EFXRALI@02`4bAkZL-#+)Dm8!ZlB(Nb"iU4Z1"
+
+Y4Eq"I#b+$Pilb!KJFK3C'ccF9#C-P[p(Y'ad'pqZIqikfV3l8eZ"D&'8DdEAm))
+
+6UM`q[$9MZ6C1#'R$)AQH68MQPqcBEJ#AJX%4fBEQMNP(i"*dFe--eP,dQPKPXTS
+
+bfF01jNh)Em2bRq%%-Y5@E5!C63ID+H2#!4(@lK"5PdM+CdVKfr`k39YB%'E8VpE
+
+RVI8MCGAR@,i0+[5+S0)UJeYKlR)P`IKf$hVam2*Mf16$UE"F8BcX&Gpl4E"Iipr
+
+LVGLYf2-l&6XF,X3pL(X4GLVMA!$f+#BjBik8$'-+[X'RKr59`Y*"9T@rqf++E"K
+
+LSB#i4NNlQ5#5K03ErEdCF(TaGQ-rfj[5)f"ZaEf9h)eGS(db#$Bf*TT**TZ&`NZ
+
+k%!Ldh4*L"L!aB+jE!aE#'AriE"MkN!"c,2d0$KX)-R"6$r`k0Z(8TrmYLh$p+Rh
+
+5r5EK!E3Q,MrKmRX`3kAimJ!QEAcDqGq1A1d[q-[G,kl`mNA@b2ZDGci4S(j!R((
+
+$jUFV`"&TKbbqqaj0#H5VfDd"HdEZJXkXF6UdkX5r$ae+&)lCqpa$plGTbb@1H4i
+
+Kf'Ur6##!9"j1r'H46F%EZ%3%(KBqq&a4arLliZX#P"LU4HBR,)@,P,liBb@J1-A
+
+[U'AlX%--32h6$QqP3YlA"af,5&r!4(jYVc0U[Y*PAYmDmSG5m$&DTGlfC*H"[j)
+
+ArPbRG$9EYmX8Irl'H))+,#M*-R$bcH[1ha8IH&Md!C8CJL#ihSc3qR&cZIcK!-2
+
+E,G(peLc"k&i(CVEPBc3H'%CjZqLVC5dEH$P'-S6)bcGr0,G8HrcqI&eiq2fdcMI
+
+f0#ePEm&ZaG$cl0$SC-@AMjb)EG'`8rqc3Sq"Md#jkb$j`Gc[d@JC[6[K[`cp(*!
+
+!$FjHMTZEka4d10PHa4)SA+Rb[CScj*&3rBpL5G&`PbZDZ,Yk9QPQlpB6C$2k2Qb
+
+aqR(cT-bSThQ*qM41L+#+MN&1Q*EV0'p#eqk8[mqC,$r2CV'5PMKp1RLbT[mNa8U
+
+V11rZFQP*4b2GXdZ5)8#!,ZdR)p11Rfc+qeHprSLp'$dE(Sr$rY3%8riC2VIXp3F
+
+EqLY'SVZlQCLT`fBZkaGh0NR6p*Gjpe(DcKrZFQ+65l5`(qfT1Y41#U6UqG$*8-+
+
+e@qmYM-p1R&DKVF([2FJX3cm6&cl%PZTi-GU*A+pLA3X4EA!af1PS#[0%B#bNSR2
+
+NA'#RKf%HD-mirEJh1jred[6KhHIp"U9-XZB-G@D(***p!b2-caqIeBj*([Kd+2$
+
+Y@P3RUk"4di)Z6,GIUEdU,1`#V`T0Z3EQ5AKRQG1AF24pC4e8p%kCUmL2aBr)(p`
+
+Ij8!5+afM655B8qQ&rB1$MK))hQiPeFPZd,1qb@mm(`b0Y!G`$q-!0&6#R6[#!4j
+
+Y,eF[0r@lUY9I1l`%'V81I66ihI8+RYdZR8kIQHh@kGDK@b+b[eV&$iH+-hhV'cS
+
+EKhAM-%0!6l(RJi'JrXNQSqTDkr+Um6me'YNej+[Pc69TZ[@A#UXDRHNrU$F'NZj
+
+%Gfp2d[1qF9aI9bmL4[PP0k-jYG6&iQeA4cUVRZT"0"CCbfVc68)`Ra69qB(*Vj%
+
+*GHD9%@hC0E9q0HrR[AHAr2(HNeN4rR4q#U[jLE,a,l(V-SUV[U#Y2DQY60Ld*lX
+
+k%9ejN!!#+,`66@UYUUfC&#CF%Zc"Y*L[*G(*kKPXb1bR`bN688rq43[C'VfEUDR
+
+*pl9l&Dc1IbadK56aXGk@p2iqjbIc$R5h&ZjeHXE1YPSZUbdET&[r[rMZV,2LkIH
+
+INVC%r!AN02GP#dmEm9lEmIp[Nr`bHT8kX@hAfkfh2Yf'a+9Zp,XYkaiq,9*'a)Z
+
+!*AY6qP1V*p-*R9SApHr3mLKbGH26MdipI1,e,6b,,HINXGDrLmLA@PZTE59)k[G
+
+VG66MY0HS5a@,fcj&(aXHXN%K*LHYRkhGkhK0"j!!rrd08,fppAb0VP1Zd+j["6q
+
+NaRa1k[ERe0ViY#fEQ6*r'Y@%Xp8HI""!X$8Ha5$aZ`Va[4d9TNB3$C'iQSYQI1S
+
+@%i$qJZQdp#1$M2Q6H2J+A19CbPY6ccecbf2-*0,M!Ml*2aC2VTBfDF!RId,P#("
+
+`M)'cXGYM5'D@aRUjZ`D1d#$&`J-CN9I%JLVLZEjqEFEIS&%J@*h*0[MrQYp*ZFp
+
+""U3ja+'VjpZjNR[MQG1[4YlG1(*LVbaIB8d%XmRH$iq["2[dS1&[e)*m9,ETEGG
+
+0am%'R&R%-21rR2PV9ppp$1-%ZQXl%`bN2p2dUqe&r"hRhEHl$p@(Hc2[pj[@pk(
+
+HKhXrV0HS"r'i)V`Ifh`XH@IkQHj5m1Z(L835eaX2R8["rZT5m+Ya-9D@IVj%hD6
+
+9r6)8b##aA-$R[-9[FlIDcpm0hZC+D%RMhIh1kBS2+l`H$9r4YrAiIpZCk1Gk0cq
+
+(*qYNp6KG+khhaN#@"05(G4HD'"P8VjJBlR6`EA!A1N'kZ$F*KJ"NAiiQ2L`FrFU
+
+lG(Y+6I2"j[S[l[X"SY[LrZHE[f%rqb`&SYFh&"VS8,eb[EG5hQA1Idk&1LUV4rY
+
+$VNYQXEKed!e[,Yp[Emfj3ZF$mU"rG`EdRlXIdiYh"ZaI6MrGlEHiZljTe)8Bq%V
+
+IDK"VPlE*3bbI$VV2RMTjIYp[6jp&LpfpI4NJU&kKViFUPPP`"lqPjY+V5S9#l8!
+
+rY36i+lD#)CjUdVmlC6m5a,aB5!)L-X4m%,I#`0NT$(85Q6@CXHecpU$dMmcI3rp
+
+3$qf)jae$,Ljqj"ei0e6GrP`&6521LqZ!Mj8Aem[1c+[21hLKU213!+S80G-+%Xq
+
++#-l,dqhqEjY"!`aRGd-UPIe%QMqDLHpIRh)1R`'m3),'!-c&eML4p)1&eM0!p*m
+
+-k,Q,3"S4B#R5ZXXT[QjCkA!h2IemZ[Pk@AEbiF[$Pe+RdDReXZaajId1-hXh3Pl
+
+6$Jk8[IjfERGrR9FlZmk8!eA1d[Jl2kDZcU9()aj0L1H[LRRJmc5[8,dNr#[d[eD
+
+Aqk"SKZ+%Z"#pQRSHC"HdI%6+A!*qVSr`c+rYVQ,6TD9Zf-(pSV$F1&#Bb*F&fpE
+
+[EIaqe[4B+ellGk)rSrXB$m6JA05I1RI*KNTFIh2%MNAaiS@0(4EibA$%Yf+m[HB
+
+Xb@[,qZXJD+CCF'4BibBe9LlBd-'J!E+hcLZT68[!hk+Sd2rJJKZ`*&"0BX!`,b)
+
+(D9Q3!-6ZbH19LRElM"m#ambH(BL1Yph0m`qeB1p,d2NqhUM+U2fkY-HrHpGc2U6
+
+Zk4AYliH+pZMbAU5p5cfbq1M`I4`DYENeZ*Mj*f*QBCcDV3[3I@J2aACHpql&&hZ
+
++kA2mA1Ul2J`0p&Q3!(9l"S&DI-RJ`$MbHM25`@jb@3e,@Lmrl9$l(DIkqAmp+(5
+
+m)eCIrB,'#dHR3dk'#"VL4,$)"RI95![%J481TC,hYFmlAM1G'm$`CI9R'a-qk`'
+
+8cJb+UB#F*TipFX5N$@66UDG2A[kEF!#%lTi`,aX"N!!-K(2M@-CMDDNkp-fHG3H
+
+Y4m+@G$kYbRUCf(lP[Th+IRh2&qjEZG#-Y6*@+$XhHKZA+@T*JUfl&cG0$kHjZG#
+
++h,3CjZ96Cj9)l(1(p$c'3ZH*lQFd1c`pq)q3!0)fR$l--+!4i#'X8m2BlHI0[8E
+
+P+cQDAq0qL*QdH!ppCkZ#c2mqH"NSpF!MQdC9Z`Ne01JZ5aaV(+Re[%NZbFk5ch0
+
+Q*D1###'3!,YF+VZG[PEHY2*ENYb4GblC"SBi+1#M&qD,HjZpjQp@hUhjUfpcD*+
+
+[bAA$BjJA1+j[,mbmIGa2UjTLX[8R+@lX(2R(prQhRSI)DBc"96HK"L`'A4&dZEM
+
+mcCVHY@fkfjcGh0UdE-#QG08M"KVQ5RAr[(GD@"6i'c$)5mAIE9qX3bi&pLj3`YD
+
+SQ1NT35"YNSQdX@`A$("jXAQ+'J19(JFYl&XK3%ZZ2&hpZrEbmG5j8q,aG5,F9iY
+
+5Sd9MNGT&&SkAPR"QP%5D24idb5LFJh8B4dV,k@[MVE9EV#&[5jZ-3SkZr&5Vl%m
+
++F@f"EE3LqY2cDiIG5FPQLY3E@[Y3qZ@@ZYHhS[5HClM45MCdPf+f3N6kALcGjMe
+
+$D%1c1NBeLZZC6J5J5[U"L,(c,0kbCZb!3qGhK!36(SBK!9Zma1Y02PTbl$EJY!J
+
++3A&fmrf,IATaC0IK6`rZ8f+!JR`eGLV51Z,-qIm#$8a`p+(T!%!3SJLLh42MGTM
+
+hG0KGmf&9e'XL+'Tce6@`$Yb+pblekp&eBq)mT#dFBTQD,k`-0VPRr%A4Y48GXlb
+
+Md6--"pS!qkTUYTHdC!b29C%P(5V'R+jjDCA3CIRHCfN[3jY2m01A#DF2Eiq,jHI
+
+jGIVA-r*V)NDeTVSiNb5PjdBHBChJ$UC1UqEPG&""NBqLRQcMM5+YBjPLrBMf)l%
+
+PQS*2UEi5j59ZEI!0rIapjMZ*&aM4T)b[1$!L[)Vr$aH,RjpbiMlTSe"J)BkdG[*
+
+iIf!'ET`+IBi-'C!!9R1i8%'((2(ir[)$aZ6!mPfUYUDDA*P9($m%$lEF8%2`3@k
+
+Eh!mIPYV)F(BLK2bmFe@DVSeD2`89NA(E32fUS)IH$iACAX9LMKQVH&rl-f*!rET
+
+hXMMqiAQ82)qh$EiIf`%dB6plE%k&YY+#VKXc8*ZM0FQZ6G'TF`d(0jalmN-X,YI
+
+YVJqdPlmQKV$(%YrfQdK`rAUACYb`(G0BNr5d`pa8KZXC28G5#-9dJSD@`J'UfCV
+
+1"UADP"#*[d*4*IP`38Aj$fI5JRJi1qC,0DDY5RKfikkRII4"a[DT5dV&)bqUFXA
+
+TeFc`9M'[TS1,`rDK1Y#(FKfi[h#EkfeJm2!'q9a8@QM!lU`eG"A*5##HHM40(dj
+
+aZ$r4"3iIpKFMd46l-I5!ffSBp(q95)L6$2DZe&3[iVfcbpQ,eX(@,Y$VF[UR)Ke
+
+BhZhK$4e-HI[I!hX1pQEh&aCqeRl0[C9VTK9`Nm4R9Xl'&+!k3jNfNNKd0ZAhrE[
+
+8q@4MNrimIYmZRHTa8iUBU,r3T2l&b62NiXN*eL3iH+!bi!`fY`(-CqpL[(iZH&D
+
+0E8EV+hBFSm9&l&l(c-k,1`!%LcZARAVK[T96%4DE25PTiikZE9k"-%V9pL[*AjG
+
+ZmCUdLc#+-1qMb1d2*BT+T$Mf#SXBiJa+lhJabQF80fEX[9Z5HH68%aiRFa3X(8P
+
+)V``X23N(F9FM3MLpV+U'S3PHJ&)3rG`mDSZA,HY$N!#HH8IYbdjkI4pZ1K9SDIY
+
+i"$#SJkNAP,LVBTD8pIS%%@@1H-fXA&kme8J`&FLJlA4*e%Th0DjQ)mZNF@B@$XA
+
+Dl+4J[2Se+%YZhEk"3,$rENEUI4-DV69-%m0D+T05f#(9aD@I5Z*c"XdERLY5f2$
+
+amqa+FiXklLA,kPp0P&%[FLMTBjNCrBK[#H)STL`'5a+MY(MBT+dPC'@m!$)0NAC
+
+hiGQ&Jq$HDC-SBMA43HR"B&fl3cjXFND1[`3)a-RqL&U-4V54eUI39Rb#"3-K",k
+
+fY(q6(TH&!`JKihY#96iaarq@DXfB*L(U@hFf(`X+mCH'T#Hbd8dU`,6aKGJ$B$A
+
+41$@BXh@TGUc8'PL*[IP&TkZZ8Bi[P5eEC4PUjeZVJUj$U-Il"bl4fEm(Hi8S`Gl
+
+(I!2fP@rU6+NjqdZpYI`hlRHQqChS#'hb,jbA-ehU)VaH2Yp&1T1A*HCaT,P**q1
+
+3!+LV&FBMTbeV(0h-d8%f*D9UNDBM"mX[9YV[k&BLdmeBYHa5&&b)fV0Frk@16TF
+
+DD3c0j*crJEKGYk'IER3hD"m#m[FeMi9l*b5c!)U66CpQGHQ1MSia"NZMBQacHVS
+
+qV0kXb!3!RJVMBdGI'pQ-*12U*HJ%hU6iVD&I3ZkQYF[G$qFr8IjqMHe0B"!XrEk
+
+Rpp@bA3pHhXh)22fEIVPD5Pd4NIF3#8VP6b&3c`r``6pcrfSa#Mc"mQCRpP9cK`+
+
+A&,N(MB%Irb9LB+VV*kr14RV&Sb6Bq9[CqpX(iPbX@I[CiSeRZc$KdhK`h-kjQh+
+
+Yc$MUf-kaQf+SjIUfI!D(2,4Q3P1&5b"NI%GCm-Tb6*RlUIe5a5&)*@3j2GQP*B(
+
+5@K`[Hk#UF*QYK5*fm#CQPpZ$GS5dHGcGfK$SUZXi38S"r1N!I$[8UN01,,2k%V*
+
+C#J@"@R5!P3rCif+KDl5YQCR1IK!,d[0Th3EMd'24"3,B&!"4!(Ji'rN3G'JQ1@`
+
+JF38'[f8XFaIELqBC+R6meXP*p%$QR6bIN!$pYa3B@2!KK$mbrh[prJ)U8L#)Hd5
+
+k@)Lf66Gcc4*4dBai3&(5qe$*`pk)RXH")FS9'(*ImN"$$a2cmlJ%40'!S6YPA&P
+
+H'H!-DqJD6DIb!'6Ji`VHJ%ihC(LATb@+QKQF0VQai8#3!!bMkEeAdE95ZS,-TqE
+
+(dXNScrpC30pE"9P9Pqm%#AAR%r2&5b[a59XVm3M9hVqa384Rr0KQfjU@M@SjP(-
+
+,iLe4@&Hb!+-("l2#L-Krl#3pH(fIfH*5Li2Y24"Zj%A!r#Ih*&I-(&qh"S*%2iE
+
+a+"L#5"dPBERPk,@bCSDVTNcN38MdAmdijaIUXBaqC(raLA9YH(!+*PEKidVM(hq
+
+6imRJm*iR!K!8G,IL2'k+$LEp5P8T9UAKEj(MIK!BSB18C9(#KU3qBMj'Z$Ck3!E
+
+k*0H(r(rFr,Mjr+36d'f$ANLrB9-"iH#%FQ20LYcTPa3-)"C$CPfG,I%$dJ$)$&P
+
+RS--L+K46"c&'+hDVP93VPG,2&HVZM0YA`G22DG-m-d00X66KLNUd$0p3dKkq0T9
+
+DeNP%j1&c[05!'pRFbaG$(AkPIrZVlYIkPICVqTRqTqPkP$0Sq%d)lI$LFe1!Q5V
+
+*[Lbr06%aVA,Id'SH(b9$"KjTVrSrfV3eXQYKcD'E!JqEPKLdF@I&RQdESMrc*Vm
+
+1IcCjIQm"62*p-JqJZBAq)$6JrFF3",ldGl2rq-rkHIZk1lA!GNl[[IpRRIHP3[e
+
+Z6)c*V*(j4D),"Y+9#$"5fQb$NhfmNGF`h)EK*)KciEQ5&NRrHCfXP)I"YALQVHf
+
+5R2kF@l8h-ZPX8D,bkVl6"L[5AT,dK6"!Nr5G3hSETD(akL`f+GR$CS1ac&2h*SN
+
+bBH&EfMf+rqE*rLiHejZe,k63b3`Za#8plQNNrh$-3STUFf'e3SXRc&`BZc&Xi2@
+
+[GDpeVh@`GL,e)[6UHRVeHdUZ+#S$+b)l@rp#!)Xq68`c"J&DjLhK9Q`E9rShS,b
+
+hBX4FD$m&HR-%#iBQ[3!pL[0'(QU@X'eN0MUVbI3ep'I2rFlbMRck*CLbCe6lfee
+
+MLiV4NBh%j&YrirlMip!Nq,FMB%q*0G1Pq[HVi#E5Dpp["dmKeaQL2X0QjCZ)"&"
+
+80P8J-,2NiIHdrDKPdDfISpjq(2QdG,1r$Nbm1AcDXY@"ej)E9"VShk&lShU'#K&
+
+Va'j(JS8T&cU"mFA6qhJflfhHahJ%)cGUI5`IATIlU$Ai8%@'@MKfaCRVjrfmrdX
+
+rdXrTjqjKqf(qCYR!2(m1NUI`"%KS!)j(hqK*!YaQC#d4N!#bYTIKBr((C6jN--X
+
+j$LTE@`G'R&f[m"dHF,Db8m3&m3RT!(mNTaaar#MmM(PTMlj,*p3a35E'1NFYrFE
+
+h`1aUIjSIiP(AT3UVe+C(X'2AS3d)[l1qSH1F**N0d"5!GCYB3bX9#MVdUF-HMm+
+
+Mj&V,U4Rr8U2D2K9kZ`AGMFb1$NqjQ3Cm(aGr*T!!f()pF+UY(6bFT!8",KlkEaj
+
+JG%Z-1a8NCRYKL2qP%PjM9lIY%G+m+HTereBZdKiUa,8H[j(h9JNpdMU8%&DTemf
+
+,`A#")m&2(VeFLV$AiYI2Vq)0e4UrdkG2*El@'-8E+L6@,[YVacRFCFap5DJ0eZ2
+
+40PV4j-%H(Yl*jBfDZ'eC46VY-1fDGX@NNiJ!d!EfT&`j1Jh8a3aNb2Q9Y60rJV9
+
+keZYr"@ckhh"MANeU(J0$+T*bEkL*'5CZ28+2hka6fmj+I5b#SF'j2Z&(A(2djqR
+
+Jp*!!'B0Q[dTqP1Yf43K`iKT!-T0,XQ4#J%F#$SHCCBdCY*(Tqp5ae)Z*Ze!ch&L
+
+V3-Ak2YG'&(&k10DpcNA+q(Pf6Z%E*eb,"0IY6BG(DcU-0U[0m'D[4j&(S65ZDki
+
+,%pUI(TQjLBAP,L`P&Z@lB[G,Sd'CDi'Qk!G[Uj2q5[SVV4B'e)"8Fc"aU`1V8GB
+
+S$#rm4LPV4BcF13#'I$2FR`qCF[-$)G1(dDDU0q,r604NNi(hr1eUKkP@GDADMSb
+
+C0HNihp+a"h@+5M4pcck16lNRT6HP*lQ6k@55#Dm(K-)+2G$krJibCh,h@+e4#1S
+
+j@,2S[#!XL6@8Aj[4pZQ[%9(lBl(%fhT!@*Gq2El5hcp$LIKPf,'eh5[8Zkr$GJi
+
+E#$C""GSbp$qIYH2&,9hijDF[DiMKUPF3%XXZ9LJPk%Y-M&!JA6(MIK3@$DSfHML
+
+bGUTLjaSM)eCMl4i)++-QDX%f'XCG4H[BDX(*XjmeDS2+AJJKUiCNJ@&aUC0pINj
+
+QIQ9UdYTVSMCTD@(la--kXqpKkNr8!*qr2e8iIE+aL"hMkm-HP[8kP15R(Kqp"(T
+
+I[bp@AGdYf9Hf'P"KpN[A[[f,hNhK*F%9,Z#k*561dFJ`md+#YeDh9[khkA*T4j2
+
+EdqfLh4@@km0"DQY9YL[DV@TYLVDj0V2f+fC+id"D@pHAU5lfPeDfmCj36pMp-X9
+
+hF2h@(r!fF'P@ke6e+&I5p6Y*U9AJr@`FNa[!rl5Cmcl("id28UDe+TKr0NM!'Pp
+
+l@r6N[C9f6GAqj"RkQPaZY@V6NQI$r6"9d[V5rl*Ha,kQPkF[TVKZk8[8XDf68MU
+
+5leM9$qp59q(r$2rBbG(5h-rFcpc2apjZD'j,ZD5!3!LqE@(f-QPTBmrEcp[2p6[
+
+1VSG@AEdYX!R982QJCKLU5BI'[r*[qGIqrmI@mVp1cH`hE1VKXf@KC8DQ1DMC'X!
+
+4LrZfI$aBBDq&6H4iUpSlqEH$a8h(-!",eRPp+1MJFeELX(8IBSEj(P'S5!Dp2bc
+
+S%`HM34RfhpeYa*hf6rq*eDaI-LZS-YUbZ*h,dDec4Z5kXhbmGf@heVNhq#X"mlD
+
+r&ARhb)+@h`F81caZcAf5CVXm-"MU9+hS--&5M0MZ*@33#!%VNLc2Kj0IR+VcaYT
+
+)X('5CT*aTM"LTiHT$4MTD@ihVdAqjQA91V(2*kR',afPS8[XF'L1VU2!5D$NAF1
+
+lPa9YdZ-ph5LShG,lU!kI9(h5[%kF(%pQV6m,lP@Rar[9HdPPiq-D8PNDV5lYEk$
+
+)*BN5Y%$*8aPG2)8#ifHBQA%IJ8ZjBl-Zj+!6MijVXefEkNd(G+dfb5BMamGUh0d
+
+!*'(q%pekYDDDY9P9EFa"E[(aqCUeY8$@bK!"%A8-&arRS)1e2XlZXGU#E%83,3"
+
+M6SVBUir(UU8(DimQKPBq9DeUaAI,2K1,!0*28ffT[3fiEH9r,S@r'rP$IBMmT3#
+
+)"-Q44"fZ+5DDE`&c1Jd!lVAR%k9EEPhe2pLb&j,HhhkqcEfUH2*Qpj06eUIjSFP
+
+Xr*(!9AIXJ%PJ4(4G#D0@@Edkh1VYVfd1*LQUfC*4eT0-J%j!bTQScC,CLd0(+hj
+
+61V3H6FHY9V9H2rU8$Bkc*3+)(TS!89Xh0pfYN9U"d5)),(%h$QFckZIb2kU[&lV
+
+FcEHG$9U'*-1Bhm8!5YCJ-&B"TIL3!)'9,XdMM#c)Uq+h[&d#J%L3!!P0S'Zc6)q
+
+IGdIPBTU+)J3`J"(T!!HhkadH"fJ3)"%!P@P04Bi"F[`eY(pG(E-(GdXr$-DB%am
+
+LJ'CTf2MZ2M%J+5UH"32K%+8&+)$&Lk"$@QeTYlZZj%HHFq##%qPjE(K'PGb-G@'
+
+DPQqjR8k[C,Md!M-S%C2Fj%[L0rb-E,Y2$28P8!j1+k2qSk8B$%!Q9L6L3EIVbDX
+
+PA[FD#!082S$EYZ)"*',k@(e)mrPFQk"b,&(Y5BULp(ccT#lA&NpT*lR+$FbHj*f
+
+*1`!DD60Npf6)U+hk2qCBVk&IYmG$1SC`dTLjj)BDMbh6$4SDAp'E6d[ZCY2MdjD
+
+I)kGITjY#DKTj$6+0,l-YR5qiJBV8kr6j(h#rYTmMl*J6j'Pr5a!6fCl1(lN&2$p
+
+`XTJ'e,QTCe,1TTf&)$M'h[a+HA6b`0@,RNh0@jUfI*XkYQ`i3BIYf,INfl(Nq6F
+
+JTkA6PkD!3H-I@d[5P@EGDKY3qKpZeaY5jq`&!m%8[8dZ``J`iTjI*PRl2NelpG!
+
+*j1I2Rq6qP2"Ka*00b0,(,5irC%qK2kDhb-8eZ@aaa3kaBES*S`p%N@H*Fe05hEZ
+
+E&c@e0EB[DPZMeH"h9'dkf3[iG3m'LRhDIShe*pfKGSk&*H#Za",`-A3h,Gh`m9Z
+
+aEfI&ap''hZ`Fk$kI"9iUA*F%(SBY5L"q#hfEFASBVD0`$ECHMj*D1RHdj["Qm,(
+
+J2[`$k!4)Pe+$Fk#%e+J%mA(EhHKZfpfJ--m*GfUAd-GZ@i&ciH1hZA+fT0VqlE#
+
+4F2d,hS)1TJG6)3ARbkQMN5`qQBZ,I95i!1R(Thp1rTrri!L2A!*3S&8-(mm%j0Q
+
+"5(i,BjE&61hH@b8qb6p-RRhY1-ebYj!!#*,HJMDQr`Il2fBlfAmIqfpk0ldIMrf
+
+rr6kAJr5bITC28NqY"k+MqP`-G'Kjp$`bmLe0l8hY6&U4HIe06U8ZT#-P@*rZ6BP
+
+a6KE)"!R4-CIbCEdHK`2`"HEHR5Rrk#%4HR[B,drVR9"XdN1jNE0$Jm#KVrPdk'R
+
+3$I9jbU"2EJkG#RfLTl5`AHJFJ@TrGE&6d3edGqi*A80pX0Xc(5I-BcjdB()"!!T
+
+'3eT!3j0MEk&,`rkMHMJZIM+r8h4Pe+m&DKD@&D'm-!"$B6cced9f3j6iE`514(5
+
+ATi)3#B*`lC5c@XZbHkC*qTf2%mfh,Ejr3kpbYfRG2&94(-ARa)M(8L9(mARJ-6a
+
+mDh64)dFBQKH)cL-XH@)DhU%ELp13!'XG,bIGmAfd!PZQJ%3#AHh!`VLj""CXfU[
+
+KrNZj(LqhFZ)",RN@+$K"N!"6D6*f`,$VUB-b(c@6@GIJd-FHG(R4h-(cce6+%'C
+
+bqIHJI#rb0ibkq@Q#k%228fZheqH)1JZ'2QV*4,9'PZdZD5SIjLSphdrrV5UD95P
+
+QdY2#eP"$42RrUh(ED6hSGPLV$YQAAFlPMhrId[0hkSRL05&IdRc[4TiX-4f)AUH
+
+$KaG%hl+1mIaG@5U2DBpr!4)BU`3%[&p6Rr-UpIY12"-0Nd%"*Q$4'Z,Vlk@N-[&
+
+lqYjYDKm"iQiN*(0b+h6`%DQY9c3*ISC[`[GmbK5b#mD4hNic'ZEd*KRBj0ELlh2
+
+ke@DLlqZRJel-QYXDf9q#6@N!0h1Yj`r4TDe,lm2GVLG@*FG@M05k%-ZkAmh$QSG
+
+jl2+SHA34SDT!GTa2qf)lLGH[*m(LGHTej1[lq[jZM0XdV"mf2IiDE'Dl`U)l665
+
+3!"$EJjLd#F*rYM&ZMqLJ-U9mbIRl5F"$Bh53!(qUF`%hT9Y9!GAPd*HFpFBbf#(
+
+Z!6S@%LLc6C[ZejIKihd3,($"!T%GdB,2Hi[,*B9'M5l4m%(S1Z4Hka9q[bDhPPq
+
+3!2(+9&&GNRHaraTjR4d-[q--qV4"92PLlP2dP3dUhlNZrRER+ZKIAH#ZTBK1N!$
+
+Dk)R2,5lVm8aMpplq,R&rSel$`%kIiTXARJ'lT3CRiZ9&jLZD%V,e4BQV[p%!L!M
+
+1TFQPm[(3T"Ze5li$MDqH!C8-mr3krP9K1a$HSk3&@dNCB#kGcIGcFM0b2d2Gq&N
+
+HC3i,GVB*k['UrHUap'-R44pee-h9cXm+6*mU2J99FimI%L5@#U%r-("Qlc%UA6R
+
+a9%@AMLhX&j'QjV#F[-[FppEE#eqq+VaC@,,*VXH,hqYclX[dk'@2LP[B![[Hc8H
+
+lSqKq"*A!8CVeD'lj3qUT1i`0M53#)"$FJp0&F@rHqJcY&*eCXl80M&@fUfdH$1c
+
+A)lpG(ZL+-EdYkYbmdGUjZ-bYjkf,1diTkpXLp0q(Q,UMADX5YkeE0hmkXCM[Tjh
+
+1Y0#Q03bQ4q0M&)RL$LQ-AZ%!NfeDGVQ$AF[Ekj!!$4jAAVU$1m%$TCe83(KeR!F
+
+f"k1cdfZ"!-&YDDTHL[(YCXZ(NC[j-h1cFj30Rqqr&QCpENfN5pT5dDZ-0Y2X6j[
+
+mD(Q!*r(A'40G,MPG$+A%Ab1,B1PN2iKjZAA[4EfG'aJ+Z1V(QajZ2#J'emh6cG2
+
+1)9@F2h('!1!@XAqH`L1N!J34br'F,DBi&+AXjXGEHf,eD#Y4VEi,#m,3m$'!S@0
+
+,B3#)"++I1EZ4fM,cHjH'!,KIAe`#%SAAcY213`4+2m&A$!cjr5cM06erkmkMR8F
+
+l&AYelGHj&FVp269-!%%@GMcU'[3%H3+P!ilcNS&9!`L'$hC$1!%qTQEZCpfYrVm
+
+"9Ia8$H0S8prkrm33'pA8((%G2Tr0H%!)dfYLHYA!3I$0IDCAkGYDaK"!p@HH*2A
+
+5k[FU!L0!J1YQfHlaCSU-T2[#J(Li0UQaQ"$5eYLYpV1f)V4MBE%kbC5*K,Z9YbY
+
+kf`J'aJ%h+rV4Q*'c*p$ZTmm"iFBPrlPEdUrT4HjAScj0TA5pAlFXpIbGIl'G5cU
+
+@Gp`Q$@K9fhAeTrUZ8I1LLYq'Yp$BkA(r*@kHEpcZr9#!fkrT6p66kMDq-YF-rf0
+
+MX)"UhBVGK$fjNqCYI,H+[UXcX3"R0QYkb'NVlN@jR3cUik'6qqp9IIUhVNhk&9N
+
+2hUfpQkYDI0'CBKiA!drihk)%DYl`49f[eBmZ[PckVNRc"GVBXhD9,p49QLamIE2
+
+'MqPXeX1P09UD80DTTGBmc-6aN!!k1LlmlT(mT(bRmHA3lHKbD'Vr'M`Hl1Z+rN5
+
+i)XM(6(Kd4NfG[M-"m0p((GEYm-a8MTSrN6rYMqJIm3l-1r8fIP+2N!!rNH6lF1h
+
+5YdGe($#Hl%@hc[QYBjif1+L[LPKbk@Aqcfel,[F5pQrXeU8p3b9'iakdH+p[R&2
+
+[J'K[4I()l`GKVP()fCGUAD6rUk@+(F2Gm!M3GR5DdGh4id'bmj*e%Y1TS*!!%FK
+
++93FkrM*NA@[prHR`GI6LJ0NrJ)bBBI!fhN!J"(qZl#3E3-Nk'r$I`J%!0VfG-kS
+
+D,FdEdIb"35!)L`EXre+'l4ZdNLA1$i#Ir'rc$YKH%kklU6eP$FhVf+rp(ic'"Dq
+
+"LJCiQY5jiCVVAVYlG*jljHJPd9ZAY`jh0bpr$IqDm2ZmR[A"3+YIV!mZAmGq1r'
+
+Pr3+4ifQb#5b*+)N8EF&5EV0qY[%PQ$m2$)p*kR#L#4q4C6l([H@p$l2[q(f8YKQ
+
+INllCI5G2@cDj(jTGVMrQV5FImcjE-,Q@1,(JN[9"'m9lB[IDr8f*,3lU'kDL#h(
+
+L`@$VeM[rP[@,eVp6')+VJdcSdChC&J@6P-e-!NG+5e8pf2FN-df`k00BdXDFI2)
+
+a)"$,`hke,Mlmp,JYmPC'caXFFA'a'Yll@9fC)3#@*TDfC2`B9TDJq5VC-B$1EHV
+
+rdbrKUhCVFmqCi$4*`I4E*p1cS"1*[aHR(0aLkbX2-(*'K9+$"LXE9MD`*mNAU@p
+
+N4eaS@KfYImZ4RC!!22V2jE1GC!4N+%-M1cq5ir3G18r'UIcZ*Md+AMIL-qS!K0a
+
+0VpUj83fmdk&-DeD%'U,2-eU5XDkCrMQQe*MKFQlh&V85Z8F-3"+04fF4XEm0MKB
+
+FbhmbhQEN-0##[YMUbREK2(X%'U@H,[AKPc*IQ&Yl+l5#!B`XeXK%I21TP2b3!1T
+
+Rj['hk2TSUeQ`9YkI*i#L!6S$KI)eEh6eD@Y4LKM6jl(AX8h%DDqJHSAU'V[hB%8
+
+"LkmGD5DT9352""8""j'rUdY9,fQ"Eh&38*2564Pqpim[amGhFeDAEBdrb8ArE&d
+
+SZP%iRikhMpHp,GZq0mmCc!1Lki6Gf*!!jDAhb%A5q2l2N!!6ZV5b[RjGpJNJ%A8
+
+RhBYc-ahGRiqi-PjZ*rYLh)Yf,V4I@bp+4ASr%pQTUhYAp2dY@PmErd(+)$UQV*k
+
+3!-K25UDU#"$34GI-Pq2Lq04eU1XLA+*IRp"E8(L0#@5EqrLeT['aA8A#jk)"lEZ
+
+RKrde4qerPq"Ecb*pFri)$N#$!K"!$k,Z)['akd@Y$*k2%i!%$qZS"'cU3%3Hqak
+
+e!%8%P553!,Zb+5[8Hpr"pa6GVMq""hK1pZ&T8cfH[6l[*QKp0[paP#Gla*i6AqX
+
+IThBMcj-d"$#!+MaXAkBGcaJ&*fm#")N30a2CFj5%V2)&1lrZPUd`5ST@3Sm8rI4
+
+!L$0C!)P+Tb)$&fUc8SHMl3hpCpJVKDLI9#1ce@H`8-XGLG[l2+eIMDXIbBYf-j4
+
+qq@jP$[eZe)FKZAAHeam+$-TIViMTqTC`X)lm4+Rj8lLl@6hR'lH,pH5RKTfXQem
+
+"ia`T3G%90b[Re0A-PjkX5a,Z8UVr4&VlISBiVF9Z5jfqTcrpk!U+hGYY[$&1pj6
+
+prLU3!'C[Fp-@`"efIZPZKBD92&$,X#BF1jlcMpa,rLp5R0Njf6QerVXNqHFG2LB
+
+qJ'Rb[ab9qiVrXINNciZ&a2qGh+PDSk0RSVI3#bb[jC+(F821SCAmVm-"a2DNX5H
+
+6k(hT0@69b[[GaUqGUm6q3K%kPh9P9Nq+AL)!`3fF%38Zhr&q[@TrLKT9h-2'k0r
+
+C&k24b*-hLIfaI5c24jrSjAr&'MYhdH2qC5J41hUkm-R9UHAllm(2Y92rkNkTXpG
+
+@pmZZU3!Q!*BE%)PpmrhP(Yk2kp'Rq!al5DI'f,kN)kKVN!#3!)iF[$fm2Q`Rd0C
+
+NXhF-UlSbir[0k+*E+filIImeFDh9HEBak9j@,cdaQ3aAF'-fSU&MffD)YQ2hXP(
+
+ck*MHdHfSqqaFrG'[iV"V4eQ9JPKR+hGBiDUhDcqmhmcGrANiC3A6kHF)*"@!V[d
+
+i1ef2H@Zhf2el92B&B03r6eb2BM%ECaTQEI`aR10i4ieGZmG(h0)6@0V6clM!Mhh
+
+m[R1faVfV+Yi,a0U,rEd$)GNKMj'CeqIe`LUmQ2,JmICPDQ+-J!m"kj4lqB)-d*G
+
+A4MPMPe[6V2P1@ESiiTNTfjPEpK##V5GeHp199J%TbPVBi9[H&V6-,i1fRSm!L0R
+
+2q-GSBYG1D+$,'p2Qf#U98MVkVQ8#1KeCJ,Nbp[5me2l`qT3-a@KS-V&8JiXAl,Q
+
+hpl9ikY[dFZJJQ3$)d+'J6RN'JV3#5'V&BpI5Y9D*[hbD8KMTMTQE8m$lc(qK``I
+
+6f%TCG,MFf5#6BN-EfdM*e&2NfL1"MmqKU8,Q,S3'[J$2S@lHj3Td9ZVM5q`(r%R
+
+Pdm@[@dpr6!)!LY3lkKA32PdXPe"13e691!8P81"04*fSK2d0UjMYqMFSqIdVCU'
+
+DP[SD&[3JYm0FrBbl8!J")B8R#k@r,Xk@1PdZKkc6C$MMk&)`Hk9[K@kPZYZF)%c
+
+`C))1E+Q"pQiqETJ'XmhBVHaQebR(22Y8fCG%4MAGekFc&IJ(+Chmacal@8h2!4+
+
+X#m@I-*T*I$VPM!%GfJ$bH+5,$l)"YA+qVbjEbijk0%(b&aJ)*iQGf+RQS)'Z#ik
+
+AE,iI)UdbV%F(-ahl%Gb28MYPh$jFAf@ImKC3MPV[SYD2U44FX[+$Q!Hm`6eXd#M
+
+Q8,kESUlTFP#*9ZJ8&RV"4Er2))JhL00kkb8NJXrPNcYM1b[b5Cha-lirr-JilNP
+
+Z6Vj@Cfc0ZNjlK3&33'L[)JYpj`b@M'QUSYE$DjR-['Y#A@ak'ZM-&k9'6JN%bN"
+
+BLaa8)U"XEFe@I5GU@pX+"SFA&LciVLGX!32DX8&!AFYDpBc"Yc+aFX[0dEF)N!"
+
+F411DP$h2DrKTeYMV`l[Elr&Kcp#[0iH-B1-ZKS6+*958GIh8D4FbPIhdF-$KU)8
+
+RC`e&$GKaE'l6Lc*2Iimq$2J9Vd0I(ZX[XB0XN!#!F)6J2CUNU@8H3d6P$'B0b2p
+
+Q5MPql&$biVk,'8@@3@CXPm,brRd,(DD%1jcrh10rfdIX8[6KhI1qHfrI$$6KKh0
+
+M2TjhEh!hjLZh+ADdJ+5`Vp10RTL2k%HZT2ia,[JZQU,Z(Nh*980S9D6!KfN8JHT
+
+Z)bq4-*P`1@rkCSK"B&`-#%"FC4lJZ(U+%fYI'0eF89MPf,f0(Z*EJ`a+pcb[`ak
+
+5C5H9r9(Rajhk2j,qG(qJ4mUj"Ah&-k)"efq#dD-UK-*6EMSY*5FXbJ8!8UkkK+2
+
+*CSb!c(&YE#VeKZ*@ATA#9Fej4SVVJ%Mr&bp+mAYk"!D6k6eEN@h#H4N[3[&aqQV
+
+%(1kVS@D)TjH#F2lMjCJ`QiPe)ZS)(H)GfBpq6F`#9H9q#+Ap(%cCPSkk##TZCF-
+
+PcAcS[haD2FNh&C0p@1EYK%MU9Bc6`E3R`rrN[BD1L6dBF2&RcjiGZ%ahQ[P8`9&
+
+9jHB3%@h!5'+R96#TI0bq'A$,$T3fF01jNh)6LAK&IkPbD'c#hb`-a1'SJ[j0m%#
+
+iSP5r-FX#L#5AK65D@GD#jh8PRk89q,,Vm5HPmh)Eek4X(pA$e)XhMECNC8X2X8U
+
+@65MbCHTB5j5b&@ALLjTNVcQ5c8(Im0Z,TeAG8e6")JIlrk0Dp2bkh,UAZ&[8iaZ
+
+QkXel@a-PhMh0Je8UA+c2%+IDYmR"mAa5P"cE`2[r(0jP5,K43L4XZe`(RZYJJPZ
+
+5lhIeLbhFmb$,aJK"Pj6Z@VKiq*[b`H6[dD@PqHM5ihX46mEf-JpKp$rmYQ*jK+*
+
+Y8Hq&j1!ADXF[QV%YNr$8A)mX5cHqaj0'HP9l1E$6l01$N[+*5Tmf,'J+MdMZIj*
+
+b9dLk8mUp,e+T%4DjXF)0@ITmNBkJKTlr2IY-Uc4d#DC`-GLhS%X+MFTkNAqrRV0
+
+1bP%&LA[4DQ!K*FNFIF%FRFpkq8Im)*0UPlG!aJqG+R#pb&G*@-R3*TN!XjhT0-S
+
+eqer*&NrYImLmlrb4+qbX()[%HPGSUd56#!5,9jbB46VqYK"3+R[+(q8%X*4Vmep
+
+SeX)),&RIj)K6)@h&jS"%Mj+Mi$pf$F"r08pZ#@R@MTIXBN5"DrUm$(bU%KrGV82
+
++kFR6l6(N`qF!L6Te"bdJJlV&h%f60i',2QcjLGR"&4rDaNQeE[e5rZk"-,SkeV@
+
+$IQ$@Bfm(P3R,T4VYr-CmcBKXH"[mST+GT5lAILXFqdC(9JNaZ1rS6CAji2Q@28j
+
+-hE(*$fT)ErBIF%UACc-81hBhmfP@KlA(*0j[I4I-Mp6YZ196P)$`[CliTEF(fCp
+
+A[LPi6SYAc0@YUeYA0[eqX[D4ke6X91a2f12f2JGMKGLTkh%khl2Te26UI@UI@Tr
+
+9@fTdZ9dXVrM5p'ak2`rlB[4i(r(*q[*pIc[V5I@Lp&SL0Q$[FCKUDYMUFQV*U3&
+
+flQcIUajY!jq9id,'cbFFP'P5X`mU+T`D9#T3qAp8jhk#Gi#QJaFS48U8%mRcH$3
+
+ImH#a3%F#r&Sk`*)U1,*LNjIRAT0l,'VkL$Rk""cSqG23j1r&#4#M8+rb6CFH@2%
+
+P8!aFSQ$K!4FSj%U*4kNaHGY5()Sa`"+!CA`'@am-Xb8D96Mbbr+a5Via2#!&!+2
+
+JBY!UN!"RdQ!Vcp`DrNG9rq%#jDr1&hDY,ZeCIJJ*XY%9Lj8d4mB-bID`@rL!j9'
+
++$JPKAjDGAle%&L,3lQ)QS@U[+pf5@M,Nk-P[cVFPZTdieiF,'i,JEJF#B"&JT+@
+
+SYVcD-P*iD#bGR[%1cfc5d"QMN5da[jjShqMG*aX`#F&##cDZFR9LXm$fiE-HVje
+
+`JmDM3'%0a*04pa@Rp'MlQ59k[1@[8eQN8J+4BF$m$*83NHrc9Q,CM-2bk"Fqd+9
+
+Vh1q$j+j!5RDpF2N&JKDAk0r&j$4ad[kBFkYTfY0@N!!P(NfGC[(-NU5@58`fI+L
+
+qYRCrJeQhF4lb8$HeSIS8DqrEJ-6F[&j,Fh6XG1JV$l3b$9CJmKBkc5mFkKi0'IK
+
+2)bYf#pF[EeqYij'9@D#"L[)hp`'"b'NDIqRiqeUf4m2l%Epj-!AAJH4q2"UT,*5
+
+08hBFlP`-rdrD4iY[dS1([jP+[5mAIJJQQY9@km#!B2Zdfq2)Me9PlTFqjdHRPkD
+
+X`%b#FQA2hrJ9UmpZFb%B)Gq6EQfjGq`[FJMrH+8fFqRj(F4I!0C(q"*LQGZ(CLh
+
+q2JMrSMQ[eVriI)(QQ9qG&1SkZG0Te["@c83V,0bcF`h)-m"5!k($8XN,M6XYM9b
+
+`hFQlRlRk(l1G5e2lZ&*$,6hmZPh4kVf@8!@m*[ahUrMch5cmedXqG+"(BJbMIa&
+
+)*Sc0S&)*)k1GMRT6TY3Nl'2m%8j[kEINFDlYYJ@bH6R@*pR6A$,6)$id0$$T!)m
+
+V4JJPfXcjaQ822-mV&aBH9Yke55'5T&rl3E-@h`[T[[RH3RSF''`ZUA2m`Mp9cAU
+
+ILB"64a9*H0JV9UdqR2fKC0llITEG,ET!'8J26Vr@VlAIrRYp1(DiAU3qVQGD[kP
+
+[VdkZI9LDp4$Q9i0'jAhVPD(Hi9c-JrA)VJhI&&QMXepf[eG(&FL6)cpl"Q3I-@p
+
+a6ed8`&LHYhK`3@pbRHbCXbA[-GY*jlh0,RP!p,AZfc,*K-XR1VA$,,TdVY59Ad&
+
+Z@[Sa!fe+Z6lZ6,h%ZISkP[*Yj)hJmT8!A$a-M!*F2l[$"fm1G$Fr,6KTjfGR4rP
+
+33DCY`4rfCqREdqerYc021rYZAkGqRUdp@[TYReccChmSRK4drq'44pj4bm@EU6f
+
+k9ZPdmkR)V5#hXj`jiq$0iH,*))(F@UqlFL6*VLLjbXJ,G$a[U5lHUACY2LCR9Vp
+
+@heBHVNq[6JeMV*8`'21'Q5QJJTiHhXjf'jC0#fcRkE)JR$q(EqLhKYfpjLYM)"0
+
+'[9,ED`3,!DM(VN,LAIRfHKdSZY,eEHj2kQ$lA!9J!`10cA@m1bX@`V!&6bXckhl
+
+'I"@AJR2lc"+BH+L*Ed$&8fXcDjlcQH""328a,iL+J%3",,2I$RJTi#mS5j&l9EJ
+
+6M%HAMlHKjY#KN8@T)!I-1e!rJ(q8IFjFAEl[QhD1JhlE`2CJR`ED4V)q-8pdh*Y
+
+[,qVQE2Qf++bA-8#5h&[55rl2+U,bDPR-kAQb3)ip+jVlJQQ'U()bc32mh&33[H$
+
+L`(6Z(CaB%kBXHACc,22X`0eT8U')SAV3aH80rIJjJfk&'LVlQK[klEZ1q$j0$$4
+
+bjHhp2cHF0'd0hN$ARA6%P(0Ui#e-e5FA2T3&d'JIY'9-RfYV"qETKKBkR8c1Tcr
+
+T3Ec"q[`2j-(65kSbXH$VaIFMp,Y[RCR6jrdU2q9HV85f`0Ir$Y6!,'Jr2b35fHA
+
+Q3)4#jfA3B+4F1dM[[V6dS+JAk*,rKEMmPSq&rC5Li*Y5Q9%H4U!48F*dXH0Md,%
+
+@hhZjGeJdp[+qR,@X@Z#LZQ4XLi1jEeZ4MVQX4ll&APqC0``BM9&[lfPh"GY%,$C
+
+j1,@@-9+G!m(T3)hb82R'RG*[%Nh+QePcj)TL-HXmj3rmI(he$,ph[U&lfkR6UG1
+
+TlGDK2N8P9aBRFA*RlD[SD(MIGLdSrkBUdZCBLi(iAq(h`XLrNCH4PqlPj&DKi4I
+
+3Ul1RPRX9c1k!CJRdmE!LIES&bdJr,hD@hJYkH%EB@pF!J#,Q[FdlR"A4BXiY!83
+
+m$(+Q!q1!N4a*@NV59QllpVS6QIh&d%h9XB"MlkYTD2S+VRN5kme[r0Ekr3,#PZA
+
+SFqhclIqHjar2QYZ4`)@f$bfRL`%*`!d3pN3$5$84"pk!fGm2%$l&U5qKMYeEHEE
+
+eZKZA+AD*)*b+3(pZhYp$IB$)"J5dS+8$Gp[3ah+'TlI3kG[Tff!b!DK!jR9Bk''
+
+hYA0[clC3'Pk&LhMZG)dIqP!&d[T(dF9b#j4k1#jBZ@ZMjPcalP[SckQY5mU"FpD
+
+P,ar@V5eUZ(ee@+IG+CEUA)fP5X$Q-"R(HHq`-Z$BRfp1hJd"0l@erUcfK`r8RKJ
+
+d+#C1Z32@KY+QPl8mc&@J2hIDjZe@Hqd"KIk0FU)BSZaSpM@l%RqQ6l8Qeh1e)i2
+
+a3BPUqbFh&jN5@mkdAIikcd[!6'GF1)ZEXqCY9ZY@kYEFj[9VGD$l0"6ml%'hX*C
+
+YJlq$pA$QeFfVhqIQeU%Y'UhbaBSfX1'&ER24VkaH`PkZ&j%jdl4Pb[mdR,NUmEk
+
+h2ifPLS`8SH([e)I-Ki2CEpbSQ9mQh-Q1$T(@DDHaI#pc&*)VVfP5SiFC`mHHM(R
+
+`[2[kQAUCIRjHTlqM(NYQheIba9GI1TIAKq9&9jG@pmU2r3HejlCakK@Q@[V$Gf0
+
+E)q0$r2aEZIr2Fq0NkaDHkN28Tm2*9,JQ'#(LeE&%PQf*rV#Jpma8"L#Q)!jQaIQ
+
+)lQHCDKG35)Ij""MS3B+-1r&Xm[D[GBbc$*d+6AfBeI1'`CA(J"X0QCT!ZQ@rG@e
+
+r+l`3*ea*N`mljVXR42ZURETrEbDjkVE4mR8CTMl!bC9-r5Pk#@M+'[N4GQ+APbh
+
+fa9N3%TRk-A"LjXKraK+EKB[HR"98@`r5a8R51qMMSc3'PPk(ci)Z(q&Zf1PZp$k
+
+$Y`b!iSSKA#eJaRhT%@0dJ3j$4qN-pDUcaa33LbX4H5TV6mY03"@a`(jilG0FcFG
+
+fb9UYU$C54ecHj9i&!KAS)SYX1k#C,IJA+!T8qp,5Yf`mN!"ll&6SfD*M1m[)JTN
+
++UUlq'X)))0(&$1HE%q6Di9lPfb(XfY5p%!G@PaPJp)"S+kVm%cLR0`rAUACYcbF
+
+8&(MIQJSm2qQ'EKrd`C+Ym&)#HH##P,TEp+YTEpD8i*kY,2KV20&"K!F)0)!PM5a
+
+&+1@Y(ATmpYNPm+![SU9Z(3iRCmb'NpAlI""2"5SkAVdZY5ke,V3pD6e[+QIK`+!
+
+p@SEk!C'$AV#Ek3&JRm3dN!!)J%$*2e%!CLMarc&4'DADUf[Jr%PSXP!iJ,FfhEJ
+
+iC[UmIqQP05Qi2p,b$'qP"XmEXaE2'adGUPeXcUmlFC9ekD"EC2ErmZG`"2k+K,"
+
+pKr*J5`6BF*2`QQQU9)BDP5Ej6Y0$MFDY@Y889F+(P3C5UX#99Q`'*BjZ0kpDlDh
+
+"QiAAq9f8j'FVfSU2'Ij8!2&Y)"%!L,!2id%)MMR+U"aY`L`R"@a!3iEPM2XF8e-
+
+X*Tam@cRJ3-f3!!Jfr65LVEfAaJbfl5Li8R[FH@1mKRfq-r3#AmI,$B%MNCZFX`C
+
+PEp215IXAZabqa&f#ik!0b`()#)q9+[L#9aSUZ26SG'K&",LRK21Z(2KZ3`eiA-R
+
+RSJX6@YLH(SF80GF$93UfE335PI6!)bN)1d-5FGGYEm4iCi*K4"'2,NZiqA2HfNQ
+
+6+3"#RP(e'[M3&66l'#%f1,Nm)#!3GSM#rG80IATQ)GQkHZBLeqKISAmK[Ap#HQ#
+
+F(6%HDXQDr(IM[T9FD00&&ZcEZ$'MYLXZVlHVQ#%B2cYk`[9+f("Xdbi!cF@!qVE
+
+flHhEam3a2-95a-6ViD%AYeZQ5L1RHpZpdle!bhA0A)Umdq$dMB$PV@bD`Dl&k%H
+
+!5j6Z1D@@e2jQefjHBbd*i0JGiAYUpY$Mp8r&f(#'-)H(Q9EHeabk5Uer*(%!NFB
+
+k"BYi$bc4%1"I'2P%%`6rVkqeNl8A@VEf$dUJm88S25Cp[TBTP!b-N!"fl'S)HlY
+
+TR%)j`3#BFI!fi2qh4ER'qJd"FS+#HbAkd8$41JmL)9DDp5Npl8pV$Z`lX1lSld1
+
+1(G`lJpfqP&pHArGBk,-[%*TLkSbN,QB-NVN$-9Kb'L+c6BH9"f+2BQQNr@UGM,j
+
+ADcB*S1a!V*lpJa6)iEq([8JC6Gl-X$S!Pr#Jrb2fN!!rK[h1pZ4fim2Hq9Ie6`N
+
+RMe0EU9Pa-`39ip'rEle44hT`9!)U!r'ikL"+dHPIUhl2Hpr(QplQhmf2[ebaFQC
+
+6rl'a4SmVP8D2RHG`Z%N8+)`)l)`c3Pd9Hpk@a(*6bBplMriKM[Gk2$l5a"Zm-D%
+
+3@1-VEZ%-$K$J3pla5(KF8`1LKd[V`YAc+K1`0Uc(hCYlK'MEkflLfDQck(jB[9`
+
+HUJ%LpAPqVHp@21NcS[&LkEcXP'Z-Q'U%!BQS3"NaYNZY(ff-GD'Y$cBDeZYi[0Y
+
+J',a3a&EG*B2*$2Napc[5EdQ*!0PBq0YHGY6E9(dU+UrE%0EFVH[hpcMrFVA1Edm
+
+h1irj-&-T89DAmJjZ52XA8'16TGcJN!$*jlNcc6cJZ6G22kHQMlP18TCF'p2[6lf
+
+[IA*a-ikmAScZ8UG9q`2hX&kIHdid%Gjd2C,`D#f9l22Yh+e[H2Z![05HT0rIGGS
+
+l'02VB[`S*k1$I8RKLLp&F83B+-qqCGSd5-`#PVTQ$EFmmp+m21d%(FqpNpU6DNe
+
+Zj[%QQP*QGbDqNJSrRZY(8BZ0&)FJIFrpH9c#855M8HE65GjM4NcNG#KiIV@pbj!
+
+!qI$iF0c4k)ka3%A0QjBeR1Pm#A`p,SilKrqHLPY[Jp1j6r6GC+`EGbMiH-Rjm(8
+
+X@mA4fp4,kkhiqhiDhi)iT$UiPYZRN!$"Zb-a2E[9lDcUGRSJmm5#jLk-eb6`mD!
+
+Dj4+&e,amaQQR3L(Qfp82Idk60l"[#Bb)Up+GV0"A#dFI+SjrRjqTKe*Y6PDL!UD
+
+MRj*9AFi8d3pA+ajqpXEdfpbX@I[Ci#-pjDS`bQL,RA-h$9ZBIZ9EQGKcBDX0@(6
+
+-m&fI4BdE8f(2p2[+f(4QPj8ZI@c`%CmV*0$!&IBRQfZpSCifTf$E1ck8eZE30NG
+
+5!U4BHjbkfAE`k0l2[Cq(eUR@UHRfheXfV@UcVA+)hD`iT6H1e#)DA3aMEeBl8G*
+
+8RQ$b-C'S%4dS)-f#YYeV8p2JpPTjD1$%Nb3`S"!#EX21bG$KF1&AbM`J'GACRcZ
+
+dh6r!2VT4K!Ibih$X(pL4#-[fmbKck*Pd16!33!mHh9"rTah3KF2JJ(4K[5$SkDY
+
+SebkB5k1PEaKK$G,J&*%3U4G[MjlE%qe99jSi`%Z#[&kNFdPA-VFqXf)0aeID-)!
+
+i3mi5q'HHFF'dr$!)Gjjk,2k5J`Jifr3GY(3`F6&@ScdH$LA(iH(!1Z'M5b+@B64
+
+XkMAk9HjE*1ck8"0Z68km65X82#rXR,KE$MX+F"N`1"[pr$$Zd[6ihC(9rfN5USl
+
+,H3M*[i1-'jTEY!Gl8SZ!1p1"SF9GiGLIS@%[J`9@1$[i%E46dN[-@4qHfV56IQG
+
+ULMk*8dKP&S+eDH(rKfmcjeEHYI@H38AN&-&db'#dF9%3Y6apc%Id[&5Jpp"cR#"
+
+6If1,ET6iFH4@l5Y`Xc[SU@G8rKKAR(G+rfB5jMj9LlKAYKB$1NRS)#U%*[`b53r
+
+,rr@6,'TcY(4I""2[ec%JVeTkh#ae$CbT!-EBRH,qa&F)!h2Jkp-[&+e@`eI`DrL
+
+[m4K)R2$BfkX*L"6Q-T&,rLXVa$UXrZ0$AHjY5VeZT@-L"AifMe$Xb,QcK9qA2!h
+
+a)m@IV3%3Y1Vh5PUc9DP@RRjFrbReNrYSRm6Vk+!4!*%IE,m9I')iTX1L4$N!NeA
+
+#GkEm@rH'FS&i[4SdU-05*@llL!jr3h2$l6a2EYSpATG!qiNKE2aZrd$%05c*$p5
+
+hZeph+0h[`Q`VB!piC(DiKIQ4E-ACbjmZE0X@pVJB'$kB3H1ATFIh*GQAXb`mIfT
+
+VI)a@,#j)55N5lDec'M[5hV9lE`GP,T!!U&9KXpG)I54%"e%R*EC)L`%UB%U#lBS
+
+I@UDG%S2TJJ0VASMrL[8L`9kAm5L!`i-%GkVHXh[fld&l(J5BAdUR5#JA(*6JaKi
+
+f%k2VN5&)NAD'c6XN6pU"UC41$H[EelH*C!mm+`f1S22'iT%RVB!-))"Ki$b2D-$
+
+br+*eaX"lYp06%k+%e13cTNFC$5lV84hkDqNXZ)V6"8HP&Y2T28$FHh-'jHh,f-!
+
+J#LZ0ekRm1$jZ4hlGJ84AJ`E,"kpp2"mi)$Te!8C#U0RC%JJflhUA[83#B28Lrca
+
+IjkRrpB1Xi`%+D41$bEh6[jermQ#j&diml,r*8M`CY*T"k5#5N9rKE!HF[#9lc&B
+
+GIA$8["dVp#pd6Z)Z""G'+j8SB+&*D0Ll8NHZkr%[RGkGi9$,,#q3!+3!)!`JKC1
+
+`EUhbj"5ZE8)Gkh4k*YaBm(6[HN(GpB3qZ@28kZ[-HAL'IfB[S5l2KHd0(2S4dH9
+
+0mIl8@e(4NQiRjSZfA,P&R+"H@j&")3II@[(RUG"6CfBP9m9EX+h)S'B2"he[acr
+
+!L%GX)4[f%%"Yh3$dbA[Tr(h-[fQm8hP+XCQEd&lB3iQ*1m,8(,bV)!%I#J&69`r
+
+IKBr(LU*`(25!P'AJ8%Y)k0BTqqfr)T9"PiQ!R(r'SJJ$84l"`%`eHiXr!l68JA[
+
+P@BJp+!C1P!h&hfpiqpPihC`VX#d%'l"Zi-5*%Z-!X$N-%TJ+X%F!L#$*"3"lU91
+
+S-[pdE"ZTfbMBq!Cj#3(YaG2[ZRijZAaG-K`dBPBk5V9"B+4S@RIEAMR0qrV3YA%
+
+&"$VPiT(Mq&$j%1@Yrk+Kr0bZBr0!A)TZ5L(#Bf34&rY1cD1(l59Z"aL2cmcl&'l
+
+fNZ6p2[H#lRK4la5LiICUF6c$KUSf+8h#UI#Kl5P`PNkT$3JiICdKRTa[qe(@G+a
+
+`Uh`XcY)H%V*`5Ghi0[!H'%1r8fqAYhYXD',QQC6(p6aZR`H65p'RQarmHqdr(p(
+
+,!4&R$+,Zd%$8`*Lie-i3FaM0L'$Rm$CiX(G1X$FC$QE'P*R5!%ajd@P&9VeCmhD
+
+m"PIB1r*3%1f0R[UAMU*[GDpeF'j2eG1DfblT*9VlI0K1ek2hNIEimiQldc`+Tj'
+
+5c6`V-3%0U!R6)"%"L11MZ"@lf&r4mRX(C*cCB+r0V`"(fXkeRE&bep"c,e1"Dp"
+
+VFhU8$60JNf+9U'e&X5fPZ'BD%1L%m5Fp%+J!M,H9-*m3UeGVPrC!M+dVB#+Gc65
+
+Ya1AMbRIMl0F[)S,B#,D!MAl*p#@jlQ$6Rm"D*F"K[N0,P9[%VCQ2i&E8VGZ3!0+
+
+h@KRd'`UU0,'Q0,bYla0l-hUq,a0RZ0R1fEI5Kk@Jf!H'pNLq+)AlH20c[LRhTqJ
+
+--jY$)b1hER0AMUJ`"QJbTc'm("Ter4@N3Vc64f#'9*K!*$MVaI",DfGmhP`H+lf
+
+j""HKeSHSESNPH6i0*1!APrKG!b6lCP%1G)4(c$#QS9pIi0#[4jI&H#$4ac9TUa-
+
+)6#Vaekh`3l9FYLl'fh*LNml%3l3%*PVHpRVekm@IAq"2d8M)Z$mNdQL'H4K,i-9
+
+H[Rcr!fZLU6@M[cEFfj0Zk2T`qXImhDq$eUr9cpci(9k-e&9HG(&-AlXfm9JGii!
+
+YVi1cAfDqcRp,i(5k$'q4PkXP@i3-8!L!`#Y1&jplm,$cbjfLZE#3!&M$X)$"#Kq
+
+R2(kU2b8IVi"pbJ)Lkq$q',jV-,1+!*95J[iIP3Y#@dhBdKLHiDd1EKm)CDD0bE$
+
+0$0K+JX05&ER#(J"J1J%!B3J"%PqJ))9$4-'rfZeVd,f$!Er*#eSi'G`Ye9*#9P[
+
+8YEcZSA8-NFNP+S-([%fc+rVF$(d*He1q(ZX9S!JP40*hEp%'+#AS5dkdAAPkrJG
+
+fA%[Ta@(PcE4m,(,Bi',S%2RMil%!2k-P(+a2!qH0-@M!GJFP#DKi(Yc8mVfj+$f
+
+kV(D-G)([T8k8Qe,[fGbDk2NEZ9mpi)"X20Rc3eUPEj9H$Zi+YbVFj1HEM&5Aj5c
+
+#k@PKkKcRp@PeF2hkA8dZT&(Krmim[*NT4ISlUXpH0@TeUHEq3k#[JCZIhqGQjfE
+
+R9[rp`IbC&GfieX`r9KhX2jSHVfr9prpr2rfCr8m6U3r[3r5&D9)!lNG,5kP+2,N
+
+bkR`Ylp,9T4qplI,bkfp2G(&kZ0)rAPkR1h[dHV,eCGl5kJNrfmQA*V6AI!qkhJ4
+
+l-26Lp+EdT[b5G16TbIrAirp@K$S3q,q0fhcSkA@1XMe0,e+hAVqTTGD%QciIpP,
+
+2T9Li18[m2XdSp,HT9-2md%QPe*HTTI[5r5dYkAGUUAmHPNRhKNe-ZTKqr$(aZTS
+
+G6bIhS[hH-DGCb9YPI9-069`kYq+r8[e2Pe"aG8XjGN@V@ibdDNe5DS,BhrPAi2P
+
+k+ERB)%FU+Yc4TB4,V$D[fVr5[R5TmX%!)TV1TK@%H[rEh-VmA1lU!iP+-UHN05T
+
+PIL@UNK38+Qa8&aX1'qCc(beAdGF+-dCJUD-`%0&@F5,Vh$DDiUV[XaZEiFPQ)BE
+
+&d%DCh$CkiY1()`V4*4R%T!+eZHN!"A#jlP80Gbc!6bp%E#dY%`pFqALKJF,-qjD
+
+kC'@PJUPd$dSl1#D+TH0DH+AACjP4U8JS)S2,d3V"d(j8*@+$34BHFdQicECb2LY
+
+PZ)GV'Yj&bak"VY4*I6`GS2FNhH&1pS1$d%fLTRX+Z`G+'KRd1+B!lMr311mKh3H
+
+[T!+Ek(4U84c%"X"TMS24"A`Y[X((55Q-)EcK#+DfM2$YK[UcLJb+'MX5Je!*KP%
+
+X3k`$,4!2DqS2jH)R3#@+#BX0LKi(p&LKi[YJ1@,Hrm)1PBk3!"i!eMpYRk"QZ4f
+
+j,Y5jM)*'a2pVpHeVE&LeBY@0Kk)$leZcfpSIXdCrcI-hVZpBr0BSf&N'B"l$AVm
+
+RmYF"'Eq@YAlk[RIP%m+jSaEL#$SE0[CeFIPd,&R@ZA0@hCm2flIp(kqVVA,&Qaq
+
+NSJPYhEZjj9,@SYJLDQYrJe[lq+eV@YDdh*[@U6bBiJc)XdLIkJDR1,1,Jc6368F
+
+*F&SNZM[T(IL!TjbEP)JGbB0LTD&j8!PV,YCHaQe[#(LL#$K8*0M1LYlUCp*"!)!
+
+Jl+Lciq6(cQMAfSM&`f*C,%Qa*D3#)"*YLd6!QCHm6(@S6kXZj9V6D`"U8e(0pfU
+
+DcP9@MT1LPiq1HbMFcZX@E&RBMd03#!'83$p)Z%V[GBTGEMijGB"&fVHQeUfV,G3
+
+38k8@jh@,R5JB3#@*GZVLlY29@4VZq(Fl8T9plLZlR%aR(D29d!R%aMb"Z4Qaa-8
+
+9MMlr1fH4MQYphiZGV5rKUhCVI`2#1)Y63"!5K!"b)YV+hiSmS)L1YfhG0rPB6C5
+
+QLm!!RG!%3$5d-h9cGA0eCIHX3'8'DmVI3q#!4J4amD))33$r'L2m3#*AAirXbfH
+
+kq,,rZirkJ#2RUH!Q-9BY2fFf,0Mj(XT@)"j@,4Y@9M!@)F8HhhG[RD(GIKQ(r"j
+
+SL5%XXa"$33F6&'#lRE0@(Z[D)!eT%8!J%b1lCMfKa#2RDlN0jMQkNhqfEGQqT0X
+
+cG@Yp,1ikL#hfZ1+h,"if-[!d[#9[$4!LAJkZ2DpI4dDpHhE4XM8k@e$PjHEQq%P
+
+`cN5f,ZKZ4N,M)b+'r(5mVIQJcF@G4Ud@8ELJif1DVi[YdD[!qbCZmI%r*,NF(qL
+
+P9i2p%$,YJJV82&k01R`kG2Sm1c6k2'Tm#RN8qhj0&4!C5m"k48[JmZD(NHX4VSH
+
+2aFrX)#,5XG*l`FFpk1kl-d+!6ZZbJ'j'+D&GN!!b,%%T$eJYlPZliZ1h"FhcF'!
+
+)HhEi(i)%#GcI9Th4mrHYlY#5LR+RN!"IdF$(jmrKip5I8`DN'TJmqI8VPSU[36"
+
+NB2p$EYlB)BG5,8mcciG6cNbhU583dr$2SHKq68c[$rUe2JDQIiIj22TkR6Sr&Sp
+
+MJTHY)))B0hSljH0@lH*0jrd$*hTQ,@Bd(&3Rm"kjTZr'VG2p%m-SpIrb-B+1KMS
+
+,Gf"ZE[S$Hc8eM-ffEHjiH,SEP[FJ1XhJIJEJeSbHKr0UCQTUkR8m2N@l"[4dEQ+
+
+K4S!%3RpcJQrSR'*iH1hBYlDlr455,+53!(,)h)!3`%U+H$6aDFQR*TiYF!cKp5!
+
+40dF9bDi!5h+)"UqIRDRYdDG()E"KX3@F"k96qh2djqRJpZHM"`S)+eT0BC!!2lG
+
+$mrRe,GDjU@qTFXDQPEJ$P8H!ClJGC8Gm$&X8862$Z,bfp!dSKRl+'8"rci0cSdY
+
+6&iP#h[KZYm8Kfq"M$FEEELfPX"6fJ$@#%CDYf[LDe2rJ+iNRPYYBhCP!d%'akpV
+
+keVkfakm'c,Y5l5I0b%qFH)Sc1G,k!39!k0HjASH+@leB`#V0#,d-HTFe,QTd8!h
+
+RJ'Sh1"MSVXE'1c")h*ZFGJpl!CZJlEm%b0L#eJq62V6kfQ)K2FE6d`$d0HK3C*S
+
+fQqPGp(bIGX8!#G,bIGeY2@d`#I&,@UPm0K*CTI2dHkQl[VCr+*HRGjmh+f2,6q,
+
+Y0)-[FHfT%N!4"%BlHCLjqd'84cEN8XV&&G*R1,B1K%"NY5AYprRb`6+Ne5S@ilI
+
+%aafpHh(d$2"(596RjRAmhMpT-fZP35b[+Ip21,+1G(P44CH2-LjjN!"R!@L#QJ3
+
+!4G"!-4Pap[PqDQB-ilY$&(4M!*ViNiY-U112,cZhdr0S82EJ9fA`0pR2r4V9Db1
+
+KDYE1VI$amjiTbLM9[5YeF1P$Ac+eI2ZFrk$qpa-*aYFA$$YiDf6@c+hc-c-r@I`
+
+J9$J"1M'CkI-2iG&QAZI[8)hLEQ*%Ba'1Q!D"6IaqEM'QJdfBrdB*6+h2-Uc(Kbl
+
+2EiI0Xd,0($!Z+aNbdal&$jriaa$q1EVjrUmVXHArbSm+PP3q8UE3l6X4BYH%L'[
+
+j0KCNP$mSNMR4rP'h#Pl8X(,F,D35$2a%qSMAJ0E"Ha&HaA%*GBNF#Xh3QScHj00
+
+jm`"Za0f-rh190jHI4pbM`1%VI#J2HZl(iRRUr)lV&APd*IP2V46PYQZi$'HMrS6
+
+6-lI1mhmP$1S9D+hN8SV2EVGlMLVC'r#3!'e4[kEYkpEJULCH5FFE!DLFZQ6AN!"
+
+qbdq'AFVhFlIVci,D@$DqhRBmqKR$Qk[3R96U@M9aPeTBemHF'0jLJ@21cXiVdS(
+
+[8Pp61aer8`Il6%4a9b2#!kp&[Cak6UAhTdp,Y*p,Vj1l*Al[`NjU4cr,3qa4Gc8
+
+eFG@J-XU'[VQ8ELVl5!5Z+8eaV!T3BT9#Q!`M`QJS+pf[mQ+lArekDiR,r##aAap
+
+jFVQhYAkNlCb@+8X8eaIKra3DE##F1p2A2JB(`HD[LcV@H1%$`pA&CPS5iN1eJ3G
+
+E0I(ApA1pA2aaHVAp@GEf#AeTHYR$DcAdFk(1KcX)"1,R(i0R'-dSJjFXpEDcGIB
+
+JVBUfd!5I0#`2r(Yq%VT*`JSE'#Y"QrfCZAQrfS"$+rMm$[A*IEjQkaCZ2BLVAXh
+
+(@[9VfF-kPXdS)0S)$&@Lf!#!H89&MQF2!fSI4PfkeX(d'Erac42[rMQjZGraMUj
+
+eA6FVl+$(0-b3!#"FD1Z0*+m$LIa5eKVKMf0@Y[9Y"5MjEm8IPPUlpHA1hm%[HBU
+
+qjR8ZmaISC'F4VmlIdf1rp#ATeqRhRj-(d+kJM2j'IRCqG*RGjq5I+E8ZUKYGK$#
+
+DCLXkqE(QQEp',cDDZ&k[jDYA0Uj[jF*k2j[jFfRQQ-6Pj01PPj2bSf6rPR,jS[3
+
+K(q-(c`J"i%a35pb)9aE'dUAU!38l$`6Ym6KJ&'JKr(@X9YN)3AE9Gp6!%e6Cc3D
+
+#(Q)!4*A'eMa,rB,jA#9MVKP8)dC6`'E`fEYS)eBe(RUfV2$hk%2!a8UA$abA-l0
+
+0*"@MU#!k#1T0Fe-h*TC4l#m2I+ea@bdQk5!Haq6lUG9DHad-2%r2jQ95pUNHG$J
+
+qP*!!HI%F"eM(MT[e0Rj6`I@+"H"dIPidBEij*5cIGPZPlDNFP3rdV(YYkYS"'"%
+
+-1JM0YKpB4$)XYhq2)Mecq+LFp$6DCkB6f%kLp%f8Y'XC!G,4T@D8aMI08m*NSkA
+
+f%IViUQ+S1PDa6[b#3BcPIDL5#2A[9lq-jUFi!QRIqD3YD#[%NNL!I"+"q%VH9J$
+
+5Dp,`BB&h4f(eT1akrRI(aU#)GM@(H5h)idL5&CH`AN!J3KY%G@Ir-2X'IA,e,(9
+
+jXTc"S",hVB1YTc8G'#CmHCArbRBlJ[3!qXAV'$#*kdB1Dcmi@%1Th%i1K`X'G2R
+
+3DUc[@$m5"p!h(mGIl-4M@K',$,(Y$Zcml!`2jHQN-eEZ+ZLi!Jh''mfVp@pXB0Z
+
+FqJ)(6AG"ZFlihZKHIdhmqrr9IcpIqV6ck%d%kTl1ZVS%L%B)TGh[m4QfEY,TCLR
+
+ki2Y)Qc`ID*%@NNR6B1X*q5)YPHXe(Z1iJ%iICS39$THU5GeqCqNpTE4R@Eb!3!K
+
+d`br1ISISeX"NAQS&5iZ(2TA"@Y`I&a)SYqXBk-963hlU3FeLG2LQCNJSK+r'hLh
+
+2qkmLKS(6Sk94)5h[N!"5(!X5AM,jG!UQZLA5!3HV6R`QYkZqTUSRT&HhEflJqS5
+
+IlY&2c)R-E*)AH$U"%f3I"3-b2HRD,)H%AjR-Nd1pKT0&$I!r+CNJH6LaCq+iBle
+
+0qMk["@+,-[)PPVFL[R4mM1X,eU,FY)b0a"P[83r(b0fp[aR!C8E&)A+E0Ra2Dj!
+
+!$BI$Dd3CMLaSZbIh,fS*X1-ab2[mhUbr6irY9ZTRD[+j#TEQ*2l-eQeClAfC)19
+
+a['qbDF8H9r*)D@dLZaDCFBe5iaTlm8(`mGf@1@1@2QaqR*cUL)E0!5,&+F28*G!
+
+D'eG%mL[cZLC`('G5a@,H`Qb(4Sj*XGNIf#TYe,9DR`HbpB*Ca&#k1@+`p+YFm*m
+
+$p[hH02bHKNf+9VPl%%'G4(Yq4iUejD5-JCke'P#%FFcP1RI[kZVGZkfYh+B4KL#
+
+SkBF6m1%a(DY'IlP5P8bHk3R`J1$SdTY,VCG5YZ8UR#QJ,[Q[Yel9ZQ'(Gpfair(
+
+R['#GUV+!C@PjhBPiR((VhB[(%e`rL5B8C&'LHlBq"TGaH1,E!H!F#j!!#Bfi18[
+
+X-V(GRmFCFAF&d"NGH1[(iXB+Q%#,jhF(MaAX9e@klp*le)[8MahI8mIrEHf85i*
+
+P%4pAldClT+CaEhEb+0r&G6)P'f8LrQNA8LBJ%#9$9p[b+Grfp@R(lFAD*F++3bk
+
+B!3%$%"U`DT2lbXl,!-XfjANJCiK(DZGj!i1ZlFFdQ[&l%GH4lkQR'[c65kdZ,@c
+
+kea2kc19$*kddl+G15FeD(MM4#kr%QRKrJ24fEZ`*IGFEQ9mVq0bB!*%%'9M1i2&
+
+VEAkH,ifeVBMTf3#4!%rLEr)+Pp&GPmJZ!GA1*r#'kB$2(P!43Qib)%ABd3#29fN
+
+cMj*[lq,idfY0i`CBcQl!%UNQja&l&5Q2eikfX#+pBq1Nq6IMh*&ii1)ZL$TEjXp
+
+iTD1N5@1kmHAdq4h-SJ$Z[(XHR`eC1E''h-D5d1a8!4!PkSN1%[@0QKXYF(3E)b'
+
+8,80NfiS8!LESqCQ))1dm$Sr)Tcj0EQmEYIBTQQcK`S"XQIi&k*G8&,8164f+02I
+
+KJTlr[+AElrkif'KJl`C+)kbG8c`9a+F&jJ-Eh2hS[h46jY3"ADCK*L*DN!"fq2N
+
+d"D8f4,YH94"*MNPmq@64iNhEGEYZ9h'IjhGL(GL5MV8CR-[42-YQ4rf4jHAPp[r
+
+EbF[9b`'4kZA-X)H,FLZkqq#Df&eYFQPif1T3lFH0ke"Y'#,Cb[CLkH[q5,TjAj+
+
+RlZB81"+85GZlR(9,pX5F`G('Jme'Li'08RkZ6rJNhpMENhqffqihj*HpakdmRfj
+
+0$@m4Y3!82eC0EBeXVqD6@lE@ppplPDZYqRa2cK3A@e3%DZN'@H,"8Rc$E0rBCUl
+
+qPU`9@Gm@kCSKDpZRd1eJpjLc*Im11(R`pHRamqCY3"%@F6eS[5k1P*Nak1CZ4HY
+
+qcZ5HY($*ZGmh%l"a2CUAX2me5m!Jhbq,5rCqG8qGPhqfcG"HEd2"(&r"Jql(T43
+
+)L,RZC`hGVNUer2-REf"bVfZ2*RiAAppGqCp2YHqKq2fZpALLALpMT4rLMV59ZMU
+
+4G51a*TCN(QUh4eAQP+Z&hVkmMX0A3(-BfpRZlG9YJ"BaR4SbHl&"Prdp[RmRqV9
+
+cirkSjYA2UqBfa"&XklXKR,a)6`VN!5kDp5##SH*dH($Xe)H*ekQ2LqVqcf+RAUH
+
+R8p1,khHUdI05kfHE&Y!0PkREkR*e0Aji4hR[63+J6!MF@KPkIEjh*ep8GeL`%G9
+
+Eck2IMV4eYG30PlrEdY#A@hMY#k9lDPBJ&Z$m#1YGT&B0$CZRE9&rRZqa9@QkMZ@
+
+5KJUaql&3UHhQ81IlF9#,fiZRGpZ9R6iFcA@C#Z0T[#B#adETJ,+)1dMl-F'[#9P
+
+BF[$fpRc5Xl)GMefc+UN!EJ+,AS)#!3Ar0[JU[bAleq9Ie#P$TEP,$NR[,Kh+'Mh
+
+mfE0QcGr8S3j&4XEXL-lP,hUL$eU&&qL$bd%(-pL'I1m+,EcTr"dS)qCpk(9(-fS
+
+"$8m(NUarYeYZYYkAlLJEkY+2$pirdq6@fjp32fK34C-8I'VGBdZL#$3+im%fIeF
+
+qhEk[$rbX)#r9pF65Sj-f(qP")H3Hj,ZDA9P83*fQTfR`m-S2MKK)i'HhJiXEL+'
+
+(qU#RX3j'-k8Up6V`rpY6VbHTc[qZKrZ)8J)10JMRMRif#!SY@+%j9--0#AM,BF8
+
+`&(,fLSakA`P!fN8j+@P5)`FG(RID9D$J9-''a8X9-1%dG0'HC!)J'fjQA!fBFH'
+
+"-K6ZHa*rL(Urq+6X6&J5MFi6Fd&L($"kH&)pm[FcMhfM*HN[5AXrUkD92XJfj22
+
+SkP'hXh2`G%f,lRb,IhHKZh%j(QfjNh)MF"TDRTB08ec&eEMJ2BhbKrF!l0mAhHM
+
+@0d%!LKqV!XY(GS3qI"iQ'hZA)I3Kq,#I)m24%MU%0"&I-L@K@S9ZKecCSZq(mrS
+
+5JqV@qZR9M`&iqk'+QD*KUH!%1ZI(F08fhFk(8Z60,aZ`A6HG[A,ebmm"(LQe[FT
+
+0XcE-(m(4TH(5ZIqT[VT[KAEGfhG"p(4A*f`iED2hYLT8AL[(l6jK![M9NAC1Vk,
+
+jm8(,*ah5fZ#k%UcACI+p,L)$UA%6fka@dBe1#a&2c#J1MfJD09i[iR0eTm&,+rU
+
+,U@#2m2-VhkdFdFXLGMDUE)hf(b`hf#pYbA1CUA[pl!aaJ0iZJm50pNF[FcA8S,C
+
+krfBQGl4*5J`AN!#bMrMjF9j*#lJFd(8Jabl%[Diq,ZHqm(2mqhZ8lZ6,$im2lRD
+
+XaYL3!+c"EMri)cDMSmbMIri-B"SfUh@ZqDGHr'4FBi1C"IQ(%@C(Eb[h&IEIK)`
+
+[Nl'VPIH(hfVqMpli`"T06LHa&U4DUQJbBUBH!Hq4rMMVL!2kJ*C-Ir',YBPE,2A
+
+kciNmkk6FP!@&8fS0FG,5GLTjX8[,jpiMcb1IV,*I)3f$pk22b[%LqR(rLjILA[5
+
+MTMqlRVIALcD,1diZhLprMlb,1LZBUHeNlA#a3Y0ar+C+ZTJfip56Na3FcmYkU5$
+
+aMC!!)1Fl8)p-fjPep,r-[hdThDi&@PD0X8ZJ&XUkbGETb3l9)f[8%(SjM+CBrRI
+
+CUN@c%&#A'ZE&kSBRhHA9[HU!a2*CVMAGLrk&HcIq5l1D$`#aRjaUmdLJb[XaI*!
+
+!he+6Jae1AeEh9LkXRVa`5E04PAL!S2e&f+)XA,P[@iY`-q*R40Ah4P42JfSqBUA
+
+L4**BYk6U5HM8A!2HL$A5Alc#[`QrSX[09ILmphNIi"4A"(aKP*q0UDY@R4qiD-d
+
+e64KQUE%e&Gi#PZ`lQKqf9h%kACGM53#+#26328I6IJJD8pRjpbj"Xm$RF,-rBrq
+
+m%",'1AH$l$2%p,BT4HpjHAmDY&4jbA%A%rrAPb(DhkF+r+G#,BdTCbLM@dFbA-X
+
+'5NCV6m+#a$0fT*6TN!#[pr5l`dREIATeXRZZ&pCL!D@QEa4V54IaFc14S`qi'#K
+
+iEm8$A444IGLqS*iEXGf4BU,)V'cB`T&%URM+G1U&0N'#[Lc'AUrD!4H!T9Zd8m@
+
+82c0Hq[Gm"4e+j4"`0IA82#AC2-[ar4'+341E0KBDmB58NH2PMd`"51cR-q[C4VN
+
+jVemEp(l[a[*NmL6b*,mQY*p*62VZ!Drj8!`cB!--l%#JX)i[`$1,rA[d!cEM3b1
+
+BDM)PQ[M!0@Mm$p(TAh5(%!LL"9L"Seq9$BmbKIEMj!**R+)+dP5+PJid9,+*2(-
+
+q$Iq%Le8PDT@LpKecK"(l@aiUi3Gcp(flb!MaB[9+a6,Z$,SP)$5N6TRjH#p5MeS
+
+pD1j*DLf(1QTF2@KdUPUDpKhHrL2VL,[cL)b2Qm"633bh*EQPReBFkTU%9"j&HU9
+
+*R48*G,dl1NFM0@TU5`q"Z@0baZIXEPMUf1YKqbYbKpf(bFl9LkQGTq$@J@jH,Q#
+
+GlFS*h`E!Qa&*SiV89D2Yr[aATEeMHi%E3X9bcGK'#BqELRhUaGj&GNE)`,!9SBS
+
+0["YN5cEj[U6rlXhTCJV[,LX2Hk%cAe(ilClmm4!IMKUADX-(k8IFj+j+HAh@(CK
+
+dH04j-hNe)iH08-2C6ZM35,PiJfGFc)))6q(J-`!%E93TFcl-0V1q3KcrmH&6Zi6
+
+q*)GrdImIbemh2DS&MfJ3V#+(fGMBL-a&!*((aQj5LS9i[CdYqM5ihXFEf-2jq0l
+
+%8i#[iBY19I!(FdIZdI`MBIkFRlP@M5hYIpRh[,lDpqVp'TV3UbmX5k"HZ3EGLfG
+
+*F'32*)mAQT!!!(,1@$TE'8eh`XHJ2qXKFcAc3#$UKIk6BPq'$LK[fDA*,)r"am+
+
+KPqlcap8+e,If@U(+f*)H$$fQjUBH9$*$NiC,2R@C#FJb(l-@KkH9fB0baZmN*DR
+
+$PBr-SCrUcHUFi+Yfl0,3h-SNp@Gr3(rd)6(bmCarACGcZQ%%A*UF6lp#-"%A%2C
+
+2LE[QEeEUeZRarT9NQ'C"`&"SCI!aFUD6X8I10eEVqD3-kP9Q[IJBN!$Vd!Tf0r8
+
+UqC90h!mUH1UEeQhbG6+ad,B#$drT'*acqHBlR(lCd(84q'AJkpQYbTK(jLLIXBN
+
+K*[#JY3mUT*0`rXfS19SbE2D`5D2kd`CE20hT!r2&hdA%pNKpk[`rUa'QAfT,XrB
+
+!)9BR*I"2ii*I!amVdC,P(hFQVjhZb9C+XQD`Jm,&S#j2"&eZqhUQp5V2L(Qa#V%
+
+(`rALhS0l`[UGm9hZ$p5,Hjfp,kmZeQdCQ+#,3(+GN8FLa8YU(&cdGJlT&+FlCm$
+
+lqKHNmLKk9QPb[FU9B",lj4U%2K3!kMMiY$GYBAT"1ME4UQm(!p5,V8-feAd"[j5
+
+)Z(R2F`e@AZhQEIDil'hSG@+AJBi5&*jZ+4pMk@*aNX@AI!ak&'2mf4*6NmhmdFN
+
+9%ZHQd`jFc4KPSBV0(NM,"'A`bma*Zd50d%8Zha8k9RIj*K+)bmKQrDaP1IF'AcI
+
+fL!%&'cLj)0S)1eajQlcdIGrGMd*&D1SV[PBU-b!L)p)89IVCfElGE)V+3&Q$N`4
+
+mEJqaTcr#RbjmLILHaj9+V5UcmIfC9JE[K!D"*dS`55q@4"CVFfhaeZGE%SbAQi'
+
++a"hZ16HSlf6Hmj-kHHSkjeX9Z6f4$@*PaH#D0IPBTLKKAGKP5rEpp$6cV1Ib2q9
+
+@hfX2DlQAErb91h'1il8I5FD!`bU9R`2Ed+%IpP+K6rXji##!cqCNJ2#hqqT9+Q4
+
+q+HIiAjmZplbpPrRmbFmErlDfAACB$Rk!LbMlNp"@Vfr&ZFlFiq1AFUQf'TJ0h-h
+
+DF2JBqqp+,FS9mNP8j@r*eC1V*eH-V2m@J&NV1GbG1)TV`bHDLc@3!$ir+@4VBXD
+
+%[%ad+9MFq'*0dUZ9LmXC[8ZlPFYq`JJJC3'!5$mbK@kNZl9MlY8hjiH9$(&`rAR
+
+JlkPa1V5pHTp,c1U0[Gf[e1k831D[$Ej5)$Pr+aCZ49h`UeZe8-ra0LK*C`mU5TX
+
+8BSpMbSXhBQ(rpG6IM6Fdb+1pDaFVHNhXR&*&jF8f+B[mXjQlb+mdD#TrKi5F5Q@
+
+@-rcjYFTq0Lk0(`-A*0-6JBUN[122P$[-`pBh0$F3c!#+)Ur0Nc$Ed94HY[h#"(D
+
+13[K#LSk,Jj5Y(jkhI6e1U*rhZqr28TC(jmZTqVqI0U*m'Ch%EJ#6M+KJcjrJ6eq
+
+aR4f`('9l&-N$eq#$&m!qD,BrH8)49)TPfD$BDdFQA[0rp!pQEL-rjBCX[(0,-1e
+
+PKmd-Vm""Bflp,b1$G*f*1ckXIVaE1GB+h+##lPI9NMq0(rIrikdjS4cb)"!#I!e
+
+*eS*`lN2diI6MXGTSCR$mb5P&PkfAHl[kG1Y(iA19YrKf6AiSmDD1C!*'H-9#T3q
+
+8E9PUdRIHkSR(3[d2(YhIaP`aANre4I-LYeqRTm0m%&mh#,ZeUd&[iLAPA144emQ
+
++VAGQpkIND2M6CI+Me)qY'3r-kTTYU$T%da(6a2j'0mh"Uqe2LEi&1FNjcG5bBeX
+
+&Y3BPL1TCQdl,8XA[KIim9hm5F+#%NIm2ER9Gl$KXf8!Q(#HQ(5Yp1IU@1PCXfU[
+
+LG[B96kY-I(GDYAV4k2j*H$,"SS%!(9XkGZMrEKh(ch*6'1K2H`[I(6&iGk'pAjH
+
+GMjX9c($Ai8m1,Yp1[2EYSDTP2Xl(AJd6pjYiZ%+HCN0G"9$$AKFUpE!KJLYiVDi
+
+-ZBSUKfSGVY95!TimkKRDIIjec(lb1R(6[pZHaPcATd+H46D6[[R0KYmhIYlG[IK
+
+fq&[jQhm`H@`lG1MNUjGdSDZ5!5(5``3U#%!P5V09Xq!N9[)h)%rbKpU&N!!LTUM
+
+&C@XePB[9ICb[ber4m2rM$dqerXKrEc*Hm-UL'l$ZCcRMNrd+r6LkIHINYr3KkI[
+
+[bCr)e-l*cZer*$(GcCE5#$6hkpZ,3"YV3p@'Ehf-`-ef*YDD98Iq&l1H4k-qciI
+
+Xj-'6a[IICca@$YIj-QPRZl2iB,ZrSEG[rE$kN!$kR[XHI3e1MNh-QjNp(2Z5+mF
+
+RJcKqTR'@66aGa"b-GZVNeFR9bHRhRZXhGKPZmf@HlfBBKpaXjhZDRL3r`8mq'i1
+
+j&5rm-EqmVY06h-QE*pc*l(FGM2l#Jc2crlUP0DHHhFe16bXlPDHTlc&8fmfei2Z
+
+j'hfPZPS9p#2rJT380A(bB,Q-64ap["RBEPqRITiDClpe,lDBe,*`rFVEPEelpZr
+
+ET3qpKbiDfj2HT6$hGI0U8[mc!$Lhm%!bmkr&p6c8rKEXmF$rS$jc,SarJepD6@b
+
+pD,p2LpARp5K(fL01mLYXHS*'LD1MmiQl!-plGk"&hSF(Y&cDC6KJPMha[$LedZV
+
+rEU5qqaFplDNQ`Bah,A0fImQ$JMALD2(8Qc-[Rdi2rdhYTVY-M"#'N!!$4i[IlAR
+
+&`%elRXi2UaIf(BEe-Vq`b-HT&k8IXGYf-cU"RZSTHi0%G"cTf+*YMa4arJUAXcH
+
+mf1"A1`6bdd&aI5UU8cMEQer1i&*IK'LEE-D@@c)2@rf6GE`*rdN(f3Q'&L9[h1E
+
+8MEi@echYqFR)Zc"5EBB*DPI-LjpH#HJYlFq"rD1D"+Uq2,SG[3mh'hbEA`9`0pL
+
+,X!%aB&"'AMc#Jhj6d2ZU108ZMr+%rAjpZ"UP')p+E'6Jbjm2XF,c+Pl5m5q4pXZ
+
+HPqV56MBb0R51D'pk95ThAjM55'RU!3d&qUY@FT%9X&Sqa0-G*pEAXhX9qIieFjI
+
+kp"A"r!r$5LlAmF@harc@[VF,kHKqfqN'[r2X36F2(U4Cel1eZ&Upap+[8rAc-Q(
+
+YML,Q5kVb,('aa@Z*LZfp)rJ'K[q0$8LppM*VVIXkKqH+ej123XF6&heViq+S#fY
+
+D0c1Gk6X-(KiUpM1l1CZFM(m`VPTm[d(&j,aNlj*r*qhbT*+h+TR%MYbI6VG+f[j
+
+3K1bb6DYE3kq800['@p#QSfXNq"RT1Q[CR9Zil(#mf'@[,rK0!Q+CBJb$k-mCqqJ
+
+6aAj8RamFNddRJBi+-#[*k0&+H-XSmV(hV!C(QkV9rqj6RRX#Y8mmrQB*jriG2`C
+
+jm(aG2aS%NJC'h"Y(KYYD2qfKpLMkI0qT`0P(NdKMGJ@E$DemHR3dk'$"2"TQVj2
+
+ERYi0c6Td9DLEI3Yh-9ZES6H(Le+hReI$afr+Yr@k1EU)f%3[Bi$9['3BYUN"6!!
+
+3!fe2k6)ehda'*pqGJ-`'0@#Hj36HQ4P@iE3""#ESB%!`c)Ar#S(d%*id+5k!C3T
+
+352hN9i)X"",R$JKYGcA`ch*lQ$`i"[DJIrNp$TfpbhZHKM!0pZhdqMk@TmkhdqK
+
+p,8rbXc)X3BqM4e+9c(dBlNGc(d$FAi23kI!@*VaZc"pM#2Tp$FSE1(&2*ENq2r8
+
+R$riAp9KV0XXGEM#KGbYNpMB&$5[mAE-NXXhK+NUBq'`N#BDKk1,@fC1X66pcZGZ
+
+6V8%VQY@1`43PcE,eF(rMQmbX1+ZEAV-f"T8*D&AASpVq+1R9SkmqEFcE@E2hp[0
+
+XdE*T#+`l""JZ3QPC,[B,PBV(U3!"!0)VG2KR,X1H%cj)mIFl2+f3!-(XbE2Fl6E
+
+Ne!EPDj!!VimG8F-j[-cEqEp(0Mlq20S1)#($m#Rr*$U!mYmUhVITbIi-VrI*HlR
+
+p@26J8d&'A$SK2'Tj*e0(UD`"MfZkAFp+2)AL#%28ke@D210#LAZ[X*r3U8($hmb
+
+PmbP`eRC`d"$YMKBHKEKh-b&m%&HPiU#"-X`3k1JqE[HCL2krLFGYbUd8'lJa3lX
+
+BI,pA'TrLJGc3#$U"3rA`6`QY,+1aa$1+YbkelQlfE'SqT5Qm'*H`dMeKMYplq2b
+
+,HAU4q*(m@6aSQ`EaU63JepLQCk2*akYMYl'AUN2Dp(jFLjT-Z++L%"4&(!3H43b
+
+pGrFFFU2N$GKN*l(NBkM5G(bUIN@1dVG%U)BGqR5pr[pjDc["Z9kF91h6rFGFilI
+
+22,)(dKjr"&QT6bBY@,kQ8&%JJi@MqMpLR@Kkq`1(-b(Lk'I0hQ-Mk5`Zej6ITE3
+
+UedQ6[0f12k,$k'ARTRL*qXECQZkr,pLqm0kP`"N'cTDUcp3ZXr6`ik%(!pSVhEq
+
+KBJX0Xa443b8mH%6JSlda31UBUA,l@pJqM32HC8ZkSqZTd0L@Y,QikeLYXjX9DAB
+
+Y#E$ErmA'ieDY4fNffiBBUdde!Vi*GZFe1c8%'PT6cMV#!9JY3fUGUR2Nq2J3[ff
+
+J33@lD##MBNYj0hY1GfPhiRk3!-eV23dAm)%Nk$PrCiICK62r2SKQ6('pHTGQKm!
+
+I6*Z1Nq%%4YqlHNhZSiJ*B*S-1P-5aTUY4CD#HQH3!25I0cJ'Zb$9m"6DSFh$3SG
+
+bH#NA'0+e`EA0Y8YLTD9`I$+JGm[FKfH([aE+A#Y'a4X'BpDd%0mG['hbm9#Y4Pj
+
+IM`IYd[Td4-+MrViAcp$EG[28I$ajp[i&ZRL`RdIlr8lc8lcp+jY(1H9[@PPjq(2
+
+KiX8)pPKXm@cRRTQAXbhk6E80mS5F`fN@MRmc6[TY4d)mKY'8bHE%Z%m++H9Z5`f
+
+iF'jPIELKjG5p0%T!*DhlV(2B`EP1,+r$@R`EKXYbmZlHh)eajaH+H@[TiqJ26CC
+
+ai3XIrPchMQ2CNbZcd0QST+TV#!)L[(JjH,S"K"((,[6hX"KI4@k`pPLYmZfFdI6
+
+M@i6(&SrPebHj(3cGIAAGG$L!1ESmTLhHD(C!4'J)McJ2I0I1#"0-q8p5I2-4UBJ
+
+(G#@+Z-fXk2q'*5!Kh0,&4("BjAT66H,pQ$FdYqP[2[)p!*-*qR4iDY2p+M,`r``
+
+EH(&5kN1i[&"NE0#,JHd(&QdYLK4Sf1$Z8+45*H"qNR&l9(e24MpjIbZpcJd)0%i
+
+SfcCBD-C(TY%c5%Ef6E52IZ,YCqeFGfXQ0KGPZkQYdEd2mm9fYr2VhKaKG%[ZTP,
+
+AQ4qM9aDKm5T'52LddiZC@q0-GI6B*!fMPRR'kk*N64E"M6F@,2LZ53XPm@Yk['R
+
+Jk!U0@qVVUibjHdF`RT-Eq888jYHkXaA!RLkBD5BDf$Edfd"D&A&cGQkG`%@cJfB
+
+[ALqYHqYHqYIUi0+GF@E5%Y"R-lhZH!K!0+V9X%#JD#$5hd4RarFJP'`)fjS+ae2
+
+fPI),bLNFJDH6[jm'R&i)BcrkeH"B9)#FUN,rIPGENjC(ARH$)VDXXP"$5L4VBJ%
+
+4Va3ar%UdTS,[3h1!Z50$"a[fTKj+@5lpE[H(e)imr[D9p!G+Z14K`SD!lIf!bb2
+
+k,ZVS$N-d8dZMKQ[cAp%!Ner$IShk0qMi#L!ckCL$NS'''jLlkSN3fMKSUdDT90,
+
+HT4%%@,5hDfpRpANr6VEZIk[*p'AjY9G%'P,a1E8("1(ed0j9Y669Yj!!$5dC9GE
+
+i"RY2bdZZY2'Q3hJaDHQA5ebFV,))1EEcF9BD*D53!'hIjZh@fkfq!3!hL+SidRr
+
+6akF'[$TiG1(6Kem1RCdl2JiI%8d'(fI%eI%eI2p+j5e25m69B(H*UkJ%2NrqL#$
+
+S8I$hlFYZAaFI4VDNe[FmA(d#4Z@pTI)rp@-"@h-h(hHjcGbYM-+[FjUJB!Q1G@M
+
+5AhiE$DeqBNSDFd8YIPDGc6X6f[%6TEb,(3#EY`A+A48`+Ji+qh,ikVYiF*!!IL)
+
+DXjBmShJ19(C++ifrS8[*9Dp9ZiZ*q+[k8r8CXU,)15pJL`rG'EHk!lUk@j5bm2q
+
+jjHF$qU+V9#BTVk!LQ[$Kk$@2FR"6'(iFf(AKbcm3MVRF"RM(hrml#jcI#jX9,Z3
+
+#'8UA-!"-8&%Z6pkIdS&jH$dkRf#@[hZ22!-i&3%ZIDdfMPf*Gr$20AQLj9I2rL`
+
+a6Bq9ZjqkRmpm&VNXKBE%8eIP6pjmfE"X3GeMj9M2`6',li2,33%BAMF+E5R1DLj
+
+*F`rF!4B+!0QDcDBi!",LT"*IZ@lEi$,#`X"$dL-PmV($5X8Xhm@DIchNrL1XbSh
+
+cJ5L-G'AYqc6(dfD!D1(cHbRqQ+*5*m!r9GC)CGLJN!#TKfBHc`LB69DA1Sr&e-G
+
+HKiZa'GH(DAU0ZPCc,-UkA6`ID@)5j"8A%%V4FG&BPli6d-+A'P+,KpQM@T9BD[2
+
+IK!@0,(,4j'r@Piq+Y,@LcDIGj(LIX2JJKh+@kMG*!C`rae+eEbk9,JV-RB34EI#
+
+qQk2(X[!CJ9hS#$$N&UjHjKA[A%r2,YH6lU48RJJTEU4abr2(cd'i!J3&8fIP+J"
+
+aS)(IV%fM8QK`e$R@XVBI40j&[S)%eiakM"`Tm`Ce3cpZm(q&@A3j96%LI(,Ui,,
+
+dRpL#hSfjYLDe0DQf+PZ'h8f%Z6hSJT8-2fD925kGETeZRlfRPd+hSdPLSXQq1&6
+
+q(m(fN!!)LTb"*T!!F`J)Y8iIZaNcm,Ek-q5D@pH['Z1BiJ2HdZIK,QEhZ(hP[,(
+
+!XqjN3MZjk)-L[TGHPApl2lcip6HV5cek8p,%aJ('JSiIY3b4E`eBhU8J"U*Qj,r
+
+mQ)$Kqe"&,0ArNVEdh@VI[jhT5l@PLPIK!3'&,L5SbdFl"[DETj,#"Qkc0hTCG,5
+
+PPUeG*9Ih&!5[%!MDcVeJCp+")$I)pbADirjUe(MrQ,KA*P@#Q`J5m$iIf&68qRa
+
+[`dI6TE[,qI39hZp)$$9Z9EQPFUiG+c9X9E'DjUp4PSc+N!"3F%f&FUAQl&fMaYL
+
++MaM!"IK!$)q8Nbp4)lI&'2lP@(p*p6!fD8r$aCPMNEpZ`1",%0MKLa5C`FZ&'L&
+
+))m9pM$UdGQNQ48q-[P*pDfh5Ud"#mB"U'P*99akV*mDG*PjPiDUr5ECbVj2@6ld
+
+28I*pf5XeEKQrUP"8ihC2`)1L!5$NErLliD-',m2r#,DddL(l'6DT@XQe(XFjGIY
+
+cAke&Yr+c+X-4I"UTfrj6mBH'qY&*,R$hkKb'm(XXYqm%$a`mm8R4Lam%%TS!di,
+
+-&92&X[,)i+X&PqY(q2ML,bDadk[DF6(5SF+JR9!rc(eMMlmXr)abcmIIXa8BH%X
+
+ACmF[2'`+!5PZV,bI5JFh(!0aH,RjpbiJ+I8!$GhB*fADaqmMk1-h`Smjdh"`JX3
+
+iX0'RqEYC2HIQk0'RaDG$1S42UF$m2a`qbcDeZ$TkbIf+YT!!#D@`,YLDVqAIJ-Q
+
+YTfd@hjRcDA9KkY(CA+H,(Xm-'MMcbA,RiXq,4,Z(*L`a*cK2HCQ[JAQE[*Uc,2[
+
+U%Y&E2,ZIG*+Gk5rL[ZNTe-r"2N,A%H3qRbkjV,$iTIjF+idk3k-1'j!!h)EK&,A
+
+RRXj*c6d'SQqh&CLXi01prN[AlhdVqAJ[h[e3*G,,b-$+q`DAVSk8!*e+@E$DHZj
+
+1NbVV%J&"CZ@3!+#`8UpD(a-QpKmYLJ1PFD*i)Ef1pXP#AVB1Y&kNATe2VCGABEX
+
+9dSVNA6ekIam+Ek0qRVk53H)iXZAAE('K)'UY)4`YY(pGh)GaUYA'@TATD0+Y5lk
+
+PqK`G2SI0Jh"RU"k&X-Kf%EaZcA44@"cMaMJHkp1!L%SF-9b@i(%`VK5SG+Q5"AH
+
+#XX-qL*mCph2f-rGd9m%mN8'SY@))jXXf(eXrVCr@cf!h@cmH(l3AcM!4F20PZ5a
+
+mM[IcDUGfmh%p`VB59-Q*ejI&`q2l8mA#LbrZppaVrhc[eeX[lp55TbQ%%TJ5VDL
+
+!4SB[N!"P#m9qC3TG0*EX`5dTkBhjq&@mLYPRBT'!54UTX&-NTE%Y)ArlMDq"YDL
+
+p@DD+,8Mj6#0TK!&$Ik[`ZPirlG6ecFMfd!NAcN%#@#%a*NU'r#MmM1bp10+KEfS
+
+E+HaG-GIKJTHe0NI[ZIirAbdj"!Q&-"XaBYHHN36SUr`[ir(Lbm8@l&ZR-#jVl&B
+
+Kf)*pMVj%80IZ*rJI0064M42-'mjGB,HaYj("bIFc)-qPiQ,*fiGZ(EK1d96!'Fl
+
+3XDpMYI`aq6bG@rUp[UQG,j-A8MX5,Ze$P5M"`I`paBSHRh1a3p5$-i2iD8r#Vr#
+
+Ll6hUkVleM"ERMGTlR+q05Pi896Fi,*IR$23TDqrN(YK(-*2emZ)C2UJ9#I+!d-e
+
+,4eCY@DlkfY-FkqM&8d1Vi[ei%iK+3V+I4CTh*b",XG'2[ARZ3G2J+QpKf+&VAY8
+
+&!fRXDGV6YDqa3V&M[6iAlLPr4lrIc4R$Va+fkL[aAipHRTkHRmhi[49AlY1(d**
+
+cMm'[ZAHib!5p(V9IM9Iql`'UQ`E'a4(YZ(BZ@X0UjDZE''eC(JYR'P0$)4Ih#9'
+
+Y'a"Kd3,D0QE$0BQ!K-X,Q)FME(9Jk[Iii1Vc3%FhUeZV@rJVE20fDc6Yj)BpJ@I
+
+jX8&lQhN!PDp@kZEa%f!e)"i)*B,A0fU%h0V9XbYQ9Uh0Y9P`8%NRQJ*aY%G&J%$
+
+#6&kR0C+J$XZT-Z5JCGP!bjU'Q@,G0+F@[NDEDljk[`$AL#jSh!I"cp'j0FQ!Fii
+
+%81l"Zl'+$Glm+)1-QdfEEYEDlpfL2$Af*i0V[qC""cB)-A0*fTK3D!*PJY")MG!
+
+-j9#HS33)CKp0"N8G,'Z1DPbS-3)"%!LX8-6m3IrTFhT35mfD#YcH@AQmYDVcDYC
+
+R2M`hqH'lBhkBS-+BN!#TIPT,$DJak0U#d!6Bd8QFJ%d5D'UMare),H$bB1Rc-kK
+
+q6PLb`UjRDIj-&@G&hFJfhBYQA(VG,K(SRrLpE*fMidh)GfR9j5PrJJJPNLq+IrL
+
++KAJm5h*ElZhU!'m[EpiPNK1lb6Hm6HVld@+[[H*&PQ#Il`ELC'2Q+[h5dF8fh0Y
+
+k+!6IQYc&ij8+6X[6m"9fk',"XclNqjJh*mDJC!Cei2Yer4dr394b,#Qb[l4Bml-
+
+8+!4J4$&S*)@b0h"ZclScZhG-JRQ)b61Nm9kj0!8Ri++8*4kaaYq[NYqkY$jc&Ze
+
+D4dhkAV'%#A$P)DXF6eUJ"[JBDd"e'1@ld6HmKhGM'2XH6m(9Vr5cT1A%#"Y8--'
+
+,%%(C,rU'[Fq$FVh1@m(k)FRA4M'c3,[e-CR,'Fd[Pb[ST&2#PFJKHBZ+SE3#Dld
+
+H,d2U(GUlYA8!Kd(1X"l`6@m4*Yip&plj'pGqTG-dqlM`*-0b+1MM(f%ZMBVfSF0
+
+IlA`IYCeVi0VS@TGL"98m'1IT6p+ITB#&I&kFATmAdl[VAI6[I@mLVjbUDG$CYl0
+
+[Cm2m[3p@,eBJ#AI9q3!69cYEr8EEUQj62JdF"FI'J6Lpr4e6,mmLMjZ+JV6("X6
+
+fTl8pV"X4@SV89Vj'aGYAE5!4&k%1fYJ$6TL'CBVIb)VXefHl#(kr#JI,@)3ZhVi
+
+j%I3HTmMUhHVGflZhJkUqU@43em4hr@-&JEUfq,iN@TGZAYcb)HHhB-X1X6-'H0c
+
+2`TFQLE#5Me@[4`@523G$EbeFfKS68"$8'KE4#%(UDQFD0h!HT(fIGT9#N6D[`Pb
+
+3!!%5kUUB9(cEQF%)kl4UH1bGLj@`eS8!QR$k00LrA2H'`'H'F3#*'9IKIR)cKdS
+
+DS6G$$hpc0`jX2IiD%0#'K#VmKG-ifS-(VhMaE[HTJkX3#([aFG0*-q+Z4Z,QBL!
+
+43B'!m#(rQee1'[#X`pb1LB,QNK1BD)B!dVe+#JI84$,`E9i"&leJR0c"ZaeC+X6
+
+1#b'qDD'eVdld@$RAS43$R'R)NEC%qQ-"B9!'YKeN!N1YKq0$mD(pjTdN*#+6(kT
+
+E[$l22rFiICiIifZjeiPQfp)X"(p`4"3'lFQlSJ%*V,NRd4I%B3*-C$KUQ8q*[@,
+
+%X["arXd)rFU`fHc9JM*DJ")+m#rkDN"r4LPSEr45(1I0&LAZNrkCrfh#$XblP#,
+
+pMm-9MMBM-6Rj(3MZb@kRm6`J-2f*m2'M-9BJ3k@p@kK0Xbm2hd[&#3#Pd0aT)dY
+
+)8j0,U4G5V(Krmi2MAlYql"GSEUN"kf60NcDAUCrAcr8dZY@qY5UkAqbPRm(e-"[
+
+dV-QpHYe+fpTG@@6NG5[e+r8j(leIkA)hUqlEhH'T!,H6G6$pq![LT8,k25rHV1-
+
+%JJp$fFQ28eZ5HNPM@!pfp,,DqbbBZ5T!'![0T9UYI5d!#9XQDR0Kl%0EK(X498`
+
+('JMdZ0((*aUNI&mQ5`(!N[e[Sh)Ufl*G33C2'bBr3qpNbC06d2[JVkJB6pkAph5
+
+hCGfbT34k8FH(ldFJXM*Kqp$(aZTSI[AIhBYhM%NaQIhDqc&Fd06irr+6*NTjAj+
+
+R6LkH9rcMe*+p6-33F$eqD*iL6A9%$"hX2hY2b2*q0CZf,YK5!pk&V,e2*eS+R,h
+
+XrUI%kQIqpm6k@H)JVl[N+V"ZiIYj1PTI@crYCqcRqRhR@d28PkqPrVPqYTI@PqU
+
+Z*%0YkKL2&dqA8Iam(P6f6hj!*JXcYYm9!h96KiBEm0q'rKqACXLcke$eL%EZ(lZ
+
+6*TH[RrkmrlqIpA[0h3hCGl5qV,ZSJ"4r"8ae+05MKmqrUAp5rUI,e,2RQjNQj`f
+
+Tm2eTd[CNGED89A"9LUhV2,k8H6JCTk-U*i)+f#3jGjibCG*C""CLdF$Gab$q#,A
+
+M(Q*j6,dS9q@M8jSmd'GMR0T&H("2,%""ZcShZ8RiiFiENd$Al(-(r#034IcZCR4
+
+jf[q9m-q&!PjVfMdRZYVaYK!ekFp1#R3pXl6U%IYi$f%[8q@9UF(p$k2X@!ea&pM
+
+5U@raRYr6*QHZer[[kjHShk2-SadGGB4-H+[Y6lF'jJqV&dSZP&dM#"kYlFjP5+E
+
+!Y9q+MREjZrE1$(&Z4EJi@!)#!K`B'mUqdVpN%'pJ@#H`'[Eh,hSie4l$"8U66@E
+
+*GZM`)Z!KcPRaF8d`-,FYm&5P02CV38Y'FXD8Y%f3!,2TF8FBi@6FD-P!1(8KV[%
+
+RG1,dGGU3!!j4aHZCkQiPA0HmakTfN!!`1RVA!4HX#EQ*X6m,mP@@5mDCbDJ)ccb
+
+8$2ZU2L#H-+P408jd4rZHAJpiB315qP&2NqEELH*Pkfq'!6f6QUfDX'PSQcG$9d4
+
+p*ReH,9Kc59bVjLZQq'Khm3PNIef+Dp0bl8A99*l)Lf0fA&+6Rj5Fr+C3)F#[DRf
+
+0VJ+Mi0-BlL!5ad[&pZe3m$qbd,JfkYR6X,(ZI`JX82!rSY96lhcVI-X,rLhd38r
+
+&rXXG,`J#!Sk9MTf2lPMRj0ZRif2biI'l1TZDRAm2Xri1[VGLerRRq,ErkY9@6[S
+
+BVFYfamV&VDfTVDRaNjfIQ5hEYMFXd[dP+$d-@T0V6!JQe$c*Y`H,Mr`6keFMXfr
+
+#@N"dB,R[GDMqY4mEm'T4e++#,jN[MBV"aRXmik(2YlQV5m[h,e$`rYDPV8e[$qr
+
+UDhq(lqYV@V8rm5cC-(CRLZ%PfhL,Y8!Pl&ELXBV%6Cr4#e2hZcKJp6ZDd'PT*6j
+
+dU4&D*BcYrKfEi42XV&cjH*ML!3MpRL,GAem2U()9kKr#p)"3"NrLXPDE51)eE'L
+
+Al9[U6p-f2%U[QX"5'A89ZA3I4"djqTirreJJi22)30,5pbFrVd5L!rI"C",p"2l
+
+J65RjGBJGJQak+h*&bXpZ8XdB,9(FdZ'@BYpM,+J3eim0-"#4m-PSb9$'-Y*8aTm
+
++Bf,c'eRKfUE+prBX@E0Vj-mrNH6D[ch`$%TVap1cj)UF[5R3Nf-k'hZ&#eI&,4#
+
+0V`eUQI0jV,p3D@c,XkAVbp,5k8Y(5fjBG,lX"M`jrXd&M*8CC+f6AE3`69ZUrDQ
+
+rkDfp,Y5qP+Z3!-jF@A&ldl#mXJ5dKr2qMph8hHpql,e,(8J9lS*YIG5eHRCIBZq
+
+6GJ!B2-cc``qbl)jifrPILNVCAiNpTf[hRc@9K&!kY,jH1@$ZX8e&!*h@+@AMijA
+
+@'1'+9eHEj3%UX&AI!)DrZERCZG,3EbVKLbmFdA1aI"hTX9EHViUdAG!3V4Cm(*E
+
+89R,IXr*akZQBJS""i!9K%!N5Zec+XZpeLm[@#f$"5Q[l9'4GDUm-!qL$C!j5Qpb
+
+YdjIDPk8[5P8S1(MU$p(c*c%0RVB+d'Eq9$2C[jD`46%")(5mX!R(aeZQ(B$M5lN
+
+Yf@AZ[`0l&NLUYhZ,9(QH9LNQ&eqZ!5k,`U))CDP@Y94%((pQYUS"%!PE9VDYGHI
+
+52IV9I,2f'ARbpHV@l[j8XZE"QfXfV9,[j"!2a[`5DhHhVfj*Z&fcrG8J3SSqlNQ
+
+E0BTGDR0*0SAlZj("P3jGZ2aBlFGZ2VajNDZQDA,KRLrqh*SDb@Zf4dj)"XlLKpK
+
+ZJ"H"(A(+Xr'-4!N*9q6i,HD802+amU(@YbG#5hPGQ5h*q6+r6-Uc`i[[2'cG2(f
+
+pq[[A,m-91r$[!%V[9rmL+c(j8GA(&GKh+'1MZ3iSYcRBK)(FC,q'8Z+TX0lL`jp
+
+5jh4[03'meYblGQPleU[kGCG$5kHLGCCVqRPR3TiIZ4d+H4`'kdk%e@E1d[b3!&2
+
+[rb)RbJ'!*9cFhp,bhHU25`p+1RRJkbDHA6Vp1pFckG5K$NFpHj-IjMe9-j,&2!I
+
+@0"-TYFUaFI[EJYN"5hTiTp3kEp66aB,FrqqKU8EN&Y8HdS0cS3H(M2TVFZGS"II
+
+k0kjHSAU&lJUjB,fbP9k*pPh!#(f,"Fhk!0D!"PqKq"Lk&V8qGi[XkPca2qr`m@T
+
+4(Jp(JBU0'NQKTNBNKPKETpKSD"EA8'+#HJZlK`-8%(4hlP+j5#HJ"rk@TVHIlQT
+
+04ck0C8GmA$r-EbA9Jbm2rhX@1-D-@PeTHV,Z&jpeP-l`-I3$-S2d!L!6Sd[&ad1
+
+dSUNd%r+T2[JLJk1,8YdY#Kr`8rNd(qESGG$Y[JqZEm'j3TGSVp0jfaYa9*F3Tf9
+
+SiQjb'rb0b$Fi12SEPXIGA+@TrF@cN!#"HSF-l$cmHTZkR8e1SPZY8IpHj@Sc%84
+
+"mqMbEa+T"JkiqeQT9@$ip4%@l-q26ZH$i-qY2qVVT+k,ReIbF5DhX(BRrLC6B!R
+
+BRl!%1a"f1!bHm(UG(i)p-rcJ%%q43(FJZK-rcm&(Z@4FJhU&BV`29GYH26ad)"A
+
+44pmkKVG#@hr2iI(Yp#jpZhSA2ZfqEdIBYfi1I`(A'&$NG'ji[YfqRUIkY6eG6eG
+
+6r9k(j,I6S4dFfNNHT&G1M5YlRLir%S)I@hXp$&EfS0UK4Sm9E(&$I'XaPCQ4&L5
+
+bQQ8#Nc&5p)*E4QI*pfe(iAYf-MaIE@f'GL$A&r"aeU'ElY@PdGp')8G5mI(AJj0
+
+,bk*QP)Na,Z$UVFk'iVU`GNCeENcHAATHT!V3qJGQXC[`DkJL1MPiZh-P3CQlI!D
+
+e@NTl(J1f0,LLTYCQecm8'e"1j*M[keEVeTFh&c4kI@h1rirGcCTqM9T[&8cP@Y,
+
+ejTZMHPh+Y,ZX@EN9Gr1TFRImSCid96fX4r3(S@EVkFIT)6dQp8hXc&cpk$H'DL'
+
+l8f0MSEJGJGfbfH4qTS@IPqc"Ci(ce(b2eUh6emfE@3SCLm[j0)*ePX$MJlV'M(2
+
+SBjU#JbaAf0#dIjRDS+AUid5C(!kl$[jG$YpIc@EdYT61IX[4"Tp[RHDPq6PYCa%
+
+P4q20VHHMmPNYZ[bDhP['@0,+ab(mdbK(Ca*TQjbjHMfm[QN'C@#JJ*!!ZpjD19[
+
+`,a[r,@h+hPBdi$$9XS"!#@k[L9I1XS('i6PL$)#dDRSUAj2Zd,('`(cYJS@$BfA
+
+PHUd-lAVci$1iVS"#m[cL&`Xl9K"&R5jfaVfXlBcN!N1Gm$12qcR`cVKX9IbbeDp
+
+A1r,VP-21r,RCeIki$[qF3&&PJ8TG`b%[p@IrdiIkDq6hRp@GUCfS!6r"(jQIU6V
+
+0J+%fp$Lf)K!m8Q+B8DKa%p'5eMY1jhTGL[YCeE"Q9rDVf+q,1Bd%@F01N!"!Lc1
+
+ELV5k3X[QmI4)5"ZIlPERr!qGi5TIbQcrAkQ[p+[lYHVAr5Vl0I(R9Frkm3$Teqf
+
+K5l&R&*@ZE-9G!0U9p5[iX9b[dp0Vpq%d,-rLm8QdP+E$MY96lG2q-HeZ`VkIQk@
+
+ERH&Q`BI@cUQE$i(piN+iN!!p3XGcc@@HP$BCfGVkGIX#6feR8!T$VqVSm533BjG
+
+Q[keF`IDrUermfGRer0VdP6!V6V"(PLUikaG1BFC(QrEcHM@LcFGHp&[CdC49F)%
+
+3PJ!)*q6CfrATK!2d39SYM&@J#'fJ#5eV0Iq6+RVkdkiEUDYZD%jX39XGDe@f%!K
+
+2raek2JXN"5Pl0DVQbE(9##XC[d-fKQd-lmXCmGXQ",BUr3cFM0dm1EQq4Qr0*!f
+
+21MM!*TZ6J`l%p(bGM9XH6BR+)L6c@4p3XD1LV*pIe6IlI(`U8ZrS$3$)S'KhAjm
+
+8[pETJL18hbAid`",kK3qhlP2NF[Q5bjjMZCfGEkq6UGcp4#ld6"V!*HdGkKPl#f
+
+2rJRH0RHebbM+UIDBGrb)VfZFmN@#T283#B+hScd'L#,SZhmkrThYkpA[6hrQV$'
+
+5'3LI50f)dkeC,q-!Q+r"VRAr3Y8AEK%AFjAiBT[MildYlVr(rdS",h2`GI6ilb!
+
+4DLr,(RhZaHr`A[&[E9k+rM`FZHm2S)fh`%a6KKBq-F3(m5L'p1JI5JcNE+Gq0",
+
+e42Hi!P#h4[8[e-bccPTET*Fj[Fm$m+0b@KGdpaATj9+9dQBG(fSl9lB[@,f&!*H
+
+SDpr6[`8)&m0+(mXG121[rVhrh6X6a"rpi2fcZpMpVM+EerA2h!-X!6CecHB$mUc
+
+8`lN%1AKciVeA2XjH%Bk[3hS8!Pl$rd0MTMDkKXHi)EZhrqUpHmIkH9hd@YPG4*h
+
+McXeMem$`R"14EJ-bX@QG0ajB-5QG%1r)G2@3!%6C@-9l"[Ai`3@,hlPqKISIUIa
+
+YlC-NhcF0E1cFh`QDjfIfKX@8IPSl,a`f1-kV+9EE%@d!U$MKrk@p`e9AXD3k6j'
+
++V*b"SVad!Q,2kfTeMkY@(1"qD$NEpDIMS"0mRKje8U#ceB9A`(HmGMY[N9*q)J%
+
+q4&BbZc(&,kGLa`r@F2TGRND0H5[[Ch@q$mp*bV%9i5ce$JLjX0E40lhp6`V*hQd
+
+6*[PUD-0'T`[rCAaZ+V@Y6(d9ZFRIZba@8I*KaVX@jP+rYTD2DrBMV9[8TGHR"fq
+
+,2PYbm2'QaafZ,*@FU)+AG'a3dZ*lR(r*5Ki2CcT4d[4B[a"i4pfYHYhrDZe3Q6!
+
+65KbJ%E4)!TZrhaA+l[H5[prbX8Idj2qLT[1eT5!&`THmhkm[)afl%1j6pU'IYF9
+
+-f,i@8j0cZ,Vq4G[HRGZq0mp%a9T,S96+Ff-SMEr'j[arCeVP69b[RJJSj@*!089
+
+P`ZmVcI)V$6DKIpeGk&JT5NE8RSJ1MmIH[AMAiaDSfK%3Y(kB2m6I2hLVimYkA9J
+
+eZ$8S9+(%qJS'B3@iXFHjVB[(h,f+lZAFDX!ediZBrid%(%ae+'AlZV5mMI[dY9$
+
+PVBRL5RmVXb2I3*H0LmH#r[kUL*M3LEbQr**f,9MZrp2Mf,fhGl0dGN,a2[Lr#Fi
+
+GH#YCPQaiCB*63BUBDBdMlUbSJ1$ihP#*ZBk15!68e['rQjecbEpM`-+kG0#(cp6
+
+*kGb(3pH@hKkjP$`P&[*Mb*IrfXDUliQl+F2KXpETNN"'6e#-pp1PQdY25@pjL`p
+
+@16ZGh2aeYh2hE*a9jqjRr[BIq-'R!Z!ZIiFc10((V9T*qjk[$4MdjJ0)MIY1!VE
+
+@A43Rp(HdGkaY82hH(q(MHd#!%M##K$XA)Fr$aH+C)81QJmGFM1%"G1*XqEiPM@U
+
+BXbLC$BL1129,N!$B3#YQjJZM$Y@+AYm@KBZVhbhGU9P2V%9MLBm&QTdSiXU)QJa
+
+4i[0!*(&b9CI4392NbEf(mdIFjHYlr@bpEiAbIMrIMeT*YE8V,P)'Bm9dm%#BFI[
+
++%-'CLVpLhf)Ha$f1hC9m8YU'$U'S!*a-HC!!HDUhQUAQ6iih0VjC@!F)R4SihZc
+
+bUihLfB[UjAiX'fC@IUC@2Y[8ppq,RJ-L2&pXa"R#Z"R#r5#JSGkIaH6@Ne[KZpd
+
+DH1(-emF1K$mRKEY2MCN&F[`8cQ-a6`!HJ0Y-fBBF(#J-E[6cXkjVdajAflE0+P"
+
+VZC,pZ6T8C4m6(UNl0PhbE"5mqja2CLJ3lf9LmiDI)e#j5L!V6j-92d-FN!$PGRZ
+
+2Q5@qpr6e[q4NDhkRqANV*VB@HHIN!#VIF@qpakh@NkXQjHrMFJ#$+r"JYCAi*)[
+
+IIJLYFV@eG3j[pD+eUkM)!CXpVeND6alrEdP5H!)'JC5"8MRAT(jFbVbFklpH+V&
+
+pI9cT@KT*fkeJm&D1pfrcKe$"&kFQp*k0ldC8hbAJJ!p(mk1PPlqC"qaL4*jiP!Q
+
+9rVeM+rJLfBrHpa4j9(@SKVJ$GdcRiMrE&cYVQ9lFA5lIhX@cbFHXS1ZfC8`#%p!
+
+Ymi!EH$ETrPiAekHS,!E9[h)IFVl8DqJ33',+Skk8Ri-[(fi4h2S5HV*kYfK+SJU
+
+5bBB[XiE-H'5a8X5BHhXqDJ-J[`9fC!8Z*fC"0Ecd6@Jb[bpa9jAepEj8Rele@9E
+
+dZ,4b[ZbGcjm8Q16U5EmQph(e21fC2pZ9QhY1UVB#P4dYT'!cVKhXZM@rcF2l#04
+
+-1*ke!h)KSjJZalp5pll(SAYAILrRM[5H0HeT9lJaD#[$AemG21Tjh[$j*lI(AjG
+
+Zm@9imaCKG2IKh)HIVr1lAm'6VHmqGh'Ym`IH`pHR@cqkD*[a2XTpEB0b13SKEFG
+
+2[F0q'22MclpbCEq[$Z@0c$mqH($Z6k1Ye[+kc@&p,F!)PKFZ2iYmD##S3[TXfmG
+
+[kpckqIMLq[Aq[1Ti)E"f%E1a$&FLcqj`b@6Ej!*0CY@H&i$1!1KZ'@P,U923rQe
+
+-+GP(RhU0fPGJeB%eN!#P3rQJr6k0iVFm(8p`ak*6-qPk&Lhim(lDjb5Bi(3P-Xk
+
+E8l#F'aANkr4VDMfZe+CQKKi@i%c,2$a!V*aC'6(K+RHP*d&UhkQ(-Rc2'VH9DJJ
+
+ifq8k8!L`[$(QL`5Y@l`,C98&6cl9"FF"-e1`F-&JbEc*Fm2&mA)6-&HC5b'GX@p
+
+R`mHTdr2eI$ph8UkPAd!$8FeXc4p+b$#EG-0Vi0380U9frSf42c9Rc9SZE%AiQpc
+
+Gi"aJ4eYViVG8K%CbD1##Q-pIIlrH8Xi,S8[J&)@PB*)l`+eJjF&pC,ik-i22Fdh
+
+Leq0a2`b3!(a+RarjK0@r*HN[9,fCUa+PZMYAA(D19Lq*0mGSU+mBk3M&)$D6a9`
+
+&$f2(c-kqPrhmf2AD6JaR+H+'ABhiE([XA&h1mTCrphL'ae$im2lIDYe`K[!5Eqa
+
+BlA(lqPhQ,p$)3hP0!)hqGIZ2rc)lk2Y8LjZKUqT&kJArU4Il4Ec(bbpS6YKL1pk
+
+*9pLjQ&q0MFKl1CZFAXjqjA-b'RATq#Il&RfbaC6djjjYIphc#,fk+U1j'GVF6eS
+
+[5emQ2$m6*q(k9heSYc,dFZ'3!!*Q1EECAjiUf[j-@ha2caGAPr2[r5NfkQh&YaE
+
+FER@aF-D'%ZcSiT,[,Pq2M3USdFN1VJ49GIQaqR*KU$J$Q8ElXb'1M)dG8mMJd'i
+
+d(k,CjN(aM-IEE*8J2C'JeR$l-N%R'b[Xr%Mq0(PIb58T+4pMUmfIEKDabmGrU5G
+
+5,U4HUHK(Za-8')P8BPmeK+(QBlfe&e3Y28Lqe&dP5!(q81rX3dmI&khHIhUrMfr
+
+TpVhd2MGV[3h@PDF6%Kc"@&$2@1@*!5@iY#,3,ZeSHd%2#lAfYJ8PlHYlqYhQ211
+
+LT&-88c83I-lAFKh-(BlAqV-rJprp[1kqIep6FiA9Kkd2fB9Fl!Uq66hX-P2r[lH
+
+AhrFpjpUj8Trc8iDG5R06Eqc**KKbX1ZG-*p1iHC$IVR!($(8MlTNi)Zb+T12%LX
+
+%H@-RmJC2Y#f5BT!!ai6jd`afHCC[J'3&5@BPkCQFV1CqE0iFS4rAN!!$4IAL@l9
+
+fHEMS4`eqE2"mef[blAak(d&BALSbmA(KTF+P8VqC&`Z3!2SHG)9&(D"!4hj"iq+
+
+[N4e)G+3kh-Rd0k6D%N9mb--#KbIh8Z5f`6"R"YB"U%-YBHC*IV"cC*%LQqdl2Ia
+
+E'e*LN3#9rdFIaUjQ89mVq-I`XbrXarfB012qdD,hqCrEHdi[k)p@5j&CLXa0$e)
+
+bH9Mf#-R*$m6mIa[9Nl%RqH6mFQA8i$TkId)ZRKr)J'LkIk2jIMCdQG*RCAj*-k)
+
+rIhaSr&G(bpD6h+PAp(&H@lIGj!dZ*pq+p*j'[k5AXQAl[,,lTI*p+16-Rb9$JN'
+
+FVQEU(`*Aq0iJ")ZESbTdNFZ#p2&eL%rYbE94F3a3`#"%PJRLJ#dC-!M&!RhVLea
+
+$c1RE`865U@FI$(RlH[,*&&iT2'Qr4N[dBj)j)jKV#T!!%*P`kAT`D8GV*UB6`,i
+
+d8FA'VR3Cmf0Z@I$&8if'VIUhlRbmP2d'&23elq2'R0kI0QTD9+eKfkN@EZeYhi@
+
+l@kqPl%[c@e2SCENYc5"C322l*6pM[`hiEp5c0i#N"ld+qAkYM9ifE"5jHhRlIa%
+
+!J"+rTH4e&2q#$$pf2MFD120ia1-`qaRdXqPhZh,Nk5G3Z4Lf%9ULprl1EqRm,p2
+
+iYl)rp!543Q33hH*5lR$pp)kF'9KrpV&MbI*JSDA86'Td[5P8RiD1("&&T46l'N)
+
+T0B)"J")kXIJFCB#r5LqTaKb$a[APK`rET@kf(2YmNj1Y'j`&C[8JSXRfSccjXAH
+
+ALcphiK3Gq*ZeqTRp61A5q`rCX@[*q4BYq6EXH54UGc5qU!41`2Tk5N"4'bj'Y+#
+
+)"S-1Y$FTfUH`-Cd&b,+9LAiH1Tdp2)jADjAY8)"[[Aj)QiES(Ya*"C8343@5mVi
+
+Q1JN(,kh*hT0`Z2qY'Y2+a,hSk9Jl0MFd1c&"`#&**lRPqP0lNe'C92TCIIBmQ+e
+
+LQNlc(Nb$5+,cKT8ErcVKe5JX@0ciIY$bfdQ+2PB[,Q0`m!LlETPN9+0RIcD@DX$
+
+++`[l(Z4pSeA+c4d0XDd@r!aD'S!M80`(rIj@T0F,RjHdHc5d0c+a@*G!Cl*FNSd
+
+@jd&BPKee6JY8H52JI#ak#0,N*VCjf+UD+pBe&QrRh[X80Lc[k"FHRia8UIdr-UR
+
+#+HL%dbR!+EF4ehfU(+QLX3'4M&Dq9MPp9i)!QLeIi"J!KJ#$M8kIQG20pfXC@YC
+
+HXX%&,+r&DVGlq+)jJ5$Aq,bkhGIL'HG+9CDIGBZiJbGqe"hZ16V8HVNrENrFmb%
+
+jJ)45*4"iX@GAckq62UI0r3f-Q,YbDRrmSXrk1G(AZeeIHq"[mUH1[BhH6cS[`m(
+
+kL4j%5HPURZXVKjM0@U)S0,4QMV4GF4"ZL!SkbXS2#apmC'8pR[[iF[1THElcke6
+
+cIeIp&E0VI@V@@CJ6eHq,(YL"&CZ!Y(rR368DT[V-),%[I9DP82-*!3,Nhr+2d4m
+
+-"CKj-@AKdpEiIhiT1#!56Hm[HQp+EEQl(GVlL9HdlMdSEYL@Yr2QdXRqj(5hl"#
+
+2LkmAqYR6d[Tqqq$NcH"rTj4rkZ!3GBprR,pK5rcmGArYMCj)jBm'EP&fY45lDhZ
+
+Gp+AkY8F2XH#aZFQP*02Cd0b-PXQ&cCqAqT,Cii"+[lDL#ahSGCbJ!F51PjCeG0e
+
+[Z4"Ue0@cml3#Q9B#$j@)Am+@,98d)#+`-RN3!Mb,XHCjV+r5mjkd!P4@B0!&*&e
+
+2+hT[R9YZAV99D3#))Bp(`[YJ'`m$C2`5(bY'V$9K!)X,d*S`ml9ciC!!9KB!)Eb
+
+e,aiB$`-I+(TPU)@!)G(!'N%RUqAkXhURpq@RRBLd-A%Ldi[KB-Z$JdX[(Pd[eCq
+
+2@PU$)"DZGLPSCI%rm01rm+I,mRJqaPJ'""l#XS&3!MGU-[K,%#)SC8*$"*f$-eJ
+
+lhfBYDeVFRHMie'M8STd[Z3!V+#b$LT!!@HcS3F6IJT91V*kRbrccHT@kX[SbV46
+
+'R3NX0J1[PIkB1[a2p88[1jlm)#Ak[EdZepLej2+[jArK4bmR,lAr`jAaj*mVf%N
+
+`U3%A*Vb6dLH0hf#T"NBm[1rbCfEM6p2c9DJ*HqH4[hM2dHIbGVhbZFHlAEYa+Ch
+
+'K'kPNH"A-0bcRfBE)rHD3kN%b6b-Gk$@aA8PKS%0f-jD["@mG!G5LVq0MmI9[Ef
+
+Y%5GB%K`("E[DDa2NKHC@2b+erQkUH65k9m9kZ"jZCj*VU@GI(l0lFZpP*Y-Pf5l
+
+*p62Jm*@B#he9,b-Gq$9GGVS")l1IKR8d%-,mkA$ZJrXS4C%A!NSlh#lP""NBXJG
+
+VCLDYr2KkrDmH'@,EiAdejIPi+!ad*ab8,q2b)$(r`TG$4iFqr2IR@UQP"c+aq2A
+
+[9pA((R%Yrk#8'$U0Gcr*&SiQa(*qRK[5Df`3V3#F6$(&RlXl5[3k9e$[+Q%rq6!
+
+D3pqR$mD(aL4!5'&N2I!bjq"1l36ACaZq2ZAkfY0PqkeQ1-f3!(`QP2,(f[EAMQZ
+
+EUQJ54k&Mq9cjG83#5L*5'YPf6+['i93E)90Ai'Vi5i,LAhYh%E#1+l"GEK%@rC2
+
+pmp[rIMSF)Zf'1%fkGR8QkhPf2D9m9JmM(G1E-6`cK&'GRCfQV)"$AH5Id2aX@Xp
+
+C!)"!i$YP,LENHIj'IIcrMrE,iAF4Z%PlhR6DEA6q,AJdprATDG,Ahp1#JC*HCmk
+
+PZd,&'A!VQ#Ybda"-fK@`Ff#AqRQpLYr9@3#GLYeY2pCPB1mpD[k@MMZC16SpVZF
+
+,eZih2m(V8pbREbCH%T!!&2mZFF6rIeERjDF([1(6rSlHRRGT6rpkCf%U2Lc$AaD
+
+1eE0)2KBSC-b216+M02qQf,YDlcDVlh0p,`rkBGlKHP6qeh(VQDMY'T1!4VTl4S`
+
+iF-aKA85kUm''a`b*%Hr&L#`Vjk428SrNUh)KR(leY-`8rhN5Z(Y2(R44R[jFqe6
+
+f+GVYchmZ9mR8KkGH'*B,h"qhGhDYE9KTke2eZhKlb2iT+NTpa62Klj5L#Fr+SK-
+
+m+##(Cc$fme)S5bbRM%Yep&13!)b121rmVNBA%@BI)&X*f'[fklk"IkedDhA0F2T
+
+Jc$jJYl02BbE4j3,H16Ym&BlDD[2lIEp'[&FaR9-HILi[H4,J5pY'H-@$!Z[T%9H
+
+Xc&ci$+-!rNi"I`Af,pcB&r1fl(FIjj2bHAPdZ!GSk6ZLPT)qirX8@1TZp[Mj`%9
+
+QG+&9b&MC6X4Bm[0lM0LZFlU,h"KHFdi16"k,@9L,fSmqTiQCqr&RFkf[J"5i',A
+
+R-16VPqlB(#Zr(2lq[jd9+["r'fDCh1$fPFf*L0SF@12,bpIYmMcD&"&f-L)mY#a
+
+5Z+eELYKTUp5hQERQQiUZAGJ+G`DMqb,k@$qf,k8ApY6UCKLlmlU81pE2T+P[j4H
+
+M1MrP%-ScfS'RM3mh'ZD@LqdLDJS`GDel5!E,&2T,AQ0i32TqiX'l%0YkN4,aLjd
+
+6*-@-#F[N+'q`GL,q)VFi`3eqI23@VM+f'BT[*)rcaFXc+pl+M%Q&3dFLd1Ml81h
+
+Kp5Ee+RUD2U3qTKp5(V8ml*q"#SJL0cV$BQX90L'I$jN&l4m5DHE6Q[k2bTPDjkA
+
+VTLjiI`9YkI@bqiMlE$pq-VPPFrZ16re0PS8Yh$MmAfea+i$rP`F2fUF81pNbFeE
+
+M1P"`CU4TY9XHP0@QiqM,0RcCqMU3!'5fDIN5`#AYqKHfEhpHZRZ"qPHYi,Fr6S8
+
+k+h59$rK3e0FrRPlE[kQ##rr`0-B#%qh3e+2*8[epKSBH,aFr2ZA)B63e2FT!)mq
+
+NMrIh8Rld15G-T8IJUlpP0)F$hD*j0f,XrHlm9hiH1lB5c9P&lkmdTE#D'(LiUpM
+
+1frHq*h(q[1PrqIY3pH2MpY0+ME$)P6cCq2M5l6q&lZU9EdUja%Nk`Mme3r"mI$m
+
++MPr%r[$T+TrpURBl[Ddk0,*%+)6X#E'%(KiXqEZ*XRh1iQcrFe25bIFNEGqAdfJ
+
+q2[pp2a0mmf5fAj11-N%@K4"k6ZYdZ9dZ*rESHMmIqf,dH)-PDh8XG*HRa"p(Bq0
+
+mM[Tdp&HqR[""4HR9Lm(KjMDlDNlL54EbVIarh'Vaj4GLq!TH+(iV[MBZ8BV$Fb[
+
+%ablPQNZUkiIHbNX[iIXhJ$)r(VDXqV$mTiEUMmGESU1YbTVrZQKRM%+b`*,%BI4
+
+aH0Mr[%"mj0!$$IFMiq!e@2SD9MKE([EHAEV@k@i[kQ,0)")9`BdZUp,5NcC-h$k
+
+N'PT93*mR5cci3bG*)mH4Xd2DSbL6TPX8Ye-YVQI2ifr*@NV(CbMDVJBr2SDP#hX
+
+p(mYc1e-lSje[r6EYp"&VdU`j%TYe3A+A4TDRTH*Ufd"a6Ek#EDDa)+-h4V*Z6qK
+
+M0cHPiIZDp1j$FjI4Sd+*!-3Ip'YEki-EY[Fm2Y,E!kld0bK5l4@*`KN*,aFB8&V
+
+a2Ek1jUEJ(jB,[!AP4SBZLAIec!S'HJbJ6LU6+Tp$S"Eqed!J3bmhSIj`$'mR4QB
+
+c[!a8)JDilN24VA2!m2TG##jLZ8HMLHQGJ$&h+@TlQ#JEkfYjqX`'1I"B,h!a8B2
+
+3akP$`mIR`DP68N!B2S22VdCmKCVR!aHI-F"RZHI-$LMjibYe25mrh+2T8D0*5!`
+
+cdCmXJABCkCi,[REE#Gl+PrX$jHR3bD-@,ZBZ9&VAC2*NhHjql(S88Kpj%Z')ff)
+
+)GZ+hh*8!eS$R6fqjfiYq"02I)bD(j-"!+bXFX1!9DcHKQfqrZ802JIrPRcXd%`h
+
+'QLQP`l!#jLEN!5cSiB'hli*pJd%am&2,2JrVcEj'R1!1X"K5mSEjYBPd49TBFGD
+
+PQrLcDhIrLV8S+N#VCd-HZEm-CNMDq20McHCQhmhk2IajY#Jjj"+2NVNGA"(AS4H
+
+Gr@MS@P"`pqT5V8Z#QXRN4E')epJ5pc"bX4hbE`[KeZjhT-F#49mL+!IU)mpURSD
+
+F4fdJ%jS")&`9+%&#TdDR%rQUcG'cR3GjZIS@mk(Q4Cde$#jmmKRY121FCkq'H[p
+
+rVKRXKFh2)S8-@`Zq",Lf*1kaNR6&SM5iKE*aAKI9pK2Y,APJf-8hBQl%`"Y%"$&
+
+pKpHHVKkPMdX1h2NiHScb(LEpDP1ah+8Sr@KhX"Fi4Eh,aANe2Rl`Ae5&BE$ak,Q
+
+VF2+!'kBDj10"AN%TV)8-H#HP2$2&f1C38JZPY+Pa+EdF)Gk%hAHC9[9BrGLUajS
+
+"U$EYG+,S+@#4%SUr,R[Ebkhch5XT6p"906AZ`!H`)Tqr!"5K8J,$YShD2jBd)RD
+
+BJ-M(dD#6N!!LZJ'jQ[IH'kGb9dS[Hbp!2d+2lh&khFBL`0Zq'51"P3Tr+8A4IH@
+
+cPi,aJ1*rCeKF8XRS&eI&$VrMMVaeqCA[rMLbFVrNDmqA%YjA3VE&BNZeX+!D$Ll
+
+'IDZE!mqY3J'FCh)Mk+*1VYNmbrIMqLqmim-A2VSHVAed-&bqaHl!B6X4GJ1mLM'
+
+3!$TqH1h6Lfp,%Y+rV)ka0d2CAG(H"mD&Q54THR,eY,U`3iIT3Gdc5p3rFTmVY1$
+
+f5Q(BTE2,dCD1MX5d5FDLI0#2&$HJhX-BZA)GMFJ#)YK&Y'MD4FE5m`ST*JaVfaB
+
+k0LMB-MkcchB)qPT6c`E,jh$4@S[J&%q(QY`b)),G'N&F#4APF5!3eHQUMJJYfk@
+
+fJD256Fr[IpLB8G'89aA8(PP8S$a5$ZiTGT!!#)"*GU`[,)JJ3J%ZA(d`P++T+V*
+
+Q+A5f*pbM5iIY)TA`rDS`D@qPD0!-i`'L'JJJSp(I%35pdY'-`ChBJm-[$pHTGQh
+
+*ce#bCqipM[*p5[NaC0H(`UEI[5S!SdBGQ%l416,VD*KFS"(RI'Ki!i(!r$5LlAm
+
+F@hrMrZ5"6$ZFrpah),&THZL)'0`L86)QFSmp5JKfH(fBJ+!D5&3"SNL2L3&+#"2
+
+S*0V2,N*3&TdIY*+RV9*Z-G6'G8m(jAII6SqQ+"Ikq&mr3%XP2"KKZA,QH!E$FK`
+
+m@(2!5%p`@2k,Jh,@H!E#!6LJ+Z9Lf2@KdiIh(Q0*,LYbG%R%e5!Id16&UmcUAZf
+
+HF858'SMdf6DUN4Tj&aEZISA0#'fiJ"XT+,pMABZ-VQ-GZAZA[Aihjca5Q+JMa5@
+
+PE,KU2(bbK2&AFVlAPV@jGF6jMV9Z[Jd)[QF[e,jq*aHQDf6BXP'VMYd4cSC)QG3
+
+'N8r,VhM"jLrLE&NPZcbi,X*U19phALNaF[H($6jd43Geke[Fk"f5c#(Ma*h1AZA
+
+r@1R+a)brTbJ94dH)!QUcDH,"G1SLlHhBij&`j$'AhNFQ`MLUYYE!"R11YTh+&$(
+
+qD@T2Ek'K&m#Vr*2*JrpiXRPqGHSPqXV,f%m#DY%%'h(4QS6`Djj1Rp+AbPC1$$&
+
+0*CQJ`D)H(#RcpRd-qKRj0bNY8B0",h4&SmqK&[b`H(Mk$'JkMdd!Bb8r$HJ2@TC
+
+Cl!Q3!'&Rc$,8C`d*I'DKVaK`+8X)R!0"(iQ"TBTP!a#qN!"NbFCNZpTI1JpjKrk
+
+PBm)F9UVDULf-0'(5qh4i@(qUM6!3!l$q0q%",4IkHij-!%%fPL4Me'c[c2rf&qG
+
+`AhfS0TDCciB#$4dDP5'(qprHI!8Z*0,A&JKAkJ2H"bN9EM#cLYbp1bV$TM6Bblj
+
+hSkaj4h&%"Ie5b@@h!T6)1Y!8R`E8GQ,B`@Mk[c)Xb@YBrh+Pm3-Skh1c+QC8r@U
+
+3!'AqA,cURei[P4rk"Q@UcfPT8+%FG-K(pTfN'bA(Zj8k[GH@q1@iU@Aq,SmL20e
+
+mf2rL!60jRr'q!D20b[E@$TN5mf)Z%&ZI-h(cAXDqYLm4VZAQeXh&@PcGrQf12MV
+
+ERIlrGpeQlpDlm$jfQU21raeP'I03D`GqNE#-e)!$I&G#b"&1CI`"+d3$)UekY[C
+
+T["q)k#PSSAi'Xh6096A*!bQV#!@"U"LKQd-h(hm'EXCX@E0hqaQ`jZMQ`ph$iLk
+
+)"G,E`A@mS)3KN!#!b`JU$%!SB"&c@!d!9Qp@kYEFVEIaIrC4"A!Kf+hm5R!Rj[@
+
+cGF0Ge`deIiUj-A0PVFd#ACjX3IkccIFcIJGhmJ'&bYZH)VrRQr"irmQENjZ6hrr
+
+i$2F2[rk-fRQdq2r8G&f6m9GD$QZc`!a%'Er4QjhIrN$cINcDZEQr&mY""d#mk*q
+
+824,f@jKk0P0L"!*U@Ii'2"4VEiBj%GAUei6K8$)%Q5Jk'rEflIqfhkR3p6`dDKH
+
+lUHMUHMU)"U(kE4G4j63'F81j(&$Z%1@Q,[$b9)0,Ci8@24fZ9LcpQE&XEXf,P(I
+
+"0ZcG6[)je9qKK0V22j2`-l$QfF2fH6KcV1EKUfDYQVCY,'eUNXZEHlf22`68YL(
+
+ZXI+(MFd-d-eGYX!`CF@'HD[RaGhr@-$BJ%BTSLAUlEJ)!",ZQfZpemmLRKJ)Xm*
+
+$ZShJJD)2BJd$lm1+`G1(&0ZFlFUK50Ra$EJJLCP(YGpHmb91%4Z-4m)")#-mF-1
+
+Kqh!9fhj%j83EZPLi2Y8SZ$l@NG#hLqiN&@MXVFVZ(m&8H-l%8ZlhkV(clY,TCM,
+
+[U)&h'IGS@1-CXdNp6Qj4fQN+"k)+8Y'a`qc3Ki1r$5if2cVNPbDj![*qk20#J))
+
+DQe&[FBREJ%fQr[p'81r,""52q#11YZP@dUP*()T)pDCL%!5h)U!mh(!U@D1H21B
+
+X@JXAKa`0mPDIXiI##)4&mY!a$G*A,E`m"lGmE$pbaFmQj4TiIZ8UG+2K,iI[%IY
+
+)B6PIifqr)c$'J5-Jf-N4B(Yemr#JdX5#D5YaYqL5)(``#%"5L#8%[8!K'FaaRkE
+
+8KibN!a38YM5Y8V4N#&UI,f+eSMFE&*9[hK339!Y)Z4pf@2NIIVq*b2rpYj8(P25
+
+!V`9Z0LLVFEe+PI,VmEGbiTXl0dlDiBEiJ#5h@qVFTeZR*F%!4dUZ&AEVdi''VEd
+
+VB"-0@[@VK!A1Jhdqi3Dq1P2J`@!#6cj'1P5VLQVm%&EDbcmP(qk!6H*E(T@9PX2
+
+&J2*pe93(f@dr&J%NE#56dJ)k-[T@%Ud+H"NG)+(*#4#AMDiM`J,!C[(Tbi*Cp%`
+
+lp%"$Url#"mY4`3'mMCVdlEX%eK"TEm1jm2ri@m@JlAXaHRcV%(Tk5a'hKS)G&'f
+
+P64QQZ63k*rE*V+Z2hJJd6q!3lf'paBXq+iqlm,`3FEXYHY)rr4a1Uf6kF$4X'0r
+
+dY(A03M68$82"GJii4I6MGRR)F4p4i0UhSJ,U!f!p'@I&SQR9SfUQhPjPDJej`p-
+
+!6MR-YJa&MUH,lGM*IL)0#Pj,*U++R6[(aX"BK,V[jH-mGE9EhDUqi2(ARrF8&%R
+
+N$-3++$5akXCSPPdii3B8NJCZrE1iI3VDTr,NrQ5G3Em0!M2j'Hh"jjfMi8MGrYI
+
+Y2e-##6&X&re*&K!0aB[m"-,IA(m0L5aXBiD%PA$($6iY$r$N`[V*qaBAbNfH5G"
+
+e!m%2+V69UbdPd@INPKplNHe9l52SC'Y6[FUh*EN[92PjMqDIT'i("EmA$IJJ(2X
+
+8(iG,&5fXaG%D(F,JTiImGr-a#+JQaGAbAEAEpZ2N%8de@earc5lA)p`D![V2pq-
+
+[m*Mm$Iq[be1!m8rdYLe08q$$9jqP3SeqPAdhmZr"BdV&A$9Zk@l9ie@,5!*9Lm"
+
+q-rh8EBGb,E#JIai"2q(I%qk9d!dP!j%ET2DZj5k3!!m)#PJK*XfKXkTF5Q2'Ba'
+
+8r@2k(0f#)Ra[#LJiaPPB5pBLI9(d`9BBH*qIbXSdZ&GM[06`bDdV'hMaK[*@9f6
+
+PbqR8kq$f&dBFM'"(C`HXEj@cHpI"pD,rTLrce28UGEAj0*&RFL5)b+X"PZAYkpH
+
+`FY-ZA,M`48VV0h&lkBGImYq'r$IcVpcAqJKA9$+Gb([Sff9EH#0rmGIQ!IVe#D0
+
+N0jYE-AeLYGq+pZAZPHkf$e!(GD,e+RUkp@NY"CHF!R,Ak`Apc!Ram"Cm*q2m-I)
+
+McYImJAHGIr*ITPR(hXG[,qCVlQ3X$ZR'-*hYL,8aDQeUBYK1p6&Nl@aY8I5Aq3*
+
+8c-Mr$KZ3!#5%#qfX`iDGQRC`f9jTM,VMpSj`0Dp2IaAU9l-`,mq"J,USH5JXG@Q
+
+["HJ[BldH!pHB[U90fTZkphY'TV86KIUi"(Gj25$E-e5Y&5U8X&4H""2rd+8B0Sj
+
+5X&j1bY,3hd4+&i8$N[lq02P0Xe,,ajD@R-TT$8F&2Bei-M&6JMXI#XH4VCGk0'R
+
+RPaICE3)L'fq!D+3N6([XAMl95"-5U)kfRD&&#Q%G6',IKFcb,q@PNhJZTCJla3#
+
+,D3hSlM&m"2(Fa0iBZe-eT&Q$#5S8F'q@-GZ,EllImHl8-&5*jJT'CGL5a9`rD(,
+
+'f!5KT%%$KGI,LlYT@Y'("KXC1(K@qKZ8iF`H)F+e8V9[TkF2[AQP(,`-H#@Q-@r
+
+#VITpLTjU-miYb1Pfbc06DC-pMBf+8%116TGpMmIT9!%4G+,T4U)--Y5@TTBIKAl
+
+pr,`jFb!6,UCX0bT(mTC#e$4ScB*TG'V0m'D[Sjdhk"e3Ce5[eI%biIPY09id08p
+
+XY,F*j1030kfPZ5lKbSYA4Lpl[5I'UH2T4Aj-[(aL,X4H+q@40[!DXM,Sl%qf1FF
+
+0baFXBGLjVA0E$mDcZfBr!E$a,0e$bU-QPmkYmkY[DAeUfc@pI5qY,pDAkeReflB
+
+Lk35TI&6Kb[cqCh51259TYm6mlXC'$$Kd4TlKUj2DF$fU5jbA)pa--'`ea[DiRL9
+
+20iPRcp,JrKK*HeIEiHr#!3E[0M)aGb-M,H,4hXrH3#CjX`Cm@I*RiR@eE-0cB'E
+
+(Irr+$rdjS#1EF+#)"!%G04"MKfB2@f0b$FjU!6eN"#)NjZc@C%#*LD+403#B9LH
+
+k+AfS#&LE4rPKUl'G"k[0r9JUmfV"mV[rp&DV@UeJ'9Qb8EF0[BY`@qEEJ`J%Ypr
+
+EcEHEEcI)lrpI0rPH-ZpHJC4&"3,TkqQ!26dk'[NDE(!-9hAe+'TJrh`(Lh"r[2$
+
+qh2ERZB1RTZ`0BDC`l-Ca!*a5*bNGPdr8DPlZ$&!CCDIkY#%Ia!'h2X36i1ZI5mX
+
+(fm('JUi0BlH)6D`r#T!!"YEi*cJP1+l"1QjD0'X'ff)NQLQ%V,Jf)2YDjlSB,4a
+
+e%c-"#`0!3D@#e"l'[AJ#ISIB`BCl-pQHbJ)339UeSa8i-HC@8&BpL#e"DV@V@ad
+
+NKCMRcMIlFkhqYS$f3HTmlJ2*1LhSb`mf[+%!LAR$bpD5)@lRe-V#A@Ri@jfrjUp
+
+Ea,IFEZGS@lF1hb9D0l!dlPYDfa`V@CDVl(L@-QcQDeHm#$c0"+jakIGNSbp,Mqj
+
+,l8X()-jIZZc@reeI(YIZd%m#kA3JNaq)FB'B'be,8QaqYDbEARE&'e5JDMKd!rd
+
+Q,a*-l(Q'd&U!-r@'0$pBLc&KB`fqiYrV@kQj$MlIFr@rJbIhj1aqYkZ6pcPEJ%Y
+
+afh25XF2GS5k0fJH!dGBTAN6Kj*[4NcSM9K01HTFUB9Ip`e+GE#BK+dEbDESdTLN
+
+Ckf6Rj1IRpM2pE2p2*PbDVD&8*A1Tqc$9`j+%9RIEq$8VbFZVAXeS'mLdG4dmC00
+
+(9iX`GKR)fUja82GNH+(GKhG(%I9m4)`LVh[Jlh-MVa25!S`lkP)"`ZkFA`GS[,h
+
+m3'M$2SpF"(im)iNVkh)U9iHAl6d33'SkA`LDc33'2i)89G#Ld(##M6r0ST!!5[k
+
+YMX3pL[rJq$U9pVQC0HNp-""6'VHMR3qV$qVKU`r+Trk2JeDpAPra2T39iDqL$b(
+
+r&KV`riUrBq$AVh1Ap"`Jb"HkH[1,m0cFr)RZch8!QhVU[hJ0F8$1,")IcX@Rq4(
+
+GMZahHmZckkad!r4e'-J##')0pLVN'Ai*c,+(aT!!BMqY*r3bN!!DZ2j'f%j@ZdX
+
+#Z9YG#F0SS,iK'hB[N4AF52eVU0K!IZE$i,BNhEMYkY[p3!QVFeEM"m*M6aRpZ5m
+
+m)P0f2j-K!@ThF[!PNP61'5"0Zk5U5I"YelGHhm(Tp'R44rRN$BqHHIVkBecMqh&
+
+aVYAj'YGkYf'l&J4ZN!"1e`2TcZ'NemKaPhKQAJG'$dTVJIfVZd!3ZmPdJGJlI2-
+
+i0rPr0S3M`JDf8YQP[pTXp[Xmj8e3r&F5fVKZXk21Mc[e-l9mA9SDY$9020c#)9-
+
+3KLpZDqlHmc"EMhF#p&H8k*B[CMA`BV`#,dkkGD*&lFDTl*[eQ4"XB4k'J%6UJ&h
+
+Dae0G*bUY&0EA$&FP)'9p'LcQMAJ0bH3JBKkf'SF,G5jmS(Q(#51dZ`AA"e6$-AC
+
+HL#!ckm+YBNI"V'X8Il!2q8F8%ec$K-d-&maQNVKaYN2THIF6mmZei[Ym2mDl$bc
+
+mPZ,A8pD@l`qccrh1(fAr##c5Ph1*MJZqKLbGD6@QqIP8FRh-QMPBRLqPRIUdU'r
+
+dD92ILJiq1V"PBkQV&pE1e*kA!CeMD--l+aG#$KRLch@+6@bGE*eZiq-mD*PbCS`
+
+bkq+QEep8!P1LI1SPjR1U4@0ZAEi'2SEDp'f1`@MipU3bi(KIdS-2X`b4e0'T5NK
+
+kQ(ld%HPe+hlqPeDflTEUh0Rf,(Nq6UkZYaUK)mMbik8H(rcMlDAGXAE&e9I[CPM
+
+-KDTTIIjA8eBkR8c2)JrG`qe%1"q!VY,$pL$5MMcpEd2jS+Q(lk%p,e0,pqAUQq+
+
+T3DAVbS%YibJYi"#!cpkAph5hBiZGpePIZ0kqKe,ZmG$NR'kN8I'qp"j&rieql"G
+
+S+3'ATHCe*pEr*r02HrbIIT4kAhS1T(Pj-P+,*Lme5!*)R'd[[5kfPr-!6ldZVTI
+
+HbIhXkrANYhH#ai-05c8,eqrC[rUI,!,C[iIe,+"M6XV!`P`rKbG(*2pPRr9cpR2
+
+pE[HXIlVeJ#GDAeQ@GU%E@cCdE+V%63mfj,Rbm@8H#-m5PU4+YiR9GSLifI$a4NM
+
+K@23Pl&TR'LAVTSE%md!PlHjIlU8&'2jR$'J)"XYN*Hf45ASq@4IPE-&!*'Nc"qP
+
+p3M*lX@lHhH@!CK!SrS`8F(Z4HP&k@$dSJ%AU2,SaC1"SY3qHR6kX5Hd8aLI2H[G
+
+AQF4kAq6R3kH1K$VV6*+CG12*[m,QIS4q0VUeCLL8cpE"D(+0b*(29ZpEjGb,Tkl
+
+F2@+ZFqa(R-)Bkl26`HY&kGldqAkCJE-Kc$8MQMXaNZ[0'eX!KqcRfH+0HF,0H5L
+
+G0&C+UEI36r`JJUE%eUcDd9q3!1&34RfZ+B#fLjmF0Z,+TZ,6-3%+3!THi3&R'bN
+
+VaE2k!M2QiS#Ra0m2!H$$*[MMN42b`+Uq2Bm(@JhMQiaTfA!Sp+pYF[(&4`F9ZAU
+
+[5Rfi28+RRU')ckQ$ELp5pl(,fimR![!iU[N0Q64URiM3IrN!3e$BTXjlaaJ!M'j
+
+ApVfI$8S68,1[SSR(TiG1(6ZDqITm@J1Vq%r8`$FfLh)XD!LmH$NAepGHKSmE)0-
+
+,N8J`ah)lQZ!5riI-45TPJ(L!(UhjfdFX2EJDfLL6m9NImLrH'(k`FHVReH,9K05
+
+9kRrh+L!MA`jQM8KNcbbiNEYahlFeZcXD0Xd0%1q(JIM0k'a80$DcEdGa6jA#irZ
+
+CpcLq'm2r&4Vll,rT#3LjBbr299'ElQApL[Ldji+iEKAjfZFJ3F!IhB')#KASkCP
+
+-SQZUEi",hqIPrji[qPS$!Q-+dS",(5YDZT(U8p5cDkAJ4q,rEB@H-qL#JD1%IKG
+
+5IUH&e,%GMp9rm),0#e(i[YfU[NqkH0HE1ZkirL!RkPVkhNqlBk9MT@24BJ1M5Yl
+
+RamI1Zq0LYkhLilHYiH,jPh9[@YDI99hddC'hBZiVLA1mS",(c-@V&DL@S,N4DmH
+
+QIqfl"FaNqI&1+PhX9ZHa1VhJM)f-hIcUfG[mQYR9XhIllc+rBPrdeDXe@XZ,&Gj
+
+Zl@ajZlSlTeVlS$!$9YhBHrZ#@NF11he*qQZJl,"pJhD,9+IQ(mNIi3E-&,MGQ,E
+
+iAdfYh8(rK!X-Xd1fRd3UQiq##(G69`L-JGH!U,PVLa4m$$rYMPidT9FpHYkPEe0
+
+,e+9E$q)Z50XHBS)1rMb-2m-H4aZrT96%!rlUhSkASdJ*('eb8%%d%faKY6@LDAE
+
+`q5GQHVKe)C`#G5&@AN`acKVc6k1e6jQM"R`''%Hk'&)aMVKT&e--X"B'1jXlrFh
+
+Dl[&@Vf2"2E9SqL4miL0ECSMJ8f[Kp-0F4M"D-d'4MjF8XXZ,5Gjh)"*kp,`D#N"
+
+KqaCmRj1Y2V6q6j0Uri0r8mR@RYDFrNf,0Q`mFG`69VR@dIV6HTSqT0ep(rTPUej
+
+Dh1crVD$C!9L[pA6TadpI1dmj!*Vref+pdPTAVI15J3BRdj[#i8!Q&38Q,"ZITQ,
+
+G`@6!S6iCaV3J%8&#ReEGr6kN(8i+P"K1%+FE86f3!&8Fp2$k0ET9ZPqRdS25i+T
+
+J(,KB3#+#-GbVFU`HpGZ@+N"SMZci)fZ(14"EDi!@i%Km&6!D-Xd[`CFr"KV@DfM
+
+hdh`0%fN`#CXfEi2K-Q"TBE4(-CadJ%`a`4hkYr6[Ucm2$IIUlFZrSEGIIVE-Z+A
+
+CPacHV0kXY#9&J%[$khfUad&J%X%[)!QD$bT3KEJh&eH0q1Z-MbFM"`cZeYDR"rq
+
+"iM(bfcJ$D0Pj'r0@j'r@PirqfHAJrl6B6l*(XALfdYqDF9m`8E'aX'*bJ%f#'43
+
+Sd&NTdUF02KFEqU+(iH1pEUH*a2pmG6,kZAHlIpA+cBQQT%V(3'h%QY*k8RR5%Uf
+
++Pa-FKdVa+qCTdXZrh[cp@P*k4+VJiQ1TC"&DLfSk-L[1BCHea4GIiH1lZC4j'S"
+
+'"$c2JiH1'k",@j@Yif)qbZZF0hA--[ZUNcF1e3`'H4Mmc9VDI(rK2MqIMq`J'j(
+
+iT[5VDUQ!*md9d+$V!qj`B$Te1RPrj+QV8mfST3GVMbD'9Mj8'YJNKNa!%jCZ0c%
+
+eQD,pC""a2CUD[`rCZ`"K#DdJ%EMb5[fm1"*0hZ+k"C6GHjPHia`*&8HTbdajThX
+
+9p-'C!)Md+#6HN!$&eCmdXr$$F!CaH,RjpbiV(4klQ8BLMjXFQpRHZldFBq")#8R
+
++MeS[UL3$&!'Lj0,irXKB+P%r%KQ3!!45mQYGH)iQU8(`j5P"BRXmMm&B`Zq$l0,
+
+@iRhkQYjQYb2c6GDYDVUmkdZPN8%mk+KRiF)"'TFe,RQrCr5XkQRqN[+[Nd10pQ5
+
+RbUINrFNTb8q-`'qcRfFh0de)!CmEQI$m($,6dZR"6dUG@Rhp2[kG@25cl#lII'K
+
+VEQATHp#Dbcr*6h0,TeZQ!6UDABENh1U+$aI@YpEaI@m,IRR3#H&[f,(LiV&KZTB
+
+bSS12[j[jq2[eBHkrjI"e+Zjb0K!P1h*[N!"VHqICm6X@q[UEfTpIa2iEQ$8(eYb
+
+1K(38Im%cIZL6L2&aQNj[J%aqIkZTkY(eB+%#Y(KQ+86Y6@e#!RE"&EJp$(Ekp$Z
+
+k-cF20#P`ICk0,aICZ)"+9Z!%e%HQdH"LJ4,r)YQajERJdm@R43#DH,!'4JY`EI!
+
+9Ei6`r"X@T,@9q#5$ci2$r"U8I$rQmqTU3dH*4mYB,*0bhY1r2bc$9RRkfRVi2Bd
+
+bdC!!&Sa!r8JNrDahYfpqDp[I(r2Hk[l29TrEbH[&p+VpH"@VR!adFMcqem2'46[
+
+bDRUkRrie2HHKq68bk2!!`[lPBj[bFh@cGE[rNd,&#a3XGqJ1qrcIN`@),#SlSeD
+
+082IZh)[$ar&LZBlK@pZ"Ne(Y#M`2Y3HPk(r[UGE8l(KS"ZYiH2cjY5DM058hGL$
+
+&Vqi4#X8qbJ%Rai)br![`I4S*,4b1K"Yd2LHIlYZ+jLZ88!R4!*3a!@9P[4KSBHK
+
+$iIV@qaFdG62ZD0[Fk'1i@8mJJ'Y*`'XjD61l6%J)lEHlM&jfp4a8Yk$pe6HFFdH
+
+HkaHI0h4fPpeLd+[)af"JbM5J4`YN'@L2F-")[5JHIfR-aFmPI3"h9eeBH2pZV`q
+
+2ph"Biri+eVMrDUdFkPm2lIP)VXcr2X4GJ),XDrk-4r6"UcLUEfC[Frpejrbk'q2
+
+-!#DjL8)ipbX@C"jZr"Z3!(2i+ICH3&Z$rHAPT$!e-@C2j@1!8Ci(j90kQd$amI3
+
+JirXeY9!*b2Cll9mc9TDX+jApJVR"1qIR$C5h&eF[2lM9rCp3@8LS,P3@0,'MphN
+
+HY0$aq,RpLD'@aapq@aB)$UPiKqbFa!&dBVN@d&p&jTJY+E[)6SDfiVBNa9%SUXR
+
+ZpYk2FHMjhZMe&9d0N!#dTjAj0M2b[q8@6a2b4A-cTrYImi25SlK28BI5@mV(XA*
+
+,J#S1ffqiqPjhr[4fkAdUIrk9$"i)#-#*1[BPLU3G[Mjpk$H&8e4a02ara66pel2
+
+RkIGI`cDI)rYcG2p$6q&q[qY(5SF(ri9SF'GYaiYFb2)`#9*IIBqH0$!cLXNcTP#
+
+BXB0b2FNaaEP6(QER2aL@b569fEjYLEHdI%+Li`[*2*@QqFr2Q&ESQ`I-0J[P6Xm
+
+5EGCX6@+J#(QZLEC96e+hqE`[ql[KL$c+A"rfe28mce+rU1e%F80F*Nrm%Qe*LQ%
+
+QSBX[(-3,fi+T5U,RApHrR4em&H$[-GICVibqDNR@#9,&9aNKcHf!#!)McFGDPR#
+
+GPHX`JUimkA1f0H(1`je61QcXGH$2kfIe-rTaEAq*AK9AmX[ekhbUhem2q%p)!De
+
+Yl0rAVa4ILV`kIY+8"c0'Q,YB$+3$%C`3@+ZCpKMX)YX'!PiYE(@kJB$GVI8*-Qr
+
+@l&I('DXdkkDNXiD#IBJI*3PD,0ajPHYiAJ,+)+aZPKmZj8r8Kr`e02j55!U-UIT
+
+&#aSk+SJ-2R4mq(cm0Sa#mh6m*r`J2Dr5T6D9l,KVIhZ-HajEkLbSTI`peQH)Y`A
+
+KjYh0mR`[-JmR4e+QV$KrD,*cL#dYK633L)S-kYVeJla2T!*cFq#,X9qaTjEa+$0
+
+LcGM$McC-hB!9McHTRBj-GIU6lcp%%J'N%8QEqI1jFGl2hY0F3-+#,1dZmqaVmE1
+
+b-lf-kI1q0RAXqp&mL[HdrmVa%"TpQQH*4Ebl&i"#abDU$+!93c`S&@cSK35,1dF
+
+lbml4MQ-0PXpk,5qV5ll$p[,U9ZXN"EZZc,&b-8XYMdfZ$aEqad[&p[5a*Sj0E%A
+
+NTfH0JH"mQ`#DaBQjTq$i&6UR2,KB0',3Sk@+V&0GVI*cV[+aeS[JE[II8VIGdp$
+
+Y&P6ZEVRZ%[h#[h+ZCLjbN9GaVdIiB%@#p!HieJfCb98cY&A4mIk+"P2D-)%Xa6[
+
+(5130YNEG(bmJ%8TX!pE-!&61d2ba9Brp%9@rrS[Ia'BcA[rahZAJT6p%Q%,%&9e
+
+JIAH)$S63"$BDR(@&"@A9#Bbh*T*VhrKIJq1Q[EiYqhVfp1h3kkh&q4XVUm3$UhF
+
+emFK@H4Z`PDE34Z`JI83fi!2q$Z6ij`#B!#+hhH"qM4QhjTY(UdI%f-Ffh02DV88
+
+DVX6Y',JpQ12$kihJh-UYc[!0(#AJV$M9*L+Z(iYhlGrB[lPq(Af0-J&$KCiIVrR
+
+HUh`#"r,&l(Vp,`30)(R`hFZ#eN&K5`CMp,HTBU8BhB9cNil@aL('aca)"%!PI%l
+
+jl4mq-Mlapp)STmMh$3B4jV2'ePCB*'"p8d[)E!VKZ%'h'#c"kS2TlfpIcEeXJh(
+
+TF+Q2(eCJI5mI&@ZJ%eZ2LcBFh8cIRCfGC@!3VmVNBZkl2(hbpC(iJZHVmcb9IP$
+
+p%R&HN6l[5UIh,2FUj4$ZYGfXKY5GJP9S1G(JijViXrDm3JeV9h32mM&ASJ%Plc&
+
+AVmJGRCf,8a9'@65K[b)Xk[Rcr!kfI&RB-k(p$"R`Ca@9,CV`[(fq8,rkAFm,(3T
+
+1J6Sala2ZamELIc4eZ0r0*8b[jTVBIrV4*L*U2TFV%'k"ja-DAMR(aPLUAJqbh)0
+
+N3C'MN6DmaT%3Drl@4Ib,i"2fXiLfVdH%HF8')S&LpCai,f32Q!)#A%6EK(fFQMK
+
+pM8YkPR$pU#PTEN%'(l1A4VEFp[K+))i-ZI0RdlFI$ihp1GRrVjrHGMp$r"RCi`j
+
+RjhP,`6k8aXT`eEKKl$MA`))-fNA'&`i*emq+A[F2mP,*d[rh#BpQaUFDP"ll1JV
+
+l9Zj$N!#cY%[0+"QI@INIFXqEmRqLcUr*q,Ck@('*Jh2&83+X[2j!f(eMq`1M%)V
+
+b"aK"(M1V$H2lp[!)MeFGddJ4Q2@L@!9a2CbcHF[DRarB[j2ar[AB%T'*5B5NdT!
+
+!"88Lh10M[G2ii"!'2Y"C5!!pa-Ib1QJJ5QdL[NGC+$c8e%$fCZAZcGP#!Uh[9UH
+
+VPrj1flUT9U8'`G%Ah1fl!GV$'L9R1aa'0"*FblqYFmMpZp,GZhGc9V5IDU4aILL
+
+KM@%9a2CLXjAaEYRqrm@pCmEjqUrp5dBi&f$b0qr5eGr9*4Di@Pd@Q@!8dRB3XL)
+
+Q-&H9T[&'VP!"!"YA(ipZpZDZ2@(&+1,8!N5h*-8-PH24ZfrlqjHakX%Jq%LkdAV
+
+4pD5a8AFYf"Bb'Y&LbBZ&0dFF1pR4a48YSV[j(K+S!2#B)p(9QmLDrSkX'V"UrY&
+
+aRIMrD!XbB#iFAkIB[eYEXACGEX#6AB3hcc'8'Y9#TPH6M[4hr[Ap@rrhe-[LINU
+
+F5Th95JbJ'Pk8&1V$RH6k(fb3!*IF-(EdTIRDA6PqPTIjC9i$HdbDG1TZ6H6j2A&
+
+*Yb,dZ0mk+(5qRGp@,dH-c'rD4C'aMPTE(jjZVSp8!RjjXJrer[-r+RCb[cG'YRj
+
+[Gq&KpEP6Cr&m(r$`rD55+RB+fMNK`+P$SE-H(+KbiZh`qEC1$V$(CeE09fpD6J1
+
+`15q`NhcNip@-kEGH2)eD&9PB&QMqKMN@D2h%(RENQj*rA*ZA[9P91"%2F6(Vje6
+
+km8'A[jN"@Hf43#KGQPEI04QBR!@emj(b4Q!Pi[GRPD593iri+XAlAhFhbH2pr0e
+
+[KrImU6MrIUb'UK4mT9J%RGb%*iQ4i1fJlMq[PGM@l%RBNrVeS1kGcQa221,(8J-
+
+$X6i1'lHeBj@dXUCHK`b@j1K*ElDhllXqGFNrUb[N5@pDr@EI0JMTF6lH[bT1Y8r
+
+`Hql%@Iqer9*Rj436Zrk1kq5p4"2&[C@[&8bmHC&cpL,l@9X4@VZa+Z2TPIJMe*2
+
+r(Ae)[iSS+QKQIlqpbV[c"G3C`FP@F"J29SprA!*&BUErElR2jmIcZfrZ'D@j,f9
+
+bY-@60fZ,B!*NfSGchRYCPMjQhfZ+(VjhGb,ND8pqR@lA(VeM,mJpj[p[5rAhkD"
+
+5PREl0!+Rb*1V(8f1V8[amI,XHqaHE0PqAPhXZh(0b9e-SV%Q'6UiBBrfT$e2lL(
+
+cF+k(X-Qchc+JE*IJHPVr'McipE,l(EL3!"*eT1T*dkQeS+a")4M-(kdIldF%NAE
+
+4GaGmlbC,XPf6RbAH8P2p2q--cYHY*lKPCAII$J$NUfQMTFPRF'ed2i)brI`FE+r
+
+&&5b[aE'P*@NVCAiVY59Z%j8S(83pS8!4f"ALYhHRh5pCTe66F6qRA!0(0Pk2'rT
+
+mfB#956k9kr,mY8!3bB6B[0-Z3riXQ(Yf2%qRJ,V#$!Qi9[e0[-hrf%EB#jefj,p
+
+&4"[&ScHA##6$phN`r8@#Zle9CY3kKZiICJQ(hdKjeEajj55qP(5bFNpG%0"4dYU
+
+165p+1MKqq2L0UYp8!QeKqdPe5N&rFS9[2YH*dc*ZTG#$aICYfI&r8k&RaICJXm$
+
+jkjQHraYpU@cEim%'PLirjUdR(r0+LMjBeMk*a('9HBJC@fS)#,He"1f-kMl!a1N
+
+4TXi$&pbSiml0dpHKNHh!ZrJU6aFihrSkpqrc,lH1D@[R2hX2VceF2Vf2V+#2pd%
+
+#F1Mp`KiZea``E'r$YqqamAEcpq[DYqT6qRNlR#rrL(l6j@lf-8NJ#*2LB[M&Eq6
+
+DU,")FmHKMakmXFZ@MJ#(Q3hd6HU$pj@6b1(-[hGG9F"R&"bar-+P$YjR[d1h$ET
+
+iYL@R[jN[&Y*K6A%H&58`b`KiSErJT#Dm'9KrpV0Mj2NRr*kR[FR,T9[5'c$aMh-
+
+2%$3Lq6&e1CaVch(TL9Ge%$TeLJL!ebb6T&pU1p*E)Ek9RPIZVecba@ZCM[8%%b@
+
+-)ZaP-Pr)JqAi(!*bbp20ZY-M5GSMV32F#XiikAa2F[8&25Tle9p0qF+,D*KAZ+A
+
+`$KRDpJHdm91[6ViIkkGIYkr[rkqmVjeHi!bRETikD(r!24`iUFAElh[lhHBXlDe
+
+-@6YC)"1&k8+rc#,QNBc(X9C0q5@6Qr%Lq0L(BeH3!2q"&r%j`j5MjZ[@4-D2IjP
+
++ql,V%[Q0qFeH9ZE'j*kdQcqMYI'aQ19eXVH2f1Lilk`h%4kMB$QBlp"@a'dNC4[
+
+8Q,Xa96`!hNmN1AB[r3,1hj8Xp1%&!3$(JkJIIEjIC[*AaEa8VaraXdFMr,*RMYc
+
+q5,k[-SVHR[ePmHB&K(4Q%!RElr&XGjMZ9XRZ[HEk@df-"PGQ1,AlNFiD[-f,pf2
+
+j-GJ8I[4I5Mil22-R4`rddY(,4KUDPU3RACfRTjRdqGqif6+4TVX8"RFPfG([mZ@
+
+mPfe!N!"+NAF`33C@2"G$MDf9MjHYIa4A3S0C(46*!#Ad'9l)PY2m6k[ak8Qf!Vb
+
+51ekFE@Zj)VNFq[EMeBk[a2NhYN5)a4RPM(U-Xqfp*VV[AFb+qL!+%RUbHV*kX6A
+
+ALbUX+m!h,YApq+0YeVYZkD6i09*C,'aLbM,#NfPD[AT0l+MU44D$i3'ZUQciTm5
+
+`(02JX*NSCarP44jq-r@E2"3(&JX0`@Dr4ar'XbDNRL9,dAPaIC9XppQ,B(VNNJf
+
+djR8[Sh#cap4FbiC&bKRP,0IdGQRkIUG%@JB`#Q54Zp*0c+elVNALk*TDXA8bQ5!
+
+9SrV`(*&3Mp[Q8lrYadirELS"!,'m-VMlX%A'idHAaXf#PKpLa2j-qU!5aUH!Yaj
+
+&&aYh3qVGkR'qZG)hX)",mpqHr2"UF$U)dJhG++EMGep,NIq'IqVb24ckAHHaATC
+
+qhRqTVGLPrBJI`(G$JlNciTYVPB[%+cN)FD@[!la-S%6Be2,hIr1cD@R[dS-hIbl
+
+h[,e1pbEa[dT4jf-%[X9F(0RVB*`#9)rHBi5TGcYUJXPP(,N%R'NMbZ0h5i$ZVj1
+
+VUkL'pXUEf'$$cB6XrZCZ(`VN#Gjf'BL43fDQ(j6FPX[VD@j,ZDAV33qKpZ($U@m
+
+kh$FcMNcL@(c$$FZCqI86cDXK3Bl(Sr)rHTEX1jcrh'PFf*IKL5mpRPIjj0kPpFq
+
+GGRbSZl-D'V(99NlS#fXp2[IYaHpJKiRiir*mV8UceG5E9V@Dk`ZA%"3j-%IXd)q
+
+*pk12jATCXpA*UmP2DV)82p2)b,8h*'N%#XL[+hj3FmG5IXaI$ql&aV&EiBQa!Pr
+
+05q@[BFRBST2l2`rba8r#rUlli(%rUJ0JD+jm[rR,k8SI'U[T9BPld`bS,[KBqqL
+
+UEY,&Pa9)[-0'DXDI$dcmZRLlkELBk8fALU6IUrLVGI0V9qkPjcH4A[XH6GYA6Hd
+
+eXNE2HA[6IRVI6VIl+rhT94rBfH9ej1[BqKm2qbTe+AdX[r`lErVmck9Ek9E,,Ph
+
+[hKJ)pqK@XRl6([`%Q#+(j4LX5fj9Am$-390qIEllEU#VQAqA,c[eFl0cXhmYD"b
+
+!)IKrEMieQAiIf+PMJrJU@Z*pVbUA)r'UAkVqH"Mj@a*"`-GUjhhaS[rDJZd*j9'
+
+VLUdCPLGH&l1KClEb),2Jq4bIfa+#l&p12c2eZePpU@P9@Aai8A*LMUfF2`kG5'P
+
+KiPb1jj5BN!$6UiHl9Er`-A+-G#dH"dGEJP4,LBqFFBJR!V(9LANNeMJBV0B"!HB
+
+lQZ[m[(,G11Mm$#$3(@5"k+AJ%f,+aFkA0RcHkcXL9C5`EiEp@TZ9[b9q"MbCC0M
+
+brYGeX6(ZZeiX%"SJk34GQ5DMh16fC0lblfEMVa5UikXE1Kr4&YH"qIPEZ9r44fT
+
+2a53HApDEV6IAQqYQVJl@0ciBhD&IK[P"Z8q$fhTFlF$IEP8iMA*I(Rji@23T4pQ
+
+#9*XRbTUhekrUSb!B`(I9DP8%%(%pQPUTjmI,12ZYUeY@ZX9Qa,bJDH"Ld0f1,J#
+
+cJPj%*H)"%AGX`FVFU@lI)q(pU1M3bBmRMIeH9NjZTR9KIjBl&Q,Nk8QYi2#q*`T
+
+2qUMp3p!IU#cre!NT*ZlC6hN`bI"RkqKeim0'(YSC2d[,Yc@jZ[h@C-Xj@eDj9UT
+
+qYCrH'MJjXlD+6j2PhCVXefErAh5UZfCH6SahU06`BH9eC1Y4pE*kdRVHAeTY'DD
+
+E`9)#E[TbrIJC5@L[Z6m[(9V669N1"5X4Gk59k1aDamU56BbFFR8m[(0e*MH4Prk
+
+'5Id0c+r,Bh[KrQLp,Jqj*NjApAPjmfI@V9G59(A)Vk+ImdCHPjDG)!mK9Gh1,Bk
+
+UrfDA*'bG#Pi(crKAcP4)K-8ScGI'hUL#c5lhjqAIS(Lc(fBiI+YeDme1XU!%Dqa
+
+5fZab6'0JPb6'9m[X5bLhqjaq#ai15-XD9$6phNPbE3)U,qBG&2mZTP!'Mbr[C'V
+
+PkZAplc-[MrrLYa+hG1%')*S4!0I4pl39q5%"ZeBqlC+#$[ICNeG28d0Z2JGT"!4
+
+9BmI1[5Nr0Q6iU!96E1,NqI'DLA!+pFH2bVNebAU5UT!!,@9GNTVT@d+RYRkElI`
+
++"YM2CbrN%0-l+9MIS-)k@I4E(eAScSq4L[3DZ,9GdJS"+qhTYLDVPJke(qqJL,*
+
+X5I@Gf[GRkRK+F"DUYEb+eqpUr13`5Gl%QY*VCqYi5S!N3*3&R@$qr[hTp@p&q,+
+
+hb(EIcrLcVkQY2Kifr8kXRU)$'VCeTc8a9B"TkrkH,idRMBpD4[*BRUQTXh$qNJq
+
++8-pBZlAM&bUm-%m-"&BbXAMlAaZ,mIfGDj8rlh`m'G4m&ecc&GmIVhkhMBVq3d@
+
+@3VHadXiK8V"mjDp'FIGPij5!)F2ZcQiZl+E*[d!J2@V(ERYQpcCS@Bm'+hBYl&Z
+
+eEfVP5fVGq%UKCf2[ilH!l#F(#LlFkS9fd$E5339jml(c3J$!(fH&LTRVKAhJ3Ed
+
+1p68d%0L[KVfG(kp[hFQV`[dSE'B!khpH(hBDX2k6SAQ6FTi5)'!5%Kk!%JKQ)CZ
+
+&D+p)IXepch`@b6AqhhmkPFhiEX28cSj&8!RkAHIeaEPIFm2mH6rUppr9RpM`rkS
+
+I5l8!PIHDlCda&5)ZZBSB1eapaFlc'(+VKeQ['FJSBPk*TPkaA,$Qe(3-YS6IjbF
+
+JUI#@#Z68`%P$e,e+T,QBBYcbSD,HQTIBTSkPcDB(6HQTGlmkHJQGL$6V4ASkm@l
+
+(q8a9J8TLU44RZS["0d-'fFMmD+)%eN0-*pBZhSqDReJK1i'*f@,(JfSpG5![CRd
+
+I0Gk+d-BCYfCFicPl-h[0#)ERFpI5,r5Ph1(lmFQA*Krrl,lB!hhk8P,+0Q%$rNk
+
+AhCBY,m%ZYTIIPlE5qrm)"&r@[kfArILrlerPJQaK,T5j0#A5HN)piIY8iSGf'25
+
+qUe5rXTLQTcmi%jq3!!Q#)@5ElU6IR4Q[j2ZhI4EV6`iiHP$fDQch5REP6IRL-1(
+
+NNcNY6VV9peLY8H!m$mF(arCj02LIFj02irhSqd4YV,Z@DAD*SNC&L#AKLehLrf9
+
+qRhRj1ipA[2bI-kG2lNReTI4Ga"+(i2$r"RfZer"h%(HIJr`5CAmdN!$0a+2P[5m
+
+e8FRFhNe[MUaK@kFrYM[Ym*fjd-q(2aqpPlMBcphr!Br%PHE`Z!T1X2U3!2$L6XB
+
+d*Gfb8CU2J(53!,@&KZ3rU!&dEQIEdINjqYSkd1YKm5(jd-N+`6KCE!0ZCel*bGR
+
+(TRAJ6G(6DD!lKk1rF&ic*KafjHK,FPZD24p28je*)KJChmISEP[Tfrrjp$reZIE
+
+ZGIcpbheEI9k(q@hpTUF[!UE"HNBGfH,bC0@E9eJ$(SRj051EM,b3!(2Jh1M5e+2
+
+aIGk%(KrDe0Ed2[kQYiIhr2eY5e5A%%dTC0,K6BGE,qG@i9[[@ba8!LjCU+U5fY,
+
+BY@j0JEYhkRPr+&'UA'r2a[cJ'EL!&D*TN8kCd,5LGNrE,GZ9$Ji[2Le)[$aS"Y6
+
+(jr5e-HTd[2adPl&Nr5$1qa`c`Lkr'Mj8@YL)Tfp*[GbRMHPZD#hViMUPk%Y["d+
+
+e[Mimf[Qeqrr5S3-YQ6ZH"L`'$R*h8TJNjY,03#Er0JCC6&X+eKPaB)$m#X9X0Ek
+
+qEQmfj"*!Pc-*Xlf`YIU8jrdPmeYZYZFhe+aQ0S(k*Kp$5+@,"HV%MbX!E[cdXH,
+
+hr"i(mQZA,NIriUj@Z%rQajXI(rUlqP3bD#h-R"pUP&`ID'Jqa9%JN[iU8($hkP+
+
+Y5ARC$GTNmT4bfF'b$reHlp@YMj[U`HV!V!i8Uk+VMHjY$0eqDRU#G6,H0Q[9Uje
+
+ArleB,-(IrPcDHE6cIbCY2[qdSGT3A*E&Y0MkNSGQU2)qr"lQkHETjZ[hp#JN@()
+
+RerbbcN*Fr`r0hUfm2E-GDZ8bR-Nc`)'1B"d4NBkFFFHKLmIHUEdAlVbYcBqThAp
+
+8(THKr9&kAHre!Drc*P6VV%r3bPCT5d@h&kHG(i[-k9pHNeZP0XGQ8lSiGc"fBGb
+
+,XT@A)Eh26'jHIh8,r&$0VL-S4!4QX)k6Z[R8V+"D%D(JHJj12abK$&p5,GLhB[Z
+
+aV0rIi3@+Q',eBcmQ-6Y63GdH&160K,eQ5Ep%Lb#62@&YZP)B"VIVmFG2A`4"!Eb
+
+RmHGLD`(Jcfa$Yd"dC6aa@G$VH4he6a)[h`S,FA,FIlIK(d'$H""XKJ0QT[Me&lQ
+
+,j"UKZe13!-pj"ai$a-69(kLlbAXqFCFQ9r0X)"[Cq*5q-2!*2R5IcC@E)XPd(mF
+
+Am%Gh"T43"R4pqkZYY4UCmql-i6dcSp-IdlA*S"rm6m,q'KjUl3QZC`dF(-`hljC
+
+J[bAc+K@jGKLjq*0*P&[eVU4(9CZ[8[FJE1caq2la'eX-)fTJ9ZQJ%9GK3rETi5)
+
+aKT`dm2%K!P4PT4FY+E$"r-qG3XF2XmrJmDNHU4GP!%TC5k#G$(9$,d)0HdHBH`!
+
+5YRBmkYRQ4(!fNR&TD8mm%(1'AF'emSZ'+C!!KQ`H@6Fd[AYh6)G8U+8@C`S)"b5
+
+1$@f88)#hE+cX%-9+Z1ZIQpc&*`[,P0**fNQ#$lD12`jff19b!2"XT!&q8q%"pY(
+
+0l3,9G8rMiIiiBBQc%jH0T9lFqf&!MeV$$$aH,RjpbiJ1F)2AV@l@h#'i`a8m(Eh
+
+[ele2j&-C0ZrLEM`BIX`diZRTG1Pdk9-!e#PN(!#q#!F0di)jqhRj*-HMq4(jQV4
+
+QEY2PdYLIFJpT$35lA(pbACPl-X%dYUEKD,m-!'ih%!LEq3iD)Zd,G0lM!!qSmMh
+
+*GVNHj9qe0eUfp,Y"m%CY8HCpV@*d16*(*,[H6V(%UF0)([5PC1"kJ$4hjYZEFdI
+
+pS"Z[SlXhAm(`RdS&9m6+mH[DfHh[6!)')GbTeCZY3qa5hHAmpk)#GTHf1ABLf-&
+
+L2(bl&iQPMjQh&jN5pKi)#1YbaiXedrbqAHIZYR@kHA6`rFpkA6`jfp65qrUEfI[
+
+Hqqj&djHQiS,&l&IhN!#!1C8!h,ZhM$MIISmLH5`A0rSPjT@J`GQ+)B!4f6kBb3I
+
+""5k0+6dUfVJ68C(-#8!RI*jLfeDa%PZjAcjB,F[Rc4eJ42IJp-#bV[fjI3-[fV5
+
+e2Fk'j&ZF[rAH'cVZ$*Ak1Q5I3%3*'6$j$@@mjYl&,ab-'$kB"%`#*HC,IdBr6Nj
+
+cI"m89A'4`aY#!L3"&iNS6hNE[reV4kpUV,TmMAr*(R9Fl6r*VNZRirj,hGhZl'8
+
+,(!fjG[`mI3fd"%qhVrm*2q[PlGi"a`k-U"$&6lV(EKk%-IikYHjAk2iiUI,bEri
+
+SZeL@#Y'0D,Q,SNhJ40$d6VTjRpGq&CU+m16k),&Zad#EAm61[A)ZS8C'2"EPYfl
+
+ISIbS#2$rPk&Z+hqMr++L!)-qe$JEmTQaB6,aQQm5Vd$@KjHi*2$pc+AU`0qZa,M
+
+dk'#c&lG8dFGIhBUYr0[qkFVM&"YarRQVI&Rk(T8p@5@YaMBGaFbMI@Q!T3HY,ZA
+
+)I2KNiDRHVj9IQ9cS6JMfC'lVl%@c9a6NC#(HLhUf,!H"I,h##%8L@iFmV&0!A4a
+
+QIc4DNKrfBT+ra*a3"@`%-+-fRPf'()VmMf,'eTEj"U9+#'A4f*[8Qc0'Y,rZUaH
+
+,q'$Fifr5hSIR!HGpAa4GeMm'KXG+,CPrVdmrAciZaHr5[G1r6NA)k33#R8#4Zj8
+
+Q*a4$1+p[AihEbBpCP15iS`QKATr[Dpq2rr,mGq-j@eIHZNfSmd(65!5##K5Vl9H
+
+RiUbVm2l9b2p51jIZGlqSIP(kRHhammJ+Xaq"qXXXrBjA+SdI1mlLr`)lLKLdX4+
+
+#ad,!h5f&HJ4F2m0#eKam(Xm@(jICT3m(Xk@a(0lcZ16jC@T@BI)Q+j!!IT`IhMK
+
+6Nf[dmApjh#VrL8i&1EBQ+KUE4M9(l2&Xjq'jC5T'T!C0DRamI0KcIaNXFPPj[j-
+
+'6NImUA[+@95@pXPf)NN@prR9UpEq,Q`'*bE29+,))jB(ZrS9YUY15KDpDIQl@E3
+
+l[&@l&EX)"2LVFIFd(YB!LJLEQiUe0C@jM&H)VYlQi$'B*Br0ra!)`9S!42iJ)Ff
+
+,0dDhp20QcI@VHR@p2[p(0QVGDYkeEl(a9DrFf`Z14r&cH`12Z`'KaCX1E$Qrm-h
+
+1q+V2lQa!B[CXB)*kf,0qD&!Q2iBr(a@aQ)Xqp#GRmdq(&BSq,qD',KqdJ%KGc)d
+
+SZJ-YSV`UY2(mf+!`AYkIHR[6epGB[G)6X)8FXICS3e618SGR)Sdkh*mH2paQEaa
+
+iik@KS$Nkc5jAZ9+[!(!(1kr(ii-efe88X46LM,T%5LaY!+Ji(CS`dSFaaJ%IQ33
+
+4@)F1adUf[@dkfQ!DKX8'pcf)$KiVN!"R'3eh%YHAa8jNpbV`HdH'!`dVZPMPXD@
+
+r,1!LF"&MNBVG(KUkq83"5@+(LqfpS5V(IiVZE(5f%%&QKi(p&+`bm&#a4eU@Tbe
+
+C2-3#$+e3RUPmG,`GqNJ%!)cAj)Q3!%-pL`8S$Gj$rq+mSABmQZJJSbTL2mEIl63
+
+bDmR(mZDLVYj""4PMd5BiGkiTeeY,eUA@T@SG4QhbL$dp,&`ID38F(XjRlRq2h+2
+
+Td[TjMQhc#$MIMJhF12JIRpl5lhIi+Y"%!Mdi(9C-4if!L!K4LJjlm4!PeSmr6Ud
+
+L45*IU2LF%8f&F36Z$HGeM@mNQ0SeB,c(!if,LGRMBkQjPmrYZ(&&b-4p@%bTm+!
+
+8mJlV&hCMq6!%Pkp@Yi-d#U`2&3#-X1RZkhCSZ4[9qVAh14p+ah6i)0,5S80,5*0
+
+3#1Cc%!P#KfM6HeC!G#lGh2+TDhZH*9r`iV[2XGHc@m(ZV$m+#ASN++h,iH,S3Q,
+
+MZ@lI3KIKS%2j#A6Q('bXb""T,c#"Sl$BFiT!HXF(iH(h,kV"",$TD0E*VC2Nj0,
+
+$P`jG6,E'-FB#K"Sk0+E$eU@MlfE,QVHY205QT+iHKk@(qb(dHrrijS$'!`"UZE9
+
+r3r9%42KJ-@CLVQN%ZLNJ%!)fK`T3E['hj+dIX59K4bIMH)31[,jYU*C2c'!QdF-
+
+e5D(4r[3m2fQaYB0RJ+X!m1"$$*@V@ZKdSYLBGS36AV9ljcm6JSdHEcCCDpI2++@
+
+GRDRmRF[$r*,+&I-b(N2D`YIEVkM9LhVCiCSH'-e[Kip8AXI)lM#"r0!))%ee'ee
+
+R##!iNqDQ9TK`J%%kd!Mk)*F)PrKY*mcF@62i9cK3b42#!4(`kPdXhNq&R3CZMKk
+
+h*UCd1E8m"iXpKb)YMQk3!*CkAK9B"D5VT59H&9Nm(bP`1i%fDbR0a2F)Q2CUEh%
+
++Q[)afU9*'2FK*8a#B@l1J[B$@l64IK`1@F%k$@`dBXr&RaCmAHBp'[Neq(Emfj,
+
+dq!X*TVIB3%KGT5*S0$PVj05l8rekkDZQ3N`,&JN[9!2bi0L,l8GU,BU@X&UNVKY
+
+k2hQLcbiLEcPai%b08%&5+3rE)Vkk@@[HeIjUN!$aIjrPje(6J5d(53cX-qM2Ri-
+
+m!QM2ARlA(lf$cTjIQYN*`fkH+'hSfqmajm'ILdGZ[Yj1rlhEmrE1a"T21c&XaEH
+
+(qUpe,hThY[ApL6e)YbTe+RVi1Nk1bAJCUUEPlF[B`#EQ$eicUL`962N90dL+mQ6
+
+NkqTHflqTmENhS2MipMNakP6Eep6Y15T!&5%h$!kYr+[qlIjK(CqMPQ*hVd-KAED
+
+1dqjjTUqFdI1NH&ijMJk6B2*QblfM[#ATIBK`$GIbHAlfpjhdDXMN34"0hYIrb,S
+
+e09pCrX3M9)Rbc'46MA#e,S[(Vaam`",p-!'J"PJ*"0klH0pNN!!Np5Z%"Ab&JpL
+
+(M&bq0C[@ErZi+XC,hMcF[0brG`8)'Pmf)LA(JTAS4AflHqJBce#2mZA3H&"$+@T
+
+IB&mjlNpc$KR!GK%p*m1%Z[8)$JCArV&2J,dfra2MrcAVf#p8[FAk[q6CQX,TM)8
+
+(k8@eVl9lqXC3M+2!Xl@TFUG2A@8b6)(mL+[AYLS82R"FUJ",f21emkrq@r3%""R
+
+)ml,cXX#9&[kRCMq6(GelYrlYrZErFDrrr4rTarTarTjIQDqTNDVNS#flJfVqZ(J
+
+aB1a&f#P(f+RB`E6PJ+"H4`Dq0#H[aDjA!+@m@AAf*k5@N!!PFfl@aD25(-YjQar
+
+phkSmc+#MK`3NAILcriCiGZ&j-G5VZX9ZM,Sk++a+#26Ir%"TBDYc5Z9F1PBUfI!
+
+`[4!p)$Ba3aFAkP,GcM,ej$f%#q##U8qH"Lk"D*MTI%ShrGc0ZTYaGNAd&pQVXae
+
+S1[JZ`Q$6S3ATFbA,"NNIhL1EIQ-$Lf)U3hilM(m#A8mb(qHRGb6AeKq8ZKR"94Y
+
+!6#Nd8H6qpqSAV2[bcYfLMidF8eLGc)TC-fAl[`UhNEq@IQd4l)a-Tm9Vk"aida*
+
+6i@2b)NpXSbGqPRa6I#hP!TEd`lhk12ie#5Kll(f`"KUXU(M8Y'e'$IKfiYr[V(M
+
+l&6X4jmQS5Umq+GUDm*X9BIjB4C6iIm[MfkP[++FD8eBfZ'i1$ka!crTpl8biDhr
+
+BX(RFi9hi8[D48PNXM5bV3e1KYdp56Npp"j(jDP@-ZFip56[DLYhM!f%2G"0$(Dq
+
+&Dr6m!cdU3XK&&rLbP9H,1ZG6'4Q4R8rbad16Mr8'8([eCC5C`)1ddGL'e$XB3#3
+
+fS0Lj8ckK@qcCY1cqiMY[454G5Qbp(,Qq$e[JE%r#i2mf#T,Q`DDp#9*!j5Q,XUD
+
+PSmBJR@G'peEe5,kA$q[!YK6$KXX"V,`&9!Xmh0m*V'8R0MR&IF-3r5r2KjGc[X1
+
+YCkPNrR0Tc(2FPr,$&X+djd8!h,dEdhdHkNm&K"LjS`C#1-mq62r2Sm[2[CqpT4c
+
+464H#e2)dj-'c"kh,-Q,Pii26`IARrc6qT2rReq91MrC%Qi-&b$HjPD$HjGb!Ia$
+
+KS*,!9KRMYR"5Jh`J$AU"",TkfRUDGNj)F$NZjF&ShFi!4BZB2MpFV"*bJkDSH5S
+
+PJ0Zm(L!6C`G1IdTrR6qTJqeTT[M+rC`'kFAFZ[bcC4"m12*iF&HGH'*E)pN-c8d
+
+CLhcSk-b*i(l@V6DY&Q5jQY@i9V-LqCMi9[*ap[FqCFKm1'(39CMBf!cdYfl6TpY
+
+feDYqPqPPjGDY56bK&A&Jkk05D6ZXHM[6AY(ajXbE[Y'p6hMQEZf9[-0MBY-"Rd'
+
+"LDdeUb[%%)P2lN@58r['[Mdip12AaMNGd*3GDAY'p$ridqBFSSR(m%C*m`mYCck
+
+c@SESa6&SE4'HpIIq$kGFQQI"h1Krr%VIhVY0Imj3Ir&VQX"(q+1YlqYUe['r&Gc
+
+EfEd11K1KGSASB0(j2&LZr8ZlYhGZlYqljkYNm%Xqr20JV)(SX(&fp@'lMZ`hSHK
+
+ABcTSJ)bahiGP2EL[XI"JV`CfYb0ASkFh083BJ39p&IEEi*lJ"RXA`GlS(&R"qfi
+
+`#i2K",AEKiZeGaAGUlYB0UJMr()fF'26-i'ID22$HMaJIkehHZile,S,1V$2fMX
+
+S(Q8GQ+aaF@V2GRZeldA3Vd'U&p$$DTBH(ErCYdYaUSY,CTErDE2El21@F@5b552
+
+jhX59j)S[rQdXZ,Cc0qYXq!V,GHj,D#q6fTTFAGC$plGk0fL[EXLIIb8,4IDklaG
+
+l9NZdK%%A4r#V*B!LI!Z"(jX&iIFa@eJTp10S*m!h[NKN`ilNQ'5jX%Y6(K5X-kX
+
+35mcdV6"`Z@F0NKSJD5YF#"@D`3&BB[k@(-Z!)ZG,#-FJ3C`#VT(5pD-G)`9Y,Vb
+
+qTTGDAkfPpDPbF2p4d[UbDT!!q@dXHG(TIIcVfGVDAhZ6(m,b1Cp,NbAl[[rZUaT
+
+pJIjIH**Gk#TaT))m2hSZiie5JPUG92Y,m&'6YGl*UBIcaCR'kX8R'qpIeErkF&k
+
+KGJh@+!Z!ip,HVG8!R8dZT5eF2hU(EiIr#V*`&)$d-F1VrKeSEhq(@q&pl*(f-hl
+
+ra5e(h1l3Lf'ZM`J)ibR4eCGl5kN[8d[hk96$ph*(cr18d'PXbr9!a[DA9JN`rHe
+
+!RS1hd[TC-P+,p&6!3`DAe8$bMk25M!*rj`hm1YRhELL#Ykpb1Y[5AQ-m!45JbiU
+
+fl2G9!'68Te-036![h,jQkUQ'J'Z@9j4F1P8UiDYr5[eEp'rcIPSQbUEi"&8!`qp
+
+UHe8SiGkrH[dVq2ip,bTl*i[@D@'TC4KR)L+-Fp6S""iEm&r#!!#!9QKSU'CjLTP
+
+9CfHBLDU+KfCT9TKRHCUBLBQCZALCH'ChH@HBCRLDUAGkCTQDQ*QSQTQDUlZDUVZ
+
+TUkZjLCPQCSKlLkYiM,bVL(UC[,Zp[UQDLSQpQBUmZmZpZmh2UUU*UkbFZjUX[lU
+
+UR+UVcGc-U+ZXUmZCR-fBQTbDbiQFH@81!!%c09CRH)QDQp`!!0"!0&9@CQGQGhG
+
+fGhGhH)GhH)GiKhL(L(KhH(L(KhKiL)GiL)KiL)L)L(L)L)L)H(GiH)H)L)L)L)L
+
+)Q*L)L)L)L2ceHZ#P@EJCcU0UKer4Zd5$&DZrD-q#cEXC@K$TA@C2`e4Rk5aQNV%
+
+Nb,jeZ(+4V8ce@9e2jFqNRH[&8aIc)"VP,H8Tp+ldl5$SC@30ZdGeSY5[M34YXSD
+
+MPhJY`KN$4`li9Ec-"VNQ8-p4k@Va8cj0H#VGh3B$-ZrALc$c&c#Y[QA9Ph6B+#C
+
++rA9[J6H60*lKZl5C)a+P[1dHkK4kH6-0LfEpLGR,!qcXQrYJ$B&EZcB-BbBFfM@
+
+cM&pRePFr1%!epF*%8a-qXQ*3IE+!E*ZEE[d6'Dj`,-YQ9SAY#(qaaTcrCFd-SDI
+
+Zhae#M6`CXUY,%mQ)$"NjQfc(K!85pCX3HCH([i3'1*MDGZKPE@''mbB#*!%"'k3
+
+(5!rjd2d)IS@rSCAd)Upe8S'irFh0$p&5G30Qj*8V'5#j0-4S`jp'9ZF(XYIl)"V
+
+ImQ9DKmUmbJ(Z+Zacj*8bp-4jf23kNA8A)pjlfIrY*5!VrVNQ(`*Y["qa+rV6Xlm
+
+ERQPYd*R)Pq8jeMCY8P$3@Vhb)Iq3!+rfLd*DYfJRl4Kh[@6kf+)X0j'3!,&ELbY
+
+c$B[-brZTE5`*-RRaH`-RaP$EeYj&$Sh@X6E'VXE"h'A49',f"@%9IYf0jqD(B+C
+
+p$rcDGBJfTMq`9MVGf16@fbC"EMPd$ij53-c-$r)H1hVh&MB`5A9iY`$IQKqCEiZ
+
+9rRLaA#IPd-#CqYDLJk#S"dT!28rU+XrUd1G$jpkb-Y3cq8LjADXImAHK&[V%2db
+
+EXR`hIYbmUA$,ZVV6JJ)48'XV4jPIV0Zb)rF9q3S,'G+4$r)K%IKhaQkmDHKhcIR
+
+$[V5p%#EDDGmDRrDa*-Up"'RV@cE03lG(+cKTkXUX@peFr9PQ-E#Flehq!`LrXfp
+
+A+3',b#3jPA1XI9P!1"!i*P%(0)e#lJdG(FFf1PJmk$KQ`p42q9qb2hH+QMNJJi@
+
+VCj(F5D1TfhVf3#D'*mEe02*cXR1MXC1EpeBDr#Khq(4i[IbDF1Kb0$$[cY!m($T
+
+MF208ITV[i*,2'XFNcLk-FG#VXpe-SjHA0TI*E1RQi23QG*Jp'C-`Fk$'Vq44mJ!
+
+RNeq44j1Ej+##Q1aDGUXcpeFkG%-m68A"TDZk)d%FU(4(J*R2YURQ8p2"Tdp1Y*0
+
+!4Ddl@RJq&0c-'BQ)bJJb2Ve4BbVBhRRa$2ZjjiT$CZk3!+IjX5SD,'jmQ8c39Qd
+
+X([aR#d&KAQkL#9J1*p5qBcEp,k"00UR6V!M`8`iL'T5b8'e833dk1$"6P9[%)AP
+
+UeiK#kpq'HHA#LLP$[@TYR"CYAlAIB1q'`PQEimeG##V0UQHG9mR+i`bTb,RTMAM
+
+cEhTMr1P#Z%,#3(-@3J3%S`TZ3cFUrEXk`#(I4bRIT6j,p'#MIMcV&rLcBlp@c$I
+
+UP%Gfjd3kd15KpNYk9Ym8G&CLRq`HIQ@-hII#X@,("i*F(DA"dV(1`IGc2VJHCqT
+
+b-ccXlLAIV@I,[qAi2e["qKIrKYI3`HGQm2-iN!!ca@A3ekBa@AR8*I0BDadK4kR
+
+8DPA$mPEC@D9&UBTiQ"i!3"&'R9S4cFQKmPD!F8Q4+cj89kp+clel2c`#jZIT5V8
+
+Uj+q'ZL(+QhjNd8!Qk@fd5jmda85IQd-'ecHX`GXSJ`$69$VCJ)0'EScIK9Y'RSe
+
+Y+RbDbDF8c!Xr,"IXNA+c2XbB)6P1Um#a+e0NV#q$Kf+pLPJqJJ%B&3I3bISA21b
+
+IS)Aqa`65J,$ISfFfr*CU@5i2P4e)kP6JCrZ%R6'j&CNXPbVCTi)l1j3&91XUD(!
+
+iXV%f5k-@C*QDYh$QDZBC""09P0RfN9*caE,i6-3#+#--HXmT#1I,GI94N!!er*%
+
+E5kqY6RdjpIdB0#jBZD%#0GjQ2$&9pj9aV&IpHMbq#5YFG!)!6'X6ec3UmUY@V5U
+
+0E"+ReX#rB*MlDqeQ8CN'8r4"&@`F-lYb-(QbLfITE9U-Nf[Uq"*(Uep8kFH9AmF
+
+5%rRaIqTrGbM%p@!T$IVq9i(P4qGA10N%A+RjdrPB[iUFTQr&'9J`5dS6LXBdI3$
+
+#jDS&90mVF'ih,60TcE8V"&DR@YMJP3#RpaPri+)X4,&)&DYX"KG4)S3eLSeXbEK
+
+R19FF($!4*0P6VNkj03IE%(eHr5qa5[dXk[ISjP'q&C+Sr5TA-a3r4ZjP#r3q`!6
+
+1S(pf!M"3PBakpGSTH6)"bYpb2cSq(Fq&L5iTFI&d,264Hiajd'kCI[-QRkAeh'l
+
+L3r+6mEfKl`cc0UK!Xp%"D2pUIajrYBZ',AL2k&!)i)!CEV9dG@(4-jD`QY9LbBc
+
++[+Uj1QE6RGC-q"md#N`+#$D*EkHCY0`lrEcq4Y2Z6q44ar!TlMl%HR9YlLh8XlL
+
+h4YdZrSUdlk,$LDH,Kh4YE(U#TF3pp$im@Vd[pE8i*S59$5kl5lMR3k1dje$53#E
+
+6R*p'`Uflk,$&(ZkIF58-hTIScq03k%1C&VceqYpTqfU)-bCVcTZ,*qGBdpBce--
+
+q"!*3`l8MT+F#EL3L)-lZ2X8-lDHM&2fRScjq,pUIBSD%A*B`(4F@,'l$lqP-aH,
+
+MD%4DbRmZIV6q(3e)9MS6RiJ)2p5K6LEScr+S+D$T1*0iR5FD#G[I6UC'pp1A1`H
+
+cLF5IQdk8[BbfeRT@,r62PB2c3I%Vri8Fq[Rah2Hr%kr0c[S61Qf[4+af@qN3dFM
+
+ieIM)"*Nl"pR2YF(5c-h-@q34qT!!6DrRGAaXRMG@#$(R46J#4Bp,"rDL[r'Jif`
+
+p,KBqrp,3Uk'6[r8XmIaHC,jN(qD$jbjm@aeGP*`Y(IiG$6d12SI+hq'c-lD6a*P
+
+RL`8)&PQf)+XU6a%qPSV8KTdBE1T`J#3'CNbhCT1*R(f,'Icd!PJa6l&Q$M5NL(H
+
+i+4PRK@Grp[3PErlGQc[`JH&bp$@QF5"%GE($"(GfS1p)b,0eRb$YEpR2(F*[F+l
+
+8fAS5T[L6HfjqKSk'E[rXk&S!QKiYMY[Y3D8#lfq`N!$!&jpMqV2hrDIU@)-r$Rb
+
+ld[20HZ8DjkN"KqA-Z8,Irch(Xfmi`V,Ik[X@,%ba0ijLH,)*"0,mD5c,YBE-(EF
+
+ke&fh1XN-'e-F2h-PFq9NAZIRcFr)8lD883$&Gr8@bZ(m`NBJQ@!E6*55NJ!5$#e
+
+REBIKPkIMIKX`#6P0!)GfCdGMHNJ#V)SJi[#el2&XkrE5@U0U6a1XYHT+Mf(U3GB
+
+SIQE$$"Sq-*Vlr$Del8a!)RId"C`Im19*,jR#jPRQ#Di"V2-hmR#Jd,8Ze,Y-Ke!
+
+8(IJYB3%S"$DNYBB1,+ARbPR3LQQFN4AqV2[#Aaa4jla,`pk1*fhXfH0fhXjR%i2
+
+YllmZqr,[[bf)YpqAZIFV'Sf0JMr95p9jN!$r9$p0Ff1Ci8K*BQ3*QKE&)pjQq'D
+
+#0K6E2Jpj*mN6MJrBP,&+PFq'V&RPK18Cd"(Y,0phD`%)U`cbq89iBZHR8NENi"0
+
+YKq5DS`bVFdIC@4$c!`0Ll9A3#```K3*,AC0SN!!X@(4c0(A[3P2K*m0d+6pT[pX
+
+KRp5lBXeG+5c4XGMBl@ar"FbE0V-rGHKp-"Y$`[$!"hiINiB%-)JqJ31VVYZ#Q`'
+
+Ke"QLM,IBkLK0rN1a`E0YK5MKU54cljYG4S#L#I9#NUi@f9$)@NMKU5B*3(!%4f+
+
+KUla0Up[4"NArkSp3$fS%!A3d1YN4@&fe1Rqj6`C2)kR([m[*i16Q!%dZTi16bCq
+
+2NaGSYi8HhZ'TUakSB!!`2J$"!3C'4RT[hc*NNfM2)dXfr212+DAKXId%kSCAeqM
+
+5%AXG5MBBd0p`cXGM)0%dZhe3l`k2(kIdmLcN@F%P@Ee2TC16e2rM*Ucq[kRrVBD
+
+ZD$fMBMZaP`$(!Kr)c@!K`eG62B3HV4Ue-q28`5J1$Gq-&KVUf+Y9e$e&4STHKqR
+
+$r!%F)#`TR`bpr@"&V4J'IL2TG,A!YE#qYJFLHTI$APHiXZ*X-I,b*0hbirUp9`q
+
+Z%jUQ'1hBeQl5j4bFiXN2QA)qhTQEpq(YaKLljdcLbTNY-VhBm@Ir4&rDhJ4h%RE
+
+dVQ'l6X8i-i@C46eQHjrTHCErUYr6!36BLLA'-peGfUVhF!6[$cT6@H'&9C,XlX4
+
+HN!!bCPb!40ENGeDXUG,4hCXGF@SYfmS$*MS*heh$GaciT8M1,Nj%#j!!Pr`5!55
+
+h`lX'IN#I++EJq%6@l&[$FccZ!J6XRI(KJSZR4FI[Y@VAVd+(jqik6AQc%!R5(83
+
+SIB3ej+[)U3lRjp1RNkZjeFkKXei5f[DdC$@)Ycl@efHjpUc15NT0eBP[2lZCRb@
+
+HET6E-PLrB[rSAp(1c1+a*8@aGPNKAED(j%E*m6$4C'M86Gi+Ym%fN!"hh$Ac$F`
+
+h&ZDj,h-Ym`)!!hGShmJHFX*ac)49e#@4*m)C!JQ8a$V+Gf[*6Jh2cpcakrfUFqM
+
+aD826rLSkZiemfh,XS(mb[*Z0H1`J%h'[4c0aVedCTq[4c1#V0%$p'#Q5Mk[NlVi
+
+HjiP1EZ54CSH2XUH2r5i(kBU$Z4PT(bf!fj`jN!"1RP[-L'V'aNQ@*Pfl"QbCJi3
+
+QDda!*K1-&blGR%C'TKciChi)SHXr"TD-9q,4RVNm,X'FM'K,R[PpAplVp@2akAd
+
+B)-DE3mqKTacpKkbRFapIT1JZ"K$LC9$ClMXE%lCG!VCjrE)S`95Ur)Q9X(SaE["
+
+rqc-@[p'C+-$bC(rYTc*5L#+GY2Xl@[h(S@c,%lMl8@*&LBfJAFQ*&2a9BY1D'E$
+
+SqlNYk@MVD4&QSFE'r9SD9$`U'aS-Sb0N-A$YD2F5D8cZ1FAIh151"%Cl9"X$ML$
+
+lrmQeeEI$q"rISbmAmNqVLrLKP6kF9MDG""!4ELqHfaIZI!`cjH+J%`TIX1ar'"R
+
+Zm2EdrJBG1Q"bN!!3JaTq0+L8i'djf03aU'2cVRc02rIEri3`-36%8a!)5'RTkAl
+
+AH62JBEQadYI55qJm``!ZqFkS5f)dXM[-M5N,)9[55h2&GbpQGr'KKdYaBHmNAM$
+
+!)rUh1Pc`J1IT5Y+pTCqPH6QR!*lk*6!6jZ,p['SGcU@a%@L'-*V2bR-"aEX2&ed
+
+2&h1VFep2MfrCBi%pC4%p9qpM$-j'$R4mV'a1Ma-DC(rmE1#$LeFkcXCXcC-S"KK
+
+Pr!NdCIHBG'$i(1dS[JFk'BRX-DELfLTX*`GqMQD2"`)U9(b&VDmD,'Sr4E*AQdF
+
+&HYBQqCJKfp@I[[Lc+r3'iU34Z(X&RX'j"$0Zi+'6ef$'Qqp[l,T2@FJc1##'ELq
+
+K$b,f2Y2acp2&p(TEIZr[I+Xcrd-IlfMhp&E0CSImE&p1lj1,k3Td!6hITr*iq,r
+
+i!Yj'kDSD+hBe#lrml6fD'MlbhM@q[pLhBS@0VaG,%TUcr49idQqJXaB3plURqS*
+
+#BZ(5Q8e5JfRS`fk(`E[(a9QGBf[ddc`YFEYc0(9kGBiB&THdNZLU'djh64E6RI*
+
+'@8qC&-h8aN30--ZT-8PBhYpG5YdXEfk&+K5krffAJISJpjXFEfre3#BfalIh-Da
+
+Cdhr$V&-!+G*XbHpY5!6C@I0dbU`)3'!CUBZ(TDIZ`hAkMLlfkFAJC8$KDTKCFHK
+
+l1eJ$[+U"Tqe698"2S4+Dq,rG2!*lV4q9KaBFB@Nh5I#L#$lKPBD-rc['X6r*RjN
+
+rJcp,Gm(i'P2mR6LTUf!LQaFqIThGdCER&LPqkp[j*pQ*YFES!bker&hrTD2Nprq
+
+26j@rr(SFcIqTqKap,l@Gc-cLjR(c&`r#R[-lEpQcaHfiZCMpiR118qqmqeQ6-(f
+
+S&6JQ6GP#G"[f-c1VcipE'Ri24aTmIl9MYGR2Q,*MfAiTZCMp#GCa+ZbpECIFf2V
+
+6)GPkf`r&XFbE`kkcI2'rTd2KD'MiacHiQ2ihSjQRQDIMHML6m5RJq`G3L(!PB2`
+
+a3im-c(&ZYD[V6*k!3!L#*)5"H*(''[PFXSY[1d[L&C2bl%ZaGjKKG'a2IK3Up$4
+
+mA4d2Nbp'@Z+h+21frTf[fV8c3f&lA59ACSm,c0re%(HY*N,h&*HCb@VF&T,NAil
+
+Dr(32TZ9'&maI4!VDj5DjY53HRb@Q$%0eIhXqjRq(HrH,K0-!9!qBAeKh"hBh9KC
+
+!cVMZ+CG+1BhepVXDIEXhAPLX,R,1,PmHrTJH-Mr+')4EQS,IbQ@l(-p%9lmfIc)
+
+B1b`fi#kfiDIH%*mVU)"Cf)h"d"'mQ!J9RA#M`&6Z'pcLqPGqI$amAe)Y$XFQhme
+
+!9$rQKqGY2qUPrb-AeSI*ZmR&r`-JlPpPq5haB[2RmXC1FH&9HJKp(&`KRpE&fmq
+
+Af2YGZT-d0DKVE94"20@k%fbiV84rT0jJZ,Ur6jZ0"Y@cmJ`!ekeBHJKkD&,,TA-
+
+M'rdp,qS(P9Td`J4ZiL)93#0('II0bM"fI3LK[mUKhf,c-V*lMe*q6Lm`iErlF@F
+
+c9U(0fRHA3#3jZ,mhH3G`rMlVDFl&ppGcFAhdAc)D19Sfrh4pPpUK&$q5'E%N(P(
+
+c@fL2)HpILKLfqm[h-iKFJ%Rjd,'!A0+1D3TM81-MMlHDpXTL"S1FJJSI#Rkd8qr
+
+V801,i'dq[&MldD0BfN3I*NAZe)#A&kNrY-(ijr-l(q(X"V"2ml&r'+9Qe2Y@GYC
+
+N1S2IV&hc8ILCADfpD+S3V2P#N!$`P%'Y&'4d52)Im+6H%FpBUD[h((V9fE3`@mR
+
+Vqmpl0cm(l+29TIP614YIfQU*6C@#Y@Sj0HY(NaeSch4X6H+3!1B[-fEp*#L$VCP
+
+h8&TbS9f-G[C#201ITXQ!X$Ua$913!$JK`j4'G@-UmqC8-G&#)qRJ)[l`MFaFN!!
+
+9b5klrd+J#X9c+H,cE`"SUfdr([+GbY&3LS6r)SIRZN!mR#25JH3QTYmm),kI2Ff
+
+r3U8pmrTi')![GeR`j@'f)Q1V%RQ3!+cTf2"GScqB+GFb'Mf2-Z+#"GEjV2qYTUd
+
+*-B+2'Y8*+(fDdPbE3fe$*S@U#jAXk1EjPfMd8Q*+f[YEE9bHK9-6LGVcD-fMd5f
+
+l3dH&[SEYhc#(A9bVG[kC$dA)eCkdM*b)El"NSmUcEpBLTZ*r12HT*rZ4Xr1RqR2
+
+mfIj[BqRfr46rrkIlQILSq`H2H[(Zj`Pm!lH5@d!kp+X6*`FL(bBXR"-aZ"&Q4F(
+
+HD9cJaD8A"L'h6AR-c&k!d$9F'+l[,&bl&KLeTi3,,[b[Vbk1aqj0Ql6f)jqbpBJ
+
+jiETj(lb1jq5&HbHE0k69QcDr2MY(f&XGajHjmr)MU@0cq60a0JM,rBM`qP*5PCD
+
+j!Y[@fC)9QLZ&(8c9`VE'!aCNqBJ3Nqkh##%Ja`Je32mbrc#J2c+ACCF&3`jb$eV
+
+3ke(pc-FH-846IP3eUp20,)p#Y0S`ek-V00kb"B+XbaiL+6LYUr,SPL,5NP#+9MU
+
+GbC+Vmf29`HJ96qE-+V+!M'0E@C1mElDRFfmreUiR9Jj&#qR)T$$(*0KhBekbP[p
+
+CY%mIDf#fG%0!``SGaq,FILT3GYklZQa6-Mr+Tdj+a2DRDRLiGYUC1(*SfHUf[Cb
+
+Pp!NkXMJaj@#K0##YGq6!E1jdDAHdp'`P4'CQ3lSRe3C@E*ZN`SXkCcjf6$kRbHf
+
+$K+ilcCRAh-DjRFIVY+'$C$V[&`pkF6&(1Ske*9fmb(V**YZ9*Q@0d4+i--`LAr*
+
+9Rkc2[-`ES6qPi-l0hCbLbm'*r6Li2dMS+SjY&63CQTf(V`kQ`r(QG*e[ijq6X2q
+
+d-[[UG,1h(VdF3iV`3GRk'kX`mMC5CfGZbp9PkI4HM2dqqlAFrf8G1Mm0"!%alrD
+
+HP,XjhEGEpUIS5p$SJ$GpSERe+HR'Z,GQD[@R$2"Ulk6G&ZYL$eh[UI6iD1V5p`e
+
+jVQkqkU``l+6-j2@6jqkJJk3G`r%r9MdSr#D-VQ8HXeiBpKK"44LepKKRDm8I`pH
+
+P(5ef[9FbL&"6#!TpEKSHEX[j0QB+[J8Yar*(jXIQS)0pcZZ,c'CT!),d[BqhXk9
+
+$`[!mfT8MT-8(CiGhc*r-Pr+l2#Pi2+'bZdNlf#-hRD['HN""!#J0j,Tp%@k[jmP
+
+&c'1cBH[dFEJl,mHC,l$dBCqbp%Re6rcrY8TP,%h#meHDE!1,*lM6cY2X**qR,dm
+
+3GSX6dDNpQ@1`mL,SmfCf(1LLf%A4H6LkAa0+TMj%9++PLU)1(eR3KKf'(1$[3m1
+
+9rka1jKrJlrGdG,Tq44leM!EXR%biHcNhCiC5iHLNRPeHp+$0Kk`$(Z(`3)EkP(6
+
+TaVH*jeAGeD&IC@FqEemh'`E+$h1$'cILCZicDQ#LZ#RRCQl#5QAj@GQhphRG,IP
+
+dF5Y2ll[[(1U(`e0"mRGDXAbjF[2p[V"Kb#$S[YaCrIIlkPbRDEM2QCGH1C8VliD
+
+LH2AeD2KjR$VFe(R1mqDccR-eH`p+(T0PkpLRf(iiF6BIDQk%2(r2p3SVmHLX0R1
+
+TpC(LQj-+rDX8IZ0r0pD&92UG1LZ"RQc0d49)0(1dqXY`rmGKKQM+6[TI6iDB"&)
+
+#AeK,Pf05aj[B&[hX-1)4FZr!mk)!Q"6#CjYMiRAHE$"+#!%i-bMa4D*9RPC2#Uf
+
+E(eJbi&AK86[HA6eUIl%DiQBUX3jCFY&IL"A"d4$alr$5MkMTf6J4ADI643"&IS0
+
+89qe4Al9T61SCPp*Zk8rfjG3"(Ycrf*IYiNkIlIIFDR*6RG1VMi4!@c1bNcBq`1Q
+
+Q9(dLU!1X[ReGc'pZCaYRaU'Pi&)CqFD0QMNhV"p["4cF1kTPX66f1'E4m*)V)3b
+
+##a"f(1aSYPph0aphbD'BkEj%1-eFl-DD"e[-cBphT`kXU2%jN!$mR[I-$[GqbAf
+
+BB4ZCIcFl"R3%*XqD-l*5&$(6cXe@('h6iEYZ(ZF*NSMaa(N"8!XCkbNNZV69Mb2
+
+JbD-!(S%J+e5S4QESHqY!AJRhHhXGeBdlZR"2p@H0DJ#HVN`Ej82"b+8@4Em[i14
+
+Spq%`ChK&T!0N((depZNFhYkI!`k8IF#3!!Q*Ee1'-YcFaXY&b!aFQI"ep+lT@)R
+
+)$&AL@'JVjLAbY[4i'(6djr(aIF*10bIDkLARBLl%#3eaSY2XpeClL66Y6l@,*Lc
+
+FARiddhIZHYk[IRP"[DD[FbA,4mKNKdN3fSYrNm1`[@EY2Vif2M4F(lY[3lMcmE%
+
+aSYTpGVr@U,i1hkr5r"lR0lIi2`2QY6G546$Ue4fFpc%5T9V#8"AH@Y"E6FJB`!-
+
+[2KrEYmRJHTSm8mFq35PIj)H6$ak[&XIZU)1(%QA,bZkl6YqCm#I2bCrDBZ'KbU(
+
+*kVLf&AHKiXI&Xm@,3hG,4qV$j8@C2V3kXhN5XbA4ZYS)TLrJ%Ykpc$TD"IJT34X
+
+`lUVk'qA$9692QlRQdjZiff6c+Ff2-h*C*)5qBh6RAqa4cJ#9pcV8F6JrBa05Ilm
+
+qN!$AK"-`JY&pPJX@[-lb(ie@eBcIei14"Ui*%,r,fkX1dDrP6+q2(-X9r(k5E&3
+
+UGE,83Hih@8[UCBKb"PrN%l+CKfHY3)IYJKmc-0#(h+Sr,p%@2b*,0LGcjYMTZI9
+
+JY5(lhaXLG2@r@XdHT&FFLhCeCf[l[CHp1M@GVcUZ*e&[P890"B`eCN08)$5QmLE
+
+ZZQNb-qeqc1[6Xr)[4+fGX9FJj@d+#E9R%08bN!#%++V9X4+[rBiH4dH,,b2lE8Z
+
+GKf[$b*0"INDGFUZHaPJ0i9lEYQ!(d!2YBbcL+e9FZ'j[&dqA6jHPjm2l1dpUKVG
+
+GVA24kAqDKqr3mHhqr'VVhIiG'MZ*0%0pLFIEHc9-G(%PiRYBJZ'f,V,Km5(DHFC
+
+98',jhLmBS)qClVq6jIQE'V0lQ(pP4"0m6"Y09*b9$"iU,HNjETT[K6CI$Q)YqZ0
+
+SVD"'bKIZTqaI8*SVBkFcCFi'ZH,lI``k2#e68Rc0Vb)D2HqJFrAiP['Ef%PRGM&
+
+SA["LeSXQ,$YU2bYDAj%cpL#kYmV6m@R3Z$*29LQq00aZVLUa9HQUq&9PC8VYN!"
+
+rVAP`dfk8PPFQFEYEIHkdTEj69i@VLmq(@aIa`mIa[80X6e)XRTXRj8Fc*P*#Cf+
+
+AXbXrR"i5@k%cTT2NYdX*PPP'NP'')SNQDl3%r[Nfi'*dhUF%QEQB,ZEB`H"Qfm(
+
+DcE"05XC0bem5E[QNBfV@6Nd+&1QGrFVJqh-JfAV614-dpM2k09ZZNk%h93#'pFP
+
+0M"DB$+"PCm`8HNNR6Hf`eFchHZCfXRk)mFa+0!@482ijL@GaKkbE2mHKhfkj'PC
+
+fqqaIDKc+1CfbpQL"q$Z0IGfD(iZXKq&ff,l8qcdr3Sf!1Vj@d9$mRAFCFBUMZ[-
+
+dSjp1L2CCD4X9(h$q"VlXdcjmcVGI6!4M4idr)QCLmES2Ti6ZABfQ[eeMZ0H+L6m
+
+-QRAX8TYGiAP#cTk[BIE-,2BpIBZ@0Tjp+CRBNcV(3qCMUAKI@60,f)[BLpL+CZ*
+
+-k@8rQ$m8(FFlV0MY2pd@afRfHXLd[F&3QR8R@IC8[0`9pr%Ae"X`(UI,d2Dd12i
+
+[YD%Z@h'h0SfXbeJbFfEJQjZ$!GH@"-Db1E8`+QY+(0[8%+[aCDk$G%pUir&Tqqp
+
+Ycf&Q5cSkk6S8*Zbk"U&G###''[Aq(m1[AT8UkRFKVIJ,MVm&E@!0KV3dpHR9!09
+
+JrVf#`,Uq'R66FaEL$,mVS'(ad+'M8SpSf#9"JbjXGB-EQ`GiFrY1Q!-`N3#+PcS
+
+`D[L60#RCYF,S*pKhG,3Y@XraE8c5JrfUIhC5AD5D"'per!SlJld+Q[8QEdiZj5p
+
+PP(B5AB*Sm0bpI`)+Q'T,UH,[G#9iT-R9$J*4dj!!k26iH&TlQ5VTp6Kb,IBkB6K
+
+"kI'D&%QM0i%4iFXmdRG-#80PM%bJT"5U(N%N'@mpj0PKm3C#L`HViRV9DA8b9D1
+
+jNbJk-UClKH[,L`BEdI4@iHG4iYk1-8)Mq6(jQph!bb9,U8+(G+AG26iI&Tj02UF
+
+0AN9GDVj'9j-U+@L1pM-`G#P$5fi"-'ETEfr8dDR`UQCe&Z2b0lZ&0lX*2&KRiCm
+
+rXT2"RNhq(*`pMU5c(LBhX[#0AXUEBQrVaBG[c0hBdqC2L)@p[Er1Ek"Ke*Sj*&I
+
+cI!fd152`NGi6Y1GNBLpDG&-)($Ge6'8eGdA"Y#8VQZj#imSc*R6p#9$HfqaKRB)
+
+Y,V,r`G('q%3,EF2N4)CqCNJ%fffS81rlq!EmCNS9KJViAZGpdj&hf''r,,ef$G#
+
+rqe0+U(rDfQBTJ#-,0ShYHFB%HmQA&dM$83,,6DEdbMY-ZK5`5BiTmJ%EL@c10fh
+
+XjL[#IF8I',cQGVi"q"ddchQ[e-c)'JJa$lM%9ZL#fa&CR33E12Dd-QCYSbKC-bF
+
+&UC09NdSIQL[c,SX"TXdC(-(cZLLXcGKlMEF,T6LeaVG$lf6Ek[QCRrr+f54S)EJ
+
+C`3cLpYSmM,j"l!keMN61)j8Dc-Hr9mV2K-K[KlRS4PTE*mbM`k@Ce'k'KDh8E%!
+
+HeR%aSUr*SmP!*AiP(LCUU18D0H[CXR+KK0i%5HP`E,SEDEi#YK(dJ1%8mV2QH*'
+
+0)+2#MXafC[M0Vp8FHY(CR$4IV0I5M%Q!#3pkqD$6K!3jP2-Zb6T8qN3"jffPI'P
+
+69Kb1L$G%CFPLJ'QQd9hVb9#JJXf*I)fIl4%qr&AJf@[-QE,f0Pl!"PLacGI3Uj-
+
+2956HX`DHej([0d,H5@FUEEQr1QUXj0`k%r*dHUq&0q6ImREBFNbRE*4K146Mc99
+
+mQkZKk@6r&lh*`@GVjR[-I*JbGHcaCZ[03#0VY@,G@j*P34IhhMdMLp2HC&`!bBX
+
+%r[flp)k@IVm)MYdkHr`hfh2&lmR,5NP'MQCRM56l91eSE!ca#AkEJ@UkbmL[dTY
+
+U(a+f,6kIqEIj0lU)UHmhGc%&STX5f9#QQIhpQV`L965b,@4HY4IYa5Yj[,NTc5k
+
+mQMbGrqAKFP!4DqlIrPKmR+j0[NPp,j,["e6(PhLQ"1HY'IJrA65GhNZiNUYT8FP
+
+'PDbr%SccfBcm0i#cJHPYhD3kp(LfIUm,P`mZP*DPH)@1GjRh%m&*64T%2aS8r'*
+
+G+)!i5@6DIBmRYq(2e+$(!`3kY,"[l9iNpdX&UEHQa@Gj9Z3N3jEC5(QdTHrPJHJ
+
+T8E9DpCLQV`r&mG%hjEd+8c3Ph6a1kIl'KTi$0pl,dHhcTqG2cU(D))-3Ye+-([Y
+
+Ia"XT5(l&hKaDrBQ$Q*8IK""lM&ek0%-`3-+8GVA[#cf94Z*C08rcPYR"+J[hk01
+
+RRA[i(aZ)NF,h&ABNCYU[RbleZ+f112eSTP,SXjBi91'KVAb1P0cUfC1N`@C[-Qr
+
+a!N)R&KD2pM+6kE[5MDDP1XJN!P+PR,X-q(eC@QqaF`GEQ4D-A"kh`,PJ[CV%9L,
+
+3q,T+)))U`")!#B2LN!#3!+*#1cBm&3bS&4piG!`clNAIh-hVF%8I@jecNQr9h`M
+
+bEm9FTr(ZcSpLQV[UERfNLK)"0Pkd"pd05r%hj-FUi)"!#E1[ILTcTrZIGGChf`9
+
+6krIPbphZrPI+%*6%!J1"he0ek($lp@Aeq'T)2alXGL1kQap8PAlT,L+qmcG,'Dp
+
++2*UG9[Fq28UAXXjV)m0p!j9Q@*LXICB3&6)kL`Jm$Zf&f`J64`qq8S%%%F05PPr
+
+e4m+1EPkaSlh3)!8l9@cc#!JeQfZQfhPa!3Q!%1l9Hj+63pcSG%!DGSHRi[Qk(Qk
+
+(rI3pc[qISBZK+i$K3)1+NLN!k4&Y#8pmXm(aZ4Cj&Rk&Q6aYA3Qk'$a[XfIXfC,
+
+1VCeE2'i#ak)GkKBeBl1A*8Xah`%+"Sl,8))Cp8l4S#jF58XNU62!J[fShra'cYD
+
+VdjSZC0'RK[kQl(%02$6(%YKZcEPjI,q**eh,kVkXI$[KPH[NkUf'[,4M(rLNhXV
+
+iPlVjA[EdF&mKVGGKkTb(jfV%"BhZ4m5,VmMhZHL%lqT(QGGKpl9$deIJreUppc+
+
+1'm#lVY6UL)F%%*HK#!'C,qM+SbAq(6NhI%bC+Br(TrIhFR8h+GbRFl6Xh9Icjf5
+
+"E+Z@U(Re-3IEm2+240QImZLRfkEZ9,-l((S`AF(&a+Z*$2q46PCVF$N1!r5d)",
+
+F%e9+H9YqRr(6Tp2q1LVje`336+pINR+fI[X#2`r)SkeIN!$##[IQFK#qlEf8[H(
+
+CDXdrUR`d"rPlT0XbZ,+f@9G2r%09,bU2[6J0Bm6e4fFIAE@CUikh(,SJ-NG$36k
+
+j3"h1hXPe6dRNZRJPd5f0N`36mb'rYp'Ib"h69bGmbJ$``"`(GcKYkL8j%Qd'3QU
+
+J##$ClA"J,Ne!)!34a-%D)dTI8!3i2Z6-FbDCQ$mNfJQ6AZ&Y[A5J1[q'EG`8+G[
+
+"edhEB-DE8DD1VCmE9c"0B2*"dQZ!6$2d+HJjaH1%!*%FLC@`HM&2MrQQHkAi4rT
+
+HL"$b1ZU8EJK&DZ+X"eN!!Lp%6Lj8IhUr)fF24eFD2`0mcCqE0[ejZVA`[(D[YSG
+
+b[K*PbYAf+#BI5k'#MmPhkA#3!'M-Z'!c)1ck'G0l2SCN("acRBam`-)qR!Rai**
+
+mIkRq+hVr%3USIfRiL#bNAqEUcC0RUm*34YAMRp""Z0H(krMH"$rXT8HdlfMrUfR
+
+9`rAr68S%68a+U(Nf(iNGLT-H4*!!Vi@-!L!'Gap&bmEmQerjprdQclhBIYE2G5[
+
+VT3Qf,%q$%mE*3SQEEZ['41+B1hd[qR+XD33ZR0UF[c#8%fNqk)+fC-[lAPeYVLI
+
+il@'VIXcjY2DUrmCIq$SBj#`fRX4ILfK0mh(3X%Ec(9qmL[jH,G#820)pDQFLmHY
+
+5cKT2V0HZ+3#,XmVFqdMk+R6h(Sj1K6Rp2klSJB`(L4fSl2QH-Nl6c,4HKAD9PET
+
+aPRa,1T`IEc+AEHACmhY[jFc5i2qE-f6a0m%$f#P-Sp*pF3CKPr3$E2r#"&Dd6TI
+
+,Gl"-j(5G"!YdR3F)3EALBUjN6TS),-'V[C)p@0!**PJ%H[hN%&!RlrR9)2cjd'#
+
+YNdcU&Qc9J2-B$T0IDc0cVfCLXh8!NNI*MqFr'EqC0Nm+a3Uih2S'E(3HHqc%"0'
+
+h2AFZhYD%G$$3X8,Y"-p&@AmY#!ScIUcr+MjA45E@MN8E@A1mUGhZ*ZYQZT!!1P!
+
+3d*QKabCj4dXXT)H92lfJQ2Ji)*m&2T0pl-2'l$fG(M826SI0fR35E5p8!PdGPq+
+
++)b)Z(X1pbrRbU24fC4)UHL#E4LV8qqbcYrLS8ZrVcB*K)NHN"ZXIklA$@,d*mh&
+
+k'dek&MFHhXRiX!FiTc2lll[@4B[*f*qUI$a1RG3!##M`ciiJSiFZH2[ri)q4Bj'
+
+adIG2K`)$$qdD2IiG-[B2"Tr!`jKQeCbhMNZ(CEIK'RhDj16VdGDCmr"`jReBqA3
+
+jG$2QVV`,pV5VdUhKY`@m0eck5S'QrX@pPSBH4Lmkp4Z3!&cRA-kpB2A)Zr1PXAE
+
+Fcd'IrT@IZeEG8),QAHC$rDT!'6'cKq'D&""Hc4qJI1"J0,V5(d0$-EKIiTTI9EQ
+
+[EMYfEJB#+6T5KeMA,TNV,FI1rQYb3+(P'R6*$V812GNQ,lE)6X9qpRA,p`!K(l+
+
+i@0YIHIiq&!e(3[j6jA[6EQ4Fqf(Kc,Z'*62lBr`#Pq4qiTPiV[A,GlA,bHh&fq0
+
+EpjlhjA`)&kh!VU-1CH,)&c)[E`MVj%@maXMhQ4i8NTEjeIj2[@%!)YJKV+&AE@2
+
+NkM#!@R0cqp*Eb,HKEeEZe5cp3e[H4I*Ehj3J)V[clIh,PHh!hZiiCc8A06p`RkV
+
+HL%G`A-&l0%GjZ0JpjQr+`#Z#%mSbZkL*qh"%J%q43qIYZ4i@M,99er""Q3b4@U&
+
+VEFR`U6@lL+GPhP+%R(&2A#qFbeA`J-bf4@M#cmf(rG3iPhfjL`[%-mNA*ra!-Ej
+
+12`[2V[#YSRpZVYU,pb'1KrEYXEj2j)0UT!&NUlV#@Z'h4-pc-K`ieME94$P@8Yh
+
+iE6HY$c,[p3),&[8[8MDMmpK""r8ja1'JKGeVHX#*Ed,'a[HA[#f-U9+E'Cc$$Ei
+
+GkrEcVD!5q6flm2,aYVGm$BX[k&P&-Zc3I"j'ApSB96q8J+p(%Vc2!`H2lQE3S4r
+
+4fCEX,&fe"dqbMb,2#I#$kh!'!PBelE3USiXPXB%RcT+a6[-r(QC1Y@+cq*Kk2@q
+
+9V3I-A46QhmQENi0XRlaDlp(r$ALc`S%kcU,K3$40%cMCkXAG6BV#mEVmZ`fi33D
+
+bXh)AaPplJ5J9RiJH$`(!*3K%i)@CZ6rNcqiTk2EI*a1$2dphmVZ02'dmE6fQQ1q
+
+ClD'G%(KH&@*`NaeJR*YGDKV3rZ$+93pZ$qSm3q5XA$qFGIR5Q5V#D!Eh*9T#'M5
+
+4e#5"Kkk$i-Q0%"@3!!+c$&+c&Cf''pCRF++$Vm2FdGTKKmb*0Cp`Ip1E`8XNhqi
+
+`R0TKr1XF#6TE%qV2KRqUH-UQG&14*f'$VX2FLHUpcCNK)c%9,[3RIf3@EpVBrec
+
+B2GDr9FA3FbX*[McG96!'NmfPGed(!`d!YKmY@H[Q!S+d'GGeakP*eh@Gch9$q)P
+
+SI[`j"UmUYhdq[$jPk2%TK!CJ3"MT6p@JBk81MY2fh0*'##AYX[j--1h&jY[V6*Z
+
+cdHZSl'(Se`0U2$aHI"qaJr`QrXB[q(AFIZB+#pbN1M$UiUT26DeSL4cDaM68mfY
+
+!I4GUX@,-DRMC[jk[GkfbTc+GIQeH9A0k(Fdk02*""Nq4SH4Lrr+XQUem'Q#YYJK
+
+V33f!hJD&!A(aZr8J)CYE",Qc+"(5NMe+rdiqC(c+rdk1T4e-e9QL400T9jFk[ai
+
+r1VkTHlIbdIZd6-rSmR0@5Y0SlITimfEr6Jm1eQfMK)Y%6p-I20cqcARAKJfRiVq
+
+C,i2CIGPkABk@`qlf1PNk'jmqVS9G,+AVA(fjY(SbHJ5A`!5aBcj,!ZeRX[e"LqH
+
+"M"Jq[,Qhjf`qlG[JKXf0+lJcepGTXmPS8)*YE'JkHXA$eE"6KTd+FkYqV69VdRB
+
+AJS`I*VFD9lUYr&"CVI94"0291%T@V82$KiGhR`FE+if`p2+id('hRfFRq'VmbU"
+
+$)@kA'R'hZM1JkD,ek'9Yld'I(RapT8ZjpK6`)fD`8*A3V(0IALJh3R'BUKAb!)i
+
+3&81"UAYj!0i)"L5a4cp22cEZGB@RRJ`CSMC!*QF6Y[ChhjFb8J%hhjE%@qrmZZ'
+
+VfX0!%!P'#cGe4$a[["%,$AQcDq&YUG-$6DHa4PllmZbpCYVGhdfZ`Jm$L"!CYhl
+
+@IfSN&ThIKf2VZ3Gq,GiU50B!%5[lErp&MLf1,B!CBE@6!)*`3KJ0DpF!4P@,GM@
+
+ciVSRbiD$Y,ZT+e,[U`DPdIBAE)QpCX@V['ceLlM(5&")!6PhIpXVL%p-b-,!h3X
+
+,dI`d*+IPj[P`Ied)+F'EJ&#CSYJJ'ETpZiC5Rq"YQAG@8(fcj+SIk"6rE2-q5IB
+
+RDMXk($9SpVCkA9m($2Qpp0Q6GUJJ5c6B"2GrUcmK,fN4f!DUC'ID)EhBe5JpKX%
+
+5fac!b5!EQAMq`Me0mV,a&0M+%[!'[CiTrRSJbpNCp59[PXd%a[FH[4Pp*d*IP*)
+
+kHm''k@*N"qEUihhN$Z9dEk(pUZ)J%pN"Pl0hjKMhSDQ'aPAEH4mjdcX0DI6lHRh
+
+0EN8qSTqLFrGZRql@Ud)kHql0Tem-hEP!Nh(X!"+Z(Uc'TbJlP@"X*#EQ6FbY)EV
+
+9`LcP3RUlPAje@,+p`m%%Ffa@NR$)`ab`$GAJUf+YM+`9Fa`3()*@e"+SJG6EY@(
+
+UlGA+U`j@&`J2FABGp*fNUa`l[cB6rAGjNk2mHMqKSfY(MAN8hf0%0MKTf+cI"X!
+
+Cr8UkPA8[Y$3f,*Q$E8YkFb'alb64XD0A4KZYF(UR[!JIKrULb0X,Kk8QL1NaFKa
+
+$3Um0Jp@Eqh0eHVeD[R9IS9ISC&+rAJT1Mk%83RK1ci6PPdH4Sr2dH4HDl-3["68
+
+!b3-iG6hN36H(4)(IL+bb#fH'EJff(4e0%bLY&9h(i(d)IEA3h&M5NYf1%jH6l$e
+
+Ve(2h1IkDl(aXHHmb0,U2JIpVH4`QlpP-j94bm%p,fhYD2(dH2SqeEPm+A!MilBm
+
+1l`l(2XFDlaXAdiH0YZ0TICdr0dIQ@rQF,M5NF'KqGZ1AKKa&0d8cULQ[9`m*a$%
+
+ZlVf"*KIF64KXGim5@@++0$-`pZZ*HU%EbP$l1fTD2Qk964TA@[4!2fE(&cj,jC@
+
+KNffVSkZLITeXSKV1JG4Z[i*aBYm(lmpq*jM3ZaBqQERf%[kCSRV,dY,5XkHGG4c
+
+2XFSHX$e)LG3&lCNGjND8QPND@4Hb()d#%`X8")mKqaPkF(&K$MY,GA`b*(a(!ZN
+
+H*VX4!*%dH"'dTFGJLXAH,FhehAL-%e(IN5a`*Y!bRD%fGJr9YE$""DS#qBmfQcT
+
+[kXeM!*GUD`B!Zr%-!AGLi[,X-@,Ra"V!#FmP1*+JF#%@42r8GN!$HF!P`EdA"[H
+
+!Y,'mUHa33)kQL(8cKiV-0N!R'LR6eG686R(JeH&"10pZRc,(K85Z'PEGeVERDHi
+
+NPkIbre##FFSHC46,jRp4$4G%'q[e)GMPB0$h1faUZilA2pe8b-DcM#!(4"Q(Q,"
+
+Uq'*5'C[,6`$D009SX)-fEZ2Z5XI`rXBfG8dppk0+ILmI'X4BN86a[E`pMYkrVbj
+
+q2pkA3Vp#'h0eX(jB)XIrpKYirh'ZKSUq$lYc6prEFUEFQMqrAmHMb+2)DTjAiF(
+
+RB153!#,ai*rMFQRbI'j-VTX(N8Tm81`@f'R39j*fPJp%6DpH,`UrhD1PArr+rhk
+
+1RAqjQ,#QmEkj[SqM"30,3lNirhUrN!"TFIFEKpF5JakrhI"eXRam(Sj2*bH6Jql
+
+"lV*mI3dG$4DDpY2Vr$`D@Rh9[`24A[4rHSq4AeN-j%H%UVIB*Y!f&bIh'Nf2mq$
+
+0[i-l0cX&r0cN$m3Vl3S#[ecBA*9b(mr"QcqmSCS%-eAa(Ki,P#j3ZB+GcYlR'-5
+
+(`qrZGjFcDH$Yme*rHaSi-Xblq&J&[,N0bIqIEcFV[,HEV%i0$ZE'aI'k@4*IXH$
+
+Bm'afRUpRFcV(G@#jH!)Yc$Q8-&$LB+9bmRX2hj1mc8*kpJPCU5ZrFB)c0)N`@,P
+
+LjJZ@2cl'EJlbaQMe60D+q0iFq9+)9ieB-B'lUa3fk19B&m@Pm`e8iIf`XdZbq9$
+
+ip[9bZA$pLmX9mJV`@0D#f%"9)e2kk0aKm5!kmc4NT4%,Lk2D5f%V,#BbG6E$hHX
+
+Yer%3Pl&'$A1-Q2&'[D6@EHTP,LQ[YM8+$@'fZ82"bH1&"SN5eM3$P*)Iie2Z*M-
+
+l%,pHLGXRDVX32c%*q+JR6Q'IXC@I$m#li6K[jB)*E-F*dY[dhl10T9fmGp--pAf
+
+8,m+!6E#!4lHVDDk)MYm2+4&+RIQi+'E6)hYD#EJQjYB!Nh"NjZfcCZEJ@aS0BVp
+
+MdC9XE@3aINK)T8-`0"($-ZVPl3bqTel"UShLr(L1rfk1rEHV[1D8,'Y+3eH4B`S
+
+EGC`$r)riC`[*0Hj3Mr8#H!3#$$$,F+$TFMr!pX6!L6!S*mAa)[kVIDL)1cZV`D"
+
+i%`+#qL(C8T(J6p+$[pH#MqH0qTdcpEB33E$m8b(S[5hAc0Pkb92AUEmU8TQKT@&
+
+4CYfFSFY,FMLRq4,cjFV#*3*P4)k820(HCmq8q-[d`(J1)qh4heE)I4)dCX`kTqL
+
+Ai89h-LdlPVHCN6@bkV[Pm3Vcj,qL%C!!0[@hJqkBJ)T-L$2J8`#+J!qLYh,1mYc
+
+qqC!!"&),[fLrDM#!Y+FB@#&B#f+3!%'f[daZ2"IVCdh1Qhcbj!0NalD1ERi'`RU
+
+)ZrR'!db3!"4ZhBI2Z(q)$!HUSJTC(pjrRFqlRaIQKci3%3riA0,+cBFfkbX'C9e
+
+mrLM0rL`qh$mbpV`l1'KEM&J1,G@pN!"!!Y#N[j,4K'-'`lp9!-[L9Gm5'9$l0hL
+
+5ZdpaZ[Grq1prAk6S613eT5E,QhEqC0`E-jd*eMh8D*p(0jV5r+C3$Hb8T9+8!D#
+
+P0hYUNHqZ#E&DU@XqeI9B"pQ2,-83#IPX@XrV2IqlI`3(5YCib!5epR3md"ArYr4
+
+"hRXf+9Vfl&+hl0Q9h(YjL`'(d3@*9RH@Ch[`#@ChEHbSJ)Df'cVD1'bPlFX[H`3
+
+2E1TQBFe@Vr#2Ll4&SG+Cfh1Y!%r3JlL6-j'DHdpM(8rm&#K6M'VrRPr4J`$L,EB
+
+-QaD!C09dmR#pJNXmDab@V&*cBZqRbqb5FImPAM@0DEUT"$c+14Va4r$MTG949`m
+
+qN!!38D*"4c2-kb2h(6`dHp83(61cTBLm9VU5$kGfY9TfXRM9&e0kBBN`V%kcjYV
+
+!BAS`$J'rU!K4!Bh"4f3,B$)GdjYZEC!!NXkEm'D["S%!8Q+fE0+pPU"rL!Q6DrM
+
+c19ArT2JMq#M`kr$Q9LM26`FUC@#E33#XkFQ%cNG&k82,h(Vl$m@`r%I1ai1Ya+$
+
+di94&VJ`e-6S+AfE3)&B@V&!G8'$ci*X9HMp$-`48SUq*5Q9m5K&6SUdIBJ"EB(&
+
+e#*!!%@-'cS6kI`eAr'UYI%Q9p@+ZJm`IhX##Ye6c9%#IT88fj#IQ"qDA&fY`#"3
+
+I&CRr"Mek8h1KVqG4TEP*BhRG6p#VAUf,1KdRh@-"dQ$K"J%1+J%&2Xfd(!%Y91"
+
+0J+6N0qMR&aEI`CQEQ*FBi-kKITjLL$"l1EQjqIiRkYUjJmMieciec"M@U@rrfQj
+
+Slk*i+fE"Uc+&EP%)fLNm5KiqipHaT62+f5ZrjP(DCG#PJmk$KbXbAj4jhrZM6fA
+
+-qjXD2Z&d2*X0$$N`fMiC2h+C(YFZ'P)P"lUBGde6HJ)V`fSDf'RV9YBPFke9Icc
+
+*eYeqii["*6JY3'I)1'`#Ak-&AL4jf6(eM4YcQ#T`[#!0MHM$92TAU8i0eTqd-kR
+
+U@X1@BfHpcBlqAaD-H5I1H69h5lLpq#bH"eqTCqKIqKCmUcblr,bDZ6ZZhSbrKlC
+
+Frh"J83@V0UrNJ+%SkKrcZ"0P6HMA*I`3@F&R-[jJ"-&R0XLcP6"8c1"Q5XcSfBI
+
+33#eS")E0@cSB*c`J(4"@Xdlp-!J#,)brU9UP2J8j90i)%-!&dKK,)d$U$MhJ@T@
+
+$Se8![b@H*CiPrL@IVAr,XqACmZrjH6pE*m[Yq*,iQcAHh8J"5kcQhpYC1aN)#98
+
+Pm#Jq(!0HHr#'!`@C5L!dfZ"QZP!)!LXaAd!P1cfVr`JBd&!)$2!9Zm%`2"iA!Pb
+
+TR4m*@),p,1dl'ccFV"Mp#(KS"&"!T&'UN!!QDCeH$*Y)Me9*1qTfkfUDEp2Y&+#
+
+[+V9UdV"cCmSL"*kcmL9Ubq,GrA4`Xrm)--b@IUBf`SbfHr[d3$ED'9q)p3DHA4E
+
+X8G%%8U[@DUVLrLRdBXbM`qN8i"84h@4-`Il)TGI,QMVUM-arb3aJ%kE(8`%1*@R
+
+H$JV@FQc@d+(Dp,CSGcMCqdlq20X5Ql0+-GfMENYdEY-X+kGh@Ud#X0iqjr(9iRE
+
+1EcQ#E,JQ&ZCDbcBA0KY!0"8Z9,LrQG%9mPTreKH5eMi$U6(i@E"+*-UlMX1$EM3
+
+iEJ'i,D&IJ$Am!50`c9AK!6CQ6JY,H'6E@*Da(""mPm%!lp,Fc"DYA,AIK2jYc0Z
+
+1-IepV,MQCf$L@VpUIJRfTk!D#QB)l4IS+l$p#jB[kDE0K,XlpYc`%'"5j4@feD`
+
+@J'36VNkidpEG9Y'apbESi$1BYD1$JU"Y'$5ZD9cJU)*9Be&TZCJq&Ddl@RJ!)!E
+
+YB2fVNqiQD53hTYqrpL1r(R!%c%!JMk9d`Ml19$mfM0[e[X*G-64cm!JZDTXUFGf
+
+Y0FXl-[hih"rIH$p%[E$CGYjZ3K)Ka%))KNP!*liGaF`aBMPj4"G`f1'3!,[Kf*+
+
+Ti*j$$qC4SjGqMpJE2$MF,S!J`!&p1Z6@*qrKR'C6#Ajp[Kce*q%(m9b&M1lA$8e
+
+-l$hL8f!9bq(-NQ!qLF,kE`mBh5-ddF+f'H$m!NNq9Lh1RZGUSJVb8q((KplUGGK
+
+Me"fQ!`!NP5jRh*LL#Y4$0IBbEq6RC)K`6p3#5UI'kQjB5qkf2$P()Sh6IEiD!6i
+
+XQC+c6%$Fcb3S+*r@dkjKJlR,UdkY2YKT(6FbN!$"pUaDZ@IIi,&R"k"#PeCKXjB
+
+23JQD(Ck$0q3MHfpP+PL!5E0h2Y&a2@PdEpG[BfZCdT5+Lhhq8b%KB`l6f#kbZbK
+
+q"5@IV0)KIACYccCrc$YDJLeiVCcT&,`RKpk`JR'9"eQ[T&Vf,AfNQ0lG#dQ9P&V
+
+iUYfGR"Y21MPq"Eh(S4i0aaXP0e2UpcjP1V8lQUPT@B4aX1keIJBCqQC4!6&$0Ke
+
+iZ,2X`lVD,`,G%C8A@iG-bTSTNqeY1F`'KJRke#dJJcqI8YGIDa[6f14XHTpck@0
+
+Cq*DUFmE-DH4NE[)C!&L(Y[1dl'qk&LE[ZJ`'cBH#5l'FXc)0P`m(1i1PSD@0&Nm
+
+R(Lk`!N@*Mc!#GBZ4Q-333FIa-I3hIEHMCmQe2d02YZG`Y1cVE"EeJN-Aq&0lE"D
+
+SD&EYCZK@Y6I%'RFZEXB*UNrX--[6f'(K3GY*CJYDpUCDel1TiRMk(Q622P0Xr`E
+
+EB5H,&SAp$ED&h3XD'[SFMaF1K2Pb6)e,k9@m5M[j,1*[j0#E[r5d0AaZCSIa5r-
+
+QA*5fffbNQ'[&fdPU$IbGVQlrfG#eihXfFrCHfH&DkCXUEX25mAFlreY#R[rafH2
+
+fhU$KEe2%bE8F[*Q*M+l'M"S`D[LI,d*IE5D(-d2PEr$Der%$4bTNT*@M"q9-mAf
+
+ZePErm1KTk'R[r`JIQ5q2-dN$qVX25iA5D'4DdV2l'rr`Xc0rq63MmB!Q`p5@L1K
+
+Ne4PlRfXM3h2Y)qPMRlMekI+kM1l,XDFpRfH#6JqhTe1$lDFPfCa1$lHG5B%CLIk
+
+a@bfiNkI$6pVaH26pVTm0%dF+0(FbEVc2KNKGHkq(FIFMi1ir(GcY`D0'ip'R2kR
+
+dGhSH"BQk%T)fBEl+2!!lMVe',,&ZFk,f)UXrZl[-Jq#b2)q0Z*+0(aJPpa*506R
+
+TaT!!pK)B'$H9S@01Ae(YH,c+IbJ&I+TmbR6#rdHpeGJU6PIkY(PeqAN9-MI9qEN
+
+8krm&UR$r5MpTf"P-ff$leIairSeq((cDrMi23MmH[p&p%%lZpeaIHGh$-LXEEq#
+
++`0Cq*!dLiiV@YmU8J`Ap1rc)rTJ)Zaf%!P!c@2eA(k3)0DTF[`e*"I'3!)H&kTR
+
+iekG+B38T+@3JD`!%#!4`hQ9E%2SC&MY&ICdCG,ASkdG["*e(`1Srh9,XC"$Mmc'
+
+KQeIe9MC#!2b9EGAbF(j-RPj2mI8rNb,'4`FM-LdFLcfM2mZ,drTC0IUIahkI8rM
+
+UmIUI8b-6)p6)bFL1,*r5A0a22maFUZTH[9B-MRj'4NFqV"9iYALaD(k5U[ijPci
+
+p1'KMi-LEN9ZfQ`'(a+Sbk-VkrZ&[XU*TP!bcV[PJkcUU!D$)dmLe$RI(A*a4!!C
+
+55p9b-)A%J"-16mH(QC'4BUU),Y'`Fkd&jd[#M#(30d[ikhf9'U5)XQVVhd$"dEJ
+
+%`Q4F!3T6YkA@"CVDLDXe!)LEX&q[fIpqBNh(Bf!N8Sai8i#ERfVGVZ*,GSl8mqA
+
+r[82bZHCXcRj-Me@j*fp+pTCr'PIj,dhJmjJ(qCE`T8QZB3#5AY$Y,%(aQk%6I4+
+
+XE%pE0'P1!Y-[pYN94"N!DUh1HJ%3#'N"9)r+r*8U#,R3fJbRrVYqAfrmrF5G[r2
+
+fr,`5GT'3!12`&Bf6@$YkPbpEJZ&8JJNmmlMM[mf(M+IZMU*EBcica*2&99NK"mc
+
+NF*AQErPZT@Ca%m2BH+e+Y!40c-IAUjRE!)k4!)BjeDYdrik+CCE%qQ@$@`pmBa0
+
++41L+X[p1SI3J$iJReX'#'R$@L!8HSq$'PUfh5pHq63fRX82(apH,cqPrR$-3m,T
+
+)&*9YBNdREVKfHIEJlY1GjV!E[P2GKe62$XA0Ce,b,#A+a$K9Xa0TB+p1MJVcHX`
+
+D4mjYIA3r`)eDFmjrmBY#ka3HRFb1mp1+FF-0Q,p$&4,a)@&(-VbEMAUHa8S92Bh
+
+'[drV)%+GNc[NKfij!lfNN8FrQ*!!5FA$2pUIajrY8jICVdUJUScGaUamf2apaim
+
+H$Fk[AFf29h'VBe9rdb%l("Z1EN&M6FrZC2,h2Mj2NlRPj2RC2&dNp)dmD+2iU80
+
+2dSjQj`pIF#mk&1Edr3cTZ`Af#[5%#Ber-f6-Jc$2iQB4kGpVC@*QRPIhS)-5EY2
+
+3MdGpcYRhfdp(V*r"qp2SB[S6l0#hMFVDVI66+1$bL3jUBp1#KMc6L!qM-c[F`9E
+
+9QGXP+$('[q$cSXl(j88H23LQi2rZ9"3cU'6(1B`"M6IlXE(aTRkARidc`22QBKN
+
+l34m@21X6@)!9"bXA$Tdp2Aq&4dm[6ep21drBRMc1Kc)9HCT$qdVHPrcl[4q"q(6
+
+dd!Q,q%82-TD&A#B)*QPVk-("82D0(i#9DI-%UkEG(LG1"iJ3(BI!RH9Si6T@qc&
+
+fN!$R3r$ALFNSFE(-%Ai"S&LFFb(9DdiLcEPm4Va6IJ5DGMi@X!DlT`DGfI"2`d(
+
+&HiTZdqj3`Brf,HGh(f0+IY24RcmAdCqK2X80#,NZ(JdBGATTREqeEPI!r$2dbkd
+
+r#0NMGUaIeR-J@M6VQG[[+dUE[FQ9YT@$h%'C(6Mf1qCSc0aIb6krLdFAe*q*2ar
+
+GrNr8MaDq0(dhj0+1LYkC#RP8PK&C&P$$df$p5,'L$kHh4AEN'9ZRJ)Xf,KfTH&G
+
+B)XKj8AMcp@hrA4@S*&CaI5LXm,T!h(ik&2hI+q9r02rQaHC$(Sj0&Fd9%J&Up54
+
+8ZPpRDqEmRcBICKU4HhSbU+`%iTZ,k8rFq0k8rGB[ipVUGKkQPL4(XM&(Tj0&,R%
+
+2"JSeUj*QS9TXbKJ-h[(2SK'(GJc4[43d@,Km8!J#S2GBIP)cKeVIl9&EG0`m(MQ
+
+qjim2m&$Kl@6j+YRG(@T4))*mh&qh3eVX'dje#eY2XlDeiIfD(4d*Y$9aYAmjA5m
+
+5%G,[qe2jNrj@,KkAjAZZCmUQ+2#DRB,ULN[UA0NV5`%Ij&*lr+R,S56DG$h"b,Y
+
+MLmJRNFk+RAe0,1aa6R"k1CTm(6dZei2DjRr"aH$cjNb[qbDCR&Sq6Aj-8@$lX@)
+
+!cMee9!LPi2X46mI%JPRBjL9p528VqF!68LPplpKALkEhjX`3'&'H3GM@6rcRaq"
+
+KV`iJ5HPCk6IqMSGpihSfCqrp'cVH0kPRLbq2+3rj(-"@$1$21HQpH#(2r@1M+UM
+
+rBfC@'lSEl$fPRI5@2mel$Rbmr$RJ'[BCDlB6&jRjk'!#mAEL3[&YYJ31i)25G#(
+
+bHRp23bIe28bFMa[rl%imrd1R5$KXGDkR,I)FZZYHL1V,Rjq6BjPhYS058V,`N!"
+
+-[aX1K,hq'c40UQ$IJ-mE$D5m-A")PFqpNCr2ITqcj"4rLVjBA9$()"059lK,Fl1
+
+TEEE*Gi,&1Al19(EJm3K&q*[I05reBH2LqRH-k6&NbT[FHT2kS@UUi[jTr6`Yc[,
+
+r"ZFV'X6jbb)PD*!!-+)$U6!m[8VPDPcRaC-rQ3miX95jlFIfSJq[I1-9AHEb5f[
+
+-mf-K#eGl%KRE55l0fRTE6dS3$CGAZ2-fRQ8+QdrklGZTj9b!SKVmY#Gi2SP0"&X
+
+iX6DHKiPH+VAp,VmR5bFEmQ0e1dLaS0U@`DH5bQp19-"m1(+)H+Me#9FYHS#VbF[
+
+-Q83dPD%SGpc&&Kif,kGhb93Q!6X[6YmH(pV&p+(b)Iei@lr*BkEQAU&$PpKrPPf
+
+Z[dlP['pLKE2'lMp-V6P(8)Gr5RmFREqih[Yh"i@qZqCf'G,RBF%-lm(63qmr"e-
+
+14SfVmlN6T-3j*Q0!'-1h1l213@j[2lVN5IBmApd4PJ2"![1Z'iHRJ!)iKmr"BLk
+
+$I8r39(QSpEVR8R"LQ8[&l1mRA2C)@RX`bi9cRBYMLri6ileH(Pcr!hNG[ciH2Y)
+
+SD8-&$M8&p0YA%X6iGKkdZAdh6@lHPTBq1efEYIfPZ8GLA-%cNE,eL&c+lEfZNk(
+
+A)r0)4-c9f[c(UVDQkK&@eFKVf"LCM,0L98h"cdGDj8ZjpU(3&Ur8)Fh(CpV&-aM
+
+1(`I0RmHKT*M`jHEF`P[MR#VDp$,rK"+YqY$b)H4%-9-QjLb3!0flk',ZSH$$6bU
+
+&[S#XQX2Gr-aPrh1+QBE*IZcjXr$f-2E`J3Tcl!kAX3rf29I",a%PN5H%h)DF@P&
+
+BRh95HTa4LRNV'pY+3-0(+Spa)qUH-clL(#)59h+J%r,)498!hlVe2bm!5+9[$jD
+
+LhN3NVH%2Vd-3b`P4Ka'F'8Hb+'2&@d!M)r0N8L!fFIA1LfbPpMJ`EEEC16DY69h
+
+18c6XET!!H%9"i4a8!M!L,%SUNr-Ql,9QG*Aql(m5[aBjQiiY'C8QGIBppaGML9e
+
+Ik$h,lNc((S%$Ji(XN52B'HUE'eHp1M0T5EfV8Ur%bFEe0RajhfTr-SmI-rc5[R1
+
+28liMhhNQ0+S(e$e3l9QBCYL%`IAA1e,RdB-Y0fN@jfH'C$1%VqpFP8dGT4q*f`m
+
+8ZIUh,AKjPc`lQIiHI3r03cbldce2pPlL20UH(8cGmFqCXYj*8@QcFQKDFj&mH9+
+
+Pqiff$d-5c2arF##Y$Jq0k'CCi0V5YF(YP1p+`B504k%&Bh3G8!R00%+GAidbGJq
+
+fX",Ll@cqT*&S3rfF)GG3Tj2*)0pZ'9dLR!c+1k'h-'VQcphJfRSbXI%dpTcZpdk
+
+1YZ-GC4Nc0QGC-fR1P61cqEepb+CXX-fM&4q(@T8DIP4V1&cCRBIDLLfAel'Cf(1
+
+S@0Pjml(arbI$Q8TP)!M&"f")VPmbaiAB$P[BBF5A2pV[LNK6Pp1XA,-QGKjp$Jc
+
+0$IIDkl%SBqbmrCf+("m#aZ22MX0GTCTG64'BKQkrAl('pZCTG*cSG(mrR4k8HP9
+
+@)PfIqlGjq,jm'2[[bEZaLqI,XG&rZRpTqIq5MlkMfG&8J+-*H*F'ahfiqp5QbU(
+
+ZHRa[XI%,PQTq2UcA933@+flTl6q18DlIAB*qE+la+Qh`qmTpR8JUXL$,h3drPQB
+
+jZmUIKP`iRrQIYZqrm8rG8r6MA'P%J-Y4"4""G$!AFA$hdrTj+G@0EV,-SpC@L0)
+
+2-RGK*3''GRCa[Jr%q$(h8Ia-MrNJJcT[@rEaU%hPCN(@Pp9+MR'#[i(K830EK6!
+
+))+'Y""[ZGeaGT6,A5&fPi%f29Mp$F+cHcS1YmkKaYPpR2q"epMDIHf2"pci'dmr
+
+`1#C9GL2ce-"mRGDXAbjF[I5EXZp0KKQPl`*`DiR!YmPQ8HY0CJ0!'!Rbd6JaF2a
+
+,!L,BX),&(VDm0U90cU(AGr&KP5jhY4Hem1A5`P,e@chCi8C!E'TBqMep3Ehk-h9
+
+LQI&rpdCY(4ErVllR#J%cCFjQ4%%%hLifRm5+T6SiG`M4i9r+L1`qERh1X'j+'If
+
+NRHqC5MkMTf(qC1kf5HBAZG1hIU6r,Prpm592Jq*h4d0Ce@XTrkI@$MbC+crEkrB
+
+a&#3f,DIIQ0dQIdT!3lUKY1A-mkaq6X1A3mkCbqN!0i(,h(,Mmj`S08@AeGKKcUB
+
+IqQ'!$Qq"N4qb*N+Gp""2eGK*RC(AHE$DJrPQp,$"m0m3rQ`GCcSSYKpVY,(@FI&
+
+LJScUH1D3!"4mcFEKLJXD@ldpT*+#)44p#Jaj2KadkFG*``&(G&pl+QChYGG+aI`
+
+bp2%-&([B%Cqp3UVmfE0Y'bRNc6!Y26L$ieS#!$TY-ir9`X8`-p26i''h!fm#cd6
+
+UF0KRRQU#,9lRS@cl1@KC63#BZ()QGSTi0TcXDKM81$cY,jQRak(r"4%+JcjI8iH
+
+dF`FBCI!NYbc%**+X84ZmS@R&Uf,#`HL66TE6RD-(!`pZi666EkY&q'!JlM$T4Qq
+
+#*f$mi%MSJLKR`l56ZSH"*fm2`**k@rJkiLYC0U`ZqldAV6Sj[QG6*eAQC%HKdrZ
+
+F-i6CaYI&MT4jUTJ614,mU$Kl,j-%&UeNj-fEqGqFP`h,mVCrZlTSAJB$ZG(Z"%8
+
+rjXrj5(FIT`"&NhDk2F5D1RTFL(j+6rpTXU(Xd10eAXf'Yr80G6i-QM6q"KSHEY2
+
+j+&)%P,DIbG9jYMcAU!1ldZijeZN9Z5(K3dU&+KTHprcX3#)84$JN!Nq93-L%R8`
+
+"iD3$lGAZEZMr9TAJr53f,d@INAXpX*'Daf&r*mdCrU%(!F[PY1XecakVhb"hJ1'
+
+Jc[*ZUI%9(,flHfaU+@0kDa&R$0,GhDkhk"6jQJ%R+`qQTP[C,0LEKRCqc0PVa**
+
+dUGHRCi"&0"0j&Rjqkj(@b@GMd8RZTR8qaSCr4A1LlISVHRe04IjD`Di%0LVKXR1
+
+p0e0VKUjPU6SSTf4NHh#XEVIbC0V&#qhmNf$TX14,YBC[$QkdlaqhmbLX6c2amMr
+
+G2ck[l'rrliRPHkjR8mr3rQa19d8Q*6dkFII+8'VN&"2*h1rp,%hI4&"2U5X&1qe
+
+L@+ZK#Y`lCSk1M4eG+CdIrZE"l[m15F-A4IK1hDCT10!,&'U0)-JV3p**LFchH'U
+
+F3NkC1!*dbXJ-'ACUF(I@+h"Tk&$5Qi2$6rT,UAI-DBYKZc)DT%kd)Y@lP#EZI&r
+
+A&H[')l+9$mU5p%efr$P&e&mj&!FD,TT2Ka0LCDPe,fTF&8aXbrHS#*)G6[6V,@D
+
+Rk0fhLr",flCBf[`NjfjQ0VP&QB9BPJ1Nl#@4DTF3dq[Fq(M4FmeY*,[&JX3,Hp5
+
+U&hPP`Vbb0CA[4`qG$bk(,f[R3m2iHC,VYUe66j)TQ@URRYJhGV*lbRFTpjNj[@p
+
+Q[!&M6FR"EQj0E'a!6iL-8i1VY9E9A"9c8mP8dkjp(6Ser1SCP#Mf(0YqC3eD%PA
+
+amfR,46e!rMiG(bZ`ek(,fQ[ZS1iemFe*BqdYCcB#ijVK)jI@$p,VY,5rDkAB#(V
+
+'06U1FMLDT!c-dGAGG"'Nfl'FQ+F4ACi9pd!2iHiqVeh,Rq22qpeh,q"P80pl[@K
+
+Sp2k&'(C*mRS2SMT&kb(DDp#Cf'[EQE6AKc0c*Q`p'hLNKZXAkY[PpMqlLl2Vrr2
+
+F`E6A3cGR1Jc'-hKRf01aeeMDmcV54PlVi8r4Rk-r4TrkZc6!b3IE6AYf!l0J1cU
+
+pakd0MDBBl$Jq+8fbiYIR4h+pb1KZ+'jmQVbGcbD[-lELcH1dI,BIAQ8HLqjY25S
+
+air3PdFIARalIkZ2VTZSZBeBV[+claJ'TM9YMfS"V#UV,P#re@1B"2Q*MJAT-r'c
+
+lelBbT6M,5[+TB2ll9He5m5NG2)"V9I3mHlm5cR`IXZj3ZXC")5451L-KHfC)jCj
+
+PFp!rbT92aDGQjCiIL6Gr0YGYiPQeCY@3!!hQ5P`E5S")KXJf#iClhbi-QY%GH*V
+
+RjeVm+L8IkIM&)Zc"i[m1KbCR&J949jQJYPJT4[3i6Y)3VUQBN8Se$+HjU8SaiDa
+
+qXb$$HcV&qaRAEpM-XAlZCB`CpbpFFl6GMU`D[MFq(MdGEaRcN`hQ6,MJ4YCXGMi
+
+dNqa6XH,m[*XG6Vj1INpTNrNl+hNqqQI!J9Dl$!)5QQ'*Paq"CMpD1QFcP[,eUN8
+
+#hK-U,a%`f)+1ViNhUC2Hc6N3!*[*XU4+%1aPL0Nmi1Rr$iZRNkI8M&H6TpN!DAT
+
+c2qc'li[L%NQITlL6+eIdBmR1plbDXHmp#V$X%@[2+A"GVCQ6IV@FQc@Xi,-h9`B
+
+CN!"dR35p69,Ha,XE,mRLf-AlFr2mErGNjqjr0lh2hZIeIk-b,CIqR2-AK8Cr-LM
+
+TmcK8FRQC%H6c-SFY`DZb9p1-N8IGJ%TD&ka8m'152L4bCB"(&G1IIU6ZRQr3RGE
+
+$riZf)q28LMMMp$,hF%b$+CA6ETM345UAcVfI8b+RcJ#CqpqG8P0TF8LT[+b,`p%
+
+LjqkTI"b+(P`pr$jF@3C%LhmXcKq*cjr+Ll@ra612p[+5(C!!`q2&2RYBb5XT6Ql
+
+RQlMEC2-TcD-cFG#MQER$Qk24qrCSK0Sr*X)jpm@d3'l-2Mlb2YrY8)SIb3cB[@F
+
+k#Flk("pXqU6MB+d*CS*bXKa-*M!,d84GclQ#$(k&(8f[l5A(qfrJY6,2(CE*+q9
+
+V,rEk3EdE,A'[HZHq1[XT*pUI[hJqi@2-iFh$i9LK$MFm!LCjAcQ0fm*fpcUQ4[6
+
+aYh[TapAGUc,)XFX'$(Vq"jm#b2Hc`lXK`3$N`[3Mr*0NH9kiZm@b4M,RM%C93Aa
+
+3d,8c3i+pqaUbjQ$$CcNjX'jV&jY&6BSir0MdFlc+q((em%Je'e8!LBmNec1hBRd
+
+rbYI$+QBq%3-0INk1@5Dk6cU'M6eDq&R"$Ilhh(qV+qDjbPdFIcJS08'f'+MMjD!
+
+4`%0cPK3CeJ2lmQ-LCj2Y%AJR)99N`X)-I(M#@KQBqZ`'PRq[k,dTmE@F%)#cCC[
+
+m`J3#)"'i8'-"Mi5b*`NZkjr3$HED2eV2*aHNHN!aYRra!-J!8kJKPIheZE-mV+m
+
+P%&@)V#kDp'LJJVCFhhZ$I33p*q)$LE')5$PA"5!-(A$eP2JrMPlFkfj1XLi2jCF
+
+VE,GrSQrCmbFB#2@DqL+-YJ2S"*k`JBE&b6+63Gc)F2@DhGB65P66ReLQqYeqH-1
+
+YEYj4rPVY9'5MQQfM&+kHmh-d-16UG8AIH$$YG6EBFQK9RPhA9QlkFfaY22'1(+E
+
+8lDRr-6ApKMKE3ljpZPETEcRa65jIT3rij9+iJ)T1Y@8j3ZR6G`-$-"($Zm1)d)l
+
+BeHFc[!%8T@I&`X-*Ge*Zh'Xk#!CGXIrD585lbm3ND8TPVAZmL(NaFIXH,EqPLrA
+
+83CY1RRd,Z#'Edr-0q[Q`kY[9YmLhj8@C2@)!MK1PIY3'caS8lGRrVG0+c+iYZa$
+
+-Bhmh,`4cBke6"qIQ`GjJQjXqRPd*dh"3bDGTEpi-l4clpll%@G5[jqGHcSVpcUZ
+
+hd,I'KQ`l9['UMBXGfQLf(&['jfF)9X!JL(pTN[k+@iT&i8%'aF[XABHEUZ[5Mci
+
+leZ,pUP-cpHkBAhBkIER3V2-64T2e+1e(IkH(Kp2"SE,aC4UdIEl'9fk!K4"iNGR
+
+c'V(k'Gf['hq[`XlYT,2Q@Sp#Rh+i6e1'R4Y9r'qK$p#PAd+2L9iISCAd1hmk(bS
+
+S*l*IL!-LT8hf$Qj&#T0l2`jG(T2VbTYIAQkX+H*bTJ4bZeTH-bIp%"%(CBHh+ZB
+
+a3SJTBE'VGdF@5R+l5PH``m0IQdi9A&ApH%b4qfjhLmH+C6irDq&`JN-Vc,MhAD&
+
+dk*F&F)a4+8c3pUl5Lehi)$pL5&q`)ZdiGHh0&N5Z'e9E*!*YYXN`k!EEfC61"h[
+
+`3PeQB"N&Il&(JJ%PlR@SiR"qaLDNr1PUD"K!RUmJ%2M3F8SjI55)p%"P*`cG9k*
+
+NhHjUZrXmK5ASBVm@GH!*&I[66VYbCpU1EQ+V"I[pMf2b[PE-I*ZA3*+Hh(Vacpa
+
+klGPmfM1N[f*YAHb6U9qI1NffClUrNjeR8RBNeG(fEUp&KZkXlAbpAST,Y(TYIhN
+
+I8kq4(fdKJK+),pL2@U8XZa(KMJh[2MT91IITE(RVTq+drm5ECeHfp63YH,C&@*Z
+
+rp$aE@rqcSD'rrhD'rlPA$qpMMmcFBBrNjIQ9)kNbTcYlEkLh(je5CeFb`T3*&QX
+
+d5,GUJ)!*`MQeXmLcb,8AG,'Ybi8ZK+NLQ#e)m1@!4!4(Bl9@rr#e3Z09&S,4ldH
+
+++K@D)%U0QLbd(#3(D2DmEa[FEr$llBSfSYDi(KF,ZPQrCFb2S4`akfAEUBBmU1h
+
+[IR"1'e2(VGUU`(#Q@HJJbm6AXdV0HcQq0mrIrKY63#C(`8Mf62%JY%lVhe[a,CI
+
+8fl5JLc"Dd0#ehDdA[%+eIE5D%2M!%hmRLJ%d),-'KDd,AG+)2PjP[YVIXr"rH`H
+
+eTr`@rDm6MF(MDAqI6qeEmcZIq1LUS#S!X#!)'-aPSCb&!)h6V0S`eVqGRF@r*RF
+
+1rcFlPAq90rM[q9e0+e5QYK`$RmZcl(AbHpL`44iHZc1U[ajdHT8PY5HQR&eHNMK
+
+kq6UL(K(Q+)0@T0kLEfUP"4e,pMTj0h9bDY1aIe1RPEZ$*`dqC6jP2QEj4!Q!E1`
+
+e#FeX6&dkb!R%$mPFYa9i%ZKTN!#QMdA2K(IJ64qU92EMf-DZ)!3B*R)DkZHX`%Z
+
+,fZ(f)"GH2Al6BGCq1,*P(VIm2e+91Rm9k)%ZkKUpbE('CQ&,JQ6@D`+)#ee$aF%
+
+N,RM!`'h5Xi'-!cCDE0V9N!!)K*6BYdU`$&!Q@YJ`)",5Yd%XGl9@S%b'[I""2Vb
+
+ERN9H3!6NlR@Uq2ZH0Ridhk,U)-(QEAQe,1rQcqEe'VLDXq5RQCe'KYCUhkkQ!Ka
+
+pIT0H!Z-m&HE5`9i#+3@@H%qQJCZXqa"fZAh%!B-h03#B-'C+d10SCqK&QrPc&N,
+
+X8$d3ElmYL*!!#ElmYRX(SJV9UG1Y@I8`%55HL##EApG%JV-lT,r69HSUc*0UQ4b
+
+m3!8c+dh6`6aqYrBh9b12Ra8#AQjG-4k2qGYCbF&VTTZ3!')di3$L8'YmNbTEVlj
+
+-UfJ8`'ek6ePdp+1bpEClADHaA`paqDK3fRX2KS))GYZTQhbd3`Pe$Zl8qdXe&`S
+
+$S+YlI@kHpTf-5l-X6EX1K4Y`+h!5qd$&CeL1V*!!J%fIPd2,Mrfc2V81*0CT!LR
+
+&QEKLJM[fFlDq,9[cD*qGmZEYC[q,`36Cm'$jmqIXp[qT!Mq#!Nr1[i'-"+JkH63
+
+dr'qp2Yp6k2LaG&T6r)kI6cPYS'-"QbEUM$Kc06G'EY0A0q+RVe!%*Hqkp30[&Ve
+
+)ldF@[FJZ1Gl6&"-`9rS6+@$rY&4`FqCN9r0QC-b1BNVaiP""(JX4b9,'$!FIq$`
+
+,%c"YQSdZT!3dkGfl0Qa4)G"&jQ6JPcI'k5AUbaIQAJRfCr[rKCQRm,6drJDGljd
+
+#b(jY,Sj*Y("3Y6VAkYrB@B2IjfC*ETif0M6[cr$Bm(4p'V2LeI[fE2[rIjQCE!Y
+
+FmM'aY`PCjBcm89flE&2EClE,ri05JBr%aVeqE$*$j9hbVFREkYc9Zb4DXmf)+(M
+
+qmTr*@+!SJeE[0YmHh)!6QhG@(Qd19HTl'Y,@ekhLeG`S6P[Lh[&-6!p1+&ZlV"p
+
+Plfe[ZE"P)4*Pc*I"Pl'p[[j*ZV@jZ6bXRPC)"Uh+Qmh%eHMjRkQ4+Y5eEJ433r2
+
+KRh[`fp1hmqj$GmH'j$T`h+(FhH(XF$AJ"'U,`#j*FP@lUAJ#H89#aGX6&[!$b)Q
+
+AMp0$2(PXAJ#,q3#!,'aFmHdN,Q"(c,Ip3)%3pc)HC3jPhQ1##81mSEd9[qDhQ@q
+
+,Ek&e$G%jm+"8J"pKE4pG[C!!Hk44`Yi#aa9*1e8m"pV$E+lVJm!*Ge`X+0$6[D@
+
+acjH@SJ*@m@TG51SNAVKh4$%4l'AC8a')0L`ID2U!K8F`d+SErpG`IJL[)F%PX,+
+
+JX`k&$YV['f,BAfC$j-Aj-&Hjepcmec'[BecmdAAidI[2bH&-P,F[Na#'pYlN0c"
+
+FYA,pkc&lq,-LYp,FZq4-r2F`(kNhI9L!pJfZE(@rfSqjD-fclqPQB,XV1VAkF&E
+
+-ThUfEfMPY+k)"-h8LTAE!Ck#jclUi,Q0cpY5q65J@kITDm8FU2a,FlpV'QEcAYT
+
+Cp@4kl)rT3a3q,m,T2Z3`lMlRJGYZIVpGSlRlNI`Sp%lr%rcLC,91NRjPJNf+hNA
+
+II1pah[Z[p@`k1@Khdb1eYcma!*dJQh2d*PMCeFD(h#DmFal@C52kf3hXl(A9CN1
+
+b83B*Y-fNJ#C0-jICHDV[X)$Vh+ND24Pal8HTEIkU!6CcqZS60A(A4Y8[YVUlPFM
+
+5AbjRYcH*ZT0RCSEVF0ACbkp6)he5YJmI)Qe+"Z(TF-f+&@24hbPp4,JZC+ZmDG-
+
+RkH9Uh*NqAdf[M')JNrj[ma$$X#2ld4TDIRAHkKkA$2eTqY2rFS!B83G#(4JShIq
+
+*3FjhBmI5QG,rbfUFc+rUkpA1'P,PBEdZF-dHX*ih6,69LrdZ6ZYLN!"dqj4Kh2h
+
+DYVY[kpKkd`Srl6f%8GSVG03`cCYm6Pblm%!"-l,5ki[a`CF&48qiT*d@#p!-dS0
+
+C!)-fNLf3!1@B[6##'VGUQMZZJa"!MAP0HZkDk#P"lLEXEafFEhjD!59EhYZTFUI
+
+V90M[HLkKErS-!Y4I,+Q1pcj@4[Ee5+S!6HiTV)+8%hNhrqF(qVHq5'J([!B"Epc
+
+,e+MC$--hEAd(N8Ur[BC@hhX&5r8c+NQpc1SAjALjml)$1Fr,$0jF%U6,c!ldZ1A
+
+PbifDpACTX33@-Zl""[8-4SUXcSjIqUSYde#9+VqY!4dP3""PdDQR8d+QE[4%bL#
+
+C0i5'!biB,B3&[,YY(i5q58356H(I8h%($bj)2[jIhbfJZ9,PDj(fDL#c0iZ#A,p
+
+[,SKS*N%c,bSd[a1CPma`J)*Z%6EZjCZ&)F$Ha#)*"%!"R`i#'m3iJ"%N%4T*b9N
+
+q)JBi#(m0TAHb'ZNQPpN9'kZ1(1`hp3%#!5!!JS`qR!6AUbISH"jZerl806[Z(lM
+
+r(hA%paaZap1AmbCmc+rHFNGDf6VH"KfX&$$m@(%Sr+NpajZ*j[b[0QHEY8ULc*Z
+
+9&BbG6iPi%(irLmc%jQlp6h#!EmFcPEAq&"!F+XV25X-qEpF''U+5GSZq9`dEUQH
+
+X0&UG0p[QB91q$q)SiSbcDYq@kmU5U(&l49Re$59hdi(l&M85Nl!F&%GhY,#L#cB
+
+lA2pS!eRI5ACZIk4hBC-VUXMdSmEY'KF`cG[@K,S[1`Ce#rFcVJ"+!Tf*2CcR-cc
+
+khd*[-QmZrq+Kqhfr'ZHREidITf"$mcM+)$&9VQH41N`C"fQrej%VFLafm1dPTE+
+
+%e@!*0[i)##,0k[hp@c9XjAR1#$BUEY$UVRfkRHAY%c'1jXI*&+P0rK+iM3-$Hcl
+
+b,5LdT,NA`B[#NP,9YX*aQS)EBJQ+6Zr(dI(Yripc`rNm1"5HMVF[Tj+I,TmZYp@
+
+EKkZ()NUjA9fq&mkNRTfTHL0JGke`hIdKiphKd4q&h-(K+2JPb&#%pE#m0#UChHM
+
+Sr#Yk2Frk[#APmISIc1lNdLGeh0Vj2*J9da@ec09`dpDYVC)dMU`lQ6)Lb-EFh[%
+
+f-TAHp%Ybm028V(M49Nk[lq4Fb-(9h2&Z6,N#*FKR#cEBe,ei*lqq,)lcdp,)ZHR
+
+m'Pi9+@RBMXBlhRf1,BmLlj(FIQKqE$aHmmr6jG[aqji[bH2"b@i50l"m5r[FkSJ
+
+%[hSrFbBdG6DjraGM"lPNekCq8B!#8,@")+Q#j0r2`CXh[*ZE0@*K0Zi*LU+lZeC
+
+`DYVGB$d)1i(@R41ETiLe*-aFCjPd65`44(X5HbAjB92kPhhH,N@kA59f'h404JF
+
+64#!SQp,XbEJ[m1EI[jfJJ%[J-N[mUG30kpVh"""b3+5Y#mJ%[bTYkrRcEdf908S
+
+!%BEqV0eEr0d%!R+[mfD!5G6a+deAfZBD)d&(`j)MjiT60pcU-"E*mE&k4eCI-ek
+
+0AB5F,qASTm2bHRNcXrTrfCrL&DMa-RB-)1cqh6YE$lI#e*YM&NS`jX9*,T'M&pG
+
+dJ1cr*e(JqjrJr8fI5l,TpI-JTG#+E&d)H4LklSJKeYl(BeSch+LPr$,IRHMBHT*
+
+dd%8ViDL$"j1RbG2@r8mHIYIe2(!4bG2NrUI[3p,$S`k12pa""Mim8@22JSH0rad
+
+,IMHLIqQ,"rqBh5amMYG&Vl$CG*0ifdY8FR"Vj2-h'4Ap1#GMrrr$SBrS3fFId'Z
+
+8k#+3!0S8EfYc)ZGYhm'EJlbjQLP'DaJ0a3U8+Q$flQiZIUh,Rjpc0lJ$hkZE1`6
+
+Xh&EmZS6U&8@4lQjqcFVIRdmfYhJ"-fRJTj[8+)+e#R3VB+BpR&)[cjZE9lcFjYA
+
+0Ui1jcIfe%%0#'KK`4A$HAZEVmqrQmV0Tpia!9Q9JUM6Z9+D93ZcK`cHp,rLkjB2
+
+b"Ye"VhH+Ac%"I)6B4[&P3`k0eYE$@Ufl''!Er*+D'm'',2YphPCN1EGE!`KUkeL
+
+h"P(bYqZ%"#RchEbLUrB[0I)MF`mD"Ca1dT&bNfmN-&HFi6dDI3@,hpBZT+LPA[k
+
+iE&ZaP$LXZ$'+#+aJJRhD"JmGCG[`mU+REVC3fbZZRJ(,%'RGdiI`4EbkMIh+$!k
+
+aK51@Md3!1@cGJ*65-!SD&r4"9--h@L([kIR,'!2Y4*!!M*NpCfR@5Y#laBY#IeN
+
+*HVcqXZD'8!kreLh+h1b-l2cTAdlhU4H$&i0la5TTRA06H5i[FAQicm)L"I'K8J(
+
+r'JLjq4NCr2,V,RUIj8#A*@mP4E#mh!J164YIH4Y)S(,HDjH""+[,Q)3dDY'aIJi
+
+YiEh`pYGiLN"ce%$*!CPA$RN,BPPT0UX`kX*ZBC4ERA9aF)C@4pLahBL$LaE5(ad
+
+RVL(r1hR$RjPeG0"mC!"X810#rL8(8bGT+JiGhjm*S8AXN`lZVYfFVM46VlR0HU8
+
+'BM,TrmU"BUe9C3)qA!-*`@3J,-2'F2"KUm-%($"e`m@5l`iI+Kj9[amVc)I2FC3
+
+3G6kfIZC9+pkD1G'!hFHRPG4$e&h)G-!a3"0@,[l+*JfcN4*`MV+"'3#98V%2l0l
+
+-"6aEG8%&@kXa%0"B#!,F"-8TJ0EXEb31!dj#()LXDd"!@ILF#*jYGVDpALf0H"C
+
+e84J1a5iX0b@+`!-F-"Sf2K3D)B##'rGcSEm1GE[j@G$RAIQ1Q!9F#"('PhN4I2K
+
+j&[NCA*Kj0hb9%&98J#K!P#S!h-&`)"F"iD#VdZId"V![PqcFB3!*M&fmkf!4@"'
+
+EA$6Q`KeEQ$H6ClLX#V3**5jkT3+"VQ4[-LIiefNibJ2a1$LAU80i-S6rSBVGc+[
+
+3bVVGPmSBJeB%T8HA$rY[F4-L"P3(A!!F!rE,`eH9@!1%'J!-b!-(R@+H#J3,D!#
+
+2kCAeddP*ZVLrNPq8[U@AHr4Q)YJ(k'6ipV[d$ferDfAV5r+PIA1,*+k&Fk+8!PI
+
+-P@+@Gm2YZ6Bpc[U@I&Dl2Y&E!2""jfqr,QI3lEfFf9fIjHdLhrjFk,Xrr,q%"Dl
+
+EfFc0prQk&VhqPQ92Irp'em(T!GYl1Gp$IIPd20q"rKRI3l2qr-rcCRXXpJHe#Yp
+
+pe+K'G+i2Yje,0rTl6VAk8(Crhje,Xrlqcr[H9-P-!qE&8AEIhf10`IEdGL&%K!G
+
+NrJJ$`GYl0ZP[[CX)"+@qrp[d3GYrICcHfpR3TGVMElfGpkGLF`Jm3XJHrPkH*hr
+
+VkI-d2PEr$SI+d1CiFQCSjRlACXZ!*`H"i&H['R,i`'F"P&Ad&I#fq3mi"&r%*G'
+
+9pIEVKV(J69`@2MDRH3I'*DYD##rJP`bkFbr0PU`!h!9Emh3mL#$Tra3apRq6GcH
+
+Lp5()TerKrdVfBAkHGJ6+254cIY!%6!",qI1QUV!Rj,&9h80ZV3q23`if43bU"rm
+
+k'&(Y###K4`CG#cYZ41`PkqB-"HM9F&@EDQmDFV%%f$T+mfIMl2GcqeT5k1hbd!M
+
+!Khk[08hPdpV3M`I!JKVB8MeeS5rXKV+8&IKc21QDZ$lJ"[S9r1QdMfqqKSqG$VB
+
+qY$p"5!`BqVeN1KAkUPYDm0,p'P1""1!0&2T)d!f2$m1[2QdiFk[qRp#RATdUGIF
+
+r3lf[ZS+XrI-2iD'YZlGQ(,Uaf0lqZ66GDME*LPA*XET@[r6FqTNChP`reAXMY"X
+
+lRmqpNCZ4QIe@IkVQ4hbifXf9MBGh$DN*jYXdQl'pN!#CP9bBGe9q(r@i8"adfYD
+
+#*$YP9Da@k&'I((e@KeLhlmUE@0PqE*JiQfiQ6@Y6)!)8jPDC6MV0fRcE-Pq#c(C
+
+cVr%Xdl*$h,UkE`+%URdDTrJF%rJ0'JQJ'""6UB1",P5qM9crIQ@GMIN-2@aIqAC
+
+rh@Fr"fP5a8lAJA*Akr4Uir8J*YQ'c6[i,-Uc0`6DPB+",jjBIi&XfrDXfV2H+"V
+
+@#dBkIIm$0PCVJJQfDYr*Xra@Id,kBCram(-U9DPAJ@CA'k0EGmfj,*YdkYN`rl-
+
+PQ2"'GZmI!U5XrSeaG3,8!h@ECiGqYC+V$ri`'EC3$GjCZ@5mhUGj8Z"J1ck0GZq
+
+Y$6QpA*N`B)mh1VIX#0Sd4e6fY12Y2pUL#a6XGA9bEi)%$NLL!!P1afL`rkd&12U
+
+imN-aQjCH[H"@m!!RakIkY2iRD+S!&!6EmND4j[kpDk-jm01L*9bkF[Y&TUeq0(2
+
+b)m('LPi-Xp"baHJ%1%#5"FECp%%%h(ALhAA8"-SJPeTPEXF(&RpMAQ5XT0llTT2
+
+d-UEEQr1DBqi)*M##!X(Yk3VkbSZr"d+jq&EMekAVEMAkIS8j[6p$FiE8rS[DQVM
+
+D`cDdf`IXf$0Y3fTjKbE@e$J(dGb+iecp!#$U*Y'rbY$PD(,[qESIbk&1rq+#MFT
+
+A'cP%)!kK-%d8k3$EDd@Vi*YbEFDkHHL!%5JD("6JcK1KS$d&D5`PP6DfZZYHMJL
+
+$$-B#5iXpZ#YJX+1NX3J'#"`'66FQfemE9%'D'r!rX5[RFYGrJcB-e*Al4R+e%1p
+
+b-%0VES6#NpY`RLVUi2kGLQ181GDcKbeTRqP(,JClY,Me$d*aACeU5e+4cmi)#Pf
+
+m0p,Qbm(LJkd-"lUJ'P`5lNZid9a#!APa8h1#eQfK+S0!6(A#!MX4MCf1e(D'8GV
+
+,3$34h)lMP8bXA$JGrL@YlDUB+LJD9!Ad&aXAbEAeHpmk[p#Mp#[`k0#[ii"2[3@
+
+lPZjhdVL21%c1ZP3bVIUjL!3GpbV`2ekE$*C`8rk9Q9B+HB!M-VB)*8&V"r4!YYh
+
+Gc,'[RP(D!dPk1C4ZhFbCJQ5YMFf0cDUAm`k@BIXC&qaR&XVQ5lm`aLiC9*%[R2d
+
+X,2l&Dr9cV0qEQ#"J36E9#e6rSc9BmSdD0mGjQ(E+VEfM8Ve+1pVe-q9p+9+AH1%
+
+rkGmpS8DKeSk0m!NGH18QVRB8S+B)0abUCb6k(0bI+RJ%mAcTI%QI5Qr5a@l5i+j
+
+MfiYDA"X[@1!*!*kd`"Qb`fNaqpM4c,qCpJBp8cpm!JCq9MA1RZCUMq94B1@4rTC
+
+c"L-!PSLqGrFla$IV`edGcVdikq'V4h1AZHEZHKQ$AT24PJq0bd$qj`lMkXG(FI9
+
+h(3hhTE(S6*Vk(qK6Uem1jbkY(p2QViC[1iG'HFh"NcFQEhJ#DX0HMhaTE6CG#$[
+
+h)#imAe-RaFR3lc3Qq,0cXHa6cG20fH$C`IU0MELpIaX(HD9V5-c'K@6(NS38"(H
+
+IF9f`M3cieA[+TQDMYA"XjU$ZJ-ZA""3feb2mk1KRB1*N`@Vq!TCI'Rr'!*DTlrh
+
+kSm$dpl"j@bSl$m8ZMLrNaIb*AdPdDf@@1djaXc`-c,c-[-UDqAB[f00!)!522[r
+
+X@'Z0S5Y,ChH(6d*q'HGN8reCr'RmqK"lV32-KHqBm9SGeKdM11)C5c0Q!d6IJe'
+
+EPiXQlTDH[2bjpfIE3#!%dXE1RV['6YHF@&qXQD@[$UQDJ!5INihjBId)HA%TS*d
+
+H*CLMl$$ETd2rhDBD&RDF*!*3YBecT@rmfhk6@SI2kl@lMjjG'H9Y21SIISH4Y2)
+
+Kb-@93@kff8d8)p$Fmk1GZ*fjif6aN!!*ZH0qGT@rSE*+5faSl#6aH*f[iE9[Ipc
+
+fZV[pI3f([YIKHCDkJlidMDJI`m,6YIa@I-YIaD'6DQ@YIa!#5MT$EPQSbYIK4lr
+
+$CMYDpQLAUHRCJm6AY@j9[C+Sj+QE+59(idPQ#eKY5l@(IbD%V3p[aIf*IYbekil
+
+%SUrAF1IUQhLJ%3#B6EYbT5@qHa`5lRLA%8hhmfdIbiiEbI%!0+JPYXd5T$"ZpmQ
+
+j1ENT['*[%'&%EaL&lX25PkZ`jmZVihTD()d2fGrq+bAi(LkHKTbp0M1l,R5l@aZ
+
+5lALI`lr#(DMd1Cf[KF+MfdJIPEl#8C&Phbl(If2,)HNJD55k!5$90SGI`#8A[%8
+
+Pkj&[)VL!UK4kB9%q'BB8VU93jdq'M4T&r64pSB!k'iNSbqTjflcZrp&[VrCILMe
+
+Brfpak&h4h(pFI$h(iU-(8iGhTpmm-r5QEL5P(iQ[43L,0,ASc(m%%NHY8L`592U
+
+$&(e#a#!M)qSDqN@HV,QPcir,UI'[q@FcI),$ZU9i3#EA9MNcP0rGacaXaVf2FZG
+
+aqDp`BV%9Lp`D(l'0Rp4NGcdVG-KaCp68q*IjV@ABbbl9-4-ajGdaJ&%42#UA)cR
+
+jMSe*-JRCNm9ALP''MKMRe*,mp1*X&@4("9-6@Vc'jjD-+%&(K"&+M1Kd%8NF['N
+
+RC2k[rCdJ+0e1EHq#5THMMMeic6"Q`rUU3"e4rYC2(h-QjeDZVZG@cir5FV%r[Vi
+
+C@C!!F2CI*D`0-`cCie6RTllQ4RN*LST2eka9IL*rQ8Xkm39lTIPhCBqlAIGYjfX
+
+k(jAHqhPe5rXNScUdfclr"CSIS8rhFe)GqaiDGKf,Ifdb(phT0@("MiNG@CeH$c)
+
+ZjSUi9EkF24q3!'CNLI84A-PKKFQ*6Z`mA&NKiSVmF"Gc$EcVI,ZC4kIr`4C-2FY
+
+ba82-h(TDA5E6e0e2q"pU(%a8!RfTpLISB[h9EEI*QkXAbmQAllfi[iZXq@0r))H
+
+JC+#!4FDb+EJp#+EMij'eieIM6*eIMB2XQcKr99mIY[@9RhYm-qaYkX*-Kdm-q(E
+
+``33DK(CQpQYiC2Si2+Reb)PbpYql3rGfh,Jrfl+#$Y+Y+V-hcC*G%p,TI`2"dZe
+
+l[KD-'PVk9[i"NTaDjmjpkkIr4b0(m(Gfp(m'PMD1TSXkA0JZ*c-,62$dT0+m#+l
+
+SJ%dT)G+(ZiIp8,8Le4rSMYAZj@M*SS+RiMm"AVaI1d[AdYE[*%!b!5,ejqY$im2
+
+628RrJ5DIYph"TBG(1dHATETq*2RQGMHhiNFr*Kq6&`qQ9hqRrFLercP@m3[LXqc
+
+CZ$TT0eQ+pIb1Xb)NE0Mj@G)DM!Sr0PE-"A65C%PQA1&[1Q8d!#[ARI1RH[HeTdR
+
+ZCFleqQeXMel@Y1pI%mIDUD!cF[2RACTbA6EZc13VDQ[hC-@qG*YE+Vq@GcUj%h)
+
+qhiNA8rhj2,l,mRJmA*mr*QE[Q4rbr$9`hJp$`I3-8R(VmUC2`HM&2Vk`#2l*QcQ
+
+6jLjeGI9bGA*qEA0F((eD[0[mV*j9EP6[(`DX(Ml"15UCXF2LD&,$4c+dP5P(lFI
+
+PJ%b,(Yc0L2-9`$D2$kE$,J[)aaKhZK8`M6U!!aTSE9'EXbA0fASH,`Grq23cYrp
+
+Ma*qrp'e2YHMiQK,X60#8Xma9!$SmE4&bM2(!4Ta@SV%qkV+#R%EXYfELr[3rpXV
+
+pUjqY2pc&mX5qQaF1Hj)2fNQ,K[mHIlABbq``k1fLpC!!*6ik(6`Y`9kZ,K4B5l4
+
+aC-AdFVNGa)F92fSIf)Imf+TJ-AeSYc&kCDGp1,FpEkf94Y`--%)Ca5!-mFVT#ab
+
+M6PF@H`TfAUD#qEV[`MITNkALGMpEmlbp2bjreTrkmq9M3E9`J$6K9Y$$$[*1ZXD
+
+)d+8qJ('DraFq(2ZmE&rkcr-l,f2c[1q"q5IARacijrJ0j"43iZ('K[Dm8-@[[)H
+
+[`k-',pY,9Fq92CB##,p+,*[j1,i-rVHbr&ehlHMaXAdiH0$mb(jQdA3VQk-h9R4
+
+hrrFh4pj(lZhNDp8JqBP2%dm6fX45JQjH#T0heD$*,i[*fYD1efH$KTLB6140@BG
+
+@`cp+KNlA$3K,T@llUCdXN!#ATcd3#$%6q9U0[*!!I[H6&M3m83paiPT@8-kK(2N
+
+i81d%8GMIkl1q!L-,mr1k8Cf+c!`cD245Ar0a2PEAc0Y4kR$Ndp#Rd5'L!-UF'%D
+
+A4L!)iYID5EU$HDp`"6!j""Y2baCZ$mZ0FfRjSGMfAq(AE%lNH*!!m5Ip#Kmk&TG
+
+r&Ljj9(rYRrd3mAXT1ZTk0',,LSa8F@M3FhDiIK3TYdl',$&-hRbq[Md[eB[p-A5
+
+crL81LG8!93+V&cmUVer2d3%'pp9'mLS!Q3ipfC!!ieZ2@(X[j)H,Y2BSH2Y2BKj
+
+Hir0Q,cPc)F5',(SmRJk8%ICFA*i[CF@#B,J6-RMf0*VPZlKSke%rJ8I`4`@m1ce
+
+Lh1+klG9HhPcm[ENplp6QkHVqTUQE+2,jNh'R4mDBXI@@0iCXiNFEE!AA"i@QX`A
+
+rL!4F3rBjQ9mfPRCA4J%!3@pA%c1,YrpN[bTR)kEpT""Qc1[ZB[cC8c1irAD@dN+
+
+EFH,jRHrkU2Q8SqS9Z"[T1XMRdpP*BTGIqV3mhBrUl1PMIUq"jY6p@1P'V!'E"f(
+
+pN8q95hhRpGEfRpNbhdRpN8ciGIFHI5)LcH"I@Dm-H``jNB##pMa01'$[m026TkH
+
+iE`,eHY`L49(0epe4fQ'$LcX--Yp%'G`mRPG4pLAj2EIMMcUHTX[4RBN8[p2l&+A
+
+5paZIaU3%hVI@LMPDqC4kd9UJ'5%-ciHZHq[(M9qrQCR@DmAMbZe#J'c8XC,6kII
+
+i5,&Up1Y%h0k2X2Y4BQbqefhUCA@3!2$f'21PE6l[ImHTBb-QNUi$KS1KQG$G'"M
+
+"jNka2pI`-LMVSL*83FlGQ"$,YC[m)B#C,jQcm+'MqR*4iQSXEV1PpC-fNJNpDl$
+
+jm4((QjX-(`kG5I8f0&9hPC2&aVh1&,ISCl-hF6MIFj58F!A*1jJd6kFFBkJLdmJ
+
+aJfiL39JddF2GK!6q12c0@(l@,ak[l'Irm-kH1m'1+ah(frJjqRDdGFDYDi%Z,9e
+
+mpV*+1RYA5eqmM(k`d8(28Nr)RqcNcZdEGTPJ81lhZ*1"m$6cp'k%KGKmb)hImpE
+
+4)bHqI5cX[EJ%!3M*kcaTR)PCNZMYPd+Xq5U(#b,PVV62H'f9@MDNRC%i[1Qq#33
+
+C80[)NY46[U6VR6I8b)V3#!'4G-UAfId+Sm)9aTc2GI+kR$CSp&Kk56%eY1e'epd
+
+H[FlSCXfPd-AAP3BZ[8McV12VNiI9Da6-X5k[#`l5',V*qKiZcLr@L(hh662PEAB
+
+`69['YBY"(0%GmLFiN!"M5G-GUA`iXdkh&`1IZAH$3dpTpla*X9$'j@0QieEhP2i
+
+RiqN0Qb"FLhK(Ch`K0$qfpS4IfSqbfY'(c2KLe,NYH6a)XDp2KfPha#F6&ELZp0$
+
+&Klk(2B[TQ`r$iNc&r$%!5'$KCN1kRNqRh@M$h[IrBc&lCj9QpCaI5LlD'ILrMZd
+
+mAP6rjTrmdrQB[,Zj-#0r0MmQkAM8qAMHhHrL)#TH081KYGAj23c"DpU9FIRBd1$
+
+m102MrIXG[$VGPk1KVC2lQdrj8IRCLpNe1!q*+0UMmE,la+FAA9ZU@T28VGE6ER'
+
+V``erZCQh6KL`IrZ6qi!EdB1PbIhmRi'KdkP",VrY61XVkQ2XmIV-3"Q#3bbq4-d
+
+pM2fkCPCTdTf"j9b5hVASLqjjpc*Zq$BlD$8P,P9jQ2*$QE5rFjIElAmlr('[pI9
+
+lLrMDXGDa0Q*F-S(pTcMThf1lPl6m-1Rf(SfqRfRiD1RQIYE*(E#Mk$DFkhTGKcL
+
+2$6kh$Tdm8QLRm!e!d(aM6pamqhVGKmqK,klelHY3pHKkmIlQIZfYPU8Ghc0a*(m
+
+Q2c+qiU#["ZaDqp!0+@r@QQV+1`LUN@)ijZeVE@Ee'2d*pQIC`+bBP4m,c0r*Cmc
+
+a)p$Tl8ca$(8d2(iAR@NaUeFl&#dq+mr2cbkB+&*eVf$&[ZP!H"'c'aei*[#d3JG
+
+,a0DcZYr*i['hrKk'Pi[K(#%V0IBIEPf['qhS@Yrp[aC@KiKV"J%d2%!B`J6)-m3
+
+b#1fNi8&VA$!Dl!DcUbQ,idmI'`fVGUf`'m5hfaN-H+6d*DUmDTNeDYQ$YT2%-P%
+
+eRT,0'eKi9'bf-GXG'9EiAr%'@V`Y&-Q`*JDJF,4#HA9K@iapj&qMFREbG*@JQiC
+
+ZSJ%SBHR5l4f1SIZXN89)rf#2d%a&Sm1@Q45SIK[i9R(f+A2Zf+R2@HIC+NI'P,K
+
+fL)Vj)ZQPkG4%E4f!2f(#!!r-[G#+1%6jiAQC%H66pllH4(NDqm%p92cXH4H`iTG
+
+d8SI%emL()+!(8bCAMp6LL@LZcT8&hcT[PBPDG6K[lEbZ[Vh"VP3mchQiRZCJ@VX
+
+25Zp*Lq[2Tp2kPh%h(U4k%I&h(UCI(PmQ8VBrBBEZL-V02Tm2#Jb0I)Q)"%LSpPK
+
+CYIX2`bp1rTSf0T!!Qq"i!MJHCZIVPm+1lkAbr&dqUm+U84FQANr+l(6bIP5eI@l
+
+$$4#J[kI4$f2V0Ii-c'A"RDq0DM22YE$lGh8RCq,cYe2i%P#%[9BTr(SCm+a+jN2
+
+L2-![GDhFRANMjYVC0BYG(`PMQaDjk(NFfjKL%-$'VQP"1QI+Y$628[Ci"TrC&ZZ
+
+&"3RmDKFKCYK$`P)`8KjqkXI"00T2aJZbH0%XXZEUq%D6823Z`'Nm6Spj(FDf9eB
+
+P@ARDrb4,'(9[I,RkG$`XU$Z#Hc2q92d`#+bC)kfG5lAhLh8A59q6"8VPhCJmq2M
+
+pUUf`(l%8fD9RZ8R6CY+e#Q9"+'$b)2ch!rCb2JIlME+k!bU[bi0YP9VYDl0j+kA
+
+T"+VeMh6iCl$Q[23c+'CY1KYFc&k&(-hcME,T1E3dD2$am-3))MAjS8pTbipj(p$
+
+I0C91m5cCfHc`0Y%'d!@dbfXQY++)23,8K4Y`50DXB$8A-BK"!SD"%!6fkmN%d`#
+
+*X#pQL##aB6cPapG0MH#"!*JNQkZkD&8JJm###E(I`cBrFb!hDU*RE9DMV%"""XY
+
+Ij2epPi(bI-TEVY2NlVrCY1SKq[qQer44ar1TfGcl&Q(T2@Q`p*l%h9a0(Cj5&Bh
+
+q6Bm!E6f%0"0))%h96Rf)*#k!M#!Z)XMJqhQ8ZfqKCmhY[jFc5i2qE-f6dJ,%F%'
+
+G4kIAq@AK9'$`P@rh3a1m%&Z##C@bV%ASAGe&k@9MNNlmN!$YBNbThK`$rYrl+(P
+
+4q9[m1eSeIUfI+RGlL,!-B3*qPcikpqAq+C!!p$p[BCN()f&(T2V[T!#k12e2TpU
+
+BBfkifRkFrjZdk%,FqVJJ5CjQ5XHM"IVm[%fZ*ddqT5HQJ"!9i21LRiP$"q##,(L
+
+)Jr5ikYr'9J3IBP@Gk'*9k6S*f*44i[X25JXfCN+j&RN4qAArBMiYILc*Q$l4L4[
+
+4"3Vi8XC*Bi`'9aZ2Ac1)d5U'CY0@hVCARB['[cCpEXZCeh-YmdD'mI'`6dL&T8M
+
+T@mq2a,F4Vclq5r5RfZap[YpLl2(T`dXIY[aH,`HLimmSShrijrQ6r-l(c1hmb(q
+
+H,XhQa&SDILI,QdBVH6mUk056'X06Pc(Q'bp'%YiK[R4eJ%&f2EQ%,Ua$XeSc38U
+
+pDE4j&IcTe+IAbk8hcX(d0YA+idqDecABT5@"rP&+T5CmS`lJ+!qUK!,Mc458SXq
+
+5m%Y4eL!TV*Ik!J"2X9(ipY6G5F"%&#a&RfrkVQIEiX5i8X-+$ql4KXd6FHZM!KU
+
+9DY[9KNK9Ch(SGC9d0(UZ9YEZkQhjpQN0Ajf6e@6S9Z0690f9"5r$dqRf[pRLm@G
+
+,Rqc9J[$YE+mcZ1SG2q#$AkHhD%RT`iZT6,'CI`a@FVG@pe&rDL2TY(q1MjPUViX
+
+QceBT[8cEh9a9BUZmUh1jL@Xc`mH5I0aqELcHPrJpee*NirLKeGaVdFbaBQrBE3$
+
+(!p$"ETpIJaMfUrVR3Lirei"T2-j#dirUk06Jll`)1$@d+'P0`Ikj81br&"aDi(R
+
+-L1E6`CmflcBFRTqEBjJ#($r436h0YqMYkm0@5cV6GI"V6IQj-Q6c-Rq$*NVDV2p
+
+frr+-ZAaMmSLSiT8`!lh("-*dCmH2@ViHNk%fDJ%3#25!JJViFRKlLA6Re*p8[8Y
+
+p2f-[DV,&4E%YA9Z`jRGFfIc1`VGeUcqD[+"`kLdim(Kd)X"U4A1Y`A))Uh@`A-"
+
+V2@M2%f[aAGH0&8dCHhF-1YZX2FfmBb-BBHXjkh+Pk3LLI6$pr6!4GX(IpB!,BJp
+
+mT[m[E,[T4Efr8fe5l[BDRLe1UUIr[8ISacHe8rqAaGaq52bDRRjFbTpHT`DQP[I
+
+Y4iP5a8d0akrDUYjPV%LMJh[2UC!!4%BDmNH9(EMqG8RX3'p+U&56,iG56U+96fp
+
+l8U'S%!6BabZeA`5bl-FP69#'@YaPPeT8qh8Y92%U5[I+eEbkh88kR9jH6Z-&60k
+
+M[0kGGjr(CY6XqSiIDXKr"1Xelp,1VhjeR"J4L+A4f1M1XpCfN[-C$qAKm$@kq6U
+
+LP&I`akhABHUYPfY9MKY)KqC$91r5VNiHSjP2$I!*6J!CU!)e1d9KUMc+8PdX+GI
+
+fA9%@h"%%"V4kdIlNF,(J49FpGU2Ib8GH$LplVdB$X(m6[V92a+DR!B3CZ[eNF8H
+
+EE+)d'`,XA[RQ6&,SKX[+&c3829Hk&LK2kIef)#[IQFM(efrePI$4PlRfYPQHji8
+
+ZaPVM#+8'LIb-cFb8SGaKT6`%6paKkIDjp"m0"IQ`fVq6R64rNJ%SAkFHD[cL#$"
+
+-dDeq$@VeB,$l"kq5VIe4!9GPKXB+qV"@VmUMipI9LSB&bJP1"4abk*fq%!J#"ie
+
+C1+PTP%b@'!PK!9kXheHMUcr9bDXbV-p8rhp9Rh6'J[hiFk'rYc[VT`@j*ZC$*5b
+
+-c6I$JEE"6KqcYlp21dlqc$K3k&'hQ,R41###YIP`c,q$1a,l(NfXFedm!)-&qM2
+
+10kI@[dBEj5L&,)3bcTi140ejSVe"3VMdL[VC2MpENCfIYR9!"!$*V)"Ycl91R@V
+
+5dqCemGd3"Mc5kb,NSZ["5E(fX81$cC@I+I&30KcUHELmkA"qTcTm4a[c*rZrd)'
+
+kRJ3$$GE-ThkI,-1L1ErYkXL0C1GPRl'p-!k`+AJYUelHec+ZM0TcHlHP"414'$r
+
+C`[-aF01A2pV%iq*lAZTE-S(#!pC)L&[b0akbIA@*4Lq[,SjDf3PM(DYH#Ib+r)R
+
+%)#eSm(4i1PSD9M5d1#qUJ86&FXb6V!,V%h"3X8l'DV8"e%"#L-'cFDqAXYaVlMA
+
+hf[-QE*EaTK"0)b'kSGaq5IbbldjG$ad0TP+h!B33LJ&LIJTfZe`6$iFMcC-fCfD
+
+hqk#$DReCm1MAVdSkkBd"eZejZE3f6US'$C&dKdAT3MZZhj'2V[@Jc0`"C!`MXLl
+
+N3AT-LhN@FMmr)Q6j+YLae6ib!5)eCRf-Z5GCRhkeQAIQ@FTm2!MffcaV(*k,dTN
+
+-ld2Nl,CHXB5UhI5N"ZU4!6f8RK'1e40BaI)UM`AaH#E4*6T-,i@V&[Tq[PDYbc$
+
+ZXAlEa-#E+%d!66GTl&'AdR#R@HNi@*9kaAcqbJQ5X(pmG2FmZ2TYa+Me0cjmIlh
+
+[H*qGpLaaCRlVX2b+8GMm0[$EeNI#`ke$@ZiCPKCq6QS*GURDcNA-Lpr@P1r'cmD
+
+pHP-Y!Xa2Q@pDhc,CBJA`!LLU!Jf1aH##+#p(FM##!0HMLbjm&$QAHCXFKi)+Yj5
+
+H"&"HX&[CmA'XAlNc`e%&Ne9V0l$Fd,L!3L2k1[3iZheqqiX$5ZXb,mX2DAE&cf,
+
+RFA2c(Y,qD(2Lr03YAG)fh9k)TY@YK)5I-bF16"@`e4h"dG[jAcMBJAr[*LCQZ4G
+
+ZUJ"$K3PHl'+kQaDqDjJ)!ehFGNH)-Pb*)%BL,p`rfbY`#UKjF4mIh-LhTT&b)*I
+
+a)CY$elXbBc)#k)qZflUMj1%U#'r$-S4hGV-raFU5ABI2"&B"*JYjPh"$5a[ESH&
+
+GmhBp3ai)F-A(ZrJ%S24YraKI'b"M@XE-[CaU$TGI&Yr"Z0IUV'ipMFDp2-h*GGE
+
+MAMXElfqNF9rVmM(Vc2!`H20Qp(3Rr4kMKLlHU,YkMCaEjG[HmQe-'qQN4KBN(%D
+
+)pdR3P3`H9JNPC[Z-lDjNh9V9XR*V9Tdl"JE@N[MS[UNp6YDRKkl@Ui5r@,"D6B@
+
+)!"N'15a3#,06QcAT",)kV$f[c*G#r)Ir52[[fNZf&-"U0*CRQ!e2T8YMm,LMRA%
+
+fr@2k)*X(511$pRqli@qG0"LBMTS-D'2bE(I9b$ReIlAArY4rr6q%"X9q-,fH,H(
+
+&jESQb5+I8'd,&[(8SSc1B@8ZCef(Z49K&hSV`c'D9c0LV3D[#VG%I0fmVDH6df6
+
+#N[MQaDVGX(CVP+q+Q8UCCG[9kDCd[rX%(VT`&0+DaC*YRa--l3L`j4m3``HlNS'
+
+d0%F@c#$DDX1VGeZLmkI0r1VF$Q81BT31c'*P%$dllILKS-AmIBmcYqClVQE6e*r
+
+-RmX!RmUL#E$UcIir%UiRQ8*1XQm#EM9HQh1-52SQNH6+1C!!kNl$"BZqE1,c2GG
+
+VhHY&8feNr5M+Z@lHr$QDI"diY[MciTq2YiK-5CYm(R`E1,'Sr433BPH[bX5RAjZ
+
+*6`BDr+Mj9IQaq2Jqp4mZRrZT,Y5j160Qd+&1RJNhhj8L!)"%!N[1fcBr&2Ed+H!
+
+ZA-&UDF[NfeC!0UjTc!pQYrl-Q9qE-5!jjpRpIhm%qlA'!XIDip@P[Xea`p0`hi)
+
+,ZAB!*"+NhXUTHUCp5m!KQ2T*[%[b3DZAU`5CI+JmF[B0@29UB+a!TE#lQker$"V
+
+CBJ6,j8V"Pm@T'PijPeBeGI3bTf'rV5U@ACJpE,MJ`jF+Apci)1(0N[m59Fbld%@
+
+Ae%($#JiP3FbjF8EB$ZG0cVr2PC1Ac)2dm[1Je0l2"mGGfp08KR,dh"IeC@%0!J%
+
+Nbi)lmFFHebpV'cGl4QpaJj-U,Hrh)")#q-MQ4rS+B$qYa!&@rBJeYlH$J'eEPhB
+
+q(8[p4RCHG'b8#(!eB2QjIR3HEPmf$c-[q12bSrUarclfje#D+Shq,PRFqedR36-
+
+jQFMT1KLrNf(iQ6MIUIqCa1fpNc(c(lJJH`(GPkfaqifHR,SQ&%%"e[rCp)#'90-
+
+`%6"iQ@CKZArP"bF[lmIre(prHaG3U(k8N8-UMH[bXj!!#!%QhTZINpTDXFDkj6A
+
+6cGJ+$L!4!)QmH8$0629Iq'#EU3@"LU!9"e0l+%K6!VM!*[9ii5hi'a&8h`-N'Z6
+
+"KX9DY@(q+pN`9@X4eri*P$(SB2[m(mmMaH6XiZPj28iQdQBR(k9D@emd!)HEi2+
+
+k2Qd19e(0ppc0RUd2i2!jQaY6CZk8cpql0)'rJr(k1a3Zp4"ll$XaV"i(-'ph-ke
+
+@rem5qKe[dB[F8GRBkAS9)qe`qj'![!UcE'k9EkC+m6$EKb)SIjUZCCiZek&@+e*
+
+YBFL5cBfUL#D4kFQ5f0RYVc2!e-6$qYUiRUcpA[Z0LHR-rC33#$c0e-5!L'SK-bI
+
+HC"c+2-Umc2FcPK(iF+rakXRk((q2cFR9UmfVbV2+R9X4HB&*cCPET@K4`MhHSRC
+
+2T5D)4U"pNVqAG`fqA$bbMEjAGrbk2-Ym[i1lq8Q*eXD0llHIX4TCqMFrF(kZ(Zp
+
+E4)(rFkhbGCYqf'lV@,HI%A,Jl8L1[l4(mAFf2Nf)%mqYMP'+0VCrYhH,EAYAdH(
+
+SiEQTh@TmPcJV4q[5lB@C5kq-*$DIRq[-iHck',`k,QVJRmYH-`3!PLhmbpiLK+f
+
+3!*aQM#CaQX&jr8'qJY`"i5i%K(NcETZB4BMr)HeiTIe()FZTBI6%cUF*D$6akQp
+
+2pZCV33H(*$4L25h1jNCj0*pK0US43B1G&1VmI*rDVr0JRB2Xf,@qYG0lRBiNZEY
+
+PBB`DY$)SI[i1lZ6EPHjk(FGcm2Zmhif#eQfF(PCUl5&qM9Sj%PqMi0r`IXI'c["
+
+[rT3Ca2qcZCIjRCY59XBdP#aJKZ9EQqZDRjph0KcBF!"X%1DU(p'lh'4bFL+prGm
+
+L,j(phai2Mi48'UA3e@`VKHE0I'[8VJqfZjV3phri6%AD&YN5C'4Jcr"Jm(-m("i
+
+2PI&VCe'q!3!bddVqG9MUPN[`C2"Km'(iXJ'-'GUV1kCGP2d3G-q$VI'Nm'Vm@af
+
+HTINcR`hm1S,*$6XV'Cd1GGmXZjFkhaGjN4FqkY(@+A9iYMrC"6[G9&9%fFQ(q+(
+
+c,Im@mbCq4GXXlAUm(2p19Nh[r"PeqRHR46STechfmd)[-[-mhPe5&8&!QR9h&lN
+
+a*TirhE`K1AQ-"Bb$84J-ZT)[jU-Mr1j9hRpTI%XRr0b*ZIcaLl)Lqh$QAF-@T#A
+
+hZ8!Dke3rh&ABjjlmh[PLV2bb1VFLlHjm[HHjRieeE"N-V)r,Ra5XDpqD,'2+430
+
+Fr,P5SIShQf,i-MRjp+95[IpSS)ZM[IMLa)X5jkQmQ4BMJJ`eGD`-k%@P&UdjBZh
+
+ZD@mXcmfkfjH+%Ra'A[*HAXHEjp[NCA)KqjHB3DPAQ"!F`AAX3mUpA!-@bf9YBGV
+
+GCp[Q9F'I`i,pdae4-#q4jF&cLj8Ei)-1IR1#"'ES&"!"S&Z*!CPAi9M8PDPrcSH
+
+($j9hcKYrjp[cXVL`mHlb@[YHLNSf6qamb,cD@qpaZYRYIGmr[G3YK[+D-YQdHXS
+
+l$Ac+2@iC[)Ld[LlP*VqkqB2U[+CpaASiPI"(lRDd1A8l2BGllMG-2TR)G)"*Z1H
+
+Gjpd[ISGHkRhZ0k!`%&j`394I+!PlSTddP-hIrh)8q"efXFL,2L%S%j`$#04+Dh$
+
+["[Q`J%S*LV3HkKr3KQhGdMUQhEbYD+*`3)8%p9`!ZJ``4&[N2K!FZVbah(bl[e4
+
+%#i@X-0[+bKMpa5!D3@$02*CX5B,DG)eZ(+!5iP!C-GJbB40VK`QkbG&I*YqEPIl
+
+SIbh9aPBB!`$+`&kQ1@H'(JmI+rGKp#mVhQ'M9bl&'"a$3D$LUL##(LhQYAXc!44
+
+UR$6ZdiIl)5rII&i1(9iHI*,TA[EKP3qcG!*$+YqcPFB"M'!eD[Njp2BBKL'k%@N
+
+!Da&h9cBlch88bpP1-`-1I0PB,df+r%3Z)Xk,1ZApjR6`k5L$NG&VlVNE,$&0lkC
+
+"`pKhZAYbj36Sp0+PYAA0c8!Q$!N0La&`IElEfE-j!*fhrY@)+qG53#)"0pqA1T)
+
+*0rkHR8l2l2CrqAk3!"fhXS(Y$)lEfFcLElmS4cq%"fIprCrhpRrIR8Zcr[c16`I
+
+E1b(hEp%'qr,[[ZlllU$VIIPcFd!hkLe8ZIRj'31,XM)c`$Ba+`!VNEc2Z15YlX1
+
+HGPqMq#cEXIJcmC2KfhU@F1CUCQTQUQ"iQ'e,Y!%dX2HmA5b0rq'caE@KmERDHYR
+
+@V#a1#$aEXkfP*DLcrUCp`!N9ckPUjQr8cBXe@3#Em&H5VaV'XEiKRUeXkKpDK"3
+
+[i*N$QqSQ9MBifKj'Pp'M"$b0pKSL9aklk[IVjQ1L$Z[k))1Y`iN[1pVGbjCRVcr
+
+Dlj63-)0(M@H6BqKCj-%'mrYb0$)d%!Qm5[Ni),2'l6q@E06,p5mD6V9GcY4NU5F
+
+kGbYj"2mlqe"J[Q@20iQTlK9hUF&1cJX8q$@p5ESB0#ei1$3QrD!*S6G#EcR"p$J
+
+RdpHYEQkf#)ThNL8))!de9IUHC6`i$&3VDdh$JKY9F&QE)K2,X)!pj1$6TpG@K!V
+
+a,AeX(PcI,`I@Qm5Ea*[%CTh[C+%"+8e#4C!!CGfDDpT"UKQ`c9Si6F0E-a,Z$-J
+
+ZeXcTj+fC0Y9Y#VfZ#a0lkEr5brF1VND(D9F%NkEiRT)"*f*iRrLG0`IQJ9lh0[N
+
+)5MQN#j)"eA169ZUjf9IUaljGA#["+Vba'YMcV(d,(RI%qKfrRHrqKFqKi(R@0E"
+
+p"U'*ePcIKJ&SdM55!*-TB2S6+j0D@!h0[d*Y1&dS'!f5BGdf2!T35MF"Sc+qV4m
+
+k[p#MAh0,)3#9qfJR6m95!Q34qG(Uid1*ALTGl*-T!1qKM9m5#+Ih[plE'&qZJ%3
+
+#E(m8[bYPkfcrGfRX62ZE'MlKEp6TML-l1m1D4`#J%ZiFb'e*C((rI+jlf[54mE1
+
+idAThIfb6,aXrRhXM0b,@4Dp1h1lh&83BBiFkM&*H'IGlU8K!CS2V*QYI$@HPYEm
+
+HGR,EUVIGCPf60b-`e9EHPhUXQh`3F1l*Bj0k,-mh-rh@H*EpP4"XD1eV4q"RIZS
+
+l+XGlGq9BrL[G9QGeCmfhCle9(pV`kQ(1,ma,lXJJMac-Kc-+'rq'UcQec)rKCfT
+
+&jerKf2+Zmfak&h9c21c0@cip[PGkURi)0pRF-HDpYBj9l@l68ZmI-rQc19Ce,Ic
+
+1p@5R6fG$%*Dib1VHR6mfYc+IU9YR6r4kIb+h6dedEjCL4cDZ#aNkeUp0YeVY1h6
+
+ZeNH#`ePrCTG$,S6I$`8-QKDm1DIJ02`dr"kG#QEElG"eQEC`Ai,*[)@D&NAiU&0
+
+IJ6C8hSeEGAbIPC[hcil3#@Fc"Te,G5c`,FV[qMAB20MMBf5Cb!5hCYfIE`A+REe
+
+,I!pp+q"dDXh`J""b!DrV@GDb0)+Q8#$@P4G'UMpqaCcV8J6PLrDXjeQhJq$8#Li
+
+(`C@PdDdXEpqc,"j,$!3@T,8UrGPf-5V2KTeIIYeRA`EC`"XbrJXjYR[!`"cBm$0
+
+PC[4r0H#"MJ3"`"[XG2TPX[$`9l0+b2',*la!+Vi+95[8TF#P+kISe5J[eE0LcqZ
+
+$`9J!9B`ADP@T9i'4+Y1'J'9BEc83c3bhNI$`+V!*3(Q1'!-$fc@2a-5H$!8*90L
+
+JVB+FhUm'5CBfED!CDV6DG@YYDFfR3l6rUVCrM4cmL2"aSTH$,KiXh9GY@`c++qY
+
+GHE@hGDCJhP-%%($QkXh9SH26j528'e%(i))0[,Q6kqYdFr'PakNaRRAMj14JeSS
+
+m'e5[1EbieKb[Ql,eNqX9F2fM6KQQR(6bDf5FC2ZDH06aZqfRp8HCfEA$8fY0X'q
+
+LCaBjD`3@UeURJ(L0bYFA44KSeU0Jq$-&+eMMcL[DT@U@#["5Z8VM4fS+`k-Q`i+
+
+0V"DZB,PUiJ'JZA-fiRd8a3G'T3&22"YV@6DYB*X%dQ8YGYB+fEBcC[H#2qm8J1m
+
+Y'HG"Q[K!9E&@Ec,rJk(ap#VIq2SF`!e@$)#RFZQJd&HEB[m[3Md"ZCSIlG##r@$
+
+J"`P4!0!qNRcjr96jdr`[qd[1ED13!!NrY9GIjR9hDZGJV335M,SJS[k))G'YSf,
+
+mhNAiGr*S3hmV3Yk'YJaB)EN,K`)Df@Hr5D51CDq&Jdl@RDYi0'$5ZD9a@8%)arB
+
+rfc4rPDJ4raDcV@F2'5kqZ1mer0c2ak20Rdm(0RdCpG!*3Z6IT8*AIUc!+H0E"hd
+
+&DR6cDdbM(AM!)i)(B,9qK6VeTp-pPU1$cP)5j2qP6PCbL#E4,F'Q*LLRN!"4V9k
+
+G'RA%1r5V#i,QpK@Rpp5VCR+VJJ`HFRbl,Z5rT5j@c9eq*`6HqKV8DH#YFSP"a!*
+
+FZI5cCACU2jm-qYJj3AG1!kj$GGSR,A+SI5Tr5c9@IQ3aeUrI$LbQ-k[+Q9pR4k@
+
+[8Z@2T6*8a5!P3eJS%-q&44!3KSj9-)#XT!(hE@VGp6!(3!j3#J`2`3BN1)&jZkh
+
+"$#E5MlVQcqp$rbTrdTrdTkL#'((VGChh`Df06LVB2a49iU269mDj&p+)E`0Qj6D
+
+dAIB+d`GS9aN6-)&H$lmaiD$"a)CeDGm5GlVBH(d0Pk'bk%b$CB3#582S8qh8J1K
+
+YD28iCY'FIr$CZE0LLEAa1@e(L[pA%MQCIZc8,GfM(d3H($%'!Z9ZY$3GD*1483d
+
+LQJq+iD!4$hhI#RiS"4&l(m4"0eCR)69*R%@fR4h1[6MViBk1irf@+HbjUT35p[P
+
+c*YIcTQUCX&(FVi,!JqVBTE,cRGG"K[VJeSl,kS4TV@616PH5aIi)CY,*cFQ6[*d
+
+fc3`8p@p0MNlQEYCVH&T'BQLR@#!E3)"&h8`%%40[ZfRDTr'Tpj6'hJ`XL`J'AaK
+
+l*mIhFr%Ri*)q4M3erRamcUqCer,MjFIfSpDNYekQHI,TjHh(@ef9QBpf+`J%ald
+
+V0JFdXIcbklm1CQRI,"(mL2JEAj'ei%GVrEDJq1`JQrRiQE1m1D5Z3d(b"pamLK`
+
++GV0HL$p)M(IT@#Dlq["GYah6(@!*jpfKm$9D,lZ61j)a026jHRrXq4j@$bY2bY2
+
+k(b2SCRd-#)Jf2$PCK30rmGlX2HImmDhlcrR!FQFq0!*#VefCUp&kX9RVI9dCH,k
+
+XqV2k[&p+IeFqU!c)RrTX6m9EX2akI+LVE6mD!5+YLq2M@qQkmT2Vj@(me&Zr9dl
+
+%p,9[UiY`!aAVRph3dHQ8hq`NJSQAVi&MYGp*[[JCj5$X85N*jKcKrT+)--[Q5rP
+
+E$$`U0VAXdHfNd1CGmfc4f''!mI("",f'(aCHr`fG9!*[m0U2aFRhhjB2-P4UrG'
+
+A&DYdKmf1HFR$k3jdf#baA0K*,XH0*S@0#k1RX1KVD"3#XiB1+[kAXBB2R`FJLlf
+
+-r2crTCmV2Ncd`LrT5T6FYL)S4&am6B,LiNU2p8rbhb9Np8TA8H&(THpZAmDVrKN
+
+Cq68h2jU[l(8ri6rSC(p1q@FVA`dCBYr`Sc)phG@1leA-kl+M`ar6XFbCp0k)+1C
+
+ZF28qe8SG2d0aribF6TqK6XQ05Yeh41K2'R910fR"Q656Kk%qEMmDILBrl%rXXGT
+
+65q&5q98P[%Z5Gj0+DrpKSYidpXp91NbRHm-YUrDZ5qmpH,pq,re&,LeSZqRrqP1
+
+"EfNNkh,m2-Jh"J-BhYdSmhUS+14,UmEYPc&D%&bCqG-`AkBYkBDm`q+YR"`aC#F
+
+`JKKa46Mi%QRBq&G!0KdpE6`d%S`kN5ce6cSSQf6l'MpAZH,h%R`,QPGd8mA2-LK
+
+Kp9TM@dNKeIJBHkdrJBBCi4N-qKLrmCqeRe+#`@mA$2PiZ(6Pr!`pf#E4!*T4p,e
+
+-AV*e(+imPG,i9$5ZA1haZlr`dXr6UGaqE4rBa4-#,qRD+Q"$5LrYLQkA2dY$[0"
+
+0mP!)KRMGq8d'f'[@D0c9q-5(lYKl)r$`DZ+GN`A9(J!%dG(5rLlIrh$jN!$d!#I
+
+KCUl3`BY!cVm',DL`G0DRpjf&c5lb,0hF'-cAfM$P"eU9r$2SqkbjphGfp1l2Ycl
+
+p$lr@A@%%AbTpZrqEDFk,6peqEDIXlUMh%MGY@kACeK,[HlV#"UI5kIZc0hkcqI5
+
+q2&r2&mH+TeRrdV9l82Fb'FDTmk6C`6FVDhD[i%NbcE1eERXiZ,)Cb2$Ljf,SEEL
+
+i[LrR5Y)1K$jR@1GjJr3ZPiL51CZ(Ckdk6TUPA$Ce*Z'EUE9[mA0`9DHrS%ALKmE
+
+[el$dGGcD%kQAB+kUT3b+e1hYKjVH,mkIKRQ0,RDd[$XeVhkSf&!*GpQc!0RqpXq
+
+[[qliAlYVUS2pm#maL0YqfNXdGrKd1Ci[-'ci#V0%GS@TPTK""4mB$QKmV3jR#J!
+
+j`pqHA-[6PkFYS(HBR#$$Ui1G215IHHplF9Y4A'I,S,58S8CpD+b40U',bYhjhGD
+
+NrkB+2TLRqTLUjp44h&+XXrj8rQC8(FBBF`(QR2d`#-8(&Ljmr65Ic$3KfZmNYd6
+
+"Rqa%6Li@d&05,%aIqerPB[U6riHbr(Fi-@R&fm9f,0RjY"ECa'ElDpQ,*f2Yfmb
+
+(rc&e82GPM'e$b(@Vj`ER)i0Cm[H4h-Xh(2$),[KYa*JH0Ai$N8Ae1XZI"qTM!)!
+
+pp4+IDN"j)T!!qPImkIr,LmkITGP`HidXA5aH$3im@P2A(j9ZrEK`hY8AeeFSpE3
+
+%*Z3C85peF8%rbD'PGapTpd+,(fRhYj3ZBf0fq,imAZYTpeA2r$Kj'2j-2*ar)T4
+
+j&MieL(Lj&Ma[2JQC2(b9fp-(eG'2Je2!hf$Qk&$5Qi2pD@cXh9r1reZbfTmS5mQ
+
+i0A-j[`Y@#EA'NG$9kQGY*f6aZP@IeQ3pD0rpK*R@0hGaC*F')+rpmIR%H()A)C8
+
+3@33@J%DX[eF69Rr[H"*4JMidI'H#$$,r"RI6hH'I$,ZiJPKhfY8[%C0Yh5CZKX$
+
+"4l2$ZK@L9(dRrZ,SI$k&+K5UdP3"RFcV2qF1V+Yje2X*+%U9Vc3Fr$eb#I(dkR!
+
+cHMh2U8X6CIlmcSYcrhUlVS[j0PpQ+GqIr9drc+PV)ka6!FAVC)H+KS0hDaC)+"!
+
+0Klrla$&aSeD2lk6VLeV-X@-2ADe$$-eYQIT2a*+Q0NAU5kZRCbESG2`HaQI9h3e
+
+Tf&bGGKSplGSqC5KSUkIc*[BFfKc*R0cj[jf$'V619Xc[eq,cDKHNaV"pXD1leSV
+
+q`SCqekb5+M1[i[+q*6b+e+R8(rcG+Hlq92dpMFhhKl[6a[eHNk5#M0%%I$MTdie
+
+l,p5Yp@Aj8cNCAcFbaeKE%CK[lBdNkjeRe)Pc1-lEGKpl&YbrmGpKkh1RrHPpV-r
+
+i3`GrKTkG26D+hY25SDZdqhhGRZ23Ykfdr[KJGCqj1Qh9PY1G2YBecZV@Pr#B0d1
+
+d2qc&K3#C"X9YYClADe+R[rId+(aILqjpci(bpRqeXG'GQ5peXpRmP82a6-DjLr0
+
+q$-dq2EdSB0T*3,H*((f4(R01j@V,$KZ5Gc+2#-8p!K,+e16RrpQ5rUL6pAf,2eH
+
+LNk,i(6@+YfbMR$c*d1e4*p2'b+9&H'FAlYflLqHR-`J%ZhB(2'a)(eb,HALD4$K
+
+S8HQNLb2KQJj+8cdU#plqImVTFl&rY[L8Z,q%2e2aj1pJcTB'dpD5[B02)PDH$!6
+
+M6blP5NCHE%FcMrlR6riVr-a[miHVAkBlm2KLfFY'cCrLYH'-Er4J)(%R5fYU*2p
+
+pTjfQef[+0+@Ir4&N3re,BUe+'Ydeb'([j-`08kAYK%1,rm+)ia(haSKm`M))MU[
+
+MmLP$ApDVmrGkGIekrrlAr!BLRr$4lM(rj3r!9$9E$6X9UY($@KhGhi81#3PVmLC
+
+Tl+I0@EPQBmJQKkY[*l$e+'*MI!l$m9ci@dp5V-b0$64QZJIRc2JIEkqIY2Vd1$f
+
+(fEGVDICUBQIUqiXNFjJr&"fqfkkCY0Y3QGKVfl1di9#cZ1&BcpPhcT1r*dGAV2P
+
+cjHdNhI-q"K6c&TDqE-P*AS8RIiVIm@keiYP2pVmkATmUIbTr-TrcpRNbdi*f-hh
+
+!dBfNQ0NGIND2&5"ldq(1TPXBkAQPd0h$Y-0$c1`23M'emEAh'(3)mMG`Y1E[ZGi
+
+[IErl'KRErdI%RpYk1K2hrpRLpV-q9+A4VQ6-(Rer*k[b-RaqVmH[iq2MMVD+,*a
+
+jN!"LB&GBhmbcJXfEr00U1YCTQRLC1V4a&G)l%hJcC"J6BMccjS5YTB(X9Ka2E+1
+
+CrkDA`ekjRl`rRMAY6k*X0m!c+mP(8h1A6QlRQlMEC2-!4KT3G2Ve*PTN0N#m8U&
+
+EDI-mAj@6c+X(8iFQRe1(X3rFYB"mU5Y!A$KF@3keFMA6pC)@%r$Yc[4@iZXB2b6
+
+q$2d1RqeiZ*NeqTmrUl'6`FQaf0MUI2PVVNbd[JZ$LrMTjhMHMN6qT!*NHMNGVf2
+
+D`DFTF-ZA"[IK8G6Hr#TCfAmqPR1HXjLNE1CY&6le80$dq'M4kH5M3l2dF[NEJQV
+
+EMl8Il'prc)(pD#h+N`5TekD04mZ!G8a'U6&[C*5aV+HG&(0,UVCIkTeU,TGh(TG
+
+Vdh5ie5,Ccq(#X'dZ6%khrTl'91'Zh@5Gc"3@mU3#0GfI,X6bSk2kqahIGm$Eih[
+
+BVF8F@eaB+$Q*6AVfE-`YClS'QCK(5A$Q56UQkY3YeJU)-DhdH9-Ka#ZCQbXIAP'
+
+5,,Q6&i*LN!$hl#ArJdfAXP3#IZ$B1a$e6##[IXDX"iRQUha8!L!3P[(dLdBc([a
+
+Q28f*!Z%B!3$R$Fe*``",BiD$DValh"PdH&dLC0bC1$`d(S9m-kclMG6)HNk&#KZ
+
+2AX4E,eTZV&a9`6+0IcNlJFI4PH"L93-6GTrPi%ml!D,[qK3m"Y%'e@R@10j6PG`
+
+*[XY$Y832hXR6UIcFhhrC1CK'2((X[a0KaG&k8q2[rqZ2Vi[j*mH,riHR!Mc)m06
+
+@bm0(@SiF[G4k055-4#d8f'a52+-G9mbMr9BqRG%q,F``Q(+&515U-*`rL6&(@!3
+
+AE0c6Z@VBVFUlaZ1G2cl@RHd1LpU(%THTDbEhU4C1mr*FbBPK@SQ`&"2#J`d5h#6
+
+d$YiEB"'Aq%lTY(4Y5AG+Eb)Ge5NYCpl2LqT[-Lj['lB8)"5i3a#Y@%r)EB")PL@
+
+aFqPNCr224pK-[Uq'q2NMBYr33kkP[9KZdIkXqmPYjF'e&bma2l'(BjNUE"d0++h
+
+3LLk6YMbFS`HIA`bl-a@RSb2YK[mSYP0DP&BcVXN@lYqMEmkj,F@I$(Z'AJkH62S
+
+hZI&5ZHTFMlMe)92rB1R1#fHR&K1-T"FK`3eZTQUdIX5mMAJeVYXYMP+5+)0%*4d
+
+SXe82aqGM6ZMRB2rl'ph(aV&UMrmGPrrD('bH0LrClhM3IkeG0em(fFB%%AZkr'S
+
+mD[rm8Ip+JJ!QCqXh#-Bh)Tc(#+CiF[8!F!5rU6-1a9(qp&54YIFh[@af)i+NQAQ
+
+!1b+Q48b2I+L$,X!iYaiGlUJk!*PS#-),-VhbhKQA-M-LF(#&4q#2kD&8!S#A[XK
+
+c5R`eV(6bEZ$*-+qRKhHYNiFQ'RKT`Y%YKeGl*mA6kk$UY'26`@irq2AD29ImDPc
+
+U2J4mRi+heJc,`614JNd10L@m8Uq6V)eEJ6b@f#YAea40A")RVjMkpFPjEMmD!Tq
+
+##E(VBeY'rm9JG2m5(LcV-ZMYYXm+!@#`H9"AVjY,M9ja)ieIKH2TmVi5dDf%'$K
+
+R#h+T8kp#P0`8*A+R,B-F%!dhc+0,A6$dKk&(9c1K4mq,ZD2JF&6`-F"$B)Ck#AM
+
+Vrd+dK(0E3*8J!kARBKTdC1YNkeIjja&I[c*q"E-c##,EGCjr[0Y&jm9MhRGa@*r
+
+&4ZrZQej`m'cfTk-*8r(#ii*Ui[RdH2fhXc&`V'1"4[eU&'EA`8CeDECprJXd2d+
+
+IlZDp5JKVhjdrBiNbMdQ(DP3ZD!K!)p1!*)"D3$VXq$KefMUeRAl%"",[Iq,'4Rk
+
+&hLjprY"F+a90(*HbCN`%'PFq&X%ZXEj8!"+FZXj`6+3%'KBb3SU2&LQ9qA-S9q+
+
+A'Ir0p4"0`qke[PiF6@r1`iN+!6G`qjI$!5lqAR6I&2EV-ff$*j0Vc6f$pQDZK@`
+
+JLKSq9Gi9M9cpIY*Kp(5MlUZAA4!&!6+Y(&`jfReSf'f1[0Jl!T(i[82L)'qKZ6B
+
+ib('$R)pCI$J"#FK2TE*jNHYNmbMU-#'CJC1fY(a$@dM[qdDIGR[2Efe[*Yf[)Qr
+
+4FRfA)I9Zmbj&EJZ5A*9f''r3Rd*pfR"rBm`,4ZpGX-jeYU`"3'$0LV!$XNfl!i)
+
++SaC9336'YRmh&pU(1[HaERA2bh*pbKHk'M+aSYYb[crBB!*TNQ"IRhT,EK")iQS
+
+&h)*E+F"-bZYK&QN!Q'Y&N5G(SrUDG,2JbfLHcT+eM*Zj-(8bC-&E$9eX6$dHYmV
+
+$4X5PBJBd%@4GrUYkJmAG+!Lr6&lKLNC,L!*J,eAZ1GFLlMRA65rSF@lBQ+eJLjm
+
+@4&clddeDqIEXA%`(bFi"l8D)qYaMq#lp0,C'h#%m&K3JZmbCc*5Z!%I!,*0UflY
+
+[qSHp5AM"maKm6X99!5Q61`eKT`(JlkYiq4PBRFp(r2mVZ+1Y!TS$#jXT4+YkS8#
+
+!69ZQ#P3J[C'aBS+X1K$cSV0h2YjciN!*c1*`864Ar3aHEHMlIQGaKYdqiN[8iU(
+
+5kYfj-DTAb)YTJLca*D)26RL,,TKXhDXmmZPi#-IAEUe4ac`IE4J90Pk$L-drKiX
+
+2DB[jVdG[lIFHaEQA[b49)ZSa[bBh[Eh@bPrC)H'@kZ6NIq-E*UHRHpr1mcV$bR5
+
+l#Je')!mIEY2-VCK)c*(1$9cA4!i8&H5Vb+N0IR8mM*eGcip2[SmhYYHCBf@["R-
+
+hILa`i12Gj0[(Yk0[bEJV[$E94eX"XjjSF-d#dfa&cpeBlcR``HmN%NE-2'L9MqM
+
+aBH,d4U@&%2qMGrdI#rSKi[[22Rrad2)$X,GrGRk02YBXra06%PB[r2G@qmr"&"l
+
+cm-1Q*Cf-AriAF+&AjaFI*J1EV$hCFIEC'@2%e&G1dXL(Q'Y0BQeBT0e$hCHb"I'
+
+IblYd8H($KR6,dNiJilV-l[P4GGYqeKrI*cpQ(pe5!&QCSme[$E81"aJi%`),LK"
+
++mpB[V`")TA@AZmciVh[!##KhqGf*i-ZG5!hkT@4HY5[fEeiiF,fI+[5Xp@AX)dG
+
+[mb$@bqC"UCH'#(HTJH9+PlHbUMC*3UH$cb,h`)1,G``3$YR-XAl%XqkYZhT(1+K
+
+%V,hXB")*AKle2Z2`kN'p,JPU*8hbEr&Japlpq$JjIN5XI,iXI")AGM,mUTMXdGQ
+
+dVrPb[MCIP`8X[qU#$,SN,[1M(CXEDY+XqB,H9V5Vf9Y6'FSf-&MqR2`AFf`jUd`
+
+lDl$+N[45Vpk'9Yler2cKm$IZjcC96###5lbB-0hN3I2ZkPMAXFba)B0E5I,Tk[N
+
+fr,Z`3'$KN!"%0JMeil*I4IfZhRPh@#ieS-)JK,CQf6JDYf(2jlQb6K[FH$dE[m-
+
+(rl"qq!B`UFqIRj[D*P'YjKq6Aj@$dHNfIKE2SqY5hlk6SG*d'P4+fpbcpbhf#YA
+
+SC%f[iG(Km%ll%qiA4!,I)Gk#9B[&&S!PLpGci-rcHdmfljVU))"1*!)&i6m!m4H
+
+Qf-0jVj`CA+Ti4-h&!$&jciNc-QEqi[fa$Rd,[(f(j)0@limVlGrq@ajB3(&Zrl&
+
+jTV%XT&P)mhQTF@cNahm0!2'ET@,Ydq[`9-'qQZ(J'`4c"0Phj'4BmZ9f82T%*$M
+
+bSVXGMd,%qaq5a0[*-mf2+`8m5R$prH6Gr"lbEN6IIGYlZcN@E9QGjR6+Ur#8)FR
+
+Kq"cGVbYVcI!iH*`m6r,pElq*prjAq8cKl9bKclZ6iYLJYAI`03f"SIL`p&*heM%
+
+rAf+b(#+aKq6VBdPNDYR$$VEA$9Yr"NUeE-2@)RqQJ50bm0Q([*'GGphU!1!)b2N
+
+1pJS8,GB1p0hc(fB$E9'Rfac,ZTRi5(4jUUTpU*-e,YQ'I9Q@&3lJbp'1r[V0h"9
+
+Y`i1VIiIKICmSeII1Z6CjZ@lENk2Nk2*YmRZI*q5Qj,X6JqX@,!RrF*+F8AHAY,2
+
+dLAYm(BH%ZM20Zb@1(BmHlipZ5(aiI(l[ap(q#h`rJh2Nh),Mk(j,IN3Q-MhIRk2
+
+q9[ce$rKZNkNe3Q9)i1pj5dIlG(8YqVh1TmPFfq[HQCqhcjpkIFfmASa6rHEI5dp
+
+,6ZIKlQImPH##9-Zq5'FalhhlGb(bBXEZr)dH$Sf,INr"i[bNDVl'cH`f,1IK[D&
+
+c$&S4BGY"SkqMaEH[h2&q5Y*$Q#`r-XFbpf9X8JLLl[$SkfMV@pEZIh2NVQR3hGC
+
+'Nei`jdeQHlKdBG%JYpc$i5jaREAV4GrD&kaFriQQr`IHIB$1D&c1q$RI+l4G3)[
+
+3pTBYhI(ZHG2iSKMr4Sq2Sq2EmIZI(q6r)KZcf0mQ2PGAplVp@2rlC-fC`jQ[dI$
+
+LiIHU`P-Qi2Z9r+MmkZHeYIPi22CFb(S9H'dZqE0,AA$Qq2INd2)[q4S5AqA0jH$
+
+rlQmZG(0l"R+9fT&dphblR@fr5,[2Mh"I5(d,Zl-QpQH@Y1M1ED#qIj0!*I,Gi`$
+
+EB'%db"eP$j*$M4*[JhEP[bEc"#a$j85XdmQ("@Y@qmQr'S@UGIS'!Rd-"U4i0I-
+
+P0!`P`9qI(aUrU4rY9r8ScYckH4NERrqb-RY[5Q@CY9Z,[!*Ci24LSC1YJr,Aj-I
+
+*Vr[4q4AeX(h'Lhi2a6+q2bG[VB[Mi2Am(`U[*k6Nc1Qk6b-DI,KpjpaaE@Vc+ZY
+
+GjRap6iq(im2b*2N4Cp3YPj9jAf1!D2C%Q$)q0NI'Nm'$iZ(1#[cXV1YhpEXe1rH
+
+Nb)-LYHTr)Tr)VI)Jq4iIb#33,Uq(RMKY5I[cDTZrAl(JiI"Yq$Er5rdCd'FFp1G
+
+c'1pI`KHr&[mc`Ghi0A`E(a[RIT8Fld,mr1m#r0cR-dc)'LN&m[aHXLqcGpe$riK
+
+peFp2+QRI8d8hLeE)qD&S)G!YQKCb'cErXhQK$CZf9%%PAKf1E"`lXN2P(2Ieeh[
+
+i6,+bV%-GeXXc$9e62-`T'$0jh9'MFUjFhPb+jGD$K2b$AI"!ZJ3Q98rK!@!3@)#
+
++qM6DpH6GFYkQ84X@Q@K3$ca+PSjljpfNA*APfk@9jCIIjcKi#0'MdKGjBl%3J)!
+
+J#iLD,GNDrD33G!hrE%qhHm$&pL(clRa1aZ3jpeFHf(NC',Ra5[lNkR5mT4m2BYe
+
+FU%I6-)-bVKcq2"c!i(U*+6LQaFqj0hNf,)[IiY(0b1GRcT9UpDLre`PXN!"i#rh
+
+bJ$&XmkQ"$+`hTifCRhX*f,hlQG[-kH3NQcl"m33k!G09JS`eVGR+eBMd+83E,)a
+
+KpKrPGcb`"h&lmd1I$Rfmr+ciH0H9AmiPV0MG3@3cA2L*eX@K#13XSbph"!IQ&KE
+
+P#'1(S#Se-4!A2d86LS$JJ5RFZD6"$QfrYEcYBEGeFDei)$4a%!5e6JjQ9c)4aQi
+
+)"`i&!PRq`0@,Sb!Xj4(1[0&3HU!3L&,DXS'%#alK+$9&!08C3#[LXJ%1!#dL6-8
+
+&&`J&985apEa-VQ48VUaF-R*fffS8%UG*V!5k1bpE+qDPL1Aj63F*YmpT)EG@KES
+
+BD&Z,dCi)TZVY2BTmTK!peaYpq@a%J%hhjHfm5eDcmLe[hk),2'lEfH$lIEHcCRG
+
+Yl0L)c(IDISJX5J3HRfhTpYl+5eV(*XmG""YbU03em@l2ZqkZd,XARp(h2bI1QDX
+
+hPcr(DhdKQeF&LEq[AUdl0D6Tl0Dr0XcEq#bI$QBqdM+@GA[`jPI$SjQ1HVL!3bp
+
+PDrQ944))&(FT"+!8P&MFH[eAZYarkCelMkqaIra"XBc-hkl*`C2SC)@Y1q@+F"5
+
++S8j[D*!!&CNqc(ipVGaq6AeU1YAmQ#IJeV(Ni0E-RjR"`)jm(,VZ5+clTAcRXBr
+
+XBqZfD@p%%%bYd+Ch68r+VFbRp,TqVl4ITGfL,-eDmQjpRJiC@CYriTAbG[jPIF3
+
+IA339CY@EJjYAMlc"2a,eBR8mf(9[mf+E2e@iDUYfU4f+T8-'AKNfLm'LFmfM$rU
+
+Cmj9&FUZ&@$XbhJZmQ,NhI0Krh3m5(fi90"3c-'#Ka2H8ThYeT@6l16+VHc0PB2C
+
+QmBbke%%bAAml"k0IMi2kK-8b2pPkcBKLe6%1"4a+mc1`H2M6Br$6,eId39HAGjH
+
+4*PFZ(kYhKf`c`fLAB4--jH!URYDFH$1Tr@13!1[i-keI`(%`!51E(0ADV-ZAMBP
+
+r!3(DfJ6d0!jM4mGJQZEK9D%#XrTj+eq$1-kU(UlpA4b*+X18jVP),m64$'lZYk&
+
+2+V'%h@bUY["V$,CXSUh@YiNQ#h!CSJ46rK"$B18Q3Q2`l8U93DbE,@A9*PZT8A%
+
+Y`FkaCVq6-L)'[NV!j!CJql-ajQ)39JdR1JeDr1SmRUq64mRUrjFRl[9q65j02Np
+
+9j1Cc)0*8IH6(UJ%j+$p"cBi1ITF(5c1$QD'B[8*AiG(QdqCPmf2Q9qEer$VqA(p
+
+rU14ArESm1M`ma92YUE5qFVVBMji6%%Jc-1Cc,2-YmciDRrfTALl2K#RP1ac,[bX
+
+m"'CmUcc,@iYp2hUQrQcmD5QApf@INk!6,eU-c)$hj-Ib9Yh,mGQ-XMQ&kJ%Xai)
+
+cG*Ji%FV1k0Hd5qQ2[K!0E[fabVp2"$8bUP[JDdU,Se4rI[fFj1-F!N&QaCXB-qT
+
+qY8XF!l&qNr8D&jCeJJ%!LN8riJ)E0DcpLr3'jb59YE"E""PF#h+eZMAK*!e3Xd,
+
+rKJ%S@3$B+"Le81"3P81MMFla$['[m5c5[hV2*XaB,aM'A1"HP5ZMA8T[MlZepF0
+
+0C!'!2"CUAkPRJ@C9rSeBp$!!L[kPUmm0"G$J%h6SeR'$I20XfVrH!%3&GjJ6'Xl
+
+cJCXVXqN9%&E1TbGLCiq$$QkeEP8m*UfRGG6,F10QAi[S,YCb-Zi2ai+HE*hP1j6
+
+lbRQdmeB$PIM4cmL2"aSTH$,6A,4[BR3G-llC0iM2JJDq@1Qk$((--cYAp%"[(Ul
+
+&3#8XlXrQ+F#[CR)",pI1P@1Ql@G[[rqX6Ypl1E5cURDeh&!$SQfHel$p1!MDXjL
+
+ViBjqjpUMmp@EqcVBRaX0DENqPNqC@jP$radXh'aYTreaS)j6PFQR4Thm'66V9N!
+
+Q06aX(5m2DFUKQ[""3KMVB2"jGD2*VeSmD2'Vp,bpTbk&H1$Xf%&'Y$BNQm5r"SA
+
+p#!`)+ZK9[eB+YbeFrC83BPDGB0iZrJd,@J*L-"S,3)1cD0i%"$0[hjqK2*,#%0R
+
+AbprZ%3*Ac[X9ZABjFhmPrPk(,d'!h,`Dm!S,Fh#N"JV$F#ED`B,5!5EDQi+X'eZ
+
+E@j'i8&LYUCmUEG[f0#aS&,C63@B,2EmDie`iRL4a3d"+@@8jCd"P1r""GXHHQ9J
+
+%"G[jqKfQKVhk%%GbaFFMZ9UGLQ8d+HKKd+0r-d*0rQhmf$0ZB,QDdGbXARNf'r#
+
+&"E[j@KEd2(`6i)VQkZ1A2PBL16FS,V8d04J0I)CREkPaAV`)#,l0e-%V3Zk%)))
+
+G$+[fi0B[[9)!6rV81qVeTe2"@XdF(R6I+QqGYI,pl`0#8[pl-Q8DpDChf$QjR+i
+
+20PdCPH[j8b[-U6"U#`Ja$LF`Gp0VB+GUYDSi+pUMDVi+PVJ@T9T`J"B2P6+dI+M
+
+jXIPA-!%!J-6J45ZpA1XVq9"ISFV)VDG2)V8$P0J2p`K36*@"""X6d(P8k9DY6Se
+
+U2PBrR38B+pbTSJradLpl(KhF1H4I&c3#8!BhTRl5[N9C6QP94SYjaS"-bMJTjR9
+
+B2NfUArh5PBkQHSc3rY1YQLhFeH5QEAfe6*!!hXhSed+UG'K@Qpp3,2!H+M9"$N9
+
+mJ%-e`rdqM2V8ZqlAQc`dHBR3A4T9k95P`$ReBS+0D2[XjHEI1Sr3VeU1CAX9)q"
+
+YC@ek2mpB(K(Ur3KS(AcLBH`pET13!'G4d0P*3j023J@"jA%RT`Pp1TebQM4Vm'M
+
+&A0bcJBikrA*6KV#EdbYJjA5eUP'`)IfpHIM6qTTj[CUMiTYlMAT4lRAh(eBk2")
+
+kihr`d,06GHi4$i(j0aVdh!r[ZK-Ql3ZRNjXebkb$hN`j0DYq6*fZ6ZUhS6FHY5Q
+
+kH$C`6EN0c[9(jS(K4*mITfPAkpDYZmR*kLYAf#cPRJI1Ferq$qbpD%+ZKXkqV-V
+
+BjFIij9LajY(akrie4hLELGQi2$KcD1$l%%Zd6r1"3q40i&ZehhaelBSB0a,83$B
+
++$[P%&B!NUe+q1c$-hF9FfViGE0XN0ZYDQJm[r)JI""4h&(0Vq(5,pFfH,@pq4+i
+
+'*mLBr"!+XH(6cEB3"NEr)YF#CmL(J6R""X8lMkf0h-IMpcqqY+`!NrPaHI5XGTe
+
+c,mELM(A2"r-dqETkRb1,JeG2NDIPI)qKQI3`HFerV1NLjr@C'Pcdj58!LmU2(Kj
+
+FAqpAh"[b8U[J3aN3Xr"2lSrTTj[d6k8TY(@PCdV"r6Q@X(fGlpQP1VrCcTf$l0J
+
+"dr0lpF63c%[3mEd0$Jq0pQ)$5!4!*hh'T4E[qTVjEFd-LKZEq4$ZDYUad@GMiCT
+
+AF3#3!#`'*@2JqlfZPSH6DLlElYV(!*&[r*[D&VUCA45ZY8d%"+(Qi)B+Spjd+h'
+
+S6F&qKR+rS9haX*2&TlrrRS@0r*SHI[rd[Ih,0MK8E9'9@P8GNU2k-'@#1PSDqKP
+
+MKQfJ%d,TLRmb8UAfbjdc53#B1GfXVYIEpp1lA5pprrVfapprdf1af2YS2r*PkX[
+
+RH,bHfr,Dapr&ll5m6JfY+9bC@2,FM+dB-V&NRdTq[IbjpfIE3#6lTe[1%p,QbKG
+
+cDFda$HE&6(F91(Q`mU+YIkIBU)0KpZADaIYc`#Amde$q02cCrqHIqa2rrVrl%Y4
+
+"JNKc)[mZmr0TE65pM5aVhq8(PG*YjAV5a5hT2UVBKpZPFb2EA-f`C&`!N!!PpP&
+
+)2#PSidG@Mj26rhe6P0bIjFRcZTr,9jf4r,Nq6$`k[(X*8&Q8E&%TCe6BIZ`9ITe
+
+HCNI5!*p5'$)d-p928jbaiccBJ#(Xj@LSJ%V!%TG1Y`UQ41Iaeik&#5CF`Qe2c)F
+
+-@R&RceZPCZVLqV5XlleCX[&pAGeIJHV2UcqVaI5RpA2b*rkEEm-A2KUkA2d5dhS
+
+TV8BG&eD9X['LU6hXQ2L6GXA$eQ[T@iKIqIaqZpP`3BCqR2pUlS`p#(4aYITSrPH
+
+d6-I[I!XdI!B3E6$2JaGIaYHI-aGI(hhAh1ip['lMDA,P5Tppc[HSl55p8Kmb+2h
+
+H(j9(DDrZU1,Vck2`*+D+2E55K+a[EaVPlfk%VhRYd2CklM@rCSIIa[Jd2NGJiel
+
+K96raGHH+IqkYlZlTUTrSmbNhVk)[Q@kqVM8)rSRBaQER$(CbEG(m9,4l4BUP(1S
+
+4q,*4QlMNEcp(*peeAamRh@4qMN6E@kd1(YPNU'C"KLbVpLMp1P+bm-Ii"UdF-FG
+
+faBfbT2Ll-HK*S4N3c3m8!J#*ZK*i['lAkd#h5KR36GT*`Tf,aiF(@mRZDf,k-r@
+
+Rr2Rkf+!CNr`hhbjr6AriCqG2jrCC2EqT2qG2p@INd)iIM+Kq32&GKqAGl[&NaIJ
+
+E`fYe#(Q43`qUT3Dm8F8Gj30&Vl6REfjFZE6RBec'!-T3DSP$Uq-*KM0Qa2ZpMk[
+
+EmbIc!SS-9XM%Y3'#NZ@GP3pa*Tq@CL9%L"kN6400D(kFA9AZH!Ej'mjp[a'plBG
+
+E&$!Z@fb6im%RE4G0$lLVdbfAd[f@lR8bqd!QbpB[G5fJ!)D[VI4LY(TZk[fF6'`
+
+G4$lqYMGp(cE&2DeRd3BdP!lQI%b0T*2KaT-Zafq&&f*qGLeU$+IdS[l8d`lfJEp
+
+4MXfe15J%LGph0[&6[q2LkX@#IUpPr4Fk2&reih[SZZLQ4,FDq0pc3dHXmR3d['q
+
+lS@1XiZKB`HIL6+r&l,LamH[r+fcGK0-2#GZf48NM0FVCiCKb'Mc"5IPh9U8&3bq
+
+P4$Q3!*Hq#EfI$Hae-rR38keImFhPCpEFmUR6k6QbkHdTq$cDH06U8pmJJc0AVI9
+
+LXl$eFbAeSeCPpAd3eClkVdrUdmLQV9h2ZGEmf+C,ipM5l#5KQ`DXleSDIIiD2Q8
+
+SkD-hTQqNh3cpf*cKGC!!iZ'9$1`a3r$`dSD@&1)EBjX'jp@PLE,rIfhrQV4kRq5
+
+91a,@dih`m6FrNUD'3Xh(YSFL[NmMCm(3r)A9I"RFQG`HQd[NF(*dU[r$)9Kc-Qp
+
+G@RRjR[X(@$VL@A[-9EiG1R@UCY96[d[`p02k,lfGCU@k2dCfMdAiBG(p3!Q+!6D
+
++)-cJpKaBTZbjfE&e[*aZ$+La2*RmR[Z66mQ2l99FG(-SKek8cfFbMZZK$4f''GV
+
+a@rKkp2P8q0'YFY""$"X-1GTpD,+l$q2T2j)B1qmH29UmZPrY833GKq5'CX1GRA1
+
+Yqr$ME+6Sr!aZAqIrK(jFGH0)QT(aVi,P"'hZ2p&hRHapHAj8cNF,pYiimXiZ(Yl
+
+2GF,i%QRK'VH'J+%Z[2"Q5MYkVFNq$ND8QPBLm1+a&JLJb58NjTR'E+3(cJq`8+I
+
+MfVGDT0cm'bcU@F[-0dRVGGYkRSjB"0lm+Tk+DkGRM@16+c*G(CUbq#qjNrjA!`k
+
+0',A4d02ip$M)C5V4Gj!![)Nb)pl*DmZG*lQjdhaFLaDZBRKcB*f41b%%%k5G+"&
+
++hTE!@T0RBR5EApc)pQcP*afX)-JmmE2$R@HLjmfEdh2b+0VdTfjRHP1b-4@6mh@
+
+b)kZYP`@MjIRC(ZC0V"NIcf[Mc[k*hb*hrdJJk+6*MbC#FH1@HM[iQKlUrL6FQ63
+
+ifcqY04blXCYl!36k'd`4@[&`8,8r[1QZ4Gjm-aV9JYl'MIqA2Yd2rcDAbV6iZdr
+
+EKSimN8II8l&)P0*$hdGPkhK3lMR902FIMUChKrDUD'jp5RLEMcq&S5P9HPDpiFT
+
+SjA+T-$VPAhJ"[ceFYeM0)3#-#+&8jTB1NpDEb-65fDDPZac-FGHGa*ZY,&rMRmc
+
+VrHkFX5[Pp2KcTCc"SClBBCF[aIDXq9DUq0VfH,Ceq%!5caH&VbPmQT82L9VAID(
+
+0lEPH*@d0AYK`*[r0ppqMiQ6DQ`6@-p`U1r`fD2MBG$QD(b['!9[m2#,V'CaTR'D
+
+iBT59ZeXiCfV0`i!#68!Q'KBTj@DXC8L2(089KHYSQ[@-1d5QENEh)UC%TH1RBHP
+
+,eF(2ReHRrmH,VG6q+V"e1(*dqadmR6PkE49E2M53!0#+5L@(2d-0A@UJ%5'2P4`
+
++mif-'mr$5PlcqfPRGMlqMpJ3h0apHR,hhXiNhB)dEf)Ye5P8Ve(ZD2)cGI,(k+2
+
+e8!Q@Lr@aeF%KEX5SrDbS2MBD[,kR+Upce2mq9m$Tq4!YHE0NSQHYH&Gi[UGCFq$
+
+p6'!3(,qT%j8)QLj[bGADFkIc,[-aFMXCIF#A5*I6jG"8RCD@B%jISGiHV%1TP&G
+
+B1&UC1(hkSGKKVec,XS6DC9,VB*ZDF!%h!mU83NqUcb%L5A3#G0*$Kh4%i0NQ6G-
+
+ei"qBj)FA-1%9cH*0SG!)p*qlQ@,pM81rdeH1lrfk0r4cY(1Zhh*aGDcCcHK5QbZ
+
+&i9R&ekFbIl%rakIXDHck4@V!KZeh%Q94L`hDU3SGeIlRl'd[PZ%!4cD)`eV"q+`
+
+r!,IME`TBr%`p8J+,Z$`JkSfGr*`S+)bbZKQ-VAYdjr*Rm@JX09'0U1'ap2KFb(k
+
+B#$b,4%BLNp$P%'G2MTAq&0aH64jPRpUpqG$rRb[jlI&LfXq$'B3G#MUfHK`S-Am
+
+026hriH%2`ZbNYN@#I6K9TdAQNP,)28()!4)RHe%F&Yc3Z@'KkX(MR$NS`*NBR,(
+
+RfrpecY)G1(qpSDY(dXrFhG+'95p5a(Hp5(V,RiVF&[biI,LU+)2*THRS@Z&bFAm
+
+G2bY$QH0cjrmhBmVZ1I2TckFpEIIE`cm1hU`iG[$Zl["KPk1bq[+&RdZ0'ZGSCY1
+
+rRRe"$6kI"RQpV&0-f1DIJ[$S,mI&c$&CVB8dlCKa`l@rdQ[0c0TVeE(50bbCH#T
+
+@heD$*ZeUZ#'eqRJJf@[0@)QbRk@FdS@9eL@TM)Tc"4kdcN19KP%%fM&Pi+44SJT
+
+8GlPlfP5Vje0RUqFBP8"X%6T4l13Ar9QmbEkSh@X3mciDpFNf$FekXl"rTPF$"aU
+
+8lFqlUHppl1l#G8ie5ehASVGDq(F5f'ZB1YJLVGE6Z9SS5M6m@,*Lm,iURI[kmFf
+
+T*[E&6@!0"8`e-1#$h''CU6&MCm+MfdRDk9VAi@MDel8ca!#)#,AYfIRF"E-[#K-
+
+3NC2H,D!4Uk(Uq,Uk(lfKiHK"f[-q#VlD'c[F2J8HZ`p8-CAqUUIDkkclf52p#Tp
+
+U22lPD"p(@SfldP59eplUMN0MJkq6hX3iF!*ljH#H'(,fha*1[LplIUEHp@UC2Ae
+
+[Hj05Ye%NG,Z9K,0!@hdR@NYMXbAK&-,KMAlfMdq'LV,j1N#Cb-FmHqieqZXE3!R
+
+FDm2Qa9kG+BX2C+J+0I,&+E$MeZX-,6(-dZ[a0M+R0ScVe#6G[JeTq,JqMYFcU[*
+
+q"&e%@ra*r&kM3H'!h9,AKeGKKm@RLHe2TdrP%b,j91A`@PTS3()Vb8SGcKT6pb3
+
+EYcPJ%jZC!d$C`3'krMkkEEkhm5lT[HUmDBm'E0h(S5ZNm2lq0RlMcr#QB[l@0Td
+
+U6i8%0E$6,!G@'T*6`l[$NkNH%SSVHkX3%**"R`Aq&2Xl[KGek[5Y*6I#!`3`i+X
+
+rhe$T6NNI*$M`d%(V9j+2%h(YdHKdr3TfHRp,TqKSCf+Z)Na!2MR+"cDa!)qGiLV
+
+bQM6cF(P9r1Sm1[cDrPCUjGmZMJNak-bYAd0R2kAPHpl@ArXbrp#AHQ*UYi4M`QF
+
+@`c%'0!25k6dYPkf*4PIAk2+I%hjAkRppV)r@r4a#'eAieLeAif0+`,mK1TIdjZj
+
+jZiff6c1Rk'iepbBM@EQ-dqF-raD2&VqGZ*QjjHiSGejm[CeH(9d1f8lk[LCSf!J
+
+k6AS60PVha&9EEkHlRkHh@S3a!6r-kMq6IrPKPGEkHM1aI6Kiq,q3!!*q9A,X-2N
+
+R&calN4MeZHT&$8+@0L8l,c,C'lp1hc,IdlH&I`+l3X8$*IA+44Me09a'r19mhUI
+
+8l(QG6kZ9ak[-kRe1j9Yl&kd2mN2ThI0YqRErNZHXBqdb(K8$AhZRaUj04Ya(`rF
+
+[@bFDRc23eJ2Dd"[%XlmL(LbH(Sl5EhKc+'M3qeHYbqrI""#'p2KNqBF0!`fMiG2
+
+STm%'CENZ8VIXRLrl0#TMHhGf-%U"aRmMRHEUSF#Z-`1RpG&k"@MfcZBADR`H92V
+
+ip1P6pjEaT[[+(Z18SZpU!bb&IZE1RL'e+G"92dkfK3ckI(GJX-3#1rCZqVAbpff
+
+Z#1eRB1)r5JA!5XAT,P8XEj0b5pNk9rhRarLmcBC"Ya,B&6+qZmXc#ZAEqVE0kQ%
+
+2"3Yh5(Ld*``UGHpmZGELqA[0Hhd0VUd1JIPI34SJJJXCdFFZr`SFAGGCm(ZZPfR
+
+9p0ll'S$rVDid(6+B#L2r*f341a%h@5Gi2j2H!%Ld)V%r`8%(CiDHRLiEY'F58Zb
+
+`fpATYHJ&N5bL#-k)0KKm3+l,cVRVp0TihV`k',l8-Z'A$YP+$K`kmfD&"BLeP+$
+
+$l`Fe6eC6V-dq64eCAbr&Pp**2jQl*AP#$TYI'5L1!4X,5MS`kYkCL5k(XlU$JIK
+
+RkIZr`Paa-*ELq8ZBA$N(3Z`G%"VX[`fk2Zm0"EKUK5Bd'#4Qc9H(iF0I(VacCQ#
+
+1%h,+9$C+b!Q3!'bfmbIJp'2i9I@Mfqi1&EVrKGIEplip5T`8D[LlqhMeZ$m+A2S
+
+EI"k1KTm(i@CBi0[3Yf,R!AK'Km1YFX%`0eK-!Xh0`CT'Ll0C#m*-&1K6$Pmb$qh
+
+,qR"U'ET-,phLNH082`jNlf,qbPHT[DFVmHAL5[8bmQ23UHdHSHK'XV@''DH2dSS
+
+e`HVPf!%*)EURq[ie4HD5,m8fcIeGKcplSbXlHrDPD'pd+K,jU@+rfSe3r4'6m"(
+
+HJ)lb!5![TXr6cl@H2be)$RcFl"S5ZH&"c0leX%!D!H0aSDKQRr2RC'$qf90hZ4"
+
+rLTJ,%GJ-%mpie%(2PC'pjmVHEh)3#90i8R-MHfUL[RBFbEQAj*A-bcBr%#!)"p"
+
+8b8P-U)*FhAF2"p-+6+bi![[Tamc,qQaJ)5'GIp9$-3Db!3-`@`CmcZH8LN"V3@p
+
+l*"EbaQQ#!YTid&$%"aCh2[kF&8+$8hYj`m'Sp2"+r)Bc[lH`pH+RNIMcmQ9kPl*
+
+cmRI&i,GbE#8Ndc-CX-1()NhmVhPkV"fYh%XE@l9X@DUXrNPl`fpj*CXEBNhGVKa
+
+06DJ)XiCYMDU6df#,RrSj&6Rl9,9QX"`pc0V$N!"lAE96I)l*)k-0J-,GJXHABmX
+
+EUm@+aNj0KV[UCJr@Tl'K*0MSId8q9"qCFR8YS"h@MMhBQ"KRbCieq1N-HGf%k5b
+
+D09(NLMm9p6qf2#ERcE%lRp**9XeH0[1NU`1C#!Xl@X6EXk6"!BKfYdDiI14qZm%
+
+&Np9bp0Ga-ZVNU`C'6NC'9"fc##l0K""BQr6`C%h+Q`GAK6GbUr6b[Q+)0MU&4G$
+
+3h,fm()X(`X1MUD1(i@TmPRVHaeVYZaP'!aEYkd881GhI2dXQhcZje2#P`0LjH[G
+
+plRre@05p+lIeBFQ,e1maG,eEH6h-IbFPFG$BLkeM@4(e`Yi)G6Zm1L2`1j`r*e*
+
+5V09YHRV8lI6b9XV*Yc[R9F29KfqVeZ&V8A#qPhGHa#&pBYr6Lb)FVZi$HU(m[Fr
+
+6q5[[l$aDhp(a2lF[Le0#YeNF'iN[dYRVd)iil&MDrZZ*1AEqX0RG63`S",qS0D3
+
+##$R*ZPk5'VHclHTFPA3c,@rK96eSPdE%Ik!%JZ9VNbmXSkpiF855T)8[pCKJ#r(
+
+**0Lr9#FK3#"@3cDSRSX*HDUr-drkqrN[fp$@"BHSFh@$"+B$`m&c-m2i8'B1&G(
+
+"SfVQ$YjY["EQkFhpkFY$-hLDq$lX8@22JSGAiq6VH$ph*j2kAhi*qKSk'L`J`Fk
+
++,a[4d,IMHMAj-I*Vr[4q4AeL'Ep`k[eGX95a4JcrM5H$Km(8q,KcMdlcSHc$5Cc
+
+#$Q82MTPL'Jf2fZiKq(G1Zk60Ui0pQZ)Jb*-q'9I[6bfZRhVi"Z6FNhR*RbAIp$E
+
+p0AN@-'`q[HaiYM&jpkh&h%9ZjEhRGclGhk,1fFMRf,%VRQ0NG3jFF$51h,hNN!$
+
+,(-UpXJ8%%UYH0D5+!5F2EDjFhRKJ-D$alLVXFq59(HbdcNM1DMLr9ZIalbT&mDq
+
+Z%V&ck[PjraS2,ZdSI`3e6M0qG$9Yd-Vp#''lq*4"k&@cBdi-&lLaBm@0HaS[[`m
+
+%A2'5Glb9+$E94Np+[ASBYY&+$`6BXQjYYjJRcEUkGN0RUC,&Q#"-Dk(AZJ%KSh*
+
+-Uc$aEc1ZBDZYB,XDlQ3mL+5rb"H2N@m19b$Ri@pARqrb12RmHA[l[cXAeBG5lai
+
+[Y6qCEiq9aBH2HAQ)1Yl@cjm[6ZrkBZ(2iS8(qL(alIMjAM`r`AIrPckG2Nr"i(4
+
+l@IbpafHG46c+KrCr6pTC96UF%S-!1IM,E6H2eVHYP$5QmjKE!JQLJ')BRQ)Ti*Y
+
+caGje8@KIkCi))"+!dj!!X)aaCC1LJhJQ0I@TBSJXbX0l3)GQ'p!E"9LjiHm!0IA
+
+ZP33#LTHP+B$$$&&*EQ"J,&eS()iXX+r651"G!*!!MFR+K%i'I-dDTPCbND644Cj
+
+4DqG&NA-rHI1%c()["j2Ai1,Hb$,bXAGD+T!!fEF19i!fApCl'i`ADpA)KVrTd[V
+
+je(CHXG2Rj)pBiN(+a9AHjj@-ck+m-e''aE[kdZ&Y"+rA6ff3!!PMmYMNm%!PMm[
+
+"!*SI%d[rmrJJj2EHc[r6cUACrhjR%hhjFcLGYrl@`6k14Tpe*NDIAkf*Midq2@d
+
+1$-Rp02Pimb(+FDITCAXmQCJ`FQ[V([cVBm8Z,"pqC2fEm%&MM9lm91G2Ra[h2cG
+
+%$d,*)*6%,El!I#!qa4cUrf0cje'IAqeNkQRRHi@4Zp%"mMCelf)E@9q1jEKY$Ek
+
+`JJTf1RN`@+F0BFBi05eH,D'lJX$Tfl083BqZIf(V*'Eh+XXpPkc''3Q&6Ibc)+r
+
+V`C@6$6q1KQRr##aPP6frKJXEe,NiFmha9%G#kNhjVRV*Ga"cM"mHYBThD`rIVFb
+
+Vc,r-QmbFe[hQ9YI%XB#$UZhH-UDeX)$H$eGTHpH[Ua3er1LT&"fPAmk2k&Ik%IR
+
+B22SmITeD2iq$%Qc)F5YfA+b6d(bHE-Ti-25`e2(XI4QCUL$(1bM(aSX(hFcJm(5
+
+(Fq1!3!F@*LVF06-H29MmQ[b4i0j)"1648'4Bq*LB&[1,q'cU@IQArDXKf,2i,2i
+
+-'%c2Ih1"cC8[SfDIiG28d`33!JJr"Ir"R(0P"qj(cHQf9p`33kPEjQRl@566H&q
+
+#Mq"(cGrpbEcG$jQ"4"J`CZR[Sr%lQerMJQr'@qphmh"1,lU$-CQraDYR2*8pl$B
+
+3#8EZCQDqE3XhlG$iEilIL(EqI@[3CrKhVQEFcEPV`lN(`f)!I1f"X!N49!*G`jN
+
+1DAG&[8q'TJ*91qIHq#KYX'6M@X%h'VB+G#YqFCrP#R3833AlU@q1fq2Nf,3S"6`
+
+dqC@jP2Q8qCA8S,T'$Y%pHcq@lj&Rb,2jVrNC2jXRNp[bCIc[FV"I[5)),f4D,Yf
+
+c4XahdXGap[YCHefhq+N"GdCQM9[5D0Ulap(GD-&q(UC-QhfqYX)QD!ACYQYDiph
+
+cV2(ZmHe@XkYrQj1VNmhZ0@A`rH,5eZqRSC0V2ZkPU9GZfBE)h1bBFQ(YkXZaYPK
+
+2hGHcM@IcVhhl0blm!dLqh*cP[*ZG[mlB4ECLJJXmqcp#lp#crfZm1cqhCr[[mE*
+
+if6kREm@AapXV+!*DaCZKjL62D,h#r$Nr#bG(Yp'ArUpiZQVG[fFkcm+lTfG1l*C
+
+iPRkerbmRbmRbqhqY,iMKJ,&RQ@GDlc,)Pd%9bX&,*[j2,I%!6cLG)S9NL6fBE8P
+
+qMNjQ6KlM1PjffAHcZjPR$D0lqbJ%JXbAjZ60bErEN!$ffc*J)B#rG3#F1c*DR"`
+
+2)bISp[a*IXlC@m"[CbGMp$*bm&M0m`"P@Yr@04V&1aNPG9GK6M9jpH2"aSTH$,4
+
+MD[,T8c6b!*fDN!!2SJJ24@[KDaTZI89hr-Vc+hBeTQ$XCmc"P5jGImFZAMrDRk'
+
+2pV%e0fYhrAipHKARB05[Pc)+q(SYH%qUYPVl,f0Pl%aR-&b#e@Z8bZE"3`IijZC
+
+hq#jbMRcQfU'r@HZC`N0JPGi*0#aIqLI3h&d)lmF'eZE@idlL#YkeMq1EbVrUD!`
+
+YS!'3!"%(j#L'U`!3"ErcG1rTk'RIrSd)G#(3bVpZ$@)!$@lpfY-X56CPqlS3D%P
+
+rNK4!XJdlREZ###YIXCdfrIcY$1d,pq$3XD(Khl%&JZK'J2jPE1XH+0P*qKj'KhZ
+
+$b3KJ@3Cec1Z+S!#$-XI0RDPreG$8d#-hS9G#VIb)-LjDZ,qN"S$"dQkQ$H+1TKq
+
+c3K`20ZFUiV+#'e@eXq1G(IeY#eS&I(3eY"'+YEYpDiVF"09'[VSq%LQG2kpLNfF
+
+'J%T,`Tbk1A4Qem&V*LYE$BHY-S[4"R+k!F5J,pmh9FbrB!-FId&@j$Fr5@Ka0VB
+
+,%!"DGUYDJ`9MH4'pm")RZ0GrZ*`AdhR3GErj`F#r"#%!cJ#R@Tf-"@iTk&E3B$!
+
+'J`A+GaAN%-GBk(T[q0q23Md'!`"S)lFGY9S)CGBP[K35D'RSFN6Q4%"N&"3,F36
+
+D*ZVFV-jZCbSDf,jABqGNq9NqGmEb2GG62cIKVcj6+1$Q`GpAV8UG+YASe+m`Lfp
+
+,8UF#aa0QfM[4VmfMhdGD[bScBTMmi!PH1TNm$5P8A#!0p@RAV&XacB+0H[53!!P
+
+5[`+8TQF#&"-lk[cCR+`BCKXiQP2jdqT2i'cPGDXcm,#rATc&)#HEprJH9-VekNc
+
+J6*@"B%&%3"haT+dikfA4#lSjBAmI!*!!MdDmqC1CV6HqS9ZrT`9X(P5Uqp$L9+Q
+
+pi%U9X(G6F-"8V9+G5Yfi6NbMdGI'aSrT@-fBY"S(p)2r4#JVU8&H[eP6V!lq1cC
+
+q'Nm%(AdH[VS*1[UGI`,NV(ACem1'+YFlkj@TdlJIr`km9'jAZ9,R!TbVMA$m24K
+
+Rk`)!#8DeF62VNE$J6C8e5J0*krMmV[HE0)6qfmUYjdhbYYjf6jFhrP"a0JT3(CP
+
+@cZqQ-bISi!d%BGq2J4m6Xe+#[b+20Mr((cHV%hqVmUMjh9LMq6jI9rmU2%c9%(K
+
+mLhcEIilI0r@j9bYESpajhbr+YqGfrPp[rbZ5Zh836p'2QfLV*2li4r4Y9d+5e8Y
+
+F$"+c9-"+KV9UrI#VD'pSpB)!!)U)1RF1!*[q"@mi3qL1d-rA3cmU[dEGH81+*!I
+
+$VGN-Rd9Ea+1*Aa+Q*`*r%q'TJ!m(0m!1!M*q-9IQdHZVc+Q$rP-P+Qr-P8G[Pc,
+
+H23k12'lNM%Nj3!h3f@[LF[%ma5![L(`#8lpDK4m"6!5+B#1@V0mG-LB!eATJ%$Z
+
+6D1cVqkUC(!Xm4N`0R$2$3CR0VdjYDD,0SR!+f#J&C9AakPZGHR(AepaPGYpA(j&
+
+3JFHm6G(2mf`INB2adGaPllQc-UE0k2+k6S5ml,4bkJqGVAERm-HY[YDCVE,ajQV
+
+dRhS18KHd)EP$mkI3N`3j1(EDeE$NS"0E*eXR@TrZ-KfM$fNQG$qY$R$RU#63QAl
+
+!pHQD&[j(S0HqBprV+2"Sij2EaqZVra9ZA(bkrqR%kr"rK2f5ppp(GdG[Jfr%RbY
+
+[iLkqGUeiQ#92PB*92h$PC+9REIkXrPp9r0$-aIbE6f)CQdpM'Yl6f++qjXb#1[Z
+
+0D-f0)UqPRH$r9QGTJqeTDIJrMc0$"jl8@ZVQ9H&JS`)[T(mD2"(FMZ@2MFA0QB'
+
+q$B1VfY@2!0C`-1L!"'EBB3B*1$Vk9M[2Ppjm[JhE&(YYIZ3#GYVf3$198[$2(r`
+
+i"CNAp`%!I"-Ei-QE9[iVS5i6TUPlr$Dp8J)iG#(IR6a[m-(NE"AcHaq&PDQpq&5
+
+cX[jp,1*BI%lEfBH(dK+24N)JJh0LTqp8q,8XH(qmGXd&52FHA8mZTrMiBVj+9Ab
+
+Vj'4mHV-kQ5rbmMqHVbmMqLVr$NIkk[,LpZVLpSZ4e,imVrR$Ua@qhPpa*EPA2EZ
+
+6,Q[Ec1i`hjH`5flf2D3r,5YRFelRb`0rQZE'jrkZI`A[c5rRE&19"&AD-'iqVZ2
+
+UlMkXI,h(eFM16XBc2+Jc0Pp9!rQ9j)kHiSC&BC!!4H*!%e6XVQia'[CGNpVHIRj
+
+%ibPHXNd9VqKAFFbC9m6CYq(aD1GB[c5J[eN@NBZS)YBZ&FU'fmiMqITC'PcqlXD
+
+3!%!J%I5!839BVpl*L`p0ILXpCIdej3BEHkAZYa6K(aI`i[iI&!0lV6SI3h@Vh%N
+
+1L,Bk2@XfCmb(Q4I"Zc5KVjRZrpN2QGErXdHCLr9Kmc&r0ZR+@lPV(#CHTMflA$i
+
+@HBkA`Y(4Smeb`I*IiFAE`r[lEm&$pqKrE3jP$8U%QUCUG-[BFF"IL@EAEErqqcd
+
+Qrp,aGc[r5d%!QjmA)PrTS(b)%E&TXfJ*qRHqPBjPMQCre,%&l)P,[((3Q4d-ri'
+
+IeqIm#aQAC-r9X5@!#AG@"S5fVLqV&CLprJr($dH,kABpAh(T6qVa3#6mLHK2Ye@
+
+*qIjm44,ZIh!3rZKiFA(RZ)q$Z5S[9['IR&BhRUh-mTD`R[Em+IS`X8&'(+aC*p+
+
+rVcmZIGl'hfpfIERhD'%4Sj-@4+SeKc4eKRj@'jFLrZ#8L!-Z@V0*3PB4Y@UdcEj
+
+Sh5qkj&EN%m)r5fM,*P6aIhAJF3`lb5f!`d@3!"MIkX%%U,m-qaGiSBEPpPq6Yri
+
+mAmd-bI(M@i9DYjP(VF1,q'ATpRq(GDZ,Kf"Z*iZ(iIP8r(MeD2i%%&+2D#M'E(Z
+
+*+G2SX1*6aF2b343kZd)Xb#$0QGIFaIQbq2BdZ`NS5TRXc6STlh-TDp+C5@LYQmr
+
+V-L(bj@KQBGd,33&3f'am15MBT589eGHcr$ZaNaX2`jfReSbSQI32kL6[G'LFdI6
+
+UbHhdRAFED53'prefCMD8cqrCqAMBha,NIq&Ak&,&8i%[VGH+RXT,('l!6SfAf0R
+
+RE56`-lFHM8ir8GSJJcV@lXihQ36Gp*ePR&r4P@ZLm',YHrr3TI"h(jU+V2@*[BF
+
+lhRIE,l@IBl$rHFlrSG&kd0([E'i`dSkII+F$SEZ(&`bjCpcqV&0PBF3"hI8clTm
+
+MTeBlc2NpC-RbpMlHC"f(KiecC(0`#$6kFk`eGp6!-53dGP*Re1Zmd4PqhdRTaIY
+
+pppQ2q5MaU2lDL$MpEkF1VXT1cp,GqCLqP,mcS[5LXprkG,3h(jUI8U)08)$c!m'
+
+Meq'KTl,$lQ$'`r%NU%T@LY92IFlVY,DFkCTE,R@-hV[CSHcXq03pR`+96fir0U9
+
+%%'brESFEDIYfq0h(lGh0YqhFR8)U(rqaYMMIp2Hl(2pYaQ"K6Ypq"Ki(fY(9q"K
+
+RKKSX5,qbVllXrq###12"JMMV9N!NCFCc6aVSPXHCQLjQeJe&BZINC&T1)q6DQ4*
+
+C!40imlLqk9R"Rb94`49eV8Km6r8kDjNI8Y!)RA!',JEE,eX[Ee24klTDRSpIfp6
+
+dF%QC+0!lKN(699mhX4FHR"R@I'Nd,@rNhmha[lGr9ppcl-(LfTGTQMp,j@ETq,p
+
+rIrj@Y23Yq,qEIrr*E,5F,c,8IZ1R9qe-`HI-Q9r*`IId,H$ld'1CLrleEpqYbkr
+
+(leFa@2-i@C&JVjNh8V8m&#K0V8-&1EQiq[2MB[k1``bl2MBG#cSF)!d'KKmA@d-
+
+2Dkh#`VmPE(-Jej4j&Cq3!&MC,96@XVYhN5ZH[+E+e)2DZqdR+,G0c[2clZYRb!I
+
+iXTCf9Hr5cYliZpm@[IQd6&)eqNejY(T0H@IY&GF2+M*4mZX*)6Ip%hf-'aQrj6H
+
+40pLKrSTqaQq4+fL#$BIA[q6drhDHKdrRdq2fIhGlKU5kRY92D!0KVSZjXE&lRSd
+
+TTC&+6-a-ZG(*(aSrY4rkDRZFY'IHa`R(dFIJ"0E-`j8&@!bX2k1TNl%!MDL"T[H
+
+`DF"$0[AM#UJ-E!r&kXcYNE0E%6K(02iDHR[If[M6-RfZUPG6KUqC[1STdi1p32d
+
+X(pY+E5jp,3SjfCKbem!N!NIrVHV51kH5I(L5Aim3RhlZrh@KdYqI0Rb6q0$pD&C
+
+jdb(a*#bLHjCYdN&cV2$q$BaLYA&FRUkB834JH6H(Nkb$i0r'd)JM#Era'`EZ&G2
+
+M9cGYh@(i03Gk*qeZHdTHKekGXcmD%'53!2HV@V&4LXFKmfEiEIkDYjh"@SNN-A"
+
+*fhXjd5Dq5BX$2Q-I(MM%+B+&("41!+RJhFh*VG40kh!YcQAppHcCVhjdrBiNkHB
+
+Yf(DdGcKk6#+41F*S)23`525Jhh'RD-r[CRh1QFZ0XHY'@$Cd%lqcV*R[2qF9MhR
+
+Gcq+Q9NccLGl%ka[rm[Hd1QpM"S6[blD$h@()jPNf$(GJiF485lPjNrj8rQ9B0rK
+
+i@CLiHadqhdjqR2lG6!6Cq#PD0Lr!5GbJCHSQ%r6lLYEiF+k*d-b(K88kc5[E4r"
+
+BqQ3[SEH'fBaN5`@+2hk[qZe3mD6hP1+KNAl8ha#[I[*,P#+R%Z-GR(r@kD6"FRE
+
+bF8IcT$Si$q42j2)q'V[JiUIXc*eIr6Jrj3@UrfCR[F(r,"pQ$MB2Xk('m6r@ZHG
+
+4&MXM)Ylc1bDp@$+`eHCe*i9hM)JQVMA*Z5&iEj'pq!E1dP69bj%"#!6Y9F-22GD
+
+kC!IdkRdX[Q)"MfSUHq9dadRV)aSM(Qpq%M((EHbNUT*@$LN%GD5R(Zj-RLG6iYq
+
+$Tj-RPj2FdrpP2Z1TeV#Q!KKT(I68jrAIJkVm&6'[kRABHUCH$8l9[5JTd6G("IT
+
+jQ#r",`AmfrJc!#Amh0hbT35a#"Pi59H0fRmdfb+[CQjel1B0`XaPB$5#`*T$3F1
+
+YcDI+VFek#Q0!`JA&PcL4CQRp0QQcd!LDUB$##+CJmk+IMemH8GcIRC0IX[S'2Vp
+
+K63*J3c40MQ*m(l-!R6(ErC`Md4FqjL!VN!#Qh1@lK08FbRGcXc(I$!H0r6SAr'q
+
+jAmQ2@Vkb!3SZIBQ,EX))%GMT@JYHcScZY`kA3fQ('pH(-fLAqUS!&h29RjQir&S
+
+HGLrNhI,q"q5(Ll6f)V(5p8p+#RdQrp1KaZ`rpkCEV$6`e1(EVK%1&dk[%*66L)3
+
+#AFR)Y@TVQLFXCUpGlQhb#6EBYQce#I6Yfl-Fm,8`#,h2Z@qhlHjj#ImQKU8$rS`
+
+DNTBA"'BZ3qVGjKU25A*9k)%'93YhGD"cQ12#2bi[MAI,YdVIp9[NAT-@',$M3if
+
+'p#4mPUh%K!!Pq9F`fi!#DPljF0QKr"HkQCh,bmil@($He4SXJ%e4T%FB&h+f2pD
+
+Y),X2RcVYdj()EZk`pf14YXMNSG)3UhJT(HlY*0M8iAQ44pG4l+5f0S"XiMD"6JC
+
+F%I,UI,VIj9*fim,Hl'TqV8ZEh6aVP$pf18hi6&lqMUEchq9me-2(IIPXdNHhE3H
+
+h3c++flN+HcZ'$kHAc!#BB,Sd30ZL-"&4jIF'"QL-Mjq21&-"cNf20XHhG98#)EA
+
+B1I"9h[2PC#!6Hj&6RQ6T4bk8EDjb[@MY0!)!D"!)3)Y$2XAIM-B#E90Al8hXS,b
+
+#$e4X"kSf+XCI-U,Fm8BF%1pakrI$NIpURe[DNf0'[cc*`95#pB#@URJMNJ)bFr$
+
+fRal(-[C&LUh`E1r5[j-[*l,`CI8pPkd'2PF5VaZTp1Vmc+qCe2TUcJ2R@YKQ`6Z
+
+IJb#k3Kh-P8ZKYj&9,iT(lqAGSKVk9l$FSaC8@([0eTI"d[ilREr"q*mT+KZaeEh
+
+2he22r(HTh28Kd)[Dl[Mk2UD2-Yr`r"kMj+a0kmfN@hkCFfPJajV2K)H($d+[$C0
+
+ikG$U+0Ha-DZ5rpV3Y$"hk0rl8l[*UU[,r&keil(lKaj+Y&H2*1m,j-3(Z*Za[b6
+
+H,IpM3rB[rqYrE[q-IpLM0djfI1ZXRm%"BZLbeX8#'A`Rp&bE[Q`qh#iRmN(C#DZ
+
+`!H&))FblS3rf4@)9N!#dcEB2[iqiapYFYm'cJr!PBi5mp,T1JlfQGRKc0(FIbE$
+
+$mUR2pVTm1Cd+81d``p$&rNF4p-`HY,k5[kHlm(*rLbHCZrdB*hKq*Flbjh9cZER
+
+Fq(`P4""R9cVSdm(hYlk0++[ph1L`IrPLjJp'Iqlhrh&kc#2Y9XB*2"JGrUcUZJl
+
+26`HqcN2"XBF'hUR#'"hNH$*qPb-lQChr1rr&fIG&Q*8hU&r"9Z9F&qji1$`C2"i
+
+IaC-lKhj-lbmlPB1[E,[b-M)N[`JrKq0*m@`%j$fC6H[RN@ZUA@b19BjXZRHjSRT
+
+J)%ARBYbjMEc'Lr4[-hmXp6d,%f9cc)5pH'AHp3R"k&cfMp*d,Uap9r#EFU5k5'S
+
+[RAIa`rb4C0[QCAE(hUUAd1T9XCmN&@lc)IMSQ-N6Br+4a)0,P6qUe9%"LM3reAI
+
+TJJQ(a6a44*@[N8L##8G9#$S%`1VC2FGq5BXc)XElmNVYVfRLrMKPaHS'Sp5jNlc
+
+mN@6H@c9&ck[p@IS5ZIGrULd*rkLGZ6q'!6lTL'hP@,22cfp#1*,Gh+YRfUd"bcN
+
+BE'J01,)iZrcA4KU(AYkiD$A[-bHp+VNjr[B2kVZTLhJRVUN"!)J1cjZ3!+2@24%
+
+3C*f$j5j(RpGcHEc)LhPjXT+a9`f"XjGY[IbN0!pr+B33Dd'%3!)m4kikF#mXIb,
+
+)UmbamF)$8#k*,3)'rDDYeQMdZVVK!@dD544"rYD(@#!!-1D&2"9eFq5@Mc,9KB$
+
+DYZ6+JLUAPKZ3!1K9rdjr2Jd,[qNI6BJ3di%((b[f"pJhr+XC&bakX&Llc)SNSJA
+
+U3R"6bUF1GGfbQJp34"lk$jPlB6r9KbEhrN[pY[FpI+kU(UVUiLL6F-rRQ$cN3ri
+
+Xf+KX"`,!QBa3#F"jdZArJD#++5jTlbd+`+fqLr$NDHImq9VA[K4'&lHdB[1LkQj
+
+[aF$)FA!F@J[34#EJR!1c,G[+4"LT36H,3rbTqAQj&BI566,HQkdh@bFVE@jZYJE
+
+Q+c+Z[RcA$!3hDFAS`pGFrijAA4Im(&B080!8`,ZV$)*!53J8$J$)#ma!@$T*mQ9
+
+(Hr)(DmN[Q[a3m'hqAHD81PGi+Y[Sij+Y12ZkGAGpheA-TIrNZMXIZ&,Mf*IP-pm
+
+,X[03#B-'qqKQdZfr[XI@hhfGpaV(QpYbFck5N!!9mkNJ%[qG[[bf16[[bQ"jqAI
+
+IGhhh5!4d6p)$0rTcU@IphY[CYifqr,`EeUTfr!C[!NXDcaSH,QiGd,VCQ[4i[4'
+
+'Em1V59@"`3FR(Xbph(3phk8-cFHZMf*,V4GLrYXMmehBj(jYjdX3#,IjVY5(2[I
+
+qN8'KAF[ULi&h@b*"PPK(NL+")XC9%b%a9b0j3`C-(H8jP#E)H0T-rZ8qrVGj6c6
+
+Kl83CCamll"GVeFL'[qQC0f&,Zl(edR(+lHmR%Qer*bH6NmP2kV(LJam(hFD+2bE
+
+'KXe6!Lam(S!A!(-!eBdVR"ZDAkAhE("XD'BVN!!PBmUcAjf4&lf,)akm@4TEhJj
+
+(*VaG6`Heqe0dN!""ih1b,2GFl)dZPj-l(RmQ25Y9jF@cj-V(PiQf8S2$`GEQh-(
+
+@fVPU,"6q0#FK&,Ieq$5cDr%T,Vj%[I0khXlRHGDGd0$if6mE5`9Gr3hq4ALD+h0
+
+KSBGh$C`lf5T+hYk1!K&f+YhUV'lUYr8cBFD4"!ABDi[1A9T$T'2$NkQkDGfJJYf
+
+T#k6B3DP($9!4Nf1X9bqc4qN0(l(q0dH%hE'CBc6*(YkRIUdI8`'X&!6!FXPCjH'
+
+MU93%C1(V('Rk-rk8Pk9RhVTXXhBFf6-Yf6dTle@Ipq1c)Ihm&NrlpNYdlpmqLC%
+
+qLGQ[$GIAk*31AjS+Z6Jj051T)@UYVdI8+)*9R$CYhpDe5[fE*r9himNrUqiNPeG
+
+Q[I6IPTq%hj!!%Ri,0ZcrFIY19NfqheK-9M!3@HhXmQrb30!%"9IbCQ6qKfijffD
+
+ZIlqCC`!DZ@Ea[RI&X`Amc*`C2hqh["!,p%hk0Nr5lqYC26qbS'bE16SG[fd[MHj
+
+AN!$33IE[rX@If,2QhrX(l5#SY8i3`'YXe6!8i($"iHiYRKfImVr*bIrS+$rkPrI
+
+pbUVpq'2i9A4MNhHYe9#NPiRQ,H0b4mQ`[,E@Qdj1VJ2iQ20bkd&15Ya+IeUhPdr
+
+V8q*fL[Ac[$SGAJb8`eTT1&SeVp29VcDFfR0l49B+dm)!jbF'YQiDfXELqXIjD5R
+
+BTapSe0G2kRBTqd`'REA`l(eTf[Y1K-Ql,dYNhp5JJM`FD+AJqUMDPEV[dZNp,")
+
+f5fq#$,6&2PQHkM6r%UcieNpb8S0lJYCSll'BjHaQB,+fZ4(Fl0chTdkfQIT1RIq
+
+&S(1$IQk%QK0[lD$*2ZP9B%l5ML[&H&rDCTT1qr[L90cp#jj,JJd`3*r8hdpip$N
+
+R[Ij%(eVR%YUL!r5F&MKVr%hp"#'SRjIbi)lQeZIRU)2K"3DNlcVr$d14SH6IjHK
+
+aG$Lhr1Ji[EmHjb95!ekI)l(AVEZVTpGmpjq%Pjl6!iT!B0[3M6&Jb,9QeYF%dkc
+
+TSi`$I1(!QjGEImH(MhUrFFHhcEZUIlM9[Ff$9b,0ZZjq%i6kT)ZTq%NXA3`lr2[
+
+hB,&blFEl*lDYDX@LBrDd,@KclrQk(Qk(Qhr0JmhYr6Z+mrKpa@f)N!!F@raG",r
+
+rmfKq$3qpIrj`IQlIpHic@!95XIBF3"!)!QL8"Pb"S('!$3*2`R6j9+YCmV%2)SN
+
+d@U(p&19Q[2LQ,[X3%PMQf2+2q-Rb6DUId1qC@$N@1Em,mF`p#ULrP0Fr+F&UBk)
+
+0M4+55HmS")%p46e0`A,AdV8V!SrLK[EH,Gi[iEfRFq&FdEh"LdBZ$[,Pcidr0S,
+
+@5aG@ImqIr0IqILk`#14f2Np6b-RbFRbmRrPf2%b9%'G4cZEMrMPe["2LR*mV3ml
+
+*2HRGrITp6ZTAEIfVZj8E&E`qqX9V(+m-qLBDp%-*5ckrdU4l&+ErbXbr`DHP@3#
+
+F'MS9m(PD&I3aV(8m"cpSak-Zr32i6%j@lj[4KfcqimlSmE'kQ2L-ImrZ&q*Dp1@
+
+HY@$cYLHT0#ji(dTJj!9AqLH`DrF`"+-"ldcK!%hk9#9hrc(k)%rU%+$D"!82TCF
+
+VI0pNd5&kI%YHR$@Vq9QHG-mU2cXRb+2dX[LE*[kMXZENrMbHEfA+$"q9"A`ILKV
+
+irN3&abSI2LLYIaUFI0`FTIFMQLTeI6Z6rTE19eUf%6G,j[`qqpe@-`[Qc+19AQH
+
+9f9Ih(PpM`*FVCU6rP'HS'HVmUR@h2P9I13#ERlpAkAEF5DKRYMj9HY4lkZDUB#+
+
+0G8[DrNC2dY$L5P1kN!#*LLV9Tdk[Ak6SE9Y(1!!f'0Hke9E,&#Ki(l[6EMT2@k6
+
+lJ"0F%''TR91e9$YUENi*ZfSH$p(T2aG*j4X'rLBI1L!@k2U"8ImVCIqYPpa2`5C
+
+"XRJJLSi--3j[Q8kjqM4qG(j4R$Rl0&+le&A8raQj`lR$Z2Rak@qjd%r(-"V(mI(
+
+eD[NGYp&r`IVBCGLYG1Y1a,Nfb0ZRSIX()J)&PL"DeHJ0!Ph&+m16,kQ5Y"NJcQJ
+
+l055h"micSY'#LV,U(id2HB,4m%cH60()XfrJdi,pb%%A5+bkK)L(Qidk2@k6SE2
+
+ph%mcT1JfkK2M1$9+QK+'lb9m[Kfq(Gp@,*KjQ9c)IdVYQ$MA*eY5!KZlLaQf2$Z
+
+Rb[BJZfV(b,(!Zr)b1"RfTAah1fcF5XhEq(i'E(JV`4JJMi&Ij&(JF'e`f%%fMeH
+
+69)"N'!j[mRif6QJ-ZGAFSr''J6Rf2JUa%J5+j5ZGTmD")i0c0ZC[aJ%-)0c"9[R
+
+h2RA-kjRI'[jX'#"IZR1`,9dQcGc0U`Rj2RA-&b8%!#a49R$I*6!EQ[9T"'Efj8Z
+
+92MEh0TB+9cU!`&,!ZFT-SMKR,`HIA2LH[jY(cL3FC,8UM,KbfDYD[BHMTrcB[Na
+
+6pTk10`GTk)#1FJ-Rke"F"LGS4FrGCfPciY#([fV91eXSPGFbj9IqqVa0lkGAMEh
+
+l0AcDNlHqQJ%U6Zmr[R,FFkI%mEqQ(LH0kIEqEY[6VrC(+k!6l0(0VrdjQi9Th0P
+
+3l,eq&Mk'RSDI[[1Y6qfp'eMlr@[DFlGbP1!"lR5UH$lfreHemHebYrKd*HrpVIq
+
+eiTq5c&[@#GQHeTpPjr2XF8jLH+HaI&Zb3F9[BZQGkpANC'[JKb0I)emJ!a`"k8r
+
+fHTrcYFF8q2Z1G6jR8rE[mIUIYj)"-MAUkY8qLDZM[PEG8G5[KK(b'G,[bCNX""D
+
+aR4GAKUrZB%Zq0LhjeclQ4Fjp[9Z5'YX!3,p[JT&rDPR*ip6JlMl8HKZ2YlRe-M*
+
+h22XiNh*k4C1Ukq0M52dR[1ISkTqLkZLBAUBB,R[5GP8r2iA$Lk1,qf+Adf(V)p,
+
+qFY3rdDA6d[jA1qQ5(Mckel9KjXr*hR0Ymb'Y$c-A!9mHP9Xe(&8[rHKQ(UcBaIP
+
+a@1br9dXr&r@LXE6rh#deAALQTYTQ#6rP$aFU5iJ1*l*T2UIk,hmrj@drYRr+(RZ
+
+RY*-V9Z4crDS8Nm@crVZlL22*mI23j@8BZ+!L,MP&eI#R-YpC*&FP5CY`""kicM+
+
+pld`'Nk`Pp#GIG(Zh"d-c9kh$$0f8Q)HfrIR6pZ2`dFj[-RVk'djf`ppRrhESp!j
+
+@[1Q4Drjjej(Q@U[UI"-A2PFr0b1XjjYKb6K((HkTfaJ%9r[c1[d-EJbqC[[8kl*
+
+fR2Ja1Np5Kr*qIkNH*(ZGak6'!kb1,AP4bYF+UjY1GXER5Fk'MhjbclKM361`jd8
+
+cCIFXFMX1G3lhCIAfIcGTpI[dpKp0K"LiBSmA$fqR`-1,jmq`*f@-AmQ6ir8FAXl
+
+FYVTE+-6r8ZAZjJdT0,j!N`8@BM9&-%a@EVU3!"FjrFf"6i!M*!9H,B4)$BkZqNU
+
+kZ,q(*dprq(TSHTNpp$1`cJ#D4ad,rk21)Hrh)p'[mrFDeIrph2lPA@h1YAr"er!
+
+i2r#IfDX[KjAUl3GDEZYMbEZ$6VE5RlVkFrXDGE19M[BBB+*jJmc3q9`YA31PQr4
+
+hq[S8I'!)"T`3B--mkEk1VHSlM#A5QZJ%hY'8f(TG`CKUE5c!-ZeVYDpfQ"2%hDD
+
+mFcC,LTbVH$jY*'N8NG,-c-[9UHY(6h''2c+NCF$ZGPrDpcAmI"pb2bDr,Vm@2Le
+
+qA&3`HK-SH0reHGTqKQDqkeSEHE*ZLNA1&R[Kb8SQ2q)UMZ5Ebr&TNaA6L[p0$em
+
+QPbB[)Rr@KDr8%RU8HH[LI5Nci!6D&brfqKEFm6ir1aTZ$lQ0AMqK0Va&cj-T6I1
+
+Vm2'S4mUBU)+@25QpYkhLBp)aNqfql`XI&qlf1Pfr"RjQ,pUHZ-Q02+0(AXHaGqV
+
+LbG2m!UbhBD0ZlEmbh$$kUQJei[iUAbl@[`U0,AXL989[+Sfk-4BPa95!@4)A&LH
+
+KZ"EAr5IAJeFIAGY([k)#&Td*Smp2808S,!URIX(&(fQ$$LbBZPLlqrGRhD(Q8BF
+
+e6!BXPfM$V`UD$&q"H5cV4lN%%6'Jf*!!*S6emDY!LT2MHT[r9iA(hrrIZ[rTjcA
+
+FJQ5hBV'2GQ3P+`QCl24aU28EGk)+j00ViDq(FjGRPG*c3)2qjcUq&)5&MMCh*QD
+
+ZmrYb0$)d0iXI45!SAZKB-II4KY5(hA,YiE1(0dmaG**ZLkI"JeCmhEi-"LANMZE
+
+81ah-AJ3B38-`p,Z*lb+EFVEc*NVEbEF`I1QVTC1GYheG'TJheLYJSD%h"rpekm8
+
+8kG%VRe-3HECc,Z,KPkF[SI+SiZ[6kkI`U(i+X,PI"HdjZ[!10*NkP5I9+'qI,fU
+
+j#E(JVhkpp2h5[IcZ)QHC+c#I#q(!MK2%,@hYcBQlS!VkFI-XI6Q+Tq[KGb+rRDH
+
+TJqp2eFIajA6l,kmU(T1JkN!aJ1MKLKk[bFc[Zbe-RPGPiim[SC2+X22!lBrFPdG
+
+PkdfElcrRerEpjrdJ&$N0G2AYZ(JTe@AGMFrl@mHjk9fI&cmE)aYcHb0LFh5L"GS
+
+40%`iMS,R2[IkB[p10cmEr6HrdbQd8V"VP@+f(*jKP&d+dPANBQYdIpRb[0TBd[T
+
+fddTJSi3BIap2q1R6ViCT(NbFP,mI![QFL)*BUj(2bZMkImEr##+aGmRHHrYq4&B
+
+PN!"92S6LlRfV2')N(&`-L#9GPC%9q,D4C2*SF5Eqcd6p)$Bf*aEE8F0rQGeKlV%
+
+lU6ZYAZ[YGer&*aS2)P+Cq((KiYhbHLr,$bGej2!r,3LphcZPdTqP2i,VAkLEdFf
+
+'kHEX@4eNRGPdRYMZYHh60)J-6LRJ@qPJ%!mBffY&M3p#%F%1%!E9F%0lqkEV4Ih
+
+GCFlcqk+jlcqieN4lNXPB[jDf#c1`GA3Udq#*bP(*ZiphZ0+XkpXq`2&(B5(EEl@
+
+Ie9MZE(m9lZRJJ0h%iIj4$42)1p*BPR9"Nh[qcM(hPhr,PIkEf4,r"GJJcVZFGY2
+
+aJ#D"h4Yf'mr",PIq-Z[+f1pr*,rdCIMlMf)r(MmIHphe#`2&PSVGa9UfEr5QAP!
+
+N[ChYYf)KZa2)U-m"#IfR-cmLaKZmbVc$MQ5fmAVJB$)Sdq%DUcdlRcI,VGr0mZE
+
+C,[(9QbGAUe4qCP(lJc4i1EEXD`mGLLqT&FlckQP&TI8dVQPp41ZpA$Yk6Y!Ul(-
+
+25q3jT1IhQ6SqTEi2FkRK,C[Qqa0jGrr+EiprSD(rcIpBbFNqGHC0jNhQ#DL)qqa
+
+2p'pq1(lH$elP1lpUjrkZjdAVhFk(1aIDK9Zl&dG,l'mpA+rMSmSCGM[5MUGYl24
+
+'AJMLe""M39rRh02"k0bhJqpFlR"q$"pf[bD2lpIaiSF#p9X3YR&&ihSk&[a[4Ta
+
+B2ZdqQVrITckrh+C#4@fFiGIcTm9I@lkKAeUr*Ta9q6Jrr0+jqPk1KSqr83B*+TB
+
+4`A2MEc`EIJ`IRbC`h0l2)l2)`C(Cp5mXATD2ASTFjli0jTaCl@,cB3feL5$NJDq
+
+I$``$H8FarNCAm-A[VY"S$K$N)Z6jD[d5aIk!delp5!cFQRRi)*YlqH(r2&qGHk1
+
+(qL(Lfq,PIZ`rA[,-hLQj&BX(i,h+KmFdP*X20@dIUaDYp@[UQJ6V[1@eiD$8bX*
+
+CEET2ZPLm@A[&dp&clUIM-,lC[LJ#Jj8(9hZC$*&QhZmKqr$pqhrdb[pX2$[-8&'
+
+VPEk5A5[kmr,RhEpZIGRfqhZRAIQhPap$P[%33FX2"biIUL!JS(jC[KUr#AT[f*F
+
+c34H`A)Rb,Rq[H9*rqpcQ[P(@IEJeMU*pl$k0kY$Q3hlI,bSiGVGraF)!1$!RB6!
+
+RpR$kX-&Z`Far-BS(YNr4T@ICcIEl[MCrYfICcrElQNjjQ[""fhXfVAEHc`IE10H
+
+,IIPlAk'qmCqL#abH$lI`2m01TfIprEHcfhTfH0fhrYpickd01K@Ri-"Q-4'c*lR
+
+"rRPiVk),(*KQdrj0rkN-rVIak1*&BRq$39bp9Jb)lrk(8mhH4cqCJjYZQ,A8le#
+
+IUd,N,1RV'pNS(rYJYjGXUj@jdQ@FF0q%dk&6JQBq20QBpINa4B1F!6lU@6jm8r(
+
+Rk(IVaATmfdTYHj8Te*+p2VkhAQBj8kVFErJc@QmBPqGR'6RISDG1rQrV3IVGEIb
+
+I4m2m&2"6FeF+m0,F(%lDUD9IpEVbQM8YEK1,2"5Jc(YM!hk-XJBJ%`Ya)4f-Qle
+
+LL$DQqKRD0)8J'!jQIVhUQE8cIN@[iqhkr[P`HVYLd@(VT@+ZP9#rKPQmjN`pZ!M
+
+hM-Imqc5YIree!*5Xre,`SBHTe!3$iC5!6K'1E%!KC@+feXRm+3'f9%&diEVAJhH
+
+hXS"1q@aK$NmcYrS5q9YPZhEY'c9XhEYLcc,dPNmA,pM*eZTr4lHI,m$EC6N"hbD
+
+rJB2(VcFhX0K"Mp#(Kir3aqKMiF6P6rih0K$kZ$ldAAB2qPI'QG1r`JZPhL(J$c"
+
+ULYT,11TH,"`d#eN1(Nka`S5EI@RmhErrFrrlfrr+IVBXqR2C3#YZkfa`I6TjGqE
+
+A[Sp&f*S-*#abe1!qeF'ZUGPkaF&kh8I[j(m,k)+q@2Jq4X[@D(cX[@PIAfq@ra!
+
+G*kd91[If(epMhZ*rUaV+VJCN'#Y`kEE@0E"JZ0YBe,9V18d%-PD2`C+hPj-Q6"@
+
+`p,"M5E6+S@k(cSh(hj[S&ZV1b-'ISDbEk'rrAd,Yq`qEk%0D5a"0blmHKPMjk63
+
+iQKpDrjF(PpZF16-`+apRcDYr$SC1rN[j1KK#'U`I(lIQA'ZhGY@K0r$NJJj'Kr"
+
+Ie5[Kblr,PEAYh+b&'EGV6[3LXhV*6AqaH5QlRAY19pUh,YYrlhb`K[qIIm[Ij'K
+
+5[pq'!TA&aQMJ2al(k-hU,qfd2@d+0qr[p8i-*)*[EfVLZJ+2$Zq5BehRhZ$FZA2
+
+[hXDjpqjF[A*ARj%bieG#M@qhBrBQrXAr,d2k0$l9q$3`D&SH0!qZ0SVdF&E0lkd
+
+3Q#%j4*'J"+ebRp+R+V,RlT'CTdpccDI+!4j@jmkR4TepcjGArPCiR5,Z)a3R#Cq
+
+2%0T2%jZ$m@*jeFiG-5Tl[JC2%d2IV9`SR$HEK[+LV8I+c-&FfNdi--RLB'P16F(
+
+1VrbShei2"Q`irNcq4Mq6Ml((qcFdVLcQc63Hlb"S'pr4Z1F1$9cjY%ek$G0AH8S
+
+ekp*!*F`I5RbU6#$Di)jZR0qY@m#RPeXXk$cGh$bj"B`@jI$Ahm3fMmNiF+j[i)"
+
+1MUBh!MiPK$ISaqa1'eZF,RR6k-q[JmZI`$HaFi8)Ufdll'ALc!CA3#Bpb,k4%G8
+
+`"@MjZBF#0EP6HEi4[+*`DC2Pe[q8hLH%SJ+(GE5ll(V48mHXD`AR6+24emE'm$r
+
+[MZ@6iBIdkfIhfH*TIUeY!iF-$R&KJHFCrAmfChhAmh%Tq&KITJ'3!!6"0q,[SqE
+
+`HqLV-)$(XZD3!#$(BS*9Drhh[keNp[Id6C*r3SrT9qpUAH"r2+ZG'PjkNlZa&`I
+
+E5FUNPR(pLVUG*kdhKZm'8mplTd0IEj01efQ2d+T3'1",A324VhA#l`je+2!"+0Q
+
+[C#MU9+R!i%U9dE&r`m[bIL60ljp6Jlfj5qr[FDPpq[FkQjh(pf`QHmF@qVe[KZ9
+
+NN8E5cIXkR5m$iMbcHHBiTr2""+!j0'6r6$*qEa1YBS-lE&aKJ[jSk'&HkIk0HjC
+
+lqcQcX%L,qqi0ADR4h1[ZGIFI`EMm0FLZ-iHVPj8d(be3q03l`Be*qZ#E!6DCTZr
+
+Td@+dmZQQ4GX@ajp#!3LGHCGmb$c+[pY[KfeBmZ`fkS)2ThT6N9U#k4UUTIS@q+l
+
+LFeKT[@S8*Z$`qNp$VjX[mkmB%$Q!dJJjSm!V&`e0S8-(6TN2NYbCMhD5Z2(p%'b
+
+k#B&)R4Sl0AEP'E4[pS-0rT6Fk3EG9Y#RqP@lT!*6q3Maa&(GlS82(kVri0IN`Em
+
+AmNq2&r*LrNaIb4VHYV`*#"!qCqAI'2qMJRA-5jlRih6B&FYcG@Cb%9A+"(T8$%8
+
+cU@0E4)&!-lRldecpkedcqFhY*0PkbB[6P$K#raIaGMeI6rMl,q1QB$fC+lEf3r4
+
+rc$!FAGajm'(K%&NJJb@XDe[4q6VF,$!jr%q(IZChKhi-c"TfX#!6"ScEBQjfmhp
+
+qFXAQ9S"!ChLFqcr9Dq-%*U)"1%!5$$+Ep*e!p%la2``c+RfEZ2+qZMVp1()Gj,V
+
+*p2*4JkIlI8qq[rlbi4XJ%Y!%iY$r'VipMr*r5![Fj"m3Lm+89ZNi5kbH`+B"(8b
+
+ENPcmPb[Fr*E4@kV"$!ZGT++em1FEk1KElmb&p4!*E&CR$2l%-9ZFZM"ZF[h[apb
+
+9@3#Dfj`lrq"0VPYj((pV'm'ljf0i1dp6TZNfRUGINh2dpTkP$*YlQ2p"j[Sf-AR
+
+q,BRqVLjmqVl[Rr+Ui[2ReER2SV"A*kX',p[&ppi[rI&NpeCaC0hDq"*2iXrr'Ki
+
+qk8lf-EKr64i1G2iqfriBZ(GbrJHeLqe2PiZ(V*NpAA#E*S"1IH!0$C0p&bUDl94
+
+RdcHpj%4A2aYH,AhN0cAfNP$5SHcMIjk#hfkEmjXCbF+L!LMANYjQdjfdqe3XBrf
+
+S9[PqbiZ6mrX[@l,NGPKR`irh0h$ANdiFIN6iXIlX+mjfE$ZIBkMf0M`Hdqpee[D
+
+Fk93k6lh6F(p'he2hU["UVKljN!#F")b#cE(@HV&RbUXlRa9IKmqP9TZ)!c*Zk`6
+
+m%[[1fqrNrp-Q6%j[5FUI@llPERQdDG&@cHES'r6R"!D'k,4d'T0*R2HiD*96T1H
+
+im@[T4pjVk02i!fALQE6RBa[Va6-M21cTjBa6L`q#YM'HiKbVUQ)DZ3V0m("cGXC
+
+Fp$%`HmSEQEDr1rEk3MHecV833Cq'V4Lm2)qr[r$k,jI4A-Ir+VUfV%hK6IZ9D-+
+
++JE'`B5!6kiHQU&@i6peZ-qCPLiqpNTI80%rkQaZG0p4Y9dDVm8P&*Nk3!''l$$G
+
+"clGhA!0,LNpjNq&q19fmZdYaV6f''k*rBUTrASBR%rVhqHBLIblq%',q(i(iHYr
+
+$2dqYr$EqJLKF1M4Sj[r0!r,Qkm1Y5N[CjNV`Crile-bcDHIkPll%VU&Al6001+q
+
+,H8VKTfGY8pQ2YSl@AcjA`B2YUihi82&RBI&PE6`q[ZF(`k"a)cp0!*2djlQYKiL
+
+eM3rDT6GC*h0M'I1-fC,i3B#)-!PFRV2ar"TJHTaHT&pL*6!*[hf,#E-RFrbpTrR
+
+QjQ2Kq6Q*Xk3J+B3Bq2('9`Y#pKQdIFJ%pf*m@X24BFTbdDJJQ`d+e120fSqCY9X
+
+QD+&lDeJ@6R4)FeQc$(9`f)i0VGpe$m@l'BfXH9lUlm9ER3(d(3Vb8H*ZIESp$FD
+
+mGMFHaZ0IYX-kIA90f6+Z81YTh-f+E4bE'fN`@0YIbE&Ur0X69@EY3i$55V@+GJ)
+
+1'YK*fA)Pq9A`br+QFKPQiFSi4U9lA1%klRflef+hFZp[KYm`jQNM*3!IhY,5!r&
+
+G[@iVY`am64KjM1f'J"dbhE,CHRJc4fe,Qq,Jd*[Lc9JTlhRe-LTckR2hS"Sp8RT
+
+kTXh)"0AY@`-D1API%NU8Z[erHjGkl8YpIGplEUAHS`amci,QhGA[cGAiAe[KI@q
+
+&pDab6DDFi'%Pq[GXkrBUBF[biqAZ*-ZC8r`UG4Hr`f28l(mVj[A66HZVEF0-Zp9
+
+@IGkkr*($I`RH6I1mR$fFQ#+EKk[@Ur2[VKBT"e6Em5"@e5LYc4jSHGc``"K#eXb
+
+EK`Df6KYDe2$JbD([C[E810hlHj'VLmq+cLmql+ZFqj9ZEQjk9lFaER'p)fm2dhM
+
+EUfA'-mm*Tp[#56rlST-D+prGXEMUEiqA%hlQ@6"40Y%a+"UCE&N32qJE*82arEJ
+
+iM'JH+IiDcLRVp%&(9aI9R@F(UcCH,kZlUr#k[&p,EpA2Ui[UcmLHTS$l'ql-LVq
+
+6JqlSD4JHFQMbDrNeq24ipIr0QIU1L$0dUf2M(NCJjf0&(bF(1MipIMarjUkm9e(
+
+@brTfZU'RRdlRb,R2ZQF82edeSSZe9+"%!'HKq@$b,[jS2cAH6+ke-pdU+HAHq-T
+
+!(!F-I!%i8%%(M55rk2&rShmK-GrSmCQ3!"Q3!1[HQQd,N!"69)"jX,DKaCAE[)c
+
+fi,Z(LmrFqYm$RpEq2Z2al6eiIQ9m+E*UhDk`pNh,F'aJk'@D1ZAV5SXY,id!J#'
+
+dF4eZ4KqIHjm&JAfPK65l'(2dmpY6(BcGaJcjTJBi2$Z'(*@r9Tpa@S9SkGLX[4C
+
+XCHpN1a[fYlmV)k5GmV)lVh[Ej(kh9kILqe(L3*IBl'MidK2Le[&`kHY2`kF2`X2
+
+`*2KDhkYkbEUb"r"GSCq$2Z@-&fD3!),PGj`G1ITG,T3k@16N`2kehkHIe4m`I6[
+
+I))+q9hF*i@C@MEdA0+c,eUNFHY8`lh3b0h1d-M$ZBmMqIFrcq*8TId0`PAIf-rU
+
+FrrTBqN2R*88RGmE5kh5rkD2dJK$eiI%GrLhHjq"q2D+Me0eIDHY9k'qCcb*YQY%
+
+R&@E1hErdArk-@5rr42!-[d'@4P-cGqREjPkpFrV6@YZQU6%G0#r`A$mER3khMIH
+
+dpEDTYLmQ[qp4mL[V8H4Aj'CSZe#mq9+[AHj5jD54V#5268VZY8,L0U[2NPA,h@T
+
+jrhD+Im1jNEc)2IIB20FZfF01U'Te3e)#,H%)$+[IeUYe@`IAVq4(c+rN#lhRl(R
+
+,DbeGTl%HXiUe4kQ6Y*8[qJeTFZ,$Hd%1[F`j4BIZlTmh#qIHlHIFLrF@6L4NmV8
+
+Ke,bh@JB#jBp@!ef80!98,d18r0QZ5U-aKETDY9lkKp`r8ZA0i!KcBVF1!Ze,B[B
+
+B5@[EjQ9c#T@brAIC(Jf2AJlkpkm@2$bVhY3pT$RA2AbLUEHrp,3-AYJ6A,VAXEc
+
+*X1#VdefVKXf*YhDV[9cF&BN[PV6KeT1RLVALCVHUiaZU5QHG6-IDDY#("cT@PAj
+
+e+,HRqYhZP[H6lhJk$NA5CMiNf,(SmRJk8'2fA*bH6Nq6fA*JLLamRMf&%&q$1m2
+
+Y+ILq(S8p!`1I"jPrk1K(SG0Ir2cS'AGiGH5IIbr3R%l5C*Zr+fA3fhqMmrepM4Q
+
+IAp`X"HEBS5EXdL0l+Mi@AVadm[le(+b2[4l[UIq'k9,me4,GR+03Df!U!e+ZIe1
+
+5DPAJbqffbU[hG5b$kp&DZAYi5bcL+b66-lI8Pi@%!1US)-KY1UcK[[jTeAB5@(2
+
+"-*JQ%KF`IhG6&e-RF4E$qlhL['@'ehQfG@l*CeE2lYrKj2q@6bZhNf&2E,#hZhl
+
+-bc9#!b,[S@GVCN[qANrij2eZhmZApEE,m$0X&)F"!*CYi#S3'JKI$!EFf*T,*B-
+
+XmLcmm+$aqTZG[iFZKYQa6[9XmbckYdfM%f$Nf6(m)#c[qKCk5pkPVGh[8XiPVfV
+
+q6Nk(8qefpLASECGbSh`X29Jb`@-hRMjreDd(6b&&Qc6ifq@hjVmD1IN2QY9Cib3
+
+I8GEXcI[el-j!*IVllk'E5lEqqapEIIChh'XHEfh*c2T+apmrh(+brRp2kb!MDrY
+
+0Ve*Ffl6f)IfR08VEH#5D4*DrAKaUfdm['rafNHiNX5YNblqK@rdq$cmN!f6cmR%
+
+V58*Y#VMGeY2f)prfDR!#!`f,"Lj)l#0QV3e0!i+)-0b'iU!+)Ra0'IGiD+A#pjY
+
+`'(J22kTlQ[#!KQJd,BqrIcY#rS'UY"RA,pcrDe-ZN9I,,1B%!N3dhQC%KNR,rak
+
+AiYlfeVdaLhdlRDA26#J,JBI3J'Z0"CjHppLcbiHIGclRjLi9r0E!4GckZIEY@ee
+
+UU-'pVfH+1$Ipe[he[rAHpcErRYm@laB2fXL$Ye)#Pcl[PcXL([c@+TD(i$*3SSD
+
+D!aKlPp5!d6A+TiXqpfYcYER`&UB@EffPC)Y@Y"'(9TqCfI2QbpTkr@IMdml&r(2
+
+j3"1CLrNKa-C@VjVP9ce(mc"$2Ur&hfbr&dR3fZVZHK0+DP1QT3@"!!Y*&RhT,J"
+
+,F#H5e9FAK4"RCIX@[hTraEfGEiPblI%RVBe+b)N33XY@'[q'RZpcq'[kqjr#GIh
+
+1hHL!5jArlkHE29!!b8r$-hGIjmHYAqIAj%cJi2Z5XI"pqPe-8VB1DeCQ@pphPE*
+
+TpiD`[H9mN!!*0Z81TTbXhl#cXq4NmhY68VlAPBeE%0+[`2a6+rZXEBp6lU9PYLj
+
+QUA&hdbYL8iUh9q9B`Bp%eUlQ0e-I%fDL$(K01001Feck0(Fec9Zml*ZC*8Vfbl&
+
+FdeDmM[X(0b$3X`H9Cml"j4VPq42kNebe0"6SpPcEKXe`Qf8DaGH!ekjpbIp,CbX
+
+#kpFh-`Ak2P'GGCprJJT[h6Z@-c4bDq$6lbImECfZYVp$5QPJ`c,FI$DTfP`GbNr
+
+b-'[&3Vrcerp-cI2m3"TZILVqG(pk[Uie#2k,r#$"Pk05r[V0E"3YQKFr`JVq94`
+
+eq9(cDr+U9UriSkqjmUVjeFhDZfiNe$JE(92r6URUeKPbG*kfbqi[UYd0PKaXl'l
+
+9Kr'i2cD1r&M9m!PrAmLCe-acC+QQ!a0q,NpeNpehRaCZG3[db)l@j0[b*[e[cQF
+
+rM1G'H,CJm+31!%,ThUmISPrclq61mhp,rGR3hk'K2d,rk82G3rT9H"Bq3dCLr4c
+
+YpIc628cFl"IY6E@*mM"`*[b,I!llirp+N!!58H0fR'A60+eJ2Y$ZJ'Ge*FQr(A@
+
+YS`hlrBcqaN1d@q5**pVf-'9(E`DdF8Dfcmh"ZFfVDHDChHC[HB2M+#M#K33E$m@
+
+aqjdATI+h'`r&-bkrP49X(f"N2p@Yp@YpDMjb#$E5UGE0QeLS-P4!U%lE!0@m'VF
+
+QjUYApMVcSiYIV0IZ&T&E6R3kXAV3TQMHC&'JJk6L6T@$r#Kqae1akApM%crcUN1
+
+IH4JImY$5[,RC0--3#331!cQ9ZDpQ-5QcXMX&LqA&Z)[DLlU,aB[&Rfl[V`G-Ti2
+
+$`A+IKfZ(A`BJG,TV9E"TcG[JRcG[0RUD#Pck@45jp56"-UI,UELTl96ZURbURbK
+
+NCkrbd)$Bm@(rYLrQRq2h(2lImRFHah(j1iMZ!)[GeX[bVLV*F1lMAkUaZ0IFDjY
+
+jb@+Z2@aXNUkFCD'Kfcl()f22f*S)C[2c#-jXIUc2Rc--ba0bZX@6X3q)k'$E4i)
+
+cK!MV!%S4dkpALeG$YQfUc*`kb9TAS8[9X-2d`#'&0#2EiPjTjh2RC%lRfJS,A2X
+
+m8U*I9Xr0Xm@EKQj8jTDfY1NR5VekEBfGfEKf[dblB(aFdPQG-T!!%A2Rq1Ql+%p
+
+GKZd)GVKq6EKqR&MD0fLM2e0NbA4PIAV9Qf8ZarM`5GYl,cC-Q3mAFHQrDPE80AG
+
+fU*GFiqK0#([mSCKTHpS")F-6D&i3&QIqTVaR"eX2aG[erFIQ44G-R*Z#SeVE@,*
+
+GmH+[2YpPip[bBVH,pk((aVH0EaZ#VGc,VqAMlk[cBr(VkZqrbapG,p[S[56GcaI
+
+r##$IFlVY,DFkCTElRGIrdaVQarkE2fD(Xq"jXIXe2EM6L(QC[Z0hTi[85p2XqSh
+
+CUml(frFl',f2Kqa5ek2*h'1ZHL9LCZjjZiff6c+81jfp+(YY[+-bD9$29Ec%Spa
+
+i92Uqii@0h1d`GEkQRc-Ae*rmf,q1(8fRVpkVAc2jq3,1C%PVjFlFG0l@4h9Vj8l
+
+6RI+a"NjY9@FF%!S"0j%h$df%6H!40ZeFV&56dQLK2mbjSE[q3*R*khRk1*Y2DSH
+
+6Y2DMpdYcdEj4ARcc&%[FqaUjjTbf*,"'PJFdlBD12@MXbm[Tm-qRX0IaFUIVdrP
+
+6riU(GGljZ1jiKTRC3p"-&k!F40K5NTV#jJF$+DNT23N#1`ZUfEZ[(YZD+%1[[C[
+
+a*1[PHpNMrb[m@16Vj[[C+N9551em(pYl5b`IDbI*MrQbGD[j-bIJp'a`Fr6i1RQ
+
+,8-A,bj'#59R9[UdqAf[re,SePlQDeCQc5CD8hDTT@D4IIQ*Iq!Amr"$pSrCHr9Y
+
+d49B$5FLQimQ0c1QYE6jm2)fRck2)lEbB&cm9)#ED`C*,"fe2*V@UChTT6pTjUq%
+
+D'!fHAJmZ[[XLlAUeiE2QB2kaN!!qKA-dCqQ!'(XJ"#Q!ZrDP@*DQ!9U--IAZHR#
+
+'[#18C+(([FAh#SJTi+&b!`H+G(0(C4f&hXQjqGHTiSlBf5VZqV2iq,rhRr!`FrY
+
+r,lLIh(jVC53KmZKhphbjRp5L!f"8!Q$m2EkIF!%YqEJ0JfK4Zk1b@$c$amAdiGA
+
+"*dAT6r-khd[KHCLqPlbeLqT&RK+GBUlSjD-6BE`44GC*FLkD6'qS'bZ4I1L@Ia5
+
+UaC1*rqF+EdNN9RVId2JfFAp(TV@,i-@IY2rF+iM&%8bQT3'JYTM0I5Ym`!he$Ck
+
+b2I+hmSf)4B)ppEZA""p2,qP+jQAc+Re)i$8#33E(Kd554GamMe+Z*[HI9a-Me0l
+
+ZFM*b-RHR"He``41&YMm[bkhQdI1`(4%QAQmEq56Tq$imU2Hb!%r@PIkGl(8JU6D
+
+R9eUXDU[afHcNP9GVpZTqA1k59k@ph06dUL!6Flh)kKFp(SqM1H5eI[qrprFZEMF
+
+-6$!D&FY29`HVRfGpkYLAHp@+V&eIHHPTGAT9G,eG,)[0TB3`lC+#9iSChYYF[hY
+
+1,aEeq,"&FRUAiN92[I(LM,h@1m!!!)"RH'LBCjL!Q'CRGkH*`)Q'ChKRQ(CTUSH
+
+DQTQkL*Q)CRGjCjKhDCUAGhKPH*QDQ*HUQCR+ZTLSR*UUQ,L)Q'C9Q)#,[(QEUjZ
+
+*LjUJV+#mQ*U,L+ZBLFUlZjbU[!ZBQiHjX*ZJQD$-UTQEZDS!#mb(V*ZEZCUDcCH
+
++RBZjLCTjC3X!!6-dChGiQBS*S%!eCQChL'GRKhCRL(PhGRGhGRGQGfH)L(H@KQG
+
+hCiH(H)CiQ(KiGhPiH*QAH)QCL(DTH)Q)L)PhL)Q+LSLRUCQRrFJqrCS5j&Q9-1&
+
+4A+Y29X&9I!Ui"Z#r8jQljIe1Ap6Pi[-X"RYP[h"2`0PYSlHpKdTZdQf)Dmfa011
+
+rX-ZBfrI*PhY(mQ,+(ApDAL1b60@eY@@dqX5Pm'+6&V&HjcTINf1A-LPmf[RE+1j
+
+P$m&""MG9R9H0T[p,2pmhNbrhl(JNDrj1iprCI9PqCC9(ZAaD0#VaEDeCk`Jb@V%
+
+LCq#Cp5$m'chFbrXVF2SF++1K`YTNbSkQF0B@U@G6MP3`d*@XZ2E83%q5K$Y-3#Q
+
+*@j0E4Ka*A*Kd550bCA*Ef0A%F2$[XDkMLcT&S[)jep'IhK3[YC68J!dYrXV5dQc
+
+d-HkarpSG2eAqp,Y0arYEpMe(`V4f2*STjHIMFX!PU%YQ8V&+VQ@,H4e#P`92&U6
+
+DMU@b8UN`ZNh6Rh@!X(Tk%&6D*rp&5dQLm1r0,9B&ir"!%!p#f`Y0qM8FrTI-RD@
+
+`pr8HUGjUf&DH"LabX!SiFZYq+(cbMj*%9j1C9J9PBiklF%"J*V5![l(VD0D5@lD
+
+X&#$9-V[Y#XX@EhI'Z#C!D*G(mm!(&)"BTbUZ5'59UfG@f8-BD*lF2pFMPCRpF#V
+
+EbqM6qj9liQUF'YleDP$qUYa+hL3k-LN%JrbG6@ea6@MKmJ+DiN2Me[%VH6$l&Y[
+
+FbkEd%Pfp25UcCAN`pX8pUm2&!-EI8MLjPU"TbmUR$9P"!-5YlBdKSKBdF0#43J[
+
+i0Xh(I6YBXSDfiS5$UiI8VIm+hrk(@b2Gc,L"V5U%J%aiDYEcqcS`l))"DKmq4bm
+
+cci2hQ1!f[4lfGYII[jZepqIdZepfI5TTA@V@pA90TZM'eehCCD[[T8pc2`c1$*-
+
+i-RcD&YUQXUciZEUZlbqEHhfEcCRd*e5C2R9*+X,GTfUd0[,Q`aFI,jXA(N8kNqp
+
+U)"+N%VUSZ#lJ9Pe2+NqF8HLMY*P`CZmp@VQaHa9h@mp'"5!6Tp[$GAdA0Zll[DH
+
+U2h&PqAPjrdH6h2q9IJlPG4hHbi+Hp(X%9m,C6bBl21FUrPI2H@YB[,bl5Nm[Vel
+
++![j(cjYYHYr)TFqR&kp,bUA&TH9&kY,M8Z*5idAX51UVF'Yf52hq*8TN9$R6*Za
+
+mUYNp--T910XIXd[0f2"[8-rdmqK$3#RKBbR3+1J"-qH%HTF'NTAdVTBVJ+EeP1M
+
+5)eVr-k,'l[1KpIfjY$krYZUj5$6!H-U''fTRhf25cX(bDVr8Y*XqT$0[YG6N"3N
+
+J+!"G8[lqSp&[F$eDd2!pHYhA!pHVh9A*cFfVNeFde*pe9`kUa1hX3BAGC'6MjU!
+
+6)4G6$fk&r'eS&ppC&cVZEGkk,eEZG&kXQFkLURi,),NkKr5"IeZQRAFZKaUZ6&S
+
+9F@,e+Z9&rQq6&kA,6XPU6UXNTBp'6+e(4P+pFYT4fqM#'YacC+`lU+q55,MkhEd
+
+XhYqa9$c#Vm+cD0k$P%Y2!fAD''ZrXBdLEJ5B&Kp4HKMAqEYZpXCZ"@PaD-l5Z[*
+
+,44ic44e9LXa4BF!Gc[DGd!5#9[C4c+b*GdC6-08(#6ccDNSqi0dA!pIUqMdR9dq
+
+DI0,LDMSDYH&+IMED2%a[h,@*@l%IJ$D'0Brm`9V'2Pffr@!ji(2a-[`+q*J(Z'd
+
+KVZJ0Fbmb1[jRKlE+CV1efZGLH2i'GLCm2+NFfYjRIrcGejIIqKQekehZrj9%""8
+
+kq(Vm5R$$iPBkjkhN3mUK`BIKS@e"(Ab8&EE,TmLEb2NrplcS6Y+C9[2#[2#R@*P
+
+A"8Tqijqam[!rRKql)rqjR+c19hrkF6P3J)h(qrIp6#X6Z9IB0pJ%YH4I&NZ4ZUH
+
+(I4Ab')EUqLTXAq4j%D+ZS,k#2G@q'C*S+d(KlUhLAbSPB@al,!i82#NHpQF,-iA
+
+IfJZR!c-$-`1rai9@iYTfSp68HT[lM)pE(kR(Tj%GE,VF[XlAKjG[bp-UqV6@'D3
+
+[Vj!!fB95F$&PX@Vfh[l9rpZ+Z!EPJ%M[rM[q6mMij9li63Zl8qhU@YIcpIkZ[pA
+
+AmqJC*[PhfjkrU1[R8jkeNTCG1Pmq@HKKA*rlDcZHVjHhdC[Qh1MNm,AT48dr&YS
+
+c&GCUe54'4)MU&PJ)1JUf8aqfdEB9hhj3eapKMr&[bKVMjH2pE`kmKfdLRS(-YTP
+
+PD1YVCHIAIfQRf0VV,HjY@rfm5[ePUEblHeUBj[aphbElik&l28Vr#c[QRk8e(m0
+
+AaIQr`hALkMqH6m0eHppmGr["K4IJKNCiq1iQ0cF(Mfp1Gl1VjZ"amMQiNZYj1AV
+
+qbA@hfhTpGUlcej1EY[m1ZZlc3deVTEHjq,[2LemGlFAcH"+P33@HfUj0M*YC,e8
+
+c-FV&`5EEr@,fVZTHHPGqPHHeCp+lUS#2NFL,hG1XlHhKfR@cqfTI*TGa4Sd[6lA
+
+UdG9TAhZ,KQdCA#ZIDSA'rjerkPR3HfXRZEaE9VM4XBPlScraAZkX(FkGdS"0S!5
+
+f@AeKFDKb,I3LrAFHY0cqYmMYTPeRbr)ZIebq0-V0VEhT8dP&65i+QR@fZfi9drD
+
+QLXEhAhGrcUrp&RRi8k,ekrREm!PRfB[CC&bpY9FDaDZ$lMcl444Y6)i+)ac4QE0
+
+Y$p%d*%Ki@3qeIPHrILXk1`lMVY(j9DrdBJ#GE)q6DSBe$'SGAfLjaf1r[HTQqaU
+
+)m1Vmh`TPA8EbCfAdYjHpRX&Pp,jdRHECS`D0I1&f5QR,cVST[b@RFY[BX)-D[(!
+
+r4"-#!B`Y4R#$9S(`@"GdEXclkHbVlj)"03c2D[S`mfAR3jrKrf3jk+JY4feqI0j
+
+IKqMTUI!P@r0m2a!#4pR6*$[5q("@@YQc'9XJ%1@Qf6VBjQ,(L`B[m5pCbq&Aa9V
+
+IJIXc1NQr&"r"fh`j@Ph1Gi2JiHGdL-DkFHV*YCBTqE%,Rh-H69bSmVaXRKf9NVS
+
+Bl8PhU8N)mUe1,aLAN!#ATB(LECfqJJm3#(DG(-QEQ2+jJ3#$+F6k9CMSd+-GR`0
+
+hq(Gd0haGhAaBl1ba43#UZ'bbC5m!+$hF'lfHlJqT)hFH,Zl1l3#'f'$qfXfX#[J
+
+F8%0(Gal[fGhSiYpLqcCVBZ*CqmTRHQqKUYC[IJeI4Yr,RD8U9GA91RMqSMajRM8
+
+[1kSA6dh[@,HB,TfGM-pbCXB-$Cqm'BUZQ[J6qFHYrR4pGB(UmcmjLe!FeE'h`Y4
+
+dG8!35-!0GA95Th[He%f,+"Jf5kA*PC%@,MjZkdqjr,ZUXL#RfXM-LlkAfPmA(9L
+
+-4[-K*`U9+(HNRJ(5!5I2Ic*5qI`h([XZRhhC+3!-F)"'"DfBL8Fa#Vl'kQq(pE5
+
+eG5iE9Y'8iipTDP'-j1e#9DZ&%#6p-HfLXihE3m6(dXDUdrBkLV(6,%ifNZrMq9E
+
+GGCKlE%iQe)r@dX)"+&@KBl4NQ1$H@ZapbqrRdhZh2Zr5pqK`Jk2h0AdEEN@rpQd
+
+GB4U4eE8VciHA@*k%0LY9V@%UIjNKf-V!fSM*F&Hd2fN)i8KBJi89feIY!DZ!rba
+
+J3D-!m"(bfMBRb*q"Hee0JRPdQ8H@MJd[4&BVb&FXBJ'e-S`)(%D(Vf&Bp5M@%bN
+
+P,bCqbfPA'mqBCPKqBCl33F+aD`%&#P`BA%`DG,MkNlKD02BQYK+m[9jppGj(Qih
+
+"b9P-5C96M62PaD%LC8iarVk!6M5EZqmh!p()AfU''c3UH4XH05!*8iNkG-)"8bf
+
+RAFMUSPkbNfG1lM6mB8jFq1RI6r8Tih94jRip0LYB4&)Z08pDKQe#ipJm6!if#%J
+
+UrCUHa-kUHT8%ATeXf,eLB9j%NQ*6*aMZ-G8Ql*M#rBUSBbUAXR*qIBV'mZRRdJ#
+
+A(+Lj8Mf0-JJ40K('fpKHdmHrphDprIqpYIG[rfI1fk[R+FSNa5UHYMT4Br*PBml
+
+pL6Yhc&6R6qE8mNkVXl*jXl1P5'e9hX3A(FpA`qSlR@rac+X8H*EEEpHV+9CLXHX
+
+94pDUP2,2V4pLpeADr-Yj'SjkL)F-QjMaEDAJfX'eX0$"YDrSpMdG-Dk'SdT0A8,
+
+,h%1kB9%LD%U,ra*iP5d0(FpT[#RIBrHmADBl(D3b-XCDbbLP3m5(JeA@lpM8`*X
+
+@U*h0@#VZXE$biUTcNmAG5BYBaIqaTB&)8MT#PXVG4BCck`GR"QlV$L9hp+p[BmR
+
+!j-2Yb*%'d&9im-CLJYi,F8heUkI4Q1YEim`al,STjTRQEJEq2'r()qNmYR#8ja#
+
+*E@ZZAV2Hm'e,`*NH6q1HSJUHM2KUHVmbA5ie6eqZbkRVe2IUHGe[RC[(NhdjNYl
+
+8bh-rhfjPF"A,fGU#1CmFcNcIMPhUlb%QCT6"`LcTALZ%90#Zj`LC3QVP(5*Qd6G
+
+)8@cdB,*RIJ!*XjQiI99M3Nk%cCE+[Amkj99DA`VPIT9K5rPKB%MLi9VjB@")jFV
+
+hTGVk'"Hach&JARThI6ARVh@EZ2m0cGlM3fpV,*@pcm9c(4Z1bD9[Nh0V*RfGlP3
+
+AI`G4i9h"mhi-U90dTQ60Rr,jce-fhpR'*$HqYB`fT[NrA%[IZQEDJjCYlS9mVFD
+
+'mpD[j'i2%VHHa"l%(cYlrr591p5DYCdEQ1qpV`k[9I"5jG,f3#HlerhY0r[*DkE
+
+K9)FELASD,E@[UfTPVB4iYrII&2hdr1cAL2P5[qfQ&'T$GdYKfURbR13kfF4Pkpl
+
+Bj-[[+r*XGj,*'fb*#fbcUj)DBhqmM[2+kRlADrDhdqmMS#i&M([$VMJr)5PP-r6
+
+RURiK'Ar&-h4+f%1%YB*fkV"mdrL*)`U@Nf4jfPU1I6X8k&2IAbGLQ1kiG4155YB
+
+idcV,d`c@21QHrAR3I@JqY,9K0rlP0aMG,J5XkilCHJLI&9eXF98qmG@Q!5q0qpp
+
+%#5'0@B'%dXQ@2Tmh6IffdY!Sp++rBi%FVKh(j0r@`rbEq28blLeF@TN[k+PrVbf
+
+%NVIk[XrdeU2!dEHI`0'Y4l2p1rb,G8QpI(Fml8pa$qD620Hr'qC(h"r@mh1QqpG
+
+Ip'-r`j1`d*K&Ke9lGdHTqR&Rhqk0X2kGrjZ`L[eq4L(G@25e2Z61GYHibqA-r21
+
+rcQD8Z3Gdh$Q+[THelc3YUr!rQZi*PAX)mR1kI5Qheem))*m[k#L#CYBkZ0+FVVB
+
+!-F&q++-B[cN9e,9mZUF6*$K-@NNI&FZaleAhU[,aE9KiImF[bBEVE4XC`)"hr9H
+
+1)18haD[C$YMhNMSEQKPIJbU'9q(+epRqYH1fbBS#+9@JMPeTNIFi4cABpI4lIYr
+
+"b(a6CG*bAMGc(PCf5&L)"(Al6i9eDYYF%iRQbk9QR,jCaQdYP(-ipMl6(1d3J#(
+
+JT1G9AVQ3!%Hc2Q8UZdQAb-$lf,")NkB,FPmLCq'abCRp9Ilqcr$,rNXYV*f-!a`
+
+$1XF[i*I$X4c*4X*c0Q&@@9Tj-Zk'0#13!*je42(&Vf0Pr(,iPQ&Dq*G2XH6"([*
+
+QjmffSE,D5-+aT6-#J%ANTdd5D95kPAdX!elI9-1pLcjGl&phZXr,iIGH0&j$HNP
+
+h(mc4ak1edD&ADaS"*iAPIq05iI9V&CRm8N0ff1CCV&Jem6T%X@T#5H3rpedh-Ur
+
+FPF@(meElPEmN2h#qRaB6e%c+%#jieP-i&aqH(r(XmbYpQ(K&h-8EN!"9HEhfT(j
+
+`[Ur8d-HCUjdLA8,4T)Pdp6aC-c@kpBh2UhG1KaBZG9br!jd'6i'K9!*""i(kMI2
+
+AhAm!MXdIUeXh@HY0R929lX!Pp1UIhhea8pDHThdb9`0"*21&P6N*"SG,a,bGUG0
+
+mMpfPMr)Z9LpDUCkA8Dd!RFa4kc9Im[fDarH#r!l+jrf`0$Y25ZrD[k@jr@rkdHN
+
+ASLlH93pC1UhAHJE[2R5j+B0TkSq@2%VkAFbKdr9XN3ACb#'2DYT&*k-refdefdC
+
+ak8%C4HYDpUCR@M05qpeZeMfXbrKfXZ,AEH4&Bfp@+aINeadCV$f+0ih3hMKlU4K
+
+QDM$%3Yd!Cjf8l')Ea,Gbf"dX)J)'qlk*DZ3hM&JF%X@@6#0qjZX))&`3J0RG6)[
+
+q+l(%p*@Y5eUHM,`X'e*!9Ged+Q3$0X-C2LaIrqhrqIYkRJD(BqMhqkhAkX,JPSc
+
+b-Ea@+!b0$!Ui2jC@2NHT3b+A+kEp-N!hDrT`YA@qp@j6ZmQT3p1TDeCUFT!!"GU
+
+LL[[EAUVrpADUkIZHGFpa0r0&cUrP`@Ya2JdV-r+YG4TGlR52"dbR[h"YT8m3pDk
+
+dV[)MBfP@YL6PYPDSfc-Uq(j2CmlY14fHK[rXCIXAAmZ9TERSCA3h-RkZPKI[,-B
+
+'0U1M4mfcp2kNXB9aKM6(XapPR9Ib9H9BD&j-(hq0)%I4'F4p([j9Z2D0LfA)qi(
+
+&UNGX6EdCQl(iZl)Pd[C'kSlaT*d`3$6`acH(Fk9Mr'jdT[rV-YE1#EYl'rI%(f3
+
+rcKq+*+*MXPZ3!2l&A'Uij!raMTXa[2ar0KjG,Pp9c-b4EmVU'kE+&11V32TCbDd
+
+GET6QXcUfG$lXMl'Cr"!TS%qABmq9b`TU1[bi%!b6q*FL[AiX#S[P$LKF4R9A#@a
+
+iE)")*9Q+fl1MQjLk%&l+Xk25jFZ6BdjZ65E2K35B0jCc,EH8G6Q+`a2dTr$fQPM
+
+F1AT@-DZ!5#eBiGYI8Z9Am'[jMD[0$M92k3#H4)RF$eIRj[cmRjqE`28qIPI2qM`
+
+&RX"rhME(aF(2`FlBq6eA(qAk1`dX@[U0,8$eqDXEfT+[BUPd9FBTdT0(MAE4VKY
+
+1Sam%UVG9ElHlQV)UaEf!LNKiBml!*KpLY,M%Pi2PAr@k[1`YEJm[!jZVjXVMcZE
+
+hG2"ipp6[P,JYj'VjkG$'Zqa*rSkIq1R6l[ZkCIESdGGVYdYV*%[DpACVZ-ZQGc(
+
+62@QGj1YidbP&*JVEr0bYcfqi`mhkG@MQdC2bTf2G[DhFclGQ["DJjB")l)YhmMi
+
+l&keK+rZZbi[5a6Z*eNh0mQGiXflRIb2jD5QhqdhpaGe,-8Ef#RJL9e"*[IpGlrT
+
+TkQpp,6qP[IDdrTA&Ak[TEMfXcNEMhGi["PTp(IdG1I`I+SdG('iHXY8I3a[(eR$
+
+`,8VCG1Vb"q*Im2ZE@9k'6iq6`bijXV+L#I,fXII%J&B6X&r(BXDUVG@+&LVBe6-
+
+X&CLTDkcmG(lf`M[0$j`QAHH2Ti,VbX$LGLTF%@HIm(,-FK$lYVf+2X2ZpKpfPRa
+
+H[+ql+AM4Q44HRf(0TFIX1E0[Th(kbRQmF"(0Qh8lq5@VU!VPBPpf@pm1$,hX0pQ
+
+4CPp$8fppYkRm9pGe&m6,LYHD2@BQ2Sl@Y3lcD&dlD$lkKDTF,UlAd91Je(k%fCT
+
+@GHG"(F``++QTB8krVfq5+ef0'+LHhFCl4lC$9e-Gciep`qb9,q`Dj'2(CrLai,(
+
+&aXL,iDAjHUqRQCY[kQY56ldPR'frZC@4CbXVp9MrVYrd`jq$m2bI[erhp4rpeLG
+
+0(592'Sh8A+6+08YDlD)Gj*PT#D&DfpCT@SR4IVUe-hb0YaXML9N!R'b2hChUAH9
+
+8AEd5`9G@)T01c6V8i1bLR,#N@(fUIHd`1q9Zj!*&'3R%!NGr@LUeHr8J%-AHhAf
+
+iU"qA2)!*$62*+)!P$PEEiQeQ9`0ICXlHCc*RQl2Q9j!!3*+m[cd#ck))0[fr-b[
+
+0bZC,F)#c8k'j&&e'"8jZap2V[kRc5FU20*cIC2CfXDIMlh(JXr"GLqqD,ljHPPC
+
+1A2hk,lTrP%H+5qQj,V#i$Me)6-bX"bC*SrklBH141`(6+X`H18q4HHlC9iijAYa
+
+hK"#p#AipIKQTiilb%GR$YBPZiqM$``'F1'2T1(dT"+f,DMRNBdH0M@)mF[N&Qb1
+
+P(5j1Cqbhj@YjL1[SSXBdK%!QfrAMAZ4m12MjZraGcml[Xhim9S[8ZkRhd1ja*!D
+
+T"$&K!)`K$UfJJl&Al9Y*[0#jmH#$F4fG[QIJJlIj(RAR3QdHUrZl+KT[FFCp(Fp
+
+$AIqjhrZEALMcIMeI4kEIA(Tk[Sh2YAUkfmrKE$hr"rjkEp'pq$6j1pq$6ISYjre
+
+rEfrqQAIlIr6`VaN'U0[LfVB3D6D9XT9Eq1$NpHE5V3ZTp@pMfPA(9(U[`cfG%jf
+
+4`ki#+l1hS!fJ!RA4p["edCH!*5QdYGl9kH2k5l#rL6SjYpGlcZSHYm,Tpr8cB0j
+
+,Rh0Uq2Y9ETZj5GAT5X)1,3$@TYDR6`-"*@Z"J(jUJ33E#2BH96+5Sap(AaJ#Bm8
+
+HR@NV!VThJHR)Tm$eqijfkbj1ZUHV8d+1E8pMVYefr"kK-N[5DrKc[De1IUrDe2)
+
+b)m(fTGaUip4rEUZk[2cAhh-K5[EB3TZi0A(*i1,YqTr"Gp[dRRDMSG,4ZIlZTSG
+
+LKVT66AN&e8qmp$8@N!$U)3Dplh[lAl6AlY4ie6e+%@$+UHReeHTl2@BGGmPX-VY
+
+haa#81,Y$TKLdF[P`qmEbQ"Ia`rM[eVBbYp8XA8Q+a6he2`ll%kQ'mf&LaZ0a&(i
+
+AKEcH))!!!!e#58Fe)'0[C'80TG@NkDM-T(1kb5`+YX#UCD4+V[bXH5i+XIfpBD4
+
+NU,fPf#`+Tr1N9k4!['Lmdbi+)%G#)'0[C'80X0I)eG,!bEfqS5`+ZmDkdmMVZU2
+
+"pbi+dr[(lXHR`1r%[b`+Z2c*cp+lXZ2#T5i+J%9iCiGRH(U+HAQ+LiU+QCGCHBU
+
+DJ)U)GhQ+QCZELRQACfGhKfKlL@KSH(LSLT!!R*KhL)ChGiZ)Ch"iGjQ*LT`*D)U
+
+,U)ZDUjHCM,#JN!$!ZUU,ZTbTGk#CR)ZFQjbVHUbXLCU,R)Q`S+"kR*Z3!*U3!*b
+
+CN!#!QkUFLiUELkb!LSb+H(8H!!%c4&CRGkQBQ+Q3!+N*ZkS!S!UV!!!!ZTS!!+X
+
+,#8!L4&CPCQGjH(KiDAU)L)LUJ)U*Q!L*S)!)QDU*LD#CU3LBL3UTN!#CN!#J!!#
+
+T!+S+S*!!#DUD!!QDUUS*U3S,X!N)K#)"1fYB3X3%LpZ&c$A`r"&FJ[a1,,k9Y@6
+
+k2L4h1*JEr&`S5qr`0j1`+A$a-#S$5hS80Rhpa1m$Y3TdMb'e@Xc3'VIQllcH(r6
+
+re!V4r2VmE59dZZdQF!RP5kljI5"@XYZP1bjhQcY9GmfC+Q5V[QcY91e8l9@fHJj
+
+fN!$YFq1SNjp1[Q9mbXMV)p(BD#$%8+LR+Q5ikl1lA9pMR5r-PF+Sma)Sl$ap#Q3
+
+PH3K+K+"#9&#+f"+,6@dL$0YSFa3C!bC#QK&i%,f'qKK`K[0j[m6GfAFGf"@(L8U
+
+2"SS'F6Le1QKjX2YKJLP+Lid*`'HkNRI-pq&#%8rkNQK1i%QIPdX[3YV@55EK6r3
+
+K`mb[c,6-r20ml-qYPd!3iXr0PIGRjXA6Rj[BkqIQehlTqEf&PHF$3cF'YVH"#,3
+
+r*JbT[!kpEE@SSC[BAepP6mf&IH6-(Ucr#Rj2IfqbRaN9$9m9R96mfSpr-p1EK)f
+
+6U8R5c-DZX,b'&#,N@PP*dKXf"EP,LiF+k,`iY,&Ma9NAGaEq,I6F+cXT1X'A4c0
+
+ED@#P%)D1+pKT58["Kjm-'(f)*!9CQFkrK&X!Zk*'hHER+[*J[D`30GRi+)QCfMA
+
+,6KG8%RHEIC3C5j[R+2Gl(B@F#E1GZ3@KddL4%c-rl!Gm6&E4FpLY$fN%&KMJCqr
+
+c2RK&kc5,Q0)[53HB+9qQS)TFSX@e8HkrZq56Si9BUeB!Yj!!dij$6MKZ2!FBkR'
+
+('C')5FcdC2hGT#dYBSFbP*S"C2QqGA98kRE3c1qE(@P)k5J"E0SQ8!eL6jQ@-I!
+
+cm'GK`VX[lkL')S0++jCYATEl+81lE'LXV"bhDkqTG6dZJQqF8UTcZ"ep0QGa(Z[
+
+ScXr)B*CRrPJF(@41m@j[IUAZChkMA%D0F*3lLY$['81qZd1TU(FCSGaTT*erU#i
+
+63RFcr5RErYcmMp2-XkkEKCRGAS09Y+%U63aIKc2iaXmB&YJ"&-3*9JAkCPdd1Uf
+
+"b5"YVUqfp$[dN!!d1UPhN!#APrc@PKhX`NjJG[QhM8iFB"Ub'QKh-1bKfpX3%B5
+
+@4FTBX$0,aJ-dl4MGJC@-$*@V[XSJV[-D*(#jfPaY1rlqhRTC*HDZ&,#Vf9SR8#e
+
+,dNY'`FBLEK*PNc2j'K93XN)&9,U8SR38`H@CR38l+0'k#UTd&9ES+V-cBAp*di1
+
+-e3kHUP3TMJi&-(Q1$J8l+0'k#UTd&9ES+V-cq4Fj4R5",M-@,qXG"Q`ERSF(KXG
+
+$a0#$hAVF(XR$"e9C5!XQZVr8Z"cd14)16mN`Qce[3Lc2m)peVTdQI(5!5KFIYcq
+
+0M9eMlQejc5#8pL$R1%$UlDifpl2qSD4[3cm(#V)bkcPS&5XD&r8-VCY0[HlC0C)
+
+e0ZGPl9Ak&S&$G(d8+p)dYV@+S,K2jl5`[qd6,&E"%DLd-cBcF*3Me,5`6VDCI"C
+
+H!QahG4Sp2#C@4HSB04aFZ&T$K`jTLPq#+qLmCRAUUGbZMVqUEk(Ali"*UDK96FU
+
++*QZdi#9eYDeeGQIk[RPZU8Tij9ji$+T!a%b9e961j%L0mNai-UPk@(d6224-KmB
+
+NDaqUBm`Xp,$Y-[e62ka)5((r%ajKCL`UCTK-SBdAdjRAdVmY8Cc)dilD,S"9fjY
+
+81LKi8UafTD,eME!@U9#hZlU0mDT9"[-5SDPA+YHEHY&j!`DC0`Kk&XKa1m$CIbl
+
+G%k6341dFb6GHVR`m,1T3V%$%eQM'Em-*HmdHMTGHZ3Q0%bBAAYcGAYh03kkZ0(V
+
+TNQID8S5cAJcl0)8QJNBa@fZd285pB'1U#hT@PJ`8-+XmXN[!8rY-FK3ZlUqQl+q
+
+0DXJV'KA@8+ZYQ3mhHhPEC3mH'NhYL`8E%(h-H&IC3dQGEJKc%L3YiT2U4IG8LfE
+
+8U0d8H#qD9fMkN!!U4Sk94eh`S00f9fre3E4qLR#-fKhiR[3lm6rG$[FYrfpHm09
+
+cpf08%!G3,"+614!`L0cEcVIj*1KFI**eBre4rU!cRJCd%$%b#"GlKN)dZCrU"Ab
+
+-$Sj5K`&3dl!S"2eJ`C,RXDG*pM6ifQP+6RTS'!5XbmX$[h4R"dEU93"R33H)`ml
+
+,k+hiAY[Z#@GX5acqpmD&D&#6i'JQ)j-J!$UjMN"6A,pb3Fab0ZVTCINGR5KmSh1
+
+,*H$,3+HCZjbK8U(q+LC2Xi$PKC+9)#I%p)3(03J+DKI%Xr+KDmS"l+"d,D,,rj*
+
+#QAaR*dZ*eZI*p*cC[SbHb(QLbq1P*%YfYrMJDp9MlPj`*,6"dk9H2SikHArdHH`
+
+BPphP8T1XB#IlQT!!HL#'H#(9D)FYGUM5i*XlV3$1E'(VZUMCc!jY4J+E(hVZk!"
+
+eA[h1QA9*L`&ASJGcQdL"KJGA9#K`&0C1FPKMTNP[kKlSZMV82iKiY-E$h,HSHjl
+
+l3pd'-KXUA[Hq0*)UXiY1kr)l$3X&Fd%%"(rD03HlilXqIHM6Za4pkj1l&(mebIL
+
+a6[5BT1S!h4NkGiBYB1MqM`1[hhAf*X+(+JSG0kj[G')hTM"haU$IKELYkDieDlV
+
+l&Q08r0kRaid4ed2H[i9(QCRTTTQNq%a5pd6+b6hF+[!Mj3%9J%DQ6hF%qBT4Vfm
+
+&"*!!DK#Qh,9DXKJLK18TmT5IRE9dfh6E"NR!NL!rQXh8G81pf6fcCXq`3Pa*2GS
+
+`JI@%Xq8T2H!6i@Di9E-Nr8kQ$h'pSE8'YYlJ#Hl2cHVHlR+YMP8kVR))i-FeJar
+
+rall+",TJ*e!1r)F[9HK%l&1Y6m(+Fcl366SrZ6$3*e1@B$BU83IqX-%6TL*d-@%
+
+2ACBXkZ+QXZ+-62+bpVM4&0&1(rf*q,GR*UhmE*UI@*08r5TQ$$Vd'Nd&hGTpd[!
+
++[I'0HJ(+jQd!GiD#Fa%lJD(U!PbE5`1l&,6J@d-fr1Nl3cAA)KGcI!H%$8[C!r%
+
+q#"q48$mMT!AHfd2Y[(#*93p`k1,q(X`aiF+(jiFP0S5G5d1XH2Mmp"R1&kLFNfK
+
+eQXRTZQ6Y#L(T-,)Y93b[TKeSHNQcmJaQ*p8f$QI-+MH'bNJFImd1!Zpd&VmliRF
+
+J4ZAA&*jb'3,Hc3bR"5rlaRMDN[,jHIjcQDC`T-8R1C!!Cf''#QCdh2!CXGNI5@P
+
+Qh5ehMAeeZEik60GSIP+IGZcZc*T3QqF5akiGHYHDl3pI#e+H&B%XiS*Xk'9(5K@
+
+fRSD(jbYe3fTQcZ99did%,!%V45eB#Dc-qb[,K"R,JKFKAGAYlY%,Thl)Y4Uc&6Y
+
+a8YrrGlpQipUpqeAGKA8je2[SApBk%[,fehHAHrk@cq$88d3U'f[VfifP$kVR6pr
+
+$r+G`T*-cr`[4KJcU"hH%jZNh[Xr,b&m5R"CX83S)#@fZNmN"2YCIR*j@QaJRQbq
+
+M(B*aAARSbGA#laI-ae8k('"4S)q41Ka$)VjmPY"HfefC4#@RfqCQV6YD-lfRIr9
+
+ZlhDEMFE*DkDGbhj)@K"p2ZXChZ1Tm,RE8Z0T2[VUIHHK*VF(8PU(#K`Le$b%Q+6
+
+@cU&QE,NURPpHINfGVcMbqJ9QbHdRS+NeYRDkb9+ifAedp"PRDjc"j+)G"Nh68RD
+
+eP3V3BAl-Nmp(4bq#FAPEPmF"Y,Pq3NU(K%1bj3j#GPT+2CIfEp*Lk+(eG#A,bqZ
+
+f00EIC44cS,k-VA83P9ZAel`eF-(f@#8Z#3FY[&k5a'Yrh[*Q3NY(L2M`+*RHFN6
+
+AbTA)C)Q&I6mhrC1-6UjH3B"B)fHpIpbN4@fVKH0#,P$B4Y6322G*V8Q3!+E8T2I
+
+Xl@rUG-8UfaS5)@pkPkke@i,P'QZa`p-L,C6cNcS(%eVBk"j,VR"dV!bd`i6BjDq
+
++M*1iCjN0c#XMX,IV3V[+RFqGBlUfKCeISG$!k1"d-$im$pH"m9MZMlp+[PDqINi
+
+`0Gac+L0!UrkPj`UMbGpV)q&&DA(9LddF[b[,b+hPm@MTl(DpVcSY0Bdj[B@2#U2
+
+`f2)Mi[kFb&E2bH9[*q5LCrCBfA)RpD6e#RRk$Z4ISl@ND++rZ$,a$6cGA$8J*mk
+
+EP`l,P3X5L@[biDM[CN+qIi8Hkpr2K@6mj`i$+A$8FU)(Ua"i[`cYVkYr8829H&U
+
+A#-++k'S%bYlAD`e8h$KV4HXVb,"PFUS[kMPD*&j"kabiDZIi9LaQr5m-eD-b3*T
+
+8K!*V*#E`FTk*0,$8+9DeA5bj9b'&FK43#L2&K+Z2MK&M3VkkZjPG&JpAbrBMPpM
+
+#1VRj+$KZ[9er+VJL2**eTYG(C`P*Dj8@49QX!6(Qm+X[2ZIS,Y$C@RH+HQ15F(%
+
+lF*KaBl#6hjrppFCMSEqIj@CdrUj9RDq"GAZd1IVPDVF)(A0[I@k"dHiMS@2#UjH
+
+U[Er5krh-'XeqT[kLEmhDqa*RrMpM"q6-qrQII8Z[EVCX,Z9mq1KcjQUq9Ik2AkM
+
+r-BL(ZVQII)dh@[e(FkMPlRFHa*eVbEKD%rT4jl46c(J8kc45E5V2+Yq"SmkCEp+
+
+&4D9b$KRm*NXlH%UaXc4YZL62f@X09$YiTdhQrQeF0C&1ZZGrMl9c1QcC[-pA1iZ
+
+cq#&VBf!p2BflJhiSIeK"pTpL$aSiRl%@YIX39VY#[+Hql+miQqVEQRFm3'S`'bE
+
+QQ"@R85b3!(+a4V4JYNf4qL8NRT8pjSl'"X5C2,iqlVDIUcTQ[K0Q6TNr*p,Ml[8
+
+f5KL#dkllk%klmReE5URAH[UTq5P%ZIb1Ir3%h9TqVc12Vp&kh-XY&1ZrdFbGGqc
+
+ak-[NmAGbNG0Y-[rL5l+(iJ%0"-SrH1'@!NF&dSCR5Kb@K(i'K'Dd)pYJ4%[XD!M
+
+@Y#*l3LN`)U0@d`J[i(G+(C,kHZP$Z@K''d)b'K(RY#%l)`%49l3MZfK(K0)%rD*
+
+!Jb9ENpPbHc*2j16fepTSJAP5iI,rKqr3VUc6D+25pP8c)3Ur(NNrh2Drf#!MJ3J
+
+*plNk[bkI*RHAa+rNHAaHaPqAaJ)j&I1m[lh*qJmP&H!QQ!68#3Rm[pQM29G@(bj
+
+*0#`1E+f!3'`%iR&ll3!R2!6UTlMdKAj9Yej1C'I`jp#`jNb1ZQ61fTdjNGA#C(S
+
+`%UB61fm`%,5C-3NMKE6)kFbRCp@R-eGAD4r4rqmkZMQq2P4m@dUSr9K9@HI6USj
+
+Pq!RCrXMjN@kMK&GMq-%8a!JF$qPj1BJ)i%2L)2F8TY#2K!6T**k!MJ3m"R`!*rk
+
+H6a2Hr2KSNrY5LBlImB8*@LqUIh3JMb!4j3)e%r&B(mJ$qC+dGaJ8Yj4hk#FX)[!
+
+KR5jIK@RKGai@[m,k48h9Vm(DQeKJ(q&IFP9'drP32UM'[ZiIf[49f5I!qd1,bK$
+
+P5p*YXM!b-6H4he(KC#Hm0#qR$RaH$UG9YpZ&U#(R`rULhGRYfL%k&V&VB[c49#L
+
+(cSDb&4&3Lkc2pL5(G[5b-6)hp(HJp[SF9,j#J[eT9e[F6)PEHP[F8MZ%@Z3`d9a
+
+Nj"YV'RA&a[&KF3K8d-$Jj&'"mqG6FEqMJBkUUPF[CiZ"[BlZEl#"YBSDFCIG)(b
+
+pa$L0C[qmVBiQrSbYTM8D80SU,LVBSe&dP$!`U-HfSj'6M+ND1KMiP,)pJS5f%C@
+
+ebF6)KY8`$eLrmQLVr#,6D@hhH,Nj%ERrkh5P,im2VX*Y$pmT&f925`MBMhXF6(i
+
+13HUPUeT,IHC'6JEq2EBR$S`lL%*ImIGI2B'km$HkY'KTE"9kqdF$ZjF2Uc$aFI%
+
+iH,5b-$I`X``m1MMPZS'q#N9kSpfb3+NJq"LIcC04Gc9Ne+3S-rm(8Faq(C@PPp)
+
+r@qhJmj[#fUU6ej)Qe5INfYjNV9*mI8kMGMHh@a6U6!1++,CA%rYPkSDD%jYr9kk
+
+T96cSTN2HLiEPrGBEL@TKYH3kkS8&Hd"@cKa14Aq*MiQ4N8D8Hlm@2FiP,#MfDMq
+
+["r$Lm2NIB[X2%i-H"MBfr*Qb-6&T4JIJiZ2(iH*4m4#r!T(iT*EkJEF-q-NH3@H
+
+4q*LC''PYQ6`ANEfhLPl(!XSijZ,NBCH1U#P))pjLle#RJ83hhSkBp'2Jj10MBZ2
+
+N'3**(L[)I0LaH48V6Y+4(5r$mdALFMr5q`k,TKf*Dl'G@Z2JBq*4BMiZlb-!(Gl
+
+(Jiq,`"aaDALm$&b55-M'eXILBG%)b#F&$NPiUFCG)l(HE`4V,Z1lXAF4[BMBk)5
+
+NT8$,53$Md8ESmJK46#PJF"))5P"3i&q"'8[a9)H#$J6ErHdFGDB++ZVT(LcFAdR
+
+,R%jHl$i14B1L4,6mHM4m3QM@adD@qaI&Ma-MY8ZX!6YMj5l%")[EKT2akA5*R*l
+
+)$+e0pp-kUEqS%H'Qq#"(&Z0TFh4LCj1ffAJA3)IP@rH+(q6EkHIFl+qfB3GDhfG
+
+lI'VEV0aXTpb,dmrmPYi5S[!CJr&pZE2Z43L29c**Ub1+Z55A#%p*#34KJT9#SNN
+
+la0$)&e+"HR6*Y8a55GP$q,ih#[8kP-S#GC'%06lD%0153#rLB3`KBFG"AL554`e
+
++'b%%F2RG&$I8kT!!Ll*0V+9ClG!cXdc)-3cmrdcqN!!aZkG[$5IhqM%2J-H6$5H
+
+T52ALJCpd$2*B5GRk)'B-'(Rj84q+SArmE!%)GS[@Z8Kl6m#"Iee#rD3,ibaCZQD
+
+A&$%Lf8acX2rcSjX0""F!!!#!0@9@8(GRGRH!#(!!!)Ki#'F!#)!!"`J!!)"h!!#
+
+!!)"iKSCR#("fGf!&B)#!F)!!"3Gf!)F!CfD!GPB)J!J!!!G`!!J!!!!!!!#!!!!
+
+!!!!!!(!!!!!!#!!!!!!!!!!!!!J!!!"`!!!!J!#!!!"`!!J!J!!!#(J!!!#!!!!
+
+!#!B+!!%N"!8!!%!!8!-6*&@)N36pJ9"1,k4l)qmdpZR(aiF8G(6Af)m-E8GIFeE
+
+[,L`fTqI$6bFf(QV#c"FpZ#UVj9![FN5ZLbq9l[9mrppBL[,%9[2QamJBfBfipdE
+
+XIKQm@rd460V8Hr*mEAVYm2"DTUYCDUHHV0m!liKIqBhC0abr8B[ZjX@+eH`im`A
+
+lmEdIBcABmTX*60[dj9(q!2rT5mD-pl*MTimJHmdd6aS"BT!!&4,P34[PViKXCqM
+
+TR"'Q#00SK%,2NL@5L6rJ[DGm+0+lfk5kMA"PDjGi-!-lec"k25#2(F[m0!)mX[m
+
+cjajS5pS)L28UUAqX'Ek'!!!!3J!!N!!!!!!'!!!!!!!!!!!!3)!!!(H3!(GAKRQ
+
+AQ)Q3!!!!QBJ+#(F)T`Q3!*KT#)#*QJ!%C94RC+K@9&P&4CDAN!!!!!UJ%!!"*%9
+
+@B(F!L)!!!!!!!)!)-M0%9&99CiM[ReE0QlM25!Jr'0rI(,r*p8)`i9P,R'XS4cc
+
+aRI'dkC3i8V$qTbjcbmS4b`KR@H9NMGRYicbPS+kYThibdKmI$GhrRqfk'ZM&DKb
+
+$UPr21934%am225dZ9d0RKC-(A5A$A&K2EM39A2M5'QZr5qXpmS@T$dGqXBI+FBI
+
+'@82RaM2d3k,lq8FZ[(q2aemShAhh*$b`ek@12d1Q[j1YVK@R+(Ilrf5kMAVV,qG
+
+CD@rMmBmITIVTG5[Pdh+P*3i5ME@SXbL2`fE2VK$iDjjdVE5'qPZ-2Gl%kq8E3k0
+
+*mLTq%jB2*0IaM@0pT98A`K2+'b(r[rr9bM2,&0T+L,A,l2$hGc`,Y@1%eGmFAm'
+
+-!h4$G'I116!,[S@Gla#p,r[Vi%E)3SmrGChJBA-XK#"jN!!)b8lF5%FD9RrP-V4
+
+aamf`hSCCZ-Z&PTfXr,MEU%9QNF9(B6[@BA+(+Q%Uj3jamqQ#i,*'Vm#(eFp8'L#
+
+56#&S5q8mJjl%18mTmYH8#Um'Gk@06V,P,*R(@d9qQ1ZN1C%)EBH1q(krPiZ-,Zf
+
+pXSDFDDii3jdVp1U'r@`'k3bTBTJjKBh4,!-i34UhZR,A'aR14)$MFjCB%99HZ@H
+
+c9ZV%qhed29GkAVfI2cmlD5ai)9dj&13k)lk$%fqQ([kESEZG$FK$-Clka#V4Vk8
+
+VT[XFA#PPN4bTPjmU%Ti@cKT2#@PbqR&cGYqk(lXlaPErL+Q!E&YYlIAGYlIXZfh
+
+EIY12*E`cehpPlGdGRYilTIheLHZY'YhcC*',ja3X'h2&1$V4MlqflZlVY[Vp9hE
+
+h324D9[l-lq`rJcrj3$i'06bqJKK2'5R9E%YHbK5-pJYJ$5+`KK4IL(3$JY5G8-m
+
+C4&jK,'9J$iPf*bi8jj3aT("U6mkDe9d'K2pCIpTjL)q5qUrh0"Q`!!!$dP'L!!F
+
+!LNeKBdKKERTT,X3!"JKMBfaTBLia0J%!!!!)@NP,98e$5&UNHRikT(TqG3!!TZ6
+
+p9`!%!!!!!!!$S%!!!!!!!!+Tl3TMD'PZCA0P,M%f!3!#UI9D58Y9680)@U4kIUb
+
+NHRmc!!!E8a9h!!3!!!!!!!E!3!!!!!!!"(N)$'9iB@e`E'8ZBQPR03%!"b,p9%9
+
+B9(4dH(5NHFA"T(R'q!!!HJ)*YJ!!!!!!!!!!!$X!!!!!!!!!1`TPH'&YF'aP,QG
+
+L!3!()cK849K8G(4iG+4jaF5NHFFT!!$E2d89!!!!!!!!!!!!13!!!!!!!!!j#%e
+
+KBdKKERTT!3!()h&"8&"-680)@U4kMDqNHTA2)!"*!1JS!!)!!#85!!!!!!!!&#%
+
+!!!!!"P*PB@40C3%!"cH59%9B9(4dH(5NHr58T(`l,3!!+Aa[S`!'!!!#2J!!"4)
+
+!!!'!!!!$%Fpc!!!"!!!!-'F!!#pR!!!#1J!!,X3!43-!!!!!!!!!!!!!!!!#'99
+
+dD@aTG'PPFb!S$%eKBdKKERTT,Q0`G(!#!!!!39"36%9B9&)!!!!!!!!!!%&38%a
+
+&@&45!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!T(a(e`!!!!!!!$+K!!!J!*RZeB5
+
+Bl[KJ!!!!!'C'!!!!!!!!!!!!!!!!!#%!!!!!!!!!!!!!!!!!!%fG!!J!!!!!!!!
+
+!!!!!!!!2!!!!,X3*3fpYF'&MG'pb!J!!!%&38%a$8%08)3!!!!+!!!!!!(3&!!!
+
+!!!!!!!!!!!!!!!%ad`!"0!#L[qMFSVrSj3!!!AJ!!!"3!&"33808!!!+G'KP)'C
+
+TEQ&X)!!#)#-!!h4SC3YK)'4TCQCPFQ9ZG!!!5%&eG'p&H(4bB@0dEh)JFQ9aG@P
+
+bCA-J8hPcG'9Y)(CPFR0TEfiJ0Li`)'&ZC#"K)%eKBfPZG'pcD#"3E(9c)'pb)'j
+
+PGf9b,Le"EL"eER*PBfpfCA*KBQaP)'PZG'9bEQ&X)'9bFQpb)'KKFb"[Bf0eFR*
+
+PC#iP9'KPFQ8JDA-JEQpd)'9ZEh9RD#"YC@e[FRNJBACKD@aKBQaP,KY8D'Pc)("
+
+KFh0hEh*N)'Pc)'j[G#"fB@aTC#i!!!$rrrkN!!!N3A9dEd9iG(*KBh4[FL#T)$%
+
+j16!JBRNJ3QPXE#"(EfpNE@&Z!!C$B@jMC@`!#d9iG(*KBh4TEQFk)%CTE'9c)(*
+
+PE@&TEQPZCb"dEb"LC5"PH(4bB@0dC@3k!"p8D'Pc)'&bBfKTGQ8JGf&c)'0bC@&
+
+dC@3JGA0TEQFJ#%p08%&$9%p5!!!!!!!!$!!8!!S21!!%!!!!c!!!!!,qTJ!!)S!
+
+!8!!"6PErP#m--#i!#-(m!%l3VHl)+%"#,I'f+dc[MNkk(,"+,I#XCbB3,I#YX#`
+
+!)@FF3Lh`V%*R2bhaY%kk(hJ`(cY!mGK+EI(BCJ!$V%SYm+aQ%KYX!#(`V8kk#rT
+
++,I#XC`!$P%*R2bhaY$mm!!%[,!!L6VSIkM!I1d$af%TYmGKQ!!0d3QFr,I'i,bh
+
+aZLmYlii[,!!U,b`!*Nkk)-i`(cY!mGJ-EIr3mGKQ!!$U,bh[MNKYrUC)EIkQ5'h
+
+qTUQ,3QFr2!$a3UHTL$!I6Ud!1J!"!!-#kJ,S!!3$JN*R2bhaZ#mYmES[,Hq16VS
+
+JqM!I1d$af!aYrp(af'B!!'SpEI'irkSYEI'krm3YEHq1rkC#,[qZ3QlrX%*R5'l
+
+rP%*R6VSIC$!I1d$af%TYmGKQ!!,f%#lrXNL!#!!!"'FL,bh[MNKYrUC)EIkQ5'h
+
+qTUQ,3QFr2!$c3UHTL$!IB!!#B($41d$af%TYmGKQ!!+k3QFr,I'i,bhaZLmYlii
+
+[,!!U,b`!*Nkk(q3`(cY!mGK+EI(BCJ!#NMeYmEMrULeYmEVra#eYlilrTN)Zrkj
+
+#E[q`3QG)E[q83QG1ZKl--"ml32(B5Qhaf'B!!Pi`22Vq`'`!0Me!rl`YE!!Zrp`
+
+YE!!brq!YEI'krm4#CdKZrj4#Cdkk(V)`(cY!mGK+EI(BCJ!#*JJX!!!!2@F5F!%
+
+E31kYF!%E31jX6VSA`Q!%3LhZVA$r+d$afLYX!%EZC#YX!$lZD%UYlQ4R!!"m3QF
+
+r,I'i,bhaZLmYliiI2!!$5'ha[Nkk(YS`(cY!mGK+EI(BCJ!"aR!"'d$aYJJX!!%
+
+!2@F'6VS#FQ!%6VS#%NTYlQ*R'!aY!!(ZBQF!!@i-E3!#lQ*R!!'8B!!"aN)YmEC
+
+#CcmYmEj1ZKd3-"ml32(B5Qhaf'B!!A3VE!"+lQ3VE!"#lQK+VHjNC`!!I%*R2bh
+
+aZ#mYmES[,Hq1(c`!!dKYmEj1ZKi1-"ml32(B5Qhaf'B!!6K`!4Y!mEB),!!#!$e
+
+R"Nkk!H4J"%kk!B4+EHjLCaJ-E3!"lQ*R!!$J$'d!!ZjLC`!""Q!!!6K#,I'f3QF
+
+r,I'q6VSFJM!I1d$af%TYmGKQ!!$Q)#hafV#X!$KQ!!$U,@haZ[r%3QG)E[q83QG
+
+1ZKdS-"ml32(B5Qhaf'B!!,SYE!!brq!YEI'krm4#CdKZrj4#Cdkk(5!`(cY!mGK
+
++EI(BCJ!!P!JX!!-!2@G)3QFr,I'i,bhaZLmYlij1ZKjQ-"ml32(B5Qhaf'B!!'a
+
+J*NSYmECR)%*R2bha[Nkk'qJ`(d*R2bhaZ#mYmES[,Hq16VSH"M!I6VSC)&0Ylj4
+
+1ZKMbF!"J!!#3!%TYmGKR!!"J$'hrfI(BCK4+,HkYC`K`C6Y!mGKJ"R"N1d$af%K
+
+Ym,41ZK6L@)pJ0LmYlij1ZK6@@)p+!'D+B#B[,Hq15'hqTNKYrUC)EIkQUBY#Ccm
+
+m!2*#TkQ)-"m-3!!"C`$rC%SYmECR)%*R2bha[Nkk'dS`(d*R2bhaZ#mYmES[,Hq
+
+16VSGD$!IF!%SAdjH6R9#EHjL3QhZG%kk"*!!5QhZBQC'+fha`2(%+fhZeZlHB#i
+
+J,I(3X+hae'B+6VS%ENTYlQ*Q*#"YmG"5VI(3F!!3%$m!6VS&cP525QhZBQB+5Uh
+
+ZD'E-6VS(*Nje6PEq3%MR(`K#EHjL3QhZG%kk"#j+EHjLCJ!"kLYYmF$aa#YYlYE
+
+ZhL"YlYC#+"rp)'hZeN)S(riJEHl@3LJIrcmm!3![,HlL5'lr!%kk!Ej2l`!+5Qh
+
+ZBQB!!DSr2!"!,bhZjNKZrX"1ZJ'L6qm!#NTYlQ*Q!!'12c`!J#mYlZT)E[j!6VS
+
+"KNr[!!T+EHjLCJ!"FRi!3QhZFMmm!""1ZJ-89)p+EHjLCJ!"@Q!!!6Sf,HjZ#!-
+
+!$fG8-$arrm"$5%"#3%K!d+hZiL"!(""`!"!'5%"#3%K!d)iJ3(!!%#Mr!&*!2`"
+
+1ZJ,-9)p+EHjLCJ!"%R!!%!Br!%kk",a8MdTYlQ*Q!!$q9)GJ!!$F-$arrm"$5%"
+
+#3%K!d+hZjL"!F!!3%$J!-%64cR!!%#Mq`&*!2`"1ZJ*q9)p+EHjLCJ!!a$!YlQl
+
+L5%K!3N")30#YlZSJ3(!!%"!k!$"&dFj`!"!SrN!r!%kk!Na8MdTYlQ*Q!!#5-!A
+
+Y5$S!-#hZER)+iQL+3$mm!!C1ZJ)U9)p+EHjLCJ!!F$"&)#hZhT!!L#K!ZHhZeQ3
+
+k5H`J!'!d5UhZD'B3F!%l31jLF0Nl32(BB!!!4(!!%"3r!%kk!qj8MdTYlQ*Q-&+
+
+-ZHhZfQB%+'hZeP0%5N4XaPD($)F!!Ir`E!K+VHjSCJ$qZNUYlQKQ!2j#6VS&)%c
+
+I%2K1ANje6PEqrNMR(`JJ,I(3X+hae'B-6VS#)%TYlQ*Q!!'%)'had&+YmG"`!"!
+
+32!!`"Y"!X'i!%'i!!9jf!'"-)#had,#YmG4Q$%kk!Ha+EHjLCJ!"8$!$8N0)`0#
+
+Z!!JJEI(3FJ!5%1K*)%!3J6!$8N0)`0#Z!!JJEI(38Uhad()!%K!#33!2)%!3J90
+
+'5NCXVQ!1-!053dM!d+i!##"!3K#fEJ!3EH`f,J!3B!J`3p(1%82r!&0$5N0XmN)
+
+Zr[m`,J!38d!f!'"3-%24cR!!%#Mr!%K!3N")30#Z!!J`3p(1'#Mr!A)!%J4)38*
+
+"5%(5VJ!))%%L3"!4X""M($"$dFib3p21%@Rr!2m"-%24cK&%r`"`!4e!r[p63dT
+
+$E+T+,[lrCTCq!(B!B!!!C$"$dFiD+2m!F!!3"8K!3N")30#Z!!JJ3"J3F!!3"%T
+
+!Ccj`!"!%FJq53(!"ifJm!$!(d%C)3%*!5%!-J!!!J!"L+(!!-!I3VJ!-+%"J!KM
+
+&8Flrr(!!%!3b2)!!i'RH39*$YQi!%'fBB!a`f6Y!mGK`!6Y!lQ*-ha$i6Pj1G8j
+
+@!!"`!"!Z!!Q`EHjbB`!!AL!YlQib,HjbikJV31jZ-#hZFT%Z!!NJ,I(3X+hae'B
+
++6VS!@%TYlQ*Q6#"YmG"5VI(3'e$ZF#!YmG#`VI(8CJT1ZJ!i5QhZBQBX)'had&+
+
+YmG!E81jaF"!l31jb)#hZEK)Z!!RMU#Y!lQi3,J!*!N!!rj&YlR*1ANje6PErr%M
+
+R!`K+VHjNC`!"9Nkk%A"+!'F+F!-l31jLB!!"8#em!!!3!2rm)#lrr,#YlQ4M"Le
+
+YlQ6rr%*R2bhaY%KZrr`[,I(-6VS@BM!I1d$af%TYmGKR3JaYrpRaf'B!!3T#,I#
+
+X3QFr,I'd6VS@)M!I1d$af%TYmGKQ!!$Z8Lh`V4!Ym+f`,HqJBJ!!f%kk!U"+,I#
+
+XC`!!dNUZrraRJLmZrra1ZK1)@)mJ,[rmNDhZC#!YmFc3V[rm+d$ae#YYmFcad%S
+
+YlUeR!!#Q+'hac#iZrraJDL!YpH,JL()!%K5aJ4`"3G45M"#'F!!3"L)YpH+cJ"`
+
+!)#hehR)BikJL,IALi)Q!JA)!%JC)38*"5%(PJ8(YqHE4`5)3Xi!V32AL)#hehZ#
+
+)FJ!5"NK"3N&)3H@"3HhejY(")K#cJ#Y!pGj6KdU(E*!!5LhZE'FN3LhZE#"YmFa
+
+3L#Y)mG!J,I(8X+had'3-F0Nl32(BF!%l31jL60m3`%jH6R919J!!)'hZhK#Z!!P
+
+5VHlH)#hZhV#YlYTQ"LYYlYEZhNTYlR4Q+R!!%#i!#3a!!)&Q&!bY!!!!!HjSC`T
+
+`!6Y!lR4J!!%L'fi!#HjfB!!!qJaY!!(ZG'B!!(*`!"!Z!!N-3!##CJT`!MY!lR4
+
+J!!$i'h`!JHjf)'haa"#m!)&5VI(%)#haa,#YmFKQ$%kk!0a+EHjLCJ!!d&1YlQK
+
++VHjSC`!!a(!!%#i!#3a!!)&Q$!bY!!!!!HjSCJ!!V%*YlR3EEJ!*lRCJ!!#!3Qh
+
+ZG%SZ!!PR4&-Z!!PJ,L"YmF33VHjf8Uhaa#!YmF5`VI()CJa1ZJ"i5QhZBQB!!'a
+
+6VHjS5UhZD'F!!'!3,J!*8bi!#8S!CXCJ!!"3)'haa"#m!)&5VI(%)#haa,#YmFK
+
+Q#Nkk!$T+EHjLCLj6VHjS5UhZD'FN'h`!JZjf)'haa"#YlRC5VI(%)#haa,#YmFK
+
+Q"%kk!!T6VHjS6Pj1G8j@rr`J,I(%N!#YmF!Y32rm,blrr#mYmF"1ZJf)8)p#Ccm
+
+YmEj)E[rm,bha`%kk%k!`(cY!mGK+EI(BC`K`!MY!lQ*J"LYYmF$aa%jH6R919[k
+
+@,@hZH2ri3Hlrk%2YlR`Jf5$C)0NJfA!!%#h`V3a!!!&Q(MYYlkE`VLYYlkM`X%K
+
+Ym,4)EHqX6VS0j&#2B!!!UMmm!"5Tb(!!%#h`V8T!CK4)EHk-5'hqTNKYrUC)EIk
+
+QUBYJ)R!!%#h`V5m!5'lqRNkk&!T)EIkQ5'hZQ%KZrTj)EIkQUBX[,[ri5'hqTN+
+
+R2c`!!8KZrqK#TdKZrjir2!(e3UG1ZK$'5LlrRQB)3Qhaf'!!!6j#CcmZrk4)EI#
+
+Z5'h`X%KZrTC1ZK8F-"ml32(B5Qhaf'B!!3a)EI#d5'lrU%kk$6K3Md*R2bh`VLm
+
+Ym,")EI#d(c`!!8KYmE41ZK1@-"ml32(B5Qhaf'B!!0C`##e!rTT#CcmYmE4)E[k
+
+D5'hZcNkk%P)`(cY!mGK+EI(BCJ!!T(!!%#hZcJa!!!&R#R$C1d$af'!!!)i`,Hl
+
+3X'h[RQBNF!!3,I#Y5N"R#K!YlXq`,I#YCK"`!"!Ym+e+3'C-5UhZdQC'F!!3,Hl
+
+2,`")E[kH6VS5p$!YlY#`EHqHCJK"lHkF)!KJ"N(YlU!J#%KZrTi[!%KYrUC)EIk
+
+QUBY#Ccmm!0C#TkQ)-"pJ#(!"'d$`V'!U3QFr,I'd6VS4M$!IB!$qF%*R2bhaY%k
+
+k%A``(dKYm,41ZJV!@)pJ!2j@6Pj1G8j@rh`["dkk%2*)EIrmU'kSrMmmrrp#Cdk
+
+k%-LT%UN`UFa#TkPlU&"#,I#X6VS*j%kk"hj1ZJ&J1fh[T['i,@h[U2q#3UG)H8&
+
+8@%8r2!2SU"mJAbe)rhj+V[pqCc3[,[pq6VS3i%*R3HhaZ#m)3HlrJLm))'lrIL"
+
+36T!!-"rJ5"e!rhd[,[pqUD0+,[ppC`!!r%SYrUYR"%kk"#4"lIkQ+dM[MN*Ylj)
+
+[,HlZU491ZJciF!%E32kUB!!!Z(i!B!!!TM!(`I`!6Y#YlXJJ3(!!%#J!)!J!!!"
+
+R!!"L2@haZ2qF3QlrSN+ZrjK#CdKZriC#Cdkk%AJ`(dT!C`41ZJQ#$'j#42r'Ca"
+
+#Ccmm!2"#TkQ)-"pJ!!"f,blrJMm(6VS%,&b25J"Q!!"N-!I"r!"1d+hZb#"!hQJ
+
+!0Q!S-!I"r!"1d+hZb#"!%#J!)E!YrUTQ%LYZri,aZMm(6VV`9P525J"Q+&*([Qh
+
+Zc'd!reC5,IkU%#hqUV!Ylk"M!2p!3QG#TcmYmEK1ZK"Q-"p1ZJA),Kp1ANje6PE
+
+rkNMR!3K)EHqX5'lrkNKZrqbTp5Yi!jM[U$!i!K4%3$Y!lkC)EI#d5'h[V%kk#Q"
+
+3Md*R2bh[TLmYlkK)EI#d(c`!!8KYmE41ZK#q-"ml32(B5Qhaf'B!!U4`!4Y!m+a
+
+`##e!rra#CcmYmE4)E[rm5'hZcNkk$h3`(cY!mGK+EI(BCJ!#H(!!%#hZcJa!!!&
+
+Q!!*NF!!3,Hl2$%!!!@B!!PBlEHl3ljj+VHl5CL"#,I#X3QFr,I'd6VS2&$!I3Lh
+
+`V8kkqkT+,I#XC`!#-"YYlXr[S($r+d$afN*R2bhaY$mm!!%[,Hl56VS2MM!I1d$
+
+af%TYmGKQ!!)%F!FY32rm3QFr,I'd5'lrr%KZrr41ZJlD-"ml32(B5Qhaf'B!!Gj
+
+)H!!$5'lrq%kk#*K3McYZrrMZc$iYlX`-E3AFlXaZ!!'fF!!3,[rk,8$rr%*R2bh
+
+aY%KZrr`[,I(!6VS1MM!I1d$af%TYmGKQ!!'5,blrr#mYmF"1ZJK-8)p#EHq83Ul
+
+rm%)YrUXSEHl)B!!"*(!",8$rr%*R2bhaY%KZrr`[$%kk$NJ`(cY!mGK+EI(BCJ!
+
+"6%Ki!!%[$%kk#!K3Mh!!%"3)!!!(CJ4`!'!#F!%C3!!J!K3!Ih!!%"3Y32rm$+i
+
+!!!!IrraZ!!%13QFr,I'd5'lrr%KX!!&1ZJh`-"ml32(B5Qhaf'B!!23[,[rm5'`
+
+!!8kk"kj3Mh!!%#`!)!J!!!"R0R!#,8$rr%*R2bhaY%KZrra)E!!f6VS0X$!I1d$
+
+af%TYmGKQ!!#d,blrr%KX!$C1ZJGZ8)pJ8R!Y,8$rr%*R2bhaY%KZrra)E!!K6VS
+
+0HM!I1d$af%TYmGKQ!!"q,blrr%KX!#&1ZJFi8)m),!!!!$eR"R!"'d$qUe*Ylj3
+
+J,!"'d+`!5Y'Zrr"*l!"18dG+4f`!rYJJ,[rdX+hafQBd3Lh`V%*R2bhaY%kk$3!
+
+`(dKi!6m[,[r`6Ud!@LY!ljC+VHq@CJC`!5Y!ljBVEHq@ljTJ+($C1d$af!aYrpR
+
+af'B'F'3l32(B5Qhaf'F+5'h`Y%kk"JCBMdkk!U*-ha#!6Pj1G8j@rqa#Tcmm!I4
+
+#TdKirrqTI#"I,8Mrr#mZrr`r2!!$5'lrqNKZrrC)E[rZUBe#TdKZrqbTN3aZ!!,
+
+rl'B%6VS#@#mZrrC)EHkZUC!!F!!3,HkZ$%!!!@8-F!!3,HkZ$%!!#'-J5'hqJdK
+
+YrUC)EIkQ5'hqTUQ,3QFr2!$53UHTL$!IB+S[,[rmUB01ANje6PErM#m(2Li!#$!
+
+(`I`!6Y#YlXJJ3(!!%#J!)!J!!!0R"R!!B!!"hMeYmEMrULeZ!!Vra$!(`I`!6Y#
+
+YlXJY32qQ3LlrVN*Zrl"#CdKZrj4#Cdkk$*J`(cY!mGK+EI(BCJ!!UK!Zrl*)J!J
+
+!!!4R#LeZrm6rN!"J!!$+-!I"r!"1d+hZb#m!5'hqTNKYrUC)EIkQUBY#Ccmm!2&
+
+#TkQ)-"p1V3!k!!%!!`%Z!5`!#J!#F!&J!!&3-!I"r!"1d+hZb%*R2bhaZ#mZ!!S
+
+[!%kk$Ai`(cY!mGK+EI(BCJ!"%$!(`I`!6Y#YlXK#CcmYmEJ[,J!+,`")E[q3!%k
+
+k$5!`(cY!mGK+EI(BCJ!!j'!f$'hreI(BCJ!!f$!(`I`!6Y#YlXK#CcmYmEJ[,J!
+
++,`")E[q3!%kk$1J`(cY!mGK+EI(BCJ!!V$!(`I`!6Y#YlXJJ3$!(d'J!0Me!rij
+
+J!!"Z-!I"r!"1d+hZb#"!F!!3+!!J#!!!!'FS,blrN!!r"dkkrS4FMdS!C`C`!@!
+
+!!(``"m(m!%l3VHl))%$HD!!fB#``"m(m!%l3VHl))%!3+!!KX#hqUQB@+flrN!$
+
+aZMm(6VVUUP525J"R"(!"B$``"e*(X'lrMQD+F!"J,M!(`I`!6Y#YlXJJ3!MS!!-
+
+!)(!!B"J`"m(m!%l3VHl),`"1ZJ0Z@)p+!'E8F!%Z(djH6R9+,I#XC`a#CcmYmE4
+
+1ZJS#-"m[,HlL6VS*c#mYlZC1ZJR%,bhZkNkk#E`[,Hl@6VS*Y#mYmF"1ZJQX,bh
+
+ac%kk#D3[,Hl)6VS*R#mYlZkT9LmYlZkT,DRd6R919[rf51FI!%+R5(N!!FN)6VS
+
+*E#"I+dMZb%+R5(N!!)!!6VS*@L"I+dMa`%+R5(J3!%kk#8SJAbY)mFa#TdKi)!"
+
+1ZJNk)&mV51l@3UG)H3!!J!"1ZJNS)&mV51lL3UG)H3!!J!"1ZJN@)&mV51lQ3UG
+
+)H3!!J!"1ZJN%)&mV51lU5UhZb'Fd5Uha`'FZ5Uhac'FS5UhZeQFL5UhZiQFF5Uh
+
+ZjQF@5UhZkQF33UG1ZJSH)"m-J!!!3!"X#NKYrPe1ZJ)D@)mJEHl@3HJJ!#Y)lYS
+
+JEI(!dI`!!)!!+dMab("328$rq("328$rqM!ZrrJ'3!"E28$rr$!ZrrS'3!&828$
+
+rrN+R5'hZmNKZrrK)EIkX3QG#CdKirrp#Cd+RU4-JAbY)lZj+VHlZCJ41ZJ'L,bh
+
+ZlUKc3QHSKcmm!!bSLNKZrrJr2!%@2c`!+cmm!8Jr2!!mU+G#TbmYlZj)E[ri5'h
+
+qdKmm!!&#Cd*R3QG#Cd+RU93JAl$m!!"Q"%kk!9*#E[rfB!!!bRJ!GJ"k!$iZrrC
+
+m#'!!!(j`!F#$FJ(#4dK"3N&)3E1!5S"R*#!$iSJQ!!J%!!"R"!M$!"mJ"1+)+!!
+
++K1fiJb!+JqfiJb"J&L!$iSJQ!!J%!!"R"!M$!"mJ"1+)+!"`!F#&FJ(#4dK"3N&
+
+)3E1!5S"R$L!&iSJ+J1fiJb!U!'!')!ALL#S!-!IL3$i!8dC+4Q`!rhi`,[rf5-$
+
+PJ%(YpHE4`##%-#lrpNM!jB""lIRQdF!JJc!ZrrC)`1@!3HhahY(!))95E[rf$'i
+
+"!2rfE3$r-%cI!2K1ANje6PErkN*R2c`!!8KZrr"1ZJ9@-"mp32rZ5QlrlQB3$'i
+
+'!2rdC3J-EJ!#rr*X#NKYrHC1ZJ"'@)p#Tcmm!'!I2!!"6VS'q#!I3UFr2!#I(c`
+
+!!5e!rqT1ZJEN)"q`V[rU9X"%!%L!'d$ZV%jH6R9)EIi[6VS!"PL26R919J!!,bi
+
+!#%KYrUC)EIkQ5'hqTUQ,3QFr2!$53UHTKM!IUI41ANje6PEqr$"YmGJ[#%KZr`"
+
+1ZJI#,bi!#%KZr`")EIkQ5'hqTUQ,-#haf%kY!#S!$!!b!'3!0J"P!$Vrd`!frp)
+
+!-[r8!#lr``!brpi!0[r2!$,rd3!ZrpB!+[r9!#Erh3!L2A`""2lqB"ipI!%&r[j
+
+J&Mem!3lqrQ!12A`"%[lqB!BpI!%4r[j#CcmZr[j#TkQ)-"mp32lm$'i!!Ilm9m"
+
+%!%L!6Pj1G8j@!!!NEJ!)*#i!$#)YmGT$lI(HB""`!"!DX`$P5#!a!!$JLE'"8i*
+
+Ul#Y"mGT1ANje6PErq#Ym!50&CrAH+hb*Umh[pH*"lHk[,8Mrr(!!%#hZVMe!rrK
+
+JC#"Zrra5V[rmF!!3%#)YpH+cJ"e!rrXJ,IAHFKMMU#)YpH,JLB#"FJ!5,[rl5%&
+
+#38K"jB&"lIRQdF%L%,1!+d$eiL!YpGlJL()!%LlrqdK"3N&)3H@"3HhejY(")K#
+
+cJ#Y!pGj6E[ri5Qlrq'b56Pj1G8j@!!")j`%B+'i!##CZ!!a`!"!88N!q!'!+3G0
+
+5Ld288S`3N90(5NGXm%cI')"1ANje6PErm%SYlUaR&%*R2ccrrdKYlVK#Td+RU'!
+
+3(f!3UE4#Ccmmrrp)EHkiUA!3(c!YlVK1V3!k!!!!$rr+!3i!([r%!*Vr`2qq!,B
+
+!h[qirlErY2qbrl$rV[qXrkT#CbmYlX*)E[rmU5``(dkY!$S!!3!)rj,rN!$rMJ!
+
+b!!VrL2q'ri6rJN+R6VS&Z#"I)&"$l[r`9)JLf#,B,blrr#mYlX*)E[r`U59J!2p
+
+F)#lrr,#YlZjQ!2p35'hZ`UKa3QF[,Hl#,bhZlNKZrrLTE$!I$%!!#QB!rc"`!@!
+
+!!()),3!!lXCR!2mJ)$`!!!$r`+hZZJb!!!!!,QB!r`a`!@"1)#hZZV#YlZjQ!2l
+
+m,bhZlUNL)'hZlNKS!"#SSdkk!$3[,HlZU50J!2lH)#hZZR)3iU"+J'F!rY"#CdK
+
+YrUBr,Hkm6VS%-M!IB!$q[(!!6Pj1G8j@rrLSRNKZrrJr22rr2c`!3Mmm!9Br2!"
+
+&U+G)E[riU+%r2!!+2c`!%kL65'hqfUL%6VS!T%KZrrJr2!!+2c`!(6mm!8Xr2!!
+
+PU+G)E[riU+%r2!!"2c`!"ULE2c`!#cmm!"kSNcmYlj*#CkL52c`!#Mmm!$LSNdK
+
+YrZDSK%kk!'Sr2!!e2c`!9+L62c`!!kL(2c`!#DL+5'hr#+L%2c`!"+L(2c`!#DL
+
+)2c`!$+L+2c`!3kL$2c`!#DL+5'hr++L%3QHSKd*RU)K#CkL+,bhZlUPT6Pj1G6m
+
+m!'Nr2!!6U*-[,Hq1U)41G8j@r`!r2!$Y2c`!1+L6-'h[P#m)5'lr!%kk!pT)E[m
+
+!U)41ANje6PErq%(YrUBV51q15'lrq$mm!'Nr2!!()'hZlMmS!"Br2!!AU+G)E[r
+
+iU+0)E[ri2c`!l6mm!#`r2!%62c`!2+LR5'lrq+LM6Pj1G8j@!!!["hi!)#i!#*'
+
+YljTJ#L!YljE4VHqD8NG+VHqDEI!`,Hq5d%F-3!%qE`S`2!%qN!"Ylj)q!$!Ylj)
+
+'3!!,2`!r2!!HU*-r"d*RU*,IEHq5,Kp1ANje)"p"qJ!3N!")iNJLAcm!,`QYkQ(
+
+XBHTKk'(QBH4+H!+1Db)`2!#3!+0')NJ`2!#ITdDcb'F3)PmJAc!I,`QJN!!r3!!
+
+%6R8JE`!%-$`!!5*)B!B$%`X#!3!`2!!3iN"63%*B8FMrr$+m!!%JH!+Z-hcrrJ!
+
+#$#J!r`!*Cd*++!!)EL!cI2rr!!*+H!+1Dc!cI!!"!!*+H!XLDL3cI!!#!!*J(%*
+
+T!!)-+!!#!!KZ%'F)-h`!"!!#B!BcI!!$!!*#D3!%$$J!!J%[EJS31!%[8N!63!!
+
+(5RJ#MQX1#$J!"!XLC`B6I!!"!!J-H$rr!SjL"K0m!!%!#4!i!Kj"q[pE-M`!",!
+
+J9mRrr&*"-d%!#NSi!T&V'")i!IX#!3!2$!%!!@B+)(J#h"0S!!F!$60i!K!!$NT
+
+i!rCY4%*T!!ib2!!m3QG4bIrm)%maH!TB!"K`#+*JCL3aD!!d!"DL"fBD)@J!@J!
+
+`)Aa&8NP,!"a`!D*JCJBcD!!@!!lHr!"k)%NLAea22VcUK%l4)PmJ(bm*S$*1GA!
+
+!,`Na`!)J6R9`!'$f5RJ#MQSU)(J"-%2i!43J#*!!NA3-X)*P&L*4)FJ"&#+!3K%
+
+LH!+U)SJJJY'T!!a1GD"M6R8LAb!IS4iZL%lkrlBLAb"IS"p1q[qX)PmJAk!T6[V
+
+rSL*I%Km`(bm*5J&R"+G'B!+M4Lp)!!41G8j@rmj"l[r1-@i!#!!BS!%p3!!+6Pi
+
+JAe526Y"4`@!#8-&19[r13HlrcL&Z!!J!)$&Z!"!!'#*Z!!`K83!N3QJ!,%+S!#j
+
++!@B%S!*J!U!$28!!%L*Z!!`LU!!S6PiLAplm!!T1d8j@rm""l[r!-@i!#!!@)@i
+
+!#J!5S"Fp3!!16PiLAeb26Y&19[r!3Hlr`$&Z!!J!&L&Z!!S!%U!628!!$NjH)Pp
+
+FMdl46PErcN(ZrmiaEJ!1!"JaEJ!-!#`KEJ!)!#kJ4$e!!""1AL*I8)p1d5"[!!C
+
+#+!!D)Pm3(b"ICJC`#D*JB!4`#DCJ2S"1d5*I%"mJAfB'F!ULB'!%F!UQB$k!6Y%
+
+LAa!I)&pQ"+)(B!+Q"ck!6Y'JB5p!!!41G5"[!!3J,`!)3QHTlL"I8%p1d#pi#Hi
+
+!"%je6PErc#eZ!!lrhMeZ!"EriN)ZrqBGEJ!-rqG#V[rS,@i!%[rm3Hlrc+)!)'i
+
+!#$#Zrq41AL"I6qm!%$k!6Y"19[r-,@i!$[rH2@i!&[rL3LlrjKeZ!!crjd+ZrqJ
+
+YEJ!5rra"l[r-SJSJEJ!)-+lrj%jH)&p2l`!32S"1d%j@rl!YEJ!3rm)pEJ!BrmC
+
+#,[r+,@i!&2rJ3Qlrc%(Zrl#L#'XBSJaV&#eZ!!cre#eZ!!Mrd#eZ!"6ri+)06Pi
+
+JAdr[!")qJ%l36PErc#eZ!!crhMeZ!"6riLeZ!"$rr%(Zrma`"U*J)'i!###Zrra
+
+1AL"I6qm!$Mk!6Y"19[r-,@i!#2rH2@i!%2rL3LlrjLeZ!!crr%(ZrmbL#8jH)&p
+
+2l`!+2S"1d%j@rm`YEJ!)rpipEJ!3rq*#,[rQ,@i!$2rm3Hlrc+*"6PiJAdr[!!S
+
+qJ%l36PErc%+ZrpipEJ!8rq*#E[rQ3Hlrc(!(SQ!JEJ!3-+lrl#"Z!!`JV[rm)'i
+
+!###ZrqK1AL"I6qm!$Mk!6Y!!!!)Z!!!!#J!!!(*#H!T+RFj1ZJ!N3QG)H3!!rrp
+
+)E`!%5&Fr2!!")MVrhNke%!!JE3"X6T!!UI4CMbmm@N956d*RUD!N9eQ2,ca%394
+
+"3QHTS#"A)&!LH!N)*&*J$M,BCJSb'Q!#3KP4bIrmZmPQlUQMUD0CMbmm4&*&6%*
+
+RUD!J9k!P)&$L3#30B!Bb'0@e%!"4b2riUD01G5"I-KJd',"B9mRrqNT#Crj1m#$
+
+m)&mb'$3BX*KAbIrk5N*RrNl`)2SJAc)B0"L`3Qi+N!""E3E33%(`!!)`%'Iq6[!
+
+!!#![!!3[33!%)Lm!##pI!!4)jc`!*!!Q!8K#a--S!#S"5%A)aG4%5%*#3X$"d)*
+
+-h`!m)Kp1G5![!!3[33!%)Lm!##pI!!4)jc%!6VS!R%cI!)`L(dje)#m!"#p"!!3
+
+L,`!),em!"%MR-3"1ZJ"m)!&-h`#-)Kp1G5![!!3[33!%)Lm!##pI!!4)jc%!6VS
+
+!,%cI!)`L(dje)#m!"#p"!!3L,`!),em!"%MR-3"1ZJ!-)!&-h`#-)Kp1G8U!DKa
+
++J@S-4)"%J8kk!#"%J8je4)"1ZJ!@4)"%J8je5S&U#N5"6VS!"N5!6R8Z2!!!rrq
+
+bJ'-')J"`!%jeX)GL$)$"5%!b!%*!5%"1GE+(BKSZ!%*!5%#!`8K!5%Fq!%K(MX%
+
+`"dK(-JG1G53!*J(LL1+*XSGLq)$"`)Fb!m,!,J0)4ml!5%I5Kf8)NS*L"%5"6R9
+
+63'$N6R8!!!"S!!!!H!!!%Ci!!!"B!!!!)!!%2c`!!DR`!*)r2!!"UI!!TMmm!!'
+
+Tm!#k2c`!!DR`!0Br2!!"UI!"$$mm!!'Tm!%X2c`!!DR`!8ir2!!"UI!"EMmm!!'
+
+Tm!)S2c`!!DR`$Nir2!!#UI!!!!!+5!!!",`!!!5m!!!!!#JR3A9dEd9iG(*KBh4
+
+[FL"@-5ib-5#T)$%j16!J3QPXE#"(EfpNE@&Z!!!!"d&38%`!!!!!!!!F49K88J!
+
+!!!&*3diM!!!!!!#!4P*&4J!!!!%!JJ!!!3!Irrr`%!!!%"I!"p!AJ!23&m!(d"I
+
+J$p!9`!G3%*rb%"!3'"!3%jJ3%"!B%"!Iq"!3%"J3%"1B%"!3'"!3(rJ3%"!B%"!
+
+6Q"!3%"J3%"ri%"!3'"!3%jJ3%"!B%"!Iq"!3MrS3&F!(8"IJ$p!A`!I3&i!$d"I
+
+!"p!3!!!3(rrrm"rrrr!Irrr`(rrrm"rrrr!Irrr`(rrrm"rrrr!Irrr`(rrrm"r
+
+rrr!Irrr`(rrrm"rrrr!Irrr`(rrrm"rrrr!Irrr`(rrrm"rrrr!Irrr`(rrrm"r
+
+rrr!Irrr`(rrrm"rrrr!Irrr`(rrrm"rrrr!Irrr`(rrrm"rrrr!Irrr`!!!!&3!
+
+!!!!!d!&F!!%!!!!!!!!!!!(e!!!!!"8!8!"3!*X")J!"!3!!!!!!!!!"p!!!!!!
+
+-!&!!8!$5!9N"%P99!!!!$!"3!&!!``&S!4&993!!!!`!8!"3!,3"FJ%1998!!!!
+
+-!&!!8!$K!@J""999!!!!$!"3!&!!dJ&S!34993!!!!`!8!"3!1X"L`$c998!!!!
+
+-!&!!8!$k!@d!m999!!!!$!"3!&!!Y!&S!2"993!!!!`!8!"3!0)"9!$@998!!!!
+
+-!&!!8!#d!A)!dP99!!!!$!"3!&!!jJ&Y!2*993!!!%`!!`!!!!!!,3!8!%%!@J3
+
+#6dX!!!!!!#d!H!""!,i%"N0KEQ0PE!!!!!!!#3"B!"N!b*!!!!!!!!!!#3!+!"N
+
+!8)J*8'&cFhG[FQ3k6J!!!1)!#J!!!!!!P!%!!+B"8!3%6'pKC!!!!!!!!!5l!&!
+
+%c33'5'PNC'9Z!!!!!!#Y!3!![`&3"!C$B@jMC@`!!!!!!$%!k!"&!9Z!!!!!!!!
+
+!6J%!!'!"8!3&4@TPBh3Z!!!!!!"R!3!!H3&3"!9%FQPfC8!!!!!!!$%!$!$$!1B
+
+!!!!!!!!!-3$P!--!pJ!!!!!!!!#'!2`!K`&CJ!!!!!!!!!!%P!"P"25)!!!!!!!
+
+!"J!+!"F"5JJT8'aPBA0P)'a[B@3JAM"cC@GYC@jdAM&H-L"[CL"dD'8JBA*MD'P
+
+fC5i!!!!!DJ!#!!!!!!"N!"3!H!"D"!K$EfjdD@jeC3!!!!!!C!#[!(J!p33'3f&
+
+ZBf9X!!!!!!!+!%B!@J$rL$"8D'Pc)(C[E(9YC5"TFb"QG@aX,Jd0dPi`db"MEh9
+
+XC#"ZEh3JBQ8JGh*TG(4PELi!!!"`!!)!!!!!!&8!&!"T!&S%#%0[ER4TER9P!!!
+
+!!!"9!,i!D3%%"!C$B@jMC@`!!!!!!!S!4J",!3k)0N%JCQPXC5"PFR*[FL!SAM%
+
+T)'KKFb"[Bf0eFR*PC#"hD'PXC5"KBf0PFh0TEQFJ)0*H-0-Z)!!!!'!!!J!!!!!
+
+!4J!8!&S!@J3)3fpZG'PZG@8!!!!!!%B!b!"D!3i%"N0KEQ0PE!!!!!!!#J"'!$`
+
+"')JQdPi`db"TFb"XEf0VC@3JB@jN)'0KEQj[G#"LC5"YEf4TCQPPC#i!!!#%!!)
+
+!!!!!!(-!C!#(!+S%!Np,!!!!!!!+!%B!2`%1L"&$B@jZEh3JFQ9KC#$5AM$6,M3
+
+!!!!!!%B!#J"U!3k)4%9TG'KPFL"dD'8JF'&cFhG[FQ3JFh9`F'aTC@3JDA-JD@j
+
+MEh*bC@0d)'pb)(4SC5"KFQ0SDACP)'Pc)'4KE@&RC@3Z!!!!@!!#!!!!!!"N!'N
+
+!H!#["!*25`!!!!!!#J"'!$m"$SJ43f&ZEQpd)(*PB@3JdPi`dbi!!!!!!!"'!%B
+
+!@3%1L"G8D'8JBA*MD'PfC5"TFb"NB@eKCf9N,VS!!!$!!!)!!!!!!(d!H!#4!,i
+
+%!Np,!!!!!!!+!%B!2!%aL"T6Eh*bH5`JBf&Z*h3JCAKdFQ&MG#$5AM$6,J!!!!!
+
+!3`!+!(-"-BKh35"ZEfiYC@e`G(NJ4Np-4%95)(GTG'JJG'KKG#"ZB@eP)'&XFQ9
+
+KC(NJCAKTFh4c)#KjEh8JBf&Z*h3JEhCPFRGbDA4P)'%JCQpXC'9b)(GTG'JJB5"
+
+QD@aP)(9ZE'9cFb"dD'8JCQpXC'9b)'Pc)'9YF(4j+5i-!!!!Y!!%!!!!!!"Z!"3
+
+!JJ"D"!*1E`!!!!!!M!!8!+!!@J3$@@9cUJ!!!!!!M!$$!+!"#33'3f&ZBf9X!!!
+
+!!!!+!%B!2!%6L"65AM$6)'&XFQ9KC(NJCAKTFh4c,J!!!!!!4!!+!'3"%iK-4'm
+
+JH@pe)(GTFfJJG'mJEhCPFRGbDA4P)'Pd)(GTG'JJG'KP)'CTE'8[CQpXC'9b)'9
+
+iG(*KBh4PC#"QFQpY)(4SC5"KFQ0SDACP2`!!!()!!3!!!!!!4J"T!&S!V`3#6dX
+
+!!!!!!!S!4J!m!3k)894SDA-JBA*MD'PfC5"MEfjdB@PZFb"K)'C[E'4PFLiJ)%C
+
+[E'4PFR-JBf&ZEQpd)'*P)'9iG(*KBh4PC#"dEb"K)'j[ELe)4P-JGQpXG@eP,[m
+
+!!!"`!!%!!!!!!'3!A`"i!+8%!Np,!!!!!!!+!%B!@J$kL&"8D'Pc)'Pc)'j[G#"
+
+dD'8JFQ9aG@9cG'9N)(0PCfePER3JCQPXC5i0$94SDA-JCQPXC5"TFb"cC@GYC@j
+
+d)#0H-#"[CL"H-5"KFQ0SDACP,J!!!#)!!3!!!!!!4J"Z!&S!Y!3#6dX!!!!!!!S
+
+!4J!m!4L)!Pi`!!!!H!!#!!!!!!"i!"3!M!"D"!K$EfjdD@jeC3!!!!!!H!$$!)`
+
+"#33'3f&ZBf9X!!!!!!!+!%B!EJ%6L$l5AM$6)'0[G@aN)'j[G#"LC5"PH(4bB@0
+
+dC@3JF(*[F'9bE(NZ$3e8D'8JBA*MD'PfC5"TFb"NB@eKCf9N,J!!!3!!!$"R!!!
+
+[C`!!!MS!14)S"!`!!!!F!MS!#d4"9%%!!!"L@N956`!!!'j%8N9-!!!!HN024%8
+
+!!J#'8dPD43!!!+T&@&45!!!!YNC548B!!!$#3Nj%6!!!!-j*3diM!!!!fN4-6dF
+
+!!3$Q38a59!!+!2j%594-!!`"JJ!!rrmS!!!!!$N54!!!rrm)!!&m!$N4Z!!!rrm
+
+S!!'-!$N4a!!#rrmi!!'5!$N6!!!"rrmF!#3@!!!!!!!!rrmS!#C)!!!!!2rrrrm
+
+!!#Dd!$N6*!!!rrm!!#E#!$N4X!##rrmJ!#EZ!$N4b!#$rrmJ!#Ej!$N51!#!rrm
+
+J!#FC!$N4[!(errmJ!#JG!$N5X!(drrmJ!#Jf!!!!!!%5rrmJ!#K2!$N4d!%4rrm
+
+J!#KI!!!!!!%1rrmJ!#K[!!!!!!%&rrmJ!#Kr!!!!!!%%rrmJ!#L2!!!!!!$crrm
+
+J!#LI!!!!!!$arrmJ!#L[!!!!!!$`rrmJ!#Lr!!!!!!$@rrmJ!#M2!!!!!!$5rrm
+
+J!#MI!!!!!!$brrmJ!#M[!!!!!!(drrmJ!#Mr!$N5B!(errmJ!#P2!!!!!!%5rrm
+
+J!#Se!!!!!!%4rrmJ!#UM!!!!!!%1rrmJ!#XA!!!!!!%&rrmJ!#Yl!!!!!!%%rrm
+
+J!#`$!!!!!!$crrmJ!#aI!!!!!!$arrmJ!#dM!!!!!!$`rrmJ!#hE!!!!!!$@rrm
+
+J!#j4!!!!!!$5rrmJ!#l&!!!!!!$brrmJ!#lV!!!!!'9):
+
diff --git a/language/chinese/chtex/china.report b/language/chinese/chtex/china.report
new file mode 100644
index 0000000000..f805573c1e
--- /dev/null
+++ b/language/chinese/chtex/china.report
@@ -0,0 +1,536 @@
+From rick@cs.arizona.edu Wed Aug 14 02:55:35 1991
+From: rick@cs.arizona.edu (Rick Schlichting)
+Newsgroups: comp.research.japan,soc.culture.china
+Subject: Kahaner Report: Computing and related S&T activities in China (PRC)
+Date: 12 Aug 91 17:29:26 GMT
+Followup-To: comp.research.japan
+
+
+ [Dr. David Kahaner is a numerical analyst visiting Japan for two-years
+ under the auspices of the Office of Naval Research-Asia (ONR/Asia).
+ The following is the professional opinion of David Kahaner and in no
+ way has the blessing of the US Government or any agency of it. All
+ information is dated and of limited life time. This disclaimer should
+ be noted on ANY attribution.]
+
+ [Copies of previous reports written by Kahaner can be obtained from
+ host cs.arizona.edu using anonymous FTP.]
+
+To: Distribution
+From: David K. Kahaner, ONR Asia [kahaner@xroads.cc.u-tokyo.ac.jp]
+Re: Computing and related S&T activities in China (PRC)
+12 August 1991
+This file is named "computing.ch"
+
+
+ABSTRACT. An overview of computing and related activities in China (PRC).
+
+
+INTRODUCTION AND SUMMARY.
+This report is a complement to earlier reports on Chinese computing,
+(xian.rpt, 14 Aug 1991; tiawan, 17 Jan 1991; hongkong.91, 11 July 1991).
+It is based on one visit to PRC during June 1991 and reading of some
+English literature and English translations.
+
+In many ways mainland China (People's Republic of China-- PRC) is a
+modern industrial nation, and in others a poor third world country.
+High tech industries in China are struggling because of the usual
+problems associated with partially developed countries. There are
+additional problems related to restrictions on trade from the US and EC
+because of political differences. Lack of good communication facilities
+such as computer networks and fax machines means that information flow
+is erratic; several of the scientists we spoke to were unaware of
+activities in neighboring Chinese institutions, while others appeared to
+be exceptionally well connected. Electronic mail is just beginning to
+appear. Access to computers is generally erratic. There is a heavy
+emphasis on simulation and theory when experimentation might be better.
+Basic theoretical research (pencil and paper) is excellent, especially
+in applied mathematical analysis. We saw no parallel computing activity
+although reading available reference materials indicates that some work
+is in progress. We were not able to assess research in computer
+science either, except it was clear that computer engineering is very
+active. Fuzzy logic, for example, has a tremendous following, and there
+are a great many applications being developed for industrial processes,
+perhaps more than in the US. (See the anecdotal list of applications
+given below, as well as papers on the topic listed in the forthcoming
+report (xian.rpt, 14 Aug 1991).
+
+Access to Western research information also appears spotty. Some
+lectures at a conference we attended in Xi'an suggested a very out of
+date view of Western literature. On the other hand senior scientists
+travel to and study in the West and read and write English fairly well.
+But many Chinese scientists have not travelled outside of their country,
+and have not had much opportunity to use spoken English. There also
+appears to be substantial library facilities at least at some
+institutions. Communicating in English seems to be more of a problem
+than in Japan, but this is also very variable.
+
+There is no doubt that China is trying very hard to push science and
+technology as a means to move itself forward. Numerous studies have
+emphasized that the country that invented paper, movable type, gunpowder,
+and the compass has had no similar scientific achievements in recent
+times. Four volumes of "S&T white papers" have been published since 1986
+describing the Chinese government's significant policy and strategy
+decisions, related materials, and regulations for scientists and others.
+It is hoped, for example, that by the year 2000 high-tech industries
+will become pillars of China's national economy, traditional industries
+will improve their productivity, the internal consumer market will fuel
+other improvements, and even military research institutes will shift
+strategically toward civilian products, as is now occurring in the Soviet
+Union.
+
+Thus there is plenty of interest, ample reports, and relatively large
+quantities of money to be spent on R&D, although it must be spread over
+a huge infrastructure. For example, the State Science and Technology
+Commission will funnel over $2B US into high-tech development during the
+'90s. For better or worse, China has over 7500 scientific research
+organizations at the county level or above, a high-tech work force of
+more than 3 million including about 400,000 scientific research
+personnel, almost as many as in the US or Japan, and more than in
+England. Many of the policies for promoting S&T are common to other
+industrializing countries and will not be detailed here. A typical
+quote, "we should strengthen reverse engineering and digest, absorb,
+improve, and develop imported technology, take advantage of our vast
+population and raise design starting points. An example is importing and
+digesting French engine technologies as a basis for reverse design and
+absorbing new engine technologies from foreign countries for development
+and innovation to design and develop our own new type of engine.."
+
+At the same time that the Chinese government is trying to open itself to
+the international scientific community there is also a substantial
+amount of of old-line inertia and flowery governmental prose in
+published documents. This is compounded by official concerns about
+giving away secrets to foreign intelligence agents. However, all the
+experiences during our recent visit suggest that individual Chinese
+scientists are just as eager as those anywhere to engage in cooperation
+and free scientific information exchange. Let us do everything possible
+to encourage and support this attitude.
+
+
+CHINESE KEY NATIONAL LABORATORIES.
+A plan to build national key labs in universities and research
+institutes began in 1984. The focus has been on building and operating
+open labs, setting up a new research system, promoting collaboration and
+cooperation, personnel buildup, establishing a good academic atmosphere,
+and managing the labs. More than 60 national labs were built since 1984.
+In addition, the Chinese Academy of Science (CAS) also has invested in
+setting up a similar number of academic labs and institutes which are
+university-like (including some students) but in a different
+organizational chain. Further, more labs have been proposed, so that
+there could be on the order of 150 by 1995.
+
+The Chinese government is now focusing on the fact that building a high
+class laboratory involves not only a large one-time construction cost,
+but a high on-going operational cost. There is now a trend to
+consolidate some labs to make their operations more cost effective, make
+research funds less diffuse and make sure that research directions are
+not divided too finely. There are still many problems related to "turf",
+and cooperation as well as communication between labs needs improving.
+There are also a number of issues related to personnel, such as getting
+lab leaders of international stature (the target here is the Cavendish
+Laboratory with Maxwell and Rayleigh as early directors), getting (and
+keeping) enough young researchers and support technicians who will make
+most of the actual breakthroughs. Of course the perennial problem of
+logistic support occurs too. To operate the labs it is recommended that
+"operation is more important than construction", "academic atmosphere is
+more important that current academic standard", and "management is more
+important than current experimental condition".
+
+863 PROGRAM.
+This is the major plan for S&T development, proposed in March 1986. It is
+centered around five areas, with its main focus to catch up with advanced
+technology. Five areas are of special interest.
+ * Biotechnology
+ * Information technology (see below)
+ * Automation technology (especially a demo production line at Qinghua
+ Univ, comprehensive automated manufacturing systems, high
+ performance sensor technology, multiphase system control technology,
+ and robots for precision work, work beyond 300 meters depth, and
+ work in difficult environments)
+ * New materials (especially for high temperature and shock resistance,
+ high malleability, for power equipment, aerospace materials,
+ micromaterials, thermoplastic resins, ceramic-base, semiconductor
+ photoelectric, optical memory, artificial crystals, membrane
+ materials, non-crystalline, superconducting materials, etc., to the
+ late 1980's levels.)
+ * Energy resource technology The Chinese government has also initiated a
+ "Torch Program" to ensure that any advances of 386 will be put into
+ commercial/industrial use.
+
+
+INFORMATION TECHNOLOGY (IT).
+A large number of articles in the Chinese official, popular, and
+technical literature have emphasized the importance of IT as part of
+China's High Technology Development Plan, also called 863 Plan, see
+above. In some articles IT is described as the most important of all the
+386 projects. The IT aspects are divided into three general areas.
+ * Information acquisition
+ The plan is to develop a broad variety of information acquisition
+ and processing technologies for industrial and agricultural needs
+ especially in the areas of infrared detection, adaptive optical
+ telescopes, imaging radar technology (including satellite-carried
+ synthetic aperture radar and infrared focal plane technology), high
+ speed real-time signal processing and graphics.
+ * Optoelectronics
+ The plan is to develop all kinds of novel optoelectronic devices
+ and associated system integration technology for sensing, computing
+ and communications, and study new ways to fabricate VLSI in order
+ to lay the technical and material groundwork for new information
+ acquisition systems, computers, and communication equipment. It is
+ generally accepted in China that if the 20th century is the era of
+ electronic information, then the 21st will be the era of
+ optoelectronic information.
+ * Intelligent computing
+ The plan is to put the best people and resources in advanced
+ computer technology and AI together to track the latest
+ developments in the world, investigate the theoretical basis and
+ key technology of intelligent computers, and promote the widespread
+ use of AI to push for an intelligent computer industry in China.
+ Processing Chinese characters is an important part of many
+ projects associated with intelligent computing.
+
+
+All together there are about 300 projects, 2,500 scientists and
+technicians, and about 80 organizations. The Chinese are definitely
+attempting to pool resources into national research centers. For
+example, the intelligent computing work has been centered in the CAS
+Institute of Computing Technology. About one third of the projects have
+been completed, and the Chinese estimate that about one quarter of these
+are competitive with international scientific standards.
+
+The Chinese have stated that "we should encourage international joint R&D
+activities and strengthen cooperation among open laboratories, research
+centers, research institutes and higher-learning institutions in China. A
+unified, orderly, competitive and mutually complementary network of
+cooperation should be established." There is also great interest in
+having visiting researchers as well as sending Chinese students to other
+countries. For this, as well as other international activities, however,
+some non technical issues are also relevant. For example, "we must
+intensify their ideological and political education to firm up their
+patriotism, national pride and confidence, and faith in socialism," etc.
+
+As of 9/90 the Chinese government has broken out its information
+technology project accomplishments as follows.
+
+Topic World Domestic | Intermed Design Disseminate Total
+ Level Leader | Results Final Applications
+-----
+
+Intelligent
+ Computing 12 35 | 21 21 5 47
+Optoelectronics 7 31 | 33 3 2 38
+Information
+ Acquisition
+ & Processing 3 10 | 8 0 5 13
+ -- -- -- -- -- --
+Total 22 76 | 62 24 12 98
+
+The descriptions below attempt to give a very brief picture of some of
+these projects. The remarks are fragmented and have all been gathered
+from available documentation. I have not had personal contact with these
+projects, so the descriptions may not be accurate. I should note that the
+Chinese scientists I spoke with were frank and realistic about the status
+of their work. But in print, projects are often described in
+exceptionally positive terms. This is especially true for summary
+reports. If readers are interested I will attempt to obtain further
+information about selected projects.
+
+
+COMPUTING, GENERAL.
+It is estimated that there are about half million PC type computers in
+China, with about two-thirds of Chinese manufacture, compared to about
+25% in 1981. In 1985 about $1.2B US was spent on computer imports; in
+1989 this had been reduced to $389M US. It is now hoped that Chinese
+systems can be exported, perhaps up to $1B US by 1995. Production
+includes complete systems, peripherals, monitors, printers, magnetic
+recording equipment, as well as system and application software. A major
+thrust of work has been input of Chinese characters. Computers
+manufactured in China are marketed under the names of Great Wall, Taiji,
+Zijin, and Legend. For example, Legend (Beijing Legend Computer Group,
+part of the Chinese Academy of Science CAS) markets 286, 386, 386SX, and
+486 systems. A 386 system (33Mhz) has also been developed by CAS, with
+66Mbit/sec transfer rate between memory and cpu, and a RISC based
+floating point unit. This system can be purchased with an independently
+designed 1280x1024 color card. In 1990 about 100K 286 mother boards were
+shipped to the US and Europe. China's first electron tube calculators
+were also made at the Chinese Academy of Science (CAS) in 1958--a copy of
+a Soviet model; current production uses LSI technology. Changzou
+Electronic Computer Plant also markets a laptop based on a 4.77MHz 80C88
+and supports both Chinese and standard Ascii characters. Another model
+uses memory card technology based on an independently designed and
+developed card.
+
+To the best of my knowledge China currently has no Western
+supercomputers. However, I was told last fall by representatives of
+Convex Computer that there were several sales close to finalization, and
+in March 1991 it was announced that 4 C120 Convex minisupers were
+approved for sale to arrive in late spring. Applications for these
+computers are seismological, petroleum prospecting, simulation of oil
+reserves, and weather. I do not know exactly where these systems are
+going.
+
+NEURAL NETS/EXPERT SYSTEMS.
+China's first neural net conference was held Dec 1990 in Beijing with
+representation from 100 Chinese institutions resulting in over 350
+technical papers in the proceedings.
+
+Chinese Academy of Science (Institute of Automation) reports that they
+have applied a neural net model to diagnosing reactor faults, and have
+actually used this in practice.
+
+Naval Academy of Engineering professors have been promoting the use of
+neural nets for inference engines, claiming that they can be more
+flexible, fault-tolerant, and are more natural for learning. They have
+also published very basic theoretical results on new learning algorithms
+for multilayered nets which can find global minimums. Other work has
+shown by simulation (on digitized data of the silhouette of a US Naval
+and a Soviet Naval ship) that a simple neural net can be used for ship
+silhouette recognition independent of translation, scale, rotation, or
+aspect changes.
+
+CAS scientists have developed a Chinese speech recognition system using
+artificial neural net concepts, and including a voice operated text input
+system capable of recognizing over 20K dictionary entries. It is claimed
+that tone-recognition is over 99% and word-recognition is over 90% even
+with compound words.
+
+CAS researchers have developed a general purpose expert-system language,
+TUILI which can be referenced from either C or Prolog, and is claimed to
+be superior to Prolog.
+
+Qinghua Univ has Chinese character recognition system (THOCR-90) that can
+handle various fonts, alphabets, numbers, and other symbols, and employs
+neural-net techniques for pattern matching. Recognition speed is about 30
+chars/sec on a 386/33. Another (somewhat faster) system has been
+developed at Nankai Univ.
+
+FUZZY.
+Work in this area has been active since 1979. There have been numerous
+practical applications and research results reported, perhaps more than
+in any other country outside of Japan. In 1987 Chinese scientists
+presented almost one quarter of the papers at an international fuzzy
+society conference in Japan, equal to those presented by Japanese
+attendees. Further, I was told that the (US) Journal of Fuzzy Sets and
+Systems is being flooded with papers from Chinese scientists. In China
+some specific applications include the following (these are all
+anecdotal).
+
+ * CAS (Institute of Semiconductors) has built almost two dozen multi-
+ logic circuits (two-value, multi-value, continuous-value, e.g.
+ fuzzy). Chinese researchers are very much aware of work in Japan by
+ Yamakawa who has built fuzzy-logic circuits using CMOS technology and
+ in fact two researchers from Tsinghua Univ (Beijing) report that they
+ have also built (using 5 micron) CMOS, various basic circuits that
+ they claim are simpler and more reliable than Yamakawa's.
+ * Electronics Industry Computing Center has developed a fuzzy-
+ information processing command decision-support system designed
+ specifically for use in communications networks used for military
+ command decision support.
+ * Math Dept of Beijing Teachers' Univ (BTU) developed a fuzzy inference
+ engine capable of 15M inferences/second. BTU has also built hardware
+ claimed to be able handle 30K (sic) basic rules with 2000
+ input/output variables for fuzzy based inference, and that products
+ are being marketed this year.
+ * Beijing Normal Univ has proposed a new method for fuzzy inference,
+ called Truth-valued Flow Inference, which they claim can represent
+ knowledge more effectively than traditional fuzzy inference.
+ * North China Industrial Univ (NCIU) did a 6 year study on microcomputer
+ fuzzy control theory and applications.
+ * Various papers on fuzzy control simulation and adaptiveness of fuzzy
+ control.
+ * Staff & Workers College of Shanghai Instrument and Meter Industrial Co
+ have developed proportionality-factor-type fuzzy controller and
+ three-loop fuzzy controller.
+ * Hunan Univ is using fuzzy composite control in gas smelter control
+ systems.
+ * Wuha Fist Sci Research Inst of Light Industry has a fuzzy control
+ system for glass kilns.
+ * Handran Resin Plant has a fuzzy control system for PVC resin
+ polymerization process.
+ * Univ of Petroleum used fuzzy control in large hysteresis systems for
+ chemical engineering processes.
+ * Chemical Fertilizer Industrial Inst, Jilin Industrial Univ, and Metal
+ Products Inst have used fuzzy control for compressor regulation,
+ power factor compensation, DC reversible-speed regulation, and a
+ digital dual-frequency-channel amplitude frequency instrument.
+ * Air Force Inst of Engineering developed a fuzzy quantitative
+ evaluation expert system for aircraft maintenance.
+ * Nanjing Univ use fuzzy theory to analyze evaluation of sound quality
+ in high-fi sound systems.
+ * Armed Forces Eco Inst used natural fuzzy language in expert systems.
+ * Zhenjiang Shipping Inst used dBASE III to develop a fuzzy database
+ inquiry system.
+ * Central China Univ of S&T has used fuzzy quantization in knowledge
+ engineering.
+ * Univ of S&T for National Defense developed a PCB logic
+ diagram/manuscript pattern-recognition system in C, using fuzzy
+ relations among text areas. On a PC AT it is claimed to have a speed
+ of 912 characters/minute and an accuracy of 98.9%. Another
+ institute has also used fuzzy techniques and has complete system
+ including software and scanner for installation on a variety of
+ micros.
+
+It is not possible to know just how successful these projects have been
+as their descriptions are often brief, but the point is that Chinese
+scientists are exploring applications aggressively. At the same time
+there does not appear to be much emphasis on basic research for its own
+sake in this area.
+
+PARALLEL PROCESSING.
+My visit did not lead to learning about any parallel computing except for
+old ELXSI systems that appeared to be not seriously used, but the
+literature does describe several projects of potential interest.
+
+Wuhan Digital Engin Res Inst developed the 980 STAR systolic array
+computer. This is composed of a host (Intel 310/286), image subsystem,
+interface processor, and systolic computing array. The latter consists of
+a 4x4 matrix of cells. Pipeline beat is 200ns, and each cell is capable
+of 10mips. Maximum throughput is 80Mbytes/sec. Various system software
+has also been developed. This is considered mid 1980's technology. A new
+model is currently being developed, and is claimed to have 100 times
+greater performance.
+
+Programming on China's YH-1 (Galaxy-1) supercomputer has been via
+vectorized Fortran. (I am trying to learn more about this.) Current work
+is also in progress to develop a parallel programming capability, centered
+on C. There is also research on analyzing blocks of vector Fortran for
+vector block dependencies and a Pascal scheduler has been developed. It
+is claimed that some Cray 1 calls such as VF.MUL (vector float mult) can
+be reduced from 644 to 381 beats. The Galaxy is a 100mips machine. One
+specific application has been has been for processing seismological data
+from sections taken from petroleum prospecting areas.
+
+East China Inst of Computing Tech has a microcomputer parallel processing
+system based on 12 Inmos T800 transputers grouped into three clusters
+(boards), and connected to a PC-AT. One processor on each cluster is the
+main control processor. Peak performance is 80mips or 10MFlops.
+
+Jiangnam Institute has developed and marketed a PC board insert with an
+Inmos Transputer and 8Mbyte RAM, and software for development.
+
+Qinghua Univ has developed boards with 1, 2, or 4 transputers (TTH-1A, -
+2A, and -4A) that will plug into PC-ATs, and also developed a transputer
+development system. These products are claimed to be fully compatible
+with European Transputers at the late 1980's level.
+
+Shantou & Nanjing Univ researchers have built an eight processor parallel
+computer (Transcube) built around 8 Inmos T414 transputers and an
+additional 1Mbyte of memory on each processor. The 8 PEs are the bottom
+layer of the 3-layer system, in which the top layer is the PC AT host,
+and the middle layer is an interface buffer controller. The researchers
+claim that it is easy to expand the system beyond 8 PEs.
+
+Graduate students at a research institute of Ministry of Machine-Building
+& Electronics Industry have used two TI DSP chips to design a real-time
+parallel signal processing circuit for a pulse doppler ground
+surveillance (moving target) radar. They claim to have solved two key
+problems which had caused bottlenecks related to data input and
+synchronous coordination of both chips, and that the system performs at
+20M multiplications/additions per second and consumes 5 watts.
+
+Fudan Univ researchers have developed a sea-wave processing system based
+on diffraction analysis of sea-waves. The system (which runs on an XT)
+can estimate the spectrum of a 2D 512x512 image array with 16 azimuthal
+inputs in 9 minutes with wave direction accuracy of 6 degrees, and 18
+minutes for 32 inputs and accuracy of 3 degrees.
+
+SOFTWARE.
+RT/VMS is a Chinese developed military real-time operating system. The
+Chinese military feels that a major threat of future wars will be from
+computer viruses, rather than traditional weapons, and there has been a
+substantial effort to study and eliminate computer viruses within China.
+(Frankly I had not thought about this before, but it is an intriguing
+view.) RT/VMS is claimed to have innovations in channel interfacing, job
+scheduling, low system overhead, and hardware debugging technology.
+
+The Commission of Science, Tech and Industry for National Defense has
+developed an Ada compiler (in C), which is claimed to be the first Ada
+compiler to simulate a multiprocessor environment on a single processor
+Unix systems. More than 4000 modules in the compiler have passed ACVC1.10
+verification as specified by DOD in 1989.
+
+CAS has moved all the Unix SVR3.1 source code from an ATT 3B2 to a Vax
+11/750 by cross compilation and reverse engineering. They have also moved
+the top layers of this system to a 386/Xenix. CAS claims that this is the
+first domestic (Chinese) movement of a full Unix system.
+
+ROBOTS.
+* Chinese Academy of Science reports that in the early 1980s they proposed
+establishment of a robot demonstration project which began operation in
+1989. The cost was 58M Yuan plus $5.9M (US) foreign exchange. This is
+now called CAS Shenyang Robotics Engineering R&D Center and occupies
+34,000m^2 of building space. The plan is to use this a base to produce
+robots and develop and manufacture more products. Many related projects
+spring from this one.
+
+* A medium-size underwater robot (Recon-IV-300-SIA-02) is being sold to
+the US. This is claimed to be an improvement on a prototype brought from
+the US. 90% of this robot's parts are of Chinese manufacture. Robot has
+audio, video, sonar, two hands and can perform five or six functions.
+Closed-loop control of depth and direction of navigation is included,
+payload is 160kg, and maximum speed is 3knots.
+
+* A light-weight underwater robot (Gold Fish) also made in China is
+used in oil drilling, sea rescue, dam inspection and repair.
+
+* Nankai and Tianjin University have jointly developed a robot with
+vision, hearing and touch capability (NKRC-03), which can automatically
+control the amount of force when it grabs an object. This is claimed to
+be at the 1980s level world wide and state of the art in China. This
+robot uses the NKV robot language to allow high level language
+programming; a standard second generation robot.
+
+FACTORY AUTOMATION.
+China Huajiing Electronics group claims that after a two year effort by
+more than 100 scientists they have developed China's first independently
+designed integrated-circuit CAM system, consisting of 10 subsystems
+(planning, production, management, process technique, quality control,
+economics, operations, materials, plate making, statistics, system
+management).
+
+Beijing Inst of Machine Tools has built a physical simulation system for
+studying the various software parts of a flexible manufacturing system
+based on linear rail guided carts. The system can simulate transport,
+loading/unloading, control, and specific aspects of a machining
+operation.
+
+The above suggests that there is are a great many projects in the area of
+manufacturing. Most of these are related to automation and associated
+machine tool and numerical control equipment. For example, last year the
+Second Chinese Machine Tool and Instruments Expo was held in Beijing, and
+various newly developed machine tools, numerical control systems,
+sensors, CAD software systems, etc., were on display (226 metal cutting
+machines, 67 lathes, 37 grinders, turning centers, etc). There are, in
+fact over 2000 machine tool products manufactured in China, mostly for
+domestic use. However the Chinese machine-too building industry is also
+trying to design products that will be marketable internationally (some
+have been already) and have identified several products that they claim
+are of world class, for example a six-axis, four-link hobbing machine
+computer numerical control system which can be used for machining
+ellipsoidal gears. Another example is a unit for machining small diameter
+holes which is claimed to be twice as fast and equal in other
+specifications to a Raycon (US) product. There are also cooperative
+agreements with major international companies such as Fanuc-Besc, GE,
+Werner-Kolb, and Schiess (German). It is not necessary to be an expert in
+this area to appreciate the main thrust, that the Chinese want not only
+to become self sufficient but also to become net exporters of this
+technology.
+
+
+OPTOELECTRONICS.
+* 140Mbit/s hybrid optical terminal, and 622 Mbit/s hybrid integrated-
+ component module and distributed feedback laser diode.
+* 1.5micron single-mode narrow-line-width tunable semiconductor laser,
+ semiconductor travelling-wave optical amp, Er-doped glass fiber amp,
+ lithium-niobate optical-waveguide high speed modulator, 1.1-1.6micron
+ avalanche photodiode detector, and duplex frequency-division-
+ multiplexing coherent optical communications devices.
+* Various quantum-well optoelectronic devices.
+* Optoelectronic IC made domestically.
+* Superlattice growth of II-VI semiconductors and fabrication of
+ optically bistable devices, bismuth-silicate spatial light modulator,
+ molecular beam epitaxy growth of GaAs, and GaAs/Si LEDs and MESFETs
+ have been fabricated.
+
+-----------------------END OF REPORT----------------------------------
+
diff --git a/language/chinese/chtex/crl-big5-phrases.gz b/language/chinese/chtex/crl-big5-phrases.gz
new file mode 100644
index 0000000000..063f521784
--- /dev/null
+++ b/language/chinese/chtex/crl-big5-phrases.gz
Binary files differ
diff --git a/language/chinese/chtex/crl-gb-phrases.gz b/language/chinese/chtex/crl-gb-phrases.gz
new file mode 100644
index 0000000000..9e97205533
--- /dev/null
+++ b/language/chinese/chtex/crl-gb-phrases.gz
Binary files differ
diff --git a/language/chinese/chtex/crl.README b/language/chinese/chtex/crl.README
new file mode 100644
index 0000000000..3c719de886
--- /dev/null
+++ b/language/chinese/chtex/crl.README
@@ -0,0 +1,22 @@
+The file crl-gb-cihui and crl-big5-cihui contain cihui from the CiDian
+file of Wang JingBai's ChTeX and other entries typed in by Dr. Jin
+Wanying of the Computing Research Lab at NMSU.
+
+The crl-gb-cihui/crl-big5-cihui are a mix of general and technical
+cihui, with some entries translated from personal email, aeronautics
+books from the NMSU library, and business correspondence of the CRL.
+
+The crl cihui files are in Unix format (all ^M replaced with ^J) and
+is in a format that can be used with Edmund Lai's CiHui input method
+for the Macintosh. The ^J characters need to be changed to ^M before
+it can be used on the Mac.
+
+Tue Apr 23 21:52:38 1991
+
+mleisher@nmsu.edu
+Mark Leisher
+Computing Research Lab
+New Mexico State University
+Las Cruces, NM 88003-0001
+USA
++1 505 646 5711
diff --git a/language/chinese/chtex/fel-big5-cihui.gz b/language/chinese/chtex/fel-big5-cihui.gz
new file mode 100644
index 0000000000..a2d14b8fca
--- /dev/null
+++ b/language/chinese/chtex/fel-big5-cihui.gz
Binary files differ
diff --git a/language/chinese/chtex/fel-gb-cihui.gz b/language/chinese/chtex/fel-gb-cihui.gz
new file mode 100644
index 0000000000..ceedfb41fc
--- /dev/null
+++ b/language/chinese/chtex/fel-gb-cihui.gz
Binary files differ
diff --git a/language/chinese/chtex/fel.README b/language/chinese/chtex/fel.README
new file mode 100644
index 0000000000..3f0f1d0088
--- /dev/null
+++ b/language/chinese/chtex/fel.README
@@ -0,0 +1,55 @@
+ 1991-04-18 15:35
+
+
+Directory CJK/cihui on ftp site kth.se in Stockholm, Sweden
+===========================================================
+
+The file 'GB-cihui.txt.uu' contains cihui entered by the staff at the
+Far Eastern Library in Stockholm. The biggest bulk was entered by
+Zhang Lin Fredriksson but actively participating was also apart from
+myself (Lars Fredriksson), Peter Bryder, Thomas Nilsson, Magnus
+Nordenhake and other sinologues in Sweden. It is used in the cihui
+input method programmed by mr Edmund Lai for the Hanzi-systems for the
+Macintosh-computer. Modified it may be useful also on other systems.
+
+
+It is a list of basic cihui that we have been working on for quite a
+while and that is based on a frequency study of cihui used in Chinese
+educational material called:
+
+ Hanyu cihui de tongji yu fenxi.
+by:
+
+ / Beijing yuyan xueyuan yuyan jiaoxue yanjiusuo, bian. - Beijing :
+ Waiyu jiaoxue yu yanjiu chubanshe, 1985. - 1079 p.
+
+To use the file you first have to give the command:
+
+ uudecode GB-cihui.txt.uu
+
+which will create a new file 'GB-cihui.txt' that can be edited and
+read with among other programs: celvis, 8-bit emacs under X Windows
+and several others.
+
+To download the file to a Macintosh you can use the command
+ macput -d GB-cihui.txt
+
+
+There will also be some more specialized lists available in this
+directory soon and you are more than welcome to contribute by sending
+in own lists or additions to existing lists.
+
+If you have further questions or opinions on the directories in the
+FTP archive please send a message to
+
+ mrfung@nada.kth.se
+
+*********************************************************************
+* Lars E Fredriksson, | Email:EUNET: mrfung@nada.kth.se. *
+* Far Eastern Library | Telephone: Int + 46 8 666 43 94 *
+* Box 163 58 | or office modem: Int + 46 8 620 45 43 *
+* S-103 27 STOCKHOLM | or home: Int + 46 8 97 28 72 *
+* SWEDEN | or home modem: Int + 46 8 46 15 60 *
+*********************************************************************
+* Be the first to support UNICODE in your neighbourhood kill ASCII *
+*********************************************************************
diff --git a/language/chinese/chtex/ftp.sites b/language/chinese/chtex/ftp.sites
new file mode 100644
index 0000000000..b2d103ac78
--- /dev/null
+++ b/language/chinese/chtex/ftp.sites
@@ -0,0 +1,53 @@
+Here are some useful anonymous ftp sites for Chinese related software:
+
+In the US:
+
+ ahkcus.org [192.55.187.25]
+ [Directories indicated in parentheses]
+ Articles in BIG5 from HKU (big5/),
+ IFCSS Newsletters in GB (gb/ifcss-nl/),
+ CND Chinese Magazine in GB (gb/cnd-cm/, no articles in this
+ directory yet),
+ CND archives(English) (cnd-g/, cnd-us/, cnd-ca/, cnd-ep/)
+ HKU Chinese News utilities (src/), GB<->BIG5 conversion utilities for
+ unix and vms (src/, src/vms/),
+ BYX1.1 Chinese Editor (src/)
+
+ blackbox.hacc.washington.edu [128.95.200.1]
+ pub/poorman/
+ Poorman's TeX (Chinese and Japanese supported)
+
+ crl.nmsu.edu [128.123.1.14]
+ pub/chinese/
+ pub/chinese/fonts/
+ pub/misc/
+ Chinese X11 fonts, ChTeX, this file, kterm 4.1.2,
+ dvi2ps that works with ChTeX
+ Poor Man's TeX (GB and Big5 support)
+
+ cs.purdue.edu [128.10.2.1]
+ pub/ygz/
+ cxterm, celvis, cless, cclib16* fonts
+
+ ftphost.cac.washington.edu [128.95.112.1]
+ pub/
+ chinese.tar.Z - assorted programs [some programs duplicated
+ from june.cs.washington.edu]
+
+ hanauma.stanford.edu [36.51.0.16]
+ pub/zhongwen/
+ beijing24.bdf, Pinyin pronunciation tables,
+ Pinyin->GB code table
+
+ msdos.archive.umich.edu [141.211.165.34]
+ msdos/foreign_lang/chinese/
+ Duke Chinese Typist (dct*.arc)
+
+ neon.stanford.edu [36.28.0.92]
+ incomming/ChTeX.tar.Z
+ M. Pinghua Young's version with LaTeX font support
+
+In Sweden:
+
+ kth.se [130.237.72.201]
+ Mirrors of some of the above sites and other stuff.
diff --git a/language/chinese/chtex/hanzi-converter.hqx b/language/chinese/chtex/hanzi-converter.hqx
new file mode 100644
index 0000000000..e3d508ab5f
--- /dev/null
+++ b/language/chinese/chtex/hanzi-converter.hqx
@@ -0,0 +1,1907 @@
+Date: 26 Jun 1990 20:04-PDT
+From: Ricky Yeung <yeung@cs.washington.edu>
+Subject: HC 1.2 Conversion Utility for the Mac Chinese OS
+
+This HC package contains "Hanzi Converter 1.2" and other
+related goodies for the Macintosh Chinese Operating Systems,
+namely, BIG5 Systems, and GB Systems version 1.2 or earlier
+versions.
+
+% Program Overview
+
+Currently Apple Computer, Inc. offers two mutually
+incompatible versions of ChineseTalk* for the Macintosh.
+They have different internal Hanzi (Chinese character)
+codes, different fonts, and different input methods.
+
+Although they are designed and packaged as if they were two
+different languages, they are really systems based on the
+same Chinese language. The authors feel that there is a
+need for people to be able to convert files between the two
+Chinese Systems. Also, there are users who want to use the
+"Beijing" input methods and the "Taipei" font at the same
+time, and vice versa. Hence, we have also implemented an
+option which lets the user replace the font library in the
+"Beijing" System with fonts from the "Taipei" System, and
+vice versa.
+
+Fung Fung Lee (lee@umunhum.stanford.edu)
+Ricky Yeung (yeung@june.cs.washington.edu)
+
+
+(This file must be converted with BinHex 4.0)
+
+:"NK$,R0TG!"6593K8dP8)3!!!!&GM`!!!!"a*90*9#%!!3!"ABpb6'&e!3!!!!!
+!!!!J)!j)3b"5C@aPBA0P)$%Z-J!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!S4@SeU%E*GS!!!!!!!(0*`!
+!!!!!!9d*!!!!!!!!!!!!!)R0)#!&BQpZGA0XC@&cC5!a,M)!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!+%
+E&HDK'aCP!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"Jr`)!#d*PD@TTEQFU)$%
+b!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!%C'58a%68p@!3#K"*U[S35F8`!!&@F!!!!!!!!,l`!!!!"U(3!!!!!!!!!
+!TQS!!!3)#+!#KS!8$JCm%J"#`iF1)d+F+,&L``9#bU44NmE0'48JBXJ330#)N54
+-L$4jBQ8J`CF!6+*8bG)Pc"ZKB1SN')U!TPFk+j`4`+!!J3!0N!!U6GTJ`!)##C!
+!(K#!P+K9"NJ(B'8k!!&5!J3'&&LkG+ICX`%,)&!,9X##!!N#QJ!$cHBr!"X#rY-
+(i'#'##3!6!"JJ'!TY!%R8+Y,m+i%[I`!3!!3iB!h!!d!%#"i"V(Rck"$%r`MZV6
+TdkK6Uel0Q[@"+[rq!B%J!S)2I"!!$Bc0ZlI[hm#$#arqQF$"(,[bj3*%N!!334#
+J0,m%K!!"!#!N!`lF(*!!1`!SHS%"3%!5d'5#K3-1D-hH-i*eX8%JL8!E%343!hA
+V$l#r2rrrrJ8)i)!#lSGB!2`SB%)&8N!JK44!5#H1!#$m!`mQm'`@i4q2m'-GGJ3
+0C-!$Ga'K&c`%48J!5CrJdaJ5k!&!JK(J!##HC1f&'!i`0SN'"`29a"B#)K'!))*
+pN!!%J%#""$E*j*01rKF3#'M&%!3J%d!5556L(48!KB#%J!!%"ra6)a#)M(HG!!H
+i++*Arl`$$##!J-FF%#)))%"Z9!B8L"&MG+F$#HQ-8)`)!9f`b6H'm2110hJ%j!%
+!2Fccc4r[R(())a!`F)%[HjccKbGjN!$k$bM)!!!)Mi$!!F-aKX$%!%bS',"'E2l
+i!!!44qEf"cp3"KZPX2i4&JFc0i#M%!!RZ'%M)'")%)8%8%5)J*KJKJ!!#"THPkC
+e3T!!j09!D['("""dfJN!'#))%4Xi%3B365"e8!))%6[SmNm@4TbK!h-Xm$1'!m%
+!-Jmc"KJ`JJpRH*,$1"LFFmJQ'(M!`6c2m*!!#DQN(J)*0GHa#J`-!F6kdU`[SE)
+!E2m8!-3IZH,$MbIj$@XcX6F2#%!#UjM!KLX`8!I!%RDX&e!%N5$0h$rlN!!MJ!L
+!M(#GKJ'J1Gi(re#B`$q"!&"ZRHM@kG)8CTBA#$ciE"*)!2BkmiFq54KMa"Xh6-B
+#0QCB-!`!'$-c`!""0*`"a*V1`X%2&fHF!FGjH#`1!"lNmd`[jrKcc#Irm((2-qe
+m`lJrU@3#hcp98!(%85"-!!jp1,HHXi"aT$2+!rb-!X-K+,DK`eNH3%!%)E%"8J)
+HJ'cfa$r!T(R3br"BYadLr%(4p6pehB8%SJF!%)J!#4"355#`r"(!*hr!N!!%-)-
+XS!-N!$#"c4XQl!-1aYRNB`JRjhJb1!DDMZ2"(jc!Q!m@9kSm0!)4iKR"-h*J$QE
+-iaLhb%6qmM#2&M$1%+TJ3j!!5%F&kM3N0`N!JHY'q,Vr,-)#S`J!)dk4MbA!!!"
+Zi-*CIJ##)m3$6#P!!$`+m!pN"1!2bV14Z!3#!!T!$a"!k&UGXX1V!$`!%1%JJ$(
+N%)P!-))#!rM"2f,!$h!BBJibi!-qh"F-Bc`J"TjJaJZC3BTrf#-$qpM'2`iaM!Y
+dJa[qH-Bj#,L*Cf3!J3$iJ"mEq-"c5*!!910S"1-D33)$M+iII[J!12lK$`j!M`!
+Nc'61$!'"9ccL(Uf)a4"Zm!rQc$!hJXM@Q$B$"3&B,6#J'')!rX%2*2!R#1@"3(B
+L*!!*"#%3"$#&),4RKMmBi30rJ!FNiQ#$-F"J-Sc)4L$qmB!Cc)!2'FJ()dL4[m&
+Pi"cR'-F%1-%2H$aM"KXVP4PL3!Mac-#2rR$J-Bjab$b%SaQNfN3f-)'+!E#X"$$
+#$L"J!!9+D[+J8@S%"1E!Rec)BJ3[4-`2PZ3)98+J@km-!!L'5")#f")33GL-HEL
+M)K'B!*M'''BJ-N!*GMMJ$m"BTK1F#FeYP+bD-f!!!pDc#F'0ij[RQ%8%1-!(FmB
+JRCi`3aMD#B"hCJ!FmM6N"-(4$XE"!K8*'"e!!d!)"Y!&$$9$U&MrJ`G`M+#K$id
+S@Rj3!!")JJ!L$%%)-FSq)65%SjT"!Aq%!&Ic@1Fk!1#!%#!!6&2)3AX0S!3Z#2!
+$@!4!#M1&`3!1`!"[4-!3Ml$Q"SaK!!B!S@%2!qSQ)-!"(TJc"a[,JL@8+JKh,P!
+FmScJ"-A4"NqS0JrJ3!8#0YJ$2e!5"KL!J%$(5PbA$#!#J-J&$5DJ9V2B`"XN%89
+I3k!!B(!!X%"JhrE)SbB6%8#[pd*!"#4c(K8*!J(Ekjlfq$#'b@cJKH+B36"!-0N
+$I1)G"XL$rqBJ(JB`c&*rH-!CH[%)H($J!V$B``d`F)p2Q+1BJJL'2ciJ19iFii'
+Ib)3j0KF1Brc$`@r`"bS1m)IBP%1[!2#(2b!!$!(3UB6&C9*!$K!13,ML"[,SdeP
+X!)`'!%)B#""K+"J!#K+*j`ri!3!jTJ)"%U&$-aLB*6)J%"F)6-E&QY&6)3+!0J$
+F45F4XP'2B",Qck$X*3%)aSeH!Scd%)BrD'k9A[kK!P3-j%K&)J#kB-aR%ZUNZBL
+"!4J%!3%4"L%"(b!(GPX-!#`)i"riX-jNM"1p(rJMN!!SFXQ+[L5Dl1c%P$P#!$"
+-J"ii%`5jMD%c&Zk-#!P)!!&"kl1XFDB6-15S0"HpYDl2FJ"!A2FX$hK*E+D!M,B
+HL3S+J)%$BMaVRHhkfG#1pPQ#K`55h!B%"J!'!BE$l@jl1cM5$VHiir+B$!!!8HJ
+qYlV6cHjeUcX`*`$!#`"!!dS"S!Ja!8!5fJH!+!$!#Sd'3"F!m!8!N!!"!'S!3"X
+!-!F!j%&9!)J9)p`+!%`!`"-!L)iS!(!+!,3#!,)!!#i!%!`!(!-!c3$!0!#3!!d
+!A'BF!%J(!0i"J(J!i"iT$X!!P%+"!'K!S`%`33"B%)!B"1!'!HK"!)B3J#B%B!S
+"b%)![K!!-36J$!&33`$H%)!l"%!2rc&%!"B4J%J%i")"i%3!4"%!1kXL!+m)3#d
+#F)Xd"q!B!@K'!+B4J'`%`"X"'%F!cK'!GJ4J(J(SK`!'`$d"2+#A!TL!!#`J!!j
+8AJ!K`,`!8#!!((6qmji22HK(,hV29p[4D"!!(J5!#!&J3J#S%!!Z")!-!@"$!1J
+3!$kk-J!-$!!&!m$"!*!!-!!X$!!0!m$$!"!a!%`-S*qi'!!b"S#0!D"M!2JJ!!+
+-med#i)!!42!S!CT!!#S3J!X%'!-"dN#!0K#!$J6S!`'!Q3J#1))!Nr!H!5j"!%m
+3S"3%`!S%-!X%S!X%)!`%S!`%)!d%S!d%)!i25!$S3!$e3!$m-"B&!!%&`!%&%!)
+&F!)&-!-&B!-&-!3&%!8&N!!&"@!'"6!("3!)"G!)"9!*"6!+"B!+"9!,"@!,"F!
+,"9"Xde!!fP!!jP!!me!!r'!!#'!!%Q!!&U!`"S!#"P!$"V!$"P!%9jL&@,L&@YL
+&A-L&6Q!!9f!!B'!!D$"RheBG[i''["%!Er%@8E%!haBFE@%!E")!#K!!"q#'H+K
+c!B#"HKL)4l'(JkJN!Z!9L+JNLTL)LAJ8Qf%!5[*QA[%@M+L)HlL(L#J!KE'(8E'
+(@"%9PHJ9f31*LBJ9P6J@HeJ!KcJH!8#+PVL)V3L,MkL)4f'+X1J9N!#iKklS&ED
+BL+S)L0@"L%5dKa)3!F9iM-DBM-LiM-SB!",JM0$iM0)BMG3iMGCBMGKiMGUBM3(
+J!,()LAd)LV%BKl'BKjFB!)i)&qSB&HcBKhRiMQi4!H,i!1UiKa(3MB(S&I3i&[6
+S%(P)M`$T4(hS%2VSKelKM8Q4!(XLN!"[iBeBXBId@*!![+L-&-Q-&YQ-EmL(#V!
+cd3B9DP%!8l%!V!%9BF&l#c!!#N#5Ih156e%!"P!!6c'*LjH5h916*'Q61!N9"R!
+!"T!!!#"j!'*a!"kjI6PCP$GjP%EC265*P%aCNdk"NNi4&PMa0cZTNd+C!&@*P8[
+C23a`Nc[jP6b*P9M*NeF*PQDT!$[jP#aTKpTaCNPa(UT"%A*T%A3jPhCCPhJ*%5m
+*&Pf"P'ba!"pC(E3)&S6C&Pq5MT[fKiU*J3Z3!"d*3a4,!CP-849E344'34D6f44
+2%480-"@8H49CX49Ci480`*GMNCP)`4k"f4C`5"!m%""#8'ELYK-fJ6*X3![D34!
+'J4$,mJ3!-(P1)`m%F9e')""1B!413!8%)3&'m!41B#+5FTY#XK1a'4$D-J(Bm")
+)N!!4'p%4(`%$!!p#C@PUD@jR+L!a0Q4[G&J!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"bFh*M8P0&4!%!S4X9EU%E&BB!!"T
+L!!!!!!!!&!8!!!!!V58!!!!!!!!!!+,5##8!%[$fqpmrV+ja3Cq*mabC6F8kTUl
+E#hh0HF`LN`K!4(m!q4p[c&U2"D%3D`1"$T!!%N)rN!!95-k4i%aTE@K@,5b2%%9
+QLcfJYf`I4'jB#E6P2E@AVH1Gd)C%K%!Nim2PHll`qS&*4HKbKJ"BV`MNHq!%MSU
+bmJ3Z6*j6bSfCG--a#5k#!N#T$q2q-9rD8bKqUE'J)6'*#Aj#P'TJUYK@1i&b`6(
+j)("p"Al8[Gp'"`V,lJjr4HG(Cf#VejGEXAI"XCNaPFicfI0$SQMdSDE90CVcHlj
+aqN1RhRLmCk[LrDA62r!#DeC@Dd9ZZ,EF4Km5aH0-YQ@DcBCh6Y6UcAE&XYQ0TY@
+ffjZGdhHr"`Z'i['16bR,jJj[8GAV(Al$XpU$hqL"I2)$YpahHqHEd[Al)R!b8bT
+U&5XL4B5!IerprXrE,2q8IqfTpi9H#6Sj@pH-[Bp9#frrrqh[EhK8j'PS6ab+mAX
+HVDUhR`EH9P(2#crii9Z1BeYa8d(@[j2q1&EMQ0EF90"eVq6rrNp)[rrrrrrr+al
+cd2CrrrImiP(XbMH*@['F&A3[rrb(cp[NT+CLj@Bdq1KEIrrmNFqmZm%R!aCiPA3
+P5j4&D9hrrq51m1mZpU6JBXm5VS5iZ9Q02Mrrrb4hYlbV#5qiXm5VS5bFF+bMU&M
+9(Irr*I`2PYmATD19ij3XCSkKEIrrrfbTqMC`mD1kArfIjEh`P&*rrrMarkZ&eeC
+biA%A*A5YfVU#l&R*&eVT4epFhhBZkrVLSG4ET,U-GYcLTFf(B`l3#l+"c`GS#GS
+$GS%GS&F96XSAC%FQZaPdiGM6Y[G3R8DjkR2@jiZb+jmELVGS'FpMLXGMEY!lXFF
+9VU1GP%l+0f8MTbiVR2NGNCf`GNGf)kCf5(Bkl+9fpf5A8Hl33kNl35kq(D#RC61
+d&Z+6XHFeFmRBql+GeqGP3l3Bl*6L[GS0GS1GS2GP5l3Jl+Tf9EUGf9MXVACA1EA
+CAZb`GS4GYRD%RCBZd*ZbbFjfK4f@ERYGS9GS@GSAGSBGSCGSDGSEGNYfKafKefK
+jcjACD1beGSIFR1b"fL"fL&ccGSLGSMGPXkKZd51d5Zd61d6Zd81I-l*MRcZbDl,
+GfA$Y&,Y&6Y&EY&MY&VY&cY&lYN$YN!#lC%l,Pfb0cFk4$XZRCGZf,T%Zf51bFl)
+AE*ACH1f61f6Z)3G)Ta#,TlX[A*!!1)5FpcL%h*!!MT&Z4FN+krMX[RAAVa++Q5L
+TNSrTJ6R-GilahiXf[#r*Y,cHD$LG)0b([RSA0i(`lmBYSbej5Ak[e,5F%TE+%!J
+$4Y`X`Xb1c+pP-bQBq*Q&P%XAHZpTIZB#'Z`R)*CdPf*4VfNq)D6iKT2L)L*-,ak
+P#d#lGpe)SNd$09+&fj5TZapAkcYHYI8p0eI@#8DqSAXpR!8lk,dPhQ8NN!"-pI8
+p0eI@#8DqSAXpR!8lk,dPhQ8NN!"-m3qP`%Qi&"38'AX`8&"68eK9@)I5i#6F#JS
++$,fB+#JTUD`UVCl2Cl2Cl*V%f`[C&RXpRXpRXpRXpRX1pF(`1JC0e''mM30!d*D
+%9pIcq`dcFd-%kH[U&l2Cc*)i"G"2aN+q[Vdmm[F'8ADLZmhfp"V1KHm'dIEBT+D
+G4(KBL)bHcAV[f&Vbc3pmp$SGk1fHriILNC,H6ASeafAV$Ib'%b96f4XBN!#IZA$
+U6Q[iL+LZZMc,DPY5fTE@3Zf1ULSU+Mam%Sf4C&N@4C!!dRK!3%"!3"DpRrAeq%m
+*i6`Q5MK1[)J4!L"%#)DEK#&KCfZ&Q&Q4jEbbbIijFX+KG#PP`@E,RriD)a%4%0*
+k%9#pRAl1C*(!,Yj2b!+q[`QfF(!@[UHQlRcjNSmqI25MckkCFS-TLDD(+@bQ*TY
+)fP9LBaEM&T9@NF6*)f$edbj3C6%dd18YP-66D4Y+V%aLh',5UY)iQ54X(`d4L)L
+)D6kqTNhB6`RK2$,`aAer26GrriD)a%4%0*rjU!K[[Crm6&-'`B&p%"q[a,bGaim
+H2(M!Q0lAiQ*5PCTD@*5p,%NK*0Fj*dYSR[`jkEJ&PTCi&Nd"$@pRrL[Y'XZPDbN
+c4YeHJU%BH6GCl2Sji4LPa5S#UF49-RH#IJCb8md66#0Y&h3F3UY`iCU*qdkjVkq
+[UHQk[Vk`5MAep3[CepIAepIAe26GAep3[CepNeN`#!QAK263JfPbmJRfaMdmiNF
+m2)jlkVmF-dV&p,Pdr`5MAepIAe#pRAepIAepIAejLCH-(#C(f6!*PbkINcBQTUD
+QXMEM@Zr%!`0Q!bmfQ`fB$0,D4B4B4!L'NX41ck2cRQ"jhYjlm(I1YqehlAIE[TA
+([2Rqe0VX'YV9[h@YE@YV@eVDeS[1FqeVk9Af`$!m3p6e[2-pJHTkP'ZlBEYGfZl
+8SehAkTqRlD9chj3ZhdfrZk8h5NlP"R)T(2MaimH-!@"q%-f9YZC$%')-IXI@'`X
+$0k@r9TIh"+Xi@&J88j!!N[mA,BY#@G$2%4imIq'R-3%%LmpGGGGGGG8LmpG4$6F
+)I`G'l",DPYSfe,DPSr%pEX5NG)j-M9'5*5fB3G'l",DPYSfe,DPSr%pEX5NG)j-
+M9'5*5fBIL"6jPZ(hrEqc[[,IBpRCf")CV`%0EfB#bAJXK5&cY8e`9PbD(*1PY%a
+q&H+FZT!!Ce@Ub*Pdc+CQdCKA#Z&GbE*q2C`-@b&bLhd84P@Dq9Shm1bfbfrl@jU
+4I8`1-MEM%a-6%a-6%a-B'%UT4+*[CkKTc%*M*4$hr'0&dN@c0M3T*GXTp##c`D&
+d,#h+a@-N-f,UXYB@@ZUlekQTX[CiTE2TZ$d42KBe*cNLe'"3'*S#9Caj#jQVeA0
+ZT"Q[N!#jQXKFc@3ZAN'CU&ZQk[*4Vp0eRX#pQ#QUBR9Q6%dKaAep3[Cl1C*(!9#
+-+IN!9rl'ZkhGU)FfPd("Y%BT40!`0%VKDL8U2#Xh6Z)+#kF`@!DClJfl@q0qPlN
+`+)$&20rVZ#c"jNh+DQ5L[8#Fe#3f,'-C)E&J#@Q1[3M!A6GCl2Hc!69T2PjIU'c
+!8k'Ck0%qI2Q'HClchiVHqlm(IN1mpjh([Pq2Cl)*EV"XhhXl1(ND,rb%mBQLaDV
+dk[U&l1[VfNq)L)KT2!3%"0,#90++qTkEV*J(",j1I0`*4$b0Zkp3@`DcFbEP06*
+48e-P(c,[B9j3h,-Z1d6MT$a1'R-L"%#)C%HiL%V#9lk$V+264KBL"%00`K`djN3
+)J4$)Mh%3PB5[I3GC4kD-,%3)KTZ%20lF[VYalMS#1ilq(3%GfrGEZ,l@%J+8V#c
+mbEX*i6*4`RK2#C+0I8p0eI8,fIr-Ql$m2`r#C0f%m*i6`RZ0+HTdVB,mp0hMV8D
+c9pIAepIAepHNqcm,fB#!NSXYCD5MAe#pRXjNP0E1$)K-Vr-0)JZ`qSf$Nj&489Y
+),P&4NMMfIm44#)YGeqa@2YM(m-ET0-Y3[CT)i#S6V'6Vr0491aUbr5'G&8l'eMD
+cE89YQ2DbRTNh'0ephEjhAepNeN`#CF[1k'`dh!Q6qI-c24Srm01HZZZZZZQj+&R
+dFmi,,1%k[62JpZpI8+jep6*ZPbf2AZTB6`dYeV*F["*48l28p0fUkVUc6RUT8Bh
+Ih'faYQaPK3QDV[8&!G0`$Tc'c(YMrTZ6)bI,T+GIp2YlA"+8ihei$TZ!G1BfBpX
+Ip0bC'6jG*6VrTp[Di*5R'q[1DkBpjji!&FGp89(E6PY`+*a@ie0C01Sm,fGR$Q'
+R2AAA9)[2AAA9)[2AAAA6F)GG-m&!3%0iCJ"JB3%!TM5QNpDq[XQ!F8AEbIN!0*r
+MVB1"pSFYPV0'h3-+JLJGmR6)dadadb-TVY,8#qdLJP4NRIAK$4')I`K&l1)IaKN
+LT+,,@@XY[Cr`E5k@C!LpG,E8L&b(DlEDlEDlEDlEDlEDjH5li,dHX`6"-%ac(0&
+1A+q6P-eha0%d640%d640k@2A*XdJMk662dT8LXdL!*ch,4+i8lFAI6kqAf%jlPS
+&2ZCZB6N1k@3XE9U8aG,IEi[J%cVjj2Vkq[U&l1[Vkq[Vkq[Vi'0@Q*,Tk$&N`#C
+FZ9'60MqrM!M!AL5LCR1N'k&h,L+E0Pc9F4H[@GUh++pH[aZXbIcjmiND*LBQ*LB
+RVHcr-Cd-mB&$@qFA3NP-*$&X8mQRH8)'r6b`B2iD21FYE@YV9[hAfr2N[ep[ep[
+epbTEi2N#qKXlV!VkqbB"-Z8ljXJ#X%SepBD)a%3dRa&I9Da@+qpRAl1C*(!9#-+
+IN!!&IAep9dG2X&"38&"Pl-&"38e0B99keA4dq`8&"38'AX`8&"68eK9AV%3eKV$
+@q630m)2J5YJC)Y@X8N!f@j!!#1!KVHc$fHa5CpLlTHjM'DX0BA#)c!)DhX`pRX8
+QIBZkAZBaQV$@&`L-h(fk1kFLhdE4S[1dE@VIEVD@4VV4VECU$c-6%aJApT6E!UD
+(P9DrYI[@rN[aITApL'FHce$6Q)6'I066F#C2jmc-c24SrfHcKc@)8p0h$pT2L)L
+)L'Nq)XpR$QX3TkEZ(l5I%4%4%0*m4Cl1(0BK6dhF2fNq)L)L)D6iMMVVPraG#6-
++E6l5GBUf"Ifibm&TeDiBh*lh`VbZ#8cfi-B$'GMYfqhI4Eh@lmLYZh0XVf)X%"`
+5)EJ,-dX`'B$0,,@5M0,Df@E4Pr@A`"PM2c$-hKIV[Le2bJHlc45),QkEG6X+qA5
+h69r$6Q1mGilmLA%GkAIV[YhbGkE[5lb)DEK#)JKbT1JEKJ5`i1T6j[R'"JB5`PN
+P#q*SQ34IaFZbh2pEre+EA,Lk+H+G"80fhEQ6XCd8lFreV,QQaQ+"21C!j#jZe85
+FeTk"J[I6+rdLEYblQ%jlPh,3'jD4"G,T@dVGY5DqEN25R@F&-5CUp-A"JP&!kp#
+-*d%l2b(T6V1#Q*-eHQ,J`5LJGHK'%k#GRmhTqe*Z@CCLGkkN&ZdYfKID,4DEEMq
+8Z+kCJI!ST$d"1[[,BNUT2K1M$b93d$3PS@S8N!#A%@HTkE[fNq)D6rbCr'ZqpRA
+ek6l2C`jKTc%"e51aeeeeeeee5,cee%",#F+DpEbXa0fmMUfkPV6PPTCD0dY,,Qa
+DZq[V"+0I8,fCU!NSep6dh9pIAerrrmNYDcA9,[)JPhkkf[6*,#'Qi3r-+)cKB'Q
+ZS)B$-"L$+CP"CJ-`0BH#dIXl12A)fGpXaF'rGEfrGI3Epep$)ee[iD22m&X9)&)
+-4Nc2)[%TRp-@TT1J$+'4-Q8NiU6$fi8q"KB#9CYJAJ-QCj(XXq&JCFe-D8*AG-(
+)C+G8,fGH5MY*G0D5MANSeqQjPZjJKb'5R9#pRANSl5A6@NSej+0ITZCEZB)@+5Z
+jGbP$2RTB4C+-P'5M*4NTU@eS&qb!r$lMHcQI8er&l-1F0%CFC-RR%MRR"b6@b#-
+,1b"ZadC`88$ILU6qPZcbkT-T-T5k6Hfb`Fac(0'pTQh[4RampPZHJfbD"S'JD#+
+"qBL1j@44%LS$*e*QfN0XcE5'fC5TL[Nr(Xrik'`[20GGeZQfF5FVE5MAFPh*5LF
+EQaZYfSX(RXlTb0SfMEV4HGSfMD-j'dH2'SqBYb`5'@YpCMV(l#$BcKQ@,#&EGUc
+D[53Z3P#be9DqbB"NFmZRjFPRl@GYAl@GYAjG)CID",aqerSjmX@#Pear%MIY*H,
+,MUl"G9eNkbG@Z`T8&2X$J6RKqlN#-Xb"'@C!MV6fYAP5`2,[dYqN8JmpTim3d4L
+D*ShhXkp#%)3K#'NrareD6rrq&l1cfF1(-B8QI"mr#44,a&20Up@E0Ah@9A-ef1X
+KFc9QV'``cLA*+0KDe[CPTD3jE,k0(Y*m3K#%2iI@i[JpD+LQcT[63q++D+E1QKm
+88d8d8d8'-U-m9eTeEFXmmETj#jMEHZBfj5A2AmVNGad"(FG!4h(XdE$5!mTd@[b
+8q@r0YqEFP2PDMPAR2ERP*X+J0H*LBQ*MH%aa3[SN-D'*LBQP0,,+)jLBQ*MH%a`
+4R3l8GU0SQ*T65Q8(r--aII'FdbE-XadT9F@2EcBE$BFJL`l"XACSiRfGf)Y4VMU
+I1-ERC+,,@@XY[CrfHcf(XlV2Cl2C"++`X,#`X%ceL$LLN!"13pmp!(ScE-0k-Q`
+K#%2iI`f)@)1++36N2I23"k-fc$HM*X)3K$q(m0L&L&KB@GUUUc)qE9BA0B9qTCF
+&BAVriD)a%4%4%3dRa(i#qV'#Vk)Iq'L-4%4%4%0*m4q![UaJUqL&IAe#pRAepH6
+GrCd*T1q5rD[j(2r!'!`#@eM0@AYL$!B5fXE@Ek*hd`!@!`(-B'09cS*jdRp++@`
+Da*KCh*RdL+HQ"c*Z`RK-Jb(#H%b8913SE,@@b&$e1DAijNhB6`Q3!'3i6`Q5LTb
+&$CDbf3SHTc5r&HKd)D)SI$kKHcfI5CX!8#q&2b!+q[m`LAeP@F`TSU*fbUj4EK8
+9&G5$0I85+YjQbjf+N!$9lecpGbjGhEPh,ZC3-phXrrrrrrrrrrrrrrrrVrrrrrr
+rrrrrrrrrkrrrrrrrrrrrrrrrq[rrrrrrrrrrrrrrrVrrrrrrrrrrrrrrrkrrrrr
+rrrrrrrrrrq[rrrrrrrrrrrrrrrVrrrrrrrrrrrrrrrkrrrrrrrrrrrrrrrq[rrr
+rrrrrrrrrrrrVrrrrrrrrrrrrrrrkrrrrrrrrrrrrrrrq[rrrrrrrrrrrrrrrVrr
+rrrrrrrrrrrrrkrrrrrrrrrrrrrrrq[rrrrrrrrrrrrrrrV(J*9R#h,!PK`8iZqI
+*YVr8YV!`-N9'$LG)0dk99&Q@QF,#EGMFEC!!B@hB+`[Aq[r[pRlCCrbMfC,N8Nl
+rr1Z8hp'cKidGrm9d[rrrXb@rSK,3RMN9i[Bp@e9[2J!K)39LEfjeFfaPBA0P)$%
+Z-J!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!S4X9jU%E&Q8!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&m
+$)#!04d)J4QpZG#"-D@)J@$)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!+%9S3#K&Ej$!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!"*P`-!$d9NDA4KBQaP)%C[ER3a0J!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(*cFQ058d9%!3#K&00
+pS466bJ!!'#3!!!!!!!!@AJ!!!!$X'J!!!!!!!!!!FQN)!(2q%fK%`$Q-9V$fI)P
+9!8Di"Fm)dqaM3mrcMD@BX0&[(*jhk*IaM[3YSqf"he)V"G0#8'LUA9!VPpBh)QT
+h,Xq5hQ`BEAb-24-9UeC`q@mb#@6@K!B'hjkRTJX2IaQ%K`Ir!BlCc*BmdBcpQE4
+bH&VccGFF(f558PfZlDldFhS1Pe6VGai85PX#5)&%U#TeBV9aC$5AM`"-l-YMhEJ
+iA)1`Jm+)p0e#`ia(!X!CR83l!%R'lmX@K1#"XPSYaleP[KJFidhh4KIa0+Bd["P
+!(62T%i[+lmlAL%lY+jDk$Ii*`Rff0mpFCr!5kp-IbMqSK15GAYLFN!"a%pSC6kN
+VYH&jfMVr%r++8NT909'YbB!VpYAA#Q@cVSp3He$Bk5@MUG949kbbH8-VPh&l[MK
+NJ,%e52f%@I2Y"Yjq!-!!0"kB"HZQ!"AJ!%%`&""X%'cGDl(KII$r'+9i!!!##")
+#$B#Xk'Ur8S6lr+@+p*b2$3LL*P!!e43e8,XXiN0R!`!!!08809#l,1*$C`-!!!*
+S"i6ai!!!!!!!!!KHfY!4%!!!$+3Zfm1405806mTBS!!!$J!S))*`XhVcP(#MQ+9
+i!!"M!&"%`3E0hXRDQPL[Dpi%81d!!!!B`%'#*JNCZpNl8dX9lR+1&(!!!!-B#3%
+6BG8cINRDQPL[C`kT'K-9#3J!!"6KH`MiCcBVABp9L[ZK-8V`!!!![8m&#Mme+%#
+8!#8!NSLV`-f!!!"e3G8!!`@69Y-*aV*Ud-AAPpMA1"D'V*br#Ud%[YYIELd1AR+
+qh9q&PpNA1&IEbqbVR%Y$eq&ecMAiB@Jeq'9cNAfqY%&pQAfGIJ#l9rGIaF*D[AL
+Pd9rKH%[8V8PaaG*IJ+m0D0C2A19HU@8&S4IJ5j%A)UjeID&p&I@VaDd4ASVZVaL
+lkfpC4Ai'Y+AAef&pFXL@AVL,4*F![T,R-Y%epH[`d[`f[`i[`4IKeECG`A$A',a
+Ur"9aeIjAqPS9CJXqA1GHG,abbNZiV44IdY6@4V@[9V5eT&P0H"F#[Y+j'AaVrDk
+GD+VMbld,-9b1[N@bACARDkLe4IB,m2,1VMkkUc*I6@UV),NKCQX3A*+r"Pb8[3&
+q$VNYFQ,l8ZX@Lbp*CqZ69q(eRLd"FpFR,deq+dAAHPDXXX,8&XdYQ,DGj3cCVB9
+[bhjEmYq@r,IP(jLrK2d3``Y#d,EprERDQpRDQppK0(p-lmMqQGq1D@HQ5p2CT+C
+m#E`RPe4@HlIkPq#EZ'1(aQpT[YFP2%iViMIXZ2Rl@Hk4a!jePiJ*`"-PSEm5FI+
+bI%RV6iTPC@l2IVfmahj[41r0k*j0*4XPGHHDV`EHjQBE66G1DVd"m1VfA$9XiZl
+D'1#lMYip14T-h@8pALDjdhMAacq"$rXGRfVq'VE1)k&ZRbXQA(1'KkT2JQCR+ek
+2,KjpmdAhVXkl+8G1RD*$[9%eJQ5GGRA8Gi2R84&'al$12pfhhE5G$5h3VC!!VC0
+XRP0Phb,XXXYlbbbbi5rh1DENVD$qG2+EqDQ9rQrcIDj`RMUIhEVVFNK6H,ij2S6
+%bDDDDDDDESHqqqm0Bp'ZfB*fK5kK'-@0fm2MZNRU21KK#8I$i)fqh0$GVFUmF6N
+UP'G'1C!!jqC2)+(NM3Z15dlMlFIEPMQU+-Hqd%YJjL@f$#JU8(-5p'#5i%!P[bh
+j@@f,EP)11)-peAfH5Hlb$hM6m(4pY3SeL993AaDdHqTm@kbMG8",RTX8EabL)+b
+V4a&D&V4Ud,@M9X2AEa5j2JchqMrHPpEqY,khUjh6k06Xfd#TF+N2F08qhNDN0(l
+K-RmFkUCe@fA499*e,'+@GG&Ib,,M0Em9bamXD5T5,k4H3,r##q4d1MXFJ0$j,h9
+I*ljBq94hmj-df-XDC3hKX#V[GE1fcYYRECkHBZ%p#3[MUJ35r(Fb1-H1XIcZi4,
+K%Z$8C!4MaLFCZ,-hc-GNf[CLa51dL'M@8[(08Y-p99dG!k+TT9$`kf)ADa[RhE$
+r8N-M)qIN-M!bj(3ZGXR3Z2CBq[ir%I%aLTAi!!IE#!B4%-LCQ[[GNklRGphcZq`
+[X,l$NB4'&hKN-VYaj!$l!2l3r)a4LrqB[YcDVUmle$hCY@ECY@ECYQ@c,CPXbfC
+E-YQ@c,CPXm3lIIKaaJTlq[*meqJ[0qecdRR(pYpYpY6RJ&DfLEEU3f8G-C6(Vf8
+G+ECPY*G,+,Ymal+HX6f,f1jc'1LVD0cE`HQKHAhVeZrN)e`Jqq-qY6f[pS8'U(P
+L+HLRiZJCp"36&K#r"G-8l@kDYi9ER@GKG-S&p[Xb`2YphGElp&rY$mM&rmr2V[P
+EPE`YVZafqfffL2aNk5H1H0)SYU%5$ViQ0!+'Y2G-,!Y3I+I2i,imd,G6D['fHNp
+RYe2d'I,J9i2Rj8ffq2h*hHaR4lJmYbSh(N2)H3mN%@iYm,*5hfiiKM)"j3hZLp,
+JAD2$5i0X1-Vq-e[!G+R493kiLC1Tf&1`TmM)`ki`)Z3LZ[TP1$GqhN)eVJXm+R9
++[)4"QLif2Bf,b2p5AbT,-R-T,XGUX9$hCY@ECY@ECThiGq)"ThiG8R01c'I@#-Y
+QZC[1LEEFk*VeV$f@3LhmRH,NH3cac@qTI[[!%dcYJ%hDL"+H[&leT,Lpf2F[GVf
+V-U[9pjqq@,hlh$I5[F0iBT9iBT9p*iE`c+'pm*A-i-ZSh(*aiQlS4Ap"pTke2DQ
+6kH6'l'lX@DCMA`#[ZGBd5,@EZ(a3a-2[$SQLC4-YGf*PjJ)2#$ZH0)HVN!$pb@V
+T&9hap0Mb4C[c))bpBcc'0E%h$aS"h2*#3mM3r9bAfQ4Ccr#PTTmLFb13!%@p6rb
+hY3!RV[%8AlFmX[j+lZpeMq6H@fqh2PY[XDlXmrPdrDqN+CZrX53q1,Y2f&[0lbY
+mT-qG,fhHIHIXmibX$IGAdbh9pLZ-)(F$VCEJGF$Z"e[Zc@-r5mm(5#Mc34AH"#$
+Q`3S1D$#Qc63TXhcV#GimR,LG@fE[eL+dKQ2BSCc9imeK!1iiKG@Gp940aKIq@I)
+C@E82"eM"0lDTCj55Q+G2"i$D(ad2f*JMRXEV'9hZ4qI@HHaTp'jbpGi0([65)5B
+H0+LG2abbfq@AEjA-p(jQh4SjYSpdT8ENhVqRdiGH`F35Zm,Ic$MMA4T+V9@83I%
+hA+2fhhSrMGPKdRbb+PGlbb$@qrlArQSf2jV[rD8E(rRrjZiRb*qMR**qiSmr([8
+&TUUK9c2E2KFrPA$%*fTECi6aeDkeldcMfeIacRe%YmkaaGJcbPHElk[Z4R(8EVG
+G6PL[0,hdLC*@KCNLQbGTYa+RTGkQI8pecq)V+@lJki1Y2IcATbRcQ%[Fh[$l`bk
+'A'MPpVJrRHLR5d**&hl2pkmiqU&a0k%YS&8qDFUF[M[))f!QrmHc8j+Q93V8h8K
+e)G3mU6Y6l91Hjp3,GcrE2Y5erZPBT+H!)%21FqF,c`mMmcZ4"qPPFPY*b6+PF+6
+dP5NU8P5Np)65%h)RLleZLaMlKE2q*Ze@"B[F"&BbQmj@,f+M@c*+UkkYccaE'l#
+m`KFh-!rmrF[r2h,rcYXk,9YhjITAjhF&KU(6e(iS4r8BMk'KU04SHYLZ)3,2!UG
+"P3C2qf-XTHjX'(0$QLlKkU'E$qMIU-eFChKc'cAj@rE#le*+r$dBY(5r"jKbDmQ
+d6bL9SPZ('5*'&Kke1h13!-%hd+Ec&Zk%ej-Mf8*VMlRpdpqqqqqcAMNhAQhKMc2
+4'Mi)mASirm3F*A)peEN3DXHE(RT0"DleNr5icr'aENrG!Z6pU,j2fUce&L1,h1T
+LkBj6MqT2h[9mHVipAaP,IYTarClGc6`Zp,2r'Im(Pk9QG2,2Gcp2F,5e@P6E5mN
+Ycl*0Y0Ck'B6,-rH'6$HT"[-e'2p%a829#BT2qK&ZZ+I3lTjmdjUH,JEIrb)ieNj
+pqG0YaIP*MH6D6mmRj54hND+IJE*KG8B"ZLIfQ0hAEjiIm5c,rhh-qj!!rYGb(FK
+hDmbXlQ1"pT!!-&Fikjb-M(MrE,"aXT!!FHD3!((dZ0RF*pThhBYRl2*XB5D4c!A
+'#0QH!U4)E*%2%8U8U2B@IlrS-GPMXQ6,[NFl1M4",4",4"(fE0fD4%$(0NTX&Cc
+KXR50[fl9DCFdNV*bbBFP0!mq6RfXMkmj%df-6%j%a6fYp*q8ERJFfhIVmBl8NRM
+c)A(aeG(mGSdeG+J1VkDY(a4pa(*P%Q8fM65,)LY4-kETdh+N#P0dHKN"9pMd[6`
+`fjAkMFHSr4K(Z,kSr4*ZR[m!,$J!5L$fT28M1jGJkQ#6q$%iUBVKbaZA0[Q')i@
+f*r2pA"Y'#rPfd[jDE#YXQcD+LlI-AeXp26f,EDMHd)TMT6R2c&&NL"Z-f8m$[!i
+l8%HDRZ"Qher)SlfG)5!31T6Y*@FmI"+1INk`aMZaRrBa8HPRGpA5XqpklcIHMhS
+R0[KhQ(HBGjKjNGkFb*IJ@&`K++6X@VVYa120P#idHjpRp%%[IYNilGC6564VS-i
+jjarE0idN)*ErSKqL"5Dp[R(6E6$[1IT!jA`ZHU2Iqk'9$5S&Il-rQHSTD(XPTDA
+2RR9$3@VS,dZFl,1[XZRAd8[!l@A8GV2GqTUkkBZB+2*3XLF`lFce@h5&S$c%GLC
+h%qirMajL*iBqRVV-D-r'[MYe$qM9q%GV+BPd,pBUjlAE'T)5-qrSE,CL-SMiDal
+(G(GcLlYaf"f"f"f"f"f)hBj[icf&h#`qb%QiL#4+Gm&S1Nj1S5IXMf4i)QF3$8-
+H!Cm08#rL2qJ5q6kq[TQA'TL1Pl46!PlqS+R))peC+S`,MYp%I@bF3h@FIfh2Seh
+FqfEiRZEA0VQeq1k&fKfG1haYJIIrLRrMRP(%8mj8k@KT*q8r+IP10qUlr[hcrDp
+mqqIl9iBecfPljQGaIF[F[4(fa5G3Uf+`L3(%E%Nf%@X+Z%Ci9@M&hCYXffIJJpH
+&cF0(X0(LYdhqh3RQLj'1iR9ilr#k+#V$1-*HAIBqA8-X*e)rc(k#H`IZILZ,@#d
+lm!k!IJ&4f-6l-Q)TCVH$TIYSaL-Rib2plifAlF4,Sm4N4'HY@"Y5%UlUjl00FjP
+9kZ&dl(E+HVf#VZV09)qZaek1iq(Sj$5G6"Hrf@aIYJl&J4(!JB,KJjH$PT1AJjE
+Ibhbi9Jk`4dNQm$Cic"PJ+mEA(@8q56,"Nhj0q6MY12lESGa@T[-*V-j)a5c8,B+
+6AYUEAYYjYKGGf&h-d!IqIrQlh@,)hb2rYJPIqE#qlic*fh5R-L[(eaJbG6Nj6ZU
+I)b`GGJ)Z3LZ[TP1$Gqc#l#jcCD$H1k6ah[EhQ[0d@U3%M4P+c@p5P6Phj!8-TIl
+MPiTNC+CAqAIrQX,pl`A[MCj!&b',bbfq@@@3!1NVq9S[@0VK$h[*Y`h'fhGYmM,
+,ff@lp-4bC'T2PM2U)fY156YAU'GS-,(pTKGBAhIV*Ifrlk$QpDDre30e(eeTZBQ
+BrF$T324SG'K*kKX2-rLETqr3p&pDlXGYHKk8IGc%*L#C"0Vr`YcK3fdSf0bHNCj
+'`G6")f$UE5$%NrC+Si+&$Lrk`cB4J32%SH"I$#`Z"*)58lH0VC!!'3,L&%Kf$@@
+48V[I,E)CIcESjCYdF[ac`LLMh9L9BPJaX@-V[,r9!G#h[EReK3b,+4)S*%VrZZ`
+U'&3`a0(Kmb36p(DPX3dVZp[RaR"a$ATjaCCmDqp6amZ*fY+iHB0EiUfN)Y[(V(6
+XIA+qL)ddP22U6IVU4IbhTl69`D[Vm4!8bf"+TCTm92LUQ98p,P&92SPmGqaA,)-
+Qi`,'d#3BpVS38$"Mq5mibGCC-K"@Cji[V2c[FrLrqh@lmRaXA5e5)D%m3l50,D"
+j#KYm[rGiVGqpiVGkj3L8"D#$1Flc"K[K#@DN#+H#&+1Tq8iRH*d$c2%qq19Z9)Y
+f1dI`im)AYEC*el*afehBl4fMY(D(Y+Mm1`NU%GSdF,AQh41d6[QcjXLe-UJe5Hq
+EcSQfh1LDpD`pNX[+H0Hk#2FlkcCfr'YM-iqhfMQQB[ZY5J+ec!0miJ0@)M85Ue9
+ZeCBVKD',bYGeI+M0Y!XNP,(3XDMIV65J,imf)V(R3ZP$L9!C6k%Xhrj%*##,a#a
+%KHB9,iA)b6$mfa[,,EjCC6V$Rr[ZrrFKmK`NrYIfQ&phT8M[Ih&Tlpq((Z0V,HG
++45hlEHEpY*ra!G&ZrAB,K!XH$T,fNGaD$i2V!jJ,-jJ,-qjiTF3Sr+LBjHdBQ&`
+-kC[dqYGUb3[pXG92ZH#c$NQr*XHkKKi`$(KT`C[jcpDkpMf3!*5ZpLL4%M,2X5(
+B[+HKP1J)2`Y(E`YGaE19R+l`[p@lUQ#T"UCa8(8(XG5alc*p@XUN$*+0LMpSH2l
+8Q6-J9+"CN!!Xb+T92NY0"eaAN!#+1DQqT'6*(FXk$MNE1+&$,r1p9f&FVR9$qdm
+I[r0K9NN42)4Ti293YicjaD-Aj&d3q2S[hj5Ym!XBNMPk+Pk2PAT,mkjAK6%1#R&
+!!Gf&e4Tfk*L*3@IlT,*6Tb9R-G2rIRF'*JZ1!jJMN!!%ff61Kae[paHpX+HIhq4
+k%'&aEceDP41jQm!lGaU#5UYkf#[5jYmV[f!XN6N3-fJ3N!!qD"Sk"m30%KmIi[D
+q3KmNG8BA9'!ESM*U"J"&$NDK2rd,(!AVBPC'[c*NE`9dq9S3HIqd-[Zk+aj%PCR
+RmZR!2l35ZrRd@Gc4-AFK,)ZaLJ)P'6hDR[@DZllcIMGYZ)pQTplm,AKm8('Tl*K
+'lX)N@4jHe5Q%AE(CIVLlM0aR(F)MeTAdXf*5T)Lq,`YlG5Vq*SKKU5)[Lm,&i@,
+8+9M0B$QeTG,C&T&lQRkRZE58pak8qfIDclGk0IMVmGSBV[[YZLG4S*6e!0l+a21
+B"-A[c%DYa98XfBKlPD9YHhLqGCm0c4R%@fklCDV#01VA[pGAM9&+NkqSYrr6kc5
+CR4mPDi9e"AlQfHLbKJ9c3r[$qprlhmdG!A-eM,lZL@$`P6pA%a@$2reIG+DJrM,
+#P6P6f&Zk@I#N0rS6[XAdM8brkT8b0[%ErIFE[pAI4[(a4qIF[FZr$L(k2fGpR*-
+Il,GCEV,GCEV,GCEXGH[(pU($HG42TpcCfT2Y2YcDjYDHjYFf[af1[AMqe(0bUDM
+TL6FmP8[N9e1A3l6P6P6P6f-AJHdKBqpm8h2Qj@cfDYr90pDZ2,-2#1*NLkCNUC6
+q"hrZFYeqC6ZrqDMIrl$,rcmm*Cl'IFc[2q1j6hS4Z-p(U"+Hr%G!CcJRNReLI6[
+)$hS*b!8EAS61iHLqYGf1fV3i@#TUTde6TQA6UQY)2@iPYhI(CGhlRrFrZ6q)lkl
+Yb3i6UK6RXDiQIdZVUKpl#VHi$`!30ke58IVYiLHQ-S#pa%8L)TY,Q-2&A5PKqrb
+m0er0UAmd6,h0S`a-10Qm*CfjV!%(PPLZUc+TX@C9Q9CSTUV-UQUT&&)Nc8GrXNY
+IVJ$Ip0hk6h0k62FAkMG3Y81DKFG54ac[ShQ&-(S"D6aMG`'+0SB$DJX0f"Y$UMU
+MU`BVYir&*,hVqc2h%hhpr'c[XIHL(h[Zl#k`ZX,SpI$Lca($(f!hG*`(1ja1lDl
+6ab2JlC3rF(J-4'!-!!0"kB"HZQ!"AJPTikaeB!%D##!8IQT3J!&E#8!!!!*Ih8C
+d09qT3Rhq8X9k6NH'K&%5!`!-PUD*8$%fC'pd)&JJG$%f!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!CQ*TG&*6483"!+%86h5
+K&*fj!!!DB!!!!!!!!"5L!!!!!%fV!!!!!!!!!!!Zp`'56LPcrra!"k[G"Y994F0
+r!kT%8J4+43!"+Ci2T&V68U*V4(k8IKMmSH6hNZQDD68&DVUcA)i(*Gl`$p)h1LG
+dC6Dm,AM'1c"Qp-h[#Ac%#53)38FES1Yl)2+#&C!!S))aG"pRlQdb[88Ad[IT+(8
+e@V-)!,&Bea`TSHNm2L5@[`4!5r(SrX`,"LQLNCrP)6jH8,PB*C6eNdT[[N3f1UG
+@!XpS@bfPZYkjj-CA2Y*`6LFKcqL$ar9q8paBaZ@CI-QHecBE)0VZ'mijbqUlIP(
+VpVjTEGKJm1c@F-lSfRe+*JeH[E(CQdfcElNF2LZCc6RG0e1[,`BP4la)Am9%(Bl
+,YG`l[QHIlaU'%*B!UpUD$[hm++I$iaa+X)*2JD%U$)`m8R"%9Lj'C-Q0P"$SmQm
+j+C@eFX)ZYhBE8'Xh6GmUJ,NVcY#rC3V!l5f,ljM9@XHHmklT6pQE1qrp*TLJZd[
+[0Y6mqdr[HIZ60hJp[ZX6f,DYK0Xmfa8Uc&J%&X-(E[K$N[prV-@!3@``GZq%15r
+hqVjUUUUVJPRBE#UVcZFbX&DUV09Qic"PB*pClE9JZe,#DhB,Br[9@B'EMeVYfY9
+9V(d[l(h+UYBeMqaq9A,EV"+UeM@21X$2U#HZ*(hc699V'5mkr-r%RErYi+V@1kM
+cViNqSYf#VpKVXaB""E#r+Y+i,RIAUU&9449bMrMbbiFImDmI@0Z4KMi4QV(K4e4
+q)bBJFIb4QY(CdGKMl4jS`FEGL6L4MEdHXMXq0[aQ#2jBrQM--CVa`ijb2jii"(!
+Bl&(lic&(D%GSaJXHYM0L1dSl6MY51eBNL1"4Q11eSf'2k)lYirTM`ikk0MME)cS
+fSjNHU2TMmahF4mii((p8Gh-CmH#1GMZ2'E-Gb)cDM+SeXIG%"(DmCA(E%GbBlP4
+Qh(FZ1lU-h)lZil[)lQ4fc(VSi*(24hHafe(BicGMZqMqZ1lq*$(I"(pNBah0M[K
+MZG(I&(Fq1q11q51k%GmXGmdGdBljirYMqk1k8C[4f5**M-NGYaQr(I4(ENGp-DN
+4h6MYf-barI(G51qU1qZ1qb1hSe*MYq1#ahfahh4h9M8U1qq21#21'21+1kdHFFH
+FNCQMemCRMJdF(MZ#-XMZ[(R,(R0(0)ff*!4hBM8Z1l-5"M,Bq*(aBl,(GU-%4h$
+'a%HFmC51iSc4'a+2))9b5$h`q*Z*Z*Z*r'MM92cH`'-Q6*PA[Z[AllVeqqrqA#m
+@%[#mArPX1Zq2MBGGrT9Erl2CrTVjDfZ[mAq0EAAVhfGjIr(r[Al"94pYkCThX20
+[GICIXjIGMcFLiPj&ajX6qHUjJ2Vac!IAMQ!rq1'AQYBF"l"`b`@eX*Ip+U)e4m!
+ScY"(H$1p4PC'I02c%"1`6,EDVFecEfKM@jSBhS#EqB"aPIfccHCXpRpYUYliM5B
+(5Ne*U6(89P8JjZNe*U6GK9HQ0jiqfIdpTicaRr8)caRM2,FkpQkhZ$THr[#1@rh
+&rbprLh,lr&FT'DMJFM04`14QUMr(rp3QrrqZiQcqRfRq4jjjrNI3BaM+YkHR+jE
+4EJ1Hh(l!e3,86Z!k&Uq`Q9Eq-Fja,#!iF)MK"R#*-Q!)P*L2X*P@R)("Vm&4d"Y
+Z&d`ZQrQAlZR(Tk0YmFZ*,X1$+YFCIp[TKe2"rp2iX&%kTi,d1+GY$pr((M@HMEk
+VFfpYih9X2L$+[4XZa!24XY!$dE+Ejcq$QqI4BK94l0ClXr(IC(i)pNDZd2+[[jK
+UerM[JVe09a(d$4)l`4bJj[E6f2rXIHa`FhYTqRrkHr6rr8Udj(9cUjhJGiH@am,
+k8e&03$Z[6P6PhZ&T9Ehq+cikGhHqlYqlelphERfE*rGG9T2bSYJC18eY2M(ijDN
+$dXCi(T5H5k8dU[q[hZ#'($e3mf(ERq($eFhYc9m1h1D(rUVeUU$@Qf5M"k0NPc2
+8E*,RA'*-ZGGj%Rbf1A0eMHQ[0T9"jCAbZ$+FEmD3!(6M6P6P6P4PB-R*9F4l$L2
+B9NFKa('4b@pm4T0f&9""Sk!JdG!36C'b0NE)f4XMC'k')+U*[U%@hq4((QajZAX
+M+#Gp3LB6$R&958,UiHS$fp*b!p[DY3'(8m2E8N"MkA-93D6Fm%ih2l!&a"Qh66f
+'S(S1EQI)I`IJ9H-TpPqPmVelrG2,UbUe&qPbp2cp$qQ`HpFDf4bKpf(QX2Z`meK
+phB9l#[[P,hpmTL2B9a0LDjLmXfEf-*Yl36#BIBCjF6U9@r8A3pq1A6%[,lXHEN9
+hY,-mCiNMkbT9[IZcFrZ[AeZlelph[hhHplh[Hpe@m$h4HM[#F,Zh+lVGTrCpl2G
+r(CmMbeeAZC2rrKF,mhjSBF2$)`iH($c3iIKr`cIj#VimMpD[I@Zhll)hlZq2[b)
+r(FmMH[G9c!GA6-"eG-`(eim,aIAMkmGKh&kmB5kZRqP9"q6H-%mh2"!'SlRL1YX
+Q*i1bBRJl)E2!cG8#Kb$1Kb$1*T1d&*fJ`Mi"K'F-)UZ132Tai1jPai!H$(Th-S2
+"4`!m&(T"p2HkDU8-"!H!9Y"&(5GmMS2X6*J@h5`cX"9Ila#A+eDkH"I$Mi&YG-Z
+J5jCYf"Y`+U9kE8c2+RbQTeY1[c8m4N!ATUm'[ffVqS#r9VpY945rJ1kfh[,mXf)
+1AEGQFGXMlYlaDZGUqI#)#%Uj5P)e1Cl`Jk,f(rPlj5mrhbPjr[P(Ul#2QZ-1Z#*
+-G,8mG"RJ@K1H2)8H3`L"$8K8E3B4m!`MD#+1Rj[Rfdp[Rfdp[QGS`VL)0EL$),L
+A[Ek8(h'p`2Z0lJIFEh!l(rp9Ipp4d(!cVkV*2@c'(X0iEeE)R`$099%he$4PpqD
+Q-EqEVXrEaTYjm#-6ilAqd6Ca9T3H@*L$R-ZSJj`#mBMhhCXfE0QcHrkIdUYlpph
+RJKiM[p1*frdSI4+81r$"r"h`N!"A)-l3`!fN#!Sd`Jd*26RJ-G,J"dr1&Eh"d[I
+X+b13!2R)j$jpK@4b(cNFKmq`UA%Z1IkrBLIN6iNRlF6'p!6IVidIERcGFEqUh0F
+aH3dIL$l8&j!!QqS6S-[)T-T2kK9Ep9rRS([eV*25$fC0&JpGSi2dQ#XNhpDYB1+
+Vddk8p+5kIFm`5j&Y&m#q"eUcN!#F229EJ,NlJ9S0ak"jm0rRl,AP$URAVeDiJU[
+M6fZ#mGEMIMIMIMha[aq12N$iq2DUSpRQl0mQT"2b2b2bXjAbXRRfDr6dUYfXala
+[4h4ASVdGd%FE10Rk@HP'A##UL*3cKDXk&rEDbG*hq(-KTKTR(3mp9(cNFPNFKaN
+FKaNF[rrrrllrrkpI[Y9+%TH*I!ZZ#8Z&q1d4,YFL8L8L8S5j+T,TBkC*mNm$dXC
+mNq6-GM)32lC*mNqfD8dUZ6`j9[@dlbhUPRH9XYTh3lSGd1h)1rIE+Y0eAL%TE4D
+J23T5bq(Cif4(34%4%S98%*RdH-qqrf3qrSmIN3qMP4Mk19'2#jBiUUDfDD[D6RG
+GbNlMkT6Kcp8TU0`rer&&*lr95K'U08SEIJ#-"c"%4%S4*L!+8496VPl'rICIJ[C
+haq2XMF[CERAqMB!UT`*H!k!efeaJ"qGj!K)K%4!&,"maM+V2YNYq03(,G@9XPXQ
+V*hpXc56[`20*1rXF"*fUUMjMjb14,-q)c5UAR#@4b1S1SNFMU$U"jkV8`im'2"q
+N20@3!'F6*2@(Ff(eQ#i%F4`kL$bN+[rrQm`Ip6$$aPlJXmfc-+ccE&`B@&4Pk!d
+C+VrN",McBrLkmZ*FCI)N52d)r3Mp2T!!&&I&9I1f"eHB''ajDZ@Te`G9EmDrUr0
+`b(iq'Y9IrR,S4mb82VPQq3Z3!(T-!rX`(mKXlRqBaP@B3d%m3&3ACSHEphh%GQr
+ZU2h9"(kIZ`LNITd19EYp1amM6$TFKXrY`%KmC$CrEC)CHdZrL#UrkH)4UfJp)!X
+"aq#bVTPdb+%@Um)+Um0mpFI*,UIM69MU[U'aRbIG6eBr,SUQ(L%cK5h#J1jE4$K
+"SK`JeB5Kf$BkrfZeP[`pE8IUm[eGc[+Vj#IY*kJG+HZaV3+E6e+V55Kc+Gl3imk
+D-`K1)6L'#5(R5'BcmFqQ9Db$k%rU(lXIDI[D#EHd%he#*KpKRla"940p3qa[bkH
+ar@"pMpl3CicrU%CiNMkbT96J3RMRkdm3DNRRH8VXAi0p#1IqN!!8A*C49Uk9DZC
+T!%)&S)cY1XKY63AiYHTFcH4#UL))1V8@cj!!$[3Si&8NSi&JTE1"6+AkGlJ98ea
++%e%2$iBP$KB8kF0D4d*L4#)UVHih0IeeJhK[$H'm2i)54#`X*+&9UieD,@h+Zf!
+,E'pZ'GYJRjfYZ(EDRCdFk2Z(h+T,T`d$QB$Q#68V8Df"NkJ256*YQNQI5312!N#
+SQ(f'HA'ac4CiM40,3N',b,LA(QjFF98HZ(FVdH*IU[+MXpBZHJmmGRMXpCh2(j(
+1MjUXMN1-MN1-MP52M(%H`iML0a%89AKd!Hh2EccRRESGARmBbD0SeHEPr0r0r2i
+398'R#JI+QAS(ZNq"lEdGq[MphN2a4I-[5UVhHpAZVm!pk[LrHY9[B,h[Cl2Di99
+mbAVhcefAa-dQ%$PNNNJFXXHfT1jT,Z'S*e"09J4`Jd$K"J4`Jd(`1P(6#$36S!B
+4IbCY9-)eYkfG@p0"!!3!R+aV4V4p)qN3LUYaUeY@YJIF"K[lVJ1I+leYJVGSeYr
+6Idf!+U0a%66S4qCG#"C%k5K,5@NY*G#dUp31Me515qq8[IhbRBF20D4UIL29)jG
+K9Arh,2m1(UKjX2$)rm2$Kj[$Q`m1[rrmImK9IjT6l"ei2V#H!em*bG1Q01R@@`D
+$mZLhEXJ*f4qA#`ETPPP)mA,,TakFIIJlceA%Hqm48e'Y$U$dKll[$IZc#I$Al94
+(ReFB6IYq`Z1P`,0Na!$eHq8HTkJG&b#8T3N5rMY&)fV45*EAhEe[KqP38*I!ZlB
+S9&Z3!([KSk`TfX&(@%m6a2,V&2pkVFfYVAKeY2)"V!2,6@UhUpeEeEr&q$T8e9r
+pjh%X2rB2-DcLA@FIrIAiPlfq8TYXUZ0`3FG3)6llr3qqIP$IprT9pDXR9#re@p2
+6N!$r0jmdS)LBIAHd(L2kbd36RacLhHi(ZMi`Zq&hVI"rGRCel9QR2e2VL@C-4NH
+*8'8F4)2iDJ3jRR*JMVI1h[2VB)YlGAVDP!Ik2AAX`UVNj50GEC2"Ui!1fkZ$9`D
+VEBq#6RDFdUGfk[9[5hlB#f%!G!GffXQY[%"R*N*IDTbQ[34,Zl90kFd*E!SbVd@
+fa`'m32f`&XhC1rI0LV)jC[(HPKe'p,"mDUGFYprerVRU2@VRU!&!#J"3!2!FHHI
+0RB0V+YcDpS*XfEV!Pa'Ip3LBD0l36#B6+TVdDMjr'jmqM8Di-T4UarirleaVjcY
+9"i2)l#SmZRIbI!pY4TIr,fPb'AL'j$Qp'&4'pm`,kB(-@"c(eJFbMeSc+'"F)+U
+LrKR#8*FMY*a#A`(3IRak%MjG(jG&[e$+MGA#m4rhP4DE&2kbEir*D6MrVXS`5Uh
+[hhH`HqChUl#p8MPCPFMNp8MNpAB6U&hY"0eJ5C[bk3C#G-HpS*YIdUQhiBH$(J9
+C&mEJcm33H#Aq#A1!(Jak!m'23(hH@HNqDVB$k,-(Hm[CJI8fCQHZHc0E8I$V56q
+D6R-9@[IL06QDaZ[6-G#IUpCVd3M#8Q-mcKK96'%ecl3FIpqSZ-dp#Ib2b2b2b1J
+r+UM1U```r0Ud65i-@!Q'fmd!4YY[mF#idi#UPal$CmjU%$Efk'p,1`pEJIk1$bP
+B*#DcVIV"V9@Zki*mrm)P"Pc"2rIH$IPll`EX-Q([pmRQ95[SPZVJhVEQq#$hB1R
+rA0&NFP"$M@hRPme65!L5"RmeKX@RklJ1)CGkf$)6[YS`!$,8I6,NThrMhrQ8k6a
+[0HHGCr$J+dI0&HLL(%Pj+Z9)**2[31r*0A"0q5DZ#EmNRmI)NqA9j!2ALU[9CPC
+19qLa(YJIiS)e50HPPJaeq@DXGHPRPj65m99l#p6e!k8!$ml3!AhbLJk8Z0rIb9D
+r,0h%N!",TkRblSFH5k9Kre$R+j[6a12jkU@5@@c[A+@fT,J-l4qCfN2c$T!!r-l
+6,*9JBF)1`3bq'M9QELYcRB(pP'VFD98HZi`D2AmRbUZUeT!!k[$5e*)k&NPdmEl
+F[Ec*mYRqC)j+S&1BCdjE8YbJ,8Y4Y"K*`J,4BIC-Uh0FhC['Ebir'fD6HqC'H$b
+acekdkIaa9H02ij[`IcLG@(&1-!`i01"q6I*[N!"cT[09NFRUl$lB(q6FZmf40X'
+X*ZQR'RCY266T5UTHql0Qcdlr34*514%GSGecTKXeqRIk+j+Uh0F`Q0VHaK-*j3P
+T,5@NY*G#dUZpejh0Dm#q"h`1HXrrXd`+NY*G#dme2(49q[AMkd`GU6dNR3HE0,r
++hmITb,LA%[)Z+U*"Ue(J(,'eB5iPX0SL8L@hL0Kr(X`lk6XqUMe!kHhq4b(r)j!
+!rj'Lqq8T0P-K,R)'3UMMIm1AL@KU"k"fD1[Mm$d[deG-$k9&pV+TK%E38C`ZNj6
+6M[$im2rKkcUm)+V@8b!"j`1#dR5+N!"hUpABHIjfG@aER9!rJpkVVfD$20+[#Xe
+d([B24RCfGhTB6mbHGk`J"+*9@Tk3!2V4ke'bf(eqXd88rIX[d1qKhdf@b3DY2##
+Uj"Y&m#q&UdA`YH'9UeiH(Ki@V8"iB@A#*99V@9cY1JR#Bkd'JD!+JR!J-)Vl*P@
+ih(Y3k`Sk`ZQX*iRLH))6e9VMBS`6T*'aG$KV0$K`$3h9f&kRUHT9999999999A*
+9999999999b9999999999FP999999999A*9999999999b9999999999FP9999999
+99A*9999999999b9999999999FP999999999A*9999999999b9999999999FP999
+999999A*9999999999b9999999999FP999999999A*9999999999b8DD[+%8C`P#
+)L"6LBJ#*3)4'F+VNVcY#rC3V!Y-%bbQ9Uq0X9CL`##f&@XIP99Th4h-k%rc`8NI
+I"6IGBQ!$!!Z@TSP3-M4NEh3J@#"d-6B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"QBQPd8P0&4!%!S442ck%8RGN!!$I!!!!
+!!!!!+RS!!!!!*#m!!!!!!!!!!2mK$rPM5!$8kpjI9,BRK)f8"IQ)4f4"3mdfI52
+ZSY4+TA&UYBAI1Y(T$FETh24BMJ--iD0,6a*J$`3mRP'E!ISpIeLNjPN$"2Vi`rM
+&3VDihBb1aHcpSG1"Jr-`+K@JFK6H5G$[NRSkP@8,GFed[4SGim5A8X+YFQ,bjSY
+@eQZ'jhEHm8k[THhj$@hq`!Yrc65NjMr"QHD9R*ZRrBcCJ*QNeN-%Me"r$M"#CHS
+PD-Gi5&5K2DVr)`%#33A[90PY0qaLiF&!A-%4q*lSP6TN$l+IRcEGPjdNR391[-E
+NM6GTlrb%&P5DcX[1&BR&$+EG[Z@G6b2SP0e6&#*X6m$5kGYH8G(V1[hEE5&BBr)
+"fahNVUjAEkbZSKGiMkQ4!3`12`L4jYS1G"dF(24D[pL`S-`!-YRT$$IJ6Hf&5cP
+RJ(pArhJYrYaErd6IaMH0EEqZf%MLS,e@MrR*EEqjPZ)R'qZf12@r[GqL4Y[(Z#b
+PQbN9lLJh![)9GU(rI(bm[,I,)$UM+VrEM2rham[,bhbb!kSbUrficrLhrrrrrrp
+HL1GKCarrr[#AMZ88BVh21[DZak[1[ZMlf-Eaefa3AQZiVIjVU["fcki[FkTe-%B
+m8LaM'hZDlBSScVYLUc&YG4TIb-83&r2lL*a[VYMMe[leGblGr3EMI"e&kf(U["j
+d$JlZG[PeRGVZb0GfIl[FGGZ-GPN"f3[I"f4[8K&FGm1Ub(rVYI!+k4MPM&%pApe
+AJ(p[YEGmI,bmZXIqKq1GQkffX`rrrRcrkQ"M%HUmX$')@`YQ"`BM*JG6#+`ZeLk
+X10KGc#pl&m`Z6&GX@%`T$!kf0mBXJ`1aL0l#q$&iQaGQ(NBM0K5@"fXALM&N@-j
+X0Bcf"pJ4L$BAH`qa[f&Z`AQ"h-$[BhV&dX,`BF$&-`T6#q,#m@&j-@If&,B(JaH
+@,0'&jX8BB8,&iU`0-E-,6%)`X-#eLc9JTK4-$CLcCLcGKI*LNaC*L0',ZBZpK6'
+,*X2+aC`aH,-EJBAcBFX2"JF@-PBheJH,'i@,$BbCKHM#qM!mQ"jXA3',+-A3@,a
+GJ@!a4PKI9KICKKKIGJ@#`M-+Da4TJFQ+0XA3Q,%BXjB(S`[``29KIPKHV#r6&R6
+&(B)a6XC&JX`Af&qf)Q-J`Z'&cBZKX@GX9Q(LaNl'F-,SaG%B(0KjQ,2'&r',SV&
+dCM1X@+aC9Lm'"l-A4f,a$#kX)')eBAX`Sf,2@"B6#baBc!pf&r@"BE#14K6Q&rQ
++k-@@Bh@+jBArBF,&Rc#19L`-$Sa$BXZ`MKK6f)i"frF9rk#J5"TbQR4TdDG'R4T
+dDG'R4TdDG'R4U2@m@0)LGAk4VTcG2kIdrTr6aNC8'E'"UcPE&TR)1YLdf,613GE
+p0@Y0!TTBTTE65fQKTTE5h&CbF!k@$HUAEleqhhVpZi,'X'pIK6IK93q-[&pGk93
+21!E5bM,E9(FkaIka'+cLNq&Cr'(mBITC`Xhe,5j8P9diMehLF9ZKa3MiS)%)I+l
+QbddkE1QcSIPeNZdd00R3r,V-U&36qA#U,0FG9QUKeq-l[-6DV5HpNm5HpQe@RIi
+KMkK2D4LfS-U-'U2+dYTNXkdYTTE6*CeY4@rM8U$M'`3BTq$XFLlpHb,"d#S1pGh
+mDP$Zh%SGdBf"I(F5PiaU82lL82e@G0qE(3+[@'kpGHl%-K'NA!a$(Sqa-FQ2&LM
+J&16#GX&&8XR+[Y`hfpXST&dkDZ@K@0(ZBXkkKc8b)KprV'AUYI'Th)4mDmkmk13
+KRVRVdfY+5!1FhFPeY0V%U9-lU-p4L&aM*0XfND9"Q&pe#p*Ufj0G!RNU@YUPVqK
+KN!"haIaIaIaFC&KX5SiTQ+CL2%3V%6F4$2&r&r&S!$ri'5U1F5H*&6KXp&HJ"bd
+jDFY[-Y[-[U5!Cf@ZCDjPXbf6E*YPVCDf50RCS[fjI6D'3E0M1klGG[r9HJK!*q8
+A!SrVIK%Le4&9&C3+e89Iq#[3@C0qp"CNhld&QH0IjP@AiemDeZ3#FHCm[5(Df1e
+#8c)AE286Q05RXDP2FmSZcbTcbTcbTcbTcbTcl1Tck8eE69Y0@bViaaV#Gh$[alE
+#,M%#3H$R$e'aa@%rFV(3Te'i!8j2VCGX)4Q"GZ)"i%cB,)8+D%G29Tmr0QUGQjc
+UU&'9Rc@KG)HaE&X2rfp4-e@de&$Hb!i9E!NNDU,*UV08ElPbT$fP[PT4@9Ti5m+
+YXPUfp@e4-[*UilV0Q@FY0&85,,64CXd9af)r%G0%EBS$BS%(&[(BVGX6LE%Yi1,
+IZa$'k'0d-EVBI'N)BkZQckpYU[EDVfe9ibU[LX`G![qP"qPG)AeY9I6Lq[e"GE@
+lG61kQGjF,TY-fQE6TM8'GhNDdS#FTjU%`V[3S'E,6k`'dRj0)Z$-#"L"!aNJB%J
+B%JB()-)ai-m3!`Ci-m(!T3)q)"-(ijqH+D'k5-++%M$+%BDhlMJRf9PpaVXGFF%
+qii*pa`6ikef1MV8E9)%JfMm'dI,cAbmcCki'`HHf$DeEMl)papYqbd8S%l%6b3"
+4)&Fl3+S5"'!!TqAd0A@cM9eZq#H4j9Q0pN))IJ33`@B*P``3`@B+k[+Xh9jG2)m
+ZShU4SI23br9-lXFCeG4%eE*Uf5MXD*Y8NfU8#e5JEL0S'H0S#PEl!FGNi#j@6J@
+DMbJ,5p)&4)&9+!bl!UfJ9E3+YNeE*U+5!-r`T1e-RYAMQD*+h%Q$%PpQ'rqhhll
++RKqdCE0CMYEQDf@YPV-0G2ed[mpc1Hja6dVCBd&JbqfSHS[rFBdK(Y)0bjb$MAd
+LC#)LBLDL[BF8c&-a6-9l$LQBK9#+i%9T44@LSVMVYSU+d85d9lM[23UKUi'8mZ,
+4@,48fLMhLbfd8X@LNlb`D2@$e,LJMhLb-YhdflkAhp2[khkcK&e)c4NdhC3EEBi
+bf0Q1E4Z'm4i!)p83MdT`@+k)p+%HP#2A4(ZcJX9DDp"VhC`@+YEfa3hZG6[FlH2
+Hf9AeF&P9pGlC8H3`ZbNKU$BmIrqfC#2jcHCmb+QEJ3cQ6RR2E2E0"N!E19Xkmkm
+kmkmU[-IbVmrceATXGZ1q&M"MYafrrr$)1rqfpqK#(MUmFmFmFd)EXE+V[UUfU@2
+bhm*S!$rY',XF&PV!*88*88i,'X!P43P43QilJF&PV!hkEp0qQr6IT[dhkEp0qQr
+6IT[dhkEh@r0Q6Y+I+G23#ImhmCXae*E,b0R1X`h2lRq3!(CqDI65NNTdp!*6j6j
+6j6jZHGIrrrJk,CDl,FRF`EaKM6afdmGY2%E)VaKM6aFYV5fY,Fi"fY4H1ReNG'a
+,3YU294k5D8h($le!+20FKUck#jBf$m+Z)&Cp!#RiNC!!Sc9K$EH4IIH6(*4!!9E
+G1cGE%a#pMhR*Qr(6E+Y"HI#MrN9IiZ3m'VjRc1JCj%cJc1$0'a[%Df-j-j-c-cD
+HkdfY0T+pT+qeYAf[EerZ1,h[cG-N%R)-hJk*-60i1L6%cH$SNa-Jk-p$r$)1rqf
+pqK#(MUmFmFd)EXE1ZP5eYmMS!$5GXUIT29*q%cJ)q%q8q8p@RUdrHTdZ3"@bqPV
+E'YXB*M!c%Ya*i1F09B*P3qKJrJr,F5bkC2RqrT-`m09bdjCh6DCY1mXlYfRZCmh
+)FdabZ'[D)NjGTh1dcZbfi,l+X[3Dj0Cq6"A+0T-keKQYPDZP"T*ER%GNK'N)dK'
+N)b5,9k'Z63SJET0FQZ6A*VNebCD&rT-28"@$K256dQ[CAYAqZYHbMLi60#L(lK+
+,SA@5bV5F!iCK96QpU4VFL##DJIKD-LTc&B3kTY$,r$-2--PA#mlZf%p4PXA'YTV
+pm8N-jjdpmZaljGMhbl([Mb1jcX8VI(N+@cdTE4J9N9bGK%Ii5`HM[,3hfZ-MYfI
+i8RETreXU`-Z6RlTUcEC%l$Xp2q[k3(KH6MIGEc'qkhNH&jMrdECX[BN'm+q$b@"
+"MMDC4aDJh*`ENi-HKY[cD-ABi,'X!P43P46JXD`#9&#9&1#beJEp08C65fQPYEm
+&PTE65fQPXj1!,!e&df05XmN3RIh[dhM6ILjZUcU3!&bbfMm+Z)0dmX)'kKRC3j*
+N#4kEdar9&3eP$6q8"d@GD'YDd9"$3$SXN8[4(p%Jp!TbJ*Ii&+XaiQF&eXbcH2%
+K5RqKf3S9E-fUAY4ThRSl0UPl9,e3N!#f3C@YK&VB5U%%C!5VB5VCQVB5VC1f90Y
+TQ2T-[TPm(AdbqQAfBEkHqc(I6hdpm(ArhfBEiN[X`ha*I%R6-2AqJG8(qE!ULcA
+(5k[VZ"AheUM9mfMap[fI3PN*rHrK4hC08j2$`Z4e*J$)ce'@E&GcQ[)ZMa8HXD"
+$[[8+(RVrrDJ3!D6+C0'Z),j`Xd9CpfXqUV2iV2iV2c@I21&QDfX%eJQX%eJ(F%e
+2kPrU-!'!kCq4qkcNkK#%Z[K,Vi5kM9G((i4aq%cM`K3d(rSZMVY!bR6+L#qL1qL
+1ka'VLhKaAQmZNV4*br03c(j(lV16U'B5kc#A95B5kaRA4aMYK((RB61(-)8j$ZI
+45MVXQ9*P)k&mMc[RcZVjUaQm-CHEbX%V,#F[c8%m8N0hAEVY3J6e&!!IpN!'G13
+#`466DPZ8%'TEU@j33HG!!H2kV`q@8'DEL#959@C$LBB-cLCR[CV"FGQeY+PE+fB
+k)TZeMl@e',NHc5eYGV5aREJ1IhS4j[jR&01L6PfR-!ZJK8,U)bY#d5MZL9E#9E#
+AXF5VCQTB`b'2mA(Eie9mH,#SmHq2&mH,kj([MaI(L`U2(MrS&6HL3T*-UGN#EmM
+--LH42*FhFLR+#IN!MaIaA)F4UiM1+jZa'F4fLVPFP(D+1eUiiG85fdU(e5Ya4b4
+Y9jFb[8RL@hml4VH#Udm+3[1Ge)V$Q-KCcZi9$H#pQLprj,J!-Bq-6H24[5QhjE)
+R6j%9P(aQD"Y6AZAE@ULCDYYEM#+VJBEV$FC[jC!!P16+p#N480qpJ,X[XUpDf,[
+T5ZQ-pG-*cZ0Ch'+f*bI"j$&2NF)GX*r9rRqh3!()5VBP5eXP`p+(EUphS-ecie9
+YVFB3"d$!Q*%a-8SQ3F`+9-NPjdh*jce%J9*bqQeh`XB0GZMD+29`!-Yc,89`(6,
++M,BZ"(-RY"(YE8)!"!q89E)SU-S)I4B*&(pAcADAcIkU!(IcCMQ*Q-5E6-1i*15
+#5)c$($m6k%!&qIbi(G&P@Lf0"(NYL5f$#1he$J!EIjI6DlG$)0QaRGGZZhr$)1r
+p#%2%QK$Ga*S3hIk!!(r3K$a*S3hF5D%0hr3!'%#["$`ZELHfAGH[!aGkGHTTZ*6
+DpZr"V63%065MSeSceVH!"SHF+f1hDEjR&QY&)EI@Mecee@AiemD[m"$R4cU[HJ"
+k-p'BEYjelYV5NJ$Rpbm+6fP%,fba2YT#2+ihf9`jPF1CA!iLi"QRcQmcj1JAA!"
+Z@4QTLe-6lf#4CYbKI8%L"B)DV@G[G6#STYhjI4CLdpeUGDRiKe4ck[3bLdblTUV
+$FBEL@iPQ1EF+fqmYSACN(,FVPZT@m&1F@#DbPc@IQXqpT2[EZ@4I$qEkRM8r0Q6
+45X4T)Q*J6-!8ADYR@BmkfR'dfb+p!#ia5)diC*X@Med&chqBaq6E0a"*d8R45HS
+Gadlf2PrerZG[J[d*hi'rPEV@FiY&DeV@YDeU#d#cV@Y&2k4Ap2aDJLYEc@Y@qXX
+@RFVZlVAeVTfiR"CmkmkmidD%$YX(1$Xi`cCjM2(R1H908*08)G5`G5dfTD39E%U
+@L*5h,T@06HjN'X[cDmkJ138qG*R5C44CPP`bf",B%YJ5f",B%XZ'F&T`@R"*`3Z
+`4(%NVj*3-L@J"'AHRDQ6eDG5b%BD'!8+q$q*S6KNm[X*IrrXrAC$km,e4-hFk*5
+9#6J6i%q"2QC6$EkEUqV0@CQCRF$G2Rrld0fI66fhS)*lClEd%(r9UZGmHmXY$2(
+2&%Gp43+9%S%,ZE,(`+U9A!`DC04hjPM4Lf6EVcCpR+RfM,#pSXUY&X@P(A@!mf5
+9pi!iXiM9HZ3U(S@jPR'CCaQ@H+-@H0(#NM*jTibKf3K'j3ciXKRP4Cj8@H9&RP1
+XZa#44#44EpCLAIC4fkE%L,fi)V00`a+9'N@H9&RP1jj8@H84ZL-ZpZ[2S6h4a@a
+JbH3hja2R%qEX'F@pViPZl&6'kYcLhTNI-MjN%-JN"F#)PB5(%i%#k[p`Y54Y@cF
+hmLU%h!HfP%#QPCE4@VMZ,4@,48UD8p8dUc1ikL@LScUfb@VCl95Qil0@deE69Y0
+@de&5!6q+q,J1QJ3@UFPINFMF8m$)5e'U#eG%A5[HE1em9Ca9XJVA6)RrAqfJ"(%
+qB6b)%-F2*EbXH9J)DI26XYNk'J"r@cp&Xr[EjpAHAlmaSmcl)2SaFqF[h)Ejb0(
+,pb'r9Xr9XqpF[fU3!0Cj6DG4*3`R6mhdp!*`5F%QNAafJl'GDY'GDY'GDYBYDXj
+#1j6j6j63HJ%jGT3M*&fc!14$NY,e+%Z6U8r0kDHfHr-BK*YNf[FS"R,IcB(jhMX
+flkZhI4(hl(j"fM$@[)M0X9'IFh!FQf6E+YX[pkS`NMZBP#Gq%LYr+iINGllfcmX
+KGm8fUk5Sef+eRFSPeKf2jdBUfXdUfZe4@G!(1ACcZ55p4TY1CcidQR83[9#69XA
+k*!kS54I)aF-Jk5)E%L'`1VM,%1[@3$8AGLj)Sj)U6X9)MUR%LAUl&5*%[8N5R1a
+8L1dUFQqKaX0I0mdjTQCQEd)FUjlLr%rTpUYN'ZVHKBD$krpk%HBXda6-8hS3jLQ
+BTQ+CLKccUfS9!&9,)2'P%mp+*iJl@rV0TUcGl@*[Da!H0QeE1+9DYRDeDQ#Y"eU
+d9CiZeUf4#2keBHGDRSh@UX312-RbmpHGBR+lpHVAX`!&qpXUlk6jH+IM$*N9kjL
+VLN9DZJ`9SFVHdmZi+j+Lck6qHjIcabYl92C5eYUd$YVEA9HraUp!(2lP"6ABMEX
+4Yf)rR0j`NMC)dZ(2Hf2(0EaQ1DhXU1Dh(%FeZA$QAUmFbpEMQAR&NA"Bk*qkPpS
+`[Yf)hUUB@iDlKr*`#YKYE$D`"@fb[2YKidIGVIe[TiJ&E0Y(F46aLh$@9EYD!-H
+13E@h+0(HMd,qIBCDlYIAkY@dc4ejhC-qCeHK6J!lrSGl0RdE2lEd+i"frcE'V'a
+eU8!ZFlX#QTYq-%XPNcAU-GVI6,AG[,fJH[pYC#MJd@l('QqpbSZM,"0YKhdF"h#
+PL0Q54TA@c'M0GE(@6hP'D-Z)FXR2*S5Q(P'L#M0'FmHGNmq#ScRhL@6fMK,3U%h
+JUcU[&BbrkqY@%!)#Dqcm,fIA1JTGh"BDj@Fk&MBL(Ff)pXPB$H0L%&MBNVPB,eI
+ka$H0L'mE%,eh1VjBeVrFrQ!%Z1rrrrkc`!m%2",r"+XC'S!M#P%mp+)ER-6ec&D
+Zr*e+4R9+bC5l402GY$GYSEJG4hE5PrZ%!c`GkIm[K0E"ME)B'45f)cLEQLA@bf3
+p#,q))FA1,R&fa86A8q*(4X5d,DFi+Si**j)QiiIHS&DGM6Ud!(rAU''l'3fIM)E
+2U''rqr*(`GINN6-HY*+dj&Ii!cVffc)lM19jFfqGEZ,`4N@&CYPD(LU'@LYN9GX
+GPCc0@C@m8`F9ke6P@rA(Mh4SBc)cI8jaN4!5RSkLL9,6RqDJ!1LIdBp9LNbcHFd
+hU#GHIpU,Jl3)UG*L5BPG91NYL5f*,B,Pe8jejNI,c)qAQ4m[-MjHC(bmb2,RQ&L
+L2-,(GH@kDGjGc8R+P1A58bQKKk6F[D@(JjaBYh[3#4MC&0-b'pa!"fmkpjemlUA
+J%HGHGHFD&`#5lbpfNb5fmb5p&qUcCI1Y#i"1[1[)3afkQ-p29*!!$1kPcUA1TFK
+$R(R'KF!Q6NfbdNh4pT,)*dVQ96e"Pr4rihdAb4#$Z$EJfi8$q$I`Eqj#hh0'lIF
+f)LAX"@A9lf6MFVklddXJ,+%H)Xka!qK1Ze4mF#`)+J*[2Uh3KEe13Th0ZK#hh15
+U"ij,LkFP[R!$1cETf*G0KKG+eGpdUIKNH)A5m#l$ecK6BB@,#BHZiQ2K3I#M$!a
+h-Rc"DZ$S!Q'`Zlcf&I&SNjlQ#H!fKG8)!"LRfa6l+&jk@#9P$(cZ#EZ#08-G"LR
+SeK6km#LlGP$fk`RC989KN!#H5rUZmeJmQLERP%YC*##p`&3qR%("9e3`mNe)550
+A*+U2(jNFBSMMcQkmGL2(BQfa2b+[M&X0B3NaMiamBq+A#YV#%-B2'$aJmB2'$aJ
+mB2'$aJpc509Lj(3`pfjYjrrJ*hdEd-MH[@3V50q*'r$e3BH6$0iBa'GpJHc1qZE
+lF-hbr8hc$PP6R0pI+m8N6',("5JmB4FBb10bXB9*aMqLS#lS3rh2l`MZ[#LK(KB
+kbE`XGC0cVMMUKNS!TmNb8(FPQ,*CLb8(FPD6*@PmF4V*aaEZlkfRMYTk3d&q+'X
+bGTbqG%R$CNj13DUNQmHh%F5RbRPbFCJGKTqG6j(#LPPf@UTEL@iPZ*EL'c(0Z-+
+rJk+DmDQ"cJGTqPDqj$i0-fJNjY(0UMF[*AbmPI,`J5A3*,MQ6Q6Q6Q6QE8161rp
+YHK(RjTmcj[3KcjRc2Qp#(*cl,Nbdqb1V@e5eY8Y&!!9,@bDYNeEDUfe9YLVDQUf
+KD9E0h)`LK-6"[i0r&HZm!Jm'Ym("i0q6INa)"L#')XF41"TPhHTl8pUHe2DR3J!
+hm8dlQl6(85jNpXI4,K%"jG"ZhXlAN@FKY(EiK9rULKXeVr@,C8pTAUQ++&&U&ZY
+Vq#eE)Y%L&A)YCYDp$QV#'HNSfNQLT0P`elm!(kmhkmfE2MIF4[`!I-fGdi)cIjh
+4IAhf8&Ai[qp*chHfi'b&hUeI1[ba`jQ0M11h9CEhYCf(@LPidTH-B6Ni"@A0A@A
+0%V![1XZDNePc[#X$`Mpc@UQRFFdk2FTYmkQhZd,U)bYE#,3f%Z4a+YK+V[SaH`h
+"9X*88)b!LGK%LK%HEJPY'0cX*Uf%cB%CG%U+%X`ZmYZA*Cl5X05Sd+h%@jZJRNR
+NHjL!j)QFLQFi5p(69NBY3iP6Q+pQ+hFa2jf*&ZaI+N[kN[kNQT*UFMUD'T6Up$5
+&h,d'Z4rNI9%I`4&[L-UGNBX!8Kb"5*&V%@X4DhYC$5V1iA#cKG0B*V"0Bb1X80B
+6V#G)3dPh-RD8kHJ%TmXablm'BFYQ@bVCKSQe"3!#mpN[*4eQaDAFb+Fea$N*P2P
+0r,-18q8fdK(qEqG!!HIjp`)Ir3KZijS3h4RS-J!cTA8,!3P&9X5p$G3cQmi3KZq
+IjS!!ImCIYCKd`b@`[1M,#PF,D4DYTK0mH4$R1m($[LNV@qAEljG[[PfGcRRBYmZ
+d5fQ*E@d@4[RB4(q%X(Slbd0pVM)lGRq&I0cN90cGPVH-K+)!AlL(hk`qYmkL@bM
+fYUID5#f9eG-R21)GVEecGd22rclqL%[ADq99I1(&HacR#GZRp2q[3bJ'2Pap$F6
+6eD+Y"%*1PLGDR8c&P"Cmk6-5CL60C)9NqYrQkBIp0Pp0V[KB`DlGG[rc*Q8QC@5
+A-J%&KVq'SZD$+M&eQXh@'ka"UN,ZjT0QXfGkdli4U%0XFeARFr[GZC!![YE"N9a
+KBGh4XeUrei!3ced$iaX4jj8fqE"rr0r0rHK$mrcr1J!2qU&8-A!TEUqGmMEKZQc
+Q`A5C5pfmX'(&Z!+0lJa[,"QF@i)8iY`4ZhPJMFM@84k0BQp"fq0qPE[dS$q+pr"
+V1$4FA(F(VqDESLZVGQpfM"Df#Rfp@hUfUUfC@UAUGpcCPDfp@hUf',@c02YRdm*
+RV8*RV8*RV5aRV5`bY!hZUNr#IJUr$)3mB2%LQFQ@epBBAcR)AcQ*Pc&I1BVjc&I
+@'kbm)VkSQ%NaN5!Xj('-MLFMJbf'KZGKVNq94LN3@EpF2bqAm0VDaE44KGj('YC
+0!5+,Nhp&UEDPJ&aP3@H8-CBH05%8ie)[UAT8R&,9&$fe1AdfZh3b$CXChAEV-d9
+0&F"db0-MEJ1Q4TNDB)$akr&Y!#2!aQ%a)Q*($%MKL'XB2E(bfheQqRZf,4-@YX#
+H5hHk1F8b)T!!e(Q6HMGYIAM[k9&M&YVFJlK`jF*6L!+a!R!Q-&P@j6V#IUKIJiG
+h5DpP4ellpaQcf&2VIXf-lUKQ#Z6ed%9T'#`A['DpMI%DG-YUbD@3!)kZF*HNbbV
+c6K"1PA9iji'1*#JYmFk9YAKR!EA8l*A8ekA8hPX)FV*h@"C[GFj,lAA19d"Hqca
+ICG`lE0ehABF9hAC6&ler9kADcp@8KFYP)834VPfp$lINpQ`Y@ePh@E1chpd-hka
+[VL[IXl"pF'qZ$IA"[VQEkjU"pFcIXZEkjQr6`(kG%AK9Z`HACZZhp[lEq4E,VU0
+NBRhDfpb+k5kZ+kN,m&(LM)N8H2H)NPDr9N&4FF&qLC[F8B4SQVC)E*Uf5#-QLDN
+Af[8!)I#Taj`YVq@E[CII(hlFDJd3I@pX0,F@@`H5$6lV4(fLB'Pi5f$1@N1L[3G
+RUT!!T66dTTk8K5NLKRcK@V`Ci-m9lAS0RYR1j%k`@LUeUUX[0lIABZ[V&QqFZGl
++N!#2Nifc6+j@mc@9c%VHPEdZq6c8STe3bTfdRk61QBq%r#IK1RS")T@V-eFLYl,
+Ekf4E*!&*2`Ri6M!1i6m*q%r#IK2`RqVC@Q0,5aJhm'LB20JlI"LB-YL"m(mA!MR
+&JiXH,e&HSVe&G1U#G80DSBdNmS%5lFh9Ce),PPY(i9F3ETjB30e$1bKb6)%MYS8
+e`+UYXUemb%%!fbeC`lPYYCV#G3$he9GcZ@L&CP@C"Qbp!NkL69Y1i`RZ!N9P""M
+Yr3`k(l2r3arM-cLILHKK`[%XdT%T5)KKLBiRiRdcF"[r6Ydhr6$dRJX8$!$feDf
+SV9(h6rF9HFIIcDT8MPTY9fU1&ZG[Ah0e%-pfjZN-qCqjZmc`VqBm'EV6qeIpb(`
+HTh%*E*aP*P5[%UDDP+-Z*1l5CbGI*L5F,NlZF`+jFfL5G8-qHAdfZq&M"VYefp1
+h[GfpKrcS!$cld)i[)pRV`FcH%hS3r2[3KqD!!(rY,%S+HN5R+P-1@BmTmTe)!A*
+mCTpN3G(XmX%jH@acPI+-R)4j6j6j"f8p@RSp1Yq!2r`ZZ+8,Q*BNYPYSAkC!c$)
+RN6*!Mj&+36mJ%H*jNI&H'pLXl[LJMP*U+69S(RdQV59ji![`lccUS[I`NQ@dJce
+%5&TcI8`T$ETF`2Zjke[Sc)DfXc+Z*rZ!b9a+A%a3C[3%cC4%H8cZBQi8YZ03H0#
+B8[If5LZPb9HC8"LXHQ30D3fa5d"Gjp[6rj'KE%#2(eQVBQXFeM1YAYXN&UNEh"[
+C-ZNjX[ZhjYcIlcp4J!`(95GX*q%rFTi,'NdF%kkGI@[V(aMUX8"Z[3MGZ(,[E%e
+5JYBIeK&eJV@0DaV@-VZ0DaV8,Ul0@`L4JQQLD-6%L5UCM%G-$+'+[LiSX3#ViFV
+H`PqEHqhP[I3,HqJ@pp[,HqXcYl#J@mH"T!*Vf&#[V''iYKqfCCCYKYECJhfc&af
+BZ0aZ1@CY[E-J$IPhTehBmGBpi`AcfMB[J+`E81lZd5GU*9EC8'DLp049%bMTdS2
+LVDf%eHZ%)'Qjif2DrYNlG+%0E0`-'5)kGQHL#cUp,1p1Ki,ae'qb$Sm&ikkG-Z&
+d[(Gl0FdLp[&4HYp'hR6lLd+1Z6Q"C+B"G-"(3(+QQ"GR-"cBF#A0bE$Sd,lTccU
+$Errk!!mr$hE%YQCY3m%09eAYXD3J&,AVERDqPZpEHf&Ga@2pc(d0f)KBiLApMa,
+RL*iBLVL2&A'0@PHB8R`G25M+RJUa),I3F-XVfNYj%jfrhlLS,Y3K5A'3!-8d8R@
+1V*QDI*NBYIQ@NiXA+f8lqKrr,FNT6NQ-#Hq%k+@ljB%&3%'(TP6`D3fl#XrCZIA
+9EEp`K"`-X(!e[h$U$J1`F$8(!e[h$V2@(FpBeG)mY,N1@R(NVYLZA+Q,9CHL`9G
+a@9-TqEjTc6-c-hS3p[lj3f2h[J+k&Ud"VIeifiB8*jZHFZGZSBf[pES[@j6YpS@
+Pr!Y+c21SSG1Nk&$qEd)rRLTSA!#$P&bH9NYNY,ckV`fbbJSFCrld)IrrS!!FRUf
+fUlD#Gfj(QjYQ[rMqL-(FhcBjr3ce%*XYS-!JkFULTbX!lE8j8dj8JkG18DIA)!h
+@9ZY(M4cSc9(6ai(9jVkl6IAD@4TlI13T6f3k1FEHMR'dDXb,hJV#pm9aA'VM[09
+lNH%2!A)q32%9b2%H)U)N@C@l6)FJ4*V%h#dfPeSpTBRH,"GCPBB@C,"fC@Df*G#
+AhMJiD0%hpcEI9"F*l4Bl5aEaZX-0iX(D@$hL`FEPJl44fU4labGS8IbdbaTS&3C
+DMZPY0,)Sq@C!Xr[`II["PfAhjIIM0Ph1EGAEqlA(EXDUl(LlA)lb(Lb*iKRLQZ4
+qH"9rE(HajR0E60ilf''hrSFDCS$kl@4p&iqLmD'QIr9YkLPXb$+GKr+3!(pbM$l
+eb2fVZ'XmV2@Y[9YP6YT2eNR"`p#QJU,8)8*3Ya%[T!UdlSr8*YbhliVlfrprH@3
+TAQF*HlCCDUPAQP8Fk*1X6Pa1VfMkcP"2`"(kHJr9XqRCr+-I9'r1CmmUbe,pK`h
+rhrha9XrFM[RQI1G(1MR9b'0(mIRF#(jibD$)"NmU@@H"Imp,P!UP@EdNV8)pU#R
+Uf(kYRpaK-A!YMbhNp'HM28RUEMXRVTi+-ki60F*6A&k&F9E+B+V!J[+Q#Uj8c*!
+!H+Q)Q96"4UCNNUBSkXQ%Z%C)62f*RdJ3CdM9+)fZ5#$a#ZL%PqP04%V@bDYXY@f
+UYY98P96Z+YX9ECUYXe@e[9Y"EL,AlMU+DV4idH0(M4idH0(M4ieFMk2'DK3N'Cb
+jCeU9PC,VHh$@TeUEHhPC@5l@N6q'Rje&STCGPUU@iPZ*CMbh%Ya,F3fBjYaQS8*
+G#GCCeSZ@9N,HheV@YDaEfq&PC&pD&kL@2b5JSEJ@42,NTk&ce0af6e*kNp5HTZ1
+bHXFmhYaI`,@aLYUpV)$'R4fR,8DA!16eX!%%#@fle`@)m&[[Z5hAIE+h9cC'k[#
+l@%[`,h8[CL2''Y+,2ePS63bjIVAaM#%)qDHL6h!'l5RiRS3hF6m6T#$[rrDK$GU
+k$V42[rd6qjkLb"9`hI#Xhc5+GQi4kC!!%BL8BL6*SbB1Y0ae@C-kC-aN&c)p4Qb
+EC0XfU05S+qBGMjDA6p`bcNmqLUU)bYEHVEe&9@'!8qhUfp@e9@c+e5pahrXV(r*
+qf&q$CeS5#5*"*%JUi%JVm4qrChm0UGf#kUhUV-ec54DU499),,dY98Y98QDjT2f
+U6jiI0%I[-qD!!(([kLr+G+d+@`+YLf%#6[0k5jQkUDPHB%DC-j-9IRRRZ-,AdC,
+,CmI"qhAaXTQpP*'k#XG-%L[B*d%HSj4%c2QGmPAC!AhYiCUePDj+FLCILKpU$3!
+bCC,DNY"GGE"bfU)YTdY"+PeX'#D`68j`XR@IQXrLXrLlPRFdYERkHq&)Ra[re'!
+$!GiUK#lJ-fP%*D+%Y&#Eb`-fLK,43PSS5d8*[,!cD+%Y&#(S6H,)MLJQA&"Ga38
+laCJ1,9UMHYa4Y$%BDfqEe%UH'`@,YI[GVqZ+9rFG[paf[mrDZ)AYF@YV5d9DC"5
+Nl+9P)TZA*P0h16@RYhfRVQeDTA-qlMTe&DUK29YkY[qV6Y04-FP&XLJZSINr*9b
+-l%r*q4RD,hV[j)Ab-l%%f)*b#FJR)*iQ@3Eq3b8bXMFrEjq1$T+IE2TpKh"(YUI
+DrTpVm)jdqb#RfE6P0!$*ccIcS!$cr2mrcr2rrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrkIrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqRrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrTrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrkIrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrrqRrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrTrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrkIrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrrqRrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrTrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrrrkIrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqRrrrrrrrrrrrr
+rrrrrrrrrrrrrrrrrrrrrrrTrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrkIrrr
+rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqRrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+rrrrTrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrkIrrrrrrrrrrrrrrrrrrrrrr
+rrrrrrrrrrrrqR(aMU!Zqkp3NYE%-K'l%'I)dHMK5U3BU3B6ZiK&d#,1iSPa5T9V
+iE&pFR-9dhq3[Mb1%"%2)SH5Qj2k[r["ErELhrSRS,m3UKCarmhVrham[,brmE1X
+IrrqJ23U-"fCjHTPhPi9AZ)!K)3e(3L"'Efjd)%aTBL"B-J!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!S4@
+K!+%9[N-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(CV!J!'5%-J-5ibC'pd)&J
+JG$%f!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!39"36%K$3%!K!+%9R!+K'ajU!!#I,J!!!!!!!(6a!!!!!!aN!!!!!!!!!!!
+(C`!!"!J)3*1PJ*N1!L#!5FbE1R35&*%MjidF%%hQR*&)d5*'M3-bRJQTd3#5)5"
+LZ*!!88B!`5"3S$!j#34)#))i#9B*#&-Q6CXj!mT4&$6JJCX""B5U`-PPcNmZaY#
+T%iC1QMGZ#%a*SkF-!50Bk4!BmSC-'302i&M&5S!+P5"##'"j+f3#NM*Xi)!JNLB
+-QcGR30`03bD0Qc-8MT4a8dD1Aa"*h*Laf+EU96F0)N#TH-Ca'a"2l$5fNkE-RFa
+&m0"CE*B-L#0#3*!!0G[J`8N39-+)B9-'K*%dE!)@3!,#b4Xk)"Br2)-'4*XbE5c
+QF3%LG4VNF$KlGP%dD)L*&5rH331mYj`bK!d(2MrRSC`a[Ff8a`$HirMb)-kR2`a
+#2Qm!p(8N(RQmjBGHBIcj9`B!&G4hN@%Jh#((GHVe9pi)NDdQKaZ213K##l+9eGY
+$b,eK4RjK(&D'#aLkS5'(E&3Ri)FKQJ8#L6HHk*L+,$US!`LE39G9(HG9pi34bEN
+a"SQ0PH'D#e!D"`)G1ml"KQ9BpHH4'(QX0XH2*E$K@TKNX!$#NMEf!%)*H$3!J*4
+ce#('(&C0YCBE1IBRaR9DAS4QEfbkqHBE)-3jCjd3ACDR'AXL0pP&E(lS`jTY!N!
+Q#(@i@1@9Uj@jTTK6EPU9Np`&*-)8H*8KP@!TkT&'L'k)*XFFLZDf@fqrr4H"&!G
+@5)GZ[-d"T3ZArRTVNP5@0SH"K(%R`4#mK6%KImEb0L`)!&`!,AV6"PEYLP$ZKG@
++%8`4"QRmf4VXY4DBLfjJkTBKE,K%M&XU!1fQZUU#8a+kC+b0dB%[Vi5"N!#LDe5
+QD1@Se`+J3+lQ(FKG"&5)HLF)C0K,XF@+CXbB#r9q$-+RVSf"KV4K50ABXTNQl-E
+#RA,AlVQpr5YVTaB@'-BF!#a`aB4@(ABY"$p6+$5ppJ)STB4'"dC'(Eh43@KMiA'
+(a4A5ZU(HMeM"Cc!E-8lQBXlb'PcN(2TfDUEBb"P+jh@*CRN(F$'+dC[([B8"d4Z
+9@6@'Afa-4e!(U2+fUK"PT+&'K@b$`%BDBMJQ4aiT"84ifL!JVMMMB6N1ZH58bf"
+jiDSLTrRL#AEqH1658Sj&3"b3!,jUEQR!NEL@Bkm1HZ@`biiFlEDrfVMZVB-JqJ9
+A@,4'K9N+%B2"EVK'K8T3)UmmmhJk$lhd-JaV[4c,mpHm$0[M4Vd,hiFIf2MP8p&
+ppFQ$MhhQ@,4rI[Vc#e(r`ELp6q`8FRUER6SfV[)T#!9c5!'Qi$!U-V!S#5pi3R)
+%4"d!(JTZ&c2-NYS!"pkXTP5a`e`Bi0$"02cYBP*cR0k8K)D&#)%Z!"""%6K)"mU
+Gc!fZ1T1)G!L`@5RU@fjD3"!F!K("$'&B"%&'3+L!K#3iB3Qb!3%62LFYCB&J"Lk
+!!3"5NC)Fi!!()*K#(LVM)P@&5!j`S!i)JJ#fr+5"1A4B&RY'3kU!%!!!#3K)(E3
+)J$#J)L!@D!!+p#Be-l#K$R0ScK['-!BLRBF-+A!6!DJ%03!8`!aq39Y!"J)!+(6
+5*3%3`LB*mSpr!!!2!#$$*YF3!!S)!!8Y!)!JJ##))!4%%%X)5#"%+FXX#%),Yr4
+#3%BfXP%+K#!$11C!PTN6%!6!!!XK#!S!i"+AB!!!d)3!35J364X!3!N"'3!qJK)
+&%!$#Na%!`3H#S!m!3!!55"!(%N6`K4m!i!8*D)8k`X#1-1`6(@%`4aM)S8jf!X!
+"m+5R2I(CLR5%`4hmp'FB!#T3FJ6K(3Y*K6cSU8jmJN)'6UJ$(1kCJ"J!3`$&%5N
+!`'!2MRi!&%"`JMlq`3k1IJ%85j!!k6r%S33m#-!4DP!"#2!3!"J-!4qY"!%#)"%
+*1M!!&S)SJ`9%%)83)+19)J#%%#)J!TqU3J5)!)%JST%+!$!JT+!B3dKG'JS4Z!!
+41K@&68%a!TeL`U8JZ#N*G-U)ZDC!Ti+BU`TdLJG3f%#RG"$""p3j9aH))!Jk&B-
+6V2!2C`6"(C80J4X1#J!*a'#c$-#A%+DTJG%#B!0#q#-(3"($c5*!"Rr%3!q!d&N
+RH#'[hZ#(`j`!MFP@pV+9r5`!%!!J8!4JYVZpl4HSm!MH4L%BB"!!&),K@mYLeKQ
+D(5i!8V*CE@*!"+!0343!3!)KY*!!"DN&J!Z8%!!c%!!8!SJZ+!D!A!Q!ek`Lq#-
++E%[2h1if'Vk&"A"KN9d(G&DiSE@!D8[E`Y8bS,j"3-GfliX!1%!!&#lJlaImU`!
+R!*Lb`!!Z-,+VJ!1l&PqJU!"b(D"K,M6h`rm)-@D")9cL@S$%R3A&"&EFiKF(H-$
+CPB#*h5PDdS)#!8S!JKN8h'"3-%#T3j!!-!K%i)lKLX!9CJ9&!j!!D`%0qjI&-,C
+ZF%&Eh!LXQ-,j"3!(HZcKkJ,A'3J'8(D*ZeS*m0J,p(5aKfqd%"#mB,K#1%-Uh*&
+A+$b"Yh`HLi3$-&)*3!!#`)"!Hr%4L@3SG3,E68")%ch54i1"!""BG"53!2%2I3J
+"!RjH5%KpL`mKR!)*H4M#%iK3K"r`i!$35!8SmYS#*2b$(dSp!`GHi)*I1d%Ar9!
+'#0c`kaC!i4ri@$DdR3!*B[mk&D1`E8LRJ)3RA!%*4@!#&#BE%#5FJ`F!8!&h81h
+Dqc)!"4Q3!!)55-#$8[i$&R,SE!E1i!%%h"%$Cc!!"(6E!M!S!!%&!*!!'35Z@a"
+)iG34##d!IR#'J2L$)##3!2JE"5)&L8['#!0r8mL$%()RK"`&%H!$!&)!J!&S33K
+f-1Y!#[!'!FLK!'&imJ$#J)"d$-!3J)!$!F#!KLN%i3hiX%!-Y-Q!C1DJjPmBJ!#
+5qB#3!$)J!J#!JA[P%!"8)PcK!I'%%SVJ"J(SJG%"d)d0!S#%B8aK%'i`!!1+)*!
+!0c!J$'#!`FkG!)-#3#))B8!$&B6J"M@%[!a)))Be#0%'KJ0J"@"`I!Z)-)L4$U'
+G`+!#%'`4"`$iS``BN!!i!YSJ$d2%`r-2G`-1$$#%V%0J'#GTHa@!i!CeR)%GB($
+$'a4!$GU$!!,CQ!,Yp4(5e&-Jj"QZ3qS9%()B#*m0p0LdDf(!L`$m!!a)@,XekL8
+#*4#"$3c3HaL%%3CRM"354!!$#'#3!(CE`)!!BC!!4YrI`)%`k#)-bJ#$"H#3!(C
+LK!%@jcF%BF!,l"F'Q2"qd&!%B5!,bcCF"L"+8!!"JX!%h`!!2'"EZ+9EC`80)CF
+%*3F"[!!!4Q!&3J!'f1!`U63!k(!#%%"Zfp8'qL!"8Y!+-3J"@+CTAV"U9X!6l3!
+!FV!#5+!2&V!#VP@$%i-%J,"3h(&@ZL!!RZ"L$!!%TH4HF2!2B)"U-#J"TrBK-3J
+*@)B!8J!)fPB(,KKS5!"Da$CFarB2V[!%'09K18L'1cKak-CfD-JG#,#'NZ#'bD@
+$rq!2DCL(ZY"+@2!)Xr@(88K0Ef!!),#%B%!#$FJ!8S"P$!!(-!!"J-!!Qa8!IfJ
+'6`CDNfK@PSL*M@K@BqL#jJBJ+1"D*J#$&X!!h+4N-XJ)B1!!38!08X!)MiD%pZ3
+%Nm"F5N!"CZ!1&(K0TcL(j[B!',#+`q8"h0%!(-!G$k!$kpD+3[J#6!J!K&#)1!!
+!X&!%`3%!DU!*4+!%"f!'j3D,fh8'%+#1+a"`kYJ#CN!#5Q!!J3%"&-#,Er+,M`!
+(3)!"J(#&p8L&)""GPYL,r$J&46"fE+!1f,L'@&#)B#!#$kN,rq!%%SN!YVCG[XK
+F#XQ3!2)!"JK3NIp!!i9BM2"`M19f$UV)LN`3AENBM'DJ$aN(#BY3M'm5Kbli!JI
+J!pbK!2UR"0b4!!4TN!!`B%r1)B68jT&(S!4(`!ENi!)IF)braT-`!)0+m!)MLBG
+1d!VIe!*5b!p+!!KRS!$@aJpVk!f&H*AkN!#9@kQ'ALN&2Q"@4q!`E+!!-(!!"N"
+E-)!%`##5%0!#qS!%5!J04i#8VVL8Mb#9+JN!jTC-8$*FI"!!-'N%E1Q@20Q9hm3
+GBfN'l!!$"N#"!!!-9#N1(E"C$I"V2E"C$[#(CeL9H2LDiV#4#j!!#ZY`QJ#3!*V
+mX*S(pBGR+CYTf)+kX!q%%*c(YJmH8)M(f!rFB'iIJ!-Ni)T)!)0VTJX,3!'&Q'3
+"9i9Jd$-!)!3`U!%0L!"Bm)8S!!8Qi&T#QCX9T`$3B!*6d*d+S!`-F!#@JSi+J!Y
+#8'crX*qrjTrli*qQ9Qcji*riF)Zjk!'2GJ")U*NUJ%d!S!%!%%XLN!"ek[9i!1"
+0f#*+)b##kIC0r0F"8YLIaFB2B+!-3PP+9`!-41#BJ##L[`B'ZK#L8KLJaDB2B1!
+++ES2+pUL5!LM11S*02S2q3!'PU!$%i!$"8!&L`!'+M!&M0!#60!2hU#11H!'&+#
+19qN!CdLPakB!BP#)IQQ3!!#J!`$3MDY)T6'RMLl3Sbi+Sri!6QG!!VQSMLTJ"JK
+J!a2!T,N)"K3JT96DTGl`T5*3L0k8TPA+659J"N#3!+,rF!BBX*%Pi!55`&ap*hc
+f&'M(eJqS)*%FF+P!B%m38+,kZ+Q58)L55UR-eDGip(Hib!J+@Tm!`!CZqU05f!p
+bDJ!)#U[YD*pSX(#lUU!3`+"Lk*82kLEHT%SM93F!)$"[F%V3UR*B-!"%-3B$)!`
+!)(5L0!F%!!`!B!B&3!N!8!Cq"`"&B!#L!!!"j`N!F!3*J!%TfJq)d3*63+9BX!J
+Yi!C8qJrdS!5Z3+9YB!'2f!2ebJe-#J2kbJfpaUp+N!#`E!!"3aTYa8B24!!)B-Q
+[F+!!1`!%E3N'(!!(#,#a(8X"F(!&'m#a5""jF(!$*cZB&LDb5L#VC!#TmAS'#%#
+[r(U["MG5-$!"&dX26'TYdBGX(&#)k*DLr&"a!#!-+BS2RVLM#jHLqR!'+L#cmpL
+dCEQ4,D#UM`!'%J#e"+!A"VN#[9LTMc!&4##VJ-%!XSS&m'LIH'!'-*!!S[P!Y4X
+*!eb,YQeV"JU`N9L3!,GT#lGmZj&i!,Lm3"B'!!0)JJ$4TAFb3!#5%+S"-+Ur9UV
+$L3k&D!YJ33&k"`P')+UNQS4[-Tc38)K#HjcdN!#Gr+QdX'#e-S#e$+#eJ+Yq8'X
+!8SXBB#Zf!J!(C2XQCUZhpVQfEIZfTb5hG'Zhk)Dh[aZi!)!&JiYZIlZmXKUhIBY
+ZKEZmRIZjG#J3afQ5Mj!![8QfL0Q,#8"`ZX1T")@)#Cp,!*SkR"#JZVq'MJG!!Bi
+U[`c3Y'EJ!&+,TcZUY1"RRf5!MUPdZ1+lZ)dl!$*3!*&VG$m`ZD(ELlUJ$m)![rL
+3!,ASYV9Qkl@j@j!!ZpZlA*ZppV54!A"XqJ!*TMZa*%`,%SP0MR#m!8%)DRX'$M#
+m#$#p!J`(2U@fCL!!4%A!L@[!!Z#i#J`%NN!%$8bjr'#jqU!$U*UmA,Zh'JQp6bb
+i8Aa+(c`!RK[#G8M#"R$#r%V#+V$#"N!!QLZq+-'i3@`!#4bj4rc!SjX2f!#rr&#
+VJ#!$!b!*RfYpE``-AMbdq8!1+e`![Z#SCf!"2c!"(e`!Q2UGCh"XqB!*%UN"S!U
+kP5ZkML`)U)V)CXZNh9N!JN#[9,TX9$U*9,U,J!#pLj!!S[i3F!3X!$``!*TJ"!a
+TGTXjK43!"LBJbYj!bYjJbQAVNE*X"'b!$Mp3!1fE$b33b#a3c%KXZIR`[PdV!EV
+-bllXZm#X"-+-$Ye*!2i!!Mi,"&6kCmH'$a2m#+LXbUa-&Ui-bl)-MV4F[lHFbrU
+kbrrDba"3UVmEc-0Fc1f,$k+``J5J#XcXaZ2X#")TcI0-cIGXbIQ-cF1mcA`!A1S
+`"0-!!YPJd6#3!!e(X!i1SmSlE!FQi3EqS!ir-!!Lr*VU--lq`)F-!*EpB!kAe3r
+Ud'[p)!ipS()!d!rJd+8lc@`Nc3-JS!#ff3BmX,qf@fclF!B`)-VL3-SmKG3"PiS
+"L3"5VEZm5i%$JBN'ap41$3'()-VQ3-VQS+$QD!ESF,`3S!4$i)PFrDrLN!"'T+L
+[iR"U!eh*P2`2qYLP+Dd,pS!0I!L8,8F+%Nh4&Sh4'Xh4#Z$4!J$5CcM5HLF&SFV
+)+$h1*-$5,Jh6lL$60'h61+h62)h5YKE83kfr8)d!B-flQ,Lr!3%)B-d!fY3I!8%
+(BYfGXpVDfP3'CL!#%3[@ASh@DXh@FZh8F-hDqQS1[S!#R3L[a9E"%N"X0HhFjR"
+Xp5!*82!),Ld1YJd!3(!'#&h66JeH,bh@%"!*B+d%%'!'MX$8G&d!c5bkP)[ASU[
+AdLd-IpfG2cAB&Ah4fC!!d4[Y-!c3HJ(!"SXG!)V0f#*0dJ0JKMjpE2HJ!*B0cZB
+!eQ,YfZ0U"[)JiIpU$K6H!R3-SrL3!+m[AG0G+Jl(*J"SB,5eA-%%d!cm8%V(U`'
+(k`BeE!5r&Kcp)!UA0G)dE3j9F!$Gk3q)%1-"33`-312md!B"`3[lf3rKN!#pM8h
+5ffZ(rl$ApU!($rl5Y1X#6'i'l2E5&0kQ,1UL"KN!)XVNBPhHjid08j!!i8+jj3D
+!bf[qdYN0!fG`iFApjHi9jf'Gi@"pDMNqddJJjm9YhT!!QYhbQ01-11M6e&i!`!m
+d@GbM50`[E9U8fHMQF!8C$JDIq0*klSpalHAD41IUN!$G,R!'i,#r-m`G)$$5#qH
+2)MV50ad3RUf[26hPS5h8kp!'p`[9"X#lVki1-3hS0IhR1ck4fEhG&0$@03hHHrl
+5ireTChlRYfd'e$#X5$Kl[#hT6Hh@c#lHj"hFh&lFhZlFiJ$GacB2#P$GeqfebLi
+1hClKiihQCK$KFVhHlAhAHDf[Hcd23P$I$X#G[dHX[r`)`CV@j`J!pC!!4B+T!Cp
+fE!#!!K6)!IJ`KL2&8Gm'$Gi`mG%!!hq'!$[-IiR'""L[m8(3$[V!"%UPJbXC!-[
+S@Ri!!#C!"AkDPm'J@`SJ!AB4#0!3"([j$p!`Pe+`#!b!D9FUGjJ'!f`!$LL`#(P
+CM'+SNj5&$pLBP+S`"*KeS")'!5+!$9X2!mAQ$cdI$iHS$elrDf&rL+ef#UL!$AQ
+&!NL!MDLJ"kq*$kL`"bmJQ+U3!!S%!2Gj!2ICJ!*I-)C%)!9"F!9()!AHYT2["S1
+Li+HimAZ`m)AZPA'eL"XSd%)BJ!ZkpDhQ-&+!2iC(8!483!41C!5(0SIBk+r$YA"
+R1&bS3!G%1&ckS!Th2rYVb!U&Z!)FD`T*D3VRZ3,"J3$k)![![a$ki!V&c`$kB![
+&$`(kS![&6`(kF0b"(iG6N!!&6M!%4m!%6b!%V-D6Fim+6,rFd-"XqP$qIcLA9%p
+K%HC1@lreiiN&,B45VQ8!D2!2'*AS`d8&8$#H&!B$,)F!3!)S-([m8L!i"X(J')`
+RD0$rA%X-S#d%J$(&S5%3"*M!%#J#T)m+Z+$ejeVDRpEMHQc2Y8L"&U,r%-!8D)$
+$"3C-%`23mq$"H(U!e'3mfEpr)!p8c35XJ%0J#J`"a$IeB*!!+cK2-)!&$"G)`%5
+!35"J"kSSm08"9j-+)0%AL!8Q6aANVd"6qf4"+K!$-1!$**Qi!`23M4ADAIG%--N
+#Hj)+ZS$+FdcR`$iP*9F!*(c!0-%!D`J9Q+Qq8rk'bp%5CJ*!j9""-AJ&Xb![!!*
+fC`m1[cli!G"0&I`""L!9M)'qilN5B+"C+),*&D5#EL#D`-%BdS')M`N`!5T3"&$
+418JQVLB0#68YS%i3eR#*"F"!J+NI(bJ#@'%jJ3)Ud+a!JM3`A0BJN!!`J")'!aK
+!hH,+[SN4f'&5`$*a*DpNTVM*"9!cfUA%K"B*i!HXN!!$m!18#5mC!#)!"1C5G2%
+""Z!(()!e*!+BLfJL6FU&$aN!hN)&#0m3@!+BN!$91#I(a'`Q(V+a"iA)&N+"cr+
+(X)NmK!+)`1T"Qm+@$@UI*)3'mY!'[%&jk!B"J"FSHr`!%V4$!cJ-d-fam3GXB!i
+H!%K3"'5!!BKF1)$!e3X0-(EHJ!A!"8@JjLLTpa--KX%M$)2(Ea+5SlRR$e2"0-K
+,RL[*0"kBD!6)e#(F)QAJ%"B!4IJ3@B"SQRKak!PBJ5)JEi*!&@!#CHJ8("Yq)!k
+8Nbi35`m4bG!J@m#14K8Hd8G*b4BSTM%8")B!&8J#9L!)F%*@ifU@)Zjl"&42(f)
+pp`F#`pmS@%m*i!a3J5UB#ZS($'*!8%!YiX2hK`hQALT3!A0[8pQ!Y95L&#+d1B6
+S"J+3!%%ZF!K[e!pBEUN!qqN#If!*k1)9!!2Lb3F##Ef)#2JL5ib%,[%i+B,DPrI
+5`"LU!P#!#)M&)M!b2#%S9)V$L4m8)N%S#`*4+T!!@apJ,L@L3'!'F!"Y6!9jTa!
+bXLSBL*JJ'XL#Zp%-f)$I'"bcf1MU"`b!ZG#Z)b"XB-!4))i))"9X!GSBL+B6!*!
+!"URJ1(k!EcL'QX!6U!)+LCLN)Ja3&SH6()L(H!m@d#"KJ+IDS`"3"I'3!2%"#FK
+(Jk5J","'SL!T"8JSX!)`RcjSI#S!"6!q-1!"F)-*`(aKK$r12VBf"EVK#-"m!%)
+NSB!PS2N#JKRJ"LpJ!4bEFb$e3'-c))fTJ!))JIk)NmjJ)#*KYL!l!3)V%1BD9"a
++!QMV#MJ4)R$k!J)fHT%4l&3pJV&NXalI0"NkB2$caD(30rTdT"-J!Vk&(D3qbFF
+"GJ"Sd3H1`%SHP"+Q*CfI*0#5%N!I8!,DKJZ!j$rB4N05A38%92#Dq-(V!j,kJ!b
+B,Vb(#ZD!JMaqZ%%IXS1pf"DC$6Y!"D-J6f+@QJ)#iB!!-)cXi$@aJj1)#P#"S+3
+Tr0"mG"I(p"Jl#cC+"GqJ8M)!9(!)+U8$3!@+i$A4!r&ApZJ"qV-(k)mQ63rDJJ%
+N*Eq+8*,5V(b6@'PJaXe60!&RU8iUb@dMqSL!Ni55P)8I!%Pr`!ZbNlUL!@hb6A)
+PAC!!$cc"R*apGC)jCX(ZB9EBf!L,B!EV%H6+1A!*Hq@[9(bUcq-KJ0LRr$`"'-!
+!3$)ID)"#K!)D&9NbE93JZi5@Ge2pH'@6h*'+M`&J'3$`"d`*!hJ$0`ZRp8ZcSLm
+*JLTK!'bJej%"X%3`pf8UF5F*%`iX60U5eL5I!b#AqX!5a$lRT`R8$j!!T([XdPf
+b)p`J,pd*bCb8&'"AeJ'&G#qIT!X+Pc)-52B$@'!X!dlX%hl#S&Zf6'!j6&`,#*L
+2S-pEiN[8Ybcl!4fSQAjQ@H)$,M!E6d%DBJ!Y-4Uda'Y!`M$"'$)#6!!p)J&Ik83
+S#ch!4U,bp38D9q-GY3(C4(,b"-QTJl-*!13"D6`f$J!"m+(ZSf5JjX5UNb1&YMQ
+$`+J,m%'aI!5K%1r0[HQN$ib"F!`PCf"XRS'0"!'B)"A)+d"Sq2&0I)!"QZEJE)H
+T3"T!cL$N#XJQ+UP1j)#eI3'h4c)C(i"B!8cJ3$kqrPJkKemYM*FqF#(82Nr`0LH
+M!DKZY8m6e,l+L2FHSJYJD6p!-&'#i+N2*!(aK!6%da(86RkJ#9KDlI3(J+#2iFd
+!S$*C*QVNQNNa&1+KTrN"*XC'HNX5S(YQLc5%!9,""0LFX`m@E$l%m""PJACL4(K
+2*+&)NT@69Nd4Z!,BNfGqTe03+4'!pR3BUD!AS%p9S$i$![ZFM(,JIA)K95!rm9k
++(#P"8`2H6erT@qL"Fj++%NaT@B1`53GURc#SNaldf0J$-m!Z05-9J!%YK!G%JbV
+$!+$JmhX$k&)`qB,Df3mBi#-JR-M!iCQ#H%J&"#+!3!*iS&m#dAjj+DAQpPa#Pp)
+E2%Tm`#IK(a8SL!Ha-#j%)pJ34pFpF!"cX!"!!b-J!`i!4Y5)Em!"k"eU'!b)`8Q
+mP0f!*TUTXG-'2-"[a))Ii"Za)jfB#R+L'#aQ2*'[JFLl13FS%!3!LL'&p*e!*K!
+%XS!'R%2MUG0!J$mcRT!!3!ZjP[k!(P3h`BFMC8)KR3+qjCl%*QBcZXJ"B15NDkL
+F8G*"@NL4iK`bK50*%&8@j45("+NPc3*GXpbJ%MZ%4aiL*CLNVE55%Y)X-!3f8J0
+B3pRb$-*&QeAbp!%i8#U4TjK'Z*%dZ[i"&'#PJ95A&P,[0iFd%3SD2@(V-ZiZ'&!
+(UCSPXdL1J,Q-)A#$"B5!)@@0,XJU*J!NK!k!J!#J,3m!JX8BjU*1NG!l"3$aY*Q
+k!R'D5dPT&N!#,XMV$4G`i%jT#hb6TlE!8RP"B1"D,0Fr)!Am0*Vk8i#+52'3!"b
+!!1)![S`SK+T35`P$G4Mbe"4%e$VJ5RFT4I@46`B2bFGpd"rJjciJ!@#!"Ga*h0-
+J(bF%L(bVlf+k&TD+1PmUjA-!PUq&Z)!1qDfiJHHVPh@!5H*2*!"C&*qC*!8KNdL
+bQq(#!1EIV$S$")$b*8QNUP5CUXY%IAC6$9NN0a"9bG*8V@&@P3e-2JC!TP3QNb3
+#AP9r2LEfH!B#%5T3!eP`,P&"2)3+eN!@4$Gh%NH0$#VJ#k#!'8Kf91""8K0EX$i
+edMMN4jSZU$S-SQS'c+DJ`3(&#"`'dLI3"$TK&C!!0C2&(q!$*G!#pS%#J&6@G#"
+i[,6@#[D"23S)cD%0Z&CU!`Dm3,,XS+9eiQa5Im!28S%4#$5TB"13!-dm-2LXJ,`
+4DEde&2!D*#"D$fG`p9HL06"S6p'D#NU"1M%!J#!JD"0aTJZqJBSm!ifYYlUI$l!
+Y"Gm6k!P-S!K!N!$FQJT!LKbU5[IV#jf"(q%cSF$P'bj%P@T&SKE33K4!j@)fEM)
+14+)I-%f!+KTDJ@I*#9##[kBbHD4j4)rS&+c#c*&4AqmV!mL[LT%l1!#Vf!"+&59
+JPdL94bk")T!!"BL*EdPL,!N(-#-%N!"IHF"Ya3dN!!Um!!8!3S@D#(#3!#d%!M"
+@!iTB)F!dB3'PLKrK"Y2#!QCX+KJ"fc,Le8q5HKj6ifS%Pr*9RY9#'3X"kZ4i!K,
+hP3,N9pIfM$`XFfQ`jp8VJNA)JSaB8X[$Vq[6!Z"B!,&Me48"m%@4"cHm!!L3!!S
+X3)YXT8pJ#(#rp(KL`5D!IAeAPXTDf3VE3JK!IK8!#RCEJPNpfrf%3#HN,2,!h,#
+m&HX$XP4G'J$`U#jG%K5!!)4J3(!!J3%%S*Z!%'0B!69a0@4`8T!!eqIS[IJ2E6-
+%r1FGS!&J)&Y4J(B+#(D!#M+!92!())!@9*-!!!e%ap@R9$`Y2Led3P!!A+`,"`5
+U+M@C93[(fXL$D&PA'8#EI%hk)"8!!PmVTe"!JRf+N!$X%CJ!NGNUTi!5q#-JB'4
+1!@cd'%X0#'JKa3%5Z"KA#`DGRRNPI4A`#4b"$3KD(+Nl53@f9VjqSLR,Ib)!E@%
+"BkJF*S%M%2UN3"A`,ID!*m(-C&GIe@,l)`&m8G-"&h``"%cHKG0[rc1XhM2-Z3,
+8#@FL5c#!#Kk![TS&9HiKXJGh03XqcACV$c+9S1N!6p0-NS(U*J%hkq(c0Ud4V+l
+BQEYZ!SdFc,P-U#490c#V"Ci!C`fkr`!H*+-c1j+BN!!ri!(C5FN)"'h3!S+$Iq8
+(1N!)1J!8N!"XB3!&d%aQ5V8'!'mPDDS2$`J!Z#!!C%3`%!!J33"`!h[e[d+E9-!
+#mUSQR6B4l*q*@b#3!*I3lM&"!!%!%5"$!`-1[Y1(JJ3!!-Z`JKm*'@G"G`T`f[2
+DU)P9Hj`+9GF5#&EJ,&NEU5FL*b-TB'QA&`J`35FB#kiH1qU#!`%B,#3PB`"'EbT
+B,,,e[f%@H1!"qD)"f#`8)1Uq*RL`N3K!m88&U@$drLCQ!`p533QJEHiJldUp%T8
++&05[99VD)%3Z49f``J#!-j!![QG*'k+#(F"YJ5dZd)E+Yr6k!d93h`)#+9LpHDA
+e3TZbC(Xr!'e6RP#cp1i$)&$GD"YV'l8!)-B3!Jk`2jYJAN%#YM)I%!0893!NJ%N
+)"!f-Zqi$00"rjq+ECCEi89Z1VReJ`VU@%(J"&rL4&5+Z)``@8K#`!X'!#,!G#"`
+!*,!cF$%6L3S5J*LV"EGEPp%&fB!5l-&p-'`ZF$B`"&R`f'3$3S#5c'X4')T1i('
+kS)DR#l5"'-9$8d!pd4jiS2T1ke[U-$KB$1&J3f"VrX%ID&rC!!S3cNrT"P#"2dJ
+&%L!9`)"8`!bBi"j!"@)ipkB#,,32'-!1D#%@3"p%Qp`E#bP!cf-()XXHA-)4b`5
+F5")iT2r!(+3L(%$E6%%US!9+S,9+J)$M(2D""+!fMl#dDS$KQ`SXc!H!8HmJ4Ef
+$3KD*pi%&+'6$Ya*hQ3kFUaT@e19E`hG6i3$ip3i%f('GFUp[TS)"-**BK5U-K3,
+`p`[8!Q43*+Q!%TJQmNJ$2')MU@BZPMNJNQD*aLi,CK2G)-''T+c#`0USJcUT"'3
+V"+Jiri!%H@-P1iM$64-)!Nk%rfbXIG##kN$PJd(X!%M-f4+(NBBN$@)(RNRr*#9
+6F`U!a!qJXdRJ!0Y+!)!)XK-0dJGQJ"bi5!BJ"!36)&U@XkS3mCq@j3mmjd%j0YJ
+J0Sa1*&"!e49eJ*hkS*dS!03CNJ0Y0j3"N!$JC-T+P")[*fAYa82!Y3DXT`T`"J4
+!+VJ"4*9'qLK!8$d*F@Ge!Jqhc-VG31X$@'Y)9PTk!3E4*#K3@-h!Ie6+qaK)&%L
+(%C*MDQ"92fY@!E6C-`!%`NK6IM)9NJTF5"3%P"$!0GjmP98ETJ)EF*0*UcjBCFP
+Z#T!!!"*)#aVVLa55fPFAA!-i%2'HhVBKa&+J#5$K1D51JF!qB&rmXl35J1Qd$e4
+!+RJHA`!)lB0[)Pp"`%3fc'BTYpV''A$h*M0MCJ'TB!D3!%[AfTNG%h'9!XBe&63
+"-i6Nj"k5%`5Pq5&#!Ml%BU`I)8D[RK"!0'4p!!q!*!$S`*HC0eYNN!#L#kb",fK
+l((PpeJq3!)`%A3"*CJFac`4mS40!CK!!G5Bb$1!kFa-)F*f[#3@icJ3B!eaRE%%
+!VM-*8$-AB,1`R"BJ"&B!!'!"3B#MNB#1U`mqVN@cUh-J*pG)3("Rrh+iqCCP&N#
+8)J5`8[X$qfUY)#!5k`0fS,41"$cHMcG9mMhP"Cf8iM'"&+S,1ZrSBNM8LpA,9LB
+I8`$b56k`E#'&URV4N!!F%LeE!lF-$fa@AVi(m&"EPYjU`!ckmmS%c),jdIkKXHN
+dZ3-&#%kZ*NLIJ[mTL2a"'m)SG"05!8PkS!RLB9H'!LA6-P-Q-&L1Q3#q0D8qFPR
+q!`X!6@pdZ!R-JrN`aYI9T`YKN!!md*5HXP*Qf-k##Ni"'+!"5pS3P08j0II3Y)C
+9dj95!V4Th("ae5)rl-RKjZGH!4HN*4(!2Y!!9IS)Gd*qQ`*E+k+fcB&Dp$hDJ(!
+c,A'9&J*G-DFJ8TmTLDXdNk5QP(URGKP)R9k4-+-fEDee92YR*X!N*h@f#J#!`,@
+Xire#USN!ppZhQlT4l`0D[DVIUJ[D5'J!eZ!%KbF(A%`UL$lK%+0%3$%%$CT!&K$
+86GHhe$T`J!S`35$5P+r*(VbQ5)Xj'd'GVMImS!Zlb95`N8`DZKN!U'!6I'Yh`MK
+4!5ai6G3k%ea0`YGC-k"[Q3PrPJj-Th`J#P""&1L1HB!JL!"K(4")!-''HDPJ%D$
+D*I5DR!!3,5@TJ!mXem1ih1UN#"ZpDdJ,Z"Lbb@bB3#U)",BA0THS1PRfN!"L((,
+@&C!!+#TK5#Y3c`Sa4#B!`"GS&ld+!%CME!VB!F(YiHadFl""Xm,QRqJ'mE5"F2b
+`rd(%hTcr3!VF[D5G#J)"EI-$qlTI4i&)R,54mY+@!LH0fIJ$E,ZY8d%MX$Ek`$C
+UbaE!Y!0"DM8VpI(9D1f2IE96J5"BN8NlTP*Y+A!'F#ACaYTek$9YEI2AYErfM4,
+EE6X3P-FL-!@-6ZJV$X(52r@Ra0Q2A3Z""3!Hi0K-Ji2i!3*0)fdK)L!9A))Xq!*
+TLaB50+mJ#bBC-f!&KP4rHM9jJ&(`#FFp6AEYV[N#&'B%))'$iQV'd`XSX099RBb
+R%%"E[QXU#0de'+[Q659JZ`[XXBN'kX$9kJ"JIE!cc'5N!#k'N!!TJ2(dZ01`*LM
+H&eNA4!0LJ,eCM2E'""!d$NQ")K!%"Ym8-!*GXp3SEL&p[2%%l!BYB-9b0p6q5Ve
+AB*XmhJHS"TX"-'#k(f'*-Nkk3"TS!p'YC*!!""UDUSY81%8$mJ&Dr$GX-TP8pRL
+E!J*Z"NV,iLa4aeX2F1i$IV`V%@A#!FalCp[+IQ!$S[IUBXJAh0KSEb@``Fh+20B
+&d)$HZA$K"!ei3IJZ2Z6E9U0[8kUqq40Th3Iei!a!cG)U#Si00-!%$4Q)XfmB,MS
+PXbLic%Sm--a[Ke'rXFRpKZ%6A(q6JIkG`T1BE08%aaXG82#X4-3l-aL(i86!JA[
+aIA#pCDXSH1(33"G3m2,5aBfi)j!!Z86FL0pB0li#S-!qm!3VFKpB!PF,`Y&0X0l
+CDQ!T!J%6ANU%Z"ShiLH8[1CaAI!-h1BNI`E+))RAJaZZI(,i$YI4Lp)9r#G4MJm
+-jF@#"l40fC4@6`!04$Q`DED[E3`%"&V`)Iji+rme)!#@6a`a%"!#j#UrjDpFNID
+mEi!%9#m3+1E3!"#8[(d!!k)"-1J"cmBG+#dpm-2V&JHSa%#if,L$[H3(J%%a&`,
+((!JNFfL3!*+"!$6r"i5Q-*,bReA,@6NTppr$494befH!#JMiGPSTX"@H8cAQqjV
+F`E&j"SV!RSHYP8+m5e3BZPMiB",KmK+e8M8"N[X(e%'G3aYfrX[Iq3@2jmcQDik
+ZCb!%"(VHh&dM,!lP45[`1%dXC4P3rb"!5I&i6VpC0cETc+B!eR$#ZI$2L8%@2%6
+m3"2j[&pMXe`a2a"JMN"qXh3UlY*$fKmk0Xj!Jq[[J*!!&mKFMA,J&4Nf2J0`3-'
+P`!ph@K`!UM2Q0Vi2hVK`FJEjHh6,J&V8E[h"3p3"`%KGL3#SMY5a3-YPh&9m(&,
+ba28"A+d0#1%%J4#3!$!'`-L6QKY0i@CG&cL$p91jiAT44qV1)!YbmLXJ"3ja%GM
+K84)13)&$j!p@&Nl29lf*(3a6heKAR38*3`%Z4[3k#e5EYrhNrlc"c-!9E#3"N!#
+',M'cp!F`f!+)GN[jNdllX@%'KU!"@B"(F`RI`T--!P*!IiiR'%#*AL"VLS'Z*EY
+SNkcU@L,!CUN!YE#jEjCMQ!$'Nh-(!"Q!U!qAkli"HSCa4iB$ehrqNGTX,l&Q%SJ
+0NCJIU!!Ah3,8qffh"1QG%E"hIX!)EMXLL-6p3"D`praqfkPj+q!(dR`NYAGrVJZ
+B!4[!le"J[pY+CZ!&9U4kGr#-B%AQG`FII9Y"2aJhFLJJG-%!r&&0'f[#4&h3P(6
+iRGD!Q)pI*UP&30E3'ULlYed6XrN(rA-0!B1raJ#iJa6k2#5JaJ1!CZJ2a-$(FLI
+mUHGpJCS(!$T"[T%!AfrRpEbrC!3kcGG,4+'J$+!!*iq)D%Z2rr([6FJ6H52I@C)
+mcj0#jP)#i2@!F-E[J6QBYd[f,4#"`@I5rp2AiePi#"$SPNk`P`"!+)"4r`$1$aF
+jAq5,1Bb#MYcK"rb$IN!')"D3!"rdG4i)`#RpSq-&I6mS!rrZd2H$1Lm'i*51[r&
+PS)Ca"air"PJ!PIF(8,i-9+*$$qUYr"LJ!'-qCM-i*)$QVa#9r`IK!!JFH5qIF%r
+#V''0L&[[YRJB[bcpJC9l3kpqQ-Z61Km)rRb`Pd,Ii*i51#86k5NAf+-YRcJXkIK
+qb3mJ2CAR"j!!$8DCU'ErpHUm(p$f9*l*bISZrfYf(ZJ6!M*J#X!'U*[%Y2CVi[9
+LY4qiJlrfk424*bJ$*1$BHf&S!!6U[!J`pU5qj`N#E3m'E)#qr`2m[Xk(J$mrlIr
+3'"MecPli`+P2hr2#!ELAp,&qeTGlb',pB)--@2F&L3$-)%&Hbbe"3hF$0+#G3i2
+@DJPbZ5*041P@LIjbPTr,+9`$1!1$IHD6I&dH&hf"(q)(K1HS@b4BS2*T2K"3T$M
+GQX+!Ap-'1)!ec3'r"NZ92Aq3!!l%1B$YHG#!XS-")f"0``$6GrUEa3a%IFlepDS
+qqZ-(25m9D(d4B%f$!00h!GE8b,N"%c$ecIl9Pd,*J,+2r*CI@NeqDhAS!GJ1j%d
+#-2A(d2JZhq3dep-$)8$+ee"@lIX024bj`,krpeIq(hIjlJ3#a(S432PC[M4SVCj
+JM4aj#,$c+(YCAiTciBBDmf*1d@fjdArjY#AG"S6FV[0E[LkrqE'Yk1pm#KFAa8$
+*VrbJ(r-rQXhIq3Ajjlrm3@$dPrk`e'l4dR!#"mbP%SI+e5r1!3%jPrjZK9p*Jd!
+J$9*b%"!"3!!P+h4md*hq!4[BqlVIpY[mI"b!XqTb+ip"B-6#dUrS@p!"imGBad8
++MEVLE`NXIqJrqTPI)V+S"!6U"rrRrq9b(F#cN3lSH%,!2j!!$Z!TKY)KSJl%9$S
+H&Z!!3S!%J!6SXHKi@F!&@''3!!%DS!HR!BTm0&rY9r0T%`f!Cf*0N3&6$Tlb%'N
+"pNeedJqB!T6GTZ)*i(5Zf#SM%+aS!&E&%3!i!k[*(e*UA&kF32Th!ZBQ5`EkC`,
+HIMkJ)2$lXA`()!!ir!%"R*mJYrFGIk&ImYGCN!"q33$DSp$4!kP9#aJ3m!'D5#M
+!#d!ElNA3YiIY!pPFUF(0HA28hcKAcK&hd%BC+)AJ!`Y#Sk1*j!2q!,6"bl90lCB
+lT!qS!-c&0aI1A5caQ'bP#$3L0)8FQ-XT!BC93+"X+)+-)$[J#"*HSKb1-XYC8`+
+!'!J!k!'D5#"3#D#"l%Xle'i4(mb504$p+B+')$*RrFf"T&`SH!IQJAD!*[,IqB&
+-(6CApZJ$Ef!V@2eGIif+BH8%k))h5LmB"lk#Z4`GL+2!!0B8!G!#SJ#Ki#MSY*5
+#qj!!E#8*l)*lL43!"i*cVL!`5!G''j!!hprR"N!!8S$jX`[#!J#@,!IEPA`0hE2
+L$jJ!jGV"4Z,S!['!1q"LB(0!3Jc!"jL"!)"!``1BJH--2V!+lJ26(cIi#mk"[)!
+Sb!JLDb(&16CLd3@+hreRSJ3%,4mH!XcPFSm'M&)25"b"3"i)#R)(V-!r8!q)!AU
+"3HI+YA+eN!!8U2P4J5EKVb%0I#'LhaDir*8DTb!*3`3`&fK2Y[DDh!1"i$Mc1ld
+K!pT&#!3iGrr!2I#(")@ZA#j(&0S$T35dNa3bG*6)3bGCG(a#`""!dN&GLjmV4pZ
+`34CK8UMS24[eJ0HLd!%EA5%Zpa@+K&6H4KMlR3(LJ)kAQJ4afS#1P`#)K'H!jY3
+5mJ-SS@QM%QjqGq&,@!YTJBl'6+J2e)4pNcL!%pk"1L'c`41qIlV!2B!&r$9)S9P
+)&"U&h8aCq-SYKD8%)mJ2i&3-`%1R"*al9Q&*KlMj!r+!4(MrNAm#!5X3'Ejb&%j
+(+""8K,r'@*JA#RmVBID(lEPbIU&T!aKbJ5pACbJ3l!2q3'mN#ri$pS#8C`Zf12D
+!ldF-%SI'S%&i#Cjcp!"Y3`J%IG(K'1JE#J$!SA*N"a+(aU%E`!F5KliIc59#F3)
+$B8%BcMf(cdCd+!43Kf!!$q!E%J$C)3eJ#dSKaD%*F"b#K`f509Mff!2Ci$Ci(L+
+$jPak'(N%J8aK[j,4#6!*9'P&$j`")&baB3p)'dR-rI-23)L1P'Z#Xcd6d`RBFf`
+B!kJ!(b)"C)Kb(6%J!CJZSmXh%'k0IljK!*!!(5)!0idCb+m`50IKLRM6L))[iJb
+$j-#(`D%"3#$b+p[DDc)2Y&Y$5ch!#%#'PU&5b'c-!dGKN6J8-K[b3&-SmMf&[`C
+RL16i!bM2qaH(["#KBCXR#TL'lj`SYrK4BpAF[1*Dd"5B(3-3GE8!XT8Km!pS-a*
+!Q8JQMSR`!*T)%+k*dNBmeN)i!-l'2k"%q8RRA!K%8r3!mmmrB!h8LIc93[!2'!0
+eBUFa6E#)8JM4jbFTLRM%)F)'2BVZa$5K!"`LUL'Pk'2e$)H)+L"YZ%"hBTk)h6"
+Ija`hm#N#LY6%2k!0I)U&SM-if$&IN!!LSrJ2i!+I)U5B!"`LYN#Y@#Nk$)F),3F
+VlSS,`#%L#j3pYS"KK!ZJ2l+!B83,D"k(5$fh8$%Eh-!K3JU82D3!1[J2f!*L`"2
+f8"Q,KiJTS(m3LmBLqN-++)Z3!%fh'!4L!rq!0*!!Vab+ri!Z3!5'LINK'eMf5!2
+0iAm)$*jce!#$e'j*!qF11P!HqS,Si6p!$C3pe)#eD!kB!HZ&JKJBl)X%@`#!,,8
+"'U)Z3!bB2Qm)L(KXG!-q3#%brY%ff!$"D#eb!f8!AP*X&)c-KMB`"V`Z#L-*d'j
+4!`cMKDJ&@)`5)`$!dX#-h!!qS$'5FV600HJ&a@S#Sf(%$H`d`3"QJ3SB4M5J&#)
++E(Ja"V0"$8L,e++eL#eULq-LXi%,4!2-4Z0M!B#,8U1i5#i#!96M2r$%C4h&aY(
+B"U"p@SNiij8)!EHF-h#a('I&KMK`brN#fCmhm"+fLhr'#e"8M)fePb$b#j!!Jei
+LdXK3TB[@SLZ3!,q82Db!BH3+G)h5`#2L0c)EdS#ek"q92E#!BD3+l#8$!H))l6#
+1-%"lCa)!!p'!+#I(&4Z0)l0K$DL$A%#GH,XG&+Q!+[$$,BJNJ0!bHM@-J!$-+!a
+i!hc)23-abRAEJ$A3TIe@KeL@q!Lp-[EI+C!!#K3#39L'"`!8D[X!2b"3j5%['c-
+K5JJ!Ub-GdjR*!5,-"l"&,#3+)KecXZ`$rBV#Q*Rp!iP3"A"jk3",@b)NX!J%(%p
+T46fHDm"9%6!p&PrYirZ)EKJcJSEl@&VP@S)'q9KDk3(!PIki$rJ"r@0RpVEPMpC
+8-S%!D)q'Q6h3$!iA#13qF!pB8`R(!EQIEBri`2*SH-dF!)#TT3S!!(m%0#%kZ!(
+bBm[KA0Q2qi!Em$fP![kM#9Q(T!)j3'H'2l+3!,30EV82V)m,`3MCQDQ3!!)"#RP
+$VRBkC'Q&3fC(,H6q#&`&NIrM%2QQKC!!"B!0k82bN!!Tj!RC4+k3!%6N!-P#hQ6
+Qe4-!"Aa&KmC1FMq+-2(M&SPZ#!"Gj$jJ"f`Np'-U3%+1NHM'!e)rZT!!m1-DZ8A
+L)5-NmZJ2@*!!c51%8U%X3mJ30h&0l"m"`2CBT$"NT9@4dZ[dNBCC2Q"HUALi(U(
+Q@ZJ@RCNH`%@kNIZ!)rP&KT'1*"bj3KB"CjX%ZC2jNHD9kC1%XAZGQ4r`5*U4SH4
+U&dD+NTCN$PN%&'Vm3"!c$*8Tai4,i!&%%dr'f(Lc2"[ERR2!$jJf8%$l3`8X,-!
+'J%8&Z()l!"5!pN')2-Z4"#%qEJE@Vr'iI5,1T+@i6#k+dq4,Yed!@)mErH0-fSl
+m3(AL$P!!I)J&B!!i6"!!,JGJ*C0p"MCCB&@6d'5i*NfUNp&G0'P09T2DC,M'6IS
+"adBli!Z%Nq-N39"1"T1r"MV*h-Q6cD3lD9C8Np-E21RKbC1eec8T6pD6rpKddJq
+3!!,j*"V!6j+6jQ4!QA8SNr"N3IP-)T69j%*T8$D8p13bb8eD3VT!1b!"A*6qC%E
+*$`L8eD4(fEU"P!TP08P5`T-3THhB$hJrZJ!l`!Z%NqE9&*!!"'J"LH3F`NVZ2D@
+9)$"+NT!!5Z8N#8NUPDPN!'"'QPF%82DcX[N$90dVQAEP*ZK+!%!+#!$!J!(!#3!
+!h!3T`(BB!*4!JQ-!3!)'`1V"#"J!1J"faCLT!JdM+5$6&3&c3F-S#SJ`amBkS!T
+iL()+0S&pb&DU`,'"$X!"04-f!Bb"9aGL$U8,P!23J)XaRI`$Re)8F'c%!eM!Rp%
+`DJ-`BbqJ"V!d5GaJdJE`DriDc+J,+!00M%$!AC8$NN"SYd5QN6#N*@%2Q#%ASMa
+`E*3$GX$'TV9K4X[KeRB-!S0#!"43$L)LEJ!,d![m)@@!0a$dq31mT5)ip3'-!'*
+`19b#HQk!$6!+IKl+j@kC'Hd$eq$A!ed#Pm+PeQC0(CIB*43AYT9@KN$UZ0S4E!+
+!A%F1L!-`Q#@a@,+ANCXZ3!j%PMI8d&CCGQET*Hf$AUB#X%"RTJLNMJ)QJ0QC53)
+%CQQ&B,jVSkA8YPlLE%(-X8%1b&ZI&cFc9l+A5X"GQ9G#Q%J!AkN,M$U!TCT%!&J
+$V0Nq3!X%6r[!ZbE5S!2("Lk!'a%KrJ!lX!r%G)6PX@%1-!1**3(!#Y#@5B&NB9q
+b!0&ED9A"S(TI*(ZT"dLB&N"m#3"J!VjK!C!!(9)NTCAZY-SG'r+!Z2%)2*K*J5&
+`E)`$l)#5k3EiKJC!GZKR4*QGQ5G!C@S$e3f@58eB6EV!1#!-`'"`PAlTVjPaCHD
+j3`MJ6UCC8N"AhSl(aLjJD'!8ePD$@9VbQES!,U$#A*Pe#(Fe$[!"VQ8*b82Q!0h
+*!!!1G"UP&5h!Q&QD)Sdr!0RiJYb9,B!,A*J3jYk8"mad6%5QfEkJ!qT!L&Pa$!#
+J!)p*683hE5B))&R+Q9(!A$NLi3)eNjKAC%+BYU8Z)!l`!c#BBT5hi@`$`!8Q$UJ
+$XbCT'39%QRMEYd+`$3$eT6LJX6d#L3LM-`$S!0-*2i!X%CYb6qV@+$bEH)#(L3j
+`!DTQbr%KMSf@`,1T#F!DUTZq4QaL!Z)Q$9"Z#J$U3*MSpV3"r3![m'cU!ZcQYdP
+XRPpEM#k!$U!&'-AASLB*!2VQf)J22*ZFTEGj(6bEf)#(H3l3MJ9RB#N!8!)5jFY
+)E!iQ$UHl'8lJ!a+R,6"[XJ(CCR8L$U#@DC)2+(@0M5LP1-"pTC`#!6MJDK)!F*!
+!,K!1-!1c*Mq`dib0eFNm`!DNQHfG2*!!#QJ#`"A`0VS*",+!4-P6LJ0m3')C!1b
+9jaV"4[JG'q%!)c"VlT3PjlR$!J#Gr3!9-(3@R45F3%!pYRFZ`0F*ZS@GP%QfL8r
+kQQ%-c"N!a'%kjl%K$Ua,EQHS%RALE)XCeDN#j*`l*cq`GXS$bJ$3b3m)R86RfER
+865j+*p@T$6LGfmX!)(@#!FF'1)"XjTGBjpMiGbS#A+IA@AMqEQ%R!!!0"%m*NGR
+*H5je-9ZB'(C)P"5Pc4Np`C`!!)dCGpUFL#AVD3R%JhKRiD),J!1!!0q*HP+C3-+
+9'A5+RNDReZ9XiTXmCC06-eN"Y+FG!3P%RN,!e5N%l*ldS$L3!(N#Ra3F#K!mp31
+f!2@T[d8U`kBGJ3T%RJ5!RU%,Q!0M8N#!3l)GH+FcF'am!eeQFc&qmJ&JJ"9`E03
+#*8JFYJr3PALR"C8(S&G5jjN@F*B$G)#UU3,`D#JQ,("Xc!*NcrETm+aei*9X43X
+F'l+!&b#51$bZR6B!"q&CReaRpF00,9i!IjN+Y!,mCAXN#lJ#r#@XF4,3!@,!4S*
+ii'`0@#U`#RLJrL8ED'#@9SU!#!UEdD!**N%iJh+A)LJEF'$QS!ZQ(m+2QD"$!!U
+UJZSDQa-E'$M*S0E9"h#aY#@CB!2CPT4@8iZ`'@`4E!9!cHN0H!&3b,k8"HJ"TFB
+C!+HKPd$8&hTXa!)9QAEC@hkAjCad+9i@Pq4PFMPFRD!T+,TK"L#KN4N53"!ZS30
+Q%rU%&N`!3"ZJ!S5KBbK"#%3*SQFS)+H'1TIHj@rCKSDAa+9eL9`UPkJE(EU4#"U
+[Qf3Q#5bK#+BI+SAS!i"S!!#'6Lf&U#3!4)QLCkJ2X&`fPpcPFqQ)jR*Z+(%*!-5
+KJiVe)rUJ4R3"a(9XA!1"*J#J$'#K&`J1aJK80d@E#RTX0!0ljb1Jqi#2T&e'N3Y
+-E!mLXr%JjNAY!'9TB@`pSmCr!V30!1P!+[!,*+&iekZ"j04'2L4'TJ+!PYZS1Z#
+0*U&b!0X8JmS"'*Q$!fL5GJ2!1V#1jU&L*0[daYf2ZfLU1BpZSqc!25UCmBrLk0,
+551kLbJ!kDQX-!1f!3+U(!T!!"HPS9&UYRGI!ArQ2,U6ZJ%1k$laY"DNN)%$ZSZc
+A2`TV-""b3"XJ`Z#K3-JZL@)'G[1!$F"FJ*kMbcbJ#lbNl4fLT3[-!r`!6FS2A'$
+fJ!*!NbD2Pb8I)%iK'bmMNU-,("Z[J"C`E&J$*X"5+SLGE1MB-%K-%!4k!!Z3!!L
+d!"G!#p!"Y!!M3!Y`#E3!R8!,-!Ui!1I!#e!-`!#lJ!c`$Y3!&8!0-![X!)1!$l!
+(!!(G3"!`!MKD4m!DF!6F!8G!+(!%j!*(`$k!"0a3S3!5%!iJ!I9!%K!!*!(Ue4D
+3!!38!NR!+j!!"%`$@BN5-,A9!8V!)D!%K!*+3#kJ""3$5N!iS!5d!d[!!l!%E!"
+,`!f`"*a$Am!5X!BX!DA!%P!1X'T-`#(!"-3$6F!,d!5d!8e!)G!%K!*03#[J"(3
+!6N!Rm!6m!RD%!)1#"!9%*ak3!0Kd!Xi!#m!$6!(P%#DP#``!%Fe-%H(8GlS!!-!
+(P$KE)Q0*DZ%ecmTLGJ@)-#+!$[!2+!013#fJ64aVamB!3!181+j!5'&Z3"Xq`*r
+"!d!"q)!#i!9N!GS5$i")UQ@laJHJe)aE*-!8J!")!J$!!4!B1$bB!#L3!!)!U#q
+!J$Uq-3%%+S5U6JKaZCc$J`93)"r!45*52!#T3$*!SI)!4#AL!eb"!L6!&A#LUNC
+d!5B+!P`"3%*AN3!J!(4+,5)$B!0mL`c!m)#4'8!8N!!-r"Ul3$)`M'!Ef-D,HU'
+ZU(N&#G!%J!)PJ&B#*)J$3)$A3J)d!$)!"S!!"!)'&!&!!ULR!N!e)!YS%pPS3*T
+Ye!%J`",38r`8DJ!"B!%J-R8!+*!!"PJ!E`*QkP-!&@lU),"T,!%3!+ZCb+'TAd#
+@5J0J!$66&6#NYL@"KPRR!J%EJ5S'-+M#!TL!S9TU+!'*UK2J!Y%NMHUM5RJS!(p
+(im(["3(`!$9aLC`"LZS`m@IX2EB%!8#4$"F[`"H`%*JEk-CjCJ+`(8)!-6!-6"-
+U!0Y4"#!$a3!e!&HYKd)!-"!-3!-65!A#!bJ@QmDTqJ+NUU[U51+U,QER3!``ZJ!
+!R)"SdPG-*@LUXXUXGMbYkUXDV8kV%PX!B+dLUpQUl,5YXUV2UVNKV6Sm2P%&FUd
+QUqEU3Y#XGU[3kVVDR6iCiUUl5Uk1*@S!"k!%"!*U!!03X4!"JPYhZKF)EL59&SB
+[$+`)klqU"LJ!"+[$-`f*)A@!#c"UP4+b!#!`"KJ!&3S%93I!!SH!'-!!!!,"3$%
+R1KL%)B8X%,*U!0b"38Lb&R0)`"%`Pm5XMN!`N!#Aa+aG9%JKU`B!iJ!L)!iN!LU
+V')!2N!#X`-!KB-F)!m#!#q"i(J(1J$Gh"%J$Kd#Q*`N)!Q)!!4#aVNa9+MNJ!r!
+!U3!mF(Rd!`SV'V#eDK4IUa[Jm(!"BqXmm,AkQ*h%f%S2I+e5J%`"!"!"8ZUc-T*
+B9DD06f%+`!%-!$N(#q!#pp%mi[#B!@0V5Y+GkJ"MDkm*!-J!DD[$S`+iV3YSAK&
+5X"qKJ"&JX2'YTB!(`(k!!NF!$)#@2+2*J1IU"13$)!"lZNF%!*@V#0"#)!#J`!I
+!IN!'R'Y)d4f`%m3K#2!+U"Te!1dDMheM$dJj4ff!!1UT1)"9`D,,Cah`mN3"rHP
+rULeP3`F!%QUJ"J5Z`,K&SGBQTB!*X&JX!#M!!#!&(!([`1&c"1J!2Si&3+%bVmk
+VdS))E+m'!#%3%2`"rN!9S)'P!PNFF@&*I%MmUArk$"3"QX!4B!CFFkaQq9+E"%J
+6J0+L"B4)UB!NJ!+%D%Z!K-TrE"S%3#M3)#%!5XYSmIEmVpk-dQ)$T+NJ`!"`,Sf
+["1U'DLTXVlQFU,@q!L+mT!M!"'3$`!#'J@e%!Ff!UTJ*%!-Q!"1``++TDQS4i&l
+3&@J&YNS35"J"`6L"6B3J!F%*-N`-&bFT2&"8&,%"J"'c3KUa@!!55`FJXIjJ$QR
+%+J0),$Y3a!S!XFX51`#FRedV!5!0m*!!m%!)!!D!X5!!brK&GUe%!$J!aKS")1F
+C#`mm!D`!'%X%C%0ZV"$`a,Ua4`!0!-Db!*)N0B('$NpeV"N!aPB!K!!BL`&m,Qk
+X"@!0J,%A3"EVam)$&`$!qFJ5"#9'3+!!K+S1!bEE@F#I"JB!J%ML'N%"lHS1@"8
+*J$0`HI%#FQ[NeNjN'1f%$b#hbTrY"&c46P#8l861e%iS8CNUSASe(+U8+UPUUB)
+!M+UJ5UK'UVaXTAUTjKA#,#b`UADU"X#R'US'-GpBUETGD+[b+VHDVTiEj!A-3k[
+DUVLUVXUVqUT)!,!UV"+VSXQaLUfQ'UKU0BZZHU[f+V8kVTkce+bUDXfbXq#U-r(
+1`U[TV$blcYDVdfUl#J#mUq9U2MZ[AV2Y,,jkcf+QJ%#rkV!+V)"!a'U`AUd9Lm0
+M!6#X)BA$#V%@V0K%4&ZaAUcr3-DkXADXG5V)+V+qV1(IGa,1TD`VDmXDcT'd-H[
+-HJ68V$IV%C!!XpB"1f[2qV-'V80V-&#d(Ue*kp,DY-DX8+[85V9DV3LVm!%'N!!
+$`jS9d!ri!UP)bLA5'!1%Kcp!$'!MEJmFGPX"U,E'"k"k[4Ti!-3QXAd"*J!5d'B
+Y()"2T0Nk,J!Je!+`A[*YdQJrjl@&5+[G+BJ%k!%$!*I#E'5NMJ"`i3hS3i5'IY2
+2&9r(9bV`Hrd$m3#2k0-S6UK!l-Ji+Nk2C*X'S2CcViNdS)e433Z!iK4S(%l(aJ2
+J[LdXUf,*##3m2!"!GP9HQ(Bq6GldpK3ELTK))``d0NbY[Z),T!+SJ2XU`V4E$NQ
+aS3eNYQ*8A3IN,E9GbLqJK%`jeXCYU`Xm!--'DSYY$*IU`'1E"b!"9-"F30[LS3[
+,-R8'D!$ZUl9K$U3#dq)(i,l1&[k!-*!!#P!#@4!kf0fH!BC!L25DD!1T!!DJh#)
+"4N!5aU4q!Ef'2i!-G'6J&E%KhfDfp)pmkfci!mc!XX(IqPX#3'0M$*39XUd,i!m
+JLL)0-r#2T3)#32P9*#@id*a8DpmkPJk!C'[J)J2B"NU$f!)#)9*DQ`T8!!4XB@H
+#PMlaU32JBK4IH4N"F1Bp!SH60KEF`NhBjYNK6iJdZ8BNd!ck!p#!'A#,V8f*daQ
+3!0LkViF65[2LkJ)0!$p3ILdFqiNrN!!iJJ#acKqbfSSddd"MNid9'l@YURKX0!$
+8`'RL$``$5Uk6Tq4U*j`!!DYJG(E!V@elj4)jQ`8hNq0+JPJY$l"1H%jHEC1+"04
+P"P4!%'"+Biq49*[R'J10M@5,K3N!(5+JHCaJ!XI%(9&L%"F'"MF"T`NeJ`"Y``F
+B@BfZjf%2),I5KMC3h9+jYe!,J35J!Uh!N5X$"(d6)!X3K8djPHkP5qU+BCSZTh[
+NXKZU)T!!%!Xa!F+("0MNGVH06C5VfVUiCUiZ`!#S!eSZPjXi"Q#CCDlEYa+`Ji#
+Lp393)+%&r1G%%"1j(Mj!SIiNUF!&S%iJG0,'@J3eq4R&J5k!!!J#eFhK91fqF!`
+!)G!QEEKRbEFVR'JLlZYP@pTPP&,2Z9[Sr9TQJ$@!JA`"iK"[-IJ82S8BG3Ta2E[
+rPV6VK0k"NFJP3X,-ERH%N!""A"J"%)SDF%b`&XN%JQY@Q'8%`3-JE%3LTb1J1`G
+iZqh3#lF!j)YKKraf'!NR#`!aF(p&)Zm@0H&XZ34Ue4MBJ#a5!e('#r+DXKl5IY9
+Ik9d"PUNE6*S9c+5jHf`X!(b!Jh["ZKC#"``3G&!QCJ*S!3Im!F$!(b%!p)DS#A&
+SXa53!-3KF$0F",e$,jNbll)d(J#cjUcYF*a3h'S&L&EmVNDbK%#hc09QZ$i"!Fm
+ZEj@lrEZLeFK+5VJ"N!!)FM9R[5BYQ)(V$Ld!C)#@Z`qB%Ur*rL5N*@cfE@q9EBK
+[8i!8i"9CN@6@Q[Jd#@P-d#+`hMDhFp(BUec"Ylk'@1,+Y6T@5%!3jP*I(LNHXT%
+BGB0*@qXR[E@HEaSTeqS"hUQLP!Si!RQDQVCmd44!8J$J"G51&mYC)mUK!fH!$4#
+)@"[S3(TlX8&Ni-!p1-A4@@i2kRZ,d30X@l("BPkRBBUfK-(T!JS!%P!UM5'1A4-
+!ESJE,JLr+p6iZpc9!,"$04I*'ME"@cKVpqi9-"C4&Yd-D#(`0SEQ3$6a1K!A9!#
+%8Q)-""9+-S%%m,YdPVp,m9U+h"8"X(0e,8+&dB[d+Vf8R6@9QU`b0FaQ-3"d)Z%
+Grb(ddP[K@ek"p6*Vebm8`29+DpFD`mE@kPe#TlI'E&"VQ!!Ui!Q8Dq9DZVDYL@[
+L'[*e!LG'lCU+q3r%Df0)%E#D23&@fU*'@6!$ViNcS#bj2R2!BiX($!!DN!!ZF+0
+1E$b&+#F1Y$ViA)-ELDK&RT%TL'iBAdm`mP8T83#F8U9N!B"+NDhiBh3G!NCA3!F
+kSMr8J"9JcNNKhJ"#C"JYR%B3CZ%0(#,J!($KY9ipr0"qf!)G)[*!f3-1")ek)[U
+$$q"dJbdmF"6#Emb'Z`-#54[L!$h8H0eBJ6!qj+IT0i5`FQFb"F,dN!!hS'B3`[5
+3!$3!Z9(#5Z0f33J,(6!3aE96Q"Ii!S#kpZ39i-91)EZ4&k)`fr1qQF+c'`U3!!U
+6`S(`+9cdlK6#"6Hae%$#Q`@GbX$Y&+HMfp-1S3,I!!"h!-b@Gqh+QbFQYmk[1h&
+X(!$pl3G`bmdd8SJj30Y`!@@21k!1((2!3$PJr4R"+frfT`j)!Z9F#'",d!""(c2
+JX6##kN$NNiL4!FfN1U$3U32V(cS`A2Dh9+ikE!k3!!%*m(Ea$c!$EB$m8@``!ee
+M1MIPf-0P`1DV$1X#"i!P8Qb!!j(!AHZ+Z30X!$AS$S5p`pGFH`#S!BF6Bk[0-8l
+@KML3!!Sm6UZ`1(!+Sd[&KJkm,,50#4GH539B!BcTS*DVM54[8#T3"@"[*!!UF0'
+i&Vf`6BbpX3!f-C!!C!!mS(%)UFN5hdmlb3+3!*i-&`f,@8&rZ@Gd94PNF,`!62&
+'BV4e!5B!8L88Ym4&m9'-!-4RV#Uf@q*B!,L6HqCYP9lBDA96&DI%Fm&3l"+[L8f
+Y9T`8-`"+#bj3h6,&`0&0Trqpa@b!$6!A!`LT3"KJ&kq*C3mkB#hD(J'"&ccPe%&
+2"E1"$V!"K*IbDaLT!mJ&@b8$l-AP%aaeL)KabZpJ,"H92HS!BQ`YSJ0f4f$m'%I
+',4XCaG&`!%M!'J"S,%lhK(['%lm$P(&Gl!bM)9(a&M%'3-A[@9iQ!*!!!Y80XT[
+QUF4UmBNPD8%!@R(VXbR&!C6adh3Eq9f&edfU48!6%JVX3&B#!-!%G(F3d+QQ3,B
+!!0J#!!#AUJcN63'"-B!E4bV0DaI3KId$H4Pr+eQ#&UQ!(1#qTJ*dJ)-V!56(Bbp
+Z"!Y34j)Y8`aFG3'd$@`@&CI(&j[kT3LXafC&Hr`HamIAehbX,6(&bV&pM"q2arX
+a'!!%d-GQa9`,!$!$i9%@&&04b0E@f9&fLNIR%SGX(-PFT9Fr`!j)C2NU!R$LAF9
+%-6,L@U!#KDRM9SH)-#V`La`M%l&Ij'TA)lXqS3"D["*Ma5paR2'M&8eSNSmF(!I
+*C)CX9c5"!9dDLl`@k`2DEbT!#[fl[iBe4DGk2%V!T3Y!"8GDmUAiLIE&iDhjF`D
+`!&fbE!`K3J+BQbK%"Sd"%')[r'hpXlL8"*crm"DpC1L$'N&G8()b2!T0Zp,HG,I
+kC-PkXQcF*BmpK*!!Y6LeN!$*JA*`"#&#!fRb6l)QYmR6K,Ier1),F6+p1bFc3%&
+!k--M$@VUd#F%!fM&2i"l"J08`HiCE+%)a-E"%ES""i!$`)!4-*IJaX+*!!!0J#E
+AX&qL$8-$Ld!Z*`+SaUK'"!!0r"%d!!Q!pLl)"l%!F,dY&V`b1BI3q3*'3"XJ!HJ
+I3B!d)!8S!ZZI!E#p-XX"4be`pC3"-id5m'Zm2,Ka6D`(2%fS`(+V'L-!J")B)!9
+!L'2KqNF%j#AE+bbJ'SX!E-#ll*iK!0#!DZ`"G&&'ac"`'Zmm-S"lTJ"J!8&!!i-
+&4$DS`#5J'8)#LX!L-f2PC6l)Ad-#!&LDS6U-"j)#fM*2*`2!!2Gb[Jbj"FaUaM"
+`$!$-!M2"E$!Mc!TcBD3),"4Q5HReR[deiA+j$#XI'`%!0G!&Em()VQC&8K%q0+T
+*e`p%@ZG!8D%96maQK8r#VVPRBbiUJ((U+h52*T!!id`SJFj%Z,4d'K)!c!ITL6+
+hB6pJj%S#Y!dUm$5hAPSc'G!JD6N*N51!A58&l0$&`5J9!Nmc6I05ZK1Zh6X`rq)
+42XJhm6$&[qK)#i'1U"+mA)#VVia+QS$Ad`rB!`T42k!2c"Br-m,b-bX9JB"Z3DF
+!!83H#B!iem&Dc[QMVjaTZP8r32G-!VM-Y%`efa1S!#+JlTe,RM2F$$SI!U1c!Q"
+d)3+IaKBm,HFPkYi@&)$K!&pcCX-2N!!"DKEC$!QBcGR9XpAB-$+JFb'!l*jij5q
+T@9#d%qm%%M!1c"2e"%R4#T`$%F8r%9!-&''!1"!'J!0KJ$F3"R!$BB!f%!CJ!f'
+!04!'8!2a4aJ!$C3IB3!cJ(q%!FK!''!-K!(q"rN"$)3"[X!!BRq-&2L%5B&5K"4
+j8d[a"DJ6$ZaES91S!h2&9$*6J!0c49da8eJ$Fd8*i!)NY!r)*D"6'!-k"6$J9qJ
+8Z)"JS91i!SS&Br%rha51"@3a8l!Vb%3%)!!d!!*!!-"fY!U[!PR33fJ)))!9S",
+)!#Hd!%!@`!&j`)3!4i!!A%3-i%AJ!'D#$id$j!!MJa4J3U`"P%-@8!CN#S&",Q-
+%-0'q!AA!"*3"C3!+M8*6!H6"XT!!(3!'RS&c%!C3$RD$$J%(P!DZ!Iq!5$J*I3)
+)J%,V(Qj!#l""2!I[39m3)m!"4!)Fm!DJ$F+#'Pe$9`'d!Rm!"HJ0-3)4X!5p!@R
+!((!#i!C9`K5`"Z!&cN&C8!HX#bJd&'!4h!R,!KI"4$J48!39S#UJ!EV(Ah!'+!Y
+Q3Q3`"VJ!9V3!J%8AdZm@AU!A&!Cq!@!3)H`-kGCLd"Jd%"(#GB!'S0"5`"YJ0mJ
+"b%%6J"@J$@l!#E!Xh!9j3BM!3C3(&i%9d$ei2D8d&TdLV!(,3JV4"-J"e%%43!D
+d!CQ#Dm!%K!(#JdH`4C-'#%*J%"h3#6N##Nd(S!&h3e83"[!3[i*KJ%C$#1GdI)!
+IR!!HA`ZJLLjFKh4K3#G-#')!41!NS0"c`cNp*@64PTPf%!Dd!D4d$Cd%R!Kj`%2
+`EY%-d!2Pm%B["XM"HA!'5![Kp%$G'fc4RF&"E5DJd"d%HS!f1!jP!(+!5)!!Di$
+ZF3HS%9G!Eh!(2!5J3LC"+)64)IA1J%DR%#Jd1LdYp!F9`@H3!#)de)a"K)!'%!V
+b3I5`,2!*Cl3Cm%JRe,Md%Ce%,p'(!3T0"*3"DJ&eB#)Bdh3d$$d&M!'PJC,3'q3
+bC-FRc4Jd"ZU"Q@!%5!%Y`!a3!k$39B$@)#[3#M9%RS!e*",UJG5!'3J!U%*93!I
+`"QE#&4!%J!"HK!qp9JX!H3"8cC@T!CR#LM!'#!Yh`-j!(K`'GV8,i#68!DAd%md
+I'!&50"8G5Ip1e)%3m!EJ!5!!$R!$$0%Sp"6`+dJ'&S'R3!%"eM6!$!!$j!!S0'p
+3"J!"G3!fl3DJ!E@e#d!RT!L2JJ-a@9[4GN4dJ8)2!Bi%44diV"%N4)&!&R!3rV3
+F%%SV#9De'@!'V!a6`NZY4f268`(J3$PS%(`$!f%9(!Y[p@@`,&c93m"M,5q8!EN
+"'l!'H)SSp+1J8@-%+B0K)$8N%QS%&Pd'f"!3G@%JA6F*Bi0mh4M!#(Sd%X"#J`!
+S3(RY6Sr8*J2+S$,)!3V%Rc!(Q!RkpA4p(S`0E-1$V8Ic$a%fIidF'!CCYA038Jr
+9C%!HE9ml%f"NiS!k"!BSa4b3!!I3#G#"(Ve"P!d"GA0`1R!1Bm0965Y`%)q$I)"
+'Sp!*YQ1`B&[BCr5b%!!)!%G!(I!'#!&p!D'!!X!'#J4+m5H8$f,!cQ"#D0Gkp*!
+!$38B"PN!K)"5m!p$0T+0"93)@rC4(8H!!"af%I%FR00PJBL06PICTM3h(6b!!#R
+fLVdDI!B[pV)3Bq-'E[EYd$KFeHDdBe!Bh!Q23BqG-QJ)3$BH6@),!3YA$3"Rka!
+f![m3CG-+I`2B3$QJd%1f&S"ECpRm`CBG2C!!f!,)BD!%P!D,0Lap(4c9EN#(I@D
+$f(Pd+Fe'S0Pe!(1J89-1dX,G)#qm%Ba"'EeT-a"M`"S3"T`"D,5SI5,%dj1f!(!
+(0!R90D'3!'&2f-M"PA!B8!@mYS80E*X0%319M8+Vf#af'l!X20TSG*B36aF+"h9
+[B'!c"L1eXRd'-0XVJKipBK-53r@Xd"p3d6(#19d9D04&!LUp6Sr9VS&lE6Zm!5&
+e[k"(Kp(!3Y6J,f!&0`2CF'fAe-2fB["Hd`(@pEGpAZ[4BN5eR8H[%@a!Hf!Qa00
+&3Ub0+D!0k[Ci3#JdeQ0$#R&'kp(EpPTRBUX(0eDCM4bFfQPfq4"b!`q*`ih91,c
+Ej[5D23Gdfe0#'[!FQ!Rm!fRJ0Ec9B3"eF"Gie@E#X2e3L`CI3hZJ4p[F)I9c8%E
+BfMH#@U!Sh!FQ!dNpCQrECr4&F"jd%#P$Ea"ca`HU!a8a1C!!fAK#b$eM(`Bh9X-
+pCpI5!R@&h9lhe1pe0j4RT`&PYj`0(H$FQlE1h4[`h%be8E!1e0!MYS#03l`+M(E
+0!(#[$)S#+UelB!H0`A5p+VcEd3)jM8)r$IlfHcdCJ!e[`0a!,D!"jd'dh4km$$T
+!+De#S`!a3*10'kcCkpkIJ(0,"95"T%eL6`(NJ4R3+E3!4ID4R@36f1UH%0"NSp"
+RY'X!6krC)[IQ3(D(%A+h6leT)pT(J+,pC12HD)2Z(AEchL`hh!em9pXB!k&`H1X
+3XX*l2A-r"hSdfP!LR!JhK+ZJ4[6H*rD0G6)X#lS"MQ!$X!!i!!b`e(6ID3$Gl4U
+Jd'jhlG"b2p6N0a'"(-3!-d$ITAire(rha$e8YpV0`EEp+-$44cIjc3D-dmM"1Zd
+fP04j`VE0+@J)DJ358(QA!E+#rheI4pmSp"XJ+e`*HS&l[@dMi$ae'4!(3!dZ`R'
+GHr2IVN,364j%hHEdFI!BP0p&42kYILme+830S(pl2B-939dC,0,4p*V0B`rH2N5
+@B%I2!E6#X3!KJ1$C`D!pCFF)I`-Hc95Rd056$#"k6`&m3fp`BjF31VCV`(lV%"5
+"['"('pAkGR43*-6F+F+0%&3R$(rfCI!BX0mIfCVY"Y6@Zh5H%#H`i!,!&CjMNp%
+Sq+[!AD-4&J%Y[A[h"Z!hbIemcpNS0#SY,eJ&I3-Dc5@meqLf44"0cp4jJrfG%UM
+IDN33J#F8$$Re)[%Da!C2GKQJ'L`'Y),F!%Y[d81i)Nij@0D"!@BY49$4,!!+$8Y
+6h,d"+Ye)G1%P11@JHa3+G8$8[9Y($aMea%dSX!G[!"Y!G-IFU23@I5XJe(SdT8d
+pc3#LpiJG*b6AH2KYB$-3hYTf[be`8pq0J5[H4Pc9frD6[52`fRN#E"!$Z0q00$R
+0MCm-frFQ,J1diJ*!2idF20X@pr5p3B68U`('!$ASf`jibV!'j!PNK'8fJ926cI5
+D6BVId@KdkEe$H1+V`FZJ+"$B@!#6$AD2!IU"SEeYrq!f`MFq)T`)kjl4l@krifY
+fC8"#-!jXGd-H'k33a2GJM8U2#be!!B%#Z12,aR&JKNX0+3"e!"CF"*li34e5Q`N
+J`!Q`*i3"Em!-F%LM!0p#*#%!m!mkHC,YNa2BM68GB$)S%"EhX8e4q`BTJP@3!%1
+J!2-iE`"DmpJRJip0D+F!+VJ*d4aBh%c$G@"`[q)b0mhpD8IPA-'VJ%)M%%Mh(Bj
+'#pS,0PGH2U$6A[A3(6@Jdp-fc@f3!*X&%IJ%AS'$!#+j`8#%dpVN0mD3!!EXemK
+fi0eHH`4&18rZNk-!5IP5ELCSj1JiQBdFr!ei3KLG+4c8Hm+ir4"B#F'f4fil)!b
+%3NP1(C655J!LNB$hi-5f[)dR'!Bh!q43))MQ&B,GJ("6dAM#ZXFrP0D`J38HEa[
+J4RF"BCXAh(K#B-irB!'eGd)G"+$HfV@CF*K,h[-dE)!&f02%pb'05ZX(b[IAJ"8
+%"M%f#Ne21`r816jG2RcR-N"iIJ5F!$MjZRI!1Z5iMH*Y&BJ'J3-+E6I8fB#jHSk
+F1q5`0#Ca%F$5@rL62Bd(iAHe,0ier0HNJUUp,!6QKVG,VS#IeQ4!,cibV!DU3B3
+!0#6NB(GpcSQAiAE$$rj#+q,k1$j1HXF'ZhL$,JHi"P3j1TeVjq3LZ6d0'j`!A,P
+mAN5Fdm9i43!I%1&N0UNG5c-'MN'-N!!'G1(KpDe`QJX!UrCrE4R!jhN!6XiRB1B
+J3"MpRq--*(QLECLI"e,"FHf+EpVR3BpqA*ISUX)qrTfEjbakhLd3G!%e0!""3K$
+Nll9r[5%m"VG"[&#M*`Fda(4!B*r5b`*Q,TpchHq"+9iST!d9`JQ`,Hc8DAUrI3+
+i!%)j#Mf6X`TrGq$03i6A@)'CJ'q2j@h%YRdE+!Kc!!VYLF-(DJ&dAL#F!'2h'@"
+20ppr1JUG"6M8&RHFF!Bdfd`kSA!#Z!Zp3Cpq+ac5lcD-[LcXeVcf%di&%!UmGJ+
+HT*I8-$4lm%Jl#Kj"ZhQS8q2&CG20U,-"@lF4FBhIfCMkb(dBE1T[0k[1QUX3j[M
+(!&`2&la!$4d!&!"*!!Fa5H-'#,N!8%1Md'R"@%kSja!3ZU03(TJ*f,PP$RDR%1Y
+d2ifBNq-DHX"p(CcH5m+)lLX3#YZf%NjdT`8Ca*cGH3X!flCB6QHEk)YdGMiEp!C
+0`'+!TMlR*i$IR8-Fl0CjT$k85`9TJ"h33#MU&d(!IRDE$&Rk1idR3!'C3L2a+e`
+-#IXEASLI##F!b+iN3!4B3M#pTZ[V$B3D88T("Zre!piBR!Nf08k1&4cAfhBII3E
+`"Ld!Pe#2"`%k8")3N!#"e#&lGRda9!EJ!kQG3X`0EB55$S6M$2)e[Sj1lqJZYNA
+!(RcK'AA')#F!l8+lYfeHMp4dY*+JY#X++$66$NfV%B0k6BjMP`%iq6UY9,F4G!+
+q[DB[k4il6Mf8i`QX33X!6#INAS2DIV0$hFh"Ar!'301H`b*Y-"3+P8%E`@2[k'1
+!YH"j&`#TJ4h05h2VUS'hANSA$I8iMY#06qeSY-2q+T6VKB,8m%K8k"0j1ei()1E
+kYYaH(McKehUiMLHSkVb"jPj$%`cCq6SYZ[rU!2U8B)hri8B%NM#!9`8bZbQpCPI
+P*AA8B)eA"Q#d&9j#E0JZ!U'!0XJ+M`'NRP#2f0p#,Ge'60pKp-`Y'VJ'Q8+`m+b
+I#K!el9i'L!!CZ01G*FML3c8`$EXA!([k4@#qfql$GE53!,'[fGRl%3iG5!IP`hN
+3(4$G!AXCFDB6kcD([1!HH!eeqqN1)5J)lcZUEUc(#r3lAJe4`p,!1*(J0AcZ283
+S(RCEirr#2Tf,i`b&1*l`()MKX(CKVUZc!HRi#5#l2r"qq[[Z3JIF[MV%-!G%m#0
+feDfpe`ej`aa3X1[EFi$Y`&@E!C6$YXdK2!IMpBQ!(Y$KjhM8B&d2$eihj3#T%pL
+q1U5Z3&c9QESHcCEMf)Fj'De!0!iS!)5`lUA@M3&6[QNhh`3f'NiKB!9qJ9$1a8-
+)*IQ0-++(m8ri3Tf6CqV-Z[bG"N6XC`,"lV'ref$"f+"de`%I0F#qCMF+(VQ0[Qe
+Am9&mH@"Rd`fhZS'!GF-(lhFl(X4IlAk#eZk&B`9QJ9GYb+rCC(`L(bb3!0NR`V5
+GLcF(U`K@N!#[20*X3)0YbII`Q2aL-+-R"hK!)3fp[pIa1V$ZZr[S)`2Ld&JA#4[
+jQ9"Feq+dI!(rb%-(6hNaRRK6"QKdB3#Plp@8JlDpCN2UJA`[AdKEi*Q$XKiBH2*
+P`qiYLp[8X(X!i&I(V8l%%9"$0`&KJ1)H*r$bPAP$MDD#jGH$q(#*Lp(0["'I-LJ
+5CN#aMXdriSfmfi!Sa!`c1mVHI&2ReM`Hcl(RfR[mYYh(Rp`+1mMpc)F&Qha[d-N
+h#XFk)ap'ApeA!L5IT1F"@cI@AUp[lDfm*SqkVpQ)2%6ra$rRSRc8AFUhd@mif+$
++Gq'XI26JbTF0RVJXrp&Vh3,!Ikl"hr,@3M*Z[2F'9i)F`'[Ilechf%!VG!A8["M
+H'ic`r$ZIm#[`i#di,+mUq0-$p8QZ[VX"-VP()!1NI"Q$S`$4fr5A!6ZZcLmE9(3
+C,BR(!$-i&*&#b!'CJQ@Z4SM5%IPGIY6[lj1$0[iAR"#+JJHqCSm3*34G[lkI#)c
+"M$jc6`iqYerH',$McrPAMeL6dach1fjXrpXf!PHIU&m4kMF8N8M!e'6!R)k,5pF
+Q4&G0"b68"!%1X,Zrm!($c5j$V`5#J5VG!$3!8%$MEB@,%,Li'+!'P!k0#*4`fJY
+XCX8kK4H)"Rj$'!!!6!#J`#e!5[L6$8$[6'4-!+%!,N!3S&Z)`#I!#@3#TDYfXq1
+&YSf1j[X*X!,XLK"%@l`mfC9Z%3#d!N$!IaF!X"EA2A5[@`J#T!!3B!ci!61!,1$
+F[cbKJ1F4%#3$3%!q8!fmCqZpRHIH"f"mEh+rh02hiAef,a"`!Y0pG9rIqrF#!(I
+[hB2hcler2`L8pqFp)8!+e2IYrF8"!-$hmMd#-&D'pa(qH%S3C(IXa3-!!)J$!F!
+mS&dF%cL"!@"D$`Nm3d!JSG`!!%!%%!$-!!%!JbUrFK)%!B1#%K$6)i9!F!d%!0F
+!!0$q"J-"@!"!#,MiV)8J`&Si!J0"*CX83!2[&+%VSE5rhXSrN!"iqIJ!!*!!,q@
+VVcpqN!#[[P)6,)N!d1@c*"R!(A'H0EJA4`1J6A`#S@V[,!"m!)$!%i"8p!-4#Te
++!LK'M9H$'Q0!!K"!#,$j0,LaB`$Q$e`F'X!GF36J!bM&aH%!a,q3!!!-!&BN"4r
+!)""e!3)#!+"2Ti)6!S!+PPe0!J$!*I!VHa,i&#63jrm#EaQ!`%dS!hiqV$B!3!$
+M3$a3CHAiDhld&(*S!!0!!,!Z"`!Aa`2JfJ!"QRlS(%i%"%M("`!2!2S%3%d2$c`
+![rj"FA&8!P"!%a33'!#r!$LJ$'aE%!#`lhKK!0(q38%!"!$9!"5J#V36$J-#-!!
+S!BL!VhpaB!$FK#L"!NJDf48')!M8!P#!Sj38D"0+!#5J@fJ!G1UTm33BXB$!!4"
+MD2Vj`*lr!j`kB-!I`!p)qdF&)P$YEeJ!3#3!!B39f))!%*!!36C"!$F6SG`4SJ3
+#F2"V%iAT!1!2A"-#3#,JF1!!!Vqd,dS3qiDq*h%))%%C"c8K!B3!B`!%%2',r-2
+&`BmYX$EEa4dK!*!!!-#!)-![$IaFIXr[jI[mAcl3$`#`&Sm!Dq(SKa1j`!#3!![
+N""p!!*!!!4$jXX54Rq6M",*bNjr0iJ402lD!p6[p6$rA2f4h!p3%f#m!L2eJ2`L
+3!($!!(8q($#C*F3("4"`l3-$F!#F6`!F!)JA!!!152Ji`-8K!N!61)#hXP+%()b
+,@F'q`QTJ!$"`F5!!"X!$m!m!!X3!2SF"A"`M!$3"!rMpB`!1S&X`,U&(,3+Vr3&
+h2aiKG``!J-!a%(8T&3D!+9%#3"1&rm4aEe`F#X!#A#9V1V!D-0$j*`#I2`"J$!3
+%JPiT!3"%rRd%)+"&m'qAIkM+9M%$X&SS!!KF(,5riQrl%i$BK#R"qhYpi`3B!!E
+!qBLAK2%([!(X3!+3!!Q-!(!qlFm%0,bM5H2&"$Mrd%3`31LZ&-!!p6m!S#--`-1
+A!%J#&N$hr`1`!`2!-2`#(`%[X#RK!8!6`m!ed8FB!Y5r!5$,YIm-3!)!#A!!FRr
+YE`bd%b*!-M%1A"0p)29rG`!$()$l$`RB!0eriQp+h2l4"!MJr"F!!B!ji2mE!,V
+&Z`)'`!-H`"$!!#3!N!$!'($mIeSA4`&`qqFP8CIcA`!%!'J!"Y#GB!#k43)3AI!
+!(F!AN!$p3`,"3,'I!(MiSiRSM`p!%e8)H9%!D,#qIVB#jlIqRm!r)&Y-!5a!!R!
+*B!"J!2,[!(`#-BBeS%UJrUE%hKpIA"0V9mKa!0JRp!S,N!!!3!)B32I[!Gcq2Vi
+USHq$!kD%#1"[R%XY"l3aQKcqSB@Sb`)N!*0!M(&a'!#[#!"`#"J$C)$R5Pi3&qF
+52R@Q"!#Gr`'!5V!"8`!,N!!!3!)B32G[!i5SaS!aX,q4CkBrFA%ZJ3(G(I[4qBZ
+2!!!6m!@3!!1*!#4`6@Mp*X!-N!!"!!2'J"J!$!KkID#P3&b!!Elq1'#K'2i-`VR
+%"!`$"-!Mi!F$#!'"#@!'C!#!J$%Jbm%!'%"VBLQJrYI%!PcXA`#ZIdih#"!""[m
+edFND!)a!$-$ibh)`31K"rUm8ed3biENb#0d*!c!)Q!#+9kYNRf!6'%!-!!LSckT
+rLf-T%"IR8XYKS4Mq$%*h`J!-!MB!)U$[``2*"$B"!i3"J%$ll2Z((UBrFA%ZY4a
+C4`$3qBZ2ZFN2B!qNqbh(XLqX!J,)J"J!$-!!SBFT33)3&qG5bj&e"!#G[iq6QhJ
+!'d#khrdE!!2!)'$pj38`31KK5T!!!*M'ZG4b4&fM56M4H"NB#d#khrh,(GV3-!!
+2J(#rKLQapkm8ed3biENfU0j+D-&*B!$GIkpM!!3!JF#fT8@BL@&rf"rf$rd!30%
+2!"cpUmffaH[M!hI%la&DJ"VF"#(!RB%$VJ%3S2ANj%`q%%!"3'R0&K3!"!!#"-"
+d39X!BpK#DN5!L@(bDhG`5hbf5)FRF@0j%T)Q&!!)!!,R"$#!G%!"S!!+J!Km!C!
+!`!1!$`!"TNd5-TZ0%k!!-*!!A3%$Ai"ZS99Sr8b!rpmGi!3$`3%!$"`!`!!'!!0
+J!%X0@i8!!!'J2`%!#!`%!J!J-"!)!)$!3!"@*J#"a5h3$l`"*8`#)!+)!)*!!M!
+!L!2#3!)!#!J#XN!%m!ES!j&!")!#+!+"3!M`!*3`bT@4(`3m!FC8+*!!miF#%F!
+Ai!q)!Jq!%#!#N!!#"3!6S!%!!J1"!!!)$!3#!#!`%!J!Kd!`F!!)!jK!$)!"b!"
+DKX%"$)$q"X!K%!`F!-)!*K!$B!!b!#K3h5N!`-!"%&BH!-$!!3!-q2UqrJr!$r`
+"q%#rp'[B'heJ+G%(PK*pB#R4"jB5I@!Td3H@%ReJ+G%(PK*pB#R4"jB5I@!Td3H
+@%ReJ+G%(PK*pB#R4"jB5I@!Td3H@%ReJ+G%(PK*pB#R4"jB5I@!Td3H@%U,9$i!
+2q!$J`!-!$MJ!`-!"%&BD%`3"%##rhJ#YT$Z"q&-6#%#*)33J!"-!2#!$S"S)3!3
+!!8`!k%!!%05Fqk#!!B!#j(+[""M!@U!!)B!fJ3+)!!B'#N!#h"(G`8Z`+Gi!r-!
+d%3&XLJ%!2)!#!!)e!3S!$0`!r!!+!!T3!(3V*(!!!"X@2a$`!8!#*i"Z!3T)b+2
+*#h"a!!)KJ$B"mdJFkfXTd3ID'rD'[@&[f"[fKVeKEpJEpSDpB@rB'rD'[@&[f"[
+fKVeKEpJEpSDpB@rB'rD'[@&[f"[fKVeKEpJEpSDpB@rB'rD'[9&+p%[e%)P2%!!
+"L"FrF!2`!`H!2`!")!!1J044`b3i03`#dii-!"%!"*!!q!F!F(D[a9T)E,3&(!!
+'X"C`3!LJ6F33"JBF3!,F%6PqY[)!q2dI3"X-!F!!SV@*JJ&%!"$!Z43!S()B3%d
+!!iM@r%!%J!p3!%6!!3!-(!$m`!'`E3%"pXN*`!rB*a+bMq32f#FK`,!#mmJUkfX
+Td3ID'rD'[@&[f"[fKVeKEpJEpSDpB@rB'rD'[@&[f"[fKVeKEpJEpSDpB@rB'rD
+'[@&[f"[fKVeKEpJEpSDpB@rB'rD'[9&+p%[e8%!!C!d"03&"X*J1!8j!Kq)832F
+$!CIU%JJ#Cr9MpfbY0XF%PqS5k2bI&UNT%0MiTAeH811M9d("!B"1j`A2&N'!&!!
+!1iJf38VB'kf%%#'*R`4)4&'J$(#Mh8%T33r-!&p"HH!!C1Z@qqq!N!!M%35"!e#
+jEqZDY'U!4"!%!8!X%I'Zm,F"a)"%%!3132c1`Ym+1%%$i-#ElcK"!"",%!39!'K
+rZFI`LM`534!%!,&%MBrM)a'cQd!35a!%#d$&S$")f%K%r,X34!&e`(8!!)`A1B%
+9-!#S!pf"[H&DmHZA`3&J"63'$S%Q-BF%!,%%*I[CL`Ji3I3lB"rd1-%#S,)cjhG
+#Gh!%e+2GJEea$i`&)N)#X1lCdjR$`S86*!$%Yk5`L92pX341X!")jj,#*YiG"!4
+!`!#!""8&pSBrm"@%"4&!&@p2ipPf2%j!-EcGNN)elhXV,8%"#m#3!(B(pSBrS"9
+`"@A!!4!$A,#JG3cJ6G6i9re3B6c3!0e"590P&!AfKMq`!+MXc2QG`!!3l81!d5i
+TK"'`!8jJLa6Y!CNpR6NNfYf"V#3kj+VX"cLJJUaj"!&djdR3&Y@(Yk*#G`FY"%&
+3!33!*`!!)!B%!%0!!(!3U0$G34iB%%"hXb3iB9EkpLTdGk#F!J$@S`R`RJ8!'N!
+!J+h%qN@"9YYKQ!ClJ4`0'"!%eU-*m*i&!"T!!)#Ya2T&`6V4BCJ'Hi%F$4J3"+*
+%-M'X6FHm("33l$m"Z3418'*X&[c(')!)#!!(88k!5U!5M-!rL`J%!2F#*EYGI#K
+!!(b4%`JC38%b!Gee!!%!#i!!#!!(%8(J66J&"-(V-%d%"f4!X2m%j")i!4E!5E!
+"!3!23!#`(LN#I"#1%!6%K6B""33!@!!#)!!F4!5"+*&-i!6B`0X*!,!$!3!M%1`
+r!EN%6M#lD42331)Ph2Z64!B5N!"i)3)#`%'8%f!$!3"a`3iNX36!BUC+%`3+Em+
+"%f!$!3"Y`3i%!(`!!@#eMJXj`3R5H,%$!3!(3!!!`IKf8(##S"*)%#e!!,aC#(P
+1F)*F%dJ3&8!!&!#E`9@3!'rN"-5&0Y%"*&k)J!"`%18%"*Jf%3dNAX*pGe"84"-
+i`AM"633#!8!P),rL")m!J`!!X!-"`#@!#%!#I(5&m%FrdR[")&e)(p)9Jm+J5$2
+5dF(6!%P,dVbdH-e$i`C0a"2"VCX-R64J!%T$"Y$eD3qR&p4Fp%(Y46IcEX"a,E@
+2dEhfTRf#ZpGXY"[00m$4A29M3%Ici8ji6J"-d!#I)!$`1!N!$m!MN!!6C!%!!#p
+(9-bP,N%H5"#%&TL'%4!!8!+LmfF2ZLI6Y[`-IGVId$Rd'i%')!Fpp!mG4(X41B#
+CX)LMiVi"&$e&Ip81Ke-0!LM46(6mQa23q!B"3U!3-!68K!9!$4!!%SHDSEhL#p5
+T&$!&%!5k!)aU5i6(+HS63"")!i02Z%%3l,@hAXX"!%`d&qSQS3%)P86P*K(@3Vi
+,33!J!c346J$#+a#i!HaY%VC*b$e&D0mF!-"DdJ+5)a#S!Vq53"!!f!*33",J&3N
+%2f!5!&TY%SVB%&!6E",b3")`"$J"(8S+AC%p58a!8L!#R0@2(68K!,J!2pP1B!!
+)!)32%b!&a,r8K#PJUqPE#i%!)!YN3%b!*5%!9"Ri[IaD&*35dd3"`!3%"D8%F@%
+!q2mi35Qa!J&J58%TdBh8H6J"*r)2%'"AJ$J3&*35d`3A`!6J"+$XGJ%!G!%),p9
+I5N`69i!U38VB'`&"&p#0"!8,!,E`"Ycq1-&!8%c)!GY!6Z!5N!!2!-!GB%rJ"-N
+%%B!Yr!(hJKd"!$a1SHdM8"6mc`"!)[!%"!@C)3#3!!JX!MP"aC(LB`,!"%k!MU!
+55qBF3K#8!3'!,3%!C!)-+Nl!LCJ5!%!L%![N"!Y#(e!BG`%j!6Ubj5X#U#mbJ55
+D%MAEq8m3P!'krcqEiJF%$m!MS2[rCR`%6U$lrfDd3%l!T6)#!3%NB0cM"0R9*K!
+34!*!,%'JmjF#!B%Ni2F6")#!lJm!6!+02di3#1Mq!-!N3!rN")#!lJm!8!,3"%i
+J#1Mq!!!PJ(8J%a)',4!38!)%Q!#!#kJ#h#J!S![F%C5!,5%!i!+Z`!#J$J!![m!
+G83Piq!)!,L!,e+2,2`"3#G"#!J!ZB!X-!%M3-K!39!+d!$@"#ebR23Jd%""8!Z1
+%!)!,q!)$3*8ah`-!PX!d)3$J!YU!#J)!K!-8S@U-%l33,!N!B!RX!6R"JR"k!!#
+@J,L#%k!Mp3"&k*83"&TYSi-Y@!+h2d'`6J3!"`#fB!QN!cN"'K!!#"QC[X346U!
+$!F!eYf3+%cK"'4!!9#LC[K53!"1B!3'!#4!3A!)Y"%'Je3B!)%+QRki3"1Y%!(!
+$B!ZA!!pVbH,i4-#%)#XN"V*dMJiCS0BPDFZH'@`'A24"$4V)#U5"DB!DI1)Z[@Z
+`lKhXYB(jlKXSmJh!`i!IP1b8Y9fJ5Zm&FV3V24L%dh)"AG!@d!8QrXL150MiTAe
+H`+8-!8L#QTi%r!X*3"#3!&a$"[m#Pk*+N`f3!-'r8!!-%56#9e!HS!96r9JJ)R`
+&BB&@`"@8!3Z!bXkFh`N&`""")R!%iF&(-"+)"013!"`0'%5rUM4Id%UA*CUdDX!
+AY0)EJBFJ%K3!3`5*3")%((a"+ld4i2LfQLbI!'M5US'Y*XZc,h3")#!*5%-J9'&
+LE'9cD@)J@$)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!+%9RrfK&DMj!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!a1!!#$d*PD@TTEQFY2P4KDA"PD3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&4&@&4)3d"!!3#K#P+fS4(cdJ!!!!!
+!!!"I!!!!!!!!!%`!!#mq!!!!!!!!BCXPTK`4dX+(N!!N4fSdD)#M5*%K)"SqE"#
++em)F0)a!a+L4SX8'14V#!"'b#!b2&h-%N8&5T3b8))IBS%&5*JfB3@VF%!)Ljmi
+'`f3e!!!$#N**4b"CDA4THQPKDA"PD3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&4&@&4)3d"!!3#K%G)-S440H`!!!!!!!!3
+4!!!!!!!!!q)!!!PX!!!!!!!!qc)KSf,FlXi4mrecfRe3eH`ECicq8+M'qi$Em-(
+%DrG'rj,ZUM9JV9K@5dPid,Qp!HMd[ZSG1&5UDVedX9M@@fJ@kkVYb$QG9f1f1jh
+hKp4krBq2d$prerNPS)SP,95YPIY#efcCMDlKaZ@e!AUqZehU6V!dMDE`h["+96&
+BV)9bcZGdMVpPi[)2ElRir1P'QDRA!pr`SY!eVCF8+E8(bq`Sp)8qUPHX#e@m,RG
+&h[CIY%ir+(4kEUGBm(PHEce0RhY9AXKHKeQTK3ZrQ&k*@'N#(,r4(j&EFael[(I
+GDK&ReaHL4'f[S(EDLdJ1@h&R3[kXUS,6P,f#rKq9Ce[FA-5p(km",Tlq)`U8P@f
+p)c,aYFAf)RR,UcLmERl[f*c00N6#FC+cHqYk"Ic4!)Rm2E(k@e,Q1PIl-([0qiZ
+R'5!`PF[m0mk#LMNI,8i@RQYpalBFa&IQeI(Fa&!92qF4f%BZ@e2BBIjPJa-S[Q+
+HkkU@2Hj3KH8iY'mceG-0e03`dppJimZ5CNYBUX-,`HEblM*S&f`j9SVk9*)l9Fj
+)(,`QPBa+ZbCec)23Br"p@FG&+'1drcpTal'IF2BUI4ADD0DMfB1q6pmXdj5-CC!
+!DrCKQiXijb0Eja9l'8KH5PX6fYM0',1A!AQpIf)F9biXDb1iYNBRCG0)l((+YBi
+dr[0#fBaSR(ZXdBjE5-i@P,-RBq*fq6cBZb@D)1+VQZB0q@TcR5AXiVq(pr!Mrip
+8JdB1J,Vb49BqPhpjA%KS+e([)6cRq6Y((83HikSJr"K9$-Q)LiiKbGCT4cMS*f-
+fFRe-QE$S"IDKEPe'KD"Kf5l(E24p"(A(+Q%PDp)qM[TRIpjC)hQeY9,qbT8MR,G
+p)Ae8@cH(A0c#+[dXlLmFriN&qa*Gk'06$EFhcCEkQr&dq0j4566p5HZG[6%Ea+$
+(4a(fM-PGG[8'EcdQk-6hCUNdp"VC%Y+$jR$$2V1ELGJiIiF1GQ0@2@mYSjd&12,
+[LaR[iMIaT#4bDl5`amS*F6dQIkA4Hmk%jMEccL28MMR"AE&mq[fR+&eY'%6HS&r
+$lkfP4"Tl[N'2+lE+p@QI3rhe8qC'LaSaIKDL$@G8SDRa+rdiJBrPYdX@h2!Gr$r
+BjccDk4Ip1b1VV',qT6Bimi5`PkUCD1UeVjR%jYI34m)Nr([@T+L+MM`)I6"dR+j
+hQB,Y9N*[a6)rUfY%lmGmCPMqKU3jCJH-'hC@EZ0T!AdAFdHfTM30jpa8"DCKq19
+iCq@cq5a8Ap-YTX4$HJXm3ZSYq8j3Zf8rJGI(*lcPiYD2rTC`ef5&rEBfa(KeETM
+DmQiG@chf!!!##%**4c!Y2NG#HQPKDA"PD3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&4&@&4)3d"!!3#K#!TES3Tp,`!!!!!
+!!!$Q!!!!!!!!!,`!!-HA!!!!!!!!HrSPK#3j8U1&MbP(K$4S%#3'$4JJ'YiSdL!
+3%%&,!J8**%43%iq#Y!M+)XL,)##"a!4L%XJ)4SdH'i!85G,N48k#Q!M#U41RRd#
+9J!Sk)JM*8*P'0`RU",4TP%"5QJEY%XL,e%"9!PN"@M(SP%"8VPi*K19UPN"DT!i
+YZV"K`iJaK"L4UC6TdkK0!MN*p#33&%&"!!X#*-KPab*F!f8+a#M3N8#3!!*&#R3
+T%+C!NJ)j#[3Sd+4!P*TDNVU`35J!!JK#58Fa,6j(3RTTB@P`C@N!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"849K85%0!3!%
+!S3UCkD%+QU%!!!!!!!!!0!!!!!!!!!!b!!$M$!!!!!!!!+4,*B3N1G,#aj3M3KS
+d''+M"J`3$"dfF041B4!D0@L!Z*La!D9p#SA8)#)%K%L5$6ECD`!!!JK(3M!Y2N*
+*4hTTB@P`C@N!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!"849K85%0!3!%!S3SHI+%+HP)!!!!!!!!"h!!!!!!!!!(4!!$p13!
+!!!!!!$MU*DBF%G,#Kj!!*%GU0'L!)`B0'#!DhLM5)"53!&"#3Jd*a5Z8-)kKQ)5
+5a9(8R9$M3[%,Y548U9#Q3TfUL#T8Q9"Q3X8**5G8Qe"Z3Y8*C5G8RP"k3(C-%dT
+0U'N9Si@5&ZV)+#FF4e8C0598Z9$NP)DL*[BFaiVc3V%,e5j80j!!h-4U%iXY9,C
+3fd+j@pJ3"m5'15L'HKFUALKiSV#%BK9+P5JPSN6b%Q9%e"'3!,&!iJU9Uq+X8,4
+#h3UP+p3ZN!#p3Y8+C5X8V&$h3YN,45p829'Nq-BSBL4L$#-i'SM+*8UAU&fL*[F
+5j8[8,e(!4!86*Bb[M)F4C8bXQ+4aU&DLL)K#%XV9BTXi3cN,p5a8N!"3d%)p#H9
+2e#[KX%6&%L9,e#a4Y)K5LbLfL(+,+*Y*%8S81S9b$8qK)#&+%X)p)`SdSN3MLM5
+L6#-+0D*8)iSeSP`M#MDLC#1+0U*X)`ShSR3MLMI#I5-+1++%)iSiSS`M#MQLP#1
++1D+F)`Sk*9h8d4bK%'1GApN&9Y%USU3MLMULV#-+1k+d)iSlSV`M#Q,aL#+2+21
+)3SmSYpNMbMh#i50+2U,S)mSqS[!M5MqLq$-+%+-%-BS3Sf`8KLKiK#+'4`X"!!-
+)4d)a,6j#58GkD@&TF'9T!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!9%9B9%K$3%!"!+""q(kK%I"I!!!!!!!!(rB!!!!!!!!
+FNJ!!Spi!!!!!!!#VC`#T90@E@A5m,jbaeq`lATi4a9MIQJ('8bf&kjlXp`(NpEl
+c3Qp99UZLdA"GEkAlSZph`m[UHlqF0a#PA&GY'"b1fl[JhlJRXr5K8m+Y9eNijbH
+Nkh[EFUR1G2a!mIiN'l&h[,kNfQYRha$H!h1f"1GBf"Fp#qR90MVfpeSh'UE,G'm
+fTCPLX1c$8kKUePR"VYSdfR!VP&9Z[&JYUpmh5Y)2p4PBkKma2NPPXa6+CUGA`@V
+41Cd$cqeqrk6"5+J9'dVGE`ZA+H(c(Sq$ir)IDJU(4#MdP5kEh5!IiRGdqk%lqra
+VA(-qH#iacjlJTb)+T-p$c4,)UR-mSbBmG&MYk2jX`'dV!$hYEZY2[Xd6mI,m,!Q
+(5plG!KNa`&TBcP4NAE'T'%hM[M(f&Y94rG+&SEbrb1EhFVhAqKir39JA2m*iqhA
+j986lLHbBVTajMiEQha$i'-I)@j4aGjYEj5CBShqFT#paU8qR$Fa`Mp[XEecG)TP
+ALaHGLNDUbGRe8H$9GQ!BZb'&hR*66LTrrb6c+Fi@jRJ)r4MRJ*-cL8Dpm-Nqm@H
+M6ZrJBhX0LT&`(I!D18rqK2e8X@VR[c*Xrpa`El8k-UKH-EAEI9Il-,UHjbc8()"
+*F1&6Kf$3B[Fpr'HjepQAEGm,+beJ9*UDYR4"dSHMYd"D1[KNilbEc8m,YZT&534
+&'QLjT!jRJcqM(2""QFQM(`(,ZCIi3Ik"d5%6q(!chrXmGrkQaTmSMCJ#lTjZmJf
+20*S+k%Xj*Rdh'YNk(LGGLNeRj`b1Ci),M(2"F&15h0LZ&+hYf6@,9"92Y[MmJ0E
+f[F5XJh6X*k[,83-rlAl8Y,)ASYd!6N9#T&pHMrQ(&10P[MF"MU04lE(ENA4C%6d
+*dhhTr%R&YqFe6[!L,4%h9#Vl0ImG#fEY'fFI@9!c@bj*4X,C##AZDNeZd9R*,UQ
+f&(F6pBhV-[AbLd+N[q9CV['@jZJ*3Ui'@M"&`MXeC+(aaPf*f$[XDBe(ja`P'"&
+9'1ClXMp'1Hl*-cPl8mP*a+@&dqS(,!6@@XQL3Ce9p4h3ArKU(BH@"FRIhpe*rMT
+[p+rrUd2HH[)))GJV'*labI,H2arYmVrD%aXYV(XSQr,YM[QRXYiaVAXq9#$J[AJ
+UABPPf!P[aN,4FICe(klH&irdm,Hf)4d%ZCl[2k-Fph"QFaTPir0#2qj!-3$BJN!
+$9,"IH!6H42e3",,Kc4eI@4,j"e'bN!"5QFpShhf&*Sqf!KTTGl)MpD0FchF&aMR
+ZlJT`2Cd&%)N)F1U[6YI$d#3Uk%2[UG4PHKE'-hUYME"[G8$MVr([i+HYF8[TPP$
+rN!#(@cc41Ui-SCc#'SeUp@8[RV(@8%eJ@6kSfdcfHa)C[*Y3PljVGfMRKb(SDIU
+BeI&XD5'X[@,*k,5(P@!5%craP(e[Y@&eA'IcZ`l4RA[Q!,,&VU4l4e%@@Z2GQfQ
+EpmkpH$Hkk9`P3GHNZi5RR[2NYj,NK2jR-pd4qM(2G%QCc)`PlEIbkf[qIdl4K3N
+#m[Dr,Ecf8eHUBGX+VcaEbYK"bUM@kUGIpEhTH1F(d26FQe6&-QlmR,hlYM,'L6h
+deQPb+IElVHA60jj[eArMIp9Y%jABG8EMFVLCr6aGKp-,pVZMDSl*9hm60N`fGqA
+-peRp'1HkJc14rY@4Sr`Ipa-(IBpfhMhC0a'm**!!V[l$IR@YSrr*5kH6N!"ehT,
+0[CIM0([m18!VmFeFmDLUL!cQHkJZ-FpeF&1G*f2ZjiX4pHbpJLeB0%jlcmUHcbS
+8AZkaI(98"fm[V2mS5Z)2G#kqF4CM[Im,31mr@l%2`0+d9%5Q+1S&jL$F@5q@2'b
+#0I*[6@K@P54$#HKpqBqL9prkrdmVfF*YBe"eLHDGfPpSK,R[A(aLlr0LKiIA9'K
+0f@Sr&4$LVkJGK03MTlc5E,Y'TerId*Y4AALhB([mq"Yq$6ECHa3pSqZKRb3JhAm
+FcLL2dBja4*QFI'VIHb,fcmUr2CC9U31e404f"VEJFeRE1M,mNKA4-YiqKfRkcJ0
+iVP6IVT!!AIM8KAAdTMm2(Lh[Pb&hpU@c$l@r,,pa"-p&+l1Bc"@j66al2I6aAdq
+PI#)lFSTiI6XUTCfVIlLSbXYRFN@#9Q6QF9Rp'1F9"QF5A1ZF[LY$3PS8YU-keBb
+SE[iclDAI4#F1'cpY[[[hqP@`5EGi`h,m!P(bDVN)*8*cpXJ#RmZCa8&aMR&A"6N
+UG9QV9VIac*Mi,'fDTdSQR$le-&Sc#TRq6P83`2acI+BCH*crD8hSLSMC`6Aqcr#
+RX4'D*rJH0S[+G#pZVVE[JM2!Y&qKcRaEqH'lKqf)+c%Ykl4c@3BRB(mrd4md2Qa
+(+fU6KkN'rB4"*II&5crCI%L$,+3CP-6EqfH1V2A8ZN-2XbPe0&kl294,TmlIUc(
+[H"Ra6Vfa,DpS&8IH8YhlQ%4YMQG5)r4MR8L6-jTr*Bq6kp&@reji'R)LRL@aF6U
+E39d9YU@2"bmmA$f&hZrdFXh2QTPbPV&*I')LI8N%r`6Q"FfMUEQ!*J828mq!4"L
+`afT,BIi)5i,MeZ2Pjq2E'h[T)fclm6X#$"6e00r'!,PGM1&@A1NiM$Aqh-kPRp'
+1G5Jc1("GqEP0XM,bZYfp4f&+eBB'k#-Vdl6&23A3PZL#1Lp"%rl,2ff,eP@UUPj
+,r$%BdraNpH'X[#jR8S,M(1TA"6MZE)l3cdlR2ddiMYdrl`YSimHNQlJPA#ep@2N
+[3F5T(*XHd$hqlCETP8"l69PLSHdrUAk1q&dFCaU&iMhEh5Ve$d["al&ir8CS*2S
+VFS@(rflQhDULSqM+V6QU*@G*K",TrefIjm1UR)IKQb)CqjX3YQ5)QAP%l18E,rj
+rD(`B3AGRQ+&U[9mMbdPh2FLQIYl%f(pjrQ#+a"Ijk)CcbCkQ+B$eqlQI-4qM(2Q
+*-cQ#e*M%3##r80FrAbTq9RrY#9PpBCEQfi23bJIVpZ4FD89ACYf)d1afJmN260'
+Z8M4HBeS&(c@#EIcN-k3C6*C4IG5rFcSHN!#[4(DRU`4TiPZ$N!"D6ZbRV[-41eC
+*PTPY`eYG)E"cN9VFNAk%ac2QcqM(2QJc1"i,!c[PI#%I'bIQd8Ei'FLFbCDqHT3
+5%KMH5(TUGqq#lVG1pkqj@%1XlRmAhE)PM+BR4peCHjRc3A'1I0F&1E$d@p(f4i*
+XH(jY&")QQq'hH@je')r3jTILkAF[R,Qa80`*p0P%GQk'TIPdI*8lPcF1"8UC960
+bb8ZMdRUNrXj6%R`RQkUb&Ee(&N2iH%(H$[MLZkAI2#UlMT,33mUVh#LUQi6)Y$`
+QrJq,(I5[iaHACTV3hieCGR3U9j)Vf'jLNfed(K*KRV'H[8FE,`kQ61)68bPqiHB
+5qBbQAm6p)JQZZHijRZ%ISach#6-j%XGcCqRH(Ab'Hf'@35b`j85Gk`[f40fQNXM
+l%e*(Er"r1H*'cAYTIbdmQfjqFr0KJ*ACG(%`R(C8dNjl5JVKEakC-$DlC(af6aX
+QQVp(QjM,I$VY*E#UU`P[FIjVrZkj4a0"qR[52VHDXIFch-rSach)-cPK"E93@iH
+$FH$8k@#&8R91Ri9eN!"X)hTTYKkmP*&eE#1'q+[lZrPp!$lErY3`V6id,P2f$+Y
+2-jRZ3A'1HjF&19UQ3h,pAU+SjC0eH1p@2a%-+b'M03eqXMVGDh9"d!H99MdhkD!
+e[JH",kcMkUkK[Y,0DFBbP!a+*pHZ&MGGF'+-ei%Jk'(XK8GB!1[HTH5&X#'R5A`
+B&MFCD[lcBIU8&5"U6eRJi"6B9cML`2Ndc8L46P[,5FA`e@#qNaS&S!cKe9BN9"3
+B5#H,G$NSR(A9Fk6(rhNeZZmEDA[Rdi,Zep1+j"k%ISaJp#6-jNZ@p5rU)T!!aHm
+*`&q9,)rI+pH-YiEq2VlZ5Dq1L90r$#B3S8LP@R*!'e1ireT6'l+ZABPlcGhJS6U
+%2Ieq-bLPjS8c8[bDHIEU4ERQ2db3!#C9T9SKjY*fhF'hi&)QKre(b5I*$kZEB5G
+Q(J6TY"1j"kCr4M"k3CR*e&N64S48p["P)ZK0(FPB(ikM[XqEG@XcDK@ajEMLep!
+NipUY0iY*5PP9+e+L-C46NqcjEd"b$dJZ-B25i+FDZdY`,%c$KB-1Mfi,$q3qdm`
+T+q",Kflemj00ECILMl4r&H43`a)[1GmcP)i&5qac8Gl@%-6Z(HFhfM"XiaG3UQK
+BVPA03+IE6YkILc@p9a&E&Z2MbEHA*8m`-iP1a@H+4$a,`c%Y5Xkd"J,D&X%QpLV
+J$dLf@rHiiY),9&,I3cY5U)C&@I9$Ql9M-D5Kle*XU[XRk&j`"CfA@Ni%E6GrC'f
+BUZ5Lj"h8Mp'-(G56-jDeq5qT80D%QVT2Xl%iY1TT&-d0mB*r9[jCYA[KJkFNdQT
+JRa@9CZ+(I9qj2*3TBPH+r-`[RZXfAmQm9PGAbHNGB83"i,4qeM"efIPmijAH&Y"
+QhkYDTIAYkJfQd#T'N[dlrdZ-hf4%bT2Cl&"P[`R)1kjr4M"h@$-jKpB3l4jk-19
+RV[Ipe$mkq-l0qMXl+rb#FTkb",`UbLUJhe5U9LG0fB@Q%SkCGM"1MP!6`TIjb$Z
+X&aM"h@i+FI`0ZM4XdLXASNfY25rpB02SG5L+'F3fiF0YS0k0&$B-F!d$3J$4(8+
+plSApD!&(cha@D$2"[FEA-[CSJ@HelkTF#cMDVq4I8I"qq[l#I!3(%+4QEFQI0NL
+UkN5Q-jd(%+UlpDE-%#"59jV`KF-q!`#%i62`SaKjG8VD(r2H(@M0fN3iXCJCjem
+IdrVi"HP0mdJU8[4Z(ISB69aXdX5VAqUm()1l%ISaJlX5CR2U`BPN[PTXT*pMqTU
+4,jea*Jkqr)mmeqENj0Php59QPpFki&1Y+j*q)fa[L,&Z)$#2krT*Iar8*R$hYIp
+KFer0)YVQRm9TFcfJa5`XL`eI"i+`M*ZmC#'qC)"LDk9MXQhLPY[8+461D6r0ckU
+dTmj"hE2k-B1l3CR+f')hIrCH$3#Q2Cj*bI9TV"`aN!$jG4D`phdQL@Gj5`#13L4
+HXhClH#DLNbVXr(C4`!!iq[[13GfJZ-B1lA"6PNKf0LV0dMlE*4#I!HjQUr$I,Tl
+6i+aaljcbSPZb"#"BI2&5PZm2Ebkm[@+Ec8qUf&I5Cb%V'G0+*6TI2f0rHq9Bek!
+%URXceqqHTaI$LCHl%$0B42GC43IkqpX&MeI"2E!qUhN19$`DlUI128UA1lVZrjL
+A8BSVLahN!X%2BXQ8!q&)UB1kH`CqVfpdG+`d6Z'VSM#J0-PrXJi(FGqcHMhNFJl
+Z4qM'$Zj*QFGEG#1[0[mRib8e*S4&h[cZ$mRqkKN`G!D`,189RD)Z[R$L-IS,f"3
+KYKFD'mE&3[JXAERD+GX)F%#dR`mNJbhebI$Ac3RjS(BVc$8`&#Abm6Iej([,!EQ
+d8c%`RrH"IKkY`'&qpFI*k@M$mcpPb$ZqIdB`GhJc14IKNTQ,ljiJ6%*areRXK9T
+@R$j9Hf`aeiFfZS44hNNp'5P11pFLe(p"rZ1TJJ"ZBB$pRjYi%-Bj"hH#iaJl[F&
+14)G[aP+19ET6Y'f5,GXl@CVa0p#ahC1'9PD*29C@H)P'4%kShP'4C39FVq#LGPD
+[FcYq+SXYmfAL`!V&pRj5IU8VE(*r$8$cQ&PlIXkU[&k+VI'b6DHVDh6Jk[k*T[M
+0p`I`e5e3G4f5I"5kr93&@I`m8(pH*"U@iGqRK9Fb,JEV-GAfSIT5'EriZr%6GF2
+PKN9FYB5"Yl6kikbGc&FTlm5M(JMN"'4qM'!M*-cQ4M$iD[HUH50XH*qP*[JQbFh
+D6F@M[`46AZePQXmM0G3dGf(Sr92kmYC6Ai(rRDG6mAIUPc*i&Z+fe*'0DKTLh(*
+#pkBpVcJkZ@1KfD!HAH$Kk5RlA+GJF)@kMqAp4"jElH'rfk80Y$S8(Nc(q13%HId
+B`%F'Cc,p-ke*ckT13eIpf[@JHqFNEIC0il'NdrQZi6,Rp8ae66Mqq5ZI#Q-5im3
+lIrGT!br!V%l@T#j!4`A'-"(F&1BTX3X-A*NcNSL#aD83q-P1%Ujl&81NR4RL&R%
+X[airV4Zm[HGhUmdbjHr3J84P[r4*H9b&3%iah#1&(+)RR18`bB0pB"Xr(AMkPkp
+@rEIejMQH0eGEh`NA0[@[3AYc,pQ9bZl41VU@Cdc@hp0kJd2Df#*@%k9[Gh$BTL8
+X40V1Ma&![pf++,khNE*A`DcbcJ@JjBb1aJCe!-FZ[N+5TdZG,MN$@NISaJDdNc1
+Ar(@V6j2K9k'X"RH+5CEmVI2CIG,p3Gk'TAKAj1aPGBpQ@CraGXr@(N4c6M`Zq1-
+h-qScF!VeRiXA'Lm,FHG@M,E0X(T%(E'f2Jm5p-Kk,[5MJ$-qk3,deYD8HpMiHK6
++(dV6Up2hUmF6#c2Iqh)'YcqM'"VB-cQaG52Aq!ljD0Fj$Pr0,Yj2+@FVf(lf&XC
+kZ*SSeGZA,(e@A!eb%CDTV+&FUAZjipSU&lT80@FJDf#iaJDfi+FK(UT,bfpHS"0
+$lR`V)F2pGB+&EVi8N!$el18'&1d91SThQ30ia0,H6lN+a(FJGXT`'pShNIk+14H
+%Pa'C-,*AH92am+HqK0c0rRRrBmFjel`pGcR,)bb8l@'L2fKkAjkpLTi*N!!iPr%
+cQrKTC02B1k&fRPhmL)AMjV9fVf9Bk&SQ8R"XMNYY@A4P"63fqNpNFKFecMMIehM
+YYjN*j@NZ@$+qR)'X)r4M!eK*QFdka-Crc@04IhNGbAY$'(p*%3BY9lTPEU1VAE3
+EILZpKpqdGCMDel490ifYYMeJ"N3BP2*lDYYA3IE!Vk(b$E-1aQm9p!Y2X52E$pi
+'LcEehm0PS@m#1SC1m'G#q8j%XVYi*E+KackBXp)H2rYb"V-rSaJDb$-jD'bFc`U
+ep,m2l1qUJ$%qP(U@[52(Z#lr*F0#GBEYbCZT)kIm*!9EFU3CMJU[rINDjffplre
+FJDb#iaJDbi+F0M@`P)GQqdie2Gi+r),Se4YR5pAqF8rFX%+VfZ)e#0,BEU!YpE2
+QD[6FI!Qe3l`#Y9NeH1Keer$rP@c4Gc85BrRqU*A2(cILVqc%+)$)TZMkhaS'l6$
+6b4!GA$[[LpQRrP!666JH8$50NqNrNQqVDIUIQrY(jAK3JAUkl'bEk%@3!+NpI4E
+9rRrYcik[$NVXqbe8KrFM$1$9,806rq%rf'3`P%j9KTb!N!#2dB`%K*QFj%hq-8Q
+ACd"G,+1Ech3J3iAI0Ykf96IMfRmRP,AlF+PfdSLQh)A3+mFj!XIK$pAKh6MAPLV
+`*%rTVl!'*IU`[,XMVT-b081SM)LMFRk(NMl"-fbUqES(6jRZQq+hpppF%+rkC0@
+3!1@TPB9P0b$Z3%QIdB`%N!"QF1md2Zj,*Km5-'+0-M`,d"+ajZp3HD0b&pT6*aX
+10&jU#@dh%DkmrA%TpGFGJpK(5I2FYf!mJh)#5#iaJ*,JT`iZ@'Y[r2HpkY!Zrla
+&mQ%-6TKAjU-V5$$0%r&&Zl0lZE*XXI2#J6rbmZ0pQbCV()K%JeCiCMCZ#X*&qHM
+"RpbYlJCXmU-5%q35VSk%YVmdfV9@JlK9DM5%DpBNZiMl!'3bqcBeNFbAE4T&Z4A
+hiHkPepD5EUI5MT!!'3$Nbb8(fVQme0N3kFZK)N$6"NX`DUlk3$Ek+fY+1UeRUh'
+d6-iKFJcNISaJcNQCbdVdhh'5!Xh2AYNkVIUiU`2XPD!1r%6I3UU,eKHm[C,B5c%
+%C#AD+PkErc@EpT*K599Ml3Eb'T5ASP@p@Jdk@5)%ECcjqI@(q4&E*SQ-'9fT-I,
++[eJqrjK'"hqeFBlLSp8H&hL8I"X([eRRQ+R)-qIdB`Ci-cN+$V`KR$RCQ&*8Dr9
+rLfYe-dGYEf#,Q+SrEN@YpakrC3Ip5-eTmf6j+8rR13@rAS`k+93TX`FJc`A'-'H
+i+Fk+GlG)r%qX!CDp$PZX90DSe!E&Bpc5djIaSN#*4j&HXDmRfaB694YHTp`I&5$
+d+%LbNJEle)&M+Y'I&Jk,m[9(@`qZMM@U'[Y4[frH81klLYYmdBl#AImBI($LmJ2
+5-U&YrBHRjDlHIV1%9)1fVjJFELHhJ)G&LKYXbK@Q0RHI@d+lq!bShp5G[D,G6PZ
+X[[DrUR9QChhLZlal)3klN3H8"b#!Mp'-%"*QF49a#b8%YVH+NYfe2NZ[@f-,qf[
+Zkm6D@J[erlh10ZKPXG%S4,M,f0lTrJ`0PM[Zhq(ADT,ZNf,e5+&!PAVIdL#-8#m
+#Um'3!$*Rp@(DP`Cl$J+&JB![$R#h(Nhp1pQR`dP@&h)c9V10eJJcmhN6N!""Rp'
+-%%'Ca(e[6@JVmmrfb3EIpTG)VSRNKpr-DlaCC&XGCm3HX6BGK2Rpp2Ybe+a@hlE
+!HYT5(k'RH@ZCb###iaJJZ#R&[GIh'@CZ)NPNlPm*IQDG2lMMpEDa2Rr5b&Ic[rq
+LHGq5pBXSRfUY%`*k[jd,hQBCKVb3!"pMiZ8cEb1m,EfSrHTYRm5K0CZ2$`DFV!b
+A9!0'6r(TSkr12[jp4VZrP`r',q`ibeEq0,i2P&$4$iZI*3TVGka#EmG"l+HV88"
+4em`1Fr9ZN!$G5%Dr,(6DE%qL[2EI*NEZ9-S&42*r(l1XHLj+1FJZb2dB`AC*QFf
+'Tq'FB1l$1mlH*(f'D*V[NV@08k9Fjk'2X2NIIDd3rqm,E9YZ`P'%4M*QH'd@#LZ
+e0TZjHcbE)ICHhPGbMh5U4TX,1JMNYI'hZ"D!dqr8`aCf[kir)(Yq(P"RVS"jdaN
+U21Zr5bYT3XYrdPCb#lcqM'#lJc1Em(,J2*pmf[`e-kp(mHX0&c*1CpEX-*MX#-Y
+1hMj9)Nc'0Rhf!AMbmKdpdNBX5bHHYR%'%r,N&h"FB`AG`8j,qp6bKGHD%8*p&dT
+U8CblUM,5,r6TQZ#8Hq&cqCma@q5dd`)bY2G9LqAdL"ZM'%@I8"2f-lq'0&cSKdd
+Ei%[MkT3mHMAJ2Tjj11R5,eQJhcmmmm5AM"X1LrNIBhHRIS-p[cYGCFrKJX3$4i4
+1%fSdErD5J-D$YY92DG[X4IXkaZLpTaiZ2IG-Ee*XIb+%Ic3&jH5a4Xae40#HQ#m
+`em[,G*Nj"G%ISaJZL6-iCGYiSPD)5H[KiHcRJ`f[TeIq$lfap+qq)m3Kp1Ue#qV
+&p,A@BC!!H5AR[YTl4"lAaFjQqh,4UVeTPRL[HH-kib6fkJYHfkEdS5A8c"crl8"
+(L-Mf#$#0EN&*3c+X[8HlNcCl2)ffREKFl8C&!IbTm6N&eRp'-&e"QF)@#E#rhkH
+H%eEi5P9BFSiM92'40%602"P'hq#hhp(`r,%9XNmKY(k`VU+UGm$@f#%Aj4Kl,N&
+e"FB`A9`8jUS5YG[q@qHP"Trh4"['-q#PZNGP#16ZY`p3fkCY9l8ZLDTd!(Ch+mM
+2Sb[!q5VE59!hAV)J`,BIRpG(&XiZ3lLCDf5kdGUEk8meB9q'NqU4kkK#F'cNSMb
+S)V#D#bI,RleAl)H(Vfid,3CG@a2h@,6K6Kr*[pJ15&``mP*p2TDVl2c&daE3KAR
+f`1k3!0[H`9KP`6lFrZe"K8Gb@rJ[RJNPZMN!SMp'-!SNc1EH@RL5`YqlG-kr'AQ
+Nrk2J$3l(dN#DjBZe-0!2[KC9[[6$V(ZLm3f'%f!9IFQACf$4R!`aMY%1dQRlm49
+%V@S12%46T5,)%S-FUpHa8TE[ffmRN!$h&UqK[C!!Dq0Ym$8r8i-I`2Uc*,L*AEh
+XabFJ&Cr4M!+JJFbYe,*DXBFI[)&5d[rQRce4i`T1ME"T[rAq+MhkM52PKpR01c9
+#eiVGaIIV4TF!!!-)4d)b,6j#58GkD@&TF'9T!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!9%9B9%K$3%!"!+""q&qK%F*I!!!
+!!!!!'C`!!!!!!!!ACJ!![D8!!!!!!!"RFJd)@qp,i*mNXYQ2(Ha3+++RBPXZ*qr
+pU!k2CH,dRUr"@,VTYi$M@-QNh6LM#`@jHlkD*@Dlc"cqNl[H2$bR@liI(jP-U5Z
+@FeHdG2h$krG)0QGIa[*k!&b8UjPh[,p*P-iDDRY22kaYH@lId@&bHD(Y9j@NfQV
+AE%eAJEfc$@l"XZiHBU0@9Hm*cV`EVS0CYKjG*C@hi!D93VSADr0(b'qh*ZqSFjD
+,9Z!iKDlKqA$2l51`&1TkUrcIQRkVj+$3`85MUA81+i*9+r-$K2Im$l+665Yf4DE
+D*N-H(4#CLBdAkm0(``hN0kZk[)Dk''GcCb2NcC+CNfmPESGl3b0#VCa%-ZU3!!H
++1"j2MRH(*fj*A3Cp$j1%pMSFrMcBprH!`0S,[f-l[D$kGG+NRXhieDaNbFdmVBS
+-2TfZ!r*,cLRGr3J0SKV1cKqf)rm@`!(Nr#k22qj+PmaGU'PI#6`h,&ak*mC$AX@
+D)$e@31T1!mQR1'*c,1bcYd"k&dYi0$mRCP[YR8V'ilRD"3Zh,rDfEXBGR0l%H'p
+r86hGA[kLjB9U%[p!CGc*hbGBp9*`$pSqf2P$b1TT*Gl)0*3DSRRLF(Np@dSdpl2
+b'RlD$&MKBmf@YKGKE@HS(Bjl%A#mXDV(+aKUXE,ZcJfp+cVaclCq4V98FClIAAI
+I&0GQV"U[hVX2Slj[1rdiUYbfrM6qI@1'pr8EhGA[lHb`JEN@b6DM#$qrA5r1IKE
+!fRr`dl-QV3,XipB"Y++a@Gp&jRpBq2[le'rqDN(FUj9J1FBqj*h)Ehp[9h9lqed
+-)'"irU`[!l2MXXYNBqe8TFlrNJGaSq2[iaB$P,kU29C+[Kh[0j'VqpkcI9VFmF+
+[0f&pLCXd(hlMEBh2@E9T8Dh@feL2@9e84br9G(l1T(VEkaHXrVYMY2MC"rfkBhX
+qZ(aFjZ[F1FRR,Eaa1'p!,!HjI!eYe,NaqFIkRNCm9S,@FR$mfSpX(FM'dGfVHPa
+e+ZeZi@XUhf-2%YZP@**(cpXpG8FG@-0l+LHlUpP4FX04M2H0R1(CK11m!m0Dhir
+0Qc!0ZQf('d'HI6arM5EE+qiQciqh@Vp2rCk95eRj4ViTTQI5qbl,4!Ipi5S(Yrj
+LpK[RIbi)"JB(YJ3(SAlk($GPZ+bh!pC!RdGA,2NPkjIqJCG)q-Xl6Pm[*$f&iEf
+9'ph9l,Hb`JF3X!j,KKq4'D51*aD6,NPC26fqY`Bh2CEb0Z!$!fPTTB)-Q2mG`Df
+q)IXJblE3(Yc@@!($HbhUlUpPVSBGZrE*fb0VADljdcR!$GMPZJ"V2iXZS'I5i6[
+,2jdB'YrDhS54'5%rV*ddN5NTFGPU@jl@TN9(p50,e!GMT6mG3R2`1qp)M4Y*2p6
+p8r1"e&i(BCCr,$",(m!m)5pq&*X*'%YX-`(K%F+9BrXD!!l$2MFUi$#QB4YXPYS
+)8(Bb5fd,6PXA[Z,r6H$8GNEBVrifTAae[ilijIJhbFfdH'!E32"J*$80kZLHlUp
+A4FX)'fdhhC!!2C4,e)'"fZjlmhdl3imrpVM!pLDY$S'mChQkMp'ec,6#ep[2jjQ
+!j$b9rj3K+iZhB"b&dT*N9C4D"b(XT+P#8Kr)*bS,))5&-ULPD%MYP*(9-N+T8!"
+VkDrH[eVpNI[!Drj(m#rK$HVShZk[9lf@(IChipl9ILM##rYha0mKl[HkhYEc4J2
+ClGL(CdRYPcp[D6h'pc2F3'h&Sc0epS(',A(-MHcK%K[9leGeHVed-*3V'rGE('r
+[A0ehpGFI4GHVI`&%VVXPpD!j3kIU*k(d($GPjH[@QEh6iYqprc6m2`$lYX[@i+b
+r6MTJEPMNT63M1Nke@(T0(G,SdZKC6j)h1lH`mp3$Tp9LY2@6kiK1*3D3!'b0Hi[
+)B#'`K[lIq4SUH#QRl4["G1f#dr2EZUDhY%9MmLN!C&0Rb)Xi'4k6A%e5b2pqP+U
+NUaUYkT,*85TSU`,)dYN`Hc)[`cHk*lZT[G&b`i2(mS[TiITa2!bCFRNLK@Ijh#l
+P89qXN5@VJ20qJ23JKqc35G!3d%SZc!CIq!H3!)rRrVB+`lZa#"iH-$!`15[!iJ[
+%m8RkLG$1P4%H)b5B`'"cqQd5J0rc'JpTGhh(VRlRl!bIHD&fN3$KQpdEhG6Hpl,
+#6m!'+p01aSPJHV"2(GcS,2hKPRiDAIX&F,LhY!kAJ`p1PhYX%ecZF3jq+"m)YQ0
+C9JHdY!iC[HpAG6HpG$$BlV0[D0lB!$Xh0SPCHZhYYFlI1k!(cT210ZicY[EPFpG
+fmamqY",lcYBlB!H[6ihqYEMAm#)(E8ij9[$EEBb@10E9DMYTlD['4!mDccI!pFP
+CqPR3i&J(VeDqUc`JEiG2p(imM`!HV9UYI2'q+JBVPUakYQTf"JHG,&C`-Uh!brY
+R)0Z,X%C,"T8T)qeTCMNr#eZbF36T-5N+P,,@[mKQ%e%ph8`QSZ@'QKjql@jeX3-
+dRXi6RLh2fHYIFYq8S'"pRaVi`024*mS'RQL&iRBR3JF4-*c0-14rYa,ThE)3l4b
+QQp[6lI"6CYXZQ-8qPR[JE@kFpa8bmlh0i&JrRPFkT9dFhI!eQQb"Nphk%iU,j'j
+c*f+%jDdU`c#DMHlUB6Ef@&S5D,+HMTm@Q@YCPAp1lNbhcd`-$R&e[IqAF$NSC1@
+TB!jmbM18Qa'Va+G#q@+DLNH85&16$-*YkZkQ%fZKK8a&deV4q4&GPAIjFN5dQ,a
+314l!-$LMH!b8Nabj"5P&3bZ&4GIV)ipqZ8"JIedFHaKBaklG,(@ekABrIqY3eRp
+S(br6'Qa[m2!"Z,X"cS,N&UfI%DlQ"SZlIe6CkHklI&@*V$@BmL"Ni!Q)HY'"cNS
+[Nm"Nl#f8XE,95eAQSe26C[jfFkdMf2%iP%mTdU*2LI%m5**L*dkB65iNl!,LVM8
+DcHhFN`c3FLHlUD$NA,#dB%4DPIT9&JR)GK!H3d+9JK8DXp0-lD,YCUCHQ2TY+BP
+Q6@3ADlYVZQ[rD`0Va9@k9-q$QR%2%HJ"kP(,Ga+c!3XBZFApGf26BdUf)rR%eIa
+rfFI"qA&Fd9iJ-8b#ZJ+4fl$epr'2aamr(!Z"JF43"`c3FMHlUD$Vf@'Gc*d'RG0
+`f(`)Id"l-2mBqk!BmX(dBHQL)T196bdlMZ6I+#e0(8J!1TTDLApILIl6X+Jc8'U
+L95iiCS1[9h8d(9d-1,Xa$m59IjT%G8GLL#+,[LXBU4-VLDBX5J4q3-N0Q`8D46i
+e24l5GaQ8p+N1hr%"UEXTSbP(Y8Ded,4CD'2R&Y-rE3krUeZZeMD4rL6fV1eKDC5
+,"UaND+,i9DDNH%P%Lq*VFD[fSU4i12#VC-haaY*D(epC[@C1VmB'VpPcfjTkXX9
+SqBeI0ZGrZSZ@M!m!mPTX&3N($LI6M"L*&Z#lh1pF&VQL0rFC$UR(j&X-d(SRZkQ
+Jp&b`P1pelr9(kq(9dmkc1q!mmA1VjD6Z3mS(,bbfBVImb`1G!djBRZc5G5VaFA"
+EJ'0G!rl(J0@REp@p3$RlNmKBdZ'4Bdh`PB5RF%XC0RrY[TipmURMjhaABNmMBkq
+2GfrhEk080I3UTH[pDZrXhl+fcVUZ3c3HMHlUD$lf@(UhpFrU9mII([,)!kI%h+h
+2,R&V6*TE[DaDq&BQCfR"L3JX6HdL[#aUQh2B"PaX[rqbbFfYCf@)CS2[9h8d(ed
+-+f4%5HH4fBZbR%'dr0L#%6L4%1hY0$Z-rjEDE'QX$TIbNc04FrE5mG)XTG+b1l5
+&2`EF0-@TpidJ$aMVA`04ERhiqQXJ-fL*qc2f@h+`Ye[LE,V*DeqYkXiKd41k%b`
+9KcMq$01fJICQ6h9UMj2rb8P2dRkh8)DY'ip[QjU'hqjjf1G,R3S"&KIB@Q'2m%R
+#(J,rL@iQF$2P0IL8j%N(%ihB(LJf+AL+iI%iM3c)L*lZTN4&b`hd&rJfZUkjDjl
+4(U2Y%,5N$!iSj)0H@,dKIGX(hJr(U5"[4UYGm!kp'hZA"3`FbY"ENDXP9K(lJ,N
+Hi+Z8#R2FIpHcUA+BHZK3`pG,e$JPqX[TRp*[er23bi*r-hc@"bl(GDlQ[',!GE4
+!Fq!XL%-b)MHlUC%[CB9S[e65Yh2hG4h8Y+02`5FAA&jaF!0418f&1,@)fVZTY+E
+0rfmNc-6ZDD3@CSmLD4r*!c&%SSM&5SCN5pAG6)PG$$)5)SCRqB8VajXM-8cZ-(U
+X,G5cK3VGkiAZ*KmcUcCrc1aSIli)qF-X3BC,(3jG16SKiYf$NR[NNe,k95"9,Y8
+jUFL"e"JLl0j6Je6`92e8ZUMTCjkM[baM&4B[p,ZZ,GU)&L3U'6%08h+LE&PaF6Z
+CG`F&15&XJU)fY48Jrc4#"-Pd+IF3MJHS95&Cdp,)FV!-K+T+UFIYcpZVYp8bRE`
+i4Q[14dr,Lj!!VDciCU242Ge04k,PKFNP5XLY1HUfYF*(@Uh&5R0TP6E0I3AA08!
+`08[99F!e`hA)E*Gj`396XeR0B`IdPqX&I!ci1)5C9R6`*",fI"R"lHjN*3,)ECp
+`qI)6j$rZk@4&e-#I$1T*N!!RTpAi+(H8"U+%eZVklLbKi-j!8ici31'DMdEhG68
+IHb`jPi(8CP'8lDLZ5Vjp[EE*[93jm'LC+b-Zrq"ijL[KYLf0$EjS'jbbKhIc0il
+9JY@ll(GBFV$X-e(hUlUDMkk''YaeZCe+-%INX!dp0BmTdQTEQQc*#SY9D4BZfG$
+V4+G5[23J+(&qrd"cQmkJY+a"h8rU&LGE%jN3FRXZ,fEMMFr-6,Z4pa[I8%0ZU05
+`dT1BYlDJ'eeCS+Ucja2JCLEAkPI%MKAi2XI3P&*6r(qrZA[SEr[mCGQ+-+I$!('
+EqNmSKkf2[!j'1UGZ)r#(Fa89J-[1!m@"Fc,[E)ZN8D9k!(JedVAEA)qb'DMN6hG
+68FLjB9MI1H)G!b14QcC$P@,DKcZrK0rq4TfPR1C2kN`*300AY+AfVm%!"dqd$j!
+!PQ9Q9aEifP,q%$NhFI"!01T!kQ'STRfDQd$i-i'"m-QaiX2mD*'(fi@I$Ph)0Bk
+,cQheeq9ILqK%$!lj+Nf!iCU14[Ge04el,#l'9kBmC(RLH#i'"b*-K2)RJB([Zkq
+"Vp)"[5i'"flP[Mf3!#fI[jk2lZF`$S&2Ne#23I`c8GHVZTU1VSB3-S6qE[Yjb-9
+8j910A'qRl([VTm0&qD-$!e3ckfYdYUe+kAJpL-5#JJ3)BDGZQU)kA!QXhDVrr9N
+!`-$88X9p46+IZqb,VSZkAAf4D0&6B(QfjT3'VJB'VdB'"h)#jrMFh+qGZ8k1Hjp
+$ML+JJS(mdQCGeZN3JRYEMDRIDk3$UHX9c&'8aP*058[d[TpIXAaq$YA9Yl,kr4,
+MZ5IA0mJYH,HH'C&42Ge-LSZ@(kdj!5)*C$5N!TD@N!!XjCU,-Qc%Y8mRT-qEjGH
+2!"PebG[3k*'0k4jiL5EU'%93"U)q,Qhd`$[L3(`J("+rNJGm&-9548NV@#,1LS+
+"GGVAE!0G[!qSe[mD[)9[LRBV&B0T+1"NQ0a!"h&X-b+MHlUC&[CBH[%S9+$6d,r
+CC,5ql*lJFlPZcp@@,LI"&")$a4F99498VP,a6fVUJ'ZY@XHEQI0#,X!eDVH,`c)
+YkZkQ4Dk'(HMlr"JRh$`*b8DYdDhMkXrA,RjP!4q*NRrca[%Ya59%T6kLdPI!$`r
+YXcAj-UU[hIFB(eLHH1Jp[`(AqZ5S(KpBFpN4XhIESZI[1iMcTabMXZmjJ(ECpIp
+aL11lfaQhaEBKErY[GeDG@eVZe9f"kk0V69@49f9F'Z[jUeE1XCUdYD'VQejI2le
+-Vj+I#,j,I$hqkiI!2bb!Ei'&'f5AiJqc5f1bHq,`c)b*lZTNC&b`XGfq61Skqde
+A(,ME&$lXPmFGmrrh+@"kNdriVq!eA9qNJB'"[d,rG[p*(IaeJ((Z!FFRRlqI`!B
+((AakZFApA'kPZZp0fq&JcHK3(bBmZi$!f1kqIIRSJE#LqI6!BFXr,lj816IN`BT
+(+2$-M)hZkQ4Vf@&M0b*ba3(,F!FYraM%XS"XDmYJjrhRSIP%"q9rSQSIaH'Y*8F
+DPKIXUD!'eCB[2&AEfEI4SCNDpAG6)eG$$F8eU,i2qFhNbIKA&YY8T!fVlD&h8RD
+5arqepQclINp5AR'Q2hajK8395mYrT+Fq[V5r5BJ5f'(M8F[i`)PH+`8F2f"m1La
+SF'4`*11`$!`2bKr'U#lqIMR!93PH)9'LYF$3G&!*!FN3qr&mdY6-"iX0rr!Gp*!
+!-$8mJ1rr`1eBNIl1jLfSXLK")YpA1c-9DI-i9U-he3dK+hFXNPpbq"NP9bR$0H4
+2Ge0H4FX-G)+F@YqUhI!bJd8JIj,+$G$4q8XS)!I"Z"rF#q*IRm!ehj&Ycp#SJ8$
+URm[jV@IJ@lk*kb2B%8YA1d$`dQffcqfcbbb2*(+6+NbPXT3hJ&m[ZqrXLpFl#el
+dpQMH`Cm,G9XE6eY2keeP[#ceRHXcFYKQ[)hZkQ[AXX-Z6aq,3ff"FNXN3'*BAfi
+IBfVfUS'"JGC-S4LPcV5!j'HI8HGqd5PfT(Vl%[ArN!$QhLUeDUZ'DpHVZTVeG$$
+UbkQF$IlmjCb&q52adR(4BMr0e!d(k!l)Y2drfYlRYMLB4pMGYX$BfhcIbE*ffRX
+q'cSV2IXLlY(Gq&hcH$PjS2-PhiRE)lrIFVH0*4VlRa2)S4q*)BEpNMZPqC%H96P
+GGrcI@AP0jlq#rkALRUlCAHbYQkHaA[Fp*HQZcr2Bqcrl"VCrDfrBcJFY"'1YX!k
+hU0[!khb-QHV8E69ZXE"(SQl1"qVm-db*lZTTNA,$kXadL1cYk0(6IA2kTrITZQf
+rYp8[8Ml%lG*p@2@*[r[[9pjrLJ$PcTHRj,Hk0qD,Kaq4`VU,lR"-pEZJX[aUJRa
+GcE`GB)f&Yk&X,VRME[VNkk8ZffN&V6VPeVdZh&a"FT+MPS6aFLKbLh-#b+5`C'q
+EH-`c6)hZkQQ[CB3-$Aq*Id(V,3VA(Q#jF)i([i125cjCHp%$q@+fAj6VEUYZbQ!
+T@+(e5LRVeirA3!k'`V[SI)CTVeGe00A3`rHAjIqpebXqG0bGe1GYaE459GVq3f`
+iIpBZRGb!f`hI+AbE`BFSlcf2,U"Vp"INl"L-Md'(fQ5mED,[RZr([@ld(,FA5er
+rAT0E5h'2@S"d[,D"!B(&IaBbrf28M!8p&J(F@!GbVFAP*e"3A@B2jLjPTA)k[8[
+CSVR(@$VBpF3[2S+hTDpdP!Mapl8QF2CBdNUK9rY@Lia"hrUa4XVGc@+MBGfLfh[
+@k+'BC42Ge--SZ@'fN@df"kqP9X)"$M'hd$f)(fM!hrmMNBmU2&ES25YJbXIEbM-
+,T,IF1[RQMarj1iE+X!q52K&Ki'f3!2#,aFl'QqU9,P3E'c18M'QTAjMpZ0)UrlN
+[q+kU5jp[NAhPAefIIaq,9[UXamdScQ0,mf!12R!iCKP'ph8`cHb`pENIKe*HYb2
+jk[N$0mLqL$P0mPA++a'19AK@3*,QLFcFI&+mT16Mr@q09Shf`EjUI1m3I&-VE9l
+m-`cHVZTKQZKKAmapcHja[IIFCrCGld![MYDU,beIdXrMcq,PaS2$`mqC(e)iEA'
+TaXmlVcr[2RbJ3$&AkqUI(PDGlEiGIrUpZbhmdaA[2SL!EIk2NiEUf)dhYJC9EU5
+RmSVr!-$3D2U0LNT"qa3N"r@lqGrk'Z0QqD*MK+PM!6mHjjkZDAjBFfZ4CbpM$Pb
+Z[#"-41adl&FaNm2d"XCl(FiH)$BU!0aa%%$i+(#5idJ'"`c)86hG6)8A,#jDqIE
+q8[+4qAh0rcRFY22S$!r0$c(+hBUmf+pLrcM!a9e3IjJ*I1B"JEk,XMkLhm-$!mp
+IPd''[bc-I5!C+lI*69"Aj&!bFQAkrh)BmdAQlHAh,aHGER5EIeV,l"@U#2pZGRc
+lS9a@'`$3H)VdSCN+0lZTN!$Hb`S%1cZeDDJUeMa9-9IqH(KG1AejbqIVibI)&mm
+A*QB930!@Z-EKU9dRQ[p0H9&`EHH"9+&ErRl!i3!!#%G#@#dq3NP(HQPKDA"PD3!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&4
+&@&4)3d"!!3#K%IddS445c`!!!!!!!!'F!!!!!!!!!C`!!-A2!!!!!!!!#ZJP8dG
+#,6j#58FJ)!d0383d-#""4$G&$FPA`I1jAV5Za9#rpY$2U-1SeVfcTdHaa,VjYY$
+Q5Vh%`H$%eFhaiXUqY,&ZmqHNhGGHX+ZaV16k[RDQaX,ATHfdAlG'[9bqD2I2`'R
+%4m22ZEVfB,"Up0A!l,G+`kc#hEE@Y&Lc`k["`X[Y6-'NXmHqU,(&UefaXV1Rb[H
+VC`d0383i-#""4%C$$EMBX9LiDE9dYq1ic,lN`8'h@1A4[0R%ll&Ea@qkXEIb`kR
+!fm4Ua0'`DE$Ka&fkEUpFZE+aIVbKaNM&dX&NbrV#rXA1XFZc6UT!X+A$8,9NaFM
+MTFfLU'A#DEY2Zq5r4X[AlNZflX4lX&@lYF('ZeDV@F1da0#`jF9A`P'cbkh'TI[
+&[HYq`R[AXF,)`R5qXF"KZ81[Tq['aR['IVpY`U'mT-4!`+kfXl6TaQI&[2$qa,H
+bcq0D`%cSA+ElZP$"Yql6X+D[VEYiZh1pElCRjqUbZEAjYmHK[+'mSEbK[+'mSEb
+K[+'mSEbK[+'mSEbK[+'mSEbK[+'mi-S0!!!(4d*B,6j(3NGkD@&TF'9T!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!9%9B9%K
+$3%!"!+%8EcZK&'ml!!!!!!!!!DF!!!!!!!!"T`!!M9S!!!!!!!$4&#9B8dG#,6j
+64d)J)!d0383d-#""4$G&$BLiL116H)P5LAL*MBQ0LD#*S)QeLEU*aiR)LIH+EBU
+&$BU6LTDS8)VbLe#,NBZ4Lj@,YiZeLpD,lia"M&Q-JBb5$BbbM-H0CieYMFZ0iih
+iMNL16Bj@MRH1H)jiMS11NBkK$BkQMVD1d)lRM[525)p*MhZ2Rir6Mp52kj!!HT!
+!@j!!DJd0383i-#""4%C$$C!!K*!!Sj!!TC!!TC!!`j!!lC!!q*&UN!$cN8Z4@DC
+TNGD4h*'[NHF0NQL5D**eNSD5bC,XNZf6Dj1&NmZ6hT2EP%D85*KUP*!!$C52P9L
+9JCAcPCf9RCCSPR5@G+#kPTZ@R*DQPUD@TSY-$CE6PZLAATGNPfqAM*K*Q%kB9*K
+8Q'ZBECL0Q*+BTCM3$CM9Q1QBq+5YTX1C5jP,Q8UQCjTYQR+DJTU8QT@DQCUD$CU
+EQVDD[TV%QPkDh*VHQZ'DkCViQ[ZE8jY8QeZEHTYk$CZ,QlQEZCZmQm5E`*[DQpU
+EkTa"R&Z"PB'9JC@"PB'9$B'9JC@"PB'9JC@"PB'9JC@"PB'9JC@"PB'9$5%K#8K
+$)&4KBQaPFfPL)&Jb!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#K&CrpS4@Sq3!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!$X3!!JC5C@&N6@9#4hTTB@P`C@N!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"A4%*1690A4!%!S3BXIU%E%[3
+!!!!!!!!5!!!!!!!!!!R)!!$40J!!!!!!!-A%rQJ!'%L3!'#!JJQm&&biF-(!#`-
+G!S!)`-&#L`8a%Y3iN!"MaBXJ!9MS1"*#4a-C8B,SD#5M%3'c"KiFL-!F`jXiFqS
+Xf!2F#fJ&3"e!%(6S3!(3K!!!G,$TcUG3SqT%mZB1#$T[3)LTNiB0'4"K3$3*-bD
+0'kacd)!i)J6%%$4Qbm`T!f*+RMPdbV3"F3IZ',9XbY#C!b,2QcSJkXc9qSD1@L9
+T`Ta0SbF0@$GIM8LQ3pPb'$TAdG#G%kB0AFkQ'kJf8XI0'4"'A)"J8SBZLX"PJ04
+TdaV0EKGi*CYj)iH-Lc*NkU43h5$,B4"ZDT0TJ#6*P"JZC,!!J84bCEG[h0JT)bH
+[("!SN!!-5E&GLY`LC0,3f5ljUaNamN'Bk5SArC`kIi&&f!PXY4#$$@3daN3-*f`
+(!JJ%#Q%JJJV+d1#$*`L4a"%e6*JJ(3YHQ1''(4li)4-@XSFK&@'N!8FCD9aB(i6
+`b4H'')("&YjJ$6B3K"0%J&#''iHGSCB8364a99CbY!D#I#'S4N9@@h8e(AB2$[%
+'((P!@+#*#M*if9F4HPLKM*L")-H3!+@G*YTHBFba(@PjE(F#Lbl#D#D)BXjiCiX
+[TV%RLLHS+GH,Bh!f(KYjZ0#!$,+"8-9LkLd*`KMKM9FHK(J'1QLIDIkCTk"JJQL
+KSc0%1LPGlXe4)fKBJE$PN!"#NUA@#II*9qLDFa`QaaKd[@%'Ti$U@@U))0#AjPq
+5RH%QA3HfJ"pSGa$he@FJX2(''*qP%4i)*-3!Jhjb[,%A#66)!-1iXD)V!`i`+2Z
+9Bl550Yk6G%4+4&EdJN#DDD'CpGT`jiRUkE'R0N"$T%Qi%4`EE)4'eh"R%6YUSBS
+*V10C,a!4K&K[D#VVH90`43HhFcPDJkU,YIUUTE1k!@'ZG1`UPkr!%LBXMI(4F@1
+14Z`iai@BFXQcM6M5&I4C"aEUCkF`0MdQ#($%QCI%HjN9UaCSK(I'&81bb-BD,Qb
+AaKP%bU&a[b,`LM0G54!K!PL"P4FT&D)YKKc519)m'(SdRc"(#TIZf+,-BC!!dE1
+hES34-4VH@8C''IY&pj9CAVD&kH4#iT'A`i`l6GMNFibKYKM)25Pc[k+a!3F)TXe
+"QV1b$PXT#RCJ&d-+MYS3UAYL[0'Ba'l"&GeLGZ'PPlcC[T&ijTm@DZHA&*TkSF8
+(9irXdm@5URh#$8bCf&`0J2$%LiJM$JFFE+6",@IK-6pAB)RUYb1%3X#SKX#&%SF
+pM)@+e9bH"B,iQ-%-j"N5X+)8"$EdDMZ'38`E`Y#PQ"(2Ba$LQYI!jJBXT'&+VJP
+J9[B'+p(Blbb%5F1`)XLA0+6&8GfjPaPD%k8'P1`-cX),iaU!*4!NBBA2JGbpC%#
+$!Jk2CR)Uc(-Qf+8lE-C52P[$D0,3KUk%i6c+J`0K@#K%ZUK"-E!+Ja4P4M$L(FL
+)S%'LSb$e)#V)S8YQH9M%'L1DmrKYDSlVPAkQTEUMq5aT'q14$N#3!,mdl-me+XL
+@B,Ei($ZNS3a@k4GN0Y1CfSAQ$BY*h1,#icJ33-i0hjPFj9+(15b`C3H%e*r!@Y!
+%6Q,U5B3Tj#&IF`IjU+@9MAYPR2"&Q#+iTReT1@'q'T!!UJIp8)Q)q5*Hq2,%X#3
+[,hZTT@2d3dPK3[!jd8PGV)B$XDVi+bpD"%%-TLD$UDf*I@5C'"p2m+UI+@e(8X0
+F"-qMK5Z)E3dYR'Dr`N-Ac,'cCqi-j0"NFd`@%XNUD`VHm'DNVHFCc&MD!a@CS1D
+p%eRSQR8i!F4!i#c3D'BbhpPP[jkT&f%kUJ&AZ+)E"'C$Nk%-ENRJk"@64TKqhE&
+a!)[2(0!*4jNY$65[mYr1qS9"$EU'Jai%i4NFp35C$D%1G'(LTH33*lAdkbea3Gj
+GS,QG3j@K,)jM&&p%)c-ZKZ&HFI3Ca&)A9Z*&abTU9)diXq1bRM'2C[VK$f%Ha0H
+9!'!QIdf$6#JK%dl)T"0(`F*4`(#8-!bN!+eiE%`!B!!Z$-3!Ck$*+@MLLS%Na,0
+Lm+`H)R+"ZkJK6UHGJaT8beVCEH'a!!!#!!5!!33!J!%$SF"4%!!)h!*!Yl-Y!!"
+XqpX#!)+i&)L!6!`Lf,qU35CVN!#**'3bLF%HpLJp1-S9%Y[BSeKM)!1B!(LM-4!
+#Q!3!"IM"BeRaf-LLPaDA2F"PSh$C,H5K$RA)`hhabprqqKHr""N!3B6lf!#-K,+
+[TDaP+CYCbNTM)!I)"%e-S9QD[-+c!["X&ccVK6eiq--JPSU)4dcL!"0%!5BHVR!
+a-&X@'d$!"J'!0ra9Kr@e,h9Lk&+rf)+HXCL&$I8Kh)`dG)3@e!!pH(+L'`LRU6N
+`6QI$ZUVaj%+A*daK1lF4M1!Ze9CklF931rfUSXSJeSGDTP4B+&66YN1[RX%-I61
+EPXek9BGIp@GR(m,#GSV@TC*U,5Y'r9VB(,H'dj&bG5CXhHYL0lYJf@i)Q95FI"M
+Ab8q'NR*aZCc-X&#fUG%,-f3@6"Qf8cAPU5j@qD'S1+ZRjkNabc8%M"BIUe8FX)"
+'@qpM(,M%45jcJ5YGm,+8ZpBP[l2f-epp6EDbPmhXCM[lfG#1pV-"d'c54S3%%DP
+#4,)3N6*%a!i4'84%&K%44N4NZJ"B!'(6,H&d'cEGZiJ),b)#M)JF)b,EL)Jq"X+
+!$2"E!rcH!,mj`1m5k2IJ#%qi`Jm1@q45K!%Pi2F+q0d#IXq!hc[J0a,i2GVElS(
+IJH#h*IKpLB8c[-3S6cP$K)YF&2q9)!YiH-4[H`N!L"IJ!RpjI6Rm@`"8J#!C&M!
+"!0!!!*K%!Mhrq8JJ!SSIr%-T3J##%!!K!!(!iLDi)-Lm"r),JPb$)153!-R2rqV
+[[mim!$D3!!NGC",b[cj#*MAr+bCNiJQCJ%)QXT!!b5f18SUMS!+mP3![I!%`J!F
+6IKVJV3CiX`&HEB!h(1"e4hNc$!!#%++mSlMXh5REGFS'il,#Z1``)#aH!"`!Z!F
+Bq`%m!1%23(MQ"eJ#K*X!B5G!Q!S3A[!"d!$K1N!Bh+ErZqP6!H%,QjiB%#i'6Fl
+a"aJ$pKF`rL`!rZ(mV!-J%0%2l9*J((1ZFarEfmqfplFp%1ahHb$8PdQq!5!)lJ-
+rrE-Y1r6$2IjdNaX!mdqhZI(2IA6$A`!R8(rU0K$0Ked$m32Fefi&5(J[))$["Rm
+%)!8#''r6"f-%!!F#Z(83+!F#@'m9@&jc))$hpS'9&hMmKfm%#'-&N!"G*jKZqdD
+#"k!&pGG[-`K`!,#!"c"h,FJ!13Gr"i!1-dK`--J1-cKc2NJ2-cKa*)J!VVH$&EH
+$&lH%IT9r$*!!F8ZS!c1iF6[BF96iF6[BGP3iFMF)B`M!!bThKQLBKQUiKQcBKQl
+iKL!J!h*PCP4KBQaPFfPL)&Jb!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#K&D&NS4@Sr`!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!06%!!!4(3L"B6@9#4hTTB@P`C@N!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"849K8G(4iG!%!S3C
+)bk%5DMN!!!!!!!!"b`!!!!!!!!(,!!#&L3!!!!!!!*c8@%G#1Je"EL"KC#"SEf-
+J4d)JBfpNC5"PH(4PER0TEfiJBRNJ4R9ZCb"',L"-C@8J$3e"4$3`)%&%0d80V8#
+Y3De#V81Y4+e&V8DY4ke)V8QY5Ue,V8bY6De1V8m0V9#Y8De5V91Y9+e9V9DY9ke
+BV9QY@UeEV9bYADeHV9m0V@#YBDeLV@1YC+ePV@DYCkeSV@QYDUeVV@bYEDeZV@m
+0VA#YFDebVA1YG+eeVADYGkeiVAQYHUelVAbYIDeq$3e"4$J`)%&%4N-0VB#YJDf
+#VB1YK+f&VBDYKkf)VBQYLUf,VBbYMDf1VBm0VC!!VC'YNUf6VC5YPDf@VCHYQ+f
+CVCUYQkfFVCfYRUfI$DfJVD'YSUfMVD5YTDfQVDHYU+fTVDUYUkfXVDfYVUf[$Df
+`VE'YXUfcVE5YYDffVEHYZ+fjVEUYZkfmVEfY[Ufr$Dh!VF'Y`Uh$VF5YaDh'VFH
+Yb+h*VFUYbkh-VFfYcUh2$Dh3VG'YdUh6VG5YeDh@VGHYf+hCVGUYfkhFVGfYhUh
+I$DhJVH'YiUhMVH5YjDhQVHHYk+hTVHUYkkhXVHfYlUh[$Dh`VI'YmUhcVI5YpDh
+fVIHYq+hjVIUYqkhm$3!!%'eTFh0TEQFJ4d)a,6j#58F!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&4&@&4dG(Kd!3#K#p1#S3[
+6JJ!!!!!!!!!,!!!!!!!!!!X!!1-3!!!!!!!!h4U59j4%P@Q@U*KQ$5%K!h*PCP4
+KBQaPFfPL)&Jb!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!#K&D&NS4@Sr`!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!#Xd#!!a8B@P`C@NJ-6)[-6Jq3NP(!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"'4NP-4%e29J%!S34la+%82'-!!$[
+E!!!!!!!!(+3!!!!!V`F!!!!!!!!!!'A!!!!%#!KJKk#!1Ji'c*,!`!'(""SqR1M
+3J!+(!aCNc'K!3-!!$!!`S")Q$C`bD8$%N!$a)JB1%"i$'M'5K!Q4*NqX$!3!"!!
+JQ64YiY3CX1G2!$G#%9c+0'!S!RZ)0Gfa$8)!UeL[DX9US!!"!J-34"bES)$B"@E
+0)JL`pUYEY`)###!3J#k"Z!%+j0eEB%&-!adC"'J`@)"J`SJ0&fEJGE"Ma)-c4Ka
+m)'i$`jJ2$cJFH@h!#G5Jl36`$i#%J2ri!B!!)-)"E`!D!#"!m%c6flKckpl0QqQ
+IhX#$#ap1[,MaimL60ce3jGmr)""%32#"$`+JJFkcDpr1[E[hlq"l%m!!)-HZI,Q
+1!L"%%!5Sf8X")8$!-kC!q!&T"i5#'KJ!""i"`KT""K!dJ())!SI!1Xk"J%3%d5%
+#!5J$A@GK!"GQL1'''RE)iBFHAVKE!2`SB%)&8N!JK43pd5D1!#$m!`mQm0$@daq
+2m%-I%2B0C-!$T4'"'M`%YHM4*rJ3p!m5"!*!JK(J!1$IDJNZ&8!i`)`Q("`-910
+F#)K%!)))%N,#9SJJTSRQQQTZ'"!)ZX83"#!63"***2l4*4F)J)5!!!3(r"-P%)M
+m9pm"5IUieMr[!!-))2cp")3)!JKJ(C`""@,%'2RT3%)k)a3M3N!AE2+0)Ibmi`d
+H!AN!3!rcI22(1fFFmJJ%$&cJbalRr1&*(Vrq!`Sb2Q8*#"``('-)8b%YKBS"DcM
+RM`m!%%'QGAr``qDfEA+V)3!'a-(-$H#3!"I3#@j)#3JB%N3K!43p)H!RM(d#!)+
+02"9+Ra!HV6@3!&NB)J(%Sj%#!)B)3MJ(6Nm"4"0)(C3!3X31Z[b6K4&Rk2!6#rb
+-i8!`J-c$$'!Mq(#'*cQ-Jm%jKfb#J3FFc2--$jRmqZXKN!"3`j1a`-!3`,*,08X
+3+JXdpdm"32`a,6lmH&*KYe"l'r@(!#5`LJPXZ!+$I!!XBFH"!883LGJrrE-213+
+)!-J)20NB!+(rII!2M!Rm%`J!!%-k-+3l65&SJ)(!JmmQJ333X60rk*1%-8DmF30
+V,'"MKJA$!#!c-`--%-6*'DKFkb`Fr"$cc"RBR!I1iJ$J36l2p(+12mGmmJmIpcc
+6cMHQqj0+*Jcq8`8930!&`J6J3#Mem90l'%FkScc!cbJ`(%*N'cVNjJ%%4"$L(#!
+Pi!%)E8rm!dbKj#80$hd$%B!)KP$FrBpST5%akJ%!"#*!!J48%JJXI`6`b4m`5!)
+`"V%!(8!#!%c!aKY-X!p`b#`Eq6!%*mlKLFjKS&EMm-!I1#%c(j31@(PS"#,m-i*
+Rj-!Fc*M(-@k4#3VQB4iY-*dK9-%',rQ1#[+jLR85`+INq4"j'PU%"8B4!%DF)Kp
+,J!%!h-#&h2`!"%H)"le5J!"i&1!Ib!M!(mJRTAlGK`,V!`33lJDTQ&JV!!m!4$J
+)B!`j4#)3M+$!!(l`MaM`!ab'Q)--q)#2"!E$'!q)J5HBS84QN!$L(rE)`$kfmBp
+$$1-#hH#'2jjaMJpZiKNC'#%!2S"*&+V`(#hme6JDBET'N!$!!,hVKamq!)jrq)-
+$kb-!%(p)bqXB!J+[H-3p@K',)GcJ(qUjc3qX)`Kkq3N#Y)'#!1"'!J#!`SX"5!d
+5-"5%!%%J*Md4J!5#%!J#Q1)JJ6$$(ic`J6r!!a*aX-%BB-!D4Q3M%2pi`!aQ`)F
+-j)-4T+"Jjc*`MR1-B`+Fi!FmRM'$QJ(,$$%JK(pQJ%PrT2!Ba`KP(X,4M&pY)KZ
+B3-8!M&B#*[%)%$#!JLYR5G+T03)#Fm"3,Q3a!LAZjJF)!)3MM2NRI$%c!$!aP%F
+)-%e!")%f!Y*2Ld4JJQiD!j`CS!3l(2!(B+$6#HYXjcCq*XmC-)!""pS%jmE"ch2
+-)J)Fi-0!Bf"36jJK$!S&!%-c!)k(JY+&i'L(k@#"LJ6dVU-")!3$`!!0-$bYT)"
+0%al!-3+9XY5PZ[P"!3!J#3,`+33mY1N"KA!9,qi8"4J5JQ-&4"qH!)!$3S"!0dd
+KKrSeJ"+i)-!2B"%!+8!9"J-i!!1m%3&$2'+H'c#'!4J!K*1PV+ZEJ!!(H$$3(03
+X#jBiUb!@DN*a2*5&,K4('cb"h$b!!a8)X'%2r1"+''!!!Km0V(LT"S!"4!!3ZD$
+"""#,'aYi`b1Lf'`)&!!-$RJ@#!Hd(i!-*53#B&CL#)M!DJE8)N%J`(liUamIaX#
+D$5K4($-)"JKLHi"2[--!HFMJ(2c$!*2&kJm21%-[(J%2$P`!&RZi!3EZm3PcL&-
+3`I$("eM(Lf1Sm"1C-%IY`Q'-Il6i$Ij!a3(qi*abB"B!r[!(")!KJ%I9mXP5#mJ
+"`J%)9pa!(TM+M3f!d3"!#!-"I!S&!d!"*2rmJ8)!)%GP)!!NG-`'!p&%"J35-'!
+!0(NfP5T%!!4(QY[d4%TDBXUIHb-dJJ3J'&0D#M!+&"!$B-K+ad,02e5!LS'3!%P
+-""JBP$I0TUD`GcF`!)-J)-#R)#6J!q5i,j-"J!8"r!-Ip'(0H0Mh!hpXNNJlZBY
+FK'1ITJ3c33J!KJN)p'L#R&G*NmD#T4%K!3NJB'ZFMVD(QJ+'+K%(QGE1pQi1!!M
+ljZB"5h(1&*!!X9Jb88%"-($!H0FGD'flqph`cXhfN!$J%HU!`!$!)!"ipXh[IRX
+RhJ!21%(SI*S-!'"8#$qi`K21m)8V[*NR!-!,!%#$9`'J#!!`!J#5J%!!4!%!9Q!
+e!,S!J#m!J!`!8!-!fJ#!13!J$ci"`,)B`9J!B!)!RR!Q!%3"J&-!S"8!N!!&!(!
+"J'!!i"J!D!B!TJ'!E!!!0Z-!3$S!m!i!a!-!pd"b!!EJ'!S%3!-i$B!*!X##!-3
+J!$F)3!m#-)3!0#%!8`K!&J,`K3#))3"R#)!D![#'!0`K!(VBN!!K!V#)!%3L!*F
+)!#F#))S!9&S9!AK&!'S4J&XF1J$(#%!c!M#0!'3M!0i)`$J#F)i!Y#-!m`K!2`3
+`J2X*i!(D&-!%"'!"!A$!pJ))3Hi&J!)"i-$h`2qpm)02r1(rRYkY4S-!m#!!4!J
+!%`*!K3"`)3"N#!!E!N#(!2!4PJ&JB!!S'!!1"S#%!@"K!'JB!"i'J)J"B')!'XA
+&!*!!-3"X$!!G!m!(!F5#!Im5!!F%3!3m43"03!"83!"F3!"M3!"T3!"Y3!"d3!"
+p3!$GP!J%i!J%-!Rj3`#A3!#H3!#P3!#X3!#c3!#k3!$#3!$+3!$53!$D3!$L!)-
+%J!i%8!m%`!pk83!38!!F8!!K8!!R8!!c8!!f8!"$8!"48!"C8!"Q8!"c8!#!8!#
+08!#98!#M8!#S8!#e8!#f8!#m8!$N0Jd&S!d&B!i&-!m&`!m'J!!')!%'B!%'-!)
+'J!)'8!-'X!-'8!4jZ)Gkf)Gmq)Gqk)G1B!"AB!"JB!"S)'Rq0KrFSBMC%3!,!)N
+"N!!!N!$SEpla&3,3%3F3!!S3!*XBLCh)G6RSLD4)&jYSLQ`K!'ZaLQc4LUc)LRB
+",Q`KLfX4LDrBLTZiLDZBL3#`LC5iLB*"LEHi&[6MD+`S',HS&jYB!+Vi(`&JM,M
+SLXmSME3"MA5"M0+i&SkfLG#i&YM)LX`iL[1aL[HaL4)3!HHBMZLiMZVBMZ`B!")
+!Mr)BMr3iMrCBMrKiMrUBMrbiM`(J!02SLj`iLDhSD*3BLBl@LEPB&`a*L3j*N!#
+8f)N5bBN#X!!4))aS4*!!QaJ"rdL+Dr%!H`'59Y'*)&Q5'GQ*9['4@pH+!%NB#@!
+T'4Q*!#NBQ`L5+ZQ0l*L6lVL6laL*2XQ*940[%C%@PE%!bM%@QB-!'k%!5,N4#d!
+!"G!96eQ,V-H8q(19C*'9@#N4"P!@"h!!!e!!"c#8BV'9@RQ@CTQ@"'#9D)Q@5bN
+CQl&e!`!4%K%4G'N4@FN!C&%4&0%3A$Q@ImQA&S%4'P'B(I%43N-B!i)F@p'B@I'
+BMKQCN!!jQC*CQ9cK&@"4PQ4K&J5!&JLJ&Uhi&Qm4&h2"N!#kaKGmi4H0&KL2S4L
+3!(%CKf%BMI'DMb%CP0J!PE%BQ4%CR0%!B6%BAa'@Mr%B#C)@BR%AN8KR!'!#I$8
+DTE%"U+%2!%!H'4!"c63"i%)3T5"`h0QGh[QGi"QHiMQHj(NFPRLHk*QHkZP[Z%%
+rZr%6$r!-h"8V18F38I*T!!!$qK%3LEB8l18!!3'J!!#J2k!DpXN8i1!4cM%PqaN
+3cEK*iN-3BA!81#!5!E'BjCQK`l'H(0UK(YT[Z&&S6C%jr[%!hq!2rh!2rr!,5h'
+IeHDI8%J3r8N3raQJ0PUJ,BUJ#KUKq%%3$bShL6DKj&'KcB+KZZ'H8U+KjIQK60U
+N(iSEjY)82f"&KJ!(*$!*%)!"$'!-CM!$1FT1b+CrF##M6$%!VaB3p#'JDKS3K4B
+P,ASJ2q%IBQ&ScU%[r#QKKN!E4%T("ZUMZ#'J54S32+#NC3S-JfTY2j!!D%kkU)a
+UL9#U'aM!$2Be!"q!!4J`$-E`!cNk6'5URh&JS(*U)2PTTVDfTJ2+TZ89%'jURaM
+b%mIJ5Km!$`0`(AC'(jde*A6d$hTUS3E6&)!D0"i`$'%`$[l!!`CJ"Naa$)2`!e2
+D!)hd#IQ!$hj!%!IJ(l%&$ck`5[m`$ZE!EI$!"PJ&$"#&$cl!5[c`DKi3!1#JVRJ
+J0c$!!2jaL!&"(["J!!2`!,0k'c-D%'C`"TP!*)dDX!,EL!%`$!I!#!c`'e(k%Cp
+`"ri"!hJ!ET5+#FPL$Kq`U8,cX"KJ4hID@DN+@kjdUL)VS#%"0UZUUZTbG,!UUl6
+DM,FD%,Pk)%3D%#qk593QS(!`TQJDV'0J$m0J"JB`$$'J(Xa`$"-+"Kh3E3#`!3a
+31@aDEA1*!@-`"TL!!3CJ!pl+$!j`!'eP"J``"KYV#!c`-ZV+VKM`!$$3!2I*D(#
+'#IB+NVpfTdeK"Q``$q3aX(JVX18e"PZ+!DZbX18e!ccJ(q$J-m!`!"#!#@$!T@"
+c(cbK(KU,(pm3XJ&a),"&%+C+XN6f%bF,!&%#"MmK&3M`AE-k%-hS8N%+#$+VT3'
+K(JB`"b!9%)K3+$ia$Yj`SYl`Xd%,R4q"#@m!$-$E!l(V!3F3#%H"!6$!IEX9$1#
+!$9T+[)!3$ic`!!r3[$CJ!-'!#4Z`'@5lVV"!5"Y`YNTNYI0k)!A#GA%EU%aK"SF
+B%RRl[SYDAQI`IS)dYJAbD!-JZ)HV(K-,"XGJ$TVk%3Bc-*Z4T0ieR4hED*EEZ'T
+D)#5ESemDZ[m"!K"3ZV8+!$m3*DPVTUN"6"GEV6jJ!(m!#'`JZi85!X(`DJCJ$0l
+!T3%3#)i!0J'!#@-!$#$6"V',YFB,!`D!!62J#!FJYX!!"Xl,!!i4-Jc3!*X!$pK
+`[GN,R@1l[6!`$"R!#$!3[N,$YZCEAXA'&2X+!1c,D2!laNmD!-q!$8$L!6hX%+9
+4AVl`"S"3D2H+!@#!UDj5YJ--"JAmX"9U,U%+,JZ-Z3(U`+KkS"%-!+*,`4EFM"Q
+X[K0+'Kd-#"I,!A!`$SD!`f*J`J!`"Z2`$eCV$-E!$$c``[rJY!-!!ejD1Ff`,QV
+9!)(!$RS-!$B3@iD3!!(VJJH@HX6fF&Ac!!r`!,hB!-8B)-98E!KJB&A0%J$h%!l
+aN!!2jj!!`ZI`!4RJ$hQ!$pAm"lc3$r1!Vm0![@E+[[P+aZ+mRJ%4[J!`$"lJI3r
+3!%!c(!H`$mi4$riJ"RZFRpX!$jJLTh,c$i&mSmiaS264TJLDRa)-CQ"!'kDl)ra
+CX`3aXrB&!lCX$'%`#)GU6NFh$rk!!6m`$m03Y5mF`j@,bNFA$)hJ$b-F"[R`bXq
+3!!q!B!El`!$(%!qhR-[FaJpA03EBm-[FKJff(-@Rh-f'b,I03UNcX!%l-!0c0!1
+"0!r0`!a068Q'd-d$d-hi1J"K(#AMR0ARb8IQM-i2i!FJfFl#J5J'F"F`3-mKmE$
+h2#9b5Klf1UU#I+TbBfX#6E1H5p#)E#J(,4#ZT0"5BU3!`#SKB9mhN!!*R$!Pe2)
+Ier%)qj!!dDlF-k-F#*X!0JD!bKM#Y`-!"m!`"UjX[&,5$)h!#-CJbf$`"pq3!!h
+EJ`pA03$-S01!i,`fM3%C8-[QB+qE[9Z0jJ&Ul!%EB!#mr3"K%!k(-0c$I3b!-!c
+Xl+qCB!JVc--9UYA3c@r(`!JEi!0T[!1b(3KL(4c18pB#F0Ee$!0VhE&ZhFmM#k&
+d$F'pHTm&E6!)hGHHpGG0)GLI"FE2B!03Lkb+6DR1J3&G"JjJB!B[(!Zr%!rr80P
+),FZ#!H#k03b$%""Kd!L0J!PQd'9JJ-X[8p1VhGSHd'AB`-0M1pXC80X$!!c$J0X
+"i3HlhGZr(3c#6Gb(B,c)E3Mc'`pL#mid&pdklKh$`!$Q(!bH!,BCS0e%eUHpdGe
+Ql3$e(!2)bpEr8Gj`ED0b(E*e[Gji,EVZcGIqi0I!J+(d3prfC3E2%'S"i3aS5JJ
+r!Xp*!J$`i!a#DlaJ``#SA#!mX1#,+m+"m!Mi30)6EJEFGZ'@#VflM&A'!!mc"JM
+I!!lF'kNM$VI$8-!#i3eUr!(li0XEm!#"m1,%$3Mmd11L$!pJ`!`B`,i!`!k3!,c
+MU1iFdfh1`*!!ZmJE$0X0(-lM!'$a$dSZjrl"j$"JS+q+$h#LP$,5Z+kL1P,HTKa
+-*&'#!Hd0#154d-8'$,qkLD@44[Ce"Sp!jS(k"lYm!20`TNfh#5i1jfb+bL&4DqS
+D"Xb0)9N5#)h3#EpJ$hq1iF6V3+Xp$,rm-pK`Z'-EU3r!!d-H#)-!k31JflipPbf
+ZkF-0#%(,!*m1$i4%kXqGkUR1eH3"$(i`$+mHklf"+,4ZTPL&krQ*[,cqDVpZTV*
++%--ql!pXRmGqe`b`l-eHUmrqUh3al8SVj[KGAR`JZi[`ICdF*3D`$4YJ`q)qR9+
+,['NE#1#!lQmGb`E`$c"`[80Fa2-Z[9Je$%emcSUlk"(Vl`$2G63(,J5IcTB1h!K
+r#!VIihM!!r'!#AJ3i0AQ[K+2kJ(a!0JJ*F&+aqKH()LLRrNC"mk"$aSE!rVaaam
+Vl'(c%bZ2XMPU!!9p)#$J9fKU(mC#%$cJHr99hcD3!!f(2DqbQ`LXPF,q%I3E`,b
+9!cD@ZNi`N!$di$!'J''j"9)J8Fm!c%[eA1[`@"8-@Cqp5,h[A3m$`4$`4G4S2V$
+LC4m$Cjrf$)$,BH$f`"$'FMrh1LjP&!X-H3m'HdmFkZS!j!%$F"$Hb([h5HUaj[h
+)Mlcil4BPq5UkN!"[&@LkRc0DjbpKkJpYbe2L8V-E*B$`$cFh!2D`!H[%D3%SH0#
+d`!!GDeT6E$-iJ*dR%!E"Z[!!8SYU@5fX&3YJ!EJD!-'!'5!VR$EEVXVUkf(Bca!
+F#'E3D2j!86YU!m!(A,S-)0`-`926EXf!%hJA[J8$RTmHZe[5ErU9&cTQrF`!"J!
+'-8$Ml3CMS%5iAhkUB'NYj-%!m@IibYp21(q&c((PU%I$rZb&qrX2m)mT%!!'-2r
+U'b8E"cqKFH@X2`1f"))jF!!qB03e'MCh!!E"2hJ'`)!"V**"%!$`!4iSB3)"%1!
+$-"#VXY8(i$lGkK2!J!*9iSk"-3!!2J!2-!#EaV9iQ0il"+@"'3#*3I!0Q&Nq'$h
+qi0)eJ"Cic6JG(Z!(-e$1r32fKATbi)kVA)R+q[%!$2!2jS')kJe%8#"%L4L!"!d
+B"V!"&5S!0-(mY*mH'4MS#5Y2mJdd+[JI$N3Fh!Pc5Qi4"!)!!A"!RDY[)#`i**T
+$a@Ki`bYd0bAZ80d'mP"S-%3eC!V9*P%K'e1Se4k9FSJ50J#C*%([BJ2J4!#BA'[
+ZBqdR-H)6LQ$PFJleULQi+9IeDZL#RGN*cL-J++HP3!$!!3jJAGjQ11bVDlJ0043
+hK$6IF#N`0%G%$X@C18`1k&!GfX+A)"$JSDMbHkh,+0M$mS)2)q*GLcQpcKr'KET
+RS!EL-M5)#*&3GDG6"J")S+&4H,KKAeA%FRJEm"0a1!$f"3GS4)fe"*F#qC-4jL+
+3!)%E"a!42CBKb`p2,P$mJeKR%RI9B*1*h%PG"6CTf"4fBPE$$CfV1)`IN!#5TG*
+D!)!&'kY",3A,K5PS``1`,`BJ9c%&r"3@"GM2%!m!S%+9-'k!&IZL[2'+&[(GM%9
+f`VUb"&UX#lL",8,&Y`JZj+*rdSHiB5$F4H#J&`%!Ar5,Q$(F!%BbpQjdBFba&dR
+`cjLTH*JEh0TZ'$42%6FiaGe3S9K$PK&2XJ%k$4X[44[9LQfXMEMa0YV''J!!UJI
+'D3)LT``!!0Y3`Z)!!0!$k`%!(!)!F%!N!3$3"!#!&!!!9""d!!![1$S!)"S!J'd
+!!-S"e3%!q3!!l!1Y3aF)``3)!"`J!+5!!&!$!X!2#!"*!1i%J#d3!-C!!'J$ILF
+!j)%!)!L+L1%)!"3#mP#HAa!!PN%!X!CPDad%J(T!QL+!!0J!!U!%#!!A)!"NJ!$
+3!3,!"`J!)L!!SS!!U!)#S!X)J$)J!0U!!+J$!U!2#)"#)!!DJ3#S"-p(!(J#!@!
++"%!U%!#h3!$m!J&`$!6!-a!!ed!!I!-"F!i%J$X3!2EJ3!`!*@F""X#%#6mYB!#
+mJ!&!!`C!$l#5!m!)C-N"!!A3MjG-2f$b5iV*-"NQ9GIlJ3AcC`!S1[f$6&"!TL%
+!@)!!`!(e33"!!3&),G"J"Lf@!S!"#J!-+!")S!#!J3+!"`S!*-"#"3!B&!"X8!$
+U&4Zk0cM!!%!"4'3!l)!"f!-'3"!B!%CJ!#b"!3!&"Z"C`!)$`!X-3$)`!0(!!(J
+$!e!1$!!l-!!A4KiB!(i`%3#&"MJ!*1!!a)!$i!-1`")i!&MJ!*!!!@&j!0a!%$X
+!N!$J!&b#!r!+$X!a1!$1i!"FJ`2`$Jk!2%!!#J!"L!!%S!-3J"4!!'S!!4JB6B!
+!6!%#m!8)`"SJ!(IJPqD-#%J!1L!"%)%%`!85!"e)!(iJ!5b#"+!*%S!X5!$+)!&
+!J`5!$K*!2&!!#3"K+Xb%b6!ATX0XQ!h6!LL!%D!!BS!#H)r4a"*P!'He(3*!aY3
+1!S!M18J(%$)l&'k+,Di(pP`'f-14k!+!!"!Jk6*mSYJLL4S!!D"01,-f9BDL")N
+bJJ#i$"`TCJkRRj3Bk%FN)Jb45'MQ60S%EMJ5C2!,"fN!1+6B3)TqNY8N5$q*IK`
+N8X54VZE92%J!)"*e6FF!039!!C!!QMr6Brl-633!1Y%'d!"[-fl#cENT0qXQh3`
+!'`"[kXfmb6IhTYrXQi$cE`V1`%Ni"fF!i%J[k@J1cBU8N8"5dL`!q1S"4!6A3c)
+VT`#SR)fcFCUAM6NBTP-28`$N)A3H!!``1MeRk%4JTc0eSXl9DE98CqS8!"J!GV,
+1""!k4pGdSTZidflU6VSC-N0Q!-"1!)SK*JJ$d!!3`!)i!"S"X"'(!Z!!cUCC'!!
+5J(P+c`(!$*QK3d!!#5!#E-($D6DETrH8RYmcI)*2KXN!X#G6`Tl-8lD!cr8T2YX
+RqhbIlM0q-N2Q16qKCek3!*S+J(NQ62fC2ae!!K#IdG0l3Nb%f3!53!&9Q2acJ2l
+2K&NpNFN1LJR--b$%S`!!Z)S$"EfJF#D$BY!0UN%l+!IpS"idK)*3#TSr[3,m**i
+"`!,)&YNL'!5$#B9+-*6Vc#@cqBbi6MCL#`i569%L1(-"D-m"L%Fm9!"8!!*3!3)
+!"5!!Td%JA)#2B#i#`!@!4`4!`,60a5)3iT%F1Bp$e1[!'6P#'#V!4`!34E5$*SJ
+9bKM1jJ-S!&38!!L"J#!%dTGhNSbm5JDmKb5k!Z5"!!X)"J%K+!3!N!!&V!4b$!M
+f43S)"#GJ"*`!&EJ2%X!)2!%R)#3#JJU3!+0IiME8d3B"!#D!q'1M4b%%p%CY##j
+)JNP!#5%K!h*PCP4KBQaPFfPL)&Jb!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#K&D&NS4@Sr`!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!#XhaeJ!!:
diff --git a/language/chinese/chtex/hong-kong.report b/language/chinese/chtex/hong-kong.report
new file mode 100644
index 0000000000..e5a8bfe8b3
--- /dev/null
+++ b/language/chinese/chtex/hong-kong.report
@@ -0,0 +1,419 @@
+From cheung@mathcs.emory.edu Fri Jul 26 05:22:38 1991
+From: cheung@mathcs.emory.edu (Shun Yan Cheung)
+Newsgroups: soc.culture.hongkong
+Subject: KAHANER Report on Computing in Hong Kong
+Date: 23 Jul 91 19:52:46 GMT
+Organization: Emory University, Dept of Math and CS
+
+I found the following report on Computing in Hong Kong. Hope it arouses
+some interest and discussion in this newsgroup.
+--
+
+To: Distribution
+From: David K. Kahaner, ONR Asia [kahaner@xroads.cc.u-tokyo.ac.jp]
+Re: Computing in Hong Kong
+11 July 1991
+This file is named "hongkong.91"
+
+ABSTRACT. Computing activities in Hong Kong are described.
+
+INTRODUCTION AND SUMMARY.
+China (including Taiwan and Hong Kong) has almost 1.3 billion people,
+five to six times the population of the United States, and more than ten
+times the population of Japan.
+
+Both Taiwan and mainland China consider themselves part of one country,
+although there is a small difference of opinion as to who is in charge.
+We presented a report on computing in Taiwan earlier, (see Taiwan, 17
+Jan 1991), and a forthcoming report will discuss mainland China
+explicitly. This report is limited to Hong Kong.
+
+Comprising several small islands and a section of the Chinese mainland,
+Hong Kong has been under British control for two hundred years. Hong
+Kong Island is the best known of these islands and the location of a
+spectacular array of large modern skyscrapers, dominated by the Bank Of
+China Building, and Victoria Peak, the latter the location of former
+British summer residences. The adjacent mainland portion (Kowloon) is
+another tourist center, packed with hotels and shops.
+
+Hong Kong will revert to China in 1997. At the moment it is officially
+under British control, although mainland Chinese are being incorporated
+into its administration and government. There are the expected disputes
+between Britain and China about how much money should be left in Hong
+Kong's treasury, who should make decisions concerning contracts that
+overlap 1997, etc. Plans to construct a new multi-billion dollar
+international airport were the focus of this controversy while I was
+there, with China, Britain, and Hong Kong all claiming they had the
+right to have final say. Among Hong Kong's population, there are
+differing points of view on this transition. Most of the professionals
+are apprehensive because of the uncertainty, while some feel that
+ultimately it will be a good thing to be united. But many industrial
+firms are packing up and moving, and there has also been a well
+publicized exodus of Hong Kong citizens to Canada and other hospitable
+countries. Other people are hedging their bets and attempting to obtain
+foreign passports with the hope that they won't be forced to use them.
+One Hong Kong scientist asked me if I knew how he could get a British
+passport (I didn't). Britain has set up a quota system for a limited
+number of British passports depending on age, education, and vocation of
+the applicants. Apparently there is an excess of some scientists and
+engineers who have applied, and not enough managers. I was told a story
+about 2,000 well-to-do (and shrewd) Hong Kong citizens who purchased
+East German passports shortly before Germany was reunited. The general
+feeling was very well expressed by one scientist, who put it this way,
+"we are hoping for the best and preparing for the worst." The nearby
+Portuguese-run island of Macau will revert to Chinese control in 1999,
+two years after Hong Kong.
+
+Computing and related research in Hong Kong is fragmented, with
+individual universities going their own way; laissez faire is a good way
+to describe the state. This might equally apply to other aspects of
+activities within Hong Kong, which appears to be the ultimate "free
+market". There is a great deal of creative energy, especially at the
+University of Hong Kong, but I had very little sense that there were any
+coordinated programs among the universities. This assessment is
+tentative however, as I had no opportunity to speak to government
+officials who might be promoting such things. Also, the situation might
+change as Hong Kong's new Science and Technology university begins
+operation; the government has identified information technology as a key
+area this university should focus on. Nevertheless, the computing world
+here is quite different from, say, Singapore (see my report, 19 June
+1991, Singapor) in which coordination is dramatically apparent. About
+three years ago a study was commissioned to determine if the Hong Kong
+government could justify the purchase of a supercomputer for use at the
+universities and other public facilities. That study concluded that
+such a purchase was not justified at the time, although perhaps there
+was also some concern about where this machine would ultimately end up.
+I sensed that a mini-super, at least, would be very useful.
+
+There are six main college/universities in Hong Kong.
+ The University of Hong Kong
+ The Chinese University of Hong Kong
+ The Hong Kong Polytechnic
+ The City Polytechnic of Hong Kong
+ The Hong Kong Baptist College
+ Ling Nam College
+The first two have both graduate and undergraduate programs and have
+faculty members engaged in research. The remainder are more focused on
+vocational training and some postgraduate (mostly MS) programs. Their
+faculty also do some research. There is a brand new university
+ The Hong Kong University of Science and Technology
+which will open its doors to students this fall (1991).
+
+I visited U-HK, HK-Poly, and HKUS&T. All three are either bursting at
+the seams or in the midst of a frantic building program. I had no
+opportunity to visit ChineseU-HK but was told that this is a fairly
+traditional university that has heavy emphasis on the social sciences.
+HK-U, HK-Poly, and ChineseU-HK have enrollments in the range 10-13,000,
+and HKUS&T is anticipating similar numbers within a few years. Hong Kong
+has a population of about 6,000,000 so there does not appear to be much
+doubt that this level can be maintained as long as the government
+provides financial support (these are all public institutions).
+
+HONG KONG UNIVERSITY.
+HK-U is on Hong Kong island, in a very hilly setting. Buildings are
+stacked, and it is difficult to walk more than a few meters in any
+direction without encountering steps. There are some beautiful views.
+
+HK-U has a very active Computer Science department, established in 1988.
+I had met the Chairman in Taiwan, where I was impressed with one of his
+research papers.
+ Prof. Francis Yuk-Lun Chin
+ Department of Computer Science
+ University of Hong Kong
+ Pokfulam Road, Hong Kong
+ Tel: +852 859-2178, Fax +852 559-8447.
+ Email: CHIN@CSD.HKU.HK, or CHIN%CSD@HKUJNT.BITNET
+The current department has about 15 faculty. In the 89-90 academic year,
+there were about 120 students, 43 CScience undergraduates, 60
+CEngineering undergraduates, and 14 graduate students. Almost all of
+the faculty have PhD from Western universities such as Princeton,
+Columbia, Waterloo, Wisconsin, Illinois, London, etc. Research interests
+span the usual range of those in Computer Science departments, although
+I did not sense much activity in numerical computation, and none in
+numerical analysis (I had no opportunity to visit the Mathematics
+department), although at least one faculty member (W.W. Tsang) is
+interested in statistical computation. There is some work in parallel
+and distributed computation, related mostly to programming environments,
+networking, systems, and object oriented programming. Chin's research
+that caught my attention in Taiwan was concerned with computation on a
+hypercube. It is somewhat theoretical and was done while he was on
+sabbatical in the US. His current responsibilities leave little free
+time for research. There is a generous collection of modern Unix
+workstations, but I did not see any parallel computers at the
+University. There may be some at local industries however.
+
+The department has generated a credible number of publications, mostly
+in English, many in well known journals. There is an active visitor
+program. While I was there Prof Robert Uzgalis (retired from UCLA) was
+ending a year's visit. The University provided him with support and
+housing. Uzgalis claimed that the Chinese students he met were very
+creative and diligent, and more suited for creating new software than
+some other Asian groups he had dealt with. He also commented that there
+was an excess of skilled computer talent in Hong Kong, and many
+graduates are forced to accept positions in financial or other fields.
+In fact, I did not see any evidence of an information industry, although
+I was told that there is at least one PC clone (Sigma) produced in Hong
+Kong. (The new HKUS&T has as one of its goals to build the information
+industry in Hong Kong.) However, while I was in Hong Kong I watched an
+exceptionally well done computer video that was presented on TV as an
+advertisement for the proposed new airport. It showed the bay surrounded
+by tall buildings, water disappearing and slowly being replaced by
+runways, followed by a 747 on its final approach and landing.
+Unfortunately I was not able to get any information about where this was
+made.
+
+HONG KONG UNIVERSITY OF SCIENCE AND TECHNOLOGY.
+The most interesting new scientific development in Hong Kong is its new
+university, HKUS&T, which will consist of a grouping of professional
+schools emphasizing science, technology, engineering, management and
+business. There is a deliberate decision to make the university focus
+on technology transfer to industry. In fact there is a plan to create
+two separate types of positions to attract scientists from both the
+academic research community and the industrial/commercial R&D sector.
+Initially, the teaching language will be English, but university
+administrators acknowledge that Chinese will also be pervasive to
+satisfy "a practical need for our graduates to be able to flourish up
+north". At the time of my visit, the university staff were located in an
+office building one block from the center of the downtown portion of
+(the mainland-Kowloon) Hong Kong, but a brand new campus is being built
+outside central Hong Kong and is visualized as more like a college town
+than an urban campus, set along the ocean on 60 hectares, including not
+only the university complex but sports facilities, student residences
+for over 2,000, senior staff apartments of 1500- 2000 sq.ft, shops, etc.
+
+Academic staff are being recruited actively. Senior members are being
+sought by all traditional methods including academic "head hunting".
+Advertisements in scientific journals are also used. I noticed a large
+ad in a recent SIAM Newsletter, indicating very handsome salaries and
+benefits. Many of these senior positions have now been filled, and
+there is a long list of scholars who have spent many years at very well
+known universities in the West, including Berkeley, Princeton, USC,
+CalTech, Brown, Oxford, MIT, and the like. Roughly two thirds of the
+senior staff have Asian names, the remainder appear to be Western. The
+university reluctantly has acknowledged that they will have to pay
+department salary differentials based on market conditions.
+
+There are many growing pains, and some chaos as the first students will
+appear this fall. More than 10,000 applicants vied for about 560
+undergraduate positions. The following year about 2000 students are
+expected. Plans are to have about 10,000 students by the end of the
+decade. (Regardless of the long term future of the university, I think
+that its first students will have a very rich and rewarding educational
+experience.)
+
+The following chart describes the planned enrollments. Figures are
+undergraduates/graduate students/faculty & staff.
+
+ 1991 1993 1995 1999
+ ---- ---- ---- ----
+ Science 180/30/49 835/130/129 1503/365/192 2024/430/263
+ Engineering 230/42/39 1054/126/120 2070/433/209 3192/726/317
+ Business & Mgt 150/60/31 1034/210/104 1963/474/161 2798/627/226
+ Hum & Soc Sci 0/ 8/15 0/ 61/ 50 0/155/ 80 0/200/110
+
+Within the School of Engineering, Computer Science and EE will be
+co-equal as the largest programs. Surprisingly, Mathematics will
+eventually be the largest program in the School of Science, half again
+as large as physics, and almost twice as large as chemistry. Perhaps
+this is related to the strong Mathematics faculty, of whom five have
+already been selected, including two professors from Brown (Hsieh and
+Shen), a former department head from Princeton (Hsiang), and a research
+mathematician who spent 20 years at the US Naval Research Laboratory
+(Yang). The Computer Science program will be headed by a Princeton PhD
+and former MCC program manager (Shen). The university President (Woo)
+was formerly President of San Francisco State University.
+
+The university is planned to be a first class research establishment,
+and funding has already been secured for programs in biotechnology and
+information technology. There are a large number of additional proposals
+in areas such as advanced materials, energy, scientific computation,
+manufacturing, cognitive science, and others. A Materials
+Characterization Center, Microfabrication Center, CAD/CAM Lab, and
+others are being built. A computer environment is also being developed.
+It will consist of heterogeneous microprocessors such as micros and
+workstations, connected with a few large minis and mainframes via a FDDI
+(Fiber Distributed Data Interface) network. The network is in the form
+of a dual ring of trees; optical fiber will be routed to various central
+locations, and then Ethernet cables will connect to individual users.
+The net will not only be connected to offices but also to all campus
+housing. Some of this network is already installed. There is at least
+one HP 70MIP workstation and many other workstations are presently in
+boxes waiting for installation. The university claims that every
+department will have or share a computer lab for use by graduate
+students and faculty, and every faculty member will have a workstation.
+
+Well known software such as IMSL and SAS is installed and available
+through the computer center. The new campus will be connected to others
+in HK via a 9,600 baud line, and a T-1 line to Britain will be installed
+sometime in 1992. Plans are to link the university via real-time video
+and data paths to Asia, Europe (via London) and US (via California), to
+allow it "to become one of the most international of all the world's
+universities"! Certainly, the failed supercomputer for Hong Kong would
+have been very useful. As things stand now users will have to find
+creative ways to use distributed workstations.
+
+I have no special insight about the future prospects for this
+university. Unfortunately, I did not meet with senior members of the
+administration or the research faculty, but only with staff from
+Computer Services, and one member of the new computer science
+department. At this point the university has no track record and only
+an energetic new faculty and developing physical plant. The university
+could become the high-class research center that it hopes to be. Mostly
+it will depend on the commitment of the Chinese government to maintain
+the path set out by university founders, as well as that government's
+ability to sustain the university's financial requirements. For senior
+Western scientists who have joined the faculty I believe that things are
+more clear. Most of these people are in the later stages of their
+professional careers and the university now has more than enough momentum
+to carry them along for a number of years. The same would be true for
+visitors. It will be interesting though, to see how successful the
+university is at recruiting mid career faculty, and it will be important
+to follow progress here during the coming decade.
+
+My primary contact at HKUS&T is
+ Dr William Max Ivey
+ Director, Computer Services and Telecommunications
+ Hong Kong University of Science & Technology
+ 12/F, World Shipping Centre
+ Harbour City
+ 7 Canton Road, Tsimshatsui
+ Kowloon, Hong Kong
+ Tel: +852 302 1411, -1533; Fax: +852 736-7088
+ Email: CCMAX@USTHK.BITNET
+although his address and telephone number will change within the next
+few months as the new campus is opened.
+
+THE HONG KONG POLYTECHNIC
+HK-Poly is within walking distance of the center of Kowloon, thus an
+urban campus, which is being expanded. As mentioned above HK-Poly is
+more of a vocational center than a research university. Nevertheless it
+has about 13,000 students, although only about 60% are degree
+candidates. I met with
+ Mr. Dennis M.T. Yek
+ Head of Department
+ Hong Kong Polytechnic
+ Computer Center
+ Hung Hom, Kowloon
+ Hong Kong
+ Tel: +852 766-5940, -5932; Fax: +852 764-2647
+Poly's computing facilities include about 8 Vax 11/780s or equivalents,
+some PCs, and terminals. There are no Unix workstations yet. Software
+includes ACSL (for system simulation, including solution of differential
+equations), IMSL, GLIM, Ansys, LP/Protran, Macsyma, SAS, SPSS, AutoCAD,
+various database products such as Oracle, and a fair selection of
+graphics software such as Movie, Gino, etc. As usual, the computer
+center is overworked and understaffed. I had no opportunity to speak
+with any members of the scientific faculty.
+
+All these schools are connected together via electronic networking
+(Harnet: Hong Kong Academic & Research Network). The individual nodes
+are connected either by leased/dedicated circuits or through the Hong
+Kong Telephone Company DATAPAK service. There is a common gateway for
+access to international networks. Interestingly, there is a printed
+directory of electronic mail users that integrates all the universities
+(very helpful). This might be available on-line as well.
+
+ROYAL OBSERVATORY (300 staff)
+Main contact.
+ Mr. Yeung Kai Hing
+ Senior Scientific Officer
+ Royal Observatory
+ 134A Nathan Road
+ Kowloon, Hong Kong
+ Tel: +852 732-9331, Fax: +852 721-5034
+This is a department of the Hong Kong Government, that primarily operates
+weather forecasting, cyclone warning and related meteorological and
+geophysical services. The main facility stands on a wooded hill in the
+center of downtown Kowloon. In crowded Hong Kong the land value alone
+must be astronomical. The administration is housed in a beautiful British
+colonial building dating from the 19th century, and one expects to see
+white-suited moustached men with cold drinks sitting on the veranda. In
+many ways the Observatory is a world apart from the frantic activity in
+most other parts of Hong Kong.
+
+Various weather information is collected from ships, weather buoys,
+aircraft, island and land stations, and data (including video) is also
+transmitted by weather satellites and microwave. This includes such
+things as air and sea soundings (wind, temperature, pressure, humidity,
+solar radiation, evaporation, evapotranspiration, sea temperatures, sea
+waves, tides, etc.), radar, microwave cloud pictures, rainfall, and
+others. A Royal Navy officer is attached to the Observatory with the
+function of liaising with Navy ships in the China Seas and western
+Pacific. The Observatory is also responsible for coordinating marine
+data for the South China Sea. Advice on marine climalogical conditions
+is given to various companies, especially those engaged in offshore oil
+activities. Staff from the Observatory also teach courses in atmospheric
+science at Hong Kong universities.
+
+The main activities of the Observatory are as follows.
+ * Record keeping and climatological services
+ * Radioactivity monitoring and assessment in order to determine
+ background radiation levels in conjunction with Daya Bay Nuclear
+ Power Station. There is also a Monitoring and Assessment Center.
+ * Time service based on Caesium Beam Atomic Clock, and broadcast by
+ various radio stations.
+ * Geophysics and astronomy, primarily to monitor earthquake activity and
+ gravimetric measurements, via seismometers, and accelerographs, etc.
+ * Hydrometeorology, mostly via raingauges for water resources
+ information and flood forecasting models.
+ * Oceanography, including storm surge simulation, tidal monitoring and
+ modeling, and wave and swell numerical models.
+ * Applied meteorology, effect of terrain on wind flow and participates,
+ and in particular various studies related to locating the new Hong
+ Kong airport.
+
+Generally, weather related activities account for about 90% of the
+Observatory's expenditures ($10-15M US).
+
+There are communications links between the Observatory and meteorological
+centers in Tokyo, Bangkok and Beijing (9600 baud). All together, these
+amount to 4-5 MBytes per day. This data, plus that generated locally is
+processed into various charts and forecasts. Most of the computing is
+being handled by several minicomputers, such as Data General Eclipse
+S/140, MV20000, etc. There is a substantial amount of data acquisition,
+plotting, display and tape archival equipment. Databased weather data
+amounts to about 300MBytes/year, and Oracle is the main database product
+in use. There were two IBM RS/6000 Unix workstations in crates yet to be
+installed when I visited. The Observatory decided to purchase these
+after the decision was made not to obtain a supercomputer for Hong Kong.
+The staff is heavily involved in day-to-day forecasting, but would like
+to do more serious numerical modeling and a small supercomputer
+maintained elsewhere would have been ideal. The IBMs will also be
+useful but will require maintenance and training. These will be the
+first Unix machines at the Observatory.
+
+More computer horsepower will also enable them to work on image
+enhancement techniques, computer animation, etc. Storm surge models have
+been carried out at NOAA, and a single layer vertically integrated bay
+model has been run at the Observatory. The staff would like to increase
+this to a multilayer model as well as to perform various finite element
+computations. Hong Kong weather is subject to the vagaries of both
+tropical and extratropical weather systems as well as Asian monsoons.
+Hilly terrain and large land/sea contrasts give rise to complex small
+scale atmospheric circulations, leading to significant local weather
+variations. Some very interesting modeling is being done using a limited
+area model developed by the Japan Meteorological Agency. On current
+computers this is run once each day to give forecasts up to two days
+ahead. Some of this computation will be very much improved with the new
+workstations.
+
+Observatory staff do not appear to be active in research, although there
+are clearly many fascinating topics that could be examined. I also did
+not get the impression that there was much collaborative activity between
+the Observatory and universities in Hong Kong, even though there is an
+active international meteorological community that they do interact with.
+There is no electronic mail, a serious deficiency, and until recently not
+enough computer power for significant numerical research. Nevertheless
+the Observatory has many interesting problems, a long scholarly history,
+and a wonderful setting. I think that the new HKUS&T would be well served
+by developing some cooperative projects.
+
+----------------------------END OF REPORT------------------------------
+
+
+--
+Shun Yan Cheung | cheung@mathcs.emory.edu | Office: (404) 727-3823
+Emory University | cheung@emory.bitnet | Fax: (404) 727-5611
+Dept of Math and CS | "Obtaining freedom is easy, using it responsibly is hard"
+Atlanta, GA 30322 | "If the people lead, the leaders will follow."
+
diff --git a/language/chinese/chtex/pinyin-et-big5.gz b/language/chinese/chtex/pinyin-et-big5.gz
new file mode 100644
index 0000000000..3cbeac586c
--- /dev/null
+++ b/language/chinese/chtex/pinyin-et-big5.gz
Binary files differ
diff --git a/language/chinese/chtex/pinyin-hku-big5.gz b/language/chinese/chtex/pinyin-hku-big5.gz
new file mode 100644
index 0000000000..3574096926
--- /dev/null
+++ b/language/chinese/chtex/pinyin-hku-big5.gz
Binary files differ
diff --git a/language/chinese/chtex/poem.sit.hqx b/language/chinese/chtex/poem.sit.hqx
new file mode 100644
index 0000000000..ac257b7f27
--- /dev/null
+++ b/language/chinese/chtex/poem.sit.hqx
@@ -0,0 +1,757 @@
+(This file must be converted with BinHex 4.0)
+
+:#&"[C@dZFfPd!&0*9#&6593K!!!!!%C)!!!!!!"J8dP8)3!"!!"'5(*-BA8"!!!
+
+!!!!!!!)#&&"[C@e$EfaXC@0dD@pZ+(B`,M8T)#!J)#!J8e4"5b"A58a%)#!J)$3
+
+`-$)i)$8e*3!!!!!!!!!!!!!!!!!!!&0838YA58a%!3#NU3,DT3P#5J!!!r`!!*K
+
+J!!!#j!!!3Yk8,I6%!!!!!!!!R&J!!!3)#'#!Si!#$JCd%c!"[JG0`Sb4mbELQM*
+
+b3!4*3kD-!)*YfS34dbC0Qc),N!$NJB145TNfF%$%q"K`#T8J5kiNB8+%S%q#0R(
+
+Uj2QcU0'LT4))54)3%jL!!rJGpFQ!S%-$%5HqQ51(*S!fBpk3!#PjFZ#rIJ!Sq93
+
+JC1T2#[m#BJ!`DYDY-U0Z9EVK-dBfY`%92!*-X!!VJ3C)&$3J"S"A!!B)$J6M)#!
+
+@+&+'!+Mk-iLqIqkFa"(pe,%6+`'4R!-!!`D2!1C1'@'!#XZ3!#Bp$C`KB3)*(!H
+
+P2*J*+!X',bIj3Laa()+2EGb3!)@J!U$!0@a64ikJSmk!i8!%CcL!B3*L#JNS)#6
+
+!FNAG$!)3+J!J+)dRL$S!"(SVQ@4'R",f$T`4%"P`-"#+#--"`)8*L*J!K3RXXE8
+
++IL#i!)!$Sb!BN!!4*b!K(`McqG#GBr,Y"JB+jCfAhRVY33##'[+"-N*j*UL#Ria
+
+J@'!II[VaT`dB#S`iJ(aQ##$%*(!!`-3h96RKK40e0"&%%Nk!B#8)!8e@'3#AC3E
+
+!A*ep&YTSFC3Q`'QTVGEDDl(09YYYZHh@ffr"*9MFFFNY*d"ccq8Q(AA@QB1GGYa
+
+j"`!%iBfA)RVUXFH!Hr$*4pq1q5'aAhrrP6KJJ3FQZ'#$$cSUa)3%9#KIKJPbk1&
+
+l)Bli%D)NR,MSLSkDi5+-#-K)Sid%i+MMIC9HqQ13!!`0#8'44bDjC*0HJ2$&%qp
+
+3j`)J6N"$N!!JP&N'jfC&H3DDD+3KK#B!2r"3N!!6ZPa)a5011JXYIY@1qm)#3Tb
+
+L8TG$)+%(!#kN%JS)&jcKJJP!T#)+#%Z!NX),&MV!-(8r@2MH&%j!mUi##"--LJS
+
+J,!$N!8H`mBBBBE!a"aD2Q2#&Ne"Q5C!!33JT"!"$$-5"#!,5%-3"!&))K+p!!%M
+
+3*d(aFIE6"%GJmU9m@4)!!0*mF"X"3JJmI33J))Y-XXN)3"(bb#A2SB!@BF$apGC
+
+c!!!!3!!`K8U3!#Ar%[iM!8D9T)!!%!6%"#EJ3)JB-4))U#!$4"S"&`3)D-4EaS`
+
+0EP#lG+F)J!%@6mSm'D!%)!!eEqE%DA1Qcjp!J`SG5V5SdD0)NbTGbV5TdkG3SdU
+
+G5V@UeDYB!BL!Z"@49J"HYc)$-!2!f,,-%-d3NADY1d5l4,b0kilCVKPelrjMpQr
+
+'hVlrh2hE&AL`3X)*G`'#)!"%!!4!##LFr!q4#-ZB48333364jXl%!$&!-d3!$"1
+
+aB!cBJ!dBJdDU!-5H$9C%PFZf,pqZJQMhR@krJhHlH9*9&H2)U``JK!3'!`%"!JJ
+
+LNS1)S1J"%&%3%344%"%8!!%+iJ-"!JVM4""J4%I%"8`3I!&#K'!G!N5!5L#6NBJ
+
+-#5D5L-**%,kSN!!-"HX!!8T!"#J3%#"!J!#!!!4)&0Y0AYhdMhJFLSF!"b)%!dJ
+
+!&'iShMrQ)B"2HdFmFS%)FI`#`#qr`')M,2rmi8XASJ4aNcle!!N+&%0QCH545#D
+
+Tj**-0ZRNNe!1pBBE),`"4aPZc%&(''1XdF!FCG!"3KeJbX&''AD8`3B)G,`"`J`
+
+0B%P'P9GQZ@@A$63`*3KYj&%'(R#m)3FG$B3aaaSJL'"''QH#i%BBEC3K3J0`e#&
+
+Q'THkd5B)CVM43"TQ12U'Q#Kd#N)DFi"34KY`d*&(#QbLJD@HGA,+D"QFHPUTQ(6
+
+)HZUFEi6D+kSJL,(''@l-QBDQEUC"aKI'8QUTSj!!iKTXV-3DLkbbc)+!ak145LZ
+
+Q'h@d)8BCFP3CUVE*FXS''DNZZkNEd+jKaV[L1PVZZHPH1mDFpm*lDVIdrKY`!hI
+
+)J5QZ)V63!JXLQ1"X[5D)!,%*heCEmFAd'K[`aK%A6-E(FS4CKaa8EVTSSjhQ@I+
+
+9BBKj"kCSR0T$$'bkfE'pq1iD+kl1UP[XXHd'I1V!Qq,KE,lJ@VXZd3#rHl5mEQB
+
+FVXrNQSZZd'`X@dDUel)EYE*)9pfe'f8di$!)@*G,a4Y$S"&'[k(LF6E3hBja0m)
+
++dm'``aH,B1c&5T-"-XCh(fje'5D86-I*+EZj-UiY[ea'c#$-h#X)DYbFXlGl*l`
+
+`##MFcER3BYZUTV)T0'ibbTp2$N+ZFECVHFbechNlS3hXRMR00Z-mlaF'pcaYVd!
+
+$'qUrlT*0YEG,BedYkP!h2h@hLc1plpEAhJhfmQ0IRr6HDlIGaYYacbfdh9kA$B,
+
+HA[-pHX-24bc#[i3lUhML&NHmZ1Z2Jjh+EN8lhfQZCTd6RYRL*cUrNFjdDK!DmaD
+
+eZP1ecR'3!)XG!@NR*a$X,RFH,!2-H+Hh0i$*9Lcc9!G""F)qr5P3JmV6R[U8"PB
+
+*LP#'3T5L#0Ld5IN-8qjVfDG#jBC4NFj8a&T9Uele-dpC#8XST*bRHRFjJ-RK$@f
+
+)BUl'T#P'K6#!ZTV@`V)S!k%"mAN6%j[D@R!U[f9a"L$S!E@Z*NBhJS!'CXc8m$a
+
+Q[%[CX3CjG*r)$MC%dJAY@X0+9HU)P8DS`3Tj8eaEkJjQ31#P`A0lj"NCU"J'+f*
+
+4LkDU3aIAK%'8&4)&B`4"'DpeaP3*EJdLH+5X`ZM(9EdTN!$2+ebq8SP(9ZTaJ@L
+
+MiJKrYlN%ISjp`5aC*cPea5c+,T5Mr#,N'N!'0B8*9f``P*M')$HkY4%%DbXP,Er
+
+j2!K5Ee[@5`-)2lM#8%R55ahdh6ZEPkHe64"IPGcF*4ASU(T4XSV-r13cU54+1RK
+
+4R+G-j5T$eFT%r5Z@6GbP(H(S5rITmSGfl#9$I`Qkq186JCJ%CYU8k8PR%K#D"LA
+
+Pkca9c6-j-*YDHPmh!aR1P8V8IHEd9rM8'8m4ASj3l33R'rqe6TpLETk%9"1BmL8
+
+#)5a6$&`keK9&15F4Z+m0FcM$Pp$`KM[`+DX)#`-3b`LQ-8aTNfK`&Uk`UY@J[K1
+
+GKr45RNTi`S(QbDeX0&84aD4%9pfeA65dB3`")#UqXXU[,Fa$$@&)+!!dJ,#E3Tk
+
+qY1E0-F`0B'PBh4`++GNjM%&KVC,JC98RY3LD990Lc4+I4M8%0MLL!C!!9"8CJ1K
+
+Cd)V*Ak1PB'Q,1X+rkXkSK!S8(0jhf5q&#34XH%1AQ[#e1B6K$&q,A4MBX031JQP
+
+Zh*c#Cp23UMa&kE[J$@pi"3#!*J5K)*04LJ"%N3m!%1!663J)06`LJ#Q-"!$N')0
+
+lFA%$pf)"$MKT`!G`XSX6Z0F8BA"[,,E`%NHJBN*4#%C!f$'*Pi$"*!4)JLK`NJX
+
+E[#38`h![,GcaNLRX`ldD3)Gl+9%#pjDK%Hj03#IFkiS#Z*F+3R#[+&$JALE3`Ee
+
+V'!X"I,!)pcBL$Hj&3cEFZ`--Z"F+)5C!)"lJAMf``EdV-$!"BQ!1phU!(1kp3`h
+
+FL`)[C)3!3RL$Hpq`#rH'i!IZ,83rh%Z$pK)!$*C`l`6@i9i,i-'pFaL%HdNJ)3,
+
+dJ4lZGF%3h)Z*)j`j%5a`l`h8i9j1*-1p44J*!EU`C!*!i-S!J)4*!%!*"SMhe+K
+
+1Y9!!`B3N&)3NSmC*3#6bNBK-50B$Z%N#+P"VRac"e#"409)N!S8J(-%P!2JeV"N
+
+aKQT81#-L!F-ArL'ML13$"(p)5%!fX!m*BF3#hJ$($rcaKi"-!"@U(%1,!C!!J@'
+
+!)Y[r#-J(1J%+!c$!fd9J3d8`JS0eH"XL1F$$[`2#!A5!i!"*)%4!A%#1J31!"Mp
+
+`q!jQ&j%%"!3'AR!i#dlJ'!!!)b!p'),$@f!1Kp[JfKN*JMT!-*!!#!3%"4K`H!N
+
+@iA!CZ#NM3`L!`bmJ#K!mJ"!8#-J)EZZ26`3N"F-!`3[@8Hd3#!%%2rM&23,LJ1(
+
+kJ0S")8)fpJf4'eM#i4jSK-02N!!0Kj1!'3kI`5iFVS0"5!J"&JI!#`#CN4@XD53
+
+I"`!2k1&`&6c!i6ASKm1"`!+@!m$P!*!!Q--l8!+(qq!))%!!)$B#!#%N`q%*D),
+
+2J4i3%D#J5N825!6#J'eY%lB!8*Gk3#5`"4$`i"d2!B!'h!%#"p")f,M2[Hjhcr[
+
+Hqrlh`!qqm)G2r1)ErrM)6llbPmrmjMq*[%*B`K')`"'2!)!"qMd*6!"3J@G$`-$
+
+N[8"!!S!'QFJ#!"3B53"8%)"R"#!)!6!i4!C3$eN(a03@Q8)GdQ#(-'LU$!%a3fp
+
+!*Q93"A"35(2!9B-b4dk$,DPL@A)`*h,89)BL+5$JIh-L@34S*QLL*Ui(!S!%53e
+
+`"Qkb+4"B99!J"ijJ"Sj3-Qi`"Pmc+8U90L6S+(qb6FA96LddJ'"LJ)m9%,E!IHV
+
+(IV2`IJ(3$2mf!2CJIpF(%4#3!)+1-!D18%hr&i"8dJBm@)!(##SJN!#!0m5!3T0
+
+)a"@"FC3S8-L#,JL$Ff"9'2JcBe)QCj)QDm)$)"K40@L#Sd@"B#+$e%@$*HJQF&!
+
+bGM#'Qk5$(B5&"1L$!%!,GY!+YK!$-38(c`@!Hr*%EM!&Gq)PD990I0*FNeJXEi!
+
+(@p99R8JZ6L8(P')SB&-RQ"K9)'5*VBJR6$%53Q"H8("rf3F4pi84!@!&j-@,[TJ
+
+4[IL,3d%-ZN!)M!!#ri!2il!$(j!!%)N!!P@!"FeB!e93"5#J#UM3M#UJ#UTJ#0Q
+
+iM6[J!piSMG5i!b0`MH(BM#,JMH#SMFdi!ZUJ#ZE)MZS)McXJ!QV`MHZBMhT!Mp2
+
+)MR93"EpJ#!9jN!!'QC!!#&Q3!+4J#-Ri"r$3M"2`"2m3MGlBM!,`Mp*S"4JjN!$
+
+*q!rqd)`"F!39#32A#!MMX!)$#32HL*)Vm)q-!!2C"J`Tq3$rS!J`N!!30,N#0TQ
+
+6r`!10IN2UU"`$!)#d6Gp!G&p'!%%*d&j$c"J!0!4lJ8!F6F!Bh%536J!kTF$!G!
+
+,!3!&!A!05EL%ZiKr!J'&8NL&IQ1&Uj@)@aJUAVL!641'DI@!Sc@"CpL#@++'E0J
+
+Z'JL((6L(G5L#GqJQ*jJS6V@(FG+()rL(E#1)K!K#,(5)@DL)!("q",#9!F!0AaN
+
+!pC!!K29APNkSIrcRIfX*!!,SPJLSJ1-b2BK8Pi4BKRTSJ@hiPqJ5Kaj)Kb%i5ih
+
+j1BFT!RQCKM'iQ%Y9JfL$"cJBJC*T"MZSQK!K"3"3!*V*#3%3"3'3!!XBF3GG`)4
+
+Q#3&'N!!'FU!P3h"CE)Q)2AL!0ALB35-$1"!$0p#FjrQ$!L!"9+Pq24!!Ap#CP3!
+
+10XD,%0'GbG8Pj9QC"`JQBK)'P[)'DG8e$K3fe5-'PY)Q9")d1I!jG#!(GC!!0Mi
+
+M@9R$,qG801m5,`3M"XbjSEl5SG`$2XdMS[-b"Xc*KC+eS+2MS1J%SA3JSEm#!K9
+
++,"HDS4(e8F(c1@j!SXBP*J'k"Rk$R"qk8aD+S@R68ld&T2XNT#jDT-LPA%KkJa,
+
+%T*(PT,ce8m5*+j)8S925!fB`A8XPT5(P+%4US&ID*8Pk@dq$6ND6"Y,&Q&!+TQV
+
++6br)R'jkT('kTHPdTp9P1m#eR2#TK6qB"-Rb*eK4!B"`P03(!%mC%"MJB5GK!4C
+
+KB0aABEbQ!3&"!D#@%HFA(6M"PH,3QGdfIk(jRk1jIreAKDKjK35kQPmiPkp*,)F
+
+jJBP*QhlT+aZ)Qi+jQl05Q,%*R#U)KRXjR$2BQmHCR)AB,T-*@,8+%8%)(DFD!-A
+
+3QGm`PYcTK'JjK9KbQUNCRe`BPkdC+A5TUhGTKXQUPbmBJaIiUlJ5V)(jJF6U+FE
+
+kQlh+KmATQ)')*T&TL06UR!!!R9UCVD43R3%JB4#KRGpU%GmCRR3`RK%iS+UCRU1
+
+eRZhjRT4TX!!3D35!V5#KUBjQ$C&a%MR@K"B""9-5*QN`"Nj3,4KK!Y'*V4`!!*S
+
+D!`"J$91C%5[ER8i3"%f!E"#K!J"J!0LDB"A`P3"!$8"`!#TlIdiS"QR`"QFJ"f%
+
+!"fL3!!F333!EKJ$ha3%0#`!`%!$b`*r#k+S@`35SmQ1cfTEakDB)fLBbfU"cfLi
+
+fLU0"J`00QU'Fj5Yhfi#TXlGldVHRNLSpLLXLk)9H08QC*688DU@!UU8d#U,+-LF
+
+9UM*S+UCX&#Lfe$9DNLmFZMhHj$e,QNkD+dKX)%`r48`e-kAcdVSYG8h)e6jfHVN
+
+lTEPILMXQLLXS@PQAp6e$!eGc3J-a-!1!p$`[+&4Xm`DVNLS'QLq6*,PcXV`%-ch
+
+P!lhTUU(6SJISdLcG`JCMi,bQBeB&K5kZLcN(&+5EiLKMF%T0d`29QlQU"!1L4BD
+
+jQlIfLlc++dZcdNPc`NrN1i,("EN9&$5!K&[kQlT"ilq!Y,ffT#9jF#Bh98lY3lj
+
+#8lbBQk-jB-"LJX$@#`)aJ$--6$DkQk-32$X5R%8'43F@[$Epd`0J)SPDfbETBJD
+
+#!J**3!9&d!4-G6&c))N`D!,I&!CQi$IT!P-b)bM+FlYSJecPHbdF[,XkZNDcXbJ
+
+8#m80+&QJQd8S)#KTF!E,-PdT!-+fXX@QNm+kCEmfN!#r+-br+Tbm0B$&-ec$Fa-
+
+c1kc$kG,$2ac%%62%A-)ihh5"5E`e6*`j6X`e'6c&S9,&UR[&NZ3X8a,%)1!#Q-b
+
+'Klc%fU6)C0JpMEc"pH["L*URZ21R@"USE$c#QeZ#AMU$cZZi$E#*Z#,#p[["1TL
+
+SPPN!QN#9f2S)24X!,H#C!##e3%Ze,3Zp@55kF&ZZLZUQBh!bFl$$Qh)(-F00$G!
+
+'Fl-'9+#PNJ8rAF)%bUA,"kJR9lM0hDbNG"!$R$8hd(8TUG*AHG"%UU)d[1)Q5*!
+
+!"eFL"aDl5@[cR@G`-YBb,AFJ0dD+Zp*V6@2J0h25KSY#VaidaQJ!VD5,S5q)!UK
+
+N4`[&*MM$4QdbA)MNcXHe!Phi@@r!"QX5dR,`cV!b@i-S$,"eJdK3"K)YTf`LdR3
+
+!+b50-mq$2'iE62QLa6'95U!Fa6lG2UYmbqk6"a4X`6j69QI94VC8e)`V+cp0Z09
+
+6Tk[l2(R``Njp2'QP[hC%e6pceDQVe6Uke(Z$aGFP"pMX-fIDKd'869TP2Kjk`X5
+
+l5-G,ai)N"Pqm[M*M5@XkT(rY-k1X`("m0#Rm`(bG5dhY[5'Fe50F`SQp[j!!c0M
+
++De&HR6CFZ&HNJjbBdLK*G&K-*)*26F5eA!Cm6$RJ'92FT$lA!YS`r+65@U,6)Y3
+
+((F9*RD0[I-++,FHBMEhM%cqGE83SJ%a!%mqN$F$M*-J`@#bU,5LX[F@[l8h)MDK
+
+`hERZ-meHNYebhG0[d0fhVGhP&0kRa05Z)YV+[85`XX-SJ0i9M#YbK!H2cGaXFca
+
+1ZYhQcBA[[GQ*UbV,A5ATdYqK,GrHXYRf[D(j$GjH`Ym9M0!!cYi#6MS2(XAcI6F
+
+*MYmq@YjbaGrFh31,#bYYL!*YXJBJlU3LhLkP%piRRU(-[8Y,IB)9[H(GFLr2&5I
+
+f(%+p4E#re9ZRC10R8)BK(P&fJ#Te-&fUBJCQ8!B,$3+c03I6c!CTdTZaQ3H(QF*
+
+cR0PVil)6(#D)kPYmJXih1(jQ%*@Dq3B"m!3"i!PUkjr),""(LV&cHeaeUk#--U0
+
+bE,J61X$ifk@!qlZ6GGGb($!XUM-[+Lb#HqGi#mPkRU-aJ,mmQYmLZ+G#kUI(9EP
+
++ZYYfkZHdhH0J#XYMHU0P'YGT#Pb`klk'6VQTE,Q$,VQ%fZNkrZQe6Firk,-L%4!
+
+eF*d!B!3"3!reYVC[$J&$d$Fa+qI261F*1VLTfqK"3pQF(VLiSZ`Tc1`$c01++qQ
+
+m139FpEKC(ERf'`0eh+bd$-PYl1MK2ZXI'jm"iE--F&p*S1YDd1ZrlZBX+a"l"B"
+
+aDjl(IU$*VZKBAD0NZZFNA%E2$U1*cU$rVVF"lqKP&1Nq+S,D6SUfl1Jf%+DcV&E
+
+NlZd8AmS&'jmr#!$Fi&MhPCrB'3F"!!rcVSYX+a!AkRpcN!"0"M8PaZk$G0[[#,r
+
+X#prXF&6`L"lYrSlcSLl`bI[ILaY4%FrYG+VakeRaiSla%lrd($mRqQkC!'!&P#S
+
+!JA#C!+!0!H!#!C!!$e%lYI81!GYP8'-`"faTL6)qlSFp`1F1,(8Li`&""3+"p9V
+
+2p9i2pXD-%8(VK2HHpR&IA'`[fGr1p1fLpX8&%A3I!ACrIRMrp@&rc'2I"UL5IC9
+
+B*remmCcBpL6XXBFIq-S*%G3R!HVAArN3!%`3!"F!#0ZRmX(q"*Bbm`IS3S"b3l5
+
+HG3!`!HVRBGX3!2&&$k`2l'22U,+IcBSP@%$9mBVkJl!JK$Ka!`(`!DJI!$d`HF,
+
+IR85J*X@I3iQ5r5j9eHa+KZrp05p34,"L9HdV!N8d+IcG8#,J*f[iiQ6`"Xa&,Ye
+
+[63jdJT05j(0`j'ZLfNZZb6fj+$IPFPQk8e3"iF&BJ0)A!$*0kM-$eSrH#DdbF!H
+
+fhk&)&-2ZTq!+dR1BaYmF+(p[i2bGZ[FhR,L3!2Z$IeC&"2%rrjIN!U#B')!REFV
+
+0[rTA"a+&%k#!K%J'S6[PCjQS!EZj,hC!ead#H@F!VTm6SRbHTIM92,[emkCGcTX
+
+6-L!%Z6,!CI"mhXecJN%[4d9"SSIYCXA4bhJ*E)"j,-Bdq**H'1am88pZ)8!!S!9
+
+N6q2EHPd2mZdpL0$h,%,,ba)`lfUj!F#(*6*I'HaJ8+q$),l3aqA%a"3)%h(,%Q8
+
+q5KGC6T6T1Q[HEV1J-MM&kX#JUhYfTSa3--)5j!JTLk"UBj,`dUfk6+HLbYfQQi+
+
+`MTem[Mj)RSJ#%+K&3H!@!B",*Iad86!#4X4S+3##"`!1D)d%!!D5DP1&+SH9%F4
+
+29,)qPDS$!)!8)(U#N!!`+S+CDHiP,3"`"[31+1K2VQrXrEem9kZ@S*flJRRZ#Gk
+
+4[mACHKi)N!"fi6!,2M!Zq2#bhEDcK0rZlCf+3qH'd#'M%iGiK&L3!,UU0L[q)'B
+
+jJq!Z$8kp!`34C-$0'JR+N!$(M"PP!!)S$pm,GP`ZLf#Lq%BkMN!CB!*eJ"NHVD5
+
+&VG3!!"!*5J!!a)0L*[DkNaJMBipL9!@%mh-!e-m1#!$N)!")J3!JH&K9a"))T#P
+
+@N5YDTCV1&@X#3lR+,T%KAP@"qP)'!PD!53lK+c[NQ(j6F&T@DmML'5FY*H0iR"U
+
+NHN&)E1'%PjJ-C')!'!IH5M5e,"@8PXB9[R0Q2XJRhLVAK1M#R`4b9bX)A['PHA8
+
+8ke95c%f$L6IYUcc8Vk3L`)*-9A%(5VeU"3#`3Ad+#&FJ!'3#!+!'!X!p5(RMCq9
+
+"J$[imQ+'(P5#b)i*JX0lU!jA&mqVKdd`(I+YVAEYfU%AI)G2Edl-!+C("TeHYcZ
+
+$Ue%J%UL!%'N@!,E5!EB'1Y%HKdJ()D)b!`&8S-"PK*!!eqi#`J93M!!!"G"%b(J
+
+6)8!3F!0la6,+2'kSQVbK25aFiM!'%$a8#1h1B@MNM+0ai,&$IZJT[Q"U4)00Er1
+
+paXRQqC3&FcU!2ZMMqD`'F&p@!(,N!FZa#%T!*c6X-%A-3R[8FFla1mf)jm$Mi4T
+
+J1iml9N([Z"QaBfFNBA$%iC(("Q!Hek2pQJ%d`1,j3p*b)61N94b)mJ8!1)$lJZB
+
+@iiMS"r0Z!%`GX5J3N!#JjH1*![)#fE`#k5$$B`c!)jma4Rh('RNJ59Jq,)d6XN+
+
+D`4%f!mEJ8YQ3!+C30EE(HAMl!!!6Z(TCc`lB'Q%!!0V,(!`)GG$HMBUc5#88SH$
+
+$H*+PMEdLc0F+Ea(MbhU+!!$FJ`$!PIK"j(Z)Bqmj4XHBY`F6)HK$+f$59a`-3AJ
+
+R!`*d)RhCDK8`,'53!*ff%i[d6UfYBV9#Y)LH$02'JS)GUdNqVGahAi!!FV41+&)
+
+rCX2ZY!dCTC@UFpIa3@A(9XBQ[05#$*8!ld('J"d&*)dHDV53!$P+H@P)ecJN,k3
+
+mR&D$d5f0(d**!E#9-L3aZ8i40-55#+kieqbB@HUUq"Nf`UF&)9hfSL1mSK-+Z[F
+
+K-"DEDX3"0i#R%Bcb*F(%a26bELINH3!j`(EUC*I1L&rmE5l*%Fkh`&58CG0VE`*
+
+EaS!ATq"SR-UJDcJ1L+K#ppLlH-F+4()!N!$*[8"833$6aSqMDq2aaD@R1(ECVQ@
+
+fp)X0-eiqc2NA+HbI#,L"AU@IqC!!D6'ARJHlr(,`XC`p*qjMpp4-!JJ!4J!!X!1
+
+5+2Qk8k9i3BmMCT3"-X!(hB!Ic*1XEA@-59CiX3k@cV*l8[*N4J%!-!pB*TcX6[j
+
+R6Xl-QRNc19'Bp(BldfDf3J!J$`$!FI56(JF!P$N8L3dMBl",QU-#-`l)EdJM4H@
+
+$P!%*XP453A1)+KAHfBb3!+d5iVh+@UN&bmMD!*YEJNl15[9)0pH6h@3MH&-kUK$
+
+"H"8*BN!3"cm`)%`"!-#8UU%JD(1EdJQG4+mK0Q8NJ9ad2&,JEF%FHI$+CUS-MeY
+
+33NB8a`82H4X,Bb16-bAZc9S'+i1'iH1A)I1a")!bT`(X8`$!!jdT&8"1VcRfiPb
+
+!h(H@NfaL6V-*1YrBX`0d`HZXK5K"3JpeC)-NRMe5"V`ad6RT6&hl-TH1`Y)CU9&
+
+Sd`iE1HbABFTjk6NceER)jI8FE0Vc6@8T8NMZ,U(N+*qC8$BDV#j$YK3R!"!deG!
+
+AA%-MD"&HjN+VR+"b4d*2cHQh1+F9p*aZ%h6k,HV*QdMRHC3"1-0jqFqBU6I6)q[
+
+XQe#3!*ep5-))!*b!9V"lDA*0YXNhf4[(AYRlMc9clH&-HX)Rpp,8$)NM!)5U56B
+
+C!0cNPD`m`Dj6GXNlUIRi)3YGK5qS&8)R%L"$4@J0*D&B-YK4aM`i(5qI#e91ibj
+
+-iSX@'N4l*J!)L5@JL0*3'dSX,B+,6+&IdQRUb5N+4%p3!N`mYV-+H%8l%!%MTdA
+
+!Q"C3Kf4!QAQ"BT-(")%L-2fK`%*b!Z@9#M4b!&2*#8`R4c"MB0UBJ9LL"Pj-(+M
+
+rj+Hk!`$0l`6BcP`h%kG!'q@Gf%rlr8iIa2di!ri$Id*a6Ya4mjFS4Z$k5bM`,&'
+
+J32P(ra,TrIYq1E!"r-[r*dJ&B#'9FV#1K64*kU-FFF*p5Mmc83B%[reS%@"I-i1
+
+4LSVf-CCGZJc9$`qBSIB&!Ja60bS3L0mQRAh(EjR'cXF5%8(!)I`a6P4U+UG0k)D
+
+5*aZ,K+U1%V,2TrFpibFj,9fH8+G`b&#i2G@T6CXJ5UqG'USG"d3chmGMR,"3&P)
+
+!BXJlE@%Za!QhN!!Tl-*H'"!5!$JB!N&!#NbU@fF8P-daM%SX+`'d`9f8!j`N6VJ
+
+[!)J%!!!r!!#b`#9YMS@`q'NXrA@pF%!0m*!!20"`2NPX"3!53H)"!+%!!(5"NhS
+
+S)k*+GC3X&36BJ"U3!!2Ni8$m33MV[V3#!'"JLJ%!F!-m96*'J6S`+J6R6ie0#J`
+
+'c!!C)#QK8c3%!0'!U3+!FJ!!i%"8$ACQS'6JM9ea9GA6R-!"-#!(`)RB'4#3!%"
+
+d'PXeeD2U!Z,33E9"FfbVMa)%C%XE-&GMkJqb@8SVkh'"1+J!!X#5ZD&C%J,)#MB
+
+!B$"#,fZ*!F%$S"m!X'MS%%4)!-[JVel63X,rdS!BD"5q,8N+eI%B8FEGB9+YV('
+
+TN!$1ekVdjX6VC**d05"8"+d)!*4KbJb*IS#[jS"A)&Spj5aYJB-8"Z,5hZ4@9BN
+
+-b!&,mUL1Rapc-JN1!!Ja6i"UmY8"3')1C4cB2mHdF"D+#bJ#TLUQk!&aS2!-!5a
+
+#a+)P&$'[G+!(M)(#%`6%`!hT!D3(kU!ri#%#`J$l#a8ClEr"#)KLfUD&#+!#FX-
+
+0))Sm-)$S)JJi!QrJ$F`*)H!RV-VcB#ZMb+YJ@'X'4(!'9%X@2I5VD"9%DM(K+`M
+
+)CrZXN6DVpTG+l`H"j8dqim!Qf!AEB0X3K*@`4UR#AK@`3MSa,)P9T1Z99A!*EjQ
+
+**X@iml'YY-5#ea1Vcp#&LL@FZ&+m"S3#N!"MLQ0b$!"5be)@J@Q+5Cf3!"'B%Z(
+
+eU-CB-I4%ETJH['PV),SBP%KKBEX&KZfaB+@6IPP084'a"*S)!i9("9!"XA)PdS!
+
+++$aKBJbNJ-)c"p)!q#SmXU+QlGI0)3,d,*qPDApfi"@H''!$V-VDU#CRUJk`!6%
+
+K!L`LfZJrNeB'60T+@dJm@i!GE4+Z`0D5,',#0XT9b3-k6&0)&&ZbdFk)Qf9UKKD
+
+b5E8hJNYZED)p!a-Y6dc#09"EbJ!81CjNSQE)1,Z@SUTBS@06AS+F$LRaGLQHf#*
+
+a(miL@Y3JH*PYU@fJDlDf,&Ad0HB%T%`FRb*5aBe8a+PBfcfC*D,iEhf#hEii0l9
+
+Z`DcbR"2[GP2%@c#,U0)YkBK6K4Cmh9X3J#L)4Cm)Z'9JhKiAJ*YV"bkLd,Hi&Rc
+
+e@b*Lh1,8VjeS$RGf'0`mF(&cfZ`BR3[h"RAFM2XjqN6(6B2bK)h8VhiT2U&'RY!
+
+Hm44mL&[h!Emf#C!!-LBYDT-X6-j"ZU4PXk@YQNAMENYbDcf"KlQP8[63e0CE1LY
+
+2MFDlhEMb&Z6bLK[%EMqKe-LhEQ,IbPSGj'p*h!e#Z&BAhm,EL*Y`T5kEq,S0YqP
+
+HhC*,GLGZBIQh)THQ!GYl'MkHEUS`ZA*hSX'+fG'i3Ljb'VPU9qbbhC0V&9-ZYIb
+
+KRJjc1#qL3LQX4'3DYXAff,j22$AVMLaBbDhr3"mF3Z`5ZaS9(Y!"$D!3KPjPeJ#
+
+QDPA9QfR9f!k-AI&b@qr,R3S@!!4!9)NkDpT,4F8r8NPU95@2Z(dNJ-f#6UCUr33
+
+!5"!!K%!!@+S2be"+aSNPRKBP-[9"+p9qX5Ih*#Pjc!$i46i!!-5!!!!"!X!d-*S
+
+Pe'@@M$-&Jc$#,4TC@Hm@bB!!S"c"!4L!V%U8bD%"0j!!"ViVPk366a42LP(+38E
+
+KA[lp34kd!0Jp-l0q4d!!J&V`Gqb9M$04JF!S&&fKHl+-*Mi!B!b+fAdC!3$!UHB
+
+kAUJTZfcr(,q$$)$1b%A(2+LGB2fHTr)lPQ"aH!0BUp`N4IIN3Ul1`kYD#b[X0+`
+
+3J9$b9T(UC(!!!*!!!mca82S0EN*rlDm)[T`0D!8rb!+U)0QQ#Ti6*RL"aNeh#)1
+
+YQ)GXMC`)Rjj"Q(U$Fq8M"3$%i$#L8@$'PEK"%*D-#rKbJ)NM,$b6-"3@Kk4bFA9
+
+(HkL%`b1V9*Y"mKh'i"`9lV!`VY$#)qa@[XHB#J$q36mS"EZJ&*!!J9SJ#h6"'%!
+
+&c-!AD!-33!UZJ#[J"m0J(,L#D&"i+,%PjJHP3!d3JhP@H%J"+DJ&f'!6Ri*H!!*
+
+U35N!!D8!#kL#9+!+J-%XaJA@S"E`!eX!#dM"+5J'k3!9d!&6-!eQ34GS"F-P&!b
+
+"2)',G6%T)!+N!!M!!R9!#XS"+6!'[PJAV!08V)a"3#[)!UBJ&j!!JMU`M9i"1'!
+
+&[IJ8Bi0UI)e0J4M)"A'!&,#"8J!%@%%bf!93S"3`J@R-MSd"+KJ'T`!@U)*6B!b
+
+#3$6@"FQ!&PL$B"!+I$%TH!+K)!MmBe+!$PE"%M$&TF!2Q!)SB!VFJ#pJ"Vf!#96
+
+LD&`-q!!+)!AAJ"5)!e-FM8Y"&5!&A5!&%10AX!Tb`4$B"ETJ'+!"8[!&5%%[J!9
+
+S`"FFJe03"#)b#&J&D#!9[!*CB!p)J4T!"@p!'HH*92!0IS%D)!AHS"3NJm+$#SK
+
+!+IJ&a*J8h)')6!Z#`8EZb+CJ&U3#D4!,S-%Td!C5Z3'JJPG3#RL"+@B&Y!F&V-S
+
+F%!0-J4r)!D4J(Cba@I!+9)%e!!(#J"S-JfM!NdQ"0[!&T-!@X!&i,*4K!4r3"I5
+
+J&Z!#BG`!5%F4F!)&!34!JEQ"+JV2$D3$Gd"3))VXebUBi6rB"jdC`IlKNq'#a%5
+
+D#%pRPPM!!"F!5&#!'*KRNN8'h)"H8AJ1BDY`!53X"r$P-aDEBC1@L#VrEEh#J6b
+
+J-1EZc%c1I,PBc,-KJ!3q-`KB!PJ#1HF*%*!!"4UXC5%S*k302EN,C9SY"G!3%kP
+
+A6H5"`K1)hN#4QbeZ)-Me#Xba9p*+IUi59!+f`+CP`FHd'Ch%UZ*fZLLaQ5QH1h0
+
+j2KQfiP'mS$5!j2SI('!XT#-*G+%kF!DJ5dc*Ve"&`4D@"L3&54MqUJ*6`-QGY'b
+
+5,LEFl#J$hl8dR3P0!5YQ"NU$EL$J0XqcV4@`aJ#&CQM)QBIpMKYp,XiKMpl4e+9
+
+CK!S'@`22mqbB%QaJRS%*`,)"RpGcAK-RU2$i(eA4!V3CS`#dG'!-"1NQX+2*!"N
+
+S'9!ZZXb0-J"kid5A&LYX3!GmA*Q#*B!!QRB"@%*,Z)#dfTNElj@@daqh#FJ"j!b
+
+HU34hrXbGH8iVDNA0QZN!FTB#4@!+&)%J-)d5pD+qe*mj0)pQKE&C,V@RTJ%fS2$
+
+NYe1NY63YSI$8PrS'e!$#LNG%-fP1&CBD9FpT)k#eiP@H3,"Z-A-BLXc40rc'K+)
+
+51Ja#Gb$kQjp6"3T3&'U9BKSb*HD'F%!,i#V5,*BJCebG+UC,FVN$eePGEBSRCeC
+
+ZXaY#XHKL5l!"4*&0m[14JbjDHY0#Df!VT19'QRK$elPVTGM4mTbl"(4EE8%k#D4
+
+5CB,5GV5U-"4jS!@dL4E!J'&(Z3jSNbK)8eJf882qm*63%PT,AXb"`U1Kh6@Z@,h
+
+6!NVlDr3&"e!VA))8(4YAI,'*,D3,0TfGCZVU0GQ5,S4&F)AdE!(#'36iLEP4V8P
+
+3i5PS8%4$@l0UIEYZ9+1`VhN!1@YS*pe0b%#8[QpL!JZ9$)DGXP1'Fmj%R)+Dq3U
+
+c3[Rq-aE5&,*L$VL!2+'KNEBE5J*1i!8mJ5T!"BT&`!-E9'*N1eM343G#+FPH&J+
+
+ZQU5,6G%!&%X&)6f4`Z9PMV6#6BEdrdX6QX,r(@hbUqMSk(T@'$EU1Lq,A@&3mV2
+
+3AY)0pRDPf@q#!LVf%f(CJjCY-1!6FJCLKUcS&a"kF8m,!2L&fX3lqpb%PK0LMJi
+
+N"hDdJ5i$%*TSKi&h6ATB0(6jYYkN,Vf!cmdTCVFBFb!MHfZlhXIb$rJ"&VX#UMP
+
+98"9d!AUp+AUc*5L!9ZmP0!!VM%!,X!%ZB$Hr*qHY*D!h&G"DXi91)VQii6A!"+b
+
+J!YFlHlZ!$-PNjc8CLJ%Z3!E`jXjFZBhdZpEBXKF*T1rG$%Ii@"GD,&f$JXb*kND
+
+b#eV-UKRc,lTiYY3X"a"&q`,AEQfd`'rjA30F!(0H'pQ[YR!A1YQQJd$lGV,d'QV
+
+[-mThSjD&I[B9@N*3I+)fK,*aK6@TQ&ZLGBFjqPXTQ'LA$"A"HhESkrp'*pCXVJ8
+
+B1ibEP1mr$&-+V@9C%l-MKeIXf9fPZ`B*[mjVS)MFJ60""QlhRK$LD11%M'`Yh5k
+
+'0A*T,V-MLRF9+Ql&h8$KmGpr!Q5I#8#ERd9AcGML,&Y)ccmhF!,%K"Mh+LB`X0e
+
+S"SiSk[-q1pVY5fh$l9("Z`rfZIiDkETA$#"fh9!#"C3cV5bMQEJK-K!cm,Eri5k
+
+D9R!q,hNK0)SF"3c5A0X0&'K0hVQ44mPSD2CeG(1*0mkpAX!A)bj8SNJlPc64d0T
+
+&CbBT!m1P13["2CmG8*K,XkR#N4IDdmUih-6(I@Gep)EaEUSGXKh)mqTbJ@ec%&+
+
+)hCiC'XB@%c*&T$ASYI%%9YSPe`1#8dlMN9J,,p3'#'#qd)TLLr)hB-iC96844@b
+
+N%'k@H+l-1M8@3qH%#25bN5!`"Y53!1)5AqqF8iL5KDB(MA8K,$`4XI#BhVbT"`Z
+
+2p-B9M'TAR$%@pQ#2#k25BAD8@K1LL8l4Tm!AmXhcl)[4Cql&d5RkR$e3++fV+#i
+
+8(LBDGj!!ZaDN"fei&AD,R,pXZZ#!r[PVT)hC-3HHGaE"hVZC"VL!`L0C-#f#fV6
+
+rcG&b&dK,1S,!MCBXISZ!Ak#5%DYR"pUBQGGj8kL9,Q)'J,1H",-T!$Nlp9ia9GJ
+
+eNiEP-LA#TQFhX+2l$k-)!m3mDY0Cc1&rfMUFKZZ0!Z%5G431YBQ&PI$Ki!Z)T`Z
+
+%Hc2+52XkKhNh[P*DiEdfh2QI)%6c2-FqFcSJTmfjfiSTG3!18(+rXG+abGX5'Qa
+
+EDr1`8('NCUD@IKpG`el[#H54U(&9U#!pE"X%N!#a0*%Uc[Sh%a4S1P!N#a-qf8p
+
+!+,AX@-TXCd&VVG,Gd-cdMh[#$!ad1QQXcFTd"Y1#eTa,!3cd54VGE)mZCaff'mY
+
+D66'M0(*'!88!$`aCq5bjGrV(2HZ@U)lDer"faYJ)aScYa2d1e2B'UpAGJ-p!!@h
+
+SXfK!%@H$[%TXPh%I0keqNLepASC!%Y$3Ni1a5rB["RUR3!ejkcRX9JL-0U6RY,D
+
+PpZ#[R*'S*9#4@D$`2--8U@)LV[%fNLU3!18'P&CYqj`RbMPp0a6m3JrR&2*bZ,@
+
+DmCYlGk3J%b$JZjlHJPj2cVPD[HDJ0`M%La6I-AHlCH(X)1$PEMRZjEClr'8IQ%-
+
+XQc!eT82,1[[YLLN"ifE2NLkdl8bl,cFDTf9,,![PVGPPjTaJCU#pRQYRAmkfNI-
+
+9f2+PR3bFGR#'+2E%l+MGlH1kcrFDH0[P3'ir+lcpLfhcIpfh'jhMqS"9hJfC&6r
+
+r0A3lIJjb@IjR,'eL886iK+A`Ie8pK0K`44)QX2@acGUe,1#pJ%LI"[!dFMlVfQb
+
+H@@`fNCSc[B9'&ilm1K1k`J1M8V0`Pe$9HQN2@Ij6"JBpSlVeHb+q@rNNJ2b%"JF
+
+F,CPH`'H4H68l#[b"eb,khFb[q3(%1pL)-3Af9%,BIijCML[!HqdE&#,ZUH[*5'M
+
+XX@UhZ208!J3iH`4r+a5mE1j%Pr`rAi[,dEFRKl*)&GIp9hFK0Ik(L`X@LiK0hTa
+
+lF$S2S%@cXCa,$&KJ0%+(cHL('+$rcfcEYf294bCCB"kcrK0[Lf36FR3a-m$%DCI
+
+TNae"[`pP!U56[$PrphQE@,rd8%([DiDprfrjIQ$XHeE4+'4F1cIM)1$DVqRr6IP
+
+BY)AL+LIN@XMc2VdfK!#(RJ0YqJS!$bbZdlZ3!%p2hC&Lc5,b1ZVFNYX&ZY"b)UY
+
+c`ZN@8pEBDhrQ@34RRl-e`0ZAa6XAR)5f$[6YrHaHCAZ%(H#Ma8PlYL)GV*2&Y2B
+
+9U42*"5T+Ed5`d'`4i!ekGVb04,%Sm)#&T31&jk`lkH1HY2d2,hG$81A-PqmeAlY
+
+FZKZk3'BDZDI%,S6DYMNE@DqSCD'eD5L`ZA(&brK#GGeXRi&Uh5lkAiIq'XcpFmb
+
+9@@+R[`DHYK0lZN@EI!Hm5HKYjb6"ErK"YZ"R0eZYQ!h'[e9dN`5&!!!+CZqNiMC
+
+(`D*+*CL`I3)!&j!!#@R59(R8&J!!%S`Yi,,0F@&hdmHQ",p3M9HYlE*B4*@X0B#
+
+Ne9k6P@[Mj5-f1G*046bXNkjB%eX*Aq*VI*&[3)"BKa)kemm!9N(9p"9GF9!h3F+
+
+#QJ!!h*r#mIfe2KkB3#$qF5rPh`*brY9@p`[UX2j0&HlI(8((B$'UP3b![p"rh)Z
+
+NK"38!-#!maF3J"[4(rkKP'`%qK%"B"MY)TZ!!,!9#!$B#P0b-[8!@`m5K8102BA
+
+3P4GQG82(4636RP!cES)e%kDK!GQ-Q+216'fTh4SJcX3[fp3-i36b#Z`-M),6r$I
+
+b$$f$mGdc(a`r8ecm-f1-3&-P%$3'$4Ichi!*Cm*#Fjdj0'DI'e+GB9c,PSCcd@3
+
+dY&BBdY(N$##0X,!&NM5eaBS@KZ!d,3hrJCM&0-M*6&26$))V6CLJdj!!-1l$832
+
+8X)'$P1NJ#5CKZ38'b&8KFjf&3X23T$1%3Jf#fm3Q9!a8d5@`Ie4&V#3[15qLekA
+
+e5ANb!mcR8'X4#Z9$(Z$D36*X@`2`d-`*$*c!B'YP-4KJ"%22(4FQAJYa"ECH1!&
+
+QFPp)2ld!@I!9JAq(dT0A1@%kG&FNXaheER*0Yb3%pPc!bb0%e4![HpKk`VUB6i)
+
+0Rd+l[)+QJf86$N*"i"2bj!dZ$m1,!q-`D8XYLJ6&j(8KAJij"EqJ-Hb5S2)Z93p
+
+"```J,ed`i`[ZXX'XJkS%q$4XU6,`)"N5!ZT6AYJDp'0)*b"(!$!,!!"U&$`!$D*
+
+Ke&dE82`F9`'6,3AP'&+p5HThQ-L$%T-'KB-&"*!!30*bAi3"c"m!3!HF2"YKX)-
+
+a'Ab)d'LeE3'%mk!pH&a-,b"K,3AP&8c84*+P50f%M94JS8fYK#"*+9!0T!*q3#T
+
+J$c3!T%!e8!S-!5K!,c!(R$(&3"@`#X!#$8!Yi!c3!N"!!e!+I!'Z3"c3!*`#pB"
+
+6Z"E@!l*!%h!,6!0VB6k!#UJ"FYNV%![-!kp!fT!!#U!#V3!Zd!#N!P!!+T!!#k`
+
+#fd!$X!VJ!X3!0p!!Y!+cJ#b!$c3!X8!DS!U)!Jd!,SB#k')T!#Q!"$3![)!fB!Z
+
+F!Uh!0G!!!!0N`#k`#T!!![e!!p"U'#9L430JAM`"))!@8!B3!91#9K%%0Jd88S1
+
+&'qCR8!"9e3"N!99!%A$1d63!J'1("k485)%!!!DSJ,R2Jh&l*589KUBaIP40Z`J
+
+0J,EJ"0M+%J!!N!!!`PF9i!0'9MiD3pG%29m&5K%Sc5#"ZYS5f!3fF+#JSKF&6S'
+
+dMMN6jX#(hN`@k!FfJUP8&aKEI)'I!`5AqC!!J3(0dNEYl@fB3cUBd,5"eK`F#0(
+
+-J440[A3(+K4k)$M""c+#b"`JD0,FD#S05d0)[65))"fJ#-jG'+)M#!,X0*'J94-
+
+r'"F-SKTi#5BfUK8l``QbG!cLc!3+pLDMi*Acb*L#8NAlelr`08XH0+F,aS'pi*!
+
+!*r1e6fk-mb,JM$&P61YbL"b$KGJr%)d4!rf!,$!,N!!#F`!TF)#3!!,T3#aQ#[`
+
+#UN!i`!V8!l2!0%!+e!0$SKS62`3Xbm`B-dAm8c,"B`%GYKY,L9"J8Ef!da"9JKd
+
+'"!*!-9!!j"NN`NL!JCe-fZ&LP)"e*pf8%&Jj'B(6c0b@"&ic6+!fJamqJ84Fc#)
+
+&MM09i$Nc+@+"l3arb!@50PjJMV-T#)KM)"X"d*L""f*"Nb"#1*5J'eM,B4B2iL*
+
+B"r)+&XdBJ0&3L)M%([M4P)KLJSCi4A#)qk'(k0)FJR(+L)KaGBJQ)SVBdkL)3!e
+
+FXq)40D4Gqr!L"Pk1cP,cf13,(jDb-0C%LdB0XqL'46,dS*[3e43i24GiSLe10G`
+
+L2f6@8)[0MPUc)Ui0EFeE-pjm0c81[X4X#5m45&l$%hU!Q3hciYH3!&l5eVqi+P!
+
+[c"*Lip[mJmB,[bMF9!hAiV*%Td`fV4C@K4+Z-,R%CP0U'6HbMAS6iEJ+p0+d82A
+
+GDp*0'Z2Dc"5aMF@SJcL,DU*ZdqSNL3IMa0MBB!pl3pH&h(b+U4D-j6'L0L$MdTB
+
+MNSae`pj`-Xk,i9+h`0d%0H40Ye$L%)hdiUD3!&`d1!!@I+-abM2YcB$M0"Sip%e
+
+k8hE&&[85hV!T$)d1MRq$DR'-%`k"-pZ8)4RMeEMPCBf4i(l60#U)'b-6iGj81&3
+
+MKN22S)dF6TlJiE!i3mk)8q+d1'AAL,-dmSdGik83ia3AG'1pH1-!L2X5EV92J5N
+
+(dh-Kj+!i4!iJ48Zj30-F89L$9$Nk)L56j3L$1'%@-EhN-XEJTSJ-[J4BJ(Za$!B
+
+!ai!cf!l8K'120$KD,B59%0!efE`k2Q'E1,UiJc%A&`-1@M(KSU23ZNKEjb!XP3k
+
+'ABj11`M@G)1ji`QL,bD-&11f9$XQ0*T3dD92V#Rl)$*h(U9rkSR,U19m,Vp4`eK
+
+(i"3')4@$%-U)"dcV91e80YSM)&%l-QbcM4d$-G!`)N3HJm0%EAf-$`2%a&K#$'T
+
+Ma!!45!bcPXMdJSa-&'2Cd'#6$4BM-ZBfABb[m-U&-G9CNhM')(1MS0GA1VP1k+1
+
+eT$#kMb)!r'M$k$%jc!lMapb2"PEq1-MXMpKFriM)G$)!*&Nc3)k2@)c9-XGC-TL
+
+-#k$*q)mSj#+M3Kk%[+0#+!VC8c!L"XK2b''je84iAp`R&f&'b$Tf*p`G&[%45Sl
+
+)P8KS1ES**Z&SN6j+5LfK!A"IG!%"3%je"`3!mm!4kB6FK&r-938[V6!Y$$j)+!5
+
+&P+0b*3-CK6B3)h9C6!T+SHf$HId$[J!dm#@Z!QCFiA&(ZJ%G@H%43bCjT%!VJ!U
+
+8!V8!,9!+p(+T3"H`#T!!!iA(+C!!$+`#C8!US!m%CU@!2Z"(BM)0J#N!"q3#fN!
+
+Tm!5`!)8(+a!&**+VJ"!J#`#'Yi!aS!4FNZ*C)$P)KQ+i@1%4#jJ$`)!V8(LN!UG
+
+!+Q!(N!!#dS!QD3V-!kbN@6J-j!*+!#pJ$A"PbJ!TB!DFKDN!&E!+'!%k@5K@LT%
+
+"S9JVi!AB!Up!-+N,K!*IiTJ)5KjPii![B!HJ!P,!+S"RA6+B6*+A#c!"Vm!X`!Y
+
+-!pmN+8!2[!*%3&`i$$"%`53Yd!UB!RZ!,M!%I*1b3"K3#UJ#TX!9-!Z-!X'N+E!
+
+0P!,43#ajP"8$Td!D8)Te!E-!&c!,-!1V3$LJ#ZJ#VN!bJ!UJ!kJ!1d!+'!%*j8,
+
+C8"k6)!!VX!3NNSfN0K!-C!1N`#LJ#[J#Z3!4N!#@c3*[!#q`$'b8[)!IB!XX!b8
+
+P3qP3[Q@X`"-3ME8#dd!T3!qN!XV!4VN+%!2bf%4C83D6deJVF!Zd!)3K(PPi$!2
+
+f!#j!8S)!A#9Ak9AQ!UG!-&N,3!2#!$&J$'J"hb3V8!U-KPmK+Y!,U*59C"q*6ST
+
+RT3!c`%pqNl$!%k#9FC@p3$``#p`#U)!a%"I5!Z9!-1N+Q!1V`$G3H'L'R#%)8&!
+
+@(Uf!5*PBhT@8)6(J#S3$8D9NL3l3![*!+J!-l!+p(#i`"kJ#fX!kQ9'D!TqP2'"
+
+AaT!!FKNi8!Z-!JjP,D!2$!0X*9LT"H#@Z'8`Q3@N!9'!#9F%b!'J*#Xj1`b(`+9
+
+`59b#!"M4'k$Yq"p(`*'$mf%"DB!4J#@F!@j,'4"-fRq&4h!dfjaa+plG%%`b!Il
+
+(RZ9FbJhI*"%3"LJ"&*SEm"ZH!919F5NEqKrXTIq""15'hb5EH,XJ#r*P%d"IYTI
+
+hCAl'a@embf8%k6@`NXQKjfAr&382983eUF`E,5"e+'X3)a['5E"Kd&5@8S9K"33
+
+!bS!AD4')EN1JDL*RrAJJjU*9-iJ!rpAEG@UY0f!MBH)QM*%Ii#j)6X4b"D0Yj8J
+
+K3#$Q6r!F1TJ"3Ei4B9)U8)P-3)a%'J9!9AJ9CS9EB80999k9@5A1*eCqP@&P9fN
+
+%N!#9#'C'X'25AJ"![r&M9LSc!6%5!N3R6L&8+"8f9(AN([P0lT'[C6TT&!!#d'(
+
+!X@8'Q5F"-I)#J*PSB4c38#Q83L9+Z3T!P")P*8C4@T3BT8E*8AU8)+9)q9A'N!"
+
+B!C[*B`)!"FHEk41d2Q1'!@#eB#eD#pILY83RE+&6f&#jNS5N)BP)+T+-*!MJ5%+
+
+5NL3PD8RHP9,"P6QT-"b1CTF*%4JB"3"E'"I1KAIQ*YP*IT+Kj#LT5*U5U+3UD9`
+
+#"DTQ3!"aY*T#*N6!$-@DGU&(4*9`QV!N5MP,eT+hC#kj5rD5F-![@@A+")SQPMP
+
+a%*Ya*N6!Xa3!FpPHf"Ff9+A!-&P-ST5S3$+j6(i"cH3c'8fU!G0N0AP0CT1SCP8
+
+3E*SYCXCd#'6k"&jQG2)A"SB0e6EC6GB$hq3U%%k1NqAN1IP('JAhjXE"E@B%a!J
+
+'9J!3KSBKBYK3VC2Yj$XC6mk6p@36F%q#!0GQ8("[KK`2*dC!M%J)"F"Lf"Jf92S
+
+N2qP2!T3#*8&T8#+8p@C4F'q5(#8R4%#-`*U3!+&Nf&#GP@RP@YP@[T@R3&`j9bi
+
+"G5A1Yh$UQ0$KbC&cmSQ[CR45'9k'j+CHZ3I`PAjP-J"B#TD%T@(C"##@)'I0140
+
+NQj1+b[&dhKS"39P3!)L&C1'GD9)kP#SP5bPUZT3`T8a*8pU8X`"1U92bP$iP8#P
+
+f3JAh*XaaGVBqS%S"!&Rb!jfKAH9HT!,T3#Y3#`3%"S#@D!XF!h!L8N"f"J3capP
+
+*M(bESH&S@"Sf9,'!CXPCXJ&kC'XT@T+@Mq9TQ9Sb!DYPDjPQZJ"@`EeTFfLH%%'
+
+,J3+QKU[KR%'9S!+b*@f*8YU@[D9Zb9[QPSKQ8("jFPDl#&&J8A'Ca@C!-'F@!&h
+
+K9qKfjTNYC9&j9#D95f96U3XmPCdP6$C9rTe6`Eh*Fp#H!B%b9!#mKNi&NN'9r*E
+
+"CAifA"DAGbA&N43FRd-(q3N!M"N&`'aB'pk'Z@&$aAiUPi9(FrPFZJ(4TIp4H&#
+
+AeQ9qPPf'R%l"mBPdR*d1ND04!1b'0-Z6mE+B23`)j$PTCLeE5pI58('A`&'"!ek
+
+QM0SPq*N4(*p1Krd*!d3R(Pd0p&i'KqaF3d9HZJ(QjA1CAUkAlH9l'9r'ReG"mlG
+
+S9KeR*cD8B"3!a+&aD&fURjR(IfPIiTId@FR3*[+AmHGmk3E8Pfj!J(N'$*LQh!M
+
+Dp4fBp@B%i(S&"!q!Gj'd9*l!*R5SGIbBhiG2i"!a3a5!NBN9DS8D83'`C'+98!!
+
+H'4)mQC!!Cj3j9Ti#2S%2LQ9k(@JSTb)6Y$lC&383CND&5dKd8QEq!RCSdS*QHJT
+
+@*5fJ#`J$`J!Y3#0S!e4KPiJ&I)PKiTKB*Tk*$B"+L3T-!eqL2+N,a!1DT$"3$$3
+
+!jPK-ZBJfSV%RG"Kf"+*U+%33D4LLGHD8K@HHP#("RKP43TlH*k#C8@k8(H9('9+
+
+1P#I"[8Pfd+)cJ81%Y&!!Q@Be-'9aQSAN)3PjMTU4j#5j$P55Sq-#3%U#'GJQG(K
+
+f-+1$+%3`Cd+MF+&Fq(e&*jSN*qP*3TkL*#R*DeU9UZ6`CSq5S9("mDPfN!#M68Q
+
+Y!BdQQp1S)&N+0*XK`E2T#N#HZ+3Zb8[kN[0!kc8P9SPABTCB@H@Md'(E`BqH'4!
+
+"l%N"K*Ym)Ej6!*5Ea+3a'4+NQmSN-qP-3T0S3#J'M&+6DS!eL8eQ"IIQh('4BJ5
+
+Yc`D!I[bEZ-#8*A$q!Q-Lj'P`LT2NT$R*&0bEGXG-1Rp!"-S3"8"a(SEE`*5&FEU
+
+6kfMNbA(DNmU!8R"mlKe'+B0JMU)I+QI)%jfdR2hNSN'Tb!*&J#j`*IS$T3!TbJe
+
+`L5#!8ID$'!!"j8"C8"k8L5Cdk(GNT6m,@B"qp*ci`*3&G+U9E9$5iPE#PE#!A%P
+
+AkJ-G'HBC5,B#ZX"IZPBkC+d!2UT33BH""elU%*fM8fH&qC&DR@$SA&B+Q!'h`#a
+
+3C4S!IH9ID3m%PS0PBAPBNP9A`I&*H&LQ%-%+5J'`R8`*1rTfqL`I8GbjR53YEpP
+
+,'921P$AP6CP6lT5k3%rj8ei&$5D@+6(JT@B*M&%!,*D0CDKbH#DHN!"RC9Q0JD'
+
+U!"J3NCd#UH2KNChL!Y%!k"8$K!)Tf6kL#p`#6X!LqB13!!$%J#e`R3)!*3!U3!k
+
+8!UC!5$#G5TCA3&*LRCB$+`![J&BQ!6q)"E#IVJ$ID81C#l5P)SFQ#ASjC6'!PXK
+
+9[9jD!5p@#j`B!-!)8!X%C%q!C%U4,TU-"ek+$BdC&%$R54TH!e0@k,PCbQ-K!@X
+
+*@TkHPqB$N!!+e!1U`&9L!*L@U+9U'3kSU+jPR339(*q2"f`D%#`Di'E[LB[PSEY
+
+PNCT*aJ+f3#eJ#PJ"T%!dS!ZSK8iK+5!2[!*#`#NU6iDLp3!YJ!I`!VG!A+J+U*m
+
+,!2!CQ&)!U+&Ub"S5"IHQjH'MKLcS4r6Cr0LQH@C)3&3DP8!!8UP8-T91*93*DN5
+
+HIfBb#KeQ(RJT-4*d8!$STeJaCIfIlUFF-"8FRjl(QQS383$kTfhiAKkUb@@L'K)
+
+)S!P@!9SR'3!)k(@CA9)&)`&d1(U3!+0a"d4!D`!!X3!,DM9#RJBQ8*2hV3PabMd
+
++S5i!hZ@C!)EH1a01`%*q'8`3UKFk1P)!&'LNN!#86&"(MM8ATkb!J8Vl%MJGD-%
+
+,&C%([@ZEJTbdiqd*HSk'1T4#Kb"!ec38@&4Tk%c3qMbM,5J)m))+Ke2@$&U$bJf
+
+3!+Gk5BAUS(A!6("[XKlND2+CPr)BqDF5@SAfRqK(%ASFUTpH+15TAhB0b-*2F(c
+
+1(KiU4+"fqTG6+)#*Vbi!rJH"'DVSUdFSUaTH8Nk(Kl@+&!3!3!!8)!8i!A52Bp&
+
+I&%%M!Fe%-qQFDJiS)!#8V,+'qU&qr#,bU[2KXVkX2i(k!3$m!HP$[0+kY3$-aFK
+
++@"J%53!6-"P-!!K@c#$a@@Y4flLQY@%b+9)!!!: \ No newline at end of file
diff --git a/language/chinese/chtex/taiwan.report b/language/chinese/chtex/taiwan.report
new file mode 100644
index 0000000000..c7b5481783
--- /dev/null
+++ b/language/chinese/chtex/taiwan.report
@@ -0,0 +1,1396 @@
+From: rick@cs.arizona.edu (Rick Schlichting)
+Newsgroups: comp.research.japan,soc.culture.taiwan
+Subject: Kahaner Report: Computing in Taiwan
+Date: 19 Jan 91 03:20:09 GMT
+Followup-To: comp.research.japan
+
+
+ [Dr. David Kahaner is a numerical analyst visiting Japan for two-years
+ under the auspices of the Office of Naval Research-Asia (ONR/Asia).
+ The following is the professional opinion of David Kahaner and in no
+ way has the blessing of the US Government or any agency of it. All
+ information is dated and of limited life time. This disclaimer should
+ be noted on ANY attribution.]
+
+ [Copies of previous reports written by Kahaner can be obtained from
+ host cs.arizona.edu using anonymous FTP.]
+
+To: Distribution
+From: David K. Kahaner ONR Asia [kahaner@xroads.cc.u-tokyo.ac.jp]
+Re: Int Comp Symp & 1st WS on Parallel Proc (Nat Tsing Hua Univ, Taiwan),
+ Institute of Information Industry (Taipei), 17-21 Dec 1990.
+17 Jan 1991
+
+ABSTRACT. Two meetings at National Tsing Hua University (Taiwan),
+ International Computer Symposium, and the First Workshop on Parallel
+ Processing, as well as a visit to the Institute for Information
+ Industry, (Taipei) are described. 17-21 Dec 1990.
+
+SIGNIFICANT ITEMS IN THIS REPORT.----------------------------------------
+ Most interesting papers were from the West, computer related
+ research in Taiwan seems much more theoretical than practical.
+ Best paper, about optimal mapping of mesh onto hypercube (from U.
+ Hong Kong), had some ONR support.
+ Numerical computation papers almost nonexistent.
+ NEC's VP Watanabe describes his vision of Science, Technology,
+ Industry as inseparable and claims that supercomputer technology
+ will be used in NEC's mainframe machines.
+ A National Supercomputer Center has just been established.
+ Taiwanese industry is moving away from PC's.
+ Government has various plans for computer growth and research,
+ including Hsinchu Science Park, Institute for Information Industry,
+ and special manufacturing focuses.
+
+OVERVIEW.----------------------------------------------------------------
+ The International Computer Symposium, essentially Taiwan's
+Information Processing Society meeting, was held for three days 17-19
+Dec 1990, at the National Tsing Hua University, in Hsinchu, about 70km
+south of Taipei. All presentations and papers were given in English.
+There were approximately 400 participants; about 160 papers were
+presented out of almost 400 submitted. This was immediately followed by
+a two day Workshop on Parallel Processing, at which all the
+presentations were in Chinese. The Workshop had over 200 participants.
+Both meetings have printed Proceedings in English. A title and author
+list is attached to this report. I have one copy of the Proceedings and
+will send copies of papers to requestors if I have the time. Additional
+copies can be obtained by writing
+ Department of Computer Science
+ National Tsing Hua University
+ Hsinchu, Taiwan 30043, Republic of China.
+After the meetings I spent one day in Taipei, at the Institute for
+Information Industry.
+
+ There were only two or three Western scientists in attendance at
+the International Symposium and none at the Parallel Processing Workshop.
+Most of the participants from outside Taiwan were Taiwanese from the US,
+or Japanese, or other Chinese speaking scientists from Hong Kong or
+Singapore. I saw no evidence of attendees from mainland China, Korea, or
+other Pacific Rim countries. Generally the best papers were from outside
+Taiwan, although most of these were by Taiwan-born scientists now living
+in the West. I did not see much evidence that these scientists are moving
+back to Taiwan into senior positions. My general impression, confirmed
+by most of the Chinese speaking attendees, and by all the non-Taiwanese,
+is that Taiwanese computer research activities are heavily theoretical.
+This reflects the fact that presently, there are few practical parallel
+processing projects in the country. (I was told that there are a few
+computer systems oriented, experimental research projects in Taiwan, but
+that they are behind in all practical areas, not just in practical
+parallel processing. I did not get to see any of these.) In that sense
+Taiwanese research is behind Korea, where a reasonable amount of
+catch-up research is in progress. However, a few theoretical papers were
+very good, although the best was by two Hong Kong computer scientists on
+mapping of a two dimensional mesh efficiently onto a hypercube. A
+handful of numerical computation papers were presented, but this seems a
+particularly weak area.
+
+
+TAIWAN-GENERAL BACKGROUND.-----------------------------------------------
+About two hours flying time south west of Tokyo, Taiwan straddles the
+Tropic of Cancer (as does Hawaii). It has about 2.5% of the land mass
+of mainland China, and a roughly proportionate population (20million).
+The country is densely populated and rugged, with only one third arable
+land and more than 60 over-3000-meter peaks . Taiwan is the original
+name of the island; Formosa was a Portuguese word meaning beautiful
+island, used until recent years. The present government considers Taiwan
+part of China (hence ROC=Republic of China) although many of the
+scientists I spoke to did not share that view. Restrictions on Taiwanese
+trips to the mainland have been reduced in the past few years and several
+hundred thousand have visited. The present Taiwanese government still
+has many tough sounding laws developed in an era when relations between
+them and the mainland were very tense, although I was told these are
+being relaxed. Nevertheless there is plenty of controversy; on TV I was
+astonished to see a free-for-all fist fight in the "parliament".
+Political issues (of which I have no knowledge) aside, if Taiwan and
+mainland China can resolve their differences, China will be a huge
+natural market for Taiwanese products and expertise.
+
+Taipei, the capital, has about 2.5 million people. It is choked with
+traffic and heavily polluted. There is no metro although one is being
+built. This is surprising, as Taiwan's per capita income is over $8K,
+about 50% more than Korea's which has a substantial metro system in
+Seoul. (Viewing Seoul and Taipei, I was not able to distinguish
+differences in the income levels of these countries. My Korean friends
+tell me that the differences are noticable in the countryside.)
+Nevertheless it is easy to find one's way, as most streets are on a
+rectangular grid.
+
+Hsinchu, the site of both meetings is also the location of Taiwan's
+largest science based industrial park, established in 1988. There are
+already over 100 manufacturers, close to 20,000 people, and more than 100
+PhD's working in the Park. Unfortunately, as most of the computer-types
+were at these meetings there was no opportunity to visit any of their
+labs. This would be an important stop on any subsequent trip. Hsinchu is
+also the location of two major universities, National Tsing Hua (with
+about 4500 students and about 450 faculty), and National Chiao-Tung Univ.
+The model for growth here seems to be Tsukuba science city in Japan.
+
+COMPUTING IN TAIWAN.-----------------------------------------------------
+More than 5,000 companies (about 90,000 people) are engaged in either
+manufacturing computer related hardware, or exporting it out of Taiwan
+Taiwan makes about 60% of the world's PC mother boards. However, until
+very recently they did not make complete systems. This has now changed. I
+tried several perfectly reasonable all-Taiwanese PCs, including several
+386s. Some of these are beginning to be exported. I was told that Taiwan
+products now satisfy almost all internal PC demand. However, many of
+the best use Japanese monitors. I was also told that in the near future
+there will be a Taiwanese Unix-based workstation, for internal use.
+Almost all systems larger than PCs had been imported until recently, and
+the government has identified that as a major area for growth. There
+are also some strange properties of the Taiwan market. For example,
+until very recently there were more Wang systems installed than IBM's.
+
+An important part of computer growth in Taiwan is associated with the
+ability to input Chinese characters. This is a significant research
+activity both here and on the mainland. (Japanese is spoken by many older
+Taiwanese, as a result of the Japanese occupation of Taiwan during the
+first third of this century.) There is also a good deal of manufacturing
+for Japanese products; my Sony Walkman has cables clearly marked "made
+in Taiwan". During this trip I only was able to talk to academic
+computer scientists, but was repeatedly told that the best Taiwanese
+technology is associated with manufacturing. Apparently this is true,
+industrial growth has averaged over 13% per year for more than 30 years,
+more than 50% of the country's GNP is now generated through exports, and
+Taiwan is the second largest holder of US dollars (after Japan).
+Computer industry growth has also been very good, the only items now
+growing are printers and terminals. By 1995 research expenditures are
+projected to be about 2% of GNP, and 0.2% of the population designated
+as "researcher". For research in the information and electronics
+industries, 3% of researchers have PhD, 48% have MS, and 40% have BS.
+
+There are many government sponsored programs; discussing these in detail
+would require a separate report. The National Supercomputer Center (see
+below), Sub-Micron Parts Laboratory, and the Hsinchu Science Park are
+among the most recent and interesting.
+
+The ROC government has various plans for making computers even more
+important in Taiwan's economy. Some are general, and other are quite
+specific. For example, they have identified 14 specific manufactured
+items that they want to promote. These are
+ - Cathode ray tube (CRT) monitors
+ - Low-speed nonimpact printers
+ - Low-speed impact printers
+ - Medium speed printers
+ - Linear scanners
+ - Fixed (hard) disk drives
+ - Optical readers
+ - Chinese-English word processors
+ - Micro and minicomputer systems with Chinese operating systems
+ - Software for medium and small computers
+ - Modems
+ - Chinese language electrical typewriters
+ - Floppy disk drives
+ - Computer magnetic tapes
+
+An interesting area worth following is the Taiwanese development of
+systems larger than PCs. Already, with licenses from SUN, a workstation
+consortium has been developing a SPARC-compatible system. About two
+years ago an experimental 32-bit RISC multiprocessor machine (called
+MR-10), running UNIX, X-Windows, and suitable as a network file server,
+was introduced. This was done by the Industrial Technology Research
+Institute (ITRI) under the sponsorship of Ministry of Economic Affairs.
+I was told that the spinoffs from this project will be several special
+purpose machines, such as a database server, and more interestingly a
+vector processor, but I had no opportunity to learn about this in more
+detail. It seems that with possibly the exception of the
+SPARC-compatible workstations, all these projects are for acquiring
+basic computer technologies rather than for immediate commercial use.
+
+PAPERS OF INTEREST.------------------------------------------------------
+The International Computer Symposium was organized into one day of
+tutorials followed by two days of four or five parallel sessions, each
+containing an invited presentation, and three or four submitted papers.
+With one exception the tutorials were all by Chinese now working in the
+US, as were many of the invited papers. The Parallel Processing Workshop
+consisted of only one track, but as mentioned above, all the talks were
+given in Chinese. Some of these were by speakers from the Symposium,
+presenting some new results, but also several overview papers, such as
+the one by Fang (Convex) on automatic parallelization techniques, or by
+C. Hsiung (Cray) on how supercomputers are going to fit into future
+computing systems. I concentrated on papers from non-Western scientists
+on the theory that others' work is already fairly well known. Ultimately
+only three that were most interesting to me are reported on here. (At
+any meeting with parallel sessions it is easy to overlook outstanding
+papers.)
+
+PAPERS (OPTIMAL MESH TO HYPERCUBE MAPPING).------------------------------
+The best technical paper was by
+ Dr. M.Y.Chan
+ James Capel (Far East) Ltd
+ Hong Kong
+and
+ Prof. Francis Yuk-Lun Chin
+ Department of Computer Science
+ University of Hong Kong
+ Pokfulam Road, Hong Kong
+ Tel: +852 859-2178, Fax +852 559-8447.
+ Email: CHIN@CSD.HKU.HK, or CHIN%CSD@HKUJNT.BITNET
+The problem the authors consider is extremely important. We are given a
+two dimensional mesh, and a hypercube computer. The mesh might come from
+a finite element calculation. A hypercube is a collection of individual
+computing processors (elements) that are connected in a very special way,
+so that the individual elements are thought of as at the vertices of a
+multi dimensional cube. A 3-hypercube contains 2**3 elements, a 5-
+hypercube contains 32 elements at the vertices of a 5-cube, etc.
+Hypercubes were the first commercially practical parallel computer; many
+systems are in use, and there is a tremendous amount of research on
+effective algorithms to take advantage of their structure. For a two
+dimensional finite element mesh it is natural to associate each mesh
+point with a processing element of the hypercube. But how, specifically,
+should this association be made? For example how should we associate 9 x
+3 grid with 27 elements in a 5-hypercube (32 elements). Of course, any
+association will work, but an efficient one will recognize that neighbors
+on the grid should correspond to neighboring processors in the hypercube.
+The reason is that the only way two hypercube processors can communicate
+is along the edges of the cube. For a 3-cube this can mean that a message
+might need to pass through two intermediate processors to get between
+sender and receiver (along three edges); a 5-hypercube may require
+passage along five edges.
+
+This problem had already been studied by the present authors, as well as
+others, and Chan had provided an algorithm for doing this in an optimal
+way, in the process proving that it was always possible to arrange the
+association so that adjacent neighbors on the grid are separated by at
+most one intermediate processor. But that algorithm for deciding how to do
+this is slow and suffers from some other difficulties. The current paper
+describes a parallel algorithm associating any two dimensional grid to
+its optimal hypercube. The size of the grid is broadcast to each node of
+the hypercube which can then determine in constant time which grid node
+it will associate with. Moreover each node can also determine the
+communication paths it will take to reach the nodes associated with grid
+neighbors. Further, each node will act as an intermediate node for at
+most two pairs of grid-neighbors, reducing potential congestion at
+intermediate processors. This is a very excellent theoretical result that
+has substantial practical implications. The authors claim that they can
+extend the method to three dimensional meshes. Part of this work was
+sponsored by an ONR grant while Chin was at U Texas, Dallas, making it
+even more satisfying for me to report about.
+
+PAPERS (NEC'S VP KEYNOTE SPEECH ON SCIENCE, TECHNOLOGY, AND INDUSTRY).---
+The keynote speech of the Symposium was by
+ Hitoshi Watanabe
+ Vice President
+ NEC Corporation.
+Watanabe explained that he had invented NEC's first computer. This had 48
+bit floating point arithmetic and some parallel architecture, although
+his original design called for 64 bit floating point. He showed us a
+photo of a much younger man standing in front of a very large console
+which is now in NEC's museum; the console was the only part that would
+fit.
+
+The essence of his talk was his view that science (theory), technology
+(design), and industry must be an indivisible activity, what he called
+STI activity. He called STI a chain from fundamental research, applied
+research, development, production, to sales and marketing that must be
+balanced at each link, and that the mission of engineers is to consider
+all these parts at the same time. He went on to illustrate this by
+various examples. For instance in the 1910's theory consisted of Boolean
+algebra, Kirchoff's topological rules, etc., design was typified by
+research in loaded lines, and industry in electric power systems and
+telephony. He went on to illustrate the point during the 1920-1950's, and
+then 1960 to the present. He also showed "maps" of the information
+industry at various periods. Frankly I didn't get much out of these
+slides except that integration is here to stay. The slides were
+reproduced as part of the Symposium materials, but his lecture itself was
+not available in printed form, and many interesting details were given,
+rapid fire. Unfortunately Watanabe did not stay around long enough to
+allow me to corroborate my notes. The most sensible of these are given
+below.
+
+Watanabe described the workstation of the near future (2000) as having
+a 5.25" read/write video disk, a flat panel color display with 10 million
+pixel resolution, connected by optical fiber (by 2010 all fiber optic) to
+a broadband intelligent network. Communication will be by either ATM or
+STM. He said that executives don't like to use keyboards, so the
+workstation will a touch screen, mouse, or more sophisticated input. He
+showed an artist's sketch of a Japanese office with these workstations,
+screens neatly integrated into office furniture and a small server tucked
+away elsewhere. He emphasized flat panel technology repeatedly to
+display color and high definition television displays mounted on the
+wall, with scenes changed under computer control. (In the 1960's Richard
+Hamming made similar predictions but the technology had not been invented
+at the time.) Integration and globalization were key themes.
+
+One interesting comment was that NEC was definitely using its
+supercomputing technology downstream. Watanabe explained that the "same"
+high performance LSI technology used in NEC's SX/3 was also being used
+in its water cooled 3800/20 and 3800/60 mainframes. While this is no
+surprise it reinforces the economic justification for expensive R&D used
+in small unit sales products. Of course, until this year NEC has not
+sold many of its SX computers.
+
+He ended his talk with a very general description of several important
+future research directions.
+
+ Future Industry : Integrated Information Networks
+ Basic Theory : Unified modeling theory for information networks
+ Practical Method: Efficient method of information network integration
+ Final Target : Useful network compiler for large scale network
+ (several hundred thousand sub-parts)
+
+ Future Industry : Global Systems
+ Basic Theory : Elegant modeling theory for social systems
+ Practical Method: High performance simulation
+ Final Target : Powerful simulator for complex global systems.
+
+This was a perfect presentation to inspire the scientists and students at
+this meeting, but there was no opportunity to dig out some of the most
+important details.
+
+After Watanabe's lecture,
+ Prof Radu Popescu-Zeletin
+ FOCUS Directorate
+ Research Center for Open Communication Systems
+ GMD
+ Hardenbergplatz 2
+ D-1000 Berlin 12
+ Germany
+ Tel: 49-30-25499-206, Fax: 49-30-25499-202
+ Email: ZELETIN@FOKUS.GMD.DBP.DE
+who was another of the invited speakers, commented that if we really
+wanted to see integrated computing and communications we should visit his
+laboratory in Berlin.
+
+PAPERS (TESTING VECTORIZED FFTS).----------------------------------------
+One of the most heavily used algorithms is fast Fourier transform (FFT).
+In fact it has been called the most important computer algorithm ever
+devised, and plays a key role in a vast number of applications, from
+solving partial differential equations, to image processing. Although the
+first significant paper was in 1965, research continues even today. Every
+computer vendor that markets to scientific users provides a highly
+optimized collection of FFT routines.
+ Prof Chung-Ping Chung
+ Dept of Computer Science and Infor Engineering
+ National Chiao-Tung Univ
+ Hsinchu, Taiwan 30050 ROC
+ Tel: (035) 712121, ext 3728, Fax: (035) 724176
+reported on his studies of several variations of the FFT, with special
+emphasis on their implementation for large general purpose
+supercomputers. One of the least well known, Ruritanian's method,
+performed best when Chung timed in on a Convex C-1. Unfortunately Chung
+used his own implementations of these algorithms, rather than tuned
+implementations provided by vendors, or even carefully coded ones in the
+public domain such as by Schwarztrauber, etc. With the dearth of work in
+Taiwan in numerical computation, it is a pity that when someone wants to
+do something he is hampered by lack of access. In this case Chung would
+benefit very greatly by having access either to source programs of good
+FFT implementations, or at least an opportunity to run his programs
+against some of them. Western researchers who are interested in this
+topic should write to Chung directly.
+
+POST MEETING DISCUSSIONS (R.C.T. LEE, NATIONAL TSING HUA UNIVERSITY).----
+I had a fascinating morning with Tsing Hua's Dean and University Provost,
+ Prof. R.C.T. Lee
+ Dean of Academic Affairs
+ National Tsing Hua Univ
+ Hsinchu, Taiwan 30043 ROC
+ Tel: 886-35-719134 (O) 886-35-711610 (H, Fax: 886-35-722713
+ Email: RTCLEE@TWNMOE10.BITNET
+Lee was also General Chairman of the International Symposium. Lee is a
+computer scientist who is still active. He gave me a list of publications
+numbering about 50, including several books. (One is to be published
+early next year.) He still supervises several PhD students, and his
+office is filled with photos of former students in wedding poses, and
+others with newborn children. Hsinchu as a city is clearly moving toward
+science, and this emphasis is reflected in the university. Nevertheless,
+Lee is trying to expand literature and other liberal arts appreciation
+with special programs, exhibits, etc.
+
+We talked for a while about problems in Taiwan with industry, especially
+relative to Korea. As mentioned earlier, Korea has much less per capita
+income than Taiwan, but Korea also has several very large companies, such
+as Daiwa, Pohang, etc. On the other hand, Taiwan has mostly small to
+medium sized companies. Lee remarked that there were advantages and
+disadvantages with either. Of course, large companies can have the
+resources needed for big time research, but are often inflexible and slow
+to respond to changes. A Taiwanese scientist told a story about a friend
+who owned a company that manufactured electronic arcade games, but when
+the market for these slowed recently the company was able to change
+almost overnight, to producing PCs.
+
+Lee felt that the ROC government needs to be more proactive in helping
+industry. He told me about a new government program that he had a hand in
+promoting that tries to do this. In it, scientists (from universities and
+research laboratories) come together to define some products that need to
+be developed, along with fairly detailed specifications. Subsequently,
+private industry makes proposals for the development work (which involves
+some technology transfer from the universities). Half of the development
+funds come from the government and half directly from the winning
+company. Lee also mentioned another program which allows engineers and
+technicians from industry to spend a few weeks to a few months at a
+University being trained in some new technology; ICs were specifically
+mentioned in this context. Workstations were another area where Taiwanese
+technicians needed retraining. Until recently, there was a great deal of
+PC expertise, but not much Unix development experience. When this was
+recognized substantial numbers of Taiwanese were sent out of the country
+to learn the necessary skills. Generally though, Lee acknowledges that it
+will be impossible to compete directly with Japan at the cutting edge of
+high technology, and that Taiwan should focus on those areas for which it
+is best suited. In his opinion, small company manufacturing is done very
+well in Taiwan, and definitely surpasses Taiwanese skills in computer
+systems. There are some anomalies though. Taiwan has a strong trade
+surplus (these figures change yearly) but in the area of electrical
+components, including connectors, etc., the net flow is from Japan to
+Taiwan. Lee urged me to return and visit the industrial manufacturing
+facilities that he could arrange and also to meet the Minister of
+Economic Affairs, who he characterized as a scholarly and scientific
+person. Unfortunately, this trip was primarily to attend these
+conferences and for get acquainted purposes.
+
+Finally, I remarked to Professor Lee that I was disappointed by the lack
+of papers about numerical computation at either of the meetings. He
+agreed that this was a serious problem; researchers here are not much
+interested in computer modeling. Of course an important reason is the
+lack of general purpose high performance computers.
+
+[There was one session at the Symposium specifically designated for
+numerical computation. It promised to have one excellent invited talk on
+sparse linear systems by Prof. D.J. Evans (UK) who unfortunately was
+unable to attend at the last moment. Of the three remaining papers, one
+was by a physicist who had reinvented the method of lines, and the other
+two by students. Attendance at this session was very low, reflecting the
+general interest in these topics among the attendees.]
+
+POST MEETING DISCUSSIONS (K. WU, NATIONAL SUPERCOMPUTER CENTER TAIWAN).--
+The government is hoping to increase research in numerical modeling by
+its development of a National Supercomputing Center.
+ Dr. Kuo Wu, Visiting Specialist
+ National Supercomputer Center
+ National Taiwan University
+ Taipei, Taiwan
+ Tel: 363-0231 3221-221
+is on leave from Cray Research to help establish the Center. Wu told me
+that they had just received $85 million US to be spent over five years.
+Half will be for equipment, and half for a staff of about 100, including
+half researchers. A building is now being constructed in the Hsinchu
+Science Park. The Center expects a machine to be delivered in 1992,
+essentially to provide supercomputer cycles to the academic community, a
+la the US NSF Centers. No decision has been made on specific hardware
+although their budget allows for a high-end system, such as a Cray Y/MP.
+Wu claims that they are looking to the future and so might be interested
+in an SSI. My own feeling is that prestige aside, they will ultimately
+go for a mature system, and let larger installations be test sites for
+new machines. At this stage of their activity Wu and his staff are just
+beginning to search out potential users to learn more about their needs.
+
+POST MEETING DISCUSSIONS (K. KIN, CONVEX COMPUTER, ASIA).----------------
+I also had the opportunity to talk with
+ Dr. Kenneth L. Kin
+ Managing Director, Asia/Pacific Operations
+ Convex Computer Pte Ltd
+ 1 Scotts Road #25-06 Shaw Center
+ Singapore 0922
+ Tel: (65) 7334355, Fax: (65) 7334354
+about supercomputer and minisuper applications. I began by asking why his
+office was in Singapore instead of Japan, where there are already more
+than 50 Convex systems installed. He explained that Convex does have an
+office there but the company considers Japan a separate market from the
+remainder of the Pacific region. He felt that too many organizations
+centralize themselves in Japan, and then because of all the activity
+there, have less incentive to consider other countries where individual
+potential may not be as large. For Convex, business has been brisk this
+year in Taiwan, Malaysia, India, etc, while many other American firms
+remain fixated on Japan--a mistake he felt. Of course, the Japanese are
+well aware of this and are actively going after this market too. Kin
+claimed that he also had a substantial number of potential orders from
+(mainland) China, but until recently had been prevented from accepting
+them because of export restrictions.
+
+Having such a widespread customer base causes problems too. A complete
+set of spare parts is stocked centrally, in Convex's case in Taiwan, and
+this needs to be restocked from the factory in the US. Convex emphasizes
+the reliability of their equipment, nevertheless there are a few
+engineers in the Singapore office who respond to problems. For some
+installations, such as the one in Sumatra (Indonesia) the contract called
+for an engineer on site. This has turned out to be a real hardship
+assignment, as the engineer has repeatedly been ill, including a bout with
+malaria. Kin himself is on the road most of the time. In fact his family
+has remained in the DC area but he gets to see them about once a month.
+
+Several of the scientists at the meeting agreed that a medium sized
+Convex was a good bet for Departmental computing in many mid-sized
+companies or universities that could not justify a larger Cray-class
+machine. On the other hand, having a "real" Cray has advantages too, not
+the least of which is its name recognition, especially with politically
+savvy government ministers or corporate board members. Sometimes this
+matters quite a lot.
+
+I asked Kin if he could generalize about his user community. He
+explained that oil related applications have been important recently
+because of concern about oil supplies from the Gulf. He also confirmed
+my own observations that outside of Universities and some government
+institutes, almost all users are running packaged applications. Only
+within the University environment is any substantial programming being
+done. [Later, I was able to verify that in a recent survey of computer
+languages being used, within Taiwanese government agencies Fortran is
+almost as popular as Cobol, twice as heavily used as Assembly, and three
+times as heavily used as C.] Also, like Cray, Convex is concerned about
+distributed memory parallel processing. Their conventional wisdom is that
+a reasonable model for many new installations will be to provide a
+parallel processor as a node on a heterogeneous multicomputer network.
+
+Finally, I mentioned to Kin my conversations with NEC's SX/3 designer
+Watanabe, who claimed NEC was not interested (at this time) in marketing
+a mini super machine. Needless to say, he was very happy to hear this.
+
+As far as Convex's current software activities are concerned, an
+excellent survey of automatic parallelization techniques was given by
+ Mr. Jesse (Zhixi) Fang
+ Software Development Program Manager
+ Convex Computer Corporation
+ 3000 Waterview Parkway
+ P.O.Box 833851
+ Richardson, TX 75083-3851
+ Tel: (214) 497-4275, Fax: (214) 497-4500
+ Email: JFANG@CONVEX.COM
+Fang thought that Convex had every reason to hope that its Fortran
+compiler would shortly be better than Cray's at automatically finding and
+taking advantage of parallelizing opportunities, primarily because Convex
+is developing their compiler from scratch rather than having to make it
+compatible with older products. Personally, I am skeptical.
+
+INSTITUTE OF INFORMATION INDUSTRY (III), TAIPEI.-------------------------
+ Institute for Information Industry
+ 10th Floor, 116 Nanking E. Road
+ Sec 2, Taipei, Taiwan, ROC
+ Tel: 886-2-542-2540, Fax: 886-2-531-0760.
+This is a government financed organization focused on promoting
+information technology in Taiwan and planning its growth. It was founded
+in 1979, and currently has about 650 employees in half dozen locations
+within Taipei. It also has two Exhibition Centers in the US, one in
+Mountain View CA, and a second in Gaithersburg MD (about five minutes
+from my US home). I spent one day at III main office, but unfortunately
+did not get to meet any of the higher level or research staff. It would
+be useful to return in order to get a better picture.
+
+In addition to promotional and planning, III has several products or
+services that their staff has developed. Many of these are very closely
+related to corresponding items in the West, but have been fully absorbed
+by III's staff to the point where new design and implementation can be
+done locally. The most important of these is the Software Engineering
+Environment Development (SEED) project. Begun in 1989 it is hoped that
+this will create a good distributed software environment via integrated
+networks, all the related information, methods, standards, and tools
+needed for software development. The idea is to have as many of Taiwan's
+software development projects working under SEED, in order to improve
+productivity and reliability by using a standard environment. More
+specifically, SEED will build workstations, and provide communication, an
+operating system (Unix kernel, CHINEX), graphics window interface, database
+system, and mail system. The mail system, workstation tools, Form Master,
+Imagemaker are clearly derived from Western products, but have been
+modified to deal with Chinese characters. There is also a Chinese Input
+System built around phonetic input, much like Japanese "kana" input
+systems. The SEED software/hardware is developed by III staff and also
+with support from several Taiwanese computer companies. III is also
+developing a SEED Service Center where various services, such as network
+management, databank, consulting, training, etc., are located. SEED has
+also published its second version of a handbook, "Software Development
+Guidelines", to explain international software standards.
+
+Other countries have also established programs with some of the same
+goals as SEED. In Asia these include SIGMA (Japan) and SUPER (Korea).
+
+III has been involved in expert system research. This would not be
+considered at a terribly exciting level by most Western standards.
+Nevertheless they have build rule-shell, frame-shell, and Chinese-shell
+expert systems, and have been applying prototypes to taxation auditing,
+and auto malfunction reduction. All concerned now believe that more
+professional training needs to be done in order to get expert systems
+more firmly rooted in the country.
+
+III also publishes several excellent survey reports with detailed
+statistics of computing technology in Taiwan. I can provide copies of
+these to a limited number of requestors.
+
+FINAL NOTE.--------------------------------------------------------------
+Taipei has the National Palace Museum, an astonishing collection of the
+best Chinese art and culture. English is used extensively in tours,
+exhibit labels, and lectures. Not to be missed!
+
+TITLES AND AUTHORS.------------------------------------------------------
+
+INTERNATIONAL COMPUTER SYMPOSIUM
+
+Algorithms
+
+ 1. Some NP-complete combinatorial problems in computational geometry
+ (Invited)
+ M. H. Alsuwaiyel and D. T. Lee, Northwestern Univ., U.S.A.
+
+ 2. Flexible functional cell design for floor planning
+ Y. C. Chang, T. Y. Ho and L. H. Hsu, Chiao Tung Univ., R.O.C.
+
+ 3. Parallel algorithms for optimal routing between ring of terminals
+ S. C. Chang, IBM T. J. Watson Research Center, U.S.A.
+
+ 4. An average case analysis of a resolution principle algorithm in
+ mechanical theorem proving
+ H. Hu, C. Y. Tang and R. C. T. Lee, Tsing Hua Univ., R.O.C.
+
+
+Database
+
+ 1. Algorithms for concurrency control on R-trees
+ J. K. Chen and Y. F. Huang, Tatung Inst. of Tech., R.O.C.
+
+ 2. Feasibility of index-scan join method on cube-connected multicomputers
+ J. Y. Tien and W. P. Yang, Chiao Tung Univ., R.O.C.
+
+ 3. A query evaluation scheme on general purpose MIMD parallel machines
+ W. S. Lee, Purdue Univ., U.S.A. P. C-Y. Sheu, Rutgers Univ., U.S.A.
+
+ 4. Designing a highly parallel database server using off-the shelf
+ components
+ K. A. Hua, IBM Mid-Hudson Lab., U.S.A. H. C. Young, IBM Almaden
+ Research Center, U.S.A.
+
+
+Computer Communications
+
+ 1. From broadband ISDN to multimedia computer networks (Invited)
+ R. Popescu-Zeletin, Technical Univ. Berlin, Fed. Rep. of Germany
+
+ 2. A solution for packet switching of broadband ISDN
+ C. M. Weng and J. J. Li, Tsing Hua Univ., R.O.C.
+
+ 3. On the statistical analysis of some continuous ARQ schemes with
+ repeated transmissions
+ J. K. Hu and T. H. Lee, Chiao Tung Univ., R.O.C.
+
+ 4. A throughput analysis of Go-Back-N ARQ protocol with copy transmission
+ under priority
+ Y. Fukagawa, M. Ooki, Nishinippon Inst. of Tech., Japan
+ S. Murakami and S. Yoshida, Kyushu Inst. of Tech., Japan
+
+
+Distributed Systems
+
+ 1. Protocol conversion (Invited)
+ M. T. Liu, Ohio State Univ., U.S.A.
+
+ 2. A deadlock-free O( N) mutual exclusion algorithm for distributed
+ systems
+ Y. I. Chang, M. Singhal, and M. T. Liu, Ohio State Univ., U.S.A.
+
+ 3. A distributed probabilistic scheme with unequal weights
+ S. Y. Sung, Univ. of Singapore, Singapore
+
+ 4. Remote tasking facilities in DMINIX system
+ S. R. Tsai and W. J. Ueng, Cheng Kung Univ., R.O.C.
+
+Image Processing
+
+ 1. A new access method based on signature file in text retrieval
+ H. Fu and S. Y. Lee, Chiao Tung Univ., R.O.C.
+
+ 2. Recognition of handwritten Chinese characters via short line segments
+ B. Chen and H. J. Lee, Chiao Tung Univ., R.O.C.
+
+ 3. Multi-sensor planning for target recognition with constant time
+ complexity
+ Y. L. Liu and L. C. Fu, Taiwan Univ., R.O.C.
+
+ 4. Applications of ICM segmentation algorithm
+ C. C. Chen, Tsing Hua Univ., R.O.C.
+
+ 5. 2-D EAG Model for Describing and Identifying hand drawing objects
+ M. Zhao, Asian Inst. of Tech., Thailand
+
+
+Algorithms
+
+ 1. Heap-ordered trees, 2-partitions, and continued fractions
+ W. C. Chen and W. C. Ni, Taiwan Univ., R.O.C.
+
+ 2. Unordered tree contraction
+ L. H. Hsu and J. J. J. Wang, Chiao Tung Univ., R.O.C.
+
+ 3. An O(N*M*T) spatial match retrieval algorithm
+ D. J. Buehrer and C. C. Chang, Chung Cheng Univ., R.O.C.
+
+ 4. On a maximum stable matching problem
+ J. J. M. Tan, Chiao Tung Univ., R.O.C.
+
+ 5. Performance of heuristics for the longest common subsequences problem
+ F. Chin and C. K. Poon, Univ. of Hong Kong, Hong Kong
+
+
+Database
+
+ 1. An overview of the SunSet database management system
+ F. Golshani and S. W. Dietrich, Arizona State Univ., U.S.A.
+
+ 2. Inserting tuples into coexistent views
+ C. H. Cho and Y. C. Lee, Univ. of Michigan, U.S.A.
+
+ 3. Solving the view update problem in nested relations
+ H. H. Yao, Yuan-Ze Inst. of Tech., R.O.C.
+
+ 4. Using partial pictures to view agreement in database relations
+ J. H. Leuchner, L. Miller and G. Slutzki, Iowa State Univ., U.S.A.
+
+
+Computer Communications
+
+ 1. Performance analysis of packet switching networks with window control
+ J. S. Wu and S. F. Yang, Central Univ., R.O.C.
+
+ 2. Tree algorithm with nonuniform traffic pattern
+ J. H. Huang and Y. C. Lai, Taiwan Univ., R.O.C.
+
+ 3. Polling system with K=1 limited service discipline and noncyclic
+ service order
+ C. J. Chang, I. H. Chen, and L. C. Hwang, Chiao Tung Univ., R.O.C.
+
+ 4. On the complexity of generating the test sequence without
+ synchronization problem
+ L. T. Liu, Telecommunication Lab., R.O.C.
+ G. H. Chen, Taiwan Univ., R.O.C.
+ C. S. Lu, Telecommunication Lab., R.O.C.
+
+ 5. An executable rule-based specification and its incremental
+ implementation for communication protocols
+ C. M. Huang, Y. I. Chang, and M. T. Liu, Ohio State Univ., U.S.A.
+
+
+Distributed Systems
+
+ 1. Resource allocation for fault tolerant systems using external backups
+ Y. Huang, AT&T Bell Labs., Murray Hill, U.S.A.
+ S. K. Tripathi, Univ. of Maryland, U.S.A.
+
+ 2. A distributed self-stabilizing algorithm for finding bridges
+ M. S. Tsai, C. C. Tsao, and S. T. Huang, Tsing Hua Univ., R.O.C.
+
+ 3. A robust and efficient algorithm of replicated ID table management in
+ GALAXY distributed operating system
+ X. Jia, K. Shimizu, H. Nakano, and M. Maekawa, Univ. of Tokyo, Japan
+
+ 4. An optimal diagnosis structure for distributed systems
+ F. W. Shih, IBM Watson Research Center, U.S.A.
+ K. Nakajima, Univ. of Maryland, U.S.A.
+
+ 5. Localizing the effects of faults in distributed object based systems
+ L. Lin, Unisys Corporation, San Jose, U.S.A.
+ M. Ahamad, Georgia Inst. of Tech., U.S.A.
+
+
+Image Processing
+
+ 1. Earley and MPM methods for attributed grammar parsing
+ K. Y. Huang and C. H. Chen, Chiao Tung Univ., R.O.C.
+ D. R. Leu, Univ. of Houston, U.S.A.
+
+ 2. A flexible parallel architecture for relaxation labeling algorithms
+ S. Y. Lin and Z. Chen, Chiao Tung Univ., R.O.C.
+
+ 3. Array architecture design for video communication applications
+ L. G. Chen, Y. S. Jehng, and T. D. Chiueh, Taiwan Univ., R.O.C.
+
+ 4. The development of HIGIPS the High-speed General-purpose Image
+ Processing System
+ F. H. Yao, A. Tamaki, K. Kato, Kyushu Inst. of Tech., Japan
+
+ 5. Prototyping a hypermedia document model with knowledge representation
+ K. Utsumiya, K. Korida, K. Yoshida, and S. Futamura, Oita Univ.,
+ Japan
+
+
+Algorithms
+
+ 1. The Most vital edges with respect to the number of spanning trees in
+ two-terminal series-parallel graphs
+ L. H. Hsu, R. H. Jan and Y. Y. Lee, Chiao Tung Univ., R.O.C.
+
+ 2. Guarding problems in the gallery
+ H. Y. Fang and C. Y. Tang, Tsing Hua Univ., R.O.C.
+
+ 3. On the relocation problems with some constraints
+ M. T. Lin and S. S. Tseng, Chiao Tung Univ., R.O.C.
+
+ 4. An efficient annealing schedule for multiconstraint zero-one knapsack
+ problem
+ F. T. Lin, C. C. Hsu, and C. Y. Kao, Taiwan Univ., R.O.C
+
+ 5. The complexity of periodic maintenance
+ S. Baruah, L. Rosier, I. Tulchinsky and Univ. of Texas, Austin,
+ U.S.A.
+
+
+Database
+
+ 1. A binary implementation of single-key-lock scheme for dynamic access
+ control
+ C. C. Chang, Chung Cheng Univ., R.O.C.
+ T. C. Wu, Chiao Tung Univ., R.O.C.
+
+ 2. A record-oriented cryptosystem for database sharing
+ C. H. Lin, Tsing Hua Univ., R.O.C.
+ C. C. Chang, Chung Cheng Univ., R.O.C.
+ R. C. T. Lee, Tsing Hua Univ., R.O.C.
+
+ 3. Time-space optimal numerical database for large-scale scientific
+ applications
+ S. C. Park and J. P. Draayer, Louisiana State Univ., U.S.A.
+ S. Q. Zheng, Louisiana State Univ., U.S.A.
+
+ 4. Optimal MMI file systems for orthogonal range retrieval
+ C. Y. Chen, Tsing Hua Univ., R.O.C.
+ C. C. Chang, Chung Cheng Univ., R.O.C.
+ R. C. T. Lee, Tsing Hua Univ., R.O.C.
+
+ 5. A comprehensive model for fuzzy information management
+ A. Ramer, Univ. of Oklahoma, U.S.A.
+
+
+Artificial Intelligence
+
+ 1. Solve assumption-based truth maintenance problems by constructing
+ deduction graphs
+ H. L. Li, Chiao Tung Univ., R.O.C.
+
+ 2. Paradox-free logics as the fundamental theory of knowledge Engineering
+ J. Cheng, Kyushu Univ., Japan
+
+ 3. General solutions of boolean equations
+ C. S. Wu, Industrial Tech. Research Inst., R.O.C.
+
+ 4. The modal-functional unification method for automating reasoning in a
+ logic of branching time
+ M. C. Chan, Univ. of New South Wales, Australia
+ T. J. Richards, La Trobe Univ., Australia
+
+ 5. Preliminary evaluation of LogDf: A data-driven parallel architecture
+ for logic programs
+ C. C. Tseng, Chiao Tung Univ., R.O.C.
+ P. Biswas, Texas Instrument Corp., U.S.A.
+
+
+Distributed Systems
+
+ 1. The optimal checkpoint interval in time Warp parallel simulation
+ S. Y. Hwang, Chiao Tung Univ., R.O.C.
+ E. D. Lazowska and Y. B. Lin, Univ. of Washington, U.S.A.
+
+ 2. Algorithms for the assignment of pipelined and acyclic tasks in
+ ring-structured distributed systems
+ J. P. Sheu, Central Univ., R.O.C.
+ C. Y. Chen, Tatung Inst. of Tech., R.O.C.
+
+ 3. A transformational approach to process partitioning using timed petri
+ nets
+ G. M. Yee and C. M. Woodside, Carleton Univ., Canada
+
+ 4. A teamware workbench for multimedia information management
+ N. Matsuura, S. Ichimura, S. I. Hiraiwa, K. I. Okada, and Y.
+ Matsushita, Keio Univ., Japan
+
+ 5. A virtual machine based execution environment for stand-alone
+ application systems
+ T. H. Chang, C. S. Hwang, and S. R. Tsai, Cheng Kung Univ., R.O.C.
+
+Image Processing
+
+ 1. Line segment matching for 3-D computer vision using a new iteration
+ scheme
+ S. L. Chou and W. H. Tsai, Chiao Tung Univ., R.O.C.
+
+ 2. Line segment correspondence finding using path and shape coherences
+ C. H. Wu and C. L. Huang, Tsing Hua Univ., R.O.C.
+
+ 3. Moment preserving edge detection and its application to image data
+ compression
+ H. S. Hsu and W. H. Tsai, Chiao Tung Univ., R.O.C.
+
+ 4. Image coding using eigendecomposition and its comparison with DCT
+ P. W. Chin, J. F. Yang, and C. H. Chen, Cheng Kung Univ., R.O.C.
+
+ 5. A new adaptive coder for runlength coding
+ J. F. Wang, L. W. Lee, and M. J. Yang, Cheng Kung Univ., R.O.C.
+
+
+Algorithms
+
+ 1. Design of a parallel theorem prover for first order logic
+ W. T. Chen, T. R. Chou, H. J. Liu and K. R. Hsieh, Tsing Hua Univ.,
+ R.O.C.
+
+ 2. A linear recurrence solver
+ F. C. Lin and K. L. Chung, Taiwan Univ., R.O.C.
+ Y. N. Yeh, Academia Sinica, R.O.C.
+
+ 3. On the design of parallel algorithms for non-linear space-time
+ representations
+ H. A. Fencl and C. H. Huang, Ohio State Univ., U.S.A.
+
+ 4. An O(1) time algorithm for generating computation tree forms
+ B. F. Wang and G. H. Chen, Taiwan Univ., R.O.C.
+
+ 5. Conflict-free broadcasting algorithms for graph traversal and its
+ applications
+ G. H. Chen, W. W. Liang, and L. T. Liu,
+ Taiwan Univ., R.O.C.
+ Z. C. Yeh, Tatung Inst. of Tech., R.O.C.
+
+Computer Vision
+
+ 1. Corner Detection and Segmented Regression
+ J. S. Huang, Academia Sinica, R.O.C.
+
+ 2. Automatic thresholding for edge detection based on human visual
+ perception
+ J. S. Chen, W. N. Lie, and Y. C. Chen, Tsing Hua Univ., R.O.C.
+
+ 3. Collision avoidance for monitoring multiple operating robot
+ manipulators by computer vision using 2-D camera views
+ W. T. Chao and W. H. Tsai, Chiao Tung Univ., R.O.C.
+
+ 4. A new Model-based approach for industrial visual inspection
+ Y. N. Sun and C. T. Tsai, Cheng Kung Univ., R.O.C.
+
+ 5. Fast object detection for a mobile robot using structured light in an
+ indoor environment
+ X. W. Tu and B. Dubuisson, Compiegne Univ., France
+
+
+Artificial Intelligence
+
+ 1. TCGD A Time-Constrained approximate guided Depth-first search algorithm
+ (Invited)
+ B. W. Wah and L. C. Chu, Univ. of Illinois, U.S.A.
+
+ 2. A generalized learning problem
+ T. P. Hong and S. S. Tseng, Chiao Tung Univ., R.O.C.
+
+ 3. Using both feature-based and Constraint-based Knowledge in the
+ evidential relaxation labeling scheme
+ C. C. Hsu and V. W. Soo, Tsing Hua Univ., R.O.C.
+
+ 4. A direction-selective chart and a head-driven chart parser for Chinese
+ sentence analysis
+ L. F. Chien and L. S. Lee, Taiwan Univ., R.O.C.
+ K. J. Chen, Academia Sinica, R.O.C.
+
+
+Parallel Processing
+
+ 1. Parallelized simulation of grids on hypercubes (Invited)
+ M. Y. Chan and Y. L. Chin, Univ. of Hong Kong, Hong Kong
+
+ 2. 3-D optical multistage interconnection networks: topology and routing
+ K. S. Huang and J. K. Peir, IBM T. J. Watson Research Center, U.S.A.
+
+ 3. The generalized cube connected cycles network
+ C. S. Yang and W. Y. Chen, Sun Yat-Sen Univ., R.O.C.
+
+ 4. Optimal broadcasting on SIMD hypercubes
+ C. T. Ho, IBM Almaden Research Center, U.S.A.
+
+
+VLSI/CAD
+
+ 1. On the design of concurrent error detectable multiply and divide arrays
+ C. L. Wey, Michigan State Univ., U.S.A. T. Y. Chang, Tsing Hua
+ Univ., R.O.C.
+
+ 2. On easily testable array multipliers
+ K. J. Lin and C. W. Wu, Tsing Hua Univ., R.O.C.
+
+ 3. Test pattern generation for sequential circuits by dirceted-search
+ method
+ J. F. Wang, P. C. Chen, C. G. Wang, B. D. Liu and T. Y. Kuo, Cheng
+ Kung Univ., R.O.C.
+
+ 4. A new hybrid sense algorithm for three-layer via minimization with
+ practical constraints
+ S. C. Fang, Taiwan Univ., R.O.C. K. E. Chang, Taiwan Normal Univ.,
+ R.O.C.
+ W. S. Feng, Taiwan Univ., R.O.C.
+
+ 5. Worst case analysis of greedy heuristic to find a minimum total-jogs
+ layout for river routing
+ K. H. Teo and T. C. Tuan, Univ. of Oklahoma, U.S.A.
+
+ 6. A new net distribution algorithm for cell layout
+ P. W. Huang, H. R. Lin, and Y. C. Hsu, Tsing Hua Univ., R.O.C.
+
+
+Algorithms
+
+ 1. Voronoi diagrams for moving objects (Invited)
+ H. Imai and K. Imai, Univ. of Tokyo, Japan
+
+ 2. Constant time algorithms for sorting and computing convex hulls
+ B. F. Wang and G. H. Chen, Taiwan Univ., R.O.C.
+
+ 3. Computing minimum spanning trees and relative neighborhood graphs in
+ the polygonal Minkowski metric
+ S. N. Yang and C. H. Cheng, Tsing Hua Univ., R.O.C.
+
+ 4. The NP-hardness of two connected cell layout problems on cellular radio
+ networks
+ N. F. Huang and R. S. Lin, Tsing Hua Univ., R.O.C.
+
+
+Computer Vision
+
+ 1. Thinning and stroke segmentation for document symbols
+ R. H. Cheng and Z. Chen, Chiao Tung Univ., R.O.C.
+
+ 2. A mathematical morphology approach to euclidean distance transformation
+ F. Y. Shih, New Jersey Inst. of Tech., U.S.A.
+ O. R. Mitchell, Univ. of Texas, U.S.A.
+
+ 3. Skeletonization using the newtonian potential
+ J. H. Chuang, Univ. of Illinois, U.S.A.
+
+
+Artificial Intelligence
+
+ 1. Design and implementation of a generalized blackboard structuring
+ subsystem
+ C. S. Ho, R. C. Chen, and J. M. Lin, Taiwan Inst. of Tech., R.O.C.
+
+ 2. An adaptive expert system for control decision in battle ship
+ simulation
+ W. W. Loa and C. L. Wang, Chung San Inst. of Science and Technology,
+ R.O.C.
+
+ 3. Z-III: a PC-based fuzzy expert system shell
+ K. S. Leung, Y. T. So, A. Leung, and W. S. F. Wong, Chinese Univ. of
+ Hong Kong, Hong Kong
+
+ 4. Hardware encoding of concept hierarchy
+ H. H. Chung, M. T. Hsieh, and S. Y. Hwang, Chiao Tung Univ., R.O.C.
+
+
+Parallel Processing
+
+ 1. An interactive technique to analyze the performance of finite-buffered
+ multistage interconnection networks
+ H. S. Jang, M. Singhal, K. Y. Lee and M. T. Liu, Ohio State Univ.,
+ U.S.A.
+
+ 2. Refining the diffusion approximation for modelling multiprocessor
+ systems
+ J. S. Wu and J. Y. Wang, Central Univ., R.O.C.
+
+ 3. A fault-tolerant VLSI interconnection network using cellular array
+ H. Mei and T. C. Lin, Univ. of Texas, U.S.A.
+
+ 4. GALAXY A parallel computer for large data/knowledge base systems
+ K. A. Hua, Univ. of Central Florida, U.S.A.
+ C. Lee, IBM Mid-Hudson Laboratories, U.S.A.
+
+ 5. A decomposition strategy for extending double precision and reducing
+ ROM cost in conversion between binary and binary logarithm
+ J. F. Hsueh and H. Y. Lo, Feng Chia Univ., R.O.C.
+
+
+VLSI/CAD
+
+ 1. A new approach to CMOS operational amplifier synthesis
+ C. Y. Kuo, L. G. Chen and T. M. Parng, Taiwan Univ. R.O.C.
+
+ 2. Automated synthesis of asynchronous digital circuits from graphic
+ timing specification
+ W. K. Chia and Y. H. Kuo, Cheng Kung Univ., R.O.C
+
+ 3. A new synthesizer of microprogrammed controllers for multicycling
+ operations
+ J. F. Wang, M. H. Sheu, Y. L. Jeang, W. Y. Lee and J. Y. Lee, Cheng
+ Kung Univ., R.O.C.
+
+ 4. FIPOC: A finite state machine synthesizer
+ J. P. Wang and C. S. Lin, Taiwan Univ., R.O.C.
+
+ 5. A technology-driven simulation system based on code-generation design
+ methodology
+ A. T. Yang and J. T. Yao, Univ. of Washington, U.S.A.
+
+Algorithms
+
+ 1. Parallel algorithms for sparse linear systems (Invited)
+ D. J. Evans, Loughborough Univ. of Tech., U.K.
+
+ 2. Solving diffusion equations using vector/parallel algorithm
+ L. C. Chien, Academia Sinica, R.O.C.
+ H. C. Hsu, Taichung Inst. of Commercial, R.O.C.
+
+ 3. Solving large sparse linear system by iterative method on
+ multiprocessor
+ N. S. Chang, J. S. Wang and C. Y. Tang, Tsing Hua Univ., R.O.C.
+
+ 4. An efficient parallel algorithm for Jacobian computation
+ J. Z. C. Lai and J. S. Kuo, Feng Chia Univ., R.O.C.
+
+
+Neural Networks
+
+ 1. Fuzzy combinatorial optimization by neural networks
+ M. Sakawa, Hiroshima Univ., Japan
+
+ 2. A neural network for solving the satisfiability problems
+ K. T. Sun and H. C. Fu, Chiao Tung Univ., R.O.C.
+
+ 3. Solving the travelling salesman problem using hopfield nets with
+ time-varying energy function 763
+ S. D. Wang and C. M. Tsai, Taiwan Univ., R.O.C.
+
+ 4. A neural network approach to constrained task allocation problems
+ Y. S. Tseng, J. L. Wu and J. H. Huang, Taiwan Univ., R.O.C.
+
+Software Engineering
+
+ 1. Software engineering in the year 2000 (Invited)
+ C. V. Ramamoorthy, Univ. of California, Berkeley, U.S.A.
+
+ 2. A requirement organization approach for object-based construction of
+ software systems
+ D. J. Chen, S. K. Huang and J. Y. Chen, Chiao Tung Univ., R.O.C.
+
+ 3. An approach to module invocation based performance dependency analysis
+ for Ada programs
+ P. S. E. Chang and C. Y. Hsieh, Univ. of Oklahoma., U.S.A.
+
+ 4. Rule-based software performance evaluation
+ C. C. Lien, C. C. Yang and S. J. Hwang, Taiwan Inst. of Tech.,
+ R.O.C.
+
+
+Parallel Processing
+
+ 1. Heterogeneous Multicomputers (Invited)
+ H. T. Kung, Carnegie Mellon Univ., U.S.A.
+
+ 2. VLSI architecture of the MPA-I superscalar microprocessor
+ B.T. Chang, Y. J. Oyang and F. C. Lin, Taiwan Univ., R.O.C.
+
+ 3. Analytical and simulated performance of the USC orthogonal
+ multiprocessor
+ C. M. Cheng and K. Hwang, Univ. of Southern California, U.S.A.
+
+ 4. Correlation between cache size and coherence protocol overhead
+ J. C. Wang and M. Dubois, Univ. of Southern California, U.S.A.
+
+
+Signal Processing
+
+ 1. Computing pseudo wigner distribution by the fast Hartley transform
+ S. C. Pei and I. I. Yang, Taiwan Univ., R.O.C.
+
+ 2. The unconstraint minimization approach of the pisarenko spectral
+ estimation
+ S. J. Chern and T. M. Lan, Sen Yat-sen Univ., R.O.C.
+
+ 3. An independence technique and its application to transform coding
+ C. J. Kuo, Chung Cheng Univ., R.O.C.
+
+ 4. Signal reconstruction from Hartley transform magnitudes
+ G. S. Chen, J. L. Wu and L. S. Lee, Taiwan Univ., R.O.C.
+
+ 5. A new implementation of generalized order statistic filter by
+ threshold decomposition
+ L. W. Chang and S. S. Yu, Tsing Hua Univ., R.O.C.
+
+
+Computer Graphics
+
+ 1. Approximation to planar curves by the minimum number of piecewise
+ parabolas
+ H. M. Sun, Academia Sinica, R.O.C.
+ M. C. K. Yang, Academia Sinica, R.O.C. and Univ. of Florida, U.S.A.
+
+ 2. A developmental model of herbaceous plants with flowers--the growth of
+ orchid
+ Y. J. Shih and Z. C. Shih, Chiao Tung Univ., R.O.C.
+
+ 3. Polar form for surface modelings
+ T. V. To and H. N. Phien, Asian Inst. of Tech., Thailand
+
+ 4. A CG technique to generate pictures of bird's-eye view of terrain
+ models for constructing holographic stereogram
+ Y. Aoki, T. Naruse and Y. Sakai, Hokkaido Univ., Japan
+
+ 5. Modeling deformable objects using a linkage model
+ P. Y. Ku, Inst. of Information Industry, R.O.C.
+ Y. T. Ching, Academia Sinica and Chiao Tung Univ., R.O.C.
+
+
+Neural Networks
+
+ 1. Decision support using fuzzy neural logic network
+ F. H. Nah and S. C. Chan, Univ. of Singapore,
+ Singapore
+
+ 2. A smart spell checking system - a neural net approach
+ P. Y. Chen and J. S. Wang, Tsing Hua Univ., R.O.C.
+
+ 3. A numerical stable pipeline net VLSI architecture for the isomorphic
+ Hopfield model
+ P. R. Chang and K. S. Hwang, Industrial Tech. Research Inst., R.O.C.
+
+ 4. An improved pocket learning of neural network
+ Y. P. Chu, S. T. Wang and C. M. Hsieh, Chung Hsing Univ., R.O.C.
+
+
+Software Engineering
+
+ 1. Automatic transformation of high-level logic specifications into
+ efficient imperative programs
+ A. Pan and B. R. Bryant, Univ. of Alabama, Birmingham, U.S.A.
+
+ 2. Design and implementation of the EC++ language
+ H. J. Chen and B. J. Liu, Central Univ., R.O.C.
+
+ 3. Software reliability measurement during operation phase based on a
+ test-effort dependent reliability growth model
+ J. Hishitani, S. Yamada, M. Kimura and S. Osaki, Hiroshima Univ.,
+ Japan
+
+ 4. An efficient lookahead algorithm for disk cache
+ T. M. Chang, Dongguk Univ., Korea
+ C. S. Jhon, Seoul Univ., Korea
+
+ 5. Trio: an object-oriented operating system for education
+ P. J. Lee and F. J. Wang, Chiao Tung Univ., R.O.C.
+
+
+Parallel Processing
+
+ 1. A dependence-based loop partitioning method for multitasking in a vetor
+ computer
+ I. K. Chou, C. P. Chung and C. Chen, Chiao Tung Univ., R.O.C.
+
+ 2. Trapezoid self-scheduling: a practical scheduling scheme for parallel
+ compilers
+ T. H. Tzen and L. M. Ni, Michigan state Univ., U.S.A.
+
+ 3. STRAD: A tool for automatic synthesis of regular array algorithms
+ Y. C. Lin, Taiwan Inst. of Tech., R.O.C.
+
+ 4. Modeling the performance of grouping on multicomputers
+ C. T. King, W. D. Ju and I. R. Kau, New Jersey Institute of
+ Technology, U.S.A.
+
+ 5. Study of the vectorization of FFT
+ C. P. Chung and C. H. Tsai, Chiao Tung Univ., R.O.C.
+
+
+Speech Recognition
+
+ 1. Recognition of phonetic labels of the TIMIT speech corpus by means of
+ an artificial neural network
+ J. X. Wu and C. Chan, Univ. of Hong Kong, Hong Kong
+
+ 2. On the use of matrix quantization to text-constraint speaker
+ identification
+ M. S. Chen, P. H. Lin and H. C. Wang, Tsing Hua Univ., R.O.C.
+
+ 3. A study on two-dimensional cepstrum approach for the speech recognition
+ H. F. Pai and H. C. Wang, Tsing Hua Univ., R.O.C.
+
+ 4. An initial study on large vocabulary continuous mandarin speech
+ recognition
+ C. H. Tseng and L. S. Lee, Taiwan Univ., R.O.C.
+
+==============================================================================
+
+FIRST WORKSHOP ON PARALLEL PROCESSING
+National Tsing Hua University
+Dec 20-21 1990 Hsinchu, Taiwan ROC
+PROGRAM
+
+Keynote Speech: How to Move Parallel Processing into the Mainstream,
+H.T. Kung (Carnegie Mellon Univ USA)
+
+Whatever Happened to the Promised MFLOPs?
+C.C. Hsiuing (Cray Research, USA)
+
+Orthogonal Multiprocessor for Integrated Image Understqnding
+K. Hwang & D.K. Panda (Univ Southern Cal USA)
+
+On Multistage Interconnection Networks
+T. Feng (Penn State Univ, USA)
+
+The Role of Protocol Engineering in Parallel Processing
+M.T. Liu (Ohio State U, USA)
+
+Communication Issues in Multicomputers
+L.M. Ni (Michigan State Univ, USA)
+
+Design and Experimentation of Routing Schemes for 2D Torus Message
+Passing Network
+T.W. Hou, L.M. Tseng, W.G. Lin, S.R. Tsai, C.K. Shie (National Cheng
+Kung Univ)
+
+SEE: A System Evaluation Environment for Parallel Systems
+P.C. Yew & J.D. Bruner (U. Illinois at Urbana-Champaign USA)
+
+Parallel Algorithms for Computing the Minimum Visible Vertex Distance
+Between Two Polygons
+F.R. Hsu, R.C.T. Lee, R.C. Chang (National Chiao Tung Univ)
+
+Configurational Computation on the Processor Array with a
+Reconfigurable Bus System
+B.F. Wang, G.H. Chen, H. Li (National Taiwan Univ)
+
+An Optimal Parallel Algorithm for Generating Permutations on a Linear
+Array
+B.Y. Wu & C.Y. Tang (National Tsing Hua Univ)
+
+Cache Organizations in Shared Memory Parallel Systems
+K. So (IBM T.J. Watson Research Center USA)
+
+Parasight: An Integrated Programming Environment for Sequential and
+Parallel Programs
+P.Y. Chen, Z. Aral, I. Gertner, G. Schaffer, J. Grier (Encore Co USA)
+
+Research and Education of Software Engineering for Concurrent Systems
+K.C. Tai (US National Science Foundation, & North Carolina State
+Univ, USA)
+
+A 3n-state Self Stabilizing Protocol for Uniform Rings
+S.T. Huang (National Tsing Hua Univ)
+
+Parallel Computing and Parallel Compilers
+J. Fang (Convex Computer Corp)
+
+Extract Parallelism within a Nested Loop by Cycle Breaking and Loop
+Reordering
+C.M. Wang, S.D. Wang (National Taiwan Univ)
+
+Synthesizing Nested Loop Algorithms Using Nonlinear Transformation Method
+J.P. Sheu, C.Y. Chang (National Central Univ)
+
+Computer Scheduling Algorithms: Past, Present, and Future
+K.M. Baumgartner, B.W. Wah (Univ of Illinois at Urbana-Champaign)
+
+Scheduling Support for Parallel Programs on Multiprocessors
+H. Chang (IBM T.J. Watson Research Center)
+
+An Optimal Partitioning in the Star Network with Limited Processors
+M.T. Chen, S.S. Tseng (National Chiao Tung Univ)
+
+Exploitation of Multiple-Instruction-Stream Superscalar Microprocessor
+Architecture
+C Wu, R. G. Prasadh (Univ Texas at Austin)
+
+Major Architectural Features of the Spectra-I Superscale Microprocessor
+Y. Oyang, C. Wen, Y. Chen (National Taiwan Univ)
+
+Parallel Inference Model Based on Multi RISC-style Processing System
+C. Chen, C. Chung, C. Chiang, H. Fu, T. Chang, R. Ou, S. Wang (National
+Chiao Tung Univ)
+
+The Design of an Integrated Parallel Processing Unit with a
+Reconfigurable Bus System
+W. Chen, C. Liu, M. Fang (National Tsing Hua Univ)
+
+Two-Level Fault-Tolerant Boolean Hypercube Architecture
+C. Yang, S. Wu (National Sun Yat-Sen Univ)
+
+The VP/30 Compute Server: The First Mini-supercomputer in Taiwan
+H. Yeh, J. Tsau, P. Shiue, B. Lin, A. Chu, J. Chang (CCL/ITRI)
+
+------------------------END OF REPORT-----------------------------------
+
diff --git a/language/chinese/chtex/telecode.gb.gz b/language/chinese/chtex/telecode.gb.gz
new file mode 100644
index 0000000000..3e9be41e13
--- /dev/null
+++ b/language/chinese/chtex/telecode.gb.gz
Binary files differ
diff --git a/language/chinese/cjkpunct/CJKpunct.dtx b/language/chinese/cjkpunct/CJKpunct.dtx
new file mode 100644
index 0000000000..a402c47458
--- /dev/null
+++ b/language/chinese/cjkpunct/CJKpunct.dtx
@@ -0,0 +1,876 @@
+% \iffalse
+%<*internal>
+\iffalse
+%</internal>
+%<*readme>
+CJKpunct
+========
+
+`CJKpunct` is a LaTeX2e macro package to be the companion
+of `CJK` package by Werner Lemberg for punctuation location
+and width adjustments.
+
+Contributing
+------------
+
+This package is a part of the [ctex-kit](https://github.com/CTeX-org/ctex-kit) project.
+
+Issues and pull requests are welcome.
+
+Copyright and Licence
+---------------------
+
+ Copyright (C) 2003--2010 by Linbo Zhang <zlb@lsec.cc.ac.cn>
+ Copyright (C) 2003--2010 by Wenchang Sun <sunwch@nankai.edu.cn>
+ Copyright (C) 2010 by Leo Liu <leoliu.pku@gmail.com>
+ Copyright (C) 2016 by Qing Lee <sobenlee@gmail.com>
+ ----------------------------------------------------------------------
+
+ This work may be distributed and/or modified under the
+ conditions of the LaTeX Project Public License, either
+ version 1.3c of this license or (at your option) any later
+ version. This version of this license is in
+ http://www.latex-project.org/lppl/lppl-1-3c.txt
+ and the latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+ and version 1.3 or later is part of all distributions of
+ LaTeX version 2005/12/01 or later.
+
+ This work has the LPPL maintenance status `maintained'.
+
+ The Current Maintainer of this work is Qing Lee.
+
+ This package consists of the files CJKpunct.dtx,
+ CJKpunct.spa,
+ setpunct-main.tex,
+ setpunct-macros.tex,
+ example-CJKfntef.tex,
+ example-gb.tex,
+ example-gbk.tex,
+ example-utf8.tex,
+ README.txt,
+ and the derived files CJKpunct.sty,
+ CJKpunct.pdf,
+ CJKpunct.ins, and
+ README.md (this file).
+%</readme>
+%<*internal>
+\fi
+\begingroup
+ \def\temp{LaTeX2e}
+\expandafter\endgroup\ifx\temp\fmtname\else
+\csname fi\endcsname
+%</internal>
+%<*batchfile>
+
+\input docstrip %
+
+\keepsilent
+\askforoverwritefalse
+
+\preamble
+
+ Copyright (C) 2003--2010 by Linbo Zhang <zlb@lsec.cc.ac.cn>
+ Copyright (C) 2003--2010 by Wenchang Sun <sunwch@nankai.edu.cn>
+ Copyright (C) 2010 by Leo Liu <leoliu.pku@gmail.com>
+ Copyright (C) 2016 by Qing Lee <sobenlee@gmail.com>
+--------------------------------------------------------------------------
+
+ This work may be distributed and/or modified under the
+ conditions of the LaTeX Project Public License, either
+ version 1.3c of this license or (at your option) any later
+ version. This version of this license is in
+ http://www.latex-project.org/lppl/lppl-1-3c.txt
+ and the latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+ and version 1.3 or later is part of all distributions of
+ LaTeX version 2005/12/01 or later.
+
+ This work has the LPPL maintenance status `maintained'.
+
+ The Current Maintainer of this work is Qing Lee.
+
+--------------------------------------------------------------------------
+
+\endpreamble
+\postamble
+
+ This package consists of the files CJKpunct.dtx,
+ CJKpunct.spa,
+ setpunct-main.tex,
+ setpunct-macros.tex,
+ example-CJKfntef.tex,
+ example-gb.tex,
+ example-gbk.tex,
+ example-utf8.tex,
+ README.txt,
+ and the derived files CJKpunct.sty,
+ CJKpunct.pdf,
+ CJKpunct.ins, and
+ README.md (this file).
+\endpostamble
+
+\generate
+ {
+ \usedir{tex/latex/cjkpunct}
+ \file{CJKpunct.sty} {\from{\jobname.dtx}{CJKpunct}}
+ \usedir{doc/latex/cjkpunct}
+ \nopreamble\nopostamble
+ \file{README.md} {\from{\jobname.dtx}{readme}}
+ }
+%</batchfile>
+%<batchfile>\Msg{*************************************************************}
+%<batchfile>\Msg{*}
+%<batchfile>\Msg{* To finish the installation you have to move the following}
+%<batchfile>\Msg{* files into a directory searched by LaTeX:}
+%<batchfile>\Msg{*}
+%<batchfile>\Msg{* \space\space\space CJKpunct.sty}
+%<batchfile>\Msg{*}
+%<batchfile>\Msg{*************************************************************}
+%<batchfile>\endbatchfile
+%<*internal>
+\generate{\file{CJKpunct.ins}{\from{\jobname.dtx}{batchfile}}}
+\endbatchfile
+\fi
+%</internal>
+%<*driver>
+\documentclass[a4paper,12pt]{ltxdoc}
+\usepackage{xcolor}
+\usepackage{CJKutf8}
+\usepackage{CJKspace}
+\usepackage{CJKpunct}
+\PassOptionsToPackage{driverfallback=dvipdfmx}{hyperref}
+\usepackage{hypdoc}
+\hypersetup{pdfencoding=unicode,bookmarksopen=true,pdfstartview=FitH}
+\AtBeginShipoutFirst{{%
+ \MakePercentComment
+ \input{zhwindowsfonts}}}
+\textheight 210mm
+\textwidth 150mm
+\oddsidemargin 0pt
+\evensidemargin 0pt
+
+% macros
+{\catcode`\|=0 \catcode`\\=12
+ |gdef|bslash{\}}
+
+\newcommand{\defmacro}[1]{% % Define a macro.
+ \textcolor{macrocolor}{$\backslash$#1}\index{\string\verb+\bslash#1+}%
+}
+
+\newcommand{\usemacro}[1]{% % Define a macro.
+ \textcolor{macrocolor}{\string#1}%
+ #1\index{\string\verb+\string#1+}%
+}
+
+\definecolor{parametercolor}{rgb}{1,0,1}
+\definecolor{optioncolor}{rgb}{0,0,1}
+\definecolor{macrocolor}{rgb}{0,0,0.63}
+
+\newcommand{\usepmacro}[3][]{%
+ \edef\tempa{#1}%
+ \textcolor{macrocolor}{\string#2}%
+ \string{\textcolor{parametercolor}{#3}\string}%
+ \ifx\tempa\@empty\else (#1)\fi%
+ #2{#3}\index{\string\verb+\string#2+}%
+}
+
+\newenvironment{decl}[1][]%
+ {\par\small\addvspace{4.5ex plus 1ex}%
+ \vskip -\parskip
+ \ifx\relax#1\relax
+ \def\@decl@date{}%
+ \else
+ \def\@decl@date{\NEWfeature{#1}}%
+ \fi
+ \noindent\hspace{-\leftmargini}%
+ \begin{tabular}{|l|}\hline\ignorespaces}%
+ {\\\hline\end{tabular}\nobreak\@decl@date\par\nobreak
+ \vspace{2.3ex}\vskip -\parskip}
+
+\renewcommand{\arg}[1]{{\tt\string{}\m{#1}{\tt\string}}}
+\newcommand{\m}[1]{\mbox{\color{parametercolor}$\langle$\it #1\/$\rangle$}}
+\setcounter{IndexColumns}{2}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+\begin{CJK*}{UTF8}{rm}
+ \DocInput{CJKpunct.dtx}
+ \PrintIndex
+ \newpage
+\end{CJK*}
+\end{document}
+%</driver>
+%
+%<*CJKpunct>
+\def\fileversion{4.8.4}
+\def\filedate{2016/05/14}
+\ProvidesPackage{CJKpunct}[\filedate\space\fileversion]
+%</CJKpunct>
+%
+% \fi
+%
+% \makeatletter ^^A% To document @-cmds
+% \errorcontextlines=999 ^^A% Show up all my mistakes
+%
+% \CheckSum{936}
+% \GetFileInfo{CJKpunct.sty}
+%
+% \title{CJKpunct 使用说明}
+% \author{张林波 \quad 孙文昌}
+% \date{2016 年 5 月 14 日}
+% \maketitle
+%
+%
+% \def\CJKpunct{{\textcolor{blue}{\texttt{CJKpunct}}}}
+% \CJKpunct\ 是一个 \LaTeX\ 宏包, 用于排版中文标点,提供多种标点样式,以实现行末对齐、
+% 标点挤压等效果。 其基本方法来自 CCT。
+% \section{调用方式}
+% \parindent 2em
+% \parskip 5pt
+% \begin{decl}
+% \defmacro{usepackage}\{\textcolor{parametercolor}{CJKpunct}\}
+% \end{decl}
+%
+% \section{常用宏命令}
+% \begin{decl}
+% \defmacro{punctstyle}\arg{punct style}
+% \end{decl}
+%
+% 设置标点格式,有效值分别为
+%
+% \begin{tabular}{ll}
+% punct style & \\
+% \textcolor{parametercolor}{banjiao} & 半角式 \\
+% \textcolor{parametercolor}{quanjiao} & 全角式\\
+% \textcolor{parametercolor}{kaiming} & 开明式\\
+% \textcolor{parametercolor}{hangmobanjiao}& 行末半角式\\
+% \textcolor{parametercolor}{CCT} & CCT 格式\\
+% \textcolor{parametercolor}{plain} & CJK 缺省格式
+% \end{tabular}
+%
+%
+% 注意:为了得到最好的排版效果,需要制作字体相关的 CJKpunct.spa 文件。请参考
+% \nolinkurl{TDS/doc/latex/cjkpunct/setpunct/README.txt}。
+%
+%
+% \begin{decl}
+% \defmacro{CJKpunctallowbreakbetweenpuncts} \\
+% \defmacro{CJKpunctnobreakbetweenpuncts}
+% \end{decl}
+%
+% 缺省状态下,\CJKpunct\ 禁止在相邻的标点间换行(行末半角和 CJK 缺省格式除外)。 使用
+%
+% \defmacro{CJKpunctallowbreakbetweenpuncts}\newline
+% 改变这一设置。注意:行末半角和 CJK 缺省格式总是允许相邻标点间换行。
+%
+% \begin{decl}
+% \defmacro{CJKpunctsetkern}\arg{标点1}\arg{标点2}\arg{间距}
+% \end{decl}
+%
+% 设置标点 1 与标点 2 之间的距离。 例如,\defmacro{CJKpunctsetkern}\{:\}\{“\}\{0.4em\}
+%
+% \begin{decl}
+% \defmacro{CJKpunctmapfamily}\arg{font encoding}\arg{font family}\arg{font series}\arg{font shape}
+% \arg{punct family}
+% \end{decl}
+%
+% 缺省状态下, \CJKpunct\ 根据 CJKfamily 确定当前标点符号的实际字体。 但这对C19com等组合字体
+% 不适用。此命令提供一个解决方案:用户可以指定 \arg{font encoding}/ \arg{font family}/
+% \arg{font series}/ \arg{font shape} 所对应的标点符号字体。例如,对于C19rm, 可以做如下设置:
+%
+% \begin{verbatim}
+% \CJKpunctmapfamily{C19}{rm}{m}{n}{song}
+% \CJKpunctmapfamily{C19}{rm}{bx}{n}{hei}
+% \CJKpunctmapfamily{C19}{rm}{m}{sl}{song}
+% \CJKpunctmapfamily{C19}{rm}{bx}{sl}{hei}
+% \CJKpunctmapfamily{C19}{rm}{m}{it}{kai}
+% \CJKpunctmapfamily{C19}{rm}{bx}{it}{kai}
+% \end{verbatim}
+%
+% \section{制作 CJKpunct.spa 文件}
+%
+% 文件 CJKpunct.spa 保存了字体相关的标点符号宽度。制作方法请参考
+% \nolinkurl{TDS/doc/latex/cjkpunct/setpunct/README.txt}。
+%
+% \StopEventually{}
+%
+%
+% \clearpage
+% \part{CJKpunct.sty}
+%
+%
+% \iffalse
+%<*CJKpunct>
+% \fi
+% \fontsize{10pt}{10pt}\selectfont
+% CJKpunct
+% \begin{macrocode}
+\endlinechar \m@ne
+
+\newif\if@CJKpunct
+\newif\if@CJKpunct@dokerning
+\newcount\CJKpunct@cnta
+\newcount\CJKpunct@cntb
+\newcount\CJKpunct@cntc
+\newcount\CJKpunct@cntd
+\newcount\CJKpunct@cnte
+% \end{macrocode}
+%
+% 为使 \CJKpunct\ 起作用,重定义一些 CJK 宏。
+%
+% \begin{macrocode}
+\let\CJKo@testLastCJK\CJK@testLastCJK
+\def\CJKpunct@testLastCJK{
+ \global\CJK@false
+ \global\edef\CJKpunct@lastkern{\number\lastkern}}
+
+\let\CJKo@testLastKern\CJK@testLastKern
+\def\CJKpunct@testLastKern{
+ \global\CJK@false}
+
+\let\CJKo@testPrePunct\CJK@testPrePunct
+\let\CJKo@testPostPunct\CJK@testPostPunct
+\def\CJKpunct@testPrePunct#1#2#3{}
+\def\CJKpunct@testPostPunct#1#2#3{}
+
+
+\let\CJKo@nobreakglue\CJK@nobreakglue
+% \end{macrocode}
+%
+% \defmacro{CJKsymbol} 的定义中需要三重括号以保证兼容 CJKfntef 宏包。
+%
+% \begin{macrocode}
+
+\let\CJKosymbol\CJKsymbol
+\def\CJKpunct@CJKsymbol#1{
+ {{{
+ \ifnum\CJKpunct@lastkern>0\relax
+ \ifnum\CJKpunct@lastcharclass=0\relax
+ \CJKglue
+ \else
+ \CJKpunct@ULspecials
+ \fi
+ \fi
+ \CJKosymbol{#1}
+ \gdef\CJKpunct@lastcharclass{0}}}}}
+
+\def\CJKpunct@lastcharclass{0}
+\def\CJKpunct@lastkern{0}
+% \end{macrocode}
+%
+% 标点符号的排版规则:
+%
+% \begin{macrocode}
+\let\CJKopunctsymbol\CJKpunctsymbol
+\def\CJKpunct@CJKpunctsymbol#1{
+ \CJKpunct@setfamily
+ \CJKpunct@setmarginkerning
+ \edef\CJKpunct@currentpunct{\CJK@plane/\the#1}
+ \ifcsname CJKpunct@\CJK@enc @\CJKpunct@currentpunct\endcsname
+ \edef\CJKpunct@currentcharclass{
+ \csname CJKpunct@\CJK@enc @\CJKpunct@currentpunct\endcsname}
+ {{{% We need three braces for CJKulem to work
+ \@CJKpunctfalse
+ \ifnum\CJKpunct@lastkern>0\relax
+ \ifnum\CJKpunct@lastcharclass>0\relax
+ \unkern
+ \unkern
+ \ifnum\CJKpunct@punctstyle>0\relax
+ \@CJKpuncttrue
+ \else
+ \ifcsname CJKpunct@specialpunct\CJK@enc \CJKpunct@currentpunct\endcsname
+ \@CJKpuncttrue
+ \fi
+ \fi
+ \fi
+ \fi
+ \if@CJKpunct
+ \CJKpunct@unskip
+ \CJKpunct@setkern{\CJKpunct@lastpunct}{\CJKpunct@currentpunct}
+ \kern \csname CJKpunct\CJKpunct@punctstyle @\CJK@enc @\CJKpunct@family
+ @kern\CJKpunct@lastpunct @\CJKpunct@currentpunct\endcsname
+ \CJKpunct@nobreak
+ \else
+ \CJKpunct@ULspecials
+ \ifnum\CJKpunct@currentcharclass=1\relax
+ \hskip \csname CJKpunct\CJKpunct@punctstyle @\CJK@enc @\CJKpunct@family
+ @lglue@\CJKpunct@currentpunct\endcsname plus 0.1em minus 0.1 em
+ \else
+ \ifcsname CJKpunct@specialpunct\CJK@enc \CJKpunct@currentpunct\endcsname
+ \CJKglue % breakable
+ \else
+ \nobreak
+ \fi
+ \fi
+ \fi
+ \global\edef\CJKpunct@lastpunct{\CJKpunct@currentpunct}
+
+ \vrule width \csname CJKpunct\CJKpunct@punctstyle @\CJK@enc @\CJKpunct@family
+ @lrule@\CJKpunct@currentpunct\endcsname depth \z@ height \z@
+
+ \CJKopunctsymbol{#1}
+ \vrule width \csname CJKpunct\CJKpunct@punctstyle @\CJK@enc @\CJKpunct@family
+ @rrule@\CJKpunct@currentpunct\endcsname depth \z@ height \z@
+
+ \ifnum\CJKpunct@currentcharclass=2\relax
+ \hskip \csname CJKpunct\CJKpunct@punctstyle @\CJK@enc @\CJKpunct@family
+ @rglue@\CJKpunct@currentpunct\endcsname plus 0.1em minus 0.1 em
+ \fi
+ \global\let\CJKpunct@lastcharclass\CJKpunct@currentcharclass}}}
+ \else
+ \CJKsymbol{#1}
+ \global\def\CJKpunct@lastcharclass{0}
+ \fi}
+% \end{macrocode}
+%
+% 设置当前 font family.
+%
+% \begin{macrocode}
+\def\CJKpunct@setfamily{
+ \ifcsname \CJK@enc @\CJK@family @\f@series @\f@shape\endcsname
+ \global\edef\CJKpunct@family{\csname \CJK@enc @\CJK@family @\f@series @\f@shape\endcsname}
+ \else
+ \global\edef\CJKpunct@family{\CJK@family}
+ \fi}
+
+\def\CJKpunctmapfamily#1#2#3#4#5{
+ \expandafter\edef\csname #1@#2@#3@#4\endcsname{#5}}
+
+% \end{macrocode}
+%
+% CJK 缺省标点符号格式
+%
+% \begin{macrocode}
+\def\CJKpunct@plainpunctsymbol#1#2{
+ \CJKpunctsymbol{#2}}
+% \end{macrocode}
+%
+% 设置标点符号边界宽度。
+%
+% \begin{macrocode}
+\def\CJKpunct@setmarginkerning{
+ \ifcsname CJKpunct @\CJKpunct@punctstyle @\CJK@enc @\CJKpunct@family\endcsname
+ \else
+ \expandafter\gdef\csname CJKpunct @\CJKpunct@punctstyle @\CJK@enc
+ @\CJKpunct@family\endcsname{}
+ \ifcsname CJKpunct@\CJKpunct@family @spaces\endcsname
+ \PackageInfo{CJKpunct}{use punctuation spaces for family '\CJKpunct@family'
+ \space with punctstyle (\CJKpunct@currentpunctstyle)}\relax
+ \edef\CJKpunct@spaces{\csname CJKpunct@\CJKpunct@family @spaces\endcsname}
+ \else
+ \ifcsname CJKpunct@spaces@\CJKpunct@family\endcsname
+ \else
+ \PackageInfo{CJKpunct}{punctuation spaces for family '\CJKpunct@family' do not exist.
+ \space Use family 'def' instead.}\relax
+ \global\expandafter\def\csname CJKpunct@spaces@\CJKpunct@family\endcsname{}
+ \fi
+ \edef\CJKpunct@spaces{\csname CJKpunct@def@spaces\endcsname}
+ \fi
+ \CJKpunct@cnta=0\relax
+ \expandafter\CJKpunct@@setmarginkerning\CJKpunct@spaces
+ \fi}
+
+\def\CJKpunct@@setmarginkerning#1,#2,{
+ \edef\CJKpunct@temp{#1}
+ \ifx\CJKpunct@temp\@empty
+ \def\CJKpunct@temp{}
+ \else
+ \def\CJKpunct@temp{\CJKpunct@@setmarginkerning}
+ \ifnum\CJKpunct@cnta<12
+ \def\CJKpunct@lr{l}
+ \else
+ \def\CJKpunct@lr{r}
+ \fi
+ \edef\CJKpunct@encpn{\csname CJKpunct@pn@\CJK@enc @\the\CJKpunct@cnta\endcsname}
+ \if l\CJKpunct@lr
+ \expandafter\gdef\csname CJKpunct@\CJK@enc @\CJKpunct@encpn\endcsname{1}
+ \else
+ \expandafter\gdef\csname CJKpunct@\CJK@enc @\CJKpunct@encpn\endcsname{2}
+ \fi
+
+ \@CJKpunct@dokerningtrue
+ \ifnum\CJKpunct@punctstyle=\CJKpunct@ps@plain\relax
+ \@CJKpunct@dokerningfalse
+ \else
+ \ifcsname CJKpunct@specialpunct\CJK@enc\CJKpunct@encpn\endcsname
+ \@CJKpunct@dokerningfalse
+ \fi
+ \fi
+
+ \ifnum\CJKpunct@punctstyle=\CJKpunct@ps@banjiao
+ \def\CJKpunct@sidespaces{12}
+ \else
+ \def\CJKpunct@sidespaces{15}
+ \fi
+
+ \ifnum\CJKpunct@cnta=12\relax
+ {\CJKpunct@cntb=#1\relax
+ \advance\CJKpunct@cntb #2\relax
+ \advance\CJKpunct@cntb 2\relax
+ \CJKpunct@numtostring{\CJKpunct@cntb}
+ \edef\CJKpunct@temp{\csname CJKpunct@pn@\CJK@enc @12\endcsname}
+ \CJKpunct@cntc=0\relax
+ \loop
+ \global\expandafter\edef\csname CJKpunct\the\CJKpunct@cntc
+ @\CJK@enc @\CJKpunct@family @kern\CJKpunct@temp @\CJKpunct@temp\endcsname{
+ -0.\CJKpunct@decimal em}
+ \advance \CJKpunct@cntc 1\relax
+ \ifnum\CJKpunct@cntc<6\repeat}
+ \fi
+ \if@CJKpunct@dokerning
+ \CJKpunct@cntb=#1\relax
+ \advance\CJKpunct@cntb -\CJKpunct@sidespaces\relax
+ \ifnum\CJKpunct@cntb<0\relax
+ \CJKpunct@cntb=0\relax
+ \fi
+ \CJKpunct@cntc=#2\relax
+ \advance\CJKpunct@cntc -\CJKpunct@sidespaces\relax
+ \ifnum\CJKpunct@cntc<0\relax
+ \CJKpunct@cntc=0\relax
+ \fi
+
+ \CJKpunct@cntd=\CJKpunct@cntb
+ \advance\CJKpunct@cntd\CJKpunct@cntc\relax
+
+ \ifcase\CJKpunct@punctstyle
+ % hangmobanjiao
+ \or % quanjiao
+ \or % banjiao
+ \advance\CJKpunct@cntd -50\relax
+ \or % kaiming
+ \ifcsname CJKpunct@kaiming\CJK@enc\CJKpunct@encpn\endcsname
+ \else
+ \advance\CJKpunct@cntd -50\relax
+ \fi
+ \or %CCT
+ \advance\CJKpunct@cntd -20\relax
+ \fi
+ \CJKpunct@cnte=\CJKpunct@cntd
+ \ifnum\CJKpunct@cntd<0\relax
+ \CJKpunct@cntd=0\relax
+ \fi
+ \else
+ \CJKpunct@cntb=0\relax
+ \CJKpunct@cntc=0\relax
+ \CJKpunct@cntd=0\relax
+ \CJKpunct@cnte=0\relax
+ \fi
+ \CJKpunct@numtostring{\CJKpunct@cntb}
+ \global\expandafter\edef\csname CJKpunct\CJKpunct@punctstyle
+ @\CJK@enc @\CJKpunct@family @lrule@\CJKpunct@encpn\endcsname{
+ -0.\CJKpunct@decimal em}
+ \CJKpunct@numtostring{\CJKpunct@cntc}
+ \global\expandafter\edef\csname CJKpunct\CJKpunct@punctstyle
+ @\CJK@enc @\CJKpunct@family @rrule@\CJKpunct@encpn\endcsname{
+ -0.\CJKpunct@decimal em}
+ \CJKpunct@numtostring{\CJKpunct@cntd}
+ \global\expandafter\edef\csname CJKpunct\CJKpunct@punctstyle
+ @\CJK@enc @\CJKpunct@family @\CJKpunct@lr glue@\CJKpunct@encpn\endcsname{
+ 0.\CJKpunct@decimal em}
+ \global\expandafter\edef\csname CJKpunct\CJKpunct@punctstyle
+ @\CJK@enc @\CJKpunct@family @\CJKpunct@lr oglue@\CJKpunct@encpn\endcsname{
+ \the\CJKpunct@cnte}
+ \fi
+ \advance \CJKpunct@cnta 1\relax
+ \CJKpunct@temp}
+
+\def\CJKpunct@numtostring#1{
+ \edef\CJKpunct@decimal{\the#1}
+ \ifnum\CJKpunct@decimal<10\relax
+ \edef\CJKpunct@decimal{0\CJKpunct@decimal}
+ \fi}
+% \end{macrocode}
+%
+% 设置相邻标点之间的距离
+%
+% \begin{macrocode}
+\def\CJKpunct@setkern#1#2{
+ \ifcsname CJKpunct\CJKpunct@punctstyle @\CJK@enc @\CJKpunct@family @kern#1@#2\endcsname
+ \else
+ \CJKpunct@cnta=0\relax
+ \ifcsname CJKpunct\CJKpunct@punctstyle @\CJK@enc @\CJKpunct@family @roglue@#1\endcsname
+ \advance\CJKpunct@cnta\csname
+ CJKpunct\CJKpunct@punctstyle @\CJK@enc @\CJKpunct@family @roglue@#1\endcsname
+ \fi
+ \ifcsname CJKpunct\CJKpunct@punctstyle @\CJK@enc @\CJKpunct@family @loglue@#2\endcsname
+ \advance\CJKpunct@cnta\csname CJKpunct\CJKpunct@punctstyle @\CJK@enc @\CJKpunct@family
+ @loglue@#2\endcsname
+ \fi
+ \relax
+ \ifcase\CJKpunct@punctstyle
+ % hangmobanjiao
+ \or % quanjiao
+ \advance\CJKpunct@cnta -50\relax
+ \or % banjiao
+ \or % kaiming
+ \ifcsname CJKpunct@kaiming\CJK@enc#1\endcsname
+ \advance\CJKpunct@cnta -\csname CJKpunct\CJKpunct@punctstyle @\CJK@enc
+ @\CJKpunct@family @roglue@#1\endcsname
+ \ifcsname CJKpunct\CJKpunct@punctstyle @\CJK@enc @\CJKpunct@family @loglue@#2\endcsname
+ \advance\CJKpunct@cnta -50\relax
+ \fi
+ \fi
+ \fi
+ \ifnum\CJKpunct@cnta<0\relax
+ \CJKpunct@cnta=0\relax
+ \fi
+ \CJKpunct@numtostring{\CJKpunct@cnta}
+ \global\expandafter\edef\csname
+ CJKpunct\CJKpunct@punctstyle @\CJK@enc @\CJKpunct@family @kern#1@#2\endcsname{
+ 0.\CJKpunct@decimal em}
+ \fi}
+% \end{macrocode}
+%
+% CJKfntef 宏包兼容命令:
+%
+% \begin{macrocode}
+
+\let\CJKpunct@unskip\unskip
+\def\CJKpunct@UL@unskip{
+ \ifcsname CJKpunct\CJKpunct@punctstyle @\CJK@enc @\CJKpunct@family
+ @rglue@\CJKpunct@lastpunct\endcsname
+ \hskip -\csname CJKpunct\CJKpunct@punctstyle @\CJK@enc @\CJKpunct@family
+ @rglue@\CJKpunct@lastpunct\endcsname \relax
+ \fi}
+
+\@ifundefined{UL@hskip}{\let\UL@hskip\relax}{}
+
+\def\CJKpunct@punctUL@group{
+ \ifx\hskip\UL@hskip
+ \egroup
+ \UL@stop
+ \UL@start
+ \bgroup
+ \fi}
+
+\def\CJKpunct@ULspecials{}
+
+\AtBeginDocument{
+ \ifcsname UL@hook\endcsname
+ \addto@hook\UL@hook{\let\CJK@ignorespaces\ignorespaces
+ \let\CJKpunct@unskip\CJKpunct@UL@unskip
+ \let\CJKpunct@ULspecials\CJKpunct@punctUL@group}
+ \fi}
+% \end{macrocode}
+%
+% 设置相邻标点间是否允许换行(缺省不允许)。
+%
+% \begin{macrocode}
+\def\CJKpunctallowbreakbetweenpuncts{
+ \def\CJKpunct@nobreak{
+ \ifnum\CJKpunct@lastcharclass=2
+ \hskip 0pt
+ \fi}}
+
+\def\CJKpunctnobreakbetweenpuncts{
+ \let\CJKpunct@nobreak\nobreak}
+\CJKpunctnobreakbetweenpuncts
+% \end{macrocode}
+%
+% 标点符号样式:
+%
+% \begin{macrocode}
+\def\CJKpunctstyle#1{
+ \ifcsname CJKpunct@ps@#1\endcsname
+ \edef\CJKpunct@currentpunctstyle{#1}
+ \edef\CJKpunct@punctstyle{\csname CJKpunct@ps@#1\endcsname}
+ \ifnum\CJKpunct@punctstyle=\CJKpunct@ps@plain\relax
+ \CJKpunctallowbreakbetweenpuncts
+ \let\CJK@testLastCJK\CJKo@testLastCJK
+ \let\CJK@testLastKern\CJKo@testLastKern
+ \let\CJK@testPrePunct\CJKo@testPrePunct
+ \let\CJK@testPostPunct\CJKo@testPostPunct
+ \let\CJKpunct@punctsymbol\CJKpunct@plainpunctsymbol
+ \let\CJKsymbol\CJKosymbol
+ \let\CJKpunctsymbol\CJKopunctsymbol
+ \let\CJK@nobreakglue\CJKo@nobreakglue
+ \let\CJKpunct@utfsymbol\CJKpunct@utfbsymbol
+ \else
+ \let\CJK@testLastCJK\CJKpunct@testLastCJK
+ \let\CJK@testLastKern\CJKpunct@testLastKern
+ \let\CJK@testPrePunct\CJKpunct@testPrePunct
+ \let\CJK@testPostPunct\CJKpunct@testPostPunct
+ \let\CJKpunct@punctsymbol\CJKpunct@@punctsymbol
+ \let\CJKsymbol\CJKpunct@CJKsymbol
+ \let\CJKpunctsymbol\CJKpunct@CJKpunctsymbol
+ \let\CJK@nobreakglue\relax
+ \let\CJKpunct@utfsymbol\CJKpunct@utfasymbol
+ \fi
+ \else
+ \PackageWarning{CJKpunct}{Punctstyle #1\space is not defined.}\relax
+ \fi}
+
+\let\punctstyle\CJKpunctstyle
+\def\CJKpunct@ps@hangmobanjiao{0}
+\def\CJKpunct@ps@marginkerning{0}
+\def\CJKpunct@ps@quanjiao{1}
+\def\CJKpunct@ps@fullwidth{1}
+\def\CJKpunct@ps@banjiao{2}
+\def\CJKpunct@ps@halfwidth{2}
+\def\CJKpunct@ps@kaiming{3}
+\def\CJKpunct@ps@mixedwidth{3}
+\def\CJKpunct@ps@CCT{4}
+\def\CJKpunct@ps@plain{5}
+\AtBeginDocument{\punctstyle{quanjiao}}
+
+\def\CJKplainout{\punctstyle{plain}}
+\let\CJKnormalout\relax
+% \end{macrocode}
+%
+% 允许用户使用 \defmacro{CJKpunctsetkern} 调整相邻标点之间的距离
+%
+% \begin{macrocode}
+\def\CJKpunctsetkern#1#2#3{
+ \CJKpunct@setplanenumber{#1}
+ \edef\CJKpunct@pna{\CJKpunct@char@pn}
+ \CJKpunct@setplanenumber{#2}
+ \edef\CJKpunct@pnb{\CJKpunct@char@pn}
+ \global\expandafter\edef\csname CJKpunct\CJKpunct@punctstyle
+ @\CJK@enc @\CJKpunct@family @kern\CJKpunct@pna @\CJKpunct@pnb\endcsname{
+ #3}}
+
+\def\CJKpunct@setplanenumber#1{{
+ \def\CJK@testPrePunct##1##2##3{
+ \global\edef\CJKpunct@charplane{\CJK@plane}
+ \global\edef\CJKpunct@charnumber{\the\@tempcnta}}
+ \savebox\voidb@x{#1}
+ \global\edef\CJKpunct@char@pn{\CJKpunct@charplane/\CJKpunct@charnumber}}}
+
+%
+% 标点符号表, 不能改变顺序!!
+% pre ‘“「『〔([{〈《〖【
+% post —…、。,.:;!?%〕)]}〉》〗】’”」』
+% \end{macrocode}
+%
+% 设置标点符号所对应 CJKplane 和 字符序号, 与编码有关。
+%
+% \begin{macrocode}
+\def\CJKpunct@punctlist#1{
+ \CJKpunct@cnta=0\relax
+ \def\CJKpunct@enc{#1}
+ \CJKpunct@setpunctfamilynumber}
+
+\def\CJKpunct@setpunctfamilynumber#1,{
+ \edef\CJKpunct@temp{#1}
+ \ifx\CJKpunct@temp\@empty
+ \def\CJKpunct@temp{}
+ \else
+ \expandafter\def\csname CJKpunct@pn@\CJKpunct@enc @\the\CJKpunct@cnta\endcsname{#1}
+ \advance \CJKpunct@cnta 1\relax
+ \def\CJKpunct@temp{\CJKpunct@setpunctfamilynumber}
+ \fi
+ \CJKpunct@temp}
+
+\CJKpunct@punctlist{C70}20/24,20/28,30/12,30/14,30/20,ff/8,ff/59,ff/91,%
+30/8,30/10,30/22,30/16,%
+20/20,20/38,30/1,30/2,ff/12,ff/14,ff/26,ff/27,ff/1,ff/31,ff/5,30/21,ff/9,%
+ff/61,ff/93,30/9,30/11,30/23,30/17,20/25,20/29,30/13,30/15,,
+
+%gb
+\CJKpunct@punctlist{C10}01/13,01/15,01/23,01/25,01/17,01/195,01/246,02/22,01/19,%
+01/21,01/27,01/29,%
+01/9,01/12,01/1,01/2,01/199,01/201,01/213,01/214,01/188,01/218,01/192,01/18,%
+01/196,01/248,02/24,01/20,01/22,01/28,01/30,01/14,01/16,01/24,01/26,,
+
+%gbk
+\CJKpunct@punctlist{C19}25/45,25/47,25/55,25/57,25/49,26/163,26/214,26/246,25/51,%
+25/53,25/59,25/61,%
+25/41,25/44,25/33,25/34,26/167,26/169,26/181,26/182,26/156,26/186,26/160,%
+25/50,26/164,26/216,26/248,25/52,25/54,25/60,25/62,25/46,25/48,25/56,25/58,,
+
+\def\CJKpunct@totalpuncts{35}
+% \end{macrocode}
+%
+% 恢复 CJKutf8 重定义的引号
+%
+% \begin{macrocode}
+\ifcsname DeclareUnicodeCharacter\endcsname
+ \DeclareUnicodeCharacter{2018}{\CJKpunct@utfsymbol{"80}{"98}}
+ \DeclareUnicodeCharacter{2019}{\CJKpunct@utfsymbol{"80}{"99}}
+ \DeclareUnicodeCharacter{201C}{\CJKpunct@utfsymbol{"80}{"9C}}
+ \DeclareUnicodeCharacter{201D}{\CJKpunct@utfsymbol{"80}{"9D}}
+ \DeclareUnicodeCharacter{2014}{\CJKpunct@utfsymbol{"80}{"94}}
+ \DeclareUnicodeCharacter{2026}{\CJKpunct@utfsymbol{"80}{"A6}}
+\fi
+\def\CJKpunct@utfasymbol#1#2{
+ \CJK@punctchar{\CJK@uniPunct}{0}{#1}{#2}}
+\def\CJKpunct@utfbsymbol#1#2{
+ \ifnum #2=148 %
+ \textemdash
+ \else
+ \ifnum #2=166 %
+ \textellipsis
+ \else
+ \ifnum #2=152 %
+ \textquoteleft
+ \else
+ \ifnum #2=153 %
+ \textquoteright
+ \else
+ \ifnum #2=156 %
+ \textquotedblleft
+ \else
+ \ifnum #2=157 %
+ \textquotedblright
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi}
+% \end{macrocode}
+%
+% 省略号和破折号:
+%
+% \begin{macrocode}
+\def\CJKpunct@setspecialpunct#1#2{
+ \expandafter\def\csname CJKpunct@specialpunct#1#2\endcsname{}}
+\CJKpunct@setspecialpunct{C70}{20/20}
+\CJKpunct@setspecialpunct{C70}{20/38}
+\CJKpunct@setspecialpunct{C19}{25/41}
+\CJKpunct@setspecialpunct{C19}{25/44}
+\CJKpunct@setspecialpunct{C10}{01/9}
+\CJKpunct@setspecialpunct{C10}{01/12}
+% \end{macrocode}
+%
+% 开明式中的全角标点。
+%
+% \begin{macrocode}
+\def\CJKpunct@setkaimingpunct#1#2{
+ \expandafter\def\csname CJKpunct@kaiming#1#2\endcsname{}}
+\CJKpunct@setkaimingpunct{C70}{30/02}
+\CJKpunct@setkaimingpunct{C70}{ff/1}
+\CJKpunct@setkaimingpunct{C70}{ff/31}
+\CJKpunct@setkaimingpunct{C19}{25/34}
+\CJKpunct@setkaimingpunct{C19}{26/156}
+\CJKpunct@setkaimingpunct{C19}{26/186}
+\CJKpunct@setkaimingpunct{C10}{01/2}
+\CJKpunct@setkaimingpunct{C10}{01/188}
+\CJKpunct@setkaimingpunct{C10}{01/218}
+% \end{macrocode}
+%
+% 缺省标点符号宽度
+%
+% \begin{macrocode}
+\def\CJKpunct@def@spaces{69,18,60,6,63,2,63,3,69,8,69,6,69,1,39,%
+37,63,4,56,2,63,5,63,6,6,6,12,11,23,50,24,54,16,71,20,69,12,76,13,%
+74,26,61,3,50,3,4,8,69,6,69,2,69,38,39,4,62,2,55,5,62,7,62,16,71,9,%
+58,3,62,3,62,,,}
+% \end{macrocode}
+%
+% 调入字体相关的设置
+%
+% \begin{macrocode}
+\InputIfFileExists{CJKpunct.spa}{}{}
+
+\endlinechar `\^^M
+% \end{macrocode}
+%
+% \iffalse
+%</CJKpunct>
+% \fi
+%
+% \Finale
+\endinput
diff --git a/language/chinese/cjkpunct/CJKpunct.ins b/language/chinese/cjkpunct/CJKpunct.ins
new file mode 100644
index 0000000000..724c71ab46
--- /dev/null
+++ b/language/chinese/cjkpunct/CJKpunct.ins
@@ -0,0 +1,111 @@
+%%
+%% This is file `CJKpunct.ins',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% CJKpunct.dtx (with options: `batchfile')
+%%
+%% Copyright (C) 2003--2010 by Linbo Zhang <zlb@lsec.cc.ac.cn>
+%% Copyright (C) 2003--2010 by Wenchang Sun <sunwch@nankai.edu.cn>
+%% Copyright (C) 2010 by Leo Liu <leoliu.pku@gmail.com>
+%% Copyright (C) 2016 by Qing Lee <sobenlee@gmail.com>
+%% --------------------------------------------------------------------------
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3c of this license or (at your option) any later
+%% version. This version of this license is in
+%% http://www.latex-project.org/lppl/lppl-1-3c.txt
+%% and the latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Qing Lee.
+%%
+%% --------------------------------------------------------------------------
+%%
+
+\input docstrip %
+
+\keepsilent
+\askforoverwritefalse
+
+\preamble
+
+ Copyright (C) 2003--2010 by Linbo Zhang <zlb@lsec.cc.ac.cn>
+ Copyright (C) 2003--2010 by Wenchang Sun <sunwch@nankai.edu.cn>
+ Copyright (C) 2010 by Leo Liu <leoliu.pku@gmail.com>
+ Copyright (C) 2016 by Qing Lee <sobenlee@gmail.com>
+--------------------------------------------------------------------------
+
+ This work may be distributed and/or modified under the
+ conditions of the LaTeX Project Public License, either
+ version 1.3c of this license or (at your option) any later
+ version. This version of this license is in
+ http://www.latex-project.org/lppl/lppl-1-3c.txt
+ and the latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+ and version 1.3 or later is part of all distributions of
+ LaTeX version 2005/12/01 or later.
+
+ This work has the LPPL maintenance status `maintained'.
+
+ The Current Maintainer of this work is Qing Lee.
+
+--------------------------------------------------------------------------
+
+\endpreamble
+\postamble
+
+ This package consists of the files CJKpunct.dtx,
+ CJKpunct.spa,
+ setpunct-main.tex,
+ setpunct-macros.tex,
+ example-CJKfntef.tex,
+ example-gb.tex,
+ example-gbk.tex,
+ example-utf8.tex,
+ README.txt,
+ and the derived files CJKpunct.sty,
+ CJKpunct.pdf,
+ CJKpunct.ins, and
+ README.md (this file).
+\endpostamble
+
+\generate
+ {
+ \usedir{tex/latex/cjkpunct}
+ \file{CJKpunct.sty} {\from{\jobname.dtx}{CJKpunct}}
+ \usedir{doc/latex/cjkpunct}
+ \nopreamble\nopostamble
+ \file{README.md} {\from{\jobname.dtx}{readme}}
+ }
+\Msg{*************************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* files into a directory searched by LaTeX:}
+\Msg{*}
+\Msg{* \space\space\space CJKpunct.sty}
+\Msg{*}
+\Msg{*************************************************************}
+\endbatchfile
+%%
+%% This package consists of the files CJKpunct.dtx,
+%% CJKpunct.spa,
+%% setpunct-main.tex,
+%% setpunct-macros.tex,
+%% example-CJKfntef.tex,
+%% example-gb.tex,
+%% example-gbk.tex,
+%% example-utf8.tex,
+%% README.txt,
+%% and the derived files CJKpunct.sty,
+%% CJKpunct.pdf,
+%% CJKpunct.ins, and
+%% README.md (this file).
+%%
+%% End of file `CJKpunct.ins'.
diff --git a/language/chinese/cjkpunct/CJKpunct.pdf b/language/chinese/cjkpunct/CJKpunct.pdf
new file mode 100644
index 0000000000..024589536d
--- /dev/null
+++ b/language/chinese/cjkpunct/CJKpunct.pdf
Binary files differ
diff --git a/language/chinese/cjkpunct/CJKpunct.spa b/language/chinese/cjkpunct/CJKpunct.spa
new file mode 100644
index 0000000000..f5d5fef42e
--- /dev/null
+++ b/language/chinese/cjkpunct/CJKpunct.spa
@@ -0,0 +1 @@
+\relax
diff --git a/language/chinese/cjkpunct/README.md b/language/chinese/cjkpunct/README.md
new file mode 100644
index 0000000000..ccac0787cd
--- /dev/null
+++ b/language/chinese/cjkpunct/README.md
@@ -0,0 +1,50 @@
+CJKpunct
+========
+
+`CJKpunct` is a LaTeX2e macro package to be the companion
+of `CJK` package by Werner Lemberg for punctuation location
+and width adjustments.
+
+Contributing
+------------
+
+This package is a part of the [ctex-kit](https://github.com/CTeX-org/ctex-kit) project.
+
+Issues and pull requests are welcome.
+
+Copyright and Licence
+---------------------
+
+ Copyright (C) 2003--2010 by Linbo Zhang <zlb@lsec.cc.ac.cn>
+ Copyright (C) 2003--2010 by Wenchang Sun <sunwch@nankai.edu.cn>
+ Copyright (C) 2010 by Leo Liu <leoliu.pku@gmail.com>
+ Copyright (C) 2016 by Qing Lee <sobenlee@gmail.com>
+ ----------------------------------------------------------------------
+
+ This work may be distributed and/or modified under the
+ conditions of the LaTeX Project Public License, either
+ version 1.3c of this license or (at your option) any later
+ version. This version of this license is in
+ http://www.latex-project.org/lppl/lppl-1-3c.txt
+ and the latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+ and version 1.3 or later is part of all distributions of
+ LaTeX version 2005/12/01 or later.
+
+ This work has the LPPL maintenance status `maintained'.
+
+ The Current Maintainer of this work is Qing Lee.
+
+ This package consists of the files CJKpunct.dtx,
+ CJKpunct.spa,
+ setpunct-main.tex,
+ setpunct-macros.tex,
+ example-CJKfntef.tex,
+ example-gb.tex,
+ example-gbk.tex,
+ example-utf8.tex,
+ README.txt,
+ and the derived files CJKpunct.sty,
+ CJKpunct.pdf,
+ CJKpunct.ins, and
+ README.md (this file).
diff --git a/language/chinese/cjkpunct/examples/example-CJKfntef.tex b/language/chinese/cjkpunct/examples/example-CJKfntef.tex
new file mode 100644
index 0000000000..c27e3ae077
--- /dev/null
+++ b/language/chinese/cjkpunct/examples/example-CJKfntef.tex
@@ -0,0 +1,73 @@
+\documentclass[11pt]{article}
+\textheight 220mm
+\textwidth 150mm
+\oddsidemargin 0pt
+\evensidemargin 0pt
+\usepackage{xcolor}
+\usepackage{CJK}
+\usepackage{CJKfntef}
+
+\usepackage{CJKpunct}
+\begin{document}
+\baselineskip 16pt
+\parindent 22pt
+\pagestyle{myheadings}
+\begin{CJK*}{GBK}{song}
+
+
+ \section{б}
+ṩ˷ɢ뻷
+
+\verb|CJKfilltwosides|
+
+\noindent
+º
+\begin{verbatim}
+ \CJKunderdot{...}
+ \CJKunderline[*]{...}
+ \CJKunderdblline[*]{...}
+ \CJKunderwave[*]{...}
+ \CJKsout[*]{...}
+ \CJKxout[*]{...}
+ʽǶף
+ \CJKunderdot[..]{...\CJKunderline[*]{...}...}
+ \CJKunderdot[..]{...\CJKunderdblline[*]{...}...}
+ \CJKunderdot[..]{...\CJKunderwave[*]{...}...}
+ \CJKunderdot[..]{...\CJKsout[*]{...}...}
+ \CJKunderdot[..]{...\CJKxout[*]{...}...}
+
+ \CJKunderline[*]{...\CJKunderdot[..]{...}...}
+ \CJKunderdblline[*]{...\CJKunderdot[..]{...}...}
+ \CJKunderwave[*]{...\CJKunderdot[..]{...}...}
+ \CJKsout[*]{...\CJKunderdot[..]{...}...}
+ \CJKxout[*]{...\CJKunderdot[..]{...}...}
+\end{verbatim}
+в*ĺȫDZ㲻á
+
+\verb+\CJKunderdot+һѡԸıηȱʡΪӵ㣬
+ԸҪΪַǣСԲȦȡ
+
+
+Ըı»ߺͼӵɫ ȱʡãҪȵxcolor
+
+\begin{verbatim}
+ \newcommand{\CJKunderdotcolor}{\color{red}}
+ \newcommand{\CJKunderwavecolor}{\color{blue}}
+ \newcommand{\CJKunderlinecolor}{\color{blue}}
+ \newcommand{\CJKunderdbllinecolor}{\color{blue}}
+ \newcommand{\CJKsoutcolor}{\color{red}}
+ \newcommand{\CJKxoutcolor}{\color{blue}}
+\end{verbatim}
+
+\CJKunderline{ּ»ߣ\CJKunderdot{ͬʱӵ}}
+
+\CJKunderline*{ּ»ߣ\CJKunderdot{ͬʱӵ}}
+
+
+\CJKunderdot{ּӵ㣬\CJKunderline{ͬʱ»}}
+
+
+ \newpage
+\end{CJK*}
+
+\end{document}
diff --git a/language/chinese/cjkpunct/examples/example-gb.tex b/language/chinese/cjkpunct/examples/example-gb.tex
new file mode 100644
index 0000000000..5556f14220
--- /dev/null
+++ b/language/chinese/cjkpunct/examples/example-gb.tex
@@ -0,0 +1,64 @@
+\documentclass{article}
+\usepackage{CJK}
+\usepackage{CJKpunct}
+\begin{document}
+
+\begin{CJK*}{GB}{gbsn}
+\parindent 2em
+\long\def\sometexts{
+˵Ժ⣬иļСס ˵ǣ үϲ̫̫˳˼飬ǻ˵ϲȻ̫̫
+ȥͲչˡ˶˵Щʫ˵ĶǿIJͷ ˡЦÿһǮ˵˭ûһǮɰ˰ա ˵ţһɰ һͽңݷ˵֮ᄀнȥ ֵȥաһΧƣĸǰ
+ʱĸ˿˼Ρ Ѿ߸ĸ֪Ϊǻϲ
+
+ʱϮ˵˲һ޴棬
+ЦĶûĶǽȥˡ˵ƣ
+Ȼһ޴棬ҸǸɰҲˣҵĶ
+ɲܹˣ˵ϣطǰձǸһ
+롪ùͽ¡ ֪ף æϹˡѼңδ꣬ȴʮ־ɣ๤
+޹ʼˣ ȴҲæˣϽǺɰ ƵƣʲôһذĶˣ
+أ棬֪ȥ֮⣬Իçײ
+δףͼͷһԲҲ
+ü֪Ҷɰ?˵ţ
+бߡˣԽ£Ĺɰ
+ּˣæסЦãգ 񽫼һˤ˵㲻ͬҺһһģҪգ̿֡
+⵱ʲô˵ţϴﵹᡣסááⲻǡ
+
+ǰĸһƬұѾæ˵ֹ﷿ءĸ
+˵ãããһաӾ죬
+һӰաֻǰ죬 Ť˴Ӧš񱻱ֻ
+˼ҰҾ㡣˵ߡЦ㵽
+Ҹһɰϣ˵Ҫˣ
+ִϣҲģ˵ţ͡һЦˡã
+աҲֻҸ˰ˡһ˵һ˳
+Ϸȥˣɱ
+
+\hfill
+ѩۡ¥Ρ\unkern\unkern
+}
+
+
+
+\long\def\showexample#1{\par------ #1 ------\par \punctstyle{#1}\sometexts}
+
+
+\showexample{quanjiao}
+
+
+\showexample{banjiao}
+
+\showexample{hangmobanjiao}
+
+\showexample{CCT}
+
+\showexample{kaiming}
+
+ \showexample{plain}
+
+
+
+
+\end{CJK*}
+
+
+\end{document}
+
diff --git a/language/chinese/cjkpunct/examples/example-gbk.tex b/language/chinese/cjkpunct/examples/example-gbk.tex
new file mode 100644
index 0000000000..a173b5f3d5
--- /dev/null
+++ b/language/chinese/cjkpunct/examples/example-gbk.tex
@@ -0,0 +1,64 @@
+\documentclass{article}
+\usepackage{CJK}
+\usepackage{CJKpunct}
+\begin{document}
+
+\begin{CJK*}{GBK}{song}
+\parindent 2em
+\long\def\sometexts{
+˵Ժ⣬иļСס ˵ǣ үϲ̫̫˳˼飬ǻ˵ϲȻ̫̫
+ȥͲչˡ˶˵Щʫ˵ĶǿIJͷ ˡЦÿһǮ˵˭ûһǮɰ˰ա ˵ţһɰ һͽңݷ˵֮ᄀнȥ ֵȥաһΧƣĸǰ
+ʱĸ˿˼Ρ Ѿ߸ĸ֪Ϊǻϲ
+
+ʱϮ˵˲һ޴棬
+ЦĶûĶǽȥˡ˵ƣ
+Ȼһ޴棬ҸǸɰҲˣҵĶ
+ɲܹˣ˵ϣطǰձǸһ
+롪ùͽ¡ ֪ף æϹˡѼңδ꣬ȴʮ־ɣ๤
+޹ʼˣ ȴҲæˣϽǺɰ ƵƣʲôһذĶˣ
+أ棬֪ȥ֮⣬Իçײ
+δףͼͷһԲҲ
+ü֪Ҷɰ?˵ţ
+бߡˣԽ£Ĺɰ
+ּˣæסЦãգ 񽫼һˤ˵㲻ͬҺһһģҪգ̿֡
+⵱ʲô˵ţϴﵹᡣסááⲻǡ
+
+ǰĸһƬұѾæ˵ֹ﷿ءĸ
+˵ãããһաӾ죬
+һӰաֻǰ죬 Ť˴Ӧš񱻱ֻ
+˼ҰҾ㡣˵ߡЦ㵽
+Ҹһɰϣ˵Ҫˣ
+ִϣҲģ˵ţ͡һЦˡã
+աҲֻҸ˰ˡһ˵һ˳
+Ϸȥˣɱ
+
+\hfill
+ѩۡ¥Ρ\unkern\unkern
+}
+
+
+
+\long\def\showexample#1{\par------ #1 ------\par \punctstyle{#1}\sometexts}
+
+
+\showexample{quanjiao}
+
+
+\showexample{banjiao}
+
+\showexample{hangmobanjiao}
+
+\showexample{CCT}
+
+\showexample{kaiming}
+
+ \showexample{plain}
+
+
+
+
+\end{CJK*}
+
+
+\end{document}
+
diff --git a/language/chinese/cjkpunct/examples/example-utf8.tex b/language/chinese/cjkpunct/examples/example-utf8.tex
new file mode 100644
index 0000000000..e9a23f0168
--- /dev/null
+++ b/language/chinese/cjkpunct/examples/example-utf8.tex
@@ -0,0 +1,68 @@
+% -*- coding: utf-8 -*-
+\documentclass{article}
+\usepackage{CJKutf8}
+\usepackage{CJKpunct}
+
+
+\begin{document}
+
+\begin{CJK*}{UTF8}{gbsn}
+\parindent 2em
+
+
+\long\def\sometexts{
+话说宝玉来至院外,就有跟贾政的几个小厮上来拦腰抱住, 都说:“今儿亏我们, 老爷才喜欢,老太太打发人出来问了几遍,都亏我们回说喜欢,不然,若老太太叫
+你进去,就不得展才了。人人都说,你才那些诗比世人的都强。今儿得了这样的彩头。 该赏我们了。”宝玉笑道:“每人一吊钱。”众人道:“谁没见那一吊钱!把这荷包赏了罢。” 说着,一个上来解荷包, 那一个就解扇囊,不容分说,将宝玉所佩之物尽行解去。 又道:“好生送上去,罢。”一个抱了起来,几个围绕,送至贾母二门前。
+那时贾母已命人看了几次。 众奶娘丫鬟跟上来,见过贾母,知不曾难为着他,心中自是欢喜。
+
+少时袭人倒了茶来,见身边佩物一件无存,
+因笑道:“带的东西又是那起没脸的东西们解了去了。”林黛玉听说,走来瞧瞧,
+果然一件无存,因向宝玉道:“我给的那个荷包也给他们了?你明儿再想我的东西,
+可不能够了!”说毕,赌气回房,将前日宝玉所烦他作的那个香袋儿——才做了一
+半——赌气拿过来就铰。 宝玉见他生气,便知不妥, 忙赶过来,早剪破了。宝玉已见过这香囊,虽尚未完,却十分精巧,费了许多工夫。
+今见无故剪了, 却也可气。因忙把衣领解了,从里面红袄襟上将黛玉所给的那荷包解了下来, 递与黛玉瞧道:“你瞧瞧,这是什么!我那一回把你的东西给人了?”
+林黛玉见他如此珍重,带在里面,可知是怕人拿去之意,因此又自悔莽撞,
+未见皂白,就剪了香袋。因此又愧又气,低头一言不发。宝玉道:“你也不
+用剪,我知道你是懒待给我东西。我连这荷包奉还,何如?”说着,掷向他怀
+中便走。黛玉见如此,越发气起来,声咽气堵,又汪汪的滚下泪来,拿起荷包
+来又剪。宝玉见他如此,忙回身抢住,笑道:“好妹妹,饶了他罢!” 黛玉将剪子一摔,拭泪说道:“你不用同我好一阵歹一阵的,要恼,就撂开手。
+这当了什么。”说着,赌气上床,面向里倒下拭泪。禁不住宝玉上来“妹妹”长“妹妹”短赔不是。
+
+前面贾母一片声找宝玉。众奶娘丫鬟们忙回说:“在林姑娘房里呢。”贾母听
+说道:“好,好,好!让他姊妹们一处顽顽罢。才他老子拘了他这半天,让他开
+心一会子罢。只别叫他们拌嘴, 不许扭了他。”众人答应着。黛玉被宝玉缠不过,只得起
+来道:“你的意思不叫我安生,我就离了你。”说着往外就走。宝玉笑道:“你到
+那里,我跟到那里。”一面仍拿起荷包来带上,黛玉伸手抢道:“你说不要了,这
+会子又带上,我也替你怪臊的!”说着,“嗤”的一声又笑了。宝玉道:“好妹妹,
+明儿另替我作个香袋儿罢。”黛玉道:“那也只瞧我高兴罢了。”一面说,一面二人出
+房,到王夫人上房中去了,可巧宝钗亦在那里。
+
+\hfill
+——曹雪芹《红楼梦》\unkern\unkern
+}
+
+
+\long\def\showexample#1{\par------ #1 ------\par \punctstyle{#1}\sometexts}
+
+
+\showexample{quanjiao}
+
+
+\showexample{banjiao}
+
+\showexample{hangmobanjiao}
+
+\showexample{CCT}
+
+\showexample{kaiming}
+
+ \showexample{plain}
+
+
+
+
+\end{CJK*}
+
+
+\end{document}
+
diff --git a/language/chinese/cjkpunct/setpunct/README.txt b/language/chinese/cjkpunct/setpunct/README.txt
new file mode 100644
index 0000000000..69d79caba7
--- /dev/null
+++ b/language/chinese/cjkpunct/setpunct/README.txt
@@ -0,0 +1,22 @@
+修改 CJKpunct.spa
+
+ 打开文件 setpunct\setpunct-main.tex,
+
+ 1. 根据操作系统修改 \ghostscript 的定义
+
+ 2. 修改 \setpunctfamilies, 添加你所使用的CJKfamily
+
+ 3. 对于miktex, 运行
+
+ latex --enable-write18 setpunct-main
+
+ 对于texlive, 运行
+
+ latex --shell-escape setpunct-main
+
+ 4. 把文件 CJKpunct.spa 复制到 CJKpunct.sty 所在文件夹, 然后运行
+
+ Texhash
+
+ ------ 安装完成
+ \ No newline at end of file
diff --git a/language/chinese/cjkpunct/setpunct/setpunct-macros.tex b/language/chinese/cjkpunct/setpunct/setpunct-macros.tex
new file mode 100644
index 0000000000..2036a0878a
--- /dev/null
+++ b/language/chinese/cjkpunct/setpunct/setpunct-macros.tex
@@ -0,0 +1,128 @@
+\documentclass{article}
+\usepackage{CJK}
+\begin{document}
+\begin{CJK*}{GBK}{song}
+
+
+\makeatletter
+\pagestyle{empty}
+
+\def\puncts{ۣݣ}
+
+\bgroup
+\catcode`\%=11
+\catcode`\{=11
+\catcode`\}=11
+\catcode`\(=1
+\catcode`\)=2
+\catcode`\#=11
+\gdef\sharp(#)
+\global\def\percent(%)
+\global\def\lbrace({)
+\global\def\rbrace(})
+\egroup
+
+\newwrite\fdrubisha
+\newwrite\fdspa
+\newread\fdin
+
+\def\makefile@rubisha{
+\immediate\openout\fdrubisha=rubisha.tex\relax
+\immediate\write\fdrubisha{\string\documentclass{article}}
+\immediate\write\fdrubisha{\string\usepackage{CJK} }
+\immediate\write\fdrubisha{\string\textwidth 200pt }
+\immediate\write\fdrubisha{\string\textheight 200pt }
+\immediate\write\fdrubisha{\string\begin{document} }
+\immediate\write\fdrubisha{\string\begin{CJK*}{GBK}{song}}
+\immediate\write\fdrubisha{\string\makeatletter }
+\immediate\write\fdrubisha{\string\pagestyle{empty} }
+\immediate\write\fdrubisha{\string\def\string\punctlist\sharp1\sharp2\lbrace
+ \sharp1\sharp2\string\rule{0.5pt}{40pt}\string\newpage}
+\immediate\write\fdrubisha{\string\rule{0.5pt}{20pt}\sharp1\sharp2\string\newpage}
+\immediate\write\fdrubisha{\string\@ifnextchar[{\string\xeCJK@gobble@a}{\string\punctlist}\rbrace}
+\immediate\write\fdrubisha{}
+\immediate\write\fdrubisha{\string\def\string\xeCJK@gobble@a[]{} }
+\immediate\write\fdrubisha{}
+\immediate\write\fdrubisha{\string\CJKfamily{\CJKpunct@family}}
+\immediate\write\fdrubisha{\string\fontsize{100pt}{120pt}\string\selectfont}
+{
+\let\protect\@unexpandable@protect
+\immediate\write\fdrubisha{\string\punctlist\space\puncts []}
+}
+\immediate\write\fdrubisha{\string\newpage }
+\immediate\write\fdrubisha{\string\end{CJK*} }
+\immediate\write\fdrubisha{\string\end{document}}
+\immediate\closeout\fdrubisha\relax}
+
+
+
+\newcount\cnta
+\newcount\cntb
+
+\newcommand{\CJKpunctsetfamily}[1]{
+ \edef\CJKpunct@family{#1}
+ \makefile@rubisha
+ \immediate\write18{pdflatex rubisha}
+ \immediate\write18{\ghostscript}
+ \epstobbox
+ }
+
+\catcode`\%=11\relax
+
+\def\epstobbox{
+ \cntb=0
+ \def\CJKpunctspaces{}
+ \immediate\openin\fdin=rubishb.tex\relax
+ \ifeof\fdin
+ \@latex@error{setpunct: file rubishb.tex not found}{}\relax
+ \fi
+ \loop
+ \getxyspace
+ \edef\CJKpunctspaces{\CJKpunctspaces\temp@xspace,}
+ \getxyspace
+ \edef\CJKpunctspaces{\CJKpunctspaces\temp@xspace,}
+ \advance\cntb 1
+ \ifnum\cntb<35\repeat
+ \immediate\closein\fdin
+ \immediate\write\fdspa{\string\def\string\CJKpunct@\CJKpunct@family
+ @spaces{\CJKpunctspaces,,}\string\relax}}
+
+\def\getxyspace{
+ \read\fdin to\tempa
+ \edef\:{\tempa}
+ \expandafter\getleftupdimen\: {} %%BoundingBox: 1 1 0 0 \relax
+ \ifnum\temp@xwidth<0\relax
+ \read\fdin to\tempa
+ \edef\:{\tempa}
+ \expandafter\getleftupdimen\: {} %%BoundingBox: 1 1 0 0 \relax
+ \fi
+ \ifnum\temp@xwidth<1
+ \@latex@error{error in setting punct bbox \tempa}{}\relax
+ \fi
+ \cnta=-\temp@xwidth\relax
+ \advance\cnta 100\relax
+ \ifnum\cnta<0
+ \cnta=0\relax
+ \fi
+ \edef\temp@xspace{\the\cnta}}
+
+\long\def\getleftupdimen#1%%BoundingBox: #2 #3 #4 #5 {
+ \cnta=#4\relax
+ \advance\cnta -#2\relax
+ \edef\temp@xwidth{\the\cnta}
+ \cnta=#5\relax
+ \advance\cnta -#3\relax
+ \edef\temp@yheight{\the\cnta}
+ \gobblerest}
+
+\long\def\gobblerest#1\relax{}
+
+\immediate\openout\fdspa=CJKpunct.spa\relax
+
+\setpunctfamilies
+
+\immediate\closeout\fdspa
+\end{CJK*}
+\end{document}
+
+
diff --git a/language/chinese/cjkpunct/setpunct/setpunct-main.tex b/language/chinese/cjkpunct/setpunct/setpunct-main.tex
new file mode 100644
index 0000000000..d0937c6fb2
--- /dev/null
+++ b/language/chinese/cjkpunct/setpunct/setpunct-main.tex
@@ -0,0 +1,30 @@
+% Linux
+%
+%\def\ghostscript{gs -dBATCH -dEPSCrop -dNOPAUSE \space
+% -sDEVICE=bbox rubisha.pdf 2>rubishb.tex}
+
+% windows
+%
+\def\ghostscript{"gswin32c.exe -dBATCH -dEPSCrop -dNOPAUSE \space
+ -sDEVICE=bbox rubisha.pdf 2>rubishb.tex"}
+
+
+\def\setpunctfamilies{
+ \CJKpunctsetfamily{song}
+ \CJKpunctsetfamily{hei}
+ \CJKpunctsetfamily{fs}
+ \CJKpunctsetfamily{kai}
+ \CJKpunctsetfamily{you}
+ \CJKpunctsetfamily{li}
+}
+
+
+\input{setpunct-macros.tex}
+
+
+
+\endinput
+
+
+
+
diff --git a/language/chinese/ctex/README.md b/language/chinese/ctex/README.md
new file mode 100644
index 0000000000..0fb3ee02f4
--- /dev/null
+++ b/language/chinese/ctex/README.md
@@ -0,0 +1,120 @@
+ctex
+====
+
+`ctex` is a collection of macro packages and document classes
+for LaTeX Chinese typesetting.
+
+Authors and Contributors
+------------------------
+
+* Wu Lingyun <aloft@ctex.org>
+* Jiang Jiang <gzjjgod@gmail.com>
+* Wang Yue <yuleopen@gmail.com>
+* Liu Haiyang <leoliu.pku@gmail.com>
+* Li Yanrui <liyanrui.m2@gmail.com>
+* Chen Zhichu <zhichu.chen@gmail.com>
+* Li Qing <sobenlee@gmail.com>
+* Liam Huang <liamhuang0205@gmail.com>
+
+Contributing
+------------
+
+This package is a part of the [ctex-kit](https://github.com/CTeX-org/ctex-kit) project.
+
+Issues and pull requests are welcome.
+
+Copyright and Licence
+---------------------
+
+ Copyright (C) 2003--2019
+ CTEX.ORG and any individual authors listed elsewhere in this file.
+ ----------------------------------------------------------------------
+
+ This work may be distributed and/or modified under the
+ conditions of the LaTeX Project Public License, either
+ version 1.3c of this license or (at your option) any later
+ version. This version of this license is in
+ http://www.latex-project.org/lppl/lppl-1-3c.txt
+ and the latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+ and version 1.3 or later is part of all distributions of
+ LaTeX version 2005/12/01 or later.
+
+ This work has the LPPL maintenance status `maintained'.
+
+ The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang.
+
+ This package consists of the file ctex.dtx,
+ and the derived files ctex.pdf,
+ ctex.ins,
+ ctex.sty,
+ ctexsize.sty,
+ ctexheading.sty,
+ ctexart.cls,
+ ctexbook.cls,
+ ctexrep.cls,
+ ctexbeamer.cls,
+ ctxdoc.cls,
+ ctexcap.sty,
+ ctexhook.sty,
+ ctexpatch.sty,
+ ctex-c5size.clo,
+ ctex-cs4size.clo,
+ ctex-article.def,
+ ctex-book.def,
+ ctex-report.def,
+ ctex-beamer.def,
+ ctex-scheme-plain.def,
+ ctex-scheme-plain-article.def,
+ ctex-scheme-plain-book.def,
+ ctex-scheme-plain-report.def,
+ ctex-scheme-plain-beamer.def,
+ ctex-scheme-chinese.def,
+ ctex-scheme-chinese-article.def,
+ ctex-scheme-chinese-book.def,
+ ctex-scheme-chinese-report.def,
+ ctex-scheme-chinese-beamer.def,
+ ctex-name-gbk.cfg,
+ ctex-name-utf8.cfg,
+ ctex.cfg,
+ ctexopts.cfg,
+ ctex-engine-pdftex.def,
+ ctex-engine-xetex.def,
+ ctex-engine-luatex.def,
+ ctex-engine-aptex.def,
+ ctex-engine-uptex.def,
+ c19rm.fd,
+ c19sf.fd,
+ c19tt.fd,
+ c70rm.fd,
+ c70sf.fd,
+ c70tt.fd,
+ jy2zhrm.fd,
+ jy2zhsf.fd,
+ jy2zhtt.fd,
+ jt2zhrm.fd,
+ jt2zhsf.fd,
+ jt2zhtt.fd,
+ ctex-fontset-windows.def,
+ ctex-fontset-windowsnew.def,
+ ctex-fontset-windowsold.def,
+ ctex-fontset-adobe.def,
+ ctex-fontset-fandol.def,
+ ctex-fontset-mac.def,
+ ctex-fontset-macnew.def,
+ ctex-fontset-macold.def,
+ ctex-fontset-founder.def,
+ ctex-fontset-ubuntu.def,
+ ctexspa.def,
+ ctexpunct.spa,
+ ctexmakespa.tex,
+ ctexspamacro.tex,
+ ctxdocstrip.tex,
+ zhadobefonts.tex,
+ zhfandolfonts.tex,
+ zhfounderfonts.tex,
+ zhubuntufonts.tex,
+ zhwindowsfonts.tex,
+ translator-theorem-dictionary-ChineseGBK.dict,
+ translator-theorem-dictionary-ChineseUTF8.dict, and
+ README.md (this file).
diff --git a/language/chinese/ctex/ctex.dtx b/language/chinese/ctex/ctex.dtx
new file mode 100644
index 0000000000..d4a80e4344
--- /dev/null
+++ b/language/chinese/ctex/ctex.dtx
@@ -0,0 +1,12172 @@
+% \iffalse meta-comment
+% !TeX program = XeLaTeX
+% !TeX encoding = UTF-8
+%
+% Copyright (C) 2003--2019
+% CTEX.ORG and any individual authors listed elsewhere in this file.
+% --------------------------------------------------------------------------
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any later
+% version. This version of this license is in
+% http://www.latex-project.org/lppl/lppl-1-3c.txt
+% and the latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of
+% LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang.
+%
+% --------------------------------------------------------------------------
+%
+%<*internal>
+\iffalse
+%</internal>
+%<*readme>
+ctex
+====
+
+`ctex` is a collection of macro packages and document classes
+for LaTeX Chinese typesetting.
+
+Authors and Contributors
+------------------------
+
+* Wu Lingyun <aloft@ctex.org>
+* Jiang Jiang <gzjjgod@gmail.com>
+* Wang Yue <yuleopen@gmail.com>
+* Liu Haiyang <leoliu.pku@gmail.com>
+* Li Yanrui <liyanrui.m2@gmail.com>
+* Chen Zhichu <zhichu.chen@gmail.com>
+* Li Qing <sobenlee@gmail.com>
+* Liam Huang <liamhuang0205@gmail.com>
+
+Contributing
+------------
+
+This package is a part of the [ctex-kit](https://github.com/CTeX-org/ctex-kit) project.
+
+Issues and pull requests are welcome.
+
+Copyright and Licence
+---------------------
+
+ Copyright (C) 2003--2019
+ CTEX.ORG and any individual authors listed elsewhere in this file.
+ ----------------------------------------------------------------------
+
+ This work may be distributed and/or modified under the
+ conditions of the LaTeX Project Public License, either
+ version 1.3c of this license or (at your option) any later
+ version. This version of this license is in
+ http://www.latex-project.org/lppl/lppl-1-3c.txt
+ and the latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+ and version 1.3 or later is part of all distributions of
+ LaTeX version 2005/12/01 or later.
+
+ This work has the LPPL maintenance status `maintained'.
+
+ The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang.
+
+ This package consists of the file ctex.dtx,
+ and the derived files ctex.pdf,
+ ctex.ins,
+ ctex.sty,
+ ctexsize.sty,
+ ctexheading.sty,
+ ctexart.cls,
+ ctexbook.cls,
+ ctexrep.cls,
+ ctexbeamer.cls,
+ ctxdoc.cls,
+ ctexcap.sty,
+ ctexhook.sty,
+ ctexpatch.sty,
+ ctex-c5size.clo,
+ ctex-cs4size.clo,
+ ctex-article.def,
+ ctex-book.def,
+ ctex-report.def,
+ ctex-beamer.def,
+ ctex-scheme-plain.def,
+ ctex-scheme-plain-article.def,
+ ctex-scheme-plain-book.def,
+ ctex-scheme-plain-report.def,
+ ctex-scheme-plain-beamer.def,
+ ctex-scheme-chinese.def,
+ ctex-scheme-chinese-article.def,
+ ctex-scheme-chinese-book.def,
+ ctex-scheme-chinese-report.def,
+ ctex-scheme-chinese-beamer.def,
+ ctex-name-gbk.cfg,
+ ctex-name-utf8.cfg,
+ ctex.cfg,
+ ctexopts.cfg,
+ ctex-engine-pdftex.def,
+ ctex-engine-xetex.def,
+ ctex-engine-luatex.def,
+ ctex-engine-aptex.def,
+ ctex-engine-uptex.def,
+ c19rm.fd,
+ c19sf.fd,
+ c19tt.fd,
+ c70rm.fd,
+ c70sf.fd,
+ c70tt.fd,
+ jy2zhrm.fd,
+ jy2zhsf.fd,
+ jy2zhtt.fd,
+ jt2zhrm.fd,
+ jt2zhsf.fd,
+ jt2zhtt.fd,
+ ctex-fontset-windows.def,
+ ctex-fontset-windowsnew.def,
+ ctex-fontset-windowsold.def,
+ ctex-fontset-adobe.def,
+ ctex-fontset-fandol.def,
+ ctex-fontset-mac.def,
+ ctex-fontset-macnew.def,
+ ctex-fontset-macold.def,
+ ctex-fontset-founder.def,
+ ctex-fontset-ubuntu.def,
+ ctexspa.def,
+ ctexpunct.spa,
+ ctexmakespa.tex,
+ ctexspamacro.tex,
+ ctxdocstrip.tex,
+ zhadobefonts.tex,
+ zhfandolfonts.tex,
+ zhfounderfonts.tex,
+ zhubuntufonts.tex,
+ zhwindowsfonts.tex,
+ translator-theorem-dictionary-ChineseGBK.dict,
+ translator-theorem-dictionary-ChineseUTF8.dict, and
+ README.md (this file).
+%</readme>
+%<*internal>
+\fi
+\begingroup
+ \def\temp{LaTeX2e}
+\expandafter\endgroup\ifx\temp\fmtname\else
+\csname fi\endcsname
+%</internal>
+%<*install>
+
+\input ctxdocstrip %
+
+\preamble
+
+ Copyright (C) 2003--2019
+ CTEX.ORG and any individual authors listed in the documentation.
+------------------------------------------------------------------------------
+
+ This work may be distributed and/or modified under the
+ conditions of the LaTeX Project Public License, either
+ version 1.3c of this license or (at your option) any later
+ version. This version of this license is in
+ http://www.latex-project.org/lppl/lppl-1-3c.txt
+ and the latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+ and version 1.3 or later is part of all distributions of
+ LaTeX version 2005/12/01 or later.
+
+ This work has the LPPL maintenance status `maintained'.
+
+ The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang.
+
+------------------------------------------------------------------------------
+
+\endpreamble
+\postamble
+
+ This package consists of the file ctex.dtx,
+ and the derived files ctex.pdf,
+ ctex.ins,
+ ctex.sty,
+ ctexsize.sty,
+ ctexheading.sty,
+ ctexart.cls,
+ ctexbook.cls,
+ ctexrep.cls,
+ ctexbeamer.cls,
+ ctxdoc.cls,
+ ctexcap.sty,
+ ctexhook.sty,
+ ctexpatch.sty,
+ ctex-c5size.clo,
+ ctex-cs4size.clo,
+ ctex-article.def,
+ ctex-book.def,
+ ctex-report.def,
+ ctex-beamer.def,
+ ctex-scheme-plain.def,
+ ctex-scheme-plain-article.def,
+ ctex-scheme-plain-book.def,
+ ctex-scheme-plain-report.def,
+ ctex-scheme-plain-beamer.def,
+ ctex-scheme-chinese.def,
+ ctex-scheme-chinese-article.def,
+ ctex-scheme-chinese-book.def,
+ ctex-scheme-chinese-report.def,
+ ctex-scheme-chinese-beamer.def,
+ ctex-name-gbk.cfg,
+ ctex-name-utf8.cfg,
+ ctex.cfg,
+ ctexopts.cfg,
+ ctex-engine-pdftex.def,
+ ctex-engine-xetex.def,
+ ctex-engine-luatex.def,
+ ctex-engine-aptex.def,
+ ctex-engine-uptex.def,
+ c19rm.fd,
+ c19sf.fd,
+ c19tt.fd,
+ c70rm.fd,
+ c70sf.fd,
+ c70tt.fd,
+ jy2zhrm.fd,
+ jy2zhsf.fd,
+ jy2zhtt.fd,
+ jt2zhrm.fd,
+ jt2zhsf.fd,
+ jt2zhtt.fd,
+ ctex-fontset-windows.def,
+ ctex-fontset-windowsnew.def,
+ ctex-fontset-windowsold.def,
+ ctex-fontset-adobe.def,
+ ctex-fontset-fandol.def,
+ ctex-fontset-mac.def,
+ ctex-fontset-macnew.def,
+ ctex-fontset-macold.def,
+ ctex-fontset-founder.def,
+ ctex-fontset-ubuntu.def,
+ ctexspa.def,
+ ctexpunct.spa,
+ ctexmakespa.tex,
+ ctexspamacro.tex,
+ ctxdocstrip.tex,
+ zhadobefonts.tex,
+ zhfandolfonts.tex,
+ zhfounderfonts.tex,
+ zhubuntufonts.tex,
+ zhwindowsfonts.tex,
+ translator-theorem-dictionary-ChineseGBK.dict,
+ translator-theorem-dictionary-ChineseUTF8.dict, and
+ README.md.
+\endpostamble
+
+\generate
+ {
+ \usedir{tex/latex/ctex}
+ \file{ctex.sty} {\from{\jobname.dtx}{style,ctex}}
+ \file{ctexsize.sty} {\from{\jobname.dtx}{style,ctexsize}}
+ \file{ctexheading.sty} {\from{\jobname.dtx}{style,ctexheading}}
+ \file{ctexart.cls} {\from{\jobname.dtx}{class,article}}
+ \file{ctexbook.cls} {\from{\jobname.dtx}{class,book}}
+ \file{ctexrep.cls} {\from{\jobname.dtx}{class,report}}
+ \file{ctexbeamer.cls} {\from{\jobname.dtx}{class,beamer}}
+ \usepostamble\emptypostamble
+ \file{ctxdoc.cls} {\from{\jobname.dtx}{ctxdoc}}
+ \file{ctexcap.sty} {\from{\jobname.dtx}{ctexcap}}
+ \file{ctexhook.sty} {\from{\jobname.dtx}{ctexhook}}
+ \file{ctexpatch.sty} {\from{\jobname.dtx}{ctexpatch}}
+ \file{ctex-c5size.clo} {\from{\jobname.dtx}{c5size}}
+ \file{ctex-cs4size.clo} {\from{\jobname.dtx}{cs4size}}
+ \file{ctex-article.def} {\from{\jobname.dtx}{heading,article}}
+ \file{ctex-book.def} {\from{\jobname.dtx}{heading,book}}
+ \file{ctex-report.def} {\from{\jobname.dtx}{heading,report}}
+ \file{ctex-beamer.def} {\from{\jobname.dtx}{heading,beamer}}
+ \file{ctex-scheme-plain.def} {\from{\jobname.dtx}{scheme,generic,plain}}
+ \file{ctex-scheme-plain-article.def} {\from{\jobname.dtx}{scheme,article,plain}}
+ \file{ctex-scheme-plain-book.def} {\from{\jobname.dtx}{scheme,book,plain}}
+ \file{ctex-scheme-plain-report.def} {\from{\jobname.dtx}{scheme,report,plain}}
+ \file{ctex-scheme-plain-beamer.def} {\from{\jobname.dtx}{scheme,beamer,plain}}
+ \file{ctex-scheme-chinese.def} {\from{\jobname.dtx}{scheme,generic,chinese}}
+ \file{ctex-scheme-chinese-article.def} {\from{\jobname.dtx}{scheme,article,chinese}}
+ \file{ctex-scheme-chinese-book.def} {\from{\jobname.dtx}{scheme,book,chinese}}
+ \file{ctex-scheme-chinese-report.def} {\from{\jobname.dtx}{scheme,report,chinese}}
+ \file{ctex-scheme-chinese-beamer.def} {\from{\jobname.dtx}{scheme,beamer,chinese}}
+ \file{ctex-name-gbk.cfg} {\from{\jobname.dtx}{name,GBK}}
+ \file{ctex-name-utf8.cfg} {\from{\jobname.dtx}{name,UTF8}}
+ \file{ctex.cfg} {\from{\jobname.dtx}{config}}
+ \file{ctexopts.cfg} {\from{\jobname.dtx}{ctexopts}}
+ \file{ctex-engine-pdftex.def} {\from{\jobname.dtx}{pdftex}}
+ \file{ctex-engine-xetex.def} {\from{\jobname.dtx}{xetex}}
+ \file{ctex-engine-luatex.def} {\from{\jobname.dtx}{luatex}}
+ \file{ctex-engine-aptex.def} {\from{\jobname.dtx}{aptex}}
+ \file{ctex-engine-uptex.def} {\from{\jobname.dtx}{uptex}}
+ \file{c19rm.fd} {\from{\jobname.dtx}{fd,rm,c19}}
+ \file{c19sf.fd} {\from{\jobname.dtx}{fd,sf,c19}}
+ \file{c19tt.fd} {\from{\jobname.dtx}{fd,tt,c19}}
+ \file{c70rm.fd} {\from{\jobname.dtx}{fd,rm,c70}}
+ \file{c70sf.fd} {\from{\jobname.dtx}{fd,sf,c70}}
+ \file{c70tt.fd} {\from{\jobname.dtx}{fd,tt,c70}}
+ \file{jy2zhrm.fd} {\from{\jobname.dtx}{fd,rm,jy2}}
+ \file{jy2zhsf.fd} {\from{\jobname.dtx}{fd,sf,jy2}}
+ \file{jy2zhtt.fd} {\from{\jobname.dtx}{fd,tt,jy2}}
+ \file{jt2zhrm.fd} {\from{\jobname.dtx}{fd,rm,jt2}}
+ \file{jt2zhsf.fd} {\from{\jobname.dtx}{fd,sf,jt2}}
+ \file{jt2zhtt.fd} {\from{\jobname.dtx}{fd,tt,jt2}}
+ \file{ctex-fontset-windows.def} {\from{\jobname.dtx}{fontset,windows}}
+ \file{ctex-fontset-windowsnew.def} {\from{\jobname.dtx}{fontset,windowsnew}}
+ \file{ctex-fontset-windowsold.def} {\from{\jobname.dtx}{fontset,windowsold}}
+ \file{ctex-fontset-adobe.def} {\from{\jobname.dtx}{fontset,adobe}}
+ \file{ctex-fontset-fandol.def} {\from{\jobname.dtx}{fontset,fandol}}
+ \file{ctex-fontset-mac.def} {\from{\jobname.dtx}{fontset,mac}}
+ \file{ctex-fontset-macold.def} {\from{\jobname.dtx}{fontset,macold}}
+ \file{ctex-fontset-macnew.def} {\from{\jobname.dtx}{fontset,macnew}}
+ \file{ctex-fontset-founder.def} {\from{\jobname.dtx}{fontset,founder}}
+ \file{ctex-fontset-ubuntu.def} {\from{\jobname.dtx}{fontset,ubuntu}}
+ \file{translator-theorem-dictionary-ChineseGBK.dict}
+ {\from{\jobname.dtx}{dict,theorem,GBK}}
+ \file{translator-theorem-dictionary-ChineseUTF8.dict}
+ {\from{\jobname.dtx}{dict,theorem,UTF8}}
+ \file{ctexspa.def}
+ {
+ \from{\jobname.dtx} {ctexspa}
+ \from{ctexpunct.spa} {}
+ }
+ \usedir{tex/generic/ctex}
+ \file{ctexmakespa.tex} {\from{\jobname.dtx}{spa,make}}
+ \file{ctexspamacro.tex} {\from{\jobname.dtx}{spa,macro}}
+ \file{zhadobefonts.tex} {\from{\jobname.dtx}{zhmap,adobe}}
+ \file{zhfandolfonts.tex} {\from{\jobname.dtx}{zhmap,fandol}}
+ \file{zhfounderfonts.tex} {\from{\jobname.dtx}{zhmap,founder}}
+ \file{zhubuntufonts.tex} {\from{\jobname.dtx}{zhmap,ubuntu}}
+ \file{zhwindowsfonts.tex} {\from{\jobname.dtx}{zhmap,windows}}
+ \file{ctxdocstrip.tex} {\from{\jobname.dtx}{docstrip}}
+%</install>
+%<*internal>
+ \usedir{source/latex/ctex}
+ \file{\jobname.ins} {\from{\jobname.dtx}{install}}
+%</internal>
+%<*install>
+ \nopreamble\nopostamble
+ \usedir{doc/latex/ctex}
+ \file{README.md} {\from{\jobname.dtx}{readme}}
+ }
+
+\catcode32=12\space
+
+\Msg{*************************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the following *}
+\Msg{* file into proper directories searched by TeX: *}
+\Msg{* *}
+\Msg{* The recommended directory is TDS:tex/latex/ctex *}
+\Msg{* *}
+\Msg{* ctex.sty *}
+\Msg{* ctexsize.sty *}
+\Msg{* ctexheading.sty *}
+\Msg{* ctexart.cls *}
+\Msg{* ctexbook.cls *}
+\Msg{* ctexrep.cls *}
+\Msg{* ctexbeamer.cls *}
+\Msg{* ctxdoc.cls *}
+\Msg{* ctexcap.sty *}
+\Msg{* ctexhook.sty *}
+\Msg{* ctexpatch.sty *}
+\Msg{* ctex-c5size.clo *}
+\Msg{* ctex-cs4size.clo *}
+\Msg{* ctex-article.def *}
+\Msg{* ctex-book.def *}
+\Msg{* ctex-report.def *}
+\Msg{* ctex-beamer.def *}
+\Msg{* ctex-scheme-plain.def *}
+\Msg{* ctex-scheme-plain-article.def *}
+\Msg{* ctex-scheme-plain-book.def *}
+\Msg{* ctex-scheme-plain-report.def *}
+\Msg{* ctex-scheme-plain-beamer.def *}
+\Msg{* ctex-scheme-chinese.def *}
+\Msg{* ctex-scheme-chinese-article.def *}
+\Msg{* ctex-scheme-chinese-book.def *}
+\Msg{* ctex-scheme-chinese-report.def *}
+\Msg{* ctex-scheme-chinese-beamer.def *}
+\Msg{* ctex-name-gbk.cfg *}
+\Msg{* ctex-name-utf8.cfg *}
+\Msg{* ctex.cfg *}
+\Msg{* ctexopts.cfg *}
+\Msg{* ctex-engine-pdftex.def *}
+\Msg{* ctex-engine-xetex.def *}
+\Msg{* ctex-engine-luatex.def *}
+\Msg{* ctex-engine-aptex.def *}
+\Msg{* ctex-engine-uptex.def *}
+\Msg{* c19rm.fd *}
+\Msg{* c19sf.fd *}
+\Msg{* c19tt.fd *}
+\Msg{* c70rm.fd *}
+\Msg{* c70sf.fd *}
+\Msg{* c70tt.fd *}
+\Msg{* jy2zhrm.fd *}
+\Msg{* jy2zhsf.fd *}
+\Msg{* jy2zhtt.fd *}
+\Msg{* jt2zhrm.fd *}
+\Msg{* jt2zhsf.fd *}
+\Msg{* jt2zhtt.fd *}
+\Msg{* ctex-fontset-windows.def *}
+\Msg{* ctex-fontset-windowsnew.def *}
+\Msg{* ctex-fontset-windowsold.def *}
+\Msg{* ctex-fontset-adobe.def *}
+\Msg{* ctex-fontset-fandol.def *}
+\Msg{* ctex-fontset-mac.def *}
+\Msg{* ctex-fontset-macold.def *}
+\Msg{* ctex-fontset-macnew.def *}
+\Msg{* ctex-fontset-founder.def *}
+\Msg{* ctex-fontset-ubuntu.def *}
+\Msg{* ctexspa.def *}
+\Msg{* ctexmakespa.tex *}
+\Msg{* ctexspamacro.tex *}
+\Msg{* ctxdocstrip.tex *}
+\Msg{* zhadobefonts.tex *}
+\Msg{* zhfandolfonts.tex *}
+\Msg{* zhfounderfonts.tex *}
+\Msg{* zhubuntufonts.tex *}
+\Msg{* zhwindowsfonts.tex *}
+\Msg{* translator-theorem-dictionary-ChineseGBK.dict *}
+\Msg{* translator-theorem-dictionary-ChineseUTF8.dict *}
+\Msg{* *}
+\Msg{* To produce the documentation run the file ctex.dtx *}
+\Msg{* through XeLaTeX. *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{* *}
+\Msg{*************************************************************}
+
+\endbatchfile
+%</install>
+%<*internal>
+\fi
+%</internal>
+%<*!(driver|readme|install|zhmap|spa|docstrip)>
+%<*!(fd|ctexspa|dict)>
+%<class|style|ctexcap|ctexhook|ctexpatch|ctxdoc>\NeedsTeXFormat{LaTeX2e}
+%<class|style|ctexcap|ctexhook|ctexpatch|ctxdoc>\RequirePackage{expl3}
+%<+!driver>\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee <sobenlee@gmail.com> $
+%<ctxdoc> {ctex documentation (CTEX)}
+%<ctxdoc>\ProvidesExplClass{ctxdoc}
+%<ctex> {Chinese adapter in LaTeX (CTEX)}
+%<ctex>\ProvidesExplPackage{\ExplFileName}
+%<ctexsize> {Chinese font size definition (CTEX)}
+%<ctexsize>\ProvidesExplPackage{ctexsize}
+%<ctexheading> {Heading style modification (CTEX)}
+%<ctexheading>\ProvidesExplPackage{ctexheading}
+%<class&article> {Chinese adapter for class article (CTEX)}
+%<class&article>\ProvidesExplClass{ctexart}
+%<class&book> {Chinese adapter for class book (CTEX)}
+%<class&book>\ProvidesExplClass{ctexbook}
+%<class&report> {Chinese adapter for class report (CTEX)}
+%<class&report>\ProvidesExplClass{ctexrep}
+%<class&beamer> {Chinese adapter for class beamer (CTEX)}
+%<class&beamer>\ProvidesExplClass{ctexbeamer}
+%<ctexcap> {Chinese adapter in LaTeX (CTEX)}
+%<ctexcap>\ProvidesExplPackage{ctexcap}
+%<ctexhook> {Document and package hooks (CTEX)}
+%<ctexhook>\ProvidesExplPackage{ctexhook}
+%<ctexpatch> {Patching commands (CTEX)}
+%<ctexpatch>\ProvidesExplPackage{ctexpatch}
+%<c5size> {c5size option (CTEX)}
+%<c5size>\ProvidesExplFile{ctex-c5size.clo}
+%<cs4size> {cs4size option (CTEX)}
+%<cs4size>\ProvidesExplFile{ctex-cs4size.clo}
+%<heading&article> {Heading modification for article (CTEX)}
+%<heading&article>\ProvidesExplFile{ctex-article.def}
+%<heading&book> {Heading modification for book (CTEX)}
+%<heading&book>\ProvidesExplFile{ctex-book.def}
+%<heading&report> {Heading modification for report (CTEX)}
+%<heading&report>\ProvidesExplFile{ctex-report.def}
+%<heading&beamer> {Heading modification for beamer (CTEX)}
+%<heading&beamer>\ProvidesExplFile{ctex-beamer.def}
+%<scheme&plain&generic> {Plain scheme for generic (CTEX)}
+%<scheme&plain&generic>\ProvidesExplFile{ctex-scheme-plain.def}
+%<scheme&plain&article> {Plain scheme for article (CTEX)}
+%<scheme&plain&article>\ProvidesExplFile{ctex-scheme-plain-article.def}
+%<scheme&plain&book> {Plain scheme for book (CTEX)}
+%<scheme&plain&book>\ProvidesExplFile{ctex-scheme-plain-book.def}
+%<scheme&plain&report> {Plain scheme for report (CTEX)}
+%<scheme&plain&report>\ProvidesExplFile{ctex-scheme-plain-report.def}
+%<scheme&plain&beamer> {Plain scheme for beamer (CTEX)}
+%<scheme&plain&beamer>\ProvidesExplFile{ctex-scheme-plain-beamer.def}
+%<scheme&chinese&generic> {Chinese scheme for generic (CTEX)}
+%<scheme&chinese&generic>\ProvidesExplFile{ctex-scheme-chinese.def}
+%<scheme&chinese&article> {Chinese scheme for article (CTEX)}
+%<scheme&chinese&article>\ProvidesExplFile{ctex-scheme-chinese-article.def}
+%<scheme&chinese&book> {Chinese scheme for book (CTEX)}
+%<scheme&chinese&book>\ProvidesExplFile{ctex-scheme-chinese-book.def}
+%<scheme&chinese&report> {Chinese scheme for report (CTEX)}
+%<scheme&chinese&report>\ProvidesExplFile{ctex-scheme-chinese-report.def}
+%<scheme&chinese&beamer> {Chinese scheme for beamer (CTEX)}
+%<scheme&chinese&beamer>\ProvidesExplFile{ctex-scheme-chinese-beamer.def}
+%<name&GBK> {Caption with encoding GBK (CTEX)}
+%<name&GBK>\ProvidesExplFile{ctex-name-gbk.cfg}
+%<name&UTF8> {Caption with encoding UTF8 (CTEX)}
+%<name&UTF8>\ProvidesExplFile{ctex-name-utf8.cfg}
+%<config> {Configuration file (CTEX)}
+%<config>\ProvidesExplFile{\ExplFileName.cfg}
+%<ctexopts> {Option configuration file (CTEX)}
+%<ctexopts>\ProvidesExplFile{ctexopts.cfg}
+%<pdftex> {(pdf)LaTeX adapter (CTEX)}
+%<pdftex>\ProvidesExplFile{ctex-engine-pdftex.def}
+%<xetex> {XeLaTeX adapter (CTEX)}
+%<xetex>\ProvidesExplFile{ctex-engine-xetex.def}
+%<luatex> {LuaLaTeX adapter (CTEX)}
+%<luatex>\ProvidesExplFile{ctex-engine-luatex.def}
+%<aptex> {Asian pTeX adapter (CTEX)}
+%<aptex>\ProvidesExplFile{ctex-engine-aptex.def}
+%<uptex> {upTeX adapter (CTEX)}
+%<uptex>\ProvidesExplFile{ctex-engine-uptex.def}
+%<windows> {Windows fonts definition (CTEX)}
+%<windows>\ProvidesExplFile{ctex-fontset-windows.def}
+%<windowsnew> {Windows fonts definition for Vista or later version (CTEX)}
+%<windowsnew>\ProvidesExplFile{ctex-fontset-windowsnew.def}
+%<windowsold> {Windows fonts definition for XP or earlier version (CTEX)}
+%<windowsold>\ProvidesExplFile{ctex-fontset-windowsold.def}
+%<adobe> {Adobe fonts definition (CTEX)}
+%<adobe>\ProvidesExplFile{ctex-fontset-adobe.def}
+%<fandol> {Fandol fonts definition (CTEX)}
+%<fandol>\ProvidesExplFile{ctex-fontset-fandol.def}
+%<mac> {Mac OS X fonts definition (CTEX)}
+%<mac>\ProvidesExplFile{ctex-fontset-mac.def}
+%<macnew> {Mac OS X fonts definition for El Capitan or later version (CTEX)}
+%<macnew>\ProvidesExplFile{ctex-fontset-macnew.def}
+%<macold> {Mac OS X fonts definition for Yosemite or earlier version (CTEX)}
+%<macold>\ProvidesExplFile{ctex-fontset-macold.def}
+%<founder> {Founder fonts definition (CTEX)}
+%<founder>\ProvidesExplFile{ctex-fontset-founder.def}
+%<ubuntu> {Ubuntu fonts definition (CTEX)}
+%<ubuntu>\ProvidesExplFile{ctex-fontset-ubuntu.def}
+%<!driver> {\ExplFileDate}{2.4.16}{\ExplFileDescription}
+%</!(fd|ctexspa|dict)>
+%<c19&rm>\ProvidesFile{c19rm.fd}%
+%<c19&sf>\ProvidesFile{c19sf.fd}%
+%<c19&tt>\ProvidesFile{c19tt.fd}%
+%<c70&rm>\ProvidesFile{c70rm.fd}%
+%<c70&sf>\ProvidesFile{c70sf.fd}%
+%<c70&tt>\ProvidesFile{c70tt.fd}%
+%<jy2&rm>\ProvidesFile{jy2zhrm.fd}%
+%<jy2&sf>\ProvidesFile{jy2zhsf.fd}%
+%<jy2&tt>\ProvidesFile{jy2zhtt.fd}%
+%<jt2&rm>\ProvidesFile{jt2zhrm.fd}%
+%<jt2&sf>\ProvidesFile{jt2zhsf.fd}%
+%<jt2&tt>\ProvidesFile{jt2zhtt.fd}%
+%<ctexspa>\ProvidesFile{ctexspa.def}%
+%<dict&theorem&GBK>\ProvidesDictionary{translator-theorem-dictionary}{ChineseGBK}%
+%<dict&theorem&UTF8>\ProvidesDictionary{translator-theorem-dictionary}{ChineseUTF8}%
+%<fd> [2019/05/29 v2.4.16 Chinese font definition (CTEX)]
+%<ctexspa> [2019/05/29 v2.4.16 Space info for CJKpunct (CTEX)]
+%<dict&theorem> [2019/05/29 v2.4.16 Chinese translation for theorem name (CTEX)]
+%</!(driver|readme|install|zhmap|spa|docstrip)>
+%<*driver>
+\documentclass{ctxdoc}
+\begin{document}
+ \DocInput{\jobname.dtx}
+ \IndexLayout
+ \PrintChanges
+ \PrintIndex
+\end{document}
+%</driver>
+%
+% \fi
+%
+% \changes{v2.0}{2014/03/06}{应用 \LaTeXiii{} 重新整理代码。}
+% \changes{v2.0}{2014/03/12}{删除 \file{c19gbsn.fd} 和 \file{c19gkai.fd}。}
+% \changes{v2.1}{2015/05/18}{将章节标题设置功能提取到可以独立使用的宏包
+% \pkg{ctexheading} 中。}
+% \changes{v2.2}{2015/06/24}{不再依赖 \pkg{etoolbox} 宏包。}
+% \changes{v2.4}{2015/02/19}{加强 \pkg{beamer} 宏包支持。}
+% \changes{v2.4.12}{2018/01/13}{同步 \LaTeXiii{} 2017/12/16。}
+% \changes{v2.4.15}{2019/03/23}{同步 \LaTeXiii{} 2019/03/05。}
+%
+%
+% \CheckSum{5934}
+%
+% \CharacterTable
+% {Upper-case \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
+% Lower-case \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
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \GetFileId{ctex.sty}%
+%
+% \title{\bfseries \CTeX{} 宏集手册}
+% \author{\href{http://www.ctex.org}{CTEX.ORG}}
+% \date{\filedate\qquad\fileversion\thanks{\ctexkitrev{\ExplFileVersion}.}}
+% \maketitle
+%
+% \begin{abstract}
+% \CTeX{} 宏集是面向中文排版的通用 \LaTeX{} 排版框架,为中文 \LaTeX{} 文档
+% 提供了汉字输出支持、标点压缩、字体字号命令、标题文字汉化、中文版式调整、数字
+% 日期转换等支持功能,可适应论文、报告、书籍、幻灯片等不同类型的中文文档。
+%
+% \CTeX{} 宏集支持 \LaTeX、\pdfLaTeX、\XeLaTeX、\LuaLaTeX、\upLaTeX{} 等多种不同
+% 的编译方式,并为它们提供了统一的界面。主要功能由宏包 \pkg{ctex} 和中文文档类
+% \cls{ctexart}、\cls{ctexrep}、\cls{ctexbook} 和 \cls{ctexbeamer} 实现。
+% \end{abstract}
+%
+% \tableofcontents
+%
+% \clearpage
+% \setlength{\parskip}{0.8ex}
+%
+% \begin{documentation}
+%
+% \section{介绍}
+%
+% \subsection*{历史}
+%
+% \CTeX{} 宏集的源头有两个:一是王磊编写的 \cls{cjkbook} 文档类,二是吴凌云编写的
+% \file{GB.cap}。
+% 这些工作没有经过认真、系统的设计,也没有用户文档,不利于维护和改进。
+%
+% 2003 年,吴凌云使用 \pkg{doc} 和 \pkg{DocStrip} 重构了整个工程,并增加了许多新的功能,
+% 称为 \pkg{ctex} 宏包。2007 年,oseen 和王越在 \pkg{ctex} 宏包的基础上,
+% 增加了对 UTF-8 编码的支持,开发出了 \pkg{ctexutf8} 宏包。
+%
+% 2009 年 5 月,我们在 Google Code 建立了 ctex-kit 项目^^A
+% \footnote{\nolinkurl{http://code.google.com/p/ctex-kit/}},
+% 对 \pkg{ctex} 宏包及相关脚本进行了整合,并加入了对 \XeTeX{} 引擎的支持。
+% 在开发新版本时,考虑到合作开发和调试的方便,我们放弃了 \pkg{doc} 和 \pkg{DocStrip},
+% 采取了直接编写宏包代码的方式。
+%
+% 2014 年 3 月,为了适应 \LaTeX{} 的最新发展,特别是 \LaTeXiii{} 的逐渐成熟,李清用
+% \LaTeXiii{} 重构了整个宏包的代码,并重新使用 \pkg{doc} 和 \pkg{DocStrip} 工具进行代码
+% 的管理,升级版本号为 2.0,并改称 \CTeX{} 宏集。
+%
+% 2015 年 3 月,由于 Google Code 即将停止服务,ctex-kit 项目迁移至
+% \href{https://github.com/CTeX-org/ctex-kit}{GitHub}^^A
+% \footnote{\url{https://github.com/CTeX-org/ctex-kit}}。
+%
+% 最初,Knuth 在设计开发 \TeX{} 的时候没有考虑到多国语言支持,特别是对多字节的中日韩
+% 语言的支持。这使得 \TeX{} 以至后来的 \LaTeX{} 对中文的支持一直不是很好。即使在
+% \pkg{CJK} 宏包解决了中文字符处理的问题以后,中文用户使用 \LaTeX{} 仍然要面对许
+% 多困难。
+% 这些困难里,以章节标题的中文化为最。由于中文和西文语言习惯的差异,用户很难使用标准
+% 文档类中的代码结构来表达中文标题。于是,用户不得不对标准文档类做较大的修改。
+% 除此之外,日期格式、首行缩进、中文字号和字距等细节问题,也需要精细的调校。
+% 我们设计 \CTeX{} 宏集的目的之一就是解决这些 \LaTeX{} 文档的汉化难题。
+%
+% 另一方面,随着 \TeX{} 引擎和 \LaTeX{} 宏包的不断发展,\LaTeX{} 的中文支持方式从早期的
+% 专用系统(如 \pkg{CCT})发展为适用于不同引擎的多种方式^^A
+% \footnote{比如:\pdfTeX{} 引擎下的 \pkg{CJK}、\pkg{zhmCJK}宏包,
+% \XeTeX{} 引擎下的 \pkg{xeCJK} 宏包和 \LuaTeX{} 引擎下的 \pkg{LuaTeX-ja} 宏
+% 包}。这些方式的适用情况和使用方式有不少细节上的差异,同时操作系统的不同、语言环境的不同等
+% 客观情况又进一步带来了更多的细节差异。我们设计 \CTeX{} 宏集的另一个主要目的就是
+% 尽可能消除这些差异带来的影响,使用户能够以一个统一的接口来使用不同的中文支持方式,
+% 使得同一份文档能够在不同环境下交换使用。
+%
+% \CTeX{} 宏集的许多实现细节离不开热心朋友们在 \url{bbs.ctex.org} 论坛上的讨论,
+% 在此对参与讨论的朋友们表示感谢。
+%
+% \subsection*{关于宏集名字的说明}
+%
+% \CTeX{} 之名是英文单词 China(中国)或 Chinese(中文)的首字母“C”与 “\TeX{}”
+% 结合而成的。在纯文本环境下,该名字应写作“CTeX”。
+%
+% \CTeX{} 宏集是由 \href{http://bbs.ctex.org}{\CTeX{} 社区} 发起并维护的
+% \LaTeX{} \emph{宏包和文档类的集合}。
+% 社区另有发布名为 \href{http://www.ctex.org/CTeX}{\CTeX{} 套装}
+% 的 \TeX{} 发行版,与本文档所述的 \CTeX{} 宏集并非是同一事物。
+%
+% \pkg{ctex} 则是本宏集中的 \pkg{ctex.sty} 的名字。这一完全小写的名称,在过去
+% 也被用来指代整个 \CTeX{} 宏集,不过现在则特指 \pkg{ctex.sty} 这一宏包。
+% 在不引起歧义的情况下,它也可以沿用过去的习惯,代指整个宏集。
+%
+% \section{简明教程}
+%
+% \subsection{\CTeX{} 宏集的组成}
+%
+% 为了适应用户不同的需求,我们将 \CTeX{} 宏集的主要功能分散在四个中文文档类和
+% 三个宏包当中,具体的组成见表~\ref{tab:ctex}。
+%
+% \begin{table}[htbp]
+% \centering
+% \caption{\CTeX{} 宏集的组成}\label{tab:ctex}
+% \begin{tabularx}{\linewidth}{llX}
+% \toprule
+% 类别 & 文件 & 说明 \\
+% \midrule
+% 文档类 & \file{ctexart.cls} & 标准文档类 \cls{article} 的汉化版本,一般适用于
+% 短篇幅的文章 \\
+% & \file{ctexrep.cls} & 标准文档类 \cls{report} 的汉化版本,一般适用于
+% 中篇幅的报告 \\
+% & \file{ctexbook.cls} & 标准文档类 \cls{book} 的汉化版本,一般适用于
+% 长篇幅的书籍 \\
+% & \file{ctexbeamer.cls} & 文档类 \cls{beamer} 的汉化版本,适用于
+% 幻灯片演示 \\
+% \midrule
+% 宏包 & \file{ctex.sty} & 提供全部功能,但\emph{默认不开启章节标题设置功能},
+% 需要使用 \opt{heading} 选项来开启 \\
+% & \file{ctexsize.sty} & 定义和调整中文字号,在 \pkg{ctex} 宏包
+% 或 \CTeX{} 中文文档类之外单独调用 \\
+% & \file{ctexheading.sty} & 提供章节标题设置功能(见 \ref{sec:secstyle}
+% 节),在 \pkg{ctex} 宏包或 \CTeX{} 中文
+% 文档类之外单独调用 \\
+% \bottomrule
+% \end{tabularx}
+% \end{table}
+%
+% \subsection{\CTeX{} 宏集的安装和更新}
+% \label{subsec:easy-ins}
+%
+% \CTeX{} 宏集依赖的宏包和宏集已被最常见的 \TeX{} 发行版 \TeXLive{} 和 \MiKTeX{}
+% 所收录。如果本地安装 \TeXLive{} 或 \MiKTeX{} 不是完全版本,就可能需要通过这
+% 两个发行版提供的\emph{宏包管理器}来安装宏包。
+%
+% \TeXLive{} 的宏包管理器是 tlmgr。用户可以在系统命令行中^^A
+% \footnote{Windows 系统的命令行是 CMD 命令提示符,你可以使用 Win + R 组合键^^A
+% 打开“运行”对话框,然后输入 cmd 确认打开命令提示符窗口。}^^A
+% 执行
+% \begin{frameverb}
+% tlmgr gui
+% \end{frameverb}
+% 启动管理器的图形界面(Windows 用户也可以通过开始菜单的
+% TeX Live 2015 \ding{212} TeX Live Manager 打开)。
+% 连接上远程仓库之后,搜索 ctex 安装即可。
+% tlmgr 的图形界面使用 Perl 编写,容易造成系统假死。遇到这种问题的用户,
+% 也可以直接在系统命令行执行
+% \begin{frameverb}
+% tlmgr install ctex
+% \end{frameverb}
+% 来安装 \CTeX{} 宏集\footnote{*nix 用户可能需要超级用户权限才能正确安装宏集。}。
+%
+% \MiKTeX{} 的宏包管理器是 mpm (\MiKTeX{} Package Manager)。用户可以在开始菜单
+% 找到 MiKTeX \ding{212} Maintenance (Admin) \ding{212} Package Manager (Admin),
+% 打开管理器,连接上远程仓库之后,搜索 ctex 安装即可。
+%
+% 若希望了解 \CTeX{} 宏集具体的依赖情况和手工安装宏集的方法,
+% 请参阅第 \ref{sec:dep-ins}~节。
+%
+% 当宏包发布新版本,并被发行版在远程仓库安装之后,在本地就可以通过宏包管理器来
+% 取得新版本。
+%
+% 对于 \TeXLive{},可以在 tlmgr 的图形界面点击“更新全部已安装的”按钮或者在
+% 命令行执行
+% \begin{frameverb}
+% tlmgr update --all
+% \end{frameverb}
+% 来完整更新已安装的宏包。
+%
+% 对于 \MiKTeX{},在开始菜单找到
+% MiKTeX \ding{212} Maintenance (Admin) \ding{212} Update (Admin),
+% 按照界面说明更新即可。
+%
+% \subsection{使用 \CTeX{} 文档类}
+%
+% \emph{如果用户需要在标准文档类的基础上添加中文支持和中文版式支持,我们建议用户使用 \CTeX{}
+% 宏集提供的四个中文文档类。}
+%
+% \CTeX{} 宏集提供了四个中文文档类:\cls{ctexart}、\cls{ctexrep}、\cls{ctexbook} 和
+% \cls{ctexbeamer},分别对应 \LaTeX{} 的标准文档类 \cls{article}、\cls{report}、
+% \cls{book} 和 \cls{beamer}。使用它们的时候,需要将涉及到的所有源文件使用 UTF-8
+% 编码保存\footnote{使用 (pdf)\LaTeX{} 时也能够使用 GBK 编码,但不推荐。(见
+% \ref{subs:encoding}~节)}。
+%
+% \begin{ctexexam}
+% \documentclass[UTF8]{ctexart}
+% \begin{document}
+% 中文文档类测试。你需要将所有源文件保存为 UTF-8 编码。
+%
+% 你可以使用 XeLaTeX、LuaLaTeX 或 upLaTeX 编译,也可以使用 (pdf)LaTeX 编译。
+% 推荐使用 XeLaTeX 或 LuaLaTeX 编译。
+% \end{document}
+% \end{ctexexam}
+%
+% 以下是使用 \cls{ctexbeamer} 文档类编写中文演示文稿的一个示例。
+% \begin{ctexexam}
+% \documentclass[UTF8]{ctexbeamer}
+% \begin{document}
+% \begin{frame}{中文演示文档}
+% \begin{itemize}
+% \item 你需要将所有源文件保存为 UTF-8 编码
+% \item 你可以使用 XeLaTeX、LuaLaTeX 或 upLaTeX 编译
+% \item 也可以使用 (pdf)LaTeX 编译
+% \item 推荐使用 XeLaTeX 或 LuaLaTeX 编译
+% \end{itemize}
+% \end{frame}
+% \end{document}
+% \end{ctexexam}
+%
+% \subsection{使用 \pkg{ctex} 宏包}
+%
+% \emph{用户在使用非标准文档类时,如果需要添加中文支持或中文版式支持,则可以使用 \pkg{ctex}
+% 宏包。}
+%
+% 有些文档类是建立在 \LaTeX{} 标准文档类之上开发的。这时,给 \pkg{ctex} 宏包
+% 加上 \opt{heading} 选项,可以将章节标题设置为中文风格。
+% \begin{ctexexam}
+% \documentclass{ltxdoc}
+% \usepackage[UTF8, heading = true]{ctex}
+% \begin{document}
+% \section{简介}
+% 章节标题中文化的 \LaTeX{} 手册。
+% \end{document}
+% \end{ctexexam}
+%
+% \section{宏包选项与 \tn{ctexset} 命令}
+% \label{sec:options}
+%
+% \CTeX{} 宏集已经尽可能就中文的行文和版式习惯做了调整和配置,通常而言,这些配置
+% 已经够用。因此,除非必要,我们不建议普通用户修改这些默认配置。如果你认为 \CTeX{} 宏集
+% 的默认配置还可以完善,可以在项目主页上%
+% \href{https://github.com/CTeX-org/ctex-kit/issues}{提交 issue},
+% 向我们反映,我们会酌情在后续版本中予以改进。
+%
+% 不过,\CTeX{} 宏集也提供了一系列选项。用户可以使用这些选项来控制 \CTeX{} 宏集的行为。
+% 具体来说,这些选项里,有的以传统的方式提供,
+% 也有的以 \meta{key}|=|\meta{value} 的形式提供。对于以键值对形式提供的选项,
+% 在下面的说明中使用\textbf{粗体}来表示 \CTeX{} 的默认设置。
+%
+% 另一方面,这些选项可以分为以下三类:
+% \begin{itemize}
+% \item 名字后带有 \rexptarget\rexpstar{} 号的选项,只能作为宏包/文档类选项,需要
+% 在引入宏包/文档类的时候指定;
+% \item 名字后带有 \exptarget\expstar{} 号的选项,只能通过 \CTeX{} 宏集提供的
+% 用户接口 \tn{ctexset} 来设定;
+% \item 名字后不带有特殊符号的选项,既可以作为宏包/文档类选项,也可以通过
+% \tn{ctexset} 来设定。
+% \end{itemize}
+% 后续文档将在使用说明中对某些特殊的选项加以说明。
+%
+% \begin{function}[added=2014-03-18]{\ctexset}
+% \begin{syntax}
+% \tn{ctexset} \Arg{键值列表}
+% \end{syntax}
+% 是 \CTeX{} 宏集的通用控制命令,用来在宏包载入后控制宏包的各项功能。
+% \tn{ctexset} 的参数是一个键值列表,以通用的接口完成各项设置。
+% \end{function}
+%
+% \tn{ctexset} 的参数是一组由逗号分隔的选项列表,列表中的选项通常是一个
+% \meta{key}|=|\meta{value} 格式的定义。例如设置摘要与参考文献标题名称
+% (\ref{subs:capname}~节)就可以使用:
+% \begin{ctexexam}[labelref=exam:capname]
+% \ctexset{
+% abstractname = {本文概要},
+% bibname = {文\quad 献}
+% }
+% \end{ctexexam}
+%
+% \tn{ctexset} 采用 \LaTeXiii{} 风格的键值设置,支持不同类型的选项与层次化的选
+% 项设置,相关示例见 \ref{sec:secstyle}~节。
+%
+% \section{编译方式、编码与中文字库}
+% \label{sec:chinese}
+%
+% \subsection{编译方式}
+% \label{subs:compile}
+%
+% \CTeX{} 宏集会根据用户使用的编译方式\footnote{\LaTeX、\pdfLaTeX、\XeLaTeX、
+% \LuaLaTeX{} 及 \upLaTeX。},在底层选择不同的中文支持方式(见
+% 表~\ref{tab:chinese-support})。
+%
+% \begin{table}[htbp]
+% \centering
+% \begin{threeparttable}
+% \caption{\CTeX{} 宏集的中文支持方式}
+% \label{tab:chinese-support}
+% \begin{tabular}{*6c}
+% \toprule
+% 编译方式 & (pdf)\LaTeX & \XeLaTeX & \LuaLaTeX & \upLaTeX\tnote{*} \\
+% \midrule
+% 支持宏包 & \pkg{CJK} & \pkg{xeCJK} & \pkg{LuaTeX-ja} & 原生 \\
+% \bottomrule
+% \end{tabular}
+% \begin{tablenotes}
+% \item[*] p\LaTeX-ng(或称 \ApLaTeX)与 \upLaTeX{} 兼容。使用 p\LaTeX-ng 编译
+% 时,\pkg{ctex} 采用与 \upLaTeX{} 相同的设置。
+% \end{tablenotes}
+% \end{threeparttable}
+% \end{table}
+%
+% 不同的编译方式和中文支持方式会在一定程度上影响 \CTeX{} 宏集的行为,比如宏包对
+% 编码的处理。
+% 在用户使用 \XeLaTeX、\LuaLaTeX{} 及 \upLaTeX{} 编译时,\CTeX{} 宏集使用(且仅
+% 能使用)UTF-8 编码;而因为历史原因,在用户使用 \LaTeX{} 及 \pdfLaTeX{} 编译
+% 时,宏包默认使用 GBK 编码。用户需要\emph{保证编译方式、
+% 源文件编码、宏包编码选项三者一致}。
+% 关于宏包编码选项,可以参考 \ref{subs:encoding}~节。
+%
+% 除去文档编码之外,选择不同的编译方式还可能影响 \CTeX{} 宏集对字体选择、空格处理、
+% 标点处理的处理。具体的影响将在本文档后续内容中进行阐述。
+%
+% \subsection{中文编码}
+% \label{subs:encoding}
+%
+% \begin{function}[rEXP]{GBK, UTF8}
+% 指明编写文档时使用的编码格式。\CTeX{} 宏集无法检测用户编写文档时使用的编码格式,因此
+% 需要用户自行指定编码。\emph{我们建议用户总是使用 UTF-8 编码,并显式指定 \opt{UTF8}
+% 选项,并使用 \XeLaTeX、\LuaLaTeX{} 或 \upLaTeX{} 编译。}
+%
+% 使用 \XeLaTeX、\LuaLaTeX{} 或 \upLaTeX{} 编译时,\CTeX{} 宏集强制使用 UTF-8
+% 编码,此时 \opt{GBK} 选项无效。
+% 使用 (pdf)\LaTeX{} 编译时,\CTeX{} 宏集默认启用 \opt{GBK} 选项;不过,用户也可以
+% 显式声明 \opt{UTF8} 选项,使 \CTeX{} 宏集工作在 UTF-8 编码下。
+% \end{function}
+%
+% \subsection{中文字库}
+% \label{subs:options-CJK-font}
+%
+% 以往,为 \LaTeX{} 文档配置中文支持是一件相当繁琐的事情。默认情况下,
+% \CTeX{} 宏集能自动检测用户使用的编译方式(参见 \ref{subs:compile}~节)和
+% 操作系统\footnote{\CTeX{} 宏集现在能够识别 Mac~OS~X 系统以及 Windows 系统。},
+% 选择合适的底层支持和字库,从而简化配置过程。自动配置的情况参见
+% 表~\ref{tab:default-font-select}。
+%
+% \begin{table}[htbp]
+% \centering
+% \begin{threeparttable}
+% \caption{\CTeX{} 宏集自动配置字体策略}
+% \label{tab:default-font-select}
+% \begin{tabular}{*{5}{c}}
+% \toprule
+% & Mac OS X & Windows New\tnote{1} & Windows Old\tnote{2} &
+% 其他 \\
+% \midrule
+% \XeLaTeX{} & \makecell{\pkg{xeCJK}\\华文字库} &
+% \makecell{\pkg{xeCJK}\\中易字库 + 微软雅黑} & \makecell{\pkg{xeCJK}\\中易字库} &
+% \makecell{\pkg{xeCJK}\\Fandol 字库\tnote{3}} \\
+% \cmidrule(lr){1-5}
+% \LuaLaTeX{}\tnote{4} & \makecell{\pkg{LuaTeX-ja}\\华文字库} &
+% \makecell{\pkg{LuaTeX-ja}\\中易字库 + 微软雅黑} &
+% \makecell{\pkg{LuaTeX-ja}\\中易字库} &
+% \makecell{\pkg{LuaTeX-ja}\\Fandol 字库} \\
+% \cmidrule(lr){1-5}
+% \pdfLaTeX{} & 不可用\tnote{5} &
+% \makecell{\pkg{CJK} + \pkg{zhmetrics}\\中易字库 + 微软雅黑} &
+% \makecell{\pkg{CJK} + \pkg{zhmetrics}\\中易字库} & 不可用\tnote{5} \\
+% \cmidrule(lr){1-5}
+% \makecell{\LaTeX{} + \\\dvipdfmx{}} & 不可用\tnote{6} &
+% \makecell{\pkg{CJK} + \pkg{zhmetrics}\\中易字库 + 微软雅黑} &
+% \makecell{\pkg{CJK} + \pkg{zhmetrics}\\中易字库} &
+% \makecell{\pkg{CJK} + \pkg{zhmetrics}\\Fandol 字库} \\
+% \cmidrule(lr){1-5}
+% \makecell{\upLaTeX{} + \\\dvipdfmx{}} & 不可用\tnote{6} &
+% \makecell{\pkg{zhmetrics-uptex}\\中易字库 + 微软雅黑} &
+% \makecell{\pkg{zhmetrics-uptex}\\中易字库} &
+% \makecell{\pkg{zhmetrics-uptex}\\Fandol 字库} \\
+% \bottomrule
+% \end{tabular}
+% \begin{tablenotes}
+% \item [1] Windows Vista 及以后的 Windows 操作系统。
+% \item [2] Windows XP 及以前的 Windows 操作系统。
+% \item [3] 由马起园、苏杰、黄晨成等人开发的开源中文字体,
+% 参见:\url{https://github.com/clerkma/fandol-fonts}。
+% \item [4] \LuaLaTeX{} 编译时使用 \pkg{LuaTeX-ja} 宏包。对此,
+% 第 \ref{sec:lualatex-chinese}~节有特别说明。
+% \item [5] 受 \pdfTeX{} 的限制,无法嵌入 OpenType 字体。
+% \item [6] 目前受 \dvipdfmx{} 的限制,Mac OS X 系统上的黑体和仿宋无法读取。
+% \end{tablenotes}
+% \end{threeparttable}
+% \end{table}
+%
+% 通常,由 \CTeX{} 宏集进行的自动配置已经足够使用,无需用户手工干预;但
+% 是 \CTeX{} 仍然提供了一系列选项,供在 \CTeX{} 的自动选择机制因为
+% 意外情况失效,或者在用户有特殊需求的情况下使用。\emph{除非必要,用户不
+% 应使用这些选项。}
+%
+% \begin{function}[rEXP,updated=2014-03-08]{zhmap}
+% \begin{syntax}
+% zhmap = <\TTF|zhmCJK>
+% \end{syntax}
+% 指定字体映射机制。本选项只在使用 \pdfLaTeX/\LaTeX{} 编译时有意义。
+% \end{function}
+% \begin{optdesc}
+% \item[true] 使用 \pkg{zhmetrics} 宏包,将 CJK 字库通过 \tn{special}
+% 命令映射到 \file{.ttf} 文件。
+%
+% \item[false] 使用传统的 CJK 字库(Type 1)^^A
+% \footnote{如果需要使用自定义的字体映射文件,或者希望使用 Type1 字库,请禁用本选项。}。
+%
+% \item[zhmCJK] 载入 \pkg{zhmCJK} 宏包^^A
+% \footnote{\pkg{zhmCJK} 宏包基于 \pkg{zhmetrics} 和 \pkg{CJK} 宏包,提供与
+% \pkg{xeCJK} 宏包类似的用户接口。}^^A
+% ,由 \pkg{zhmCJK} 宏包提供从 CJK 字库到 \file{.ttf} 的映射。
+% \end{optdesc}
+%
+% \begin{function}[added=2014-03-08]{fontset}
+% \begin{syntax}
+% fontset =^^A
+% <none|adobe|fandol|founder|mac|macnew|macold|ubuntu|windows|windowsnew|windowsold|...>
+% \end{syntax}
+% 指定 \CTeX{} 宏集加载的字库。
+%
+% 如果没有指定 \opt{fontset} 的值,\CTeX{} 宏集将自动检测用户使用的操作系统,配置
+% 相应的字体(参见表~\ref{tab:default-font-select})。
+% \end{function}
+%
+% \CTeX{} 预定义了以下六种中文字库。
+%
+% \begin{optdesc}
+% \item[adobe] 使用 Adobe 公司的四款中文字体,\emph{不支持 \pdfLaTeX}。
+% \item[fandol] 使用 Fandol 中文字体,\emph{不支持 \pdfLaTeX}。
+% \item[founder] 使用方正公司的中文字体。
+% \item[mac] 使用 Mac OS X 系统下的字体,\emph{不支持 (pdf)\LaTeX}。
+% \item[macnew] 使用 El Capitan 或之后的多字重宋体、苹方黑体。
+% \item[macold] 使用 Yosemite 或之前的华文字库。
+% \item[ubuntu] 使用 Ubuntu 系统下的文泉驿和文鼎字体。
+% \item[windows] 使用简体中文 Windows 系统下的中文字体,自动判断 Windows 系
+% 统版本,采用 |windowsnew| 或 |windowsold| 的设置。
+% \item[windowsnew] 使用简体中文 Windows Vista 或之后系统下的中易字体和微软
+% 雅黑字体。
+% \item[windowsold] 使用简体中文 Windows XP 或之前系统下的中易字体。
+% \end{optdesc}
+%
+% 注意:使用 (pdf)\LaTeX{} 编译的时候,若设置 \opt{zhmap = false}(比如需要
+% 使用 \LaTeX{} + Dvips 编译),则需要按照传统方式^^A
+% \footnote{可以使用 \pkg{zhmetrics} 宏包提供的脚本
+% \href{https://github.com/CTeX-org/ctex-kit/blob/master/zhmetrics/CTeXFonts.lua}
+% {\file{CTeXFonts.lua}}。}^^A
+% 在本地安装好 CJK 字体。
+%
+% 如果不想使用 \CTeX{} 预定义的中文字库,可以设置 \opt{fontset} 为下述值之一。
+%
+% \begin{optdesc}
+% \item[none] 不配置中文字体,需要用户自己配置。
+% \item[\meta{name}] 这里 \meta{name} 为自定义的名字。
+% \CTeX{} 宏集将载入名为 |ctex-fontset-|\meta{name}|.def| 的文件作为字体配置
+% 文件。因此,请先保证文件的存在。可以在当前工作目录或者本地 \texttt{TDS} 目录
+% 树下合适位置建立一个名为 |ctex-fontset-|\meta{name}|.def| 的文件,在这个文件
+% 里面自定义中文字体。然后通过使用 |fontset=|\meta{name} 选项来调用它。字体配置
+% 文件的具体写法可以参考 \CTeX{} 宏集 \texttt{fontset} 目录下的字体配置文件。
+% \end{optdesc}
+%
+% 注意:\emph{如果希望使用 \tn{ctexset} 在导言区指定字库,则需要先在宏包/文档类选项中指定
+% \opt{fontset = none}}。例如:
+% \begin{ctexexam}
+% \documentclass[fontset = none]{ctexart}
+% \ctexset{fontset = founder}
+% \begin{document}
+% 在文档类选项中声明 \verb|fontset = none|,随后在导言区用 \verb|\ctexset|
+% 指定字体。
+% \end{document}
+% \end{ctexexam}
+%
+% \CTeX{} 宏集预定义的中文字库还定义了一些字体命令。除了在 \opt{ubuntu} 字库中没有
+% \tn{fangsong} 的定义外,所有字库都有以下四个字体命令。
+%
+% \begin{optdesc}
+% \item[\tn{songti}] 宋体,CJK 等价命令 |\CJKfamily{zhsong}|。
+% \item[\tn{heiti}] 黑体,CJK 等价命令 |\CJKfamily{zhhei}|。
+% \item[\tn{fangsong}] 仿宋,CJK 等价命令 |\CJKfamily{zhfs}|。
+% \item[\tn{kaishu}] 楷书,CJK 等价命令 |\CJKfamily{zhkai}|。
+% \end{optdesc}
+%
+% 在 \opt{windows} 和 \opt{founder} 字库中,额外定义了 \tn{lishu} 和 \tn{youyuan}。
+% \begin{optdesc}
+% \item[\tn{lishu}] 隶书,CJK 等价命令 |\CJKfamily{zhli}|。
+% \item[\tn{youyuan}] 圆体,CJK 等价命令 |\CJKfamily{zhyou}|。
+% \end{optdesc}
+% 在 \opt{windowsnew} 和 \opt{macnew} 字库中,还有 \tn{yahei}。
+% 其中在 \opt{macnew} 字库中,\tn{yahei} 实际调用苹方黑体。此举乃是为了更好的兼容性而设。
+% \begin{optdesc}
+% \item[\tn{yahei}] 微软雅黑,CJK 等价命令 |\CJKfamily{zhyahei}|。
+% \end{optdesc}
+%
+% 在 \opt{macnew} 字库中,还定义了 \tn{pingfang}。
+% \begin{optdesc}
+% \item[\tn{pingfang}] 苹方黑体,CJK 等价命令 |\CJKfamily{zhpf}|。
+% \end{optdesc}
+%
+% \section{排版格式设定}
+% \label{sec:format-settings}
+% \subsection{文档默认字号}
+% \label{subs:options-class}
+%
+% \begin{function}[rEXP,added=2015-05-06]{zihao}
+% \begin{syntax}
+% zihao = <-4|5|false>
+% \end{syntax}
+% 将文章默认字号(\tn{normalsize})设置为小四号字或五号字,
+% 具体情况见表 \ref{tab:fontsize}。\opt{false} 禁用本功能。
+% 本选项可以用于四个 \CTeX{} 文档类和 \pkg{ctex} 宏包,
+% 也可以用于 \pkg{ctexsize} 宏包。
+%
+% \opt{scheme = chinese} 时,对标准文档类默认值为 |5|,即设置
+% \tn{normalsize} 为五号字;对 \cls{beamer} 则为 |false|,使用文档类原有的设
+% 置。
+% \end{function}
+%
+% \begin{table}[htbp]
+% \centering
+% \setlength\tabcolsep{1em}
+% \caption{标准字体命令与字号的对应}\label{tab:fontsize}
+% \begin{tabular}{l*2{c>{\ttfamily}r}*3{>{\ttfamily}c}}
+% \toprule
+% & \multicolumn2c{|zihao = 5|} & \multicolumn2c{|zihao = -4|} &
+% \multicolumn1c{|10pt|} & \multicolumn1c{|11pt|} & \multicolumn1c{|12pt|} \\
+% \cmidrule(lr){2-3} \cmidrule(lr){4-5}
+% \cmidrule(lr){6-6} \cmidrule(lr){7-7} \cmidrule(lr){8-8}
+% 字体命令 & 字号 & \si{bp} & 字号 & \si{bp}
+% & \si{pt} & \si{pt} & \si{pt} \\
+% \midrule
+% |\tiny| & 七号 & 5.5 & 小六 & 6.5 & ~5 & ~6 & ~6 \\
+% |\scriptsize| & 小六 & 6.5 & 六号 & 7.5 & ~7 & ~8 & ~8 \\
+% |\footnotesize| & 六号 & 7.5 & 小五 & 9~~ & ~8 & ~9 & 10 \\
+% |\small| & 小五 & 9~~ & 五号 & 10.5 & ~9 & 10 & 11 \\
+% |\normalsize| & 五号 & 10.5 & 小四 & 12~~ & 10 & 11 & 12 \\
+% |\large| & 小四 & 12~~ & 小三 & 15~~ & 12 & 12 & 14 \\
+% |\Large| & 小三 & 15~~ & 小二 & 18~~ & 14 & 14 & 17 \\
+% |\LARGE| & 小二 & 18~~ & 二号 & 22~~ & 17 & 17 & 20 \\
+% |\huge| & 二号 & 22~~ & 小一 & 24~~ & 20 & 20 & 25 \\
+% |\Huge| & 一号 & 26~~ & 一号 & 26~~ & 25 & 25 & 25 \\
+% \bottomrule
+% \end{tabular}
+%\end{table}
+%
+% \begin{function}[rEXP]{10pt, 11pt, 12pt}
+% \CTeX{} 文档类是在 \LaTeX{} 标准文档类之上开发的。因此,除了可以使用 \CTeX{}
+% 宏包定义的字号选项之外,还可以使用标准文档类的同类选项(\opt{10pt}、\opt{11pt}
+% 和 \opt{12pt})。在使用这些来自标准文档类的选项的时候,\CTeX{} 文档类的字号
+% 选项会被抑制。亦即,在 \opt{zihao} 选项之后设置 \opt{10pt} 选项,
+% \opt{zihao} 选项将不再起作用。
+% \end{function}
+%
+% 标准文档类的其他选项在 \CTeX{} 文档类中依旧有效。例如,设置纸张大小和方向的
+% \opt{a4paper} 和 \opt{landscape},设置单双面的 \opt{oneside} 和
+% \opt{twoside} 等。\CTeX{} 会将这些选项传给标准文档类^^A
+% \footnote{事实上,\LaTeX{} 在文档类中的选项是全局设定的,除了对使用的文档类有
+% 影响外,也可能会影响到随后使用的宏包。如果这些宏包中有某些选项出现在文档类的
+% 选项列表中,那么该选项将会被自动激活。}。
+%
+% \subsection{章节标题风格}
+% \label{subs:options-heading}
+%
+% \begin{function}[rEXP,added=2014-03-08]{heading}
+% \begin{syntax}
+% heading = <\TFF>
+% \end{syntax}
+% 本选项只能在调用 \pkg{ctex.sty} 时作为宏包选项使用。
+%
+% \CTeX{} 宏集提供了一套用于修改文档章节标题格式的接口。该选项用于选择是否
+% 启用该功能。详细的设置方法请参见
+% \ref{sec:secstyle}~节和 \ref{subs:pagestyle}~节。
+% \end{function}
+%
+% \CTeX{} 宏集提供的四个文档类总是启用该功能。如果在 \pkg{ctex.sty} 下启用该选项,
+% 将会检查当前是否使用 \LaTeX{} 标准文档类。
+% 若然,则该选项将会使得 \pkg{ctex.sty} 宏包的行为和 \CTeX{} 宏集提供的
+% 四个中文文档类\emph{完全}一致;若不然,则会根据 \tn{chapter}
+% 是否有定义来使用 \cls{ctexbook} 或者 \cls{ctexart} 的标题设置。
+%
+% \begin{function}[rEXP]{sub3section, sub4section}
+% 修改 \tn{paragraph} 和 \tn{subparagraph} 的格式。
+%
+% 默认情况下,\tn{paragraph} 和 \tn{subparagraph} 会将标题与随后的正文
+% 排版在同一个段落。启用 \opt{sub3section} 会将 \tn{paragraph} 的格式修改为
+% 类似 \tn{section} 的格式,并将 \tn{subparagraph} 的格式修改为原本 \tn{paragraph}
+% 的格式。启用 \opt{sub4section} 会将 \tn{paragraph} 和 \tn{subparagraph} 的格式
+% 都修改为类似 \tn{section} 的格式。
+%
+% 启用该选项通常需要将计数器 |secnumdepth| 的值为设置为 4 或 5。
+%
+% 具体格式可参考 \ref{sec:secstyle}~节中的 \opt{runin} 和 \opt{afterskip} 选项。
+%
+% 注意,上述两个选项只有在非 \cls{beamer} 文档类下 \opt{heading} 选项启用的时候
+% 才有意义。亦即,只有在使用除了 \cls{ctexbeamer} 的三个 \CTeX{} 文档类或启用了
+% \opt{heading} 的 \pkg{ctex.sty} 的时候才有意义。
+% \end{function}
+%
+% \subsection{排版方案选项}
+% \label{subs:options-type-style}
+%
+% \begin{function}[rEXP,added=2015-04-15]{scheme}
+% \begin{syntax}
+% scheme = <(chinese)|plain>
+% \end{syntax}
+% 选择文章的排版方案,预设有 \opt{chinese} 和 \opt{plain} 两种方案。%
+% \end{function}
+% \begin{optdesc}[itemsep=\medskipamount]
+% \item[chinese] 对 \cls{beamer} 以外的文档类,调整默认字号为五号字,并调
+% 整行距为 |1.3|;汉化文档中的标题名字(如“图”、“表”、“目录”和“参
+% 考文献”等,见 \ref{subs:capname}~节);
+% 在 \opt{heading = true} 的情况下^^A
+% \footnote{使用 \CTeX{} 文档类,或者使用 \pkg{ctex} 宏包且开启该选项时。}^^A
+% (\ref{subs:options-heading}~节),还会将章节标题的风格修改为
+% 中文样式(见 \ref{sec:secstyle}~节)。
+%
+% 当关闭 \opt{heading} 选项的 \pkg{ctex} 宏包与标准文档类或其衍生文档类
+% 联用时,会载入 \pkg{indentfirst} 宏包,以实现章节标题后的段首缩进。
+% \item[plain] 不调整默认字号和行距,不会汉化文档中的标题名字,也不会将章节
+% 标题风格修改为中文样式,同时不会调整 \tn{pagestyle},并禁用 \opt{autoindent}
+% 选项。事实上,此时的 \CTeX{} 宏集只提供了中文支持功能,而不对文章版式进行任何修改。
+% \end{optdesc}
+%
+% \begin{function}[updated=2014-04-11]{punct}
+% \begin{syntax}
+% punct = <(quanjiao)|banjiao|kaiming|CCT|plain>
+% \end{syntax}
+% 设置标点处理格式。预定义好的格式有:
+% \end{function}
+% \begin{optdesc}
+% \item[quanjiao] 全角式:所有标点占一个汉字宽度,相邻两个标点占 1.5 汉字宽度;
+% \item[banjiao] 半角式:所有标点占半个汉字宽度;
+% \item[kaiming] 开明式:句末点号^^A
+% \footnote{标点符号分为标号与点号。点号分为两类,一共七种:句末点号有^^A
+% 句号、问号和叹号;句内点号有逗号、顿号、冒号和分号。}用占一个汉字宽度,标^^A
+% 号和句内点号占半个汉字宽度;
+% \item[CCT] CCT 式:所有标点符号的宽度略小于一个汉字宽度;
+% \item[plain] 原样(不调整标点间距)。
+% \end{optdesc}
+%
+% \begin{function}[updated=2014-03-08]{space}
+% \begin{syntax}
+% space = <\TF|(auto)>
+% \end{syntax}
+% 是否在生成的 PDF 中保留汉字后面的空格。
+% \end{function}
+%
+% \begin{optdesc}
+% \item[true] 总是保留汉字后的空格。此时,用户需要自行在行尾加上~|%|~处理换行产生
+% 的空格\footnote{\LaTeX{} 将单个换行视作一个空格。}。
+% \item[false] 总是忽略掉汉字后面的空格,不论汉字后是什么(使用 (pdf)\LaTeX{}
+% 编译时);等同于 \opt{auto} 的效果(使用 \XeLaTeX{} 编译时)。不建议使用该选项。
+% \item[auto] 根据空格后面的情况决定是否保留:如果空格后面是汉字,则忽略该
+% 空格,否则保留。
+% \end{optdesc}
+%
+% 例如,使用
+% \begin{ctexexam}
+% \ctexset{space=true}
+% 汉字 分词
+% 技术 English
+% \end{ctexexam}
+% 将得到“{\ctexset{space=true}汉字 分词 技术 English}”;使用
+% \begin{ctexexam}
+% \ctexset{space=auto}
+% 汉字 分词
+% 技术 English
+% \end{ctexexam}
+% 则会得到“{\ctexset{space=auto}汉字 分词 技术 English}”。
+%
+% \emph{使用 \textup{\LuaLaTeX{} 及 \upLaTeX} 编译的时候,该选项无效:汉字间的
+% 空格以及汉字与西文字符之间的空格总是有效,不会被忽略,但可以自动忽略掉由换行
+% 产生的空格。}
+%
+% \begin{function}[rEXP,added=2014-04-23]{linespread}
+% \begin{syntax}
+% linespread = <数值>
+% \end{syntax}
+% 接受一个浮点数值,设置行距倍数。本选项的初始值与 \opt{scheme} 有关。
+% \end{function}
+% \begin{optdesc}
+% \item[scheme = chinese] 对标准文档类初始值为 $1.3$,即 $1.3$ 倍行距。此
+% 时,相邻两行的基线(\tn{baselineskip})距离为 $1.3\times 1.2=1.56$ 倍字体
+% 高度。对 \cls{beamer} 不改变行距,即使用默认的单倍行距。
+%
+% \item[scheme = plain] \CTeX{} 宏集默认不调整行距倍数,文档中的行距由所选文档类和
+% 其他宏包或用户设置决定。
+% \end{optdesc}
+%
+% \begin{function}[added=2014-03-13]{autoindent}
+% \begin{syntax}
+% autoindent = <\TTF|数值|带单位的数值>
+% \end{syntax}
+% 在字体大小发生变化时,是否自动调整段首缩进(\tn{parindent})的大小。
+% \end{function}
+% \begin{optdesc}
+% \item[\meta{数值或带单位的数值}] 用于设置段首缩进的长度。如果不带单位,则默认
+% 单位是单个汉字字宽 \tn{ccwd};如果带单位,则使用该单位。
+%
+% \item[true] 等价于设置 \opt{autoindent = 2}。
+%
+% \item[false] 禁用自动调整功能,可以设置固定长度的段首缩进。如设置每段缩进 40 点:
+% \begin{ctexexam}
+% \ctexset{autoindent=false}
+% \setlength\parindent{40pt}
+% \end{ctexexam}
+% \end{optdesc}
+%
+% \begin{function}[EXP,added=2014-03-26]{linestretch}
+% \begin{syntax}
+% linestretch = <数值或长度>
+% \end{syntax}
+% \opt{linestretch} 是一个比较特殊的选项,它用来设置汉字之间弹性间距的弹性程
+% 度。如果有单位,则可以在选项中直接写;如果是数字,单位则是汉字宽度
+% \tn{ccwd} 的倍数。
+% \end{function}
+%
+% 如果行宽不是汉字宽度的整数倍,为了让段落左右两端对齐,自然就要求伸展汉字之
+% 间的间距,而 \opt{linestretch} 选项就是设置每行总的允许伸行量。初始值是允
+% 许每行伸行一个汉字的宽度 \tn{ccwd},并且此宽度能根据字号变化动态调整。
+%
+% 过小的 \opt{linestretch} 可能导致段落文字右侧可能参差不齐;较大的
+% \opt{linestretch} 选项则可以帮助拥有较长不可断行内容的复杂段落方便地断行,
+% 而不会产生大量编译警告;但很大的 \opt{linestretch} 则会掩盖段落不良断行产
+% 生的坏盒子警告。
+%
+% 如果将 \opt{linestretch} 选项的值设置为 \tn{maxdimen},则可以禁止按字号自
+% 动修改每行的允许伸长量。此时汉字间的弹性间距则固定为 \tn{baselineskip} 的
+% $0.08$ 倍。
+%
+% \section{文档汉化}
+% \label{sec:chinese-localization}
+% \subsection{日期汉化}
+%
+% \CTeX 宏包对显示当前日期的 \tn{today} 命令进行了汉化,使之以中文的方式显示今
+% 天的日期。如编译本文档的日期就是“\today”。
+%
+% \begin{function}[EXP]{today}
+% \begin{syntax}
+% today = <(small)|big|old>
+% \end{syntax}
+% 该选项用来控制 \tn{today} 命令的输出格式:
+% \begin{optdesc}
+% \item[small] \ctexset{today=small}
+% 效果为“\today”。使用阿拉伯数字和汉字的日期格式。
+% \item[big] \ctexset{today=big}
+% 效果为“\today”。使用全汉字的日期格式。
+% \item[old] \ctexset{today=old}
+% 效果为“\today”。使用文档原来的(英文)日期格式。
+% \end{optdesc}
+% \end{function}
+%
+% 设置日期格式使用 \tn{ctexset} 命令完成,例如设置全汉字的日期格式:
+% \begin{ctexexam}
+% \ctexset{today=big}
+% \end{ctexexam}
+%
+% \CTeX 宏包的中文日期功能实际上是调用 \pkg{zhnumber} 宏包完成的。如果需要更
+% 多有关日期、时间的命令和更复杂的设置,可以查阅 \pkg{zhnumber} 宏包的文档。
+%
+% \subsection{文档标题汉化}
+% \label{subs:capname}
+%
+% 这里主要介绍由宏包 \opt{scheme} 选项(\ref{subs:options-type-style}~节)控制
+% 的文档标题汉化功能。
+%
+% 设置文档标题名的示例可见例~\ref{exam:capname}。下面的选项(如
+% \opt{contentsname})主要用来重新定义与选项同名的宏(如 \tn{contentsname})的
+% 定义。
+%
+% \begin{defaultcapconfig}
+%
+% \begin{function}[EXP]{contentsname}
+% \begin{syntax}
+% contentsname = <名字>
+% \end{syntax}
+% 设置目录标题名 \tn{contentsname}。中文默认为“\contentsname”。
+% \end{function}
+%
+% \begin{function}[EXP]{listfigurename}
+% \begin{syntax}
+% listfigurename = <名字>
+% \end{syntax}
+% 设置插图目录标题名 \tn{listfigurename}。中文默认为“\listfigurename”。
+% \end{function}
+%
+% \begin{function}[EXP]{listtablename}
+% \begin{syntax}
+% listtablename = <名字>
+% \end{syntax}
+% 设置表格目录标题名 \tn{listtablename}。中文默认为“\listtablename”。
+% \end{function}
+%
+% \begin{function}[EXP]{figurename}
+% \begin{syntax}
+% figurename = <名字>
+% \end{syntax}
+% 设置图片环境标题名 \tn{figurename}。中文默认为“\figurename”。
+% \end{function}
+%
+% \begin{function}[EXP]{tablename}
+% \begin{syntax}
+% tablename = <名字>
+% \end{syntax}
+% 设置表格环境标题名 \tn{tablename}。中文默认为“\tablename”。
+% \end{function}
+%
+% \begin{function}[EXP]{abstractname}
+% \begin{syntax}
+% abstractname = <名字>
+% \end{syntax}
+% 设置摘要 \env{abstract} 环境标题名 \tn{abstractname}。中文默认
+% 为“\abstractname”。注意 \cls{book} 类没有摘要,该选项无效。
+% \end{function}
+%
+% \begin{function}[EXP]{indexname}
+% \begin{syntax}
+% indexname = <名字>
+% \end{syntax}
+% 设置索引标题名 \tn{indexname}。中文默认为“\indexname”。
+% \end{function}
+%
+% \begin{function}[EXP]{appendixname}
+% \begin{syntax}
+% appendixname = <名字>
+% \end{syntax}
+% 设置附录标题名 \tn{appendixname}。中文默认为“\appendixname”。
+% \end{function}
+%
+% \begin{function}[EXP]{bibname}
+% \begin{syntax}
+% bibname = <名字>
+% \end{syntax}
+% 设置参考文献标题名 \tn{refname}(对 \cls{article})或 \tn{bibname}(对
+% \cls{report}、\cls{book} 和 \cls{beamer})。中文默认为“\refname”。
+% \end{function}
+%
+% \begin{function}[EXP]{proofname}
+% \begin{syntax}
+% proofname = <名字>
+% \end{syntax}
+% 设置证明环境的名称 \tn{proofname}。中文默认为“\proofname”。
+% \end{function}
+%
+% 如果使用 \cls{ctexbeamer} 文档类或者在 \cls{beamer} 文档类下使用 \pkg{ctex} 包,
+% 还会汉化常用定理类环境的诸如“定义”、“定理”和“引理”等名称。此时,还有下列
+% 三个选项。
+%
+% \begin{function}[EXP]{refname}
+% \begin{syntax}
+% refname = <名字>
+% \end{syntax}
+% 设置参考文献标题名 \tn{refname}。中文默认为“\refname”。
+% \end{function}
+%
+% \begin{function}[EXP]{algorithmname}
+% \begin{syntax}
+% algorithmname = <名字>
+% \end{syntax}
+% 设置算法环境标题名 \tn{algorithmname}。中文默认为“算法”。
+% \end{function}
+%
+% \begin{function}[EXP]{continuation}
+% \begin{syntax}
+% continuation = <名字>
+% \end{syntax}
+% 设置 \cls{beamer} 可断页的帧在续页标题中的延续标识 \tn{insertcontinuationtext}。
+% 中文默认为“(续)”。
+% \end{function}
+%
+% \end{defaultcapconfig}
+%
+% \subsection{页面格式设置与汉化}
+% \label{subs:pagestyle}
+%
+% 当使用了 \CTeX 的文档类或是用 \pkg{ctex} 宏包加载了 \opt{heading} 选项时,会
+% 设置整个文档的页面格式(page style)为 |headings|,即相当于设置了
+% \begin{frameverb}
+% \pagestyle{headings}
+% \end{frameverb}
+% 在页眉中显示当前章节的编号与标题。
+%
+% 同时,\CTeX 宏包也会对默认的 |headings| 页面格式进行修改,使之调用
+% \tn{CTEXthechapter}、\tn{CTEXthesection} 等宏来正确显示中文的章节编号。
+%
+% \CTeX 宏包的默认页面格式设置是经过汉化的 |headings|,其基本效果如本文档所
+% 示,只在页眉一侧显示章节编号和标题,另一侧显示页码。
+%
+% 更复杂的页面格式可以通过调用 \pkg{fancyhdr}、\pkg{titleps} 等宏包来设
+% 置。\CTeX 宏包同时也为这些自定义页面格式
+% 的包提供了以下宏供使用:
+% \begin{itemize}
+% \item \tn{CTEXthechapter}、\tn{CTEXthesection} 等章节编号(见
+% \ref{sec:secstyle} 节)。它们用来代替英文文档类中的
+% \tn{thechapter}、\tn{thesection} 等宏。
+%
+% \item \tn{leftmark}、\tn{rightmark},它们是在使用章节标题命令后,自动设置的
+% 宏。它们实际是在与章节标题命令对应的标记命令
+% \tn{chaptermark}、\tn{sectionmark} 中调用 \tn{markright} 或 \tn{markboth} 生
+% 成的。
+% \end{itemize}
+% 有关 \LaTeX 页面标记的涵义与使用细节,已经超出了本文档讨论的范围。可以参考
+% \cite[Chapter~23]{knuthtex1986}、\cite[\S4.3, \S4.4]{mittelbach2004} 等书籍。
+%
+% 这里举一个例子,说明通过重定义 \tn{sectionmark},在 \cls{ctexart} 文档类中的
+% 标准 |headings| 页面格式下控制页眉的方式:
+% \begin{ctexexam}
+% \documentclass{ctexart}
+% \pagestyle{headings}
+% \ctexset{section={
+% name={第,节},
+% number=\arabic{section},
+% }
+% }
+% \renewcommand\sectionmark[1]{%
+% \markright{\CTEXifname{\CTEXthesection——}{}#1}}
+%
+% \begin{document}
+%
+% \section{天地玄黄}
+% \newpage
+%
+% \section{宇宙洪荒}
+%
+% \end{document}
+% \end{ctexexam}
+% 在上例中,我们设置了页眉的形式是用破折号分开的节编号与节标题,即“第 1 节
+% ——天地玄黄”、“第 2 节——宇宙洪荒”。
+%
+% \CTeX 宏包已经对 \pkg{fancyhdr} 宏包进行了补丁,载入 \pkg{fancyhdr} 后,其
+% |fancy| 页面格式将使用 \tn{CTEXthechapter} 等宏显示中文章节编号。
+%
+% 关于 \pkg{fancyhdr} 的具体用法可以参见其宏包手册。通常也只要像在标准的英文文
+% 档类中使用 \pkg{fancyhdr} 一样定义页眉页脚格式即可,并不需要额外的定义。
+%
+% 下面我则给出一个与前例类似而稍复杂的例子,展示如何在文档中设置页眉内容与页眉
+% 的格式。
+% \begin{ctexexam}
+% \documentclass{ctexart}
+% \ctexset{section={
+% name={第,节},
+% number=\arabic{section},
+% }
+% }
+% \usepackage{fancyhdr}
+% \fancyhf{}
+% \lhead{\textnormal{\kaishu\rightmark}}
+% \rhead{--\ \thepage\ --}
+% \pagestyle{fancy}
+% % \sectionmark 的重定义需要在 \pagestyle 之后生效
+% \renewcommand\sectionmark[1]{%
+% \markright{\CTEXifname{\CTEXthesection——}{}#1}}
+%
+% \begin{document}
+%
+% \section{天地玄黄}
+% \newpage
+%
+% \section{宇宙洪荒}
+%
+% \end{document}
+% \end{ctexexam}
+% 本例的页眉效果大致如下(有页眉线):
+% \begin{trivlist}\item
+% \textnormal{\kaishu 第 1 节——天地玄黄}\hfill -- 1 --\par
+% \smallskip\hrule
+% \end{trivlist}
+%
+% \section{章节标题格式设置}
+% \label{sec:secstyle}
+%
+% \CTeX 宏包对 \LaTeX 的标准文档类(\cls{article}、\cls{report} 和
+% \cls{book})和 \cls{beamer} 进行了扩充。当以 \opt{heading} 选项调用 \CTeX
+% 宏包时(\ref{subs:options-heading}~节),则会启用章
+% 节标题的格式设置功能。本节就来介绍有关章节标题的格式选项,所有选项使用
+% \tn{ctexset} 命令设置。
+%
+% 第 \ref{subs:pagestyle} 节和本节介绍的功能已经被提取到 \pkg{ctexheading}
+% 宏包之中,可以在 \pkg{ctex} 宏包和 \cls{ctexart} 等文档类之外独立使用。
+% 各选项的默认值与 \opt{scheme = plain} 时的情形相同。
+%
+% \changes{v2.0}{2015/03/21}{\tn{CTEXsetup}, \tn{CTEXoptions} 是过时命令。}
+% 章节标题的格式选项是分层设置的。顶层的选项是章节标题名称,次一级的选项是章节
+% 标题的格式。章节标题名包括 |part|, |chapter|, |section|, |subsection|,
+% |subsubsection|, |paragraph|, |subparagraph|;而可用的格式包括 \opt{numbering},
+% \opt{name}, \opt{number}, \opt{format}, \opt{nameformat}, \opt{numberformat},
+% \opt{aftername}, \opt{titleformat}, \opt{aftertitle}, \opt{runin},
+% \opt{afterindent}, \opt{beforeskip}, \opt{afterskip}, \opt{fixskip},
+% \opt{lotskip}, \opt{lofskip}, \opt{indent}, \opt{hang},
+% \opt{pagestyle}, \opt{break}, \opt{tocline} 等。
+%
+% 注意,对 \cls{article} 及其衍生的 \cls{ctexart} 等文档类,没有 |chapter|
+% 级别的标题。而对于 \cls{beamer} 文档类,这些选项控制的是由 \tn{partpage},
+% \tn{sectionpage} 和 \tn{subsectionpage} 产生的标题格式,此时只有 |part|,
+% |section| 和 |subsection| 这三层级别,并且 \opt{runin}, \opt{afterindent},
+% \opt{fixskip}, \opt{hang}, \opt{break} 和 \opt{tocline} 这六个格式无效。
+%
+% 多级选项之间用斜线分开,例如,\opt{part/name} 选项设置 \tn{part} 标题的在数
+% 字前后的名称,而 \opt{section/number} 选项设置 \tn{section} 标题的数字类型。
+% 注意,斜线 |/| 前后不能有空格或者换行。
+%
+% 使用 \tn{ctexset} 设置多级选项时,可以在同一个上级选项下设置多个下级选项。
+%
+% 例如,同时设置 |part| 一级标题的 \opt{pagestyle} 选项,|chapter| 一级标题的
+% \opt{format} 与 \opt{pagestyle} 选项和 |section| 一级标题的 \opt{name} 与
+% \opt{number} 选项:
+% \begin{ctexexam}
+% \ctexset {
+% part/pagestyle = empty,
+% chapter = {
+% format = \raggedright,
+% pagestyle = empty,
+% },
+% section = {
+% name = {第,节},
+% number = \chinese{section},
+% }
+% }
+% \end{ctexexam}
+%
+% \begin{function}[EXP,added=2015-06-21]{part/numbering, chapter/numbering,
+% section/numbering, subsection/numbering, subsubsection/numbering,
+% paragraph/numbering, subparagraph/numbering}
+% \begin{syntax}
+% numbering = \TTF
+% \end{syntax}
+% 控制是否对章节标题编号。对各级标题的默认值均为 \opt{true}。
+%
+% 我们知道,\LaTeX{} 带星号的章节标题命令(如 \tn{section*})不会对标题编号,
+% 但也不会将该没编号的标题编入目录中。本选项控制的是不带星号的标题命令是否编号。
+% 设置本选项为 \opt{false},除了不对标题编号以外,功能与正常标题一致,
+% 比如可以编目录,正确的 \pkg{hyperref} 目录超链接位置和页眉标记。
+%
+% 注意,章节标题的编号深度受 \LaTeX{} 计数器 |secnumdepth| 的控制。
+% \opt{numbering} 选项在 |secnumdepth| 的控制下起作用。
+% \end{function}
+%
+% 如果没有特别说明,以下将用 “|...|” 代表各级章节标题名。
+%
+% \begin{function}[EXP,updated=2014-03-08]{.../name}
+% \begin{syntax}
+% name = \{<前名字>,<后名字>\}
+% name = \Arg{前名字}
+% \end{syntax}
+% 设置章节的名字。名字可以分为前后两部分,即章节编号前后的词语,两个词之间用
+% 一个半角逗号分开;也可以只有一部分,表示只有章节编号之前的名字。例如:
+% \begin{ctexexam}
+% \ctexset{
+% chapter/name = {第,章},
+% section/name = {\S},
+% }
+% \end{ctexexam}
+% 会使得 \tn{chapter} 标题使用形如“第一章”的名字,而 \tn{section} 标题则使
+% 用形如“\S1”的名字。
+% \end{function}
+%
+% \begin{table}[htbp]
+% \small\centering
+% \caption{\opt{name} 选项的默认设置}
+% \begin{tabular}{llll}
+% \toprule
+% 标题名 & \opt{scheme = chinese} & \opt{scheme = plain} & 注 \\
+% \midrule
+% part & |{第,部分}| & |{\partname\space}| & 原 \tn{partname} 为 Part \\
+% chapter & |{第,章}| & |{\chaptername\space}|
+% & 原 \tn{chaptername} 为 Chapter \\
+% section (beamer) & |{}| & |{\sectionname\space}|
+% & \BSTACK 原 \tn{sectionname} 为\\ |\translate{Section}| \ESTACK \\
+% section & 同右 & |{}| & \\
+% subsection (beamer) & |{}| & |{\subsectionname\space}|
+% & \BSTACK 原 \tn{subsectionname} 为\\ |\translate{Subsection}| \ESTACK \\
+% subsection & 同右 & |{}| & \\
+% subsubsection & 同右 & |{}| & \\
+% paragraph & 同右 & |{}| & \\
+% subparagraph & 同右 & |{}| & \\
+% \bottomrule
+% \end{tabular}
+% \end{table}
+%
+% \begin{function}[EXP]{.../number}
+% \begin{syntax}
+% number = \Arg{数字输出命令}
+% \end{syntax}
+% 设置章节编号的数字输出格式。\meta{数字输出命令} 通常是对应章节编号计数器的
+% 输出命令,如 \tn{thesection} 或 |\chinese{chapter}| 之类。
+% \begin{ctexexam}
+% \ctexset{
+% section/number = \Roman{section}
+% }
+% \end{ctexexam}
+% \end{function}
+%
+% \opt{number} 选项的定义同时将控制对章节计数器的交叉引用。在引用计数器时,
+% 记录在 \LaTeX{} 辅助文件中的是 \opt{number} 选项的定义。
+%
+% 但是,\opt{number} 选项不会影响计数器本身的输出。即设置 |section/number|
+% 不会影响 \tn{thesection} 的定义。(但该选项会影响 \tn{CTEXthesection} 的定
+% 义,见后。)
+%
+% \begin{table}[htbp]
+% \small\centering
+% \caption{\opt{number} 选项的默认设置}
+% \setlength\leftskip{0pt plus 1 fil minus \marginparwidth}
+% \begin{tabular}{llll}
+% \toprule
+% 标题名 & \opt{scheme = chinese} & \opt{scheme = plain}
+% & 原 |\the|\meta{标题} 等价定义 \\
+% \midrule
+% part (beamer) & |\chinese{part}| & |\insertromanpartnumber| & 意义为 |\Roman{part}| \\
+% part & |\chinese{part}| & |\thepart| & |\Roman{part}| \\
+% chapter & |\chinese{chapter}| & |\thechapter| & |\arabic{chapter}| \\
+% section (beamer) & 同右 & |\insertsectionnumber| & 意义为 |\arabic{section}| \\
+% section & 同右 & |\thesection| & |\arabic{section}| \\
+% subsection (beamer)
+% & \BSTACK |\arabic{section}.|\\ |\arabic{subsection}| \ESTACK
+% & |\insertsubsectionnumber| & 意义为 |\arabic{subsection}| \\
+% subsection & 同右 & |\thesubsection| & |\thesection.\arabic{subsection}| \\
+% subsubsection & 同右 & |\thesubsubsection|
+% & |\thesubsection.\arabic{subsubsection}| \\
+% paragraph & 同右 & |\theparagraph|
+% & |\thesubsubsection.\arabic{paragraph}| \\
+% subparagraph & 同右 & |\thesubparagraph|
+% & |\theparagraph.\arabic{subparagraph}| \\
+% \bottomrule
+% \end{tabular}
+% \end{table}
+%
+% \begin{function}{\CTEXthepart, \CTEXthechapter, \CTEXthesection,
+% \CTEXthesubsection, \CTEXthesubsubsection, \CTEXtheparagraph,
+% \CTEXthesubparagraph}
+% 以 |\CTEXthe| 开头的这组宏给出结合了 \opt{name} 与 \opt{number} 选项的章节
+% 编号输出格式。例如在 \opt{scheme = chinese} 时,默认章编号输出格式就是
+% \tn{CTEXthechapter},形如“第一章”。
+%
+% 这组宏在 \CTeX 文档类中将代替 \tn{thechapter} 等宏的作用,在章节中引用本章
+% 节的完整编号。例如用于帮助定义自定义的目录格式、页眉格式等。
+% \end{function}
+%
+% \begin{function}[added=2016-09-18]{\CTEXifname}
+% \begin{syntax}
+% \tn{CTEXifname} \Arg{有名字时的格式命令} \Arg{无名字时的格式命令}
+% \end{syntax}
+% \tn{CTEXifname} 用于根据当前章节的名字的有无设置不同的格式。
+%
+% 它可用于 \opt{format}, \opt{titleformat}, \opt{aftertitle}, \opt{afterskip},
+% \opt{indent} 这五个选项和 \tn{chapter} 标题 \opt{beforeskip} 选项的格式设置之中。
+% 也可用于帮助定义自定义的目录格式、页眉格式等。
+%
+% 例如,设置章的标题有名字时左对齐,无名字时居中对齐,并且在标题后画一条横线。
+% \begin{ctexexam}
+% \ctexset{
+% chapter/format = \CTEXifname{\raggedright}{\centering},
+% chapter/aftertitle = \par\CTEXifname{}{\hrule},
+% }
+% \end{ctexexam}
+% \end{function}
+%
+% \begin{function}[EXP,updated=2015-06-30]{.../format, .../format+}
+% \begin{syntax}
+% format = \Arg{格式命令}
+% format+= \Arg{格式命令}
+% \end{syntax}
+% \opt{format} 选项用于控制章节标题的全局格式,作用域为章节名字和随后的标题
+% 内容。可以用于控制章节标题的对齐方式、整体字体字号等格式。
+%
+% 带加号的 \opt{format+} 选项则用于在已有格式之后追加新的格式命令。
+%
+% 例如,设置章格式为无衬线字体左对齐,为节格式增加无衬线字体设置:
+% \begin{ctexexam}
+% \ctexset{
+% chapter/format = \sffamily\raggedright,
+% section/format += \sffamily
+% }
+% \end{ctexexam}
+% \end{function}
+%
+% \begin{table}[htbp]
+% \small\centering
+% \caption{\opt{format} 选项的默认设置}
+% \begin{tabular}{lll}
+% \toprule
+% 标题名 & \opt{scheme = chinese} & \opt{scheme = plain} \\
+% \midrule
+% part (article) & |\Large\bfseries\centering| & |\raggedright| \\
+% part (beamer) & 同右 & |\centering| \\
+% part & |\huge\bfseries\centering| & |\centering| \\
+% chapter & |\huge\bfseries\centering| & |\raggedright| \\
+% section (beamer) & 同右 & |\centering| \\
+% section & |\Large\bfseries\centering| & |\Large\bfseries| \\
+% subsection (beamer) & 同右 & |\centering| \\
+% subsection & 同右 & |\large\bfseries| \\
+% subsubsection & 同右 & |\normalsize\bfseries| \\
+% paragraph & 同右 & |\normalsize\bfseries| \\
+% subparagraph & 同右 & |\normalsize\bfseries| \\
+% \bottomrule
+% \end{tabular}
+% \end{table}
+%
+% \begin{function}[EXP,updated=2015-06-30]{.../nameformat, .../nameformat+}
+% \begin{syntax}
+% nameformat = \Arg{格式命令}
+% nameformat+= \Arg{格式命令}
+% \end{syntax}
+% \opt{nameformat} 用于控制章节名字的格式,作用域为章节名字,包括编号。它一
+% 般用于章节名(包括编号)与章节标题的字体、字号等设置不一致的情形。参见
+% \opt{titleformat} 选项。
+%
+% \opt{nameformat+} 用于在已有的章节名字格式后附加内容。
+%
+% \opt{nameformat} 选项的最后一个格式命令可以是一个有一个参数的命令。
+% 这个命令的参数用于接受章节名字和编号,实现特殊效果(见例~\ref{exam:miscopt})。
+%
+% \opt{nameformat} 选项的默认值,在 \opt{scheme} 选项的不同取值下相同。
+% \end{function}
+%
+% \begin{table}[htbp]
+% \small\centering
+% \caption{\opt{nameformat} 选项的默认设置}
+% \begin{tabular}{lll}
+% \toprule
+% 标题名 & \opt{scheme = chinese} & \opt{scheme = plain} \\
+% \midrule
+% part (article) & |{}| & |\Large\bfseries| \\
+% part (beamer) & 同右
+% & \BSTACK |\usebeamerfont{part name}| \\
+% |\usebeamercolor[fg]{part name}| \ESTACK \\
+% part & |{}| & |\huge\bfseries| \\
+% chapter & |{}| & |\huge\bfseries| \\
+% section (beamer) & 同右
+% & \BSTACK |\usebeamerfont{section name}| \\
+% |\usebeamercolor[fg]{section name}| \ESTACK \\
+% section & 同右 & |{}| \\
+% subsection (beamer) & 同右
+% & \BSTACK |\usebeamerfont{subsection name}| \\
+% |\usebeamercolor[fg]{subsection name}| \ESTACK \\
+% subsection & 同右 & |{}| \\
+% subsubsection & 同右 & |{}| \\
+% paragraph & 同右 & |{}| \\
+% subparagraph & 同右 & |{}| \\
+% \bottomrule
+% \end{tabular}
+% \end{table}
+%
+% \begin{function}[EXP,updated=2015-06-19]{.../numberformat, .../numberformat+}
+% \begin{syntax}
+% numberformat = \Arg{格式命令}
+% numberformat+= \Arg{格式命令}
+% \end{syntax}
+% \opt{numberformat} 选项用于控制章节编号的格式,作用域仅为编号数字本身。对
+% 各级标题默认均为空,当你需要编号的格式和前后的章节名字不一样时可以使用。
+%
+% \opt{numberformat+} 选项用于在原有编号格式后面附加格式命令。
+%
+% \opt{numberformat} 选项的最后一个格式命令可以是一个有一个参数的命令。
+% 这个命令的参数用于接受编号数字。
+% \end{function}
+%
+% 例如,我们可以使用 \opt{numberformat} 特别强调章标题中的数字:
+% \begin{ctexexam}
+% \ctexset{
+% chapter/number = \arabic{chapter},
+% chapter/numberformat = \color{blue}\zihao{0}\itshape,
+% }
+% \end{ctexexam}
+% 上面的代码在 \opt{scheme = chinese} 时可以做出类似这样的章标题效果:
+% \begin{center}
+% \huge\bfseries 第 \textit{\color{blue}\zihao{0}4} 章
+% \end{center}
+%
+% \begin{function}[EXP,updated=2014-03-08]{.../aftername, .../aftername+}
+% \begin{syntax}
+% aftername = \Arg{代码}
+% aftername+= \Arg{代码}
+% \end{syntax}
+% \opt{aftername} 选项的参数 \meta{代码} 将被插入到章节编号与其后的标题内容之
+% 间,用于控制格式变换。常用于控制章节编号与标题内容之间的距离,或者控制标题
+% 是否另起一行。
+%
+% \opt{aftername+} 选项用于在原有代码后面附加代码。
+% \end{function}
+%
+% \begin{table}[htbp]
+% \small\centering
+% \caption{\opt{aftername} 选项的默认设置}
+% \begin{tabular}{lll}
+% \toprule
+% 标题名 & \opt{scheme = chinese} & \opt{scheme = plain} \\
+% \midrule
+% part (article) & |\quad| & |\par\nobreak| \\
+% part (beamer) & 同右 & |\vskip 1em \par| \\
+% part & 同右 & |\par\vskip 20pt| \\
+% chapter & |\quad| & |\par\nobreak\vskip 20pt| \\
+% section (beamer) & 同右 & |\vskip 1em \par| \\
+% section & 同右 & |\quad| \\
+% subsection (beamer) & 同右 & |\vskip 1em \par| \\
+% subsection & 同右 & |\quad| \\
+% subsubsection & 同右 & |\quad| \\
+% paragraph & 同右 & |\quad| \\
+% subparagraph & 同右 & |\quad| \\
+% \bottomrule
+% \end{tabular}
+% \end{table}
+%
+% \begin{function}[EXP,updated=2015-06-30]{.../titleformat, .../titleformat+}
+% \begin{syntax}
+% titleformat = \Arg{格式命令}
+% titleformat+= \Arg{格式命令}
+% \end{syntax}
+% \opt{titleformat} 选项用于控制标题内容的格式,作用域为章节标题内容。
+%
+% \opt{titleformat+} 选项用于在原有标题格式后面附加格式命令。
+%
+% 需要注意的是,\opt{titleformat} 选项的最后一个格式命令可以是一个有一个
+% 参数的命令。这个命令的参数接受标题内容,用于实现特殊效果。
+% 例如,实现多行标题的居中悬挂对齐:
+% \end{function}
+% \begin{ctexexam}
+% \usepackage{varwidth} %% 提供 varwidth 环境
+% \ctexset{
+% chapter/name = {第,回},
+% chapter/titleformat = \chaptertitleformat
+% }
+% \newcommand\chaptertitleformat[1]{%% 以标题内容为参数
+% \begin{varwidth}[t]{.7\linewidth}#1\end{varwidth}}
+% ......
+% \chapter{情中情因情感妹妹\\错里错以错劝哥哥}
+% \end{ctexexam}
+% 上面的代码可以做出类似这样的章标题效果:
+% \begin{center}\Large\bfseries
+% 第三十四回\quad
+% \begin{tabular}[t]{l}
+% 情中情因情感妹妹\\
+% 错里错以错劝哥哥
+% \end{tabular}
+% \end{center}
+%
+% \begin{table}[htbp]
+% \small\centering
+% \caption{\opt{titleformat} 选项的默认设置}
+% \begin{tabular}{lll}
+% \toprule
+% 标题名 & \opt{scheme = chinese} & \opt{scheme = plain} \\
+% \midrule
+% part (article) & |{}| & |\huge\bfseries| \\
+% part (beamer) & 同右 & |\usebeamerfont{part title}| \\
+% part & |{}| & |\Huge\bfseries| \\
+% chapter & |{}| & |\Huge\bfseries| \\
+% section (beamer) & 同右 & |\usebeamerfont{section title}| \\
+% section & 同右 & |{}| \\
+% subsection (beamer) & 同右 & |\usebeamerfont{subsection title}| \\
+% subsection & 同右 & |{}| \\
+% subsubsection & 同右 & |{}| \\
+% paragraph & 同右 & |{}| \\
+% subparagraph & 同右 & |{}| \\
+% \bottomrule
+% \end{tabular}
+% \end{table}
+%
+% \begin{function}[EXP,added=2015-06-19]{.../aftertitle, .../aftertitle+}
+% \begin{syntax}
+% aftertitle = \Arg{代码}
+% aftertitle+= \Arg{代码}
+% \end{syntax}
+% \opt{aftertitle} 选项的参数 \meta{代码} 将被插入到章节标题内容之后。
+%
+% \opt{aftertitle+} 选项用于在原有代码后面附加代码。
+%
+% \opt{aftertitle} 选项的默认值,在 \opt{scheme} 选项的不同取值下相同。
+%
+% \opt{sub3section} 或 \opt{sub4section} 宏包选项(见
+% \ref{subs:options-heading}~节)会影响 \opt{aftertitle} 选项的默认值。
+% \end{function}
+%
+% \begin{table}[htbp]
+% \begin{minipage}[t]{.5\linewidth}
+% \small\centering
+% \caption{\opt{aftertitle} 选项的默认设置}
+% \begin{tabular}{ll}
+% \toprule
+% 标题名 & 默认值 \\
+% \midrule
+% part & |\par| \\
+% chapter & |\par| \\
+% section & |\@@par| \\
+% subsection & |\@@par| \\
+% subsubsection & |\@@par| \\
+% paragraph & |{}| \\
+% \qquad(sub3section) & |\@@par| \\
+% \qquad(sub4section) & 同上 \\
+% subparagraph & |{}| \\
+% \qquad(sub4section) & |\@@par| \\
+% \bottomrule
+% \end{tabular}
+% \end{minipage}%
+% \begin{minipage}[t]{.5\linewidth}
+% \small\centering
+% \caption{\opt{runin} 选项的默认设置}
+% \begin{tabular}{ll}
+% \toprule
+% 标题名 & 默认值 \\
+% \midrule
+% part & 无效 \\
+% chapter & 无效 \\
+% section & |false| \\
+% subsection & |false| \\
+% subsubsection & |false| \\
+% paragraph & |true| \\
+% \qquad(sub3section) & |false| \\
+% \qquad(sub4section) & 同上 \\
+% subparagraph & |true| \\
+% \qquad(sub4section) & |false| \\
+% \bottomrule
+% \end{tabular}
+% \end{minipage}
+% \end{table}
+%
+% \begin{function}[EXP,added=2015-06-27]{section/runin, subsection/runin,
+% subsubsection/runin, paragraph/runin, subparagraph/runin}
+% \begin{syntax}
+% runin = \TF
+% \end{syntax}
+% \opt{runin} 选项只对 \tn{section} 级以下标题有意义。
+% 用于确定标题与随后的正文是否排在同一段之上。
+%
+% \opt{runin} 选项的默认值,在 \opt{scheme} 选项的不同取值下相同。
+%
+% 默认情况下,\tn{paragraph}、\tn{subparagraph} 两级标题是与后面正文排在同一
+% 段的,\opt{runin} 选项为 \opt{true};但使用 \opt{sub3section} 或
+% \opt{sub4section} 宏包选项(见 \ref{subs:options-heading}~节)后,
+% 将对这两级标题设 \opt{runin} 选项为 \opt{false},这两级标题会改为排在不同段。
+% \end{function}
+%
+% \begin{function}[EXP,added=2015-06-27]{.../afterindent}
+% \begin{syntax}
+% afterindent = \TF
+% \end{syntax}
+% \opt{afterindent} 选项用于设置章节标题后首段的缩进。
+%
+% \cls{book} 和 \cls{report} 类的 \tn{part} 标题被单独排在一页之上,
+% \opt{afterindent} 选项没有意义。
+%
+% 对于 \tn{section} 级以下标题,若设置了 \opt{runin} 选项为 \opt{true},
+% 即标题与随后正文排在同一段,\opt{afterindent} 选项也就没有了意义。
+% \end{function}
+%
+% \begin{table}[htbp]
+% \small\centering
+% \caption{\opt{afterindent} 选项的默认设置}
+% \begin{tabular}{lll}
+% \toprule
+% 标题名 & \opt{scheme = chinese} & \opt{scheme = plain} \\
+% \midrule
+% part (article) & |true| & |false| \\
+% part & 无效 & 无效 \\
+% chapter & |true| & |false| \\
+% section & |true| & |false| \\
+% subsection & |true| & |false| \\
+% subsubsection & |true| & |false| \\
+% paragraph & |true| & |false| \\
+% subparagraph & |true| & |false| \\
+% \bottomrule
+% \end{tabular}
+% \end{table}
+%
+% \begin{function}[EXP,updated=2016-05-10]{.../beforeskip}
+% \begin{syntax}
+% beforeskip = \Arg{弹性间距}
+% \end{syntax}
+% \opt{beforeskip} 选项用于设置章节标题前的垂直间距。
+%
+% \opt{beforeskip} 选项的默认值,在 \opt{scheme} 选项的不同取值下相同。
+% \end{function}
+%
+% \begin{table}[htbp]
+% \setlength\leftskip{0pt plus 1 fil minus \marginparwidth}
+% \begin{minipage}[t]{.6\linewidth}
+% \small\centering
+% \caption{\opt{beforeskip} 选项的默认设置}
+% \begin{tabular}{ll}
+% \toprule
+% 标题名 & 默认值 \\
+% \midrule
+% part (article) & |4ex| \\
+% part (beamer) & |0pt| \\
+% part & |0pt plus 1fil| \\
+% chapter & |50pt| \\
+% section (beamer) & |0pt| \\
+% section & |3.5ex plus 1ex minus .2ex| \\
+% subsection (beamer) & |0pt| \\
+% subsection & |3.25ex plus 1ex minus .2ex| \\
+% subsubsection & |3.25ex plus 1ex minus .2ex| \\
+% paragraph & |3.25ex plus 1ex minus .2ex| \\
+% subparagraph & |3.25ex plus 1ex minus .2ex| \\
+% \bottomrule
+% \end{tabular}
+% \end{minipage}%
+% \begin{minipage}[t]{.5\linewidth}
+% \small\centering
+% \caption{\opt{afterskip} 选项的默认设置}
+% \begin{tabular}{ll}
+% \toprule
+% 标题名 & 默认值 \\
+% \midrule
+% part (article) & |3ex| \\
+% part (beamer) & |0pt| \\
+% part & |0pt plus 1fil| \\
+% chapter & |40pt| \\
+% section (beamer) & |0pt| \\
+% section & |2.3ex plus .2ex| \\
+% subsection (beamer) & |0pt| \\
+% subsection & |1.5ex plus .2ex| \\
+% subsubsection & |1.5ex plus .2ex| \\
+% paragraph & |1em| \\
+% \qquad(sub3section) & |1ex plus .2ex| \\
+% \qquad(sub4section) & 同上 \\
+% subparagraph & |1em| \\
+% \qquad(sub4section) & |1ex plus .2ex| \\
+% \bottomrule
+% \end{tabular}
+% \end{minipage}
+% \end{table}
+%
+% \begin{function}[EXP,updated=2015-06-27]{.../afterskip}
+% \begin{syntax}
+% afterskip = \Arg{弹性间距}
+% \end{syntax}
+% \opt{afterskip} 选项控制章节标题与后面下方之间的距离。
+%
+% 对于 \tn{section} 级以下标题,\opt{runin} 选项会影响 \opt{afterskip} 选项的意义:
+% 若 \opt{runin} 为 \opt{true},标题与随后正文排在同一段,\meta{弹性间距} 给出水平间距。
+% 否则,正文另起一段,\meta{弹性间距} 给出的是垂直间距。
+%
+% \opt{afterskip} 选项的默认值,在 \opt{scheme} 选项的不同取值下相同。
+%
+% \opt{sub3section} 或 \opt{sub4section} 宏包选项(见
+% \ref{subs:options-heading}~节)会影响 \opt{aftertitle} 选项的默认值。
+% \end{function}
+%
+% \begin{function}[EXP,added=2016-06-03]{.../fixskip}
+% \begin{syntax}
+% fixskip = \TFF
+% \end{syntax}
+% 默认情况下,\cls{article}、\cls{book} 和 \cls{report} 类的标题与正文的距离除了由
+% \opt{beforeskip} 和 \opt{afterskip} 选项设置的垂直间距外,还会有一些多余的间距。
+% \opt{fixskip} 选项用于抑制这些多余间距。
+% \end{function}
+%
+% \begin{function}[EXP,added=2016-10-01]{chapter/lofskip, chapter/lotskip}
+% \begin{syntax}
+% lofskip = \Arg{弹性间距}
+% lotskip = \Arg{弹性间距}
+% \end{syntax}
+% \opt{lofskip} 选项控制插图目录(\file{.lof})中,章之间的插图标题的距离。
+%
+% 同样,\opt{lotskip} 选项控制表格目录(\file{.lot})中,章之间的表格标题的距离。
+%
+% 目前,这两个选项只在 \opt{chapter} 标题下有定义。
+% 他们的默认值,在 \opt{scheme} 选项的不同取值下都为 \SI{10}{pt}。
+% \end{function}
+%
+% \begin{function}[EXP,updated=2015-06-27]{.../indent}
+% \begin{syntax}
+% indent = \Arg{缩进间距}
+% \end{syntax}
+% \opt{indent} 选项用于设置章节标题本身的首行缩进。
+%
+% \opt{indent} 选项的默认值,在 \opt{scheme} 选项的不同取值下相同。
+%
+% 如果 \opt{indent} 的值是以 \texttt{em}、\texttt{ex} 或 \cs{ccwd} 为单位,
+% 那么缩进间距的大小是相对于 \opt{format} 中指定的字号大小。
+%
+% 例如,设置 \tn{part} 标题缩进三个字、\tn{section} 标题缩进 \SI{20}{pt}:
+% \end{function}
+% \begin{ctexexam}
+% \ctexset{
+% part={
+% format+=\raggedright,
+% indent=3\ccwd,
+% },
+% section={
+% format=\Large\bfseries,
+% indent=20pt,
+% }
+% }
+% \part{首行缩进的标题}
+% \noindent 无缩进的正文。
+% \section{首行缩进的标题}
+% \noindent 无缩进的正文。
+% \end{ctexexam}
+%
+% \begin{table}[htbp]
+% \begin{minipage}[t]{.5\linewidth}
+% \small\centering
+% \caption{\opt{indent} 选项的默认设置}
+% \begin{tabular}{ll}
+% \toprule
+% 标题名 & 默认值 \\
+% \midrule
+% part & |0pt| \\
+% chapter & |0pt| \\
+% section & |0pt| \\
+% subsection & |0pt| \\
+% subsubsection & |0pt| \\
+% paragraph & |0pt| \\
+% subparagraph & |\parindent| \\
+% \qquad(sub3section) & |0pt| \\
+% \qquad(sub4section) & 同上 \\
+% \bottomrule
+% \end{tabular}
+% \end{minipage}%
+% \begin{minipage}[t]{.5\linewidth}
+% \small\centering
+% \caption{\opt{hang} 选项的默认设置}
+% \begin{tabular}{ll}
+% \toprule
+% 标题名 & 默认值 \\
+% \midrule
+% part & |false| \\
+% chapter & |false| \\
+% section & |true| \\
+% subsection & |true| \\
+% subsubsection & |true| \\
+% paragraph & 无意义 \\
+% \qquad(sub3section) & |true| \\
+% \qquad(sub4section) & |true| \\
+% subparagraph & 无意义 \\
+% \qquad(sub4section) & |true| \\
+% \bottomrule
+% \end{tabular}
+% \end{minipage}%
+% \end{table}
+%
+% \begin{function}[EXP,updated=2019-03-31]{part/hang, chapter/hang, section/hang,
+% subsection/hang, subsubsection/hang, paragraph/hang, subparagraph/hang}
+% \begin{syntax}
+% hang = \TF
+% \end{syntax}
+% \opt{hang} 选项用于设置是否对章节标题实施悬挂缩进(缩进的宽度为名字宽度和 \opt{indent} 选项
+% 设置的宽度之和)。
+%
+% 本选项对 \cls{beamer}/\cls{ctexbeamer} 文档类无效。
+% 对于 \tn{section} 级以下标题,若设置了 \opt{runin} 选项为 \opt{true},
+% 即标题与随后正文排在同一段,\opt{hang} 选项没有意义。
+% \end{function}
+%
+% \begin{function}[EXP,added=2014-03-21]{part/pagestyle, chapter/pagestyle}
+% \begin{syntax}
+% pagestyle = \Arg{页面格式}
+% \end{syntax}
+% 设置 \cls{book}/\cls{ctexbook} 或 \cls{report}/\cls{ctexrep} 文档类
+% 中,\tn{part} 与 \tn{chapter} 标题所在页的页面格式(page style)。
+% \end{function}
+%
+% \begin{table}[htbp]
+% \small\centering
+% \caption{\opt{pagestyle} 选项的默认设置}
+% \begin{tabular}{ll}
+% \toprule
+% 标题名 & 默认值 \\
+% \midrule
+% part (article) & 无效 \\
+% part & |plain| \\
+% chapter & |plain| \\
+% \bottomrule
+% \end{tabular}
+% \end{table}
+%
+% \begin{function}[EXP,added=2016-09-19]{.../break, .../break+}
+% \begin{syntax}
+% break = \Arg{格式命令}
+% break+= \Arg{格式命令}
+% \end{syntax}
+% \opt{break} 选项用于控制章节标题与之前正文的分隔关系。一般用于设置是否在标题之前分页或者设置行间罚点。
+%
+% 带加号的 \opt{break+} 选项则用于在已有格式之后追加新的格式命令。
+%
+% \opt{break} 选项的默认值,在 \opt{scheme} 选项的不同取值下相同。
+%
+% 例如,若当前页剩余高度小于正文高度的一半时,则另起一页输出 \tn{section} 标题:
+% \begin{ctexexam}
+% \usepackage{needspace}
+% \ctexset{section/break = \Needspace{.5\textheight}}
+% \end{ctexexam}
+% \end{function}
+%
+% \begin{table}[htbp]
+% \small\centering
+% \caption{\opt{break} 选项的默认设置}
+% \begin{tabular}{ll}
+% \toprule
+% 标题名 & 默认值 \\
+% \midrule
+% part (article) & |{}| \\
+% part & |\if@openright\cleardoublepage\else\clearpage\fi| \\
+% chapter & 同上 \\
+% section & |\addpenalty{\@secpenalty}| \\
+% subsection & 同上 \\
+% subsubsection & 同上 \\
+% paragraph & 同上 \\
+% subparagraph & 同上 \\
+% \bottomrule
+% \end{tabular}
+% \end{table}
+%
+% \begin{function}[EXP,added=2016-10-25]{.../tocline}
+% \begin{syntax}
+% tocline = \Arg{格式定义}
+% \end{syntax}
+% \opt{tocline} 选项用于定义章节标题在目录文件(\file{.toc})中的格式。\meta{格式定义}有两个参数:
+% 参数 |#1| 是 |part|、|chapter| 等名字,参数 |#2| 是标题内容。
+% \end{function}
+%
+% \begin{table}[htbp]
+% \small\centering
+% \caption{\opt{tocline} 选项的默认设置}
+% \begin{tabular}{ll}
+% \toprule
+% 标题名 & 默认值 \\
+% \midrule
+% part & |\CTEXifname{\CTEXthepart\hspace{1em}}{}#2| \\
+% chapter (\opt{chinese})
+% & |\CTEXifname{\protect\numberline{\CTEXthechapter\hspace{.3em}}}{}#2| \\
+% chapter (\opt{plain})
+% & |\CTEXnumberline{#1}#2| \\
+% section & |\CTEXnumberline{#1}#2| \\
+% subsection & 同上 \\
+% subsubsection & 同上 \\
+% paragraph & 同上 \\
+% subparagraph & 同上 \\
+% \bottomrule
+% \end{tabular}
+%
+% \medskip
+% 其中 \tn{CTEXnumberline} 的意义是若标题 |#1| 没有名字,则不输出 |\numberline{\CTEXthe#1}|
+% 等编号:
+% \begin{verbatim}
+% \CTEXifname{\protect\numberline{\csname CTEXthe#1\endcsname}}{}
+% \end{verbatim}
+% \end{table}
+%
+% \begin{function}[EXP,added=2015-06-21]{appendix/numbering}
+% \begin{syntax}
+% numbering = \TTF
+% \end{syntax}
+% 控制是否对附录章(对 \cls{book} 与 \cls{report})或附录节(对 \cls{article})
+% 进行编号。
+%
+% 用法与普通章节 \opt{numbering} 选项类似。
+% \end{function}
+%
+% \begin{function}[EXP,updated=2014-03-08]{appendix/name}
+% \begin{syntax}
+% name = \{<前名字>,<后名字>\}
+% name = \Arg{前名字}
+% \end{syntax}
+% 设置附录章(对 \cls{book} 与 \cls{report})或附录节(对 \cls{article})的
+% 名字。
+%
+% 用法与普通章节 \opt{name} 选项类似。
+%
+% 注意该选项与 \opt{appendixname} 选项(\ref{subs:capname}~节)在意义上有
+% 些重叠,但意义不同。\opt{appendixname} 选项只用来重定义
+% \tn{appendixname},而不管 \tn{appendixname} 如何使用;该选项则决定在章节标
+% 题中输出的名字,可以调用 \tn{appendixname} 设置。
+% \end{function}
+%
+% \begin{table}[htbp]
+% \small\centering
+% \caption{\opt{appendix/name} 选项的默认设置}
+% \begin{tabular}{llllll}
+% \toprule
+% 文档类 & 影响命令 & \opt{scheme = chinese} & 实际定义
+% & \opt{scheme = plain} & 实际定义 \\
+% \midrule
+% article & \tn{section} & |{}| & & |{}| & \\
+% book, report & \tn{chapter} & |\appendixname\space| & \verb*|附录 |
+% & |\appendixname\space| & \verb*|Appendix | \\
+% \bottomrule
+% \end{tabular}
+% \end{table}
+%
+% \begin{function}[EXP]{appendix/number}
+% \begin{syntax}
+% number = \Arg{数字输出命令}
+% \end{syntax}
+% 设置附录章(对 \cls{book} 与 \cls{report})或附录节(对 \cls{article})编
+% 号的数字输出格式。
+%
+% 用法与普通章节的 \opt{number} 选项类似。
+%
+% 该选项也同时控制附录章节计数器的交叉引用。
+%
+% 与普通章节的 \opt{number} 选项类似,同样需要注意,该选项不会影响计数器本身
+% 的输出,即不影响 \tn{thesection} 或 \tn{thechapter} 的定义。
+% \end{function}
+%
+% \begin{table}[htbp]
+% \small\centering
+% \caption{\opt{appendix/number} 选项的默认设置}
+% \begin{tabular}{llllll}
+% \toprule
+% 文档类 & 影响命令 & 默认值 \\
+% \midrule
+% article & \tn{section} & |\Alph{section}| \\
+% book, report & \tn{chapter} & |\Alph{chapter}| \\
+% \bottomrule
+% \end{tabular}
+% \end{table}
+%
+% 我们最后举一个稍微复杂的例子,来看看上述选项的综合应用。
+%
+% \begin{ctexexam}[labelref=exam:miscopt]
+% \ctexset {
+% chapter = {
+% beforeskip = 0pt,
+% fixskip = true,
+% format = \Huge\bfseries,
+% nameformat = \rule{\linewidth}{1bp}\par\bigskip\hfill\chapternamebox,
+% number = \arabic{chapter},
+% aftername = \par\medskip,
+% aftertitle = \par\bigskip\nointerlineskip\rule{\linewidth}{2bp}\par
+% }
+% }
+% \newcommand\chapternamebox[1]{%
+% \parbox{\ccwd}{\linespread{1}\selectfont\centering #1}}
+% ......
+% \chapter{熟悉 \LaTeX}
+% \end{ctexexam}
+% 本例的设置效果大致如下:
+% \begin{center}
+% \begin{minipage}{.75\linewidth}\Large\bfseries
+% \hrule height .5bp \relax
+% \medskip
+% \hfill\parbox{\ccwd}{\linespread{1}\selectfont\centering 第 1 章}
+% \par\smallskip
+% \noindent 熟悉 \LaTeX
+% \medskip\hrule height 1bp \relax
+% \end{minipage}
+% \end{center}
+%
+% \section{实用命令}
+% \label{sec:useful-commands}
+% \subsection{字号与间距}
+%
+% \begin{function}[updated = 2014-03-08, label = ]{\zihao}
+% \begin{syntax}
+% \tn{zihao} \Arg{字号}
+% \end{syntax}
+% 用于调整字号大小。其中 \meta{字号} 的有效值共有 16 个,如表 \ref{tab:zihao}
+% 所示。使用 \tn{zihao} 命令调整字体大小时,西文字号大小会始终和中文字号保持一致。
+% \end{function}
+%
+% \begin{table}[!htbp]
+% \centering
+% \def\ZH#1{\zihaopt{#1} & \zihao{#1}}
+% \tabcolsep=1em
+% \caption{中文字号}\label{tab:zihao}
+% \begin{tabular}{>{\ttfamily}S[mode=text,detect-family,table-format=-1]
+% S[table-format=2.1]S[table-format=2.5]l}
+% \toprule
+% {\meta{字号}} & {大小(bp)} & {大小(pt)} & 意义 \\
+% \midrule
+% 0 & 42 & \ZH{0} 初号 \\
+% {−0} & 36 & \ZH{-0} 小初号 \\
+% 1 & 26 & \ZH{1} 一号 \\
+% -1 & 24 & \ZH{-1} 小一号 \\
+% 2 & 22 & \ZH{2} 二号 \\
+% -2 & 18 & \ZH{-2} 小二号 \\
+% 3 & 16 & \ZH{3} 三号 \\
+% -3 & 15 & \ZH{-3} 小三号 \\
+% 4 & 14 & \ZH{4} 四号 \\
+% -4 & 12 & \ZH{-4} 小四号 \\
+% 5 & 10.5 & \ZH{5} 五号 \\
+% -5 & 9 & \ZH{-5} 小五号 \\
+% 6 & 7.5 & \ZH{6} 六号 \\
+% -6 & 6.5 & \ZH{-6} 小六号 \\
+% 7 & 5.5 & \ZH{7} 七号 \\
+% 8 & 5 & \ZH{8} 八号 \\
+% \bottomrule
+% \end{tabular}
+% \end{table}
+%
+% \begin{function}[updated=2014-03-28]{\ziju}
+% \begin{syntax}
+% \tn{ziju} \Arg{中文字符宽度的倍数}
+% \end{syntax}
+% 用于调整相邻汉字之间的间距,即(在正常中文行文中)前一个汉字的右边缘与后一个汉字
+% 的左边缘之间的距离。其中参数可以是任意浮点数值;而中文字符宽度指的是实际汉字的
+% 宽度,不包含当前字距。
+%
+% 这个命令会影响 \tn{ccwd} 的值,但不会影响英文字距。
+% \end{function}
+%
+% \begin{function}[updated=2014-03-27]{\ccwd}
+% 当前汉字的字宽保存在长度寄存器 \tn{ccwd} 之中。汉字字宽是相邻两个汉字中心
+% 之间的距离,包含字距在内。因此修改字距会间接修改字宽。
+% \end{function}
+%
+% \subsection{中文数字转换}
+%
+% \CTeX{} 宏集的中文数字转换功能实际上是调用 \pkg{zhnumber} 宏包来完成。下面只
+% 介绍一些基本的用法,更高级的用法可以查阅 \pkg{zhnumber} 宏包的文档。
+%
+% \begin{function}[updated=2016-05-01]{\chinese}
+% \begin{syntax}
+% \tn{chinese} \Arg{counter}
+% \tn{pagenumbering} \{chinese\}
+% \end{syntax}
+% \tn{chinese} 命令与 \tn{roman} 等命令的用法类似,作用在一个 \LaTeX{}
+% 计数器上,将计数器的值以中文数字的形式输出。
+% \end{function}
+%
+% \begin{function}[added=2014-03-08]{\zhnumber}
+% \begin{syntax}
+% \tn{zhnumber} \Arg{number}
+% \end{syntax}
+% 以中文格式输出数字。这里的数字可以是整数、小数和分数。
+% \end{function}
+%
+% \begin{function}[added=2014-03-08]{\zhdigits}
+% \begin{syntax}
+% \tn{zhdigits} \Arg{number}
+% \end{syntax}
+% 将阿拉伯数字转换为中文数字串。
+% \end{function}
+%
+% \begin{function}{\CTEXnumber}
+% \begin{syntax}
+% \tn{CTEXnumber} "\"<macro> \Arg{number}
+% \end{syntax}
+% |\|<macro> 必须是一个 \TeX{} 宏,不需预先定义。\tn{CTEXnumber} 通过
+% \tn{zhnumber} 将 \meta{number} 转为中文数字,最后将结果存储在 |\|<macro>
+% 里。对 |\|<macro> 的定义是局部的,将它展开一次就可以得到转换结果。
+% \end{function}
+%
+% 一般来说,并不需要使用 \tn{CTEXnumber},直接使用 \tn{zhnumber} 即可。但是,如果
+% 在文档中需要多次使用同一个数字 \meta{number} 的中文形式,就可以先用
+% \tn{CTEXnumber} 将结果保存起来备用,而不是每次使用时都用 \tn{zhnumber} 现场
+% 转换一次。
+%
+% \begin{function}{\CTEXdigits}
+% \begin{syntax}
+% \tn{CTEXdigits} "\"<macro> \Arg{number}
+% \end{syntax}
+% \tn{CTEXdigits} 与 \tn{CTEXnumber} 类似,但其转换的结果是中文数字串,而不是
+% 中文数字。
+% \end{function}
+%
+% \subsection{杂项}
+%
+% \begin{function}{\CTeX}
+% 用于显示 \CTeX 标志。
+% \end{function}
+%
+% \section{\LuaLaTeX{} 下的中文支持方式}
+% \label{sec:lualatex-chinese}
+%
+% 在 \LuaLaTeX{} 下,\CTeX{} 宏集依赖 \pkg{LuaTeX-ja} 宏包来完成中文支持。
+% 该宏包是日本 \TeX{} 社区的北川弘典、前田一贵、八登崇之等人开发的,设计目的主要
+% 是在 \LuaTeX{} 引擎下实现日本 p\TeX{} 引擎的(大部分)功能。它为了兼容 p\LaTeX
+% 的使用习惯,对 \LaTeXe 的 \pkg{NFSS} 作了不少修改和扩充。这对于简体中文用户来说
+% 不是必要的,因而 \CTeX{} 禁用了它在 \LaTeX{} 格式下的大部分设置,只保留了必要的
+% 部分。同时修改了它的字体设置方式,使得相关命令与 \pkg{xeCJK} 宏包大致相同。
+%
+% 20150420 版以后的 \pkg{LuaTeX-ja} 宏包开始支持竖排,但 \CTeX{} 暂不支持竖排。
+%
+% \subsection{\LuaLaTeX{} 下替代字体的设置}
+%
+% \begin{function}[added=2014-04-14]{AlternateFont}
+% \begin{syntax}
+% \tn{setCJKfamilyfont} \Arg{family}
+% \ [
+% \ AlternateFont =
+% \ \{
+% \ \Arg{character range_1} \oarg{alternate font features_1} \Arg{alternate font name_1} ||
+% \ \Arg{character range_2} \oarg{alternate font features_2} \Arg{alternate font name_2} ||
+% \ ......
+% \ \} ,
+% \ <base font features>
+% \ ] \Arg{base font name}
+% \end{syntax}
+% 在设置字体族 \meta{family} 的时候,同时设置该字体族在字符范围
+% \meta{character range_n} 内,对应字形的替代字体。
+% \end{function}
+%
+% \begin{function}[added=2014-04-14]{CharRange}
+% \begin{syntax}
+% \tn{setCJKfamilyfont} \Arg{family}
+% \ [
+% \ CharRange = \Arg{character range} ,
+% \ <alternate font features>
+% \ ] \Arg{alternate font name}
+% \end{syntax}
+% 只设置字体族 \meta{family} 在字符范围 \meta{character range} 内,对应字形的
+% 替代字体。
+% \end{function}
+%
+% 一个 \tn{setCJKfamilyfont} 里只能使用一次 \opt{CharRange} 或者
+% \opt{AlternateFont},但可以将它们分开重叠使用。例如下面的方式是有效的。
+%
+% \begin{ctexexam}
+% \setCJKmainfont[AlternateFont={...}{...}, ...]{...}
+% \setCJKmainfont[CharRange={"4E00->"67FF,-2}, ...]{...}
+% \setCJKmainfont[CharRange={"6800->"9FFF}, ...]{...}
+% \end{ctexexam}
+%
+% \begin{function}[EXP,added=2014-04-14]{declarecharrange}
+% \begin{syntax}
+% \tn{ctexset}
+% \ \{
+% \ declarecharrange =
+% \ \{
+% \ \Arg{name_1} \Arg{character range_1} ,
+% \ \Arg{name_2} \Arg{character range_2} ,
+% \ ...
+% \ \}
+% \ \}
+% \end{syntax}
+% 预先声明字符范围。声明字符范围 \meta{name} 之后,它的名字 \meta{name} 可以
+% 用在 \opt{AlternateFont} 和 \opt{CharRange} 选项的 \meta{character range}
+% 之中,表示对应的字符范围。
+% \end{function}
+%
+% 在声明字符范围 \meta{name} 的同时,还为 \tn{setCJKmainfont} 等字体设置命令定义
+% 了选项 \meta{name},用于设置对应字符的替代字体:
+% \begin{quote}\linespread{1}\small\ttfamily
+% \meta{name} = \oarg{alternate font features} \Arg{alternate font name}
+% \end{quote}
+% \meta{name} 选项可以与 \opt{AlternateFont} 共同使用,但不能与 \opt{CharRange}
+% 一起使用。如果没有给 \meta{name} 设置值,则等价于设置 \opt{CharRange=\meta{name}},
+% 即只设置 \meta{name} 对应的字符范围的替代字体。
+%
+% \begin{function}[EXP,added=2014-04-15]{clearalternatefont,resetalternatefont}
+% \begin{syntax}
+% \tn{ctexset}
+% \ \{
+% \ clearalternatefont = \Arg{family_1, family_2, ...} ,
+% \ resetalternatefont = \Arg{family_1, family_2, ...} ,
+% \ clearalternatefont ,
+% \ resetalternatefont
+% \ \}
+% \end{syntax}
+% 清除与重置 CJK 字体族 \meta{family} 的替换字体设置。如果没有给定值,则作用于
+% 当前 CJK 字体族。清除与重置操作总是全局的。
+% \end{function}
+%
+% \section{\CTeX{} 宏集的配置文件}
+%
+% \CTeX{} 宏集提供了不同的配置文件,可以通过修改配置文件来改变 \CTeX{} 宏集的
+% 默认行为。
+%
+% 在多数情况下,并不需要修改配置文件,\CTeX{} 宏集的默认设置已经能满足大多数用
+% 户的需要。不恰当地修改 \CTeX{} 宏集的默认行为也可能导致同一文件在别处无法正
+% 常编译或排版效果完全不同,因此修改应该慎重。
+%
+% 但在一些情况下,直接修改配置文件仍是必要的,例如:
+% \begin{itemize}
+% \item 系统没有安装默认设置的字体文件,无法编译。
+% \item 需要经常编译来自其他系统的中文 \TeX{} 文件,但对方的操作系统或默认设置
+% 与本机不同。
+% \end{itemize}
+%
+% 与 \CTeX{} 宏集的源代码一样,配置文件采用 \LaTeXiii{} 的语法编写。
+%
+% \CTeX{} 宏集的配置文件随宏包其他文件一起安装在 \TeX{} 系统 TDS 目录树中,文
+% 件后缀是 \file{.cfg}。为了避免本地配置文件内容因 \CTeX{} 宏集的更新而丢失,
+% 不要直接修改系统 TDS 目录树中的配置文件,而应该将系统自带的配置文件复制到本
+% 地的或用户私有的 TDS 目录树中修改,并运行 \bashcmd{texhash} 命令刷新文件名数据库。
+%
+% 例如对于 \TeX{} Live,系统自带的配置文件就在 \TeX{} Live 安装目录下的
+% \path{texmf-dist/tex/latex/ctex/config/} 子目录下,可以修改它的副本,保存在
+% 本地 TDS 树的 \path{texmf-local/tex/latex/ctex/} 目录下,或者用户 TDS 树的
+% \path{~/.texlive2015/texmf-var/tex/latex/ctex/} 目录下,作为本地/用户专有的
+% 配置文件。复制配置文件后需要运行 |texhash| 命令使本地配置文件生效。
+%
+% \MiKTeX{} 的配置文件也保存在类似的目录结构中,\MiKTeX{} 管理的
+% 几个 TDS 根目录可以在 \MiKTeX{} Options 设置项中查看到,这里不再赘述。
+%
+% 除了修改本地 \TeX{} 系统中的配置文件,对于特定文档,也可以将修改过的配置文件
+% 保存在文档的工作目录下。此时配置文件就只对工作目录下的所有文档生效。
+%
+% \subsection{修改宏包默认选项}
+%
+% 配置文件 \file{ctexopts.cfg} 可以用来修改宏包的默认选项。随系统安装的配置文
+% 件除了文件信息声明外没有实际的内容,但在注释中给出了一个简单的示例,只要取消
+% 注释就可以生效。
+%
+% \begin{ctexexam}
+% % 系统自带 ctexopts.cfg 注释中的示例语句,固定默认字体集为 windowsnew。
+% % 该设置可以用在安装了 Windows 字体的非 Windows 系统中。
+% \keys_set:nn { ctex / option } { fontset = windowsnew }
+% \end{ctexexam}
+% 如上例所示,宏包选项通常使用 \LaTeXiii{} 的 \cs{keys_set:nn} 命令完成键值设置,
+% 第一个参数是固定的子模块 |ctex/option|,第二个参数中是用户定义的新的默认宏包
+% 选项。
+%
+% \file{ctexopts.cfg} 中的设置将在 \CTeX{} 宏集的开始处,定义过宏包选项之后,
+% \tn{ProcessKeysOptions} 命令之前生效。最好只使用此配置文件修改宏包默认选项。
+%
+% \subsection{宏包载入后的配置}
+%
+% 配置文件 \file{ctex.cfg} 将在宏包的末尾被载入生效。可以用它完成任意的设置,
+% 或是覆盖已有的定义。随系统安装的配置文件除版本信息外没有实际内容,注意配置文
+% 件中也使用 \LaTeXiii{} 语法。
+%
+% \begin{ctexexam}
+% % 简单的 ctex.cfg 内容示例。
+% % 修改默认的页面格式设置。
+% \pagestyle{plain}
+% \end{ctexexam}
+%
+% \begin{ctexexam}
+% % 略复杂的 ctex.cfg 内容示例:禁止段末孤字成行。
+% % 在使用 XeTeX 编译时,打开 xeCJK 的 CheckSingle 选项。
+% \sys_if_engine_xetex:T
+% {
+% \xeCJKsetup { CheckSingle }
+% }
+% % 在使用 LuaTeX 编译时,设置 LuaTeX-ja 的 jcharwidowpenalty 参数。
+% \sys_if_engine_luatex:T
+% {
+% \ltjsetparameter { jcharwidowpenalty = 10000 }
+% }
+% \end{ctexexam}
+%
+% \subsection{配置标题中文翻译}
+%
+% 由于 \CTeX{} 宏集需要同时支持 GBK 和 UTF-8 两种编码,因此对标题的中文翻译写
+% 在两个配置文件当中:\file{ctex-name-gbk.cfg} 和 \file{ctex-name-utf8.cfg}。
+% 两个文件的设置相同,只是编码不同。
+%
+% 为了同一文档在不同电脑上编译效果的一致性,通常不建议修改默认的中文翻译。
+%
+% \subsection{自定义字体集}
+%
+% \ref{subs:options-CJK-font}~节介绍的用于 |fontset| 选项的自定义字库文件,
+% 类似于 \CTeX{} 宏集的配置文件,也应该与其他本地配置文件一起保存在本地
+% \texttt{TDS} 目录树下,并可以配合 \file{ctexopts.cfg} 等配置文件使用。
+%
+% \section{对旧版本的兼容性}
+%
+% \subsection{\CTeX\ 0.8a 及以前的版本}
+%
+% 在 ctex-kit 项目成立之前,\CTeX 宏包的最后一个版本是 \CTeX\
+% 0.8a(2007/05/06)。
+%
+% 第 2 版未考虑对这些很早版本的兼容性。
+%
+% \subsection{\CTeX\ 0.9--\CTeX\ 1.0d}
+%
+% 在 2009 年在 ctex-kit 项目成立后,新增了 \XeTeX{} 引擎的支持,并增加了不少控
+% 制字体的命令和选项。
+%
+% 这里主要介绍新版本 \CTeX 宏包相对 1.02d 版本(2014/06/09)的兼容性。
+%
+% 第 2 版的 \CTeX 宏包已尽力保证对 1.0x 版本的兼容性,原有为 1.0x 编写的代码,
+% 在第 2 版的 \CTeX 宏包下保证仍能编译,并且在大多数情况下保持编译效果不变。
+%
+% \CTeX 宏包在 0.8a 以前的版本支持以 \pkg{CCT} 作为底层中文支持方式,从 0.9 版
+% 之后即不再推荐使用,只保留向后兼容。在 \CTeX 宏包第 2 版中则完全不再支持
+% \pkg{CCT}。
+%
+% 下面这些是在旧版本 \CTeX 宏包中存在,而在新版本中已不建议使用的选项和命令,
+% 在未来版本中可能会删去它们的支持。
+%
+% 在多数情况下它们的功能仍将保留,但也有部分选项命令功能已失效。
+%
+% \begin{function}{cs4size, c5size}
+% 分别相当于 |zihao=-4| 和 |zihao=5|,过时选项。
+% \end{function}
+%
+% \begin{function}{CCT, CCTfont}
+% 相关选项已删除。
+% \end{function}
+%
+% \begin{function}{indent, noindent}
+% \opt{indent} 和 \opt{noindent} 什么也不做,过时选项。
+%
+% 在中文版式下,\pkg{ctex} 宏包的相关功能在与标准文档类及其衍生文档类联用时
+% 默认打开。\CTeX{} 文档类的相关功能由章节标题的 \opt{afterindent} 选项的值
+% 来确定。
+% \end{function}
+%
+% \begin{function}[label = ]{zhmap, nozhmap}
+% \opt{zhmap} 宏包选项增加了参数,扩充了功能,除了支持真假值参数外,还支持选择
+% \pkg{zhmCJK} 作为底层中文处理宏包。(\ref{subs:options-CJK-font}~节)
+%
+% \opt{nozhmap} 选项相当于 |zhmap=false|。过时选项。
+% \end{function}
+%
+% \begin{function}{winfonts, adobefonts, nofonts}
+% 宏包选项 \opt{winfonts} 相当于 |fontset=windows|,\opt{adobefonts} 相当于
+% |fontset=adobe|,\opt{nofonts} 相当于 |fontset=none|。这几个选项是过时选项,
+% 对于新文档,应使用 \opt{fontset} 选项设置不同字体集。
+%
+% 另外,第 2 版 \CTeX 宏包的默认字体不再是 Windows 系统字体,而是根据检测到的
+% 操作系统选择使用 Windows、Mac 的系统字体还是 Fandol 字体
+% (\ref{subs:options-CJK-font}~节)。
+% \end{function}
+%
+% \begin{function}[label = ]{punct, nopunct}
+% 旧版本中宏包 \opt{punct} 选项没有参数,现在可以用参数设定标点风格
+% (\ref{subs:options-type-style}~节)。原有无参形式的 \opt{punct} 选项相当
+% 于 |punct=quanjiao|。
+%
+% 旧版宏包中 \opt{nopunct} 选项的效果大致相当于 |punct=plain|。过时选项,不推荐使用。
+% \end{function}
+%
+% \begin{function}{cap, nocap}
+% 原有的 \opt{cap} 和 \opt{nocap} 选项由新的 \opt{scheme} 选项代替。
+% (\ref{subs:options-type-style}~节)
+%
+% \opt{cap} 选项相当于 |scheme = chinese|,\opt{nocap} 选项相当
+% 于 |scheme = plain|。它们均已过时,仅因兼容性而保留。
+% \end{function}
+%
+% \begin{function}[label = ]{space, nospace}
+% 新版本宏包 \opt{space} 选项增加真假值参数。
+% (\ref{subs:options-type-style}~节)
+%
+% \opt{nospace} 选项相当于 |space=false|,成为过时选项。
+% \end{function}
+%
+% \begin{function}{fancyhdr}
+% 新版本宏包中总是自动处理对 \pkg{fancyhdr} 宏包的兼容性,而由用户自己使用
+% \tn{usepackage} 载入 \pkg{fancyhdr} 宏包。
+%
+% \opt{fancyhdr} 选项过时,因兼容性保留,功能是载入 \pkg{fancyhdr} 宏包。
+% \end{function}
+%
+% \begin{function}{hyperref}
+% 新版本宏包中总是自动处理对 \pkg{hyperref} 宏包的兼容性,而由用户自己使用
+% \tn{usepackage} 载入 \pkg{hyperref} 宏包。
+%
+% \opt{hyperref} 选项过时,因兼容性保留,功能是在导言区末尾载入 \pkg{hyperref}
+% 宏包。
+% \end{function}
+%
+% \begin{function}{fntef}
+% 旧版本的 \opt{fntef} 选项用于统一 \pkg{CCTfntef} 与 \pkg{CJKfntef} 的界面,
+% 新版本 \CTeX{} 宏集不再支持 \pkg{CCT},而是直接载入 \pkg{CJKfntef} 或
+% \pkg{xeCJKfntef} 宏包并禁用其彩色设置。该选项是过时选项。
+% \end{function}
+%
+% \begin{function}{\CTEXunderdot, \CTEXunderline, \CTEXunderdblline,
+% \CTEXunderwave, \CTEXsout, \CTEXxout, \CTEXfilltwosides}
+% 在调用 \opt{fntef} 宏包选项的同时,旧版本 \CTeX{} 宏包由于需要支持 \pkg{CCT}
+% 系统,会将以 |\CJK| 开头的 \tn{CJKunderline} 等宏换名为以 |\CTEX| 开头的
+% \tn{CTEXunderline} 等宏。此功能在新版本的 \CTeX{} 宏集中已失去意义。
+%
+% 此外,在 \pdfTeX{} 引擎下,用于设置格式的 \tn{CJKunderdotbasesep} 等宏也被换
+% 名为 \tn{CTEXunderdotbasesep} 等宏。
+%
+% 在新版本中,上述由 \opt{fntef} 衍生的相关宏都成为过时命令。
+% \end{function}
+%
+% \begin{function}{\CTEXsetfont}
+% 更新当前的中文字体信息,包括当前字距(\tn{ccwd})和段首缩进(\tn{parindent})。
+% 一般来说,用户无需使用这个命令。
+% \end{function}
+%
+% \begin{function}{\CTEXindent}
+% 更新 \tn{ccwd} 宽度后设置 |\parindent=2\ccwd|。过时命令。
+% \end{function}
+%
+% \begin{function}{\CTEXnoindent}
+% 设置 |\parindent=0pt|。过时命令。
+% \end{function}
+%
+% \begin{function}{\CTEXsetup}
+% \begin{syntax}
+% \tn{CTEXsetup}\oarg{选项}\Arg{标题}
+% \end{syntax}
+% 相当于设置了
+% \texttt{\tn{ctexset}\{ \meta{标题} = \Arg{选项} \}}。
+% 过时命令。
+% \end{function}
+%
+% \begin{function}{\CTEXoptions}
+% \begin{syntax}
+% \tn{CTEXoptions}\oarg{选项}
+% \end{syntax}
+% 相当于设置了
+% \texttt{\tn{ctexset}\Arg{选项}}。
+% 过时命令。
+% \end{function}
+%
+% \begin{function}{\Chinese}
+% \begin{syntax}
+% \tn{Chinese}\Arg{counter}
+% \end{syntax}
+% 新版宏集中 \tn{chinese} 统一了旧版本中 \tn{chinese} 和 \tn{Chinese} 的功能。因此,
+% 该命令已过时。
+% \end{function}
+%
+% \begin{function}{captiondelimiter}
+% 原为 \tn{CTEXoptions} 命令的选项,用于控制 \tn{caption} 编号后面的标点。此选
+% 项已过时,并在新版本的 \CTeX 宏包中失效。
+%
+% 可以使用 \pkg{caption} 宏包的 \opt{labelsep} 选项来完成同样的功能。
+% \begin{ctexexam}
+% % 代替 \CTEXoptions[captiondelimiter={:}]
+% \usepackage{caption}
+% \captionsetup{labelsep=colon}
+% \end{ctexexam}
+% \end{function}
+%
+% \subsection{\CTeX\ 1.02c 以后的 SVN 开发版}
+%
+% \CTeX 宏包在 1.02c 版本(2011/03/11)之后在 Google code 上的 SVN 开发版本,
+% 内部版本号一直升到 1.11 版,但从未正式发布。SVN 开发版在 1.02c 版本的基础上
+% 新增的功能在第 2 版中大多继承了过来,但新增的命令与选项都不再保持兼容。
+%
+% \CTeX 宏包第 2 版不保证对未发布的 SVN 开发版兼容。
+%
+% \subsection{\CTeX\ 2.2 之前的版本}
+%
+% \begin{function}{part/beforeskip, chapter/beforeskip, section/beforeskip,
+% subsection/beforeskip, subsubsection/beforeskip, paragraph/beforeskip,
+% subparagraph/beforeskip}
+% 在 \CTeX\ 2.2 之前的版本中,\opt{beforeskip} 选项的符号还用于确定章节标题后
+% 首段的缩进。当 \opt{beforeskip} 是负值时,章节标题后的第一段按英文文档的排版
+% 习惯,没有首行缩进,否则保留首行缩进。
+%
+% 这一特性在 2.2 版和后续版本中不再保留,相应的功能通过新的 \opt{afterindent}
+% 选项来设置。如果原先设置 \opt{beforeskip} 为负值,在新版本中需要改为正值,
+% 并设置相应的 \opt{afterindent} 选项为 \opt{false}。
+% \end{function}
+%
+% \begin{function}{section/afterskip, subsection/afterskip,
+% subsubsection/afterskip, paragraph/afterskip, subparagraph/afterskip}
+% 在 \CTeX\ 2.2 之前的版本中,对于 \tn{section} 级以下标题,\opt{afterskip}
+% 选项的符号用于确定标题与随后正文是否排在同一段。
+% 如果是正值,则正文另起一段,否则标题与随后正文排在同一段,
+% \opt{afterskip} 的绝对值给出水平间距。
+%
+% 这一特性在 2.2 版和后续版本中不再保留,相应的功能通过新的 \opt{runin}
+% 选项来设置。如果原先设置 \opt{afterskip} 为负值,在新版本中需要改为正值,
+% 并设置相应的 \opt{runin} 选项为 \opt{true}。
+% \end{function}
+%
+% \subsection{\CTeX\ 2.4.1 和 2.4.2}
+%
+% \begin{function}{part/fixbeforeskip, chapter/fixbeforeskip}
+% 这两个选项已经被删除,相应功能由新的选项 \opt{fixskip} 提供。
+% \end{function}
+%
+% \section{宏集依赖情况与手工安装方法}
+% \label{sec:dep-ins}
+%
+% 本节介绍 \CTeX{} 宏集的依赖情况,并介绍手工编译安装的具体方法。
+% 通常用户只需参照第 \ref{subsec:easy-ins}~节介绍的方法,使用发行版自带的宏包管理器安装
+% 本宏集。
+%
+% \CTeX{} 宏集有两个源文件:\file{ctex.dtx}、\file{ctexpunct.spa}。
+% 使用不同的编译方式时,\CTeX{} 依赖的宏包略有不同。在手工安装 \CTeX{} 宏集之前,请确保
+% 你的 \TeX{} 发行版中已经正确安装了这些宏包。\CTeX{} 依赖宏包的详情叙述如下:
+%
+% \begin{itemize}
+% \item \pkg{expl3}、\pkg{xparse} 和 \pkg{l3keys2e} 宏包。它们属于 \pkg{l3kernel}
+% 和 \pkg{l3packages} 宏集。
+% \item \pkg{indentfirst} 宏包,属于 \pkg{tools} 宏集。
+% \item \pkg{everysel} 宏包,属于 \pkg{ms} 宏集。
+% \item \pkg{ulem} 宏包。
+% \item \pkg{zhnumber} 宏包。
+% \item[\ding{229}] 以上是各种编译方式都必需的依赖项。
+% \item \pkg{CJK} 宏集。
+% \item \pkg{CJKpunct} 宏包。
+% \item \pkg{xCJK2uni} 宏包。
+% \item \pkg{zhmetrics} 宏包。
+% \item \pkg{zhmCJK} 宏包,它还依赖 \pkg{oberdiek} 宏集。
+% \item[\ding{229}] 以上是使用 \pdfLaTeX{} 或 \LaTeX{} + \dvipdfmx{} 的编译方式所需要
+% 的依赖项,其中 \pkg{zhmCJK} 是可选的。
+% \item \pkg{xeCJK} 宏集,它还依赖
+% \begin{itemize}
+% \item \pkg{xtemplate} 宏包,它属于 \pkg{l3packages} 宏集。
+% \item \pkg{fontspec} 宏包。
+% \end{itemize}
+% \item \pkg{environ} 宏包,它还依赖 \pkg{trimspaces} 宏包。
+% \item[\ding{229}] 以上是使用 \XeLaTeX{} 编译时的依赖项。
+% \item \pkg{luatexja} 宏包,它还依赖
+% \begin{itemize}
+% \item \pkg{adobemapping} 宏包。
+% \item \pkg{lualibs} 宏包。
+% \item \pkg{luaotfload} 宏包。
+% \item \pkg{luatexbase} 宏包,它还依赖 \pkg{ctablestack} 宏包。
+% \item \pkg{oberdiek} 宏集。
+% \item \pkg{xkeyval} 宏包。
+% \item \pkg{etoolbox} 宏包。
+% \end{itemize}
+% \item \pkg{fontspec} 宏包。
+% \item \pkg{xunicode-addon} 宏包,属于 \pkg{xeCJK} 宏集,它还依赖
+% \begin{itemize}
+% \item \pkg{xunicode} 宏包,它还依赖
+% \begin{itemize}
+% \item \pkg{graphics} 宏集。
+% \item \pkg{graphics-cfg} 宏包。
+% \item \pkg{graphics-def} 宏包。
+% \end{itemize}
+% \end{itemize}
+% \item[\ding{229}] 以上是使用 \LuaLaTeX{} 编译时的依赖项。
+% \item \pkg{pxeverysel} 宏包,属于 \pkg{platex-tools} 宏集。
+% \item \pkg{zhmetrics-uptex} 宏包。
+% \item[\ding{229}] 以上是使用 \upLaTeX{} 编译时的依赖项。
+% \end{itemize}
+%
+% 出于一些原因,\pkg{zhmCJK} 尚未被收入 \TeXLive{} 和 \MiKTeX。因此,若
+% 你希望使用 \pkg{zhmCJK} 作为 \CTeX{} 宏集的底层中文支持方式,那么你需要自行安装该宏包。
+% \pkg{zhmCJK} 的安装较为复杂。我们建议你
+% \begin{enumerate}
+% \item 从 CTAN 下载 \pkg{zhmCJK} 宏包的
+% \href{http://mirrors.ctan.org/install/language/chinese/zhmcjk.tds.zip}
+% {TDS 安装包},
+% \item 按目录结构将文件复制到 \TeX{} 发行版的本地 TDS 根目录,
+% \item 最后执行 \bashcmd{texhash} 刷新 \TeX{} 发行版的 ls-R 数据库以完成安装。
+% \end{enumerate}
+% 其他细节,可参照其
+% \href{http://mirrors.ctan.org/language/chinese/zhmcjk/zhmCJK.pdf}{宏包手册}
+% 中第 3 节的指导。
+%
+% \emph{\CTeX{} 宏集已被 \TeXLive{} 和 \MiKTeX{} 收录,若无特别理由,
+% 我们强烈建议用户使用宏包管理器安装本宏集。}
+%
+% 若要手工安装,请遵循如下步骤:
+% \begin{enumerate}
+% \item 从 CTAN 下载 \CTeX{} 宏集的
+% \href{http://mirrors.ctan.org/install/language/chinese/ctex.tds.zip}
+% {TDS 安装包},
+% \item 按目录结构将文件复制到 \TeX{} 发行版的本地 TDS 根目录,
+% \item 最后执行 \bashcmd{texhash} 刷新 \TeX{} 发行版的 ls-R 数据库以完成安装。
+% \end{enumerate}
+%
+% \section{开发人员}
+%
+% \begin{itemize}
+% \item 吴凌云 (\email{aloft@ctex.org})
+% \item 江疆 (\email{gzjjgod@gmail.com})
+% \item 王越 (\email{yuleopen@gmail.com})
+% \item 刘海洋 (\email{LeoLiu.PKU@gmail.com})
+% \item 李延瑞 (\email{LiYanrui.m2@gmail.com})
+% \item 陈之初 (\email{zhichu.chen@gmail.com})
+% \item 李清 (\email{sobenlee@gmail.com})
+% \item 黄晨成 (\email{liamhuang0205@gmail.com})
+% \end{itemize}
+%
+% 目前比较活跃的开发维护人员是刘海洋、李清和黄晨成。
+%
+%
+% \begin{thebibliography}{9}
+% \bibitem{knuthtex1986}
+% \textsc{Donald~Ervin Knuth}.
+% \newblock \textit{The {{\TeX{}book}}}, \textit{Computers \& Typesetting},
+% volume~A.
+% \newblock Addison-Wesley, 1986
+%
+% \bibitem{mittelbach2004}
+% \textsc{Frank Mittelbach} and \textsc{Michel Goossens}.
+% \newblock \textit{The {{\LaTeX}} Companion}.
+% \newblock Tools and Techniques for Computer Typesetting. Boston:
+% Addison-Wesley, second edition, 2004
+%
+% \end{thebibliography}
+%
+% \end{documentation}
+%
+%
+% \StopEventually{}
+%
+%
+%\begin{implementation}
+% \clearpage
+% \section{代码实现}
+%
+% \begin{macrocode}
+%<@@=ctex>
+% \end{macrocode}
+%
+% 宏包载入检查。
+% \begin{macrocode}
+%<*class|ctex>
+\tl_const:Nx \c_@@_version_tl
+ { \cs_if_exist_use:cF { ver@ \@currname . \@currext } { 9999/99/99 } }
+%<*class>
+\cs_new_eq:cN { ver@ctex. \@pkgextension } \c_@@_version_tl
+\cs_new_eq:cN { ver@ctexcap. \@pkgextension } \c_@@_version_tl
+\cs_new_eq:cN { ver@ctexsize. \@pkgextension } \c_@@_version_tl
+\cs_new_eq:cN { ver@ctexheading. \@pkgextension } \c_@@_version_tl
+%</class>
+%<*ctex>
+\msg_new:nnnn { ctex } { subpackage-loaded }
+ { Package~`#1'~can~not~be~loaded~with~`ctex'. }
+ {
+ `#1'~is~actually~a~part~of~`ctex'.\\
+ It~is~not~necessary~to~load~it~separately.
+ }
+\@ifpackageloaded { ctexsize }
+ { \msg_error:nnn { ctex } { subpackage-loaded } { ctexsize } }
+ { \cs_new_eq:cN { ver@ctexsize. \@pkgextension } \c_@@_version_tl }
+\@ifpackageloaded { ctexheading }
+ { \msg_error:nnn { ctex } { subpackage-loaded } { ctexheading } }
+ { \cs_new_eq:cN { ver@ctexheading. \@pkgextension } \c_@@_version_tl }
+%</ctex>
+%</class|ctex>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*class|style>
+\RequirePackage { xparse , l3keys2e }
+%</class|style>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*class|ctex>
+% \end{macrocode}
+%
+% \changes{v2.3}{2015/12/20}{与 \LaTeXiii{} (2015/12/20) 同步。}
+% \changes{v2.4.10}{2017/07/19}{常数 \cs{c_minus_one} 已过时。}
+% \changes{v2.4.10}{2017/07/22}{使用 \texttt{lazy} 函数对 Boolean 表达式
+% 进行最小化运算(\LaTeXiii{} 2017/07/19)。}
+%
+% 检查 \pkg{expl3} 和 \pkg{l3keys2e} 的版本。
+% \begin{macrocode}
+\msg_new:nnnn { ctex } { l3-too-old }
+ { Support~package~`#1'~too~old. }
+ {
+ Please~update~an~up~to~date~version~of~the~bundles\\\\
+ `l3kernel'~and~`l3packages'\\\\
+ using~your~TeX~package~manager~or~from~CTAN.
+ }
+\@ifpackagelater { expl3 } { 2019/03/05 } { }
+ { \msg_error:nnn { ctex } { l3-too-old } { expl3 } }
+%<*class>
+\@ifpackagelater { l3keys2e } { 2015/12/20 } { }
+ { \msg_error:nnn { ctex } { l3-too-old } { l3keys2e } }
+%</class>
+% \end{macrocode}
+%
+% \begin{variable}{\c_@@_engine_str,\c_@@_engine_file_str}
+% 引擎检查。目前 \LaTeXiii{} 将 \ApTeX{} 识别为 \upTeX。
+% \begin{macrocode}
+\str_const:Nx \c_@@_engine_str
+ { \cs_if_exist:NTF \ngostype { aptex } { \c_sys_engine_str } }
+\msg_new:nnnn { ctex } { engine-not-supported }
+ { Engine~`#1'~is~not~yet~supported,~ctex~will~abort! }
+ { You~can~switch~to~xelatex,~lualatex,~pdflatex,~uplatex,~or~aplatex. }
+\file_if_exist:nTF { ctex-engine- \c_@@_engine_str .def }
+ {
+ \str_const:Nx \c_@@_engine_file_str
+ { ctex-engine- \c_@@_engine_str .def }
+ }
+ { \msg_critical:nnx { ctex } { engine-not-supported } { \c_@@_engine_str } }
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macrocode}
+%</class|ctex>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*class|ctex|ctexheading>
+% \end{macrocode}
+%
+% \begin{macrocode}
+\RequirePackage { ctexhook , ctexpatch }
+%<!ctexheading>\RequirePackage { fix-cm , everysel }
+% \end{macrocode}
+%
+% \subsection{内部函数与变量}
+%
+% \begin{variable}{\l_@@_tmp_tl,\l_@@_tmp_int,\l_@@_tmp_box,\l_@@_tmp_dim}
+% 临时变量。
+% \begin{macrocode}
+\tl_clear_new:N \l_@@_tmp_tl
+\int_new:N \l_@@_tmp_int
+\box_new:N \l_@@_tmp_box
+%<!ctexheading>\dim_new:N \l_@@_tmp_dim
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}[int]{\ctex_file_wrapper:nnn}
+% 设置文件操作的 \tn{catcode} 环境,参数 |#1| 是设置,|#2| 是文件操作,|#3| 是恢复。
+% 默认关闭 \LaTeXiii{} 语法环境,并设置 |@| 的 \tn{catcode} 为 $11$。
+% \begin{macrocode}
+\cs_new_protected:Npn \ctex_file_wrapper:nnn #1#2#3
+ {
+ \use:x
+ {
+ \ExplSyntaxOff
+ \char_set_catcode_letter:n { 64 }
+ #1
+ \exp_not:n {#2}
+ \bool_if:NTF \l__kernel_expl_bool
+ { \ExplSyntaxOn }
+ { \ExplSyntaxOff }
+ \char_set_catcode:nn { 64 } { \char_value_catcode:n { 64 } }
+ #3
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_file_input:n}
+% 输入文件。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_file_input:n #1
+ { \ctex_file_wrapper:nnn { } { \file_input:n {#1} } { } }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_scheme_input:n}
+% 输入 \opt{scheme} 文件。先查找当前文档类下的 \meta{scheme},找不到再查找一般的文件。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_scheme_input:n #1
+ {
+ \ctex_file_wrapper:nnn
+ { }
+ {
+ \tl_if_exist:NTF \c_@@_class_tl
+ {
+ \file_if_exist_input:nF { ctex-scheme- #1 - \c_@@_class_tl .def }
+ { \file_input:n { ctex-scheme- #1 .def } }
+ }
+ { \file_input:n { ctex-scheme- #1 .def } }
+ }
+ { }
+ }
+\cs_generate_variant:Nn \ctex_scheme_input:n { o }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{variable}{\g_@@_section_depth_int}
+% 若大于 |3|,则 \tn{paragraph} 和 \tn{subparagraph} 标题单独占一行;若为 |3|,则
+% \tn{paragraph} 单独占一行。
+% \begin{macrocode}
+%<*!beamer>
+\int_new:N \g_@@_section_depth_int
+\int_gset:Nn \g_@@_section_depth_int { 2 }
+%</!beamer>
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macrocode}
+%</class|ctex|ctexheading>
+%<*class|ctex>
+% \end{macrocode}
+%
+% 对旧版本的宏包给出错误信息。
+% \begin{macrocode}
+\msg_new:nnnn { ctex } { package-too-old }
+ { Support~package~`#1'~too~old. }
+ {
+ Please~update~an~up~to~date~version~of~the~package~`#1'\\
+ using~your~TeX~package~manager~or~from~CTAN.
+ }
+% \end{macrocode}
+%
+% \changes{v2.1}{2015/05/25}{不依赖 \pkg{ifpdf} 宏包。}
+%
+% \begin{macro}[int]{\ifctexpdf}
+% 在 \pkg{zhmetrics} 映射文件中使用。
+% \begin{macrocode}
+\sys_if_output_pdf:TF
+ { \cs_new_eq:NN \ifctexpdf \if_true: }
+ { \cs_new_eq:NN \ifctexpdf \if_false: }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_if_preamble:TF}
+% 测试是否在 \LaTeXe{} 的导言区。在宏包内部初始为真,文档最开始位置再设置为假。
+% 注意,钩子 \cs{ctex_after_end_preamble:n} 在 \tn{AtBeginDocument} 之后执行,
+% 可以与 \tn{@onlypreamble} 的行为一致。
+% \begin{macrocode}
+\cs_new_eq:NN \ctex_if_preamble:TF \use_i:nn
+\ctex_after_end_preamble:n { \cs_set_eq:NN \ctex_if_preamble:TF \use_ii:nn }
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.3}{2015/09/17}{代码实现避免使用 \tn{lowercase} 技巧(Joseph Wright)。}
+%
+% \changes{v2.4.16}{2019/05/11}{允许设置 \texttt{autoindent} 为 $0$。}
+%
+% \begin{macro}[int]{\ctex_set_default_ccwd:Nn}
+% 若参数 |#2| 带长度单位,则设置它为 |tl| 变量 |#1| 的值,否则以 \tn{ccwd} 为单位。
+% \begin{macrocode}
+\cs_new_protected:Npn \ctex_set_default_ccwd:Nn #1#2
+ { \tl_set:Nx #1 { \@@_default_ccwd_aux:n {#2} } }
+\cs_new:Npn \@@_default_ccwd_aux:n #1
+ {
+ \exp_not:n {#1}
+ \exp_after:wN \@@_default_ccwd_aux:w
+ \dim_use:N \tex_dimexpr:D #1 pt \scan_stop: \q_stop
+ }
+\exp_last_unbraced:NNNNo
+ \cs_new:Npn \@@_default_ccwd_aux:w #1 { \tl_to_str:n { pt } } #2 \q_stop
+ { \tl_if_empty:nT {#2} { \ccwd } }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{variable}{\l_@@_encoding_tl}
+% (pdf)\LaTeX{} 初始化编码为 GBK,其它则是 UTF8。
+% \begin{macrocode}
+\tl_new:N \l_@@_encoding_tl
+\tl_set:Nx \l_@@_encoding_tl
+ { \sys_if_engine_pdftex:TF { GBK } { UTF8 } }
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\g_@@_zhmCJK_bool}
+% 是否使用 \pkg{zhmCJK} 宏包。
+% \begin{macrocode}
+\bool_new:N \g_@@_zhmCJK_bool
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\l_@@_autoindent_tl}
+% 保存 \opt{autoindent} 选项的值,空值表示不自动调整首行缩进。
+% \begin{macrocode}
+\tl_new:N \l_@@_autoindent_tl
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}[int]{\ctex_if_autoindent_touched:F}
+% 检查 \opt{autoindent} 选项是否被用户设置。
+% \begin{macrocode}
+\cs_new_eq:NN \ctex_if_autoindent_touched:F \use:n
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_zhmap_case:nnn}
+% 参数 |#1| 是 \pkg{zhmCJK} 的内容,|#2| 是 \pkg{zhmetrics}。
+% \begin{macrocode}
+\cs_new_eq:NN \ctex_zhmap_case:nnn \use_ii:nnn
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_at_end:n}
+% 区分 \tn{AtEndOfClass} 和 \tn{AtEndOfPackage},虽然它们的意思都是一样的。
+% \begin{macrocode}
+%<class>\cs_new_protected_nopar:Npn \ctex_at_end:n { \AtEndOfClass }
+%<ctex>\cs_new_protected_nopar:Npn \ctex_at_end:n { \AtEndOfPackage }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{variable}{\g_@@_std_options_clist}
+% 保存传递给标准文档类的选项。
+% \begin{macrocode}
+%<*class>
+\clist_new:N \g_@@_std_options_clist
+%</class>
+% \end{macrocode}
+% \end{variable}
+%
+% 对无效选项给出警告。
+% \begin{macrocode}
+\msg_new:nnn { ctex } { invalid-option }
+ { Option~`\l_keys_key_tl'~is~invalid~in~current~mode. }
+\msg_new:nnn { ctex } { invalid-value }
+ { Value~`#1'~is~invalid~for~the~key~`\l_keys_key_tl'. }
+% \end{macrocode}
+%
+% 对过时选项或命令给出警告。
+% \begin{macrocode}
+\msg_new:nnn { ctex } { deprecated-option }
+ { Option~ `\l_keys_key_tl'~ is~ deprecated.\\ #1 }
+\msg_new:nnn { ctex } { deprecated-command }
+ { Command~ #1 is~ deprecated.\\ #2 }
+\msg_new:nnn { ctex } { deprecated-environment }
+ { Environment~ `#1'~ is~ deprecated.\\ #2 }
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</class|ctex>
+% \end{macrocode}
+%
+% \begin{variable}{\g_@@_font_size_int}
+% |0| 表示修改默认字体大小为五号,|1| 为小四号,大于 1 则不作修改。初始值 |-1|
+% 表示 \opt{zihao} 选项未初始化,会在将来根据文档类决定初值。
+% \begin{macrocode}
+%<*class|ctex|ctexsize>
+\int_new:N \g_@@_font_size_int
+\int_set:Nn \g_@@_font_size_int { -1 }
+%</class|ctex|ctexsize>
+% \end{macrocode}
+% \end{variable}
+%
+% \subsection{宏包选项}
+%
+% \changes{v2.3}{2015/09/25}
+% {\texttt{.value_required:} 和 \texttt{.value_forbidden:} 已过时。}
+%
+% \begin{macrocode}
+%<*class|style>
+\keys_define:nn { ctex / option }
+ {
+%</class|style>
+% \end{macrocode}
+%
+% \changes{v2.0}{2015/05/06}{新增 \opt{zihao} 选项。}
+% \changes{v2.0}{2015/05/06}{\opt{c5size}, \opt{cs4size} 是过时选项。}
+%
+% \begin{macro}{zihao}
+% \changes{v2.4.1}{2016/05/13}{不允许无参 \opt{zihao} 选项。}
+% \begin{macrocode}
+%<*class|ctex|ctexsize>
+ zihao .choice: ,
+ zihao .value_required:n = true ,
+ zihao / 5 .code:n = { \int_gset:Nn \g_@@_font_size_int { 0 } } ,
+ zihao / -4 .code:n = { \int_gset:Nn \g_@@_font_size_int { 1 } } ,
+ zihao / false .code:n = { \int_gset:Nn \g_@@_font_size_int { 2 } } ,
+%<ctexsize> }
+%</class|ctex|ctexsize>
+%<*class|ctex>
+ c5size .code:n =
+ {
+ \msg_warning:nnn { ctex } { deprecated-option }
+ { Option~ `zihao=5'~ is~ set. }
+ \keys_set:nn { ctex / option } { zihao = 5 }
+ } ,
+ cs4size .code:n =
+ {
+ \msg_warning:nnn { ctex } { deprecated-option }
+ { Option~ `zihao=-4'~ is~ set. }
+ \keys_set:nn { ctex / option } { zihao = -4 }
+ } ,
+ c5size .value_forbidden:n = true ,
+ cs4size .value_forbidden:n = true ,
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.0}{2014/04/23}{新增 \opt{linespread} 选项。}
+%
+% \begin{macro}{linespread}
+% 行距初始值为标志 \texttt{nan},用于检查用户是否设置了 \opt{linespread} 选项。
+% \begin{macrocode}
+ linespread .fp_set:N = \l_@@_line_spread_fp ,
+ linespread .initial:n = { \c_nan_fp } ,
+ linespread .value_required:n = true ,
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.0}{2014/03/13}{新增 \opt{autoindent} 选项。}
+%
+% \begin{macro}{autoindent}
+% 自动调整段落的首行缩进功能。
+% \begin{macrocode}
+ autoindent .choice: ,
+ autoindent .default:n = { true } ,
+ autoindent / true .code:n =
+ {
+ \tl_set:Nn \l_@@_autoindent_tl { 2 \ccwd }
+ \cs_set_eq:NN \ctex_if_autoindent_touched:F \use_none:n
+ } ,
+ autoindent / false .code:n =
+ {
+ \tl_clear:N \l_@@_autoindent_tl
+ \cs_set_eq:NN \ctex_if_autoindent_touched:F \use_none:n
+ } ,
+ autoindent / unknown .code:n =
+ {
+ \ctex_set_default_ccwd:Nn \l_@@_autoindent_tl {#1}
+ \cs_set_eq:NN \ctex_if_autoindent_touched:F \use_none:n
+ } ,
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.0}{2015/03/21}{\opt{indent}, \opt{noindent} 是过时选项。}
+% \begin{macro}{indent}
+% 仅为兼容性保留,已过时。
+% \begin{macrocode}
+ indent .code:n =
+ {
+ \msg_warning:nnn { ctex } { deprecated-option }
+ {
+ The~ functionality~ has~ been~ removed.\\
+ It's~ better~ to~ set~ the~ heading~ styles~ via~ `afterindent'~
+ options.~
+ }
+ } ,
+ indent .value_forbidden:n = true ,
+ noindent .code:n =
+ {
+ \msg_warning:nnn { ctex } { deprecated-option }
+ {
+ The~ functionality~ has~ been~ removed.\\
+ It's~ better~ to~ set~ the~ heading~ styles~ via~ `afterindent'~
+ options.
+ }
+ } ,
+ noindent .value_forbidden:n = true ,
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{GBK,UTF8}
+% \begin{macrocode}
+ GBK .code:n = { \tl_set:Nn \l_@@_encoding_tl { GBK } } ,
+ UTF8 .code:n = { \tl_set:Nn \l_@@_encoding_tl { UTF8 } } ,
+ GBK .value_forbidden:n = true ,
+ UTF8 .value_forbidden:n = true ,
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.0}{2014/03/08}{新增 \opt{fontset} 选项。}
+% \changes{v2.0}{2015/03/21}{\opt{nofonts}, \opt{adobefonts}, \opt{winfonts}
+% 是过时选项。}
+%
+% \begin{macro}{fontset}
+% 初始值为空。若用户未指定,则根据操作系统载入对应字体配置,可以区分 Windows、
+% Mac~OS~X 和其它。
+% \begin{macrocode}
+ fontset .tl_gset:N = \g_@@_fontset_tl ,
+ nofonts .code:n =
+ {
+ \msg_warning:nnn { ctex } { deprecated-option }
+ {
+ Option~ `fontset=none'~ is~ set.~ It~ is~ better~ to~ use~
+ fontset~ option.
+ }
+ \keys_set:nn { ctex / option } { fontset = none }
+ } ,
+ adobefonts .code:n =
+ {
+ \msg_warning:nnn { ctex } { deprecated-option }
+ {
+ Option~ `fontset=adobe'~ is~ set.~ It~ is~ better~ to~ use~
+ fontset~ option.
+ }
+ \keys_set:nn { ctex / option } { fontset = adobe }
+ } ,
+ winfonts .code:n =
+ {
+ \msg_warning:nnn { ctex } { deprecated-option }
+ {
+ Option~ `fontset=windows'~ is~ set.~ It~ is~ better~ to~ use~
+ fontset~ option.
+ }
+ \keys_set:nn { ctex / option } { fontset = windows }
+ } ,
+ nofonts .value_forbidden:n = true ,
+ winfonts .value_forbidden:n = true ,
+ adobefonts .value_forbidden:n = true ,
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.0}{2014/03/08}{新增 \opt{zhmCJK} 支持选项。}
+% \changes{v2.0}{2015/03/22}{\opt{nozhmap} 是过时选项。}
+%
+% \begin{macro}{zhmap}
+% \begin{macrocode}
+ zhmap .choice: ,
+ zhmap .default:n = { true } ,
+ zhmap / zhmCJK .code:n =
+ {
+ \bool_gset_true:N \g_@@_zhmCJK_bool
+ \cs_gset_eq:NN \ctex_zhmap_case:nnn \use_i:nnn
+ } ,
+ zhmap / true .code:n =
+ {
+ \bool_gset_false:N \g_@@_zhmCJK_bool
+ \cs_gset_eq:NN \ctex_zhmap_case:nnn \use_ii:nnn
+ } ,
+ zhmap / false .code:n =
+ {
+ \bool_gset_false:N \g_@@_zhmCJK_bool
+ \cs_gset_eq:NN \ctex_zhmap_case:nnn \use_iii:nnn
+ } ,
+ nozhmap .code:n =
+ {
+ \msg_warning:nnn { ctex } { deprecated-option }
+ { Option~ `zhmap=false'~ is~ set. }
+ \keys_set:nn { ctex / option } { zhmap = false }
+ } ,
+ nozhmap .value_forbidden:n = true ,
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.0}{2014/04/11}{\opt{punct} 选项可以设置标点格式。}
+% \changes{v2.0}{2015/03/21}{\opt{nopunct} 是过时选项。}
+%
+% \begin{macro}{punct}
+% 设置标点符号输出格式。
+% \begin{macrocode}
+ punct .tl_set:N = \l_@@_punct_tl ,
+ punct .default:n = { quanjiao } ,
+ punct .initial:n = { quanjiao } ,
+ nopunct .code:n =
+ {
+ \msg_warning:nnn { ctex } { deprecated-option }
+ { Option~ `punct=plain'~ is~ set. }
+ \keys_set:nn { ctex / option } { punct = plain }
+ } ,
+ nopunct .value_forbidden:n = true ,
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.0}{2015/03/22}{\opt{nospace} 是过时选项。}
+% \begin{macro}{space}
+% \begin{macrocode}
+ space .choices:nn =
+ { true , auto , false }
+ {
+ \exp_args:Nx \ctex_at_end:n
+ { \keys_set:nn { ctex } { space = \l_keys_choice_tl } }
+ } ,
+ space .default:n = { true } ,
+ nospace .code:n =
+ {
+ \msg_warning:nnn { ctex } { deprecated-option }
+ { Option~ `space=false'~ is~ set. }
+ \keys_set:nn { ctex / option } { space = false }
+ } ,
+ nospace .value_forbidden:n = true ,
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.0}{2014/03/08}{\pkg{ctex} 宏包新增 \opt{heading} 选项。}
+%
+% \begin{macro}{heading}
+% \begin{macrocode}
+ heading .bool_set:N = \l_@@_heading_bool ,
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</class|ctex>
+%<*class|ctex|ctexheading>
+% \end{macrocode}
+%
+% \begin{macro}{sub3section,sub4section}
+% \begin{macrocode}
+%<*!beamer>
+ sub3section .code:n =
+ { \int_gset:Nn \g_@@_section_depth_int { 3 } } ,
+ sub4section .code:n =
+ { \int_gset:Nn \g_@@_section_depth_int { 4 } } ,
+ sub3section .value_forbidden:n = true ,
+ sub4section .value_forbidden:n = true ,
+%</!beamer>
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.0}{2015/04/15}{新增 \opt{scheme} 选项,并将 \opt{cap} 和 \opt{nocap}
+% 列为过时选项。}
+% \begin{macro}{scheme}
+% \begin{macrocode}
+ scheme .tl_set:N = \l_@@_scheme_tl ,
+%<*ctexheading>
+ scheme .default:n = { plain } ,
+ scheme .initial:n = { plain }
+ }
+%</ctexheading>
+%<*!ctexheading>
+ scheme .default:n = { chinese } ,
+ scheme .initial:n = { chinese } ,
+%</!ctexheading>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</class|ctex|ctexheading>
+%<*class|ctex>
+% \end{macrocode}
+%
+% \begin{macrocode}
+ cap .code:n =
+ {
+ \msg_warning:nnn { ctex } { deprecated-option }
+ { Option~ `scheme = chinese' ~ is~ set. }
+ \keys_set:nn { ctex / option } { scheme = chinese }
+ } ,
+ nocap .code:n =
+ {
+ \msg_warning:nnn { ctex } { deprecated-option }
+ { Option~ `scheme = plain' ~ is~ set. }
+ \keys_set:nn { ctex / option } { scheme = plain }
+ } ,
+ cap .value_forbidden:n = true ,
+ nocap .value_forbidden:n = true ,
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.0}{2015/04/20}{\opt{hyperref} 成为过时选项,原选项功能总是打开。}
+% \changes{v2.0}{2015/04/20}{\opt{fancyhdr} 成为过时选项,原选项功能总是打开。}
+% \changes{v2.0}{2015/04/20}{\opt{fntef} 成为过时选项,原选项功能总是打开。}
+% \begin{macro}{fntef,fancyhdr,hyperref}
+% \changes{v2.1}{2015/06/03}{补充定义 \tn{hypersetup}。}
+% 这些都是过时的宏包兼容选项,原选项功能总是打开的。
+% \begin{macrocode}
+ fntef .code:n =
+ {
+ \msg_warning:nnn { ctex } { deprecated-option }
+ { `(xe)CJKfntef'~ package~ is~ always~ loaded. }
+ } ,
+ fancyhdr .code:n =
+ {
+ \msg_warning:nnn { ctex } { deprecated-option }
+ { `fancyhdr'~ package~ is~ loaded. }
+ \RequirePackage { fancyhdr }
+ } ,
+ hyperref .code:n =
+ {
+ \msg_warning:nnn { ctex } { deprecated-option }
+ { `hyperref'~ package~ will~ be~ loaded. }
+ \ctex_at_end:n
+ {
+ \cs_if_exist:NF \hypersetup
+ { \cs_new_eq:NN \hypersetup \ctex_hypersetup:n }
+ }
+ \ctex_at_end_preamble:n { \RequirePackage { hyperref } }
+ } ,
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</class|ctex>
+%<*class|ctex|ctexsize>
+% \end{macrocode}
+%
+% \changes{v2.0}{2015/05/06}{兼容 \pkg{extsizes} 宏包、\cls{beamer}、\pkg{memoir}
+% 等提供的更多字号选项。}
+% \changes{v2.0.1}{2015/05/15}{修复 \opt{10pt}、\opt{11pt} 等选项无效的问题。}
+% \begin{macro}{10pt,11pt,12pt}
+% 使 \pkg{ctex} 和 \pkg{ctexsize} 可以接受文档类的全局选项,不修改默认字体大小。
+% 在文档类下还将参数传给标准文档类。
+% \begin{macrocode}
+\tl_clear_new:N \l_@@_tmp_tl
+\clist_map_inline:nn
+ {
+ 10pt , 11pt , 12pt ,
+ 8pt , 9pt , 14pt , 17pt , 20pt , 25pt , 30pt , 36pt , 48pt , 60pt
+ }
+ {
+ \tl_put_right:Nn \l_@@_tmp_tl
+ {
+ #1 .code:n =
+%<*!class>
+ { \int_gset:Nn \g_@@_font_size_int { 2 } } ,
+%</!class>
+%<*class>
+ {
+ \int_gset:Nn \g_@@_font_size_int { 2 }
+ \clist_gput_right:Nn \g_@@_std_options_clist {#1}
+ } ,
+%</class>
+ #1 .value_forbidden:n = true ,
+ }
+ }
+\use:x { \keys_define:nn { ctex / option } { \exp_not:o { \l_@@_tmp_tl } } }
+\tl_clear:N \l_@@_tmp_tl
+% \end{macrocode}
+% \end{macro}
+%
+% 将未知选项传给标准文档类。
+% \begin{macrocode}
+%<*class>
+\keys_define:nn { ctex / option }
+ {
+ unknown .code:n =
+ { \clist_gput_right:No \g_@@_std_options_clist { \CurrentOption } }
+ }
+%</class>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<!ctexsize>\ctex_file_input:n { ctexopts.cfg }
+%</class|ctex|ctexsize>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*class|style>
+\ProcessKeysOptions { ctex / option }
+%</class|style>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*class>
+% \end{macrocode}
+%
+% 五号字使用标准文档类的 |10pt| 字体大小设置,小四号字则使用 |12pt|。
+% \begin{macrocode}
+\if_case:w \g_@@_font_size_int
+ \clist_gput_right:Nn \g_@@_std_options_clist { 10pt }
+\or:
+ \clist_gput_right:Nn \g_@@_std_options_clist { 12pt }
+\fi:
+% \end{macrocode}
+%
+% 使用 \tn{PassOptionsToClass} 是为了预防可能存在的选项冲突。
+% \begin{macrocode}
+%<*article>
+\tl_const:Nn \c_@@_class_tl { article }
+\PassOptionsToClass { \g_@@_std_options_clist } { article }
+\LoadClass { article }
+%</article>
+%<*book>
+\tl_const:Nn \c_@@_class_tl { book }
+\PassOptionsToClass { \g_@@_std_options_clist } { book }
+\LoadClass { book }
+%</book>
+%<*report>
+\tl_const:Nn \c_@@_class_tl { report }
+\PassOptionsToClass { \g_@@_std_options_clist } { report }
+\LoadClass { report }
+%</report>
+%<*beamer>
+\tl_const:Nn \c_@@_class_tl { beamer }
+\PassOptionsToClass { \g_@@_std_options_clist } { beamer }
+\LoadClass { beamer }
+%</beamer>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</class>
+% \end{macrocode}
+%
+% \subsection{特定引擎支持与设置}
+%
+% \subsubsection{\pkg{ctex-engine-pdftex.def}}
+%
+% \begin{macro}[int]{\ctex_set_zhmap:n}
+% 设置 \upTeX{} 字体映射,同时作用于 \tn{AtBeginDvi} 与
+% \tn{AtBeginShipoutFirst}。该宏对 \pdfTeX{} 和 \upTeX{} 均有用。
+% \begin{macrocode}
+%<*pdftex|uptex|aptex>
+\cs_new_protected_nopar:Npn \ctex_set_zhmap:n #1
+ {
+ \AtBeginDvi {#1}
+ \ctex_at_end_package:nn { atbegshi }
+ { \AtBeginShipoutFirst {#1} }
+ }
+\@onlypreamble \ctex_set_zhmap:n
+%</pdftex|uptex|aptex>
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%<*pdftex>
+% \end{macrocode}
+%
+% \changes{v2.1}{2015/05/18}{给 \pdfLaTeX{} 下的非 UTF8 编码 CJK 字体族加上 CMap。}
+%
+% \begin{variable}{\c_@@_cmap_encoding_seq}
+% 需要加上 CMap 的 CJK 字体编码。
+% \begin{macrocode}
+\seq_const_from_clist:Nn \c_@@_cmap_encoding_seq
+ { C19 , C10 , C00 , C09 , C40 , C60 }
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}[int]{\ctex_family_cmap:nn}
+% 在 \tn{DeclareFontFamily} 的 \meta{loading-settings} 中给 CJK 字体族加上 CMap。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_family_cmap:nn #1#2
+ {
+ \cs_if_free:cF { #1 + #2 }
+ {
+ \seq_if_in:NnT \c_@@_cmap_encoding_seq {#1}
+ { \tl_gput_right:cn { #1 + #2 } { \ctex_add_cmap:n {#1} } }
+ }
+ }
+\cs_generate_variant:Nn \ctex_family_cmap:nn { x }
+\cs_new_eq:NN \CTEX@Family@CMap \ctex_family_cmap:xn
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_add_cmap:n}
+% 给 |#1| 编码的 CJK 字体加上 CMap。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_add_cmap:n #1
+ {
+ \cs_if_free:NF \CJK@plane
+ { \ctex_add_cmap:cn { @@_add_cmap_ #1 \CJK@plane : } {#1} }
+ }
+\cs_new_protected_nopar:Npn \ctex_add_cmap:Nn #1#2
+ {
+ \cs_if_exist:NF #1 { \@@_save_cmap:Nn #1 {#2} }
+ #1
+ }
+\cs_generate_variant:Nn \ctex_add_cmap:Nn { c }
+\cs_new_protected_nopar:Npn \@@_save_cmap:Nn #1#2
+ {
+ \tl_set:Nx \l_@@_tmp_tl { \str_lower_case:n {#2} \CJK@plane }
+ \tex_immediate:D \tex_pdfobj:D stream ~ file { \l_@@_tmp_tl .cmap }
+ \cs_new_protected_nopar:Npx #1
+ {
+ \exp_not:N \tex_pdffontattr:D \exp_not:N \tex_font:D
+ { /ToUnicode ~ \int_use:N \tex_pdflastobj:D \c_space_tl 0 ~ R }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\DeclareFontFamily}
+% 只在 \pdfLaTeX{} 下加 CMap。如 \pkg{cmap} 宏包被引入,则不重复设置。
+% \begin{macrocode}
+\group_begin:
+\char_set_catcode_other:N \#
+\sys_if_output_pdf:TF
+ {
+ \group_end:
+ \ctex_appto_cmd:NnnTF \DeclareFontFamily { \ExplSyntaxOff }
+ { \CTEX@Family@CMap {#1} {#2} }
+ {
+ \ctex_at_end_package:nn { cmap }
+ { \cs_gset_eq:NN \CTEX@Family@CMap \use_none:nn }
+ }
+ { \ctex_patch_failure:N \DeclareFontFamily }
+ }
+ { \group_end: }
+% \end{macrocode}
+% \end{macro}
+%
+% 首先检查选项,决定是否载入 \pkg{zhmCJK} 宏包。
+% \begin{macrocode}
+\if_bool:N \g_@@_zhmCJK_bool
+ \PassOptionsToPackage { encoding = \l_@@_encoding_tl } { zhmCJK }
+ \RequirePackage { zhmCJK }
+% \end{macrocode}
+% 不载入 \pkg{zhmCJK} 宏包时直接调用 \pkg{CJK} 及相关宏包。
+% \begin{macrocode}
+\else:
+ \str_if_eq:onTF { \l_@@_encoding_tl } { GBK }
+ { \RequirePackage { CJK } }
+ { \RequirePackage { CJKutf8 } }
+ \RequirePackage { CJKpunct , CJKspace }
+% \end{macrocode}
+%
+% \begin{macro}[int]{\ctex_load_zhmap:nnnn}
+% 载入 \pkg{zhmetrics} 的字体映射文件,同时设置 \tn{CJKrmdefault} 等。
+% \begin{macrocode}
+ \cs_new_protected_nopar:Npn \ctex_load_zhmap:nnnn #1#2#3#4
+ {
+ \tl_set:Nn \CJKrmdefault {#1}
+ \tl_set:Nn \CJKsfdefault {#2}
+ \tl_set:Nn \CJKttdefault {#3}
+ \ctex_set_zhmap:n { \ctex_zhmap_input:n {#4} }
+ }
+ \@onlypreamble \ctex_load_zhmap:nnnn
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.4.4}{2016/09/09}{解决 \opt{zhmap} 文件的 \tn{catcode} 问题。}
+% \begin{macro}[int]{\ctex_zhmap_input:n}
+% 载入字体映射文件时,确认 |%| 和 |\| 的 \tn{catcode}。
+% \begin{macrocode}
+ \cs_new_protected_nopar:Npn \ctex_zhmap_input:n #1
+ {
+ \ctex_file_wrapper:nnn
+ {
+ \char_set_catcode_comment:n { 37 } % %
+ \char_set_catcode_escape:n { 92 } % \
+ }
+ { \file_input:n {#1} }
+ {
+ \char_set_catcode:nn { 37 } { \char_value_catcode:n { 37 } }
+ \char_set_catcode:nn { 92 } { \char_value_catcode:n { 92 } }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+ \tl_if_exist:NF \CJKfamilydefault
+ { \tl_const:Nn \CJKfamilydefault { \CJKrmdefault } }
+ \tl_if_exist:NF \CJKrmdefault { \tl_new:N \CJKrmdefault }
+ \tl_if_exist:NF \CJKsfdefault { \tl_new:N \CJKsfdefault }
+ \tl_if_exist:NF \CJKttdefault { \tl_new:N \CJKttdefault }
+ \ctex_preto_cmd:NnnTF \rmfamily { \ExplSyntaxOff }
+ { \CJKfamily { \CJKrmdefault } }
+ { }
+ { \ctex_patch_failure:N \rmfamily }
+ \ctex_preto_cmd:NnnTF \sffamily { \ExplSyntaxOff }
+ { \CJKfamily { \CJKsfdefault } }
+ { }
+ { \ctex_patch_failure:N \sffamily }
+ \ctex_preto_cmd:NnnTF \ttfamily { \ExplSyntaxOff }
+ { \CJKfamily { \CJKttdefault } }
+ { }
+ { \ctex_patch_failure:N \ttfamily }
+ \ctex_preto_cmd:NnnTF \normalfont { \ExplSyntaxOff }
+ { \CJKfamily { \CJKfamilydefault } }
+ { \cs_set_eq:NN \reset@font \normalfont }
+ { \ctex_patch_failure:N \normalfont }
+% \end{macrocode}
+%
+% \pkg{zhmCJK} 判断结束。
+% \begin{macrocode}
+\fi:
+% \end{macrocode}
+%
+% \begin{macro}[int]{\ctex_CJK_input:n,\CJK@input}
+% \pkg{breqn} 包可能会在正文中将 |^| 的 \tn{catcode} 改为 $12$ 或 $13$,这将
+% 破坏 \pkg{CJK} 对汉字的首字节的定义(\tn{CJK@loadBinding} 和
+% \tn{CJK@loadEncoding})。因此需要确保载入 \file{.enc} 和 \file{.bdg} 文件时,
+% |^| 的 \tn{catcode} 为 $7$。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_CJK_input:n #1
+ {
+ \ctex_file_wrapper:nnn
+ {
+ \char_set_catcode_other:n { 60 } % <
+ \char_set_catcode_math_superscript:n { 94 } % ^
+ \int_set:Nn \tex_endlinechar:D { -1 }
+ }
+ { \file_input:n {#1} }
+ {
+ \char_set_catcode:nn { 60 } { \char_value_catcode:n { 60 } }
+ \char_set_catcode:nn { 94 } { \char_value_catcode:n { 94 } }
+ \int_set:Nn \tex_endlinechar:D { \int_use:N \tex_endlinechar:D }
+ }
+ }
+\cs_set_eq:NN \CJK@input \ctex_CJK_input:n
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_plane_to_utfxvibe:Nn,\CJK@surr}
+% \changes{v2.0}{2014/04/08}{解决与 \tn{nouppercase} 的冲突。}
+% \pkg{fancyhdr} 宏包的 \tn{nouppercase} 会将 \tn{uppercase} 定义为 \tn{relax},而
+% \tn{CJK@surr} 需要用它将 \tn{CJK@plane} 转化成大写字母,这就造成了冲突^^A
+% \footnote{\url{https://github.com/CTeX-org/ctex-kit/issues/146}}。
+% 我们在这里给出 \tn{CJK@surr} 的一个不依赖 \tn{uppercase} 的实现。
+% \begin{macrocode}
+\if_cs_exist:N \CJK@surr
+ \cs_new_protected_nopar:Npn \ctex_plane_to_utfxvibe:Nn #1#2
+ {
+ \tl_set:Nx \l_@@_tmp_tl {#2}
+ \int_set:Nn \l_@@_tmp_int
+ { \exp_args:No \int_from_hex:n { \l_@@_tmp_tl } }
+ \int_compare:nNnTF \l_@@_tmp_int < { 256 }
+ { \tl_gset:Nx #1 { \int_to_Hex:n { \l_@@_tmp_int } } }
+ {
+ \int_sub:Nn \l_@@_tmp_int { 256 }
+ \tl_gset:Nx #1
+ {
+ \int_to_Hex:n
+ { \int_div_truncate:nn { \l_@@_tmp_int } { 4 } + "D800 }
+ \int_to_Hex:n
+ { \int_mod:nn { \l_@@_tmp_int } { 4 } + "DC }
+ }
+ }
+ }
+ \cs_set_eq:NN \CJK@surr \ctex_plane_to_utfxvibe:Nn
+\fi:
+% \end{macrocode}
+% \end{macro}
+%
+% \pkg{CJKpunct} 宏包会在 \tn{AtBeginDocument} 的里设置标点格式为 \opt{quanjiao}。
+% \begin{macrocode}
+\AtBeginDocument
+ {
+ \str_if_eq:eeF { \l_@@_punct_tl } { quanjiao }
+ { \punctstyle { \l_@@_punct_tl } }
+ }
+% \end{macrocode}
+%
+% 在导言区末尾更新 \tn{CJKfamilydefault},注意要在 \tn{CJK@envStart} 之前使用。
+% \begin{macrocode}
+\ctex_at_end_preamble:n { \ctex_update_default_family: }
+% \end{macrocode}
+%
+% 启用中文字符功能。\texttt{GBK} 编码时,将汉字的首字节设置为活动字符,并对这些
+% 字符初始化;\texttt{UTF8} 编码时,上游宏包已经处理好。
+% \tn{CJK@makeActive} 应该先于 \file{ctex-name-gbk.cfg} 等文件的载入。
+% 注意 \tn{CJK@loadBinding} 需要调用补丁后的 \tn{CJK@input}。使用
+% \pkg{zhmCJK} 时,此功能已经被启用。
+% \begin{macrocode}
+\reverse_if:N \if_bool:N \g_@@_zhmCJK_bool
+ \str_if_eq:onF { \l_@@_encoding_tl } { UTF8 }
+ {
+ \CJK@makeActive
+ \CJK@loadBinding { standard }
+ }
+% \end{macrocode}
+%
+% 在导言区结束时调用 \tn{CJK@envStart} 启用完整的中文功能。
+%
+% \tn{CJK@envStart} 的定义是
+% \begin{verbatim}
+% \def\CJK@envStart#1#2#3{
+% \CJK@upperReset
+% \ifCJK@lowercase@
+% \CJK@lowerReset
+% \fi%
+% \CJK@makeActive%
+% \CJK@global\let\CJK@selectFamily \CJK@selFam
+% \CJK@global\let\CJK@selectEnc \CJK@selEnc%
+% \def\CJK@@@enc{#2}
+% \ifx\CJK@@@enc \@empty
+% \PackageInfo{CJK}{
+% no encoding parameter given,\MessageBreak
+% waiting for \protect\CJKenc\space commands}
+% \else
+% \CJKenc{#2}
+% \fi
+% \CJKfontenc{#2}{#1}
+% \CJKfamily{#3}
+% \def\CJK@series{\f@series}
+% \def\CJK@shape{\f@shape}%
+% \csname CJKhook\endcsname}
+% \end{verbatim}
+% \tn{CJK@upperReset} 可能会有一定风险,因此我们直到导言区末尾才使用
+% \tn{CJK@envStart}。这样可以避免将 \env{CJK} 环境内置入 \env{document} 环境的
+% 最里层,最后也就不需要 \tn{clearpage}。\pkg{zhmCJK} 已经提供类似功能。
+% 注意先使用 \cs{ctex_update_default_family:} 更新 \tn{CJKfamilydefault}。
+% \begin{macrocode}
+ \exp_args:Nx \ctex_at_end_preamble:n
+ {
+ \exp_not:N \CJK@envStart
+ { } { \l_@@_encoding_tl } { \exp_not:N \CJKfamilydefault }
+ \exp_not:N \CJKtilde
+ }
+% \end{macrocode}
+%
+% \pkg{zhmCJK} 判断结束。
+% \begin{macrocode}
+\fi:
+% \end{macrocode}
+%
+% \begin{macro}[int]{\ctex_auto_ignorespaces:}
+% 关闭名字空间,保存 \tn{CJK@@ignorespaces} 的定义,方便使用。
+% \begin{macrocode}
+%<@@=>
+\cs_new_eq:NN \ctex_auto_ignorespaces: \CJK@@ignorespaces
+% \end{macrocode}
+% 恢复名字空间,要把它放在一个 \env{macrocode} 环境中,\cls{l3doc} 才能正确工作。
+% \begin{macrocode}
+%<@@=ctex>
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_ignorespaces_case:N,\ctex_set_ignorespaces:}
+% 设置忽略空格的的方式。根据 \opt{space} 选项的值重定义 \tn{CJK@ignorespaces},
+% 并保存起来供 \tn{CJKhook} 备用。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_ignorespaces_case:N #1
+ {
+ \cs_set_protected_nopar:Npn \ctex_set_ignorespaces:
+ { \cs_set_eq:NN \CJK@ignorespaces #1 }
+ \ctex_set_ignorespaces:
+ }
+\cs_new_protected_nopar:Npn \ctex_set_ignorespaces:
+ { \cs_set_eq:NN \CJK@ignorespaces \ctex_auto_ignorespaces: }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\CJKhook}
+% \env{CJK} 和 \env{CJK*} 环境都会重新定义 \tn{CJK@ignorespaces}。我们在 \pkg{CJK}
+% 宏包提供的 \tn{CJKhook} 里重新设置它,让这两个环境忽略空格的方式都受 \opt{space}
+% 选项的控制。这对 \pkg{zhmCJK} 是必要的。
+% \begin{macrocode}
+\ctex_gadd_hook:Nn \CJKhook { \ctex_set_ignorespaces: }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_punct_set:n}
+% 设置 CJK 族对应到实际的字体。|#1| 是 \opt{fontset} 的名字。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_punct_set:n #1
+ {
+ \clist_map_inline:Nn \c_@@_punct_family_clist
+ {
+ \cs_if_free:cF { c_@@_ #1 ##1 _punct_spaces_tl }
+ {
+ \cs_set_eq:cc
+ { CJKpunct@ ##1 @spaces }
+ { c_@@_ #1 ##1 _punct_spaces_tl }
+ }
+ }
+ }
+\clist_const:Nn \c_@@_punct_family_clist
+ {
+ zhsong , zhhei , zhfs , zhkai , zhli , zhyou ,
+ zhsongb , zhheil , zhheib , zhyoub , zhyahei , zhyaheib
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_punct_map_family:nn}
+% CJK 族 |#1| 使用族 |#2| 的边界信息。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_punct_map_family:nn #1#2
+ {
+ \cs_if_free:cF { CJKpunct@ #2 @spaces }
+ { \cs_set_eq:cc { CJKpunct@ #1 @spaces } { CJKpunct@ #2 @spaces } }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_punct_map_bfseries:nn}
+% CJK 族 |#1| 的 \tn{bfseries} 使用族 |#2| 的边界信息。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_punct_map_bfseries:nn #1#2
+ {
+ \clist_map_inline:nn {#1}
+ {
+ \ctex_punct_map_series:nnn { ##1 } { b } {#2}
+ \ctex_punct_map_series:nnn { ##1 } { bx } {#2}
+ }
+ }
+\cs_new_protected_nopar:Npn \ctex_punct_map_series:nnn #1#2#3
+ {
+ \CJKpunctmapfamily { C19 } {#1} {#2} { m } {#3}
+ \CJKpunctmapfamily { C19 } {#1} {#2} { it } {#3}
+ \CJKpunctmapfamily { C19 } {#1} {#2} { sl } {#3}
+ \CJKpunctmapfamily { C70 } {#1} {#2} { m } {#3}
+ \CJKpunctmapfamily { C70 } {#1} {#2} { it } {#3}
+ \CJKpunctmapfamily { C70 } {#1} {#2} { sl } {#3}
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_punct_map_itshape:nn}
+% CJK 族 |#1| 的 \tn{itshape} 使用族 |#2| 的边界信息。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_punct_map_itshape:nn #1#2
+ {
+ \CJKpunctmapfamily { C19 } {#1} { m } { it } {#2}
+ \CJKpunctmapfamily { C19 } {#1} { b } { it } {#2}
+ \CJKpunctmapfamily { C19 } {#1} { bx } { it } {#2}
+ \CJKpunctmapfamily { C70 } {#1} { m } { it } {#2}
+ \CJKpunctmapfamily { C70 } {#1} { b } { it } {#2}
+ \CJKpunctmapfamily { C70 } {#1} { bx } { it } {#2}
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_punct_space:nn,\ctexspadef}
+% 定义标点的边界信息。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_punct_space:nn #1#2
+ { \tl_const:cn { c_@@_ #1 _punct_spaces_tl } {#2} }
+\cs_new_eq:NN \ctexspadef \ctex_punct_space:nn
+% \end{macrocode}
+% \end{macro}
+%
+% 载入边界信息文件。
+% \begin{macrocode}
+\ctex_file_input:n { ctexspa.def }
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</pdftex>
+% \end{macrocode}
+%
+% \subsubsection{\pkg{ctex-engine-xetex.def}}
+%
+% \begin{macrocode}
+%<*xetex>
+% \end{macrocode}
+%
+% \changes{v2.4.4}{2016/09/12}{不再默认设置 \pkg{xeCJK} 的伪粗体。}
+% \begin{macrocode}
+\RequirePackage { xeCJK }
+\exp_args:Nx \xeCJKsetup
+ {
+ LoadFandol = false ,
+ PunctStyle = \l_@@_punct_tl
+ }
+% \end{macrocode}
+%
+% 最新版本的 \pkg{fontspec} 默认对 \tn{rmfamily} 和 \tn{sffamily} 设置
+% |Ligatures=TeX|,对 \tn{ttfamily} 设置 |WordSpace={1,0,0}| 和
+% |PunctuationSpace=WordSpace|。
+% \begin{macrocode}
+\@ifpackagelater { fontspec } { 2014/05/25 } { }
+ { \msg_error:nnn { ctex } { package-too-old } { fontspec } }
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</xetex>
+% \end{macrocode}
+%
+% \subsubsection{\pkg{ctex-engine-luatex.def}}
+%
+% \begin{macrocode}
+%<*luatex>
+% \end{macrocode}
+%
+% \changes{v2.0}{2014/03/08}{通过 \pkg{LuaTeX-ja} 宏包支持 \LuaLaTeX。}
+% \changes{v2.3}{2015/09/25}{更新 \pkg{LuaTeX-ja} 支持(20150922.0)。}
+%
+% \pkg{LuaTeX-ja} 为了兼容 p\LaTeX 的使用习惯,对 \LaTeXe 的 \pkg{NFSS} 作了不少
+% 修改和扩充,这对于简体中文用户来说不是必要的。我们在这里禁用它。
+% \begin{macrocode}
+\msg_new:nnn { ctex } { luatexja-loaded }
+ {
+ Package~`luatexja'~can~not~be~loaded~before~`ctex'.\\
+ Loading~file~`#1'~will~abort!
+ }
+\@ifpackageloaded { luatexja }
+ { \msg_critical:nnx { ctex } { luatexja-loaded } { \g_file_curr_name_str } }
+ { \tl_const:cn { ver@ltj-latex.\@pkgextension } { 9999/99/99 } }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\RequirePackage { luatexja }
+\@ifpackagelater { luatexja } { 2015/09/21 } { }
+ { \msg_error:nnn { ctex } { package-too-old } { luatexja } }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\RequirePackage { fontspec }
+\@ifpackagelater { fontspec } { 2014/05/25 } { }
+ { \msg_error:nnn { ctex } { package-too-old } { fontspec } }
+% \end{macrocode}
+%
+% \paragraph{\pkg{LuaTeX-ja} 的默认设置}
+%
+% \begin{macrocode}
+\ExplSyntaxOff
+% \end{macrocode}
+%
+% 以下设置抄录自 \file{lltjdefs.sty},略有改动。
+%
+% \changes{v2.4.11}{2017/08/17}{不把 Enclosed Alphanumerics 设置为 JAchar。}
+% U+2460--U+24FF (Enclosed Alphanumerics) 原属于字符范围 6,是 JAchar,
+% 我们把它们归入字符范围 3,改成 ALchar。
+% \begin{macrocode}
+\ltjdefcharrange{1}{"80-"36F, "1E00-"1EFF}
+\ltjdefcharrange{2}{"370-"4FF, "1F00-"1FFF}
+\ltjdefcharrange{3}{%
+ "2000-"206F, "2070-"243F, "2460-"24FF, "2500-"27BF, "2900-"29FF,
+ "2B00-"2BFF}
+\ltjdefcharrange{4}{%
+ "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF,
+ "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A82F, "A840-"ABFF, "FB00-"FE0F,
+ "FE20-"FE2F, "FE70-"FEFF, "10000-"1FFFF, "E000-"F8FF} % non-Japanese
+\ltjdefcharrange{5}{"D800-"DFFF, "E0000-"E00FF, "E01F0-"10FFFF}
+\ltjdefcharrange{6}{%
+ "2E80-"2EFF, "3000-"30FF, "3190-"319F, "31F0-"4DBF,
+ "4E00-"9FFF, "F900-"FAFF, "FE10-"FE6F, "20000-"2FFFF, "E0100-"E01EF}
+\ltjdefcharrange{7}{%
+ "1100-"11FF, "2F00-"2FFF, "3100-"31EF, "A000-"A4CF,
+ "A830-"A83F, "AC00-"D7FF}
+\ltjdefcharrange{8}{"A7, "A8, "B0, "B1, "B4, "B6, "D7, "F7}
+% \end{macrocode}
+% 将引号、破折号等中西文公用的标点符号归入字符范围 9,将他们设置为 JAchar。
+% \begin{macrocode}
+\ltjdefcharrange{9}{%
+ "2018, "2019, "201C, "201D, "2013, "2014, "2025, "2026, "2027, "2E3A}
+% \end{macrocode}
+% \changes{v2.4.11}{2017/08/17}{不把希腊和西里尔字母设置为 JAchar。}
+% \pkg{LuaTeX-ja} 默认把字符范围 2 和 3 设置为 JAchar,我们这里把它们都改成 ALchar。
+% \begin{macrocode}
+\ltjsetparameter{jacharrange={-1, -2, -3, -4, -5, +6, +7, -8, +9}}
+\directlua{for x=128,255 do luatexja.math.is_math_letters[x] = true end}
+% \end{macrocode}
+%
+% 以下设置抄录自 \file{ltj-latex.sty}。
+% \begin{macrocode}
+\directlua{
+ local s = kpse.find_file('ltj-kinsoku.lua', 'tex')
+ luatexja.stack.charprop_stack_table[0] = s and dofile(s) or {}
+}
+\ltjsetparameter{kanjiskip=\z@ plus .4pt minus .5pt,
+ xkanjiskip=.25\zw plus 1pt minus 1pt,
+ autospacing, autoxspacing, jacharrange={-1},
+ yalbaselineshift=\z@, yjabaselineshift=\z@,
+ jcharwidowpenalty=500, differentjfm=paverage
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\ExplSyntaxOn
+% \end{macrocode}
+%
+% \paragraph{\pkg{LuaTeX-ja} 的补丁}
+%
+% \begin{macrocode}
+%<@@=ctex_ltj>
+% \end{macrocode}
+%
+% \changes{v2.3}{2015/09/26}{更新 \pkg{unicode-math} 宏包补丁。}
+%
+% 在 \LaTeX{} 下,\pkg{LuaTeX-ja} 对 \pkg{fontspec}、\pkg{xunicode}、\pkg{unicode-math}
+% 和 \pkg{listings} 打了补丁。其中前三个是把 \tn{char} 换成 \tn{ltjalchar},确保
+% 字符是 ALchar 类。我们这里用 \pkg{xunicode-addon} 来处理 \pkg{xunicode}。
+% \begin{macrocode}
+\RequirePackage { xunicode-addon }
+\AtBeginUTFCommand
+ {
+ \group_begin:
+ \lua_now:e { tex.globaldefs = 0 }
+ \ltj@allalchar
+ }
+\AtEndUTFCommand { \group_end: }
+% \end{macrocode}
+%
+% \changes{v2.4.2}{2016/05/15}{恢复 \pkg{luatexja} 对 \tn{emshape} 和
+% \tn{eminnershape} 的重定义。}
+% \changes{v2.4.3}{2016/08/26}{简化 \pkg{fontspec} 补丁。}
+% \begin{macro}[int]{\fontspec_visible_space:}
+% 我们不使用 \pkg{luatexja} 对 \pkg{fontspec} 的补丁,直接处理。
+% \begin{macrocode}
+\cs_set_protected:Npn \fontspec_visible_space:
+ {
+ \tex_iffontchar:D \tex_font:D "2423 \exp_stop_f:
+ \ltjalchar "2423 \exp_stop_f:
+ \else:
+ \fontspec_visible_space_fallback:
+ \fi:
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% 对 \pkg{listings} 的补丁是让代码环境支持 JAchar 类。\pkg{LuaTeX-ja} 的补丁会将
+% 代码目录标题改为日文,我们不需要。
+% \begin{macrocode}
+\ctex_at_end_package:nn { listings }
+ {
+ \use:x
+ {
+ \exp_not:N \RequirePackage { lltjp-listings }
+ \tl_set:Nn \exp_not:N \lstlistingname
+ { \exp_not:o { \lstlistingname } }
+ \tl_set:Nn \exp_not:N \lstlistlistingname
+ { \exp_not:o { \lstlistlistingname } }
+ }
+ }
+% \end{macrocode}
+%
+% \paragraph{字体切换方式}
+%
+% \begin{macro}[int]{\ctex_ltj_select_font:,\CJK@family}
+% \tn{CJK@family} 保存的是当前 CJK 实际的字体族名,如果为空表示没有设置过字体。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_ltj_select_font:
+ {
+ \cs_if_exist_use:cF { \l_@@_current_font_tl }
+ { \tl_if_empty:NF \CJK@family { \@@_select_font_aux: } }
+ }
+\tl_new:N \CJK@family
+\tl_new:N \l_@@_current_font_tl
+\tl_set:Nn \l_@@_current_font_tl
+ { \CJK@encoding / \CJK@family / \f@series / \f@shape / \f@size }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_select_font_aux:}
+% 使用 \tn{pickup@font} 取得字体名称前,总需要先设置 \tn{font@name}。在这里将
+% \tn{f@family} 换成 CJK 字体族,并确保编码正确。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \@@_select_font_aux:
+ {
+ \group_begin:
+ \tl_set_eq:NN \f@encoding \CJK@encoding
+ \tl_set_eq:NN \f@family \CJK@family
+ \@@_push_fontname:n { \use:c { \curr@fontshape / \f@size } }
+ \ctex_ltj_pickup_font:
+ \group_end:
+ \font@name
+ \@@_pop_fontname:
+% \end{macrocode}
+% 当字形未定义的时候,\textsf{NFSS} 就会启动替换机制(\tn{wrong@fontshape})。
+% 第一次启动后,\cs{l_@@_current_font_tl} 还是没有定义。为此,我们再次选择字体,
+% 确保它有定义和指向正确的 \texttt{font.id}。这对 \opt{AlternateFont} 的设置
+% 特别重要。
+% \begin{macrocode}
+ \cs_if_exist:cF { \l_@@_current_font_tl }
+ { \@@_select_font_aux: }
+ }
+\cs_new_protected_nopar:Npn \@@_push_fontname:n #1
+ {
+ \cs_gset_eq:NN \@@_save_fontname:w \font@name
+ \cs_gset_nopar:Npx \font@name {#1}
+ }
+\cs_new_protected_nopar:Npn \@@_pop_fontname:
+ { \cs_gset_eq:NN \font@name \@@_save_fontname:w }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_ltj_pickup_font:}
+% 替换 \tn{define@newfont} 内部调用的 \tn{extract@font} 和 \tn{do@subst@correction}。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_ltj_pickup_font:
+ {
+ \exp_after:wN \cs_if_exist:NF \font@name
+ {
+ \group_begin:
+ \cs_set_eq:NN \extract@font \ctex_ltj_extract_font:
+ \cs_set_eq:NN \do@subst@correction \ctex_ltj_subst_font:
+ \define@newfont
+ \group_end:
+ }
+ }
+\cs_new_eq:NN \pickup@jfont \ctex_ltj_pickup_font:
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_ltj_extract_font:}
+% \pkg{LuaTeX-ja} 的 \tn{globaljfont} 在 \pkg{luatexja-core} 中定义:
+% \begin{verbatim}
+% %%%%%%%% \jfont\CS={...:...;jfm=metric;...}, \globaljfont
+% \protected\def\jfont#1{%
+% \afterassignment\ltj@@jfont
+% \directlua{luatexja.jfont.jfontdefX(false, 'yoko','\luatexluaescapestring{\noexpand#1}')}}
+% \protected\def\globaljfont#1{%
+% \afterassignment\ltj@@jfont
+% \directlua{luatexja.jfont.jfontdefX(true, 'yoko','\luatexluaescapestring{\noexpand#1}')}}
+% \def\ltj@@jfont{\directlua{luatexja.jfont.jfontdefY()}}
+% \end{verbatim}
+% \texttt{jfontdefX} 函数的作用是把 \tn{CS} 定义为其后的字体,\texttt{jfontdefY}
+% 的作用是更新 \texttt{JFM} 和记录相关字体信息。最后的工作是:
+% \begin{verbatim}
+% tex.sprint(cat_lp, global_flag, '\\protected\\expandafter\\def\\csname ',
+% (cstemp==' ') and '\\space' or cstemp, '\\endcsname{\\ltj@cur'..
+% (jfm_dir == 'yoko' and 'j' or 't') .. 'fnt', fn, '\\relax}')
+% \end{verbatim}
+% \tn{CS} 的作用就是把 \tn{ltj@curjfnt} 设置为刚才定义的字体的 \texttt{font.id}。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_ltj_extract_font:
+ {
+ \get@external@font
+ \ctex_ltj_if_alternate_shape_exist:nT { \curr@fontshape }
+ {
+ \tl_set:Nx \external@font
+ { \exp_after:wN \@@_patch_external_font:w \external@font }
+ }
+ \exp_after:wN \globaljfont \font@name \external@font \scan_stop:
+% \end{macrocode}
+% 这里 \tn{font@name} 不会直接改变当前字体,而 \tn{DeclareFontFamily} 和
+% \tn{DeclareFontShape} 的最后一个参数通常要使用 \tn{font} 来引用当前字体。
+% 为此,我们在分组内启用之前定义的字体,以便能得到正确的 \tn{font}。对字体参数的
+% 赋值总是全局的,不会受到分组的影响。
+% \begin{macrocode}
+ \font@name
+ \lua_now:e { font.current(tex.getattribute('ltj@curjfnt')) }
+ \use:c { \f@encoding + \f@family }
+ \use:c { \curr@fontshape }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_ltj_subst_font:}
+% \tn{do@subst@correction} 在设置通过 \texttt{sub} 或者 \texttt{ssub} 函数定义的
+% 字体时会用到。如果没有设置 \opt{SlantedFont},\pkg{fontspec} 会设置
+% \tn{itdefault} 作为 \tn{sldefault} 的替代字形,因而会用到这个函数。它的本来定义是:
+% \begin{verbatim}
+% \def\do@subst@correction{%
+% \xdef\subst@correction{%
+% \font@name
+% \global\expandafter\font
+% \csname \curr@fontshape/\f@size\endcsname
+% \noexpand\fontname\font
+% \relax}%
+% \aftergroup\subst@correction
+% }
+% \end{verbatim}
+% 我们在这里不需要定义新字体,而是设置对应字体的命令。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_ltj_subst_font:
+ {
+ \ctex_ltj_if_alternate_shape_exist:nF { \curr@fontshape }
+ {
+ \group_begin:
+ \tl_set_eq:NN \CJK@family \f@family
+ \cs_if_exist:cF { \l_@@_current_font_tl }
+ {
+ \cs_gset_protected_nopar:Npx \subst@correction
+ {
+ \cs_new_eq:NN
+ \exp_not:c { \l_@@_current_font_tl }
+ \font@name
+ }
+ \group_insert_after:N \group_insert_after:N
+ \group_insert_after:N \subst@correction
+ }
+ \group_end:
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int,TF]{\ctex_ltj_if_alternate_shape_exist:n}
+% 即 \pkg{LuaTeX-ja} 中的 \tn{ltj@@does@alt@set},判断是否存在替代字体。
+% \begin{macrocode}
+\prg_new_conditional:Npnn \ctex_ltj_if_alternate_shape_exist:n #1 { T , F , TF }
+ {
+ \lua_now:e { luatexja.jfont.does_alt_set ('\lua_escape:e {#1}') }
+ \prg_return_true: \else: \prg_return_false: \fi:
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_patch_external_font:w}
+% 若对字体的定义完全相同,则它们有相同的 \texttt{font.id}。因此如果字形是由
+% \textsf{NFSS} 的替换机制定义的,它们就有相同的 \texttt{font.id}。
+% |print_aftl_address| 函数的定义是
+% \begin{verbatim}
+% function print_aftl_address()
+% tex.sprint(cat_lp, ';ltjaltfont' .. tostring(aftl_base):sub(8))
+% end
+% \end{verbatim}
+% 主要目的是,如果当前字形有替代字体,则往字形的定义中加入一些标志,确保
+% \texttt{font.id} 唯一。
+% \begin{macrocode}
+\cs_new_nopar:Npn \@@_patch_external_font:w #1 ~ at
+ { #1 \lua_now:e { luatexja.jfont.print_aftl_address() } ~ at }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_ltj_select_alternate_font:}
+% 在 \tn{selectfont} 中更新替代字体。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_ltj_select_alternate_font:
+ {
+ \ctex_ltj_if_alternate_shape_exist:nT { \l_@@_current_shape_tl }
+ {
+ \lua_now:e
+ {
+ luatexja.jfont.output_alt_font_cmd
+ ('y', '\lua_escape:e { \l_@@_current_shape_tl }')
+ }
+ \lua_now:e { luatexja.jfont.pickup_alt_font_a ('\f@size') }
+ }
+ }
+\tl_new:N \l_@@_current_shape_tl
+\tl_set:Nn \l_@@_current_shape_tl
+ { \CJK@encoding / \CJK@family / \f@series / \f@shape }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ltj@pickup@altfont@auxy}
+% 被用在函数 |output_alt_font_cmd| 中,作用是定义替代字体。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ltj@pickup@altfont@auxy #1
+ {
+ \cs_if_exist:cF { #1/\f@size }
+ {
+ \group_begin:
+ \use:x { \exp_not:N \split@name #1 / \f@size } \@nil
+ \@@_push_fontname:n { \use:c { \curr@fontshape / \f@size } }
+ \ctex_ltj_pickup_font:
+ \group_end:
+ \@@_pop_fontname:
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%<@@=>
+% \end{macrocode}
+%
+% \begin{macro}[int]{\ltj@pickup@altfont@copy}
+% 被用在函数 |pickup_alt_font_a| 中。\tn{ltj@@getjfontnumber} 的作用是将字体命令
+% |#1| 对应的 \texttt{font.id} 保存到 \tn{ltj@tempcntc} 中。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ltj@pickup@altfont@copy #1#2
+ {
+ \ltj@@getjfontnumber #1
+ \lua_now:e
+ {
+ luatexja.jfont.pickup_alt_font_b
+ ( \int_use:N \ltj@tempcntc, '\lua_escape:e {#2}' )
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \paragraph{数学字体族}
+%
+% \begin{macrocode}
+%<@@=ctex_ltj>
+% \end{macrocode}
+%
+% 以下内容来自 \file{lltjfont.sty},目的是让汉字可以在数学环境中直接使用。
+%
+% \begin{macro}[int]{\ctex_ltj_if_jfont:nTF}
+% 参数 |#1| 是一个 \LaTeXe{} 编码名称或者字体命令。\LaTeXe{} 字体命令的一般形式是:
+% \begin{quote}\ttfamily\small
+% \textbackslash\meta{encoding}/\meta{family}/\meta{series}/\meta{shape}
+% \end{quote}
+% 通过截取名字中的 \meta{encoding} 来判断是否是 jfont。
+% 最后会设置 \tn{ifin@} 为对应的 \tn{iftrue} 或者 \tn{iffalse}。
+% \begin{macrocode}
+\cs_new:Npn \ctex_ltj_if_jfont:nTF #1
+ {
+ \lua_now:e
+ { luatexja.jfont.is_kenc( string.match('\lua_escape:e {#1}', '[^/]+') ) }
+ \ifin@ \exp_after:wN \use_i:nn \else: \exp_after:wN \use_ii:nn \fi:
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_ltj_if_jfont_math:NTF}
+% |#1| 是一个形式为 |\M@|\meta{encoding} 的命令,它由 \tn{DeclareFontEncoding} 的
+% 第三个参数来定义。
+% \begin{macrocode}
+\cs_new:Npn \ctex_ltj_if_jfont_math:NTF #1
+ { \exp_after:wN \@@_if_jfont_math:w \token_to_str:N #1 \q_stop }
+\group_begin:
+ \char_set_catcode_other:N M
+ \cs_new:Npn \@@_if_jfont_math:w #1 M #2#3 \q_stop
+ { \ctex_ltj_if_jfont:nTF {#3} }
+\group_end:
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%<@@=>
+% \end{macrocode}
+%
+% \begin{macro}[int]{\getanddefine@fonts,\ctex_ltj_get_and_define_fonts:nN}
+% 在使用的场合,\tn{escapechar} 已经被设置成 $-1$,使用 \cs{token_to_str:N} 就
+% 可以得到名字,不必使用 \cs{cs_to_str:N}。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_ltj_get_and_define_fonts:nN #1#2
+ {
+ \ctex_ltj_if_jfont:nTF { \token_to_str:N #2 }
+ { \ctex_ltj_get_and_define_fonts_ja:nN }
+ { \ctex_ltj_get_and_define_fonts_al:nN }
+ {#1} #2
+ }
+\cs_new_eq:NN \ctex_ltj_get_and_define_fonts_al:nN \getanddefine@fonts
+\cs_set_eq:NN \getanddefine@fonts \ctex_ltj_get_and_define_fonts:nN
+\cs_new_protected_nopar:Npn \ctex_ltj_get_and_define_fonts_ja:nN #1#2
+ {
+ \tl_gset:Nx \font@name { \use:c { \token_to_str:N #2 / \tf@size } }
+ \ctex_ltj_pickup_font: \tl_set_eq:NN \textfont@name \font@name
+ \tl_gset:Nx \font@name { \use:c { \token_to_str:N #2 / \sf@size } }
+ \ctex_ltj_pickup_font: \tl_set_eq:NN \scriptfont@name \font@name
+ \tl_gset:Nx \font@name { \use:c { \token_to_str:N #2 / \ssf@size } }
+ \ctex_ltj_pickup_font:
+ \tl_put_right:Nx \math@fonts
+ {
+ \ltj@setpar@global
+ \ltj@@set@stackfont #1 , \textfont@name \c_colon_str { MJT }
+ \ltj@@set@stackfont #1 , \scriptfont@name \c_colon_str { MJS }
+ \ltj@@set@stackfont #1 , \font@name \c_colon_str { MJSS }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%<@@=ctex_ltj>
+% \end{macrocode}
+%
+% \begin{macro}[int]{\use@mathgroup,\ctex_ltj_use_math_group:Nn}
+% 在使用 \pkg{unicode-math} 宏包时,\cs{ctex_ltj_math_group_hook:} 将被重定义。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_ltj_use_math_group:Nn #1#2
+ {
+ \mode_if_math:T
+ {
+ \math@bgroup
+ \cs_if_eq:cNF { M@ \f@encoding } #1 {#1}
+ \ctex_ltj_math_group_hook:
+ \ctex_ltj_if_jfont_math:NTF #1
+ { \jfam } { \mathgroup } #2 \scan_stop:
+ \math@egroup
+ }
+ }
+\cs_new_eq:NN \ctex_ltj_math_group_hook: \prg_do_nothing:
+\cs_set_eq:NN \use@mathgroup \ctex_ltj_use_math_group:Nn
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.4.3}{2016/08/25}{更新 \pkg{unicode-math} 补丁。}
+% \changes{v2.4.9}{2017/02/27}{调整 \pkg{unicode-math} 补丁的代码顺序。}
+% 对 \pkg{unicode-math} 的补丁主要是将 \file{unicode-math-table.tex} 中的数学符号设置为
+% \pkg{luatexja} 中的数学字母。
+% 本段代码应放在 \cs{ctex_ltj_math_group_hook:} 的定义之后,避免因宏包载入顺序而造成的编译错误。
+% \begin{macrocode}
+\cs_new_protected:Npn \ctex_ltj_set_math_letter:NN #1#2
+ {
+ \group_begin:
+ \cs_set_protected:Npn #1 ##1##2##3
+ { \ltjsetmathletter { ##1 } }
+ #2
+ \group_end:
+ }
+\ctex_at_end_package:nn { unicode-math }
+ {
+ \cs_if_exist:NTF \um_input_math_symbol_table:
+ {
+ \ctex_ltj_set_math_letter:NN
+ \um_sym:nnn
+ \um_input_math_symbol_table:
+ }
+ {
+ \cs_set_eq:NN \use@mathgroup \ctex_ltj_use_math_group:Nn
+ \cs_set_protected_nopar:Npn \ctex_ltj_math_group_hook:
+ { \__um_switchto_literal: }
+ \ctex_ltj_set_math_letter:NN
+ \__um_sym:nnn
+ \__um_input_math_symbol_table:
+ }
+ }
+% \end{macrocode}
+%
+% \paragraph{字体族的定义与使用}
+%
+% \begin{macro}[int]{\ctex_mono_jfm:n}
+% \begin{variable}{\l_@@_jfm_tl}
+% \pkg{LuaTeX-ja} 中与标点格式 \opt{plain} 对应的 \texttt{JFM} 是 \opt{mono}。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_mono_jfm:n #1
+ {
+ \str_if_eq:nnTF {#1} { plain }
+ { \tl_set:Nn \l_@@_jfm_tl { mono } }
+ { \tl_set:Nn \l_@@_jfm_tl {#1} }
+ }
+\tl_new:N \l_@@_jfm_tl
+\cs_generate_variant:Nn \ctex_mono_jfm:n { o }
+\ctex_mono_jfm:o { \l__ctex_punct_tl }
+% \end{macrocode}
+% \end{variable}
+% \end{macro}
+%
+% \begin{macro}[int]{\CJK@encoding}
+% \begin{macro}{\@@_change_encoding:}
+% 在 \LaTeX 下,\pkg{LuaTeX-ja} 依赖字体编码来实现特殊设置。例如上述的
+% \cs{ctex_ltj_if_jfont:nTF} 就是通过判断编码来实现的,它在设置数学字体时会用到。所以
+% 不应该与西文共用 \texttt{EU2}。定义字体族 song 为 \tn{CJK@encoding} 的默认替换
+% 字体。下划线 |_| 不在 \tn{nfss@catcodes} 里,可以放心使用。
+% \begin{macrocode}
+\tl_const:Nn \CJK@encoding { LTJY3 }
+\DeclareFontEncoding { \CJK@encoding } { } { }
+\use:x
+ {
+ \exp_not:N \DeclareFontSubstitution
+ { \CJK@encoding } { song } { \mddefault } { \updefault }
+ }
+\lua_now:e { luatexja.jfont.add_kyenc_list('\CJK@encoding') }
+\cs_new_protected_nopar:Npn \@@_change_encoding:
+ { \tl_set_eq:NN \g_fontspec_encoding_tl \CJK@encoding }
+\DeclareFontFamily { \CJK@encoding } { song } { }
+\DeclareFontShape { \CJK@encoding } { song } { \mddefault } { \updefault }
+ { <-> psft:SimSun:cid=Adobe-GB1-5;jfm=\l_@@_jfm_tl } { }
+\DeclareFontShape { \CJK@encoding } { song } { \bfdefault } { \updefault }
+ { <-> psft:SimHei:cid=Adobe-GB1-5;jfm=\l_@@_jfm_tl } { }
+\tl_const:Nn \c_@@_math_tl { CJKmath }
+\DeclareSymbolFont { \c_@@_math_tl }
+ { \CJK@encoding } { song } { \mddefault } { \updefault }
+\SetSymbolFont { \c_@@_math_tl } { bold }
+ { \CJK@encoding } { song } { \bfdefault } { \updefault }
+\int_const:Nn \c_@@_math_fam_int { \use:c { sym \c_@@_math_tl } }
+\jfam \c_@@_math_fam_int
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% 这是 \pkg{luatexja-fontspec} 中新增的一些字体选项。
+% \begin{macrocode}
+\newfontfeature { CID } { cid = #1 }
+\newfontfeature { JFM } { jfm = #1 }
+\newfontfeature { JFM-var } { jfmvar = #1 }
+% \end{macrocode}
+%
+% 在新版本的 \pkg{fontspec} 中,\cs{__fontspec_fontname_wrap:n} 变成了私有函数。
+% \begin{macrocode}
+\keys_define:nn { fontspec-preparse-external }
+ {
+ NoEmbed .code:n =
+ { \cs_set_eq:NN \__fontspec_fontname_wrap:n \@@_noembed_wrap:n }
+ }
+\cs_new:Npn \@@_noembed_wrap:n #1 { psft: #1 }
+% \end{macrocode}
+%
+% \begin{macro}[int]{\ctex_ltj_set_family:nnn}
+% 将自定义的字体族名与 \pkg{fontspec} 实际设置的名字对应起来。
+% \begin{macrocode}
+\cs_new_protected:Npn \ctex_ltj_set_family:nnn #1#2#3
+ {
+ \group_begin:
+ \clist_clear:N \l_@@_char_range_clist
+ \seq_clear:N \l_@@_alternate_seq
+ \tl_set:Nn \l_@@_base_CJKfamily_tl {#1}
+ \keys_set_known:nnN { ctex_ltj / fontspec } {#2} \l_@@_tmp_tl
+ \clist_set:No \l_@@_font_options_clist { \l_@@_tmp_tl }
+ \ctex_ltj_set_alternate_family:nnF {#1} {#3}
+ {
+ \prop_gput:Nnn \g_@@_family_font_name_prop {#1} {#3}
+ \prop_gput:Nno \g_@@_family_font_options_prop
+ {#1} { \l_@@_font_options_clist }
+ \@@_update_family_uid:N \l_@@_font_options_clist
+ \@@_use_global_options:N \l_@@_font_options_clist
+ \@@_gset_family_cs:nn {#1} {#3}
+ }
+ \group_end:
+ }
+\tl_new:N \l_@@_base_CJKfamily_tl
+\clist_new:N \l_@@_font_options_clist
+\cs_new_protected_nopar:Npn \@@_use_global_options:N #1
+ {
+ \clist_concat:NNN #1 \g_@@_default_features_clist #1
+ \clist_put_left:Nx #1 { JFM = \l_@@_jfm_tl }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{variable}
+% {\g_@@_family_name_prop,\g_@@_family_font_name_prop,\g_@@_family_font_options_prop}
+% 分别保存 \pkg{fontspec} 设置的字体族名、字体名称和字体选项。
+% \begin{macrocode}
+\prop_new:N \g_@@_family_name_prop
+\prop_new:N \g_@@_family_font_name_prop
+\prop_new:N \g_@@_family_font_options_prop
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\@@_check_family:n}
+% 删除重复的定义,清除替代字体的先前设置。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \@@_check_family:n #1
+ {
+ \prop_gpop:NnNT \g_@@_family_font_name_prop {#1} \l_@@_tmp_tl
+ {
+ \cs_undefine:c { \@@_family_csname:n {#1} }
+ \cs_undefine:c { \@@_alternate_cs:n {#1} }
+ \prop_gpop:NnNT \g_@@_family_name_prop {#1} \l_@@_base_family_tl
+ {
+ \use:c { \@@_alternate_cs:n { clear / #1 } }
+ \cs_undefine:c { \@@_alternate_cs:n { clear / #1 } }
+ \cs_undefine:c { \@@_alternate_cs:n { reset / #1 } }
+ \prop_gremove:Nn \g_@@_reset_alternate_prop {#1}
+ }
+ \msg_warning:nnxx { ctex } { redefine-family } {#1} { \l_@@_tmp_tl }
+ }
+ }
+\tl_new:N \l_@@_tmp_tl
+\msg_new:nnn { ctex } { redefine-family }
+ { Redefining~CJKfamily~`\@@_msg_family_map:n {#1}'~(#2). }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_gset_family_cs:nn}
+% 在设置字体时,实际上并不是马上就定义。而是只保存相关参数,在通过 \tn{CJKfamily}
+% 第一次使用时才定义。需要注意将编码改为 \tn{CJK@encoding}。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \@@_gset_family_cs:nn #1#2
+ {
+ \cs_gset_protected_nopar:cpx { \@@_family_csname:n {#1} }
+ {
+ \group_begin:
+ \@@_change_encoding:
+ \exp_not:n { \cs_set_eq:NN \CJKfamily \use_none:n }
+ \exp_not:n { \cs_set_eq:NN \CTEX@fontfamily \use_none:n }
+ \exp_not:n { \fontspec_set_family:Nnn \g_@@_fontspec_family_tl }
+ { \exp_not:o { \l_@@_font_options_clist } } {#2}
+ \prop_gput:Nno \exp_not:N \g_@@_family_name_prop {#1}
+ { \exp_not:N \g_@@_fontspec_family_tl }
+ \tl_gset_eq:NN \exp_not:N \g_@@_fontspec_family_tl
+ \exp_not:N \g_@@_fontspec_family_tl
+ \@@_set_alternate_family:n {#1}
+ \group_end:
+ }
+ }
+\tl_new:N \l_@@_base_family_tl
+\tl_new:N \g_@@_fontspec_family_tl
+\cs_new_nopar:Npn \@@_family_csname:n #1 { ctex_ltj/family/#1 }
+\cs_new_protected_nopar:Npn \@@_set_alternate_family:n #1
+ {
+ \tl_set:Nn \l_@@_base_CJKfamily_tl {#1}
+ \tl_set_eq:NN \l_@@_base_family_tl \g_@@_fontspec_family_tl
+ \cs_if_exist_use:c { \@@_alternate_cs:n { reset / #1 } }
+ \cs_if_exist_use:c { \@@_alternate_cs:n {#1} }
+ }
+\cs_new:Npn \@@_alternate_cs:n #1 { ctex_ltj/alternate_family/#1 }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\CJKfamily}
+% 切换字体。
+% \begin{macrocode}
+\NewDocumentCommand \CJKfamily { m }
+ { \ctex_ltj_switch_family:x {#1} \tex_ignorespaces:D }
+\cs_new_protected_nopar:Npn \ctex_ltj_switch_family:n #1
+ {
+ \ctex_ltj_family_if_exist:nNTF {#1} \CJK@family
+ {
+ \tl_set:Nn \l_ctex_ltj_family_tl {#1}
+ \selectfont
+ }
+ { \@@_family_unknown_warning:n {#1} }
+ }
+\tl_new:N \l_ctex_ltj_family_tl
+\cs_generate_variant:Nn \ctex_ltj_switch_family:n { x }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int,TF]{\ctex_ltj_family_if_exist:nN}
+% 判断 CJK 字体族 |#1| 是否存在,若存在则把实际族名保存到 |#2| 中。
+% \begin{macrocode}
+\prg_new_protected_conditional:Npnn \ctex_ltj_family_if_exist:nN #1#2 { T , F , TF }
+ {
+ \prop_get:NnNTF \g_@@_family_name_prop {#1} #2
+ { \prg_return_true: }
+ {
+ \cs_if_exist_use:cTF { \@@_family_csname:n {#1} }
+ {
+ \tl_set_eq:NN #2 \g_@@_fontspec_family_tl
+ \prg_return_true:
+ }
+ { \prg_return_false: }
+ }
+ }
+\prg_generate_conditional_variant:Nnn \ctex_ltj_family_if_exist:nN { x } { T , F , TF }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_family_unknown_warning:n}
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \@@_family_unknown_warning:n #1
+ {
+ \prop_if_empty:NF \g_@@_family_font_name_prop
+ {
+ \seq_if_in:NnF \g_@@_unknown_family_seq {#1}
+ {
+ \seq_gput_right:Nn \g_@@_unknown_family_seq {#1}
+ \msg_warning:nnn { ctex } { family-unknown } {#1}
+ }
+ }
+ }
+\seq_new:N \g_@@_unknown_family_seq
+\msg_new:nnn { ctex } { family-unknown }
+ {
+ Unknown~CJK~family~`\@@_msg_family_map:n {#1}'~is~being~ignored.\\
+ Try~to~use~`\@@_msg_def_family_map:n {#1}'~to~define~it.
+ }
+\cs_new_nopar:Npn \@@_msg_def_family_map:n #1
+ {
+ \str_case_e:nnF {#1}
+ {
+ \CJKrmdefault { \token_to_str:N \setCJKmainfont }
+ \CJKsfdefault { \token_to_str:N \setCJKsansfont }
+ \CJKttdefault { \token_to_str:N \setCJKmonofont }
+ }
+ { \token_to_str:N \setCJKfamilyfont \{ #1 \} }
+ [...]\{...\}
+ }
+\cs_new_nopar:Npn \@@_msg_family_map:n #1
+ {
+ \str_case_e:nnF {#1}
+ {
+ \CJKrmdefault { \token_to_str:N \CJKrmdefault }
+ \CJKsfdefault { \token_to_str:N \CJKsfdefault }
+ \CJKttdefault { \token_to_str:N \CJKttdefault }
+ }
+ {#1}
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_ltj_fontspec:nn}
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_ltj_fontspec:nn #1#2
+ {
+ \prop_get:NnNTF \g_@@_fontspec_prop
+ { CJKfontspec/#1/#2/id } \l_ctex_ltj_family_tl
+ { \ctex_ltj_switch_family:x { \l_ctex_ltj_family_tl } }
+ {
+ \int_gincr:N \g_@@_family_int
+ \@@_fontspec:xnn
+ { CJKfontspec ( \int_use:N \g_@@_family_int ) }
+ {#1} {#2}
+ }
+ }
+\cs_new_protected_nopar:Npn \ctex_ltj_fontspec:xx #1#2
+ { \use:x { \ctex_ltj_fontspec:nn {#1} {#2} } }
+\cs_new_protected_nopar:Npn \@@_fontspec:nnn #1#2#3
+ {
+ \bool_if:NT \l_@@_add_alternate_bool
+ {
+ \cs_if_free:cF
+ { \@@_alternate_cs:n { reset / \l_ctex_ltj_family_tl } }
+ {
+ \cs_gset_eq:cc
+ { \@@_alternate_cs:n { reset / #1 } }
+ { \@@_alternate_cs:n { reset / \l_ctex_ltj_family_tl } }
+ \cs_gset_eq:cc
+ { \@@_alternate_cs:n { clear / #1 } }
+ { \@@_alternate_cs:n { clear / \l_ctex_ltj_family_tl } }
+ }
+ \bool_set_false:N \l_@@_add_alternate_bool
+ }
+ \prop_gput:Nnn \g_@@_fontspec_prop { CJKfontspec/#2/#3/id } {#1}
+ \ctex_ltj_set_family:nnn {#1} {#2} {#3}
+ \ctex_ltj_switch_family:n {#1}
+ }
+\cs_generate_variant:Nn \@@_fontspec:nnn { x }
+\prop_new:N \g_@@_fontspec_prop
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]
+% {\ctex_ltj_add_font_features:n,\ctex_ltj_add_font_features:nn}
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_ltj_add_font_features:n #1
+ { \ctex_ltj_add_font_features:xn { \l_ctex_ltj_family_tl } {#1} }
+\cs_new_protected_nopar:Npn \ctex_ltj_add_font_features:nn #1#2
+ {
+ \prop_get:NnNTF \g_@@_family_font_name_prop
+ {#1} \l_@@_tmp_tl
+ {
+ \prop_get:NnN \g_@@_family_font_options_prop
+ {#1} \l_@@_font_options_clist
+ \clist_put_right:Nn \l_@@_font_options_clist {#2}
+ \bool_set_true:N \l_@@_add_alternate_bool
+ \ctex_ltj_fontspec:xx
+ { \exp_not:o { \l_@@_font_options_clist } }
+ { \exp_not:o { \l_@@_tmp_tl } }
+ }
+ { \msg_warning:nn { ctex } { addCJKfontfeature-ignored } }
+ }
+\bool_new:N \l_@@_add_alternate_bool
+\cs_generate_variant:Nn \ctex_ltj_add_font_features:n { x }
+\cs_generate_variant:Nn \ctex_ltj_add_font_features:nn { x }
+\msg_new:nnn { ctex } { addCJKfontfeature-ignored }
+ {
+ \token_to_str:N \addCJKfontfeature (s)~ignored.\\
+ It~cannot~be~used~with~a~font~that~wasn't~selected~by~ctex.
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_pass_args:nnnn}
+% 为了支持字体属性可选项在前在后两种语法,给出两个辅助工具,自带展开功能。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_pass_args:nnnn #1#2#3#4
+ {
+ \IfNoValueTF {#2}
+ { \@@_post_arg:w {#1} {#3} {#4} }
+ {
+ \use:x { #1 {#2} {#3} }
+ #4
+ }
+ }
+\NewDocumentCommand \@@_post_arg:w { m m m O { } }
+ {
+ \use:x { #1 {#4} {#2} }
+ #3
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.4.6}{2016/11/20}{支持字体属性可选项在后的新语法。}
+%
+% \begin{macro}[int]
+% {\setCJKfamilyfont,\newCJKfontfamily,\CJKfontspec,\addCJKfontfeatures}
+% \begin{macrocode}
+\NewDocumentCommand \setCJKfamilyfont { m o m }
+ {
+ \@@_pass_args:nnnn
+ { \ctex_ltj_set_family:nnn {#1} } {#2} {#3}
+ { }
+ }
+\NewDocumentCommand \newCJKfontfamily { o m o m }
+ {
+ \tl_set:Nx \l_@@_tmp_tl
+ { \IfNoValueTF {#1} { \cs_to_str:N #2 } {#1} }
+ \cs_new_protected_nopar:Npx #2
+ { \ctex_ltj_switch_family:n { \l_@@_tmp_tl } }
+ \@@_pass_args:nnnn
+ { \ctex_ltj_set_family:nnn { \l_@@_tmp_tl } } {#3} {#4}
+ { }
+ }
+\NewDocumentCommand \CJKfontspec { o m }
+ {
+ \@@_pass_args:nnnn
+ { \ctex_ltj_fontspec:nn } {#1} {#2}
+ { \tex_ignorespaces:D }
+ }
+\NewDocumentCommand \addCJKfontfeatures { m }
+ {
+ \ctex_ltj_add_font_features:x {#1}
+ \tex_ignorespaces:D
+ }
+\cs_new_eq:NN \addCJKfontfeature \addCJKfontfeatures
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]
+% {\setCJKmainfont,\setCJKsansfont,\setCJKmonofont,
+% \setCJKmathfont,\defaultCJKfontfeatures}
+% \begin{macrocode}
+\NewDocumentCommand \setCJKmainfont { o m }
+ {
+ \@@_pass_args:nnnn
+ { \ctex_ltj_set_family:nnn { \CJKrmdefault } } {#1} {#2}
+ { \normalfont }
+ }
+\cs_new_eq:NN \setCJKromanfont \setCJKmainfont
+\NewDocumentCommand \setCJKsansfont { o m }
+ {
+ \@@_pass_args:nnnn
+ { \ctex_ltj_set_family:nnn { \CJKsfdefault } } {#1} {#2}
+ { \normalfont }
+ }
+\NewDocumentCommand \setCJKmonofont { o m }
+ {
+ \@@_pass_args:nnnn
+ { \ctex_ltj_set_family:nnn { \CJKttdefault } } {#1} {#2}
+ { \normalfont }
+ }
+\NewDocumentCommand \setCJKmathfont { o m }
+ {
+ \@@_pass_args:nnnn
+ { \ctex_ltj_set_family:nnn { \c_@@_math_tl } } {#1} {#2}
+ { }
+ }
+\NewDocumentCommand \defaultCJKfontfeatures { m }
+ { \clist_gset:Nn \g_@@_default_features_clist {#1} }
+\clist_new:N \g_@@_default_features_clist
+\@onlypreamble \setCJKmainfont
+\@onlypreamble \setCJKsansfont
+\@onlypreamble \setCJKmonofont
+\@onlypreamble \setCJKmathfont
+\@onlypreamble \setCJKromanfont
+\@onlypreamble \defaultCJKfontfeatures
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\tl_if_exist:NF \CJKfamilydefault
+ { \tl_const:Nn \CJKfamilydefault { \CJKrmdefault } }
+\tl_if_exist:NF \CJKrmdefault { \tl_const:Nn \CJKrmdefault { rm } }
+\tl_if_exist:NF \CJKsfdefault { \tl_const:Nn \CJKsfdefault { sf } }
+\tl_if_exist:NF \CJKttdefault { \tl_const:Nn \CJKttdefault { tt } }
+% \end{macrocode}
+%
+% \begin{macro}[int]{\fontfamily}
+% \begin{macro}[int]{\CTEX@fontfamily}
+% \changes{v2.4.8}{2017/02/23}
+% {解决与 \pkg{fontspec} 2017/01/24 v2.5d 的字体族匹配兼容问题。}
+% 修改 \tn{fontfamily},使主要 |CJK| 字体族能随西文主要字体更新。
+% \begin{macrocode}
+\RenewDocumentCommand \fontfamily { m }
+ {
+ \tl_set:Nx \f@family {#1}
+ \CTEX@fontfamily {#1}
+ }
+\cs_new_protected_nopar:Npn \CTEX@fontfamily #1
+ {
+ \str_if_eq:nnTF {#1} { \familydefault }
+ { \CJKfamily { \CJKfamilydefault } }
+ { \@@_update_family_aux: }
+ }
+\cs_new_protected_nopar:Npn \@@_update_family_aux:
+ {
+ \str_case_e:nn { \f@family }
+ {
+ { \rmdefault } { \CJKfamily { \CJKrmdefault } }
+ { \sfdefault } { \CJKfamily { \CJKsfdefault } }
+ { \ttdefault } { \CJKfamily { \CJKttdefault } }
+ { \familydefault } { \CJKfamily { \CJKfamilydefault } }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% 在导言区末尾更新 \tn{CJKfamilydefault}。
+% \begin{macrocode}
+\ctex_at_end_preamble:n { \ctex_update_default_family: }
+% \end{macrocode}
+%
+% \begin{macro}[int]{\ctex_ltj_ensure_default_family:}
+% 在导言区结束确认 \tn{CJKfamilydefault} 确实存在。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_ltj_ensure_default_family:
+ {
+ \prop_if_empty:NF \g_@@_family_font_name_prop
+ {
+ \ctex_ltj_family_if_exist:xNF { \CJKfamilydefault } \l_@@_tmp_tl
+ {
+ \str_if_eq:eeTF { \CJKfamilydefault } { \CJKrmdefault }
+ { \use:n }
+ {
+ \ctex_ltj_family_if_exist:xNTF { \CJKrmdefault } \l_@@_tmp_tl
+ { \tl_gset:Nn \CJKfamilydefault { \CJKrmdefault } \use_none:n }
+ { \use:n }
+ }
+ {
+ \prop_map_inline:Nn \g_@@_family_font_name_prop
+ {
+ \prop_map_break:n
+ { \tl_gset_rescan:Nnn \CJKfamilydefault { } { ##1 } }
+ }
+ }
+ }
+ \normalfont
+ \ctex_ltj_update_mathfont:
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_ltj_update_mathfont:}
+% 更新数学字体为实际的字体。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_ltj_update_mathfont:
+ {
+ \ctex_ltj_family_if_exist:xNTF { \c_@@_math_tl } \l_@@_tmp_tl
+ { \ctex_ltj_update_mathfont:n { \l_@@_tmp_tl } }
+ {
+ \ctex_ltj_family_if_exist:xNT { \CJKfamilydefault } \l_@@_tmp_tl
+ { \ctex_ltj_update_mathfont:n { \l_@@_tmp_tl } }
+ }
+ }
+\cs_new_protected_nopar:Npn \ctex_ltj_update_mathfont:n #1
+ {
+ \tl_const:Nx \c_@@_math_family_tl {#1}
+ \DeclareSymbolFont { \c_@@_math_tl } { \CJK@encoding }
+ { \c_@@_math_family_tl } { \mddefault } { \updefault }
+ \cs_if_free:cTF
+ { \CJK@encoding/\c_@@_math_family_tl/\bfdefault/\updefault }
+ {
+ \SetSymbolFont { \c_@@_math_tl } { bold } { \CJK@encoding }
+ { \c_@@_math_family_tl } { \mddefault } { \updefault }
+ }
+ {
+ \SetSymbolFont { \c_@@_math_tl } { bold } { \CJK@encoding }
+ { \c_@@_math_family_tl } { \bfdefault } { \updefault }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \paragraph{替代字体的设置}
+%
+% \begin{macro}{AlternateFont,CharRange}
+% 设置替代字体的选项。
+% \begin{macrocode}
+\keys_define:nn { ctex_ltj / fontspec }
+ {
+ AlternateFont .code:n = \ctex_ltj_set_alternate_seq:n {#1} ,
+ AlternateFont .value_required:n = true ,
+ CharRange .clist_set:N = \l_@@_char_range_clist ,
+ CharRange .value_required:n = true
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_ltj_set_alternate_seq:n}
+% 我们使用 \verb=||= 作为替代字体序列的分隔标志。它可能被设置为活动字符,为此
+% 需要先“消毒”,同时过滤掉空元素。
+% \begin{macrocode}
+\group_begin:
+ \char_set_catcode_other:N \|
+ \cs_set:Npn \@@_tmp:w #1
+ {
+ \cs_new_protected:Npn \ctex_ltj_set_alternate_seq:n ##1
+ {
+ \clist_if_empty:NT \l_@@_char_range_clist
+ {
+ \tl_set:Nn \l_@@_tmp_tl { ##1 }
+ \tl_replace_all:Nnn \l_@@_tmp_tl {#1} { || }
+ \seq_set_split:NnV \l_@@_tmp_seq { || } \l_@@_tmp_tl
+ \seq_set_filter:NNn \l_@@_tmp_seq \l_@@_tmp_seq
+ { ! \tl_if_blank_p:n { ####1 } }
+ \seq_concat:NNN \l_@@_alternate_seq
+ \l_@@_alternate_seq \l_@@_tmp_seq
+ }
+ }
+ }
+ \char_set_catcode_active:N \|
+ \@@_tmp:w { || }
+\group_end:
+\seq_new:N \l_@@_tmp_seq
+\seq_new:N \l_@@_alternate_seq
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_ltj_set_alternate_family:nnF}
+% 如果在字体的选项中设置了 \opt{CharRange},则只设置替代字体。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_family:nnF #1#2#3
+ {
+ \clist_if_empty:NTF \l_@@_char_range_clist
+ {
+ \@@_check_family:n {#1}
+ \seq_if_empty:NF \l_@@_alternate_seq
+ { \ctex_ltj_save_alternate_seq:cn { \@@_alternate_cs:n {#1} } {#2} }
+ #3
+ }
+ { \ctex_ltj_set_alternate_family:nn {#1} {#2} }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]
+% {\ctex_ltj_save_alternate_seq:Nn,\ctex_ltj_save_alternate_seq:Nnnwn}
+% 保存由 \opt{AlternateFont} 设置的替代字体序列。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_ltj_save_alternate_seq:Nn #1#2
+ {
+ \seq_map_inline:Nn \l_@@_alternate_seq
+ { \ctex_ltj_save_alternate_seq:Nnnwnw #1 {#2} ##1 { } \q_stop }
+ }
+\cs_generate_variant:Nn \ctex_ltj_save_alternate_seq:Nn { c }
+\NewDocumentCommand \ctex_ltj_save_alternate_seq:Nnnwnw
+ { m m m +O{ } m u{ \q_stop } }
+ {
+ \clist_set:Nn \l_@@_char_range_clist {#3}
+ \clist_set:Nn \l_@@_alternate_options_clist {#4}
+ \@@_use_global_options:N \l_@@_alternate_options_clist
+ \tl_if_blank:nTF {#5}
+ { \tl_set:Nn \l_@@_tmp_tl {#2} }
+ {
+ \tl_set:Nn \l_@@_tmp_tl {#5}
+ \tl_replace_all:Nnn \l_@@_tmp_tl { * } {#2}
+ }
+ \use:x
+ {
+ \ctex_ltj_save_alternate_family:Nnnn \exp_not:N #1
+ { \exp_not:o { \l_@@_char_range_clist } }
+ { \exp_not:o { \l_@@_alternate_options_clist } }
+ { \exp_not:o { \l_@@_tmp_tl } }
+ }
+ }
+\clist_new:N \l_@@_alternate_options_clist
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_ltj_set_alternate_family:nn}
+% 设置选项 \opt{CharRange} 范围内的替代字体。如果已经定义了主字体,我们也马上
+% 定义替代字体,否则只保存起来备用。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_family:nn #1#2
+ {
+ \@@_update_family_uid:N \l_@@_font_options_clist
+ \@@_use_global_options:N \l_@@_font_options_clist
+ \ctex_ltj_set_alternate_family:coonn
+ { \@@_alternate_cs:n {#1} }
+ { \l_@@_char_range_clist }
+ { \l_@@_font_options_clist } {#2} {#1}
+ }
+\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_family:Nnnnn #1#2#3#4#5
+ {
+ \prop_get:NnNT \g_@@_family_name_prop {#5} \l_@@_base_family_tl
+ { \ctex_ltj_set_alternate_family:nnn {#2} {#3} {#4} }
+ \ctex_ltj_save_alternate_family:Nnnn #1 {#2} {#3} {#4}
+ }
+\cs_generate_variant:Nn \ctex_ltj_set_alternate_family:Nnnnn { coo }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_ltj_save_alternate_family:Nnnn}
+% 保存替代字体序列的定义,以备定义主字体时使用。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_ltj_save_alternate_family:Nnnn #1#2#3#4
+ {
+ \cs_if_exist:NF #1 { \cs_set_eq:NN #1 \prg_do_nothing: }
+ \cs_gset_protected_nopar:Npx #1
+ { \exp_not:o { #1 \ctex_ltj_set_alternate_family:nnn {#2} {#3} {#4} } }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_ltj_set_alternate_family:nnn}
+% 实际定义替代字体族。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_family:nnn #1#2#3
+ {
+ \group_begin:
+ \@@_change_encoding:
+ \cs_set_eq:NN \CJKfamily \use_none:n
+ \ctex_ltj_swap_cs:NN
+ \DeclareFontShape@ \ctex_ltj_declare_alternate_shape:nnnnnn
+ \tl_set:Nn \l_@@_char_range_clist {#1}
+ \fontspec_set_family:Nnn \l_@@_alternate_family_tl {#2} {#3}
+ \group_end:
+ }
+\tl_new:N \l_@@_alternate_family_tl
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_ltj_swap_cs:NN}
+% 交换两个控制序列的意义。
+% \begin{macrocode}
+\cs_new_protected:Npn \ctex_ltj_swap_cs:NN #1#2
+ {
+ \cs_set_eq:NN \@@_tmp:w #1
+ \cs_set_eq:NN #1 #2
+ \cs_set_eq:NN #2 \@@_tmp:w
+ \cs_undefine:N \@@_tmp:w
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{LTJFONTUID}
+% \begin{macro}{\@@_update_family_uid:N}
+% \pkg{fontspec} 在一个字体族的选项和字体名称相同的时候,就不定义新字体。为了
+% 避免混淆替代字体的设置,我们新定义一个虚拟的选项 \opt{LTJFONTUID},确保
+% \pkg{fontspec} 对 CJK 字体族总是定义新字体。
+% \begin{macrocode}
+\keys_define:nn { fontspec } { LTJFONTUID .code:n = }
+\cs_new_protected_nopar:Npn \@@_update_family_uid:N #1
+ {
+ \int_gincr:N \g_@@_family_int
+ \clist_put_right:Nx #1 { LTJFONTUID = \int_use:N \g_@@_family_int }
+ }
+\int_new:N \g_@@_family_int
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_ltj_declare_alternate_shape:nnnnnn}
+% 在定义替代字体的字形时,通过字符范围与主字体的对应字形关联起来。
+% \tn{DeclareFontShape@} 一个有六个参数,我们只需要使用它的第三个参数 \meta{series}
+% 和第四个参数 \meta{shape}。
+% \begin{macrocode}
+\cs_new_protected:Npn \ctex_ltj_declare_alternate_shape:nnnnnn #1#2#3#4#5#6
+ {
+ \ctex_ltj_declare_alternate_shape:nnnnnn {#1} {#2} {#3} {#4} {#5} {#6}
+ \ctex_ltj_set_alternate_shape:Nnnnnnn \l_@@_char_range_clist
+ { \l_@@_base_family_tl } {#3} {#4}
+ { \l_fontspec_family_tl } {#3} {#4}
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_ltj_set_alternate_shape:Nnnnnnn}
+% 与 \pkg{LuaTeX-ja} 的 \tn{DeclareAlternateKanjiFont} 的功能类似,区别是固定编码
+% 为 \tn{CJK@encoding}。这个设置总是全局的。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_shape:Nnnnnnn #1#2#3#4#5#6#7
+ {
+ \clist_map_inline:Nn #1
+ {
+ \prop_get:NnNTF \g_@@_char_range_prop { ##1 } \l_@@_char_range_tl
+ {
+ \ctex_ltj_set_alternate_shape:nnN { #2/#3/#4 } { #5/#6/#7 }
+ \l_@@_char_range_tl
+ }
+ { \ctex_ltj_set_alternate_shape:nnn { #2/#3/#4 } { #5/#6/#7 } { ##1 } }
+ }
+ \@@_save_alternate_shape:cnn
+ { \@@_alternate_cs:n { clear / \l_@@_base_CJKfamily_tl } }
+ { luatexja.jfont.clear_alt_font_latex }
+ { '\lua_escape:e { \CJK@encoding/#2/#3/#4 }' }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_ltj_set_alternate_shape:nnn}
+% 我们使用 \texttt{->} 而不是像 \pkg{LuaTeX-ja} 一样使用 \texttt{-} 作为区间的
+% 分隔符。\pkg{LuaTeX-ja} 支持使用负数来引用由 \texttt{JFM} 设置的字符类。如果
+% 使用 \texttt{-} 作为分隔符,那么负数单独使用时,就需要把它放在两层花括号之内
+% (例如 |{{-1}}|),或者使用类似 |{-1}-{-1}| 的形式才不会解释错误。
+% \begin{macrocode}
+\NewDocumentCommand \ctex_ltj_set_alternate_shape:nnn
+ { m m > { \SplitArgument { 1 } { -> } } m }
+ { \ctex_ltj_set_alternate_shape:nnnn {#1} {#2} #3 }
+\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_shape:nnnn #1#2#3#4
+ {
+ \ctex_ltj_set_alternate_shape:n
+ {
+ \IfNoValueTF {#4}
+ { \int_eval:n {#3} , \int_eval:n {#3} , }
+ {
+ \int_eval:n { \tl_if_blank:nTF {#3} { "80 } {#3} } ,
+ \int_eval:n { \tl_if_blank:nTF {#4} { "10FFFF } {#4} } ,
+ }
+ '\lua_escape:e { \CJK@encoding/#2 }' ,
+ '\lua_escape:e { \CJK@encoding/#1 }'
+ }
+ }
+\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_shape:n #1
+ {
+ \lua_now:e { luatexja.jfont.set_alt_font_latex ( #1 ) }
+ \@@_save_alternate_shape:cnn
+ { \@@_alternate_cs:n { reset / \l_@@_base_CJKfamily_tl } }
+ { luatexja.jfont.set_alt_font_latex } {#1}
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_ltj_set_alternate_shape:nnN}
+% 若字符范围预先由 \texttt{declarecharrange} 声明,则可以直接使用。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_shape:nnN #1#2#3
+ {
+ \tl_map_inline:Nn #3
+ {
+ \ctex_ltj_set_alternate_shape:n
+ {
+ ##1 ,
+ '\lua_escape:e { \CJK@encoding/#2 }' ,
+ '\lua_escape:e { \CJK@encoding/#1 }'
+ }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_save_alternate_shape:Nnn}
+% 将实际设置的替换字形保存起来用于清除或恢复。
+% 暂时令 \cs{l_@@_base_family_tl} 为 \cs{scan_stop:} 是让它不被展开,使得替换
+% 字体的设置可以在 \tn{addCJKfontfeature} 中直接使用。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \@@_save_alternate_shape:Nnn #1#2#3
+ {
+ \group_begin:
+ \cs_if_exist:NF #1 { \cs_set_eq:NN #1 \prg_do_nothing: }
+ \cs_set_eq:NN \l_@@_base_family_tl \scan_stop:
+ \cs_set_eq:NN \lua_escape:e \scan_stop:
+ \cs_gset_protected_nopar:Npx #1
+ { \exp_not:o {#1} \exp_not:N \lua_now:e { #2 ( #3 ) } }
+ \group_end:
+ }
+\cs_generate_variant:Nn \@@_save_alternate_shape:Nnn { c }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{clearalternatefont,resetalternatefont}
+% 清除和重置操作总是全局的。
+% \begin{macrocode}
+\keys_define:nn { ctex }
+ {
+ clearalternatefont .code:n =
+ { \clist_map_function:xN {#1} \ctex_ltj_clear_alternate_font:n } ,
+ resetalternatefont .code:n =
+ { \clist_map_function:xN {#1} \ctex_ltj_reset_alternate_font:n } ,
+ clearalternatefont .default:n = \l_ctex_ltj_family_tl ,
+ resetalternatefont .default:n = \l_ctex_ltj_family_tl
+ }
+\cs_new_protected_nopar:Npn \ctex_ltj_clear_alternate_font:n #1
+ {
+ \group_begin:
+ \ctex_ltj_family_if_exist:xNTF {#1} \l_@@_base_family_tl
+ {
+ \cs_if_exist_use:cT { \@@_alternate_cs:n { clear / #1 } }
+ {
+ \prop_gput:Nno \g_@@_reset_alternate_prop
+ {#1} { \l_@@_base_family_tl }
+ \tl_set_eq:NN \CJK@family \l_@@_base_family_tl
+ \selectfont
+ }
+ }
+ { \@@_family_unknown_warning:n {#1} }
+ \group_end:
+ }
+\cs_new_protected_nopar:Npn \ctex_ltj_reset_alternate_font:n #1
+ {
+ \group_begin:
+ \prop_gpop:NnNT \g_@@_reset_alternate_prop {#1} \CJK@family
+ {
+ \tl_set_eq:NN \l_@@_base_family_tl \CJK@family
+ \use:c { \@@_alternate_cs:n { reset / #1 } }
+ \selectfont
+ }
+ \group_end:
+ }
+\prop_new:N \g_@@_reset_alternate_prop
+\cs_generate_variant:Nn \clist_map_function:nN { x }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{declarecharrange}
+% 预先声明字符范围。
+% \begin{macrocode}
+\keys_define:nn { ctex }
+ {
+ declarecharrange .code:n = \ctex_ltj_declare_char_range:x {#1} ,
+ declarecharrange .value_required:n = true
+ }
+\cs_new_protected_nopar:Npn \ctex_ltj_declare_char_range:n #1
+ { \clist_map_inline:nn {#1} { \@@_declare_char_range:nn ##1 } }
+\cs_generate_variant:Nn \ctex_ltj_declare_char_range:n { x }
+\cs_new_protected_nopar:Npn \@@_declare_char_range:nn #1#2
+ { \use:x { \ctex_ltj_declare_char_range:nn { \tl_trim_spaces:n {#1} } } {#2} }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_ltj_declare_char_range:nn}
+% \begin{variable}{\g_@@_char_range_prop}
+% |#1| 是名字,|#2| 是范围。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_ltj_declare_char_range:nn #1#2
+ {
+ \tl_clear:N \l_@@_char_range_tl
+ \clist_map_function:nN {#2} \ctex_ltj_save_char_range:n
+ \prop_gput:Nno \g_@@_char_range_prop {#1} { \l_@@_char_range_tl }
+ \ctex_ltj_def_char_range_key:n {#1}
+ \tl_clear:N \l_@@_char_range_tl
+ }
+\tl_new:N \l_@@_char_range_tl
+\prop_new:N \g_@@_char_range_prop
+% \end{macrocode}
+% \end{variable}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_ltj_save_char_range:n}
+% 预先解释字符区间的意义。
+% \begin{macrocode}
+\NewDocumentCommand \ctex_ltj_save_char_range:n
+ { > { \SplitArgument { 1 } { -> } } m }
+ { \ctex_ltj_save_char_range:nn #1 }
+\cs_new_protected_nopar:Npn \ctex_ltj_save_char_range:nn #1#2
+ {
+ \tl_put_right:Nx \l_@@_char_range_tl
+ { {
+ \IfNoValueTF {#2}
+ { \int_eval:n {#1} , \int_eval:n {#1} }
+ {
+ \int_eval:n { \tl_if_blank:nTF {#1} { "80 } {#1} } ,
+ \int_eval:n { \tl_if_blank:nTF {#2} { "10FFFF } {#2} }
+ }
+ } }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_ltj_def_char_range_key:n}
+% 在字体设置选项中定义字符范围键。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_ltj_def_char_range_key:n #1
+ {
+ \keys_if_exist:nnF { ctex_ltj / fontspec } {#1}
+ {
+ \keys_define:nn { ctex_ltj / fontspec }
+ { #1 .code:n = \ctex_ltj_char_range_key:nn {#1} { ##1 } }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_ltj_char_range_key:nn}
+% 如果字符范围键没有值,则只设置的这个字符范围内的替代字体。
+% \begin{macrocode}
+\cs_new_protected:Npn \ctex_ltj_char_range_key:nn #1#2
+ {
+ \tl_if_blank:nTF {#2}
+ { \tl_set:Nn \l_@@_char_range_clist {#1} }
+ {
+ \clist_if_empty:NT \l_@@_char_range_clist
+ {
+ \tl_set:Nn \l_@@_tmp_tl { {#1} }
+ \@@_char_range_parse_feature:w #2 \q_stop
+ }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_char_range_parse_feature:w}
+% 可以使用加方括号的方式,通过文件名来调用字体。这容易与字体选项混淆。例如,需要
+% 将 |[simsun.ttc]| 设置为 \opt{range} 的主字体,就需要使用
+% |range={{[simsun.ttc]}}| 或者 |[]{[simsun.ttc]}|。下面的目的是,支持直接使用
+% |[simsun.ttc]| 和 |[...][simsun.ttc]|。
+% \begin{macrocode}
+\NewDocumentCommand \@@_char_range_parse_feature:w
+ { +o o u { \q_stop } }
+ {
+ \exp_args:NNf \tl_put_right:Nn \l_@@_tmp_tl
+ {
+ \IfNoValueTF {#1} { {#3} }
+ {
+ \IfNoValueTF {#2}
+ { \tl_if_blank:nTF {#3} { { [#1] } } { [ {#1} ] {#3} } }
+ { [ {#1} ] { [#2] } }
+ }
+ }
+ \seq_put_right:No \l_@@_alternate_seq { \l_@@_tmp_tl }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \paragraph{其它设置}
+%
+% 在抄录环境中禁用 \opt{autospacing} 和 \opt{autoxspacing}。然而,\pkg{LuaTeX-ja}
+% 还是会使 JAchar 自动折行。没有看到有简单的禁用折行的办法,可能需要设置所有的
+% JAchar 的 \opt{prebreakpenalty} 或 \opt{postbreakpenalty} 为 \texttt{10000}:
+% \begin{verbatim}
+% \directlua
+% {
+% luatexja.isglobal = tex.globaldefs > 0 and "global" or ""
+% for i = 0x80, 0x10FFFF do
+% if luatexja.charrange.jcr_table_main[i] > 0 and
+% luatexja.charrange.jcr_table_main[i] < 218 and
+% luatexja.charrange.is_japanese_char_curlist(i) then
+% luatexja.stack.set_stack_table(luatexja.stack_table_index.PRE + i, 10000)
+% end
+% end
+% }
+% \end{verbatim}
+% \begin{macrocode}
+\AtBeginDocument
+ {
+ \ctex_appto_cmd:NnnTF \verbatim@font
+ { \char_set_catcode_letter:n { 64 } }
+ { \CTEX@verbatim@font@hook }
+ { }
+ { \ctex_patch_failure:N \verbatim@font }
+ }
+\cs_new_protected_nopar:Npn \CTEX@verbatim@font@hook
+ { \ltjsetparameter { autospacing = false , autoxspacing = false } }
+% \end{macrocode}
+%
+% \begin{macro}{\@@italiccorr}
+% \LaTeX{} 的倾斜校正也要重新定义。
+% \begin{macrocode}
+%<@@=>
+\cs_set_eq:NN \@@italiccorr \/
+%<@@=ctex>
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.4.12}{2018/01/27}{正确使用 \tn{ltjsetkanjiskip} 和 \tn{ltjsetxkanjiskip}。}
+%
+% \begin{macro}[int]{\ctex_ltj_set_kanjiskip:N,\ctex_ltj_set_xkanjiskip:N}
+% \tn{ltjsetkanjiskip} 和 \tn{ltjsetxkanjiskip} 是相应的 \tn{ltjsetparameter}
+% 的快捷方式,在使用他们时,要注意先使用 \tn{ltj@setpar@global}。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_ltj_set_kanjiskip:N
+ { \ltj@setpar@global \ltjsetkanjiskip }
+\cs_new_protected_nopar:Npn \ctex_ltj_set_xkanjiskip:N
+ { \ltj@setpar@global \ltjsetxkanjiskip }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</luatex>
+% \end{macrocode}
+%
+% \subsubsection{\pkg{ctex-engine-uptex.def}}
+%
+% \begin{macrocode}
+%<*uptex|aptex>
+% \end{macrocode}
+%
+% \changes{v2.4}{2016/02/28}{初步支持 \upLaTeX。}
+% \changes{v2.4.15}{2019/04/05}{显式补丁 \upLaTeX 的 \tn{rmfamily} 等字体命令。}
+%
+% 按 \pkg{CJK} 的命名习惯模拟部分命令,并设置默认字体。
+% \begin{macrocode}
+\tl_set:Nn \CJKrmdefault { zhrm }
+\tl_set:Nn \CJKsfdefault { zhsf }
+\tl_set:Nn \CJKttdefault { zhtt }
+\tl_set:Nn \CJKfamilydefault { \CJKrmdefault }
+\tl_set:Nn \kanjifamilydefault { \CJKfamilydefault }
+\RenewDocumentCommand \rmfamily { }
+ {
+ \not@math@alphabet \rmfamily \mathrm
+ \romanfamily \rmdefault
+ \kanjifamily \CJKrmdefault
+ \selectfont
+ }
+\RenewDocumentCommand \sffamily { }
+ {
+ \not@math@alphabet \sffamily \mathsf
+ \romanfamily \sfdefault
+ \kanjifamily \CJKsfdefault
+ \selectfont
+ }
+\RenewDocumentCommand \ttfamily { }
+ {
+ \not@math@alphabet \ttfamily \mathtt
+ \romanfamily \ttdefault
+ \kanjifamily \CJKttdefault
+ \selectfont
+ }
+\NewDocumentCommand \CJKfamily { m }
+ {
+ \kanjifamily {#1}
+ \selectfont
+ }
+% \end{macrocode}
+%
+% \changes{v2.4.15}{2019/04/05}{将 \upLaTeX 的默认字体由 \texttt{mc} 改为
+% \texttt{zhrm},并启用 \tn{jfam}。}
+%
+% 将 \upLaTeX 的默认字体由 |mc| 改为 |zhrm|,并启用 \tn{jfam}。
+% \begin{macrocode}
+\DeclareErrorKanjiFont{JY2}{zhrm}{m}{n}{10}
+\DeclareKanjiSubstitution{JY2}{zhrm}{m}{n}
+\DeclareKanjiSubstitution{JT2}{zhrm}{m}{n}
+\DeclareSymbolFont{mincho}{JY2}{zhrm}{m}{n}
+\SetSymbolFont{mincho}{bold}{JY2}{zhrm}{bx}{n}
+\jfam \symmincho
+% \end{macrocode}
+%
+% 在导言区末尾更新 \tn{CJKfamilydefault}。
+% \begin{macrocode}
+\ctex_at_end_preamble:n { \ctex_update_default_family: }
+% \end{macrocode}
+%
+% 使修改立刻生效,保证导言区字体族正确。
+% \begin{macrocode}
+\normalfont
+% \end{macrocode}
+%
+% \begin{macro}[int]{\em}
+% \changes{v2.4.2}{2016/05/15}{兼容 \upLaTeX{} 2016/05/07u00 的定义。}
+% 取消 \upLaTeX{} 对 \tn{em} 使用 |\mcfamily|、|\gtfamily| 命令的重定义,恢复
+% \LaTeXe{} 对 \tn{em} 的原始定义。如果用户已经重定义了 \tn{em},则新定义保持
+% 不变。\upLaTeX{} 2016/05/07u00 的定义有所变化,这一行为可以由用户通过 \pkg{platexrelease}
+% 包改变,需要分支处理。
+% \begin{macrocode}
+\ctex_patch_cmd_once:NnnnTF \em
+ { \ExplSyntaxOff }
+ { \eminnershape \else \gtfamily \itshape }
+ { \eminnershape \else \itshape }
+ { }
+ {
+ \ctex_patch_cmd:Nnn \em
+ { \mcfamily \upshape \else \gtfamily \itshape }
+ { \eminnershape \else \itshape }
+ }
+\cs_set_nopar:Npn \eminnershape { \upshape }
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.4}{2016/04/24}{正确设置 \upTeX{} 下字体命令。}
+% \begin{macro}[int]{\ctex_set_upfamily:nnn}
+% 将 NFSS 字体族 |#1| 设置为 JFM 字体名 |#2|,粗体形式字体名 |#3|。其中字体名
+% 形如 |upzhserif|,不包括表示方向的后缀 |-h| 与 |-v|。粗体字体名为空时不设置该
+% 字形。本命令不设置字体映射,需要复用已有的字体映射或另行设置。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_set_upfamily:nnn #1 #2 #3
+ {
+ \DeclareKanjiFamily{JY2}{#1}{}
+ \DeclareKanjiFamily{JT2}{#1}{}
+ \DeclareFontShape{JY2}{#1}{m}{n}{<->~ #2-h}{}
+ \DeclareFontShape{JT2}{#1}{m}{n}{<->~ #2-v}{}
+ \tl_if_empty:nF { #3 }
+ {
+ \DeclareFontShape{JY2}{#1}{bx}{n}{<->~ #3-h}{}
+ \DeclareFontShape{JT2}{#1}{bx}{n}{<->~ #3-v}{}
+ }
+ }
+\@onlypreamble \ctex_set_upfamily:nnn
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_set_upmap:nnn}
+% 设置 \upTeX{} 字体映射。|#1| 是形如 |upserif| 的 PS TFM 字体名,不带表示粗体
+% 的后缀 |b| 与表示排版方向的后缀 |-h| 与 |-v|。|#2| 与 |#3| 是普通与粗体的实际
+% 字体名。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_set_upmap:nnn #1 #2 #3
+ {
+ \ctex_set_zhmap:n
+ {
+ \special{ pdf:mapline~ #1-h~ UniGB-UTF16-H~ #2 }
+ \special{ pdf:mapline~ #1-v~ UniGB-UTF16-V~ #2 }
+ \tl_if_empty:nF { #3 }
+ {
+ \special{ pdf:mapline~ #1b-h~ UniGB-UTF16-H~ #3 }
+ \special{ pdf:mapline~ #1b-v~ UniGB-UTF16-V~ #3 }
+ }
+ }
+ }
+\@onlypreamble \ctex_set_upmap:nnn
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_set_upfonts:nnnnnn}
+% 设置 \upTeX{} 基本字体映射,按 \pkg{zhmetrics-uptex} 的定义,依次设置衬线体
+% 正、粗、意大利,无衬线体正、粗,等宽体正——共 6 种字体,并分横排及直排。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_set_upfonts:nnnnnn #1 #2 #3 #4 #5 #6
+ {
+ \ctex_set_upmap:nnn { upserif } { #1 } { #2 }
+ \ctex_set_upmap:nnn { upserifit } { #3 } {}
+ \ctex_set_upmap:nnn { upsans } { #4 } { #5 }
+ \ctex_set_upmap:nnn { upmono } { #6 } {}
+ }
+\@onlypreamble \ctex_set_upfonts:nnnnnn
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.4.7}{2016/12/27}{依赖 \pkg{pxeverysel} 宏包。}
+%
+% \pkg{everysel} 宏包(2011/10/28)未考虑 \upLaTeX{} 对 \tn{selectfont} 的修
+% 改,需要引入 \pkg{pxeverysel} 宏包。
+% \begin{macrocode}
+\RequirePackage { pxeverysel }
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</uptex|aptex>
+% \end{macrocode}
+%
+% \subsubsection{调整 \tn{CJKfamilydefault}}
+%
+% \changes{v2.4}{2016/02/15}{正确更新 \pkg{CJK} 包的 \tn{CJKfamilydefault}。}
+% \changes{v2.4.1}{2016/04/26}{正确更新 \upLaTeX{} 的 \tn{CJKfamilydefault}。}
+%
+% \begin{macro}[int]{\ctex_update_default_family:}
+% 在导言区结束,如果 \tn{CJKfamilydefault} 没有被更改,则在此时根据西文字体的情况
+% 更新 \tn{CJKfamilydefault}。\pkg{xeCJK} 已经有这个功能,不需要再调整。
+% \begin{macrocode}
+%<*pdftex|luatex|uptex|aptex>
+\cs_new_protected_nopar:Npn \ctex_update_default_family:
+ {
+ \tl_if_eq:NNT \CJKfamilydefault \l_@@_family_default_init_tl
+ {
+ \group_begin:
+ \cs_set_eq:NN \@@_family_default_wrap:n \exp_not:n
+ \tl_gset:Nx \CJKfamilydefault
+ {
+ \str_case:onF { \familydefault }
+ {
+ { \rmdefault } { \exp_not:N \CJKrmdefault }
+ { \sfdefault } { \exp_not:N \CJKsfdefault }
+ { \ttdefault } { \exp_not:N \CJKttdefault }
+ }
+ { \CJKfamilydefault }
+ }
+ \group_end:
+ }
+% \end{macrocode}
+% 使用 \LuaLaTeX{} 时,自动调整得到的 \tn{CJKfamilydefault} 可能没有定义,需要
+% 确认它的存在性。使用 \pkg{CJK} 宏包或 \upLaTeX{}
+% 时,\texttt{C19rm}、\texttt{JY2rm} 等总是有定义的,不需要确认。
+% \begin{macrocode}
+%<*luatex>
+ \ctex_ltj_ensure_default_family:
+%</luatex>
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{variable}{\l_@@_family_default_init_tl}
+% 往 \tn{CJKfamilydefault} 中加入标志,用于判断它是否被更改。
+% \begin{macrocode}
+\tl_new:N \l_@@_family_default_init_tl
+\cs_new_eq:NN \@@_family_default_wrap:n \use:n
+\tl_set:Nx \l_@@_family_default_init_tl
+ {
+ \exp_not:N \@@_family_default_wrap:n
+ { \exp_not:o { \CJKfamilydefault } }
+ }
+\tl_gset_eq:NN \CJKfamilydefault \l_@@_family_default_init_tl
+%</pdftex|luatex|uptex|aptex>
+% \end{macrocode}
+% \end{variable}
+%
+% \subsubsection{操作系统的判断}
+%
+% \changes{v2.0}{2014/04/16}{自动检测操作系统,载入对应的字体配置。}
+%
+% \begin{macro}[int]{\ctex_detected_platform:}
+% 在 \LuaTeX{} 下直接用调用 |os.name| 来判断。
+% \begin{macrocode}
+%<*luatex>
+\cs_new_protected_nopar:Npn \ctex_detected_platform:
+ {
+ \tl_gset:Nx \g_@@_fontset_tl
+ {
+ \lua_now:e
+ {
+ if ~ os.name == 'windows' then ~
+ tex.sprint ( 'windows' )
+ elseif ~ os.name == 'macosx' then ~
+ tex.sprint ( 'mac' )
+ else ~
+ tex.sprint ( 'fandol' )
+ end
+ }
+ }
+ }
+%</luatex>
+% \end{macrocode}
+%
+% \ApTeX{} 可以使用 \tn{ngostype} 来判断。
+% \begin{macrocode}
+%<*aptex>
+\cs_new_protected_nopar:Npn \ctex_detected_platform:
+ {
+ \tl_gset:Nx \g_@@_fontset_tl
+ {
+ \str_case:onF { \ngostype }
+ {
+ { Win32 } { windows }
+ { Win64 } { windows }
+ { Darwin } { mac }
+ }
+ { fandol }
+ }
+ }
+%</aptex>
+% \end{macrocode}
+%
+% \pdfTeX{} 和 \XeTeX{} 下则依据 \file{/dev/null} 和 \file{nul:} 的存在性以及
+% 文件系统的大小写敏感性来判断。Mac~OS~X 的大小写敏感性在安装时是可选的。为了
+% 保险起见,这里的判断很繁琐,最多要进行 4 次文件操作!
+% \begin{macrocode}
+%<*xetex|pdftex|uptex>
+\cs_new_protected_nopar:Npn \ctex_detected_platform:
+ {
+ \file_if_exist:nTF { /dev/null }
+ {
+ \file_if_exist:nTF { nul: }
+ {
+ \file_if_exist:nTF { \c_@@_upper_case_file_str }
+ { \ctex_if_macosx:TF { mac } { windows } }
+ { \ctex_if_macosx:TF { mac } { fandol } }
+ }
+ { \ctex_if_macosx:TF { mac } { fandol } }
+ }
+ { \tl_gset:Nn \g_@@_fontset_tl { windows } }
+ }
+\str_const:Nx \c_@@_upper_case_file_str
+ { \exp_args:No \str_upper_case:n { \g_file_curr_name_str } }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_if_macosx:TF}
+% \changes{v2.1}{2015/06/17}{改用 \file{/Library/Fonts/Songti.ttc} 为特征文件。}
+% 以 \file{/Library/Fonts/Songti.ttc} 为特征文件判断 Mac~OS~X。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_if_macosx:TF #1#2
+ {
+ \file_if_exist:nTF { \c_@@_macosx_file_str }
+ { \tl_gset:Nn \g_@@_fontset_tl {#1} }
+ { \tl_gset:Nn \g_@@_fontset_tl {#2} }
+ }
+\str_const:Nn \c_@@_macosx_file_str { /Library/Fonts/Songti.ttc }
+%</xetex|pdftex|uptex>
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{\pkg{hyperref} 兼容性处理}
+%
+% \changes{v2.1}{2015/06/16}{不再设置 \pkg{hyperref} 宏包的 \opt{colorlinks} 选项。}
+%
+% 现在处理各个引擎下的 PDF 中文书签问题。根据编译引擎与文件编码的不
+% 同,\pkg{ctex} 向 \pkg{hyperref} 传递适当的参数,完成中文书签的正确设置。用
+% 户仍需要自己载入 \pkg{hyperref} 宏包。
+%
+% \begin{macro}[int]{\ctex_hypersetup:n}
+% 如果已经载入 \pkg{hyperref} 宏包,则直接使用其定义设置选项;否则
+% \cs{ctex_hypersetup:n} 的效果与 \tn{PassOptionsToPackage} 一致,只传递宏包参
+% 数。如果用户不载入 \pkg{hyperref} 宏包,相关参数即被丢弃。
+% \begin{macrocode}
+%<*class|ctex>
+\@ifpackageloaded { hyperref }
+ {
+ \cs_new_protected_nopar:Npn \ctex_hypersetup:n #1
+ { \hypersetup {#1} }
+ }
+ {
+ \cs_new_protected_nopar:Npn \ctex_hypersetup:n #1
+ { \PassOptionsToPackage {#1} { hyperref } }
+ }
+%</class|ctex>
+% \end{macrocode}
+% \end{macro}
+%
+% 在 \pdfTeX{} 下使用 \texttt{GBK} 编码,\dvipdfmx{} 驱动可以直接用它的
+% \tn{special} 命令,其它模式用 \pkg{xCJK2uni} 宏包处理。使用 \texttt{UTF-8} 编
+% 码时,\pkg{CJKutf8} 已经处理了书签问题,但仍需要设置 \opt{pdfencoding} 为
+% \opt{unicode},目的是在书签的开头写入 BOM (|\376\377|),提示这是
+% \texttt{UTF-16BE} 字节流。
+% \begin{macrocode}
+%<*pdftex>
+\ctex_hypersetup:n { driverfallback = dvipdfmx }
+\str_if_eq:onTF { \l_@@_encoding_tl } { GBK }
+ {
+ \ctex_hypersetup:n { CJKbookmarks = true }
+ \sys_if_output_pdf:TF
+ { \ctex_at_end_package:nn { hyperref } { \RequirePackage { xCJK2uni } } }
+ {
+ \ctex_at_end_package:nn { hyperref }
+ {
+ \str_if_eq:onTF { \Hy@driver } { hdvipdfm }
+ {
+ \AtBeginShipoutFirst
+ { \special { pdf:tounicode~GBK-EUC-UCS2 } }
+ }
+ { \RequirePackage { xCJK2uni } }
+ }
+ }
+ }
+ { \ctex_hypersetup:n { pdfencoding = unicode } }
+%</pdftex>
+% \end{macrocode}
+% 在 \XeTeX{} 下,\pkg{hyperref} 在处理带有非 ASCII 字符和 |\%| 的书签时有问题^^A
+% \footnote{\url{https://github.com/CTeX-org/ctex-kit/issues/39}}。
+% 事实上,\pkg{hyperref} 在驱动文件 \file{hxetex.def} 中设置了
+% \tn{Hy@unicodetrue},从而书签总是会被 \tn{HyPsd@ConvertToUnicode} 转化成
+% \texttt{UTF-16BE} 编码的形式(抄录自 \tn{pdfstringdef}的定义):
+% \begin{verbatim}
+% \ifHy@unicode
+% \HyPsd@ConvertToUnicode#1%
+% \ifx\HyPsd@pdfencoding\HyPsd@pdfencoding@auto
+% \ltx@IfUndefined{StringEncodingConvertTest}{%
+% }{%
+% \EdefUnescapeString\HyPsd@temp#1%
+% \ifxetex
+% \let\HyPsd@UnescapedString\HyPsd@temp
+% \StringEncodingConvertTest\HyPsd@temp\HyPsd@temp
+% {utf16be}{ascii-print}{%
+% \EdefEscapeString\HyPsd@temp\HyPsd@temp
+% \global\let#1\HyPsd@temp
+% \HyPsd@EscapeTeX#1%
+% \Hy@unicodefalse
+% }{%
+% \HyPsd@ToBigChars#1%
+% }%
+% \end{verbatim}
+% 通过宏包选项 \opt{pdfencoding=unicode} 设置 \tn{HyPsd@pdfencoding} 为
+% \opt{unicode},可以避免随后再将书签从 \texttt{UTF-16BE} 字节流转化回正常
+% 字符(其中使用的 \tn{HyPsd@ToBigChars} 没有考虑书签中含有 |\%| 的情况)。
+% Heiko Oberdiek 在 \file{README} 中说明了将书签转化回正常字符的意图:避免
+% XDVIPDFMX 的警告^^A
+% \footnote{\url{http://project.ktug.org/dvipdfmx/mailman/dvipdfmx/2009-December/000153.html}}:
+% \begin{verbatim}
+% ** WARNING ** Failed to convert input string to UTF16...
+% \end{verbatim}
+% \XeTeX{} 的维护者 Khaled Hosny 已经注意到了这个问题^^A
+% \footnote{\url{http://tug.org/pipermail/tex-live/2013-December/034613.html}}。
+% 需要注意的是,\file{hxetex.def} 重载了宏包选项 \opt{unicode},目的是不能设置
+% 它为 \opt{false},但也导致它不会改变 \tn{HyPsd@pdfencoding}。如果
+% \pkg{hyperref} 先于 \CTeX{} 被载入,那么 \opt{unicode} 选项是没有意义的。
+% 因此要通过意义相同但在 \XeTeX{} 下更保险的 \opt{pdfencoding} 选项来设置。
+% 为了与 \XeTeX 下的行为一致(使用 \tn{HyPsd@LoadUnicode} 载入 \file{puenc.def}),
+% 在 \LuaTeX{} 下也启用这个选项。
+% \begin{macrocode}
+%<*xetex|luatex>
+\ctex_hypersetup:n { pdfencoding = unicode }
+%</xetex|luatex>
+% \end{macrocode}
+%
+% 我们假定 \upTeX{} 使用 \dvipdfmx{} 驱动输出,于是使用与 \pdfTeX{} 类似的设
+% 置。注意 \upTeX{} 需要使用 UTF8-UTF16 的编码转换。
+% \begin{macrocode}
+%<*uptex|aptex>
+\ctex_hypersetup:n { driverfallback = dvipdfmx }
+\ctex_at_end_package:nn { hyperref }
+ { \AtBeginShipoutFirst { \special { pdf:tounicode~ UTF8-UTF16 } } }
+%</uptex|aptex>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*pdftex|xetex|luatex|uptex|aptex>
+% \end{macrocode}
+%
+% \subsubsection{\pkg{CJKfntef}、\pkg{xeCJKfntef} 相关设置}
+%
+% \CTeX{} 宏集对 \pdfTeX{} 与 \XeTeX{} 引擎,分别载入 \pkg{CJKfntef} 或
+% \pkg{xeCJKfntef} 宏包,并关闭宏包默认的彩色等多余格式。
+%
+% \changes{v2.0}{2015/03/25}{默认关闭 \pkg{CJKfntef} 或 \pkg{xeCJKfntef} 的彩
+% 色设置。}
+% \changes{v2.0}{2015/03/25}{\tn{CTEXunderdot}, \tn{CTEXunderline},
+% \tn{CTEXunderdblline}, \tn{CTEXunderwave}, \tn{CTEXsout}, \tn{CTEXxout} 是过
+% 时命令;\env{CTEXfilltwosides} 是过时环境。}
+%
+% 载入 \pkg{CJKfntef} 或 \pkg{xeCJKfntef} 并做适当格式设置。有关 |\CTEX| 开头
+% 的宏定义是过时命令,仅做兼容性保留。
+%
+% \begin{macrocode}
+%<*pdftex>
+\RequirePackage { CJKfntef }
+\normalem
+\cs_new_protected_nopar:Npn \@@_clear_fntef_color:n #1
+ { \tl_clear:c { CJK#1color } }
+%</pdftex>
+%<*xetex>
+\RequirePackage { xeCJKfntef }
+\@ifpackagelater { xeCJKfntef } { 2014/11/04 }
+ {
+ \cs_new_protected_nopar:Npn \@@_clear_fntef_color:n #1
+ { \xeCJKsetup { #1 / format = { } } }
+ }
+ {
+ \cs_new_protected_nopar:Npn \@@_clear_fntef_color:n #1
+ { \tl_clear:c { CJK#1color } }
+ }
+%</xetex>
+%<*luatex|uptex|aptex>
+\msg_new:nnn { ctex } { fntef-not-available }
+%<luatex> { Functions~ of~ `CJKfntef'~ is~ not~ available~ in~ LuaLaTeX. }
+%<uptex> { Functions~ of~ `CJKfntef'~ is~ not~ available~ in~ upLaTeX. }
+%<aptex> { Functions~ of~ `CJKfntef'~ is~ not~ available~ in~ ApLaTeX. }
+\msg_warning:nn { ctex } { fntef-not-available }
+%</luatex|uptex|aptex>
+\clist_map_inline:nn
+ { underdot , underline , underdblline , underwave , sout , xout }
+%<*pdftex|xetex>
+ {
+ \@@_clear_fntef_color:n {#1}
+ \cs_new_protected_nopar:cpx { CTEX#1 }
+ {
+ \msg_warning:nnnn { ctex } { deprecated-command } { \exp_not:c { CTEX#1 } }
+ { You~ can~ use~ the~ command~ with~ prefix~ \exp_not:N \CJK~ instead. }
+ \exp_not:c { CJK#1 }
+ }
+ }
+\cs_new_protected_nopar:Npn { \CTEXfilltwosides }
+ {
+ \msg_warning:nnnn { ctex } { deprecated-environment } { CTEXfilltwosides }
+ { You~ can~ use~ `CJKfilltwosides'~ environment~ instead. }
+ \CJKfilltwosides
+ }
+\cs_new_protected_nopar:Npn { \endCTEXfilltwosides } { \endCJKfilltwosides }
+%</pdftex|xetex>
+%<*luatex|uptex|aptex>
+ { \cs_new_eq:cN { CTEX#1 } \use:n }
+\cs_new_eq:NN \CTEXfilltwosides \use_none:n
+\cs_new_eq:NN \endCTEXfilltwosides \prg_do_nothing:
+%</luatex|uptex|aptex>
+%<*pdftex>
+\clist_map_inline:nn
+ {
+ underdotbasesep , underdotsep , underlinebasesep ,
+ underlinesep , underdbllinesep , underdbllinebasesep ,
+ underwavebasesep , underwavesep , southeight ,
+ underdotcolor , underwavecolor , underlinecolor ,
+ underdbllinecolor , soutcolor , xoutcolor
+ }
+ {
+ \cs_new_eq:cc { CTEX#1 } { CJK#1 }
+ \cs_set_nopar:cpx { CJK#1 } { \exp_not:c { CTEX#1 } }
+ }
+%</pdftex>
+% \end{macrocode}
+%
+% \subsubsection{\tn{ccwd} 的更新}
+%
+% \begin{macro}[int]{\ctex_update_ccwd:,\ccwd}
+% \changes{v2.4.1}{2016/04/29}{正确设置 \upTeX{} 下的 \tn{ccwd}。}
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_update_ccwd:
+%<*pdftex|xetex>
+ {
+ \hbox_set:Nn \l_@@_tmp_box { \CJKglue }
+ \dim_set:Nn \ccwd { \box_wd:N \l_@@_tmp_box + \f@size \p@ }
+ }
+%</pdftex|xetex>
+%<*luatex>
+ { \skip_set:Nn \ccwd { \ltjgetparameter { kanjiskip } + \zw } }
+%</luatex>
+%<*uptex|aptex>
+ { \skip_set:Nn \ccwd { 1zw + \tex_kanjiskip:D } }
+%</uptex|aptex>
+\dim_new:N \ccwd
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_update_ccglue:}
+% 更新字间距。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_update_ccglue:
+%<*pdftex|xetex>
+ {
+ \cs_set_protected_nopar:Npn \CJKglue
+ { \skip_horizontal:N \l_@@_ccglue_skip }
+ }
+%</pdftex|xetex>
+%<*luatex>
+ { \ctex_ltj_set_kanjiskip:N \l_@@_ccglue_skip }
+%</luatex>
+%<*uptex|aptex>
+ { \skip_set_eq:NN \tex_kanjiskip:D \l_@@_ccglue_skip }
+%</uptex|aptex>
+\skip_new:N \l_@@_ccglue_skip
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int,pTF]{\ctex_if_ccglue_touched:}
+% 检查用户是否修改过汉字间距。
+% \begin{macrocode}
+\prg_new_conditional:Npnn \ctex_if_ccglue_touched: { TF }
+ {
+%<*pdftex|xetex>
+ \if_meaning:w \CJKglue \@@_ccglue:
+ \prg_return_false: \else: \prg_return_true: \fi:
+%</pdftex|xetex>
+%<*luatex>
+ \skip_if_eq:nnTF { \l_@@_ccglue_skip } { \ltjgetparameter { kanjiskip } }
+ { \prg_return_false: } { \prg_return_true: }
+%</luatex>
+%<*uptex|aptex>
+ \skip_if_eq:nnTF { \l_@@_ccglue_skip } { \tex_kanjiskip:D }
+ { \prg_return_false: } { \prg_return_true: }
+%</uptex|aptex>
+ }
+% \end{macrocode}
+% 注意下面的标记不能用 \verb"%<pdftex|xetex>",它会导致旧版本的 \pkg{l3docstrip}
+% 不能替换 \texttt{@@}。
+% \begin{macrocode}
+%<*pdftex|xetex>
+\ctex_at_end:n { \cs_new_eq:NN \@@_ccglue: \CJKglue }
+%</pdftex|xetex>
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_update_em_unit:}
+% 将当前汉字的宽度保存到 \tn{ccwd} 中备用。不采用 \texttt{1em},因为这时的
+% \texttt{1em} 实际上来自西文字体的信息,未必等于汉字的宽度,这似乎在传统的
+% \file{.tfm} 字体上表现更明显。在 \pdfTeX{} 和 \XeTeX{} 下,直接使用 |\f@size\p@|
+% 作为汉字的宽度,这应该对大多数汉字字体都成立,但不适用于诸如“方正兰亭黑长”之类
+% 的特殊字体。在 \XeTeX{} 可以用 \tn{fontcharwd} 来改进。而在 \pdfTeX{} 下,若使用
+% \pkg{zhmetrics} 技术,所有的汉字共享同一个 \file{.tfm},\tn{fontcharwd} 也就没有
+% 意义。在 \LuaTeX{} 下,\pkg{LuaTeX-ja} 总是按照 JFM 中的设置输出汉字的宽度,可以
+% 直接用 \tn{zw} 作为汉字宽度。\upTeX{} 可以直接使用原生的长度单位 |zw|。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_update_em_unit:
+%<pdftex|xetex> { \dim_set:Nn \ccwd { \f@size \p@ } }
+%<luatex> { \dim_set:Nn \ccwd { \zw } }
+%<uptex|aptex> { \dim_set:Nn \ccwd { 1zw } }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{其它}
+%
+% \changes{v2.4.13}{2018/03/23}{修正导言区 \tn{selectfont} 钩子位置。}
+%
+% \begin{macro}[int]{\ctex_add_to_selectfont:n,\CTEX@selectfont@hook}
+% \tn{EverySelectfont} 直到文档开始时才有效。为了 \tn{ccwd} 和 \pkg{LuaTeX-ja} 的
+% 字体设置在导言区也可用,我们还需要在这里手工修改 \tn{selectfont}。\pkg{everysel}
+% 宏包会用 \tn{CheckCommand} 来检查 \tn{selectfont} 是否为标准定义。我们修改了
+% \tn{selectfont},所以会给出一个警告。为了消除这个警告,在它检查之前,还原本来
+% 定义。\pkg{pxeverysel} 宏包取消了检查,但也需要恢复定义,避免重复使用钩子。
+% \begin{macrocode}
+\cs_new_protected:Npn \ctex_add_to_selectfont:n #1
+ {
+ \cs_set_protected_nopar:Npx \CTEX@selectfont@hook
+ { \exp_not:o { \CTEX@selectfont@hook #1 } }
+ }
+\cs_new_eq:NN \CTEX@selectfont@hook \prg_do_nothing:
+\if_cs_exist:N \@EverySelectfont@Init
+ \group_begin:
+ \cs_set:Npn \@@_tmp:N #1
+ {
+ \tl_set:Nn \l_@@_tmp_tl {#1}
+ \cs_new_eq:NN \CTEX@selectfont@save #1
+ \cs_new_protected_nopar:Npn \@@_restore_selectfont:
+ {
+ \tl_put_left:Nn \@EverySelectfont@Init
+ { \let #1 \CTEX@selectfont@save }
+ \cs_undefine:N \@@_restore_selectfont:
+ }
+ }
+ \ctex_parse_name:NN \@@_tmp:N \selectfont
+ \exp_last_unbraced:NNo \group_end:
+ \ctex_patch_cmd_once:NnnnTF { \l_@@_tmp_tl }
+ { \ExplSyntaxOff }
+ { \size@update }
+ { \CTEX@selectfont@hook \size@update }
+ { \@@_restore_selectfont: }
+ { \ctex_patch_failure:N \selectfont }
+\fi:
+% \end{macrocode}
+% \end{macro}
+%
+% \tn{CJK@plane} 有定义,说明处于 \pkg{CJK} 宏包的 \tn{CJKsymbol} 之内,不必使用钩子。
+% \begin{macrocode}
+%<*pdftex>
+\EverySelectfont { \cs_if_exist:NF \CJK@plane { \CTEX@selectfont@hook } }
+%</pdftex>
+%<*xetex|luatex|uptex|aptex>
+\EverySelectfont { \CTEX@selectfont@hook }
+%</xetex|luatex|uptex|aptex>
+% \end{macrocode}
+%
+% Attribute 寄存器 \tn{ltj@curjfnt} 的初始值是 $-1$,必须把它设置为一个有效的
+% \texttt{font.id},否则编译时会直接退出。
+% \begin{macrocode}
+%<*luatex>
+\ctex_add_to_selectfont:n
+ {
+ \ctex_ltj_select_font:
+ \ctex_ltj_select_alternate_font:
+ }
+\tl_set:Nn \CJK@family { song } \selectfont
+\tl_clear:N \CJK@family
+%</luatex>
+% \end{macrocode}
+%
+% \changes{v2.4.1}{2016/05/01}{随字体更新 \upTeX{} 的 \tn{xkanjiskip}。}
+%
+% \begin{macro}[int]{\ctex_update_xkanjiskip:}
+% \begin{variable}{\l_@@_xkanjiskip_skip}
+% \upTeX{} 和 \pkg{LuaTeX-ja} 对 \tn{xkanjiskip} 都是即时赋值。单位 \opt{zw} 与字体相关,因此
+% 需要每次 \tn{selectfont} 的时候更新一次 \tn{xkanjiskip}。如果用户设置过
+% \tn{xkanjiskip},就不更新。注意,同 \TeX{} 的 \tn{baselineskip} 一样,如果在
+% 一个段落内多次设置了 \tn{kanjiskip} 或 \tn{xkanjiskip},只有最后的设置会影响
+% 全段。
+% \begin{macrocode}
+%<*luatex|uptex|aptex>
+\cs_new_protected_nopar:Npn \ctex_update_xkanjiskip:
+ {
+ \skip_if_eq:nnT
+%<luatex> { \ltjgetparameter { xkanjiskip } } { \l_@@_xkanjiskip_skip }
+%<uptex|aptex> { \tex_xkanjiskip:D } { \l_@@_xkanjiskip_skip }
+ {
+ \skip_set:Nn \l_@@_xkanjiskip_skip { \l_@@_xkanjiskip_tl }
+%<luatex> \ctex_ltj_set_xkanjiskip:N \l_@@_xkanjiskip_skip
+%<uptex|aptex> \skip_set_eq:NN \tex_xkanjiskip:D \l_@@_xkanjiskip_skip
+ }
+ }
+\tl_new:N \l_@@_xkanjiskip_tl
+\tl_set:Nn \l_@@_xkanjiskip_tl
+%<luatex> { .25\zw plus 1pt minus 1pt }
+%<uptex|aptex> { .25zw plus 1pt minus 1pt }
+\skip_new:N \l_@@_xkanjiskip_skip
+\skip_set:Nn \l_@@_xkanjiskip_skip
+%<luatex> { \ltjgetparameter { xkanjiskip } }
+%<uptex|aptex> { \tex_xkanjiskip:D }
+% \end{macrocode}
+% \end{variable}
+% \end{macro}
+%
+% \begin{macrocode}
+\ctex_add_to_selectfont:n { \ctex_update_xkanjiskip: }
+%</luatex|uptex|aptex>
+% \end{macrocode}
+%
+% \changes{v2.4.10}{2017/07/23}{定义 \tn{cht},\tn{cdp} 和 \tn{cwd}。}
+%
+% \begin{macro}[int]{\cht,\cdp,\cwd}
+% 分别从 \file{.jfm} 中读取字符高度、深度和宽度,目前仅考虑横排的情况。
+% \begin{macrocode}
+%<*luatex>
+\dim_new:N \cht
+\dim_new:N \cdp
+\dim_new:N \cwd
+\newluafunction \g_@@_kanjisize_func
+\group_begin:
+\char_set_catcode_space:n { 32 }
+\lua_now:e
+ {
+ local nulltable = { }
+ local t = lua.get_functions_table()
+ local fmt = luatexja.jfont.font_metric_table
+ local getattribute = tex.getattribute
+ local setdimen = tex.setdimen
+ t[\int_use:N \g_@@_kanjisize_func] = function ()
+ local ft = fmt[getattribute('ltj@curjfnt')] or nulltable
+ local ft = ft and ft.char_type or nulltable
+ local fk = ft and ft[0] or nulltable
+ setdimen('cht', fk.height or 0)
+ setdimen('cdp', fk.depth or 0)
+ setdimen('cwd', fk.width or ft.zw or 0)
+ end
+ }
+\group_end:
+\cs_new_protected_nopar:Npn \ctex_update_kanjisize:
+ { \tex_luafunction:D \g_@@_kanjisize_func }
+\ctex_add_to_selectfont:n { \ctex_update_kanjisize: }
+%</luatex>
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{space}
+% 在导言区或正文中设置忽略空格方式。
+% \pdfTeX{} 和 \XeTeX{} 下初始设置为 \opt{auto},\LuaTeX{}、\upTeX{} 下是无效
+% 选项。
+% \begin{macrocode}
+\keys_define:nn { ctex }
+ {
+%<*pdftex|xetex>
+ space .choice: ,
+ space / true .code:n =
+%<pdftex> { \ctex_ignorespaces_case:N \prg_do_nothing: } ,
+%<xetex> { \xeCJKsetup { CJKspace = true } } ,
+ space / auto .code:n =
+%<pdftex> { \ctex_ignorespaces_case:N \ctex_auto_ignorespaces: } ,
+%<xetex> { \xeCJKsetup { CJKspace = false } } ,
+ space / false .code:n =
+%<pdftex> { \ctex_ignorespaces_case:N \tex_ignorespaces:D } ,
+%<xetex> { \xeCJKsetup { CJKspace = false } } ,
+ space .default:n = { true } ,
+ space .initial:n = { auto }
+%</pdftex|xetex>
+%<*luatex|uptex|aptex>
+ space .code:n =
+ { \msg_warning:nn { ctex } { invalid-option } }
+%</luatex|uptex|aptex>
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{punct}
+% 在导言区或正文中设置标点符号输出格式。\pkg{LuaTeX-ja} 设置的是字体的默认 \texttt{JFM},
+% 只会影响到之后设置的字体。\upTeX{} 暂时无效。
+% \begin{macrocode}
+\keys_define:nn { ctex }
+ {
+ punct .code:n =
+ {
+ \tl_set:Nx \l_@@_punct_tl { #1 }
+%<pdftex> \punctstyle { \l_@@_punct_tl }
+%<xetex> \xeCJKsetup { PunctStyle = \l_@@_punct_tl }
+%<luatex> \ctex_mono_jfm:o { \l_@@_punct_tl }
+%<uptex|aptex> \msg_warning:nn { ctex } { invalid-option }
+ } ,
+ punct .default:n = { quanjiao } ,
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \XeLaTeX{}、\LuaLaTeX{} 和 \upLaTeX{} 总是使用 \texttt{UTF8} 编码。
+% \begin{macrocode}
+%<*xetex|luatex|uptex|aptex>
+\tl_set:Nn \l_@@_encoding_tl { UTF8 }
+%</xetex|luatex|uptex|aptex>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</pdftex|xetex|luatex|uptex|aptex>
+% \end{macrocode}
+%
+% \subsubsection{载入引擎定义文件}
+%
+% 最后载入各个编译引擎的定义文件。
+% \begin{macrocode}
+%<class|ctex>\ctex_file_input:n { \c_@@_engine_file_str }
+% \end{macrocode}
+%
+% \subsection{用户设置接口}
+%
+% \changes{v2.0}{2014/03/18}{新增统一设置接口 \tn{ctexset}。}
+% \changes{v2.4.12}{2018/01/14}
+% {修正 \tn{ctexset} 在 \pkg{ctexheading} 包中无定义的错误(曾祥东)。 }
+%
+% \begin{macro}{\ctexset}
+% \begin{macrocode}
+%<*class|ctex|ctexheading>
+\NewDocumentCommand \ctexset { } { \keys_set:nn { ctex } }
+%</class|ctex|ctexheading>
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.0}{2015/03/21}{\tn{CTEXsetup}, \tn{CTEXoptions} 是过时命令。}
+% \begin{macro}{\CTEXsetup,\CTEXoptions}
+% 过时命令。出于历史原因,\tn{CTEXoptions} 需要在 \pkg{pxeverysel} 宏包之后定义。
+% \begin{macrocode}
+%<*class|ctex>
+\NewDocumentCommand \CTEXsetup { +o > { \TrimSpaces } m }
+ {
+ \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXsetup }
+ { \ctexset~ {~ #2~ =~ {~ #1~ }~ }~ is~ set. }
+ \IfNoValueF {#1} { \keys_set:nn { ctex / #2 } {#1} }
+ }
+\NewDocumentCommand \CTEXoptions { +o }
+ {
+ \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXoptions }
+ { \ctexset~ {~ #1~ }~ is~ set. }
+ \IfNoValueF {#1} { \keys_set:nn { ctex } {#1} }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{字距与缩进}
+%
+% \begin{macro}{autoindent}
+% \opt{autoindent} 也是可以用在正文中的选项,意义与宏包选项 |option/autoindent| 相同。
+% \begin{macrocode}
+\keys_define:nn { ctex }
+ {
+ autoindent .choice: ,
+ autoindent .default:n = { true } ,
+ autoindent / true .code:n =
+ {
+ \tl_set:Nn \l_@@_autoindent_tl { 2 \ccwd }
+ \ctex_select_size:
+ } ,
+ autoindent / false .code:n =
+ { \tl_clear:N \l_@@_autoindent_tl } ,
+ autoindent / unknown .code:n =
+ {
+ \ctex_set_default_ccwd:Nn \l_@@_autoindent_tl {#1}
+ \ctex_select_size:
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\CTEXsetfont}
+% 无论字体大小是否变化都更新相关信息。
+% \begin{macrocode}
+\NewDocumentCommand \CTEXsetfont { } { \ctex_select_size: }
+\cs_new_protected_nopar:Npn \ctex_select_size:
+ { \cs_if_free:NTF \size@update { \ctex_update_size: } { \selectfont } }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_update_size:}
+% 在字号变化时更新 \tn{ccwd}、\tn{parindent} 和汉字间距。字距为零则恢复正常设置。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_update_size:
+ {
+ \tl_if_eq:NNTF \l_@@_ziju_tl \c_@@_zero_tl
+ {
+ \ctex_update_stretch:
+ \ctex_update_parindent:
+ }
+ { \ctex_update_ziju: }
+ }
+\tl_const:Nx \c_@@_zero_tl { \fp_use:N \c_zero_fp }
+\tl_new:N \l_@@_ziju_tl
+\tl_set_eq:NN \l_@@_ziju_tl \c_@@_zero_tl
+% \end{macrocode}
+% 在 \tn{selectfont} 中,若 \tn{size@update} 为 \tn{relax},说明字体大小没有变化,
+% 我们也就不用更新相关参数。
+% \begin{macrocode}
+\ctex_add_to_selectfont:n
+ { \cs_if_free:NF \size@update { \ctex_update_size: } }
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.0}{2014/03/26}{新增 \opt{linestretch} 选项。}
+%
+% \begin{macro}{linestretch}
+% 若行宽不是汉字宽度的整数倍,自然要求伸展它们之间的差。这里设置的是在此基础上的
+% 额外伸展量。初始化为一个汉字的宽度。若设置为 \tn{maxdimen},则禁用此功能。
+% 参数的默认单位是汉字的宽度 \tn{ccwd}。
+% \begin{macrocode}
+\keys_define:nn { ctex }
+ {
+ linestretch .code:n =
+ {
+ \ctex_set_default_ccwd:Nn \l_@@_line_stretch_tl {#1}
+ \ctex_select_size:
+ } ,
+ linestretch .value_required:n = true
+ }
+\tl_new:N \l_@@_line_stretch_tl
+\tl_set:Nn \l_@@_line_stretch_tl { \ccwd }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_update_stretch:}
+% 首先计算一行上汉字的字数,\tn{CJKglue} 相当于将 \tn{linewidth} 与汉字总宽度之差
+% 均匀地填充到汉字之间。\hologo{eTeX} 的除法是四舍五入,而我们这里应该用截断。由于
+% 没有可展性的要求,直接用原语 \cs{tex_divide:D} 要比 \cs{int_div_truncate:nn}
+% 快一些。下面的算法还兼顾到了 \tn{linewidth} 不为汉字字宽的整数倍的情况。
+% 若用户禁用 \opt{linestretch} 并且修改过 \tn{CJKglue},则只更新
+% \tn{ccwd},否则设置伸展量为 $0.08$ 倍 \tn{baselineskip}。注意 \pkg{everysel} 的
+% 钩子位于 \tn{size@update} 之前,\tn{baselineskip} 还未更新,不能直接使用它。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_update_stretch:
+ {
+ \ctex_update_em_unit:
+ \dim_set:Nn \l_@@_tmp_dim { \l_@@_line_stretch_tl }
+ \dim_compare:nNnTF \l_@@_tmp_dim = \c_max_dim
+ {
+ \ctex_if_ccglue_touched:TF
+ { \ctex_update_ccwd: }
+ {
+ \dim_set:Nn \l_@@_tmp_dim
+ { \baselinestretch \tex_glueexpr:D \f@baselineskip \scan_stop: }
+ \skip_set:Nn \l_@@_ccglue_skip
+ { \c_zero_dim plus .08 \l_@@_tmp_dim }
+ \ctex_update_ccglue:
+ }
+ }
+ {
+ \int_set:Nn \l_@@_tmp_int
+ { \tex_dimexpr:D \linewidth - \ccwd - \l_@@_tmp_dim \scan_stop: }
+ \tex_divide:D \l_@@_tmp_int \ccwd
+ \int_compare:nNnTF \l_@@_tmp_int > \c_zero_int
+ {
+ \skip_set:Nn \l_@@_ccglue_skip
+ {
+ \c_zero_dim plus \dim_eval:n
+ {
+ ( \linewidth - \ccwd - \l_@@_tmp_int \ccwd ) /
+ \l_@@_tmp_int
+ }
+ }
+ }
+ { \skip_zero:N \l_@@_ccglue_skip }
+ \ctex_update_ccglue:
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_update_parindent:}
+% 更新段落首行缩进。此函数在字号变化时调用。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_update_parindent:
+ {
+ \tl_if_empty:NF \l_@@_autoindent_tl
+ {
+ \dim_compare:nNnF \parindent = \c_zero_dim
+ { \dim_set:Nn \parindent { \l_@@_autoindent_tl } }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ziju}
+% 若参数为 $0$,则恢复正常间距。
+% \begin{macrocode}
+\NewDocumentCommand \ziju { m }
+ { \exp_args:Nx \ctex_ziju:n {#1} \tex_ignorespaces:D }
+\cs_new_protected_nopar:Npn \ctex_ziju:n #1
+ {
+ \tl_set:Nx \l_@@_ziju_tl { \fp_eval:n {#1} }
+ \ctex_select_size:
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_update_ziju:}
+% 更新字距。若字距不大于 $-1$,即 \tn{ccwd} 为非正值,则不计算伸缩值。
+% 否则,首先假定汉字的宽度为正常宽度加上字距,看一行上能正常放下多少个汉字。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_update_ziju:
+ {
+ \ctex_update_em_unit:
+ \dim_set:Nn \l_@@_ziju_dim { \l_@@_ziju_tl \ccwd }
+ \dim_add:Nn \ccwd { \l_@@_ziju_dim }
+ \dim_compare:nNnTF \ccwd > \c_zero_dim
+% \end{macrocode}
+% 伸展量保证行内的剩余空白能够被均匀地填充到汉字之间,收缩的最大限度是让当前行
+% 还能够再挤下一个汉字并且不会出现负间距。由 \TeX{} 决定伸展还是收缩。
+% \begin{macrocode}
+ {
+ \dim_set:Nn \l_@@_tmp_dim
+ { \linewidth - \ccwd + \l_@@_ziju_dim }
+ \int_set:Nn \l_@@_tmp_int { \l_@@_tmp_dim }
+ \tex_divide:D \l_@@_tmp_int \ccwd
+ \dim_sub:Nn \l_@@_tmp_dim { \l_@@_tmp_int \ccwd }
+% \end{macrocode}
+% 由于 \tn{parindent} 是一个固定值,并不参与伸缩,容易导致第一行出现坏盒子。
+% 我们在这里将字数减去 $2$,以此放大伸缩值。
+% \begin{macrocode}
+ \dim_compare:nNnF \parindent = \c_zero_dim
+ {
+ \int_compare:nNnF \l_@@_tmp_int < 3
+ { \int_sub:Nn \l_@@_tmp_int { 2 } }
+ }
+ \skip_set:Nn \l_@@_ccglue_skip
+ {
+ \l_@@_ziju_dim
+ plus \dim_eval:n { \l_@@_tmp_dim / \l_@@_tmp_int }
+ minus \dim_min:nn { \dim_abs:n { \l_@@_ziju_dim } }
+ { ( \ccwd - \l_@@_tmp_dim ) / ( \l_@@_tmp_int + 1 ) }
+ }
+ }
+ { \skip_set:Nn \l_@@_ccglue_skip { \l_@@_ziju_dim } }
+ \ctex_update_ccglue:
+% \end{macrocode}
+% 字距设置得比较大时,为了尽量保证段首缩进能够与下一行对齐,应该需要相应地加上
+% 或者减去伸缩值。但是这里并不清楚 \TeX{} 是伸展还是收缩,之前以“当前行是否还
+% 放得下一个汉字”为标准加上或减去伸缩值的做法也未必与实际结果一致,所以只好还
+% 是设置为 |2\ccwd|。
+% \begin{macrocode}
+ \ctex_update_parindent:
+ }
+\dim_new:N \l_@@_ziju_dim
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.0}{2015/03/21}{\tn{CTEXindent}, \tn{CTEXnoindent} 是过时命令。}
+% \begin{macro}{\CTEXindent,\CTEXnoindent}
+% 过时命令。
+% \begin{macrocode}
+\NewDocumentCommand \CTEXindent { }
+ {
+ \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXindent }
+ { \parindent is~ set~ to~ 2\ccwd. }
+ \ctex_update_ccwd: \dim_set:Nn \parindent { 2 \ccwd }
+ }
+\NewDocumentCommand \CTEXnoindent { }
+ {
+ \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXnoindent }
+ { \parindent is~ set~ to~ 0pt. }
+ \dim_zero:N \parindent
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{中文数字与日期}
+%
+% \begin{macrocode}
+\PassOptionsToPackage { encoding = \l_@@_encoding_tl } { zhnumber }
+\RequirePackage { zhnumber }
+% \end{macrocode}
+%
+% \begin{macro}{\chinese}
+% \changes{v2.4.1}{2016/05/01}{支持 \tn{pagenumbering}。}
+% \begin{macrocode}
+\cs_new_nopar:Npn \chinese { \zhnum_counter:n }
+\cs_new_eq:NN \@chinese \@zhnum
+\cs_new_eq:NN \Chinese \chinese
+\cs_new_eq:NN \CTEXcounter \use_none:n
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.2}{2015/06/29}{给 \pkg{enumitem} 宏包注册 \tn{chinese} 和
+% \tn{zhnum}。}
+%
+% 给 \pkg{enumitem} 宏包注册 \tn{chinese}、\tn{zhnum} 和 \tn{zhdig}。
+% \begin{macrocode}
+\ctex_at_end_package:nn { enumitem }
+ {
+ \cs_if_free:NF \AddEnumerateCounter
+ {
+ \AddEnumerateCounter * { \zhnum } { \@zhnum } { 1 }
+ \AddEnumerateCounter * { \zhdig } { \@zhdig } { 1 }
+ \AddEnumerateCounter * { \chinese } { \@chinese } { 1 }
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macro}{\CTEXnumber,\CTEXdigits}
+% \begin{macrocode}
+\NewDocumentCommand \CTEXnumber { m m }
+ { \protected@edef #1 { \zhnumber {#2} } }
+\NewDocumentCommand \CTEXdigits { m m }
+ { \protected@edef #1 { \zhdigits {#2} } }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{today}
+% \begin{macrocode}
+\cs_set_eq:NN \CTEX@todayold \today
+\keys_define:nn { ctex }
+ {
+ today .choice: ,
+ today / old .code:n =
+ { \cs_set_eq:NN \today \CTEX@todayold } ,
+ today / small .code:n =
+ {
+ \cs_set_eq:NN \today \zhtoday
+ \zhnumsetup { time = Arabic }
+ } ,
+ today / big .code:n =
+ {
+ \cs_set_eq:NN \today \zhtoday
+ \zhnumsetup { time = Chinese }
+ } ,
+ today / unknown .code:n =
+ { \msg_error:nnx { ctex } { today-undef } {#1} }
+ }
+\msg_new:nnnn { ctex } { today-undef }
+ { Today~format~`#1'~is~undefined. }
+ { Available~today~formats~are~`old',~`small',~and~`big'. }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{其它中文标题定义}
+%
+% \changes{v2.0}{2014/03/08}{将标题汉化功能加入 \pkg{ctex.sty}。}
+% \changes{v2.4.3}{2016/08/18}{确保 \tn{proofname} 非空。}
+%
+% \begin{macro}[int]{\proofname}
+% \tn{proofname} 未在标准文档类中定义,需要确保它非空。
+% \begin{macrocode}
+\tl_if_exist:NF \proofname
+ {
+ \tl_new:N \proofname
+ \tl_set:Nn \proofname { Proof }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\keys_define:nn { ctex }
+ {
+ contentsname .tl_set:N = \contentsname ,
+ listfigurename .tl_set:N = \listfigurename ,
+ listtablename .tl_set:N = \listtablename ,
+ figurename .tl_set:N = \figurename ,
+ tablename .tl_set:N = \tablename ,
+ abstractname .tl_set:N = \abstractname ,
+ indexname .tl_set:N = \indexname ,
+ appendixname .tl_set:N = \appendixname ,
+ proofname .tl_set:N = \proofname ,
+%<article> bibname .tl_set:N = \refname
+%<book|report> bibname .tl_set:N = \bibname
+%<*beamer>
+ algorithmname .tl_set:N = \algorithmname ,
+ bibname .tl_set:N = \bibname ,
+ refname .tl_set:N = \refname ,
+ continuation .tl_set:N = \insertcontinuationtext
+%</beamer>
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*ctex>
+\msg_new:nnn { ctex } { ctexbibname }
+ {
+ Neither~`\token_to_str:N \bibname'~nor~`\token_to_str:N \refname'~can~be~found.\\
+ The~key~`bibname'~will~set~`\token_to_str:N \ctexbibname'~to~the~given~value.
+ }
+\tl_if_exist:NTF \insertcontinuationtext
+ {
+ \keys_define:nn { ctex }
+ {
+ algorithmname .tl_set:N = \algorithmname ,
+ bibname .tl_set:N = \bibname ,
+ refname .tl_set:N = \refname ,
+ continuation .tl_set:N = \insertcontinuationtext
+ }
+ }
+ {
+ \tl_if_exist:NTF \bibname
+ { \keys_define:nn { ctex } { bibname .tl_set:N = \bibname } }
+ {
+ \tl_if_exist:NTF \refname
+ { \keys_define:nn { ctex } { bibname .tl_set:N = \refname } }
+ {
+ \msg_warning:nn { ctex } { ctexbibname }
+ \keys_define:nn { ctex } { bibname .tl_set:N = \ctexbibname }
+ }
+ }
+ }
+%</ctex>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</class|ctex>
+% \end{macrocode}
+%
+% \subsection{中文化的标题结构}
+%
+% 本节内容在 \CTeX{} 文档类或打开 \opt{heading} 选项下生效。
+% \begin{macrocode}
+%<*class|heading>
+% \end{macrocode}
+%
+% \subsubsection{定义标题格式选项}
+%
+% \begin{variable}{\c_@@_section_headings_seq}
+% 保存 \tn{section} 级以下标题名字。
+% \begin{macrocode}
+%<*article|book|report>
+\seq_const_from_clist:Nn \c_@@_section_headings_seq
+ { section , subsection , subsubsection , paragraph , subparagraph }
+%</article|book|report>
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\c_@@_headings_seq}
+% \begin{macrocode}
+%<*article|book|report>
+\seq_new:N \c_@@_headings_seq
+\seq_gset_eq:NN \c_@@_headings_seq \c_@@_section_headings_seq
+%<book|report>\seq_gput_left:Nn \c_@@_headings_seq { chapter }
+\seq_gput_left:Nn \c_@@_headings_seq { part }
+%</article|book|report>
+%<*beamer>
+\seq_const_from_clist:Nn \c_@@_headings_seq
+ { part , section , subsection }
+%</beamer>
+% \end{macrocode}
+% \end{variable}
+%
+% \changes{v2.1}{2015/06/19}{\opt{nameformat} 可以接受章节名字为参数。}
+% \changes{v2.3}{2016/01/05}{修复 \opt{nameformat} 作用域问题。}
+%
+% \begin{macro}{\@@_initial_heading:n}
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \@@_initial_heading:n #1
+ {
+ \tl_new:c { CTEX@pre#1 }
+ \tl_new:c { CTEX@post#1 }
+ \tl_const:cx { CTEXthe#1 }
+ {
+ \exp_not:c { CTEX@pre#1 }
+ \exp_not:c { CTEX@the#1 }
+ \exp_not:c { CTEX@post#1 }
+ }
+ \tl_const:cx { CTEX@#1name }
+ {
+ \group_begin:
+ \exp_not:c { CTEX@#1@nameformat }
+ {
+ \exp_not:c { CTEX@pre#1 }
+ \exp_not:N \tl_if_empty:NTF
+ \exp_not:c { CTEX@#1@numberformat }
+ { \exp_not:c { CTEX@the#1 } }
+ {
+ \group_begin:
+ \exp_not:c { CTEX@#1@numberformat }
+ \exp_not:c { CTEX@the#1 }
+ \group_end:
+ }
+ \exp_not:c { CTEX@post#1 }
+ }
+ \group_end:
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.1}{2015/05/22}{\opt{format+}, \opt{nameformat+} 等带加号的选项,
+% 加号与前面的文字之间可以有可选的空格。}
+% \changes{v2.1}{2015/06/19}{新的标题格式选项 \opt{aftertitle}。}
+% \changes{v2.2}{2015/06/21}{新的标题格式选项 \opt{numbering}。}
+% \changes{v2.2}{2015/06/27}{\opt{beforeskip} 和 \opt{afterskip} 选项的符号
+% 不再有特殊意义。}
+% \changes{v2.2}{2015/06/27}{新的标题格式选项 \opt{afterindent}。}
+% \changes{v2.2}{2015/06/27}{新的标题格式选项 \opt{runin}。}
+% \changes{v2.4.3}{2016/06/03}{新的标题格式选项 \opt{fixskip}。}
+% \changes{v2.4.4}{2016/09/19}{新的标题格式选项 \opt{break}。}
+% \changes{v2.4.5}{2016/10/22}{新的标题格式选项 \opt{hang}。}
+% \changes{v2.4.5}{2016/10/25}{新的标题格式选项 \opt{tocline}。}
+% \changes{v2.4.11}{2017/11/21}{因上游 \pkg{l3keys} 变化,重新定义
+% \opt{format\textvisiblespace+} 等带空格加号的选项。}
+%
+% \begin{macro}{\@@_def_heading_keys:n}
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \@@_def_heading_keys:n #1
+ {
+ \tl_put_right:Nx \l_@@_tmp_tl
+ {
+ #1 .meta:nn = { ctex / #1 } { ####1 } ,
+ #1 / name .code:n =
+ { \ctex_assign_heading_name:nn {#1} { ####1 } } ,
+ #1 / number .tl_set:N = \exp_not:c { CTEX@the#1 } ,
+ #1 / beforeskip .tl_set:N = \exp_not:c { CTEX@#1@beforeskip } ,
+ #1 / afterskip .tl_set:N = \exp_not:c { CTEX@#1@afterskip} ,
+ #1 / indent .tl_set:N = \exp_not:c { CTEX@#1@indent } ,
+ #1 / numbering .bool_set:N = \exp_not:c { CTEX@#1@numbering } ,
+ #1 / numbering .initial:n = true ,
+ #1 / beforeskip .initial:n = \c_zero_skip ,
+ #1 / afterskip .initial:n = \c_zero_skip ,
+ #1 / indent .initial:n = \c_zero_dim ,
+ #1 / beforeskip .value_required:n = true ,
+ #1 / afterskip .value_required:n = true ,
+ #1 / indent .value_required:n = true ,
+%<*article|book|report>
+ #1 / afterindent .bool_set:N = \exp_not:c { CTEX@#1@afterindent } ,
+ #1 / fixskip .bool_set:N = \exp_not:c { CTEX@#1@fixskip } ,
+ #1 / hang .bool_set:N = \exp_not:c { CTEX@#1@hang } ,
+ #1 / hang .initial:n = true ,
+ #1 / runin .bool_set:N = \exp_not:c { CTEX@#1@runin } ,
+ #1 / tocline .code:n =
+ {
+ \cs_set:Npn \exp_not:c { CTEX@#1@tocline}
+ \exp_not:n { ####1####2 } { ####1 }
+ } ,
+ \@@_plus_key_aux:nn {#1} { break } ,
+%</article|book|report>
+ \@@_plus_key_aux:nn {#1} { format } ,
+ \@@_plus_key_aux:nn {#1} { nameformat } ,
+ \@@_plus_key_aux:nn {#1} { numberformat } ,
+ \@@_plus_key_aux:nn {#1} { titleformat } ,
+ \@@_plus_key_aux:nn {#1} { aftername } ,
+ \@@_plus_key_aux:nn {#1} { aftertitle } ,
+ }
+ }
+\cs_new_nopar:Npn \@@_plus_key_aux:nn #1#2
+ {
+ #1 / #2 .tl_set:N = \exp_not:c { CTEX@#1@#2 } ,
+ #1 / #2 + .code:n =
+ { \tl_put_right:Nn \exp_not:c { CTEX@#1@#2 } { ####1 } } ,
+ #1 / #2 ~ + .code:n =
+ { \tl_put_right:Nn \exp_not:c { CTEX@#1@#2 } { ####1 } }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_assign_heading_name:nn}
+% \begin{macro}{\@@_assign_heading_name:nnn}
+% \opt{name} 的值是一个至多两个元素的逗号分隔列表。由于 \LaTeXiii{} 的
+% \texttt{clist} 总是会自动忽略空元素,所以设置 |name={,章}| 后,第一个元素将会
+% 是“章”,必须用空的分组保护空元素:|name={{},章}|,这在使用中有些许不便。我们
+% 可以改用 \texttt{seq} 或者手写函数解析参数来加以改进。为实现的简单起见,这里用
+% 了 \pkg{xparse} 的 \tn{SplitArgument},它带有参数的长度检查。
+% \begin{macrocode}
+\NewDocumentCommand \ctex_assign_heading_name:nn
+ { m > { \SplitArgument { 1 } { , } } +m }
+ { \@@_assign_heading_name:nnn {#1} #2 }
+\cs_new_protected:Npn \@@_assign_heading_name:nnn #1#2#3
+ {
+ \tl_set:cn { CTEX@pre#1 } {#2}
+ \IfNoValueTF {#3}
+ { \tl_clear:c { CTEX@post#1 } }
+ { \tl_set:cn { CTEX@post#1 } {#3} }
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \changes{v2.0}{2014/03/21}{标题设置新增 \opt{pagestyle} 选项。}
+% \changes{v2.4.1}{2016/05/10}{新的标题格式选项 \opt{part/fixbeforeskip} 和
+% \opt{chapter/fixbeforeskip}。}
+% \changes{v2.4.3}{2016/06/03}{删除选项 \opt{part/fixbeforeskip} 和
+% \opt{chapter/fixbeforeskip}。}
+% \changes{v2.4.5}{2016/10/01}{新的标题格式选项 \opt{chapter/lofskip} 和
+% \opt{chapter/lotskip}。}
+%
+% \begin{macro}{part/pagestyle,chapter/pagestyle,chapter/lofskip,chapter/lotskip}
+% 只在 \cls{ctexbook} 和 \cls{ctexrep} 下有定义。
+% \begin{macrocode}
+\group_begin:
+%<*book|report>
+\tl_set:Nn \l_@@_tmp_tl
+ {
+ part / pagestyle .tl_set:N = \CTEX@part@pagestyle ,
+ chapter / pagestyle .tl_set:N = \CTEX@chapter@pagestyle ,
+ chapter / lofskip .tl_set:N = \CTEX@chapter@lofskip ,
+ chapter / lotskip .tl_set:N = \CTEX@chapter@lotskip ,
+ chapter / lofskip .initial:n = \c_zero_skip ,
+ chapter / lotskip .initial:n = \c_zero_skip ,
+ chapter / lofskip .value_required:n = true ,
+ chapter / lotskip .value_required:n = true ,
+ }
+%</book|report>
+%<*article|beamer>
+\tl_clear:N \l_@@_tmp_tl
+%</article|beamer>
+% \end{macrocode}
+% \end{macro}
+%
+% 定义标题键值选项。
+% \begin{macrocode}
+\seq_map_inline:Nn \c_@@_headings_seq
+ {
+ \@@_initial_heading:n {#1}
+ \@@_def_heading_keys:n {#1}
+ }
+\use:x
+ {
+ \group_end:
+ \keys_define:nn { ctex } { \exp_not:o { \l_@@_tmp_tl } }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*article|book|report>
+% \end{macrocode}
+%
+% \subsubsection{标准标题命令的修改}
+%
+% \begin{macro}[int]{\CTEX@fixtopskip}
+% 修正 \cls{book} 和 \cls{report} 类的 \tn{part} 和 \tn{chapter} 标题之前的多余空行。
+% \begin{macrocode}
+%<*book|report>
+\cs_new_protected_nopar:Npn \CTEX@fixtopskip
+ {
+ \CTEX@fixheadingskip
+ \dim_compare:nNnF \tex_pagegoal:D < \c_max_dim
+ { \skip_sub:Nn \l_@@_heading_skip { \tex_topskip:D } }
+ }
+%</book|report>
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\CTEX@fixheadingskip}
+% 抑制行间粘连,修正标题前后的多余间距。事实上,减掉 \tn{parskip},有一定的风险。
+% 如果接下来的内容不会进入水平模式(例如在 \opt{format} 选项中使用 \tn{hrule} 或者 \tn{hbox}),
+% \TeX{} 就不会加上 \tn{parskip}。这时候就需要用户把 \tn{parskip} 加到 \opt{beforeskip}
+% 或者 \opt{afterskip} 作为修正。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \CTEX@fixheadingskip
+ {
+ \par
+ \dim_set:Nn \tex_prevdepth:D { -1000pt }
+ \skip_sub:Nn \l_@@_heading_skip { \tex_parskip:D }
+ }
+\skip_new:N \l_@@_heading_skip
+\cs_new_protected_nopar:Npn \CTEX@setheadingskip
+ { \skip_set:Nn \l_@@_heading_skip }
+\cs_new_eq:NN \CTEX@headingskip \l_@@_heading_skip
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.4.4}{2016/09/18}{提供 \tn{partmark}。}
+% \begin{macro}[int]{\partmark}
+% 提供 \tn{partmark}。
+% \begin{macrocode}
+\ProvideDocumentCommand \partmark { m }
+ { \markboth { } { } }
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.4.4}{2016/09/19}{提供 \tn{CTEXifname}。}
+% \changes{v2.4.6}{2016/10/31}{\tn{CTEXifname} 初始为假。}
+% \begin{macro}{\CTEXifname}
+% \begin{macro}[int]{\CTEX@ifnametrue,\CTEX@ifnamefalse}
+% 用于判断当前标题是否有编号。
+% \begin{macrocode}
+\cs_new_eq:NN \CTEXifname \use_ii:nn
+\cs_new_protected_nopar:Npn \CTEX@ifnametrue
+ { \cs_set_eq:NN \CTEXifname \use_i:nn }
+\cs_new_protected_nopar:Npn \CTEX@ifnamefalse
+ { \cs_set_eq:NN \CTEXifname \use_ii:nn }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}[int]{\CTEX@addloflotskip}
+% 往插图和表格目录中加入额外间距。如果间距为零,则不加入。
+% \begin{macrocode}
+%<*book|report>
+\cs_new_protected_nopar:Npn \CTEX@addloflotskip #1
+ {
+ \skip_set:Nn \l_@@_heading_skip { \use:c { CTEX@#1@lofskip } }
+ \skip_if_eq:nnF { \l_@@_heading_skip } { \c_zero_skip }
+ {
+ \addtocontents { lof }
+ { \protect \addvspace { \skip_use:N \l_@@_heading_skip } }
+ }
+ \skip_set:Nn \l_@@_heading_skip { \use:c { CTEX@#1@lotskip } }
+ \skip_if_eq:nnF { \l_@@_heading_skip } { \c_zero_skip }
+ {
+ \addtocontents { lot }
+ { \protect \addvspace { \skip_use:N \l_@@_heading_skip } }
+ }
+ }
+%</book|report>
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\CTEX@addtocline}
+% \begin{macrocode}
+\cs_new_protected:Npn \CTEX@addtocline #1#2
+ { \addcontentsline { toc } {#1} { \use:c { CTEX@#1@tocline } {#1} {#2} } }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\CTEX@disableautoindent}
+% 禁用自动调整首行缩进。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \CTEX@disableautoindent
+ { \tl_clear:N \l_@@_autoindent_tl }
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.2}{2015/06/27}{\opt{beforeskip}、\opt{afterskip} 和 \opt{indent}
+% 选项支持表达式。}
+% \changes{v2.4.15}{2019/03/31}{修正 \opt{part/indent} 和 \opt{chapter/indent} 的实现方法。}
+% \changes{v2.4.15}{2019/03/31}{定义 \opt{part/hang} 和 \opt{chapter/hang}。}
+% \changes{v2.4.16}{2019/05/11}{修正 \opt{part/indent} 和 \opt{chapter/indent}
+% 的实现方法,在其标题内部禁用 \opt{autoindent}。}
+%
+% \paragraph{part 的标题}
+%
+% \begin{macrocode}
+%<@@=>
+% \end{macrocode}
+%
+% \changes{v2.2}{2015/06/27}{非 \cls{ctexart} 类的 \opt{part/beforeskip} 和
+% \opt{part/afterskip} 选项有意义。}
+%
+% \begin{macro}[int]{\part}
+% \begin{macrocode}
+%<*article>
+\renewcommand\part{%
+ \if@noskipsec \leavevmode \fi
+ \par
+ \CTEX@part@break
+% \addvspace{4ex}%
+ \CTEX@setheadingskip \CTEX@part@beforeskip
+ \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi
+ \addvspace \CTEX@headingskip
+ \ifodd \CTEX@part@afterindent
+ \@afterindenttrue
+ \else
+ \@afterindentfalse
+ \fi
+ \secdef\@part\@spart}
+%</article>
+%<*book|report>
+\renewcommand\part{%
+% \if@openright
+% \cleardoublepage
+% \else
+% \clearpage
+% \fi
+ \CTEX@part@break
+% \thispagestyle{plain}%
+ \thispagestyle{\CTEX@part@pagestyle}%
+ \if@twocolumn
+ \onecolumn
+ \@tempswatrue
+ \else
+ \@tempswafalse
+ \fi
+% \null\vfil
+ \CTEX@setheadingskip \CTEX@part@beforeskip
+ \ifodd \CTEX@part@fixskip \CTEX@fixtopskip \fi
+ \vspace*{\CTEX@headingskip}%
+ \secdef\@part\@spart}
+%</book|report>
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\@part}
+% \begin{macrocode}
+%<*article>
+\def\@part[#1]#2{%
+ \ifnum \c@secnumdepth >\m@ne
+ \ifodd \CTEX@part@numbering
+ \CTEX@ifnametrue
+ \refstepcounter{part}%
+% \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
+ \else
+ \CTEX@ifnamefalse
+ \CTEX@makeanchor{part*}%
+% \addcontentsline{toc}{part}{#1}%
+ \fi
+ \else
+ \CTEX@ifnamefalse
+ \CTEX@makeanchor{part*}%
+% \addcontentsline{toc}{part}{#1}%
+ \fi
+ \CTEX@gettitle{#1}%
+ \CTEX@addtocline{part}{#1}%
+ {\interlinepenalty \@M
+% \normalfont \parindent \z@ \raggedright
+ \CTEX@disableautoindent
+ \normalfont \CTEX@part@format
+% \ifnum \c@secnumdepth >\m@ne
+% \Large\bfseries\partname\nobreakspace\thepart\par\nobreak
+% \fi
+ \CTEX@hangindent{part}%
+ {\CTEXifname{\CTEX@partname\CTEX@part@aftername}{}}%
+% \huge\bfseries #2%
+ \CTEX@part@titleformat{#2}%
+% \markboth{}{}%
+ \partmark{#1}%
+ \CTEX@part@aftertitle}%
+ \nobreak
+% \vskip 3ex
+ \CTEX@setheadingskip \CTEX@part@afterskip
+ \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi
+ \vskip \CTEX@headingskip
+ \@afterheading}
+%</article>
+%<*book|report>
+\def\@part[#1]#2{%
+ \ifnum \c@secnumdepth >-2\relax
+ \ifodd \CTEX@part@numbering
+ \CTEX@ifnametrue
+ \refstepcounter{part}%
+% \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
+ \else
+ \CTEX@ifnamefalse
+ \CTEX@makeanchor{part*}%
+% \addcontentsline{toc}{part}{#1}%
+ \fi
+ \else
+ \CTEX@ifnamefalse
+ \CTEX@makeanchor{part*}%
+% \addcontentsline{toc}{part}{#1}%
+ \fi
+ \CTEX@gettitle{#1}%
+ \CTEX@addtocline{part}{#1}%
+% \markboth{}{}%
+ \partmark{#1}%
+ {\interlinepenalty \@M
+% \normalfont \centering
+ \CTEX@disableautoindent
+ \normalfont \CTEX@part@format
+% \ifnum \c@secnumdepth >-2\relax
+% \huge\bfseries\partname\nobreakspace\thepart\par\vskip 20\p@
+% \fi
+ \CTEX@hangindent{part}%
+ {\CTEXifname{\CTEX@partname\CTEX@part@aftername}{}}%
+% \Huge\bfseries #2\par}%
+ \CTEX@part@titleformat{#2}%
+ \CTEX@part@aftertitle}%
+ \@endpart}
+%</book|report>
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\@spart}
+% \begin{macrocode}
+%<*article>
+\def\@spart#1{%
+ \CTEX@ifnamefalse
+ \CTEX@makeanchor@spart{part*}%
+ \CTEX@gettitle{#1}%
+ {\interlinepenalty \@M
+% \normalfont \parindent \z@ \raggedright
+ \CTEX@disableautoindent
+ \normalfont \CTEX@part@format
+ \CTEX@hangindent{part}{}%
+% \huge \bfseries #1\par}%
+ \CTEX@part@titleformat{#1}%
+ \CTEX@part@aftertitle}%
+ \nobreak
+% \vskip 3ex
+ \CTEX@setheadingskip \CTEX@part@afterskip
+ \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi
+ \vskip \CTEX@headingskip
+ \@afterheading}
+%</article>
+%<*book|report>
+\def\@spart#1{%
+ \CTEX@ifnamefalse
+ \CTEX@makeanchor@spart{part*}%
+ \CTEX@gettitle{#1}%
+ {\interlinepenalty \@M
+% \normalfont \centering
+ \CTEX@disableautoindent
+ \normalfont \CTEX@part@format
+ \CTEX@hangindent{part}{}%
+% \Huge \bfseries #1\par}%
+ \CTEX@part@titleformat{#1}%
+ \CTEX@part@aftertitle}%
+ \@endpart}
+%</book|report>
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\@endpart}
+% \begin{macrocode}
+%<*book|report>
+\def\@endpart{%
+% \vfil
+ \CTEX@setheadingskip \CTEX@part@afterskip
+ \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi
+ \vskip \CTEX@headingskip
+ \newpage
+ \if@twoside
+ \if@openright
+ \null
+ \thispagestyle{empty}%
+ \newpage
+ \fi
+ \fi
+ \if@tempswa
+ \twocolumn
+ \fi}
+%</book|report>
+% \end{macrocode}
+% \end{macro}
+%
+% \paragraph{chapter 的标题}
+%
+% \begin{macrocode}
+%<*book|report>
+% \end{macrocode}
+%
+% \begin{macro}[int]{\chapter}
+% \begin{macrocode}
+\renewcommand\chapter{%
+% \if@openright\cleardoublepage\else\clearpage\fi
+% \thispagestyle{plain}%
+ \CTEX@chapter@break
+ \thispagestyle{\CTEX@chapter@pagestyle}%
+ \global\@topnum\z@
+% \@afterindentfalse
+ \ifodd \CTEX@chapter@afterindent
+ \@afterindenttrue
+ \else
+ \@afterindentfalse
+ \fi
+ \secdef\@chapter\@schapter}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\@chapter}
+% \begin{macrocode}
+\def\@chapter[#1]#2{%
+ \ifnum \c@secnumdepth >\m@ne
+%<*book>
+ \if@mainmatter
+%</book>
+ \ifodd \CTEX@chapter@numbering
+ \CTEX@ifnametrue
+ \refstepcounter{chapter}%
+% \typeout{\@chapapp\space\thechapter.}%
+ \typeout{\CTEXthechapter}%
+% \addcontentsline{toc}{chapter}
+% {\protect\numberline{\thechapter}#1}%
+ \else
+ \CTEX@ifnamefalse
+ \CTEX@makeanchor{\Hy@chapapp*}%
+% \addcontentsline{toc}{chapter}{#1}%
+ \fi
+%<*book>
+ \else
+ \CTEX@ifnamefalse
+ \CTEX@makeanchor@chapter{\Hy@chapapp*}%
+% \addcontentsline{toc}{chapter}{#1}%
+ \fi
+%</book>
+ \else
+ \CTEX@ifnamefalse
+ \CTEX@makeanchor@chapter{\Hy@chapapp*}%
+% \addcontentsline{toc}{chapter}{#1}%
+ \fi
+ \CTEX@gettitle{#1}%
+ \CTEX@addtocline{chapter}{#1}%
+ \chaptermark{#1}%
+% \addtocontents{lof}{\protect\addvspace{10\p@}}%
+% \addtocontents{lot}{\protect\addvspace{10\p@}}%
+ \CTEX@addloflotskip{chapter}%
+ \if@twocolumn
+ \@topnewpage[\@makechapterhead{#2}]%
+ \else
+ \@makechapterhead{#2}%
+ \@afterheading
+ \fi}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\@schapter}
+% \begin{macrocode}
+\def\@schapter#1{%
+ \CTEX@ifnamefalse
+ \CTEX@makeanchor@schapter{\Hy@chapapp*}%
+ \CTEX@gettitle{#1}%
+ \if@twocolumn
+ \@topnewpage[\@makeschapterhead{#1}]%
+ \else
+ \@makeschapterhead{#1}%
+ \@afterheading
+ \fi}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\@makechapterhead}
+% \begin{macrocode}
+\def\@makechapterhead#1{%
+% \vspace*{50\p@}%
+ \CTEX@setheadingskip \CTEX@chapter@beforeskip
+ \ifodd \CTEX@chapter@fixskip \CTEX@fixtopskip \fi
+ \vspace*{\CTEX@headingskip}%
+% {\normalfont \parindent \z@ \raggedright
+ {\CTEX@disableautoindent
+ \normalfont \CTEX@chapter@format
+ \interlinepenalty\@M
+% \ifnum \c@secnumdepth >\m@ne
+% \if@mainmatter
+% \huge\bfseries\@chapapp\space\thechapter\par\nobreak\vskip 20\p@
+% \fi
+% \fi
+ \CTEX@hangindent{chapter}%
+ {\CTEXifname{\CTEX@chaptername\CTEX@chapter@aftername}{}}%
+% \Huge \bfseries #1\par\nobreak
+ \CTEX@chapter@titleformat{#1}%
+ \CTEX@chapter@aftertitle
+ \nobreak
+% \vskip 40\p@
+ \CTEX@setheadingskip \CTEX@chapter@afterskip
+ \ifodd \CTEX@chapter@fixskip \CTEX@fixheadingskip \fi
+ \vskip \CTEX@headingskip
+ }}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\@makeschapterhead}
+% \begin{macrocode}
+\def\@makeschapterhead#1{%
+% \vspace*{50\p@}%
+ \CTEX@setheadingskip \CTEX@chapter@beforeskip
+ \ifodd \CTEX@chapter@fixskip \CTEX@fixtopskip \fi
+ \vspace*{\CTEX@headingskip}%
+% {\normalfont \parindent \z@ \raggedright
+ {\CTEX@disableautoindent
+ \normalfont \CTEX@chapter@format
+ \interlinepenalty\@M
+ \CTEX@hangindent{chapter}{}%
+% \Huge \bfseries #1\par\nobreak
+ \CTEX@chapter@titleformat{#1}%
+ \CTEX@chapter@aftertitle
+ \nobreak
+% \vskip 40\p@
+ \CTEX@setheadingskip \CTEX@chapter@afterskip
+ \ifodd \CTEX@chapter@fixskip \CTEX@fixheadingskip \fi
+ \vskip \CTEX@headingskip
+ }}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</book|report>
+% \end{macrocode}
+%
+% \paragraph{section 类的标题}
+%
+% \begin{macro}[int]{\@startsection}
+% \begin{macrocode}
+\def\@startsection#1#2#3#4#5#6{%
+ \if@noskipsec \leavevmode \fi
+ \par
+% \@tempskipa #4\relax
+% \@afterindenttrue
+% \ifdim \@tempskipa <\z@
+% \@tempskipa -\@tempskipa \@afterindentfalse
+% \fi
+ \CTEX@update@sectionformat@n{#1}%
+ \ifodd \CTEX@afterindent
+ \@afterindenttrue
+ \else
+ \@afterindentfalse
+ \fi
+ \if@nobreak
+ \everypar{}%
+ \else
+% \addpenalty\@secpenalty\addvspace\@tempskipa
+ \csname CTEX@#1@break\endcsname
+ \CTEX@setheadingskip{#4}%
+ \ifodd \CTEX@fixskip \CTEX@fixheadingskip \fi
+ \addvspace \CTEX@headingskip
+ \fi
+ \@ifstar
+ {\CTEX@makeanchor@ssect{#1*}\@ssect{#3}{#4}{#5}{#6}}%
+ {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\@seccntformat}
+% \begin{macrocode}
+\def\@seccntformat#1{%
+% \csname the#1\endcsname\quad}%
+ \csname CTEX@#1name\endcsname
+ \csname CTEX@#1@aftername\endcsname}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\@sect}
+% \begin{macrocode}
+\def\@sect#1#2#3#4#5#6[#7]#8{%
+ \ifnum #2>\c@secnumdepth
+ \CTEX@ifnamefalse
+ \CTEX@makeanchor@sect{#1*}%
+ \let\@svsec\@empty
+ \else
+ \ifodd \csname CTEX@#1@numbering\endcsname
+ \CTEX@ifnametrue
+ \refstepcounter{#1}%
+ \protected@edef\@svsec{\@seccntformat{#1}\relax}%
+ \else
+ \CTEX@ifnamefalse
+ \CTEX@makeanchor{#1*}%
+ \let\@svsec\@empty
+ \fi
+ \fi
+ \CTEX@gettitle{#7}%
+% \@tempskipa #5\relax
+% \ifdim \@tempskipa>\z@
+ \unless \ifodd \CTEX@runin
+ \begingroup
+ #6{%
+ \CTEX@hangfrom{\hskip\glueexpr #3\relax\@svsec}%
+% \interlinepenalty \@M #8\@@par}%
+ \interlinepenalty \@M
+ \csname CTEX@#1@titleformat\endcsname{#8}%
+ \csname CTEX@#1@aftertitle\endcsname}%
+ \endgroup
+ \csname #1mark\endcsname{#7}%
+% \addcontentsline{toc}{#1}{%
+% \ifnum #2>\c@secnumdepth \else
+% \protect\numberline{\csname the#1\endcsname}%
+% \fi
+% #7}%
+ \CTEX@addtocline{#1}{#7}%
+ \else
+ \def\@svsechd{%
+ #6{\hskip\glueexpr #3\relax
+% \@svsec #8}%
+ \@svsec
+ \csname CTEX@#1@titleformat\endcsname{#8}%
+ \csname CTEX@#1@aftertitle\endcsname}%
+ \csname #1mark\endcsname{#7}%
+% \addcontentsline{toc}{#1}{%
+% \ifnum #2>\c@secnumdepth \else
+% \protect\numberline{\csname the#1\endcsname}%
+% \fi
+% #7}%
+ \CTEX@addtocline{#1}{#7}}%
+ \fi
+ \@xsect{#5}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\@ssect}
+% \begin{macrocode}
+\def\@ssect#1#2#3#4#5{%
+ \CTEX@ifnamefalse
+ \CTEX@gettitle{#5}%
+% \@tempskipa #3\relax
+% \ifdim \@tempskipa>\z@
+ \unless \ifodd \CTEX@runin
+ \begingroup
+ #4{%
+ \CTEX@hangfrom{\hskip\glueexpr #1\relax}%
+% \interlinepenalty \@M #5\@@par}%
+ \interlinepenalty \@M
+ \CTEX@titleformat@n{#5}%
+ \CTEX@aftertitle}%
+ \endgroup
+ \else
+% \def\@svsechd{#4{\hskip\glueexpr #1\relax #5}}%
+ \def\@svsechd{#4{\hskip\glueexpr #1\relax
+ \CTEX@titleformat@n{#5}\CTEX@aftertitle}}%
+ \fi
+ \@xsect{#3}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\@xsect}
+% \begin{macrocode}
+\def\@xsect#1{%
+% \@tempskipa #1\relax
+% \ifdim \@tempskipa>\z@
+ \unless \ifodd \CTEX@runin
+ \par \nobreak
+% \vskip \@tempskipa
+ \CTEX@setheadingskip{#1}%
+ \ifodd \CTEX@fixskip \CTEX@fixheadingskip \fi
+ \vskip \CTEX@headingskip
+ \@afterheading
+ \else
+ \@nobreakfalse
+ \global\@noskipsectrue
+ \everypar{%
+ \if@noskipsec
+ \global\@noskipsecfalse
+ {\setbox\z@\lastbox}%
+ \clubpenalty\@M
+ \begingroup \@svsechd \endgroup
+ \unskip
+% \@tempskipa #1\relax
+% \hskip -\@tempskipa
+ \hskip\glueexpr #1\relax
+ \else
+ \clubpenalty \@clubpenalty
+ \everypar{}%
+ \fi}%
+ \fi
+ \ignorespaces}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%<@@=ctex>
+% \end{macrocode}
+%
+% \begin{macro}[int]{\CTEX@hangindent}
+% 用于实现 \tn{part} 和 \tn{chapter} 标题的 \opt{indent} 和 \opt{hang} 选项。
+% \begin{macrocode}
+\cs_new_protected:Npn \CTEX@hangindent #1#2
+ {
+ \dim_set:Nn \parindent { \use:c { CTEX@#1@indent } }
+ \bool_if:cTF { CTEX@#1@hang }
+ { \@hangfrom { \@@_indent_aux: #2 } }
+ {#2}
+ }
+\cs_new_protected_nopar:Npn \@@_indent_aux:
+ {
+ \dim_compare:nNnF \parindent = \c_zero_dim
+ { \skip_horizontal:n { \parindent } }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\CTEX@hangfrom}
+% \opt{hang} 选项控制是否采用悬挂缩进。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \CTEX@hangfrom
+ {
+ \bool_if:NTF \CTEX@hang
+ { \@hangfrom }
+ { \noindent \use:n }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\CTEX@update@sectionformat@n}
+% 在 \tn{@startsection} 中设置 \tn{CTEX@titleformat@n} 等为相应函数。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \CTEX@update@sectionformat@n #1
+ {
+ \cs_set_eq:Nc \CTEX@titleformat@n { CTEX@#1@titleformat }
+ \cs_set_eq:Nc \CTEX@aftertitle { CTEX@#1@aftertitle }
+ \cs_set_eq:Nc \CTEX@afterindent { CTEX@#1@afterindent }
+ \cs_set_eq:Nc \CTEX@fixskip { CTEX@#1@fixskip }
+ \cs_set_eq:Nc \CTEX@hang { CTEX@#1@hang }
+ \cs_set_eq:Nc \CTEX@runin { CTEX@#1@runin }
+ }
+\cs_new_eq:NN \CTEX@titleformat@n \use:n
+\cs_new_eq:NN \CTEX@aftertitle \prg_do_nothing:
+\cs_new_eq:NN \CTEX@afterindent \c_true_bool
+\cs_new_eq:NN \CTEX@fixskip \c_false_bool
+\cs_new_eq:NN \CTEX@hang \c_true_bool
+\cs_new_eq:NN \CTEX@runin \c_false_bool
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\CTEX@part@tocline, \CTEX@chapter@tocline}
+% \begin{macrocode}
+\cs_new:Npn \CTEX@part@tocline #1#2
+ {
+ \CTEXifname
+ { \CTEXthepart \hspace { 1em } }
+ { }
+ #2
+ }
+%<*book|report>
+\cs_new:Npn \CTEX@chapter@tocline #1#2
+ {
+ \CTEXifname
+ { \protect \numberline { \CTEXthechapter \hspace { .3em } } }
+ { }
+ #2
+ }
+%</book|report>
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\CTEXnumberline}
+% \begin{macrocode}
+\cs_new_nopar:Npn \CTEXnumberline #1
+ {
+ \CTEXifname
+ { \protect \numberline { \use:c { CTEXthe #1 } } }
+ { }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\int_zero:N \l_@@_tmp_int
+\seq_map_inline:Nn \c_@@_section_headings_seq
+ {
+ \int_incr:N \l_@@_tmp_int
+ \cs_gset_protected_nopar:cpx {#1}
+ {
+ \exp_not:N \@startsection {#1}
+ { \int_use:N \l_@@_tmp_int }
+ { \exp_not:c { CTEX@#1@indent } }
+ { \exp_not:c { CTEX@#1@beforeskip } }
+ { \exp_not:c { CTEX@#1@afterskip } }
+ { \exp_not:N \normalfont \exp_not:c { CTEX@#1@format } }
+ }
+ \cs_new:cpn { CTEX@#1@tocline } ##1##2
+ { \CTEXnumberline { ##1 } ##2 }
+ }
+% \end{macrocode}
+%
+% \paragraph{附录标题}
+%
+% \begin{macro}[int]{appendix/name,appendix/number,appendix/numbering}
+% \begin{macrocode}
+\keys_define:nn { ctex }
+ {
+ appendix .meta:nn = { ctex / appendix } {#1} ,
+ appendix / name .code:n =
+ { \ctex_assign_heading_name:nn { appendix } {#1} } ,
+ appendix / number .tl_set:N = \CTEX@appendix@number ,
+ appendix / numbering .bool_set:N = \CTEX@appendix@numbering ,
+ appendix / numbering .initial:n = true
+ }
+\tl_new:N \CTEX@preappendix
+\tl_new:N \CTEX@postappendix
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\appendix}
+% \begin{macrocode}
+\cs_new_eq:NN \CTEX@save@appendix \appendix
+\cs_gset_protected_nopar:Npn \appendix
+ {
+ \CTEX@save@appendix
+%<*article>
+ \gdef \CTEX@presection { \CTEX@preappendix }
+ \gdef \CTEX@thesection { \CTEX@appendix@number }
+ \gdef \CTEX@postsection { \CTEX@postappendix }
+ \gdef \CTEX@section@numbering { \CTEX@appendix@numbering }
+%</article>
+%<*book|report>
+ \gdef \CTEX@prechapter { \CTEX@preappendix }
+ \gdef \CTEX@thechapter { \CTEX@appendix@number }
+ \gdef \CTEX@postchapter { \CTEX@postappendix }
+ \gdef \CTEX@chapter@numbering { \CTEX@appendix@numbering }
+%</book|report>
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \paragraph{设置 \pkg{hyperref} 宏包的标题锚点}
+%
+% \changes{v2.4.4}{2016/09/12}{改进 \pkg{hyperref} 宏包的标题锚点设置。}
+%
+% \begin{macro}[int]{\CTEX@makeanchor}
+% 设置超链接跳转锚点,在 \pkg{hyperref} 载入后才有意义。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \CTEX@makeanchor #1
+ { }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{variable}{\c_@@_headings_cs_seq}
+% 保存内部标题命令的 \CTeX{} 定义,用于随后比较。
+% \begin{macrocode}
+\seq_const_from_clist:Nn \c_@@_headings_cs_seq
+%<article> { part , spart , sect , ssect }
+%<book|report> { part , spart , chapter , schapter , sect , ssect }
+\seq_map_inline:Nn \c_@@_headings_cs_seq
+ {
+ \cs_new_eq:cc { CTEX@ #1 } { @ #1 }
+ \cs_new_eq:cN { CTEX@makeanchor@ #1 } \CTEX@makeanchor
+ }
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}[int]{\CTEX@hyperheadinghook}
+% \pkg{hyperref} 会重定义内部标题命令,目的在于为没有编号的标题设置锚点(这一功能受他的
+% \opt{implicit} 选项的控制)。我们在上面对标题命令的修改已经包含这一功能,如果这些标题命令在
+% \pkg{hyperref} 载入之前没有被修改过,则恢复 \CTeX{} 的定义。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \CTEX@hyperheadinghook
+ {
+ \group_begin:
+ \ifHy@implicit
+ \cs_set_eq:NN \H@old@chapter \Hy@org@chapter
+ \seq_map_inline:Nn \c_@@_headings_cs_seq
+ {
+ \cs_if_eq:ccT { H@old@ ##1 } { CTEX@ ##1 }
+ {
+ \cs_gset_eq:cc { @ ##1 } { CTEX@ ##1 }
+ \cs_gset_eq:cN { CTEX@makeanchor@ ##1 } \CTEX@makeanchor
+ }
+ }
+ \else:
+ \seq_map_inline:Nn \c_@@_headings_cs_seq
+ { \cs_gset_eq:cN { CTEX@makeanchor@ ##1 } \CTEX@makeanchor }
+ \fi:
+ \group_end:
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\ctex_at_end_package:nn { hyperref }
+ {
+ \cs_gset_protected_nopar:Npn \CTEX@makeanchor #1
+ {
+ \Hy@MakeCurrentHrefAuto {#1}
+ \Hy@raisedlink
+ {
+ \hyper@anchorstart { \@currentHref }
+ \hyper@anchorend
+ }
+ }
+ \CTEX@hyperheadinghook
+ }
+% \end{macrocode}
+%
+% \paragraph{兼容 \pkg{nameref} 宏包}
+%
+% \changes{v2.4.16}{2019/05/29}{更好地兼容 \pkg{nameref} 宏包。}
+%
+% \begin{macro}[int]{\CTEX@gettitle}
+% 在 \pkg{nameref} 载入后才有意义,与上述 \pkg{hyperref} 的处理类似。
+% \begin{macrocode}
+\cs_new_protected:Npn \CTEX@gettitle #1
+ { }
+\ctex_at_end_package:nn { nameref }
+ {
+ \cs_gset_protected_nopar:Npn \CTEX@gettitle { \NR@gettitle }
+ \seq_map_inline:Nn \c_@@_headings_cs_seq
+ {
+ \cs_if_eq:ccT { NR@ #1 } { CTEX@ #1 }
+ { \cs_gset_eq:cc { @ #1 } { CTEX@ #1 } }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \paragraph{兼容 \pkg{titlesec} 宏包}
+%
+% 我们修改了 \tn{@startsection} 的定义,它的第四个(\meta{beforeskip})和
+% 第五个(\meta{afterskip})参数的符号不再有特殊意义,改由相应的选项
+% \opt{afterindent} 和 \opt{runin} 来控制。
+%
+% 引入 \pkg{titlesec} 宏包,并且未设置它的 \opt{loadonly} 选项时,\pkg{titlesec}
+% 会展开 section 类标题获取它们的参数,进行初始设置。我们需要进行一些调整。
+%
+% \begin{macro}[int]{\ctex_titlesec_hook:}
+% \tn{titleformat} 的设置保存在名为 |\ttlf@|\meta{section} 的宏中备用,它的内容是
+% \begin{quote}\small
+% |\ttlh@|\meta{shape}\Arg{format}\Arg{label}\Arg{sep}\Arg{before}\Arg{after}
+% \end{quote}
+% 我们这里的 \meta{shape} 为 |hang| 或者 |runin|。\tn{titlespacing} 的设置保存在
+% |\ttls@|\meta{section} 之中,它的内容是
+% \begin{quote}\small
+% \Arg{left}\Arg{right}\Arg{before}\Arg{after}\Arg{afterindent}
+% \end{quote}
+% 其中 \meta{afterindent} 为 |1| 或 |0|,分别对应是否保留段首缩进。
+% 我们需要根据 \CTeX{} 的 \opt{runin} 和 \opt{afterindent} 选项调整
+% |\ttlh@|\meta{shape} 和 \meta{afterindent}。注意,由 \tn{ttl@extract} 得的
+% \meta{before} 和 \meta{after} 的值总是非负的,而 \CTeX{} 的 \opt{beforeskip}
+% 和 \opt{afterskip} 是可以取负值的,但我们不打算调整它们了。
+% 如果使用了 \pkg{titlesec} 的 \opt{indentafter} 等选项,也不需要调整
+% |\ttls@|\meta{section}。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_titlesec_hook:
+ {
+ \@ifpackagewith { titlesec } { explicit }
+ {
+ \cs_set_eq:NN \@@_titlesec_format:Nn
+ \@@_titlesec_format_explicit:Nn
+ }
+ { }
+ \clist_map_inline:nn
+ { indentafter , noindentafter , indentfirst , nonindentfirst }
+ {
+ \@ifpackagewith { titlesec } { ##1 }
+ {
+ \clist_map_break:n
+ { \cs_set_eq:NN \@@_titlesec_hook:n \@@_titlesec_format:n }
+ }
+ { }
+ }
+ \seq_map_function:NN \c_@@_section_headings_seq \@@_titlesec_hook:n
+ }
+\cs_new_protected_nopar:Npn \@@_titlesec_hook:n #1
+ {
+ \@@_titlesec_format:n {#1}
+ \exp_args:Nc \@@_titlesec_spacing:Nn { ttls@#1 } {#1}
+ }
+\cs_new_protected_nopar:Npn \@@_titlesec_format:n #1
+ {
+ \cs_if_free:cF { ttlf@#1 }
+ { \exp_args:Nc \@@_titlesec_format:Nn { ttlf@#1 } {#1} }
+ }
+\cs_new_protected_nopar:Npn \@@_titlesec_format:Nn #1#2
+ {
+ \tl_set:Nx #1
+ {
+ \bool_if:cTF { CTEX@#2@runin }
+ { \exp_not:N \ttlh@runin }
+ { \exp_not:N \ttlh@hang }
+ \tl_tail:N #1
+ }
+ }
+\cs_new_protected_nopar:Npn \@@_titlesec_format_explicit:Nn #1#2
+ {
+ \cs_set_nopar:Npx #1 ##1
+ {
+ \bool_if:cTF { CTEX@#2@runin }
+ { \exp_not:N \ttlh@runin }
+ { \exp_not:N \ttlh@hang }
+ \exp_args:No \tl_tail:n { #1 { } }
+ }
+ }
+\cs_new_protected_nopar:Npn \@@_titlesec_spacing:Nn #1#2
+ { \tl_set:Nx #1 { \exp_after:wN \@@_titlesec_spacing:nnnnnn #1 {#2} } }
+\cs_new:Npn \@@_titlesec_spacing:nnnnnn #1#2#3#4#5#6
+ {
+ \exp_not:n { {#1} {#2} {#3} {#4} }
+ { \bool_if:cTF { CTEX@#6@afterindent } { \@ne } { \z@ } }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\@ifpackageloaded { titlesec }
+ { }
+ {
+ \ctex_at_end_package:nn { titlesec }
+ {
+ \@ifpackagewith { titlesec } { loadonly }
+ { }
+ { \ctex_titlesec_hook: }
+ }
+ }
+% \end{macrocode}
+%
+% \changes{v2.4.4}{2016/09/13}{使用 \pkg{titlesec} 时,章节目录也使用 \CTeX{} 的编号。}
+% 让编译时终端显示 \tn{CTEXthechapter},目录使用 |\CTEXtheXXX| 编号。
+% \begin{macrocode}
+\ctex_at_end_package:nn { titlesec }
+ {
+%<*book|report>
+ \tl_set:Nn \ttl@chapterout { \typeout { \CTEXthechapter } }
+%</book|report>
+ \cs_if_free:NF \ttl@tocpart
+ {
+ \cs_set_protected_nopar:Npn \ttl@tocpart
+ { \tl_set:Nn \ttl@a { \CTEXthepart \hspace { 1em } } }
+ }
+ \seq_map_inline:Nn \c_@@_headings_seq
+ {
+ \cs_if_exist:cF { ttl@toc #1 }
+ {
+ \cs_new_protected_nopar:cpx { ttl@toc #1 }
+ {
+ \tl_set:Nn \exp_not:N \ttl@a
+ {
+ \exp_not:N \protect
+ \exp_not:N \numberline { \exp_not:c { CTEXthe #1 } }
+ }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% \paragraph{兼容 \pkg{titleps} 宏包}
+%
+% \changes{v2.3}{2015/12/25}{兼容 \pkg{titleps} 宏包。}
+%
+% 按照 \pkg{titleps} 宏包的实现机制,|\CTEXtheXXX| 等宏直到页眉排版时才会被展开,
+% 这可能会造成问题\footnote{\url{https://github.com/CTeX-org/ctex-kit/issues/217}}。
+%
+% \begin{macro}[int]{\ctex_titleps_hook:}
+% 我们修改 \pkg{titleps} 包的内部命令 \tn{ttl@settopmark} 和 \tn{ttl@setsubmark},
+% 将 |\CTEXtheXXX| 等加入更新队列中。
+% \begin{macrocode}
+\group_begin:
+\char_set_catcode_other:N \#
+\cs_new_protected_nopar:Npn \ctex_titleps_hook:
+ {
+ \ctex_patch_cmd:Nnn \ttl@settopmark
+ { \protect \@namedef { the#1 } { \@nameuse { the#1 } } }
+ {
+ \protect \@namedef { the#1 } { \@nameuse { the#1 } }
+ \CTEX@titlepslabel@set {#1}
+ }
+ \ctex_patch_cmd:Nnn \ttl@setsubmark
+ { \protect \@namedef { the#1 } { } }
+ {
+ \protect \@namedef { the#1 } { }
+ \CTEX@titlepslabel@clear {#1}
+ }
+ \ctex_patch_cmd:Nnn \ttl@setsubmark
+ { \protect \@namedef { the#2 } { \@nameuse { the#2 } } }
+ {
+ \protect \@namedef { the#2 } { \@nameuse { the#2 } }
+ \CTEX@titlepslabel@set {#2}
+ }
+ }
+\group_end:
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\CTEX@titlepslabel@set,\CTEX@titlepslabel@clear}
+% 这两个函数要在随后被 \tn{xdef} 展开来获得 |\CTEXtheXXX| 的内容,不应该用
+% \tn{protected} 来定义。
+% \begin{macrocode}
+\cs_new_nopar:Npn \CTEX@titlepslabel@set #1
+ {
+ \cs_if_free:cF { CTEXthe#1 }
+ { \protect \@namedef { CTEXthe#1 } { \@nameuse { CTEXthe#1 } } }
+ }
+\cs_new_nopar:Npn \CTEX@titlepslabel@clear #1
+ {
+ \cs_if_free:cF { CTEXthe#1 }
+ { \protect \@namedef { CTEXthe#1 } { } }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \pkg{titleps} 宏包的功能可以由 \pkg{titlesec} 的选项 \opt{pagestyles} 引入。
+% \begin{macrocode}
+\ctex_at_end_package:nn { titlesec }
+ { \cs_if_free:NF \ttl@settopmark { \ctex_titleps_hook: } }
+\ctex_at_end_package:nn { titleps } { \ctex_titleps_hook: }
+% \end{macrocode}
+%
+% 除此之外,也可以使用 \pkg{titleps} 提供的命令 \tn{newtitlemark} 来完成:
+% \begin{verbatim}
+% \newtitlemark { \CTEXthechapter }
+% \newtitlemark { \CTEXthesection }
+% \end{verbatim}
+% 但 \tn{newtitlemark} 不包含章节间的层次信息,功能上不及修改内部命令完整。
+%
+% \changes{v2.4.6}{2016/10/31}{重新初始化 \tn{ifthechapter} 等。}
+% \begin{macro}[int]{\ttl@setifthe}
+% 使 |\iftheXXX| 等命令在页眉设置中可用。
+% \begin{macrocode}
+\ctex_at_end_package:nn { titleps }
+ {
+ \cs_set_protected_nopar:Npn \ttl@setifthe #1
+ {
+ \exp_args:Nco \cs_set_nopar:Npn { ifthe #1 }
+ {
+ \CTEXifname
+ { \protect \@firstoftwo }
+ { \protect \@secondoftwo }
+ }
+ }
+ \seq_map_function:NN \c_@@_headings_seq \ttl@setifthe
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{目录标签的宽度}
+%
+% \begin{macro}[int]{\numberline}
+% \begin{macrocode}
+\cs_new_protected:Npn \CTEX@toc@width@n #1
+ {
+ \hbox_set:Nn \l_@@_tmp_box {#1}
+ \dim_set:Nn \@tempdima
+ {
+ \dim_max:nn { \@tempdima }
+ { \box_wd:N \l_@@_tmp_box + \f@size \p@ / 2 }
+ }
+ }
+\group_begin:
+\char_set_catcode_other:N \#
+\use:n
+ {
+ \group_end:
+ \ctex_preto_cmd:NnnTF \numberline { \ExplSyntaxOff }
+ { \CTEX@toc@width@n {#1} }
+ { }
+ { \ctex_patch_failure:N \numberline }
+ \@ifpackageloaded { tocloft }
+ { }
+ {
+ \ctex_at_end_package:nn { tocloft }
+ {
+ \ctex_preto_cmd:NnnTF \numberline
+ { \char_set_catcode_letter:n { 64 } }
+ { \CTEX@toc@width@n {#1} }
+ { }
+ { \ctex_patch_failure:N \numberline }
+ }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{页眉信息的修改}
+%
+% \begin{macro}[int]{\ps@headings}
+% \changes{v2.4.5}{2016/10/01}{修复补丁失败。}
+% \changes{v2.4.7}{2016/12/23}{修复 \cls{ctexrep} 类的 \tn{chaptermark} 汉化错误。}
+% \changes{v2.4.11}{2017/09/13}{补充页眉空格。}
+% \begin{macrocode}
+%<*article>
+\if@twoside
+ \ctex_patch_cmd:Nnn \ps@headings
+ { \ifnum \c@secnumdepth > \z@ \thesection \quad \fi }
+ { \CTEXifname { \CTEXthesection \quad } { } }
+ \ctex_patch_cmd:Nnn \ps@headings
+ { \ifnum \c@secnumdepth > \@ne \thesubsection \quad \fi }
+ { \CTEXifname { \CTEXthesubsection \quad } { } }
+\else:
+% \end{macrocode}
+% 不知为何,标准文档类此处对 \texttt{secnumdepth} 的判断为 $0$,与 \tn{section} 的层次 $1$ 不符。
+% \begin{macrocode}
+ \ctex_patch_cmd:Nnn \ps@headings
+ { \ifnum \c@secnumdepth > \m@ne \thesection \quad \fi }
+ { \CTEXifname { \CTEXthesection \quad } { } }
+\fi:
+%</article>
+%<*book|report>
+\ctex_patch_cmd:Nnn \ps@headings
+ {
+%<book> \ifnum \c@secnumdepth > \m@ne \if@mainmatter
+%<report> \ifnum \c@secnumdepth > \m@ne
+ \@chapapp \ \thechapter . ~ \ %
+%<report> \fi
+%<book> \fi \fi
+ }
+ { \CTEXifname { \CTEXthechapter \quad } { } }
+\if@twoside
+ \ctex_patch_cmd:Nnn \ps@headings
+ { \ifnum \c@secnumdepth > \z@ \thesection . ~ \ \fi }
+ { \CTEXifname { \CTEXthesection \quad } { } }
+\fi:
+%</book|report>
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}[int]{\ps@fancy}
+% 这里对 \pkg{fancyhdr} 宏包打补丁。原来 \pkg{fancyhdr} 宏包中使用
+% \tn{thesection} 等宏表示页眉中的章节编号,这里改用 \pkg{ctex} 包所用的
+% \tn{CTEXthesection} 系列宏。
+% \begin{macrocode}
+\ctex_at_end_package:nn { fancyhdr }
+ {
+%<*article>
+ \ctex_patch_cmd:Nnn \ps@fancy
+ { \ifnum \c@secnumdepth > \z@ \thesection \hskip 1em \relax \fi }
+ { \CTEXifname { \CTEXthesection \quad } { } }
+ \ctex_patch_cmd:Nnn \ps@fancy
+ { \ifnum \c@secnumdepth > \@ne \thesubsection \hskip 1em \relax \fi }
+ { \CTEXifname { \CTEXthesubsection \quad } { } }
+%</article>
+%<*book|report>
+ \ctex_patch_cmd:Nnn \ps@fancy
+ { \ifnum \c@secnumdepth > \m@ne \@chapapp \ \thechapter . ~ \ \fi }
+ { \CTEXifname { \CTEXthechapter \quad } { } }
+ \ctex_patch_cmd:Nnn \ps@fancy
+ { \ifnum \c@secnumdepth > \z@ \thesection . ~ \ \fi }
+ { \CTEXifname { \CTEXthesection \quad } { } }
+%</book|report>
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</article|book|report>
+% \end{macrocode}
+%
+% \subsubsection{\cls{beamer} 标题页模板的修改}
+%
+% \begin{macrocode}
+%<*beamer>
+% \end{macrocode}
+%
+% \begin{macrocode}
+\ExplSyntaxOff
+% \end{macrocode}
+%
+% \changes{v2.4.15}{2019/01/29}{局部指定 \opt{autoindent} 为 \opt{false},并交换
+% \tn{CTEX@XXX@indent} 与 \tn{CTEX@XXX@format} 的顺序。}
+%
+% 对应 \tn{partpage}。
+% \begin{macrocode}
+\defbeamertemplate*{part page}{CTEX}[1][]{%
+ \begingroup
+ \CTEX@disableautoindent
+% \centering
+% {\usebeamerfont{part name}%
+% \usebeamercolor[fg]{part name}\partname~\insertromanpartnumber}
+% \vskip1em\par
+ \par \addvspace{\glueexpr\CTEX@part@beforeskip\relax}%
+ \CTEX@part@format
+ \parindent \dimexpr \CTEX@part@indent \relax
+ \ifodd \CTEX@part@numbering
+ \CTEX@partname \CTEX@part@aftername
+ \fi
+ \begin{beamercolorbox}[sep=16pt,center,#1]{part title}
+% \usebeamerfont{part title}\insertpart\par
+ \CTEX@part@titleformat \insertpart \CTEX@part@aftertitle
+ \end{beamercolorbox}%
+ \par \addvspace{\glueexpr\CTEX@part@afterskip\relax}%
+ \endgroup
+}
+% \end{macrocode}
+%
+% 对应 \tn{sectionpage}。
+% \begin{macrocode}
+\defbeamertemplate*{section page}{CTEX}[1][]{%
+ \begingroup
+ \CTEX@disableautoindent
+% \centering
+% {\usebeamerfont{section name}%
+% \usebeamercolor[fg]{section name}\sectionname~\insertsectionnumber}
+% \vskip1em\par
+ \par \addvspace{\glueexpr\CTEX@section@beforeskip\relax}%
+ \CTEX@section@format
+ \parindent \dimexpr \CTEX@section@indent \relax
+ \ifodd \CTEX@section@numbering
+ \CTEX@sectionname \CTEX@section@aftername
+ \fi
+ \begin{beamercolorbox}[sep=12pt,center,#1]{part title}
+% \usebeamerfont{section title}\insertsection\par
+ \CTEX@section@titleformat \insertsection \CTEX@section@aftertitle
+ \end{beamercolorbox}%
+ \par \addvspace{\glueexpr\CTEX@section@afterskip\relax}%
+ \endgroup
+}
+% \end{macrocode}
+%
+% 对应 \tn{subsectionpage}。
+% \begin{macrocode}
+\defbeamertemplate*{subsection page}{CTEX}[1][]{%
+ \begingroup
+ \CTEX@disableautoindent
+% \centering
+% {\usebeamerfont{subsection name}%
+% \usebeamercolor[fg]{subsection name}\subsectionname~\insertsubsectionnumber}
+% \vskip1em\par
+ \par \addvspace{\glueexpr\CTEX@subsection@beforeskip\relax}%
+ \CTEX@subsection@format
+ \parindent \dimexpr \CTEX@subsection@indent \relax
+ \ifodd \CTEX@subsection@numbering
+ \CTEX@subsectionname \CTEX@subsection@aftername
+ \fi
+ \begin{beamercolorbox}[sep=8pt,center,#1]{part title}
+% \usebeamerfont{subsection title}\insertsubsection\par
+ \CTEX@subsection@titleformat \insertsubsection \CTEX@subsection@aftertitle
+ \end{beamercolorbox}%
+ \par \addvspace{\glueexpr\CTEX@subsection@afterskip\relax}%
+ \endgroup
+}
+% \end{macrocode}
+%
+% 将 \cls{beamer} 的默认模板重定向为 \texttt{CTEX} 模板。
+% \begin{macrocode}
+\defbeamertemplatealias{part page}{default}{CTEX}
+\defbeamertemplatealias{section page}{default}{CTEX}
+\defbeamertemplatealias{subsection page}{default}{CTEX}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\ExplSyntaxOn
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</beamer>
+% \end{macrocode}
+%
+% \subsubsection{标签引用数字的汉化}
+%
+% \begin{macro}[int]{\refstepcounter}
+% 对标题进行引用时,设置标签为通过 \opt{number} 选项设置的形式。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \CTEX@setcurrentlabel@n #1
+ {
+ \protected@edef \@currentlabel
+ {
+ \cs_if_exist:cTF { CTEX@the#1 }
+ { \exp_args:cc { p@#1 } { CTEX@the#1 } }
+ { \exp_not:o { \@currentlabel } }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_varioref_hook:}
+% 关于标签引用的宏包可能会修改 \tn{refstepcounter}。其中 \pkg{cleveref} 和
+% \pkg{hyperref} 宏包都会保存之前的定义,并且它们都要求尽可能晚的被载入,所以
+% 对我们上述的修改影响不大。需要注意的是 \pkg{varioref} 宏包,如果它在
+% \CTeX{} 之后被载入,我们之前的修改将会被覆盖。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_varioref_hook:
+ {
+ \seq_map_inline:Nn \c_@@_headings_seq
+ { \ctex_fix_varioref_label:n { ##1 } }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_fix_varioref_label:n}
+% \pkg{varioref} 宏包的 \tn{labelformat} 实际上是定义一个以 |\the<#1>| 为参数的宏
+% |\p@<#1>|。\LaTeX{} 在定义计数器 |<#1>| 时,都会将 |\p@<#1>| 初始化为 \tn{@empty}。
+% 如果这个宏非空,说明用户自定义了标签格式,我们就不再修改。这里不能使用
+% \cs{exp_args:Nnc},因为 \texttt{c} 这种展开格式不会将参数放在花括号内。而
+% \tn{labelformat} 的定义是
+% \begin{verbatim}
+% \def\labelformat#1{\expandafter\def\csname p@#1\endcsname##1}
+% \end{verbatim}
+% 它的第二个参数必须放在花括号内,否则将会被作为宏的定界符号。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_fix_varioref_label:n #1
+ {
+ \tl_if_empty:cT { p@#1 }
+ { \exp_args:Nno \labelformat {#1} { \cs:w CTEX@the#1 \cs_end: } }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% 如果 \pkg{varioref} 已经被载入,则使用它来设置。
+% \begin{macrocode}
+\@ifpackageloaded { varioref }
+ { \ctex_varioref_hook: }
+ {
+ \cs_new_eq:NN \CTEX@save@refstepcounter \refstepcounter
+ \RenewDocumentCommand \refstepcounter { m }
+ {
+ \CTEX@save@refstepcounter {#1}
+ \CTEX@setcurrentlabel@n {#1}
+ }
+ \ctex_at_end_package:nn { varioref } { \ctex_varioref_hook: }
+ }
+% \end{macrocode}
+%
+% \subsubsection{载入 \meta{scheme} 文件}
+%
+% \begin{macrocode}
+\ctex_scheme_input:o { \l_@@_scheme_tl }
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</class|heading>
+% \end{macrocode}
+%
+% \subsubsection{标题格式的 \opt{scheme} 定义}
+%
+% 下面使用 \CTeX 文档类的设置方式,\opt{plain} 模拟标准文档类直接定义或以
+% \tn{@startsection} 设定的章节标题格式,\opt{chinese} 汉化的标题格式。
+%
+% \begin{macrocode}
+%<*scheme&(article|book|report|beamer)>
+% \end{macrocode}
+%
+% \changes{v2.1}{2015/05/30}{修复 \cls{ctexbook} 和 \cls{ctexrep} 类的中文
+% \opt{part/number} 选项初值为空的错误。}
+% \changes{v2.2}{2015/06/30}{将中文版式下的 \texttt{part} 和 \texttt{chapter}
+% 标题的 \opt{nameformat} 和 \opt{titleformat} 选项的初值合并到 \opt{format} 中。}
+%
+% \begin{macrocode}
+\keys_set:nn { ctex / part }
+ {
+ aftertitle = \par ,
+%<*article|book|report>
+ hang = false ,
+%</article|book|report>
+%<*plain>
+ name = \partname \space ,
+%<*article|book|report>
+ number = \thepart ,
+%</article|book|report>
+%<*beamer>
+ number = \insertromanpartnumber ,
+%</beamer>
+%</plain>
+%<*chinese>
+ number = \chinese { part } ,
+%</chinese>
+%<*article>
+ beforeskip = 4ex ,
+ afterskip = 3ex ,
+%<*plain>
+ format = \raggedright ,
+ nameformat = \Large \bfseries ,
+ aftername = \par \nobreak ,
+ titleformat = \huge \bfseries ,
+ afterindent = false
+%</plain>
+%<*chinese>
+ format = \Large \bfseries \centering ,
+ aftername = \quad ,
+ afterindent = true
+%</chinese>
+%</article>
+%<*book|report>
+ aftername = \par \vskip 20 \p@ ,
+ beforeskip = 0pt \@plus 1fil ,
+ afterskip = 0pt \@plus 1fil ,
+ pagestyle = plain ,
+ break = \if@openright \cleardoublepage \else \clearpage \fi ,
+%<*plain>
+ format = \centering ,
+ nameformat = \huge \bfseries ,
+ titleformat = \Huge \bfseries
+%</plain>
+%<*chinese>
+ format = \huge \bfseries \centering
+%</chinese>
+%</book|report>
+%<*beamer>
+ format = \centering ,
+ nameformat = \usebeamerfont { part ~ name }
+ \usebeamercolor [fg] { part ~ name } ,
+ aftername = \vskip 1em \par ,
+ titleformat = \usebeamerfont { part ~ title }
+%</beamer>
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*book|report>
+\keys_set:nn { ctex / chapter }
+ {
+ pagestyle = plain ,
+ aftertitle = \par ,
+ hang = false ,
+ beforeskip = 50 \p@ ,
+ afterskip = 40 \p@ ,
+ lofskip = 10 \p@ ,
+ lotskip = 10 \p@ ,
+ break = \if@openright \cleardoublepage \else \clearpage \fi ,
+%<*plain>
+ name = \chaptername \space ,
+ number = \thechapter ,
+ format = \raggedright ,
+ nameformat = \huge \bfseries ,
+ aftername = \par \nobreak \vskip 20 \p@ ,
+ titleformat = \Huge \bfseries ,
+ afterindent = false ,
+ tocline = \CTEXnumberline {#1} #2
+%</plain>
+%<*chinese>
+ number = \chinese { chapter } ,
+ format = \huge \bfseries \centering ,
+ aftername = \quad ,
+ afterindent = true
+%</chinese>
+ }
+%</book|report>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<@@=>
+% \end{macrocode}
+%
+% \begin{macrocode}
+\keys_set:nn { ctex / section }
+ {
+%<*article|book|report>
+ number = \thesection ,
+ aftername = \quad ,
+ aftertitle = \@@par ,
+ beforeskip = 3.5ex \@plus 1ex \@minus .2ex ,
+ afterskip = 2.3ex \@plus .2ex ,
+ runin = false ,
+ break = \addpenalty \@secpenalty ,
+%<*plain>
+ format = \Large \bfseries ,
+ afterindent = false
+%</plain>
+%<*chinese>
+ format = \Large \bfseries \centering ,
+ afterindent = true
+%</chinese>
+%</article|book|report>
+%<*beamer>
+%<*plain>
+ name = \sectionname \space ,
+%</plain>
+ format = \centering ,
+ number = \insertsectionnumber ,
+ nameformat = \usebeamerfont { section ~ name }
+ \usebeamercolor [fg] { section ~ name } ,
+ aftername = \vskip 1em \par ,
+ titleformat = \usebeamerfont { section ~ title } ,
+ aftertitle = \par
+%</beamer>
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\keys_set:nn { ctex / subsection }
+ {
+%<*article|book|report>
+ number = \thesubsection ,
+ format = \large \bfseries ,
+ aftername = \quad ,
+ aftertitle = \@@par ,
+ beforeskip = 3.25ex \@plus 1ex \@minus .2ex ,
+ afterskip = 1.5ex \@plus .2ex ,
+ runin = false ,
+ break = \addpenalty \@secpenalty ,
+%<*plain>
+ afterindent = false
+%</plain>
+%<*chinese>
+ afterindent = true
+%</chinese>
+%</article|book|report>
+%<*beamer>
+%<*plain>
+ name = \subsectionname \space ,
+ number = \insertsubsectionnumber ,
+%</plain>
+%<*chinese>
+ number = \arabic { section } . \arabic { subsection } ,
+%</chinese>
+ format = \centering ,
+ nameformat = \usebeamerfont { subsection ~ name }
+ \usebeamercolor [fg] { subsection ~ name } ,
+ aftername = \vskip 1em \par ,
+ titleformat = \usebeamerfont { subsection ~ title } ,
+ aftertitle = \par
+%</beamer>
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*article|book|report>
+% \end{macrocode}
+%
+% \begin{macrocode}
+\keys_set:nn { ctex / subsubsection }
+ {
+ number = \thesubsubsection ,
+ format = \normalsize \bfseries ,
+ aftername = \quad ,
+ aftertitle = \@@par ,
+ beforeskip = 3.25ex \@plus 1ex \@minus .2ex ,
+ afterskip = 1.5ex \@plus .2ex ,
+ runin = false ,
+ break = \addpenalty \@secpenalty ,
+%<*plain>
+ afterindent = false
+%</plain>
+%<*chinese>
+ afterindent = true
+%</chinese>
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\keys_set:nn { ctex / paragraph }
+ {
+ number = \theparagraph ,
+ format = \normalsize \bfseries ,
+ aftername = \quad ,
+ beforeskip = 3.25ex \@plus 1ex \@minus .2ex ,
+ break = \addpenalty \@secpenalty ,
+%<*plain>
+ afterindent = false
+%</plain>
+%<*chinese>
+ afterindent = true
+%</chinese>
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\keys_set:nn { ctex / subparagraph }
+ {
+ number = \thesubparagraph ,
+ format = \normalsize \bfseries ,
+ aftername = \quad ,
+ beforeskip = 3.25ex \@plus 1ex \@minus .2ex ,
+ break = \addpenalty \@secpenalty ,
+%<*plain>
+ afterindent = false
+%</plain>
+%<*chinese>
+ afterindent = true
+%</chinese>
+ }
+% \end{macrocode}
+%
+% 处理 \opt{sub3section} 与 \opt{sub4section} 的格式。
+% \begin{macrocode}
+\int_compare:nNnTF \g__ctex_section_depth_int > 2
+ {
+ \keys_set:nn { ctex / paragraph }
+ {
+ aftertitle = \@@par ,
+ afterskip = 1ex \@plus .2ex ,
+ runin = false
+ }
+ }
+ {
+ \keys_set:nn { ctex / paragraph }
+ {
+ afterskip = 1em ,
+ runin = true
+ }
+ }
+\int_compare:nNnTF \g__ctex_section_depth_int > 3
+ {
+ \keys_set:nn { ctex / subparagraph }
+ {
+ aftertitle = \@@par ,
+ afterskip = 1ex \@plus .2ex ,
+ runin = false
+ }
+ }
+ {
+ \keys_set:nn { ctex / subparagraph }
+ {
+ afterskip = 1em ,
+ runin = true
+ }
+ }
+\int_compare:nNnTF \g__ctex_section_depth_int > 2
+ { \keys_set:nn { ctex / subparagraph } { indent = \c_zero_dim } }
+ { \keys_set:nn { ctex / subparagraph } { indent = \parindent } }
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<@@=ctex>
+% \end{macrocode}
+%
+% 处理附录的格式。
+% \begin{macrocode}
+\keys_set:nn { ctex / appendix }
+%<*article>
+ { number = \@Alph \c@section }
+%</article>
+%<*book|report>
+ {
+ name = \appendixname \space ,
+ number = \@Alph \c@chapter
+ }
+%</book|report>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</article|book|report>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</scheme&(article|book|report|beamer)>
+% \end{macrocode}
+%
+% \subsubsection{\pkg{ctex.sty} 的 \opt{heading} 选项}
+%
+% \begin{macrocode}
+%<*ctex|ctexheading>
+% \end{macrocode}
+%
+% \begin{variable}{\c_@@_std_class_tl}
+% 用于记录被引入的标准文档类。
+% \begin{macrocode}
+\clist_map_inline:nn { article , book , report , beamer }
+ {
+ \@ifclassloaded {#1}
+ { \clist_map_break:n { \tl_const:Nn \c_@@_std_class_tl {#1} } }
+ { }
+ }
+% \end{macrocode}
+% \end{variable}
+%
+% 若标准文档类被引入,则载入对应的标题定义文件。否则视 \tn{chapter} 是否有定义来
+% 引入 \cls{book} 或者 \cls{article}。
+% \begin{macrocode}
+\msg_new:nnn { ctex } { not-standard-class }
+ {
+ None~of~the~standard~document~classes~was~loaded.\\
+ Heading~`#1'~is~selected.\\
+ ctex~may~not~work~as~expected.
+ }
+%<ctex>\bool_if:NTF \l_@@_heading_bool
+%<ctexheading>\use:n
+ {
+ \tl_if_exist:NTF \c_@@_std_class_tl
+ { \cs_new_eq:NN \c_@@_class_tl \c_@@_std_class_tl }
+ {
+ \cs_if_exist:NTF \chapter
+ {
+ \cs_if_exist:NF \if@mainmatter
+ { \cs_new_eq:NN \if@mainmatter \tex_iftrue:D }
+ \tl_const:Nn \c_@@_class_tl { book }
+ }
+ { \tl_const:Nn \c_@@_class_tl { article } }
+ \msg_warning:nnx { ctex } { not-standard-class } { \c_@@_class_tl }
+ }
+ \ctex_file_input:n { ctex- \c_@@_class_tl .def }
+ }
+%<ctex> { \ctex_scheme_input:o { \l_@@_scheme_tl } }
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</ctex|ctexheading>
+% \end{macrocode}
+%
+% \subsubsection{标题配置文件}
+%
+% \begin{macrocode}
+%<*name>
+% \end{macrocode}
+%
+% \begin{macrocode}
+\keys_set_known:nn { ctex }
+ {
+ contentsname = 目录 ,
+ listfigurename = 插图 ,
+ listtablename = 表格 ,
+ figurename = 图 ,
+ tablename = 表 ,
+ abstractname = 摘要 ,
+ indexname = 索引 ,
+ bibname = 参考文献 ,
+ appendixname = 附录 ,
+ proofname = 证明 ,
+ algorithmname = 算法 ,
+ refname = 参考文献 ,
+ continuation = (续) ,
+ part / name = { 第 , 部分 } ,
+ chapter / name = { 第 , 章 }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</name>
+% \end{macrocode}
+%
+% \subsection{\opt{chinese} 方案的其他设置}
+%
+% \begin{macrocode}
+%<*scheme&chinese>
+% \end{macrocode}
+%
+% \opt{chinese} 在标准文档类下的页面格式总采用 \texttt{headings}。
+% \begin{macrocode}
+%<article|book|report>\pagestyle { headings }
+% \end{macrocode}
+%
+% 日期格式。
+% \begin{macrocode}
+\keys_set:nn { ctex } { today = small }
+% \end{macrocode}
+%
+% 若用户未设置宏包选项 \opt{autoindent},则自动调整首行缩进。
+% \begin{macrocode}
+\ctex_if_autoindent_touched:F
+ { \keys_set:nn { ctex } { autoindent = true } }
+% \end{macrocode}
+%
+% 使用标题定义时的设置。首先是命题名字汉化。\cls{beamer} 需要汉化定理名称。
+% \begin{macrocode}
+%<*!generic>
+\str_if_eq:onTF { \l_@@_encoding_tl } { GBK }
+%<*beamer>
+ {
+ \uselanguage { ChineseGBK }
+ \languagealias { chinese } { ChineseGBK }
+ \ctex_file_input:n { ctex-name-gbk.cfg }
+ }
+ {
+ \uselanguage { ChineseUTF8 }
+ \languagealias { chinese } { ChineseUTF8 }
+ \ctex_file_input:n { ctex-name-utf8.cfg }
+ }
+% \end{macrocode}
+% 让 \pkg{translator} 包优先查找中文翻译。
+% \begin{macrocode}
+\clist_put_left:Nn \trans@languagepath { chinese }
+%</beamer>
+%<*!beamer>
+ { \ctex_file_input:n { ctex-name-gbk.cfg } }
+ { \ctex_file_input:n { ctex-name-utf8.cfg } }
+% \end{macrocode}
+%
+% \changes{v2.4.1}{2016/05/09}{\cls{beamer} 不调整默认字体大小。}
+% 对 \cls{beamer} 以外的文档类,若用户未设置宏包选项 \opt{zihao},则设置 \tn{normalsize}
+% 为五号字。\cls{beamer} 不调整默认字体大小。
+% \begin{macrocode}
+\int_compare:nNnF \g_@@_font_size_int > { -1 }
+ { \int_gset:Nn \g_@@_font_size_int { 0 } }
+% \end{macrocode}
+%
+% \changes{v2.4.1}{2016/05/09}{\cls{beamer} 不调整默认行距。}
+% 对 \cls{beamer} 以外的文档类,若用户未设置宏包选项 \opt{linespread},则设置行
+% 距初始值为 $1.3\times 1.2=1.56$ 倍字体大小。\cls{beamer} 不调整行距。
+% \begin{macrocode}
+\fp_compare:nNnT { \l_@@_line_spread_fp } ? { \c_zero_fp }
+ { \fp_set:Nn \l_@@_line_spread_fp { 1.3 } }
+%</!beamer>
+%</!generic>
+% \end{macrocode}
+%
+% 不使用标题定义时的通用设置。
+% \begin{macrocode}
+%<*generic>
+\tl_set:Nn \l_@@_tmp_tl { beamer }
+\tl_if_eq:NNTF \c_@@_std_class_tl \l_@@_tmp_tl
+ {
+ \str_if_eq:onTF { \l_@@_encoding_tl } { GBK }
+ {
+ \uselanguage { ChineseGBK }
+ \languagealias { chinese } { ChineseGBK }
+ \ctex_file_input:n { ctex-name-gbk.cfg }
+ }
+ {
+ \uselanguage { ChineseUTF8 }
+ \languagealias { chinese } { ChineseUTF8 }
+ \ctex_file_input:n { ctex-name-utf8.cfg }
+ }
+ \clist_put_left:Nn \trans@languagepath { chinese }
+ }
+ {
+ \str_if_eq:onTF { \l_@@_encoding_tl } { GBK }
+ { \ctex_file_input:n { ctex-name-gbk.cfg } }
+ { \ctex_file_input:n { ctex-name-utf8.cfg } }
+ \int_compare:nNnF \g_@@_font_size_int > { -1 }
+ { \int_gset:Nn \g_@@_font_size_int { 0 } }
+ \fp_compare:nNnT { \l_@@_line_spread_fp } ? { \c_zero_fp }
+ { \fp_set:Nn \l_@@_line_spread_fp { 1.3 } }
+% \end{macrocode}
+% \changes{v2.0.2}{2015/05/16}{修复加载 \pkg{ctex} 宏包后章节标题后第一段
+% 无段首缩进的问题。}
+% 若 \pkg{ctex} 宏包与标准文档类及其衍生文档类联用,则将载入 \pkg{indentfirst} 宏包,
+% 实现章节标题后首个段落的段首缩进。
+% \begin{macrocode}
+ \tl_if_exist:NT \c_@@_std_class_tl
+ { \RequirePackage { indentfirst } }
+ }
+%</generic>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</scheme&chinese>
+% \end{macrocode}
+%
+% \subsection{中文字号}
+%
+% \begin{macrocode}
+%<*class|ctex|ctexsize>
+% \end{macrocode}
+%
+% \changes{v2.0}{2014/03/08}{将中文字号功能提取到可以独立使用的 \pkg{ctexsize}。}
+%
+% \begin{macro}{\zihao}
+% \begin{macrocode}
+\NewDocumentCommand \zihao { m }
+ { \exp_args:Nx \ctex_zihao:n {#1} \tex_ignorespaces:D }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_zihao:n}
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_zihao:n #1
+ {
+ \prop_get:NnNTF \c_@@_font_size_prop {#1} \l_@@_font_size_tl
+ { \exp_after:wN \fontsize \l_@@_font_size_tl \selectfont }
+ { \msg_error:nnn { ctex } { fontsize } {#1} }
+ }
+\msg_new:nnnn { ctex } { fontsize }
+ { Undefined~Chinese~font~size~`#1'~in~command~\token_to_str:N \zihao.}
+ {
+ The~old~font~size~is~used~if~you~continue.\\
+ The~available~font~sizes~are~listed~as~follow.\\
+ \seq_use:Nnnn \c_@@_font_size_seq { ~and~ } { ,~ } { ,~and~ }.
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{定义中文字号}
+%
+% \changes{v2.0}{2014/03/08}{中文字号不再采用近似值。}
+%
+% \begin{variable}{\c_@@_font_size_prop}
+% \begin{macro}{\@@_save_font_size:nn}
+% 基础行距是字号的 $1.2$ 倍,采用 \hologo{eTeX} 的 scaling 运算得到的结果
+% 要比简单的 |1.2\dimexpr| 精确^^A
+% \footnote{\url{http://thread.gmane.org/gmane.comp.tex.latex.latex3/3190}}。
+% \begin{macrocode}
+\prop_new:N \c_@@_font_size_prop
+\seq_new:N \c_@@_font_size_seq
+\cs_new_protected_nopar:Npn \@@_save_font_size:nn #1#2
+ {
+ \use:x
+ {
+ \prop_gput:Nnn \exp_not:N \c_@@_font_size_prop {#1}
+ {
+ { \dim_to_decimal:n {#2} }
+ { \dim_to_decimal:n { (#2) * 6 / 5 } }
+ }
+ }
+ \seq_gput_right:Nn \c_@@_font_size_seq {#1}
+ }
+\clist_map_inline:nn
+ {
+ { 8 } { 5 bp } ,
+ { 7 } { 5.5 bp } ,
+ { -6 } { 6.5 bp } ,
+ { 6 } { 7.5 bp } ,
+ { -5 } { 9 bp } ,
+ { 5 } { 10.5 bp } ,
+ { -4 } { 12 bp } ,
+ { 4 } { 14 bp } ,
+ { -3 } { 15 bp } ,
+ { 3 } { 16 bp } ,
+ { -2 } { 18 bp } ,
+ { 2 } { 22 bp } ,
+ { -1 } { 24 bp } ,
+ { 1 } { 26 bp } ,
+ { -0 } { 36 bp } ,
+ { 0 } { 42 bp }
+ }
+ { \@@_save_font_size:nn #1 }
+% \end{macrocode}
+% \end{macro}
+% \end{variable}
+%
+% \begin{macro}[int]{\ctex_declare_math_sizes:nnnn}
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_declare_math_sizes:nnnn #1#2#3#4
+ {
+ \@@_get_font_sizes:Nn \l_@@_font_size_tl { {#1} {#2} {#3} {#4} }
+ \exp_after:wN \DeclareMathSizes \l_@@_font_size_tl
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_get_font_sizes:Nn}
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \@@_get_font_sizes:Nn #1#2
+ {
+ \tl_clear:N #1
+ \tl_map_inline:nn {#2}
+ {
+ \prop_get:NnNTF \c_@@_font_size_prop {##1} \l_@@_tmp_tl
+ { \tl_put_right:Nx #1 { { \tl_head:N \l_@@_tmp_tl } } }
+ { \tl_put_right:Nx #1 { { \dim_to_decimal:n { ##1 } } } }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\clist_map_inline:nn
+ {
+ { 8 }{ 8 }{ 5pt }{ 5pt } ,
+ { 7 }{ 7 }{ 5pt }{ 5pt } ,
+ { -6 }{ -6 }{ 5pt }{ 5pt } ,
+ { 6 }{ 6 }{ 5pt }{ 5pt } ,
+ { -5 }{ -5 }{ 6pt }{ 5pt } ,
+ { 5 }{ 5 }{ 7pt }{ 5pt } ,
+ { -4 }{ -4 }{ 8pt }{ 6pt } ,
+ { 4 }{ 4 }{ 5 }{ 6 } ,
+ { -3 }{ -3 }{ -4 }{ -5 } ,
+ { 3 }{ 3 }{ 4 }{ 5 } ,
+ { -2 }{ -2 }{ -3 }{ -4 } ,
+ { 2 }{ 2 }{ 3 }{ 4 } ,
+ { -1 }{ -1 }{ -2 }{ -3 } ,
+ { 1 }{ 1 }{ 2 }{ 3 } ,
+ { -0 }{ -0 }{ -1 }{ -2 } ,
+ { 0 }{ 0 }{ 1 }{ 2 }
+ }
+ { \ctex_declare_math_sizes:nnnn #1 }
+% \end{macrocode}
+%
+% \subsubsection{修改默认字号大小}
+%
+% \begin{macro}[int]{\ctex_set_font_size:Nnn}
+% \begin{macrocode}
+\cs_new_protected:Npn \ctex_set_font_size:Nnn #1#2#3
+ {
+ \prop_get:NnNTF \c_@@_font_size_prop {#2} \l_@@_font_size_tl
+ { \exp_after:wN \@@_set_font_size:nnNn \l_@@_font_size_tl #1 {#3} }
+ { \msg_error:nnn { ctex } { fontsize } {#2} }
+ }
+\cs_new_protected:Npn \@@_set_font_size:nnNn #1#2#3#4
+ { \cs_set_protected_nopar:Npn #3 { \@setfontsize #3 {#1} {#2} #4 } }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\if_case:w \g_@@_font_size_int
+ \ctex_file_input:n { ctex-c5size.clo }
+\or:
+ \ctex_file_input:n { ctex-cs4size.clo }
+\fi:
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</class|ctex|ctexsize>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*c5size>
+\ctex_set_font_size:Nnn \normalsize { 5 }
+ {
+ \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
+ \belowdisplayskip \abovedisplayskip
+ \let\@listi\@listI
+ }
+\ctex_set_font_size:Nnn \small { -5 }
+ {
+ \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
+ \abovedisplayshortskip \z@ \@plus2\p@
+ \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 4\p@ \@plus2\p@ \@minus2\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+ \itemsep \parsep}
+ \belowdisplayskip \abovedisplayskip
+ }
+\ctex_set_font_size:Nnn \footnotesize { 6 }
+ {
+ \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
+ \abovedisplayshortskip \z@ \@plus\p@
+ \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 3\p@ \@plus\p@ \@minus\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+ \itemsep \parsep}
+ \belowdisplayskip \abovedisplayskip
+ }
+\ctex_set_font_size:Nnn \scriptsize { -6 } { }
+\ctex_set_font_size:Nnn \tiny { 7 } { }
+\ctex_set_font_size:Nnn \large { -4 } { }
+\ctex_set_font_size:Nnn \Large { -3 } { }
+\ctex_set_font_size:Nnn \LARGE { -2 } { }
+\ctex_set_font_size:Nnn \huge { 2 } { }
+\ctex_set_font_size:Nnn \Huge { 1 } { }
+%</c5size>
+%<*cs4size>
+\ctex_set_font_size:Nnn \normalsize { -4 }
+ {
+ \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
+ \belowdisplayskip \abovedisplayskip
+ \let\@listi\@listI
+ }
+\ctex_set_font_size:Nnn \small { 5 }
+ {
+ \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 9\p@ \@plus3\p@ \@minus5\p@
+ \parsep 4.5\p@ \@plus2\p@ \@minus\p@
+ \itemsep \parsep}
+ \belowdisplayskip \abovedisplayskip
+ }
+\ctex_set_font_size:Nnn \footnotesize { -5 }
+ {
+ \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 6\p@ \@plus2\p@ \@minus2\p@
+ \parsep 3\p@ \@plus2\p@ \@minus\p@
+ \itemsep \parsep}
+ \belowdisplayskip \abovedisplayskip
+ }
+\ctex_set_font_size:Nnn \scriptsize { 6 } { }
+\ctex_set_font_size:Nnn \tiny { -6 } { }
+\ctex_set_font_size:Nnn \large { -3 } { }
+\ctex_set_font_size:Nnn \Large { -2 } { }
+\ctex_set_font_size:Nnn \LARGE { 2 } { }
+\ctex_set_font_size:Nnn \huge { -1 } { }
+\ctex_set_font_size:Nnn \Huge { 1 } { }
+%</cs4size>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<ctexsize>\normalsize
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*class|ctex>
+% \end{macrocode}
+%
+% \subsection{更新行距}
+%
+% \cs{l_@@_line_spread_fp} 被设置了才有必要更新行距和 \tn{footnotesep}。
+% \begin{macrocode}
+\fp_compare:nNnF { \l_@@_line_spread_fp } ? { \c_zero_fp }
+ {
+ \exp_args:Nx \linespread { \fp_use:N \l_@@_line_spread_fp }
+% \end{macrocode}
+%
+% \changes{v2.0}{2014/04/23}{调整 \tn{footnotesep} 的大小,以适合行距的变化。}
+%
+% \begin{variable}[int]{\footnotesep}
+% 我们调整了行距,可能导致脚注的间距与行距不协调,需要调整 \tn{footnotesep}。标准
+% 文档类对 \tn{footnotesep} 的设置是,字体大小为 \tn{footnotesize} 时 \tn{strutbox}
+% 的高度(默认值是 |.7\baselineskip|)。我们沿用这个设置方法,只需要更新具体的大小。
+% \begin{macrocode}
+ \group_begin: \footnotesize \exp_args:NNNo \group_end:
+ \dim_set:Nn \footnotesep { \dim_use:N \box_ht:N \strutbox }
+ }
+% \end{macrocode}
+% \end{variable}
+%
+% 激活默认字体大小,更新行距、\tn{parindent} 和 \tn{CJKglue}。
+% \begin{macrocode}
+\normalsize
+% \end{macrocode}
+%
+% \subsection{其它功能}
+%
+% \begin{macro}{\CTeX}
+% \changes{v2.4.12}{2017/12/05}{不依赖 \tn{ifincsname}。}
+% \file{ctex-faq.sty} 中的定义是
+% \begin{verbatim}
+% \DeclareRobustCommand\CTeX{$\mathbb{C}$\kern-.05em\TeX}
+% \end{verbatim}
+% 然而 \tn{mathbb} 未必有定义,这里就不采用它了,只定义最简单的形式。
+% \CTeX{} 可以直接用在 PDF 书签中。
+% \begin{macrocode}
+\NewDocumentCommand \CTeX { }
+ { C \TeX }
+\ctex_at_end_package:nn { hyperref }
+ { \pdfstringdefDisableCommands { \tl_set:Nn \CTeX { CTeX } } }
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.0}{2014/03/28}{\opt{captiondelimiter} 是过时选项。}
+% \begin{macro}{captiondelimiter}
+% 过时选项。
+% \begin{macrocode}
+\keys_define:nn { ctex }
+ {
+ captiondelimiter .code:n =
+ {
+ \msg_warning:nnn { ctex } { deprecated-option }
+ { You~can~load~the~package~`caption'~to~get~its~functionality. }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</class|ctex>
+% \end{macrocode}
+%
+% \subsubsection{列表环境的缩进}
+%
+% \begin{macro}[int]{\verse,\quotation}
+% 只在使用文档类的时候修改诗歌和引用环境的缩进。
+% \begin{macrocode}
+%<*scheme&chinese&(article|book|report)>
+\ctex_patch_cmd:Nnn \verse { -1.5em } { -2 \ccwd }
+\ctex_patch_cmd:Nnn \verse { 1.5em } { 2 \ccwd }
+\ctex_patch_cmd:Nnn \quotation { 1.5em } { 2 \ccwd }
+%</scheme&chinese&(article|book|report)>
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%<*class|ctex>
+% \end{macrocode}
+%
+% \changes{v2.0}{2014/03/09}
+% {解决 \pkg{etoolbox} 与 \pkg{breqn} 关于 \tn{end} 的冲突。}
+% \changes{v2.2}{2015/06/23}{删去 \pkg{etoolbox} 与 \pkg{breqn} 的兼容补丁。}
+%
+% \subsection{载入中文字体}
+%
+% \begin{macro}[int]{\ctex_fontset_error:n}
+% 字库不可用时给出紧急错误信息,停止读取定义文件。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_fontset_error:n #1
+ { \msg_critical:nnn { ctex } { fontset-unavailable } {#1} }
+\msg_new:nnn { ctex } { fontset-unavailable }
+ { CTeX~fontset~`#1'~is~unavailable~in~current~mode. }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_load_fontset:}
+% 如果用户没有指定字体,则探测操作系统,载入相应的字体配置。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_load_fontset:
+ {
+ \tl_if_empty:NTF \g_@@_fontset_tl
+ {
+ \ctex_detected_platform:
+ \ctex_file_input:n { ctex-fontset- \g_@@_fontset_tl .def }
+ }
+ {
+ \file_if_exist:nTF { ctex-fontset- \g_@@_fontset_tl .def }
+ { \ctex_file_input:n { ctex-fontset- \g_@@_fontset_tl .def } }
+ {
+ \use:x
+ {
+ \ctex_detected_platform:
+ \msg_error:nnxx { ctex } { fontset-not-found }
+ { \g_@@_fontset_tl } { \exp_not:N \g_@@_fontset_tl }
+ }
+ \ctex_file_input:n { ctex-fontset- \g_@@_fontset_tl .def }
+ }
+ }
+ }
+\@onlypreamble \ctex_load_fontset:
+\msg_new:nnnn { ctex } { fontset-not-found }
+ {
+ CTeX~fontset~`#1'~could~not~be~found.\\
+ Fontset~`#2'~will~be~used~instead.
+ }
+ { You~may~run~`mktexlsr'~firstly. }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{fontset}
+% 在导言区通过 \tn{ctexset} 载入中文字库的选项。
+% \begin{macrocode}
+\keys_define:nn { ctex }
+ {
+ fontset .code:n =
+ {
+ \ctex_if_preamble:TF
+ {
+ \str_if_eq:eeTF {#1} { none }
+ { \msg_warning:nnn { ctex } { invalid-value } {#1} }
+ {
+ \str_if_eq:onTF { \g_@@_fontset_tl } { none }
+ {
+ \tl_gset:Nx \g_@@_fontset_tl {#1}
+ \ctex_load_fontset:
+ }
+ {
+ \msg_error:nnxx { ctex } { fontset-loaded }
+ { \g_@@_fontset_tl } {#1}
+ }
+ }
+ }
+ { \msg_error:nn { ctex } { fontset-only-preamble } }
+ }
+ }
+\msg_new:nnnn { ctex } { fontset-loaded }
+ {
+ CTeX~fontset~`#1'~has~been~loaded.
+ \str_if_eq:nnF {#1} {#2} { \\ Fontset~`#2'~will~be~ignored. }
+ }
+ { Only~one~fontset~can~be~loaded~in~the~preamble. }
+\msg_new:nnn { ctex } { fontset-only-preamble }
+ {
+ The~ `fontset'~ option~ can~ be~ used~ only~ in~ preamble.
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% 载入中文字库。
+% \begin{macrocode}
+\str_if_eq:onF { \g_@@_fontset_tl } { none }
+ { \ctex_load_fontset: }
+% \end{macrocode}
+%
+% \subsection{宏包配置文件}
+%
+% \subsubsection{\pkg{ctex.cfg}}
+%
+% \begin{macrocode}
+\ctex_at_end:n { \ctex_file_input:n { ctex.cfg } }
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</class|ctex>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*config>
+%%
+%</config>
+% \end{macrocode}
+%
+% \subsubsection{\pkg{ctexopts.cfg}}
+%
+% 这里仅为配置文件示例:使用 Windows Vista 或以后版本的字体设置。
+% \begin{macrocode}
+%<*ctexopts>
+%%
+%% \keys_set:nn { ctex / option } { fontset = windowsnew }
+%</ctexopts>
+% \end{macrocode}
+%
+% \subsection{字体定义文件}
+%
+% \subsubsection{传统定义方式}
+%
+% \changes{v2.4.15}{2019/04/05}{将 \texttt{JY2} 和 \texttt{JT2} 编码的字体定义提取到单独的文件中。}
+%
+% \begin{macrocode}
+%<*c19|c70>
+%%
+%% Chinese characters
+%%
+%<c19>%% character set: GBK (extension of GB 2312)
+%<c70>%% character set: Unicode
+%% font encoding: Unicode
+%%
+%</c19|c70>
+% \end{macrocode}
+%
+% \pkg{CJK} 宏包使用的字体族。
+% \begin{macrocode}
+%<rm&c19>\DeclareFontFamily{C19}{rm}{\hyphenchar\font\m@ne}
+%<rm&c70>\DeclareFontFamily{C70}{rm}{\hyphenchar\font\m@ne}
+%<sf&c19>\DeclareFontFamily{C19}{sf}{\hyphenchar\font\m@ne}
+%<sf&c70>\DeclareFontFamily{C70}{sf}{\hyphenchar\font\m@ne}
+%<tt&c19>\DeclareFontFamily{C19}{tt}{\hyphenchar\font\m@ne}
+%<tt&c70>\DeclareFontFamily{C70}{tt}{\hyphenchar\font\m@ne}
+% \end{macrocode}
+%
+% \changes{v2.4}{2016/04/25}{提供 \upLaTeX{} 的 NFSS 字体定义。}
+% \upLaTeX{} 使用的字体族。\upLaTeX 在 NFSS 下使用字体编码 |JY2| 和 |JT2| 来分别
+% 表示横排与直排的日文。
+% \begin{macrocode}
+%<rm&jy2>\DeclareKanjiFamily{JY2}{zhrm}{}
+%<rm&jt2>\DeclareKanjiFamily{JT2}{zhrm}{}
+%<sf&jy2>\DeclareKanjiFamily{JY2}{zhsf}{}
+%<sf&jt2>\DeclareKanjiFamily{JT2}{zhsf}{}
+%<tt&jy2>\DeclareKanjiFamily{JY2}{zhtt}{}
+%<tt&jt2>\DeclareKanjiFamily{JT2}{zhtt}{}
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+%<*rm>
+%<*c19>
+\DeclareFontShape{C19}{rm}{m}{n}{<-> CJK * gbksong}{\CJKnormal}
+\DeclareFontShape{C19}{rm}{b}{n}{<-> CJK * gbkhei}{\CJKnormal}
+\DeclareFontShape{C19}{rm}{bx}{n}{<-> CJK * gbkhei}{\CJKnormal}
+\DeclareFontShape{C19}{rm}{m}{sl}{<-> CJK * gbksongsl}{\CJKnormal}
+\DeclareFontShape{C19}{rm}{b}{sl}{<-> CJK * gbkheisl}{\CJKnormal}
+\DeclareFontShape{C19}{rm}{bx}{sl}{<-> CJK * gbkheisl}{\CJKnormal}
+\DeclareFontShape{C19}{rm}{m}{it}{<-> CJK * gbkkai}{\CJKnormal}
+\DeclareFontShape{C19}{rm}{b}{it}{<-> CJKb * gbkkai}{\CJKbold}
+\DeclareFontShape{C19}{rm}{bx}{it}{<-> CJKb * gbkkai}{\CJKbold}
+%</c19>
+%<*c70>
+\DeclareFontShape{C70}{rm}{m}{n}{<-> CJK * unisong}{\CJKnormal}
+\DeclareFontShape{C70}{rm}{b}{n}{<-> CJK * unihei}{\CJKnormal}
+\DeclareFontShape{C70}{rm}{bx}{n}{<-> CJK * unihei}{\CJKnormal}
+\DeclareFontShape{C70}{rm}{m}{sl}{<-> CJK * unisongsl}{\CJKnormal}
+\DeclareFontShape{C70}{rm}{b}{sl}{<-> CJK * uniheisl}{\CJKnormal}
+\DeclareFontShape{C70}{rm}{bx}{sl}{<-> CJK * uniheisl}{\CJKnormal}
+\DeclareFontShape{C70}{rm}{m}{it}{<-> CJK * unikai}{\CJKnormal}
+\DeclareFontShape{C70}{rm}{b}{it}{<-> CJKb * unikai}{\CJKbold}
+\DeclareFontShape{C70}{rm}{bx}{it}{<-> CJKb * unikai}{\CJKbold}
+%</c70>
+%<*jy2>
+\DeclareFontShape{JY2}{zhrm}{m}{n}{<-> upzhserif-h}{}
+\DeclareFontShape{JY2}{zhrm}{m}{it}{<-> upzhserifit-h}{}
+\DeclareFontShape{JY2}{zhrm}{bx}{n}{<-> upzhserifb-h}{}
+%</jy2>
+%<*jt2>
+\DeclareFontShape{JT2}{zhrm}{m}{n}{<-> upzhserif-v}{}
+\DeclareFontShape{JT2}{zhrm}{m}{it}{<-> upzhserifit-v}{}
+\DeclareFontShape{JT2}{zhrm}{bx}{n}{<-> upzhserifb-v}{}
+%</jt2>
+%</rm>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*sf>
+%<*c19>
+\DeclareFontShape{C19}{sf}{m}{n}{<-> CJK * gbkyou}{\CJKnormal}
+\DeclareFontShape{C19}{sf}{b}{n}{<-> CJKb * gbkyou}{\CJKbold}
+\DeclareFontShape{C19}{sf}{bx}{n}{<-> CJKb * gbkyou}{\CJKbold}
+\DeclareFontShape{C19}{sf}{m}{sl}{<-> CJK * gbkyousl}{\CJKnormal}
+\DeclareFontShape{C19}{sf}{b}{sl}{<-> CJKb * gbkyousl}{\CJKbold}
+\DeclareFontShape{C19}{sf}{bx}{sl}{<-> CJKb * gbkyousl}{\CJKbold}
+\DeclareFontShape{C19}{sf}{m}{it}{<-> CJK * gbkyou}{\CJKnormal}
+\DeclareFontShape{C19}{sf}{b}{it}{<-> CJKb * gbkyou}{\CJKbold}
+\DeclareFontShape{C19}{sf}{bx}{it}{<-> CJKb * gbkyou}{\CJKbold}
+%</c19>
+%<*c70>
+\DeclareFontShape{C70}{sf}{m}{n}{<-> CJK * uniyou}{\CJKnormal}
+\DeclareFontShape{C70}{sf}{b}{n}{<-> CJKb * uniyou}{\CJKbold}
+\DeclareFontShape{C70}{sf}{bx}{n}{<-> CJKb * uniyou}{\CJKbold}
+\DeclareFontShape{C70}{sf}{m}{sl}{<-> CJK * uniyousl}{\CJKnormal}
+\DeclareFontShape{C70}{sf}{b}{sl}{<-> CJKb * uniyousl}{\CJKbold}
+\DeclareFontShape{C70}{sf}{bx}{sl}{<-> CJKb * uniyousl}{\CJKbold}
+\DeclareFontShape{C70}{sf}{m}{it}{<-> CJK * uniyou}{\CJKnormal}
+\DeclareFontShape{C70}{sf}{b}{it}{<-> CJKb * uniyou}{\CJKbold}
+\DeclareFontShape{C70}{sf}{bx}{it}{<-> CJKb * uniyou}{\CJKbold}
+%</c70>
+%<*jy2>
+\DeclareFontShape{JY2}{zhsf}{m}{n}{<-> upzhsans-h}{}
+\DeclareFontShape{JY2}{zhsf}{bx}{n}{<-> upzhsansb-h}{}
+%</jy2>
+%<*jt2>
+\DeclareFontShape{JT2}{zhsf}{m}{n}{<-> upzhsans-v}{}
+\DeclareFontShape{JT2}{zhsf}{bx}{n}{<-> upzhsansb-v}{}
+%</jt2>
+%</sf>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*tt>
+%<*c19>
+\DeclareFontShape{C19}{tt}{m}{n}{<-> CJK * gbkfs}{\CJKnormal}
+\DeclareFontShape{C19}{tt}{b}{n}{<-> CJKb * gbkfs}{\CJKbold}
+\DeclareFontShape{C19}{tt}{bx}{n}{<-> CJKb * gbkfs}{\CJKbold}
+\DeclareFontShape{C19}{tt}{m}{sl}{<-> CJK * gbkfssl}{\CJKnormal}
+\DeclareFontShape{C19}{tt}{b}{sl}{<-> CJKb * gbkfssl}{\CJKbold}
+\DeclareFontShape{C19}{tt}{bx}{sl}{<-> CJKb * gbkfssl}{\CJKbold}
+\DeclareFontShape{C19}{tt}{m}{it}{<-> CJK * gbkfs}{\CJKnormal}
+\DeclareFontShape{C19}{tt}{b}{it}{<-> CJKb * gbkfs}{\CJKbold}
+\DeclareFontShape{C19}{tt}{bx}{it}{<-> CJKb * gbkfs}{\CJKbold}
+%</c19>
+%<*c70>
+\DeclareFontShape{C70}{tt}{m}{n}{<-> CJK * unifs}{\CJKnormal}
+\DeclareFontShape{C70}{tt}{b}{n}{<-> CJKb * unifs}{\CJKbold}
+\DeclareFontShape{C70}{tt}{bx}{n}{<-> CJKb * unifs}{\CJKbold}
+\DeclareFontShape{C70}{tt}{m}{sl}{<-> CJK * unifssl}{\CJKnormal}
+\DeclareFontShape{C70}{tt}{b}{sl}{<-> CJKb * unifssl}{\CJKbold}
+\DeclareFontShape{C70}{tt}{bx}{sl}{<-> CJKb * unifssl}{\CJKbold}
+\DeclareFontShape{C70}{tt}{m}{it}{<-> CJK * unifs}{\CJKnormal}
+\DeclareFontShape{C70}{tt}{b}{it}{<-> CJKb * unifs}{\CJKbold}
+\DeclareFontShape{C70}{tt}{bx}{it}{<-> CJKb * unifs}{\CJKbold}
+%</c70>
+%<*jy2>
+\DeclareFontShape{JY2}{zhtt}{m}{n}{<-> upzhmono-h}{}
+%</jy2>
+%<*jt2>
+\DeclareFontShape{JT2}{zhtt}{m}{n}{<-> upzhmono-v}{}
+%</jt2>
+%</tt>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*fontset>
+% \end{macrocode}
+%
+% \subsubsection{\pkg{ctex-fontset-windows.def} 等}
+%
+% \changes{v2.4.1}{2016/05/14}{使用 \file{bootfont.bin} 判断 Windows XP 以避免
+% 权限问题。}
+% \pkg{ctex} 包利用 |C:\bootfont.bin| 文件的存在性来判断是否使用 Windows XP 版
+% 本,分别载入新旧字体设置。(注:\pkg{ctex} 包不支持 Windows 2000 以前使用
+% \file{simsun.ttf} 的旧宋体文件名。)
+% \begin{macrocode}
+%<*windows>
+\file_if_exist:nTF { C:/bootfont.bin }
+ { \ctex_file_input:n { ctex-fontset-windowsold.def } }
+ { \ctex_file_input:n { ctex-fontset-windowsnew.def } }
+%</windows>
+% \end{macrocode}
+%
+% 旧的 Windows 字体设置使用黑体作为无衬线体,楷体和仿宋是 GB2312 编码;新的
+% Windows 字体设置使用微软雅黑作为无衬线体,楷体和仿宋是大字库。
+% Windows 8 以后,微软雅黑由原来的 \file{.ttf} 后缀改为 \file{.ttc} 后缀,需要
+% 加以区分。
+% \begin{macrocode}
+%<*windowsnew>
+\tl_new:N \l_@@_msyh_suffix_tl
+\tl_set:Nn \l_@@_msyh_suffix_tl { .ttc }
+\file_if_exist:nF { C:/Windows/Fonts/msyh.ttc }
+ {
+ \file_if_exist:nF { msyh.ttc }
+ { \tl_set:Nn \l_@@_msyh_suffix_tl { .ttf } }
+ }
+%</windowsnew>
+%<*windowsnew|windowsold>
+\sys_if_engine_pdftex:TF
+ {
+ \ctex_zhmap_case:nnn
+ {
+ \ctex_punct_set:n { windows }
+ \setCJKmainfont
+ [ BoldFont = simhei.ttf , ItalicFont = simkai.ttf ] { simsun.ttc }
+%<*windowsold>
+ \setCJKsansfont { simhei.ttf }
+ \ctex_punct_map_family:nn { \CJKsfdefault } { zhhei }
+%</windowsold>
+%<*windowsnew>
+ \setCJKsansfont
+ [ BoldFont = msyhbd\l_@@_msyh_suffix_tl ] { msyh\l_@@_msyh_suffix_tl }
+ \setCJKfamilyfont { zhyahei }
+ [ BoldFont = msyhbd\l_@@_msyh_suffix_tl ] { msyh\l_@@_msyh_suffix_tl }
+ \ctex_punct_map_family:nn { \CJKsfdefault } { zhyahei }
+ \ctex_punct_map_bfseries:nn { \CJKsfdefault , zhyahei } { zhyaheib }
+%</windowsnew>
+ \setCJKmonofont { simfang.ttf }
+ \setCJKfamilyfont { zhkai } { simkai.ttf }
+ \setCJKfamilyfont { zhfs } { simfang.ttf }
+ \setCJKfamilyfont { zhsong } { simsun.ttc }
+ \setCJKfamilyfont { zhhei } { simhei.ttf }
+ \setCJKfamilyfont { zhli } { simli.ttf }
+ \setCJKfamilyfont { zhyou } { simyou.ttf }
+ \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong }
+ \ctex_punct_map_family:nn { \CJKttdefault } { zhfs }
+ \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai }
+ \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei }
+ }
+ {
+ \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhwindowsfonts }
+ \ctex_punct_set:n { windows }
+ \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong }
+ \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei }
+ \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai }
+ }
+ {
+ \tl_set:Nn \CJKrmdefault { rm }
+ \tl_set:Nn \CJKsfdefault { sf }
+ \tl_set:Nn \CJKttdefault { tt }
+ }
+ }
+ {
+ \sys_if_engine_uptex:TF
+ {
+ \ctex_set_upfonts:nnnnnn
+ {simsun.ttc} {simhei.ttf} {simkai.ttf}
+%<windowsnew> {msyh\l_@@_msyh_suffix_tl} {msyhbd\l_@@_msyh_suffix_tl}
+%<windowsold> {simhei.ttf} {simhei.ttf}
+ {simfang.ttf}
+ \ctex_set_upfamily:nnn { zhsong } { upzhserif } {}
+ \ctex_set_upfamily:nnn { zhhei } { upzhserifb } {}
+ \ctex_set_upfamily:nnn { zhfs } { upzhmono} {}
+ \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {}
+%<windowsnew> \ctex_set_upfamily:nnn { zhyahei } { upzhsans } { upzhsansb }
+ \ctex_set_upfamily:nnn { zhli } { upschrm } {}
+ \ctex_set_upmap:nnn { upstsl } { simli.ttf } {}
+ \ctex_set_upfamily:nnn { zhyou } { upschgt } {}
+ \ctex_set_upmap:nnn { upstht } { simyou.ttf } {}
+ }
+ {
+%<*windowsold>
+ \setCJKmainfont
+ [ BoldFont = SimHei , ItalicFont = KaiTi_GB2312 ] { SimSun }
+ \setCJKsansfont { SimHei }
+ \setCJKmonofont { FangSong_GB2312 }
+ \setCJKfamilyfont { zhkai } { KaiTi_GB2312 }
+ \setCJKfamilyfont { zhfs } { FangSong_GB2312 }
+%</windowsold>
+%<*windowsnew>
+ \setCJKmainfont
+ [ BoldFont = SimHei , ItalicFont = KaiTi ] { SimSun }
+ \setCJKsansfont
+ [ BoldFont = { *~Bold } ] { Microsoft~YaHei }
+ \setCJKmonofont { FangSong }
+ \setCJKfamilyfont { zhkai } { KaiTi }
+ \setCJKfamilyfont { zhfs } { FangSong }
+%</windowsnew>
+ \setCJKfamilyfont { zhsong } { SimSun }
+ \setCJKfamilyfont { zhhei } { SimHei }
+ \setCJKfamilyfont { zhli } { LiSu }
+ \setCJKfamilyfont { zhyou } { YouYuan }
+%<*windowsnew>
+ \setCJKfamilyfont { zhyahei }
+ [ BoldFont = { *~Bold } ] { Microsoft~YaHei }
+%</windowsnew>
+ }
+ }
+%</windowsnew|windowsold>
+% \end{macrocode}
+%
+% \subsubsection{\pkg{ctex-fontset-adobe.def}}
+%
+% \begin{macrocode}
+%<*adobe>
+% \end{macrocode}
+%
+% \tn{pdfmapline} 不支持 OpenType 字体,因而 \opt{adobe} 字体集在 pdf 模式下
+% 就没有定义。\opt{fandol} 的情况类似。
+% \begin{macrocode}
+\sys_if_engine_pdftex:TF
+ {
+ \sys_if_output_pdf:TF
+ { \ctex_fontset_error:n { adobe } }
+ {
+ \ctex_zhmap_case:nnn
+ {
+ \setCJKmainfont
+ [
+ cmap = UniGB-UTF16-H ,
+ BoldFont = AdobeHeitiStd-Regular.otf ,
+ ItalicFont = AdobeKaitiStd-Regular.otf
+ ] { AdobeSongStd-Light.otf }
+ \setCJKsansfont [ cmap = UniGB-UTF16-H ] { AdobeHeitiStd-Regular.otf }
+ \setCJKmonofont [ cmap = UniGB-UTF16-H ] { AdobeFangsongStd-Regular.otf }
+ \setCJKfamilyfont { zhsong }
+ [ cmap = UniGB-UTF16-H ] { AdobeSongStd-Light.otf }
+ \setCJKfamilyfont { zhhei }
+ [ cmap = UniGB-UTF16-H ] { AdobeHeitiStd-Regular.otf }
+ \setCJKfamilyfont { zhkai }
+ [ cmap = UniGB-UTF16-H ] { AdobeKaitiStd-Regular.otf }
+ \setCJKfamilyfont { zhfs }
+ [ cmap = UniGB-UTF16-H ] { AdobeFangsongStd-Regular.otf }
+ \ctex_punct_set:n { adobe }
+ \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong }
+ \ctex_punct_map_family:nn { \CJKsfdefault } { zhhei }
+ \ctex_punct_map_family:nn { \CJKttdefault } { zhfs }
+ \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai }
+ \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei }
+ }
+ {
+ \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhadobefonts }
+ \ctex_punct_set:n { adobe }
+ \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong }
+ \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei }
+ \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai }
+ }
+ { \ctex_fontset_error:n { adobe } }
+ }
+ }
+ {
+ \sys_if_engine_uptex:TF
+ {
+ \ctex_set_upfonts:nnnnnn
+ {AdobeSongStd-Light.otf} {AdobeHeitiStd-Regular.otf} {AdobeKaitiStd-Regular.otf}
+ {AdobeHeitiStd-Regular.otf} {AdobeHeitiStd-Regular.otf}
+ {AdobeFangsongStd-Regular.otf}
+ \ctex_set_upfamily:nnn { zhsong } { upzhserif } {}
+ \ctex_set_upfamily:nnn { zhhei } { upzhsans } {}
+ \ctex_set_upfamily:nnn { zhfs } { upzhmono} {}
+ \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {}
+ }
+ {
+ \setCJKmainfont
+ [
+ BoldFont = AdobeHeitiStd-Regular ,
+ ItalicFont = AdobeKaitiStd-Regular
+ ] { AdobeSongStd-Light }
+ \setCJKsansfont { AdobeHeitiStd-Regular}
+ \setCJKmonofont { AdobeFangsongStd-Regular}
+ \setCJKfamilyfont { zhsong } { AdobeSongStd-Light }
+ \setCJKfamilyfont { zhhei } { AdobeHeitiStd-Regular }
+ \setCJKfamilyfont { zhfs } { AdobeFangsongStd-Regular }
+ \setCJKfamilyfont { zhkai } { AdobeKaitiStd-Regular }
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</adobe>
+%<*fandol>
+% \end{macrocode}
+%
+% \subsubsection{\pkg{ctex-fontset-fandol.def}}
+%
+% \begin{macrocode}
+\sys_if_engine_pdftex:TF
+ {
+ \sys_if_output_pdf:TF
+ { \ctex_fontset_error:n { fandol } }
+ {
+ \ctex_zhmap_case:nnn
+ {
+ \setCJKmainfont
+ [
+ cmap = UniGB-UTF16-H ,
+ BoldFont = FandolSong-Bold.otf ,
+ ItalicFont = FandolKai-Regular.otf
+ ] { FandolSong-Regular.otf }
+ \setCJKsansfont
+ [
+ cmap = UniGB-UTF16-H ,
+ BoldFont = FandolHei-Bold.otf
+ ] { FandolHei-Regular.otf }
+ \setCJKmonofont [ cmap = UniGB-UTF16-H ] { FandolFang-Regular.otf }
+ \setCJKfamilyfont { zhsong }
+ [
+ cmap = UniGB-UTF16-H ,
+ BoldFont = FandolSong-Bold.otf
+ ] { FandolSong-Regular.otf }
+ \setCJKfamilyfont { zhhei }
+ [
+ cmap = UniGB-UTF16-H ,
+ BoldFont = FandolHei-Bold.otf
+ ] { FandolHei-Regular.otf }
+ \setCJKfamilyfont { zhfs }
+ [ cmap = UniGB-UTF16-H ] { FandolFang-Regular.otf }
+ \setCJKfamilyfont { zhkai }
+ [ cmap = UniGB-UTF16-H ] { FandolKai-Regular.otf }
+ \ctex_punct_set:n { fandol }
+ \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong }
+ \ctex_punct_map_family:nn { \CJKsfdefault } { zhhei }
+ \ctex_punct_map_family:nn { \CJKttdefault } { zhfs }
+ \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai }
+ \ctex_punct_map_bfseries:nn { \CJKrmdefault , zhsong } { zhsongb }
+ \ctex_punct_map_bfseries:nn { \CJKsfdefault , zhhei } { zhheib }
+ }
+ {
+ \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhfandolfonts }
+ \ctex_punct_set:n { fandol }
+ \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong }
+ \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei }
+ \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai }
+ }
+ { \ctex_fontset_error:n { fandol } }
+ }
+ }
+ {
+ \sys_if_engine_uptex:TF
+ {
+ \ctex_set_upfonts:nnnnnn
+ {FandolSong-Regular.otf} {FandolSong-Bold.otf} {FandolKai-Regular.otf}
+ {FandolHei-Regular.otf} {FandolHei-Bold.otf}
+ {FandolFang-Regular.otf}
+ \ctex_set_upfamily:nnn { zhsong } { upzhserif } { upzhserifb }
+ \ctex_set_upfamily:nnn { zhhei } { upzhsans } { upzhsansb }
+ \ctex_set_upfamily:nnn { zhfs } { upzhmono} {}
+ \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {}
+ }
+ {
+ \setCJKmainfont
+ [
+ Extension = .otf ,
+ BoldFont = FandolSong-Bold , ItalicFont = FandolKai-Regular
+ ]
+ { FandolSong-Regular }
+ \setCJKsansfont
+ [ Extension = .otf , BoldFont = FandolHei-Bold ] { FandolHei-Regular }
+ \setCJKmonofont [ Extension = .otf ] { FandolFang-Regular }
+ \setCJKfamilyfont { zhsong }
+ [ Extension = .otf , BoldFont = FandolSong-Bold ] { FandolSong-Regular }
+ \setCJKfamilyfont { zhhei }
+ [ Extension = .otf , BoldFont = FandolHei-Bold ] { FandolHei-Regular }
+ \setCJKfamilyfont { zhfs } [ Extension = .otf ] { FandolFang-Regular }
+ \setCJKfamilyfont { zhkai } [ Extension = .otf ] { FandolKai-Regular }
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</fandol>
+% \end{macrocode}
+%
+% \subsubsection{\pkg{ctex-fontset-mac.def} 等}
+% \changes{v2.4.14}{2018/05/01}{区分 \texttt{macold} 及 \texttt{macnew}。}
+%
+% 按 \href{https://github.com/CTeX-org/ctex-kit/issues/351}{Issue 351}
+% 的讨论,以 El Capitan 为分界,分别设置 |macold|(El Capitan 之前)
+% 和 |macnew|(El Capitan 及之后)。检测方式则以 El Capitan 及之后
+% 的苹方字体为准。
+%
+% \begin{macrocode}
+%<*mac>
+\file_if_exist:nTF { /System/Library/Fonts/PingFang.ttc }
+ { \ctex_file_input:n { ctex-fontset-macnew.def } }
+ { \ctex_file_input:n { ctex-fontset-macold.def } }
+%</mac>
+% \end{macrocode}
+%
+% |macold| 的设置参考了 ^^A
+% \href{https://github.com/CTeX-org/ctex-kit/wiki/OS-X-Mavericks-(10.9)-\%E9\%A2\%84\%E8\%A3\%85\%E7\%9A\%84\%E4\%B8\%BB\%E8\%A6\%81\%E7\%AE\%80\%E4\%BD\%93\%E4\%B8\%AD\%E6\%96\%87\%E5\%AD\%97\%E4\%BD\%93}^^A
+% {OS X Mavericks (10.9) 预装的主要简体中文字体列表}。
+%
+% 在 \dvipdfmx{} 下,可以通过下述方式使用华文宋体和华文楷体:
+% \begin{verbatim}
+% \special{pdf:mapline unisong@Unicode@ unicode :4:Songti.ttc}
+% \special{pdf:mapline unikai@Unicode@ unicode :4:Kaiti.ttc}
+% \end{verbatim}
+% 而 \tn{pdfmapline} 似乎不支持带索引的 \texttt{ttc} 字体,\file{Songti.ttc} 默认
+% 使用的是 Songti SC Black,\file{Kaiti.ttc} 默认使用的是 Kaiti SC Black。
+% 华文黑体不能通过这种方式使用:
+% \begin{verbatim}
+% \special{pdf:mapline unihei@Unicode@ unicode \detokenize{华文黑体}.ttf}
+% \end{verbatim}
+% \dvipdfmx{} 不能生成 PDF,报下述错误:
+% \begin{verbatim}
+% ** WARNING ** UCS-4 TrueType cmap table...
+% ** ERROR ** Unable to read OpenType/TrueType Unicode cmap table.
+% \end{verbatim}
+% 如果将 CMap 改为 UniGB-UTF16-H,错误信息是
+% \begin{verbatim}
+% ** WARNING ** No usable TrueType cmap table found for font "华文黑体.ttf".
+% ** WARNING ** CID character collection for this font is set to "Adobe-GB1"
+% ** ERROR ** Cannot continue without this...
+% \end{verbatim}
+% 在 \pdfTeX{} 下生成的 PDF 只有方框^^A
+% \footnote{\url{http://www.newsmth.net/bbscon.php?bid=460&id=312640}}。
+% 华文细黑和华文仿宋的情况类似。
+% 这确认为 \dvipdfmx{} 的 bug^^A
+% \begingroup\makeatletter\@makeother\#\@firstofone{\endgroup
+% \footnote{\url{https://github.com/clerkma/ptex-ng/blob/master/texk/libdpx/cidtype2.c#L597}}}。
+%
+% \changes{v2.4.14}{2018/05/01}{配置 \texttt{macnew} 的默认字体设置。}
+%
+% |macnew| 在默认字体设置方面,引入了多字重的宋体作为罗马字族,
+% 以及引入了苹方黑体作为无衬线字族。
+%
+% 由于 Songti SC Light 的字重与 STSong 及 Windows 上的 SimSun 更接近,故默认字重
+% 使用 Songti SC Light,而不带后缀的正常字重事实上没有使用。下方关于 |zhsong| 的字族
+% 设置也有同样的情况。
+%
+% \begin{macrocode}
+%<*macold|macnew>
+\sys_if_engine_pdftex:TF
+ { \ctex_fontset_error:n { mac } }
+ {
+ \sys_if_engine_uptex:TF
+ { \ctex_fontset_error:n { mac } }
+ {
+%<*macold>
+ \setCJKmainfont [ BoldFont = STHeiti , ItalicFont = STKaiti ] { STSong }
+ \setCJKsansfont [ BoldFont = STHeiti ] { STXihei }
+%</macold>
+%<*macnew>
+ \setCJKmainfont
+ [
+ UprightFont = *~Light ,
+ BoldFont = *~Bold ,
+ ItalicFont = Kaiti~SC ,
+ BoldItalicFont = Kaiti~SC~Bold
+ ] { Songti~SC }
+ \setCJKsansfont { PingFang~SC }
+%</macnew>
+ \setCJKmonofont { STFangsong }
+%<*macold>
+ \setCJKfamilyfont { zhsong } { STSong }
+ \setCJKfamilyfont { zhhei } { STHeiti }
+%</macold>
+%<*macnew>
+ \setCJKfamilyfont { zhsong }
+ [
+ UprightFont = *~Light ,
+ BoldFont = *~Bold ,
+ ] { Songti~SC }
+ \setCJKfamilyfont { zhhei } { Heiti~SC }
+ \setCJKfamilyfont { zhpf } { PingFang~SC }
+%</macnew>
+ \setCJKfamilyfont { zhfs } { STFangsong }
+%<macold>\setCJKfamilyfont { zhkai } { STKaiti }
+%<macnew>\setCJKfamilyfont { zhkai } { Kaiti~SC }
+ }
+ }
+%</macold|macnew>
+% \end{macrocode}
+%
+% \subsubsection{\pkg{ctex-fontset-founder.def}}
+%
+% \begin{macrocode}
+%<*founder>
+% \end{macrocode}
+%
+% \changes{v2.4.15}{2019/03/28}{统一“方正细黑一\_GBK”的名称为 \texttt{FZXiHeiI-Z08}。}
+%
+% \begin{macrocode}
+\sys_if_engine_pdftex:TF
+ {
+ \ctex_zhmap_case:nnn
+ {
+ \setCJKmainfont
+ [ BoldFont = FZXBSK.TTF , ItalicFont = FZKTK.TTF ] { FZSSK.TTF }
+ \setCJKsansfont [ BoldFont = FZHTK.TTF ] { FZXH1K.TTF }
+ \setCJKmonofont { FZFSK.TTF }
+ \setCJKfamilyfont { zhsong } [ BoldFont = FZXBSK.TTF ] { FZSSK.TTF }
+ \setCJKfamilyfont { zhhei } { FZHTK.TTF }
+ \setCJKfamilyfont { zhkai } { FZKTK.TTF }
+ \setCJKfamilyfont { zhfs } { FZFSK.TTF }
+ \setCJKfamilyfont { zhli } { FZLSK.TTF }
+ \setCJKfamilyfont { zhyou } [ BoldFont = FZY3K.TTF ] { FZY1K.TTF }
+ \ctex_punct_set:n { founder }
+ \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong }
+ \ctex_punct_map_family:nn { \CJKsfdefault } { zhheil }
+ \ctex_punct_map_family:nn { \CJKttdefault } { zhfs }
+ \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai }
+ \ctex_punct_map_bfseries:nn { \CJKrmdefault , zhsong } { zhsongb }
+ \ctex_punct_map_bfseries:nn { \CJKsfdefault } { zhhei }
+ \ctex_punct_map_bfseries:nn { zhyou } { zhyoub }
+ }
+ {
+ \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhfounderfonts }
+ \ctex_punct_set:n { founder }
+ \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong }
+ \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei }
+ \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai }
+ }
+ { \ctex_fontset_error:n { founder } }
+ }
+ {
+ \sys_if_engine_uptex:TF
+ {
+ \ctex_set_upfonts:nnnnnn
+ { FZSSK.TTF } { FZXBSK.TTF } { FZKTK.TTF }
+ { FZXH1K.TTF } { FZHTK.TTF }
+ { FZFSK.TTF }
+ \ctex_set_upfamily:nnn { zhsong } { upzhserif } { upzhserifb }
+ \ctex_set_upfamily:nnn { zhhei } { upzhsans } { upzhsansb }
+ \ctex_set_upfamily:nnn { zhfs } { upzhmono} {}
+ \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {}
+ \ctex_set_upfamily:nnn { zhli } { upschrm } {}
+ \ctex_set_upmap:nnn { upstsl } { FZLSK.TTF } {}
+ \ctex_set_upfamily:nnn { zhyou } { upschgt } {}
+ \ctex_set_upmap:nnn { upstht } { FZY1K.TTF } {}
+ }
+ {
+ \setCJKmainfont
+ [ BoldFont = FZXiaoBiaoSong-B05 , ItalicFont = FZKai-Z03 ] { FZShuSong-Z01 }
+ \setCJKsansfont [ BoldFont = FZHei-B01 ] { FZXiHeiI-Z08 }
+ \setCJKmonofont { FZFangSong-Z02 }
+ \setCJKfamilyfont { zhsong } [ BoldFont = FZXiaoBiaoSong-B05 ] { FZShuSong-Z01 }
+ \setCJKfamilyfont { zhhei } { FZHei-B01 }
+ \setCJKfamilyfont { zhkai } { FZKai-Z03 }
+ \setCJKfamilyfont { zhfs } { FZFangSong-Z02 }
+ \setCJKfamilyfont { zhli } { FZLiShu-S01 }
+ \setCJKfamilyfont { zhyou } [ BoldFont = FZZhunYuan-M02 ] { FZXiYuan-M01 }
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</founder>
+%<*ubuntu>
+% \end{macrocode}
+%
+% \subsubsection{\pkg{ctex-fontset-ubuntu.def}}
+%
+% 以下根据 Ubuntu 12.04 的中文字体情况设置。CMap 不清楚应该是什么,指定为
+% UniGB-UTF16-H 还是有警告:
+% \begin{verbatim}
+% ** WARNING ** UCS-4 TrueType cmap table...
+% \end{verbatim}
+% 需要注意的是 \file{uming.ttc} 和 \file{ukai.ttc} 看起来像有四种字形的样子,但
+% 其实只有“令”和“骨”这区区两个字有新字形,其余都取旧字形^^A
+% \footnote{\url{http://www.freedesktop.org/wiki/Software/CJKUnifonts/Download/}}。
+% \begin{macrocode}
+\sys_if_engine_pdftex:TF
+ {
+ \ctex_zhmap_case:nnn
+ {
+ \setCJKmainfont
+ [ BoldFont = wqy-zenhei.ttc , ItalicFont = ukai.ttc ] { uming.ttc }
+ \setCJKsansfont { wqy-zenhei.ttc }
+ \setCJKmonofont { uming.ttc }
+ \setCJKfamilyfont { zhsong } { uming.ttc }
+ \setCJKfamilyfont { zhhei } { wqy-zenhei.ttc }
+ \setCJKfamilyfont { zhkai } { ukai.ttc }
+ \ctex_punct_set:n { ubuntu }
+ \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong }
+ \ctex_punct_map_family:nn { \CJKsfdefault } { zhhei }
+ \ctex_punct_map_family:nn { \CJKttdefault } { zhsong }
+ \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai }
+ \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei }
+ }
+ {
+ \ctex_load_zhmap:nnnn { rm } { zhhei } { zhsong } { zhubuntufonts }
+ \ctex_punct_set:n { ubuntu }
+ \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong }
+ \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei }
+ \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai }
+ }
+ { \ctex_fontset_error:n { ubuntu } }
+ }
+ {
+ \sys_if_engine_uptex:TF
+ {
+ \ctex_set_upfonts:nnnnnn
+ { uming.ttc } { wqy-zenhei.ttc } { ukai.ttc }
+ { wqy-zenhei.ttc } { wqy-zenhei.ttc }
+ { uming.ttc }
+ \ctex_set_upfamily:nnn { zhsong } { upzhserif } {}
+ \ctex_set_upfamily:nnn { zhhei } { upzhsans } {}
+ \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {}
+ }
+ {
+ \setCJKmainfont
+ [ BoldFont = WenQuanYi~Zen~Hei , ItalicFont = AR~PL~UKai~CN ] { AR~PL~UMing~CN }
+ \setCJKsansfont { WenQuanYi~Zen~Hei }
+ \setCJKmonofont { AR~PL~UMing~CN }
+ \setCJKfamilyfont { zhsong } { AR~PL~UMing~CN }
+ \setCJKfamilyfont { zhhei } { WenQuanYi~Zen~Hei }
+ \setCJKfamilyfont { zhkai } { AR~PL~UKai~CN }
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</ubuntu>
+% \end{macrocode}
+%
+% \subsubsection{中文字体命令}
+% \changes{v2.4.14}{2018/05/01}{为 \texttt{macnew} 配置字体命令。}
+%
+% \begin{macrocode}
+%<*!windows&!mac>
+% \end{macrocode}
+%
+% \begin{macrocode}
+\NewDocumentCommand \songti { } { \CJKfamily { zhsong } }
+\NewDocumentCommand \heiti { } { \CJKfamily { zhhei } }
+%<!ubuntu>\NewDocumentCommand \fangsong { } { \CJKfamily { zhfs } }
+\NewDocumentCommand \kaishu { } { \CJKfamily { zhkai } }
+%<*windowsnew|windowsold|founder>
+\NewDocumentCommand \lishu { } { \CJKfamily { zhli } }
+\NewDocumentCommand \youyuan { } { \CJKfamily { zhyou } }
+%</windowsnew|windowsold|founder>
+%<windowsnew>\NewDocumentCommand \yahei { } { \CJKfamily { zhyahei } }
+%<*macnew>
+\NewDocumentCommand \yahei { } { \CJKfamily { zhpf } }
+\NewDocumentCommand \pingfang { } { \CJKfamily { zhpf } }
+%</macnew>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</!windows&!mac>
+%</fontset>
+%<*zhmap>
+% \end{macrocode}
+%
+% \subsubsection{\pkg{zhmetrics} 的字体映射}
+%
+% 确认 \tn{catcode},没有重复载入检查。
+% \begin{macrocode}
+\begingroup\catcode61\catcode48\catcode32=10\relax%
+ \catcode 35=6 % #
+ \catcode123=1 % {
+ \catcode125=2 % }
+ \toks0{\endlinechar=\the\endlinechar\relax}%
+ \toks2{\endlinechar=13 }%
+ \def\x#1 #2 {%
+ \toks0\expandafter{\the\toks0 \catcode#1=\the\catcode#1\relax}%
+ \toks2\expandafter{\the\toks2 \catcode#1=#2 }}%
+ \x 13 5 % carriage return
+ \x 32 10 % space
+ \x 35 6 % #
+ \x 40 12 % (
+ \x 41 12 % )
+ \x 45 12 % -
+ \x 46 12 % .
+ \x 47 12 % /
+ \x 58 12 % :
+ \x 60 12 % <
+ \x 61 12 % =
+ \x 64 11 % @
+ \x 91 12 % [
+ \x 93 12 % ]
+ \x 123 1 % {
+ \x 125 2 % }
+ \edef\x#1{\endgroup%
+ \edef\noexpand#1{%
+ \the\toks0 %
+ \let\noexpand\noexpand\noexpand#1%
+ \noexpand\noexpand\noexpand\undefined%
+ \noexpand\noexpand\noexpand\endinput}%
+ \the\toks2}%
+\expandafter\x\csname ctex@zhmap@endinput\endcsname
+% \end{macrocode}
+%
+% \begin{macrocode}
+\begingroup\expandafter\endgroup
+\expandafter\let\csname ifzhmappdf\expandafter\endcsname\csname
+ \expandafter\ifx\csname ifctexpdf\endcsname\relax
+ \expandafter\ifx\csname pdfoutput\endcsname\relax
+ iffalse\else\ifnum\pdfoutput < 1 iffalse\else iftrue\fi\fi
+ \else ifctexpdf\fi
+\endcsname
+% \end{macrocode}
+%
+% 提供非 \LaTeX{} 格式下的 \tn{ProvidesFile}。
+% \begin{macrocode}
+\begingroup
+\expandafter\ifx\csname ProvidesFile\endcsname\relax
+ \long\def\x#1\ProvidesFile#2[#3]{%
+ #1%
+ \immediate\write-1{File: #2 #3}%
+ \expandafter\xdef\csname ver@#2\endcsname{#3}}
+ \expandafter\x%
+\fi
+\endgroup
+% \end{macrocode}
+%
+% \paragraph{\pkg{zhwindowsfonts.tex}}
+%
+% \begin{macrocode}
+%<*windows>
+\ProvidesFile{zhwindowsfonts.tex}%
+ [2019/05/29 v2.4.16 Windows font map loader for pdfTeX and DVIPDFMx (CTEX)]
+
+\ifzhmappdf
+ \pdfmapline{=gbk@UGBK@ <simsun.ttc}
+ \pdfmapline{=gbksong@UGBK@ <simsun.ttc}
+ \pdfmapline{=gbkkai@UGBK@ <simkai.ttf}
+ \pdfmapline{=gbkhei@UGBK@ <simhei.ttf}
+ \pdfmapline{=gbkfs@UGBK@ <simfang.ttf}
+ \pdfmapline{=gbkli@UGBK@ <simli.ttf}
+ \pdfmapline{=gbkyou@UGBK@ <simyou.ttf}
+
+ \pdfmapline{=cyberb@Unicode@ <simsun.ttc}
+ \pdfmapline{=unisong@Unicode@ <simsun.ttc}
+ \pdfmapline{=unikai@Unicode@ <simkai.ttf}
+ \pdfmapline{=unihei@Unicode@ <simhei.ttf}
+ \pdfmapline{=unifs@Unicode@ <simfang.ttf}
+ \pdfmapline{=unili@Unicode@ <simli.ttf}
+ \pdfmapline{=uniyou@Unicode@ <simyou.ttf}
+
+ \pdfmapline{=gbksongsl@UGBK@ <simsun.ttc}
+ \pdfmapline{=gbkkaisl@UGBK@ <simkai.ttf}
+ \pdfmapline{=gbkheisl@UGBK@ <simhei.ttf}
+ \pdfmapline{=gbkfssl@UGBK@ <simfang.ttf}
+ \pdfmapline{=gbklisl@UGBK@ <simli.ttf}
+ \pdfmapline{=gbkyousl@UGBK@ <simyou.ttf}
+
+ \pdfmapline{=unisongsl@Unicode@ <simsun.ttc}
+ \pdfmapline{=unikaisl@Unicode@ <simkai.ttf}
+ \pdfmapline{=uniheisl@Unicode@ <simhei.ttf}
+ \pdfmapline{=unifssl@Unicode@ <simfang.ttf}
+ \pdfmapline{=unilisl@Unicode@ <simli.ttf}
+ \pdfmapline{=uniyousl@Unicode@ <simyou.ttf}
+
+\else
+ \special{pdf:mapline gbk@UGBK@ unicode :0:simsun.ttc -v 50}
+ \special{pdf:mapline gbksong@UGBK@ unicode :0:simsun.ttc -v 50}
+ \special{pdf:mapline gbkkai@UGBK@ unicode simkai.ttf -v 70}
+ \special{pdf:mapline gbkhei@UGBK@ unicode simhei.ttf -v 150}
+ \special{pdf:mapline gbkfs@UGBK@ unicode simfang.ttf -v 50}
+ \special{pdf:mapline gbkli@UGBK@ unicode simli.ttf -v 150}
+ \special{pdf:mapline gbkyou@UGBK@ unicode simyou.ttf -v 60}
+
+ \special{pdf:mapline cyberb@Unicode@ unicode :0:simsun.ttc -v 50}
+ \special{pdf:mapline unisong@Unicode@ unicode :0:simsun.ttc -v 50}
+ \special{pdf:mapline unikai@Unicode@ unicode simkai.ttf -v 70}
+ \special{pdf:mapline unihei@Unicode@ unicode simhei.ttf -v 150}
+ \special{pdf:mapline unifs@Unicode@ unicode simfang.ttf -v 50}
+ \special{pdf:mapline unili@Unicode@ unicode simli.ttf -v 150}
+ \special{pdf:mapline uniyou@Unicode@ unicode simyou.ttf -v 60}
+
+ \special{pdf:mapline gbksongsl@UGBK@ unicode :0:simsun.ttc -s .167 -v 50}
+ \special{pdf:mapline gbkkaisl@UGBK@ unicode simkai.ttf -s .167 -v 70}
+ \special{pdf:mapline gbkheisl@UGBK@ unicode simhei.ttf -s .167 -v 150}
+ \special{pdf:mapline gbkfssl@UGBK@ unicode simfang.ttf -s .167 -v 50}
+ \special{pdf:mapline gbklisl@UGBK@ unicode simli.ttf -s .167 -v 150}
+ \special{pdf:mapline gbkyousl@UGBK@ unicode simyou.ttf -s .167 -v 60}
+
+ \special{pdf:mapline unisongsl@Unicode@ unicode :0:simsun.ttc -s .167 -v 50}
+ \special{pdf:mapline unikaisl@Unicode@ unicode simkai.ttf -s .167 -v 70}
+ \special{pdf:mapline uniheisl@Unicode@ unicode simhei.ttf -s .167 -v 150}
+ \special{pdf:mapline unifssl@Unicode@ unicode simfang.ttf -s .167 -v 50}
+ \special{pdf:mapline unilisl@Unicode@ unicode simli.ttf -s .167 -v 150}
+ \special{pdf:mapline uniyousl@Unicode@ unicode simyou.ttf -s .167 -v 60}
+
+%</windows>
+% \end{macrocode}
+%
+% \paragraph{\pkg{zhadobefonts.tex}}
+%
+% \begin{macrocode}
+%<*adobe>
+\ProvidesFile{zhadobefonts.tex}%
+ [2019/05/29 v2.4.16 Adobe font map loader for DVIPDFMx (CTEX)]
+
+\ifzhmappdf
+%% pdfTeX does not support OTF fonts
+
+\else
+ \special{pdf:mapline gbk@UGBK@ UniGB-UTF16-H AdobeSongStd-Light.otf}
+ \special{pdf:mapline gbksong@UGBK@ UniGB-UTF16-H AdobeSongStd-Light.otf}
+ \special{pdf:mapline gbkkai@UGBK@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf}
+ \special{pdf:mapline gbkhei@UGBK@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf}
+ \special{pdf:mapline gbkfs@UGBK@ UniGB-UTF16-H AdobeFangsongStd-Regular.otf}
+
+ \special{pdf:mapline cyberb@Unicode@ UniGB-UTF16-H AdobeSongStd-Light.otf}
+ \special{pdf:mapline unisong@Unicode@ UniGB-UTF16-H AdobeSongStd-Light.otf}
+ \special{pdf:mapline unikai@Unicode@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf}
+ \special{pdf:mapline unihei@Unicode@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf}
+ \special{pdf:mapline unifs@Unicode@ UniGB-UTF16-H AdobeFangsongStd-Regular.otf}
+
+ \special{pdf:mapline gbksongsl@UGBK@ UniGB-UTF16-H AdobeSongStd-Light.otf -s .167}
+ \special{pdf:mapline gbkkaisl@UGBK@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf -s .167}
+ \special{pdf:mapline gbkheisl@UGBK@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf -s .167}
+ \special{pdf:mapline gbkfssl@UGBK@ UniGB-UTF16-H AdobeFangsongStd-Regular.otf -s .167}
+
+ \special{pdf:mapline unisongsl@Unicode@ UniGB-UTF16-H AdobeSongStd-Light.otf -s .167}
+ \special{pdf:mapline unikaisl@Unicode@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf -s .167}
+ \special{pdf:mapline uniheisl@Unicode@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf -s .167}
+ \special{pdf:mapline unifssl@Unicode@ UniGB-UTF16-H AdobeFangsongStd-Regular.otf -s .167}
+
+%</adobe>
+% \end{macrocode}
+%
+% \paragraph{\pkg{zhfandolfonts.tex}}
+%
+% \begin{macrocode}
+%<*fandol>
+\ProvidesFile{zhfandolfonts.tex}%
+ [2019/05/29 v2.4.16 Fandol font map loader for DVIPDFMx (CTEX)]
+
+\ifzhmappdf
+%% pdfTeX does not support OTF fonts
+
+\else
+ \special{pdf:mapline gbk@UGBK@ UniGB-UTF16-H FandolSong-Regular.otf}
+ \special{pdf:mapline gbksong@UGBK@ UniGB-UTF16-H FandolSong-Regular.otf}
+ \special{pdf:mapline gbkkai@UGBK@ UniGB-UTF16-H FandolKai-Regular.otf}
+ \special{pdf:mapline gbkhei@UGBK@ UniGB-UTF16-H FandolHei-Regular.otf}
+ \special{pdf:mapline gbkfs@UGBK@ UniGB-UTF16-H FandolFang-Regular.otf}
+
+ \special{pdf:mapline cyberb@Unicode@ UniGB-UTF16-H FandolSong-Regular.otf}
+ \special{pdf:mapline unisong@Unicode@ UniGB-UTF16-H FandolSong-Regular.otf}
+ \special{pdf:mapline unikai@Unicode@ UniGB-UTF16-H FandolKai-Regular.otf}
+ \special{pdf:mapline unihei@Unicode@ UniGB-UTF16-H FandolHei-Regular.otf}
+ \special{pdf:mapline unifs@Unicode@ UniGB-UTF16-H FandolFang-Regular.otf}
+
+ \special{pdf:mapline gbksongsl@UGBK@ UniGB-UTF16-H FandolSong-Regular.otf -s .167}
+ \special{pdf:mapline gbkkaisl@UGBK@ UniGB-UTF16-H FandolKai-Regular.otf -s .167}
+ \special{pdf:mapline gbkheisl@UGBK@ UniGB-UTF16-H FandolHei-Regular.otf -s .167}
+ \special{pdf:mapline gbkfssl@UGBK@ UniGB-UTF16-H FandolFang-Regular.otf -s .167}
+
+ \special{pdf:mapline unisongsl@Unicode@ UniGB-UTF16-H FandolSong-Regular.otf -s .167}
+ \special{pdf:mapline unikaisl@Unicode@ UniGB-UTF16-H FandolKai-Regular.otf -s .167}
+ \special{pdf:mapline uniheisl@Unicode@ UniGB-UTF16-H FandolHei-Regular.otf -s .167}
+ \special{pdf:mapline unifssl@Unicode@ UniGB-UTF16-H FandolFang-Regular.otf -s .167}
+
+%</fandol>
+% \end{macrocode}
+%
+% \paragraph{\pkg{zhfounderfonts.tex}}
+%
+% \begin{macrocode}
+%<*founder>
+\ProvidesFile{zhfounderfonts.tex}%
+ [2019/05/29 v2.4.16 Founder font map loader for pdfTeX and DVIPDFMx (CTEX)]
+
+\ifzhmappdf
+ \pdfmapline{=gbk@UGBK@ <FZSSK.TTF}
+ \pdfmapline{=gbksong@UGBK@ <FZSSK.TTF}
+ \pdfmapline{=gbkkai@UGBK@ <FZKTK.TTF}
+ \pdfmapline{=gbkhei@UGBK@ <FZHTK.TTF}
+ \pdfmapline{=gbkfs@UGBK@ <FZFSK.TTF}
+ \pdfmapline{=gbkli@UGBK@ <FZLSK.TTF}
+ \pdfmapline{=gbkyou@UGBK@ <FZY1K.TTF}
+
+ \pdfmapline{=cyberb@Unicode@ <FZSSK.TTF}
+ \pdfmapline{=unisong@Unicode@ <FZSSK.TTF}
+ \pdfmapline{=unikai@Unicode@ <FZKTK.TTF}
+ \pdfmapline{=unihei@Unicode@ <FZHTK.TTF}
+ \pdfmapline{=unifs@Unicode@ <FZFSK.TTF}
+ \pdfmapline{=unili@Unicode@ <FZLSK.TTF}
+ \pdfmapline{=uniyou@Unicode@ <FZY1K.TTF}
+
+ \pdfmapline{=gbksongsl@UGBK@ <FZSSK.TTF}
+ \pdfmapline{=gbkkaisl@UGBK@ <FZKTK.TTF}
+ \pdfmapline{=gbkheisl@UGBK@ <FZHTK.TTF}
+ \pdfmapline{=gbkfssl@UGBK@ <FZFSK.TTF}
+ \pdfmapline{=gbklisl@UGBK@ <FZLSK.TTF}
+ \pdfmapline{=gbkyousl@UGBK@ <FZY1K.TTF}
+
+ \pdfmapline{=unisongsl@Unicode@ <FZSSK.TTF}
+ \pdfmapline{=unikaisl@Unicode@ <FZKTK.TTF}
+ \pdfmapline{=uniheisl@Unicode@ <FZHTK.TTF}
+ \pdfmapline{=unifssl@Unicode@ <FZFSK.TTF}
+ \pdfmapline{=unilisl@Unicode@ <FZLSK.TTF}
+ \pdfmapline{=uniyousl@Unicode@ <FZY1K.TTF}
+
+\else
+ \special{pdf:mapline gbk@UGBK@ unicode FZSSK.TTF}
+ \special{pdf:mapline gbksong@UGBK@ unicode FZSSK.TTF}
+ \special{pdf:mapline gbkkai@UGBK@ unicode FZKTK.TTF}
+ \special{pdf:mapline gbkhei@UGBK@ unicode FZHTK.TTF}
+ \special{pdf:mapline gbkfs@UGBK@ unicode FZFSK.TTF}
+ \special{pdf:mapline gbkli@UGBK@ unicode FZLSK.TTF}
+ \special{pdf:mapline gbkyou@UGBK@ unicode FZY1K.TTF}
+
+ \special{pdf:mapline cyberb@Unicode@ unicode FZSSK.TTF}
+ \special{pdf:mapline unisong@Unicode@ unicode FZSSK.TTF}
+ \special{pdf:mapline unikai@Unicode@ unicode FZKTK.TTF}
+ \special{pdf:mapline unihei@Unicode@ unicode FZHTK.TTF}
+ \special{pdf:mapline unifs@Unicode@ unicode FZFSK.TTF}
+ \special{pdf:mapline unili@Unicode@ unicode FZLSK.TTF}
+ \special{pdf:mapline uniyou@Unicode@ unicode FZY1K.TTF}
+
+ \special{pdf:mapline gbksongsl@UGBK@ unicode FZSSK.TTF -s .167}
+ \special{pdf:mapline gbkkaisl@UGBK@ unicode FZKTK.TTF -s .167}
+ \special{pdf:mapline gbkheisl@UGBK@ unicode FZHTK.TTF -s .167}
+ \special{pdf:mapline gbkfssl@UGBK@ unicode FZFSK.TTF -s .167}
+ \special{pdf:mapline gbklisl@UGBK@ unicode FZLSK.TTF -s .167}
+ \special{pdf:mapline gbkyousl@UGBK@ unicode FZY1K.TTF -s .167}
+
+ \special{pdf:mapline unisongsl@Unicode@ unicode FZSSK.TTF -s .167}
+ \special{pdf:mapline unikaisl@Unicode@ unicode FZKTK.TTF -s .167}
+ \special{pdf:mapline uniheisl@Unicode@ unicode FZHTK.TTF -s .167}
+ \special{pdf:mapline unifssl@Unicode@ unicode FZFSK.TTF -s .167}
+ \special{pdf:mapline unilisl@Unicode@ unicode FZLSK.TTF -s .167}
+ \special{pdf:mapline uniyousl@Unicode@ unicode FZY1K.TTF -s .167}
+
+%</founder>
+% \end{macrocode}
+%
+% \paragraph{\pkg{zhubuntufonts.tex}}
+%
+% \begin{macrocode}
+%<*ubuntu>
+\ProvidesFile{zhubuntufonts.tex}%
+ [2019/05/29 v2.4.16 Ubuntu font map loader for pdfTeX and DVIPDFMx (CTEX)]
+
+\ifzhmappdf
+ \pdfmapline{=gbk@UGBK@ <uming.ttc}
+ \pdfmapline{=gbksong@UGBK@ <uming.ttc}
+ \pdfmapline{=gbkkai@UGBK@ <ukai.ttc}
+ \pdfmapline{=gbkhei@UGBK@ <wqy-zenhei.ttc}
+ \pdfmapline{=gbkfs@UGBK@ <uming.ttc}
+ \pdfmapline{=gbkyou@UGBK@ <wqy-zenhei.ttc}
+
+ \pdfmapline{=cyberb@Unicode@ <uming.ttc}
+ \pdfmapline{=unisong@Unicode@ <uming.ttc}
+ \pdfmapline{=unikai@Unicode@ <ukai.ttc}
+ \pdfmapline{=unihei@Unicode@ <wqy-zenhei.ttc}
+ \pdfmapline{=unifs@Unicode@ <uming.ttc}
+ \pdfmapline{=uniyou@Unicode@ <wqy-zenhei.ttc}
+
+ \pdfmapline{=gbksongsl@UGBK@ <uming.ttc}
+ \pdfmapline{=gbkkaisl@UGBK@ <ukai.ttc}
+ \pdfmapline{=gbkheisl@UGBK@ <wqy-zenhei.ttc}
+ \pdfmapline{=gbkfssl@UGBK@ <uming.ttc}
+ \pdfmapline{=gbkyousl@UGBK@ <wqy-zenhei.ttc}
+
+ \pdfmapline{=unisongsl@Unicode@ <uming.ttc}
+ \pdfmapline{=unikaisl@Unicode@ <ukai.ttc}
+ \pdfmapline{=uniheisl@Unicode@ <wqy-zenhei.ttc}
+ \pdfmapline{=unifssl@Unicode@ <uming.ttc}
+ \pdfmapline{=uniyousl@Unicode@ <wqy-zenhei.ttc}
+
+\else
+ \special{pdf:mapline gbk@UGBK@ unicode :0:uming.ttc}
+ \special{pdf:mapline gbksong@UGBK@ unicode :0:uming.ttc}
+ \special{pdf:mapline gbkkai@UGBK@ unicode :0:ukai.ttc}
+ \special{pdf:mapline gbkhei@UGBK@ unicode :0:wqy-zenhei.ttc}
+ \special{pdf:mapline gbkfs@UGBK@ unicode :0:uming.ttc}
+
+ \special{pdf:mapline cyberb@Unicode@ unicode :0:uming.ttc}
+ \special{pdf:mapline unisong@Unicode@ unicode :0:uming.ttc}
+ \special{pdf:mapline unikai@Unicode@ unicode :0:ukai.ttc}
+ \special{pdf:mapline unihei@Unicode@ unicode :0:wqy-zenhei.ttc}
+ \special{pdf:mapline unifs@Unicode@ unicode :0:uming.ttc}
+
+ \special{pdf:mapline gbksongsl@UGBK@ unicode :0:uming.ttc -s .167}
+ \special{pdf:mapline gbkkaisl@UGBK@ unicode :0:ukai.ttc -s .167}
+ \special{pdf:mapline gbkheisl@UGBK@ unicode :0:wqy-zenhei.ttc -s .167}
+ \special{pdf:mapline gbkfssl@UGBK@ unicode :0:uming.ttc -s .167}
+
+ \special{pdf:mapline unisongsl@Unicode@ unicode :0:uming.ttc -s .167}
+ \special{pdf:mapline unikaisl@Unicode@ unicode :0:ukai.ttc -s .167}
+ \special{pdf:mapline uniheisl@Unicode@ unicode :0:wqy-zenhei.ttc -s .167}
+ \special{pdf:mapline unifssl@Unicode@ unicode :0:uming.ttc -s .167}
+
+%</ubuntu>
+% \end{macrocode}
+%
+% \begin{macrocode}
+\fi
+
+\ctex@zhmap@endinput
+%</zhmap>
+% \end{macrocode}
+%
+% \subsubsection{制作 \texttt{spa} 文件}
+%
+% 我们通过 \XeTeX{} 的 \tn{XeTeXglyphbounds} 取得字体中标点符号的边界信息,为
+% \pkg{CJKpunct} 宏包制作 \file{spa}。
+%
+% \begin{macrocode}
+%<*spa>
+%<*macro>
+\input expl3-generic %
+\ExplSyntaxOn
+\sys_if_engine_xetex:F
+ {
+ \msg_new:nn { ctex } { xetex }
+ { XeTeX~is~required~to~compile~this~document! }
+ \msg_fatal:nn { ctex } { xetex }
+ }
+% \end{macrocode}
+%
+% \pkg{CJKpunct} 定义的标点符号是:
+% \begin{verbatim}
+% ‘“「『〔([{〈《〖【
+% —…、。,.:;!?%〕)]}〉》〗】’”」』
+% \end{verbatim}
+% 注意顺序不能改变。
+% \begin{macrocode}
+\seq_const_from_clist:Nn \c_@@_punct_seq
+ {
+ "2018 , "201C , "300C , "300E , "3014 , "FF08 , "FF3B , "FF5B ,
+ "3008 , "300A , "3016 , "3010 ,
+ "2014 , "2026 , "3001 , "3002 , "FF0C , "FF0E , "FF1A , "FF1B ,
+ "FF01 , "FF1F , "FF05 , "3015 , "FF09 , "FF3D , "FF5D , "3009 ,
+ "300B , "3017 , "3011 , "2019 , "201D , "300D , "300F
+ }
+% \end{macrocode}
+%
+% \begin{macro}[int]{\ctex_make_spa:nn}
+% |#1| 是 \file{spa} 文件名,|#2| 是由 CJK 族名与字体构成的逗号列表。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_make_spa:nn #1#2
+ {
+ \iow_open:Nn \g_@@_spa_iow {#1}
+ \clist_map_inline:nn {#2}
+ { \@@_write_family:nn ##1 }
+ \iow_close:N \g_@@_spa_iow
+ }
+\iow_new:N \g_@@_spa_iow
+\cs_new_eq:NN \MAKESPA \ctex_make_spa:nn
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_write_family:nn #1#2
+ {
+ \group_begin:
+ \tex_font:D \l_@@_punct_font = "#2" ~ at ~ 100 pt \scan_stop:
+ \l_@@_punct_font
+ \clist_clear:N \l_@@_punct_bounds_clist
+ \seq_map_inline:Nn \c_@@_punct_seq
+ { \exp_args:No \@@_save_bounds:n { \int_use:N \tex_XeTeXcharglyph:D ##1 } }
+ \iow_now:Nx \g_@@_spa_iow
+ {
+ \token_to_str:N \ctexspadef {#1}
+% \end{macrocode}
+% 最后这三个逗号对 \pkg{CJKpunct} 来说是必要的。
+% \begin{macrocode}
+ { \l_@@_punct_bounds_clist , , , }
+ }
+ \group_end:
+ }
+\cs_new_protected_nopar:Npn \@@_save_bounds:n #1
+ {
+ \clist_put_right:Nx \l_@@_punct_bounds_clist
+ {
+ \@@_calc_bounds:nn { 1 } {#1} ,
+ \@@_calc_bounds:nn { 3 } {#1}
+ }
+ }
+\clist_new:N \l_@@_punct_bounds_clist
+% \end{macrocode}
+%
+% \pkg{CJKpunct} 要求的格式是边界空白宽度与 1\,em 的比值的一百倍。
+% \begin{macrocode}
+\cs_new_nopar:Npn \@@_calc_bounds:nn #1#2
+ {
+ \fp_eval:n
+ {
+ round
+ (
+ \dim_to_decimal_in_unit:nn
+ { 100 \tex_XeTeXglyphbounds:D #1 ~ #2 }
+ { 1 em }
+ )
+ }
+ }
+\ExplSyntaxOff
+%</macro>
+% \end{macrocode}
+%
+% 下面是 \CTeX{} 定义的一些字体。
+% \begin{macrocode}
+%<*make>
+\input ctexspamacro %
+
+\MAKESPA {ctexpunct.spa}
+ {
+ {adobezhsong} {AdobeSongStd-Light} ,
+ {adobezhhei} {AdobeHeitiStd-Regular} ,
+ {adobezhkai} {AdobeKaitiStd-Regular} ,
+ {adobezhfs} {AdobeFangsongStd-Regular} ,
+ {fandolzhsong} {FandolSong} ,
+ {fandolzhsongb} {FandolSong-Bold} ,
+ {fandolzhhei} {FandolHei} ,
+ {fandolzhheib} {FandolHei-Bold} ,
+ {fandolzhkai} {FandolKai} ,
+ {fandolzhfs} {FandolFang} ,
+ {founderzhsong} {FZShuSong-Z01} ,
+ {founderzhsongb} {FZXiaoBiaoSong-B05} ,
+ {founderzhhei} {FZHei-B01} ,
+ {founderzhheil} {FZXiHeiI-Z08} ,
+ {founderzhkai} {FZKai-Z03} ,
+ {founderzhfs} {FZFangSong-Z02} ,
+ {founderzhli} {FZLiShu-S01} ,
+ {founderzhyou} {FZXiYuan-M01} ,
+ {founderzhyoub} {FZZhunYuan-M02} ,
+ {ubuntuzhsong} {AR PL UMing CN} ,
+ {ubuntuzhhei} {WenQuanYi Zen Hei} ,
+ {ubuntuzhkai} {AR PL UKai CN} ,
+ {windowszhsong} {SimSun} ,
+ {windowszhhei} {SimHei} ,
+ {windowszhkai} {KaiTi} ,
+ {windowszhfs} {FangSong} ,
+ {windowszhli} {LiSu} ,
+ {windowszhyou} {YouYuan} ,
+ {windowszhyahei} {Microsoft YaHei} ,
+ {windowszhyaheib} {Microsoft YaHei Bold}
+ }
+
+\primitive\end
+%</make>
+%</spa>
+% \end{macrocode}
+%
+% \subsection{\pkg{translator} 宏包的中文字典}
+%
+% \begin{macrocode}
+%<*dict>
+% \end{macrocode}
+%
+% \changes{v2.4}{2016/02/19}{提供 \pkg{translator} 宏包的中文定理名称翻译。}
+%
+% 包括 \pkg{ChineseGBK} 和 \pkg{ChineseUTF8} 两种形式,目前只翻译 \pkg{beamer}
+% 宏包需要的定理环境名称。
+%
+% \begin{macrocode}
+%<*theorem>
+\providetranslation{Comments}{评论}
+\providetranslation{comments}{评论}
+\providetranslation{Comment}{评论}
+\providetranslation{comment}{评论}
+\providetranslation{Corollaries}{推论}
+\providetranslation{corollaries}{推论}
+\providetranslation{Corollary}{推论}
+\providetranslation{corollary}{推论}
+\providetranslation{Definitions}{定义}
+\providetranslation{definitions}{定义}
+\providetranslation{Definition}{定义}
+\providetranslation{definition}{定义}
+\providetranslation{Examples}{例}
+\providetranslation{examples}{例}
+\providetranslation{Example}{例}
+\providetranslation{example}{例}
+\providetranslation{Exercises}{练习}
+\providetranslation{exercises}{练习}
+\providetranslation{Exercise}{练习}
+\providetranslation{exercise}{练习}
+\providetranslation{Facts}{事实}
+\providetranslation{facts}{事实}
+\providetranslation{Fact}{事实}
+\providetranslation{fact}{事实}
+\providetranslation{Key Lemmas}{关键引理}
+\providetranslation{key lemmas}{关键引理}
+\providetranslation{Key Lemma}{关键引理}
+\providetranslation{key lemma}{关键引理}
+\providetranslation{Key Observations}{关键观察}
+\providetranslation{key observations}{关键观察}
+\providetranslation{Key Observation}{关键观察}
+\providetranslation{key observation}{关键观察}
+\providetranslation{Lemmas}{引理}
+\providetranslation{lemmas}{引理}
+\providetranslation{Lemma}{引理}
+\providetranslation{lemma}{引理}
+\providetranslation{Main Theorems}{主要定理}
+\providetranslation{main theorems}{主要定理}
+\providetranslation{Main Theorem}{主要定理}
+\providetranslation{main theorem}{主要定理}
+\providetranslation{Observations}{观察}
+\providetranslation{observations}{观察}
+\providetranslation{Observation}{观察}
+\providetranslation{observation}{观察}
+\providetranslation{Problems}{问题}
+\providetranslation{problems}{问题}
+\providetranslation{Problem}{问题}
+\providetranslation{problem}{问题}
+\providetranslation{Proofs}{证明}
+\providetranslation{proofs}{证明}
+\providetranslation{Proof}{证明}
+\providetranslation{proof}{证明}
+\providetranslation{Proof Sketch}{证明提要}
+\providetranslation{Proof sketch}{证明提要}
+\providetranslation{proof sketch}{证明提要}
+\providetranslation{Proof Sketches}{证明提要}
+\providetranslation{Proof sketches}{证明提要}
+\providetranslation{proof sketches}{证明提要}
+\providetranslation{Sketch of Proof}{证明提要}
+\providetranslation{Sketch of Proofs}{证明提要}
+\providetranslation{Sketch of proof}{证明提要}
+\providetranslation{Sketch of proofs}{证明提要}
+\providetranslation{sketch of proof}{证明提要}
+\providetranslation{sketch of proofs}{证明提要}
+\providetranslation{Propositions}{命题}
+\providetranslation{propositions}{命题}
+\providetranslation{Proposition}{命题}
+\providetranslation{proposition}{命题}
+\providetranslation{Remarks}{注}
+\providetranslation{remarks}{注}
+\providetranslation{Remark}{注}
+\providetranslation{remark}{注}
+\providetranslation{Solutions}{解}
+\providetranslation{solutions}{解}
+\providetranslation{Solution}{解}
+\providetranslation{solution}{解}
+\providetranslation{Theorems}{定理}
+\providetranslation{theorems}{定理}
+\providetranslation{Theorem}{定理}
+\providetranslation{theorem}{定理}
+%</theorem>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</dict>
+% \end{macrocode}
+%
+% \subsection{\pkg{ctexcap} 宏包}
+%
+% \begin{macrocode}
+%<*ctexcap>
+% \end{macrocode}
+%
+% \pkg{ctexcap} 是过时宏包。
+% \begin{macrocode}
+\clist_new:N \l_@@_ctexcap_options_clist
+\clist_set:Nx \l_@@_ctexcap_options_clist
+ { \exp_not:v { opt@ \@currname . \@currext } , heading }
+\msg_new:nnn { ctexcap } { deprecated }
+ {
+ Package~`ctexcap'~is~deprecated.\\
+ Please~use~package~`ctex'~with~option~`#1'~instead: \\\\
+ \iow_indent:n { \token_to_str:N \usepackage [#1] \{ ctex \} } \\
+ }
+\msg_warning:nnx { ctexcap } { deprecated }
+ { \clist_use:Nn \l_@@_ctexcap_options_clist { , ~ } }
+% \end{macrocode}
+%
+% \pkg{ctexcap} 是默认打开 \opt{heading} 选项的 \pkg{ctex}。
+% \begin{macrocode}
+\PassOptionsToPackage { heading = true } { ctexcap }
+\RequirePackageWithOptions { ctex }
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</ctexcap>
+% \end{macrocode}
+%
+%
+% \subsection{\pkg{ctexhook} 宏包}
+%
+% \changes{v2.2}{2015/06/26}{将文档开头和宏包末尾钩子提取到 \pkg{ctexhook} 宏包中。}
+%
+% \begin{macrocode}
+%<*ctexhook>
+% \end{macrocode}
+%
+% \begin{macro}[int]{\ctex_at_end_preamble:n,\ctex_after_end_preamble:n}
+% 实现 \pkg{etoolbox} 宏包的 \tn{AtEndPreamble} 和 \tn{AfterEndPreamble}。
+% \begin{macrocode}
+\cs_new_protected:Npn \ctex_at_end_preamble:n #1
+ { \tl_gput_right:Nn \g_@@_end_preamble_hook_tl {#1} }
+\cs_new_protected:Npn \ctex_after_end_preamble:n #1
+ { \tl_gput_right:Nn \g_@@_after_end_preamble_hook_tl {#1} }
+\cs_new_protected_nopar:Npn \CTEX@document@left@hook
+ { \group_end: \g_@@_end_preamble_hook_tl \group_begin: }
+\cs_new_protected_nopar:Npn \CTEX@document@right@hook
+ { \scan_stop: \g_@@_after_end_preamble_hook_tl \tex_ignorespaces:D }
+\cs_set_nopar:Npx \document
+ {
+ \CTEX@document@left@hook
+ \exp_not:o { \document }
+ \CTEX@document@right@hook
+ }
+\tl_new:N \g_@@_end_preamble_hook_tl
+\tl_new:N \g_@@_after_end_preamble_hook_tl
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_at_end_package:nn}
+% 与 \pkg{filehook} 的 \tn{AtEndOfPackageFile*} 类似,如果原来没有在载入宏包则
+% 在宏包末尾执行语句,否则立即执行。
+% \begin{macrocode}
+\cs_new_protected:Npn \ctex_at_end_package:nn #1#2
+ {
+ \@ifpackageloaded {#1}
+ {#2}
+ { \ctex_gadd_hook:cn { g_@@_at_end_ #1 _hook_tl } {#2} }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_gadd_hook:Nn, \ctex_gadd_hook:cn}
+% 给钩子附加内容。
+% \begin{macrocode}
+\cs_new_protected:Npn \ctex_gadd_hook:Nn #1#2
+ {
+ \tl_if_exist:NF #1 { \tl_new:N #1 }
+ \tl_gput_right:Nn #1 {#2}
+ }
+\cs_generate_variant:Nn \ctex_gadd_hook:Nn { c }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_package_end_hook:n, \ctex_package_end_hook:o}
+% 宏包末尾钩子,只执行一次,用后清除。
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \ctex_package_end_hook:n #1
+ {
+ \cs_if_exist_use:cT { g_@@_at_end_ #1 _hook_tl }
+ { \cs_undefine:c { g_@@_at_end_ #1 _hook_tl } }
+ }
+\cs_generate_variant:Nn \ctex_package_end_hook:n { o }
+% \end{macrocode}
+% \end{macro}
+%
+% 对 \tn{@popfilename} 做补丁来实现 \cs{ctex_at_end_package:nn} 的功能。
+% \begin{macrocode}
+\tl_put_left:Nn \@popfilename
+ {
+ \cs_if_eq:NNT \@currext \@pkgextension
+ { \ctex_package_end_hook:o { \@currname } }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</ctexhook>
+% \end{macrocode}
+%
+%
+% \subsection{\pkg{ctexpatch} 宏包}
+%
+% \changes{v2.2}{2015/06/23}{新增子宏包 \pkg{ctexpatch} 实现给宏打补丁功能。}
+%
+% \begin{macrocode}
+%<*ctexpatch>
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_if_exist:NF \str_new:N { \RequirePackage { l3str } }
+% \end{macrocode}
+%
+% \begin{macro}[int]{\ctex_patch_cmd_once:NnnnTF}
+% 只进行第一次匹配进行替换。参数 |#2| 是宏重建时的 \tn{catcode} 设置。
+% \begin{macrocode}
+\cs_new_protected:Npn \ctex_patch_cmd_once:NnnnTF #1#2
+ {
+ \ctex_patch_boot:NNnnTF \@@_patch_cmd:Nnnnnw #1
+ { once } {#2} { \use_i:nn } { \use_ii:nn }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_patch_cmd_all:NnnnTF}
+% 替换所有匹配到的文本。
+% \begin{macrocode}
+\cs_new_protected:Npn \ctex_patch_cmd_all:NnnnTF #1#2
+ {
+ \ctex_patch_boot:NNnnTF \@@_patch_cmd:Nnnnnw #1
+ { all } {#2} { \use_i:nn } { \use_ii:nn }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_patch_cmd:Nnn}
+% 快捷方式,在补丁的时候关闭 \LaTeXiii{} 语法和设置 |@| 为字母类,补丁失败时给出警告。
+% \begin{macrocode}
+\cs_new_protected:Npn \ctex_patch_cmd:Nnn #1
+ {
+ \ctex_patch_boot:NNnnTF \@@_patch_cmd:Nnnnnw #1
+ { once }
+ {
+ \ExplSyntaxOff
+ \char_set_catcode_letter:n { 64 }
+ }
+ { }
+ { \ctex_patch_failure:N #1 }
+ }
+\cs_new_protected:Npn \ctex_patch_failure:N #1
+ { \msg_warning:nnx { ctex } { patch-failure } { \token_to_str:N #1 } }
+\msg_new:nnn { ctex } { patch-failure }
+ { Oops!~Command~`#1'~is~NOT~patchable.\\ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_preto_cmd:NnnTF}
+% 在宏的原本定义前面增加钩子。
+% \begin{macrocode}
+\cs_new_protected:Npn \ctex_preto_cmd:NnnTF #1#2
+ {
+ \ctex_patch_boot:NNnnTF \@@_hookto_cmd:Nnnnw #1
+ { left } {#2} { \use_i:nn } { \use_ii:nn }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_appto_cmd:NnnTF}
+% 在宏的原本定义后面追加钩子。
+% \begin{macrocode}
+\cs_new_protected:Npn \ctex_appto_cmd:NnnTF #1#2
+ {
+ \ctex_patch_boot:NNnnTF \@@_hookto_cmd:Nnnnw #1
+ { right } {#2} { \use_i:nn } { \use_ii:nn }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_patch_boot:NNnnTF}
+% 参数记号 |#| 作为宏的参数被读入时,总是会双写,会影响随后的字符串替换。需要先
+% 将它转换为普通符号。
+% \begin{macrocode}
+\cs_new_protected:Npn \ctex_patch_boot:NNnnTF #1#2#3#4#5#6
+ {
+ \tl_set:Nn \@@_patch_true:w {#5}
+ \tl_set:Nn \@@_patch_false:w {#6}
+ \group_begin:
+ \char_set_catcode_other:n { 35 }
+ \ctex_parse_name:NN #1 #2 {#3} {#4}
+ }
+\tl_new:N \@@_patch_true:w
+\tl_new:N \@@_patch_false:w
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_parse_name:NN}
+% \changes{v2.4}{2016/04/11}{修复宏名解析错误。}
+% 用 \tn{DeclareRobustCommand} 定义的宏或者由 \tn{newcommand} 或 \tn{newrobustcmd}
+% 定义的带一个可选参数的宏第一次展开的结果都不是其实际定义,实际定义被保存在另外的
+% 宏中。由这些命令定义的宏的第一次展开结果可以有下面的形式(细节可查阅 \pkg{xpatch}
+% 的文档):
+% \begin{verbatim}[numbers=left,gobble=4]
+% \protect␣\xaa␣␣ % \DeclareRobustCommand\xaa[1]{...}
+% \protect␣\xab␣␣ % \DeclareRobustCommand\xab[1][]{...}
+% \@protected@testopt␣\xac␣\\xac␣{} % \newcommand\xac[1][]{...}
+% \@testopt␣\\xad␣{} % \newrobustcmd\xad[1][]{...}
+% \x@protect␣\1\protect␣\1␣␣ % \DeclareRobustCommand\1[1]{...}
+% \x@protect␣\2\protect␣\2␣␣ % \DeclareRobustCommand\2[1][]{...}
+% \@protected@testopt␣\3\\3␣{} % \newcommand\3[1][]{...}
+% \@testopt␣\\4␣{} % \newrobustcmd\4[1][]{...}
+% \end{verbatim}
+% \pkg{ctexpatch} 的主要原理是先对宏的 \tn{meaning} 作字符串替换,然后再用
+% \tn{scantokens} 来重建它。我们希望对宏的实际定义打补丁,为此需要先得到
+% 对应的名字。\pkg{letltxmacro}、\pkg{show2e} 和 \pkg{xpatch} 宏包中都有
+% 类似的工作。
+% \begin{macrocode}
+\cs_new_protected:Npn \ctex_parse_name:NN #1#2
+ { \ctex_parse_name:NNx #1#2 { \cs_to_str:N #2 } }
+\group_begin:
+\cs_set_protected:Npn \@@_tmp:w #1#2#3
+ {
+ \cs_new_protected:Npn \ctex_parse_name:NNn ##1##2##3
+ {
+ \bool_lazy_or:nnTF
+ { \cs_if_exist_p:c { ##3 ~ } }
+ { \cs_if_exist_p:c { #1##3 } }
+ {
+ \group_begin:
+ \use:x
+ {
+ \group_end:
+ \@@_parse_name:nNNNnN
+ { \cs_replacement_spec:N ##2 }
+ \exp_not:N ##2
+ \exp_not:c { ##3 ~ }
+ \exp_not:c { #1##3 }
+ } {##3} ##1
+ }
+ { ##1##2 }
+ }
+ \cs_new_protected:Npn \@@_parse_name:nNNNnN ##1##2##3##4##5##6
+ {
+ \exp_args:Nc ##6
+ {
+ \str_case:nnTF {##1}
+ {
+ { \protect ##3 } { }
+ { \x@protect ##2 \protect ##3 } { }
+ }
+ {
+ \str_if_eq:eeTF
+ { \exp_not:n { #1@protected@ ##3 #1##3 } }
+ {
+ \exp_last_unbraced:Nf \@@_parse_name:w
+ \cs_replacement_spec:N ##3 #3 ~ #2 \q_stop
+ }
+ { #1##5 ~ } { ##5 ~ }
+ }
+ {
+ \str_case:onTF { \@@_parse_name:w ##1 #3 ~ #2 \q_stop }
+ {
+ { #1@protected@ ##2 ##4 } { }
+ { #1@ ##4 } { }
+ }
+ { #1##5 } {##5}
+ }
+ }
+ }
+ \cs_new:Npn \@@_parse_name:w ##1 #3 ~ ##2 #2 ##3 \q_stop { ##1##2 }
+ }
+\use:x
+ {
+ \@@_tmp:w
+ { \c_backslash_str }
+ { \c_left_brace_str }
+ { \tl_to_str:n { testopt } }
+ }
+\group_end:
+\cs_generate_variant:Nn \ctex_parse_name:NNn { NNx }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{variable}{\l_@@_prefix_str,\l_@@_parameter_str,\l_@@_replacement_str}
+% 分别保存宏的 \tn{meaning} 中的前缀、参数文本和替换文本。
+% \begin{macrocode}
+\str_new:N \l_@@_prefix_str
+\str_new:N \l_@@_parameter_str
+\str_new:N \l_@@_replacement_str
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}[int]{\ctex_get_macro_meaning:NTF}
+% \begin{macro}{\@@_get_macro_meaning:w}
+% 解构待补丁宏的 \tn{meaning}。若命令不是宏,则走向 |false| 分支。
+% \begin{macrocode}
+\group_begin:
+ \cs_set_protected:Npn \@@_tmp:w #1
+ {
+ \prg_new_protected_conditional:Npnn
+ \ctex_get_macro_meaning:N ##1 { TF }
+ {
+ \exp_after:wN \@@_get_macro_meaning:w
+ \token_to_meaning:N ##1 \q_mark #1 -> \q_mark \q_stop
+ }
+ \cs_new_protected:Npn \@@_get_macro_meaning:w
+ ##1 #1 ##2 -> ##3 \q_mark ##4 \q_stop
+ {
+ \tl_if_empty:nTF { ##4 }
+ { \prg_return_false: }
+ {
+ \str_set:Nn \l_@@_prefix_str { ##1 }
+ \str_set:Nn \l_@@_parameter_str { ##2 }
+ \str_set:Nn \l_@@_replacement_str { ##3 }
+ \prg_return_true:
+ }
+ }
+ }
+ \exp_args:No \@@_tmp:w { \tl_to_str:n { macro: } }
+\group_end:
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}[int]{\ctex_if_rescanable:NnTF}
+% 检查宏是否可以重建。
+% \begin{macrocode}
+\cs_new_protected:Npn \ctex_if_rescanable:NnTF #1#2#3#4
+ {
+ \ctex_get_macro_meaning:NTF #1
+ {
+ \@@_patch_rebuild:Nn \@@_rebuild_cmd:w {#2}
+ \cs_if_eq:NNTF #1 \@@_rebuild_cmd:w {#3} {#4}
+ }
+ {#4}
+ }
+\cs_new_eq:NN \@@_rebuild_cmd:w \prg_do_nothing:
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_patch_rebuild:Nn}
+% 使用 \cs{tl_rescan:nn} 来重新记号化 \tn{meaning} 字符串。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_patch_rebuild:Nn #1#2
+ {
+ \@@_patch_rescan:NNn \l_@@_prefix_tl \l_@@_prefix_str {#2}
+ \@@_patch_rescan:NNn \l_@@_parameter_tl \l_@@_parameter_str {#2}
+ \@@_patch_rescan:NNn \l_@@_replacement_tl \l_@@_replacement_str {#2}
+ \use:x
+ {
+ \exp_not:o { \l_@@_prefix_tl } \tex_def:D \exp_not:N #1
+ \exp_not:o { \l_@@_parameter_tl }
+ { \exp_not:o { \l_@@_replacement_tl } }
+ }
+ }
+\cs_new_protected:Npn \@@_patch_rescan:NNn #1#2#3
+ {
+ \str_if_empty:NTF #2
+ { \tl_clear:N #1 }
+ { \tl_set_rescan:Nno #1 {#3} {#2} }
+ }
+\tl_new:N \l_@@_prefix_tl
+\tl_new:N \l_@@_parameter_tl
+\tl_new:N \l_@@_replacement_tl
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_patch_cmd:Nnnnnw}
+% 对宏的替换文本进行字符串替换,然后重建。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_patch_cmd:Nnnnnw #1#2#3#4#5
+ {
+ \group_end:
+ \ctex_if_rescanable:NnTF #1 {#3}
+ {
+ \use:x
+ {
+ \@@_patch_replace:nnnTF {#2}
+ { \tl_to_str:n {#4} }
+ { \tl_to_str:n {#5} }
+ }
+ {
+ \@@_patch_rebuild:Nn #1 {#3}
+ \@@_patch_true:w
+ }
+ { \@@_patch_false:w }
+ }
+ { \@@_patch_false:w }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_patch_replace:nnnTF}
+% 替换前先检查原文本是否存在。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_patch_replace:nnnTF #1#2#3#4
+ {
+ \tl_if_in:NnTF \l_@@_replacement_str {#2}
+ { \use:c { tl_replace_ #1 :Nnn } \l_@@_replacement_str {#2} {#3} #4 }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_hookto_cmd:Nnnnw}
+% 在宏的前/后附加钩子。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_hookto_cmd:Nnnnw #1#2#3#4
+ {
+ \group_end:
+ \ctex_get_macro_meaning:NTF #1
+ {
+ \str_if_empty:NTF \l_@@_parameter_str
+ { \@@_hookto_cmd_parameterless:Nnnnw }
+ { \@@_hookto_cmd_parameter:Nnnnw }
+ #1 {#2} {#3} {#4}
+ }
+ { \@@_patch_false:w }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_hookto_cmd_parameterless:Nnnnw}
+% 如果宏没有参数,可以直接进行附加操作。注意保持宏的前缀。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_hookto_cmd_parameterless:Nnnnw #1#2#3#4
+ {
+ \str_if_empty:NF \l_@@_prefix_str
+ { \tl_rescan:no {#3} { \l_@@_prefix_str } }
+ \tex_edef:D #1
+ {
+ \use:c { @@_ #2 _hook_aux:nn }
+ { \exp_not:o {#1} }
+ { \exp_not:n {#4} }
+ }
+ \@@_patch_true:w
+ }
+\cs_generate_variant:Nn \tl_rescan:nn { no }
+\cs_new:Npn \@@_left_hook_aux:nn #1#2 { #2#1 }
+\cs_new_eq:NN \@@_right_hook_aux:nn \use:nn
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_hookto_cmd_parameter:Nnnnw}
+% 如果宏有参数,需要在字符串中进行附加,然后再重建。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_hookto_cmd_parameter:Nnnnw #1#2#3#4
+ {
+ \@@_patch_rebuild:Nn \@@_rebuild_cmd:w {#3}
+ \cs_if_eq:NNTF #1 \@@_rebuild_cmd:w
+ {
+ \use:c { str_put_ #2 :Nn } \l_@@_replacement_str {#4}
+ \@@_patch_rebuild:Nn #1 {#3}
+ \@@_patch_true:w
+ }
+ { \@@_patch_false:w }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</ctexpatch>
+% \end{macrocode}
+%
+% \end{implementation}
+%
+% \Finale
+%
+% \endinput
+%
+% \DisableImplementation
+%
+% \begin{implementation}
+%
+% \subsection{\cls{ctxdoc}}
+%
+% \begin{macrocode}
+%<*ctxdoc>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<@@=ctxdoc>
+% \end{macrocode}
+%
+% \begin{macrocode}
+\ExplSyntaxOff
+\let\pdfmdfivesum\mdfivesum
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{l3doc}}
+\PassOptionsToClass{a4paper,full}{l3doc}
+\ProcessOptions
+\@namedef{ver@thumbpdf.sty}{9999/99/99}
+\LoadClass{l3doc}
+\RequirePackage[UTF8, punct = kaiming, heading, fontset = none,
+ linespread = 1.2, sub3section]{ctex}
+\ifxetex
+ \xeCJKsetup{AutoFakeBold=false}
+\fi
+\ctexset{
+ fontset,
+ abstractname = 简介,
+ indexname = 代码索引,
+ section = {
+ format = \Large\bfseries\raggedright,
+ name = {第,节},
+ },
+}
+\RequirePackage[toc]{multitoc}
+\RequirePackage{geometry}
+\RequirePackage{tabularx}
+\RequirePackage{makecell}
+\RequirePackage{threeparttable}
+\RequirePackage{siunitx}
+\RequirePackage{unicode-math}
+\RequirePackage{xcolor}
+\RequirePackage{caption}
+\RequirePackage{fancyvrb-ex}
+\RequirePackage{zref-base}
+\geometry{includemp,hmargin={0mm,15mm},vmargin={25mm,15mm},footskip=7mm}
+\hypersetup{pdfstartview=FitH,bookmarksdepth=subparagraph}
+\setcounter{secnumdepth}{4}
+\setcounter{tocdepth}{2}
+\newcommand*\email{\nolinkurl}
+\setmainfont{TeX Gyre Pagella}
+\setsansfont{TeX Gyre Heros}
+\setmonofont[
+ HyphenChar = None ,
+ UprightFont=* Light, BoldFont=* Bold,
+ SlantedFont=* Light Oblique]{CMU Typewriter Text}
+\setmathfont{texgyrepagella-math.otf}
+\captionsetup{strut=off, labelsep=quad, labelfont+=bf}
+%% <--- http://tex.stackexchange.com/a/40896
+\patchcmd{\@addtocurcol}%
+ {\vskip \intextsep}%
+ {\edef\save@first@penalty{\the\lastpenalty}\unpenalty
+ \ifnum \lastpenalty = \@M % hopefully the OR penalty
+ \unpenalty
+ \else
+ \penalty \save@first@penalty \relax % put it back
+ \fi
+ \ifnum\outputpenalty <-\@Mii
+ \addvspace\intextsep
+ \vskip\parskip
+ \else
+ \addvspace\intextsep
+ \fi}%
+ {\typeout{*** SUCCESS ***}}{\typeout{*** FAIL ***}}
+\patchcmd{\@addtocurcol}%
+ {\vskip\intextsep \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi}%
+ {\ifnum\outputpenalty <-\@Mii
+ \aftergroup\vskip\aftergroup\intextsep
+ \aftergroup\nointerlineskip
+ \else
+ \vskip\intextsep
+ \fi}%
+ {\typeout{*** SUCCESS ***}}{\typeout{*** FAIL ***}}
+\patchcmd{\@getpen}{\@M}{\@Mi}
+ {\typeout{*** SUCCESS ***}}{\typeout{*** FAIL ***}}
+%% --->
+%% 不对代码实现的 \section 以下标题编目录。
+\AtBeginEnvironment{implementation}{%
+ \ifnum\value{tocdepth}>\@ne
+ \addtocontents{toc}{\protect\value{tocdepth}=1\relax}%
+ \fi}
+\ifxetex
+ \let\ctexdocverbaddon\xeCJKVerbAddon
+ \def\ctexdisableecglue{\xeCJKsetup{CJKecglue}}
+ \def\ctexplainps{\xeCJKsetup{PunctStyle=plain}}
+ \appto\meta@font@select{\ifinner\ctexdisableecglue\fi}
+\else
+ \let\ctexdocverbaddon\relax
+ \let\ctexplainps\relax
+ \def\ctexdisableecglue{\ltjsetparameter{autoxspacing=false}}
+ \appto\meta@font@select{\ctexdisableecglue}
+\fi
+\setlist{noitemsep,topsep=\smallskipamount}
+\setlist[1]{labelindent=\parindent}
+\setlist[enumerate]{leftmargin=*}
+\setlist[itemize]{leftmargin=*}
+\newlist{optdesc}{description}{3}
+%% 设置间距为 \marginparsep,与 l3doc 一致
+\setlist[optdesc]{%
+ font=\mdseries\small\ttfamily,align=right,listparindent=\parindent,
+ labelsep=\marginparsep,labelindent=-\marginparsep,leftmargin=*}
+%% 重新定义 threeparttable 包的 tablenotes 环境
+\renewlist{tablenotes}{description}{1}
+\setlist[tablenotes]{%
+ format=\normalfont\tnote@item,align=right,listparindent=\parindent,
+ labelindent=\tabcolsep,leftmargin=*,rightmargin=\tabcolsep,
+ after=\@noparlisttrue}
+\AtBeginEnvironment{tablenotes}{%
+ \setlength\parindent{2\ccwd}%
+ \normalfont\footnotesize}
+\AtBeginEnvironment{threeparttable}{%
+ \stepcounter{tpt@id}%
+ \edef\curr@tpt@id{tpt@\arabic{tpt@id}}}
+\newcounter{tpt@id}
+\def\tnote@item#1{%
+ \Hy@raisedlink{\hyper@anchor{\curr@tpt@id-#1}}#1}
+\def\TPTtagStyle#1{\hyperlink{\curr@tpt@id-#1}{#1}}
+\fvset{
+ fontsize=\small,baselinestretch=1,numbersep=5pt,
+ formatcom=\ctexdocverbaddon,
+ listparameters=\setlength\topsep{\MacrocodeTopsep}}
+\DefineVerbatimEnvironment{frameverb}{Verbatim}{%
+ gobble=4,
+ frame=single,framesep=8pt,
+ listparameters=
+ \setlength\topsep{\medskipamount}%
+ \appto\FV@EndList{\nointerlineskip}}
+\DefineVerbatimEnvironment{ctexexam}{Verbatim}{%
+ gobble=4,
+ frame=single,framesep=10pt,
+ label=\rule{0pt}{12pt}\textnormal{\bfseries 例 \arabic{ctexexam}},
+ listparameters=
+ \setlength\topsep{\bigskipamount}%
+ \refstepcounter{ctexexam}\ctexexamlabelref
+ \appto\FV@EndList{\nointerlineskip}}
+\define@key{FV}{labelref}{\def\ctexexamlabelref{\label{#1}}}
+\let\ctexexamlabelref\empty
+\newcounter{ctexexam}
+\BeforeBeginEnvironment{function}{\par\nointerlineskip}
+\AtEndEnvironment{function}{%
+ \par\xdef\ctexfixprevdepth{\prevdepth=\the\prevdepth\space}}
+\AfterEndEnvironment{function}{\ctexfixprevdepth}
+\AtBeginEnvironment{syntax}{\linespread{1}\ctexplainps\ctexdisableecglue}
+\BeforeBeginEnvironment{SideBySideExample}{\par\addvspace{\medskipamount}}
+\newcommand*\exptarget{\Hy@raisedlink{\hypertarget{expstar}{}}}
+\newcommand*\rexptarget{\Hy@raisedlink{\hypertarget{rexpstar}{}}}
+\newcommand*\expstar{\hyperlink{expstar}{$\star$}}
+\newcommand*\rexpstar{\hyperlink{rexpstar}{\ding{73}}}
+\ExplSyntaxOn
+%% l3doc 会设置列表环境中 \listparindent=\z@,我们在这里恢复它。
+\cs_set_eq:NN \list \__codedoc_oldlist:nn
+\cs_new_nopar:Npn \zihaopt #1
+ {
+ \exp_last_unbraced:Nf \tl_head:w
+ { \prop_item:Nn \c__ctex_font_size_prop {#1} } { } \q_stop
+ }
+%% 抑制首段的 \parskip
+\ctex_patch_cmd_once:NnnnTF \__codedoc_function_descr_start:w
+ { }
+ { \noindent }
+ { \skip_vertical:n { -\parskip } \noindent }
+ { \iow_term:n { *** ~ SUCCESS ~ *** } }
+ { \iow_term:n { *** ~ FAIL ~ *** } }
+%% l3doc 会在 function 环境的 syntax 和 descr 盒子中间加上 \medskipamount 的距离。
+%% 但是若 syntax 盒子为空(未使用 syntax 环境),就会显得不好看。
+%% 此时我们通过将 \medskipamount 设置为零来修正。若盒子非空,则将 \parskip 还回去。
+\ctex_preto_cmd:NnnTF \__codedoc_function_assemble:
+ { }
+ { \ctex_doc_fix_yoffset: }
+ { \iow_term:n { *** ~ SUCCESS ~ *** } }
+ { \iow_term:n { *** ~ FAIL ~ *** } }
+\cs_new_protected_nopar:Npn \ctex_doc_fix_yoffset:
+ {
+ \box_if_empty:NTF \g__codedoc_syntax_box
+ { \skip_zero:N \medskipamount }
+ { \skip_add:Nn \medskipamount { \parskip } }
+ }
+%% 左侧边注的函数列表采用单倍行距
+\ctex_preto_cmd:NnnTF \__codedoc_typeset_functions:
+ { }
+ { \MacroFont }
+ { \iow_term:n { *** ~ SUCCESS ~ *** } }
+ { \iow_term:n { *** ~ FAIL ~ *** } }
+\ctex_patch_cmd_once:NnnnTF \__codedoc_macro_init:
+ { }
+ { \hbox:n }
+ { \MacroFont \hbox:n }
+ { \iow_term:n { *** ~ SUCCESS ~ *** } }
+ { \iow_term:n { *** ~ FAIL ~ *** } }
+\ctex_patch_cmd_once:NnnnTF \__codedoc_macro_dump:
+ { }
+ { \hbox_unpack_drop:N }
+ { \MacroFont \hbox_unpack_drop:N }
+ { \iow_term:n { *** ~ SUCCESS ~ *** } }
+ { \iow_term:n { *** ~ FAIL ~ *** } }
+\cs_set_eq:NN \__codedoc_macro_end_style:n \use_none:n
+\cs_set_protected:Npn \__codedoc_macro_typeset_one:nN #1#2
+ {
+ \vbox_set:Nn \l__codedoc_macro_box
+ {
+ \MacroFont
+ \vbox_unpack_drop:N \l__codedoc_macro_box
+ \hbox_set:Nn \l_tmpa_box
+ { \__codedoc_print_macroname:nN {#1} #2 }
+ \dim_set:Nn \l_tmpa_dim { \marginparwidth - \labelsep }
+ \dim_compare:nNnT { \box_wd:N \l_tmpa_box } > \l_tmpa_dim
+ {
+ \box_resize_to_wd_and_ht:Nnn \l_tmpa_box
+ { \l_tmpa_dim }
+ { \box_ht:N \l_tmpa_box }
+ }
+ \hbox_overlap_left:n
+ {
+ \box_use:N \l_tmpa_box
+ \skip_horizontal:n { \marginparsep - \labelsep }
+ }
+ }
+ \int_incr:N \l__codedoc_macro_int
+ }
+\cs_set_protected:Npn \__codedoc_print_macroname:nN #1#2
+ {
+ \strut
+ \__codedoc_get_hyper_target:xN
+ {
+ \exp_not:n {#1}
+ \bool_if:NT #2 { \tl_to_str:n {TF} }
+ }
+ \l__codedoc_tmpa_tl
+ \cs_if_exist:cTF { r@ \l__codedoc_tmpa_tl }
+ { \exp_args:NNo \label@hyperref [ \l__codedoc_tmpa_tl ] }
+ { \use:n }
+ {
+ \tl_set:Nn \l__codedoc_tmpa_tl {#1}
+ \tl_replace_all:Non \l__codedoc_tmpa_tl
+ { \c_catcode_other_space_tl }
+ { \fontspec_visible_space: }
+ \__codedoc_macroname_prefix:o \l__codedoc_tmpa_tl
+ \__codedoc_macroname_suffix:N #2
+ }
+ }
+\AtBeginEnvironment { syntax }
+ {
+ \char_set_catcode_active:N \|
+ \char_set_active_eq:NN \| \orbar
+ \char_set_catcode_active:N \(
+ \char_set_active_eq:NN \( \defaultvalaux
+ }
+%% 不对目录中出现的 \cs 和 \tn 等编索引
+\DeclareDocumentCommand \StopSpecialIndexModule { }
+ { \cs_set_eq:NN \__codedoc_special_index_module:nnnnN \use_none:nnnnn }
+\tl_map_inline:nn { \actualchar \encapchar \levelchar }
+ { \exp_args:Nx \DoNotIndex { \bslash \tl_to_str:N #1 } }
+\DeclareDocumentCommand \package { o m }
+ {
+ \exp_args:Nx \href
+ {
+ http \c_colon_str //www.ctan.org/pkg/
+ \IfNoValueTF {#1} { \str_fold_case:n {#2} } {#1}
+ }
+ { \pkg {#2} }
+ }
+\DeclareDocumentCommand \GetFileId { m }
+ {
+ \GetFileInfo {#1}
+ \file_get:nnNTF { \c_sys_jobname_str .id }
+ { \int_set:Nn \tex_endlinechar:D { -1 } } \l_@@_tmp_tl
+ { \exp_after:wN \GetIdInfo \l_@@_tmp_tl }
+ { \GetIdInfo $Id$ }
+ { \fileinfo }
+ }
+\cs_new_eq:NN \@@_ltx_changes:nnn \changes@
+\cs_set_protected:Npn \changes@ #1#2
+ {
+ \@@_save_version_date:nn {#1} {#2}
+ \tl_if_empty:nTF {#1}
+ { \@@_ltx_changes:nnn }
+ { \@@_version_zfill:wnnn #1 \q_stop }
+ {#1} {#2}
+ }
+\cs_new_protected:Npn \@@_version_zfill:wnnn #1#2 \q_stop
+ {
+ \str_if_eq:nnTF {#1} { v }
+ { \@@_version_zfill:nnnn {#2} }
+ { \@@_ltx_changes:nnn }
+ }
+\cs_new_protected:Npn \@@_version_zfill:nnnn #1#2
+ {
+ \tl_clear:N \l_@@_tmp_tl
+ \int_zero:N \l_tmpa_int
+ \seq_set_split:Nnn \l_tmpa_seq { . } {#1}
+ \seq_map_function:NN \l_tmpa_seq \@@_version_zfill:n
+ \int_compare:nNnF \l_tmpa_int > 2
+ {
+ \tl_put_right:Nx \l_@@_tmp_tl
+ { \prg_replicate:nn { 3 - \l_tmpa_int } { 00000 } }
+ }
+ \@@_ltx_changes:nnn { \l_@@_tmp_tl \actualchar #2 }
+ }
+\tl_new:N \l_@@_tmp_tl
+\cs_new_protected:Npn \@@_version_zfill:n #1
+ {
+ \int_incr:N \l_tmpa_int
+ \tl_put_right:Nx \l_@@_tmp_tl
+ {
+ \prg_replicate:nn
+ { \int_max:nn { 0 } { 5 - \tl_count:n {#1} } } { 0 }
+ \exp_not:n {#1}
+ }
+ }
+\cs_new_protected:Npn \@@_save_version_date:nn #1#2
+ {
+ \prop_get:NnNTF \g_@@_version_date_prop {#1} \l_@@_tmp_tl
+ { \exp_after:wN \@@_save_version_date:nnnn \l_@@_tmp_tl {#2} {#1} }
+ { \@@_save_version_date:nnn {#1} {#2} {#2} }
+ }
+\cs_new_protected:Npn \@@_save_version_date:nnnn #1#2#3#4
+ {
+ \@@_if_date_later:nnTF {#1} {#3}
+ { \@@_save_version_date:nnn {#4} {#3} {#2} }
+ {
+ \@@_if_date_later:nnT {#3} {#2}
+ { \@@_save_version_date:nnn {#4} {#1} {#3} }
+ }
+ }
+\prg_new_conditional:Npnn \@@_if_date_later:nn #1#2 { TF , T }
+ {
+ \if_int_compare:w \@@_parse_date:w #1 / / / 0 \q_stop >
+ \@@_parse_date:w #2 / / / 0 \q_stop \exp_stop_f:
+ \prg_return_true: \else: \prg_return_false: \fi:
+ }
+\cs_new:Npn \@@_parse_date:w #1/#2/#3/ #4 \q_stop
+ { #1#2#3 }
+\cs_new_protected:Npn \@@_save_version_date:nnn #1#2#3
+ { \prop_gput:Nnn \g_@@_version_date_prop {#1} { {#2} {#3} } }
+\cs_new_protected:Npn \CTEX@versionitem #1 \efill
+ {
+ \@idxitem
+ \prop_get:NnNTF \g_@@_version_date_prop {#1} \l_@@_tmp_tl
+ { \exp_after:wN \@@_version_item:nnn \l_@@_tmp_tl {#1} }
+ { \BOOM }
+ }
+\cs_new_protected:Npn \@@_version_item:nnn #1#2#3
+ {
+ \noindent
+ \Hy@raisedlink { \belowpdfbookmark {#3} { HD.#3 } }
+ \textbf {#3} \hfill
+ \hbox:n
+ {
+ \footnotesize
+ \str_if_eq:nnTF {#1} {#2}
+ { ( #1 ) }
+ { ( #1 ~ -- ~ #2 ) }
+ }
+ \par \nopagebreak
+ }
+\prop_new:N \g_@@_version_date_prop
+\ctex_patch_cmd:Nnn \HDorg@theglossary
+ { \let \item \@idxitem }
+ { \let \item \CTEX@versionitem }
+\ctex_patch_cmd:Nnn \l@section { 2.5em } { 1.5em }
+\ctex_patch_cmd:Nnn \l@subsection { 2.5em } { 1.5em }
+\ctex_patch_cmd:Nnn \@wrglossary
+ { hdpindex }
+ {
+ \ifnum \c@HD@hypercount = \z@
+ hdpindex
+ \else
+ hdclindex { \the \c@HD@hypercount }
+ \fi
+ }
+%% 重定义 macrocode 环境的实现,逐行处理
+\cs_set_protected_nopar:Npn \xmacro@code
+ { \@@_marco_code:w }
+\cs_set_protected_nopar:Npn \sxmacro@code
+ {
+ \fontspec_print_visible_spaces:
+ \xmacro@code
+ }
+\cs_new_protected_nopar:Npn \@@_marco_code:w
+ {
+ \ifcodeline@index
+ \@@_marco_every_par:n { \@@_code_line_no: }
+ \else:
+ \@@_marco_every_par:n { }
+ \fi:
+ \exp_args:Nx \@@_make_finish_tag:n { \@currenvir }
+ \@@_verbatim_start:w
+ }
+\cs_new_protected:Npn \@@_marco_every_par:n #1
+ {
+ \everypar
+ {
+ \everypar {#1}
+ \if@inlabel
+ \global \@inlabelfalse
+ \@noparlistfalse
+ \llap { \box \@labels \hskip \leftskip }
+ \fi
+ #1
+ }
+ }
+\ctex_patch_cmd:Nnn \macro@code
+ { \if@inlabel \leavevmode \fi }
+ { \partopsep \z@skip }
+\group_begin:
+ \int_set:Nn \tex_endlinechar:D { -1 }
+ \use:n
+ {
+ \char_set_catcode_active:n { 32 }
+ \tl_const:Nn \c_@@_active_space_tl
+ }
+ { }
+\group_end:
+\group_begin:
+ \char_set_catcode_active:n { 13 }
+ \cs_new_protected:Npx \@@_make_finish_tag:n #1
+ {
+ \tl_set:Nn \exp_not:N \l_@@_verbatim_finish_tl
+ {
+ \c_percent_str
+ \prg_replicate:nn { 4 }
+ { \exp_not:o { \c_@@_active_space_tl } }
+ \exp_not:o { \active@escape@char } end
+ \c_left_brace_str #1 \c_right_brace_str
+ \exp_not:N ^^M
+ }
+ }
+ \cs_new_protected:Npn \@@_verbatim_start:w #1
+ {
+ \str_if_eq:nnTF {#1} { ^^M }
+ { \@@_verbatim_read_line:w }
+ { \@@_verbatim_read_line:w #1 }
+ }
+ \cs_new_protected:Npn \@@_verbatim_read_line:w #1 ^^M
+ {
+ \tl_set:Nn \l_@@_verbatim_line_tl { #1 ^^M }
+ \tl_if_eq:NNTF \l_@@_verbatim_line_tl \l_@@_verbatim_finish_tl
+ { \exp_args:Nx \end { \@currenvir } }
+ {
+ \@@_verbatim_process_line:
+ \@@_verbatim_read_line:w
+ }
+ }
+ \cs_new_protected:Npn \@@_swap_cr:
+ { \exp_after:wN \@@_swap_cr:w \l_@@_verbatim_line_tl }
+ \cs_new_protected:Npn \@@_swap_cr:w #1 ^^M
+ {
+ \group_insert_after:N ^^M
+ \tl_set:Nn \l_@@_verbatim_line_tl {#1}
+ }
+ \tl_const:Nn \c_@@_active_cr_tl { ^^M }
+\group_end:
+\tl_new:N \l_@@_verbatim_line_tl
+\tl_new:N \l_@@_verbatim_finish_tl
+\tl_new:N \g_@@_verbatim_verb_stop_tl
+\cs_new_protected_nopar:Npn \@@_process_normal_line:
+ {
+ \str_if_eq:eeTF
+ { \str_head:N \l_@@_verbatim_line_tl } { \c_percent_str }
+ { \@@_check_angle:x { \tl_tail:N \l_@@_verbatim_line_tl } }
+ { \@@_output_line: }
+ }
+\cs_new_protected_nopar:Npn \@@_process_verb_line:
+ {
+ \tl_if_eq:NNTF \l_@@_verbatim_line_tl \g_@@_verbatim_verb_stop_tl
+ {
+ \tl_gclear:N \g_@@_verbatim_verb_stop_tl
+ \cs_gset_eq:NN \@@_verbatim_process_line: \@@_process_normal_line:
+ \@@_output_module:nn
+ { \color { verb@guard } }
+ {
+ \@@_swap_cr:
+ \@@_module_pop:n { \l_@@_verbatim_line_tl }
+ }
+ }
+ { \tl_use:N \l_@@_verbatim_line_tl }
+ }
+\cs_new_eq:NN \@@_verbatim_process_line: \@@_process_normal_line:
+\DeclareDocumentCommand \CheckModules { }
+ { \cs_set_eq:NN \@@_verbatim_process_line: \@@_process_normal_line: }
+\DeclareDocumentCommand \DontCheckModules { }
+ { \cs_set_eq:NN \@@_verbatim_process_line: \@@_output_line: }
+\cs_new_protected:Npn \@@_check_angle:n #1
+ {
+ \str_if_eq:eeTF { \str_head:n {#1} } { < }
+ { \@@_check_module:x { \tl_tail:n {#1} } }
+ { \@@_output_percent_line: }
+ }
+\cs_generate_variant:Nn \@@_check_angle:n { x }
+\cs_new_protected:Npn \@@_check_module:n #1
+ {
+ \exp_args:Nx \str_case:nnF { \str_head:n {#1} }
+ {
+ { * } { \@@_module_star:w }
+ { / } { \@@_module_slash:w }
+ { @ } { \@@_module_at:w }
+ { < } { \@@_module_verb:w }
+ }
+ { \@@_module_pm:w }
+ #1 \q_stop
+ }
+\cs_generate_variant:Nn \@@_check_module:n { x }
+\group_begin:
+ \char_set_catcode_active:N \>
+ \cs_new_protected:Npn \@@_module_star:w #1 > #2 \q_stop
+ {
+ \@@_output_module:nn
+ { \@@_star_color: }
+ { \@@_module_push:n { \@@_module_angle:n {#1} } }
+ \@@_output_line:n {#2}
+ \@@_star_format:
+ }
+ \cs_new_protected:Npn \@@_module_slash:w #1 > #2 \q_stop
+ {
+ \@@_output_module:nn
+ { \@@_slash_color: }
+ { \@@_module_pop:n { \@@_module_angle:n {#1} } }
+ \@@_output_line:n {#2}
+ \@@_slash_format:
+ }
+ \cs_new_protected:Npn \@@_module_at:w @ @ = #1 > #2 \q_stop
+ {
+ \@@_output_module:nn
+ { \color { at@guard } }
+ { \@@_module_angle:n { @ @ = #1 } }
+ \tl_gset:Nn \g__codedoc_module_name_tl {#1}
+ \@@_output_line:n {#2}
+ }
+ \cs_new_protected:Npn \@@_module_pm:w #1 > #2 \q_stop
+ {
+ \tex_noindent:D
+ \hbox_overlap_left:n
+ {
+ \@@_output_module:nn
+ { \@@_pm_color: }
+ { \@@_module_angle:n {#1} }
+ \skip_horizontal:n { \leftskip + \smallskipamount }
+ }
+ \group_begin:
+ \@@_pm_format:
+ \@@_output_line:n {#2}
+ \group_end:
+ }
+ \cs_new_protected:Npn \@@_module_verb:w #1 \q_stop
+ {
+ \cs_gset_eq:NN \@@_verbatim_process_line: \@@_process_verb_line:
+ \tl_gset:Nx \g_@@_verbatim_verb_stop_tl
+ { \c_percent_str \tl_tail:n {#1} }
+ \@@_output_module:nn
+ { \color { verb@guard } }
+ {
+ \@@_swap_cr:
+ \@@_module_push:n { \l_@@_verbatim_line_tl }
+ }
+ }
+\group_end:
+\cs_new_protected_nopar:Npn \@@_output_line:
+ {
+ \tex_noindent:D
+ \@@_replace_at_at:N \l_@@_verbatim_line_tl
+ \tl_use:N \l_@@_verbatim_line_tl
+ }
+\cs_new_protected:Npn \@@_replace_at_at:N #1
+ {
+ \tl_if_empty:NF \g__codedoc_module_name_tl
+ {
+ \exp_args:NNo \@@_replace_at_at_aux:Nn
+ #1 \g__codedoc_module_name_tl
+ }
+ }
+\cs_new_protected:Npn \@@_replace_at_at_aux:Nn #1#2
+ {
+ \tl_replace_all:Nnn #1 { _ @ @ } { _ _ #2 }
+ \tl_replace_all:Nnn #1 { @ @ } { _ _ #2 }
+ }
+\cs_new_protected:Npn \@@_output_line:n #1
+ {
+ \tl_set:Nn \l_@@_verbatim_line_tl {#1}
+ \tl_if_eq:NNTF \l_@@_verbatim_line_tl \c_@@_active_cr_tl
+ { \tl_use:N \l_@@_verbatim_line_tl }
+ {
+ \str_if_eq:eeTF
+ { \str_head:N \l_@@_verbatim_line_tl }
+ { \c_percent_str }
+ { \@@_output_percent_line: }
+ { \@@_output_line: }
+ }
+ }
+\cs_new_protected:Npn \@@_output_percent_line:
+ {
+ \tex_noindent:D
+ \group_begin:
+ \color { code@gray }
+ \@@_swap_cr:
+ \str_if_eq:eeTF { \f@shape } { \updefault }
+ { \slshape }
+ { \upshape }
+ \@@_output_line:
+ \group_end:
+ }
+\cs_new_protected_nopar:Npn \@@_module_push:n
+ { \exp_args:No \@@_module_push_aux:nn { \int_use:N \c@HD@hypercount } }
+\cs_new_protected:Npn \@@_module_push_aux:nn #1
+ {
+ \seq_gpush:Nn \g_@@_module_dest_seq {#1}
+ \hypersetup { hidelinks }
+ \exp_args:Nx \hdclindex
+ { \zref@extractdefault { HD.#1 } { guard@end } { 1 } } { }
+ }
+\cs_new_protected_nopar:Npn \@@_module_pop:n
+ {
+ \seq_gpop:NNTF \g_@@_module_dest_seq \l_@@_tmp_tl
+ { \exp_args:No \@@_module_pop_aux:nn { \l_@@_tmp_tl } }
+ { \BOOM \use:n }
+ }
+\cs_new_protected:Npn \@@_module_pop_aux:nn #1
+ {
+ \zref@labelbylist { HD.#1 } { ctxdoc }
+ \hypersetup { hidelinks }
+ \hdclindex {#1} { }
+ }
+\seq_new:N \g_@@_module_dest_seq
+\zref@newlist { ctxdoc }
+\zref@newprop { guard@end } [ 1 ]
+ { \int_eval:n { \c@HD@hypercount - 1 } }
+\zref@addprop { ctxdoc } { guard@end }
+\cs_new_protected_nopar:Npn \@@_star_format:
+ {
+ \seq_gpush:No \g_@@_slash_format_seq { \macro@font }
+ \seq_gpop:NNF \g_@@_star_format_seq \l_@@_format_tl
+ { \@@_pop_format: }
+ \@@_select_format:
+ }
+\cs_new_protected_nopar:Npn \@@_slash_format:
+ {
+ \seq_gpop:NNTF \g_@@_slash_format_seq \l_@@_format_tl
+ {
+ \seq_gpush:No \g_@@_star_format_seq { \macro@font }
+ \@@_select_format:
+ }
+ { \BOOM }
+ }
+\cs_new_protected_nopar:Npn \@@_pm_format:
+ {
+ \seq_get:NNF \g_@@_star_format_seq \l_@@_format_tl
+ {
+ \@@_pop_format:
+ \seq_gpush:No \g_@@_star_format_seq { \l_@@_format_tl }
+ }
+ \cs_if_eq:NNF \macro@font \l_@@_format_tl
+ { \l_@@_format_tl }
+ }
+\cs_new_protected_nopar:Npn \@@_pop_format:
+ {
+ \seq_gpop_left:NN \g_@@_format_seq \l_@@_format_tl
+ \seq_gput_right:No \g_@@_format_seq { \l_@@_format_tl }
+ }
+\cs_new_protected_nopar:Npn \@@_select_format:
+ {
+ \cs_if_eq:NNF \macro@font \l_@@_format_tl
+ {
+ \cs_gset_eq:NN \macro@font \l_@@_format_tl
+ \macro@font
+ }
+ }
+\tl_new:N \l_@@_format_tl
+\seq_new:N \g_@@_format_seq
+\seq_new:N \g_@@_star_format_seq
+\seq_new:N \g_@@_slash_format_seq
+\seq_gput_right:Nn \g_@@_format_seq { \MacroFont }
+\seq_gput_right:Nn \g_@@_format_seq { \AltMacroFont }
+\cs_set_protected:Npn \MacroFont
+ {
+ \linespread { 1 }
+ \small
+ \fontseries { \mddefault }
+ \fontshape { \updefault }
+ \ttfamily
+ \ctexdocverbaddon
+ }
+\cs_set_protected:Npn \AltMacroFont
+ {
+ \linespread { 1 }
+ \small
+ \fontseries { \mddefault }
+ \fontshape { \sldefault }
+ \ttfamily
+ \ctexdocverbaddon
+ }
+\AtBeginDocument
+ {
+ \tl_gset:Nx \macro@font
+ { \seq_item:Nn \g_@@_format_seq { 1 } }
+ }
+\cs_new_protected:Npn \@@_output_module:nn #1#2
+ {
+ \tex_noindent:D
+ \group_begin:
+ #1
+ \footnotesize \normalfont \sffamily #2
+ \group_end:
+ }
+\cs_new_protected_nopar:Npn \@@_star_color:
+ {
+ \seq_gpop:NNTF \g_@@_star_color_seq \current@color
+ { \set@color }
+ { \@@_select_color: }
+ \seq_gpush:No \g_@@_slash_color_seq { \current@color }
+ }
+\cs_new_protected_nopar:Npn \@@_slash_color:
+ {
+ \seq_gpop:NNTF \g_@@_slash_color_seq \current@color
+ {
+ \set@color
+ \seq_gpush:No \g_@@_star_color_seq { \current@color }
+ }
+ { \BOOM }
+ }
+\cs_new_protected_nopar:Npn \@@_pm_color:
+ {
+ \seq_get:NNTF \g_@@_star_color_seq \current@color
+ { \set@color }
+ {
+ \@@_select_color:
+ \seq_gpush:No \g_@@_star_color_seq { \current@color }
+ }
+ }
+\seq_new:N \g_@@_star_color_seq
+\seq_new:N \g_@@_slash_color_seq
+\cs_new_protected_nopar:Npn \@@_select_color:
+ { \color { guard@series!!+ } }
+\definecolorseries { guard@series }
+ { cmyk } { last } { blue } { purple }
+\resetcolorseries [ 3 ] { guard@series }
+\definecolor { verb@guard } { rgb } { 0.5 , 0.5 , 0 }
+\definecolor { at@guard } { rgb } { 0.5 , 0 , 0.5 }
+\definecolor { code@gray } { gray } { 0.5 }
+\cs_new_protected:Npn \@@_module_angle:n #1
+ { \textlangle #1 \textrangle }
+\cs_new_protected_nopar:Npn \@@_code_line_no:
+ {
+ \int_gincr:N \c@CodelineNo
+ \hbox_overlap_left:n
+ {
+ \hbox_to_wd:nn
+ { \MacroIndent }
+ {
+ \HD@target
+ \tex_hss:D
+ \@@_code_line_no_style:
+ \theCodelineNo \enspace
+ }
+ \tex_kern:D \@totalleftmargin
+ }
+ }
+\tl_set:Nn \theCodelineNo
+ { \arabic { CodelineNo } }
+\cs_new_protected_nopar:Npn \@@_code_line_no_style:
+ { \color { code@gray } \normalfont \sffamily \tiny }
+\cs_set_protected:Npn \HD@SetMacroIndent #1
+ {
+ \group_begin:
+ \settowidth \MacroIndent
+ {
+ \@@_code_line_no_style:
+ \prg_replicate:nn { \tl_count:n {#1} } { 0 }
+ \enspace
+ }
+ \dim_gset_eq:NN \MacroIndent \MacroIndent
+ \group_end:
+ }
+\ExplSyntaxOff
+\AtBeginDocument{\addtocontents{toc}{\StopSpecialIndexModule}}
+\pdfstringdefDisableCommands{%
+ \let\path\meta
+ \let\opt\@firstofone}
+\preto\@thehead{\cslet{MakeUppercase\space}{\@iden}}
+\def\orbar{\textup{\textbar}}
+\def\defaultval#1{\textbf{\textup{#1}}}
+\def\defaultvalaux#1){\defaultval{#1}}
+\def\TF{true\orbar false}
+\def\TTF{\defaultval{true}\orbar false}
+\def\TFF{true\orbar\defaultval{false}}
+\protected\def\opt{\texttt}
+\def\pdfTeX{\hologo{pdfTeX}}
+\def\XeTeX{\hologo{XeTeX}}
+\def\XeLaTeX{\hologo{XeLaTeX}}
+\def\LuaLaTeX{\hologo{LuaLaTeX}}
+\def\pdfLaTeX{\hologo{pdfLaTeX}}
+\def\LaTeX{\hologo{LaTeX}}
+\def\LaTeXe{\hologo{LaTeX2e}}
+\def\LaTeXiii{\hologo{LaTeX3}}
+\def\dvipdfmx{DVIPDFM\textit{x}}
+\def\TeX{\hologo{TeX}}
+\def\ApTeX{Ap\TeX}
+\def\ApLaTeX{Ap\LaTeX}
+\def\upTeX{up\TeX}
+\def\upLaTeX{up\LaTeX}
+\def\bashcmd{\texttt}
+\def\TeXLive{\TeX\ Live}
+\def\MiKTeX{\hologo{MiKTeX}}
+\def\BSTACK{\begin{tabular}[t]{@{}l@{}}}
+\def\ESTACK{\end{tabular}}
+\newenvironment{defaultcapconfig}{%
+ \MakePercentComment
+ \input{ctex-name-utf8.cfg}%
+ \ExplSyntaxOff
+ \MakePercentIgnore}{}
+\def\ctexkit{\href{https://github.com/CTeX-org/ctex-kit/}{\texttt{ctex-kit}}}
+\def\ctexkitrev#1{%
+ \href{https://github.com/CTeX-org/ctex-kit/commit/#1}{\texttt{ctex-kit} rev. #1}}
+\appto\GlossaryParms{%
+ \raggedcolumns
+ \let\Hy@writebookmark\HDorg@writebookmark
+ \def\@idxitem{\par\hangindent 2em }%
+ \def\subitem{\@idxitem\hspace*{1em}}%
+ \def\subsubitem{\@idxitem\hspace*{2em}}}
+\def\glossaryname{版本历史}
+\GlossaryPrologue{\section{\glossaryname}}
+\IndexPrologue{%
+ \section{\indexname}
+ \textit{意大利体的数字表示描述对应索引项的页码;
+ 带下划线的数字表示定义对应索引项的代码行号;
+ 罗马字体的数字表示使用对应索引项的代码行号。}}
+\def\IndexLayout{%
+ \newgeometry{hmargin=15mm,vmargin={25mm,15mm},footskip=7mm}%
+ \setlength\IndexMin{.5\textheight}%
+ \ctexset{section/numbering=false}%
+ \StopSpecialIndexModule}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</ctxdoc>
+% \end{macrocode}
+%
+% \subsection{\pkg{ctxdocstrip}}
+%
+% \begin{macrocode}
+%<*docstrip>
+\csname ctxdocstriploaded\endcsname
+\let\ctxdocstriploaded\endinput
+\input l3docstrip %
+\edef\ctxresetcatcode{%
+ \catcode\number`\$=\the\catcode`\$\relax}
+\makeOther\$
+\def\plusOption+#1>#2$#3$\endLine{%
+ \maybeMsg{<+#1 . >}%
+ \Evaluate{#1}%
+ \def\ctxCMD{#2}%
+ \def\ctxID{$#3$}%
+ \def\do##1##2##3{%
+ \if1\Expr{##2}%
+ \readIDFile
+ \StreamPut##1{\inLine}%
+ \fi
+ }%
+ \activefiles
+}
+\def\readIDFile{%
+ \openin\inputcheck=\jobname.id\relax
+ \ifeof\inputcheck\else
+ \read \inputcheck to \inLine
+ \closein\inputcheck
+ \ifx\inLine\empty\else
+ \let\ctxID\inLine
+ \fi
+ \fi
+ \maybeMsg{^^J\ctxID^^J}%
+ \def\inLine{\ctxCMD\ctxID}%
+}
+\keepsilent
+\askforoverwritefalse
+\declarepreamble\emptypreamble
+\endpreamble
+\declarepostamble\emptypostamble
+\endpostamble
+\ctxresetcatcode
+%</docstrip>
+% \end{macrocode}
+%
+% \end{implementation}
+%
+\endinput
diff --git a/language/chinese/ctex/ctex.pdf b/language/chinese/ctex/ctex.pdf
new file mode 100644
index 0000000000..88f89a1e10
--- /dev/null
+++ b/language/chinese/ctex/ctex.pdf
Binary files differ
diff --git a/language/chinese/ctex/ctexpunct.spa b/language/chinese/ctex/ctexpunct.spa
new file mode 100644
index 0000000000..2c6e37c497
--- /dev/null
+++ b/language/chinese/ctex/ctexpunct.spa
@@ -0,0 +1,30 @@
+\ctexspadef{adobezhsong}{70,15,61,8,63,14,58,7,64,13,62,12,60,11,61,15,62,14,51,6,58,5,58,8,7,5,12,12,10,68,13,63,17,63,20,69,19,69,17,63,19,70,17,55,10,10,14,63,10,65,10,61,13,62,15,61,7,49,7,56,8,58,15,69,8,61,14,63,8,57,,,}
+\ctexspadef{adobezhhei}{78,3,64,3,64,2,61,3,72,3,70,3,72,3,70,3,60,3,51,3,62,3,66,3,0,0,10,10,3,70,5,70,6,75,6,78,17,67,13,67,17,67,4,50,8,8,3,72,3,70,3,72,3,70,3,60,3,51,3,62,3,66,3,78,7,62,3,63,3,61,,,}
+\ctexspadef{adobezhkai}{76,10,55,8,63,4,62,4,71,4,65,4,71,4,74,4,54,4,54,4,62,4,62,4,0,0,11,11,5,72,6,71,7,78,7,79,18,68,18,68,18,68,2,46,14,12,4,71,4,65,4,71,4,74,4,54,4,54,4,62,4,62,10,76,8,55,4,63,4,62,,,}
+\ctexspadef{adobezhfs}{76,10,56,8,63,4,61,4,71,4,65,4,71,4,74,4,54,4,54,4,62,4,62,4,0,0,11,11,4,72,5,71,8,79,8,79,18,68,19,68,18,68,2,46,14,13,4,71,4,65,4,71,4,74,4,54,4,54,4,62,4,62,10,76,8,56,4,63,4,61,,,}
+\ctexspadef{fandolzhsong}{69,19,58,8,59,9,60,10,60,11,63,13,67,17,57,7,61,11,54,5,57,7,58,7,0,0,17,17,15,65,14,64,19,69,8,81,20,70,19,69,20,70,7,57,14,14,11,61,13,63,17,67,7,57,11,61,5,55,7,57,7,58,19,69,8,58,9,59,10,60,,,}
+\ctexspadef{fandolzhsongb}{66,16,54,4,59,9,60,10,60,11,63,13,66,16,57,7,61,11,54,5,57,7,58,7,0,0,14,14,15,65,14,64,17,67,6,78,17,67,17,67,17,67,32,32,14,14,11,61,13,63,16,66,7,57,11,61,4,55,7,57,7,58,16,66,4,54,9,59,10,60,,,}
+\ctexspadef{fandolzhhei}{71,21,60,10,59,9,60,10,60,11,62,12,67,17,55,5,61,11,54,5,57,7,58,7,0,0,18,18,15,65,14,64,21,71,10,82,21,71,21,71,21,71,32,32,14,14,11,61,12,62,17,67,5,55,11,61,5,55,7,57,7,58,21,71,10,60,9,59,10,60,,,}
+\ctexspadef{fandolzhheib}{70,20,60,10,59,9,60,10,60,11,63,13,65,15,56,6,61,11,54,5,57,7,58,7,3,3,18,18,15,65,14,64,20,70,8,82,20,70,20,70,20,69,33,33,11,11,11,61,13,63,15,65,6,56,11,61,5,55,7,57,7,58,20,70,10,60,9,59,10,60,,,}
+\ctexspadef{fandolzhkai}{69,19,58,8,59,9,60,10,60,11,63,13,67,18,57,7,61,11,54,5,57,7,58,7,0,0,11,11,15,65,14,64,19,69,11,78,20,70,19,69,20,70,32,32,14,14,11,61,13,63,17,67,7,57,11,61,5,55,7,57,7,58,19,69,8,58,9,59,10,60,,,}
+\ctexspadef{fandolzhfs}{69,19,58,8,59,9,60,10,60,11,63,13,67,17,55,5,61,11,54,5,57,7,58,7,0,0,17,17,15,65,14,64,19,69,8,81,20,70,19,69,20,70,32,32,14,14,11,61,13,63,17,67,5,55,11,61,5,55,7,57,7,58,19,69,8,58,9,59,10,60,,,}
+\ctexspadef{founderzhsong}{68,18,50,7,48,18,45,27,48,25,46,27,48,29,48,40,48,23,42,17,45,30,45,30,0,0,10,10,11,60,12,61,18,68,7,82,18,68,17,66,19,68,8,57,12,12,25,48,27,46,29,48,40,47,23,48,17,42,30,45,30,45,18,68,8,57,18,48,27,45,,,}
+\ctexspadef{founderzhsongb}{67,17,55,5,48,20,45,27,48,26,45,29,48,28,48,40,48,23,44,18,45,30,45,31,0,0,9,9,15,64,14,64,16,66,4,79,18,66,17,67,17,68,7,57,11,11,26,48,29,45,28,48,40,47,23,48,18,44,30,45,32,45,17,67,6,55,20,48,27,45,,,}
+\ctexspadef{founderzhhei}{68,18,56,6,47,20,44,27,47,28,45,35,47,30,47,37,46,23,39,16,45,30,45,30,0,0,10,10,10,60,9,59,18,68,7,80,18,68,18,68,21,71,5,55,9,9,28,47,35,45,30,47,37,47,23,46,16,39,30,45,30,45,18,68,6,56,20,47,27,44,,,}
+\ctexspadef{founderzhheil}{69,19,64,14,48,18,45,27,48,27,48,37,48,28,48,39,48,24,44,19,45,30,45,31,0,0,13,13,11,61,9,59,19,69,9,81,21,73,21,73,23,73,4,54,9,9,27,48,37,48,28,48,39,48,24,48,19,44,30,45,31,45,19,69,14,64,18,48,27,45,,,}
+\ctexspadef{founderzhkai}{68,18,50,7,48,19,45,27,48,27,46,27,48,29,48,40,48,22,42,17,45,30,45,30,0,0,10,11,10,61,12,61,14,66,7,82,18,68,13,66,18,69,8,58,16,16,27,48,27,46,29,48,40,47,22,48,17,42,30,45,30,45,18,67,7,50,19,48,27,45,,,}
+\ctexspadef{founderzhfs}{68,18,50,7,48,19,45,27,48,27,46,27,48,29,48,40,48,22,42,17,45,30,45,30,0,0,11,10,11,59,12,61,18,68,10,80,18,68,17,66,19,68,8,57,27,27,27,48,27,46,29,48,40,47,22,48,17,42,30,45,30,45,18,68,8,57,19,48,27,45,,,}
+\ctexspadef{founderzhli}{69,19,58,9,48,21,45,27,48,25,47,32,48,27,48,39,48,21,43,17,47,33,47,33,0,0,11,11,11,61,13,63,17,66,7,80,20,70,19,68,20,70,3,54,9,9,25,48,32,47,27,48,40,48,21,48,17,43,33,47,33,47,19,69,9,58,21,48,27,45,,,}
+\ctexspadef{founderzhyou}{67,16,61,11,48,11,45,14,48,20,48,17,48,16,48,39,48,12,42,16,48,30,48,30,0,0,12,11,11,61,9,59,17,67,11,83,20,70,18,69,21,70,4,54,12,12,20,48,17,48,16,48,39,48,12,48,16,41,30,48,29,48,16,67,11,61,11,48,14,45,,,}
+\ctexspadef{founderzhyoub}{69,18,60,10,46,13,43,16,46,17,45,20,46,18,46,31,45,13,38,14,44,29,46,30,-3,0,10,9,9,61,9,59,19,69,7,82,18,68,18,67,20,69,2,52,17,17,17,46,20,45,18,46,32,46,13,45,14,38,29,44,30,46,19,69,10,60,14,46,17,43,,,}
+\ctexspadef{ubuntuzhsong}{66,21,58,7,58,8,55,11,59,18,71,7,71,2,40,38,58,13,52,4,64,6,58,14,7,7,11,10,38,38,38,38,17,73,21,70,13,78,13,75,27,63,4,52,4,5,18,59,7,71,2,71,38,40,13,58,4,51,6,64,14,58,16,70,8,56,10,58,11,54,,,}
+\ctexspadef{ubuntuzhhei}{6,6,4,4,60,10,61,11,62,12,65,15,67,15,62,15,63,13,57,6,19,52,63,13,-0,0,11,11,10,70,10,68,44,44,45,44,44,44,44,44,43,45,27,27,19,16,12,62,15,65,15,67,15,62,13,63,6,56,3,68,13,63,6,6,4,4,10,60,11,61,,,}
+\ctexspadef{ubuntuzhkai}{68,20,58,9,58,8,55,11,59,18,59,20,59,18,53,23,58,13,52,4,58,8,58,14,7,7,11,10,38,38,38,38,40,42,43,43,43,43,43,43,43,43,25,28,10,11,18,59,20,59,18,59,24,53,13,58,4,51,8,58,14,58,17,70,9,58,10,58,11,54,,,}
+\ctexspadef{windowszhsong}{67,13,46,13,62,14,61,14,65,17,57,14,55,14,53,18,64,11,54,10,47,11,49,14,3,3,10,10,11,64,14,64,11,71,13,73,12,73,12,73,23,63,14,52,15,13,16,66,14,57,14,55,19,52,11,66,9,54,11,48,14,51,14,68,13,48,14,62,14,61,,,}
+\ctexspadef{windowszhhei}{78,9,56,9,50,20,50,20,50,23,61,11,54,14,50,26,50,16,50,7,47,11,49,14,0,0,9,11,14,64,13,63,14,72,14,73,19,68,18,68,25,64,15,48,12,12,22,50,11,60,14,55,25,50,16,50,7,50,11,48,14,51,8,79,8,56,18,50,18,50,,,}
+\ctexspadef{windowszhkai}{67,13,46,13,50,20,50,20,50,23,61,11,54,14,50,26,50,16,50,7,47,11,49,14,0,0,10,10,11,64,13,63,11,71,13,73,17,68,17,68,23,63,15,48,12,12,22,50,11,60,14,55,25,50,16,50,7,50,11,48,14,51,14,68,13,48,18,50,18,50,,,}
+\ctexspadef{windowszhfs}{67,13,46,13,62,14,61,14,65,17,57,14,55,14,53,18,64,11,54,10,47,11,49,14,3,3,11,11,14,66,14,63,14,71,14,73,14,72,14,72,23,63,14,52,16,12,16,66,14,57,14,55,19,52,11,66,9,54,11,48,14,51,14,68,13,48,14,62,14,61,,,}
+\ctexspadef{windowszhli}{63,9,42,6,66,11,62,11,55,12,61,9,69,11,55,19,58,16,52,2,52,6,52,6,29,4,9,5,8,64,4,66,8,73,12,72,23,66,20,63,21,65,34,32,12,12,9,59,15,57,14,66,20,50,16,59,7,48,9,52,9,45,4,66,6,43,14,62,14,61,,,}
+\ctexspadef{windowszhyou}{63,9,42,6,66,11,62,11,55,12,61,9,69,11,61,12,58,16,52,2,52,6,52,6,14,4,9,5,8,64,4,66,8,73,12,72,23,66,20,63,21,65,34,32,11,10,9,59,15,57,14,66,14,56,16,59,7,48,9,52,9,45,4,66,6,43,14,62,14,61,,,}
+\ctexspadef{windowszhyahei}{80,6,63,6,64,8,59,8,64,10,40,34,44,35,38,37,60,11,49,7,55,7,56,10,0,0,7,7,6,70,6,69,40,45,44,44,44,44,40,44,44,44,33,28,10,10,10,64,34,40,35,44,37,38,11,60,8,48,7,55,10,56,6,80,6,63,8,64,8,59,,,}
+\ctexspadef{windowszhyaheib}{74,6,53,6,60,7,57,7,62,8,38,31,42,34,36,35,57,9,48,4,55,5,57,6,0,0,7,7,3,67,5,68,38,43,41,41,41,41,38,41,41,41,31,27,8,8,8,62,31,38,34,42,35,36,9,56,4,48,5,55,6,57,6,74,6,53,7,60,8,57,,,}
diff --git a/language/chinese/ftp.sites b/language/chinese/ftp.sites
new file mode 100644
index 0000000000..b2d103ac78
--- /dev/null
+++ b/language/chinese/ftp.sites
@@ -0,0 +1,53 @@
+Here are some useful anonymous ftp sites for Chinese related software:
+
+In the US:
+
+ ahkcus.org [192.55.187.25]
+ [Directories indicated in parentheses]
+ Articles in BIG5 from HKU (big5/),
+ IFCSS Newsletters in GB (gb/ifcss-nl/),
+ CND Chinese Magazine in GB (gb/cnd-cm/, no articles in this
+ directory yet),
+ CND archives(English) (cnd-g/, cnd-us/, cnd-ca/, cnd-ep/)
+ HKU Chinese News utilities (src/), GB<->BIG5 conversion utilities for
+ unix and vms (src/, src/vms/),
+ BYX1.1 Chinese Editor (src/)
+
+ blackbox.hacc.washington.edu [128.95.200.1]
+ pub/poorman/
+ Poorman's TeX (Chinese and Japanese supported)
+
+ crl.nmsu.edu [128.123.1.14]
+ pub/chinese/
+ pub/chinese/fonts/
+ pub/misc/
+ Chinese X11 fonts, ChTeX, this file, kterm 4.1.2,
+ dvi2ps that works with ChTeX
+ Poor Man's TeX (GB and Big5 support)
+
+ cs.purdue.edu [128.10.2.1]
+ pub/ygz/
+ cxterm, celvis, cless, cclib16* fonts
+
+ ftphost.cac.washington.edu [128.95.112.1]
+ pub/
+ chinese.tar.Z - assorted programs [some programs duplicated
+ from june.cs.washington.edu]
+
+ hanauma.stanford.edu [36.51.0.16]
+ pub/zhongwen/
+ beijing24.bdf, Pinyin pronunciation tables,
+ Pinyin->GB code table
+
+ msdos.archive.umich.edu [141.211.165.34]
+ msdos/foreign_lang/chinese/
+ Duke Chinese Typist (dct*.arc)
+
+ neon.stanford.edu [36.28.0.92]
+ incomming/ChTeX.tar.Z
+ M. Pinghua Young's version with LaTeX font support
+
+In Sweden:
+
+ kth.se [130.237.72.201]
+ Mirrors of some of the above sites and other stuff.
diff --git a/language/chinese/pmtex/wcksa4.300pk b/language/chinese/pmtex/wcksa4.300pk
new file mode 100644
index 0000000000..fe4aaf1d67
--- /dev/null
+++ b/language/chinese/pmtex/wcksa4.300pk
Binary files differ
diff --git a/language/chinese/pmtex/wcksa4.tfm b/language/chinese/pmtex/wcksa4.tfm
new file mode 100644
index 0000000000..e15458f03c
--- /dev/null
+++ b/language/chinese/pmtex/wcksa4.tfm
Binary files differ
diff --git a/language/chinese/pmtex/wcksb0.300pk b/language/chinese/pmtex/wcksb0.300pk
new file mode 100644
index 0000000000..2ba5aaf629
--- /dev/null
+++ b/language/chinese/pmtex/wcksb0.300pk
Binary files differ
diff --git a/language/chinese/pmtex/wcksb0.tfm b/language/chinese/pmtex/wcksb0.tfm
new file mode 100644
index 0000000000..18eed13658
--- /dev/null
+++ b/language/chinese/pmtex/wcksb0.tfm
Binary files differ
diff --git a/language/chinese/pmtex/wcksb1.300pk b/language/chinese/pmtex/wcksb1.300pk
new file mode 100644
index 0000000000..dd05af6f4c
--- /dev/null
+++ b/language/chinese/pmtex/wcksb1.300pk
Binary files differ
diff --git a/language/chinese/pmtex/wcksb1.tfm b/language/chinese/pmtex/wcksb1.tfm
new file mode 100644
index 0000000000..18eed13658
--- /dev/null
+++ b/language/chinese/pmtex/wcksb1.tfm
Binary files differ
diff --git a/language/chinese/pmtex/wcksb2.300pk b/language/chinese/pmtex/wcksb2.300pk
new file mode 100644
index 0000000000..0b21e535ed
--- /dev/null
+++ b/language/chinese/pmtex/wcksb2.300pk
Binary files differ
diff --git a/language/chinese/pmtex/wcksb2.tfm b/language/chinese/pmtex/wcksb2.tfm
new file mode 100644
index 0000000000..18eed13658
--- /dev/null
+++ b/language/chinese/pmtex/wcksb2.tfm
Binary files differ
diff --git a/language/chinese/pmtex/wcksb3.300pk b/language/chinese/pmtex/wcksb3.300pk
new file mode 100644
index 0000000000..dfd557a2e7
--- /dev/null
+++ b/language/chinese/pmtex/wcksb3.300pk
Binary files differ
diff --git a/language/chinese/pmtex/wcksb3.tfm b/language/chinese/pmtex/wcksb3.tfm
new file mode 100644
index 0000000000..18eed13658
--- /dev/null
+++ b/language/chinese/pmtex/wcksb3.tfm
Binary files differ
diff --git a/language/chinese/pmtex/wcksb4.300pk b/language/chinese/pmtex/wcksb4.300pk
new file mode 100644
index 0000000000..bfca4def2f
--- /dev/null
+++ b/language/chinese/pmtex/wcksb4.300pk
Binary files differ
diff --git a/language/chinese/pmtex/wcksb4.tfm b/language/chinese/pmtex/wcksb4.tfm
new file mode 100644
index 0000000000..18eed13658
--- /dev/null
+++ b/language/chinese/pmtex/wcksb4.tfm
Binary files differ
diff --git a/language/chinese/pmtex/wcksb5.300pk b/language/chinese/pmtex/wcksb5.300pk
new file mode 100644
index 0000000000..daa07d44ef
--- /dev/null
+++ b/language/chinese/pmtex/wcksb5.300pk
Binary files differ
diff --git a/language/chinese/pmtex/wcksb5.tfm b/language/chinese/pmtex/wcksb5.tfm
new file mode 100644
index 0000000000..18eed13658
--- /dev/null
+++ b/language/chinese/pmtex/wcksb5.tfm
Binary files differ
diff --git a/language/chinese/pmtex/wcksb6.300pk b/language/chinese/pmtex/wcksb6.300pk
new file mode 100644
index 0000000000..059305518c
--- /dev/null
+++ b/language/chinese/pmtex/wcksb6.300pk
Binary files differ
diff --git a/language/chinese/pmtex/wcksb6.tfm b/language/chinese/pmtex/wcksb6.tfm
new file mode 100644
index 0000000000..18eed13658
--- /dev/null
+++ b/language/chinese/pmtex/wcksb6.tfm
Binary files differ
diff --git a/language/chinese/pmtex/wcksb7.300pk b/language/chinese/pmtex/wcksb7.300pk
new file mode 100644
index 0000000000..cb6c9c0d90
--- /dev/null
+++ b/language/chinese/pmtex/wcksb7.300pk
Binary files differ
diff --git a/language/chinese/pmtex/wcksb7.tfm b/language/chinese/pmtex/wcksb7.tfm
new file mode 100644
index 0000000000..18eed13658
--- /dev/null
+++ b/language/chinese/pmtex/wcksb7.tfm
Binary files differ
diff --git a/language/chinese/pmtex/wcksb8.300pk b/language/chinese/pmtex/wcksb8.300pk
new file mode 100644
index 0000000000..35c93083cb
--- /dev/null
+++ b/language/chinese/pmtex/wcksb8.300pk
Binary files differ
diff --git a/language/chinese/pmtex/wcksb8.tfm b/language/chinese/pmtex/wcksb8.tfm
new file mode 100644
index 0000000000..18eed13658
--- /dev/null
+++ b/language/chinese/pmtex/wcksb8.tfm
Binary files differ
diff --git a/language/chinese/pmtex/wcksb9.300pk b/language/chinese/pmtex/wcksb9.300pk
new file mode 100644
index 0000000000..15bdc3e399
--- /dev/null
+++ b/language/chinese/pmtex/wcksb9.300pk
Binary files differ
diff --git a/language/chinese/pmtex/wcksb9.tfm b/language/chinese/pmtex/wcksb9.tfm
new file mode 100644
index 0000000000..18eed13658
--- /dev/null
+++ b/language/chinese/pmtex/wcksb9.tfm
Binary files differ
diff --git a/language/chinese/pmtex/wcksba.300pk b/language/chinese/pmtex/wcksba.300pk
new file mode 100644
index 0000000000..21cf529c34
--- /dev/null
+++ b/language/chinese/pmtex/wcksba.300pk
Binary files differ
diff --git a/language/chinese/pmtex/wcksba.tfm b/language/chinese/pmtex/wcksba.tfm
new file mode 100644
index 0000000000..18eed13658
--- /dev/null
+++ b/language/chinese/pmtex/wcksba.tfm
Binary files differ
diff --git a/language/chinese/pmtex/wcksbb.300pk b/language/chinese/pmtex/wcksbb.300pk
new file mode 100644
index 0000000000..ce07585b74
--- /dev/null
+++ b/language/chinese/pmtex/wcksbb.300pk
Binary files differ
diff --git a/language/chinese/pmtex/wcksbb.tfm b/language/chinese/pmtex/wcksbb.tfm
new file mode 100644
index 0000000000..18eed13658
--- /dev/null
+++ b/language/chinese/pmtex/wcksbb.tfm
Binary files differ
diff --git a/language/chinese/pmtex/wcksbc.300pk b/language/chinese/pmtex/wcksbc.300pk
new file mode 100644
index 0000000000..f0c3643207
--- /dev/null
+++ b/language/chinese/pmtex/wcksbc.300pk
Binary files differ
diff --git a/language/chinese/pmtex/wcksbc.tfm b/language/chinese/pmtex/wcksbc.tfm
new file mode 100644
index 0000000000..18eed13658
--- /dev/null
+++ b/language/chinese/pmtex/wcksbc.tfm
Binary files differ
diff --git a/language/chinese/pmtex/wcksbd.300pk b/language/chinese/pmtex/wcksbd.300pk
new file mode 100644
index 0000000000..814b4ed4d4
--- /dev/null
+++ b/language/chinese/pmtex/wcksbd.300pk
Binary files differ
diff --git a/language/chinese/pmtex/wcksbd.tfm b/language/chinese/pmtex/wcksbd.tfm
new file mode 100644
index 0000000000..18eed13658
--- /dev/null
+++ b/language/chinese/pmtex/wcksbd.tfm
Binary files differ
diff --git a/language/chinese/pmtex/wcksbe.300pk b/language/chinese/pmtex/wcksbe.300pk
new file mode 100644
index 0000000000..b1f9c1522a
--- /dev/null
+++ b/language/chinese/pmtex/wcksbe.300pk
Binary files differ
diff --git a/language/chinese/pmtex/wcksbe.tfm b/language/chinese/pmtex/wcksbe.tfm
new file mode 100644
index 0000000000..18eed13658
--- /dev/null
+++ b/language/chinese/pmtex/wcksbe.tfm
Binary files differ
diff --git a/language/chinese/pmtex/wcksbf.300pk b/language/chinese/pmtex/wcksbf.300pk
new file mode 100644
index 0000000000..bd4885b7d5
--- /dev/null
+++ b/language/chinese/pmtex/wcksbf.300pk
Binary files differ
diff --git a/language/chinese/pmtex/wcksbf.tfm b/language/chinese/pmtex/wcksbf.tfm
new file mode 100644
index 0000000000..18eed13658
--- /dev/null
+++ b/language/chinese/pmtex/wcksbf.tfm
Binary files differ
diff --git a/language/chinese/pmtex/wcksc0.300pk b/language/chinese/pmtex/wcksc0.300pk
new file mode 100644
index 0000000000..f972479782
--- /dev/null
+++ b/language/chinese/pmtex/wcksc0.300pk
Binary files differ
diff --git a/language/chinese/pmtex/wcksc0.tfm b/language/chinese/pmtex/wcksc0.tfm
new file mode 100644
index 0000000000..18eed13658
--- /dev/null
+++ b/language/chinese/pmtex/wcksc0.tfm
Binary files differ
diff --git a/language/chinese/pmtex/wcksc1.300pk b/language/chinese/pmtex/wcksc1.300pk
new file mode 100644
index 0000000000..35b4243c97
--- /dev/null
+++ b/language/chinese/pmtex/wcksc1.300pk
Binary files differ
diff --git a/language/chinese/pmtex/wcksc1.tfm b/language/chinese/pmtex/wcksc1.tfm
new file mode 100644
index 0000000000..18eed13658
--- /dev/null
+++ b/language/chinese/pmtex/wcksc1.tfm
Binary files differ
diff --git a/language/chinese/pmtex/wcksc2.300pk b/language/chinese/pmtex/wcksc2.300pk
new file mode 100644
index 0000000000..e007e44037
--- /dev/null
+++ b/language/chinese/pmtex/wcksc2.300pk
Binary files differ
diff --git a/language/chinese/pmtex/wcksc2.tfm b/language/chinese/pmtex/wcksc2.tfm
new file mode 100644
index 0000000000..18eed13658
--- /dev/null
+++ b/language/chinese/pmtex/wcksc2.tfm
Binary files differ
diff --git a/language/chinese/pmtex/wcksc3.300pk b/language/chinese/pmtex/wcksc3.300pk
new file mode 100644
index 0000000000..6e70b55af1
--- /dev/null
+++ b/language/chinese/pmtex/wcksc3.300pk
Binary files differ
diff --git a/language/chinese/pmtex/wcksc3.tfm b/language/chinese/pmtex/wcksc3.tfm
new file mode 100644
index 0000000000..18eed13658
--- /dev/null
+++ b/language/chinese/pmtex/wcksc3.tfm
Binary files differ
diff --git a/language/chinese/pmtex/wcksc4.300pk b/language/chinese/pmtex/wcksc4.300pk
new file mode 100644
index 0000000000..370de9438f
--- /dev/null
+++ b/language/chinese/pmtex/wcksc4.300pk
Binary files differ
diff --git a/language/chinese/pmtex/wcksc4.tfm b/language/chinese/pmtex/wcksc4.tfm
new file mode 100644
index 0000000000..18eed13658
--- /dev/null
+++ b/language/chinese/pmtex/wcksc4.tfm
Binary files differ
diff --git a/language/chinese/pmtex/wcksc5.300pk b/language/chinese/pmtex/wcksc5.300pk
new file mode 100644
index 0000000000..4a947c2a78
--- /dev/null
+++ b/language/chinese/pmtex/wcksc5.300pk
Binary files differ
diff --git a/language/chinese/pmtex/wcksc5.tfm b/language/chinese/pmtex/wcksc5.tfm
new file mode 100644
index 0000000000..18eed13658
--- /dev/null
+++ b/language/chinese/pmtex/wcksc5.tfm
Binary files differ
diff --git a/language/chinese/pmtex/wcksc6.300pk b/language/chinese/pmtex/wcksc6.300pk
new file mode 100644
index 0000000000..46e085eb15
--- /dev/null
+++ b/language/chinese/pmtex/wcksc6.300pk
Binary files differ
diff --git a/language/chinese/pmtex/wcksc6.tfm b/language/chinese/pmtex/wcksc6.tfm
new file mode 100644
index 0000000000..18eed13658
--- /dev/null
+++ b/language/chinese/pmtex/wcksc6.tfm
Binary files differ
diff --git a/language/chinese/pmtex/wcksc7.300pk b/language/chinese/pmtex/wcksc7.300pk
new file mode 100644
index 0000000000..634617187d
--- /dev/null
+++ b/language/chinese/pmtex/wcksc7.300pk
Binary files differ
diff --git a/language/chinese/pmtex/wcksc7.tfm b/language/chinese/pmtex/wcksc7.tfm
new file mode 100644
index 0000000000..18eed13658
--- /dev/null
+++ b/language/chinese/pmtex/wcksc7.tfm
Binary files differ
diff --git a/language/chinese/pmtex/wcksc8.300pk b/language/chinese/pmtex/wcksc8.300pk
new file mode 100644
index 0000000000..650c56d4b0
--- /dev/null
+++ b/language/chinese/pmtex/wcksc8.300pk
Binary files differ
diff --git a/language/chinese/pmtex/wcksc8.tfm b/language/chinese/pmtex/wcksc8.tfm
new file mode 100644
index 0000000000..18eed13658
--- /dev/null
+++ b/language/chinese/pmtex/wcksc8.tfm
Binary files differ
diff --git a/language/chinese/zhlineskip/CJKmetrics.pdf b/language/chinese/zhlineskip/CJKmetrics.pdf
new file mode 100644
index 0000000000..7b0d83b785
--- /dev/null
+++ b/language/chinese/zhlineskip/CJKmetrics.pdf
Binary files differ
diff --git a/language/chinese/zhlineskip/Latinmetrics.pdf b/language/chinese/zhlineskip/Latinmetrics.pdf
new file mode 100644
index 0000000000..afe910542e
--- /dev/null
+++ b/language/chinese/zhlineskip/Latinmetrics.pdf
Binary files differ
diff --git a/language/chinese/zhlineskip/README.md b/language/chinese/zhlineskip/README.md
new file mode 100644
index 0000000000..7b738ff386
--- /dev/null
+++ b/language/chinese/zhlineskip/README.md
@@ -0,0 +1,49 @@
+zhlineskip
+==========
+
+`zhlineskip` is a package for typesetting CJK documents. This package allows users
+to specify two ratios: One between the leading and the font size of the body text
+and the other between those of the footnote text.
+For Latin typography, these ratios usually range
+[from&nbsp;1.2 to&nbsp;1.45](https://practicaltypography.com/line-spacing.html),
+but they should be larger for CJK typography (usually from&nbsp;1.5 to&nbsp;1.67).
+
+Although CJK text requires larger line spacing, maths formulae should follow
+the rules of Latin typography, since maths often consists of only Latin-based
+letters and symbols. The `zhlineskip` package is capable of restoring the
+maths leading to that of the Latin text.
+
+Finally, it is possible to achieve the “Microsoft Word multiple line spacing”
+style using `zhlineskip`.
+
+Contributing
+------------
+
+This package is a part of the [CTeX-kit](https://github.com/CTeX-org/ctex-kit) project.
+
+Issues and pull requests are welcome.
+
+Copyright and Licence
+---------------------
+
+ Copyright (C) 2018, 2019 by Ruixi Zhang <ruixizhang42@gmail.com>
+
+ This work may be distributed and/or modified under the
+ conditions of the LaTeX Project Public License, either version 1.3c
+ of this license or (at your option) any later version.
+ The latest version of this license is in
+ https://www.latex-project.org/lppl.txt
+ and version 1.3c or later is part of all distributions of LaTeX
+ version 2005/12/01 or later.
+
+ This work has the LPPL maintenance status `maintained'.
+
+ The Current Maintainer of this work is Ruixi Zhang.
+
+ This work consists of the files zhlineskip.sty,
+ zhlineskip.tex,
+ zhlineskip-test.tex,
+ Latinmetrics.pdf,
+ CJKmetrics.pdf,
+ README.md (this file)
+ and the derived file zhlineskip.pdf. \ No newline at end of file
diff --git a/language/chinese/zhlineskip/zhlineskip-test.tex b/language/chinese/zhlineskip/zhlineskip-test.tex
new file mode 100644
index 0000000000..17c072f991
--- /dev/null
+++ b/language/chinese/zhlineskip/zhlineskip-test.tex
@@ -0,0 +1,48 @@
+% !TeX program = XeLaTeX
+\documentclass[no-math,a4paper]{ctexart}
+\usepackage{newpxtext,newpxmath} % https://ctan.org/pkg/newpx
+\usepackage{blindtext} % https://ctan.org/pkg/blindtext
+\usepackage{zhlipsum} % https://ctan.org/pkg/zhlipsum
+\usepackage{amsmath} % https://ctan.org/pkg/amsmath
+\usepackage{caption} % https://ctan.org/pkg/caption
+\usepackage{booktabs} % https://ctan.org/pkg/booktabs
+\usepackage[width=378bp]{geometry} % https://ctan.org/pkg/geometry
+
+\usepackage{zhlineskip}
+\SetTextEnvironmentSinglespace{1.05}
+\RestoreTextEnvironmentLeading{tabular}
+\SetMathEnvironmentSinglespace{1.05}
+
+\begin{document}
+\zhlipsum*[1]\footnote{\zhlipsum*[2]}下面是欧拉公式的推导:
+\begin{align}
+e^{i z} & = 1 + i z + \frac{(i z)^2}{2!} + \frac{(i z)^3}{3!}
+ + \frac{(i z)^4}{4!} + \frac{(i z)^5}{5!}
+ + \frac{(i z)^6}{6!} + \frac{(i z)^7}{7!} + \dotsb \\
+ & = \Bigl( 1 - \frac{z^2}{2!} + \frac{z^4}{4!}
+ - \frac{z^6}{6!} + \dotsb \Bigr)
+ + i \, \Bigl( z - \frac{z^3}{3!} + \frac{z^5}{5!}
+ - \frac{z^7}{7!} + \dotsb \Bigr) \\
+ & = \cos z + i \sin z.
+\end{align}
+又一个脚注\footnote{\zhlipsum*[3]}。
+\begin{table}[ht]
+\centering
+\caption[短标题]{一个非常非常非常非常非常非常非常非常非常非常非常非常
+ 非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常长的标题。}
+\begin{tabular}{c c}
+\toprule
+第一项 & 第二项 \\
+\midrule
+ $10$ & $20$ \\
+ $10$ & $20$ \\
+\bottomrule
+\end{tabular}
+\end{table}
+\zhlipsum[4]
+\begin{quotation}
+\linespread{1.05}\selectfont
+\blindtext
+\end{quotation}
+\zhlipsum[5]
+\end{document} \ No newline at end of file
diff --git a/language/chinese/zhlineskip/zhlineskip.pdf b/language/chinese/zhlineskip/zhlineskip.pdf
new file mode 100644
index 0000000000..7f3c693dd0
--- /dev/null
+++ b/language/chinese/zhlineskip/zhlineskip.pdf
Binary files differ
diff --git a/language/chinese/zhlineskip/zhlineskip.sty b/language/chinese/zhlineskip/zhlineskip.sty
new file mode 100644
index 0000000000..37686ebc93
--- /dev/null
+++ b/language/chinese/zhlineskip/zhlineskip.sty
@@ -0,0 +1,218 @@
+%
+% Copyright (C) 2018, 2019 by Ruixi Zhang <ruixizhang42@gmail.com>
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% https://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Ruixi Zhang.
+%
+% This work consists of the files zhlineskip.sty,
+% zhlineskip.tex,
+% zhlineskip-test.tex,
+% Latinmetrics.pdf,
+% CJKmetrics.pdf,
+% README.md
+% and the derived file zhlineskip.pdf.
+%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{zhlineskip}[%
+ 2019/05/15 v1.0e Line spacing for CJK documents]
+
+\RequirePackage{kvoptions}
+\RequirePackage{xintexpr}
+\RequirePackage{etoolbox}
+
+\SetupKeyvalOptions{
+ family=ZhLS,
+ prefix=ZhLS@
+}
+\DeclareStringOption[1.5]{bodytextleadingratio}[1.5]
+\DeclareStringOption[1.48]{footnoteleadingratio}[1.48]
+\DeclareBoolOption[true]{restoremathleading}
+\DeclareBoolOption[false]{UseMSWordMultipleLineSpacing}
+\DeclareStringOption[1.15]{MSWordLineSpacingMultiple}[1.15]
+\DeclareStringOption[1.296875]{MSWordSinglespaceRatio}[1.296875]
+\DeclareDefaultOption{%
+ \PackageError{\@currname}{%
+ Unknown option `\CurrentOption'%
+ }{%
+ Available package options are:\MessageBreak
+ \space\space`bodytextleadingratio',\MessageBreak
+ \space\space`footnoteleadingratio',\MessageBreak
+ \space\space`restoremathleading',\MessageBreak
+ \space\space`UseMSWordMultipleLineSpacing',\MessageBreak
+ \space\space`MSWordLineSpacingMultiple',\MessageBreak
+ \space\space`MSWordSinglespaceRatio'%
+ }%
+}
+\ProcessKeyvalOptions*
+
+\begingroup
+ \normalsize
+ \@tempdima\f@size\p@
+ \@tempdimb\f@baselineskip
+ \edef\@tempnuma{\the\numexpr\@tempdima\relax}%
+ \ifZhLS@UseMSWordMultipleLineSpacing
+ \PackageWarningNoLine{\@currname}{%
+ Use Microsoft Word multiple line spacing\MessageBreak
+ Singlespace to fontsize ratio = `\ZhLS@MSWordSinglespaceRatio'\MessageBreak
+ Multiple = `\ZhLS@MSWordLineSpacingMultiple'%
+ }%
+ \xdef\ZhLS@targetbodyleading{%
+ \@tempnuma*\ZhLS@MSWordSinglespaceRatio*\ZhLS@MSWordLineSpacingMultiple
+ }%
+ \else
+ \xdef\ZhLS@targetbodyleading{%
+ \@tempnuma*\ZhLS@bodytextleadingratio
+ }%
+ \fi
+ \xdef\ZhLS@defaultbodyleading{\the\numexpr\@tempdimb\relax}%
+\endgroup
+\begingroup
+ \footnotesize
+ \@tempdima\f@size\p@
+ \@tempdimb\f@baselineskip
+ \edef\@tempnuma{\the\numexpr\@tempdima\relax}%
+ \ifZhLS@UseMSWordMultipleLineSpacing
+ \xdef\ZhLS@targetfootleading{%
+ \@tempnuma*\ZhLS@MSWordSinglespaceRatio*\ZhLS@MSWordLineSpacingMultiple
+ }%
+ \else
+ \xdef\ZhLS@targetfootleading{%
+ \@tempnuma*\ZhLS@footnoteleadingratio
+ }%
+ \fi
+ \xdef\ZhLS@defaultfootleading{\the\numexpr\@tempdimb\relax}%
+\endgroup
+\edef\ZhLS@bodylinespread{%
+ \xintthefloatexpr\xintexpr
+ \ZhLS@targetbodyleading/\ZhLS@defaultbodyleading\relax\relax
+}
+\edef\ZhLS@footlinespread{%
+ \xintthefloatexpr\xintexpr
+ \ZhLS@targetfootleading/\ZhLS@defaultfootleading\relax\relax
+}
+
+\AtBeginDocument{%
+ \linespread{\ZhLS@bodylinespread}\selectfont
+}
+
+\patchcmd\@footnotetext
+ {\reset@font}
+ {\def\baselinestretch{\ZhLS@footlinespread}\reset@font}
+ {}{}
+\patchcmd\@mpfootnotetext
+ {\reset@font}
+ {\def\baselinestretch{\ZhLS@footlinespread}\reset@font}
+ {}{}
+\def\ZhLS@resetfootnotesep#1{%
+ \begingroup
+ \footnotesize
+ \linespread{#1}\selectfont
+ \global\footnotesep=\ht\strutbox
+ \endgroup
+}
+\ZhLS@resetfootnotesep{\ZhLS@footlinespread}
+
+\newcommand*\SetTextEnvironmentSinglespace[1]{%
+ \def\ZhLS@textlinespread{#1}%
+}
+\SetTextEnvironmentSinglespace{1}
+\newcommand*\RestoreTextEnvironmentLeading[1]{%
+ \forcsvlist\ZhLS@restoretextenvironmentleading{#1}%
+}
+\def\ZhLS@restoretextenvironmentleading#1{%
+ \AtBeginEnvironment{#1}{%
+ \linespread{\ZhLS@textlinespread}\selectfont\ignorespaces
+ }%
+}
+
+\ifZhLS@restoremathleading
+ \RequirePackage{mathtools}
+ \newcommand*\SetMathEnvironmentSinglespace[1]{%
+ \def\ZhLS@mathlinespread{#1}%
+ }
+ \SetMathEnvironmentSinglespace{1}
+ \newcommand*\RestoreMathEnvironmentLeading[1]{%
+ \forcsvlist\ZhLS@restoremathenvironmentleading{#1}%
+ }
+ \def\ZhLS@restoremathenvironmentleading#1{%
+ \AtBeginEnvironment{#1}{%
+ \linespread{\ZhLS@mathlinespread}\selectfont\ignorespaces
+ }%
+ }
+ \RestoreMathEnvironmentLeading{array}
+ \RestoreMathEnvironmentLeading{matrix}
+ \RestoreMathEnvironmentLeading{pmatrix}
+ \RestoreMathEnvironmentLeading{bmatrix}
+ \RestoreMathEnvironmentLeading{Bmatrix}
+ \RestoreMathEnvironmentLeading{vmatrix}
+ \RestoreMathEnvironmentLeading{Vmatrix}
+ \RestoreMathEnvironmentLeading{cases}
+ \RestoreMathEnvironmentLeading{aligned}
+ \RestoreMathEnvironmentLeading{alignedat}
+ \RestoreMathEnvironmentLeading{gathered}
+ \patchcmd\start@gather
+ {\collect@body}
+ {\linespread{\ZhLS@mathlinespread}\selectfont\collect@body}
+ {}{}
+ \patchcmd\start@align
+ {\collect@body}
+ {\linespread{\ZhLS@mathlinespread}\selectfont\collect@body}
+ {}{}
+ \patchcmd\start@multline
+ {\collect@body}
+ {\linespread{\ZhLS@mathlinespread}\selectfont\collect@body}
+ {}{}
+ \patchcmd\gather@split
+ {\spread@equation}
+ {\linespread{\ZhLS@mathlinespread}\selectfont\spread@equation}
+ {}{}
+ \RestoreMathEnvironmentLeading{matrix*}
+ \RestoreMathEnvironmentLeading{pmatrix*}
+ \RestoreMathEnvironmentLeading{bmatrix*}
+ \RestoreMathEnvironmentLeading{Bmatrix*}
+ \RestoreMathEnvironmentLeading{vmatrix*}
+ \RestoreMathEnvironmentLeading{Vmatrix*}
+ \RestoreMathEnvironmentLeading{cases*}
+ \RestoreMathEnvironmentLeading{dcases}
+ \RestoreMathEnvironmentLeading{dcases*}
+ \RestoreMathEnvironmentLeading{rcases}
+ \RestoreMathEnvironmentLeading{rcases*}
+ \RestoreMathEnvironmentLeading{drcases}
+ \RestoreMathEnvironmentLeading{drcases*}
+ \RestoreMathEnvironmentLeading{multlined}
+ \RestoreMathEnvironmentLeading{lgathered}
+ \RestoreMathEnvironmentLeading{rgathered}
+\else
+ \PackageWarningNoLine{\@currname}{%
+ mathtools is NOT loaded by zhlineskip\MessageBreak
+ Some of its features may not be available\MessageBreak
+ Leading in multi-line math will be stretched%
+ }%
+ \newcommand*\SetMathEnvironmentSinglespace[1]{%
+ \PackageError{zhlineskip}{%
+ Cannot use \string\SetMathEnvironmentSinglespace\space here%
+ }{%
+ Try loading zhlineskip with option\MessageBreak
+ \space\space`restoremathleading=true'%
+ }%
+ }
+ \newcommand*\RestoreMathEnvironmentLeading[1]{%
+ \PackageError{zhlineskip}{%
+ Cannot use \string\RestoreMathEnvironmentLeading\space here%
+ }{%
+ Try loading zhlineskip with option\MessageBreak
+ \space\space`restoremathleading=true'%
+ }%
+ }
+\fi
+
+\endinput
diff --git a/language/chinese/zhlineskip/zhlineskip.tex b/language/chinese/zhlineskip/zhlineskip.tex
new file mode 100644
index 0000000000..834689fb72
--- /dev/null
+++ b/language/chinese/zhlineskip/zhlineskip.tex
@@ -0,0 +1,733 @@
+% !TeX program = XeLaTeX
+% !TeX encoding = UTF-8 Unicode
+%
+% 为了得到最佳的排版结果,可以考虑安装免费的思源宋体、思源黑体与 M+ 字体
+% - 思源字库可以前往
+% https://github.com/adobe-fonts/source-han-serif/tree/release
+% https://github.com/adobe-fonts/source-han-sans/tree/release
+% 下载,请安装 Language-specific OTFs 的简体中文版本
+% - M+ 字体可以前往
+% https://osdn.net/projects/mplus-fonts/releases/
+% 下载
+%
+% 如果已经安装了思源、M+ 字体,请在导言区启用 \SourceHanSCandMplustrue
+%
+\documentclass[zihao=5,a4paper]{ctexart}
+\XeTeXgenerateactualtext=1 %
+\newif\ifSourceHanSCandMplus
+\SourceHanSCandMplusfalse
+% 如果已经安装了思源、M+ 字体,请启用 \SourceHanSCandMplustrue
+%\SourceHanSCandMplustrue
+\frenchspacing
+\ctexset{
+ section={
+ name={第,节},
+ aftername=\hskip\ccwd\relax,
+ format=\Large\bfseries
+ },
+ subsection/aftername=\hskip\ccwd\relax,
+ subsubsection/aftername=\hskip\ccwd\relax
+}
+\renewcommand\sectionmark[1]{%
+ \markright{%
+ \normalfont\sffamily
+ \CTEXifname{\CTEXthesection\hskip\ccwd\relax}{}#1%
+ }%
+}
+\usepackage{mathtools}
+\usepackage[math-style=ISO]{unicode-math}
+\ifSourceHanSCandMplus
+ \setmainfont{texgyrepagella}[
+ Extension=.otf,
+ UprightFont=*-regular,
+ ItalicFont=*-italic,
+ BoldFont=*-bold,
+ BoldItalicFont=*-bolditalic,
+ Scale=1.05924855491329480,
+ SmallCapsFeatures={LetterSpace=5}
+ ]
+ \setsansfont{texgyreheros}[
+ Extension=.otf,
+ UprightFont=*-regular,
+ ItalicFont=*-italic,
+ BoldFont=*-bold,
+ BoldItalicFont=*-bolditalic,
+ Scale=1.00685871056241427
+ ]
+ \setmonofont{mplus-1m-regular.ttf}[
+ BoldFont=mplus-1m-bold.ttf
+ ]
+ \setmathfont{texgyrepagella-math.otf}[
+ Scale=1.05924855491329480
+ ]
+ \setCJKmainfont{SourceHanSerifSC-Medium.otf}[
+ ItalicFont=SourceHanSerifSC-Heavy.otf,
+ BoldFont=SourceHanSerifSC-Bold.otf,
+ Language=Chinese Simplified
+ ]
+ \setCJKsansfont{SourceHanSansSC-Regular.otf}[
+ BoldFont=SourceHanSansSC-Bold.otf,
+ Language=Chinese Simplified
+ ]
+ \setCJKmonofont{SourceHanSansSC-Regular.otf}[
+ BoldFont=SourceHanSansSC-Bold.otf,
+ Language=Chinese Simplified
+ ]
+ \makeatletter
+ \def\setCJKecglue@nnn#1#2#3{%
+ \xeCJKsetup
+ { xCJKecglue = {\hskip #1em plus #2em minus #3em\relax} }%
+ }
+ \newcommand*\setCJKecglue{%
+ \ifnum\strcmp{\f@family}{\rmdefault}=0 %
+ \setCJKecglue@nnn{0.22203274215552524}
+ {0.11101637107776262}
+ {0.07401091405184175}%
+ \else
+ \ifnum\strcmp{\f@family}{\sfdefault}=0 %
+ \setCJKecglue@nnn{0.21859400544959128}
+ {0.10929700272479564}
+ {0.07286466848319709}%
+ \else
+ \setCJKecglue@nnn{0.25}
+ {0.125}
+ {0.08333333333333333}%
+ \fi
+ \fi
+ }
+ \makeatother
+ \usepackage{everysel}
+ \EverySelectfont{\setCJKecglue}
+\else
+ \setmainfont{texgyrepagella}[
+ Extension=.otf,
+ UprightFont=*-regular,
+ ItalicFont=*-italic,
+ BoldFont=*-bold,
+ BoldItalicFont=*-bolditalic,
+ SmallCapsFeatures={LetterSpace=5}
+ ]
+ \setsansfont{texgyreheros}[
+ Extension=.otf,
+ UprightFont=*-regular,
+ ItalicFont=*-italic,
+ BoldFont=*-bold,
+ BoldItalicFont=*-bolditalic
+ ]
+ \setmathfont{texgyrepagella-math.otf}
+\fi
+\usepackage{zhlineskip}
+\SetTextEnvironmentSinglespace{1.05}
+\SetMathEnvironmentSinglespace{1.05}
+\ifSourceHanSCandMplus
+ \SetTextEnvironmentSinglespace{1.112}
+ \SetMathEnvironmentSinglespace{1.112}
+\fi
+\usepackage{caption}
+\DeclareCaptionLabelFormat{zhlabel}{\bothIfFirst{#1}{\nobreak\CJKecglue}#2\CJKecglue}
+\DeclareCaptionLabelSeparator{zhcolon}{\char"FF1A }% Fullwidth Colon
+\captionsetup{format=hang,labelformat=zhlabel,labelsep=zhcolon,font={small,sf}}
+\usepackage{enumitem}
+\setlist{
+ listparindent=\parindent,parsep=\parskip
+}
+\ifSourceHanSCandMplus
+ \setlist[itemize,1]{
+ itemsep=0pt,
+ label=\char"30FB,% Katakana Middle Dot
+ leftmargin=\parindent,labelsep=0pt,labelwidth=0.5\parindent
+ }
+\else
+ \setlist[itemize,1]{
+ itemsep=0pt,
+ label=\char"00B7,% Middle Dot
+ leftmargin=\parindent,labelsep=0pt,labelwidth=0.5\parindent
+ }
+\fi
+\setlist[description,1]{
+ font=\bfseries,
+ leftmargin=\parindent,labelsep=0.5\parindent
+}
+\usepackage{booktabs}
+\usepackage{hyperref}
+\hypersetup{
+ colorlinks=true,
+ pdfstartview={FitH},
+ unicode=true,
+ pdftitle={zhlineskip},
+ pdfauthor={Ruixi Zhang}
+}
+\usepackage[open,openlevel=-1,numbered]{bookmark}
+\usepackage[text={378bp,609bp},centering]{geometry}
+
+\makeatletter
+\ExplSyntaxOn
+\ifSourceHanSCandMplus
+ \xeCJK_new_class:n { PoZheHao }
+ \__xeCJK_save_CJK_class:n { PoZheHao }
+ \seq_map_inline:Nn \g__xeCJK_class_seq
+ {
+ \str_if_eq:nnF {#1} { PoZheHao }
+ {
+ \xeCJK_copy_inter_class_toks:nnnn { PoZheHao } {#1} { FullRight } {#1}
+ \xeCJK_copy_inter_class_toks:nnnn {#1} { PoZheHao } {#1} { FullRight }
+ }
+ }
+ \xeCJK_declare_char_class:nn { PoZheHao } { "2014 , "2015 }
+\fi
+\ExplSyntaxOff
+% From `doc.dtx'
+\ifx\l@nohyphenation\undefined
+ \newlanguage\l@nohyphenation
+\fi
+\newcommand*\meta{}
+\DeclareRobustCommand\meta[1]{%
+ \ensuremath\langle
+ \ifmmode \expandafter \nfss@text \fi
+ {%
+ \meta@font@select
+ \edef\meta@hyphen@restore
+ {\hyphenchar\the\font\the\hyphenchar\font}%
+ \hyphenchar\font\m@ne
+ \language\l@nohyphenation
+ #1\/%
+ \meta@hyphen@restore
+ }\ensuremath\rangle
+}
+\def\meta@font@select{\itshape}
+% From `ltxdoc.dtx'
+\newcommand*\cmd[1]{\cs{\expandafter\cmd@to@cs\string#1}}
+\def\cmd@to@cs#1#2{\char\number`#2\relax}
+\newcommand*\cs{}
+\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}}
+\newcommand\marg[1]{%
+ {\ttfamily\char`\{}\meta{#1}{\ttfamily\char`\}}}
+\newcommand\oarg[1]{%
+ {\ttfamily[}\meta{#1}{\ttfamily]}}
+\newcommand\parg[1]{%
+ {\ttfamily(}\meta{#1}{\ttfamily)}}
+% My commands
+\newcommand\cls[1]{{\ttfamily#1}}
+\newcommand\pkg[1]{{\ttfamily#1}}
+\newcommand\opt[1]{{\ttfamily#1}}
+\newcommand\env[1]{{\ttfamily#1}}
+\newcommand*\packagedependency[1]{%
+ \mbox{\pkg{#1}\CJKecglue 宏包:}\ignorespaces
+}
+\newcommand*\keyvalueitem[3][2.5]{%
+ \item[\opt{#2}\hskip0.5\ccwd\relax\rlap{\meta{#3}}\hskip#1\ccwd\relax]%
+ \hskip\z@ \@plus 0.25\ccwd \@minus 0.25\ccwd
+ \ignorespaces
+}
+\newcommand*\usercmditem[3][3]{%
+ \item[\cmd{#2}\rlap{\marg{#3}}\hskip#1\ccwd\relax]%
+ \hskip\z@ \@plus 0.25\ccwd \@minus 0.25\ccwd
+ \ignorespaces
+}
+\newcommand*\defaultleadingratio[3]{%
+ \opt{#1} & $#2$ & $#3$%
+}
+\newcommand*\fontandsinglespaceratio[2]{%
+ #1 & $#2$%
+}
+\newenvironment{originalpmatrix}{\left(\env@matrix}{\endmatrix\right)}
+\newenvironment{originalcases}{\env@cases}{\endarray\right.}
+\newcounter{example}
+\newcommand*\example{%
+ \refstepcounter{example}%
+ 例\nobreak\CJKecglue\theexample\CJKecglue\char"FF1A %
+}
+\newenvironment{english}
+ {\addvspace\medskipamount}
+ {\par\addvspace\medskipamount}
+\newcommand*\myemail{ruixizhang42@gmail.com}
+\makeatother
+
+\title{\vspace*{-26bp}\pkg{zhlineskip} 宏包}
+\author{张瑞熹\thanks{\href{mailto:\myemail}{\nolinkurl{\myemail}}。}}
+\date{2019/05/15\hskip\ccwd\relax v1.0e}
+
+\begin{document}
+
+\maketitle
+
+\tableofcontents
+
+\section{简介}
+
+\pkg{zhlineskip} 宏包允许用户指定正文行距相比于正文字号的倍数(通常建议设置在
+$1.5$ 至 $1.67$ 之间),以及脚注行距相比于脚注字号的倍数。另一方面,由于数学公式
+主要是由西文字符构成的,\pkg{zhlineskip} 还能将数学公式的行距“恢复”成西文
+较为紧凑的行距(通常为西文字号的 $1.2$\nobreak\CJKecglue 倍),使得全文的视觉
+密度较为均匀。最后,本宏包还支持按照 Microsoft Word 进行“多倍行距”排版。
+
+\subsection{宏包依赖}
+
+本宏包是针对中日韩文的横排文档设计出来的,它依赖于下面这些宏包:
+\begin{itemize}
+\item \packagedependency{kvoptions}
+为用户提供载入本宏包的键值选项。
+\item \packagedependency{xintexpr~}
+实现精确的浮点运算,属于\CJKecglue\pkg{xint} 宏集的一个部分。
+\item \packagedependency{etoolbox~}
+处理脚注行距与数学行距时需要打补丁。
+\item \packagedependency{mathtools}
+只有在恢复数学行距为西文行距时,才会载入这个宏包。
+\end{itemize}
+请确保你的 \TeX\ 发行版里已经安装好了以上这些宏包的最新版本。
+
+\subsection{中西有别}
+
+在西文排版里,相邻两行\emph{基线}(baseline)之间的距离称为\emph{行距}(leading,
+发音为 led-ding)。这个词的词根是 lead,即\emph{铅}。早在铅字时代,每当工匠填满
+一行铅字之后要开始填下一行,都会在两行之间插入铅条,从而适当地扩大行距。因为西文的
+每个字母四周与其\emph{字框}(em-box,见图\nobreak\CJKecglue\ref{fig:eng-font-size})之间有
+较大的空隙,所以不需要插入很高的铅条。一般来说,西文的行距为\emph{字号}(font
+size)的 $1.2$ 至 $1.45$\nobreak\CJKecglue 倍\footnote{参见
+\url{https://practicaltypography.com/line-spacing.html}。}。
+
+\begin{figure}[h]
+\centering
+\includegraphics{Latinmetrics}
+\caption[西文字体]{西文字体。绿色方框即为 em-box,它在纸上的实际边长就是西文字号。}
+\label{fig:eng-font-size}
+\end{figure}
+
+中文排版虽然没有基线的概念,但有非常相似的概念:\emph{底线}(ideographic baseline,
+见图\nobreak\CJKecglue\ref{fig:chi-font-size})。中文里相邻两行底线之间的距离,与西文里行距的
+概念是一致的。另一概念是上一行底线和下一行\emph{顶线}之间的距离,即\emph{行间距}(line
+gap),这与西文里插入铅条的高度是一致的。由于汉字四周与其字框间的空隙较小,所以需要
+使用比西文更大的行间距。根据场合不同,行间距从字号的 $1/4$ 至 $1$\nobreak\CJKecglue 倍不等:以中文
+书刊为例,行间距一般为字号的 $1/2$ 至 $2/3$\nobreak\CJKecglue 倍\footnote{参见张胜涛、王忆波著
+《方正飞腾4.0实用培训教程》,第\nobreak\CJKecglue6.1.1\nobreak\CJKecglue 节。},即行距约为字号的
+$1.5$ 至 $1.67$\nobreak\CJKecglue 倍。
+
+\begin{figure}[h]
+\centering
+\includegraphics{CJKmetrics}
+\caption[中文字体]{中文字体。汉字字面几乎占满整个字框,字框的边长即为中文字号。}
+\label{fig:chi-font-size}
+\end{figure}
+
+在一般情况下,\CTeX\ 会默认用\CJKecglue\opt{linespread=1.3} 这个文档类
+选项将中文的行距设置为字号的 $1.56$\nobreak\CJKecglue 倍(基础行距是字号的
+$1.2$\nobreak\CJKecglue 倍,而 $1.2 \times 1.3
+= 1.56$)。通过这种方法扩大全文的行距,自然会影响到文章里数学公式的行距。而数学
+公式主要是由西文字符构成的,把它们按照中文的行距进行排版,就会显得有些松散。
+图\nobreak\CJKecglue\ref{fig:math-leading}\CJKecglue 左边是 \CTeX\ 默认
+排版效果,文本、数学看似一紧、一松;右边是配合用\CJKecglue\pkg{zhlineskip} 的效果,
+视觉密度比较均匀。\pkg{zhlineskip} 宏包还允许用户调整数学行距的大小。
+
+\begin{figure}[h]
+\sbox0{%
+\begin{minipage}[t]{162pt}
+\fontsize{9}{10.8}\linespread{1.3}\selectfont
+\rule{0pt}{\ht\strutbox}\hskip2\ccwd\relax
+设 $\symbf{I}_2=\begin{psmallmatrix} 1&0\\0&1 \end{psmallmatrix}$.
+又设 $\symbf{A}=(a_{ij})_{m \times n}$ 为一个 $m$\nobreak\CJKecglue 行
+$n$\nobreak\CJKecglue 列的实值矩阵, 即
+\[
+\symbf{A} = \begin{originalpmatrix}
+a_{11} & a_{12} & \dotsc & a_{1n} \\
+a_{21} & a_{22} & \dotsc & a_{2n} \\
+\vdots & \vdots & & \vdots \\
+a_{m1} & a_{m2} & \dotsc & a_{mn}
+\end{originalpmatrix},
+\]
+其中 $a_{ij} \in \mathbb{R}$, $i=1,\dotsc,m$, $j=1,\dotsc,n$.
+又因为
+\[
+\sum_{\substack{i=1\\i\neq j}}^m a_{ij} = \begin{originalcases}
+0, & j=1,\\
+1, & j>1,
+\end{originalcases}
+\]
+我们得到……\rule[-\dp\strutbox]{0pt}{\dp\strutbox}
+\end{minipage}%
+}%
+\centering
+\rule[\dimexpr-\dp0-0.5em\relax]{0.4pt}{\dimexpr\dp0+\ht0+1em\relax}\quad
+\copy0\quad
+\rule[\dimexpr-\dp0-0.5em\relax]{0.4pt}{\dimexpr\dp0+\ht0+1em\relax}\quad
+\begin{minipage}[t]{162pt}
+\fontsize{9}{10.8}\linespread{1.25}\selectfont
+\hskip2\ccwd\relax
+设 $\symbf{I}_2=\begin{psmallmatrix} 1&0\\0&1 \end{psmallmatrix}$.
+又设 $\symbf{A}=(a_{ij})_{m \times n}$ 为一个 $m$\nobreak\CJKecglue 行
+$n$\nobreak\CJKecglue 列的实值矩阵, 即
+\[
+\symbf{A} = \begin{pmatrix}
+a_{11} & a_{12} & \dotsc & a_{1n} \\
+a_{21} & a_{22} & \dotsc & a_{2n} \\
+\vdots & \vdots & & \vdots \\
+a_{m1} & a_{m2} & \dotsc & a_{mn}
+\end{pmatrix},
+\]
+其中 $a_{ij} \in \mathbb{R}$, $i=1,\dotsc,m$, $j=1,\dotsc,n$.
+又因为
+\[
+\sum_{\substack{i=1\\i\neq j}}^m a_{ij} = \begin{cases}
+0, & j=1,\\
+1, & j>1,
+\end{cases}
+\]
+我们得到……
+\end{minipage}\quad
+\rule[\dimexpr-\dp0-0.5em\relax]{0.4pt}{\dimexpr\dp0+\ht0+1em\relax}%
+\llap{\rule[\dimexpr-\dp0-0.5em\relax]{\dimexpr2\wd0+4em+1.2pt\relax}{0.4pt}}%
+\llap{\rule[\dimexpr\ht0+0.5em-0.4pt\relax]{\dimexpr2\wd0+4em+1.2pt\relax}{0.4pt}}
+\caption[数学行距对比]{数学行距对比。在左图中,大矩阵\CJKecglue\env{pmatrix} 与
+ 分类\CJKecglue\env{cases} 两个环境受到影响,行距都被扩大了;但第一行文本里的小矩阵与末尾
+ 公式里求和号的下角标却没有受到影响,行距仍然较为紧凑。在右图中,数学公式的行距
+ 都是西文的行距,密度比较均匀,行间公式里的大括弧、大括号也不会特别突兀。}
+\label{fig:math-leading}
+\end{figure}
+
+综上所述,在进行中西文混排时,最好能够区分中文与西文的行距。在使用\CJKecglue\pkg{zhlineskip}
+时,就可以分开处理中文文本与数学公式的行距。用户甚至还能分别指定正文行距与脚注
+行距,实现灵活的排版。同时,\pkg{zhlineskip} 宏包能恢复各种“多行”数学环境
+(包括矩阵、分类、多行公式推导等等)的行距,使数学公式的行距符合西文行距的规范。
+
+最后,\pkg{zhlineskip} 宏包还支持用户在一定范围内按 Microsoft Word 的
+“多倍行距”进行排版\footnote{本宏包默认假定“被要求”用的字体是中易系列字体,
+这包括 Microsoft Word 里的“宋体”、“黑体”、“楷体”与“仿宋”。若改用其他字体,
+可能需要调整\CJKecglue\opt{MSWordSinglespaceRatio} 的值。
+参见第\nobreak\CJKecglue\ref{sec:key-value}\nobreak\CJKecglue 节
+与第\nobreak\CJKecglue\ref{sec:MS-Word}\nobreak\CJKecglue 节。}。
+用户可以指定“多倍行距”的“倍数”,但是这只保证用 \TeX\ 排出来的文本行距与用
+Microsoft Word 排的行距相同。硬要用 \TeX\ 模仿 Microsoft Word 是没有
+太大意义的。
+
+\section{功能介绍}
+
+首先,请避免使用“多倍行距”这个概念:Microsoft Word 中“单倍行距”的值严重依赖于
+字体(参见第\nobreak\CJKecglue\ref{sec:MS-Word}\nobreak\CJKecglue 节)。
+在严格排版的时候,一般都会给定具体的字号
+与行距,例如字号 $12$\nobreak\CJKecglue 磅、行距 $22$\nobreak\CJKecglue 磅。
+对于一般的用户,指定目标行距相比字号的倍\nobreak 数
+即可——\pkg{zhlineskip} 宏包可以自动提取基础行距(即 \TeX\ 中的单倍行距)
+相比字号的倍数(详见表\nobreak\CJKecglue\ref{tab:default-leading-ratio}),再通过用户指定的
+倍数来计算所需的行伸展因子。因此,不论是中日韩文还是西文的横排文档,都是可以使用
+本宏包的。本宏包的缺省设置更适合中日韩文文档。
+\begin{table}[h]
+\centering
+\caption[基础行距倍数]{\cls{ctexart} 与\CJKecglue\cls{article} 各个文档类选项
+ 设置的基础行距倍数。}
+\label{tab:default-leading-ratio}
+\begin{tabular}{l l l}
+\toprule
+文档类选项 & 正文基础行距 & 脚注基础行距 \\
+\midrule
+\defaultleadingratio{zihao=5}{1.2}{1.2} \\
+\defaultleadingratio{zihao=-4}{1.2}{1.2} \\
+\defaultleadingratio{10pt}{12/10}{9.5/8} \\
+\defaultleadingratio{11pt}{13.6/10.95}{11/9} \\
+\defaultleadingratio{12pt}{14.5/12}{12/10} \\
+\bottomrule
+\end{tabular}
+\end{table}
+
+\subsection{载入宏包时的键值选项}
+\label{sec:key-value}
+
+载入\CJKecglue\pkg{zhlineskip} 宏包时可以设定六个基本的键值选项,它们分别是:
+\begin{description}
+\keyvalueitem{bodytextleadingratio}{real}
+指定正文目标行距相比于正文字号的倍数。以书刊为例,建议设置在\nobreak\CJKecglue$1.5$
+至\nobreak\CJKecglue$1.67$ 之间。缺省值是\nobreak\CJKecglue\opt{1.5},
+即 $1/2$\nobreak\CJKecglue 的行间距。
+\keyvalueitem{footnoteleadingratio}{real}
+指定脚注目标行距相比于脚注字号的倍数,它可以比正文的倍数稍小一些,建议设置在正文
+倍数的 $98\%$ 至 $100\%$ 之间。缺省值是\nobreak\CJKecglue\opt{1.48},
+即为正文倍数的\nobreak\CJKecglue$98.67\%$ 左右。
+\keyvalueitem{restoremathleading}{bool}
+指定是否要将数学公式的行距恢复成西文基础行距。缺省值是\nobreak\CJKecglue\opt{true},
+即恢复数学行距。该选项为真时,会自动载入\CJKecglue\pkg{mathtools} 宏包,
+此时还能利用\CJKecglue\cmd{\SetMathEnvironmentSinglespace}\marg{real}
+命令\emph{微调}数学公式的基础行距。
+\keyvalueitem{UseMSWordMultipleLineSpacing}{bool}
+在排版论文时,如果被要求按照 Microsoft Word 来设置“多倍行距”,那么用户可以
+将该选项设置为\nobreak\CJKecglue\opt{true},并通过
+设置\CJKecglue\opt{MSWordLineSpacingMultiple}
+指定“倍数”,这会忽略用户之前指定的正文行距与脚注行距倍数,但是与数学行距的设置
+独立。该选项的缺省值是\nobreak\CJKecglue\opt{false}。
+\keyvalueitem{MSWordLineSpacingMultiple}{real}
+设置 Microsoft Word“多倍行距”的“倍数”,
+仅在\CJKecglue\opt{UseMSWordMultipleLineSpacing} 为真时生效。
+缺省值是\nobreak\CJKecglue\opt{1.15},
+在不修改\CJKecglue\opt{MSWordSinglespaceRatio} 时,
+相当于设置了目标行距为字号的 $1.49140625$\nobreak\CJKecglue 倍,适用于中易字体
+(参见第\nobreak\CJKecglue\ref{sec:MS-Word}\nobreak\CJKecglue 节)。
+\keyvalueitem{MSWordSinglespaceRatio}{real}
+设置 Microsoft Word 的“单倍行距”相比字号的倍数,
+仅在\CJKecglue\opt{UseMSWordMultipleLineSpacing} 为真时生效。
+缺省值是\nobreak\CJKecglue\opt{1.296875},适用于中易字体
+(参见第\nobreak\CJKecglue\ref{sec:MS-Word}\nobreak\CJKecglue 节)。
+若改用其他字体,则需调整该选项的值。
+\end{description}
+
+\subsection{载入宏包后的用户命令}
+
+\subsubsection{调整数学公式的行距}
+
+当键值选项\CJKecglue\opt{restoremathleading}
+为\nobreak\CJKecglue\opt{true} 时,数学公式的行距被
+恢复成字号的 $1.2$\nobreak\CJKecglue 倍。对于某些字面较大的数学字体
+(例如类似 Palatino 的字体),
+这个基础行距会显得过小。此时,用户可以通过如下命令微调数学行距:
+\begin{description}
+\usercmditem{\SetMathEnvironmentSinglespace}{real}
+如果数学字体来自\CJKecglue\pkg{newpxmath} 或是 TeX Gyre Pagella Math,
+那么数学行距在字号 $1.2$\nobreak\CJKecglue 倍的基础上再扩大
+$1.05$\nobreak\CJKecglue 倍更加合适。此时,只需指定
+\verb|\SetMathEnvironmentSinglespace{1.05}|\CJKecglue 即可。
+\end{description}
+本宏包恢复的多行数学环境包括:
+\begin{description}
+\raggedright
+\item[\LaTeX\ 环境]
+\env{array};
+\item[\pkg{amsmath} 宏包各环境]
+\env{matrix},
+\env{pmatrix},
+\env{bmatrix},
+\env{Bmatrix},
+\env{vmatrix},
+\env{Vmatrix},
+\env{cases},
+\env{aligned},
+\env{alignedat},
+\env{gathered},
+\env{gather},
+\env{gather*},
+\env{align},
+\env{align*},
+\env{flalign},
+\env{flalign*},
+\env{alignat},
+\env{alignat*},
+\env{xalignat},
+\env{xalignat*},
+\env{xxalignat},
+\env{multline},
+\env{multline*},
+\env{split};
+\item[\pkg{mathtools} 宏包各环境]
+\env{matrix*},
+\env{pmatrix*},
+\env{bmatrix*},
+\env{Bmatrix*},
+\env{vmatrix*},
+\env{Vmatrix*},
+\env{cases*},
+\env{dcases},
+\env{dcases*},
+\env{rcases},
+\env{rcases*},
+\env{drcases},
+\env{drcases*},
+\env{multlined},
+\env{lgathered},
+\env{rgathered}。
+\end{description}
+超出上述列表范围、用户自定义的\emph{数学}环境,可用如下命令恢复其行距:
+\begin{description}
+\usercmditem[6]{\RestoreMathEnvironmentLeading}{env name}
+例如本宏包恢复 \LaTeX\ 数学环境\CJKecglue\env{array} 的行距,是通过
+\verb|\RestoreMathEnvironmentLeading{array}|\CJKecglue 实现的。
+\meta{env name}\CJKecglue 可以是由若干环境名构成的逗号列表。
+\end{description}
+
+\emph{注意,在\CJKecglue\opt{restoremathleading}
+为\nobreak\CJKecglue\opt{false} 时,
+\cmd{\SetMathEnvironmentSinglespace}
+与\CJKecglue\cmd{\RestoreMathEnvironmentLeading} 无效。}
+
+\subsubsection{调整西文文本的行距}
+
+与数学行距命令对应,本宏包还提供两个调整\emph{西文文本}行距的命令,用法类似。
+\begin{description}
+\usercmditem{\SetTextEnvironmentSinglespace}{real}
+如果西文字体来自\CJKecglue\pkg{newpxtext} 或是 TeX Gyre Pagella,
+那么可以指定
+\verb|\SetTextEnvironmentSinglespace{1.05}|。
+\usercmditem[6]{\RestoreTextEnvironmentLeading}{env name}
+使用范例:假设文中的表格仅含西文、数字,此时如果想要文本环境\CJKecglue\env{tabular} 的
+行距与西文行距一致,可通过
+\verb|\RestoreTextEnvironmentLeading{tabular}|\CJKecglue 实现。
+亦可参见例\nobreak\CJKecglue\ref{example:english-block}。
+\meta{env name}\CJKecglue 可以是由若干环境名构成的逗号列表。
+\end{description}
+
+如果作者没有顾及到某些\emph{基本环境}(数学或文本),鼓励用户向\CJKecglue\pkg{zhlineskip} 的
+\href{https://github.com/CTeX-org/ctex-kit/issues}{GitHub 维护页}\CJKecglue
+提供相关信息。
+
+\subsection{使用范例}
+
+下面以 \CTeX\ 提供的\CJKecglue\cls{ctexart} 文档类为例,
+展示\CJKecglue\pkg{zhlineskip} 的使用方法。
+
+\subsubsection*{\example 直接载入}
+
+\begin{verbatim}
+ \documentclass{ctexart}
+ \usepackage{zhlineskip}
+ \begin{document}
+ 正文测试。
+ \end{document}
+\end{verbatim}
+
+\subsubsection*{\example 设置正文行距为字号的 1.6\nobreak\CJKecglue 倍}
+
+\begin{verbatim}
+ % 导言区
+ \usepackage[
+ bodytextleadingratio=1.6, % 设置正文行距倍数为 1.6
+ footnoteleadingratio=1.57 % 设置脚注行距倍数为 1.57
+ ]{zhlineskip} % 缺省数学行距倍数为 1.2
+\end{verbatim}
+
+\subsubsection*{\example 按照 Microsoft Word 设置“1.62\nobreak\CJKecglue 倍行距”}
+
+\begin{verbatim}
+ % 导言区
+ \usepackage[
+ restoremathleading=false, % 可选
+ UseMSWordMultipleLineSpacing, % 需设置为真
+ MSWordLineSpacingMultiple=1.62
+ ]{zhlineskip}
+\end{verbatim}
+
+\subsubsection*{\example\label{example:english-block}中文正文里需要插入成段的西文}
+
+如果需要插入成段的西文,最好的方法是先定义一个西文专用的环境。比如说可以在导言区
+定义如下这个环境:
+\begin{verbatim}
+ \newenvironment{english} % 新建“英文”段落环境
+ {\addvspace\medskipamount} % 段前间距,上文段落需结束
+ {\par\addvspace\medskipamount} % 段后间距
+\end{verbatim}
+注意要先用空行结束上文段落。这时,可以通过\CJKecglue\pkg{zhlineskip} 声明
+\begin{verbatim}
+ \RestoreTextEnvironmentLeading{english} % 恢复“英文”使用紧凑行距
+\end{verbatim}
+将“英文”段落的行距恢复成西文较为紧凑的行距。
+这样一来,正文(也许是中英交替的译文)就会有比较均匀的视觉密度,
+而不至于“中文很挤、英文很散”。
+
+\begin{center}
+\rule[\dimexpr-200.34pt-0.25em\relax]{0.4pt}{\dimexpr206.5pt+0.5em\relax}\quad
+\begin{minipage}[t]{161pt}
+\fontsize{7}{8.4}\linespread{1.25}\selectfont
+\begin{verbatim}
+\RestoreTextEnvironmentLeading{english}
+人人生而自由,在尊严和权利上一律平等。他们赋有
+理性和良心,并应以兄弟关系的精神相对待。
+
+\begin{english}
+All human beings are born free and equal in
+dignity and rights. They are endowed with
+reason and conscience and should act towards
+one another in a spirit of brotherhood.
+\end{english}
+
+人人有资格享有本宣言所载的一切权利和自由,不分
+种族、肤色、性别、语言……
+
+\begin{english}
+Everyone is entitled to all the rights and
+freedoms set forth in this Declaration,
+without distinction of any kind, such as
+race, colour, sex, language\dots
+\end{english}
+\end{verbatim}
+\end{minipage}\quad
+\rule[\dimexpr-200.34pt-0.25em\relax]{0.4pt}{\dimexpr206.5pt+0.5em\relax}\quad
+\begin{minipage}[t]{161pt}
+\fontsize{7}{8.4}\linespread{1.25}\selectfont
+\parindent2\ccwd\relax
+\RestoreTextEnvironmentLeading{english}
+人人生而自由,在尊严和权利上一律平等。他们赋有
+理性和良心,并应以兄弟关系的精神相对待。
+
+\begin{english}
+All human beings are born free and equal in
+dignity and rights. They are endowed with
+reason and conscience and should act towards
+one another in a spirit of brotherhood.
+\end{english}
+
+人人有资格享有本宣言所载的一切权利和自由\nobreak\makebox[\ccwd]{,}\allowbreak
+不分种族、肤色、性别、语言……
+
+\begin{english}
+Everyone is entitled to all the rights and
+freedoms set forth in this Declaration,
+without distinction of any kind, such as
+race, colour, sex, language\dots
+\end{english}
+\end{minipage}\quad
+\rule[\dimexpr-200.34pt-0.25em\relax]{0.4pt}{\dimexpr206.5pt+0.5em\relax}
+\end{center}
+
+\subsection{Microsoft Word 中的“单倍行距”}
+\label{sec:MS-Word}
+
+Microsoft Word 中“单倍行距”的设置,其行距值相比字号的倍数严重依赖于字体,
+甚至还可能因为操作系统的不同而迥然不同。
+表\nobreak\CJKecglue\ref{tab:word-line-height}\CJKecglue 列出
+几种常见字体对应的单倍行距倍数。正是因为“单倍行距”本身随字体、操作系统而变化,
+所以请尽量避免使用“多倍行距”的概念!
+\begin{table}[h]
+\centering
+\caption[单倍行距倍数]{在 Microsoft Word 中设置“单倍行距”后,实际的行距
+ 依赖于字体。}
+\label{tab:word-line-height}
+\begin{tabular}{l l}
+\toprule
+字体名称 & “单倍行距”除以字号的倍数 \\
+\midrule
+\fontandsinglespaceratio{Arial}{2355/2048=1.14990234375} \\
+\fontandsinglespaceratio{Times New Roman}{2355/2048=1.14990234375} \\
+\fontandsinglespaceratio{中易系列字体}{\phantom0332/256\phantom0=1.296875} \\
+\fontandsinglespaceratio{华文中宋(Windows)}{1479/1000=1.479} \\
+\fontandsinglespaceratio{微软雅黑 Light(Windows)}{3400/2048=1.66015625} \\
+\fontandsinglespaceratio{微软雅黑 Regular/Bold}{3513/2048=1.71533203125} \\
+\fontandsinglespaceratio{华文中宋(macOS)}{1723/1000=1.723} \\
+\fontandsinglespaceratio{微软雅黑 Light(macOS)}{3542/2048=1.7294921875} \\
+\fontandsinglespaceratio{苹方(macOS)}{1820/1000=1.82} \\
+\fontandsinglespaceratio{思源宋体\nobreak\CJKecglue1.001}{1869/1000=1.869} \\
+\fontandsinglespaceratio{思源黑体\nobreak\CJKecglue2.000}{1882/1000=1.882} \\
+\fontandsinglespaceratio{思源黑体\nobreak\CJKecglue1.004}{1924/1000=1.924} \\
+\bottomrule
+\end{tabular}
+\end{table}
+
+\begin{thebibliography}{9}
+\bibitem{butterick2018linespacing}
+\textsc{Butterick, Matthew}.
+\newblock \textit{Butterick's Practical Typography\textup:
+ Line spacing}.
+\newblock \url{https://practicaltypography.com/line-spacing.html},
+ 访问日期: 2018/10/28.
+
+\bibitem{knuth1986tex}
+\textsc{Knuth, Donald Ervin}.
+\newblock \textit{The \TeX book}.
+\newblock Addison--Wesley, 1986.
+
+\bibitem{lunde2008cjkv}
+\textsc{Lunde, Ken}.
+\newblock \textit{CJKV Information Processing\textup:
+ Chinese\textup, Japanese\textup, Korean \textup\&
+ Vietnamese Computing} (2~ed.).
+\newblock O'Reilly Media, Inc., 2008.
+
+\bibitem{zhang2005fang}
+\textsc{张胜涛 \& 王忆波}.
+\newblock \textbf{方正飞腾4.0实用培训教程}.
+\newblock 清华大学出版社, 2005.
+\end{thebibliography}
+
+\end{document} \ No newline at end of file
diff --git a/language/chinese/zhmcjk/README b/language/chinese/zhmcjk/README
new file mode 100644
index 0000000000..1c6ec69c10
--- /dev/null
+++ b/language/chinese/zhmcjk/README
@@ -0,0 +1,109 @@
+ ==================
+ zhmCJK Package
+ ==================
+
+Introduction
+------------
+
+zhmCJK is a package written to ease the complex CJK fonts setup. All CJK
+fonts may share the same .tfm metrics. The package sets the NFSS font
+definition and actual font maappings using TeX macros dynamically. As a
+result, zhmCJK provides similar faculties and interface of xeCJK, TrueType CJK
+fonts are used to generate PDF output with pdfTeX or DVIPDFMx driver.
+
+This package is licensed under LPPL.
+
+Installation
+------------
+
+This package consists of the files zhmCJK.dtx,
+ zhmCJK.ins,
+ zhmCJK.lua,
+ zhmCJK-addmap.pl,
+ and the derived files zhmCJK.sty,
+ zhmCJK.pdf,
+ zhmCJK-test.tex,
+ README, (from zhmCJK.dtx)
+ zhmCJK.map,
+ texfonts.map.template,
+ zhmCJK.tfm,
+ miktex-tfm/zhm*/zhm**.tfm. (from zhmCJK.lua)
+
+* Compile zhmCJK.lua with command
+
+ texlua zhmCJK.lua map
+
+ to generate zhmCJK.map, texfonts.map.template, zhmCJK.tfm.
+
+ Or, for MiKTeX only, use
+
+ texlua zhmCJK.lua nomap
+
+ to generate miktex-tfm/zhm*/zhm**.tfm. (32 subdirectories, 8192 TFM files)
+
+* Compile zhmCJK.ins using an 8-bit TeX engine to obtain zhmCJK.sty,
+ zhmCJK-test.tex and this README file.
+
+* Compile zhmCJK.dtx using pdflatex or latex+dvipdfmx to obtain the
+ documentation zhmCJK.pdf.
+
+* Copy the files into proper directories searched by TeX.
+ TDS tree:
+
+ TEXMF/doc/latex/zhmCJK/zhmCJK-test.tex
+ TEXMF/doc/latex/zhmCJK/zhmCJK.pdf
+ TEXMF/doc/latex/zhmCJK/README
+ TEXMF/fonts/map/fontname/zhmCJK.map
+ TEXMF/fonts/tfm/zhmCJK/zhmCJK.tfm
+ TEXMF/source/latex/zhmCJK/zhmCJK.dtx
+ TEXMF/source/latex/zhmCJK/zhmCJK.ins
+ TEXMF/source/latex/zhmCJK/zhmCJK.lua
+ TEXMF/tex/latex/zhmCJK/zhmCJK.sty
+
+ And merge the file texfonts.map.template into
+
+ TEXMF/fonts/map/fontname/texfonts.map
+
+ Or simply run script zhmCJK-addmap.pl to append this line to the old
+ texfonts.map:
+
+ include zhmCJK.map
+
+ Or, for MiKTeX only, instead of copying texfonts.map, zhmCJK.map and
+ zhmCJK.tfm, copy all miktex-tfm/zhm*/zhm**.tfm into:
+
+ TEXMF/fonts/tfm/zhmCJK/miktex-tfm/zhm*/zhm**.tfm
+
+* Run texhash to refresh file name data base.
+
+Basic Usage
+-----------
+
+zhmCJK provides similar syntax to xeCJK, while the underlying package is CJK
+under pdfTeX or DVIPDFMx engine. A TeX source file is encoded in UTF-8 by
+default.
+
+The package provides the following commands to define a CJK font family:
+
+ \setCJKmainfont{ttf-file-name}[options]
+ \setCJKsansfont{ttf-file-name}[options]
+ \setCJKmonofont{ttf-file-name}[options]
+ \setCJKfamilyfont{family}{ttf-file-name}[options]
+
+For example, this setup some Chinese fonts on MS Windows:
+
+ \usepackage{zhmCJK}
+ \setCJKmainfont{simsun.ttc}[BoldFont=simhei.ttf, ItalicFont=simkai.ttf]
+
+You can read the PDF document (in Chinese) for more detailed explanations.
+
+Author
+------
+
+Leo Liu <leoliu.pku@gmail.com>
+
+If you are interested in the process of development you may observe
+
+ https://github.com/leo-liu/tex-pkg
+
+--- end of README ---
diff --git a/language/chinese/zhmcjk/doc/zhmCJK-test.tex b/language/chinese/zhmcjk/doc/zhmCJK-test.tex
new file mode 100644
index 0000000000..b247fde3b1
--- /dev/null
+++ b/language/chinese/zhmcjk/doc/zhmCJK-test.tex
@@ -0,0 +1,45 @@
+%%
+%% This is file `zhmCJK-test.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% zhmCJK.dtx (with options: `test')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2012--2016 by Leo Liu <leoliu.pku@gmail.com>
+%% --------------------------------------------------------------------------
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+\documentclass[12pt,a4paper]{article}
+
+\usepackage{zhmCJK}
+\setCJKmainfont{simsun.ttc}[BoldFont=simhei.ttf,ItalicFont=simkai.ttf]
+\setCJKsansfont{simhei.ttf}[AutoFakeBold=0]
+\setCJKmonofont{simfang.ttf}[AutoFakeSlant]
+\setCJKfamilyfont{xinwei}{STXINWEI.TTF}
+
+\title{\bfseries 一个华丽的 zhmCJK 测试}
+\author{Leo Liu}
+\date{2016 年 11 月 23 日}
+
+\begin{document}
+
+\maketitle
+
+正文是宋体字,\textbf{加粗变成黑体},\textit{意大利体变成楷体}。
+
+\textsf{这是黑体字,\textbf{禁用自动加粗},\textsl{默认不自动倾斜}}
+
+\texttt{这是仿宋字,\textbf{默认自动加粗},\textsl{打开自动倾斜}}
+
+{\CJKfamily{xinwei}还有华文新魏}
+
+\end{document}
diff --git a/language/chinese/zhmcjk/doc/zhmCJK.pdf b/language/chinese/zhmcjk/doc/zhmCJK.pdf
new file mode 100644
index 0000000000..ea7cd6f91a
--- /dev/null
+++ b/language/chinese/zhmcjk/doc/zhmCJK.pdf
Binary files differ
diff --git a/language/chinese/zhmcjk/fontname/texfonts.map.template b/language/chinese/zhmcjk/fontname/texfonts.map.template
new file mode 100644
index 0000000000..20ff41cc4b
--- /dev/null
+++ b/language/chinese/zhmcjk/fontname/texfonts.map.template
@@ -0,0 +1,2 @@
+include zhmCJK.map
+
diff --git a/language/chinese/zhmcjk/fontname/zhmCJK.map b/language/chinese/zhmcjk/fontname/zhmCJK.map
new file mode 100644
index 0000000000..7f9492191a
--- /dev/null
+++ b/language/chinese/zhmcjk/fontname/zhmCJK.map
@@ -0,0 +1,8193 @@
+zhmCJK.tfm zhm100.tfm
+zhmCJK.tfm zhm101.tfm
+zhmCJK.tfm zhm102.tfm
+zhmCJK.tfm zhm103.tfm
+zhmCJK.tfm zhm104.tfm
+zhmCJK.tfm zhm105.tfm
+zhmCJK.tfm zhm106.tfm
+zhmCJK.tfm zhm107.tfm
+zhmCJK.tfm zhm108.tfm
+zhmCJK.tfm zhm109.tfm
+zhmCJK.tfm zhm10a.tfm
+zhmCJK.tfm zhm10b.tfm
+zhmCJK.tfm zhm10c.tfm
+zhmCJK.tfm zhm10d.tfm
+zhmCJK.tfm zhm10e.tfm
+zhmCJK.tfm zhm10f.tfm
+zhmCJK.tfm zhm110.tfm
+zhmCJK.tfm zhm111.tfm
+zhmCJK.tfm zhm112.tfm
+zhmCJK.tfm zhm113.tfm
+zhmCJK.tfm zhm114.tfm
+zhmCJK.tfm zhm115.tfm
+zhmCJK.tfm zhm116.tfm
+zhmCJK.tfm zhm117.tfm
+zhmCJK.tfm zhm118.tfm
+zhmCJK.tfm zhm119.tfm
+zhmCJK.tfm zhm11a.tfm
+zhmCJK.tfm zhm11b.tfm
+zhmCJK.tfm zhm11c.tfm
+zhmCJK.tfm zhm11d.tfm
+zhmCJK.tfm zhm11e.tfm
+zhmCJK.tfm zhm11f.tfm
+zhmCJK.tfm zhm120.tfm
+zhmCJK.tfm zhm121.tfm
+zhmCJK.tfm zhm122.tfm
+zhmCJK.tfm zhm123.tfm
+zhmCJK.tfm zhm124.tfm
+zhmCJK.tfm zhm125.tfm
+zhmCJK.tfm zhm126.tfm
+zhmCJK.tfm zhm127.tfm
+zhmCJK.tfm zhm128.tfm
+zhmCJK.tfm zhm129.tfm
+zhmCJK.tfm zhm12a.tfm
+zhmCJK.tfm zhm12b.tfm
+zhmCJK.tfm zhm12c.tfm
+zhmCJK.tfm zhm12d.tfm
+zhmCJK.tfm zhm12e.tfm
+zhmCJK.tfm zhm12f.tfm
+zhmCJK.tfm zhm130.tfm
+zhmCJK.tfm zhm131.tfm
+zhmCJK.tfm zhm132.tfm
+zhmCJK.tfm zhm133.tfm
+zhmCJK.tfm zhm134.tfm
+zhmCJK.tfm zhm135.tfm
+zhmCJK.tfm zhm136.tfm
+zhmCJK.tfm zhm137.tfm
+zhmCJK.tfm zhm138.tfm
+zhmCJK.tfm zhm139.tfm
+zhmCJK.tfm zhm13a.tfm
+zhmCJK.tfm zhm13b.tfm
+zhmCJK.tfm zhm13c.tfm
+zhmCJK.tfm zhm13d.tfm
+zhmCJK.tfm zhm13e.tfm
+zhmCJK.tfm zhm13f.tfm
+zhmCJK.tfm zhm140.tfm
+zhmCJK.tfm zhm141.tfm
+zhmCJK.tfm zhm142.tfm
+zhmCJK.tfm zhm143.tfm
+zhmCJK.tfm zhm144.tfm
+zhmCJK.tfm zhm145.tfm
+zhmCJK.tfm zhm146.tfm
+zhmCJK.tfm zhm147.tfm
+zhmCJK.tfm zhm148.tfm
+zhmCJK.tfm zhm149.tfm
+zhmCJK.tfm zhm14a.tfm
+zhmCJK.tfm zhm14b.tfm
+zhmCJK.tfm zhm14c.tfm
+zhmCJK.tfm zhm14d.tfm
+zhmCJK.tfm zhm14e.tfm
+zhmCJK.tfm zhm14f.tfm
+zhmCJK.tfm zhm150.tfm
+zhmCJK.tfm zhm151.tfm
+zhmCJK.tfm zhm152.tfm
+zhmCJK.tfm zhm153.tfm
+zhmCJK.tfm zhm154.tfm
+zhmCJK.tfm zhm155.tfm
+zhmCJK.tfm zhm156.tfm
+zhmCJK.tfm zhm157.tfm
+zhmCJK.tfm zhm158.tfm
+zhmCJK.tfm zhm159.tfm
+zhmCJK.tfm zhm15a.tfm
+zhmCJK.tfm zhm15b.tfm
+zhmCJK.tfm zhm15c.tfm
+zhmCJK.tfm zhm15d.tfm
+zhmCJK.tfm zhm15e.tfm
+zhmCJK.tfm zhm15f.tfm
+zhmCJK.tfm zhm160.tfm
+zhmCJK.tfm zhm161.tfm
+zhmCJK.tfm zhm162.tfm
+zhmCJK.tfm zhm163.tfm
+zhmCJK.tfm zhm164.tfm
+zhmCJK.tfm zhm165.tfm
+zhmCJK.tfm zhm166.tfm
+zhmCJK.tfm zhm167.tfm
+zhmCJK.tfm zhm168.tfm
+zhmCJK.tfm zhm169.tfm
+zhmCJK.tfm zhm16a.tfm
+zhmCJK.tfm zhm16b.tfm
+zhmCJK.tfm zhm16c.tfm
+zhmCJK.tfm zhm16d.tfm
+zhmCJK.tfm zhm16e.tfm
+zhmCJK.tfm zhm16f.tfm
+zhmCJK.tfm zhm170.tfm
+zhmCJK.tfm zhm171.tfm
+zhmCJK.tfm zhm172.tfm
+zhmCJK.tfm zhm173.tfm
+zhmCJK.tfm zhm174.tfm
+zhmCJK.tfm zhm175.tfm
+zhmCJK.tfm zhm176.tfm
+zhmCJK.tfm zhm177.tfm
+zhmCJK.tfm zhm178.tfm
+zhmCJK.tfm zhm179.tfm
+zhmCJK.tfm zhm17a.tfm
+zhmCJK.tfm zhm17b.tfm
+zhmCJK.tfm zhm17c.tfm
+zhmCJK.tfm zhm17d.tfm
+zhmCJK.tfm zhm17e.tfm
+zhmCJK.tfm zhm17f.tfm
+zhmCJK.tfm zhm180.tfm
+zhmCJK.tfm zhm181.tfm
+zhmCJK.tfm zhm182.tfm
+zhmCJK.tfm zhm183.tfm
+zhmCJK.tfm zhm184.tfm
+zhmCJK.tfm zhm185.tfm
+zhmCJK.tfm zhm186.tfm
+zhmCJK.tfm zhm187.tfm
+zhmCJK.tfm zhm188.tfm
+zhmCJK.tfm zhm189.tfm
+zhmCJK.tfm zhm18a.tfm
+zhmCJK.tfm zhm18b.tfm
+zhmCJK.tfm zhm18c.tfm
+zhmCJK.tfm zhm18d.tfm
+zhmCJK.tfm zhm18e.tfm
+zhmCJK.tfm zhm18f.tfm
+zhmCJK.tfm zhm190.tfm
+zhmCJK.tfm zhm191.tfm
+zhmCJK.tfm zhm192.tfm
+zhmCJK.tfm zhm193.tfm
+zhmCJK.tfm zhm194.tfm
+zhmCJK.tfm zhm195.tfm
+zhmCJK.tfm zhm196.tfm
+zhmCJK.tfm zhm197.tfm
+zhmCJK.tfm zhm198.tfm
+zhmCJK.tfm zhm199.tfm
+zhmCJK.tfm zhm19a.tfm
+zhmCJK.tfm zhm19b.tfm
+zhmCJK.tfm zhm19c.tfm
+zhmCJK.tfm zhm19d.tfm
+zhmCJK.tfm zhm19e.tfm
+zhmCJK.tfm zhm19f.tfm
+zhmCJK.tfm zhm1a0.tfm
+zhmCJK.tfm zhm1a1.tfm
+zhmCJK.tfm zhm1a2.tfm
+zhmCJK.tfm zhm1a3.tfm
+zhmCJK.tfm zhm1a4.tfm
+zhmCJK.tfm zhm1a5.tfm
+zhmCJK.tfm zhm1a6.tfm
+zhmCJK.tfm zhm1a7.tfm
+zhmCJK.tfm zhm1a8.tfm
+zhmCJK.tfm zhm1a9.tfm
+zhmCJK.tfm zhm1aa.tfm
+zhmCJK.tfm zhm1ab.tfm
+zhmCJK.tfm zhm1ac.tfm
+zhmCJK.tfm zhm1ad.tfm
+zhmCJK.tfm zhm1ae.tfm
+zhmCJK.tfm zhm1af.tfm
+zhmCJK.tfm zhm1b0.tfm
+zhmCJK.tfm zhm1b1.tfm
+zhmCJK.tfm zhm1b2.tfm
+zhmCJK.tfm zhm1b3.tfm
+zhmCJK.tfm zhm1b4.tfm
+zhmCJK.tfm zhm1b5.tfm
+zhmCJK.tfm zhm1b6.tfm
+zhmCJK.tfm zhm1b7.tfm
+zhmCJK.tfm zhm1b8.tfm
+zhmCJK.tfm zhm1b9.tfm
+zhmCJK.tfm zhm1ba.tfm
+zhmCJK.tfm zhm1bb.tfm
+zhmCJK.tfm zhm1bc.tfm
+zhmCJK.tfm zhm1bd.tfm
+zhmCJK.tfm zhm1be.tfm
+zhmCJK.tfm zhm1bf.tfm
+zhmCJK.tfm zhm1c0.tfm
+zhmCJK.tfm zhm1c1.tfm
+zhmCJK.tfm zhm1c2.tfm
+zhmCJK.tfm zhm1c3.tfm
+zhmCJK.tfm zhm1c4.tfm
+zhmCJK.tfm zhm1c5.tfm
+zhmCJK.tfm zhm1c6.tfm
+zhmCJK.tfm zhm1c7.tfm
+zhmCJK.tfm zhm1c8.tfm
+zhmCJK.tfm zhm1c9.tfm
+zhmCJK.tfm zhm1ca.tfm
+zhmCJK.tfm zhm1cb.tfm
+zhmCJK.tfm zhm1cc.tfm
+zhmCJK.tfm zhm1cd.tfm
+zhmCJK.tfm zhm1ce.tfm
+zhmCJK.tfm zhm1cf.tfm
+zhmCJK.tfm zhm1d0.tfm
+zhmCJK.tfm zhm1d1.tfm
+zhmCJK.tfm zhm1d2.tfm
+zhmCJK.tfm zhm1d3.tfm
+zhmCJK.tfm zhm1d4.tfm
+zhmCJK.tfm zhm1d5.tfm
+zhmCJK.tfm zhm1d6.tfm
+zhmCJK.tfm zhm1d7.tfm
+zhmCJK.tfm zhm1d8.tfm
+zhmCJK.tfm zhm1d9.tfm
+zhmCJK.tfm zhm1da.tfm
+zhmCJK.tfm zhm1db.tfm
+zhmCJK.tfm zhm1dc.tfm
+zhmCJK.tfm zhm1dd.tfm
+zhmCJK.tfm zhm1de.tfm
+zhmCJK.tfm zhm1df.tfm
+zhmCJK.tfm zhm1e0.tfm
+zhmCJK.tfm zhm1e1.tfm
+zhmCJK.tfm zhm1e2.tfm
+zhmCJK.tfm zhm1e3.tfm
+zhmCJK.tfm zhm1e4.tfm
+zhmCJK.tfm zhm1e5.tfm
+zhmCJK.tfm zhm1e6.tfm
+zhmCJK.tfm zhm1e7.tfm
+zhmCJK.tfm zhm1e8.tfm
+zhmCJK.tfm zhm1e9.tfm
+zhmCJK.tfm zhm1ea.tfm
+zhmCJK.tfm zhm1eb.tfm
+zhmCJK.tfm zhm1ec.tfm
+zhmCJK.tfm zhm1ed.tfm
+zhmCJK.tfm zhm1ee.tfm
+zhmCJK.tfm zhm1ef.tfm
+zhmCJK.tfm zhm1f0.tfm
+zhmCJK.tfm zhm1f1.tfm
+zhmCJK.tfm zhm1f2.tfm
+zhmCJK.tfm zhm1f3.tfm
+zhmCJK.tfm zhm1f4.tfm
+zhmCJK.tfm zhm1f5.tfm
+zhmCJK.tfm zhm1f6.tfm
+zhmCJK.tfm zhm1f7.tfm
+zhmCJK.tfm zhm1f8.tfm
+zhmCJK.tfm zhm1f9.tfm
+zhmCJK.tfm zhm1fa.tfm
+zhmCJK.tfm zhm1fb.tfm
+zhmCJK.tfm zhm1fc.tfm
+zhmCJK.tfm zhm1fd.tfm
+zhmCJK.tfm zhm1fe.tfm
+zhmCJK.tfm zhm1ff.tfm
+zhmCJK.tfm zhm200.tfm
+zhmCJK.tfm zhm201.tfm
+zhmCJK.tfm zhm202.tfm
+zhmCJK.tfm zhm203.tfm
+zhmCJK.tfm zhm204.tfm
+zhmCJK.tfm zhm205.tfm
+zhmCJK.tfm zhm206.tfm
+zhmCJK.tfm zhm207.tfm
+zhmCJK.tfm zhm208.tfm
+zhmCJK.tfm zhm209.tfm
+zhmCJK.tfm zhm20a.tfm
+zhmCJK.tfm zhm20b.tfm
+zhmCJK.tfm zhm20c.tfm
+zhmCJK.tfm zhm20d.tfm
+zhmCJK.tfm zhm20e.tfm
+zhmCJK.tfm zhm20f.tfm
+zhmCJK.tfm zhm210.tfm
+zhmCJK.tfm zhm211.tfm
+zhmCJK.tfm zhm212.tfm
+zhmCJK.tfm zhm213.tfm
+zhmCJK.tfm zhm214.tfm
+zhmCJK.tfm zhm215.tfm
+zhmCJK.tfm zhm216.tfm
+zhmCJK.tfm zhm217.tfm
+zhmCJK.tfm zhm218.tfm
+zhmCJK.tfm zhm219.tfm
+zhmCJK.tfm zhm21a.tfm
+zhmCJK.tfm zhm21b.tfm
+zhmCJK.tfm zhm21c.tfm
+zhmCJK.tfm zhm21d.tfm
+zhmCJK.tfm zhm21e.tfm
+zhmCJK.tfm zhm21f.tfm
+zhmCJK.tfm zhm220.tfm
+zhmCJK.tfm zhm221.tfm
+zhmCJK.tfm zhm222.tfm
+zhmCJK.tfm zhm223.tfm
+zhmCJK.tfm zhm224.tfm
+zhmCJK.tfm zhm225.tfm
+zhmCJK.tfm zhm226.tfm
+zhmCJK.tfm zhm227.tfm
+zhmCJK.tfm zhm228.tfm
+zhmCJK.tfm zhm229.tfm
+zhmCJK.tfm zhm22a.tfm
+zhmCJK.tfm zhm22b.tfm
+zhmCJK.tfm zhm22c.tfm
+zhmCJK.tfm zhm22d.tfm
+zhmCJK.tfm zhm22e.tfm
+zhmCJK.tfm zhm22f.tfm
+zhmCJK.tfm zhm230.tfm
+zhmCJK.tfm zhm231.tfm
+zhmCJK.tfm zhm232.tfm
+zhmCJK.tfm zhm233.tfm
+zhmCJK.tfm zhm234.tfm
+zhmCJK.tfm zhm235.tfm
+zhmCJK.tfm zhm236.tfm
+zhmCJK.tfm zhm237.tfm
+zhmCJK.tfm zhm238.tfm
+zhmCJK.tfm zhm239.tfm
+zhmCJK.tfm zhm23a.tfm
+zhmCJK.tfm zhm23b.tfm
+zhmCJK.tfm zhm23c.tfm
+zhmCJK.tfm zhm23d.tfm
+zhmCJK.tfm zhm23e.tfm
+zhmCJK.tfm zhm23f.tfm
+zhmCJK.tfm zhm240.tfm
+zhmCJK.tfm zhm241.tfm
+zhmCJK.tfm zhm242.tfm
+zhmCJK.tfm zhm243.tfm
+zhmCJK.tfm zhm244.tfm
+zhmCJK.tfm zhm245.tfm
+zhmCJK.tfm zhm246.tfm
+zhmCJK.tfm zhm247.tfm
+zhmCJK.tfm zhm248.tfm
+zhmCJK.tfm zhm249.tfm
+zhmCJK.tfm zhm24a.tfm
+zhmCJK.tfm zhm24b.tfm
+zhmCJK.tfm zhm24c.tfm
+zhmCJK.tfm zhm24d.tfm
+zhmCJK.tfm zhm24e.tfm
+zhmCJK.tfm zhm24f.tfm
+zhmCJK.tfm zhm250.tfm
+zhmCJK.tfm zhm251.tfm
+zhmCJK.tfm zhm252.tfm
+zhmCJK.tfm zhm253.tfm
+zhmCJK.tfm zhm254.tfm
+zhmCJK.tfm zhm255.tfm
+zhmCJK.tfm zhm256.tfm
+zhmCJK.tfm zhm257.tfm
+zhmCJK.tfm zhm258.tfm
+zhmCJK.tfm zhm259.tfm
+zhmCJK.tfm zhm25a.tfm
+zhmCJK.tfm zhm25b.tfm
+zhmCJK.tfm zhm25c.tfm
+zhmCJK.tfm zhm25d.tfm
+zhmCJK.tfm zhm25e.tfm
+zhmCJK.tfm zhm25f.tfm
+zhmCJK.tfm zhm260.tfm
+zhmCJK.tfm zhm261.tfm
+zhmCJK.tfm zhm262.tfm
+zhmCJK.tfm zhm263.tfm
+zhmCJK.tfm zhm264.tfm
+zhmCJK.tfm zhm265.tfm
+zhmCJK.tfm zhm266.tfm
+zhmCJK.tfm zhm267.tfm
+zhmCJK.tfm zhm268.tfm
+zhmCJK.tfm zhm269.tfm
+zhmCJK.tfm zhm26a.tfm
+zhmCJK.tfm zhm26b.tfm
+zhmCJK.tfm zhm26c.tfm
+zhmCJK.tfm zhm26d.tfm
+zhmCJK.tfm zhm26e.tfm
+zhmCJK.tfm zhm26f.tfm
+zhmCJK.tfm zhm270.tfm
+zhmCJK.tfm zhm271.tfm
+zhmCJK.tfm zhm272.tfm
+zhmCJK.tfm zhm273.tfm
+zhmCJK.tfm zhm274.tfm
+zhmCJK.tfm zhm275.tfm
+zhmCJK.tfm zhm276.tfm
+zhmCJK.tfm zhm277.tfm
+zhmCJK.tfm zhm278.tfm
+zhmCJK.tfm zhm279.tfm
+zhmCJK.tfm zhm27a.tfm
+zhmCJK.tfm zhm27b.tfm
+zhmCJK.tfm zhm27c.tfm
+zhmCJK.tfm zhm27d.tfm
+zhmCJK.tfm zhm27e.tfm
+zhmCJK.tfm zhm27f.tfm
+zhmCJK.tfm zhm280.tfm
+zhmCJK.tfm zhm281.tfm
+zhmCJK.tfm zhm282.tfm
+zhmCJK.tfm zhm283.tfm
+zhmCJK.tfm zhm284.tfm
+zhmCJK.tfm zhm285.tfm
+zhmCJK.tfm zhm286.tfm
+zhmCJK.tfm zhm287.tfm
+zhmCJK.tfm zhm288.tfm
+zhmCJK.tfm zhm289.tfm
+zhmCJK.tfm zhm28a.tfm
+zhmCJK.tfm zhm28b.tfm
+zhmCJK.tfm zhm28c.tfm
+zhmCJK.tfm zhm28d.tfm
+zhmCJK.tfm zhm28e.tfm
+zhmCJK.tfm zhm28f.tfm
+zhmCJK.tfm zhm290.tfm
+zhmCJK.tfm zhm291.tfm
+zhmCJK.tfm zhm292.tfm
+zhmCJK.tfm zhm293.tfm
+zhmCJK.tfm zhm294.tfm
+zhmCJK.tfm zhm295.tfm
+zhmCJK.tfm zhm296.tfm
+zhmCJK.tfm zhm297.tfm
+zhmCJK.tfm zhm298.tfm
+zhmCJK.tfm zhm299.tfm
+zhmCJK.tfm zhm29a.tfm
+zhmCJK.tfm zhm29b.tfm
+zhmCJK.tfm zhm29c.tfm
+zhmCJK.tfm zhm29d.tfm
+zhmCJK.tfm zhm29e.tfm
+zhmCJK.tfm zhm29f.tfm
+zhmCJK.tfm zhm2a0.tfm
+zhmCJK.tfm zhm2a1.tfm
+zhmCJK.tfm zhm2a2.tfm
+zhmCJK.tfm zhm2a3.tfm
+zhmCJK.tfm zhm2a4.tfm
+zhmCJK.tfm zhm2a5.tfm
+zhmCJK.tfm zhm2a6.tfm
+zhmCJK.tfm zhm2a7.tfm
+zhmCJK.tfm zhm2a8.tfm
+zhmCJK.tfm zhm2a9.tfm
+zhmCJK.tfm zhm2aa.tfm
+zhmCJK.tfm zhm2ab.tfm
+zhmCJK.tfm zhm2ac.tfm
+zhmCJK.tfm zhm2ad.tfm
+zhmCJK.tfm zhm2ae.tfm
+zhmCJK.tfm zhm2af.tfm
+zhmCJK.tfm zhm2b0.tfm
+zhmCJK.tfm zhm2b1.tfm
+zhmCJK.tfm zhm2b2.tfm
+zhmCJK.tfm zhm2b3.tfm
+zhmCJK.tfm zhm2b4.tfm
+zhmCJK.tfm zhm2b5.tfm
+zhmCJK.tfm zhm2b6.tfm
+zhmCJK.tfm zhm2b7.tfm
+zhmCJK.tfm zhm2b8.tfm
+zhmCJK.tfm zhm2b9.tfm
+zhmCJK.tfm zhm2ba.tfm
+zhmCJK.tfm zhm2bb.tfm
+zhmCJK.tfm zhm2bc.tfm
+zhmCJK.tfm zhm2bd.tfm
+zhmCJK.tfm zhm2be.tfm
+zhmCJK.tfm zhm2bf.tfm
+zhmCJK.tfm zhm2c0.tfm
+zhmCJK.tfm zhm2c1.tfm
+zhmCJK.tfm zhm2c2.tfm
+zhmCJK.tfm zhm2c3.tfm
+zhmCJK.tfm zhm2c4.tfm
+zhmCJK.tfm zhm2c5.tfm
+zhmCJK.tfm zhm2c6.tfm
+zhmCJK.tfm zhm2c7.tfm
+zhmCJK.tfm zhm2c8.tfm
+zhmCJK.tfm zhm2c9.tfm
+zhmCJK.tfm zhm2ca.tfm
+zhmCJK.tfm zhm2cb.tfm
+zhmCJK.tfm zhm2cc.tfm
+zhmCJK.tfm zhm2cd.tfm
+zhmCJK.tfm zhm2ce.tfm
+zhmCJK.tfm zhm2cf.tfm
+zhmCJK.tfm zhm2d0.tfm
+zhmCJK.tfm zhm2d1.tfm
+zhmCJK.tfm zhm2d2.tfm
+zhmCJK.tfm zhm2d3.tfm
+zhmCJK.tfm zhm2d4.tfm
+zhmCJK.tfm zhm2d5.tfm
+zhmCJK.tfm zhm2d6.tfm
+zhmCJK.tfm zhm2d7.tfm
+zhmCJK.tfm zhm2d8.tfm
+zhmCJK.tfm zhm2d9.tfm
+zhmCJK.tfm zhm2da.tfm
+zhmCJK.tfm zhm2db.tfm
+zhmCJK.tfm zhm2dc.tfm
+zhmCJK.tfm zhm2dd.tfm
+zhmCJK.tfm zhm2de.tfm
+zhmCJK.tfm zhm2df.tfm
+zhmCJK.tfm zhm2e0.tfm
+zhmCJK.tfm zhm2e1.tfm
+zhmCJK.tfm zhm2e2.tfm
+zhmCJK.tfm zhm2e3.tfm
+zhmCJK.tfm zhm2e4.tfm
+zhmCJK.tfm zhm2e5.tfm
+zhmCJK.tfm zhm2e6.tfm
+zhmCJK.tfm zhm2e7.tfm
+zhmCJK.tfm zhm2e8.tfm
+zhmCJK.tfm zhm2e9.tfm
+zhmCJK.tfm zhm2ea.tfm
+zhmCJK.tfm zhm2eb.tfm
+zhmCJK.tfm zhm2ec.tfm
+zhmCJK.tfm zhm2ed.tfm
+zhmCJK.tfm zhm2ee.tfm
+zhmCJK.tfm zhm2ef.tfm
+zhmCJK.tfm zhm2f0.tfm
+zhmCJK.tfm zhm2f1.tfm
+zhmCJK.tfm zhm2f2.tfm
+zhmCJK.tfm zhm2f3.tfm
+zhmCJK.tfm zhm2f4.tfm
+zhmCJK.tfm zhm2f5.tfm
+zhmCJK.tfm zhm2f6.tfm
+zhmCJK.tfm zhm2f7.tfm
+zhmCJK.tfm zhm2f8.tfm
+zhmCJK.tfm zhm2f9.tfm
+zhmCJK.tfm zhm2fa.tfm
+zhmCJK.tfm zhm2fb.tfm
+zhmCJK.tfm zhm2fc.tfm
+zhmCJK.tfm zhm2fd.tfm
+zhmCJK.tfm zhm2fe.tfm
+zhmCJK.tfm zhm2ff.tfm
+zhmCJK.tfm zhm300.tfm
+zhmCJK.tfm zhm301.tfm
+zhmCJK.tfm zhm302.tfm
+zhmCJK.tfm zhm303.tfm
+zhmCJK.tfm zhm304.tfm
+zhmCJK.tfm zhm305.tfm
+zhmCJK.tfm zhm306.tfm
+zhmCJK.tfm zhm307.tfm
+zhmCJK.tfm zhm308.tfm
+zhmCJK.tfm zhm309.tfm
+zhmCJK.tfm zhm30a.tfm
+zhmCJK.tfm zhm30b.tfm
+zhmCJK.tfm zhm30c.tfm
+zhmCJK.tfm zhm30d.tfm
+zhmCJK.tfm zhm30e.tfm
+zhmCJK.tfm zhm30f.tfm
+zhmCJK.tfm zhm310.tfm
+zhmCJK.tfm zhm311.tfm
+zhmCJK.tfm zhm312.tfm
+zhmCJK.tfm zhm313.tfm
+zhmCJK.tfm zhm314.tfm
+zhmCJK.tfm zhm315.tfm
+zhmCJK.tfm zhm316.tfm
+zhmCJK.tfm zhm317.tfm
+zhmCJK.tfm zhm318.tfm
+zhmCJK.tfm zhm319.tfm
+zhmCJK.tfm zhm31a.tfm
+zhmCJK.tfm zhm31b.tfm
+zhmCJK.tfm zhm31c.tfm
+zhmCJK.tfm zhm31d.tfm
+zhmCJK.tfm zhm31e.tfm
+zhmCJK.tfm zhm31f.tfm
+zhmCJK.tfm zhm320.tfm
+zhmCJK.tfm zhm321.tfm
+zhmCJK.tfm zhm322.tfm
+zhmCJK.tfm zhm323.tfm
+zhmCJK.tfm zhm324.tfm
+zhmCJK.tfm zhm325.tfm
+zhmCJK.tfm zhm326.tfm
+zhmCJK.tfm zhm327.tfm
+zhmCJK.tfm zhm328.tfm
+zhmCJK.tfm zhm329.tfm
+zhmCJK.tfm zhm32a.tfm
+zhmCJK.tfm zhm32b.tfm
+zhmCJK.tfm zhm32c.tfm
+zhmCJK.tfm zhm32d.tfm
+zhmCJK.tfm zhm32e.tfm
+zhmCJK.tfm zhm32f.tfm
+zhmCJK.tfm zhm330.tfm
+zhmCJK.tfm zhm331.tfm
+zhmCJK.tfm zhm332.tfm
+zhmCJK.tfm zhm333.tfm
+zhmCJK.tfm zhm334.tfm
+zhmCJK.tfm zhm335.tfm
+zhmCJK.tfm zhm336.tfm
+zhmCJK.tfm zhm337.tfm
+zhmCJK.tfm zhm338.tfm
+zhmCJK.tfm zhm339.tfm
+zhmCJK.tfm zhm33a.tfm
+zhmCJK.tfm zhm33b.tfm
+zhmCJK.tfm zhm33c.tfm
+zhmCJK.tfm zhm33d.tfm
+zhmCJK.tfm zhm33e.tfm
+zhmCJK.tfm zhm33f.tfm
+zhmCJK.tfm zhm340.tfm
+zhmCJK.tfm zhm341.tfm
+zhmCJK.tfm zhm342.tfm
+zhmCJK.tfm zhm343.tfm
+zhmCJK.tfm zhm344.tfm
+zhmCJK.tfm zhm345.tfm
+zhmCJK.tfm zhm346.tfm
+zhmCJK.tfm zhm347.tfm
+zhmCJK.tfm zhm348.tfm
+zhmCJK.tfm zhm349.tfm
+zhmCJK.tfm zhm34a.tfm
+zhmCJK.tfm zhm34b.tfm
+zhmCJK.tfm zhm34c.tfm
+zhmCJK.tfm zhm34d.tfm
+zhmCJK.tfm zhm34e.tfm
+zhmCJK.tfm zhm34f.tfm
+zhmCJK.tfm zhm350.tfm
+zhmCJK.tfm zhm351.tfm
+zhmCJK.tfm zhm352.tfm
+zhmCJK.tfm zhm353.tfm
+zhmCJK.tfm zhm354.tfm
+zhmCJK.tfm zhm355.tfm
+zhmCJK.tfm zhm356.tfm
+zhmCJK.tfm zhm357.tfm
+zhmCJK.tfm zhm358.tfm
+zhmCJK.tfm zhm359.tfm
+zhmCJK.tfm zhm35a.tfm
+zhmCJK.tfm zhm35b.tfm
+zhmCJK.tfm zhm35c.tfm
+zhmCJK.tfm zhm35d.tfm
+zhmCJK.tfm zhm35e.tfm
+zhmCJK.tfm zhm35f.tfm
+zhmCJK.tfm zhm360.tfm
+zhmCJK.tfm zhm361.tfm
+zhmCJK.tfm zhm362.tfm
+zhmCJK.tfm zhm363.tfm
+zhmCJK.tfm zhm364.tfm
+zhmCJK.tfm zhm365.tfm
+zhmCJK.tfm zhm366.tfm
+zhmCJK.tfm zhm367.tfm
+zhmCJK.tfm zhm368.tfm
+zhmCJK.tfm zhm369.tfm
+zhmCJK.tfm zhm36a.tfm
+zhmCJK.tfm zhm36b.tfm
+zhmCJK.tfm zhm36c.tfm
+zhmCJK.tfm zhm36d.tfm
+zhmCJK.tfm zhm36e.tfm
+zhmCJK.tfm zhm36f.tfm
+zhmCJK.tfm zhm370.tfm
+zhmCJK.tfm zhm371.tfm
+zhmCJK.tfm zhm372.tfm
+zhmCJK.tfm zhm373.tfm
+zhmCJK.tfm zhm374.tfm
+zhmCJK.tfm zhm375.tfm
+zhmCJK.tfm zhm376.tfm
+zhmCJK.tfm zhm377.tfm
+zhmCJK.tfm zhm378.tfm
+zhmCJK.tfm zhm379.tfm
+zhmCJK.tfm zhm37a.tfm
+zhmCJK.tfm zhm37b.tfm
+zhmCJK.tfm zhm37c.tfm
+zhmCJK.tfm zhm37d.tfm
+zhmCJK.tfm zhm37e.tfm
+zhmCJK.tfm zhm37f.tfm
+zhmCJK.tfm zhm380.tfm
+zhmCJK.tfm zhm381.tfm
+zhmCJK.tfm zhm382.tfm
+zhmCJK.tfm zhm383.tfm
+zhmCJK.tfm zhm384.tfm
+zhmCJK.tfm zhm385.tfm
+zhmCJK.tfm zhm386.tfm
+zhmCJK.tfm zhm387.tfm
+zhmCJK.tfm zhm388.tfm
+zhmCJK.tfm zhm389.tfm
+zhmCJK.tfm zhm38a.tfm
+zhmCJK.tfm zhm38b.tfm
+zhmCJK.tfm zhm38c.tfm
+zhmCJK.tfm zhm38d.tfm
+zhmCJK.tfm zhm38e.tfm
+zhmCJK.tfm zhm38f.tfm
+zhmCJK.tfm zhm390.tfm
+zhmCJK.tfm zhm391.tfm
+zhmCJK.tfm zhm392.tfm
+zhmCJK.tfm zhm393.tfm
+zhmCJK.tfm zhm394.tfm
+zhmCJK.tfm zhm395.tfm
+zhmCJK.tfm zhm396.tfm
+zhmCJK.tfm zhm397.tfm
+zhmCJK.tfm zhm398.tfm
+zhmCJK.tfm zhm399.tfm
+zhmCJK.tfm zhm39a.tfm
+zhmCJK.tfm zhm39b.tfm
+zhmCJK.tfm zhm39c.tfm
+zhmCJK.tfm zhm39d.tfm
+zhmCJK.tfm zhm39e.tfm
+zhmCJK.tfm zhm39f.tfm
+zhmCJK.tfm zhm3a0.tfm
+zhmCJK.tfm zhm3a1.tfm
+zhmCJK.tfm zhm3a2.tfm
+zhmCJK.tfm zhm3a3.tfm
+zhmCJK.tfm zhm3a4.tfm
+zhmCJK.tfm zhm3a5.tfm
+zhmCJK.tfm zhm3a6.tfm
+zhmCJK.tfm zhm3a7.tfm
+zhmCJK.tfm zhm3a8.tfm
+zhmCJK.tfm zhm3a9.tfm
+zhmCJK.tfm zhm3aa.tfm
+zhmCJK.tfm zhm3ab.tfm
+zhmCJK.tfm zhm3ac.tfm
+zhmCJK.tfm zhm3ad.tfm
+zhmCJK.tfm zhm3ae.tfm
+zhmCJK.tfm zhm3af.tfm
+zhmCJK.tfm zhm3b0.tfm
+zhmCJK.tfm zhm3b1.tfm
+zhmCJK.tfm zhm3b2.tfm
+zhmCJK.tfm zhm3b3.tfm
+zhmCJK.tfm zhm3b4.tfm
+zhmCJK.tfm zhm3b5.tfm
+zhmCJK.tfm zhm3b6.tfm
+zhmCJK.tfm zhm3b7.tfm
+zhmCJK.tfm zhm3b8.tfm
+zhmCJK.tfm zhm3b9.tfm
+zhmCJK.tfm zhm3ba.tfm
+zhmCJK.tfm zhm3bb.tfm
+zhmCJK.tfm zhm3bc.tfm
+zhmCJK.tfm zhm3bd.tfm
+zhmCJK.tfm zhm3be.tfm
+zhmCJK.tfm zhm3bf.tfm
+zhmCJK.tfm zhm3c0.tfm
+zhmCJK.tfm zhm3c1.tfm
+zhmCJK.tfm zhm3c2.tfm
+zhmCJK.tfm zhm3c3.tfm
+zhmCJK.tfm zhm3c4.tfm
+zhmCJK.tfm zhm3c5.tfm
+zhmCJK.tfm zhm3c6.tfm
+zhmCJK.tfm zhm3c7.tfm
+zhmCJK.tfm zhm3c8.tfm
+zhmCJK.tfm zhm3c9.tfm
+zhmCJK.tfm zhm3ca.tfm
+zhmCJK.tfm zhm3cb.tfm
+zhmCJK.tfm zhm3cc.tfm
+zhmCJK.tfm zhm3cd.tfm
+zhmCJK.tfm zhm3ce.tfm
+zhmCJK.tfm zhm3cf.tfm
+zhmCJK.tfm zhm3d0.tfm
+zhmCJK.tfm zhm3d1.tfm
+zhmCJK.tfm zhm3d2.tfm
+zhmCJK.tfm zhm3d3.tfm
+zhmCJK.tfm zhm3d4.tfm
+zhmCJK.tfm zhm3d5.tfm
+zhmCJK.tfm zhm3d6.tfm
+zhmCJK.tfm zhm3d7.tfm
+zhmCJK.tfm zhm3d8.tfm
+zhmCJK.tfm zhm3d9.tfm
+zhmCJK.tfm zhm3da.tfm
+zhmCJK.tfm zhm3db.tfm
+zhmCJK.tfm zhm3dc.tfm
+zhmCJK.tfm zhm3dd.tfm
+zhmCJK.tfm zhm3de.tfm
+zhmCJK.tfm zhm3df.tfm
+zhmCJK.tfm zhm3e0.tfm
+zhmCJK.tfm zhm3e1.tfm
+zhmCJK.tfm zhm3e2.tfm
+zhmCJK.tfm zhm3e3.tfm
+zhmCJK.tfm zhm3e4.tfm
+zhmCJK.tfm zhm3e5.tfm
+zhmCJK.tfm zhm3e6.tfm
+zhmCJK.tfm zhm3e7.tfm
+zhmCJK.tfm zhm3e8.tfm
+zhmCJK.tfm zhm3e9.tfm
+zhmCJK.tfm zhm3ea.tfm
+zhmCJK.tfm zhm3eb.tfm
+zhmCJK.tfm zhm3ec.tfm
+zhmCJK.tfm zhm3ed.tfm
+zhmCJK.tfm zhm3ee.tfm
+zhmCJK.tfm zhm3ef.tfm
+zhmCJK.tfm zhm3f0.tfm
+zhmCJK.tfm zhm3f1.tfm
+zhmCJK.tfm zhm3f2.tfm
+zhmCJK.tfm zhm3f3.tfm
+zhmCJK.tfm zhm3f4.tfm
+zhmCJK.tfm zhm3f5.tfm
+zhmCJK.tfm zhm3f6.tfm
+zhmCJK.tfm zhm3f7.tfm
+zhmCJK.tfm zhm3f8.tfm
+zhmCJK.tfm zhm3f9.tfm
+zhmCJK.tfm zhm3fa.tfm
+zhmCJK.tfm zhm3fb.tfm
+zhmCJK.tfm zhm3fc.tfm
+zhmCJK.tfm zhm3fd.tfm
+zhmCJK.tfm zhm3fe.tfm
+zhmCJK.tfm zhm3ff.tfm
+zhmCJK.tfm zhm400.tfm
+zhmCJK.tfm zhm401.tfm
+zhmCJK.tfm zhm402.tfm
+zhmCJK.tfm zhm403.tfm
+zhmCJK.tfm zhm404.tfm
+zhmCJK.tfm zhm405.tfm
+zhmCJK.tfm zhm406.tfm
+zhmCJK.tfm zhm407.tfm
+zhmCJK.tfm zhm408.tfm
+zhmCJK.tfm zhm409.tfm
+zhmCJK.tfm zhm40a.tfm
+zhmCJK.tfm zhm40b.tfm
+zhmCJK.tfm zhm40c.tfm
+zhmCJK.tfm zhm40d.tfm
+zhmCJK.tfm zhm40e.tfm
+zhmCJK.tfm zhm40f.tfm
+zhmCJK.tfm zhm410.tfm
+zhmCJK.tfm zhm411.tfm
+zhmCJK.tfm zhm412.tfm
+zhmCJK.tfm zhm413.tfm
+zhmCJK.tfm zhm414.tfm
+zhmCJK.tfm zhm415.tfm
+zhmCJK.tfm zhm416.tfm
+zhmCJK.tfm zhm417.tfm
+zhmCJK.tfm zhm418.tfm
+zhmCJK.tfm zhm419.tfm
+zhmCJK.tfm zhm41a.tfm
+zhmCJK.tfm zhm41b.tfm
+zhmCJK.tfm zhm41c.tfm
+zhmCJK.tfm zhm41d.tfm
+zhmCJK.tfm zhm41e.tfm
+zhmCJK.tfm zhm41f.tfm
+zhmCJK.tfm zhm420.tfm
+zhmCJK.tfm zhm421.tfm
+zhmCJK.tfm zhm422.tfm
+zhmCJK.tfm zhm423.tfm
+zhmCJK.tfm zhm424.tfm
+zhmCJK.tfm zhm425.tfm
+zhmCJK.tfm zhm426.tfm
+zhmCJK.tfm zhm427.tfm
+zhmCJK.tfm zhm428.tfm
+zhmCJK.tfm zhm429.tfm
+zhmCJK.tfm zhm42a.tfm
+zhmCJK.tfm zhm42b.tfm
+zhmCJK.tfm zhm42c.tfm
+zhmCJK.tfm zhm42d.tfm
+zhmCJK.tfm zhm42e.tfm
+zhmCJK.tfm zhm42f.tfm
+zhmCJK.tfm zhm430.tfm
+zhmCJK.tfm zhm431.tfm
+zhmCJK.tfm zhm432.tfm
+zhmCJK.tfm zhm433.tfm
+zhmCJK.tfm zhm434.tfm
+zhmCJK.tfm zhm435.tfm
+zhmCJK.tfm zhm436.tfm
+zhmCJK.tfm zhm437.tfm
+zhmCJK.tfm zhm438.tfm
+zhmCJK.tfm zhm439.tfm
+zhmCJK.tfm zhm43a.tfm
+zhmCJK.tfm zhm43b.tfm
+zhmCJK.tfm zhm43c.tfm
+zhmCJK.tfm zhm43d.tfm
+zhmCJK.tfm zhm43e.tfm
+zhmCJK.tfm zhm43f.tfm
+zhmCJK.tfm zhm440.tfm
+zhmCJK.tfm zhm441.tfm
+zhmCJK.tfm zhm442.tfm
+zhmCJK.tfm zhm443.tfm
+zhmCJK.tfm zhm444.tfm
+zhmCJK.tfm zhm445.tfm
+zhmCJK.tfm zhm446.tfm
+zhmCJK.tfm zhm447.tfm
+zhmCJK.tfm zhm448.tfm
+zhmCJK.tfm zhm449.tfm
+zhmCJK.tfm zhm44a.tfm
+zhmCJK.tfm zhm44b.tfm
+zhmCJK.tfm zhm44c.tfm
+zhmCJK.tfm zhm44d.tfm
+zhmCJK.tfm zhm44e.tfm
+zhmCJK.tfm zhm44f.tfm
+zhmCJK.tfm zhm450.tfm
+zhmCJK.tfm zhm451.tfm
+zhmCJK.tfm zhm452.tfm
+zhmCJK.tfm zhm453.tfm
+zhmCJK.tfm zhm454.tfm
+zhmCJK.tfm zhm455.tfm
+zhmCJK.tfm zhm456.tfm
+zhmCJK.tfm zhm457.tfm
+zhmCJK.tfm zhm458.tfm
+zhmCJK.tfm zhm459.tfm
+zhmCJK.tfm zhm45a.tfm
+zhmCJK.tfm zhm45b.tfm
+zhmCJK.tfm zhm45c.tfm
+zhmCJK.tfm zhm45d.tfm
+zhmCJK.tfm zhm45e.tfm
+zhmCJK.tfm zhm45f.tfm
+zhmCJK.tfm zhm460.tfm
+zhmCJK.tfm zhm461.tfm
+zhmCJK.tfm zhm462.tfm
+zhmCJK.tfm zhm463.tfm
+zhmCJK.tfm zhm464.tfm
+zhmCJK.tfm zhm465.tfm
+zhmCJK.tfm zhm466.tfm
+zhmCJK.tfm zhm467.tfm
+zhmCJK.tfm zhm468.tfm
+zhmCJK.tfm zhm469.tfm
+zhmCJK.tfm zhm46a.tfm
+zhmCJK.tfm zhm46b.tfm
+zhmCJK.tfm zhm46c.tfm
+zhmCJK.tfm zhm46d.tfm
+zhmCJK.tfm zhm46e.tfm
+zhmCJK.tfm zhm46f.tfm
+zhmCJK.tfm zhm470.tfm
+zhmCJK.tfm zhm471.tfm
+zhmCJK.tfm zhm472.tfm
+zhmCJK.tfm zhm473.tfm
+zhmCJK.tfm zhm474.tfm
+zhmCJK.tfm zhm475.tfm
+zhmCJK.tfm zhm476.tfm
+zhmCJK.tfm zhm477.tfm
+zhmCJK.tfm zhm478.tfm
+zhmCJK.tfm zhm479.tfm
+zhmCJK.tfm zhm47a.tfm
+zhmCJK.tfm zhm47b.tfm
+zhmCJK.tfm zhm47c.tfm
+zhmCJK.tfm zhm47d.tfm
+zhmCJK.tfm zhm47e.tfm
+zhmCJK.tfm zhm47f.tfm
+zhmCJK.tfm zhm480.tfm
+zhmCJK.tfm zhm481.tfm
+zhmCJK.tfm zhm482.tfm
+zhmCJK.tfm zhm483.tfm
+zhmCJK.tfm zhm484.tfm
+zhmCJK.tfm zhm485.tfm
+zhmCJK.tfm zhm486.tfm
+zhmCJK.tfm zhm487.tfm
+zhmCJK.tfm zhm488.tfm
+zhmCJK.tfm zhm489.tfm
+zhmCJK.tfm zhm48a.tfm
+zhmCJK.tfm zhm48b.tfm
+zhmCJK.tfm zhm48c.tfm
+zhmCJK.tfm zhm48d.tfm
+zhmCJK.tfm zhm48e.tfm
+zhmCJK.tfm zhm48f.tfm
+zhmCJK.tfm zhm490.tfm
+zhmCJK.tfm zhm491.tfm
+zhmCJK.tfm zhm492.tfm
+zhmCJK.tfm zhm493.tfm
+zhmCJK.tfm zhm494.tfm
+zhmCJK.tfm zhm495.tfm
+zhmCJK.tfm zhm496.tfm
+zhmCJK.tfm zhm497.tfm
+zhmCJK.tfm zhm498.tfm
+zhmCJK.tfm zhm499.tfm
+zhmCJK.tfm zhm49a.tfm
+zhmCJK.tfm zhm49b.tfm
+zhmCJK.tfm zhm49c.tfm
+zhmCJK.tfm zhm49d.tfm
+zhmCJK.tfm zhm49e.tfm
+zhmCJK.tfm zhm49f.tfm
+zhmCJK.tfm zhm4a0.tfm
+zhmCJK.tfm zhm4a1.tfm
+zhmCJK.tfm zhm4a2.tfm
+zhmCJK.tfm zhm4a3.tfm
+zhmCJK.tfm zhm4a4.tfm
+zhmCJK.tfm zhm4a5.tfm
+zhmCJK.tfm zhm4a6.tfm
+zhmCJK.tfm zhm4a7.tfm
+zhmCJK.tfm zhm4a8.tfm
+zhmCJK.tfm zhm4a9.tfm
+zhmCJK.tfm zhm4aa.tfm
+zhmCJK.tfm zhm4ab.tfm
+zhmCJK.tfm zhm4ac.tfm
+zhmCJK.tfm zhm4ad.tfm
+zhmCJK.tfm zhm4ae.tfm
+zhmCJK.tfm zhm4af.tfm
+zhmCJK.tfm zhm4b0.tfm
+zhmCJK.tfm zhm4b1.tfm
+zhmCJK.tfm zhm4b2.tfm
+zhmCJK.tfm zhm4b3.tfm
+zhmCJK.tfm zhm4b4.tfm
+zhmCJK.tfm zhm4b5.tfm
+zhmCJK.tfm zhm4b6.tfm
+zhmCJK.tfm zhm4b7.tfm
+zhmCJK.tfm zhm4b8.tfm
+zhmCJK.tfm zhm4b9.tfm
+zhmCJK.tfm zhm4ba.tfm
+zhmCJK.tfm zhm4bb.tfm
+zhmCJK.tfm zhm4bc.tfm
+zhmCJK.tfm zhm4bd.tfm
+zhmCJK.tfm zhm4be.tfm
+zhmCJK.tfm zhm4bf.tfm
+zhmCJK.tfm zhm4c0.tfm
+zhmCJK.tfm zhm4c1.tfm
+zhmCJK.tfm zhm4c2.tfm
+zhmCJK.tfm zhm4c3.tfm
+zhmCJK.tfm zhm4c4.tfm
+zhmCJK.tfm zhm4c5.tfm
+zhmCJK.tfm zhm4c6.tfm
+zhmCJK.tfm zhm4c7.tfm
+zhmCJK.tfm zhm4c8.tfm
+zhmCJK.tfm zhm4c9.tfm
+zhmCJK.tfm zhm4ca.tfm
+zhmCJK.tfm zhm4cb.tfm
+zhmCJK.tfm zhm4cc.tfm
+zhmCJK.tfm zhm4cd.tfm
+zhmCJK.tfm zhm4ce.tfm
+zhmCJK.tfm zhm4cf.tfm
+zhmCJK.tfm zhm4d0.tfm
+zhmCJK.tfm zhm4d1.tfm
+zhmCJK.tfm zhm4d2.tfm
+zhmCJK.tfm zhm4d3.tfm
+zhmCJK.tfm zhm4d4.tfm
+zhmCJK.tfm zhm4d5.tfm
+zhmCJK.tfm zhm4d6.tfm
+zhmCJK.tfm zhm4d7.tfm
+zhmCJK.tfm zhm4d8.tfm
+zhmCJK.tfm zhm4d9.tfm
+zhmCJK.tfm zhm4da.tfm
+zhmCJK.tfm zhm4db.tfm
+zhmCJK.tfm zhm4dc.tfm
+zhmCJK.tfm zhm4dd.tfm
+zhmCJK.tfm zhm4de.tfm
+zhmCJK.tfm zhm4df.tfm
+zhmCJK.tfm zhm4e0.tfm
+zhmCJK.tfm zhm4e1.tfm
+zhmCJK.tfm zhm4e2.tfm
+zhmCJK.tfm zhm4e3.tfm
+zhmCJK.tfm zhm4e4.tfm
+zhmCJK.tfm zhm4e5.tfm
+zhmCJK.tfm zhm4e6.tfm
+zhmCJK.tfm zhm4e7.tfm
+zhmCJK.tfm zhm4e8.tfm
+zhmCJK.tfm zhm4e9.tfm
+zhmCJK.tfm zhm4ea.tfm
+zhmCJK.tfm zhm4eb.tfm
+zhmCJK.tfm zhm4ec.tfm
+zhmCJK.tfm zhm4ed.tfm
+zhmCJK.tfm zhm4ee.tfm
+zhmCJK.tfm zhm4ef.tfm
+zhmCJK.tfm zhm4f0.tfm
+zhmCJK.tfm zhm4f1.tfm
+zhmCJK.tfm zhm4f2.tfm
+zhmCJK.tfm zhm4f3.tfm
+zhmCJK.tfm zhm4f4.tfm
+zhmCJK.tfm zhm4f5.tfm
+zhmCJK.tfm zhm4f6.tfm
+zhmCJK.tfm zhm4f7.tfm
+zhmCJK.tfm zhm4f8.tfm
+zhmCJK.tfm zhm4f9.tfm
+zhmCJK.tfm zhm4fa.tfm
+zhmCJK.tfm zhm4fb.tfm
+zhmCJK.tfm zhm4fc.tfm
+zhmCJK.tfm zhm4fd.tfm
+zhmCJK.tfm zhm4fe.tfm
+zhmCJK.tfm zhm4ff.tfm
+zhmCJK.tfm zhm500.tfm
+zhmCJK.tfm zhm501.tfm
+zhmCJK.tfm zhm502.tfm
+zhmCJK.tfm zhm503.tfm
+zhmCJK.tfm zhm504.tfm
+zhmCJK.tfm zhm505.tfm
+zhmCJK.tfm zhm506.tfm
+zhmCJK.tfm zhm507.tfm
+zhmCJK.tfm zhm508.tfm
+zhmCJK.tfm zhm509.tfm
+zhmCJK.tfm zhm50a.tfm
+zhmCJK.tfm zhm50b.tfm
+zhmCJK.tfm zhm50c.tfm
+zhmCJK.tfm zhm50d.tfm
+zhmCJK.tfm zhm50e.tfm
+zhmCJK.tfm zhm50f.tfm
+zhmCJK.tfm zhm510.tfm
+zhmCJK.tfm zhm511.tfm
+zhmCJK.tfm zhm512.tfm
+zhmCJK.tfm zhm513.tfm
+zhmCJK.tfm zhm514.tfm
+zhmCJK.tfm zhm515.tfm
+zhmCJK.tfm zhm516.tfm
+zhmCJK.tfm zhm517.tfm
+zhmCJK.tfm zhm518.tfm
+zhmCJK.tfm zhm519.tfm
+zhmCJK.tfm zhm51a.tfm
+zhmCJK.tfm zhm51b.tfm
+zhmCJK.tfm zhm51c.tfm
+zhmCJK.tfm zhm51d.tfm
+zhmCJK.tfm zhm51e.tfm
+zhmCJK.tfm zhm51f.tfm
+zhmCJK.tfm zhm520.tfm
+zhmCJK.tfm zhm521.tfm
+zhmCJK.tfm zhm522.tfm
+zhmCJK.tfm zhm523.tfm
+zhmCJK.tfm zhm524.tfm
+zhmCJK.tfm zhm525.tfm
+zhmCJK.tfm zhm526.tfm
+zhmCJK.tfm zhm527.tfm
+zhmCJK.tfm zhm528.tfm
+zhmCJK.tfm zhm529.tfm
+zhmCJK.tfm zhm52a.tfm
+zhmCJK.tfm zhm52b.tfm
+zhmCJK.tfm zhm52c.tfm
+zhmCJK.tfm zhm52d.tfm
+zhmCJK.tfm zhm52e.tfm
+zhmCJK.tfm zhm52f.tfm
+zhmCJK.tfm zhm530.tfm
+zhmCJK.tfm zhm531.tfm
+zhmCJK.tfm zhm532.tfm
+zhmCJK.tfm zhm533.tfm
+zhmCJK.tfm zhm534.tfm
+zhmCJK.tfm zhm535.tfm
+zhmCJK.tfm zhm536.tfm
+zhmCJK.tfm zhm537.tfm
+zhmCJK.tfm zhm538.tfm
+zhmCJK.tfm zhm539.tfm
+zhmCJK.tfm zhm53a.tfm
+zhmCJK.tfm zhm53b.tfm
+zhmCJK.tfm zhm53c.tfm
+zhmCJK.tfm zhm53d.tfm
+zhmCJK.tfm zhm53e.tfm
+zhmCJK.tfm zhm53f.tfm
+zhmCJK.tfm zhm540.tfm
+zhmCJK.tfm zhm541.tfm
+zhmCJK.tfm zhm542.tfm
+zhmCJK.tfm zhm543.tfm
+zhmCJK.tfm zhm544.tfm
+zhmCJK.tfm zhm545.tfm
+zhmCJK.tfm zhm546.tfm
+zhmCJK.tfm zhm547.tfm
+zhmCJK.tfm zhm548.tfm
+zhmCJK.tfm zhm549.tfm
+zhmCJK.tfm zhm54a.tfm
+zhmCJK.tfm zhm54b.tfm
+zhmCJK.tfm zhm54c.tfm
+zhmCJK.tfm zhm54d.tfm
+zhmCJK.tfm zhm54e.tfm
+zhmCJK.tfm zhm54f.tfm
+zhmCJK.tfm zhm550.tfm
+zhmCJK.tfm zhm551.tfm
+zhmCJK.tfm zhm552.tfm
+zhmCJK.tfm zhm553.tfm
+zhmCJK.tfm zhm554.tfm
+zhmCJK.tfm zhm555.tfm
+zhmCJK.tfm zhm556.tfm
+zhmCJK.tfm zhm557.tfm
+zhmCJK.tfm zhm558.tfm
+zhmCJK.tfm zhm559.tfm
+zhmCJK.tfm zhm55a.tfm
+zhmCJK.tfm zhm55b.tfm
+zhmCJK.tfm zhm55c.tfm
+zhmCJK.tfm zhm55d.tfm
+zhmCJK.tfm zhm55e.tfm
+zhmCJK.tfm zhm55f.tfm
+zhmCJK.tfm zhm560.tfm
+zhmCJK.tfm zhm561.tfm
+zhmCJK.tfm zhm562.tfm
+zhmCJK.tfm zhm563.tfm
+zhmCJK.tfm zhm564.tfm
+zhmCJK.tfm zhm565.tfm
+zhmCJK.tfm zhm566.tfm
+zhmCJK.tfm zhm567.tfm
+zhmCJK.tfm zhm568.tfm
+zhmCJK.tfm zhm569.tfm
+zhmCJK.tfm zhm56a.tfm
+zhmCJK.tfm zhm56b.tfm
+zhmCJK.tfm zhm56c.tfm
+zhmCJK.tfm zhm56d.tfm
+zhmCJK.tfm zhm56e.tfm
+zhmCJK.tfm zhm56f.tfm
+zhmCJK.tfm zhm570.tfm
+zhmCJK.tfm zhm571.tfm
+zhmCJK.tfm zhm572.tfm
+zhmCJK.tfm zhm573.tfm
+zhmCJK.tfm zhm574.tfm
+zhmCJK.tfm zhm575.tfm
+zhmCJK.tfm zhm576.tfm
+zhmCJK.tfm zhm577.tfm
+zhmCJK.tfm zhm578.tfm
+zhmCJK.tfm zhm579.tfm
+zhmCJK.tfm zhm57a.tfm
+zhmCJK.tfm zhm57b.tfm
+zhmCJK.tfm zhm57c.tfm
+zhmCJK.tfm zhm57d.tfm
+zhmCJK.tfm zhm57e.tfm
+zhmCJK.tfm zhm57f.tfm
+zhmCJK.tfm zhm580.tfm
+zhmCJK.tfm zhm581.tfm
+zhmCJK.tfm zhm582.tfm
+zhmCJK.tfm zhm583.tfm
+zhmCJK.tfm zhm584.tfm
+zhmCJK.tfm zhm585.tfm
+zhmCJK.tfm zhm586.tfm
+zhmCJK.tfm zhm587.tfm
+zhmCJK.tfm zhm588.tfm
+zhmCJK.tfm zhm589.tfm
+zhmCJK.tfm zhm58a.tfm
+zhmCJK.tfm zhm58b.tfm
+zhmCJK.tfm zhm58c.tfm
+zhmCJK.tfm zhm58d.tfm
+zhmCJK.tfm zhm58e.tfm
+zhmCJK.tfm zhm58f.tfm
+zhmCJK.tfm zhm590.tfm
+zhmCJK.tfm zhm591.tfm
+zhmCJK.tfm zhm592.tfm
+zhmCJK.tfm zhm593.tfm
+zhmCJK.tfm zhm594.tfm
+zhmCJK.tfm zhm595.tfm
+zhmCJK.tfm zhm596.tfm
+zhmCJK.tfm zhm597.tfm
+zhmCJK.tfm zhm598.tfm
+zhmCJK.tfm zhm599.tfm
+zhmCJK.tfm zhm59a.tfm
+zhmCJK.tfm zhm59b.tfm
+zhmCJK.tfm zhm59c.tfm
+zhmCJK.tfm zhm59d.tfm
+zhmCJK.tfm zhm59e.tfm
+zhmCJK.tfm zhm59f.tfm
+zhmCJK.tfm zhm5a0.tfm
+zhmCJK.tfm zhm5a1.tfm
+zhmCJK.tfm zhm5a2.tfm
+zhmCJK.tfm zhm5a3.tfm
+zhmCJK.tfm zhm5a4.tfm
+zhmCJK.tfm zhm5a5.tfm
+zhmCJK.tfm zhm5a6.tfm
+zhmCJK.tfm zhm5a7.tfm
+zhmCJK.tfm zhm5a8.tfm
+zhmCJK.tfm zhm5a9.tfm
+zhmCJK.tfm zhm5aa.tfm
+zhmCJK.tfm zhm5ab.tfm
+zhmCJK.tfm zhm5ac.tfm
+zhmCJK.tfm zhm5ad.tfm
+zhmCJK.tfm zhm5ae.tfm
+zhmCJK.tfm zhm5af.tfm
+zhmCJK.tfm zhm5b0.tfm
+zhmCJK.tfm zhm5b1.tfm
+zhmCJK.tfm zhm5b2.tfm
+zhmCJK.tfm zhm5b3.tfm
+zhmCJK.tfm zhm5b4.tfm
+zhmCJK.tfm zhm5b5.tfm
+zhmCJK.tfm zhm5b6.tfm
+zhmCJK.tfm zhm5b7.tfm
+zhmCJK.tfm zhm5b8.tfm
+zhmCJK.tfm zhm5b9.tfm
+zhmCJK.tfm zhm5ba.tfm
+zhmCJK.tfm zhm5bb.tfm
+zhmCJK.tfm zhm5bc.tfm
+zhmCJK.tfm zhm5bd.tfm
+zhmCJK.tfm zhm5be.tfm
+zhmCJK.tfm zhm5bf.tfm
+zhmCJK.tfm zhm5c0.tfm
+zhmCJK.tfm zhm5c1.tfm
+zhmCJK.tfm zhm5c2.tfm
+zhmCJK.tfm zhm5c3.tfm
+zhmCJK.tfm zhm5c4.tfm
+zhmCJK.tfm zhm5c5.tfm
+zhmCJK.tfm zhm5c6.tfm
+zhmCJK.tfm zhm5c7.tfm
+zhmCJK.tfm zhm5c8.tfm
+zhmCJK.tfm zhm5c9.tfm
+zhmCJK.tfm zhm5ca.tfm
+zhmCJK.tfm zhm5cb.tfm
+zhmCJK.tfm zhm5cc.tfm
+zhmCJK.tfm zhm5cd.tfm
+zhmCJK.tfm zhm5ce.tfm
+zhmCJK.tfm zhm5cf.tfm
+zhmCJK.tfm zhm5d0.tfm
+zhmCJK.tfm zhm5d1.tfm
+zhmCJK.tfm zhm5d2.tfm
+zhmCJK.tfm zhm5d3.tfm
+zhmCJK.tfm zhm5d4.tfm
+zhmCJK.tfm zhm5d5.tfm
+zhmCJK.tfm zhm5d6.tfm
+zhmCJK.tfm zhm5d7.tfm
+zhmCJK.tfm zhm5d8.tfm
+zhmCJK.tfm zhm5d9.tfm
+zhmCJK.tfm zhm5da.tfm
+zhmCJK.tfm zhm5db.tfm
+zhmCJK.tfm zhm5dc.tfm
+zhmCJK.tfm zhm5dd.tfm
+zhmCJK.tfm zhm5de.tfm
+zhmCJK.tfm zhm5df.tfm
+zhmCJK.tfm zhm5e0.tfm
+zhmCJK.tfm zhm5e1.tfm
+zhmCJK.tfm zhm5e2.tfm
+zhmCJK.tfm zhm5e3.tfm
+zhmCJK.tfm zhm5e4.tfm
+zhmCJK.tfm zhm5e5.tfm
+zhmCJK.tfm zhm5e6.tfm
+zhmCJK.tfm zhm5e7.tfm
+zhmCJK.tfm zhm5e8.tfm
+zhmCJK.tfm zhm5e9.tfm
+zhmCJK.tfm zhm5ea.tfm
+zhmCJK.tfm zhm5eb.tfm
+zhmCJK.tfm zhm5ec.tfm
+zhmCJK.tfm zhm5ed.tfm
+zhmCJK.tfm zhm5ee.tfm
+zhmCJK.tfm zhm5ef.tfm
+zhmCJK.tfm zhm5f0.tfm
+zhmCJK.tfm zhm5f1.tfm
+zhmCJK.tfm zhm5f2.tfm
+zhmCJK.tfm zhm5f3.tfm
+zhmCJK.tfm zhm5f4.tfm
+zhmCJK.tfm zhm5f5.tfm
+zhmCJK.tfm zhm5f6.tfm
+zhmCJK.tfm zhm5f7.tfm
+zhmCJK.tfm zhm5f8.tfm
+zhmCJK.tfm zhm5f9.tfm
+zhmCJK.tfm zhm5fa.tfm
+zhmCJK.tfm zhm5fb.tfm
+zhmCJK.tfm zhm5fc.tfm
+zhmCJK.tfm zhm5fd.tfm
+zhmCJK.tfm zhm5fe.tfm
+zhmCJK.tfm zhm5ff.tfm
+zhmCJK.tfm zhm600.tfm
+zhmCJK.tfm zhm601.tfm
+zhmCJK.tfm zhm602.tfm
+zhmCJK.tfm zhm603.tfm
+zhmCJK.tfm zhm604.tfm
+zhmCJK.tfm zhm605.tfm
+zhmCJK.tfm zhm606.tfm
+zhmCJK.tfm zhm607.tfm
+zhmCJK.tfm zhm608.tfm
+zhmCJK.tfm zhm609.tfm
+zhmCJK.tfm zhm60a.tfm
+zhmCJK.tfm zhm60b.tfm
+zhmCJK.tfm zhm60c.tfm
+zhmCJK.tfm zhm60d.tfm
+zhmCJK.tfm zhm60e.tfm
+zhmCJK.tfm zhm60f.tfm
+zhmCJK.tfm zhm610.tfm
+zhmCJK.tfm zhm611.tfm
+zhmCJK.tfm zhm612.tfm
+zhmCJK.tfm zhm613.tfm
+zhmCJK.tfm zhm614.tfm
+zhmCJK.tfm zhm615.tfm
+zhmCJK.tfm zhm616.tfm
+zhmCJK.tfm zhm617.tfm
+zhmCJK.tfm zhm618.tfm
+zhmCJK.tfm zhm619.tfm
+zhmCJK.tfm zhm61a.tfm
+zhmCJK.tfm zhm61b.tfm
+zhmCJK.tfm zhm61c.tfm
+zhmCJK.tfm zhm61d.tfm
+zhmCJK.tfm zhm61e.tfm
+zhmCJK.tfm zhm61f.tfm
+zhmCJK.tfm zhm620.tfm
+zhmCJK.tfm zhm621.tfm
+zhmCJK.tfm zhm622.tfm
+zhmCJK.tfm zhm623.tfm
+zhmCJK.tfm zhm624.tfm
+zhmCJK.tfm zhm625.tfm
+zhmCJK.tfm zhm626.tfm
+zhmCJK.tfm zhm627.tfm
+zhmCJK.tfm zhm628.tfm
+zhmCJK.tfm zhm629.tfm
+zhmCJK.tfm zhm62a.tfm
+zhmCJK.tfm zhm62b.tfm
+zhmCJK.tfm zhm62c.tfm
+zhmCJK.tfm zhm62d.tfm
+zhmCJK.tfm zhm62e.tfm
+zhmCJK.tfm zhm62f.tfm
+zhmCJK.tfm zhm630.tfm
+zhmCJK.tfm zhm631.tfm
+zhmCJK.tfm zhm632.tfm
+zhmCJK.tfm zhm633.tfm
+zhmCJK.tfm zhm634.tfm
+zhmCJK.tfm zhm635.tfm
+zhmCJK.tfm zhm636.tfm
+zhmCJK.tfm zhm637.tfm
+zhmCJK.tfm zhm638.tfm
+zhmCJK.tfm zhm639.tfm
+zhmCJK.tfm zhm63a.tfm
+zhmCJK.tfm zhm63b.tfm
+zhmCJK.tfm zhm63c.tfm
+zhmCJK.tfm zhm63d.tfm
+zhmCJK.tfm zhm63e.tfm
+zhmCJK.tfm zhm63f.tfm
+zhmCJK.tfm zhm640.tfm
+zhmCJK.tfm zhm641.tfm
+zhmCJK.tfm zhm642.tfm
+zhmCJK.tfm zhm643.tfm
+zhmCJK.tfm zhm644.tfm
+zhmCJK.tfm zhm645.tfm
+zhmCJK.tfm zhm646.tfm
+zhmCJK.tfm zhm647.tfm
+zhmCJK.tfm zhm648.tfm
+zhmCJK.tfm zhm649.tfm
+zhmCJK.tfm zhm64a.tfm
+zhmCJK.tfm zhm64b.tfm
+zhmCJK.tfm zhm64c.tfm
+zhmCJK.tfm zhm64d.tfm
+zhmCJK.tfm zhm64e.tfm
+zhmCJK.tfm zhm64f.tfm
+zhmCJK.tfm zhm650.tfm
+zhmCJK.tfm zhm651.tfm
+zhmCJK.tfm zhm652.tfm
+zhmCJK.tfm zhm653.tfm
+zhmCJK.tfm zhm654.tfm
+zhmCJK.tfm zhm655.tfm
+zhmCJK.tfm zhm656.tfm
+zhmCJK.tfm zhm657.tfm
+zhmCJK.tfm zhm658.tfm
+zhmCJK.tfm zhm659.tfm
+zhmCJK.tfm zhm65a.tfm
+zhmCJK.tfm zhm65b.tfm
+zhmCJK.tfm zhm65c.tfm
+zhmCJK.tfm zhm65d.tfm
+zhmCJK.tfm zhm65e.tfm
+zhmCJK.tfm zhm65f.tfm
+zhmCJK.tfm zhm660.tfm
+zhmCJK.tfm zhm661.tfm
+zhmCJK.tfm zhm662.tfm
+zhmCJK.tfm zhm663.tfm
+zhmCJK.tfm zhm664.tfm
+zhmCJK.tfm zhm665.tfm
+zhmCJK.tfm zhm666.tfm
+zhmCJK.tfm zhm667.tfm
+zhmCJK.tfm zhm668.tfm
+zhmCJK.tfm zhm669.tfm
+zhmCJK.tfm zhm66a.tfm
+zhmCJK.tfm zhm66b.tfm
+zhmCJK.tfm zhm66c.tfm
+zhmCJK.tfm zhm66d.tfm
+zhmCJK.tfm zhm66e.tfm
+zhmCJK.tfm zhm66f.tfm
+zhmCJK.tfm zhm670.tfm
+zhmCJK.tfm zhm671.tfm
+zhmCJK.tfm zhm672.tfm
+zhmCJK.tfm zhm673.tfm
+zhmCJK.tfm zhm674.tfm
+zhmCJK.tfm zhm675.tfm
+zhmCJK.tfm zhm676.tfm
+zhmCJK.tfm zhm677.tfm
+zhmCJK.tfm zhm678.tfm
+zhmCJK.tfm zhm679.tfm
+zhmCJK.tfm zhm67a.tfm
+zhmCJK.tfm zhm67b.tfm
+zhmCJK.tfm zhm67c.tfm
+zhmCJK.tfm zhm67d.tfm
+zhmCJK.tfm zhm67e.tfm
+zhmCJK.tfm zhm67f.tfm
+zhmCJK.tfm zhm680.tfm
+zhmCJK.tfm zhm681.tfm
+zhmCJK.tfm zhm682.tfm
+zhmCJK.tfm zhm683.tfm
+zhmCJK.tfm zhm684.tfm
+zhmCJK.tfm zhm685.tfm
+zhmCJK.tfm zhm686.tfm
+zhmCJK.tfm zhm687.tfm
+zhmCJK.tfm zhm688.tfm
+zhmCJK.tfm zhm689.tfm
+zhmCJK.tfm zhm68a.tfm
+zhmCJK.tfm zhm68b.tfm
+zhmCJK.tfm zhm68c.tfm
+zhmCJK.tfm zhm68d.tfm
+zhmCJK.tfm zhm68e.tfm
+zhmCJK.tfm zhm68f.tfm
+zhmCJK.tfm zhm690.tfm
+zhmCJK.tfm zhm691.tfm
+zhmCJK.tfm zhm692.tfm
+zhmCJK.tfm zhm693.tfm
+zhmCJK.tfm zhm694.tfm
+zhmCJK.tfm zhm695.tfm
+zhmCJK.tfm zhm696.tfm
+zhmCJK.tfm zhm697.tfm
+zhmCJK.tfm zhm698.tfm
+zhmCJK.tfm zhm699.tfm
+zhmCJK.tfm zhm69a.tfm
+zhmCJK.tfm zhm69b.tfm
+zhmCJK.tfm zhm69c.tfm
+zhmCJK.tfm zhm69d.tfm
+zhmCJK.tfm zhm69e.tfm
+zhmCJK.tfm zhm69f.tfm
+zhmCJK.tfm zhm6a0.tfm
+zhmCJK.tfm zhm6a1.tfm
+zhmCJK.tfm zhm6a2.tfm
+zhmCJK.tfm zhm6a3.tfm
+zhmCJK.tfm zhm6a4.tfm
+zhmCJK.tfm zhm6a5.tfm
+zhmCJK.tfm zhm6a6.tfm
+zhmCJK.tfm zhm6a7.tfm
+zhmCJK.tfm zhm6a8.tfm
+zhmCJK.tfm zhm6a9.tfm
+zhmCJK.tfm zhm6aa.tfm
+zhmCJK.tfm zhm6ab.tfm
+zhmCJK.tfm zhm6ac.tfm
+zhmCJK.tfm zhm6ad.tfm
+zhmCJK.tfm zhm6ae.tfm
+zhmCJK.tfm zhm6af.tfm
+zhmCJK.tfm zhm6b0.tfm
+zhmCJK.tfm zhm6b1.tfm
+zhmCJK.tfm zhm6b2.tfm
+zhmCJK.tfm zhm6b3.tfm
+zhmCJK.tfm zhm6b4.tfm
+zhmCJK.tfm zhm6b5.tfm
+zhmCJK.tfm zhm6b6.tfm
+zhmCJK.tfm zhm6b7.tfm
+zhmCJK.tfm zhm6b8.tfm
+zhmCJK.tfm zhm6b9.tfm
+zhmCJK.tfm zhm6ba.tfm
+zhmCJK.tfm zhm6bb.tfm
+zhmCJK.tfm zhm6bc.tfm
+zhmCJK.tfm zhm6bd.tfm
+zhmCJK.tfm zhm6be.tfm
+zhmCJK.tfm zhm6bf.tfm
+zhmCJK.tfm zhm6c0.tfm
+zhmCJK.tfm zhm6c1.tfm
+zhmCJK.tfm zhm6c2.tfm
+zhmCJK.tfm zhm6c3.tfm
+zhmCJK.tfm zhm6c4.tfm
+zhmCJK.tfm zhm6c5.tfm
+zhmCJK.tfm zhm6c6.tfm
+zhmCJK.tfm zhm6c7.tfm
+zhmCJK.tfm zhm6c8.tfm
+zhmCJK.tfm zhm6c9.tfm
+zhmCJK.tfm zhm6ca.tfm
+zhmCJK.tfm zhm6cb.tfm
+zhmCJK.tfm zhm6cc.tfm
+zhmCJK.tfm zhm6cd.tfm
+zhmCJK.tfm zhm6ce.tfm
+zhmCJK.tfm zhm6cf.tfm
+zhmCJK.tfm zhm6d0.tfm
+zhmCJK.tfm zhm6d1.tfm
+zhmCJK.tfm zhm6d2.tfm
+zhmCJK.tfm zhm6d3.tfm
+zhmCJK.tfm zhm6d4.tfm
+zhmCJK.tfm zhm6d5.tfm
+zhmCJK.tfm zhm6d6.tfm
+zhmCJK.tfm zhm6d7.tfm
+zhmCJK.tfm zhm6d8.tfm
+zhmCJK.tfm zhm6d9.tfm
+zhmCJK.tfm zhm6da.tfm
+zhmCJK.tfm zhm6db.tfm
+zhmCJK.tfm zhm6dc.tfm
+zhmCJK.tfm zhm6dd.tfm
+zhmCJK.tfm zhm6de.tfm
+zhmCJK.tfm zhm6df.tfm
+zhmCJK.tfm zhm6e0.tfm
+zhmCJK.tfm zhm6e1.tfm
+zhmCJK.tfm zhm6e2.tfm
+zhmCJK.tfm zhm6e3.tfm
+zhmCJK.tfm zhm6e4.tfm
+zhmCJK.tfm zhm6e5.tfm
+zhmCJK.tfm zhm6e6.tfm
+zhmCJK.tfm zhm6e7.tfm
+zhmCJK.tfm zhm6e8.tfm
+zhmCJK.tfm zhm6e9.tfm
+zhmCJK.tfm zhm6ea.tfm
+zhmCJK.tfm zhm6eb.tfm
+zhmCJK.tfm zhm6ec.tfm
+zhmCJK.tfm zhm6ed.tfm
+zhmCJK.tfm zhm6ee.tfm
+zhmCJK.tfm zhm6ef.tfm
+zhmCJK.tfm zhm6f0.tfm
+zhmCJK.tfm zhm6f1.tfm
+zhmCJK.tfm zhm6f2.tfm
+zhmCJK.tfm zhm6f3.tfm
+zhmCJK.tfm zhm6f4.tfm
+zhmCJK.tfm zhm6f5.tfm
+zhmCJK.tfm zhm6f6.tfm
+zhmCJK.tfm zhm6f7.tfm
+zhmCJK.tfm zhm6f8.tfm
+zhmCJK.tfm zhm6f9.tfm
+zhmCJK.tfm zhm6fa.tfm
+zhmCJK.tfm zhm6fb.tfm
+zhmCJK.tfm zhm6fc.tfm
+zhmCJK.tfm zhm6fd.tfm
+zhmCJK.tfm zhm6fe.tfm
+zhmCJK.tfm zhm6ff.tfm
+zhmCJK.tfm zhm700.tfm
+zhmCJK.tfm zhm701.tfm
+zhmCJK.tfm zhm702.tfm
+zhmCJK.tfm zhm703.tfm
+zhmCJK.tfm zhm704.tfm
+zhmCJK.tfm zhm705.tfm
+zhmCJK.tfm zhm706.tfm
+zhmCJK.tfm zhm707.tfm
+zhmCJK.tfm zhm708.tfm
+zhmCJK.tfm zhm709.tfm
+zhmCJK.tfm zhm70a.tfm
+zhmCJK.tfm zhm70b.tfm
+zhmCJK.tfm zhm70c.tfm
+zhmCJK.tfm zhm70d.tfm
+zhmCJK.tfm zhm70e.tfm
+zhmCJK.tfm zhm70f.tfm
+zhmCJK.tfm zhm710.tfm
+zhmCJK.tfm zhm711.tfm
+zhmCJK.tfm zhm712.tfm
+zhmCJK.tfm zhm713.tfm
+zhmCJK.tfm zhm714.tfm
+zhmCJK.tfm zhm715.tfm
+zhmCJK.tfm zhm716.tfm
+zhmCJK.tfm zhm717.tfm
+zhmCJK.tfm zhm718.tfm
+zhmCJK.tfm zhm719.tfm
+zhmCJK.tfm zhm71a.tfm
+zhmCJK.tfm zhm71b.tfm
+zhmCJK.tfm zhm71c.tfm
+zhmCJK.tfm zhm71d.tfm
+zhmCJK.tfm zhm71e.tfm
+zhmCJK.tfm zhm71f.tfm
+zhmCJK.tfm zhm720.tfm
+zhmCJK.tfm zhm721.tfm
+zhmCJK.tfm zhm722.tfm
+zhmCJK.tfm zhm723.tfm
+zhmCJK.tfm zhm724.tfm
+zhmCJK.tfm zhm725.tfm
+zhmCJK.tfm zhm726.tfm
+zhmCJK.tfm zhm727.tfm
+zhmCJK.tfm zhm728.tfm
+zhmCJK.tfm zhm729.tfm
+zhmCJK.tfm zhm72a.tfm
+zhmCJK.tfm zhm72b.tfm
+zhmCJK.tfm zhm72c.tfm
+zhmCJK.tfm zhm72d.tfm
+zhmCJK.tfm zhm72e.tfm
+zhmCJK.tfm zhm72f.tfm
+zhmCJK.tfm zhm730.tfm
+zhmCJK.tfm zhm731.tfm
+zhmCJK.tfm zhm732.tfm
+zhmCJK.tfm zhm733.tfm
+zhmCJK.tfm zhm734.tfm
+zhmCJK.tfm zhm735.tfm
+zhmCJK.tfm zhm736.tfm
+zhmCJK.tfm zhm737.tfm
+zhmCJK.tfm zhm738.tfm
+zhmCJK.tfm zhm739.tfm
+zhmCJK.tfm zhm73a.tfm
+zhmCJK.tfm zhm73b.tfm
+zhmCJK.tfm zhm73c.tfm
+zhmCJK.tfm zhm73d.tfm
+zhmCJK.tfm zhm73e.tfm
+zhmCJK.tfm zhm73f.tfm
+zhmCJK.tfm zhm740.tfm
+zhmCJK.tfm zhm741.tfm
+zhmCJK.tfm zhm742.tfm
+zhmCJK.tfm zhm743.tfm
+zhmCJK.tfm zhm744.tfm
+zhmCJK.tfm zhm745.tfm
+zhmCJK.tfm zhm746.tfm
+zhmCJK.tfm zhm747.tfm
+zhmCJK.tfm zhm748.tfm
+zhmCJK.tfm zhm749.tfm
+zhmCJK.tfm zhm74a.tfm
+zhmCJK.tfm zhm74b.tfm
+zhmCJK.tfm zhm74c.tfm
+zhmCJK.tfm zhm74d.tfm
+zhmCJK.tfm zhm74e.tfm
+zhmCJK.tfm zhm74f.tfm
+zhmCJK.tfm zhm750.tfm
+zhmCJK.tfm zhm751.tfm
+zhmCJK.tfm zhm752.tfm
+zhmCJK.tfm zhm753.tfm
+zhmCJK.tfm zhm754.tfm
+zhmCJK.tfm zhm755.tfm
+zhmCJK.tfm zhm756.tfm
+zhmCJK.tfm zhm757.tfm
+zhmCJK.tfm zhm758.tfm
+zhmCJK.tfm zhm759.tfm
+zhmCJK.tfm zhm75a.tfm
+zhmCJK.tfm zhm75b.tfm
+zhmCJK.tfm zhm75c.tfm
+zhmCJK.tfm zhm75d.tfm
+zhmCJK.tfm zhm75e.tfm
+zhmCJK.tfm zhm75f.tfm
+zhmCJK.tfm zhm760.tfm
+zhmCJK.tfm zhm761.tfm
+zhmCJK.tfm zhm762.tfm
+zhmCJK.tfm zhm763.tfm
+zhmCJK.tfm zhm764.tfm
+zhmCJK.tfm zhm765.tfm
+zhmCJK.tfm zhm766.tfm
+zhmCJK.tfm zhm767.tfm
+zhmCJK.tfm zhm768.tfm
+zhmCJK.tfm zhm769.tfm
+zhmCJK.tfm zhm76a.tfm
+zhmCJK.tfm zhm76b.tfm
+zhmCJK.tfm zhm76c.tfm
+zhmCJK.tfm zhm76d.tfm
+zhmCJK.tfm zhm76e.tfm
+zhmCJK.tfm zhm76f.tfm
+zhmCJK.tfm zhm770.tfm
+zhmCJK.tfm zhm771.tfm
+zhmCJK.tfm zhm772.tfm
+zhmCJK.tfm zhm773.tfm
+zhmCJK.tfm zhm774.tfm
+zhmCJK.tfm zhm775.tfm
+zhmCJK.tfm zhm776.tfm
+zhmCJK.tfm zhm777.tfm
+zhmCJK.tfm zhm778.tfm
+zhmCJK.tfm zhm779.tfm
+zhmCJK.tfm zhm77a.tfm
+zhmCJK.tfm zhm77b.tfm
+zhmCJK.tfm zhm77c.tfm
+zhmCJK.tfm zhm77d.tfm
+zhmCJK.tfm zhm77e.tfm
+zhmCJK.tfm zhm77f.tfm
+zhmCJK.tfm zhm780.tfm
+zhmCJK.tfm zhm781.tfm
+zhmCJK.tfm zhm782.tfm
+zhmCJK.tfm zhm783.tfm
+zhmCJK.tfm zhm784.tfm
+zhmCJK.tfm zhm785.tfm
+zhmCJK.tfm zhm786.tfm
+zhmCJK.tfm zhm787.tfm
+zhmCJK.tfm zhm788.tfm
+zhmCJK.tfm zhm789.tfm
+zhmCJK.tfm zhm78a.tfm
+zhmCJK.tfm zhm78b.tfm
+zhmCJK.tfm zhm78c.tfm
+zhmCJK.tfm zhm78d.tfm
+zhmCJK.tfm zhm78e.tfm
+zhmCJK.tfm zhm78f.tfm
+zhmCJK.tfm zhm790.tfm
+zhmCJK.tfm zhm791.tfm
+zhmCJK.tfm zhm792.tfm
+zhmCJK.tfm zhm793.tfm
+zhmCJK.tfm zhm794.tfm
+zhmCJK.tfm zhm795.tfm
+zhmCJK.tfm zhm796.tfm
+zhmCJK.tfm zhm797.tfm
+zhmCJK.tfm zhm798.tfm
+zhmCJK.tfm zhm799.tfm
+zhmCJK.tfm zhm79a.tfm
+zhmCJK.tfm zhm79b.tfm
+zhmCJK.tfm zhm79c.tfm
+zhmCJK.tfm zhm79d.tfm
+zhmCJK.tfm zhm79e.tfm
+zhmCJK.tfm zhm79f.tfm
+zhmCJK.tfm zhm7a0.tfm
+zhmCJK.tfm zhm7a1.tfm
+zhmCJK.tfm zhm7a2.tfm
+zhmCJK.tfm zhm7a3.tfm
+zhmCJK.tfm zhm7a4.tfm
+zhmCJK.tfm zhm7a5.tfm
+zhmCJK.tfm zhm7a6.tfm
+zhmCJK.tfm zhm7a7.tfm
+zhmCJK.tfm zhm7a8.tfm
+zhmCJK.tfm zhm7a9.tfm
+zhmCJK.tfm zhm7aa.tfm
+zhmCJK.tfm zhm7ab.tfm
+zhmCJK.tfm zhm7ac.tfm
+zhmCJK.tfm zhm7ad.tfm
+zhmCJK.tfm zhm7ae.tfm
+zhmCJK.tfm zhm7af.tfm
+zhmCJK.tfm zhm7b0.tfm
+zhmCJK.tfm zhm7b1.tfm
+zhmCJK.tfm zhm7b2.tfm
+zhmCJK.tfm zhm7b3.tfm
+zhmCJK.tfm zhm7b4.tfm
+zhmCJK.tfm zhm7b5.tfm
+zhmCJK.tfm zhm7b6.tfm
+zhmCJK.tfm zhm7b7.tfm
+zhmCJK.tfm zhm7b8.tfm
+zhmCJK.tfm zhm7b9.tfm
+zhmCJK.tfm zhm7ba.tfm
+zhmCJK.tfm zhm7bb.tfm
+zhmCJK.tfm zhm7bc.tfm
+zhmCJK.tfm zhm7bd.tfm
+zhmCJK.tfm zhm7be.tfm
+zhmCJK.tfm zhm7bf.tfm
+zhmCJK.tfm zhm7c0.tfm
+zhmCJK.tfm zhm7c1.tfm
+zhmCJK.tfm zhm7c2.tfm
+zhmCJK.tfm zhm7c3.tfm
+zhmCJK.tfm zhm7c4.tfm
+zhmCJK.tfm zhm7c5.tfm
+zhmCJK.tfm zhm7c6.tfm
+zhmCJK.tfm zhm7c7.tfm
+zhmCJK.tfm zhm7c8.tfm
+zhmCJK.tfm zhm7c9.tfm
+zhmCJK.tfm zhm7ca.tfm
+zhmCJK.tfm zhm7cb.tfm
+zhmCJK.tfm zhm7cc.tfm
+zhmCJK.tfm zhm7cd.tfm
+zhmCJK.tfm zhm7ce.tfm
+zhmCJK.tfm zhm7cf.tfm
+zhmCJK.tfm zhm7d0.tfm
+zhmCJK.tfm zhm7d1.tfm
+zhmCJK.tfm zhm7d2.tfm
+zhmCJK.tfm zhm7d3.tfm
+zhmCJK.tfm zhm7d4.tfm
+zhmCJK.tfm zhm7d5.tfm
+zhmCJK.tfm zhm7d6.tfm
+zhmCJK.tfm zhm7d7.tfm
+zhmCJK.tfm zhm7d8.tfm
+zhmCJK.tfm zhm7d9.tfm
+zhmCJK.tfm zhm7da.tfm
+zhmCJK.tfm zhm7db.tfm
+zhmCJK.tfm zhm7dc.tfm
+zhmCJK.tfm zhm7dd.tfm
+zhmCJK.tfm zhm7de.tfm
+zhmCJK.tfm zhm7df.tfm
+zhmCJK.tfm zhm7e0.tfm
+zhmCJK.tfm zhm7e1.tfm
+zhmCJK.tfm zhm7e2.tfm
+zhmCJK.tfm zhm7e3.tfm
+zhmCJK.tfm zhm7e4.tfm
+zhmCJK.tfm zhm7e5.tfm
+zhmCJK.tfm zhm7e6.tfm
+zhmCJK.tfm zhm7e7.tfm
+zhmCJK.tfm zhm7e8.tfm
+zhmCJK.tfm zhm7e9.tfm
+zhmCJK.tfm zhm7ea.tfm
+zhmCJK.tfm zhm7eb.tfm
+zhmCJK.tfm zhm7ec.tfm
+zhmCJK.tfm zhm7ed.tfm
+zhmCJK.tfm zhm7ee.tfm
+zhmCJK.tfm zhm7ef.tfm
+zhmCJK.tfm zhm7f0.tfm
+zhmCJK.tfm zhm7f1.tfm
+zhmCJK.tfm zhm7f2.tfm
+zhmCJK.tfm zhm7f3.tfm
+zhmCJK.tfm zhm7f4.tfm
+zhmCJK.tfm zhm7f5.tfm
+zhmCJK.tfm zhm7f6.tfm
+zhmCJK.tfm zhm7f7.tfm
+zhmCJK.tfm zhm7f8.tfm
+zhmCJK.tfm zhm7f9.tfm
+zhmCJK.tfm zhm7fa.tfm
+zhmCJK.tfm zhm7fb.tfm
+zhmCJK.tfm zhm7fc.tfm
+zhmCJK.tfm zhm7fd.tfm
+zhmCJK.tfm zhm7fe.tfm
+zhmCJK.tfm zhm7ff.tfm
+zhmCJK.tfm zhm800.tfm
+zhmCJK.tfm zhm801.tfm
+zhmCJK.tfm zhm802.tfm
+zhmCJK.tfm zhm803.tfm
+zhmCJK.tfm zhm804.tfm
+zhmCJK.tfm zhm805.tfm
+zhmCJK.tfm zhm806.tfm
+zhmCJK.tfm zhm807.tfm
+zhmCJK.tfm zhm808.tfm
+zhmCJK.tfm zhm809.tfm
+zhmCJK.tfm zhm80a.tfm
+zhmCJK.tfm zhm80b.tfm
+zhmCJK.tfm zhm80c.tfm
+zhmCJK.tfm zhm80d.tfm
+zhmCJK.tfm zhm80e.tfm
+zhmCJK.tfm zhm80f.tfm
+zhmCJK.tfm zhm810.tfm
+zhmCJK.tfm zhm811.tfm
+zhmCJK.tfm zhm812.tfm
+zhmCJK.tfm zhm813.tfm
+zhmCJK.tfm zhm814.tfm
+zhmCJK.tfm zhm815.tfm
+zhmCJK.tfm zhm816.tfm
+zhmCJK.tfm zhm817.tfm
+zhmCJK.tfm zhm818.tfm
+zhmCJK.tfm zhm819.tfm
+zhmCJK.tfm zhm81a.tfm
+zhmCJK.tfm zhm81b.tfm
+zhmCJK.tfm zhm81c.tfm
+zhmCJK.tfm zhm81d.tfm
+zhmCJK.tfm zhm81e.tfm
+zhmCJK.tfm zhm81f.tfm
+zhmCJK.tfm zhm820.tfm
+zhmCJK.tfm zhm821.tfm
+zhmCJK.tfm zhm822.tfm
+zhmCJK.tfm zhm823.tfm
+zhmCJK.tfm zhm824.tfm
+zhmCJK.tfm zhm825.tfm
+zhmCJK.tfm zhm826.tfm
+zhmCJK.tfm zhm827.tfm
+zhmCJK.tfm zhm828.tfm
+zhmCJK.tfm zhm829.tfm
+zhmCJK.tfm zhm82a.tfm
+zhmCJK.tfm zhm82b.tfm
+zhmCJK.tfm zhm82c.tfm
+zhmCJK.tfm zhm82d.tfm
+zhmCJK.tfm zhm82e.tfm
+zhmCJK.tfm zhm82f.tfm
+zhmCJK.tfm zhm830.tfm
+zhmCJK.tfm zhm831.tfm
+zhmCJK.tfm zhm832.tfm
+zhmCJK.tfm zhm833.tfm
+zhmCJK.tfm zhm834.tfm
+zhmCJK.tfm zhm835.tfm
+zhmCJK.tfm zhm836.tfm
+zhmCJK.tfm zhm837.tfm
+zhmCJK.tfm zhm838.tfm
+zhmCJK.tfm zhm839.tfm
+zhmCJK.tfm zhm83a.tfm
+zhmCJK.tfm zhm83b.tfm
+zhmCJK.tfm zhm83c.tfm
+zhmCJK.tfm zhm83d.tfm
+zhmCJK.tfm zhm83e.tfm
+zhmCJK.tfm zhm83f.tfm
+zhmCJK.tfm zhm840.tfm
+zhmCJK.tfm zhm841.tfm
+zhmCJK.tfm zhm842.tfm
+zhmCJK.tfm zhm843.tfm
+zhmCJK.tfm zhm844.tfm
+zhmCJK.tfm zhm845.tfm
+zhmCJK.tfm zhm846.tfm
+zhmCJK.tfm zhm847.tfm
+zhmCJK.tfm zhm848.tfm
+zhmCJK.tfm zhm849.tfm
+zhmCJK.tfm zhm84a.tfm
+zhmCJK.tfm zhm84b.tfm
+zhmCJK.tfm zhm84c.tfm
+zhmCJK.tfm zhm84d.tfm
+zhmCJK.tfm zhm84e.tfm
+zhmCJK.tfm zhm84f.tfm
+zhmCJK.tfm zhm850.tfm
+zhmCJK.tfm zhm851.tfm
+zhmCJK.tfm zhm852.tfm
+zhmCJK.tfm zhm853.tfm
+zhmCJK.tfm zhm854.tfm
+zhmCJK.tfm zhm855.tfm
+zhmCJK.tfm zhm856.tfm
+zhmCJK.tfm zhm857.tfm
+zhmCJK.tfm zhm858.tfm
+zhmCJK.tfm zhm859.tfm
+zhmCJK.tfm zhm85a.tfm
+zhmCJK.tfm zhm85b.tfm
+zhmCJK.tfm zhm85c.tfm
+zhmCJK.tfm zhm85d.tfm
+zhmCJK.tfm zhm85e.tfm
+zhmCJK.tfm zhm85f.tfm
+zhmCJK.tfm zhm860.tfm
+zhmCJK.tfm zhm861.tfm
+zhmCJK.tfm zhm862.tfm
+zhmCJK.tfm zhm863.tfm
+zhmCJK.tfm zhm864.tfm
+zhmCJK.tfm zhm865.tfm
+zhmCJK.tfm zhm866.tfm
+zhmCJK.tfm zhm867.tfm
+zhmCJK.tfm zhm868.tfm
+zhmCJK.tfm zhm869.tfm
+zhmCJK.tfm zhm86a.tfm
+zhmCJK.tfm zhm86b.tfm
+zhmCJK.tfm zhm86c.tfm
+zhmCJK.tfm zhm86d.tfm
+zhmCJK.tfm zhm86e.tfm
+zhmCJK.tfm zhm86f.tfm
+zhmCJK.tfm zhm870.tfm
+zhmCJK.tfm zhm871.tfm
+zhmCJK.tfm zhm872.tfm
+zhmCJK.tfm zhm873.tfm
+zhmCJK.tfm zhm874.tfm
+zhmCJK.tfm zhm875.tfm
+zhmCJK.tfm zhm876.tfm
+zhmCJK.tfm zhm877.tfm
+zhmCJK.tfm zhm878.tfm
+zhmCJK.tfm zhm879.tfm
+zhmCJK.tfm zhm87a.tfm
+zhmCJK.tfm zhm87b.tfm
+zhmCJK.tfm zhm87c.tfm
+zhmCJK.tfm zhm87d.tfm
+zhmCJK.tfm zhm87e.tfm
+zhmCJK.tfm zhm87f.tfm
+zhmCJK.tfm zhm880.tfm
+zhmCJK.tfm zhm881.tfm
+zhmCJK.tfm zhm882.tfm
+zhmCJK.tfm zhm883.tfm
+zhmCJK.tfm zhm884.tfm
+zhmCJK.tfm zhm885.tfm
+zhmCJK.tfm zhm886.tfm
+zhmCJK.tfm zhm887.tfm
+zhmCJK.tfm zhm888.tfm
+zhmCJK.tfm zhm889.tfm
+zhmCJK.tfm zhm88a.tfm
+zhmCJK.tfm zhm88b.tfm
+zhmCJK.tfm zhm88c.tfm
+zhmCJK.tfm zhm88d.tfm
+zhmCJK.tfm zhm88e.tfm
+zhmCJK.tfm zhm88f.tfm
+zhmCJK.tfm zhm890.tfm
+zhmCJK.tfm zhm891.tfm
+zhmCJK.tfm zhm892.tfm
+zhmCJK.tfm zhm893.tfm
+zhmCJK.tfm zhm894.tfm
+zhmCJK.tfm zhm895.tfm
+zhmCJK.tfm zhm896.tfm
+zhmCJK.tfm zhm897.tfm
+zhmCJK.tfm zhm898.tfm
+zhmCJK.tfm zhm899.tfm
+zhmCJK.tfm zhm89a.tfm
+zhmCJK.tfm zhm89b.tfm
+zhmCJK.tfm zhm89c.tfm
+zhmCJK.tfm zhm89d.tfm
+zhmCJK.tfm zhm89e.tfm
+zhmCJK.tfm zhm89f.tfm
+zhmCJK.tfm zhm8a0.tfm
+zhmCJK.tfm zhm8a1.tfm
+zhmCJK.tfm zhm8a2.tfm
+zhmCJK.tfm zhm8a3.tfm
+zhmCJK.tfm zhm8a4.tfm
+zhmCJK.tfm zhm8a5.tfm
+zhmCJK.tfm zhm8a6.tfm
+zhmCJK.tfm zhm8a7.tfm
+zhmCJK.tfm zhm8a8.tfm
+zhmCJK.tfm zhm8a9.tfm
+zhmCJK.tfm zhm8aa.tfm
+zhmCJK.tfm zhm8ab.tfm
+zhmCJK.tfm zhm8ac.tfm
+zhmCJK.tfm zhm8ad.tfm
+zhmCJK.tfm zhm8ae.tfm
+zhmCJK.tfm zhm8af.tfm
+zhmCJK.tfm zhm8b0.tfm
+zhmCJK.tfm zhm8b1.tfm
+zhmCJK.tfm zhm8b2.tfm
+zhmCJK.tfm zhm8b3.tfm
+zhmCJK.tfm zhm8b4.tfm
+zhmCJK.tfm zhm8b5.tfm
+zhmCJK.tfm zhm8b6.tfm
+zhmCJK.tfm zhm8b7.tfm
+zhmCJK.tfm zhm8b8.tfm
+zhmCJK.tfm zhm8b9.tfm
+zhmCJK.tfm zhm8ba.tfm
+zhmCJK.tfm zhm8bb.tfm
+zhmCJK.tfm zhm8bc.tfm
+zhmCJK.tfm zhm8bd.tfm
+zhmCJK.tfm zhm8be.tfm
+zhmCJK.tfm zhm8bf.tfm
+zhmCJK.tfm zhm8c0.tfm
+zhmCJK.tfm zhm8c1.tfm
+zhmCJK.tfm zhm8c2.tfm
+zhmCJK.tfm zhm8c3.tfm
+zhmCJK.tfm zhm8c4.tfm
+zhmCJK.tfm zhm8c5.tfm
+zhmCJK.tfm zhm8c6.tfm
+zhmCJK.tfm zhm8c7.tfm
+zhmCJK.tfm zhm8c8.tfm
+zhmCJK.tfm zhm8c9.tfm
+zhmCJK.tfm zhm8ca.tfm
+zhmCJK.tfm zhm8cb.tfm
+zhmCJK.tfm zhm8cc.tfm
+zhmCJK.tfm zhm8cd.tfm
+zhmCJK.tfm zhm8ce.tfm
+zhmCJK.tfm zhm8cf.tfm
+zhmCJK.tfm zhm8d0.tfm
+zhmCJK.tfm zhm8d1.tfm
+zhmCJK.tfm zhm8d2.tfm
+zhmCJK.tfm zhm8d3.tfm
+zhmCJK.tfm zhm8d4.tfm
+zhmCJK.tfm zhm8d5.tfm
+zhmCJK.tfm zhm8d6.tfm
+zhmCJK.tfm zhm8d7.tfm
+zhmCJK.tfm zhm8d8.tfm
+zhmCJK.tfm zhm8d9.tfm
+zhmCJK.tfm zhm8da.tfm
+zhmCJK.tfm zhm8db.tfm
+zhmCJK.tfm zhm8dc.tfm
+zhmCJK.tfm zhm8dd.tfm
+zhmCJK.tfm zhm8de.tfm
+zhmCJK.tfm zhm8df.tfm
+zhmCJK.tfm zhm8e0.tfm
+zhmCJK.tfm zhm8e1.tfm
+zhmCJK.tfm zhm8e2.tfm
+zhmCJK.tfm zhm8e3.tfm
+zhmCJK.tfm zhm8e4.tfm
+zhmCJK.tfm zhm8e5.tfm
+zhmCJK.tfm zhm8e6.tfm
+zhmCJK.tfm zhm8e7.tfm
+zhmCJK.tfm zhm8e8.tfm
+zhmCJK.tfm zhm8e9.tfm
+zhmCJK.tfm zhm8ea.tfm
+zhmCJK.tfm zhm8eb.tfm
+zhmCJK.tfm zhm8ec.tfm
+zhmCJK.tfm zhm8ed.tfm
+zhmCJK.tfm zhm8ee.tfm
+zhmCJK.tfm zhm8ef.tfm
+zhmCJK.tfm zhm8f0.tfm
+zhmCJK.tfm zhm8f1.tfm
+zhmCJK.tfm zhm8f2.tfm
+zhmCJK.tfm zhm8f3.tfm
+zhmCJK.tfm zhm8f4.tfm
+zhmCJK.tfm zhm8f5.tfm
+zhmCJK.tfm zhm8f6.tfm
+zhmCJK.tfm zhm8f7.tfm
+zhmCJK.tfm zhm8f8.tfm
+zhmCJK.tfm zhm8f9.tfm
+zhmCJK.tfm zhm8fa.tfm
+zhmCJK.tfm zhm8fb.tfm
+zhmCJK.tfm zhm8fc.tfm
+zhmCJK.tfm zhm8fd.tfm
+zhmCJK.tfm zhm8fe.tfm
+zhmCJK.tfm zhm8ff.tfm
+zhmCJK.tfm zhm900.tfm
+zhmCJK.tfm zhm901.tfm
+zhmCJK.tfm zhm902.tfm
+zhmCJK.tfm zhm903.tfm
+zhmCJK.tfm zhm904.tfm
+zhmCJK.tfm zhm905.tfm
+zhmCJK.tfm zhm906.tfm
+zhmCJK.tfm zhm907.tfm
+zhmCJK.tfm zhm908.tfm
+zhmCJK.tfm zhm909.tfm
+zhmCJK.tfm zhm90a.tfm
+zhmCJK.tfm zhm90b.tfm
+zhmCJK.tfm zhm90c.tfm
+zhmCJK.tfm zhm90d.tfm
+zhmCJK.tfm zhm90e.tfm
+zhmCJK.tfm zhm90f.tfm
+zhmCJK.tfm zhm910.tfm
+zhmCJK.tfm zhm911.tfm
+zhmCJK.tfm zhm912.tfm
+zhmCJK.tfm zhm913.tfm
+zhmCJK.tfm zhm914.tfm
+zhmCJK.tfm zhm915.tfm
+zhmCJK.tfm zhm916.tfm
+zhmCJK.tfm zhm917.tfm
+zhmCJK.tfm zhm918.tfm
+zhmCJK.tfm zhm919.tfm
+zhmCJK.tfm zhm91a.tfm
+zhmCJK.tfm zhm91b.tfm
+zhmCJK.tfm zhm91c.tfm
+zhmCJK.tfm zhm91d.tfm
+zhmCJK.tfm zhm91e.tfm
+zhmCJK.tfm zhm91f.tfm
+zhmCJK.tfm zhm920.tfm
+zhmCJK.tfm zhm921.tfm
+zhmCJK.tfm zhm922.tfm
+zhmCJK.tfm zhm923.tfm
+zhmCJK.tfm zhm924.tfm
+zhmCJK.tfm zhm925.tfm
+zhmCJK.tfm zhm926.tfm
+zhmCJK.tfm zhm927.tfm
+zhmCJK.tfm zhm928.tfm
+zhmCJK.tfm zhm929.tfm
+zhmCJK.tfm zhm92a.tfm
+zhmCJK.tfm zhm92b.tfm
+zhmCJK.tfm zhm92c.tfm
+zhmCJK.tfm zhm92d.tfm
+zhmCJK.tfm zhm92e.tfm
+zhmCJK.tfm zhm92f.tfm
+zhmCJK.tfm zhm930.tfm
+zhmCJK.tfm zhm931.tfm
+zhmCJK.tfm zhm932.tfm
+zhmCJK.tfm zhm933.tfm
+zhmCJK.tfm zhm934.tfm
+zhmCJK.tfm zhm935.tfm
+zhmCJK.tfm zhm936.tfm
+zhmCJK.tfm zhm937.tfm
+zhmCJK.tfm zhm938.tfm
+zhmCJK.tfm zhm939.tfm
+zhmCJK.tfm zhm93a.tfm
+zhmCJK.tfm zhm93b.tfm
+zhmCJK.tfm zhm93c.tfm
+zhmCJK.tfm zhm93d.tfm
+zhmCJK.tfm zhm93e.tfm
+zhmCJK.tfm zhm93f.tfm
+zhmCJK.tfm zhm940.tfm
+zhmCJK.tfm zhm941.tfm
+zhmCJK.tfm zhm942.tfm
+zhmCJK.tfm zhm943.tfm
+zhmCJK.tfm zhm944.tfm
+zhmCJK.tfm zhm945.tfm
+zhmCJK.tfm zhm946.tfm
+zhmCJK.tfm zhm947.tfm
+zhmCJK.tfm zhm948.tfm
+zhmCJK.tfm zhm949.tfm
+zhmCJK.tfm zhm94a.tfm
+zhmCJK.tfm zhm94b.tfm
+zhmCJK.tfm zhm94c.tfm
+zhmCJK.tfm zhm94d.tfm
+zhmCJK.tfm zhm94e.tfm
+zhmCJK.tfm zhm94f.tfm
+zhmCJK.tfm zhm950.tfm
+zhmCJK.tfm zhm951.tfm
+zhmCJK.tfm zhm952.tfm
+zhmCJK.tfm zhm953.tfm
+zhmCJK.tfm zhm954.tfm
+zhmCJK.tfm zhm955.tfm
+zhmCJK.tfm zhm956.tfm
+zhmCJK.tfm zhm957.tfm
+zhmCJK.tfm zhm958.tfm
+zhmCJK.tfm zhm959.tfm
+zhmCJK.tfm zhm95a.tfm
+zhmCJK.tfm zhm95b.tfm
+zhmCJK.tfm zhm95c.tfm
+zhmCJK.tfm zhm95d.tfm
+zhmCJK.tfm zhm95e.tfm
+zhmCJK.tfm zhm95f.tfm
+zhmCJK.tfm zhm960.tfm
+zhmCJK.tfm zhm961.tfm
+zhmCJK.tfm zhm962.tfm
+zhmCJK.tfm zhm963.tfm
+zhmCJK.tfm zhm964.tfm
+zhmCJK.tfm zhm965.tfm
+zhmCJK.tfm zhm966.tfm
+zhmCJK.tfm zhm967.tfm
+zhmCJK.tfm zhm968.tfm
+zhmCJK.tfm zhm969.tfm
+zhmCJK.tfm zhm96a.tfm
+zhmCJK.tfm zhm96b.tfm
+zhmCJK.tfm zhm96c.tfm
+zhmCJK.tfm zhm96d.tfm
+zhmCJK.tfm zhm96e.tfm
+zhmCJK.tfm zhm96f.tfm
+zhmCJK.tfm zhm970.tfm
+zhmCJK.tfm zhm971.tfm
+zhmCJK.tfm zhm972.tfm
+zhmCJK.tfm zhm973.tfm
+zhmCJK.tfm zhm974.tfm
+zhmCJK.tfm zhm975.tfm
+zhmCJK.tfm zhm976.tfm
+zhmCJK.tfm zhm977.tfm
+zhmCJK.tfm zhm978.tfm
+zhmCJK.tfm zhm979.tfm
+zhmCJK.tfm zhm97a.tfm
+zhmCJK.tfm zhm97b.tfm
+zhmCJK.tfm zhm97c.tfm
+zhmCJK.tfm zhm97d.tfm
+zhmCJK.tfm zhm97e.tfm
+zhmCJK.tfm zhm97f.tfm
+zhmCJK.tfm zhm980.tfm
+zhmCJK.tfm zhm981.tfm
+zhmCJK.tfm zhm982.tfm
+zhmCJK.tfm zhm983.tfm
+zhmCJK.tfm zhm984.tfm
+zhmCJK.tfm zhm985.tfm
+zhmCJK.tfm zhm986.tfm
+zhmCJK.tfm zhm987.tfm
+zhmCJK.tfm zhm988.tfm
+zhmCJK.tfm zhm989.tfm
+zhmCJK.tfm zhm98a.tfm
+zhmCJK.tfm zhm98b.tfm
+zhmCJK.tfm zhm98c.tfm
+zhmCJK.tfm zhm98d.tfm
+zhmCJK.tfm zhm98e.tfm
+zhmCJK.tfm zhm98f.tfm
+zhmCJK.tfm zhm990.tfm
+zhmCJK.tfm zhm991.tfm
+zhmCJK.tfm zhm992.tfm
+zhmCJK.tfm zhm993.tfm
+zhmCJK.tfm zhm994.tfm
+zhmCJK.tfm zhm995.tfm
+zhmCJK.tfm zhm996.tfm
+zhmCJK.tfm zhm997.tfm
+zhmCJK.tfm zhm998.tfm
+zhmCJK.tfm zhm999.tfm
+zhmCJK.tfm zhm99a.tfm
+zhmCJK.tfm zhm99b.tfm
+zhmCJK.tfm zhm99c.tfm
+zhmCJK.tfm zhm99d.tfm
+zhmCJK.tfm zhm99e.tfm
+zhmCJK.tfm zhm99f.tfm
+zhmCJK.tfm zhm9a0.tfm
+zhmCJK.tfm zhm9a1.tfm
+zhmCJK.tfm zhm9a2.tfm
+zhmCJK.tfm zhm9a3.tfm
+zhmCJK.tfm zhm9a4.tfm
+zhmCJK.tfm zhm9a5.tfm
+zhmCJK.tfm zhm9a6.tfm
+zhmCJK.tfm zhm9a7.tfm
+zhmCJK.tfm zhm9a8.tfm
+zhmCJK.tfm zhm9a9.tfm
+zhmCJK.tfm zhm9aa.tfm
+zhmCJK.tfm zhm9ab.tfm
+zhmCJK.tfm zhm9ac.tfm
+zhmCJK.tfm zhm9ad.tfm
+zhmCJK.tfm zhm9ae.tfm
+zhmCJK.tfm zhm9af.tfm
+zhmCJK.tfm zhm9b0.tfm
+zhmCJK.tfm zhm9b1.tfm
+zhmCJK.tfm zhm9b2.tfm
+zhmCJK.tfm zhm9b3.tfm
+zhmCJK.tfm zhm9b4.tfm
+zhmCJK.tfm zhm9b5.tfm
+zhmCJK.tfm zhm9b6.tfm
+zhmCJK.tfm zhm9b7.tfm
+zhmCJK.tfm zhm9b8.tfm
+zhmCJK.tfm zhm9b9.tfm
+zhmCJK.tfm zhm9ba.tfm
+zhmCJK.tfm zhm9bb.tfm
+zhmCJK.tfm zhm9bc.tfm
+zhmCJK.tfm zhm9bd.tfm
+zhmCJK.tfm zhm9be.tfm
+zhmCJK.tfm zhm9bf.tfm
+zhmCJK.tfm zhm9c0.tfm
+zhmCJK.tfm zhm9c1.tfm
+zhmCJK.tfm zhm9c2.tfm
+zhmCJK.tfm zhm9c3.tfm
+zhmCJK.tfm zhm9c4.tfm
+zhmCJK.tfm zhm9c5.tfm
+zhmCJK.tfm zhm9c6.tfm
+zhmCJK.tfm zhm9c7.tfm
+zhmCJK.tfm zhm9c8.tfm
+zhmCJK.tfm zhm9c9.tfm
+zhmCJK.tfm zhm9ca.tfm
+zhmCJK.tfm zhm9cb.tfm
+zhmCJK.tfm zhm9cc.tfm
+zhmCJK.tfm zhm9cd.tfm
+zhmCJK.tfm zhm9ce.tfm
+zhmCJK.tfm zhm9cf.tfm
+zhmCJK.tfm zhm9d0.tfm
+zhmCJK.tfm zhm9d1.tfm
+zhmCJK.tfm zhm9d2.tfm
+zhmCJK.tfm zhm9d3.tfm
+zhmCJK.tfm zhm9d4.tfm
+zhmCJK.tfm zhm9d5.tfm
+zhmCJK.tfm zhm9d6.tfm
+zhmCJK.tfm zhm9d7.tfm
+zhmCJK.tfm zhm9d8.tfm
+zhmCJK.tfm zhm9d9.tfm
+zhmCJK.tfm zhm9da.tfm
+zhmCJK.tfm zhm9db.tfm
+zhmCJK.tfm zhm9dc.tfm
+zhmCJK.tfm zhm9dd.tfm
+zhmCJK.tfm zhm9de.tfm
+zhmCJK.tfm zhm9df.tfm
+zhmCJK.tfm zhm9e0.tfm
+zhmCJK.tfm zhm9e1.tfm
+zhmCJK.tfm zhm9e2.tfm
+zhmCJK.tfm zhm9e3.tfm
+zhmCJK.tfm zhm9e4.tfm
+zhmCJK.tfm zhm9e5.tfm
+zhmCJK.tfm zhm9e6.tfm
+zhmCJK.tfm zhm9e7.tfm
+zhmCJK.tfm zhm9e8.tfm
+zhmCJK.tfm zhm9e9.tfm
+zhmCJK.tfm zhm9ea.tfm
+zhmCJK.tfm zhm9eb.tfm
+zhmCJK.tfm zhm9ec.tfm
+zhmCJK.tfm zhm9ed.tfm
+zhmCJK.tfm zhm9ee.tfm
+zhmCJK.tfm zhm9ef.tfm
+zhmCJK.tfm zhm9f0.tfm
+zhmCJK.tfm zhm9f1.tfm
+zhmCJK.tfm zhm9f2.tfm
+zhmCJK.tfm zhm9f3.tfm
+zhmCJK.tfm zhm9f4.tfm
+zhmCJK.tfm zhm9f5.tfm
+zhmCJK.tfm zhm9f6.tfm
+zhmCJK.tfm zhm9f7.tfm
+zhmCJK.tfm zhm9f8.tfm
+zhmCJK.tfm zhm9f9.tfm
+zhmCJK.tfm zhm9fa.tfm
+zhmCJK.tfm zhm9fb.tfm
+zhmCJK.tfm zhm9fc.tfm
+zhmCJK.tfm zhm9fd.tfm
+zhmCJK.tfm zhm9fe.tfm
+zhmCJK.tfm zhm9ff.tfm
+zhmCJK.tfm zhm1000.tfm
+zhmCJK.tfm zhm1001.tfm
+zhmCJK.tfm zhm1002.tfm
+zhmCJK.tfm zhm1003.tfm
+zhmCJK.tfm zhm1004.tfm
+zhmCJK.tfm zhm1005.tfm
+zhmCJK.tfm zhm1006.tfm
+zhmCJK.tfm zhm1007.tfm
+zhmCJK.tfm zhm1008.tfm
+zhmCJK.tfm zhm1009.tfm
+zhmCJK.tfm zhm100a.tfm
+zhmCJK.tfm zhm100b.tfm
+zhmCJK.tfm zhm100c.tfm
+zhmCJK.tfm zhm100d.tfm
+zhmCJK.tfm zhm100e.tfm
+zhmCJK.tfm zhm100f.tfm
+zhmCJK.tfm zhm1010.tfm
+zhmCJK.tfm zhm1011.tfm
+zhmCJK.tfm zhm1012.tfm
+zhmCJK.tfm zhm1013.tfm
+zhmCJK.tfm zhm1014.tfm
+zhmCJK.tfm zhm1015.tfm
+zhmCJK.tfm zhm1016.tfm
+zhmCJK.tfm zhm1017.tfm
+zhmCJK.tfm zhm1018.tfm
+zhmCJK.tfm zhm1019.tfm
+zhmCJK.tfm zhm101a.tfm
+zhmCJK.tfm zhm101b.tfm
+zhmCJK.tfm zhm101c.tfm
+zhmCJK.tfm zhm101d.tfm
+zhmCJK.tfm zhm101e.tfm
+zhmCJK.tfm zhm101f.tfm
+zhmCJK.tfm zhm1020.tfm
+zhmCJK.tfm zhm1021.tfm
+zhmCJK.tfm zhm1022.tfm
+zhmCJK.tfm zhm1023.tfm
+zhmCJK.tfm zhm1024.tfm
+zhmCJK.tfm zhm1025.tfm
+zhmCJK.tfm zhm1026.tfm
+zhmCJK.tfm zhm1027.tfm
+zhmCJK.tfm zhm1028.tfm
+zhmCJK.tfm zhm1029.tfm
+zhmCJK.tfm zhm102a.tfm
+zhmCJK.tfm zhm102b.tfm
+zhmCJK.tfm zhm102c.tfm
+zhmCJK.tfm zhm102d.tfm
+zhmCJK.tfm zhm102e.tfm
+zhmCJK.tfm zhm102f.tfm
+zhmCJK.tfm zhm1030.tfm
+zhmCJK.tfm zhm1031.tfm
+zhmCJK.tfm zhm1032.tfm
+zhmCJK.tfm zhm1033.tfm
+zhmCJK.tfm zhm1034.tfm
+zhmCJK.tfm zhm1035.tfm
+zhmCJK.tfm zhm1036.tfm
+zhmCJK.tfm zhm1037.tfm
+zhmCJK.tfm zhm1038.tfm
+zhmCJK.tfm zhm1039.tfm
+zhmCJK.tfm zhm103a.tfm
+zhmCJK.tfm zhm103b.tfm
+zhmCJK.tfm zhm103c.tfm
+zhmCJK.tfm zhm103d.tfm
+zhmCJK.tfm zhm103e.tfm
+zhmCJK.tfm zhm103f.tfm
+zhmCJK.tfm zhm1040.tfm
+zhmCJK.tfm zhm1041.tfm
+zhmCJK.tfm zhm1042.tfm
+zhmCJK.tfm zhm1043.tfm
+zhmCJK.tfm zhm1044.tfm
+zhmCJK.tfm zhm1045.tfm
+zhmCJK.tfm zhm1046.tfm
+zhmCJK.tfm zhm1047.tfm
+zhmCJK.tfm zhm1048.tfm
+zhmCJK.tfm zhm1049.tfm
+zhmCJK.tfm zhm104a.tfm
+zhmCJK.tfm zhm104b.tfm
+zhmCJK.tfm zhm104c.tfm
+zhmCJK.tfm zhm104d.tfm
+zhmCJK.tfm zhm104e.tfm
+zhmCJK.tfm zhm104f.tfm
+zhmCJK.tfm zhm1050.tfm
+zhmCJK.tfm zhm1051.tfm
+zhmCJK.tfm zhm1052.tfm
+zhmCJK.tfm zhm1053.tfm
+zhmCJK.tfm zhm1054.tfm
+zhmCJK.tfm zhm1055.tfm
+zhmCJK.tfm zhm1056.tfm
+zhmCJK.tfm zhm1057.tfm
+zhmCJK.tfm zhm1058.tfm
+zhmCJK.tfm zhm1059.tfm
+zhmCJK.tfm zhm105a.tfm
+zhmCJK.tfm zhm105b.tfm
+zhmCJK.tfm zhm105c.tfm
+zhmCJK.tfm zhm105d.tfm
+zhmCJK.tfm zhm105e.tfm
+zhmCJK.tfm zhm105f.tfm
+zhmCJK.tfm zhm1060.tfm
+zhmCJK.tfm zhm1061.tfm
+zhmCJK.tfm zhm1062.tfm
+zhmCJK.tfm zhm1063.tfm
+zhmCJK.tfm zhm1064.tfm
+zhmCJK.tfm zhm1065.tfm
+zhmCJK.tfm zhm1066.tfm
+zhmCJK.tfm zhm1067.tfm
+zhmCJK.tfm zhm1068.tfm
+zhmCJK.tfm zhm1069.tfm
+zhmCJK.tfm zhm106a.tfm
+zhmCJK.tfm zhm106b.tfm
+zhmCJK.tfm zhm106c.tfm
+zhmCJK.tfm zhm106d.tfm
+zhmCJK.tfm zhm106e.tfm
+zhmCJK.tfm zhm106f.tfm
+zhmCJK.tfm zhm1070.tfm
+zhmCJK.tfm zhm1071.tfm
+zhmCJK.tfm zhm1072.tfm
+zhmCJK.tfm zhm1073.tfm
+zhmCJK.tfm zhm1074.tfm
+zhmCJK.tfm zhm1075.tfm
+zhmCJK.tfm zhm1076.tfm
+zhmCJK.tfm zhm1077.tfm
+zhmCJK.tfm zhm1078.tfm
+zhmCJK.tfm zhm1079.tfm
+zhmCJK.tfm zhm107a.tfm
+zhmCJK.tfm zhm107b.tfm
+zhmCJK.tfm zhm107c.tfm
+zhmCJK.tfm zhm107d.tfm
+zhmCJK.tfm zhm107e.tfm
+zhmCJK.tfm zhm107f.tfm
+zhmCJK.tfm zhm1080.tfm
+zhmCJK.tfm zhm1081.tfm
+zhmCJK.tfm zhm1082.tfm
+zhmCJK.tfm zhm1083.tfm
+zhmCJK.tfm zhm1084.tfm
+zhmCJK.tfm zhm1085.tfm
+zhmCJK.tfm zhm1086.tfm
+zhmCJK.tfm zhm1087.tfm
+zhmCJK.tfm zhm1088.tfm
+zhmCJK.tfm zhm1089.tfm
+zhmCJK.tfm zhm108a.tfm
+zhmCJK.tfm zhm108b.tfm
+zhmCJK.tfm zhm108c.tfm
+zhmCJK.tfm zhm108d.tfm
+zhmCJK.tfm zhm108e.tfm
+zhmCJK.tfm zhm108f.tfm
+zhmCJK.tfm zhm1090.tfm
+zhmCJK.tfm zhm1091.tfm
+zhmCJK.tfm zhm1092.tfm
+zhmCJK.tfm zhm1093.tfm
+zhmCJK.tfm zhm1094.tfm
+zhmCJK.tfm zhm1095.tfm
+zhmCJK.tfm zhm1096.tfm
+zhmCJK.tfm zhm1097.tfm
+zhmCJK.tfm zhm1098.tfm
+zhmCJK.tfm zhm1099.tfm
+zhmCJK.tfm zhm109a.tfm
+zhmCJK.tfm zhm109b.tfm
+zhmCJK.tfm zhm109c.tfm
+zhmCJK.tfm zhm109d.tfm
+zhmCJK.tfm zhm109e.tfm
+zhmCJK.tfm zhm109f.tfm
+zhmCJK.tfm zhm10a0.tfm
+zhmCJK.tfm zhm10a1.tfm
+zhmCJK.tfm zhm10a2.tfm
+zhmCJK.tfm zhm10a3.tfm
+zhmCJK.tfm zhm10a4.tfm
+zhmCJK.tfm zhm10a5.tfm
+zhmCJK.tfm zhm10a6.tfm
+zhmCJK.tfm zhm10a7.tfm
+zhmCJK.tfm zhm10a8.tfm
+zhmCJK.tfm zhm10a9.tfm
+zhmCJK.tfm zhm10aa.tfm
+zhmCJK.tfm zhm10ab.tfm
+zhmCJK.tfm zhm10ac.tfm
+zhmCJK.tfm zhm10ad.tfm
+zhmCJK.tfm zhm10ae.tfm
+zhmCJK.tfm zhm10af.tfm
+zhmCJK.tfm zhm10b0.tfm
+zhmCJK.tfm zhm10b1.tfm
+zhmCJK.tfm zhm10b2.tfm
+zhmCJK.tfm zhm10b3.tfm
+zhmCJK.tfm zhm10b4.tfm
+zhmCJK.tfm zhm10b5.tfm
+zhmCJK.tfm zhm10b6.tfm
+zhmCJK.tfm zhm10b7.tfm
+zhmCJK.tfm zhm10b8.tfm
+zhmCJK.tfm zhm10b9.tfm
+zhmCJK.tfm zhm10ba.tfm
+zhmCJK.tfm zhm10bb.tfm
+zhmCJK.tfm zhm10bc.tfm
+zhmCJK.tfm zhm10bd.tfm
+zhmCJK.tfm zhm10be.tfm
+zhmCJK.tfm zhm10bf.tfm
+zhmCJK.tfm zhm10c0.tfm
+zhmCJK.tfm zhm10c1.tfm
+zhmCJK.tfm zhm10c2.tfm
+zhmCJK.tfm zhm10c3.tfm
+zhmCJK.tfm zhm10c4.tfm
+zhmCJK.tfm zhm10c5.tfm
+zhmCJK.tfm zhm10c6.tfm
+zhmCJK.tfm zhm10c7.tfm
+zhmCJK.tfm zhm10c8.tfm
+zhmCJK.tfm zhm10c9.tfm
+zhmCJK.tfm zhm10ca.tfm
+zhmCJK.tfm zhm10cb.tfm
+zhmCJK.tfm zhm10cc.tfm
+zhmCJK.tfm zhm10cd.tfm
+zhmCJK.tfm zhm10ce.tfm
+zhmCJK.tfm zhm10cf.tfm
+zhmCJK.tfm zhm10d0.tfm
+zhmCJK.tfm zhm10d1.tfm
+zhmCJK.tfm zhm10d2.tfm
+zhmCJK.tfm zhm10d3.tfm
+zhmCJK.tfm zhm10d4.tfm
+zhmCJK.tfm zhm10d5.tfm
+zhmCJK.tfm zhm10d6.tfm
+zhmCJK.tfm zhm10d7.tfm
+zhmCJK.tfm zhm10d8.tfm
+zhmCJK.tfm zhm10d9.tfm
+zhmCJK.tfm zhm10da.tfm
+zhmCJK.tfm zhm10db.tfm
+zhmCJK.tfm zhm10dc.tfm
+zhmCJK.tfm zhm10dd.tfm
+zhmCJK.tfm zhm10de.tfm
+zhmCJK.tfm zhm10df.tfm
+zhmCJK.tfm zhm10e0.tfm
+zhmCJK.tfm zhm10e1.tfm
+zhmCJK.tfm zhm10e2.tfm
+zhmCJK.tfm zhm10e3.tfm
+zhmCJK.tfm zhm10e4.tfm
+zhmCJK.tfm zhm10e5.tfm
+zhmCJK.tfm zhm10e6.tfm
+zhmCJK.tfm zhm10e7.tfm
+zhmCJK.tfm zhm10e8.tfm
+zhmCJK.tfm zhm10e9.tfm
+zhmCJK.tfm zhm10ea.tfm
+zhmCJK.tfm zhm10eb.tfm
+zhmCJK.tfm zhm10ec.tfm
+zhmCJK.tfm zhm10ed.tfm
+zhmCJK.tfm zhm10ee.tfm
+zhmCJK.tfm zhm10ef.tfm
+zhmCJK.tfm zhm10f0.tfm
+zhmCJK.tfm zhm10f1.tfm
+zhmCJK.tfm zhm10f2.tfm
+zhmCJK.tfm zhm10f3.tfm
+zhmCJK.tfm zhm10f4.tfm
+zhmCJK.tfm zhm10f5.tfm
+zhmCJK.tfm zhm10f6.tfm
+zhmCJK.tfm zhm10f7.tfm
+zhmCJK.tfm zhm10f8.tfm
+zhmCJK.tfm zhm10f9.tfm
+zhmCJK.tfm zhm10fa.tfm
+zhmCJK.tfm zhm10fb.tfm
+zhmCJK.tfm zhm10fc.tfm
+zhmCJK.tfm zhm10fd.tfm
+zhmCJK.tfm zhm10fe.tfm
+zhmCJK.tfm zhm10ff.tfm
+zhmCJK.tfm zhm1100.tfm
+zhmCJK.tfm zhm1101.tfm
+zhmCJK.tfm zhm1102.tfm
+zhmCJK.tfm zhm1103.tfm
+zhmCJK.tfm zhm1104.tfm
+zhmCJK.tfm zhm1105.tfm
+zhmCJK.tfm zhm1106.tfm
+zhmCJK.tfm zhm1107.tfm
+zhmCJK.tfm zhm1108.tfm
+zhmCJK.tfm zhm1109.tfm
+zhmCJK.tfm zhm110a.tfm
+zhmCJK.tfm zhm110b.tfm
+zhmCJK.tfm zhm110c.tfm
+zhmCJK.tfm zhm110d.tfm
+zhmCJK.tfm zhm110e.tfm
+zhmCJK.tfm zhm110f.tfm
+zhmCJK.tfm zhm1110.tfm
+zhmCJK.tfm zhm1111.tfm
+zhmCJK.tfm zhm1112.tfm
+zhmCJK.tfm zhm1113.tfm
+zhmCJK.tfm zhm1114.tfm
+zhmCJK.tfm zhm1115.tfm
+zhmCJK.tfm zhm1116.tfm
+zhmCJK.tfm zhm1117.tfm
+zhmCJK.tfm zhm1118.tfm
+zhmCJK.tfm zhm1119.tfm
+zhmCJK.tfm zhm111a.tfm
+zhmCJK.tfm zhm111b.tfm
+zhmCJK.tfm zhm111c.tfm
+zhmCJK.tfm zhm111d.tfm
+zhmCJK.tfm zhm111e.tfm
+zhmCJK.tfm zhm111f.tfm
+zhmCJK.tfm zhm1120.tfm
+zhmCJK.tfm zhm1121.tfm
+zhmCJK.tfm zhm1122.tfm
+zhmCJK.tfm zhm1123.tfm
+zhmCJK.tfm zhm1124.tfm
+zhmCJK.tfm zhm1125.tfm
+zhmCJK.tfm zhm1126.tfm
+zhmCJK.tfm zhm1127.tfm
+zhmCJK.tfm zhm1128.tfm
+zhmCJK.tfm zhm1129.tfm
+zhmCJK.tfm zhm112a.tfm
+zhmCJK.tfm zhm112b.tfm
+zhmCJK.tfm zhm112c.tfm
+zhmCJK.tfm zhm112d.tfm
+zhmCJK.tfm zhm112e.tfm
+zhmCJK.tfm zhm112f.tfm
+zhmCJK.tfm zhm1130.tfm
+zhmCJK.tfm zhm1131.tfm
+zhmCJK.tfm zhm1132.tfm
+zhmCJK.tfm zhm1133.tfm
+zhmCJK.tfm zhm1134.tfm
+zhmCJK.tfm zhm1135.tfm
+zhmCJK.tfm zhm1136.tfm
+zhmCJK.tfm zhm1137.tfm
+zhmCJK.tfm zhm1138.tfm
+zhmCJK.tfm zhm1139.tfm
+zhmCJK.tfm zhm113a.tfm
+zhmCJK.tfm zhm113b.tfm
+zhmCJK.tfm zhm113c.tfm
+zhmCJK.tfm zhm113d.tfm
+zhmCJK.tfm zhm113e.tfm
+zhmCJK.tfm zhm113f.tfm
+zhmCJK.tfm zhm1140.tfm
+zhmCJK.tfm zhm1141.tfm
+zhmCJK.tfm zhm1142.tfm
+zhmCJK.tfm zhm1143.tfm
+zhmCJK.tfm zhm1144.tfm
+zhmCJK.tfm zhm1145.tfm
+zhmCJK.tfm zhm1146.tfm
+zhmCJK.tfm zhm1147.tfm
+zhmCJK.tfm zhm1148.tfm
+zhmCJK.tfm zhm1149.tfm
+zhmCJK.tfm zhm114a.tfm
+zhmCJK.tfm zhm114b.tfm
+zhmCJK.tfm zhm114c.tfm
+zhmCJK.tfm zhm114d.tfm
+zhmCJK.tfm zhm114e.tfm
+zhmCJK.tfm zhm114f.tfm
+zhmCJK.tfm zhm1150.tfm
+zhmCJK.tfm zhm1151.tfm
+zhmCJK.tfm zhm1152.tfm
+zhmCJK.tfm zhm1153.tfm
+zhmCJK.tfm zhm1154.tfm
+zhmCJK.tfm zhm1155.tfm
+zhmCJK.tfm zhm1156.tfm
+zhmCJK.tfm zhm1157.tfm
+zhmCJK.tfm zhm1158.tfm
+zhmCJK.tfm zhm1159.tfm
+zhmCJK.tfm zhm115a.tfm
+zhmCJK.tfm zhm115b.tfm
+zhmCJK.tfm zhm115c.tfm
+zhmCJK.tfm zhm115d.tfm
+zhmCJK.tfm zhm115e.tfm
+zhmCJK.tfm zhm115f.tfm
+zhmCJK.tfm zhm1160.tfm
+zhmCJK.tfm zhm1161.tfm
+zhmCJK.tfm zhm1162.tfm
+zhmCJK.tfm zhm1163.tfm
+zhmCJK.tfm zhm1164.tfm
+zhmCJK.tfm zhm1165.tfm
+zhmCJK.tfm zhm1166.tfm
+zhmCJK.tfm zhm1167.tfm
+zhmCJK.tfm zhm1168.tfm
+zhmCJK.tfm zhm1169.tfm
+zhmCJK.tfm zhm116a.tfm
+zhmCJK.tfm zhm116b.tfm
+zhmCJK.tfm zhm116c.tfm
+zhmCJK.tfm zhm116d.tfm
+zhmCJK.tfm zhm116e.tfm
+zhmCJK.tfm zhm116f.tfm
+zhmCJK.tfm zhm1170.tfm
+zhmCJK.tfm zhm1171.tfm
+zhmCJK.tfm zhm1172.tfm
+zhmCJK.tfm zhm1173.tfm
+zhmCJK.tfm zhm1174.tfm
+zhmCJK.tfm zhm1175.tfm
+zhmCJK.tfm zhm1176.tfm
+zhmCJK.tfm zhm1177.tfm
+zhmCJK.tfm zhm1178.tfm
+zhmCJK.tfm zhm1179.tfm
+zhmCJK.tfm zhm117a.tfm
+zhmCJK.tfm zhm117b.tfm
+zhmCJK.tfm zhm117c.tfm
+zhmCJK.tfm zhm117d.tfm
+zhmCJK.tfm zhm117e.tfm
+zhmCJK.tfm zhm117f.tfm
+zhmCJK.tfm zhm1180.tfm
+zhmCJK.tfm zhm1181.tfm
+zhmCJK.tfm zhm1182.tfm
+zhmCJK.tfm zhm1183.tfm
+zhmCJK.tfm zhm1184.tfm
+zhmCJK.tfm zhm1185.tfm
+zhmCJK.tfm zhm1186.tfm
+zhmCJK.tfm zhm1187.tfm
+zhmCJK.tfm zhm1188.tfm
+zhmCJK.tfm zhm1189.tfm
+zhmCJK.tfm zhm118a.tfm
+zhmCJK.tfm zhm118b.tfm
+zhmCJK.tfm zhm118c.tfm
+zhmCJK.tfm zhm118d.tfm
+zhmCJK.tfm zhm118e.tfm
+zhmCJK.tfm zhm118f.tfm
+zhmCJK.tfm zhm1190.tfm
+zhmCJK.tfm zhm1191.tfm
+zhmCJK.tfm zhm1192.tfm
+zhmCJK.tfm zhm1193.tfm
+zhmCJK.tfm zhm1194.tfm
+zhmCJK.tfm zhm1195.tfm
+zhmCJK.tfm zhm1196.tfm
+zhmCJK.tfm zhm1197.tfm
+zhmCJK.tfm zhm1198.tfm
+zhmCJK.tfm zhm1199.tfm
+zhmCJK.tfm zhm119a.tfm
+zhmCJK.tfm zhm119b.tfm
+zhmCJK.tfm zhm119c.tfm
+zhmCJK.tfm zhm119d.tfm
+zhmCJK.tfm zhm119e.tfm
+zhmCJK.tfm zhm119f.tfm
+zhmCJK.tfm zhm11a0.tfm
+zhmCJK.tfm zhm11a1.tfm
+zhmCJK.tfm zhm11a2.tfm
+zhmCJK.tfm zhm11a3.tfm
+zhmCJK.tfm zhm11a4.tfm
+zhmCJK.tfm zhm11a5.tfm
+zhmCJK.tfm zhm11a6.tfm
+zhmCJK.tfm zhm11a7.tfm
+zhmCJK.tfm zhm11a8.tfm
+zhmCJK.tfm zhm11a9.tfm
+zhmCJK.tfm zhm11aa.tfm
+zhmCJK.tfm zhm11ab.tfm
+zhmCJK.tfm zhm11ac.tfm
+zhmCJK.tfm zhm11ad.tfm
+zhmCJK.tfm zhm11ae.tfm
+zhmCJK.tfm zhm11af.tfm
+zhmCJK.tfm zhm11b0.tfm
+zhmCJK.tfm zhm11b1.tfm
+zhmCJK.tfm zhm11b2.tfm
+zhmCJK.tfm zhm11b3.tfm
+zhmCJK.tfm zhm11b4.tfm
+zhmCJK.tfm zhm11b5.tfm
+zhmCJK.tfm zhm11b6.tfm
+zhmCJK.tfm zhm11b7.tfm
+zhmCJK.tfm zhm11b8.tfm
+zhmCJK.tfm zhm11b9.tfm
+zhmCJK.tfm zhm11ba.tfm
+zhmCJK.tfm zhm11bb.tfm
+zhmCJK.tfm zhm11bc.tfm
+zhmCJK.tfm zhm11bd.tfm
+zhmCJK.tfm zhm11be.tfm
+zhmCJK.tfm zhm11bf.tfm
+zhmCJK.tfm zhm11c0.tfm
+zhmCJK.tfm zhm11c1.tfm
+zhmCJK.tfm zhm11c2.tfm
+zhmCJK.tfm zhm11c3.tfm
+zhmCJK.tfm zhm11c4.tfm
+zhmCJK.tfm zhm11c5.tfm
+zhmCJK.tfm zhm11c6.tfm
+zhmCJK.tfm zhm11c7.tfm
+zhmCJK.tfm zhm11c8.tfm
+zhmCJK.tfm zhm11c9.tfm
+zhmCJK.tfm zhm11ca.tfm
+zhmCJK.tfm zhm11cb.tfm
+zhmCJK.tfm zhm11cc.tfm
+zhmCJK.tfm zhm11cd.tfm
+zhmCJK.tfm zhm11ce.tfm
+zhmCJK.tfm zhm11cf.tfm
+zhmCJK.tfm zhm11d0.tfm
+zhmCJK.tfm zhm11d1.tfm
+zhmCJK.tfm zhm11d2.tfm
+zhmCJK.tfm zhm11d3.tfm
+zhmCJK.tfm zhm11d4.tfm
+zhmCJK.tfm zhm11d5.tfm
+zhmCJK.tfm zhm11d6.tfm
+zhmCJK.tfm zhm11d7.tfm
+zhmCJK.tfm zhm11d8.tfm
+zhmCJK.tfm zhm11d9.tfm
+zhmCJK.tfm zhm11da.tfm
+zhmCJK.tfm zhm11db.tfm
+zhmCJK.tfm zhm11dc.tfm
+zhmCJK.tfm zhm11dd.tfm
+zhmCJK.tfm zhm11de.tfm
+zhmCJK.tfm zhm11df.tfm
+zhmCJK.tfm zhm11e0.tfm
+zhmCJK.tfm zhm11e1.tfm
+zhmCJK.tfm zhm11e2.tfm
+zhmCJK.tfm zhm11e3.tfm
+zhmCJK.tfm zhm11e4.tfm
+zhmCJK.tfm zhm11e5.tfm
+zhmCJK.tfm zhm11e6.tfm
+zhmCJK.tfm zhm11e7.tfm
+zhmCJK.tfm zhm11e8.tfm
+zhmCJK.tfm zhm11e9.tfm
+zhmCJK.tfm zhm11ea.tfm
+zhmCJK.tfm zhm11eb.tfm
+zhmCJK.tfm zhm11ec.tfm
+zhmCJK.tfm zhm11ed.tfm
+zhmCJK.tfm zhm11ee.tfm
+zhmCJK.tfm zhm11ef.tfm
+zhmCJK.tfm zhm11f0.tfm
+zhmCJK.tfm zhm11f1.tfm
+zhmCJK.tfm zhm11f2.tfm
+zhmCJK.tfm zhm11f3.tfm
+zhmCJK.tfm zhm11f4.tfm
+zhmCJK.tfm zhm11f5.tfm
+zhmCJK.tfm zhm11f6.tfm
+zhmCJK.tfm zhm11f7.tfm
+zhmCJK.tfm zhm11f8.tfm
+zhmCJK.tfm zhm11f9.tfm
+zhmCJK.tfm zhm11fa.tfm
+zhmCJK.tfm zhm11fb.tfm
+zhmCJK.tfm zhm11fc.tfm
+zhmCJK.tfm zhm11fd.tfm
+zhmCJK.tfm zhm11fe.tfm
+zhmCJK.tfm zhm11ff.tfm
+zhmCJK.tfm zhm1200.tfm
+zhmCJK.tfm zhm1201.tfm
+zhmCJK.tfm zhm1202.tfm
+zhmCJK.tfm zhm1203.tfm
+zhmCJK.tfm zhm1204.tfm
+zhmCJK.tfm zhm1205.tfm
+zhmCJK.tfm zhm1206.tfm
+zhmCJK.tfm zhm1207.tfm
+zhmCJK.tfm zhm1208.tfm
+zhmCJK.tfm zhm1209.tfm
+zhmCJK.tfm zhm120a.tfm
+zhmCJK.tfm zhm120b.tfm
+zhmCJK.tfm zhm120c.tfm
+zhmCJK.tfm zhm120d.tfm
+zhmCJK.tfm zhm120e.tfm
+zhmCJK.tfm zhm120f.tfm
+zhmCJK.tfm zhm1210.tfm
+zhmCJK.tfm zhm1211.tfm
+zhmCJK.tfm zhm1212.tfm
+zhmCJK.tfm zhm1213.tfm
+zhmCJK.tfm zhm1214.tfm
+zhmCJK.tfm zhm1215.tfm
+zhmCJK.tfm zhm1216.tfm
+zhmCJK.tfm zhm1217.tfm
+zhmCJK.tfm zhm1218.tfm
+zhmCJK.tfm zhm1219.tfm
+zhmCJK.tfm zhm121a.tfm
+zhmCJK.tfm zhm121b.tfm
+zhmCJK.tfm zhm121c.tfm
+zhmCJK.tfm zhm121d.tfm
+zhmCJK.tfm zhm121e.tfm
+zhmCJK.tfm zhm121f.tfm
+zhmCJK.tfm zhm1220.tfm
+zhmCJK.tfm zhm1221.tfm
+zhmCJK.tfm zhm1222.tfm
+zhmCJK.tfm zhm1223.tfm
+zhmCJK.tfm zhm1224.tfm
+zhmCJK.tfm zhm1225.tfm
+zhmCJK.tfm zhm1226.tfm
+zhmCJK.tfm zhm1227.tfm
+zhmCJK.tfm zhm1228.tfm
+zhmCJK.tfm zhm1229.tfm
+zhmCJK.tfm zhm122a.tfm
+zhmCJK.tfm zhm122b.tfm
+zhmCJK.tfm zhm122c.tfm
+zhmCJK.tfm zhm122d.tfm
+zhmCJK.tfm zhm122e.tfm
+zhmCJK.tfm zhm122f.tfm
+zhmCJK.tfm zhm1230.tfm
+zhmCJK.tfm zhm1231.tfm
+zhmCJK.tfm zhm1232.tfm
+zhmCJK.tfm zhm1233.tfm
+zhmCJK.tfm zhm1234.tfm
+zhmCJK.tfm zhm1235.tfm
+zhmCJK.tfm zhm1236.tfm
+zhmCJK.tfm zhm1237.tfm
+zhmCJK.tfm zhm1238.tfm
+zhmCJK.tfm zhm1239.tfm
+zhmCJK.tfm zhm123a.tfm
+zhmCJK.tfm zhm123b.tfm
+zhmCJK.tfm zhm123c.tfm
+zhmCJK.tfm zhm123d.tfm
+zhmCJK.tfm zhm123e.tfm
+zhmCJK.tfm zhm123f.tfm
+zhmCJK.tfm zhm1240.tfm
+zhmCJK.tfm zhm1241.tfm
+zhmCJK.tfm zhm1242.tfm
+zhmCJK.tfm zhm1243.tfm
+zhmCJK.tfm zhm1244.tfm
+zhmCJK.tfm zhm1245.tfm
+zhmCJK.tfm zhm1246.tfm
+zhmCJK.tfm zhm1247.tfm
+zhmCJK.tfm zhm1248.tfm
+zhmCJK.tfm zhm1249.tfm
+zhmCJK.tfm zhm124a.tfm
+zhmCJK.tfm zhm124b.tfm
+zhmCJK.tfm zhm124c.tfm
+zhmCJK.tfm zhm124d.tfm
+zhmCJK.tfm zhm124e.tfm
+zhmCJK.tfm zhm124f.tfm
+zhmCJK.tfm zhm1250.tfm
+zhmCJK.tfm zhm1251.tfm
+zhmCJK.tfm zhm1252.tfm
+zhmCJK.tfm zhm1253.tfm
+zhmCJK.tfm zhm1254.tfm
+zhmCJK.tfm zhm1255.tfm
+zhmCJK.tfm zhm1256.tfm
+zhmCJK.tfm zhm1257.tfm
+zhmCJK.tfm zhm1258.tfm
+zhmCJK.tfm zhm1259.tfm
+zhmCJK.tfm zhm125a.tfm
+zhmCJK.tfm zhm125b.tfm
+zhmCJK.tfm zhm125c.tfm
+zhmCJK.tfm zhm125d.tfm
+zhmCJK.tfm zhm125e.tfm
+zhmCJK.tfm zhm125f.tfm
+zhmCJK.tfm zhm1260.tfm
+zhmCJK.tfm zhm1261.tfm
+zhmCJK.tfm zhm1262.tfm
+zhmCJK.tfm zhm1263.tfm
+zhmCJK.tfm zhm1264.tfm
+zhmCJK.tfm zhm1265.tfm
+zhmCJK.tfm zhm1266.tfm
+zhmCJK.tfm zhm1267.tfm
+zhmCJK.tfm zhm1268.tfm
+zhmCJK.tfm zhm1269.tfm
+zhmCJK.tfm zhm126a.tfm
+zhmCJK.tfm zhm126b.tfm
+zhmCJK.tfm zhm126c.tfm
+zhmCJK.tfm zhm126d.tfm
+zhmCJK.tfm zhm126e.tfm
+zhmCJK.tfm zhm126f.tfm
+zhmCJK.tfm zhm1270.tfm
+zhmCJK.tfm zhm1271.tfm
+zhmCJK.tfm zhm1272.tfm
+zhmCJK.tfm zhm1273.tfm
+zhmCJK.tfm zhm1274.tfm
+zhmCJK.tfm zhm1275.tfm
+zhmCJK.tfm zhm1276.tfm
+zhmCJK.tfm zhm1277.tfm
+zhmCJK.tfm zhm1278.tfm
+zhmCJK.tfm zhm1279.tfm
+zhmCJK.tfm zhm127a.tfm
+zhmCJK.tfm zhm127b.tfm
+zhmCJK.tfm zhm127c.tfm
+zhmCJK.tfm zhm127d.tfm
+zhmCJK.tfm zhm127e.tfm
+zhmCJK.tfm zhm127f.tfm
+zhmCJK.tfm zhm1280.tfm
+zhmCJK.tfm zhm1281.tfm
+zhmCJK.tfm zhm1282.tfm
+zhmCJK.tfm zhm1283.tfm
+zhmCJK.tfm zhm1284.tfm
+zhmCJK.tfm zhm1285.tfm
+zhmCJK.tfm zhm1286.tfm
+zhmCJK.tfm zhm1287.tfm
+zhmCJK.tfm zhm1288.tfm
+zhmCJK.tfm zhm1289.tfm
+zhmCJK.tfm zhm128a.tfm
+zhmCJK.tfm zhm128b.tfm
+zhmCJK.tfm zhm128c.tfm
+zhmCJK.tfm zhm128d.tfm
+zhmCJK.tfm zhm128e.tfm
+zhmCJK.tfm zhm128f.tfm
+zhmCJK.tfm zhm1290.tfm
+zhmCJK.tfm zhm1291.tfm
+zhmCJK.tfm zhm1292.tfm
+zhmCJK.tfm zhm1293.tfm
+zhmCJK.tfm zhm1294.tfm
+zhmCJK.tfm zhm1295.tfm
+zhmCJK.tfm zhm1296.tfm
+zhmCJK.tfm zhm1297.tfm
+zhmCJK.tfm zhm1298.tfm
+zhmCJK.tfm zhm1299.tfm
+zhmCJK.tfm zhm129a.tfm
+zhmCJK.tfm zhm129b.tfm
+zhmCJK.tfm zhm129c.tfm
+zhmCJK.tfm zhm129d.tfm
+zhmCJK.tfm zhm129e.tfm
+zhmCJK.tfm zhm129f.tfm
+zhmCJK.tfm zhm12a0.tfm
+zhmCJK.tfm zhm12a1.tfm
+zhmCJK.tfm zhm12a2.tfm
+zhmCJK.tfm zhm12a3.tfm
+zhmCJK.tfm zhm12a4.tfm
+zhmCJK.tfm zhm12a5.tfm
+zhmCJK.tfm zhm12a6.tfm
+zhmCJK.tfm zhm12a7.tfm
+zhmCJK.tfm zhm12a8.tfm
+zhmCJK.tfm zhm12a9.tfm
+zhmCJK.tfm zhm12aa.tfm
+zhmCJK.tfm zhm12ab.tfm
+zhmCJK.tfm zhm12ac.tfm
+zhmCJK.tfm zhm12ad.tfm
+zhmCJK.tfm zhm12ae.tfm
+zhmCJK.tfm zhm12af.tfm
+zhmCJK.tfm zhm12b0.tfm
+zhmCJK.tfm zhm12b1.tfm
+zhmCJK.tfm zhm12b2.tfm
+zhmCJK.tfm zhm12b3.tfm
+zhmCJK.tfm zhm12b4.tfm
+zhmCJK.tfm zhm12b5.tfm
+zhmCJK.tfm zhm12b6.tfm
+zhmCJK.tfm zhm12b7.tfm
+zhmCJK.tfm zhm12b8.tfm
+zhmCJK.tfm zhm12b9.tfm
+zhmCJK.tfm zhm12ba.tfm
+zhmCJK.tfm zhm12bb.tfm
+zhmCJK.tfm zhm12bc.tfm
+zhmCJK.tfm zhm12bd.tfm
+zhmCJK.tfm zhm12be.tfm
+zhmCJK.tfm zhm12bf.tfm
+zhmCJK.tfm zhm12c0.tfm
+zhmCJK.tfm zhm12c1.tfm
+zhmCJK.tfm zhm12c2.tfm
+zhmCJK.tfm zhm12c3.tfm
+zhmCJK.tfm zhm12c4.tfm
+zhmCJK.tfm zhm12c5.tfm
+zhmCJK.tfm zhm12c6.tfm
+zhmCJK.tfm zhm12c7.tfm
+zhmCJK.tfm zhm12c8.tfm
+zhmCJK.tfm zhm12c9.tfm
+zhmCJK.tfm zhm12ca.tfm
+zhmCJK.tfm zhm12cb.tfm
+zhmCJK.tfm zhm12cc.tfm
+zhmCJK.tfm zhm12cd.tfm
+zhmCJK.tfm zhm12ce.tfm
+zhmCJK.tfm zhm12cf.tfm
+zhmCJK.tfm zhm12d0.tfm
+zhmCJK.tfm zhm12d1.tfm
+zhmCJK.tfm zhm12d2.tfm
+zhmCJK.tfm zhm12d3.tfm
+zhmCJK.tfm zhm12d4.tfm
+zhmCJK.tfm zhm12d5.tfm
+zhmCJK.tfm zhm12d6.tfm
+zhmCJK.tfm zhm12d7.tfm
+zhmCJK.tfm zhm12d8.tfm
+zhmCJK.tfm zhm12d9.tfm
+zhmCJK.tfm zhm12da.tfm
+zhmCJK.tfm zhm12db.tfm
+zhmCJK.tfm zhm12dc.tfm
+zhmCJK.tfm zhm12dd.tfm
+zhmCJK.tfm zhm12de.tfm
+zhmCJK.tfm zhm12df.tfm
+zhmCJK.tfm zhm12e0.tfm
+zhmCJK.tfm zhm12e1.tfm
+zhmCJK.tfm zhm12e2.tfm
+zhmCJK.tfm zhm12e3.tfm
+zhmCJK.tfm zhm12e4.tfm
+zhmCJK.tfm zhm12e5.tfm
+zhmCJK.tfm zhm12e6.tfm
+zhmCJK.tfm zhm12e7.tfm
+zhmCJK.tfm zhm12e8.tfm
+zhmCJK.tfm zhm12e9.tfm
+zhmCJK.tfm zhm12ea.tfm
+zhmCJK.tfm zhm12eb.tfm
+zhmCJK.tfm zhm12ec.tfm
+zhmCJK.tfm zhm12ed.tfm
+zhmCJK.tfm zhm12ee.tfm
+zhmCJK.tfm zhm12ef.tfm
+zhmCJK.tfm zhm12f0.tfm
+zhmCJK.tfm zhm12f1.tfm
+zhmCJK.tfm zhm12f2.tfm
+zhmCJK.tfm zhm12f3.tfm
+zhmCJK.tfm zhm12f4.tfm
+zhmCJK.tfm zhm12f5.tfm
+zhmCJK.tfm zhm12f6.tfm
+zhmCJK.tfm zhm12f7.tfm
+zhmCJK.tfm zhm12f8.tfm
+zhmCJK.tfm zhm12f9.tfm
+zhmCJK.tfm zhm12fa.tfm
+zhmCJK.tfm zhm12fb.tfm
+zhmCJK.tfm zhm12fc.tfm
+zhmCJK.tfm zhm12fd.tfm
+zhmCJK.tfm zhm12fe.tfm
+zhmCJK.tfm zhm12ff.tfm
+zhmCJK.tfm zhm1300.tfm
+zhmCJK.tfm zhm1301.tfm
+zhmCJK.tfm zhm1302.tfm
+zhmCJK.tfm zhm1303.tfm
+zhmCJK.tfm zhm1304.tfm
+zhmCJK.tfm zhm1305.tfm
+zhmCJK.tfm zhm1306.tfm
+zhmCJK.tfm zhm1307.tfm
+zhmCJK.tfm zhm1308.tfm
+zhmCJK.tfm zhm1309.tfm
+zhmCJK.tfm zhm130a.tfm
+zhmCJK.tfm zhm130b.tfm
+zhmCJK.tfm zhm130c.tfm
+zhmCJK.tfm zhm130d.tfm
+zhmCJK.tfm zhm130e.tfm
+zhmCJK.tfm zhm130f.tfm
+zhmCJK.tfm zhm1310.tfm
+zhmCJK.tfm zhm1311.tfm
+zhmCJK.tfm zhm1312.tfm
+zhmCJK.tfm zhm1313.tfm
+zhmCJK.tfm zhm1314.tfm
+zhmCJK.tfm zhm1315.tfm
+zhmCJK.tfm zhm1316.tfm
+zhmCJK.tfm zhm1317.tfm
+zhmCJK.tfm zhm1318.tfm
+zhmCJK.tfm zhm1319.tfm
+zhmCJK.tfm zhm131a.tfm
+zhmCJK.tfm zhm131b.tfm
+zhmCJK.tfm zhm131c.tfm
+zhmCJK.tfm zhm131d.tfm
+zhmCJK.tfm zhm131e.tfm
+zhmCJK.tfm zhm131f.tfm
+zhmCJK.tfm zhm1320.tfm
+zhmCJK.tfm zhm1321.tfm
+zhmCJK.tfm zhm1322.tfm
+zhmCJK.tfm zhm1323.tfm
+zhmCJK.tfm zhm1324.tfm
+zhmCJK.tfm zhm1325.tfm
+zhmCJK.tfm zhm1326.tfm
+zhmCJK.tfm zhm1327.tfm
+zhmCJK.tfm zhm1328.tfm
+zhmCJK.tfm zhm1329.tfm
+zhmCJK.tfm zhm132a.tfm
+zhmCJK.tfm zhm132b.tfm
+zhmCJK.tfm zhm132c.tfm
+zhmCJK.tfm zhm132d.tfm
+zhmCJK.tfm zhm132e.tfm
+zhmCJK.tfm zhm132f.tfm
+zhmCJK.tfm zhm1330.tfm
+zhmCJK.tfm zhm1331.tfm
+zhmCJK.tfm zhm1332.tfm
+zhmCJK.tfm zhm1333.tfm
+zhmCJK.tfm zhm1334.tfm
+zhmCJK.tfm zhm1335.tfm
+zhmCJK.tfm zhm1336.tfm
+zhmCJK.tfm zhm1337.tfm
+zhmCJK.tfm zhm1338.tfm
+zhmCJK.tfm zhm1339.tfm
+zhmCJK.tfm zhm133a.tfm
+zhmCJK.tfm zhm133b.tfm
+zhmCJK.tfm zhm133c.tfm
+zhmCJK.tfm zhm133d.tfm
+zhmCJK.tfm zhm133e.tfm
+zhmCJK.tfm zhm133f.tfm
+zhmCJK.tfm zhm1340.tfm
+zhmCJK.tfm zhm1341.tfm
+zhmCJK.tfm zhm1342.tfm
+zhmCJK.tfm zhm1343.tfm
+zhmCJK.tfm zhm1344.tfm
+zhmCJK.tfm zhm1345.tfm
+zhmCJK.tfm zhm1346.tfm
+zhmCJK.tfm zhm1347.tfm
+zhmCJK.tfm zhm1348.tfm
+zhmCJK.tfm zhm1349.tfm
+zhmCJK.tfm zhm134a.tfm
+zhmCJK.tfm zhm134b.tfm
+zhmCJK.tfm zhm134c.tfm
+zhmCJK.tfm zhm134d.tfm
+zhmCJK.tfm zhm134e.tfm
+zhmCJK.tfm zhm134f.tfm
+zhmCJK.tfm zhm1350.tfm
+zhmCJK.tfm zhm1351.tfm
+zhmCJK.tfm zhm1352.tfm
+zhmCJK.tfm zhm1353.tfm
+zhmCJK.tfm zhm1354.tfm
+zhmCJK.tfm zhm1355.tfm
+zhmCJK.tfm zhm1356.tfm
+zhmCJK.tfm zhm1357.tfm
+zhmCJK.tfm zhm1358.tfm
+zhmCJK.tfm zhm1359.tfm
+zhmCJK.tfm zhm135a.tfm
+zhmCJK.tfm zhm135b.tfm
+zhmCJK.tfm zhm135c.tfm
+zhmCJK.tfm zhm135d.tfm
+zhmCJK.tfm zhm135e.tfm
+zhmCJK.tfm zhm135f.tfm
+zhmCJK.tfm zhm1360.tfm
+zhmCJK.tfm zhm1361.tfm
+zhmCJK.tfm zhm1362.tfm
+zhmCJK.tfm zhm1363.tfm
+zhmCJK.tfm zhm1364.tfm
+zhmCJK.tfm zhm1365.tfm
+zhmCJK.tfm zhm1366.tfm
+zhmCJK.tfm zhm1367.tfm
+zhmCJK.tfm zhm1368.tfm
+zhmCJK.tfm zhm1369.tfm
+zhmCJK.tfm zhm136a.tfm
+zhmCJK.tfm zhm136b.tfm
+zhmCJK.tfm zhm136c.tfm
+zhmCJK.tfm zhm136d.tfm
+zhmCJK.tfm zhm136e.tfm
+zhmCJK.tfm zhm136f.tfm
+zhmCJK.tfm zhm1370.tfm
+zhmCJK.tfm zhm1371.tfm
+zhmCJK.tfm zhm1372.tfm
+zhmCJK.tfm zhm1373.tfm
+zhmCJK.tfm zhm1374.tfm
+zhmCJK.tfm zhm1375.tfm
+zhmCJK.tfm zhm1376.tfm
+zhmCJK.tfm zhm1377.tfm
+zhmCJK.tfm zhm1378.tfm
+zhmCJK.tfm zhm1379.tfm
+zhmCJK.tfm zhm137a.tfm
+zhmCJK.tfm zhm137b.tfm
+zhmCJK.tfm zhm137c.tfm
+zhmCJK.tfm zhm137d.tfm
+zhmCJK.tfm zhm137e.tfm
+zhmCJK.tfm zhm137f.tfm
+zhmCJK.tfm zhm1380.tfm
+zhmCJK.tfm zhm1381.tfm
+zhmCJK.tfm zhm1382.tfm
+zhmCJK.tfm zhm1383.tfm
+zhmCJK.tfm zhm1384.tfm
+zhmCJK.tfm zhm1385.tfm
+zhmCJK.tfm zhm1386.tfm
+zhmCJK.tfm zhm1387.tfm
+zhmCJK.tfm zhm1388.tfm
+zhmCJK.tfm zhm1389.tfm
+zhmCJK.tfm zhm138a.tfm
+zhmCJK.tfm zhm138b.tfm
+zhmCJK.tfm zhm138c.tfm
+zhmCJK.tfm zhm138d.tfm
+zhmCJK.tfm zhm138e.tfm
+zhmCJK.tfm zhm138f.tfm
+zhmCJK.tfm zhm1390.tfm
+zhmCJK.tfm zhm1391.tfm
+zhmCJK.tfm zhm1392.tfm
+zhmCJK.tfm zhm1393.tfm
+zhmCJK.tfm zhm1394.tfm
+zhmCJK.tfm zhm1395.tfm
+zhmCJK.tfm zhm1396.tfm
+zhmCJK.tfm zhm1397.tfm
+zhmCJK.tfm zhm1398.tfm
+zhmCJK.tfm zhm1399.tfm
+zhmCJK.tfm zhm139a.tfm
+zhmCJK.tfm zhm139b.tfm
+zhmCJK.tfm zhm139c.tfm
+zhmCJK.tfm zhm139d.tfm
+zhmCJK.tfm zhm139e.tfm
+zhmCJK.tfm zhm139f.tfm
+zhmCJK.tfm zhm13a0.tfm
+zhmCJK.tfm zhm13a1.tfm
+zhmCJK.tfm zhm13a2.tfm
+zhmCJK.tfm zhm13a3.tfm
+zhmCJK.tfm zhm13a4.tfm
+zhmCJK.tfm zhm13a5.tfm
+zhmCJK.tfm zhm13a6.tfm
+zhmCJK.tfm zhm13a7.tfm
+zhmCJK.tfm zhm13a8.tfm
+zhmCJK.tfm zhm13a9.tfm
+zhmCJK.tfm zhm13aa.tfm
+zhmCJK.tfm zhm13ab.tfm
+zhmCJK.tfm zhm13ac.tfm
+zhmCJK.tfm zhm13ad.tfm
+zhmCJK.tfm zhm13ae.tfm
+zhmCJK.tfm zhm13af.tfm
+zhmCJK.tfm zhm13b0.tfm
+zhmCJK.tfm zhm13b1.tfm
+zhmCJK.tfm zhm13b2.tfm
+zhmCJK.tfm zhm13b3.tfm
+zhmCJK.tfm zhm13b4.tfm
+zhmCJK.tfm zhm13b5.tfm
+zhmCJK.tfm zhm13b6.tfm
+zhmCJK.tfm zhm13b7.tfm
+zhmCJK.tfm zhm13b8.tfm
+zhmCJK.tfm zhm13b9.tfm
+zhmCJK.tfm zhm13ba.tfm
+zhmCJK.tfm zhm13bb.tfm
+zhmCJK.tfm zhm13bc.tfm
+zhmCJK.tfm zhm13bd.tfm
+zhmCJK.tfm zhm13be.tfm
+zhmCJK.tfm zhm13bf.tfm
+zhmCJK.tfm zhm13c0.tfm
+zhmCJK.tfm zhm13c1.tfm
+zhmCJK.tfm zhm13c2.tfm
+zhmCJK.tfm zhm13c3.tfm
+zhmCJK.tfm zhm13c4.tfm
+zhmCJK.tfm zhm13c5.tfm
+zhmCJK.tfm zhm13c6.tfm
+zhmCJK.tfm zhm13c7.tfm
+zhmCJK.tfm zhm13c8.tfm
+zhmCJK.tfm zhm13c9.tfm
+zhmCJK.tfm zhm13ca.tfm
+zhmCJK.tfm zhm13cb.tfm
+zhmCJK.tfm zhm13cc.tfm
+zhmCJK.tfm zhm13cd.tfm
+zhmCJK.tfm zhm13ce.tfm
+zhmCJK.tfm zhm13cf.tfm
+zhmCJK.tfm zhm13d0.tfm
+zhmCJK.tfm zhm13d1.tfm
+zhmCJK.tfm zhm13d2.tfm
+zhmCJK.tfm zhm13d3.tfm
+zhmCJK.tfm zhm13d4.tfm
+zhmCJK.tfm zhm13d5.tfm
+zhmCJK.tfm zhm13d6.tfm
+zhmCJK.tfm zhm13d7.tfm
+zhmCJK.tfm zhm13d8.tfm
+zhmCJK.tfm zhm13d9.tfm
+zhmCJK.tfm zhm13da.tfm
+zhmCJK.tfm zhm13db.tfm
+zhmCJK.tfm zhm13dc.tfm
+zhmCJK.tfm zhm13dd.tfm
+zhmCJK.tfm zhm13de.tfm
+zhmCJK.tfm zhm13df.tfm
+zhmCJK.tfm zhm13e0.tfm
+zhmCJK.tfm zhm13e1.tfm
+zhmCJK.tfm zhm13e2.tfm
+zhmCJK.tfm zhm13e3.tfm
+zhmCJK.tfm zhm13e4.tfm
+zhmCJK.tfm zhm13e5.tfm
+zhmCJK.tfm zhm13e6.tfm
+zhmCJK.tfm zhm13e7.tfm
+zhmCJK.tfm zhm13e8.tfm
+zhmCJK.tfm zhm13e9.tfm
+zhmCJK.tfm zhm13ea.tfm
+zhmCJK.tfm zhm13eb.tfm
+zhmCJK.tfm zhm13ec.tfm
+zhmCJK.tfm zhm13ed.tfm
+zhmCJK.tfm zhm13ee.tfm
+zhmCJK.tfm zhm13ef.tfm
+zhmCJK.tfm zhm13f0.tfm
+zhmCJK.tfm zhm13f1.tfm
+zhmCJK.tfm zhm13f2.tfm
+zhmCJK.tfm zhm13f3.tfm
+zhmCJK.tfm zhm13f4.tfm
+zhmCJK.tfm zhm13f5.tfm
+zhmCJK.tfm zhm13f6.tfm
+zhmCJK.tfm zhm13f7.tfm
+zhmCJK.tfm zhm13f8.tfm
+zhmCJK.tfm zhm13f9.tfm
+zhmCJK.tfm zhm13fa.tfm
+zhmCJK.tfm zhm13fb.tfm
+zhmCJK.tfm zhm13fc.tfm
+zhmCJK.tfm zhm13fd.tfm
+zhmCJK.tfm zhm13fe.tfm
+zhmCJK.tfm zhm13ff.tfm
+zhmCJK.tfm zhm1400.tfm
+zhmCJK.tfm zhm1401.tfm
+zhmCJK.tfm zhm1402.tfm
+zhmCJK.tfm zhm1403.tfm
+zhmCJK.tfm zhm1404.tfm
+zhmCJK.tfm zhm1405.tfm
+zhmCJK.tfm zhm1406.tfm
+zhmCJK.tfm zhm1407.tfm
+zhmCJK.tfm zhm1408.tfm
+zhmCJK.tfm zhm1409.tfm
+zhmCJK.tfm zhm140a.tfm
+zhmCJK.tfm zhm140b.tfm
+zhmCJK.tfm zhm140c.tfm
+zhmCJK.tfm zhm140d.tfm
+zhmCJK.tfm zhm140e.tfm
+zhmCJK.tfm zhm140f.tfm
+zhmCJK.tfm zhm1410.tfm
+zhmCJK.tfm zhm1411.tfm
+zhmCJK.tfm zhm1412.tfm
+zhmCJK.tfm zhm1413.tfm
+zhmCJK.tfm zhm1414.tfm
+zhmCJK.tfm zhm1415.tfm
+zhmCJK.tfm zhm1416.tfm
+zhmCJK.tfm zhm1417.tfm
+zhmCJK.tfm zhm1418.tfm
+zhmCJK.tfm zhm1419.tfm
+zhmCJK.tfm zhm141a.tfm
+zhmCJK.tfm zhm141b.tfm
+zhmCJK.tfm zhm141c.tfm
+zhmCJK.tfm zhm141d.tfm
+zhmCJK.tfm zhm141e.tfm
+zhmCJK.tfm zhm141f.tfm
+zhmCJK.tfm zhm1420.tfm
+zhmCJK.tfm zhm1421.tfm
+zhmCJK.tfm zhm1422.tfm
+zhmCJK.tfm zhm1423.tfm
+zhmCJK.tfm zhm1424.tfm
+zhmCJK.tfm zhm1425.tfm
+zhmCJK.tfm zhm1426.tfm
+zhmCJK.tfm zhm1427.tfm
+zhmCJK.tfm zhm1428.tfm
+zhmCJK.tfm zhm1429.tfm
+zhmCJK.tfm zhm142a.tfm
+zhmCJK.tfm zhm142b.tfm
+zhmCJK.tfm zhm142c.tfm
+zhmCJK.tfm zhm142d.tfm
+zhmCJK.tfm zhm142e.tfm
+zhmCJK.tfm zhm142f.tfm
+zhmCJK.tfm zhm1430.tfm
+zhmCJK.tfm zhm1431.tfm
+zhmCJK.tfm zhm1432.tfm
+zhmCJK.tfm zhm1433.tfm
+zhmCJK.tfm zhm1434.tfm
+zhmCJK.tfm zhm1435.tfm
+zhmCJK.tfm zhm1436.tfm
+zhmCJK.tfm zhm1437.tfm
+zhmCJK.tfm zhm1438.tfm
+zhmCJK.tfm zhm1439.tfm
+zhmCJK.tfm zhm143a.tfm
+zhmCJK.tfm zhm143b.tfm
+zhmCJK.tfm zhm143c.tfm
+zhmCJK.tfm zhm143d.tfm
+zhmCJK.tfm zhm143e.tfm
+zhmCJK.tfm zhm143f.tfm
+zhmCJK.tfm zhm1440.tfm
+zhmCJK.tfm zhm1441.tfm
+zhmCJK.tfm zhm1442.tfm
+zhmCJK.tfm zhm1443.tfm
+zhmCJK.tfm zhm1444.tfm
+zhmCJK.tfm zhm1445.tfm
+zhmCJK.tfm zhm1446.tfm
+zhmCJK.tfm zhm1447.tfm
+zhmCJK.tfm zhm1448.tfm
+zhmCJK.tfm zhm1449.tfm
+zhmCJK.tfm zhm144a.tfm
+zhmCJK.tfm zhm144b.tfm
+zhmCJK.tfm zhm144c.tfm
+zhmCJK.tfm zhm144d.tfm
+zhmCJK.tfm zhm144e.tfm
+zhmCJK.tfm zhm144f.tfm
+zhmCJK.tfm zhm1450.tfm
+zhmCJK.tfm zhm1451.tfm
+zhmCJK.tfm zhm1452.tfm
+zhmCJK.tfm zhm1453.tfm
+zhmCJK.tfm zhm1454.tfm
+zhmCJK.tfm zhm1455.tfm
+zhmCJK.tfm zhm1456.tfm
+zhmCJK.tfm zhm1457.tfm
+zhmCJK.tfm zhm1458.tfm
+zhmCJK.tfm zhm1459.tfm
+zhmCJK.tfm zhm145a.tfm
+zhmCJK.tfm zhm145b.tfm
+zhmCJK.tfm zhm145c.tfm
+zhmCJK.tfm zhm145d.tfm
+zhmCJK.tfm zhm145e.tfm
+zhmCJK.tfm zhm145f.tfm
+zhmCJK.tfm zhm1460.tfm
+zhmCJK.tfm zhm1461.tfm
+zhmCJK.tfm zhm1462.tfm
+zhmCJK.tfm zhm1463.tfm
+zhmCJK.tfm zhm1464.tfm
+zhmCJK.tfm zhm1465.tfm
+zhmCJK.tfm zhm1466.tfm
+zhmCJK.tfm zhm1467.tfm
+zhmCJK.tfm zhm1468.tfm
+zhmCJK.tfm zhm1469.tfm
+zhmCJK.tfm zhm146a.tfm
+zhmCJK.tfm zhm146b.tfm
+zhmCJK.tfm zhm146c.tfm
+zhmCJK.tfm zhm146d.tfm
+zhmCJK.tfm zhm146e.tfm
+zhmCJK.tfm zhm146f.tfm
+zhmCJK.tfm zhm1470.tfm
+zhmCJK.tfm zhm1471.tfm
+zhmCJK.tfm zhm1472.tfm
+zhmCJK.tfm zhm1473.tfm
+zhmCJK.tfm zhm1474.tfm
+zhmCJK.tfm zhm1475.tfm
+zhmCJK.tfm zhm1476.tfm
+zhmCJK.tfm zhm1477.tfm
+zhmCJK.tfm zhm1478.tfm
+zhmCJK.tfm zhm1479.tfm
+zhmCJK.tfm zhm147a.tfm
+zhmCJK.tfm zhm147b.tfm
+zhmCJK.tfm zhm147c.tfm
+zhmCJK.tfm zhm147d.tfm
+zhmCJK.tfm zhm147e.tfm
+zhmCJK.tfm zhm147f.tfm
+zhmCJK.tfm zhm1480.tfm
+zhmCJK.tfm zhm1481.tfm
+zhmCJK.tfm zhm1482.tfm
+zhmCJK.tfm zhm1483.tfm
+zhmCJK.tfm zhm1484.tfm
+zhmCJK.tfm zhm1485.tfm
+zhmCJK.tfm zhm1486.tfm
+zhmCJK.tfm zhm1487.tfm
+zhmCJK.tfm zhm1488.tfm
+zhmCJK.tfm zhm1489.tfm
+zhmCJK.tfm zhm148a.tfm
+zhmCJK.tfm zhm148b.tfm
+zhmCJK.tfm zhm148c.tfm
+zhmCJK.tfm zhm148d.tfm
+zhmCJK.tfm zhm148e.tfm
+zhmCJK.tfm zhm148f.tfm
+zhmCJK.tfm zhm1490.tfm
+zhmCJK.tfm zhm1491.tfm
+zhmCJK.tfm zhm1492.tfm
+zhmCJK.tfm zhm1493.tfm
+zhmCJK.tfm zhm1494.tfm
+zhmCJK.tfm zhm1495.tfm
+zhmCJK.tfm zhm1496.tfm
+zhmCJK.tfm zhm1497.tfm
+zhmCJK.tfm zhm1498.tfm
+zhmCJK.tfm zhm1499.tfm
+zhmCJK.tfm zhm149a.tfm
+zhmCJK.tfm zhm149b.tfm
+zhmCJK.tfm zhm149c.tfm
+zhmCJK.tfm zhm149d.tfm
+zhmCJK.tfm zhm149e.tfm
+zhmCJK.tfm zhm149f.tfm
+zhmCJK.tfm zhm14a0.tfm
+zhmCJK.tfm zhm14a1.tfm
+zhmCJK.tfm zhm14a2.tfm
+zhmCJK.tfm zhm14a3.tfm
+zhmCJK.tfm zhm14a4.tfm
+zhmCJK.tfm zhm14a5.tfm
+zhmCJK.tfm zhm14a6.tfm
+zhmCJK.tfm zhm14a7.tfm
+zhmCJK.tfm zhm14a8.tfm
+zhmCJK.tfm zhm14a9.tfm
+zhmCJK.tfm zhm14aa.tfm
+zhmCJK.tfm zhm14ab.tfm
+zhmCJK.tfm zhm14ac.tfm
+zhmCJK.tfm zhm14ad.tfm
+zhmCJK.tfm zhm14ae.tfm
+zhmCJK.tfm zhm14af.tfm
+zhmCJK.tfm zhm14b0.tfm
+zhmCJK.tfm zhm14b1.tfm
+zhmCJK.tfm zhm14b2.tfm
+zhmCJK.tfm zhm14b3.tfm
+zhmCJK.tfm zhm14b4.tfm
+zhmCJK.tfm zhm14b5.tfm
+zhmCJK.tfm zhm14b6.tfm
+zhmCJK.tfm zhm14b7.tfm
+zhmCJK.tfm zhm14b8.tfm
+zhmCJK.tfm zhm14b9.tfm
+zhmCJK.tfm zhm14ba.tfm
+zhmCJK.tfm zhm14bb.tfm
+zhmCJK.tfm zhm14bc.tfm
+zhmCJK.tfm zhm14bd.tfm
+zhmCJK.tfm zhm14be.tfm
+zhmCJK.tfm zhm14bf.tfm
+zhmCJK.tfm zhm14c0.tfm
+zhmCJK.tfm zhm14c1.tfm
+zhmCJK.tfm zhm14c2.tfm
+zhmCJK.tfm zhm14c3.tfm
+zhmCJK.tfm zhm14c4.tfm
+zhmCJK.tfm zhm14c5.tfm
+zhmCJK.tfm zhm14c6.tfm
+zhmCJK.tfm zhm14c7.tfm
+zhmCJK.tfm zhm14c8.tfm
+zhmCJK.tfm zhm14c9.tfm
+zhmCJK.tfm zhm14ca.tfm
+zhmCJK.tfm zhm14cb.tfm
+zhmCJK.tfm zhm14cc.tfm
+zhmCJK.tfm zhm14cd.tfm
+zhmCJK.tfm zhm14ce.tfm
+zhmCJK.tfm zhm14cf.tfm
+zhmCJK.tfm zhm14d0.tfm
+zhmCJK.tfm zhm14d1.tfm
+zhmCJK.tfm zhm14d2.tfm
+zhmCJK.tfm zhm14d3.tfm
+zhmCJK.tfm zhm14d4.tfm
+zhmCJK.tfm zhm14d5.tfm
+zhmCJK.tfm zhm14d6.tfm
+zhmCJK.tfm zhm14d7.tfm
+zhmCJK.tfm zhm14d8.tfm
+zhmCJK.tfm zhm14d9.tfm
+zhmCJK.tfm zhm14da.tfm
+zhmCJK.tfm zhm14db.tfm
+zhmCJK.tfm zhm14dc.tfm
+zhmCJK.tfm zhm14dd.tfm
+zhmCJK.tfm zhm14de.tfm
+zhmCJK.tfm zhm14df.tfm
+zhmCJK.tfm zhm14e0.tfm
+zhmCJK.tfm zhm14e1.tfm
+zhmCJK.tfm zhm14e2.tfm
+zhmCJK.tfm zhm14e3.tfm
+zhmCJK.tfm zhm14e4.tfm
+zhmCJK.tfm zhm14e5.tfm
+zhmCJK.tfm zhm14e6.tfm
+zhmCJK.tfm zhm14e7.tfm
+zhmCJK.tfm zhm14e8.tfm
+zhmCJK.tfm zhm14e9.tfm
+zhmCJK.tfm zhm14ea.tfm
+zhmCJK.tfm zhm14eb.tfm
+zhmCJK.tfm zhm14ec.tfm
+zhmCJK.tfm zhm14ed.tfm
+zhmCJK.tfm zhm14ee.tfm
+zhmCJK.tfm zhm14ef.tfm
+zhmCJK.tfm zhm14f0.tfm
+zhmCJK.tfm zhm14f1.tfm
+zhmCJK.tfm zhm14f2.tfm
+zhmCJK.tfm zhm14f3.tfm
+zhmCJK.tfm zhm14f4.tfm
+zhmCJK.tfm zhm14f5.tfm
+zhmCJK.tfm zhm14f6.tfm
+zhmCJK.tfm zhm14f7.tfm
+zhmCJK.tfm zhm14f8.tfm
+zhmCJK.tfm zhm14f9.tfm
+zhmCJK.tfm zhm14fa.tfm
+zhmCJK.tfm zhm14fb.tfm
+zhmCJK.tfm zhm14fc.tfm
+zhmCJK.tfm zhm14fd.tfm
+zhmCJK.tfm zhm14fe.tfm
+zhmCJK.tfm zhm14ff.tfm
+zhmCJK.tfm zhm1500.tfm
+zhmCJK.tfm zhm1501.tfm
+zhmCJK.tfm zhm1502.tfm
+zhmCJK.tfm zhm1503.tfm
+zhmCJK.tfm zhm1504.tfm
+zhmCJK.tfm zhm1505.tfm
+zhmCJK.tfm zhm1506.tfm
+zhmCJK.tfm zhm1507.tfm
+zhmCJK.tfm zhm1508.tfm
+zhmCJK.tfm zhm1509.tfm
+zhmCJK.tfm zhm150a.tfm
+zhmCJK.tfm zhm150b.tfm
+zhmCJK.tfm zhm150c.tfm
+zhmCJK.tfm zhm150d.tfm
+zhmCJK.tfm zhm150e.tfm
+zhmCJK.tfm zhm150f.tfm
+zhmCJK.tfm zhm1510.tfm
+zhmCJK.tfm zhm1511.tfm
+zhmCJK.tfm zhm1512.tfm
+zhmCJK.tfm zhm1513.tfm
+zhmCJK.tfm zhm1514.tfm
+zhmCJK.tfm zhm1515.tfm
+zhmCJK.tfm zhm1516.tfm
+zhmCJK.tfm zhm1517.tfm
+zhmCJK.tfm zhm1518.tfm
+zhmCJK.tfm zhm1519.tfm
+zhmCJK.tfm zhm151a.tfm
+zhmCJK.tfm zhm151b.tfm
+zhmCJK.tfm zhm151c.tfm
+zhmCJK.tfm zhm151d.tfm
+zhmCJK.tfm zhm151e.tfm
+zhmCJK.tfm zhm151f.tfm
+zhmCJK.tfm zhm1520.tfm
+zhmCJK.tfm zhm1521.tfm
+zhmCJK.tfm zhm1522.tfm
+zhmCJK.tfm zhm1523.tfm
+zhmCJK.tfm zhm1524.tfm
+zhmCJK.tfm zhm1525.tfm
+zhmCJK.tfm zhm1526.tfm
+zhmCJK.tfm zhm1527.tfm
+zhmCJK.tfm zhm1528.tfm
+zhmCJK.tfm zhm1529.tfm
+zhmCJK.tfm zhm152a.tfm
+zhmCJK.tfm zhm152b.tfm
+zhmCJK.tfm zhm152c.tfm
+zhmCJK.tfm zhm152d.tfm
+zhmCJK.tfm zhm152e.tfm
+zhmCJK.tfm zhm152f.tfm
+zhmCJK.tfm zhm1530.tfm
+zhmCJK.tfm zhm1531.tfm
+zhmCJK.tfm zhm1532.tfm
+zhmCJK.tfm zhm1533.tfm
+zhmCJK.tfm zhm1534.tfm
+zhmCJK.tfm zhm1535.tfm
+zhmCJK.tfm zhm1536.tfm
+zhmCJK.tfm zhm1537.tfm
+zhmCJK.tfm zhm1538.tfm
+zhmCJK.tfm zhm1539.tfm
+zhmCJK.tfm zhm153a.tfm
+zhmCJK.tfm zhm153b.tfm
+zhmCJK.tfm zhm153c.tfm
+zhmCJK.tfm zhm153d.tfm
+zhmCJK.tfm zhm153e.tfm
+zhmCJK.tfm zhm153f.tfm
+zhmCJK.tfm zhm1540.tfm
+zhmCJK.tfm zhm1541.tfm
+zhmCJK.tfm zhm1542.tfm
+zhmCJK.tfm zhm1543.tfm
+zhmCJK.tfm zhm1544.tfm
+zhmCJK.tfm zhm1545.tfm
+zhmCJK.tfm zhm1546.tfm
+zhmCJK.tfm zhm1547.tfm
+zhmCJK.tfm zhm1548.tfm
+zhmCJK.tfm zhm1549.tfm
+zhmCJK.tfm zhm154a.tfm
+zhmCJK.tfm zhm154b.tfm
+zhmCJK.tfm zhm154c.tfm
+zhmCJK.tfm zhm154d.tfm
+zhmCJK.tfm zhm154e.tfm
+zhmCJK.tfm zhm154f.tfm
+zhmCJK.tfm zhm1550.tfm
+zhmCJK.tfm zhm1551.tfm
+zhmCJK.tfm zhm1552.tfm
+zhmCJK.tfm zhm1553.tfm
+zhmCJK.tfm zhm1554.tfm
+zhmCJK.tfm zhm1555.tfm
+zhmCJK.tfm zhm1556.tfm
+zhmCJK.tfm zhm1557.tfm
+zhmCJK.tfm zhm1558.tfm
+zhmCJK.tfm zhm1559.tfm
+zhmCJK.tfm zhm155a.tfm
+zhmCJK.tfm zhm155b.tfm
+zhmCJK.tfm zhm155c.tfm
+zhmCJK.tfm zhm155d.tfm
+zhmCJK.tfm zhm155e.tfm
+zhmCJK.tfm zhm155f.tfm
+zhmCJK.tfm zhm1560.tfm
+zhmCJK.tfm zhm1561.tfm
+zhmCJK.tfm zhm1562.tfm
+zhmCJK.tfm zhm1563.tfm
+zhmCJK.tfm zhm1564.tfm
+zhmCJK.tfm zhm1565.tfm
+zhmCJK.tfm zhm1566.tfm
+zhmCJK.tfm zhm1567.tfm
+zhmCJK.tfm zhm1568.tfm
+zhmCJK.tfm zhm1569.tfm
+zhmCJK.tfm zhm156a.tfm
+zhmCJK.tfm zhm156b.tfm
+zhmCJK.tfm zhm156c.tfm
+zhmCJK.tfm zhm156d.tfm
+zhmCJK.tfm zhm156e.tfm
+zhmCJK.tfm zhm156f.tfm
+zhmCJK.tfm zhm1570.tfm
+zhmCJK.tfm zhm1571.tfm
+zhmCJK.tfm zhm1572.tfm
+zhmCJK.tfm zhm1573.tfm
+zhmCJK.tfm zhm1574.tfm
+zhmCJK.tfm zhm1575.tfm
+zhmCJK.tfm zhm1576.tfm
+zhmCJK.tfm zhm1577.tfm
+zhmCJK.tfm zhm1578.tfm
+zhmCJK.tfm zhm1579.tfm
+zhmCJK.tfm zhm157a.tfm
+zhmCJK.tfm zhm157b.tfm
+zhmCJK.tfm zhm157c.tfm
+zhmCJK.tfm zhm157d.tfm
+zhmCJK.tfm zhm157e.tfm
+zhmCJK.tfm zhm157f.tfm
+zhmCJK.tfm zhm1580.tfm
+zhmCJK.tfm zhm1581.tfm
+zhmCJK.tfm zhm1582.tfm
+zhmCJK.tfm zhm1583.tfm
+zhmCJK.tfm zhm1584.tfm
+zhmCJK.tfm zhm1585.tfm
+zhmCJK.tfm zhm1586.tfm
+zhmCJK.tfm zhm1587.tfm
+zhmCJK.tfm zhm1588.tfm
+zhmCJK.tfm zhm1589.tfm
+zhmCJK.tfm zhm158a.tfm
+zhmCJK.tfm zhm158b.tfm
+zhmCJK.tfm zhm158c.tfm
+zhmCJK.tfm zhm158d.tfm
+zhmCJK.tfm zhm158e.tfm
+zhmCJK.tfm zhm158f.tfm
+zhmCJK.tfm zhm1590.tfm
+zhmCJK.tfm zhm1591.tfm
+zhmCJK.tfm zhm1592.tfm
+zhmCJK.tfm zhm1593.tfm
+zhmCJK.tfm zhm1594.tfm
+zhmCJK.tfm zhm1595.tfm
+zhmCJK.tfm zhm1596.tfm
+zhmCJK.tfm zhm1597.tfm
+zhmCJK.tfm zhm1598.tfm
+zhmCJK.tfm zhm1599.tfm
+zhmCJK.tfm zhm159a.tfm
+zhmCJK.tfm zhm159b.tfm
+zhmCJK.tfm zhm159c.tfm
+zhmCJK.tfm zhm159d.tfm
+zhmCJK.tfm zhm159e.tfm
+zhmCJK.tfm zhm159f.tfm
+zhmCJK.tfm zhm15a0.tfm
+zhmCJK.tfm zhm15a1.tfm
+zhmCJK.tfm zhm15a2.tfm
+zhmCJK.tfm zhm15a3.tfm
+zhmCJK.tfm zhm15a4.tfm
+zhmCJK.tfm zhm15a5.tfm
+zhmCJK.tfm zhm15a6.tfm
+zhmCJK.tfm zhm15a7.tfm
+zhmCJK.tfm zhm15a8.tfm
+zhmCJK.tfm zhm15a9.tfm
+zhmCJK.tfm zhm15aa.tfm
+zhmCJK.tfm zhm15ab.tfm
+zhmCJK.tfm zhm15ac.tfm
+zhmCJK.tfm zhm15ad.tfm
+zhmCJK.tfm zhm15ae.tfm
+zhmCJK.tfm zhm15af.tfm
+zhmCJK.tfm zhm15b0.tfm
+zhmCJK.tfm zhm15b1.tfm
+zhmCJK.tfm zhm15b2.tfm
+zhmCJK.tfm zhm15b3.tfm
+zhmCJK.tfm zhm15b4.tfm
+zhmCJK.tfm zhm15b5.tfm
+zhmCJK.tfm zhm15b6.tfm
+zhmCJK.tfm zhm15b7.tfm
+zhmCJK.tfm zhm15b8.tfm
+zhmCJK.tfm zhm15b9.tfm
+zhmCJK.tfm zhm15ba.tfm
+zhmCJK.tfm zhm15bb.tfm
+zhmCJK.tfm zhm15bc.tfm
+zhmCJK.tfm zhm15bd.tfm
+zhmCJK.tfm zhm15be.tfm
+zhmCJK.tfm zhm15bf.tfm
+zhmCJK.tfm zhm15c0.tfm
+zhmCJK.tfm zhm15c1.tfm
+zhmCJK.tfm zhm15c2.tfm
+zhmCJK.tfm zhm15c3.tfm
+zhmCJK.tfm zhm15c4.tfm
+zhmCJK.tfm zhm15c5.tfm
+zhmCJK.tfm zhm15c6.tfm
+zhmCJK.tfm zhm15c7.tfm
+zhmCJK.tfm zhm15c8.tfm
+zhmCJK.tfm zhm15c9.tfm
+zhmCJK.tfm zhm15ca.tfm
+zhmCJK.tfm zhm15cb.tfm
+zhmCJK.tfm zhm15cc.tfm
+zhmCJK.tfm zhm15cd.tfm
+zhmCJK.tfm zhm15ce.tfm
+zhmCJK.tfm zhm15cf.tfm
+zhmCJK.tfm zhm15d0.tfm
+zhmCJK.tfm zhm15d1.tfm
+zhmCJK.tfm zhm15d2.tfm
+zhmCJK.tfm zhm15d3.tfm
+zhmCJK.tfm zhm15d4.tfm
+zhmCJK.tfm zhm15d5.tfm
+zhmCJK.tfm zhm15d6.tfm
+zhmCJK.tfm zhm15d7.tfm
+zhmCJK.tfm zhm15d8.tfm
+zhmCJK.tfm zhm15d9.tfm
+zhmCJK.tfm zhm15da.tfm
+zhmCJK.tfm zhm15db.tfm
+zhmCJK.tfm zhm15dc.tfm
+zhmCJK.tfm zhm15dd.tfm
+zhmCJK.tfm zhm15de.tfm
+zhmCJK.tfm zhm15df.tfm
+zhmCJK.tfm zhm15e0.tfm
+zhmCJK.tfm zhm15e1.tfm
+zhmCJK.tfm zhm15e2.tfm
+zhmCJK.tfm zhm15e3.tfm
+zhmCJK.tfm zhm15e4.tfm
+zhmCJK.tfm zhm15e5.tfm
+zhmCJK.tfm zhm15e6.tfm
+zhmCJK.tfm zhm15e7.tfm
+zhmCJK.tfm zhm15e8.tfm
+zhmCJK.tfm zhm15e9.tfm
+zhmCJK.tfm zhm15ea.tfm
+zhmCJK.tfm zhm15eb.tfm
+zhmCJK.tfm zhm15ec.tfm
+zhmCJK.tfm zhm15ed.tfm
+zhmCJK.tfm zhm15ee.tfm
+zhmCJK.tfm zhm15ef.tfm
+zhmCJK.tfm zhm15f0.tfm
+zhmCJK.tfm zhm15f1.tfm
+zhmCJK.tfm zhm15f2.tfm
+zhmCJK.tfm zhm15f3.tfm
+zhmCJK.tfm zhm15f4.tfm
+zhmCJK.tfm zhm15f5.tfm
+zhmCJK.tfm zhm15f6.tfm
+zhmCJK.tfm zhm15f7.tfm
+zhmCJK.tfm zhm15f8.tfm
+zhmCJK.tfm zhm15f9.tfm
+zhmCJK.tfm zhm15fa.tfm
+zhmCJK.tfm zhm15fb.tfm
+zhmCJK.tfm zhm15fc.tfm
+zhmCJK.tfm zhm15fd.tfm
+zhmCJK.tfm zhm15fe.tfm
+zhmCJK.tfm zhm15ff.tfm
+zhmCJK.tfm zhm1600.tfm
+zhmCJK.tfm zhm1601.tfm
+zhmCJK.tfm zhm1602.tfm
+zhmCJK.tfm zhm1603.tfm
+zhmCJK.tfm zhm1604.tfm
+zhmCJK.tfm zhm1605.tfm
+zhmCJK.tfm zhm1606.tfm
+zhmCJK.tfm zhm1607.tfm
+zhmCJK.tfm zhm1608.tfm
+zhmCJK.tfm zhm1609.tfm
+zhmCJK.tfm zhm160a.tfm
+zhmCJK.tfm zhm160b.tfm
+zhmCJK.tfm zhm160c.tfm
+zhmCJK.tfm zhm160d.tfm
+zhmCJK.tfm zhm160e.tfm
+zhmCJK.tfm zhm160f.tfm
+zhmCJK.tfm zhm1610.tfm
+zhmCJK.tfm zhm1611.tfm
+zhmCJK.tfm zhm1612.tfm
+zhmCJK.tfm zhm1613.tfm
+zhmCJK.tfm zhm1614.tfm
+zhmCJK.tfm zhm1615.tfm
+zhmCJK.tfm zhm1616.tfm
+zhmCJK.tfm zhm1617.tfm
+zhmCJK.tfm zhm1618.tfm
+zhmCJK.tfm zhm1619.tfm
+zhmCJK.tfm zhm161a.tfm
+zhmCJK.tfm zhm161b.tfm
+zhmCJK.tfm zhm161c.tfm
+zhmCJK.tfm zhm161d.tfm
+zhmCJK.tfm zhm161e.tfm
+zhmCJK.tfm zhm161f.tfm
+zhmCJK.tfm zhm1620.tfm
+zhmCJK.tfm zhm1621.tfm
+zhmCJK.tfm zhm1622.tfm
+zhmCJK.tfm zhm1623.tfm
+zhmCJK.tfm zhm1624.tfm
+zhmCJK.tfm zhm1625.tfm
+zhmCJK.tfm zhm1626.tfm
+zhmCJK.tfm zhm1627.tfm
+zhmCJK.tfm zhm1628.tfm
+zhmCJK.tfm zhm1629.tfm
+zhmCJK.tfm zhm162a.tfm
+zhmCJK.tfm zhm162b.tfm
+zhmCJK.tfm zhm162c.tfm
+zhmCJK.tfm zhm162d.tfm
+zhmCJK.tfm zhm162e.tfm
+zhmCJK.tfm zhm162f.tfm
+zhmCJK.tfm zhm1630.tfm
+zhmCJK.tfm zhm1631.tfm
+zhmCJK.tfm zhm1632.tfm
+zhmCJK.tfm zhm1633.tfm
+zhmCJK.tfm zhm1634.tfm
+zhmCJK.tfm zhm1635.tfm
+zhmCJK.tfm zhm1636.tfm
+zhmCJK.tfm zhm1637.tfm
+zhmCJK.tfm zhm1638.tfm
+zhmCJK.tfm zhm1639.tfm
+zhmCJK.tfm zhm163a.tfm
+zhmCJK.tfm zhm163b.tfm
+zhmCJK.tfm zhm163c.tfm
+zhmCJK.tfm zhm163d.tfm
+zhmCJK.tfm zhm163e.tfm
+zhmCJK.tfm zhm163f.tfm
+zhmCJK.tfm zhm1640.tfm
+zhmCJK.tfm zhm1641.tfm
+zhmCJK.tfm zhm1642.tfm
+zhmCJK.tfm zhm1643.tfm
+zhmCJK.tfm zhm1644.tfm
+zhmCJK.tfm zhm1645.tfm
+zhmCJK.tfm zhm1646.tfm
+zhmCJK.tfm zhm1647.tfm
+zhmCJK.tfm zhm1648.tfm
+zhmCJK.tfm zhm1649.tfm
+zhmCJK.tfm zhm164a.tfm
+zhmCJK.tfm zhm164b.tfm
+zhmCJK.tfm zhm164c.tfm
+zhmCJK.tfm zhm164d.tfm
+zhmCJK.tfm zhm164e.tfm
+zhmCJK.tfm zhm164f.tfm
+zhmCJK.tfm zhm1650.tfm
+zhmCJK.tfm zhm1651.tfm
+zhmCJK.tfm zhm1652.tfm
+zhmCJK.tfm zhm1653.tfm
+zhmCJK.tfm zhm1654.tfm
+zhmCJK.tfm zhm1655.tfm
+zhmCJK.tfm zhm1656.tfm
+zhmCJK.tfm zhm1657.tfm
+zhmCJK.tfm zhm1658.tfm
+zhmCJK.tfm zhm1659.tfm
+zhmCJK.tfm zhm165a.tfm
+zhmCJK.tfm zhm165b.tfm
+zhmCJK.tfm zhm165c.tfm
+zhmCJK.tfm zhm165d.tfm
+zhmCJK.tfm zhm165e.tfm
+zhmCJK.tfm zhm165f.tfm
+zhmCJK.tfm zhm1660.tfm
+zhmCJK.tfm zhm1661.tfm
+zhmCJK.tfm zhm1662.tfm
+zhmCJK.tfm zhm1663.tfm
+zhmCJK.tfm zhm1664.tfm
+zhmCJK.tfm zhm1665.tfm
+zhmCJK.tfm zhm1666.tfm
+zhmCJK.tfm zhm1667.tfm
+zhmCJK.tfm zhm1668.tfm
+zhmCJK.tfm zhm1669.tfm
+zhmCJK.tfm zhm166a.tfm
+zhmCJK.tfm zhm166b.tfm
+zhmCJK.tfm zhm166c.tfm
+zhmCJK.tfm zhm166d.tfm
+zhmCJK.tfm zhm166e.tfm
+zhmCJK.tfm zhm166f.tfm
+zhmCJK.tfm zhm1670.tfm
+zhmCJK.tfm zhm1671.tfm
+zhmCJK.tfm zhm1672.tfm
+zhmCJK.tfm zhm1673.tfm
+zhmCJK.tfm zhm1674.tfm
+zhmCJK.tfm zhm1675.tfm
+zhmCJK.tfm zhm1676.tfm
+zhmCJK.tfm zhm1677.tfm
+zhmCJK.tfm zhm1678.tfm
+zhmCJK.tfm zhm1679.tfm
+zhmCJK.tfm zhm167a.tfm
+zhmCJK.tfm zhm167b.tfm
+zhmCJK.tfm zhm167c.tfm
+zhmCJK.tfm zhm167d.tfm
+zhmCJK.tfm zhm167e.tfm
+zhmCJK.tfm zhm167f.tfm
+zhmCJK.tfm zhm1680.tfm
+zhmCJK.tfm zhm1681.tfm
+zhmCJK.tfm zhm1682.tfm
+zhmCJK.tfm zhm1683.tfm
+zhmCJK.tfm zhm1684.tfm
+zhmCJK.tfm zhm1685.tfm
+zhmCJK.tfm zhm1686.tfm
+zhmCJK.tfm zhm1687.tfm
+zhmCJK.tfm zhm1688.tfm
+zhmCJK.tfm zhm1689.tfm
+zhmCJK.tfm zhm168a.tfm
+zhmCJK.tfm zhm168b.tfm
+zhmCJK.tfm zhm168c.tfm
+zhmCJK.tfm zhm168d.tfm
+zhmCJK.tfm zhm168e.tfm
+zhmCJK.tfm zhm168f.tfm
+zhmCJK.tfm zhm1690.tfm
+zhmCJK.tfm zhm1691.tfm
+zhmCJK.tfm zhm1692.tfm
+zhmCJK.tfm zhm1693.tfm
+zhmCJK.tfm zhm1694.tfm
+zhmCJK.tfm zhm1695.tfm
+zhmCJK.tfm zhm1696.tfm
+zhmCJK.tfm zhm1697.tfm
+zhmCJK.tfm zhm1698.tfm
+zhmCJK.tfm zhm1699.tfm
+zhmCJK.tfm zhm169a.tfm
+zhmCJK.tfm zhm169b.tfm
+zhmCJK.tfm zhm169c.tfm
+zhmCJK.tfm zhm169d.tfm
+zhmCJK.tfm zhm169e.tfm
+zhmCJK.tfm zhm169f.tfm
+zhmCJK.tfm zhm16a0.tfm
+zhmCJK.tfm zhm16a1.tfm
+zhmCJK.tfm zhm16a2.tfm
+zhmCJK.tfm zhm16a3.tfm
+zhmCJK.tfm zhm16a4.tfm
+zhmCJK.tfm zhm16a5.tfm
+zhmCJK.tfm zhm16a6.tfm
+zhmCJK.tfm zhm16a7.tfm
+zhmCJK.tfm zhm16a8.tfm
+zhmCJK.tfm zhm16a9.tfm
+zhmCJK.tfm zhm16aa.tfm
+zhmCJK.tfm zhm16ab.tfm
+zhmCJK.tfm zhm16ac.tfm
+zhmCJK.tfm zhm16ad.tfm
+zhmCJK.tfm zhm16ae.tfm
+zhmCJK.tfm zhm16af.tfm
+zhmCJK.tfm zhm16b0.tfm
+zhmCJK.tfm zhm16b1.tfm
+zhmCJK.tfm zhm16b2.tfm
+zhmCJK.tfm zhm16b3.tfm
+zhmCJK.tfm zhm16b4.tfm
+zhmCJK.tfm zhm16b5.tfm
+zhmCJK.tfm zhm16b6.tfm
+zhmCJK.tfm zhm16b7.tfm
+zhmCJK.tfm zhm16b8.tfm
+zhmCJK.tfm zhm16b9.tfm
+zhmCJK.tfm zhm16ba.tfm
+zhmCJK.tfm zhm16bb.tfm
+zhmCJK.tfm zhm16bc.tfm
+zhmCJK.tfm zhm16bd.tfm
+zhmCJK.tfm zhm16be.tfm
+zhmCJK.tfm zhm16bf.tfm
+zhmCJK.tfm zhm16c0.tfm
+zhmCJK.tfm zhm16c1.tfm
+zhmCJK.tfm zhm16c2.tfm
+zhmCJK.tfm zhm16c3.tfm
+zhmCJK.tfm zhm16c4.tfm
+zhmCJK.tfm zhm16c5.tfm
+zhmCJK.tfm zhm16c6.tfm
+zhmCJK.tfm zhm16c7.tfm
+zhmCJK.tfm zhm16c8.tfm
+zhmCJK.tfm zhm16c9.tfm
+zhmCJK.tfm zhm16ca.tfm
+zhmCJK.tfm zhm16cb.tfm
+zhmCJK.tfm zhm16cc.tfm
+zhmCJK.tfm zhm16cd.tfm
+zhmCJK.tfm zhm16ce.tfm
+zhmCJK.tfm zhm16cf.tfm
+zhmCJK.tfm zhm16d0.tfm
+zhmCJK.tfm zhm16d1.tfm
+zhmCJK.tfm zhm16d2.tfm
+zhmCJK.tfm zhm16d3.tfm
+zhmCJK.tfm zhm16d4.tfm
+zhmCJK.tfm zhm16d5.tfm
+zhmCJK.tfm zhm16d6.tfm
+zhmCJK.tfm zhm16d7.tfm
+zhmCJK.tfm zhm16d8.tfm
+zhmCJK.tfm zhm16d9.tfm
+zhmCJK.tfm zhm16da.tfm
+zhmCJK.tfm zhm16db.tfm
+zhmCJK.tfm zhm16dc.tfm
+zhmCJK.tfm zhm16dd.tfm
+zhmCJK.tfm zhm16de.tfm
+zhmCJK.tfm zhm16df.tfm
+zhmCJK.tfm zhm16e0.tfm
+zhmCJK.tfm zhm16e1.tfm
+zhmCJK.tfm zhm16e2.tfm
+zhmCJK.tfm zhm16e3.tfm
+zhmCJK.tfm zhm16e4.tfm
+zhmCJK.tfm zhm16e5.tfm
+zhmCJK.tfm zhm16e6.tfm
+zhmCJK.tfm zhm16e7.tfm
+zhmCJK.tfm zhm16e8.tfm
+zhmCJK.tfm zhm16e9.tfm
+zhmCJK.tfm zhm16ea.tfm
+zhmCJK.tfm zhm16eb.tfm
+zhmCJK.tfm zhm16ec.tfm
+zhmCJK.tfm zhm16ed.tfm
+zhmCJK.tfm zhm16ee.tfm
+zhmCJK.tfm zhm16ef.tfm
+zhmCJK.tfm zhm16f0.tfm
+zhmCJK.tfm zhm16f1.tfm
+zhmCJK.tfm zhm16f2.tfm
+zhmCJK.tfm zhm16f3.tfm
+zhmCJK.tfm zhm16f4.tfm
+zhmCJK.tfm zhm16f5.tfm
+zhmCJK.tfm zhm16f6.tfm
+zhmCJK.tfm zhm16f7.tfm
+zhmCJK.tfm zhm16f8.tfm
+zhmCJK.tfm zhm16f9.tfm
+zhmCJK.tfm zhm16fa.tfm
+zhmCJK.tfm zhm16fb.tfm
+zhmCJK.tfm zhm16fc.tfm
+zhmCJK.tfm zhm16fd.tfm
+zhmCJK.tfm zhm16fe.tfm
+zhmCJK.tfm zhm16ff.tfm
+zhmCJK.tfm zhm1700.tfm
+zhmCJK.tfm zhm1701.tfm
+zhmCJK.tfm zhm1702.tfm
+zhmCJK.tfm zhm1703.tfm
+zhmCJK.tfm zhm1704.tfm
+zhmCJK.tfm zhm1705.tfm
+zhmCJK.tfm zhm1706.tfm
+zhmCJK.tfm zhm1707.tfm
+zhmCJK.tfm zhm1708.tfm
+zhmCJK.tfm zhm1709.tfm
+zhmCJK.tfm zhm170a.tfm
+zhmCJK.tfm zhm170b.tfm
+zhmCJK.tfm zhm170c.tfm
+zhmCJK.tfm zhm170d.tfm
+zhmCJK.tfm zhm170e.tfm
+zhmCJK.tfm zhm170f.tfm
+zhmCJK.tfm zhm1710.tfm
+zhmCJK.tfm zhm1711.tfm
+zhmCJK.tfm zhm1712.tfm
+zhmCJK.tfm zhm1713.tfm
+zhmCJK.tfm zhm1714.tfm
+zhmCJK.tfm zhm1715.tfm
+zhmCJK.tfm zhm1716.tfm
+zhmCJK.tfm zhm1717.tfm
+zhmCJK.tfm zhm1718.tfm
+zhmCJK.tfm zhm1719.tfm
+zhmCJK.tfm zhm171a.tfm
+zhmCJK.tfm zhm171b.tfm
+zhmCJK.tfm zhm171c.tfm
+zhmCJK.tfm zhm171d.tfm
+zhmCJK.tfm zhm171e.tfm
+zhmCJK.tfm zhm171f.tfm
+zhmCJK.tfm zhm1720.tfm
+zhmCJK.tfm zhm1721.tfm
+zhmCJK.tfm zhm1722.tfm
+zhmCJK.tfm zhm1723.tfm
+zhmCJK.tfm zhm1724.tfm
+zhmCJK.tfm zhm1725.tfm
+zhmCJK.tfm zhm1726.tfm
+zhmCJK.tfm zhm1727.tfm
+zhmCJK.tfm zhm1728.tfm
+zhmCJK.tfm zhm1729.tfm
+zhmCJK.tfm zhm172a.tfm
+zhmCJK.tfm zhm172b.tfm
+zhmCJK.tfm zhm172c.tfm
+zhmCJK.tfm zhm172d.tfm
+zhmCJK.tfm zhm172e.tfm
+zhmCJK.tfm zhm172f.tfm
+zhmCJK.tfm zhm1730.tfm
+zhmCJK.tfm zhm1731.tfm
+zhmCJK.tfm zhm1732.tfm
+zhmCJK.tfm zhm1733.tfm
+zhmCJK.tfm zhm1734.tfm
+zhmCJK.tfm zhm1735.tfm
+zhmCJK.tfm zhm1736.tfm
+zhmCJK.tfm zhm1737.tfm
+zhmCJK.tfm zhm1738.tfm
+zhmCJK.tfm zhm1739.tfm
+zhmCJK.tfm zhm173a.tfm
+zhmCJK.tfm zhm173b.tfm
+zhmCJK.tfm zhm173c.tfm
+zhmCJK.tfm zhm173d.tfm
+zhmCJK.tfm zhm173e.tfm
+zhmCJK.tfm zhm173f.tfm
+zhmCJK.tfm zhm1740.tfm
+zhmCJK.tfm zhm1741.tfm
+zhmCJK.tfm zhm1742.tfm
+zhmCJK.tfm zhm1743.tfm
+zhmCJK.tfm zhm1744.tfm
+zhmCJK.tfm zhm1745.tfm
+zhmCJK.tfm zhm1746.tfm
+zhmCJK.tfm zhm1747.tfm
+zhmCJK.tfm zhm1748.tfm
+zhmCJK.tfm zhm1749.tfm
+zhmCJK.tfm zhm174a.tfm
+zhmCJK.tfm zhm174b.tfm
+zhmCJK.tfm zhm174c.tfm
+zhmCJK.tfm zhm174d.tfm
+zhmCJK.tfm zhm174e.tfm
+zhmCJK.tfm zhm174f.tfm
+zhmCJK.tfm zhm1750.tfm
+zhmCJK.tfm zhm1751.tfm
+zhmCJK.tfm zhm1752.tfm
+zhmCJK.tfm zhm1753.tfm
+zhmCJK.tfm zhm1754.tfm
+zhmCJK.tfm zhm1755.tfm
+zhmCJK.tfm zhm1756.tfm
+zhmCJK.tfm zhm1757.tfm
+zhmCJK.tfm zhm1758.tfm
+zhmCJK.tfm zhm1759.tfm
+zhmCJK.tfm zhm175a.tfm
+zhmCJK.tfm zhm175b.tfm
+zhmCJK.tfm zhm175c.tfm
+zhmCJK.tfm zhm175d.tfm
+zhmCJK.tfm zhm175e.tfm
+zhmCJK.tfm zhm175f.tfm
+zhmCJK.tfm zhm1760.tfm
+zhmCJK.tfm zhm1761.tfm
+zhmCJK.tfm zhm1762.tfm
+zhmCJK.tfm zhm1763.tfm
+zhmCJK.tfm zhm1764.tfm
+zhmCJK.tfm zhm1765.tfm
+zhmCJK.tfm zhm1766.tfm
+zhmCJK.tfm zhm1767.tfm
+zhmCJK.tfm zhm1768.tfm
+zhmCJK.tfm zhm1769.tfm
+zhmCJK.tfm zhm176a.tfm
+zhmCJK.tfm zhm176b.tfm
+zhmCJK.tfm zhm176c.tfm
+zhmCJK.tfm zhm176d.tfm
+zhmCJK.tfm zhm176e.tfm
+zhmCJK.tfm zhm176f.tfm
+zhmCJK.tfm zhm1770.tfm
+zhmCJK.tfm zhm1771.tfm
+zhmCJK.tfm zhm1772.tfm
+zhmCJK.tfm zhm1773.tfm
+zhmCJK.tfm zhm1774.tfm
+zhmCJK.tfm zhm1775.tfm
+zhmCJK.tfm zhm1776.tfm
+zhmCJK.tfm zhm1777.tfm
+zhmCJK.tfm zhm1778.tfm
+zhmCJK.tfm zhm1779.tfm
+zhmCJK.tfm zhm177a.tfm
+zhmCJK.tfm zhm177b.tfm
+zhmCJK.tfm zhm177c.tfm
+zhmCJK.tfm zhm177d.tfm
+zhmCJK.tfm zhm177e.tfm
+zhmCJK.tfm zhm177f.tfm
+zhmCJK.tfm zhm1780.tfm
+zhmCJK.tfm zhm1781.tfm
+zhmCJK.tfm zhm1782.tfm
+zhmCJK.tfm zhm1783.tfm
+zhmCJK.tfm zhm1784.tfm
+zhmCJK.tfm zhm1785.tfm
+zhmCJK.tfm zhm1786.tfm
+zhmCJK.tfm zhm1787.tfm
+zhmCJK.tfm zhm1788.tfm
+zhmCJK.tfm zhm1789.tfm
+zhmCJK.tfm zhm178a.tfm
+zhmCJK.tfm zhm178b.tfm
+zhmCJK.tfm zhm178c.tfm
+zhmCJK.tfm zhm178d.tfm
+zhmCJK.tfm zhm178e.tfm
+zhmCJK.tfm zhm178f.tfm
+zhmCJK.tfm zhm1790.tfm
+zhmCJK.tfm zhm1791.tfm
+zhmCJK.tfm zhm1792.tfm
+zhmCJK.tfm zhm1793.tfm
+zhmCJK.tfm zhm1794.tfm
+zhmCJK.tfm zhm1795.tfm
+zhmCJK.tfm zhm1796.tfm
+zhmCJK.tfm zhm1797.tfm
+zhmCJK.tfm zhm1798.tfm
+zhmCJK.tfm zhm1799.tfm
+zhmCJK.tfm zhm179a.tfm
+zhmCJK.tfm zhm179b.tfm
+zhmCJK.tfm zhm179c.tfm
+zhmCJK.tfm zhm179d.tfm
+zhmCJK.tfm zhm179e.tfm
+zhmCJK.tfm zhm179f.tfm
+zhmCJK.tfm zhm17a0.tfm
+zhmCJK.tfm zhm17a1.tfm
+zhmCJK.tfm zhm17a2.tfm
+zhmCJK.tfm zhm17a3.tfm
+zhmCJK.tfm zhm17a4.tfm
+zhmCJK.tfm zhm17a5.tfm
+zhmCJK.tfm zhm17a6.tfm
+zhmCJK.tfm zhm17a7.tfm
+zhmCJK.tfm zhm17a8.tfm
+zhmCJK.tfm zhm17a9.tfm
+zhmCJK.tfm zhm17aa.tfm
+zhmCJK.tfm zhm17ab.tfm
+zhmCJK.tfm zhm17ac.tfm
+zhmCJK.tfm zhm17ad.tfm
+zhmCJK.tfm zhm17ae.tfm
+zhmCJK.tfm zhm17af.tfm
+zhmCJK.tfm zhm17b0.tfm
+zhmCJK.tfm zhm17b1.tfm
+zhmCJK.tfm zhm17b2.tfm
+zhmCJK.tfm zhm17b3.tfm
+zhmCJK.tfm zhm17b4.tfm
+zhmCJK.tfm zhm17b5.tfm
+zhmCJK.tfm zhm17b6.tfm
+zhmCJK.tfm zhm17b7.tfm
+zhmCJK.tfm zhm17b8.tfm
+zhmCJK.tfm zhm17b9.tfm
+zhmCJK.tfm zhm17ba.tfm
+zhmCJK.tfm zhm17bb.tfm
+zhmCJK.tfm zhm17bc.tfm
+zhmCJK.tfm zhm17bd.tfm
+zhmCJK.tfm zhm17be.tfm
+zhmCJK.tfm zhm17bf.tfm
+zhmCJK.tfm zhm17c0.tfm
+zhmCJK.tfm zhm17c1.tfm
+zhmCJK.tfm zhm17c2.tfm
+zhmCJK.tfm zhm17c3.tfm
+zhmCJK.tfm zhm17c4.tfm
+zhmCJK.tfm zhm17c5.tfm
+zhmCJK.tfm zhm17c6.tfm
+zhmCJK.tfm zhm17c7.tfm
+zhmCJK.tfm zhm17c8.tfm
+zhmCJK.tfm zhm17c9.tfm
+zhmCJK.tfm zhm17ca.tfm
+zhmCJK.tfm zhm17cb.tfm
+zhmCJK.tfm zhm17cc.tfm
+zhmCJK.tfm zhm17cd.tfm
+zhmCJK.tfm zhm17ce.tfm
+zhmCJK.tfm zhm17cf.tfm
+zhmCJK.tfm zhm17d0.tfm
+zhmCJK.tfm zhm17d1.tfm
+zhmCJK.tfm zhm17d2.tfm
+zhmCJK.tfm zhm17d3.tfm
+zhmCJK.tfm zhm17d4.tfm
+zhmCJK.tfm zhm17d5.tfm
+zhmCJK.tfm zhm17d6.tfm
+zhmCJK.tfm zhm17d7.tfm
+zhmCJK.tfm zhm17d8.tfm
+zhmCJK.tfm zhm17d9.tfm
+zhmCJK.tfm zhm17da.tfm
+zhmCJK.tfm zhm17db.tfm
+zhmCJK.tfm zhm17dc.tfm
+zhmCJK.tfm zhm17dd.tfm
+zhmCJK.tfm zhm17de.tfm
+zhmCJK.tfm zhm17df.tfm
+zhmCJK.tfm zhm17e0.tfm
+zhmCJK.tfm zhm17e1.tfm
+zhmCJK.tfm zhm17e2.tfm
+zhmCJK.tfm zhm17e3.tfm
+zhmCJK.tfm zhm17e4.tfm
+zhmCJK.tfm zhm17e5.tfm
+zhmCJK.tfm zhm17e6.tfm
+zhmCJK.tfm zhm17e7.tfm
+zhmCJK.tfm zhm17e8.tfm
+zhmCJK.tfm zhm17e9.tfm
+zhmCJK.tfm zhm17ea.tfm
+zhmCJK.tfm zhm17eb.tfm
+zhmCJK.tfm zhm17ec.tfm
+zhmCJK.tfm zhm17ed.tfm
+zhmCJK.tfm zhm17ee.tfm
+zhmCJK.tfm zhm17ef.tfm
+zhmCJK.tfm zhm17f0.tfm
+zhmCJK.tfm zhm17f1.tfm
+zhmCJK.tfm zhm17f2.tfm
+zhmCJK.tfm zhm17f3.tfm
+zhmCJK.tfm zhm17f4.tfm
+zhmCJK.tfm zhm17f5.tfm
+zhmCJK.tfm zhm17f6.tfm
+zhmCJK.tfm zhm17f7.tfm
+zhmCJK.tfm zhm17f8.tfm
+zhmCJK.tfm zhm17f9.tfm
+zhmCJK.tfm zhm17fa.tfm
+zhmCJK.tfm zhm17fb.tfm
+zhmCJK.tfm zhm17fc.tfm
+zhmCJK.tfm zhm17fd.tfm
+zhmCJK.tfm zhm17fe.tfm
+zhmCJK.tfm zhm17ff.tfm
+zhmCJK.tfm zhm1800.tfm
+zhmCJK.tfm zhm1801.tfm
+zhmCJK.tfm zhm1802.tfm
+zhmCJK.tfm zhm1803.tfm
+zhmCJK.tfm zhm1804.tfm
+zhmCJK.tfm zhm1805.tfm
+zhmCJK.tfm zhm1806.tfm
+zhmCJK.tfm zhm1807.tfm
+zhmCJK.tfm zhm1808.tfm
+zhmCJK.tfm zhm1809.tfm
+zhmCJK.tfm zhm180a.tfm
+zhmCJK.tfm zhm180b.tfm
+zhmCJK.tfm zhm180c.tfm
+zhmCJK.tfm zhm180d.tfm
+zhmCJK.tfm zhm180e.tfm
+zhmCJK.tfm zhm180f.tfm
+zhmCJK.tfm zhm1810.tfm
+zhmCJK.tfm zhm1811.tfm
+zhmCJK.tfm zhm1812.tfm
+zhmCJK.tfm zhm1813.tfm
+zhmCJK.tfm zhm1814.tfm
+zhmCJK.tfm zhm1815.tfm
+zhmCJK.tfm zhm1816.tfm
+zhmCJK.tfm zhm1817.tfm
+zhmCJK.tfm zhm1818.tfm
+zhmCJK.tfm zhm1819.tfm
+zhmCJK.tfm zhm181a.tfm
+zhmCJK.tfm zhm181b.tfm
+zhmCJK.tfm zhm181c.tfm
+zhmCJK.tfm zhm181d.tfm
+zhmCJK.tfm zhm181e.tfm
+zhmCJK.tfm zhm181f.tfm
+zhmCJK.tfm zhm1820.tfm
+zhmCJK.tfm zhm1821.tfm
+zhmCJK.tfm zhm1822.tfm
+zhmCJK.tfm zhm1823.tfm
+zhmCJK.tfm zhm1824.tfm
+zhmCJK.tfm zhm1825.tfm
+zhmCJK.tfm zhm1826.tfm
+zhmCJK.tfm zhm1827.tfm
+zhmCJK.tfm zhm1828.tfm
+zhmCJK.tfm zhm1829.tfm
+zhmCJK.tfm zhm182a.tfm
+zhmCJK.tfm zhm182b.tfm
+zhmCJK.tfm zhm182c.tfm
+zhmCJK.tfm zhm182d.tfm
+zhmCJK.tfm zhm182e.tfm
+zhmCJK.tfm zhm182f.tfm
+zhmCJK.tfm zhm1830.tfm
+zhmCJK.tfm zhm1831.tfm
+zhmCJK.tfm zhm1832.tfm
+zhmCJK.tfm zhm1833.tfm
+zhmCJK.tfm zhm1834.tfm
+zhmCJK.tfm zhm1835.tfm
+zhmCJK.tfm zhm1836.tfm
+zhmCJK.tfm zhm1837.tfm
+zhmCJK.tfm zhm1838.tfm
+zhmCJK.tfm zhm1839.tfm
+zhmCJK.tfm zhm183a.tfm
+zhmCJK.tfm zhm183b.tfm
+zhmCJK.tfm zhm183c.tfm
+zhmCJK.tfm zhm183d.tfm
+zhmCJK.tfm zhm183e.tfm
+zhmCJK.tfm zhm183f.tfm
+zhmCJK.tfm zhm1840.tfm
+zhmCJK.tfm zhm1841.tfm
+zhmCJK.tfm zhm1842.tfm
+zhmCJK.tfm zhm1843.tfm
+zhmCJK.tfm zhm1844.tfm
+zhmCJK.tfm zhm1845.tfm
+zhmCJK.tfm zhm1846.tfm
+zhmCJK.tfm zhm1847.tfm
+zhmCJK.tfm zhm1848.tfm
+zhmCJK.tfm zhm1849.tfm
+zhmCJK.tfm zhm184a.tfm
+zhmCJK.tfm zhm184b.tfm
+zhmCJK.tfm zhm184c.tfm
+zhmCJK.tfm zhm184d.tfm
+zhmCJK.tfm zhm184e.tfm
+zhmCJK.tfm zhm184f.tfm
+zhmCJK.tfm zhm1850.tfm
+zhmCJK.tfm zhm1851.tfm
+zhmCJK.tfm zhm1852.tfm
+zhmCJK.tfm zhm1853.tfm
+zhmCJK.tfm zhm1854.tfm
+zhmCJK.tfm zhm1855.tfm
+zhmCJK.tfm zhm1856.tfm
+zhmCJK.tfm zhm1857.tfm
+zhmCJK.tfm zhm1858.tfm
+zhmCJK.tfm zhm1859.tfm
+zhmCJK.tfm zhm185a.tfm
+zhmCJK.tfm zhm185b.tfm
+zhmCJK.tfm zhm185c.tfm
+zhmCJK.tfm zhm185d.tfm
+zhmCJK.tfm zhm185e.tfm
+zhmCJK.tfm zhm185f.tfm
+zhmCJK.tfm zhm1860.tfm
+zhmCJK.tfm zhm1861.tfm
+zhmCJK.tfm zhm1862.tfm
+zhmCJK.tfm zhm1863.tfm
+zhmCJK.tfm zhm1864.tfm
+zhmCJK.tfm zhm1865.tfm
+zhmCJK.tfm zhm1866.tfm
+zhmCJK.tfm zhm1867.tfm
+zhmCJK.tfm zhm1868.tfm
+zhmCJK.tfm zhm1869.tfm
+zhmCJK.tfm zhm186a.tfm
+zhmCJK.tfm zhm186b.tfm
+zhmCJK.tfm zhm186c.tfm
+zhmCJK.tfm zhm186d.tfm
+zhmCJK.tfm zhm186e.tfm
+zhmCJK.tfm zhm186f.tfm
+zhmCJK.tfm zhm1870.tfm
+zhmCJK.tfm zhm1871.tfm
+zhmCJK.tfm zhm1872.tfm
+zhmCJK.tfm zhm1873.tfm
+zhmCJK.tfm zhm1874.tfm
+zhmCJK.tfm zhm1875.tfm
+zhmCJK.tfm zhm1876.tfm
+zhmCJK.tfm zhm1877.tfm
+zhmCJK.tfm zhm1878.tfm
+zhmCJK.tfm zhm1879.tfm
+zhmCJK.tfm zhm187a.tfm
+zhmCJK.tfm zhm187b.tfm
+zhmCJK.tfm zhm187c.tfm
+zhmCJK.tfm zhm187d.tfm
+zhmCJK.tfm zhm187e.tfm
+zhmCJK.tfm zhm187f.tfm
+zhmCJK.tfm zhm1880.tfm
+zhmCJK.tfm zhm1881.tfm
+zhmCJK.tfm zhm1882.tfm
+zhmCJK.tfm zhm1883.tfm
+zhmCJK.tfm zhm1884.tfm
+zhmCJK.tfm zhm1885.tfm
+zhmCJK.tfm zhm1886.tfm
+zhmCJK.tfm zhm1887.tfm
+zhmCJK.tfm zhm1888.tfm
+zhmCJK.tfm zhm1889.tfm
+zhmCJK.tfm zhm188a.tfm
+zhmCJK.tfm zhm188b.tfm
+zhmCJK.tfm zhm188c.tfm
+zhmCJK.tfm zhm188d.tfm
+zhmCJK.tfm zhm188e.tfm
+zhmCJK.tfm zhm188f.tfm
+zhmCJK.tfm zhm1890.tfm
+zhmCJK.tfm zhm1891.tfm
+zhmCJK.tfm zhm1892.tfm
+zhmCJK.tfm zhm1893.tfm
+zhmCJK.tfm zhm1894.tfm
+zhmCJK.tfm zhm1895.tfm
+zhmCJK.tfm zhm1896.tfm
+zhmCJK.tfm zhm1897.tfm
+zhmCJK.tfm zhm1898.tfm
+zhmCJK.tfm zhm1899.tfm
+zhmCJK.tfm zhm189a.tfm
+zhmCJK.tfm zhm189b.tfm
+zhmCJK.tfm zhm189c.tfm
+zhmCJK.tfm zhm189d.tfm
+zhmCJK.tfm zhm189e.tfm
+zhmCJK.tfm zhm189f.tfm
+zhmCJK.tfm zhm18a0.tfm
+zhmCJK.tfm zhm18a1.tfm
+zhmCJK.tfm zhm18a2.tfm
+zhmCJK.tfm zhm18a3.tfm
+zhmCJK.tfm zhm18a4.tfm
+zhmCJK.tfm zhm18a5.tfm
+zhmCJK.tfm zhm18a6.tfm
+zhmCJK.tfm zhm18a7.tfm
+zhmCJK.tfm zhm18a8.tfm
+zhmCJK.tfm zhm18a9.tfm
+zhmCJK.tfm zhm18aa.tfm
+zhmCJK.tfm zhm18ab.tfm
+zhmCJK.tfm zhm18ac.tfm
+zhmCJK.tfm zhm18ad.tfm
+zhmCJK.tfm zhm18ae.tfm
+zhmCJK.tfm zhm18af.tfm
+zhmCJK.tfm zhm18b0.tfm
+zhmCJK.tfm zhm18b1.tfm
+zhmCJK.tfm zhm18b2.tfm
+zhmCJK.tfm zhm18b3.tfm
+zhmCJK.tfm zhm18b4.tfm
+zhmCJK.tfm zhm18b5.tfm
+zhmCJK.tfm zhm18b6.tfm
+zhmCJK.tfm zhm18b7.tfm
+zhmCJK.tfm zhm18b8.tfm
+zhmCJK.tfm zhm18b9.tfm
+zhmCJK.tfm zhm18ba.tfm
+zhmCJK.tfm zhm18bb.tfm
+zhmCJK.tfm zhm18bc.tfm
+zhmCJK.tfm zhm18bd.tfm
+zhmCJK.tfm zhm18be.tfm
+zhmCJK.tfm zhm18bf.tfm
+zhmCJK.tfm zhm18c0.tfm
+zhmCJK.tfm zhm18c1.tfm
+zhmCJK.tfm zhm18c2.tfm
+zhmCJK.tfm zhm18c3.tfm
+zhmCJK.tfm zhm18c4.tfm
+zhmCJK.tfm zhm18c5.tfm
+zhmCJK.tfm zhm18c6.tfm
+zhmCJK.tfm zhm18c7.tfm
+zhmCJK.tfm zhm18c8.tfm
+zhmCJK.tfm zhm18c9.tfm
+zhmCJK.tfm zhm18ca.tfm
+zhmCJK.tfm zhm18cb.tfm
+zhmCJK.tfm zhm18cc.tfm
+zhmCJK.tfm zhm18cd.tfm
+zhmCJK.tfm zhm18ce.tfm
+zhmCJK.tfm zhm18cf.tfm
+zhmCJK.tfm zhm18d0.tfm
+zhmCJK.tfm zhm18d1.tfm
+zhmCJK.tfm zhm18d2.tfm
+zhmCJK.tfm zhm18d3.tfm
+zhmCJK.tfm zhm18d4.tfm
+zhmCJK.tfm zhm18d5.tfm
+zhmCJK.tfm zhm18d6.tfm
+zhmCJK.tfm zhm18d7.tfm
+zhmCJK.tfm zhm18d8.tfm
+zhmCJK.tfm zhm18d9.tfm
+zhmCJK.tfm zhm18da.tfm
+zhmCJK.tfm zhm18db.tfm
+zhmCJK.tfm zhm18dc.tfm
+zhmCJK.tfm zhm18dd.tfm
+zhmCJK.tfm zhm18de.tfm
+zhmCJK.tfm zhm18df.tfm
+zhmCJK.tfm zhm18e0.tfm
+zhmCJK.tfm zhm18e1.tfm
+zhmCJK.tfm zhm18e2.tfm
+zhmCJK.tfm zhm18e3.tfm
+zhmCJK.tfm zhm18e4.tfm
+zhmCJK.tfm zhm18e5.tfm
+zhmCJK.tfm zhm18e6.tfm
+zhmCJK.tfm zhm18e7.tfm
+zhmCJK.tfm zhm18e8.tfm
+zhmCJK.tfm zhm18e9.tfm
+zhmCJK.tfm zhm18ea.tfm
+zhmCJK.tfm zhm18eb.tfm
+zhmCJK.tfm zhm18ec.tfm
+zhmCJK.tfm zhm18ed.tfm
+zhmCJK.tfm zhm18ee.tfm
+zhmCJK.tfm zhm18ef.tfm
+zhmCJK.tfm zhm18f0.tfm
+zhmCJK.tfm zhm18f1.tfm
+zhmCJK.tfm zhm18f2.tfm
+zhmCJK.tfm zhm18f3.tfm
+zhmCJK.tfm zhm18f4.tfm
+zhmCJK.tfm zhm18f5.tfm
+zhmCJK.tfm zhm18f6.tfm
+zhmCJK.tfm zhm18f7.tfm
+zhmCJK.tfm zhm18f8.tfm
+zhmCJK.tfm zhm18f9.tfm
+zhmCJK.tfm zhm18fa.tfm
+zhmCJK.tfm zhm18fb.tfm
+zhmCJK.tfm zhm18fc.tfm
+zhmCJK.tfm zhm18fd.tfm
+zhmCJK.tfm zhm18fe.tfm
+zhmCJK.tfm zhm18ff.tfm
+zhmCJK.tfm zhm1900.tfm
+zhmCJK.tfm zhm1901.tfm
+zhmCJK.tfm zhm1902.tfm
+zhmCJK.tfm zhm1903.tfm
+zhmCJK.tfm zhm1904.tfm
+zhmCJK.tfm zhm1905.tfm
+zhmCJK.tfm zhm1906.tfm
+zhmCJK.tfm zhm1907.tfm
+zhmCJK.tfm zhm1908.tfm
+zhmCJK.tfm zhm1909.tfm
+zhmCJK.tfm zhm190a.tfm
+zhmCJK.tfm zhm190b.tfm
+zhmCJK.tfm zhm190c.tfm
+zhmCJK.tfm zhm190d.tfm
+zhmCJK.tfm zhm190e.tfm
+zhmCJK.tfm zhm190f.tfm
+zhmCJK.tfm zhm1910.tfm
+zhmCJK.tfm zhm1911.tfm
+zhmCJK.tfm zhm1912.tfm
+zhmCJK.tfm zhm1913.tfm
+zhmCJK.tfm zhm1914.tfm
+zhmCJK.tfm zhm1915.tfm
+zhmCJK.tfm zhm1916.tfm
+zhmCJK.tfm zhm1917.tfm
+zhmCJK.tfm zhm1918.tfm
+zhmCJK.tfm zhm1919.tfm
+zhmCJK.tfm zhm191a.tfm
+zhmCJK.tfm zhm191b.tfm
+zhmCJK.tfm zhm191c.tfm
+zhmCJK.tfm zhm191d.tfm
+zhmCJK.tfm zhm191e.tfm
+zhmCJK.tfm zhm191f.tfm
+zhmCJK.tfm zhm1920.tfm
+zhmCJK.tfm zhm1921.tfm
+zhmCJK.tfm zhm1922.tfm
+zhmCJK.tfm zhm1923.tfm
+zhmCJK.tfm zhm1924.tfm
+zhmCJK.tfm zhm1925.tfm
+zhmCJK.tfm zhm1926.tfm
+zhmCJK.tfm zhm1927.tfm
+zhmCJK.tfm zhm1928.tfm
+zhmCJK.tfm zhm1929.tfm
+zhmCJK.tfm zhm192a.tfm
+zhmCJK.tfm zhm192b.tfm
+zhmCJK.tfm zhm192c.tfm
+zhmCJK.tfm zhm192d.tfm
+zhmCJK.tfm zhm192e.tfm
+zhmCJK.tfm zhm192f.tfm
+zhmCJK.tfm zhm1930.tfm
+zhmCJK.tfm zhm1931.tfm
+zhmCJK.tfm zhm1932.tfm
+zhmCJK.tfm zhm1933.tfm
+zhmCJK.tfm zhm1934.tfm
+zhmCJK.tfm zhm1935.tfm
+zhmCJK.tfm zhm1936.tfm
+zhmCJK.tfm zhm1937.tfm
+zhmCJK.tfm zhm1938.tfm
+zhmCJK.tfm zhm1939.tfm
+zhmCJK.tfm zhm193a.tfm
+zhmCJK.tfm zhm193b.tfm
+zhmCJK.tfm zhm193c.tfm
+zhmCJK.tfm zhm193d.tfm
+zhmCJK.tfm zhm193e.tfm
+zhmCJK.tfm zhm193f.tfm
+zhmCJK.tfm zhm1940.tfm
+zhmCJK.tfm zhm1941.tfm
+zhmCJK.tfm zhm1942.tfm
+zhmCJK.tfm zhm1943.tfm
+zhmCJK.tfm zhm1944.tfm
+zhmCJK.tfm zhm1945.tfm
+zhmCJK.tfm zhm1946.tfm
+zhmCJK.tfm zhm1947.tfm
+zhmCJK.tfm zhm1948.tfm
+zhmCJK.tfm zhm1949.tfm
+zhmCJK.tfm zhm194a.tfm
+zhmCJK.tfm zhm194b.tfm
+zhmCJK.tfm zhm194c.tfm
+zhmCJK.tfm zhm194d.tfm
+zhmCJK.tfm zhm194e.tfm
+zhmCJK.tfm zhm194f.tfm
+zhmCJK.tfm zhm1950.tfm
+zhmCJK.tfm zhm1951.tfm
+zhmCJK.tfm zhm1952.tfm
+zhmCJK.tfm zhm1953.tfm
+zhmCJK.tfm zhm1954.tfm
+zhmCJK.tfm zhm1955.tfm
+zhmCJK.tfm zhm1956.tfm
+zhmCJK.tfm zhm1957.tfm
+zhmCJK.tfm zhm1958.tfm
+zhmCJK.tfm zhm1959.tfm
+zhmCJK.tfm zhm195a.tfm
+zhmCJK.tfm zhm195b.tfm
+zhmCJK.tfm zhm195c.tfm
+zhmCJK.tfm zhm195d.tfm
+zhmCJK.tfm zhm195e.tfm
+zhmCJK.tfm zhm195f.tfm
+zhmCJK.tfm zhm1960.tfm
+zhmCJK.tfm zhm1961.tfm
+zhmCJK.tfm zhm1962.tfm
+zhmCJK.tfm zhm1963.tfm
+zhmCJK.tfm zhm1964.tfm
+zhmCJK.tfm zhm1965.tfm
+zhmCJK.tfm zhm1966.tfm
+zhmCJK.tfm zhm1967.tfm
+zhmCJK.tfm zhm1968.tfm
+zhmCJK.tfm zhm1969.tfm
+zhmCJK.tfm zhm196a.tfm
+zhmCJK.tfm zhm196b.tfm
+zhmCJK.tfm zhm196c.tfm
+zhmCJK.tfm zhm196d.tfm
+zhmCJK.tfm zhm196e.tfm
+zhmCJK.tfm zhm196f.tfm
+zhmCJK.tfm zhm1970.tfm
+zhmCJK.tfm zhm1971.tfm
+zhmCJK.tfm zhm1972.tfm
+zhmCJK.tfm zhm1973.tfm
+zhmCJK.tfm zhm1974.tfm
+zhmCJK.tfm zhm1975.tfm
+zhmCJK.tfm zhm1976.tfm
+zhmCJK.tfm zhm1977.tfm
+zhmCJK.tfm zhm1978.tfm
+zhmCJK.tfm zhm1979.tfm
+zhmCJK.tfm zhm197a.tfm
+zhmCJK.tfm zhm197b.tfm
+zhmCJK.tfm zhm197c.tfm
+zhmCJK.tfm zhm197d.tfm
+zhmCJK.tfm zhm197e.tfm
+zhmCJK.tfm zhm197f.tfm
+zhmCJK.tfm zhm1980.tfm
+zhmCJK.tfm zhm1981.tfm
+zhmCJK.tfm zhm1982.tfm
+zhmCJK.tfm zhm1983.tfm
+zhmCJK.tfm zhm1984.tfm
+zhmCJK.tfm zhm1985.tfm
+zhmCJK.tfm zhm1986.tfm
+zhmCJK.tfm zhm1987.tfm
+zhmCJK.tfm zhm1988.tfm
+zhmCJK.tfm zhm1989.tfm
+zhmCJK.tfm zhm198a.tfm
+zhmCJK.tfm zhm198b.tfm
+zhmCJK.tfm zhm198c.tfm
+zhmCJK.tfm zhm198d.tfm
+zhmCJK.tfm zhm198e.tfm
+zhmCJK.tfm zhm198f.tfm
+zhmCJK.tfm zhm1990.tfm
+zhmCJK.tfm zhm1991.tfm
+zhmCJK.tfm zhm1992.tfm
+zhmCJK.tfm zhm1993.tfm
+zhmCJK.tfm zhm1994.tfm
+zhmCJK.tfm zhm1995.tfm
+zhmCJK.tfm zhm1996.tfm
+zhmCJK.tfm zhm1997.tfm
+zhmCJK.tfm zhm1998.tfm
+zhmCJK.tfm zhm1999.tfm
+zhmCJK.tfm zhm199a.tfm
+zhmCJK.tfm zhm199b.tfm
+zhmCJK.tfm zhm199c.tfm
+zhmCJK.tfm zhm199d.tfm
+zhmCJK.tfm zhm199e.tfm
+zhmCJK.tfm zhm199f.tfm
+zhmCJK.tfm zhm19a0.tfm
+zhmCJK.tfm zhm19a1.tfm
+zhmCJK.tfm zhm19a2.tfm
+zhmCJK.tfm zhm19a3.tfm
+zhmCJK.tfm zhm19a4.tfm
+zhmCJK.tfm zhm19a5.tfm
+zhmCJK.tfm zhm19a6.tfm
+zhmCJK.tfm zhm19a7.tfm
+zhmCJK.tfm zhm19a8.tfm
+zhmCJK.tfm zhm19a9.tfm
+zhmCJK.tfm zhm19aa.tfm
+zhmCJK.tfm zhm19ab.tfm
+zhmCJK.tfm zhm19ac.tfm
+zhmCJK.tfm zhm19ad.tfm
+zhmCJK.tfm zhm19ae.tfm
+zhmCJK.tfm zhm19af.tfm
+zhmCJK.tfm zhm19b0.tfm
+zhmCJK.tfm zhm19b1.tfm
+zhmCJK.tfm zhm19b2.tfm
+zhmCJK.tfm zhm19b3.tfm
+zhmCJK.tfm zhm19b4.tfm
+zhmCJK.tfm zhm19b5.tfm
+zhmCJK.tfm zhm19b6.tfm
+zhmCJK.tfm zhm19b7.tfm
+zhmCJK.tfm zhm19b8.tfm
+zhmCJK.tfm zhm19b9.tfm
+zhmCJK.tfm zhm19ba.tfm
+zhmCJK.tfm zhm19bb.tfm
+zhmCJK.tfm zhm19bc.tfm
+zhmCJK.tfm zhm19bd.tfm
+zhmCJK.tfm zhm19be.tfm
+zhmCJK.tfm zhm19bf.tfm
+zhmCJK.tfm zhm19c0.tfm
+zhmCJK.tfm zhm19c1.tfm
+zhmCJK.tfm zhm19c2.tfm
+zhmCJK.tfm zhm19c3.tfm
+zhmCJK.tfm zhm19c4.tfm
+zhmCJK.tfm zhm19c5.tfm
+zhmCJK.tfm zhm19c6.tfm
+zhmCJK.tfm zhm19c7.tfm
+zhmCJK.tfm zhm19c8.tfm
+zhmCJK.tfm zhm19c9.tfm
+zhmCJK.tfm zhm19ca.tfm
+zhmCJK.tfm zhm19cb.tfm
+zhmCJK.tfm zhm19cc.tfm
+zhmCJK.tfm zhm19cd.tfm
+zhmCJK.tfm zhm19ce.tfm
+zhmCJK.tfm zhm19cf.tfm
+zhmCJK.tfm zhm19d0.tfm
+zhmCJK.tfm zhm19d1.tfm
+zhmCJK.tfm zhm19d2.tfm
+zhmCJK.tfm zhm19d3.tfm
+zhmCJK.tfm zhm19d4.tfm
+zhmCJK.tfm zhm19d5.tfm
+zhmCJK.tfm zhm19d6.tfm
+zhmCJK.tfm zhm19d7.tfm
+zhmCJK.tfm zhm19d8.tfm
+zhmCJK.tfm zhm19d9.tfm
+zhmCJK.tfm zhm19da.tfm
+zhmCJK.tfm zhm19db.tfm
+zhmCJK.tfm zhm19dc.tfm
+zhmCJK.tfm zhm19dd.tfm
+zhmCJK.tfm zhm19de.tfm
+zhmCJK.tfm zhm19df.tfm
+zhmCJK.tfm zhm19e0.tfm
+zhmCJK.tfm zhm19e1.tfm
+zhmCJK.tfm zhm19e2.tfm
+zhmCJK.tfm zhm19e3.tfm
+zhmCJK.tfm zhm19e4.tfm
+zhmCJK.tfm zhm19e5.tfm
+zhmCJK.tfm zhm19e6.tfm
+zhmCJK.tfm zhm19e7.tfm
+zhmCJK.tfm zhm19e8.tfm
+zhmCJK.tfm zhm19e9.tfm
+zhmCJK.tfm zhm19ea.tfm
+zhmCJK.tfm zhm19eb.tfm
+zhmCJK.tfm zhm19ec.tfm
+zhmCJK.tfm zhm19ed.tfm
+zhmCJK.tfm zhm19ee.tfm
+zhmCJK.tfm zhm19ef.tfm
+zhmCJK.tfm zhm19f0.tfm
+zhmCJK.tfm zhm19f1.tfm
+zhmCJK.tfm zhm19f2.tfm
+zhmCJK.tfm zhm19f3.tfm
+zhmCJK.tfm zhm19f4.tfm
+zhmCJK.tfm zhm19f5.tfm
+zhmCJK.tfm zhm19f6.tfm
+zhmCJK.tfm zhm19f7.tfm
+zhmCJK.tfm zhm19f8.tfm
+zhmCJK.tfm zhm19f9.tfm
+zhmCJK.tfm zhm19fa.tfm
+zhmCJK.tfm zhm19fb.tfm
+zhmCJK.tfm zhm19fc.tfm
+zhmCJK.tfm zhm19fd.tfm
+zhmCJK.tfm zhm19fe.tfm
+zhmCJK.tfm zhm19ff.tfm
+zhmCJK.tfm zhm2000.tfm
+zhmCJK.tfm zhm2001.tfm
+zhmCJK.tfm zhm2002.tfm
+zhmCJK.tfm zhm2003.tfm
+zhmCJK.tfm zhm2004.tfm
+zhmCJK.tfm zhm2005.tfm
+zhmCJK.tfm zhm2006.tfm
+zhmCJK.tfm zhm2007.tfm
+zhmCJK.tfm zhm2008.tfm
+zhmCJK.tfm zhm2009.tfm
+zhmCJK.tfm zhm200a.tfm
+zhmCJK.tfm zhm200b.tfm
+zhmCJK.tfm zhm200c.tfm
+zhmCJK.tfm zhm200d.tfm
+zhmCJK.tfm zhm200e.tfm
+zhmCJK.tfm zhm200f.tfm
+zhmCJK.tfm zhm2010.tfm
+zhmCJK.tfm zhm2011.tfm
+zhmCJK.tfm zhm2012.tfm
+zhmCJK.tfm zhm2013.tfm
+zhmCJK.tfm zhm2014.tfm
+zhmCJK.tfm zhm2015.tfm
+zhmCJK.tfm zhm2016.tfm
+zhmCJK.tfm zhm2017.tfm
+zhmCJK.tfm zhm2018.tfm
+zhmCJK.tfm zhm2019.tfm
+zhmCJK.tfm zhm201a.tfm
+zhmCJK.tfm zhm201b.tfm
+zhmCJK.tfm zhm201c.tfm
+zhmCJK.tfm zhm201d.tfm
+zhmCJK.tfm zhm201e.tfm
+zhmCJK.tfm zhm201f.tfm
+zhmCJK.tfm zhm2020.tfm
+zhmCJK.tfm zhm2021.tfm
+zhmCJK.tfm zhm2022.tfm
+zhmCJK.tfm zhm2023.tfm
+zhmCJK.tfm zhm2024.tfm
+zhmCJK.tfm zhm2025.tfm
+zhmCJK.tfm zhm2026.tfm
+zhmCJK.tfm zhm2027.tfm
+zhmCJK.tfm zhm2028.tfm
+zhmCJK.tfm zhm2029.tfm
+zhmCJK.tfm zhm202a.tfm
+zhmCJK.tfm zhm202b.tfm
+zhmCJK.tfm zhm202c.tfm
+zhmCJK.tfm zhm202d.tfm
+zhmCJK.tfm zhm202e.tfm
+zhmCJK.tfm zhm202f.tfm
+zhmCJK.tfm zhm2030.tfm
+zhmCJK.tfm zhm2031.tfm
+zhmCJK.tfm zhm2032.tfm
+zhmCJK.tfm zhm2033.tfm
+zhmCJK.tfm zhm2034.tfm
+zhmCJK.tfm zhm2035.tfm
+zhmCJK.tfm zhm2036.tfm
+zhmCJK.tfm zhm2037.tfm
+zhmCJK.tfm zhm2038.tfm
+zhmCJK.tfm zhm2039.tfm
+zhmCJK.tfm zhm203a.tfm
+zhmCJK.tfm zhm203b.tfm
+zhmCJK.tfm zhm203c.tfm
+zhmCJK.tfm zhm203d.tfm
+zhmCJK.tfm zhm203e.tfm
+zhmCJK.tfm zhm203f.tfm
+zhmCJK.tfm zhm2040.tfm
+zhmCJK.tfm zhm2041.tfm
+zhmCJK.tfm zhm2042.tfm
+zhmCJK.tfm zhm2043.tfm
+zhmCJK.tfm zhm2044.tfm
+zhmCJK.tfm zhm2045.tfm
+zhmCJK.tfm zhm2046.tfm
+zhmCJK.tfm zhm2047.tfm
+zhmCJK.tfm zhm2048.tfm
+zhmCJK.tfm zhm2049.tfm
+zhmCJK.tfm zhm204a.tfm
+zhmCJK.tfm zhm204b.tfm
+zhmCJK.tfm zhm204c.tfm
+zhmCJK.tfm zhm204d.tfm
+zhmCJK.tfm zhm204e.tfm
+zhmCJK.tfm zhm204f.tfm
+zhmCJK.tfm zhm2050.tfm
+zhmCJK.tfm zhm2051.tfm
+zhmCJK.tfm zhm2052.tfm
+zhmCJK.tfm zhm2053.tfm
+zhmCJK.tfm zhm2054.tfm
+zhmCJK.tfm zhm2055.tfm
+zhmCJK.tfm zhm2056.tfm
+zhmCJK.tfm zhm2057.tfm
+zhmCJK.tfm zhm2058.tfm
+zhmCJK.tfm zhm2059.tfm
+zhmCJK.tfm zhm205a.tfm
+zhmCJK.tfm zhm205b.tfm
+zhmCJK.tfm zhm205c.tfm
+zhmCJK.tfm zhm205d.tfm
+zhmCJK.tfm zhm205e.tfm
+zhmCJK.tfm zhm205f.tfm
+zhmCJK.tfm zhm2060.tfm
+zhmCJK.tfm zhm2061.tfm
+zhmCJK.tfm zhm2062.tfm
+zhmCJK.tfm zhm2063.tfm
+zhmCJK.tfm zhm2064.tfm
+zhmCJK.tfm zhm2065.tfm
+zhmCJK.tfm zhm2066.tfm
+zhmCJK.tfm zhm2067.tfm
+zhmCJK.tfm zhm2068.tfm
+zhmCJK.tfm zhm2069.tfm
+zhmCJK.tfm zhm206a.tfm
+zhmCJK.tfm zhm206b.tfm
+zhmCJK.tfm zhm206c.tfm
+zhmCJK.tfm zhm206d.tfm
+zhmCJK.tfm zhm206e.tfm
+zhmCJK.tfm zhm206f.tfm
+zhmCJK.tfm zhm2070.tfm
+zhmCJK.tfm zhm2071.tfm
+zhmCJK.tfm zhm2072.tfm
+zhmCJK.tfm zhm2073.tfm
+zhmCJK.tfm zhm2074.tfm
+zhmCJK.tfm zhm2075.tfm
+zhmCJK.tfm zhm2076.tfm
+zhmCJK.tfm zhm2077.tfm
+zhmCJK.tfm zhm2078.tfm
+zhmCJK.tfm zhm2079.tfm
+zhmCJK.tfm zhm207a.tfm
+zhmCJK.tfm zhm207b.tfm
+zhmCJK.tfm zhm207c.tfm
+zhmCJK.tfm zhm207d.tfm
+zhmCJK.tfm zhm207e.tfm
+zhmCJK.tfm zhm207f.tfm
+zhmCJK.tfm zhm2080.tfm
+zhmCJK.tfm zhm2081.tfm
+zhmCJK.tfm zhm2082.tfm
+zhmCJK.tfm zhm2083.tfm
+zhmCJK.tfm zhm2084.tfm
+zhmCJK.tfm zhm2085.tfm
+zhmCJK.tfm zhm2086.tfm
+zhmCJK.tfm zhm2087.tfm
+zhmCJK.tfm zhm2088.tfm
+zhmCJK.tfm zhm2089.tfm
+zhmCJK.tfm zhm208a.tfm
+zhmCJK.tfm zhm208b.tfm
+zhmCJK.tfm zhm208c.tfm
+zhmCJK.tfm zhm208d.tfm
+zhmCJK.tfm zhm208e.tfm
+zhmCJK.tfm zhm208f.tfm
+zhmCJK.tfm zhm2090.tfm
+zhmCJK.tfm zhm2091.tfm
+zhmCJK.tfm zhm2092.tfm
+zhmCJK.tfm zhm2093.tfm
+zhmCJK.tfm zhm2094.tfm
+zhmCJK.tfm zhm2095.tfm
+zhmCJK.tfm zhm2096.tfm
+zhmCJK.tfm zhm2097.tfm
+zhmCJK.tfm zhm2098.tfm
+zhmCJK.tfm zhm2099.tfm
+zhmCJK.tfm zhm209a.tfm
+zhmCJK.tfm zhm209b.tfm
+zhmCJK.tfm zhm209c.tfm
+zhmCJK.tfm zhm209d.tfm
+zhmCJK.tfm zhm209e.tfm
+zhmCJK.tfm zhm209f.tfm
+zhmCJK.tfm zhm20a0.tfm
+zhmCJK.tfm zhm20a1.tfm
+zhmCJK.tfm zhm20a2.tfm
+zhmCJK.tfm zhm20a3.tfm
+zhmCJK.tfm zhm20a4.tfm
+zhmCJK.tfm zhm20a5.tfm
+zhmCJK.tfm zhm20a6.tfm
+zhmCJK.tfm zhm20a7.tfm
+zhmCJK.tfm zhm20a8.tfm
+zhmCJK.tfm zhm20a9.tfm
+zhmCJK.tfm zhm20aa.tfm
+zhmCJK.tfm zhm20ab.tfm
+zhmCJK.tfm zhm20ac.tfm
+zhmCJK.tfm zhm20ad.tfm
+zhmCJK.tfm zhm20ae.tfm
+zhmCJK.tfm zhm20af.tfm
+zhmCJK.tfm zhm20b0.tfm
+zhmCJK.tfm zhm20b1.tfm
+zhmCJK.tfm zhm20b2.tfm
+zhmCJK.tfm zhm20b3.tfm
+zhmCJK.tfm zhm20b4.tfm
+zhmCJK.tfm zhm20b5.tfm
+zhmCJK.tfm zhm20b6.tfm
+zhmCJK.tfm zhm20b7.tfm
+zhmCJK.tfm zhm20b8.tfm
+zhmCJK.tfm zhm20b9.tfm
+zhmCJK.tfm zhm20ba.tfm
+zhmCJK.tfm zhm20bb.tfm
+zhmCJK.tfm zhm20bc.tfm
+zhmCJK.tfm zhm20bd.tfm
+zhmCJK.tfm zhm20be.tfm
+zhmCJK.tfm zhm20bf.tfm
+zhmCJK.tfm zhm20c0.tfm
+zhmCJK.tfm zhm20c1.tfm
+zhmCJK.tfm zhm20c2.tfm
+zhmCJK.tfm zhm20c3.tfm
+zhmCJK.tfm zhm20c4.tfm
+zhmCJK.tfm zhm20c5.tfm
+zhmCJK.tfm zhm20c6.tfm
+zhmCJK.tfm zhm20c7.tfm
+zhmCJK.tfm zhm20c8.tfm
+zhmCJK.tfm zhm20c9.tfm
+zhmCJK.tfm zhm20ca.tfm
+zhmCJK.tfm zhm20cb.tfm
+zhmCJK.tfm zhm20cc.tfm
+zhmCJK.tfm zhm20cd.tfm
+zhmCJK.tfm zhm20ce.tfm
+zhmCJK.tfm zhm20cf.tfm
+zhmCJK.tfm zhm20d0.tfm
+zhmCJK.tfm zhm20d1.tfm
+zhmCJK.tfm zhm20d2.tfm
+zhmCJK.tfm zhm20d3.tfm
+zhmCJK.tfm zhm20d4.tfm
+zhmCJK.tfm zhm20d5.tfm
+zhmCJK.tfm zhm20d6.tfm
+zhmCJK.tfm zhm20d7.tfm
+zhmCJK.tfm zhm20d8.tfm
+zhmCJK.tfm zhm20d9.tfm
+zhmCJK.tfm zhm20da.tfm
+zhmCJK.tfm zhm20db.tfm
+zhmCJK.tfm zhm20dc.tfm
+zhmCJK.tfm zhm20dd.tfm
+zhmCJK.tfm zhm20de.tfm
+zhmCJK.tfm zhm20df.tfm
+zhmCJK.tfm zhm20e0.tfm
+zhmCJK.tfm zhm20e1.tfm
+zhmCJK.tfm zhm20e2.tfm
+zhmCJK.tfm zhm20e3.tfm
+zhmCJK.tfm zhm20e4.tfm
+zhmCJK.tfm zhm20e5.tfm
+zhmCJK.tfm zhm20e6.tfm
+zhmCJK.tfm zhm20e7.tfm
+zhmCJK.tfm zhm20e8.tfm
+zhmCJK.tfm zhm20e9.tfm
+zhmCJK.tfm zhm20ea.tfm
+zhmCJK.tfm zhm20eb.tfm
+zhmCJK.tfm zhm20ec.tfm
+zhmCJK.tfm zhm20ed.tfm
+zhmCJK.tfm zhm20ee.tfm
+zhmCJK.tfm zhm20ef.tfm
+zhmCJK.tfm zhm20f0.tfm
+zhmCJK.tfm zhm20f1.tfm
+zhmCJK.tfm zhm20f2.tfm
+zhmCJK.tfm zhm20f3.tfm
+zhmCJK.tfm zhm20f4.tfm
+zhmCJK.tfm zhm20f5.tfm
+zhmCJK.tfm zhm20f6.tfm
+zhmCJK.tfm zhm20f7.tfm
+zhmCJK.tfm zhm20f8.tfm
+zhmCJK.tfm zhm20f9.tfm
+zhmCJK.tfm zhm20fa.tfm
+zhmCJK.tfm zhm20fb.tfm
+zhmCJK.tfm zhm20fc.tfm
+zhmCJK.tfm zhm20fd.tfm
+zhmCJK.tfm zhm20fe.tfm
+zhmCJK.tfm zhm20ff.tfm
+zhmCJK.tfm zhm2100.tfm
+zhmCJK.tfm zhm2101.tfm
+zhmCJK.tfm zhm2102.tfm
+zhmCJK.tfm zhm2103.tfm
+zhmCJK.tfm zhm2104.tfm
+zhmCJK.tfm zhm2105.tfm
+zhmCJK.tfm zhm2106.tfm
+zhmCJK.tfm zhm2107.tfm
+zhmCJK.tfm zhm2108.tfm
+zhmCJK.tfm zhm2109.tfm
+zhmCJK.tfm zhm210a.tfm
+zhmCJK.tfm zhm210b.tfm
+zhmCJK.tfm zhm210c.tfm
+zhmCJK.tfm zhm210d.tfm
+zhmCJK.tfm zhm210e.tfm
+zhmCJK.tfm zhm210f.tfm
+zhmCJK.tfm zhm2110.tfm
+zhmCJK.tfm zhm2111.tfm
+zhmCJK.tfm zhm2112.tfm
+zhmCJK.tfm zhm2113.tfm
+zhmCJK.tfm zhm2114.tfm
+zhmCJK.tfm zhm2115.tfm
+zhmCJK.tfm zhm2116.tfm
+zhmCJK.tfm zhm2117.tfm
+zhmCJK.tfm zhm2118.tfm
+zhmCJK.tfm zhm2119.tfm
+zhmCJK.tfm zhm211a.tfm
+zhmCJK.tfm zhm211b.tfm
+zhmCJK.tfm zhm211c.tfm
+zhmCJK.tfm zhm211d.tfm
+zhmCJK.tfm zhm211e.tfm
+zhmCJK.tfm zhm211f.tfm
+zhmCJK.tfm zhm2120.tfm
+zhmCJK.tfm zhm2121.tfm
+zhmCJK.tfm zhm2122.tfm
+zhmCJK.tfm zhm2123.tfm
+zhmCJK.tfm zhm2124.tfm
+zhmCJK.tfm zhm2125.tfm
+zhmCJK.tfm zhm2126.tfm
+zhmCJK.tfm zhm2127.tfm
+zhmCJK.tfm zhm2128.tfm
+zhmCJK.tfm zhm2129.tfm
+zhmCJK.tfm zhm212a.tfm
+zhmCJK.tfm zhm212b.tfm
+zhmCJK.tfm zhm212c.tfm
+zhmCJK.tfm zhm212d.tfm
+zhmCJK.tfm zhm212e.tfm
+zhmCJK.tfm zhm212f.tfm
+zhmCJK.tfm zhm2130.tfm
+zhmCJK.tfm zhm2131.tfm
+zhmCJK.tfm zhm2132.tfm
+zhmCJK.tfm zhm2133.tfm
+zhmCJK.tfm zhm2134.tfm
+zhmCJK.tfm zhm2135.tfm
+zhmCJK.tfm zhm2136.tfm
+zhmCJK.tfm zhm2137.tfm
+zhmCJK.tfm zhm2138.tfm
+zhmCJK.tfm zhm2139.tfm
+zhmCJK.tfm zhm213a.tfm
+zhmCJK.tfm zhm213b.tfm
+zhmCJK.tfm zhm213c.tfm
+zhmCJK.tfm zhm213d.tfm
+zhmCJK.tfm zhm213e.tfm
+zhmCJK.tfm zhm213f.tfm
+zhmCJK.tfm zhm2140.tfm
+zhmCJK.tfm zhm2141.tfm
+zhmCJK.tfm zhm2142.tfm
+zhmCJK.tfm zhm2143.tfm
+zhmCJK.tfm zhm2144.tfm
+zhmCJK.tfm zhm2145.tfm
+zhmCJK.tfm zhm2146.tfm
+zhmCJK.tfm zhm2147.tfm
+zhmCJK.tfm zhm2148.tfm
+zhmCJK.tfm zhm2149.tfm
+zhmCJK.tfm zhm214a.tfm
+zhmCJK.tfm zhm214b.tfm
+zhmCJK.tfm zhm214c.tfm
+zhmCJK.tfm zhm214d.tfm
+zhmCJK.tfm zhm214e.tfm
+zhmCJK.tfm zhm214f.tfm
+zhmCJK.tfm zhm2150.tfm
+zhmCJK.tfm zhm2151.tfm
+zhmCJK.tfm zhm2152.tfm
+zhmCJK.tfm zhm2153.tfm
+zhmCJK.tfm zhm2154.tfm
+zhmCJK.tfm zhm2155.tfm
+zhmCJK.tfm zhm2156.tfm
+zhmCJK.tfm zhm2157.tfm
+zhmCJK.tfm zhm2158.tfm
+zhmCJK.tfm zhm2159.tfm
+zhmCJK.tfm zhm215a.tfm
+zhmCJK.tfm zhm215b.tfm
+zhmCJK.tfm zhm215c.tfm
+zhmCJK.tfm zhm215d.tfm
+zhmCJK.tfm zhm215e.tfm
+zhmCJK.tfm zhm215f.tfm
+zhmCJK.tfm zhm2160.tfm
+zhmCJK.tfm zhm2161.tfm
+zhmCJK.tfm zhm2162.tfm
+zhmCJK.tfm zhm2163.tfm
+zhmCJK.tfm zhm2164.tfm
+zhmCJK.tfm zhm2165.tfm
+zhmCJK.tfm zhm2166.tfm
+zhmCJK.tfm zhm2167.tfm
+zhmCJK.tfm zhm2168.tfm
+zhmCJK.tfm zhm2169.tfm
+zhmCJK.tfm zhm216a.tfm
+zhmCJK.tfm zhm216b.tfm
+zhmCJK.tfm zhm216c.tfm
+zhmCJK.tfm zhm216d.tfm
+zhmCJK.tfm zhm216e.tfm
+zhmCJK.tfm zhm216f.tfm
+zhmCJK.tfm zhm2170.tfm
+zhmCJK.tfm zhm2171.tfm
+zhmCJK.tfm zhm2172.tfm
+zhmCJK.tfm zhm2173.tfm
+zhmCJK.tfm zhm2174.tfm
+zhmCJK.tfm zhm2175.tfm
+zhmCJK.tfm zhm2176.tfm
+zhmCJK.tfm zhm2177.tfm
+zhmCJK.tfm zhm2178.tfm
+zhmCJK.tfm zhm2179.tfm
+zhmCJK.tfm zhm217a.tfm
+zhmCJK.tfm zhm217b.tfm
+zhmCJK.tfm zhm217c.tfm
+zhmCJK.tfm zhm217d.tfm
+zhmCJK.tfm zhm217e.tfm
+zhmCJK.tfm zhm217f.tfm
+zhmCJK.tfm zhm2180.tfm
+zhmCJK.tfm zhm2181.tfm
+zhmCJK.tfm zhm2182.tfm
+zhmCJK.tfm zhm2183.tfm
+zhmCJK.tfm zhm2184.tfm
+zhmCJK.tfm zhm2185.tfm
+zhmCJK.tfm zhm2186.tfm
+zhmCJK.tfm zhm2187.tfm
+zhmCJK.tfm zhm2188.tfm
+zhmCJK.tfm zhm2189.tfm
+zhmCJK.tfm zhm218a.tfm
+zhmCJK.tfm zhm218b.tfm
+zhmCJK.tfm zhm218c.tfm
+zhmCJK.tfm zhm218d.tfm
+zhmCJK.tfm zhm218e.tfm
+zhmCJK.tfm zhm218f.tfm
+zhmCJK.tfm zhm2190.tfm
+zhmCJK.tfm zhm2191.tfm
+zhmCJK.tfm zhm2192.tfm
+zhmCJK.tfm zhm2193.tfm
+zhmCJK.tfm zhm2194.tfm
+zhmCJK.tfm zhm2195.tfm
+zhmCJK.tfm zhm2196.tfm
+zhmCJK.tfm zhm2197.tfm
+zhmCJK.tfm zhm2198.tfm
+zhmCJK.tfm zhm2199.tfm
+zhmCJK.tfm zhm219a.tfm
+zhmCJK.tfm zhm219b.tfm
+zhmCJK.tfm zhm219c.tfm
+zhmCJK.tfm zhm219d.tfm
+zhmCJK.tfm zhm219e.tfm
+zhmCJK.tfm zhm219f.tfm
+zhmCJK.tfm zhm21a0.tfm
+zhmCJK.tfm zhm21a1.tfm
+zhmCJK.tfm zhm21a2.tfm
+zhmCJK.tfm zhm21a3.tfm
+zhmCJK.tfm zhm21a4.tfm
+zhmCJK.tfm zhm21a5.tfm
+zhmCJK.tfm zhm21a6.tfm
+zhmCJK.tfm zhm21a7.tfm
+zhmCJK.tfm zhm21a8.tfm
+zhmCJK.tfm zhm21a9.tfm
+zhmCJK.tfm zhm21aa.tfm
+zhmCJK.tfm zhm21ab.tfm
+zhmCJK.tfm zhm21ac.tfm
+zhmCJK.tfm zhm21ad.tfm
+zhmCJK.tfm zhm21ae.tfm
+zhmCJK.tfm zhm21af.tfm
+zhmCJK.tfm zhm21b0.tfm
+zhmCJK.tfm zhm21b1.tfm
+zhmCJK.tfm zhm21b2.tfm
+zhmCJK.tfm zhm21b3.tfm
+zhmCJK.tfm zhm21b4.tfm
+zhmCJK.tfm zhm21b5.tfm
+zhmCJK.tfm zhm21b6.tfm
+zhmCJK.tfm zhm21b7.tfm
+zhmCJK.tfm zhm21b8.tfm
+zhmCJK.tfm zhm21b9.tfm
+zhmCJK.tfm zhm21ba.tfm
+zhmCJK.tfm zhm21bb.tfm
+zhmCJK.tfm zhm21bc.tfm
+zhmCJK.tfm zhm21bd.tfm
+zhmCJK.tfm zhm21be.tfm
+zhmCJK.tfm zhm21bf.tfm
+zhmCJK.tfm zhm21c0.tfm
+zhmCJK.tfm zhm21c1.tfm
+zhmCJK.tfm zhm21c2.tfm
+zhmCJK.tfm zhm21c3.tfm
+zhmCJK.tfm zhm21c4.tfm
+zhmCJK.tfm zhm21c5.tfm
+zhmCJK.tfm zhm21c6.tfm
+zhmCJK.tfm zhm21c7.tfm
+zhmCJK.tfm zhm21c8.tfm
+zhmCJK.tfm zhm21c9.tfm
+zhmCJK.tfm zhm21ca.tfm
+zhmCJK.tfm zhm21cb.tfm
+zhmCJK.tfm zhm21cc.tfm
+zhmCJK.tfm zhm21cd.tfm
+zhmCJK.tfm zhm21ce.tfm
+zhmCJK.tfm zhm21cf.tfm
+zhmCJK.tfm zhm21d0.tfm
+zhmCJK.tfm zhm21d1.tfm
+zhmCJK.tfm zhm21d2.tfm
+zhmCJK.tfm zhm21d3.tfm
+zhmCJK.tfm zhm21d4.tfm
+zhmCJK.tfm zhm21d5.tfm
+zhmCJK.tfm zhm21d6.tfm
+zhmCJK.tfm zhm21d7.tfm
+zhmCJK.tfm zhm21d8.tfm
+zhmCJK.tfm zhm21d9.tfm
+zhmCJK.tfm zhm21da.tfm
+zhmCJK.tfm zhm21db.tfm
+zhmCJK.tfm zhm21dc.tfm
+zhmCJK.tfm zhm21dd.tfm
+zhmCJK.tfm zhm21de.tfm
+zhmCJK.tfm zhm21df.tfm
+zhmCJK.tfm zhm21e0.tfm
+zhmCJK.tfm zhm21e1.tfm
+zhmCJK.tfm zhm21e2.tfm
+zhmCJK.tfm zhm21e3.tfm
+zhmCJK.tfm zhm21e4.tfm
+zhmCJK.tfm zhm21e5.tfm
+zhmCJK.tfm zhm21e6.tfm
+zhmCJK.tfm zhm21e7.tfm
+zhmCJK.tfm zhm21e8.tfm
+zhmCJK.tfm zhm21e9.tfm
+zhmCJK.tfm zhm21ea.tfm
+zhmCJK.tfm zhm21eb.tfm
+zhmCJK.tfm zhm21ec.tfm
+zhmCJK.tfm zhm21ed.tfm
+zhmCJK.tfm zhm21ee.tfm
+zhmCJK.tfm zhm21ef.tfm
+zhmCJK.tfm zhm21f0.tfm
+zhmCJK.tfm zhm21f1.tfm
+zhmCJK.tfm zhm21f2.tfm
+zhmCJK.tfm zhm21f3.tfm
+zhmCJK.tfm zhm21f4.tfm
+zhmCJK.tfm zhm21f5.tfm
+zhmCJK.tfm zhm21f6.tfm
+zhmCJK.tfm zhm21f7.tfm
+zhmCJK.tfm zhm21f8.tfm
+zhmCJK.tfm zhm21f9.tfm
+zhmCJK.tfm zhm21fa.tfm
+zhmCJK.tfm zhm21fb.tfm
+zhmCJK.tfm zhm21fc.tfm
+zhmCJK.tfm zhm21fd.tfm
+zhmCJK.tfm zhm21fe.tfm
+zhmCJK.tfm zhm21ff.tfm
+zhmCJK.tfm zhm2200.tfm
+zhmCJK.tfm zhm2201.tfm
+zhmCJK.tfm zhm2202.tfm
+zhmCJK.tfm zhm2203.tfm
+zhmCJK.tfm zhm2204.tfm
+zhmCJK.tfm zhm2205.tfm
+zhmCJK.tfm zhm2206.tfm
+zhmCJK.tfm zhm2207.tfm
+zhmCJK.tfm zhm2208.tfm
+zhmCJK.tfm zhm2209.tfm
+zhmCJK.tfm zhm220a.tfm
+zhmCJK.tfm zhm220b.tfm
+zhmCJK.tfm zhm220c.tfm
+zhmCJK.tfm zhm220d.tfm
+zhmCJK.tfm zhm220e.tfm
+zhmCJK.tfm zhm220f.tfm
+zhmCJK.tfm zhm2210.tfm
+zhmCJK.tfm zhm2211.tfm
+zhmCJK.tfm zhm2212.tfm
+zhmCJK.tfm zhm2213.tfm
+zhmCJK.tfm zhm2214.tfm
+zhmCJK.tfm zhm2215.tfm
+zhmCJK.tfm zhm2216.tfm
+zhmCJK.tfm zhm2217.tfm
+zhmCJK.tfm zhm2218.tfm
+zhmCJK.tfm zhm2219.tfm
+zhmCJK.tfm zhm221a.tfm
+zhmCJK.tfm zhm221b.tfm
+zhmCJK.tfm zhm221c.tfm
+zhmCJK.tfm zhm221d.tfm
+zhmCJK.tfm zhm221e.tfm
+zhmCJK.tfm zhm221f.tfm
+zhmCJK.tfm zhm2220.tfm
+zhmCJK.tfm zhm2221.tfm
+zhmCJK.tfm zhm2222.tfm
+zhmCJK.tfm zhm2223.tfm
+zhmCJK.tfm zhm2224.tfm
+zhmCJK.tfm zhm2225.tfm
+zhmCJK.tfm zhm2226.tfm
+zhmCJK.tfm zhm2227.tfm
+zhmCJK.tfm zhm2228.tfm
+zhmCJK.tfm zhm2229.tfm
+zhmCJK.tfm zhm222a.tfm
+zhmCJK.tfm zhm222b.tfm
+zhmCJK.tfm zhm222c.tfm
+zhmCJK.tfm zhm222d.tfm
+zhmCJK.tfm zhm222e.tfm
+zhmCJK.tfm zhm222f.tfm
+zhmCJK.tfm zhm2230.tfm
+zhmCJK.tfm zhm2231.tfm
+zhmCJK.tfm zhm2232.tfm
+zhmCJK.tfm zhm2233.tfm
+zhmCJK.tfm zhm2234.tfm
+zhmCJK.tfm zhm2235.tfm
+zhmCJK.tfm zhm2236.tfm
+zhmCJK.tfm zhm2237.tfm
+zhmCJK.tfm zhm2238.tfm
+zhmCJK.tfm zhm2239.tfm
+zhmCJK.tfm zhm223a.tfm
+zhmCJK.tfm zhm223b.tfm
+zhmCJK.tfm zhm223c.tfm
+zhmCJK.tfm zhm223d.tfm
+zhmCJK.tfm zhm223e.tfm
+zhmCJK.tfm zhm223f.tfm
+zhmCJK.tfm zhm2240.tfm
+zhmCJK.tfm zhm2241.tfm
+zhmCJK.tfm zhm2242.tfm
+zhmCJK.tfm zhm2243.tfm
+zhmCJK.tfm zhm2244.tfm
+zhmCJK.tfm zhm2245.tfm
+zhmCJK.tfm zhm2246.tfm
+zhmCJK.tfm zhm2247.tfm
+zhmCJK.tfm zhm2248.tfm
+zhmCJK.tfm zhm2249.tfm
+zhmCJK.tfm zhm224a.tfm
+zhmCJK.tfm zhm224b.tfm
+zhmCJK.tfm zhm224c.tfm
+zhmCJK.tfm zhm224d.tfm
+zhmCJK.tfm zhm224e.tfm
+zhmCJK.tfm zhm224f.tfm
+zhmCJK.tfm zhm2250.tfm
+zhmCJK.tfm zhm2251.tfm
+zhmCJK.tfm zhm2252.tfm
+zhmCJK.tfm zhm2253.tfm
+zhmCJK.tfm zhm2254.tfm
+zhmCJK.tfm zhm2255.tfm
+zhmCJK.tfm zhm2256.tfm
+zhmCJK.tfm zhm2257.tfm
+zhmCJK.tfm zhm2258.tfm
+zhmCJK.tfm zhm2259.tfm
+zhmCJK.tfm zhm225a.tfm
+zhmCJK.tfm zhm225b.tfm
+zhmCJK.tfm zhm225c.tfm
+zhmCJK.tfm zhm225d.tfm
+zhmCJK.tfm zhm225e.tfm
+zhmCJK.tfm zhm225f.tfm
+zhmCJK.tfm zhm2260.tfm
+zhmCJK.tfm zhm2261.tfm
+zhmCJK.tfm zhm2262.tfm
+zhmCJK.tfm zhm2263.tfm
+zhmCJK.tfm zhm2264.tfm
+zhmCJK.tfm zhm2265.tfm
+zhmCJK.tfm zhm2266.tfm
+zhmCJK.tfm zhm2267.tfm
+zhmCJK.tfm zhm2268.tfm
+zhmCJK.tfm zhm2269.tfm
+zhmCJK.tfm zhm226a.tfm
+zhmCJK.tfm zhm226b.tfm
+zhmCJK.tfm zhm226c.tfm
+zhmCJK.tfm zhm226d.tfm
+zhmCJK.tfm zhm226e.tfm
+zhmCJK.tfm zhm226f.tfm
+zhmCJK.tfm zhm2270.tfm
+zhmCJK.tfm zhm2271.tfm
+zhmCJK.tfm zhm2272.tfm
+zhmCJK.tfm zhm2273.tfm
+zhmCJK.tfm zhm2274.tfm
+zhmCJK.tfm zhm2275.tfm
+zhmCJK.tfm zhm2276.tfm
+zhmCJK.tfm zhm2277.tfm
+zhmCJK.tfm zhm2278.tfm
+zhmCJK.tfm zhm2279.tfm
+zhmCJK.tfm zhm227a.tfm
+zhmCJK.tfm zhm227b.tfm
+zhmCJK.tfm zhm227c.tfm
+zhmCJK.tfm zhm227d.tfm
+zhmCJK.tfm zhm227e.tfm
+zhmCJK.tfm zhm227f.tfm
+zhmCJK.tfm zhm2280.tfm
+zhmCJK.tfm zhm2281.tfm
+zhmCJK.tfm zhm2282.tfm
+zhmCJK.tfm zhm2283.tfm
+zhmCJK.tfm zhm2284.tfm
+zhmCJK.tfm zhm2285.tfm
+zhmCJK.tfm zhm2286.tfm
+zhmCJK.tfm zhm2287.tfm
+zhmCJK.tfm zhm2288.tfm
+zhmCJK.tfm zhm2289.tfm
+zhmCJK.tfm zhm228a.tfm
+zhmCJK.tfm zhm228b.tfm
+zhmCJK.tfm zhm228c.tfm
+zhmCJK.tfm zhm228d.tfm
+zhmCJK.tfm zhm228e.tfm
+zhmCJK.tfm zhm228f.tfm
+zhmCJK.tfm zhm2290.tfm
+zhmCJK.tfm zhm2291.tfm
+zhmCJK.tfm zhm2292.tfm
+zhmCJK.tfm zhm2293.tfm
+zhmCJK.tfm zhm2294.tfm
+zhmCJK.tfm zhm2295.tfm
+zhmCJK.tfm zhm2296.tfm
+zhmCJK.tfm zhm2297.tfm
+zhmCJK.tfm zhm2298.tfm
+zhmCJK.tfm zhm2299.tfm
+zhmCJK.tfm zhm229a.tfm
+zhmCJK.tfm zhm229b.tfm
+zhmCJK.tfm zhm229c.tfm
+zhmCJK.tfm zhm229d.tfm
+zhmCJK.tfm zhm229e.tfm
+zhmCJK.tfm zhm229f.tfm
+zhmCJK.tfm zhm22a0.tfm
+zhmCJK.tfm zhm22a1.tfm
+zhmCJK.tfm zhm22a2.tfm
+zhmCJK.tfm zhm22a3.tfm
+zhmCJK.tfm zhm22a4.tfm
+zhmCJK.tfm zhm22a5.tfm
+zhmCJK.tfm zhm22a6.tfm
+zhmCJK.tfm zhm22a7.tfm
+zhmCJK.tfm zhm22a8.tfm
+zhmCJK.tfm zhm22a9.tfm
+zhmCJK.tfm zhm22aa.tfm
+zhmCJK.tfm zhm22ab.tfm
+zhmCJK.tfm zhm22ac.tfm
+zhmCJK.tfm zhm22ad.tfm
+zhmCJK.tfm zhm22ae.tfm
+zhmCJK.tfm zhm22af.tfm
+zhmCJK.tfm zhm22b0.tfm
+zhmCJK.tfm zhm22b1.tfm
+zhmCJK.tfm zhm22b2.tfm
+zhmCJK.tfm zhm22b3.tfm
+zhmCJK.tfm zhm22b4.tfm
+zhmCJK.tfm zhm22b5.tfm
+zhmCJK.tfm zhm22b6.tfm
+zhmCJK.tfm zhm22b7.tfm
+zhmCJK.tfm zhm22b8.tfm
+zhmCJK.tfm zhm22b9.tfm
+zhmCJK.tfm zhm22ba.tfm
+zhmCJK.tfm zhm22bb.tfm
+zhmCJK.tfm zhm22bc.tfm
+zhmCJK.tfm zhm22bd.tfm
+zhmCJK.tfm zhm22be.tfm
+zhmCJK.tfm zhm22bf.tfm
+zhmCJK.tfm zhm22c0.tfm
+zhmCJK.tfm zhm22c1.tfm
+zhmCJK.tfm zhm22c2.tfm
+zhmCJK.tfm zhm22c3.tfm
+zhmCJK.tfm zhm22c4.tfm
+zhmCJK.tfm zhm22c5.tfm
+zhmCJK.tfm zhm22c6.tfm
+zhmCJK.tfm zhm22c7.tfm
+zhmCJK.tfm zhm22c8.tfm
+zhmCJK.tfm zhm22c9.tfm
+zhmCJK.tfm zhm22ca.tfm
+zhmCJK.tfm zhm22cb.tfm
+zhmCJK.tfm zhm22cc.tfm
+zhmCJK.tfm zhm22cd.tfm
+zhmCJK.tfm zhm22ce.tfm
+zhmCJK.tfm zhm22cf.tfm
+zhmCJK.tfm zhm22d0.tfm
+zhmCJK.tfm zhm22d1.tfm
+zhmCJK.tfm zhm22d2.tfm
+zhmCJK.tfm zhm22d3.tfm
+zhmCJK.tfm zhm22d4.tfm
+zhmCJK.tfm zhm22d5.tfm
+zhmCJK.tfm zhm22d6.tfm
+zhmCJK.tfm zhm22d7.tfm
+zhmCJK.tfm zhm22d8.tfm
+zhmCJK.tfm zhm22d9.tfm
+zhmCJK.tfm zhm22da.tfm
+zhmCJK.tfm zhm22db.tfm
+zhmCJK.tfm zhm22dc.tfm
+zhmCJK.tfm zhm22dd.tfm
+zhmCJK.tfm zhm22de.tfm
+zhmCJK.tfm zhm22df.tfm
+zhmCJK.tfm zhm22e0.tfm
+zhmCJK.tfm zhm22e1.tfm
+zhmCJK.tfm zhm22e2.tfm
+zhmCJK.tfm zhm22e3.tfm
+zhmCJK.tfm zhm22e4.tfm
+zhmCJK.tfm zhm22e5.tfm
+zhmCJK.tfm zhm22e6.tfm
+zhmCJK.tfm zhm22e7.tfm
+zhmCJK.tfm zhm22e8.tfm
+zhmCJK.tfm zhm22e9.tfm
+zhmCJK.tfm zhm22ea.tfm
+zhmCJK.tfm zhm22eb.tfm
+zhmCJK.tfm zhm22ec.tfm
+zhmCJK.tfm zhm22ed.tfm
+zhmCJK.tfm zhm22ee.tfm
+zhmCJK.tfm zhm22ef.tfm
+zhmCJK.tfm zhm22f0.tfm
+zhmCJK.tfm zhm22f1.tfm
+zhmCJK.tfm zhm22f2.tfm
+zhmCJK.tfm zhm22f3.tfm
+zhmCJK.tfm zhm22f4.tfm
+zhmCJK.tfm zhm22f5.tfm
+zhmCJK.tfm zhm22f6.tfm
+zhmCJK.tfm zhm22f7.tfm
+zhmCJK.tfm zhm22f8.tfm
+zhmCJK.tfm zhm22f9.tfm
+zhmCJK.tfm zhm22fa.tfm
+zhmCJK.tfm zhm22fb.tfm
+zhmCJK.tfm zhm22fc.tfm
+zhmCJK.tfm zhm22fd.tfm
+zhmCJK.tfm zhm22fe.tfm
+zhmCJK.tfm zhm22ff.tfm
+zhmCJK.tfm zhm2300.tfm
+zhmCJK.tfm zhm2301.tfm
+zhmCJK.tfm zhm2302.tfm
+zhmCJK.tfm zhm2303.tfm
+zhmCJK.tfm zhm2304.tfm
+zhmCJK.tfm zhm2305.tfm
+zhmCJK.tfm zhm2306.tfm
+zhmCJK.tfm zhm2307.tfm
+zhmCJK.tfm zhm2308.tfm
+zhmCJK.tfm zhm2309.tfm
+zhmCJK.tfm zhm230a.tfm
+zhmCJK.tfm zhm230b.tfm
+zhmCJK.tfm zhm230c.tfm
+zhmCJK.tfm zhm230d.tfm
+zhmCJK.tfm zhm230e.tfm
+zhmCJK.tfm zhm230f.tfm
+zhmCJK.tfm zhm2310.tfm
+zhmCJK.tfm zhm2311.tfm
+zhmCJK.tfm zhm2312.tfm
+zhmCJK.tfm zhm2313.tfm
+zhmCJK.tfm zhm2314.tfm
+zhmCJK.tfm zhm2315.tfm
+zhmCJK.tfm zhm2316.tfm
+zhmCJK.tfm zhm2317.tfm
+zhmCJK.tfm zhm2318.tfm
+zhmCJK.tfm zhm2319.tfm
+zhmCJK.tfm zhm231a.tfm
+zhmCJK.tfm zhm231b.tfm
+zhmCJK.tfm zhm231c.tfm
+zhmCJK.tfm zhm231d.tfm
+zhmCJK.tfm zhm231e.tfm
+zhmCJK.tfm zhm231f.tfm
+zhmCJK.tfm zhm2320.tfm
+zhmCJK.tfm zhm2321.tfm
+zhmCJK.tfm zhm2322.tfm
+zhmCJK.tfm zhm2323.tfm
+zhmCJK.tfm zhm2324.tfm
+zhmCJK.tfm zhm2325.tfm
+zhmCJK.tfm zhm2326.tfm
+zhmCJK.tfm zhm2327.tfm
+zhmCJK.tfm zhm2328.tfm
+zhmCJK.tfm zhm2329.tfm
+zhmCJK.tfm zhm232a.tfm
+zhmCJK.tfm zhm232b.tfm
+zhmCJK.tfm zhm232c.tfm
+zhmCJK.tfm zhm232d.tfm
+zhmCJK.tfm zhm232e.tfm
+zhmCJK.tfm zhm232f.tfm
+zhmCJK.tfm zhm2330.tfm
+zhmCJK.tfm zhm2331.tfm
+zhmCJK.tfm zhm2332.tfm
+zhmCJK.tfm zhm2333.tfm
+zhmCJK.tfm zhm2334.tfm
+zhmCJK.tfm zhm2335.tfm
+zhmCJK.tfm zhm2336.tfm
+zhmCJK.tfm zhm2337.tfm
+zhmCJK.tfm zhm2338.tfm
+zhmCJK.tfm zhm2339.tfm
+zhmCJK.tfm zhm233a.tfm
+zhmCJK.tfm zhm233b.tfm
+zhmCJK.tfm zhm233c.tfm
+zhmCJK.tfm zhm233d.tfm
+zhmCJK.tfm zhm233e.tfm
+zhmCJK.tfm zhm233f.tfm
+zhmCJK.tfm zhm2340.tfm
+zhmCJK.tfm zhm2341.tfm
+zhmCJK.tfm zhm2342.tfm
+zhmCJK.tfm zhm2343.tfm
+zhmCJK.tfm zhm2344.tfm
+zhmCJK.tfm zhm2345.tfm
+zhmCJK.tfm zhm2346.tfm
+zhmCJK.tfm zhm2347.tfm
+zhmCJK.tfm zhm2348.tfm
+zhmCJK.tfm zhm2349.tfm
+zhmCJK.tfm zhm234a.tfm
+zhmCJK.tfm zhm234b.tfm
+zhmCJK.tfm zhm234c.tfm
+zhmCJK.tfm zhm234d.tfm
+zhmCJK.tfm zhm234e.tfm
+zhmCJK.tfm zhm234f.tfm
+zhmCJK.tfm zhm2350.tfm
+zhmCJK.tfm zhm2351.tfm
+zhmCJK.tfm zhm2352.tfm
+zhmCJK.tfm zhm2353.tfm
+zhmCJK.tfm zhm2354.tfm
+zhmCJK.tfm zhm2355.tfm
+zhmCJK.tfm zhm2356.tfm
+zhmCJK.tfm zhm2357.tfm
+zhmCJK.tfm zhm2358.tfm
+zhmCJK.tfm zhm2359.tfm
+zhmCJK.tfm zhm235a.tfm
+zhmCJK.tfm zhm235b.tfm
+zhmCJK.tfm zhm235c.tfm
+zhmCJK.tfm zhm235d.tfm
+zhmCJK.tfm zhm235e.tfm
+zhmCJK.tfm zhm235f.tfm
+zhmCJK.tfm zhm2360.tfm
+zhmCJK.tfm zhm2361.tfm
+zhmCJK.tfm zhm2362.tfm
+zhmCJK.tfm zhm2363.tfm
+zhmCJK.tfm zhm2364.tfm
+zhmCJK.tfm zhm2365.tfm
+zhmCJK.tfm zhm2366.tfm
+zhmCJK.tfm zhm2367.tfm
+zhmCJK.tfm zhm2368.tfm
+zhmCJK.tfm zhm2369.tfm
+zhmCJK.tfm zhm236a.tfm
+zhmCJK.tfm zhm236b.tfm
+zhmCJK.tfm zhm236c.tfm
+zhmCJK.tfm zhm236d.tfm
+zhmCJK.tfm zhm236e.tfm
+zhmCJK.tfm zhm236f.tfm
+zhmCJK.tfm zhm2370.tfm
+zhmCJK.tfm zhm2371.tfm
+zhmCJK.tfm zhm2372.tfm
+zhmCJK.tfm zhm2373.tfm
+zhmCJK.tfm zhm2374.tfm
+zhmCJK.tfm zhm2375.tfm
+zhmCJK.tfm zhm2376.tfm
+zhmCJK.tfm zhm2377.tfm
+zhmCJK.tfm zhm2378.tfm
+zhmCJK.tfm zhm2379.tfm
+zhmCJK.tfm zhm237a.tfm
+zhmCJK.tfm zhm237b.tfm
+zhmCJK.tfm zhm237c.tfm
+zhmCJK.tfm zhm237d.tfm
+zhmCJK.tfm zhm237e.tfm
+zhmCJK.tfm zhm237f.tfm
+zhmCJK.tfm zhm2380.tfm
+zhmCJK.tfm zhm2381.tfm
+zhmCJK.tfm zhm2382.tfm
+zhmCJK.tfm zhm2383.tfm
+zhmCJK.tfm zhm2384.tfm
+zhmCJK.tfm zhm2385.tfm
+zhmCJK.tfm zhm2386.tfm
+zhmCJK.tfm zhm2387.tfm
+zhmCJK.tfm zhm2388.tfm
+zhmCJK.tfm zhm2389.tfm
+zhmCJK.tfm zhm238a.tfm
+zhmCJK.tfm zhm238b.tfm
+zhmCJK.tfm zhm238c.tfm
+zhmCJK.tfm zhm238d.tfm
+zhmCJK.tfm zhm238e.tfm
+zhmCJK.tfm zhm238f.tfm
+zhmCJK.tfm zhm2390.tfm
+zhmCJK.tfm zhm2391.tfm
+zhmCJK.tfm zhm2392.tfm
+zhmCJK.tfm zhm2393.tfm
+zhmCJK.tfm zhm2394.tfm
+zhmCJK.tfm zhm2395.tfm
+zhmCJK.tfm zhm2396.tfm
+zhmCJK.tfm zhm2397.tfm
+zhmCJK.tfm zhm2398.tfm
+zhmCJK.tfm zhm2399.tfm
+zhmCJK.tfm zhm239a.tfm
+zhmCJK.tfm zhm239b.tfm
+zhmCJK.tfm zhm239c.tfm
+zhmCJK.tfm zhm239d.tfm
+zhmCJK.tfm zhm239e.tfm
+zhmCJK.tfm zhm239f.tfm
+zhmCJK.tfm zhm23a0.tfm
+zhmCJK.tfm zhm23a1.tfm
+zhmCJK.tfm zhm23a2.tfm
+zhmCJK.tfm zhm23a3.tfm
+zhmCJK.tfm zhm23a4.tfm
+zhmCJK.tfm zhm23a5.tfm
+zhmCJK.tfm zhm23a6.tfm
+zhmCJK.tfm zhm23a7.tfm
+zhmCJK.tfm zhm23a8.tfm
+zhmCJK.tfm zhm23a9.tfm
+zhmCJK.tfm zhm23aa.tfm
+zhmCJK.tfm zhm23ab.tfm
+zhmCJK.tfm zhm23ac.tfm
+zhmCJK.tfm zhm23ad.tfm
+zhmCJK.tfm zhm23ae.tfm
+zhmCJK.tfm zhm23af.tfm
+zhmCJK.tfm zhm23b0.tfm
+zhmCJK.tfm zhm23b1.tfm
+zhmCJK.tfm zhm23b2.tfm
+zhmCJK.tfm zhm23b3.tfm
+zhmCJK.tfm zhm23b4.tfm
+zhmCJK.tfm zhm23b5.tfm
+zhmCJK.tfm zhm23b6.tfm
+zhmCJK.tfm zhm23b7.tfm
+zhmCJK.tfm zhm23b8.tfm
+zhmCJK.tfm zhm23b9.tfm
+zhmCJK.tfm zhm23ba.tfm
+zhmCJK.tfm zhm23bb.tfm
+zhmCJK.tfm zhm23bc.tfm
+zhmCJK.tfm zhm23bd.tfm
+zhmCJK.tfm zhm23be.tfm
+zhmCJK.tfm zhm23bf.tfm
+zhmCJK.tfm zhm23c0.tfm
+zhmCJK.tfm zhm23c1.tfm
+zhmCJK.tfm zhm23c2.tfm
+zhmCJK.tfm zhm23c3.tfm
+zhmCJK.tfm zhm23c4.tfm
+zhmCJK.tfm zhm23c5.tfm
+zhmCJK.tfm zhm23c6.tfm
+zhmCJK.tfm zhm23c7.tfm
+zhmCJK.tfm zhm23c8.tfm
+zhmCJK.tfm zhm23c9.tfm
+zhmCJK.tfm zhm23ca.tfm
+zhmCJK.tfm zhm23cb.tfm
+zhmCJK.tfm zhm23cc.tfm
+zhmCJK.tfm zhm23cd.tfm
+zhmCJK.tfm zhm23ce.tfm
+zhmCJK.tfm zhm23cf.tfm
+zhmCJK.tfm zhm23d0.tfm
+zhmCJK.tfm zhm23d1.tfm
+zhmCJK.tfm zhm23d2.tfm
+zhmCJK.tfm zhm23d3.tfm
+zhmCJK.tfm zhm23d4.tfm
+zhmCJK.tfm zhm23d5.tfm
+zhmCJK.tfm zhm23d6.tfm
+zhmCJK.tfm zhm23d7.tfm
+zhmCJK.tfm zhm23d8.tfm
+zhmCJK.tfm zhm23d9.tfm
+zhmCJK.tfm zhm23da.tfm
+zhmCJK.tfm zhm23db.tfm
+zhmCJK.tfm zhm23dc.tfm
+zhmCJK.tfm zhm23dd.tfm
+zhmCJK.tfm zhm23de.tfm
+zhmCJK.tfm zhm23df.tfm
+zhmCJK.tfm zhm23e0.tfm
+zhmCJK.tfm zhm23e1.tfm
+zhmCJK.tfm zhm23e2.tfm
+zhmCJK.tfm zhm23e3.tfm
+zhmCJK.tfm zhm23e4.tfm
+zhmCJK.tfm zhm23e5.tfm
+zhmCJK.tfm zhm23e6.tfm
+zhmCJK.tfm zhm23e7.tfm
+zhmCJK.tfm zhm23e8.tfm
+zhmCJK.tfm zhm23e9.tfm
+zhmCJK.tfm zhm23ea.tfm
+zhmCJK.tfm zhm23eb.tfm
+zhmCJK.tfm zhm23ec.tfm
+zhmCJK.tfm zhm23ed.tfm
+zhmCJK.tfm zhm23ee.tfm
+zhmCJK.tfm zhm23ef.tfm
+zhmCJK.tfm zhm23f0.tfm
+zhmCJK.tfm zhm23f1.tfm
+zhmCJK.tfm zhm23f2.tfm
+zhmCJK.tfm zhm23f3.tfm
+zhmCJK.tfm zhm23f4.tfm
+zhmCJK.tfm zhm23f5.tfm
+zhmCJK.tfm zhm23f6.tfm
+zhmCJK.tfm zhm23f7.tfm
+zhmCJK.tfm zhm23f8.tfm
+zhmCJK.tfm zhm23f9.tfm
+zhmCJK.tfm zhm23fa.tfm
+zhmCJK.tfm zhm23fb.tfm
+zhmCJK.tfm zhm23fc.tfm
+zhmCJK.tfm zhm23fd.tfm
+zhmCJK.tfm zhm23fe.tfm
+zhmCJK.tfm zhm23ff.tfm
+zhmCJK.tfm zhm2400.tfm
+zhmCJK.tfm zhm2401.tfm
+zhmCJK.tfm zhm2402.tfm
+zhmCJK.tfm zhm2403.tfm
+zhmCJK.tfm zhm2404.tfm
+zhmCJK.tfm zhm2405.tfm
+zhmCJK.tfm zhm2406.tfm
+zhmCJK.tfm zhm2407.tfm
+zhmCJK.tfm zhm2408.tfm
+zhmCJK.tfm zhm2409.tfm
+zhmCJK.tfm zhm240a.tfm
+zhmCJK.tfm zhm240b.tfm
+zhmCJK.tfm zhm240c.tfm
+zhmCJK.tfm zhm240d.tfm
+zhmCJK.tfm zhm240e.tfm
+zhmCJK.tfm zhm240f.tfm
+zhmCJK.tfm zhm2410.tfm
+zhmCJK.tfm zhm2411.tfm
+zhmCJK.tfm zhm2412.tfm
+zhmCJK.tfm zhm2413.tfm
+zhmCJK.tfm zhm2414.tfm
+zhmCJK.tfm zhm2415.tfm
+zhmCJK.tfm zhm2416.tfm
+zhmCJK.tfm zhm2417.tfm
+zhmCJK.tfm zhm2418.tfm
+zhmCJK.tfm zhm2419.tfm
+zhmCJK.tfm zhm241a.tfm
+zhmCJK.tfm zhm241b.tfm
+zhmCJK.tfm zhm241c.tfm
+zhmCJK.tfm zhm241d.tfm
+zhmCJK.tfm zhm241e.tfm
+zhmCJK.tfm zhm241f.tfm
+zhmCJK.tfm zhm2420.tfm
+zhmCJK.tfm zhm2421.tfm
+zhmCJK.tfm zhm2422.tfm
+zhmCJK.tfm zhm2423.tfm
+zhmCJK.tfm zhm2424.tfm
+zhmCJK.tfm zhm2425.tfm
+zhmCJK.tfm zhm2426.tfm
+zhmCJK.tfm zhm2427.tfm
+zhmCJK.tfm zhm2428.tfm
+zhmCJK.tfm zhm2429.tfm
+zhmCJK.tfm zhm242a.tfm
+zhmCJK.tfm zhm242b.tfm
+zhmCJK.tfm zhm242c.tfm
+zhmCJK.tfm zhm242d.tfm
+zhmCJK.tfm zhm242e.tfm
+zhmCJK.tfm zhm242f.tfm
+zhmCJK.tfm zhm2430.tfm
+zhmCJK.tfm zhm2431.tfm
+zhmCJK.tfm zhm2432.tfm
+zhmCJK.tfm zhm2433.tfm
+zhmCJK.tfm zhm2434.tfm
+zhmCJK.tfm zhm2435.tfm
+zhmCJK.tfm zhm2436.tfm
+zhmCJK.tfm zhm2437.tfm
+zhmCJK.tfm zhm2438.tfm
+zhmCJK.tfm zhm2439.tfm
+zhmCJK.tfm zhm243a.tfm
+zhmCJK.tfm zhm243b.tfm
+zhmCJK.tfm zhm243c.tfm
+zhmCJK.tfm zhm243d.tfm
+zhmCJK.tfm zhm243e.tfm
+zhmCJK.tfm zhm243f.tfm
+zhmCJK.tfm zhm2440.tfm
+zhmCJK.tfm zhm2441.tfm
+zhmCJK.tfm zhm2442.tfm
+zhmCJK.tfm zhm2443.tfm
+zhmCJK.tfm zhm2444.tfm
+zhmCJK.tfm zhm2445.tfm
+zhmCJK.tfm zhm2446.tfm
+zhmCJK.tfm zhm2447.tfm
+zhmCJK.tfm zhm2448.tfm
+zhmCJK.tfm zhm2449.tfm
+zhmCJK.tfm zhm244a.tfm
+zhmCJK.tfm zhm244b.tfm
+zhmCJK.tfm zhm244c.tfm
+zhmCJK.tfm zhm244d.tfm
+zhmCJK.tfm zhm244e.tfm
+zhmCJK.tfm zhm244f.tfm
+zhmCJK.tfm zhm2450.tfm
+zhmCJK.tfm zhm2451.tfm
+zhmCJK.tfm zhm2452.tfm
+zhmCJK.tfm zhm2453.tfm
+zhmCJK.tfm zhm2454.tfm
+zhmCJK.tfm zhm2455.tfm
+zhmCJK.tfm zhm2456.tfm
+zhmCJK.tfm zhm2457.tfm
+zhmCJK.tfm zhm2458.tfm
+zhmCJK.tfm zhm2459.tfm
+zhmCJK.tfm zhm245a.tfm
+zhmCJK.tfm zhm245b.tfm
+zhmCJK.tfm zhm245c.tfm
+zhmCJK.tfm zhm245d.tfm
+zhmCJK.tfm zhm245e.tfm
+zhmCJK.tfm zhm245f.tfm
+zhmCJK.tfm zhm2460.tfm
+zhmCJK.tfm zhm2461.tfm
+zhmCJK.tfm zhm2462.tfm
+zhmCJK.tfm zhm2463.tfm
+zhmCJK.tfm zhm2464.tfm
+zhmCJK.tfm zhm2465.tfm
+zhmCJK.tfm zhm2466.tfm
+zhmCJK.tfm zhm2467.tfm
+zhmCJK.tfm zhm2468.tfm
+zhmCJK.tfm zhm2469.tfm
+zhmCJK.tfm zhm246a.tfm
+zhmCJK.tfm zhm246b.tfm
+zhmCJK.tfm zhm246c.tfm
+zhmCJK.tfm zhm246d.tfm
+zhmCJK.tfm zhm246e.tfm
+zhmCJK.tfm zhm246f.tfm
+zhmCJK.tfm zhm2470.tfm
+zhmCJK.tfm zhm2471.tfm
+zhmCJK.tfm zhm2472.tfm
+zhmCJK.tfm zhm2473.tfm
+zhmCJK.tfm zhm2474.tfm
+zhmCJK.tfm zhm2475.tfm
+zhmCJK.tfm zhm2476.tfm
+zhmCJK.tfm zhm2477.tfm
+zhmCJK.tfm zhm2478.tfm
+zhmCJK.tfm zhm2479.tfm
+zhmCJK.tfm zhm247a.tfm
+zhmCJK.tfm zhm247b.tfm
+zhmCJK.tfm zhm247c.tfm
+zhmCJK.tfm zhm247d.tfm
+zhmCJK.tfm zhm247e.tfm
+zhmCJK.tfm zhm247f.tfm
+zhmCJK.tfm zhm2480.tfm
+zhmCJK.tfm zhm2481.tfm
+zhmCJK.tfm zhm2482.tfm
+zhmCJK.tfm zhm2483.tfm
+zhmCJK.tfm zhm2484.tfm
+zhmCJK.tfm zhm2485.tfm
+zhmCJK.tfm zhm2486.tfm
+zhmCJK.tfm zhm2487.tfm
+zhmCJK.tfm zhm2488.tfm
+zhmCJK.tfm zhm2489.tfm
+zhmCJK.tfm zhm248a.tfm
+zhmCJK.tfm zhm248b.tfm
+zhmCJK.tfm zhm248c.tfm
+zhmCJK.tfm zhm248d.tfm
+zhmCJK.tfm zhm248e.tfm
+zhmCJK.tfm zhm248f.tfm
+zhmCJK.tfm zhm2490.tfm
+zhmCJK.tfm zhm2491.tfm
+zhmCJK.tfm zhm2492.tfm
+zhmCJK.tfm zhm2493.tfm
+zhmCJK.tfm zhm2494.tfm
+zhmCJK.tfm zhm2495.tfm
+zhmCJK.tfm zhm2496.tfm
+zhmCJK.tfm zhm2497.tfm
+zhmCJK.tfm zhm2498.tfm
+zhmCJK.tfm zhm2499.tfm
+zhmCJK.tfm zhm249a.tfm
+zhmCJK.tfm zhm249b.tfm
+zhmCJK.tfm zhm249c.tfm
+zhmCJK.tfm zhm249d.tfm
+zhmCJK.tfm zhm249e.tfm
+zhmCJK.tfm zhm249f.tfm
+zhmCJK.tfm zhm24a0.tfm
+zhmCJK.tfm zhm24a1.tfm
+zhmCJK.tfm zhm24a2.tfm
+zhmCJK.tfm zhm24a3.tfm
+zhmCJK.tfm zhm24a4.tfm
+zhmCJK.tfm zhm24a5.tfm
+zhmCJK.tfm zhm24a6.tfm
+zhmCJK.tfm zhm24a7.tfm
+zhmCJK.tfm zhm24a8.tfm
+zhmCJK.tfm zhm24a9.tfm
+zhmCJK.tfm zhm24aa.tfm
+zhmCJK.tfm zhm24ab.tfm
+zhmCJK.tfm zhm24ac.tfm
+zhmCJK.tfm zhm24ad.tfm
+zhmCJK.tfm zhm24ae.tfm
+zhmCJK.tfm zhm24af.tfm
+zhmCJK.tfm zhm24b0.tfm
+zhmCJK.tfm zhm24b1.tfm
+zhmCJK.tfm zhm24b2.tfm
+zhmCJK.tfm zhm24b3.tfm
+zhmCJK.tfm zhm24b4.tfm
+zhmCJK.tfm zhm24b5.tfm
+zhmCJK.tfm zhm24b6.tfm
+zhmCJK.tfm zhm24b7.tfm
+zhmCJK.tfm zhm24b8.tfm
+zhmCJK.tfm zhm24b9.tfm
+zhmCJK.tfm zhm24ba.tfm
+zhmCJK.tfm zhm24bb.tfm
+zhmCJK.tfm zhm24bc.tfm
+zhmCJK.tfm zhm24bd.tfm
+zhmCJK.tfm zhm24be.tfm
+zhmCJK.tfm zhm24bf.tfm
+zhmCJK.tfm zhm24c0.tfm
+zhmCJK.tfm zhm24c1.tfm
+zhmCJK.tfm zhm24c2.tfm
+zhmCJK.tfm zhm24c3.tfm
+zhmCJK.tfm zhm24c4.tfm
+zhmCJK.tfm zhm24c5.tfm
+zhmCJK.tfm zhm24c6.tfm
+zhmCJK.tfm zhm24c7.tfm
+zhmCJK.tfm zhm24c8.tfm
+zhmCJK.tfm zhm24c9.tfm
+zhmCJK.tfm zhm24ca.tfm
+zhmCJK.tfm zhm24cb.tfm
+zhmCJK.tfm zhm24cc.tfm
+zhmCJK.tfm zhm24cd.tfm
+zhmCJK.tfm zhm24ce.tfm
+zhmCJK.tfm zhm24cf.tfm
+zhmCJK.tfm zhm24d0.tfm
+zhmCJK.tfm zhm24d1.tfm
+zhmCJK.tfm zhm24d2.tfm
+zhmCJK.tfm zhm24d3.tfm
+zhmCJK.tfm zhm24d4.tfm
+zhmCJK.tfm zhm24d5.tfm
+zhmCJK.tfm zhm24d6.tfm
+zhmCJK.tfm zhm24d7.tfm
+zhmCJK.tfm zhm24d8.tfm
+zhmCJK.tfm zhm24d9.tfm
+zhmCJK.tfm zhm24da.tfm
+zhmCJK.tfm zhm24db.tfm
+zhmCJK.tfm zhm24dc.tfm
+zhmCJK.tfm zhm24dd.tfm
+zhmCJK.tfm zhm24de.tfm
+zhmCJK.tfm zhm24df.tfm
+zhmCJK.tfm zhm24e0.tfm
+zhmCJK.tfm zhm24e1.tfm
+zhmCJK.tfm zhm24e2.tfm
+zhmCJK.tfm zhm24e3.tfm
+zhmCJK.tfm zhm24e4.tfm
+zhmCJK.tfm zhm24e5.tfm
+zhmCJK.tfm zhm24e6.tfm
+zhmCJK.tfm zhm24e7.tfm
+zhmCJK.tfm zhm24e8.tfm
+zhmCJK.tfm zhm24e9.tfm
+zhmCJK.tfm zhm24ea.tfm
+zhmCJK.tfm zhm24eb.tfm
+zhmCJK.tfm zhm24ec.tfm
+zhmCJK.tfm zhm24ed.tfm
+zhmCJK.tfm zhm24ee.tfm
+zhmCJK.tfm zhm24ef.tfm
+zhmCJK.tfm zhm24f0.tfm
+zhmCJK.tfm zhm24f1.tfm
+zhmCJK.tfm zhm24f2.tfm
+zhmCJK.tfm zhm24f3.tfm
+zhmCJK.tfm zhm24f4.tfm
+zhmCJK.tfm zhm24f5.tfm
+zhmCJK.tfm zhm24f6.tfm
+zhmCJK.tfm zhm24f7.tfm
+zhmCJK.tfm zhm24f8.tfm
+zhmCJK.tfm zhm24f9.tfm
+zhmCJK.tfm zhm24fa.tfm
+zhmCJK.tfm zhm24fb.tfm
+zhmCJK.tfm zhm24fc.tfm
+zhmCJK.tfm zhm24fd.tfm
+zhmCJK.tfm zhm24fe.tfm
+zhmCJK.tfm zhm24ff.tfm
+zhmCJK.tfm zhm2500.tfm
+zhmCJK.tfm zhm2501.tfm
+zhmCJK.tfm zhm2502.tfm
+zhmCJK.tfm zhm2503.tfm
+zhmCJK.tfm zhm2504.tfm
+zhmCJK.tfm zhm2505.tfm
+zhmCJK.tfm zhm2506.tfm
+zhmCJK.tfm zhm2507.tfm
+zhmCJK.tfm zhm2508.tfm
+zhmCJK.tfm zhm2509.tfm
+zhmCJK.tfm zhm250a.tfm
+zhmCJK.tfm zhm250b.tfm
+zhmCJK.tfm zhm250c.tfm
+zhmCJK.tfm zhm250d.tfm
+zhmCJK.tfm zhm250e.tfm
+zhmCJK.tfm zhm250f.tfm
+zhmCJK.tfm zhm2510.tfm
+zhmCJK.tfm zhm2511.tfm
+zhmCJK.tfm zhm2512.tfm
+zhmCJK.tfm zhm2513.tfm
+zhmCJK.tfm zhm2514.tfm
+zhmCJK.tfm zhm2515.tfm
+zhmCJK.tfm zhm2516.tfm
+zhmCJK.tfm zhm2517.tfm
+zhmCJK.tfm zhm2518.tfm
+zhmCJK.tfm zhm2519.tfm
+zhmCJK.tfm zhm251a.tfm
+zhmCJK.tfm zhm251b.tfm
+zhmCJK.tfm zhm251c.tfm
+zhmCJK.tfm zhm251d.tfm
+zhmCJK.tfm zhm251e.tfm
+zhmCJK.tfm zhm251f.tfm
+zhmCJK.tfm zhm2520.tfm
+zhmCJK.tfm zhm2521.tfm
+zhmCJK.tfm zhm2522.tfm
+zhmCJK.tfm zhm2523.tfm
+zhmCJK.tfm zhm2524.tfm
+zhmCJK.tfm zhm2525.tfm
+zhmCJK.tfm zhm2526.tfm
+zhmCJK.tfm zhm2527.tfm
+zhmCJK.tfm zhm2528.tfm
+zhmCJK.tfm zhm2529.tfm
+zhmCJK.tfm zhm252a.tfm
+zhmCJK.tfm zhm252b.tfm
+zhmCJK.tfm zhm252c.tfm
+zhmCJK.tfm zhm252d.tfm
+zhmCJK.tfm zhm252e.tfm
+zhmCJK.tfm zhm252f.tfm
+zhmCJK.tfm zhm2530.tfm
+zhmCJK.tfm zhm2531.tfm
+zhmCJK.tfm zhm2532.tfm
+zhmCJK.tfm zhm2533.tfm
+zhmCJK.tfm zhm2534.tfm
+zhmCJK.tfm zhm2535.tfm
+zhmCJK.tfm zhm2536.tfm
+zhmCJK.tfm zhm2537.tfm
+zhmCJK.tfm zhm2538.tfm
+zhmCJK.tfm zhm2539.tfm
+zhmCJK.tfm zhm253a.tfm
+zhmCJK.tfm zhm253b.tfm
+zhmCJK.tfm zhm253c.tfm
+zhmCJK.tfm zhm253d.tfm
+zhmCJK.tfm zhm253e.tfm
+zhmCJK.tfm zhm253f.tfm
+zhmCJK.tfm zhm2540.tfm
+zhmCJK.tfm zhm2541.tfm
+zhmCJK.tfm zhm2542.tfm
+zhmCJK.tfm zhm2543.tfm
+zhmCJK.tfm zhm2544.tfm
+zhmCJK.tfm zhm2545.tfm
+zhmCJK.tfm zhm2546.tfm
+zhmCJK.tfm zhm2547.tfm
+zhmCJK.tfm zhm2548.tfm
+zhmCJK.tfm zhm2549.tfm
+zhmCJK.tfm zhm254a.tfm
+zhmCJK.tfm zhm254b.tfm
+zhmCJK.tfm zhm254c.tfm
+zhmCJK.tfm zhm254d.tfm
+zhmCJK.tfm zhm254e.tfm
+zhmCJK.tfm zhm254f.tfm
+zhmCJK.tfm zhm2550.tfm
+zhmCJK.tfm zhm2551.tfm
+zhmCJK.tfm zhm2552.tfm
+zhmCJK.tfm zhm2553.tfm
+zhmCJK.tfm zhm2554.tfm
+zhmCJK.tfm zhm2555.tfm
+zhmCJK.tfm zhm2556.tfm
+zhmCJK.tfm zhm2557.tfm
+zhmCJK.tfm zhm2558.tfm
+zhmCJK.tfm zhm2559.tfm
+zhmCJK.tfm zhm255a.tfm
+zhmCJK.tfm zhm255b.tfm
+zhmCJK.tfm zhm255c.tfm
+zhmCJK.tfm zhm255d.tfm
+zhmCJK.tfm zhm255e.tfm
+zhmCJK.tfm zhm255f.tfm
+zhmCJK.tfm zhm2560.tfm
+zhmCJK.tfm zhm2561.tfm
+zhmCJK.tfm zhm2562.tfm
+zhmCJK.tfm zhm2563.tfm
+zhmCJK.tfm zhm2564.tfm
+zhmCJK.tfm zhm2565.tfm
+zhmCJK.tfm zhm2566.tfm
+zhmCJK.tfm zhm2567.tfm
+zhmCJK.tfm zhm2568.tfm
+zhmCJK.tfm zhm2569.tfm
+zhmCJK.tfm zhm256a.tfm
+zhmCJK.tfm zhm256b.tfm
+zhmCJK.tfm zhm256c.tfm
+zhmCJK.tfm zhm256d.tfm
+zhmCJK.tfm zhm256e.tfm
+zhmCJK.tfm zhm256f.tfm
+zhmCJK.tfm zhm2570.tfm
+zhmCJK.tfm zhm2571.tfm
+zhmCJK.tfm zhm2572.tfm
+zhmCJK.tfm zhm2573.tfm
+zhmCJK.tfm zhm2574.tfm
+zhmCJK.tfm zhm2575.tfm
+zhmCJK.tfm zhm2576.tfm
+zhmCJK.tfm zhm2577.tfm
+zhmCJK.tfm zhm2578.tfm
+zhmCJK.tfm zhm2579.tfm
+zhmCJK.tfm zhm257a.tfm
+zhmCJK.tfm zhm257b.tfm
+zhmCJK.tfm zhm257c.tfm
+zhmCJK.tfm zhm257d.tfm
+zhmCJK.tfm zhm257e.tfm
+zhmCJK.tfm zhm257f.tfm
+zhmCJK.tfm zhm2580.tfm
+zhmCJK.tfm zhm2581.tfm
+zhmCJK.tfm zhm2582.tfm
+zhmCJK.tfm zhm2583.tfm
+zhmCJK.tfm zhm2584.tfm
+zhmCJK.tfm zhm2585.tfm
+zhmCJK.tfm zhm2586.tfm
+zhmCJK.tfm zhm2587.tfm
+zhmCJK.tfm zhm2588.tfm
+zhmCJK.tfm zhm2589.tfm
+zhmCJK.tfm zhm258a.tfm
+zhmCJK.tfm zhm258b.tfm
+zhmCJK.tfm zhm258c.tfm
+zhmCJK.tfm zhm258d.tfm
+zhmCJK.tfm zhm258e.tfm
+zhmCJK.tfm zhm258f.tfm
+zhmCJK.tfm zhm2590.tfm
+zhmCJK.tfm zhm2591.tfm
+zhmCJK.tfm zhm2592.tfm
+zhmCJK.tfm zhm2593.tfm
+zhmCJK.tfm zhm2594.tfm
+zhmCJK.tfm zhm2595.tfm
+zhmCJK.tfm zhm2596.tfm
+zhmCJK.tfm zhm2597.tfm
+zhmCJK.tfm zhm2598.tfm
+zhmCJK.tfm zhm2599.tfm
+zhmCJK.tfm zhm259a.tfm
+zhmCJK.tfm zhm259b.tfm
+zhmCJK.tfm zhm259c.tfm
+zhmCJK.tfm zhm259d.tfm
+zhmCJK.tfm zhm259e.tfm
+zhmCJK.tfm zhm259f.tfm
+zhmCJK.tfm zhm25a0.tfm
+zhmCJK.tfm zhm25a1.tfm
+zhmCJK.tfm zhm25a2.tfm
+zhmCJK.tfm zhm25a3.tfm
+zhmCJK.tfm zhm25a4.tfm
+zhmCJK.tfm zhm25a5.tfm
+zhmCJK.tfm zhm25a6.tfm
+zhmCJK.tfm zhm25a7.tfm
+zhmCJK.tfm zhm25a8.tfm
+zhmCJK.tfm zhm25a9.tfm
+zhmCJK.tfm zhm25aa.tfm
+zhmCJK.tfm zhm25ab.tfm
+zhmCJK.tfm zhm25ac.tfm
+zhmCJK.tfm zhm25ad.tfm
+zhmCJK.tfm zhm25ae.tfm
+zhmCJK.tfm zhm25af.tfm
+zhmCJK.tfm zhm25b0.tfm
+zhmCJK.tfm zhm25b1.tfm
+zhmCJK.tfm zhm25b2.tfm
+zhmCJK.tfm zhm25b3.tfm
+zhmCJK.tfm zhm25b4.tfm
+zhmCJK.tfm zhm25b5.tfm
+zhmCJK.tfm zhm25b6.tfm
+zhmCJK.tfm zhm25b7.tfm
+zhmCJK.tfm zhm25b8.tfm
+zhmCJK.tfm zhm25b9.tfm
+zhmCJK.tfm zhm25ba.tfm
+zhmCJK.tfm zhm25bb.tfm
+zhmCJK.tfm zhm25bc.tfm
+zhmCJK.tfm zhm25bd.tfm
+zhmCJK.tfm zhm25be.tfm
+zhmCJK.tfm zhm25bf.tfm
+zhmCJK.tfm zhm25c0.tfm
+zhmCJK.tfm zhm25c1.tfm
+zhmCJK.tfm zhm25c2.tfm
+zhmCJK.tfm zhm25c3.tfm
+zhmCJK.tfm zhm25c4.tfm
+zhmCJK.tfm zhm25c5.tfm
+zhmCJK.tfm zhm25c6.tfm
+zhmCJK.tfm zhm25c7.tfm
+zhmCJK.tfm zhm25c8.tfm
+zhmCJK.tfm zhm25c9.tfm
+zhmCJK.tfm zhm25ca.tfm
+zhmCJK.tfm zhm25cb.tfm
+zhmCJK.tfm zhm25cc.tfm
+zhmCJK.tfm zhm25cd.tfm
+zhmCJK.tfm zhm25ce.tfm
+zhmCJK.tfm zhm25cf.tfm
+zhmCJK.tfm zhm25d0.tfm
+zhmCJK.tfm zhm25d1.tfm
+zhmCJK.tfm zhm25d2.tfm
+zhmCJK.tfm zhm25d3.tfm
+zhmCJK.tfm zhm25d4.tfm
+zhmCJK.tfm zhm25d5.tfm
+zhmCJK.tfm zhm25d6.tfm
+zhmCJK.tfm zhm25d7.tfm
+zhmCJK.tfm zhm25d8.tfm
+zhmCJK.tfm zhm25d9.tfm
+zhmCJK.tfm zhm25da.tfm
+zhmCJK.tfm zhm25db.tfm
+zhmCJK.tfm zhm25dc.tfm
+zhmCJK.tfm zhm25dd.tfm
+zhmCJK.tfm zhm25de.tfm
+zhmCJK.tfm zhm25df.tfm
+zhmCJK.tfm zhm25e0.tfm
+zhmCJK.tfm zhm25e1.tfm
+zhmCJK.tfm zhm25e2.tfm
+zhmCJK.tfm zhm25e3.tfm
+zhmCJK.tfm zhm25e4.tfm
+zhmCJK.tfm zhm25e5.tfm
+zhmCJK.tfm zhm25e6.tfm
+zhmCJK.tfm zhm25e7.tfm
+zhmCJK.tfm zhm25e8.tfm
+zhmCJK.tfm zhm25e9.tfm
+zhmCJK.tfm zhm25ea.tfm
+zhmCJK.tfm zhm25eb.tfm
+zhmCJK.tfm zhm25ec.tfm
+zhmCJK.tfm zhm25ed.tfm
+zhmCJK.tfm zhm25ee.tfm
+zhmCJK.tfm zhm25ef.tfm
+zhmCJK.tfm zhm25f0.tfm
+zhmCJK.tfm zhm25f1.tfm
+zhmCJK.tfm zhm25f2.tfm
+zhmCJK.tfm zhm25f3.tfm
+zhmCJK.tfm zhm25f4.tfm
+zhmCJK.tfm zhm25f5.tfm
+zhmCJK.tfm zhm25f6.tfm
+zhmCJK.tfm zhm25f7.tfm
+zhmCJK.tfm zhm25f8.tfm
+zhmCJK.tfm zhm25f9.tfm
+zhmCJK.tfm zhm25fa.tfm
+zhmCJK.tfm zhm25fb.tfm
+zhmCJK.tfm zhm25fc.tfm
+zhmCJK.tfm zhm25fd.tfm
+zhmCJK.tfm zhm25fe.tfm
+zhmCJK.tfm zhm25ff.tfm
+zhmCJK.tfm zhm2600.tfm
+zhmCJK.tfm zhm2601.tfm
+zhmCJK.tfm zhm2602.tfm
+zhmCJK.tfm zhm2603.tfm
+zhmCJK.tfm zhm2604.tfm
+zhmCJK.tfm zhm2605.tfm
+zhmCJK.tfm zhm2606.tfm
+zhmCJK.tfm zhm2607.tfm
+zhmCJK.tfm zhm2608.tfm
+zhmCJK.tfm zhm2609.tfm
+zhmCJK.tfm zhm260a.tfm
+zhmCJK.tfm zhm260b.tfm
+zhmCJK.tfm zhm260c.tfm
+zhmCJK.tfm zhm260d.tfm
+zhmCJK.tfm zhm260e.tfm
+zhmCJK.tfm zhm260f.tfm
+zhmCJK.tfm zhm2610.tfm
+zhmCJK.tfm zhm2611.tfm
+zhmCJK.tfm zhm2612.tfm
+zhmCJK.tfm zhm2613.tfm
+zhmCJK.tfm zhm2614.tfm
+zhmCJK.tfm zhm2615.tfm
+zhmCJK.tfm zhm2616.tfm
+zhmCJK.tfm zhm2617.tfm
+zhmCJK.tfm zhm2618.tfm
+zhmCJK.tfm zhm2619.tfm
+zhmCJK.tfm zhm261a.tfm
+zhmCJK.tfm zhm261b.tfm
+zhmCJK.tfm zhm261c.tfm
+zhmCJK.tfm zhm261d.tfm
+zhmCJK.tfm zhm261e.tfm
+zhmCJK.tfm zhm261f.tfm
+zhmCJK.tfm zhm2620.tfm
+zhmCJK.tfm zhm2621.tfm
+zhmCJK.tfm zhm2622.tfm
+zhmCJK.tfm zhm2623.tfm
+zhmCJK.tfm zhm2624.tfm
+zhmCJK.tfm zhm2625.tfm
+zhmCJK.tfm zhm2626.tfm
+zhmCJK.tfm zhm2627.tfm
+zhmCJK.tfm zhm2628.tfm
+zhmCJK.tfm zhm2629.tfm
+zhmCJK.tfm zhm262a.tfm
+zhmCJK.tfm zhm262b.tfm
+zhmCJK.tfm zhm262c.tfm
+zhmCJK.tfm zhm262d.tfm
+zhmCJK.tfm zhm262e.tfm
+zhmCJK.tfm zhm262f.tfm
+zhmCJK.tfm zhm2630.tfm
+zhmCJK.tfm zhm2631.tfm
+zhmCJK.tfm zhm2632.tfm
+zhmCJK.tfm zhm2633.tfm
+zhmCJK.tfm zhm2634.tfm
+zhmCJK.tfm zhm2635.tfm
+zhmCJK.tfm zhm2636.tfm
+zhmCJK.tfm zhm2637.tfm
+zhmCJK.tfm zhm2638.tfm
+zhmCJK.tfm zhm2639.tfm
+zhmCJK.tfm zhm263a.tfm
+zhmCJK.tfm zhm263b.tfm
+zhmCJK.tfm zhm263c.tfm
+zhmCJK.tfm zhm263d.tfm
+zhmCJK.tfm zhm263e.tfm
+zhmCJK.tfm zhm263f.tfm
+zhmCJK.tfm zhm2640.tfm
+zhmCJK.tfm zhm2641.tfm
+zhmCJK.tfm zhm2642.tfm
+zhmCJK.tfm zhm2643.tfm
+zhmCJK.tfm zhm2644.tfm
+zhmCJK.tfm zhm2645.tfm
+zhmCJK.tfm zhm2646.tfm
+zhmCJK.tfm zhm2647.tfm
+zhmCJK.tfm zhm2648.tfm
+zhmCJK.tfm zhm2649.tfm
+zhmCJK.tfm zhm264a.tfm
+zhmCJK.tfm zhm264b.tfm
+zhmCJK.tfm zhm264c.tfm
+zhmCJK.tfm zhm264d.tfm
+zhmCJK.tfm zhm264e.tfm
+zhmCJK.tfm zhm264f.tfm
+zhmCJK.tfm zhm2650.tfm
+zhmCJK.tfm zhm2651.tfm
+zhmCJK.tfm zhm2652.tfm
+zhmCJK.tfm zhm2653.tfm
+zhmCJK.tfm zhm2654.tfm
+zhmCJK.tfm zhm2655.tfm
+zhmCJK.tfm zhm2656.tfm
+zhmCJK.tfm zhm2657.tfm
+zhmCJK.tfm zhm2658.tfm
+zhmCJK.tfm zhm2659.tfm
+zhmCJK.tfm zhm265a.tfm
+zhmCJK.tfm zhm265b.tfm
+zhmCJK.tfm zhm265c.tfm
+zhmCJK.tfm zhm265d.tfm
+zhmCJK.tfm zhm265e.tfm
+zhmCJK.tfm zhm265f.tfm
+zhmCJK.tfm zhm2660.tfm
+zhmCJK.tfm zhm2661.tfm
+zhmCJK.tfm zhm2662.tfm
+zhmCJK.tfm zhm2663.tfm
+zhmCJK.tfm zhm2664.tfm
+zhmCJK.tfm zhm2665.tfm
+zhmCJK.tfm zhm2666.tfm
+zhmCJK.tfm zhm2667.tfm
+zhmCJK.tfm zhm2668.tfm
+zhmCJK.tfm zhm2669.tfm
+zhmCJK.tfm zhm266a.tfm
+zhmCJK.tfm zhm266b.tfm
+zhmCJK.tfm zhm266c.tfm
+zhmCJK.tfm zhm266d.tfm
+zhmCJK.tfm zhm266e.tfm
+zhmCJK.tfm zhm266f.tfm
+zhmCJK.tfm zhm2670.tfm
+zhmCJK.tfm zhm2671.tfm
+zhmCJK.tfm zhm2672.tfm
+zhmCJK.tfm zhm2673.tfm
+zhmCJK.tfm zhm2674.tfm
+zhmCJK.tfm zhm2675.tfm
+zhmCJK.tfm zhm2676.tfm
+zhmCJK.tfm zhm2677.tfm
+zhmCJK.tfm zhm2678.tfm
+zhmCJK.tfm zhm2679.tfm
+zhmCJK.tfm zhm267a.tfm
+zhmCJK.tfm zhm267b.tfm
+zhmCJK.tfm zhm267c.tfm
+zhmCJK.tfm zhm267d.tfm
+zhmCJK.tfm zhm267e.tfm
+zhmCJK.tfm zhm267f.tfm
+zhmCJK.tfm zhm2680.tfm
+zhmCJK.tfm zhm2681.tfm
+zhmCJK.tfm zhm2682.tfm
+zhmCJK.tfm zhm2683.tfm
+zhmCJK.tfm zhm2684.tfm
+zhmCJK.tfm zhm2685.tfm
+zhmCJK.tfm zhm2686.tfm
+zhmCJK.tfm zhm2687.tfm
+zhmCJK.tfm zhm2688.tfm
+zhmCJK.tfm zhm2689.tfm
+zhmCJK.tfm zhm268a.tfm
+zhmCJK.tfm zhm268b.tfm
+zhmCJK.tfm zhm268c.tfm
+zhmCJK.tfm zhm268d.tfm
+zhmCJK.tfm zhm268e.tfm
+zhmCJK.tfm zhm268f.tfm
+zhmCJK.tfm zhm2690.tfm
+zhmCJK.tfm zhm2691.tfm
+zhmCJK.tfm zhm2692.tfm
+zhmCJK.tfm zhm2693.tfm
+zhmCJK.tfm zhm2694.tfm
+zhmCJK.tfm zhm2695.tfm
+zhmCJK.tfm zhm2696.tfm
+zhmCJK.tfm zhm2697.tfm
+zhmCJK.tfm zhm2698.tfm
+zhmCJK.tfm zhm2699.tfm
+zhmCJK.tfm zhm269a.tfm
+zhmCJK.tfm zhm269b.tfm
+zhmCJK.tfm zhm269c.tfm
+zhmCJK.tfm zhm269d.tfm
+zhmCJK.tfm zhm269e.tfm
+zhmCJK.tfm zhm269f.tfm
+zhmCJK.tfm zhm26a0.tfm
+zhmCJK.tfm zhm26a1.tfm
+zhmCJK.tfm zhm26a2.tfm
+zhmCJK.tfm zhm26a3.tfm
+zhmCJK.tfm zhm26a4.tfm
+zhmCJK.tfm zhm26a5.tfm
+zhmCJK.tfm zhm26a6.tfm
+zhmCJK.tfm zhm26a7.tfm
+zhmCJK.tfm zhm26a8.tfm
+zhmCJK.tfm zhm26a9.tfm
+zhmCJK.tfm zhm26aa.tfm
+zhmCJK.tfm zhm26ab.tfm
+zhmCJK.tfm zhm26ac.tfm
+zhmCJK.tfm zhm26ad.tfm
+zhmCJK.tfm zhm26ae.tfm
+zhmCJK.tfm zhm26af.tfm
+zhmCJK.tfm zhm26b0.tfm
+zhmCJK.tfm zhm26b1.tfm
+zhmCJK.tfm zhm26b2.tfm
+zhmCJK.tfm zhm26b3.tfm
+zhmCJK.tfm zhm26b4.tfm
+zhmCJK.tfm zhm26b5.tfm
+zhmCJK.tfm zhm26b6.tfm
+zhmCJK.tfm zhm26b7.tfm
+zhmCJK.tfm zhm26b8.tfm
+zhmCJK.tfm zhm26b9.tfm
+zhmCJK.tfm zhm26ba.tfm
+zhmCJK.tfm zhm26bb.tfm
+zhmCJK.tfm zhm26bc.tfm
+zhmCJK.tfm zhm26bd.tfm
+zhmCJK.tfm zhm26be.tfm
+zhmCJK.tfm zhm26bf.tfm
+zhmCJK.tfm zhm26c0.tfm
+zhmCJK.tfm zhm26c1.tfm
+zhmCJK.tfm zhm26c2.tfm
+zhmCJK.tfm zhm26c3.tfm
+zhmCJK.tfm zhm26c4.tfm
+zhmCJK.tfm zhm26c5.tfm
+zhmCJK.tfm zhm26c6.tfm
+zhmCJK.tfm zhm26c7.tfm
+zhmCJK.tfm zhm26c8.tfm
+zhmCJK.tfm zhm26c9.tfm
+zhmCJK.tfm zhm26ca.tfm
+zhmCJK.tfm zhm26cb.tfm
+zhmCJK.tfm zhm26cc.tfm
+zhmCJK.tfm zhm26cd.tfm
+zhmCJK.tfm zhm26ce.tfm
+zhmCJK.tfm zhm26cf.tfm
+zhmCJK.tfm zhm26d0.tfm
+zhmCJK.tfm zhm26d1.tfm
+zhmCJK.tfm zhm26d2.tfm
+zhmCJK.tfm zhm26d3.tfm
+zhmCJK.tfm zhm26d4.tfm
+zhmCJK.tfm zhm26d5.tfm
+zhmCJK.tfm zhm26d6.tfm
+zhmCJK.tfm zhm26d7.tfm
+zhmCJK.tfm zhm26d8.tfm
+zhmCJK.tfm zhm26d9.tfm
+zhmCJK.tfm zhm26da.tfm
+zhmCJK.tfm zhm26db.tfm
+zhmCJK.tfm zhm26dc.tfm
+zhmCJK.tfm zhm26dd.tfm
+zhmCJK.tfm zhm26de.tfm
+zhmCJK.tfm zhm26df.tfm
+zhmCJK.tfm zhm26e0.tfm
+zhmCJK.tfm zhm26e1.tfm
+zhmCJK.tfm zhm26e2.tfm
+zhmCJK.tfm zhm26e3.tfm
+zhmCJK.tfm zhm26e4.tfm
+zhmCJK.tfm zhm26e5.tfm
+zhmCJK.tfm zhm26e6.tfm
+zhmCJK.tfm zhm26e7.tfm
+zhmCJK.tfm zhm26e8.tfm
+zhmCJK.tfm zhm26e9.tfm
+zhmCJK.tfm zhm26ea.tfm
+zhmCJK.tfm zhm26eb.tfm
+zhmCJK.tfm zhm26ec.tfm
+zhmCJK.tfm zhm26ed.tfm
+zhmCJK.tfm zhm26ee.tfm
+zhmCJK.tfm zhm26ef.tfm
+zhmCJK.tfm zhm26f0.tfm
+zhmCJK.tfm zhm26f1.tfm
+zhmCJK.tfm zhm26f2.tfm
+zhmCJK.tfm zhm26f3.tfm
+zhmCJK.tfm zhm26f4.tfm
+zhmCJK.tfm zhm26f5.tfm
+zhmCJK.tfm zhm26f6.tfm
+zhmCJK.tfm zhm26f7.tfm
+zhmCJK.tfm zhm26f8.tfm
+zhmCJK.tfm zhm26f9.tfm
+zhmCJK.tfm zhm26fa.tfm
+zhmCJK.tfm zhm26fb.tfm
+zhmCJK.tfm zhm26fc.tfm
+zhmCJK.tfm zhm26fd.tfm
+zhmCJK.tfm zhm26fe.tfm
+zhmCJK.tfm zhm26ff.tfm
+zhmCJK.tfm zhm2700.tfm
+zhmCJK.tfm zhm2701.tfm
+zhmCJK.tfm zhm2702.tfm
+zhmCJK.tfm zhm2703.tfm
+zhmCJK.tfm zhm2704.tfm
+zhmCJK.tfm zhm2705.tfm
+zhmCJK.tfm zhm2706.tfm
+zhmCJK.tfm zhm2707.tfm
+zhmCJK.tfm zhm2708.tfm
+zhmCJK.tfm zhm2709.tfm
+zhmCJK.tfm zhm270a.tfm
+zhmCJK.tfm zhm270b.tfm
+zhmCJK.tfm zhm270c.tfm
+zhmCJK.tfm zhm270d.tfm
+zhmCJK.tfm zhm270e.tfm
+zhmCJK.tfm zhm270f.tfm
+zhmCJK.tfm zhm2710.tfm
+zhmCJK.tfm zhm2711.tfm
+zhmCJK.tfm zhm2712.tfm
+zhmCJK.tfm zhm2713.tfm
+zhmCJK.tfm zhm2714.tfm
+zhmCJK.tfm zhm2715.tfm
+zhmCJK.tfm zhm2716.tfm
+zhmCJK.tfm zhm2717.tfm
+zhmCJK.tfm zhm2718.tfm
+zhmCJK.tfm zhm2719.tfm
+zhmCJK.tfm zhm271a.tfm
+zhmCJK.tfm zhm271b.tfm
+zhmCJK.tfm zhm271c.tfm
+zhmCJK.tfm zhm271d.tfm
+zhmCJK.tfm zhm271e.tfm
+zhmCJK.tfm zhm271f.tfm
+zhmCJK.tfm zhm2720.tfm
+zhmCJK.tfm zhm2721.tfm
+zhmCJK.tfm zhm2722.tfm
+zhmCJK.tfm zhm2723.tfm
+zhmCJK.tfm zhm2724.tfm
+zhmCJK.tfm zhm2725.tfm
+zhmCJK.tfm zhm2726.tfm
+zhmCJK.tfm zhm2727.tfm
+zhmCJK.tfm zhm2728.tfm
+zhmCJK.tfm zhm2729.tfm
+zhmCJK.tfm zhm272a.tfm
+zhmCJK.tfm zhm272b.tfm
+zhmCJK.tfm zhm272c.tfm
+zhmCJK.tfm zhm272d.tfm
+zhmCJK.tfm zhm272e.tfm
+zhmCJK.tfm zhm272f.tfm
+zhmCJK.tfm zhm2730.tfm
+zhmCJK.tfm zhm2731.tfm
+zhmCJK.tfm zhm2732.tfm
+zhmCJK.tfm zhm2733.tfm
+zhmCJK.tfm zhm2734.tfm
+zhmCJK.tfm zhm2735.tfm
+zhmCJK.tfm zhm2736.tfm
+zhmCJK.tfm zhm2737.tfm
+zhmCJK.tfm zhm2738.tfm
+zhmCJK.tfm zhm2739.tfm
+zhmCJK.tfm zhm273a.tfm
+zhmCJK.tfm zhm273b.tfm
+zhmCJK.tfm zhm273c.tfm
+zhmCJK.tfm zhm273d.tfm
+zhmCJK.tfm zhm273e.tfm
+zhmCJK.tfm zhm273f.tfm
+zhmCJK.tfm zhm2740.tfm
+zhmCJK.tfm zhm2741.tfm
+zhmCJK.tfm zhm2742.tfm
+zhmCJK.tfm zhm2743.tfm
+zhmCJK.tfm zhm2744.tfm
+zhmCJK.tfm zhm2745.tfm
+zhmCJK.tfm zhm2746.tfm
+zhmCJK.tfm zhm2747.tfm
+zhmCJK.tfm zhm2748.tfm
+zhmCJK.tfm zhm2749.tfm
+zhmCJK.tfm zhm274a.tfm
+zhmCJK.tfm zhm274b.tfm
+zhmCJK.tfm zhm274c.tfm
+zhmCJK.tfm zhm274d.tfm
+zhmCJK.tfm zhm274e.tfm
+zhmCJK.tfm zhm274f.tfm
+zhmCJK.tfm zhm2750.tfm
+zhmCJK.tfm zhm2751.tfm
+zhmCJK.tfm zhm2752.tfm
+zhmCJK.tfm zhm2753.tfm
+zhmCJK.tfm zhm2754.tfm
+zhmCJK.tfm zhm2755.tfm
+zhmCJK.tfm zhm2756.tfm
+zhmCJK.tfm zhm2757.tfm
+zhmCJK.tfm zhm2758.tfm
+zhmCJK.tfm zhm2759.tfm
+zhmCJK.tfm zhm275a.tfm
+zhmCJK.tfm zhm275b.tfm
+zhmCJK.tfm zhm275c.tfm
+zhmCJK.tfm zhm275d.tfm
+zhmCJK.tfm zhm275e.tfm
+zhmCJK.tfm zhm275f.tfm
+zhmCJK.tfm zhm2760.tfm
+zhmCJK.tfm zhm2761.tfm
+zhmCJK.tfm zhm2762.tfm
+zhmCJK.tfm zhm2763.tfm
+zhmCJK.tfm zhm2764.tfm
+zhmCJK.tfm zhm2765.tfm
+zhmCJK.tfm zhm2766.tfm
+zhmCJK.tfm zhm2767.tfm
+zhmCJK.tfm zhm2768.tfm
+zhmCJK.tfm zhm2769.tfm
+zhmCJK.tfm zhm276a.tfm
+zhmCJK.tfm zhm276b.tfm
+zhmCJK.tfm zhm276c.tfm
+zhmCJK.tfm zhm276d.tfm
+zhmCJK.tfm zhm276e.tfm
+zhmCJK.tfm zhm276f.tfm
+zhmCJK.tfm zhm2770.tfm
+zhmCJK.tfm zhm2771.tfm
+zhmCJK.tfm zhm2772.tfm
+zhmCJK.tfm zhm2773.tfm
+zhmCJK.tfm zhm2774.tfm
+zhmCJK.tfm zhm2775.tfm
+zhmCJK.tfm zhm2776.tfm
+zhmCJK.tfm zhm2777.tfm
+zhmCJK.tfm zhm2778.tfm
+zhmCJK.tfm zhm2779.tfm
+zhmCJK.tfm zhm277a.tfm
+zhmCJK.tfm zhm277b.tfm
+zhmCJK.tfm zhm277c.tfm
+zhmCJK.tfm zhm277d.tfm
+zhmCJK.tfm zhm277e.tfm
+zhmCJK.tfm zhm277f.tfm
+zhmCJK.tfm zhm2780.tfm
+zhmCJK.tfm zhm2781.tfm
+zhmCJK.tfm zhm2782.tfm
+zhmCJK.tfm zhm2783.tfm
+zhmCJK.tfm zhm2784.tfm
+zhmCJK.tfm zhm2785.tfm
+zhmCJK.tfm zhm2786.tfm
+zhmCJK.tfm zhm2787.tfm
+zhmCJK.tfm zhm2788.tfm
+zhmCJK.tfm zhm2789.tfm
+zhmCJK.tfm zhm278a.tfm
+zhmCJK.tfm zhm278b.tfm
+zhmCJK.tfm zhm278c.tfm
+zhmCJK.tfm zhm278d.tfm
+zhmCJK.tfm zhm278e.tfm
+zhmCJK.tfm zhm278f.tfm
+zhmCJK.tfm zhm2790.tfm
+zhmCJK.tfm zhm2791.tfm
+zhmCJK.tfm zhm2792.tfm
+zhmCJK.tfm zhm2793.tfm
+zhmCJK.tfm zhm2794.tfm
+zhmCJK.tfm zhm2795.tfm
+zhmCJK.tfm zhm2796.tfm
+zhmCJK.tfm zhm2797.tfm
+zhmCJK.tfm zhm2798.tfm
+zhmCJK.tfm zhm2799.tfm
+zhmCJK.tfm zhm279a.tfm
+zhmCJK.tfm zhm279b.tfm
+zhmCJK.tfm zhm279c.tfm
+zhmCJK.tfm zhm279d.tfm
+zhmCJK.tfm zhm279e.tfm
+zhmCJK.tfm zhm279f.tfm
+zhmCJK.tfm zhm27a0.tfm
+zhmCJK.tfm zhm27a1.tfm
+zhmCJK.tfm zhm27a2.tfm
+zhmCJK.tfm zhm27a3.tfm
+zhmCJK.tfm zhm27a4.tfm
+zhmCJK.tfm zhm27a5.tfm
+zhmCJK.tfm zhm27a6.tfm
+zhmCJK.tfm zhm27a7.tfm
+zhmCJK.tfm zhm27a8.tfm
+zhmCJK.tfm zhm27a9.tfm
+zhmCJK.tfm zhm27aa.tfm
+zhmCJK.tfm zhm27ab.tfm
+zhmCJK.tfm zhm27ac.tfm
+zhmCJK.tfm zhm27ad.tfm
+zhmCJK.tfm zhm27ae.tfm
+zhmCJK.tfm zhm27af.tfm
+zhmCJK.tfm zhm27b0.tfm
+zhmCJK.tfm zhm27b1.tfm
+zhmCJK.tfm zhm27b2.tfm
+zhmCJK.tfm zhm27b3.tfm
+zhmCJK.tfm zhm27b4.tfm
+zhmCJK.tfm zhm27b5.tfm
+zhmCJK.tfm zhm27b6.tfm
+zhmCJK.tfm zhm27b7.tfm
+zhmCJK.tfm zhm27b8.tfm
+zhmCJK.tfm zhm27b9.tfm
+zhmCJK.tfm zhm27ba.tfm
+zhmCJK.tfm zhm27bb.tfm
+zhmCJK.tfm zhm27bc.tfm
+zhmCJK.tfm zhm27bd.tfm
+zhmCJK.tfm zhm27be.tfm
+zhmCJK.tfm zhm27bf.tfm
+zhmCJK.tfm zhm27c0.tfm
+zhmCJK.tfm zhm27c1.tfm
+zhmCJK.tfm zhm27c2.tfm
+zhmCJK.tfm zhm27c3.tfm
+zhmCJK.tfm zhm27c4.tfm
+zhmCJK.tfm zhm27c5.tfm
+zhmCJK.tfm zhm27c6.tfm
+zhmCJK.tfm zhm27c7.tfm
+zhmCJK.tfm zhm27c8.tfm
+zhmCJK.tfm zhm27c9.tfm
+zhmCJK.tfm zhm27ca.tfm
+zhmCJK.tfm zhm27cb.tfm
+zhmCJK.tfm zhm27cc.tfm
+zhmCJK.tfm zhm27cd.tfm
+zhmCJK.tfm zhm27ce.tfm
+zhmCJK.tfm zhm27cf.tfm
+zhmCJK.tfm zhm27d0.tfm
+zhmCJK.tfm zhm27d1.tfm
+zhmCJK.tfm zhm27d2.tfm
+zhmCJK.tfm zhm27d3.tfm
+zhmCJK.tfm zhm27d4.tfm
+zhmCJK.tfm zhm27d5.tfm
+zhmCJK.tfm zhm27d6.tfm
+zhmCJK.tfm zhm27d7.tfm
+zhmCJK.tfm zhm27d8.tfm
+zhmCJK.tfm zhm27d9.tfm
+zhmCJK.tfm zhm27da.tfm
+zhmCJK.tfm zhm27db.tfm
+zhmCJK.tfm zhm27dc.tfm
+zhmCJK.tfm zhm27dd.tfm
+zhmCJK.tfm zhm27de.tfm
+zhmCJK.tfm zhm27df.tfm
+zhmCJK.tfm zhm27e0.tfm
+zhmCJK.tfm zhm27e1.tfm
+zhmCJK.tfm zhm27e2.tfm
+zhmCJK.tfm zhm27e3.tfm
+zhmCJK.tfm zhm27e4.tfm
+zhmCJK.tfm zhm27e5.tfm
+zhmCJK.tfm zhm27e6.tfm
+zhmCJK.tfm zhm27e7.tfm
+zhmCJK.tfm zhm27e8.tfm
+zhmCJK.tfm zhm27e9.tfm
+zhmCJK.tfm zhm27ea.tfm
+zhmCJK.tfm zhm27eb.tfm
+zhmCJK.tfm zhm27ec.tfm
+zhmCJK.tfm zhm27ed.tfm
+zhmCJK.tfm zhm27ee.tfm
+zhmCJK.tfm zhm27ef.tfm
+zhmCJK.tfm zhm27f0.tfm
+zhmCJK.tfm zhm27f1.tfm
+zhmCJK.tfm zhm27f2.tfm
+zhmCJK.tfm zhm27f3.tfm
+zhmCJK.tfm zhm27f4.tfm
+zhmCJK.tfm zhm27f5.tfm
+zhmCJK.tfm zhm27f6.tfm
+zhmCJK.tfm zhm27f7.tfm
+zhmCJK.tfm zhm27f8.tfm
+zhmCJK.tfm zhm27f9.tfm
+zhmCJK.tfm zhm27fa.tfm
+zhmCJK.tfm zhm27fb.tfm
+zhmCJK.tfm zhm27fc.tfm
+zhmCJK.tfm zhm27fd.tfm
+zhmCJK.tfm zhm27fe.tfm
+zhmCJK.tfm zhm27ff.tfm
+zhmCJK.tfm zhm2800.tfm
+zhmCJK.tfm zhm2801.tfm
+zhmCJK.tfm zhm2802.tfm
+zhmCJK.tfm zhm2803.tfm
+zhmCJK.tfm zhm2804.tfm
+zhmCJK.tfm zhm2805.tfm
+zhmCJK.tfm zhm2806.tfm
+zhmCJK.tfm zhm2807.tfm
+zhmCJK.tfm zhm2808.tfm
+zhmCJK.tfm zhm2809.tfm
+zhmCJK.tfm zhm280a.tfm
+zhmCJK.tfm zhm280b.tfm
+zhmCJK.tfm zhm280c.tfm
+zhmCJK.tfm zhm280d.tfm
+zhmCJK.tfm zhm280e.tfm
+zhmCJK.tfm zhm280f.tfm
+zhmCJK.tfm zhm2810.tfm
+zhmCJK.tfm zhm2811.tfm
+zhmCJK.tfm zhm2812.tfm
+zhmCJK.tfm zhm2813.tfm
+zhmCJK.tfm zhm2814.tfm
+zhmCJK.tfm zhm2815.tfm
+zhmCJK.tfm zhm2816.tfm
+zhmCJK.tfm zhm2817.tfm
+zhmCJK.tfm zhm2818.tfm
+zhmCJK.tfm zhm2819.tfm
+zhmCJK.tfm zhm281a.tfm
+zhmCJK.tfm zhm281b.tfm
+zhmCJK.tfm zhm281c.tfm
+zhmCJK.tfm zhm281d.tfm
+zhmCJK.tfm zhm281e.tfm
+zhmCJK.tfm zhm281f.tfm
+zhmCJK.tfm zhm2820.tfm
+zhmCJK.tfm zhm2821.tfm
+zhmCJK.tfm zhm2822.tfm
+zhmCJK.tfm zhm2823.tfm
+zhmCJK.tfm zhm2824.tfm
+zhmCJK.tfm zhm2825.tfm
+zhmCJK.tfm zhm2826.tfm
+zhmCJK.tfm zhm2827.tfm
+zhmCJK.tfm zhm2828.tfm
+zhmCJK.tfm zhm2829.tfm
+zhmCJK.tfm zhm282a.tfm
+zhmCJK.tfm zhm282b.tfm
+zhmCJK.tfm zhm282c.tfm
+zhmCJK.tfm zhm282d.tfm
+zhmCJK.tfm zhm282e.tfm
+zhmCJK.tfm zhm282f.tfm
+zhmCJK.tfm zhm2830.tfm
+zhmCJK.tfm zhm2831.tfm
+zhmCJK.tfm zhm2832.tfm
+zhmCJK.tfm zhm2833.tfm
+zhmCJK.tfm zhm2834.tfm
+zhmCJK.tfm zhm2835.tfm
+zhmCJK.tfm zhm2836.tfm
+zhmCJK.tfm zhm2837.tfm
+zhmCJK.tfm zhm2838.tfm
+zhmCJK.tfm zhm2839.tfm
+zhmCJK.tfm zhm283a.tfm
+zhmCJK.tfm zhm283b.tfm
+zhmCJK.tfm zhm283c.tfm
+zhmCJK.tfm zhm283d.tfm
+zhmCJK.tfm zhm283e.tfm
+zhmCJK.tfm zhm283f.tfm
+zhmCJK.tfm zhm2840.tfm
+zhmCJK.tfm zhm2841.tfm
+zhmCJK.tfm zhm2842.tfm
+zhmCJK.tfm zhm2843.tfm
+zhmCJK.tfm zhm2844.tfm
+zhmCJK.tfm zhm2845.tfm
+zhmCJK.tfm zhm2846.tfm
+zhmCJK.tfm zhm2847.tfm
+zhmCJK.tfm zhm2848.tfm
+zhmCJK.tfm zhm2849.tfm
+zhmCJK.tfm zhm284a.tfm
+zhmCJK.tfm zhm284b.tfm
+zhmCJK.tfm zhm284c.tfm
+zhmCJK.tfm zhm284d.tfm
+zhmCJK.tfm zhm284e.tfm
+zhmCJK.tfm zhm284f.tfm
+zhmCJK.tfm zhm2850.tfm
+zhmCJK.tfm zhm2851.tfm
+zhmCJK.tfm zhm2852.tfm
+zhmCJK.tfm zhm2853.tfm
+zhmCJK.tfm zhm2854.tfm
+zhmCJK.tfm zhm2855.tfm
+zhmCJK.tfm zhm2856.tfm
+zhmCJK.tfm zhm2857.tfm
+zhmCJK.tfm zhm2858.tfm
+zhmCJK.tfm zhm2859.tfm
+zhmCJK.tfm zhm285a.tfm
+zhmCJK.tfm zhm285b.tfm
+zhmCJK.tfm zhm285c.tfm
+zhmCJK.tfm zhm285d.tfm
+zhmCJK.tfm zhm285e.tfm
+zhmCJK.tfm zhm285f.tfm
+zhmCJK.tfm zhm2860.tfm
+zhmCJK.tfm zhm2861.tfm
+zhmCJK.tfm zhm2862.tfm
+zhmCJK.tfm zhm2863.tfm
+zhmCJK.tfm zhm2864.tfm
+zhmCJK.tfm zhm2865.tfm
+zhmCJK.tfm zhm2866.tfm
+zhmCJK.tfm zhm2867.tfm
+zhmCJK.tfm zhm2868.tfm
+zhmCJK.tfm zhm2869.tfm
+zhmCJK.tfm zhm286a.tfm
+zhmCJK.tfm zhm286b.tfm
+zhmCJK.tfm zhm286c.tfm
+zhmCJK.tfm zhm286d.tfm
+zhmCJK.tfm zhm286e.tfm
+zhmCJK.tfm zhm286f.tfm
+zhmCJK.tfm zhm2870.tfm
+zhmCJK.tfm zhm2871.tfm
+zhmCJK.tfm zhm2872.tfm
+zhmCJK.tfm zhm2873.tfm
+zhmCJK.tfm zhm2874.tfm
+zhmCJK.tfm zhm2875.tfm
+zhmCJK.tfm zhm2876.tfm
+zhmCJK.tfm zhm2877.tfm
+zhmCJK.tfm zhm2878.tfm
+zhmCJK.tfm zhm2879.tfm
+zhmCJK.tfm zhm287a.tfm
+zhmCJK.tfm zhm287b.tfm
+zhmCJK.tfm zhm287c.tfm
+zhmCJK.tfm zhm287d.tfm
+zhmCJK.tfm zhm287e.tfm
+zhmCJK.tfm zhm287f.tfm
+zhmCJK.tfm zhm2880.tfm
+zhmCJK.tfm zhm2881.tfm
+zhmCJK.tfm zhm2882.tfm
+zhmCJK.tfm zhm2883.tfm
+zhmCJK.tfm zhm2884.tfm
+zhmCJK.tfm zhm2885.tfm
+zhmCJK.tfm zhm2886.tfm
+zhmCJK.tfm zhm2887.tfm
+zhmCJK.tfm zhm2888.tfm
+zhmCJK.tfm zhm2889.tfm
+zhmCJK.tfm zhm288a.tfm
+zhmCJK.tfm zhm288b.tfm
+zhmCJK.tfm zhm288c.tfm
+zhmCJK.tfm zhm288d.tfm
+zhmCJK.tfm zhm288e.tfm
+zhmCJK.tfm zhm288f.tfm
+zhmCJK.tfm zhm2890.tfm
+zhmCJK.tfm zhm2891.tfm
+zhmCJK.tfm zhm2892.tfm
+zhmCJK.tfm zhm2893.tfm
+zhmCJK.tfm zhm2894.tfm
+zhmCJK.tfm zhm2895.tfm
+zhmCJK.tfm zhm2896.tfm
+zhmCJK.tfm zhm2897.tfm
+zhmCJK.tfm zhm2898.tfm
+zhmCJK.tfm zhm2899.tfm
+zhmCJK.tfm zhm289a.tfm
+zhmCJK.tfm zhm289b.tfm
+zhmCJK.tfm zhm289c.tfm
+zhmCJK.tfm zhm289d.tfm
+zhmCJK.tfm zhm289e.tfm
+zhmCJK.tfm zhm289f.tfm
+zhmCJK.tfm zhm28a0.tfm
+zhmCJK.tfm zhm28a1.tfm
+zhmCJK.tfm zhm28a2.tfm
+zhmCJK.tfm zhm28a3.tfm
+zhmCJK.tfm zhm28a4.tfm
+zhmCJK.tfm zhm28a5.tfm
+zhmCJK.tfm zhm28a6.tfm
+zhmCJK.tfm zhm28a7.tfm
+zhmCJK.tfm zhm28a8.tfm
+zhmCJK.tfm zhm28a9.tfm
+zhmCJK.tfm zhm28aa.tfm
+zhmCJK.tfm zhm28ab.tfm
+zhmCJK.tfm zhm28ac.tfm
+zhmCJK.tfm zhm28ad.tfm
+zhmCJK.tfm zhm28ae.tfm
+zhmCJK.tfm zhm28af.tfm
+zhmCJK.tfm zhm28b0.tfm
+zhmCJK.tfm zhm28b1.tfm
+zhmCJK.tfm zhm28b2.tfm
+zhmCJK.tfm zhm28b3.tfm
+zhmCJK.tfm zhm28b4.tfm
+zhmCJK.tfm zhm28b5.tfm
+zhmCJK.tfm zhm28b6.tfm
+zhmCJK.tfm zhm28b7.tfm
+zhmCJK.tfm zhm28b8.tfm
+zhmCJK.tfm zhm28b9.tfm
+zhmCJK.tfm zhm28ba.tfm
+zhmCJK.tfm zhm28bb.tfm
+zhmCJK.tfm zhm28bc.tfm
+zhmCJK.tfm zhm28bd.tfm
+zhmCJK.tfm zhm28be.tfm
+zhmCJK.tfm zhm28bf.tfm
+zhmCJK.tfm zhm28c0.tfm
+zhmCJK.tfm zhm28c1.tfm
+zhmCJK.tfm zhm28c2.tfm
+zhmCJK.tfm zhm28c3.tfm
+zhmCJK.tfm zhm28c4.tfm
+zhmCJK.tfm zhm28c5.tfm
+zhmCJK.tfm zhm28c6.tfm
+zhmCJK.tfm zhm28c7.tfm
+zhmCJK.tfm zhm28c8.tfm
+zhmCJK.tfm zhm28c9.tfm
+zhmCJK.tfm zhm28ca.tfm
+zhmCJK.tfm zhm28cb.tfm
+zhmCJK.tfm zhm28cc.tfm
+zhmCJK.tfm zhm28cd.tfm
+zhmCJK.tfm zhm28ce.tfm
+zhmCJK.tfm zhm28cf.tfm
+zhmCJK.tfm zhm28d0.tfm
+zhmCJK.tfm zhm28d1.tfm
+zhmCJK.tfm zhm28d2.tfm
+zhmCJK.tfm zhm28d3.tfm
+zhmCJK.tfm zhm28d4.tfm
+zhmCJK.tfm zhm28d5.tfm
+zhmCJK.tfm zhm28d6.tfm
+zhmCJK.tfm zhm28d7.tfm
+zhmCJK.tfm zhm28d8.tfm
+zhmCJK.tfm zhm28d9.tfm
+zhmCJK.tfm zhm28da.tfm
+zhmCJK.tfm zhm28db.tfm
+zhmCJK.tfm zhm28dc.tfm
+zhmCJK.tfm zhm28dd.tfm
+zhmCJK.tfm zhm28de.tfm
+zhmCJK.tfm zhm28df.tfm
+zhmCJK.tfm zhm28e0.tfm
+zhmCJK.tfm zhm28e1.tfm
+zhmCJK.tfm zhm28e2.tfm
+zhmCJK.tfm zhm28e3.tfm
+zhmCJK.tfm zhm28e4.tfm
+zhmCJK.tfm zhm28e5.tfm
+zhmCJK.tfm zhm28e6.tfm
+zhmCJK.tfm zhm28e7.tfm
+zhmCJK.tfm zhm28e8.tfm
+zhmCJK.tfm zhm28e9.tfm
+zhmCJK.tfm zhm28ea.tfm
+zhmCJK.tfm zhm28eb.tfm
+zhmCJK.tfm zhm28ec.tfm
+zhmCJK.tfm zhm28ed.tfm
+zhmCJK.tfm zhm28ee.tfm
+zhmCJK.tfm zhm28ef.tfm
+zhmCJK.tfm zhm28f0.tfm
+zhmCJK.tfm zhm28f1.tfm
+zhmCJK.tfm zhm28f2.tfm
+zhmCJK.tfm zhm28f3.tfm
+zhmCJK.tfm zhm28f4.tfm
+zhmCJK.tfm zhm28f5.tfm
+zhmCJK.tfm zhm28f6.tfm
+zhmCJK.tfm zhm28f7.tfm
+zhmCJK.tfm zhm28f8.tfm
+zhmCJK.tfm zhm28f9.tfm
+zhmCJK.tfm zhm28fa.tfm
+zhmCJK.tfm zhm28fb.tfm
+zhmCJK.tfm zhm28fc.tfm
+zhmCJK.tfm zhm28fd.tfm
+zhmCJK.tfm zhm28fe.tfm
+zhmCJK.tfm zhm28ff.tfm
+zhmCJK.tfm zhm2900.tfm
+zhmCJK.tfm zhm2901.tfm
+zhmCJK.tfm zhm2902.tfm
+zhmCJK.tfm zhm2903.tfm
+zhmCJK.tfm zhm2904.tfm
+zhmCJK.tfm zhm2905.tfm
+zhmCJK.tfm zhm2906.tfm
+zhmCJK.tfm zhm2907.tfm
+zhmCJK.tfm zhm2908.tfm
+zhmCJK.tfm zhm2909.tfm
+zhmCJK.tfm zhm290a.tfm
+zhmCJK.tfm zhm290b.tfm
+zhmCJK.tfm zhm290c.tfm
+zhmCJK.tfm zhm290d.tfm
+zhmCJK.tfm zhm290e.tfm
+zhmCJK.tfm zhm290f.tfm
+zhmCJK.tfm zhm2910.tfm
+zhmCJK.tfm zhm2911.tfm
+zhmCJK.tfm zhm2912.tfm
+zhmCJK.tfm zhm2913.tfm
+zhmCJK.tfm zhm2914.tfm
+zhmCJK.tfm zhm2915.tfm
+zhmCJK.tfm zhm2916.tfm
+zhmCJK.tfm zhm2917.tfm
+zhmCJK.tfm zhm2918.tfm
+zhmCJK.tfm zhm2919.tfm
+zhmCJK.tfm zhm291a.tfm
+zhmCJK.tfm zhm291b.tfm
+zhmCJK.tfm zhm291c.tfm
+zhmCJK.tfm zhm291d.tfm
+zhmCJK.tfm zhm291e.tfm
+zhmCJK.tfm zhm291f.tfm
+zhmCJK.tfm zhm2920.tfm
+zhmCJK.tfm zhm2921.tfm
+zhmCJK.tfm zhm2922.tfm
+zhmCJK.tfm zhm2923.tfm
+zhmCJK.tfm zhm2924.tfm
+zhmCJK.tfm zhm2925.tfm
+zhmCJK.tfm zhm2926.tfm
+zhmCJK.tfm zhm2927.tfm
+zhmCJK.tfm zhm2928.tfm
+zhmCJK.tfm zhm2929.tfm
+zhmCJK.tfm zhm292a.tfm
+zhmCJK.tfm zhm292b.tfm
+zhmCJK.tfm zhm292c.tfm
+zhmCJK.tfm zhm292d.tfm
+zhmCJK.tfm zhm292e.tfm
+zhmCJK.tfm zhm292f.tfm
+zhmCJK.tfm zhm2930.tfm
+zhmCJK.tfm zhm2931.tfm
+zhmCJK.tfm zhm2932.tfm
+zhmCJK.tfm zhm2933.tfm
+zhmCJK.tfm zhm2934.tfm
+zhmCJK.tfm zhm2935.tfm
+zhmCJK.tfm zhm2936.tfm
+zhmCJK.tfm zhm2937.tfm
+zhmCJK.tfm zhm2938.tfm
+zhmCJK.tfm zhm2939.tfm
+zhmCJK.tfm zhm293a.tfm
+zhmCJK.tfm zhm293b.tfm
+zhmCJK.tfm zhm293c.tfm
+zhmCJK.tfm zhm293d.tfm
+zhmCJK.tfm zhm293e.tfm
+zhmCJK.tfm zhm293f.tfm
+zhmCJK.tfm zhm2940.tfm
+zhmCJK.tfm zhm2941.tfm
+zhmCJK.tfm zhm2942.tfm
+zhmCJK.tfm zhm2943.tfm
+zhmCJK.tfm zhm2944.tfm
+zhmCJK.tfm zhm2945.tfm
+zhmCJK.tfm zhm2946.tfm
+zhmCJK.tfm zhm2947.tfm
+zhmCJK.tfm zhm2948.tfm
+zhmCJK.tfm zhm2949.tfm
+zhmCJK.tfm zhm294a.tfm
+zhmCJK.tfm zhm294b.tfm
+zhmCJK.tfm zhm294c.tfm
+zhmCJK.tfm zhm294d.tfm
+zhmCJK.tfm zhm294e.tfm
+zhmCJK.tfm zhm294f.tfm
+zhmCJK.tfm zhm2950.tfm
+zhmCJK.tfm zhm2951.tfm
+zhmCJK.tfm zhm2952.tfm
+zhmCJK.tfm zhm2953.tfm
+zhmCJK.tfm zhm2954.tfm
+zhmCJK.tfm zhm2955.tfm
+zhmCJK.tfm zhm2956.tfm
+zhmCJK.tfm zhm2957.tfm
+zhmCJK.tfm zhm2958.tfm
+zhmCJK.tfm zhm2959.tfm
+zhmCJK.tfm zhm295a.tfm
+zhmCJK.tfm zhm295b.tfm
+zhmCJK.tfm zhm295c.tfm
+zhmCJK.tfm zhm295d.tfm
+zhmCJK.tfm zhm295e.tfm
+zhmCJK.tfm zhm295f.tfm
+zhmCJK.tfm zhm2960.tfm
+zhmCJK.tfm zhm2961.tfm
+zhmCJK.tfm zhm2962.tfm
+zhmCJK.tfm zhm2963.tfm
+zhmCJK.tfm zhm2964.tfm
+zhmCJK.tfm zhm2965.tfm
+zhmCJK.tfm zhm2966.tfm
+zhmCJK.tfm zhm2967.tfm
+zhmCJK.tfm zhm2968.tfm
+zhmCJK.tfm zhm2969.tfm
+zhmCJK.tfm zhm296a.tfm
+zhmCJK.tfm zhm296b.tfm
+zhmCJK.tfm zhm296c.tfm
+zhmCJK.tfm zhm296d.tfm
+zhmCJK.tfm zhm296e.tfm
+zhmCJK.tfm zhm296f.tfm
+zhmCJK.tfm zhm2970.tfm
+zhmCJK.tfm zhm2971.tfm
+zhmCJK.tfm zhm2972.tfm
+zhmCJK.tfm zhm2973.tfm
+zhmCJK.tfm zhm2974.tfm
+zhmCJK.tfm zhm2975.tfm
+zhmCJK.tfm zhm2976.tfm
+zhmCJK.tfm zhm2977.tfm
+zhmCJK.tfm zhm2978.tfm
+zhmCJK.tfm zhm2979.tfm
+zhmCJK.tfm zhm297a.tfm
+zhmCJK.tfm zhm297b.tfm
+zhmCJK.tfm zhm297c.tfm
+zhmCJK.tfm zhm297d.tfm
+zhmCJK.tfm zhm297e.tfm
+zhmCJK.tfm zhm297f.tfm
+zhmCJK.tfm zhm2980.tfm
+zhmCJK.tfm zhm2981.tfm
+zhmCJK.tfm zhm2982.tfm
+zhmCJK.tfm zhm2983.tfm
+zhmCJK.tfm zhm2984.tfm
+zhmCJK.tfm zhm2985.tfm
+zhmCJK.tfm zhm2986.tfm
+zhmCJK.tfm zhm2987.tfm
+zhmCJK.tfm zhm2988.tfm
+zhmCJK.tfm zhm2989.tfm
+zhmCJK.tfm zhm298a.tfm
+zhmCJK.tfm zhm298b.tfm
+zhmCJK.tfm zhm298c.tfm
+zhmCJK.tfm zhm298d.tfm
+zhmCJK.tfm zhm298e.tfm
+zhmCJK.tfm zhm298f.tfm
+zhmCJK.tfm zhm2990.tfm
+zhmCJK.tfm zhm2991.tfm
+zhmCJK.tfm zhm2992.tfm
+zhmCJK.tfm zhm2993.tfm
+zhmCJK.tfm zhm2994.tfm
+zhmCJK.tfm zhm2995.tfm
+zhmCJK.tfm zhm2996.tfm
+zhmCJK.tfm zhm2997.tfm
+zhmCJK.tfm zhm2998.tfm
+zhmCJK.tfm zhm2999.tfm
+zhmCJK.tfm zhm299a.tfm
+zhmCJK.tfm zhm299b.tfm
+zhmCJK.tfm zhm299c.tfm
+zhmCJK.tfm zhm299d.tfm
+zhmCJK.tfm zhm299e.tfm
+zhmCJK.tfm zhm299f.tfm
+zhmCJK.tfm zhm29a0.tfm
+zhmCJK.tfm zhm29a1.tfm
+zhmCJK.tfm zhm29a2.tfm
+zhmCJK.tfm zhm29a3.tfm
+zhmCJK.tfm zhm29a4.tfm
+zhmCJK.tfm zhm29a5.tfm
+zhmCJK.tfm zhm29a6.tfm
+zhmCJK.tfm zhm29a7.tfm
+zhmCJK.tfm zhm29a8.tfm
+zhmCJK.tfm zhm29a9.tfm
+zhmCJK.tfm zhm29aa.tfm
+zhmCJK.tfm zhm29ab.tfm
+zhmCJK.tfm zhm29ac.tfm
+zhmCJK.tfm zhm29ad.tfm
+zhmCJK.tfm zhm29ae.tfm
+zhmCJK.tfm zhm29af.tfm
+zhmCJK.tfm zhm29b0.tfm
+zhmCJK.tfm zhm29b1.tfm
+zhmCJK.tfm zhm29b2.tfm
+zhmCJK.tfm zhm29b3.tfm
+zhmCJK.tfm zhm29b4.tfm
+zhmCJK.tfm zhm29b5.tfm
+zhmCJK.tfm zhm29b6.tfm
+zhmCJK.tfm zhm29b7.tfm
+zhmCJK.tfm zhm29b8.tfm
+zhmCJK.tfm zhm29b9.tfm
+zhmCJK.tfm zhm29ba.tfm
+zhmCJK.tfm zhm29bb.tfm
+zhmCJK.tfm zhm29bc.tfm
+zhmCJK.tfm zhm29bd.tfm
+zhmCJK.tfm zhm29be.tfm
+zhmCJK.tfm zhm29bf.tfm
+zhmCJK.tfm zhm29c0.tfm
+zhmCJK.tfm zhm29c1.tfm
+zhmCJK.tfm zhm29c2.tfm
+zhmCJK.tfm zhm29c3.tfm
+zhmCJK.tfm zhm29c4.tfm
+zhmCJK.tfm zhm29c5.tfm
+zhmCJK.tfm zhm29c6.tfm
+zhmCJK.tfm zhm29c7.tfm
+zhmCJK.tfm zhm29c8.tfm
+zhmCJK.tfm zhm29c9.tfm
+zhmCJK.tfm zhm29ca.tfm
+zhmCJK.tfm zhm29cb.tfm
+zhmCJK.tfm zhm29cc.tfm
+zhmCJK.tfm zhm29cd.tfm
+zhmCJK.tfm zhm29ce.tfm
+zhmCJK.tfm zhm29cf.tfm
+zhmCJK.tfm zhm29d0.tfm
+zhmCJK.tfm zhm29d1.tfm
+zhmCJK.tfm zhm29d2.tfm
+zhmCJK.tfm zhm29d3.tfm
+zhmCJK.tfm zhm29d4.tfm
+zhmCJK.tfm zhm29d5.tfm
+zhmCJK.tfm zhm29d6.tfm
+zhmCJK.tfm zhm29d7.tfm
+zhmCJK.tfm zhm29d8.tfm
+zhmCJK.tfm zhm29d9.tfm
+zhmCJK.tfm zhm29da.tfm
+zhmCJK.tfm zhm29db.tfm
+zhmCJK.tfm zhm29dc.tfm
+zhmCJK.tfm zhm29dd.tfm
+zhmCJK.tfm zhm29de.tfm
+zhmCJK.tfm zhm29df.tfm
+zhmCJK.tfm zhm29e0.tfm
+zhmCJK.tfm zhm29e1.tfm
+zhmCJK.tfm zhm29e2.tfm
+zhmCJK.tfm zhm29e3.tfm
+zhmCJK.tfm zhm29e4.tfm
+zhmCJK.tfm zhm29e5.tfm
+zhmCJK.tfm zhm29e6.tfm
+zhmCJK.tfm zhm29e7.tfm
+zhmCJK.tfm zhm29e8.tfm
+zhmCJK.tfm zhm29e9.tfm
+zhmCJK.tfm zhm29ea.tfm
+zhmCJK.tfm zhm29eb.tfm
+zhmCJK.tfm zhm29ec.tfm
+zhmCJK.tfm zhm29ed.tfm
+zhmCJK.tfm zhm29ee.tfm
+zhmCJK.tfm zhm29ef.tfm
+zhmCJK.tfm zhm29f0.tfm
+zhmCJK.tfm zhm29f1.tfm
+zhmCJK.tfm zhm29f2.tfm
+zhmCJK.tfm zhm29f3.tfm
+zhmCJK.tfm zhm29f4.tfm
+zhmCJK.tfm zhm29f5.tfm
+zhmCJK.tfm zhm29f6.tfm
+zhmCJK.tfm zhm29f7.tfm
+zhmCJK.tfm zhm29f8.tfm
+zhmCJK.tfm zhm29f9.tfm
+zhmCJK.tfm zhm29fa.tfm
+zhmCJK.tfm zhm29fb.tfm
+zhmCJK.tfm zhm29fc.tfm
+zhmCJK.tfm zhm29fd.tfm
+zhmCJK.tfm zhm29fe.tfm
+zhmCJK.tfm zhm29ff.tfm
+zhmCJK.tfm zhm3000.tfm
+zhmCJK.tfm zhm3001.tfm
+zhmCJK.tfm zhm3002.tfm
+zhmCJK.tfm zhm3003.tfm
+zhmCJK.tfm zhm3004.tfm
+zhmCJK.tfm zhm3005.tfm
+zhmCJK.tfm zhm3006.tfm
+zhmCJK.tfm zhm3007.tfm
+zhmCJK.tfm zhm3008.tfm
+zhmCJK.tfm zhm3009.tfm
+zhmCJK.tfm zhm300a.tfm
+zhmCJK.tfm zhm300b.tfm
+zhmCJK.tfm zhm300c.tfm
+zhmCJK.tfm zhm300d.tfm
+zhmCJK.tfm zhm300e.tfm
+zhmCJK.tfm zhm300f.tfm
+zhmCJK.tfm zhm3010.tfm
+zhmCJK.tfm zhm3011.tfm
+zhmCJK.tfm zhm3012.tfm
+zhmCJK.tfm zhm3013.tfm
+zhmCJK.tfm zhm3014.tfm
+zhmCJK.tfm zhm3015.tfm
+zhmCJK.tfm zhm3016.tfm
+zhmCJK.tfm zhm3017.tfm
+zhmCJK.tfm zhm3018.tfm
+zhmCJK.tfm zhm3019.tfm
+zhmCJK.tfm zhm301a.tfm
+zhmCJK.tfm zhm301b.tfm
+zhmCJK.tfm zhm301c.tfm
+zhmCJK.tfm zhm301d.tfm
+zhmCJK.tfm zhm301e.tfm
+zhmCJK.tfm zhm301f.tfm
+zhmCJK.tfm zhm3020.tfm
+zhmCJK.tfm zhm3021.tfm
+zhmCJK.tfm zhm3022.tfm
+zhmCJK.tfm zhm3023.tfm
+zhmCJK.tfm zhm3024.tfm
+zhmCJK.tfm zhm3025.tfm
+zhmCJK.tfm zhm3026.tfm
+zhmCJK.tfm zhm3027.tfm
+zhmCJK.tfm zhm3028.tfm
+zhmCJK.tfm zhm3029.tfm
+zhmCJK.tfm zhm302a.tfm
+zhmCJK.tfm zhm302b.tfm
+zhmCJK.tfm zhm302c.tfm
+zhmCJK.tfm zhm302d.tfm
+zhmCJK.tfm zhm302e.tfm
+zhmCJK.tfm zhm302f.tfm
+zhmCJK.tfm zhm3030.tfm
+zhmCJK.tfm zhm3031.tfm
+zhmCJK.tfm zhm3032.tfm
+zhmCJK.tfm zhm3033.tfm
+zhmCJK.tfm zhm3034.tfm
+zhmCJK.tfm zhm3035.tfm
+zhmCJK.tfm zhm3036.tfm
+zhmCJK.tfm zhm3037.tfm
+zhmCJK.tfm zhm3038.tfm
+zhmCJK.tfm zhm3039.tfm
+zhmCJK.tfm zhm303a.tfm
+zhmCJK.tfm zhm303b.tfm
+zhmCJK.tfm zhm303c.tfm
+zhmCJK.tfm zhm303d.tfm
+zhmCJK.tfm zhm303e.tfm
+zhmCJK.tfm zhm303f.tfm
+zhmCJK.tfm zhm3040.tfm
+zhmCJK.tfm zhm3041.tfm
+zhmCJK.tfm zhm3042.tfm
+zhmCJK.tfm zhm3043.tfm
+zhmCJK.tfm zhm3044.tfm
+zhmCJK.tfm zhm3045.tfm
+zhmCJK.tfm zhm3046.tfm
+zhmCJK.tfm zhm3047.tfm
+zhmCJK.tfm zhm3048.tfm
+zhmCJK.tfm zhm3049.tfm
+zhmCJK.tfm zhm304a.tfm
+zhmCJK.tfm zhm304b.tfm
+zhmCJK.tfm zhm304c.tfm
+zhmCJK.tfm zhm304d.tfm
+zhmCJK.tfm zhm304e.tfm
+zhmCJK.tfm zhm304f.tfm
+zhmCJK.tfm zhm3050.tfm
+zhmCJK.tfm zhm3051.tfm
+zhmCJK.tfm zhm3052.tfm
+zhmCJK.tfm zhm3053.tfm
+zhmCJK.tfm zhm3054.tfm
+zhmCJK.tfm zhm3055.tfm
+zhmCJK.tfm zhm3056.tfm
+zhmCJK.tfm zhm3057.tfm
+zhmCJK.tfm zhm3058.tfm
+zhmCJK.tfm zhm3059.tfm
+zhmCJK.tfm zhm305a.tfm
+zhmCJK.tfm zhm305b.tfm
+zhmCJK.tfm zhm305c.tfm
+zhmCJK.tfm zhm305d.tfm
+zhmCJK.tfm zhm305e.tfm
+zhmCJK.tfm zhm305f.tfm
+zhmCJK.tfm zhm3060.tfm
+zhmCJK.tfm zhm3061.tfm
+zhmCJK.tfm zhm3062.tfm
+zhmCJK.tfm zhm3063.tfm
+zhmCJK.tfm zhm3064.tfm
+zhmCJK.tfm zhm3065.tfm
+zhmCJK.tfm zhm3066.tfm
+zhmCJK.tfm zhm3067.tfm
+zhmCJK.tfm zhm3068.tfm
+zhmCJK.tfm zhm3069.tfm
+zhmCJK.tfm zhm306a.tfm
+zhmCJK.tfm zhm306b.tfm
+zhmCJK.tfm zhm306c.tfm
+zhmCJK.tfm zhm306d.tfm
+zhmCJK.tfm zhm306e.tfm
+zhmCJK.tfm zhm306f.tfm
+zhmCJK.tfm zhm3070.tfm
+zhmCJK.tfm zhm3071.tfm
+zhmCJK.tfm zhm3072.tfm
+zhmCJK.tfm zhm3073.tfm
+zhmCJK.tfm zhm3074.tfm
+zhmCJK.tfm zhm3075.tfm
+zhmCJK.tfm zhm3076.tfm
+zhmCJK.tfm zhm3077.tfm
+zhmCJK.tfm zhm3078.tfm
+zhmCJK.tfm zhm3079.tfm
+zhmCJK.tfm zhm307a.tfm
+zhmCJK.tfm zhm307b.tfm
+zhmCJK.tfm zhm307c.tfm
+zhmCJK.tfm zhm307d.tfm
+zhmCJK.tfm zhm307e.tfm
+zhmCJK.tfm zhm307f.tfm
+zhmCJK.tfm zhm3080.tfm
+zhmCJK.tfm zhm3081.tfm
+zhmCJK.tfm zhm3082.tfm
+zhmCJK.tfm zhm3083.tfm
+zhmCJK.tfm zhm3084.tfm
+zhmCJK.tfm zhm3085.tfm
+zhmCJK.tfm zhm3086.tfm
+zhmCJK.tfm zhm3087.tfm
+zhmCJK.tfm zhm3088.tfm
+zhmCJK.tfm zhm3089.tfm
+zhmCJK.tfm zhm308a.tfm
+zhmCJK.tfm zhm308b.tfm
+zhmCJK.tfm zhm308c.tfm
+zhmCJK.tfm zhm308d.tfm
+zhmCJK.tfm zhm308e.tfm
+zhmCJK.tfm zhm308f.tfm
+zhmCJK.tfm zhm3090.tfm
+zhmCJK.tfm zhm3091.tfm
+zhmCJK.tfm zhm3092.tfm
+zhmCJK.tfm zhm3093.tfm
+zhmCJK.tfm zhm3094.tfm
+zhmCJK.tfm zhm3095.tfm
+zhmCJK.tfm zhm3096.tfm
+zhmCJK.tfm zhm3097.tfm
+zhmCJK.tfm zhm3098.tfm
+zhmCJK.tfm zhm3099.tfm
+zhmCJK.tfm zhm309a.tfm
+zhmCJK.tfm zhm309b.tfm
+zhmCJK.tfm zhm309c.tfm
+zhmCJK.tfm zhm309d.tfm
+zhmCJK.tfm zhm309e.tfm
+zhmCJK.tfm zhm309f.tfm
+zhmCJK.tfm zhm30a0.tfm
+zhmCJK.tfm zhm30a1.tfm
+zhmCJK.tfm zhm30a2.tfm
+zhmCJK.tfm zhm30a3.tfm
+zhmCJK.tfm zhm30a4.tfm
+zhmCJK.tfm zhm30a5.tfm
+zhmCJK.tfm zhm30a6.tfm
+zhmCJK.tfm zhm30a7.tfm
+zhmCJK.tfm zhm30a8.tfm
+zhmCJK.tfm zhm30a9.tfm
+zhmCJK.tfm zhm30aa.tfm
+zhmCJK.tfm zhm30ab.tfm
+zhmCJK.tfm zhm30ac.tfm
+zhmCJK.tfm zhm30ad.tfm
+zhmCJK.tfm zhm30ae.tfm
+zhmCJK.tfm zhm30af.tfm
+zhmCJK.tfm zhm30b0.tfm
+zhmCJK.tfm zhm30b1.tfm
+zhmCJK.tfm zhm30b2.tfm
+zhmCJK.tfm zhm30b3.tfm
+zhmCJK.tfm zhm30b4.tfm
+zhmCJK.tfm zhm30b5.tfm
+zhmCJK.tfm zhm30b6.tfm
+zhmCJK.tfm zhm30b7.tfm
+zhmCJK.tfm zhm30b8.tfm
+zhmCJK.tfm zhm30b9.tfm
+zhmCJK.tfm zhm30ba.tfm
+zhmCJK.tfm zhm30bb.tfm
+zhmCJK.tfm zhm30bc.tfm
+zhmCJK.tfm zhm30bd.tfm
+zhmCJK.tfm zhm30be.tfm
+zhmCJK.tfm zhm30bf.tfm
+zhmCJK.tfm zhm30c0.tfm
+zhmCJK.tfm zhm30c1.tfm
+zhmCJK.tfm zhm30c2.tfm
+zhmCJK.tfm zhm30c3.tfm
+zhmCJK.tfm zhm30c4.tfm
+zhmCJK.tfm zhm30c5.tfm
+zhmCJK.tfm zhm30c6.tfm
+zhmCJK.tfm zhm30c7.tfm
+zhmCJK.tfm zhm30c8.tfm
+zhmCJK.tfm zhm30c9.tfm
+zhmCJK.tfm zhm30ca.tfm
+zhmCJK.tfm zhm30cb.tfm
+zhmCJK.tfm zhm30cc.tfm
+zhmCJK.tfm zhm30cd.tfm
+zhmCJK.tfm zhm30ce.tfm
+zhmCJK.tfm zhm30cf.tfm
+zhmCJK.tfm zhm30d0.tfm
+zhmCJK.tfm zhm30d1.tfm
+zhmCJK.tfm zhm30d2.tfm
+zhmCJK.tfm zhm30d3.tfm
+zhmCJK.tfm zhm30d4.tfm
+zhmCJK.tfm zhm30d5.tfm
+zhmCJK.tfm zhm30d6.tfm
+zhmCJK.tfm zhm30d7.tfm
+zhmCJK.tfm zhm30d8.tfm
+zhmCJK.tfm zhm30d9.tfm
+zhmCJK.tfm zhm30da.tfm
+zhmCJK.tfm zhm30db.tfm
+zhmCJK.tfm zhm30dc.tfm
+zhmCJK.tfm zhm30dd.tfm
+zhmCJK.tfm zhm30de.tfm
+zhmCJK.tfm zhm30df.tfm
+zhmCJK.tfm zhm30e0.tfm
+zhmCJK.tfm zhm30e1.tfm
+zhmCJK.tfm zhm30e2.tfm
+zhmCJK.tfm zhm30e3.tfm
+zhmCJK.tfm zhm30e4.tfm
+zhmCJK.tfm zhm30e5.tfm
+zhmCJK.tfm zhm30e6.tfm
+zhmCJK.tfm zhm30e7.tfm
+zhmCJK.tfm zhm30e8.tfm
+zhmCJK.tfm zhm30e9.tfm
+zhmCJK.tfm zhm30ea.tfm
+zhmCJK.tfm zhm30eb.tfm
+zhmCJK.tfm zhm30ec.tfm
+zhmCJK.tfm zhm30ed.tfm
+zhmCJK.tfm zhm30ee.tfm
+zhmCJK.tfm zhm30ef.tfm
+zhmCJK.tfm zhm30f0.tfm
+zhmCJK.tfm zhm30f1.tfm
+zhmCJK.tfm zhm30f2.tfm
+zhmCJK.tfm zhm30f3.tfm
+zhmCJK.tfm zhm30f4.tfm
+zhmCJK.tfm zhm30f5.tfm
+zhmCJK.tfm zhm30f6.tfm
+zhmCJK.tfm zhm30f7.tfm
+zhmCJK.tfm zhm30f8.tfm
+zhmCJK.tfm zhm30f9.tfm
+zhmCJK.tfm zhm30fa.tfm
+zhmCJK.tfm zhm30fb.tfm
+zhmCJK.tfm zhm30fc.tfm
+zhmCJK.tfm zhm30fd.tfm
+zhmCJK.tfm zhm30fe.tfm
+zhmCJK.tfm zhm30ff.tfm
+zhmCJK.tfm zhm3100.tfm
+zhmCJK.tfm zhm3101.tfm
+zhmCJK.tfm zhm3102.tfm
+zhmCJK.tfm zhm3103.tfm
+zhmCJK.tfm zhm3104.tfm
+zhmCJK.tfm zhm3105.tfm
+zhmCJK.tfm zhm3106.tfm
+zhmCJK.tfm zhm3107.tfm
+zhmCJK.tfm zhm3108.tfm
+zhmCJK.tfm zhm3109.tfm
+zhmCJK.tfm zhm310a.tfm
+zhmCJK.tfm zhm310b.tfm
+zhmCJK.tfm zhm310c.tfm
+zhmCJK.tfm zhm310d.tfm
+zhmCJK.tfm zhm310e.tfm
+zhmCJK.tfm zhm310f.tfm
+zhmCJK.tfm zhm3110.tfm
+zhmCJK.tfm zhm3111.tfm
+zhmCJK.tfm zhm3112.tfm
+zhmCJK.tfm zhm3113.tfm
+zhmCJK.tfm zhm3114.tfm
+zhmCJK.tfm zhm3115.tfm
+zhmCJK.tfm zhm3116.tfm
+zhmCJK.tfm zhm3117.tfm
+zhmCJK.tfm zhm3118.tfm
+zhmCJK.tfm zhm3119.tfm
+zhmCJK.tfm zhm311a.tfm
+zhmCJK.tfm zhm311b.tfm
+zhmCJK.tfm zhm311c.tfm
+zhmCJK.tfm zhm311d.tfm
+zhmCJK.tfm zhm311e.tfm
+zhmCJK.tfm zhm311f.tfm
+zhmCJK.tfm zhm3120.tfm
+zhmCJK.tfm zhm3121.tfm
+zhmCJK.tfm zhm3122.tfm
+zhmCJK.tfm zhm3123.tfm
+zhmCJK.tfm zhm3124.tfm
+zhmCJK.tfm zhm3125.tfm
+zhmCJK.tfm zhm3126.tfm
+zhmCJK.tfm zhm3127.tfm
+zhmCJK.tfm zhm3128.tfm
+zhmCJK.tfm zhm3129.tfm
+zhmCJK.tfm zhm312a.tfm
+zhmCJK.tfm zhm312b.tfm
+zhmCJK.tfm zhm312c.tfm
+zhmCJK.tfm zhm312d.tfm
+zhmCJK.tfm zhm312e.tfm
+zhmCJK.tfm zhm312f.tfm
+zhmCJK.tfm zhm3130.tfm
+zhmCJK.tfm zhm3131.tfm
+zhmCJK.tfm zhm3132.tfm
+zhmCJK.tfm zhm3133.tfm
+zhmCJK.tfm zhm3134.tfm
+zhmCJK.tfm zhm3135.tfm
+zhmCJK.tfm zhm3136.tfm
+zhmCJK.tfm zhm3137.tfm
+zhmCJK.tfm zhm3138.tfm
+zhmCJK.tfm zhm3139.tfm
+zhmCJK.tfm zhm313a.tfm
+zhmCJK.tfm zhm313b.tfm
+zhmCJK.tfm zhm313c.tfm
+zhmCJK.tfm zhm313d.tfm
+zhmCJK.tfm zhm313e.tfm
+zhmCJK.tfm zhm313f.tfm
+zhmCJK.tfm zhm3140.tfm
+zhmCJK.tfm zhm3141.tfm
+zhmCJK.tfm zhm3142.tfm
+zhmCJK.tfm zhm3143.tfm
+zhmCJK.tfm zhm3144.tfm
+zhmCJK.tfm zhm3145.tfm
+zhmCJK.tfm zhm3146.tfm
+zhmCJK.tfm zhm3147.tfm
+zhmCJK.tfm zhm3148.tfm
+zhmCJK.tfm zhm3149.tfm
+zhmCJK.tfm zhm314a.tfm
+zhmCJK.tfm zhm314b.tfm
+zhmCJK.tfm zhm314c.tfm
+zhmCJK.tfm zhm314d.tfm
+zhmCJK.tfm zhm314e.tfm
+zhmCJK.tfm zhm314f.tfm
+zhmCJK.tfm zhm3150.tfm
+zhmCJK.tfm zhm3151.tfm
+zhmCJK.tfm zhm3152.tfm
+zhmCJK.tfm zhm3153.tfm
+zhmCJK.tfm zhm3154.tfm
+zhmCJK.tfm zhm3155.tfm
+zhmCJK.tfm zhm3156.tfm
+zhmCJK.tfm zhm3157.tfm
+zhmCJK.tfm zhm3158.tfm
+zhmCJK.tfm zhm3159.tfm
+zhmCJK.tfm zhm315a.tfm
+zhmCJK.tfm zhm315b.tfm
+zhmCJK.tfm zhm315c.tfm
+zhmCJK.tfm zhm315d.tfm
+zhmCJK.tfm zhm315e.tfm
+zhmCJK.tfm zhm315f.tfm
+zhmCJK.tfm zhm3160.tfm
+zhmCJK.tfm zhm3161.tfm
+zhmCJK.tfm zhm3162.tfm
+zhmCJK.tfm zhm3163.tfm
+zhmCJK.tfm zhm3164.tfm
+zhmCJK.tfm zhm3165.tfm
+zhmCJK.tfm zhm3166.tfm
+zhmCJK.tfm zhm3167.tfm
+zhmCJK.tfm zhm3168.tfm
+zhmCJK.tfm zhm3169.tfm
+zhmCJK.tfm zhm316a.tfm
+zhmCJK.tfm zhm316b.tfm
+zhmCJK.tfm zhm316c.tfm
+zhmCJK.tfm zhm316d.tfm
+zhmCJK.tfm zhm316e.tfm
+zhmCJK.tfm zhm316f.tfm
+zhmCJK.tfm zhm3170.tfm
+zhmCJK.tfm zhm3171.tfm
+zhmCJK.tfm zhm3172.tfm
+zhmCJK.tfm zhm3173.tfm
+zhmCJK.tfm zhm3174.tfm
+zhmCJK.tfm zhm3175.tfm
+zhmCJK.tfm zhm3176.tfm
+zhmCJK.tfm zhm3177.tfm
+zhmCJK.tfm zhm3178.tfm
+zhmCJK.tfm zhm3179.tfm
+zhmCJK.tfm zhm317a.tfm
+zhmCJK.tfm zhm317b.tfm
+zhmCJK.tfm zhm317c.tfm
+zhmCJK.tfm zhm317d.tfm
+zhmCJK.tfm zhm317e.tfm
+zhmCJK.tfm zhm317f.tfm
+zhmCJK.tfm zhm3180.tfm
+zhmCJK.tfm zhm3181.tfm
+zhmCJK.tfm zhm3182.tfm
+zhmCJK.tfm zhm3183.tfm
+zhmCJK.tfm zhm3184.tfm
+zhmCJK.tfm zhm3185.tfm
+zhmCJK.tfm zhm3186.tfm
+zhmCJK.tfm zhm3187.tfm
+zhmCJK.tfm zhm3188.tfm
+zhmCJK.tfm zhm3189.tfm
+zhmCJK.tfm zhm318a.tfm
+zhmCJK.tfm zhm318b.tfm
+zhmCJK.tfm zhm318c.tfm
+zhmCJK.tfm zhm318d.tfm
+zhmCJK.tfm zhm318e.tfm
+zhmCJK.tfm zhm318f.tfm
+zhmCJK.tfm zhm3190.tfm
+zhmCJK.tfm zhm3191.tfm
+zhmCJK.tfm zhm3192.tfm
+zhmCJK.tfm zhm3193.tfm
+zhmCJK.tfm zhm3194.tfm
+zhmCJK.tfm zhm3195.tfm
+zhmCJK.tfm zhm3196.tfm
+zhmCJK.tfm zhm3197.tfm
+zhmCJK.tfm zhm3198.tfm
+zhmCJK.tfm zhm3199.tfm
+zhmCJK.tfm zhm319a.tfm
+zhmCJK.tfm zhm319b.tfm
+zhmCJK.tfm zhm319c.tfm
+zhmCJK.tfm zhm319d.tfm
+zhmCJK.tfm zhm319e.tfm
+zhmCJK.tfm zhm319f.tfm
+zhmCJK.tfm zhm31a0.tfm
+zhmCJK.tfm zhm31a1.tfm
+zhmCJK.tfm zhm31a2.tfm
+zhmCJK.tfm zhm31a3.tfm
+zhmCJK.tfm zhm31a4.tfm
+zhmCJK.tfm zhm31a5.tfm
+zhmCJK.tfm zhm31a6.tfm
+zhmCJK.tfm zhm31a7.tfm
+zhmCJK.tfm zhm31a8.tfm
+zhmCJK.tfm zhm31a9.tfm
+zhmCJK.tfm zhm31aa.tfm
+zhmCJK.tfm zhm31ab.tfm
+zhmCJK.tfm zhm31ac.tfm
+zhmCJK.tfm zhm31ad.tfm
+zhmCJK.tfm zhm31ae.tfm
+zhmCJK.tfm zhm31af.tfm
+zhmCJK.tfm zhm31b0.tfm
+zhmCJK.tfm zhm31b1.tfm
+zhmCJK.tfm zhm31b2.tfm
+zhmCJK.tfm zhm31b3.tfm
+zhmCJK.tfm zhm31b4.tfm
+zhmCJK.tfm zhm31b5.tfm
+zhmCJK.tfm zhm31b6.tfm
+zhmCJK.tfm zhm31b7.tfm
+zhmCJK.tfm zhm31b8.tfm
+zhmCJK.tfm zhm31b9.tfm
+zhmCJK.tfm zhm31ba.tfm
+zhmCJK.tfm zhm31bb.tfm
+zhmCJK.tfm zhm31bc.tfm
+zhmCJK.tfm zhm31bd.tfm
+zhmCJK.tfm zhm31be.tfm
+zhmCJK.tfm zhm31bf.tfm
+zhmCJK.tfm zhm31c0.tfm
+zhmCJK.tfm zhm31c1.tfm
+zhmCJK.tfm zhm31c2.tfm
+zhmCJK.tfm zhm31c3.tfm
+zhmCJK.tfm zhm31c4.tfm
+zhmCJK.tfm zhm31c5.tfm
+zhmCJK.tfm zhm31c6.tfm
+zhmCJK.tfm zhm31c7.tfm
+zhmCJK.tfm zhm31c8.tfm
+zhmCJK.tfm zhm31c9.tfm
+zhmCJK.tfm zhm31ca.tfm
+zhmCJK.tfm zhm31cb.tfm
+zhmCJK.tfm zhm31cc.tfm
+zhmCJK.tfm zhm31cd.tfm
+zhmCJK.tfm zhm31ce.tfm
+zhmCJK.tfm zhm31cf.tfm
+zhmCJK.tfm zhm31d0.tfm
+zhmCJK.tfm zhm31d1.tfm
+zhmCJK.tfm zhm31d2.tfm
+zhmCJK.tfm zhm31d3.tfm
+zhmCJK.tfm zhm31d4.tfm
+zhmCJK.tfm zhm31d5.tfm
+zhmCJK.tfm zhm31d6.tfm
+zhmCJK.tfm zhm31d7.tfm
+zhmCJK.tfm zhm31d8.tfm
+zhmCJK.tfm zhm31d9.tfm
+zhmCJK.tfm zhm31da.tfm
+zhmCJK.tfm zhm31db.tfm
+zhmCJK.tfm zhm31dc.tfm
+zhmCJK.tfm zhm31dd.tfm
+zhmCJK.tfm zhm31de.tfm
+zhmCJK.tfm zhm31df.tfm
+zhmCJK.tfm zhm31e0.tfm
+zhmCJK.tfm zhm31e1.tfm
+zhmCJK.tfm zhm31e2.tfm
+zhmCJK.tfm zhm31e3.tfm
+zhmCJK.tfm zhm31e4.tfm
+zhmCJK.tfm zhm31e5.tfm
+zhmCJK.tfm zhm31e6.tfm
+zhmCJK.tfm zhm31e7.tfm
+zhmCJK.tfm zhm31e8.tfm
+zhmCJK.tfm zhm31e9.tfm
+zhmCJK.tfm zhm31ea.tfm
+zhmCJK.tfm zhm31eb.tfm
+zhmCJK.tfm zhm31ec.tfm
+zhmCJK.tfm zhm31ed.tfm
+zhmCJK.tfm zhm31ee.tfm
+zhmCJK.tfm zhm31ef.tfm
+zhmCJK.tfm zhm31f0.tfm
+zhmCJK.tfm zhm31f1.tfm
+zhmCJK.tfm zhm31f2.tfm
+zhmCJK.tfm zhm31f3.tfm
+zhmCJK.tfm zhm31f4.tfm
+zhmCJK.tfm zhm31f5.tfm
+zhmCJK.tfm zhm31f6.tfm
+zhmCJK.tfm zhm31f7.tfm
+zhmCJK.tfm zhm31f8.tfm
+zhmCJK.tfm zhm31f9.tfm
+zhmCJK.tfm zhm31fa.tfm
+zhmCJK.tfm zhm31fb.tfm
+zhmCJK.tfm zhm31fc.tfm
+zhmCJK.tfm zhm31fd.tfm
+zhmCJK.tfm zhm31fe.tfm
+zhmCJK.tfm zhm31ff.tfm
+zhmCJK.tfm zhm3200.tfm
+zhmCJK.tfm zhm3201.tfm
+zhmCJK.tfm zhm3202.tfm
+zhmCJK.tfm zhm3203.tfm
+zhmCJK.tfm zhm3204.tfm
+zhmCJK.tfm zhm3205.tfm
+zhmCJK.tfm zhm3206.tfm
+zhmCJK.tfm zhm3207.tfm
+zhmCJK.tfm zhm3208.tfm
+zhmCJK.tfm zhm3209.tfm
+zhmCJK.tfm zhm320a.tfm
+zhmCJK.tfm zhm320b.tfm
+zhmCJK.tfm zhm320c.tfm
+zhmCJK.tfm zhm320d.tfm
+zhmCJK.tfm zhm320e.tfm
+zhmCJK.tfm zhm320f.tfm
+zhmCJK.tfm zhm3210.tfm
+zhmCJK.tfm zhm3211.tfm
+zhmCJK.tfm zhm3212.tfm
+zhmCJK.tfm zhm3213.tfm
+zhmCJK.tfm zhm3214.tfm
+zhmCJK.tfm zhm3215.tfm
+zhmCJK.tfm zhm3216.tfm
+zhmCJK.tfm zhm3217.tfm
+zhmCJK.tfm zhm3218.tfm
+zhmCJK.tfm zhm3219.tfm
+zhmCJK.tfm zhm321a.tfm
+zhmCJK.tfm zhm321b.tfm
+zhmCJK.tfm zhm321c.tfm
+zhmCJK.tfm zhm321d.tfm
+zhmCJK.tfm zhm321e.tfm
+zhmCJK.tfm zhm321f.tfm
+zhmCJK.tfm zhm3220.tfm
+zhmCJK.tfm zhm3221.tfm
+zhmCJK.tfm zhm3222.tfm
+zhmCJK.tfm zhm3223.tfm
+zhmCJK.tfm zhm3224.tfm
+zhmCJK.tfm zhm3225.tfm
+zhmCJK.tfm zhm3226.tfm
+zhmCJK.tfm zhm3227.tfm
+zhmCJK.tfm zhm3228.tfm
+zhmCJK.tfm zhm3229.tfm
+zhmCJK.tfm zhm322a.tfm
+zhmCJK.tfm zhm322b.tfm
+zhmCJK.tfm zhm322c.tfm
+zhmCJK.tfm zhm322d.tfm
+zhmCJK.tfm zhm322e.tfm
+zhmCJK.tfm zhm322f.tfm
+zhmCJK.tfm zhm3230.tfm
+zhmCJK.tfm zhm3231.tfm
+zhmCJK.tfm zhm3232.tfm
+zhmCJK.tfm zhm3233.tfm
+zhmCJK.tfm zhm3234.tfm
+zhmCJK.tfm zhm3235.tfm
+zhmCJK.tfm zhm3236.tfm
+zhmCJK.tfm zhm3237.tfm
+zhmCJK.tfm zhm3238.tfm
+zhmCJK.tfm zhm3239.tfm
+zhmCJK.tfm zhm323a.tfm
+zhmCJK.tfm zhm323b.tfm
+zhmCJK.tfm zhm323c.tfm
+zhmCJK.tfm zhm323d.tfm
+zhmCJK.tfm zhm323e.tfm
+zhmCJK.tfm zhm323f.tfm
+zhmCJK.tfm zhm3240.tfm
+zhmCJK.tfm zhm3241.tfm
+zhmCJK.tfm zhm3242.tfm
+zhmCJK.tfm zhm3243.tfm
+zhmCJK.tfm zhm3244.tfm
+zhmCJK.tfm zhm3245.tfm
+zhmCJK.tfm zhm3246.tfm
+zhmCJK.tfm zhm3247.tfm
+zhmCJK.tfm zhm3248.tfm
+zhmCJK.tfm zhm3249.tfm
+zhmCJK.tfm zhm324a.tfm
+zhmCJK.tfm zhm324b.tfm
+zhmCJK.tfm zhm324c.tfm
+zhmCJK.tfm zhm324d.tfm
+zhmCJK.tfm zhm324e.tfm
+zhmCJK.tfm zhm324f.tfm
+zhmCJK.tfm zhm3250.tfm
+zhmCJK.tfm zhm3251.tfm
+zhmCJK.tfm zhm3252.tfm
+zhmCJK.tfm zhm3253.tfm
+zhmCJK.tfm zhm3254.tfm
+zhmCJK.tfm zhm3255.tfm
+zhmCJK.tfm zhm3256.tfm
+zhmCJK.tfm zhm3257.tfm
+zhmCJK.tfm zhm3258.tfm
+zhmCJK.tfm zhm3259.tfm
+zhmCJK.tfm zhm325a.tfm
+zhmCJK.tfm zhm325b.tfm
+zhmCJK.tfm zhm325c.tfm
+zhmCJK.tfm zhm325d.tfm
+zhmCJK.tfm zhm325e.tfm
+zhmCJK.tfm zhm325f.tfm
+zhmCJK.tfm zhm3260.tfm
+zhmCJK.tfm zhm3261.tfm
+zhmCJK.tfm zhm3262.tfm
+zhmCJK.tfm zhm3263.tfm
+zhmCJK.tfm zhm3264.tfm
+zhmCJK.tfm zhm3265.tfm
+zhmCJK.tfm zhm3266.tfm
+zhmCJK.tfm zhm3267.tfm
+zhmCJK.tfm zhm3268.tfm
+zhmCJK.tfm zhm3269.tfm
+zhmCJK.tfm zhm326a.tfm
+zhmCJK.tfm zhm326b.tfm
+zhmCJK.tfm zhm326c.tfm
+zhmCJK.tfm zhm326d.tfm
+zhmCJK.tfm zhm326e.tfm
+zhmCJK.tfm zhm326f.tfm
+zhmCJK.tfm zhm3270.tfm
+zhmCJK.tfm zhm3271.tfm
+zhmCJK.tfm zhm3272.tfm
+zhmCJK.tfm zhm3273.tfm
+zhmCJK.tfm zhm3274.tfm
+zhmCJK.tfm zhm3275.tfm
+zhmCJK.tfm zhm3276.tfm
+zhmCJK.tfm zhm3277.tfm
+zhmCJK.tfm zhm3278.tfm
+zhmCJK.tfm zhm3279.tfm
+zhmCJK.tfm zhm327a.tfm
+zhmCJK.tfm zhm327b.tfm
+zhmCJK.tfm zhm327c.tfm
+zhmCJK.tfm zhm327d.tfm
+zhmCJK.tfm zhm327e.tfm
+zhmCJK.tfm zhm327f.tfm
+zhmCJK.tfm zhm3280.tfm
+zhmCJK.tfm zhm3281.tfm
+zhmCJK.tfm zhm3282.tfm
+zhmCJK.tfm zhm3283.tfm
+zhmCJK.tfm zhm3284.tfm
+zhmCJK.tfm zhm3285.tfm
+zhmCJK.tfm zhm3286.tfm
+zhmCJK.tfm zhm3287.tfm
+zhmCJK.tfm zhm3288.tfm
+zhmCJK.tfm zhm3289.tfm
+zhmCJK.tfm zhm328a.tfm
+zhmCJK.tfm zhm328b.tfm
+zhmCJK.tfm zhm328c.tfm
+zhmCJK.tfm zhm328d.tfm
+zhmCJK.tfm zhm328e.tfm
+zhmCJK.tfm zhm328f.tfm
+zhmCJK.tfm zhm3290.tfm
+zhmCJK.tfm zhm3291.tfm
+zhmCJK.tfm zhm3292.tfm
+zhmCJK.tfm zhm3293.tfm
+zhmCJK.tfm zhm3294.tfm
+zhmCJK.tfm zhm3295.tfm
+zhmCJK.tfm zhm3296.tfm
+zhmCJK.tfm zhm3297.tfm
+zhmCJK.tfm zhm3298.tfm
+zhmCJK.tfm zhm3299.tfm
+zhmCJK.tfm zhm329a.tfm
+zhmCJK.tfm zhm329b.tfm
+zhmCJK.tfm zhm329c.tfm
+zhmCJK.tfm zhm329d.tfm
+zhmCJK.tfm zhm329e.tfm
+zhmCJK.tfm zhm329f.tfm
+zhmCJK.tfm zhm32a0.tfm
+zhmCJK.tfm zhm32a1.tfm
+zhmCJK.tfm zhm32a2.tfm
+zhmCJK.tfm zhm32a3.tfm
+zhmCJK.tfm zhm32a4.tfm
+zhmCJK.tfm zhm32a5.tfm
+zhmCJK.tfm zhm32a6.tfm
+zhmCJK.tfm zhm32a7.tfm
+zhmCJK.tfm zhm32a8.tfm
+zhmCJK.tfm zhm32a9.tfm
+zhmCJK.tfm zhm32aa.tfm
+zhmCJK.tfm zhm32ab.tfm
+zhmCJK.tfm zhm32ac.tfm
+zhmCJK.tfm zhm32ad.tfm
+zhmCJK.tfm zhm32ae.tfm
+zhmCJK.tfm zhm32af.tfm
+zhmCJK.tfm zhm32b0.tfm
+zhmCJK.tfm zhm32b1.tfm
+zhmCJK.tfm zhm32b2.tfm
+zhmCJK.tfm zhm32b3.tfm
+zhmCJK.tfm zhm32b4.tfm
+zhmCJK.tfm zhm32b5.tfm
+zhmCJK.tfm zhm32b6.tfm
+zhmCJK.tfm zhm32b7.tfm
+zhmCJK.tfm zhm32b8.tfm
+zhmCJK.tfm zhm32b9.tfm
+zhmCJK.tfm zhm32ba.tfm
+zhmCJK.tfm zhm32bb.tfm
+zhmCJK.tfm zhm32bc.tfm
+zhmCJK.tfm zhm32bd.tfm
+zhmCJK.tfm zhm32be.tfm
+zhmCJK.tfm zhm32bf.tfm
+zhmCJK.tfm zhm32c0.tfm
+zhmCJK.tfm zhm32c1.tfm
+zhmCJK.tfm zhm32c2.tfm
+zhmCJK.tfm zhm32c3.tfm
+zhmCJK.tfm zhm32c4.tfm
+zhmCJK.tfm zhm32c5.tfm
+zhmCJK.tfm zhm32c6.tfm
+zhmCJK.tfm zhm32c7.tfm
+zhmCJK.tfm zhm32c8.tfm
+zhmCJK.tfm zhm32c9.tfm
+zhmCJK.tfm zhm32ca.tfm
+zhmCJK.tfm zhm32cb.tfm
+zhmCJK.tfm zhm32cc.tfm
+zhmCJK.tfm zhm32cd.tfm
+zhmCJK.tfm zhm32ce.tfm
+zhmCJK.tfm zhm32cf.tfm
+zhmCJK.tfm zhm32d0.tfm
+zhmCJK.tfm zhm32d1.tfm
+zhmCJK.tfm zhm32d2.tfm
+zhmCJK.tfm zhm32d3.tfm
+zhmCJK.tfm zhm32d4.tfm
+zhmCJK.tfm zhm32d5.tfm
+zhmCJK.tfm zhm32d6.tfm
+zhmCJK.tfm zhm32d7.tfm
+zhmCJK.tfm zhm32d8.tfm
+zhmCJK.tfm zhm32d9.tfm
+zhmCJK.tfm zhm32da.tfm
+zhmCJK.tfm zhm32db.tfm
+zhmCJK.tfm zhm32dc.tfm
+zhmCJK.tfm zhm32dd.tfm
+zhmCJK.tfm zhm32de.tfm
+zhmCJK.tfm zhm32df.tfm
+zhmCJK.tfm zhm32e0.tfm
+zhmCJK.tfm zhm32e1.tfm
+zhmCJK.tfm zhm32e2.tfm
+zhmCJK.tfm zhm32e3.tfm
+zhmCJK.tfm zhm32e4.tfm
+zhmCJK.tfm zhm32e5.tfm
+zhmCJK.tfm zhm32e6.tfm
+zhmCJK.tfm zhm32e7.tfm
+zhmCJK.tfm zhm32e8.tfm
+zhmCJK.tfm zhm32e9.tfm
+zhmCJK.tfm zhm32ea.tfm
+zhmCJK.tfm zhm32eb.tfm
+zhmCJK.tfm zhm32ec.tfm
+zhmCJK.tfm zhm32ed.tfm
+zhmCJK.tfm zhm32ee.tfm
+zhmCJK.tfm zhm32ef.tfm
+zhmCJK.tfm zhm32f0.tfm
+zhmCJK.tfm zhm32f1.tfm
+zhmCJK.tfm zhm32f2.tfm
+zhmCJK.tfm zhm32f3.tfm
+zhmCJK.tfm zhm32f4.tfm
+zhmCJK.tfm zhm32f5.tfm
+zhmCJK.tfm zhm32f6.tfm
+zhmCJK.tfm zhm32f7.tfm
+zhmCJK.tfm zhm32f8.tfm
+zhmCJK.tfm zhm32f9.tfm
+zhmCJK.tfm zhm32fa.tfm
+zhmCJK.tfm zhm32fb.tfm
+zhmCJK.tfm zhm32fc.tfm
+zhmCJK.tfm zhm32fd.tfm
+zhmCJK.tfm zhm32fe.tfm
+zhmCJK.tfm zhm32ff.tfm
+
diff --git a/language/chinese/zhmcjk/source/Makefile b/language/chinese/zhmcjk/source/Makefile
new file mode 100644
index 0000000000..260487bc5c
--- /dev/null
+++ b/language/chinese/zhmcjk/source/Makefile
@@ -0,0 +1,72 @@
+AUXFILES = *.dvi *.aux *.log *.glo *.gls *.idx *.ind *.ilg *.out *.hd *~
+MAP = zhmCJK.map texfonts.map.template
+SOURCE = zhmCJK.dtx zhmCJK.ins zhmCJK.lua zhmCJK-addmap.pl Makefile
+
+.PHONY: all
+all: zhmCJK.zip
+
+zhmCJK.zip: $(SOURCE) zhmCJK.sty $(MAP) zhmCJK.tfm doc zhmCJK-addmap.pl miktex-tfm.tar.bz2 zhmCJK.tds.zip
+ rm -rf zhmCJK
+ mkdir zhmCJK
+ cp README zhmCJK/
+ mkdir zhmCJK/source
+ cp $(SOURCE) zhmCJK/source/
+ mkdir zhmCJK/tex
+ cp zhmCJK.sty zhmCJK/tex/
+ mkdir zhmCJK/fontname
+ cp $(MAP) zhmCJK/fontname/
+ mkdir zhmCJK/tfm
+ cp zhmCJK.tfm zhmCJK/tfm/
+ mkdir zhmCJK/doc
+ cp zhmCJK.pdf zhmCJK-test.tex zhmCJK/doc/
+ cp miktex-tfm.tar.bz2 zhmCJK/
+ rm -f zhmCJK.zip
+ zip -r zhmCJK.zip zhmCJK/
+ zip zhmCJK.zip zhmCJK.tds.zip
+ rm -r zhmCJK
+
+zhmCJK.tds.zip: $(SOURCE) zhmCJK.sty $(MAP) zhmCJK.tfm doc
+ rm -rf tds
+ mkdir -p tds/source/latex/zhmCJK
+ cp $(SOURCE) tds/source/latex/zhmCJK/
+ mkdir -p tds/tex/latex/zhmCJK
+ cp zhmCJK.sty tds/tex/latex/zhmCJK/
+ mkdir -p tds/doc/latex/zhmCJK
+ cp zhmCJK.pdf zhmCJK-test.tex README tds/doc/latex/zhmCJK/
+ mkdir -p tds/fonts/map/fontname
+ cp $(MAP) tds/fonts/map/fontname/
+ mkdir -p tds/fonts/tfm/zhmCJK
+ cp zhmCJK.tfm tds/fonts/tfm/zhmCJK/
+ rm -f zhmCJK.tds.zip
+ cd tds && zip -r ../zhmCJK.tds.zip source tex doc fonts
+ rm -r tds
+
+.PHONY: doc
+doc: zhmCJK.pdf zhmCJK-test.tex README
+
+zhmCJK.sty zhmCJK-test.tex README: zhmCJK.dtx zhmCJK.ins
+ pdftex zhmCJK.ins
+ mv README.txt README
+
+$(MAP) zhmCJK.tfm: zhmCJK.lua
+ texlua zhmCJK.lua map
+
+miktex-tfm.tar.bz2: zhmCJK.lua
+ texlua zhmCJK.lua nomap
+ rm -f miktex-tfm.tar.bz2
+ tar cfj miktex-tfm.tar.bz2 miktex-tfm/
+ rm -r miktex-tfm/
+
+zhmCJK.pdf: zhmCJK.sty $(MAP)
+ latex zhmCJK.dtx
+ makeindex -s gind zhmCJK.idx
+ makeindex -s gglo -o zhmCJK.gls zhmCJK.glo
+ latex zhmCJK.dtx
+ latex zhmCJK.dtx
+ dvipdfmx zhmCJK.dvi
+ rm -f $(AUXFILES)
+
+.PHONY: clean
+clean:
+ rm -f $(AUXFILES)
+ rm -f zhmCJK.sty zhmCJK-test.tex README zhmCJK.pdf zhmCJK.tfm miktex-tfm.tar.bz2 $(MAP) zhmCJK.zip zhmCJK.tds.zip
diff --git a/language/chinese/zhmcjk/source/zhmCJK-addmap.pl b/language/chinese/zhmcjk/source/zhmCJK-addmap.pl
new file mode 100755
index 0000000000..92b5cd1517
--- /dev/null
+++ b/language/chinese/zhmcjk/source/zhmCJK-addmap.pl
@@ -0,0 +1,28 @@
+#!/usr/bin/env perl
+
+# Copyright (C) 2012--2016 by Leo Liu <leoliu.pku@gmail.com>
+#
+# Run this script to add tfm font map for zhmCJK package.
+
+chomp ( my $texmfdist = `kpsewhich -var-value=TEXMFDIST` ) ;
+my $texfontsmap = "$texmfdist/fonts/map/fontname/texfonts.map";
+
+my $absent = 1;
+
+if (-r "$texfontsmap") {
+ open (FOO, "<$texfontsmap");
+ my @lines = <FOO>;
+ chomp(@lines);
+ close(FOO);
+ for my $line (@lines) {
+ if ($line =~ m/^\s*include\s+zhmCJK\.map\s*/) {
+ $absent = 0;
+ }
+ }
+}
+
+if ($absent) {
+ open (FOO, ">>$texfontsmap") || die("Cannot write $texfontsmap\n");
+ print FOO "include zhmCJK.map\n";
+ close(FOO);
+}
diff --git a/language/chinese/zhmcjk/source/zhmCJK.dtx b/language/chinese/zhmcjk/source/zhmCJK.dtx
new file mode 100644
index 0000000000..03b2ed24a4
--- /dev/null
+++ b/language/chinese/zhmcjk/source/zhmCJK.dtx
@@ -0,0 +1,1549 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2012--2016 by Leo Liu <leoliu.pku@gmail.com>
+% ---------------------------------------------------------------------------
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Leo Liu.
+%
+% This work consists of the files zhmCJK.dtx,
+% zhmCJK.ins,
+% zhmCJK.lua,
+% zhmCJK-addmap.pl,
+% and the derived files zhmCJK.sty,
+% zhmCJK.pdf,
+% zhmCJK-test.tex,
+% README, (from zhmCJK.dtx)
+% zhmCJK.map,
+% texfonts.map.template,
+% zhmCJK.tfm,
+% miktex-tfm/zhm*/zhm**.tfm. (from zhmCJK.lua)
+%
+% \fi
+%
+% \iffalse
+%
+%<*internal>
+\iffalse
+%</internal>
+%<*readme>
+ ==================
+ zhmCJK Package
+ ==================
+
+Introduction
+------------
+
+zhmCJK is a package written to ease the complex CJK fonts setup. All CJK
+fonts may share the same .tfm metrics. The package sets the NFSS font
+definition and actual font maappings using TeX macros dynamically. As a
+result, zhmCJK provides similar faculties and interface of xeCJK, TrueType CJK
+fonts are used to generate PDF output with pdfTeX or DVIPDFMx driver.
+
+This package is licensed under LPPL.
+
+Installation
+------------
+
+This package consists of the files zhmCJK.dtx,
+ zhmCJK.ins,
+ zhmCJK.lua,
+ zhmCJK-addmap.pl,
+ and the derived files zhmCJK.sty,
+ zhmCJK.pdf,
+ zhmCJK-test.tex,
+ README, (from zhmCJK.dtx)
+ zhmCJK.map,
+ texfonts.map.template,
+ zhmCJK.tfm,
+ miktex-tfm/zhm*/zhm**.tfm. (from zhmCJK.lua)
+
+* Compile zhmCJK.lua with command
+
+ texlua zhmCJK.lua map
+
+ to generate zhmCJK.map, texfonts.map.template, zhmCJK.tfm.
+
+ Or, for MiKTeX only, use
+
+ texlua zhmCJK.lua nomap
+
+ to generate miktex-tfm/zhm*/zhm**.tfm. (32 subdirectories, 8192 TFM files)
+
+* Compile zhmCJK.ins using an 8-bit TeX engine to obtain zhmCJK.sty,
+ zhmCJK-test.tex and this README file.
+
+* Compile zhmCJK.dtx using pdflatex or latex+dvipdfmx to obtain the
+ documentation zhmCJK.pdf.
+
+* Copy the files into proper directories searched by TeX.
+ TDS tree:
+
+ TEXMF/doc/latex/zhmCJK/zhmCJK-test.tex
+ TEXMF/doc/latex/zhmCJK/zhmCJK.pdf
+ TEXMF/doc/latex/zhmCJK/README
+ TEXMF/fonts/map/fontname/zhmCJK.map
+ TEXMF/fonts/tfm/zhmCJK/zhmCJK.tfm
+ TEXMF/source/latex/zhmCJK/zhmCJK.dtx
+ TEXMF/source/latex/zhmCJK/zhmCJK.ins
+ TEXMF/source/latex/zhmCJK/zhmCJK.lua
+ TEXMF/tex/latex/zhmCJK/zhmCJK.sty
+
+ And merge the file texfonts.map.template into
+
+ TEXMF/fonts/map/fontname/texfonts.map
+
+ Or simply run script zhmCJK-addmap.pl to append this line to the old
+ texfonts.map:
+
+ include zhmCJK.map
+
+ Or, for MiKTeX only, instead of copying texfonts.map, zhmCJK.map and
+ zhmCJK.tfm, copy all miktex-tfm/zhm*/zhm**.tfm into:
+
+ TEXMF/fonts/tfm/zhmCJK/miktex-tfm/zhm*/zhm**.tfm
+
+* Run texhash to refresh file name data base.
+
+
+Basic Usage
+-----------
+
+zhmCJK provides similar syntax to xeCJK, while the underlying package is CJK
+under pdfTeX or DVIPDFMx engine. A TeX source file is encoded in UTF-8 by
+default.
+
+The package provides the following commands to define a CJK font family:
+
+ \setCJKmainfont{ttf-file-name}[options]
+ \setCJKsansfont{ttf-file-name}[options]
+ \setCJKmonofont{ttf-file-name}[options]
+ \setCJKfamilyfont{family}{ttf-file-name}[options]
+
+For example, this setup some Chinese fonts on MS Windows:
+
+ \usepackage{zhmCJK}
+ \setCJKmainfont{simsun.ttc}[BoldFont=simhei.ttf, ItalicFont=simkai.ttf]
+
+You can read the PDF document (in Chinese) for more detailed explanations.
+
+Author
+------
+
+Leo Liu <leoliu.pku@gmail.com>
+
+If you are interested in the process of development you may observe
+
+ https://github.com/leo-liu/tex-pkg
+
+
+--- end of README ---
+%</readme>
+%<*internal>
+\fi
+%</internal>
+%
+%<*driver>
+\ProvidesFile{zhmCJK.dtx}
+%</driver>
+%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<package>\ProvidesPackage{zhmCJK}
+%<*package>
+ [2016/11/23 v0.9c setup CJK fonts dynamically]
+%</package>
+%
+%<*driver>
+\documentclass[11pt,a4paper,
+ driverfallback=dvipdfmx,unicode]{ltxdoc}
+\usepackage[numbered]{hypdoc}
+\hypersetup{pdfstartview=FitH}
+\usepackage{zhmCJK}
+\setCJKmainfont{FandolSong-Regular.otf}
+ [cmap=UniGB-UTF16-H,
+ BoldFont=FandolSong-Bold.otf,
+ ItalicFont=FandolKai-Regular.otf]
+\setCJKsansfont{FandolHei-Regular.otf}
+ [cmap=UniGB-UTF16-H,
+ BoldFont=FandolHei-Bold.otf]
+\setCJKmonofont{FandolFang-Regular.otf}[cmap=UniGB-UTF16-H]
+\usepackage[T1]{fontenc}
+\def\MacroFont{\small\normalfont\ttfamily}
+\usepackage{amsmath}
+\usepackage{fancyvrb}
+\fvset{gobble=2}
+\usepackage{indentfirst}
+\setlength\parindent{2em}
+\linespread{1.2}
+\renewcommand\tablename{表}
+\renewcommand\refname{参考文档}
+\makeatletter
+\renewcommand\glossary@prologue{%
+ \section*{版本历史}
+ \markboth{版本历史}{版本历史}}
+\renewcommand\index@prologue{%
+ \section*{代码索引}
+ \markboth{代码索引}{代码索引}
+ 斜体的数字表示对应项说明所在的页码。下划线的数字表示定义所在的代码行号;而直
+ 立体的数字表示对应项使用时所在的行号。}
+\def\option{\begingroup
+ \catcode`\\12
+ \MakePrivateLetters \option@}
+\let\endoption\endtrivlist
+\long\def\option@#1{\endgroup \topsep\MacroTopsep \trivlist
+ \edef\saved@macroname{\string#1}%
+ \def\makelabel##1{\llap{##1}}%
+ \if@inlabel
+ \let\@tempa\@empty \count@\macro@cnt
+ \loop \ifnum\count@>\z@
+ \edef\@tempa{\@tempa\hbox{\strut}}\advance\count@\m@ne \repeat
+ \edef\makelabel##1{\llap{\vtop to\baselineskip
+ {\@tempa\hbox{##1}\vss}}}%
+ \advance \macro@cnt \@ne
+ \else \macro@cnt\@ne \fi
+ \edef\@tempa{\noexpand\item[%
+ \noexpand\PrintEnvName
+ {\string#1}]}%
+ \@tempa
+ \global\advance\c@CodelineNo\@ne
+ \SpecialMainOptionIndex{#1}\nobreak
+ \global\advance\c@CodelineNo\m@ne
+ \ignorespaces}
+\def\SpecialMainOptionIndex#1{\@bsphack
+ \special@index{%
+ #1\actualchar
+ {\string\ttfamily\space#1}
+ (option)%
+ \encapchar main}%
+ \@esphack}
+\makeatother
+\providecommand\eTeX{$\varepsilon$-\TeX}
+\newcommand\pkg[1]{\textsf{#1}}
+\newcommand{\enquote}[1]{``#1''}
+\AtBeginDocument{
+ \DeleteShortVerb{\|}
+ \MakeShortVerb{\"}}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{zhmCJK.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{794}
+%
+% \CharacterTable
+% {Upper-case \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
+% Lower-case \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
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+%
+% \changes{v0.1}{2012/02/02}{初始版本}
+% \changes{v0.2}{2012/02/02}{编写宏包文档。增加 \pkg{CJKpunct}。做一些小的代码
+% 调整。}
+% \changes{v0.5}{2012/02/05}{使用 Lua 脚本生成 TFM 和映射文件;为 MiKTeX 生成
+% 单独的 TFM 文件。将原来的 \texttt{zhmetrics.tfm} 改名为
+% \texttt{zhmCJK.tfm},不再依赖原有的 \pkg{zhmetrics} 包。}
+%
+% \DoNotIndex{\newcommand,\newenvironment,
+% \@ifpackageloaded, \@ne, \@onlypreamble, \@xxxii, \advance, \aftergroup,
+% \AtBeginDocument, \AtBeginDvi, \AtBeginShipoutFirst, \AtEndDocument,
+% \AtEndOfPackage, \begin, \clearpage, \DeclareBoolOption,
+% \DeclareRobustCommand, \def, \else, \end, \endinput, \fi, \font, \ifnum,
+% \ifpdf, \let, \m@ne, \mathrm, \mathsf, \mathtt, \newcount,
+% \not@math@alphabet, \ProcessKeyvalOptions, \providecommand, \relax,
+% \RequirePackage, \scantokens, \SetupKeyvalOptions, \the, \@nameuse,
+% \csname, \define@key, \DeclareStringOption, \edef, \endcsname,
+% \expandafter, \global, \hyphenchar, \ifcsname, \ifx, \PackageError,
+% \PackageWarning, \setkeys, \space, \unless, \xdef, \begingroup, \endgroup,
+% \@namedef, \author, \bfseries, \date, \documentclass, \maketitle, \textbf,
+% \textit, \textsf, \texttt, \title, \usepackage, \@font@warning, \dimexpr,
+% \strip@pt, \textsl, \@ifnextchar, \eTeXversion, \luatexversion,
+% \XeTeXrevision, \meaning, \string, \tempa, \tempb, \hbox, \hss, \unexpanded,
+% \symbol, \newif}
+%
+% \GetFileInfo{zhmCJK.dtx}
+% \title{\pkg{zhmCJK} 宏包}
+% \author{\textit{刘海洋} \\ \nolinkurl{leoliu.pku@gmail.com}}
+% \date{\filedate\ \fileversion}
+%
+% \maketitle
+%
+% \section{简介}
+%
+% \pkg{zhmCJK} 宏包是一个基于 \pkg{zhmetrics} 机制 \cite{Wang2009} 和
+% \pkg{CJK} 宏包 \cite{Lemberg2008} 的 CJK 文字配置宏包。宏包的名称
+% \pkg{zhmCJK} 就取自 \pkg{zhmetrics} 和 \pkg{CJK} 这两个包。它可以动态地设置
+% CJK 字体,仅指定字体文件名,就完成原来十分复杂的 CJK 字体安装设置工作。
+%
+% \pkg{zhmCJK} 提供了尽可能简单的用户界面。除了提供对 \pkg{CJK} 宏包所用字体的
+% 实时安装设置功能(默认 UTF-8 编码),\pkg{zhmCJK} 还同时加载了
+% \pkg{CJKpunct} 和 \pkg{CJKspace} 宏包处理标点压缩和字符间距。
+%
+% \pkg{zhmCJK} 支持 pdf\TeX{} 和 DVIPDFMx 两种输出驱动,可以使用 "pdflatex" 或
+% $"latex"+"dvipdfmx"$ 的方式编译。
+%
+% \section{用法}
+%
+% \subsection{宏包载入与选项}
+%
+% 只需要在导言区使用
+% \begin{Verbatim}
+% \usepackage{zhmCJK}
+% \end{Verbatim}
+% 即可载入宏包。
+%
+% 宏包可以带有一些选项(表~\ref{tab:pkgopt})。例如如果要打开自动伪斜体,就可以
+% 用
+% \begin{Verbatim}
+% \usepackage[AutoFakeSlant]{zhmCJK}
+% \end{Verbatim}
+% 一般来说使用默认的设置,即不用任何选项即可。
+%
+% \begin{table}[ht]
+% \centering
+% \begin{tabular}{l|l|p{14em}}
+% \hline
+% 选项 & 默认值 & 功能 \\
+% \hline
+% "encoding="\meta{编码} & "UTF8" & 设置 CJK 输入的编码,如 \texttt{GBK},
+% \texttt{Bg5} 等,参见 \cite{Lemberg2008}。 \\
+% "pdffakebold="\meta{\texttt{true}$|$\texttt{false}} & "true" & 设置伪粗体类型
+% 为 PDF 原语生成;若设置为 "false" 则沿用旧的 \pkg{CJK} 伪粗体机制 \\
+% "AutoFakeBold="\meta{数字} & 0.4 & 全局设置自动伪粗体的粗细,单位为 bp;若设
+% 置为 0 则禁用自动伪粗体。如果参数省略,取值为 0.4。 \\
+% "AutoFakeSlant="\meta{数字} & 0 & 全局设置自动伪斜体的倾斜度;若设置为 0 则禁
+% 用自动伪斜体。如果参数省略,取值为 0.167。 \\
+% "cmap="\meta{CMap 值} & "unicode" & 设置字体文件使用的 CMap 映射,对多数 CJK
+% 字体可以使用默认值 "unicode",相当于使用基于 UCS2 的字体编码;部分字体需要设置
+% 为 "UniGB-UTF16-H" 等映射。仅对 DVIPDFMx 有效。 \\
+% "embed="\meta{\texttt{true}$|$\texttt{false}} & "true" & 设置字体是否嵌入。仅
+% 对 DVIPDFMx 有效。 \\
+% \hline
+% \end{tabular}
+% \caption{\pkg{zhmCJK} 宏包选项}
+% \label{tab:pkgopt}
+% \end{table}
+%
+% \subsection{宏包提供的命令}
+%
+% \pkg{zhmCJK} 的基本用户界面与 \pkg{xeCJK} 宏包 \cite{Sun2012} 十分相似,定义
+% 字体的几个命令语法大体相同。
+%
+% \begin{quote}
+% \DescribeMacro{\setCJKmainfont}
+% "\setCJKmainfont{"\meta{字体文件名}"}["\meta{选项}"]" 或\\
+% "\setCJKmainfont["\meta{选项}"]{"\meta{字体文件名}"}"
+% \end{quote}
+% 设置正文默认罗马族的 CJK 字体,字体用 TrueType 文件名表示。该命令影响
+% "\rmfamily" 和 "\textrm" 的字体。
+%
+% 字体选项与宏包选项基本对应,可用的字体选项有:"BoldFont", "ItalicFont",
+% "BoldItalicFont", "SlantedFont", "BoldSlantedFont",分别用来设置不同字型的变
+% 体;"AutoFakeBold",设置单个字体族的伪粗体;"AutoFakeSlant",设置单个字体族
+% 的伪斜体;"encoding",设置单个字体使用的输入编码;"cmap",设置单个字体使用的
+% CMap 映射;"embed",设置单个字体是否嵌入。
+%
+% \DescribeMacro{\setCJKromanfont}
+% 是 "\setCJKmainfont" 的别名。
+%
+% 例如,使用
+% \begin{Verbatim}
+% \setCJKmainfont{simsun.ttc}[BoldFont=simhei.ttf,ItalicFont=simkai.ttf]
+% \end{Verbatim}
+% 将使用文件名为 "simsun.ttc" 的字体(中易宋体)作为正文罗马族字体,同时其粗体
+% 形式设置为 "simhei.ttf"(中易黑体),其斜体形式设置为 "simkai.ttf"(中易
+% 楷体)。
+%
+% 又如,使用
+% \begin{Verbatim}
+% \setCJKmainfont{FandolSong-Regular.otf}
+% [cmap=UniGB-UTF16-H,
+% BoldFont=FandolSong-Bold.otf,
+% ItalicFont=FandolKai-Regular.otf]
+% \end{Verbatim}
+% 可以设置 Fandol 字体作为正文字体。
+%
+% \begin{quote}
+% \DescribeMacro{\setCJKsansfont}
+% "\setCJKsansfont{"\meta{字体文件名}"}["\meta{选项}"]" 或\\
+% "\setCJKsansfont["\meta{选项}"]{"\meta{字体文件名}"}"
+% \end{quote}
+% 设置正文无衬线族的 CJK 字体。影响 "\sffamily" 和 "\textsf" 的字体。例如用
+% \begin{Verbatim}
+% \setCJKsansfont{simhei.ttf}
+% \end{Verbatim}
+% 将使用字体 "simhei.ttf"(中易黑体)作为正文无衬线字体。
+%
+% \begin{quote}
+% \DescribeMacro{\setCJKmonofont}
+% "\setCJKmonofont{"\meta{字体文件名}"}["\meta{选项}"]" 或\\
+% "\setCJKmonofont["\meta{选项}"]{"\meta{字体文件名}"}"
+% \end{quote}
+% 设置正文等宽族的 CJK 字体。影响 "\ttfamily" 和 "\texttt" 的字体。例如用
+% \begin{Verbatim}
+% \setCJKsansfont{simfang.ttf}
+% \end{Verbatim}
+% 将使用字体 "simfang.ttf"(中易仿宋体)作为正文等宽字体。
+%
+% \DescribeMacro{\setCJKfamilyfont}
+% \begin{quote}
+% "\setCJKfamilyfont{"\meta{族}"}{"\meta{字体文件名}"}["\meta{选项}"]" 或\\
+% "\setCJKfamilyfont{"\meta{族}"}["\meta{选项}"]{"\meta{字体文件名}"}"
+% \end{quote}
+% 定义新的 CJK 字体族并指定字体。例如用
+% \begin{Verbatim}
+% \setCJKfamilyfont{yahei}{msyh.ttc}[BoldFont=msyhbd.ttc]
+% \end{Verbatim}
+% 可以定义名为 "yahei" 的 CJK 字体族,其对应的实际字体文件名为 "msyh.ttc"(微
+% 软雅黑),粗体形式是 "msyhbd.ttc"(粗体的微软雅黑)。
+%
+% 以上字体设置命令只能在文档导言区使用。中文字体可以用 \pkg{CJK} 宏包的
+% "\CJKfamily" 命令切换。例如用 "\CJKfamily{yahei}" 就可以选择前面定义的微软雅
+% 黑字体。
+%
+%
+% \DescribeMacro{\CJKrmdefault}
+% 保存 "\rmfamily" 所使用的 CJK 字体族,默认值是 "rm"。类似西文字体的
+% "\rmdefault"。
+%
+% \DescribeMacro{\CJKsfdefault} 保存 "\sffamily" 所使用的 CJK 字体族,默认值是
+% "sf"。类似西文字体的 "\sfdefault"。
+%
+% \DescribeMacro{\CJKttdefault}
+% 保存 "\ttfamily" 所使用的 CJK 字体族,默认值是 "tt"。类似西文字体的
+% "\ttdefault"。
+%
+% \DescribeMacro{\CJKfamilydefault}
+% 保存 "\normalfont" 所使用的 CJK 字体族,默认值是 "\CJKrmdefault"。类似西文字
+% 体的 "\familydefault"。例如,使用
+% \begin{Verbatim}
+% \renewcommand\familydefault{\sfdefault}
+% \renewcommand\CJKfamilydefault{\CJKsfdefault}
+% \end{Verbatim}
+% 可以将全文的 CJK 和西文默认字体改为无衬线字体族。
+%
+% \subsection{示例文件}
+%
+% \begin{macrocode}
+%<*test>
+% UTF-8 编码
+% 使用 pdflatex 或 latex + dvipdfmx 编译
+\documentclass[12pt,a4paper]{article}
+
+\usepackage{zhmCJK}
+\setCJKmainfont{simsun.ttc}[BoldFont=simhei.ttf,ItalicFont=simkai.ttf]
+\setCJKsansfont{simhei.ttf}[AutoFakeBold=0]
+\setCJKmonofont{simfang.ttf}[AutoFakeSlant]
+\setCJKfamilyfont{xinwei}{STXINWEI.TTF}
+
+\title{\bfseries 一个华丽的 zhmCJK 测试}
+\author{Leo Liu}
+\date{2016 年 11 月 23 日}
+
+\begin{document}
+
+\maketitle
+
+正文是宋体字,\textbf{加粗变成黑体},\textit{意大利体变成楷体}。
+
+\textsf{这是黑体字,\textbf{禁用自动加粗},\textsl{默认不自动倾斜}}
+
+\texttt{这是仿宋字,\textbf{默认自动加粗},\textsl{打开自动倾斜}}
+
+{\CJKfamily{xinwei}还有华文新魏}
+
+\end{document}
+%</test>
+% \end{macrocode}
+%
+% \section{安装}
+%
+% \subsection{组成与依赖项}
+%
+% \pkg{zhmCJK} 源代码包包含如下文件:
+% \begin{itemize}
+% \item "zhmCJK.dtx", "zhmCJK.ins":这是 \pkg{zhmCJK} 的 \pkg{DocStrip} 包与
+% 驱动。
+% \item "zhmCJK.lua":这是用来生成 TFM 文件 \cite{Wang2009} 和字体名映射文件
+% 的 Lua 脚本。
+% \item "zhmCJK-addmap.pl":这是 TFM 字体映射的合并脚本。
+% \end{itemize}
+%
+% 除此以外,使用 \pkg{zhmCJK} 还依赖:
+% \begin{itemize}
+% \item \pkg{CJK}, \pkg{CJKutf8}, \pkg{CJKspace} 宏包,同属于 \pkg{CJK}
+% 集合。
+% \item \pkg{CJKpunct} 宏包。
+% \item \pkg{ifpdf}, \pkg{kvoptions} 宏包,同属于 \pkg{oberdiek} 集合。
+% \end{itemize}
+%
+% 编译使用 \pkg{zhmCJK} 的文档需要 \eTeX{} 支持,并要求使用较新版本的 pdf\TeX{}
+% 或 DVIPDFMx 生成 PDF 文件。
+%
+% \subsection{生成与安装}
+%
+% 生成格式文件和文档:
+% \begin{enumerate}
+% \item 对 \TeX\ Live 等发行版,执行
+% \begin{quote}
+% "texlua zhmCJK.lua map"
+% \end{quote}
+% 生成:
+% \begin{itemize}
+% \item "zhmCJK.tfm":通用的 CJK 字符 TFM 文件,可用于大部分常见的中文字
+% 体。
+% \item "zhmCJK.map", "texfonts.map.template":字体名映射文件。
+% \end{itemize}
+%
+% 对 MiKTeX 等发行版,执行
+% \begin{quote}
+% "texlua zhmCJK.lua nomap"
+% \end{quote}
+% 生成目录 "miktex-tfm" 下的 32 个子目录 "zhm*",每个子目录下有 256 个 TFM
+% 文件 "zhm**.tfm"。共 8192 个 TFM 文件 \path{miktex-tfm/zhm*/zhm**.tfm}。
+%
+% \item 执行:
+% \begin{quote}
+% "latex zhmCJK.ins"
+% \end{quote}
+% 生成格式文件 "zhmCJK.sty" 和示例文件 "zhmCJK-test.tex"。
+%
+% \item 执行:
+% \begin{quote}
+% "latex zhmCJK.dtx" \\
+% "makeindex -s gind zhmCJK.idx" \\
+% "makeindex -s gglo -o zhmCJK.gls zhmCJK.glo" \\
+% "latex zhmCJK.dtx" \\
+% "latex zhmCJK.dtx" \\
+% "dvipdfmx zhmCJK.dvi"
+% \end{quote}
+% 生成宏包文档。编译文档可以使用 "pdflatex" 命令。编译文档需要 \TeX{} 发行
+% 版安装有 Fandol 字体包。
+% \end{enumerate}
+%
+% 设 "TEXMF" 是 \TeX{} 系统的 TDS 根目录,按如下目录结构复制宏包的各个文件:
+% \begin{Verbatim}
+% TEXMF/doc/latex/zhmCJK/zhmCJK-test.tex
+% TEXMF/doc/latex/zhmCJK/zhmCJK.pdf
+% TEXMF/doc/latex/zhmCJK/README
+% TEXMF/fonts/map/fontname/zhmCJK.map
+% TEXMF/fonts/tfm/zhmCJK/zhmCJK.tfm
+% TEXMF/source/latex/zhmCJK/zhmCJK.dtx
+% TEXMF/source/latex/zhmCJK/zhmCJK.ins
+% TEXMF/source/latex/zhmCJK/zhmCJK.lua
+% TEXMF/tex/latex/zhmCJK/zhmCJK.sty
+% \end{Verbatim}
+% 并将 "texfonts.map.template" 内容合并到
+% \begin{Verbatim}
+% TEXMF/fonts/map/fontname/texfonts.map
+% \end{Verbatim}
+% 也可以运行 Perl 脚本 "zhmCJK-addmap.pl" 完成合并。复制完所有文件后运行
+% "texhash" 命令(可能需要管理员权限)刷新文件名数据库,宏包即可使用。
+%
+% 对于 MiKTeX,"texfonts.map" 和 "zhmCJK.map" 的映射机制无效,则需要复制整个
+% "miktex-tfm" 目录下的所有文件到:
+% \begin{Verbatim}
+% TEXMF/fonts/tfm/zhmCJK/miktex-tfm/zhm*/zhm**.tfm
+% \end{Verbatim}
+%
+% 注:实际下载的安装包已经生成好上述文件和文档,可以不必手工生成。如果下载的是
+% TDS 安装包,则只需按目录结构解压复制,刷新文件名数据库即可。对于 MiKTeX
+% 系统,需要把打包的 TFM 文件解压出来。
+%
+% \subsection{字体搜索路径}
+%
+% \pkg{zhmCJK} 可以使用 kpathsea 库 \cite{Berry2011} 所能搜索到的 Unicode 编码
+% CJK 字体,包括操作系统安装的字体。pdf\TeX{} 支持 TrueType 格式(扩展名
+% ".ttf", ".ttc"),DVIPDFMx 还支持 OpenType 格式(扩展名 ".otf")。
+%
+% Windows 操作系统下,MiKTeX 和 \TeX\ Live 可以不做特别的设置,即可正确搜索操
+% 作系统的字体目录。
+%
+% 在 Linux 操作系统下,需要设置 \TeX\ Live 的 "texmf.cnf" 配置文件,在其中的
+% "OSFONTDIR" 变量中增加操作系统字体目录。例如 \TeX\ Live 在目录
+% \path{/usr/local/share/texlive/} 安装,则新建(或修改)文件
+% \path{/usr/local/share/texlive/texmf.cnf},在其中增加如下内容:
+% \begin{Verbatim}
+% OSFONTDIR = /usr/share/fonts//;~/.fonts//
+% \end{Verbatim}
+% 详情可参考 \TeX\ Live 手册及原有 "texmf.cnf" 文件中的相关注释说明。
+%
+% 可以使用 "kpsewhich" 命令检查 \pkg{zhmCJK} 能否搜索到指定的字体文件。例如在
+% Windows 系统中使用命令:
+% \begin{Verbatim}
+% kpsewhich simsun.ttc
+% \end{Verbatim}
+% 应该得到输出:
+% \begin{Verbatim}
+% c:/Windows/fonts/simsun.ttc
+% \end{Verbatim}
+% 对非 Windows 系统,文件和路径区分大小写。
+%
+% \section{已知问题}
+%
+% \begin{itemize}
+% \item 受制于预定义的映射文件 "texfonts.map",使用 \pkg{zhmCJK} 在同一文档中
+% 能够使用的字体文件是有限的。目前只有 32 个。
+% \item 在 MiKTeX 中 "texfonts.map" 映射无效,无法使用单一 TFM 文件处理所有的
+% CJK 字体,因此需要生成所有对应的 TFM 文件才能使用。
+% \end{itemize}
+%
+% \StopEventually{
+% \begin{thebibliography}{9}
+% \bibitem{adobe2001}
+% \textsc{{Adobe Systems Incorporated}}.
+% \newblock \textit{PDF reference: Adobe portable document format version
+% 1.4}.
+% \newblock Addison-Wesley, third edition, 2001
+% \newline\url{http://www.adobe.com/devnet/pdf/pdf_reference.html}
+% \bibitem{Berry2011}
+% \textsc{Karl Berry, Olaf Weber and Taco Hoekwater}.
+% \newblock \textit{Kpathsea library}, version 6.0.1, 2011
+% \newline\url{CTAN://info/doc-k/kpathsea.pdf}
+% \bibitem{Cho2009}
+% \textsc{Jin-Hwan Cho}.
+% \newblock \enquote{DVI specials for PDF generation}.
+% \newblock \textit{TUGboat}, volume~30(1):pages 6--11, 2009
+% \newline\url{http://www.tug.org/TUGboat/Articles/tb30-1/tb94cho.pdf}
+% \bibitem{Lemberg2008}
+% \textsc{Werner Lemberg}.
+% \newblock \textit{\pkg{CJK}}, version 4.8.2, 2008
+% \newline\url{CTAN://language/chinese/CJK/cjk-4.8.2/doc/CJK.txt}
+% \bibitem{Lemberg2008fonts}
+% \textsc{Werner Lemberg}.
+% \newblock \textit{The fonts}, 2008
+% \newline\url{CTAN://language/chinese/CJK/cjk-4.8.2/doc/fonts.txt}
+% \bibitem{Thanh2009}
+% \textsc{H\`an~Th\^{\'e} Th\`anh}.
+% \newblock \enquote{A closer look at TrueType fonts and pdf\TeX}.
+% \newblock \textit{TUGboat}, volume~30(1):pages 32--34, 2009
+% \newline\url{http://www.tug.org/TUGboat/Articles/tb30-1/tb94thanh.pdf}
+% \bibitem{Sun2012}
+% 孙文昌.
+% \newblock \textit{\pkg{xeCJK} 宏包}, 版本 2.4.5, 2012
+% \newline\url{CTAN://macros/xetex/latex/xecjk/xeCJK.pdf}
+% \bibitem{Wang2009}
+% 王越.
+% \newblock \textit{\pkg{CJK} 宏包中,中文字体的秘密}.
+% \newblock C\TeX{} 论坛, 2009 年 5 月
+% \newline\url{http://bbs.ctex.org/viewthread.php?tid=50078}
+% \end{thebibliography}
+% }
+%
+% \clearpage
+% \section{代码实现}
+%
+% \subsection{字体设置包 \texttt{zhmCJK.sty}}
+%
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+%
+% \changes{v0.7}{2012/02/06}{宏包载入时进行编译引擎测试}
+% 首先进行编译引擎测试。
+%
+% \begin{macro}{\ifzhm@primitive}
+% 测试是否为原始控制序列,用于判断编译引擎。代码参考 \pkg{ifetex} 宏包,有改动。
+% \begin{macrocode}
+\def\ifzhm@primitive#1{\begingroup
+ \edef\tempa{\meaning#1}%
+ \edef\tempb{\string#1}%
+ \expandafter\endgroup
+ \ifx\tempa\tempb}
+% \end{macrocode}
+% \end{macro}
+%
+% 需要 \eTeX{} 支持。对非 \eTeX{} 引擎报错并退出宏包。
+% \begin{macrocode}
+\ifzhm@primitive\eTeXversion\else
+ \PackageError{zhmCJK}%
+ {You are not running an eTeX-compatible engine.
+ zhmCJK needs an eTeX-compatible TeX engine}%
+ {If `latex' and `pdflatex' commands fail,
+ try `elatex' or `pdfelatex' command.
+ If all fail, you may need to upgrade your TeX system.}
+ \expandafter\endinput
+\fi
+% \end{macrocode}
+%
+% 不支持 Lua\TeX{}。遇到 Lua\TeX{} 引擎报错并退出宏包。
+% \begin{macrocode}
+\ifzhm@primitive\luatexversion
+ \PackageError{zhmCJK}%
+ {You are wrongly using lualatex or dvilualatex to compile
+ the file. zhmCJK does not support LuaTeX engine.}%
+ {Use pdflatex or latex+dvipdfmx to compile the file.}
+ \expandafter\endinput
+\fi
+% \end{macrocode}
+%
+% 不支持 XeTeX。当发现使用 XeTeX 时报错,并载入 \pkg{xeCJK} 宏包再退出。
+% \begin{macrocode}
+\ifzhm@primitive\XeTeXrevision
+ \PackageError{zhmCJK}%
+ {You are wrongly use xelatex to compile the file.
+ zhmCJK do not support XeTeX engine.}%
+ {You can use xeCJK instead.}
+ \RequirePackage{xeCJK}
+ \expandafter\endinput
+\fi
+% \end{macrocode}
+%
+% 载入工具宏包。
+% \begin{macrocode}
+\RequirePackage{ifpdf}
+\RequirePackage{kvoptions}
+\SetupKeyvalOptions{
+ family=zhm@opt,
+ prefix=zhm@}
+% \end{macrocode}
+%
+% \changes{v0.9}{2013/08/08}{增加宏包 \texttt{cmap} 选项选择 DVIPDFMx 的 CMap
+% 映射。}
+% \begin{option}{cmap}
+% 定义使用的 DVIPDFMx 字体映射所使用的 CMap 映射,默认是 "unicode",即使用 UCS2
+% 编码的字体映射。多数 CJK 字体可以使用默认值,但少量需要单独设置才能使 DVIPDFMx
+% 工作正常。
+% \begin{macrocode}
+\DeclareStringOption[unicode]{cmap}
+% \end{macrocode}
+% \end{option}
+%
+% \changes{v0.9}{2013/08/10}{增加宏包 \texttt{embed} 选项,允许 DVIPDFMx 驱动
+% 不嵌入字体。}
+% \begin{option}{embed}
+% 控制字体是否嵌入。只对 DVIPDFMx 有效。
+% \begin{macrocode}
+\DeclareBoolOption[true]{embed}
+\AddToKeyvalOption*{embed}{%
+ \ifpdf
+ \PackageWarning{zhmCJK}
+ {The `embed' option is not supported by pdfTeX driver.\MessageBreak
+ Ignoring option `embed'}
+ \fi}
+% \end{macrocode}
+% \end{option}
+%
+% \changes{v0.8}{2012/02/06}{增加宏包 \texttt{encoding} 选项选择默认编码。}
+% \begin{option}{encoding}
+% 定义编码选项。初始化为 "UTF8",使用时不能省略参数。
+% \begin{macrocode}
+\DeclareStringOption[UTF8]{encoding}
+% \end{macrocode}
+% \end{option}
+%
+% \changes{v0.3}{2012/02/02}{增加宏包 \texttt{pdffakebold} 选项}
+% \begin{option}{pdffakebold}
+% 选择是否使用 PDF 原语生成伪粗体。默认是 "true",如果选 "false" 则改用原来
+% \pkg{CJK} 宏包平移输出的伪粗体机制。
+% \begin{macrocode}
+\DeclareBoolOption[true]{pdffakebold}
+% \end{macrocode}
+% \end{option}
+%
+% \changes{v0.4}{2012/02/04}{增加宏包 \texttt{AutoFakeBold} 选项}
+% \begin{option}{AutoFakeBold}
+% 使用 PDF 原语对 "b" 和 "bx" 系列生成伪粗体,并设置伪粗体描边线宽。初始化为
+% 0.4 (bp),无参数缺省值为 0.4。
+% \begin{macrocode}
+\DeclareStringOption[0.4]{AutoFakeBold}[0.4]
+% \end{macrocode}
+% \end{option}
+%
+% \changes{v0.6}{2012/02/05}{增加宏包 \texttt{AutoFakeSlant} 选项}
+% \begin{option}{AutoFakeSlant}
+% 使用 PDF 原语对 "sl" 形状生成伪斜体,并设置伪斜体倾斜度。初始化为 0(禁用),
+% 没有参数时缺省值为 0.167。
+% \begin{macrocode}
+\DeclareStringOption[0]{AutoFakeSlant}[0.167]
+% \end{macrocode}
+% \end{option}
+%
+% 执行选项。
+% \begin{macrocode}
+\ProcessKeyvalOptions*
+% \end{macrocode}
+%
+%
+% 载入 CJK 相关支持包。
+%
+% \pkg{CJK}:基本 CJK 支持。
+% \begin{macrocode}
+\RequirePackage{CJK}
+% \end{macrocode}
+%
+% \begin{macro}{\zhm@check@encoding}
+% 检查编码有效性。
+% \begin{macrocode}
+\def\zhm@check@encoding{%
+ \unless\ifcsname CJK@\zhm@encoding @nfssenc\endcsname
+ \PackageError{zhmCJK}%
+ {There is no CJK encoding `\zhm@encoding', please
+ check it over. `UTF8' is used as default encoding.}%
+ {You can use `UTF8', `GBK', `Bg5', `JIS', `KS', etc.
+ Read CJK.txt from CJK package for all valid encodings.}
+ \def\zhm@encoding{UTF8}
+ \fi}
+% \end{macrocode}
+% \end{macro}
+% 检查全局编码。
+% \begin{macrocode}
+\zhm@check@encoding
+% \end{macrocode}
+%
+% 如果使用 UTF8 编码,载入 \pkg{CJKutf8} 包。注意为避免与前面已经载入的
+% \pkg{CJK} 发生选项冲突,在载入前模拟使用了 "encapsulated" 选项。
+% \begin{macrocode}
+\begingroup
+\def\zhm@UTF{UTF8}
+\ifx\zhm@encoding\zhm@UTF\endgroup
+ \@namedef{opt@CJK.sty}{encapsulated}
+ \let\CJK@global\relax
+ \let\CJK@active\relax
+ \let\CJK@local\relax
+ \RequirePackage{CJKutf8}
+\else\endgroup\fi
+% \end{macrocode}
+%
+% CJK 字符与西文字符之间的空格。
+% \begin{macrocode}
+\RequirePackage{CJKspace}
+% \end{macrocode}
+%
+% CJK 标点禁则与压缩。
+% \begin{macrocode}
+\RequirePackage{CJKpunct}
+% \end{macrocode}
+%
+%
+% \begin{macro}{\zhm@nfssenc}
+% 保存当前编码对应的 NFSS 编码,如 "\zhm@encoding" 为默认值 "UTF8" 时,对应编
+% 码为 "C70"。
+% \begin{macrocode}
+\edef\zhm@nfssenc{\@nameuse{CJK@\zhm@encoding @nfssenc}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\zhm@sfd}
+% 保存当前编码对应的 SFD(subfont definition)文件名,不包括扩展名 ".sfd"。如
+% "\zhm@encodings" 为 "UTF8" 时,SFD 文件为 "Unicode.sfd",取值 "Unicode"。
+% \begin{macrocode}
+\edef\zhm@sfd{\@nameuse{zhm@\zhm@encoding @sfd}}
+% \end{macrocode}
+% \end{macro}
+%
+% 下面定义已知的编码与 SFD 文件名对应。注意这里假定使用的都是 Unicode 内码的字
+% 体,SFD 文件名以 "U" 开头。常见 \TeX{} 发行版附带的其他非 Unicode 的 SFD 文
+% 件不作考虑。
+% \begin{macrocode}
+\def\zhm@def@sfd#1#2{\@namedef{zhm@#1@sfd}{#2}}
+\zhm@def@sfd{UTF8}{Unicode}
+\zhm@def@sfd{Bg5}{UBig5}
+\zhm@def@sfd{Bg5+}{UBg5plus}
+\zhm@def@sfd{JIS}{UJIS}
+\zhm@def@sfd{KS}{UKS}
+\zhm@def@sfd{GB}{UGB}
+\zhm@def@sfd{GBK}{UGBK}
+% \end{macrocode}
+%
+% \begin{macro}{\zhm@check@sfd}
+% 检查编码对应的 SFD 文件是否支持。
+% \begin{macrocode}
+\def\zhm@check@sfd{%
+ \unless\ifcsname zhm@\zhm@encoding @sfd\endcsname
+ \PackageError{zhmCJK}%
+ {No SFD file specified for `\zhm@encoding' encoding.
+ Only `UTF8', `Bg5', `Bg5+', `GB', `GBK', `JIS' and
+ `KS' are supported by now.}%
+ {}
+ \def\zhm@sfd{Unicode}
+ \fi}
+\zhm@check@sfd
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v0.9a}{2014/06/20}{使用 \texttt{CJK*} 的环境头代替完整 \texttt{CJK*}
+% 环境,可以减少一个全局分组。(由李清建议)}
+% \changes{v0.9b}{2015/04/08}{使用 \cs{CJK@@enc} 避免一些定义问题。}
+% \changes{v0.9b}{2015/05/01}{UTF8 编码不使用 \cs{CJK@makeActive}。}
+% 在导言区和正文中分别开启 \pkg{CJK} 的功能。非 UTF8 编码环境下,导言区使用
+% "\CJK@makeActive" 设置 128 以上字符为活动字符,并用 "\CJK@@enc" 定义这些活动字符。
+% 这里使用 "\CJK*" 代替原来的 "CJK" 环境,可以避免在 "document" 环境内引入一层分组,
+% 同时全局使用也不需要在全文最后使用 "\end{CJK}",最后也不需要 "\clearpage"。
+% \begin{macrocode}
+\begingroup\def\zhm@UTF{UTF8}\expandafter\endgroup
+\unless\ifx\zhm@encoding\zhm@UTF
+ \AtEndOfPackage{%
+ \CJK@makeActive
+ \CJK@@enc}
+\fi
+\AtBeginDocument{%
+ \@nameuse{CJK*}{\zhm@encoding}{\CJKfamilydefault}}
+% \end{macrocode}
+%
+% \begin{macro}{\zhm@fontnum}
+% 已定义的 CJK 字体数。
+% \begin{macrocode}
+\newcount\zhm@fontnum
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\zhm@pdfliteral}
+% 插入 PDF 原语 \cite{Cho2009,Thanh2009}。用于实现伪斜体。
+% \begin{macrocode}
+\ifpdf
+ \def\zhm@pdfliteral#1{\pdfliteral{#1}}
+\else
+ \def\zhm@pdfliteral#1{\special{pdf:literal #1}}
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\zhm@pdfliteraldirect}
+% 直接插入 PDF 原语 \cite{Cho2009,Thanh2009}。用于实现伪粗体。相比
+% "\zhm@pdfliteral",这里不用先保存 PDF 坐标等状态,生成的代码更直接。伪斜体采
+% 用坐标变换实现,因此不能不保存位置直接插入。
+% \begin{macrocode}
+\ifpdf
+ \def\zhm@pdfliteraldirect#1{\pdfliteral direct {#1}}
+\else
+ \def\zhm@pdfliteraldirect#1{\special{pdf:literal direct #1}}
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+%
+% 使用 PDF 原语生成伪粗体,参考 \cite[\S~4.3.3, \S~5.2.5]{adobe2001}。这里伪粗
+% 体是通过将字体轮廓用 "AutoFakeBold" 参数指定的宽度进行描边得到的。
+% \changes{v0.3}{2012/02/02}{使用 PDF 原语生成伪粗体}
+% \begin{macro}{\zhm@pdf@beginbold}
+% \begin{macrocode}
+\def\zhm@pdf@beginbold{%
+ \zhm@pdfliteraldirect{2 Tr \@nameuse{zhm@\CJK@family @embolden} w}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\zhm@pdf@endbold}
+% \begin{macrocode}
+\def\zhm@pdf@endbold{\zhm@pdfliteraldirect{0 Tr}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ifzhm@fakebold}
+% 判断当前字体是否使用伪粗体。当选项 "AutoFakeBold=0" 时,禁用伪粗体。
+% \begin{macrocode}
+\def\zhm@zero{0}
+\def\ifzhm@fakebold{\expandafter\unless\expandafter\ifx
+ \csname zhm@\zhm@fam @embolden\endcsname
+ \zhm@zero}
+\def\zhm@fakeboldfalse{\@namedef{zhm@\zhm@fam @embolden}{0}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% 使用 PDF 原语生成伪斜体,参考 \cite[\S~4.3.3]{adobe2001}。这里伪斜体是通过局
+% 部坐标变换得到的,变换公式为:
+% \begin{align*}
+% \begin{pmatrix} x' \\ y' \end{pmatrix}
+% &= \begin{pmatrix} a & c \\ b & d \end{pmatrix}
+% \times \begin{pmatrix} x \\ y \end{pmatrix}
+% + \begin{pmatrix} e \\ f \end{pmatrix} \\
+% &= \begin{pmatrix} 1 & \mathit{slant} \\ 0 & 1 \end{pmatrix}
+% \times \begin{pmatrix} x \\ y \end{pmatrix}
+% + \begin{pmatrix} 0 \\ 0 \end{pmatrix} \\
+% &= \begin{pmatrix} x + \mathit{slant}\cdot y \\ y \end{pmatrix}
+% \end{align*}
+%
+% \begin{macro}{\zhm@pdf@beginslant}
+% \begin{macrocode}
+\def\zhm@pdf@beginslant{%
+ \zhm@pdfliteral{1 0 \@nameuse{zhm@\CJK@family @slant} 1 0 0 cm}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\zhm@pdf@endslant}
+% \begin{macrocode}
+\def\zhm@pdf@endslant{%
+ \zhm@pdfliteral{1 0 \@nameuse{zhm@\CJK@family @negslant} 1 0 0 cm}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ifzhm@CJK@bold@}
+% "\ifzhm@CJK@bold@" 对应于 \pkg{CJK} 中的 "\ifCJK@bold@",由 "\CJKbold" 和
+% "\CJKnormal" 控制,用于判断当前是否为伪粗体状态。
+% \begin{macrocode}
+\newif\ifzhm@CJK@bold@
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ifzhm@CJK@slant@}
+% 类似 "\ifzhm@CJK@bold@",由 "\CJKslant" 和 "\CJKnormal" 控制,用于判断当前是
+% 否为伪斜体状态。
+% \begin{macrocode}
+\newif\ifzhm@CJK@slant@
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\CJKbold}
+% 设置伪粗体(不斜)。根据 "pdffakebold" 选项选择伪粗体类型。
+% \begin{macrocode}
+\ifzhm@pdffakebold
+ \def\CJKbold{\global\zhm@CJK@bold@true\global\zhm@CJK@slant@false}
+\else
+ \def\CJKbold{\global\CJK@bold@true\global\zhm@CJK@slant@false}
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\CJKslant}
+% 设置伪斜体(不加粗)。
+% \begin{macrocode}
+\ifzhm@pdffakebold
+ \def\CJKslant{\global\zhm@CJK@bold@false\global\zhm@CJK@slant@true}
+\else
+ \def\CJKnormal{\global\CJK@bold@false\global\zhm@CJK@slant@false}
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\CJKboldslant}
+% 设置伪粗体加伪斜体。
+% \begin{macrocode}
+\ifzhm@pdffakebold
+ \def\CJKboldslant{\global\zhm@CJK@bold@true\global\zhm@CJK@slant@true}
+\else
+ \def\CJKnormal{\global\CJK@bold@false\global\zhm@CJK@slant@false}
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\CJKnormal}
+% 恢复无伪粗、伪斜体的状态。
+% \begin{macrocode}
+\ifzhm@pdffakebold
+ \def\CJKnormal{\global\zhm@CJK@bold@false\global\zhm@CJK@slant@false}
+\else
+ \def\CJKnormal{\global\CJK@bold@false\global\zhm@CJK@slant@false}
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ifzhm@fakeslant}
+% 判断 "\zhm@fam" 确定的字体是否使用伪斜体。当选项 "AutoFakeSlant=0" 时,禁用伪
+% 斜体。
+% \begin{macrocode}
+\def\ifzhm@fakeslant{\expandafter\unless\expandafter\ifx
+ \csname zhm@\zhm@fam @slant\endcsname
+ \zhm@zero}
+\def\zhm@fakeslantfalse{%
+ \@namedef{zhm@\zhm@fam @slant}{0}%
+ \@namedef{zhm@\zhm@fam @negslant}{0}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \changes{v0.9}{2013/08/08}{重新实现伪粗体、伪斜体功能,使之可以正常处理断行、
+% 标点压缩等问题。}
+% \begin{macro}{\CJKsymbol}
+% 重定义 "\CJKsymbol",增加 PDF 的伪粗体、伪斜体功能。
+%
+% 注意原来的 "\CJKsymbol" 在 \pkg{CJK} 包中由 "\DeclareRobustCommand" 定义,因此
+% 这里只重定义 "CJKsymbol" 后加空格的宏,修改其有效部分。这一定义不受
+% \pkg{CJKpunct} 等宏包对 "\CJKsymbol" 附加重定义的影响。
+% \begin{macrocode}
+\@namedef{CJKsymbol }#1{%
+ \ifzhm@CJK@slant@ \zhm@pdf@beginslant \fi
+ \ifzhm@CJK@bold@ \zhm@pdf@beginbold \fi
+ \symbol{#1}%
+ \ifCJK@bold@
+ \hbox to \CJKboldshift{\hss\symbol{#1}}%
+ \hbox to \CJKboldshift{\hss\symbol{#1}}%
+ \fi
+ \ifzhm@CJK@bold@ \zhm@pdf@endbold \fi
+ \ifzhm@CJK@slant@ \zhm@pdf@endslant \fi}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\zhm@DeclareFontShape}
+% "\DeclareFontShape" 内部需要修改 "\catcode",因此在其他宏中声明时,使用
+% "\scantokens" 处理。
+% \begin{macrocode}
+\def\zhm@DeclareFontShape#1#2#3#4#5#6{%
+ \scantokens{\DeclareFontShape{#1}{#2}{#3}{#4}{#5}{#6}}}
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v0.9}{2013/08/08}{支持伪粗斜体。}
+% 类似 "CJKb",定义 "CJKsl" 和 "CJKbsl" 尺寸函数,用于伪斜体、伪粗斜体的字形声
+% 明。
+% \begin{macrocode}
+\DeclareSizeFunction{CJKsl}{\CJK@empty\@font@warning}
+\DeclareSizeFunction{CJKbsl}{\CJK@empty\@font@warning}
+% \end{macrocode}
+%
+% \begin{macro}{\zhm@mapline}
+% 添加实际字体映射行,两个参数是字体编号和字体文件名。为 pdf\TeX{} 与 DVIPDFMx
+% 引擎使用不同的命令完成 \cite{Thanh2009}。
+% \begin{macrocode}
+\ifpdf
+ \def\zhm@mapline#1#2{%
+ \pdfmapline{=zhm#1@\zhm@sfd @ <#2}}
+\else
+ \def\zhm@mapline#1#2{%
+ \special{pdf:mapline zhm#1@\zhm@sfd @ \zhm@cmap\space \ifzhm@embed\else!\fi#2}}
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\zhm@setfontmap}
+% \begin{macro}{\zhm@maplines}
+% \changes{v0.9a}{2014/06/20}{保存重复的字体映射。(李清)}
+% 设置字体映射,两个参数是字体编号和字体文件名。字体映射需要在输出例程初始处设
+% 置。同时将映射行完全展开后保存起来备用。
+% \begin{macrocode}
+\def\zhm@setfontmap#1#2{%
+ \AtBeginDvi{\zhm@mapline{#1}{#2}}%
+ \xdef\zhm@maplines{%
+ \unexpanded\expandafter{\zhm@maplines}%
+ \zhm@mapline{#1}{#2}}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% 如果载入了 \pkg{atbegshi} 宏包,则还要处理修改了的输出例程。这会影响
+% \pkg{eso-pic} 等用户层宏包。
+% \begin{macrocode}
+\AtBeginDocument{%
+ \@ifpackageloaded{atbegshi}{%
+ \AtBeginShipoutFirst{\zhm@maplines}}{}}
+\let\zhm@maplines\empty
+% \end{macrocode}
+%
+% \begin{macro}{\zhm@DeclareRealFont}
+% 分配实际字体,并设置字体映射。参数是字体文件名。如果实际字体已经分配,则不改
+% 变。
+% \begin{macrocode}
+\def\zhm@DeclareRealFont#1{
+ \unless\ifcsname zhm@#1@fontnum\endcsname
+ \global\advance\zhm@fontnum\@ne
+ \ifnum\zhm@fontnum>\@xxxii
+ \PackageError{zhmCJK}%
+ {No more CJK font families can be setup.}%
+ {There are at most 32 families setup by zhmCJK.}
+ \else
+ \expandafter\xdef\csname zhm@#1@fontnum\endcsname{\the\zhm@fontnum}
+ \zhm@setfontmap{\the\zhm@fontnum}{#1}
+ \fi
+ \fi
+ \edef\zhm@tfm{zhm\@nameuse{zhm@#1@fontnum}}}
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v0.9}{2013/08/08}{设置字体 \texttt{cmap} 选项。}
+% \begin{macrocode}
+\define@key{zhm}{cmap}{%
+ \edef\zhm@cmap{#1}}
+% \end{macrocode}
+%
+% \changes{v0.9}{2013/08/10}{设置字体 \texttt{embed} 选项。}
+% \begin{macrocode}
+\define@key{zhm}{embed}[true]{%
+ \ifpdf
+ \PackageWarning{zhmCJK}
+ {The `embed' option is not supported by pdfTeX driver.\MessageBreak
+ Ignoring option `embed'}
+ \fi
+ \edef\zhm@embed{#1}%
+ \ifx\zhm@embed\zhm@true
+ \zhm@embedtrue
+ \else\ifx\zhm@embed\zhm@false
+ \zhm@embedfalse
+ \else
+ \PackageError{zhmCJK}%
+ {The `embed' option must be true or false.}%
+ {See the package manual for more information.}%
+ \fi\fi}
+\def\zhm@true{true}
+\def\zhm@false{false}
+% \end{macrocode}
+%
+% \changes{v0.8}{2012/02/06}{设置字体 \texttt{encoding} 选项。}
+% \begin{macrocode}
+\define@key{zhm}{encoding}{%
+ \edef\zhm@encoding{#1}%
+ \zhm@check@encoding
+ \edef\zhm@nfssenc{\@nameuse{CJK@\zhm@encoding @nfssenc}}%
+ \edef\zhm@sfd{\@nameuse{zhm@\zhm@encoding @sfd}}%
+ \zhm@check@sfd}
+% \end{macrocode}
+%
+% \changes{v0.4}{2012/02/04}{设置字体 \texttt{AutoFakeBold} 选项。}
+% 设置字体 "AutoFakeBold" 选项。缺省值是非 0 的全局选项值,或 0.4。
+% \begin{macrocode}
+\define@key{zhm}{AutoFakeBold}%
+ [\ifx\zhm@AutoFakeBold\zhm@zero 0.4\else\zhm@AutoFakeBold \fi]%
+ {\expandafter\xdef\csname zhm@\zhm@fam @embolden\endcsname{#1}}
+% \end{macrocode}
+%
+% \begin{macro}{\zhm@neg}
+% 利用长度计算取负数。
+% \begin{macrocode}
+\def\zhm@neg#1{\strip@pt\dimexpr-#1pt\relax}
+% \end{macrocode}
+% \end{macro}
+% \changes{v0.6}{2012/02/05}{增加字体 \texttt{AutoFakeSlant} 选项}
+% 设置字体 "AutoFakeSlant" 选项。缺省值是非 0 的全局选项值,或 0.167。
+% \begin{macrocode}
+\define@key{zhm}{AutoFakeSlant}%
+ [\ifx\zhm@AutoFakeSlant\zhm@zero 0.167\else\zhm@AutoFakeSlant \fi]%
+ {\expandafter\xdef\csname zhm@\zhm@fam @slant\endcsname{#1}%
+ \expandafter\xdef\csname zhm@\zhm@fam @negslant\endcsname{\zhm@neg{#1}}}
+% \end{macrocode}
+%
+% \changes{v0.4}{2012/02/04}{设置字体 \texttt{BoldFont} 选项。}
+% 设置 "BoldFont" 选项。
+% \begin{macrocode}
+\define@key{zhm}{BoldFont}{
+ \zhm@DeclareRealFont{#1}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{b}{n}{<-> CJK * \zhm@tfm}%
+ {\CJKnormal}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{bx}{n}{<-> CJK * \zhm@tfm}%
+ {\CJKnormal}
+ \zhm@fakeboldfalse}
+% \end{macrocode}
+%
+% \changes{v0.4}{2012/02/04}{设置字体 \texttt{ItalicFont} 选项。}
+% 设置 "ItalicFont" 选项。
+% \begin{macrocode}
+\define@key{zhm}{ItalicFont}{
+ \zhm@DeclareRealFont{#1}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{m}{it}{<-> CJK * \zhm@tfm}%
+ {\CJKnormal}}
+% \end{macrocode}
+%
+% \changes{v0.4}{2012/02/04}{设置字体 \texttt{BoldItalicFont} 选项。}
+% 设置 "BoldItalicFont" 选项。
+% \begin{macrocode}
+\define@key{zhm}{BoldItalicFont}{
+ \zhm@DeclareRealFont{#1}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{b}{it}{<-> CJK * \zhm@tfm}%
+ {\CJKnormal}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{bx}{it}{<-> CJK * \zhm@tfm}%
+ {\CJKnormal}}
+% \end{macrocode}
+%
+% \changes{v0.4}{2012/02/04}{设置字体 \texttt{SlantedFont} 选项。}
+% 设置 "SlantedFont" 选项。
+% \begin{macrocode}
+\define@key{zhm}{SlantedFont}{
+ \zhm@DeclareRealFont{#1}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{m}{sl}{<-> CJK * \zhm@tfm}%
+ {\CJKnormal}
+ \zhm@fakeslantfalse}
+% \end{macrocode}
+%
+% \changes{v0.4}{2012/02/04}{设置字体 \texttt{BoldSlantedFont} 选项。}
+% 设置 "BoldSlantedFont" 选项。
+% \begin{macrocode}
+\define@key{zhm}{BoldSlantedFont}{
+ \zhm@DeclareRealFont{#1}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{b}{sl}{<-> CJK * \zhm@tfm}%
+ {\CJKnormal}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{bx}{sl}{<-> CJK * \zhm@tfm}%
+ {\CJKnormal}}
+% \end{macrocode}
+%
+% \begin{macro}{\zhm@newfontfamily}
+% \changes{v0.7}{2012/02/06}{更改语法,修改选项位置。}
+% 设置一个 CJK 新字体族。三个参数分别为:字体族名,选项,字体文件名。
+% \begin{macrocode}
+\def\zhm@newfontfamily#1[#2]#3{
+ \begingroup
+% \end{macrocode}
+% 警告字体族重定义
+% \begin{macrocode}
+ \ifcsname zhm@#1@font\endcsname
+ \PackageWarning{zhmCJK}{Redefnition of CJK family `#1'}
+ \fi
+% \end{macrocode}
+% 缓存字体族名及对应主字体文件名。
+% \begin{macrocode}
+ \edef\zhm@fam{#1}
+ \expandafter\xdef\csname zhm@#1@font\endcsname{#3}
+% \end{macrocode}
+% 使全局的 "AutoFakeBold" 和 "AutoFakeSlant" 生效。
+% \begin{macrocode}
+ \setkeys{zhm}{%
+ AutoFakeBold=\zhm@AutoFakeBold,
+ AutoFakeSlant=\zhm@AutoFakeSlant}
+% \end{macrocode}
+% 定义 CJK 字体族。
+% \begin{macrocode}
+ \DeclareFontFamily{\zhm@nfssenc}{\zhm@fam}{\hyphenchar\font\m@ne}
+% \end{macrocode}
+% 执行选项,定义编码、CMap 和其他字形等。
+% \begin{macrocode}
+ \setkeys{zhm}{#2}
+% \end{macrocode}
+% 检查并定义实际字体,定义标准字形。模拟 ".fd" 文件的定义 \cite{Lemberg2008fonts}。
+% \begin{macrocode}
+ \zhm@DeclareRealFont{#3}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{m}{n}{<-> CJK * \zhm@tfm}%
+ {\CJKnormal}
+% \end{macrocode}
+% 按需要,定义伪粗体、伪斜体字形。
+% \begin{macrocode}
+ \ifzhm@fakebold
+ \zhm@DeclareRealFont{#3}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{bx}{n}%
+ {<-> CJKb * \zhm@tfm}{\CJKbold}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{b}{n}%
+ {<-> CJKb * \zhm@tfm}{\CJKbold}
+ \fi
+ \ifzhm@fakeslant
+ \zhm@DeclareRealFont{#3}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{m}{sl}%
+ {<-> CJKsl * \zhm@tfm}{\CJKslant}
+ \fi
+ \expandafter\ifzhm@fakeslant\ifzhm@fakebold
+ \zhm@DeclareRealFont{#3}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{bx}{sl}%
+ {<-> CJKbsl * \zhm@tfm}{\CJKboldslant}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{b}{sl}%
+ {<-> CJKbsl * \zhm@tfm}{\CJKboldslant}
+ \fi\fi
+ \endgroup}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\zhm@newfontfamily@post}
+% \begin{macro}{\zhm@newfontfamily@postaux}
+% 为了支持字体属性可选项在前在后两种语法,给出两个辅助工具。
+% \begin{macrocode}
+\def\zhm@newfontfamily@post#1#2{%
+ \@ifnextchar[%]
+ {\zhm@newfontfamily@postaux{#1}{#2}}%
+ {\zhm@newfontfamily{#1}[]{#2}}}
+\def\zhm@newfontfamily@postaux#1#2[#3]{%
+ \zhm@newfontfamily{#1}[{#3}]{#2}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \changes{v0.9c}{2016/11/20}{支持字体属性可选项在后的新语法。}
+%
+% \begin{macro}{\setCJKfamilyfont}
+% \changes{v0.7}{2012/02/06}{修改可选参数位置,以与 \pkg{xeCJK} 包语法一致。}
+% 设置一个 CJK 字体族。实际有三个参数,语法与 "\zhm@newfontfamily" 大致相同,
+% 第二个参数可选。
+% \begin{macrocode}
+\newcommand*\setCJKfamilyfont[1]{%
+ \@ifnextchar[%]
+ {\zhm@newfontfamily{#1}}%
+ {\zhm@newfontfamily@post{#1}}}
+\@onlypreamble\setCJKfamilyfont
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\setCJKmainfont}
+% 设置 CJK 普通(罗马)字体。
+% \begin{macrocode}
+\newcommand*\setCJKmainfont{%
+ \setCJKfamilyfont{\CJKrmdefault}}
+\@onlypreamble\setCJKmainfont
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\setCJKromanfont}
+% \changes{v0.3}{2012/02/02}{新增。}
+% "\setCJKmainfont" 的别名。
+% \begin{macrocode}
+\let\setCJKromanfont\setCJKmainfont
+\@onlypreamble\setCJKromanfont
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\setCJKsansfont}
+% 设置 CJK 无衬线字体。
+% \begin{macrocode}
+\newcommand*\setCJKsansfont{%
+ \setCJKfamilyfont{\CJKsfdefault}}
+\@onlypreamble\setCJKsansfont
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\setCJKmonofont}
+% 设置 CJK 等宽(打字机)字体。
+% \begin{macrocode}
+\newcommand*\setCJKmonofont{%
+ \setCJKfamilyfont{\CJKttdefault}}
+\@onlypreamble\setCJKmonofont
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\CJKrmdefault}
+% CJK 罗马体默认字体族,作用于 "\rmfamily"。
+% \begin{macrocode}
+\providecommand*\CJKrmdefault{rm}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\CJKsfdefault}
+% CJK 无衬线体默认字体族,作用于 "\sffamily"。
+% \begin{macrocode}
+\providecommand*\CJKsfdefault{sf}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\CJKttdefault}
+% CJK 打字机体默认字体族,作用于 "\ttfamily"。
+% \begin{macrocode}
+\providecommand*\CJKttdefault{tt}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\CJKfamilydefault}
+% CJK 默认字体族,作用于 "\normalfont"。
+% \begin{macrocode}
+\providecommand*\CJKfamilydefault{\CJKrmdefault}
+% \end{macrocode}
+% \end{macro}
+%
+% 重定义 "\normalfont", "\rmfamily", "\sffamily" 和 "\ttfamily",使其同时设置
+% CJK 字体。
+% \begin{macrocode}
+\DeclareRobustCommand\normalfont
+ {\CJKfamily{\CJKfamilydefault}%
+ \usefont\encodingdefault
+ \familydefault
+ \seriesdefault
+ \shapedefault
+ \relax}
+\let\reset@font\normalfont
+\DeclareRobustCommand\rmfamily
+ {\not@math@alphabet\rmfamily\mathrm
+ \fontfamily\rmdefault\CJKfamily{\CJKrmdefault}\selectfont}
+\DeclareRobustCommand\sffamily
+ {\not@math@alphabet\sffamily\mathsf
+ \fontfamily\sfdefault\CJKfamily{\CJKsfdefault}\selectfont}
+\DeclareRobustCommand\ttfamily
+ {\not@math@alphabet\ttfamily\mathtt
+ \fontfamily\ttdefault\CJKfamily{\CJKttdefault}\selectfont}
+% \end{macrocode}
+%
+% \begin{macro}{\zhm@setup@pinyin@UTF8}
+% \changes{v0.9a}{2014/06/20}{处理 UTF-8 编码下的拼音符号输入。}
+% 下面简单处理 UTF-8 编码下的汉语拼音符号,让下列拼音符号
+% \begin{quote}
+% \ttfamily
+% āáǎà ōóǒò ēéěè ê īíǐì ūúǔù ǖǘǚǜü ńňǹ \\
+% ĀÁǍÀ ŌÓǑÒ ĒÉĚÈ Ê ŃŇǸ
+% \end{quote}
+% 可以直接输入,不受 \pkg{CJK} 包影响。
+% \begin{macrocode}
+\@namedef{zhm@setup@pinyin@UTF8}{%
+ \@namedef{u8:\detokenize{ā}}{\={a}}%
+ \@namedef{u8:\detokenize{á}}{\'{a}}%
+ \@namedef{u8:\detokenize{ǎ}}{\v{a}}%
+ \@namedef{u8:\detokenize{à}}{\`{a}}%
+ \@namedef{u8:\detokenize{ō}}{\={o}}%
+ \@namedef{u8:\detokenize{ó}}{\'{o}}%
+ \@namedef{u8:\detokenize{ǒ}}{\v{o}}%
+ \@namedef{u8:\detokenize{ò}}{\`{o}}%
+ \@namedef{u8:\detokenize{ē}}{\={e}}%
+ \@namedef{u8:\detokenize{é}}{\'{e}}%
+ \@namedef{u8:\detokenize{ě}}{\v{e}}%
+ \@namedef{u8:\detokenize{è}}{\`{e}}%
+ \@namedef{u8:\detokenize{ê}}{\^{e}}%
+ \@namedef{u8:\detokenize{ī}}{\={\i}}%
+ \@namedef{u8:\detokenize{í}}{\'{\i}}%
+ \@namedef{u8:\detokenize{ǐ}}{\v{\i}}%
+ \@namedef{u8:\detokenize{ì}}{\`{\i}}%
+ \@namedef{u8:\detokenize{ū}}{\={u}}%
+ \@namedef{u8:\detokenize{ú}}{\'{u}}%
+ \@namedef{u8:\detokenize{ǔ}}{\v{u}}%
+ \@namedef{u8:\detokenize{ù}}{\`{u}}%
+ \@namedef{u8:\detokenize{ǖ}}{\={\"{u}}}%
+ \@namedef{u8:\detokenize{ǘ}}{\'{\"{u}}}%
+ \@namedef{u8:\detokenize{ǚ}}{\v{\"{u}}}%
+ \@namedef{u8:\detokenize{ǜ}}{\`{\"{u}}}%
+ \@namedef{u8:\detokenize{ü}}{\"{u}}%
+ \@namedef{u8:\detokenize{ń}}{\'{n}}%
+ \@namedef{u8:\detokenize{ň}}{\v{n}}%
+ \@namedef{u8:\detokenize{ǹ}}{\`{n}}%
+ \@namedef{u8:\detokenize{Ā}}{\={A}}%
+ \@namedef{u8:\detokenize{Á}}{\'{A}}%
+ \@namedef{u8:\detokenize{Ǎ}}{\v{A}}%
+ \@namedef{u8:\detokenize{À}}{\`{A}}%
+ \@namedef{u8:\detokenize{Ō}}{\={O}}%
+ \@namedef{u8:\detokenize{Ó}}{\'{O}}%
+ \@namedef{u8:\detokenize{Ǒ}}{\v{O}}%
+ \@namedef{u8:\detokenize{Ò}}{\`{O}}%
+ \@namedef{u8:\detokenize{Ē}}{\={E}}%
+ \@namedef{u8:\detokenize{É}}{\'{E}}%
+ \@namedef{u8:\detokenize{Ě}}{\v{E}}%
+ \@namedef{u8:\detokenize{È}}{\`{E}}%
+ \@namedef{u8:\detokenize{Ê}}{\^{E}}%
+ \@namedef{u8:\detokenize{Ń}}{\'{N}}%
+ \@namedef{u8:\detokenize{Ň}}{\v{N}}%
+ \@namedef{u8:\detokenize{Ǹ}}{\`{N}}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\zhm@setup@pinyin}
+% 调用具体编码下的拼音设置。目前只有 UTF-8 编码有合理的设置,其他编码较难实
+% 现。
+% \begin{macrocode}
+\def\zhm@setup@pinyin{%
+ \@nameuse{zhm@setup@pinyin@\zhm@encoding}}
+\zhm@setup@pinyin
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% \subsection{TFM 及映射文件生成脚本 \texttt{zhmCJK.lua}}
+%
+% 这里字体脚本的实现参考了 \pkg{zhmetrics} 项目中吴凌云\footnote{中科院应用数
+% 学研究所副研究员。\nolinkurl{wulingyun@gmail.com}}、
+% zwhuang\footnote{\nolinkurl{zwhuang@gmail.com}} 编写的 "zhtfm.lua" 脚本。其
+% 中 TFM 生成原理参见 \cite{Wang2009}。
+%
+% \VerbatimInput[gobble=0,numbers=left,fontsize=\small]{zhmCJK.lua}
+% \changes{v0.7}{2012/02/06}{生成 TFM 时加入版权说明。}
+%
+% \PrintChanges
+% \PrintIndex
+% \Finale
+\endinput
diff --git a/language/chinese/zhmcjk/source/zhmCJK.ins b/language/chinese/zhmcjk/source/zhmCJK.ins
new file mode 100644
index 0000000000..b589877d13
--- /dev/null
+++ b/language/chinese/zhmcjk/source/zhmCJK.ins
@@ -0,0 +1,85 @@
+%% Copyright (C) 2012--2016 by Leo Liu <leoliu.pku@gmail.com>
+%% --------------------------------------------------------------------------
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Leo Liu.
+%%
+%% This work consists of the files zhmCJK.dtx,
+%% zhmCJK.ins,
+%% zhmCJK.lua,
+%% zhmCJK-addmap.pl,
+%% and the derived files zhmCJK.sty,
+%% zhmCJK.pdf,
+%% zhmCJK-test.tex,
+%% README, (from zhmCJK.dtx)
+%% zhmCJK.map,
+%% texfonts.map.template,
+%% zhmCJK.tfm,
+%% miktex-tfm/zhm*/zhm**.tfm (from zhmCJK.lua)
+%%
+
+\input docstrip.tex
+\keepsilent
+
+\preamble
+
+This is a generated file.
+
+Copyright (C) 2012--2016 by Leo Liu <leoliu.pku@gmail.com>
+--------------------------------------------------------------------------
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+\endpreamble
+
+\askforoverwritefalse
+\generate{\file{zhmCJK.sty}{\from{zhmCJK.dtx}{package}}}
+\nopostamble
+\generate{\file{zhmCJK-test.tex}{\from{zhmCJK.dtx}{test}}}
+\nopreamble
+\generate{\file{README.txt}{\from{zhmCJK.dtx}{readme}}}
+
+\obeyspaces
+\Msg{*************************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the following *}
+\Msg{* file into proper directories searched by TeX: *}
+\Msg{* *}
+\Msg{* zhmCJK.sty into tex/latex/zhmCJK/ *}
+\Msg{* zhmCJK.map into fonts/map/fontname/ *}
+\Msg{* zhmCJK.tfm into fonts/tfm/zhmCJK/ *}
+\Msg{* *}
+\Msg{* And merge the file texfonts.map.template *}
+\Msg{* into fonts/map/fontname/texfonts.map *}
+\Msg{* Or run zhmCJK-addmap.pl *}
+\Msg{* *}
+\Msg{* To produce the documentation run the file zhmCJK.dtx *}
+\Msg{* through LaTeX. *}
+\Msg{* *}
+\Msg{* And move the source files and documentation: *}
+\Msg{* *}
+\Msg{* zhmCJK.pdf into doc/latex/zhmCJK/ *}
+\Msg{* zhmCJK-test.tex into doc/latex/zhmCJK/ *}
+\Msg{* README.txt into doc/latex/zhmCJK/README *}
+\Msg{* zhmCJK.dtx into source/latex/zhmCJK/ *}
+\Msg{* zhmCJK.ins into source/latex/zhmCJK/ *}
+\Msg{* zhmCJK.lua into source/latex/zhmCJK/ *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{* *}
+\Msg{*************************************************************}
+
+\endbatchfile
diff --git a/language/chinese/zhmcjk/source/zhmCJK.lua b/language/chinese/zhmcjk/source/zhmCJK.lua
new file mode 100644
index 0000000000..cf42ec2a47
--- /dev/null
+++ b/language/chinese/zhmcjk/source/zhmCJK.lua
@@ -0,0 +1,204 @@
+-- Copyright (C) 2012--2016 by Leo Liu <leoliu.pku@gmail.com>
+-----------------------------------------------------------------------------
+-- This work may be distributed and/or modified under the
+-- conditions of the LaTeX Project Public License, either version 1.3
+-- of this license or (at your option) any later version.
+-- The latest version of this license is in
+-- http://www.latex-project.org/lppl.txt
+-- and version 1.3 or later is part of all distributions of LaTeX
+-- version 2005/12/01 or later.
+--
+-- This work has the LPPL maintenance status `maintained'.
+--
+-- The Current Maintainer of this work is Leo Liu.
+--
+-- This work consists of the files zhmCJK.dtx,
+-- zhmCJK.ins,
+-- zhmCJK.lua,
+-- zhmCJK-addmap.pl,
+-- and the derived files zhmCJK.sty,
+-- zhmCJK.pdf,
+-- zhmCJK-test.tex,
+-- README, (from zhmCJK.dtx)
+-- zhmCJK.map,
+-- texfonts.map.template,
+-- zhmCJK.tfm,
+-- miktex-tfm/zhm*/zhm**.tfm. (from zhmCJK.lua)
+--
+-----------------------------------------------------------------------------
+-- This lua script is used to generate zhm*.tfm and zhmCJK.map.
+--
+-- Usage:
+--
+-- texlua zhmCJK.lua map
+--
+-- or (for MiKTeX only)
+--
+-- texlua zhmCJK.lua nomap
+--
+
+------------------------
+-- OS dependent settings
+------------------------
+
+if os.type == "unix" then
+ path_slash = "/"
+else
+ path_slash = "\\"
+end
+
+---------------
+-- Generate TFM
+---------------
+
+pl_template = {
+ char = [[
+(CHARACTER D %d
+ (CHARWD R 1.0)
+ (CHARHT R 0.8)
+ (CHARDP R 0.1)
+ )
+]],
+ header = [[
+(FAMILY %s)
+(CODINGSCHEME CJK-UNICODE)
+(DESIGNSIZE R 10.0)
+(HEADER D 18 H 43726561)
+(HEADER D 19 H 74656420)
+(HEADER D 20 H 62792060)
+(HEADER D 21 H 7A686D43)
+(HEADER D 22 H 4A4B2E6C)
+(HEADER D 23 H 7561272E)
+(HEADER D 24 H 20436F70)
+(HEADER D 25 H 79726967)
+(HEADER D 26 H 68742028)
+(HEADER D 27 H 43292032)
+(HEADER D 28 H 30313220)
+(HEADER D 29 H 6279204C)
+(HEADER D 30 H 656F204C)
+(HEADER D 31 H 6975203C)
+(HEADER D 32 H 6C656F6C)
+(HEADER D 33 H 69752E70)
+(HEADER D 34 H 6B754067)
+(HEADER D 35 H 6D61696C)
+(HEADER D 36 H 2E636F6D)
+(HEADER D 37 H 3E0D0A00)
+(CHECKSUM O 0)
+(FONTDIMEN
+ (SLANT R %f)
+ (SPACE R 0.5)
+ (STRETCH R 0.3)
+ (SHRINK R 0.1)
+ (XHEIGHT R 0.4)
+ (QUAD R 1.0)
+ )
+]],
+-- charset = (defined below)
+}
+
+function pl_charset()
+ local charset = {}
+ for cid = 0, 0xff do
+ charset[#charset + 1] = string.format(pl_template.char, cid)
+ end
+ return table.concat(charset)
+end
+
+pl_template.charset = pl_charset()
+
+function write_tfm(path, name, slant)
+ local fullname = path .. path_slash .. name
+ local s_pl = string.format(pl_template.header, string.upper(name), slant)
+ .. pl_template.charset
+ local f_pl = io.open(fullname .. ".pl", "w")
+ f_pl:write(s_pl)
+ f_pl:close()
+ os.execute([[pltotf "]] .. fullname .. [[.pl" "]] .. fullname .. [[.tfm"]])
+ os.remove(fullname .. ".pl")
+end
+
+---------------------------------------------
+-- Main functions to generate necessary files
+---------------------------------------------
+
+-- For TeX Live and other TeX distributions where texfonts.map is supported,
+-- we generate texfonts.map.template, zhmCJK.map, and zhmCJK.tfm.
+function generate_with_fontmap()
+ local f_map = io.open("zhmCJK.map", "w")
+ for fam = 1, 32 do
+ for sid = 0, 0xff do
+ f_map:write(string.format("zhmCJK.tfm zhm%d%02x.tfm\n",
+ fam, sid))
+ end
+ end
+ f_map:write("\n")
+ f_map:close()
+
+ f_map = io.open("texfonts.map.template", "w")
+ f_map:write("include zhmCJK.map\n\n")
+ f_map:close()
+
+ write_tfm(".", "zhmCJK", 0.0)
+end
+
+-- For MiKTeX and other TeX distributions where texfonts.map is not supported,
+-- we generate a lot of zhmXYY.tfm, where X from 1 to 32, Y from 0x00 to 0xff.
+function generate_without_fontmap()
+ lfs.mkdir("miktex-tfm")
+ for fam = 1, 32 do
+ local path = string.format("miktex-tfm" .. path_slash .. "zhm%d", fam)
+ lfs.mkdir(path)
+ print(path)
+ for sid = 0, 0xff do
+ local name = string.format("zhm%d%02x", fam, sid)
+ write_tfm(path, name, 0.0)
+ end
+ end
+end
+
+-------------------------
+-- Console User Interface
+-------------------------
+
+help_info = [[
+Usage:
+
+ texlua ]].. arg[0] .. [[ map|nomap
+
+ map: Generate a public TFM shared by all CJK fonts with mapping files.
+ It is suggested for TeX Live and other web2c distributions.
+
+ nomap: Generate all TFM files for CJK fonts into "miktex-tfm" directory.
+ MiKTeX needs this since it does not support TFM mappings.
+]]
+
+if #arg ~= 1 then
+ print(help_info)
+else
+ if arg[1] == "map" then
+ generate_with_fontmap()
+ elseif arg[1] == "nomap" then
+ generate_without_fontmap()
+ else
+ print("! Unknown option " .. arg[1])
+ print(help_info)
+ end
+end
+
+-- end of file zhmCJK.lua --
+--
+-----------------------------------------------------------------------------
+--
+-- The code is inspired by zhtfm.lua of zhmetrics bundle.
+--
+-- The zhmetrics bundle is distributed under LPPL 1.3 or later. The original
+-- authors of zhtfm.lua are:
+--
+-- Lingyun Wu <wulingyun@gmail.com>
+-- zwhuang <zwhuang@gmail.com>
+--
+-- For more information of zhmetrics, see the ctex-kit project:
+--
+-- https://github.com/CTeX-org/ctex-kit
+--
+
diff --git a/language/chinese/zhmcjk/tex/zhmCJK.sty b/language/chinese/zhmcjk/tex/zhmCJK.sty
new file mode 100644
index 0000000000..ada3f9b54a
--- /dev/null
+++ b/language/chinese/zhmcjk/tex/zhmCJK.sty
@@ -0,0 +1,407 @@
+%%
+%% This is file `zhmCJK.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% zhmCJK.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2012--2016 by Leo Liu <leoliu.pku@gmail.com>
+%% --------------------------------------------------------------------------
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{zhmCJK}
+ [2016/11/23 v0.9c setup CJK fonts dynamically]
+\def\ifzhm@primitive#1{\begingroup
+ \edef\tempa{\meaning#1}%
+ \edef\tempb{\string#1}%
+ \expandafter\endgroup
+ \ifx\tempa\tempb}
+\ifzhm@primitive\eTeXversion\else
+ \PackageError{zhmCJK}%
+ {You are not running an eTeX-compatible engine.
+ zhmCJK needs an eTeX-compatible TeX engine}%
+ {If `latex' and `pdflatex' commands fail,
+ try `elatex' or `pdfelatex' command.
+ If all fail, you may need to upgrade your TeX system.}
+ \expandafter\endinput
+\fi
+\ifzhm@primitive\luatexversion
+ \PackageError{zhmCJK}%
+ {You are wrongly using lualatex or dvilualatex to compile
+ the file. zhmCJK does not support LuaTeX engine.}%
+ {Use pdflatex or latex+dvipdfmx to compile the file.}
+ \expandafter\endinput
+\fi
+\ifzhm@primitive\XeTeXrevision
+ \PackageError{zhmCJK}%
+ {You are wrongly use xelatex to compile the file.
+ zhmCJK do not support XeTeX engine.}%
+ {You can use xeCJK instead.}
+ \RequirePackage{xeCJK}
+ \expandafter\endinput
+\fi
+\RequirePackage{ifpdf}
+\RequirePackage{kvoptions}
+\SetupKeyvalOptions{
+ family=zhm@opt,
+ prefix=zhm@}
+\DeclareStringOption[unicode]{cmap}
+\DeclareBoolOption[true]{embed}
+\AddToKeyvalOption*{embed}{%
+ \ifpdf
+ \PackageWarning{zhmCJK}
+ {The `embed' option is not supported by pdfTeX driver.\MessageBreak
+ Ignoring option `embed'}
+ \fi}
+\DeclareStringOption[UTF8]{encoding}
+\DeclareBoolOption[true]{pdffakebold}
+\DeclareStringOption[0.4]{AutoFakeBold}[0.4]
+\DeclareStringOption[0]{AutoFakeSlant}[0.167]
+\ProcessKeyvalOptions*
+\RequirePackage{CJK}
+\def\zhm@check@encoding{%
+ \unless\ifcsname CJK@\zhm@encoding @nfssenc\endcsname
+ \PackageError{zhmCJK}%
+ {There is no CJK encoding `\zhm@encoding', please
+ check it over. `UTF8' is used as default encoding.}%
+ {You can use `UTF8', `GBK', `Bg5', `JIS', `KS', etc.
+ Read CJK.txt from CJK package for all valid encodings.}
+ \def\zhm@encoding{UTF8}
+ \fi}
+\zhm@check@encoding
+\begingroup
+\def\zhm@UTF{UTF8}
+\ifx\zhm@encoding\zhm@UTF\endgroup
+ \@namedef{opt@CJK.sty}{encapsulated}
+ \let\CJK@global\relax
+ \let\CJK@active\relax
+ \let\CJK@local\relax
+ \RequirePackage{CJKutf8}
+\else\endgroup\fi
+\RequirePackage{CJKspace}
+\RequirePackage{CJKpunct}
+\edef\zhm@nfssenc{\@nameuse{CJK@\zhm@encoding @nfssenc}}
+\edef\zhm@sfd{\@nameuse{zhm@\zhm@encoding @sfd}}
+\def\zhm@def@sfd#1#2{\@namedef{zhm@#1@sfd}{#2}}
+\zhm@def@sfd{UTF8}{Unicode}
+\zhm@def@sfd{Bg5}{UBig5}
+\zhm@def@sfd{Bg5+}{UBg5plus}
+\zhm@def@sfd{JIS}{UJIS}
+\zhm@def@sfd{KS}{UKS}
+\zhm@def@sfd{GB}{UGB}
+\zhm@def@sfd{GBK}{UGBK}
+\def\zhm@check@sfd{%
+ \unless\ifcsname zhm@\zhm@encoding @sfd\endcsname
+ \PackageError{zhmCJK}%
+ {No SFD file specified for `\zhm@encoding' encoding.
+ Only `UTF8', `Bg5', `Bg5+', `GB', `GBK', `JIS' and
+ `KS' are supported by now.}%
+ {}
+ \def\zhm@sfd{Unicode}
+ \fi}
+\zhm@check@sfd
+\begingroup\def\zhm@UTF{UTF8}\expandafter\endgroup
+\unless\ifx\zhm@encoding\zhm@UTF
+ \AtEndOfPackage{%
+ \CJK@makeActive
+ \CJK@@enc}
+\fi
+\AtBeginDocument{%
+ \@nameuse{CJK*}{\zhm@encoding}{\CJKfamilydefault}}
+\newcount\zhm@fontnum
+\ifpdf
+ \def\zhm@pdfliteral#1{\pdfliteral{#1}}
+\else
+ \def\zhm@pdfliteral#1{\special{pdf:literal #1}}
+\fi
+\ifpdf
+ \def\zhm@pdfliteraldirect#1{\pdfliteral direct {#1}}
+\else
+ \def\zhm@pdfliteraldirect#1{\special{pdf:literal direct #1}}
+\fi
+\def\zhm@pdf@beginbold{%
+ \zhm@pdfliteraldirect{2 Tr \@nameuse{zhm@\CJK@family @embolden} w}}
+\def\zhm@pdf@endbold{\zhm@pdfliteraldirect{0 Tr}}
+\def\zhm@zero{0}
+\def\ifzhm@fakebold{\expandafter\unless\expandafter\ifx
+ \csname zhm@\zhm@fam @embolden\endcsname
+ \zhm@zero}
+\def\zhm@fakeboldfalse{\@namedef{zhm@\zhm@fam @embolden}{0}}
+\def\zhm@pdf@beginslant{%
+ \zhm@pdfliteral{1 0 \@nameuse{zhm@\CJK@family @slant} 1 0 0 cm}}
+\def\zhm@pdf@endslant{%
+ \zhm@pdfliteral{1 0 \@nameuse{zhm@\CJK@family @negslant} 1 0 0 cm}}
+\newif\ifzhm@CJK@bold@
+\newif\ifzhm@CJK@slant@
+\ifzhm@pdffakebold
+ \def\CJKbold{\global\zhm@CJK@bold@true\global\zhm@CJK@slant@false}
+\else
+ \def\CJKbold{\global\CJK@bold@true\global\zhm@CJK@slant@false}
+\fi
+\ifzhm@pdffakebold
+ \def\CJKslant{\global\zhm@CJK@bold@false\global\zhm@CJK@slant@true}
+\else
+ \def\CJKnormal{\global\CJK@bold@false\global\zhm@CJK@slant@false}
+\fi
+\ifzhm@pdffakebold
+ \def\CJKboldslant{\global\zhm@CJK@bold@true\global\zhm@CJK@slant@true}
+\else
+ \def\CJKnormal{\global\CJK@bold@false\global\zhm@CJK@slant@false}
+\fi
+\ifzhm@pdffakebold
+ \def\CJKnormal{\global\zhm@CJK@bold@false\global\zhm@CJK@slant@false}
+\else
+ \def\CJKnormal{\global\CJK@bold@false\global\zhm@CJK@slant@false}
+\fi
+\def\ifzhm@fakeslant{\expandafter\unless\expandafter\ifx
+ \csname zhm@\zhm@fam @slant\endcsname
+ \zhm@zero}
+\def\zhm@fakeslantfalse{%
+ \@namedef{zhm@\zhm@fam @slant}{0}%
+ \@namedef{zhm@\zhm@fam @negslant}{0}}
+\@namedef{CJKsymbol }#1{%
+ \ifzhm@CJK@slant@ \zhm@pdf@beginslant \fi
+ \ifzhm@CJK@bold@ \zhm@pdf@beginbold \fi
+ \symbol{#1}%
+ \ifCJK@bold@
+ \hbox to \CJKboldshift{\hss\symbol{#1}}%
+ \hbox to \CJKboldshift{\hss\symbol{#1}}%
+ \fi
+ \ifzhm@CJK@bold@ \zhm@pdf@endbold \fi
+ \ifzhm@CJK@slant@ \zhm@pdf@endslant \fi}
+\def\zhm@DeclareFontShape#1#2#3#4#5#6{%
+ \scantokens{\DeclareFontShape{#1}{#2}{#3}{#4}{#5}{#6}}}
+\DeclareSizeFunction{CJKsl}{\CJK@empty\@font@warning}
+\DeclareSizeFunction{CJKbsl}{\CJK@empty\@font@warning}
+\ifpdf
+ \def\zhm@mapline#1#2{%
+ \pdfmapline{=zhm#1@\zhm@sfd @ <#2}}
+\else
+ \def\zhm@mapline#1#2{%
+ \special{pdf:mapline zhm#1@\zhm@sfd @ \zhm@cmap\space \ifzhm@embed\else!\fi#2}}
+\fi
+\def\zhm@setfontmap#1#2{%
+ \AtBeginDvi{\zhm@mapline{#1}{#2}}%
+ \xdef\zhm@maplines{%
+ \unexpanded\expandafter{\zhm@maplines}%
+ \zhm@mapline{#1}{#2}}}
+\AtBeginDocument{%
+ \@ifpackageloaded{atbegshi}{%
+ \AtBeginShipoutFirst{\zhm@maplines}}{}}
+\let\zhm@maplines\empty
+\def\zhm@DeclareRealFont#1{
+ \unless\ifcsname zhm@#1@fontnum\endcsname
+ \global\advance\zhm@fontnum\@ne
+ \ifnum\zhm@fontnum>\@xxxii
+ \PackageError{zhmCJK}%
+ {No more CJK font families can be setup.}%
+ {There are at most 32 families setup by zhmCJK.}
+ \else
+ \expandafter\xdef\csname zhm@#1@fontnum\endcsname{\the\zhm@fontnum}
+ \zhm@setfontmap{\the\zhm@fontnum}{#1}
+ \fi
+ \fi
+ \edef\zhm@tfm{zhm\@nameuse{zhm@#1@fontnum}}}
+\define@key{zhm}{cmap}{%
+ \edef\zhm@cmap{#1}}
+\define@key{zhm}{embed}[true]{%
+ \ifpdf
+ \PackageWarning{zhmCJK}
+ {The `embed' option is not supported by pdfTeX driver.\MessageBreak
+ Ignoring option `embed'}
+ \fi
+ \edef\zhm@embed{#1}%
+ \ifx\zhm@embed\zhm@true
+ \zhm@embedtrue
+ \else\ifx\zhm@embed\zhm@false
+ \zhm@embedfalse
+ \else
+ \PackageError{zhmCJK}%
+ {The `embed' option must be true or false.}%
+ {See the package manual for more information.}%
+ \fi\fi}
+\def\zhm@true{true}
+\def\zhm@false{false}
+\define@key{zhm}{encoding}{%
+ \edef\zhm@encoding{#1}%
+ \zhm@check@encoding
+ \edef\zhm@nfssenc{\@nameuse{CJK@\zhm@encoding @nfssenc}}%
+ \edef\zhm@sfd{\@nameuse{zhm@\zhm@encoding @sfd}}%
+ \zhm@check@sfd}
+\define@key{zhm}{AutoFakeBold}%
+ [\ifx\zhm@AutoFakeBold\zhm@zero 0.4\else\zhm@AutoFakeBold \fi]%
+ {\expandafter\xdef\csname zhm@\zhm@fam @embolden\endcsname{#1}}
+\def\zhm@neg#1{\strip@pt\dimexpr-#1pt\relax}
+\define@key{zhm}{AutoFakeSlant}%
+ [\ifx\zhm@AutoFakeSlant\zhm@zero 0.167\else\zhm@AutoFakeSlant \fi]%
+ {\expandafter\xdef\csname zhm@\zhm@fam @slant\endcsname{#1}%
+ \expandafter\xdef\csname zhm@\zhm@fam @negslant\endcsname{\zhm@neg{#1}}}
+\define@key{zhm}{BoldFont}{
+ \zhm@DeclareRealFont{#1}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{b}{n}{<-> CJK * \zhm@tfm}%
+ {\CJKnormal}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{bx}{n}{<-> CJK * \zhm@tfm}%
+ {\CJKnormal}
+ \zhm@fakeboldfalse}
+\define@key{zhm}{ItalicFont}{
+ \zhm@DeclareRealFont{#1}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{m}{it}{<-> CJK * \zhm@tfm}%
+ {\CJKnormal}}
+\define@key{zhm}{BoldItalicFont}{
+ \zhm@DeclareRealFont{#1}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{b}{it}{<-> CJK * \zhm@tfm}%
+ {\CJKnormal}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{bx}{it}{<-> CJK * \zhm@tfm}%
+ {\CJKnormal}}
+\define@key{zhm}{SlantedFont}{
+ \zhm@DeclareRealFont{#1}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{m}{sl}{<-> CJK * \zhm@tfm}%
+ {\CJKnormal}
+ \zhm@fakeslantfalse}
+\define@key{zhm}{BoldSlantedFont}{
+ \zhm@DeclareRealFont{#1}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{b}{sl}{<-> CJK * \zhm@tfm}%
+ {\CJKnormal}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{bx}{sl}{<-> CJK * \zhm@tfm}%
+ {\CJKnormal}}
+\def\zhm@newfontfamily#1[#2]#3{
+ \begingroup
+ \ifcsname zhm@#1@font\endcsname
+ \PackageWarning{zhmCJK}{Redefnition of CJK family `#1'}
+ \fi
+ \edef\zhm@fam{#1}
+ \expandafter\xdef\csname zhm@#1@font\endcsname{#3}
+ \setkeys{zhm}{%
+ AutoFakeBold=\zhm@AutoFakeBold,
+ AutoFakeSlant=\zhm@AutoFakeSlant}
+ \DeclareFontFamily{\zhm@nfssenc}{\zhm@fam}{\hyphenchar\font\m@ne}
+ \setkeys{zhm}{#2}
+ \zhm@DeclareRealFont{#3}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{m}{n}{<-> CJK * \zhm@tfm}%
+ {\CJKnormal}
+ \ifzhm@fakebold
+ \zhm@DeclareRealFont{#3}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{bx}{n}%
+ {<-> CJKb * \zhm@tfm}{\CJKbold}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{b}{n}%
+ {<-> CJKb * \zhm@tfm}{\CJKbold}
+ \fi
+ \ifzhm@fakeslant
+ \zhm@DeclareRealFont{#3}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{m}{sl}%
+ {<-> CJKsl * \zhm@tfm}{\CJKslant}
+ \fi
+ \expandafter\ifzhm@fakeslant\ifzhm@fakebold
+ \zhm@DeclareRealFont{#3}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{bx}{sl}%
+ {<-> CJKbsl * \zhm@tfm}{\CJKboldslant}
+ \zhm@DeclareFontShape{\zhm@nfssenc}{\zhm@fam}{b}{sl}%
+ {<-> CJKbsl * \zhm@tfm}{\CJKboldslant}
+ \fi\fi
+ \endgroup}
+\def\zhm@newfontfamily@post#1#2{%
+ \@ifnextchar[%]
+ {\zhm@newfontfamily@postaux{#1}{#2}}%
+ {\zhm@newfontfamily{#1}[]{#2}}}
+\def\zhm@newfontfamily@postaux#1#2[#3]{%
+ \zhm@newfontfamily{#1}[{#3}]{#2}}
+\newcommand*\setCJKfamilyfont[1]{%
+ \@ifnextchar[%]
+ {\zhm@newfontfamily{#1}}%
+ {\zhm@newfontfamily@post{#1}}}
+\@onlypreamble\setCJKfamilyfont
+\newcommand*\setCJKmainfont{%
+ \setCJKfamilyfont{\CJKrmdefault}}
+\@onlypreamble\setCJKmainfont
+\let\setCJKromanfont\setCJKmainfont
+\@onlypreamble\setCJKromanfont
+\newcommand*\setCJKsansfont{%
+ \setCJKfamilyfont{\CJKsfdefault}}
+\@onlypreamble\setCJKsansfont
+\newcommand*\setCJKmonofont{%
+ \setCJKfamilyfont{\CJKttdefault}}
+\@onlypreamble\setCJKmonofont
+\providecommand*\CJKrmdefault{rm}
+\providecommand*\CJKsfdefault{sf}
+\providecommand*\CJKttdefault{tt}
+\providecommand*\CJKfamilydefault{\CJKrmdefault}
+\DeclareRobustCommand\normalfont
+ {\CJKfamily{\CJKfamilydefault}%
+ \usefont\encodingdefault
+ \familydefault
+ \seriesdefault
+ \shapedefault
+ \relax}
+\let\reset@font\normalfont
+\DeclareRobustCommand\rmfamily
+ {\not@math@alphabet\rmfamily\mathrm
+ \fontfamily\rmdefault\CJKfamily{\CJKrmdefault}\selectfont}
+\DeclareRobustCommand\sffamily
+ {\not@math@alphabet\sffamily\mathsf
+ \fontfamily\sfdefault\CJKfamily{\CJKsfdefault}\selectfont}
+\DeclareRobustCommand\ttfamily
+ {\not@math@alphabet\ttfamily\mathtt
+ \fontfamily\ttdefault\CJKfamily{\CJKttdefault}\selectfont}
+\@namedef{zhm@setup@pinyin@UTF8}{%
+ \@namedef{u8:\detokenize{ā}}{\={a}}%
+ \@namedef{u8:\detokenize{á}}{\'{a}}%
+ \@namedef{u8:\detokenize{ǎ}}{\v{a}}%
+ \@namedef{u8:\detokenize{à}}{\`{a}}%
+ \@namedef{u8:\detokenize{ō}}{\={o}}%
+ \@namedef{u8:\detokenize{ó}}{\'{o}}%
+ \@namedef{u8:\detokenize{ǒ}}{\v{o}}%
+ \@namedef{u8:\detokenize{ò}}{\`{o}}%
+ \@namedef{u8:\detokenize{ē}}{\={e}}%
+ \@namedef{u8:\detokenize{é}}{\'{e}}%
+ \@namedef{u8:\detokenize{ě}}{\v{e}}%
+ \@namedef{u8:\detokenize{è}}{\`{e}}%
+ \@namedef{u8:\detokenize{ê}}{\^{e}}%
+ \@namedef{u8:\detokenize{ī}}{\={\i}}%
+ \@namedef{u8:\detokenize{í}}{\'{\i}}%
+ \@namedef{u8:\detokenize{ǐ}}{\v{\i}}%
+ \@namedef{u8:\detokenize{ì}}{\`{\i}}%
+ \@namedef{u8:\detokenize{ū}}{\={u}}%
+ \@namedef{u8:\detokenize{ú}}{\'{u}}%
+ \@namedef{u8:\detokenize{ǔ}}{\v{u}}%
+ \@namedef{u8:\detokenize{ù}}{\`{u}}%
+ \@namedef{u8:\detokenize{ǖ}}{\={\"{u}}}%
+ \@namedef{u8:\detokenize{ǘ}}{\'{\"{u}}}%
+ \@namedef{u8:\detokenize{ǚ}}{\v{\"{u}}}%
+ \@namedef{u8:\detokenize{ǜ}}{\`{\"{u}}}%
+ \@namedef{u8:\detokenize{ü}}{\"{u}}%
+ \@namedef{u8:\detokenize{ń}}{\'{n}}%
+ \@namedef{u8:\detokenize{ň}}{\v{n}}%
+ \@namedef{u8:\detokenize{ǹ}}{\`{n}}%
+ \@namedef{u8:\detokenize{Ā}}{\={A}}%
+ \@namedef{u8:\detokenize{Á}}{\'{A}}%
+ \@namedef{u8:\detokenize{Ǎ}}{\v{A}}%
+ \@namedef{u8:\detokenize{À}}{\`{A}}%
+ \@namedef{u8:\detokenize{Ō}}{\={O}}%
+ \@namedef{u8:\detokenize{Ó}}{\'{O}}%
+ \@namedef{u8:\detokenize{Ǒ}}{\v{O}}%
+ \@namedef{u8:\detokenize{Ò}}{\`{O}}%
+ \@namedef{u8:\detokenize{Ē}}{\={E}}%
+ \@namedef{u8:\detokenize{É}}{\'{E}}%
+ \@namedef{u8:\detokenize{Ě}}{\v{E}}%
+ \@namedef{u8:\detokenize{È}}{\`{E}}%
+ \@namedef{u8:\detokenize{Ê}}{\^{E}}%
+ \@namedef{u8:\detokenize{Ń}}{\'{N}}%
+ \@namedef{u8:\detokenize{Ň}}{\v{N}}%
+ \@namedef{u8:\detokenize{Ǹ}}{\`{N}}%
+}
+\def\zhm@setup@pinyin{%
+ \@nameuse{zhm@setup@pinyin@\zhm@encoding}}
+\zhm@setup@pinyin
+\endinput
+%%
+%% End of file `zhmCJK.sty'.
diff --git a/language/chinese/zhmcjk/tfm/zhmCJK.tfm b/language/chinese/zhmcjk/tfm/zhmCJK.tfm
new file mode 100644
index 0000000000..acbd434aa2
--- /dev/null
+++ b/language/chinese/zhmcjk/tfm/zhmCJK.tfm
Binary files differ