§
    Ï! h÷D  ã                  óÒ   — d Z ddlmZ ddlZddlmZ ddlZddlm	Z	 ddl
mZ ddlmZ ddlmZ dd	lmZ dd
lmZ dddddœZ G d„ d¦  «        Zd"d„Zd#d„Zd$d„Zd%d„Zd$d „Zd$d!„ZdS )&zn
Methods that can be shared by many array-like classes or subclasses:
    Series
    Index
    ExtensionArray
é    )ÚannotationsN)ÚAny)Úlib)Ú!maybe_dispatch_ufunc_to_dunder_op)Ú
ABCNDFrame)Ú	roperator©Úextract_array)Úunpack_zerodim_and_deferÚmaxÚminÚsumÚprod)ÚmaximumÚminimumÚaddÚmultiplyc                  ó€  — e Zd Zd„ Z ed¦  «        d„ ¦   «         Z ed¦  «        d„ ¦   «         Z ed¦  «        d„ ¦   «         Z ed¦  «        d	„ ¦   «         Z ed
¦  «        d„ ¦   «         Z	 ed¦  «        d„ ¦   «         Z
d„ Z ed¦  «        d„ ¦   «         Z ed¦  «        d„ ¦   «         Z ed¦  «        d„ ¦   «         Z ed¦  «        d„ ¦   «         Z ed¦  «        d„ ¦   «         Z ed¦  «        d„ ¦   «         Zd„ Z ed¦  «        d„ ¦   «         Z ed¦  «        d„ ¦   «         Z ed ¦  «        d!„ ¦   «         Z ed"¦  «        d#„ ¦   «         Z ed$¦  «        d%„ ¦   «         Z ed&¦  «        d'„ ¦   «         Z ed(¦  «        d)„ ¦   «         Z ed*¦  «        d+„ ¦   «         Z ed,¦  «        d-„ ¦   «         Z ed.¦  «        d/„ ¦   «         Z ed0¦  «        d1„ ¦   «         Z ed2¦  «        d3„ ¦   «         Z ed4¦  «        d5„ ¦   «         Z ed6¦  «        d7„ ¦   «         Z  ed8¦  «        d9„ ¦   «         Z! ed:¦  «        d;„ ¦   «         Z"d<S )=ÚOpsMixinc                ó   — t           S ©N©ÚNotImplemented©ÚselfÚotherÚops      úOc:\xampp_lite_8_4\www\timesheet\venv\Lib\site-packages\pandas/core/arraylike.pyÚ_cmp_methodzOpsMixin._cmp_method#   ó   € ÝÐó    Ú__eq__c                óB   — |                       |t          j        ¦  «        S r   )r   ÚoperatorÚeq©r   r   s     r   r"   zOpsMixin.__eq__&   ó   € à×Ò ¥x¤{Ñ3Ô3Ð3r!   Ú__ne__c                óB   — |                       |t          j        ¦  «        S r   )r   r$   Úner&   s     r   r(   zOpsMixin.__ne__*   r'   r!   Ú__lt__c                óB   — |                       |t          j        ¦  «        S r   )r   r$   Últr&   s     r   r+   zOpsMixin.__lt__.   r'   r!   Ú__le__c                óB   — |                       |t          j        ¦  «        S r   )r   r$   Úler&   s     r   r.   zOpsMixin.__le__2   r'   r!   Ú__gt__c                óB   — |                       |t          j        ¦  «        S r   )r   r$   Úgtr&   s     r   r1   zOpsMixin.__gt__6   r'   r!   Ú__ge__c                óB   — |                       |t          j        ¦  «        S r   )r   r$   Úger&   s     r   r4   zOpsMixin.__ge__:   r'   r!   c                ó   — t           S r   r   r   s      r   Ú_logical_methodzOpsMixin._logical_methodA   r    r!   Ú__and__c                óB   — |                       |t          j        ¦  «        S r   )r8   r$   Úand_r&   s     r   r9   zOpsMixin.__and__D   s   € à×#Ò# E­8¬=Ñ9Ô9Ð9r!   Ú__rand__c                óB   — |                       |t          j        ¦  «        S r   )r8   r   Úrand_r&   s     r   r<   zOpsMixin.__rand__H   s   € à×#Ò# E­9¬?Ñ;Ô;Ð;r!   Ú__or__c                óB   — |                       |t          j        ¦  «        S r   )r8   r$   Úor_r&   s     r   r?   zOpsMixin.__or__L   ó   € à×#Ò# E­8¬<Ñ8Ô8Ð8r!   Ú__ror__c                óB   — |                       |t          j        ¦  «        S r   )r8   r   Úror_r&   s     r   rC   zOpsMixin.__ror__P   ó   € à×#Ò# E­9¬>Ñ:Ô:Ð:r!   Ú__xor__c                óB   — |                       |t          j        ¦  «        S r   )r8   r$   Úxorr&   s     r   rG   zOpsMixin.__xor__T   rB   r!   Ú__rxor__c                óB   — |                       |t          j        ¦  «        S r   )r8   r   Úrxorr&   s     r   rJ   zOpsMixin.__rxor__X   rF   r!   c                ó   — t           S r   r   r   s      r   Ú_arith_methodzOpsMixin._arith_method_   r    r!   Ú__add__c                óB   — |                       |t          j        ¦  «        S )a/  
        Get Addition of DataFrame and other, column-wise.

        Equivalent to ``DataFrame.add(other)``.

        Parameters
        ----------
        other : scalar, sequence, Series, dict or DataFrame
            Object to be added to the DataFrame.

        Returns
        -------
        DataFrame
            The result of adding ``other`` to DataFrame.

        See Also
        --------
        DataFrame.add : Add a DataFrame and another object, with option for index-
            or column-oriented addition.

        Examples
        --------
        >>> df = pd.DataFrame({'height': [1.5, 2.6], 'weight': [500, 800]},
        ...                   index=['elk', 'moose'])
        >>> df
               height  weight
        elk       1.5     500
        moose     2.6     800

        Adding a scalar affects all rows and columns.

        >>> df[['height', 'weight']] + 1.5
               height  weight
        elk       3.0   501.5
        moose     4.1   801.5

        Each element of a list is added to a column of the DataFrame, in order.

        >>> df[['height', 'weight']] + [0.5, 1.5]
               height  weight
        elk       2.0   501.5
        moose     3.1   801.5

        Keys of a dictionary are aligned to the DataFrame, based on column names;
        each value in the dictionary is added to the corresponding column.

        >>> df[['height', 'weight']] + {'height': 0.5, 'weight': 1.5}
               height  weight
        elk       2.0   501.5
        moose     3.1   801.5

        When `other` is a :class:`Series`, the index of `other` is aligned with the
        columns of the DataFrame.

        >>> s1 = pd.Series([0.5, 1.5], index=['weight', 'height'])
        >>> df[['height', 'weight']] + s1
               height  weight
        elk       3.0   500.5
        moose     4.1   800.5

        Even when the index of `other` is the same as the index of the DataFrame,
        the :class:`Series` will not be reoriented. If index-wise alignment is desired,
        :meth:`DataFrame.add` should be used with `axis='index'`.

        >>> s2 = pd.Series([0.5, 1.5], index=['elk', 'moose'])
        >>> df[['height', 'weight']] + s2
               elk  height  moose  weight
        elk    NaN     NaN    NaN     NaN
        moose  NaN     NaN    NaN     NaN

        >>> df[['height', 'weight']].add(s2, axis='index')
               height  weight
        elk       2.0   500.5
        moose     4.1   801.5

        When `other` is a :class:`DataFrame`, both columns names and the
        index are aligned.

        >>> other = pd.DataFrame({'height': [0.2, 0.4, 0.6]},
        ...                      index=['elk', 'moose', 'deer'])
        >>> df[['height', 'weight']] + other
               height  weight
        deer      NaN     NaN
        elk       1.7     NaN
        moose     3.0     NaN
        )rN   r$   r   r&   s     r   rO   zOpsMixin.__add__b   s   € ðp ×!Ò! %­¬Ñ6Ô6Ð6r!   Ú__radd__c                óB   — |                       |t          j        ¦  «        S r   )rN   r   Úraddr&   s     r   rQ   zOpsMixin.__radd__¼   ó   € à×!Ò! %­¬Ñ8Ô8Ð8r!   Ú__sub__c                óB   — |                       |t          j        ¦  «        S r   )rN   r$   Úsubr&   s     r   rU   zOpsMixin.__sub__À   ó   € à×!Ò! %­¬Ñ6Ô6Ð6r!   Ú__rsub__c                óB   — |                       |t          j        ¦  «        S r   )rN   r   Úrsubr&   s     r   rY   zOpsMixin.__rsub__Ä   rT   r!   Ú__mul__c                óB   — |                       |t          j        ¦  «        S r   )rN   r$   Úmulr&   s     r   r\   zOpsMixin.__mul__È   rX   r!   Ú__rmul__c                óB   — |                       |t          j        ¦  «        S r   )rN   r   Úrmulr&   s     r   r_   zOpsMixin.__rmul__Ì   rT   r!   Ú__truediv__c                óB   — |                       |t          j        ¦  «        S r   )rN   r$   Útruedivr&   s     r   rb   zOpsMixin.__truediv__Ð   s   € à×!Ò! %­Ô)9Ñ:Ô:Ð:r!   Ú__rtruediv__c                óB   — |                       |t          j        ¦  «        S r   )rN   r   Úrtruedivr&   s     r   re   zOpsMixin.__rtruediv__Ô   s   € à×!Ò! %­Ô);Ñ<Ô<Ð<r!   Ú__floordiv__c                óB   — |                       |t          j        ¦  «        S r   )rN   r$   Úfloordivr&   s     r   rh   zOpsMixin.__floordiv__Ø   s   € à×!Ò! %­Ô):Ñ;Ô;Ð;r!   Ú__rfloordivc                óB   — |                       |t          j        ¦  «        S r   )rN   r   Ú	rfloordivr&   s     r   Ú__rfloordiv__zOpsMixin.__rfloordiv__Ü   s   € à×!Ò! %­Ô)<Ñ=Ô=Ð=r!   Ú__mod__c                óB   — |                       |t          j        ¦  «        S r   )rN   r$   Úmodr&   s     r   ro   zOpsMixin.__mod__à   rX   r!   Ú__rmod__c                óB   — |                       |t          j        ¦  «        S r   )rN   r   Úrmodr&   s     r   rr   zOpsMixin.__rmod__ä   rT   r!   Ú
