
    хi                      % 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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  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)  S SK'J*r*  S	S
K+J,r,  S	SK-J.r.  S	SK/J0r0J1r1  S	SK2J3r3J4r4J5r5J6r6J7r7J8r8J9r9J:r:J;r;J<r<J=r=J>r>J?r?J@r@JArAJBrBJCrCJDrD  S	SKEJFrFJGrGJHrHJIrIJJrJJKrKJLrL  S	SKMJNrNJOrO  S	SKPJQrQJRrRJSrSJTrT  S	SKUJVrVJWrWJXrXJYrY  S	SKZJ[r[J\r\J]r]J^r^J_r_J`r`Jara  S	SKbJcrcJdrdJereJfrf  S	SK,JgrgJhrhJiriJjrj  S	SKkJlrl  \	R                  " \n5      roS\pS'   \oR                  \F" 5       5        \" SSS9rr\" SSS9rs\" S5      rt\" SSS 9ru\" S!\c\   S9rv\" S"\e\   S9rw\(       a  S S#KxJyrz  O S S#KxJyrz   " S% S&5      r| " S' S(\Q\\t   5      r} " S) S*\}\t   \\t   5      r~ " S+ S,\\t\s4   5      r " S- S.\}\t   \\t   5      r\" S/\\%GR                  \%GR                  4   S9r\" S0\\c\   \e\   4   S9r " S1 S2\\\4   5      r " S3 S4\%GR                  5      r\(       a  \%GR                  rO\r " S5 S6\5      r " S7 S8\\%GR                  \c\   4   5      r " S9 S:\%GR                  5      r\(       a  \%GR                  rO\r " S; S<\5      r " S= S>\\%GR                  \e\   4   5      rSSSSS\3\3S?.               SPS@ jjr " SA SB\\S4   5      r " SC SD5      r\\\!SE   4   rSQSF jr\K" SSG9SRSH j5       r " SI SJ5      r\\\!SK   4   rSSSL jrSSSM jrSTSN jr      SUSO jrg! \{ a    \8" S$5      rz GNf = f)V    )annotationsN)TracebackType)random)TYPE_CHECKINGAnyDictTypeUnionGenericMappingTypeVarIterableIteratorOptional	GeneratorAsyncIteratorcastoverload)Literaloverride
get_origin)URLLimits)PrivateAttr   )_exceptionsQuerystring)to_httpx_filesasync_to_httpx_files)	NOT_GIVENBodyOmitQueryHeadersTimeoutNotGiven	ResponseT	Transport
AnyMapping
PostParserProxiesTypesRequestFilesHttpxSendArgsAsyncTransportRequestOptionsHttpxRequestFilesModelBuilderProtocol)SensitiveHeadersFilteris_dictis_listasyncifyis_given	lru_cache
is_mapping)
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)APIStatusErrorAPITimeoutErrorAPIConnectionErrorAPIResponseValidationError)LegacyAPIResponsezlogging.Loggerlog	SyncPageTzBaseSyncPage[Any])bound
AsyncPageTzBaseAsyncPage[Any]_T_T_coT)	covariant_StreamT_AsyncStreamT)DEFAULT_TIMEOUT_CONFIGg      @c                      \ rS rSr% SrS\S'   S\S'   \    SS j5       r\    SS j5       r\\S	.     SS
 jjr\	SS j5       r
Srg)PageInfot   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paramsc                   g N selfrb   s     M/home/james-whalen/.local/lib/python3.13/site-packages/openai/_base_client.py__init__PageInfo.__init__}       
     c                   g rf   rg   )ri   rd   s     rj   rk   rl      rm   rn   rb   rd   c                   Xl         X l        g rf   rp   )ri   rb   rd   s      rj   rk   rl      s     rn   c                    U R                   (       a&  U R                  R                   SU R                    S3$ U R                  R                   SU R                   S3$ )Nz(url=)z(params=)rb   	__class____name__rd   ri   s    rj   __repr__PageInfo.__repr__   sM    88nn--.eDHH:Q??..))*(4;;-qAArn   )rd   rb   N)rb   r   returnNone)rd   r$   ry   rz   )rb   ra   rd   rc   ry   rz   ry   str)ru   
__module____qualname____firstlineno____doc____annotations__r   rk   r!   r   rw   __static_attributes__rg   rn   rj   r_   r_   t   s    
 
  
	    
	  (#,	  !	
 
 B Brn   r_   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)ri   itemss     rj   has_next_pageBasePage.has_next_page   s*    $$&""$D00rn   c                    g rf   rg   rv   s    rj   r   BasePage.next_page_info   s    Crn   c                    g rf   rg   rv   s    rj   r   BasePage._get_page_items   s    rn   c                    [         R                  " [        [        U R                  R
                  5      5      R                  UR
                  5      $ rf   )httpxQueryParamsr   r   r   rd   mergerh   s     rj   _params_from_urlBasePage._params_from_url   s3      c4==+?+?!@AGG

SSrn   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$ [        S5      e)N)rd   zUnexpected PageInfo state)r:   r   _strip_raw_response_header
isinstancerd   r'   rb   r   	copy_withdictr|   
ValueError)ri   infooptionsrd   rb   s        rj   _info_to_optionsBasePage._info_to_options   s    T]]+**,$++x00>>$++>GNN$((H--**4884F(($$F$3C!#**-GNc(GKN455rn   rg   Nry   bool)ry   zOptional[PageInfo])ry   zIterable[_T])rb   r   ry   zhttpx.QueryParams)r   r_   ry   r=   )ru   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   rg   rn   rj   r   r      s<    	 %0MH!1"}FH$1 8T6rn   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                (    X l         Xl        X0l        g rf   r   r   r   )ri   clientmodelr   s       rj   _set_private_attributes$BaseSyncPage._set_private_attributes        rn   c              #  p   #    U R                  5        H  nUR                  5        H  nUv   M	     M      g 7frf   
iter_pagesr   ri   pageitems      rj   __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rf   r   get_next_pageri   r   s     rj   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   rt   ri   r   r   s      rj   r   BaseSyncPage.get_next_page   sZ    ""$k  ''-||--dkkX_-``rn   r   r   r   N)r   r   r   r   r   r=   ry   rz   )ry   zIterator[_T])ri   rU   ry   zIterator[SyncPageT])ri   rU   ry   rU   )ru   r}   r~   r   pydanticr   r   r   r   r   r   r   r   rg   rn   rj   r   r      sP    %113G]3     %	 
 
 $
