Ë
    ¤ehÆ“  ã                  ó  — d dl mZ d dlmZ d dlZd dlmZmZ d dlZ	d dl
mZmZ d dlmZmZmZmZmZmZmZmZmZ d dlmZ d dlmZmZ d d	lmZmZmZm Z m!Z! d d
l"m#Z$ d dl%m&Z& d dl'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z. d dl/m0Z0 d dl1m2Z2 d dl3m4Z4m5Z5 d dl6m7Z7 d dl8m9Z: d dl;m<Z< d dl=m>c m?Z@ d dlAmBZB erd dlCmDZD d dlEmFZFmGZGmHZHmIZImJZJmKZK d dlLmMZM d dlNZNdd„ZO G d„ de:j                   «      ZQ	 	 	 d	 	 	 	 	 d d„ZRd!d"d„ZSd#d$d„ZTd%d„ZUy)&é    )Úannotations)Ú	timedeltaN)ÚTYPE_CHECKINGÚcast)ÚlibÚtslibs)	ÚNaTÚNaTTypeÚTickÚ	TimedeltaÚastype_overflowsafeÚget_supported_dtypeÚiNaTÚis_supported_dtypeÚperiods_per_second)Úcast_from_unit_vectorized)Úget_timedelta_daysÚget_timedelta_field)Úarray_to_timedelta64Úfloordiv_object_arrayÚints_to_pytimedeltaÚparse_timedelta_unitÚtruediv_object_array)Úfunction)Úvalidate_endpoints)ÚTD64NS_DTYPEÚis_float_dtypeÚis_integer_dtypeÚis_object_dtypeÚ	is_scalarÚis_string_dtypeÚpandas_dtype)ÚExtensionDtype)Úisna)ÚnanopsÚ	roperator)Údatetimelike_accumulations)Údatetimelike)Úgenerate_regular_range)Úunpack_zerodim_and_defer)ÚIterator)ÚAxisIntÚDateTimeErrorChoicesÚDtypeObjÚNpDtypeÚSelfÚnpt©Ú	DataFramec                óJ   ‡— dˆfd„}| |_         d|› d�|_        t        |«      S )Nc                óÊ   •— | j                   }‰dk(  rt        || j                  ¬«      }nt        |‰| j                  ¬«      }| j                  r| j                  |d d¬«      }|S )NÚdays©ÚresoÚfloat64)Ú
fill_valueÚconvert)Úasi8r   Ú_cresor   Ú_hasnaÚ_maybe_mask_results)ÚselfÚvaluesÚresultÚaliass      €ú[/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/core/arrays/timedeltas.pyÚfz_field_accessor.<locals>.fR   sa   ø€ Ø—‘ˆØ�FŠ?Ü'¨°T·[±[ÔA‰Fô
 )¨°¸T¿[¹[ÔIˆFØ�;Š;Ø×-Ñ-Ø 4°ð .ó ˆFð ˆó    ú
)Úreturnz
np.ndarray)Ú__name__Ú__doc__Úproperty)ÚnamerC   Ú	docstringrE   s    `  rD   Ú_field_accessorrN   Q   s+   ø€ õð  €A„JØ�Y�K˜rÐ"€A„IÜ�A‹;ÐrF   c                  ó¬  ‡ — e Zd ZU dZdZ ej                  dd«      Zeej                  e	fZ
d„ ZdZedUd„«       ZdZg Zd	ed
<   g Zd	ed<   dgZd	ed<   g d¢Zd	ed<   eez   ez   dgz   Zd	ed<   g d¢Zd	ed<   dVd„ZedWd„«       ZdZeZed„ «       Zedef	 	 	 	 	 	 	 dXˆ fd„«       ZedddœdYd„«       Zedde jB                  ddœ	 	 	 dYd„«       Z"e	 dZddœ	 	 	 d[d„«       Z#d\d „Z$d]d!„Z%d^d"„Z&d_d`d$„Z'dad%„Z(dddddd#d&d'œ	 	 	 	 	 	 	 	 	 dbd(„Z)dddd)dd#d*œ	 	 	 	 	 	 	 	 	 dcd+„Z*d#d,œddˆ fd-„Z+dedfd.„Z,ddd/œ	 	 	 dgd0„Z-d1„ Z. e/d2«      dhd3„«       Z0e0Z1d4„ Z2d5„ Z3did6„Z4 e/d7«      d8„ «       Z5 e/d9«      d:„ «       Z6 e/d;«      d<„ «       Z7 e/d=«      d>„ «       Z8 e/d?«      d@„ «       Z9 e/dA«      dB„ «       Z: e/dC«      dD„ «       Z; e/dE«      dF„ «       Z<djdG„Z=djdH„Z>djdI„Z?dkdJ„Z@dldK„ZA eBj†                  dL«      ZD eEdMdMeD«      ZF eBj†                  dN«      ZG eEdOdOeG«      ZH eBj†                  dP«      ZI eEdQdQeI«      ZJ eBj†                  dR«      ZK eEdSdSeK«      ZLedmdT„«       ZMˆ xZNS )nÚTimedeltaArrayal  
    Pandas ExtensionArray for timedelta data.

    .. warning::

       TimedeltaArray is currently experimental, and its API may change
       without warning. In particular, :attr:`TimedeltaArray.dtype` is
       expected to change to be an instance of an ``ExtensionDtype``
       subclass.

    Parameters
    ----------
    values : array-like
        The timedelta data.

    dtype : numpy.dtype
        Currently, only ``numpy.dtype("timedelta64[ns]")`` is accepted.
    freq : Offset, optional
    copy : bool, default False
        Whether to copy the underlying array of data.

    Attributes
    ----------
    None

    Methods
    -------
    None

    Examples
    --------
    >>> pd.arrays.TimedeltaArray._from_sequence(pd.TimedeltaIndex(['1h', '2h']))
    <TimedeltaArray>
    ['0 days 01:00:00', '0 days 02:00:00']
    Length: 2, dtype: timedelta64[ns]
    Útimedeltaarrayr	   Únsc                ó.   — t        j                  | d«      S ©NÚm)r   Úis_np_dtype©Úxs    rD   ú<lambda>zTimedeltaArray.<lambda>�   s   € ¤S§_¡_°Q¸Ó%<€ rF   )r   Útimedelta64c                ó   — t         S ©N©r   ©r@   s    rD   Ú_scalar_typezTimedeltaArray._scalar_type“   s   € äÐrF   iè  z	list[str]Ú
_other_opsÚ	_bool_opsÚfreqÚ_object_ops)r6   ÚsecondsÚmicrosecondsÚnanosecondsÚ
_field_opsÚunitÚ_datetimelike_ops)Úto_pytimedeltaÚtotal_secondsÚroundÚfloorÚceilÚas_unitÚ_datetimelike_methodsc                ó˜   — |j                  d«      }|t        j                  k(  rt        S t        j                  || j
                  ¬«      S )NÚi8r7   )Úviewr	   Ú_valuer   Ú_from_value_and_resor=   )r@   rX   Úys      rD   Ú	_box_funczTimedeltaArray._box_funcª   s6   € Ø�F‰F�4‹LˆØ”—
