Ë
    7^(hr¦  ã                  óÎ  — 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mZmZ d dlmZmZmZ d dlmZ d d	lmZ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%m&Z& d dl'm(Z( d dl)m*Z* d dl+m,Z,m-Z-m.Z.m/Z/m0Z0 d dl1m2Z2 d dl3m4Z4m5Z5 d dl6m7Z7  G d„ de«      Z8 G d„ de8«      Z9 G d„ de«      Z: G d„ de8e:¬«      Z;d„ Z< G d„ de«      Z= G d „ d!e«      Z>ed"„ «       Z?y#)$é    )Úannotations)Úproduct)ÚAdd)Úcacheit)ÚExpr)ÚDefinedFunctionÚArgumentIndexErrorÚ
expand_logÚ
expand_mulÚFunctionClassÚ	PoleErrorÚexpand_multinomialÚexpand_complex)Ú	fuzzy_andÚ	fuzzy_notÚfuzzy_or)ÚMul)ÚIntegerÚRationalÚpiÚI)Úglobal_parameters)ÚPow)ÚS)ÚWildÚDummy)Úsympify)Ú	factorial)ÚargÚ
unpolarifyÚimÚreÚAbs)Úsqrt)ÚmultiplicityÚperfect_power)Ú	factorintc                  óŽ   — e Zd ZdZej
                  fZed„ «       Zdd„Z	d„ Z
ed„ «       Zd„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zy)ÚExpBaseTc                ó.   — | j                   j                  S ©N)ÚexpÚkind©Úselfs    úd/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/functions/elementary/exponential.pyr-   zExpBase.kind(   s   € à�x‰x�}‰}Ðó    c                ó   — t         S )z=
        Returns the inverse function of ``exp(x)``.
        ©Úlog©r/   Úargindexs     r0   ÚinversezExpBase.inverse,   ó	   € ô ˆ
r1   c                ó  — | j                   s| t        j                  fS | j                  }|j                  }|s| j                  s|j                  «       }|r"t        j                  | j                  | «      fS | t        j                  fS )a-  
        Returns this with a positive exponent as a 2-tuple (a fraction).

        Examples
        ========

        >>> from sympy import exp
        >>> from sympy.abc import x
        >>> exp(-x).as_numer_denom()
        (1, exp(x))
        >>> exp(x).as_numer_denom()
        (exp(x), 1)
        )Úis_commutativer   ÚOner,   Úis_negativeÚcould_extract_minus_signÚfunc)r/   r,   Úneg_exps      r0   Úas_numer_denomzExpBase.as_numer_denom2   sr   € ð  ×"Ò"ØœŸ™�;ÐØ�h‰hˆØ—/‘/ˆÙ  ×1Ò1Ø×2Ñ2Ó4ˆGÙÜ—5‘5˜$Ÿ)™) S D›/Ð)Ð)Ø”Q—U‘Uˆ{Ðr1   c                ó    — | j                   d   S )z7
        Returns the exponent of the function.
        r   )Úargsr.   s    r0   r,   zExpBase.expL   s   € ð
 �y‰y˜‰|Ðr1   c                óH   — | j                  d«      t        | j                  Ž fS )z7
        Returns the 2-tuple (base, exponent).
        é   )r>   r   rB   r.   s    r0   Úas_base_expzExpBase.as_base_expS   s   € ð �y‰y˜‹|œS $§)¡)˜_Ð,Ð,r1   c                óT   — | j                  | j                  j                  «       «      S r+   )r>   r,   Úadjointr.   s    r0   Ú_eval_adjointzExpBase._eval_adjointY   s   € Ø�y‰y˜Ÿ™×)Ñ)Ó+Ó,Ð,r1   c                óT   — | j                  | j                  j                  «       «      S r+   )r>   r,   Ú	conjugater.   s    r0   Ú_eval_conjugatezExpBase._eval_conjugate\   ó   € Ø�y‰y˜Ÿ™×+Ñ+Ó-Ó.Ð.r1   c                óT   — | j                  | j                  j                  «       «      S r+   )r>   r,   Ú	transposer.   s    r0   Ú_eval_transposezExpBase._eval_transpose_   rL   r1   c                ó‚   — | j                   }|j                  r|j                  ry|j                  ry|j                  ryy ©NTF)r,   Úis_infiniteÚis_extended_negativeÚis_extended_positiveÚ	is_finite©r/   r   s     r0   Ú_eval_is_finitezExpBase._eval_is_finiteb   s9   € Ø�h‰hˆØ�?Š?Ø×'Ò'ØØ×'Ò'ØØ�=Š=Øð r1   c                óø   —  | j                   | j                  Ž }|j                   | j                   k(  r=|j                  j                  }|ry|j                  j                  rt        |«      ryy y |j                  S rQ   )r>   rB   r,   Úis_zeroÚis_rationalr   )r/   ÚsÚzs      r0   Ú_eval_is_rationalzExpBase._eval_is_rationall   sc   € ØˆD�I‰I�t—y‘yÐ!ˆØ�6‰6�T—Y‘YÒØ—‘—‘ˆAÙØØ—‘×"Ò"¤y°¤|Øð (4Ð"ð —=‘=Ð r1   c                ó:   — | j                   t        j                  u S r+   )r,   r   ÚNegativeInfinityr.   s    r0   Ú_eval_is_zerozExpBase._eval_is_zerow   s   € Ø�x‰xœ1×-Ñ-Ð-Ð-r1   c                ól   — | j                  «       \  }}t        j                  t        ||d¬«      |«      S )z;exp(arg)**e -> exp(arg*e) if assumptions allow it.
        F©Úevaluate)rE   r   Ú_eval_power)r/   ÚotherÚbÚes       r0   rd   zExpBase._eval_powerz   s0   € ð ×ÑÓ!‰ˆˆ1Ü�‰œs 1 a°%Ô8¸%Ó@Ð@r1   c                ód  ‡ — ddl m} ddlm} ‰ j                  d   }|j
                  r4|j                  r(t        j                  ˆ fd„|j                  D «       «      S t        ||«      r8|j                  r, |‰ j                  |j                  «      g|j                  ¢­Ž S ‰ j                  |«      S )Nr   )ÚProduct)ÚSumc              3  ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wr+   )r>   )Ú.0Úxr/   s     €r0   ú	<genexpr>z1ExpBase._eval_expand_power_exp.<locals>.<genexpr>…   s   øè ø€ Ò?° §	¡	¨!§Ñ?ùs   ƒ)Úsympy.concrete.productsri   Úsympy.concrete.summationsrj   rB   Úis_Addr:   r   ÚfromiterÚ
