o
    4˜ŽjUü  ã                   @   s  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
mZmZmZmZmZ ddlmZ ddlmZ ddl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+m,Z, d	dl-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJ d	dlKmLZLmMZM d	dlNmOZOmPZPmQZQmRZRmSZS d	dlTmUZUmVZVmWZW d	dlXmYZYmZZZm[Z[m\Z\m]Z] d	dl^m_Z_ d	dl`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZk d	dl'mlZlmmZmmnZnmoZo d	dlpmqZqmrZrmsZs d	dltmuZumvZv d	dlwmxZxmyZymzZzm{Z{m|Z|m}Z} dZ~e�rEddlm€Z€ neZ€ej�dk�rVe�rVddlm‚Z‚ G dd„ dedd�ZƒG d d!„ d!edd�Z„ej…d"d"d"d#�G d$d%„ d%ƒƒZ†e†d&d'd(�Z‡ee† eˆd)< e‰h d*£ƒZŠed+d,d"d-�Z‹eePeŒge�f ZŽG d.d/„ d/ƒZ�G d0d1„ d1eeee‹f ee‹ ƒZ�e�eP Z‘e�eVe’  Z“G d2d3„ d3ƒZ”ej�dk�ríe�ríe'j•ddd4œd5e�d6e}d7emd8eZdB d9ej–dB d:e‚eƒ d;e”fd<d=„Z—dS e'j•ddd4œd5e�d6e}d7emd8eZdB d9ej–dB d:ed;e”fd>d=„Z—dS )?zHTTP Client for asyncio.é    N)Ú	AwaitableÚCallableÚ	CoroutineÚ	GeneratorÚIterableÚSequence)Úsuppress)ÚTracebackType)ÚTYPE_CHECKINGÚAnyÚFinalÚGenericÚLiteralÚ	TypedDictÚTypeVarÚoverload)ÚCIMultiDictÚ	MultiDictÚMultiDictProxyÚistr)ÚURLé   )ÚhdrsÚhttpÚpayload)ÚWebSocketDataQueue)ÚAbstractCookieJar)ÚClientConnectionErrorÚClientConnectionResetErrorÚClientConnectorCertificateErrorÚClientConnectorDNSErrorÚClientConnectorErrorÚClientConnectorSSLErrorÚClientErrorÚClientHttpProxyErrorÚClientOSErrorÚClientPayloadErrorÚClientProxyConnectionErrorÚClientResponseErrorÚClientSSLErrorÚConnectionTimeoutErrorÚContentTypeErrorÚ
InvalidURLÚInvalidUrlClientErrorÚInvalidUrlRedirectClientErrorÚNonHttpUrlClientErrorÚNonHttpUrlRedirectClientErrorÚRedirectClientErrorÚServerConnectionErrorÚServerDisconnectedErrorÚServerFingerprintMismatchÚServerTimeoutErrorÚSocketTimeoutErrorÚTooManyRedirectsÚWSMessageTypeErrorÚWSServerHandshakeError)ÚClientMiddlewareTypeÚbuild_client_middlewares)ÚClientRequestÚClientResponseÚFingerprintÚRequestInfoÚ_merge_ssl_params)ÚDEFAULT_WS_CLIENT_TIMEOUTÚClientWebSocketResponseÚClientWSTimeout)ÚHTTP_AND_EMPTY_SCHEMA_SETÚBaseConnectorÚNamedPipeConnectorÚTCPConnectorÚUnixConnector)Ú	CookieJar)Ú	_SENTINELÚDEBUGÚDEFAULT_CHUNK_SIZEÚEMPTY_BODY_METHODSÚ	BasicAuthÚTimeoutHandleÚbasicauth_from_netrcÚget_env_proxy_for_urlÚnetrc_from_envÚsentinelÚstrip_auth_from_url)ÚWS_KEYÚHttpVersionÚWebSocketReaderÚWebSocketWriter)ÚWSHandshakeErrorÚ
ws_ext_genÚws_ext_parse)ÚTraceÚTraceConfig)ÚJSONBytesEncoderÚJSONEncoderÚLooseCookiesÚLooseHeadersÚQueryÚStrOrURL)*r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r1   r/   r.   r0   r2   r3   r4   r5   r6   r7   r9   r<   r=   r>   r?   rE   rG   rH   rF   rB   ÚClientSessionÚClientTimeoutrC   Úrequestr8   )Ú
SSLContext©é   é   )ÚUnpackc                   @   sP  e Zd ZU eed< eed< eed< edB ed< edB ed< ee	 dB ed< e
dB ed< eed	< eed
< e	eB dB ed< edB ed< eed< deB eeged f B ed< eed< edB ed< e
dB ed< ded< eeB eB ed< e	dB ed< edB ed< eed< edB ed< edB ed< edB ed< edB ed< edB ed< ee dB ed< dS )Ú_RequestOptionsÚparamsÚdataÚjsonNÚcookiesÚheadersÚskip_auto_headersÚauthÚallow_redirectsÚmax_redirectsÚcompressÚchunkedÚ	expect100Úraise_for_statusÚread_until_eofÚproxyÚ
proxy_authz ClientTimeout | _SENTINEL | NoneÚtimeoutÚsslÚserver_hostnameÚproxy_headersÚtrace_request_ctxÚread_bufsizeÚauto_decompressÚmax_line_sizeÚmax_field_sizeÚmax_headersÚmiddlewares)Ú__name__Ú
__module__Ú__qualname__rb   Ú__annotations__r   r`   ra   r   ÚstrrN   ÚboolÚintr   r=   r   rc   rg   r>   Úobjectr   r:   © r�   r�   úK/var/www/kodo/Anonymous/send/lib/python3.10/site-packages/aiohttp/client.pyrl   °   s8   
 rl   F©Útotalc                   @   sò   e Zd ZU eed< ee ed< ded< edB ed< eed< eed< edB ed	< edB ed
