ronnie
2022-10-14 1504bb53e29d3d46222c0b3ea994fc494b48e153
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
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
M\¬Qc@sÖdZddlZddlZddlZddlZddlZddlZddlZddlm    Z
dddddd    d
d d d ddddddddddddddddddgZ d Z d!Z ejd"krødd#lmZmZn:ejd$kr dd#lmZmZnd%„Zd&„Zeaeed'„Zeeed(„Zd)„ZyddlZWn eZnXeZd*efd+„ƒYZiZdfd,„ƒYZdefd-„ƒYZ ea!d.„Z"ea#d/„Z$ea%d0„Z&ea'd1„Z(d2fd3„ƒYZ)d4fd5„ƒYZ*d6e*fd7„ƒYZ+d8e*fd9„ƒYZ,d:e*fd;„ƒYZ-ye.Wne/k
r•d<„Z0n
Xd=„Z0d>„Z1d?„Z2ea3d@„Z4ea5dA„Z6ea7dB„Z8ea9dC„Z:ea;dD„Z<ea=ddE„Z>ea?dF„Z@eaAdG„ZBdH„ZCeaDdI„ZEdJZFeGdK„eFDƒƒZHejIdLƒZJdM„ZKdN„ZLdOZMiZNxfeOePdPƒeQeRePdPƒƒƒƒD]=\ZSZTeSdQkoÖeTeMkrßeTn dRjUeSƒeNeT<qµWiZVdSdT„ZWdUdV„ZXdWdX„ZYdY„ZZdZ„Z[ej\d[kr~dd\l]m^Z^m_Z_d]„Z`d^„Zad_„Zbd`„ZcnBejd"kr´da„Zddb„Zcdc„Zedd„Zbn eZZce[Zbde„Zfdf„ZgdS(gs»Open an arbitrary URL.
 
See the following document for more info on URLs:
"Names and Addresses, URIs, URLs, URNs, URCs", at
http://www.w3.org/pub/WWW/Addressing/Overview.html
 
See also the HTTP spec (from which the error codes are derived):
"HTTP - Hypertext Transfer Protocol", at
http://www.w3.org/pub/WWW/Protocols/
 
Related standards and specs:
- RFC1808: the "relative URL" spec. (authoritative status)
- RFC1738 - the "URL standard". (authoritative status)
- RFC1630 - the "URI spec". (informational status)
 
