
    _ju9                      % 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rS SK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  S SKJr  S SKJrJrJrJrJrJrJrJrJrJrJrJrJrJrJ r J!r!J"r"  S SK#J$r$J%r%J&r&  S SK'r'S SK(r(S SK)r)S SK*r*S SK(J+r+J,r,J-r-J.r.  S SK*J/r/  S	S
K0J1r1  S	SK2J3r3  S	SK4J5r5J6r6  S	SK7J8r8J9r9J:r:J;r;J<r<J=r=J>r>J?r?J@r@JArAJBrBJCrCJDrDJErEJFrFJGrGJHrH  S	SKIJJrJJKrKJLrLJMrMJNrNJOrO  S	SKPJQrQJRrRJSrS  S	SKTJUrUJVrVJWrWJXrX  S	SKYJZrZJ[r[J\r\J]r]  S	SK^J_r_J`r`JaraJbrbJcrcJdrdJere  S	SKfJgrgJhrhJiriJjrj  S	SK1JkrkJlrlJmrmJnrnJoro  S	SKpJqrq  S	SKrJsrs  S	SKtJuru  \
R                  " \w5      rxS\yS'   \" SSS9rz\" SSS9r{\" S5      r|\" S S!S"9r}\" S#\g\   S9r~\" S$\i\   S9r\(       a	  S S%KJr  \rO S S%KJr   " S' S(5      r " S) S*\U\\|   5      r " S+ S,\\|   \\|   5      r " S- S.\\|\{4   5      r " S/ S0\\|   \\|   5      r\" S1\\(GR                  \(GR                  4   S9r\" S2\\g\   \i\   4   S9r " S3 S4\\\4   5      r " S5 S6\(GR                  5      r\(       a  \(GR                  rO\r " S7 S8\5      r " S9 S:\\(GR                  \g\   4   5      r " S; S<\(GR                  5      r S SKr " S= S>\GR(                  5      r\(       a  \(GR                  r \(GR                  rO\r\r " S@ SA\5      r " SB SC\\(GR                  \i\   4   5      rSSSSS\H\HSD.               SUSE jjr " SF SG\\S4   5      r " SH SI5      r\\\$SJ   4   rSVSK jr\N" SSL9SWSM j5       r " SN SO5      r\\\$SP   4   rSXSQ jrSXSR jrSYSS jr      SZST jrg! \ a    \<" S&5      r GNf = f! \ a     " S? S>\(GR                  5      r GNf = f)[    )annotationsN)TracebackType)random)TYPE_CHECKINGAnyDictListTypeTupleUnionGenericMappingTypeVarIterableIteratorOptional	GeneratorAsyncIteratorcastoverload)Literaloverride
get_origin)URLProxyHTTPTransportAsyncHTTPTransport)PrivateAttr   )_exceptionsQuerystring)to_httpx_filesasync_to_httpx_files)BodyOmitQueryHeadersTimeoutNotGiven	ResponseT
AnyMapping
PostParserBinaryTypesRequestFilesHttpxSendArgsRequestOptionsAsyncBinaryTypesHttpxRequestFilesModelBuilderProtocol	not_given)is_dictis_listasyncifyis_given	lru_cache
is_mapping)PYDANTIC_V1
model_copy
model_dump)GenericModelFinalRequestOptionsvalidate_typeconstruct_type)APIResponseBaseAPIResponseAsyncAPIResponseextract_response_type)DEFAULT_TIMEOUTMAX_RETRY_DELAYDEFAULT_MAX_RETRIESINITIAL_RETRY_DELAYRAW_RESPONSE_HEADEROVERRIDE_CAST_TO_HEADERDEFAULT_CONNECTION_LIMITS)Stream
SSEDecoderAsyncStreamSSEBytesDecoder)AnthropicErrorAPIStatusErrorAPITimeoutErrorAPIConnectionErrorAPIResponseValidationError)openapi_dumps)get_environment_proxies)LegacyAPIResponsezlogging.Loggerlog	SyncPageTzBaseSyncPage[Any])bound
AsyncPageTzBaseAsyncPage[Any]_T_T_coT)	covariant_StreamT_AsyncStreamT)DEFAULT_TIMEOUT_CONFIG      @c                      \ rS rSr% SrS\S'   S\S'   S\S'   \    SS	 j5       r\    SS
 j5       r\    SS j5       r\\\S.       SS jjr\	SS j5       r
Srg)PageInfo|   zxStores the necessary information to build the request to retrieve the next page.

Either `url` or `params` must be set.
URL | NotGivenurlQuery | NotGivenparamsBody | NotGivenjsonc                   g N selfri   s     K/home/rurouni/.local/lib/python3.13/site-packages/anthropic/_base_client.py__init__PageInfo.__init__       
     c                   g ro   rp   )rr   rk   s     rs   rt   ru      rv   rw   c                   g ro   rp   )rr   rm   s     rs   rt   ru      rv   rw   ri   rm   rk   c               (    Xl         X l        X0l        g ro   rz   )rr   ri   rm   rk   s       rs   rt   ru      s     	rw   c                *   U R                   (       a&  U R                  R                   SU R                    S3$ U R                  (       a&  U R                  R                   SU R                   S3$ U R                  R                   SU R                   S3$ )Nz(url=)z(json=z(params=)ri   	__class____name__rm   rk   rr   s    rs   __repr__PageInfo.__repr__   sv    88nn--.eDHH:Q??99nn--.fTYYKqAA..))*(4;;-qAArw   )rm   rk   ri   N)ri   r   returnNone)rk   r'   r   r   )rm   r%   r   r   )ri   rh   rm   rl   rk   rj   r   r   r   str)r   
__module____qualname____firstlineno____doc____annotations__r   rt   r5   r   r   __static_attributes__rp   rw   rs   rf   rf   |   s    
 

  
	    
	    
	  ( )#,	 	 		
 !	 
	 B Brw   rf   c                  |    \ rS rSr% Sr\" 5       rS\S'   \" 5       rS\S'   SS jr	SS jr
SS	 jrSS
 jrSS jrSrg)BasePage   a   
Defines the core interface for pagination.

Type Args:
    ModelT: The pydantic model that represents an item in the response.

Methods:
    has_next_page(): Check if there is another page available
    next_page_info(): Get the necessary information to make a request for the next page
r@   _optionsType[_T]_modelc                V    U R                  5       nU(       d  gU R                  5       S L$ )NF)_get_page_itemsnext_page_info)rr   itemss     rs   has_next_pageBasePage.has_next_page   s*    $$&""$D00rw   c                    g ro   rp   r   s    rs   r   BasePage.next_page_info   s    Crw   c                    g ro   rp   r   s    rs   r   BasePage._get_page_items   s    rw   c                    [         R                  " [        [        U R                  R
                  5      5      R                  UR
                  5      $ ro   )httpxQueryParamsr   r   r   rk   mergerq   s     rs   _params_from_urlBasePage._params_from_url   s3      c4==+?+?!@AGG

