
    ,h6                     H   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y)    )AnyListOptionalTuple	TypedDictN   )EmailUndeliverableError)timeoutcachedns_resolverr
   r   r   returnc                     | ddl m} |} |xs t        j                  j	                         }|xs t        j                  j                         |_        | |_        |S )Nr   DEFAULT_TIMEOUT) r   dnsresolverResolverLRUCacher   lifetime)r
   r   r   r   r   s        `/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/email_validator/deliverability.pycaching_resolverr      sL    %!6s||446H5cll335HNHO    DeliverabilityInfo)mxmx_fallback_typeunknown-deliverabilityF)totaldomaindomain_i18nc           	      z   |0ddl m} ||}t        j                  j	                         }||_        n|t        d      i }	 	 |j                  | d      }t        |D cg c]2  }|j                  t        |j                        j                  d      f4 c}      }|D 	
cg c]  \  }	}
|
dk7  r|	|
f }}	}
t        |      dk(  rt        d| d	      ||d
<   d |d<   |S c c}w c c}
}	w # t        j                  j                  $ r dt         dt"        fd	 |j                  | d      }t%        fd|D              st        j                  j                  d| fg|d
<   d|d<   n# t        j                  j                  $ r 	 |j                  | d      }t%        fd|D              st        j                  j                  d| fg|d
<   d|d<   n5# t        j                  j                  $ r}t        d| d	      |d }~ww xY wY nw xY w	 |j                  | d      }|D ]C  }dj'                  |j(                        }|j+                  d      s0|dk(  s6t        d| d       n## t        j                  j                  $ r Y nw xY wY |S w xY w# t        j                  j,                  $ r}t        d| d      |d }~wt        j                  j.                  $ r ddicY S t        j0                  j2                  $ r ddicY S t        $ r  t4        $ r}t        dt        |      z         |d }~ww xY w)Nr   r   z5It's not valid to pass both timeout and dns_resolver.MX.r   r   zThe domain name z does not accept email.r   r   addressr   c                 d    	 t        j                  |       }|j                  S # t        $ r Y yw xY w)NF)	ipaddress
ip_address
ValueError	is_global)r$   ipaddrs     r   is_global_addrz5validate_email_deliverability.<locals>.is_global_addrO   s9    !&11':F ''' " ! !s   # 	//Ac              3   B   K   | ]  } |j                           y wNr$   .0rr+   s     r   	<genexpr>z0validate_email_deliverability.<locals>.<genexpr>Y   s     G>!))4G   AAAAc              3   B   K   | ]  } |j                           y wr.   r/   r0   s     r   r3   z0validate_email_deliverability.<locals>.<genexpr>f   s     KQ~aii8Kr4   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   r(   resolvesorted
preferencestrexchangerstriplenr	   NoAnswerr   boolanyjoinstrings
startswithNXDOMAINNoNameservers	exceptionTimeout	Exception)r   r    r
   r   r   deliverability_inforesponser2   mtasr<   r>   erecvaluer+   s                 @r   validate_email_deliverabilityrR      s    %?%G||88: '		PQQ.0mP	#++FD9H PXY1ALL#ajj/*@*@*EFYZD HL '/Cz82~  * 'D '4yA~-0@Md.eff(,%6: 23z S Z' ||$$ =	( ( (r'//<GhGG,,///./[M#D):=#$67<<(( rr+33FFCHK(KK!ll33323V'->D'(:;||,, r
 24D[MQh2ijpqqr <r2	'//># qCHHS[[1E''
3 N2"9<L[MYn:o"pp	q
 <<(( @ w=	~ <<   _ &(8EU&VW]^^<<%% 
 %&6
 	
 ==   
 %i
 	
 #  %hknopkqq
	s   C-  7C"C- #C'6*C- "C- -.JAE*)J*HAGHH3HHHJHJAI-I-I-,J-J
JJJJ JJ L:4K$L:* L:L:L55L:)NN)typingr   r   r   r   r   r&   exceptions_typesr	   dns.resolverr   dns.exceptionintr   r   r   r=   r   rR    r   r   <module>rY      s   8 8  5   26Dz~ # c X`adamamavavXw   DG  DP  DP  DY  DY  3
uS#X
 !6 
	 C# CC C(SV- Cnvwz  xD  xD  xM  xM  oN C  Zl Cr   