+
     Bi                     h   ^ RI t^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t
^ RIHt . R8Ot^PtRtRtRtRtRt]! 4       P+                  ]P,                  P.                  4       ]P,                  P.                  P1                  4        U u/ uF  q V P2                  bK  	  up tRt^dt]P:                  ! R4      P<                  t]P:                  ! R4      P@                  t!]P:                  ! R4      t"]P:                  ! R4      t#0 R9mt$R:R lt%R R lt& ! R  R!]PN                  PP                  4      t)R" t*])3R# lt+])3R$ lt, ! R% R]PZ                  4      t.R& t/ ! R' R4      t0 ^ RI1t1 ! R( R)]04      t2]Pg                  R)4        ! R* R]54      t6 ! R+ R]64      t7 ! R, R]64      t8 ! R- R]64      t9 ! R. R]64      t: ! R/ R	]64      t; ! R0 R
]64      t< ! R1 R]64      t= ! R2 R]=4      t> ! R3 R]=4      t? ! R4 R]=4      t@ ! R5 R]64      tA ! R6 R]64      tB ! R7 R]C]A4      tD]6tER# u up i   ]4 d     Li ; i);    N)urlsplitHTTPResponseHTTPConnectionHTTPExceptionNotConnectedUnknownProtocolUnknownTransferEncodingUnimplementedFileModeIncompleteRead
InvalidURLImproperConnectionStateCannotSendRequestCannotSendHeaderResponseNotReadyBadStatusLineLineTooLongRemoteDisconnectedi  UNKNOWNIdlezRequest-startedzRequest-senti   s   [^:\s][^:\r\n]*s   \n(?![ \t])|\r(?![ \t\n])z[ - ]z[ -]c                     V P                  R 4      #   \         do   p\        TP                  TP                  TP                  TP
                  TP                  4       : RYP                  TP
                   :R RT: R24      RhRp?ii ; i)latin-1z (z.20z) is not valid Latin-1. Use z9.encode('utf-8') if you want to send it encoded in UTF-8.N)encodeUnicodeEncodeErrorencodingobjectstartendtitle)datanameerrs   && "/usr/lib/python3.14/http/client.py_encoder#      s{    
