+
     Bi?                        . R$Ot ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIH	t
 ^ RIHt ^ RIHtHtHt RtRtRtRtR	t]P(                  ! R
4      t]P(                  ! R4      tR tR tR%R ltR tR tRtRR/R ltR tR tR t R t!R&R lt"R'R lt#R(R lt$R t%RR/R lt&R t'R t(R(R lt)]P(                  ! R ]PT                  4      t+R! t,R)R" lt-R*R# lt.R# )+collapse_rfc2231_valueN)quote)AddressList)	mktime_tz)	parsedateparsedate_tz_parsedate_tzz,  z
'z[][\\()<>@,:;".]z[\\"]c                 L     V P                  4        R #   \         d     R# i ; i)FT)encodeUnicodeEncodeError)ss   &"/usr/lib/python3.14/email/utils.py_has_surrogatesr   /   s%    
	
 s    ##c                 J    V P                  R R4      pVP                  R R4      # )utf-8surrogateescapereplace)r   decode)stringoriginal_bytess   & r   	_sanitizer   <   s(    
 ]]7,=>N  )44    c                    V w  r#VP                  R 4       V'       dX    VP                  R 4       Rp\        P                  V4      '       d   Rp\        P	                  RV4      pV: V: V: RV: R2# V#   \
         dC    \        T\        4      '       d   ^ RIH	p T! T4      pTP                  T4      pT: RT: R2u # i ; i)asciir	   "z\\\g<0>z <>)Charset)r   
specialsresearch	escapesresubr   
isinstancestremail.charsetr   header_encode)paircharsetnameaddressquotesr   encoded_names   &&     r   
formataddrr-   H   s     MDNN7	CKK  F  &&==T2D$*D&'BBN " 	7'3''1!'*"006L ,g66	7s   A7 7A
CCc              #      "   ^ pRp\        V 4       F.  w  rV'       d   VRV,           3x  RpK  VR8X  d   RpK)  W3x  K0  	  V'       d	   VR3x  R# R# 5i)    F\TN)	enumerate)addrposescapechs   &   r   _iter_escaped_charsr6   k   s]     
CFT?r	""F4ZF)O # Dk s   A	A
Ac                    R V 9  d   V # ^ pRp. p\        V 4       F:  w  rEVR 8X  g   K  Vf   TpK  W8w  d   VP                  WV 4       V^,           pRpK<  	  V\        V 4      8  d   VP                  WR 4       RP                  V4      # )r   Nr	   )r6   appendlenjoin)r2   startopen_posresultr3   r5   s   &     r   _strip_quoted_realnamesr>   z   s    
$EHF&t,9$MM$X"67a - s4yd6l#776?r   Tstrictc                   V'       g4   \         P                  R  V  4       4      p\        V4      pVP                  # V  Uu. uF  p\	        V4      NK  	  p p\        V 4      p \         P                  V 4      p\        V4      p\        VP                  4      p^ pV  F-  p\        V4      pV^VP                  R4      ,           ,          pK/  	  \        V4      V8w  d   R.# V# u upi )c              3   8   "   T F  p\        V4      x  K  	  R # 5iNr$   ).0vs   & r   	<genexpr>getaddresses.<locals>.<genexpr>   s     :kc!ffk   ,r	   r	   )