__divmod__c                ó8   — |                       |t          ¦  «        S r   )rN   Údivmodr&   s     r   ru   zOpsMixin.__divmod__è   s   € à×!Ò! %­Ñ0Ô0Ð0r!   Ú__rdivmod__c                óB   — |                       |t          j        ¦  «        S r   )rN   r   Úrdivmodr&   s     r   rx   zOpsMixin.__rdivmod__ì   s   € à×!Ò! %­Ô):Ñ;Ô;Ð;r!   Ú__pow__c                óB   — |                       |t          j        ¦  «        S r   )rN   r$   Úpowr&   s     r   r{   zOpsMixin.__pow__ð   rX   r!   Ú__rpow__c                óB   — |                       |t          j        ¦  «        S r   )rN   r   Úrpowr&   s     r   r~   zOpsMixin.__rpow__ô   rT   r!   N)#Ú__name__Ú
__module__Ú__qualname__r   r   r"   r(   r+   r.   r1   r4   r8   r9   r<   r?   rC   rG   rJ   rN   rO   rQ   rU   rY   r\   r_   rb   re   rh   rn   ro   rr   ru   rx   r{   r~   © r!   r   r   r      s‰  € € € € € ðð ð ð Ð˜hÑ'Ô'ð4ð 4ñ (Ô'ð4ð Ð˜hÑ'Ô'ð4ð 4ñ (Ô'ð4ð Ð˜hÑ'Ô'ð4ð 4ñ (Ô'ð4ð Ð˜hÑ'Ô'ð4ð 4ñ (Ô'ð4ð Ð˜hÑ'Ô'ð4ð 4ñ (Ô'ð4ð Ð˜hÑ'Ô'ð4ð 4ñ (Ô'ð4ðð ð ð Ð˜iÑ(Ô(ð:ð :ñ )Ô(ð:ð Ð˜jÑ)Ô)ð<ð <ñ *Ô)ð<ð Ð˜hÑ'Ô'ð9ð 9ñ (Ô'ð9ð Ð˜iÑ(Ô(ð;ð ;ñ )Ô(ð;ð Ð˜iÑ(Ô(ð9ð 9ñ )Ô(ð9ð Ð˜jÑ)Ô)ð;ð ;ñ *Ô)ð;ðð ð ð Ð˜iÑ(Ô(ðW7ð W7ñ )Ô(ðW7ðr Ð˜jÑ)Ô)ð9ð 9ñ *Ô)ð9ð Ð˜iÑ(Ô(ð7ð 7ñ )Ô(ð7ð Ð˜jÑ)Ô)ð9ð 9ñ *Ô)ð9ð Ð˜iÑ(Ô(ð7ð 7ñ )Ô(ð7ð Ð˜jÑ)Ô)ð9ð 9ñ *Ô)ð9ð Ð˜mÑ,Ô,ð;ð ;ñ -Ô,ð;ð Ð˜nÑ-Ô-ð=ð =ñ .Ô-ð=ð Ð˜nÑ-Ô-ð<ð <ñ .Ô-ð<ð Ð˜mÑ,Ô,ð>ð >ñ -Ô,ð>ð Ð˜iÑ(Ô(ð7ð 7ñ )Ô(ð7ð Ð˜jÑ)Ô)ð9ð 9ñ *Ô)ð9ð Ð˜lÑ+Ô+ð1ð 1ñ ,Ô+ð1ð Ð˜mÑ,Ô,ð<ð <ñ -Ô,ð<ð Ð˜iÑ(Ô(ð7ð 7ñ )Ô(ð7ð Ð˜jÑ)Ô)ð9ð 9ñ *Ô)ð9ð 9ð 9r!   r   Úufuncúnp.ufuncÚmethodÚstrÚinputsr   Úkwargsc                óš  ‡ ‡‡‡‡‡‡‡‡‡— ddl m}m} ddlmŠ ddlmŠmŠ t          ‰ ¦  «        }t          di |¤Ž}t          ‰ ‰‰g|¢R i |¤Ž}|t          ur|S t          j        j        |j        f}	|D ]k}
t          |
d¦  «        o|
j        ‰ j        k    }t          |
d¦  «        o+t          |
¦  «        j        |	vot#          |
‰ j        ¦  «         }|s|r	t          c S Œlt'          d„ |D ¦   «         ¦  «        }ˆfd„t)          ||¦  «        D ¦   «         Št+          ‰¦  «        d	k    rðt-          |¦  «        }t+          |¦  «        d	k    r*||h                     |¦  «        rt1          d
‰› d�¦  «        ‚‰ j        }‰d	d…         D ]E}t5          t)          ||j        ¦  «        ¦  «        D ] \  }\  }}|                     |¦  «        ||<   Œ!ŒFt9          t)          ‰ j        |¦  «        ¦  «        Št'          ˆˆfd„t)          ||¦  «        D ¦   «         ¦  «        }n't9          t)          ‰ j        ‰ j        ¦  «        ¦  «        Š‰ j        d	k    r;d„ |D ¦   «         }t+          t-          |¦  «        ¦  «        d	k    r|d         nd}d|iŠni Šˆˆfd„}ˆˆˆˆˆˆˆ fd„Šd|v rt?          ‰ ‰‰g|¢R i |¤Ž} ||¦  «        S ‰dk    rtA          ‰ ‰‰g|¢R i |¤Ž}|t          ur|S ‰ j        d	k    rNt+          |¦  «        d	k    s‰j!        d	k    r0t'          d„ |D ¦   «         ¦  «        } tE          ‰‰¦  «        |i |¤Ž}nŒ‰ j        d	k    r0t'          d„ |D ¦   «         ¦  «        } tE          ‰‰¦  «        |i |¤Ž}nQ‰dk    r3|s1|d         j#        }| $                    tE          ‰‰¦  «        ¦  «        }ntK          |d         ‰‰g|¢R i |¤Ž} ||¦  «        }|S )z˜
    Compatibility with numpy ufuncs.

    See also
    --------
    numpy.org/doc/stable/reference/arrays.classes.html#numpy.class.__array_ufunc__
    r   )Ú	DataFrameÚSeries)ÚNDFrame)ÚArrayManagerÚBlockManagerÚ__array_priority__Ú__array_ufunc__c              3  ó4   K  — | ]}t          |¦  «        V — Œd S r   )Útype©Ú.0Úxs     r   ú	<genexpr>zarray_ufunc.<locals>.<genexpr>,  s(   è è € Ð*Ð*˜a•$�q‘'”'Ð*Ð*Ð*Ð*Ð*Ð*r!   c                ó:   •— g | ]\  }}t          |‰¦  «        ¯|‘ŒS r„   )Ú
