+
    iR  c                   sJ   ^ RI Ht ^ RIHt ^ RIHt ^ RIHt  ! R R4      t ! R R4      t ! R	 R
]	4      t
R t ! R R4      t ! R R]4      t ! R R4      t ! R R]4      t ! R R4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R4      t ! R R4      t ! R  R!]4      t ! R" R#]4      t ! R$ R%4      t ! R& R'4      t ! R( R)4      t/ R*]bR+]bR,]bR-]bR.]bR/]bR0]bR1]bR2]bR3]bR4]bR5]bR6]bR7]bR8]bR9]bR:]bR;]R<]R=]R>]R?]/Ct ! R@ RA4      tRB# )Ci    )MappingProxyType)utils)errors)_header_value_parserc                   s|   a  ] tR t^t o RR lt]R 4       t]R 4       t]R 4       t]R 4       t	R t
R tR	 tR
tV tR# )AddressNc           	     s   R P                  \        RWW434      4      pRV9   g   RV9   d   \        R4      hVe   V'       g	   V'       d   \        R4      h\        P
                  ! V4      w  rgV'       d   \        RP                  Wd4      4      hVP                  '       d   VP                  ^ ,          hVP                  pVP                  pWn
        W n        W0n        R# ) NZZ
z8invalid arguments; address parts cannot contain CR or LFz=addrspec specified when username and/or domain also specifiedz6Invalid addr_spec; only '{}' could be parsed from '{}')joinZfilter
ValueErrorZ	TypeErrorparserZget_addr_specformatall_defects
local_partdomain_display_name	_username_domain)selfdisplay_nameusernamer   	addr_specZinputsZa_sZrests   &&&&&   -/usr/lib64/python3.14/email/headerregistry.py__init__ZAddress.__init__   s    " |v&QRS6>TV^WXX  6 !8 9 9,,Y7IC  "==CV$'>45 5 ooa((~~HZZF)!    c                    V P                   # Nr   r      &r   r   ZAddress.display_name8       !!!r   c                r   r   )r   r   r   r   r   ZAddress.username<       ~~r   c                r   r   )r   r   r   r   r   ZAddress.domain@       ||r   c                s    V P                   p\        P                  P                  V4      '       g   \        P                  ! V4      pV P
                  '       d   VR ,           V P
                  ,           # V'       g   R# V# )Z@<>)r   r   ZDOT_ATOM_ENDS
isdisjointquote_stringr   )r   Zlp   & r   r   ZAddress.addr_specD   s[    
 ]]##..r22$$R(B;;;8dkk))	r   c                s    R P                  V P                  P                  V P                  V P                  V P
                  4      # )z1{}(display_name={!r}, username={!r}, domain={!r}))r	   	__class____name__r   r   r   r   r   r   __repr__ZAddress.__repr__R   s9    BII//))4==$++G 	Gr   c                s   V P                   p\        P                  P                  V4      '       g   \        P                  ! V4      pV'       d1   V P
                  R 8X  d   RMV P
                  pRP                  W4      # V P
                  # )r   r   z{} <{}>)r   r   SPECIALSr    r!   r   r	   )r   dispr      &  r   __str__ZAddress.__str__W   sf      ))$//&&t,D"nnd2I##D44~~r   c                s    \        V\        4      '       g   \        # V P                  VP                  8H  ;'       d;    V P                  VP                  8H  ;'       d    V P
                  VP
                  8H  # r   )