arn   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)AsyncPaginator   c                4    X@l         Xl        X l        X0l        g rf   )r   r   r   	_page_cls)ri   r   r   page_clsr   s        rj   rk   AsyncPaginator.__init__   s     !rn   c                >    U R                  5       R                  5       $ rf   )	_get_page	__await__rv   s    rj   r   AsyncPaginator.__await__  s    ~~))++rn   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   )respri   s    rj   _parser)AsyncPaginator._get_page.<locals>._parser
  s2    ((kk|| ) 
 Krn   )r   rW   ry   rW   )r   post_parserr   requestr   )ri   r   s   ` rj   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rf   )r   rW   r   s      rj   	__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   ry   rz   )ry   z Generator[Any, None, AsyncPageT])ry   rW   ry   zAsyncIterator[_T])	ru   r}   r~   r   rk   r   r   r   r   rg   rn   rj   r   r      sG    
"
" %
" #	
"
 
" 

",Irn   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	)BaseAsyncPagei   r   r   c                (    Xl         X l        X0l        g rf   r   )ri   r   r   r   s       rj   r   %BaseAsyncPage._set_private_attributes#  r   rn   c                  #    U R                  5         S h  vN nUR                  5        H  nU7v   M
     M'   N"
 g 7frf   r   r   s      rj   r   BaseAsyncPage.__aiter__-  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rf   r   r   s     rj   r   BaseAsyncPage.iter_pages2  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      rj   r   BaseAsyncPage.get_next_page;  sc     ""$k  ''-\\33DKKdnn^e3ffffs   A&A/(A-)A/r   N)r   r   r   r   r   r=   ry   rz   r   )ri   rW   ry   zAsyncIterator[AsyncPageT])ri   rW   ry   rW   )ru   r}   r~   r   r   r   r   r   r   r   r   r   r   rg   rn   rj   r   r      sP    &224G^4     %	 
 
 
grn   r   _HttpxClientT_DefaultStreamTc                     \ 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'   SrS\S'   \\SSS.                     S7S jjrS8S jr	    S9S jr
        S:S jrSS.S;S  jjrS<S! jrS=S" jrSS.     S>S# jjrS?S$ jrS@S% jrSAS& jr        SBS' jr\SCS( j5       r\SDS) j5       r\SES* j5       r\SFS+ j5       r\SGS, j5       r      SHS- jr\SIS. j5       r\SJS/ j5       r\R:                  SKS0 j5       rSLS1 jrSMSNS2 jjr SM       SOS3 jjr SPS4 jr!SIS5 jr"S6r#g)Q
BaseClientiJ  r   r   r|   _versionr   	_base_urlintmax_retrieszUnion[float, Timeout, None]timeouthttpx.Limits_limitsProxiesTypes | None_proxies!Transport | AsyncTransport | None
_transportr   _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        X`l        Xl        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 `openai.DEFAULT_MAX_RETRIES`)r   _enforce_trailing_slashr   r   r   r   r   r   r   _custom_headers_custom_queryr   r   	_platform	TypeError)ri   versionbase_urlr   r   r   limits	transportproxiesr   r   s              rj   rk   BaseClient.__init__W  s      55c(mD&#-3)/R+F(#' *. b  rn   c                ~    UR                   R                  S5      (       a  U$ UR                  UR                   S-   S9$ )N   /raw_path)r  endswithr   rh   s     rj   r   "BaseClient._enforce_trailing_slashw  s6    <<  &&J}}cllT&9}::rn   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stripjsonloads	Exception_make_status_error)ri   r  r  err_msgerr_texts        rj    _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rf   )NotImplementedError)ri   r  r  r  s       rj   r  BaseClient._make_status_error  s     "##rn   r   retries_takenc                  UR                   =(       d    0 n[        U R                  U5      nU R                  XC5        [        R
                  " U5      nU R                  nU(       aH  UR                  R                  5       S:w  a*  Xe;  a%  UR                  =(       d    U R                  5       XV'   SS U 5       ;  a  [        U5      US'   U$ )Ngetzx-stainless-retry-countc              3  @   #    U  H  oR                  5       v   M     g 7frf   )lower).0headers     rj   	<genexpr>,BaseClient._build_headers.<locals>.<genexpr>  s     ,Y.\\^^.s   )headers_merge_mappingsdefault_headers_validate_headersr   r%   r   methodr)  idempotency_key_idempotency_keyr|   )ri   r   r%  r   headers_dictr.  idempotency_headers          rj   _build_headersBaseClient._build_headers  s     .B&t';';^L|< ---!55'.."6"6"8E"AFXFg*1*A*A*\TEZEZE\G' %,Y.,YY14]1CG-.rn   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   )ri   rb   	merge_urlmerge_raw_paths       rj   _prepare_urlBaseClient._prepare_url  sZ     H	$$!]]33i6H6H6O6OPT6UUN==**N*CCrn   c                    [        5       $ rf   )rL   rv   s    rj   _make_sse_decoderBaseClient._make_sse_decoder  s
    |rn   c                  [         R                  [        R                  5      (       a  [         R	                  S[        US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 R/                  U5      US'   U(       d  [        [0        [3        5       5      nU R5                  UR6                  5      n	SU	R8                  ;   a!  SU	R8                  R;                  SS5      0US'   U R<                  R>                  " SU[A        URB                  [D        5      (       a  U RB                  OURB                  URF                  U	U(       a6  U RH                  RK                  [        [L        [N        [P        4   U5      5      OS UUS.UD6$ )NzRequest options: %sT)exclude_unsetz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_sni_hostname-
extensions)r.  r   r2  rb   rd   r  filesrg   ))rT   isEnabledForloggingDEBUGdebugr;   	json_data
extra_jsonr   r"   r9   r/  r   typer7  default_queryrd   r'  rL  
startswithpopr4   r  _serialize_multipartformr1   ForceMultipartDictr>  rb   hostreplacer   build_requestr   r   r'   r2  qs	stringifyr   r|   r   )
ri   r   r%  kwargsrQ  r.  rd   content_typerL  prepared_urls
             rj   _build_requestBaseClient._build_request  s.    GMM**II+Zt-TU!#%%	)  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,###$2L4E4E4M4McSV4W#XF<  ||)) 
$.w$I$IDLLw>>
 JP477$$T'#s(*;V%DEUY
 
 	
rn   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)r\  stringify_itemsr'  r5   append)ri   rG  r   
serializedkeyvalueexistings          rj   rW  #BaseClient._serialize_multipartform	  s|    '' #	 ( 
 )+
JC!~~c*H"'3 x  &#+"3
%  ( rn   c                    [        UR                  5      (       d  U$ [        UR                  5      nUR                  [        [
        5      n[        U5      (       a  X2l        [        [        [           U5      $ U$ rf   )	r7   r.  r   rV  rI   r!   r   r	   r(   )ri   cast_tor   r.  override_cast_tos        rj   _maybe_override_cast_to"BaseClient._maybe_override_cast_to'  sb    ((N w'
 #;;'>	J$%%%OY)9::rn   c                F    UR                   R                  [        5      S:H  $ )Nstream)r.  r'  rH   ri   r   s     rj   _should_stream_response_body'BaseClient._should_stream_response_body8  s    ""#678CCrn   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_rj  )r  r  )r   r(   objectinspectisclass
issubclassr2   buildr   r>   r?   r   ValidationErrorrR   )ri   rG  rn  r  errs        rj   _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       $ rf   r   rv   s    rj   r\  BaseClient.qsS  s
    }rn   c                    g rf   rg   rv   s    rj   custom_authBaseClient.custom_authW  s    rn   c                    0 $ rf   rg   rv   s    rj   auth_headersBaseClient.auth_headers[  s    	rn   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  rv   s    rj   r0  BaseClient.default_headers_  sN     ).//
 ##%	

 
 ""
 	
rn   c                    0 U R                   E$ rf   )r  rv   s    rj   rT  BaseClient.default_queryj  s    
  
 	
rn   c                    g)zQValidate the given default headers and custom headers.

Does nothing by default.
Nrg   )ri   r.  r   s      rj   r1  BaseClient._validate_headersp  s     	rn   c                L    U R                   R                   SU R                   3$ )Nz/Python )rt   ru   r   rv   s    rj   r  BaseClient.user_agent{  s"    ..))*(4==/BBrn   c                    U R                   $ rf   )r   rv   s    rj   r  BaseClient.base_url  s    ~~rn   c                p    U R                  [        U[        5      (       a  UO
[        U5      5      U l        g rf   )r   r   r   r   rh   s     rj   r  r    s)    55ZS=Q=QcWZ[^W_`rn   c                >    [        U R                  U R                  S9$ )N)platform)r  r   r  rv   s    rj   r  BaseClient.platform_headers  s      GGrn   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)	r'  floatr  r   emailutilsparsedate_tz	mktime_tztime)ri   response_headersretry_ms_headerretry_headerretry_date_tuple
retry_dates         rj   _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  minrG   powrE   r   )
ri   remaining_retriesr   r  r   retry_after
nb_retriessleep_secondsjitterr   s
             rj   _calculate_retry_timeout#BaseClient._calculate_retry_timeout  s     --d.>.>? 445EF"q;'<"'< (= 8$?
 /#c:2FFX TFH_$(!Q,w-A-rn   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.  r'  rT   rP  r  )ri   r  should_retry_headers      rj   _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		.!rn   c                2    S[         R                  " 5        3$ )Nzstainless-python-retry-)uuiduuid4rv   s    rj   r4  BaseClient._idempotency_key  s    (77rn   )r   r  r  r   r   r  r   r   r   r   r   r   )r  r|   r  	str | URLr   r   r   r   r   zfloat | Timeout | Noner  r   r  r   r	  r   r   Mapping[str, str] | Noner   Mapping[str, object] | Nonery   rz   )rb   r   ry   r   )r  httpx.Responsery   rO   )r  r|   r  ry  r  r  ry   z_exceptions.APIStatusError)r   r=   r%  r   ry   zhttpx.Headers)rb   r|   ry   r   )ry   zSSEDecoder | SSEBytesDecoder)r   r=   r%  r   ry   httpx.Request)rG  zMapping[object, object]ry   dict[str, object])rn  type[ResponseT]r   r=   ry   r  )r   r  ry   r   )rG  ry  rn  r  r  r  ry   r(   )ry   r   )ry   zhttpx.Auth | None)ry   zdict[str, str])ry   zdict[str, str | Omit])ry   r  )r.  r%   r   r%   ry   rz   r{   )ry   r   )rb   z	URL | strry   rz   )ry   Dict[str, str]rf   )r  Optional[httpx.Headers]ry   zfloat | None)r  r   r   r=   r  r  ry   r  )r  r  ry   r   )$ru   r}   r~   r   r   r   rF   rD   rk   r   r  r  r7  r>  rA  ra  rW  rp  ru  r  propertyr\  r  r  r0  rT  r1  r  r  setterr  r  r  r  r4  r   rg   rn   rj   r   r   J  s   MN((!!11!%%##8<5< /*9 4848  	
 &*  (  5 % 1 2 
@;
N N 
N,$$ 	$
 !$ 
$$ TU & 	I
$I
 	I

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

		  	 
		 C C   __a aH /L 59	.. %. 2	.
 
.0!F8rn   r   c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )_DefaultHttpxClienti  c                   > UR                  S[        5        UR                  S[        5        UR                  SS5        [        TU ]  " S0 UD6  g Nr   r  follow_redirectsTrg   
setdefaultrD   rJ   superrk   ri   r^  rt   s     rj   rk   _DefaultHttpxClient.__init__  E    )_5($=>,d3"6"rn   rg   r^  r   ry   rz   ru   r}   r~   r   rk   r   __classcell__rt   s   @rj   r  r        # #rn   r  c                      \ rS rSrSS jrSrg)SyncHttpxClientWrapperi  c                F     U R                  5         g ! [         a     g f = frf   )closer  rv   s    rj   __del__SyncHttpxClientWrapper.__del__  s"    	JJL 		s    
  rg   Nry   rz   ru   r}   r~   r   r  r   rg   rn   rj   r  r    s    rn   r  c            	        ^  \ rS rSr% S\S'   SrS\S'   \\SSSSSSS.                       S5U 4S jjjrS6S	 jr	S7S
 jr
S8S jr        S9S jr    S:S jr    S;S jr\ S<           S=S jj5       r\ S<SS.         S>S jjj5       r\ S<SSS.           S?S jjj5       r S<SSS.           S@S jjjr            SAS jr              SBS jrSS.             SCS jjr        SDS jr\0 SS.         SES jj5       r\0 S.           SFS jj5       r\0 SS .           SGS! jj5       r0 SSS".           SGS# jjr\S0 SSS$.             SHS% jj5       r\S0 SS&.               SIS' jj5       r\S0 SSS(.               SJS) jj5       rS0 SSSS*.               SJS+ jjrS0 S,.         SKS- jjrSS0 S..           SLS/ jjrS0 S,.         SKS0 jjrS0 S1S2.             SMS3 jjrS4rU =r$ )Nr   i
  zhttpx.Clientr   Nztype[Stream[Any]] | Noner   r   r   r  r	  r  http_clientr   r   c                 > 0 nUb)  [         R                  " S[        SS9  Ub  [        S5      eO[        nUb,  X\S'   [         R                  " S[        SS9  Ub  [        S5      eUb,  XlS'   [         R                  " S	[        SS9  Ub  [        S
5      e[        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U
U	US9
  U=(       d    [%        SU[!        ["        U5      USS.UD6U l        g )NhThe `connection_pool_limits` argument is deprecated. The `http_client` argument should be passed instead   category
stacklevelNThe `http_client` argument is mutually exclusive with `connection_pool_limits`r  [The `transport` argument is deprecated. The `http_client` argument should be passed insteadAThe `http_client` argument is mutually exclusive with `transport`r	  YThe `proxies` argument is deprecated. The `http_client` argument should be passed instead?The `http_client` argument is mutually exclusive with `proxies`zOInvalid `http_client` argument; Expected an instance of `httpx.Client` but got )
r  r  r   r	  r  r  r   r   r   r   Tr  r   r  r  rg   )warningswarnDeprecationWarningr   rJ   r7   r   HTTPX_DEFAULT_TIMEOUTrD   r   r   Clientr  rS  r  rk   r   r&   r  r   )ri   r  r  r   r   r  r	  r  r  r   r   r   r^  rt   s                rj   rk   SyncAPIClient.__init__  s    "$MMz+
 & !qrr ' /F "+;MMm+
 & !dee '9MMk+
 & !bcc   {226KK%--)":k5<<+P+Pabfgrbsatu  	'*#%)(C 	 	
 # 
&< '
'*!'
 '
rn   c                .    U R                   R                  $ rf   r   r  rv   s    rj   r  SyncAPIClient.is_closede      ||%%%rn   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  rv   s    rj   r  SyncAPIClient.closeh  s&     4##LL  $rn   c                    U $ rf   rg   rv   s    rj   	__enter__SyncAPIClient.__enter__r  s    rn   c                $    U R                  5         g rf   r  ri   exc_typeexcexc_tbs       rj   __exit__SyncAPIClient.__exit__u  s     	

rn   c                    U$ z#Hook for mutating the given optionsrg   ri   r   s     rj   _prepare_optionsSyncAPIClient._prepare_options}  s	    
 rn   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.
Nrg   rt  s     rj   _prepare_requestSyncAPIClient._prepare_request  s     rn   c                   g rf   rg   ri   rn  r   r  rs  
stream_clss         rj   r   SyncAPIClient.request       rn   Frs  c                   g rf   rg   )ri   rn  r   r  rs  s        rj   r   r         rn   rs  r  c                   g rf   rg   r  s         rj   r   r          #rn   c               p    Ub  UR                  U R                  5      U-
  nOSnU R                  UUUUUS9$ Nr   )rn  r   rs  r  r%  r  r   _request)ri   rn  r   r  rs  r  r%  s          rj   r   r    sP     (#33D4D4DEHYYMM}}!'  
 	
rn   c          
        [        U5      nU R                  X5      nU R                  U5      nUR                  U R                  5      U-
  nU R                  X#S9nU R                  U5        0 n	U R                  b  U R                  U	S'   [        R                  SUR                  UR                  5         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
R*                  U
R,                  U
R.                  5        [        R                  SU
R.                  R1                  S5      5         U
R3                  5         U RC                  UUU
UUUS9$ ! [        R                    aW  n[        R                  SSS9  US	:  a  U R#                  UUUUUS S
9s S nA$ [        R                  S5        [%        US9UeS nAf[&         aW  n[        R                  SSS9  US	:  a  U R#                  UUUUUS S
9s S nA$ [        R                  S5        [)        US9UeS nAff = f! [        R4                   a  n[        R                  SSS9  US	:  ag  U R7                  UR8                  5      (       aG  UR8                  R;                  5         U R#                  UUUUR8                  R.                  UUS9s S nA$ UR8                  R<                  (       d  UR8                  R?                  5         [        R                  S5        U RA                  UR8                  5      S eS nAff = f)Nr$  authzSending HTTP Request: %s %srs  r   "Encountered httpx.TimeoutExceptionTexc_infor   r%  rs  r  r  Raising timeout errorEncountered ExceptionRaising connection errorzHTTP Response: %s %s "%i %s" %szrequest_id: %szx-request-id!Encountered httpx.HTTPStatusErrorr%  r  rs  r  Re-raising status errorrn  r   r  rs  r  r%  )"r:   rp  r  r  r   ra  r  r  rT   rP  r2  rb   r   sendru  r   TimeoutException_retry_requestrP   r  rQ   r  reason_phraser.  r'  raise_for_statusHTTPStatusErrorr  r  r  r  readr  _process_response)ri   rn  r   r%  rs  r  input_optionsr  r   r^  r  r  s               rj   r"  SyncAPIClient._request  s-    #7+..w@''0#33D4D4DEU%%g%Kg& "'!--F6N		/M#	?||((S!B!B7!B!S HH 			-NNKK  ""	
 			"H$4$4$8$8$HI	P%%'. %%!' & 
 	
C %% 	<II:TIJ 1$**!"/!)%) +   II-.!'2; 	?II-I= 1$**!"/!)%) +   II01$W53>	?8 $$ 	PII9DII 1$););CLL)I)I""$**!"/%(\\%9%9!) +   <<))!!#II/077E4O)	Psb   65F 'I I-G1IG11I>-I+I1IIM,A;M'M-A&MMc               `   UR                  U R                  5      U-
  nUS:X  a  [        R                  S5        O[        R                  SU5        U R	                  XqU5      n[        R                  SUR                  U5        [        R                  " U5        U R                  UUUS-   UUS9$ Nr   z1 retry leftz%i retries leftz$Retrying request to %s in %f seconds)r   rn  r%  rs  r  )
r  r   rT   rP  r  r   rb   r  sleepr"  	ri   r   rn  r%  r  rs  r  r  r   s	            rj   r3  SyncAPIClient._retry_request0  s     $33D4D4DEU!IIn%II'):;//0AL\]7gN 	

7}}'!+!  
 	
rn   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      (       an  [        U[        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   rn  rs  r  r   r%  !API Response types must subclass ; Received type[BaseAPIResponse[Any]]r  )r   r.  r'  rH   r   r(   rS   r   rz  r{  r|  rA   r@   r  rC   r   Responser   parse
ri   rn  r   r  rs  r  r%  originresponse_clsapi_responses
             rj   r8  SyncAPIClient._process_responseO  sh    ##''(;<F! #!)#"/  G$/??6""z&/'J'Jfk22"CK=P[\b[c dee <gFL 1,?!)#"/  enn$	8,,"*G4!'
   ((,,-@ABB	<00!!##rn   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   ri   s    rj   r   0SyncAPIClient._request_api_list.<locals>._parser  s&    (( ) 
 Krn   Fr  )r   rU   ry   rU   )r   r   )ri   r   r   r   r   s   `` ` rj   r   SyncAPIClient._request_api_list  s,    	 	 &||D'%|88rn   r   rs  c                   g rf   rg   ri   pathrn  r   rs  s        rj   r'  SyncAPIClient.get  r  rn   r   c                   g rf   rg   ri   rT  rn  r   rs  r  s         rj   r'  rU    r  rn   r   r  c                   g rf   rg   rX  s         rj   r'  rU    r  rn   r   rs  r  c          
     p    [         R                  " SSUS.UD6n[        [        U R	                  X&XES95      $ Nr'  )r2  rb   r  rg   )r=   	constructr   r(   r   ri   rT  rn  r   rs  r  optss          rj   r'  rU    s:     #,,OEtOwO It||G&|`aarn   )r  r   rL  rs  c                   g rf   rg   )ri   rT  rn  r  r   rL  rs  s          rj   postSyncAPIClient.post  s     rn   )r  r   rL  c                   g rf   rg   ri   rT  rn  r  r   rL  rs  r  s           rj   rb  rc    s     rn   )r  r   rL  r  c                   g rf   rg   re  s           rj   rb  rc    s      #rn   )r  r   rL  rs  r  c          
         [         R                  " SSX[        U5      S.UD6n[        [        U R                  X(XgS95      $ Nrb  r2  rb   rQ  rL  r  rg   )r=   r^  r   r   r(   r   )	ri   rT  rn  r  r   rL  rs  r  r`  s	            rj   rb  rc    sI     #,, 
t>%;P
T[
 It||G&|`aarn   r  r   c               V    [         R                  " SSXS.UD6nU R                  X%5      $ Npatchr2  rb   rQ  rg   r=   r^  r   ri   rT  rn  r  r   r`  s         rj   rm  SyncAPIClient.patch  s.     #,,aGaY`a||G**rn   r  rL  r   c          	     j    [         R                  " SSX[        U5      S.UD6nU R                  X&5      $ Nputri  rg   )r=   r^  r   r   ri   rT  rn  r  rL  r   r`  s          rj   ru  SyncAPIClient.put  s>     #,, 
d.:O
SZ
 ||G**rn   c               V    [         R                  " SSXS.UD6nU R                  X%5      $ Ndeletern  rg   ro  rp  s         rj   rz  SyncAPIClient.delete  s.     #,,bH$bZab||G**rn   r'  r  r   r2  c               X    [         R                  " SXaUS.UD6nU R                  X#U5      $ Nrn  rg   r=   r^  r   ri   rT  r   r   r  r   r2  r`  s           rj   get_api_listSyncAPIClient.get_api_list&  3     #,,`FPT`X_`%%e488rn   )r   )r  r|   r  r  r   r   r   !float | Timeout | None | NotGivenr  zTransport | Noner	  r   r  Limits | Noner  zhttpx.Client | Noner   r  r   r  r   r   ry   rz   r   r  ri   rX   ry   rX   r  ztype[BaseException] | Noner  zBaseException | Noner  zTracebackType | Nonery   rz   r   r=   ry   r=   r   r  ry   rz   rf   )rn  Type[ResponseT]r   r=   r  Optional[int]rs  Literal[True]r  zType[_StreamT]ry   r[   )
rn  r  r   r=   r  r  rs  Literal[False]ry   r(   )rn  r  r   r=   r  r  rs  r   r  zType[_StreamT] | Nonery   ResponseT | _StreamT)rn  r  r   r=   r  r  rs  r   r  type[_StreamT] | Nonery   r  )rn  r  r   r=   r%  r   rs  r   r  r  ry   r  )r   r=   rn  r  r%  r   r  httpx.Headers | Noners  r   r  r  ry   r  rn  r  r   r=   r  r  rs  r   r  z1type[Stream[Any]] | type[AsyncStream[Any]] | Noner%  r   ry   r(   )r   Type[object]r   Type[SyncPageT]r   r=   ry   rU   
rT  r|   rn  r  r   r0   rs  r  ry   r(   )rT  r|   rn  r  r   r0   rs  r  r  type[_StreamT]ry   r[   )rT  r|   rn  r  r   r0   rs  r   r  r  ry   r  )rT  r|   rn  r  r  Body | Noner   r0   rL  RequestFiles | Noners  r  ry   r(   )rT  r|   rn  r  r  r  r   r0   rL  r  rs  r  r  r  ry   r[   )rT  r|   rn  r  r  r  r   r0   rL  r  rs  r   r  r  ry   r  
rT  r|   rn  r  r  r  r   r0   ry   r(   rT  r|   rn  r  r  r  rL  r  r   r0   ry   r(   )rT  r|   r   r  r   r  r  r  r   r0   r2  r|   ry   rU   )ru   r}   r~   r   r   r   rF   r!   rk   r  r  r  r	  r  r  r   r   r"  r3  r8  r   r'  rb  rm  ru  rz  r  r   r  r  s   @rj   r   r   
  s   4818 /5>&*'+ $+/3748U
 U
 	U

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

 i
 i
 *i
 
i
V
$
 !

 
 /
 
 *
 

N ;$ !;$ %	;$
 !;$ ;$ F;$ ;$ 
;$z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* !"$	+	+ !		+
 	+  	+ 
	+  !%)"$++ !	+
 + #+  + 
+& !"$	+	+ !		+
 	+  	+ 
	+" !"$99 	9
 9 9  9 9 
9 9rn   r   c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )_DefaultAsyncHttpxClienti4  c                   > UR                  S[        5        UR                  S[        5        UR                  SS5        [        TU ]  " S0 UD6  g r  r  r  s     rj   rk   !_DefaultAsyncHttpxClient.__init__5  r  rn   rg   r  r  r  s   @rj   r  r  4  r  rn   r  c                      \ rS rSrSS jrSrg)AsyncHttpxClientWrapperiH  c                     [         R                  " 5       R                  U R                  5       5        g ! [         a     g f = frf   )asyncioget_running_loopcreate_taskacloser  rv   s    rj   r  AsyncHttpxClientWrapper.__del__I  s6    	$$&224;;=A 		s   25 
AArg   Nr  r  rg   rn   rj   r  r  H  s    rn   r  c            	        ^  \ rS rSr% S\S'   SrS\S'   \\S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=S j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?S jjr            S@S 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&.             SGS' jj5       r\SS0 S(.               SHS) jj5       r\SS0 SS*.               SIS+ jj5       rSS0 SSS,.               SIS- jjrS0 S..         SJS/ jjrSS0 S(.           SKS0 jjrS0 S..         SJS1 jjrS0 S2S3.             SLS4 jjrS5rU =r$ )Mr   iQ  zhttpx.AsyncClientr   Nztype[AsyncStream[Any]] | Noner   r  c                 > 0 nUb)  [         R                  " S[        SS9  U	b  [        S5      eO[        nUb,  XlS'   [         R                  " S[        SS9  U	b  [        S5      eUb,  X|S'   [         R                  " S	[        SS9  U	b  [        S
5      e[        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[!        ["        U5      UUUUU
US9
  U	=(       d    [%        SU[!        ["        U5      USS.UD6U l        g )Nr  r  r  r  r  r  r  r	  r  r  zTInvalid `http_client` argument; Expected an instance of `httpx.AsyncClient` but got )
r  r  r  r   r	  r  r   r   r   r   Tr  rg   )r  r  r  r   rJ   r7   r   r  rD   r   r   AsyncClientr  rS  r  rk   r   r&   r  r   )ri   r  r  r   r   r   r  r	  r  r  r   r   r^  rt   s                rj   rk   AsyncAPIClient.__init__U  s    "$MMz+
 & !qrr ' /F "+;MMm+
 & !dee '9MMk+
 & !bcc   {226KK%--)":k5CTCT+U+Ufgklwgxfyz  	'*#%)(C 	 	
 # 
&= '
'*!'
 '
rn   c                .    U R                   R                  $ rf   r  rv   s    rj   r  AsyncAPIClient.is_closed  r  rn   c                T   #    U R                   R                  5       I Sh  vN   g N7f)r  N)r   r  rv   s    rj   r  AsyncAPIClient.close  s     
 ll!!###s   (&(c                   #    U $ 7frf   rg   rv   s    rj   
__aenter__AsyncAPIClient.__aenter__  s
        c                @   #    U R                  5       I S h  vN   g  N7frf   r  r  s       rj   	__aexit__AsyncAPIClient.__aexit__  s      jjls   c                   #    U$ 7fr  rg   r  s     rj   r  AsyncAPIClient._prepare_options  s     
 r  c                   #    g7fr  rg   rt  s     rj   r  AsyncAPIClient._prepare_request  s
         F)rs  r  c                  #    g 7frf   rg   )ri   rn  r   rs  r  s        rj   r   AsyncAPIClient.request  
      r  )r  c                  #    g 7frf   rg   ri   rn  r   rs  r  r  s         rj   r   r    
      r  )r  r  c                  #    g 7frf   rg   r  s         rj   r   r    
      %(r  )rs  r  r  c                  #    Ub  UR                  U R                  5      U-
  nOSnU R                  UUUUUS9I S h  vN $  N7fr   r!  )ri   rn  r   rs  r  r  r%  s          rj   r   r    s]      (#33D4D4DEHYYMM]]!' # 
 
 	
 
s   ;AAAc          
       #    U R                   c!  [        [        5      " 5       I S h  vN U l         [        U5      nU R	                  X5      nU R                  U5      I S h  vN nUR                  U R                  5      U-
  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                  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
R0                  U
R2                  5         U
R5                  5         U RG                  UUU
UUUS9I S h  vN $  GNO GN N Nz! [        R                   a`  n[         R#                  SSS9  US:  a"  U R%                  UUUUUS S	9I S h  vN  s S nA$ [         R#                  S
5        ['        US9UeS nAf[(         a`  n[         R#                  SSS9  US:  a"  U R%                  UUUUUS S	9I S h  vN  s S nA$ [         R#                  S5        [+        US9UeS nAff = f! [        R6                   Ga  n[         R#                  SSS9  US:  ay  U R9                  UR:                  5      (       aY  UR:                  R=                  5       I S h  vN    U R%                  UUUUR:                  R>                  UUS9I S h  vN  s S nA$ UR:                  R@                  (       d#  UR:                  RC                  5       I S h  vN    [         R#                  S5        U RE                  UR:                  5      S eS nAff = f GN7f)Nr$  r$  rs  r%  r&  Tr'  r   r)  r*  r+  r,  zHTTP Request: %s %s "%i %s"r-  r.  r/  r0  )$r  r6   get_platformr:   rp  r  r  r   ra  r  r  r   r1  ru  r   r2  rT   rP  r3  rP   r  rQ   r2  rb   r  r4  r5  r6  r  r  r  r.  r  areadr  r8  )ri   rn  r   rs  r  r%  r9  r  r   r^  r  r  s               rj   r"  AsyncAPIClient._request	  s_     >>! $,L#9#;;DN
 #7+..w@--g66#33D4D4DEU%%g%K##G,,, "'!--F6N#	?!\\..S!B!B7!B!S  HH 			)7>>7;;H\H\^f^t^t	
	P%%'. ++!' , 
 
 	
g < 7 	-
 %% 	<II:TIJ 1$!00!"/!)%) 1     II-.!'2; 	?II-I= 1$!00!"/!)%) 1     II01$W53>	?, $$ 	PII9DII 1$););CLL)I)Ill))+++!00!"/%(\\%9%9!) 1     <<))ll((***II/077E4O)	P,