SSrw   c                @   [        U R                  5      nUR                  5         [        UR                  [
        5      (       d!  0 UR                  EUR                  EUl        U$ [        UR                  [
        5      (       d`  U R                  UR                  5      nUR                  R                  US9n[        UR                  5      Ul        [        U5      Ul        U$ [        UR                  [
        5      (       d  [        UR                  5      (       d  [        S5      eUR                  (       d  0 UR                  EUl        U$ [        UR                  5      (       d  [        S5      e0 UR                  EUR                  EUl        U$ [        S5      e)N)rk   z*Pagination is only supported with mappingszUnexpected PageInfo state)r=   r   _strip_raw_response_header
isinstancerk   r*   ri   r   	copy_withdictr   rm   r;   	TypeError	json_data
ValueError)rr   infooptionsrk   ri   s        rs   _info_to_optionsBasePage._info_to_options   s?   T]]+**,$++x00>>$++>GNN$((H--**4884F(($$F$3C!#**-GNc(GKN$))X..dii(( LMM$$$1tyyM! N	 "'"3"344#$PQQ$Fw'8'8$FDII$F!N455rw   rp   Nr   bool)r   zOptional[PageInfo])r   zIterable[_T])ri   r   r   zhttpx.QueryParams)r   rf   r   r@   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rp   rw   rs   r   r      s<    	 %0MH!1"}FH$1 8T6rw   r   c                  z    \ rS rSr% \R
                  " 5       rS\S'           S
S jrSS jr	SS jr
SS jrSrg	)BaseSyncPage   SyncAPIClient_clientc                h    [         (       d  [        U SS 5      c  0 U l        X l        Xl        X0l        g N__pydantic_private__r<   getattrr   r   r   r   )rr   clientmodelr   s       rs   _set_private_attributes$BaseSyncPage._set_private_attributes   /     /Et!L!T(*D%rw   c              #  p   #    U R                  5        H  nUR                  5        H  nUv   M	     M      g 7fro   
iter_pagesr   rr   pageitems      rs   __iter__BaseSyncPage.__iter__  s.     OO%D,,.
 / &s   46c              #  j   #    U n Uv   UR                  5       (       a  UR                  5       nOg M-  7fro   r   get_next_pagerr   r   s     rs   r   BaseSyncPage.iter_pages	  s7     J!!##))+ s   13c                    U R                  5       nU(       d  [        S5      eU R                  U5      nU R                  R	                  U R
                  U R                  US9$ NzYNo next page expected; please check `.has_next_page()` before calling `.get_next_page()`.)r   r   r   RuntimeErrorr   r   _request_api_listr   r~   rr   r   r   s      rs   r   BaseSyncPage.get_next_page  sZ    ""$k  ''-||--dkkX_-``rw   r   r   r   r   N)r   r   r   r   r   r@   r   r   )r   zIterator[_T])rr   r[   r   zIterator[SyncPageT])rr   r[   r   r[   )r   r   r   r   pydanticr   r   r   r   r   r   r   r   rp   rw   rs   r   r      sP    %113G]3     %	 
 
 *
arw   r   c                  P    \ rS rSr          SS jrS	S jrS
S jrSS jrSrg)AsyncPaginatori  c                4    X@l         Xl        X l        X0l        g ro   )r   r   r   	_page_cls)rr   r   r   page_clsr   s        rs   rt   AsyncPaginator.__init__  s     !rw   c                >    U R                  5       R                  5       $ ro   )	_get_page	__await__r   s    rs   r   AsyncPaginator.__await__*  s    ~~))++rw   c                   ^ #    SU 4S jjnUT R                   l        T R                  R                  T R                  T R                   5      I S h  vN $  N7f)Nc                f   > U R                  TR                  TR                  TR                  S9  U $ )N)r   r   r   )r   r   r   r   )resprr   s    rs   _parser)AsyncPaginator._get_page.<locals>._parser.  s2    ((kk|| ) 
 Krw   )r   r]   r   r]   )r   post_parserr   requestr   )rr   r   s   ` rs   r   AsyncPaginator._get_page-  s>     	 %,!\\))$..$--HHHHs   AAAAc               j   #    [        [        U I S h  vN 5      nU  S h  vN nU7v   M   N N
 g 7fro   )r   r]   r   s      rs   	__aiter__AsyncPaginator.__aiter__:  s4     J
  	$J 	$s$   3-

31/1	313)r   r   r   r   N)
r   AsyncAPIClientr   r@   r   Type[AsyncPageT]r   r   r   r   )r   z Generator[Any, None, AsyncPageT])r   r]   r   zAsyncIterator[_T])	r   r   r   r   rt   r   r   r   r   rp   rw   rs   r   r     sG    
"
" %
" #	
"
 
" 

",Irw   r   c                  z    \ rS rSr% \R
                  " 5       rS\S'           S
S jrSS jr	SS jr
SS jrSrg	)BaseAsyncPageiD  r   r   c                h    [         (       d  [        U SS 5      c  0 U l        Xl        X l        X0l        g r   r   )rr   r   r   r   s       rs   r   %BaseAsyncPage._set_private_attributesG  r   rw   c                  #    U R                  5         S h  vN nUR                  5        H  nU7v   M
     M'   N"
 g 7fro   r   r   s      rs   r   BaseAsyncPage.__aiter__T  s6     //+ 	$,,.
 /	+s   ><:<><>c                  #    U n U7v   UR                  5       (       a  UR                  5       I S h  vN nOg M6   N7fro   r   r   s     rs   r   BaseAsyncPage.iter_pagesY  s?     J!!##!//11  2s   1><	>c                   #    U R                  5       nU(       d  [        S5      eU R                  U5      nU R                  R	                  U R
                  U R                  US9I S h  vN $  N7fr   r   r   s      rs   r   BaseAsyncPage.get_next_pageb  sc     ""$k  ''-\\33DKKdnn^e3ffffs   A&A/(A-)A/r   N)r   r   r   r   r   r@   r   r   r   )rr   r]   r   zAsyncIterator[AsyncPageT])rr   r]   r   r]   )r   r   r   r   r   r   r   r   r   r   r   r   r   rp   rw   rs   r   r   D  sP    &224G^4     %	 
 
 
grw   r   _HttpxClientT_DefaultStreamTc                  n   \ rS rSr% S\S'   S\S'   S\S'   S\S	'   S
\S'   S\S'   S\S'   SrS\S'   \\SSS.               S2S jjrS3S jr	    S4S jr
        S5S jrSS.S6S jjrS7S jrS8S jrSS.     S9S jjrS:S jrS;S jrS<S  jr        S=S! jr\S>S" j5       r\S?S# j5       r\S@S$ j5       r\SAS% j5       r\SBS& j5       r      SCS' jr\SDS( j5       r\SES) j5       r\R:                  SFS* j5       rSGS+ jrSHS, jrSISJS- jjr  SI       SKS. jjr!SLS/ jr"SDS0 jr#S1r$g)M
