
    ei^                        d dl mZ ddlmZmZ  G d de          Zd Z G d d          Z ed	ej	        ej
        d
d          Z edej        ej        dd          Z edej        ej        dd          Z edej        ej        dd          Z edej        ej        dd          Z edej        ej        dd          ZeeeeeegZd ZdS )    )division   )derecdsac                       e Zd ZdS )UnknownCurveErrorN)__name__
__module____qualname__     c/var/www/html/volatility/venv/lib/python3.11/site-packages/ccxt/static_dependencies/ecdsa/curves.pyr   r      s        Dr   r   c                 2    dt          d| z            z   dz  S )Nr   z%x   )len)orders    r   orderlenr   
   s    c$,!##r   c                       e Zd ZddZdS )CurveNc                    || _         || _        || _        || _        |                                | _        t          | j                  | _        d| j        z  | _        d| j        z  | _        || _	        t          j        | | _        d S )Nr   )nameopenssl_namecurve	generatorr   r   baselenverifying_key_lengthsignature_lengthoidr   
encode_oidencoded_oid)selfr   r   r   r   r   s         r   __init__zCurve.__init__   sy    	(
"__&&

++$%dlN! !$,>3/r   )N)r	   r
   r   r"   r   r   r   r   r      s(        
0 
0 
0 
0 
0 
0r   r   NIST192p)r   r   H  ='     r   r   
prime192v1NIST224p)r   r&      r   !   	secp224r1NIST256p)r   r   r$   r%   r&   r      
prime256v1NIST384p)r   r&   r)   r   "   	secp384r1NIST521p)r   r&   r)   r   #   	secp521r1	SECP256k1)r   r&   r)   r   
   	secp256k1c                 |    t           D ]}|j        | k    r|c S t          d| dd t           D                       )Nz&I don't know about the curve with oid z.I only know about these: c                     g | ]	}|j         
S r   )r   ).0cs     r   
<listcomp>zfind_curve.<locals>.<listcomp>8   s    (@(@(@A(@(@(@r   )curvesr   r   )	oid_curver;   s     r   
find_curver?   2   se      5IHHH 

&YY(@(@(@(@(@(@B C C Cr   N)
__future__r    r   r   	Exceptionr   r   r   	curve_192generator_192r#   	curve_224generator_224r(   	curve_256generator_256r,   	curve_384generator_384r/   	curve_521generator_521r2   curve_secp256k1generator_secp256k1r5   r=   r?   r   r   r   <module>rO      s                	 	 	 	 		 	 	 	$ $ $
0 0 0 0 0 0 0 0 5U_$,l< < 5U_$#[2 2 5U_$,l< < 5U_$#[2 2 5U_$#[2 2 E+u4+$k3 3	 Hh(I	FC C C C Cr   