U
    [e                     @   sz   zd dl mZ W nd ek
rt   d dlmZ er2n>d dlZd dl Z G dd dejZejj	j
Z
ejj	jZdd ZY nX dS )    )	inet_pton)TYPE_CHECKINGNc                   @   s@   e Zd Zdejfdejfdejd fdejd fdejfgZdS )	SockAddr	sa_familyZ__pad1	ipv4_addr   	ipv6_addr   Z__pad2N)	__name__
__module____qualname__ctypesZc_shortZc_ushortZc_byteZc_ulongZ_fields_ r   r   S/var/www/html/services/stratfitenv/lib/python3.8/site-packages/hyperlink/_socket.pyr      s   r   c                 C   s   t  }|d}| |_tt|}ztjdtjdi|  \}}W n t	k
r`   t
dY nX t|| d t|t|dkrt
t tt|||S )Nascii)r   r   )r   r	   zunknown address familyr   )r   encoder   r   c_intZsizeofsocketAF_INETAF_INET6KeyErrorerrorWSAStringToAddressAZbyrefFormatErrorZ	string_atgetattr)address_familyZ	ip_stringaddrZip_string_bytesZ	addr_size	attributesizer   r   r   r      s4    
  
r   )r   r   ImportErrortypingr   r   Z	Structurer   windllZws2_32r   ZWSAAddressToStringAr   r   r   r   <module>   s   	

