Ë
    7^(h?  ã                   óä   — 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 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 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!  G d„ de«      Z"d„ Z#y)é    )ÚRational)ÚS)Úsymbols)Úsign)Úsqrt)Úgcd)Ú
Complement)ÚBasicÚTupleÚdiffÚexpandÚEqÚInteger)Úordered)Ú_symbol)ÚsolvesetÚnonlinsolveÚdiophantine©Útotal_degree)ÚPoint)Úcorec                   óx   ‡ — e Zd ZdZˆ fd„Zed„ «       Zed„ «       Zed„ «       Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zdd„Zˆ xZS )ÚImplicitRegiona¡  
    Represents an implicit region in space.

    Examples
    ========

    >>> from sympy import Eq
    >>> from sympy.abc import x, y, z, t
    >>> from sympy.vector import ImplicitRegion

    >>> ImplicitRegion((x, y), x**2 + y**2 - 4)
    ImplicitRegion((x, y), x**2 + y**2 - 4)
    >>> ImplicitRegion((x, y), Eq(y*x, 1))
    ImplicitRegion((x, y), x*y - 1)

    >>> parabola = ImplicitRegion((x, y), y**2 - 4*x)
    >>> parabola.degree
    2
    >>> parabola.equation
    -4*x + y**2
    >>> parabola.rational_parametrization(t)
    (4/t**2, 4/t)

    >>> r = ImplicitRegion((x, y, z), Eq(z, x**2 + y**2))
    >>> r.variables
    (x, y, z)
    >>> r.singular_points()
    EmptySet
    >>> r.regular_point()
    (-10, -10, 200)

    Parameters
    ==========

    variables : tuple to map variables in implicit equation to base scalars.

    equation : An expression or Eq denoting the implicit equation of the region.

    c                 ó¨   •— t        |t        «      st        |Ž }t        |t        «      r|j                  |j                  z
  }t
        ‰| �  | ||«      S ©N)Ú
isinstancer   r   ÚlhsÚrhsÚsuperÚ__new__)ÚclsÚ	variablesÚequationÚ	__class__s      €úY/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/vector/implicitregion.pyr!   zImplicitRegion.__new__9   sF   ø€ Ü˜)¤UÔ+Ü˜yÐ)ˆIä�h¤Ô#Ø—|‘| h§l¡lÑ2ˆHä‰w‰˜s I¨xÓ8Ð8ó    c                 ó    — | j                   d   S )Nr   ©Úargs©Úselfs    r&   r#   zImplicitRegion.variablesB   ó   € à�y‰y˜‰|Ðr'   c                 ó    — | j                   d   S )Né   r)   r+   s    r&   r$   zImplicitRegion.equationF   r-   r'   c                 ó,   — t        | j                  «      S r   )r   r$   r+   s    r&   ÚdegreezImplicitRegion.degreeJ   s   € ä˜DŸM™MÓ*Ð*r'   c                 ó¸  — | j                   }t        | j                  «      dk(  r6t        t	        || j                  d   t
        j                  ¬«      «      d   fS t        | j                  «      dk(  rh| j                  dk(  rYt        | j                  |«      x}\  }}}}}}|dz  d|z  |z  k(  r | j                  |Ž \  }	}
|	|
fS  | j                  |Ž \  }	}
|	|
fS t        | j                  «      dk(  r©| j                  \  }}}t        dd«      D ]Š  }	t        dd«      D ]y  }
t	        |j                  ||	||
i«      | j                  d   t
        j                  ¬«      j                  rŒJ|	|
