Ë
    F·jã/  ã                  óž  — d dl mZ d dlZd dlZd dlZd dlZd dlmZ d dlZddl	m
Z
 ddlmZ ddlmZmZmZmZ ddlmZ dd	lmZ g d
¢Zdj/                  g d¢«      Z ej2                  d«      Z G d„ d«      Z e«       Z	 	 	 	 d	 	 	 	 	 	 	 	 	 dd„Z G d„ d«      Z G d„ d«      Z G d„ d«      Z  G d„ d«      Z! ed¬«      Z" e dd¬«      Z#dZ$y) é    )ÚannotationsN)ÚPathé   )Úset_minimum_tls_version_1_2)ÚHeaders)Ú	CertTypesÚHeaderTypesÚTimeoutTypesÚVerifyTypes)ÚURL)Úget_ca_bundle_from_env)ÚLimitsÚProxyÚTimeoutÚcreate_ssl_contextú:)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Úhttpxc                  ó   — e Zd Zy)Ú	UnsetTypeN)Ú__name__Ú
__module__Ú__qualname__© ó    ú[/var/www/html/ai-video-generator/backend/venv/lib/python3.12/site-packages/httpx/_config.pyr   r   *   s   „ Ør   r   c                ó4   — t        | |||¬«      j                  S )N©ÚcertÚverifyÚ	trust_envÚhttp2)Ú	SSLConfigÚssl_contextr   s       r   r   r   1   s   € ô Ø˜&¨I¸Uôç�kðr   c                  óŒ   — e Zd ZdZ e ej                  «       «      Zdddddœ	 	 	 	 	 	 	 	 	 dd„Zdd„Z	dd„Z
dd	„Zdd
„Zdd„Zy)r"   z
    SSL Configuration.
    NTFr   c               óf   — || _         || _        || _        || _        | j	                  «       | _        y ©N)r   r   r    r!   Úload_ssl_contextr#   )Úselfr   r   r    r!   s        r   Ú__init__zSSLConfig.__init__C   s1   € ð ˆŒ	ØˆŒØ"ˆŒØˆŒ
Ø×0Ñ0Ó2ˆÕr   c                óÜ   — t         j                  d| j                  | j                  | j                  | j
                  «       | j                  r| j                  «       S | j                  «       S )Nz8load_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©r(   s    r   r'   zSSLConfig.load_ssl_contextQ   sT   € Ü�‰ØFØ�K‰KØ�I‰IØ�N‰NØ�J‰Jô	
ð �;Š;Ø×/Ñ/Ó1Ð1Ø×.Ñ.Ó0Ð0r   c                ó€   — | j                  «       }d|_        t        j                  |_        | j                  |«       |S )zC
        Return an SSL context for unverified connections.
        F)Ú_create_default_ssl_contextÚcheck_hostnameÚsslÚ	CERT_NONEÚverify_modeÚ_load_client_certs)r(   Úcontexts     r   r.   z$SSLConfig.load_ssl_context_no_verify^   s9   € ð ×2Ñ2Ó4ˆØ!&ˆÔÜ!Ÿm™mˆÔØ×Ñ Ô(Øˆr   c                óÒ  — | j                   r!| j                  du rt        «       }|�|| _        t        | j                  t        j
                  «      r| j                  }| j                  |«       |S t        | j                  t        «      r| j                  }n]t        | j                  «      j                  «       rt        | j                  «      }n$t        dj                  | j                  «      «      ‚| j                  «       }t        j                  |_        d|_        	 d|_        	 d|_        |j)                  «       r4t+        |«      }t,        j/                  d|«       |j1                  |¬«       nC|j3                  «       r3t+        |«      }t,        j/                  d|«       |j1                  |¬«       | j                  |«       |S # t$        $ r Y Œ­w xY w# t$        $ r Y Œ´w xY w)zA
        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   Ú
