
     j	                   f   S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKJrJ	r	  S SK
Jr  SSKJr  SSKJrJrJr  SSKJrJrJrJrJrJr  SS	KJr  SS
KJrJrJrJr  SSKJ r J!r!J"r"J#r#  SSK$J%r%  SSK&J'r'  SSK(J)r)J*r*  SSK+J,r,J-r-  SSK.J/r/  SSK0J1r1J2r2J3r3J4r4J5r5J6r6J7r7J8r8J9r9J:r:J;r;J<r<J=r=J>r>J?r?  SSK@JArAJBrB  SSKCJDrDJErEJFrFJGrGJHrH  / SQrI\R                  " SSS9rK\R                  " SSS9rL " S S5      rM\M" 5       rN\R                  " S5      rPS\ 3rQSR                  \R                  " 5        V s/ s H  o S:w  d  M
  U PM     sn 5      rT " S  S!\R                  5      rV " S" S#\=5      rW " S$ S%\15      rX\R                  S&\R                  4   r[ " S' S(5      r\ " S) S\\5      r] " S* S\\5      r^gs  sn f )+    )annotationsN)asynccontextmanagercontextmanager)TracebackType   )__version__)Auth	BasicAuthFunctionAuth)DEFAULT_LIMITSDEFAULT_MAX_REDIRECTSDEFAULT_TIMEOUT_CONFIGLimitsProxyTimeout)SUPPORTED_DECODERS)
InvalidURLRemoteProtocolErrorTooManyRedirectsrequest_context)CookiesHeadersRequestResponse)codes)ASGITransport)AsyncBaseTransportBaseTransport)AsyncHTTPTransportHTTPTransport)WSGITransport)AsyncByteStream	AuthTypes	CertTypesCookieTypesHeaderTypesProxiesTypes
ProxyTypesQueryParamTypesRequestContentRequestDataRequestExtensionsRequestFilesSyncByteStreamTimeoutTypesVerifyTypes)URLQueryParams)Timer
URLPatternget_environment_proxiesis_https_redirectsame_origin)USE_CLIENT_DEFAULTAsyncClientClientTr:   )boundUr9   c                      \ rS rSrSrSrg)UseClientDefaultD   a  
For some parameters such as `auth=...` and `timeout=...` we need to be able
to indicate the default "unset" state, in a way that is distinctly different
to using `None`.

The default "unset" state indicates that whatever default is set on the
client should be used. This is different to setting `None`, which
explicitly disables the parameter, possibly overriding a client default.

For example we use `timeout=USE_CLIENT_DEFAULT` in the `request()` signature.
Omitting the `timeout` parameter will send a request using whatever default
timeout has been configured on the client. Including `timeout=None` will
ensure no timeout is used.

Note that user code shouldn't need to use the `USE_CLIENT_DEFAULT` constant,
but it is used internally when a parameter is not included.
 N)__name__
__module____qualname____firstlineno____doc____static_attributes__rA       W/home/ubuntu/second-brain/public-api/venv/lib/python3.13/site-packages/httpx/_client.pyr?   r?   D   s    rH   r?   httpxzpython-httpx/z, identityc                       \ rS rSrSrSrSrSrg)ClientStatec   r         rA   N)rB   rC   rD   rE   UNOPENEDOPENEDCLOSEDrG   rA   rH   rI   rM   rM   c   s     H F FrH   rM   c                  F    \ rS rSrSr        SS jrS	S jrS
S jrSrg)BoundSyncStreamq   z
A byte stream that is bound to a given response instance, and that
ensures the `response.elapsed` is set once the response is closed.
c                (    Xl         X l        X0l        g N_stream	_response_timerselfstreamresponsetimers       rI   __init__BoundSyncStream.__init__w        !rH   c              #  :   #    U R                    H  nUv   M	     g 7frX   rZ   r^   chunks     rI   __iter__BoundSyncStream.__iter__~   s     \\EK "s   c                    U R                   R                  5       n[        R                  " US9U R                  l        U R                  R                  5         g N)seconds)r\   sync_elapseddatetime	timedeltar[   elapsedrZ   closer^   rm   s     rI   rr   BoundSyncStream.close   s;    ++**,!)!3!3G!DrH   r[   rZ   r\   N)r_   r.   r`   r   ra   r3   returnNone)rv   ztyping.Iterator[bytes]rv   rw   )	rB   rC   rD   rE   rF   rb   ri   rr   rG   rA   rH   rI   rU   rU   q   s6    
$08AF	rH   rU   c                  F    \ rS rSrSr        SS jrS	S jrS
S jrSrg)BoundAsyncStream   z
An async byte stream that is bound to a given response instance, and that
ensures the `response.elapsed` is set once the response is closed.
c                (    Xl         X l        X0l        g rX   rY   r]   s       rI   rb   BoundAsyncStream.__init__   rd   rH   c               J   #    U R                     S h  vN nU7v   M   N
 g 7frX   rf   rg   s     rI   	__aiter__BoundAsyncStream.__aiter__   s     << 	%K	<s   #!!#!#c                   #    U R                   R                  5       I S h  vN n[        R                  " US9U R                  l        U R                  R                  5       I S h  vN   g  NJ N7frl   )r\   async_elapsedro   rp   r[   rq   rZ   aclosers   s     rI   r   BoundAsyncStream.aclose   sO     1133!)!3!3G!Dll!!### 4#s"   A/A+AA/%A-&A/-A/ru   N)r_   r"   r`   r   ra   r3   rv   rw   )rv   ztyping.AsyncIterator[bytes]rx   )	rB   rC   rD   rE   rF   rb   r   r   rG   rA   rH   rI   rz   rz      s6    
%19BG	$rH   rz   .c                  L   \ rS rSrSSSS\S\SSSSS.                       S*S jjr\S+S	 j5       r\S+S
 j5       r	S,S jr
      S-S jr\S.S j5       r\R                  S/S j5       r\S0S j5       r\R                  S1S j5       r\S2S j5       r\R                  S3S j5       r\S4S j5       r\R                  S5S j5       r\S6S j5       r\R                  S7S j5       r\S8S j5       r\R                  S9S j5       r\S:S j5       r\R                  S;S j5       rSSSSSSS\SS.	                       S<S jjrS=S jrS>S?S jjrS>S@S jjr S>   SAS  jjrSBS! jr\4     SCS" jjrSDS# jrSES$ jrSFS% jrSGS& jr      SHS' jr SIS( jr!S)r"g)J
