
    sg@                     "   d dl mZ d dlmZmZmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZ d dlmZmZmZmZmZmZ d d	lmZmZmZmZ d d
lmZ d dlmZm Z m!Z! d dl"m#Z# d dl$m%Z%m&Z& d Z'd Z(d Z)d Z*d Z+d Z,d Z-d Z.d Z/d Z0d Z1d Z2d Z3y)    )Basic)IRationalpievaluate)S)Symbol)sympify)sqrt)LinePointPoint2DPoint3DLine3DPlane)rotatescale	translateGeometryEntity)Matrix)subsetspermutationscartes)Undecidable)raiseswarnsc                     t        dd      } t        dd      }t        dd      }t        dd      }t        dd      }t        dd      }t        j                  }t        ||      t        ||      }t        d	d	      t        d
d
      }t        d	d
      }	t	        t        d
d	      d
      v sJ |vsJ |j
                  |k(  sJ |z   |k(  sJ |z
  t        ||z
  ||z
        k(  sJ | t        | |       k(  sJ t        t        d        t        t        d        t        t        d        t        t        d        t        t        d        t        dt        d            t        t        dd      t        d            k(  sJ t        j                  |      t        ||      k(  sJ t        j                  |      t        |||z  z   |||z  z         k(  sJ t        j                  ||      |k(  sJ |j                  |      |k(  sJ j                  t        d	d	      k(  sJ t        j                  |      t        d      k(  sJ t        j                        d	k(  sJ t        j                  |      t        |j                  dz  |j
                  dz  z         k(  sJ t        t        fd       t        t        fd       j                        j                        k(  sJ |j                        j                  |      k(  sJ t        j                  |      dk(  sJ t        j                   ||	      d
k(  sJ t        t        fd       t        ||      t        ||      }
t        |d
z   |      }t        j"                        sJ t%        t&        d      5  t        j"                  t        d            sJ 	 d d d        j#                         sJ t        j"                  |      sJ t        j"                  ||
      sJ t        j"                  ||      du sJ t        j"                  ||	      du sJ t        t        fd       t        t        fd       j)                  t        d	d	            gk(  sJ j)                  |      g k(  sJ j)                        g k(  sJ t%        t&        d      5  t        j(                  t        d	d	d	      t        d	d	            t        d	d	d	      gk(  sJ 	 d d d        t        dd      }t        |d	      }t        d	|      }t        | d	      }t        d	|       }t        |d       }t        j*                  |      sJ t        j*                  ||      sJ t        j*                  ||||      sJ t-        ||||f      D ]  }t        j*                  | du rJ  t        j*                  ||dz  |dz        du sJ t        d	d	      j+                  d!d"d#      du sJ t        j*                  t        d	d	d	d	      t        d
d	d	d	      t        d
d
d	d	      t        d
d
d
d	            du sJ j/                        sJ j/                  dz        sJ j/                  |      rJ t        j.                  t        d
d
      d$      sJ t        j.                  t        d	d	      d%      sJ t        t0        d&        t        d	d
      j2                  t        d
d	      k(  sJ t        d
d	      j2                  t        d	d
      k(  sJ j4                  J j4                  sJ |j4                  du sJ j6                  J j6                  du sJ |j6                  sJ |j9                  dd      t        dd      k(  sJ j9                  dd      k(  sJ |j;                  t<        t        d'd'            k(  sJ j?                  |      j                  |      j9                  dd      k(  sJ  jA                  |      j                  |      j9                  dd      k(  sJ |d z  t        d d       k(  sJ |d z  t        d(d(      k(  sJ d |z  t        d d       k(  sJ t        t        d)        t        | | d
z
  z  |      t        | dz  | z
  |d
z         z
  t        d	d*      k(  sJ t        j                  t        d
d      }}t        ||      jC                  d      t        |jE                  d      |jE                  d      d+      k(  sJ t        t        d,        t        jF                  d-d.      t        d	d	      k(  sJ t        jF                  d!d.      t        d
d	      k(  sJ t        t        fd/       t        d
d	      j;                  t<        dz        t        d	d
      k(  sJ j;                  t<        dz        k(  sJ t        d
d
      j9                  dd      t        dd      k(  sJ jI                  d
d      t        dd      k(  sJ jI                  d
      t        dd
      k(  sJ jI                  d
0      t        d
d      k(  sJ  jH                  jJ                   t        dd      k(  sJ t        t        fd1       t        t        fd2       d	t        d	d	d	d	      v sJ d
t        d	d	d	d	      vsJ t        jL                         d*k(  sJ y # 1 sw Y   \xY w# 1 sw Y   "xY w)3NxTrealyx1x2y1y2r      )slopec                      t        d      S Nr'   r        R/var/www/html/venv/lib/python3.12/site-packages/sympy/geometry/tests/test_point.py<lambda>ztest_point.<locals>.<lambda>%   s
    eAh r-   c                      t        dg      S r*   r+   r,   r-   r.   r/   ztest_point.<locals>.<lambda>&   s    uaSz r-   c                  "    t        dt              S N   r   r   r,   r-   r.   r/   ztest_point.<locals>.<lambda>'   s    uQ{ r-   c                  0    t        dt        z  t              S )N   r4   r,   r-   r.   r/   ztest_point.<locals>.<lambda>(   s    uQqS!} r-   c                  0    t        dt        z   t              S r2   r4   r,   r-   r.   r/   ztest_point.<locals>.<lambda>)   s    uQUA r-   fffffA@r3        r6   c                  0    t        j                   d      S Nr   )r   distancep1s   r.   r/   ztest_point.<locals>.<lambda>5   s    ennR3 r-   c                  @    t        j                   t                     S N)r   r=   r   r>   s   r.   r/   ztest_point.<locals>.<lambda>6   s    ennR1AB r-   c                  0    t        j                          S rA   )r   canberra_distancep3s   r.   r/   ztest_point.<locals>.<lambda>?   s    u66r2> r-   Ftest_stacklevel   )dimc                  .    t        j                         S rA   )r   is_collinear)lines   r.   r/   ztest_point.<locals>.<lambda>N   s    e006 r-   c                  &    j                         S rA   )rK   )rL   p1_1s   r.   r/   ztest_point.<locals>.<lambda>O   s    d//5 r-   )positive   r'   r'   )r6   r6   )r6   r'   )rR   )r   rR   c                  z    t        j                  t        t        d      t        d            t        dd            S )Nzx1%y1zx2%y2r   r'   )r   is_scalar_multipler   r,   r-   r.   r/   ztest_point.<locals>.<lambda>l   s0     8 8ww?OQXY`Qa9bdijkmndo p r-   g      ?皙?c                       t        dd      dz   S Nr   
   r+   r,   r-   r.   r/   ztest_point.<locals>.<lambda>   s    uQ{R/ r-   rR   r   c                       t        dd      dz   S Nr'   r6   r+   r,   r-   r.   r/   ztest_point.<locals>.<lambda>   s    uQ{Q r-   )r   r'   )r'   r   c                  D    t        j                   t        dd            S r<   )r   projectr>   s   r.   r/   ztest_point.<locals>.<lambda>   s    u}}Rq!= r-   )r"   c                  &     j                         S rA   	transformrD   s   r.   r/   ztest_point.<locals>.<lambda>   s    r||B/ r-   c                  D     j                  t        ddgddgg            S Nr'   r   r_   r   ps   r.   r/   ztest_point.<locals>.<lambda>   "    q{{6Aq6Aq62B+CD r-   )'r
   r	   Halfr   r   r"   r   	TypeError
ValueErrorr   r   midpointoriginr=   r   taxicab_distancerC   rK   r   UserWarningintersectionis_concyclicr   rT   r   orthogonal_directionis_zero
is_nonzeror   r   r   __radd____rsub__evalfnr\   r   argsaffine_rank)r   r"   r#   r$   r%   r&   halfp2p4p5p1_2p1_3x_posp2_1p2_2p2_3p2_4p2_5ptsabrL   rd   r?   rN   rE   s                        @@@@@r.   
test_pointr      ss
   sAsA	4	 B	4	 B	4	 B	4	 B66D	r2B	r2B	q!B	q!B	q!Ba1%D8O8R<<442::G??Gb2grBw////3%bS/!!!
9&'
:)*
:*+
:,-
:./Q E(3*;T!W$EEEE>>"b!U4%6666>>"b!U4$r'>4$r'>%JJJJ>>"b!R''';;r?b   99a###>>"b!T!W,,,>>"b!Q&&&>>"b!T"$$'BDD!G*;%<<<<
934
9BC ;;tb 1111;;tb 1111!!"b)Q...""2r*a///
:>?R=DR=DaDb!!!	{E	2 8!!"eBA&67778??b"%%%b"dD111b"dD1U:::b"b"-666
967
956??5A;'B4///??2"$$$??4 B&&&	{E	2 S!!%1a.%1+>5Aq>BRRRRS 3&E?DE?D%DUFD?Dd###dD)))dD$555T4t45 1!!3'50001b"q&"q&1U:::A;##FFF;uDDDeAq!Q/q!Q1BE!QPQSTDUW\]^`acdfgWhimrrrr  $$$  2&&&$$R(((##E!QK:::##E!QK999
;pqA;++uQ{:::A;++uQ{::::::::::==   ==E!!!===88Aq>U1a[(((88Aq>R99RsC)R///;;r?bkk"o33Aq9999C>>"R!6!6q!!<<<<6U1a[   6U3_$$$r6U1a[   
:/0 AEAq!taxQ!775B<GGG668Aq>qAA;Qacc!facc!fu-. . .
:./ ==(E!QK777==(E!QK777
:=> 	aA88BqD>U1a[(((88BqD!!!!aA771a=E!QK''';;q!a+++;;q>U1a[(((;;;uQ{***1;;5A;... :/0
:DE aAq!!!!E!Q1%%%% "$$$A8 8S Ss   $m0=mmmc            	         t        dd      t        dd      } t        dd      }t        dd      }t        dd      }t        dd      }t        d	d      }t        d
d      }t        j                  }t        |||      }t        |||      }	t        ddd      }
t        ddd      }t        ddd      }||v sJ ||	vsJ |	j                  |k(  sJ |
|z   |k(  sJ |	|z
  t        ||z
  ||z
  ||z
        k(  sJ |	 t        | | |       k(  sJ t        dt        d            t        t        dd      t        d            k(  sJ t        j                  |
|      t        |||      k(  sJ t        j                  ||      t        |||z  z   |||z  z   |||z  z         k(  sJ t        j                  |	|	      |	k(  sJ |	j                  |	      |	k(  sJ t        j                  |
|      t        d      k(  sJ t        j                  ||      dk(  sJ t        j                  |
|	      t        |	j                  dz  |	j                  dz  z   |	j                  dz  z         k(  sJ t        |||      }t        |||      }t        |dz   ||      }t        j                  |
       t        j                  |
|      sJ t        j                  |
|||      sJ t        j                  |
|||      du sJ t        j                  |
|
||      du sJ |
j                  t        ddd            |
gk(  sJ |
j                  |      g k(  sJ |dz  t        ddd      k(  sJ |dz  t        ddd      k(  sJ d|z  t        ddd      k(  sJ t        t        d        |j                   |||fk(  sJ |	j                   |||fk(  sJ |
j                   dk(  sJ |j                   dk(  sJ |j                   dk(  sJ |j                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ t        dz
  z  | d      t        dz  z
  | dz   d      z
  t        ddd      k(  sJ t        j                  t        dd      t        dd      }}}t        |||      j#                  d      t        |j%                  d      |j%                  d      |j%                  d      d      k(  sJ t        t        d        t        ddd      j'                  dd      t        ddd      k(  sJ j)                  dd      t        ddd      k(  sJ j)                  d      t        ddd      k(  sJ j)                  d      t        ddd      k(  sJ  j(                  j*                   t        ddd      k(  sJ t        dddd       j*                  d   j,                  sJ j.                  dk(  sJ |j.                  dk(  sJ |j.                  dk(  sJ t        t0        fd!       t        j2                         sJ t        j2                  d"d"d#      sJ t        j2                  d"d$      sJ t5        t6        d%      5  t        t        d&        d d d        t        j2                  d"d$      sJ t        j2                  dd'dd(      du sJ t        ddd      }t        ddd      }t        j2                  ||      dk(  sJ t        j2                  |||
      dk(  sJ t        j2                  |      sJ t        ddd      }t        ddd      }t        j2                  ||      sJ t9        d(d)d*      }t        j2                  t;        d      D cg c]  }|j=                  d|z  |f       c} sJ t        j2                  t        |       t        | z         t        | dz               du sJ |j                  t?        |            t        ddd      gk(  sJ |j'                  ddd      |k(  sJ |j'                  ddd|      t        ddd      k(  sJ |j'                  ddd|
      |k(  sJ tA        g d+g d,g d-g d.g      }jC                  |      k(  sJ tA        g d/g d0g d1g d.g      }jC                  |      t        ddd      k(  sJ t        t        fd2       t        t        fd3       jE                  |      dk(  sJ t        dddd      }t5        t6        d%      5  |z
  t        dddd      k(  sJ 	 d d d        t        dddd      }t5        t6        d%      5  |z
  t        dddd      k(  sJ 	 d d d        y # 1 sw Y   xY wc c}w # 1 sw Y   [xY w# 1 sw Y   y xY w)4Nr   Tr    r"   r#   r$   x3r%   r&   y3r   r'   r6   r8   r3   r9   r:   FrP   rU   c                  "    t        ddd      dz   S rW   r   r,   r-   r.   r/   ztest_point3D.<locals>.<lambda>   s    wq!Q/"4 r-   )r   r   r   )r'   r'   r'   )r   r'   r6   rR   rH   r   c                  "    t        ddd      dz   S )Nr'   r6   r3   r   r,   r-   r.   r/   ztest_point3D.<locals>.<lambda>   s    wq!Q/!3 r-   )z皙?ignore)r   on_morphc                  0    t        j                         S rA   r   are_collinear)rd   r   s   r.   r/   ztest_point3D.<locals>.<lambda>  s    g33Aq9 r-   )r'   r6   r   )r'   r3   r   r'   r6   r3   rF   c                  .    t        j                  dd      S )Nr'   r6   r   )r   are_coplanarr,   r-   r.   r/   ztest_point3D.<locals>.<lambda>	  s    7#7#7	#J r-   )r'   r'   r   )r'   r6   r'   )r6   r'   r   )r3   r'   r6   )r'   r   r   r   )r   r'   r   r   )r   r   r'   r   )r   r   r   r'   )r'   r   r   r'   )r   r'   r   r'   )r   r   r'   r'   c                  &     j                         S rA   r^   rc   s   r.   r/   ztest_point3D.<locals>.<lambda>'  s    q{{1~ r-   c                  D     j                  t        ddgddgg            S ra   rb   rc   s   r.   r/   ztest_point3D.<locals>.<lambda>(  re   r-   )#r
   r	   rf   r   r"   r   r   r   ri   r=   r   r   r   rm   r   rh   coordinatesrt   ru   r   r   rv   is_Floatlengthrg   r   r   rl   r   range
projectionr   r   r_   equals)r"   r#   r$   r   r%   r&   r   rx   r?   ry   rE   rz   r{   rN   r|   r}   r   r   cplanar2planar3planeiidentitytransp_4dp_4d3drd   r   s                              @@r.   test_point3Dr      s	   sAsA	4	 B	4	 B	4	 B	4	 B	4	 B	4	 B66D	R	B	R	B	Aq	B	Aq	B	Aq	B8O8R<<442::G??GRb"r'::::3'2#sRC((((Q E(3*;T!W$EEEEB#wtT4'@@@@B#wtd2g~td2g~)-R(9 9 9 9B#r)));;r?b   B#tAw...B#q(((B#tBDD!GbddAg,=a,G'HHHH2r2D2r2D262r"D"  R(((  Rt444  Rt4===  RR0E999??71a+,444??2"$$$ 6WQ1%%%%6WS#s++++r6WQ1%%%%
:45 >>b"b\)))>>b"b\)))>>Y&&&>>Y&&&>>Y&&&441994419944199 1a!e9a#gadQhAq&AA2q   ffhq!nhq!n!qA1a!!!$acc!facc!facc!fu56 6 6
:34 	1aA771a=GAq!,,,,;;q!1a 0000;;q>WQ1----;;;wq!Q////1;;71a#3333 3eh?DDQGPPPP 88q==;;!;;! 99: iI>>>i333	{E	2 LzJKL	9555iIyIURRRaQGb!QG7G4<<<7GR8EAAAa)))aAGaAG7G444)Y	2EaQ1 0 02'1 >QRRR eAqk5AE?E!QUOLPTTTT q' 231a8H7IIII ==Aq!W,,,==Aq'*gaA.>>>>==Aq"%000 |\<NOH;;x A%%%L,lKLE;;uAq!1111
:-.
:DE 88B<5    Aq!D	{E	2 .4x5Aq"----.1aAF	{E	2 /6zU1aA..../ /UL L  R4. ./ /s*   >ff#6f(5f4f (f14f=c                     t        dd      } t        dd      }d}| j                  |      t        d      dz  k(  sJ |j                  |      t        d      dz  k(  sJ | j                  dk(  sJ | j                  dk(  sJ |j                  dk(  sJ |j                  t        d      dz  k(  sJ | j                  d	k(  sJ |j                  dt        d      dz  fk(  sJ | j                  d
k(  sJ y )Nr'   rP   rH   g      @)   r3   =   r6      )r'   rP   )r'   rP   r'   rP   )r   r=   r   r   r"   r	   r   boundsr?   ry   rE   s      r.   test_Point2Dr   6  s     
AB	CB	B;;r?d2hqj(((;;r?d2hqj((( 441994419944199441Q46>>>>V###>>a1a[((( 99$$$r-   c                      t        ddd      } t        ddd      }t        ddd      }t        j                  | ||      du sJ y )	NrH   r   r'   r6   r3      Fr   r   s      r.   test_issue_9214r   J  sI    	B	B	Aq	B	Aq	B  R,555r-   c                      t        ddd      } t        dd      }t        t        d      5  | j	                  |      t        d      k(  sJ 	 d d d        y # 1 sw Y   y xY w)Nr'   r   r6   FrF   rP   )r   r   r   rl   r=   r   r?   ry   s     r.   test_issue_11617r   R  sS    	1QB	1B	{E	2 *{{2$q')))* * *s    AAc                     t        dd      } | j                  t        t        dz              t        dd      k(  sJ | j                  t	        dd            t        dd      k(  sJ | j                  t        dd            t        dd      k(  sJ t        dd      j	                  ddd      t        dd      k(  sJ t        dd      j                  dd	      t        d	d
      k(  sJ y )Nr'   r6   rR   r3   )rH   rP   r   irH   rP   r   )r   r_   r   r   r   r   rc   s    r.   test_transformr   Z  s    aA;;vbd|$b!444;;uQ{#uQ{222;;yA'5A;666A;Q6*b"  A;  A&a  r-   c                      t        dd      t        dd      }} t        dd      t        dd      }}t        j                  | ||      sJ t        j                  | |||      rJ y )NrR   r   r'   r6   )r   rn   )r?   ry   rE   rz   s       r.   test_concyclic_doctest_bugr   e  sa    2q\5A;B1a[%A,Bb"b)))!!"b"b1111r-   c                  x   dddgt        dd      f} dddgt        dd      f}t        | |      }t        dd      }dg dt        ddd      f}t        |d      }t	        ddd      }dg dt        dddd      f}t        |d      }t        dddd      }	g d	}
d
dg}| D ]  }t        |        |
D ]  }| D ]  } t        ||      |         |D ]  }|D ]  } t        ||      |    dg}|D ]  }t	        |        |
D ]  }|D ]  } t        ||      |         |D ]  }|D ]  } t        ||      |    dg}|D ]  }t        |        |
D ]  }|D ]  } t        |	|      |         |D ]  }|D ]  } t        |	|      |    t        d      }t        dd      }|d|fz   t        dd|z   d      k(  sJ t        dd      }|dz  t        ddd      k(  sJ t        dd      }|dz  t        ddd      k(  sJ t        ddd      }t        |dd      }|j                  dk(  sJ t        d |j                  dd D              sJ t        d t        |      j                  D              sJ t        dd      sJ t        t        d        t        t        d        t        t        d        y)zFunctions accepting `Point` objects in `geometry`
    should also accept tuples and lists and
    automatically convert them to points.r   r'   r6   )r'   r3   r3   r   )r'   r6   r3   rH   rH   )	r=   rT   rk   ri   rm   dotr   __add____sub__rn   rK   r   r   r   Fr   g      $@g        rU   r   rI   r   )r   rU   r   r   c              3   4   K   | ]  }|j                     y wrA   r   .0r   s     r.   	<genexpr>z!test_arguments.<locals>.<genexpr>  s     /aqzz/   Nc              3   4   K   | ]  }|j                     y wrA   r   r   s     r.   r   z!test_arguments.<locals>.<genexpr>  s     1aqzz1r   errorc                       t        dddd      S )Nr'   r3   r   r   r+   r,   r-   r.   r/   z test_arguments.<locals>.<lambda>  s    uQq7C r-   c                       t        dddd      S )Nr'   r3   unknownr   r+   r,   r-   r.   r/   z test_arguments.<locals>.<lambda>  s    uQq9E r-   c                  :    t        t               t                     S rA   )r   r   r,   r-   r.   r/   z test_arguments.<locals>.<lambda>  s    eEGUW5 r-   )r   r   r   r   r   getattrr
   rv   allr   rh   rg   )	singles2d
singles2d2	doubles2dp2d	singles3d	doubles3dp3d	singles4d	doubles4dp4dtest_singletest_doublerd   funcr   r   uu4s                     r.   test_argumentsr   l  sQ   
 1uQqz*I!Aa
+Jy*-I
!A,C'51Q<0I	1%I
!Aa.CIuQq1~6I	1%I
!Aa.C LK!>2K 
 " 	"AGCq!	""  # 	#AGC"	##
 ""K 
 " 	"AGCq!	""  # 	#AGC"	##
 ""K a " 	"AGCq!	""  # 	#AGC"	##
 	sAaAQx<5a!ee<<<<aAT6U1cE2222aAT6U3u5555 	b"u%A	qa(	+B77n$$$/2772A;////158==1111 Q))) :CD
:EF
956r-   c                  ~    t        dd      j                  t        t        d      dz  t        d      dz        k(  sJ y rZ   )r   unitr   r,   r-   r.   	test_unitr     s3    A;uT!WQYQ	::::r-   c                  &    t        t        d        y )Nc                  L    t        dd      j                  t        dd            S )Nr'   r6   )r   r   rQ   )r   r   r   r,   r-   r.   r/   ztest_dot.<locals>.<lambda>  s    eAqkood66.BC r-   )r   rg   r,   r-   r.   test_dotr     s    
9CDr-   c                  "   t        j                  t        dd      t        dd            t        dd      t        dd      gk(  sJ t        j                  t        dd      t        ddd      d      t        ddd      t        ddd      gk(  sJ y )Nr'   r6   r3   rH   r   r   )r   )r   _normalize_dimensionr,   r-   r.   test__normalize_dimensionr     s    %%eAqk5A;?aU1a[D" " " "%%aU1a^h8aAaA<(( ( (r-   c                  \    t        d      5  t        dd       d d d        y # 1 sw Y   y xY w)NFr'   r6   )r   r   r,   r-   r.   test_issue_22684r     s'    	% a  s   "+c                     t        ddd      } t        ddd      }| j                  t        ddd            g dk(  sJ | j                  t        ddd            g dk(  sJ | j                  t        ddt                    g dk(  sJ | j                  t        ddd            g dk(  sJ | j                  t        dt        d      d            g dk(  sJ | j                  t        ddd            g dk(  sJ | j                  t        ddd            t        d	      d	z  t        d	      d	z  dgk(  sJ | j                  t        ddd            t        d      dz  t        d      dz  t        d      dz  gk(  sJ | j                  t        d
d            dt        d      z  dz  dt        d      z  dz  dgk(  sJ |j                  t        ddd            t        d       dz  t        d       dz  t        d       dz  gk(  sJ |j                  t        ddd            g dk(  sJ |j                  t        ddd            t        d	      d	z  dt        d	      d	z  gk(  sJ y )Nr   r'   )r'   r   r   )r   r'   r   )r   r   r'   rP   r3   g333333@r6   ii)      )r   direction_cosiner   r   r   s     r.   test_direction_cosiner     sU   	Aq	B	Aq	Bwq!Q/0I===wq!Q/0I===wq!R01Y>>>wq!Q/0I===wq$q'156)CCCwq!Q/0I===wsC34aDGAIq8QQQQwq!Q/0T!Wq[$q'A+tTUwYZ{4[[[[wsE2348B4PR8TVXY7ZZZZwq!Q/0d1gX\DG8a<RVWXRYQY\]Q]4^^^^wq!R01Y>>>wr1b12tAw{AtAwQR{6SSSSr-   N)4sympy.core.basicr   sympy.core.numbersr   r   r   sympy.core.parametersr   sympy.core.singletonr	   sympy.core.symbolr
   sympy.core.sympifyr   (sympy.functions.elementary.miscellaneousr   sympy.geometryr   r   r   r   r   r   sympy.geometry.entityr   r   r   r   sympy.matricesr   sympy.utilities.iterablesr   r   r   sympy.utilities.miscr   sympy.testing.pytestr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r,   r-   r.   <module>r      s    " 0 0 * " $ & 9 G G J J ! C C , .V%rJ/Z%(6*2K7Z;E(Tr-   