issubclass)r–   r—   ÚtrŽ   s      €r   ú
<listcomp>zarray_ufunc.<locals>.<listcomp>-  s,   ø€ ÐLÐLÐL‘t�q˜!µZÀÀ7Ñ5KÔ5KÐL�ÐLÐLÐLr!   é   zCannot apply ufunc z& to mixed DataFrame and Series inputs.Nc              3  ó\   •K  — | ]&\  }}t          |‰¦  «        r |j        di ‰¤Žn|V — Œ'd S )Nr„   )rš   Úreindex)r–   r—   r›   rŽ   Úreconstruct_axess      €€r   r˜   zarray_ufunc.<locals>.<genexpr>D  sb   øè è € ð 
ð 
á��1õ .8¸¸7Ñ-CÔ-CÐJˆIˆAŒIÐ)Ð)Ð(Ð)Ð)Ð)Èð
ð 
ð 
ð 
ð 
ð 
r!   c                óN   — g | ]"}t          |d ¦  «        ¯t          |d ¦  «        ‘Œ#S )Úname)ÚhasattrÚgetattrr•   s     r   rœ   zarray_ufunc.<locals>.<listcomp>L  s1   € ÐJÐJÐJ¨µw¸qÀ&Ñ7IÔ7IÐJ•˜˜FÑ#Ô#ÐJÐJÐJr!   r¢   c                óf   •— ‰j         dk    rt          ˆfd„| D ¦   «         ¦  «        S  ‰| ¦  «        S )Nr�   c              3  ó.   •K  — | ]} ‰|¦  «        V — Œd S r   r„   )r–   r—   Ú_reconstructs     €r   r˜   z3array_ufunc.<locals>.reconstruct.<locals>.<genexpr>U  s+   øè è € Ð9Ð9¨Q˜˜ a™œÐ9Ð9Ð9Ð9Ð9Ð9r!   )ÚnoutÚtuple)Úresultr§   r…   s    €€r   Úreconstructz array_ufunc.<locals>.reconstructR  sA   ø€ ØŒ:˜Š>ˆ>åÐ9Ð9Ð9Ð9°&Ð9Ñ9Ô9Ñ9Ô9Ð9àˆ|˜FÑ#Ô#Ð#r!   c                óH  •— t          j        | ¦  «        r| S | j        ‰j        k    r‰dk    rt          ‚| S t	          | ‰‰f¦  «        r‰                     | | j        ¬¦  «        } n ‰j        | fi ‰¤‰¤ddi¤Ž} t          ‰¦  «        dk    r|  	                    ‰¦  «        } | S )NÚouter)ÚaxesÚcopyFr�   )
r   Ú	is_scalarÚndimÚNotImplementedErrorÚ
isinstanceÚ_constructor_from_mgrr®   Ú_constructorÚlenÚ__finalize__)rª   r�   r�   Ú	alignabler‡   r    Úreconstruct_kwargsr   s    €€€€€€€r   r§   z!array_ufunc.<locals>._reconstructY  sÝ   ø€ ÝŒ=˜Ñ Ô ð 	ØˆMàŒ;˜$œ)Ò#Ð#Ø˜Ò Ð Ý)Ð)ØˆMÝ�f˜|¨\Ð:Ñ;Ô;ð 	à×/Ò/°¸V¼[Ð/ÑIÔIˆFˆFð '�TÔ&Øðð Ø*ðØ.@ðð ØGLðð ð ˆFõ ˆy‰>Œ>˜QÒÐØ×(Ò(¨Ñ.Ô.ˆFØˆr!   ÚoutÚreducec              3  ó>   K  — | ]}t          j        |¦  «        V — Œd S r   ©ÚnpÚasarrayr•   s     r   r˜   zarray_ufunc.<locals>.<genexpr>ˆ  s*   è è € Ð5Ð5¨•r”z !‘}”}Ð5Ð5Ð5Ð5Ð5Ð5r!   c              3  ó8   K  — | ]}t          |d ¬¦  «        V — ŒdS )T)Úextract_numpyNr	   r•   s     r   r˜   zarray_ufunc.<locals>.<genexpr>Ž  s/   è è € ÐLÐLÀ•} Q°dÐ;Ñ;Ô;ÐLÐLÐLÐLÐLÐLr!   Ú__call__r„   )&Úpandas.core.framerŒ   r�   Úpandas.core.genericrŽ   Úpandas.core.internalsr�   r�   r”   Ú_standardize_out_kwargr   r   r¾   Úndarrayr’   r£   r‘   r³   Ú_HANDLED_TYPESr©   Úzipr¶   ÚsetÚissubsetr²   r®   Ú	enumerateÚunionÚdictÚ_AXIS_ORDERSr±   Údispatch_ufunc_with_outÚdispatch_reduction_ufuncr¨   r¤   Ú_mgrÚapplyÚdefault_array_ufunc)r   r…   r‡   r‰   rŠ   rŒ   r�   Úclsrª   Úno_deferÚitemÚhigher_priorityÚhas_array_ufuncÚtypesÚ	set_typesr®   ÚobjÚiÚax1Úax2Únamesr¢   r«   Úmgrr�   r�   rŽ   r§   r¸   r    r¹   s   ```                     @@@@@@@r   Úarray_ufuncrâ   ý   sP  øøøøøøøøøø€ ðð ð ð ð ð ð ð ð ,Ð+Ð+Ð+Ð+Ð+ðð ð ð ð ð ð ð õ
 ˆt‰*Œ*€Cå#Ð-Ð- fÐ-Ð-€Fõ /¨t°U¸FÐVÀVÐVÐVÐVÈvÐVÐV€FØ•^Ð#Ð#Øˆõ 	Œ
