o
    éT•jõ  ã                   @   sž   d Z ddlZddlZddlmZ ddd„Zddd„ZG d	d
„ d
ejƒZG dd„ dejƒZG dd„ dej	ƒZ	G dd„ deej
ƒZ
G dd„ deejƒZdd„ ZdS )zQCodec for quoted-printable encoding.

This codec de/encodes from bytes to bytes.
é    N)ÚBytesIOÚstrictc                 C   s:   |dksJ ‚t | ƒ}t ƒ }tj||dd� | ¡ t| ƒfS )Nr   T)Ú	quotetabs)r   ÚquopriÚencodeÚgetvalueÚlen©ÚinputÚerrorsÚfÚg© r   ú-/usr/lib/python3.10/encodings/quopri_codec.pyÚquopri_encode
   s
   r   c                 C   s6   |dksJ ‚t | ƒ}t ƒ }t ||¡ | ¡ t| ƒfS )Nr   )r   r   Údecoder   r   r	   r   r   r   Úquopri_decode   s
   r   c                   @   s    e Zd Zddd„Zddd„ZdS )ÚCodecr   c                 C   ó
   t ||ƒS ©N)r   ©Úselfr
   r   r   r   r   r      ó   
zCodec.encodec                 C   r   r   )r   r   r   r   r   r      r   zCodec.decodeN©r   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r      s    
r   c                   @   ó   e Zd Zddd„ZdS )ÚIncrementalEncoderFc                 C   ó   t || jƒd S ©Nr   )r   r   ©r   r
   Úfinalr   r   r   r      ó   zIncrementalEncoder.encodeN©F)r   r   r   r   r   r   r   r   r      ó    r   c                   @   r   )ÚIncrementalDecoderFc                 C   r   r    )r   r   r!   r   r   r   r   #   r#   zIncrementalDecoder.decodeNr$   )r   r   r   r   r   r   r   r   r&   "   r%   r&   c                   @   ó   e Zd ZeZdS )ÚStreamWriterN©r   r   r   ÚbytesÚcharbuffertyper   r   r   r   r(   &   ó    r(   c                   @   r'   )ÚStreamReaderNr)   r   r   r   r   r-   )   r,   r-   c                
   C   s   t jdttttttdd�S )Nr   F)Únamer   r   ÚincrementalencoderÚincrementaldecoderÚstreamwriterÚstreamreaderÚ_is_text_encoding)ÚcodecsÚ	CodecInfor   r   r   r&   r(   r-   r   r   r   r   Úgetregentry.   s   ør6   r   )Ú__doc__r4   r   Úior   r   r   r   r   r&   r(   r-   r6   r   r   r   r   Ú<module>   s    