E{{9%% E LLJJIIGG ZZ\4		#''2D:; AE	EEs    BA)BBc                0    V ^8  d   QhR\         R\         /# )   enc_namereturn)bytes)formats   "r"   __annotate__r*      s       %     c                 P    V P                  R 4      w  rpV'       d
   V R,          p V # )   %   ])	partition)r&   percent_s   &  r"   _strip_ipv6_ifacer2      s)    #--d3HqDOr+   c                   &   a  ] tR t^t o R tRtV tR# )HTTPMessagec                *   VP                  4       R ,           p\        V4      p. p^ pV P                  4        FX  pVRV P                  4       V8X  d   ^pMVR,          P                  4       '       g   ^ pV'       g   KG  VP	                  V4       KZ  	  V# ):N:N   N)lowerlenkeysisspaceappend)selfr    nlsthitlines   &&    r"   getallmatchingheaders!HTTPMessage.getallmatchingheaders   s     zz|c!IIIKDBQx~~4'"X%%''s

4    
r+    N)__name__
__module____qualname____firstlineno__rB   __static_attributes____classdictcell____classdict__s   @r"   r4   r4      s      r+   r4   c                    . p V P                  \        ^,           4      p\        V4      \        8  d   \        R4      hVP	                  V4       \        V4      \
        8  d   \        R\
        ,          4      hVR9   g   K   V# )Tzheader linezgot more than %d headers   
   
r+   )readline_MAXLINEr9   r   r<   _MAXHEADERSr   )fpheadersrA   s   &  r"   _read_headersrV      so     G
{{8a<(t9xm,,tw<+% :[ HII((Nr+   c                     R P                  V 4      P                  R4      p\        P                  P	                  VR7      P                  V4      # )r+   
iso-8859-1)_class)joindecodeemailparserParserparsestr)header_linesrY   hstrings   && r"   _parse_header_linesrb      s@     hh|$++L9G<<f-66w??r+   c                 .    \        V 4      p\        W!4      # N)rV   rb   )rT   rY   rU   s   && r"   parse_headersre      s     BGw//r+   c                     a a ] tR t^t oR R ltR tR tR tR tV 3R lt	V 3R lt
R tR	 tR!R
 ltR tR tR tR tR!R ltR tR tR tR"R ltR"R ltR"V 3R lltR tR tR tR!R ltR tR tR tR t R t!Rt"Vt#V ;t$# )#r   c                    VP                  R 4      V n        W n        W0n        R;V n        V n        \        V n        \        V n        \        V n	        \        V n
        \        V n        \        V n        \        V n        R# )rbN)makefilerT   
debuglevel_methodrU   msg_UNKNOWNversionstatusreasonchunked
chunk_leftlength
will_close)r=   sockrj   methodurls   &&&&&r"   __init__HTTPResponse.__init__  sa     --%$ #'&tx  ""r+   c                   \        V P                  P                  \        ^,           4      R4      p\	        V4      \        8  d   \        R4      hV P                  ^ 8  d   \        R\        V4      4       V'       g   \        R4      h VP                  R^4      w  r#pTP                  R4      '       g   T P                  4        \        T4      h \        X4      pT^d8  g   TR8  d   \        T4      h Y#X3#   \         d/     TP                  R^4      w  r#Rp L  \         d    Rp  Li ; ii ; i  \         d    \        T4      hi ; i)	r7   rX   zstatus linezreply:z-Remote end closed connection without responseN zHTTP/i  )strrT   rQ   rR   r9   r   rj   printreprr   split
ValueError
startswith_close_connr   int)r=   rA   rn   ro   rp   s   &    r"   _read_statusHTTPResponse._read_status#  sA   477##HqL1<@t9xm,,??Q(DJ' % &1 2 2	&*jjq&9#GV !!'**%%	&[F|v|#D))  , &&%  	"&**T1"5 		   	&%%	&s6   
C; $D7 ;D4DD0,D4/D00D47Ec                &   V P                   e   R #  V P                  4       w  rpV\        8w  d   M5\        V P                  4      pV P
                  ^ 8  d   \        RV4       ?KU  V;V n        V n        VP                  4       V n
        VR9   d	   ^
V n        M*VP                  R4      '       d	   ^V n        M\        V4      h\        V P                  4      ;V n         V n        V P
                  ^ 8  d8   V P                   P!                  4        F  w  rV\        RVR,           V4       K  	  V P                   P#                  R4      pV'       d%   VP%                  4       R8X  d   RV n        R V n        MRV n        V P+                  4       V n        R V n        V P                   P#                  R	4      pV'       d=   V P&                  '       g+    \1        V4      V n        V P.                  ^ 8  d   R V n        MR V n        V\4        8X  g.   V\6        8X  g#   ^dTu;8:  d   ^8  g   M V P8                  R
8X  d   ^ V n        V P,                  '       g.   V P&                  '       g   V P.                  f
   RV n        R # R # R # R #   \2         d    R T n         Li ; i)NTzheaders:zHTTP/1.header:r6   transfer-encodingrq   Fcontent-lengthHEAD)zHTTP/1.0zHTTP/0.9)rU   r   CONTINUErV   rT   rj   r}   codero   striprp   rn   r   r   re   rl   itemsgetr8   rq   rr   _check_closert   rs   r   r   
NO_CONTENTNOT_MODIFIEDrk   )	r=   rn   ro   rp   skipped_headershdrvaltr_encrs   s	   &        r"   beginHTTPResponse.beginD  s   <<# &*&7&7&9#GV!+DGG4O"j/2"((	DKlln..DL	**DL!'**"/"88tx??Q LL..0isC0 1 !!"56flln	1DL"DO DL ++- !!"23$,,,'!&k ;;?"&DKDK j Fl$:6CLLF"DK
 KK"DO     #  #"#s   I; ;JJc                   V P                   P                  R 4      pV P                  ^8X  d"   V'       d   RVP                  4       9   d   R# R# V P                   P                  R4      '       d   R# V'       d   RVP                  4       9   d   R# V P                   P                  R4      pV'       d   RVP                  4       9   d   R# R# )
connectioncloseTFz
keep-alivezproxy-connection)rU   r   rn   r8   )r=   connpconns   &  r"   r   HTTPResponse._check_close  s    ||-<<2 4::</ <<L)) LDJJL0   !34\U[[]2 r+   c                L    V P                   pR V n         VP                  4        R # rd   )rT   r   )r=   rT   s   & r"   r   HTTPResponse._close_conn  s    WW

r+   c                   <  \         SV `  4        V P                  '       d   V P                  4        R # R #   T P                  '       d   T P                  4        i i ; ird   )superr   rT   r   r=   	__class__s   &r"   r   HTTPResponse.close  sF    	#GMOwww  " twww  " s	   7 %Ac                   < \         SV `  4        V P                  '       d   V P                  P                  4        R # R # rd   )r   flushrT   r   s   &r"   r   HTTPResponse.flush  s'    777GGMMO r+   c                    R # )TrD   r=   s   &r"   readableHTTPResponse.readable  s    r+   c                    V P                   R J # rd   )rT   r   s   &r"   isclosedHTTPResponse.isclosed  s     ww$r+   c                6   V P                   f   R# V P                  R8X  d   V P                  4        R# V P                  '       d   V P	                  V4      # Ve   V^ 8  d   V P
                  e   WP
                  8  d   V P
                  pV P                   P                  V4      pV'       g   V'       d   V P                  4        V# V P
                  eE   V ;P
                  \        V4      ,          un        V P
                  '       g   V P                  4        V# V P
                  f   V P                   P                  4       pM# V P                  V P
                  4      p^ T n        V P                  4        V#   \         d    T P                  4        h i ; i)Nr+   r   )