‘
Š?ÜˆJÜ×-Ñ-¨a°d·k±kÔBÐBrF   c                ó.   — | j                   j                  S )a3  
        The dtype for the TimedeltaArray.

        .. warning::

           A future version of pandas will change dtype to be an instance
           of a :class:`pandas.api.extensions.ExtensionDtype` subclass,
           not a ``numpy.dtype``.

        Returns
        -------
        numpy.dtype
        )Ú_ndarrayÚdtyper^   s    rD   rz   zTimedeltaArray.dtype°   s   € ð" �}‰}×"Ñ"Ð"rF   Nc                óz   — t        |«      }t        |j                  «       ||j                  k7  rt        d«      ‚|S )Nz'Values resolution does not match dtype.)Ú_validate_td64_dtyperz   Ú
ValueError)ÚclsrA   rz   s      rD   Ú_validate_dtypezTimedeltaArray._validate_dtypeÉ   s7   € ô % UÓ+ˆÜ˜VŸ\™\Ô*Ø�F—L‘LÒ ÜÐFÓGÐGØˆrF   c                ó4  •— t        j                  |d«      sJ ‚t        j                  |«      rJ ‚t	        |t
        j                  «      sJ t        |«      «       ‚||j                  k(  sJ ‚|�t	        |t        «      sJ ‚t        ‰| �-  ||¬«      }||_        |S )NrU   )rA   rz   )r   rV   r   Úis_unitlessÚ
isinstanceÚnpÚndarrayÚtyperz   r   ÚsuperÚ_simple_newÚ_freq)r~   rA   rb   rz   rB   Ú	__class__s        €rD   r‡   zTimedeltaArray._simple_newÓ   s�   ø€ ô �‰˜u cÔ*Ð*Ð*Ü×%Ñ% eÔ,Ð,Ð,Ü˜&¤"§*¡*Ô-Ð;¬t°F«|Ó;Ð-Ø˜Ÿ™Ò$Ð$Ð$Øˆ|œz¨$´Ô5Ð5Ð5ä‘Ñ$¨F¸%Ð$Ó@ˆØˆŒØˆrF   F©rz   Úcopyc               óš   — |rt        |«      }t        ||d ¬«      \  }}|�t        ||d¬«      }| j                  ||j                  |¬«      S )N©r‹   rh   FrŠ   ©rz   rb   )r|   Úsequence_to_td64nsr   r‡   rz   )r~   Údatarz   r‹   rb   s        rD   Ú_from_sequencezTimedeltaArray._from_sequenceå   sN   € áÜ(¨Ó/ˆEä'¨°4¸dÔC‰
ˆˆdàÐÜ& t°5¸uÔEˆDà�‰˜t¨4¯:©:¸DˆÓAÐArF   )rz   r‹   rb   rh   c               óÎ   — |rt        |«      }|dvsJ ‚t        |||¬«      \  }}|�t        ||d¬«      }| j                  ||j                  |¬«      }|j                  |i «       |S )zo
        _from_sequence_not_strict but without responsibility for finding the
        result's `freq`.
        ©ÚYrv   ÚMr�   FrŠ   rŽ   )r|   r�   r   r‡   rz   Ú_maybe_pin_freq)r~   r�   rz   r‹   rb   rh   Úinferred_freqrB   s           rD   Ú_from_sequence_not_strictz(TimedeltaArray._from_sequence_not_strictñ   ss   € ñ Ü(¨Ó/ˆEà˜?Ñ*Ð*Ð*ä0°¸DÀtÔLÑˆˆmàÐÜ& t°5¸uÔEˆDà—‘ ¨T¯Z©Z¸m�ÓLˆà×Ñ˜t RÔ(ØˆrF   ©rh   c               óæ  — t        j                  |«      }|€ t        d„ |||fD «       «      rt        d«      ‚t	        j
                  ||||«      dk7  rt        d«      ‚|�t        |«      j                  d«      }|�t        |«      j                  d«      }|�|dvrt        d«      ‚d}|�|�|j                  |d¬	«      }|�|�|j                  |d¬	«      }t        |«      \  }}|�t        |||||¬
«      }	n:t        j                  |j                  |j                  |«      j                  d«      }	|s|	dd  }	|s|	d d }	|	j                  d|› d�«      }
| j                  |
|
j                   |¬«      S )Nc              3  ó$   K  — | ]  }|d u –— Œ
 y ­wr\   © )Ú.0rX   s     rD   ú	<genexpr>z1TimedeltaArray._generate_range.<locals>.<genexpr>  s   è ø€ ÒI¨a  T¤	ÑIùs   ‚z1Must provide freq argument if no data is suppliedé   zVOf the four parameters: start, end, periods, and freq, exactly three must be specifiedrR   )ÚsÚmsÚusrR   z+'unit' must be one of 's', 'ms', 'us', 'ns'F)Úround_okr™   rr   é   éÿÿÿÿzm8[ú]rŽ   )ÚdtlÚvalidate_periodsÚanyr}   ÚcomÚcount_not_noner   ro   r   r)   rƒ   Úlinspacert   Úastypers   r‡   rz   )r~   ÚstartÚendÚperiodsrb   Úclosedrh   Úleft_closedÚright_closedÚindexÚ
td64valuess              rD   Ú_generate_rangezTimedeltaArray._generate_range  sŒ  € ô ×&Ñ& wÓ/ˆØˆ<œCÑI°G¸UÀCÐ3HÔIÔIÜÐPÓQÐQä×Ñ˜e S¨'°4Ó8¸AÒ=Üð<óð ð
 ÐÜ˜eÓ$×,Ñ,¨TÓ2ˆEàˆ?Ü˜C“.×(Ñ(¨Ó.ˆCàÐØÐ2Ñ2Ü Ð!NÓOÐOàˆDàÐ Ð!1Ø—M‘M $°�MÓ7ˆEØˆ?˜tÐ/Ø—+‘+˜d¨U�+Ó3ˆCä$6°vÓ$>Ñ!ˆ�\àÐÜ*¨5°#°wÀÈ4ÔP‰Eä—K‘K §¡¨c¯j©j¸'ÓB×IÑIÈ$ÓOˆEáØ˜!˜"�IˆEÙØ˜#˜2�JˆEà—Z‘Z # d V¨1 Ó.ˆ
Ø�‰˜z°×1AÑ1AÈˆÓMÐMrF   c                ó$  — t        || j                  «      s|t        urt        d«      ‚| j	                  |«       |t        u r*t        j                  |j                  | j                  «      S |j                  | j                  «      j                  S )Nz'value' should be a Timedelta.)r‚   r_   r	   r}   Ú_check_compatible_withrƒ   rZ   rt   rh   ro   Úasm8©r@   Úvalues     rD   Ú_unbox_scalarzTimedeltaArray._unbox_scalar?  sl   € Ü˜% ×!2Ñ!2Ô3¸ÄSÑ8HÜÐ=Ó>Ð>Ø×#Ñ# EÔ*Ø”C‰<Ü—>‘> %§,¡,°·	±	Ó:Ð:à—=‘= §¡Ó+×0Ñ0Ð0rF   c                ó   — t        |«      S r\   r]   rº   s     rD   Ú_scalar_from_stringz"TimedeltaArray._scalar_from_stringH  s   € Ü˜ÓÐrF   c                 ó   — y r\   rœ   ©r@   Úothers     rD   r¸   z%TimedeltaArray._check_compatible_withK  s   € àrF   Tc                ó®  — t        |«      }t        j                  |d«      r“|| j                  k(  r|r| j	                  «       S | S t        |«      rIt        | j                  |d¬«      }t        | «      j                  ||j                  | j                  ¬«      S t        d| j                  › d|› d�«      ‚t        j                  j                  | ||¬«      S )NrU   F©r‹   rŽ   zCannot convert from z to z1. Supported resolutions are 's', 'ms', 'us', 'ns')r"   r   rV   rz   r‹   r   r   ry   r…   r‡   rb   r}   r§   ÚDatetimeLikeArrayMixinr­   )r@   rz   r‹   Ú
res_valuess       rD   r­   zTimedeltaArray.astypeR  sÐ   € ô
 ˜UÓ#ˆä�?‰?˜5 #Ô&Ø˜Ÿ