< edB ed< e	ed< e
dB ed< edB ed< edB ed< eeB eB ed< edB ed< edB ed< edB ed< edB ed< e
dB ed< eed< eed< dS )Ú_WSConnectOptionsÚmethodÚ	protocolszClientWSTimeout | _SENTINELr}   NÚreceive_timeoutÚ	autocloseÚautopingÚ	heartbeatrs   Úoriginrm   rq   r{   r|   r~   Ú
verify_sslÚfingerprintÚssl_contextr   r€   rv   Úmax_msg_size)rˆ   r‰   rŠ   rŒ   r‹   r   Úfloatr�   rN   rb   ra   rc   rg   r>   ÚbytesrŽ   r�   r�   r�   r‘   r”   Î   s,   
 r”   T)Úauto_attribsÚfrozenÚslotsc                   @   sZ   e Zd ZU dZedB ed< dZedB ed< dZedB ed< dZedB ed< dZ	eed< dS )re   Nr“   ÚconnectÚ	sock_readÚsock_connecté   Úceil_threshold)
rˆ   r‰   rŠ   r“   r    r‹   r¥   r¦   r§   r©   r�   r�   r�   r‘   re   æ   s   
 re   i,  é   )r“   r§   ÚDEFAULT_TIMEOUT>   ÚGETÚPUTÚHEADÚTRACEÚDELETEÚOPTIONSÚ_RetType_coz.ClientResponse | ClientWebSocketResponse[bool])ÚboundÚ	covariantc                D       sø	  e Zd ZU dZeg d¢ƒZdZejdB e	d< dZ
edB e	d< 	dÄddddddddejdeeeejdddededdddeddd	d
d„ dedœdedB dedB dejdB dedB dedB dedB dedB dee dB dedB dededB dee dee dee de de!dB de"de"e#ege$d f B d e%e&B d!e%dB d"e'e(B d#e"d$e"d%e"d&e)e* dB d'e+d(e+d)e+d*e+d+e,d,e-e. d-e&dB e%B d.dfBd/d0„Z/d1ed  d.dfd2d3„Z0e1rÞd4ed5e2d.df‡ fd6d7„Z3e4fd8e2d.dfd9d:„Z5e6j7d;k�re8�rd<ed=ed>e9e: d.d?fd@dA„Z;nd<ed=ed>e2d.d?fdBdA„Z;dCed.e<fdDdE„Z=dddddddddFdddddddeddddddddddddddGœd<edCedHe>dIe2dJe2dedB dedB dee dB dedB dKe"dLe+dMee"B dB dNe"dB dOe"dde"B e#ege$d f B dPe"dedB dedB d"e(e&B dQe"dB dRe?dB dSe@dB dTe@e"B eAB dUedB dVedB dWe'd'e+dB d#e"dB d(e+dB d)e+dB d*e+dB d,e-e. dB d.efBdXdY„ZBe6j7d;k�re8�reCdZd[œd=ed\eDd d>e9eE d.d]fd^d_„ƒZFeCd=ed\eDd d>e9eE d.d`fdad_„ƒZFeCdZd[œd=ed\e"d>e9eE d.dbfdcd_„ƒZFeGjHdedddddddddddddddddddeddfœd=ed<edgee d"eIe&B dhe%dB die"dje"dke%dB dedB dledB dHe>dedB dedB dedB dTe@e"B eAB dQe"dB dRe?dB dSe@dB dUedB dVedB dMe+dme+d\e"d.dbf0dnd_„ZFe6j7d;k�r¶e8�r¶eCdZd[œd=ed\eDd d>e9eE d.dofdpdq„ƒZJeCd=ed\eDd d>e9eE d.drfdsdq„ƒZJeCdZd[œd=ed\e"d>e9eE d.dtfdudq„ƒZJeGjHdedddddddddddddddddddeddfœd=ed<edgee d"eIe&B dhe%dB die"dje"dke%dB dedB dledB dHe>dedB dedB dedB dTe@e"B eAB dQe"dB dRe?dB dSe@dB dUedB dVedB dMe+dme+d\e"d.dtf0dvdq„ZJdedB d.dwfdxdy„ZKdzed.edB fd{d|„ZLe6j7d;k�rŸe8�rŸd=ed>e9e: d.d?fd}d~„ZMd=ed>e9e: d.d?fdd€„ZNd=ed>e9e: d.d?fd�d‚„ZOd=ed>e9e: d.d?fdƒd„„ZPd=ed>e9e: d.d?fd…d†„ZQd=ed>e9e: d.d?fd‡dˆ„ZRd=ed>e9e: d.d?fd‰dŠ„ZSnkdd‹œd=edKe"d>e2d.d?fdŒd~„ZMdd‹œd=edKe"d>e2d.d?fd�d€„ZNdd‹œd=edKe"d>e2d.d?fdŽd‚„ZOdd�œd=edIe2d>e2d.d?fd�d„„ZPdd�œd=edIe2d>e2d.d?fd‘d†„ZQdd�œd=edIe2d>e2d.d?fd’dˆ„ZRd=ed>e2d.d?fd“dŠ„ZSdÅd”d•„ZTeUd.e"fd–d—„ƒZVeUd.edB fd˜d™„ƒZWeUd.e!fdšd›„ƒZXeUd.eYe+e+f fdœd�„ƒZZeUd.e"fdždŸ„ƒZ[e[j\d5e"d.dfd dŸ„ƒZ[eUd.ejfd¡d¢„ƒZ]eUd.e(fd£d¤„ƒZ^eUdÆd¥d¦„ƒZ_eUd.ee` fd§d¨„ƒZaeUd.edB fd©dª„ƒZbeUd.efd«d¬„ƒZceUd.e"fd­d®„ƒZdeUd.e"e#ege$d f B fd¯d°„ƒZeeUd.e"fd±d²„ƒZfeUd.e"fd³d´„ƒZgeUd.e)e* fdµd¶„ƒZhdÅd·d¸„ZidÅd¹dº„Zjd»eek dB d¼ekdB d½eldB d.dfd¾d¿„ZmdÇdÀdÁ„Znd»eek dB d¼ekdB d½eldB d.dfdÂdÃ„Zo‡  ZpS )Èrd   z/First-class interface for making HTTP requests.) Ú	_base_urlÚ_base_url_originÚ_source_tracebackÚ
_connectorÚ_loopÚ_cookie_jarÚ_connector_ownerÚ_default_authÚ_versionÚ_json_serializeÚ_json_serialize_bytesÚ_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Ú_max_headersÚ_resolve_charsetÚ_default_proxyÚ_default_proxy_authÚ_retry_connectionÚ_middlewaresÚrequote_redirect_urlNr·   r¸   TFiþ  é€   c                 C   s   dS )Nzutf-8r�   )ÚrÚbr�   r�   r‘   Ú<lambda>U  s    zClientSession.<lambda>r�   )Ú	connectorÚlooprp   rq   r{   r|   rr   rs   Újson_serializeÚjson_serialize_bytesÚrequest_classÚresponse_classÚws_response_classÚversionÚ
cookie_jarÚconnector_ownerry   Úread_timeoutÚconn_timeoutr}   rƒ   Ú	trust_envrÔ   Útrace_configsr‚   r„   r…   r†   Úfallback_charset_resolverr‡   Ússl_shutdown_timeoutÚbase_urlrÙ   rÚ   rp   rq   r{   r|   rr   rs   rÛ   rÜ   rÝ   rÞ   rß   rà   rá   râ   ry   rã   rä   r}   rƒ   rå   rÔ   ræ   r‚   r„   r…   r†   rç   r‡   rè   Úreturnc          #      C   sô  d | _ |d u r|d ur|j}|pt ¡ }|d u st|tƒr,|| _|d u r&d n| ¡ | _nt|ƒ| _| j ¡ | _| jj	s?J dƒ‚| jd urO| jj
 d¡sOtdƒ‚|tu sW|d u r…t| _|turotjdtdd� tj| j|d�| _|d ur„tj| j|d�| _tjd	tdd� n"t|tƒs”td
