o
    f                     @   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    