The object returned by URLopener().open(file) will differ per
protocol.  All you know is that is has methods read(), readline(),
readlines(), fileno(), close() and info().  The read*(), fileno()
and close() methods work like those of open files.
The info() method returns a mimetools.Message object which can be
used to query various info about the object, if available.
(mimetools.Message objects are queried with the getheader() method.)
iÿÿÿÿN(turljointurlopent    URLopenertFancyURLopenert urlretrievet
urlcleanuptquotet
quote_plustunquotet unquote_plust    urlencodet url2pathnamet pathname2urltsplittagt    localhosttthishostt    ftperrorstbasejointunwrapt    splittypet    splithostt    splitusert splitpasswdt    splitportt
splitnportt
splitqueryt    splitattrt
splitvaluet
getproxiess1.17i
tnt(R R triscoscCs
t|ƒS(sOS-specific conversion from a relative URL of the 'file' scheme
        to a file system path; not recommended for general use.(R(tpathname((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR 5scCs
t|ƒS(sOS-specific conversion from a file system path to a relative URL
        of the 'file' scheme; not recommended for general use.(R(R((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR :scCs‰ddlm}|dddƒ|dk    r>td|ƒ}ntsVtƒ}|ant}|dkru|j|ƒS|j||ƒSdS(s=Create a file-like object for the specified URL to read from.iÿÿÿÿ(twarnpy3ksMurllib.urlopen() has been removed in Python 3.0 in favor of urllib2.urlopen()t
stacklevelitproxiesN(twarningsR tNoneRt
_urlopenertopen(turltdataR"R topener((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRHs               cCs(tstƒantj||||ƒS(N(R%Rtretrieve(R'tfilenamet
reporthookR(((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRZs cCs+trtjƒntjƒtjƒdS(N(R%tcleanupt _safe_quoterstcleartftpcache(((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR_s 
tContentTooShortErrorcBseZd„ZRS(cCstj||ƒ||_dS(N(tIOErrort__init__tcontent(tselftmessageR4((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR3os(t__name__t
__module__R3(((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR1nscBsáeZdZdZdeZdd„Zd„Zd„Z    d„Z
d„Z dd„Z dd„Z dd    „Zdddd
„Zdd „Zdd „Zd „Zer¸dd„Znd„Zd„Zd„Zdd„ZRS(s,Class to open URLs.
    This is a class rather than just a subroutine because we may need
    more than one set of global protocol-specific options.
    Note -- this is a base class for those who don't want the
    automatic handling of errors type 302 (relocated) and 401
    (authorization needed).sPython-urllib/%scKs…|dkrtƒ}n||_|jdƒ|_|jdƒ|_d|jfg|_g|_t    j
|_ d|_ t |_ dS(Ntkey_filet    cert_files
User-Agent(R$RR"tgetR9R:tversiont
addheaderst_URLopener__tempfilestostunlinkt_URLopener__unlinkt    tempcacheR0(R5R"tx509((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR3s               cCs|jƒdS(N(tclose(R5((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyt__del__˜scCs|jƒdS(N(R-(R5((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRD›scCsi|jrLx6|jD]+}y|j|ƒWqtk
r=qXqW|j2n|jre|jjƒndS(N(R>RAtOSErrorRBR/(R5tfile((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR-žs     
    cGs|jj|ƒdS(sdAdd a header to be used by the HTTP interface only
        e.g. u.addheader('Accept', 'sound/basic')N(R=tappend(R5targs((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyt    addheader¬scCs¶tt|ƒƒ}t|ddƒ}|jrn||jkrn|j|\}}t|dƒ}t|||ƒSt|ƒ\}}|sd}n||jkrÞ|j|}t|ƒ\}}    t|    ƒ\}
} |
|f}nd
}d|} ||_
| j ddƒ} t || ƒsD|r1|j |||ƒS|j||ƒSny9|d
krft|| ƒ|ƒSt|| ƒ||ƒSWn2tjk
r±} td| ftjƒd    ‚nXd
S( s6Use URLopener().open(file) instead of open(file, 'r').tsafes%/:=&?~#+!$,;'@()*[]|trbRGtopen_t-t_s socket erroriN(RttoBytesRRBR&t
addinfourlRR"RR$ttypetreplacethasattrtopen_unknown_proxyt open_unknowntgetattrtsocketterrorR2tsystexc_info(R5tfullurlR(R+theaderstfpturltypeR'tproxyt    proxyhostthosttselectortnametmsg((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR&²s8     
     cCs(t|ƒ\}}tdd|f‚dS(s/Overridable interface to open unknown URL type.s    url errorsunknown url typeN(RR2(R5R\R(RRR'((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRVÖscCs,t|ƒ\}}tdd||f‚dS(s/Overridable interface to open unknown URL type.s    url errorsinvalid proxy for %sN(RR2(R5R`R\R(RRR'((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRUÛsc
Csått|ƒƒ}|jr5||jkr5|j|St|ƒ\}}|dkrÀ| sf|dkrÀyC|j|ƒ}|jƒ}|jƒtt    |ƒdƒ|fSWqÀt
k
r¼qÀXn|j ||ƒ}zÍ|jƒ}    |rùt |dƒ}
n³ddl } t|ƒ\} } t    | p#dƒ\} } t | p;dƒ\} } t| pSdƒ\} } tjj| ƒd}| j|ƒ\}}|jj|ƒtj|dƒ}
zä||    f}|jdk    rÚ||j|<nd }d}d    }d    }d
|    krt|    d ƒ}n|r*||||ƒnxb|j|ƒ}|dkrLPn|t|ƒ7}|
j|ƒ|d7}|r-||||ƒq-q-Wd|
jƒXWd|jƒX|d    krá||krátd ||f|ƒ‚n|S(stretrieve(url) returns (filename, headers) for a local object
        or (tempfilename, headers) for a remote object.RGitwbiÿÿÿÿNtiiiscontent-lengthsContent-Lengths1retrieval incomplete: got only %i out of %i bytesi (RRPRBRR$topen_local_filetinfoRDR RR2R&ttempfileRRR?tpathtsplitexttmkstempR>RHtfdopentinttreadtlentwriteR1(R5R'R+R,R(RRturl1R^thdrsR]ttfpRjtgarbageRktsuffixtfdtresulttbstsizeRptblocknumtblock((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR*ásj  
 
 cCs=ddl}d}d}t|tƒrit|ƒ\}}|r`t|ƒ\}}t|ƒ}n|}nµ|\}}t|ƒ\}}t|ƒ\}    }
|
}d}|    jƒdkrÀd}n^t|
ƒ\}}
|rít|ƒ\}}n|r    d|    ||
f}nt    |ƒr|}n|s0t
d‚n|rZt|ƒ}t j |ƒj ƒ} nd} |rŠt|ƒ}t j |ƒj ƒ} nd} |j|ƒ} |dk    rè| jd|ƒ| jdd    ƒ| jd
d t|ƒƒn| jd |ƒ| r| jd d| ƒn| r2| jdd| ƒn|rK| jd|ƒnx|jD]}| j|ŒqUW| j|ƒ| jƒ\}}}| jƒ}|dkrÅ|r¹|jƒnt
d‚nd|koÜdknrøt||d||ƒS|dkr|j|||||ƒS|j||||||ƒSdS(sUse HTTP protocol.iÿÿÿÿNthttps    %s://%s%ss
http errors no host giventPOSTs Content-Types!application/x-www-form-urlencodedsContent-Lengths%dtGETsProxy-AuthorizationsBasic %st AuthorizationtHostshttp protocol errorisgot a bad status lineiÈi,shttp:(s
http errors no host given(shttp protocol errorisgot a bad status lineN(thttplibR$t
isinstancetstrRRRRtlowert proxy_bypassR2tbase64t    b64encodetstriptHTTPt
putrequestt    putheaderRqR=t
endheaderstgetreplytgetfileRDRQt
http_error(R5R'R(Rƒt user_passwdt proxy_passwdRbRctrealhostR_trestt
proxy_authtauththRIterrcodeterrmsgR]R^((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyt    open_http"sx                            c
Csd|}t||ƒrwt||ƒ}|dkrO||||||ƒ}    n|||||||ƒ}    |    rw|    Sn|j|||||ƒS(s›Handle http errors.
        Derived class can override this, or provide specific handlers
        named http_error_DDD where DDD is the 3-digit error code.s http_error_%dN(RTRWR$thttp_error_default(
R5R'R^R™RšR]R(RdtmethodRy((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR‘ks
 cCs#|jƒtd|||f‚dS(s>Default error handler: close the connection and raise IOError.s
http errorN(RDR2(R5R'R^R™RšR]((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRœzs
cCs=ddl}d}d}t|tƒrit|ƒ\}}|r`t|ƒ\}}t|ƒ}n|}n |\}}t|ƒ\}}t|ƒ\}    }
|
}d}|    jƒdkrÀd}nIt|
ƒ\}}
|rít|ƒ\}}n|r    d|    ||
f}n|st    d‚n|rEt|ƒ}t
j |ƒj ƒ} nd} |rut|ƒ}t
j |ƒj ƒ} nd} |j |dd|jd    |jƒ} |dk    rè| jd
|ƒ| jd d ƒ| jd dt|ƒƒn| jd|ƒ| r| jdd| ƒn| r2| jdd| ƒn|rK| jd|ƒnx|jD]}| j|ŒqUW| j|ƒ| jƒ\}}}| jƒ}|dkrÅ|r¹|jƒnt    d‚nd|koÜdknrøt||d||ƒS|dkr|j|||||ƒS|j||||||ƒSdS(sUse HTTPS protocol.iÿÿÿÿNthttpss    %s://%s%ss https errors no host giveniR9R:Rs Content-Types!application/x-www-form-urlencodedsContent-Lengths%dR€sProxy-AuthorizationsBasic %sRR‚shttp protocol errorsgot a bad status lineiÈi,shttps:(s https errors no host given(shttp protocol errorisgot a bad status lineN(RƒR$R„R…RRRRR†R2RˆR‰RŠtHTTPSR9R:RŒRRqR=RŽRRRDRQR‘(R5R'R(RƒR’R“RbRcR”R_R•R–R—R˜RIR™RšR]R^((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyt
open_https€s|                                cCsut|tƒstd
‚n|d dkrd|dd!dkrd|dd!jƒdkrd|j|ƒS|j|ƒSd    S( s/Use local file or FTP depending on form of URL.s
file errors9proxy support for file protocol currently not implementedis//it/i s
localhost/N(s
file errors9proxy support for file protocol currently not implemented(R„R…R2R†topen_ftpRh(R5R'((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyt    open_fileÈs
 < cCsddl}ddl}ddl}yddlm}Wn!tk
r[ddlm}nXt|ƒ\}}t|ƒ}ytj    |ƒ}    Wn.t
k
r½}
t |
j |
j |
jƒ‚nX|    j} |jj|    jdtƒ} |j|ƒd} |j|d| p
d| | fƒƒ}|s‚|}|d d    krFd
|}n#|d  d kritd |ƒ‚ntt|dƒ||ƒSt|ƒ\}}| røtj|ƒtƒtƒfkrø|}|d d    krßd
|}ntt|dƒ||ƒSt d‚dS(sUse local file.iÿÿÿÿN(tStringIOtusegmtis6Content-Type: %s
Content-Length: %d
Last-modified: %s
s
text/plainiR¡sfile://is./sAlocal file url may start with / or file:. Unknown url of type: %sRLslocal file errorsnot on local host(slocal file errorsnot on local host(t    mimetypest    mimetoolst email.utilst    cStringIOR¤t ImportErrorRR R?tstatRFR2terrnotstrerrorR+tst_sizetutilst
formatdatetst_mtimetTruet
guess_typetMessaget
ValueErrorRQR&RRXt gethostbynameRR(R5R'R¦R§temailR¤RbRGt    localnametstatsteR{tmodifiedtmtypeR]turlfiletport((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRhÑsD$           
! 
c Cs¤t|tƒstd‚nddl}ddl}yddlm}Wn!tk
rjddlm}nXt|ƒ\}}|std‚nt    |ƒ\}}t
|ƒ\}}|rÎt |ƒ\}}    nd}    t |ƒ}|péd}|    põd}    tj|ƒ}|s%ddl}
|
j}n t|ƒ}t|ƒ\}} t |ƒ}|jdƒ} | d | d} } | r‘| d     r‘| d
} n| r¯| d     r¯d| d    <n|||dj| ƒf}t|jƒtkr,xJ|jjƒD]6}||krï|j|}|j|=|jƒqïqïWny?||jkr`t||    ||| ƒ|j|<n| sod }nd }xM| D]E}t|ƒ\}}|jƒd kr||dkr||jƒ}q|q|W|j|j| |ƒ\}}|j d|ƒd    }d}|r|d|7}n|dk    rA|d    krA|d|7}n|j!||ƒƒ}t"||d|ƒSWn2t#ƒk
rŸ}td|ft$j%ƒd‚nXdS(sUse FTP protocol.s    ftp errors8proxy support for ftp protocol currently not implementediÿÿÿÿN(R¤s no host givenRgR¡iitDtIRRtatAtitdsftp:sContent-Type: %s
sContent-Length: %d
i(s    ftp errors8proxy support for ftp protocol currently not implemented(s    ftp errors no host given(RÁRÂRÃRÀRÄR¿(&R„R…R2R¦R§R©R¤RªRRRRR$RRXR¶tftplibtFTP_PORTRoRtsplittjoinRqR0t MAXFTPCACHEtkeysRDt
ftpwrapperRR†tuppertretrfileR³R´RQRRZR[(R5R'R¦R§R¤RbRkR¾tusertpasswdRÅtattrstdirsRGtkeytktvRRtattrtvalueR^tretrlenR¼R]Re((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR¢ösx              
"      c CsÎt|tƒstd‚nddl}yddlm}Wn!tk
r^ddlm}nXy|jddƒ\}}Wntk
r—td‚nX|s§d    }n|j    d
ƒ}|d kríd ||krí||d}|| }nd }g}|j
dt j dt j t j ƒƒƒƒ|j
d|ƒ|dkrTtj|ƒ}n t|ƒ}|j
dt|ƒƒ|j
d ƒ|j
|ƒdj|ƒ}||ƒ}    |j|    d ƒ}
t|    |
|ƒS(sUse "data" URL.s
data errors9proxy support for data protocol currently not implementediÿÿÿÿN(R¤t,is bad data URLstext/plain;charset=US-ASCIIt;it=RgsDate: %ss%a, %d %b %Y %H:%M:%S GMTsContent-type: %sRˆsContent-Length: %ds
(s
data errors9proxy support for data protocol currently not implemented(s
data errors bad data URL(R„R…R2R§R©R¤RªRÇRµtrfindRHttimetstrftimetgmtimeRˆt decodestringRRqRÈR´RQ( R5R'R(R§R¤RRtsemitencodingRetfR]((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyt    open_data4s@               N(R7R8t__doc__R$R>t __version__R<R3RERDR-RJR&RVRUR*R›R‘Rœt    _have_sslR R£RhR¢Rã(((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRts*
                  $  A I     H            %    >cBs¶eZdZd„Zd„Zdd„Zd„Zdd„Zdd„Z    dd„Z
dd„Z dd    „Z dd
„Z dd „Zdd „Zdd „Zdd„Zd„ZRS(s?Derived class with handlers for errors we can handle (perhaps).cOs2tj|||Ži|_d|_d|_dS(Nii
(RR3t
auth_cachettriestmaxtries(R5RItkwargs((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR3es        cCst||d||ƒS(s3Default error handling -- don't raise an exception.shttp:(RQ(R5R'R^R™RšR]((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRœksc    Cs˜|jd7_|jrm|j|jkrmt|dƒrE|j}n    |j}d|_|||dd|ƒS|j||||||ƒ}d|_|S(s%Error 302 -- relocated (temporarily).ithttp_error_500iiôs)Internal Server Error: Redirect Recursion(RèRéRTRëRœtredirect_internal(    R5R'R^R™RšR]R(tmethRy((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pythttp_error_302os          
        c    CsÀd|kr|d}nd|kr2|d}ndS|jƒt|jd||ƒ}|jƒ}|jdƒp|jdƒp|jdƒs³td||d||ƒ‚n|j|ƒS(    Ntlocationturit:shttp://shttps://sftp://sredirect errors) - Redirection to url '%s' is not allowed(RDRRRR†t
startswithR2R&(    R5R'R^R™RšR]R(tnewurlt newurl_lower((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRìs     
      cCs|j||||||ƒS(s*Error 301 -- also relocated (permanently).(Rî(R5R'R^R™RšR]R(((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pythttp_error_301—scCs|j||||||ƒS(s;Error 303 -- also relocated (essentially identical to 302).(Rî(R5R'R^R™RšR]R(((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pythttp_error_303›scCsE|dkr(|j||||||ƒS|j|||||ƒSdS(s1Error 307 -- relocated, but turn POST into error.N(R$RîRœ(R5R'R^R™RšR]R(((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pythttp_error_307Ÿs c Cs d|kr+tj||||||ƒn|d}ddl}|jd|ƒ}    |    sxtj||||||ƒn|    jƒ\}
} |
jƒdkr»tj||||||ƒnd|jd} |dkrît|| ƒ|| ƒSt|| ƒ|| |ƒSdS(s_Error 401 -- authentication required.
        This function supports Basic authentication only.swww-authenticateiÿÿÿÿNs![     ]*([^     ]+)[     ]+realm="([^"]*)"tbasictretry_t _basic_auth(    RRœtretmatchtgroupsR†RRR$RW( R5R'R^R™RšR]R(tstuffRûRütschemetrealmRd((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pythttp_error_401¦s" 
  c Cs d|kr+tj||||||ƒn|d}ddl}|jd|ƒ}    |    sxtj||||||ƒn|    jƒ\}
} |
jƒdkr»tj||||||ƒnd|jd} |dkrît|| ƒ|| ƒSt|| ƒ|| |ƒSdS(seError 407 -- proxy authentication required.
        This function supports Basic authentication only.sproxy-authenticateiÿÿÿÿNs![     ]*([^     ]+)[     ]+realm="([^"]*)"Røt retry_proxy_Rú(    RRœRûRüRýR†RRR$RW( R5R'R^R™RšR]R(RþRûRüRÿRRd((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pythttp_error_407¼s" 
  cCs    t|ƒ\}}d||}|jd}t|ƒ\}}    t|    ƒ\}    }
|    jdƒd} |    | }    |j|    || ƒ\} } | p’| s™dSt| ddƒdt| ddƒd|    }    d|    |
|jd<|dkrõ|j|ƒS|j||ƒSdS(Nshttp://R~t@iRKRgRñ(RR"Rtfindtget_user_passwdR$RR&(R5R'RR(RbRcRóR`R_Rat proxyselectorRÃRÎRÏ((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pytretry_proxy_http_basic_authÒs 
 .  cCs    t|ƒ\}}d||}|jd}t|ƒ\}}    t|    ƒ\}    }
