
    [Ah^"              
       ,   S SK r  S SKrS SKJrJr  S SKJr	   S SKJ
r
  SrSSKJr  SSKJrJrJrJr  0 r\(       a  \
R(                  /\S	'   S
\S'   SrSrSrSrSr\" \S\5      r\" \\\\5      r\" SSS5      r\" \SSS5      r\" \5      rS\S'   \" S&0 \D6\" \	R@                  " S\S-
  S95      S 5       5       r!S r"\ RF                  RI                  S\%" \"" \S5      5       V Vs/ s H	  u  p\X4PM     snn \&" S5       Vs/ s H  nSRO                  U5      PM     snS9S 5       r( " S  S!\RR                  5      r* " S" S#\RR                  5      r+ " S$ S%\RR                  5      r,g! \ a    S SKr GNnf = f! \ a    Sr GNff = fs  snn f s  snf )'    N)givensettings)HealthCheckTF   )inverse_mod)CurveFpINFINITYPoint	CurveEdTwsuppress_health_checki  deadline      1(i&^#a;   9{uDjSg9g(B   +' 1t:_|v!a:@m   H<^W]dZ{cxW\Iq             max_examples)	min_value	max_valuec                 R    [        U [        5      n[        U -  nX!-  [        :X  d   eg N)r   rp192)multipleinv_mp1s      _C:\Users\julio\Documents\inmobiliaria_backend\env\Lib\site-packages\ecdsa/test_ellipticcurve.pytest_p192_mult_testsr#   .   s)     !$E	B:    c              #   P   #    [         nSnX1::  a  Uv   X -   nUS-  nX1::  a  M  g g 7f)Nr   r   )r	   )pointnretis       r"   add_n_timesr*   7   s0     
C	A
&	k	Q &s    &&zp, m, check   	   zg_23 test with mult {0})idsc                     X-  U:X  d   eg r    )pmchecks      r"   test_add_and_mult_equivalencer3   A   s     5E>>r$   c                   T    \ rS rSr\S 5       rS rS rS rS r	S r
S rS	 rS
 rSrg)	TestCurveJ   c                 (    [        SSS5      U l        g Nr   r   )r   c_23clss    r"   
setUpClassTestCurve.setUpClassK   s    2q!$r$   c                 R    U R                  U R                  [        SSS5      5        g r8   )assertEqualr9   r   selfs    r"   test_equality_curvesTestCurve.test_equality_curvesO   s    GB1$56r$   c                 f    [        [        S[        5      nU R                  U R                  U5        g )Nr   )r   r0   bassertNotEqualr9   )rA   c192s     r"   test_inequality_curves TestCurve.test_inequality_curvesR   s$    q"a DIIt,r$   c                 Z    [        SSS5      n[        SSS5      nU R                  X5        g )Nr   r   r   )r   rF   )rA   arE   s      r"    test_inequality_curves_by_b_only*TestCurve.test_inequality_curves_by_b_onlyV   s,    B1B1A!r$   c                      U R                   S 0  g r   r9   r@   s    r"   ,test_usability_in_a_hashed_collection_curves6TestCurve.test_usability_in_a_hashed_collection_curves[       	Dr$   c                 .    [        U R                  5        g r   hashr9   r@   s    r"   test_hashability_curves!TestCurve.test_hashability_curves^       TYYr$   c           
         [        SSS5      [        SSS5      [        SSS5      p2n[        SSS5      [        SSS5      U R                  penU R                  [        [	        [        XEU45      5      S5        U R                  [        [	        [        XU45      5      S5        U R                  [        S 0US 05        U R                  XVS 05        g )N   r   r   r      )r   r9   r?   lensetassertDictEqualassertIn)rA   ne1ne2ne3eq1eq2eq3s          r"   test_conflation_curves TestCurve.test_conflation_curvesa   s    Aq)72q!+<gb!Q>O#Aq)72q!+<dii#S$#!678!<S$#!678!<dD\C;7c;'r$   c                 N    U R                  [        U R                  5      S5        g )NzCurveFp(p=23, a=1, b=1)r?   strr9   r@   s    r"   test___str__TestCurve.test___str__i   s    TYY)BCr$   c                 V    [        SSSS5      nU R                  [        U5      S5        g )Nr   r   r[   zCurveFp(p=23, a=1, b=1, h=4))r   r?   rj   rA   cs     r"   test___str___with_cofactor$TestCurve.test___str___with_cofactorl   s'    B1a Q!?@r$   r/   N)__name__
__module____qualname____firstlineno__classmethodr<   rB   rH   rL   rP   rV   rf   rk   rp   __static_attributes__r/   r$   r"   r5   r5   J   s>    % %7-"
(DAr$   r5   c                   <    \ rS rSr\S 5       rS rS rS rS r	Sr
g)	TestCurveEdTwq   c                 (    [        SSS5      U l        g r8   )r   r9   r:   s    r"   r<   TestCurveEdTw.setUpClassr   s    RA&r$   c                 N    U R                  [        U R                  5      S5        g )NzCurveEdTw(p=23, a=1, d=1)ri   r@   s    r"   rk   TestCurveEdTw.test___str__v   s    TYY)DEr$   c                 V    [        SSSS5      nU R                  [        U5      S5        g )Nr   r   r[   zCurveEdTw(p=23, a=1, d=1, h=4))r   r?   rj   rn   s     r"   rp   (TestCurveEdTw.test___str___with_cofactory   s'    b!Q"Q!ABr$   c                      U R                   S 0  g r   rO   r@   s    r"   rP   :TestCurveEdTw.test_usability_in_a_hashed_collection_curves}   rR   r$   c                 .    [        U R                  5        g r   rT   r@   s    r"   rV   %TestCurveEdTw.test_hashability_curves   rX   r$   r/   N)rr   rs   rt   ru   rv   r<   rk   rp   rP   rV   rw   r/   r$   r"   ry   ry   q   s*    ' 'FCr$   ry   c                       \ rS rSr\S 5       rS rS rS rS r	S r
S rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rSrg)	TestPoint   c                     [        SSS5      U l        [        U R                  SSS5      U l        SnSnSnSnS	n[        US
U5      U l        [        U R                  XEU5      U l        g )Nr   r   r   r   r   r   r   r   r   r   )r   r9   r
   g_23rG   r   )r;   r0   r   rE   GxGys         r"   r<   TestPoint.setUpClass   sg    2q!$2q!,FF ???1b!$21-r$   c                    SnXR                   -  nU R                  UR                  5       S5        SnX0R                   -  nU R                  UR                  5       S5        U R                  UR                  5       S5        SnSnXPR                   -  Xb-  -   nU R                  UR                  5       S5        U R                  UR                  5       S5        g )Nl   uH=.t.#",W}7?jl   Z`uSG;R-]]0sk	+l   N/vZL_~XXw]ol   ~n&DJ,6'1a47b?`l   5XD+8n#w}rO	l   WTY>n+BtC*Yql   !M_JT96wfF[,z=)r   r?   xy)rA   dQkRu1u2temps           r"   	test_p192TestPoint.test_p192   s     F		MCCEE	
 G		MCCEE	
 	CCEE	
 HGII~&FFHH	
 	FFHH	
r$   c                 
   [         nUR                  5       nU R                  X5        U R                  UR                  5       UR                  5       5        U R                  UR	                  5       UR	                  5       5        g r   )r	   doubler?   r   r   )rA   r!   p3s      r"   test_double_infinityTestPoint.test_double_infinity   sX    YY[ ((r$   c                     Su  pp4[        U R                  X5      nUR                  5       nU R                  UR	                  5       U5        U R                  UR                  5       U5        g )N)   
   r      )r
   r9   r   r?   r   r   )rA   x1y1x3y3r!   r   s          r"   test_doubleTestPoint.test_double   sR    '499b%YY[$$r$   c                 V   [        U R                  SS5      nUR                  5       nU R                  UR	                  5       UR                  5       4S5        U R                  U[        5        UR                  5       nU R                  U[        5        U R                  U[        5        g N      r[   r   )	r
   r9   r   r?   r   r   rF   r	   assertIsrA   r!   p2r   s       r"   test_double_to_infinity!TestPoint.test_double_to_infinity   sy    499b"%YY["$$&"$$&)62B)YY[X&b(#r$   c                 &   [        U R                  SS5      nX-   nU R                  UR                  5       UR	                  5       4S5        U R                  U[        5        X"-   nU R                  U[        5        U R                  U[        5        g r   r
   r9   r?   r   r   rF   r	   r   r   s       r"   test_add_self_to_infinity#TestPoint.test_add_self_to_infinity   sq    499b"%W"$$&"$$&)62B)WX&b(#r$   c                 *   [        U R                  SS5      nUS-  nU R                  UR                  5       UR	                  5       4S5        U R                  U[        5        US-  nU R                  U[        5        U R                  U[        5        g )Nr   r   r   r   r   r   s       r"   test_mul_to_infinityTestPoint.test_mul_to_infinity   su    499b"%!V"$$&"$$&)62B)!VX&b(#r$   c                     Su  pp4n[        U R                  X5      nXc-  nU R                  UR                  5       U5        U R                  UR	                  5       U5        g )N)r   r   r   r   r   r
   r9   r?   r   r   )rA   r   r   r1   r   r   r!   r   s           r"   test_multiplyTestPoint.test_multiply   sQ    -r499b%V$$r$   c                     Su  pp4pV[        U R                  X5      n[        U R                  X45      nXx-   n	U R                  U	R                  5       U5        U R                  U	R	                  5       U5        g):We expect that on curve c, (x1,y1) + (x2, y2 ) = (x3, y3).)r   r   r,   r      r   Nr   
rA   r   r   x2y2r   r   r!   r   r   s
             r"   test_addTestPoint.test_add   c     "7499b%499b%W$$r$   c                     Su  pp4pV[        U R                  X5      n[        U R                  X45      nXx-   n	U R                  U	R                  5       U5        U R                  U	R	                  5       U5        g)r   )r   r   r   r   r   r   Nr   r   s
             r"   test_add_as_doubleTestPoint.test_add_as_double   r   r$   c           	      h    U R                  U R                  [        U R                  SSS5      5        g )Nr   r   )r?   r   r
   r9   r@   s    r"   test_equality_pointsTestPoint.test_equality_points   s%    E$))RA$>?r$   c                 r    [        SSS5      n[        USSS5      nU R                  U R                  U5        g Nd   r   )r   r
   rF   r   )rA   ro   r0   s      r"   test_inequality_points TestPoint.test_inequality_points   s4    CS!!S#s#DIIq)r$   c                 V    [        SSS5      nU R                  U R                  U5        g r   )r   rF   r   rn   s     r"   !test_inequality_points_diff_types+TestPoint.test_inequality_points_diff_types   s$    CS!DIIq)r$   c                     [        U R                  SS5      n[        U R                  SS5      nU R                  X5        g )N   r[      )r
   r9   rF   )rA   r!   r   s      r"   test_inequality_diff_y TestPoint.test_inequality_diff_y  s4    499a#499a$B#r$   c                     [        U R                  SS5      nU R                  U[         R                  " U R                  UR	                  5       5      5        g Nr   r   )r
   r9   r?   
from_bytesto_bytesrA   r0   s     r"   test_to_bytes_from_bytes"TestPoint.test_to_bytes_from_bytes	  s;    $))Q#E,,TYY

