
    OjA             
         U d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlZd dlZd dlZd dlmZ d dlmZ d dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z  d dl!m"Z"m#Z#m$Z$m%Z% d dl&Z&d dl'Z'd dl(Z(d dl'm)Z) d dl(m*Z* d	d
l+m,Z, d	dl-m.Z. d	dl/m0Z0m1Z1 d	dl2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZC d	dlDmEZEmFZFmGZGmHZHmIZImJZJmKZK d	dlLmMZMmNZN d	dlOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z] d	dl^m_Z_m`Z`maZambZbmcZc d	dldmeZemfZfmgZgmhZh d	dlimjZjmkZkmlZlmmZmmnZnmoZompZpmqZq d	dlrmsZsmtZtmuZumvZv d	dl,mwZwmxZxmyZymzZzm{Z{ d	dl|m}Z} d	dl~mZ d	dlmZ  e
j                  e      Zded<   ej                   eE               G d d      Zd^dZ edd       Z ed!d"       Z ed#      Z ed$d%&      Z ed'ese          Z ed(eue          Zer	d d)lmZ eZn	 d d)lmZ  G d+ d,      Z G d- d.e_ee         Z G d/ d0ee   ee         Z G d1 d2eeef         Z G d3 d4ee   ee         Z ed5ee'j0                  e'j2                  f          Z ed6eese   eue   f          Z G d7 d8eeef         Z G d9 d:e'j0                        Zere'j0                  ZneZ G d; d<e      Z G d= d>ee'j0                  ese   f         Z G d? d@e'j2                        ZdAedB<   	 d	dClmZ  G dD dEe      ZeZere'j2                  Z	 e'j2                  ZneZeZ G dH dIe      Z G dJ dKee'j2                  eue   f         ZdddddeCeCdddL		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d_dMZ G dN dOeedf         Z G dP dQ      Zeee#dR   f   Zd`dSZ eJdT      dadU       Z G dV dW      Zeee#dX   f   ZdbdYZdbdZZdcd[Z	 	 	 	 	 	 ddd\Zded]Zy# e$ r  e7d*      ZY w xY w# e$ r  G dF dGe'j2                        ZeZY w xY w)f    )annotationsN)TracebackType)random)TYPE_CHECKINGAnyDictTypeUnionGenericMappingTypeVarIterableIteratorOptional	GeneratorAsyncIteratorcastoverload)UnpackLiteraloverride
get_origin)URL)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)SensitiveHeadersFilteris_dictis_listasyncifyis_given	lru_cache
is_mapping)PYDANTIC_V1
model_copy)status_exceptionsrequest_exceptionstimeout_exceptionshttp_response_typesnormalize_httpx_urlis_httpx2_sync_clientnormalize_httpx2_authis_httpx2_async_clientnormalize_httpx_timeoutnormalize_httpx2_timeoutis_legacy_httpx_sync_clientnormalize_legacy_httpx_authis_legacy_httpx_async_clientnormalize_legacy_httpx_timeout)GenericModelSecurityOptions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MAX_RETRY_AFTER_DELAYOVERRIDE_CAST_TO_HEADERDEFAULT_CONNECTION_LIMITS)Stream
SSEDecoderAsyncStreamSSEBytesDecoder)OpenAIErrorAPIStatusErrorAPITimeoutErrorAPIConnectionErrorAPIResponseValidationError)openapi_dumps)get_http_method_for_logging)LegacyAPIResponsezlogging.Loggerlogc                  $    e Zd ZddZddZddZy)_RequestBodyReplayc                     g  _         t         fd|j                  gt        |j                        D               _        y )Nc              3  @   K   | ]  }j                  |        y wN)_capture).0contentselfs     j/var/www/origus_pro_usr/data/www/origus.pro/core/.venv/lib/python3.12/site-packages/openai/_base_client.py	<genexpr>z._RequestBodyReplay.__init__.<locals>.<genexpr>v   s      
'.DMM'"
s   )
_positionsallrn   _iter_file_contentsfiles_replayablero   optionss   ` rp   __init__z_RequestBodyReplay.__init__t   s=    46 
3:??2hEXY`YfYfEg2h
 
    c                   |t        |t        t        f      ryt        t	        |dd             st        |      t        t        fv S t	        |dd       }t	        |dd       }t	        |dd       }t        |      rt        |      rt        |      sy	  |       sy |       }t        |t              sy| j                  j                  ||f       y# t        t        f$ r Y yw xY w)NTreadseekabletellseekF)
isinstancebytes	bytearraycallablegetattrtypelisttupleOSError
ValueErrorintrr   append)ro   rn   r}   r~   r   positions         rp   rl   z_RequestBodyReplay._capturez   s    ?j5)2DE67 =T5M117J5w-w-!$x~	:vH (C(23 $ 		s   C C C! C!c                    | j                   sy| j                  D ](  \  }}t        |dd       }t        |      s y	  ||       * y# t        t
        f$ r Y  yw xY w)NFr   T)rv   rr   r   r   r   r   )ro   rn   r   r   s       rp   rewindz_RequestBodyReplay.rewind   sh    !% 	GX7FD1DD>X	  Z( s   AAAN)rx   rK   returnNone)rn   objectr   boolr   r   )__name__
__module____qualname__ry   rl   r    rz   rp   rh   rh   s   s    
2rz   rh   c              #     K   | y t        | t              r| j                         n| }|D ]/  \  }}t        |t              rt	        |      dkD  r|d    ,| 1 y w)Nr   )r   r   itemsr   len)ru   entries_files       rp   rt   rt      sY     })%9ekkmuG 4dE"s4y1}q'MJ	s   AA	SyncPageTzBaseSyncPage[Any])bound
AsyncPageTzBaseAsyncPage[Any]_T_T_coT)	covariant_StreamT_AsyncStreamT)DEFAULT_TIMEOUT_CONFIGg      @c                      e Zd ZU dZded<   ded<   ded<   e	 	 	 	 dd       Ze	 	 	 	 dd	       Ze	 	 	 	 dd
       Zeeed	 	 	 	 	 	 	 ddZedd       Z	y)PageInfozStores 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                    y rk   r   ro   r   s     rp   ry   zPageInfo.__init__       
 rz   c                    y rk   r   )ro   r   s     rp   ry   zPageInfo.__init__   r   rz   c                    y rk   r   )ro   r   s     rp   ry   zPageInfo.__init__   r   rz   r   r   r   c               .    || _         || _        || _        y rk   r   )ro   r   r   r   s       rp   ry   zPageInfo.__init__   s     	rz   c                   | j                   r&| j                  j                   d| j                    dS | j                  r&| j                  j                   d| j                   dS | j                  j                   d| j                   dS )Nz(url=)z(json=z(params=)r   	__class__r   r   r   ro   s    rp   __repr__zPageInfo.__repr__   sv    88nn--.eDHH:Q??99nn--.fTYYKqAA..))*(4;;-qAArz   N)r   r   r   r   )r   r#   r   r   )r   r!   r   r   )r   r   r   r   r   r   r   r   r   str)
r   r   r   __doc____annotations__r   ry   r1   r   r   r   rz   rp   r   r      s    
 

  
	    
	    
	  ( )#,	 	 		
 !	 
	 B Brz   r   c                  j    e Zd ZU dZ e       Zded<    e       Zded<   ddZddZ	ddZ
