§
    šŒÃi¤  ã            	       ó6  — d Z ddlZddlZddlZddlZddlZddlZddlZddl	Zddl
Z
ddlZddlmZ ddlmZ dZ ej        d¦  «        Z ej        d¦  «        Zej                             d¦  «        Zd	ed
efd„Zd	ed
efd„Zdddœdej        j        ej        j        z  deded
efd„Zdeej         j!        z  ej"        j#        z  d
e$e         fd„Z%dej        j        ej        j        z  d
edz  fd„Z&dej        j        ej        j        z  d
e$e         fd„Z'dS )z9
Email message and address formatting/parsing functions.
é    N)ÚIterable)Úcast)Úextract_recipientsÚextract_senderÚflatten_messageÚparse_addressÚquote_addressz[][\\()<>@,:;".]z[\\"]zutf-8ÚaddressÚreturnc                 ór   — t           j                             | ¦  «        \  }}|p|                      ¦   «         S )zG
    Parse an email address, falling back to the raw string given.
    )ÚemailÚutilsÚ	parseaddrÚstrip)r
   Ú_Úparsed_addresss      úZ/var/www/html/jarvis.com/web/backend/venv/lib/python3.11/site-packages/aiosmtplib/email.pyr   r   !   s1   € õ œ×-Ò-¨gÑ6Ô6Ñ€A€~àÐ,˜WŸ]š]™_œ_Ð,ó    c                 ó,   — t          | ¦  «        }d|› d�S )zC
    Quote a subset of the email addresses defined by RFC 821.
    ú<ú>)r   )r
   r   s     r   r	   r	   *   s"   € õ # 7Ñ+Ô+€NØ ˆ~Ð Ð Ð Ð r   FÚ8bit)Úutf8Úcte_typeÚmessager   r   c               óª  — t          j         | ¦  «        }|d= |d= t          j        ¦   «         5 }t          |t          j        j        ¦  «        rw|rt          j        j        nt          j        j	        }|dk    r| 
                    |¬¦  «        }t          j                             ||¬¦  «        }|                     |¦  «         nct          j        j        }|dk    r| 
                    |¬¦  «        }t          j                             ||¬¦  «        }|                     |¦  «         |                     ¦   «         }	d d d ¦  «         n# 1 swxY w Y   |	S )NÚBccú
Resent-Bccr   )r   )Úpolicy)ÚcopyÚioÚBytesIOÚ
isinstancer   r   ÚEmailMessager   ÚSMTPUTF8ÚSMTPÚcloneÚ	generatorÚBytesGeneratorÚflattenÚcompat32Úgetvalue)
r   r   r   Úmessage_copyÚ	messageior   r(   Úcompat_policyÚcompat_generatorÚflat_messages
             r   r   r   2   s~  € õ ”9˜WÑ%Ô%€LØ�UÐØ�\Ð"å	Œ‰Œð ,˜Ý�l¥E¤MÔ$>Ñ?Ô?ð 	3Ø.2ÐI•U”\Ô*Ð*½¼Ô8IˆFà˜6Ò!Ð!ØŸš¨x˜Ñ8Ô8�åœ×6Ò6°yÈÐ6ÑPÔPˆIØ×Ò˜lÑ+Ô+Ð+Ð+õ "œLÔ1ˆMØ˜6Ò!Ð!Ø -× 3Ò 3¸XÐ 3Ñ FÔ F�å$œ×=Ò=Ø -ð  >ñ  ô  Ðð ×$Ò$ \Ñ2Ô2Ð2à ×)Ò)Ñ+Ô+ˆð+,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð. Ðs   ®DEÅEÅEÚheaderc                óè  — g }t          | t          j        j        ¦  «        r™t	          t
          t          t          j        j        z           | j        ¦  «        }|D ]^}t          |t          j        j        ¦  «        r| 	                    |j
        ¦  «         Œ<| 	                    t          |¦  «        ¦  «         Œ_n·t          | t          j        j        ¦  «        r[t          j                             | ¦  «        D ]:\  }}t          ||pd¬¦  «        }| 	                    t          |¦  «        ¦  «         Œ;n=|                     d„ t          j                             | g¦  «        D ¦   «         ¦  «         |S )zl
    Convert address headers into raw email addresses, suitable for use in
    low level SMTP commands.
    Úascii)Úencodingc              3   ó    K  — | ]	\  }}|V — Œ
d S )N© )Ú.0r   Úaddrs      r   ú	<genexpr>z$extract_addresses.<locals>.<genexpr>p   s&   è è € ÐPÐP¡' ! T˜ÐPÐPÐPÐPÐPÐPr   )r#   r   ÚheaderregistryÚAddressHeaderr   r   ÚstrÚAddressÚ	addressesÚappendÚ	addr_specr   r2   ÚHeaderÚdecode_headerÚextendr   Úgetaddresses)r2   r?   Úheader_addressesr
   Úaddress_bytesÚcharsetÚaddress_strs          r   Úextract_addressesrJ   X   sg  € ð €IÝ�&�%Ô.Ô<Ñ=Ô=ð QåÝ•S�5Ô/Ô7Ñ7Ô8¸&Ô:Jñ
