tzh
2024-08-22 c7d0944258c7d0943aa7b2211498fd612971ce27
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
K\¬Qc @s½dZyddlmZWnek
r3eZnXddlZdddddd    d
d d d dddg ZdZdZ    de
fd„ƒYZ de fd„ƒYZ de fd„ƒYZ de fd„ƒYZde fd„ƒYZdefd„ƒYZd    efd„ƒYZdefd„ƒYZd
e fd„ƒYZd efd„ƒYZdfd„ƒYZddlZd ejfd!„ƒYZd efd"„ƒYZd efd#„ƒYZdS($s Configuration file parser.
 
A setup file consists of sections, lead by a "[section]" header,
and followed by "name: value" entries, with continuations and such in
the style of RFC 822.
 
The option values can contain format strings which refer to other values in
the same section, or values in a special [DEFAULT] section.
 
For example:
 
    something: %(dir)s/whatever
 
would resolve the "%(dir)s" to the value of dir.  All reference
expansions are done late, on demand.
 
Intrinsic defaults can be specified by passing them into the
ConfigParser constructor as a dictionary.
 
class:
 
ConfigParser -- responsible for parsing a list of
                configuration files, and managing the parsed database.
 
    methods:
 
    __init__(defaults=None)
        create the parser and specify a dictionary of intrinsic defaults.  The
        keys must be strings, the values must be appropriate for %()s string
        interpolation.  Note that `__name__' is always an intrinsic default;
        its value is the section's name.
 
    sections()
        return all the configuration section names, sans DEFAULT
 
    has_section(section)
        return whether the given section exists
 
    has_option(section, option)
        return whether the given option exists in the given section
 
    options(section)
        return list of configuration options for the named section
 
    read(filenames)
        read and parse the list of named configuration files, given by
        name.  A single filename is also allowed.  Non-existing files
        are ignored.  Return list of successfully read files.
 
    readfp(fp, filename=None)
        read and parse one configuration file, given as a file object.
        The filename defaults to fp.name; it is only used in error
        messages (if fp has no `name' attribute, the string `<???>' is used).
 
    get(section, option, raw=False, vars=None)
        return a string value for the named option.  All % interpolations are
        expanded in the return values, based on the defaults passed into the
        constructor and the DEFAULT section.  Additional substitutions may be
        provided using the `vars' argument, which must be a dictionary whose
        contents override any pre-existing defaults.
 
    getint(section, options)
        like get(), but convert value to an integer
 
    getfloat(section, options)
        like get(), but convert value to a float
 
    getboolean(section, options)
        like get(), but convert value to a boolean (currently case
        insensitively defined as 0, false, no, off for False, and 1, true,
        yes, on for True).  Returns False or True.
 
    items(section, raw=False, vars=None)
        return a list of tuples with (name, value) for each option
        in the section.
 
    remove_section(section)
        remove the given file section and all its options
 
    remove_option(section, option)
        remove the given option from the given section
 
    set(section, option, value)
        set the given option
 
    write(fp)
        write the configuration state in .ini format
iÿÿÿÿ(t OrderedDictNtNoSectionErrortDuplicateSectionErrort NoOptionErrortInterpolationErrortInterpolationDepthErrortInterpolationSyntaxErrort ParsingErrortMissingSectionHeaderErrort ConfigParsertSafeConfigParsertRawConfigParsert DEFAULTSECTtMAX_INTERPOLATION_DEPTHtDEFAULTi
tErrorcBsJeZdZd„Zd„ZeeeƒZdd„Zd„ZeZ    RS(s'Base class for ConfigParser exceptions.cCs|jS(sSGetter for 'message'; needed only to override deprecation in
        BaseException.(t_Error__message(tself((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyt _get_messagesscCs ||_dS(sSSetter for 'message'; needed only to override deprecation in
        BaseException.N(R(Rtvalue((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyt _set_messagexstcCs||_tj||ƒdS(N(tmessaget    Exceptiont__init__(Rtmsg((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyR‚s    cCs|jS(N(R(R((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyt__repr__†s(
t__name__t
__module__t__doc__RRtpropertyRRRt__str__(((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyRps             cBseZdZd„ZRS(s2Raised when no section matches a requested option.cCs0tj|d|fƒ||_|f|_dS(NsNo section: %r(RRtsectiontargs(RR ((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyRŽs    (RRRR(((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyR‹scBseZdZd„ZRS(s*Raised when a section is multiply-created.cCs-tj|d|ƒ||_|f|_dS(NsSection %r already exists(RRR R!(RR ((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyR–s    (RRRR(((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyR“scBseZdZd„ZRS(s!A requested option was not found.cCs?tj|d||fƒ||_||_||f|_dS(NsNo option %r in section: %r(RRtoptionR R!(RR"R ((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyRžs
         (RRRR(((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyR›scBseZdZd„ZRS(s0Base class for interpolation-related exceptions.cCs8tj||ƒ||_||_|||f|_dS(N(RRR"R R!(RR"R R((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyR¨s        (RRRR(((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyR¥stInterpolationMissingOptionErrorcBseZdZd„ZRS(sAA string substitution required a setting which was not available.cCsNd||||f}tj||||ƒ||_||||f|_dS(NsNBad value substitution:
   section: [%s]
   option : %s
   key    : %s
   rawval : %s
(RRt    referenceR!(RR"R trawvalR$R((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyR±s
    (RRRR(((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyR#®scBseZdZRS(sjRaised when the source text into which substitutions are made
    does not conform to the required syntax.(RRR(((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyR¼scBseZdZd„ZRS(s0Raised when substitutions are nested too deeply.cCs?d|||f}tj||||ƒ|||f|_dS(NsSValue interpolation too deeply recursive:
   section: [%s]
   option : %s
   rawval : %s
(RRR!(RR"R R%R((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyRÃs(RRRR(((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyRÀscBs eZdZd„Zd„ZRS(s>Raised when a configuration file does not follow legal syntax.cCs6tj|d|ƒ||_g|_|f|_dS(Ns File contains parsing errors: %s(RRtfilenameterrorsR!(RR&((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyRÏs        cCs3|jj||fƒ|jd||f7_dS(Ns
   [line %2d]: %s(R'tappendR(Rtlinenotline((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyR(Õs(RRRRR((((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyRÌs    cBseZdZd„ZRS(s@Raised when a key-value pair is found before any section header.cCsNtj|d|||fƒ||_||_||_|||f|_dS(Ns7File contains no section headers.
file: %s, line: %d
%r(RRR&R)R*R!(RR&R)R*((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyRÜs            (RRRR(((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyRÙscBs?eZd eed„Zd„Zd„Zd„Zd„Z    d„Z
d„Z d d„Z d„Z d    „Zd
„Zd „Zd „Zied 6ed6ed6ed6ed6ed6ed6ed6Zd„Zd„Zd„Zd d„Zd„Zd„Zd„ZejdƒZejdƒZejdƒZd„Z RS(!cCsˆ||_|jƒ|_|jƒ|_|r<|j|_n |j|_|r„x3|jƒD]"\}}||j|j|ƒ<q[WndS(N(t_dictt    _sectionst    _defaultst    OPTCRE_NVt_optcretOPTCREtitemst optionxform(Rtdefaultst    dict_typetallow_no_valuetkeyR((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyRès     cCs|jS(N(R-(R((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyR3õscCs |jjƒS(s3Return a list of section names, excluding [DEFAULT](R,tkeys(R((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pytsectionsøscCsW|jƒdkr"td|‚n||jkr@t|ƒ‚n|jƒ|j|<dS(séCreate a new section in the configuration.
 
        Raise DuplicateSectionError if a section by the specified name
        already exists. Raise ValueError if name is DEFAULT or any of it's
        case-insensitive variants.
        tdefaultsInvalid section name: %sN(tlowert
ValueErrorR,RR+(RR ((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyt add_sectionýs
cCs ||jkS(s~Indicate whether the named section is present in the configuration.
 
        The DEFAULT section is not acknowledged.
        (R,(RR ((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyt has_section scCsgy|j|jƒ}Wntk
r6t|ƒ‚nX|j|jƒd|kr]|d=n|jƒS(s9Return a list of option names for the given section name.R(R,tcopytKeyErrorRtupdateR-R7(RR topts((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pytoptionss  
cCs„t|tƒr|g}ng}x\|D]T}yt|ƒ}Wntk
rTq(nX|j||ƒ|jƒ|j|ƒq(W|S(sÔRead and parse a filename or a list of filenames.
 
        Files that cannot be opened are silently ignored; this is
        designed so that you can specify a list of potential
        configuration file locations (e.g. current directory, user's
        home directory, systemwide directory), and all existing
        configuration files in the list will be read.  A single
        filename may also be given.
 
        Return list of successfully read files.
        (t
isinstancet
basestringtopentIOErrort_readtcloseR((Rt    filenamestread_okR&tfp((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pytreads    
cCsJ|dkr6y |j}Wq6tk
r2d}q6Xn|j||ƒdS(sLike read() but the argument must be a file-like object.
 
        The `fp' argument must have a `readline' method.  Optional
        second argument is the `filename', which if not given, is
        taken from fp.name.  If fp has no `name' attribute, `<???>' is
        used.
 
        s<???>N(tNonetnametAttributeErrorRG(RRKR&((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pytreadfp6s        cCs´|j|ƒ}||jkre|tkr9t|ƒ‚n||jkrS|j|St||ƒ‚nK||j|kr‡|j||S||jkr¡|j|St||ƒ‚dS(N(R2R,R RR-R(RR R"topt((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pytgetFs   cCsˆy|j|}Wn8tk
rK|tkr<t|ƒ‚n|jƒ}nX|jjƒ}|j|ƒd|kr~|d=n|jƒS(NR(    R,R?R RR+R-R>R@R1(RR td2td((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyR1Vs    
cCs||j||ƒƒS(N(RR(RR tconvR"((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyt_getcscCs|j|t|ƒS(N(RVtint(RR R"((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pytgetintfscCs|j|t|ƒS(N(RVtfloat(RR R"((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pytgetfloatist1tyesttruetont0tnotfalsetoffcCsH|j||ƒ}|jƒ|jkr7td|‚n|j|jƒS(NsNot a boolean: %s(RRR:t_boolean_statesR;(RR R"tv((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyt
getbooleanoscCs
|jƒS(N(R:(Rt    optionstr((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyR2uscCsu| s|tkr/|j|ƒ}||jkS||jkrBtS|j|ƒ}||j|kpp||jkSdS(s=Check for the existence of a given option in a given section.N(R R2R-R,tFalse(RR R"((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyt
has_optionxs cCsg| s|tkr|j}n1y|j|}Wntk
rOt|ƒ‚nX|||j|ƒ<dS(sSet an option.N(R R-R,R?RR2(RR R"Rtsectdict((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pytset„s  cCs8|jrs|jdtƒxF|jjƒD]5\}}|jd|t|ƒjddƒfƒq*W|jdƒnx¾|jD]³}|jd|ƒxŒ|j|jƒD]w\}}|dkrÆq¨n|dk    sä|j|j    krdj
|t|ƒjddƒfƒ}n|jd|ƒq¨W|jdƒq}WdS(    s?Write an .ini-format representation of the configuration state.s[%s]
s%s = %s
s
s
   Rs = s%s
N( R-twriteR R1tstrtreplaceR,RMR/R0tjoin(RRKR6RR ((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyRks    -  *cCs| s|tkr|j}n1y|j|}Wntk
rOt|ƒ‚nX|j|ƒ}||k}|r{||=n|S(sRemove an option.(R R-R,R?RR2(RR R"Ritexisted((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyt remove_option s   
cCs&||jk}|r"|j|=n|S(sRemove a file section.(R,(RR Ro((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pytremove_section¯s s\[(?P<header>[^]]+)\]s9(?P<option>[^:=\s][^:=]*)\s*(?P<vi>[:=])\s*(?P<value>.*)$s>(?P<option>[^:=\s][^:=]*)\s*(?:(?P<vi>[:=])\s*(?P<value>.*))?$c    Cs:d}d}d}d}x—tr±|jƒ}|s7Pn|d}|jƒdks|ddkriqn|jddƒdjƒdkr¡|ddkr¡qn|djƒrì|dk    rì|rì|jƒ}|r®||j|ƒq®q|jj    |ƒ}    |    rv|    j
dƒ}
|
|j kr2|j |
}n;|
t krJ|j }n#|jƒ}|
|d<||j |
<d}q|dkr—t|||ƒ‚q|jj    |ƒ}    |    rƒ|    j
d    d
d ƒ\}} } |j|jƒƒ}| dk    rv| dkrEd| krE| jdƒ} | dkrE| | djƒrE| |  } qEn| jƒ} | dkrfd} n| g||<q®| ||<q|s˜t|ƒ}n|j|t|ƒƒqW|rÁ|‚n|j g}|j|j jƒƒxP|D]H}x?|jƒD]1\}}t|tƒrýdj|ƒ||<qýqýWqêWdS(s®Parse a sectioned setup file.
 
        The sections in setup file contains a title line at the top,
        indicated by a name in square brackets (`[]'), plus key/value
        options lines, indicated by `name: value' format lines.
        Continuations are represented by an embedded newline then
        leading whitespace.  Blank lines, lines beginning with a '#',
        and just about everything else are ignored.
        iiRs#;tremtrRtheaderRR"tviRt=t:t;iÿÿÿÿs""s
N(RvRw(RMtTruetreadlinetstriptsplitR:tisspaceR(tSECTCREtmatchtgroupR,R R-R+RR/R2trstriptfindRtreprtextendtvaluesR1RCtlistRn(RRKtfpnametcursecttoptnameR)teR*RtmotsectnameRutoptvaltpost all_sectionsRBRNtval((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyRGÐsn
     
"2"    
                     N(!RRRMt _default_dictRgRR3R8R<R=RBRLRPRRR1RVRXRZRyRcReR2RhRjRkRpRqtretcompileR~R0R.RG(((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyR çs<                                                                     
                t    _ChainmapcBs)eZdZd„Zd„Zd„ZRS(sÕCombine multiple mappings for successive lookups.
 
    For example, to emulate Python's normal lookup sequence:
 
        import __builtin__
        pylookup = _Chainmap(locals(), globals(), vars(__builtin__))
    cGs ||_dS(N(t_maps(Rtmaps((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyR7scCsDx1|jD]&}y ||SWq
tk
r/q
Xq
Wt|ƒ‚dS(N(R•R?(RR6tmapping((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyt __getitem__:s   cCsag}tƒ}xK|jD]@}x7|D]/}||kr&|j|ƒ|j|ƒq&q&WqW|S(N(RjR•R(tadd(RtresulttseenR—R6((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyR7Bs       (RRRRR˜R7(((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyR”.s        cBsGeZedd„Zedd„Zd„ZejdƒZ    d„Z
RS(c
Cs
i}y|j|}Wn,tk
rE|tkrFt|ƒ‚qFnXi}|r…x0|jƒD]\}}|||j|ƒ<q_Wnt|||jƒ}    |j|ƒ}y|    |}Wn tk
rÙt||ƒ‚nX|sì|dkrð|S|j
||||    ƒSdS(sÃGet an option value for a given section.
 
        If `vars' is provided, it must be a dictionary. The option is looked up
        in `vars' (if provided), `section', and in `defaults' in that order.
 
        All % interpolations are expanded in the return values, unless the
        optional argument `raw' is true. Values for interpolation keys are
        looked up in the same manner as the option.
 
        The section DEFAULT is special.
        N( R,R?R RR1R2R”R-RRMt _interpolate(
RR R"trawtvarst sectiondicttvardictR6RRT((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyRRNs&    c    Cs|jjƒ}y|j|j|ƒWn,tk
rU|tkrVt|ƒ‚qVnX|rx0|jƒD]\}}|||j|ƒ<qiWn|j    ƒ}d|kr·|j
dƒn|rÞg|D]}|||f^qÄSg|D](}||j |||||ƒf^qåSdS(sØReturn a list of tuples with (name, value) for each option
        in the section.
 
        All % interpolations are expanded in the return values, based on the
        defaults passed into the constructor, unless the optional argument
        `raw' is true.  Additional substitutions may be provided using the
        `vars' argument, which must be a dictionary whose contents overrides
        any pre-existing defaults.
 
        The section DEFAULT is special.
        RN( R-R>R@R,R?R RR1R2R7tremoveRœ(    RR RRžRTR6RRBR"((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyR1qs"     cCs¼|}t}x‚|r|d8}|rŒd|krŒ|jj|j|ƒ}y||}Wqtk
rˆ}t||||jdƒ‚qXqPqW|r¸d|kr¸t|||ƒ‚n|S(Nis%(i(R t_KEYCREtsubt_interpolation_replaceR?R#R!R(RR R"R%RžRtdepthRŠ((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyRœ‘s    
 s%\(([^)]*)\)s|.cCs:|jdƒ}|dkr%|jƒSd|j|ƒSdS(Nis%%(%s)s(R€RMR2(RRts((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyR¤¦s 
N( RRRgRMRRR1RœR’R“R¢R¤(((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyR    Ls
#     cBs5eZd„ZejdƒZd„Zdd„ZRS(cCs/g}|j|||||dƒdj|ƒS(NiR(t_interpolate_someRn(RR R"R%RžtL((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyRœ°ss %\(([^)]+)\)sc Csµ|tkr!t|||ƒ‚nx|r°|jdƒ}|dkrV|j|ƒdS|dkr€|j|| ƒ||}n|dd!}|dkr³|jdƒ|d}q$|dkr”|jj|ƒ}    |    dkröt||d|ƒ‚n|j|    j    dƒƒ}
||    j
ƒ}y||
} Wn&t k
rTt ||||
ƒ‚nXd| kr„|j ||| |||dƒq­|j| ƒq$t||d|fƒ‚q$WdS(Nt%iiit(s'bad interpolation variable reference %rs/'%%' must be followed by '%%' or '(', found: %r(R RR‚R(t _interpvar_reRRMRR2R€tendR?R#R§( RR"taccumtrestR tmapR¥tptctmtvarRd((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyR§¸sB                     cCs·|j|jks|r9t|tƒs9tdƒ‚q9n|dk    r|jddƒ}|jjd|ƒ}d|krt    d||j
dƒfƒ‚qnt j ||||ƒdS(sASet an option.  Extend ConfigParser.set: check for string values.soption values must be stringss%%RR©s1invalid interpolation syntax in %r at position %dN( R/R0RCRDt    TypeErrorRMRmR«R£R;R‚R    Rj(RR R"Rt    tmp_value((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyRjÞs  N(    RRRœR’R“R«R§RMRj(((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyR
®s        &(Rt collectionsRR‘t ImportErrortdictR’t__all__R R RRRRRRR#RRRRR tUserDictt    _UserDictt    DictMixinR”R    R
(((sT/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/ConfigParser.pyt<module>Xs: 
          
      ÿF b