isinstancer   NotImplementedr   r   r   r   Zother   &&r   __eq__ZAddress.__eq__`   sb    %))!!!!U%7%77 , ,/, ,u||+	-r   )r   r   r   )r   r   r   N)r$   
__module____qualname____firstlineno__r   propertyr   r   r   r   r%   r)   r.   __static_attributes____classdictcell____classdict__   @r   r   r      sp     (T " "      G
- -r   r   c                   s\   a  ] tR t^ht o R	R lt]R 4       t]R 4       tR tR t	R t
RtV tR# )
GroupNc                sd    Wn         V'       d   \        V4      V n        R # \        4       V n        R # r   )r   tuple
_addresses)r   r   	addresses   &&&r   r   ZGroup.__init__j   s      *.7%	*UWr   c                r   r   r   r   r   r   r   ZGroup.display_name|   r   r   c                r   r   )r:   r   r   r   r;   ZGroup.addresses   s    r   c                sx    R P                  V P                  P                  V P                  V P                  4      # )z${}(display_name={!r}, addresses={!r})r	   r#   r$   r   r;   r   r   r   r%   ZGroup.__repr__   s1    5<<((""DNN4 	4r   c                s   V P                   f7   \        V P                  4      ^8X  d   \        V P                  ^ ,          4      # V P                   pVe<   \        P
                  P                  V4      '       g   \        P                  ! V4      pRP                  R V P                   4       4      pV'       d
   RV,           MTpRP                  W4      # )N, c              3   s8   "   T F  p\        V4      x  K  	  R # 5ir   )str).0Zxr"   r   	<genexpr>Z Group.__str__.<locals>.<genexpr>   s     :>a3q66>s    z{}:{};)
r   lenr;   r>   r   r&   r    r!   r   r	   )r   r'   Zadrstrr(   r   r)   ZGroup.__str__   s    $T^^)<a)?t~~a())  FOO$>$>t$D$D&&t,D:4>>::!'vVt,,r   c                s    \        V\        4      '       g   \        # V P                  VP                  8H  ;'       d    V P                  VP                  8H  # r   )r*   r8   r+   r   r;   r,   r-   r   r.   ZGroup.__eq__   sH    %''!!!!U%7%77 2 2%//1	3r   )r:   r   )NN)r$   r/   r0   r1   r   r2   r   r;   r%   r)   r.   r3   r4   r5   r7   r   r8   r8   h   sG     E$ " "  4
-3 3r   r8   c                   sh   a  ] tR t^t o R tR t]R 4       t]R 4       tR t	]
R 4       tR tRtV tR	# )

BaseHeaderc                s   R . /pV P                  W#4       \        P                  ! VR,          4      '       d!   \        P                  ! VR,          4      VR&   \        P                  WR,          4      pVR VP                  ! V3/ VB  V# )defectsdecoded)parser   Z_has_surrogates	_sanitizer>   __new__init)clsnamevaluekwdsr      &&&  r   rH   ZBaseHeader.__new__   sq    2		%  i11#ood9o>DO{{3Y0O		$$r   c               s*    Wn         W n        W0n        R # r   )_name_parse_tree_defects)r   rK   
parse_treerD   s   &&$$r   rI   ZBaseHeader.init   s    
%r   c                r   r   )rO   r   r   r   rK   ZBaseHeader.name   s    zzr   c                ,    \        V P                  4      # r   )r9   rQ   r   r   r   rD   ZBaseHeader.defects   s    T]]##r   c                s    \         V P                  P                  V P                  P                  \	        V 4      3V P                  4       3# r   )_reconstruct_headerr#   r$   Z	__bases__r>   Z__getstate__r   r   r   
__reduce__ZBaseHeader.__reduce__   sC    ''((D	
 ! 	!r   c                s,    \         P                  W4      # r   )r>   rH   )rJ   rL   r-   r   _reconstructZBaseHeader._reconstruct   s    {{3&&r   c          	     s   \         P                  ! \         P                  ! \         P                  ! V P                  R 4      \         P                  ! RR4      .4      .4      pV P
                  '       d<   VP                  \         P                  ! \         P                  ! RR4      .4      4       VP                  V P
                  4       VP                  VR7      # )zheader-nameZ:z
header-seprA   Zfws)policy)
r   ZHeaderZHeaderLabelZValueTerminalrK   rP   appendZCFWSListZWhiteSpaceTerminalfold)r   rW   Zheaders   &$ r   rY   ZBaseHeader.fold   s    " $$TYY>$$S,7 9 :  
 MM!:!:3!F GHJd&&'{{&{))r   )rQ   rO   rP   N)r$   r/   r0   r1   rH   rI   r2   rK   rD   rU   classmethodrV   rY   r3   r4   r5   r7   r   rC   rC      s[     D 
   $ $! ' '* *r   rC   c                 s8    \        W/ 4      P                  V4      # r   )typerV   )Zcls_nameZbasesrL   r<   r   rT   rT      s    $11%88r   c                   sX   a  ] tR tRt o Rt]! ]P                  4      t]	R 4       t
RtV tR# )UnstructuredHeaderi  Nc                sX    V P                  V4      VR &   \        VR ,          4      VR&   R# )rR   rE   N)value_parserr>   rJ   rL   rM   r<   r   rF   ZUnstructuredHeader.parse	  s*     --e4\d<01Yr    )r$   r/   r0   r1   	max_countstaticmethodr   get_unstructuredr]   rZ   rF   r3   r4   r5   r7   r   r\   r\     s,     I 7 78L2 2r   r\   c                       ] tR tRt^tRtR# )UniqueUnstructuredHeaderi  r_   Nr$   r/   r0   r1   r`   r3   r_   r   r   rd   rd         Ir   rd   c                   sz   a a ] tR tRt oRt]! ]P                  4      t]	R 4       t
V 3R lt]R 4       tRtVtV ;t# )
DateHeaderi  Nc                sJ   V'       gP   VR ,          P                  \        P                  ! 4       4       RVR&   RVR&   \        P                  ! 4       VR&   R# \        V\        4      '       d   WR&    \        P                  ! V4      pWR&   \        P                  ! VR,          4      VR&   V P                  VR,          4      VR&   R#   \         dN    TR ,          P                  \        P                  ! R4      4       RTR&   \        P                  ! 4       TR&    R# i ; i)rD   Ndatetimer   rE   rR   zInvalid date value or format)rX   r   ZHeaderMissingRequiredValuer   Z	TokenListr*   r>   r   Zparsedate_to_datetimer   ZInvalidDateDefectZformat_datetimer]   r^   r<   r   rF   ZDateHeader.parse$  s    O""6#D#D#FG#D DO!'!1!1!3DeS!!#O33E: !Z//Z0@AY --d9o>\  Y&&v'?'?@^'_`#'Z %+%5%5%7\"	s   3C
 
