
    
@gX                      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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# d dl$Z$d dl%Z%d dl&Z&d dl'Z'd dl%m(Z(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@mAZAmBZBmCZCmDZD d	dlEmFZFmGZGmHZHmIZImJZJmKZKmLZL d	dlMmNZNmOZO d	dlPmQZQmRZRmSZSmTZT d	dlUmVZVmWZWmXZXmYZY d	dlZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZa d	dlbmcZcmdZdmeZemfZf d	dl,mgZgmhZhmiZimjZj d	dlkmlZl  e	jm        en          Zodepd<   eoq                     eF                        edd          Zr edd          Zs ed          Zt edd           Zu ed!ece                   Zv ed"eee                   Zwerd d#lxmyZz n	 d d#lxmyZz n# e{$ r  e8d$          ZzY nw xY w G d% d&          Z| G d' d(eQeet                   Z} G d) d*e}et         eet                   Z~ G d+ d,eetesf                   Z G d- d.e}et         eet                   Z ed/ee%j        e%j        f                   Z ed0eece         eee         f                   Z G d1 d2eeef                   Z G d3 d4e%j                  Zere%j        ZneZ G d5 d6e          Z G d7 d8ee%j        ece         f                   Z G d9 d:e%j                  Zere%j        ZneZ G d; d<e          Z G d= d>ee%j        eee         f                   Zddddde3e3d?djdOZ G dP dQeedf                   Z G dR dS          Zeee!dT         f         ZdkdVZ eKdW          dld]            Z G d^ d_          Zeee!d`         f         ZdmdaZdmdbZdnddZdodiZdS )p    )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                      e Zd ZU dZded<   ded<   edd	            Zedd            ZeedddZedd            Z	dS )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paramsr   returnNonec                   d S N selfra   s     G/var/www/piapp/venv/lib/python3.11/site-packages/openai/_base_client.py__init__zPageInfo.__init__}   	    
 s    r$   c                   d S rg   rh   )rj   rc   s     rk   rl   zPageInfo.__init__   rm   rn   ra   rc   c               "    || _         || _        d S rg   rp   )rj   ra   rc   s      rk   rl   zPageInfo.__init__   s     rn   strc                l    | j         r| j        j         d| j          dS | j        j         d| j         dS )Nz(url=)z(params=)ra   	__class____name__rc   rj   s    rk   __repr__zPageInfo.__repr__   sI    8 	@n-??DH????.)AA4;AAAArn   N)ra   r   rd   re   )rc   r$   rd   re   )ra   r`   rc   rb   rd   re   rd   rr   )
rv   
__module____qualname____doc____annotations__r   rl   r!   r   rx   rh   rn   rk   r_   r_   t   s          
    X    X (#,	      B B B XB B Brn   r_   c                  x    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dS )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
    r=   _optionsType[_T]_modelrd   boolc                ^    |                                  }|sdS |                                 d uS )NF)_get_page_itemsnext_page_info)rj   itemss     rk   has_next_pagezBasePage.has_next_page   s7    $$&& 	5""$$D00rn   Optional[PageInfo]c                    d S rg   rh   rw   s    rk   r   zBasePage.next_page_info   s      rn   Iterable[_T]c                    d S rg   rh   rw   s    rk   r   zBasePage._get_page_items   s    rn   ra   r   httpx.QueryParamsc                    t          j        t          t          | j        j                                                |j                  S rg   )httpxQueryParamsr   r   r   rc   mergeri   s     rk   _params_from_urlzBasePage._params_from_url   s2     c4=+?!@!@AAGG
SSSrn   infor_   c                   t          | j                  }|                                 t          |j        t
                    si |j        |j        |_        |S t          |j        t
                    sd|                     |j                  }|j                            |          }t          |j                  |_        t          |          |_        |S t          d          )N)rc   zUnexpected PageInfo state)r:   r   _strip_raw_response_header
isinstancerc   r'   ra   r   	copy_withdictrr   
ValueError)rj   r   optionsrc   ra   s        rk   _info_to_optionszBasePage._info_to_options   s    T]++**,,,$+x00 	>>$+>GNN$(H-- 	**4844F($$F$33C!#*--GNc((GKN4555rn   Nrd   r   )rd   r   )rd   r   )ra   r   rd   r   )r   r_   rd   r=   )rv   rz   r{   r|   r   r   r}   r   r   r   r   r   r   rh   rn   rk   r   r      s         	 	 %0KMMH1111"{}}F$$$$1 1 1 1 8777   T T T T6 6 6 6 6 6rn   r   c                  X    e Zd ZU  ej                    Zded<   dd
ZddZddZ	ddZ
dS )BaseSyncPageSyncAPIClient_clientclientmodelr   r   r=   rd   re   c                0    || _         || _        || _        d S rg   r   r   r   )rj   r   r   r   s       rk   _set_private_attributesz$BaseSyncPage._set_private_attributes        rn   Iterator[_T]c              #  n   K   |                                  D ]}|                                D ]}|V  d S rg   
iter_pagesr   rj   pageitems      rk   __iter__zBaseSyncPage.__iter__   sT      OO%% 	 	D,,..  



	 	rn   rj   rU   Iterator[SyncPageT]c              #  l   K   | }	 |V  |                                 r|                                }nd S 0rg   r   get_next_pagerj   r   s     rk   r   zBaseSyncPage.iter_pages   sJ      	JJJ!!## ))++	rn   c                    |                                  }|st          d          |                     |          }| j                            | j        | j        |          S NzYNo next page expected; please check `.has_next_page()` before calling `.get_next_page()`.)r   r   r   RuntimeErrorr   r   _request_api_listr   ru   rj   r   r   s      rk   r   zBaseSyncPage.get_next_page   sg    ""$$ 	k   ''--|--dkX_-```rn   N)r   r   r   r   r   r=   rd   re   )rd   r   )rj   rU   rd   r   )rj   rU   rd   rU   )rv   rz   r{   pydanticr   r   r}   r   r   r   r   rh   rn   rk   r   r      s         1X133G3333       $   
   a a a a a arn   r   c                  .    e Zd ZddZddZddZddZdS )AsyncPaginatorr   AsyncAPIClientr   r=   page_clsType[AsyncPageT]r   r   rd   re   c                >    || _         || _        || _        || _        d S rg   )r   r   r   	_page_cls)rj   r   r   r   r   s        rk   rl   zAsyncPaginator.__init__   s$     !rn    Generator[Any, None, AsyncPageT]c                N    |                                                                  S rg   )	_get_page	__await__rw   s    rk   r   zAsyncPaginator.__await__  s    ~~))+++rn   rW   c                    K   d fd}| j         _         j                             j         j                    d {V S )NresprW   rd   c                V    |                      j        j        j                   | S )N)r   r   r   )r   r   r   r   )r   rj   s    rk   _parserz)AsyncPaginator._get_page.<locals>._parser
  s6    ((k| )   
 Krn   )r   rW   rd   rW   )r   post_parserr   requestr   )rj   r   s   ` rk   r   zAsyncPaginator._get_page	  s_      	 	 	 	 	 	 %,!\))$.$-HHHHHHHHHrn   AsyncIterator[_T]c               `   K   t          t          |  d {V           }|2 3 d {V }|W V  6 d S rg   )r   rW   r   s      rk   	__aiter__zAsyncPaginator.__aiter__  sg      JJJJJJ
 
  	 	 	 	 	 	 	$JJJJJ $$s   -N)