dd	Zdd
Zy)BasePagea<  
    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
    rK   _optionsType[_T]_modelc                L    | j                         }|sy| j                         d uS )NF)_get_page_itemsnext_page_info)ro   r   s     rp   has_next_pagezBasePage.has_next_page	  s*    $$&""$D00rz   c                     y rk   r   r   s    rp   r   zBasePage.next_page_info  s    rz   c                     y rk   r   r   s    rp   r   zBasePage._get_page_items  s    rz   c                    t        j                  t        t        | j                  j
                              j                  |j
                        S rk   )httpx2QueryParamsr   r   r   r   merger   s     rp   _params_from_urlzBasePage._params_from_url  s3    !!$sDMM,@,@"ABHHTTrz   c                
   t        | j                        }|j                          t        |j                  t
              s!i |j                  |j                  |_        |S t        |j                  t
              sc| j                  |j                        }|j                  j                  |      }t        |j                        |_        t        |      |_        |S t        |j                  t
              st        |j                        st        d      |j                  si |j                  |_        |S t        |j                        st        d      i |j                  |j                  |_        |S t        d      )N)r   z*Pagination is only supported with mappingszUnexpected PageInfo state)r:   r   _strip_raw_response_headerr   r   r&   r   r   	copy_withdictr   r   r8   	TypeError	json_datar   )ro   inforx   r   r   s        rp   _info_to_optionszBasePage._info_to_options  s0   T]]+**,$++x0>>$++>GNN$((H-**4884F(($$F$3C!#**-GNc(GKN$))X.dii( LMM$$$1tyyM! N	 "'"3"34#$PQQ$Fw'8'8$FDII$F!N455rz   Nr   )r   zOptional[PageInfo])r   zIterable[_T])r   r   r   zhttpx2.QueryParams)r   r   r   rK   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   rz   rp   r   r      s<    	 %0MH!1"}FH$1 8U6rz   r   c                  j    e Zd ZU  ej                         Zded<   	 	 	 	 	 	 	 	 ddZd	dZd
dZ	ddZ
y)BaseSyncPageSyncAPIClient_clientc                b    t         st        | dd       i | _        || _        || _        || _        y N__pydantic_private__r9   r   r   r   r   r   )ro   clientmodelrx   s       rp   _set_private_attributesz$BaseSyncPage._set_private_attributes:  3     /Et!L!T(*D%rz   c              #  h   K   | j                         D ]  }|j                         D ]  }|   y wrk   
iter_pagesr   ro   pageitems      rp   __iter__zBaseSyncPage.__iter__O  s9     OO% 	D,,. 
	s   02c              #  ^   K   | }	 | |j                         r|j                         }ny 'wrk   r   get_next_pagero   r   s     rp   r   zBaseSyncPage.iter_pagesT  s5     J!!#))+ s   +-c                    | j                         }|st        d      | j                  |      }| j                  j	                  | j
                  | j                  |      S NzYNo next page expected; please check `.has_next_page()` before calling `.get_next_page()`.)r   rx   r   RuntimeErrorr   r   _request_api_listr   r   ro   r   rx   s      rp   r   zBaseSyncPage.get_next_page]  sZ    ""$k  ''-||--dkkX_-``rz   N)r   r   r   r   rx   rK   r   r   )r   zIterator[_T])ro   r   r   zIterator[SyncPageT])ro   r   r   r   )r   r   r   pydanticr   r   r   r   r   r   r   r   rz   rp   r   r   7  sR    1X113G]3     %	 
 
 *
arz   r   c                  @    e Zd Z	 	 	 	 	 	 	 	 	 	 ddZddZddZd	dZy)
AsyncPaginatorc                <    || _         || _        || _        || _        y rk   )r   r   r   	_page_cls)ro   r   rx   page_clsr   s        rp   ry   zAsyncPaginator.__init__i  s      !rz   c                >    | j                         j                         S rk   )	_get_page	__await__r   s    rp   r   zAsyncPaginator.__await__u  s    ~~))++rz   c                    K   d fd}| j                   _         j                  j                   j                   j                          d {   S 7 w)Nc                l    | j                  j                  j                  j                         | S )N)r   rx   r   )r   r   r   r   )respro   s    rp   _parserz)AsyncPaginator._get_page.<locals>._parsery  s2    ((kk|| ) 
 Krz   )r   r   r   r   )r   post_parserr   requestr   )ro   r   s   ` rp   r   zAsyncPaginator._get_pagex  s?     	 %,!\\))$..$--HHHHs   AAAAc               h   K   t        t        |  d {         }|2 3 d {   }| 7 7 6 y wrk   )r   r   r   s      rp   	__aiter__zAsyncPaginator.__aiter__  s<     J
  	 	$J 	$s$   2,

20.0202N)
r   AsyncAPIClientrx   rK   r   Type[AsyncPageT]r   r   r   r   )r   z Generator[Any, None, AsyncPageT])r   r   r   zAsyncIterator[_T])r   r   r   ry   r   r   r  r   rz   rp   r   r   h  sG    
"
" %
" #	
"
 
" 

",Irz   r   c                  j    e Zd ZU  ej                         Zded<   	 	 	 	 	 	 	 	 ddZd	dZd
dZ	ddZ
y)BaseAsyncPager  r   c                b    t         st        | dd       i | _        || _        || _        || _        y r   r   )ro   r   r   rx   s       rp   r   z%BaseAsyncPage._set_private_attributes  r   rz   c               z   K   | j                         2 3 d {   }|j                         D ]  }| 	 $7 6 y wrk   r   r   s      rp   r  zBaseAsyncPage.__aiter__  sB     //+ 	 	$,,. 
	+s   ;979;9;c               t   K   | }	 | |j                         r|j                          d {   }ny 07 wrk   r   r   s     rp   r   zBaseAsyncPage.iter_pages  s=     J!!#!//11  2s   ,868c                   K   | j                         }|st        d      | j                  |      }| j                  j	                  | j
                  | j                  |       d {   S 7 wr   r   r   s      rp   r   zBaseAsyncPage.get_next_page  sd     ""$k  ''-\\33DKKdnn^e3ffffs   A$A-&A+'A-N)r   r   r   r  rx   rK   r   r   r  )ro   r   r   zAsyncIterator[AsyncPageT])ro   r   r   r   )r   r   r   r   r   r   r   r   r  r   r   r   rz   rp   r	  r	    sR    2h224G^4     %	 
 
 
grz   r	  _HttpxClientT_DefaultStreamTc                  `   e Zd ZU ded<   ded<   ded<   ded<   d	ed
<   ded<   ded<   dZded<   eeddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d3dZd4dZ	 	 	 	 d5dZ		 	 	 	 	 	 	 	 d6dZ
	 	 	 	 d7dZ	 	 	 	 d7dZ	 	 	 	 d8dZddd9dZd:dZd;dZdd	 	 	 	 	 d<dZd=d Zd>d!Zd?d"Z	 	 	 	 	 	 	 	 d@d#ZedAd$       ZedBd%       ZedCd&       ZedDd'       ZedEd(       Z	 	 	 	 	 	 dFd)ZedGd*       ZedHd+       Zej>                  dId,       ZdJd-Z dKdLd.Z!e"dMd/       Z#	 dK	 	 	 	 	 	 	 dNd0Z$dOd1Z%dGd2Z&y)P
