
    bf              5       8   U d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
 ddlmZmZ ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z  ddl!Z!ddl"m#Z#m$Z$m%Z%m&Z& ddl'm(Z( dd	l)m*Z*m+Z+m,Z, dd
l-m.Z. ddl/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZB ddlCmDZDmEZEmFZFmGZGmHZH ddlImJZJ ddlKmLZLmMZMmNZNmOZO ddlPmQZQ ddlRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\ ddl+m]Z]m^Z^m_Z_m`Z` ddlambZbmcZcmdZdmeZe ddlfmgZg ddlhmiZimjZj ddlkmlZlmmZmmnZnmoZo dZperddlqmrZr ndZr e!js        ddd           G d d                      Zt etd          Zueet         evd<    ed          ZweeEexgeyf         Zz G d  d!          Z{ G d" d#eeeewf         eew                   Z| G d$ d%e|eE                   Z} G d& d'e|eJ                   Z~ G d( d)          Zdddddddd*ddd+dddde[de+j        dddd,d,d-d.eyd/eod0eeeyeyf                  d1ed2ed3een         d4eeey                  d5eeU         d6ed7ed8eey         d9ee         d:ed;ee         d<ed=eeo         d>eeU         d?e etef         d@eem         dAe^dBeeL         dCee         dDeej                 dEedFedGef4dHZdS )IzHTTP Client for asyncio.    N)suppress)SimpleNamespaceTracebackType)TYPE_CHECKINGAny	AwaitableCallable	CoroutineFinal	FrozenSet	GeneratorGenericIterableListMappingOptionalSetTupleTypeTypeVarUnion)CIMultiDict	MultiDictMultiDictProxyistr)URL   )hdrshttppayload)AbstractCookieJar)ClientConnectionErrorClientConnectorCertificateErrorClientConnectorErrorClientConnectorSSLErrorClientErrorClientHttpProxyErrorClientOSErrorClientPayloadErrorClientProxyConnectionErrorClientResponseErrorClientSSLErrorContentTypeError
InvalidURLServerConnectionErrorServerDisconnectedErrorServerFingerprintMismatchServerTimeoutErrorTooManyRedirectsWSServerHandshakeError)ClientRequestClientResponseFingerprintRequestInfo_merge_ssl_params)ClientWebSocketResponse)BaseConnectorNamedPipeConnectorTCPConnectorUnixConnector)	CookieJar)
	_SENTINELDEBUG	BasicAuthTimeoutHandleceil_timeoutget_env_proxy_for_urlget_running_loopmethod_must_be_empty_bodysentinelstrip_auth_from_url)WS_KEYHttpVersionWebSocketReaderWebSocketWriter)WSHandshakeError	WSMessage
ws_ext_genws_ext_parse)FlowControlDataQueue)TraceTraceConfig)JSONEncoderLooseCookiesLooseHeadersStrOrURL)r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r;   r=   r>   r<   r:   ClientSessionClientTimeoutrequest)
SSLContextT)auto_attribsfrozenslotsc                       e Zd ZU dZee         ed<   dZee         ed<   dZee         ed<   dZ	ee         ed<   dZ
eed<   dS )rZ   Ntotalconnect	sock_readsock_connect   ceil_threshold)__name__
__module____qualname__ra   r   float__annotations__rb   rc   rd   rf        H/var/www/html/Alfredo/env/lib/python3.11/site-packages/aiohttp/client.pyrZ   rZ      sr         !E8E?!!!#GXe_###!%Ix%%%$(L(5/(((NErm   rZ   i,  ra   DEFAULT_TIMEOUT_RetTypec            ?       p    e Zd ZU dZ eg d          ZdZeej	                 e
d<   dZee         e
d<   	 dddddddej        eeeej        dddededddddd	d	d
 ddee         dee         deej                 dee         dee         deee                  dee         dedee         dee         dee         dedee          de!de"e!e#ege$d         f         f         de"e%e&f         dee%         de"e'e(f         de!de!d e!d!ee)e*                  d"e+d#e+d$e+d%e,d&df6d'Z-d(ed          d&dfd)Z.e/rd*ed+e0d&df fd,Z1e2fd-e0d&dfd.Z3d/ed0ed1e0d&d2fd3Z4d4ed&e5fd5Z6ddddddddd6dddddddedddddddddddd7d/ed4ed8ee7eef                  d9e0d:e0dee         dee         deee                  dee         d;e!d<e+d=ee         d>ee!         d?e!de"de!e#ege$d         f         f         d@e!dAee         dBee         de"e(e&f         dCee!         dDee8         dEee9         dFe"e9e!e:f         dGee         dHee         dIee;         d"ee+         dee!         d#ee+         d$ee+         d&ef>dJZ<e=j>        dKdLddddddddddddddddMdNdOd0ed/edPee         de%dQee%         dRe!dSe!dTee%         dee         dUee         d8ee7eef                  dee         dAee         dBee         dFe"e9e!de:f         dCee!         dDee8         dEee9         dHee         d=e+dVe+d&dWf,dXZ?e=j>        dKdLddddddddddddddddMdNdOd0ed/edPee         de%dQee%         dRe!dSe!dTee%         dee         dUee         d8ee7eef                  dee         dAee         dBee         dFee"e9e!e:f                  dCee!         dDee8         dEee9         dHee         d=e+dVe+d&ef,dYZ@dee         d&dZfd[ZAdd\d0ed;e!d1e0d&d2fd]ZBdd\d0ed;e!d1e0d&d2fd^ZCdd\d0ed;e!d1e0d&d2fd_ZDdd`d0ed9e0d1e0d&d2fdaZEdd`d0ed9e0d1e0d&d2fdbZFdd`d0ed9e0d1e0d&d2fdcZGd0ed1e0d&d2fddZHddeZIeJd&e!fdf            ZKeJd&ee         fdg            ZLeJd&e fdh            ZMeJd&eNe+e+f         fdi            ZOeJd&e!fdj            ZPePjQ        d+e!d&dfdk            ZPeJd&ej        fdl            ZReJd&e(fdm            ZSeJddn            ZTeJd&eUeV         fdo            ZWeJd&ee         fdp            ZXeJd&efdq            ZYeJd&e!fdr            ZZeJd&e"e!e#ege$d         f         f         fds            Z[eJd&e!fdt            Z\eJd&e!fdu            Z]eJd&e)e*         fdv            Z^ddwZ_ddxZ`dyeeea                  dzeea         d{eeb         d&dfd|Zcdd}Zddyeeea                  dzeea         d{eeb         d&dfd~Ze xZfS )rY   z/First-class interface for making HTTP requests.)	_base_url_source_traceback
_connectorrequote_redirect_url_loop_cookie_jar_connector_owner_default_auth_version_json_serialize_requote_redirect_url_timeout_raise_for_status_auto_decompress
_trust_env_default_headers_skip_auto_headers_request_class_response_class_ws_response_class_trace_configs_read_bufsize_max_line_size_max_field_size_resolve_charsetNrt   ru   TF     c                     dS )Nzutf-8rl   )rbs     rn   <lambda>zClientSession.<lambda>   s    7 rm   )	connectorloopcookiesheadersskip_auto_headersauthjson_serializerequest_classresponse_classws_response_classversion
cookie_jarconnector_ownerraise_for_statusread_timeoutconn_timeouttimeoutauto_decompress	trust_envrv   trace_configsread_bufsizemax_line_sizemax_field_sizefallback_charset_resolverbase_urlr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rv   r   r   r   r   r   returnc                4   d | _         |t          u s|t          | _        |t          ur<t	          j        dt          d           t          j        | j        |          | _        |<t          j        | j        |          | _        t	          j        dt          d           net          |t                    s t          dt          |           d          || _        |t          urt          d	          |t          d
          |	||j        }t          |          }|t          |t                    r|| _        n@t          |          | _        | j                                        | j        k    s
J d            |t%          |          }|j        |urt'          d          || _        |                                r+t+          j        t/          j        d                    | _        |t5          |          }|| _        || j                            |           || _         || _        || _        || _        || _         || _!        || _"        || _#        || _$        || _%        || _&        || _'        |rtQ          |          }ntQ                      }|| _)        |tU          d |D                       | _+        ntU                      | _+        |	| _,        |
| _-        || _.        |pg | _/        | j/        D ]}|0                                 || _1        d S )Nz8read_timeout is deprecated, use timeout argument instead   
stacklevelro   )rb   z8conn_timeout is deprecated, use timeout argument insteadztimeout parameter cannot be of z. type, please use 'timeout=ClientTimeout(...)'zGread_timeout and timeout parameters conflict, please setup timeout.readzJconn_timeout and timeout parameters conflict, please setup timeout.connectz2Only absolute URLs without path part are supportedr   z0Session and connector has to use same event loopr   c              3   4   K   | ]}t          |          V  d S N)r   ).0is     rn   	<genexpr>z)ClientSession.__init__.<locals>.<genexpr>G  s(      /S/SAQ/S/S/S/S/S/Srm   )2ru   rH   rp   r~   warningswarnDeprecationWarningattrevolve
isinstancerZ   
ValueErrortyperw   rF   r   rs   originr=   RuntimeError	get_debug	tracebackextract_stacksys	_getframert   r?   rx   update_cookiesry   rz   r{   r|   r   r   r   r}   r   r   r   r   r   	frozensetr   r   r   r   r   freezer   )selfr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rv   r   r   r   r   r   real_headerstrace_configs                                rn   __init__zClientSession.__init__   sj   D 48h'/+DM8++Q&    
 !%DM N N N' $DM< P P PQ&     g}55  >d7mm > > >   $DM8++ #  
 ' &  
 <$ %%z(C88,4DNN ]]DN%%''4>999C :99 $$///I?$&&QRRR
>> 	O%.%<S]1=M=M%N%ND""---J%++G444# /!-!1 /#%9")+-  	)-8-A-ALL&==L2>(&//S/SAR/S/S/S&S&SD##&/kkD#+-"3+1r / 	" 	"L!!!! 9rm   clsc                 n    t          j        d                    | j                  t          d           d S )Nz6Inheritance class {} from ClientSession is discouragedr   r   )r   r   formatrg   r   )r   s    rn   __init_subclass__zClientSession.__init_subclass__U  s?    #VCL11		
 	
 	
 	
 	
 	