™
Ò"ÙØŸ9™9›;Ð&Ø�ä! %Ô(ä0°·±ÀÈEÔR�
Ü˜D“z×-Ñ-Ø j×&6Ñ&6¸T¿Y¹Yð .ó ð ô !Ø*¨4¯:©:¨,°d¸5¸'ð BFð Fóð ô
 ×)Ñ)×0Ñ0°°uÀ4Ð0ÓHÐHrF   c              #  ó4  K  — | j                   dkD  r!t        t        | «      «      D ]	  }| |   –— Œ y | j                  }t        | «      }d}||z  dz   }t        |«      D ]3  }||z  }t	        |dz   |z  |«      }t        ||| d¬«      }|E d {  –—†  Œ5 y 7 Œ­w)Nr¤   i'  T©Úbox)ÚndimÚrangeÚlenry   Úminr   )	r@   Úir�   ÚlengthÚ	chunksizeÚchunksÚstart_iÚend_iÚ	converteds	            rD   Ú__iter__zTimedeltaArray.__iter__m  s¬   è ø€ Ø�9‰9�qŠ=Üœ3˜t›9Ó%ò �Ø˜1‘g“ñð —=‘=ˆDÜ˜“YˆFØˆIØ 	Ñ)¨QÑ.ˆFÜ˜6“]ò %�Ø˜i™-�Ü˜Q ™U iÑ/°Ó8�Ü/°°W¸UÐ0CÈÔN�	Ø$×$Ñ$ñ	%ð %ús   ‚BBÂBÂBr   )Úaxisrz   ÚoutÚkeepdimsÚinitialÚskipnaÚ	min_countc               ó¢   — t        j                  d||||dœ«       t        j                  | j                  |||¬«      }| j                  ||«      S )Nrœ   )rz   rÖ   r×   rØ   )rÕ   rÙ   rÚ   )ÚnvÚvalidate_sumr%   Únansumry   Ú_wrap_reduction_result)	r@   rÕ   rz   rÖ   r×   rØ   rÙ   rÚ   rB   s	            rD   ÚsumzTimedeltaArray.sum€  sP   € ô 	�‰Ø˜%¨¸ÈgÑVô	
ô —‘Ø�M‰M ¨V¸yô
ˆð ×*Ñ*¨4°Ó8Ð8rF   r¤   )rÕ   rz   rÖ   Úddofr×   rÙ   c               óæ   — t        j                  d|||dœd¬«       t        j                  | j                  |||¬«      }|�| j
                  dk(  r| j                  |«      S | j                  |«      S )Nrœ   )rz   rÖ   r×   Ústd)Úfname)rÕ   rÙ   rá   r¤   )rÜ   Úvalidate_stat_ddof_funcr%   Únanstdry   rÉ   rw   Ú_from_backing_data)r@   rÕ   rz   rÖ   rá   r×   rÙ   rB   s           rD   rã   zTimedeltaArray.std”  si   € ô 	×"Ñ"Ø˜%¨¸ÑBÈ%õ	
