a XC?hy �@shdZddlZzddlmZWney2dZYn0dgZe�dejej Bej B�Z dd�Z epbe ZdS)zJSON token scanner �N)� make_scannerrz)(-?(?:0|[1-9]\d*))(\.\d+)?([eE][-+]?\d+)?c sv|j� |j�|j� tj�|j� |j�|j�|j�|j �|j �|j ����������� � � f dd����fdd�}|S)Ncs�z ||}Wnty(t|�d�Yn0|dkrB� ||d� �S|dkrd� ||df� �����S|dkr~�||df��S|dkr�|||d�dkr�d|dfS|dkr�|||d�d kr�d |dfS|d k�r�|||d �d k�r�d|d fS�||�}|du�rZ|��\}}}|�s(|�rF�||�p4d|�p>d�}n�|�}||��fS|dk�r�|||d�dk�r��d�|dfS|dk�r�|||d�dk�r��d�|dfS|dk�r�|||d�dk�r�d�|dfSt|��dS)N�"��{�[�n�Znull�t�trueT�f�ZfalseF��N�ZNaN�I�ZInfinity�-� z -Infinity)� IndexError� StopIteration�groups�end)�string�idxZnextchar�mZintegerZfracZexp�res� � _scan_onceZ match_number�memo� object_hook�object_pairs_hook� parse_array�parse_constant� parse_float� parse_int� parse_object� parse_string�strict��1/opt/alt/python39/lib64/python3.9/json/scanner.pyrs@  �           z#py_make_scanner.._scan_oncecs$z�||�W���S���0dS)N)�clear)rr)rrr(r)� scan_onceAs  �z"py_make_scanner..scan_once) r%r!r&� NUMBER_RE�matchr'r#r$r"rr r)�contextr+r(rr)�py_make_scanners"%r/) �__doc__�reZ_jsonrZc_make_scanner� ImportError�__all__�compile�VERBOSE� MULTILINE�DOTALLr,r/r(r(r(r)�s  �: