+
    Pj/                       ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIt^RI	H
t
 ^RIHt ^RIHtHtHtHt ^RIHt ^RIHt . ROtRP/                  . RO4      t]P2                  ! R4      t ! R R4      t]! 4       tRR R llt ! R R4      t ! R R4      t ! R R	4      t  ! R R
4      t!]! RR7      t"] ! ^d^R7      t#^t$R# )    )annotationsN)Path)set_minimum_tls_version_1_2)Headers)	CertTypesHeaderTypesTimeoutTypesVerifyTypes)URL)get_ca_bundle_from_envLimitsProxyTimeout:httpxc                      ] tR t^*tRtR# )	UnsetType N)__name__
__module____qualname____firstlineno____static_attributes__r       f/Users/ahmed/devFolder/Ultron/claude-voice/gateway/.venv/lib/python3.14/site-packages/httpx/_config.pyr   r   *   s    r   r   c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
   certCertTypes | Noneverifyr
   	trust_envboolhttp2returnssl.SSLContextr   )formats   "r   __annotate__r'   1   s:      
  	
 r   c                0    \        WW#R 7      P                  # )r   r    r!   r#   )	SSLConfigssl_contextr)   s   &&&&r   create_ssl_contextr,   1   s     Ikr   c                      ] tR t^<tRt]! ]P                  ! 4       4      tRRRRRRRR/R	 R
 llt	R R lt
R R ltR R ltR R ltR R ltRtR# )r*   z
SSL Configuration.
r   Nr    Tr!   r#   Fc          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r   r   r   r    r
   r!   r"   r#   r$   Noner   )r&   s   "r   r'   SSLConfig.__annotate__C   s>     3 3 3 	3
 3 3 
