hyb
2026-01-30 44480e71b27aa9d4cb8441f50c873f1b110e9691
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
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
Ë
ê^iÎãó—ddlmZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl m Z ddlmZddlmZddlmZe    j*rddlmZ        ddlZdd    lmZdd
lmZdd lmZdd l m!Z!m"Z"m#Z#dd l$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/ddl0m1Z1m2Z2ddl3m4Z4e    j*rddl5m6Z6ejne8«Z9Gd„d«Z:Gd„de:«Z;Gd„d«Z<Gd„de:«Z=e Gd„de:«Z>    ej~dk\rddl@mAZAnddlBmAZAdZCGd„de:«ZDGd!„d"e:«ZEd*d#„ZFGd$„d%«ZGGd&„d'ej«ZIGd(„d)eI«Zy#e$rddlZYŒwxYw#e$rdZYŒwxYw#e$rd ZCYŒawxYw)+é)Ú annotationsN)Úcontextmanager)Ú HTTPMessage)Ú HTTPResponse)Útimeouté)ÚBaseHTTPConnection)Úutil)Ú
_TYPE_BODY)ÚHTTPHeaderDict)Ú BaseSSLErrorÚHTTPConnectionÚ HTTPException) ÚBodyNotHttplibCompatibleÚ DecodeErrorÚDependencyWarningÚ    HTTPErrorÚIncompleteReadÚInvalidChunkLengthÚ InvalidHeaderÚ ProtocolErrorÚReadTimeoutErrorÚResponseNotChunkedÚSSLError)Ú is_fp_closedÚis_response_to_head)ÚRetry)ÚHTTPConnectionPoolcó0—eZdZddd„Zedd„«Zdd„Zy)    ÚContentDecodercó—t«‚©N©ÚNotImplementedError©ÚselfÚdataÚ
max_lengths   õcH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\urllib3/response.pyÚ
decompresszContentDecoder.decompress7ó €Ü!Ó#Ð#ócó—t«‚r"r#©r&s r)Úhas_unconsumed_tailz"ContentDecoder.has_unconsumed_tail:ó €ä!Ó#Ð#r,có—t«‚r"r#r.s r)ÚflushzContentDecoder.flush>r+r,N©éÿÿÿÿ©r'Úbytesr(ÚintÚreturnr6©r8Úbool©r8r6)Ú__name__Ú
__module__Ú __qualname__r*Úpropertyr/r2©r,r)r r 6s „ô$ðò$óð$ô$r,r có8—eZdZdd„Zddd„Zed    d„«Zd
d„Zy) ÚDeflateDecodercó`—d|_d|_d|_tj«|_y)NTr,)Ú
_first_tryÚ_first_try_dataÚ _unfed_dataÚzlibÚ decompressobjÚ_objr.s r)Ú__init__zDeflateDecoder.__init__Cs)€ØˆŒØ"ˆÔ؈ÔÜ×&Ñ&Ó(ˆ    r,cóŽ—|j|z}d|_|s|jjs|S|}|dkrd}n |dk(r||_y|js4|jj    |jj|z|¬«S|xj
|z c_    |jj    ||¬«}|rd|_d|_|S#t j$rdd|_t jt j «|_    |j    |j
|¬«d|_cYS#d|_wxYwwxYw)Nr,r©r(F)
rFrIÚunconsumed_tailrDr*rErGÚerrorrHÚ    MAX_WBITS)r&r'r(Úoriginal_max_lengthÚ decompresseds     r)r*zDeflateDecoder.decompressIs?€Ø×Ñ $Ñ&ˆØˆÔÙ˜DŸI™I×5Ò5؈KØ(ÐØ  Ò "؉JØ   AÒ %ð
 $ˆDÔ ØðŠØ—9‘9×'Ñ'Ø—    ‘    ×)Ñ)¨DÑ0¸Zð(óð ð
     ×Ò Ñ$Õð    +ØŸ9™9×/Ñ/°ÀÐ/ÓLˆLÙØ"'”Ø'*Ô$ØÐ øäz‰zò    +Ø#ˆDŒOÜ×*Ñ*¬D¯N©N¨?Ó;ˆDŒIð +Ø—‘Ø×(Ñ(Ð5Hð'óð(+×$ø sÕ$úð    +ús%Â.C à AEÄD7Ä-EÄ7    EÅEcóŒ—t|j«xs.t|jj«xr |j Sr")r:rFrIrMrDr.s r)r/z"DeflateDecoder.has_unconsumed_tailss8€äD×$Ñ$Ó%ò
Ü —‘×*Ñ*Ó +Ò C°D·O±OÐ0Cð    
r,có6—|jj«Sr"©rIr2r.s r)r2zDeflateDecoder.flushyó€Øy‰y‰Ó Ð r,N©r8ÚNoner3r5r9r;©r<r=r>rJr*r?r/r2r@r,r)rBrBBs&„ó)ô (+ðTò
óð
ô
!r,rBcó—eZdZdZdZdZy)ÚGzipDecoderStaterréN)r<r=r>Ú FIRST_MEMBERÚ OTHER_MEMBERSÚ SWALLOW_DATAr@r,r)rZrZ}s„Ø€LØ€M؁Lr,rZcó8—eZdZdd„Zddd„Zed    d„«Zd
d„Zy) Ú GzipDecodercó’—tjdtjz«|_tj
|_d|_y)Nér,)rGrHrOrIrZr\Ú_stateÚ_unconsumed_tailr.s r)rJzGzipDecoder.__init__„s2€Ü×&Ñ& r¬D¯N©NÑ':Ó;ˆŒ    Ü&×3Ñ3ˆŒ Ø #ˆÕr,c
ó —t«}|jtjk(r t    |«S|dk(r|xj
|z c_y|j
|z}|s!|j jr t    |«S        ||j j|t|t|«z
d«¬«z }|j jxs|j jx|_}|dkDrt|«|k\r     t    |«S|s t    |«S|j jr@tj|_tj dtj"z«|_Œï#tj$rJ|j}tj|_d|_|tjk(r t    |«cYS‚wxYw)Nrr,rLrb)Ú    bytearrayrcrZr^r6rdrIÚeofr*ÚmaxÚlenrGrNr]rMÚ unused_datarHrO)r&r'r(ÚretÚprevious_states     r)r*zGzipDecoder.decompress‰sހ܋kˆØ ;‰;Ô*×7Ñ7Ò 7ܘ“:Ð à ˜Š?ð
× !Ò ! TÑ )Õ !Øð×$Ñ$ tÑ+ˆÙ˜Ÿ    ™    Ÿ š ܘ“:Ð àð Øt—y‘y×+Ñ+ؤS¨´c¸#³hÑ)>ÀÓ%Bð,óñð—    ‘    ×)Ñ)ÒB¨T¯Y©Y×-BÑ-Bð ˆDÔ ! Dð˜AŠ~¤# c£(¨jÒ"8ØôS‹zÐñܘS“zÐ!ðy‰y}Š}Ü.×<Ñ<” Ü ×.Ñ.¨r´D·N±NÑ/BÓC”    ð7øô
—:‘:ò Ø!%§¡ä.×;Ñ;” Ø(+Ô%Ø!Ô%5×%CÑ%CÒCä  ›:Ò%Øð úsÂ6E0Å0AG Ç G có,—t|j«Sr")r:rdr.s r)r/zGzipDecoder.has_unconsumed_tail»s€äD×)Ñ)Ó*Ð*r,có6—|jj«Sr"rTr.s r)r2zGzipDecoder.flush¿rUr,NrVr3r5r9r;rXr@r,r)r`r`ƒs&„ó$ô
0ðdò+óð+ô!r,r`cóB—eZdZdd„Zdd    d„Zdd
d„Zed d„«Zd d„Zy) Ú BrotliDecodercóè—tj«|_t|jd«r"t    |d|jj
«yt    |d|jj «y)Nr*Ú _decompress)ÚbrotliÚ DecompressorrIÚhasattrÚsetattrr*Úprocessr.s r)rJzBrotliDecoder.__init__ÉsL€Ü×+Ñ+Ó-ˆDŒIܐt—y‘y ,Ô/ܘ˜m¨T¯Y©Y×-AÑ-AÕB䘘m¨T¯Y©Y×->Ñ->Õ?r,có—t«‚r"r#)r&r'Úoutput_buffer_limits   r)rrzBrotliDecoder._decompressÑs €Ü%Ó'Ð 'r,cóʗ    |dkDr|j||¬«S|j|«S#t$r.tjdt«|j|«cYSwxYw)Nr)ryz;Brotli >= 1.2.0 is required to prevent decompression bombs.)rrÚ    TypeErrorÚwarningsÚwarnrr%s   r)r*zBrotliDecoder.decompressÔsk€ð .Ø ’>Ø×+Ñ+¨DÀjÐ+ÓQÐQà×+Ñ+¨DÓ1Ð1øÜò .ô— ‘ ØQÜ%ôð×'Ñ'¨Ó-Ò-ð .ús‚+š+«4A"Á!A"cóX—    |jj« S#t$rYywxYw)NF)rIÚcan_accept_more_dataÚAttributeErrorr.s r)r/z!BrotliDecoder.has_unconsumed_tailãs/€ð ØŸ9™9×9Ñ9Ó;Ð;Ð;øÜ!ò Ùð ús ‚    )¨)cód—t|jd«r|jj«Sy)Nr2r,)rurIr2r.s r)r2zBrotliDecoder.flushês$€Üt—y‘y 'Ô*Ø—y‘y—‘Ó(Ð(Ør,NrVr3)r'r6ryr7r8r6r5r9r;)    r<r=r>rJrrr*r?r/r2r@r,r)rprpÅs+„ó    @ô    (ô     .ð
ò    ó
ð    ô     r,rp)éé)ÚzstdTcó8—eZdZdd„Zddd„Zed    d„«Zd
d„Zy) Ú ZstdDecodercó6—tj«|_yr")r„ÚZstdDecompressorrIr.s r)rJzZstdDecoder.__init__ûs€Ü×-Ñ-Ó/ˆDIr,cóR—|s |jsy|jjr2|jj|z}t    j
«|_|jj ||¬«}t|«}|g}|jjrÿ|jjré|dks||krß|jj}|jjst    j
«|_|jj ||dkDr||z
nd¬«}t|«x}r|j|«||z }n|jjrn8|jjr"|jjr |dkrŒÙ||krŒßdj|«S)Nr,rLrr4) r/rIrgrjr„rˆr*riÚ needs_inputÚappendÚjoin)r&r'r(ÚpartÚlengthÚ
data_partsrjÚ part_lengths        r)r*zZstdDecoder.decompressþsZ€Ù × 8Ò 8ØØy‰y}Š}Ø—y‘y×,Ñ,¨tÑ3Ü ×1Ñ1Ó3”    Ø—9‘9×'Ñ'¨¸Ð'ÓDˆDܘ“YˆFؘˆJð—    ‘    — ’ Ø—I‘I×)Ò)Ø !’^ v°
Ò':à"Ÿi™i×3Ñ3 Ø—y‘y×,Ò,Ü $× 5Ñ 5Ó 7D”IØ—y‘y×+Ñ+ØØ8BÀQº 
¨VÒ 3ÈBð,óô#& d£)Ð+;Ð+Ø×%Ñ% dÔ+ؘkÑ)‘FØ—Y‘Y×*Ò*Øð—    ‘    — ’ Ø—I‘I×)Ò)Ø !“^ v°
Ó':ð—8‘8˜JÓ'Ð 'r,có¢—|jjxs|jj xst|jj«Sr")rIrŠrgr:rjr.s r)r/zZstdDecoder.has_unconsumed_tail s>€àŸ    ™    ×-Ñ-Ò>°·±·±Ð?òÄ4Ø—    ‘    ×%Ñ%óDð r,cóF—|jjs td«‚y)NzZstandard data is incompleter,)rIrgrr.s r)r2zZstdDecoder.flush&s€Ø—9‘9—=’=Ü!Ð"@ÓAÐAØr,NrVr3r5r9r;rXr@r,r)r†r†ús&„ó    0ô     (ðD
ò    ó
ð    ô
    r,r†Fcó@—eZdZdZdZdd„Zd    d„Zd