r   r   r   r=   r   r   r   r   rd   re   )rd   r   )rd   rW   rd   r   )rv   rz   r{   rl   r   r   r   rh   rn   rk   r   r      sh        
" 
" 
" 
", , , ,I I I I     rn   r   c                  X    e Zd ZU  ej                    Zded<   dd
ZddZddZ	ddZ
dS )BaseAsyncPager   r   r   r   r   r   r=   rd   re   c                0    || _         || _        || _        d S rg   r   )rj   r   r   r   s       rk   r   z%BaseAsyncPage._set_private_attributes#  r   rn   r   c               |   K   |                                  2 3 d {V }|                                D ]}|W V  $6 d S rg   r   r   s      rk   r   zBaseAsyncPage.__aiter__-  sp      //++ 	 	 	 	 	 	 	$,,..  




 ,++s   ;rj   rW   AsyncIterator[AsyncPageT]c               z   K   | }	 |W V  |                                 r|                                 d {V }nd S 7rg   r   r   s     rk   r   zBaseAsyncPage.iter_pages2  s^      	JJJJ!!## !//11111111	rn   c                   K   |                                  }|st          d          |                     |          }| j                            | j        | j        |           d {V S r   r   r   s      rk   r   zBaseAsyncPage.get_next_page;  s}      ""$$ 	k   ''--\33DKdn^e3fffffffffrn   N)r   r   r   r   r   r=   rd   re   r   )rj   rW   rd   r   )rj   rW   rd   rW   )rv   rz   r{   r   r   r   r}   r   r   r   r   rh   rn   rk   r   r      s         2h244G4444          
   g g g g g grn   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ed<   ded<   ded<   dZded<   eedddddd&Zded(Zdfd,Z	dgd1Z
d2d3dhd8Zdid9Zdjd;Zd2d3dkd=ZdldAZdmdDZdndFZdodHZedpdJ            ZedqdL            ZedrdN            ZedsdP            ZedtdQ            ZdudTZedvdU            ZedwdV            Zej        dxdX            ZdydZZdzd{d^Z	 dzd|daZd}dbZ dvdcZ!dS )~
BaseClientr   r   rr   _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_queryversionbase_url	str | URLfloat | Timeout | Nonelimits	transportproxiesr   Mapping[str, str] | Noner   Mapping[str, object] | Nonerd   re   c       
           || _         |                     t          |                    | _        || _        || _        || _        || _        || _        |	pi | _	        |
pi | _
        || _        d | _        d | _        |t          d          d S )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)rj   r   r   r   r   r   r   r   r   r   r   s              rk   rl   zBaseClient.__init__W  s      55c(mmDD&#-3)/R+F(#' *. b   rn   ra   c                v    |j                             d          r|S |                    |j         dz             S )N   /raw_path)r   endswithr   ri   s     rk   r   z"BaseClient._enforce_trailing_slashw  s:    <  && 	J}}clT&9}:::rn   responsehttpx.ResponserO   c                   |j         r|j        sd }d|j         }nZ|j                                        }|}	 t          j        |          }d|j         d| }n# t          $ r |p	d|j         }Y nw xY w|                     |||          S )NzError code: z - )bodyr   )		is_closedis_stream_consumedstatus_codetextstripjsonloads	Exception_make_status_error)rj   r   r  err_msgerr_texts        rk    _make_status_error_from_responsez+BaseClient._make_status_error_from_response|  s      	Lh&A 	L D;X%9;;GG}**,,HDLz(++H)=HH$HH L L L"K&KX5I&K&KL &&wTH&MMMs   !A A32A3r  r  object_exceptions.APIStatusErrorc                   t                      rg   )NotImplementedError)rj   r  r  r   s       rk   r  zBaseClient._make_status_error  s     "###rn   r   retries_takenr   r=   r  httpx.Headersc               f   |j         pi }t          | j        |          }|                     ||           t	          j        |          }| j        }|r?|j                                        dk    r"||vr|j	        p| 
                                ||<   dd |D             vrt          |          |d<   |S )Ngetzx-stainless-retry-countc              3  >   K   | ]}|                                 V  d S rg   )lower).0headers     rk   	<genexpr>z,BaseClient._build_headers.<locals>.<genexpr>  s*      ,Y,YV\\^^,Y,Y,Y,Y,Y,Yrn   )headers_merge_mappingsdefault_headers_validate_headersr   r%   r   methodr  idempotency_key_idempotency_keyrr   )rj   r   r  r   headers_dictr  idempotency_headers          rk   _build_headerszBaseClient._build_headers  s     .B&t';^LL|^<<< ---!5 	]'."6"6"8"8E"A"AFX`gFgFg*1*A*\TEZEZE\E\G&' %,Y,Y.,Y,Y,YYY14]1C1CG-.rn   c                    t          |          }|j        rB| j        j        |j                            d          z   }| 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   )rj   ra   	merge_urlmerge_raw_paths       rk   _prepare_urlzBaseClient._prepare_url  s[     HH	$ 	D!]3i6H6O6OPT6U6UUN=**N*CCCrn   SSEDecoder | SSEBytesDecoderc                    t                      S rg   )rL   rw   s    rk   _make_sse_decoderzBaseClient._make_sse_decoder  s    ||rn   httpx.Requestc                  t                               t          j                  r*t                               dt          |d                     i }|j        }|j        b|t          t          |j                  }nEt          |          rt          ||j                  }n t          dt          |           d          |                     ||          }t          | j        |j                  }|                    d          }|j        }||                    d          rd	|vr|                    d           |rGt+          |          s t-          d
t          |           d          |                     |          |d<   |s!t          t0          t3                                }|                     |j                  }	d|	j        v r d|	j                            dd          i|d<    | j        j        d|tA          |j!        tD                    r| j!        n|j!        |j#        |	|r?| j$        %                    t          tL          tN          tP          f         |                    nd ||d|S )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   r"  ra   rc   r	  filesrh   ))rT   isEnabledForloggingDEBUGdebugr;   	json_data
extra_jsonr   r"   r9   r  r   typer'  default_queryrc   r  r;  
startswithpopr4   r   _serialize_multipartformr1   ForceMultipartDictr-  ra   hostreplacer   build_requestr   r   r'   r"  qs	stringifyr   rr   r   )
rj   r   r  kwargsr@  r  rc   content_typer;  prepared_urls
             rk   _build_requestzBaseClient._build_request  s    GM** 	VII+Zt-T-T-TUUU!#%	)  w'9::		I&& t+Iw7IJJ		"#ri#r#r#rsss%%g]%KK !3W^DD{{>22 #(?(?@U(V(V#-- N+++  Jy)) #|bfgpbqbq|||   "&!>!>y!I!Iv  F.0B0D0DEE((55,###$2L4E4M4McSV4W4W#XF<  *t|) 
$.w$I$I^DLLw>
 JPY47$$T'#s(*;V%D%DEEEUY
 
 
 
 	
rn   r6  Mapping[object, object]dict[str, object]c                    | j                             |d          }i }|D ]N\  }}|                    |          }|s|||<   "t          |          r|                    |           G||g||<   O|S )Nbrackets)array_format)rK  stringify_itemsr  r5   append)rj   r6  r   
serializedkeyvalueexistings          rk   rF  z#BaseClient._serialize_multipartform	  s    '' #	 ( 
 
 )+
 	4 	4JC!~~c**H "'
3 x   4&&&&#+U"3
3rn   cast_totype[ResponseT]c                   t          |j                  s|S t          |j                  }|                    t          t
                    }t          |          r'||_        t          t          t                   |          S |S rg   )	r7   r  r   rE  rI   r!   r   r	   r(   )rj   r\  r   r  override_cast_tos        rk   _maybe_override_cast_toz"BaseClient._maybe_override_cast_to'  ss    (( 	N w''
 #;;'>	JJ$%% 	;%GOY)9:::rn   r   c                H    |j                             t                    dk    S )Nstream)r  r  rH   rj   r   s     rk   _should_stream_response_bodyz'BaseClient._should_stream_response_body8  s    ""#6778CCrn   r(   c                  |t          t          d           S |t          u rt          t          |          S 	 t          j        |          r?t          |t                    r*t          t          |                    ||                    S | j        r$t          t          t          ||                    S t          t          t          ||                    S # t          j        $ r}t          ||          |d }~ww xY w)N)r   r6  )type_rZ  )r   r  )r   r(   r  inspectisclass
issubclassr2   buildr   r>   r?   r   ValidationErrorrR   )rj   r6  r\  r   errs        rk   _process_response_dataz!BaseClient._process_response_data;  s    <	4(((f	4(((		Tw'' TJw@T,U,U TIw}}hT}'R'RSSS/ QI}7$'O'O'OPPP	>t#L#L#LMMM' 	T 	T 	T,hTJJJPSS	Ts$   AC 
*C 5#C C?(C::C?r   c                    t                      S rg   r   rw   s    rk   rK  zBaseClient.qsS  s    }}rn   httpx.Auth | Nonec                    d S rg   rh   rw   s    rk   custom_authzBaseClient.custom_authW  s    trn   dict[str, str]c                    i S rg   rh   rw   s    rk   auth_headerszBaseClient.auth_headers[  s    	rn   dict[str, str | Omit]c                \    dd| j         d|                                 | j        | j        S )Nzapplication/json)Acceptr4  z
User-Agent)
user_agentplatform_headersrt  r   rw   s    rk   r   zBaseClient.default_headers_  sN     )./
 
 ##%%	

 
 "
 	
rn   c                    i | j         S rg   )r   rw   s    rk   rC  zBaseClient.default_queryj  s    
 
 	
rn   r  r%   c                    dS )zaValidate the given default headers and custom headers.

        Does nothing by default.
        Nrh   )rj   r  r   s      rk   r!  zBaseClient._validate_headersp  s	     	rn   c                .    | j         j         d| j         S )Nz/Python )ru   rv   r   rw   s    rk   rx  zBaseClient.user_agent{  s    .)BB4=BBBrn   c                    | j         S rg   )r   rw   s    rk   r   zBaseClient.base_url  s
    ~rn   	URL | strc                    |                      t          |t                    r|nt          |                    | _        d S rg   )r   r   r   r   ri   s     rk   r   zBaseClient.base_url  s8    55ZS=Q=Q6_ccWZ[^W_W_``rn   Dict[str, str]c                8    t          | j        | j                  S )N)platform)ry  r   r   rw   s    rk   ry  zBaseClient.platform_headers  s      GGGGrn   response_headersOptional[httpx.Headers]float | Nonec                   |dS 	 |                     dd          }t          |          dz  S # t          t          f$ r Y nw xY w|                     d          }	 t          |          S # t          t          f$ r Y nw xY wt          j                            |          }|dS t          j                            |          }t          |t          j                    z
            S )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)rj   r  retry_ms_headerretry_headerretry_date_tuple
retry_dates         rk   _parse_retry_after_headerz$BaseClient._parse_retry_after_header  s    #4	.223CTJJO))D00:& 	 	 	D	 (++M::	 &&&:& 	 	 	D	 !;33LAA#4[**+;<<
Z$)++-...s!   '. AAA* *A>=A>remaining_retriesr  c                J   |                     | j                  }|                     |          }|d|cxk     rdk    rn n|S t          ||z
  d          }t          t          t          d|          z  t                    }ddt                      z  z
  }||z  }	|	dk    r|	ndS )Nr   <   r  g       @r   g      ?)get_max_retriesr   r  minrG   powrE   r   )
rj   r  r   r  r   retry_after
nb_retriessleep_secondsjitterr   s
             rk   _calculate_retry_timeoutz#BaseClient._calculate_retry_timeout  s     --d.>?? 445EFF"q;'<'<'<'<"'<'<'<'<'< '88$??
 /#c:2F2FFXX TFHH_$&(!Q,,wwA-rn   c                ^   |j                             d          }|dk    rt                              d           dS |dk    rt                              d           dS |j        dk    r"t                              d	|j                   dS |j        d
k    r"t                              d	|j                   dS |j        dk    r"t                              d	|j                   dS |j        dk    r"t                              d	|j                   dS t                              d           dS )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   r?  r  )rj   r   should_retry_headers      rk   _should_retryzBaseClient._should_retry  s-   &.223CDD &((IILMMM4'))IIQRRR5 3&&II68LMMM4 3&&II68LMMM4 3&&II68LMMM4 3&&II68LMMM4		.!!!urn   c                .    dt          j                     S )Nzstainless-python-retry-)uuiduuid4rw   s    rk   r$  zBaseClient._idempotency_key  s    7777rn   )r   rr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rd   re   )ra   r   rd   r   )r   r  rd   rO   )r  rr   r  r  r   r  rd   r  )r   r=   r  r   rd   r  )ra   rr   rd   r   )rd   r.  )r   r=   r  r   rd   r1  )r6  rQ  rd   rR  )r\  r]  r   r=   rd   r]  )r   r1  rd   r   )r6  r  r\  r]  r   r  rd   r(   )rd   r   )rd   ro  )rd   rr  )rd   ru  )rd   rR  )r  r%   r   r%   rd   re   ry   )rd   r   )ra   r~  rd   re   )rd   r  rg   )r  r  rd   r  )r  r   r   r=   r  r  rd   r  )r   r  rd   r   )"rv   rz   r{   r}   r   rF   rD   rl   r   r  r  r'  r-  r0  rP  rF  r`  rd  rm  propertyrK  rq  rt  r   rC  r!  rx  r   setterry  r  r  r  r$  rh   rn   rk   r   r   J  so        MMMNNN((((!!!!1111%%%%####8<<<<< /*9 4848     @; ; ; ;
N N N N,$ $ $ $ TU      &       	I
 I
 I
 I
 I
 I
V   <   "D D D DT T T T0    X    X    X 
 
 
 X
 
 
 
 X

	 	 	 	 C C C XC    X _a a a _aH H H H /  /  /  /  /L 59	. . . . .0! ! ! !F8 8 8 8 8 8rn   r   c                        e Zd Zd fdZ xZS )_DefaultHttpxClientrM  r   rd   re   c                    |                     dt                     |                     dt                     |                     dd            t                      j        di | d S Nr   r   follow_redirectsTrh   
setdefaultrD   rJ   superrl   rj   rM  ru   s     rk   rl   z_DefaultHttpxClient.__init__  j    )_555($=>>>,d333""6"""""rn   rM  r   rd   re   rv   rz   r{   rl   __classcell__ru   s   @rk   r  r    =        # # # # # # # # # #rn   r  c                      e Zd ZddZdS )SyncHttpxClientWrapperrd   re   c                R    	 |                                   d S # t          $ r Y d S w xY wrg   )closer  rw   s    rk   __del__zSyncHttpxClientWrapper.__del__  s:    	JJLLLLL 	 	 	DD	s    
&&Nrd   re   rv   rz   r{   r  rh   rn   rk   r  r    s(             rn   r  c            	      N    e Zd ZU ded<   dZded<   eeddddddddx fdZdyd Zdzd!Z	d{d$Z
d|d+Zd}d.Zd~d1Ze	 ddd;            Ze	 dd<d=dd@            Ze	 dd<ddAddD            Z	 dd<ddAddFZddHZddKZdLdMddQZddWZei d<dXdd[            Zei d\dd^            Zei dd_dd`            Zi d<ddaddbZedi dd<dcddh            Zedi ddiddj            Zedi dddkddl            Zdi dd<ddmddnZdi doddpZddi dqddrZdi doddsZdi dtduddwZ xZS )r   zhttpx.Clientr   Nztype[Stream[Any]] | Noner   r   r   r   r   r   http_clientr   r   r   rr   r   r   r   r   r   !float | Timeout | None | NotGivenr   Transport | Noner   r   r   Limits | Noner  httpx.Client | Noner   r   r   r   r   r   rd   re   c                  |.t          j        dt          d           |t          d          nt          }|-t          j        dt          d           |t          d          |-t          j        dt          d           |t          d          t          |          s!|r|j        t          k    r|j        }nt          }|9t          |t          j                  st          d	t          |                     t                                          ||t!          t"          |          |||||
|	|

  
         |p't%          |t!          t"          |          |||d          | _        d S )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`[The `transport` argument is deprecated. The `http_client` argument should be passed insteadAThe `http_client` argument is mutually exclusive with `transport`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   r   r  )warningswarnDeprecationWarningr   rJ   r7   r   HTTPX_DEFAULT_TIMEOUTrD   r   r   Clientr   rB  r  rl   r   r&   r  r   )rj   r   r   r   r   r   r   r   r  r   r   r   ru   s               rk   rl   zSyncAPIClient.__init__  s    Mz+   
 & !qrrr ' /F Mm+   
 & !deeeMk+   
 & !bccc   	*  *{26KKK%-)":k5<+P+P"ubfgrbsbsuu   	'**#%)(C 	 	
 	
 	
 # 
&<'**!'
 '
 '
rn   c                    | j         j        S rg   r   r  rw   s    rk   r  zSyncAPIClient.is_closedc      |%%rn   c                \    t          | d          r| j                                         dS dS )`Close the underlying HTTPX client.

        The client will *not* be usable after this.
        r   N)hasattrr   r  rw   s    rk   r  zSyncAPIClient.closef  s:     4## 	!L     	! 	!rn   rj   rX   c                    | S rg   rh   rw   s    rk   	__enter__zSyncAPIClient.__enter__p  s    rn   exc_typetype[BaseException] | NoneexcBaseException | Noneexc_tbTracebackType | Nonec                .    |                                   d S rg   r  rj   r  r  r  s       rk   __exit__zSyncAPIClient.__exit__s  s     	

rn   r   r=   c                    |S z#Hook for mutating the given optionsrh   rj   r   s     rk   _prepare_optionszSyncAPIClient._prepare_options{  s	    
 rn   r   r1  c                    dS 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.
        Nrh   rc  s     rk   _prepare_requestzSyncAPIClient._prepare_request  s	     trn   r\  Type[ResponseT]r  Optional[int]rb  Literal[True]
stream_clsType[_StreamT]r[   c                   d S rg   rh   rj   r\  r   r  rb  r  s         rk   r   zSyncAPIClient.request  	     3rn   Frb  Literal[False]r(   c                   d S rg   rh   )rj   r\  r   r  rb  s        rk   r   zSyncAPIClient.request  	     Crn   rb  r  Type[_StreamT] | NoneResponseT | _StreamTc                   d S rg   rh   r  s         rk   r   zSyncAPIClient.request  	      #srn   type[_StreamT] | Nonec               z    ||                     | j                  |z
  }nd}|                     |||||          S Nr   )r\  r   rb  r  r  r  r   _request)rj   r\  r   r  rb  r  r  s          rk   r   zSyncAPIClient.request  sW     (#33D4DEEHYYMMM}}!'  
 
 	
rn   r  c          	        t          |          }|                     ||          }|                     |          }|                    | j                  |z
  }|                     ||          }|                     |           i }	| j        
| j        |	d<   t          	                    d|j
        |j                   	  | j        j        |fd|p|                     |          i|	}
n# t          j        $ rr}t          	                    dd           |d	k    r |                     |||||d 
          cY d }~S t          	                    d           t%          |          |d }~wt&          $ rr}t          	                    dd           |d	k    r |                     |||||d 
          cY d }~S t          	                    d           t)          |          |d }~ww xY wt          	                    d|j
        |j        |
j        |
j        |
j                   t          	                    d|
j                            d                     	 |
                                 n# t          j        $ r}t          	                    dd           |d	k    r]|                     |j                  rC|j                                         |                     ||||j        j        ||          cY d }~S |j        j        s|j                                         t          	                    d           |                      |j                  d d }~ww xY w| !                    |||
|||          S )Nr  authzSending HTTP Request: %s %srb  r   "Encountered httpx.TimeoutExceptionTexc_infor   r  rb  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  rb  r  Re-raising status errorr\  r   r   rb  r  r  )"r:   r`  r  r  r   rP  r  rq  rT   r?  r"  ra   r   sendrd  r   TimeoutException_retry_requestrP   r  rQ   r  reason_phraser  r  raise_for_statusHTTPStatusErrorr  r   r  r  readr  _process_response)rj   r\  r   r  rb  r  input_optionsr  r   rM  r   rl  s               rk   r  zSyncAPIClient._request  s    #7++..w@@''00#33D4DEEU%%g]%KKg&&& "'!-F6N		/MMM#	?(t|( S!B!B7!B!S!S  HH
 % 	< 	< 	<II:TIJJJ 1$$**!"/!)%) +         II-...!'222; 	? 	? 	?II-I=== 1$$**!"/!)%) +         II0111$W5553>	?  			-NK "	
 	
 	
 			"H$4$8$8$H$HIII	P%%''''$ 	P 	P 	PII9DIIII 1$$););CL)I)I$""$$$**!"/%(\%9!) +         <) $!!###II/00077EE4O)	P, %%!' & 
 
 	
sb   >+C* *G%9<E&5G%;+E&&G%3<G /G%5+G  G%I) )M8A9M1M7AMMr  httpx.Headers | Nonec                  |                     | j                  |z
  }|dk    rt                              d           nt                              d|           |                     |||          }t                              d|j        |           t          j        |           | 	                    |||dz   ||          S Nr   z1 retry leftz%i retries leftz$Retrying request to %s in %f seconds)r   r\  r  rb  r  )
r  r   rT   r?  r  r   ra   r  sleepr  	rj   r   r\  r  r  rb  r  r  r   s	            rk   r  zSyncAPIClient._retry_request.  s     $33D4DEEU!!IIn%%%%II'):;;;//0A7L\]]7gNNN 	
7}}'!+!  
 
 	
rn   r   r  r   r  1type[Stream[Any]] | type[AsyncStream[Any]] | Nonec               @   |j         j                            t                    dk    r)t	          t
          t          || |||||                    S t          |          p|}t          j	        |          rt          |t                    rqt          |t                    st          dt           d|           t	          d|          }t	          t
           ||| t          |          ||||                    S |t          j        k    rt	          t
          |          S t          || t	          d|          ||||          }	t#          |j         j                            t                              rt	          t
          |	          S |	                                S )Nr  rawr   r\  rb  r  r   r  !API Response types must subclass ; Received type[BaseAPIResponse[Any]]r]  )r   r  r  rH   r   r(   rS   r   rg  rh  ri  rA   r@   r   rC   r   Responser   parse
rj   r\  r   r   rb  r  r  originresponse_clsapi_responses
             rk   r  zSyncAPIClient._process_responseM  s    #''(;<<FF! #!)#"/     G$$/?6"" 	z&/'J'J 	fk22 f dK d d\b d deee <gFFL 1,??!)#"/     en$$	8,,,"*G44!'
 
 
  (,,-@AABB 	1	<000!!###rn   r   Type[object]r   Type[SyncPageT]rU   c                V     d fd}|_                              |d          S )Nr   rU   rd   c                8    |                                 | S )N)r   r   r   )r   )r   r   r   rj   s    rk   r   z0SyncAPIClient._request_api_list.<locals>._parser  s0    (( )   
 Krn   Fr  )r   rU   rd   rU   )r   r   )rj   r   r   r   r   s   `` ` rk   r   zSyncAPIClient._request_api_list  sO    	 	 	 	 	 	 	 	 &||D'%|888rn   r   rb  pathr0   c                   d S rg   rh   rj   r3  r\  r   rb  s        rk   r  zSyncAPIClient.get  r  rn   r   type[_StreamT]c                   d S rg   rh   rj   r3  r\  r   rb  r  s         rk   r  zSyncAPIClient.get  r  rn   r   r  c                   d S rg   rh   r9  s         rk   r  zSyncAPIClient.get  r  rn   r   rb  r  c          	         t          j        dd|d|}t          t          |                     ||||                    S Nr  )r"  ra   r  rh   )r=   	constructr   r(   r   rj   r3  r\  r   rb  r  optss          rk   r  zSyncAPIClient.get  sH     #,OEtOOwOO It||GT&U_|``aaarn   )r  r   r;  rb  r  Body | Noner;  RequestFiles | Nonec                   d S rg   rh   )rj   r3  r\  r  r   r;  rb  s          rk   postzSyncAPIClient.post  s	     Crn   )r  r   r;  c                   d S rg   rh   rj   r3  r\  r  r   r;  rb  r  s           rk   rE  zSyncAPIClient.post  s	     3rn   )r  r   r;  r  c                   d S rg   rh   rG  s           rk   rE  zSyncAPIClient.post  s	      #srn   )r  r   r;  rb  r  c          	         t          j        dd||t          |          d|}t          t          |                     ||||                    S NrE  r"  ra   r@  r;  r  rh   )r=   r?  r   r   r(   r   )	rj   r3  r\  r  r   r;  rb  r  rA  s	            rk   rE  zSyncAPIClient.post  s`     #, 
tt>%;P;P
 
T[
 
 It||GT&U_|``aaarn   r  r   c               X    t          j        dd||d|}|                     ||          S Npatchr"  ra   r@  rh   r=   r?  r   rj   r3  r\  r  r   rA  s         rk   rO  zSyncAPIClient.patch   s9     #,aGQUaaY`aa||GT***rn   r  r;  r   c          	     t    t          j        dd||t          |          d|}|                     ||          S NputrK  rh   )r=   r?  r   r   rj   r3  r\  r  r;  r   rA  s          rk   rV  zSyncAPIClient.put  sO     #, 
dd.:O:O
 
SZ
 
 ||GT***rn   c               X    t          j        dd||d|}|                     ||          S NdeleterP  rh   rQ  rR  s         rk   rZ  zSyncAPIClient.delete  s9     #,bH$RVbbZabb||GT***rn   r  r  r   r"  r"  c               Z    t          j        d|||d|}|                     |||          S NrP  rh   r=   r?  r   rj   r3  r   r   r  r   r"  rA  s           rk   get_api_listzSyncAPIClient.get_api_list$  =     #,`FPT``X_``%%eT4888rn   )r   rr   r   r   r   r   r   r  r   r  r   r   r   r  r  r  r   r   r   r   r   r   rd   re   r   r  rj   rX   rd   rX   r  r  r  r  r  r  rd   re   r   r=   rd   r=   r   r1  rd   re   rg   )r\  r  r   r=   r  r  rb  r  r  r  rd   r[   )
r\  r  r   r=   r  r  rb  r  rd   r(   )r\  r  r   r=   r  r  rb  r   r  r  rd   r  )r\  r  r   r=   r  r  rb  r   r  r   rd   r  )r\  r  r   r=   r  r   rb  r   r  r   rd   r  )r   r=   r\  r  r  r   r  r  rb  r   r  r   rd   r  r\  r  r   r=   r   r  rb  r   r  r!  r  r   rd   r(   )r   r.  r   r/  r   r=   rd   rU   
r3  rr   r\  r  r   r0   rb  r  rd   r(   )r3  rr   r\  r  r   r0   rb  r  r  r7  rd   r[   )r3  rr   r\  r  r   r0   rb  r   r  r   rd   r  )r3  rr   r\  r  r  rB  r   r0   r;  rC  rb  r  rd   r(   )r3  rr   r\  r  r  rB  r   r0   r;  rC  rb  r  r  r7  rd   r[   )r3  rr   r\  r  r  rB  r   r0   r;  rC  rb  r   r  r   rd   r  
r3  rr   r\  r  r  rB  r   r0   rd   r(   r3  rr   r\  r  r  rB  r;  rC  r   r0   rd   r(   )r3  rr   r   r.  r   r/  r  rB  r   r0   r"  rr   rd   rU   )rv   rz   r{   r}   r   rF   r!   rl   r  r  r  r  r  r  r   r   r  r  r  r   r  rE  rO  rV  rZ  r`  r  r  s   @rk   r   r   
  sq        488888 /5>&*'+ $+/3748S
 S
 S
 S
 S
 S
 S
 S
j& & & &! ! ! !         	 	 	 	 
 ,0	    X 
 ,0	 "'     X 
 ,0	# ,0# # # # # X# ,0	
 ,0
 
 
 
 
 
,i
 i
 i
 i
V
 
 
 
N ;$ ;$ ;$ ;$ ;$ ;$z9 9 9 9$  #%!&     X  #%     X  #%,0# # # # # X# #%,0b b b b b b  !"$%)!&	 	 	 	 	 X	  !"$%)
 
 
 
 
 X
  !"$%),0
# 
# 
# 
# 
# X
#" !"$%),0b b b b b b* !"$	+ 	+ 	+ 	+ 	+ 	+  !%)"$+ + + + + +& !"$	+ 	+ 	+ 	+ 	+ 	+" !"$9 9 9 9 9 9 9 9 9 9rn   r   c                        e Zd Zd fdZ xZS )_DefaultAsyncHttpxClientrM  r   rd   re   c                    |                     dt                     |                     dt                     |                     dd            t                      j        di | d S r  r  r  s     rk   rl   z!_DefaultAsyncHttpxClient.__init__3  r  rn   r  r  r  s   @rk   rk  rk  2  r  rn   rk  c                      e Zd ZddZdS )AsyncHttpxClientWrapperrd   re   c                    	 t          j                                        |                                            d S # t          $ r Y d S w xY wrg   )asyncioget_running_loopcreate_taskacloser  rw   s    rk   r  zAsyncHttpxClientWrapper.__del__G  sT    	$&&224;;==AAAAA 	 	 	DD	s   8< 
A
	A
Nr  r  rh   rn   rk   rn  rn  F  s(             rn   rn  c            	      H    e Zd ZU ded<   dZded<   eeddddddddw fdZdxd Zdyd!Z	dzd$Z
d{d+Zd|d.Zd}d1Zed2dd3d~d;            Zedd<ddA            ZedddBddE            Zd2dddFddGZddIZddLZdMdNddRZddXZei d2dYdd\            Zei d]dd^            Zei dd_dd`            Zi d2ddaddbZeddi d2dcddh            Zeddi diddj            Zeddi ddkddl            Zddi d2ddmddnZdi doddpZddi diddqZdi doddrZdi dsdtddvZ xZS )r   zhttpx.AsyncClientr   Nztype[AsyncStream[Any]] | Noner   r  r   rr   r   r   r   r   r   r   r   r  r   AsyncTransport | Noner   r   r   r  r  httpx.AsyncClient | Noner   r   r   r   rd   re   c                  |.t          j        dt          d           |	t          d          nt          }|-t          j        dt          d           |	t          d          |-t          j        dt          d           |	t          d          t          |          s!|	r|	j        t          k    r|	j        }nt          }|	9t          |	t          j                  st          d	t          |	                     t                                          |||t!          t"          |          |||||
|

  
         |	p't%          |t!          t"          |          |||d          | _        d S )Nr  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  )r  r  r  r   rJ   r7   r   r  rD   r   r   AsyncClientr   rB  r  rl   r   r&   rn  r   )rj   r   r   r   r   r   r   r   r   r  r   r   ru   s               rk   rl   zAsyncAPIClient.__init__S  s    Mz+   
 & !qrrr ' /F Mm+   
 & !deeeMk+   
 & !bccc   	*  *{26KKK%-)":k5CT+U+U"zgklwgxgxzz   	'**#%)(C 	 	
 	
 	
 # 
&='**!'
 '
 '
rn   c                    | j         j        S rg   r  rw   s    rk   r  zAsyncAPIClient.is_closed  r  rn   c                H   K   | j                                          d{V  dS )r  N)r   rs  rw   s    rk   r  zAsyncAPIClient.close  s4      
 l!!###########rn   rj   rX   c                
   K   | S rg   rh   rw   s    rk   
__aenter__zAsyncAPIClient.__aenter__  s      rn   r  r  r  r  r  r  c                >   K   |                                   d {V  d S rg   r  r  s       rk   	__aexit__zAsyncAPIClient.__aexit__  s.       jjllrn   r   r=   c                
   K   |S r  rh   r  s     rk   r  zAsyncAPIClient._prepare_options  s      
 rn   r   r1  c                
   K   dS r  rh   rc  s     rk   r  zAsyncAPIClient._prepare_request  s       trn   F)rb  r  r\  r  rb  r  r  r  r(   c               
   K   d S rg   rh   )rj   r\  r   rb  r  s        rk   r   zAsyncAPIClient.request         Crn   )r  r  r  type[_AsyncStreamT]r\   c               
   K   d S rg   rh   rj   r\  r   rb  r  r  s         rk   r   zAsyncAPIClient.request         rn   )r  r  type[_AsyncStreamT] | NoneResponseT | _AsyncStreamTc               
   K   d S rg   rh   r  s         rk   r   zAsyncAPIClient.request         %(Crn   )rb  r  r  c                  K   ||                     | j                  |z
  }nd}|                     |||||           d {V S r  r  )rj   r\  r   rb  r  r  r  s          rk   r   zAsyncAPIClient.request  sy       (#33D4DEEHYYMMM]]!' # 
 
 
 
 
 
 
 
 	
rn   r  c          	       K   | j         ' t          t                                 d {V | _         t          |          }|                     ||          }|                     |           d {V }|                    | j                  |z
  }|                     ||          }| 	                    |           d {V  i }	| j
        
| j
        |	d<   	  | j        j        |fd|p|                     |          i|	 d {V }
n
# t          j        $ rx}t                               dd           |dk    r&|                     |||||d 	           d {V cY d }~S t                               d
           t'          |          |d }~wt(          $ rx}t                               dd           |dk    r&|                     |||||d 	           d {V cY d }~S t                               d           t+          |          |d }~ww xY wt                               d|j        |j        |
j        |
j                   	 |
                                 n# t          j        $ r}t                               dd           |dk    ri|                     |j                  rO|j                                         d {V  |                     ||||j        j        ||           d {V cY d }~S |j        j         s|j        !                                 d {V  t                               d           | "                    |j                  d d }~ww xY w| #                    |||
|||           d {V S )Nr  r  rb  r  r  Tr	  r   r  r  r  r  zHTTP Request: %s %s "%i %s"r  r  r  r  )$r   r6   get_platformr:   r`  r  r  r   rP  r  rq  r   r  rd  r   r  rT   r?  r  rP   r  rQ   r"  ra   r  r  r  r  r  r   rs  r  r  areadr  r  )rj   r\  r   rb  r  r  r  r  r   rM  r   rl  s               rk   r  zAsyncAPIClient._request  s      >! $:8L#9#9#;#;;;;;;;DN
 #7++..w@@--g66666666#33D4DEEU%%g]%KK##G,,,,,,,,, "'!-F6N#	?.T\. S!B!B7!B!S!S        HH
 % 	< 	< 	<II:TIJJJ 1$$!00!"/!)%) 1               II-...!'222; 	? 	? 	?II-I=== 1$$!00!"/!)%) 1               II0111$W5553>	?  			)7>7;H\^f^t	
 	
 	
	P%%''''$ 	P 	P 	PII9DIIII 1$$););CL)I)I$l))+++++++++!00!"/%(\%9!) 1               <) +l((*********II/00077EE4O)	P, ++!' , 
 
 
 
 
 
 
 
 	
sd   1D HAF	H+F		HAH	H+H		HI M)BM.M4A MMr  r  c                 K   |                     | j                  |z
  }|dk    rt                              d           nt                              d|           |                     |||          }t                              d|j        |           t          j        |           d {V  | 	                    |||dz   ||           d {V S r  )
r  r   rT   r?  r  r   ra   anyior  r  r   s	            rk   r  zAsyncAPIClient._retry_requestm  s       $33D4DEEU!!IIn%%%%II'):;;;//0A7L\]]7gNNNk'"""""""""]]'!+! # 
 
 
 
 
 
 
 
 	
rn   r   r  r   r  r!  c               F  K   |j         j                            t                    dk    r)t	          t
          t          || |||||                    S t          |          p|}t          j	        |          rt          |t                    rlt          |t                    st          dt           d|           t	          d|          }t	          d ||| t          |          ||||                    S |t          j        k    rt	          t
          |          S t          || t	          d|          ||||          }	t#          |j         j                            t                              rt	          t
          |	          S |	                                 d {V S )Nr  r#  r%  r&  r'  r(   r]  )r   r  r  rH   r   r(   rS   r   rg  rh  ri  rA   rB   r   rC   r   r(  r   r)  r*  s
             rk   r  z AsyncAPIClient._process_response  s      #''(;<<FF! #!)#"/     G$$/?6"" 	z&/'J'J 	f&677 k iDT i iag i ijjj <gFFL 1,??!)#"/     en$$	8,,,'*G44!'
 
 
  (,,-@AABB 	1	<000!'')))))))))rn   r   r   r   r   AsyncPaginator[_T, AsyncPageT]c                (    t          | |||          S )N)r   r   r   r   )r   )rj   r   r   r   s       rk   r   z AsyncAPIClient._request_api_list  s     T7TQVWWWWrn   r2  r3  r0   c               
   K   d S rg   rh   r5  s        rk   r  zAsyncAPIClient.get  r  rn   r6  c               
   K   d S rg   rh   r9  s         rk   r  zAsyncAPIClient.get  r  rn   r:  c               
   K   d S rg   rh   r9  s         rk   r  zAsyncAPIClient.get  r  rn   r<  c               l   K   t          j        dd|d|}|                     ||||           d {V S r>  rQ  r@  s          rk   r  zAsyncAPIClient.get  sQ       #,OEtOOwOO\\'4:\VVVVVVVVVrn   )r  r;  r   rb  r  rB  r;  rC  c               
   K   d S rg   rh   )rj   r3  r\  r  r;  r   rb  s          rk   rE  zAsyncAPIClient.post  s       Crn   rS  c               
   K   d S rg   rh   rj   r3  r\  r  r;  r   rb  r  s           rk   rE  zAsyncAPIClient.post  s       rn   )r  r;  r   r  c               
   K   d S rg   rh   r  s           rk   rE  zAsyncAPIClient.post  s       %(Crn   )r  r;  r   rb  r  c          	        K   t          j        dd||t          |           d {V d|}|                     ||||           d {V S rJ  r=   r?  r    r   )	rj   r3  r\  r  r;  r   rb  r  rA  s	            rk   rE  zAsyncAPIClient.post!  s       #, 
ttAUV[A\A\;\;\;\;\;\;\
 
`g
 
 \\'4:\VVVVVVVVVrn   rL  c               h   K   t          j        dd||d|}|                     ||           d {V S rN  rQ  rR  s         rk   rO  zAsyncAPIClient.patch1  sO       #,aGQUaaY`aa\\'4000000000rn   c          	        K   t          j        dd||t          |           d {V d|}|                     ||           d {V S rU  r  rW  s          rk   rV  zAsyncAPIClient.put<  sy       #, 
dd@TUZ@[@[:[:[:[:[:[:[
 
_f
 
 \\'4000000000rn   c               h   K   t          j        dd||d|}|                     ||           d {V S rY  rQ  rR  s         rk   rZ  zAsyncAPIClient.deleteJ  sO       #,bH$RVbbZabb\\'4000000000rn   r  r[  r"  c               Z    t          j        d|||d|}|                     |||          S r]  r^  r_  s           rk   r`  zAsyncAPIClient.get_api_listU  ra  rn   )r   rr   r   r   r   r   r   r   r   r  r   ru  r   r   r   r  r  rv  r   r   r   r   rd   re   r   r  rb  rc  rd  re  )
r\  r  r   r=   rb  r  r  r  rd   r(   )r\  r  r   r=   rb  r  r  r  r  r  rd   r\   )r\  r  r   r=   rb  r   r  r  r  r  rd   r  )r\  r  r   r=   rb  r   r  r  r  r   rd   r  )r   r=   r\  r  r  r   r  r  rb  r   r  r  rd   r  rf  )r   r   r   r   r   r=   rd   r  rg  )r3  rr   r\  r  r   r0   rb  r  r  r  rd   r\   )r3  rr   r\  r  r   r0   rb  r   r  r  rd   r  )r3  rr   r\  r  r  rB  r;  rC  r   r0   rb  r  rd   r(   )r3  rr   r\  r  r  rB  r;  rC  r   r0   rb  r  r  r  rd   r\   )r3  rr   r\  r  r  rB  r;  rC  r   r0   rb  r   r  r  rd   r  rh  ri  )r3  rr   r   r   r   r   r  rB  r   r0   r"  rr   rd   r  )rv   rz   r{   r}   r   rF   r!   rl   r  r  r|  r~  r  r  r   r   r  r  r  r   r  rE  rO  rV  rZ  r`  r  r  s   @rk   r   r   O  sb        9===== /5>+/'+ $043748S
 S
 S
 S
 S
 S
 S
 S
j& & & &$ $ $ $         	 	 	 	  "'+/     X  ,0     X  26+/( ( ( ( ( X( 15+/
 
 
 
 
 
,f
 f
 f
 f
P
 
 
 
J ;* ;* ;* ;* ;* ;*zX X X X  #%!&     X  #%     X  #%15( ( ( ( ( X( #%15
W 
W 
W 
W 
W 
W  !%)"$!&	 	 	 	 	 X	  !%)"$
 
 
 
 
 X
  !%)"$15