BaseClientr  r   r   _versionr   	_base_urlr   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                   || _         | j                  t        |            | _        || _        || _        |xs i | _        |xs i | _        || _        d | _	        d | _
        | j                  |       y rk   )r  _enforce_trailing_slashr?   r  r  r  _custom_headers_custom_queryr  r  	_platform_validate_max_retries)ro   versionbase_urlr  r  r  r  r  s           rp   ry   zBaseClient.__init__  sq      556I(6ST&-3)/R+F(#' *."";/rz   c                z    |j                   j                  d      r|S |j                  |j                   dz         S )N   /raw_path)r'  endswithr   r   s     rp   r  z"BaseClient._enforce_trailing_slash  s3    <<  &J}}cllT&9}::rz   c                J   |j                   r|j                  sd }d|j                   }nD|j                  j	                         }|}	 t        j                  |      }d|j                   d| }| j                  |||      S # t        $ r |xs d|j                   }Y 2w xY w)NzError code: z - )bodyresponse)		is_closedis_stream_consumedstatus_codetextstripr   loads	Exception_make_status_error)ro   r+  r*  err_msgerr_texts        rp    _make_status_error_from_responsez+BaseClient._make_status_error_from_response  s     h&A&A D$X%9%9$:;G}}**,HDLzz(+()=)=(>c$H &&wTH&MM  L"KX5I5I4J&KLs   'B B"!B"c                   t               rk   )NotImplementedError)ro   r4  r*  r+  s       rp   r3  zBaseClient._make_status_error  s     "##rz   c                    i S rk   r   ro   securitys     rp   _auth_headerszBaseClient._auth_headers  	     	rz   c                    i S rk   r   r:  s     rp   _auth_queryzBaseClient._auth_query  r=  rz   c                     y rk   r   r:  s     rp   _custom_authzBaseClient._custom_auth  s     rz   r   retries_takenc               l   |j                   xs i }t        | j                  |j                        | j                  |      }| j                  ||       t        j                  |      }| j                  }|r|j                  r||vr|j                  ||<   |D cg c]  }|j                          }}d|vrt        |      |d<   d|vrgt        t        |j                  t              r| j                  n|j                        }	t        |	t               r|	j"                  }	|	t        |	      |d<   |S c c}w )Nzx-stainless-retry-countzx-stainless-read-timeout)headers_merge_headersr<  r;  default_headers_validate_headersr   r$   r  idempotency_keylowerr   rC   r   r  r&   r%   r|   )
ro   rx   rC  r  headers_dictrE  idempotency_headerheaderlower_custom_headersr  s
             rp   _build_headerszBaseClient._build_headers  s    .B%d&8&89I9I&JDL`L`bpq|^< ...!55'"9"9>PX_>_*1*A*AG&' >LL6LL$,@@14]1CG-.%-AA- *7??H E7??G '7+!,,"69'l23  Ms   D1c                    t        |      }|j                  rN| j                  j                  |j                  j	                  d      z   }| j                  j                  |      S |S )z
        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   )ro   r   	merge_urlmerge_raw_paths       rp   _prepare_urlzBaseClient._prepare_url/  sZ     H	$$!]]33i6H6H6O6OPT6UUN==**N*CCrz   c                    t               S rk   )r[   r   s    rp   _make_sse_decoderzBaseClient._make_sse_decoder<  s
    |rz   c                  t         j                  dt        |j                        |       i }|j                  }|j
                  W|t        t        |j
                        }n:t        |      rt        ||j
                        }nt        dt        |       d      | j                  ||      }t        i | j                  |j                        | j                  |j                         }|j#                  d      }|j$                  }|y|j'                  d      rhd|vr|j)                  d       |r7t+        |      st-        dt        |       d	      | j/                  |      |d
<   |st        t0        t3                     }| j5                  |j6                        }	|rb|	j8                  rVi t;        |	j                   j=                               |}|	j?                  |	j@                  jC                  dd      d         }	|j                  jE                         dk7  }
|
r|jF                  |t-        d      |jF                  |t-        d      |jF                  |jF                  |d<   n5tI        |tJ              r||d<   n|stM        |      r|tO        |      nd |d<   ||d<   n$|j)                  dd        |j)                  d
d        tI        |jP                  tR              r| jP                  n|jP                  }tU        |	      }tW        |jY                               }t[        | j\                        st_        | j\                        rta        |      }ntc        |      } | j\                  jd                  d|||j                  ||r6| jf                  ji                  t        tj        tT        tl        f   |            nd d|S )Nz1Building HTTP request: method=%s retries_taken=%izUnexpected JSON data type, z , cannot merge with `extra_body`rB  Content-Typezmultipart/form-databoundaryzGExpected query input to be a dictionary for multipart requests but got z	 instead.data   ?r   r   r&  getz7Passing both `content` and `json_data` is not supportedz3Passing both `content` and `files` is not supportedrn   ru   )rE  r  methodr   r   r   )7rf   debugrd   r^  r   
extra_jsonr   r!   r8   _merge_mappingsr   r   rO  r?  r;  default_queryr   r]  ru   
startswithpopr3   r   _serialize_multipartformr/   ForceMultipartDictrU  r   queryr   r   r   r'  splitrJ  rn   r   r   r6   rc   r  r&   r   r   multi_itemsrE   r   rG   rH   rD   build_requestqs	stringifyr   r   )ro   rx   rC  kwargsr   rE  r   content_typeru   prepared_urlis_body_allowedr  request_urlrequest_headerss                 rp   _build_requestzBaseClient._build_request?  sy    			?'7	

 "$%%	)  w'9'9:	I&+Iw7I7IJ	"%@i@QQq#rss%%g]%K !]D$4$4W5E5E$F!]$J\J\!]_f_m_mn{{>2 #(?(?@U(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!....0E9*y/D YZZ*u/@ UVV*$+OOy!Iu-$-y! AI@SXaXmM)$<swy!#F7OKK-JJvt$",W__h"G$,,W__,'w2245&t||48TUYUaUa8b4W=G.w7G *t||)) 
#>>
 JP477$$T'#s(*;V%DEUY
 
 	
rz   c                    | j                   j                  |d      }i }|D ]B  \  }}|j                  |      }|s|||<   t        |      r|j	                  |       <||g||<   D |S )Nbrackets)array_format)rk  stringify_itemsr]  r4   r   )ro   r[  r   
serializedkeyvalueexistings          rp   re  z#BaseClient._serialize_multipartform  s    '' #	 ( 
 )+
 	4JC!~~c*H"'
3 x &#+U"3
3%	4( rz   c                    t        |j                        s|S t        |j                        }|j                  t        t
              }t        |      r||_        t        t        t           |      S |S rk   )	r6   rE  r   rd  rX   r1   r   r	   r'   )ro   cast_torx   rE  override_cast_tos        rp   _maybe_override_cast_toz"BaseClient._maybe_override_cast_to  s^    (N w'
 #;;'>	J$%%GOY)9::rz   c                F    |j                   j                  t              dk(  S Nstream)rE  r]  rV   ro   r  s     rp   _should_stream_response_bodyz'BaseClient._should_stream_response_body  s    ""#678CCrz   c                  |t        t        d       S |t        u rt        t        |      S 	 t        j                  |      r1t        |t              r!t        t        |j                  ||            S | j                  rt        t        t        ||            S t        t        t        ||            S # t        j                  $ r}t        ||      |d }~ww xY w)N)r+  r[  )type_rz  )r+  r*  )r   r'   r   inspectisclass
issubclassr0   buildr  rL   rM   r   ValidationErrorrb   )ro   r[  r}  r+  errs        rp   _process_response_dataz!BaseClient._process_response_data  s     <	4((f	4((		Tw'Jw@T,UIw}}hT}'RSS//I}7$'OPP	>t#LMM'' 	T,hTJPSS	Ts$   AB4 2&B4 B4 4CCCc                    t               S rk   r   r   s    rp   rk  zBaseClient.qs  s
    }rz   c                     y rk   r   r   s    rp   custom_authzBaseClient.custom_auth  s    rz   c                    i S rk   r   r   s    rp   auth_headerszBaseClient.auth_headers  s    	rz   c                Z    dd| j                   d| j                         | j                  S )Nzapplication/json)AcceptrY  z
User-Agent)
user_agentplatform_headersr  r   s    rp   rG  zBaseClient.default_headers  s>     ).//
 ##%	

 ""
 	
rz   c                    i | j                   S rk   )r  r   s    rp   rb  zBaseClient.default_query  s    
  
 	
rz   c                     y)zaValidate the given default headers and custom headers.

        Does nothing by default.
        Nr   )ro   rE  r  s      rp   rH  zBaseClient._validate_headers  s     	rz   c                L    | j                   j                   d| j                   S )Nz/Python )r   r   r  r   s    rp   r  zBaseClient.user_agent  s"    ..))*(4==/BBrz   c                    | j                   S rk   )r  r   s    rp   r#  zBaseClient.base_url  s    ~~rz   c                B    | j                  t        |            | _        y rk   )r  r?   r  r   s     rp   r#  zBaseClient.base_url!  s    556I#6NOrz   c                D    t        | j                  | j                        S )N)platform)r  r  r   r   s    rp   r  zBaseClient.platform_headers%  s      GGrz   c                &   |ydD ]i  \  }}|j                  |      }|	 t        |      }|t        j                  k(  r+|j                         j                         dvrt        dz   c S ||z  c S  |j                  d      }	 t        j                  j                  |      }|yt        j                  j                  |      }t        |t        j                         z
        S # t        $ r Y w xY w# t        t        t        t        f$ r Y yw xY w)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
        N))zretry-after-ms  )retry-afterr   )infz+infinfinityz	+infinityr   r  )r]  floatr   mathr  r0  rJ  rW   emailutilsparsedate_tz	mktime_tzr   OverflowErrorr   time)	ro   response_headersrM  divisorrz  delayretry_headerretry_date_tuple