d d„Zed d„«Z    y) Ú MultiDecodera
    From RFC7231:
        If one or more encodings have been applied to a representation, the
        sender that applied the encodings MUST generate a Content-Encoding
        header field that lists the content codings in the order in which
        they were applied.
    écó$—|jd«Dcgc]}|j«‘Œ}}t|«|jkDr$t    dt|«›d|j›«‚|Dcgc] }t |«‘Œc}|_ycc}wcc}w)Nú,z)Too many content encodings in the chain: z > )ÚsplitÚstripriÚmax_decode_linksrÚ _get_decoderÚ    _decoders)r&ÚmodesÚmÚ    encodingsÚes     r)rJzMultiDecoder.__init__9s„€Ø(-¯ © °CÓ(8Ö9 1Q—W‘W•YÐ9ˆ    Ð9Ü ˆy‹>˜D×1Ñ1Ò 1ÜØ;ܐy“>Ð" # d×&;Ñ&;Ð%<ð>óð ð4=Ö=¨aœ, q/Ò=ˆùò :ùò >s ”BÁ-B có<—|jdj«S©Nr)rœr2r.s r)r2zMultiDecoder.flushBs€Ø~‰~˜aÑ ×&Ñ&Ó(Ð(r,cóB—|dkr-t|j«D]}|j|«}Œ|St«}    d}t|j«D]&}|j||t    |«z
¬«}|sŒ%d}Œ(||z }|rt    |«|k\r t |«Sd}Œc)NrTFrLr,)Úreversedrœr*rfrir6)r&r'r(ÚdrkÚany_datas      r)r*zMultiDecoder.decompressEs­€Ø ˜Š?ܘdŸn™nÓ-ò *Ø—|‘| DÓ)‘ð *àˆKä‹kˆð؈HܘdŸn™nÓ-ò $Ø—|‘| D°ZÄ#ÀcÃ(Ñ5J|ÓKÚØ#‘Hð $ð 4‰KˆCÙœs 3›x¨:Ò5ܘS“zÐ!؈Dðr,có:—td„|jD««S)Nc3ó4K—|]}|j–—Œy­wr")r/)Ú.0r¥s  r)ú    <genexpr>z3MultiDecoder.has_unconsumed_tail.<locals>.<genexpr>asèø€ÒA¨Q1×(Õ(ÑAùs‚)Úanyrœr.s r)r/z MultiDecoder.has_unconsumed_tail_s€äÑA°$·.±.ÔAÓAÐAr,N)rÚstrr8rWr;r3r5r9)
r<r=r>Ú__doc__ršrJr2r*r?r/r@r,r)r”r”,s4„ñðÐó>ó)ôð4òBóñBr,r”có¤—d|vr t|«S|dvr
t«St|dk(r
t«Str|dk(r
t «St «S)Nr—)Úgzipúx-gzipÚbrr„)r”r`rsrpÚHAS_ZSTDr†rB)Úmodes r)r›r›dsU€Ø
ˆd{ܘDÓ!Ð!ð Ð!Ñ!Ü‹}Ðä Иd dšlÜ‹ÐåD˜F’NÜ‹}Ðä Ó Ðr,có8—eZdZdZdd„Zd    d„Zd
d„Zd d„Zd d„Zy) ÚBytesQueueBuffera˜Memory-efficient bytes buffer
 
    To return decoded data in read() and still follow the BufferedIOBase API, we need a
    buffer to always return the correct amount of bytes.
 
    This buffer should be filled using calls to put()
 
    Our maximum memory usage is determined by the sum of the size of:
 
     * self.buffer, which contains the full data
     * the largest chunk that we will copy in get()
    cóD—tj«|_d|_yr¢)Ú collectionsÚdequeÚbufferÚ_sizer.s r)rJzBytesQueueBuffer.__init__„s€Ü?J×?PÑ?PÓ?RˆŒ ؈
r,có—|jSr")rºr.s r)Ú__len__zBytesQueueBuffer.__len__ˆs €Øz‰zÐr,cóv—|jj|«|xjt|«z c_yr")r¹r‹rºri©r&r's  r)ÚputzBytesQueueBuffer.put‹s&€Ø  ‰ ×ј4Ô Ø 
Š
”c˜$“iÑŽ
r,cóH—|dk(ry|js td«‚|dkr td«‚t|jd«|k(rLt    |jdt
«r/|xj |zc_|jj«Sd}tj«}||krä||z
}|jj«}t|«}||krgt|«}|d|||d}}|j|«|jj|«|xj |zc_    |j«S|j|«|xj |zc_||z }|js    |j«S||krŒä|j«S)Nrr,zbuffer is emptyzn should be > 0)r¹Ú RuntimeErrorÚ
ValueErrorriÚ
isinstancer6rºÚpopleftÚioÚBytesIOÚ
memoryviewÚwriteÚ
appendleftÚgetvalue)    r&ÚnÚfetchedrkÚ    remainingÚchunkÚ chunk_lengthÚ
left_chunkÚ right_chunks             r)ÚgetzBytesQueueBuffer.getsl€Ø Š6ØØ—’ÜÐ0Ó1Ð 1Ø ŠUÜÐ.Ó/Ð /ä ˆt{‰{˜1‰~Ó  !Ò #¬
°4·;±;¸q±>Ä5Ô(IØ JŠJ˜!‰OJØ—;‘;×&Ñ&Ó(Ð (àˆÜj‰j‹lˆØ˜ŠkؘG™ ˆIØ—K‘K×'Ñ'Ó)ˆEܘu›:ˆLؘ<Ò'Ü" 5Ó)Ø*/°
°Ð*;¸UÀ9À:Ð=N˜K
Ø—    ‘    ˜*Ô%Ø— ‘ ×&Ñ& {Ô3Ø—
’
˜iÑ'•
Øð|‰|‹~Ðð—    ‘    ˜%Ô Ø—
’
˜lÑ*•
Ø |Ñ #ˆGà—;’;Øà|‰|‹~Ðð'˜‹kð&|‰|‹~Ðr,cót‡—|jЉs|jdk(sJ‚yt‰«dk(r1‰j«}t    |t
«ra|j «}nPtj«}|jˆfd„tt‰««D««|j«}d|_|S)Nrr,rc3ó>•K—|]}‰j«–—Œy­wr")rÄ)r©Ú_r¹s  €r)rªz+BytesQueueBuffer.get_all.<locals>.<genexpr>½søèø€ÒH°˜6Ÿ>™>×+ÑHùsƒ) r¹rºriÚpoprÃrÇÚtobytesrÅrÆÚ
writelinesÚrangerÊ)r&Úresultrkr¹s   @r)Úget_allzBytesQueueBuffer.get_all²sŒø€Ø—‘ˆÙØ—:‘: ’?Ð "?ØÜ ˆv‹;˜!Ò Ø—Z‘Z“\ˆFܘ&¤*Ô-ØŸ™Ó)‘ä—*‘*“,ˆCØ N‰NÓH´U¼3¸v»;Ó5GÔHÔ HØ—\‘\“^ˆF؈Œ
؈ r,NrV©r8r7)r'r6r8rW)rËr7r8r6r;)    r<r=r>r­rJr¼r¿rÒrÛr@r,r)rµrµvs!„ñ óóó ó!ôFr,rµcó^—eZdZUgd¢Zeedgz Zeredgz Zgd¢ZeejfZ
de d<ee
ejfz Z
ere
e jfz Z
dddœ                                                                    d"d    „Zd#d
„Zed$d „«Zd%d „Zed&d „«Zej(d'd„«Zed(d„«Zed)d„«Zej(d*d„«Z    d+                    d,d„Z            d-                            d.d„Z        d/                    d0d„Z        d/                    d,d„Zd1d„Zd1d„Zd1d„Zd1d„Zd1d„Z    d2                                    d3d„Z d$d„Z!d4d„Z"d5d„Z#d2d6d„Z$d5d „Z%d&d!„Z&y)7ÚBaseHTTPResponse)r¯r°ÚdeflateNr±r„)i-i.i/i3i4ztuple[type[Exception], ...]ÚDECODER_ERROR_CLASSES)ÚheadersÚretriescó~—t|t«r||_nt|«|_||_||_||_||_||_d|_||_    ||_
d|_ |jjdd«j«}    d„|    jd«D«}
d|
vrd|_ d|_|y)NFztransfer-encodingÚc3ó<K—|]}|j«–—Œy­wr")r™)r©Úencs  r)rªz,BaseHTTPResponse.__init__.<locals>.<genexpr>îsèø€Ò> SS—Y‘Y—[Ñ>ùs‚r—ÚchunkedT)rÃr ráÚstatusÚversionÚversion_stringÚreasonÚdecode_contentÚ_has_decoded_contentÚ _request_urlrârçrÒÚlowerr˜Ú_decoder) r&rárèrérêrërìÚ request_urlrâÚtr_encrŸs            r)rJzBaseHTTPResponse.__init__Òs°€ô gœ~Ô .Ø"ˆDLä)¨'Ó2ˆDŒL؈Œ ؈Œ Ø,ˆÔ؈Œ Ø,ˆÔØ$)ˆÔ!Ø(3ˆÔ؈Œ àˆŒ Ø—‘×!Ñ!Ð"5°rÓ:×@Ñ@ÓBˆá>¨F¯L©L¸Ó,=Ô>ˆ    Ø ˜    Ñ !؈DŒLà/3ˆŒ Ú r,cój—|j|jvr|jjd«Sy)a
        Should we redirect and where to?
 
        :returns: Truthy redirect location string if we got a redirect status
            code and valid location. ``None`` if redirect status and no
            location. ``False`` if not a redirect status code.
        ÚlocationF)rèÚREDIRECT_STATUSESrárÒr.s r)Úget_redirect_locationz&BaseHTTPResponse.get_redirect_locationõs.€ð ;‰;˜$×0Ñ0Ñ 0Ø—<‘<×#Ñ# JÓ/Ð /Ør,có—t«‚r"r#r.s r)r'zBaseHTTPResponse.datar0r,cób—|jjd«}tj|«S)aÄ
        Deserializes the body of the HTTP response as a Python object.
 
        The body of the HTTP response must be encoded using UTF-8, as per
        `RFC 8529 Section 8.1 <https://www.rfc-editor.org/rfc/rfc8259#section-8.1>`_.
 
        To use a custom JSON decoder pass the result of :attr:`HTTPResponse.data` to
        your custom decoder instead.
 
        If the body of the HTTP response is not decodable to UTF-8, a
        `UnicodeDecodeError` will be raised. If the body of the HTTP response is not a
        valid JSON document, a `json.JSONDecodeError` will be raised.
 
        Read more :ref:`here <json_content>`.
 
        :returns: The body of the HTTP response as a Python object.
        zutf-8)r'ÚdecodeÚ_jsonÚloadsr¾s  r)ÚjsonzBaseHTTPResponse.jsons'€ð$y‰y×Ñ Ó(ˆÜ{‰{˜4ӠРr,có—t«‚r"r#r.s r)ÚurlzBaseHTTPResponse.urlr0r,có—t«‚r"r#©r&rþs  r)rþzBaseHTTPResponse.urlr0r,có—t«‚r"r#r.s r)Ú
connectionzBaseHTTPResponse.connection"r0r,có—|jSr")Ú_retriesr.s r)râzBaseHTTPResponse.retries&s €à}‰}Ðr,cój—|*|jr|jdj|_||_y)Nr4)ÚhistoryÚredirect_locationrþr)r&râs  r)râzBaseHTTPResponse.retries*s-€ð Ð  7§?¢?Ø—‘ rÑ*×<Ñ<ˆDŒH؈ r,có—t«‚r"r#©r&Úamtrìs   r)ÚstreamzBaseHTTPResponse.stream1s €ô"Ó#Ð#r,có—t«‚r"r#)r&r
rìÚ cache_contents    r)ÚreadzBaseHTTPResponse.read6s €ô "Ó#Ð#r,có—t«‚r"r#r    s   r)Úread1zBaseHTTPResponse.read1>ó €ô
"Ó#Ð#r,có—t«‚r"r#r    s   r)Ú read_chunkedzBaseHTTPResponse.read_chunkedErr,có—t«‚r"r#r.s r)Ú release_connzBaseHTTPResponse.release_connLr+r,có—t«‚r"r#r.s r)Ú
drain_connzBaseHTTPResponse.drain_connOr+r,có—t«‚r"r#r.s r)ÚshutdownzBaseHTTPResponse.shutdownRr+r,có—t«‚r"r#r.s r)ÚclosezBaseHTTPResponse.closeUr+r,cóz—|jjdd«j«}|j€€||jvrt |«|_yd|vr\|j d«Dcgc].}|j«|jvr|j«‘Œ0}}|rt |«|_yyyycc}w)z=
        Set-up the _decoder attribute if necessary.
        úcontent-encodingräNr—)rárÒrïrðÚCONTENT_DECODERSr›r˜r™)r&Úcontent_encodingr rŸs    r)Ú _init_decoderzBaseHTTPResponse._init_decoderXs½€ð  Ÿ<™<×+Ñ+Ð,>ÀÓC×IÑIÓKÐØ =‰=Ð  Ø 4×#8Ñ#8Ñ8Ü ,Ð-=Ó >• ØÐ(Ñ(ð.×3Ñ3°CÓ8öàØ—w‘w“y D×$9Ñ$9Ñ9ð—G‘G•I𐠠  ðñ
