
    i|                     j    d dl Z d dlmZ ddlmZmZ ddlmZ ddlm	Z	 ddl
mZ  G d	 d
e          ZdS )    N)Optional   )SyncSocketStreamSyncResolver   )SyncConnector)socks4)is_ip_addressc                   \    e Zd Zdee         dee         defdZdedede	de
j        fd	Zd
S )Socks4SyncConnectoruser_idrdnsresolverc                 8    |d}|| _         || _        || _        d S )NF)_user_id_rdns	_resolver)selfr   r   r   s       e/usr/local/lib/hermes-agent/venv/lib/python3.11/site-packages/python_socks/_connectors/socks4_sync.py__init__zSocks4SyncConnector.__init__   s'     <D
!    streamhostportreturnc                    t          j                    }t          |          s0| j        s)| j                            |t          j                  \  }}t          j        ||| j	                  }|
                    |          }|                    |           |                    t           j        j                  }|                    |          }|S )N)family)r   r   r   )r	   
Connectionr
   r   r   resolvesocketAF_INETConnectRequestr   send	write_all
read_exactConnectReplySIZEreceive)	r   r   r   r   conn_requestdatareplys	            r   connectzSocks4SyncConnector.connect   s      ""T"" 	4: 	n,,~ -  GAt
 'TdmTTTyy!!  !4!9::%)\\$%7%7r   N)__name__
__module____qualname__r   strboolr   r   r   intr	   r&   r.    r   r   r   r      s        "#" tn" 	" " " "   	
 
	     r   r   )r    typingr   _abcr   r   abcr   
_protocolsr	   _helpersr
   r   r5   r   r   <module>r;      s           1 1 1 1 1 1 1 1             $ $ $ $ $ $" " " " "- " " " " "r   