����JFIF��`�`�����Viewing File: /lib/python3.9/site-packages/elftools/construct/lib/__pycache__/bitstream.cpython-39.pyc
a

�#�_��@s4ddlmZmZGdd�de�ZGdd�de�ZdS)�)�
encode_bin�
decode_binc@s>eZdZgd�Zdd�Zdd�Zdd�Zdd	d
�Zdd�Zd
S)�BitStreamReader)�	substream�buffer�
total_sizecCs||_d|_d|_dS)N��)rrr��selfr�r�D/usr/lib/python3.9/site-packages/elftools/construct/lib/bitstream.py�__init__szBitStreamReader.__init__cCs|jddkrtd|j��dS)N�rz/total size of read data must be a multiple of 8)r�
ValueError�rrrr
�closes�zBitStreamReader.closecCs
|j��S�N)r�tellrrrr
rszBitStreamReader.tellrcCsd|_d|_|j�||�dS�Nr	r)rrr�seek�r�pos�whencerrr
rszBitStreamReader.seekcCs�|dkrtd��t|j�}|dkr(d}n|||krP|jd|�}|j|d�|_nT|j}||8}|d}|d@rv|d7}t|j�|��}||d|�7}||d�|_|jt|�7_|S)Nrzcount cannot be negativer	r�r)r�lenrrr�readr)r�count�l�data�bytes�bufrrr
rs$
zBitStreamReader.readN)r)	�__name__�
__module__�__qualname__�	__slots__rrrrrrrrr
rs
rc@sFeZdZgd�Zdd�Zdd�Zdd�Zdd	�Zddd�Zd
d�Z	dS)�BitStreamWriter�rrrcCs||_g|_d|_dS)Nrr'r
rrr
r3szBitStreamWriter.__init__cCs|��dSr)�flushrrrr
r8szBitStreamWriter.closecCs,td�|j��}|j�|�g|_d|_dSr)r�joinrr�writer)rr rrr
r(;szBitStreamWriter.flushcCs|j��|jdS)Nr)rrrrrrr
rAszBitStreamWriter.tellrcCs|��|j�||�dSr)r(rrrrrr
rDszBitStreamWriter.seekcCs6|sdSt|�tur&tdt|�f��|j�|�dS)Nzdata must be a string, not %r)�type�str�	TypeErrorr�append)rrrrr
r*Hs
zBitStreamWriter.writeN)r)
r"r#r$r%rrr(rrr*rrrr
r&/s
r&N)Zbinaryrr�objectrr&rrrr
�<module>s,
Back to Directory �������}�!1AQa"q2���#B��R��$3br� %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�������������������������������������������������������������������������������� ������w�!1AQaq"2�B���� #3R�br� $4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������ ��?��_��+��?��(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(�����