Ü$0Ð1AÓ$BD•Mðð )ð !ùòsÁ-3B8cóv—|s|jr td«‚|S||rd}    |jr$|jj||¬«}d|_|r||j«z }|S#|j$r?}|j
j dd«j«}td|z|«|‚d}~wwxYw)    zN
        Decode the data passed in and potentially flush the decoder.
        ú_Calling read(decode_content=False) is not supported after read(decode_content=True) was called.Nr4rLTrräzEReceived response with content-encoding: %s, but failed to decode it.)
rírÁrðr*ràrárÒrïrÚ_flush_decoder)r&r'rìÚ flush_decoderr(r rs       r)Ú_decodezBaseHTTPResponse._decodeksۀñØ×(Ò(Ü"ð<óððˆKà Ð ¡ØˆJð
    Ø}Š}Ø—}‘}×/Ñ/°ÀÐ/ÓLØ,0Ô)ñ Ø D×'Ñ'Ó)Ñ )ˆDàˆ øð×)Ñ)ò    Ø#Ÿ|™|×/Ñ/Ð0BÀBÓG×MÑMÓOÐ Üð'Ø)9ñ:àóðð     ûð    ús£0A*Á*B8Á9:B3Â3B8cóˆ—|jr6|jjd«|jj«zSy)zk
        Flushes the decoder. Should only be called if the decoder is actually
        being used.
        r,)rðr*r2r.s r)r#zBaseHTTPResponse._flush_decoders5€ð
