
    5bh0              	          	 d dl Z d dlmZ 	 d dlmZ ddgZe j                  e j                  z  e j                  z  Z ed      Z ed      Z ed      Z G d	 de      Zeeed
Z e j&                  de      Z e j&                  de      ZdddddddddZej.                  fdZdeej.                  fdZexs eZ e j&                  de      ZdZdej.                  efdZej.                  efdZ G d de      Zy# e$ r dZY w xY w)    N)scanner)
scanstringJSONDecoderJSONDecodeErrornaninfz-infc                       e Zd Z	 d Zd Zy)r   c                     |j                  dd|      dz   }||j                  dd|      z
  }d||||fz  }t        j                  | |       || _        || _        || _        || _        || _        y )N
r      z%s: line %d column %d (char %d))	countrfind
ValueError__init__msgdocposlinenocolno)selfr   r   r   r   r   errmsgs          6/opt/python-3.12.12/usr/lib/python3.12/json/decoder.pyr   zJSONDecodeError.__init__   sv    4C(1,ciia--2c65#5NND&)
    c                 `    | j                   | j                  | j                  | j                  ffS N)	__class__r   r   r   )r   s    r   
__reduce__zJSONDecodeError.__reduce__*   s$    ~~$((DHH===r   N)__name__
__module____qualname__r   r    r   r   r   r      s    	>r   )z	-InfinityInfinityNaNz[0-9A-Fa-f]{4}z(.*?)(["\\\x00-\x1f])"\/r   	)r$   r%   r&   bfnrtc                      || |dz         }|	 t        |j                         d      S d}t        || |      # t        $ r Y w xY w)Nr      zInvalid \uXXXX escape)intgroupr   r   )sr   _mescr   s        r   _decode_uXXXXr7   <   sX    
Qa.C
	syy{B'' #C
#q#
&&  		s   9 	AATc                    	 g }|j                   }|dz
  }	  || |      }|t        d| |      |j                         }|j                         \  }	}
|	r ||	       |
dk(  rn|
dk7  r)|rdj	                  |
      }t        || |       ||
       z	 | |   }|dk7  r	 ||   }|dz  }nht        | |      }|dz  }d	|cxk  rd
k  rAn n>| ||dz    dk(  r3t        | |dz         }d|cxk  rdk  rn nd|d	z
  dz  |dz
  z  z   }|dz  }t        |      } ||       dj                  |      |fS # t
        $ r t        d| |      d w xY w# t        $ r dj	                  |      }t        || |      w xY w)Nr   zUnterminated string starting atr$   r%   z"Invalid control character {0!r} atuzInvalid \escape: {0!r}   i   i     z\ui   i  i   
       )
appendr   endgroupsformat
IndexErrorKeyErrorr7   chrjoin)r4   r@   strict_br5   chunks_appendbeginchunkcontent
terminatorr   r6   charuniuni2s                   r   py_scanstringrR   F   s    FmmG!GE
1c
=!"CQNNiik#llnG 4:AA*M%c1c22
#	6C&C
 #:3#w 1HC3'C1HC&&1Sq>U+B$Qa0T+V+!sV|&:tf}%MNC1HCs8DW X 776?C+  	6!"C"#U,156	6  3/66s;%c1c223s   D+ E +E(E.z
[ \t\n\r]*z 	
c                 L   | \  }}	g }
|
j                   }|i }|j                  }||	|	dz    }|dk7  r^||v r |||	      j                         }	||	|	dz    }|dk(  r$| ||
      }||	dz   fS i }
| ||
      }
|
|	dz   fS |dk7  rt        d||	      |	dz  }		 t	        ||	|      \  }}	 |||      }||	|	dz    dk7  r/ |||	      j                         }	||	|	dz    dk7  rt        d||	      |	dz  }		 ||	   |v r&|	dz  }	||	   |v r |||	dz         j                         }		  |||	      \  }}	 |||f       	 ||	   }||v r |||	dz         j                         }	||	   }|	dz  }	|dk(  rnP|d	k7  rt        d
||	dz
         |||	      j                         }	||	|	dz    }|	dz  }	|dk7  rt        d||	dz
        !| ||
      }||	fS t        |
      }
| ||
      }
|
|	fS # t
        $ r Y w xY w# t        $ r}t        d||j                        d d }~ww xY w# t
        $ r d}Y w xY w)Nr   r$   }z1Expecting property name enclosed in double quotes:zExpecting ':' delimiterExpecting valuer>   ,Expecting ',' delimiter)	r?   
setdefaultr@   r   r   rC   StopIterationvaluedict)	s_and_endrG   	scan_onceobject_hookobject_pairs_hookmemo_w_wsr4   r@   pairspairs_appendmemo_getnextcharresultkeyr[   errs                     r   
JSONObjectrk      s   FAsE<<L|H S1W~H3s?Q*.."CS1W~Hs? ,*51sQw&E&#E*#'>!_!CQM M1HC
af-SsC  Sq>S Q*.."CS1W~$%&?CHHq	v}qS6S=Qa.,,.C	M"1c*JE3 	c5\"	vH3C!Gn((*S6 	qs?_!";QaHHCjnnSq>qs?!CQaQ QS V $"5)s{KEE"#:C  		
  	M!"3Q		BL	M  	H	s<   .-G G, 3(H 	G)(G),	H5HHH#"H#c                 :   | \  }}g }|||dz    }||v r" |||dz         j                         }|||dz    }|dk(  r||dz   fS |j                  }	 	  |||      \  }	} ||	       |||dz    }||v r" |||dz         j                         }|||dz    }|dz  }|dk(  r	 ||fS |dk7  rt        d||dz
        	 ||   |v r&|dz  }||   |v r |||dz         j                         }# t        $ r}
t        d||
j                        d d }
~
ww xY w# t
        $ r Y 5w xY w)Nr   ]rV   rW   rX   )r@   r?   rZ   r   r[   rC   )r]   r^   rb   rc   r4   r@   valuesrg   rJ   r[   rj   s              r   	JSONArrayro      s   FAsFS1W~H3C!Gn  "Sq>3sQwmmG
	M"1c*JE3 	Sq>s?Qa.$$&CS1W~Hqs? 3; _!";QaHH	v}qS6S=Qa.,,.C'   	M!"3Q		BL	M"  		s*   C% 7-D %	D.DD	DDc                   J    e Zd Z	 ddddddddZej
                  fdZddZy)r   NT)r_   parse_float	parse_intparse_constantrG   r`   c                "   	 || _         |xs t        | _        |xs t        | _        |xs t
        j                  | _        || _        || _	        t        | _        t        | _        t        | _        i | _        t#        j$                  |       | _        y r   )r_   floatrq   r2   rr   
_CONSTANTS__getitem__rs   rG   r`   rk   parse_objectro   parse_arrayr   parse_stringra   r   make_scannerr^   )r   r_   rq   rr   rs   rG   r`   s          r   r   zJSONDecoder.__init__  s~    	@ '&/%")c,F
0F0F!2&$&	 --d3r   c                     	 | j                  | ||d      j                               \  }} |||      j                         }|t        |      k7  rt        d||      |S )Nr   )idxz
Extra data)
raw_decoder@   lenr   )r   r4   rb   objr@   s        r   decodezJSONDecoder.decodeM  s\    	 ??1"Q(,,.?9SCjnn#a&=!,377
r   c                     	 	 | j                  ||      \  }}||fS # t        $ r}t        d||j                        d d }~ww xY w)NrV   )r^   rZ   r   r[   )r   r4   r}   r   r@   rj   s         r   r~   zJSONDecoder.raw_decodeX  sV    		M~~a-HC Cx  	M!"3Q		BL	Ms    	A=A)r   )r   r   r    r   
WHITESPACEmatchr   r~   r!   r   r   r   r      s3    : '+4"-4` &++ 	r   ) rejsonr   _jsonr   c_scanstringImportError__all__VERBOSE	MULTILINEDOTALLFLAGSru   r#   PosInfNegInfr   r   rv   compile	HEXDIGITSSTRINGCHUNK	BACKSLASHr   r7   rR   r   WHITESPACE_STRrk   ro   objectr   r!   r   r   <module>r      sO   	 0 +
,


R\\!BII-El	u	v>j >6 
 BJJ(%0	bjj159	Ds	Dt$T	
 '__ ' "&**9 z *]
RZZu-
 Z-->Ob (2'7'7^ "Jf& fo  Ls   C? ?D	D	