add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
U

�AT^�0c	@sddlZddlmZzddlmZWnek
r<dZYnXddgZejej	Bej
BZed�Z
ed�Zed�ZGd	d�de�Zeee
d
�Ze�de�Zdd
ddddddd�Zdd�Zdeejfdd�Zep�eZe�de�ZdZdejefdd�Zejefdd�ZGd d�de�ZdS)!�N)�scanner)�
scanstring�JSONDecoder�JSONDecodeErrorZnanZinfz-infc@seZdZdd�Zdd�ZdS)rcCsb|�dd|�d}||�dd|�}d||||f}t�||�||_||_||_||_||_dS)N�
r�z%s: line %d column %d (char %d))	ZcountZrfind�
ValueError�__init__�msg�doc�pos�lineno�colno)�selfr	r
rrr
Zerrmsg�r�$/usr/lib64/python3.8/json/decoder.pyrszJSONDecodeError.__init__cCs|j|j|j|jffS�N)Z	__class__r	r
r)rrrr�
__reduce__*szJSONDecodeError.__reduce__N)�__name__�
__module__�__qualname__rrrrrrrs)z	-InfinityZInfinity�NaNz(.*?)(["\\\x00-\x1f])�"�\�/zzrz
z	)rrrZbZfZnZrZtcCsb||d|d�}t|�dkrN|ddkrNzt|d�WStk
rLYnXd}t|||��dS)Nr�iZxXizInvalid \uXXXX escape)�len�intrr)�sr�escr	rrr�
_decode_uXXXX;srTcCs�g}|j}|d}|||�}|dkr0td||��|��}|��\}	}
|	rP||	�|
dkr^�q�n.|
dkr�|r�d�|
�}t|||��n
||
�qz||}Wn"tk
r�td||�d�YnX|dk�rz||}
Wn*tk
r�d�|�}t|||��YnX|d7}n�t||�}|d7}d	|k�r2d
k�r�nn`|||d�dk�r�t||d�}d
|k�rrdk�r�nn d|d	d>|d
B}|d7}t|�}
||
�qd�	|�|fS)NrzUnterminated string starting atrrz"Invalid control character {0!r} atZuzInvalid \escape: {0!r}ri�i��iz\ui�i��ii
i�)
�appendr�endZgroupsZformat�
IndexErrorZKeyErrorrZchrZjoin)rr"�strictZ_bZ_mZchunks�_appendZbeginZchunkZcontentZ
terminatorr	rZcharZuniZuni2rrr�
py_scanstringEsX


��



2
r&z
[ \t\n\r]*z 	

c
Cs�|\}}	g}
|
j}|dkri}|j}||	|	d�}
|
dkr�|
|krb|||	���}	||	|	d�}
|
dkr�|dk	r�||
�}||	dfSi}
|dk	r�||
�}
|
|	dfS|
dkr�td||	��|	d7}	t||	|�\}}	|||�}||	|	d�dk�r"|||	���}	||	|	d�dk�r"td||	��|	d7}	z:||	|k�rb|	d7}	||	|k�rb|||	d���}	Wntk
�rzYnXz|||	�\}}	Wn4tk
�r�}ztd||j�d�W5d}~XYnX|||f�z0||	}
|
|k�r�|||	d���}	||	}
Wntk
�rd}
YnX|	d7}	|
dk�r4�q�n|
d	k�rNtd
||	d��|||	���}	||	|	d�}
|	d7}	|
dkr�td||	d��q�|dk	�r�||
�}||	fSt|
�}
|dk	�r�||
�}
|
|	fS)NrrZ}z1Expecting property name enclosed in double quotesz:zExpecting ':' delimiter�Expecting valuer �,�Expecting ',' delimiter)	r!Z
setdefaultr"rrr#�
StopIteration�valueZdict)�	s_and_endr$�	scan_once�object_hook�object_pairs_hook�memo�_w�_wsrr"ZpairsZpairs_appendZmemo_get�nextcharZresultZkeyr+�errrrr�
JSONObject�s��
"



�

r5c
Cst|\}}g}|||d�}||krF|||d���}|||d�}|dkrZ||dfS|j}z|||�\}	}Wn2tk
r�}
ztd||
j�d�W5d}
~
XYnX||	�|||d�}||kr�|||d���}|||d�}|d7}|dkr��qln|dk�rtd||d��z:|||k�rP|d7}|||k�rP|||d���}Wq`tk
�rhYq`Xq`||fS)Nrz]r'r(r))r"r!r*rr+r#)r,r-r1r2rr"Zvaluesr3r%r+r4rrr�	JSONArray�s>"
r6c@s<eZdZddddddd�dd�Zejfdd�Zdd	d
�ZdS)rNT)r.�parse_float�	parse_int�parse_constantr$r/cCsZ||_|pt|_|pt|_|p"tj|_||_||_	t
|_t|_
t|_i|_t�|�|_dSr)r.�floatr7rr8�
_CONSTANTSZ__getitem__r9r$r/r5Zparse_objectr6Zparse_arrayrZparse_stringr0rZmake_scannerr-)rr.r7r8r9r$r/rrrrs#

zJSONDecoder.__init__cCsF|j|||d���d�\}}|||���}|t|�krBtd||��|S)Nr)�idxz
Extra data)�
raw_decoder"rr)rrr1�objr"rrr�decodeLs
zJSONDecoder.decoderc
CsPz|�||�\}}Wn2tk
rF}ztd||j�d�W5d}~XYnX||fS)Nr')r-r*rr+)rrr<r>r"r4rrrr=Ws
	"zJSONDecoder.raw_decode)r)rrrr�
WHITESPACE�matchr?r=rrrrr�s�0)ZreZjsonrZ_jsonrZc_scanstringZImportErrorZ__all__ZVERBOSEZ	MULTILINEZDOTALLZFLAGSr:rZPosInfZNegInfrrr;ZcompileZSTRINGCHUNKZ	BACKSLASHrrAr&r@ZWHITESPACE_STRr5r6ZobjectrrrrrZ<module>sN
��
�
=�
Q%