ô —‘˜tŸ}™}°4ÀÈTÔRˆØˆ<˜4Ÿ9™9¨š>Ø—>‘> &Ó)Ð)Ø×&Ñ& vÓ.Ð.rF   )rÙ   c               ó  •— |dk(  rZt        t        |«      } || j                  j                  «       fd|i|¤Ž}t	        | «      j                  |d | j                  ¬«      S |dk(  rt        d«      ‚t        ‰| �$  |fd|i|¤ŽS )NÚcumsumrÙ   )rb   rz   Úcumprodz$cumprod not supported for Timedelta.)
Úgetattrr'   ry   r‹   r…   r‡   rz   Ú	TypeErrorr†   Ú_accumulate)r@   rL   rÙ   ÚkwargsÚoprB   r‰   s         €rD   rí   zTimedeltaArray._accumulateª  s‰   ø€ Ø�8ÒÜÔ3°TÓ:ˆBÙ˜Ÿ™×*Ñ*Ó,ÑF°VÐF¸vÑFˆFä˜“:×)Ñ)¨&°tÀ4Ç:Á:Ð)ÓNÐNØ�YÒÜÐBÓCÐCô ‘7Ñ& tÑE°FÐE¸fÑEÐErF   c                ó"   — ddl m}  || d¬«      S )Nr   ©Úget_format_timedelta64TrÇ   )Úpandas.io.formats.formatrò   )r@   Úboxedrò   s      rD   Ú
_formatterzTimedeltaArray._formatter¹  s   € ÝCá% d°Ô5Ð5rF   )Úna_repÚdate_formatc               ón   — ddl m}  || |«      } t        j                  |dd«      | j                  «      S )Nr   rñ   r¤   )ró   rò   rƒ   Ú
frompyfuncry   )r@   rö   r÷   rî   rò   Ú	formatters         rD   Ú_format_native_typesz#TimedeltaArray._format_native_types¾  s6   € õ 	Dñ +¨4°Ó8ˆ	ð .Œr�}‰}˜Y¨¨1Ó-¨d¯m©mÓ<Ð<rF   c                ó”   — t        |t        «      rJ ‚t        dt        |«      j                  › dt        | «      j                  › �«      ‚)Nzcannot add the type z to a )r‚   r   rì   r…   rI   rÀ   s     rD   Ú_add_offsetzTimedeltaArray._add_offsetÌ  sE   € Ü˜e¤TÔ*Ð*Ð*ÜØ"¤4¨£;×#7Ñ#7Ð"8¸¼tÀD»z×?RÑ?RÐ>SÐTó
ð 	
rF   Ú__mul__c                ó$  — t        |«      r©| j                  |z  }|j                  j                  dk7  r!t	        dt        |«      j                  › �«      ‚d }| j                  �+t        |«      s | j                  |z  }|j                  dk(  rd }t        | «      j                  ||j                  |¬«      S t        |d«      st        j                  |«      }t        |«      t        | «      k7  r+t        j                   |j                  d«      st#        d«      ‚t%        |j                  «      rq| j                  }t'        t        | «      «      D �cg c]  }||   ||   z  ‘Œ }}t        j                  |«      }t        | «      j                  ||j                  ¬«      S | j                  |z  }|j                  j                  dk7  r!t	        dt        |«      j                  › �«      ‚t        | «      j                  ||j                  ¬«      S c c}w )NrU   zCannot multiply with r   rŽ   rz   z$Cannot multiply with unequal lengths©rz   )r    ry   rz   Úkindrì   r…   rI   rb   r$   Únr‡   Úhasattrrƒ   ÚarrayrË   r   rV   r}   r   rÊ   )r@   rÁ   rB   rb   Úarrr  s         rD   rþ   zTimedeltaArray.__mul__Ò  sµ  € ä�UÔà—]‘] UÑ*ˆFØ�|‰|× Ñ  CÒ'ô  Ð"7¼¸U»×8LÑ8LÐ7MÐ NÓOÐOØˆDØ�y‰yÐ$¬T°%¬[Ø—y‘y 5Ñ(�Ø—6‘6˜Q’;à�DÜ˜“:×)Ñ)¨&¸¿¹È4Ð)ÓPÐPä�u˜gÔ&ä—H‘H˜U“OˆEÜˆu‹:œ˜T›Ò"¬3¯?©?¸5¿;¹;ÈÔ+Lô ÐCÓDÐDä˜5Ÿ;™;Ô'ð —-‘-ˆCÜ16´s¸4³yÓ1AÖB¨A�c˜!‘f˜u Q™xÓ'ÐBˆFÐBÜ—X‘X˜fÓ%ˆFÜ˜“:×)Ñ)¨&¸¿¹Ð)ÓEÐEð —‘ Ñ&ˆØ�<‰<×Ñ Ò#ô Ð3´D¸³K×4HÑ4HÐ3IÐJÓKÐKÜ�D‹z×%Ñ% f°F·L±LÐ%ÓAÐAùò Cs   ÅHc                óâ  — t        || j                  «      r€t        |«      }t        d|«      t        u rPt        j                  | j                  t
        j                  ¬«      }|j                  t
        j                  «       |S  || j                  |«      S |t        j                  t        j                  fv r7t        dt!        |«      j"                  › dt!        | «      j"                  › �«      ‚ || j                  |«      }d}| j$                  �9| j$                  |z  }|j&                  dk(  r| j$                  j&                  dk7  rd}t!        | «      j)                  ||j*                  |¬«      S )zv
        Shared logic for __truediv__, __rtruediv__, __floordiv__, __rfloordiv__
        with scalar 'other'.
        úTimedelta | NaTTyper   zCannot divide z by Nr   rŽ   )r‚   Ú_recognized_scalarsr   r   r	   rƒ   ÚemptyÚshaper9   ÚfillÚnanry   r&   ÚrtruedivÚ	rfloordivrì   r…   rI   rb   Únanosr‡   rz   )r@   rÁ   rï   ÚresrB   rb   s         rD   Ú_scalar_divlike_opz!TimedeltaArray._scalar_divlike_opþ  s0  € ô
 �e˜T×5Ñ5Ô6Ü˜eÓ$ˆEô Ð)¨5Ó1´SÑ8ä—h‘h˜tŸz™z´·±Ô<�Ø—‘œŸ™Ô Ø�
ñ �d—m‘m UÓ+Ð+ð ”i×(Ñ(¬)×*=Ñ*=Ð>Ñ>ÜØ$¤T¨%£[×%9Ñ%9Ð$:¸$¼tÀD»z×?RÑ?RÐ>SÐTóð ñ ˜Ÿ™ uÓ-ˆFØˆDà�y‰yÐ$ð —y‘y 5Ñ(�Ø—:‘: ’? t§y¡y§¡¸!Ò';ð  �Dä˜“:×)Ñ)¨&¸¿¹È4Ð)ÓPÐPrF   c                óŒ   — t        |d«      st        j                  |«      }t        |«      t        | «      k7  rt	        d«      ‚|S )Nrz   z*Cannot divide vectors with unequal lengths)r  rƒ   r  rË   r}   rÀ   s     rD   Ú_cast_divlike_opzTimedeltaArray._cast_divlike_op'  s:   € Ü�u˜gÔ&ä—H‘H˜U“OˆEäˆu‹:œ˜T›Ò"ÜÐIÓJÐJØˆrF   c                óZ  —  || j                   t        j                  |«      «      }t        |j                  «      st        |j                  «      rH|t        j                  t        j                  fv r&t        | «      j                  ||j                  ¬«      S |t        j                  t        j                  fv rp| j                  «       t        |«      z  }|j                  «       rD|j                  t        j                   «      }t        j"                  ||t        j$                  «       |S )z‡
        Shared logic for __truediv__, __floordiv__, and their reversed versions
        with timedelta64-dtype ndarray other.
        r   )ry   rƒ   Úasarrayr   rz   r   ÚoperatorÚtruedivÚfloordivr…   r‡   r&   r  r$   r©   r­   r9   Úputmaskr  )r@   rÁ   rï   rB   Úmasks        rD   Ú_vector_divlike_opz!TimedeltaArray._vector_divlike_op0  sÕ   € ñ �D—M‘M¤2§:¡:¨eÓ#4Ó5ˆä˜UŸ[™[Ô)¬^¸E¿K¹KÔ-HÈbÜ×ÑÜ×ÑðU
