o
    vvXj•  ã                   @   sÂ  d Z ddlmZmZ ddlZddlZddlZddlZzddlm	Z	 W n e
y1   ddlmZ	 Y nw e d¡Zdd„ Zd	d
„ Zh d£ZdZej d¡rfee ¡ ƒZedk rZe d¡ e ¡  d¡reh d£ZnGej d¡rre d¡ n;dejv r}e d¡ n0ej d¡r‡dhZn&ej d¡r‘dhZnej d¡r�e d¡ nej d¡r­e d¡ e d¡ ejdk rÏddlZdd„ ZeejƒZeejƒZeejƒZeejƒZnejZejZejZejZg d¢ZdS )zPlatform compatibility.é    )Úabsolute_importÚunicode_literalsN)ÚSOL_TCP)ÚIPPROTO_TCPz(\d+).+c                 C   s   t tt|  d¡d d… ƒƒS )NÚ.é   )ÚtupleÚmapÚ_versionatomÚsplit)Ús© r   úJ/var/www/html/myproject/venv/lib/python3.10/site-packages/amqp/platform.pyÚ_linux_version_to_tuple   s   r   c                 C   s2   |   ¡ rt| ƒS t | ¡}|rt| ¡ d ƒS dS )Nr   )ÚisdigitÚintÚRE_NUMÚmatchÚgroups)r   r   r   r   r   r
      s   
r
   >   ÚTCP_CORKÚ
TCP_MAXSEGÚ
TCP_SYNCNTÚTCP_KEEPCNTÚTCP_LINGER2ÚTCP_NODELAYÚTCP_KEEPIDLEÚTCP_QUICKACKÚTCP_KEEPINTVLÚTCP_DEFER_ACCEPTÚTCP_USER_TIMEOUTÚTCP_WINDOW_CLAMPÚlinux)é   é   é%   r   Ú	Microsoft>   r   r   r   r   ÚdarwinÚbsdÚwinr   ÚcygwinÚsunosr   Úaix)r"   é   r,   c                    s   t  ˆ ¡‡ fdd„ƒ}|S )Nc                    s   ˆ |   ¡ g|¢R i |¤ŽS )N)Úencode)r   ÚargsÚkwargs©Úfunr   r   Ú_innerQ   s   z_to_bytes_arg.<locals>._inner)Ú	functoolsÚwraps)r1   r2   r   r0   r   Ú_to_bytes_argP   s   r5   )ÚLINUX_VERSIONr   ÚKNOWN_TCP_OPTSÚpackÚ	pack_intoÚunpackÚunpack_from)Ú__doc__Ú
__future__r   r   ÚplatformÚreÚstructÚsysÚsocketr   ÚImportErrorr   Úcompiler   r   r
   r7   r6   Ú
startswithÚreleaseÚremoveÚendswithÚversion_infor3   r5   r8   r9   r:   r;   Ú__all__r   r   r   r   Ú<module>   s`    ÿ
	
€