t        t	        |j                  ||	||
i«      «      «      d   fc c S  ŒŒ t        | j                  «       «      dk7  rt        | j                  «          d   S t        «       ‚)	a0  
        Returns a point on the implicit region.

        Examples
        ========

        >>> from sympy.abc import x, y, z
        >>> from sympy.vector import ImplicitRegion
        >>> circle = ImplicitRegion((x, y), (x + 2)**2 + (y - 3)**2 - 16)
        >>> circle.regular_point()
        (-2, -1)
        >>> parabola = ImplicitRegion((x, y), x**2 - 4*y)
        >>> parabola.regular_point()
        (0, 0)
        >>> r = ImplicitRegion((x, y, z), (x + y + z)**4)
        >>> r.regular_point()
        (-10, -10, 20)

        References
        ==========

        - Erik Hillgarter, "Rational Points on Conics", Diploma Thesis, RISC-Linz,
          J. Kepler Universitat Linz, 1996. Available:
          https://www3.risc.jku.at/publications/download/risc_1355/Rational%20Points%20on%20Conics.pdf

        r/   r   )Údomainé   é   é   iöÿÿÿé
   )r$   Úlenr#   Úlistr   r   ÚRealsr1   Úconic_coeffÚ_regular_point_parabolaÚ_regular_point_ellipseÚrangeÚsubsÚis_emptyÚsingular_pointsÚNotImplementedError)r,   r$   ÚcoeffsÚaÚbÚcÚdÚeÚfÚx_regÚy_regÚxÚyÚzs                 r&   Úregular_pointzImplicitRegion.regular_pointN   sÌ  € ð6 —=‘=ˆäˆt�~‰~Ó !Ò#Üœ (¨D¯N©N¸1Ñ,=ÄaÇgÁgÔNÓOÐPQÑRÐTÐTÜ�—‘Ó  AÒ%à�{‰{˜aÒÜ,7¸¿¹ÈÓ,QÐQ�Ñ)˜˜A˜q ! Q¨à�a‘4˜1˜Q™3˜q™5’=Ø#? 4×#?Ñ#?ÀÐ#H‘L�E˜5ð ˜e�|Ð#ð $? 4×#>Ñ#>ÀÐ#G‘L�E˜5Ø˜e�|Ð#äˆt�~‰~Ó !Ò#Ø—n‘n‰GˆAˆq�!ä˜s B›ò f�Ü" 3¨›^ò f�EÜ# H§M¡M°1°e¸QÀÐ2FÓ$GÈÏÉÐXYÑIZÔcd×cjÑcjÔk×tÓtØ % u¬d´8¸H¿M¹MÈ1ÈeÐUVÐX]ÐJ^Ó<_Ó3`Ó.aÐbcÑ.dÐeÔeñfðfô
 ˆt×#Ñ#Ó%Ó&¨!Ò+Ü˜×,Ñ,Ó.Ñ/°Ñ2Ð2ä!Ó#Ð#r'   c                 ó–  — ||fdk7  xr  ||fdk7  xr |dz  d|z  |z  k(  xr ||fdk7  }|st        d«      ‚|dk7  r=d|z  |z  d|z  |z  z
  d|z  |z  |dz  z
  }	}|dk7  r|	 |z  }
|||
z  z    d|z  z  }nDd}nA|dk7  r<d|z  |z  d|z  |z  z
  d|z  |z  |dz  z
  }	}|dk7  r|	 |z  }|||z  z    d|z  z  }
nd}|r
fS t        d«      ‚)N)r   r   r4   r5   ú*Rational Point on the conic does not existr   F)Ú
ValueError)r,   rD   rE   rF   rG   rH   rI   ÚokÚd_dashÚf_dashrK   rJ   s               r&   r<   z&ImplicitRegion._regular_point_parabola…   s1  € Ø�Q�˜6Ñ!Ò] q¨! f°Ñ&6Ò]¸1¸a¹4À1ÀQÁ3ÀqÁ5¹=Ò]ÈaÐQRÈVÐW]ÑM]ˆBáÜ Ð!MÓNÐNà�AŠvØ"# A¡# a¡%¨!¨A©#¨a©%¡-°°1±°Q±¸¸A¹±˜�Ø˜Q’;Ø#˜G F™N�EØ ! E¡'™k˜N¨A¨a©CÑ0‘Eà‘BØ�a’Ø"# A¡# a¡%¨!¨A©#¨a©%¡-°°1±°Q±¸¸A¹±˜�Ø˜Q’;Ø#˜G F™N�EØ ! E¡'™k˜N¨A¨a©CÑ0‘Eà�BáØ˜e�|Ð#ä Ð!MÓNÐNr'   c                 óJ
  ‡.— d|z  |z  |dz  z
  }|}|st        d«      ‚|dk(  r|dk(  rd}	d||z  ||z  z
  z  }