retry_dates	            rp   _parse_retry_after_headerz$BaseClient._parse_retry_after_header+  s    #  N 	#OFG$((0E}e  U[[]%8%8%:Bj%j -q007?"	#  (++M:	${{77E'../?@J Z$))+-..)  " :}g> 		s)   C%!C4 &C4 %	C10C14DDc                t    | t        d      t        | t              st        d      | dk  rt        d      y )Nzbmax_retries cannot be None. Use 0 to disable retries or a large integer for a larger retry budget.z*max_retries must be a non-negative integerr   )r   r   r   r   )rz  s    rp   r!  z BaseClient._validate_max_retriesQ  sG    =t  %%HII19IJJ rz   c                H   |j                  | j                        }| j                  |      }|'t        j                  |      rd|cxk  r
t
        k  r|S  t        ||z
  d      }t        t        t        d|      z  t              }ddt               z  z
  }||z  }	|	dk\  r|	S dS )Nr   r  g       @r   g      ?)get_max_retriesr  r  r  isfiniterW   minrU   powrS   r   )
ro   remaining_retriesrx   r  r  retry_after
nb_retriessleep_secondsjitterr  s
             rp   _calculate_retry_timeoutz#BaseClient._calculate_retry_timeout\  s     --d.>.>? 445EF"t}}['Aa+FnYnFn Go '88$?
 /#c:2FFX TFH_$&(!Q,w-A-rz   c                   | j                  |j                        }|:t        j                  |      r%|t        kD  rt
        j                  d|t               y|j                  j                  d      }|dk(  rt
        j                  d       y|dk(  rt
        j                  d       y|j                  d	k(  r!t
        j                  d
|j                         y|j                  dk(  r!t
        j                  d
|j                         y|j                  dk(  r!t
        j                  d
|j                         y|j                  dk\  r!t
        j                  d
|j                         yt
        j                  d       y)NzRNot retrying because `Retry-After` of %s seconds exceeds the maximum of %s secondsFz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`i  zRetrying due to status code %ii  i  i  zNot retrying)	r  rE  r  r  rW   rf   r_  r]  r.  )ro   r+  r  should_retry_headers       rp   _should_retryzBaseClient._should_retryt  sF   44X5E5EF"t}}['AkTiFiIId%
  '..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		.!rz   c                0    dt        j                          S )Nzstainless-python-retry-)uuiduuid4r   s    rp   _idempotency_keyzBaseClient._idempotency_key  s    (77rz   )r"  r   r#  	str | URLr  r   r  r   r  zfloat | Timeout | Noner  Mapping[str, str] | Noner  Mapping[str, object] | Noner   r   )r   r   r   r   )r+  httpx2.Responser   r_   )r4  r   r*  r   r+  r  r   z_exceptions.APIStatusError)r;  rJ   r   dict[str, str])r;  rJ   r   httpx2.Auth | None)rx   rK   rC  r   r   zhttpx2.Headers)r   r   r   r   )r   zSSEDecoder | SSEBytesDecoder)rx   rK   rC  r   r   httpx2.Request)r[  zMapping[object, object]r   dict[str, object])r}  type[ResponseT]rx   rK   r   r  )r  r  r   r   )r[  r   r}  r  r+  r  r   r'   )r   r   )r   r  )r   r  )r   zdict[str, str | Omit])r   r  )rE  r$   r  r$   r   r   r   )r   r   )r   z	URL | strr   r   )r   Dict[str, str]rk   )r  Optional[httpx2.Headers]r   zfloat | None)rz  r   r   r   )r  r   rx   rK   r  r  r   r  )r+  r  r   r   )'r   r   r   r   r  rT   rR   ry   r  r6  r3  r<  r?  rA  rO  rU  rW  rs  re  r  r  r  propertyrk  r  r  rG  rb  rH  r  r#  setterr  r  staticmethodr!  r  r  r  r   rz   rp   r  r    s   MN((!%%##8<5< /*937480 0 	0
 &*0 0 (0 10 20 
0.;
N!N 
N,$$ 	$
 "$ 
$$! 
! 
! 
 TU 8 	g
$g
 	g

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

		  	 
		 C C   __P PH$/L K K 6:	.. %. 3	.
 
.0*X8rz   r  c                        e Zd Zd fdZ xZS )_DefaultHttpxClientc                    |j                  dt               |j                  dt               |j                  dd       t        |   di | y Nr  limitsfollow_redirectsTr   
setdefaultrR   rY   superry   ro   rm  r   s     rp   ry   z_DefaultHttpxClient.__init__  E    )_5($=>,d3"6"rz   rm  r   r   r   r   r   r   ry   __classcell__r   s   @rp   r  r        # #rz   r  c                      e Zd ZddZy)SyncHttpxClientWrapperc                ^    | j                   ry 	 | j                          y # t        $ r Y y w xY wrk   )r,  closer2  r   s    rp   __del__zSyncHttpxClientWrapper.__del__  s,    >>	JJL 		s     	,,Nr   r   r   r   r   r  r   rz   rp   r  r    s    rz   r  c                  $    e Zd ZU ded<   dZded<   eedddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d3 fdZd4dZd5d	Z	d6d
Z
	 	 	 	 	 	 	 	 d7dZ	 	 	 	 d8dZ	 	 	 	 d9dZ	 	 	 	 	 	 	 	 d:dZe	 	 	 	 	 	 	 	 	 	 d;d       Zedd	 	 	 	 	 	 	 d<d       Zeddd	 	 	 	 	 	 	 	 	 d=d       Zddd	 	 	 	 	 	 	 	 	 d>dZ	 	 	 	 	 	 	 	 	 	 d?dZdd	 	 	 	 	 	 	 	 	 	 	 	 	 d@dZ	 	 	 	 	 	 	 	 dAdZei dd	 	 	 	 	 	 	 	 	 dBd       Zei d	 	 	 	 	 	 	 	 	 	 	 dCd       Zei dd	 	 	 	 	 	 	 	 	 	 	 dDd        Zi ddd!	 	 	 	 	 	 	 	 	 	 	 dDd"Zeddi ddd#	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dEd$       Zeddi dd%	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dFd&       Zeddi ddd'	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dGd(       Zddi dddd)	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dGd*Zdddi d+	 	 	 	 	 	 	 	 	 	 	 	 	 dHd,Zdddi d+	 	 	 	 	 	 	 	 	 	 	 	 	 dHd-Zddi d.	 	 	 	 	 	 	 	 	 	 	 dId/Zdi d0d1	 	 	 	 	 	 	 	 	 	 	 	 	 dJd2Z xZS )Kr   zhttpx2.Clientr   Nztype[Stream[Any]] | Noner  r  r  http_clientr  r  c          	     d   t        |      s-|rt        |j                        nd }	|r|	t        k7  r|	}nt        }|-t        |      s"t        |      st        dt        |             t        
| )  |t        t        |      |||||       |xs t        |t        t        |            | _        y )NzbInvalid `http_client` argument; Expected an instance of `httpx.Client` or `httpx2.Client` but got )r"  r  r#  r  r  r  r  r#  r  )r6   rC   r  HTTPX_DEFAULT_TIMEOUTrR   r@   rE   r   r   r  ry   r   r%   r  r   )ro   r"  r#  r  r  r  r  r  r  client_timeoutr   s             rp   ry   zSyncAPIClient.__init__  s       NY4[5H5HI^bN~1FF() #)+6/<,-/ 
 	'*#%)(C 	 		
 # 
&<'*'
rz   c                .    | j                   j                  S rk   r   r,  r   s    rp   r,  zSyncAPIClient.is_closed      ||%%%rz   c                R    t        | d      r| j                  j                          yy)`Close the underlying HTTPX client.

        The client will *not* be usable after this.
        r   N)hasattrr   r  r   s    rp   r  zSyncAPIClient.close  s#     4#LL  $rz   c                    | S rk   r   r   s    rp   	__enter__zSyncAPIClient.__enter__  s    rz   c                $    | j                          y rk   r  ro   exc_typeexcexc_tbs       rp   __exit__zSyncAPIClient.__exit__  s     	

rz   c                    |S z#Hook for mutating the given optionsr   rw   s     rp   _prepare_optionszSyncAPIClient._prepare_options  s	    
 rz   c                     ya  This 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.
        Nr   r  s     rp   _prepare_requestzSyncAPIClient._prepare_request  s     rz   c               @     | j                   j                  |fd|i|S r  r   sendro   r  r  rm  s       rp   _send_requestzSyncAPIClient._send_request%  s%     !t||  BB6BBrz   c                    y rk   r   ro   r}  rx   r  
stream_clss        rp   r  zSyncAPIClient.request.  s     rz   Fr  c                    y rk   r   ro   r}  rx   r  s       rp   r  zSyncAPIClient.request8  s     rz   r  r  c                    y rk   r   r  s        rp   r  zSyncAPIClient.requestA  s      #rz   c                  | j                  ||      }t        |      }|j                  2|j                  j	                         dk7  r| j                         |_        d }|j                  | j                        }| j                  |       d}t        |dz         D ]  }t        |      }| j                  |      }t        |      }	||z
  }
