ó
    Š*£hÎE  ã                   ó  • S SK Jr  S SKJr  S SKJrJr  S SKJr  S SK	J
r
  S SKJr  S SKJr  S SKJrJrJr  S S	KJr  S S
KJr  S SKJrJr  S SKJr  S SKJr  S SKJr  S SKJ r J!r!  S SK"J#r#  S r$SS jr%S r&S r'S r(SS.S jr)g)é    )ÚAdd)Úfactor_terms)Ú
expand_logÚ_mexpand)ÚPow)ÚS)Úordered)ÚDummy)ÚLambertWÚexpÚlog)Úroot)Úroots)ÚPolyÚfactor)Úseparatevars)Úcollect)Úpowsimp)ÚsolveÚ_invert)Úuniqc                 ó"  • U R                    Vs1 s H  o!UR                  ;   d  M  UiM     nn[        U5       HM  nSU-  nX#;   d  M  XC;   d  M  UR                  5       S   [        R
                  La  UnUR                  U5        MO     U$ s  snf )a‚  process the generators of ``poly``, returning the set of generators that
have ``symbol``.  If there are two generators that are inverses of each other,
prefer the one that has no denominator.

Examples
========

>>> from sympy.solvers.bivariate import _filtered_gens
>>> from sympy import Poly, exp
>>> from sympy.abc import x
>>> _filtered_gens(Poly(x + 1/x + exp(x)), x)
{x, exp(x)}