isinstancer>   ÚfunctionÚlimits)r/   Úhintsri   rj   r   s   `    r0   Ú_eval_expand_power_expzExpBase._eval_expand_power_exp€   s   ø€ Ý3Ý1Ø�i‰i˜‰lˆØ�:Š:˜#×,Ò,Ü—<‘<Ó?°c·h±hÔ?Ó?Ð?Ü˜˜SÔ! c×&8Ò&8Ù˜4Ÿ9™9 S§\¡\Ó2Ð@°S·Z±ZÒ@Ð@Ø�y‰y˜‹~Ðr1   N©rD   )Ú__name__Ú
__module__Ú__qualname__Ú
unbranchedr   ÚComplexInfinityÚ_singularitiesÚpropertyr-   r7   r@   r,   rE   rH   rK   rO   rW   r]   r`   rd   rw   © r1   r0   r)   r)   #   ss   „ à€JØ×'Ñ'Ð)€Nàñó ðóòð4 ñó ðò-ò-ò/ò/òò	!ò.òAór1   r)   c                  ó6   — e Zd ZdZdZdZd„ Zd„ Zd„ Zd„ Z	d„ Z
y	)
Ú	exp_polara<  
    Represent a *polar number* (see g-function Sphinx documentation).

    Explanation
    ===========

    ``exp_polar`` represents the function
    `Exp: \mathbb{C} \rightarrow \mathcal{S}`, sending the complex number
    `z = a + bi` to the polar number `r = exp(a), \theta = b`. It is one of
    the main functions to construct polar numbers.

    Examples
    ========

    >>> from sympy import exp_polar, pi, I, exp

    The main difference is that polar numbers do not "wrap around" at `2 \pi`:

    >>> exp(2*pi*I)
    1
    >>> exp_polar(2*pi*I)
    exp_polar(2*I*pi)

    apart from that they behave mostly like classical complex numbers:

    >>> exp_polar(2)*exp_polar(3)
    exp_polar(5)

    See Also
    ========

    sympy.simplify.powsimp.powsimp
    polar_lift
    periodic_argument
    principal_branch
    TFc                óD   — t        t        | j                  d   «      «      S ©Nr   )r,   r"   rB   r.   s    r0   Ú	_eval_Abszexp_polar._eval_Abs´   s   € Ü”2�d—i‘i ‘lÓ#Ó$Ð$r1   c                ó  — t        | j                  d   «      }	 |t         k  xs	 |t        kD  }|r| S t	        | j                  d   «      j                  |«      }|dkD  rt        |«      dk  rt        |«      S |S # t        $ r d}Y ŒXw xY w)z. Careful! any evalf of polar numbers is flaky r   T)r!   rB   r   Ú	TypeErrorr,   Ú_eval_evalfr"   )r/   ÚprecÚiÚbadÚress        r0   rˆ   zexp_polar._eval_evalf·   s‰   € äˆt�y‰y˜‰|Óˆð	Øœ˜‘8Ò%˜q¤2™vˆCñ ØˆKÜ�$—)‘)˜A‘,Ó×+Ñ+¨DÓ1ˆØˆqŠ5”R˜“W˜q’[ä�c“7ˆNØˆ
øô ò 	ØŠCð	ús   šA: Á:BÂBc                óD   — | j                  | j                  d   |z  «      S r„   )r>   rB   )r/   re   s     r0   rd   zexp_polar._eval_powerÆ   s   € Ø�y‰y˜Ÿ™ 1™ eÑ+Ó,Ð,r1   c                ó8   — | j                   d   j                  ryy )Nr   T)rB   Úis_extended_realr.   s    r0   Ú_eval_is_extended_realz exp_polar._eval_is_extended_realÉ   s   € Ø�9‰9�Q‰<×(Ò(Øð )r1   c                ót   — | j                   d   dk(  r| t        j                  fS t        j	                  | «      S r„   )rB   r   r;   r)   rE   r.   s    r0   rE   zexp_polar.as_base_expÍ   s1   € à�9‰9�Q‰<˜1ÒØœŸ™�;ÐÜ×"Ñ" 4Ó(Ð(r1   N)ry   rz   r{   Ú__doc__Úis_polarÚis_comparabler…   rˆ   rd   r�   rE   r€   r1   r0   r‚   r‚   ‹   s-   „ ñ#ðJ €HØ€Mò%òò-òó)r1   r‚   c                  ó   — e Zd Zd„ Zy)ÚExpMetac                ó˜   — t         |j                  j                  v ryt        |t        «      xr |j
                  t        j                  u S )NT)r,   Ú	__class__Ú__mro__rs   r   Úbaser   ÚExp1)ÚclsÚinstances     r0   Ú__instancecheck__zExpMeta.__instancecheck__Õ   s8   € Ü�(×$Ñ$×,Ñ,Ñ,ØÜ˜(¤CÓ(ÒD¨X¯]©]¼a¿f¹fÐ-DÐDr1   N)ry   rz   r{   rž   r€   r1   r0   r–   r–   Ô   s   „ óEr1   r–   c                  ó¼   ‡ — e Zd ZdZdd„Zd„ Zed„ «       Zed„ «       Z	e
ed„ «       «       Zdd„Zˆ fd„Zd	„ Zd
„ Zd„ Zd„ Zdd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zˆ xZS )r,   a9  
    The exponential function, :math:`e^x`.

    Examples
    ========

    >>> from sympy import exp, I, pi
    >>> from sympy.abc import x
    >>> exp(x)
    exp(x)
    >>> exp(x).diff(x)
    exp(x)
    >>> exp(I*pi)
    -1

    Parameters
    ==========

    arg : Expr

    See Also
    ========

    log
    c                ó(   — |dk(  r| S t        | |«      ‚)z@
        Returns the first derivative of this function.
        rD   )r	   r5   s     r0   Úfdiffz	exp.fdiffö   s   € ð �qŠ=ØˆKä$ T¨8Ó4Ð4r1   c                óv  — ddl m}m} | j                  d   }|j                  �rt
        t        j                  z  }||| fv rt        j                  S  |j                  t        t
        z  «      }|rÇ ||j                  d|z  «      «      r¬ ||j                  |«      «      rt        j                  S  ||j                  |«      «      rt        j                  S  ||j                  |t        j                   z   «      «      rt
         S  ||j                  |t        j                   z   «      «      rt
        S y y y y )Nr   )ÚaskÚQé   )Úsympy.assumptionsr£   r¤   rB   Úis_Mulr   r   ÚInfinityÚNaNÚas_coefficientr   ÚintegerÚevenr;   ÚoddÚNegativeOneÚHalf)r/   Úassumptionsr£   r¤   r   ÚIooÚcoeffs          r0   Ú_eval_refinezexp._eval_refineÿ   sð   € ß,Ø�i‰i˜‰lˆØ�:‹:Ü”A—J‘J‘,ˆCØ�s˜S˜D�kÑ!Ü—u‘u�à&�C×&Ñ&¤r¬!¡tÓ,ˆEÙÙ�q—y‘y  5¡Ó)Ô*Ù˜1Ÿ6™6 %›=Ô)Ü Ÿu™u˜Ù˜QŸU™U 5›\Ô*Ü Ÿ}™}Ð,Ù˜QŸV™V E¬A¯F©F¡NÓ3Ô4Ü !˜r˜	Ù˜QŸU™U 5¬1¯6©6¡>Ó2Ô3Ü ˜ð 4ð +ð ð r1   c                óæ	  — ddl m} ddlm} ddlm} ddlm} t        ||«      r |j                  «       S t        j                  rt        t        j                  |«      S |j                  r¥|t        j                   u rt        j                   S |j"                  rt        j$                  S |t        j$                  u rt        j                  S |t        j&                  u rt        j&                  S |t        j(                  u �rÕt        j*                  S |t        j,                  u rt        j                   S t        |t.        «      r|j0                  d   S t        ||«      r/ |t        |j2                  «      t        |j4                  «      «      S t        ||«      r |j6                  | «      S |j8                  �rP |j:                  t<        t>        z  «      }|rÄd|z  j@                  r|jB                  rt        j$                  S |jD                  rt        jF                  S |t        jH                  z   jB                  rt>         S |t        jH                  z   jD                  r<t>        S |jJ                  r*|dz  }|dkD  r|dz  }||k7  r | |t<        z  t>        z  «      S  |jL                  «       \  }}|t        j(                  t        j&                  fv r¾|jN                  r±|t        j(                  u r| }tQ        |«      j"                  r"|t        j*                  urt        j                   S tQ        |«      jR                  r+tU        |«      t        j*                  urt        j,                  S tQ        |«      jV                  rt        j*                  S y |gd }
}	tY        jZ                  |«      D ]M  } ||«      }t        |t.        «      r|
€|j0                  d   }
Œ- y |j\                  r|	j_                  |«       ŒM y  |
r|
tY        |	Ž z  S d S |j`                  rÂg }g }d}|j0                  D ]�  }|t        j$                  u r|j_                  |«       Œ' | |«      }t        || «      rE|j0                  d   |k7  r!|j_                  |j0                  d   «       d	}Œn|j_                  |«       Œ€|j_                  |«       Œ’ |s|rtY        |Ž  | tc        |Ž d¬
«      z  S |j"                  rt        j$                  S y )Nr   ©ÚAccumBounds)Ú
MatrixBase©ÚSetExpr©Ú
logcombiner¥   rD   FTrb   )2Úsympy.calculusr¶   Úsympy.matrices.matrixbaser·   Úsympy.sets.setexprr¹   Úsympy.simplify.simplifyr»   rs   r,   r   Ú
exp_is_powr   r   r›   Ú	is_Numberr©   rY   r;   r¨   r_   ÚZeror}   r4   rB   ÚminÚmaxÚ
_eval_funcr§   rª   r   r   Ú
is_integerÚis_evenÚis_oddr®   r¯   Úis_RationalÚas_coeff_MulÚ	is_numberr"   Úis_positiver!   r<   r   Ú	make_argsr”   Úappendrq   r   )rœ   r   r¶   r·   r¹   r»   r²   ÚncoeffÚtermsÚcoeffsÚlog_termÚtermÚterm_ÚoutÚaddÚ
argchangedÚaÚnewas                     r0   Úevalzexp.eval  sÊ  € å.Ý8Ý.Ý6Ü�c˜:Ô&Ø�3—7‘7“9ÐÜ×)Ò)Ü”q—v‘v˜sÓ#Ð#Ø�]Š]Ø”a—e‘e‰|Ü—u‘u�Ø—’Ü—u‘u�ØœŸ™‘Ü—v‘v�ØœŸ
™
Ñ"Ü—z‘zÐ!Øœ×*Ñ*Ò*Ü—v‘v�Ø”A×%Ñ%Ñ%Ü—5‘5ˆLÜ˜œSÔ!Ø—8‘8˜A‘;ÐÜ˜˜[Ô)Ùœs 3§7¡7›|¬S°·±«\Ó:Ð:Ü˜˜WÔ%Ø!�3—>‘> #Ó&Ð&Ø�Z‹ZØ&�C×&Ñ&¤r¬!¡tÓ,ˆEÙØ�e‘G×'Ò'Ø—}’}Ü Ÿu™u˜ØŸšÜ Ÿ}™}Ð,Ø¤!§&¡&™.×1Ò1Ü !˜r˜	Ø¤!§&¡&™.×0Ò0Ü ˜Ø×&Ò&Ø" Q™Y�FØ ’zØ !™˜Ø ’Ù" 6¬"¡9¬Q¡;Ó/Ð/ð ,˜3×+Ñ+Ó-‰LˆE�5ð œ×+Ñ+¬Q¯Z©ZÐ8Ñ8Ø—?’?Ø¤× 2Ñ 2Ñ2Ø!& ˜Ü˜%“y×(Ò(¨U¼!¿&¹&Ñ-@Ü Ÿu™u˜Ü˜%“y×,Ò,´°E³Ä!Ç&Á&Ñ1HÜ ×0Ñ0Ð0Ü˜%“y×,Ò,Ü Ÿv™v˜Øà %˜w¨�HˆFÜŸ™ eÓ,ò 
 �Ù" 4Ó(�Ü˜e¤SÔ)ØÐ'Ø#(§:¡:¨a¡=™á#Ø×'Ò'Ø—M‘M $Õ'áð
 ñ .6�8œS &˜\Ñ)Ð?¸4Ð?à�ZŠZØˆCØˆCØˆJØ—X‘Xò %�ØœŸ™‘:Ø—J‘J˜q”MØÙ˜1“v�Ü˜d CÔ(Ø—y‘y ‘| qÒ(ØŸ
™
 4§9¡9¨Q¡<Ô0Ø%)™
àŸ
™
 1�à—J‘J˜tÕ$ð%ñ ‘jÜ˜C�y¡¤S¨# Y¸Ô!?Ñ?Ð?à�;Š;Ü—5‘5ˆLð r1   c                ó"   — t         j                  S )z?
        Returns the base of the exponential function.
        )r   r›   r.   s    r0   rš   zexp.base}  s   € ô
 �v‰vˆr1   c                ó°   — | dk  rt         j                  S | dk(  rt         j                  S t        |«      }|r|d   }|�||z  | z  S || z  t	        | «      z  S )zJ
        Calculates the next term in the Taylor series expansion.
        r   éÿÿÿÿ)r   rÂ   r;   r   r   )Únrm   Úprevious_termsÚps       r0   Útaylor_termzexp.taylor_term„  s`   € ð ˆqŠ5Ü—6‘6ˆMØ�Š6Ü—5‘5ˆLÜ�A‹JˆÙØ˜rÑ"ˆAØˆ}Ø˜1‘u˜q‘yÐ Ø�!‰t”I˜a“LÑ Ð r1   c                óú   — ddl m}m} | j                  d   j	                  «       \  }}|r& |j
                  |fi |¤Ž} |j
                  |fi |¤Ž} ||«       ||«      }}t        |«      |z  t        |«      |z  fS )aJ  
        Returns this function as a 2-tuple representing a complex number.

        Examples
        ========

        >>> from sympy import exp, I
        >>> from sympy.abc import x
        >>> exp(x).as_real_imag()
        (exp(re(x))*cos(im(x)), exp(re(x))*sin(im(x)))
        >>> exp(1).as_real_imag()
        (E, 0)
        >>> exp(I).as_real_imag()
        (cos(1), sin(1))
        >>> exp(1+I).as_real_imag()
        (E*cos(1), E*sin(1))

        See Also
        ========

        sympy.functions.elementary.complexes.re
        sympy.functions.elementary.complexes.im
        r   )ÚcosÚsin)Ú(sympy.functions.elementary.trigonometricrã   rä   rB   Úas_real_imagÚexpandr,   )r/   Údeeprv   rã   rä   r"   r!   s          r0   ræ   zexp.as_real_imag•  s{   € ÷0 	FØ—‘˜1‘×*Ñ*Ó,‰ˆˆBÙØ�—‘˜4Ñ) 5Ñ)ˆBØ�—‘˜4Ñ) 5Ñ)ˆBÙ�r“7™C ›GˆSˆÜ�B“˜‘œS ›W S™[Ð)Ð)r1   c                óÒ  •— |j                   r,t        |j                  t        |j                  «      z  «      }n$|t        j
                  u r|j                  rt        }t        |t        «      s|t        j
                  u r&d„ }t        j                   || «       ||«      |«      S |t        u r+|j                  s|| j                  j                  ||«      z  S t        ‰| �%  ||«      S )Nc                óp   — | j                   st        | t        «      rt        | j	                  «       ddiŽS | S )Nrc   F)Úis_Powrs   r,   r   rE   )rØ   s    r0   ú<lambda>z exp._eval_subs.<locals>.<lambda>¼  s1   € Ø—’œJ q¬#Ô.ô ˜qŸ}™}›Ð?¸Ñ?€ Ø56ð r1   )rë   r,   r4   rš   r   r›   Úis_Functionrs   r   Ú