ñ O
ô ˜“:×)Ñ)¨&¸¿¹Ð)ÓEÐEà”(×#Ñ#¤Y×%8Ñ%8Ð9Ñ9Ø—9‘9“;¤ e£Ñ,ˆDØ�x‰xŒzØŸ™¤r§z¡zÓ2�Ü—
‘
˜6 4¬¯©Ô0àˆrF   Ú__truediv__c                ó¬  — t         j                  }t        |«      r| j                  ||«      S | j	                  |«      }t        j                  |j                  d«      s*t        |j                  «      st        |j                  «      r| j                  ||«      S t        |j                  «      r•t        j                  |«      }| j                  dkD  rYt        | |«      D ��cg c]
  \  }}||z  ‘Œ }}}|D �cg c]  }|j!                  dd«      ‘Œ }}t        j"                  |d¬«      }|S t%        | j&                  |«      }|S t(        S c c}}w c c}w ©NrU   r¤   r¥   r   )rÕ   )r  r  r    r  r  r   rV   rz   r   r   r  r   rƒ   r  rÉ   ÚzipÚreshapeÚconcatenater   ry   ÚNotImplemented©	r@   rÁ   rï   ÚleftÚrightÚres_colsrX   Ú	res_cols2rB   s	            rD   r  zTimedeltaArray.__truediv__F  s  € ô ×ÑˆÜ�UÔØ×*Ñ*¨5°"Ó5Ð5à×%Ñ% eÓ,ˆä�O‰O˜EŸK™K¨Ô-Ü §¡Ô,Ü˜eŸk™kÔ*à×*Ñ*¨5°"Ó5Ð5ä˜5Ÿ;™;Ô'Ü—J‘J˜uÓ%ˆEØ�y‰y˜1Š}Ü<?ÀÀeÓ<L×M©[¨T°5˜D 5›LÐM�ÑMØ7?Ö@°!˜QŸY™Y q¨"Õ-Ð@�	Ð@ÜŸ™¨	¸Ô:�ð ˆMô .¨d¯m©m¸UÓC�àˆMô "Ð!ùó NùÚ@s   Ã#EÃ9EÚ__rtruediv__c                ó   — t         j                  }t        |«      r| j                  ||«      S | j	                  |«      }t        j                  |j                  d«      r| j                  ||«      S t        |j                  «      r?t        t        | «      «      D �cg c]  }||   | |   z  ‘Œ }}t        j                  |«      S t        S c c}w rT   )r&   r  r    r  r  r   rV   rz   r  r   rÊ   rË   rƒ   r  r"  )r@   rÁ   rï   r  Úresult_lists        rD   r(  zTimedeltaArray.__rtruediv__c  s³   € ô ×ÑˆÜ�UÔØ×*Ñ*¨5°"Ó5Ð5à×%Ñ% eÓ,ˆÜ�?‰?˜5Ÿ;™;¨Ô,Ø×*Ñ*¨5°"Ó5Ð5ä˜UŸ[™[Ô)ô 8=¼SÀ»YÓ7GÖH°!˜5 ™8 d¨1¡gÓ-ÐHˆKÐHÜ—8‘8˜KÓ(Ð(ô "Ð!ùò	 Is   ÂCÚ__floordiv__c                óÔ  — t         j                  }t        |«      r| j                  ||«      S | j	                  |«      }t        j                  |j                  d«      s*t        |j                  «      st        |j                  «      r| j                  ||«      S t        |j                  «      r©t        j                  |«      }| j                  dkD  rXt        | |«      D ��cg c]
  \  }}||z  ‘Œ }}}|D �cg c]  }|j!                  dd«      ‘Œ }}t        j"                  |d¬«      }nt%        | j&                  |«      }|j                  t(        k(  sJ ‚|S t*        S c c}}w c c}w r  )r  r  r    r  r  r   rV   rz   r   r   r  r   rƒ   r  rÉ   r  r   r!  r   ry   Úobjectr"  r#  s	            rD   r+  zTimedeltaArray.__floordiv__x  s"  € ä×ÑˆÜ�UÔØ×*Ñ*¨5°"Ó5Ð5à×%Ñ% eÓ,ˆä�O‰O˜EŸK™K¨Ô-Ü §¡Ô,Ü˜eŸk™kÔ*à×*Ñ*¨5°"Ó5Ð5ä˜UŸ[™[Ô)Ü—J‘J˜uÓ%ˆEØ�y‰y˜1Š}Ü=@ÀÀuÓ=M×N©k¨d°E˜D E›MÐN�ÑNØ7?Ö@°!˜QŸY™Y q¨"Õ-Ð@�	Ð@ÜŸ™¨	¸Ô:‘ä.¨t¯}©}¸eÓD�à—<‘<¤6Ò)Ð)Ð)ØˆMô "Ð!ùó OùÚ@s   Ã#EÃ9E%Ú__rfloordiv__c                ó¤  — t         j                  }t        |«      r| j                  ||«      S | j	                  |«      }t        j                  |j                  d«      r| j                  ||«      S t        |j                  «      rAt        t        | «      «      D �cg c]  }||   | |   z  ‘Œ }}t        j                  |«      }|S t        S c c}w rT   )r&   r  r    r  r  r   rV   rz   r  r   rÊ   rË   rƒ   r  r"  )r@   rÁ   rï   r  r*  rB   s         rD   r.  zTimedeltaArray.__rfloordiv__•  s³   € ä× Ñ ˆÜ�UÔØ×*Ñ*¨5°"Ó5Ð5à×%Ñ% eÓ,ˆÜ�?‰?˜5Ÿ;™;¨Ô,Ø×*Ñ*¨5°"Ó5Ð5ä˜UŸ[™[Ô)Ü8=¼cÀ$»iÓ8HÖI°1˜5 ™8 t¨A¡wÓ.ÐIˆKÐIÜ—X‘X˜kÓ*ˆFØˆMô "Ð!ùò Js   ÂCÚ__mod__c                óZ   — t        || j                  «      rt        |«      }| | |z  |z  z
  S r\   ©r‚   r  r   rÀ   s     rD   r0  zTimedeltaArray.__mod__§  s2   € ô �e˜T×5Ñ5Ô6Ü˜eÓ$ˆEØ�t˜u‘}¨Ñ-Ñ-Ð-rF   Ú__rmod__c                óZ   — t        || j                  «      rt        |«      }||| z  | z  z
  S r\   r2  rÀ   s     rD   r3  zTimedeltaArray.__rmod__®  s2   € ô �e˜T×5Ñ5Ô6Ü˜eÓ$ˆEØ˜ ™¨Ñ-Ñ-Ð-rF   Ú
__divmod__c                óf   — t        || j                  «      rt        |«      }| |z  }| ||z  z
  }||fS r\   r2  ©r@   rÁ   Úres1Úres2s       rD   r5  zTimedeltaArray.__divmod__µ  s?   € ô �e˜T×5Ñ5Ô6Ü˜eÓ$ˆEà�u‰}ˆØ�d˜U‘lÑ"ˆØ�TˆzÐrF   Ú__rdivmod__c                óf   — t        || j                  «      rt        |«      }|| z  }||| z  z
  }||fS r\   r2  r7  s       rD   r:  zTimedeltaArray.__rdivmod__¿  s?   € ô �e˜T×5Ñ5Ô6Ü˜eÓ$ˆEà˜‰}ˆØ�t˜d‘{Ñ"ˆØ�TˆzÐrF   c                óœ   — d }| j                   �| j                    }t        | «      j                  | j                   | j                  |¬«      S ©NrŽ   )rb   r…   r‡   ry   rz   )r@   rb   s     rD   Ú__neg__zTimedeltaArray.__neg__É  sB   € ØˆØ�9‰9Ð Ø—I‘I�:ˆDÜ�D‹z×%Ñ% t§}¡} n¸D¿J¹JÈTÐ%ÓRÐRrF   c                ó”   — t        | «      j                  | j                  j                  «       | j                  | j
                  ¬«      S r=  )r…   r‡   ry   r‹   rz   rb   r^   s    rD   Ú__pos__zTimedeltaArray.__pos__Ï  s:   € Ü�D‹z×%Ñ%Ø�M‰M×ÑÓ ¨¯
