Mini Shell
a
�DOgy � @ sh d Z ddlZzddlmZ W n ey2 dZY n0 dgZe�dejej B ej
B �Zdd� ZepbeZdS )zJSON token scanner
� N)�make_scannerr z)(-?(?:0|[1-9]\d*))(\.\d+)?([eE][-+]?\d+)?c sv | j � | j�| j�
tj�| j�| j�| j�| j�| j �| j
�| j�� ��������� �
�fdd�� � �fdd�}|S )Nc s� z| | }W n t y( t|�d �Y n0 |dkrB�
| |d ��S |dkrd� | |d f�� ����S |dkr~�| |d f� �S |dkr�| ||d � dkr�d |d fS |dkr�| ||d � d kr�d
|d fS |dk� r�| ||d � d
k� r�d|d fS �| |�}|d u�rZ|�� \}}}|�s(|�rF�||�p4d |�p>d �}n�|�}||�� fS |dk�r�| ||d � dk�r��d�|d fS |dk�r�| ||d � dk�r��d�|d fS |dk�r�| ||d � dk�r�d�|d fS t|��d S )N�"� �{�[�n� Znull�t�trueT�f� ZfalseF� �N� ZNaN�I� ZInfinity�-� z -Infinity)�
IndexError�
StopIteration�groups�end)�string�idxZnextchar�mZintegerZfrac�exp�res��
_scan_onceZmatch_number�memo�object_hook�object_pairs_hook�parse_array�parse_constant�parse_float� parse_int�parse_object�parse_string�strict� �$/usr/lib64/python3.9/json/scanner.pyr s@ �
z#py_make_scanner.<locals>._scan_oncec s$ z� | |�W �� � S �� � 0 d S )N)�clear)r r )r r r) r* � scan_onceA s
�z"py_make_scanner.<locals>.scan_once)r&