???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................U
    e5d&                  
   @   sT  d ddddddddd	g
Z d
dlZd
dlmZmZmZ dZdZdZdd e	dD Z
e
dd Ze
dd Zded ed D ]Zeeee< qdeed< dD ]Zeeee< qdd Zdd Zdd Zdd Zd+ddZd d	 Zd!d Zd,d#dZedd Zd$D ]Zeeee< q
d%efd&dZefd'dZeZeZd(d) Zd*d ZdS )-body_decodebody_encodebody_lengthdecodedecodestringheader_decodeheader_encodeheader_lengthquoteunquote    N)ascii_lettersdigits	hexdigits

 c                 C   s   g | ]}d | qS )z=%02X ).0cr   r   (/usr/lib64/python3.8/email/quoprimime.py
<listcomp>7   s     r      s   -!*+/ascii_ s_    !"#$%&'()*+,-./0123456789:;<>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~	c                 C   s   t | t|  kS N)chr_QUOPRI_HEADER_MAPoctetr   r   r   header_checkJ   s    r    c                 C   s   t | t|  kS r   )r   _QUOPRI_BODY_MAPr   r   r   r   
body_checkO   s    r"   c                 C   s   t dd | D S )Nc                 s   s   | ]}t t| V  qd S r   )lenr   r   r   r   r   r   	<genexpr>^   s     z header_length.<locals>.<genexpr>sum	bytearrayr   r   r   r   T   s    
c                 C   s   t dd | D S )Nc                 s   s   | ]}t t| V  qd S r   )r#   r!   r$   r   r   r   r%   h   s     zbody_length.<locals>.<genexpr>r&   r(   r   r   r   r   a   s    c                 C   sf   t |tst|}| s&| |  n<t| d t| |krT| d  || 7  < n| |  d S )N)
isinstancestrr   appendlstripr#   )LsmaxlenZextrar   r   r   _max_appendk   s    
r2   c                 C   s   t t| dd dS )N         )r   intr0   r   r   r   r
   v   s    c                 C   s   t t|  S r   )_QUOPRI_MAPord)r   r   r   r   r	   {   s    
iso-8859-1c                 C   s$   | sdS |  dt}d||f S )Nr   latin1z=?%s?q?%s?=)r   	translater   )Zheader_bytescharsetencodedr   r   r   r      s    s   
L   c                 C   s  |dk rt d| s| S | t} d| }|d }g }|j}|  D ]}d}t|d | }	||	kr|| }
||
d  dkr||||
d   |
d }q^||
d  dkr||||
  |
d }q^||||
 d  |
}q^|rR|d dkrR||	 }|d	krt|d }n(|dkr,|d | }n|t|d  }|||d |  qD|||d   qD| d tkrz|d
 ||S )N   zmaxlinelen must be at least 4=r3   r      r*   z 	r4   r   )	
ValueErrorr<   _QUOPRI_BODY_ENCODE_MAPr-   
splitlinesr#   r	   CRLFjoin)ZbodyZ
maxlineleneolZ
soft_breakZmaxlinelen1Zencoded_bodyr-   linestartZ	laststartstopZroomqr   r   r   r      sD    




c                 C   s  | s| S d}|   D ]}| }|s.||7 }qd}t|}||k r|| }|dkrd||7 }|d7 }nv|d |kr||d7 }q:n^|d |k r||d  tkr||d  tkr|t|||d  7 }|d7 }n||7 }|d7 }||kr:||7 }q:q| d dkr||r|d d }|S )	Nr   r   rA   r3   rB   r4   r*   r   )rE   rstripr#   r   r
   endswith)r>   rH   ZdecodedrI   inr   r   r   r   r      s8    
,
c                 C   s   |  d}t|S )Nr   )groupr
   )matchr0   r   r   r   _unquote_match  s    
rS   c                 C   s    |  dd} tjdt| tjdS )Nr   r   z=[a-fA-F0-9]{2})flags)replaceresubrS   ASCIIr7   r   r   r   r   #  s    )r   )r:   ) __all__rV   stringr   r   r   rF   NLZEMPTYSTRINGranger8   r   r!   encoder   r   r9   r    r"   r   r   r2   r
   r	   r   rD   r   r   r   r   rS   r   r   r   r   r   <module>   sP   


O0