
    "hjJy                       d dl mZ d dlZd dlZd dlmZmZmZmZm	Z	m
Z
mZmZ d dlmZmZ d dlZddlmZ ddlmZmZmZmZmZmZ ddlmZmZ dd	lmZmZ dd
l m!Z! ddl"m#Z# ddl$m%Z%m&Z& ddl'm(Z( ddl)m*Z*m+Z+ ddl,m-Z- ddl.m/Z/m0Z0  e1g d      Z2e	g e3f   Z4e	g df   Z5 edeejl                  ejn                  f         Z8 edee*e   e+e   f         Z9dju                  g d      Z;d"dZ<d#dZ= G d de-      Z> G d de0e8e9f         Z? G d de?ejl                  e*e   f   e      Z@ G d  d!e?ejn                  e+e   f   e      ZAy)$    )annotationsN)AnyUnionMappingTypeVarCallable	Awaitablecastoverload)Selfoverride   )WorkloadIdentity)	NOT_GIVENOmitQueryHeadersTimeoutNotGiven)is_given
is_mapping)OpenAIAsyncOpenAI)
model_copy)normalize_httpx_url)SecurityOptionsFinalRequestOptions)	_Provider)StreamAsyncStream)OpenAIError)DEFAULT_MAX_RETRIES
BaseClient)z/completionsz/chat/completionsz/embeddingsz/audio/transcriptionsz/audio/translationsz/audio/speechz/images/generationsz/images/editszstr | Awaitable[str]_HttpxClientT)bound_DefaultStreamT )<zmissing API key>c                L    j                         t        fd| D              S )Nc              3  D   K   | ]  }|j                         k(    y wN)lower).0keyheaders     N/root/.hermes/SkillClaw/.venv/lib/python3.12/site-packages/openai/lib/azure.py	<genexpr>z_has_header.<locals>.<genexpr>2   s     8syy{f$8s    )r-   any)headersr0   s    `r1   _has_headerr5   0   s    \\^F8888    c                6    t        | d      xs t        | d      S )NAuthorizationapi-key)r5   )r4   s    r1   _has_auth_headerr:   5   s    w0SK4SSr6   c                        e Zd Zd fdZ xZS )MutuallyExclusiveAuthErrorc                $    t         |   d       y )NzThe `api_key`, `azure_ad_token` and `azure_ad_token_provider` arguments are mutually exclusive; Only one can be passed at a time)super__init__)self	__class__s    r1   r?   z#MutuallyExclusiveAuthError.__init__:   s     O	
r6   )returnNone)__name__
__module____qualname__r?   __classcell__rA   s   @r1   r<   r<   9   s    
 
r6   r<   c                  f     e Zd ZU ded<   ded<   edd	 	 	 	 	 d	 fd       Zed
 fd       Z xZS )BaseAzureClientzhttpx.URL | None_azure_endpoint
str | None_azure_deploymentr   retries_takenc                  |j                   t        v rit        |j                        rT|j                  j	                  d      }|7dt        | j                  j                        vrd| |j                    |_         t        | %  ||      S )Nmodelz/deploymentsz/deployments/rN   )
url_deployments_endpointsr   	json_datagetstrbase_urlpathr>   _build_request)r@   optionsrO   rQ   rA   s       r1   rY   zBaseAzureClient._build_requestD   s|     ;;00Z@Q@Q5R%%))'2E ^3t}}?Q?Q;R%R -eWW[[MBw%g]%KKr6   c                h   | j                   r| j                  r|t        vrt        j                  |      }|j
                  r`| j                  j                  j                  d      dz   |j                  j                  d      z   }| j                  j                  |      S |S t        | -  |      S )zAdjust the URL if the client was configured with an Azure endpoint + deployment
        and the API feature being called is **not** a deployments-based endpoint
        (i.e. requires /deployments/deployment-name in the URL path).
           /s   /openai/raw_path)rM   rK   rS   httpxURLis_relative_urlr^   rstriplstrip	copy_withr>   _prepare_url)r@   rR   	merge_urlmerge_raw_pathrA   s       r1   re   zBaseAzureClient._prepare_urlR   s     !!d&:&:sJ`?`		#I((((1188>LyOaOaOhOhimOnn  ++55~5NNw#C((r6   )rZ   r   rO   intrB   zhttpx.Request)rR   rV   rB   z	httpx.URL)rD   rE   rF   __annotations__r   rY   re   rG   rH   s   @r1   rJ   rJ   @   s[    %%!!
 	L$L 	L
 