| j                  ||      }| j                  |       i }| j                  |j                        }|.t!        | j"                        rt%        |      n
t'        |      |d<   |j(                  |j(                  |d<   t*        j-                  dt/        |j                               d }	  | j0                  |fd|xs | j3                  |	      i|}t*        j-                  dt/        |j                        |jF                         t*        j-                  d|jH                  jK                  d             	 |jM                           n |J d       | j]                  ||||||      S # t5               $ r}t*        j-                  d
t7        |      j8                         |
dkD  r+|	j;                         r| j=                  |||d        Y d }~t*        j-                  d       t?        |	      |d }~wt@        $ r}|d }~wtC               $ r}t*        j-                  dt7        |      j8                         |
dkD  r+|	j;                         r| j=                  |||d        Y d }~t*        j-                  d       tE        |	      |d }~ww xY w# tO               $ r}t*        j-                  d|jF                         |
dkD  r`| jQ                  |jR                        rE|	j;                         r5|jR                  jU                          | j=                  ||||       Y d }~c|jR                  jV                  s|jR                  jY                          t*        j-                  d       | j[                  |jR                        d d }~ww xY wNr]  r   r   rB  authr  zSending HTTP Request: %sr  )r  z#Encountered a timeout exception: %s)rC  r  rx   r+  zRaising timeout errorzEncountered exception: %szRaising connection errorzHTTP Response: %s %izrequest_id: %szx-request-idz$Encountered an HTTP status error: %izRe-raising status errorz0could not resolve response (should never happen))r}  rx   r+  r  r  rC  )/r  r:   rI  r^  rJ  r  r  r  r!  ranger  rh   rs  r  rA  r;  r@   r   rA   rF   r  rf   r_  rd   r  r  r=   r   r   r   _sleep_for_retryr`   r^   r<   ra   r.  rE  r]  raise_for_statusr;   r  r+  r  r,  r|   r6  _process_response)ro   r}  rx   r  r  input_optionsr+  r  rC  request_body_replayr  r  rm  r  r  s                  rp   r  zSyncAPIClient.requestK  s(    ..w@
 #7+((0]5I5I5O5O5QUZ5Z,0,A,A,CM)+/#33D4D4DE"";/";?3 \	M /G++G4G"4W"= +m ;))')OG!!'*$&F++G,<,<=K& -T\\: *+64[A v ''3-4-E-E)*II02Mgnn2]^H$C-4--!WT%F%Fw%F%W J II&+GNN;$$
 II&(8(8(<(<^(LMT))+, y\	| #W%WW#%%!' & 
 	
C &' @		?cASAST$q(-@-G-G-I))&3$/ -!%	 *  		12%g6C? 	%' C		5tCy7I7IJ$q(-@-G-G-I))&3$/ -!%	 *  		45(9sBC0 %& T		@(BVBVW$q(T-?-?-MReRlRlRnLL&&())&3$/ -!)	 *   ||--LL%%'		34;;CLLItS'Ts^   )IM+M(AK
("K

M(KM((AM#"M##M(+Q#8A?Q=A!QQ#c                  ||z
  }|dk(  rt         j                  d       nt         j                  d|       | j                  |||r|j                  nd       }t         j	                  d||dz   |       t        j                  |       y Nr   z1 retry leftz%i retries leftz/Retrying request in %f seconds (retry %i of %s))rf   r_  r  rE  r   r  sleepro   rC  r  rx   r+  r  r  s          rp   r  zSyncAPIClient._sleep_for_retry  sz     (-7!IIn%II'):;//0A7`hHL\L\nrsBG]]^M^`kl

7rz   r   rB  c               ,   |j                   j                  j                  t              dk(  r t	        t
        t        || |||||            S t        |      xs |}t        j                  |      rt        |t              r|r2t        |j                   j                  j                  t                    rWt        |t              st        dt         d|       t	        d|      }t	        t
         ||| t        |      ||||            S |t!               v rt	        t
        |      S t        || t	        d|      ||||      }	t        |j                   j                  j                  t                    rt	        t
        |	      S |	j#                         S )Nr  rawr   r}  r  r  rx   rC  !API Response types must subclass ; Received type[BaseAPIResponse[Any]]r  )r  rE  r]  rV   r   r'   re   r   r  r  r  rO   r   rN   r   rQ   r>   parse
ro   r}  rx   r+  r  r  rC  originresponse_clsapi_responses
             rp   r  zSyncAPIClient._process_response  s    ##''(;<F! #!)#"/  G$/ OOF#6?3 tH$4$4$<$<$@$@AT$UVfk2"CK=P[\b[c dee <gFL 1,?!)#"/  )++	8,,"*G4!'
   ((,,-@AB	<00!!##rz   c                N     d fd}|_          j                  |d      S )Nc                0    | j                         | S )N)r   r   rx   )r   )r   r   rx   ro   s    rp   r   z0SyncAPIClient._request_api_list.<locals>._parser"  s&    (( ) 
 Krz   Fr  )r   r   r   r   )r  r  )ro   r   r   rx   r   s   `` ` rp   r   zSyncAPIClient._request_api_list  s'    	 &||D'%|88rz   rx   r  c                    y rk   r   ro   pathr}  rx   r  s        rp   r]  zSyncAPIClient.get.  s     rz   rx   c                    y rk   r   ro   r2  r}  rx   r  r  s         rp   r]  zSyncAPIClient.get8  s     rz   rx   r  c                    y rk   r   r5  s         rp   r]  zSyncAPIClient.getC  s      #rz   rx   r  r  c          	     x    t        j                  dd|d|}t        t        | j	                  ||||            S Nr]  )r^  r   r  r   )rK   	constructr   r'   r  ro   r2  r}  rx   r  r  optss          rp   r]  zSyncAPIClient.getN  s?     #,,OEtOwO It||GT&U_|`aarz   )r*  rn   rx   ru   r  c                    y rk   r   )ro   r2  r}  r*  rn   rx   ru   r  s           rp   postzSyncAPIClient.post\  s     rz   )r*  rn   rx   ru   c                    y rk   r   	ro   r2  r}  r*  rn   rx   ru   r  r  s	            rp   r?  zSyncAPIClient.posti  s     rz   )r*  rn   rx   ru   r  c                    y rk   r   rA  s	            rp   r?  zSyncAPIClient.postw  s      #rz   )r*  rn   rx   ru   r  r  c          
     $   ||t        d      ||t        d      t        |t              rt        j                  dt
        d       t        j                  d	d|||t        |      d|}	t        t        | j                  ||	||            S 
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.   
stacklevelr?  r^  r   r   rn   ru   r  r   )r   r   r   warningswarnDeprecationWarningrK   r;  r   r   r'   r  )
ro   r2  r}  r*  rn   rx   ru   r  r  r=  s
             rp   r?  zSyncAPIClient.post  s      3PQQ!4QRRdE"MMM"	 #,, 
ttWN[`La
el
 It||GT&U_|`aarz   r*  rn   ru   rx   c          
        ||t        d      ||t        d      t        |t              rt        j                  dt
        d       t        j                  dd|||t        |      d|}| j                  ||      S 	NrE  rF  rG  rH  rI  patchrK  r   
r   r   r   rL  rM  rN  rK   r;  r   r  ro   r2  r}  r*  rn   ru   rx   r=  s           rp   rR  zSyncAPIClient.patch  s      3PQQ!4QRRdE"MMM"	 #,, 
g^\aMb
fm
 ||GT**rz   c          
        ||t        d      ||t        d      t        |t              rt        j                  dt
        d       t        j                  dd|||t        |      d|}| j                  ||      S 	NrE  rF  rG  rH  rI  putrK  r   rS  rT  s           rp   rW  zSyncAPIClient.put  s      3PQQ!4QRRdE"MMM"	 #,, 