n€|dk7  rM|}	d|dz  z  |dz  z  d|z  |z  |z  |z  z
  d|z  |z  |dz  z  z   d|dz  z  |z  |z  z   d|z  |dz  z  |z  z
  }
n.|}	d|dz  z  |dz  z  d|z  |z  |z  |z  z
  d|dz  z  |z  |z  z   }
|
dk7  xr |	dkD  xr |
dk   }|st        d«      ‚t        |	«      j                  d«      }	t        |
«      j                  d«      }
|	j                  |	j                  }}|
j                  |
j                  }}t        ||«      }||z  |z  }||z  |z  }||z   |z  }t        |«      t        t        |«      d«      z  }t        ||z  «      }t        |«      t        t        |«      d«      z  }t        ||z  «      }t        |«      t        t        |«      d«      z  }t        ||z  «      }t        t        ||«      |«      }||z  }||z  }||z  }t        ||«      }||z  }||z  }||z  }t        ||«      }||z  }||z  }||z  }t        ||«      }||z  }||z  }||z  }t        d«      \  }}}||dz  z  ||dz  z  z   ||dz  z  z   }t        |«      } t        | «      dk(  rt        d«      ‚d	}!| D �]³  }"t        |"Ž j                  }#t        j!                  |#d
«      Š.|"d   }$|$dk(  rd}!Œ9t#        |$t$        t&        f«      rŒP|$j                  }%t        |%«      dk(  rht)        t+        |%«      «      }&t-        t.        j0                  t3        t5        |$d«      |&t.        j0                  «      «      }'t)        t+        |'«      «      ‰.|&<   t        |%«      dk(  r¥t7        t9        |%«      «      \  }&}(t.        j0                  D ]{  })|$j;                  |&|)«      }*t-        t.        j0                  t3        t5        |*d«      |(t.        j0                  «      «      }+|+j<                  rŒ_|)‰.|&<   t)        t+        |+«      «      ‰.|(<    n t        |#«      dk7  rt?        ˆ.fd„|"D «       «      \  }}}n|"\  }}}d	}! n |!rt        d«      ‚||z  |z  }||z  |z  }||z  |z  }||z  }||z  }|dk(  r+|dk(  r&||z   d|z  z
  d|z  z  },||z
  d|z  z
  d|z  z  }-|,|-fS |dk7  r)|d|z  |z  z
  ||z  z   |	z  },|||,z  z
  |z
  d|z  z  }-|,|-fS |d|z  |z  z
  ||z  z   |	z  }-|||-z  z
  |z
  d|z  z  },|,|-fS )Nr5   r4   rQ   r   éÿÿÿÿé   l    J)£zx y zFr6   Tr/   c              3   ó@   •K  — | ]  }|j                  ‰«      –— Œ y ­wr   ©r?   ©Ú.0ÚsÚreps     €r&   ú	<genexpr>z8ImplicitRegion._regular_point_ellipse.<locals>.<genexpr>   s   øè ø€ Ò'A¸¨¯©¨s¯Ñ'Aùó   ƒ) rR   r   Úlimit_denominatorÚpÚqr   r   r   Úabsr   r   r   r8   r   Úfree_symbolsÚdictÚfromkeysr   Úintr   ÚnextÚiterr	   r   ÚIntegersr   r   r9   r   r?   r@   Útuple)/r,   rD   rE   rF   rG   rH   rI   ÚDrS   ÚKÚLÚk1Úk2Úl1Úl2ÚgÚa1Úb1Úc1Úa2Úr1Úb2Úr2Úc2Úr3Úg1Úg2Úg3rL   rM   rN   ÚeqÚ	solutionsÚflagÚsolÚsymsÚsol_zÚsyms_zrb   Úp_valuesrc   ÚiÚ
