o
    �õ±jˆ  ã                   @   s°   d dl Z d dlZG dd„ de jƒZG dd„ de jƒZG dd„ de jƒZejejfdejejfd	ej	ej
fd
ej	ejfdej	ejfdej	ejfdejej
fdiZG dd„ dƒZdS )é    Nc                   @   s   e Zd ZdZdZdS )ÚNTLMRevisionCurrenté   éÿ   N)Ú__name__Ú
__module__Ú__qualname__ÚNTLMSSP_REVISION_W2K3ÚNTLMSSP_REVISION_UNK© r
   r
   úœ/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/asyauth/protocols/ntlm/structures/version.pyr      s    r   c                   @   s   e Zd ZdZdZdZdZdS )ÚWindowsMajorVersionr   é   é   é
   N)r   r   r   ÚWINDOWS_MAJOR_VERSION_UNKÚWINDOWS_MAJOR_VERSION_5ÚWINDOWS_MAJOR_VERSION_6ÚWINDOWS_MAJOR_VERSION_10r
   r
   r
   r   r   
   s
    r   c                   @   s    e Zd ZdZdZdZdZdZdS )ÚWindowsMinorVersionr   r   é   é   é   N)r   r   r   ÚWINDOWS_MINOR_VERSION_UNKÚWINDOWS_MINOR_VERSION_0ÚWINDOWS_MINOR_VERSION_1ÚWINDOWS_MINOR_VERSION_2ÚWINDOWS_MINOR_VERSION_3r
   r
   r
   r   r      s    r   z0Windows XP operating system Service Pack 2 (SP2)zWindows Server 2003z$Windows Vista or Windows Server 2008z#Windows 7 or Windows Server 2008 R2z1Windows 8 or Windows Server 2012 operating systemz%Windows 8.1 or Windows Server 2012 R2z!Windows 10 or Windows Server 2016c                   @   sT   e Zd Zdd„ Zeejejdfdd„ƒZ	dd„ Z
edd	„ ƒZed
d„ ƒZdd„ ZdS )ÚVersionc                 C   s(   d | _ d | _d | _d| _d | _d | _d S )Nr   )ÚProductMajorVersionÚProductMinorVersionÚProductBuildÚReservedr   ÚWindowsProduct)Úselfr
   r
   r   Ú__init__&   s   
zVersion.__init__i×:  c                 C   s$   t ƒ }| |_||_||_tj|_|S ©N)r   r   r   r    r   r   )ÚmajorÚminorÚbuildÚvr
   r
   r   Ú	construct0   s   zVersion.constructc                 C   st   | j jjdddd�}|| jjjdddd�7 }|| jjdddd�7 }|| jjdddd�7 }|| jjjdddd�7 }|S ©Nr   ÚlittleF)Ú	byteorderÚsignedr   r   )r   ÚvalueÚto_bytesr   r    r!   r   ©r#   Útr
   r
   r   r0   :   s   zVersion.to_bytesc                 C   s   t  t | ¡¡S r%   )r   Úfrom_bufferÚioÚBytesIO)Úbbuffr
   r
   r   Ú
from_bytesB   s   zVersion.from_bytesc                 C   sò   t ƒ }zttj|  d¡ddd�ƒ|_W n   tj|_Y zttj|  d¡ddd�ƒ|_W n   tj	|_Y tj|  d¡ddd�|_
tj|  d¡ddd�|_zttj|  d¡ddd�ƒ|_W n   tj|_Y zt|j|jf |_W |S    Y |S r+   )r   r   Úintr7   Úreadr   r   r   r   r   r    r!   r   r	   r"   )Úbuffr)   r
   r
   r   r3   F   s*    
 
 
ýzVersion.from_bufferc                 C   sT   d}|dt | jjƒ 7 }|dt | jjƒ 7 }|dt | jƒ 7 }|dt | jƒ 7 }|S )Nz== NTLMVersion ==
zProductMajorVersion  : %s
zProductMinorVersion  : %s
zProductBuild         : %s
zWindowsProduct       : %s
)Úreprr   Únamer   r    r"   r1   r
   r
   r   Ú__repr__^   s   zVersion.__repr__N)r   r   r   r$   Ústaticmethodr   r   r   r   r*   r0   r7   r3   r=   r
   r
   r
   r   r   %   s    
	

r   )Úenumr4   ÚEnumr   r   r   r   r   r   r   r   r   r   r"   r   r
   r
   r
   r   Ú<module>   s    	ù