ref: e1bb660ef2d15d9f53638d60c9e15aaa8579b9bf
dir: /sys/src/cmd/hg/mercurial/encoding.pyc/
�� �$�Jc@s2ddkZddkZddkZddkZddkZhdd<dd<Zy�eiid�Zei djo/eo'ei eid�ei�dZnep)ei �pdZeiee�ZnWneij o dZnXeiid d �ZdZd�Zd �Zd�ZdS(i����Ntasciit646sANSI_X3.4-1968t HGENCODINGtdarwintitHGENCODINGMODEtstricts ISO-8859-1cCs�xtdtfD]f}y#|i|�}|itd�SWq tj o}tid|��q tj oq Xq W|idd�}|itd�S(sm Convert a string from internal UTF-8 to local encoding All internal strings should be UTF-8 but some repos before the implementation of locale support may contain latin1 or possibly other character sets. We attempt to decode everything strictly using UTF-8, then Latin-1, and failing that, we use UTF-8 and replace unknown characters. sUTF-8treplaces%%s, please check your locale settingssutf-8(tfallbackencodingtdecodetencodetencodingtLookupErrorterrortAborttUnicodeDecodeError(tstetutk((s./mercurial/encoding.pyttolocals cCs�y|itt�id�SWnytj oF}|td|id�|id!}tid||f��n)t j o}tid|��nXdS(s� Convert a string from the local character encoding to UTF-8 We attempt to decode strings using the encoding mode set by HGENCODINGMODE, which defaults to 'strict'. In this mode, unknown characters will cause an error message. Other modes include 'replace', which replaces unknown characters with a special Unicode character, and 'ignore', which drops the character. sutf-8ii sdecoding near '%s': %s!s%%s, please check your locale settingsN( R RtencodingmodeR RtmaxtstartR RR(RtinsttsubR((s./mercurial/encoding.pyt fromlocal2s $cCsx|itd�}ttd�oLti}tg}|D]'}|||�djodpdq9~�Snt|�S(s3Find the column width of a UTF-8 string for displayRteast_asian_widthtWFii(R RthasattrtunicodedataRtsumtlen(Rtdtwt_[1]tc((s./mercurial/encoding.pytcolwidthDs C(R tsysRtlocaletost_encodingfixuptenvirontgetRtplatformt setlocaletLC_CTYPEt getlocaletgetpreferredencodingtErrorRRRRR%(((s./mercurial/encoding.pys<module>s"0