rT   rk   r   rq   _read_chunkedrs   readr9   
_safe_readr   )r=   amtss   && r"   r   HTTPResponse.read  s:   77?<<6!<<<%%c**?sax{{&3+<kkS!A   "
 H	 (s1v%{{{$$&H {{"GGLLN4A  H & $$&s   E; ;Fc                >   V P                   f   ^ # V P                  R8X  d   V P                  4        ^ # V P                  '       d   V P	                  V4      # V P
                  e3   \        V4      V P
                  8  d   \        V4      ^ V P
                   pV P                   P                  V4      pV'       g   V'       d   V P                  4        V# V P
                  e<   V ;P
                  V,          un        V P
                  '       g   V P                  4        V# )Nr   )	rT   rk   r   rq   _readinto_chunkedrs   r9   
memoryviewreadinto)r=   br>   s   && r"   r   HTTPResponse.readinto  s    
 77?<<6!<<<))!,,;;"1v#qM!DKK0
 GGQQ 
 	 [[$KK1K;;;  "r+   c                    V P                   P                  \        ^,           4      p\        V4      \        8  d   \	        R4      hVP                  R4      pV^ 8  d   VRV p \        V^4      #   \         d    T P                  4        h i ; i)r7   z
chunk size   ;N)	rT   rQ   rR   r9   r   findr   r   r   )r=   rA   is   &  r"   _read_next_chunk_size"HTTPResponse._read_next_chunk_size  s    ww1-t9xl++IIdO68D	tR=  	 		s   $A0 0Bc                     V P                   P                  \        ^,           4      p\        V4      \        8  d   \	        R4      hV'       g   R# VR9   g   KY  R# )Tztrailer lineNrN   )rT   rQ   rR   r9   r   r=   rA   s   & r"   _read_and_discard_trailer&HTTPResponse._read_and_discard_trailer)  sJ     77##HqL1D4y8#!.11 ,,r+   c                   V P                   pV'       gV   Ve   V P                  ^4        V P                  4       pT^ 8X  d#   T P                  4        T P                  4        R pYn         V#   \         d    \	        R4      hi ; iNr+   )rr   r   r   r   r   r   r   )r=   rr   s   & r"   _get_chunk_leftHTTPResponse._get_chunk_left7  s     __
%"*!779
 Q..0  "!
(O  *$S))*s   A, ,Bc                   Ve
   V^ 8  d   R p. p V P                  4       ;pen   Ve5   W8:  d/   VP                  V P                  V4      4       W1,
          V n        M5VP                  V P                  V4      4       Ve	   W,          p^ V n        K  RP	                  V4      #   \
         d!   p\        RP	                  T4      4      ThR p?ii ; ir   )r   r<   r   rr   rZ   r   )r=   r   valuerr   excs   &&   r"   r   HTTPResponse._read_chunkedO  s    ?sQwC	;!%!5!5!77:D?s'8LL!56&0&6DOT__Z89?%C"#88E?" 	; %1s:	;s   BB# #C.C		Cc                Z   ^ p\        V4      p  V P                  4       pVf   V# \        V4      V8:  d'   V P                  V4      pWE,
          V n        W%,           # VRV pV P                  V4      pW5R pW%,          p^ V n        Kx    \
         d    \        \        T^ T 4      4      hi ; i)r   N)r   r   r9   _safe_readintorr   r   r(   )r=   r   total_bytesmvbrr   r>   temp_mvbs   &&     r"   r   HTTPResponse._readinto_chunkedc  s    m	:!113