t|ƒ› d�ƒ‚|| _|turŸtdƒ‚|d ur§tdƒ‚| tur³tjdtdd� |d u r½t|| d�}|j|urÆtdƒ‚|| _| ¡ rÖt t d¡¡| _|d u rßt|d�}|| _ |rê| j  !|¡ |	d urötjdtdd� |d u�rtjdtdd� || _ || _"|	| _#|| _$|
| _%|| _&|| _'|| _(|| _)|| _*|| _+|| _,|| _-|| _.|�r5t/|ƒ}!nt/ƒ }!|!| _0|d u�rKt1dd„ |D ƒƒ| _2nt1ƒ | _2|| _3|| _4|| _5|�p\g | _6| j6D ]}"|" 7¡  �qa|| _8|| _9|| _:d| _;|| _<d S )Nz Only absolute URLs are supportedú/z!base_url must have a trailing '/'z8read_timeout is deprecated, use timeout argument insteadé   ©Ú
stacklevelr’   )r¥   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.connectzSThe ssl_shutdown_timeout parameter is deprecated and will be removed in aiohttp 4.0)rÚ   rè   z0Session and connector has to use same event loopr   ©rÚ   ú�The 'auth' parameter is deprecated and will be removed in v4; pass headers={'Authorization': aiohttp.encode_basic_auth(login, password)} insteadú¢The 'proxy_auth' parameter is deprecated and will be removed in v4; pass proxy_headers={'Proxy-Authorization': aiohttp.encode_basic_auth(login, password)} insteadc                 s   s   � | ]}t |ƒV  qd S ©N©r   ©Ú.0Úir�   r�   r‘   Ú	<genexpr>Ò  s   € z)ClientSession.__init__.<locals>.<genexpr>T)=r¸   r¹   ÚasyncioÚget_running_loopÚ
isinstancer   rµ   r›   r¶   ÚabsoluteÚpathÚendswithÚ
ValueErrorrS   r«   rÁ   ÚwarningsÚwarnÚDeprecationWarningÚattrÚevolvere   ÚtyperG   ÚRuntimeErrorÚ	get_debugÚ	tracebackÚextract_stackÚsysÚ	_getframer·   rI   rº   Úupdate_cookiesr»   r¼   r½   r¾   r¿   rÂ   rÃ   rÄ   rÀ   rË   rÌ   rÍ   rÎ   r   rÅ   Ú	frozensetrÆ   rÇ   rÈ   rÉ   rÊ   ÚfreezerÏ   rÐ   rÑ   rÒ   rÓ   )#Úselfré   rÙ   rÚ   rp   rq   r{   r|   rr   rs   rÛ   rÜ   rÝ   rÞ   rß   rà   rá   râ   ry   rã   rä   r}   rƒ   rå   rÔ   ræ   r‚   r„   r…   r†   rç   r‡   rè   Úreal_headersÚtrace_configr�   r�   r‘   Ú__init__5  sÖ   &
ýý€
ÿÿÿýÿ

û
û



zClientSession.__init__Úclsc                 C   s   t jd| j› d�tdd� d S )NzInheritance class z" from ClientSession is discouragedrì   rí   )rÿ   r   rˆ   r  )r  r�   r�   r‘   Ú__init_subclass__å  s
   
ýzClientSession.__init_subclass__ÚnameÚvalc                    s4   || j vrtjd|› d�tdd� tƒ  ||¡ d S )NzSetting custom ClientSession.z attribute is discouragedrì   rí   )ÚATTRSrÿ   r   r  ÚsuperÚ__setattr__)r  r  r  ©Ú	__class__r�   r‘   r  î  s   

ýzClientSession.__setattr__Ú	_warningsc                 C   sZ   | j s+d| i}|jd| ›�tfi |¤Ž | ddœ}| jd ur#| j|d< | j |¡ d S d S )NÚsourcezUnclosed client session zUnclosed client session)Úclient_sessionÚmessageÚsource_traceback)Úclosedr   ÚResourceWarningr·   r¹   Úcall_exception_handler)r  r  ÚkwargsÚcontextr�   r�   r‘   Ú__del__÷  s   
ÿÿ


øzClientSession.__del__rh   r•   Úurlr#  Ú_RequestContextManagerc                 K   ó   d S rò   r�   ©r  r•   r&  r#  r�   r�   r‘   rf     s   zClientSession.requestc                 K   s   t | j||fi |¤ŽƒS )zPerform HTTP request.)r'  Ú_requestr)  r�   r�   r‘   rf     s   Ú
str_or_urlc                 C   s$   t |ƒ}| jr|js| j |¡S |S rò   )r   rµ   rû   Újoin)r  r+  r&  r�   r�   r‘   Ú
_build_url  s   zClientSession._build_urlé
   )rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   rœ   r�   rž   r~   r   r€   r�   r‚   rƒ   r„   r…   r†   r‡   rm   rn   ro   rt   ru   rv   rw   rx   rz   rœ   r�   rž   r~   r   r€   r�   c          <      ƒ   s&
  �ˆj rtdƒ‚| ¡ }t||||ƒ}|	d urtjdtdd� |d ur+tjdtdd� |d ur7|d ur7tdƒ‚|d urQˆjd urIt	j
|ˆjd�}nt	j|ˆjd�}t|tƒs`|d ur`t dt¡ d	}!g }"ˆj}#|pji }ˆ |¡}zˆ |¡}$W n tyˆ }% zt|ƒ|%‚d }%~%ww ˆjd us�J ‚|$jˆjjvr›t|$ƒ‚|d urªd
d„ |D ƒˆjB }&n	ˆjr±ˆj}&nd }&|d u rºˆj}|d u rÁˆj}|d u rÈd }nˆ |¡}zt|ƒ}W n tyä }% zt|ƒ|%‚d }%~%ww |tu ríˆj‰nt|tƒsøt|d�‰n|‰tˆj ˆj!ˆj"d�}'|' #¡ }(ˆd u �rˆj$‰ˆ d u �rˆj%‰ ˆd u �r ˆj&‰ˆd u �r(ˆj'‰ˆd u �r0ˆj(‰‡‡	fdd„ˆj)D ƒ‰
ˆ
D ]})|) *||$ +|¡|¡I d H  �q=|' ,¡ ‰d }*�z{ˆ�� ˆj-�oa|t.v }+	 t/|$ƒ\}$},|$j0�sx|!�rrt1nt}-|-|$ƒ‚|"�s…|	�r…|,�r…tdƒ‚|	d u �s’|"�r”|,d u�r”|,}	|	d u �r¬ˆj2�r¬ˆj3�r©ˆj4|$ 5¡ k�r¬ˆj2}	|	d u �rÈˆj6�rÈ|$j7d u�rÈˆj  8d ˆj9|$j7¡I d H }	|d u�rÜ|	d u�rÜt:j;|v �rÜtdƒ‚ˆj< =|$¡}.|d u�rt>ˆj<j?ˆj<j@d�}/|/ A|¡ |/ =|$¡}0|0�r|. B|0¡ d }1|d u�rt|ƒ}1n$ˆj6�r3tCtDƒ� tE FtG|$¡I d H \}1}W d   ƒ n	1 �s.w   Y  ˆjH||$fi d|“d|“d|&“d|“d|.“d|	“d|#“d|“d|“d|“dˆj “dˆjI“d |1“d!|“d"ˆ“d#ˆ“d$|d u�rs|nd“d%|“d&|“d'ˆ
“d(ˆjJ“Ž}*d)tKd*tLf‡ ‡‡‡‡‡‡‡‡‡
f
d+d,„}2| d u �r ˆjMn| }3|3�r«tN|2|3ƒ}4n|2}4z	|4|*ƒI d H }5W nG tOtPtQtRf�yÃ   ‚  tStTf�yÕ   |+�rÔd-}+Y �qb‚  tU�yÝ   ‚  tV�yý }6 z|6jWd u �rót|6tEjXƒ�ró‚ tS|6jYŽ |6‚d }6~6ww |5jZ�rˆj< [|5jZ|5j\¡ |5j]d.v �r]|
�r]ˆ
D ]})|) ^||$ +|¡||5¡I d H  �q|!d/7 }!|" _|5¡ |�rU|!|k�rU|*j`d u�rG|*j` a¡ I d H  |5 a¡  tb|"d	 jctd|"ƒƒ‚|5j]d0k�rb|5jet:jfk�so|5j]d1v �r‚|5jet:jgk�r‚t:jh}d }| it:jj¡�r�| kt:jj¡ n|*j`d u�r•|*j`jl�r•|5 a¡  tmd2ƒ‚|*j`}|5jn it:jo¡�p¦|5jn it:jp¡}7|7d u �r­n±|5 q¡  z
t|7ˆjr d3�}8W n% t�yà }% z|*j`d u�rÒ|*j` a¡ I d H  |5 a¡  t1|7d4ƒ|%‚d }%~%ww |8j}9|9tsv�rÿ|*j`d u�r÷|*j` a¡ I d H  |5 a¡  tt|7ƒ‚|9�s|$ u|8¡}8z|8 5¡ }:W n% t�y2 }; z|*j`d u�r$|*j` a¡ I d H  |5 a¡  t1|8d5ƒ|;‚d };~;ww |$ 5¡ |:k�rSd }	d }| vt:j;d ¡ | vt:jwd ¡ | vt:jxd ¡ |8}$i }|5 q¡  �qb	 W d   ƒ n	1 �siw   Y  |*j`d u�r||*j` a¡ I d H  |d u �r„ˆjy}|d u �rŠntz|ƒ�r—||5ƒI d H  n|�rž|5 {¡  |(d u�rµ|5j|d u�r±|5j| }|(j~¡ n|( ~¡  td|"ƒ|5_ˆ
D ]})|) €||$ +|¡||5¡I d H  �q¼|5W S  t��y }% z5|' a¡  |(�ræ|( ~¡  d }(|*d u�rù|*j`d u�rù|*j` a¡ I d H  ˆ
D ]})|) ‚||$ +|¡||%¡I d H  �qû‚ d }%~%ww )6NzSession is closedrð   ri   rí   rñ   z9data and json parameters can not be used at the same time)ÚdumpszChunk size is deprecated #1615r   c                 S   s   h | ]}t |ƒ’qS r�   ró   rô   r�   r�   r‘   Ú	<setcomp>{  s    ÿz)ClientSession._request.<locals>.<setcomp>r’   )r©   c                    s    g | ]}t ˆ ||jˆd �ƒ‘qS ))r�   )r\   Útrace_config_ctx)rõ   r  )r  r�   r�   r‘   Ú
<listcomp>®  s    û
ýÿz*ClientSession._request.<locals>.<listcomp>Tz<Cannot combine AUTH argument with credentials encoded in URLzTCannot combine AUTHORIZATION header with AUTH argument or credentials encoded in URL)ÚunsafeÚquote_cookierm   rq   rr   rn   rp   rs   rà   rv   rw   rx   rÚ   rÞ   r{   r|   ÚtimerÚsessionr~   r   r€   Útracesrå   Úreqrê   c                 “   sð   �ˆj d usJ ‚zˆj j| ˆ	ˆd�I d H }W n tjy, } z	td| j› �ƒ|‚d }~ww |jd us4J ‚|jjˆ| jt	v ˆˆ ˆj
ˆˆj jˆˆˆd�
 z!|  |¡I d H }z| |¡I d H  W W |S  tyk   | ¡  ‚ w  tyw   | ¡  ‚ w )N)r7  r}   zConnection timeout to host )
r5  Úskip_payloadrz   rƒ   rã   r‚   Útimeout_ceil_thresholdr„   r…   r†   )r¸   r¥   rø   ÚTimeoutErrorr*   r&  ÚprotocolÚset_response_paramsr•   rM   r¦   Ú_timeout_ceil_thresholdÚsendÚstartÚBaseExceptionÚclose)r8  ÚconnÚexcÚresp)
rƒ   r…   r†   r„   r‚   rz   Úreal_timeoutr  r5  r7  r�   r‘   Ú_connect_and_send_request&  sP   €ÿ
ÿþ€ÿöúþþz9ClientSession._request.<locals>._connect_and_send_requestF)é-  é.  é/  i3  i4  r   rJ  )rH  rI  zzCannot follow redirect with a consumed request body. Use bytes, a seekable file-like object, or set allow_redirects=False.)ÚencodedzHServer attempted redirecting to a location that does not look like a URLzInvalid redirect URL origin)ƒr   r  Úupperr@   rÿ   r   r  rþ   r¿   r   ÚJsonBytesPayloadÚJsonPayloadr¾   rú   r�   r½   Ú_prepare_headersr-  r-   r¸   ÚschemeÚallowed_protocol_schema_setr/   rÆ   rÐ   rÑ   r   r,   rS   rÁ   re   rO   r¹   r“   r©   r@  rË   rÃ   rÌ   rÍ   rÎ   rÊ   Úsend_request_startÚupdate_queryr5  rÒ   ÚIDEMPOTENT_METHODSrT   Úraw_hostr.   r¼   rµ   r¶   r›   rÄ   ÚhostÚrun_in_executorÚ_get_netrc_authr   ÚAUTHORIZATIONrº   Úfilter_cookiesrI   r3  r4  r  Úloadr   ÚLookupErrorrø   Ú	to_threadrQ   rÇ   rÈ   rå   r<   r=   rÓ   r;   r*   r!   r   r"   r%   r3   r#   ÚOSErrorÚerrnor;  ÚargsÚ_raw_cookie_headersÚupdate_cookies_from_headersr&  ÚstatusÚsend_request_redirectÚappendÚ_bodyrB  r7   Úrequest_infoÚtupler•   Ú	METH_HEADÚ	METH_POSTÚMETH_GETÚgetÚCONTENT_LENGTHÚpopÚconsumedr&   rq   ÚLOCATIONÚURIÚreleaserÀ   rD   r0   r,  ÚpopallÚCOOKIEÚPROXY_AUTHORIZATIONrÂ   Úcallablery   Ú
connectionÚadd_callbackÚcancelÚ_historyÚsend_request_endrA  Úsend_request_exception)<r  r•   r+  rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   rœ   r�   rž   r~   r   r€   r�   r‚   rƒ   r„   r…   r†   r‡   Ú	redirectsÚhistoryrà   r&  ÚeÚskip_headersÚtmÚhandleÚtracer8  Úretry_persistent_connectionÚauth_from_urlÚerr_exc_clsÚall_cookiesÚtmp_cookie_jarÚreq_cookiesÚproxy_rG  Úeffective_middlewaresÚhandlerrE  rD  Úr_urlÚparsed_redirect_urlrP  Úredirect_originÚorigin_val_errr�   )rƒ   r…   r†   r„   r‚   rz   rF  r  r5  r�   r7  r‘   r*    s¼  €+ûûÿ


€ÿÿþ

€ÿ
ÿ




ú	ÿÿýÿ
ÿý

ÿ

ÿ
þ





ÿÿþýüûúùø	÷
öõôóòñðïî€íìëêéÿ þ)ÿÿü€ýÿÿ
ÿ€
ÿÿ

ÿþý€ü	

þý€ü	€ � �á  !