subs_sol_zÚq_valuesrJ   rK   r^   s/                                                 @r&   r=   z%ImplicitRegion._regular_point_ellipseŸ   sÉ  ø€ Ø�!‘�A‘˜˜1™‘ˆAØˆBáÜ Ð!MÓNÐNà�AŠv˜!˜qš&Ø�Ø�q˜‘s˜Q˜q™S‘y‘M‘Ø�a’Ø�Ø�a˜‘d‘F˜1˜a™4‘K ! A¡# a¡%¨¡'¨!¡)Ñ+¨a°©c°!©e°A°q±D©jÑ8¸1¸QÀ¹T¹6À!¹8ÀA¹:ÑEÈÈ1ÉÈQÐPQÉTÉ	ÐRSÉÑS‘à�Ø�a˜‘d‘F˜1˜a™4‘K ! A¡# a¡%¨¡'¨!¡)Ñ+¨a°°1±©f°Q©h°q©jÑ8�à�a‘Ò0  A¡¢¨!¨a©%Ð0ˆBÙÜ Ð!MÓNÐNä˜“×-Ñ-¨fÓ5ˆAÜ˜“×-Ñ-¨fÓ5ˆAà—S‘S˜!Ÿ#™#�ˆBØ—S‘S˜!Ÿ#™#�ˆBÜ�B˜“ˆAà�R‘%˜‘ˆBØ�R‘%˜‘ˆBØ�b‘5�˜!‘ˆBÜ�b“œ$œs 2›w¨Ó*Ñ*ˆBÜ�b˜‘e“ˆBÜ�b“œ$œs 2›w¨Ó*Ñ*ˆBÜ�b˜‘e“ˆBÜ�b“œ$œs 2›w¨Ó*Ñ*ˆBÜ�b˜‘e“ˆBä”C˜˜B“K Ó$ˆAØ�A‘ˆBØ�A‘ˆBØ�A‘ˆBä�R˜“ˆBØ�B‘ˆBØ�B‘ˆBØ�B‘ˆBä�R˜“ˆBØ�B‘ˆBØ�B‘ˆBØ�B‘ˆBä�R˜“ˆBØ�B‘ˆBØ�B‘ˆBØ�B‘ˆBä˜gÓ&‰GˆAˆq�!Ø�A�q‘D‘˜2˜a ™d™7Ñ" R¨¨1©¡WÑ,ˆBä# B›ˆIä�9‹~ Ò"Ü Ð!MÓNÐNàˆDØ ó "�Ü˜c�{×/Ñ/�Ü—m‘m D¨!Ó,�Ø˜A™�à˜A’:Ø�DØä! %¬#¬w¨Õ8Ø"×/Ñ/�Fä˜6“{ aÒ'Ü ¤ f£Ó.˜Ü#-¬a¯j©j¼(Ä2ÀeÈQÃ<ÐQRÔTU×T^ÑT^Ó:_Ó#`˜Ü!%¤d¨8£nÓ!5˜˜A™ä˜6“{ aÒ'Ü#¤G¨F£OÓ4™˜˜1ä!"§¡ò &˜AØ).¯©°A°qÓ)9˜JÜ'1´!·*±*¼hÄrÈ*ÐVWÓGXÐZ[Ô]^×]gÑ]gÓ>hÓ'i˜Hà#+×#4Ó#4Ø)*  A¡Ü)-¬d°8«nÓ)=  A¡Ù %ð&ô ˜4“y A’~Ü"'Ó'A¸SÔ'AÓ"A™˜˜1™aà$'™˜˜1˜aØ �DÙðE"ñH Ü Ð!MÓNÐNà�2‘�r‘	ˆAØ�2‘�r‘	ˆAØ�2‘�r‘	ˆAØ�!‘ˆAØ�!‘ˆAà�AŠv˜!˜qš&Ø˜Q™  1¡™ q¨¡sÑ+�Ø˜Q™  1¡™ q¨¡sÑ+�ð ˜%�<Ðð �a’Ø˜Q˜q™S ™U™ Q q¡S™¨!Ñ+�Ø˜Q˜u™W™ q™¨1¨Q©3Ñ/�ð
 ˜%�<Ðð ˜Q˜q™S ™U™ Q q¡S™¨!Ñ+�Ø˜Q˜u™W™ q™¨1¨Q©3Ñ/�à˜%�<Ðr'   c                 ó°   — | j                   g}| j                  D ]  }|t        | j                   |«      gz  }Œ t        |t	        | j                  «      «      S )aŸ  
        Returns a set of singular points of the region.

        The singular points are those points on the region
        where all partial derivatives vanish.

        Examples
        ========

        >>> from sympy.abc import x, y
        >>> from sympy.vector import ImplicitRegion
        >>> I = ImplicitRegion((x, y), (y-1)**2 -x**3 + 2*x**2 -x)
        >>> I.singular_points()
        {(1, 1)}

        )r$   r#   r   r   r9   )r,   Úeq_listÚvars      r&   rA   zImplicitRegion.singular_points  sR   € ð" —=‘=�/ˆØ—>‘>ò 	2ˆCØœ˜TŸ]™]¨CÓ0Ð1Ñ1‰Gð	2ô ˜7¤D¨¯©Ó$8Ó9Ð9r'   c                 ó`  — t        |t        «      r|j                  }| j                  }t	        | j
                  «      D ]  \  }}|j                  ||||   z   «      }Œ t        |«      }t        |j                  «      dk7  r |j                  }t        d„ |D «       «      }|S |}t        |«      }|S )a  
        Returns the multiplicity of a singular point on the region.

        A singular point (x,y) of region is said to be of multiplicity m
        if all the partial derivatives off to order m - 1 vanish there.

        Examples
        ========

        >>> from sympy.abc import x, y, z
        >>> from sympy.vector import ImplicitRegion
        >>> I = ImplicitRegion((x, y, z), x**2 + y**3 - z**4)
        >>> I.singular_points()
        {(0, 0, 0)}
        >>> I.multiplicity((0, 0, 0))
        2

        r   c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr   r   )r\   Úterms     r&   r_   z.ImplicitRegion.multiplicity.<locals>.<genexpr>P  s   è ø€ Ò9¨4”L ×&Ñ9ùs   ‚)r   r   r*   r$   Ú	enumerater#   r?   r   r8   Úminr   )r,   ÚpointÚmodified_eqr‰   rŽ   ÚtermsÚms          r&   ÚmultiplicityzImplicitRegion.multiplicity2  s­   € ô& �eœUÔ#Ø—J‘JˆEà—m‘mˆä §¡Ó/ò 	@‰FˆAˆsØ%×*Ñ*¨3°°e¸A±h±Ó?‰Kð	@ä˜[Ó)ˆäˆ{×ÑÓ  AÒ%Ø×$Ñ$ˆEÜÑ9°5Ô9Ó9ˆAð
 ˆð  ˆEÜ˜UÓ#ˆAàˆr'   c                 óp  ‡— | j                   }| j                  }|dk(  rht        | j                  «      dk(  r|fS t        | j                  «      dk(  r+| j                  \  }}t	        t        ||«      «      d   }||fS t        «       ‚d}|dk(  rN|�|}nIt        | j                  «       «      dk7  rt	        | j                  «       «      d   }n| j                  «       }t        | j                  «       «      dk7  r|| j                  «       }	|	D ]g  }
