
    Rh                        d Z ddlZddlZddlmZ ddZddZ G d dej                        Z G d d	ej                        Z G d
 dej                        Z	 G d deej                        Z
 G d deej                        Zd Zy)zQCodec for quoted-printable encoding.

This codec de/encodes from bytes to bytes.
    N)BytesIOc                     |dk(  sJ t        |       }t               }t        j                  ||d       |j                         t	        |       fS )NstrictT)	quotetabs)r   quopriencodegetvalueleninputerrorsfgs       -/usr/lib/python3.12/encodings/quopri_codec.pyquopri_encoder   
   sE    XA	A
MM!Q$'JJL#e*%%    c                     |dk(  sJ t        |       }t               }t        j                  ||       |j                         t	        |       fS )Nr   )r   r   decoder	   r
   r   s       r   quopri_decoder      sC    XA	A
MM!QJJL#e*%%r   c                       e Zd ZddZddZy)Codecc                     t        ||      S N)r   selfr   r   s      r   r   zCodec.encode       UF++r   c                     t        ||      S r   )r   r   s      r   r   zCodec.decode   r   r   Nr   )__name__
__module____qualname__r   r    r   r   r   r      s    ,,r   r   c                       e Zd ZddZy)IncrementalEncoderc                 4    t        || j                        d   S Nr   )r   r   r   r   finals      r   r   zIncrementalEncoder.encode       UDKK033r   NF)r   r    r!   r   r"   r   r   r$   r$          4r   r$   c                       e Zd ZddZy)IncrementalDecoderc                 4    t        || j                        d   S r&   )r   r   r'   s      r   r   zIncrementalDecoder.decode#   r)   r   Nr*   )r   r    r!   r   r"   r   r   r-   r-   "   r+   r   r-   c                       e Zd ZeZy)StreamWriterNr   r    r!   bytescharbuffertyper"   r   r   r0   r0   &       Nr   r0   c                       e Zd ZeZy)StreamReaderNr1   r"   r   r   r6   r6   )   r4   r   r6   c            
      l    t        j                  dt        t        t        t
        t        t        d      S )Nr   F)namer   r   incrementalencoderincrementaldecoderstreamwriterstreamreader_is_text_encoding)codecs	CodecInfor   r   r$   r-   r0   r6   r"   r   r   getregentryr@   .   s-    --!!	 	r   r   )__doc__r>   r   ior   r   r   r   r$   r-   r0   r6   r@   r"   r   r   <module>rC      s   
   &&,FLL ,422 4422 45&-- 5&-- 

r   