ÿÿ€òzClientSession._request.)Údecode_textr‘  zB_BaseRequestContextManager[ClientWebSocketResponse[Literal[True]]]c                K   r(  rò   r�   ©r  r&  r‘  r#  r�   r�   r‘   Ú
ws_connect
  ó   zClientSession.ws_connectzC_BaseRequestContextManager[ClientWebSocketResponse[Literal[False]]]c                K   r(  rò   r�   r’  r�   r�   r‘   r“    r”  z9_BaseRequestContextManager[ClientWebSocketResponse[bool]]c                K   r(  rò   r�   r’  r�   r�   r‘   r“    r”  r   i  @ )r•   r–   r}   r—   r˜   r™   rš   rs   r›   rm   rq   r{   r|   r~   rœ   r�   rž   r   r€   rv   rŸ   r‘  r–   r—   r˜   r™   rš   r›   rŸ   c                C   s–   t | j|fi d|“d|“d|“d|“d|“d|“d|“d|	“d	|
“d
|“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“ŽƒS )zInitiate websocket connection.r•   r–   r}   r—   r˜   r™   rš   rs   r›   rm   rq   r{   r|   r~   rœ   r�   rž   r   r€   rv   rŸ   r‘  )Ú_WSRequestContextManagerÚ_ws_connect)r  r&  r•   r–   r}   r—   r˜   r™   rš   rs   r›   rm   rq   r{   r|   r~   rœ   r�   rž   r   r€   rv   rŸ   r‘  r�   r�   r‘   r“  %  sb   ÿþýüûúùø	÷
öõôóòñðïîíìëêéÿz&ClientWebSocketResponse[Literal[True]]c                Ë   ó   �d S rò   r�   r’  r�   r�   r‘   r–  _  ó   €zClientSession._ws_connectz'ClientWebSocketResponse[Literal[False]]c                Ë   r—  rò   r�   r’  r�   r�   r‘   r–  h  r˜  zClientWebSocketResponse[bool]c                Ë   r—  rò   r�   r’  r�   r�   r‘   r–  q  r˜  c          0      Ã   s6  �|	d urt jdtdd� |d urt jdtdd� |tur3t|tƒr%|}nt jdtdd� t|d�}nt}|d urHt jdtdd� tj||d	�}|d u rPt	ƒ }nt	|ƒ}t
jd
t
jdt
jdi}| ¡ D ]
\}}| ||¡ qct t d¡¡}| ¡ |t
j< |r‡d |¡|t
j< |
d ur�|
|t
j< |rœt|d�}||t
j< |d u rªt jdtdd� d}t||||ƒ}| j||||d|	|||||d�I d H }�z|jdkrØt|j|j d|j|j!d�‚|j! "t
jd¡ #¡ d
krñt|j|j d|j|j!d�‚|j! "t
jd¡ #¡ dk�rt|j|j d|j|j!d�‚|j! "t
j$d¡} t t% &|t' ¡ (¡ ¡ ¡ }!| |!k�r3t|j|j d|j|j!d�‚d }"|�r\t
j|j!v �r\dd„ |j!t
j  )d¡D ƒ}#|#D ]}$|$|v �rZ|$}" n�qOd}%|�r–|j! "t
j¡}&|&�r’zt*|&ƒ\}}%W n" t+�y‘ }' zt|j|j |'j,d |j|j!d�|'‚d }'~'ww d}d}%|j-}(|(d u�s J ‚|(j.})|)d u�sªJ ‚|j/d u �r´d |)_0n|)j0d u�rÂt1|j/|)j0ƒ|)_0|(j2}*|*d u�sÌJ ‚t3|)t4| j5d�}+t6|)|*d||%d �},W n t7�yë   | 8¡  ‚ w | j9|+|,|"||||| j5|||%d!�}-t:|+|t;|ƒ|d"�}.|d u �rd n|-j<}/|)j=|.|+|/d#� |-S )$Nrð   ri   rí   rñ   zeparameter 'timeout' of type 'float' is deprecated, please use 'timeout=ClientWSTimeout(ws_close=...)'rì   )Úws_closezofloat parameter 'receive_timeout' is deprecated, please use parameter 'timeout=ClientWSTimeout(ws_receive=...)')Ú
ws_receiveÚ	websocketÚUpgradeÚ13é   ú,)rv   z+ssl=None is deprecated, please use ssl=TrueTF)	rm   rq   rz   rs   r{   r|   r~   r   r€   ée   zInvalid response status)r  rc  rq   Ú zInvalid upgrade headerÚupgradezInvalid connection headerzInvalid challenge responsec                 S   s   g | ]}|  ¡ ‘qS r�   )Ústrip)rõ   Úprotor�   r�   r‘   r2    s    ÿÿz-ClientSession._ws_connect.<locals>.<listcomp>r   rï   )Úuse_maskrv   Ú
notakeover)rš   rv   Úclient_notakeover)rv   r‘  )Údata_received_cb)>rÿ   r   r  rS   rú   rC   rA   r  r  r   r   ÚUPGRADEÚ
CONNECTIONÚSEC_WEBSOCKET_VERSIONÚitemsÚ
setdefaultÚbase64Ú	b64encodeÚosÚurandomÚdecodeÚSEC_WEBSOCKET_KEYr,  ÚSEC_WEBSOCKET_PROTOCOLÚORIGINrZ   ÚSEC_WEBSOCKET_EXTENSIONSr@   rf   rc  r9   rg  r~  rq   rl  ÚlowerÚSEC_WEBSOCKET_ACCEPTÚhashlibÚsha1rU   ÚdigestÚsplitr[   rY   r`  rw  r<  rš  rã   ÚmaxÚ	transportr   rL   r¹   rX   rA  rB  rÉ   rW   r�   Ú_on_data_receivedÚ
set_parser)0r  r&  r•   r–   r}   r—   r˜   r™   rš   rs   r›   rm   rq   r{   r|   r~   rœ   r�   rž   r   r€   rv   rŸ   r‘  Ú
ws_timeoutr  Údefault_headersÚkeyÚvalueÚsec_keyÚextstrrE  Úr_keyÚmatchr<  Úresp_protocolsr¤  r¦  Úcompress_hdrsrD  rC  Ú
conn_protor¾  ÚreaderÚwriterÚws_respÚparserÚcbr�   r�   r‘   r–  z  sh  €ûû
ûûý


ýõ
ûûû	
û	þ
þûú€ÿ	ÿ
ûþõüúCIMultiDict[str]c                 C   sh   t | jƒ}|r2t|ttfƒst |ƒ}tƒ }| ¡ D ]\}}||v r(| ||¡ q|||< | |¡ q|S )z3Add default headers and transform it to CIMultiDict)r   rÅ   rú   r   r   Úsetr¬  Úadd)r  rq   ÚresultÚadded_namesrÃ  rÄ  r�   r�   r‘   rO  l  s   
zClientSession._prepare_headersrV  c                 C   s(   t ƒ }zt||ƒW S  ty   Y dS w )z§
        Get auth from netrc for the given host.

        This method is designed to be called in an executor to avoid
        blocking I/O in the event loop.
        N)rR   rP   r\  )r  rV  Ú	netrc_objr�   r�   r‘   rX  |  s   ÿzClientSession._get_netrc_authc                 K   r(  rò   r�   ©r  r&  r#  r�   r�   r‘   rl  ‹  ó   zClientSession.getc                 K   r(  rò   r�   r×  r�   r�   r‘   Úoptions‘  rØ  zClientSession.optionsc                 K   r(  rò   r�   r×  r�   r�   r‘   Úhead—  rØ  zClientSession.headc                 K   r(  rò   r�   r×  r�   r�   r‘   Úpost�  rØ  zClientSession.postc                 K   r(  rò   r�   r×  r�   r�   r‘   Úput£  rØ  zClientSession.putc                 K   r(  rò   r�   r×  r�   r�   r‘   Úpatch©  rØ  zClientSession.patchc                 K   r(  rò   r�   r×  r�   r�   r‘   Údelete¯  rØ  zClientSession.delete)rt   c                K   ó   t | jtj|fd|i|¤ŽƒS )zPerform HTTP GET request.rt   )r'  r*  r   rk  ©r  r&  rt   r#  r�   r�   r‘   rl  ·  ó   ÿÿÿÿc                K   rß  )zPerform HTTP OPTIONS request.rt   )r'  r*  r   ÚMETH_OPTIONSrà  r�   r�   r‘   rÙ  Á  rá  c                K   rß  )zPerform HTTP HEAD request.rt   )r'  r*  r   ri  rà  r�   r�   r‘   rÚ  Ë  rá  )rn   c                K   rß  )zPerform HTTP POST request.rn   )r'  r*  r   rj  ©r  r&  rn   r#  r�   r�   r‘   rÛ  Õ  ó   ÿc                K   rß  )zPerform HTTP PUT request.rn   )r'  r*  r   ÚMETH_PUTrã  r�   r�   r‘   rÜ  Ý  rä  c                K   rß  )zPerform HTTP PATCH request.rn   )r'  r*  r   Ú
METH_PATCHrã  r�   r�   r‘   rÝ  å  rä  c                 K   s   t | jtj|fi |¤ŽƒS )zPerform HTTP DELETE request.)r'  r*  r   ÚMETH_DELETEr×  r�   r�   r‘   rÞ  í  s   ÿc                 Ã   s6   �| j s| jdur| jr| j ¡ I dH  d| _dS dS )zMClose underlying connector.

        Release all acquired resources.
        N)r   r¸   r»   rB  ©r  r�   r�   r‘   rB  ó  s   €
ýzClientSession.closec                 C   s   | j du p| j jS )z@Is client session closed.

        A readonly property.
        N)r¸   r   rè  r�   r�   r‘   r   ý  s   zClientSession.closedc                 C   ó   | j S )z(Connector instance used for the session.©r¸   rè  r�   r�   r‘   rÙ     ó   zClientSession.connectorc                 C   ré  )zThe session cookies.)rº   rè  r�   r�   r‘   rá   
  rë  zClientSession.cookie_jarc                 C   ré  )z"The session HTTP protocol version.)r½   rè  r�   r�   r‘   rà     rë  zClientSession.versionc                 C   ré  )ú)Do URL requoting on redirection handling.)rÀ   rè  r�   r�   r‘   rÔ     rë  z"ClientSession.requote_redirect_urlc                 C   s   t jdtdd� || _dS )rì  z=session.requote_redirect_url modification is deprecated #2778rì   rí   N)rÿ   r   r  rÀ   )r  r  r�   r�   r‘   rÔ     s   ý
c                 C   s   t jdtdd� | jS )zSession's loop.z"client.loop property is deprecatedrì   rí   )rÿ   r   r  r¹   rè  r�   r�   r‘   rÚ   #  s   ÿzClientSession.loopc                 C   ré  )zTimeout for the session.)rÁ   rè  r�   r�   r‘   r}   +  rë  zClientSession.timeoutc                 C   ré  )z*The default headers of the client session.)rÅ   rè  r�   r�   r‘   rq   0  rë  zClientSession.headersc                 C   ré  )z2Headers for which autogeneration should be skipped)rÆ   rè  r�   r�   r‘   rr   5  rë  zClientSession.skip_auto_headersc                 C   ré  )z2An object that represents HTTP Basic Authorization)r¼   rè  r�   r�   r‘   rs   :  rë  zClientSession.authc                 C   ré  )zJson serializer callable)r¾   rè  r�   r�   r‘   rÛ   ?  rë  zClientSession.json_serializec                 C   ré  )z-Should connector be closed on session closing)r»   rè  r�   r�   r‘   râ   D  rë  zClientSession.connector_ownerc                 C   ré  )zGShould `ClientResponse.raise_for_status()` be called for each response.)rÂ   rè  r�   r�   r‘   ry   I  s   zClientSession.raise_for_statusc                 C   ré  )z7Should the body response be automatically decompressed.)rÃ   rè  r�   r�   r‘   rƒ   P  rë  zClientSession.auto_decompressc                 C   ré  )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è  r�   r�   r‘   rå   U  s   zClientSession.trust_envc                 C   ré  )z7A list of TraceConfig instances used for client tracing)rÊ   rè  r�   r�   r‘   ræ   _  rë  zClientSession.trace_configsc                 C   s
   d| _ dS )zwDetach connector from session without closing the former.

        Session is switched to closed state anyway.
        Nrê  rè  r�   r�   r‘   Údetachd  s   
zClientSession.detachc                 C   s   t dƒ‚)NzUse async with instead)Ú	TypeErrorrè  r�   r�   r‘   Ú	__enter__k  ó   zClientSession.__enter__Úexc_typeÚexc_valÚexc_tbc                 C   r(  rò   r�   ©r  rñ  rò  ró  r�   r�   r‘   Ú__exit__n  r”  zClientSession.__exit__c                 Ã   s   �| S rò   r�   rè  r�   r�   r‘   Ú
__aenter__w  s   €zClientSession.__aenter__c                 Ã   s   �|   ¡ I d H  d S rò   )rB  rô  r�   r�   r‘   Ú	__aexit__z  s   €zClientSession.__aexit__rò   ©rê   N)rê   rÑ  )rê   rd   )qrˆ   r‰   rŠ   Ú__doc__r  r  r·   r  ÚStackSummaryr‹   r¸   rE   ro   r/  r<   r=   rB   r   ÚHttpVersion11rS   rL   rc   rø   ÚAbstractEventLoopr`   ra   rN   r   rŒ   r_   r^   r  rV   r   r�   r   r   r    rJ   r�   re   Úlistr]   rŽ   Ú_CharsetResolverr   r:   r  r  rK   r   r  rÿ   r%  r	  Úversion_infor
   rk   rl   rf   r   r-  rb   r¡   rg   r>   r*  r   r   r”   r“  r   rk  rC   r–  rO  rX  rl  rÙ  rÚ  rÛ  rÜ  rÝ  rÞ  rB  Úpropertyr   rÙ   rá   rh  rà   rÔ   ÚsetterrÚ   r}   rq   r   rr   rs   rÛ   râ   ry   rƒ   rå   ræ   rí  rï  rA  r	   rõ  rö  r÷  Ú__classcell__r�   r�   r  r‘   rd   
  sÈ  
 ÿ%þÞþüûúùø	÷

