JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr ] @sddlZddlZddlmZdddddZddd ZGd d d ejZGd d d ejZGdddejZGdddeej Z Gdddeej Z ddZ dS)N)BytesIOstrictzic Cst|}t}|j}|j}|d|d@|fjd|d}x)|r|tj||d}qWW|d|jt|fS)Nz begin %o %s iascii-s end )rreadwriteencodebinasciiZb2a_uugetvaluelen) inputerrorsfilenamemodeinfileoutfilerrchunkr-/opt/alt/python35/lib64/python3.5/uu_codec.py uu_encodes    !   rc Cs+t|}t}|j}|j}x6|}|sEtd|dddkr*Pq*Wx|}| s|dkrPytj|}Wn_tjk r}z<|ddd@ddd } tj|d| }WYdd}~XnX||qcW|std |jt|fS) Nz"Missing "begin" line in input datasbeginsend r ?zTruncated input data) rreadliner ValueErrorr Za2b_uuErrorr r ) r r rrrrsdatavnbytesrrr uu_decode!s.       , r"c@s.eZdZdddZdddZdS)CodecrcCs t||S)N)r)selfr r rrrrCsz Codec.encodecCs t||S)N)r")r$r r rrrdecodeFsz Codec.decodeN)__name__ __module__ __qualname__rr%rrrrr#Bs r#c@seZdZdddZdS)IncrementalEncoderFcCst||jdS)Nr)rr )r$r finalrrrrJszIncrementalEncoder.encodeN)r&r'r(rrrrrr)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.rrrrr/Ts r/cCs:tjdddtdtdtdtdtdtd d S) Nnameuurr%incrementalencoderincrementaldecoder streamreader streamwriter_is_text_encodingF)codecs CodecInforr"r)r+r/r,rrrr getregentryYs r9) r7r iorrr"r#r)r+r,r/r9rrrr s  !