https://t.me/RX1948
Server : Apache
System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User : dh_edsupp ( 6597262)
PHP Version : 8.2.26
Disable Function : NONE
Directory :  /lib/python3/dist-packages/hgext/fsmonitor/pywatchman/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/hgext/fsmonitor/pywatchman/__pycache__/pybser.cpython-310.pyc
o

�]LbH�@s.ddlmZmZmZddlZddlZddlZddlZddlZddl	m
Z
dZdZdZ
dZd	Zd
ZdZdZd
ZdZdZdZdZdZe
jrPeefZeZdd�ZeZ neefZeZdZ!dZ"dd�Z#dd�Z$Gdd�de%�Z&d.dd�Z'Gdd �d e%�Z(Gd!d"�d"e%�Z)d#d$�Z*d%d&�Z+d'd(�Z,d/d*d+�Z-d/d,d-�Z.dS)0�)�absolute_import�division�print_functionN�)�compat����������	�
���
cCst|��d�S)N�ascii)�str�encode)�i�r�C/usr/lib/python3/dist-packages/hgext/fsmonitor/pywatchman/pybser.py�tobytes<srsscCsxd|krdkrdSd|krdkrdSd|kr#dkr$d	Std
�|kr3td�kr4dStd
t|���)z5Return the smallest size int that can store the valuei�����ri���i��i�i����l����l�����zCannot represent value: )�long�RuntimeErrorr)�xrrr�	_int_sizeKs����r#cCs&||}tjrt|t�st|f�}|S�N)r�PYTHON3�
isinstance�bytes)�buf�pos�retrrr�_buf_posYs
r+c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�_bser_buffercCs�||_t�d�|_|jdkr$t�ttt��d|jdt�tt�|_	dS|jdks+J�t�ttt
��d|jdt
�tt
�|_	dS)Ni r�srr)�bser_version�ctypes�create_string_bufferr(�struct�	pack_intor�len�EMPTY_HEADER�wpos�EMPTY_HEADER_V2)�self�versionrrr�__init__bs
��z_bser_buffer.__init__cCsNt�|j�|j|kr%t�|jt�|j�d�t�|j�|j|ksdSdS)Nr)r/�sizeofr(r5�resize)r7�sizerrr�ensure_sizets�z_bser_buffer.ensure_sizecCs�t|�}|d}|�|�|dkrt�d|j|jt|�n4|dkr-t�d|j|jt|�n$|dkr=t�d|j|jt|�n|dkrMt�d|j|jt	|�nt
d	��|j|7_dS)
Nrs=cbrs=chrs=cirs=cqz Cannot represent this long value)r#r=r1r2r(r5�	BSER_INT8�
BSER_INT16�
BSER_INT32�
BSER_INT64r!)r7�valr<�to_writerrr�append_longxs
z_bser_buffer.append_longc	Cst|t�r
|�d�}t|�}t|�}d||}|�|�|dkr5t�dt|�d|j	|j
tt||�nL|dkrMt�dt|�d|j	|j
tt
||�n4|dkret�dt|�d|j	|j
tt||�n|d	kr}t�d
t|�d|j	|j
tt||�ntd��|j
|7_
dS)N�utf-8rr�=ccbr-�=cchr�=ccir�=ccqz"Cannot represent this string value)r&�unicoderr3r#r=r1r2rr(r5�BSER_BYTESTRINGr>r?r@rAr!)r7�s�s_lenr<rCrrr�
append_string�s`


�	�	�	�
z_bser_buffer.append_stringc	Cst|t�r&d}|�|�|rt}nt}t�d|j|j|�|j|7_dS|durDd}|�|�t�d|j|jt	�|j|7_dSt|t
tf�rR|�|�dSt|t
�r^|�|�dSt|t�r~d}|�|�t�d|j|jt|�|j|7_dSt|tj��rt|tj��rt|�}t|�}d|}|�|�|dkr�t�d|j|jtt|�n7|dkr�t�d|j|jtt|�n&|dkr�t�d	|j|jtt|�n|d
kr�t�d|j|jtt|�ntd��|j|7_tjr�|��}n|��}|D]\}}|�|�|� |�q�dSt|tj!��r�t|tj��r�t|�}t|�}d|}|�|�|dk�r<t�d|j|jt"t|�n:|dk�rNt�d|j|jt"t|�n(|dk�r`t�d	|j|jt"t|�n|d
k�rrt�d|j|jt"t|�ntd
��|j|7_|D]}|� |��qdStd��)Nrs=c�	s=cdrrFrGrrHrrIz#Cannot represent this mapping valuez$Cannot represent this sequence valuez#Cannot represent unknown value type)#r&�boolr=�	BSER_TRUE�
BSER_FALSEr1r2r(r5�	BSER_NULL�intr rD�STRING_TYPESrN�float�	BSER_REAL�collections�Mapping�Sizedr3r#�BSER_OBJECTr>r?r@rAr!rr%�items�	iteritems�append_recursive�Iterable�
BSER_ARRAY)	r7rB�needed�	to_encode�val_lenr<r]�k�vrrrr^�s�





�
����	

��

�
�
�
�	�z_bser_buffer.append_recursiveN)�__name__�
__module__�__qualname__r9r=rDrNr^rrrrr,as3r,cCs�t|d�}|�|�|dkr|jtt�}t�d|jd|�n|jtt�}t�d|jd|�t�d|jd|�|jj	d|j�S)N)r8r�=i�r�)
r,r^r5r3r4r1r2r(r6�raw)�objr8�capabilities�bser_buf�obj_lenrrr�dumps7s