L L ) )r6   rJ   c                      e Zd Zedddddddddeedddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd       Zedddddddddeedddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd       Zeddddddddeedddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd       Zdddddddddddddeedddddd		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d fd
Zedddeddddddddededddddi d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d fd       ZeZ	ddZ
edd       Zedd       Zedd       ZddZ xZS )AzureOpenAINFT)azure_deploymentapi_versionapi_keyadmin_api_keyazure_ad_tokenazure_ad_token_providerorganizationwebhook_secretwebsocket_base_urltimeoutmax_retriesdefault_headersdefault_queryhttp_client_strict_response_validation_enforce_credentialsc                    y r,    )r@   azure_endpointrl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   s                     r1   r?   zAzureOpenAI.__init__f       * r6   c                    y r,   r}   )r@   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   s                    r1   r?   zAzureOpenAI.__init__}       ( r6   )rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   c                    y r,   r}   )r@   rW   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   s                    r1   r?   zAzureOpenAI.__init__   r   r6   )rm   r~   rl   rn   ro   workload_identityrp   rq   rr   projectrs   rt   rW   ru   rv   rw   rx   ry   rz   r{   c                  |t         j                  j                  d      }|t         j                  j                  d      }|r|||t        d      |t         j                  j                  d      }|t	        d      |d|i}ni |d|i}|\|t         j                  j                  d      }|t	        d	      ||j                  d
       d| }n"|j                  d
       d}n|t	        d      |t        }t        | !  |||	|
||||||||||       || _	        || _
        || _        |r|nd| _        |rt        j                  |      | _        yd| _        y)aa  Construct a new synchronous azure openai client instance.

        This automatically infers the following arguments from their corresponding environment variables if they are not provided:
        - `api_key` from `AZURE_OPENAI_API_KEY`
        - `organization` from `OPENAI_ORG_ID`
        - `project` from `OPENAI_PROJECT_ID`
        - `azure_ad_token` from `AZURE_OPENAI_AD_TOKEN`
        - `api_version` from `OPENAI_API_VERSION`
        - `azure_endpoint` from `AZURE_OPENAI_ENDPOINT`

        Args:
            azure_endpoint: Your Azure endpoint, including the resource, e.g. `https://example-resource.azure.openai.com/`

            azure_ad_token: Your Azure Active Directory token, https://www.microsoft.com/en-us/security/business/identity-access/microsoft-entra-id

            azure_ad_token_provider: A function that returns an Azure Active Directory token, will be invoked on every request.

            azure_deployment: A model deployment, if given with `azure_endpoint`, sets the base client URL to include `/deployments/{azure_deployment}`.
                Not supported with Assistants APIs.
        NAZURE_OPENAI_API_KEYAZURE_OPENAI_AD_TOKENMissing credentials. Please pass one of `api_key`, `azure_ad_token`, `azure_ad_token_provider`, or the `AZURE_OPENAI_API_KEY` or `AZURE_OPENAI_AD_TOKEN` environment variables.OPENAI_API_VERSION_Must provide either the `api_version` argument or the `OPENAI_API_VERSION` environment variableapi-versionAZURE_OPENAI_ENDPOINTuMust provide one of the `base_url` or `azure_endpoint` arguments, or the `AZURE_OPENAI_ENDPOINT` environment variable//openai/deployments//openai2base_url and azure_endpoint are mutually exclusivern   ro   rr   r   rs   rW   ru   rv   rw   rx   ry   rt   rz   r{   osenvironrU   r!   
