
    @OOf                         d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlm	Z	  e
       Z ed      dedefd	       Zd
edee	j                     fdZ G d de	j                         Zy)    N)Iterator)	lru_cache)Any)base   sreturnc                 v    	 t        j                  | j                  d            S # t        $ r	 t        cY S w xY w)Nzutf-8)jsonloadsdecode
ValueErrorPARSE_ERROR)r   s    \/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/mitmproxy/contentviews/json.py
parse_jsonr      s4    zz!((7+,, s   #& 88datac              #     K   t        j                  ddd      }g }|j                  |       D ]
  }d|v r/|j                  dd      \  }}|j	                  d|f       | g }t        j                  d	|      rWt        |      dk(  r5|d
   d
   dk(  r*|d
   d   j                         r|j	                  d|f       |j	                  d|f       t        j                  d|      r|j	                  d|f       t        j                  d|      r|j	                  d|f       |j	                  d|f        | y w)N   TF)indent	sort_keysensure_ascii
r   )maxsplittextz\s*"r   Token_Name_TagToken_Literal_Stringz\s*\dToken_Literal_Numberz\s*(true|null|false)Token_Keyword_Constant)	r   JSONEncoder
iterencodesplitappendrematchlenisspace)r   encodercurrent_linechunkrest_of_last_lines        r   format_jsonr+      s?    a4eLG#%L##D) 15=',{{4!{'D$u): ;<L88GU#L!Q& OA&&0 OA&..0##%5u$=>##%;U$CDXXh&!7 ?@XX-u5!95 AB0+1, s   D?Ec                   6    e Zd ZdZd Zdddededz  defdZy)	ViewJSONJSONc                 D    t        |      }|t        urdt        |      fS y )Nr.   )r   r   r+   )selfr   metadatas      r   __call__zViewJSON.__call__3   s)    ${";t,,, #    N)content_typer   r4   r	   c                ^    |sy|dv ry|r#|j                  d      r|j                  d      ryy)Nr   )zapplication/jsonzapplication/json-rpcr   zapplication/z+json)
startswithendswith)r0   r   r4   r1   s       r   render_priorityzViewJSON.render_priority8   sA      
 
 ''7%%g.r3   )	__name__
__module____qualname__namer2   bytesstrfloatr8    r3   r   r-   r-   0   s2    D- :>,/$J	r3   r-   )r   r#   collections.abcr   	functoolsr   typingr   mitmproxy.contentviewsr   objectr   r=   r   	TViewLiner+   Viewr-   r@   r3   r   <module>rH      sp     	 $   'h 1% C  c ht~~6 8tyy r3   