( 
( 
( 
( 
( X
(" !%)"$15W W W W W W* !"$	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 9 9rn   r   )queryextra_headersextra_query
extra_bodyr#  r   r   r  Query | Noner  Headers | Noner  r  rB  r#  r   r   'float | httpx.Timeout | None | NotGivenr   PostParser | NotGivenrd   r0   c                   i }|||d<   |t          t          |          |d<   | | |d<   |i |                    di           ||d<   t          |t                    s||d<   |||d<   t          |          r||d<   |S )zECreate a dict of type RequestOptions without keys of NotGiven values.Nr  rA  rc   r   r#  r   )r   r*   r  r   r'   r7   )r  r  r  r  r#  r   r   r   s           rk   make_request_optionsr  c  s     !G *	 $Z < <!Hw{{8R88HKHgx(( %$	"%4!" -!,Nrn   c                      e Zd ZddZdS )rG  rd   r   c                    dS )NTrh   rw   s    rk   __bool__zForceMultipartDict.__bool__  s    trn   Nr   )rv   rz   r{   r  rh   rn   rk   rG  rG    s(             rn   rG  c                  .    e Zd ZddZed	d            ZdS )
OtherPlatformnamerr   rd   re   c                    || _         d S rg   r  rj   r  s     rk   rl   zOtherPlatform.__init__      			rn   c                    d| j          S )NzOther:r  rw   s    rk   __str__zOtherPlatform.__str__      #	###rn   Nr  rr   rd   re   ry   rv   rz   r{   rl   r   r  rh   rn   rk   r  r    H            $ $ $ X$ $ $rn   r  )MacOSLinuxWindowsFreeBSDOpenBSDiOSAndroidUnknownPlatformc                 x   	 t          j                                                    } t          j                                                     }n# t          $ r Y dS w xY wd|v sd|v rdS | dk    rdS | dk    rdS d	|v rd
S | dk    r%t	          j                    }|dk    rdS |dk    rdS dS |rt          |          S dS )Nr  iphoneipadr  darwinr  windowsr  androidr  linuxfreebsdr  openbsdr  r  )r  systemr  r  distroidr  )r  platform_name	distro_ids      rk   r  r    s   ""((** )++1133   yy =  Fm$;$;
 uwyM!! yIKK		!!9	!!9w ,]+++9s   A
A 
AA)maxsizer   rr   r  Platform | Noner  c                   d| t          |p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)rr   r  get_architectureget_python_runtimeget_python_version)r   r  s     rk   ry  ry    sQ     %'.h8,..99 0 2 233133'9';';  rn   c                  .    e Zd ZddZed	d            ZdS )
	OtherArchr  rr   rd   re   c                    || _         d S rg   r  r  s     rk   rl   zOtherArch.__init__  r  rn   c                    d| j          S )Nzother:r  rw   s    rk   r  zOtherArch.__str__  r  rn   Nr  ry   r  rh   rn   rk   r  r    r  rn   r  )x32x64armarm64unknownc                 L    	 t          j                    S # t          $ r Y dS w xY wNr  )r  python_implementationr  rh   rn   rk   r  r    s8    -///   yy    