AD"!D"c                T   < VP                  R 4      V n        \        SV `  ! V/ VB  R# )rh   N)pop	_datetimesuperrI   r   argskwr#      &*,r   rI   ZDateHeader.init9  s$    
+d!b!r   c                r   r   rk   r   r   r   rh   ZDateHeader.datetime=  r   r   rq   )r$   r/   r0   r1   r`   ra   r   rb   r]   rZ   rF   rI   r2   rh   r3   r4   __classcell__r#   r6      @@r   rg   rg     sN      I   7 78L? ?("   r   rg   c                   rc   )UniqueDateHeaderiB  r_   Nre   r_   r   r   ru   ru   B  rf   r   ru   c                   sv   a a ] tR tRt oRt]R 4       t]R 4       tV 3R lt	]
R 4       t]
R 4       tRtVtV ;t# )	AddressHeaderiG  Nc                s6    \         P                  ! V 4      w  rV# r   )r   Zget_address_list)rL   address_listr"   r   r]   ZAddressHeader.value_parserK  s    $55e<r   c                s   \        V\        4      '       d   V P                  V4      ;VR &   p. pVP                   F  pTP	                  \        VP                  VP                   Uu. uFL  p\        VP                  ;'       g    RVP                  ;'       g    RVP                  ;'       g    R4      NKN  	  up4      4       K  	  \        VP                  4      pMG\        VR4      '       g   V.pV Uu. uF$  p\        VR4      '       g   \        RV.4      MTNK&  	  pp. pWBR&   WrR&   RP                  V Uu. uF  p\        V4      NK  	  up4      VR&   R V9  d   V P                  VR,          4      VR &   R# R# u upi u upi u upi )	rR   r   Z__iter__r;   NgroupsrD   r=   rE   )r*   r>   r]   r;   rX   r8   r   Zall_mailboxesr   r   r   Zlistr
   Zhasattrr   )	rJ   rL   rM   rw   rx   ZaddrZmbrD   Zitems	   &&&      r   rF   ZAddressHeader.parseQ  s   eS!! 140@0@0GGDF$..eD$5$5 04/A/A%C 0B &-R__-B-B-/]]-@-@b-/YY__"&> 0B%CD E / <334G 5*-- 16705 29{1K1KeD4&)/3405  7 GX!Y))6$B64SY6$BCYt#!$!1!1$y/!BD $!%C7 %Cs$   'F F F .F 7*F<F