_eval_subsÚ_subsÚsuper)r/   ÚoldÚnewÚfr˜   s       €r0   rî   zexp._eval_subsµ  sª   ø€ à�:Š:Ü�c—g‘gœc #§(¡(›mÑ+Ó,‰CØ”A—F‘F‰]˜sŸšÜˆCÜ�cœ3Ô 3¬!¯&©&¡=ñ7ˆAä—>‘>¡! D£'©1¨S«6°3Ó7Ð7à”#‰:˜cŸošoØ˜Ÿ™Ÿ™ s¨CÓ0Ñ0Ð0Ü‰wÑ! # sÓ+Ð+r1   c                óÖ   — | j                   d   j                  ry| j                   d   j                  r6t        d«       t        z  | j                   d   z  t
        z  }|j                  S y )Nr   Tr¥   )rB   r�   Úis_imaginaryr   r   r   rÇ   ©r/   Úarg2s     r0   r�   zexp._eval_is_extended_realÄ  sW   € Ø�9‰9�Q‰<×(Ò(ØØ�Y‰Y�q‰\×&Ò&Ü�a“D�5œ1‘9˜tŸy™y¨™|Ñ+¬bÑ0ˆDØ—<‘<Ðð 'r1   c                óD   — d„ }t         || j                  d   «      «      S )Nc              3  óD   K  — | j                   –— | j                  –— y ­wr+   )Ú
is_complexrS   )r   s    r0   Úcomplex_extended_negativez7exp._eval_is_complex.<locals>.complex_extended_negativeÌ  s   è ø€ Ø—.‘.Ò Ø×*Ñ*Ó*ùs   ‚ r   )r   rB   )r/   rû   s     r0   Ú_eval_is_complexzexp._eval_is_complexË  s"   € ò	+ô Ñ1°$·)±)¸A±,Ó?Ó@Ð@r1   c                óø   — | j                   t        z  t        z  j                  ryt	        | j                   j
                  «      r6| j                   j                  ry| j                   t        z  j                  ryy y rQ   )r,   r   r   rZ   r   rY   Úis_algebraicr.   s    r0   Ú_eval_is_algebraiczexp._eval_is_algebraicÑ  s[   € Ø�H‰H”r‰MœAÑ×*Ò*ØÜ�T—X‘X×%Ñ%Ô&Ø�x‰x×$Ò$ØØ—(‘(œR‘-×,Ò,Øð -ð 'r1   c                óî   — | j                   j                  r| j                  d   t        j                  uS | j                   j
                  r*t         | j                  d   z  t        z  }|j                  S y r„   )	r,   r�   rB   r   r_   rõ   r   r   rÇ   rö   s     r0   Ú_eval_is_extended_positivezexp._eval_is_extended_positiveÚ  s]   € Ø�8‰8×$Ò$Ø—9‘9˜Q‘<¤q×'9Ñ'9Ð9Ð9Ø�X‰X×"Ò"Ü�2˜Ÿ	™	 !™Ñ$¤rÑ)ˆDØ—<‘<Ðð #r1   c                óz  ‡— ddl mŠ ddlm} ddlm} ddlm} ddlm	} | j                  }	 |	j                  |||¬«      }
|
j                  rd|
z   S  ||
j                  «       |d«      }|t        j                  u r |||z  |«      S |t        j                   u r| S |j"                  rt%        d	| z  «      ‚t'        ˆfd
„|j(                  D «       «      r| S t+        d«      }|}	  | |	j,                  ||¬«      |«      j/                  «       }|r|dkD  r |||z  «      }t        |«      j3                  ||«      }t        |«      |j5                  ||
|z
  «      z  }|�|t7        |«      ini }|j5                  |«      | k(  r|S |r$|dkD  r| ||
|z
  |z  |«      ||dz
  |z  z  z  z  }n| ||
|z
  |z  |«      z  }|j9                  «       } ||dd¬«      }d„ }t;        d|g¬«      }|j=                  t        j>                  |z  tA        t        j>                  |z  «      «      }|S # t0        t$        f$ r d}Y �Œ,w xY w)Nr   )Úsign©Úceiling)Úlimit©ÚOrder©Úpowsimp©rÞ   ÚlogxrD   úCannot expand %s around 0c              3  ó6   •K  — | ]  }t        |‰«      –— Œ y ­wr+   )rs   )rl   r   r  s     €r0   rn   z$exp._eval_nseries.<locals>.<genexpr>õ  s   øè ø€ Ò:¨Œz˜#˜t×$Ñ:ùs   ƒÚt©r  Tr,   ©rè   Úcombinec                ó:   — | j                   xr | j                  dv S )N)é   é   é   )rÉ   Úq)rm   s    r0   rì   z#exp._eval_nseries.<locals>.<lambda>  s   € ˜aŸm™mÒ@°·±°yÐ0@€ r1   Úw)Ú
properties)!Ú$sympy.functions.elementary.complexesr  Ú#sympy.functions.elementary.integersr  Úsympy.series.limitsr  Úsympy.series.orderr  Úsympy.simplify.powsimpr
  r,   Ú_eval_nseriesÚis_OrderÚremoveOr   r_   r¨   rR   r   ÚanyrB   r   Úas_leading_termÚgetnÚNotImplementedErrorÚ_taylorÚsubsr4   rç   r   Úreplacer®   r   )r/   rm   rÞ   r  Úcdirr  r  r  r
  r   Ú