isinstancer3   Ú
SSLContextr6   ÚboolÚDEFAULT_CA_BUNDLE_PATHr   ÚexistsÚIOErrorÚformatr1   ÚCERT_REQUIREDr5   r2   Úpost_handshake_authÚAttributeErrorÚhostname_checks_common_nameÚis_fileÚstrr+   r,   Úload_verify_locationsÚis_dir)r(   Ú	ca_bundler7   Úca_bundle_pathr9   r:   s         r   r-   z!SSLConfig.load_ssl_context_verifyh   s�  € ð �>Š>˜dŸk™k¨TÑ1Ü.Ó0ˆIØÐ$Ø'�”ä�d—k‘k¤3§>¡>Ô2à—k‘kˆGØ×#Ñ# GÔ,ØˆNÜ˜Ÿ™¤TÔ*Ø!×8Ñ8‰NÜ�$—+‘+Ó×%Ñ%Ô'Ü! $§+¡+Ó.‰Näð#ß#)¡6¨$¯+©+Ó#6óð ð
 ×2Ñ2Ó4ˆÜ!×/Ñ/ˆÔØ!%ˆÔð	Ø*.ˆGÔ'ð	Ø27ˆGÔ/ð ×!Ñ!Ô#Ü˜Ó(ˆFÜ�L‰LÐ:¸FÔCØ×)Ñ)°Ð)Õ8Ø×"Ñ"Ô$Ü˜Ó(ˆFÜ�L‰LÐ:¸FÔCØ×)Ñ)°Ð)Ô8à×Ñ Ô(àˆøô+ ò 	Ùð	ûô ò 	Ùð	ús$   Ä"G Ä*G Ç	GÇGÇ	G&Ç%G&c                ó¢  — t        j                  t         j                  «      }t        |«       |xj                  t         j
                  z  c_        |j                  t        «       t         j                  r$| j                  rddgndg}|j                  |«       t        j                  j                  d«      }|r| j                  r||_        |S )zy
        Creates the default SSLContext object that's used for both verified
        and unverified connections.
        zhttp/1.1Úh2ÚSSLKEYLOGFILE)r3   r<   ÚPROTOCOL_TLS_CLIENTr   ÚoptionsÚOP_NO_COMPRESSIONÚset_ciphersÚDEFAULT_CIPHERSÚHAS_ALPNr!   Úset_alpn_protocolsÚosÚenvironÚgetr    Úkeylog_filename)r(   r7   Úalpn_identsÚ
keylogfiles       r   r1   z%SSLConfig._create_default_ssl_contextŸ   s“   € ô
 —.‘.¤×!8Ñ!8Ó9ˆÜ# GÔ,Ø�Šœ3×0Ñ0Ñ0�Ø×ÑœOÔ,ä�<Š<Ø04·
²
˜: tÑ,ÀÀˆKØ×&Ñ& {Ô3ä—Z‘Z—^‘^ OÓ4ˆ
Ù˜$Ÿ.š.Ø&0ˆGÔ#àˆr   c                ó,  — | j                   ��t        | j                   t        «      r|j                  | j                   ¬«       yt        | j                   t        «      rFt        | j                   «      dk(  r.|j                  | j                   d   | j                   d   ¬«       yt        | j                   t        «      rUt        | j                   «      dk(  r<|j                  | j                   d   | j                   d   | j                   d   ¬«       yyyy)	zF
        Loads client certificates into our SSLContext object
        N)Úcertfileé   r   r   )r]   Úkeyfileé   )r]   r_   Úpassword)r   r;   rG   Úload_cert_chainÚtupleÚlen)r(   r#   s     r   r6   zSSLConfig._load_client_certs³   sÑ   € ð �9‰9Ñ Ü˜$Ÿ)™)¤SÔ)Ø×+Ñ+°T·Y±YÐ+Õ?Ü˜DŸI™I¤uÔ-´#°d·i±i³.ÀAÒ2EØ×+Ñ+°T·Y±Y¸q±\È4Ï9É9ÐUVÉ<Ð+ÕXÜ˜DŸI™I¤uÔ-´#°d·i±i³.ÀAÒ2EØ×+Ñ+Ø!ŸY™Y q™\Ø ŸI™I a™LØ!ŸY™Y q™\ð ,õ ð 3FÐ-ð !r   )
r   úCertTypes | Noner   r   r    r=   r!   r=   ÚreturnÚNone)rf   ússl.SSLContext)r#   rh   rf   rg   )r   r   r   Ú__doc__r   ÚcertifiÚwherer>   r)   r'   r.   r-   r1   r6   r   r   r   r"   r"   <   s{   „ ññ " - '§-¡-£/Ó2Ðð
 "&Ø"ØØñ3ð ð3ð ð	3ð
 ð3ð ð3ð 