BaseClient   NF Tutf-8authparamsheaderscookiestimeoutfollow_redirectsmax_redirectsevent_hooksbase_url	trust_envdefault_encodingc                  Uc  0 OUnU R                  [        U	5      5      U l        U R                  U5      U l        [        U5      U l        [        U5      U l        [        U5      U l
        [        U5      U l        X`l        Xpl        [        UR!                  S/ 5      5      [        UR!                  S/ 5      5      S.U l        Xl        Xl        [(        R*                  U l        g Nrequestr`   )r   r`   )_enforce_trailing_slashr1   	_base_url_build_auth_authr2   _paramsr   r   r   _cookiesr   _timeoutr   r   listget_event_hooks
_trust_env_default_encodingrM   rQ   _state)r^   r   r   r   r   r   r   r   r   r   r   r   s               rI   rb   BaseClient.__init__   s     (/b[55c(mD%%d+
"6*w'(( 0*KOOIr:;[__Z<=
 $!1!**rH   c                <    U R                   [        R                  :H  $ )z"
Check if the client being closed
)r   rM   rS   r^   s    rI   	is_closedBaseClient.is_closed   s    
 {{k0000rH   c                    U R                   $ rX   )r   r   s    rI   r   BaseClient.trust_env   s    rH   c                ~    UR                   R                  S5      (       a  U$ UR                  UR                   S-   S9$ )N   /raw_path)r   endswith	copy_withr^   urls     rI   r   "BaseClient._enforce_trailing_slash   s6    <<  &&J}}cllT&9}::rH   c           	        UcB  U(       a9  [        5       R                  5        VVs0 s H  u  p4X4c  S O[        US9_M     snn$ 0 $ [        U[        5      (       aP  0 nUR                  5        H8  u  p6[        U[
        [        45      (       a	  [        US9OUnXu[        U5      '   M:     U$ [        U[
        [        45      (       a	  [        US9OUnSU0$ s  snnf )N)r   zall://)r5   itemsr   
isinstancedictstrr1   )r^   proxiesallow_env_proxieskeyr   new_proxiesvalueproxys           rI   _get_proxy_mapBaseClient._get_proxy_map   s     ?  %<$=$C$C$E$E %C.@$E  Igt$$K%mmo
,6usCj,I,I%(u(-CH% . *4WsCj*I*IEg&wEe$$s   Cc                    U R                   $ rX   )r   r   s    rI   r   BaseClient.timeout   s    }}rH   c                $    [        U5      U l        g rX   )r   r   )r^   r   s     rI   r   r          (rH   c                    U R                   $ rX   )r   r   s    rI   r   BaseClient.event_hooks   s       rH   c                |    [        UR                  S/ 5      5      [        UR                  S/ 5      5      S.U l        g r   )r   r   r   )r^   r   s     rI   r   r      s4     KOOIr:;[__Z<=
rH   c                    U R                   $ )z
Authentication class used when none is passed at the request-level.

See also [Authentication][0].

[0]: /quickstart/#authentication
)r   r   s    rI   r   BaseClient.auth   s     zzrH   c                0    U R                  U5      U l        g rX   )r   r   r^   r   s     rI   r   r     s    %%d+
rH   c                    U R                   $ )z;
Base URL to use when sending requests with relative URLs.
)r   r   s    rI   r   BaseClient.base_url  s    
 ~~rH   c                B    U R                  [        U5      5      U l        g rX   )r   r1   r   r   s     rI   r   r     s    55c#h?rH   c                    U R                   $ )z0
HTTP headers to include when sending requests.
)_headersr   s    rI   r   BaseClient.headers      
 }}rH   c                    [        S[        R                  S5      S[        R                  S5      S.5      nUR	                  U5        X l        g )Ns   */*asciis
   keep-alive)s   Accepts   Accept-Encodings
   Connections
   User-Agent)r   ACCEPT_ENCODINGencode
USER_AGENTupdater   )r^   r   client_headerss      rI   r   r     sH     !$3$:$:7$C,)009	
 	g&&rH   c                    U R                   $ )z1
Cookie values to include when sending requests.
)r   r   s    rI   r   BaseClient.cookies*  r   rH   c                $    [        U5      U l        g rX   )r   r   )r^   r   s     rI   r   r   1  r   rH   c                    U R                   $ )z?
Query parameters to include in the URL when sending requests.
)r   r   s    rI   r   BaseClient.params5  s    
 ||rH   c                $    [        U5      U l        g rX   )r2   r   )r^   r   s     rI   r   r   <  s    "6*rH   )	contentdatafilesjsonr   r   r   r   
extensionsc       	        Z   U R                  U5      nU R                  U5      nU R                  U	5      n	U R                  U5      nUc  0 OUnSU;  aI  [	        U
[
        5      (       a  U R                  O
[        U
5      n
[        S0 UDSU
R                  5       0D6n[        UUUUUUUUU	US9
$ )a  
Build and return a request instance.

* The `params`, `headers` and `cookies` arguments
are merged with any values set on the client.
* The `url` argument is merged with any `base_url` set on the client.

See also: [Request instances][0]

[0]: /advanced/clients/#request-instances
r   )r   r   r   r   r   r   r   r   rA   )
_merge_url_merge_headers_merge_cookies_merge_queryparamsr   r?   r   r   r   as_dictr   )r^   methodr   r   r   r   r   r   r   r   r   r   s               rI   build_requestBaseClient.build_request@  s    4 ooc"%%g.%%g.((0%-R:
J& g'788 W% 
 F
FGOO4EFJ!
 	
rH   c                    [        U5      nUR                  (       aK  U R                  R                  UR                  R	                  S5      -   nU R                  R                  US9$ U$ )zs
Merge a URL argument together with any 'base_url' on the client,
to create the URL used for the outgoing request.
r   r   )r1   is_relative_urlr   r   lstripr   )r^   r   	merge_urlmerge_raw_paths       rI   r   BaseClient._merge_urls  s\    
 H	$$ "]]33i6H6H6O6OPT6UUN==**N*CCrH   c                    U(       d  U R                   (       a(  [        U R                   5      nUR                  U5        U$ U$ )zx
Merge a cookies argument together with any cookies on the client,
to create the cookies used for the outgoing request.
)r   r   r   )r^   r   merged_cookiess      rI   r   BaseClient._merge_cookies  s4    
 dll$T\\2N!!'*!!rH   c                R    [        U R                  5      nUR                  U5        U$ )zx
Merge a headers argument together with any headers on the client,
to create the headers used for the outgoing request.
)r   r   r   )r^   r   merged_headerss      rI   r   BaseClient._merge_headers  s&    
 !.g&rH   c                    U(       d  U R                   (       a&  [        U R                   5      nUR                  U5      $ U$ )z
Merge a queryparams argument together with any queryparams on the client,
to create the queryparams used for the outgoing request.
)r   r2   merge)r^   r   merged_queryparamss      rI   r   BaseClient._merge_queryparams  s2     T[[!,T[[!9%++F33rH   c                    Uc  g [        U[        5      (       a  [        US   US   S9$ [        U[        5      (       a  U$ [	        U5      (       a	  [        US9$ [        SU< 35      e)Nr   r   usernamepassword)funczInvalid "auth" argument: )r   tupler
   r	   callabler   	TypeErrorr   s     rI   r   BaseClient._build_auth  se    <e$$d1gQ@@d##Kd^^T**7x@AArH   c                   [        U[        5      (       a  U R                  OU R                  U5      nUb  U$ UR                  R
                  UR                  R                  pCU(       d  U(       a	  [        X4S9$ [        5       $ )Nr  )	r   r?   r   r   r   r  r  r
   r	   )r^   r   r   r  r  s        rI   _build_request_authBaseClient._build_request_auth  sj     %T+;<<DJJ$BRBRSWBX 	 K$[[117;;3G3G(xhBBvrH   c           	         U R                  X5      nU R                  X5      nU R                  XU5      nU R                  X5      n[	        U R
                  5      n[        UUUUUUR                  S9$ )zk
Given a request and a redirect response, return a new request that
should be used to effect the redirect.
)r   r   r   r   r_   r   )_redirect_method_redirect_url_redirect_headers_redirect_streamr   r   r   r   )r^   r   r`   r   r   r   r_   r   s           rI   _build_redirect_request"BaseClient._build_redirect_request  sy    
 &&w9  3((v>&&w7$,,'))
 	
rH   c                   UR                   nUR                  [        R                  :X  a  US:w  a  SnUR                  [        R                  :X  a  US:w  a  SnUR                  [        R
                  :X  a  US:X  a  SnU$ )zs
When being redirected we may want to change the method of the request
based on certain specs or browser behavior.
HEADGETPOST)r   status_coder   	SEE_OTHERFOUNDMOVED_PERMANENTLY)r^   r   r`   r   s       rI   r  BaseClient._redirect_method  st    
  5??2v7GF 5;;.6V3CF 5#:#::v?OFrH   c                   UR                   S   n [        U5      nUR                  (       a4  UR
                  (       d#  UR                  UR                  R
                  S9nUR                  (       a  UR                  R                  U5      nUR                  R                  (       a4  UR                  (       d#  UR                  UR                  R                  S9nU$ ! [         a  n[        SU S3US9SeSnAff = f)z,
Return the URL for the redirect to follow.
Locationz Invalid URL in location header: .r   N)host)fragment)r   r1   r   r   schemer   r   r   r   joinr!  )r^   r   r`   locationr   excs         rI   r  BaseClient._redirect_url  s     ##J/	h-C ::chh--W[[%5%5-6C ++""3'C ;;--)=)=->C
'  	%23%q97	s   C 
C<(C77C<c                   [        UR                  5      n[        X!R                  5      (       dK  [	        UR                  U5      (       d  UR                  SS5        UR                  R                  S5      US'   X1R                  :w  a*  US:X  a$  UR                  SS5        UR                  SS5        UR                  SS5        U$ )	zB
Return the headers that should be used for the redirect request.
AuthorizationNr   Hostr  zContent-LengthzTransfer-EncodingCookie)	r   r   r7   r   r6   popnetlocdecoder   )r^   r   r   r   r   s        rI   r  BaseClient._redirect_headers  s     '//*3,,$W[[#66 OT2 "jj//8GFO^^#% KK($/KK+T2 	Hd#rH   c                F    X!R                   :w  a  US:X  a  gUR                  $ )z?
Return the body that should be used for the redirect request.
r  N)r   r_   )r^   r   r   s      rI   r  BaseClient._redirect_stream)  s!     ^^#%~~rH   c                    SUR                   ;  am  [        U R                  [        5      (       a  U R                  O[	        U R                  5      n[        S0 UR                   DSUR                  5       0D6Ul         g g )Nr   rA   )r   r   r   r?   r   r   r   )r^   r   r   s      rI   _set_timeoutBaseClient._set_timeout4  sg    G... dll,<== T\\* 
 "&!V(:(:!VGOODU!VG /rH   )r   r   r   r   r   r   r   r   r   r   r   r   r   )r   AuthTypes | Noner   QueryParamTypes | Noner   HeaderTypes | Noner   CookieTypes | Noner   r/   r   boolr   intr   +None | typing.Mapping[str, list[EventHook]]r   	URL | strr   r8  r   #str | typing.Callable[[bytes], str]rv   rw   )rv   r8  )r   r1   rv   r1   )r   ProxiesTypes | Noner   r8  rv   zdict[str, Proxy | None])rv   r   )r   r/   rv   rw   )rv   dict[str, list[EventHook]])r   r>  rv   rw   )rv   Auth | None)r   r#   rv   rw   )rv   r1   )r   r;  rv   rw   )rv   r   )r   r&   rv   rw   )rv   r   )r   r%   rv   rw   )rv   r2   )r   r)   rv   rw   )r   r   r   r;  r   RequestContent | Noner   RequestData | Noner   RequestFiles | Noner   typing.Any | Noner   r5  r   r6  r   r7  r   TimeoutTypes | UseClientDefaultr   RequestExtensions | Nonerv   r   )r   r;  rv   r1   rX   )r   r7  rv   r7  )r   r6  rv   r6  )r   r5  rv   r5  )r   r4  rv   r?  )r   r   r   #AuthTypes | UseClientDefault | Nonerv   r	   )r   r   r`   r   rv   r   )r   r   r`   r   rv   r   )r   r   r`   r   rv   r1   )r   r   r   r1   r   r   rv   r   )r   r   r   r   rv   z'SyncByteStream | AsyncByteStream | None)r   r   rv   rw   )#rB   rC   rD   rE   r   r   rb   propertyr   r   r   r   r   setterr   r   r   r   r   r   r8   r   r   r   r   r   r   r
  r  r  r  r  r  r2  rG   rA   rH   rI   r   r      sL    "&)-&*&* 6!&2EI @G +  + '	 +
 $ + $ +  +  +  + C +  +  + > + 
 +D 1 1  ;
%*%?C%	 %(   ^^) ) ! ! 
 
   
[[, ,   __@ @   ^^
' 
'   ^^) )   ]]+ + *.#'%)"&)-&*&*3E/31
1
 1

 '1
 !1
 #1
  1
 '1
 $1
 $1
 11
 -1
 
1
f,	 04
,
	

B 5G 2 
	$
&.:6		(+		0	WrH   r   c                    ^  \ rS rSrSrSSSSSSSSSSS\S\\SSSSSSS.                                           S!U 4S	 jjjrSSSS\SSS4                 S"S
 jjr	SSSS\S4               S#S jjr
S$S jrSSSSSSS\\\SS.                           S%S jjr\SSSSSSS\\\SS.                           S&S jj5       rS\\S.         S'S jjr          S(S jr        S)S jrS*S jrSSS\\\SS.                 S+S jjrSSS\\\SS.                 S,S jjrSSS\\\SS.                 S,S jjrSSSSSSS\\\SS.                         S-S jjrSSSSSSS\\\SS.                         S-S jjrSSSSSSS\\\SS.                         S-S jjrSSS\\\SS.                 S,S jjrS.S jrS/S jr   S0       S1S jjrS rU =r$ )2r:   i>  a  
An HTTP client, with connection pooling, HTTP/2, redirects, cookie persistence, etc.

It can be shared between threads.

Usage:

```python
>>> client = httpx.Client()
>>> response = client.get('https://example.org')
```

**Parameters:**

* **auth** - *(optional)* An authentication class to use when sending
requests.
* **params** - *(optional)* Query parameters to include in request URLs, as
a string, dictionary, or sequence of two-tuples.
* **headers** - *(optional)* Dictionary of HTTP headers to include when
sending requests.
* **cookies** - *(optional)* Dictionary of Cookie items to include when
sending requests.
* **verify** - *(optional)* SSL certificates (a.k.a CA bundle) used to
verify the identity of requested hosts. Either `True` (default CA bundle),
a path to an SSL certificate file, an `ssl.SSLContext`, or `False`
(which will disable verification).
* **cert** - *(optional)* An SSL certificate used by the requested host
to authenticate the client. Either a path to an SSL certificate file, or
two-tuple of (certificate file, key file), or a three-tuple of (certificate
file, key file, password).
* **http2** - *(optional)* A boolean indicating if HTTP/2 support should be
enabled. Defaults to `False`.
* **proxy** - *(optional)* A proxy URL where all the traffic should be routed.
* **proxies** - *(optional)* A dictionary mapping proxy keys to proxy
URLs.
* **timeout** - *(optional)* The timeout configuration to use when sending
requests.
* **limits** - *(optional)* The limits configuration to use.
* **max_redirects** - *(optional)* The maximum number of redirect responses
that should be followed.
* **base_url** - *(optional)* A URL to use as the base when building
request URLs.
* **transport** - *(optional)* A transport class to use for sending requests
over the network.
* **app** - *(optional)* An WSGI application to send requests to,
rather than sending actual network requests.
* **trust_env** - *(optional)* Enables or disables usage of environment
variables for configuration.
* **default_encoding** - *(optional)* The default encoding to use for decoding
response text, if no charset information is included in a response Content-Type
header. Set to a callable for automatic character set detection. Default: "utf-8".
NTFr   r   r   r   r   r   verifycerthttp1http2r   r   mountsr   r   limitsr   r   r   	transportappr   r   c               |  > [         TU ]  UUUUUUUUUUUS9  U(       a   SS KnU
(       a/  Sn[        R
                  " U[        5        U	(       a  [        S5      eU(       a  Sn[        R
                  " U[        5        U=(       a    US L =(       a    US L nU R                  U
=(       d    U	U5      nU R                  UUUUUUUUS9U l
        UR                  5        VV	s0 s H*  u  nn	[        U5      U	c  S OU R                  U	UUUUUUS9_M,     sn	nU l        UbI  U R                  R                  UR                  5        VVs0 s H  u  nn[        U5      U_M     snn5        [!        [#        U R                  R                  5       5      5      U l        g ! [         a    [        S5      S ef = fs  sn	nf s  snnf )	Nr   r   uUsing http2=True, but the 'h2' package is not installed. Make sure to install httpx using `pip install httpx[http2]`.JThe 'proxies' argument is now deprecated. Use 'proxy' or 'mounts' instead.*Use either `proxy` or 'proxies', not both.zhThe 'app' shortcut is now deprecated. Use the explicit style 'transport=WSGITransport(app=...)' instead.rK  rL  rM  rN  rP  rQ  rR  r   rK  rL  rM  rN  rP  r   superrb   h2ImportErrorwarningswarnDeprecationWarningRuntimeErrorr   _init_transport
_transportr   r4   _init_proxy_transport_mountsr   r   sortedr^   r   r   r   r   rK  rL  rM  rN  r   r   rO  r   r   rP  r   r   r   rQ  rR  r   r   r[  messager   	proxy_mapr   	__class__s                              rI   rb   Client.__init__t  s   2 	-'#- 	 	
  4  MM'#56"#OPPV  MM'#56%K#+K)t:K''(85:KL	.. / 	
, (oo/@
 0
U sO} "++# , 
 0@
 LLBH,,.Q.YC)+.Q F4<<#5#5#789m  !S F@
  R   F  1F2F8
F/c	           	     @    Ub  U$ Ub	  [        US9$ [        UUUUUUS9$ N)rR  rX  )r!   r    	r^   rK  rL  rM  rN  rP  rQ  rR  r   s	            rI   ra  Client._init_transport  s?      ? S))
 	
rH   c           
          [        UUUUUUUS9$ N)rK  rL  rM  rN  rP  r   r   )r    r^   r   rK  rL  rM  rN  rP  r   s           rI   rc  Client._init_proxy_transport  s&     
 	
rH   c                    U R                   R                  5        H0  u  p#UR                  U5      (       d  M  Uc  U R                  s  $ Us  $    U R                  $ z
Returns the transport instance that should be used for a given URL.
This will either be the standard connection pool, or a proxy.
rd  r   matchesrb  r^   r   patternrQ  s       rI   _transport_for_urlClient._transport_for_url  M    
 #',,"4"4"6Gs##*3*;tJJ #7 rH   r   r   r   r   r   r   r   r   r   r   r   c                   U	b  Sn[         R                  " U[        5        U R                  UUUUUUUUU	UUS9nU R	                  XUS9$ )aQ  
Build and send a request.

Equivalent to:

```python
request = client.build_request(...)
response = client.send(request, ...)
```

See `Client.build_request()`, `Client.send()` and
[Merging of configuration][0] for how the various parameters
are merged with client-level configuration.

[0]: /advanced/clients/#merging-of-configuration
Setting per-request cookies=<...> is being deprecated, because the expected behaviour on cookie persistence is ambiguous. Set cookies directly on the client instance instead.r   r   r   r   r   r   r   r   r   r   r   r   r   r]  r^  r_  r   sendr^   r   r   r   r   r   r   r   r   r   r   r   r   r   rg  r   s                   rI   r   Client.request  ss    B C 
 MM'#56$$! % 
 yy>NyOOrH   c             #     #    U R                  UUUUUUUUU	UUS9nU R                  UU
USS9n Uv   UR                  5         g! UR                  5         f = f7fz
Alternative to `httpx.request()` that streams the response body
instead of loading it into memory at once.

**Parameters**: See `httpx.request`.

See also: [Streaming Responses][0]

[0]: /quickstart#streaming-responses
r  T)r   r   r   r_   N)r   r  rr   r^   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r`   s                   rI   r_   Client.streamG  s|     8 $$! % 
 99-	  
	NNNHNNs   ,AA AAAr_   r   r   c                  U R                   [        R                  :X  a  [        S5      e[        R                  U l         [        U[        5      (       a  U R                  OUnU R                  U5        U R                  X5      nU R                  UUU/ S9n U(       d  UR                  5         U$ ! [         a  nUR                  5         UeSnAff = f)aK  
Send a request.

The request is sent as-is, unmodified.

Typically you'll want to build one with `Client.build_request()`
so that any client-level configuration is merged into the request,
but passing an explicit `httpx.Request()` is supported as well.

See also: [Request instances][0]

[0]: /advanced/clients/#request-instances
5Cannot send a request, as the client has been closed.r   r   historyN)r   rM   rS   r`  rR   r   r?   r   r2  r
  _send_handling_authreadBaseExceptionrr   r^   r   r_   r   r   r`   r%  s          rI   r  Client.send{  s    * ;;+,,,VWW!(( *,<== !!! 	 	'"''6++-	 , 
	O 	NNI	s   B0 0
C:CCc                   UR                  U5      n [        U5      n U R                  UUUS9n  UR                  U5      n[        U5      Ul        UR                  5         UnUR                  U5        MY  ! [         a    Us UR                  5         $ f = f! [         a  nUR                  5         UeS nAff = f! UR                  5         f = fN)r   r  )sync_auth_flownext_send_handling_redirectsr  StopIterationrr   r   r  r  appendr  	r^   r   r   r   r  	auth_flowr`   next_requestr%  s	            rI   r  Client._send_handling_auth  s     ''0		9oG88%5# 9 
('0~~h'? (,G}H$MMO*GNN8,  ) (' OO( % NN$I OOsL   B> A8 3B 6B> 8BB BB 
B;$B66B;;B> >Cc                    [        U5      U R                  :  a
  [        SUS9eU R                  S    H  nU" U5        M     U R	                  U5      n U R                  S    H  nU" U5        M     [        U5      Ul        UR                  (       d  U$ U R                  X5      nX5/-   nU(       a  UR                  5         OXl
        U$ M  ! [         a  nUR                  5         UeS nAff = fNz#Exceeded maximum allowed redirects.r  r   r`   )lenr   r   r   _send_single_requestr   r  has_redirect_locationr  r  r  r  rr   r^   r   r   r  hookr`   r%  s          rI   r  Client._send_handling_redirects  s     7|d000&97  )))4W 5 009H --j9DN :#'= 55#O66wI!J.#MMO,3)#O3 6 !  	s%   A C -C C 
C/C**C/c                   U R                  UR                  5      n[        5       nUR                  5         [	        UR
                  [        5      (       d  [        S5      e[        US9   UR                  U5      nSSS5        [	        WR
                  [        5      (       d   eXl
        [        UR
                  XCS9Ul        U R                  R                  U5        U R                  Ul        [         R#                  SUR$                  UR                  UR&                  UR(                  UR*                  5        U$ ! , (       d  f       N= f)<
Sends a single request, without handling any redirections.
z?Attempted to send an async request with a sync Client instance.r  Nr`   ra   HTTP Request: %s %s "%s %d %s")rz  r   r3   
sync_startr   r_   r.   r`  r   handle_requestr   rU   r   extract_cookiesr   r   loggerinfor   http_versionr  reason_phraser^   r   rQ  ra   r`   s        rI   r  Client._send_single_request  s	    ++GKK8	'...99Q  W- //8H . (//>::::")OOh
 	$$X.$($:$:!,NNKK!!  ""	
 + .-s   )D==
Er   r   r   r   r   r   r   c               0    U R                  SUUUUUUUUS9	$ )=
Send a `GET` request.

**Parameters**: See `httpx.request`.
r  r  r  	r^   r   r   r   r   r   r   r   r   s	            rI   r   
Client.get  s5    " ||-!  

 
	
rH   c               0    U R                  SUUUUUUUUS9	$ )B
Send an `OPTIONS` request.

**Parameters**: See `httpx.request`.
OPTIONSr  r  r  s	            rI   optionsClient.options6  s5    " ||-!  

 
	
rH   c               0    U R                  SUUUUUUUUS9	$ )>
Send a `HEAD` request.

**Parameters**: See `httpx.request`.
r  r  r  r  s	            rI   headClient.headS  s5    " ||-!  

 
	
rH   c               8    U R                  SUUUUUUUUU	U
UUS9$ )>
Send a `POST` request.

**Parameters**: See `httpx.request`.
r  r}  r  r^   r   r   r   r   r   r   r   r   r   r   r   r   s                rI   postClient.postp  sA    * ||-!  
 	
rH   c               8    U R                  SUUUUUUUUU	U
UUS9$ )=
Send a `PUT` request.

**Parameters**: See `httpx.request`.
PUTr}  r  r  s                rI   put
Client.put  sA    * ||-!  
 	
rH   c               8    U R                  SUUUUUUUUU	U
UUS9$ )?
Send a `PATCH` request.

**Parameters**: See `httpx.request`.
PATCHr}  r  r  s                rI   patchClient.patch  sA    * ||-!  
 	
rH   c               0    U R                  SUUUUUUUUS9	$ )@
Send a `DELETE` request.

**Parameters**: See `httpx.request`.
DELETEr  r  r  s	            rI   deleteClient.delete  s5    " ||-!  

 
	
rH   c                   U R                   [        R                  :w  af  [        R                  U l         U R                  R	                  5         U R
                  R                  5        H  nUc  M  UR	                  5         M     ggz
Close transport and proxies.
N)r   rM   rS   rb  rr   rd  values)r^   rQ  s     rI   rr   Client.close  s_     ;;+,,,%,,DKOO!!#!\\002	(OO% 3	 -rH   c                   U R                   [        R                  :w  a:  [        R                  S[        R                  S0U R                      n[        U5      e[        R                  U l         U R                  R                  5         U R                  R                  5        H  nUc  M  UR                  5         M     U $ Nz-Cannot open a client instance more than once.z9Cannot reopen a client instance, once it has been closed.)
r   rM   rQ   rR   rS   r`  rb  	__enter__rd  r  )r^   msgrQ  s      rI   r  Client.__enter__  s    ;;+...""$S""O
 kkC s##!((!!#,,.I$##% / rH   c                    [         R                  U l        U R                  R	                  XU5        U R
                  R                  5        H  nUc  M  UR	                  XU5        M     g rX   )rM   rS   r   rb  __exit__rd  r  )r^   exc_type	exc_value	tracebackrQ  s        rI   r  Client.__exit__  sR     "((  i@,,.I$""8	B /rH   rd  r   rb  ),r   r4  r   r5  r   r6  r   r7  rK  r0   rL  CertTypes | NonerM  r8  rN  r8  r   ProxyTypes | Noner   r=  rO  z0None | typing.Mapping[str, BaseTransport | None]r   r/   r   r8  rP  r   r   r9  r   r:  r   r;  rQ  BaseTransport | NonerR  'typing.Callable[..., typing.Any] | Noner   r8  r   r<  rv   rw   )rK  r0   rL  r  rM  r8  rN  r8  rP  r   rQ  r  rR  r  r   r8  rv   r   )r   r   rK  r0   rL  r  rM  r8  rN  r8  rP  r   r   r8  rv   r   )r   r1   rv   r   r   r   r   r;  r   r@  r   rA  r   rB  r   rC  r   r5  r   r6  r   r7  r   rF  r   bool | UseClientDefaultr   rD  r   rE  rv   r   )r   r   r   r;  r   r@  r   rA  r   rB  r   rC  r   r5  r   r6  r   r7  r   rF  r   r  r   rD  r   rE  rv   ztyping.Iterator[Response]
r   r   r_   r8  r   rF  r   r  rv   r   
r   r   r   r	   r   r8  r  list[Response]rv   r   r   r   r   r8  r  r  rv   r   r   r   rv   r   r   r;  r   r5  r   r6  r   r7  r   rF  r   r  r   rD  r   rE  rv   r   r   r;  r   r5  r   r6  r   r7  r   AuthTypes | UseClientDefaultr   r  r   rD  r   rE  rv   r   r   r;  r   r@  r   rA  r   rB  r   rC  r   r5  r   r6  r   r7  r   r  r   r  r   rD  r   rE  rv   r   rx   )r^   r;   rv   r;   NNNr  ztype[BaseException] | Noner  zBaseException | Noner  zTracebackType | Nonerv   rw   ) rB   rC   rD   rE   rF   r   r   r   rb   ra  rc  rz  r8   r   r   r_   r  r  r  r  r   r  r  r  r  r  r  rr   r  r  rG   __classcell__ri  s   @rI   r:   r:   >  st   3p "&)-&*&*"!%#''+EI 6!&'2EI *.7;@G/`: `: '	`:
 $`: $`: `: `: `: `: !`: %`: C`: `: `:  !`:" #`:$ C%`:& '`:( ()`:* 5+`:, -`:. >/`:0 
1`: `:H #!%'*.7;

 
 	

 
 
 (
 5
 
 

: #!%'

 
 	

 
 
 
 
 

(	  *.#'%)"&)-&*&*4F4F3E/36P6P 6P
 '6P !6P #6P  6P '6P $6P $6P 26P 26P 16P -6P  
!6Pp  *.#'%)"&)-&*&*4F4F3E/311 1
 '1 !1 #1  1 '1 $1 $1 21 21 11 -1  
#!1 1n 4F4F11 	1
 21 21 
1f     	 
    
 D## #  	#
 
#J"P *.&*&*4F4F3E/3

 '	

 $
 $
 2
 2
 1
 -
 

B *.&*&*-?4F3E/3

 '	

 $
 $
 +
 2
 1
 -
 

B *.&*&*-?4F3E/3

 '	

 $
 $
 +
 2
 1
 -
 

B *.#'%)"&)-&*&*-?4F3E/3#
#
 '	#

 !#
 ##
  #
 '#
 $#
 $#
 +#
 2#
 1#
 -#
 
#
R *.#'%)"&)-&*&*-?4F3E/3#
#
 '	#

 !#
 ##
  #
 '#
 $#
 $#
 +#
 2#
 1#
 -#
 
#
R *.#'%)"&)-&*&*-?4F3E/3#
#
 '	#

 !#
 ##
  #
 '#
 $#
 $#
 +#
 2#
 1#
 -#
 
#
R *.&*&*-?4F3E/3

 '	

 $
 $
 +
 2
 1
 -
 

:
&( 04*.*.	C,C (C (	C
 
C CrH   c                    ^  \ rS rSrSrSSSSSSSSSSS\S\\SSSSSSS.                                           S!U 4S	 jjjrSSSS\SSS4                 S"S
 jjr	SSSS\S4               S#S jjr
S$S jrSSSSSSS\\\SS.                           S%S jjr\SSSSSSS\\\SS.                           S&S jj5       rS\\S.         S'S jjr          S(S jr        S)S jrS*S jrSSS\\\SS.                 S+S jjrSSS\\\SS.                 S,S jjrSSS\\\SS.                 S,S jjrSSSSSSS\\\SS.                         S-S jjrSSSSSSS\\\SS.                         S-S jjrSSSSSSS\\\SS.                         S-S jjrSSS\\\SS.                 S,S jjrS.S jrS/S jr   S0       S1S jjrS rU =r$ )2r9   i(  a  
An asynchronous HTTP client, with connection pooling, HTTP/2, redirects,
cookie persistence, etc.

It can be shared between tasks.

Usage:

```python
>>> async with httpx.AsyncClient() as client:
>>>     response = await client.get('https://example.org')
```

**Parameters:**

* **auth** - *(optional)* An authentication class to use when sending
requests.
* **params** - *(optional)* Query parameters to include in request URLs, as
a string, dictionary, or sequence of two-tuples.
* **headers** - *(optional)* Dictionary of HTTP headers to include when
sending requests.
* **cookies** - *(optional)* Dictionary of Cookie items to include when
sending requests.
* **verify** - *(optional)* SSL certificates (a.k.a CA bundle) used to
verify the identity of requested hosts. Either `True` (default CA bundle),
a path to an SSL certificate file, an `ssl.SSLContext`, or `False`
(which will disable verification).
* **cert** - *(optional)* An SSL certificate used by the requested host
to authenticate the client. Either a path to an SSL certificate file, or
two-tuple of (certificate file, key file), or a three-tuple of (certificate
file, key file, password).
* **http2** - *(optional)* A boolean indicating if HTTP/2 support should be
enabled. Defaults to `False`.
* **proxy** - *(optional)* A proxy URL where all the traffic should be routed.
* **proxies** - *(optional)* A dictionary mapping HTTP protocols to proxy
URLs.
* **timeout** - *(optional)* The timeout configuration to use when sending
requests.
* **limits** - *(optional)* The limits configuration to use.
* **max_redirects** - *(optional)* The maximum number of redirect responses
that should be followed.
* **base_url** - *(optional)* A URL to use as the base when building
request URLs.
* **transport** - *(optional)* A transport class to use for sending requests
over the network.
* **app** - *(optional)* An ASGI application to send requests to,
rather than sending actual network requests.
* **trust_env** - *(optional)* Enables or disables usage of environment
variables for configuration.
* **default_encoding** - *(optional)* The default encoding to use for decoding
response text, if no charset information is included in a response Content-Type
header. Set to a callable for automatic character set detection. Default: "utf-8".
NTFr   r   rJ  c               |  > [         TU ]  UUUUUUUUUUUS9  U(       a   SS KnU
(       a/  Sn[        R
                  " U[        5        U	(       a  [        S5      eU(       a  Sn[        R
                  " U[        5        U=(       a    US L =(       a    US L nU R                  U
=(       d    U	U5      nU R                  UUUUUUUUS9U l
        UR                  5        VV	s0 s H*  u  nn	[        U5      U	c  S OU R                  U	UUUUUUS9_M,     sn	nU l        UbI  U R                  R                  UR                  5        VVs0 s H  u  nn[        U5      U_M     snn5        [!        [#        U R                  R                  5       5      5      U l        g ! [         a    [        S5      S ef = fs  sn	nf s  snnf )	Nr   r   rT  rU  rV  zhThe 'app' shortcut is now deprecated. Use the explicit style 'transport=ASGITransport(app=...)' instead.rW  rX  rY  rf  s                              rI   rb   AsyncClient.__init___  s   2 	-'#- 	 	
  4  MM'#56"#OPPV  MM'#56%K#+K)t:K''(85:KL	.. / 	
. (oo/E
 0
U sO} "++# , 
 0E
 LLBH,,.Q.YC)+.Q F4<<#5#5#789m  !S HE
  Rrk  c	           	     @    Ub  U$ Ub	  [        US9$ [        UUUUUUS9$ rm  )r   r   rn  s	            rI   ra  AsyncClient._init_transport  s?      ? S))!
 	
rH   c           
          [        UUUUUUUS9$ rq  )r   rr  s           rI   rc  !AsyncClient._init_proxy_transport  s&     "
 	
rH   c                    U R                   R                  5        H0  u  p#UR                  U5      (       d  M  Uc  U R                  s  $ Us  $    U R                  $ ru  rv  rx  s       rI   rz  AsyncClient._transport_for_url  r|  rH   r}  c                  #    U	b  Sn[         R                  " U[        5        U R                  UUUUUUUUU	UUS9nU R	                  XUS9I Sh  vN $  N7f)aa  
Build and send a request.

Equivalent to:

```python
request = client.build_request(...)
response = await client.send(request, ...)
```

See `AsyncClient.build_request()`, `AsyncClient.send()`
and [Merging of configuration][0] for how the various parameters
are merged with client-level configuration.

[0]: /advanced/clients/#merging-of-configuration
Nr  r  r  r  r  s                   rI   r   AsyncClient.request  s|     D C 
 MM'#56$$! % 
 YYwDTYUUUUs   AAAAc                 #    U R                  UUUUUUUUU	UUS9nU R                  UU
USS9I Sh  vN n U7v   UR                  5       I Sh  vN   g N# N! UR                  5       I Sh  vN    f = f7fr  )r   r  r   r  s                   rI   r_   AsyncClient.stream3  s     8 $$! % 
 -	 # 
 
	$N//###
 $(//###sC   /A7AA7A A7AA7A7A4-A0.A44A7r  c                 #    U R                   [        R                  :X  a  [        S5      e[        R                  U l         [        U[        5      (       a  U R                  OUnU R                  U5        U R                  X5      nU R                  UUU/ S9I Sh  vN n U(       d  UR                  5       I Sh  vN   U$  N& N! [         a   nUR                  5       I Sh  vN    UeSnAff = f7f)aP  
Send a request.

The request is sent as-is, unmodified.

Typically you'll want to build one with `AsyncClient.build_request()`
so that any client-level configuration is merged into the request,
but passing an explicit `httpx.Request()` is supported as well.

See also: [Request instances][0]

[0]: /advanced/clients/#request-instances
r  r  N)r   rM   rS   r`  rR   r   r?   r   r2  r
  r  areadr  r   r  s          rI   r  AsyncClient.sendg  s     * ;;+,,,VWW!(( *,<== !!! 	 	'"''611-	 2 
 
	nn&&&O
 '  	//###I	sT   BC3CC3!C ;C<C C3C 
C0C+#C&$C++C00C3c                >  #    UR                  U5      n UR                  5       I S h  vN n U R                  UUUS9I S h  vN n  UR                  U5      I S h  vN n[        U5      Ul        UR                  5       I S h  vN   UnUR                  U5        Mq   Nv N^ NE! [         a    Us UR                  5       I S h  vN    $ f = f NJ! [         a   nUR                  5       I S h  vN    UeS nAff = f! UR                  5       I S h  vN    f = f7fr  )async_auth_flow	__anext__r  asendStopAsyncIterationr   r   r  r  r  r  r  s	            rI   r  AsyncClient._send_handling_auth  s     ((1		%%//11G!%!>!>%5# "? " 
(-6__X-F'F (,G}H$"..****GNN8,  2 (G- (' ""$$$( + % "//+++I ""$$$s   DC? BC? B!C? 	B% B#B% "#C CC C? !C? #B% %C1C 2DCDCC 
C<C7/C20C77C<<C? ?DDDDc                N  #     [        U5      U R                  :  a
  [        SUS9eU R                  S    H  nU" U5      I S h  vN   M     U R	                  U5      I S h  vN n U R                  S    H  nU" U5      I S h  vN   M     [        U5      Ul        UR                  (       d  U$ U R                  X5      nX5/-   nU(       a  UR                  5       I S h  vN   OXl
        U$ M   N N No N! [         a   nUR                  5       I S h  vN    UeS nAff = f7fr  )r  r   r   r   r  r   r  r  r  r  r  r  r   r  s          rI   r  $AsyncClient._send_handling_redirects  s     7|d000&97  )))47m## 5 "66w??H --j9Dx.(( : $(= 55#O66wI!J.#"..***,3)#O5  $? ) +
 ! oo'''	s   AD%C0D%!C2"D%'C8 C4*C8 /D%00C8  C6!C8 %D%&C8 -D%2D%4C8 6C8 8
D"DDDD""D%c                  #    U R                  UR                  5      n[        5       nUR                  5       I Sh  vN   [	        UR
                  [        5      (       d  [        S5      e[        US9   UR                  U5      I Sh  vN nSSS5        [	        WR
                  [        5      (       d   eXl
        [        UR
                  XCS9Ul        U R                  R                  U5        U R                  Ul        [         R#                  SUR$                  UR                  UR&                  UR(                  UR*                  5        U$  GN N! , (       d  f       N= f7f)r  Nz?Attempted to send an sync request with an AsyncClient instance.r  r  r  )rz  r   r3   async_startr   r_   r"   r`  r   handle_async_requestr   rz   r   r  r   r   r  r  r   r  r  r  r  s        rI   r   AsyncClient._send_single_request  s     ++GKK8	!!!'../::Q  W-&;;GDDH . (//?;;;;"*OOh
 	$$X.$($:$:!,NNKK!!  ""	
 7 	" E .-s:   9E%E7E%3EE	ECE%E
E"E%r  c               L   #    U R                  SUUUUUUUUS9	I Sh  vN $  N7f)r  r  r  Nr  r  s	            rI   r   AsyncClient.get  sB     " \\-! " 

 

 
	
 

   $"$c               L   #    U R                  SUUUUUUUUS9	I Sh  vN $  N7f)r  r  r  Nr  r  s	            rI   r  AsyncClient.options"  sB     " \\-! " 

 

 
	
 

r  c               L   #    U R                  SUUUUUUUUS9	I Sh  vN $  N7f)r  r  r  Nr  r  s	            rI   r  AsyncClient.head?  sB     " \\-! " 

 

 
	
 

r  c               T   #    U R                  SUUUUUUUUU	U
UUS9I Sh  vN $  N7f)r  r  r}  Nr  r  s                rI   r  AsyncClient.post\  sN     * \\-! " 
 
 	
 
   (&(c               T   #    U R                  SUUUUUUUUU	U
UUS9I Sh  vN $  N7f)r  r  r}  Nr  r  s                rI   r  AsyncClient.put  sN     * \\-! " 
 
 	
 
r  c               T   #    U R                  SUUUUUUUUU	U
UUS9I Sh  vN $  N7f)r  r  r}  Nr  r  s                rI   r  AsyncClient.patch  sN     * \\-! " 
 
 	
 
r  c               L   #    U R                  SUUUUUUUUS9	I Sh  vN $  N7f)r  r  r  Nr  r  s	            rI   r  AsyncClient.delete  sB     " \\-! " 

 

 
	
 

r  c                <  #    U R                   [        R                  :w  av  [        R                  U l         U R                  R	                  5       I Sh  vN   U R
                  R                  5        H   nUc  M  UR	                  5       I Sh  vN   M"     gg ND N7fr  )r   rM   rS   rb  r   rd  r  )r^   r   s     rI   r   AsyncClient.aclose  sw      ;;+,,,%,,DK//((***,,.$,,.(( /	 - + )s*   ABB"B:BBBBc                  #    U R                   [        R                  :w  a:  [        R                  S[        R                  S0U R                      n[        U5      e[        R                  U l         U R                  R                  5       I S h  vN   U R                  R                  5        H   nUc  M  UR                  5       I S h  vN   M"     U $  ND N7fr  )
r   rM   rQ   rR   rS   r`  rb  
__aenter__rd  r  )r^   r  r   s      rI   r(  AsyncClient.__aenter__  s     ;;+...""$S""O
 kkC s##!((oo((***\\((*E &&((( + 	 	+ )s*   BCC"C4CCCCc                  #    [         R                  U l        U R                  R	                  XU5      I S h  vN   U R
                  R                  5        H"  nUc  M  UR	                  XU5      I S h  vN   M$     g  NE N7frX   )rM   rS   r   rb  	__aexit__rd  r  )r^   r  r  r  r   s        rI   r+  AsyncClient.__aexit__  sk      "((oo''YGGG\\((*E ooh9EEE + 	H Fs'   5BA="BB3A?4
B?Br  ),r   r4  r   r5  r   r6  r   r7  rK  r0   rL  r  rM  r8  rN  r8  r   r  r   r=  rO  z5None | typing.Mapping[str, AsyncBaseTransport | None]r   r/   r   r8  rP  r   r   r9  r   r:  r   r;  rQ  AsyncBaseTransport | NonerR  r  r   r8  r   r<  rv   rw   )rK  r0   rL  r  rM  r8  rN  r8  rP  r   rQ  r-  rR  r  r   r8  rv   r   )r   r   rK  r0   rL  r  rM  r8  rN  r8  rP  r   r   r8  rv   r   )r   r1   rv   r   r  )r   r   r   r;  r   r@  r   rA  r   rB  r   rC  r   r5  r   r6  r   r7  r   rF  r   r  r   rD  r   rE  rv   ztyping.AsyncIterator[Response]r  r  r  r  r  r  r  rx   )r^   r=   rv   r=   r  r  ) rB   rC   rD   rE   rF   r   r   r   rb   ra  rc  rz  r8   r   r   r_   r  r  r  r  r   r  r  r  r  r  r  r   r(  r+  rG   r  r  s   @rI   r9   r9   (  st   4r "&)-&*&*"!%#''+JN 6!&'2EI /37;@G/`: `: '	`:
 $`: $`: `: `: `: `: !`: %`: H`: `: `:  !`:" #`:$ C%`:& '`:( -)`:* 5+`:, -`:. >/`:0 
1`: `:H #!%'/37;

 
 	

 
 
 -
 5
 
 

: #!%'

 
 	

 
 
 
 
 

(	  *.#'%)"&)-&*&*4F4F3E/37V7V 7V
 '7V !7V #7V  7V '7V $7V $7V 27V 27V 17V -7V  
!7Vr  *.#'%)"&)-&*&*4F4F3E/31$1$ 1$
 '1$ !1$ #1$  1$ '1$ $1$ $1$ 21$ 21$ 11$ -1$  
(!1$ 1$n 4F4F11 	1
 21 21 
1f % %  % 	 %
   % 
 %D$$ $  	$
 
$L!N *.&*&*4F4F3E/3

 '	

 $
 $
 2
 2
 1
 -
 

B *.&*&*-?4F3E/3

 '	

 $
 $
 +
 2
 1
 -
 

B *.&*&*-?4F3E/3

 '	

 $
 $
 +
 2
 1
 -
 

B *.#'%)"&)-&*&*-?4F3E/3#
#
 '	#

 !#
 ##
  #
 '#
 $#
 $#
 +#
 2#
 1#
 -#
 
#
R *.#'%)"&)-&*&*-?4F3E/3#
#
 '	#

 !#
 ##
  #
 '#
 $#
 $#
 +#
 2#
 1#
 -#
 
#
R *.#'%)"&)-&*&*-?4F3E/3#
#
 '	#

 !#
 ##
  #
 '#
 $#
 $#
 +#
 2#
 1#
 -#
 
#
R *.&*&*-?4F3E/3

 '	

 $
 $
 +
 2
 1
 -
 

:
)( 04*.*.	F,F (F (	F
 
F FrH   )_
__future__r   ro   enumloggingtypingr]  
contextlibr   r   typesr   r   r   r	   r
   r   _configr   r   r   r   r   r   	_decodersr   _exceptionsr   r   r   r   _modelsr   r   r   r   _status_codesr   _transports.asgir   _transports.baser   r   _transports.defaultr   r    _transports.wsgir!   _typesr"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   _urlsr1   r2   _utilsr3   r4   r5   r6   r7   __all__TypeVarr;   r=   r?   r8   	getLoggerr  r   r#  keysr   EnumrM   rU   rz   CallableAny	EventHookr   r:   r9   )r   s   0rI   <module>rH     s   "      :  $ 0 0  *  9 8   + ? B +    " $  : NN3h'
NN3m, ( &'  
		7	#[M*
))&++-C-S
1BS-C
$)) n .$ $. OOCO,	YW YWxgCZ gCTiF* iFS& Ds   -	F.:F.