t        |
Ž j                  }t        j                  |d«      Št        |«      dk7  rt        ˆfd„|
D «       «      }
| j                  |
«      |dz
  k(  sŒe|
} n t        |«      dk(  r
t        «       ‚|}t        | j                  «      D ]  \  }}|j!                  ||||   z   «      }Œ t#        |«      }dx}}|j$                  D ]  }t'        |«      |k(  r||z  }Œ||z  }Œ d|z  }t)        |t        «      s|f}t        | j                  «      dk(  rÐ|d   }|dk(  rt+        dd	¬
«      }nt+        dd	¬
«      }t+        |d	¬
«      }|j!                  | j                  d   || j                  d   |i«      }|j!                  | j                  d   || j                  d   |i«      }|||z  z  j!                  |d«      |d   z   }|||z  z  j!                  |d«      |d   z   }||fS t        | j                  «      dk(  �r|\  }}d|v rt+        dd	¬
«      }nt+        dd	¬
«      }t+        |d	¬
«      }t+        |d	¬
«      }|j!                  | j                  d   || j                  d   || j                  d   |i«      }|j!                  | j                  d   || j                  d   || j                  d   |i«      }|||z  z  j!                  |d«      |d   z   }|||z  z  j!                  |d«      |d   z   }|||z  z  j!                  |d«      |d   z   }|||fS t        «       ‚)aÉ  
        Returns the rational parametrization of implicit region.

        Examples
        ========

        >>> from sympy import Eq
        >>> from sympy.abc import x, y, z, s, t
        >>> from sympy.vector import ImplicitRegion

        >>> parabola = ImplicitRegion((x, y), y**2 - 4*x)
        >>> parabola.rational_parametrization()
        (4/t**2, 4/t)

        >>> circle = ImplicitRegion((x, y), Eq(x**2 + y**2, 4))
        >>> circle.rational_parametrization()
        (4*t/(t**2 + 1), 4*t**2/(t**2 + 1) - 2)

        >>> I = ImplicitRegion((x, y), x**3 + x**2 - y**2)
        >>> I.rational_parametrization()
        (t**2 - 1, t*(t**2 - 1))

        >>> cubic_curve = ImplicitRegion((x, y), x**3 + x**2 - y**2)
        >>> cubic_curve.rational_parametrization(parameters=(t))
        (t**2 - 1, t*(t**2 - 1))

        >>> sphere = ImplicitRegion((x, y, z), x**2 + y**2 + z**2 - 4)
        >>> sphere.rational_parametrization(parameters=(t, s))
        (-2 + 4/(s**2 + t**2 + 1), 4*s/(s**2 + t**2 + 1), 4*t/(s**2 + t**2 + 1))

        For some conics, regular_points() is unable to find a point on curve.
        To calulcate the parametric representation in such cases, user need
        to determine a point on the region and pass it using reg_point.

        >>> c = ImplicitRegion((x, y), (x  - 1/2)**2 + (y)**2 - (1/4)**2)
        >>> c.rational_parametrization(reg_point=(3/4, 0))
        (0.75 - 0.5/(t**2 + 1), -0.5*t/(t**2 + 1))

        References
        ==========

        - Christoph M. Hoffmann, "Conversion Methods between Parametric and
          Implicit Curves and Surfaces", Purdue e-Pubs, 1990. Available:
          https://docs.lib.purdue.edu/cgi/viewcontent.cgi?article=1827&context=cstech

        r/   r4   r   © c              3   ó@   •K  — | ]  }|j                  ‰«      –— Œ y ­wr   rZ   r[   s     €r&   r_   z:ImplicitRegion.rational_parametrization.<locals>.<genexpr>¨  s   øè ø€ Ò"?°1 1§6¡6¨#§;Ñ"?ùr`   rW   r]   Ús_T)Úrealr6   ÚrÚr_)r$   r1   r8   r#   r9   r   rB   rA   rO   r   re   rf   rg   rl   r˜   r’   r?   r   r*   r   r   r   )r,   Ú
parametersÚ	reg_pointr$   r1   rL   rM   Úy_parr”   rA   Úspointr…   r•   r‰   rŽ   ÚhnÚhn_1r‘   Ú
parameter1r]   ÚtÚx_parÚ
parameter2rž   Úz_parr^   s                            @r&   Úrational_parametrizationz'ImplicitRegion.rational_parametrizationW  sA  ø€ ð^ —=‘=ˆØ—‘ˆà�QŠ;Ü�4—>‘>Ó" aÒ'Ø �{Ð"Ü�T—^‘^Ó$¨Ò)Ø—~‘~‘��1ÜœX h°Ó2Ó3°AÑ6�Ø˜%�x�ä)Ó+Ð+àˆð �QŠ;àÐ$à!‘ä�t×+Ñ+Ó-Ó.°!Ò3Ü  ×!5Ñ!5Ó!7Ó8¸Ñ;‘Eà ×.Ñ.Ó0�Eäˆt×#Ñ#Ó%Ó&¨!Ò+Ø"×2Ñ2Ó4ˆOØ)ò 	�Ü˜f�~×2Ñ2�Ü—m‘m D¨!Ó,�ä�t“9 ’>Ü"Ó"?¸Ô"?Ó?�Fà×$Ñ$ VÓ,°¸±
Ó:Ø"�EÙð	ô ˆu‹:˜Š?ä%Ó'Ð'àˆô   §¡Ó/ò 	@‰FˆAˆsØ%×*Ñ*¨3°°e¸A±h±Ó?‰Kð	@ä˜[Ó)ˆàˆˆˆTØ×$Ñ$ò 	ˆDÜ˜DÓ! VÒ+Ø�d‘
‘à˜‘‘ð		ð �$‰wˆä˜*¤eÔ,Ø$˜ˆJäˆt�~‰~Ó !Ò#à# A™ˆJØ˜SÒ ä˜D tÔ,‘ä˜C dÔ+�Ü˜
¨Ô.ˆAà—‘˜$Ÿ.™.¨Ñ+¨Q°·±¸qÑ0AÀ1ÐEÓFˆBØ—9‘9˜dŸn™n¨QÑ/°°D·N±NÀ1Ñ4EÀqÐIÓJˆDà˜˜R™‘[×&Ñ& q¨!Ó,¨u°Q©xÑ7ˆEØ˜˜R™‘[×&Ñ& q¨!Ó,¨u°Q©xÑ7ˆEà˜%�<Ðä�—‘Ó  AÓ%à%/Ñ"ˆJ˜
Ø�jÑ ä˜D tÔ,‘ä˜C dÔ+�Ü˜
¨Ô.ˆAÜ˜
¨Ô.ˆAà—‘˜$Ÿ.™.¨Ñ+¨Q°·±¸qÑ0AÀ1ÀdÇnÁnÐUVÑFWÐYZÐ[Ó\ˆBØ—9‘9˜dŸn™n¨QÑ/°°D·N±NÀ1Ñ4EÀqÈ$Ï.É.ÐYZÑJ[Ð]^Ð_Ó`ˆDà˜˜R™‘[×&Ñ& q¨!Ó,¨u°Q©xÑ7ˆEØ˜˜R™‘[×&Ñ& q¨!Ó,¨u°Q©xÑ7ˆEØ˜˜R™‘[×&Ñ& q¨!Ó,¨u°Q©xÑ7ˆEà˜% Ð&Ð&ä!Ó#Ð#r'   ))r§   r]   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r!   Úpropertyr#   r$   r1   rO   r<   r=   rA   r˜   r«   Ú__classcell__)r%   s   @r&   r   r      sn   ø„ ñ&ôN9ð ñó ðð ñó ðð ñ+ó ð+ò5$ònOò4z òx:ò.#÷JT$r'   r   c                 ó°  — t        |«      dk7  r
t        «       ‚| d   }| d   }t        |«      }|j                  |dz  «      }|j                  ||z  «      }|j                  |dz  «      }|j                  |d«      j                  |d«      }|j                  |d«      j                  |d«      }|j                  |d«      j                  |d«      }	||||||	fS )Nr4   r   r/   )r   rR   r   Úcoeff)
r#   r$   rL   rM   rD   rE   rF   rG   rH   rI   s
             r&   r;   r;   í  sÓ   € Ü�HÓ Ò"Ü‹lÐØ�!‰€AØ�!‰€Aä�hÓ€HØ�‰�q˜!‘tÓ€AØ�‰�q˜‘sÓ€AØ�‰�q˜!‘tÓ€AØ�‰�q˜!Ó×"Ñ" 1 aÓ(€AØ�‰�q˜!Ó×"Ñ" 1 aÓ(€AØ�‰�q˜!Ó×"Ñ" 1 aÓ(€AØˆa��A�q˜!ÐÐr'   N)$Úsympy.core.numbersr   Úsympy.core.singletonr   Úsympy.core.symbolr   Ú$sympy.functions.elementary.complexesr   Ú(sympy.functions.elementary.miscellaneousr   Úsympy.polys.polytoolsr   Úsympy.sets.setsr	   Ú
sympy.corer
   r   r   r   r   r   Úsympy.core.sortingr   r   Úsympy.solversr   r   r   Úsympy.polysr   Úsympy.geometryr   Úsympy.ntheory.factor_r   r   r;   rš   r'   r&   ú<module>rÁ      sI   ðÝ 'Ý "Ý %Ý 5Ý 9Ý %Ý &ß >× >Ý &Ý %ß <Ñ <Ý $Ý  Ý &ôZ$�Uô Z$óxr'   