ddG>Z_K`
dk
 ||GT**rz   r*  rn   rx   c                   ||t        d      t        |t              rt        j                  dt
        d       t        j                  dd|||d|}| j                  ||      S NrE  rG  rH  rI  delete)r^  r   r   rn   r   	r   r   r   rL  rM  rN  rK   r;  r  ro   r2  r}  r*  rn   rx   r=  s          rp   r[  zSyncAPIClient.delete  sq      3PQQdE"MMM"	 #,,sH$RV`gskrs||GT**rz   r]  r*  rx   r^  c               Z    t        j                  d|||d|}| j                  |||      S N)r^  r   r   r   rK   r;  r   ro   r2  r   r   r*  rx   r^  r=  s           rp   get_api_listzSyncAPIClient.get_api_list  7     #,,`FPT`X_`%%eT488rz   )r"  r   r#  r  r  r   r  !float | Timeout | None | NotGivenr  zhttpx2.Client | Noner  r  r  r  r  r   r   r   r   r  ro   r   r   r   r  ztype[BaseException] | Noner  zBaseException | Noner   zTracebackType | Noner   r   rx   rK   r   rK   r  r  r   r   r  r  r  r   rm  zUnpack[HttpxSendArgs]r   r  )
r}  Type[ResponseT]rx   rK   r  Literal[True]r  zType[_StreamT]r   r   r}  rk  rx   rK   r  Literal[False]r   r'   )
r}  rk  rx   rK   r  r   r  zType[_StreamT] | Noner   ResponseT | _StreamT)
r}  rk  rx   rK   r  r   r  type[_StreamT] | Noner   ro  
rC  r   r  r   rx   rK   r+  zhttpx2.Response | Noner   r   r}  rk  rx   rK   r+  r  r  r   r  z1type[Stream[Any]] | type[AsyncStream[Any]] | NonerC  r   r   r'   )r   Type[object]r   Type[SyncPageT]rx   rK   r   r   
r2  r   r}  rk  rx   r-   r  rn  r   r'   )r2  r   r}  rk  rx   r-   r  rl  r  type[_StreamT]r   r   )r2  r   r}  rk  rx   r-   r  r   r  rp  r   ro  )r2  r   r}  rk  r*  Body | Nonern   BinaryTypes | Nonerx   r-   ru   RequestFiles | Noner  rn  r   r'   )r2  r   r}  rk  r*  rw  rn   rx  rx   r-   ru   ry  r  rl  r  rv  r   r   )r2  r   r}  rk  r*  rw  rn   rx  rx   r-   ru   ry  r  r   r  rp  r   ro  )r2  r   r}  rk  r*  rw  rn   rx  ru   ry  rx   r-   r   r'   )r2  r   r}  rk  r*  rw  rn   rx  rx   r-   r   r'   )r2  r   r   rs  r   rt  r*  rw  rx   r-   r^  r   r   r   )r   r   r   r   r  rT   r1   ry   r,  r  r  r  r  r  r  r   r  r  r  r   r]  r?  rR  rW  r[  rc  r  r  s   @rp   r   r     s[   4818 /5>,037482
 2
 	2

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

 }
 *}
 
}
~ #25@S_u	, 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 
9rz   r   c                        e Zd Zd fdZ xZS )_DefaultAsyncHttpxClientc                    |j                  dt               |j                  dt               |j                  dd       t        |   di | y r  r  r  s     rp   ry   z!_DefaultAsyncHttpxClient.__init__  r  rz   r  r  r  s   @rp   r{  r{    r  rz   r{  ztype[httpx2.AsyncClient]_DefaultAioHttpClient)Httpx2AiohttpClientc                        e Zd Zd fdZ xZS )_InstalledAioHttpClientc                    |j                  dt               |j                  dt               |j                  dd       t        |   di | y r  r  r  s     rp   ry   z _InstalledAioHttpClient.__init__  sE    i9h(AB0$7G&v&rz   r  r  r  s   @rp   r  r    s    	' 	'rz   r  c                      e Zd ZddZy)_MissingAioHttpClientc                    t        d      )NzVTo use the aiohttp client you must have installed the package with the `aiohttp` extra)r   )ro   _kwargss     rp   ry   z_MissingAioHttpClient.__init__  s    wxxrz   N)r  r   r   r   )r   r   r   ry   r   rz   rp   r  r    s    	yrz   r  c                      e Zd ZddZy)AsyncHttpxClientWrapperc                    | j                   ry 	 t        j                         j                  | j	                                y # t
        $ r Y y w xY wrk   )r,  asyncioget_running_loopcreate_taskacloser2  r   s    rp   r  zAsyncHttpxClientWrapper.__del__(  s@    >>	$$&224;;=A 		s   1A 	AANr  r  r   rz   rp   r  r  '  s    rz   r  c                  "    e Zd ZU ded<   dZded<   eedddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d3 fdZd4dZd5d	Z	d6d
Z
	 	 	 	 	 	 	 	 d7dZ	 	 	 	 d8dZ	 	 	 	 d9dZ	 	 	 	 	 	 	 	 d:dZedd	 	 	 	 	 	 	 d;d       Ze	 	 	 	 	 	 	 	 	 	 d<d       Zedd	 	 	 	 	 	 	 	 	 d=d       Zddd	 	 	 	 	 	 	 	 	 d=dZ	 	 	 	 	 	 	 	 	 	 d>dZdd	 	 	 	 	 	 	 	 	 	 	 	 	 d?dZ	 	 	 	 	 	 	 	 d@dZei dd	 	 	 	 	 	 	 	 	 dAd       Zei d	 	 	 	 	 	 	 	 	 	 	 dBd       Zei dd 	 	 	 	 	 	 	 	 	 	 	 dCd!       Zi ddd"	 	 	 	 	 	 	 	 	 	 	 dCd#Zedddi dd$	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dDd%       Zedddi d&	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dEd'       Zedddi dd(	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dFd)       Zdddi ddd*	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dFd+Zdddi d&	 	 	 	 	 	 	 	 	 	 	 	 	 dGd,Zdddi d&	 	 	 	 	 	 	 	 	 	 	 	 	 dGd-Zddi d.	 	 	 	 	 	 	 	 	 	 	 dHd/Zdi d0d1	 	 	 	 	 	 	 	 	 	 	 	 	 dId2Z xZS )Jr  zhttpx2.AsyncClientr   Nztype[AsyncStream[Any]] | Noner  r  c          	     d   t        |      s-|rt        |j                        nd }	|r|	t        k7  r|	}nt        }|-t        |      s"t        |      st        dt        |             t        
| )  ||t        t        |      ||||       |xs t        |t        t        |            | _        y )NzlInvalid `http_client` argument; Expected an instance of `httpx.AsyncClient` or `httpx2.AsyncClient` but got )r"  r#  r  r  r  r  r  r  )r6   rC   r  r  rR   rB   rG   r   r   r  ry   r   r%   r  r   )ro   r"  r#  r  r  r  r  r  r  r  r   s             rp   ry   zAsyncAPIClient.__init__7  s       NY4[5H5HI^bN~1FF() #*;70=004[0A/BD 
 	'*#%)(C 	 		
 # 
&='*'
rz   c                .    | j                   j                  S rk   r  r   s    rp   r,  zAsyncAPIClient.is_closedk  r  rz   c                T   K   | j                   j                          d{    y7 w)r  N)r   r  r   s    rp   r  zAsyncAPIClient.closen  s     
 ll!!###s   (&(c                   K   | S wrk   r   r   s    rp   