=Š=Ø—=‘=×+Ñ+¨CÓ0°4·=±=×3FÑ3FÓ3HÑHÐ HØr,có†—|jt|««}t|«dk(ry||dt|«t|«Sr¢)rri)r&ÚbÚtemps   r)ÚreadintozBaseHTTPResponse.readintošs;€Øy‰yœ˜Q›Ó ˆÜ ˆt‹9˜Š>Øà!ˆAˆk”D“    ˆNܐt“9Ð r,có—|jSr"©rár.s r)Ú
getheaderszBaseHTTPResponse.getheaders£ó €Ø|‰|Ðr,có:—|jj||«Sr")rárÒ)r&ÚnameÚdefaults   r)Ú    getheaderzBaseHTTPResponse.getheader¦s€Ø|‰|×Ñ  gÓ.Ð.r,có—|jSr"r,r.s r)ÚinfozBaseHTTPResponse.infoªr.r,có—|jSr")rþr.s r)ÚgeturlzBaseHTTPResponse.geturl­s €Øx‰xˆr,)ráú>typing.Mapping[str, str] | typing.Mapping[bytes, bytes] | Nonerèr7rér7rêr¬rëú
str | Nonerìr:rñr8râú Retry | Noner8rW)r8z"str | None | typing.Literal[False]r;)r8z
typing.Any©r8r8©rþr8r8rW)r8zBaseHTTPConnection | None)r8r9)râr9r8rW©iN)r
int | Nonerìú bool | Noner8útyping.Iterator[bytes]©NNF©r
r=rìr>r r:r8r6©NN©r
r=rìr>r8r6rVr")
r'r6rìr>r$r:r(r=r8r6)r(rfr8r7)r8r )r0r¬r1r8r8r8)'r<r=r>rrsr²rõÚIOErrorrGrNràÚ__annotations__r„Ú    ZstdErrorrJrör?r'rürþÚsetterrrâr rrrrrrrr r%r#r*r-r2r4r6r@r,r)rÞrÞÃsˆ…Ú4ÐØ ÐØ˜T˜FÑ"ÐÙØ˜V˜HÑ$ÐÚ1Ðà:AÀ4Ç:Á:Ð9NÐÐ6ÓNØ ÐØ &§,¡, Ñ0ÐáØ $§.¡.Ð!2Ñ2Ðð
SWð!%ñ!*ðPð!*ðð    !*ð
ð !*ð ð !*ðð!*ðð!*ð ð!*ðð!*ð
ó!*óF
ðò$óð$ó!ð*ò$óð$ð    ‡ZZò$óð$ðò$óð$ðòóðð ‡^^ò óð ðFJð$Øð$Ø7Bð$à    ó$ðØ&*Ø#ð    $à ð$ð$ð$ðð    $ð
 
