+
    ~j?                      a  0 t $ ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIH	t	H
t
HtHtHtHtHtHtHtHt ^ RIHtHtHtHtHt ^ RIt^ RIt^ RIt^RIHt ^RIHtH t H!t!H"t" ^RI#H$t$H%t%H&t& ^RI'H(t( ^R	I)H*t*H+t+H,t,H-t- ^R
I.H/t/ ]	'       d   ^RI#H0t0 ^RI1H2t2 ]! R4      t3]! R4      t4]! R4      t5]Pl                  ! ]74      t8R]9R&    ! R R]]4,          4      t: ! R R];4      t<R R lt=R R lt> ! R R4      t?R# )    )annotationsN)
TYPE_CHECKINGAnyUnionGenericTypeVarCallableIteratorAsyncIteratorcastoverload)	Awaitable	ParamSpecoverride
deprecated
get_origin)NoneType)is_givenextract_type_argis_annotated_typeis_type_alias_type)	BaseModelis_basemodeladd_request_id)RAW_RESPONSE_HEADER)StreamAsyncStreamis_stream_class_typeextract_stream_chunk_type)APIResponseValidationError)FinalRequestOptions)
BaseClientPR_Tzlogging.Loggerlogc                     ] tR t^-t$ RtR]R&   R]R&   R]R&   R]R	&   R
]R&   R]R&   R]R&   R]R&    R^ /R R llt]R R l4       t]	R R l4       t
]	R R l4       t
RR/R R llt
]R R l4       t]R  R! l4       t]R" R# l4       t]R$ R% l4       t]R& R' l4       t]R( R) l4       t]R* R+ l4       t]R, R- l4       t]R. R/ l4       t]R0 R1 l4       tRR/R2 R3 llt]R4 R5 l4       tR6tR# )7LegacyAPIResponsea  This is a legacy class as it will be replaced by `APIResponse`
and `AsyncAPIResponse` in the `_response.py` file in the next major
release.

For the sync client this will mostly be the same with the exception
of `content` & `text` will be methods instead of properties. In the
async client, all methods will be async.

A migration script will be provided & the migration in general should
be smooth.
type[R]_cast_toBaseClient[Any, Any]_clientzdict[type[Any], Any]_parsed_by_typebool_stream1type[Stream[Any]] | type[AsyncStream[Any]] | None_stream_clsr!   _optionshttpx.Responsehttp_responseintretries_takenc               8    V ^8  d   QhRRRRRRRRR	R
RRRRRR/# )   rawr3   cast_tor)   clientr+   streamr.   
stream_clsr0   optionsr!   r6   r5   returnNone )formats   "l/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/openai/_legacy_response.py__annotate__LegacyAPIResponse.__annotate__F   s]     + + + 	+
 %+ + F+ %+ + 
+    c               	h    W n         W0n        / V n        W@n        WPn        W`n        Wn        Wpn        R # N)r*   r,   r-   r/   r1   r2   r4   r6   )selfr9   r:   r;   r<   r=   r>   r6   s   &$$$$$$$rC   __init__LegacyAPIResponse.__init__F   s2      !% *rF   c                   V ^8  d   QhRR/# r8   r?   z
str | NonerA   )rB   s   "rC   rD   rE   [   s     > >J >rF   c                	L    V P                   P                  P                  R 4      # )zx-request-id)r4   headersgetrI   s   &rC   
request_idLegacyAPIResponse.request_idZ   s    !!))--n==rF   c                    V ^8  d   QhRRRR/# )r8   toztype[_T]r?   r%   rA   )rB   s   "rC   rD   rE   _   s    //8//rF   c               	    R # rH   rA   )rI   rU   s   &$rC   parseLegacyAPIResponse.parse^   s    ,/rF   c                   V ^8  d   QhRR/# )r8   r?   r$   rA   )rB   s   "rC   rD   rE   b   s    qrF   c                	    R # rH   rA   rQ   s   &rC   rW   rX   a   s    rF   rU   Nc                    V ^8  d   QhRRRR/# r8   rU   ztype[_T] | Noner?   zR | _TrA   )rB   s   "rC   rD   rE   d   s     - -? -f -rF   c                  Ve   TMV P                   pV P                  P                  V4      pVe   V# V P                  VR7      p\	        V P
                  P                  4      '       d   V P
                  P                  V4      p\        V\        4      '       d   \        W@P                  4       W@P                  V&   \        \        V4      # )a6  Returns the rich python representation of this response's data.

NOTE: For the async client: this will become a coroutine in the next major version.

For lower-level control, see `.read()`, `.json()`, `.iter_bytes()`.

You can customise the type that the response is parsed into through
the `to` argument, e.g.

```py
from openai import BaseModel


