
    	hA	                         d Z ddlZddlmZmZmZ dZ ej        dej                  Z	 ej        d          Z
ded	eeeef         ee         f         fd
ZdS )z
ESMTP utils
    N)DictListTuple)parse_esmtp_extensionszauth=(?P<auth>.*))flagsz$(?P<ext>[A-Za-z0-9][A-Za-z0-9\-]*) ?messagereturnc                    i }g }|                      d          }|dd         D ] }t                              |          }|N|                    d          }|                    |                                                                           t                              |          }||                    d                                          }|j        |	                    d          d                                         }	|	||<   |dk    r1|
                    d |	                                 D                        "||fS )aj  
    Parse an EHLO response from the server into a dict of {extension: params}
    and a list of auth method names.

    It might look something like:

         220 size.does.matter.af.MIL (More ESMTP than Crappysoft!)
         EHLO heaven.af.mil
         250-size.does.matter.af.MIL offers FIFTEEN extensions:
         250-8BITMIME
         250-PIPELINING
         250-DSN
         250-ENHANCEDSTATUSCODES
         250-EXPN
         250-HELP
         250-SAML
         250-SEND
         250-SOML
         250-TURN
         250-XADR
         250-XSTA
         250-ETRN
         250-XGEN
         250 SIZE 51200000
    
   Nauthextc                 Z    g | ](}|                                                                 )S  )striplower).0params     ]/var/www/html/web-builder-api.evdpl.com/venv/lib/python3.11/site-packages/aiosmtplib/esmtp.py
<listcomp>z*parse_esmtp_extensions.<locals>.<listcomp>F   s,    "U"U"UU5;;==#6#6#8#8"U"U"U    )splitOLDSTYLE_AUTH_REGEXmatchgroupappendr   r   EXTENSIONS_REGEXstringendextend)
r   esmtp_extensions
auth_typesresponse_linesline
auth_match	auth_type
extensions	extensionparamss
             r   r   r      sF   4 J]]4((N qrr" W W )..t44
!"((00Iioo//5577888 &++D11
!"((//5577I&z~~e'<'<'>'>?EEGGF*0Y'F""!!"U"Ufllnn"U"U"UVVVZ''r   )__doc__retypingr   r   r   __all__compileIr   r   strr   r   r   r   <module>r1      s     
			 $ $ $ $ $ $ $ $ $ $ & !bj!5RTBBB 2:EFF 9(C 9(E$sCx.$s)2K,L 9( 9( 9( 9( 9( 9(r   