Ô"ØÔð€Hð
 ð "ð "ˆå�DÐ.Ñ/Ô/ð BØÔ'¨$Ô*AÒAð 	õ
 �DÐ+Ñ,Ô,ð :Ý�T‘
”
Ô*°(Ð:ð:å˜t TÔ%8Ñ9Ô9Ð9ð 	ð
 ð 	"˜oð 	"Ý!Ð!Ð!Ð!ð	"õ Ð*Ð* 6Ð*Ñ*Ô*Ñ*Ô*€EØLÐLÐLÐL�s 6¨5Ñ1Ô1ÐLÑLÔL€Iå
ˆ9�~„~˜ÒÐõ
 ˜‘J”Jˆ	Ýˆy‰>Œ>˜AÒÐ 9¨fÐ"5×">Ò">¸yÑ"IÔ"IÐõ &ØS eÐSÐSÐSñô ð ð ŒyˆØ˜Q˜R˜R”=ð 	)ð 	)ˆCõ "+­3¨t°S´XÑ+>Ô+>Ñ!?Ô!?ð )ð )‘�‘:�C˜ØŸ)š) C™.œ.��Q‘�ð)õ  ¥ DÔ$5°tÑ <Ô <Ñ=Ô=ÐÝð 
ð 
ð 
ð 
ð 
å˜F EÑ*Ô*ð
ñ 
ô 
ñ 
ô 
ˆˆõ
  ¥ DÔ$5°t´yÑ AÔ AÑBÔBÐà„y�A‚~€~ØJÐJ¨VÐJÑJÔJˆÝ�s 5™zœz™?œ?¨aÒ/Ð/ˆu�QŒxˆx°TˆØ$ d˜^ÐÐàÐð$ð $ð $ð $ð $ð $ðð ð ð ð ð ð ð ð ð ð ð0 �€€å(¨¨u°fÐP¸vÐPÐPÐPÈÐPÐPˆØˆ{˜6Ñ"Ô"Ð"à�ÒÐå)¨$°°vÐQÀÐQÐQÐQÈ&ÐQÐQˆØ�Ð'Ð'ØˆMð
 „y�1‚}€}�#˜f™+œ+¨š/˜/¨U¬Z¸!ª^¨^õ Ð5Ð5¨fÐ5Ñ5Ô5Ñ5Ô5ˆð (•˜ Ñ'Ô'¨Ð:°6Ð:Ð:ˆˆØ	Œ�aŠˆåÐLÐLÀVÐLÑLÔLÑLÔLˆØ'•˜ Ñ'Ô'¨Ð:°6Ð:Ð:ˆˆð �ZÒÐ¨Ðð ˜”)”.ˆCØ—Y’Y�w u¨fÑ5Ô5Ñ6Ô6ˆFˆFõ )¨°¬°E¸6ÐUÀFÐUÐUÐUÈfÐUÐUˆFð ˆ[˜Ñ Ô €FØ€Mr!   ÚreturnrÎ   c                 ó„   — d| vr;d| v r7d| v r3|                       d¦  «        }|                       d¦  «        }||f}|| d<   | S )z²
    If kwargs contain "out1" and "out2", replace that with a tuple "out"

    np.divmod, np.modf, np.frexp can have either `out=(out1, out2)` or
    `out1=out1, out2=out2)`
    rº   Úout1Úout2)Úpop)rŠ   rå   ræ   rº   s       r   rÆ   rÆ   ¢  s\   € ð �FÐÐ˜v¨Ð/Ð/°F¸fÐ4DÐ4DØ�zŠz˜&Ñ!Ô!ˆØ�zŠz˜&Ñ!Ô!ˆØ�TˆlˆØˆˆu‰Ø€Mr!   c                ó.  — |                      d¦  «        }|                      dd¦  «        } t          ||¦  «        |i |¤Ž}|t          u rt          S t          |t          ¦  «        ret          |t          ¦  «        r t          |¦  «        t          |¦  «        k    rt          ‚t          ||¦  «        D ]\  }}	t          ||	|¦  «         Œ|S t          |t          ¦  «        r#t          |¦  «        dk    r	|d         }nt          ‚t          |||¦  «         |S )zz
    If we have an `out` keyword, then call the ufunc without `out` and then
    set the result into the given `out`.
    rº   ÚwhereNr�   r   )	rç   r¤   r   r³   r©   r¶   r²   rÉ   Ú_assign_where)