ó $ðØ&*ð$à ð$ð$ð$ð
ó    $ðØ&*ð$à ð$ð$ð$ð
 ó    $ó$ó$ó$ó$óCð0"&ð #àð#ð$ð#ðð    #ð
ð #ð
ó #óJóóô/óôr,rÞcó‡—eZdZdZ                                                                        d                                                                                                                                                    d ˆfd„ Zd!d„Zd!d„Zed"d„«Zed#d„«Z    d$d„Z
d%d„Z d&d    „Z e d'd
„«Z    d(d d œ                    d)d „Z    d(d d œ                    d)d„Z            d*                            d+d„Z        d,                    d-d„Z    d.                    d/d„Zd$d„Zd!d„Zd!d„Zed$d„«Zd%d„Zd!d„Zd$d„Zd!d„Zd0d„Z    d,                    d/d„Zed1d„«Zej>d2d„«Zd3d„Z ˆxZ!S)4raá
    HTTP Response container.
 
    Backwards-compatible with :class:`http.client.HTTPResponse` but the response ``body`` is
    loaded and decoded on-demand when the ``data`` property is accessed.  This
    class is also compatible with the Python standard library's :mod:`io`
    module, and can hence be treated as a readable object in the context of that
    framework.
 
    Extra parameters for behaviour not present in :class:`http.client.HTTPResponse`:
 
    :param preload_content:
        If True, the response's body will be preloaded during construction.
 
    :param decode_content:
        If True, will attempt to decode the body based on the
        'content-encoding' header.
 
    :param original_response:
        When this HTTPResponse wrapper is generated from an :class:`http.client.HTTPResponse`
        object, it's convenient to include the original for debug purposes. It's
        otherwise unused.
 
    :param retries:
        The retries contains the last :class:`~urllib3.util.retry.Retry` that
        was used during the request.
 
    :param enforce_content_length:
        Enforce content length checking. Body returned by server must match
        value of Content-Length header, if present. Otherwise, raise error.
    c
óÊ•—t‰||||||||| ¬«||_||_d|_d|_|    |_d|_| |_|rt|ttf«r||_|
|_ | |_ t|d«r||_||_d|_|j#|«|_t'«|_|r%|js|j+|¬«|_yyy)N)rárèrérêrërìrñrârr©rì)ÚsuperrJÚenforce_content_lengthÚ
auto_closeÚ_bodyÚ_fpÚ_original_responseÚ_fp_bytes_readÚmsgrÃr¬r6Ú_poolÚ _connectionruÚ_sock_shutdownÚ
chunk_leftÚ _init_lengthÚlength_remainingrµÚ_decoded_bufferr)r&ÚbodyrárèrérêrëÚpreload_contentrìÚoriginal_responseÚpoolrrRrârLÚrequest_methodrñrMÚ sock_shutdownÚ    __class__s                   €r)rJzHTTPResponse.__init__Òsóø€ô*    ‰ÑØØØØ)ØØ)Ø#Øð    ô        
ð'=ˆÔ#Ø$ˆŒàˆŒ
Ø04ˆŒØ"3ˆÔØˆÔØˆŒá ”J˜t¤c¬5 \Ô2؈DŒJàˆŒ
Ø%ˆÔä 4˜Ô  ØˆDŒHØ+ˆÔð'+ˆŒð!%× 1Ñ 1°.Ó AˆÔô 0Ó1ˆÔñ  4§:¢:ØŸ™°.˜ÓAˆDJð$.ˆ?r,cóŽ—|jr |jsy|jj|j«d|_yr")rSrTÚ    _put_connr.s r)rzHTTPResponse.release_conns4€ØzŠz ×!1Ò!1Øà 
‰
×јT×-Ñ-Ô.؈Õr,cód—    |j«y#ttttf$rYywxYw)zÏ
        Read and discard any remaining HTTP response data in the response connection.
 
        Unread data in the HTTPResponse connection blocks the connection from being released back to the pool.
        N)rrÚOSErrorr rr.s r)rzHTTPResponse.drain_conns+€ð     Ø I‰IKøÜœ7¤L´-Ð@ò    Ù ð    ús ‚“/®/cóp—|jr |jS|jr|jd¬«Sy)NT)r )rNrOrr.s r)r'zHTTPResponse.data$s0€ð :Š:Ø—:‘:Ð à 8Š8Ø—9‘9¨49Ó0Ð 0àr,có—|jSr")rTr.s r)rzHTTPResponse.connection/s€à×ÑÐr,có,—t|j«Sr")rrOr.s r)ÚisclosedzHTTPResponse.isclosed3s€Ü˜DŸH™HÓ%Ð%r,có—|jS)zì
        Obtain the number of bytes pulled over the wire so far. May differ from
        the amount of content returned by :meth:``urllib3.response.HTTPResponse.read``
        if bytes are encoded on the wire (e.g, compressed).
        )rQr.s r)ÚtellzHTTPResponse.tell6s€ð ×"Ñ"Ð"r,cóê—|jjd«}|~|jrtj    d«y    |j d«Dchc] }t |«’Œ}}t|«dkDrtd|z«‚|j«}|dkrd}nd}    t |j«}|dvsd    |cxkrd
ksn|d k(rd}|Scc}w#t$rd}YŒBwxYw#t$rd}YŒ=wxYw) zM
        Set initial length value for Response content if available.
        zcontent-lengthNzÒReceived response with both Content-Length and Transfer-Encoding set. This is expressly forbidden by RFC 7230 sec 3.3.2. Ignoring Content-Length and attempting to process response as Transfer-Encoding: chunked.r—rz8Content-Length contained multiple unmatching values (%s)r)éÌi0édéÈÚHEAD) rárÒrçÚlogÚwarningr˜r7rirrÖrÂrè)r&r^Úcontent_lengthÚvalÚlengthsrŽrès       r)rWzHTTPResponse._init_length>s€ð
&*§\¡\×%5Ñ%5Ð6FÓ%Gˆà Ð %؏|Š|ô— ‘ ðôðð "ð 0>×/CÑ/CÀCÓ/HÖI¨œ3˜s8ÐIÐIܐw“< !Ò#Ü'ð1Ø3AñBóðð!Ÿ™›ð˜A’:Ø!‘FðˆFð    Ü˜Ÿ™Ó%ˆFð
ZÑ  3¨&Ô#6°3Ô#6¸.ÈFÒ:R؈Fàˆ ùò7Jøôò Ø’ð ûôò    ØŠFð    ús6ÁCÁCÁ&.CÂC$ÃCà C!àC!Ã$ C2Ã1C2c#óøK—d}        d–—d}|sL|jr|jj«|jr|jj«|jr,|jj«r|j!«yyy#t$r}t|jdd«|‚d}~wt$r6}dt    |«vr t |«|‚t|jdd«|‚d}~wt $rL}|j)|j|j|j k(rd}nd|›}t||«|‚d}~wttf$r}td|›|«|‚d}~wwxYw#|sL|jr|jj«|jr|jj«|jr,|jj«r|j!«wwwxYw­w)zç
        Catch low-level python exceptions, instead re-raising urllib3
        variants, so that low-level exceptions are not leaked in the
        high-level api.
 
        On exit, release the connection back to the pool.
        FNzRead timed out.zread operation timed outz!Response may not contain content.zConnection broken: T)Ú SocketTimeoutrrSr r¬rrÚexpectedÚpartialrrrdrPrrTrhr)r&Ú