%&&s8z)++C0A&0nDO&?*{
+''1"g "# 	: q;'7!899	:s   B 5B +B #B*c                    V P                   P                  V4      p\        V4      V8  d   \        W!\        V4      ,
          4      hV# rd   )rT   r   r9   r   )r=   r   r   s   && r"   r   HTTPResponse._safe_read{  s9     ww||C t9s? 3t9}55r+   c                    \        V4      pV P                  P                  V4      pW28  d   \        \	        VR V 4      W#,
          4      hV# rd   )r9   rT   r   r   r(   )r=   r   r   r>   s   &&  r"   r   HTTPResponse._safe_readinto  sB    !fGGQ7 q!usu55r+   c                   V P                   e   V P                  R8X  d   R# V P                  '       d   V P                  V4      # V P                  e$   V^ 8  g   WP                  8  d   V P                  pV P                   P                  V4      pV'       g   V'       d   V P                  4        V# V P                  eE   V ;P                  \        V4      ,          un        V P                  '       g   V P                  4        V# Nr   r+   )rT   rk   rq   _read1_chunkedrs   read1r   r9   )r=   r>   results   && r"   r   HTTPResponse.read1  s     77?dllf4<<<&&q));;"A[[Aq!!
 	 [[$KK3v;&K;;;  "r+   c                    V P                   e   V P                  R8X  d   R# V P                  '       d   V P                  V4      # V P                   P	                  V4      # r   )rT   rk   rq   _peek_chunkedpeek)r=   r>   s   &&r"   r   HTTPResponse.peek  sG     77?dllf4<<<%%a((ww||Ar+   c                  < V P                   e   V P                  R8X  d   R# V P                  '       d   \        SV `  V4      # V P
                  e$   V^ 8  g   WP
                  8  d   V P
                  pV P                   P	                  V4      pV'       g   V'       d   V P                  4        V# V P
                  eE   V ;P
                  \        V4      ,          un        V P
                  '       g   V P                  4        V# r   )rT   rk   rq   r   rQ   rs   r   r9   )r=   limitr   r   s   && r"   rQ   HTTPResponse.readline  s    77?dllf4<<<7#E**;;"	U[[5HKKE!!%(%
 	 [[$KK3v;&K;;;  "r+   c                   V P                  4       pVe   V^ 8X  d   R# ^ Tu;8:  d   V8:  g   M TpV P                  P                  V4      pV ;P                  \	        V4      ,          un        V'       g   \        R4      hV# r   )r   rT   r   rr   r9   r   )r=   r>   rr   r   s   &&  r"   r   HTTPResponse._read1_chunked  sj     ))+
aQ$*$Aww}}Q3t9$ %%r+   c                     V P                  4       pTf   R # T P                  P                  T4      RT #   \         d     R # i ; i)r+   N)r   r   rT   r   )r=   r>   rr   s   && r"   r   HTTPResponse._peek_chunked  sP    	--/J  ww||J'44  		s   6 AAc                6    V P                   P                  4       # rd   )rT   filenor   s   &r"   r   HTTPResponse.fileno  s    ww~~r+   c                    V P                   f   \        4       hV P                   P                  V4      ;'       g    Tp\        V\        4      '       g   \        VR4      '       g   V# RP                  V4      # )N__iter__z, )rU   r   get_all
isinstancer|   hasattrrZ   )r=   r    defaultrU   s   &&& r"   	getheaderHTTPResponse.getheader  s`     <<"$$,,&&t,77gs##77J+G+GN99W%%r+   c                x    V P                   f   \        4       h\        V P                   P                  4       4      # rd   )rU   r   listr   r   s   &r"   
getheadersHTTPResponse.getheaders  s-    <<"$$DLL&&())r+   c                    V # rd   rD   r   s   &r"   r   HTTPResponse.__iter__  s    r+   c                    V P                   # rd   )rU   r   s   &r"   infoHTTPResponse.info  s    * ||r+   c                    V P                   # rd   )rw   r   s   &r"   geturlHTTPResponse.geturl  s     xxr+   c                    V P                   # rd   )ro   r   s   &r"   getcodeHTTPResponse.getcode  s    
 {{r+   )rk   rr   rq   r   rj   rT   rU   rs   rl   rp   ro   rn   rt   )r   NNrd   ))%rE   rF   rG   rH   rx   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rQ   r   r   r   r   r   r   r   r   r  rI   rJ   __classcell__r   rL   s   @@r"   r   r      s     #<'BF#P:
#
&P D 0;(:0
&"5 &(*
.
 r+   c                     \         P                  ! 4       pV ^8X  d   VP                  R.4       VP                  e   RVn        V# )   zhttp/1.1T)ssl_create_default_https_contextset_alpn_protocolspost_handshake_auth)http_versioncontexts   & r"   _create_https_contextr  &  sC     //1Gr""J<0"".&*#Nr+   c                   *  a  ] tR tRt o ^tRt]t]t	^t
^ t]R 4       t]R 4       tR]P                   RR3R ltR!R ltR	 tR
 tR tR tR tR tR tR tR tR tR"R ltR#R ltR tR t R t!R t"R t#R$RR/R llt$R/ 3RR/R llt%R t&R t'R t(V t)R# )%r   i3  zHTTP/1.1c                6    \        V \        P                  4      # rd   )r   io
TextIOBase)streams   &r"   
_is_textIOHTTPConnection._is_textIO=  s     &"--00r+   c                   V f   VP                  4       \        9   d   ^ # R # \        V R4      '       d   R #  \        V 4      pVP                  #   \
         d     Mi ; i\        T \        4      '       d   \        T 4      # R # )Nr   )	upper_METHODS_EXPECTING_BODYr   r   nbytes	TypeErrorr   r|   r9   )bodyrv   mvs   && r"   _get_content_length"HTTPConnection._get_content_lengthC  sw     < ||~!884  	D!B99 		 dC  t9s   A AAN    c                L   W0n         W@n        WPn        R V n        . V n        R V n        \        V n        R V n        R V n	        R V n
        / V n        R V n        V P                  W4      w  V n        V n        V P!                  V P                  4       \"        P$                  V n        R # rd   )timeoutsource_address	blocksizeru   _buffer_HTTPConnection__response_CS_IDLE_HTTPConnection__staterk   _tunnel_host_tunnel_port_tunnel_headers_raw_proxy_headers_get_hostporthostport_validate_hostsocketcreate_connection_create_connection)r=   r.  r/  r"  r#  r$  s   &&&&&&r"   rx   HTTPConnection.__init__c  s    ,"	  !"&!%!3!3D!?DIDII& #)":":r+   c                "   V P                   '       d   \        R 4      hV P                  W4      w  V n        V n        V'       d   VP                  4       V n        MV P                  P                  4        \        ;QJ d&    R V P                   4       F  '       g   K   RM	  RM! R V P                   4       4      '       gN   V P                  P                  R4      P                  R4      pRW@P                  3,          V P                  R&   R# R# )	z.Can't set up tunnel for established connectionc              3   F   "   T F  qP                  4       R 8H  x  K  	  R# 5i)r.  Nr8   ).0headers   & r"   	<genexpr>,HTTPConnection.set_tunnel.<locals>.<genexpr>  s     O:N<<>V+:Ns   !TFidnaasciiz%s:%dHostN)ru   RuntimeErrorr-  r)  r*  copyr+  clearanyr   r[   )r=   r.  r/  rU   encoded_hosts   &&&& r"   
