o
0i0 @ s d dl Z d dlmZ zd dlmZ W n ey dZY nw ddgZe je j B e j
B ZedZ
edZedZG d d deZeee
d
Ze deZdd
dddddddZdd ZdeejfddZepgeZe deZdZdejefddZejefddZG d d deZdS )! N)scanner)
scanstringJSONDecoderJSONDecodeErrornaninfz-infc @ s e Zd Z dd Zdd ZdS )r c C sb | dd|d }||dd| }d||||f }t| | || _|| _|| _|| _|| _d S )N
r z%s: line %d column %d (char %d)) countrfind
ValueError__init__msgdocposlinenocolno)selfr r r r r errmsg r 3/opt/alt/python310/lib64/python3.10/json/decoder.pyr
s
zJSONDecodeError.__init__c C s | j | j| j| jffS N) __class__r r r )r r r r
__reduce__* s zJSONDecodeError.__reduce__N)__name__
__module____qualname__r
r r r r r r s
)z -InfinityZInfinityNaNz(.*?)(["\\\x00-\x1f])"\/r
)r r r bfnrtc C s\ | |d |d }t |dkr&|d dvr&zt|dW S ty% Y nw d}t|| |)Nr ZxX zInvalid \uXXXX escape)lenintr r )sr escr r r r
_decode_uXXXX; s r1 Tc C s g }|j }|d } || |}|d u rtd| || }| \} }
| r*|| |
dkr/n|
dkrE|r@d|
}t|| |||
q
z| | }W n tyY td| |d w |dkr|z|| }
W n tyv d|}t|| |w |d7 }nFt| |}|d7 }d | krd
krn n-| ||d dkrt| |d }d
| krdkrn nd|d d> |d
B }|d7 }t|}
||
qd ||fS )Nr zUnterminated string starting atr r z"Invalid control character {0!r} atuzInvalid \escape: {0!r}r* i i z\ui i i
)
appendr endgroupsformat
IndexErrorKeyErrorr1 chrjoin)r/ r8 strictZ_b_mZchunks_appendZbeginchunkZcontent
terminatorr r0 charZuniZuni2r r r
py_scanstringE s`
,,rE z
[ \t\n\r]*z
c
C s | \}} g }
|
j }|d u ri }|j}|| | d }
|
dkr]|
|v r1||| } || | d }
|
dkrS|d urC||
}|| d fS i }
|d urM||
}
|
| d fS |
dkr]td|| | d7 } t|| |\}} |||}|| | d dkr||| } || | d dkrtd|| | d7 } z|| |v r| d7 } || |v r||| d } W n ty Y nw z ||| \}} W n ty } ztd||jd d }~ww |||f z|| }
|
|v r||| d } || }
W n ty d }
Y nw | d7 } |
dkr
n.|
d
krtd|| d ||| } || | d }
| d7 } |
dkr7td|| d qb|d urE||
}|| fS t|
}
|d urR||
}
|
| fS )Nr r }z1Expecting property name enclosed in double quotesT:zExpecting ':' delimiterExpecting valuer6 ,Expecting ',' delimiter) r7
setdefaultr8 r r r;
StopIterationvaluedict) s_and_endr? scan_onceobject_hookobject_pairs_hookmemo_w_wsr/ r8 ZpairsZpairs_appendZmemo_getnextcharresultkeyrM errr r r
JSONObject s
+
rZ c
C s^ | \}}g }|||d }||v r#|||d }|||d }|dkr-||d fS |j} z |||\} }W n tyN }
ztd||
jd d }
~
ww || |||d }||v rp|||d }|||d }|d7 }|dkr} ||fS |dkrtd||d z|| |v r|d7 }|| |v r|||d }W n ty Y nw q1)Nr ]TrH rI rJ )r8 r7 rL r rM r; )rO rP rT rU r/ r8 valuesrV rA rM rY r r r JSONArray sJ r] c @ s> e Zd Z dddddddddZejfddZdd d
ZdS )r NT)rQ parse_float parse_intparse_constantr? rR c C s\ || _ |pt| _|pt| _|ptj| _|| _|| _ t
| _t| _
t| _i | _t| | _d S r )rQ floatr^ r. r_
_CONSTANTS__getitem__r` r? rR rZ Zparse_objectr] Zparse_arrayr Zparse_stringrS r Zmake_scannerrP )r rQ r^ r_ r` r? rR r r r r
s
zJSONDecoder.__init__c C sH | j |||d d\}}||| }|t|kr"td|||S )Nr )idxz
Extra data)
raw_decoder8 r- r )r r/ rT objr8 r r r decodeL s zJSONDecoder.decoder c
C sF z
| ||\}}W ||fS ty" } ztd||jd d }~ww )NrH )rP rL r rM )r r/ rd rf r8 rY r r r re W s zJSONDecoder.raw_decode)r )r r r r
WHITESPACEmatchrg re r r r r r s 0)reZjsonr Z_jsonr Zc_scanstringImportError__all__VERBOSE MULTILINEDOTALLFLAGSra r ZPosInfZNegInfr r rb compileZSTRINGCHUNKZ BACKSLASHr1 ri rE rh ZWHITESPACE_STRrZ r] objectr r r r r