ó3ó1óó5ónô(r   r"   c                  óV   — e Zd ZdZefeeeedœ	 	 	 	 	 	 	 	 	 	 	 dd„Zd	d„Zd
d„Zdd„Zy)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               ót  — t        |t        «      rm|t        u sJ ‚|t        u sJ ‚|t        u sJ ‚|t        u sJ ‚|j                  | _        |j                  | _        |j
                  | _        |j                  | _        y t        |t        «      rO|d   | _        |d   | _        t        |«      dk  rd n|d   | _        t        |«      dk  rd | _        y |d   | _        y t        |t        «      sMt        |t        «      s=t        |t        «      s-t        |t        «      s|| _        || _        || _        || _        y t        |t        «      rt        d«      ‚t        |t        «      r|n|| _        t        |t        «      r|n|| _        t        |t        «      r|n|| _        t        |t        «      r|n|| _        y )Nr   r   r`   r^   é   zShttpx.Timeout must either include a default, or set all four parameters explicitly.)r;   r   ÚUNSETrn   ro   rp   rq   rc   rd   r   Ú
ValueError)r(   Útimeoutrn   ro   rp   rq   s         r   r)   zTimeout.__init__Ò   sj  € ô �gœwÔ'àœeÑ#Ð#Ð#Øœ5‘=Ð �=ØœE‘>Ð!�>Øœ5‘=Ð �=Ø"Ÿ?™?ˆDŒLØŸ™ˆDŒIØ Ÿ™ˆDŒJØŸ™ˆD�IÜ˜¤Ô'à" 1™:ˆDŒLØ ™
ˆDŒIÜ!$ W£°Ò!1™°w¸q±zˆDŒJÜ # G£¨qÒ 0˜ˆD�I°g¸a±jˆD�Iä�w¤	Ô*Ü˜$¤	Ô*Ü˜%¤Ô+Ü˜$¤	Ô*à"ˆDŒLØˆDŒIØˆDŒJØˆD�Iä˜'¤9Ô-Ü ð2óð ô '1°¼)Ô&D™7È'ˆDŒLÜ#-¨d´IÔ#>™ÀDˆDŒIÜ$.¨u´iÔ$@™ÀeˆDŒJÜ#-¨d´IÔ#>™ÀDˆD�Ir   c                ó`   — | j                   | j                  | j                  | j                  dœS )Nrm   rm   r/   s    r   Úas_dictzTimeout.as_dict   s(   € à—|‘|Ø—I‘IØ—Z‘ZØ—I‘Iñ	
ð 	
r   c                ó  — t        || j                  «      xrj | j                  |j                  k(  xrO | j                  |j                  k(  xr4 | j                  |j                  k(  xr | j
                  |j
                  k(  S r&   )r;   Ú	__class__rn   ro   rp   rq   ©r(   Úothers     r   Ú__eq__zTimeout.__eq__  sm   € ä�u˜dŸn™nÓ-ò (Ø—‘ §¡Ñ-ò(à—	‘	˜UŸZ™ZÑ'ò(ð —
‘
˜eŸk™kÑ)ò(ð —	‘	˜UŸZ™ZÑ'ð	
r   c           
     ó8  — | j                   j                  }t        | j                  | j                  | j
                  | j                  h«      dk(  r|› d| j                  › d�S |› d| j                  › d| j                  › d| j
                  › d| j                  › d�
S )Nr   z	(timeout=ú)z	(connect=z, read=z, write=z, pool=)rz   r   rd   rn   ro   rp   rq   ©r(   Ú
class_names     r   Ú__repr__zTimeout.__repr__  sŒ   € Ø—^‘^×,Ñ,ˆ
Ü�—‘˜dŸi™i¨¯©°T·Y±YÐ?Ó@ÀAÒEØ �\ ¨4¯<©<¨.¸Ð:Ð:àˆl˜) D§L¡L >ð 2Ø—I‘I�;˜h t§z¡z l°'¸$¿)¹)¸ÀAðGð	
r   N)rv   zTimeoutTypes | UnsetTypern   úNone | float | UnsetTypero   rƒ   rp   rƒ   rq   rƒ   rf   rg   )rf   zdict[str, float | None]©r|   z
typing.Anyrf   r=   ©rf   rG   )	r   r   r   ri   rt   r)   rx   r}   r‚   r   r   r   r   r   Ä   sv   „ ñð -2ð,Ið -2Ø).Ø*/Ø).ñ,Ià)ð,Ið *ð	,Ið
 'ð,Ið (ð,Ið 'ð,Ið 