arg_seriesÚarg0r  ÚntermsÚcfÚ
exp_seriesÚrÚrepÚ	simpleratr  r  s                       @r0   r  zexp._eval_nseriesá  s+  ø€ õ 	>Ý?Ý-Ý,Ý2Ø�h‰hˆØ&�S×&Ñ& q¨A°DÔ9ˆ
Ø×ÒØ�z‘>Ð!Ù�Z×'Ñ'Ó)¨1¨aÓ0ˆØ”1×%Ñ%Ñ%Ù˜˜A™˜q“>Ð!Ø”1—:‘:ÑØˆKØ×ÒÜÐ7¸4Ñ@ÓAÐAäÓ:°·	±	Ô:Ô:ØˆKÜ�#‹JˆØˆð	ÙÐ*�s×*Ñ*¨1°4Ô8¸!Ó<×AÑAÓCˆBñ �"�q’&Ù˜Q˜r™T“]ˆFÜ˜“V—^‘^ A vÓ.ˆ
Ü�‹I�j—o‘o a¨°dÑ):Ó;Ñ;ˆØ $Ð 0ˆt”S˜“V‰n°bˆØ�6‰6�#‹;˜$ÒØˆHÙ�"�q’&Ø‘˜
 TÑ)¨AÑ-¨qÓ1°!°r¸!±t¸Q±h±-Ñ?Ñ?‰Aà‘˜
 TÑ)¨AÑ-¨qÓ1Ñ1ˆAØ�H‰H‹JˆÙ�A˜D¨%Ô0ˆá@ˆ	Ü� ) Ô-ˆØ�I‰I”a—m‘m QÑ&¬´q·}±}ÀaÑ7GÓ(HÓIˆØˆøô' $¤YÐ/ò 	Ø‹Bð	ús   Ã$)H% È%H:È9H:c                óÞ   — g }d }t        |«      D ]T  }| j                  || j                  d   |«      }|j                  ||¬«      }|j	                  |j                  «       «       ŒV t        |Ž S )Nr   )rÞ   )Úrangerá   rB   ÚnseriesrÎ   r!  r   )r/   rm   rÞ   ÚlÚgrŠ   s         r0   r&  zexp._taylor  sj   € ØˆØˆÜ�q“ò 	"ˆAØ× Ñ   D§I¡I¨a¡L°!Ó4ˆAØ—	‘	˜!˜q�	Ó!ˆAØ�H‰H�Q—Y‘Y“[Õ!ð	"ô �Aˆwˆr1   c                óê  — ddl m} | j                  d   j                  «       j	                  ||¬«      } |j
                  |d«      }|t        j                  u rt        j                  S t        ||«      r3t        |«      t        j                  k  rt        | «      S t        |«      S |t        j                  u r |j                  |d«      }|j                  du rt        |«      S t        d| z  «      ‚)Nr   rµ   r  Fr  )Úsympy.calculus.utilr¶   rB   Úcancelr#  r'  r   r©   rs   r"   rÂ   r,   r  rR   r   )r/   rm   r  r)  r¶   r   r+  s          r0   Ú_eval_as_leading_termzexp._eval_as_leading_term  sÇ   € Ý3Ø�i‰i˜‰l×!Ñ!Ó#×3Ñ3°A¸DÐ3ÓAˆØˆs�x‰x˜˜1‹~ˆØ”!—%‘%‰<Ü—5‘5ˆLÜ�d˜KÔ(ô �$‹xœ!Ÿ&™&Ò Ü˜D˜5“zÐ!Ü�t“9ÐØ”1—5‘5‰=Ø�3—9‘9˜Q “?ˆDØ×Ñ˜uÑ$Ü�t“9ÐÜÐ3°tÑ<Ó=Ð=r1   c                ón   — ddl m}  |t        |z  t        dz  z   «      t         |t        |z  «      z  z
  S )Nr   )rä   r¥   )rå   rä   r   r   )r/   r   Úkwargsrä   s       r0   Ú_eval_rewrite_as_sinzexp._eval_rewrite_as_sin.  s-   € Ý@Ù”1�S‘5œ2˜a™4‘<Ó ¤1¡S¬¨3©£Z¡<Ñ/Ð/r1   c                ón   — ddl m}  |t        |z  «      t         |t        |z  t        dz  z   «      z  z   S )Nr   )rã   r¥   )rå   rã   r   r   )r/   r   r<  rã   s       r0   Ú_eval_rewrite_as_coszexp._eval_rewrite_as_cos2  s.   € Ý@Ù”1�S‘5‹zœA™c¤! C¡%¬"¨Q©$¡,Ó/Ñ/Ñ/Ð/r1   c                óH   — ddl m} d ||dz  «      z   d ||dz  «      z
  z  S )Nr   )ÚtanhrD   r¥   )Ú%sympy.functions.elementary.hyperbolicrA  )r/   r   r<  rA  s       r0   Ú_eval_rewrite_as_tanhzexp._eval_rewrite_as_tanh6  s(   € Ý>Ø‘D˜˜Q™“K‘ !¡d¨3¨q©5£k¡/Ñ2Ð2r1   c                ó  — ddl m}m} |j                  rq |j                  t
        t        z  «      }|rQ|j                  rD |t
        |z  «       |t
        |z  «      }}t        ||«      st        ||«      s|t        |z  z   S y y y y y )Nr   )rä   rã   )	rå   rä   rã   r§   r²   r   r   rË   rs   )r/   r   r<  rä   rã   r²   ÚcosineÚsines           r0   Ú_eval_rewrite_as_sqrtzexp._eval_rewrite_as_sqrt:  sw   € ßEØ�:Š:Ø�C—I‘Iœb¤™d“OˆEÙ˜ŸšÙ"¤2 e¡8›}©c´"°U±(«m˜�Ü! &¨#Ô.´zÀ4ÈÔ7MØ!¤A d¡F™?Ð*ð 8NÐ.ð )ˆuð r1   c                ó  — |j                   ru|j                  D �cg c].  }t        |t        «      sŒt	        |j                  «      dk(  sŒ-|‘Œ0 }}|r/t        |d   j                  d    |j                  |d   «      «      S y y c c}w ©NrD   r   )r§   rB   rs   r4   Úlenr   r²   )r/   r   r<  rØ   Úlogss        r0   Ú_eval_rewrite_as_Powzexp._eval_rewrite_as_PowC  sq   € Ø�:Š:Ø"Ÿx™xÖS˜!¬:°a¼Õ+=Ä#ÀaÇfÁfÃ+ÐQRÓBR’AÐSˆDÐSÙÜ˜4 ™7Ÿ<™<¨™?¨I¨C¯I©I°d¸1±gÓ,>Ó?Ð?ð ð ùÚSs   ›B±BÁ
Brx   ©T©r   )ry   rz   r{   r’   r¡   r³   ÚclassmethodrÚ   r   rš   Ústaticmethodr   rá   ræ   rî   r�   rü   rÿ   r  r  r&  r:  r=  r?  rC  rG  rL  Ú__classcell__©r˜   s   @r0   r,   r,   Û   s£   ø„ ñó45ò!ð( ñgó ðgðR ñó ðð Øñ!ó ó ð!ó*ô@,ò òAòò ó-ò^ò>ò*0ò0ò3ò+ö@r1   r,   )Ú	metaclassc                óÈ   — | j                  t        d¬«      \  }}|dk(  r|j                  r||fS |j                  t        «      }|r|j                  r|j                  r||fS y)a´  
    Try to match expr with $a + Ib$ for real $a$ and $b$.

    ``match_real_imag`` returns a tuple containing the real and imaginary
    parts of expr or ``(None, None)`` if direct matching is not possible. Contrary
    to :func:`~.re`, :func:`~.im``, and ``as_real_imag()``, this helper will not force things
    by returning expressions themselves containing ``re()`` or ``im()`` and it
    does not expand its argument either.

    T©Úas_Addr   )NN)Úas_independentr   Úis_realrª   )ÚexprÚr_Úi_s      r0   Úmatch_real_imagr\  J  s^   € ð × Ñ ¤¨4Ð Ó0�F€BˆØ	ˆQ‚w�2—:’:Ø�BˆxˆØ	×	Ñ	œ1Ó	€BÙ	ˆb�jŠj˜RŸZšZØ�Bˆxˆàr1   c                  óÜ   — e Zd ZU dZded<   ej                  ej                  fZdd„Z	dd„Z
edd„«       Zeed„ «       «       Zdd	„Zd
„ Zdd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zdd„Zd„ Zy)r4   aÄ  
    The natural logarithm function `\ln(x)` or `\log(x)`.

    Explanation
    ===========

    Logarithms are taken with the natural base, `e`. To get
    a logarithm of a different base ``b``, use ``log(x, b)``,
    which is essentially short-hand for ``log(x)/log(b)``.

    ``log`` represents the principal branch of the natural
    logarithm. As such it has a branch cut along the negative
    real axis and returns values having a complex argument in
    `(-\pi, \pi]`.

    Examples
    ========

    >>> from sympy import log, sqrt, S, I
    >>> log(8, 2)
    3
    >>> log(S(8)/3, 2)
    -log(3)/log(2) + 3
    >>> log(-1 + I*sqrt(3))
    log(2) + 2*I*pi/3

    See Also
    ========

    exp

    ztuple[Expr]rB   c                óH   — |dk(  rd| j                   d   z  S t        | |«      ‚)z?
        Returns the first derivative of the function.
        rD   r   )rB   r	   r5   s     r0   r¡   z	log.fdiff…  s*   € ð �qŠ=Ø�T—Y‘Y˜q‘\‘>Ð!ä$ T¨8Ó4Ð4r1   c                ó   — t         S )zC
        Returns `e^x`, the inverse function of `\log(x)`.
        )r,   r5   s     r0   r7   zlog.inverseŽ  r8   r1   Nc                ó  — ddl m} ddlm} t	        |«      }|�{t	        |«      }|dk(  r%|dk(  rt
        j                  S t
        j                  S 	 t        ||«      }|r |t        |||z  z  «      t        |«      z  z   S t        |«      t        |«      z  S |j                  rÒ|j                  rt
        j                  S |t
        j                  u rt
        j                  S |t
        j                   u rt
        j                   S |t
        j"                  u rt
        j                   S |t
        j                  u rt
        j                  S |j$                  r"|j&                  dk(  r | |j(                  «       S |j*                  r>|j,                  t
        j                  u r"|j.                  j0                  r|j.                  S t3        |t.        «      r"|j.                  j0                  r|j.                  S t3        |t.        «      rv|j.                  j4                  r`t7        |j.                  «      \  }}|�r)|j8                  �r|dt:        z  z  }|t:        kD  r|dt:        z  z  }|t=        |t>        z  d¬«      z   S t3        |t@        «      rtC        |j.                  «      S t3        ||«      r•|jD                  jF                  r/ |t        |jD                  «      t        |jH                  «      «      S |jD                  j                  r* |t
        j"                  t        |jH                  «      «      S t
        j                  S t3        ||«      r |jJ                  | «      S |j4                  rg|jL                  rt:        t>        z   | | «      z   S |t
        j                  u rt
        j                  S |t
        j                  u rt
        j                  S |j                  rt
        j                  S |jN                  sÄ |jP                  t>        «      }|�¬|t
        j                   u rt
        j                   S |t
        j"                  u rt
        j                   S |j$                  r\|jR                  r't:        t>        z  t
        jT                  z   | |«      z   S t:         t>        z  t
        jT                  z   | | «      z   S |j4                  �r|jV                  �rö |jX                  t>        d¬«      \  }}	|jL                  r
|d	z  }|	d	z  }	t=        |	d¬«      }	|	jY                  t>        d
¬«      \  }}|jQ                  t>        «      }|jZ                  �r{|�rw|jZ                  �ri|jZ                  �r[|j                  ro|jF                  r*t:        t>        z  t
        jT                  z   | ||z  «      z   S |jL                  r,t:         t>        z  t
        jT                  z   | || z  «      z   S y ddl.m/}
 ||z  ja                  «       }| ja                  «       }tc        «       }||v rQ |
|te        |	«      z  «      }|jF                  r | |«      t>        ||   z  z   S  | |«      t>        ||   t:        z
  z  z   S ||v rR |
|te        |	«      z  «      }|jF                  r | |«      t>        ||    z  z   S  | |«      t>        t:        ||   z
  z  z   S y y y y y y y # t        $ r Y nw xY w|t
        j                  ur | |«       | |«      z  S  | |«      S )Nr   rµ   r¸   rD   r¥   F©rè   rU  rÝ   T)Úratsimp)3r¼   r¶   r¾   r¹   r   r   r©   r}   r%   r4   Ú