set_tunnelHTTPConnection.set_tunnelz  s    , 999OPP/3/A/A$/M,4,#*<<>D   &&(sO$:N:NOsssO$:N:NOOO,,33F;BB7KL+2//61 ,1D  ( Pr+   c                   VfP   VP                  R4      pVP                  R4      pW48  d    \        W^,           R  4      pTR T pMV P                  pV'       d"   V^ ,          R8X  d   VR,          R8X  d   V^R pW3#   \         d;    Y^,           R  R8X  d   T P                  p Lg\	        RY^,           R  ,          4      hi ; i)Nr6   ]r{   znonnumeric port: '%s'[r  )rfindr   r   default_portr   )r=   r.  r/  r   js   &&&  r"   r-  HTTPConnection._get_hostport  s    <

3A

3AuOtaCDz?D BQx((DGsNtBx3":D| " OaCDzR'#00()@4!:)MNN	Os   B   'C)Cc                    Wn         R # rd   )rj   )r=   levels   &&r"   set_debuglevelHTTPConnection.set_debuglevel  s    r+   c                P    R V9   d   V^ ,          ^[8w  d   RV,           R,           # V# )   :   [r.   rD   )r=   ips   &&r"   
_wrap_ipv6HTTPConnection._wrap_ipv6  s(    2:"Q%7*"9t##	r+   c                   R V P                  V P                  P                  R4      4      V P                  V P                  P                  R4      3,          pV.pV P
                  P                  4        F+  w  r4VP                  V RV R2P                  R4      4       K-  	  VP                  R4       V P                  RP                  V4      4       ?V P                  V P                  V P                  R7      p VP                  4       w  rgp\        VP                  4      V n        V P"                  ^ 8  d.   V P                    F  p\%        R	VP'                  4       4       K  	  V\(        P*                  P,                  8w  d0   V P/                  4        \1        R
V RVP3                  4        24      h VP/                  4        R#   TP/                  4        i ; i)s   CONNECT %s:%d %s
r<  r=  z: 
r   rO   r+   rv   r   zTunnel connection failed:  N)rU  r)  r   r*  _http_vsn_strr+  r   r<   sendrZ   response_classru   rk   r   rV   rT   r,  rj   r}   r[   http
HTTPStatusOKr   OSErrorr   )	r=   connectrU   r9  r   responsern   r   messages	   &        r"   _tunnelHTTPConnection._tunnel  s   )OOD--44V<=%%g.-0 0 )!11779MFNNfXRwd3::9EF :w 			#((7#$&&tyy&F	'/'<'<'>$WG&3HKK&@D#""55F)V]]_5 6 t)))

 :4&'--/ARSTT *
 NNHNNs   >B9G
 
Gc                L    V P                   e   \        V P                   4      # R # rd   )r,  rb   r   s   &r"   get_proxy_response_headers)HTTPConnection.get_proxy_response_headers  s/     &&2   7 78	
 	
r+   c                   \         P                  ! R W P                  V P                  4       V P	                  V P                  V P                  3V P
                  V P                  4      V n         V P                  P                  \        P                  \        P                  ^4       V P                  '       d   V P!                  4        R# R#   \         d+   pTP                  \        P                  8w  d   h  Rp?LVRp?ii ; i)zhttp.client.connectN)sysauditr.  r/  r3  r"  r#  ru   
setsockoptr1  IPPROTO_TCPTCP_NODELAYra  errnoENOPROTOOPTr)  re  r=   es   & r"   rb  HTTPConnection.connect  s    		'yy$))D++YYtyy!4<<1D1DF		II  !3!3V5G5GK
 LLN 	  	ww%+++ ,	s   09C D C??Dc                0   \         V n         V P                  pV'       d   R V n        VP                  4        V P                  pV'       d   R V n        VP                  4        R # R #   T P                  pT'       d   R T n        TP                  4        i i ; ird   )r'  r(  ru   r   r&  )r=   ru   rc  s   &  r"   r   HTTPConnection.close  sr    		!99D 	

