+
    i&  c                   s   . ROt ^ RIt^ RIHtHtHt RtRtRt]	! R4       U u. uF  p RV ,          NK  	  up t
]
R,          t]
R,          tR	]P                  ! R
4      ,           ]P                  ! R
4      ,            F  t]! ]4      ]]&   K  	  R]]! R4      &   R F  t]! ]4      ]]&   K  	  R tR tR tR tRR ltR tR tRR lt]R,          tR F  t]! ]4      ]]&   K  	  A^L]3R lt]3R lt]t]tR tR tR# u up i )body_decodeN)ascii_lettersdigits	hexdigits
Z
 i   z=%02X:NNNs   -!*+/Zascii_ s_    !"#$%&'()*+,-./0123456789:;<>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~	c                 4    \        V 4      \        V ,          8g  # N)chr_QUOPRI_HEADER_MAPoctet   &)/usr/lib64/python3.14/email/quoprimime.pyheader_checkr   J   s    u:+E222    c                 r   r	   )r
   _QUOPRI_BODY_MAPr   r   r   
body_checkr   O   s    u:)%000r   c                 &    \        R  V  4       4      # )c              3   N   "   T F  p\        \        V,          4      x  K  	  R # 5ir	   )lenr   Z.0r      & r   	<genexpr>Z header_length.<locals>.<genexpr>^   s     E9%s%e,--9   #%ZsumZ	bytearrayr   r   header_lengthr   T   s     E9EEEr   c                 r   )c              3   r   r	   )r   r   r   r   r   r   Zbody_length.<locals>.<genexpr>h   s     Cs#E*++r   r   r   r   r   body_lengthr   a   s     CCCCr   c                 s`   \        V\        4      '       g   \        V4      pV '       g"   V P                  VP	                  4       4       R# \        V R,          4      \        V4      ,           V8:  d   V R;;,          W1,           ,          uu&   R# V P                  VP	                  4       4       R# )   N)Z
isinstanceZstrr
   appendZlstripr   )ZLsZmaxlenZextras   &&&&r   _max_appendr#   k   sh    aF		QrUc!f		&	"	r   c                 s:    \        \        V R ,          ^4      4      # ):r   i   N)r
   Zintr"   r   r   unquoter%   v   s    s1S62r   c                 s.    \         \        V 4      ,          # r	   )_QUOPRI_MAPordcr   r   quoter*   {   s    s1vr   c                 st    V '       g   R # V P                  R4      P                  \        4      pRV: RV: R2# )r   Zlatin1z=?z?q?z?=)decode	translater   )Zheader_bytesZcharsetencodeds   && r   header_encoder.      s3     !!(+556HIG $W--r   s   
c                 sh   V^8  d   \        R4      hV '       g   V # V P                  \        4      p RV,           pV^,
          p. pVP                  pV P	                  4        EF"  p^ p\        V4      ^,
          V,
          p	W8:  dw   W,           p
Wz^,
          ,          R8X  d   V! WxV
^,
           4       V
^,
          pK>  Wz^,
          ,          R8X  d   V! WxV
 4       V
^,
          pKg  V! WxV
 R,           4       T
pK|  V'       dv   VR,          R9   dh   W,
          pV^8  d   \        VR,          4      pM1V^8X  d   VR,          V,           pMV\        VR,          4      ,           pV! WxR V,           4       EK  V! WxR 4       EK%  	  V R,          \        9   d	   V! R4       VP                  V4      # )i   zmaxlinelen must be at least 4=z 	Nr   r    )	Z
ValueErrorr,   _QUOPRI_BODY_ENCODE_MAPr!   
splitlinesr   r*   CRLFZjoin)ZbodyZ
maxlineleneolZ
soft_breakZmaxlinelen1Zencoded_bodyr!   lineZstartZ	laststartZstopZroomZqs   &&&          r   body_encoder5      s   & A~899 >>12DsJq.KL  F!IMJ.	 &D1H~$t$(+,qQh3&t$'(qt$'#-. DH%$Dqy $r(OHz) tBx04b>A%&4< C "H Bx4r
88L!!r   c                 s   V '       g   V # R pV P                  4        F  pVP                  4       pV'       g   W!,          pK%  ^ p\        V4      pWE8  g   K:  W4,          pVR8w  d   W&,          pV^,          pMV^,           V8X  d   V^,          pKB  V^,           V8  dV   W4^,           ,          \        9   d>   W4^,           ,          \        9   d&   V\	        W4V^,            4      ,          pV^,          pMW&,          pV^,          pWE8X  g   K  W!,          pK  	  V R,          R9  d   VP                  V4      '       d   VRR pV# )r   r/   r   Nr    )r1   Zrstripr   r   r%   Zendswith)r-   r3   Zdecodedr4   ZiZnr)   s   &&     r   r+   r+      s   
  G""${{}NGIeACxQ 1Q1qTA#Y)3qS	Y8N74!A#;//Q Qv9 %< r{& W%5%5c%:%:#2,Nr   c                 s:    V P                  ^ 4      p\        V4      # )i    )Zgroupr%   )Zmatchr"   r   r   _unquote_matchr6     s    AA1:r   c                 s~    V P                  R R4      p \        P                  ! R\        V \        P                  R7      # )r   r   z=[a-fA-F0-9]{2})Zflags)ZreplacereZsubr6   ZASCIIr$   r   r   header_decoder8   $  s.     	
		#sA66$narxxHHr   )
r    r5   r   r+   decodestringr8   r.   r   r*   r%   )r   )z
iso-8859-1) Z__all__r7   Zstringr   r   r   r2   ZNLZEMPTYSTRINGZranger&   r   r   Zencoder)   r
   r'   r   r   r   r   r#   r%   r*   r.   r0   r5   r+   r    r9   r6   r8   r(   s   0r   <module>r:      sL  : 
 3 3	 %*#J/Jqw{{J/ ^ q>  
M((1	1FMM'4J	J	JAFq 
K  # 3s8 .A a&Q.3
1

FD 
.* +1- 	A!$QA 
!# I"^  ,` I[ 0s   C>