©
¸¿¹ð &ó 
ð 	
rF   c                óˆ   — t        | «      j                  t        j                  | j                  «      | j
                  ¬«      S )Nr   )r…   r‡   rƒ   Úabsry   rz   r^   s    rD   Ú__abs__zTimedeltaArray.__abs__Ô  s-   € ä�D‹z×%Ñ%¤b§f¡f¨T¯]©]Ó&;À4Ç:Á:Ð%ÓNÐNrF   c                ól   — t        | j                  «      }| j                  | j                  |z  d¬«      S )a{  
        Return total duration of each element expressed in seconds.

        This method is available directly on TimedeltaArray, TimedeltaIndex
        and on Series containing timedelta values under the ``.dt`` namespace.

        Returns
        -------
        ndarray, Index or Series
            When the calling object is a TimedeltaArray, the return type
            is ndarray.  When the calling object is a TimedeltaIndex,
            the return type is an Index with a float64 dtype. When the calling object
            is a Series, the return type is Series of type `float64` whose
            index is the same as the original.

        See Also
        --------
        datetime.timedelta.total_seconds : Standard library version
            of this method.
        TimedeltaIndex.components : Return a DataFrame with components of
            each Timedelta.

        Examples
        --------
        **Series**

        >>> s = pd.Series(pd.to_timedelta(np.arange(5), unit='d'))
        >>> s
        0   0 days
        1   1 days
        2   2 days
        3   3 days
        4   4 days
        dtype: timedelta64[ns]

        >>> s.dt.total_seconds()
        0         0.0
        1     86400.0
        2    172800.0
        3    259200.0
        4    345600.0
        dtype: float64

        **TimedeltaIndex**

        >>> idx = pd.to_timedelta(np.arange(5), unit='d')
        >>> idx
        TimedeltaIndex(['0 days', '1 days', '2 days', '3 days', '4 days'],
                       dtype='timedelta64[ns]', freq=None)

        >>> idx.total_seconds()
        Index([0.0, 86400.0, 172800.0, 259200.0, 345600.0], dtype='float64')
        N)r:   )r   r=   r?   r<   )r@   Úppss     rD   rk   zTimedeltaArray.total_secondsÛ  s1   € ôl ! §¡Ó-ˆØ×'Ñ'¨¯	©	°C©ÀDÐ'ÓIÐIrF   c                ó,   — t        | j                  «      S )a  
        Return an ndarray of datetime.timedelta objects.

        Returns
        -------
        numpy.ndarray

        Examples
        --------
        >>> tdelta_idx = pd.to_timedelta([1, 2, 3], unit='D')
        >>> tdelta_idx
        TimedeltaIndex(['1 days', '2 days', '3 days'],
                        dtype='timedelta64[ns]', freq=None)
        >>> tdelta_idx.to_pytimedelta()
        array([datetime.timedelta(days=1), datetime.timedelta(days=2),
               datetime.timedelta(days=3)], dtype=object)
        )r   ry   r^   s    rD   rj   zTimedeltaArray.to_pytimedelta  s   € ô$ # 4§=¡=Ó1Ð1rF   aC  Number of days for each element.

    Examples
    --------
    For Series:

    >>> ser = pd.Series(pd.to_timedelta([1, 2, 3], unit='d'))
    >>> ser
    0   1 days
    1   2 days
    2   3 days
    dtype: timedelta64[ns]
    >>> ser.dt.days
    0    1
    1    2
    2    3
    dtype: int64

    For TimedeltaIndex:

    >>> tdelta_idx = pd.to_timedelta(["0 days", "10 days", "20 days"])
    >>> tdelta_idx
    TimedeltaIndex(['0 days', '10 days', '20 days'],
                    dtype='timedelta64[ns]', freq=None)
    >>> tdelta_idx.days
    Index([0, 10, 20], dtype='int64')r6   a‹  Number of seconds (>= 0 and less than 1 day) for each element.

    Examples
    --------
    For Series:

    >>> ser = pd.Series(pd.to_timedelta([1, 2, 3], unit='s'))
    >>> ser
    0   0 days 00:00:01
    1   0 days 00:00:02
    2   0 days 00:00:03
    dtype: timedelta64[ns]
    >>> ser.dt.seconds
    0    1
    1    2
    2    3
    dtype: int32

    For TimedeltaIndex:

    >>> tdelta_idx = pd.to_timedelta([1, 2, 3], unit='s')
    >>> tdelta_idx
    TimedeltaIndex(['0 days 00:00:01', '0 days 00:00:02', '0 days 00:00:03'],
                   dtype='timedelta64[ns]', freq=None)
    >>> tdelta_idx.seconds
    Index([1, 2, 3], dtype='int32')rd   aÝ  Number of microseconds (>= 0 and less than 1 second) for each element.

    Examples
    --------
    For Series:

    >>> ser = pd.Series(pd.to_timedelta([1, 2, 3], unit='us'))
    >>> ser
    0   0 days 00:00:00.000001
    1   0 days 00:00:00.000002
    2   0 days 00:00:00.000003
    dtype: timedelta64[ns]
    >>> ser.dt.microseconds
    0    1
    1    2
    2    3
    dtype: int32

    For TimedeltaIndex:

    >>> tdelta_idx = pd.to_timedelta([1, 2, 3], unit='us')
    >>> tdelta_idx
    TimedeltaIndex(['0 days 00:00:00.000001', '0 days 00:00:00.000002',
                    '0 days 00:00:00.000003'],
                   dtype='timedelta64[ns]', freq=None)
    >>> tdelta_idx.microseconds
    Index([1, 2, 3], dtype='int32')re   añ  Number of nanoseconds (>= 0 and less than 1 microsecond) for each element.

    Examples
    --------
    For Series:

    >>> ser = pd.Series(pd.to_timedelta([1, 2, 3], unit='ns'))
    >>> ser
    0   0 days 00:00:00.000000001
    1   0 days 00:00:00.000000002
    2   0 days 00:00:00.000000003
    dtype: timedelta64[ns]
    >>> ser.dt.nanoseconds
    0    1
    1    2
    2    3
    dtype: int32

    For TimedeltaIndex:

    >>> tdelta_idx = pd.to_timedelta([1, 2, 3], unit='ns')
    >>> tdelta_idx
    TimedeltaIndex(['0 days 00:00:00.000000001', '0 days 00:00:00.000000002',
                    '0 days 00:00:00.000000003'],
                   dtype='timedelta64[ns]', freq=None)
    >>> tdelta_idx.nanoseconds
    Index([1, 2, 3], dtype='int32')rf   c                ó¶   ‡— ddl m} g d¢Š| j                  }|rˆfd„}nd„ } || D �cg c]
  } ||«      ‘Œ c}‰¬«      }|s|j                  d«      }|S c c}w )aØ  
        Return a DataFrame of the individual resolution components of the Timedeltas.

        The components (days, hours, minutes seconds, milliseconds, microseconds,
        nanoseconds) are returned as columns in a DataFrame.

        Returns
        -------
        DataFrame

        Examples
        --------
        >>> tdelta_idx = pd.to_timedelta(['1 day 3 min 2 us 42 ns'])
        >>> tdelta_idx
        TimedeltaIndex(['1 days 00:03:00.000002042'],
                       dtype='timedelta64[ns]', freq=None)
        >>> tdelta_idx.components
           days  hours  minutes  seconds  milliseconds  microseconds  nanoseconds
        0     1      0        3        0             0             2           42
        r   r2   )r6   ÚhoursÚminutesrd   Úmillisecondsre   rf   c                ól   •— t        | «      rt        j                  gt        ‰«      z  S | j                  S r\   )r$   rƒ   r  rË   Ú
