3 \�&� @s`dddddddddd g Zd d lZd d lmZmZmZd ZdZdZdd�e d�D�Z e d d �Z e d d �Z x,dej d�ej d�D]Zee�e e<q�Wde ed�<xdD]Zee�e e<q�Wdd�Zdd�Zdd�Zdd�Zd+dd�Zd d �Zd!d�Zd,d#d�Ze d d �Zxd$D]Zee�ee<�qWd%efd&d�Zefd'd�ZeZeZd(d)�Zd*d�Zd S)-� body_decode� body_encode� body_length�decode� decodestring� header_decode� header_encode� header_length�quote�unquote�N)� ascii_letters�digits� hexdigitsz � �cCsg|] }d|�qS)z=%02X�)�.0�crr�(/usr/lib64/python3.6/email/quoprimime.py� 7sr�s-!*+/�ascii�_� s_ !"#$%&'()*+,-./0123456789:;<>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ cCst|�t|kS)N)�chr�_QUOPRI_HEADER_MAP)�octetrrr� header_checkJsrcCst|�t|kS)N)r�_QUOPRI_BODY_MAP)rrrr� body_checkOsrcCstdd�|D��S)Ncss|]}tt|�VqdS)N)�lenr)rrrrr� ^sz header_length..)�sum)� bytearrayrrrrTs cCstdd�|D��S)Ncss|]}tt|�VqdS)N)r r)rrrrrr!hszbody_length..)r")r#rrrrascCsft|t�st|�}|s&|j|j��nn^|d|kr�||dtkr�||dtkr�|t|||d��7}|d7}n||7}|d7}||kr>||7}q>WqW|ddk�r|j|��r|dd �}|S) Nrr r:r$r;r.z r%r%)r>�rstripr rr �endswith)r7rAZdecodedrB�i�nrrrrr�s8   ,  cCs|jd�}t|�S)Nr )�groupr )�matchr+rrr�_unquote_matchs rLcCs |jdd�}tjdt|tjd�S)Nrrz=[a-fA-F0-9]{2})�flags)�replace�re�subrL�ASCII)r+rrrr#s )r)r3) �__all__rO�stringr r rr?�NLZ EMPTYSTRING�ranger1rr�encoderrr2rrrrr-r r rr=rrrrrLrrrrr�sN         O 0