s  %NE69N!E9"AN'E<("N8F  E>F  AN
I N1M>2N9N<N>F   I1G/GG/
ING//I<1I-H0.I2I3N8IINM;4AM6K0M6<K?=M6M;N8M6?M 6M66M;;Nc                 #    UR                  U R                  5      U-
  nUS:X  a  [        R                  S5        O[        R                  SU5        U R	                  XqU5      n[        R                  SUR                  U5        [        R                  " U5      I S h  vN   U R                  UUUS-   UUS9I S h  vN $  N" N7fr<  )
r  r   rT   rP  r  r   rb   anyior=  r"  r>  s	            rj   r3  AsyncAPIClient._retry_requestq  s      $33D4D4DEU!IIn%II'):;//0AL\]7gNkk'"""]]'!+! # 
 
 	
 	#
s$   BCC C=C>CC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      (       aj  [        U[        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  rA  rC  rD  rE  r(   r  )r   r.  r'  rH   r   r(   rS   r   rz  r{  r|  rA   rB   r  rC   r   rF  r   rG  rH  s
             rj   r8   AsyncAPIClient._process_response  st     ##''(;<F! #!)#"/  G$/??6""z&/'J'Jf&677"CDTCUU`ag`h ijj <gFL 1,?!)#"/  enn$	8,,'*G4!'
   ((,,-@ABB	<00!''))))s   E;F=F>Fc                    [        XX!S9$ )N)r   r   r   r   )r   )ri   r   r   r   s       rj   r    AsyncAPIClient._request_api_list  s     TTWWrn   rQ  c                  #    g 7frf   rg   rS  s        rj   r'  AsyncAPIClient.get  r  r  rV  c                  #    g 7frf   rg   rX  s         rj   r'  r    r  r  rY  c                  #    g 7frf   rg   rX  s         rj   r'  r    r  r  r[  c               p   #    [         R                  " SSUS.UD6nU R                  X&XES9I S h  vN $  N7fr]  ro  r_  s          rj   r'  r    s:      #,,OEtOwO\\'\VVVVs   -646)r  rL  r   rs  c                  #    g 7frf   rg   )ri   rT  rn  r  rL  r   rs  s          rj   rb  AsyncAPIClient.post  s
      r  rr  c                  #    g 7frf   rg   ri   rT  rn  r  rL  r   rs  r  s           rj   rb  r    s
      r  )r  rL  r   r  c                  #    g 7frf   rg   r  s           rj   rb  r    s
      %(r  )r  rL  r   rs  r  c          	        #    [         R                  " SSX[        U5      I S h  vN S.UD6nU R                  X(XgS9I S h  vN $  N! N7frh  r=   r^  r    r   )	ri   rT  rn  r  rL  r   rs  r  r`  s	            rj   rb  r  %  sV      #,, 