components)rX   Úcolumnss    €rD   rE   z$TimedeltaArray.components.<locals>.fÒ  s)   ø€ Ü˜”7ÜŸF™F˜8¤c¨'£lÑ2Ð2Ø—|‘|Ð#rF   c                ó   — | j                   S r\   )rL  rW   s    rD   rE   z$TimedeltaArray.components.<locals>.fÙ  s   € Ø—|‘|Ð#rF   )rM  Úint64)Úpandasr3   r>   r­   )r@   r3   ÚhasnansrE   rX   rB   rM  s         @rD   rL  zTimedeltaArray.components®  s_   ø€ õ, 	%ò
ˆð —+‘+ˆÙõ$ò$ñ ¨$Ö/ Q™A˜a�DÒ/¸ÔAˆÙØ—]‘] 7Ó+ˆFØˆùò 0s   ©A)rH   ztype[Timedelta])rX   únp.timedelta64rH   r  )rH   únp.dtype[np.timedelta64])rA   znpt.NDArray[np.timedelta64]rb   zTick | Nonerz   rS  rH   r0   )r‹   ÚboolrH   r0   r\   )rh   z
str | NonerH   r0   )rH   rR  )rH   r  )rH   ÚNone)T)r‹   rT  )rH   r+   )
rÕ   úAxisInt | Nonerz   úNpDtype | Noner×   rT  rÙ   rT  rÚ   Úint)
rÕ   rV  rz   rW  rá   rX  r×   rT  rÙ   rT  )rL   ÚstrrÙ   rT  )F)rô   rT  )rö   zstr | floatrH   únpt.NDArray[np.object_])rH   r0   )rH   znp.ndarray | Self)rH   rP   )rH   znpt.NDArray[np.float64])rH   rZ  )rH   r3   )OrI   Ú
__module__Ú__qualname__rJ   Ú_typrƒ   rZ   Ú_internal_fill_valuer   r   r  Ú_is_recognized_dtypeÚ_infer_matchesrK   r_   Ú__array_priority__r`   Ú__annotations__ra   rc   rg   ri   rp   rw   rz   rˆ   r   Ú_default_dtypeÚclassmethodr   r‡   r‘   r   Ú
no_defaultr˜   r¶   r¼   r¾   r¸   r­   rÔ   rà   rã   rí   rõ   rû   rý   r*   rþ   Ú__rmul__r  r  r  r  r(  r+  r.  r0  r3  r5  r:  r>  r@  rC  rk   rj   ÚtextwrapÚdedentÚdays_docstringrN   r6   Úseconds_docstringrd   Úmicroseconds_docstringre   Únanoseconds_docstringrf   rL  Ú__classcell__)r‰   s   @rD   rP   rP   g   so  ø… ñ#ðJ €DØ)˜2Ÿ>™>¨%°Ó6ÐØ$ b§n¡n°dÐ;ÐÙ<ÐØ1€Nàòó ðð Ðà€J�	ÓØ€IˆyÓØ$˜X€K�Ó%ÚN€J�	ÓNØ#-°Ñ#;¸iÑ#GÈ6È(Ñ#RÐ�yÓRò(Ð˜9ó óCð ò#ó ð#ð& €EØ!€Nàñó ðð ð !Ø*6ð	à+ðð ðð (ð	ð
 
ôó ðð" Ø+/¸eô 	Bó ð	Bð ð
 ØØ�^‰^Øñð
 ðð 
òó ðð8 à/3ð+NØKOñ+NØ>Hð+Nà	ò+Nó ð+Nó`1ó óôIó6%ð,  $Ø $ØØØØØñ9ð ð9ð ð	9ð ð9ð ð9ð ó9ð.  $Ø $ØØØØñ/ð ð/ð ð	/ð ð/ð ð/ð ó/ð, 8<÷ 
Fô6ð (-¸$ñ	=Ø$ð	=à	 ó	=ò
ñ ˜iÓ(ò'Bó )ð'BðR €Hò'QòRóñ, ˜mÓ,ñ"ó -ð"ñ8 ˜nÓ-ñ"ó .ð"ñ( ˜nÓ-ñ"ó .ð"ñ8 ˜oÓ.ñ"ó /ð"ñ" ˜iÓ(ñ.ó )ð.ñ ˜jÓ)ñ.ó *ð.ñ ˜lÓ+ñó ,ðñ ˜mÓ,ñó -ðóSó
ó
Oó7Jór2ð( %�X—_‘_ð	)ó€Nñ8 ˜6 6¨>Ó:€Dà'˜Ÿ™ð	'óÐñ8 ØØØó€Gð -˜XŸ_™_ð	'óÐñ: #ØØØó€Lð ,˜HŸO™Oð	'óÐñ: "ØØØó€Kð ò0ó ô0rF   rP   c                ó"  — |dvsJ ‚d}|�t        |«      }t        j                  | |d¬«      \  } }t        | t        «      r| j
                  }| j                  t        k(  st        | j                  «      rt        | ||¬«      } d}�n+t        | j                  «      rt        | |¬«      \  } }|xr | }nþt        | j                  «      rut        | j                  t        «      r| j                  }| j                  } nt!        j"                  | «      }t%        | |xs d«      } t&        | |<   | j)                  d	«      } d}ntt+        j,                  | j                  d
«      r;t/        | j                  «      s?t1        | j                  «      }t3        | |d¬«      } d}nt5        d| j                  › d�«      ‚|st!        j6                  | «      } nt!        j8                  | |¬«      } | j                  j:                  d
k(  sJ ‚| j                  dk7  sJ ‚| |fS )aÖ  
    Parameters
    ----------
    data : list-like
    copy : bool, default False
    unit : str, optional
        The timedelta unit to treat integers as multiples of. For numeric
        data this defaults to ``'ns'``.
        Must be un-specified if the data contains a str and ``errors=="raise"``.
    errors : {"raise", "coerce", "ignore"}, default "raise"
        How to handle elements that cannot be converted to timedelta64[ns].
        See ``pandas.to_timedelta`` for details.

    Returns
    -------
    converted : numpy.ndarray
        The sequence converted to a numpy array with dtype ``timedelta64[ns]``.
    inferred_freq : Tick or None
        The inferred frequency of the sequence.

    Raises
    ------
    ValueError : Data cannot be converted to timedelta64[ns].

    Notes
    -----
    Unlike `pandas.to_timedelta`, if setting ``errors=ignore`` will not cause
    errors to be ignored; they are caught and subsequently ignored at a
    higher level.
    r“   NrP   )Úcls_name©rh   ÚerrorsFr™   rR   zm8[ns]rU   rŠ   zdtype z' cannot be converted to timedelta64[ns]rÃ   Úm8)r   r§   Ú!ensure_arraylike_for_datetimeliker‚   rP   rb   rz   r-  r!   Ú_objects_to_td64nsr   Ú_ints_to_td64nsr   r#   Ú_maskÚ_datarƒ   Úisnanr   r   rs   r   rV   r   r   r   rì   r  r  r  )r�   r‹   rh   rq  r—   Ú	copy_mader  Ú	new_dtypes           rD   r�   r�   æ  sÂ  € ðH �Ñ&Ð&Ð&à€MØÐÜ# DÓ)ˆä×6Ñ6ØˆdÐ-ô�J€Dˆ$ô �$œÔ'ØŸ	™	ˆð ‡z�z”VÒœ¨t¯z©zÔ:ä! $¨T¸&ÔAˆØŠä	˜$Ÿ*™*Ô	%ä)¨$°TÔ:‰ˆˆiØÒ%˜I˜‰ä	˜Ÿ