rm   namevalc                     || j         vr/t          j        d                    |          t          d           t                                          ||           d S )Nz8Setting custom ClientSession.{} attribute is discouragedr   r   )ATTRSr   r   r   r   super__setattr__)r   r   r   	__class__s      rn   r   zClientSession.__setattr___  sa    4:%%%%+VD\\& 	    GGc*****rm   	_warningsc                     | j         sMd| i} |j        d| t          fi | | dd}| j        
| j        |d<   | j                            |           d S d S )NsourcezUnclosed client session zUnclosed client session)client_sessionmessagesource_traceback)closedr   ResourceWarningrt   rw   call_exception_handler)r   r   kwargscontexts       rn   __del__zClientSession.__del__i  s    { 	7%FIN3433_ HN   *.:STTG%1.2.D*+J--g66666	7 	7rm   methodurlr   _RequestContextManagerc                 :    t           | j        ||fi |          S )zPerform HTTP request.)r   _request)r   r   r   r   s       rn   r[   zClientSession.requestt  s(     &mdmFC&J&J6&J&JKKKrm   
str_or_urlc                     t          |          }| j        |S |                                s|j                            d          sJ | j                            |          S )N/)r   rs   is_absolutepath
startswithjoin)r   r   r   s      rn   
_build_urlzClientSession._build_urlz  s[    *oo>!J((ESX-@-@-E-EEEE>&&s+++rm   
   )paramsdatajsonr   r   r   r   allow_redirectsmax_redirectscompresschunked	expect100r   read_until_eofproxy
proxy_authr   
verify_sslfingerprintssl_contextsslserver_hostnameproxy_headerstrace_request_ctxr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  c                   K    j         rt          d          t          ||||          }||t          d          |t	          j        | j                  }t          |t                    s|t          j
        dt                     d}g }  j        }!|pi }                     |          }                     |          }	                      |          }"n"# t          $ r}#t          |          |#d }#~#ww xY wt!           j                  }$|'|D ]$}%|$                    t'          |%                     %|3	 t)          |          }n"# t          $ r}#t          |          |#d }#~#ww xY w|t*          u r j        }&n(t          |t.                    st/          |          }&n|}&t1           j        |&j        |&j                  }'|'                                }(| j        }| j        }| j        }| j         } fd j!        D             })|)D ]2}*|*"                    ||"#                    |          |           d {V  3|'$                                }+	 |+5  	 tK          |"          \  }"},|	r|,rt          d
          |	|,}	|	 j&        }	||	tN          j(        |v rt          d           j)        *                    |"          }-|OtW                      }.|.,                    |           |.*                    |"          }/|/r|--                    |/           |t)          |          }nE j.        r>t_          t`                    5  tc          |"          \  }}d d d            n# 1 swxY w Y    2                    ||"|||$||-|	|!||| j         j3        |||+ ||nd	|||) j4                  }0	 tk          |&j6        |&j                  4 d {V   j7        J  j7        6                    |0|)|&           d {V }1d d d           d {V  n# 1 d {V swxY w Y   n:# tp          j9        $ r(}2tu          d;                    |"                    |2d }2~2ww xY w|1j<        J |1j=        J |1j=        >                    |+t          |          |||&j@        | j7        jA        ||	  	         	 	 |0B                    |1           d {V }3	 |3                    |1           d {V  n## t          $ r |3D                                  w xY wn## t          $ r |1D                                  w xY wnM# t          $ r  t          $ r6}2|2jG        t          |2tp          j9                  r t          |2jI         |2d }2~2ww xY w j)        ,                    |3jJ        |3jK                   |3jL        dv rf|
rc|)D ]3}*|*M                    ||"#                    |          ||3           d {V  4|dz  }| N                    |3           |rB||k    r<|3D                                 t          | d         jP        t          |                     |3jL        dk    r|3jR        tN          jS        k    s|3jL        dv ra|3jR        tN          jT        k    rLtN          jU        }d }|V                    tN          jW                  r|X                    tN          jW                   |3jY        V                    tN          jZ                  p#|3jY        V                    tN          j[                  }4|4n|3\                                 	 t)          |4 j]                   }5n"# t          $ r}#t          |4          |#d }#~#ww xY w|5j^        }6|6dvr#|3D                                 t          d          |6s|"_                    |5          }5|"`                                |5`                                k    r"d }	|X                    tN          j(        d            |5}"i }|3\                                 	 d d d            n# 1 swxY w Y   | ja        }|n7t          |          r ||3           d {V  n|r|3c                                 |(;|3jd         |3jd        e                    |(jf                   n|(f                                 t          |           |3_g        |)D ]3}*|*h                    ||"#                    |          ||3           d {V  4|3S # t          $ rh}#|'D                                 |(r|(f                                 d }(|)D ]3}*|*i                    ||"#                    |          ||#           d {V  4 d }#~#ww xY w)NzSession is closedz9data and json parameters can not be used at the same time)dumpszChunk size is deprecated #1615r   ro   )rf   c           	      Z    g | ]'}t          ||                                         (S ))r  )rS   trace_config_ctx)r   r   r   r  s     rn   
<listcomp>z*ClientSession._request.<locals>.<listcomp>  sP     
 
 
  --@Q-RR 
 
 
rm   Tz<Cannot combine AUTH argument with credentials encoded in URLzTCannot combine AUTHORIZATION header with AUTH argument or credentials encoded in URL)r   r   r   r   r   r   r   r   r   r   r   r   r   r   timersessionr   r   r  tracesr   )r
  r   zConnection timeout to host {})	r  skip_payloadr   r   r   r   timeout_ceil_thresholdr   r   )-  .  /  i3  i4  r   r  )r  r  )encoded)r   https z"Can redirect only to http or https)jr   r   r9   r   r    JsonPayloadr|   r   boolr   r   r   r{   _prepare_headersr   r.   setr   addr   r   rH   r~   rZ   rC   rw   ra   rf   startr   r   r   r   r   send_request_startupdate_queryr  rI   rz   r   AUTHORIZATIONrx   filter_cookiesr?   r   loadr   r   LookupErrorrE   r   r   r   rD   rb   ru   asyncioTimeoutErrorr2   r   	transportprotocolset_response_paramsrG   rc   _timeout_ceil_thresholdsendBaseExceptioncloser&   OSErrorerrnor(   argsr   r   statussend_request_redirectappendr3   request_infotupler   	METH_HEAD	METH_POSTMETH_GETgetCONTENT_LENGTHpopr   LOCATIONURIreleaser}   schemer   r   r   callabler   
connectionadd_callbackcancel_historysend_request_endsend_request_exception)7r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r   r   r   	redirectshistoryr   r   eskip_headersr   real_timeouttmhandler
  tracer  auth_from_urlall_cookiestmp_cookie_jarreq_cookiesreqconnexcrespr_url
parsed_urlr9  s7   `                         `                            rn   r   zClientSession._request  s     R ; 	42333ZkJJ 0K   &t43GHHHD'4(( 	PW-@M:<NOOO	-2 ''00--m<<	0//*--CC 	0 	0 	0Z((a/	0 4233(& * *  a))))/E

 / / / ''Q./ h*.-LLg}55 ',7;;;& J*<;V
 
 
 -L""3O  /M!!1N
 
 
 
 
 !% 3
 
 
  	V 	VE**633C3CF3K3KWUUUUUUUUUU

Z	 r rq)<S)A)A&C  (9  
 |,|#1  + , .'99(-   #'"2"A"A#"F"FK*)2&55g>>>&4&C&CC&H&H& :',,[999( #E

 K%k22 K K0Ec0J0J-E:K K K K K K K K K K K K K K K --% '*6! +! '!) '"+!Z'+';##-# $#&?CC(7&3%"&./ .  C6##/(0+7+F$ $ $         $(?#>#>#>)-)@)@ #FL *A * * $ $ $ $ $ $D                           #/ # # #0>EEcJJ "##
  >555=444M55#%>v%F%F'5(7%1%;%1/3/V&3'5 6 
 
 
@	"),$#7#7#7#7#7#7D&&*jj&6&6 6 6 6 6 6 6 6 6#0 & & & $

 %& !7  - " " " JJLLL!"	 !7 '   " @ @ @9,CAU1V1V,!+SX6C?@
 $33DL$(KKK {&???O?%+  E"'"="= &(8(8(@(@'4# #         "Q	t,,,( Y--G-G JJLLL"2 '
 7w# #  !K3..4;$.3P3P K:55$+:W:W%)]F#'D&{{4+>?? A 'D,? @ @ @ $ 0 0 ? ? !4<CSCS HD D !=! !LLNNN;), %43M/M* * *JJ  * ; ; ;",U"3"3:; ",!2!)>>> JJLLL",-Q"R"RR!' >),*)=)=J::<<:+<+<+>+>>>#'D#KK(:DAAA(!# er r r r r r r r r r r r r r rj  '#'#9 '*++ (&&t,,,,,,,,,,! (%%''' !?.O00????MMOOO!'NNDM  ,,C,,V44gt          K 	 	 	HHJJJ   22C,,V44gq          	sQ  C 
C=(C88C= E 
E/E**E/"d  $C-`)M0$`)0M4	4`)7M4	8A`);!P--P	P-
P%	%P-(P%	)P-,`)-Q$<#QQ$$A`):TS21T2 TTT: T66T:9`):V1U??VF2`)7]`)
].]))]..B/`)d  )`--d  0`-1Cd   
e2
A#e--e2rl   g      $@r   i  @ r   	protocolsr   receive_timeout	autocloseautoping	heartbeatr   r   r   r   r   r   r   r   r   r   r  r   max_msg_sizerT  rU  rV  rW  rX  r   rY  _WSRequestContextManagerc                p    t          |                     |||||||||	|
|||||||||||                    S )zInitiate websocket connection.rS  )rZ  _ws_connect)r   r   r   rT  r   rU  rV  rW  rX  r   r   r   r   r   r   r   r   r   r   r  r   rY  s                         rn   
ws_connectzClientSession.ws_connect  sm    4 (# /#!#%%''+!)+   
 
 	
rm   c                	  K   |t                      }nt          |          }t          j        dt          j        dt          j        di}|                                D ]\  }}|                    ||           t          j        t          j
        d                    }|                                |t          j        <   |r"d                    |          |t          j        <   |
|
|t          j        <   |rt!          |          }||t          j        <   |d}t%          ||||          }|                     ||||d|	||||	
  
         d {V }	 |j        d
k    r(t+          |j        |j        d|j        |j                  |j                            t          j        d                                          dk    r(t+          |j        |j        d|j        |j                  |j                            t          j        d                                          dk    r(t+          |j        |j        d|j        |j                  |j                            t          j        d          }t          j        t9          j        |t<          z                                                                                       }||k    r(t+          |j        |j        d|j        |j                  d }|rTt          j        |j        v rAd |j        t          j                                      d          D             } | D ]
}!|!|v r|!} nd}"|r|j                            t          j                  }#|#rZ	 tC          |#          \  }}"nJ# tD          $ r9}$t+          |j        |j        |$j#        d         |j        |j                  |$d }$~$ww xY wd}d}"|j$        }%|%J |%j%        }&|&J |%j&        }'|'J tO          |&d| j(                  }(|&)                    tU          |(|          |(           tW          |&|'d||"          })| ,                    |(|)|||||| j(        ||||"          S # tZ          $ r |.                                  w xY w)N	websocketUpgrade13   ,)r   TF)r   r   r   r   r   r   r   r  e   zInvalid response status)r   r+  r   r  zInvalid upgrade headerupgradezInvalid connection headerzInvalid challenge responsec                 6    g | ]}|                                 S rl   )strip)r   protos     rn   r  z-ClientSession._ws_connect.<locals>.<listcomp>|  s0     " " " KKMM" " "rm   r   r   r   )use_maskr   
notakeover)rU  rX  r   client_notakeover)/r   r   UPGRADE
CONNECTIONSEC_WEBSOCKET_VERSIONitems
setdefaultbase64	b64encodeosurandomdecodeSEC_WEBSOCKET_KEYr   SEC_WEBSOCKET_PROTOCOLORIGINrP   SEC_WEBSOCKET_EXTENSIONSr9   r[   r+  r4   r.  rB  r   r3  lowerSEC_WEBSOCKET_ACCEPThashlibsha1rJ   digestsplitrQ   rN   r*  r;  r"  r!  rR   rw   
set_parserrL   rM   r   r&  r'  )*r   r   r   rT  r   rU  rV  rW  rX  r   r   r   r   r   r   r   r   r   r   r  r   rY  r   default_headerskeyvaluesec_keyextstrrP  r_keymatchr"  resp_protocolsrh  rj  compress_hdrsrO  rN  
conn_protor!  readerwriters*                                             rn   r\  zClientSession._ws_connect
  s;     4 ?-8]]LL&w//L L+OY&
 *//11 	0 	0JC##C////"2:b>>22/6~~/?/?T+, 	L8;8K8KL45(.L% 	A222F:@L67 ;CZkJJ \\  !' " 
 
 
 
 
 
 
 
k	{c!!,%L5; L    |b117799[HH,%L4; L    |44::<<	II,%L7; L    L$$T%>CCE$W\'F2B%C%C%J%J%L%LMMTTVVE~~,%L8; L    H 	T8DLHH" "!%d.I!J!P!PQT!U!U" " "
 ,  E	))#( *
 J ' $ 0 01N O O  '	#/;M/J/J,**+ # # #4 - L$'HQK#';$(L    ###  !H!&J?D###J)))I(((6JE
7 7 7F !!/&,"G"GPPP$!%  F **
 /#!", +   	  	 	 	JJLLL	s2   H Q& 3N Q& 
O	4OO		A7Q& & RCIMultiDict[str]c                 B   t          | j                  }|rt          |t          t          f          st          |          }t                      }|                                D ]:\  }}||v r|                    ||            |||<   |                    |           ;|S )z3Add default headers and transform it to CIMultiDict)r   r   r   r   r   r  ro  r  )r   r   resultadded_namesr  r  s         rn   r  zClientSession._prepare_headers  s     T233 		)g	'BCC /%g..$'EEK%mmoo ) )
U+%%JJsE****"'F3KOOC((((rm   )r   c                R    t           | j        t          j        |fd|i|          S )zPerform HTTP GET request.r   )r   r   r   r2  r   r   r   r   s       rn   r3  zClientSession.get  s7     &DM$-XXoXQWXX
 
 	
rm   c                R    t           | j        t          j        |fd|i|          S )zPerform HTTP OPTIONS request.r   )r   r   r   METH_OPTIONSr  s       rn   optionszClientSession.options  sD     &DM!3 8GKQ 
 
 	
rm   c                R    t           | j        t          j        |fd|i|          S )zPerform HTTP HEAD request.r   )r   r   r   r0  r  s       rn   headzClientSession.head  sC     &DM 5DHN 
 
 	
rm   )r   c                R    t           | j        t          j        |fd|i|          S )zPerform HTTP POST request.r   )r   r   r   r1  r   r   r   r   s       rn   postzClientSession.post  s6     &DM$.#CCDCFCC
 
 	
rm   c                R    t           | j        t          j        |fd|i|          S )zPerform HTTP PUT request.r   )r   r   r   METH_PUTr  s       rn   putzClientSession.put  s6     &DM$-BB4B6BB
 
 	
rm   c                R    t           | j        t          j        |fd|i|          S )zPerform HTTP PATCH request.r   )r   r   r   
METH_PATCHr  s       rn   patchzClientSession.patch  s6     &DM$/3DDTDVDD
 
 	
rm   c                 N    t           | j        t          j        |fi |          S )zPerform HTTP DELETE request.)r   r   r   METH_DELETE)r   r   r   s      rn   deletezClientSession.delete  s)    %mdmD4Dc&T&TV&T&TUUUrm   c                    K   | j         s6| j        &| j        r| j                                         d{V  d| _        dS dS )zMClose underlying connector.

        Release all acquired resources.
        N)r   ru   ry   r'  r   s    rn   r'  zClientSession.close  s]      
 { 	#*t/D*o++---------"DOOO	# 	#rm   c                 ,    | j         du p| j         j        S )z@Is client session closed.

        A readonly property.
        N)ru   r   r  s    rn   r   zClientSession.closed  s     $&@$/*@@rm   c                     | j         S )z(Connector instance used for the session.ru   r  s    rn   r   zClientSession.connector  s     rm   c                     | j         S )zThe session cookies.)rx   r  s    rn   r   zClientSession.cookie_jar  s     rm   c                     | j         S )z"The session HTTP protocol version.)r{   r  s    rn   r   zClientSession.version!       }rm   c                     | j         S ))Do URL requoting on redirection handling.)r}   r  s    rn   rv   z"ClientSession.requote_redirect_url&  s     ))rm   c                 L    t          j        dt          d           || _        dS )r  z=session.requote_redirect_url modification is deprecated #2778r   r   N)r   r   r   r}   )r   r   s     rn   rv   z"ClientSession.requote_redirect_url+  s6     	N	
 	
 	
 	

 &)"""rm   c                 H    t          j        dt          d           | j        S )zSession's loop.z"client.loop property is deprecatedr   r   )r   r   r   rw   r  s    rn   r   zClientSession.loop5  s0     	02DQR	
 	
 	
 	
 zrm   c                     | j         S )zTimeout for the session.)r~   r  s    rn   r   zClientSession.timeout=  r  rm   c                     | j         S )z*The default headers of the client session.)r   r  s    rn   r   zClientSession.headersB       $$rm   c                     | j         S )z2Headers for which autogeneration should be skipped)r   r  s    rn   r   zClientSession.skip_auto_headersG  s     &&rm   c                     | j         S )z2An object that represents HTTP Basic Authorization)rz   r  s    rn   r   zClientSession.authL  s     !!rm   c                     | j         S )zJson serializer callable)r|   r  s    rn   r   zClientSession.json_serializeQ  s     ##rm   c                     | j         S )z-Should connector be closed on session closing)ry   r  s    rn   r   zClientSession.connector_ownerV  r  rm   c                     | j         S )zGShould `ClientResponse.raise_for_status()` be called for each response.)r   r  s    rn   r   zClientSession.raise_for_status[  s    
 %%rm   c                     | j         S )z7Should the body response be automatically decompressed.)r   r  s    rn   r   zClientSession.auto_decompressb  r  rm   c                     | j         S )z
        Should proxies information from environment or netrc be trusted.

        Information is from HTTP_PROXY / HTTPS_PROXY environment variables
        or ~/.netrc file if present.
        )r   r  s    rn   r   zClientSession.trust_envg  s     rm   c                     | j         S )z7A list of TraceConfig instances used for client tracing)r   r  s    rn   r   zClientSession.trace_configsq  s     ""rm   c                     d| _         dS )zwDetach connector from session without closing the former.

        Session is switched to closed state anyway.
        Nr  r  s    rn   detachzClientSession.detachv  s    
 rm   c                      t          d          )NzUse async with instead)	TypeErrorr  s    rn   	__enter__zClientSession.__enter__}  s    0111rm   exc_typeexc_valexc_tbc                     d S r   rl   r   r  r  r  s       rn   __exit__zClientSession.__exit__  s	     	rm   c                 
   K   | S r   rl   r  s    rn   
__aenter__zClientSession.__aenter__  s      rm   c                 >   K   |                                   d {V  d S r   )r'  r  s       rn   	__aexit__zClientSession.__aexit__  s.       jjllrm   r   r   N)r   r  )r   rY   )grg   rh   ri   __doc__r   r   rt   r   r   StackSummaryrk   ru   r;   r   r  r5   r6   r:   r   HttpVersion11rH   rX   r  AbstractEventLooprV   rW   r   strrB   rU   r   rK   r!   r  r   r	   r   rj   r@   objectrZ   r   rT   int_CharsetResolverr   r   rA   r   r   r   r   r[   r   r   r   bytesr\   r7   r   r   r   r2  r]  r\  r  r3  r  r  r  r  r  r  r'  propertyr   r   r   r   r   rv   setterr   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r&  r   r  r  r  __classcell__)r   s   @rn   rY   rY      s        99I	
 	
 	
 E< ;?x	 67>>>*.J'... (,F: .248*.*.59$(&*j-:/=;R#126 $ 08(,08 $%)59!!"6J6J=F: F: F:8$F: M*	F:
 w01F: ,'F: ,'F: $HSM2F: y!F: $F: M*F: ^,F:   78F: F: ./F:  !F:"  (N+Yt_<==
#F:( E9,-)F:* uo+F:, v},--F:. /F:0 1F:2 #3F:4  [ 125F:6 7F:8 9F:: ;F:< $4=F:> 
?F: F: F: F:P
tO4 
 
 
 
 
  
+	+C 	+c 	+d 	+ 	+ 	+ 	+ 	+ 	+ (0 	7 	7 	7D 	7 	7 	7 	7LL (L47L	!L L L L,X ,# , , , , /3*.*.59$( $"&"& #$(*.3;%)'+,048)-047;&**.'+(,ER R RR R
 c*+R R R ,'R ,'R $HSM2R y!R R R 3-R $R  !R"  $.!19T?!BCC
#R( )R* !+R, Y'-R. }i/0/R0 TN1R2 e_3R4 j)5R6 :t[017R8 "#9R:  -;R< $O4=R> sm?R@ "$ARB  }CRD !ERF 
GR R R Rp
 m#%+/%)$( $.2*.$(*.:>%)'+,004+/2
 2
 2
2
 	2

 C=2
 2
 "%2
 2
 2
 E?2
 y!2
 2
 c*+2
 ,'2
 !2
  Y'!2
" :tT;67#2
$ TN%2
& e_'2
( j))2
*  -+2
, -2
. /2
0 
$12
 2
 2
 2
p m#%+/%)$( $.2*.$(*.>B%)'+,004+/q q qq 	q
 C=q q "%q q q E?q y!q q c*+q ,'q !q  Y'!q" eJk9:;#q$ TN%q& e_'q( j))q*  -+q, -q. /q0 
!1q q q qf(> CU    " 9=
 
 

15
HK
	!
 
 
 
 9=
 
 

15
HK
	!
 
 
 
 9>
 
 

15
IL
	!
 
 
 
 -1
 
 

&)
<?
	!
 
 
 
 -1
 
 

&)
<?
	!
 
 
 
 -1
 
 

&)
<?
	!
 
 
 
V( Vc V6N V V V V# # # # A A A A XA 8M2    X  -       X  sCx    X *d * * * X*  ) ) ) ) ) ! ) g/    X     X % % % X% '9T? ' ' ' X' "hy) " " " X" $ $ $ $ X$ % % % % X% &	tX~.	$?@@	A& & & X& % % % % X% 4    X #tK0 # # # X#   2 2 2 24./ -( '	
 
      4./ -( '	
 
       rm   rY   c                       e Zd ZdZdeddef         ddfdZddZd	ed
eddfdZ	ddZ
deedef         fdZdeedef         fdZdefdZdS )_BaseRequestContextManager_coro_respcoroasyncio.Future[Any]Nr   c                     || _         d S r   )r  )r   r  s     rn   r   z#_BaseRequestContextManager.__init__  s    


rm   argc                 6    | j                             |          S r   )r  r%  )r   r  s     rn   r%  z_BaseRequestContextManager.send  s    zs###rm   r*  r   c                 &     | j         j        |i |S r   )r  throw)r   r*  r   s      rn   r  z _BaseRequestContextManager.throw  s    tz0000rm   c                 4    | j                                         S r   )r  r'  r  s    rn   r'  z _BaseRequestContextManager.close  s    z!!!rm   c                 8    | j                                         }|S r   )r  	__await__)r   rets     rn   r  z$_BaseRequestContextManager.__await__  s    j""$$
rm   c                 *    |                                  S r   )r  r  s    rn   __iter__z#_BaseRequestContextManager.__iter__  s    ~~rm   c                 8   K   | j          d {V | _        | j        S r   r  r  s    rn   r  z%_BaseRequestContextManager.__aenter__  s)      :%%%%%%
zrm   )r  Nr   r  r  )rg   rh   ri   	__slots__r
   rq   r   r%  r   r  r'  r   r  r  r  rl   rm   rn   r  r    s       "IY'<dH'LM RV    $ $ $ $13 1# 12G 1 1 1 1" " " "9S$%89     )Cx$78        (      rm   r  c                   Z    e Zd ZdZdeee                  dee         dee         ddfdZdS )r   rl   r  rO  tbr   Nc                 z   K   | j                                          | j                                          d {V  d S r   )r  r8  wait_for_closer   r  rO  r  s       rn   r  z _RequestContextManager.__aexit__  sH       	
j'')))))))))))rm   	rg   rh   ri   r  r   r   r&  r   r  rl   rm   rn   r   r     sg        I*4./* m$* ]#	*
 
* * * * * *rm   r   c                   Z    e Zd ZdZdeee                  dee         dee         ddfdZdS )rZ  rl   r  rO  r  r   Nc                 H   K   | j                                          d {V  d S r   )r  r'  r  s       rn   r  z"_WSRequestContextManager.__aexit__  s4       j           rm   r  rl   rm   rn   rZ  rZ    sg        I!4./! m$! ]#	!
 
! ! ! ! ! !rm   rZ  c                       e Zd ZdZdeddef         deddfdZdefdZd	e	e
e                  d
e	e         de	e         ddfdZdS )_SessionRequestContextManagerr  r  _sessionr  r  Nr	  r   c                 0    || _         d | _        || _        d S r   r  )r   r  r	  s      rn   r   z&_SessionRequestContextManager.__init__  s    
 
/3
rm   c                    K   	 | j          d {V | _        | j        S # t          $ r! | j                                         d {V   w xY wr   )r  r  r&  r  r'  r  s    rn   r  z(_SessionRequestContextManager.__aenter__  sv      	#z))))))DJ
 :	  	 	 	-%%'''''''''	s	    +Ar  rO  r  c                    K   | j         J | j                                          | j                                         d {V  d S r   )r  r'  r  r  s       rn   r  z'_SessionRequestContextManager.__aexit__  sV       z%%%
m!!###########rm   )rg   rh   ri   r  r
   r6   rY   r   r  r   r   r&  r   r  rl   rm   rn   r  r    s        .I -t^CD    
	       .    $4./$ m$$ ]#	$
 
$ $ $ $ $ $rm   r  r   Fr   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   c                    d}|d}t          |d          }t          ||||||          }t          |                    | |||||||||	|
|||||||||          |          S )a  Constructs and sends a request.

    Returns response object.
    method - HTTP method
    url - request url
    params - (optional) Dictionary or bytes to be sent in the query
      string of the new request
    data - (optional) Dictionary, bytes, or file-like object to
      send in the body of the request
    json - (optional) Any json compatible python object
    headers - (optional) Dictionary of HTTP Headers to send with
      the request
    cookies - (optional) Dict object to send with the request
    auth - (optional) BasicAuth named tuple represent HTTP Basic Auth
    auth - aiohttp.helpers.BasicAuth
    allow_redirects - (optional) If set to False, do not follow
      redirects
    version - Request HTTP version.
    compress - Set to True if request has to be compressed
       with deflate encoding.
    chunked - Set to chunk size for chunked transfer encoding.
    expect100 - Expect 100-continue response from server.
    connector - BaseConnector sub-class instance to support
       connection pooling.
    read_until_eof - Read response until eof if response
       does not have Content-Length header.
    loop - Optional event loop.
    timeout - Optional ClientTimeout settings structure, 5min
       total timeout by default.
    Usage::
      >>> import aiohttp
      >>> resp = await aiohttp.request('GET', 'http://python.org/')
      >>> resp
      <ClientResponse(python.org/) [200]>
      >>> data = await resp.read()
    FNT)r   force_close)r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r=   rY   r  r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	  s                              rn   r[   r[     s    @ O d===	'  G )/+'-)!%')) 	 	
 	
, 	/  rm   )r  r  rq  r|  r   rs  r   r   r   
contextlibr   typesr   r   typingr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	multidictr   r   r   r   yarlr   r  r   r   r    abcr!   client_exceptionsr"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   client_reqrepr5   r6   r7   r8   r9   	client_wsr:   r   r;   r<   r=   r>   	cookiejarr?   helpersr@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   http_websocketrN   rO   rP   rQ   streamsrR   tracingrS   rT   typedefsrU   rV   rW   rX   __all__r   r\   srZ   rp   rk   rq   r  r  r  rY   r  r   rZ  r  r  r  r  r  r  r[   rl   rm   rn   <module>r     s          				 



            0 0 0 0 0 0 0 0                                       *  B B B B B B B B B B B B       ! ! ! ! ! ! ! ! ! ! " " " " " "                                         *              J I I I I I            !                                  H G G G G G G G G G G G Q Q Q Q Q Q Q Q Q Q Q Q ) ) ) ) ) ) ' ' ' ' ' ' ' ' G G G G G G G G G G G G%P  J T$d333       43, )6F(C(C(C}% C C C7:^U3S89 i i i i i i i iX    3X+=!>@Q   8* * * * *7G * * *$	! 	! 	! 	! 	!9:QR 	! 	! 	!$ $ $ $ $ $ $ $J +/&*15 $ ""'+ $&*,4&*-)-"&045f f ff	f WS#X&'	f
 f f l#f  .f 9
f f f smf d^f f tnf  !f" H#f$ #%f& =&()'f( l#)f* +f, &-f. 3-/f0 7,
-1f2 3f4 5f6 #7f f f f f frm   