r   r…   r‡   r‰   rŠ   rº   ré   rª   ÚarrÚress
             r   rÐ   rÐ   ±  s  € ð �*Š*�UÑ
Ô
€CØ�JŠJ�w Ñ%Ô%€Eà#�W�U˜FÑ#Ô# VÐ6¨vÐ6Ð6€Fà•ÐÐÝÐå�&�%Ñ Ô ð å˜#�uÑ%Ô%ð 	&­¨S©¬µS¸±[´[Ò)@Ð)@Ý%Ð%å˜C Ñ(Ô(ð 	+ð 	+‰HˆC�Ý˜#˜s EÑ*Ô*Ð*Ð*àˆ
å�#•uÑÔð &Ýˆs‰8Œ8�qŠ=ˆ=Ø�a”&ˆCˆCå%Ð%å�#�v˜uÑ%Ô%Ð%Ø€Jr!   ÚNonec                óH   — |€	|| dd…<   dS t          j        | ||¦  «         dS )zV
    Set a ufunc result into 'out', masking with a 'where' argument if necessary.
    N)r¾   Úputmask)rº   rª   ré   s      r   rê   rê   Ô  s4   € ð €}àˆˆAˆAˆA‰ˆˆå
Œ
�3˜˜vÑ&Ô&Ð&Ð&Ð&r!   c                ó�   ‡ — t          ˆ fd„|D ¦   «         ¦  «        st          ‚ˆ fd„|D ¦   «         } t          ||¦  «        |i |¤ŽS )z�
    Fallback to the behavior we would get if we did not define __array_ufunc__.

    Notes
    -----
    We are assuming that `self` is among `inputs`.
    c              3  ó    •K  — | ]}|‰u V — Œ	d S r   r„   ©r–   r—   r   s     €r   r˜   z&default_array_ufunc.<locals>.<genexpr>ç  s'   øè è € Ð)Ð)˜Qˆq�DˆyÐ)Ð)Ð)Ð)Ð)Ð)r!   c                óD   •— g | ]}|‰ur|nt          j        |¦  «        ‘ŒS r„   r½   rò   s     €r   rœ   z'default_array_ufunc.<locals>.<listcomp>ê  s-   ø€ ÐHÐHÐH¸A�q �}�}�!�!­"¬*°Q©-¬-ÐHÐHÐHr!   )Úanyr²   r¤   )r   r…   r‡   r‰   rŠ   Ú