tAUV[A\;\
`g
 \\'\VVV <]Vs!   "A
AA
AA
A
rj  c               r   #    [         R                  " SSXS.UD6nU R                  X%5      I S h  vN $  N7frl  ro  rp  s         rj   rm  AsyncAPIClient.patch5  s7      #,,aGaY`a\\'0000   .757c          	        #    [         R                  " SSX[        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rt  r  rv  s          rj   ru  AsyncAPIClient.put@  sR      #,, 
d@TUZ@[:[
_f
 \\'000 ;\0s!   "AAAA	A	Ac               r   #    [         R                  " SSXS.UD6nU R                  X%5      I S h  vN $  N7fry  ro  rp  s         rj   rz  AsyncAPIClient.deleteN  s7      #,,bH$bZab\\'0000r  r'  r|  c               X    [         R                  " SXaUS.UD6nU R                  X#U5      $ r~  r  r  s           rj   r  AsyncAPIClient.get_api_listY  r  rn   )r   r  )r  r|   r  r  r   r   r   r   r   r  r  zAsyncTransport | Noner	  r   r  r  r  zhttpx.AsyncClient | Noner   r  r   r  ry   rz   r   r  r  r  r  r  )
rn  r  r   r=   rs  r  r  r  ry   r(   )rn  r  r   r=   rs  r  r  type[_AsyncStreamT]r  r  ry   r\   )rn  r  r   r=   rs  r   r  type[_AsyncStreamT] | Noner  r  ry   ResponseT | _AsyncStreamT)rn  r  r   r=   rs  r   r  r  r%  r   ry   r  )r   r=   rn  r  r%  r   r  r  rs  r   r  r  ry   r  r  )r   r   r   r   r   r=   ry   AsyncPaginator[_T, AsyncPageT]r  )rT  r|   rn  r  r   r0   rs  r  r  r  ry   r\   )rT  r|   rn  r  r   r0   rs  r   r  r  ry   r  )rT  r|   rn  r  r  r  rL  r  r   r0   rs  r  ry   r(   )rT  r|   rn  r  r  r  rL  r  r   r0   rs  r  r  r  ry   r\   )rT  r|   rn  r  r  r  rL  r  r   r0   rs  r   r  r  ry   r  r  r  )rT  r|   r   r   r   r   r  r  r   r0   r2  r|   ry   r  )ru   r}   r~   r   r   r   rF   r!   rk   r  r  r  r  r  r  r   r   r"  r3  r8  r   r'  rb  rm  ru  rz  r  r   r  r  s   @rj   r   r   Q  s   9=6= /5>+/'+ $043748U
 U
 	U

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

 
 /
 )
 
