//usr/lib64/lib64//lib64/lib64//ó
ÚœSec @ s¬ d Z d d l Z d d l Z d d l Z d d l m Z y d d l m Z Wn e k
rg d Z n Xd g Z e j e j
Be j BZ d „ Z e ƒ \ Z Z Z d „ Z d d „ Z i e d 6e d
6e d 6Z e j d e ƒ Z i d
d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6Z d Z d „ Z d e e e j d „ Z e pSe Z e j d e ƒ Z d! Z e j e d" „ Z! e j e d# „ Z" d e# f d$ „ ƒ YZ$ d S(% s Implementation of JSONDecoder
iÿÿÿÿN( t scanner( t
scanstringt JSONDecoderc C ss d j d ƒ } t j d k rM | d d d d … | d d d d … } n t j d | ƒ \ } } | | | f S( Nt 7FF80000000000007FF0000000000000t hext bigi iÿÿÿÿt dd( t decodet syst byteordert structt unpack( t _BYTESt nant inf( ( s$ /usr/lib64/python2.7/json/decoder.pyt _floatconstants s
/c C sU | j d d | ƒ d } | d k r2 | d } n | | j d d | ƒ } | | f S( Ns
i i ( t countt rindex( t doct post linenot colno( ( s$ /usr/lib64/python2.7/json/decoder.pyt linecol s
c C sw t | | ƒ \ } } | d k r= d } | j | | | | ƒ St | | ƒ \ } } d } | j | | | | | | | ƒ S( Ns# {0}: line {1} column {2} (char {3})s? {0}: line {1} column {2} - line {3} column {4} (char {5} - {6})( R t Nonet format( t msgR R t endR R t fmtt endlinenot endcolno( ( s$ /usr/lib64/python2.7/json/decoder.pyt errmsg$ s s -Infinityt Infinityt NaNs (.*?)(["\\\x00-\x1f])u "t "u \s \u /t /u t bu t fu
t nu
t ru t ts utf-8c C s | | d | d !} t | ƒ d k r_ | d d k r_ y t | d ƒ SWq_ t k
r[ q_ Xn d } t t | | | ƒ ƒ ‚ d S( Ni i i t xXi s Invalid \uXXXX escape( t lent intt
ValueErrorR ( t sR t escR ( ( s$ /usr/lib64/python2.7/json/decoder.pyt
_decode_uXXXXA s "
c C s’ | d k r t } n g } | j } | d } xN| | | ƒ } | d k rg t t d | | ƒ ƒ ‚ n | j ƒ } | j ƒ \ }
} |
r¹ t |
t ƒ s¬ t |
| ƒ }
n | |
ƒ n | d k rÉ PnL | d k r| rd j | ƒ } t t | | | ƒ ƒ ‚ q| | ƒ q1 n y | | }
Wn) t
k
rNt t d | | ƒ ƒ ‚ n X|
d k r²y | |
} Wn9 t k
r¤d t |
ƒ } t t | | | ƒ ƒ ‚ n X| d 7} nÀ t
| | ƒ } | d 7} t j d k rfd
| k oñd k n rf| | | d !d
k rft
| | d ƒ } d | k o7d k n rfd | d
d >| d B} | d 7} qfn t | ƒ } | | ƒ q1 d j | ƒ | f S( s® Scan the string s for a JSON string. End is the index of the
character in s after the quote that started the JSON string.
Unescapes all valid JSON string escape sequences and raises ValueError
on attempt to decode an invalid string. If strict is False then literal
control characters are allowed in the string.
Returns a tuple of the decoded string and the index of the character in s
after the end quote.i s Unterminated string starting atR! s \s" Invalid control character {0!r} att us Invalid \escape: i iÿÿ i Ø iÿÛ i s \ui Ü iÿß i i
i u N( R t DEFAULT_ENCODINGt appendR+ R R t groupst
isinstancet unicodeR t
IndexErrort KeyErrort reprR. R t
maxunicodet unichrt join( R, R t encodingt strictt _bt _mt chunkst _appendt begint chunkt contentt
terminatorR R- t chart unit uni2( ( s$ /usr/lib64/python2.7/json/decoder.pyt
py_scanstringK s^
3
s
[ \t\n\r]*s
c C sï | \ } } g }
|
j } | | | d !} | d k rø | | k rm | | | ƒ j ƒ } | | | d !} n | d k rÎ | d k rŸ | |
ƒ }
|
| d f Si }
| d k rÀ | |
ƒ }
n |
| d f S| d k rø t t d | | ƒ ƒ ‚ qø n | d 7} x—t r›t | | | | ƒ \ } } | | | d !d k r‡| | | ƒ j ƒ } | | | d !d k r‡t t d | | ƒ ƒ ‚ q‡n | d 7} yM | | | k rÝ| d 7} | | | k rÝ| | | d ƒ j ƒ } qÝn Wn t k
rñn Xy | | | ƒ \ } } Wn) t k
r6t t d | | ƒ ƒ ‚ n X| | | f ƒ y@ | | } | | k r†| | | d ƒ j ƒ } | | } n Wn t k
r d } n X| d 7} | d k r»Pn+ | d k ræt t d
| | d ƒ ƒ ‚ n yc | | } | | k rH| d 7} | | } | | k rH| | | d ƒ j ƒ } | | } qHn Wn t k
rbd } n X| d 7} | d k rt t d | | d ƒ ƒ ‚ qqW| d k r¾| |
ƒ }
|
| f St |
ƒ }
| d k rå| |
ƒ }
n |
| f S( Ni R! t }s1 Expecting property name enclosed in double quotest :s Expecting ':' delimiters Expecting objectt t ,s Expecting ',' delimiter(
R1 R R R+ R t TrueR R5 t
StopIterationt dict( t s_and_endR; R<