+
    Bit                     b    ^ RI t ^ RIHtHt  ! R R4      t ! R R]]4      t ! R R]]4      tR# )	    N)PyTestCTestc                   8   a  ] tR t^t o R tR tR tR tRtV t	R# )TestScanstringc                V   V P                   P                  P                  pV P                  V! R ^R4      R4       V P                  V! R^R4      R4       V P                  V! R^R4      R4       V P                  V! R^R4      R4       V P                  V! R^R4      R4       V P                  V! R^R4      R4       V P                  V! R^R4      R4       V P                  V! R^R4      R4       V P                  V! R	^R4      R4       V P                  V! R
^R4      R4       V P                  V! R^R4      R 4       V P                  V! R^R4      R!4       V P                  V! R^R4      R"4       V P                  V! R^R4      R#4       V P                  V! R^R4      R$4       V P                  V! R^R4      R%4       V P                  V! R^R4      R&4       V P                  V! R^R4      R'4       V P                  V! R^R4      R(4       V P                  V! R^R4      R)4       R# )*u   "z𝄠x"Tz"\u007b"z<"A JSON payload should be an object or array, not a string."z["Unclosed array"z["extra comma",]z["double extra comma",,]z["Comma after the close"],z["Extra close"]]z{"Extra comma": true,}z:{"Extra value after close": true} "misplaced quoted value"z{"Illegal expression": 1 + 2}z{"Illegal invocation": alert()}z+{"Numbers cannot have leading zeroes": 013}z{"Numbers cannot be hex": 0x14}z2[[[[[[[[[[[[[[[[[[[["Too deep"]]]]]]]]]]]]]]]]]]]]z{"Missing colon" null}z{"Double colon":: null}z {"Comma instead of colon", null}z!["Colon instead of comma": false]z["Bad value", truth]N)   z𝄠x   ){   )z:A JSON payload should be an object or array, not a string.<   )zUnclosed array   )zextra comma   )zdouble extra comma   )zComma after the close   )zExtra closer   )zExtra commar   )zExtra value after close   )zIllegal expressionr   )zIllegal invocationr   )z"Numbers cannot have leading zeroes%   )zNumbers cannot be hexr   )zToo deep   )zMissing colon   )zDouble colon   )zComma instead of colon   )zColon instead of commar   )z	Bad value   )jsondecoder
scanstringassertEqual)selfr   s   & 5/usr/lib/python3.14/test/test_json/test_scanstring.pytest_scanstringTestScanstring.test_scanstring   s   YY&&11
'D1	! 	{At,	 	UWXZ^_N	P 	*At4"	$ 	)1d3	! 	11d;&	( 	3Q=)	+ 	)1d3	! 	/D9	! 	SUVX\]+	- 	64@&	( 	8!TB&	( 	DaN6	8 	8!TB)	+ 	KRQUV	 	/D9!	# 	0!T: 	" 	91dC*	, 	:AtD*	, 	-q$7	    c                   a a S P                   P                  P                  oVV 3R  lpV! RR4       V! RR4       V! RR4       V! RR4       V! R	R
4       V! RR4       V! RR4       V! RR4       V! RR4       R# )c                 R   < SP                  S! V ^R4      V\        V 4      34       R# )   TN)r   len)givenexpectr   r   s   &&r   
assertScan2TestScanstring.test_surrogates.<locals>.assertScanZ   s(    Zq$7$c%j13r    z"z\ud834\u0079x"u   zyxz"z\ud834\udd20x"r   z"z\ud834\ud834\udd20x"u	   z𝄠xz
"z\ud834x"u   zxu   "z\ud834x12345"u   zx12345z
"z\udd20x"u   zxu
   "zx"u   zxu   "z\udd20x"u   "zx"N)r   r   r   )r   r'   r   s   f @r   test_surrogatesTestScanstring.test_surrogatesX   s    YY&&11
	3 	'5'8.0DE=*-+-BC=*-%'78&(89<,r    c                   V P                   P                  P                  p. R NRNRNRNRNRNRNRNRNR	NR
NRNRP                  R$4      NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRP                  R$4      NRNRNRNR NpV F;  pV P	                  V P
                  VR!7      ;_uu_ 4        V! V^R"4       R#R#R#4       K=  	  R##   + '       g   i     KR  ; i)%z"\"z"\x"z"\u"z"\u0"z"\u01"z"\u012"z"\uz012"z"\u0z12"z"\u01z2"z"\u012z"z"\u0x12"z"\u0X12"z"\u{0}"z"\u 123"z"\u-123"z"\u+123"z"\u1_23"z	"\ud834\"z
"\ud834\u"z"\ud834\ud"z"\ud834\udd"z"\ud834\udd2"z"\ud834\uzdd2"z"\ud834\udzd2"z"\ud834\uddz2"z"\ud834\udd2z"z"\ud834\u0x20"z"\ud834\u0X20"z"\ud834\u{0}"z"\ud834\u 123"z"\ud834\u-123"z"\ud834\u+123"z"\ud834\u1_23")msgTNu   ００００)r   r   r   formatassertRaisesJSONDecodeError)r   r   bad_escapesss   &   r   test_bad_escapesTestScanstring.test_bad_escapesh   s   YY&&11
"
"
"
 "
 	"

 "
 "
 "
 "
 "
 "
 "
 "
 l+"
 "
 "
  !"
" #"
$ %"
& '"
( )"
* +"
, -"
. /"
0 1"
2 3"
4 5"
6 7"
8 9"
: $$\2;"
< ="
> ?"
@ A"
B C"
F A""4#7#7Q"??1a& @? ???s   -CCc                    V P                  \        4      ;_uu_ 4        V P                  P                  P	                  R \
        P                  ^,           4       RRR4       R#   + '       g   i     R# ; i)s   xxxN)r.   OverflowErrorr   r   r   sysmaxsize)r   s   &r   test_overflowTestScanstring.test_overflow   sD    }--II((Q? .---s   <A$$A5	 N)
__name__
__module____qualname____firstlineno__r   r)   r2   r8   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s#     Pd- ''R@ @r    r   c                       ] tR t^tRtR# )TestPyScanstringr:   Nr;   r<   r=   r>   r?   r:   r    r   rC   rC      s    r    rC   c                       ] tR t^tRtR# )TestCScanstringr:   NrD   r:   r    r   rF   rF      s    dr    rF   )r6   test.test_jsonr   r   r   rC   rF   r:   r    r   <module>rH      s0    
 (N@ N@b 5~v 4 2ne 2r    