H"&   H"&  s   A' A' '.Bc                   V P                   f.   V P                  '       d   V P                  4        M
\        4       hV P                  ^ 8  d   \        R\        V4      4       \        VR4      '       d   V P                  ^ 8  d   \        R4       V P                  V4      pV'       d   V P                  ^ 8  d   \        R4       VP                  V P                  4      ;p'       dN   V'       d   VP                  R4      p\        P                  ! RW4       V P                   P                  V4       Kp  R # \        P                  ! RW4        V P                   P                  V4       R #   \         dn    \!        T\"        P$                  P&                  4      '       d(   T F  pT P                   P                  T4       K   	   R # \        R\)        T4      ,          4      hi ; i)Nzsend:r   zsending a readableencoding file using iso-8859-1rX   zhttp.client.sendz9data should be a bytes-like object or an iterable, got %r)ru   	auto_openrb  r   rj   r}   r~   r   r  r   r$  r   rk  rl  sendallr  r   collectionsabcIterabletype)r=   r   r   	datablockds   &&   r"   r\  HTTPConnection.send  sf    99~~~"n$??Q'4:&4  "*+__T*F$//A-67#yy88)8 ) 0 0 >I		,d>		!!),		$d1	GIId# 	G$ 8 899AII%%a(    !9;?:!F G G	Gs   E, ,AG$G$c                <    V P                   P                  V4       R # rd   )r%  r<   )r=   r   s   &&r"   _outputHTTPConnection._output*  s    
 	Ar+   c              #  4  "   V P                   ^ 8  d   \        R4       V P                  V4      pV'       d   V P                   ^ 8  d   \        R4       VP                  V P                  4      ;p'       d    V'       d   VP                  R4      pVx  KB  R# 5i)r   zreading a readablerx  rX   N)rj   r}   r  r   r$  r   )r=   r   r   r  s   &&  r"   _read_readableHTTPConnection._read_readable1  st     ??Q&'*doo)23#==88i8%,,\:	O 9s   5B>B7B?BFc                   V P                   P                  R4       RP                  V P                   4      pV P                   R V P                  V4       Ve   \	        VR4      '       d   V P                  V4      pM \        V4       V3pV F  pV'       g   V P                  ^ 8  d   \        R4       K)  V'       d>   V P                  ^8X  d-   \        V4      R R2P                  R	4      V,           R,           pV P                  V4       K  	  V'       d'   V P                  ^8X  d   V P                  R
4       R# R# R# R#   \         d:     \        T4      p L  \         d    \        R\        T4      ,          4      hi ; ii ; i)r+   rO   :NNNNr   zAmessage_body should be a bytes-like object or an iterable, got %rzZero length chunk ignoredXrX  r=  s   0

)r+   r+   )r%  extendrZ   r\  r   r  r   r  iterr~  rj   r}   	_http_vsnr9   r   )r=   message_bodyencode_chunkedrl   chunkschunks   &&&   r"   _send_outputHTTPConnection._send_output<  s^    	J'll4<<(LLO		## |V,, ,,\:-
 |, +_F*9:!dnn&:"5z!nD188AEI!"E		%    $..B"6		,' #7~O $ ! >>!%l!3$ >' )H*.|*<)= > >>>s   >E FE'FFc                   V P                   '       d(   V P                   P                  4       '       d   R V n         V P                  \        8X  d   \        V n        M\        V P                  4      hV P                  V4       Wn        T;'       g    RpV P                  V4       V: RV: RV P                  : 2pV P                  V P                  V4      4       V P                  ^8X  EdL   V'       Eg%   RpVP                  R4      '       d   \        V4      w  rv  pV'       d/    VP                  R4      pV P#                  R\%        V4      4       MV P&                  '       d   V P&                  p	V P(                  p
MV P*                  p	V P,                  p
 V	P                  R4      pV P/                  V4      pRV	9   d   \%        V4      pWP0                  8X  d   V P#                  RV4       M*VP3                  R4      pV P#                  RV: RV
