JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr Yf@sdZddlZddlZddlmZdddZdddZGd d d ejZGd d d ejZGd ddej Z Gdddeej Z Gdddeej Z ddZ dS)zQCodec for quoted-printable encoding. This codec de/encodes from bytes to bytes. N)BytesIOstrictcCsS|dkstt|}t}tj||dd|jt|fS)NrZ quotetabsT)AssertionErrorrquopriencodegetvaluelen)inputerrorsfgr ;/opt/alt/python35/lib64/python3.5/encodings/quopri_codec.py quopri_encode s   rcCsM|dkstt|}t}tj|||jt|fS)Nr)rrrdecoderr)r r r r r r r quopri_decodes   rc@s.eZdZdddZdddZdS)CodecrcCs t||S)N)r)selfr r r r rrsz Codec.encodecCs t||S)N)r)rr r r r rrsz Codec.decodeN)__name__ __module__ __qualname__rrr r r rrs rc@seZdZdddZdS)IncrementalEncoderFcCst||jdS)Nr)rr )rr finalr r rrszIncrementalEncoder.encodeN)rrrrr r r rrs rc@seZdZdddZdS)IncrementalDecoderFcCst||jdS)Nr)rr )rr rr r rr#szIncrementalDecoder.decodeN)rrrrr r r rr"s rc@seZdZeZdS) StreamWriterN)rrrbytescharbuffertyper r r rr&s rc@seZdZeZdS) StreamReaderN)rrrrrr r r rr)s rcCs:tjdddtdtdtdtdtdtd d S) Nnamerrrincrementalencoderincrementaldecoder streamwriter streamreader_is_text_encodingF)codecs CodecInforrrrrrr r r r getregentry.s r&) __doc__r$riorrrrrrrrr&r r r rs