ó,Ió\
ó
ô
r   r   c                  ó@   — e Zd ZdZddddœ	 	 	 	 	 	 	 dd„Zd	d„Zd
d„Zy)r   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.
    Nç      @©Úmax_connectionsÚmax_keepalive_connectionsÚkeepalive_expiryc               ó.   — || _         || _        || _        y r&   rˆ   )r(   r‰   rŠ   r‹   s       r   r)   zLimits.__init__)  s   € ð  /ˆÔØ)BˆÔ&Ø 0ˆÕr   c                óÐ   — t        || j                  «      xrO | j                  |j                  k(  xr4 | j                  |j                  k(  xr | j                  |j                  k(  S r&   )r;   rz   r‰   rŠ   r‹   r{   s     r   r}   zLimits.__eq__4  se   € ä�u˜dŸn™nÓ-ò @Ø×$Ñ$¨×(=Ñ(=Ñ=ò@à×.Ñ.°%×2QÑ2QÑQò@ð ×%Ñ%¨×)?Ñ)?Ñ?ð		
r   c                ó†   — | j                   j                  }|› d| j                  › d| j                  › d| j                  › d�S )Nz(max_connections=z, max_keepalive_connections=z, keepalive_expiry=r   )rz   r   r‰   rŠ   r‹   r€   s     r   r‚   zLimits.__repr__<  sT   € Ø—^‘^×,Ñ,ˆ
àˆlÐ+¨D×,@Ñ,@Ð+Að B)Ø)-×)GÑ)GÐ(Hð I Ø $× 5Ñ 5Ð6°að9ð	
r   )r‰   ú
int | NonerŠ   r�   r‹   zfloat | Nonerf   rg   r„   r…   )r   r   r   ri   r)   r}   r‚   r   r   r   r   r     sI   „ ñð  '+Ø04Ø),ñ	1ð $ð	1ð $.ð		1ð
 'ð	1ð 
ó	1ó
ô
r   r   c                  óJ   — e Zd Zddddœ	 	 	 	 	 	 	 	 	 dd„Zedd„«       Zdd„Zy)	r   N)r#   ÚauthÚheadersc               ó&  — t        |«      }t        |«      }|j                  dvrt        d|›�«      ‚|j                  s|j
                  r+|j                  |j
                  f}|j                  d d ¬«      }|| _        || _        || _	        || _
        y )N)ÚhttpÚhttpsÚsocks5zUnknown scheme for proxy URL )Úusernamera   )r   r   Úschemeru   r—   ra   Ú	copy_withÚurlr‘   r’   r#   )r(   rš   r#   r‘   r’   s        r   r)   zProxy.__init__F  s…   € ô �#‹hˆÜ˜'Ó"ˆà�:‰:Ð8Ñ8ÜÐ<¸S¸GÐDÓEÐEà�<Š<˜3Ÿ<š<à—L‘L #§,¡,Ð/ˆDØ—-‘-¨¸�-Ó=ˆCàˆŒØˆŒ	ØˆŒØ&ˆÕr   c                ó–   — | j                   €d S | j                   d   j                  d«      | j                   d   j                  d«      fS )Nr   zutf-8r   )r‘   Úencoder/   s    r   Úraw_authzProxy.raw_auth^  sM   € ð
 �y‰yÐ ð ð	
ð —)‘)˜A‘,×%Ñ% gÓ.°·	±	¸!±×0CÑ0CÀGÓ0LÐMð	
r   c                óÞ   — | j                   r| j                   d   dfnd }t        | j                  «      ›}|rd|›�nd}| j                  rdt	        | j                  «      ›�nd}d|› |› |› d�S )Nr   z********z, auth=Ú z
, headers=zProxy(r   )r‘   rG   rš   r’   Údict)r(   r‘   Úurl_strÚauth_strÚheaders_strs        r   r‚   zProxy.__repr__g  ss   € à-1¯YªY�—	‘	˜!‘˜jÑ)¸Dˆô ˜Ÿ™“]Ð%ˆÙ)-�W˜T˜HÑ%°2ˆØ=A¿\º\˜
¤4¨¯©Ó#5Ð"8Ñ9ÈrˆØ˜�y  
¨;¨-°qÐ9Ð9r   )
rš   z	URL | strr#   zssl.SSLContext | Noner‘   ztuple[str, str] | Noner’   zHeaderTypes | Nonerf   rg   )rf   ztuple[bytes, bytes] | Noner…   )r   r   r   r)   Úpropertyr�   r‚   r   r   r   r   r   E  s[   „ ð
 .2Ø'+Ø&*ñ'àð'ð +ð	'ð
 %ð'ð $ð'ð 
ó'ð0 ò
ó ð
ô:r   r   r‡   )rv   éd   é   )r‰   rŠ   )NTTF)
r   re   r   r   r    r=   r!   r=   rf   rh   )%Ú
__future__r   ÚloggingrV   r3   ÚtypingÚpathlibr   rj   Ú_compatr   Ú_modelsr   Ú_typesr   r	   r
   r   Ú_urlsr   Ú_utilsr   Ú__all__ÚjoinrS   Ú	getLoggerr+   r   rt   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   