é   )ÚgensÚfree_symbolsÚlistÚas_numer_denomr   ÚOneÚremove)ÚpolyÚsymbolÚgr   Úags        ÚT/home/mande/repo/quber/.venv/lib/python3.13/site-packages/sympy/solvers/bivariate.pyÚ_filtered_gensr%      s{   € ð$ —y’yÓ=’y�!¨a¯n©nÑ$<�A‘y€DÐ=Ü�$ŽZˆØˆq‰SˆØ�9˜�Ø× Ñ Ó" 1Ñ%¬Q¯U©UÒ2Ø�Ø�K‰K˜ŽNñ ð €Kùò >s
   �B¦BNc                 ój  ^• U R                  T5       Vs/ s HV  o2(       aK  UR                  (       a  X#R                  ;   d+  UR                  (       a  M<  UR                  U5      (       d  MT  UPMX     nn[	        U5      S:X  a  US   $ U(       a   [        [        [        U5      5      U4S jS9$ gs  snf )a×  Returns the term in lhs which contains the most of the
func-type things e.g. log(log(x)) wins over log(x) if both terms appear.

``func`` can be a function (exp, log, etc...) or any other SymPy object,
like Pow.

If ``X`` is not ``None``, then the function returns the term composed with the
most ``func`` having the specified variable.

Examples
========

>>> from sympy.solvers.bivariate import _mostfunc
>>> from sympy import exp
>>> from sympy.abc import x, y
>>> _mostfunc(exp(x) + exp(exp(x) + 2), exp)
exp(exp(x) + 2)
>>> _mostfunc(exp(x) + exp(exp(y) + 2), exp)
exp(exp(y) + 2)
>>> _mostfunc(exp(x) + exp(exp(y) + 2), exp, x)
exp(x)
>>> _mostfunc(x, exp, x) is None
True
>>> _mostfunc(exp(x) + exp(x*y), exp, x)
exp(x)
r   r   c                 ó&   >• U R                  T5      $ ©N)Úcount)ÚxÚfuncs    €r$   Ú<lambda>Ú_mostfunc.<locals>.<lambda>P   s   ø€ ¸¿¹À¼ó    )ÚkeyN)ÚatomsÚ	is_Symbolr   ÚhasÚlenÚmaxr   r	   )Úlhsr+   ÚXÚtmpÚftermss    `   r$   Ú	_mostfuncr9   /   s�   ø€ ð6 !ŸY™Y tœ_ó )š_�cµQØ	��˜×-Ñ-Ó-Ø�K�Kó àŸG™G AŸJ÷ ™_€Fð )ô ˆ6ƒ{�aÓØ�a‰yÐÞ	Ü”4œ ›Ó(Ô.EÑFÐFØùò)s   •;B0ÁB0Á,B0c                 óp  • [        U R                  5       5      n U R                  U5      u  p#U R                  (       a(  UR                  (       a  [        X15      u  pEnX$-  X%-  U4$ U R                  (       d  SnX#pdOUn[        U5      R                  USS9u  pFUR                  5       (       a  U* nU* nXEU4$ )a®  Return ``a, b, X`` assuming ``arg`` can be written as ``a*X + b``
where ``X`` is a symbol-dependent factor and ``a`` and ``b`` are
independent of ``symbol``.

Examples
========

>>> from sympy.solvers.bivariate import _linab
>>> from sympy.abc import x, y
>>> from sympy import exp, S
>>> _linab(S(2), x)
(2, 0, 1)
>>> _linab(2*x, x)
(2, 0, x)
>>> _linab(y + y*x + 2*x, x)
(y + 2, y, x)
>>> _linab(3 + 2*exp(x), x)
(2, 3, exp(x))
r   F©Úas_Add)r   ÚexpandÚas_independentÚis_MulÚis_AddÚ_linabr   Úcould_extract_minus_sign)Úargr!   ÚindÚdepÚaÚbr*   s          r$   rA   rA   T   s©   € ô( �s—z‘z“|Ó
$€CØ×!Ñ! &Ó)�H€CØ
‡z‡z�c—j—jÜ˜Ó%‰ˆˆaØ‰u�c‘e˜QˆÐØ�:�:ØˆØ‰1àˆÜ˜CÓ ×/Ñ/°¸uÐ/ÐE‰ˆØ×!Ñ!×#Ñ#ØˆBˆØˆBˆØ�ˆ7€Nr.   c                 ón  ^^• [        [        U 5      5      n [        U [        U5      nU(       d  / $ U R	                  US5      n[        U* [        5      (       a[  X-
  R	                  X"R                  S   5      n UR                  S   n[        U[        5      (       d  / $ U* R                  S   * nX-  n XR                  ;  a  / $ [        X15      u  pEn[        X-
  U5      nUR                  U5      nUb  XR                  ;   a  / $ UR                  S   n	[        X‘5      u  p«nXÆ:w  a  / $ [        S5      m[        UT-
  U5      nSS/n/ nX´-  X¥-  -
  U-  U
-  R                  5       u  nnUR                  5       u  nn[        UU-  5      n[        S5      n[!        UU-  U-
  U5      R#                  5        Vs/ s H  nXHU
-  -  U-  PM     nnU H\  nU HS  n[%        UU5      nU(       a  UR&                  (       d  M)  U* U
-  X„-  U-  -   mUR)                  UU4S jU 5       5        MU     M^     U$ s  snf )zà
Given an expression assumed to be in the form
    ``F(X, a..f) = a*log(b*X + c) + d*X + f = 0``
where X = g(x) and x = g^-1(X), return the Lambert solution,
    ``x = g^-1(-c/b + (a/d)*W(d/(a*b)*exp(c*d/a/b)*exp(-f/a)))``.
r   ÚrhséÿÿÿÿÚtc              3   óF   >#   • U  H  oR                  TT5      v •  M     g 7fr(   )Úsubs)Ú.0ÚxurI   Úus     €€r$   Ú	<genexpr>Ú_lambert.<locals>.<genexpr>½   s   øé € Ð9²¨2—w‘w˜q #—�²ùs   ƒ!)r   r   r9   r   rM   Ú
isinstanceÚargsr   rA   r   Úas_coefficientr
   r   r   Úas_coeff_Mulr   r   Úkeysr   Úis_realÚextend)Úeqr*   ÚmainlogÚotherÚdÚfÚX2ÚlogtermrF   ÚlogargrG   ÚcÚX1ÚxusolnsÚlambert_real_branchesÚsolÚnumÚdenÚpÚerK   rT   rC   ÚkÚwrI   rP   s                            @@r$   Ú_lambertrm   y   s!  ù€ ô 
”*˜R“.Ó	!€BÜ˜œC Ó#€GÞØˆ	Ø�G‰G�G˜QÓ€EÜ�5�&œ#×ÑØ‰j×Ñ˜w¯©°Q©Ó8ˆØ—,‘,˜q‘/ˆÜ˜'¤3×'Ñ'ØˆIØ�&—‘˜qÑ!Ð!ˆØ
‰ˆØ×"Ñ"Ó"Øˆ	Ü�eÓ�H€Aˆ"Ü�b‘j 'Ó*€GØ×Ñ˜wÓ'€AØ�y�AŸ™Ó'Øˆ	Ø�\‰\˜!‰_€FÜ�fÓ �H€Aˆ"Ø	ƒxØˆ	ô 	ˆe‹€AÜ�B˜‘F˜AÓ€Gð   ˜GÐØ
€Cð ‘�Q‘S‘˜!‘˜A‘×-Ñ-Ó/�H€CˆØ×ÑÓ�F€A€sÜˆC�‰G‹€AÜˆc‹
€AÜ$ Q¨¡T¨A¡X¨qÓ1×6Ñ6Ô8Ó9Ò8˜!ˆA�‰s‰G�AŒIÑ8€DÐ9ó ˆÛ&ˆAÜ˜˜aÓ ˆAÞ˜ŸŸÙØ�"�Q‘$˜!™#˜q™‘.ˆCà�J‰JÕ9±Ó9Ö9ó 'ñ ð €Jùò :s   Æ8H2c                 ó*  ^^^• U4S jnU R                  TSS9u  pEU* nT Vs/ s HN  nUR                  [        [        4;   d/  UR                  (       d  M0  TUR                  R
                  ;   d  ML  UPMP     nnU(       d
  [        5       eUR                  (       d  UR                  (       Gad  [        S0 TR                  D6mUR                  U4S jU4S j5      nUR                  (       a¦  UR                  T5      (       a�  UR                  TS5      n	XY-
  n
Xi-
  nU
R                  (       dd  U(       a]  U
R                  [        R                  [        R                   5      (       d*  [#        [        U
5      [        U5      -
  5      nU" UTT5      $ OkUR                  (       aZ  U(       aS  [#        [        U5      SS9n[        U5      nUR                  T5      (       a  UR                  (       a  XV-
  nU" UTT5      $ UR%                  TT05      n['        [)        USS95      n[        5       n[+        X]-
  T5      u  påUR%                  XÖ05      n/ nU(       Gd-  [-        U[        T5      nU(       Ga  UR                  (       a(  US:w  a"  [/        [        U5      [        U5      -
  T5      nOÛUR                  (       aÊ  UR                  US5      nU(       a£  UR                  (       d’  UR1                  [2        5       Vs/ s H  nTUR
                  ;   d  M  UPM     sn(       aU  U(       d  [        U5      [        UU-
  5      -
  nO[        UU-
  5      [        UU-
  5      -
  n[/        [#        U5      T5      nO[/        XV-
  T5      nU(       dó  [-        U[        T5      nU(       aÛ  [5        UU5      nUR                  (       a1  US:w  a+  [/        [#        [        U5      [        U5      -
  5      T5      nO�UR                  (       a|  UR                  US5      nUU-
  nUU-
  nUR7                  5       (       a  UR7                  5       (       a
  US	-  nUS	-  n[        U5      [        U5      -
  n[/        [#        U5      T5      nU(       dÙ  [-        U[2        T5      nU(       aÁ  TUR                  R
                  ;   a§  [5        UU5      nUR                  (       a1  US:w  a+  [/        [#        [        U5      [        U5      -
  5      T5      nOYUR                  (       aH  UR                  US5      nUU-
  nUU-
  n[        U5      [        U5      -
  n[/        [#        U5      T5      nU(       d  [        S
U -  5      e[9        [;        U5      5      $ s  snf s  snf )ap  Return solution to ``f`` if it is a Lambert-type expression
else raise NotImplementedError.

For ``f(X, a..f) = a*log(b*X + c) + d*X - f = 0`` the solution
for ``X`` is ``X = -c/b + (a/d)*W(d/(a*b)*exp(c*d/a/b)*exp(f/a))``.
There are a variety of forms for `f(X, a..f)` as enumerated below:

1a1)
  if B**B = R for R not in [0, 1] (since those cases would already
  be solved before getting here) then log of both sides gives
  log(B) + log(log(B)) = log(log(R)) and
  X = log(B), a = 1, b = 1, c = 0, d = 1, f = log(log(R))
1a2)
  if B*(b*log(B) + c)**a = R then log of both sides gives
  log(B) + a*log(b*log(B) + c) = log(R) and
  X = log(B), d=1, f=log(R)
1b)
  if a*log(b*B + c) + d*B = R and
  X = B, f = R
2a)
  if (b*B + c)*exp(d*B + g) = R then log of both sides gives
  log(b*B + c) + d*B + g = log(R) and
  X = B, a = 1, f = log(R) - g
2b)
  if g*exp(d*B + h) - b*B = c then the log form is
  log(g) + d*B + h - log(b*B + c) = 0 and
  X = B, a = -1, f = -h - log(g)
3)
  if d*p**(a*B + g) - b*B = c then the log form is
  log(d) + (a*B + g)*log(p) - log(b*B + c) = 0 and
  X = B, a = -1, d = a*log(p), f = -log(d) - g*log(p)
c                 óÜ   >• S Vs/ s H  o0R                  XU-  05      PM     snu  pE[        XBT5      nXT:w  a  UR                  [        XRT5      5        [        [	        U5      5      $ s  snf )a„  Return the unique solutions of equations derived from
``expr`` by replacing ``t`` with ``+/- symbol``.

Parameters
==========

expr : Expr
    The expression which includes a dummy variable t to be
    replaced with +symbol and -symbol.

symbol : Symbol
    The symbol for which a solution is being sought.

Returns
=======

List of unique solution of the two equations generated by
replacing ``t`` with positive and negative ``symbol``.

Notes
=====

If ``expr = 2*log(t) + x/2` then solutions for
``2*log(x) + x/2 = 0`` and ``2*log(-x) + x/2 = 0`` are
returned by this function. Though this may seem
counter-intuitive, one must note that the ``expr`` being
solved here has been derived from a different expression. For
an expression like ``eq = x**2*g(x) = 1``, if we take the
log of both sides we obtain ``log(x**2) + log(g(x)) = 0``. If
x is positive then this simplifies to
``2*log(x) + log(g(x)) = 0``; the Lambert-solving routines will
return solutions for this, but we must also consider the
solutions for  ``2*log(-x) + log(g(x))`` since those must also
be a solution of ``eq`` which has the same value when the ``x``
in ``x**2`` is negated. If `g(x)` does not have even powers of
symbol then we do not want to replace the ``x`` there with
``-x``. So the role of the ``t`` in the expression received by
this function is to mark where ``+/-x`` should be inserted
before obtaining the Lambert solutions.

)rJ   r   )ÚxreplaceÚ_solve_lambertrY   r   r   )ÚexprrK   r!   ÚsgnÚnlhsÚplhsÚsolsr   s          €r$   Ú_solve_even_degree_exprÚ/_solve_lambert.<locals>._solve_even_degree_exprã   sh   ø€ ñV 7>ó?Ú6=¨s�M‰M˜1 &™j˜/Ö*±gñ?‰
ˆä˜d¨DÓ1ˆØ‹<Ø�K‰Kœ t°TÓ:Ô;ô ”D˜“JÓÐùò?s   †A)Tr;   c                 ó‚   >• U R                   =(       a,    U R                  T:H  =(       a    U R                  R                  $ r(   )Úis_PowÚbaser   Úis_even)Úir!   s    €r$   r,   Ú _solve_lambert.<locals>.<lambda>(  s(   ø€ Ø—‘×?˜QŸV™V vÑ-×?°!·%±%·-±-Ð?r.   c                 ó"   >• TU R                   -  $ r(   )r   )r}   rK   s    €r$   r,   r~   *  s   ø€ Ø�1—5‘5’r.   r   )Úforce)ÚdeeprJ   z:%s does not appear to have a solution in terms of LambertW)rK   )r>   r+   r   r   rz   r   ÚNotImplementedErrorr@   r?   r
   Úassumptions0Úreplacer2   rM   r   ÚComplexInfinityÚNaNr   rp   r   r   r   r9   rm   r0   r   r   rB   r   r	   )r^   r!   r   rw   Únrhsr5   rI   r7   ÚlamcheckÚt_indepÚt_termÚ_rhsrZ   Úrr}   Úsolnr[   r\   ÚdiffÚmainexpÚmaintermÚmainpowrK   s    ``                   @r$   rq   rq   Á   sp  ú€ õD4 ðl × Ñ  °Ð Ð5�I€DØˆ%€Cá#ó Bšt˜Ø—H‘H¤¤c 
Ó*Ø—•ó à &¨#¯'©'×*>Ñ*>Ñ >÷ ™t€Hð Bö Ü!Ó#Ð#à
‡z‡z�S—Z—Z�Zô Ñ-˜×,Ñ,Ñ-ˆØ�k‰kô@ôóˆð �:�:˜#Ÿ'™' !Ÿ*™*Ø—h‘h˜q !“nˆGØ‘]ˆFØ‘=ˆDØ—=—=¦TØ—J‘Jœq×0Ñ0´!·%±%×8Ñ8Ü¤ F£¬c°$«iÑ 7Ó8�Ù.¨r°1°fÓ=Ð=øØ�Z�ZžCäœS ›X¨TÑ2ˆCÜ�c“(ˆCØ�w‰w�q�z‰z˜cŸjŸjà‘Y�Ù.¨r°1°fÓ=Ð=ð �l‰l˜A˜v˜;Ó'ˆä
”&˜ 4Ñ(Ó
)€Cô 	‹€AÜ�S‘W˜fÓ%�F€AØ
�*‰*�a�XÓ
€Cð €DßÜ˜C¤ fÓ-ˆßØ�z�z˜c Q›hÜ¤ C£¬3¨s«8Ñ 3°VÓ<‘Ø——ØŸ™ ¨!Ó,�Þ §§Ø',§{¡{´3Ô'7ó37Ú'7 Ø! S×%5Ñ%5Ñ5÷ Ñ'7÷37ö Ü" 5›z¬C°¸±Ó,<Ñ<™ä" 3¨¡;Ó/´#°c¸E±kÓ2BÑB˜Ü#¤J¨tÓ$4°fÓ=‘Dô $ C¡I¨vÓ6�Dö Ü˜C¤ fÓ-ˆÞÜ˜#˜wÓ'ˆCØ�z�z˜c Q›hÜ¤
¬3¨s«8´c¸#³hÑ+>Ó ?ÀÓH‘Ø——àŸ™ ¨!Ó,�Ø ™;�Ø˜E‘k�Ø×5Ñ5×7Ñ7Ø×0Ñ0×2Ñ2Ø ‘N�HØ˜2‘I�CÜ˜8“}¤s¨3£xÑ/�Ü¤
¨4Ó 0°&Ó9�ö Ü˜C¤ fÓ-ˆÞ�v §¡×!9Ñ!9Ó9Ü˜#˜wÓ'ˆCØ�z�z˜c Q›hä¤
¬3¨s«8´c¸#³hÑ+>Ó ?ÀÓH‘Ø——àŸ™ ¨!Ó,�Ø ™;�Ø˜E‘k�Ü˜8“}¤s¨3£xÑ/�Ü¤
¨4Ó 0°&Ó9�æÜ!ð # Ø"#ñ#$ó %ð 	%ô ”˜“ÓÐùòEBùò@37s   £/VÁVÁ2VË?VÌVT©Úfirstc          
      óö  ^^• [        SSS9nU(       a“  [        U TT5      nUR                  5       n [        5       n[        5       n[        [        U R	                  TUTU05      Xg5      XgSS9nU(       a2  UTUT0n	US   R                  U	5      US   R                  U	5      US   4$ g	U nUR                  5       n [        R                  " UR                  5       5      n
/ nU
 HL  n[        UR	                  TUT-  5      5      nUR                  nTU;   d  TU;   a    O#UR                  U5        MN     TT-  [        U6 U4$ UU4S
 jn/ nUR                  T5      nUR                  T5      U:X  a_  [        UR                  TU-  5      U5      n[        UR                  TU-  5      U5      nU" U TUUT-  -
  U-  5      nUb  UT-  UT-  -   X´4$ / nUR                  T5      nUR                  T5      U:X  a…  [        S5       Hu  n[        UR                  TU-  TU-  -  5      U5      n[        UR                  TU-  5      U5      nU" U TUUT-  -
  U-  T-  5      nUb  UT-  T-  UT-  -   X´4s  $ TTsmmMw     g	g	)ao  Given an expression, f, 3 tests will be done to see what type
of composite bivariate it might be, options for u(x, y) are::

    x*y
    x+y
    x*y+x
    x*y+y

If it matches one of these types, ``u(x, y)``, ``P(u)`` and dummy
variable ``u`` will be returned. Solving ``P(u)`` for ``u`` and
equating the solutions to ``u(x, y)`` and then solving for ``x`` or
``y`` is equivalent to solving the original expression for ``x`` or
``y``. If ``x`` and ``y`` represent two functions in the same
variable, e.g. ``x = g(t)`` and ``y = h(t)``, then if ``u(x, y) - p``
can be solved for ``t`` then these represent the solutions to
``P(u) = 0`` when ``p`` are the solutions of ``P(u) = 0``.

Only positive values of ``u`` are considered.

Examples
========

>>> from sympy import solve
>>> from sympy.solvers.bivariate import bivariate_type
>>> from sympy.abc import x, y
>>> eq = (x**2 - 3).subs(x, x + y)
>>> bivariate_type(eq, x, y)
(x + y, _u**2 - 3, _u)
>>> uxy, pu, u = _
>>> usol = solve(pu, u); usol
[sqrt(3)]
>>> [solve(uxy - s) for s in solve(pu, u)]
[[{x: -y + sqrt(3)}]]
>>> all(eq.subs(s).equals(0) for sol in _ for s in sol)
True

rP   T)ÚpositiveFr’   r   r   é   Nc                 óp   >• [        U R                  X5      5      nUR                  nTU;   d  TU;   a  S $ U$ r(   )r   rM   r   )r^   Úvrb   ÚnewÚfreer*   Úys        €€r$   ÚokÚbivariate_type.<locals>.okä  s7   ø€ Ü�q—v‘v˜a“|Ó$ˆØ×ÑˆØ˜T›	 Q¨$£YˆtÐ8°SÐ8r.   )r
   r   Úas_exprÚbivariate_typerM   rp   r   Ú	make_argsr   r   ÚappendÚdegreer   Úcoeff_monomialÚrange)r^   r*   r›   r“   rP   ri   Ú_xÚ_yÚrvÚrepsrT   r™   rF   rš   rœ   r]   rG   Úitrys    ``               r$   rŸ   rŸ   ¡  s{  ù€ ôN 	ˆc˜DÑ!€AæÜ��A�q‹MˆØ�I‰I‹KˆÜ‹WˆÜ‹WˆÜœD §¡¨¨B°°2¨Ó!7¸Ó@À"ÐPUÑVˆÞØ˜˜2˜q�>ˆDØ�a‘5—>‘> $Ó'¨¨A©¯©¸Ó)=¸rÀ!¹uÐDÐDØà	€AØ	�	‰	‹€Aô �=Š=˜Ÿ™›Ó%€DØ
€CÛˆÜ�Q—V‘V˜A˜q ™s“^Ó$ˆØ�~‰~ˆØ�‹9˜˜T›	ÙØ�
‰
�1Žñ ð �‰s”C˜�I˜qÐ Ð ö9ð €CØ	�‰�‹€AØ‡x�x�ƒ{�aÓÜ�×!Ñ! ! Q¡$Ó'¨Ó+ˆÜ�×!Ñ! ! Q¡$Ó'¨Ó+ˆÙ��A˜˜A˜a™C™ ‘{Ó#ˆØ‰?Ø�Q‘3˜˜1™‘9˜cÐ$Ð$ð €CØ	�‰�‹€AØ‡x�x�ƒ{�aÓÜ˜!–HˆDÜ�Q×%Ñ% a¨¡d¨1¨a©4¡iÓ0°!Ó4ˆAÜ�Q×%Ñ% a¨¡dÓ+¨QÓ/ˆAÙ�Q˜˜A  !¡™G Q™; q™=Ó)ˆCØ‰Ø˜‘s˜1‘u˜q ™s‘{ CÐ*Ò*Ø�aˆDˆAŠqò ð r.   r(   )*Úsympy.core.addr   Úsympy.core.exprtoolsr   Úsympy.core.functionr   r   Úsympy.core.powerr   Úsympy.core.singletonr   Úsympy.core.sortingr	   Úsympy.core.symbolr
   Ú&sympy.functions.elementary.exponentialr   r   r   Ú(sympy.functions.elementary.miscellaneousr   Úsympy.polys.polyrootsr   Úsympy.polys.polytoolsr   r   Úsympy.simplify.simplifyr   Úsympy.simplify.radsimpr   r   Úsympy.solvers.solversr   r   Úsympy.utilities.iterablesr   r%   r9   rA   rm   rq   rŸ   © r.   r$   Ú<module>rº      sb   ðÝ Ý -ß 4Ý  Ý "Ý &Ý #ß GÑ GÝ 9Ý 'ß .Ý 0Ý *Ý +ß 0Ý *òô8"òJ"òJEòP]ð@ &*ö \r.   