ValueErrorrb   API_KEY_SENTINELr>   r?   _api_version_azure_ad_token_azure_ad_token_providerrM   r_   r`   rK   )r@   rm   r~   rl   rn   ro   r   rp   rq   rr   r   rs   rt   rW   ru   rv   rw   rx   ry   rz   r{   rA   s                        r1   r?   zAzureOpenAI.__init__      Z ?jjnn%;<G!ZZ^^,CDNGO8NSjSr B  **..)=>Kq   *K8MI}Im[IM%!#0G!H%  L   +,33C899MN^M_`,33C89A) !UVV?&G'%)#+'#1(C!5 	 	
  (-(?%5C!1<Juyy8PTr6   rn   ro   r   providerrr   r   rs   rt   rm   rp   rq   rW   ru   ry   rv   rw   set_default_headersrx   set_default_queryr{   _extra_kwargsc                   t        |t              st        d      t        |   |||||||||||||||||	xs | j
                  |
xs | j                  |xs | j                  d|      S )~
        Create a new client instance re-using the same options given to the current client with optional overriding.
        zFConfigure `provider` on `OpenAI`, not on `AzureOpenAI.with_options()`.rm   rp   rq   rn   ro   r   rr   r   rs   rt   rW   ru   ry   rv   rw   r   rx   r   r{   r   
isinstancer   r!   r>   copyr   r   r   r@   rn   ro   r   r   rr   r   rs   rt   rm   rp   rq   rW   ru   ry   rv   rw   r   rx   r   r{   r   rA   s                         r1   r   zAzureOpenAI.copy  s    : (H-fggw|'/%)1##+ 3'/!5*?d.?.?"0"HD4H4H+B+cdFcFc  	#  
 	
r6   c                    | j                   | j                   S | j                  }|) |       }|rt        |t              st	        d|       |S y NzOExpected `azure_ad_token_provider` argument to return a string but it returned )r   r   r   rV   r   r@   r   tokens      r1   _get_azure_ad_tokenzAzureOpenAI._get_azure_ad_tokenT  sa    +'''00JE
5# 6 efkelm  Lr6   c                    | j                   dd| j                    iS | j                  r!| j                  t        k7  rd| j                  iS i S Nr8   Bearer r9   r   rn   r   r@   securitys     r1   _auth_headerszAzureOpenAI._auth_headersc  N    +#wt/C/C.D%EFF<<DLL,<<t||,,	r6   c                F    t        |      st        |      ry t        d      Nz"Could not resolve authentication method. Expected either api_key, azure_ad_token or azure_ad_token_provider to be set. Or for one of the `Authorization` or `api-key` headers to be explicitly supplied or omitted"r:   	TypeErrorr@   r4   custom_headerss      r1   _validate_headerszAzureOpenAI._validate_headersm  (    G$(8(H c
 	
r6   c                   t        |j                        ri |j                  ni }t        |      }||_        | j                         }|t	        |d      sd| |d<   |S | j
                  r0| j
                  t        k7  rt	        |d      s| j
                  |d<   |S t        |      st        | j                        r	 |S t        d      Nr8   r   r9   zUnable to handle auth
r   r4   r   r   r5   rn   r   r:   rw   r   r@   rZ   r4   rp   s       r1   _prepare_optionszAzureOpenAI._prepare_optionsv  s    @H@Y)<GOO)<_aW%!113%w8-4^4D+E(  \\dll.>>w	2%)\\	"  g&*:4;O;O*P
  455r6   c                   i }i || j                   | j                  xs |d}| j                  r| j                  dk7  rd| j                  i}n| j                         }|rdd| i}| j                  Ft        | j                        }|j                  j                  d      dz   }|j                  |      }n#| j                  d	      }|j                  d
      }|j                  i |      }	|	|fS N)r   
deploymentz<missing API key>r9   r8   r   r\   s	   /realtimer]   z	/realtimewss)scheme)params
r   rM   rn   r   rt   r   r^   rb   rd   re   
r@   rQ   extra_queryauth_headersqueryr   rW   rg   realtime_urlrR   s
             r1   _configure_realtimezAzureOpenAI._configure_realtime  s   

,,009E

 <<DLL,??%t||4L,,.E /75'1BC"".*4+B+BCH%..55d;lJN#--~-FL((5H#--U-;L$$IuI$6L  r6   )$r~   rV   rl   rL   rm   rL   rn   str | Callable[[], str] | Nonero   rL   rp   rL   rq   AzureADTokenProvider | Nonerr   rL   rs   rL   rt   str | httpx.URL | Noneru   !float | Timeout | None | NotGivenrv   rh   rw   Mapping[str, str] | Nonerx   Mapping[str, object] | Nonery   httpx.Client | Nonerz   boolr{   r   rB   rC   )"rl   rL   rm   rL   rn   r   ro   rL   rp   rL   rq   r   rr   rL   rs   rL   rt   r   ru   r   rv   rh   rw   r   rx   r   ry   r   rz   r   r{   r   rB   rC   )"rW   rV   rm   rL   rn   r   ro   rL   rp   rL   rq   r   rr   rL   rs   rL   rt   r   ru   r   rv   rh   rw   r   rx   r   ry   r   rz   r   r{   r   rB   rC   )*rm   rL   r~   rL   rl   rL   rn   r   ro   rL   r   WorkloadIdentity | Nonerp   rL   rq   r   rr   rL   r   rL   rs   rL   rt   r   rW   rL   ru   r   rv   rh   rw   r   rx   r   ry   r   rz   r   r{   r   rB   rC   ),rn   r   ro   rL   r   r   r   _Provider | None | NotGivenrr   rL   r   rL   rs   rL   rt   r   rm   rL   rp   rL   rq   r   rW   r   ru   r   ry   r   rv   int | NotGivenrw   r   r   r   rx   r   r   r   r{   bool | Noner   Mapping[str, Any]rB   r   rB   rL   r   r   rB   zdict[str, str]r4   r   r   r   rB   rC   rZ   r   rB   r   rQ   rV   r   r   rB   z tuple[httpx.URL, dict[str, str]]rD   rE   rF   r   r   r"   r?   r   r   with_optionsr   r   r   r   r   rG   rH   s   @r1   rk   rk   e   s   
 (,"&26$(%)?C#'%)595>.4859+/,1%)'  %	
   0 " # "= ! # 3 3  2  3!" )#$ &*%& #'( 
) ,  (,"&26$(%)?C#'%)595>.4859+/,1%)% %  	
 0 " # "= ! # 3 3  2 3  )!" &*#$ #%& 
' * 
 #'26$(%)?C#'%)595>.4859+/,1%)%   	
 0 " # "= ! # 3 3  2 3  )!" &*#$ #%& 
' 0 #'%)'+26$(59%)?C#'"%)59#5>.4859+/,1%)/nU  nU #	nU
 %nU 0nU "nU 3nU #nU "=nU !nU nU #nU 3nU  !nU" 3#nU$ %nU& 2'nU( 3)nU* )+nU, &*-nU. #/nU0 
1nU`  37$(5909#'"%)59"&%)?C+/5>+/&/488<599=,0+-/6
 06
 "	6

 36
 .6
 !6
 6
 #6
 36
  6
 #6
 "=6
 )6
 36
  )!6
" $#6
$ 2%6
& 6'6
( 3)6
* 7+6
, *-6
. )/6
0 
16
 6
p L   
 
  *!r6   rk   c                      e Zd Zeddddddddddeedddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd       Zeddddddddddeedddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd       Zedddddddddeedddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd       Zdddddddddddddeedddddd		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d fd
Zedddeddddddddededddddi d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d fd       ZeZ	ddZ
edd       Zedd       Zedd       ZddZ xZS )AsyncAzureOpenAINFT)rl   rm   rn   ro   rp   rq   rr   r   rs   rt   ru   rv   rw   rx   ry   rz   r{   c                    y r,   r}   )r@   r~   rl   rm   rn   ro   rp   rq   rr   r   rs   rt   ru   rv   rw   rx   ry   rz   r{   s                      r1   r?   zAsyncAzureOpenAI.__init__  s    , r6   c                    y r,   r}   )r@   rl   rm   rn   ro   rp   rq   rr   r   rs   rt   ru   rv   rw   rx   ry   rz   r{   s                     r1   r?   zAsyncAzureOpenAI.__init__  r   r6   )rm   rn   ro   rp   rq   rr   r   rs   rt   ru   rv   rw   rx   ry   rz   r{   c                    y r,   r}   )r@   rW   rm   rn   ro   rp   rq   rr   r   rs   rt   ru   rv   rw   rx   ry   rz   r{   s                     r1   r?   zAsyncAzureOpenAI.__init__  r   r6   )r~   rl   rm   rn   ro   r   rp   rq   rr   r   rs   rW   rt   ru   rv   rw   rx   ry   rz   r{   c                  |t         j                  j                  d      }|t         j                  j                  d      }|r|||t        d      |t         j                  j                  d      }|t	        d      |d|i}ni |d|i}|\|t         j                  j                  d      }|t	        d	      ||j                  d
       d| }n"|j                  d
       d}n|t	        d      |t        }t        | !  |||	|
||||||||||       || _	        || _
        || _        |r|nd| _        |rt        j                  |      | _        yd| _        y)ab  Construct a new asynchronous azure openai client instance.

        This automatically infers the following arguments from their corresponding environment variables if they are not provided:
        - `api_key` from `AZURE_OPENAI_API_KEY`
        - `organization` from `OPENAI_ORG_ID`
        - `project` from `OPENAI_PROJECT_ID`
        - `azure_ad_token` from `AZURE_OPENAI_AD_TOKEN`
        - `api_version` from `OPENAI_API_VERSION`
        - `azure_endpoint` from `AZURE_OPENAI_ENDPOINT`

        Args:
            azure_endpoint: Your Azure endpoint, including the resource, e.g. `https://example-resource.azure.openai.com/`

            azure_ad_token: Your Azure Active Directory token, https://www.microsoft.com/en-us/security/business/identity-access/microsoft-entra-id

            azure_ad_token_provider: A function that returns an Azure Active Directory token, will be invoked on every request.

            azure_deployment: A model deployment, if given with `azure_endpoint`, sets the base client URL to include `/deployments/{azure_deployment}`.
                Not supported with Assistants APIs.
        Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   )r@   r~   rl   rm   rn   ro   r   rp   rq   rr   r   rs   rW   rt   ru   rv   rw   rx   ry   rz   r{   rA   s                        r1   r?   zAsyncAzureOpenAI.__init__  r   r6   r   c                   t        |t              st        d      t        |   |||||||||||||||||	xs | j
                  |
xs | j                  |xs | j                  d|      S )r   zPConfigure `provider` on `AsyncOpenAI`, not on `AsyncAzureOpenAI.with_options()`.r   r   r   r   s                         r1   r   zAsyncAzureOpenAI.copy]  s    : (H-pqqw|'/%)1##+ 3'/!5*?d.?.?"0"HD4H4H+B+cdFcFc  	#  
 	
r6   c                  K   | j                   | j                   S | j                  }|_ |       }t        j                  |      r
| d {   }|rt	        t        t        |      t              st        d|       t        |      S y 7 >wr   )	r   r   inspectisawaitabler   r
   r   rV   r   r   s      r1   r   z$AsyncAzureOpenAI._get_azure_ad_token  s     +'''00JE""5)#