ô 
Ðð (ð 	9ð 	9ˆGÝ˜'¥5Ô#7Ô#?Ñ@Ô@ð 9Ø× Ò  Ô!2Ñ3Ô3Ð3Ð3à× Ò ¥¨wÑ!7Ô!7Ñ8Ô8Ð8Ð8ð		9õ
 
�F�EœLÔ/Ñ	0Ô	0ð QÝ&+¤l×&@Ò&@ÀÑ&HÔ&Hð 	9ð 	9Ñ"ˆM˜7Ý˜m°gÐ6HÀÐIÑIÔIˆKØ×Ò�]¨;Ñ7Ô7Ñ8Ô8Ð8Ð8ð	9ð 	×ÒÐPÐP­U¬[×-EÒ-EÀvÀhÑ-OÔ-OÐPÑPÔPÑPÔPÐPàÐr   c                óæ   — |                       d¦  «        }|�"t          |¦  «        dk    rt          d¦  «        ‚|rd}d}nd}d}|| v r	| |         }n| |         }|€dS t          |¦  «        d	         S )
z;
    Extract the sender from the message object given.
    úResent-DateNé   ú0Message has more than one 'Resent-' header blockzResent-SenderzResent-FromÚSenderÚFromr   )Úget_allÚlenÚ
ValueErrorrJ   )r   Úresent_datesÚsender_header_nameÚfrom_header_nameÚsender_headers        r   r   r   u   s¢   € ð —?’? =Ñ1Ô1€LàÐ¥C¨Ñ$5Ô$5¸Ò$9Ð$9ÝÐKÑLÔLÐLØ	ð "Ø,ÐØ(ÐÐà%ÐØ!Ðð ˜WÐ$Ð$ØÐ 2Ô3ˆˆàÐ 0Ô1ˆàÐØˆtå˜]Ñ+Ô+¨AÔ.Ð.r   c                ó  — g }|                       d¦  «        }|�"t          |¦  «        dk    rt          d¦  «        ‚|rd}nd}|D ]>}|                       |g ¬¦  «        D ]$}|                     t	          |¦  «        ¦  «         Œ%Œ?|S )z?
    Extract the recipients from the message object given.
    rL   NrM   rN   )z	Resent-Toz	Resent-Ccr   )ÚToÚCcr   )Úfailobj)rQ   rR   rS   rD   rJ   )r   Ú
recipientsrT   Úrecipient_headersr2   Ú	recipients         r   r   r   “   s³   € ð €Jà—?’? =Ñ1Ô1€LàÐ¥C¨Ñ$5Ô$5¸Ò$9Ð$9ÝÐKÑLÔLÐLØ	ð 0ØDÐÐà/Ðà#ð <ð <ˆØ Ÿš¨¸˜Ñ<Ô<ð 	<ð 	<ˆIØ×ÒÕ/°	Ñ:Ô:Ñ;Ô;Ð;Ð;ð	<ð Ðr   )(Ú__doc__r    Úemail.charsetr   Úemail.generatorÚemail.headerÚemail.headerregistryÚemail.messageÚemail.policyÚemail.utilsr!   ÚreÚcollections.abcr   Útypingr   Ú__all__ÚcompileÚSPECIALS_REGEXÚESCAPES_REGEXrH   ÚCharsetÚUTF8_CHARSETr=   r   r	   r   r$   ÚMessageÚboolÚbytesr   r;   r<   r2   rB   ÚlistrJ   r   r   r7   r   r   ú<module>rt      s@  ððð ð €€€Ø Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø 	€	€	€	Ø 	€	€	€	Ø $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð ð€ð �”Ð/Ñ0Ô0€Ø�”
˜8Ñ$Ô$€ØŒ}×$Ò$ WÑ-Ô-€ð-˜3ð - 3ð -ð -ð -ð -ð!˜3ð ! 3ð !ð !ð !ð !ð Øð#ð #ð #ØŒ]Ô'¨%¬-Ô*?Ñ?ð#ð ð	#ð
 ð#ð ð#ð #ð #ð #ðLØ�%Ô&Ô4Ñ4°u´|Ô7JÑJðð 
ˆ#„Yðð ð ð ð:/ØŒ]Ô'¨%¬-Ô*?Ñ?ð/ð 	ˆ4�Zð/ð /ð /ð /ð<ØŒ]Ô'¨%¬-Ô*?Ñ?ðð 
ˆ#„Yðð ð ð ð ð r   