COMMASPACEr:   _AddressListaddresslistr$   _pre_parse_validation_post_parse_validationr>   countr9   )fieldvaluesr?   allarE   r2   r=   ns   &$      r   getaddressesrU      s    $ oo:k::}}#./;a3q6;K/'4K??;'DTA#AMM2F 	
A $A&	Q  6{azM% 0s    C c                     \        V 4      p ^ p\        V 4       F3  w  r#VR8X  d   V^,          pK  VR8X  g   K   V^,          pV^ 8  g   K2   R# 	  V^ 8H  # )r/   ()F)r>   r6   )r2   opensr3   r5   s   &   r   _check_parenthesisrZ      sX    "4(DE&t,9QJE3YQJEqy - QJr   c                 d    . pV  F'  p\        V4      '       g   R pVP                  V4       K)  	  V# )z('', ''))rZ   r8   )email_header_fieldsaccepted_valuesrE   s   &  r   rN   rN      s7    O !!$$Aq! !
 r   c                 ^    . pV  F$  pR V^,          9   d   RpVP                  V4       K&  	  V# )[rJ   )r8   )parsed_email_header_tuplesr]   rE   s   &  r   rO   rO      s9    O (!A$;Aq! (
 r   c           	          R . ROV ^,          ,          V ^,          . ROV ^,          ^,
          ,          V ^ ,          V ^,          V ^,          V ^,          V3,          # )z"%s, %02d %s %04d %02d:%02d:%02d %s)MonTueWedThuFriSatSun)JanFebMarAprMayJunJulAugSepOctNovDec )	timetuplezones   &&r   _format_timetuple_and_zonerx      sZ    /9)A,G!	33<Q<!3C	E!ilIaL)A,3  r   c                 $   V f   \         P                   ! 4       p \        P                  P                  V \        P                  P                  4      pV'       d   VP                  4       pRpMV'       g   VP                  R R7      p\        W24      # )NF)tzinfo)timedatetimefromtimestamptimezoneutc
astimezoner   format_datetime)timeval	localtimeusegmtdts   &&& r   
formatdater      si    $ ))+				(	((2C2C2G2G	HB]]_ZZtZ$2&&r   c                    V P                  4       pV'       dF   V P                  e*   V P                  \        P                  P                  8w  d   \        R4      hRpM"V P                  f   RpMV P                  R4      p\        W#4      # )Nz%usegmt option requires a UTC datetimeGMTz-0000z%z)rv   rz   r|   r~   r   
ValueErrorstrftimerx   )r   r   nowrw   s   &&  r   r   r     sl     ,,.C99		X->->-B-B BDEE		{{4 %c00r   c                    ^ RI p^ RIp\        \        P                  ! 4       ^d,          4      p\        P
                  ! 4       pVP                  ^@4      pV f   Rp M	RV ,           p Vf   VP                  4       pRWEW`V3,          pV# )r/   Nr	   .z<%d.%d.%d%s@%s>)randomsocketintr{   osgetpidgetrandbitsgetfqdn)idstringdomainr   r   r   pidrandintmsgids   &&      r   
make_msgidr     st     $))+c/"G
))+C  $G>~!w& IIELr   c           
      (   \        V 4      pVf   \        R\        V 4      ,          4      hVEv r#Vf   \        P                  ! VR,          !  # \        P                  ! VR,          R\        P                  ! \        P
                  ! VR7      4      / # )Nz!Invalid date value or format "%s":N   Nrz   )seconds)r   r   r$   r|   r~   	timedelta)dataparsed_date_tzdtupletzs   &   r   parsedate_to_datetimer   ;  s    "4(N<s4yHII KV	z  &*--fRj F$$X%7%7%CDF Fr   c                x   V'       g)   \        V 4      P                  pV'       g   R# V^ ,          # \        V \        4      '       d
   V ^ ,          p \        V \        4      '       g   R# \        V .4      ^ ,          p \        \        V 4      P                  4      pV'       d   \        V4      ^8  d   R# V^ ,          # )r	   rJ   )rL   rM   r#   listr$   rN   rO   r9   )r2   r?   addrss   &$ r   	parseaddrr   F  s     T"..OQx$AwdC   $(+D"<#5#A#ABECJN8Or   c                 2   \        V 4      ^8  d   V P                  R4      '       d=   V P                  R4      '       d&   V ^R P                  RR4      P                  RR4      # V P                  R4      '       d   V P                  R4      '       d   V ^R # V # )   r   z\\r0   z\"<r   )r9   
startswithendswithr   rC   s   &r   unquoter   e  s~    
3x!|>>#3<<#4#4q9$$VT2::5#FF>>#3<<#4#4q9Jr   c                 \    V P                  \        ^4      p\        V4      ^8:  d   RRV 3# V# )   N)splitTICKr9   )r   partss   & r   decode_rfc2231r   q  s.    GGD!E
5zQT1}Lr   c                     \         P                  P                  T R T;'       g    RR7      p Vf   Vf   V # Vf   R pV: RV: RV : 2# )r	   r   )safeencodingr
   )urllibparser   )r   r(   languages   &&&r   encode_rfc2231r   y  sN     	120B0B7CA8+ (A..r   z&^(?P<name>\w+)\*((?P<num>[0-9]+)\*?)?$c                    V ^ ,          .p/ pV R,           F  w  r4VP                  R4      p\        V4      p\        P                  V4      pV'       dI   VP	                  RR4      w  r7Ve   \        V4      pVP                  V. 4      P                  WtV34       K  VP                  VR\        V4      ,          34       K  	  V'       Edt   VP                  4        EF^  w  r8. pRp	\        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      p
V
'       d   V Uu. uF  q^ ,          f   K  VNK  	  ppM2V Uu. uF&  q^ ,          ;'       g    ^ V^,          V^,          3NK(  	  ppVP                  R	 R
7       V FB  w  r|pV'       d$   \        P                  P                  VRR7      pRp	VP                  V4       KD  	  \        \        P                  V4      4      pV	'       d.   \!        V4      w  rpVP                  W=VRV,          334       EKD  VP                  VRV,          34       EKa  	  V# u upi u upi )r/   :r   NN*r)   numz"%s"Fc              3   8   "   T F  q^ ,          ^ 8H  x  K  	  R# 5i)r/   Nru   )rD   xs   & r   rF    decode_params.<locals>.<genexpr>  s     <mQ419mrH   Tc                     V ^ ,          # )r/   ru   )r   s   &r   <lambda>decode_params.<locals>.<lambda>  s    QqTr   )keyzlatin-1)r   )r   r   rfc2231_continuationmatchgroupr   
setdefaultr8   r   itemsanysortr   r   EMPTYSTRINGr:   r   )params
new_paramsrfc2231_paramsr)   valueencodedmor   continuationsextendedhas_zeror   r   r(   r   s   &              r   decode_paramsr     s   
 )J Nbzz--$!''-/ID#h%%dB/66G7LMtVeEl%:;< " ~#1#7#7#9DEH s<m<sss<m<<H,9 NMqqTM NBO P-QA$))!QqT1Q4!8- P>2 $1 ,,Q,CA#HQ $1 +**512E+9%+@(5!!48Ve^)L"MN!!4%"89; $:< / !O Ps   &I7IIIc                     \        V \        4      '       d   \        V 4      ^8w  d   \        V 4      # V w  r4pVf   Tp\	        VR4      p \        WcV4      #   \         d    \        T4      u # i ; i)   zraw-unicode-escape)r#   tupler9   r   bytesr$   LookupError)r   errorsfallback_charsetr(   r   textrawbytess   &&&    r   r   r     ss    eU##s5zQu~ $Gt #T/0H8f-- t}s   
A A/.A/c                 f    V f   \         P                   P                  4       p V P                  4       # rB   )r|   r   r   )r   s   &r   r   r     s)     
z""$==?r   )r   r   r   r   r-   r   r   rU   r   r   r   r   r   r   r   )r   )NFF)F)NN)r   zus-asciirB   )/__all__r   rer{   r|   urllib.parser   email._parseaddrr   r   rL   r   r   r   r   rK   r   UEMPTYSTRINGCRLFr   compiler   r!   r   r   r-   r6   r>   supports_strict_parsingrU   rZ   rN   rO   rx   r   r   r   r   r   r   r   r   ASCIIr   r   r   r   ru   r   r   <module>r      s   $ 
 	    " 8 & C C

ZZ+,
JJx 		5 F2  ) )X	':1&8Fd >/ zz"KHH 4l4r   