clean_exitr Úargs    r)Ú_error_catcherzHTTPResponse._error_catchervsÞèø€ðˆ
ð5    $ð KÛð>ˆJñð×*Ò*Ø×+Ñ+×1Ñ1Ô3ð
×#Ò#Ø×$Ñ$×*Ñ*Ô,ð×&Ò&¨4×+BÑ+B×+KÑ+KÔ+MØ×!Ñ!Õ#ð,NÐ&øôa!ò Sô' t§z¡z°4Ð9JÓKÐQRÐRûäò Sà-´S¸³VÑ;ä" 1›+¨1Ð,ä& t§z¡z°4Ð9JÓKÐQRÐRûä!ò     3à—J‘JÐ*ØŸ    ™    Ð-ØŸ
™
 q§y¡y jÒ0à=‘Cà/°¨uÐ5CÜ# C¨Ó+°Ð2ûä!¤7Ð+ò KÜ#Ð&9¸!¸Ð$?ÀÓCÈÐJûð Kûñð×*Ò*Ø×+Ñ+×1Ñ1Ô3ð
×#Ò#Ø×$Ñ$×*Ñ*Ô,ð×&Ò&¨4×+BÑ+B×+KÑ+KÔ+MØ×!Ñ!Õ#ð,NÐ&üs_‚G:‡B‹E/BG:    E,ÂB5Â5 E,Ã1C2Ã2 E,Ã>AEÅE,ÅE'Å'E,Å,E/Å/BG7Ç7G:F©rcóâ—|jsJ‚d}|r||kDs|€ç|jrÛ|j|kDrÌtjstj
dkr©|r|jj |«Stj«}d}||dk7r_|t||«}||z}n|}|jj|«}|s    |j«S|j|«~|€ŒY|dk7rŒ_|j«S|r7||jj |«S|jj «S||jj|«S|jj«S)aX
        Read a response with the thought that reading the number of bytes
        larger than can fit in a 32-bit int at a time via SSL in some
        known cases leads to an overflow error that has to be prevented
        if `amt` or `self.length_remaining` indicate that a problem may
        happen.
 
        The known cases:
          * CPython < 3.9.7 because of a bug
            https://github.com/urllib3/urllib3/issues/2513#issuecomment-1152559900.
          * urllib3 injected with pyOpenSSL-backed SSL-support.
          * CPython < 3.10 only when `amt` does not fit 32-bit int.
        iÿÿÿ)r‚é
ir) rOrXr
Ú IS_PYOPENSSLÚsysÚ version_inforrÅrÆÚminrrÈrÊ)r&r
rÚ    c_int_maxr¹Ú max_chunk_amtÚ    chunk_amtr's        r)Ú_fp_readzHTTPResponse._fp_read¸sH€ð&xŠxˆˆx؈    á S˜9’_à Ø×)Ò)Ø×)Ñ)¨IÒ5ä× Ò ¤C×$4Ñ$4°wÒ$>ÙØ—x‘x—~‘~ iÓ0Ð0Ü—Z‘Z“\ˆFð"ˆMؐ+ ¨¢Ø?Ü # C¨Ó 7Iؘ9Ñ$‘Cà -IØ—x‘x—}‘} YÓ/ÙØð—?‘?Ó$Ð $ð— ‘ ˜TÔ"Øð‘+ ¨£ð—?‘?Ó$Ð $Ù Ø*-¨/4—8‘8—>‘> #Ó&Ð O¸t¿x¹x¿~¹~Ó?OÐ Oð*-¨4—8‘8—=‘= Ó%Ð M¸d¿h¹h¿m¹m»oÐ Mr,có¤—|j€yt|jdd«}|j«5|s|j||¬«nd}|h|dk7rc|sa|jj    «|j
rv|j j|j dk7r[t|j|j «‚|r9|dk7r|r|j t|«k(r|jj    «ddd«rH|xjt|«z c_|j |xj t|«zc_|S#1swYŒUxYw)z7
        Reads `amt` of bytes from the socket.
        NÚclosedFr|r,r)
rOÚgetattrr{r†rrLrXrrQri)r&r
rÚ    fp_closedr's     r)Ú    _raw_readzHTTPResponse._raw_readñs$€ð 8‰8Ð Øä˜DŸH™H h°Ó6ˆ    à ×  Ñ  Ó "ñ    !Ù:C4—=‘= ¨E=Ô2ȈD؈ 3¨!¢8±Dð—‘—‘Ô à×/Ò/Ø×-Ñ-Ð9Ø×-Ñ-°Ò2ô)¨×)<Ñ)<¸d×>SÑ>SÓTÐTÙØ˜’¡$¨4×+@Ñ+@ÄCÈÃIÒ+Mð —‘—‘Ô ÷=    !ñ@ Ø × Ò ¤3 t£9Ñ ,Õ Ø×$Ñ$Ð0Ø×%Ò%¬¨T«Ñ2Õ%؈ ÷I    !ð    !ús µB=EÅEc    ó¢—|j«|€ |j}|r|dkrd}nŸ|d}|jr\|jjrF|j    d|d|t |j «z
¬«}|j j|«t |j «|k\r|j j|«S|j|«}|duxs
|dk7xr| }|s<t |j «dk(r$|jr|jjs|S|€|j    |||«}|r||_
|S|s|jr td«‚|S|j    ||||t |j «z
¬«}|j j|«t |j «|krt|rr|j|«}|j    ||||t |j «z
¬«}|j j|«t |j «|kr|rŒr|j j|«}|S)aT
        Similar to :meth:`http.client.HTTPResponse.read`, but with two additional
        parameters: ``decode_content`` and ``cache_content``.
 
        :param amt:
            How much of the content to read. If specified, caching is skipped
            because it doesn't make sense to cache partial content as the full
            response.
 
        :param decode_content:
            If True, will attempt to decode the body based on the
            'content-encoding' header.
 
        :param cache_content:
            If True, will save the returned data such that the same result is
            returned despite of the state of the underlying file object. This
            is useful if you want the ``.data`` property to continue working
            after having ``.read()`` the file object. (Overridden if ``amt`` is
            set.)
        NrFr,©r$r(r"rL) r rìrðr/r%rirYr¿rÒr‹rNrírÁ)r&r
rìr Ú decoded_datar'r$s       r)rzHTTPResponse.read%sF€ð4     ×ÑÔØ Ð !Ø!×0Ñ0ˆNá 3˜’7à‰CØ ˆ_Ø!ˆMà}Š} §¡×!BÒ!BØ#Ÿ|™|ØØ"Ø"'Ø"¤S¨×)=Ñ)=Ó%>Ñ>ð     ,ó  ð ×$Ñ$×(Ñ(¨Ô6ܐ4×'Ñ'Ó(¨CÒ/Ø×+Ñ+×/Ñ/°Ó4Ð4à~‰~˜cÓ"ˆà˜t˜ Ò>¨¨q©Ò(=¸°Xˆ ñܐD×(Ñ(Ó)¨QÒ.Ø—]’] t§}¡}×'HÒ'HàˆKà ˆ;Ø—<‘<  n°mÓDˆDÙØ!”
ðBˆ ñ="Ø×,Ò,Ü&ð@óðð àŸ<™<ØØØØ¤ T×%9Ñ%9Ó!:Ñ:ð    (óˆLð ×  Ñ  × $Ñ $ \Ô 2äd×*Ñ*Ó+¨cÒ1±dð—~‘~ cÓ*Ø#Ÿ|™|ØØ"Ø!Ø"¤S¨×)=Ñ)=Ó%>Ñ>ð     ,ó  ð ×$Ñ$×(Ñ(¨Ô6ôd×*Ñ*Ó+¨cÒ1²dð×'Ñ'×+Ñ+¨CÓ0ˆDàˆ r,c    ór—|€ |j}|r|dkrd}|jrâ|s td«‚|jrz|jjrd|t |j «|krJ|jd|d||t |j «z
nd¬«}|j j|«t |j «dkDr7|€|j j«S|j j|«S|dk(ry|j|d¬«}|r|€|S|j«    | }|j||||¬    «}|j j|«|s|rn|jd
d¬«}ŒL|€|j j«S|j j|«S) aƒ
        Similar to ``http.client.HTTPResponse.read1`` and documented
        in :meth:`io.BufferedReader.read1`, but with an additional parameter:
        ``decode_content``.
 
        :param amt:
            How much of the content to read.
 
        :param decode_content:
            If True, will attempt to decode the body based on the
            'content-encoding' header.
        NrzaCalling read1(decode_content=False) is not supported after read1(decode_content=True) was called.r,FrTr|rLi ) rìrírÁrðr/rirYr%r¿rÛrÒr‹r )r&r