c                st   < \        VP                  R 4      4      V n        RV n        \        SV `  ! V/ VB  R# )rx   N)r9   rj   _groupsr:   rl   rI   rm   rp   r   rI   ZAddressHeader.initm  s0    RVVH-.d!b!r   c                r   r   )ry   r   r   r   rx   ZAddressHeader.groupsr  r   r   c                s    V P                   fF   \        ;QJ d    . R V P                   4       F  NK  	  5M! R V P                   4       4      V n         V P                   # )Nc              3   sL   "   T F  pVP                    F  pVx  K	  	  K  	  R # 5ir   )r;   )r?   Zgroupaddressr(   r   r@   Z*AddressHeader.addresses.<locals>.<genexpr>y  s'      $L;@?? %,;J %,s   "$)r:   r9   ry   r   r   r   r;   ZAddressHeader.addressesv  sM    ??"#e $L $Lee $L $L LDOr   )r:   ry   )r$   r/   r0   r1   r`   ra   r]   rZ   rF   rI   r2   rx   r;   r3   r4   rr   rs   rt   r   rv   rv   G  sd     I 
 C C6"
     r   rv   c                   rc   )UniqueAddressHeaderi~  r_   Nre   r_   r   r   r{   r{   ~  rf   r   r{   c                   s0   a  ] tR tRt o ]R 4       tRtV tR# )SingleAddressHeaderi  c                s    \        V P                  4      ^8w  d%   \        RP                  V P                  4      4      hV P                  ^ ,          # )i   z9value of single address header {} is not a single address)rB   r;   r   r	   rK   r   r   r   rz   ZSingleAddressHeader.address  sB    t~~! #$*F499$57 7~~a  r   r_   N)r$   r/   r0   r1   r2   rz   r3   r4   r5   r7   r   r|   r|     s     ! !r   r|   c                   rc   )UniqueSingleAddressHeaderi  r_   Nre   r_   r   r   r}   r}     rf   r   r}   c                   s   a a ] tR tRt o^t]! ]P                  4      t]	R 4       t
V 3R lt]R 4       t]R 4       t]R 4       tRtVtV ;t# )MIMEVersionHeaderi  c                s^   V P                  V4      ;VR &   p\        V4      VR&   VR,          P                  VP                  4       VP                  f   RMVP
                  VR&   VP                  VR&   VP                  e&   RP                  VR,          VR,          4      VR&   R# RVR&   R# )rR   rE   rD   Nmajorminorz{}.{}version)r]   r>   extendr
   r   r   r	   rJ   rL   rM   rR      &&& r   rF   ZMIMEVersionHeader.parse  s    *-*:*:5*AA\Zj/YYz556 * 0 0 8j>N>NW"((W'%nnT']DMJDO"DOr   c                s   < VP                  R 4      V n        VP                  R4      V n        VP                  R4      V n        \        SV `  ! V/ VB  R# )r   r   r   N)rj   _version_major_minorrl   rI   rm   rp   r   rI   ZMIMEVersionHeader.init  sB    y)ffWoffWod!b!r   c                r   r   )r   r   r   r   r   ZMIMEVersionHeader.major      {{r   c                r   r   )r   r   r   r   r   ZMIMEVersionHeader.minor  r   r   c                r   r   )r   r   r   r   r   ZMIMEVersionHeader.version      }}r   )r   r   r   )r$   r/   r0   r1   r`   ra   r   Zparse_mime_versionr]   rZ   rF   rI   r2   r   r   r   r3   r4   rr   rs   rt   r   r~   r~     sr     I 9 9:L	# 	#"       r   r~   c                   sV   a a ] tR tRt o^t]R 4       tV 3R lt]R 4       t	Rt