|    jdƒd} |    | }    |j|    || ƒ\} } | p’| s™dSt| ddƒdt| ddƒd|    }    d|    |
|jd<|dkrõ|j|ƒS|j||ƒSdS(Nshttps://RžRiRKRgRñ(RR"RRRR$RR&(R5R'RR(RbRcRóR`R_RaRRÃRÎRÏ((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pytretry_proxy_https_basic_authãs 
 .  c
CsÃt|ƒ\}}|jdƒd}||}|j|||ƒ\}}|pS|sZdSt|ddƒdt|ddƒd|}d||}    |dkr¯|j|    ƒS|j|    |ƒSdS(NRiRKRgRñshttp://(RRRR$RR&(
R5R'RR(RbRcRÃRÎRÏRó((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pytretry_http_basic_authôs
 .  c
CsÃt|ƒ\}}|jdƒd}||}|j|||ƒ\}}|pS|sZdSt|ddƒdt|ddƒd|}d||}    |dkr¯|j|    ƒS|j|    |ƒSdS(NRiRKRgRñshttps://(RRRR$RR&(
R5R'RR(RbRcRÃRÎRÏRó((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pytretry_https_basic_auths
 .  icCsˆ|d|jƒ}||jkrD|r6|j|=qD|j|Sn|j||ƒ\}}|sh|r~||f|j|<n||fS(NR(R†Rçtprompt_user_passwd(R5RbRt clear_cacheRÒRÎRÏ((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRs  cCsfddl}y@td||fƒ}|jd|||fƒ}||fSWntk
raHdSXdS(s#Override this in a GUI environment!iÿÿÿÿNsEnter username for %s at %s: s#Enter password for %s in %s at %s: (NN(tgetpasst    raw_inputtKeyboardInterruptR$(R5RbRRRÎRÏ((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR s           N(R7R8RäR3RœR$RîRìRõRöR÷RRRR    R
R RR (((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRbs                      cCs"tdkrtjdƒantS(s8Return the IP address of the magic hostname 'localhost'.RN(t
_localhostR$RXR¶(((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR*s cCs(tdkr$tjtjƒƒantS(s*Return the IP address of the current host.N(t    _thishostR$RXR¶t gethostname(((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR2s cCs(tdkr$ddl}|jantS(s1Return the set of errors raised by the FTP class.iÿÿÿÿN(t
_ftperrorsR$RÅt
all_errors(RÅ((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR:s   cCsytdkruddl}yddlm}Wn!tk
rOddlm}nX|j|ƒdƒatjjƒntS(s)Return an empty mimetools.Message object.iÿÿÿÿN(R¤i(    t
_noheadersR$R§R©R¤RªR´R^RD(R§R¤((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyt    noheadersCs   RËcBsVeZdZejed„Zd„Zd„Zd„Z    d„Z
d„Z d„Z RS(s;Class used by open_ftp() for cache of open FTP connections.cCsV||_||_||_||_||_||_d|_||_|jƒdS(Ni(    RÎRÏRbR¾RÑttimeouttrefcountt    keepalivetinit(R5RÎRÏRbR¾RÑRt
persistent((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR3Vs                                cCs„ddl}d|_|jƒ|_|jj|j|j|jƒ|jj|j    |j
ƒx!|j D]}|jj |ƒqfWdS(Niÿÿÿÿi( RÅtbusytFTPtftptconnectRbR¾RtloginRÎRÏRÑtcwd(R5RÅtdir((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRcs     c Csddl}|jƒ|dkr1d}d}nd|}d}y|jj|ƒWn.|jk
r…|jƒ|jj|ƒnXd}|r| ry&d|}|jj|ƒ\}}Wq|jk
r }t    |ƒd     d
kr t
d |ft j ƒd ‚q qXn|sÊ|jjdƒ|r©|jj ƒ}    zMy|jj|ƒWn2|jk
r†}t
d |ft j ƒd ‚nXWd|jj|    ƒXd |}nd}|jj|ƒ\}}nd|_t|jdƒ|jƒ}
|jd7_|jƒ|
|fS(NiÿÿÿÿRÄR¿sTYPE AisTYPE isRETR it550s    ftp errorisLIST tLISTRL(RÄR¿(RÅt endtransferRtvoidcmdRRR$t ntransfercmdt
error_permR…R2RZR[tpwdR"Rt addclosehooktmakefilet
file_closeRRD( R5RGRRRÅtcmdtisdirtconnR×treasonR*tftpobj((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRÍlsL 
     
 
 
&$     
cCsB|js dSd|_y|jjƒWntƒk
r=nXdS(Ni(RRtvoidrespR(R5((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR&—s        cCs)t|_|jdkr%|jƒndS(Ni(tFalseRRt
real_close(R5((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRD s    cCsC|jƒ|jd8_|jdkr?|j r?|jƒndS(Nii(R&RRR5(R5((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR-¥s
cCs6|jƒy|jjƒWntƒk
r1nXdS(N(R&RRDR(R5((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR5«s
 
( R7R8RäRXt_GLOBAL_DEFAULT_TIMEOUTR²R3RRÍR&RDR-R5(((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRËSs            +                taddbasecBs)eZdZd„Zd„Zd„ZRS(s(Base class for addinfo and addclosehook.cCsÇ||_|jj|_|jj|_t|jdƒrK|jj|_nt|jdƒro|jj|_n d„|_t|jdƒrÃ|jj|_t|jdƒrÃ|jj|_qÃndS(Nt    readlinestfilenocSsdS(N(R$(((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyt<lambda>½st__iter__tnext(R^RptreadlineRTR8R9R;R<(R5R^((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR3µs     cCs d|jjt|ƒ|jfS(Ns<%s at %r whose fp = %r>(t    __class__R7tidR^(R5((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyt__repr__Ãs cCsJd|_d|_d|_d|_|jr=|jjƒnd|_dS(N(R$RpR=R8R9R^RD(R5((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRDÇs                    (R7R8RäR3R@RD(((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR7²s        R+cBs eZdZd„Zd„ZRS(s*Class to add a close hook to an open file.cGs&tj||ƒ||_||_dS(N(R7R3t    closehookthookargs(R5R^RARB((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR3Òs    cCs?|jr.|j|jŒd|_d|_ntj|ƒdS(N(RARBR$R7RD(R5((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRD×s
         (R7R8RäR3RD(((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR+Ïs    taddinfocBs eZdZd„Zd„ZRS(s.class to add an info() method to an open file.cCstj||ƒ||_dS(N(R7R3R](R5R^R]((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR3áscCs|jS(N(R](R5((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRiås(R7R8RäR3Ri(((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRCÞs    RQcBs5eZdZdd„Zd„Zd„Zd„ZRS(s9class to add info() and geturl() methods to an open file.cCs/tj||ƒ||_||_||_dS(N(R7R3R]R'tcode(R5R^R]R'RD((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR3ës        cCs|jS(N(R](R5((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRiñscCs|jS(N(RD(R5((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pytgetcodeôscCs|jS(N(R'(R5((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pytgeturl÷sN(R7R8RäR$R3RiRERF(((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRQès
         cCsdS(Ni((tx((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyt _is_unicode scCs t|tƒS(N(R„tunicode(RG((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRHscCsTt|ƒrPy|jdƒ}WqPtk
rLtdt|ƒdƒ‚qPXn|S(stoBytes(u"URL") --> 'URL'.tASCIIsURL s contains non-ASCII characters(RHtencodet UnicodeErrortrepr(R'((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRPs  cCsi|jƒ}|d dkrB|ddkrB|dd!jƒ}n|d dkre|djƒ}n|S(s8unwrap('<URL:type://host/path>') --> 'type://host/path'.it<iÿÿÿÿt>isURL:(RŠ(R'((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRs   cCsvtdkr*ddl}|jdƒantj|ƒ}|rl|jdƒ}|jƒ|t|ƒdfSd|fS(s:splittype('type:opaquestring') --> 'type', 'opaquestring'.iÿÿÿÿNs
^([^/:]+):i(t    _typeprogR$RûtcompileRütgroupR†Rq(R'RûRüRÿ((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR(s  cCs”tdkr*ddl}|jdƒantj|ƒ}|rŠ|jdƒ}|jdƒ}|r€|jdƒ r€d|}n||fSd|fS(s;splithost('//host[:port]/path') --> 'host[:port]', '/path'.iÿÿÿÿNs^//([^/?]*)(.*)$iiR¡(t    _hostprogR$RûRQRüRRRò(R'RûRüt    host_portRk((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR6s   
cCsYtdkr*ddl}|jdƒantj|ƒ}|rO|jddƒSd|fS(sJsplituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.iÿÿÿÿNs ^(.*)@(.*)$ii(t    _userprogR$RûRQRüRR(RbRûRü((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRGs  cCs_tdkr0ddl}|jd|jƒantj|ƒ}|rU|jddƒS|dfS(s/splitpasswd('user:passwd') -> 'user', 'passwd'.iÿÿÿÿNs^([^:]*):(.*)$ii(t _passwdprogR$RûRQtSRüRR(RÎRûRü((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRSs  cCsYtdkr*ddl}|jdƒantj|ƒ}|rO|jddƒS|dfS(s*splitport('host:port') --> 'host', 'port'.iÿÿÿÿNs^(.*):([0-9]+)$ii(t    _portprogR$RûRQRüRR(RbRûRü((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR`s  cCs§tdkr*ddl}|jdƒantj|ƒ}|r|jddƒ\}}y"|sltd‚nt|ƒ}Wntk
r’d}nX||fS||fS(sÛSplit host and port, returning numeric port.
    Return given default port if no ':' found; defaults to -1.
    Return numerical port if a valid number are found after ':'.
    Return None if ':' but not a valid number.iÿÿÿÿNs ^(.*):(.*)$iis    no digits(t
_nportprogR$RûRQRüRRRµRo(RbtdefportRûRüR¾tnport((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRls    
 
cCsYtdkr*ddl}|jdƒantj|ƒ}|rO|jddƒS|dfS(s/splitquery('/path?query') --> '/path', 'query'.iÿÿÿÿNs^(.*)\?([^?]*)$ii(t
_queryprogR$RûRQRüRR(R'RûRü((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR‚s  cCsYtdkr*ddl}|jdƒantj|ƒ}|rO|jddƒS|dfS(s)splittag('/path#tag') --> '/path', 'tag'.iÿÿÿÿNs^(.*)#([^#]*)$ii(t_tagprogR$RûRQRüRR(R'RûRü((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR Žs  cCs!|jdƒ}|d|dfS(sksplitattr('/path;attr1=value1;attr2=value2;...') ->
        '/path', ['attr1=value1', 'attr2=value2', ...].RÙii(RÇ(R'twords((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR™scCsYtdkr*ddl}|jdƒantj|ƒ}|rO|jddƒS|dfS(s-splitvalue('attr=value') --> 'attr', 'value'.iÿÿÿÿNs^([^=]*)=(.*)$ii(t
_valueprogR$RûRQRüRR(RÕRûRü((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR s  t0123456789ABCDEFabcdefccs?|]5}tD](}||tt||dƒƒfVq qdS(iN(t_hexdigtchrRo(t.0RÁtb((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pys    <genexpr>°ss([-]+)cCsOt|ƒr¦d|kr|Stj|ƒ}|dg}|j}xUtdt|ƒdƒD];}|tt||ƒƒjdƒƒ|||dƒqZWdj    |ƒS|jdƒ}t|ƒdkrË|S|dg}|j}x^|dD]R}y$|t
|d ƒ||dƒWqìt k
r=|dƒ||ƒqìXqìWdj    |ƒS(s"unquote('abc%20def') -> 'abc def'.t%iiitlatin1Rg( RHt_asciireRÇRHtrangeRqRR…tdecodeRÈt    _hextochrtKeyError(tstbitstresRHRÃtitem((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR´s.       #       
cCs|jddƒ}t|ƒS(s%unquote('%7e/abc+def') -> '~/abc def't+t (RSR(Rl((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR    ÐssAABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_.-ii€s%{:02X}R¡cCs×|s%|dkr!tdƒ‚n|S|tf}yt|\}}Wnftk
r­tjƒ}|jg|D]}||f^qnƒ|j}t|}||ft|<nX|j    |ƒsÁ|Sdj
t ||ƒƒS(s quote('abc def') -> 'abc%20def'
 
    Each part of a URL, e.g. the path info, the query, etc., has a
    different set of reserved characters that must be quoted.
 
    RFC 2396 Uniform Resource Identifiers (URI): Generic Syntax lists
    the following reserved characters.
 
    reserved    = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" |
                  "$" | ","
 
    Each of these characters is reserved in some component of a URL,
    but not necessarily in all of them.
 
    By default, the quote function is intended for quoting the path
    section of a URL.  Thus, it will not encode '/'.  This character
    is reserved, but in typical usage the quote function is being
    called on a path where the existing slash characters are used as
    reserved characters.
    sNone object cannot be quotedRgN( R$t    TypeErrort always_safeR.Rkt    _safe_maptcopytupdatet __getitem__trstripRÈtmap(RlRKtcachekeytquotertsafe_maptc((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRÝs     &    
RgcCs<d|kr/t||dƒ}|jddƒSt||ƒS(s9Quote the query fragment of a URL; replacing ' ' with '+'RqRp(RRS(RlRK((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRs ic    Csÿt|dƒr|jƒ}nby-t|ƒrJt|dtƒ rJt‚nWn2tk
rtjƒ\}}}td|‚nXg}|sßxc|D]E\}}tt    |ƒƒ}tt    |ƒƒ}|j
|d|ƒq“Wnx|D]\}}tt    |ƒƒ}t|t    ƒr7t|ƒ}|j
|d|ƒqæt |ƒrst|j ddƒƒ}|j
|d|ƒqæyt|ƒWn8tk
r»tt    |ƒƒ}|j
|d|ƒqæXx/|D]'}|j
|dtt    |ƒƒƒqÃWqæWdj |ƒS(svEncode a sequence of two-element tuples or dictionary into a URL query string.
 
    If any values in the query arg are sequences and doseq is true, each
    sequence element is converted to a separate parameter.
 
    If the query arg is a sequence of two-element tuples, the order of the
    parameters in the output will match the order of parameters in the
    input.
    titemsis1not a valid non-string sequence or mapping objectRÚRJRSt&(RTR~RqR„ttupleRrRZR[RR…RHRHRKRÈ(    tquerytdoseqttytvattbtlRÓRÔtelt((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR
s<        )cCs]i}xPtjjƒD]?\}}|jƒ}|r|ddkr|||d <qqW|S(sReturn a dictionary of scheme -> proxy server URL mappings.
 
    Scan the environment for variables named <scheme>_proxy;
    this seems to be the standard convention.  If you need a
    different way, you can pass a proxies dictionary to the
    [Fancy]URLopener constructor.
 
    iúÿÿÿt_proxy(R?tenvironR~R†(R"RdRÖ((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pytgetproxies_environmentKs     cCs±tjjddƒp'tjjddƒ}|dkr:dSt|ƒ\}}g|jdƒD]}|jƒ^q\}x6|D].}|r{|j|ƒs¥|j|ƒr{dSq{WdS(sÏTest if proxies should not be used for a particular host.
 
    Checks the environment for a variable named no_proxy, which should
    be a list of DNS suffixes separated by commas, or '*' for all hosts.
    tno_proxyRgtNO_PROXYt*iRØi(R?R‰R;RRÇRŠtendswith(RbR‹thostonlyR¾R`t no_proxy_listRd((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pytproxy_bypass_environment[s* ( $tdarwin(t_get_proxy_settingst _get_proxiesc Csddl}ddl}ddlm}t|ƒ\}}d„}tƒ}d|kri|dritSnd}x'|jdd ƒD]}    |    s”q‚n|jd|    ƒ}
|
dk    r‚|dkrúy|j    |ƒ}||ƒ}Wqú|j
k
röq‚qúXn||
j d    ƒƒ} |
j d
ƒ} | dkrMd |
j d    ƒj dƒd    } nt | d    ƒ} d | } || ?| | ?kr•tSq‚|||    ƒr‚tSq‚WtS(s¼
        Return True iff this host shouldn't be accessed using a proxy
 
        This function uses the MacOSX framework SystemConfiguration
        to fetch the proxy information.
        iÿÿÿÿN(tfnmatchcSsy|jdƒ}tt|ƒ}t|ƒdkrM|ddddgd }n|dd>|dd>B|dd>B|d    BS(
Nt.iiiiiiii(RÇRyRoRq(tipAddrtparts((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pytip2num€s
R–texclude_simplet
exceptionss(\d+(?:\.\d+)*)(/\d+)?iiii ((RûRXR•RR“R²R$R;RüR¶RYRRtcountRoR4( RbRûRXR•RR¾R™tproxy_settingsthostIPRÖtmtbasetmask((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pytproxy_bypass_macosx_sysconfss@           
 
 #
cCstƒS(s±Return a dictionary of scheme -> proxy server URL mappings.
 
        This function uses the MacOSX framework SystemConfiguration
        to fetch the proxy information.
        (R”(((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pytgetproxies_macosx_sysconf®scCs!tƒrt|ƒSt|ƒSdS(N(RŠR‘R¢(Rb((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR‡¶s    
cCstƒptƒS(N(RŠR£(((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR¼sc    Csmi}yddl}Wntk
r*|SXy!|j|jdƒ}|j|dƒd}|rAt|j|dƒdƒ}d|kr÷x´|jdƒD]Y}|jdd    ƒ\}}ddl}|jd
|ƒsæd ||f}n|||<q—WqA|d  d kr||d<qAd||d<d||d<d||d<n|j    ƒWnt
t t fk
rhnX|S(sxReturn a dictionary of scheme -> proxy server URL mappings.
 
        Win32 uses the registry to store proxies.
 
        iÿÿÿÿNs;Software\Microsoft\Windows\CurrentVersion\Internet Settingst ProxyEnableit ProxyServerRÚRÙis ^([^/:]+)://s%s://%sishttp:R~s    http://%ss
https://%sRžsftp://%sR( t_winregRªtOpenKeytHKEY_CURRENT_USERt QueryValueExR…RÇRûRütCloset WindowsErrorRµRr(    R"R¦tinternetSettingst proxyEnablet proxyServertptprotocoltaddressRû((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pytgetproxies_registryÀs:               cCstƒptƒS(s¥Return a dictionary of scheme -> proxy server URL mappings.
 
        Returns settings gathered from the environment, if specified,
        or the registry.
 
        (RŠR²(((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyRîsc Csðyddl}ddl}Wntk
r0dSXyK|j|jdƒ}|j|dƒd}t|j|dƒdƒ}Wntk
rdSX| sŸ| r£dSt|ƒ\}}|g}y/t    j
|ƒ}||krì|j |ƒnWnt    j k
rnXy/t    j |ƒ}    |    |kr2|j |    ƒnWnt    j k
rInX|jdƒ}x|D]ˆ}
|
dkr…d|kr…d    Sn|
jdd
ƒ}
|
jd d ƒ}
|
jd dƒ}
x*|D]"} |j|
| |jƒrÂd    SqÂWq`WdS(Niÿÿÿÿis;Software\Microsoft\Windows\CurrentVersion\Internet SettingsR¤t ProxyOverrideRÙs<local>R–is\.Rs.*t?(R¦RûRªR§R¨R©R…R«RRXR¶RHRYtgetfqdnRÇRSRüRÀ( RbR¦RûR¬R­t proxyOverridetrawHostR¾taddrtfqdnttesttval((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pytproxy_bypass_registry÷sT                         cCs!tƒrt|ƒSt|ƒSdS(s¥Return a dictionary of scheme -> proxy server URL mappings.
 
        Returns settings gathered from the environment, if specified,
        or the registry.
 
        N(RŠR‘R¼(Rb((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR‡+s    
cCs¶d}x$tdƒD]}|t|ƒ}qW|d}tjƒ}t|ƒ}t|ƒ}tjƒ}||kr{dGHnt|ƒGHt|ƒGHt|ƒGHt||dƒGdGHdS(NRgiisWrong!itsec(RhRbRÜRRRMtround(RlRÃtt0tqstuqstt1((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyttest1=s
        cCsd|||fGHdS(Ns0Block number: %d, Block size: %d, Total size: %d((R|t    blocksizet    totalsize((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyR,Ms(hRätstringRXR?RÜRZRˆRûturlparseRRt__all__RåRÉRdt
nturl2pathR R t
rourl2pathR$R%RRRtsslR4RæR²R2R1R0RRRRRRRRRRRËR7R+RCRQRIt    NameErrorRHRPRRPRRSRRURRVRRXRRYRR\RR]R RR_RRatdictRjRQRgRR    RsRttziptxrangeR…t    bytearrayRÃR}tformatR.RRR
RŠR‘tplatformt_scproxyR“R”R¢R£R‡RR²R¼RÃR,(((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/urllib.pyt<module>sÖ                           
ÿïÇ                _
"                                                                     45 '  @            ;             .            4