EFr$   c                 d    [        U R                  SS5      nU R                  [        X* -   5        g r   )r
   r9   r?   r	   r   s     r"   test_add_to_neg_selfTestPoint.test_add_to_neg_self  s(    $))Q#18,r$   c                 b    [        U R                  SS5      nU R                  X[        -   5        g r   )r
   r9   r   r	   r   s     r"   test_add_to_infinityTestPoint.test_add_to_infinity  s$    $))Q#aX&r$   c                 >    U R                  [        [        S-  5        g )Nr   )r   r	   r@   s    r"   test_mul_infinity_by_scalar%TestPoint.test_mul_infinity_by_scalar  s    h2.r$   c                 d    [        U R                  SS5      nU R                  US-  U* S-  5        g )Nr   r      )r
   r9   r?   r   s     r"   test_mul_by_negativeTestPoint.test_mul_by_negative  s.    $))Q#R1"*r$   c                 B    U R                  [        [        5      S5        g )Ninfinity)r?   rj   r	   r@   s    r"   test_str_infinityTestPoint.test_str_infinity   s    X
3r$   c                 h    [        U R                  SS5      nU R                  [        U5      S5        g )Nr   r   z(3,10))r
   r9   r?   rj   r   s     r"   test_str_pointTestPoint.test_str_point#  s(    $))Q#Q*r$   r/   N)rr   rs   rt   ru   rv   r<   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rw   r/   r$   r"   r   r      sz    . .
8)%$$$%%%@*
*$G
-
'
/+
4+r$   r   r/   )-pytest	unittest2unittestImportError
hypothesisr   r   hypothesis.strategies
strategiesstr   
HC_PRESENTnumbertheoryr   ellipticcurver   r	   r
   r   HYP_SETTINGStoo_slowr0   r   rE   r   r   rG   r   r9   r   dictHYP_SLOW_SETTINGSintegersr#   r*   markparametrize	enumeraterangeformatr3   TestCaser5   ry   r   )r'   expr)   s   000r"   <module>r     s     ' "&J & > > -8-A-A,BL()#L ?> 777q"aT2r1r1aT2q! & $% . ! 
r{{Q!a%01 2  "+Ka,@"AB"AdA^"AB6;Ah?h	"	)	)!	,h?  

$A!! $ANH%% &b+!! b+    Jj C?s.   E+ E< (FF+
E98E9<FF