Ë
    O/æj–©  ã                   óÚ  — 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& d dl'm(Z(m)Z) d dl*m+Z+ d dl,m-Z- d dl.m/Z/m0Z0m1Z1m2Z2m3Z3 d dl4m5Z5 d dl6m7Z7m8Z8 d dl9m:Z:  G d„ de«      Z; G d„ de;«      Z< G d„ de«      Z= G d„ de;e=¬«      Z>d„ Z? G d„ d e«      Z@ G d!„ d"e«      ZAed#„ «       ZBy$)%é    )Úproduct)ÚTuple)ÚAdd)Úcacheit)ÚExpr)ÚFunctionÚ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)ÚGe)Ú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    úi/root/repos/pocs/video-evals/.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©r0   Úargindexs     r1   ÚinversezExpBase.inverse-   ó	   € ô ˆ
r2   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)r0   r-   Úneg_exps      r1   Úas_numer_denomzExpBase.as_numer_denom3   sr   € ð  ×"Ò"ØœŸ™�;ÐØ�h‰hˆØ—/‘/ˆÙ  ×1Ò1Ø×2Ñ2Ó4ˆGÙÜ—5‘5˜$Ÿ)™) S D›/Ð)Ð)Ø”Q—U‘Uˆ{Ðr2   c                 ó    — | j                   d   S )z7
        Returns the exponent of the function.
        r   )Úargsr/   s    r1   r-   zExpBase.expM   s   € ð
 �y‰y˜‰|Ðr2   c                 óH   — | j                  d«      t        | j                  Ž fS )z7
        Returns the 2-tuple (base, exponent).
        é   )r?   r   rC   r/   s    r1   Úas_base_expzExpBase.as_base_expT   s   € ð �y‰y˜‹|œS $§)¡)˜_Ð,Ð,r2   c                 óT   — | j                  | j                  j                  «       «      S r,   )r?   r-   Úadjointr/   s    r1   Ú_eval_adjointzExpBase._eval_adjointZ   s   € Ø�y‰y˜Ÿ™×)Ñ)Ó+Ó,Ð,r2   c                 óT   — | j                  | j                  j                  «       «      S r,   )r?   r-   Ú	conjugater/   s    r1   Ú_eval_conjugatezExpBase._eval_conjugate]   ó   € Ø�y‰y˜Ÿ™×+Ñ+Ó-Ó.Ð.r2   c                 óT   — | j                  | j                  j                  «       «      S r,   )r?   r-   Ú	transposer/   s    r1   Ú_eval_transposezExpBase._eval_transpose`   rM   r2   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©r0   r    s     r1   Ú_eval_is_finitezExpBase._eval_is_finitec   s9   € Ø�h‰hˆØ�?Š?Ø×'Ò'ØØ×'Ò'ØØ�=Š=Øð r2   c                 óø   —  | j                   | j                  Ž }|j                   | j                   k(  r=|j                  j                  }|ry|j                  j                  rt        |«      ryy y |j                  S rR   )r?   rC   r-   Úis_zeroÚis_rationalr   )r0   ÚsÚzs      r1   Ú_eval_is_rationalzExpBase._eval_is_rationalm   sc   € ØˆD�I‰I�t—y‘yÐ!ˆØ�6‰6�T—Y‘YÒØ—‘—‘ˆAÙØØ—‘×"Ò"¤y°¤|Øð (4Ð"ð —=‘=Ð r2   c                 ó:   — | j                   t        j                  u S r,   )r-   r   ÚNegativeInfinityr/   s    r1   Ú_eval_is_zerozExpBase._eval_is_zerox   s   € Ø�x‰xœ1×-Ñ-Ð-Ð-r2   c                 ól   — | j                  «       \  }}t        j                  t        ||d¬«      |«      S )z;exp(arg)**e -> exp(arg*e) if assumptions allow it.
        F©Úevaluate)rF   r   Ú_eval_power)r0   ÚotherÚbÚes       r1   re   zExpBase._eval_power{   s0   € ð ×ÑÓ!‰ˆˆ1Ü�‰œs 1 a°%Ô8¸%Ó@Ð@r2   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Úxr0   s     €r1   ú	<genexpr>z1ExpBase._eval_expand_power_exp.<locals>.<genexpr>†   s   øè ø€ Ò?° §	¡	¨!§Ñ?ùs   ƒ)Úsympy.concrete.productsrj   Úsympy.concrete.summationsrk   rC   Úis_Addr;   r   ÚfromiterÚ
isinstancer?   ÚfunctionÚlimits)r0   Úhintsrj   rk   r    s   `    r1   Ú_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˜‹~Ðr2   N©rE   )Ú__name__Ú
__module__Ú__qualname__Ú
unbranchedr   ÚComplexInfinityÚ_singularitiesÚpropertyr.   r8   rA   r-   rF   rI   rL   rP   rX   r^   ra   re   rx   © r2   r1   r*   r*   $   ss   „ à€JØ×'Ñ'Ð)€Nàñó ðóòð4 ñó ðò-ò-ò/ò/òò	!ò.òAór2   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#   rC   r/   s    r1   Ú	_eval_Abszexp_polar._eval_Absµ   s   € Ü”2�d—i‘i ‘lÓ#Ó$Ð$r2   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"   rC   r   Ú	TypeErrorr-   Ú_eval_evalfr#   )r0   ÚprecÚiÚbadÚress        r1   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?   rC   )r0   rf   s     r1   re   zexp_polar._eval_powerÇ   s   € Ø�y‰y˜Ÿ™ 1™ eÑ+Ó,Ð,r2   c                 ó8   — | j                   d   j                  ryy )Nr   T)rC   Úis_extended_realr/   s    r1   Ú_eval_is_extended_realz exp_polar._eval_is_extended_realÊ   s   € Ø�9‰9�Q‰<×(Ò(Øð )r2   c                 ót   — | j                   d   dk(  r| t        j                  fS t        j	                  | «      S r…   )rC   r   r<   r*   rF   r/   s    r1   rF   zexp_polar.as_base_expÎ   s1   € à�9‰9�Q‰<˜1ÒØœŸ™�;ÐÜ×"Ñ" 4Ó(Ð(r2   N)rz   r{   r|   Ú__doc__Úis_polarÚis_comparabler†   r‰   re   r‘   rF   r�   r2   r1   rƒ   rƒ   Œ   s-   „ ñ#ðJ €HØ€Mò%òò-òó)r2   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__rt   r   Úbaser   ÚExp1)ÚclsÚinstances     r1   Ú__instancecheck__zExpMeta.__instancecheck__Ö   s8   € Ü�(×$Ñ$×,Ñ,Ñ,ØÜ˜(¤CÓ(ÒD¨X¯]©]¼a¿f¹fÐ-DÐDr2   N)rz   r{   r|   rŸ   r�   r2   r1   r—   r—   Õ   s   „ óEr2   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d„ Zd	„ Zd
„ Zd„ Zd„ Zdd„Zd„ Zdd„Zd„ Zd„ Zd„ Zd„ Zd„ Zy)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.
        rE   )r	   r6   s     r1   Úfdiffz	exp.fdiff÷   s   € ð �qŠ=ØˆKä$ T¨8Ó4Ð4r2   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¥   rC   Úis_Mulr   r   ÚInfinityÚNaNÚas_coefficientr   ÚintegerÚevenr<   ÚoddÚNegativeOneÚHalf)r0   Úassumptionsr¤   r¥   r    ÚIooÚcoeffs          r1   Ú_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ð +ð ð r2   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¦   rE   FTrc   )2Úsympy.calculusr·   Úsympy.matrices.matrixbaser¸   Úsympy.sets.setexprrº   Úsympy.simplify.simplifyr¼   rt   r-   r   Ú