öõôóòñðïîíìëêéèçæ
åäãâá à!ß
"Þ#
Ý 1	þýüû	ÿÿÿ
þÜþýûúùø	÷

öõôó
òñðîìëêéèçæ
åäãâá à!ß"Þ#Ý
$Ü%
Û   rüþüûúþüûúüþüûúçþüûúùø	÷
öõôóòñð
ïîíìëêéèç
æ8üþüûúþüûúüþüûúçþüûúùø	÷
öõôóòñð
ïîíìëêéèç
æ sþý
üþý
üþý
üþý
üþý
üþý
üþýü	ÿÿÿÿ
þÿÿÿÿ
þÿÿÿÿ
þÿÿÿÿ
þ	ÿÿÿÿ
þ	ÿÿÿÿ
þ

	þ	


þýü
û
	
þýüûrd   c                   @   sØ   e Zd ZdZdeeje def ddfdd„Z	dddeje fdd	„Z
d
ededeje fdd„Zddd„Zdeedef fdd„Zdeedef fdd„Zdefdd„Zdee dB dedB dedB ddfdd„ZdS )Ú_BaseRequestContextManager)Ú_coroÚ_respÚcoroNrê   c                 C   s
   || _ d S rò   )r  )r  r  r�   r�   r‘   r  ‰  ó   