#
,f
 f
 %f

 f
 /f
 f
 
#f
P
$
 !

 
 /
 
 /
 
#
J ;* !;* %	;*
 !;* ;* F;* ;* 
;*z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* !"$	1	1 !		1
 	1  	1 
	1  !%)"$11 !	1
 1 #1  1 
1& !"$	1	1 !		1
 	1  	1 
	1" !"$99 	9
 9 9  9 9 
(9 9rn   r   )queryextra_headersextra_query
extra_bodyr3  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.  rR  rd   r   r3  r   )r   r*   r'  r   r'   r7   )r  r  r  r  r3  r   r   r   s           rj   make_request_optionsr  g  s     !G *	 $Z <!Hw{{8R8HKHgx(($	"%4!"!,Nrn   c                      \ rS rSrSS jrSrg)rX  i  c                    g)NTrg   rv   s    rj   __bool__ForceMultipartDict.__bool__  s    rn   rg   Nr   )ru   r}   r~   r   r  r   rg   rn   rj   rX  rX    s    rn   rX  c                  2    \ rS rSrSS jr\SS j5       rSrg)OtherPlatformi  c                    Xl         g rf   nameri   r  s     rj   rk   OtherPlatform.__init__      	rn   c                     SU R                    3$ )NzOther:r  rv   s    rj   __str__OtherPlatform.__str__      		{##rn   r  Nr  r|   ry   rz   r{   ru   r}   r~   r   rk   r   r  r   rg   rn   rj   r  r         $ $rn   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  darwinr   windowsr  androidr  linuxfreebsdr  openbsdr  r  )r  systemr)  r  distroidr  )r  platform_name	distro_ids      rj   r  r    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     rj   r  r    s;     %'.h8,.9 0 2313'9'; rn   c                  2    \ rS rSrSS jr\SS j5       rSrg)	OtherArchi  c                    Xl         g rf   r  r  s     rj   rk   OtherArch.__init__  r  rn   c                     SU R                    3$ )Nzother:r  rv   s    rj   r  OtherArch.__str__  r  rn   r  Nr  r{   r  rg   rn   rj   r  r    r  rn   r  )x32x64armarm64unknownc                 N     [         R                  " 5       $ ! [         a     gf = fNr&  )r  python_implementationr  rg   rn   rj   r  r    s(    --//     
$$c                 N     [         R                  " 5       $ ! [         a     gf = fr(  )r  python_versionr  rg   rn   rj   r  r    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%  r$  x86_64r#  l        r"  )r  machiner)  r  sysr  r  )r0  s    rj   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mergedri  rj  s        rj   r/  r/    sA     F)/W:3z%QU?VJCJWWWs
   AA)r  Query | Noner  zHeaders | Noner  r6  r  r  r3  r   r   z'float | httpx.Timeout | None | NotGivenr   zPostParser | NotGivenry   r0   )ry   Platform)r  r|   r  zPlatform | Nonery   r  r{   )ry   Arch)r3  Mapping[_T_co, Union[_T, Omit]]r4  r9  ry   zDict[_T_co, _T])