: 24       V'       g   V P#                  R	R
4       R # R # R #   \          d    TP                  R4      p EL i ; i  \          d    T	P                  R4      p Li ; i)N/rZ  r{   r^  r=  r<  r>  r6   zAccept-Encodingidentity)r&  r   r(  r'  _CS_REQ_STARTEDr   _validate_methodrk   _validate_pathr[  r  _encode_requestr  r   r   r   r   	putheaderr2   r)  r*  r.  r/  rU  rJ  r[   )r=   rv   rw   	skip_hostskip_accept_encodingrequestnetlocnil
netloc_encr.  r/  host_encs   &&&&&       r"   
putrequestHTTPConnection.putrequestr  s    ???t7799"DO* <<8#*DL#DLL11f% jjSC  &T-?-?@T))'23>>R 9 >>&))19#.Cc3;%+]]7%;
 NN6+<Z+HI(((#00#00#yy#yy7#';;w#7  $x8Hd{#4X#>000vx8#+??7#;v(D/IJ (0*= ( c . ;%+]]6%:
; . 7#';;v#67s$   (H: I :III<;I<c                $    VP                  R 4      # )r=  )r   )r=   r  s   &&r"   r  HTTPConnection._encode_request  s    ~~g&&r+   c                    \         P                  V4      pV'       d#   \        R V: RVP                  4       : R24      hR# )z)method can't contain control characters.  (found at least )N)$_contains_disallowed_method_pchar_researchr   group)r=   rv   matchs   && r"   r  HTTPConnection._validate_method  sI     5;;FC?z J'',{{}&7q:; ; r+   c                    \         P                  V4      pV'       d#   \        R V: RVP                  4       : R24      hR# z&URL can't contain control characters. r  r  N!_contains_disallowed_url_pchar_rer  r   r  )r=   rw   r  s   && r"   r  HTTPConnection._validate_path  sL     288=EcW M005/@C D D r+   c                    \         P                  V4      pV'       d#   \        R V: RVP                  4       : R24      hR# r  r  )r=   r.  r  s   && r"   r0  HTTPConnection._validate_host  sL     288>EdX N005/@C D D r+   c                t   V P                   \        8w  d   \        4       h\        VR 4      '       d   VP	                  R4      p\        V4      '       g   \        RV: 24      h\        V4      p\        V4       F  w  r4\        VR 4      '       d   VP	                  R4      W#&   M2\        V\        4      '       d   \        V4      P	                  R4      W#&   \        W#,          4      '       g   Kv  \        RW#,          : 24      h	  RP                  V4      pVR,           V,           pV P                  V4       R# )r   r=  zInvalid header name r   zInvalid header value s   
	s   : N)r(  r  r   r   r   _is_legal_header_namer   r   	enumerater   r   r|   _is_illegal_header_valuerZ   r  )r=   r9  valuesr   	one_valuer   s   &&*   r"   r  HTTPConnection.putheader  s    
 <<?*"$$68$$]]7+F$V,,ABBf%f-LAy(++%,,Y7	Is++	N11':	'	22 fi!IJJ . v&%%'Vr+   r  c                   V P                   \        8X  d   \        V n         M
\        4       hV P	                  WR 7       R# )r  N)r(  r  _CS_REQ_SENTr   r  )r=   r  r  s   &&$r"   
endheadersHTTPConnection.endheaders*  s1     <<?*'DL"$$,Fr+   c               ,    V P                  WW4V4       R # rd   )_send_request)r=   rv   rw   r  rU   r  s   &&&&&$r"   r  HTTPConnection.request7  s     	6~Fr+   c                >   \        R  V 4       4      p/ pRV9   d   ^VR&   RV9   d   ^VR&   V P                  ! W3/ VB  RV9  dw   RV9  do   RpV P                  W14      pVf=   Ve8   V P                  ^ 8  d   \	        R	V,          4       R
pV P                  RR4       MV P                  R\        V4      4       MRpVP                  4        F  w  rV P                  W4       K  	  \        V\        4      '       d   \        VR4      pV P                  W5R7       R# )c              3   @   "   T F  qP                  4       x  K  	  R # 5ird   r7  )r8  ks   & r"   r:  /HTTPConnection._send_request.<locals>.<genexpr>>  s      <GqGs   r.  r  zaccept-encodingr  r   r   FNzUnable to determine size of %rTzTransfer-Encodingrq   zContent-Lengthr  r  )	frozensetr  r  rj   r}   r  r|   r   r   r#   r  )r=   rv   rw   r  rU   r  header_namesskipscontent_lengthr   r   s   &&&&&&     r"   r  HTTPConnection._send_request<  s     <G <<\!!"E+,,-E()-u- </ #,6 "'!%!9!9$!G!)'??Q.!"BT"IJ)-':IFNN#3S5HI"N!--/JCNN3& *dC   4(D<r+   c                   V P                   '       d(   V P                   P                  4       '       d   R V n         V P                  \        8w  g   V P                   '       d   \	        V P                  4      hV P
                  ^ 8  d4   V P                  V P                  V P
                  V P                  R7      pM'V P                  V P                  V P                  R7      p  VP                  4        \        T n        TP                  '       d   T P                  4        T# Yn         T#   \         d    T P                  4        h i ; i   TP                  4        h ; i)NrY  )r&  r   r(  r  r   rj   r]  ru   rk   r   ConnectionErrorr   r'  rt   )r=   rc  s   & r"   getresponseHTTPConnection.getresponsej  s    ???t7799"DO" <<<'4???"4<<00??Q**499doo26,, + @H **499T\\*JH	 
 $DL"""


 O #+O # 

	NNs*   #D* 3E
 E
 "E
 *EE
 
E)
__response__stater%  r3  rk   r,  r+  r)  r*  r$  rj   r.  r/  ru   r#  r"  )NN)NF)FFrd   )*rE   rF   rG   rH   r  r[  r   r]  	HTTP_PORTrJ  ry  rj   staticmethodr  r  r1  _GLOBAL_DEFAULT_TIMEOUTrx   rD  r-  rO  rU  re  rh  rb  r   r\  r  r  r  r  r  r  r  r0  r  r  r  r  r  rI   rJ   rK   s   @r"   r   r   3  s     IM!NLIJ1 1
  > #'0N0N $;."1H( 
@
!#GJ	4(l}~';DD8Ge G )-b G$G
,=\= =r+   c            	       n   a a ] tR tRt o]tRR]P                  RRRRRR/V 3R llltV 3R	 lt	R
t
VtV ;t# )HTTPSConnectioni  Nr"  r#  r  r$  r   c               t   < \         \        V `  WVVVR 7       Vf   \        V P                  4      pWPn        R# ))r$  N)r   r  rx   r  r  _context)r=   r.  r/  r"  r#  r  r$  r   s   &&&$$$$r"   rx   HTTPSConnection.__init__  s>     /41$g2@<E 2 G /?#Mr+   c                   < \         SV `  4        V P                  '       d   V P                  pMV P                  pV P                  P                  V P                  VR 7      V n        R# ))server_hostnameN)r   rb  r)  r.  r  wrap_socketru   )r=   r  r   s   & r"   rb  HTTPSConnection.connect  sT     GO   "&"3"3"&))11$))BQ 2 SDIr+   )r  ru   rd   )rE   rF   rG   rH   
HTTPS_PORTrJ  r1  r  rx   rb  rI   rJ   r  r  s   @@r"   r  r    sH      "	$ & > >	$$(	$26	$BF	$ 	$	S 	Sr+   r  c                       ] tR tRtRtR# )r   i  rD   NrE   rF   rG   rH   rI   rD   r+   r"   r   r     s     	r+   c                       ] tR tRtRtR# )r   i  rD   Nr  rD   r+   r"   r   r         r+   c                       ] tR tRtRtR# )r   i  rD   Nr  rD   r+   r"   r   r     r  r+   c                   &   a  ] tR tRt o R tRtV tR# )r   i  c                "    V3V n         Wn        R # rd   argsrn   )r=   rn   s   &&r"   rx   UnknownProtocol.__init__  s    H	r+   r  NrE   rF   rG   rH   rx   rI   rJ   rK   s   @r"   r   r     s      r+   c                       ] tR tRtRtR# )r	   i  rD   Nr  rD   r+   r"   r	   r	     r  r+   c                       ] tR tRtRtR# )r
   i  rD   Nr  rD   r+   r"   r
   r
     r  r+   c                   H   a  ] tR tRt o RR ltR t]P                  tRtV t	R# )r   i  Nc                .    V3V n         Wn        W n        R # rd   )r  partialexpected)r=   r  r  s   &&&r"   rx   IncompleteRead.__init__  s    H	 r+   c                    V P                   e   RV P                   ,          pMRpRV P                  P                  \        V P                  4      V3,          # )Nz, %i more expectedr{   z%s(%i bytes read%s))r  r   rE   r9   r  rr  s   & r"   __repr__IncompleteRead.__repr__  sK    ==$$t}}4AA$(?(?(+DLL(91(> > 	>r+   )r  r  r  rd   )
rE   rF   rG   rH   rx   r  r   __str__rI   rJ   rK   s   @r"   r   r     s     !> nnGr+   c                       ] tR tRtRtR# )r   i  rD   Nr  rD   r+   r"   r   r     r  r+   c                       ] tR tRtRtR# )r   i  rD   Nr  rD   r+   r"   r   r     r  r+   c                       ] tR tRtRtR# )r   i  rD   Nr  rD   r+   r"   r   r     r  r+   c                       ] tR tRtRtR# )r   i  rD   Nr  rD   r+   r"   r   r     r  r+   c                   &   a  ] tR tRt o R tRtV tR# )r   i  c                H    V'       g   \        V4      pV3V n        Wn        R # rd   )r~   r  rA   r   s   &&r"   rx   BadStatusLine.__init__  s    :DE		r+   )r  rA   Nr  rK   s   @r"   r   r     s      r+   c                   &   a  ] tR tRt o R tRtV tR# )r   i  c                L    \         P                  V R \        V3,          4       R# )z&got more than %d bytes when reading %sN)r   rx   rR   )r=   	line_types   &&r"   rx   LineTooLong.__init__  s"    t%M(0)'<&= 	>r+   rD   Nr  rK   s   @r"   r   r     s     > >r+   c                   &   a  ] tR tRt o R tRtV tR# )r   i  c                f    \         P                  V R 4       \        P                  ! V .VO5/ VB  R# )r{   N)r   rx   ConnectionResetError)r=   poskws   &*,r"   rx   RemoteDisconnected.__init__	  s*    tR(%%d7S7B7r+   rD   Nr  rK   s   @r"   r   r     s     8 8r+   )r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   error	responses>   PUTPOSTPATCH)r   )Femail.parserr\   email.messagerp  r^  r  rer1  rk  collections.abcr{  urllib.parser   __all__r  r  rm   r'  r  r  globalsupdater_  __members__r  phraser  rR   rS   compile	fullmatchr  r  r  r  r  r  r#   r2   rd  Messager4   rV   rb   re   BufferedIOBaser   r  r   r	  r  r<   ImportError	Exceptionr   r   r   r   r	   r
   r   r   r   r   r   r   r   r  r   r  )vs   0r"   <module>r     sY  N     	 	  
  ! 	
 # 	  ,, - #'//"="="D"D"FG"FQ["FG	 6 

#67AA ::&CDKK  %'JJ/@$A ! (*zz-'@ $ 3 E%--'' <$ .9 @ ) 0g2$$ gT
t	 t	l!&S. S8 NN$%	I 	
	= 		 	m 
	m 		M 	] 	m 		/ 		. 		. 	M >- >
8-} 8 	E- H~)  		s   H"#H' 'H10H1