exp_is_powr   r   rœ   Ú	is_Numberrª   rZ   r<   r©   r`   ÚZeror~   r5   rC   Ú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•   Úappendrr   r   )r�   r    r·   r¸   rº   r¼   r³   ÚncoeffÚtermsÚcoeffsÚlog_termÚtermÚterm_ÚoutÚaddÚ
argchangedÚaÚnewas                     r1   Ú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ð r2   c                 ó"   — t         j                  S )z?
        Returns the base of the exponential function.
        )r   rœ   r/   s    r1   r›   zexp.base~  s   € ô
 �v‰vˆr2   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   )Únrn   Úprevious_termsÚps       r1   Ú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Ñ Ð r2   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å   rC   Úas_real_imagÚexpandr-   )r0   Údeeprw   rä   rå   r#   r"   s          r1   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™[Ð)Ð)r2   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        j                  | ||«      S )Nc                 óp   — | j                   st        | t        «      rt        | j	                  «       ddiŽS | S )Nrd   F)Úis_Powrt   r-   r   rF   )rÙ   s    r1   ú<lambda>z exp._eval_subs.<locals>.<lambda>½  s1   € Ø—’œJ q¬#Ô.ô ˜qŸ}™}›Ð?¸Ñ?€ Ø56ð r2   )rì   r-   r5   r›   r   rœ   Úis_Functionrt   r   Ú
_eval_subsÚ_subsr   )r0   ÚoldÚnewÚfs       r1   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Ü×"Ñ" 4¨¨cÓ2Ð2r2   c                 óÖ   — | j                   d   j                  ry| j                   d   j                  r6t        d«       t        z  | j                   d   z  t
        z  }|j                  S y )Nr   Tr¦   )rC   r�   Úis_imaginaryr   r   r   rÈ   ©r0   Úarg2s     r1   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Ø—<‘<Ðð 'r2   c                 óD   — d„ }t         || j                  d   «      «      S )Nc              3   óD   K  — | j                   –— | j                  –— y ­wr,   )Ú
is_complexrT   )r    s    r1   Úcomplex_extended_negativez7exp._eval_is_complex.<locals>.complex_extended_negativeÍ  s   è ø€ Ø—.‘.Ò Ø×*Ñ*Ó*ùs   ‚ r   )r   rC   )r0   rû   s     r1   Ú_eval_is_complexzexp._eval_is_complexÌ  s"   € ò	+ô Ñ1°$·)±)¸A±,Ó?Ó@Ð@r2   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 rR   )r-   r   r   r[   r   rZ   Úis_algebraicr/   s    r1   Ú_eval_is_algebraiczexp._eval_is_algebraicÒ  s[   € Ø�H‰H”r‰MœAÑ×*Ò*ØÜ�T—X‘X×%Ñ%Ô&Ø�x‰x×$Ò$ØØ—(‘(œR‘-×,Ò,Øð -ð 'r2   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�   rC   r   r`   rõ   r   r   rÈ   rö   s     r1   Ú_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Ø—<‘<Ðð #r2   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ß   ÚlogxrE   úCannot expand %s around 0c              3   ó6   •K  — | ]  }t        |‰«      –— Œ y ­wr,   )rt   )rm   r    r  s     €r1   ro   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)rn   s    r1   rí   z#exp._eval_nseries.<locals>.<lambda>  s   € ˜aŸm™mÒ@°·±°yÐ0@€ r2   Ú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©   rS   r   ÚanyrC   r   Úas_leading_termÚgetnÚNotImplementedErrorÚ_taylorÚsubsr5   rè   r   Úreplacer¯   r   )r0   rn   rß   r  Úcdirr  r  r  r
  r    Ú