new_inputss   `     r   rÔ   rÔ   ß  sh   ø€ õ Ð)Ð)Ð)Ð) &Ð)Ñ)Ô)Ñ)Ô)ð "Ý!Ð!àHÐHÐHÐHÀÐHÑHÔH€Jà!�7�5˜&Ñ!Ô! :Ð8°Ð8Ð8Ð8r!   c                ób  — |dk    sJ ‚t          |¦  «        dk    s
|d         | urt          S |j        t          vrt          S t          |j                 }t	          | |¦  «        st          S | j        dk    r#t          | t          ¦  «        rd|d<   d|vrd|d<    t          | |¦  «        dddi|¤ŽS )	z@
    Dispatch ufunc reductions to self's reduction methods.
    r»   r�   r   FÚnumeric_onlyÚaxisÚskipnar„   )	r¶   r   r�   ÚREDUCTION_ALIASESr£   r±   r³   r   r¤   )r   r…   r‡   r‰   rŠ   Úmethod_names         r   rÑ   rÑ   ï  sØ   € ð �XÒÐÐÐå
ˆ6�{„{�aÒÐ˜6 !œ9¨DÐ0Ð0ÝÐà„~Õ.Ð.Ð.ÝÐå# E¤NÔ3€Kõ �4˜Ñ%Ô%ð ÝÐà„y�1‚}€}Ý�d�JÑ'Ô'ð 	+à%*ˆF�>Ñ"à˜ÐÐð ˆF�6‰Nð &�7�4˜Ñ%Ô%Ð=Ð=¨UÐ=°fÐ=Ð=Ð=r!   )r…   r†   r‡   rˆ   r‰   r   rŠ   r   )rã   rÎ   )r…   r†   r‡   rˆ   )rã   rí   )Ú__doc__Ú
__future__r   r$   Útypingr   Únumpyr¾   Úpandas._libsr   Úpandas._libs.ops_dispatchr   Úpandas.core.dtypes.genericr   Úpandas.corer   Úpandas.core.constructionr
   Úpandas.core.ops.commonr   rú   r   râ   rÆ   rÐ   rê   rÔ   rÑ   r„   r!   r   ú<module>r     sŠ  ððð ð #Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ð Ð à Ð Ð Ð à Ð Ð Ð Ð Ð Ø GÐ GÐ GÐ GÐ GÐ Gà 1Ð 1Ð 1Ð 1Ð 1Ð 1à !Ð !Ð !Ð !Ð !Ð !Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;ð ØØØð	ð Ð ðW9ð W9ð W9ð W9ð W9ñ W9ô W9ð W9ð|bð bð bð bðJð ð ð ð ð  ð  ð  ðF'ð 'ð 'ð 'ð9ð 9ð 9ð 9ð #>ð #>ð #>ð #>ð #>ð #>r!   