z#_BaseRequestContextManager.__init__Úargc                 C   s   | j  |¡S rò   )r  r?  )r  r  r�   r�   r‘   r?  Œ  s   z_BaseRequestContextManager.sendr`  r#  c                 O   s   | j j|i |¤ŽS rò   )r  Úthrow)r  r`  r#  r�   r�   r‘   r	  �  s   z _BaseRequestContextManager.throwc                 C   s
   | j  ¡ S rò   )r  rB  rè  r�   r�   r‘   rB  ’  r  z _BaseRequestContextManager.closec                 C   s   | j  ¡ }|S rò   )r  Ú	__await__)r  Úretr�   r�   r‘   r
  •  s   
z$_BaseRequestContextManager.__await__c                 C   s   |   ¡ S rò   )r
  rè  r�   r�   r‘   Ú__iter__™  rð  z#_BaseRequestContextManager.__iter__c                 Ã   s    �| j I d H | _| j ¡ I d H S rò   )r  r  rö  rè  r�   r�   r‘   rö  œ  s   €z%_BaseRequestContextManager.__aenter__rñ  rD  Útbc                 Ã   s   �| j  |||¡I d H  d S rò   )r  r÷  ©r  rñ  rD  r  r�   r�   r‘   r÷     s   €z$_BaseRequestContextManager.__aexit__rø  )rˆ   r‰   rŠ   Ú	__slots__r   rø   ÚFuturer   r²   r  r?  r	  rB  r   r
  r  rö  r  rA  r	   r÷  r�   r�   r�   r‘   r  ƒ  s$    "

þýüûr  c                   @   sn   e Zd ZdZdeeje def de	ddfdd„Z
defdd	„Zd
ee dB dedB dedB ddfdd„ZdS )Ú_SessionRequestContextManager©r  r  Ú_sessionr  Nr6  rê   c                 C   s   || _ d | _|| _d S rò   r  )r  r  r6  r�   r�   r‘   r  ±  s   
z&_SessionRequestContextManager.__init__c                 Ã   s:   �z| j I d H | _W | jS  ty   | j ¡ I d H  ‚ w rò   )r  r  rA  r  rB  rè  r�   r�   r‘   rö  º  s   €üþz(_SessionRequestContextManager.__aenter__rñ  rD  r  c                 Ã   s.   �| j d usJ ‚| j  ¡  | j ¡ I d H  d S rò   )r  rB  r  r  r�   r�   r‘   r÷  Ã  s   €
z'_SessionRequestContextManager.__aexit__)rˆ   r‰   rŠ   r  r   rø   r  r   r=   rd   r  rö  r  rA  r	   r÷  r�   r�   r�   r‘   r  ­  s&    þý
ü		
þýüûr  )rà   rÙ   rÚ   r•   r&  rà   rÙ   rÚ   r#  rê   c                K   r(  rò   r�   )r•   r&  rà   rÙ   rÚ   r#  r�   r�   r‘   rf   Ð  s   rf   c                K   sZ   d}|du rd}t |dd�}t|| dd¡|| dt¡||d�}t|j| |fi |¤Ž|ƒS )aB  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
        >>> async with aiohttp.request('GET', 'http://python.org/') as resp:
        ...    print(resp)
        ...    data = await resp.read()
        <ClientResponse(https://www.python.org/) [200 OK]>
        FNT)rÚ   Úforce_closerp   r}   )rÚ   rp   rà   r}   rÙ   râ   )rG   rd   rn  rS   r  r*  )r•   r&  rà   rÙ   rÚ   r#  râ   r6  r�   r�   r‘   rf   Ü  s    -

ú	þ)˜rù  rø   r®  r¹  ro   r°  r	  r  rÿ   Úcollections.abcr   r   r   r   r   r   Ú
contextlibr   Útypesr	   Útypingr
   r   r   r   r   r   r   r   r  Ú	multidictr   r   r   r   Úyarlr   r¡  r   r   r   Ú_websocket.readerr   Úabcr   Úclient_exceptionsr   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   Úclient_middlewaresr:   r;   Úclient_reqrepr<   r=   r>   r?   r@   Ú	client_wsrA   rB   rC   rÙ   rD   rE   rF   rG   rH   Ú	cookiejarrI   ÚhelpersrJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   Úhttp_websocketrY   rZ   r[   Útracingr\   r]   Útypedefsr^   r_   r`   ra   rb   rc   Ú__all__r~   rg   rÿ  rk   rl   r”   Úsre   r«   r‹   r  rT  r²   r¡   rŒ   rþ  rd   r  r'  r�   r•  r  rû  rü  rf   r�   r�   r�   r‘   Ú<module>   sÎ     (|4 	3ý           
ÿ&!úÿþüûúùøúÿþüûúùø