U e5d& @sTdddddddddd g Zd d lZd d lmZmZmZd ZdZdZdde dDZ e d d Z e d d Z de de dD]Zeee e<qde ed<dD]Zeee e<qddZddZddZddZd+ddZd d Zd!dZd,d#dZe d d Zd$D]Zeeee<q d%efd&dZefd'dZeZeZd(d)Zd*dZd S)- body_decode body_encode body_lengthdecode decodestring header_decode header_encode header_lengthquoteunquoteN) ascii_lettersdigits hexdigits  cCsg|] }d|qS)z=%02X).0crr(/usr/lib64/python3.8/email/quoprimime.py 7srs-!*+/ascii_ s_ !"#$%&'()*+,-./0123456789:;<>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ cCst|t|kSN)chr_QUOPRI_HEADER_MAPoctetrrr header_checkJsr cCst|t|kSr)r_QUOPRI_BODY_MAPrrrr body_checkOsr"cCstdd|DS)Ncss|]}tt|VqdSr)lenrrrrrr ^sz header_length..sum bytearrayrrrrTs cCstdd|DS)Ncss|]}tt|VqdSr)r#r!r$rrrr%hszbody_length..r&r(rrrrascCsft|tst|}|s&||nrHZdecodedrIinrrrrrs8   ,   cCs|d}t|S)Nr )groupr )matchr0rrr_unquote_matchs rScCs |dd}tjdt|tjdS)Nrrz=[a-fA-F0-9]{2})flags)replaceresubrSASCIIr7rrrr#s )r)r:) __all__rVstringr r rrFNLZ EMPTYSTRINGranger8rr!encoderrr9r r"rrr2r r rrDrrrrrSrrrrrsP        O 0