MINI MINI MANI MO
3
\ @ st d dl Z d dlZe jZdddZG dd de jZG dd de jZG d d
d
e jZG dd de j Z d
d Z
dS ) Nstrictc C s t j| |dS )NT)codecs
utf_32_decode)inputerrors r (/usr/lib64/python3.6/encodings/utf_32.pydecode
s r c @ s8 e Zd ZdddZdddZdd Zd d
Zdd Zd
S )IncrementalEncoderr c C s t jj| | d | _d S )N)r r
__init__encoder)selfr r r r r s zIncrementalEncoder.__init__Fc C sN | j d kr<tj|| jd }tjdkr0tj| _ ntj| _ |S | j || jd S )Nr little)r r
utf_32_encoder sys byteorderutf_32_le_encodeutf_32_be_encode)r
r finalresultr r r encode s
zIncrementalEncoder.encodec C s t jj| d | _d S )N)r r
resetr )r
r r r r s zIncrementalEncoder.resetc C s | j d krdS dS )N r )r )r
r r r getstate s zIncrementalEncoder.getstatec C s, |rd | _ ntjdkr tj| _ ntj| _ d S )Nr )r r r r r r )r
stater r r setstate' s
zIncrementalEncoder.setstateN)r )F)__name__
__module____qualname__r r r r r r r r r r
s
r
c @ s6 e Zd Zd
ddZdd Zdd Zdd Zd
d ZdS )IncrementalDecoderr c C s t jj| | d | _d S )N)r BufferedIncrementalDecoderr decoder)r
r r r r r 1 s zIncrementalDecoder.__init__c C sl | j d kr\tj||d|\}}}|dkr2tj| _ n"|dkrDtj| _ n|dkrTtd||fS | j || j|S )Nr z%UTF-32 stream does not start with BOM)r! r utf_32_ex_decodeutf_32_le_decodeutf_32_be_decodeUnicodeErrorr )r
r r r outputconsumedr r r r _buffer_decode5 s
z!IncrementalDecoder._buffer_decodec C s t jj| d | _d S )N)r r r r! )r
r r r r B s zIncrementalDecoder.resetc C sD t jj| d }| jd kr"|dfS ttjdk| jt jkk}||fS )Nr r big)r r r r! intr r r' )r
r Zaddstater r r r F s
zIncrementalDecoder.getstatec C sd t jj| | |d }|dkr8tjdkr.t jnt j| _n(|dkrZtjdkrPt jnt j| _nd | _d S )Nr"