o
    �õ±j0  ã                   @   s(   d dl mZ 	 d dlZG dd„ dƒZdS )é    )ÚSECURITY_DESCRIPTORNc                   @   s4   e Zd Zdd„ Zedd„ ƒZedd„ ƒZdd„ Zd	S )
ÚNTRegistrySKc                 C   s.   d| _ d | _d | _d | _d | _d | _d | _d S )Ns   sk)ÚmagicÚunknownÚoffset_prevÚoffset_nextÚreference_cntÚsd_sizeÚsd)Úself© r   úŠ/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/aiowinreg/filestruct/sk.pyÚ__init__	   s   
zNTRegistrySK.__init__c                 C   s   t  t | ¡¡S )N)r   Úfrom_bufferÚioÚBytesIO)Údatar   r   r   Ú
from_bytes   s   zNTRegistrySK.from_bytesc                 C   s¬   t ƒ }|  d¡|_tj|  d¡ddd�|_tj|  d¡ddd�|_tj|  d¡ddd�|_tj|  d¡ddd�|_tj|  d¡ddd�|_	|j	dkrTt
 |  |j	¡¡|_|S )Né   ÚlittleF)Úsignedé   é   )r   Úreadr   Úintr   r   r   r   r   r	   r   r
   )ÚbuffÚskr   r   r   r      s   
zNTRegistrySK.from_bufferc                 C   s*   d}| j D ]}|d|| j | f 7 }q|S )Nz== NT Registry SK block ==
z	%s: %s 
)Ú__dict__)r   ÚtÚkr   r   r   Ú__str__#   s   
zNTRegistrySK.__str__N)Ú__name__Ú
__module__Ú__qualname__r   Ústaticmethodr   r   r    r   r   r   r   r      s    	

r   )Úwinacl.dtyp.security_descriptorr   r   r   r   r   r   r   Ú<module>   s    