VtV ;t# )ParameterizedMIMEHeaderi  c                s|   V P                  V4      ;VR &   p\        V4      VR&   VR,          P                  VP                  4       VP                  f   / VR&   R# VP                   UUu/ uF>  w  rA\
        P                  ! V4      P                  4       \
        P                  ! V4      bK@  	  uppVR&   R# u uppi )rR   rE   rD   Nparams)r]   r>   r   r
   r   r   rG   lower)rJ   rL   rM   rR   rK   rN   r   rF   ZParameterizedMIMEHeader.parse  s    *-*:*:5*AA\Zj/YYz556$DN
 3=2C2CE2C;4 $ood399;$)OOE$:;2CEDN Es   +AB8c                ri   )r   N)rj   _paramsrl   rI   rm   rp   r   rI   ZParameterizedMIMEHeader.init  s$    vvh'd!b!r   c                rS   r   )r    r   r   r   r   r   ZParameterizedMIMEHeader.params  s    --r   )r   )r$   r/   r0   r1   r`   rZ   rF   rI   r2   r   r3   r4   rr   rs   rt   r   r   r     s>     
 I
E 
E" . . .r   r   c                   s   a a ] tR tRt o]! ]P                  4      tV 3R lt]	R 4       t
]	R 4       t]	R 4       tRtVtV ;t# )ContentTypeHeaderi  c                s   < \         SV `  ! V/ VB  \        P                  ! V P                  P
                  4      V n        \        P                  ! V P                  P                  4      V n        R # r   )	rl   rI   r   rG   rP   maintype	_maintypesubtype_subtyperm   rp   r   rI   ZContentTypeHeader.init  sL    d!b!)9)9)B)BC(8(8(@(@Ar   c                r   r   )r   r   r   r   r   ZContentTypeHeader.maintype  r   r   c                r   r   )r   r   r   r   r   ZContentTypeHeader.subtype  r   r   c                sJ    V P                   R ,           V P                  ,           # )Z/)r   r   r   r   r   content_typeZContentTypeHeader.content_type  s    }}s"T\\11r   )r   r   )r$   r/   r0   r1   ra   r   Zparse_content_type_headerr]   rI   r2   r   r   r   r3   r4   rr   rs   rt   r   r   r     s\      @ @ALB
     2 2 2r   r   c                   sf   a a ] tR tRt o]! ]P                  4      tV 3R lt]	R 4       t
RtVtV ;t# )ContentDispositionHeaderi  c                s   < \         SV `  ! V/ VB  V P                  P                  pVf	   W0n        R # \        P
                  ! V4      V n        R # r   )rl   rI   rP   content_dispositionr   rG   _content_disposition)r   rn   ro   Zcdr#   s   &*, r   rI   ZContentDispositionHeader.init  s?    d!b!11*,*B!%//":M!r   c                r   r   r   r   r   r   r   Z,ContentDispositionHeader.content_disposition  s    (((r   r   )r$   r/   r0   r1   ra   r   Z parse_content_disposition_headerr]   rI   r2   r   r3   r4   rr   rs   rt   r   r   r     s4      G GHLN
 ) ) )r   r   c                   sz   a a ] tR tRt o^t]! ]P                  4      t]	R 4       t