__aenter__zAsyncAPIClient.__aenter__u  s        c                @   K   | j                          d {    y 7 wrk   r  r  s       rp   	__aexit__zAsyncAPIClient.__aexit__x  s      jjls   c                   K   |S wr  r   rw   s     rp   r  zAsyncAPIClient._prepare_options  s     
 r  c                   K   ywr  r   r  s     rp   r  zAsyncAPIClient._prepare_request  s         c               \   K    | j                   j                  |fd|i| d {   S 7 wr  r	  r  s       rp   r  zAsyncAPIClient._send_request  s/      'T\\&&wHvHHHHHs   #,*,Fr  c                  K   y wrk   r   r  s       rp   r  zAsyncAPIClient.request  s      r  c                  K   y wrk   r   r  s        rp   r  zAsyncAPIClient.request  s      r  )r  c                  K   y wrk   r   r  s        rp   r  zAsyncAPIClient.request  s      %(r  r  c               	  K   | j                   ! t        t                      d {   | _         | j                  ||      }t	        |      }|j
                  2|j                  j                         dk7  r| j                         |_        d }|j                  | j                        }| j                  |       d}t        |dz         D ]  }t	        |      }| j                  |       d {   }t        |      }	||z
  }
| j                  ||      }| j!                  |       d {    i }| j"                  Bt%        | j&                        rt)        | j"                        nt+        | j"                        |d<   |j,                  |j,                  |d<   t.        j1                  dt3        |j                               d }	  | j4                  |fd|xs | j7                  |	      i| d {   }t.        j1                  dt3        |j                        |jJ                         t.        j1                  d|jL                  jO                  d             	 |jQ                           n |J d       | ja                  ||||||       d {   S 7 n7 7 r7 # t9               $ r}t.        j1                  d
t;        |      j<                         |
dkD  r4|	j?                         r$| jA                  |||d        d {  7   Y d }~Et.        j1                  d       tC        |	      |d }~wtD        $ r}|d }~wtG               $ r}t.        j1                  dt;        |      j<                         |
dkD  r4|	j?                         r$| jA                  |||d        d {  7   Y d }~t.        j1                  d       tI        |	      |d }~ww xY w# tS               $ r}t.        j1                  d|jJ                         |
dkD  rr| jU                  |jV                        rW|	j?                         rG|jV                  jY                          d {  7   | jA                  ||||       d {  7   Y d }~|jV                  jZ                  s#|jV                  j]                          d {  7   t.        j1                  d       | j_                  |jV                        d d }~ww xY w7 bwr  )1r   r5   get_platformr  r:   rI  r^  rJ  r  r  r  r!  r  r  rh   rs  r  r  rB   r   rA   rF   r  rf   r_  rd   r  r  r=   r   r   r   r  r`   r^   r<   ra   r.  rE  r]  r  r;   r  r+  r  r,  areadr6  r  )ro   r}  rx   r  r  r  r+  r  rC  r  r  r  rm  r  s                 rp   r  zAsyncAPIClient.request  s     >>! $:8L#9#;;DN..w@
 #7+((0]5I5I5O5O5QUZ5Z,0,A,A,CM)+/#33D4D4DE"";/";?3 [	M /G 11'::G"4W"= +m ;))')OG''000$&F+ .dll; *$*:*:;4T5E5EF v ''3-4-E-E)*II02Mgnn2]^H$C!3!3!3"!WT%F%Fw%F%W" " J II&+GNN;$$
 II&(8(8(<(<^(LMT))+, w[	z #W%WW#++!' , 
 
 	
_ <& ;
 1"
 &' @		?cASAST$q(-@-G-G-I//&3$/ -!%	 0    		12%g6C? 	%' C		5tCy7I7IJ$q(-@-G-G-I//&3$/ -!%	 0    		45(9sBC0 %& T		@(BVBVW$q(T-?-?-MReRlRlRn,,--/////&3$/ -!)	 0     ||--,,,,...		34;;CLLItS'T0
s  $S4JCS4,J-;S4(J)BS4,J0J1J5A#S4O)&S4S1S4S4S4JO,AL0LL0S4"L00O<L>>OAO$N'%O*S40"OOS4S.(A-S)QS)3Q64S)9S4?3S)2R536S))S..S4c               .  K   ||z
  }|dk(  rt         j                  d       nt         j                  d|       | j                  |||r|j                  nd       }t         j	                  d||dz   |       t        j                  |       d {    y 7 wr  )rf   r_  r  rE  r   anyior   r!  s          rp   r  zAsyncAPIClient._sleep_for_retry;  s      (-7!IIn%II'):;//0A7`hHL\L\nrsBG]]^M^`klkk'"""s   BBBBr   rB  c               @  K   |j                   j                  j                  t              dk(  r t	        t
        t        || |||||            S t        |      xs |}t        j                  |      rt        |t              r|r2t        |j                   j                  j                  t                    rSt        |t              st        dt         d|       t	        d|      }t	        d ||| t        |      ||||            S |t!               v rt	        t
        |      S t        || t	        d|      ||||      }	t        |j                   j                  j                  t                    rt	        t
        |	      S |	j#                          d {   S 7 w)Nr  r#  r%  r&  r'  r'   r  )r  rE  r]  rV   r   r'   re   r   r  r  r  rO   r   rP   r   rQ   r>   r(  r)  s
             rp   r  z AsyncAPIClient._process_responseI  s     ##''(;<F! #!)#"/  G$/ OOF#6?3 tH$4$4$<$<$@$@AT$UVf&67"CDTCUU`ag`h ijj <gFL 1,?!)#"/  )++	8,,'*G4!'
   ((,,-@AB	<00!''))))s   FFFFc                     t        | |||      S )N)r   rx   r   r   )r   )ro   r   r   rx   s       rp   r   z AsyncAPIClient._request_api_list  s     T7TQVWWrz   r/  c                  K   y wrk   r   r1  s        rp   r]  zAsyncAPIClient.get  s      r  r3  c                  K   y wrk   r   r5  s         rp   r]  zAsyncAPIClient.get  s      r  r6  c                  K   y wrk   r   r5  s         rp   r]  zAsyncAPIClient.get  s      %(r  r8  c               x   K   t        j                  dd|d|}| j                  ||||       d {   S 7 wr:  )rK   r;  r  r<  s          rp   r]  zAsyncAPIClient.get  s?      #,,OEtOwO\\'4:\VVVVs   1:8:)r*  rn   ru   rx   r  c                  K   y wrk   r   )ro   r2  r}  r*  rn   ru   rx   r  s           rp   r?  zAsyncAPIClient.post  s      r  rO  c                  K   y wrk   r   	ro   r2  r}  r*  rn   ru   rx   r  r  s	            rp   r?  zAsyncAPIClient.post  s      r  )r*  rn   ru   rx   r  c                  K   y wrk   r   r  s	            rp   r?  zAsyncAPIClient.post  s      %(r  )r*  rn   ru   rx   r  r  c          
     8  K   ||t        d      ||t        d      t        |t              rt        j                  dt
        d       t        j                  d	d|||t        |       d {   d|}	| j                  ||	||       d {   S 7 &7 wrD  
r   r   r   rL  rM  rN  rK   r;  r    r  )
ro   r2  r}  r*  rn   ru   rx   r  r  r=  s
             rp   r?  zAsyncAPIClient.post  s       3PQQ!4QRRdE"MMM"	 #,, 
ttWRfglRmLm
qx
 \\'4:\VVV MnVs$   A-B/B0!BBBBc          
     2  K   ||t        d      ||t        d      t        |t              rt        j                  dt
        d       t        j                  dd|||t        |       d {   d|}| j                  ||       d {   S 7 #7 wrQ  r  rT  s           rp   rR  zAsyncAPIClient.patch  s       3PQQ!4QRRdE"MMM"	 #,, 
,U33
 
 \\'4000 4 1$   A-B/B0BBBBc          
     2  K   ||t        d      ||t        d      t        |t              rt        j                  dt
        d       t        j                  dd|||t        |       d {   d|}| j                  ||       d {   S 7 #7 wrV  r  rT  s           rp   rW  zAsyncAPIClient.put%  s       3PQQ!4QRRdE"MMM"	 #,, 
ddGQefkQlKl
pw
 \\'4000 Lm0r  rX  c                  K   ||t        d      t        |t              rt        j                  dt
        d       t        j                  dd|||d|}| j                  ||       d {   S 7 wrZ  r\  r]  s          rp   r[  zAsyncAPIClient.delete?  s{       3PQQdE"MMM"	 #,,sH$RV`gskrs\\'40000s   A+A4-A2.A4r]  r^  c               Z    t        j                  d|||d|}| j                  |||      S r`  ra  rb  s           rp   rc  zAsyncAPIClient.get_api_listT  rd  rz   )r"  r   r#  r  r  r   r  r   r  re  r  zhttpx2.AsyncClient | Noner  r  r  r  r   r   r   r  rf  rg  rh  ri  rj  rm  )
r}  rk  rx   rK   r  rl  r  type[_AsyncStreamT]r   r   )
r}  rk  rx   rK   r  r   r  type[_AsyncStreamT] | Noner   ResponseT | _AsyncStreamTrq  rr  )r   r   r   r  rx   rK   r   AsyncPaginator[_T, AsyncPageT]ru  )r2  r   r}  rk  rx   r-   r  rl  r  r  r   r   )r2  r   r}  rk  rx   r-   r  r   r  r  r   r  )r2  r   r}  rk  r*  rw  rn   AsyncBinaryTypes | Noneru   ry  rx   r-   r  rn  r   r'   )r2  r   r}  rk  r*  rw  rn   r  ru   ry  rx   r-   r  rl  r  r  r   r   )r2  r   r}  rk  r*  rw  rn   r  ru   ry  rx   r-   r  r   r  r  r   r  )r2  r   r}  rk  r*  rw  rn   r  ru   ry  rx   r-   r   r'   )r2  r   r}  rk  r*  rw  rn   r  rx   r-   r   r'   )r2  r   r   r   r   r  r*  rw  rx   r-   r^  r   r   r  )r   r   r   r   r  rT   r1   ry   r,  r  r  r  r  r  r  r   r  r  r  r   r]  r?  rR  rW  r[  rc  r  r  s   @rp   r  r  3  s^   9=6= /5>1537482
 2
 	2

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

 A
 /A
 
#A
F# ##25#@S#_u#	#, 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 
(9rz   r  )	rg  extra_headersextra_query
extra_bodyrI  r  r  r;  synthesize_event_and_datac        	            i }	|||	d<   |t        t        |      |	d<   | | |	d<   |i |	j                  di       ||	d<   t        |t              s||	d<   |||	d<   t        |      r||	d<   |||	d<   |||	d<   |	S )	zECreate a dict of type RequestOptions without keys of NotGiven values.rE  r`  r   r  rI  r  r;  r  )r   r(   r]  r   r&   r6   )
rg  r  r  r  rI  r  r  r;  r  rx   s
             rp   make_request_optionsr  b  s     !G *	 $Z <!Hw{{8R8HKHgx($	"%4!"!,&
 ,/H+,Nrz   c                      e Zd ZddZy)rf  c                     y)NTr   r   s    rp   __bool__zForceMultipartDict.__bool__  s    rz   Nr   )r   r   r   r  r   rz   rp   rf  rf    s    rz   rf  c                  &    e Zd ZddZedd       Zy)OtherPlatformc                    || _         y rk   namero   r  s     rp   ry   zOtherPlatform.__init__  	    	rz   c                     d| j                    S )NzOther:r  r   s    rp   __str__zOtherPlatform.__str__      		{##rz   Nr  r   r   r   r   r   r   r   ry   r   r  r   rz   rp   r  r         $ $rz   r  )MacOSLinuxWindowsFreeBSDOpenBSDiOSAndroidUnknownc                    	 t        j                         j                         } t        j                          j                         }d|v sd|v ry| dk(  ry| dk(  ryd	|v ry
| dk(  ry| dk(  ry| dk(  r@	 t        j                         j                  dd      j                         }|dk(  ry|dk(  ryy|rt        |      S y# t        $ r Y yw xY w# t        $ r d}Y 7w xY w)Nr  iphoneipadr  darwinr  windowsr  androidr  freebsdr  openbsdr  linuxID r  )r  systemrJ  r2  freedesktop_os_releaser]  r   r  )r  platform_name	distro_ids      rp   r  r    s	   "((* ))+113 = Fm$;
 M! 	 779==dBGMMOI 	!	!]++Y  <  	I	s$   AB? 22C ?	C
CCC)maxsizec                   d| t        |xs
 t                     t        t                     t               t	               d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     rp   r  r    s;     %'.h8,.9 0 2313'9'; rz   c                  &    e Zd ZddZedd       Zy)	OtherArchc                    || _         y rk   r  r  s     rp   ry   zOtherArch.__init__  r  rz   c                     d| j                    S )Nzother:r  r   s    rp   r  zOtherArch.__str__  r  rz   Nr  r   r  r   rz   rp   r  r    r  rz   r  )x32x64armarm64unknownc                 J    	 t        j                         S # t        $ r Y yw xY wNr  )r  python_implementationr2  r   rz   rp   r  r    s(    --//     	""c                 J    	 t        j                         S # t        $ r Y yw xY wr  )r  python_versionr2  r   rz   rp   r  r    s(    &&(( r  c                     	 t        j                         j                         } | dv ry| dk(  ry| dk(  ryt        j
                  dk  ry| rt        |       S y# t        $ r Y yw xY w)	Nr  )r  aarch64r  r  x86_64r  l        r  )r  machinerJ  r2  sysr  r  )r  s    rp   r  r  	  sz    ""$**, && %( {{e!!)  s   "A 	A#"A#c                    i | |}|j                         D ci c]  \  }}t        |t              r|| c}}S c c}}w )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mergedry  rz  s        rp   ra  ra  	  s?     F)/W:3z%QU?VCJWWWs   <<c                    i }| D ]T  }|j                         D ]?  \  }}|j                         }t        |t              r|j	                  |d       9||f||<   A V |j                         D ci c]  \  }}||
 c}}S c c}}w )zHMerge headers case-insensitively, with later mappings taking precedence.N)r   rJ  r   r"   rd  values)mappingsr  mappingr  rz  normalized_names         rp   rF  rF  +	  s    )+F 8"==? 	8KD%"jjlO%&

?D1+/-'	88 ,2==?;KD%D%K;;;s   /B )ru   zHttpxRequestFiles | Noner   zIterator[object])rg  Query | Noner  zHeaders | Noner  r  r  rw  rI  r  r  z(float | httpx2.Timeout | None | NotGivenr  zPostParser | NotGivenr;  zSecurityOptions | Noner  zbool | Noner   r-   )r   Platform)r"  r   r  zPlatform | Noner   r  r   )r   Arch)r   Mapping[_T_co, Union[_T, Omit]]r  r  r   zDict[_T_co, _T])r  r$   r   r  )
__future__r   r  r   r  r  r  r  r  r  loggingr  rL  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   _utilsr2   r3   r4   r5   r6   r7   r8   _compatr9   r:   _httpx2r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   _modelsrI   rJ   rK   rL   rM   	_responserN   rO   rP   rQ   
_constantsrR   rS   rT   rU   rV   rW   rX   rY   
_streamingrZ   r[   r\   r]   r^   r_   r`   ra   rb   _utils._jsonrc   _utils._logsrd   _legacy_responsere   	getLoggerr   rf   r   	addFilterrh   rt   r   r   r   r   r   r   httpx2._configr   r  ImportErrorr   r   r   r   r	  ClientAsyncClientr  r  r  r  DefaultHttpxClientr  r   r{  _vendor.httpx_aiohttpr~  r  r}  r  DefaultAsyncHttpxClientDefaultAioHttpClientr  r  r  r   rf  r  r	  r  r  r  r
  r  r  r  ra  rF  r   rz   rp   <module>r)     s   " 
                 " D C         8    & h g g ,     g f 	 	 	 I H  ( 5 /'g''1^ 1 $& ', ,^	 K':;	\)=>
 T]4(:VC[1{3/?@ 3-R0B 0Bf:6|WR[ :6z.a8B< .ab$WR^, $N&gHRL'"+ &gR uV]]FDVDV5V/WX+5kRUFV9V3WXe878 e8P#&-- #  -/ r9Jv}}fSk9: r9j#v11 # 0 /4:'"5 ' 4 $00 "--`60	5 	l9Z 2 2K4D DE l9b $( $""&8A)2'+-1** "* 	*
 *  * 6* '* %*  +* *Zc4i 
$ $ 		
0f 4 $ $ Y GHHI4	X
)	X
)	X 	X<SC  - '-D*  2y 2 2 y 22s$   !O +O& O#"O#&PP