arg_seriesÚarg0r  ÚntermsÚcfÚ
exp_seriesÚrÚrepÚ	simpleratr  r  s                       @r1   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â   rC   ÚnseriesrÏ   r!  r   )r0   rn   rß   ÚlÚgr‹   s         r1   r&  zexp._taylor  sj   € ØˆØˆÜ�q“ò 	"ˆAØ× Ñ   D§I¡I¨a¡L°!Ó4ˆAØ—	‘	˜!˜q�	Ó!ˆAØ�H‰H�Q—Y‘Y“[Õ!ð	"ô �Aˆwˆr2   Nc                 óê  — 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·   rC   Úcancelr#  r'  r   rª   rt   r#   rÃ   r-   r  rS   r   )r0   rn   r  r)  r·   r    r+  s          r1   Ú_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Ñ<Ó=Ð=r2   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   )r0   r    Úkwargsrå   s       r1   Ú_eval_rewrite_as_sinzexp._eval_rewrite_as_sin/  s-   € Ý@Ù”1�S‘5œ2˜a™4‘<Ó ¤1¡S¬¨3©£Z¡<Ñ/Ð/r2   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   )r0   r    r<  rä   s       r1   Ú_eval_rewrite_as_coszexp._eval_rewrite_as_cos3  s.   € Ý@Ù”1�S‘5‹zœA™c¤! C¡%¬"¨Q©$¡,Ó/Ñ/Ñ/Ð/r2   c                 óH   — ddl m} d ||dz  «      z   d ||dz  «      z
  z  S )Nr   )ÚtanhrE   r¦   )Ú%sympy.functions.elementary.hyperbolicrA  )r0   r    r<  rA  s       r1   Ú_eval_rewrite_as_tanhzexp._eval_rewrite_as_tanh7  s(   € Ý>Ø‘D˜˜Q™“K‘ !¡d¨3¨q©5£k¡/Ñ2Ð2r2   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Ì   rt   )r0   r    r<  rå   rä   r³   ÚcosineÚsines           r1   Ú_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ð r2   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 ©NrE   r   )r¨   rC   rt   r5   Úlenr   r³   )r0   r    r<  rÙ   Úlogss        r1   Ú_eval_rewrite_as_Powzexp._eval_rewrite_as_PowD  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ry   ©T©r   r…   )rz   r{   r|   r“   r¢   r´   ÚclassmethodrÛ   r€   r›   Ústaticmethodr   râ   rç   rï   r‘   rü   rÿ   r  r  r&  r:  r=  r?  rC  rG  rL  r�   r2   r1   r-   r-   Ü   s¢   „ ñó45ò!ð( ñgó ðgðR ñó ðð Øñ!ó ó ð!ó*ò@3ò òAòò ó-ò^ó>ò*0ò0ò3ò+ó@r2   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      r1   Úmatch_real_imagrZ  K  s^   € ð × Ñ ¤¨4Ð Ó0�F€BˆØ	ˆQ‚w�2—:’:Ø�BˆxˆØ	×	Ñ	œ1Ó	€BÙ	ˆb�jŠj˜RŸZšZØ�Bˆxˆàr2   c                   óê   — e Zd ZU dZee   ed<   ej                  ej                  fZ
dd„Zdd„Zedd„«       Z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d„Zy)r5   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

    rC   c                 óH   — |dk(  rd| j                   d   z  S t        | |«      ‚)z?
        Returns the first derivative of the function.
        rE   r   )rC   r	   r6   s     r1   r¢   z	log.fdiff†  s*   € ð �qŠ=Ø�T—Y‘Y˜q‘\‘>Ð!ä$ T¨8Ó4Ð4r2   c                 ó   — t         S )zC
        Returns `e^x`, the inverse function of `\log(x)`.
        )r-   r6   s     r1   r8   zlog.inverse�  r9   r2   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¹   rE   r¦   F©ré   rS  rÞ   T)Úratsimp)3r½   r·   r¿   rº   r   r   rª   r~   r&   r5   Ú