™
Ô	#ô �d—j‘j¤.Ô1Ø—:‘:ˆDØ—:‘:‰Dä—8‘8˜D“>ˆDä(¨¨tª|°tÓ<ˆÜˆˆT‰
Ø�y‰y˜Ó"ˆØ‰ä	�‰˜Ÿ™ SÔ	)Ü! $§*¡*Ô-ä+¨D¯J©JÓ7ˆIÜ& t°9À5ÔIˆDØ‰Dô ˜& §¡ Ð,SÐTÓUÐUáÜ�z‰z˜$Ó‰ä�x‰x˜ 4Ô(ˆà�:‰:�?‰?˜cÒ!Ð!Ð!Ø�:‰:˜ÒÐÐà�ÐÐrF   c                ó  — d}|�|nd}| j                   t        j                  k7  r!| j                  t        j                  «      } d}|dk7  r.d|› d�}| j	                  |«      } t        | t        ¬«      } d}| |fS | j	                  d«      } | |fS )a­  
    Convert an ndarray with integer-dtype to timedelta64[ns] dtype, treating
    the integers as multiples of the given timedelta unit.

    Parameters
    ----------
    data : numpy.ndarray with integer-dtype
    unit : str, default "ns"
        The timedelta unit to treat integers as multiples of.

    Returns
    -------
    numpy.ndarray : timedelta64[ns] array converted from data
    bool : whether a copy was made
    FrR   Tztimedelta64[r¦   r   útimedelta64[ns])rz   rƒ   rO  r­   rs   r   r   )r�   rh   ry  Ú	dtype_strs       rD   ru  ru  F  s›   € ð  €IØÐ#‰4¨€Dà‡z�z”R—X‘XÒð �{‰{œ2Ÿ8™8Ó$ˆØˆ	àˆt‚|Ø" 4 &¨Ð*ˆ	Ø�y‰y˜Ó#ˆä" 4¬|Ô<ˆð ˆ	ð
 �ˆ?Ðð �y‰yÐ*Ó+ˆà�ˆ?ÐrF   c                óŠ   — t        j                  | t         j                  ¬«      }t        |||¬«      }|j	                  d«      S )aR  
    Convert a object-dtyped or string-dtyped array into an
    timedelta64[ns]-dtyped array.

    Parameters
    ----------
    data : ndarray or Index
    unit : str, default "ns"
        The timedelta unit to treat integers as multiples of.
        Must not be specified if the data contains a str.
    errors : {"raise", "coerce", "ignore"}, default "raise"
        How to handle elements that cannot be converted to timedelta64[ns].
        See ``pandas.to_timedelta`` for details.

    Returns
    -------
    numpy.ndarray : timedelta64[ns] array converted from data

    Raises
    ------
    ValueError : Data cannot be converted to timedelta64[ns].

    Notes
    -----
    Unlike `pandas.to_timedelta`, if setting `errors=ignore` will not cause
    errors to be ignored; they are caught and subsequently ignored at a
    higher level.
    r   rp  r|  )rƒ   r  Úobject_r   rs   )r�   rh   rq  rA   rB   s        rD   rt  rt  n  s6   € ô< �Z‰Z˜¤B§J¡JÔ/€Fä! &¨t¸FÔC€FØ�;‰;Ð(Ó)Ð)rF   c                óÜ   — t        | «      } | t        j                  d«      k(  rd}t        |«      ‚t	        j
                  | d«      st        d| › d�«      ‚t        | «      st        d«      ‚| S )Nrr  zhPassing in 'timedelta' dtype with no precision is not allowed. Please pass in 'timedelta64[ns]' instead.rU   zdtype 'z,' is invalid, should be np.timedelta64 dtypez;Supported timedelta64 resolutions are 's', 'ms', 'us', 'ns')r"   rƒ   rz   r}   r   rV   r   )rz   Úmsgs     rD   r|   r|   ’  sn   € Ü˜Ó€EØ”—‘˜“Òð8ð 	ô ˜‹oÐä�?‰?˜5 #Ô&Ü˜7 5 'Ð)UÐVÓWÐWÜ Ô&ÜÐVÓWÐWà€LrF   )rL   rY  rC   rY  rM   rY  )FNÚraise)r‹   rT  rq  r-   rH   ztuple[np.ndarray, Tick | None])rR   )rh   rY  )Nr‚  )rq  r-   )rH   r.   )VÚ
__future__r   Údatetimer   r  Útypingr   r   Únumpyrƒ   Úpandas._libsr   r   Úpandas._libs.tslibsr	   r
   r   r   r   r   r   r   r   Úpandas._libs.tslibs.conversionr   Úpandas._libs.tslibs.fieldsr   r   Úpandas._libs.tslibs.timedeltasr   r   r   r   r   Úpandas.compat.numpyr   rÜ   Úpandas.util._validatorsr   Úpandas.core.dtypes.commonr   r   r   r   r    r!   r"   Úpandas.core.dtypes.dtypesr#   Úpandas.core.dtypes.missingr$   Úpandas.corer%   r&   Úpandas.core.array_algosr'   Úpandas.core.arraysr(   r§   Úpandas.core.arrays._rangesr)   Úpandas.core.commonÚcoreÚcommonrª   Úpandas.core.ops.commonr*   Úcollections.abcr+   Úpandas._typingr,   r-   r.   r/   r0   r1   rP  r3   rg  rN   ÚTimelikeOpsrP   r�   ru  rt  r|   rœ   rF   rD   ú<module>rœ     së   ðÝ "å Û ÷ó
 ÷÷
÷ 
õ 
õ E÷÷õ õ /Ý 6÷÷ ñ õ 5Ý +÷õ ?Ý 2Ý =ß  Ð  Ý ;áÝ(÷÷ õ !ã óô,x�S—_‘_ô xðB Ø	Ø#*ð	]à
ð]ð !ð	]ð
 $ó]ô@%ôP!*ôHrF   