JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr Yf @sdZddlZddlZddlmZdddddZdd d ZGd d d ejZGd ddejZGdddej Z Gdddeej Z Gdddeej Z ddZ dS)aPython 'uu_codec' Codec - UU content transfer encoding. This codec de/encodes from bytes to bytes. Written by Marc-Andre Lemburg (mal@lemburg.com). Some details were adapted from uu.py which was written by Lance Ellinghouse and modified by Jack Jansen and Fredrik Lundh. N)BytesIOstrictzic Cs|dkstt|}t}|j}|j}|d|d@|fjd|d}x)|r|tj||d}qiW|d|jt|fS)Nrz begin %o %s iascii-s end ) AssertionErrorrreadwriteencodebinasciiZb2a_uugetvaluelen) inputerrorsfilenamemodeinfileoutfilerrchunkr7/opt/alt/python35/lib64/python3.5/encodings/uu_codec.py uu_encodes    !   rc Cs=|dkstt|}t}|j}|j}x6|}|sWtd|dddkr<Pq<Wx|}| s|dkrPytj|}Wn_tjk r}z<|ddd@d dd } tj|d| }WYdd}~XnX||quW|s'td |jt |fS) Nrz"Missing "begin" line in input datasbeginsend r ?zTruncated input data) rrreadliner ValueErrorr Za2b_uuErrorr r ) r rrrrrsdatavnbytesrrr uu_decode!s0       , r#c@s.eZdZdddZdddZdS)CodecrcCs t||S)N)r)selfr rrrrr Csz Codec.encodecCs t||S)N)r#)r%r rrrrdecodeFsz Codec.decodeN)__name__ __module__ __qualname__r r&rrrrr$Bs r$c@seZdZdddZdS)IncrementalEncoderFcCst||jdS)Nr)rr)r%r finalrrrr JszIncrementalEncoder.encodeN)r'r(r)r rrrrr*Is r*c@seZdZdddZdS)IncrementalDecoderFcCst||jdS)Nr)r#r)r%r r+rrrr&NszIncrementalDecoder.decodeN)r'r(r)r&rrrrr,Ms r,c@seZdZeZdS) StreamWriterN)r'r(r)bytescharbuffertyperrrrr-Qs r-c@seZdZeZdS) StreamReaderN)r'r(r)r.r/rrrrr0Ts r0cCs:tjdddtdtdtdtdtdtd d S) Nnameuur r&incrementalencoderincrementaldecoder streamreader streamwriter_is_text_encodingF)codecs CodecInforr#r*r,r0r-rrrr getregentryYs r:) __doc__r8r iorrr#r$r*r,r-r0r:rrrrs  !