ó
    ûÞ j j  ã                  óš  • % S SK Jr  S SKrS SKrS SKrS SKrS SKJrJ	r	J
r
  S SKJr  S SKJrJr  S SKrS SKrSSKJr  SSKJrJrJr  S	S
KJrJrJrJr  SSKJrJrJ r   SSK!J"r"J#r#J$r$J%r%  Sr&Sr'Sr(Sr)Sr*Sr+1 Skr,\RZ                  " S5      r.\&SSS.r/\/Ra                  5        V s1 sH  n \Rc                  U 5      Rd                  iM      sn r3\" SSS9r4S\5S'    " S S\65      r7SS.S;S jjr8S<S jr9S<S  jr:          S=S! jr; " S" S#\Rx                  5      r= " S$ S%\R|                  5      r?SS&S'.         S>S( jjr@SS&S'.         S?S) jjrAS@S* jrB    SAS+ jrC        SBS, jrD      SCS- jrESDS. jrFSES/ jrG      SFS0 jrHSGS1 jrISHS2 jrJSIS3 jrKSJS4 jrL " S5 S6\\   5      rM " S7 S8\M5      rN " S9 S:\M5      rOgs  sn f )Ké    )ÚannotationsN)ÚAnyÚNoReturnÚcast)Ú
ContextVar)ÚTypeIsÚoverrideé   )Úis_dict)Útimeout_exceptionsÚnormalize_httpx_urlÚ_loaded_legacy_httpxé   )ÚTOKEN_EXCHANGE_GRANT_TYPEÚWorkloadIdentityÚX509WorkloadIdentityÚ_WorkloadIdentityAuth)ÚMAX_RETRY_DELAYÚINITIAL_RETRY_DELAYÚMAX_RETRY_AFTER_DELAY)Ú
OAuthErrorÚOpenAIErrorÚAPITimeoutErrorÚAPIConnectionErrorzhttps://mtls.api.openai.com/v1z(https://mtls.auth.openai.com/oauth/tokenz'urn:openai:params:oauth:token-type:x509Úopenai_x509_replay_positionÚ!openai_x509_replay_file_positions>   ÚtypeÚservice_account_idÚidentity_provider_idÚrefresh_buffer_secondsz[A-Za-z0-9._~+/-]+=*z!https://mtls-us.api.openai.com/v1z!https://mtls-eu.api.openai.com/v1)ÚglobalÚusÚeuÚ$openai_x509_exchange_request_timeout)Údefaultz*ContextVar[dict[str, float | None] | None]Ú_EXCHANGE_REQUEST_TIMEOUTc                  ó   • \ rS rSrSS jrSrg)Ú_TransientTokenExchangeErroré,   c                ó   • Xl         g ©N©Úerror)Úselfr-   s     ÚK/var/www/html/gaurav/venv/lib/python3.13/site-packages/openai/auth/_x509.pyÚ__init__Ú%_TransientTokenExchangeError.__init__-   s   € Ø�
ó    r,   N)r-   r   ÚreturnÚNone)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r0   Ú__static_attributes__© r2   r/   r(   r(   ,   s   † ÷r2   r(   ©Úexpected_originc               óN  • [        U 5      nUR                  S:w  d  UR                  (       d  [        S5      eUR                  (       d  UR
                  (       a  [        S5      eUb>  UR                  UR                  4UR                  UR                  4:w  a  [        S5      eg g )NÚhttpsz:X.509 workload identity requires an absolute HTTPS API URLz@X.509 workload identity API URLs cannot contain user credentialszCX.509 workload identity requests must use the configured API origin)r   ÚschemeÚhostr   ÚusernameÚpasswordÚport)Úurlr<   Únormalized_urls      r/   Úvalidate_x509_api_urlrF   1   s—   € Ü(¨Ó-€NØ×Ñ Ó'¨~×/B×/BÜÐVÓWÐWà×× .×"9×"9ÜÐ\Ó]Ð]àÑ"¨×(;Ñ(;¸^×=PÑ=PÐ'QØ×ÑØ×ÑðVó (ô Ð_Ó`Ð`ð	(Ð"r2   c                ó\   • [        S U R                   5       5      (       a  [        S5      eg )Nc              3  óf   #   • U H(  nUR                  5       R                  S S5      S;   v •  M*     g7f)Ú_Ú-)úapi-keyú	x-api-keyúproxy-authorizationN©ÚlowerÚreplace©Ú.0Úheaders     r/   Ú	<genexpr>Ú0validate_x509_api_credentials.<locals>.<genexpr>A   s0   é € ð á%ˆFð 	�‰‹×Ñ˜s CÓ(Ð,[Ö[Ú%ùó   ‚/1zLX.509 workload identity requests cannot include API-key or proxy credentials)ÚanyÚheadersr   ©Úrequests    r/   Úvalidate_x509_api_credentialsr[   @   s3   € Ü
ñ à—o’oó÷ ñ ô ÐhÓiÐið	r2   c                óº  ^• U R                   R                  S5      m[        T5      S:w  d;  [        U4S jS 5       5      (       d!  [        S U R                    5       5      (       a  [	        S5      e [
        R                  " STS    35      nUR                  (       d‰  UR                  (       dx  UR                  S
:w  dh  UR                  (       dW  UR                  (       dF  UR                  UR                  4U R                  R                  U R                  R                  4:w  a  [	        S5      eg ! [
        R                   a  n[	        S	5      UeS nAff = f)Nr@   r   c              3  ó0   >#   • U H  oTS    ;   v •  M     g7f)r   Nr:   )rR   Ú	delimiterÚhost_headerss     €r/   rT   Ú2validate_x509_request_authority.<locals>.<genexpr>L   s   øé € ÐF¹X°	˜L¨™OÖ+ºXùs   ƒz/?#@\c              3  ó@   #   • U H  oR                  S 5      v •  M     g7f)Ú:N)Ú
startswithrQ   s     r/   rT   r`   M   s   é € ÐD±O¨&× Ñ  ×%Ð%²Oùs   ‚zIX.509 workload identity requests require exactly one valid Host authorityzhttps://r   z?X.509 workload identity requests require a valid Host authorityÚ/zAX.509 workload identity Host authority must match the request URL)rX   Úget_listÚlenrW   r   Úhttpx2ÚURLÚ
InvalidURLrA   rB   ÚpathÚqueryÚfragmentr@   rC   rD   )rZ   Úhost_urlr-   r_   s      @r/   Úvalidate_x509_request_authorityrn   H   s  ø€ Ø—?‘?×+Ñ+¨FÓ3€LäˆLÓ˜QÓÜÔF¹XÓF×FÑFÜÑD°G·O²OÓD×DÑDäÐeÓfÐfðhÜ—:’: ¨°a©Ð(9Ð:Ó;ˆð
 	××Ø××Ø�=‰=˜CÓØ�>�>Ø××Ø�M‰M˜8Ÿ=™=Ð)¨g¯k©k×.>Ñ.>ÀÇÁ×@PÑ@PÐ-QÓQäÐ]Ó^Ð^ð Røô ×Ñó hÜÐ[Ó\ÐbgÐgûðhús   Á3D5 Ä5EÅ	EÅEc               óø  • [        U R                  US9  [        U 5        U R                  R	                  S5      nUb$  X@R                  R
                  :w  a  [        S5      eU R                  R	                  S5      nU R                  R                  [        ;   aO  UbL  [        U[        5      (       a,  UR                  5       UR                  R                  5       :w  a  [        S5      eU(       aU  [        U R                  5      [        :w  a  [        S5      e[        S U R                   5       5      (       a  [        S5      eg [        U 5        U R                  R	                  S	5      U:w  a  [        S
5      eg )Nr;   ÚtargetzAX.509 workload identity request target must match the request URLÚsni_hostnamezEX.509 workload identity TLS hostname must match the configured originzDX.509 token exchange requests must use the pinned authentication URLc              3  óf   #   • U H(  nUR                  5       R                  S S5      S;   v •  M*     g7f)rI   rJ   )ÚauthorizationrM   ÚcookierL   rK   NrN   rQ   s     r/   rT   Ú._validate_transport_request.<locals>.<genexpr>w   s5   é € ð 
ñ *�ð �L‰L‹N×"Ñ" 3¨Ó,ØYöZâ)ùrV   z<X.509 token exchange requests cannot include API credentialsÚAuthorizationzMX.509 workload identity authorization cannot be changed by HTTP request hooks)rF   rD   rn   Ú
extensionsÚgetÚraw_pathr   r@   Ú_OPENAI_MTLS_HOSTSÚ
isinstanceÚstrrO   Ú_X509_TOKEN_EXCHANGE_URLrW   rX   r[   )rZ   r<   Úexpected_authorizationÚtoken_exchangerp   rq   s         r/   Ú_validate_transport_requestr€   a   s?  € ô ˜'Ÿ+™+°ÒGÜ# GÔ,à×Ñ×#Ñ# HÓ-€FØÑ˜f¯©×(<Ñ(<Ó<ÜÐ]Ó^Ð^à×%Ñ%×)Ñ)¨.Ó9€LØ‡{�{×ÑÔ-Ó-°,Ñ2JÜ˜,¬×,Ñ,°×0BÑ0BÓ0DÈ×H\ÑH\×HbÑHbÓHdÓ0dÜÐeÓfÐfæÜˆw�{‰{ÓÔ7Ó7ÜÐdÓeÐeÜñ 
ð "Ÿ/š/ó
÷ 
ñ 
ô
 Ð\Ó]Ð]ð
ô 	& gÔ.Ø�?‰?×Ñ˜Ó/Ð3IÓIÜÐmÓnÐnð Jr2   c                  óZ   • \ rS rSr          SS jr\SS j5       r\S	S j5       rSrg)
Ú_SyncX509ForwardingTransportéƒ   c               ó4   • Xl         X l        X0l        X@l        g r+   ©Ú_http_clientÚ_expected_originÚ_expected_authorizationÚ_token_exchange©r.   Úhttp_clientr<   r~   r   s        r/   r0   Ú%_SyncX509ForwardingTransport.__init__„   ó   € ð (ÔØ /ÔØ'=Ô$Ø-Õr2   c                ó
  • [        UU R                  U R                  U R                  S9  U R                  R
                  (       a  [        S5      eU R                  R                  UR                  5      R                  U5      $ ©N)r<   r~   r   z5Cannot send a request, as the client has been closed.)
r€   r‡   rˆ   r‰   r†   Ú	is_closedÚRuntimeErrorÚ_transport_for_urlrD   Úhandle_request©r.   rZ   s     r/   r“   Ú+_SyncX509ForwardingTransport.handle_request‘   sl   € ä#ØØ ×1Ñ1Ø#'×#?Ñ#?Ø×/Ñ/ò		
ð ×Ñ×&×&ÜÐVÓWÐWØ× Ñ ×3Ñ3°G·K±KÓ@×OÑOÐPWÓXÐXr2   c                ó   • g r+   r:   ©r.   s    r/   ÚcloseÚ"_SyncX509ForwardingTransport.close�   s   € ð r2   ©rˆ   r‡   r†   r‰   N)
r‹   úhttpx2.Clientr<   ú
httpx2.URLr~   ú
str | Noner   Úboolr3   r4   ©rZ   úhttpx2.Requestr3   úhttpx2.Response©r3   r4   )	r5   r6   r7   r8   r0   r	   r“   r˜   r9   r:   r2   r/   r‚   r‚   ƒ   sc   † ð.ð #ð.ð $ð	.ð
 !+ð.ð ð.ð 
ô.ð ó	Yó ð	Yð óó ór2   r‚   c                  óZ   • \ rS rSr          SS jr\SS j5       r\S	S j5       rSrg)
Ú_AsyncX509ForwardingTransporté£   c               ó4   • Xl         X l        X0l        X@l        g r+   r…   rŠ   s        r/   r0   Ú&_AsyncX509ForwardingTransport.__init__¤   r�   r2   c              ƒ  ó&  #   • [        UU R                  U R                  U R                  S9  U R                  R
                  (       a  [        S5      eU R                  R                  UR                  5      R                  U5      I S h  v•N $  N7fr�   )
r€   r‡   rˆ   r‰   r†   r�   r‘   r’   rD   Úhandle_async_requestr”   s     r/   r©   Ú2_AsyncX509ForwardingTransport.handle_async_request±   su   é € ä#ØØ ×1Ñ1Ø#'×#?Ñ#?Ø×/Ñ/ò		
ð ×Ñ×&×&ÜÐVÓWÐWØ×&Ñ&×9Ñ9¸'¿+¹+ÓF×[Ñ[Ð\cÓd×dÐdÑdùs   ‚BBÂ
BÂBc              ƒ  ó   #   • g 7fr+   r:   r—   s    r/   ÚacloseÚ$_AsyncX509ForwardingTransport.aclose½   s
   é € ð ùs   ‚rš   N)
r‹   úhttpx2.AsyncClientr<   rœ   r~   r�   r   rž   r3   r4   rŸ   r¢   )	r5   r6   r7   r8   r0   r	   r©   r¬   r9   r:   r2   r/   r¤   r¤   £   sc   † ð.ð (ð.ð $ð	.ð
 !+ð.ð ð.ð 
ô.ð ó	eó ð	eð óó ór2   r¤   F)r~   r   c               ó\  • [        U UUUS9n[        5       n[        R                  nUb9  [	        [        [        U 5      [        R                  5      (       d  UR                  nU" UU R                  U(       a  S OU R                  U R                  SS9nU(       d  U R                  Ul        U$ ©N)r‹   r<   r~   r   F)Ú	transportÚtimeoutÚevent_hooksÚdefault_encodingÚ	trust_env)r‚   r   rg   ÚClientr{   r   Úobjectr²   r³   Ú_default_encodingÚcookiesÚ_cookies©r‹   r<   r~   r   r±   Úlegacy_httpxÚclient_typeÚscoped_clients           r/   Ú_scoped_sync_clientr¿   Ã   s�   € ô -ØØ'Ø5Ø%ñ	€Iô (Ó)€LÜ—-‘-€KØÑ¬
´4¼ÀÓ3LÌfÏmÉm×(\Ñ(\Ø"×)Ñ)ˆÙØØ×#Ñ#Þ*‘D°×0GÑ0GØ$×6Ñ6Øñ€Mö Ø!,×!4Ñ!4ˆÔØÐr2   c               ó\  • [        U UUUS9n[        5       n[        R                  nUb9  [	        [        [        U 5      [        R                  5      (       d  UR                  nU" UU R                  U(       a  S OU R                  U R                  SS9nU(       d  U R                  Ul        U$ r°   )r¤   r   rg   ÚAsyncClientr{   r   r·   r²   r³   r¸   r¹   rº   r»   s           r/   Ú_scoped_async_clientrÂ   à   s¡   € ô .ØØ'Ø5Ø%ñ	€Iô (Ó)€LÜ×$Ñ$€KØÑ¬
´4¼ÀÓ3LÌf×N`ÑN`×(aÑ(aØ"×.Ñ.ˆÙØØ×#Ñ#Þ*‘D°×0GÑ0GØ$×6Ñ6Øñ€Mö Ø!,×!4Ñ!4ˆÔØÐr2   c                óÚ   • [        U [        5      (       d  [        U [        [        45      (       d  g  [        U 5      n [
        R                  " U 5      (       a  U $ S $ ! [         a     g f = fr+   )r{   rž   ÚintÚfloatÚOverflowErrorÚmathÚisfinite)Úvalues    r/   Ú_as_finite_floatrÊ   ý   s_   € Ü�%œ×Ñ¤j°¼¼e¸×&EÑ&EØðÜ�e“ˆô —M’M %×(Ñ(ˆ5Ð2¨dÐ2øô ó Ùðús   ³A Á
A*Á)A*c                ó@   • U S L=(       a    U R                  S5      S:H  $ )Nr   Úx509)rx   ©Úidentitys    r/   Úis_x509_workload_identityrÏ     s"   € ð ˜4Ð×B H§L¡L°Ó$8¸FÑ$BÐBr2   c                óh   • Ub  [        U5      (       d  U $ U[        ;  a  [        S5      e[        U   $ )NzCX.509 workload identity requires a supported regional mTLS endpoint)rÏ   Ú_MTLS_REGIONAL_BASE_URLSr   )Úbase_urlÚdata_residencyÚworkload_identitys      r/   Úx509_data_residency_base_urlrÕ     s;   € ð
 ÑÔ%>Ð?P×%QÑ%QØˆØÔ5Ó5ÜÐ_Ó`Ð`Ü# NÑ3Ð3r2   c                óŒ   • Uc  U $ U R                  5        VVs0 sH  u  p#UR                  5       S:w  d  M  X#_M     snn$ s  snnf )Nrs   )ÚitemsrO   )rX   rÔ   ÚnamerÉ   s       r/   Úx509_safe_environment_headersrÙ     s@   € ð Ñ ØˆØ+2¯=©=¬?Ô^©?™K˜D¸d¿j¹j»lÈoÑ>]‹KˆDŠK©?Ò^Ð^ùÓ^s
   ™A ¶A c                óF  ^ • ST ;   d  ST ;   a  [        S5      e[        T 5      [        -
  (       a  [        S5      e[        U 4S jS 5       5      (       a  [        S5      e[	        [
        T R                  S5      5      nUb   [        U5      nUb  US	:  a  [        S
5      eg g )NÚproviderÚ	client_idzMX.509 workload identity does not accept a subject-token provider or client IDzPX.509 workload identity accepts only identity IDs and an optional refresh bufferc              3  ó¤   >#   • U HF  n[        TR                  U5      [        5      (       + =(       d    TR                  U5      (       + v •  MH     g 7fr+   )r{   rx   r|   )rR   ÚfieldrÎ   s     €r/   rT   Ú%_validate_identity.<locals>.<genexpr>(  sC   øé € ð ñ
ˆEô �x—|‘| EÓ*¬CÓ0Ô0×K¸¿¹ÀUÓ8KÔ4KÔKò
ùs   ƒAA)r   r   zJX.509 workload identity requires identity-provider and service-account IDsr    r   zFX.509 workload identity requires a finite, non-negative refresh buffer)r   ÚsetÚ_ALLOWED_IDENTITY_FIELDSrW   r   r·   rx   rÊ   )rÎ   Úrefresh_bufferÚrefresh_buffer_values   `  r/   Ú_validate_identityrä   !  s­   ø€ Ø�XÓ °Ó!8ÜÐiÓjÐjä
ˆ8ƒ}Ô/×/ÜÐlÓmÐmä
ô ñ
ó÷ ñ ô ÐfÓgÐgäœ& (§,¡,Ð/GÓ"HÓI€NØÑ!Ü/°Ó?ÐØÑ'Ð+?À!Ó+CÜÐfÓgÐgð ,Dð "r2   c                ó,   • [         [        U S   U S   S.$ )Nr   r   )Ú
grant_typeÚsubject_token_typer   r   )r   Ú_X509_SUBJECT_TOKEN_TYPErÍ   s    r/   Ú_exchange_payloadré   8  s$   € ä/Ü6Ø (Ð)?Ñ @Ø&Ð';Ñ<ñ	ð r2   c          	     óF  • [         R                  n[        5       nUbv  [        [	        [
        U5      [         R                  [         R                  45      (       d9  [	        [        [         R                     [	        [        U5      R                  5      n[        R                  5       nU=(       d$    [         R                  " S5      R                  5       R                  5        VVs0 sH  u  pVXVb  [        US5      OS_M     nnnU" S[         [#        U 5      SU0S9$ s  snnf )Ng      $@ÚPOSTr²   )Újsonrw   )rg   ÚRequestr   r{   r   r·   r¶   rÁ   r   r   r&   rx   ÚTimeoutÚas_dictr×   Úminr}   ré   )rÎ   r‹   Úrequest_typer¼   Úconfigured_timeoutÚphaserÉ   r²   s           r/   Ú_token_exchange_requestrô   A  sî   € ô
 —>‘>€LÜ'Ó)€LØÑ¬
´4¼ÀÓ3LÌvÏ}É}Ô^d×^pÑ^pÐNq×(rÑ(rÜœD¤§¡Ñ0´$´s¸LÓ2I×2QÑ2QÓRˆä2×6Ñ6Ó8Ðð 0×Q´6·>²>À$Ó3G×3OÑ3OÓ3Q×XÑXÔZôáZ‰LˆEð 	Ñ#4Œs�5˜$Ô¸$Ò>ÙZð ñ ñ ØÜ Ü˜xÓ(Ø˜wÐ'ñ	ð ùó	s   Ã&Dc                óà  • U Gb'  U R                   R                  S5      nU R                  S;   d  US:X  a  g US:w  a!  U R                  S;  a  U R                  S:  a  g U R                   R                  S5      nU R                   R                  S5      nUbK   [        U5      S	-  n[        R
                  " U5      (       a  S
Us=::  a  [        ::  a   U$   U[        :”  a  g  UbG   [        U5      n[        R
                  " U5      (       a  S
Us=::  a  [        ::  a   U$   U[        :”  a  g [        [        [         SU-  -  ["        5      5      $ ! [         a     Nyf = f! [         a„     [        R                  R                  U5      nUb>  [        [        R                  R                  U5      [        R                  " 5       -
  5      OSn NÝ! [        [        [        4 a    Sn  N÷f = ff = f)Núx-should-retry©i�  i‘  i“  ÚfalseÚtrue©i˜  i™  i­  éô  zretry-after-mszretry-afteriè  r   éÿÿÿÿr
   )rX   rx   Ústatus_coderÅ   rÇ   rÈ   r   Ú
ValueErrorÚemailÚutilsÚparsedate_tzÚ	mktime_tzÚtimerÆ   ÚOSErrorrð   r   r   )ÚresponseÚattemptÚshould_retryÚretry_after_msÚretry_afterÚmillisecond_delayÚdelayÚparseds           r/   Ú_retry_delayr  X  sÍ  € ØÒØ×'Ñ'×+Ñ+Ð,<Ó=ˆØ×Ñ ?Ó2°lÀgÓ6MØØ˜6Ó! h×&:Ñ&:À/Ó&QÐV^×VjÑVjÐmpÓVpØà!×)Ñ)×-Ñ-Ð.>Ó?ˆØ×&Ñ&×*Ñ*¨=Ó9ˆØÑ%ð Ü$)¨.Ó$9¸DÑ$@Ð!ô —=’=Ð!2×3Ñ3¸Ð=NÕ8gÔRgÔ8gØ,Ð,ð 9hà$Ô'<Ó<Øð =àÑ"ðÜ˜kÓ*�ô �}Š}˜U×#Ñ#¨¨UÕ(KÔ6KÔ(KØ�ð )LàÔ,Ó,Øä”Ô(¨1¨g©:Ñ5´ÓGÓHÐHøô- ó Ùðûô ó ðÜ"Ÿ[™[×5Ñ5°kÓB�FØRXÑRdœE¤%§+¡+×"7Ñ"7¸Ó"?Ä$Ç)Â)Ã+Ñ"MÔNÐjl’EøÜ%¤w´
Ð;ó Ø“Eðúð	ús=   ÂE Ã&E Å
EÅEÅ
G-Å*A"GÇG)Ç%G-Ç(G)Ç)G-c                óü  • [        [        U SS 5      [        5      (       a  gU R                  n[        USS 5      n[        U[        5      (       aö  / n[        [        [           U5       HÆ  n[        USS 5      nUb  [        U[        [        45      (       a  M0  [        USS 5      n[        USS 5      n[        USS 5      n [        U5      (       a,  U" 5       (       a   [        U5      (       a  [        U5      (       d    gU" 5       n	[        U	[        5      (       d    gUR                  XY45        MÈ     X0R                  [        '   g[        US	U5      n
[        U
SS 5      n[        U
SS 5      n[        U
SS 5      n [        U5      (       a,  U" 5       (       a   [        U5      (       a  [        U5      (       d  gU" 5       U R                  [        '   g! [        [        4 a       gf = f! [        [        4 a     gf = f)
NÚ_contentTÚfieldsÚfileÚseekableÚseekÚtellFÚ_stream)r{   ÚgetattrÚbytesÚstreamÚlistr   r·   r|   Úcallabler  rþ   rÄ   Úappendrw   Ú _REPLAY_FILE_POSITIONS_EXTENSIONÚ_REPLAY_POSITION_EXTENSION)rZ   r  r  Úfile_positionsrÞ   r  r  r  r  ÚpositionÚsources              r/   Ú_is_replayable_requestr!  ~  sÄ  € Ü”'˜' :¨tÓ4´e×<Ñ<Øà�^‰^€FÜ�V˜X tÓ,€FÜ�&œ$×ÑØ35ˆÜœ$œv™,¨Ö/ˆEÜ˜5 &¨$Ó/ˆDØ‰|œz¨$´´e°×=Ñ=ÙÜ˜t Z°Ó6ˆHÜ˜4 ¨Ó.ˆDÜ˜4 ¨Ó.ˆDðÜ ×)Ñ)±·±Ä8ÈDÇ>Á>ÔYaÐbf×YgÑYgÙ Ù›6�ô ˜h¬×,Ñ,ÙØ×!Ñ! 4Ð"2Ö3ñ 0ð  @N×ÑÔ;Ñ<Øä�V˜Y¨Ó/€FÜ�v˜z¨4Ó0€HÜ�6˜6 4Ó(€DÜ�6˜6 4Ó(€DðÜ˜×!Ñ!©¯©¼8ÀD¿>¹>ÔQYÐZ^×Q_ÑQ_ØÙ9=»ˆ×ÑÔ5Ñ6ð øô% œZÐ(ó Úðûô  ”ZÐ ó Ùðús0   Ã<GÃ?GÅ;<G( Æ8G( ÇG%Ç$G%Ç(G;Ç:G;c                 óÂ   • [        5       n U c  [        R                  4$ [        [        [
           [        U S[        R                  5      5      n[        R                  U4$ )NÚTransportError)r   rg   r#  r   r   Ú	Exceptionr  )r¼   Úlegacy_transport_errors     r/   Ú_transport_errorsr&  ¦  sS   € Ü'Ó)€LØÑÜ×%Ñ%Ð'Ð'Ü!¤$¤y¡/´7¸<ÐIYÔ[a×[pÑ[pÓ3qÓrÐÜ×!Ñ!Ð#9Ð:Ð:r2   c               ó\   • [        U [        5       5      (       a
  [        US9U e[        US9U e)NrY   )r{   r   r   r   )r-   rZ   s     r/   Ú_raise_transport_errorr(  ®  s-   € Ü�%Ô+Ó-×.Ñ.Ü gÑ.°EÐ9Ü
 WÑ
-°5Ð8r2   c                  ó°   ^ • \ rS rSrSU 4S jjr\SU 4S jj5       r\SS j5       r\SS j5       r\SS j5       r	SS jr
\SU 4S jj5       rSS	 jrS
rU =r$ )Ú_X509WorkloadIdentityAuthi´  c               óŒ   >• [        U5        [        TU ]	  U[        S9  [	        [        US5      [        5      U l        SU l        g )N)rÔ   Útoken_exchange_urlr   F)	rä   Úsuperr0   r}   rð   ÚmaxÚ_MAX_EXCHANGE_RETRIESÚ_max_exchange_retriesÚ_follow_redirects)r.   rÔ   Úmax_retriesÚ	__class__s      €r/   r0   Ú"_X509WorkloadIdentityAuth.__init__µ  s?   ø€ ÜÐ,Ô-Ü‰ÑÐ+<ÔQiÐÑjÜ%(¬¨[¸!Ó)<Ô>SÓ%TˆÔ"Ø!&ˆÕr2   c                ó>  >• UR                   S;  a�  [        TU ]	  U5      nUR                  5       nUR	                  S5      nSU;   a4  [        U[        5      (       a  UR                  5       S:w  a  [        S5      e[        R                  US   5      c  [        S5      eU$  UR                  (       a  UR                  5       OS n[        U5      (       a  UR	                  S5      OS n[        U[        5      (       a  SU0OS n[        XS9e! [         a    S n NUf = f)	Nr÷   Ú
token_typeÚbearerz<X.509 token exchange response must use the Bearer token typeÚaccess_tokenzIX.509 token exchange response did not include a valid Bearer access_tokenr-   )r  Úbody)rý   r-  Ú_handle_token_responserì   rx   r{   r|   rO   r   Ú_BEARER_ACCESS_TOKENÚ	fullmatchÚcontentrþ   r   r   )r.   r  Ú
token_dataÚresponse_bodyr6  Úoauth_errorÚ	safe_bodyr3  s          €r/   r:  Ú0_X509WorkloadIdentityAuth._handle_token_response»  s  ø€ à×Ñ Ó6Ü™Ñ7¸ÓAˆJØ$ŸM™M›OˆMØ&×*Ñ*¨<Ó8ˆJØ˜}Ó,´jÀÌS×6QÑ6QÐU_×UeÑUeÓUgÐksÓUsÜ!Ð"`ÓaÐaÜ#×-Ñ-¨j¸Ñ.HÓIÑQÜ!Ð"mÓnÐnØÐð	!Ø/7×/?×/?˜HŸM™MœOÀTˆMô 5<¸M×4JÑ4J�m×'Ñ'¨Ô0ÐPTˆÜ.8¸Äc×.JÑ.J�W˜kÑ*ÐPTˆ	Ü (Ñ;Ð;øô ó 	!Ø ŠMð	!ús   Â##D ÄDÄDc                óD   • [        U5      nUb  US::  a  [        S5      eU$ )Nr   zKX.509 token exchange response did not include a positive, finite expires_in)rÊ   r   )r.   Ú
expires_inÚexpires_in_values      r/   Ú_validate_expires_inÚ._X509WorkloadIdentityAuth._validate_expires_inÐ  s-   € ä+¨JÓ7ÐØÑ#Ð'7¸1Ó'<ÜÐkÓlÐlØÐr2   c                ó   • [        U5      $ r+   )r!  r”   s     r/   Ú_can_retry_requestÚ,_X509WorkloadIdentityAuth._can_retry_request×  s   € ä% gÓ.Ð.r2   c                ó  • UR                   R                  [        5      n[        U[        5      (       aU  [        [        [        [        [        4      U5       H,  u  p4[        USS 5      n[        U5      (       d  M$  U" U5        M.     g UR                   R                  [        5      n[        U[        5      (       d  g [        UR                  SUR                  5      n[        USS 5      n[        U5      (       a	  U" U5        g g )Nr  r  )rw   rx   r  r{   r  r   Útupler·   rÄ   r  r  r  r  )r.   rZ   r  r  Úfile_positionr  r  r   s           r/   Ú_prepare_retry_requestÚ0_X509WorkloadIdentityAuth._prepare_retry_requestÛ  sÍ   € à ×+Ñ+×/Ñ/Ô0PÓQˆÜ�n¤d×+Ñ+Ü'+¬D´´v¼s°{Ñ1CÑ,DÀnÖ'UÑ#�Ü˜t V¨TÓ2�Ü˜D—>“>Ù˜Ö'ñ (Vð à×%Ñ%×)Ñ)Ô*DÓEˆÜ˜(¤C×(Ñ(ØÜ˜Ÿ™¨°G·N±NÓCˆÜ�v˜v tÓ,ˆÜ�D�>‰>Ù��Nð r2   c                óè   • U R                      U R                  5       (       a
   S S S 5        g [        R                  " 5       [        -   U l        U R                  sS S S 5        $ ! , (       d  f       g = fr+   )Ú_lockÚ_token_unusabler  Ú	monotonicr   Ú"_cached_token_refresh_at_monotonicÚ_cached_tokenr—   s    r/   Ú%_usable_token_after_transient_failureÚ?_X509WorkloadIdentityAuth._usable_token_after_transient_failureí  sL   € Ø�Z‹ZØ×#Ñ#×%Ñ%Ø÷ ˆZô 7;·n²nÓ6FÔI\Ñ6\ˆDÔ3Ø×%Ñ%÷	 �Z�Zús   �A#­,A#Á#
A1c                ót   >•  [         TU ]  5         g ! [        [        4 a    U R	                  5       c  e  g f = fr+   )r-  Ú_perform_refreshr   r(   rV  )r.   r3  s    €r/   rY  Ú*_X509WorkloadIdentityAuth._perform_refreshô  s@   ø€ ð	Ü‰GÑ$Õ&øÜ"Ô$@ÐAó 	Ø×9Ñ9Ó;ÑCØñ Dð	ús   ƒ ’"7¶7c                ó  •  U R                  U5      $ ! [         aa  nUR                  S;   d?  UR                  S:¼  d/  UR                  S;  a+  UR                  R	                  S5      S:X  a  [        U5      Uee S nAff = f)Nrú   rû   r÷   rö   rù   )r:  r   rý   rX   rx   r(   )r.   r  r-   s      r/   Ú_handle_exchange_responseÚ3_X509WorkloadIdentityAuth._handle_exchange_responseü  s|   € ð		Ø×.Ñ.¨xÓ8Ð8øÜó 	à×$Ñ$¨Ó7Ø×'Ñ'¨3Ó.Ø×(Ñ(°Ó?ÀH×DTÑDT×DXÑDXÐYiÓDjÐntÓDtä2°5Ó9¸uÐDØûð	ús   ‚ “
A>�AA9Á9A>)rT  r1  r0  )rÔ   r   r2  rÄ   r3   r4   )r  r¡   r3   údict[str, Any])rD  r·   r3   rÅ   ©rZ   r    r3   rž   ©rZ   r    r3   r4   )r3   r�   r¢   )r5   r6   r7   r8   r0   r	   r:  rF  rI  rN  rV  rY  r\  r9   Ú__classcell__©r3  s   @r/   r*  r*  ´  s{   ø† ÷'ð ö<ó ð<ð( ó ó ð ð ó/ó ð/ð óó ðô"&ð öó ð÷
ò 
r2   r*  c                  óˆ   ^ • \ rS rSr% S\S'           S	U 4S jjr            S
S jrSS jr\SS j5       r	Sr
U =r$ )ÚSyncX509WorkloadIdentityAuthi	  r›   r†   c               ó,   >• [         TU ]  XS9  X l        g ©N)rÔ   r2  )r-  r0   r†   ©r.   rÔ   r‹   r2  r3  s       €r/   r0   Ú%SyncX509WorkloadIdentityAuth.__init__  s   ø€ ô 	‰ÑÐ+<ÐÑVØ'Õr2   c               ó®   • [        U R                  X#S9 nUR                  SS 5        UR                  " U4SU0UD6sS S S 5        $ ! , (       d  f       g = f©N)r<   r~   Úauthr  )r¿   r†   Ú
setdefaultÚsend©r.   rZ   r<   r~   r  Úkwargsr¾   s          r/   Úsend_api_requestÚ-SyncX509WorkloadIdentityAuth.send_api_request  sR   € ô !Ø×Ñ¨ò
àØ×Ñ˜f dÔ+Ø ×%Ò% gÑG°fÐGÀÑG÷	
÷ 
÷ 
ús   •'AÁ
Ac                ó´  • [         R                  UR                  R                  S5      5      n  U R	                  5       [         R                  U5        $ ! [        [        4 aW  nU R                  5       nUc#  [        U[        5      (       a  UR                  S ee Us S nA[         R                  U5        $ S nAff = f! [         R                  U5        f = f©Nr²   )r&   rà   rw   rx   Ú	get_tokenÚresetr   r(   rV  r{   r-   ©r.   rZ   Útimeout_tokenr-   Útokens        r/   Úget_token_for_requestÚ2SyncX509WorkloadIdentityAuth.get_token_for_request!  s³   € Ü1×5Ñ5°g×6HÑ6H×6LÑ6LÈYÓ6WÓXˆð	;ðØ—~‘~Ó'ô &×+Ñ+¨MÕ:øô 'Ô(DÐEó Ø×BÑBÓD�Ø‘=Ü! %Ô)E×FÑFØ#Ÿk™k¨tÐ3ØØ”ä%×+Ñ+¨MÕ:ûðûô &×+Ñ+¨MÕ:ús/   ±A ÁB=Á&7B8ÂB=ÂC  Â8B=Â=C  Ã Cc                ó\  • [        U R                  S-   5       H¶  n[        U R                  U R                  S9n [        U R                  [        R                  " [        5      SS9 nUR                  US SS9nS S S 5        [        WU5      nXR                  :¼  d  Uc  U R                  U5      s  $  Uc  M   [        R                  " U5        M¸     [!        S5      e! , (       d  f       Nj= f! [        5        a.  nXR                  :¼  a	  [        XbS9  [        S U5      n S nANrS nAff = f©	Nr   )r‹   T)r<   r   F)rk  Úfollow_redirectsrY   z6X.509 token exchange retry loop exhausted unexpectedly)Úranger0  rô   rÔ   r†   r¿   rg   rh   r}   rm  r  r\  r&  r(  r  ÚsleepÚAssertionError©r.   r  Úexchange_requestr¾   r  r  r-   s          r/   Ú_fetch_token_from_exchangeÚ7SyncX509WorkloadIdentityAuth._fetch_token_from_exchange0  s  € ä˜T×7Ñ7¸!Ñ;Ö<ˆGÜ6°t×7MÑ7MÐ[_×[lÑ[lÑmÐðDÜ(Ø×%Ñ%Ü$*§J¢JÔ/GÓ$HØ#'òð #Ø,×1Ñ1Ø(Ø!Ø).ð  2ð  �H÷ô % X¨wÓ7�Ø×8Ñ8Ó8¸E¹MØ×9Ñ9¸(ÓCÒCð =Jð Ó Ü—
’
˜5Ö!ñ/ =ô2 ÐUÓVÐV÷-õ ûô %Ó&ó 4Ø×8Ñ8Ó8Ü*¨5ÒKÜ$ T¨7Ó3•ûð4ús/   »-C/Á(CÁ:C/Ã
C,	Ã(C/Ã/D+Ã=$D&Ä&D+)r†   )rÔ   r   r‹   r›   r2  rÄ   r3   r4   ©rZ   r    r<   rœ   r~   r�   r  rž   ro  r   r3   r¡   ©rZ   r    r3   r|   ©r3   r^  )r5   r6   r7   r8   Ú__annotations__r0   rp  ry  r	   rƒ  r9   ra  rb  s   @r/   rd  rd  	  s�   ø‡ ØÓð(Ø$8ð(ØGTð(Øcfð(à	÷(ðHàðHð $ð	Hð
 !+ðHð ðHð ðHð 
ôHô;ð óWó öWr2   rd  c                  ó’   ^ • \ rS rSr% S\S'           S
U 4S jjr            SS jrSS jr\SS j5       r	SS jr
S	rU =r$ )ÚAsyncX509WorkloadIdentityAuthiN  r®   r†   c               ó`   >• [         TU ]  XS9  X l        [        R                  " 5       U l        g rf  )r-  r0   r†   ÚanyioÚLockÚ_async_lockrg  s       €r/   r0   Ú&AsyncX509WorkloadIdentityAuth.__init__Q  s*   ø€ ô 	‰ÑÐ+<ÐÑVØ'ÔÜ Ÿ:š:›<ˆÕr2   c             ‹  ó  #   • [        U R                  X#S9 IS h  v•N nUR                  SS 5        UR                  " U4SU0UD6I S h  v•N sS S S 5      IS h  v•N   $  ND N N	! , IS h  v•N  (       d  f       g = f7frj  )rÂ   r†   rl  rm  rn  s          r/   rp  Ú.AsyncX509WorkloadIdentityAuth.send_api_requestX  sv   é € ô (Ø×Ñ¨÷
ò 
àØ×Ñ˜f dÔ+Ø&×+Ò+¨GÑM¸FÐMÀfÑM×M÷	
÷ 
ó 
ñ N÷	
÷ 
÷ 
ð 
üsV   ‚B ›A œB Ÿ+A&Á
A"ÁA&ÁB ÁA$ÁB Á"A&Á$B Á&A=Á,A/Á-A=Á9B c              ƒ  óÐ  #   • [         R                  UR                  R                  S5      5      n  U R	                  5       I S h  v•N [         R                  U5        $  N! [        [        4 aW  nU R                  5       nUc#  [        U[        5      (       a  UR                  S ee Us S nA[         R                  U5        $ S nAff = f! [         R                  U5        f = f7frs  )r&   rà   rw   rx   Úget_token_asyncru  r   r(   rV  r{   r-   rv  s        r/   ry  Ú3AsyncX509WorkloadIdentityAuth.get_token_for_requestg  s½   é € Ü1×5Ñ5°g×6HÑ6H×6LÑ6LÈYÓ6WÓXˆð	;ðØ!×1Ñ1Ó3×3ô &×+Ñ+¨MÕ:ñ 4øÜ&Ô(DÐEó Ø×BÑBÓD�Ø‘=Ü! %Ô)E×FÑFØ#Ÿk™k¨tÐ3ØØ”ä%×+Ñ+¨MÕ:ûðûô &×+Ñ+¨MÕ:üsX   ‚/C&³A" ÁA ÁA" Á
C&Á A" Á"C	Á27CÂ)C	Â*C Â.C&ÃC	Ã	C ÃC#Ã#C&c              ƒ  ó  #   • U R                    IS h  v•N   U R                     U R                  5       (       dI  U R                  5       (       d4  [	        [
        U R                  5      sS S S 5        sS S S 5      IS h  v•N   $ S S S 5         U R                  5       I S h  v•N nU R                  U5        U R                     [	        [
        U R                  5      sS S S 5        sS S S 5      IS h  v•N   $  Nâ Nz! , (       d  f       N}= f Nk! [        [        4 a+    U R                  5       nUc  e Us sS S S 5      IS h  v•N    $ f = f NZ! , (       d  f       O= fS S S 5      IS h  v•N    g ! , IS h  v•N  (       d  f       g = f7fr+   )rŽ  rQ  rR  Ú_needs_refreshr   r|   rU  Ú _fetch_token_from_exchange_asyncr   r(   rV  Ú_store_token)r.   r>  rx  s      r/   r“  Ú-AsyncX509WorkloadIdentityAuth.get_token_asyncv  s  é € à×#×#Ó#Ø—“Ø×+Ñ+×-Ñ-°d×6IÑ6I×6KÑ6KÜ¤ T×%7Ñ%7Ó8÷ �÷ $×#Ñ#ßðØ#'×#HÑ#HÓ#J×J�
ð ×Ñ˜jÔ)Ø—“ÜœC ×!3Ñ!3Ó4÷ �÷ $×#Õ#ß•úñ
 KøÜ&Ô(DÐEó Ø×BÑBÓD�Ø‘=ØØ‘÷ $×#Ò#ðúñ $÷ •ú÷ $×#×#×#×#Ð#üsì   ‚F
“C6”F
—E0¤AC:Á(	E0Á1F
Á=C8Á>F
ÂE0ÂDÂDÂ DÂ$E0ÃEÃ	E0Ã$F
Ã0EÃ1F
Ã8F
Ã:
D	ÄE0ÄDÄ&EÄ3E0Ä4F
Å EÅF
ÅEÅE0ÅF
Å
E	ÅE0ÅF
Å)E,Å*F
Å0FÅ6E9Å7FÆF
c              ƒ  óÆ  #   • [        U R                  S-   5       HÖ  n[        U R                  U R                  S9n [        U R                  [        R                  " [        5      SS9 IS h  v•N nUR                  US SS9I S h  v•N nS S S 5      IS h  v•N   [        WU5      nXR                  :¼  d  Uc  U R                  U5      s  $  Uc  M¸  [        R                  " U5      I S h  v•N   MØ     [!        S5      e N‘ Nz Nl! , IS h  v•N  (       d  f       N�= f! [        5        a.  nXR                  :¼  a	  [        XbS9  [        S U5      n S nAN‰S nAff = f Nr7fr|  )r~  r0  rô   rÔ   r†   rÂ   rg   rh   r}   rm  r  r\  r&  r(  rŒ  r  r€  r�  s          r/   r—  Ú>AsyncX509WorkloadIdentityAuth._fetch_token_from_exchange_asyncˆ  sL  é € Ü˜T×7Ñ7¸!Ñ;Ö<ˆGÜ6°t×7MÑ7MÐ[_×[lÑ[lÑmÐðDÜ/Ø×%Ñ%Ü$*§J¢JÔ/GÓ$HØ#'÷ò ð #Ø%2×%7Ñ%7Ø(Ø!Ø).ð &8ð &÷  �H÷÷ ô % X¨wÓ7�Ø×8Ñ8Ó8¸E¹MØ×9Ñ9¸(ÓCÒCð =Jð Ó Ü—k’k %Ó(×(Ò(ñ/ =ô2 ÐUÓVÐVñ-ñ
 ÷÷ ÷ ð ûô %Ó&ó 4Ø×8Ñ8Ó8Ü*¨5ÒKÜ$ T¨7Ó3•ûð4úñ )ùsš   ‚:E!½1D Á.D Á/D Á2DÂDÂDÂD ÂDÂD Â3E!ÃE!Ã,EÃ-E!Ä D ÄDÄD ÄD	ÄDÄD	ÄD Ä EÄ.$EÅE!ÅEÅE!)rŽ  r†   )rÔ   r   r‹   r®   r2  rÄ   r3   r4   r…  r†  )r3   r|   r‡  )r5   r6   r7   r8   rˆ  r0   rp  ry  r	   r“  r—  r9   ra  rb  s   @r/   rŠ  rŠ  N  s™   ø‡ Ø$Ó$ð(Ø$8ð(ØGYð(Øhkð(à	÷(ðNàðNð $ð	Nð
 !+ðNð ðNð ðNð 
ôNô;ð ó5ó ð5÷"Wò Wr2   rŠ  )rD   zhttpx2.URL | strr<   zhttpx2.URL | Noner3   r4   r`  )
rZ   r    r<   rœ   r~   r�   r   rž   r3   r4   )
r‹   r›   r<   rœ   r~   r�   r   rž   r3   r›   )
r‹   r®   r<   rœ   r~   r�   r   rž   r3   r®   )rÉ   r·   r3   úfloat | None)rÎ   ú.WorkloadIdentity | X509WorkloadIdentity | Noner3   zTypeIs[X509WorkloadIdentity])rÒ   úhttpx2.URL | str | NonerÓ   r�   rÔ   r�  r3   rž  )rX   údict[str, str]rÔ   zX509WorkloadIdentity | Noner3   rŸ  )rÎ   r   r3   r4   )rÎ   r   r3   rŸ  )rÎ   r   r‹   z"httpx2.Client | httpx2.AsyncClientr3   r    )r  zhttpx2.Response | Noner  rÄ   r3   rœ  r_  )r3   ztuple[type[Exception], ...])r-   r$  rZ   r    r3   r   )PÚ
__future__r   ÚrerÇ   r  Úemail.utilsrÿ   Útypingr   r   r   Úcontextvarsr   Útyping_extensionsr   r	   rŒ  rg   Ú_utilsr   Ú_httpx2r   r   r   Ú	_workloadr   r   r   r   Ú
_constantsr   r   r   Ú_exceptionsr   r   r   r   ÚMTLS_API_BASE_URLr}   rè   r/  r  r  rá   Úcompiler;  rÑ   Úvaluesrh   r@   rz   r&   rˆ  r$  r(   rF   r[   rn   r€   ÚBaseTransportr‚   ÚAsyncBaseTransportr¤   r¿   rÂ   rÊ   rÏ   rÕ   rÙ   rä   ré   rô   r  r!  r&  r(  r*  rd  rŠ  )rD   s   0r/   Ú<module>r°     sÊ  ðÞ "ã 	Û Û Û ß &Ñ &Ý "ß .ã Û å ß SÑ S÷ó ÷ UÑ Tß VÓ Và4Ð ØEÐ ØDÐ ØÐ Ø:Ð Ø#FÐ  ÚkÐ Ø—z’zÐ"9Ó:Ð àØ
-Ø
-ñÐ ð
 7O×6UÑ6UÔ6WÓXÑ6W¨s�f—j‘j “o×*Ô*Ñ6WÑXÐ ÙHRØ*°DñIÐ ÐEó ô
 9ô ð
 Z^÷ aôjô_ð2oØðoð  ðoð 'ð	oð
 ðoð 
ôoôD 6×#7Ñ#7ô ô@ F×$=Ñ$=ô ðH *.Ø ñØðð  ðð 'ð	ð
 ðð õðB *.Ø ñØ#ðð  ðð 'ð	ð
 ðð õô:3ðCØ<ðCà!ôCð	4Ø%ð	4àð	4ð Fð	4ð ô		4ð_Øð_Ø0Kð_àô_ôhô.ðØ"ðð 4ðð ô	ô.#IôL%ôP;ô9ôRÐ 5Ð6JÑ Kô RôjBWÐ#<ô BWôJTWÐ$=õ TWùòQ Ys   Â$$G