##c                 L    	 t          j                    S # t          $ r Y dS w xY wr  )r  python_versionr  rh   rn   rk   r  r    s8    &(((   yyr  Archc                     	 t          j                                                    } n# t          $ r Y dS w xY w| dv rdS | dk    rdS | dk    rdS t          j        dk    rdS | rt          |           S dS )	Nr  )r  aarch64r  r  x86_64r  l        r  )r  machiner  r  sysr  r  )r  s    rk   r  r    s    "$$**,,   yy &&&w %u(u {eu "!!!9s   %( 
66obj1Mapping[_T_co, Union[_T, Omit]]obj2Dict[_T_co, _T]c                J    i | |}d |                                 D             S )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.
    c                D    i | ]\  }}t          |t                    ||S rh   )r   r#   )r  rY  rZ  s      rk   
<dictcomp>z#_merge_mappings.<locals>.<dictcomp>  s.    WWW:3z%QU?V?VWCWWWrn   )r   )r  r  mergeds      rk   r  r    s/     FWWWWWWrn   )r  r  r  r  r  r  r  rB  r#  r   r   r  r   r  rd   r0   )rd   r  )r   rr   r  r  rd   r  ry   )rd   r  )r  r  r  r  rd   r  )
__future__r   r  r	  r  r  r  rp  rg  r=  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   	getLoggerrv   rT   r}   	addFilterrU   rW   rX   rY   r[   r\   httpx._configr]   r  ImportErrorr_   r   r   r   r   r  rx  r   r   r   r  DefaultHttpxClientr  r   rk  DefaultAsyncHttpxClientrn  r   r  rr   rG  r  r  r  ry  r  r  r  r  r  r  rh   rn   rk   <module>r     s
   " " " " " " " 



                                                          " < ; ; ; ; ; ; ; ; ;                                     8 8 8 8 8 8 8 8                                       ( h g g g g g g g g g g g g g g g g g + + + + + + + + U U U U U U U U U U U U                             I H H H H H H H H H H H            0 / / / / /'g'11 1 1 1 1 $$&& ' ' ' GK':;;;	W\)=>>>
 WT]]4(((7:VC[111{3/?@@@ -MMMMMMM-QQQQQQQ - - - '-
$B $B $B $B $B $B $B $BN-6 -6 -6 -6 -6|WR[ -6 -6 -6`+a +a +a +a +a8B< +a +a +a\$ $ $ $ $WR^, $ $ $N#g #g #g #g #gHRL'"+ #g #g #gL uU\5CT5T/UVVV'+5kRUFV9V3WXXXa8 a8 a8 a8 a878 a8 a8 a8H# # # # #%, # # #  	- -    /   e9 e9 e9 e9 e9Ju|VC[89 e9 e9 e9P# # # # #u0 # # #  	7#/ 7    5   Q9 Q9 Q9 Q9 Q9Z 1;s3C CD Q9 Q9 Q9l $( $""&7@)2" " " " " "J    c4i   
$ $ $ $ $ $ $ $ 		
' ' ' 'T 4   $ $ $ $ $ $ $ $ Y GHHI         4	X 	X 	X 	X 	X 	Xs   <G GG