4U+;S A efkelm  u: $s   AB
B	?Bc                    | j                   dd| j                    iS | j                  r!| j                  t        k7  rd| j                  iS i S r   r   r   s     r1   r   zAsyncAzureOpenAI._auth_headers  r   r6   c                F    t        |      st        |      ry t        d      r   r   r   s      r1   r   z"AsyncAzureOpenAI._validate_headers  r   r6   c                  K   t        |j                        ri |j                  ni }t        |      }||_        | j                          d {   }|t	        |d      sd| |d<   |S | j
                  r0| j
                  t        k7  rt	        |d      s| j
                  |d<   |S t        |      st        | j                        r	 |S t        d      7 wr   r   r   s       r1   r   z!AsyncAzureOpenAI._prepare_options  s     @H@Y)<GOO)<_aW%!#7799%w8-4^4D+E(  \\dll.>>w	2%)\\	"  g&*:4;O;O*P
  455 :s   ACCBCc                  K   i }i || j                   | j                  xs |d}| j                  r| j                  dk7  rd| j                  i}n!| j                          d {   }|rdd| i}| j                  Ft        | j                        }|j                  j                  d      dz   }|j                  |      }n#| j                  d	      }|j                  d
      }|j                  i |      }	|	|fS 7 wr   r   r   s
             r1   r   z$AsyncAzureOpenAI._configure_realtime  s    