class MyModel(BaseModel):
    foo: str


obj = response.parse(to=MyModel)
print(obj.foo)
```

We support parsing:
  - `BaseModel`
  - `dict`
  - `list`
  - `Union`
  - `str`
  - `int`
  - `float`
  - `httpx.Response`
)rU   )r*   r-   rP   _parser   r2   post_parser
isinstancer   r   rR   r   r$   )rI   rU   	cache_keycachedparseds   &$   rC   rW   rX   d   s    @ .Bdmm	%%)))4M#DMM--..]]..v6Ffi((6??3*0Y'AvrF   c                   V ^8  d   QhRR/# )r8   r?   zhttpx.HeadersrA   )rB   s   "rC   rD   rE      s     * * *rF   c                	.    V P                   P                  # rH   )r4   rO   rQ   s   &rC   rO   LegacyAPIResponse.headers       !!)))rF   c                   V ^8  d   QhRR/# )r8   r?   zhttpx.RequestrA   )rB   s   "rC   rD   rE      s     * *m *rF   c                	.    V P                   P                  # rH   )r4   requestrQ   s   &rC   http_requestLegacyAPIResponse.http_request   rg   rF   c                   V ^8  d   QhRR/# )r8   r?   r5   rA   )rB   s   "rC   rD   rE      s     . .S .rF   c                	.    V P                   P                  # rH   )r4   status_coderQ   s   &rC   ro   LegacyAPIResponse.status_code   s    !!---rF   c                   V ^8  d   QhRR/# )r8   r?   z	httpx.URLrA   )rB   s   "rC   rD   rE      s     & &Y &rF   c                	.    V P                   P                  # rH   )r4   urlrQ   s   &rC   rs   LegacyAPIResponse.url   s    !!%%%rF   c                   V ^8  d   QhRR/# r8   r?   strrA   )rB   s   "rC   rD   rE      s     ( ( (rF   c                	.    V P                   P                  # rH   )rk   methodrQ   s   &rC   ry   LegacyAPIResponse.method   s      '''rF   c                   V ^8  d   QhRR/# r8   r?   bytesrA   )rB   s   "rC   rD   rE      s     * * *rF   c                .    V P                   P                  # )zrReturn the binary response content.

NOTE: this will be removed in favour of `.read()` in the
next major version.
)r4   contentrQ   s   &rC   r   LegacyAPIResponse.content   s     !!)))rF   c                   V ^8  d   QhRR/# rv   rA   )rB   s   "rC   rD   rE      s     ' 'c 'rF   c                .    V P                   P                  # )ziReturn the decoded response content.

NOTE: this will be turned into a method in the next major version.
)r4   textrQ   s   &rC   r   LegacyAPIResponse.text   s     !!&&&rF   c                   V ^8  d   QhRR/# rv   rA   )rB   s   "rC   rD   rE      s     / /c /rF   c                	.    V P                   P                  # rH   )r4   http_versionrQ   s   &rC   r   LegacyAPIResponse.http_version   s    !!...rF   c                   V ^8  d   QhRR/# )r8   r?   r.   rA   )rB   s   "rC   rD   rE      s     , ,4 ,rF   c                	.    V P                   P                  # rH   )r4   	is_closedrQ   s   &rC   r   LegacyAPIResponse.is_closed   s    !!+++rF   c                   V ^8  d   QhRR/# )r8   r?   zdatetime.timedeltarA   )rB   s   "rC   rD   rE      s     * *+ *rF   c                .    V P                   P                  # )zCThe time taken for the complete request/response cycle to complete.)r4   elapsedrQ   s   &rC   r   LegacyAPIResponse.elapsed   s     !!)))rF   c                    V ^8  d   QhRRRR/# r\   rA   )rB   s   "rC   rD   rE      s     P
 P
O P
v P
rF   c               	B   Ve   TMV P                   p\        V4      '       d   VP                  pV'       d   \        V4      '       d   \	        V^ 4      p\        V4      ;'       g    TpV P                  '       Edl   V'       d|   \        V4      '       g   \        R\         R\         24      h\        \        V! \        VRR7      V P                  \        \        V P                   4      V P"                  R7      4      # V P$                  '       dc   \        \&        V P%                  \        V P$                  4      V P                  \        \        V P                   4      V P"                  R7      4      # \        RV P                   P(                  4      pVf   \+        4       h\        \&        V! VV P                  \        \        V P                   4      V P"                  R7      4      # V\,        J d   \        \&        R 4      # V P                  pV\.        8X  d   \        \&        VP0                  4      # V\2        8X  d$   \        \&        \3        VP0                  4      4      # V\4        8X  d$   \        \&        \5        VP0                  4      4      # V\6        8X  d,   \        \&        VP0                  P9                  4       R8H  4      # \:        P<                  ! V4      '       d-   \?        V\@        4      '       d   \        \&        V! V4      4      # V\B        8X  d   \E        R4      h\:        P<                  ! V4      '       dQ   \?        V\F        PH                  4      '       d1   V\F        PH                  8w  d   \K        R	4      h\        \&        V4      # \:        P<                  ! V4      '       dB   \?        V\L        4      '       g,   \?        V\N        PL                  4      '       d   \        R
4      hV\P        Jd   V\R        J gu   V\T        J gk   V\V        J ga   \?        V\L        4      '       gK   \E        RV R\L         R\T         R\R         R\V         R\,         R\.         R\F        PH                   R24      hVPX                  P[                  RR4      P]                  R4      vrgVP_                  R4      '       g   \a        V4      '       d0    VPc                  4       pV P                   Pe                  VVVR7      # V P                   Pn                  '       d   \q        VRV R2VP0                  R7      hVP0                  # VPc                  4       pV P                   Pe                  VVVR7      #   \f         d+   p	\h        Pk                  R\m        T	4      T	4        R p	?	LR p	?	ii ; i)Nz/Expected custom parse type to be a subclass of z or zUExpected custom stream type to be passed with a type argument, e.g. Stream[ChunkType])failure_message)r:   responser;   r>   r0   truez+Unexpected state - cast_to is `APIResponse`z:Subclasses of httpx.Response cannot be passed to `cast_to`zVPydantic models must subclass our base model type, e.g. `from openai import BaseModel`zUnsupported type, expected z to be a subclass of z, .zcontent-type*;json)datar:   r   z5Could not read JSON from response data due to %s - %szMExpected Content-Type response header to be `application/json` but received `z
` instead.)r   messagebody)9r*   r   	__value__r   r   r   r/   r   	TypeErrorr   r   r   r%   r   r4   r   r,   r2   r1   r$   _default_stream_clsMissingStreamClassErrorr   rw   r   r5   floatr.   lowerinspectisclass
issubclassHttpxBinaryResponseContentr(   RuntimeErrorhttpxResponse
ValueErrorr   pydanticobjectlistdictr   rO   rP   splitendswithr   r   _process_response_data	Exceptionr&   debugtype_strict_response_validationr    )
rI   rU   r:   originr=   r   content_type_r   excs
   &$        rC   r^   LegacyAPIResponse._parse   s   "DMM g&&''G (11&w2GG$//<<<+B//#&UV\U]]abman$opp 9 -D! "&!3!3#C6 $  $$ 9$:J:J K!%!3!3#C6 $	 %   QSWS_S_SsSstJ!-//#!//T\\2 MM	  h4= %%c>8==))c>3x}}-..e5/00d?8==..0F:;;??6""z&:T'U'U78,--&&LMM??
 
00 %..( #]__8$$ OO  vy1168#5#566tuu 6!dNdNeOvy11-gY6KI;VXY]X^^`ae`ffhinhooqrzq{{}  B  ~C  CG  HM  HV  HV  GW  WX  Y  $++//DJJ3O$$V,,G$$	#==?D  <<>>! '!) ?   ||7770%klxky  zD  E!  == }}||22 3 
 	
/ ! gIIUW[\_W`beffgs   	U) )V4 VVc                   V ^8  d   QhRR/# rv   rA   )rB   s   "rC   rD   rE   X  s     m m# mrF   c                	j    R V P                    RV P                  P                   RV P                   R2# )z<APIResponse [ z] type=>)ro   r4   reason_phraser*   rQ   s   &rC   __repr__LegacyAPIResponse.__repr__W  s;     0 0143E3E3S3S2TT[\`\i\i[jjkllrF   )r*   r,   r2   r-   r/   r1   r4   r6   )__name__
__module____qualname____firstlineno____doc____annotations__rJ   propertyrR   r   rW   rO   rk   ro   rs   ry   r   r   r   r   r   r^   r   r   __static_attributes__rA   rF   rC   r(   r(   -   sv   
 !!))MBB!!!!M+ +( > > / / -T -^ * * * * . . & & ( ( * * ' ' / / , , * *P
d P
d m mrF   r(   c                  .   a  ] tR tRtR V 3R lltRtV ;t# )r   i\  c                   V ^8  d   QhRR/# r8   r?   r@   rA   )rB   s   "rC   rD   $MissingStreamClassError.__annotate__]  s     
 
$ 
rF   c                	&   < \         SV `  R 4       R# )zzThe `stream` argument was set to `True` but the `stream_cls` argument was not given. See `openai._streaming` for referenceN)superrJ   )rI   	__class__s   &rC   rJ    MissingStreamClassError.__init__]  s     I	
rF   rA   )r   r   r   r   rJ   r   __classcell__)r   s   @rC   r   r   \  s    
 
rF   r   c                    V ^8  d   QhRRRR/# )r8   funczCallable[P, R]r?   z!Callable[P, LegacyAPIResponse[R]]rA   )rB   s   "rC   rD   rD   c  s      . 5V rF   c                L   a  \         P                  ! S 4      R V 3R ll4       pV# )Higher order function that takes one of our bound API methods and wraps it
to support returning the raw `APIResponse` object directly.
c               $    V ^8  d   QhRRRRRR/# r8   argszP.argskwargszP.kwargsr?   zLegacyAPIResponse[R]rA   )rB   s   "rC   rD   -to_raw_response_wrapper.<locals>.__annotate__i  s'     A Av A A6J ArF   c                    < / \        \        VP                  R 4      4      ;'       g    / CpRV\        &   W!R &   \        \        \
        ,          S! V / VB 4      # )extra_headersr   r   r   rP   r   r(   r$   r   r   r   r   s   *, rC   wrapped(to_raw_response_wrapper.<locals>.wrappedh  sV    (ZDfjj6Q,R,X,XVX(Z-3)*"/%a($*?*?@@rF   	functoolswrapsr   r   s   f rC   to_raw_response_wrapperr   c  s)    
 __TA A NrF   c                    V ^8  d   QhRRRR/# )r8   r   zCallable[P, Awaitable[R]]r?   z,Callable[P, Awaitable[LegacyAPIResponse[R]]]rA   )rB   s   "rC   rD   rD   t  s      (A Fr rF   c                L   a  \         P                  ! S 4      R V 3R ll4       pV# )r   c               $    V ^8  d   QhRRRRRR/# r   rA   )rB   s   "rC   rD   3async_to_raw_response_wrapper.<locals>.__annotate__z  s'     G GV Gx G<P GrF   c                    <"   / \        \        VP                  R 4      4      ;'       g    / CpRV\        &   W!R &   \        \        \
        ,          S! V / VB G Rj  xL
 4      #  L5i)r   r   Nr   r   s   *, rC   r   .async_to_raw_response_wrapper.<locals>.wrappedy  s_     (ZDfjj6Q,R,X,XVX(Z-3)*"/%a(d0Ef0E*EFF*Es   AA'A%
	A'r   r   s   f rC   async_to_raw_response_wrapperr   t  s)    
 __TG G NrF   c                     ] tR tRt$ R]R&   R R lt]R R l4       t]R R	 l4       t]R
 R l4       t	]R R l4       t
R R ltR R ltR2R R lltR2R R lltR R ltR2R R lltR R lt]! R4      RR/R R  ll4       tR! R" ltR# R$ ltR2R% R& lltR2R' R( lltR) R* ltR2R+ R, llt]! R4      RR/R- R. ll4       tR/ R0 ltR1tR# )3r   i  r3   r   c                    V ^8  d   QhRRRR/# )r8   r   r3   r?   r@   rA   )rB   s   "rC   rD   'HttpxBinaryResponseContent.__annotate__  s     ! ! !D !rF   c                	    Wn         R # rH   r   )rI   r   s   &&rC   rJ   #HttpxBinaryResponseContent.__init__  s     rF   c                   V ^8  d   QhRR/# r|   rA   )rB   s   "rC   rD   r     s     % % %rF   c                	.    V P                   P                  # rH   )r   r   rQ   s   &rC   r   "HttpxBinaryResponseContent.content  s    }}$$$rF   c                   V ^8  d   QhRR/# rv   rA   )rB   s   "rC   rD   r     s     " "c "rF   c                	.    V P                   P                  # rH   )r   r   rQ   s   &rC   r   HttpxBinaryResponseContent.text  s    }}!!!rF   c                   V ^8  d   QhRR/# rM   rA   )rB   s   "rC   rD   r     s     & &* &rF   c                	.    V P                   P                  # rH   )r   encodingrQ   s   &rC   r   #HttpxBinaryResponseContent.encoding  s    }}%%%rF   c                   V ^8  d   QhRR/# rM   rA   )rB   s   "rC   rD   r     s     . .* .rF   c                	.    V P                   P                  # rH   )r   charset_encodingrQ   s   &rC   r   +HttpxBinaryResponseContent.charset_encoding  s    }}---rF   c                    V ^8  d   QhRRRR/# )r8   r   r   r?   rA   )rB   s   "rC   rD   r     s     , ,S ,S ,rF   c                	:    V P                   P                  ! R/ VB # )NrA   )r   r   )rI   r   s   &,rC   r   HttpxBinaryResponseContent.json  s    }}!!+F++rF   c                   V ^8  d   QhRR/# r|   rA   )rB   s   "rC   rD   r     s     $ $e $rF   c                	6    V P                   P                  4       # rH   )r   readrQ   s   &rC   r  HttpxBinaryResponseContent.read  s    }}!!##rF   Nc                    V ^8  d   QhRRRR/# r8   
chunk_size
int | Noner?   zIterator[bytes]rA   )rB   s   "rC   rD   r     s     4 4Z 4? 4rF   c                	8    V P                   P                  V4      # rH   )r   
iter_bytesrI   r  s   &&rC   r  %HttpxBinaryResponseContent.iter_bytes  s    }}''
33rF   c                    V ^8  d   QhRRRR/# )r8   r  r  r?   Iterator[str]rA   )rB   s   "rC   rD   r     s     3 3J 3- 3rF   c                	8    V P                   P                  V4      # rH   )r   	iter_textr  s   &&rC   r  $HttpxBinaryResponseContent.iter_text  s    }}&&z22rF   c                   V ^8  d   QhRR/# )r8   r?   r  rA   )rB   s   "rC   rD   r     s     * *M *rF   c                	6    V P                   P                  4       # rH   )r   
iter_linesrQ   s   &rC   r  %HttpxBinaryResponseContent.iter_lines  s    }}''))rF   c                    V ^8  d   QhRRRR/# r
  rA   )rB   s   "rC   rD   r     s     2 2: 2 2rF   c                	8    V P                   P                  V4      # rH   )r   iter_rawr  s   &&rC   r  #HttpxBinaryResponseContent.iter_raw  s    }}%%j11rF   c                    V ^8  d   QhRRRR/# )r8   filestr | os.PathLike[str]r?   r@   rA   )rB   s   "rC   rD   r     s      $ 
rF   c                    \        VRR7      ;_uu_ 4       pV P                  P                  4        F  pVP                  V4       K  	  RRR4       R#   + '       g   i     R# ; i)aN  Write the output to the given file.

Accepts a filename or any path-like object, e.g. pathlib.Path

Note: if you want to stream the data to the file instead of writing
all at once then you should use `.with_streaming_response` when making
the API request, e.g. `client.with_streaming_response.foo().stream_to_file('my_filename.txt')`
wbmodeNopenr   r  write)rI   r  fr   s   &&  rC   write_to_file(HttpxBinaryResponseContent.write_to_file  sD     $T""a002 3 #"""s   3AA$	zDue to a bug, this method doesn't actually stream the response content, `.with_streaming_response.method()` should be used insteadr  c               $    V ^8  d   QhRRRRRR/# r8   r  r   r  r  r?   r@   rA   )rB   s   "rC   rD   r     s(      $ 	
 
rF   c               	    \        VR R7      ;_uu_ 4       pV P                  P                  V4       F  pVP                  V4       K  	  RRR4       R#   + '       g   i     R# ; ir"  r#  Nr%  )rI   r  r  r(  r   s   &&$  rC   stream_to_file)HttpxBinaryResponseContent.stream_to_file  sF     $T""a00< = #"""s   4AA%	c                   V ^8  d   QhRR/# r   rA   )rB   s   "rC   rD   r     s     % %t %rF   c                	6    V P                   P                  4       # rH   )r   closerQ   s   &rC   r3   HttpxBinaryResponseContent.close  s    }}""$$rF   c                   V ^8  d   QhRR/# r|   rA   )rB   s   "rC   rD   r     s     + +U +rF   c                	R   "   V P                   P                  4       G R j  xL
 #  L5irH   )r   areadrQ   s   &rC   r7   HttpxBinaryResponseContent.aread  s     ]]((****   '%'c                    V ^8  d   QhRRRR/# r8   r  r  r?   zAsyncIterator[bytes]rA   )rB   s   "rC   rD   r     s     5 5J 5BV 5rF   c                	@   "   V P                   P                  V4      # 5irH   )r   aiter_bytesr  s   &&rC   r=  &HttpxBinaryResponseContent.aiter_bytes  s     }}((44   c                    V ^8  d   QhRRRR/# )r8   r  r  r?   AsyncIterator[str]rA   )rB   s   "rC   rD   r     s     4 4: 4AS 4rF   c                	@   "   V P                   P                  V4      # 5irH   )r   
aiter_textr  s   &&rC   rC  %HttpxBinaryResponseContent.aiter_text  s     }}''
33r?  c                   V ^8  d   QhRR/# )r8   r?   rA  rA   )rB   s   "rC   rD   r     s     + +#5 +rF   c                	>   "   V P                   P                  4       # 5irH   )r   aiter_linesrQ   s   &rC   rG  &HttpxBinaryResponseContent.aiter_lines  s     }}((**s   c                    V ^8  d   QhRRRR/# r;  rA   )rB   s   "rC   rD   r     s     3 3* 3@T 3rF   c                	@   "   V P                   P                  V4      # 5irH   )r   	aiter_rawr  s   &&rC   rK  $HttpxBinaryResponseContent.aiter_raw  s     }}&&z22r?  c               $    V ^8  d   QhRRRRRR/# r,  rA   )rB   s   "rC   rD   r     s(     	$ 	$$	$ 		$
 
	$rF   c               	~  "   \         P                  ! V4      pVP                  R R7      G Rj  xL
 ;_uu_4       GRj  xL
 pV P                  P	                  V4        Rj  xL
  pVP                  V4      G Rj  xL
  K%   LU LF L$ LD'RRR4      GRj  xL 
  R#   + GRj  xL 
 '       g   i     R# ; i5ir.  )anyioPathr&  r   r=  r'  )rI   r  r  pathr(  r   s   &&$   rC   astream_to_file*HttpxBinaryResponseContent.astream_to_file  s      zz$-----"mm77
C $ $dggdm## .$# D .-----s   ,B=BB=B B=B B#B
$B'B =B

>B B=B=B
B B B=BB= B:	&B)'
B:	2B:	4	B=c                   V ^8  d   QhRR/# r   rA   )rB   s   "rC   rD   r     s     , ,d ,rF   c                	R   "   V P                   P                  4       G R j  xL
 #  L5irH   )r   acloserQ   s   &rC   rV  !HttpxBinaryResponseContent.aclose  s     ]]))++++r9  r   rH   )r   r   r   r   r   rJ   r   r   r   r   r   r   r  r  r  r  r  r)  r   r/  r3  r7  r=  rC  rG  rK  rR  rV  r   rA   rF   rC   r   r     s    ! % % " " & & . .,$43*2   	M "&	%+54+3  	M	$ "&		$	$, ,rF   r   )@__conditional_annotations__
__future__r   osr   loggingdatetimer   typingr   r   r   r   r   r	   r
   r   r   r   typing_extensionsr   r   r   r   r   rO  r   r   _typesr   _utilsr   r   r   r   _modelsr   r   r   
_constantsr   
_streamingr   r   r   r   _exceptionsr    r!   _base_clientr"   r#   r$   r%   	getLoggerr   r&   r   r(   r   r   r   r   r   )rX  s   @rC   <module>rg     s    " " 	       U T     U U < < + \ \ 3,( cNCLT]''1^ 1lm
 lm^	
i 
""f, f,rF   