rqc@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�_BunserDict��_keys�_valuescCs||_||_dSr$rs)r7�keys�valuesrrrr9Ks
z_BunserDict.__init__cCs
|�|�Sr$)�__getitem__)r7�namerrr�__getattr__O�
z_BunserDict.__getattr__cCs^t|ttf�r|j|S|�d�r|dd�}z
|j|j�|�WSty.td|��w)N�st_rjz_BunserDict has no key %s)	r&rTr ru�
startswithrt�index�
ValueError�KeyError)r7�keyrrrrxRs

�z_BunserDict.__getitem__cCs
t|j�Sr$)r3rt)r7rrr�__len__^r{z_BunserDict.__len__N)rfrgrh�	__slots__r9rzrxr�rrrrrrHsrrc@sReZdZddd�Zedd��Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�BunserTNcCs:||_||_|durd|_dS|durd|_dS||_dS)N�strict��mutable�value_encoding�value_errors)r7r�r�r�rrrr9cs


zBunser.__init__cCs�zt||�}Wntytd��w|tkrd}d}n)|tkr%d}d}n |tkr.d}d}n|tkr7d}d	}ntd
t�|��	d�|f��t
�|||d�d
}|||fS)Nz+Invalid bser int encoding, pos out of rangers=brjs=h�rirOs=qz-Invalid bser int encoding 0x%s at position %srrr)r+�
IndexErrorrr>r?r@rA�binascii�hexlify�decoder1�unpack_from)r(r)�int_typera�fmt�int_valrrr�	unser_intns0���zBunser.unser_intcCs@|�||d�\}}t�t|�d||�d}|�d�||fS)Nrr-rrE)r�r1r�rr��r7r(r)�str_len�str_valrrr�unser_utf8_string�szBunser.unser_utf8_stringcCsT|�||d�\}}t�t|�d||�d}|jdur$|�|j|j�}|||fS)Nrr-r)r�r1r�rr�r�r�r�rrr�unser_bytestring�s

zBunser.unser_bytestringcCsV|�||d�\}}g}t|�D]}|�||�\}}|�|�q|js't|�}||fS�Nr)r��range�loads_recursive�appendr��tuple)r7r(r)�arr_len�arr�_�arr_itemrrr�unser_array�szBunser.unser_arrayc
Cs�|�||d�\}}|jri}ng}g}t|�D]$}|�||�\}}|�||�\}	}|jr2|	||<q|�|�|�|	�q|jsEt||�}||fSr�)r�r�r�r�r�r�rr)
r7r(r)rprmrv�valsr�r�rBrrr�unser_object�s


zBunser.unser_objectcCs�t||d�}|tkrtd��t|jdd�}|�||d�\}}|�||�\}}g}t|�D]G}|jr6i}	ng}
tt|��D])}t||�t	krN|d7}d}n|�
||�\}}|jrb||}
||	|
<q>|
�|�q>|jspt||
�}	|�|	�q.||fS)NrzExpect ARRAY to follow TEMPLATErE)r�r�)
r+r`r!r�r�r�r�r�r3�	BSER_SKIPr�r�rr)r7r(r)�val_type�keys_bunserrv�nitemsr�r�rmr��keyidx�eler�rrr�unser_template�s0

zBunser.unser_templatecCst||�}|tks|tks|tks|tkr|�||�S|tkr0t�d||d�d}||dfS|t	kr:d|dfS|t
krDd|dfS|tkrNd|dfS|tkrX|�
||�S|tkrb|�||�S|tkrl|�||�S|tkrv|�||�S|tkr�|�||�Stdt�|��d���)	Ns=drrrOTFzunhandled bser opcode 0x%sr)r+r>r?r@rAr�rWr1r�rQrRrSrKr��BSER_UTF8STRINGr�r`r�r[r��
BSER_TEMPLATEr�rr�r�r�)r7r(r)r�rBrrrr��s<
��zBunser.loads_recursive�TNN)rfrgrhr9�staticmethodr�r�r�r�r�r�r�rrrrr�bs

"r�cCs�|dd�tdd�krd}d}t�|d�\}}n.|dd�tdd�krCt|�dkr/td��d}t�d|d�d}t�|d�\}}ntd��||||fS)NrrrrzInvalid BSER header�I�)r4r�r�r6r3rr1r�)r(r.�bser_capabilities�expected_len�pos2rrr�_pdu_info_helper�sr�cCs&t|�}|d|d|d|dfS)Nrrrrj�r��r(�inforrr�pdu_info
sr�cCst|�}|d|dS)Nrrjr�r�rrr�pdu_lensr�TcCs^t|�}|d}|d}t|�||kr td||t|�f��t|||d�}|�||�dS)auDeserialize a BSER-encoded blob.

    @param buf: The buffer to deserialize.
    @type buf: bytes

    @param mutable: Whether to return mutable results.
    @type mutable: bool

    @param value_encoding: Optional codec to use to decode values. If
                           unspecified or None, return values as bytestrings.
    @type value_encoding: str

    @param value_errors: Optional error handler for codec. 'strict' by default.
                         The other most common argument is 'surrogateescape' on
                         Python 3. If value_encoding is None, this is ignored.
    @type value_errors: str
    rrjz!bser data len %d != header len %dr�r)r�r3rr�r�)r(r�r�r�r�r�r)�bunserrrr�loadss��r�cCsddlm}|�||||�S)Nr)�load)�r�)�fpr�r�r�r�rrrr�<sr�)rrr�)/�
__future__rrrr�rXr/r1�sysr�rr`r[rKr>r?r@rArWrQrRrSr�r�r�r%rr'rUrJrrTr r4r6r#r+�objectr,rqrrr�r�r�r�r�r�rrrr�<module>sV
W
%

https://t.me/RX1948 - 2025