BaseClientiq  r   r   r   _versionr   	_base_urlintmax_retrieszUnion[float, Timeout, None]timeoutr   _strict_response_validation
str | None_idempotency_headerNztype[_DefaultStreamT] | None_default_stream_cls)r   r   custom_headerscustom_queryc                   Xl         U R                  [        U5      5      U l        X@l        XPl        U=(       d    0 U l        U=(       d    0 U l        X0l        S U l	        S U l
        Uc  [        S5      eg )Nzmax_retries cannot be None. If you want to disable retries, pass `0`; if you want unlimited retries, pass `math.inf` or a very high number; if you want the default behavior, pass `anthropic.DEFAULT_MAX_RETRIES`)r   _enforce_trailing_slashr   r   r   r   _custom_headers_custom_queryr  r  	_platformr   )rr   versionbase_urlr  r   r   r  r  s           rs   rt   BaseClient.__init__{  sw      55c(mD&-3)/R+F(#' *. e  rw   c                ~    UR                   R                  S5      (       a  U$ UR                  UR                   S-   S9$ )N   /raw_path)r  endswithr   rq   s     rs   r  "BaseClient._enforce_trailing_slash  s6    <<  &&J}}cllT&9}::rw   c                d   UR                   (       a#  UR                  (       d  S nSUR                   3nOEUR                  R	                  5       nUn [
        R                  " U5      nSUR                   SU 3nU R                  X2US9$ ! [         a    U=(       d    SUR                   3n N4f = f)NzError code: z - )bodyresponse)		is_closedis_stream_consumedstatus_codetextstriprm   loads	Exception_make_status_error)rr   r  r  err_msgerr_texts        rs    _make_status_error_from_response+BaseClient._make_status_error_from_response  s     h&A&A D$X%9%9$:;G}}**,HDLzz(+()=)=(>c$H &&wH&MM  L"KX5I5I4J&KLs   (B
 
"B/.B/c                   [        5       ero   )NotImplementedError)rr   r   r  r  s       rs   r  BaseClient._make_status_error  s     "##rw   r   retries_takenc                  UR                   =(       d    0 n[        S[        UR                  [        5      (       a  [        UR                  R                  5      O[        UR                  5      0U R                  EU5      nU R                  XC5        [        R                  " U5      nU R                  nU(       a$  UR                  (       a  Xe;  a  UR                  XV'   U Vs/ s H  owR                  5       PM     nnSU;  a  [        U5      US'   SU;  ai  [        UR                  [        5      (       a  U R                  OUR                  n	[        U	[        5      (       a  U	R                  n	U	b  [        U	5      US'   U$ s  snf )Nzx-stainless-timeoutzx-stainless-retry-countzx-stainless-read-timeout)headers_merge_mappingsr   r   r)   r   readdefault_headers_validate_headersr   r(   r  idempotency_keylowerr*   )
rr   r   r(  r  headers_dictr*  idempotency_headerheaderlower_custom_headersr   s
             rs   _build_headersBaseClient._build_headers  sI    .B&%goow77 (+7??+?+?'@) &&	 
 	|< ---!55'"9"9>P>_*1*A*AG' >LL^6^L$,@@14]1CG-.%-AA&0(&K&KdllQXQ`Q`G'7++!,,"69'l23  Ms   #F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  )r   is_relative_urlr  r  lstripr   )rr   ri   	merge_urlmerge_raw_paths       rs   _prepare_urlBaseClient._prepare_url  sZ     H	$$!]]33i6H6H6O6OPT6UUN==**N*CCrw   c                    [        5       $ ro   )rO   r   s    rs   _make_sse_decoderBaseClient._make_sse_decoder  s
    |rw   c                  [         R                  [        R                  5      (       a-  [         R	                  S[        US[        (       a  S1O0 S95        0 nUR                  nUR                  b\  Uc  [        [        UR                  5      nO>[        U5      (       a  [        XAR                  5      nO[        S[        U5       S35      eU R                  XS9n[        U R                   UR"                  5      nUR%                  S5      nUR&                  nUb  UR)                  S	5      (       ay  S
U;  a  UR+                  S5        U(       a<  [-        U5      (       d  [/        S[        U5       S35      eU R1                  U5      US'   U(       d  [        [2        [5        5       5      nU R7                  UR8                  5      n	U(       ad  U	R:                  (       aS  0 [=        U	R"                  R?                  5       5      EUEnU	RA                  U	RB                  RE                  SS5      S   S9n	SU	RF                  ;   a!  SU	RF                  RI                  SS5      0US'   URJ                  RM                  5       S:g  n
U
(       a  URN                  b  Ub  [/        S5      eURN                  b  Ub  [/        S5      eURN                  b  URN                  US'   OD[Q        U[R        5      (       a  XCS'   O*U(       d#  [U        U5      (       a  Ub  [W        U5      OS US'   XS'   O$UR+                  SS 5        UR+                  SS 5        U RX                  RZ                  " SU[Q        UR\                  [^        5      (       a  U R\                  OUR\                  URJ                  U	U(       a6  U R`                  Rc                  [        [d        [f        [h        4   U5      5      OS S.UD6$ )NzRequest options: %sTcontent)exclude_unsetexcludezUnexpected JSON data type, z , cannot merge with `extra_body`r'  Content-Typezmultipart/form-databoundaryzGExpected query input to be a dictionary for multipart requests but got z	 instead.data   ?r   r   r  _sni_hostname-
extensionsgetz7Passing both `content` and `json_data` is not supportedz3Passing both `content` and `files` is not supportedfiles)r*  r   methodri   rk   rp   )5rZ   isEnabledForloggingDEBUGdebugr>   r<   r   
extra_jsonr   r%   r;   r+  r   typer5  default_queryrk   rM  rN  
startswithpopr6   r   _serialize_multipartformr3   ForceMultipartDictr<  ri   queryr   r   r   r  splithostreplacerO  r0  rB  r   bytesr9   rW   r   build_requestr   r*   qs	stringifyr   r   r   )rr   r   r(  kwargsr   r*  rk   content_typerN  prepared_urlis_body_alloweds              rs   _build_requestBaseClient._build_request  sl    GMM**II%"&
 #{ " 	 "$%%	)  w'9'9:	I&&+I7I7IJ	"%@i@QQq#rss%%g%K !3!3W^^D{{>2 #(?(?@U(V(V- N+ y))#abfgpbqarr{|  "&!>!>y!Iv .0B0DE((5l((D\006689DVDF'11<;P;P;V;VW[]^;_`a;b1cL,###$2L4E4E4M4McSV4W#XF< !....0E9*y/D YZZ*u/@ UVV*$+OOy!Iu--$-y! AI@S@SXaXmM)$<swy!#7OKK-JJvt$ ||)) 
$.w$I$IDLLw>>
 JP477$$T'#s(*;V%DEUY
 
 	
rw   c                    U R                   R                  USS9n0 nU HK  u  pEUR                  U5      nU(       d  XSU'   M#  [        U5      (       a  UR	                  U5        MF  Xe/X4'   MM     U$ )Nbrackets)array_format)ra  stringify_itemsrM  r7   append)rr   rG  r   
serializedkeyvalueexistings          rs   rY  #BaseClient._serialize_multipartformW  s|    '' #	 ( 
 )+
JC!~~c*H"'3 x  &#+"3
%  ( rw   c                    [        UR                  5      (       d  U$ [        UR                  5      nUR                  [        [
        5      n[        U5      (       a  X2l        [        [        [           U5      $ U$ ro   )	r9   r*  r   rX  rL   r5   r   r
   r+   )rr   cast_tor   r*  override_cast_tos        rs   _maybe_override_cast_to"BaseClient._maybe_override_cast_tou  sb    ((N w'
 #;;'>	J$%%%OY)9::rw   c                F    UR                   R                  [        5      S:H  $ )Nstream)r*  rM  rK   rr   r   s     rs   _should_stream_response_body'BaseClient._should_stream_response_body  s    ""#678CCrw   c                  Uc  [        [        S 5      $ U[        L a  [        [        U5      $  [        R                  " U5      (       a2  [        U[        5      (       a  [        [        UR                  X1S95      $ U R                  (       a  [        [        [        X!S95      $ [        [        [        X!S95      $ ! [        R                   a  n[        X1S9UeS nAff = f)N)r  rG  )type_rp  )r  r  )r   r+   objectinspectisclass
issubclassr4   buildr  rA   rB   r   ValidationErrorrV   )rr   rG  rt  r  errs        rs   _process_response_data!BaseClient._process_response_data  s     <	4((f	4((		Tw''Jw@T,U,UIw}}h}'RSS//I}7'OPP	>#LMM'' 	T,hJPSS	Ts$   AB: ;'B: #B: :C
CCc                    [        5       $ ro   r!   r   s    rs   ra  BaseClient.qs  s
    }rw   c                    g ro   rp   r   s    rs   custom_authBaseClient.custom_auth  s    rw   c                    0 $ ro   rp   r   s    rs   auth_headersBaseClient.auth_headers  s    	rw   c                r    SSU R                   S.U R                  5       EU R                  EU R                  E$ )Nzapplication/json)AcceptrE  z
User-Agent)
user_agentplatform_headersr  r	  r   s    rs   r-  BaseClient.default_headers  sN     ).//
 ##%	

 
 ""
 	
rw   c                    0 U R                   E$ ro   )r
  r   s    rs   rV  BaseClient.default_query  s    
  
 	
rw   c                    g)zQValidate the given default headers and custom headers.

Does nothing by default.
Nrp   )rr   r*  r  s      rs   r.  BaseClient._validate_headers  s     	rw   c                L    U R                   R                   SU R                   3$ )Nz/Python )r~   r   r   r   s    rs   r  BaseClient.user_agent  s"    ..))*(4==/BBrw   c                    U R                   $ ro   )r   r   s    rs   r  BaseClient.base_url  s    ~~rw   c                p    U R                  [        U[        5      (       a  UO
[        U5      5      U l        g ro   )r  r   r   r   rq   s     rs   r  r    s)    55ZS=Q=QcWZ[^W_`rw   c                >    [        U R                  U R                  S9$ )N)platform)r  r   r  r   s    rs   r  BaseClient.platform_headers  s      GGrw   c                d    SnSnX1-  S-  nXT:  d  U(       a  X:  a  [        S5      e[        USS9$ )Ni  iX  i  zStreaming is required for operations that may take longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-python#long-requests for more detailsrd   )connect)r   r)   )rr   
max_tokensmax_nonstreaming_tokensmaximum_timedefault_timeexpected_times         rs   _calculate_nonstreaming_timeout*BaseClient._calculate_nonstreaming_timeout  sO    $1G;',C
Hlj  
 	
rw   c                   Uc  g UR                  SS5      n[        U5      S-  $ ! [        [        4 a     Of = fUR                  S5      n [        U5      $ ! [        [        4 a     Of = f[        R
                  R                  U5      nUc  g[        R
                  R                  U5      n[        U[        R                  " 5       -
  5      $ )a(  Returns a float of the number of seconds (not milliseconds) to wait after retrying, or None if unspecified.

About the Retry-After header: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After
See also  https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After#syntax
Nzretry-after-ms  zretry-after)	rM  floatr   r   emailutilsparsedate_tz	mktime_tztime)rr   response_headersretry_ms_headerretry_headerretry_date_tuple
retry_dates         rs   _parse_retry_after_header$BaseClient._parse_retry_after_header  s     #	.223CTJO)D00:& 		 (++M:	 &&:& 		 !;;33LA#[[**+;<
Z$))+-..s   & 99
A A,+A,c                   UR                  U R                  5      nU R                  U5      nUb  SUs=:  a  S::  a   U$   [        XA-
  S5      n[        [        [        SU5      -  [        5      nSS[        5       -  -
  nXx-  n	U	S:  a  U	$ S$ )Nr   <   r  g       @r   g      ?)get_max_retriesr   r  minrJ   powrH   r   )
rr   remaining_retriesr   r  r   retry_after
nb_retriessleep_secondsjitterr   s
             rs   _calculate_retry_timeout#BaseClient._calculate_retry_timeout  s     --d.>.>? 445EF"q;'<"'< (= 8$?
 /#c:2FFX TFH_$(!Q,w-A-rw   c                \   UR                   R                  S5      nUS:X  a  [        R                  S5        gUS:X  a  [        R                  S5        gUR                  S:X  a!  [        R                  S	UR                  5        gUR                  S
:X  a!  [        R                  S	UR                  5        gUR                  S:X  a!  [        R                  S	UR                  5        gUR                  S:  a!  [        R                  S	UR                  5        g[        R                  S5        g)Nzx-should-retrytruez4Retrying as header `x-should-retry` is set to `true`Tfalsez9Not retrying as header `x-should-retry` is set to `false`Fi  zRetrying due to status code %ii  i  i  zNot retrying)r*  rM  rZ   rS  r  )rr   r  should_retry_headers      rs   _should_retryBaseClient._should_retry$  s    &..223CD &(IILM')IIQR 3&II68L8LM 3&II68L8LM 3&II68L8LM 3&II68L8LM		.!rw   c                2    S[         R                  " 5        3$ )Nzstainless-python-retry-)uuiduuid4r   s    rs   _idempotency_keyBaseClient._idempotency_keyG  s    (77rw   )	r   r	  r
  r  r  r  r   r   r   )r  r   r  	str | URLr  r   r   r   r   zfloat | Timeout | Noner  Mapping[str, str] | Noner  Mapping[str, object] | Noner   r   )ri   r   r   r   )r  httpx.Responser   rS   )r   r   r  r  r  r  r   z_exceptions.APIStatusError)r   r@   r(  r   r   zhttpx.Headers)ri   r   r   r   )r   zSSEDecoder | SSEBytesDecoder)r   r@   r(  r   r   httpx.Request)rG  zMapping[object, object]r   dict[str, object])rt  type[ResponseT]r   r@   r   r  )r   r  r   r   )rG  r  rt  r  r  r  r   r+   )r   r"   )r   zhttpx.Auth | None)r   zdict[str, str])r   zdict[str, str | Omit])r   r  )r*  r(   r  r(   r   r   r   )r   r   )ri   z	URL | strr   r   )r   Dict[str, str])r  r   r  z
int | Noner   r)   ro   )r  Optional[httpx.Headers]r   zfloat | None)r  r   r   r@   r  r  r   r  )r  r  r   r   )%r   r   r   r   r   r  rI   rG   rt   r  r"  r  r5  r<  r?  rg  rY  rv  r{  r  propertyra  r  r  r-  rV  r.  r  r  setterr  r  r  r  r  r  r   rp   rw   rs   r   r   q  s|   MN((!%%##8<5< /*93748  	
 &*  ( 1 2 
4;
N N 
N,$$ 	$
 !$ 
$$ TU  D 	j
$j
 	j

 
j
X<"DT T !	T
 !T 
T0       
 
 
 

		  	 
		 C C   __a aH
 /L 59	.. %. 2	.
 
.0!F8rw   r   c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )_DefaultHttpxClientiK  c           
     j  > UR                  S[        5        UR                  S[        5        UR                  SS5        SU;  Ga  [        R                  [        R
                  S4/n[        [        SS 5      nUb#  UR                  [        R                  US45        OG[        R                  S:X  a3  [        [        S	S
5      nUR                  [        R                  US45        [        [        SS 5      nUb"  UR                  [        R                  US45        [        [        SS 5      nUb"  UR                  [        R                  US45        [        5       R                  5        VVs0 s H  u  pxXxc  S O[        US9_M     n	nnS V
s0 s H  oU;   d  M
  XU
   _M     nn
X+S'   U	R                  5        VVs0 s H  u  p|X|c  S O[        SSU0UD6_M     nnn[        S0 UD6nUR                  UR!                  S0 5      5        XS'   XS'   ["        TU ]H  " S0 UD6  g s  snnf s  sn
f s  snnf Nr   limitsfollow_redirectsT	transportTCP_KEEPINTVLr  darwinTCP_KEEPALIVE   TCP_KEEPCNT   TCP_KEEPIDLE)ri   )verifycert	trust_envhttp1http2r  socket_optionsproxymountsrp   )
setdefaultrG   rM   socket
SOL_SOCKETSO_KEEPALIVEr   rm  IPPROTO_TCPsysr  rX   r   r   r   updaterM  superrt   rr   rc  r  r  r  r  r  ro  ri   	proxy_mapargtransport_kwargsr  proxy_mountsdefault_transportr~   s                  rs   rt   _DefaultHttpxClient.__init__L  s)   )_5($=>,d3f$HNHYHY[a[n[nptGuFvN#FOTBM(%%v'9'9="&MN) ' F%%v'9'9="&MN!&->K&%%v'9'9;&JK"6>4@L'%%v'9'9<&LMVmVoVuVuVwxVw(#kdu~EVwIx -h ,gSrxkx C[ ,g    2@-. #,//"3"3JC ]T0^E0^M]0^^"3   !. A0@ A 

8R 89+8 #4;"6"+ y    .H$	H*	H*>H/rp   rc  r   r   r   r   r   r   r   rt   r   __classcell__r~   s   @rs   r  r  K      -# -#rw   r  c                      \ rS rSrSS jrSrg)SyncHttpxClientWrapperi  c                j    U R                   (       a  g  U R                  5         g ! [         a     g f = fro   )r  closer  r   s    rs   __del__SyncHttpxClientWrapper.__del__  s,    >>	JJL 		s   % 
22rp   Nr   r   r   r   r   r   r
  r   rp   rw   rs   r  r    s    rw   r  c                  z  ^  \ rS rSr% S\S'   SrS\S'   SrS\S'   \\SSSS	.                 S6U 4S
 jjjr	S7S jr
S8S jrS9S jr        S:S jr    S;S jr    S<S jr\          S=S j5       r\SS.       S>S jj5       r\SSS.         S?S jj5       rSSS.         S@S jjr          SAS jrSS.             SBS jjr        SCS jr\0 SS.         SDS jj5       r\0 S.           SES  jj5       r\0 SS!.           SFS" jj5       r0 SSS#.           SFS$ jjr\SS0 SSS%.               SGS& jj5       r\SS0 SS'.                 SHS( jj5       r\SS0 SSS).                 SIS* jj5       rSS0 SSSS+.                 SIS, jjrSSS0 S-.             SJS. jjrSSS0 S-.             SJS/ jjrSS0 S0.           SKS1 jjrS0 S2S3.             SLS4 jjrS5rU =r$ )Mr   i  zhttpx.Clientr   Nztype[Stream[Any]] | Noner  r  webhook_keyr   r   http_clientr  r  c          
       > [        U5      (       d.  U(       a!  UR                  [        :w  a  UR                  nO[        nUb6  [	        U[
        R                  5      (       d  [        S[        U5       35      e[        T	U ])  U[        [        U5      UUUUUS9  U=(       d    [        U[        [        U5      S9U l        g )NzOInvalid `http_client` argument; Expected an instance of `httpx.Client` but got )r  r   r  r   r  r  r  r  r   )r9   r   HTTPX_DEFAULT_TIMEOUTrG   r   r   Clientr   rU  r  rt   r   r)   r  r   )
rr   r  r  r   r   r  r  r  r  r~   s
            rs   rt   SyncAPIClient.__init__  s        {226KK%--)":k5<<+P+Pabfgrbsatu  	'*#%)(C 	 		
 # 
&<'*'
rw   c                .    U R                   R                  $ ro   r   r  r   s    rs   r  SyncAPIClient.is_closed      ||%%%rw   c                \    [        U S5      (       a  U R                  R                  5         gg)PClose the underlying HTTPX client.

The client will *not* be usable after this.
r   N)hasattrr   r	  r   s    rs   r	  SyncAPIClient.close  s&     4##LL  $rw   c                    U $ ro   rp   r   s    rs   	__enter__SyncAPIClient.__enter__  s    rw   c                $    U R                  5         g ro   r	  rr   exc_typeexcexc_tbs       rs   __exit__SyncAPIClient.__exit__  s     	

rw   c                    U$ z#Hook for mutating the given optionsrp   rr   r   s     rs   _prepare_optionsSyncAPIClient._prepare_options  s	    
 rw   c                    gzThis method is used as a callback for mutating the `Request` object
after it has been constructed.
This is useful for cases where you want to add certain headers based off of
the request properties, e.g. `url`, `method` etc.
Nrp   rz  s     rs   _prepare_requestSyncAPIClient._prepare_request  s     rw   c                   g ro   rp   rr   rt  r   ry  
stream_clss        rs   r   SyncAPIClient.request  s     rw   Fry  c                   g ro   rp   rr   rt  r   ry  s       rs   r   r6    s     rw   ry  r5  c                   g ro   rp   r4  s        rs   r   r6    s      #rw   c          	        U R                  X5      n[        U5      nUR                  c3  UR                  R	                  5       S:w  a  U R                  5       Ul        S nUR                  U R                  5      nSn[        US-   5       GHl  n[        U5      nU R                  U5      nXx-
  n	U R                  X(S9n
U R                  U
5        0 nU R                  b  U R                  US'   UR                  b  UR                  US'   [        R                  SU
R                  U
R                   5        S n U R"                  R$                  " U
4SU=(       d    U R'                  U
S	90UD6n[        R                  SU
R                  U
R                   UR8                  UR:                  UR<                  5        [        R                  SUR<                  R?                  S5      5         URA                  5           O   Uc   S5       eU RQ                  UUUUUUS9$ ! [(        R*                   aW  n[        R                  S
SS9  U	S:  a  U R-                  UUUS S9   S nAGM  [        R                  S5        [/        U
S	9UeS nAf[0         am  n[3        U[4        5      (       a  e [        R                  SSS9  U	S:  a  U R-                  UUUS S9   S nAGMK  [        R                  S5        [7        U
S	9UeS nAff = f! [(        RB                   a  n[        R                  SSS9  U	S:  aS  U RE                  URF                  5      (       a3  URF                  RI                  5         U R-                  UUUUS9   S nAGM  URF                  RJ                  (       d  URF                  RM                  5         [        R                  S5        U RO                  URF                  5      S eS nAff = fNrM  r   r   r'  authr  zSending HTTP Request: %s %sry  )r   z"Encountered httpx.TimeoutExceptionT)exc_info)r(  r   r   r  zRaising timeout errorzEncountered ExceptionzRaising connection errorzHTTP Response: %s %s "%i %s" %szrequest_id: %sz
request-idz!Encountered httpx.HTTPStatusErrorzRe-raising status errorz0could not resolve response (should never happen))rt  r   r  ry  r5  r(  ))rv  r=   r/  rO  r0  r  r  r   ranger-  rg  r1  r  r  rZ   rS  ri   r   sendr{  r   TimeoutException_sleep_for_retryrT   r  r   rR   rU   r  reason_phraser*  rM  raise_for_statusHTTPStatusErrorr  r  r	  r  r,  r"  _process_responserr   rt  r   ry  r5  input_optionsr  r   r(  r  r   rc  r  s                rs   r   r6    s    ..w@
 #7+((0]5I5I5O5O5QUZ5Z,0,A,A,CM)*.#33D4D4DE";?3M /G++G4G + ;))')OG!!'*$&F+!%!1!1v''3-4-E-E)*II3W^^W[[QH%C<<,,!WT%F%Fw%F%W L II1$$&&   II&(8(8(<(<\(JKT))+, u 4x #W%WW#%%!' & 
 	
K )) @		>	N$q())&3$/ -!%	 *  		12%g6C? Cc>22		1D	A$q())&3$/ -!%	 *  		45(9sB#C> (( T		=	M$q(T-?-?-M-MLL&&())&3$/ -!)	 *   ||--LL%%'		34;;CLLItS'TsQ   65H'K<K9-,I? I??K9AK4K44K9<O(A&O#=A&O##O(c               (   X!-
  nUS:X  a  [         R                  S5        O[         R                  SU5        U R                  XSU(       a  UR                  OS 5      n[         R	                  SUR
                  U5        [        R                  " U5        g Nr   z1 retry leftz%i retries leftz$Retrying request to %s in %f seconds)rZ   rS  r  r*  r   ri   r  sleeprr   r(  r   r   r  r  r   s          rs   rC  SyncAPIClient._sleep_for_retry  sq     (7!IIn%II'):;//0A`hHL\L\nrs7gN

7rw   r   r'  c               t   UR                   R                  R                  [        5      S:X  a  [	        [
        [        UU UUUUUS95      $ [        U5      =(       d    Un[        R                  " U5      (       a  [        U[        5      (       a  U(       a7  [        UR                   R                  R                  [        5      5      (       aY  [        U[        5      (       d  [        S[         SU 35      e[	        SU5      n[	        [
        U" UU [        U5      UUUUS95      $ U[         R"                  :X  a  [	        [
        U5      $ [        UU [	        SU5      UUUUS9n	[        UR                   R                  R                  [        5      5      (       a  [	        [
        U	5      $ U	R%                  5       $ )Nr  rawr   rt  ry  r5  r   r(  !API Response types must subclass ; Received type[BaseAPIResponse[Any]]r  )r   r*  rM  rK   r   r+   rY   r   r  r  r  rD   r   rC   r   rF   r   Responseparse
rr   rt  r   r  ry  r5  r(  originresponse_clsapi_responses
             rs   rG  SyncAPIClient._process_response  s    ##''(;<F! #!)#"/  G$/ OOF##6?33 tH$4$4$<$<$@$@AT$UVVfk22"CK=P[\b[c dee <gFL 1,?!)#"/  enn$	8,,"*G4!'
   ((,,-@ABB	<00!!##rw   c                L   ^ ^^ SUUU 4S jjnUTl         T R                  UTSS9$ )Nc                *   > U R                  TTTS9  U $ )N)r   r   r   )r   )r   r   r   rr   s    rs   r   0SyncAPIClient._request_api_list.<locals>._parser  s&    (( ) 
 Krw   Fr7  )r   r[   r   r[   )r   r   )rr   r   r   r   r   s   `` ` rs   r   SyncAPIClient._request_api_list  s,    	 	 &||D'%|88rw   r   ry  c                   g ro   rp   rr   pathrt  r   ry  s        rs   rM  SyncAPIClient.get  s     rw   r   c                   g ro   rp   rr   rc  rt  r   ry  r5  s         rs   rM  rd    s     rw   r   r5  c                   g ro   rp   rg  s         rs   rM  rd    s      #rw   r   ry  r5  c          
     p    [         R                  " SSUS.UD6n[        [        U R	                  X&XES95      $ NrM  )rO  ri   r:  rp   )r@   	constructr   r+   r   rr   rc  rt  r   ry  r5  optss          rs   rM  rd    s:     #,,OEtOwO It||G&|`aarw   )r  rB  r   rN  ry  c                   g ro   rp   )rr   rc  rt  r  rB  r   rN  ry  s           rs   postSyncAPIClient.post  s     rw   )r  rB  r   rN  c                   g ro   rp   	rr   rc  rt  r  rB  r   rN  ry  r5  s	            rs   rq  rr  (  s     rw   )r  rB  r   rN  r5  c                   g ro   rp   rt  s	            rs   rq  rr  6  s      #rw   )r  rB  r   rN  ry  r5  c          
     (   Ub  Ub  [        S5      eUb  Ub  [        S5      e[        U[        5      (       a  [        R                  " S[
        SS9  [        R                  " S	SXU[        U5      S.UD6n	[        [        U R                  X)XxS95      $ 
N2Passing both `body` and `content` is not supported3Passing both `files` and `content` is not supportedPassing raw bytes as `body` is deprecated and will be removed in a future version. Please pass raw bytes via the `content` parameter instead.   
stacklevelrq  rO  ri   r   rB  rN  r:  rp   )r   r   r_  warningswarnDeprecationWarningr@   rm  r#   r   r+   r   )
rr   rc  rt  r  rB  r   rN  ry  r5  ro  s
             rs   rq  rr  D  s      3PQQ!4QRRdE""MMM"	 #,, 
tWN[`La
el
 It||G&|`aarw   r  rB  rN  r   c          
        Ub  Ub  [        S5      eUb  Ub  [        S5      e[        U[        5      (       a  [        R                  " S[
        SS9  [        R                  " SSXU[        U5      S.UD6nU R                  X'5      $ 	Nrx  ry  rz  r{  r|  patchr~  rp   
r   r   r_  r  r  r  r@   rm  r#   r   rr   rc  rt  r  rB  rN  r   ro  s           rs   r  SyncAPIClient.patch`  s      3PQQ!4QRRdE""MMM"	 #,, 
g^\aMb
fm
 ||G**rw   c          
        Ub  Ub  [        S5      eUb  Ub  [        S5      e[        U[        5      (       a  [        R                  " S[
        SS9  [        R                  " SSXU[        U5      S.UD6nU R                  X'5      $ 	Nrx  ry  rz  r{  r|  putr~  rp   r  r  s           rs   r  SyncAPIClient.putz  s      3PQQ!4QRRdE""MMM"	 #,, 
dG>Z_K`
dk
 ||G**rw   r  rB  r   c                   Ub  Ub  [        S5      e[        U[        5      (       a  [        R                  " S[
        SS9  [        R                  " SSXUS.UD6nU R                  X&5      $ Nrx  rz  r{  r|  delete)rO  ri   r   rB  rp   	r   r   r_  r  r  r  r@   rm  r   rr   rc  rt  r  rB  r   ro  s          rs   r  SyncAPIClient.delete  so      3PQQdE""MMM"	 #,,sH$`gskrs||G**rw   rM  r  r   rO  c               X    [         R                  " SXaUS.UD6nU R                  X#U5      $ N)rO  ri   r   rp   r@   rm  r   rr   rc  r   r   r  r   rO  ro  s           rs   get_api_listSyncAPIClient.get_api_list  3     #,,`FPT`X_`%%e488rw   )r   )r  r   r  r  r   r   r   !float | Timeout | None | NotGivenr  zhttpx.Client | Noner  r  r  r  r  r   r   r   r   r  rr   r^   r   r^   r%  ztype[BaseException] | Noner&  zBaseException | Noner'  zTracebackType | Noner   r   r   r@   r   r@   r   r  r   r   )
rt  Type[ResponseT]r   r@   ry  Literal[True]r5  zType[_StreamT]r   ra   rt  r  r   r@   ry  Literal[False]r   r+   )
rt  r  r   r@   ry  r   r5  zType[_StreamT] | Noner   ResponseT | _StreamT)
rt  r  r   r@   ry  r   r5  type[_StreamT] | Noner   r  
r(  r   r   r   r   r@   r  zhttpx.Response | Noner   r   rt  r  r   r@   r  r  ry  r   r5  z1type[Stream[Any]] | type[AsyncStream[Any]] | Noner(  r   r   r+   )r   Type[object]r   Type[SyncPageT]r   r@   r   r[   
rc  r   rt  r  r   r1   ry  r  r   r+   )rc  r   rt  r  r   r1   ry  r  r5  type[_StreamT]r   ra   )rc  r   rt  r  r   r1   ry  r   r5  r  r   r  )rc  r   rt  r  r  Body | NonerB  BinaryTypes | Noner   r1   rN  RequestFiles | Nonery  r  r   r+   )rc  r   rt  r  r  r  rB  r  r   r1   rN  r  ry  r  r5  r  r   ra   )rc  r   rt  r  r  r  rB  r  r   r1   rN  r  ry  r   r5  r  r   r  )rc  r   rt  r  r  r  rB  r  rN  r  r   r1   r   r+   )rc  r   rt  r  r  r  rB  r  r   r1   r   r+   )rc  r   r   r  r   r  r  r  r   r1   rO  r   r   r[   )r   r   r   r   r   r  r  rI   r5   rt   r  r	  r   r(  r-  r1  r   r   rC  rG  r   rM  rq  r  r  r  r  r   r  r  s   @rs   r   r     s?   4818"K" /5>+/3748,
 ,
 	,

 ,
 3,
 ),
 1,
 2,
 &*,
 
,
 ,
\&!, " %	
 
$ 
		 
	   %
  # 
   "'  %
  
   ,0# # %#
 # *# 
# # ,0z
 z
 %z

 z
 *z
 
z
x #25@S_t	, B$ !B$ %	B$
 !B$ B$ FB$ B$ 
B$H99 9 %	9
 
9$  #%!& !	
    
   #% !	
    # 
   #%,0## !	#
  # # *# 
# # #%,0bb !	b
  b b *b 
b  !&*"$%)!&

 !	

 
 $
  
 #
 
 

 
  !&*"$%) !	
  $   #  # 
   !&*"$%),0## !	#
 # $#  # ## # *# 
# #$ !&*"$%),0bb !	b
 b $b  b #b b *b 
bB !&*%)"$++ !	+
 + $+ #+  + 
+> !&*%)"$++ !	+
 + $+ #+  + 
+> !&*"$++ !	+
 + $+  + 
+6 !"$99 	9
 9 9  9 9 
9 9rw   r   c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )_DefaultAsyncHttpxClienti  c           
     j  > UR                  S[        5        UR                  S[        5        UR                  SS5        SU;  Ga  [        R                  [        R
                  S4/n[        [        SS 5      nUb#  UR                  [        R                  US45        OG[        R                  S:X  a3  [        [        S	S
5      nUR                  [        R                  US45        [        [        SS 5      nUb"  UR                  [        R                  US45        [        [        SS 5      nUb"  UR                  [        R                  US45        [        5       R                  5        VVs0 s H  u  pxXxc  S O[        US9_M     n	nnS V
s0 s H  oU;   d  M
  XU
   _M     nn
X+S'   U	R                  5        VVs0 s H  u  p|X|c  S O[        SSU0UD6_M     nnn[        S0 UD6nUR                  UR!                  S0 5      5        XS'   XS'   ["        TU ]H  " S0 UD6  g s  snnf s  sn
f s  snnf r  )r  rG   rM   r  r  r  r   rm  r  r  r  rX   r   r   r   r  rM  r  rt   r  s                  rs   rt   !_DefaultAsyncHttpxClient.__init__  s*   )_5($=>,d3f$HNHYHY[a[n[nptGuFvN#FOTBM(%%v'9'9="&MN) ' F%%v'9'9="&MN!&->K&%%v'9'9;&JK"6>4@L'%%v'9'9<&LMVmVoVuVuVwxVw(#kdu~EVwIx -h ,gSrxkx C[ ,g    2@-. #,//"3"3JC ]T0B0c0cRb0cc"3   !3 F5E F 

8R 89+8 #4;"6"+ y r   rp   r  r  r  s   @rs   r  r    r  rw   r  c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )_DefaultAioHttpClienti  c                   > UR                  S[        5        UR                  S[        5        UR                  SS5        [        TU ]  " S0 UD6  g )Nr   r  r  Trp   )r  rG   rM   r  rt   )rr   rc  r~   s     rs   rt   _DefaultAioHttpClient.__init__  sE    i9h(AB0$7G&v&rw   rp   r  r  r  s   @rs   r  r    s    	' 	'rw   r  c                      \ rS rSrSS jrSrg)r  i  c                    [        S5      e)NzVTo use the aiohttp client you must have installed the package with the `aiohttp` extra)r   )rr   _kwargss     rs   rt   r    s    wxxrw   rp   N)r  r   r   r   )r   r   r   r   rt   r   rp   rw   rs   r  r    s    	yrw   c                      \ rS rSrSS jrSrg)AsyncHttpxClientWrapperi
  c                    U R                   (       a  g  [        R                  " 5       R                  U R	                  5       5        g ! [
         a     g f = fro   )r  asyncioget_running_loopcreate_taskacloser  r   s    rs   r
  AsyncHttpxClientWrapper.__del__  s@    >>	$$&224;;=A 		s   2A 
AArp   Nr  r  rp   rw   rs   r  r  
  s    rw   r  c                  x  ^  \ rS rSr% S\S'   SrS\S'   SrS\S'   \\SSSS	.                 S6U 4S
 jjjr	S7S jr
S8S jrS9S jr        S:S jr    S;S jr    S<S jr\SS.       S=S jj5       r\          S>S j5       r\SS.         S?S jj5       rSSS.         S?S jjr          S@S jrSS.             SAS jjr        SBS jr\0 SS.         SCS jj5       r\0 S .           SDS! jj5       r\0 SS".           SES# jj5       r0 SSS$.           SES% jjr\SSS0 SS&.               SFS' jj5       r\SSS0 S(.                 SGS) jj5       r\SSS0 SS*.                 SHS+ jj5       rSSS0 SSS,.                 SHS- jjrSSS0 S(.             SIS. jjrSSS0 S(.             SIS/ jjrSS0 S0.           SJS1 jjrS0 S2S3.             SKS4 jjrS5rU =r$ )Lr   i  zhttpx.AsyncClientr   Nztype[AsyncStream[Any]] | Noner  r  r  r  c          
       > [        U5      (       d.  U(       a!  UR                  [        :w  a  UR                  nO[        nUb6  [	        U[
        R                  5      (       d  [        S[        U5       35      e[        T	U ])  UU[        [        U5      UUUUS9  U=(       d    [        U[        [        U5      S9U l        g )NzTInvalid `http_client` argument; Expected an instance of `httpx.AsyncClient` but got )r  r  r   r   r  r  r  r  )r9   r   r  rG   r   r   AsyncClientr   rU  r  rt   r   r)   r  r   )
rr   r  r  r  r   r   r  r  r  r~   s
            rs   rt   AsyncAPIClient.__init__  s        {226KK%--)":k5CTCT+U+Ufgklwgxfyz  	'*#%)(C 	 		
 # 
&='*'
rw   c                .    U R                   R                  $ ro   r  r   s    rs   r  AsyncAPIClient.is_closedI  r  rw   c                T   #    U R                   R                  5       I Sh  vN   g N7f)r  N)r   r  r   s    rs   r	  AsyncAPIClient.closeL  s     
 ll!!###s   (&(c                   #    U $ 7fro   rp   r   s    rs   
__aenter__AsyncAPIClient.__aenter__S  s
        c                @   #    U R                  5       I S h  vN   g  N7fro   r#  r$  s       rs   	__aexit__AsyncAPIClient.__aexit__V  s      jjls   c                   #    U$ 7fr+  rp   r,  s     rs   r-  AsyncAPIClient._prepare_options^  s     
 r  c                   #    g7fr0  rp   rz  s     rs   r1  AsyncAPIClient._prepare_requeste  s
         Fr7  c                  #    g 7fro   rp   r9  s       rs   r   AsyncAPIClient.requestp  s
      r  c                  #    g 7fro   rp   r4  s        rs   r   r  y  s
      r  )r5  c                  #    g 7fro   rp   r4  s        rs   r   r    s
      %(r  r:  c          	       #    U R                   c!  [        [        5      " 5       I S h  vN U l         U R                  X5      n[	        U5      nUR
                  c3  UR                  R                  5       S:w  a  U R                  5       Ul        S nUR                  U R                  5      nSn[        US-   5       GH  n[	        U5      nU R                  U5      I S h  vN nXx-
  n	U R                  X(S9n
U R                  U
5      I S h  vN   0 nU R                  b  U R                  US'   UR                   b  UR                   US'   ["        R%                  SU
R                  U
R&                  5        S n U R(                  R*                  " U
4SU=(       d    U R-                  U
S	90UD6I S h  vN n["        R%                  SU
R                  U
R&                  UR>                  UR@                  URB                  5        ["        R%                  SURB                  RE                  S5      5         URG                  5           O   Uc   S5       eU RW                  UUUUUUS9I S h  vN $  GNB GN GNf N! [.        R0                   a`  n["        R%                  S
SS9  U	S:  a"  U R3                  UUUS S9I S h  vN     S nAGM
  ["        R%                  S5        [5        U
S	9UeS nAf[6         av  n[9        U[:        5      (       a  e ["        R%                  SSS9  U	S:  a"  U R3                  UUUS S9I S h  vN     S nAGM  ["        R%                  S5        [=        U
S	9UeS nAff = f! [.        RH                   a  n["        R%                  SSS9  U	S:  ae  U RK                  URL                  5      (       aE  URL                  RO                  5       I S h  vN    U R3                  UUUUS9I S h  vN     S nAGMB  URL                  RP                  (       d#  URL                  RS                  5       I S h  vN    ["        R%                  S5        U RU                  URL                  5      S eS nAff = f GN7fr=  ),r  r8   get_platformrv  r=   r/  rO  r0  r  r  r   r@  r-  rg  r1  r  r  rZ   rS  ri   r   rA  r{  r   rB  rC  rT   r  r   rR   rU   r  rD  r*  rM  rE  rF  r  r  r  r  areadr"  rG  rH  s                rs   r   r    s3     >>! $,L#9#;;DN..w@
 #7+((0]5I5I5O5O5QUZ5Z,0,A,A,CM)*.#33D4D4DE";?3M /G 11'::G + ;))')OG''000$&F+!%!1!1v''3-4-E-E)*II3W^^W[[QH%C!%!2!2"!WT%F%Fw%F%W" " L II1$$&&   II&(8(8(<(<\(JKT))+, u 4x #W%WW#++!' , 
 
 	
[ <$ ; 1
 )) @		>	N$q(//&3$/ -!%	 0    		12%g6C? Cc>22		1D	A$q(//&3$/ -!%	 0    		45(9sB#C> (( T		=	M$q(T-?-?-M-M,,--/////&3$/ -!)	 0     ||--,,,,...		34;;CLLItS'T0
s
  %Q6I)B5Q6I,+Q6	I/
A+Q668I4.I2/I43A;Q6/M)?%Q6$Q3%Q6,Q6/Q62I44M&/K#7J:8K#=Q6K##M&0AM!5L86M!;Q6M!!M&&Q6)Q0=AQ+OQ+/O20Q+5Q6<8Q+4P756Q++Q00Q6c               D  #    X!-
  nUS:X  a  [         R                  S5        O[         R                  SU5        U R                  XSU(       a  UR                  OS 5      n[         R	                  SUR
                  U5        [        R                  " U5      I S h  vN   g  N7frK  )rZ   rS  r  r*  r   ri   anyiorL  rM  s          rs   rC  AsyncAPIClient._sleep_for_retry  sz      (7!IIn%II'):;//0A`hHL\L\nrs7gNkk'"""s   BB BB r   r'  c                 #    UR                   R                  R                  [        5      S:X  a  [	        [
        [        UU UUUUUS95      $ [        U5      =(       d    Un[        R                  " U5      (       a  [        U[        5      (       a  U(       a7  [        UR                   R                  R                  [        5      5      (       aU  [        U[        5      (       d  [        S[         SU 35      e[	        SU5      n[	        SU" UU [        U5      UUUUS95      $ U[         R"                  :X  a  [	        [
        U5      $ [        UU [	        SU5      UUUUS9n	[        UR                   R                  R                  [        5      5      (       a  [	        [
        U	5      $ U	R%                  5       I S h  vN $  N7f)Nr  rP  rR  rS  rT  r+   r  )r   r*  rM  rK   r   r+   rY   r   r  r  r  rD   r   rE   r   rF   r   rU  rV  rW  s
             rs   rG   AsyncAPIClient._process_response  s     ##''(;<F! #!)#"/  G$/ OOF##6?33 tH$4$4$<$<$@$@AT$UVVf&677"CDTCUU`ag`h ijj <gFL 1,?!)#"/  enn$	8,,'*G4!'
   ((,,-@ABB	<00!''))))s   F9G;G <Gc                    [        XX!S9$ )N)r   r   r   r   )r   )rr   r   r   r   s       rs   r    AsyncAPIClient._request_api_list`  s     TTWWrw   r`  c                  #    g 7fro   rp   rb  s        rs   rM  AsyncAPIClient.geth  s
      r  re  c                  #    g 7fro   rp   rg  s         rs   rM  r  r  s
      r  rh  c                  #    g 7fro   rp   rg  s         rs   rM  r  }  s
      %(r  rj  c               p   #    [         R                  " SSUS.UD6nU R                  X&XES9I S h  vN $  N7frl  )r@   rm  r   rn  s          rs   rM  r    s:      #,,OEtOwO\\'\VVVVs   -646)r  rB  rN  r   ry  c                  #    g 7fro   rp   )rr   rc  rt  r  rB  rN  r   ry  s           rs   rq  AsyncAPIClient.post  s
      r  r  c                  #    g 7fro   rp   	rr   rc  rt  r  rB  rN  r   ry  r5  s	            rs   rq  r    s
      r  )r  rB  rN  r   r5  c                  #    g 7fro   rp   r  s	            rs   rq  r    s
      %(r  )r  rB  rN  r   ry  r5  c          
     <  #    Ub  Ub  [        S5      eUb  Ub  [        S5      e[        U[        5      (       a  [        R                  " S[
        SS9  [        R                  " S	SXU[        U5      I S h  vN S.UD6n	U R                  X)XxS9I S h  vN $  N! N7frw  
r   r   r_  r  r  r  r@   rm  r$   r   )
rr   rc  rt  r  rB  rN  r   ry  r5  ro  s
             rs   rq  r    s       3PQQ!4QRRdE""MMM"	 #,, 
tWRfglRmLm
qx
 \\'\VVV MnVs$   A4B6B7BBBBc          
     @  #    Ub  Ub  [        S5      eUb  Ub  [        S5      e[        U[        5      (       a  [        R                  " S[
        SS9  [        R                  " SSUUU[        U5      I S h  vN S.UD6nU R                  X'5      I S h  vN $  N" N7fr  r  r  s           rs   r  AsyncAPIClient.patch  s       3PQQ!4QRRdE""MMM"	 #,, 
,U33
 
 \\'000 4 1s$   A5B7B8BBBBc          
     >  #    Ub  Ub  [        S5      eUb  Ub  [        S5      e[        U[        5      (       a  [        R                  " S[
        SS9  [        R                  " SSXU[        U5      I S h  vN S.UD6nU R                  X'5      I S h  vN $  N" N7fr  r  r  s           rs   r  AsyncAPIClient.put  s       3PQQ!4QRRdE""MMM"	 #,, 
dGQefkQlKl
pw
 \\'000 Lm0s$   A4B6B7BBBBr  c                  #    Ub  Ub  [        S5      e[        U[        5      (       a  [        R                  " S[
        SS9  [        R                  " SSXUS.UD6nU R                  X&5      I S h  vN $  N7fr  r  r  s          rs   r  AsyncAPIClient.delete  sx       3PQQdE""MMM"	 #,,sH$`gskrs\\'0000s   A/A81A62A8rM  r  c               X    [         R                  " SXaUS.UD6nU R                  X#U5      $ r  r  r  s           rs   r  AsyncAPIClient.get_api_list'  r  rw   )r   r  )r  r   r  r  r  r   r   r   r   r  r  zhttpx.AsyncClient | Noner  r  r  r  r   r   r   r  r  r  r  r  r  )
rt  r  r   r@   ry  r  r5  type[_AsyncStreamT]r   rb   )
rt  r  r   r@   ry  r   r5  type[_AsyncStreamT] | Noner   ResponseT | _AsyncStreamTr  r  )r   r   r   r   r   r@   r   AsyncPaginator[_T, AsyncPageT]r  )rc  r   rt  r  r   r1   ry  r  r5  r  r   rb   )rc  r   rt  r  r   r1   ry  r   r5  r  r   r  )rc  r   rt  r  r  r  rB  AsyncBinaryTypes | NonerN  r  r   r1   ry  r  r   r+   )rc  r   rt  r  r  r  rB  r  rN  r  r   r1   ry  r  r5  r  r   rb   )rc  r   rt  r  r  r  rB  r  rN  r  r   r1   ry  r   r5  r  r   r  )rc  r   rt  r  r  r  rB  r  rN  r  r   r1   r   r+   )rc  r   rt  r  r  r  rB  r  r   r1   r   r+   )rc  r   r   r   r   r   r  r  r   r1   rO  r   r   r  )r   r   r   r   r   r  r  rI   r5   rt   r  r	  r  r  r-  r1  r   r   rC  rG  r   rM  rq  r  r  r  r  r   r  r  s   @rs   r   r     sB   9=6="K" /5>043748,
 ,
 	,

 &*,
 ,
 3,
 .,
 1,
 2,
 
,
 ,
\&$, " %	
 
$ 
		 
	  "'  %
  
    %
  ( 
   26( ( %(
 ( /( 
#( ( 15
 
 %

 
 /
 
#
B# ##25#@S#_t#	#, B* !B* %	B*
 !B* B* FB* B* 
B*HXX X %	X
 
(X  #%!& !	
    
   #% !	
    ( 
   #%15(( !	(
  ( ( /( 
#( ( #%15
W
W !	
W
  
W 
W /
W 
#
W  !+/%)"$!&

 !	

 
 )
 #
  
 
 

 
  !+/%)"$ !	
  ) #    ( 
   !+/%)"$15(( !	(
 ( )( #(  ( ( /( 
#( ($ !+/%)"$15WW !	W
 W )W #W  W W /W 
#WB !+/%)"$11 !	1
 1 )1 #1  1 
1H !+/%)"$11 !	1
 1 )1 #1  1 
1> !+/"$11 !	1
 1 )1  1 
16 !"$99 	9
 9 9  9 9 
(9 9rw   r   )r[  extra_headersextra_query
extra_bodyr/  r   r   c                    0 nUb  XS'   Ub  [        [        U5      US'   U b  XS'   Ub  0 UR                  S0 5      EUEUS'   [        U[        5      (       d  XWS'   Ub  XGS'   [        U5      (       a  XgS'   U$ )zECreate a dict of type RequestOptions without keys of NotGiven values.r*  rT  rk   r   r/  r   )r   r,   rM  r   r*   r9   )r[  r  r  r   r/  r   r   r   s           rs   make_request_optionsr  5  s     !G *	 $Z <!Hw{{8R8HKHgx(($	"%4!"!,Nrw   c                      \ rS rSrSS jrSrg)rZ  iZ  c                    g)NTrp   r   s    rs   __bool__ForceMultipartDict.__bool__[  s    rw   rp   Nr   )r   r   r   r   r  r   rp   rw   rs   rZ  rZ  Z  s    rw   rZ  c                  2    \ rS rSrSS jr\SS j5       rSrg)OtherPlatformi_  c                    Xl         g ro   namerr   r  s     rs   rt   OtherPlatform.__init__`      	rw   c                     SU R                    3$ )NzOther:r
  r   s    rs   __str__OtherPlatform.__str__c      		{##rw   r
  Nr  r   r   r   r   r   r   r   r   rt   r   r  r   rp   rw   rs   r  r  _       $ $rw   r  )MacOSLinuxWindowsFreeBSDOpenBSDiOSAndroidUnknownc                 n    [         R                  " 5       R                  5       n [         R                   " 5       R                  5       nSU;   d  SU;   a  gU S:X  a  gU S:X  a  gS	U;   a  g
U S:X  a$  [        R
                  " 5       nUS:X  a  gUS:X  a  ggU(       a  [        U5      $ g! [         a     gf = f)Nr  iphoneipadr  r  r  windowsr  androidr  linuxfreebsdr  openbsdr  r  )r  systemr0  r  distroidr  )r&  platform_name	distro_ids      rs   r  r  w  s    "((* ))+113 = Fm$;
 M! IIK		!	!]++G  s   AB' '
B43B4)maxsizec                   SU [        U=(       d
    [        5       5      [        [        5       5      [        5       [	        5       S.$ )Npython)zX-Stainless-LangzX-Stainless-Package-VersionzX-Stainless-OSzX-Stainless-ArchzX-Stainless-RuntimezX-Stainless-Runtime-Version)r   r  get_architectureget_python_runtimeget_python_version)r  r  s     rs   r  r    s;     %'.h8,.9 0 2313'9'; rw   c                  2    \ rS rSrSS jr\SS j5       rSrg)	OtherArchi  c                    Xl         g ro   r
  r  s     rs   rt   OtherArch.__init__  r  rw   c                     SU R                    3$ )Nzother:r
  r   s    rs   r  OtherArch.__str__  r  rw   r
  Nr  r   r  rp   rw   rs   r2  r2    r  rw   r2  )x32x64armarm64unknownc                 N     [         R                  " 5       $ ! [         a     gf = fNr;  )r  python_implementationr  rp   rw   rs   r/  r/    s(    --//     
$$c                 N     [         R                  " 5       $ ! [         a     gf = fr=  )r  python_versionr  rp   rw   rs   r0  r0    s(    &&(( r?  c                      [         R                  " 5       R                  5       n U S;   a  gU S:X  a  gU S:X  a  g[        R
                  S::  a  gU (       a  [        U 5      $ g! [         a     gf = f)	Nr;  )r:  aarch64r:  r9  x86_64r8  l        r7  )r  machiner0  r  r  r+  r2  )rE  s    rs   r.  r.    sz    ""$**, && %( {{e!!)  s   #A" "
A/.A/c                    0 U EUEnUR                  5        VVs0 s H  u  p4[        U[        5      (       a  M  X4_M      snn$ s  snnf )zMerge two mappings of the same type, removing any values that are instances of `Omit`.

In cases with duplicate keys the second mapping takes precedence.
)r   r   r&   )obj1obj2mergedro  rp  s        rs   r+  r+    sA     F)/W:3z%QU?VJCJWWWs
   AA)r[  Query | Noner  zHeaders | Noner  rJ  r   r  r/  r  r   z'float | httpx.Timeout | None | NotGivenr   zPostParser | NotGivenr   r1   )r   Platform)r  r   r  zPlatform | Noner   r  r   )r   Arch)rG  Mapping[_T_co, Union[_T, Omit]]rH  rM  r   zDict[_T_co, _T])
__future__r   r  rm   r  r  r  r  r  r  rQ  r  r  email.utilstypesr   r   typingr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   typing_extensionsr   r   r   r  r   r'  r   r   r   r   r   r    r    _qsr"   _filesr#   r$   _typesr%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   _utilsr6   r7   r8   r9   r:   r;   _compatr<   r=   r>   _modelsr?   r@   rA   rB   	_responserC   rD   rE   rF   
_constantsrG   rH   rI   rJ   rK   rL   rM   
_streamingrN   rO   rP   rQ   rR   rS   rT   rU   rV   _utils._jsonrW   _utils._httpxrX   _legacy_responserY   	getLoggerr   rZ   r   r[   r]   r^   r_   ra   rb   httpx._configrc   r  ImportErrorrf   r   r   r   r   r  r  r   r   r   r  DefaultHttpxClientr  r   r  httpx_aiohttpHttpxAiohttpClientr  DefaultAsyncHttpxClientDefaultAioHttpClientr  r   r  r   rZ  r  rK  r  r  r2  rL  r/  r0  r.  r+  rp   rw   rs   <module>rh     sg   " 
                 & < ;     ? ?     8    & P O 8 8 U U    I H  ( 2 /''1^ 1 K':;	\)=>
 T]4(:VC[1{3/?@ 3-Q0B 0Bf:6|WR[ :6z.a8B< .ab$WR^, $N&gHRL'"+ &gR uU\\5CTCT5T/UV+5kRUFV9V3WXW878 W8t.#%,, .#b  -/ a9Ju||VC[89 a9H.#u00 .#b'' @ @ ' #// !,,_60	5 	\9Z 1 1;s3C CD \9B $( $""&7@)2"" "" 	"
 "  " 5" '" "Jc4i 
$ $ 		
'T 4 $ $ Y GHHI4	X
)	X
)	X 	XUC  - '-f+  yy 1 1 yys$   N N  NN O ?O 