,,009E

 <<DLL,??%t||4L2244E /75'1BC"".*4+B+BCH%..55d;lJN#--~-FL((5H#--U-;L$$IuI$6L   5s   A!D #C>$BD )&r~   rV   rl   rL   rm   rL   rn   )str | Callable[[], Awaitable[str]] | Nonero   rL   rp   rL   rq    AsyncAzureADTokenProvider | Nonerr   rL   r   rL   rs   rL   rt   r   ru   r   rv   rh   rw   r   rx   r   ry   httpx.AsyncClient | Nonerz   r   r{   r   rB   rC   )$rl   rL   rm   rL   rn   r   ro   rL   rp   rL   rq   r   rr   rL   r   rL   rs   rL   rt   r   ru   r   rv   rh   rw   r   rx   r   ry   r   rz   r   r{   r   rB   rC   )$rW   rV   rm   rL   rn   r   ro   rL   rp   rL   rq   r   rr   rL   r   rL   rs   rL   rt   r   ru   r   rv   rh   rw   r   rx   r   ry   r   rz   r   r{   r   rB   rC   )*r~   rL   rl   rL   rm   rL   rn   r   ro   rL   r   r   rp   rL   rq   r   rr   rL   r   rL   rs   rL   rW   rL   rt   r   ru   r   rv   rh   rw   r   rx   r   ry   r   rz   r   r{   r   rB   rC   ),rn   r   ro   rL   r   r   r   r   rr   rL   r   rL   rs   rL   rt   r   rm   rL   rp   rL   rq   r   rW   r   ru   r   ry   r   rv   r   rw   r   r   r   rx   r   r   r   r{   r   r   r   rB   r   r   r   r   r   r   r   rH   s   @r1   r   r     s   
 (,"&=A$(%)DH#'"%)595>.485904,1%))  %	
   ; " # "B !  # 3 3   2!" 3#$ .%& &*'( #)* 
