o 0it @ sv 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 | |dS )NT)codecs utf_16_decode)inputerrors r 7/opt/alt/python310/lib64/python3.10/encodings/utf_16.pydecode s r c @ s8 e Zd ZdddZdddZdd Zd d Zdd Zd S )IncrementalEncoderr c C t j| | d | _d S N)r r __init__encoderselfr r r r r zIncrementalEncoder.__init__Fc C sP | j d u rt|| jd }tjdkrtj| _ |S tj| _ |S | || jd S )Nr little)r r utf_16_encoder sys byteorderutf_16_le_encodeutf_16_be_encode)r r finalresultr r r encode s zIncrementalEncoder.encodec C t j| d | _d S r )r r resetr r r r r r ! zIncrementalEncoder.resetc C s | j d u rdS dS )N r )r r r r r getstate% s zIncrementalEncoder.getstatec C s0 |rd | _ d S tjdkrtj| _ d S tj| _ d S Nr )r r r r r r r stater r r setstate, s zIncrementalEncoder.setstateNr )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 r r )r BufferedIncrementalDecoderr decoderr r r r r 6 r zIncrementalDecoder.__init__c C sx | j d u r4t||d|\}}}|dkrtj| _ ||fS |dkr(tj| _ ||fS |dkr0td||fS | || j|S )Nr r %UTF-16 stream does not start with BOM)r+ r utf_16_ex_decodeutf_16_le_decodeutf_16_be_decodeUnicodeErrorr )r r r r outputconsumedr r r r _buffer_decode: s z!IncrementalDecoder._buffer_decodec C r r )r r* r r+ r r r r r G r zIncrementalDecoder.resetc C sD t j| d }| jd u r|dfS ttjdk| jt ju k}||fS )Nr r big)r r* r r+ intr r r1 )r r# Zaddstater r r r K s zIncrementalDecoder.getstatec C st t j| | |d }|dkr tjdkrt j| _d S t j| _d S |dkr5tjdkr/t j| _d S t j| _d S d | _d S )Nr- r r6 )r r* r$ r r r1 r0 r+ r" r r r r$ Y s zIncrementalDecoder.setstateNr% )r&