3r   c               	`    Wn         W n        W0n        W@n        V P	                  4       V n        R # N)r   r    r!   r#   load_ssl_contextr+   )selfr   r    r!   r#   s   &$$$$r   __init__SSLConfig.__init__C   s)     	"
002r   c                   V ^8  d   QhRR/# r   r$   r%   r   )r&   s   "r   r'   r0   Q   s     1 1. 1r   c                	    \         P                  R V P                  V P                  V P                  V P
                  4       V P                  '       d   V P                  4       # V P                  4       # )z8load_ssl_context verify=%r cert=%r trust_env=%r http2=%r)loggerdebugr    r   r!   r#   load_ssl_context_verifyload_ssl_context_no_verifyr4   s   &r   r3   SSLConfig.load_ssl_contextQ   sV    FKKIINNJJ	
 ;;;//11..00r   c                   V ^8  d   QhRR/# r8   r   )r&   s   "r   r'   r0   ^   s      N r   c                    V P                  4       pRVn        \        P                  Vn        V P                  V4       V# )z3
Return an SSL context for unverified connections.
F)_create_default_ssl_contextcheck_hostnamessl	CERT_NONEverify_mode_load_client_certs)r4   contexts   & r   r=   $SSLConfig.load_ssl_context_no_verify^   s9     224!&!mm(r   c                   V ^8  d   QhRR/# r8   r   )r&   s   "r   r'   r0   h   s     5 5 5r   c                (   V P                   '       d%   V P                  RJ d   \        4       pVe   Wn        \        V P                  \        P
                  4      '       d    V P                  pV P                  V4       V# \        V P                  \        4      '       d   V P                  pMc\        V P                  4      P                  4       '       d   \        V P                  4      pM$\        RP                  V P                  4      4      hV P                  4       p\        P                  Vn        RVn         RVn         RVn        VP)                  4       '       d5   \+        V4      p\,        P/                  RV4       VP1                  VR7       MIVP3                  4       '       d4   \+        V4      p\,        P/                  RV4       VP1                  VR7       V P                  V4       V#   \$         d     Li ; i  \$         d     Li ; i)z1
Return an SSL context for verified connections.
TzECould not find a suitable TLS CA certificate bundle, invalid path: {}Fzload_verify_locations cafile=%r)cafilezload_verify_locations capath=%r)capath)r!   r    r   
isinstancerD   
SSLContextrG   r"   DEFAULT_CA_BUNDLE_PATHr   existsIOErrorr&   rB   CERT_REQUIREDrF   rC   post_handshake_authAttributeErrorhostname_checks_common_nameis_filestrr:   r;   load_verify_locationsis_dir)r4   	ca_bundlerH   ca_bundle_pathrL   rM   s   &     r   r<   !SSLConfig.load_ssl_context_verifyh   s    >>>dkkT1.0I$'dkk3>>22kkG##G,NT**!88N$++%%''!$++.N##)6$++#6 
 224!//!%	*.G'	27G/ !!##(FLL:FC)))8""$$(FLL:FC)))8(+  		  		s$   =G2 H 2H ?H HHc                   V ^8  d   QhRR/# r8   r   )r&   s   "r   r'   r0      s      ^ r   c                   \         P                  ! \         P                  4      p\        V4       V;P                  \         P
                  ,          un        VP                  \        4       \         P                  '       d+   V P                  '       d   RR.MR.pVP                  V4       \        P                  P                  R4      pV'       d   V P                  '       d   W1n        V# )za
Creates the default SSLContext object that's used for both verified
and unverified connections.
zhttp/1.1h2SSLKEYLOGFILE)rD   rO   PROTOCOL_TLS_CLIENTr   optionsOP_NO_COMPRESSIONset_ciphersDEFAULT_CIPHERSHAS_ALPNr#   set_alpn_protocolsosenvirongetr!   keylog_filename)r4   rH   alpn_idents
keylogfiles   &   r   rB   %SSLConfig._create_default_ssl_context   s    
 ..!8!89#G,3000O,<<<04


:t,K&&{3ZZ^^O4
$...&0#r   c                    V ^8  d   QhRRRR/# )r   r+   r%   r$   r/   r   )r&   s   "r   r'   r0      s      n  r   c                   V P                   Ee7   \        V P                   \        4      '       d   VP                  V P                   R7       R# \        V P                   \        4      '       dR   \        V P                   4      ^8X  d8   VP                  V P                   ^ ,          V P                   ^,          R7       R# \        V P                   \        4      '       df   \        V P                   4      ^8X  dJ   VP                  V P                   ^ ,          V P                   ^,          V P                   ^,          R7       R# R# R# R# )z6
Loads client certificates into our SSLContext object
N)certfile)rr   keyfile)rr   rs   password)r   rN   rX   load_cert_chaintuplelen)r4   r+   s   &&r   rG   SSLConfig._load_client_certs   s     99 $))S))++TYY+?DIIu--#dii.A2E++TYYq\499UV<+XDIIu--#dii.A2E++!YYq\ IIaL!YYq\ ,  3F- !r   )r   r#   r+   r!   r    )r   r   r   r   __doc__r   certifiwhererP   r5   r3   r=   r<   rB   rG   r   r   r   r   r*   r*   <   sf     "'--/23 "&3 #	3
 3 315n( r   r*   c            	      d    ] tR t^tRt]3R]R]R]R]/R R llltR R	 ltR
 R ltR R lt	Rt
R# )r   a  
Timeout configuration.

**Usage**:

Timeout(None)               # No timeouts.
Timeout(5.0)                # 5s timeout on all operations.
Timeout(None, connect=5.0)  # 5s timeout on connect, no other timeouts.
Timeout(5.0, connect=10.0)  # 10s timeout on connect. 5s timeout elsewhere.
Timeout(5.0, pool=None)     # No timeout on acquiring connection from pool.
                            # 5s timeout elsewhere.
connectreadwritepoolc               0    V ^8  d   QhRRRRRRRRRRRR	/# )
r   timeoutzTimeoutTypes | UnsetTyper}   zNone | float | UnsetTyper~   r   r   r$   r/   r   )r&   s   "r   r'   Timeout.__annotate__   sN     ,I ,I),I *	,I
 ',I (,I ',I 
,Ir   c               	$   \        V\        4      '       dw   V\        J g   Q hV\        J g   Q hV\        J g   Q hV\        J g   Q hVP                  V n        VP                  V n        VP
                  V n        VP                  V n        R# \        V\        4      '       d_   V^ ,          V n        V^,          V n        \        V4      ^8  d   RMV^,          V n        \        V4      ^8  d   RMV^,          V n        R# \        V\        4      '       g]   \        V\        4      '       gG   \        V\        4      '       g1   \        V\        4      '       g   W n        W0n        W@n        WPn        R# \        V\        4      '       d   \        R4      h\        V\        4      '       d   TMTV n        \        V\        4      '       d   TMTV n        \        V\        4      '       d   TMTV n        \        V\        4      '       d   TMTV n        R# )r   NzShttpx.Timeout must either include a default, or set all four parameters explicitly.)rN   r   UNSETr}   r~   r   r   rv   rw   r   
ValueError)r4   r   r}   r~   r   r   s   &&$$$$r   r5   Timeout.__init__   s    gw''e###5= =E>!>5= ="??DLDI DJDI''"1:DL
DI!$W!1wqzDJ #Gq 0gajDIw	**$	**%++$	**"LIJI'9-- 2  '1)&D&D7'DL#-dI#>#>DDI$.ui$@$@eDJ#-dI#>#>DDIr   c                   V ^8  d   QhRR/# )r   r$   zdict[str, float | None]r   )r&   s   "r   r'   r      s     
 
0 
r   c                	f    R V P                   RV P                  RV P                  RV P                  /# r}   r~   r   r   r   r>   s   &r   as_dictTimeout.as_dict   s0    t||DIITZZDII	
 	
r   c                    V ^8  d   QhRRRR/# r   otherz
typing.Anyr$   r"   r   )r&   s   "r   r'   r     s     
 
J 
4 
r   c                	4   \        WP                  4      ;'       d}    V P                  VP                  8H  ;'       d\    V P                  VP                  8H  ;'       d;    V P                  VP                  8H  ;'       d    V P
                  VP
                  8H  # r2   )rN   	__class__r}   r~   r   r   r4   r   s   &&r   __eq__Timeout.__eq__  s    unn- ( (-( (		UZZ'( ( 

ekk)( ( 		UZZ'	
r   c                   V ^8  d   QhRR/# r   r$   rX   r   )r&   s   "r   r'   r     s     
 
# 
r   c           
     	<   V P                   P                  p\        V P                  V P                  V P
                  V P                  04      ^8X  d   V RV P                   R2# V RV P                   RV P                   RV P
                   RV P                   R2
# )   z	(timeout=)z	(connect=z, read=z, write=z, pool=)r   r   rw   r}   r~   r   r   r4   
class_names   & r   __repr__Timeout.__repr__  s    ^^,,
diiTYY?@AE \4<<.::l)DLL> 2II;htzzl'$))AG	
r   )r}   r   r~   r   N)r   r   r   r   ry   r   r5   r   r   r   r   r   r   r   r   r      sY     -2,I -2	,I
 */,I +0,I */,I ,I\


 
r   c                  N    ] tR tRtRtRRRRRR/R R	 lltR
 R ltR R ltRtR# )r   i  a  
Configuration for limits to various client behaviors.

**Parameters:**

* **max_connections** - The maximum number of concurrent connections that may be
        established.
* **max_keepalive_connections** - Allow the connection pool to maintain
        keep-alive connections below this point. Should be less than or equal
        to `max_connections`.
* **keepalive_expiry** - Time limit on idle keep-alive connections in seconds.
max_connectionsNmax_keepalive_connectionskeepalive_expiry      @c               (    V ^8  d   QhRRRRRRRR/# )r   r   z
int | Noner   r   zfloat | Noner$   r/   r   )r&   s   "r   r'   Limits.__annotate__)  s4     	1 	1 $	1 $.		1
 '	1 
	1r   c               	*    Wn         W n        W0n        R # r2   )r   r   r   )r4   r   r   r   s   &$$$r   r5   Limits.__init__)  s      /)B& 0r   c                    V ^8  d   QhRRRR/# r   r   )r&   s   "r   r'   r   4  s     
 
J 
4 
r   c                	    \        WP                  4      ;'       d\    V P                  VP                  8H  ;'       d;    V P                  VP                  8H  ;'       d    V P                  VP                  8H  # r2   )rN   r   r   r   r   r   s   &&r   r   Limits.__eq__4  su    unn- @ @$$(=(==@ @..%2Q2QQ@ @ %%)?)??		
r   c                   V ^8  d   QhRR/# r   r   )r&   s   "r   r'   r   <  s     
 
# 
r   c                	    V P                   P                  pV R V P                   RV P                   RV P                   R2# )z(max_connections=z, max_keepalive_connections=z, keepalive_expiry=r   )r   r   r   r   r   r   s   & r   r   Limits.__repr__<  sT    ^^,,
l+D,@,@+A B))-)G)G(H I  $ 5 56a9	
r   )r   r   r   )	r   r   r   r   ry   r5   r   r   r   r   r   r   r   r     s9    	1 '+	1 15		1
 *-	1

 
r   c                  T    ] tR tRtRRRRRR/R R llt]R R	 l4       tR
 R ltRtR# )r   iE  r+   Nauthheadersc          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r   urlz	URL | strr+   zssl.SSLContext | Noner   ztuple[str, str] | Noner   zHeaderTypes | Noner$   r/   r   )r&   s   "r   r'   Proxy.__annotate__F  s<     ' '' +	'
 %' $' 
'r   c               	@   \        V4      p\        V4      pVP                  R9  d   \        RV: 24      hVP                  '       g   VP
                  '       d,   VP                  VP
                  3pVP                  RRR7      pWn        W0n        W@n	        W n
        R# )httpzUnknown scheme for proxy URL N)usernamert   )r   httpssocks5)r   r   schemer   r   rt   	copy_withr   r   r   r+   )r4   r   r+   r   r   s   &&$$$r   r5   Proxy.__init__F  s     #h'"::88<SGDEE<<<3<<<LL#,,/D---=C	&r   c                   V ^8  d   QhRR/# )r   r$   ztuple[bytes, bytes] | Noner   )r&   s   "r   r'   r   _  s     
 
4 
r   c                	    V P                   f   R # V P                   ^ ,          P                  R4      V P                   ^,          P                  R4      3# )Nzutf-8)r   encoder>   s   &r   raw_authProxy.raw_auth^  sM    
 yy  	
 ))A,%%g.		!0C0CG0LM	
r   c                   V ^8  d   QhRR/# r   r   )r&   s   "r   r'   r   g  s     : :# :r   c                	   V P                   '       d   V P                   ^ ,          R3MRp\        V P                  4      : pV'       d   RV: 2MRpV P                  '       d   R\	        V P                  4      : 2MRpRV V V R2# )r   z********Nz, auth= z
, headers=zProxy(r   )r   rX   r   r   dict)r4   r   url_strauth_strheaders_strs   &    r   r   Proxy.__repr__g  sw    -1YYY		!j)D ]%)-WTH%2=A\\\
4#5"89ry
;-q99r   )r   r   r+   r   )	r   r   r   r   r5   propertyr   r   r   r   r   r   r   r   E  sC    ' .2	'
 (,' '+'0 
 
: :r   r   )r   )r   r   )r   r   r   r,   )zECDHE+AESGCMzECDHE+CHACHA20z
DHE+AESGCMzDHE+CHACHA20zECDH+AESGCMz	DH+AESGCMzECDH+AESzDH+AESz
RSA+AESGCMzRSA+AESz!aNULLz!eNULLz!MD5z!DSS)NTTF)%
__future__r   loggingri   rD   typingpathlibr   rz   _compatr   _modelsr   _typesr   r   r	   r
   _urlsr   _utilsr   __all__joinrf   	getLoggerr:   r   r   r,   r*   r   r   r   DEFAULT_TIMEOUT_CONFIGDEFAULT_LIMITSDEFAULT_MAX_REDIRECTSr   r   r   <module>r      s    "  	 
    0  E E  *
>((( 
		7	#	 	 	E EPT
 T
n'
 '
T*: *:Z !- rJ r   