+ .  (,"&=A$(%)DH#'"%)595>.485904,1%)' %  	
 ; " # "B !  # 3 3  2  3!" .#$ &*%& #'( 
) , 
 #'=A$(%)DH#'"%)595>.485904,1%)'   	
 ; " # "B !  # 3 3  2  3!" .#$ &*%& #'( 
) 2 &*'+"&=A$(59%)DH#'"%)#595>.485904,1%)/nU #nU %	nU
  nU ;nU "nU 3nU #nU "BnU !nU nU #nU nU  3!nU" 3#nU$ %nU& 2'nU( 3)nU* .+nU, &*-nU. #/nU0 
1nU`  >B$(5909#'"%)59"&%)DH+/5>04&/488<599=,0+-/6
 ;6
 "	6

 36
 .6
 !6
 6
 #6
 36
  6
 #6
 "B6
 )6
 36
  .!6
" $#6
$ 2%6
& 6'6
( 3)6
* 7+6
, *-6
. )/6
0 
16
 6
p L"   
 
  *!r6   r   )r4   r   r0   rV   rB   r   )r4   r   rB   r   )B
__future__r   r   r   typingr   r   r   r   r   r	   r
   r   typing_extensionsr   r   r_   authr   _typesr   r   r   r   r   r   _utilsr   r   _clientr   r   _compatr   _httpx2r   _modelsr   r   	_providerr   
_streamingr   r    _exceptionsr!   _base_clientr"   r#   setrS   rV   AzureADTokenProviderAsyncAzureADTokenProviderClientAsyncClientr$   r&   joinr   r5   r:   r<   rJ   rk   r   r}   r6   r1   <module>r	     s<   " 	  T T T ,  # G G ) )   ) : ! , % :	   C( $R)?%?@ uU\\5CTCT5T/UV+5kRUFV9V3WX 7789 9
T
 
")j!?@ ")J~!/%,,s";<f ~!B
C!u'8'8+c:J'JK[ C!r6   