V 3R lt]R 4       tRtVtV ;t# )ContentTransferEncodingHeaderi  c                    V P                  V4      ;VR &   p\        V4      VR&   VR,          P                  VP                  4       R# rR   rE   rD   Nr]   r>   r   r
   r   r   r   rF   Z#ContentTransferEncodingHeader.parse  A    *-*:*:5*AA\Zj/YYz556r   c                s   < \         SV `  ! V/ VB  \        P                  ! V P                  P
                  4      V n        R # r   )rl   rI   r   rG   rP   cte_cterm   rp   r   rI   Z"ContentTransferEncodingHeader.init  s0    d!b!OOD$4$4$8$89	r   c                r   r   r   r   r   r   r   Z!ContentTransferEncodingHeader.cte  s    yyr   r   )r$   r/   r0   r1   r`   ra   r   Z&parse_content_transfer_encoding_headerr]   rZ   rF   rI   r2   r   r3   r4   rr   rs   rt   r   r   r     sJ     I M MNL7 7
:   r   r   c                   X   a  ] tR tRt o ^t]! ]P                  4      t]	R 4       t
RtV tR# )MessageIDHeaderi  c                r   r   r   r   r   r   rF   ZMessageIDHeader.parse  r   r   r_   N)r$   r/   r0   r1   r`   ra   r   Zparse_message_idr]   rZ   rF   r3   r4   r5   r7   r   r   r     s,     I 7 78L7 7r   r   c                   r   )ReferencesHeaderi  c                r   r   r   r   r   r   rF   ZReferencesHeader.parse  r   r   r_   N)r$   r/   r0   r1   r`   ra   r   Zparse_message_idsr]   rZ   rF   r3   r4   r5   r7   r   r   r     s,     I 8 89L7 7r   r   ZsubjectZdatezresent-datez	orig-dateZsenderzresent-senderZtoz	resent-toZccz	resent-ccZbccz
resent-bccZfromzresent-fromzreply-tozmime-versionzcontent-typezcontent-dispositionzcontent-transfer-encodingz
message-idzin-reply-toZ
referencesc                   sB   a  ] tR tRt o ]]R3R ltR tR tR t	Rt
V tR# )	HeaderRegistryi@  Tc                s~    / V n         Wn        W n        V'       d"   V P                   P                  \        4       R # R # r   )registry
base_classdefault_classZupdate_default_header_map)r   r   r   Zuse_default_maps   &&&&r   r   ZHeaderRegistry.__init__D  s1     $*MM  !45 r   c                s>    W P                   VP                  4       &   R # r   )r   r   r   rK   rJ   r<   r   map_to_typeZHeaderRegistry.map_to_typeV  s     '*djjl#r   c                s    V P                   P                  VP                  4       V P                  4      p\	        R VP
                  ,           W P                  3/ 4      # )Z_)r   Zgetr   r   r[   r$   r   r   s   && r   __getitem__ZHeaderRegistry.__getitem__\  sC    mm

d.@.@AC$sOO&<bAAr   c                s    W,          ! W4      # r   r_   )r   rK   rL   r<   r   __call__ZHeaderRegistry.__call__`  s     z$&&r   )r   r   r   N)r$   r/   r0   r1   rC   r\   r   r   r   r   r3   r4   r5   r7   r   r   r   @  s*      #-<N'+6$*B
' 
'r   r   N)Ztypesr    Zemailr   r   r   r   r   r8   r>   rC   rT   r\   rd   rg   ru   rv   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r_   r   r   <module>r      s   #   0Y- Y-x/3 /3ha* a*H92 21 
+ +\z 
4 4n- 
!- ! 3 
" "J. .:2/ 2,)6 ) *	7 	7	7 	7$<
$4 J $4	
 $= $7 	$7 M 	$7 M 
$7 M $7 M $7  $5!" $5#$ $<$AO$4$4- 2*' *'r   