rìrŽr'r$s      r)rzHTTPResponse.read1…s€ð" Ð !Ø!×0Ñ0ˆNÙ 3˜’7àˆCà × $Ò $Ù!Ü"ð=óðð
— ’ Ø—M‘M×5Ò5ؐ[¤C¨×(<Ñ(<Ó$=ÀÒ$Cà#Ÿ|™|ØØ"Ø"'à;>¸?˜œc $×"6Ñ"6Ó7Ò7ÐPTð  ,ó  ð×$Ñ$×(Ñ(¨Ô6ܐ4×'Ñ'Ó(¨1Ò,ؐ;Ø×/Ñ/×7Ñ7Ó9Ð9Ø×+Ñ+×/Ñ/°Ó4Ð4Ø !Š8Øð~‰~˜c¨ˆ~Ó.ˆÙ  ØˆKà ×ÑÔØØ $˜HˆMØŸ<™<ؐn mÀð(óˆLð ×  Ñ  × $Ñ $ \Ô 2Ù™}ØØ—>‘> $¨d>Ó3ˆDðð ˆ;Ø×'Ñ'×/Ñ/Ó1Ð 1Ø×#Ñ#×'Ñ'¨Ó,Ð,r,c#óúK—|jr,|j«r|j||¬«Ed{–—†yt|j«r:t |j «dkDs"|jr„|jjrm|j||¬«}|r|–—t|j«sŒ/t |j «dkDrŒH|jr|jjrŒkyyyy7ŒÃ­w)a_
        A generator wrapper for the read() method. A call will block until
        ``amt`` bytes have been read from the connection or until the
        connection is closed.
 
        :param amt:
            How much of the content to read. The generator will return up to
            much data per iteration, but may return less. This is particularly
            likely when using compressed data. However, the empty string will
            never be returned.
 
        :param decode_content:
            If True, will attempt to decode the body based on the
            'content-encoding' header.
        rJNr)r
rì)
rçÚsupports_chunked_readsrrrOrirYrðr/r)r&r
rìr's    r)r zHTTPResponse.streamËsÂèø€ð$ <Š<˜D×7Ñ7Ô9Ø×(Ñ(¨¸^Ð(ÓL× LÑ Lô! §¡Ô*ܐt×+Ñ+Ó,¨qÒ0Ø—M’M d§m¡m×&GÒ&Gà—y‘y S¸yÓHáØ’Jô! §¡Õ*ܐt×+Ñ+Ó,¨qÓ0Ø—M’M d§m¡m×&GÔ&GMÐ&GMð Mús"‚3C;µC9¶BC;Â9C;Ã"C;Ã5C;có—y)NTr@r.s r)ÚreadablezHTTPResponse.readableës€Ør,cóž—|js td«‚|j€ td«‚|jtj
«y)Nz8Cannot shutdown socket as self._sock_shutdown is not setzCCannot shutdown as connection has already been released to the pool)rUrÂrTrÁÚsocketÚSHUT_RDr.s r)rzHTTPResponse.shutdownîsG€Ø×"Ò"ÜÐWÓXÐ XØ × Ñ Ð #ÜØUóð ð     ×ÑœFŸN™NÕ+r,có—d|_|js&|jr|jj«|jr|jj«|j
s t jj|«yyr")rUrˆrOrrTrMrÅÚIOBaser.s r)rzHTTPResponse.close÷s\€Ø"ˆÔà{Š{˜tŸxšxØ H‰HN‰NÔ à × Ò Ø × Ñ × "Ñ "Ô $àŠÜ I‰IO‰O˜DÕ !ðr,có@—|js)tjjj    |«S|j
€yt |j
d«r|j
j«St |j
d«r|j
jSy)NTrhrˆ)rMrÅr˜rˆÚ__get__rOrurhr.s r)rˆzHTTPResponse.closedsq€àŠÜ—9‘9×#Ñ#×+Ñ+¨DÓ1Ð 1Ø X‰XÐ ØÜ T—X‘X˜zÔ *Ø—8‘8×$Ñ$Ó&Ð &Ü T—X‘X˜xÔ (Ø—8‘8—?‘?Ð "àr,có¦—|j€ td«‚t|jd«r|jj«Std«‚)Nz-HTTPResponse has no file to get a fileno fromÚfilenozOThe file-like object this HTTPResponse is wrapped around has no file descriptor)rOrdrurœr.s r)rœzHTTPResponse.filenosI€Ø 8‰8Ð ÜÐIÓJÐ JÜ T—X‘X˜xÔ (Ø—8‘8—?‘?Ó$Ð $äð0óð r,có®—|jIt|jd«r2t|jdd«s|jj«Syyy)Nr2rˆF)rOrur‰r2r.s r)r2zHTTPResponse.flushsJ€à H‰HÐ  Ü˜Ÿ™ 'Ô*ܘDŸH™H h°Ô6à—8‘8—>‘>Ó#Ð #ð7ð+ð !r,có.—t|jd«S)a
        Checks if the underlying file-like object looks like a
        :class:`http.client.HTTPResponse` object. We do this by testing for
        the fp attribute. If it is present we assume it returns raw chunks as
        processed by read_chunked().
        Úfp)rurOr.s r)r‘z#HTTPResponse.supports_chunked_reads#s€ôt—x‘x Ó&Ð&r,có$—|jy|jjj«}|j    dd«d}    t |d«|_y#t $r,|j«|r t||«d‚td«d‚wxYw)Nó;rrrbzResponse ended prematurely)
