
    g                      4   S SK JrJrJr  S SKrSSKJrJr  SSKJ	r	J
r
JrJrJr  SSKJr  \(       a  S SKr\R$                  R&                  rO\rSSSSSSSSSSS.
S	\\\4   S
\\   S\S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\4S jjrg)    )OptionalUnionTYPE_CHECKINGN   )EmailSyntaxErrorValidatedEmail)split_emailvalidate_email_local_partvalidate_email_domain_namevalidate_email_domain_literalvalidate_email_length)CASE_INSENSITIVE_MAILBOX_NAMESF)
allow_smtputf8allow_empty_localallow_quoted_localallow_domain_literalallow_display_namecheck_deliverabilitytest_environmentglobally_deliverabletimeoutdns_resolveremailr   r   r   r   r   r   r   r   r   r   returnc      
         F   SSK JnJnJnJnJnJnJnJn  Uc  UnUc  UnUc  UnUc  UnUc  UnUc  UnUc  UnU	c  U
c  Un	[        U [        5      (       d   U R                  S5      n [        U 5      u  nnnn[        5       nU(       d  UOSU-   S-   S-   U-   Ul        UUl        [%        UUUUS9nUS	   Ul        US
   Ul        US   Ul        [,        R.                  " SUR&                  5      nUUR&                  :w  a   [%        UUUUS9  UUl        U(       a  U(       d  [        S5      eUR(                  bm  UR(                  R1                  5       [2        ;   aK  UR&                  b>  UR(                  R1                  5       Ul        UR&                  R1                  5       Ul        Sn[5        U5      S:X  a  [        S5      eUR7                  S5      (       aW  UR9                  S5      (       aA  [;        USS 5      nU(       d  [        S5      eUS   Ul        US   Ul        US   Ul         SnO[C        UXxS9nUS   Ul        US   Ul        UR&                  S-   UR<                  -   Ul"        UR*                  (       dG  UR>                  (       d  [G        S5      eUR(                  =(       d    SS-   UR>                  -   Ul$        OSUl$        [K        U5        Ub  U(       d  [        S5      eU(       ae  U(       d^  U(       a  U$ SSK&J'n  U" UR>                  UR<                  X5      nURQ                  S5      n U b  U Ul)        URQ                  S 5      Ul*        U$ ! [         a  n[        S5      UeSnAff = f! [         a  n[        S[        U5      -   5      UeSnAff = f)!z
Given an email address, and some options, returns a ValidatedEmail instance
with information about the address if it is valid or, if the address is not
valid, raises an EmailNotValidError. This is the main function of the module.
r   )ALLOW_SMTPUTF8ALLOW_QUOTED_LOCALALLOW_DOMAIN_LITERALALLOW_DISPLAY_NAMEGLOBALLY_DELIVERABLECHECK_DELIVERABILITYTEST_ENVIRONMENTDEFAULT_TIMEOUTNasciiz%The email address is not valid ASCII."@)r   r   quoted_local_part
local_partascii_local_partsmtputf8NFCzAfter Unicode normalization: z7Quoting the part before the @-sign is not allowed here.Fr   z)There must be something after the @-sign.[]z<A bracketed IP address after the @-sign is not allowed here.domaindomain_addressT)r   r   ascii_domainzMissing ASCII domain. zRA display name and angle brackets around the email address are not permitted here.)validate_email_deliverabilitymxmx_fallback_type)+r2   r   r   r   r   r    r!   r"   r#   
isinstancestrdecode
ValueErrorr   r	   r   originaldisplay_namer
   r(   r)   r*   unicodedata	normalizelowerr   len
startswithendswithr   r/   r1   r0   r   
normalized	Exceptionascii_emailr   deliverabilityr3   getr4   r5   )!r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   er;   r(   domain_partis_quoted_local_partretlocal_part_infonormalized_local_partis_domain_literaldomain_literal_infodomain_name_infor3   deliverability_infor4   s!                                    W/home/matz/Project1/venv/lib/python3.13/site-packages/email_validator/validate_email.pyvalidate_emailrR      s   ,V V V'!/#3!/#3+#3</!
 eS!!	SLL)E e
 @L*k+? 
C';Z
*S0'(CL $C 0
?MBSBVXO %\2CN*+=>C":.CL
 (11%H.	T%&;5C8I8LN /
 $6XYY
 '%%'+II>>%"3399;--/ 
;1JKK				$	$)=)=c)B)B;K"<MN#"#abb(2
.x801AB 
 6kTd  Q%h/
+N; ^^c)CJJ6CN <<344//52<s?O?OO # (:stt$4 J 	B;cjj'
 !$$T*>CF2667IJJm  	S"#JKQRR	SP   	T"#BSV#KLRSS	Ts0   M  M9 
M6%M11M69
N NN )typingr   r   r   r<   exceptions_typesr   r   syntaxr	   r
   r   r   r   rfc_constantsr   dns.resolverdnsresolverResolver	_Resolverobjectr7   bytesboolintrR        rQ   <module>rb      s   1 1  > M  M 9%%II &*#)-+/)-+/'++/!(,eee TN	e
 e !e #4.e !e #4.e tne #4.e c]e 9%e era   