ValueErrorr›   rÁ   rY   r;   rÂ   r¨   r_   rÉ   rà   r  rë   rš   r,   r�   rs   rË   r\  r”   r   r   r   r‚   r    rÃ   rÌ   rÄ   rÅ   r<   rq   rª   Úis_nonnegativer¯   rþ   rW  rX  Úsympy.simplifyrb  r9  Ú_log_atan_tabler#   )rœ   r   rš   r¶   r¹   rÞ   rZ  r[  r²   Úarg_rb  r  Út1Ú
atan_tableÚmoduluss                  r0   rÚ   zlog.eval”  sƒ  € å.Ý.ä�c‹lˆàÐÜ˜4“=ˆDØ�qŠyØ˜!’8ÜŸ5™5�Lä×,Ñ,Ð,ð	ô !  sÓ+�ÙØœs 3¨¨q©¡=Ó1´C¸³IÑ=Ñ=Ð=ä˜s›8¤C¨£IÑ-Ð-ð �=Š=Ø�{Š{Ü×(Ñ(Ð(ØœŸ™‘Ü—v‘v�ØœŸ
™
Ñ"Ü—z‘zÐ!Øœ×*Ñ*Ñ*Ü—z‘zÐ!ØœŸ™‘Ü—u‘u�Ø—’ S§U¡U¨a¢ZÙ˜CŸE™E›
�{Ð"à�:Š:˜#Ÿ(™(¤a§f¡fÑ,°·±×1IÒ1IØ—7‘7ˆNÜ�cœ3Ô C§G¡G×$<Ò$<Ø—7‘7ˆNÜ˜œSÔ! c§g¡g×&7Ò&7Ü$ S§W¡WÓ-‰FˆB�Ú�b×&Ó&Ø�aœ‘d‘
�Øœ’7Ø˜!œB™$‘J�BØœJ r¬A¡v°EÔ:Ñ:Ð:Ü˜œYÔ'Ü˜cŸg™gÓ&Ð&Ü˜˜[Ô)Ø�w‰w×"Ò"Ù"¤3 s§w¡w£<´°S·W±W³Ó>Ð>Ø—‘—’Ù"¤1×#5Ñ#5´s¸3¿7¹7³|ÓDÐDä—u‘u�Ü˜˜WÔ%Ø!�3—>‘> #Ó&Ð&à�=Š=Ø�ŠÜœA‘v¡ S D£	Ñ)Ð)Øœ×)Ñ)Ñ)Ü×(Ñ(Ð(ØœŸ™‘Ü—u‘u�à�;Š;Ü×$Ñ$Ð$ð �zŠzØ&�C×&Ñ&¤qÓ)ˆEàÐ ØœAŸJ™JÑ&ÜŸ:™:Ð%Øœa×0Ñ0Ñ0ÜŸ:™:Ð%Ø×&Ò&Ø×+Ò+Ü!¤A™v¬¯©™±°U³Ñ;Ð;ä "˜s¤Q™w¬¯©Ñ/±#°u°f³+Ñ=Ð=à�=‹=˜S×-Ó-à,˜#×,Ñ,¬Q°uÔ=‰KˆE�4Ø× Ò Ø˜‘�Ø˜‘
�Ü˜d¨Ô/ˆDØ×(Ñ(¬°4Ð(Ó8‰FˆB�Ø×"Ñ"¤1Ó%ˆBØ�}‹}¢¨¯
«
°r·z³zØ—:’:Ø—~’~Ü!¤A™v¬¯©™±°U¸R±Z³Ñ@Ð@ØŸšÜ "˜s¤Q™w¬¯©Ñ/±#°e¸r¸c±kÓ2BÑBÐBð (õ 7à˜B™Ÿ™Ó(�AØ˜"Ÿ™›�BÜ!0Ó!2�JØ˜J‘Ù")¨%´#°d³)Ñ*;Ó"<˜ØŸ>š>Ù#& w£<´!°jÀ±mÑ2CÑ#CÐCá#& w£<´!°zÀ!±}ÄrÑ7IÑ2JÑ#JÐJØ˜zÑ)Ù")¨%´#°d³)Ñ*;Ó"<˜ØŸ>š>Ù#& w£<´!¸
À2¹°Ñ2GÑ#GÐGá#& w£<´!´r¸JÀr¹NÑ7JÑ2KÑ#KÐKð *ð% 8B¨
 ˆ}ð .ˆ=øôM ò Ùðúàœ1Ÿ6™6Ñ!Ù˜3“x¡ D£	Ñ)Ð)á˜3“x�s   Á-[
 Á>[
 Û
	[Û[c                óÒ   — ddl m} | dk  rt        j                  S t	        |«      }| dk(  r|S |r|d   }|� ||  |z  |z  | dz   z  dd¬«      S dd| dz  z  z
  || dz   z  z  | dz   z  S )	zV
        Returns the next term in the Taylor series expansion of `\log(1+x)`.
        r   r	  rÝ   rD   Tr,   r  r¥   )r  r
  r   rÂ   r   )rÞ   rm   rß   r
  rà   s        r0   rá   zlog.taylor_term  sˆ   € õ 	3ØˆqŠ5Ü—6‘6ˆMÜ�A‹JˆØ�Š6ØˆHÙØ˜rÑ"ˆAØˆ}Ù   a™x¨!™|¨q°1©uÑ5¸DÈ%ÔPÐPØ�A�q˜1‘u‘I‘  Q¨¡U¡Ñ+¨Q°©UÑ3Ð3r1   c                ó0  — ddl m}m} |j                  dd«      }|j                  dd«      }t	        | j
                  «      dk(  r%t         | j                  | j
                  Ž ||¬«      S | j
                  d   }|j                  rpt        |«      }d }	d}
|dur|\  }}
| j                  |«      }	|r=t        |«      }||j                  «       vr t        d	„ |j                  «       D «       «      }	|	��—|
|	z  S |j                  r+t        |j                   «      t        |j"                  «      z
  S |j$                  �rg }g }|j
                  D ]à  }|s|j&                  s|j(                  rd| j                  |«      }t+        |t        «      r1|j-                   | j                  |«      j.                  d
i |¤Ž«       Œo|j-                  |«       Œ�|j0                  rC| j                  | «      }|j-                  |«       |j-                  t2        j4                  «       ŒÐ|j-                  |«       Œâ t7        |Ž t        t9        |Ž «      z   S |j:                  st+        |t<        «      rÛ|st|j<                  j>                  rH|j@                  j&                  sH|j<                  dz   j&                  r|j<                  dz
  jB                  s|j@                  j(                  r¯|j@                  }|j<                  }| j                  |«      }t+        |t        «      rtE        |«       |j.                  d
i |¤Žz  S tE        |«      |z  S t+        ||«      r>|s|jF                  j&                  r& |t        |jF                  «      g|jH                  ¢­Ž S | j                  |«      S )Nr   )rj   ri   ÚforceFÚfactorr¥   )rè   rm  rD   c              3  ó>   K  — | ]  \  }}|t        |«      z  –— Œ y ­wr+   r3   )rl   ÚvalrÞ   s      r0   rn   z'log._eval_expand_log.<locals>.<genexpr>7  s   è ø€ Ò D±°°Q ¤3 s£8¥Ñ Dùs   ‚r€   )%Úsympy.concreterj   ri   ÚgetrJ  rB   r
   r>   Ú