__future__r   r1  r  r  r  r  r  rz  rN  r  r  email.utilstypesr   r   typingr   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   _qsr   _filesr   r    _typesr!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   _utilsr3   r4   r5   r6   r7   r8   r9   _compatr:   r;   _modelsr<   r=   r>   r?   	_responser@   rA   rB   rC   
_constantsrD   rE   rF   rG   rH   rI   rJ   
_streamingrK   rL   rM   rN   rO   rP   rQ   rR   _legacy_responserS   	getLoggerru   rT   r   	addFilterrU   rW   rX   rY   r[   r\   httpx._configr]   r  ImportErrorr_   r   r   r   r   r  r  r   r   r   r  DefaultHttpxClientr  r   r  DefaultAsyncHttpxClientr  r   r  r|   rX  r  r7  r  r  r  r8  r  r  r  r/  rg   rn   rj   <module>rP     s   " 
                " < ;          8    ( h g g + U U    I H  0''1^ 1 $& ' K':;	\)=>
 T]4(:VC[1{3/?@M-Q$B $BN-6|WR[ -6`+a8B< +a\$WR^, $N#gHRL'"+ #gL uU\\5CTCT5T/UV+5kRUFV9V3WXa878 a8H#%,, #  -/ g9Ju||VC[89 g9T#u00 # #// 75 S9Z 1 1;s3C CD S9p $( $""&7@)2"" "" 	"
 "  " 5" '" "Jc4i 
$ $ 		
'T 4 $ $ Y GHHI4	X
)	X
)	X 	XI=  - '-s   M M.-M.