ValueErrorrœ   rÂ   rZ   r<   rÃ   r©   r`   rÊ   rá   r  rì   r›   r-   r�   rt   rÌ   rZ  r•   r   r   r   rƒ   r!   rÄ   rÍ   rÅ   rÆ   r=   rr   r«   Úis_nonnegativer°   rþ   rU  rV  Úsympy.simplifyr`  r9  Ú_log_atan_tabler$   )r�   r    r›   r·   rº   rß   rX  rY  r³   Úarg_r`  r  Út1Ú
atan_tableÚmoduluss                  r1   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                 ó&   — | t         j                  fS )zE
        Returns this function in the form (base, exponent).
        )r   r<   r/   s    r1   rF   zlog.as_base_exp  s   € ð ”Q—U‘Uˆ{Ðr2   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Þ   rE   Tr-   r  r¦   )r  r
  r   rÃ   r   )rß   rn   rà   r
  rá   s        r1   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Ð3r2   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   )rk   rj   ÚforceFÚfactorr¦   )ré   rl  rE   c              3   ó>   K  — | ]  \  }}|t        |«      z  –— Œ y ­wr,   r4   )rm   Úvalrß   s      r1   ro   z'log._eval_expand_log.<locals>.<genexpr>>  s   è ø€ Ò D±°°Q ¤3 s£8¥Ñ Dùs   ‚r�   )%Úsympy.concreterk   rj   ÚgetrJ  rC   r
   r?   Ú
is_Integerr'   r(   ÚkeysÚsumÚitemsrÊ   r5   rá   r  r¨   rÍ   r”   rt   rÏ   Ú_eval_expand_logr=   r   r¯   r   r   rì   r-   r�   r›   Úis_nonpositiver!   ru   rv   )r0   ré   rw   rk   rj   rl  rm  r    rá   Úlogargr³   rW  Únonposrn   rÙ   rg   rh   s                    r1   rv  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˜‹~Ðr2   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¦   r8   Tr_  Úmeasure)Úkey)rÀ   r
   r{  r|  rJ  rC   r?   rÄ   )r0   r<  r
   r{  r|  rW  s         r1   Ú_eval_simplifyzlog._eval_simplifyd  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Ð7r2   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   r5   FÚcomplex)rC   rè   r$   r   rÃ   r    rq  r5   )r0   ré   rw   ÚsargÚsarg_absÚsarg_args         r1   rç   zlog.as_real_imago  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“= (Ð*Ð*r2   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   rE   TF)r?   rC   rZ   r[   r   ©r0   r\   s     r1   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Ð$ð —=‘=Ð r2   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?   rC   rZ   r   rþ   r‡  s     r1   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ð —>‘>Ð!r2   c                 ó4   — | j                   d   j                  S r…   ©rC   rU   r/   s    r1   r‘   zlog._eval_is_extended_real¤  s   € Ø�y‰y˜‰|×0Ñ0Ð0r2   c                 ót   — | j                   d   }t        |j                  t        |j                  «      g«      S r…   )rC   r   rú   r   rZ   )r0   r]   s     r1   rü   zlog._eval_is_complex§  s,   € Ø�I‰I�a‰LˆÜ˜!Ÿ,™,¬	°!·)±)Ó(<Ð=Ó>Ð>r2   c                 óR   — | j                   d   }|j                  ry|j                  S ©Nr   F)rC   rZ   rV   rW   s     r1   rX   zlog._eval_is_finite«  s#   € Ø�i‰i˜‰lˆØ�;Š;ØØ�}‰}Ðr2   c                 ó:   — | j                   d   dz
  j                  S ©Nr   rE   rŠ  r/   s    r1   r  zlog._eval_is_extended_positive±  s   € Ø—	‘	˜!‘˜qÑ ×6Ñ6Ð6r2   c                 ó:   — | j                   d   dz
  j                  S r�  )rC   rZ   r/   s    r1   ra   zlog._eval_is_zero´  s   € Ø—	‘	˜!‘˜qÑ ×)Ñ)Ð)r2   c                 ó:   — | j                   d   dz
  j                  S r�  )rC   Úis_extended_nonnegativer/   s    r1   Ú_eval_is_extended_nonnegativez!log._eval_is_extended_nonnegative·  s   € Ø—	‘	˜!‘˜qÑ ×9Ñ9Ð9r2   c           
      ó:
  ‡— 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!                  |	‰|d¬«      }|j                  t,        «      r ||«      }t/        ||«      r|j1                  «       Š |||	«      \  }}|€t        |«      n|}|j2                  sÏt        |«      |t        |«      z  z
  ||z  z   }|}ddddddddddœ	} | j4                  di |¤Ž}|j7                  «       s>|j7                  «       r. |j                  | t        |«       «      j4                  di |¤Ž}n+ |j                  |t        |«      «      j4                  di |¤Ž}||k(  r|S | ||‰z  |«      z   S ˆfd„}i }t9        j:                  |j%                  «       «      D ]4  } |||	«      \  }}|j=                  |t(        j*                  «      |z   ||<   Œ6 t(        j>                  }i }|}||z  ‰k  rt(        j@                  |z   |z  } |D ]>  }!|j=                  |!t(        j*                  «      | ||!   z  z   }|jC                  «       ||!<   Œ@  |||«      }|t(        j>                  z  }||z  ‰k  rŒt        |«      |t        |«      z  z
  ||z  z   }|D ]  }!|||!   |	|!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©ÚpositiverE   Ú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Î   ÚhasrF   Úleadtermra  )rÔ   rn   r³   r-   rm  r›   s         r1   Ú	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é   r5   ÚmulÚ	power_expÚ
power_baseÚmultinomialÚbasicrl  rm  c                 ó¨   •— i }t        | |«      D ]?  \  }}||z   }|‰k  sŒ|j                  |t        j                  «      | |   ||   z  z   ||<   ŒA |S r,   )r   rq  r   rÃ   )Úd1Úd2r�   Úe1Úe2Úexrß   s         €r1   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ð ˆJr2   ©Ú	Heavisideé   éþÿÿÿr�   ),r  r  rÀ   r¼   Úsympy.core.symbolr   rC   r5   r'  r   Úmatchr™  rš  ra  r%  r   r  r   r!  r#  r   rÃ   r-   rt   r$  rÍ   rè   r>   r   rÎ   rq  r<   r¯   Ú	nsimplifyr=   r"   Ú'sympy.functions.special.delta_functionsr©  Ú	enumerateÚlseriesrV  Úas_coeff_exponentr   r   )$r0   rn   rß   r  r)  r  r¼   r   r    r  r]   r—  r5  r/  r›  rÙ   rg   r\   rá   Ú_Údr�   Ú_resÚlogflagsrW  r�  ÚptermsrÔ   Úco1r¥  rÑ   Úpkr³   r§  r©  r‹   s$     `                                 r1   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˜!‰^×*Ñ*¨1°¸À1Ð*ÓEˆØ�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Øò *�Ø—I‘I˜b¤!§&¡&Ó)¨E°"°R±&©LÑ8�ØŸK™K›M��b’	ð*ñ �R˜“ˆBØ”—‘‰JˆAð �‰c�A‹gô �!‹f�qœ˜T›‘{Ñ" Q t¡VÑ+ˆØò 	%ˆBØ�5˜‘9˜Q ™WÑ$Ñ$‰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 “^Ñ#Ð#øôU Ô/´Ð;ò 	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Ò1$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•  rE   rœ  r  r  r¨  rª  r«  )rC   Útogetherr   r'  rš  ra  r#  r5   r™  r   r   r<   rÃ   r=   r"   r¯  r©  r°  r±  rV  r²  r   r   )r0   rn   r  r)  r+  r  r]   Úcrh   r    r�   r©  r‹   rÔ   r³   r³  s                   r1   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 ry   r,   rM  rN  r…   ) rz   r{   r|   r“   ÚtTupler   Ú__annotations__r   rÃ   r~   r   r¢   r8   rO  rÛ   rF   rP  r   râ   rv  r  rç   r^   rÿ   r‘   rü   rX   r  ra   r“  r  r:  r�   r2   r1   r5   r5   `  s±   … ñðB �‰,Óà—f‘f˜a×/Ñ/Ð0€Nó5óð ò{Ló ð{Lòzð Øñ4ó ó ð4ó 7òr	8ó+ò@!ò	"ò1ò?òò7ò*ò:ós$ôj*r2   r5   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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Þ   Frc   c                 ó:  — |t         j                  k(  r | |«      S |€t         j                  }|j                  �r¼|j                  rt         j                  S |t         j                  u rt         j                  S t        d«      }|j                  |t        |«      z  «      }|�Lt        ||   t         j                  z  t         j                  «      t         j                  u rt        ||   «      S |t        d«       dz  k(  rt        d«       S |j                  ||dz   z  t        |«      z  «      }|�%||   j                  du r||   t        ||   «      z  S |j                  t         j                  d|z  z  |z  «      }|�d||   z  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¦   rE   TrÞ   r«  )r   rÃ   rZ   rœ   r<   r   r­  r5   r   ÚtruerÍ   r   r   r-   r©   r   r`   r¯   r   )r�   rn   r—  r  Úresults        r1   rÛ   zLambertW.eval�  s  € à”—‘Š;Ù�q“6ˆMØˆYÜ—‘ˆAà�9‹9Ø�yŠyÜ—v‘v�Ø”A—F‘F‰{Ü—u‘u�Ü�S“	ˆAð —W‘W˜Qœs 1›v™XÓ&ˆFØÐ!¤b¨°©´1·6±6Ñ)9¼1¿5¹5Ó&AÄQÇVÁVÑ&KÜ˜6 !™9“~Ð%Ø”S˜“V�G˜A‘IŠ~Ü˜A›�w�ð —W‘W˜Q  1¡™X¤c¨!£f™_Ó-ˆFØÐ! f¨Q¡i×&;Ñ&;¸tÑ&CØ˜a‘y¤ V¨A¡Y£Ñ/Ð/ð —W‘WœQŸV™V a¨¡c™]¨1™_Ó-ˆFØÐ!Ø˜6 !™9‘}Ð$Ø”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’Ü ›
�{Ð"ð !ð r2   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   rE   )rC   rJ  rÀ  r	   )r0   r7   rn   r—  s       r1   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Ð0r2   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†  )rC   rJ  r   rÃ   rZ   rœ   rÍ   rw  r=   rb  r   r�   )r0   rn   r—  s      r1   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Ð!r2   c                 ó4   — | j                   d   j                  S r…   )rC   rV   r/   s    r1   rX   zLambertW._eval_is_finiteÕ  s   € Ø�y‰y˜‰|×%Ñ%Ð%r2   c                 óú   —  | j                   | j                  Ž }|j                   | j                   k(  r>t        | j                  d   j                  «      r| j                  d   j                  ryy y |j                  S r�  )r?   rC   r   rZ   rþ   r‡  s     r1   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Ð.ð —>‘>Ð!r2   c                 óò   — t        | j                  «      dk(  r_| j                  d   } |j                  |d«      j                  «       }|j                  s| j                  |«      S  |j                  |«      S y rI  )rJ  rC   r'  r9  rZ   r?   r#  )r0   rn   r  r)  r    r+  s         r1   r:  zLambertW._eval_as_leading_termà  sf   € Üˆt�y‰y‹>˜QÒØ—)‘)˜A‘,ˆCØ�3—8‘8˜A˜q“>×(Ñ(Ó*ˆDØ—<’<Ø—y‘y “Ð&Ø&�3×&Ñ& qÓ)Ð)ð r2   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 )NrE   r   r  r  r  r  r¦   )rJ  rC   r  r  r  r  r4  r#  rì   r-   r   r3  r   r<   r   r   r   rÃ   Úsuperr  )r0   rn   rß   r  r)  r  r  r    ÚltÚlter—  r\   r™   s               €r1   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�  )rC   rJ  rZ   r   )r0   rn   s     r1   ra   zLambertW._eval_is_zeroû  sK   € Ø�I‰I�a‰LˆÜˆt�y‰y‹>˜QÒØ—9‘9Ðä˜aŸi™i¨¯©°1©×)=Ñ)=Ð>Ó?Ð?r2   r,   ry   r…   rN  )rz   r{   r|   r“   r   r   rœ   r~   r   rO  rÛ   r¢   r‘   rX   rÿ   r:  r  ra   Ú__classcell__)r™   s   @r1   rÀ  rÀ  \  sb   ø„ ñ!ñD ˜1Ÿ6™6 2°Ô6Ð6¸×8IÑ8IÐJ€Nàò-#ó ð-#ó^1ò ò(&ò"ó*õ1ö&@r2   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  rE   r  rª  r¦   rÞ   r  é   é
   é   )r%   r   r   r�   r2   r1   rd  rd    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¸«_Ñ(<ñ)ð r2   N)CÚ	itertoolsr   Útypingr   r½  Ú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.relationalr   Ú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-   rZ  r5   rÀ  rd  r�   r2   r1   ú<module>rå     sÑ   ðÝ Ý "å Ý $Ý  ÷N÷ Nó Nç ;Ñ ;Ý ß 7Ó 7Ý 3Ý  Ý $Ý "ß )Ý &Ý >ß MÕ MÝ 9ß 5Ý +ôeˆhô eôPF)�ô F)ôREˆmô Eôl@ˆ'˜Wõ l@ò^ô*yˆ(ô yôxd@ˆxô d@ðN 	ñó 	ñr2   