is_Integerr&   r'   ÚkeysÚsumÚitemsrÉ   r4   rà   r  r§   rÌ   r“   rs   rÎ   Ú_eval_expand_logr<   r   r®   r   r   rë   r,   r�   rš   Úis_nonpositiver    rt   ru   )r/   rè   rv   rj   ri   rm  rn  r   rà   Úlogargr²   rY  Únonposrm   rØ   rf   rg   s                    r0   rw  zlog._eval_expand_log$  sÉ  € ß/Ø—	‘	˜' 5Ó)ˆØ—‘˜8 UÓ+ˆÜ�—	‘	‹N˜aÒÜ˜i˜dŸi™i¨¯©Ð3¸$ÀeÔLÐLØ�i‰i˜‰lˆØ�>Š>ä˜cÓ"ˆAØˆFØˆEØ˜‰~Ø‘
��UØŸ™ 3›�áÜ˜c“N�Ø˜aŸf™f›hÑ&Ü Ñ D¸!¿'¹'»)Ô DÓD�FØÑ!Ø˜V‘|Ð#Ø�_Š_Ü�s—u‘u“:¤ C§E¡E£
Ñ*Ð*Ø�Z‹ZØˆDØˆFØ—X‘Xò %�Ù˜AŸMšM¨Q¯ZªZØŸ	™	 !›�AÜ! !¤SÔ)ØŸ™Ð$A D§I¡I¨a£L×$AÑ$AÑ$JÀEÑ$JÕKàŸ™ A�Ø—]’]ØŸ	™	 1 "›�AØ—K‘K ”NØ—M‘M¤!§-¡-Õ0à—M‘M !Õ$ð%ô ˜�:¤¤C¨ LÓ 1Ñ1Ð1Ø�ZŠZœ: c¬3Ô/Ù˜Ÿ™×1Ò1°s·x±x×7KÒ7KÐQT×QXÑQXÐYZÑQZß‘ðQØ"%§'¡'¨!¡)×!;Ò!;À#Ç(Á(×BSÒBSØ—H‘H�Ø—G‘G�Ø—I‘I˜a“L�Ü˜a¤Ô%Ü% a›=Ð+=¨1×+=Ñ+=Ñ+FÀÑ+FÑFÐFä% a›=¨1Ñ,Ð,Ü˜˜WÔ%Ù˜Ÿ™×0Ò0Ùœ3˜sŸ|™|Ó,Ð:¨s¯z©zÒ:Ð:à�y‰y˜‹~Ðr1   c                ó"  — ddl m}m}m} t	        | j
                  «      dk(  r  | | j                  | j
                  Ž fi |¤ŽS | j                   || j
                  d   fi |¤Ž«      }|d   r ||«      } ||d¬«      }t        || g|d   ¬«      S )	Nr   )r
   ÚsimplifyÚinversecombiner¥   r7   Tra  Úmeasure)Úkey)r¿   r
   r|  r}  rJ  rB   r>   rÃ   )r/   r<  r
   r|  r}  rY  s         r0   Ú_eval_simplifyzlog._eval_simplify]  s‹   € ßPÑPÜˆt�y‰y‹>˜QÒÙ˜I˜DŸI™I t§y¡yÐ1Ñ<°VÑ<Ð<à�y‰y™ $§)¡)¨A¡,Ñ9°&Ñ9Ó:ˆØ�)ÒÙ! $Ó'ˆDÙ˜$ TÔ*ˆÜ�D˜$�< V¨IÑ%6Ô7Ð7r1   c                óB  — | j                   d   }|r  | j                   d   j                  |fi |¤Ž}t        |«      }||k(  r| t        j                  fS t        |«      }|j                  dd«      r#d|d<    t        |«      j                  |fi |¤Ž|fS t        |«      |fS )a©  
        Returns this function as a complex coordinate.

        Examples
        ========

        >>> from sympy import I, log
        >>> from sympy.abc import x
        >>> log(x).as_real_imag()
        (log(Abs(x)), arg(x))
        >>> log(I).as_real_imag()
        (0, pi/2)
        >>> log(1 + I).as_real_imag()
        (log(sqrt(2)), pi/4)
        >>> log(I*x).as_real_imag()
        (log(Abs(x)), arg(I*x))

        r   r4   FÚcomplex)rB   rç   r#   r   rÂ   r   rr  r4   )r/   rè   rv   ÚsargÚsarg_absÚsarg_args         r0   ræ   zlog.as_real_imagh  s£   € ð& �y‰y˜‰|ˆÙØ&�4—9‘9˜Q‘<×&Ñ& tÑ5¨uÑ5ˆDÜ�t“9ˆØ�tÒØœŸ™�<ÐÜ�t“9ˆØ�9‰9�U˜EÔ"Ø$ˆE�)ÑØ(”C˜“M×(Ñ(¨Ñ7°Ñ7¸ÐBÐBä�x“= (Ð*Ð*r1   c                ó:  —  | j                   | j                  Ž }|j                   | j                   k(  r^| j                  d   dz
  j                  ry|j                  d   j                  r't	        | j                  d   dz
  j                  «      ryy y |j                  S ©Nr   rD   TF)r>   rB   rY   rZ   r   ©r/   r[   s     r0   r]   zlog._eval_is_rationalˆ  s‚   € ØˆD�I‰I�t—y‘yÐ!ˆØ�6‰6�T—Y‘YÒØ—	‘	˜!‘˜qÑ ×)Ò)ØØ�v‰v�a‰y×$Ò$¬°D·I±I¸a±LÀ1Ñ4D×3MÑ3MÔ)NØð *OÐ$ð —=‘=Ð r1   c                ó:  —  | j                   | j                  Ž }|j                   | j                   k(  r^| j                  d   dz
  j                  ryt        | j                  d   dz
  j                  «      r| j                  d   j                  ryy y |j                  S r‡  )r>   rB   rY   r   rþ   rˆ  s     r0   rÿ   zlog._eval_is_algebraic’  s„   € ØˆD�I‰I�t—y‘yÐ!ˆØ�6‰6�T—Y‘YÒØ—	‘	˜!‘˜qÑ ×)Ò)ØÜ˜DŸI™I a™L¨1Ñ,×5Ñ5Ô6Ø—9‘9˜Q‘<×,Ò,Ø ð -ð 7ð —>‘>Ð!r1   c                ó4   — | j                   d   j                  S r„   ©rB   rT   r.   s    r0   r�   zlog._eval_is_extended_real�  s   € Ø�y‰y˜‰|×0Ñ0Ð0r1   c                ót   — | j                   d   }t        |j                  t        |j                  «      g«      S r„   )rB   r   rú   r   rY   )r/   r\   s     r0   rü   zlog._eval_is_complex   s,   € Ø�I‰I�a‰LˆÜ˜!Ÿ,™,¬	°!·)±)Ó(<Ð=Ó>Ð>r1   c                óR   — | j                   d   }|j                  ry|j                  S ©Nr   F)rB   rY   rU   rV   s     r0   rW   zlog._eval_is_finite¤  s#   € Ø�i‰i˜‰lˆØ�;Š;ØØ�}‰}Ðr1   c                ó:   — | j                   d   dz
  j                  S ©Nr   rD   r‹  r.   s    r0   r  zlog._eval_is_extended_positiveª  s   € Ø—	‘	˜!‘˜qÑ ×6Ñ6Ð6r1   c                ó:   — | j                   d   dz
  j                  S r�  )rB   rY   r.   s    r0   r`   zlog._eval_is_zero­  s   € Ø—	‘	˜!‘˜qÑ ×)Ñ)Ð)r1   c                ó:   — | j                   d   dz
  j                  S r�  )rB   Úis_extended_nonnegativer.   s    r0   Ú_eval_is_extended_nonnegativez!log._eval_is_extended_nonnegative°  s   € Ø—	‘	˜!‘˜qÑ ×9Ñ9Ð9r1   c           
     óR
  ‡— ddl m} ddlm} ddlm} | j                  d   |k(  r|€t        |«      S |S | j                  d   } |dd¬«      }	|dk(  rd} |j                  |||	z  «      }
t        d	«      t        d
«      }}|
j                  ||	|z  z  «      }|�e||   ||   }}|dk7  rV|j                  |	«      sE|j                  |	«      s4|€|t        |«      z  n||z  }|t        |«      |t        |«      z  z
  z  }|S d„ }	 |
j                  |	|d¬«      \  }}|
||	|z  z  z  dz
  j-                  «       j!                  |	‰|d¬«      }|j                  t.        «      r ||«      }t1        ||«      r|j3                  «       Š |||	«      \  }}|€t        |«      n|}|j4                  sÏt        |«      |t        |«      z  z
  ||z  z   }|}ddddddddddœ	} | j6                  di |¤Ž}|j9                  «       s>|j9                  «       r. |j                  | t        |«       «      j6                  di |¤Ž}n+ |j                  |t        |«      «      j6                  di |¤Ž}||k(  r|S | ||‰z  |«      z   S ˆfd„}i }t;        j<                  |j%                  «       «      D ]4  } |||	«      \  }}|j?                  |t(        j*                  «      |z   ||<   Œ6 t(        j@                  }i }|}||z  ‰k  rot(        jB                  |z   |z  } |D ].  }!|j?                  |!t(        j*                  «      | ||!   z  z   ||!<   Œ0  |||«      }|t(        j@                  z  }||z  ‰k  rŒot        |«      |t        |«      z  z
  ||z  z   }|D ]  }!|||!   j-                  «       |	|!z  z  z  }Œ  |jD                  r‰tG        |
«      dk7  r{ddl$m%}" tM        |
jO                  |	«      «      D ]  \  }#}|jP                  r|#dk(  sŒ n #dk  r;jS                  |	«      \  } }|dtT        z  tV        z   |"tG        | «       d«      z  z  }|j                  |	||z  «      }| ||‰z  |«      z   S # t        t        t        f$ r² |
j!                  |	‰|d¬«      }|j"                  r'‰dz  Š|
j!                  |	‰|d¬«      }|j"                  rŒ'	 |j%                  «       j                  |	d¬«      \  }}n@# t        $ r4 |j%                  «       j'                  |	d¬«      t(        j*                  }}Y nw xY wY �Œw xY w)Nr   r  rº   )r   r  T©ÚpositiverD   Úkr5  c                óJ  — t         j                  t         j                  }}t        j                  | «      D ]E  }|j                  |«      r-|j                  «       \  }}||k7  sŒ-	 | j                  |«      c S ||z  }ŒG ||fS # t        $ r | t         j                  fcY c S w xY wr+   )	r   r;   rÂ   r   rÍ   ÚhasrE   Úleadtermrc  )rÓ   rm   r²   r,   rn  rš   s         r0   Ú	coeff_expz$log._eval_nseries.<locals>.coeff_expË  s™   € ÜŸ™¤§¡�3ˆEÜŸ-™-¨Ó-ò 	$�Ø—:‘:˜a”=Ø &× 2Ñ 2Ó 4‘I�D˜#Ø˜q“yð0Ø#'§=¡=°Ó#3Ò3ð ˜V‘O‘Eð	$ð ˜#�:Ðøô	  *ò 0Ø#'¬¯© <Ô/ð0ús   Á$BÂB"Â!B"©r  r)  )rÞ   r  r)  )r)  F)	rè   r4   ÚmulÚ	power_expÚ
power_baseÚmultinomialÚbasicrm  rn  c                ó¨   •— i }t        | |«      D ]?  \  }}||z   }|‰k  sŒ|j                  |t        j                  «      | |   ||   z  z   ||<   ŒA |S r+   )r   rr  r   rÂ   )Úd1Úd2rŒ   Úe1Úe2ÚexrÞ   s         €r0   rž  zlog._eval_nseries.<locals>.mulþ  sc   ø€ ØˆCÜ! " b›/ò B‘��BØ˜"‘W�Ø˜“6Ø!Ÿg™g b¬!¯&©&Ó1°B°r±F¸2¸b¹6±MÑA�C˜’GðBð ˆJr1   ©Ú	Heavisideé   éþÿÿÿr€   ),r  r  r¿   r»   Úsympy.core.symbolr   rB   r4   r'  r   Úmatchrš  r›  rc  r%  r   r  r   r!  r#  r   rÂ   r9  r,   rs   r$  rÌ   rç   r=   r   rÍ   rr  r;   r®   r<   r!   Ú'sympy.functions.special.delta_functionsrª  Ú	enumerateÚlseriesrX  Úas_coeff_exponentr   r   )$r/   rm   rÞ   r  r)  r  r»   r   r   r  r\   r˜  r5  r/  rœ  rØ   rf   r[   rà   Ú_ÚdrŒ   Ú_resÚlogflagsrY  rž  ÚptermsrÓ   Úco1r¦  rÐ   Úpkr²   r¨  rª  rŠ   s$     `                                 r0   r  zlog._eval_nseries³  s  ø€ õ 	-Ý6Ý+à�9‰9�Q‰<˜1ÒØ!˜\”3�q“6Ð3¨tÐ3Ø�i‰i˜‰lˆÙ�# Ô%ˆØ�1Š9ØˆDØˆC�H‰H�Q˜˜Q™Óˆä�C‹yœ$˜s›)ˆ1ˆØ�G‰G�A�a˜‘d‘F‹OˆØˆ=Ø�Q‘4˜˜1™ˆqˆAØ�AŠv˜aŸe™e Aœh¨q¯u©u°Q¬xØ $ �A”c˜!“f’H°!°D±&�Ø”S˜“V˜a¤ D£	™kÑ)Ñ)�Ø�ò	ð
	FØ—:‘:˜a d°�:Ó3‰DˆAˆqð ��!�Q‘$‘‰Z˜!‰^×#Ñ#Ó%×3Ñ3°A¸ÀÈAÐ3ÓNˆØ�5‰5”Œ:Ù˜1“ˆAÜ�a˜ÔØ—‘“ˆAÙ˜˜A‹‰ˆˆ1Ø˜Œs�1Œv¨4ˆà�}Š}Ü�a“&˜1œS ›Y™;Ñ&¨¨4©Ñ/ˆCØˆDØ $¨T¸%ÈeØ#°EÀEÐTXØñ!ˆHð �4—;‘;Ñ* Ñ*ˆDØ×.Ñ.Ô0Ø×-Ñ-Ô/Ø7�t—y‘y $ ¬¨Q«¨Ó0×7Ñ7ÑC¸(ÑC‘à5�t—y‘y ¤s¨1£vÓ.×5Ñ5ÑA¸ÑA�Ø�tŠ|Ø�
Ø™˜q !™t Q›Ñ'Ð'ô	ð ˆä—M‘M !§)¡)£+Ó.ò 	6ˆDÙ  aÓ(‰GˆC�ØŸ™ B¬¯©Ó/°#Ñ5ˆF�2ŠJð	6ô �E‰EˆØˆØˆà�‰c�AŠgÜ—]‘] AÑ%Ð% aÑ'ˆEØò A�Ø!ŸI™I b¬!¯&©&Ó1°E¸"¸R¹&±LÑ@��b’	ðAá�R˜“ˆBØ”—‘‰JˆAð �‰c�A‹gô �!‹f�qœ˜T›‘{Ñ" Q t¡VÑ+ˆØò 	.ˆBØ�5˜‘9×#Ñ#Ó% a¨"¡gÑ-Ñ-‰Cð	.ð �=Š=œR ›U ašZÝIÜ$ Q§Y¡Y¨q£\Ó2ò ‘��4Ø—|’| q¨A£vÙðð �1ŠuØ×1Ñ1°!Ó4‘��qØ�rœ!‘tœB‘w™y¬"¨U«)¨°QÓ7Ñ7Ñ7�à�h‰h�q˜!˜D™&Ó!ˆØ‘U˜1˜a™4 “^Ñ#Ð#øôS Ô/´Ð;ò 	FØ—‘  Q¨T¸�Ó:ˆAØ—*’*Ø�Q‘�Ø—O‘O A¨°¸A�OÓ>�ð —*“*ðFØ—y‘y“{×+Ñ+¨A°AÐ+Ó6‘�‘1øÜò FØ—y‘y“{×2Ñ2°1¸1Ð2Ó=¼q¿v¹v�1’ðFýð	Fús7   ÄQ  Ñ AT&Ò=$S"Ó!T&Ó":TÔT&ÔTÔT&Ô%T&c                óÆ  — | j                   d   j                  «       }t        dd¬«      }|dk(  rd}|j                  |||z  «      }	 |j	                  ||d¬«      \  }}|j                  |«      r3|j                  |||z  «      }|dk7  rt        d| z  «      ‚t        |«      S |t        j                  k(  r7|t        j                  k(  r$|t        j                  z
  j                  ||¬«      S t        |«      |t        |«      z  z
  }
|€t        |«      n|}|
||z  z  }
|j                  r‰t        |«      dk7  r{dd	lm} t#        |j%                  |«      «      D ]  \  }}|j&                  r|d
k(  sŒ n d
k  r;j)                  |«      \  }}|
dt*        z  t,        z   |t        |«       d«      z  z  }
|
S # t
        $ r" |j                  |||¬«      }	t        |	«      cY S w xY w)Nr   r  Tr–  rD   r�  r  r  r©  r«  r¬  )rB   Útogetherr   r'  r›  rc  r#  r4   rš  r   r   r;   rÂ   r<   r!   r¯  rª  r°  r±  rX  r²  r   r   )r/   rm   r  r)  r+  r  r\   Úcrg   r   rŒ   rª  rŠ   rÓ   r²   r³  s                   r0   r:  zlog._eval_as_leading_term'  sÍ  € ð �y‰y˜‰|×$Ñ$Ó&ˆô �# Ô%ˆØ�1Š9ØˆDØ�I‰I�a˜˜a™Ó ˆð	Ø—:‘:˜a d°�:Ó3‰DˆAˆqð �5‰5�Œ8Ø—‘�q˜!˜D™&Ó!ˆAØ�AŠvÜÐ ;¸tÑ DÓEÐEÜ�q“6ˆMð ”—‘Š:˜!œqŸv™vš+Øœ1Ÿ5™5‘L×1Ñ1°!¸$Ð1Ó?Ð?ô �!‹f�qœ˜T›‘{Ñ"ˆØ˜Œs�1Œv¨4ˆØˆq�‰v‰ˆð �=Š=œR ›U ašZÝIÜ$ Q§Y¡Y¨q£\Ó2ò ‘��4Ø—|’| q¨A£vÙðð �1ŠuØ×1Ñ1°!Ó4‘��qØ�rœ!‘tœB‘w™y¬"¨U«)¨°QÓ7Ñ7Ñ7�Øˆ