rVrOrŸÚreadliner˜r7rÂrrr)r&Úlines  r)Ú_update_chunk_lengthz!HTTPResponse._update_chunk_length,s‹€ð ?‰?Ð &ØØx‰x{‰{×#Ñ#Ó%ˆØz‰z˜$ Ó" 1Ñ%ˆð        LÜ! $¨›mˆDOøÜò    LØ J‰JŒLÙä(¨¨tÓ4¸$Ð>ô$Ð$@ÓAÀtÐKð    Lús ÁAÁ5Bcón—d}|€K|jj|j«}|}|jjd«d|_|S|jB||jkr3|jj|«}|j|z
|_|}|S||jk(rA|jj|«}|jjd«d|_|}|S|jj|j«}|jjd«d|_|S)Nr[)rOÚ
_safe_readrV)r&r
Úreturned_chunkrÎÚvalues     r)Ú _handle_chunkzHTTPResponse._handle_chunk>s€ØˆØ ˆ;Ø—H‘H×'Ñ'¨¯©Ó8ˆEØ"ˆNØ H‰H× Ñ  Ô "Ø"ˆDŒOðÐð_‰_Ð (¨S°4·?±?Ò-BØ—H‘H×'Ñ'¨Ó,ˆEØ"Ÿo™o°Ñ3ˆDŒOØ"ˆNðÐðD—O‘OÒ #Ø—H‘H×'Ñ'¨Ó,ˆEØ H‰H× Ñ  Ô "Ø"ˆDŒOØ"ˆNð
Ðð"ŸX™X×0Ñ0°·±ÓAˆNØ H‰H× Ñ  Ô "Ø"ˆDŒOØÐr,c#ó¤K—|j«|js td«‚|j«s t    d«‚|j «5|j r9t|j «r$|j j«    ddd«y|jj€
    ddd«y|r|dkrd}    |jr|jjrd}n1|j«|jdk(rn-|j|«}|j!||d|¬«}|r|–—Œr|r|j#«}|r|–—|j:|jjj%«}|sn|dk(rn |jŒ:|j r|j j«ddd«y#1swYyxYw­w)    aÆ
        Similar to :meth:`HTTPResponse.read`, but with an additional
        parameter: ``decode_content``.
 
        :param amt:
            How much of the content to read. If specified, caching is skipped
            because it doesn't make sense to cache partial content as the full
            response.
 
        :param decode_content:
            If True, will attempt to decode the body based on the
            'content-encoding' header.
        zHResponse is not chunked. Header 'transfer-encoding: chunked' is missing.zkBody should be http.client.HTTPResponse like. It should have have an fp attribute which returns raw chunks.Nrr,F)rìr$r(s
)r rçrr‘rr{rPrrrOrŸrðr/r¤rVr©r%r#r¢)r&r
rìrÎÚdecodedr£s      r)rzHTTPResponse.read_chunkedTsÃèø€ð      ×ÑÔà|Š|Ü$ðBóð ð×*Ñ*Ô,Ü*ðPóð ð
×  Ñ  Ó "ñ5    0à×&Ò&Ô+>¸t×?VÑ?VÔ+WØ×'Ñ'×-Ñ-Ô/Ø÷    5    0ð5    0ðx‰x{‰{Ð"Ø÷5    0ð5    0ñs˜Q’wðàà—=’= T§]¡]×%FÒ%FØ‘Eà×-Ñ-Ô/Ø—‘¨!Ò+ØØ ×.Ñ.¨sÓ3EØŸ,™,ØØ#1Ø"'Ø"ð    'óñ Ø!’Mð!ñ$ð×-Ñ-Ó/ÙØ!’Mð—(‘(Ð&Ø—x‘x—{‘{×+Ñ+Ó-ÙàØ˜7’?Øð —(‘(Ñ&ð×&Ò&Ø×'Ñ'×-Ñ-Ô/÷k5    0÷5    0ñ5    0üs=‚AGÁ=G    GÂGÂ2    GÂ;CGÆ&GÆ;    GÇG Ç    Gcó—|jS)zÄ
        Returns the URL that was the source of this response.
        If the request that generated this response redirected, this method
        will return the final redirect location.
        ©rîr.s r)rþzHTTPResponse.url¨s€ðנѠРr,có—||_yr"r­rs  r)rþzHTTPResponse.url±s
€àˆÕr,c#ó.K—g}|jd¬«D]d}d|vrM|jd«}dj|«|dzdz–—|ddD]    }|dz–—Œ |dr|dg}ŒQg}ŒT|j|«Œf|rdj|«–—yy­w)NTrJó
r,rrr4)r r˜rŒr‹)r&r¹rÎÚchunksÚxs     r)Ú__iter__zHTTPResponse.__iter__µs±èø€Ø ˆØ—[‘[°[Ó5ò     %ˆEؘ‰~ØŸ™ UÓ+Ø—h‘h˜vÓ&¨°©Ñ2°UÑ:Ò:Ø  "˜ò$Aؘe™)“Oð$à˜"’:Ø$ R™j˜\‘Fà‘Fà— ‘ ˜eÕ$ð     %ñ Ø—(‘(˜6Ó"Ó "ð ùs‚BB)räNrrzHTTP/?NTTNNNNNTNNTN)&rZr rár7rèr7rér7rêr¬rër8r[r:rìr:r\z_HttplibHTTPResponse | Noner]zHTTPConnectionPool | NonerúHTTPConnection | NonerRz_HttplibHTTPMessage | Nonerâr9rLr:r^r8rñr8rMr:r_z#typing.Callable[[int], None] | Noner8rWrVr;)r8r´r9rÜ)r^r8r8r=)r8ztyping.Generator[None]r")r
r=rr:r8r6r@rArBrCr<)r
r=rìr>r8ztyping.Generator[bytes])r
r=r8r6r:r;)r8r?)"r<r=r>r­rJrrr?r'rrhrjrWrr{r†r‹rrr r“rrrˆrœr2r‘r¤r©rrþrGr³Ú __classcell__)r`s@r)rr±süø„ñðDØRVØØØ&Ø!Ø $Ø#Ø9=Ø*.Ø,0Ø*.Ø $Ø'+Ø%)Ø"&ØØ=Að'>Bàð>BðPð>Bðð    >Bð
ð >Bð ð >Bðð>Bðð>Bðð>Bð7ð>Bð(ð>Bð*ð>Bð(ð>Bðð>Bð!%ð>Bð #ð!>Bð" ð#>Bð$ð%>Bð&;ð'>Bð(
õ)>Bó@ ó    ðòóððò óð ó&ó#ó6ðpò?$óð?$ðFð7Nðñ    7Nà ð7Nðð    7Nð
 
ó 7Nðvð2ðñ    2à ð2ðð    2ð
 
ó 2ðlØ&*Ø#ð    ^à ð^ð$ð^ðð    ^ð
 
ó ^ðDØ&*ðD-à ðD-ð$ðD-ð
ó    D-ðNFJðØðØ7Bðà     óó@ó,ó
"ðò
óð
ó    ó$ó'óLó$ð.EIðR0ØðR0Ø6AðR0à     óR0ðhò!óð!ð    ‡ZZò óð ÷#r,r)r³r¬r8r )JÚ
__future__rr·rÅrürúÚloggingr•r€Útypingr|rGÚ
contextlibrÚ http.clientrÚ_HttplibHTTPMessagerÚ_HttplibHTTPResponserrvÚ TYPE_CHECKINGÚ_base_connectionr    Ú
brotlicffirsÚ ImportErrorrär
r Ú _collectionsr rr rrÚ
exceptionsrrrrrrrrrrrÚ util.responserrÚ
util.retryrÚconnectionpoolrÚ    getLoggerr<rpr rBrZr`rprÚ compressionr„Ú    backportsr²r†r”r›rµr˜rÞr@r,r)ú<module>rÉs„ðÝ"ãÛ    ÛÛÛ Û
Û ÛÛ Ý%Ý:Ý<Ý+à    ×ÒÝ4ððÛ#õ Ý(Ý(ßCÑC÷ ÷ ÷ ñ ÷=Ýà    ×ÒÝ2à€g×јÓ!€÷    $ñ    $ô8!^ô8!÷vñô =!.ô=!ð@
Ðô(˜ô(ðV9Ø
×ј7Ò"Þ$å"ð€Hô/nô/ôd5B>ô5Bóp÷$JñJôZkr—y‘yôkô\S #Ð#õS #øðu òÞðûàòØ ƒFðûðxòØ‚Hðús<ÁEÃ;E<Å    E+Å'E.Å*E+Å+E.Å.E9Å8E9Å<FÆF