HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/pip/_vendor/rich/__pycache__/json.cpython-310.pyc
o

@%Ne��
@svddlmZmZddlmZmZmZmZddlm	Z	ddl
mZmZGdd�d�Z
edkr�dd	lZdd	lZejd
d�Zejdd
dd�ejdddeddd�e��ZddlmZe�Zedd�Zz'ejdkrlej��Zneejd��Z e ��ZWd	�n1s�wYWn#e!y�Z"ze�#dej�de"���e�$d�WYd	Z"["nd	Z"["wwej#e
eej%d�dd�d	Sd	S) �)�loads�dumps)�Any�Callable�Optional�Union�)�Text)�JSONHighlighter�NullHighlighterc@s�eZdZdZ								ddededeefded	ed
ededed
ee	e
ge
fdeddfdd�Ze								dde
dedeefded	ed
ededed
ee	e
ge
fdeddfdd��Z
defdd�ZdS)�JSONa_A renderable which pretty prints JSON.

    Args:
        json (str): JSON encoded data.
        indent (Union[None, int, str], optional): Number of characters to indent by. Defaults to 2.
        highlight (bool, optional): Enable highlighting. Defaults to True.
        skip_keys (bool, optional): Skip keys not of a basic type. Defaults to False.
        ensure_ascii (bool, optional): Escape all non-ascii characters. Defaults to False.
        check_circular (bool, optional): Check for circular references. Defaults to True.
        allow_nan (bool, optional): Allow NaN and Infinity values. Defaults to True.
        default (Callable, optional): A callable that converts values that can not be encoded
            in to something that can be JSON encoded. Defaults to None.
        sort_keys (bool, optional): Sort dictionary keys. Defaults to False.
    �TFN�json�indent�	highlight�	skip_keys�ensure_ascii�check_circular�	allow_nan�default�	sort_keys�returnc

CsNt|�}
t|
|||||||	d�}|rt�nt�}||�|_d|j_d|j_dS)N�r�skipkeysrrrrrT)rrr
r�text�no_wrap�overflow)�selfrrrrrrrrr�data�highlighter�r �7/usr/lib/python3/dist-packages/pip/_vendor/rich/json.py�__init__s�

z
JSON.__init__rc


CsP|�|�}
t||||||||	d�}|rt�nt�}||�|
_d|
j_d|
j_|
S)a|Encodes a JSON object from arbitrary data.

        Args:
            data (Any): An object that may be encoded in to JSON
            indent (Union[None, int, str], optional): Number of characters to indent by. Defaults to 2.
            highlight (bool, optional): Enable highlighting. Defaults to True.
            default (Callable, optional): Optional callable which will be called for objects that cannot be serialized. Defaults to None.
            skip_keys (bool, optional): Skip keys not of a basic type. Defaults to False.
            ensure_ascii (bool, optional): Escape all non-ascii characters. Defaults to False.
            check_circular (bool, optional): Check for circular references. Defaults to True.
            allow_nan (bool, optional): Allow NaN and Infinity values. Defaults to True.
            default (Callable, optional): A callable that converts values that can not be encoded
                in to something that can be JSON encoded. Defaults to None.
            sort_keys (bool, optional): Sort dictionary keys. Defaults to False.

        Returns:
            JSON: New JSON object from the given data.
        rTN)�__new__rr
rrrr)
�clsrrrrrrrrr�
json_instancerrr r r!�	from_data4s 
�

zJSON.from_datacCs|jS)N)r)rr r r!�__rich__dsz
JSON.__rich__)r
TFTTTNF)�__name__�
__module__�__qualname__�__doc__�strr�int�boolrrrr"�classmethodr&r	r'r r r r!rs|��������	�
�
���������	�
��/r�__main__NzPretty print json)�description�path�PATHzpath to file, or - for stdin)�metavar�helpz-iz--indent�SPACESzNumber of spaces in an indentr
)r4�typer5r)�ConsoleT)�stderr�-�rtzUnable to read z; ���)r)�	soft_wrap)&rrr�typingrrrrrr	rr
rrr(�argparse�sys�ArgumentParser�parser�add_argumentr-�
parse_args�args�pip._vendor.rich.consoler8�console�
error_consoler2�stdin�read�	json_data�open�	json_file�	Exception�error�print�exitrr r r r!�<module>sP`��


�����