øô7 ò 	Ø×&Ñ& q¨t¸$Ð&Ó?ˆCÜ�s“8ŠOð	ús   ÁF5 Æ5(G ÇG rx   r+   rM  rN  )ry   rz   r{   r’   Ú__annotations__r   rÂ   r}   r~   r¡   r7   rO  rÚ   rP  r   rá   rw  r€  ræ   r]   rÿ   r�   rü   rW   r  r`   r”  r  r:  r€   r1   r0   r4   r4   _  s¨   … ñðB Óà—f‘f˜a×/Ñ/Ð0€Nó5óð ò{Ló ð{Lðz Øñ4ó ó ð4ó 7òr	8ó+ò@!ò	"ò1ò?òò7ò*ò:ór$óh*r1   r4   c                  ó    ‡ — e Zd ZdZ eej                  dd¬«       ej                  fZe	dd„«       Z
dd„Zd„ Zd„ Zd	„ Zd
„ Zdˆ fd„	Zd„ Zˆ xZS )ÚLambertWaù  
    The Lambert W function $W(z)$ is defined as the inverse
    function of $w \exp(w)$ [1]_.

    Explanation
    ===========

    In other words, the value of $W(z)$ is such that $z = W(z) \exp(W(z))$
    for any complex number $z$.  The Lambert W function is a multivalued
    function with infinitely many branches $W_k(z)$, indexed by
    $k \in \mathbb{Z}$.  Each branch gives a different solution $w$
    of the equation $z = w \exp(w)$.

    The Lambert W function has two partially real branches: the
    principal branch ($k = 0$) is real for real $z > -1/e$, and the
    $k = -1$ branch is real for $-1/e < z < 0$. All branches except
    $k = 0$ have a logarithmic singularity at $z = 0$.

    Examples
    ========

    >>> from sympy import LambertW
    >>> LambertW(1.2)
    0.635564016364870
    >>> LambertW(1.2, -1).n()
    -1.34747534407696 - 4.41624341514535*I
    >>> LambertW(-1).is_real
    False

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Lambert_W_function
    rÝ   Frb   c                óÚ  — |t         j                  k(  r | |«      S |€t         j                  }|j                  �r|j                  rt         j                  S |t         j                  u rt         j                  S |dt         j                  z  k(  rt         j
                  S |t        d«       dz  k(  rt        d«       S |dt        d«      z  k(  rt        d«      S |t         dz  k(  rt        t        z  dz  S |t        dt         j                  z   «      k(  rt         j                  S |t         j                  u rt         j                  S t        |j                  «      r|j                  rt         j                  S |t         j
                  u rb|t         dz  k(  rt         t        z  dz  S |dt         j                  z  k(  rt         j
                  S |dt        d«      z  k(  rt        d«       S y y )NrÝ   r¥   rD   r¬  )r   rÂ   rY   r›   r;   r®   r4   r   r   r,   r¨   r   r_   r   )rœ   rm   r˜  s      r0   rÚ   zLambertW.evaly  sm  € à”—‘Š;Ù�q“6ˆMØˆYÜ—‘ˆAà�9‹9Ø�yŠyÜ—v‘v�Ø”A—F‘F‰{Ü—u‘u�Ø�B”q—v‘v‘IŠ~Ü—}‘}Ð$Ø”S˜“V�G˜A‘IŠ~Ü˜A›�w�Ø�A”c˜!“f‘HŠ}Ü˜1“v�Ø”R�C˜‘EŠzÜœ‘t˜A‘v�Ø”C˜œAŸF™F™
“OÒ#Ü—v‘v�Ø”A—J‘J‰Ü—z‘zÐ!ä�Q—Y‘YÔØ�yŠyÜ×)Ñ)Ð)Ø”—‘ÑØ”R�C˜‘EŠzÜ�rœ"‘u˜Q‘w�Ø�bœŸ™‘i’Ü—}‘}Ð$Ø�bœ˜R›‘j’Ü ›
�{Ð"ð !ð r1   c                ó  — | j                   d   }t        | j                   «      dk(  r"|dk(  rPt        |«      |dt        |«      z   z  z  S | j                   d   }|dk(  rt        ||«      |dt        ||«      z   z  z  S t        | |«      ‚)z?
        Return the first derivative of this function.
        r   rD   )rB   rJ  r¿  r	   )r/   r6   rm   r˜  s       r0   r¡   zLambertW.fdiff�  s†   € ð �I‰I�a‰Lˆäˆt�y‰y‹>˜QÒØ˜1Š}Ü “{ A q¬8°A«;¡Ñ$7Ñ8Ð8à—	‘	˜!‘ˆAØ˜1Š}Ü  1“~ q¨!¬h°q¸!«nÑ*<Ñ'=Ñ>Ð>ä   xÓ0Ð0r1   c                ó|  — | j                   d   }t        | j                   «      dk(  rt        j                  }n| j                   d   }|j                  rC|dt        j
                  z  z   j                  ry|dt        j
                  z  z   j                  ryy |dz   j                  r[|j                  r!|dt        j
                  z  z   j                  ry|j                  s |dt        j
                  z  z   j                  ryy t        |j                  «      r't        |dz   j                  «      r|j                  ryy y y r‡  )rB   rJ  r   rÂ   rY   r›   rÌ   rx  r<   rd  r   r�   )r/   rm   r˜  s      r0   r�   zLambertW._eval_is_extended_real­  sõ   € Ø�I‰I�a‰LˆÜˆt�y‰y‹>˜QÒÜ—‘‰Aà—	‘	˜!‘ˆAØ�9Š9Ø�A”a—f‘f‘H‘×)Ò)ØØ�aœŸ™‘h‘,×.Ò.Øð /à�!‰e�_Š_Ø�}Š} ! a¬¯©¡h¡,×!;Ò!;ØØ×!Ò! a¨!¬A¯F©F©(¡l×%BÒ%BØð &Cä�q—y‘yÔ!¤i°°Q±·±Ô&@Ø×!Ò!Øð "ð 'AÐ!r1   c                ó4   — | j                   d   j                  S r„   )rB   rU   r.   s    r0   rW   zLambertW._eval_is_finiteÁ  s   € Ø�y‰y˜‰|×%Ñ%Ð%r1   c                óú   —  | j                   | j                  Ž }|j                   | j                   k(  r>t        | j                  d   j                  «      r| j                  d   j                  ryy y |j                  S rŽ  )r>   rB   r   rY   rþ   rˆ  s     r0   rÿ   zLambertW._eval_is_algebraicÄ  sd   € ØˆD�I‰I�t—y‘yÐ!ˆØ�6‰6�T—Y‘YÒÜ˜Ÿ™ 1™×-Ñ-Ô.°4·9±9¸Q±<×3LÒ3LØð 4MÐ.ð —>‘>Ð!r1   c                óò   — t        | j                  «      dk(  r_| j                  d   } |j                  |d«      j                  «       }|j                  s| j                  |«      S  |j                  |«      S y rI  )rJ  rB   r'  r9  rY   r>   r#  )r/   rm   r  r)  r   r+  s         r0   r:  zLambertW._eval_as_leading_termÌ  sf   € Üˆt�y‰y‹>˜QÒØ—)‘)˜A‘,ˆCØ�3—8‘8˜A˜q“>×(Ñ(Ó*ˆDØ—<’<Ø—y‘y “Ð&Ø&�3×&Ñ& qÓ)Ð)ð r1   c           
     óR  •— t        | j                  «      dk(  rùddlm} ddlm} | j                  d   j                  |||¬«      } |j                  ||¬«      }d}	|j                  r|j                  }	 |||	z  «      dk\  rqt        t        d |||	z  «      «      D �
cg c]@  }
t        j                   |
dz
  z  t        |
«      |
dz
  z  z  t        |
dz
  «      z  ||
z  z  ‘ŒB c}
Ž }t!        |«      }nt        j"                  }| |||z  |«      z   S t$        ‰| �M  |||«      S c c}
w )NrD   r   r  r  r  r  r¥   )rJ  rB   r  r  r  r  r4  r#  rë   r,   r   r3  r   r;   r   r   r   rÂ   rð   r  )r/   rm   rÞ   r  r)  r  r  r   ÚltÚlter˜  r[   r˜   s               €r0   r  zLambertW._eval_nseriesÔ  s#  ø€ Üˆt�y‰y‹>˜QÒÝCÝ0Ø—)‘)˜A‘,×&Ñ& q¨A°DÐ&Ó9ˆCØ$�×$Ñ$ Q¨TÔ2ˆBØˆCØ�yŠyØ—f‘f�Ù�q˜‘u‹~ Ò"ÜÜ;@ÀÁGÈAÈcÉEÃNÓ;SöUØ67ô ŸE™E˜6 Q¨¡UÑ+¬G°A«J¸¸Q¹Ñ,?Ñ?Ü# A¨¡EÓ*ñ+Ø+.°©6ó2ò Uð V�ä& qÓ)‘ä—F‘F�à‘u˜Q ™T 1“~Ñ%Ð%Ü‰wÑ$ Q¨¨4Ó0Ð0ùòUs   ÂAD$c                óÄ   — | j                   d   }t        | j                   «      dk(  r|j                  S t        |j                  | j                   d   j                  g«      S r�  )rB   rJ  rY   r   )r/   rm   s     r0   r`   zLambertW._eval_is_zeroç  sK   € Ø�I‰I�a‰LˆÜˆt�y‰y‹>˜QÒØ—9‘9Ðä˜aŸi™i¨¯©°1©×)=Ñ)=Ð>Ó?Ð?r1   r+   rx   rN  )ry   rz   r{   r’   r   r   r›   r}   r~   rO  rÚ   r¡   r�   rW   rÿ   r:  r  r`   rQ  rR  s   @r0   r¿  r¿  T  sb   ø„ ñ!ñD ˜1Ÿ6™6 2°Ô6Ð6¸×8IÑ8IÐJ€Nàò!#ó ð!#óF1ò ò(&ò"ò*õ1ö&@r1   r¿  c            	     ó  — i t        d«      t        dz  “dt        dz  “t        ddt        d«      z  z
  «      t        dz  “t        d«      t        dt        d«      z
  «      z  dt        d«      z   z  t        dz  “t        ddt        d«      z  z   «      t        t        dd«      z  “t        d«      t        t        d«      dz   «      z  dt        d«      z   z  t        t        dd«      z  “t        d«      dz  t        dz  “t        d«      dz
  t        dz  “t        dt        d«      z
  «      t        t        d«      dz   «      z  t        dz  “t        d«      dz   t        t        dd«      z  “t        t        d«      dz   «      t        dt        d«      z
  «      z  t        t        dd«      z  “t        ddt        d«      z  dz  z
  «      t        d	z  “t        d«       t        d	«      z   dt        t        d«      dz   «      z  z  t        d	z  “t        ddt        d«      z  dz  z   «      t        t        dd	«      z  “t        d«      t        d	«      z   dt        dt        d«      z
  «      z  z  t        t        dd	«      z  “dt        d«      z
  t        d
z  “dt        d«      z   dt        d«      z   z  t        d
z  “dt        d«      z   t        t        dd
«      z  dt        d«      z   dt        d«      z   z  t        t        dd
«      z  i¥S )Nr  rD   r  r«  r¥   rÝ   r  é   é
   é   )r$   r   r   r€   r1   r0   rf  rf  ï  sÝ  € ðäˆQ‹”�a‘ðð 	
Œ2�‰6ðô 	ˆQ�”T˜!“W‘‰_Óœr A™vð	ô
 	ˆQ‹”$�qœ4 ›7‘{Ó#Ñ# q¬4°«7¡{Ñ3´R¸!±Vðô 	ˆQ�”T˜!“W‘‰_Óœr¤H¨Q°£NÑ2ðô 	ˆQ‹”$”t˜A“w ‘{Ó#Ñ# r¬D°«G¡|Ñ4´b¼8ÀAÀq»>Ñ6Iðô 	ˆQ‹�!‰”R˜!‘Vðô 	ˆQ‹�!‰”R˜!‘Vðô 	ˆQ”�a“‰[ÓœD¤ a£¨1¡Ó-Ñ-¬r°A©vðô 	ˆQ‹�!‰”Rœ( 1 a›.Ñ(ðô 	ŒT�!‹W�q‰[ÓœD ¤T¨!£W¡Ó-Ñ-¬r´H¸QÀ³NÑ/Bðô 	ˆQ�”T˜!“W‘˜q‘Ñ Ó!¤2¨¡7ðô ˆq‹'ˆ”D˜“HÑ	 ¤T¬$¨q«'°A©+Ó%6Ñ!6Ñ7¼¸b¹ðô 	ˆQ�”T˜!“W‘˜q‘Ñ Ó!¤2¬°°B«Ñ#7ðô  
ˆa‹”4˜“8Ñ	 ¤D¨¬T°!«W©Ó$5Ñ 5Ñ6¼¼XÀaÈ»_Ñ8Lð!ð" 	
ŒD�‹G‰”R˜"‘Wð#ð$ 
Œd�1‹g‰˜!œd 1›g™+Ñ&¬¨R©ð%ð& 	
ŒD�‹G‰”Rœ( 1 b›/Ñ)Ø	
ŒT�!‹W‰˜œd 1›g™Ñ&¬¬X°a¸«_Ñ(<ñ)ð r1   N)@Ú
__future__r   Ú	itertoolsr   Úsympy.core.addr   Úsympy.core.cacher   Úsympy.core.exprr   Úsympy.core.functionr   r	   r
   r   r   r   r   r   Úsympy.core.logicr   r   r   Úsympy.core.mulr   Úsympy.core.numbersr   r   r   r   Úsympy.core.parametersr   Úsympy.core.powerr   Úsympy.core.singletonr   r­  r   r   Úsympy.core.sympifyr   Ú(sympy.functions.combinatorial.factorialsr   r  r   r    r!   r"   r#   Ú(sympy.functions.elementary.miscellaneousr$   Úsympy.ntheoryr%   r&   Úsympy.ntheory.factor_r'   r)   r‚   r–   r,   r\  r4   r¿  rf  r€   r1   r0   ú<module>rß     sÎ   ðÝ "Ý å Ý $Ý  ÷N÷ Nó Nç ;Ñ ;Ý ß 7Ó 7Ý 3Ý  Ý "ß )Ý &Ý >ß MÕ MÝ 9ß 5Ý +ôeˆoô eôPF)�ô F)ôREˆmô Eôl@ˆ'˜Wõ l@ò^ô*rˆ/ô rôjX@ˆô X@ðv 	ñó 	ñr1   