
    Eqg6                     >   d dl mZmZmZmZmZ d dlZddlmZ d dl	Z
d dlZ
dddddee         dedee
j        j                 d	e
j        j        fd
Z edeeeef                  ee         edd          Zddededee         dee
j        j                 d	ef
dZdS )    )AnyListOptionalTuple	TypedDictN   )EmailUndeliverableError)timeoutcachedns_resolverr
   r   r   returnc                     | ddl m} |} |pt          j                                        }|pt          j                                        |_        | |_        |S )Nr   DEFAULT_TIMEOUT) r   dnsresolverResolverLRUCacher   lifetime)r
   r   r   r   r   s        P/var/www/html/env/lib/python3.11/site-packages/email_validator/deliverability.pycaching_resolverr      s]    %%%%%%!6s|4466H5cl3355HNHO    DeliverabilityInfo)mxmx_fallback_typeunknown-deliverabilityF)totaldomaindomain_i18nc                    |0ddl m} ||}t          j                                        }||_        n|t          d          i }	 	 |                    | d          }t          d |D                       }d |D             }t          |          dk    rt          d| d	          ||d
<   d |d<   n# t          j        j        $ r dt          dt          fd	 |                    | d          }t          fd|D                       st          j        j        d| fg|d
<   d|d<   n# t          j        j        $ r 	 |                    | d          }t          fd|D                       st          j        j        d| fg|d
<   d|d<   n0# t          j        j        $ r}t          d| d	          |d }~ww xY wY nw xY w	 |                    | d          }|D ]J}	d                    |	j                  }
|
                    d          r|
dk    rt          d| d          Kn# t          j        j        $ r Y nw xY wY nw xY wn# t          j        j        $ r}t          d| d          |d }~wt          j        j        $ r ddicY S t          j        j        $ r ddicY S t          $ r  t,          $ r%}t          dt/          |          z             |d }~ww xY w|S )Nr   r   z5It's not valid to pass both timeout and dns_resolver.MXc                 j    g | ]0}|j         t          |j                                      d           f1S ).)
preferencestrexchangerstrip).0rs     r   
<listcomp>z1validate_email_deliverability.<locals>.<listcomp>6   s5    YYY1AL#aj//*@*@*E*EFYYYr   c                 (    g | ]\  }}|d k    ||fS )r    )r)   r%   r'   s      r   r+   z1validate_email_deliverability.<locals>.<listcomp><   s2     ' ' '/Cz82~~  *%~~r   r   zThe domain name z does not accept email.r   r   addressr   c                 ^    	 t          j        |           }n# t          $ r Y dS w xY w|j        S )NF)	ipaddress
ip_address
ValueError	is_global)r.   ipaddrs     r   is_global_addrz5validate_email_deliverability.<locals>.is_global_addrO   sD    !&1'::FF! ! ! ! 55!''s    
%%Ac              3   8   K   | ]} |j                   V  d S Nr.   r)   r*   r5   s     r   	<genexpr>z0validate_email_deliverability.<locals>.<genexpr>Y   s/      GG>>!)44GGGGGGr   AAAAc              3   8   K   | ]} |j                   V  d S r8   r9   r:   s     r   r;   z0validate_email_deliverability.<locals>.<genexpr>f   s/      KKQ~~ai88KKKKKKr   TXTr   s   v=spf1 s   v=spf1 -allz does not send email.z does not exist.r   no_nameserversr
   zZThere was an error while checking if the domain name in the email address is deliverable: )r   r   r   r   get_default_resolverr   r2   resolvesortedlenr	   NoAnswerr   boolanyjoinstrings
startswithNXDOMAINNoNameservers	exceptionTimeout	Exceptionr&   )r   r    r
   r   r   deliverability_inforesponsemtaserecvaluer5   s              @r   validate_email_deliverabilityrU      sC    %%%%%%?%G|88:: '		PQQQ.0mP	#++FD99H YYPXYYYZZD' 't ' ' 'D4yyA~~-.e.e.e.efff(,%6: 233|$ =	 =	 =	( ( ( ( ( (r'//<<GGGGhGGGGG 0,//./[M#D):=#$677<( r r rr+33FFCCHKKKK(KKKKK 4!l3323V'->D'(:;;|, r r r
 22i[2i2i2ijjpqqr <;r2	'//>># q qCHHS[11E''
33 q N22"9:o[:o:o:o"p"pp	q
 <(   w=	~ <  _ _ _ &&V&V&V&VWW]^^<% 
 
 
 %&6
 	
 	
 	
 =  
 
 
 %i
 	
 	
 	
 #      %hknopkqkqq
 
	 s   	A+B6 4I 6'IAD.-I.GAFGG 'F;;G  GIGI
A#H.-I.IIIII 
II K%#I77K%K%-K%  K  K%)NN)typingr   r   r   r   r   r0   exceptions_typesr	   dns.resolverr   dns.exceptionintr   r   r   r&   r   rU   r-   r   r   <module>r[      s   8 8 8 8 8 8 8 8 8 8 8 8 8 8     5 5 5 5 5 5         26Dz~   # c X`adamavXw   DG  DP  DY     Y3
uS#X
 !6 6 
	   C C# CC C(SV- Cnvwz  xD  xM  oN C  Zl C C C C C Cr   