
    d                    6.   d Z ddlmZ ddlmZ ddlmZmZmZmZm	Z	 ddl
mZ ddlZddlZddlmZmZmZ ddlmZmZ ddlZdd	lmZ ddlZddlZdd
lmZmZ ddlmc m Z! ddl"m#Z#m$Z$ ddl%Z&ddl%m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z- ddl.m/Z0 ddl1m2Z2 ddl3m4Z4m5Z5 	 ddl6Z7[7dZ8n# e9$ r dZ8Y nw xY wdZ:e-j;        r(ddl:Z:	  e:j<        d           n# e:j=        $ r dZ:Y nw xY wd,dZ>d-dZ?d,dZ@ejA        B                    ddejC        jD        f           ejA        E                    d           dF                                D ]VZG eHe&jI        jJ        eG          ZK ejL        eK ejM        eK ejN        dd            ejO                    !                     Wd"F                                D ]gZG eHe&jI        jJ        eG          ZK ejL        eK ejM        eK ejN        d#d$           ejO                     ejN        d%d&'          (                     hd)F                                D ]gZG eHe&jI        jJ        eG          ZK ejL        eK ejM        eK ejN        d*d+           ejO                     ejN        d%d&'          ,                     hejP        d,d-            ZQ ejP        d.          d,d/            ZR ejP        g d0d1 2          d3             ZSeSZT ejP        d%d4gd5 2          d6             ZU ejP        g d78          d9             ZV ejP        g d78          d:             ZW ejP        ddg8          d;             ZX ejP        g d<8          d=             ZY ejP        g d>8          d?             ZZ ejP        g d@8          dA             Z[ ejP        g d@8          dB             Z\ ejP        ddCdDdEdFdG ej]        dH e!j^        dI          J          g8          dK             Z_ ejP        dCdDdEdFdG ej]        dH e!j^        dI          J          g8          dL             Z` ejP        ddg8          dM             Za ejP        g dN8          dO             Zb ejP        dPdQg8          dR             Zc ejP        e0jd        dS 2          dT             ZeeeZf ejP        dejg        e&jh        g8          dU             ZieiZj ejP        e0jk        dV 2          dW             ZlelZm ejP        e'e*g8          dX             Zn ejP        e4e*gdYdZg2          d[             ZoeoZp ejP        e4e*e&jq        gg d\2          d]             Zr ejP        e4e*e'e&jq        gd^ 2          d_             ZsesZtejP        d`             ZuejP        da             ZvejP        db             ZwejP        d.dd            ZxejP        d/df            Zydg Zzdh Z{i di e0j|        dj          dk e0j}        dj          dl e0j}        djdmn          do e0j~        dj          dp e0j        dj          dq e0j        dj          dr e0j        djdrs          dt e0j        djdts          du e0j        djdus          dv e0j        djdvs          dw e0j        djdws          dx e0j        djdxs          dy e0j        djdys          dz e0j        djdzs          d{ e0j        djd{s          d| e0j        djd|s          d} e0j        d~                              e           e4ej                            d~          dk                e0j        djd|s                              d           e0j        djd|s                              d           e0j        dj           e0j        dj           e4g            e5j         eg dg d                     e{             ez             e4g d           e4 ej        dj          ds           e4 ej        dj          ds           e4 ej        dj          ds           e4 ej        dj                              e          ds           e4 e&jq         e0j|        dj          ds                    dZe8r. e4 e&jq         e0j|        dj          ds                    Zeed<    ejP        e                                8          d             ZeZ ejP        d e                                D             8          d             ZeZ ejP        d e                                D             8          d             ZejP        d0d            ZejP        d0d            ZejP        d0d            Zd Zd e                                D             ZejP        d0d            ZejP        d0d            Zd e0j        D             Zi eeeZ ejP        e                                8          d             ZejP        d/d            ZejP        d/d            ZejP        d/d            ZejP        d/d            ZejP        d0d            Z ejP         e(dd$           e$dvd          f e(dd           e$d|d          f e)dd          df e)dd          df e,ddn           e#dn          f e+d          dfg8          d             Zg dZ ejP        e8          d             Z ejP        ej        e2j        ej        e2j        ej        e2j        ej        e2j        ej        e2j        ej        e2j        ej        e2j        ej        ej        ej        ej        ej        ej        ej        e2j        ej        e2j        ej        e2j        g8          d             Z ejP        ej        e2j        ej        e2j        ej        e2j        ej        e2j        ej        e2j        ej        e2j        ej        e2j        g8          d             Zg dZ ejP        eȬ8          d             ZddgZ ejP        eʬ8          d             Zeez   Z ejP        e̬8          d             Z ejP        ej        ej        ej        ej        ej        ej        g8          d             Z ejP        g d8          d             Z ejP        g d8          d             Zg dZ ejP        eѬ8          d             ZejP        d             ZejP        d1dń            ZejP        d/dƄ            Zdddddddddd e             e             edΦ           ed           edϦ          e	j         e	 ed%Ц                     e	 edѬЦ          dҬӦ          gZe:3e֠                     e:j<        dm           e:j<        d          g           dԄ eD             Z e!j         eeئ                     ejP        eeج2          dՄ                         Z e!j         eed%d                              ejP        ed%d         ed%d         2          dք                         ZeZdde e            e	j        gZe:#eޠ                     e:j<        d                      ejP        eެ8          dل             ZeZ ejP        e0j        8          dڄ             Z ejP        d ej]        d e!j^        dۦ          J          g8          d܄             Z ejP        d ej]        d e!j^        dۦ          J          g8          dބ             Z ejP        d ej]        d e!j^        dۦ          J          g8          d             ZeZ ejP        e0j        8          d             Z ejP        e0j        8          d             Z ejP        dd ej]        d e!j^        dۦ          J          g8          d             Z ejP        e0j        8          d             Z ejP        e0j        8          d             ZejP        d2d            Z ejP        e0j        8          d             Z ejP        e0j        8          d             Z ejP        e0j        8          d             Z ejP        e0j        8          d             Z ejP        e0j        8          d             Z ejP        e0j        8          d             Z ejP        e0j        8          d             Z ejP        e0j         8          d             Z ejP        e0j        8          d             Z ejP        e0j         e0j        z   8          d             Z ejP        e0j         e0j        z   e0j        z   e0j        z   8          d             Z ejP        e0j        8          d             Z	 ejP        e0j
        8          d             Z ejP        e0j        8          d             Z ejP        e0j        8          d             Z ejP        e0j        8          d             Zdidejg        dgfdide&j        dgfdde&jh        dgfddejg        dgfdejg        ejg        ejg        gfdg fd dejg        dgfddejg        dgfddejg        dgfdd%ejg        dgfdd%ejg        dgfd ed%          ejg         ed          gfddejg        dgfdde&j        dgfd ej        d	          ejg         ej        d
          gfdk e,d          ejg         e,d          gfd edd%d%          ejg         edd%d%          gfdp ed%          ejg         ed          gfd ed%          ejg         ed          gfdo e)d          e&jh         e)d          gfd e(dd%          ejg         e(dd          gfgZ ee \  ZZ ejP        ee2          d             ZejP        d             Z ejP        g d8          d             Z ejP        d e&jJ        j        D             8          d             Z ejP        dd g8          d             Z ejP                    d             Z ejP        dddejg        ejg        ejg        fejg        e&jh        dfejg        e&j        dfe&j        e&j        e&j        fg8          d3d            Z ejP        e0j        e0j         e0j!        g8          d              Z" ejP        e0j         e0j!        g8          d!             Z# ejP        e0j        e0j!        g8          d"             Z$ ejP        e0j        e0j         g8          d#             Z% ejP        e0j&        e0j         g8          d$             Z' ejP        e0j(        e0j!        g8          d%             Z)ejP        d4d'            Z*ejP        d4d(            Z+d)d*gZ,e:%e,                     e:j<        d)                      ejP        e,8          d5d+            Z-dS (6  a  
This file is very long and growing, but it was decided to not split it yet, as
it's still manageable (2020-03-17, ~1.1k LoC). See gh-31989

Instead of splitting it was decided to define sections here:
- Configuration / Settings
- Autouse fixtures
- Common arguments
- Missing values & co.
- Classes
- Indices
- Series'
- DataFrames
- Operators & Operations
- Data sets/files
- Time zones
- Dtypes
- Misc
    )annotations)abc)datedatetimetime	timedeltatimezone)DecimalN)CallableHashableIterator)tzlocaltzutc)
strategies)FixedOffsetutc)DatetimeTZDtypeIntervalDtype)	DataFrameIntervalPeriodSeries	Timedelta	Timestampcompat)ops)Index
MultiIndexTFUTCreturnNonec                &   |                      ddd           |                      ddd           |                      ddd           |                      d	dd
           |                      ddd           |                      ddd           d S )N--skip-slow
store_truezskip slow tests)actionhelp--skip-networkzskip network tests	--skip-dbzskip db testsz--run-high-memoryzrun high memory tests--only-slowzrun only slow tests--strict-data-filesz0Fail if a test is skipped for missing data file.)	addoption)parsers    K/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/conftest.pypytest_addoptionr.   h   s    
]<>OPPP
%lAUVVV
[OLLL
L7N     ]<>STTT
?          itempytest.Itempathstrmessagec                    | j                             |          r7|                     t          j                            d|                      dS dS )a  Ignore doctest warning.

    Parameters
    ----------
    item : pytest.Item
        pytest test item.
    path : str
        Module path to Python object, e.g. "pandas.core.frame.DataFrame.append". A
        warning will be filtered when item.name ends with in given path. So it is
        sufficient to specify e.g. "DataFrame.append".
    message : str
        Message to be filtered.
    zignore:N)nameendswith
add_markerpytestmarkfilterwarnings)r0   r2   r4   s      r-   ignore_doctest_warningr<   w   sZ     y$ I223FW3F3FGGHHHHHI Ir/   c                   |                     d          }|                     d          }|                     d          }|                     d          }t          j        j        d|dft          j        j        d|dft          j        j        d|dfg}d	g}| D ]E}|                     d
          s|                     dd          rK|                    t          j                            d                     |D ]\  }	}
t          ||	|
           d|j	        v r$|                    t          j        j
                   |D ]^\  }}}}||j        v rN|r7|                    t          j                            d|                       n|                    |           _|r;d|j        vr2|                    t          j                            d                     Gd S )Nr#   r)   r'   r(   slownetworkz	--networkdb)zmissing.mask_zero_div_zerozdivide by zero encounteredz--doctest-modulesz--doctest-cythonF)defaultadd_doctest_importsz/frame/zskipping due to zskipping due to --only-slow)	getoptionr9   r:   r>   r?   r@   r8   usefixturesr<   nodeidarraymanagerkeywordsskip)itemsconfig	skip_slow	only_slowskip_networkskip_dbmarksignored_doctest_warningsr0   r2   r4   r:   kwdskip_if_foundarg_names                  r-   pytest_collection_modifyitemsrT      s     //I  //I##$455L{++G 
	69m<		i{C	w4E 	E 
  M M/00 	<F4D4D 5E 5
 5
 	<
 OOFK334IJJKKK!9 < <g&tT7;;;; ##OOFK455527 	& 	&.D#}hdm## ! OOFK$4$45R5R5R$S$STTTE%%% 	Mt}44OOFK,,-JKKLLL5M Mr/   ci)deadlinesuppress_health_checkz)MonthBegin MonthEnd BMonthBegin BMonthEndic   )n	normalizez%YearBegin YearEnd BYearBegin BYearEnd         )	min_value	max_value)rY   rZ   monthz1QuarterBegin QuarterEnd BQuarterBegin BQuarterEndi   )rY   rZ   startingMonthc                .    t           | d<   t          | d<   dS )z:
    Make `np` and `pd` names available for doctests.
    nppdN)re   rf   )doctest_namespaces    r-   rB   rB      s     
 !d dr/   )autousec                 0    t          j        dd           dS )z<
    Configure settings for all tests and test modules.
    chained_assignmentraiseN)rf   
set_option r/   r-   configure_testsrn      s    
 M&00000r/   )r   r]   indexcolumnsc                &    dt          |            S Nzaxis=reprxs    r-   <lambda>rw      s    ARaARAR r/   )paramsidsc                    | j         S )z@
    Fixture for returning the axis numbers of a DataFrame.
    paramrequests    r-   axisr          
 =r/   rp   c                &    dt          |            S rr   rs   ru   s    r-   rw   rw     s    5FT!WW5F5F r/   c                    | j         S )zA
    Fixture for returning aliases of axis 1 of a DataFrame.
    r{   r}   s    r-   axis_1r     r   r/   )TFN)rx   c                    | j         S )a  
    Pass in the observed keyword to groupby for [True, False]
    This indicates whether categoricals should return values for
    values which are not in the grouper [False / None], or only values which
    appear in the grouper [True]. [None] is supported for future compatibility
    if we decide to change the default (and would need to warn if this
    parameter is not passed).
    r{   r}   s    r-   observedr          =r/   c                    | j         S )z6
    Boolean 'ordered' parameter for Categorical.
    r{   r}   s    r-   orderedr      r   r/   c                    | j         S )z%
    Boolean 'skipna' parameter.
    r{   r}   s    r-   skipnar   (  r   r/   )firstlastFc                    | j         S )z[
    Valid values for the 'keep' parameter used in
    .duplicated or .drop_duplicates
    r{   r}   s    r-   keepr   0       =r/   )bothneitherleftrightc                    | j         S )zA
    Fixture for trying all interval 'inclusive' parameters.
    r{   r}   s    r-   inclusive_endpoints_fixturer   9  r   r/   )r   r   r   r   c                    | j         S )z<
    Fixture for trying all interval closed parameters.
    r{   r}   s    r-   closedr   A  r   r/   c                    | j         S )zS
    Secondary closed fixture to allow parametrizing over all pairs of closed.
    r{   r}   s    r-   other_closedr   I  r   r/   gzipbz2zipxztarzstd	zstandard)rO   c                    | j         S )zK
    Fixture for trying common compression types in compression tests.
    r{   r}   s    r-   compressionr   Q       =r/   c                    | j         S )zk
    Fixture for trying common compression types in compression tests excluding
    uncompressed case.
    r{   r}   s    r-   compression_onlyr   c  r   r/   c                    | j         S )z,
    Fixture that an array is writable.
    r{   r}   s    r-   writabler   u  r   r/   )innerouterr   r   c                    | j         S )z:
    Fixture for trying all types of join operations.
    r{   r}   s    r-   	join_typer   }  r   r/   nlargest	nsmallestc                    | j         S )z1
    Fixture for trying all nselect methods.
    r{   r}   s    r-   nselect_methodr     r   r/   c                *    t          |           j        S Ntype__name__ru   s    r-   rw   rw     s    d1gg6F r/   c                    | j         S )z/
    Fixture for each null type in pandas.
    r{   r}   s    r-   nulls_fixturer     r   r/   c                    | j         S )zL
    Fixture for each null type in pandas, each null type exactly once.
    r{   r}   s    r-   unique_nulls_fixturer     r   r/   c                *    t          |           j        S r   r   ru   s    r-   rw   rw     s    Q8H r/   c                    | j         S )z-
    Fixture for each NaT type in numpy.
    r{   r}   s    r-   np_nat_fixturer     r   r/   c                    | j         S )z;
    Fixture to parametrize over DataFrame and Series.
    r{   r}   s    r-   frame_or_seriesr     r   r/   ro   seriesc                    | j         S )z
    Fixture to parametrize over Index and Series, made necessary by a mypy
    bug, giving an error:

    List item 0 has incompatible type "Type[Series]"; expected "Type[PandasObject]"

    See GH#29725
    r{   r}   s    r-   index_or_seriesr     r   r/   )ro   r   arrayc                    | j         S )zG
    Fixture to parametrize over Index, Series, and ExtensionArray
    r{   r}   s    r-   index_or_series_or_arrayr     r   r/   c                    | j         S r   )r   ru   s    r-   rw   rw     s    1: r/   c                    | j         S )z]
    Fixture to test behavior for Index, Series, DataFrame, and pandas Array
    classes
    r{   r}   s    r-   box_with_arrayr     r   r/   c                 ,     G d dt                     } | S )z,
    Fixture for a dictionary subclass.
    c                      e Zd ZddZdS )"dict_subclass.<locals>.TestSubDictr    r!   c                0    t          j        | g|R i | d S r   )dict__init__)selfargskwargss      r-   r   z+dict_subclass.<locals>.TestSubDict.__init__  s(    M$000000000r/   Nr    r!   )r   
__module____qualname__r   rm   r/   r-   TestSubDictr     s(        	1 	1 	1 	1 	1 	1r/   r   )r   )r   s    r-   dict_subclassr     s4    1 1 1 1 1d 1 1 1 r/   c                 6     G d dt           j                  } | S )z8
    Fixture for a non-mapping dictionary subclass.
    c                  ,    e Zd Zd
dZd ZddZddZd	S )5non_dict_mapping_subclass.<locals>.TestNonDictMappingr    r!   c                    || _         d S r   )_data)r   underlying_dicts     r-   r   z>non_dict_mapping_subclass.<locals>.TestNonDictMapping.__init__  s    (DJJJr/   c                6    | j                             |          S r   )r   __getitem__)r   keys     r-   r   zAnon_dict_mapping_subclass.<locals>.TestNonDictMapping.__getitem__  s    :))#...r/   r   c                4    | j                                         S r   )r   __iter__r   s    r-   r   z>non_dict_mapping_subclass.<locals>.TestNonDictMapping.__iter__  s    :&&(((r/   intc                4    | j                                         S r   )r   __len__r   s    r-   r   z=non_dict_mapping_subclass.<locals>.TestNonDictMapping.__len__  s    :%%'''r/   Nr   )r    r   )r    r   )r   r   r   r   r   r   r   rm   r/   r-   TestNonDictMappingr     s_        	) 	) 	) 	)	/ 	/ 	/	) 	) 	) 	)	( 	( 	( 	( 	( 	(r/   r   )r   Mapping)r   s    r-   non_dict_mapping_subclassr     s6    ( ( ( ( (S[ ( ( ( r/   c                 *   t          j        d          } |                     d d d g                                          }|j                            d |j        j        D                       |_        |j                            g dd           |S )	z
    DataFrame with 3 level MultiIndex (year, month, day) covering
    first 100 business days from 2000-01-01 with random data
    d   c                    | j         S r   )yearru   s    r-   rw   zAmultiindex_year_month_day_dataframe_random_data.<locals>.<lambda>  s     r/   c                    | j         S r   )ra   ru   s    r-   rw   zAmultiindex_year_month_day_dataframe_random_data.<locals>.<lambda>  s    17 r/   c                    | j         S r   )dayru   s    r-   rw   zAmultiindex_year_month_day_dataframe_random_data.<locals>.<lambda>  s    ae r/   c                8    g | ]}|                     d           S )i8)astype).0levs     r-   
<listcomp>zCmultiindex_year_month_day_dataframe_random_data.<locals>.<listcomp>  s$    %S%S%S3cjj&6&6%S%S%Sr/   )r   ra   r   T)inplace)tmmakeTimeDataFramegroupbysumro   
set_levelslevels	set_names)tdfymds     r-   /multiindex_year_month_day_dataframe_random_datar     s     
s
#
#C
++''):):OOL
M
M
Q
Q
S
SC	$$%S%S#)BR%S%S%STTCII000$???Jr/   r   c                 B    t          g dg dgg dg dgddg          S )z;
    2-level MultiIndex, lexsorted, with string names.
    foobarbazquxonetwothree)
r   r   r   r]   r]      r	     r
  r
  )
r   r]   r	  r   r]   r]   r	  r   r]   r	  r   second)r   codesnames)r   rm   r/   r-   %lexsorted_two_level_string_multiindexr    sM    
 ,,,.E.E.EF---/M/M/MN!   r/   r   c                    | }t          t          j                            dd          |t	          g dd                    S )z2DataFrame with 2 level MultiIndex with random data
   r
  )ABCexpr6   )ro   rp   )r   re   randomrandnr   )r  ro   s     r-    multiindex_dataframe_random_datar  %  sI    
 2E
	AeU???QV5W5W5W   r/   c                     t          g d          } t          ddg          }t          j        g d          }t          j        g d          }ddg}t          | |g||g|d	          S )
zJ
    MultiIndex used to test the general functionality of this object
    r   r  r  )r   r   r]   r	  r
  r
  )r   r]   r   r]   r   r]   r   r  F)r   r  r  verify_integrity)r   re   r   r   )
major_axis
minor_axismajor_codesminor_codesindex_namess        r-   _create_multiindexr   0  s     33344Ju~&&J(---..K(---..KH%KJ'K(	   r/   c            	     j    t          j        ddgddgt          j        ddd          gg d	
          S )zB
    MultiIndex with a level that is a tzaware DatetimeIndex.
    r]   r	  ab20130101r
  
US/Eastern)periodstzr  )r  )r   from_productrf   
date_rangerm   r/   r-   _create_mi_with_dt64tz_levelr*  D  sJ    
 "
Q#sR]:q\RRRS%%%   r/   stringr   r   zdatetime-tzz
US/Pacific)r'  periodr   rangeint8dtypeint16int32int64uint8uint16uint32uint64float32float64zbool-objectr  	complex64
complex128)r  r  r  )r]   r	  r
  )r   r   r]   r]   r	  r	  Int64UInt16Float32booleanzstring[python])
bool-dtyper:  r;  categoricalintervalemptytuplesmi-with-dt64tz-levelmultirepeatsnullable_intnullable_uintnullable_floatnullable_boolzstring-pythonzstring[pyarrow]zstring-pyarrowc                J    t           | j                                                 S )z
    Fixture for many "simple" kinds of indices.

    These indices are unlikely to cover corner cases, e.g.
        - no names
        - no NaTs/NaNs
        - no values near implementation bounds
        - ...
    )indices_dictr|   copyr}   s    r-   ro   ro   v  s     &++---r/   c                B    g | ]\  }}t          |t                    |S rm   )
isinstancer   r   r   values      r-   r   r     s;       U*UJ:W:W  r/   c                N    | j         }t          |                                         S )z8
    index fixture, but excluding MultiIndex cases.
    )r|   rM  rN  )r~   r   s     r-   
index_flatrT    s"     -C!!###r/   c                    g | ]_\  }}|                     d           sE|                     d          s0|                     d          s|dv Ht          |t                    ]|`S )r   uintfloat)r-  rC  rG  r@  )
startswithrP  r   rQ  s      r-   r   r     s     
 
 
CNN5!!	

 ~~f%%
 ~~g&&
 AAA5*-- B 	 BAAr/   c                Z   t           | j                                     d          }|j        }| j        dv rT|                                }d|d         dd         z   |d<   d|d         dd         z   |d<   t          j        |          S d|d<   d|d<    t          |          |          S )	z
    Fixture for indices with missing values.

    Integer-dtype and empty cases are excluded because they cannot hold missing
    values.

    MultiIndex is excluded because isna() is not defined for MultiIndex.
    Tdeep)rD  rE  rF  r   r   r]   N)rM  r|   rN  valuestolistr   from_tuplesr   )r~   indvalss      r-   index_with_missingrb    s    2 w}
%
*
*
*
5
5C:D}CCCzz||DGABBK'QT"Xabb\)R%d+++QRtCyyr/   r   c                 :    t          j                    } d| _        | S )zC
    Fixture for Series of floats with Index of unique strings
    r   )r   makeStringSeriesr6   ss    r-   string_seriesrg    s    
 	AAFHr/   c                 :    t          j                    } d| _        | S )zI
    Fixture for Series of dtype object with Index of unique strings
    objects)r   makeObjectSeriesr6   re  s    r-   object_seriesrk    s    
 	AAFHr/   c                 :    t          j                    } d| _        | S )z9
    Fixture for Series of floats with DatetimeIndex
    ts)r   makeTimeSeriesr6   re  s    r-   datetime_seriesro    s    
 	AAFHr/   c                    t          |           }t          j                            |          }t	          || dd          S )zHelper for the _series dictr"  F)ro   r6   rN  )lenre   r  r  r   )ro   sizedatas      r-   _create_seriesrt    s7    u::D9??4  D$e#E::::r/   c                <    i | ]\  }}d | dt          |          S )zseries-with-z-indexrt  )r   index_idro   s      r-   
<dictcomp>rx    sA       % $8###^E%:%:  r/   c                     t          |           S )zE
    Fixture for tests on series with changing types of indices.
    rv  ro   s    r-   series_with_simple_indexr{    s    
 %   r/   c                     g dg dg} t          |  }t          j        |          }t          j                            d          }t          ||          }t          j        |d<   |S )z:
    Fixture with a Series with a 2-level MultiIndex.
    )r  r  r  r  r  r  r  r  )r  r  r  r  r  r  r  r     rz  r
  )r   r   r_  re   r  r  r   NaN)arraysrD  ro   rs  sers        r-   series_with_multilevel_indexr    sn     	A@@@@@F &\F"6**E9??1D
U
#
#
#CVCFJr/   c                L    i | ]!}|j          d t          j        d|          "S )z-seriesr"  )r6   r0  )r   r   make_rand_series)r   r0  s     r-   rx  rx    sE        ~ 3E J J J  r/   c                N    t           | j                                     d          S )z|
    Fixture for tests on indexes, series and series with a narrow dtype
    copy to avoid mutation, e.g. setting .name
    TrZ  )_index_or_series_objsr|   rN  r}   s    r-   index_or_series_objr    s"     !/44$4???r/   c                 h    t          t          j                                                  d          S )a6  
    Fixture for DataFrame of ints with index of unique strings

    Columns are ['A', 'B', 'C', 'D']

                A  B  C  D
    vpBeWjM651  1  0  1  0
    5JyxmrP1En -1  0  0  0
    qEDaoD49U2 -1  1  0  0
    m66TkTfsFe  0  0  0  0
    EHPaNzEUFm -1  0 -1  0
    fpRJCevQhi  2  0  0  0
    OlQvnmfi3Q  0  0 -2  0
    ...        .. .. .. ..
    uB1FPlz4uP  0  0  0  1
    EcSe6yNzCU  0  0 -1  0
    L50VudaiI8 -1  1 -2  0
    y3bpw4nwIp  0 -1  0  0
    H0RdLLwrCT  1  1  0  0
    rY82K0vMwm  0  0  0  0
    1OPIUjnkjk  2  0  0  0

    [30 rows x 4 columns]
    r3  )r   r   getSeriesDatar   rm   r/   r-   	int_framer    s)    4 R%''((//888r/   c                 B    t          t          j                              S )a  
    Fixture for DataFrame of floats with DatetimeIndex

    Columns are ['A', 'B', 'C', 'D']

                       A         B         C         D
    2000-01-03 -1.122153  0.468535  0.122226  1.693711
    2000-01-04  0.189378  0.486100  0.007864 -1.216052
    2000-01-05  0.041401 -0.835752 -0.035279 -0.414357
    2000-01-06  0.430050  0.894352  0.090719  0.036939
    2000-01-07 -0.620982 -0.668211 -0.706153  1.466335
    2000-01-10 -0.752633  0.328434 -0.815325  0.699674
    2000-01-11 -2.236969  0.615737 -0.829076 -1.196106
    ...              ...       ...       ...       ...
    2000-02-03  1.642618 -0.579288  0.046005  1.385249
    2000-02-04 -0.544873 -1.160962 -0.284071 -1.418351
    2000-02-07 -2.656149 -0.601387  1.410148  0.444150
    2000-02-08 -1.201881 -1.289040  0.772992 -1.445300
    2000-02-09  1.377373  0.398619  1.008453 -0.928207
    2000-02-10  0.473194 -0.636677  0.984058  0.511519
    2000-02-11 -0.965556  0.408313 -1.312844 -0.381948

    [30 rows x 4 columns]
    )r   r   getTimeSeriesDatarm   r/   r-   datetime_framer  :  s    4 R)++,,,r/   c                 B    t          t          j                              S )a  
    Fixture for DataFrame of floats with index of unique strings

    Columns are ['A', 'B', 'C', 'D'].

                       A         B         C         D
    P7GACiRnxd -0.465578 -0.361863  0.886172 -0.053465
    qZKh6afn8n -0.466693 -0.373773  0.266873  1.673901
    tkp0r6Qble  0.148691 -0.059051  0.174817  1.598433
    wP70WOCtv8  0.133045 -0.581994 -0.992240  0.261651
    M2AeYQMnCz -1.207959 -0.185775  0.588206  0.563938
    QEPzyGDYDo -0.381843 -0.758281  0.502575 -0.565053
    r78Jwns6dn -0.653707  0.883127  0.682199  0.206159
    ...              ...       ...       ...       ...
    IHEGx9NO0T -0.277360  0.113021 -1.018314  0.196316
    lPMj8K27FA -1.313667 -0.604776 -1.305618 -0.863999
    qa66YMWQa5  1.110525  0.475310 -0.747865  0.032121
    yOa0ATsmcE -0.431457  0.067094  0.096567 -0.264962
    65znX3uRNG  1.528446  0.160416 -0.109635 -0.032987
    eCOBvKqf3e  0.235281  1.622222  0.781255  0.392871
    xSucinXxuV -1.263557  0.252799 -0.552247  0.400426

    [30 rows x 4 columns]
    )r   r   r  rm   r/   r-   float_framer  W  s    4 R%''(((r/   c            
         t          dddt          j        dgdz  d          t          j        dgdz  d          d	t          j        d          
          S )z
    Fixture for DataFrame of float/int/string columns with RangeIndex
    Columns are ['a', 'b', 'c', 'float32', 'int32'].
          ?r	  r  r  r8  r/  r]   r2  )r"  r#  cr8  r2  rz  )r   re   r   arangerm   r/   r-   mixed_type_framer  t  sk     x
)<<<XqcBhg666	
 	
 imm	 	 	 	r/   c                    t          ddd          t          ddd          t          ddd          t          ddd          t          ddd          t          ddd          t          ddd          t          ddd          t          ddd          t          ddd          g
} t          t          j                            t          |                     |           S )zF
    Fixture for Series with a DatetimeIndex that has duplicates.
    i  r]   r	  r
     r\   rz  )r   r   re   r  r  rq  )datess    r-   (rand_series_with_duplicate_datetimeindexr    s     	q!q!q!q!q!q!q!q!q!q!E ")//#e**--U;;;;r/   )r   r   r   g?g      ?z2012-01M)freqz	period[M]z
2012-02-01Dz	period[D]z
2011-01-01r%  i  )secondsztimedelta64[ns]c                    | j         S r   r{   r}   s    r-   ea_scalar_and_dtyper         =r/   )__add____radd____sub____rsub____mul____rmul____floordiv____rfloordiv____truediv____rtruediv____pow____rpow____mod____rmod__c                    | j         S )zD
    Fixture for dunder names for common arithmetic operations.
    r{   r}   s    r-   all_arithmetic_operatorsr    r   r/   c                    | j         S )zU
    Fixture for operator and roperator arithmetic, comparison, and logical ops.
    r{   r}   s    r-   all_binary_operatorsr        D =r/   c                    | j         S )z
    Fixture for operator and roperator arithmetic functions.

    Notes
    -----
    This includes divmod and rdivmod, whereas all_arithmetic_operators
    does not.
    r{   r}   s    r-   all_arithmetic_functionsr    s    6 =r/   )countr   maxminmeanprodstdvarmediankurtskewsemc                    | j         S )z.
    Fixture for numeric reduction names.
    r{   r}   s    r-   all_numeric_reductionsr    r   r/   allanyc                    | j         S )z.
    Fixture for boolean reduction names.
    r{   r}   s    r-   all_boolean_reductionsr  *  r   r/   c                    | j         S )z>
    Fixture for all (boolean + numeric) reduction names.
    r{   r}   s    r-   all_reductionsr  5  r   r/   c                    | j         S )z;
    Fixture for operator module comparison functions.
    r{   r}   s    r-   comparison_opr  =  r  r/   )__le____lt____ge____gt__c                    | j         S )zm
    Fixture for dunder names for compare operations except == and !=

    * >=
    * >
    * <
    * <=
    r{   r}   s    r-   compare_operators_no_eq_ner  N  r   r/   )__and____rand____or____ror____xor____rxor__c                    | j         S )zY
    Fixture for dunder names for common logical operations

    * |
    * &
    * ^
    r{   r}   s    r-   all_logical_operatorsr  [       =r/   )cumsumcumprodcummincummaxc                    | j         S )z0
    Fixture for numeric accumulation names
    r{   r}   s    r-   all_numeric_accumulationsr  l  r   r/   c                ,    |                      d          S )zO
    Returns the configuration for the test setting `--strict-data-files`.
    r*   )rC   )pytestconfigs    r-   strict_data_filesr  w  s    
 !!"7888r/   r  Callable[..., str]c                     t           j                            t           j                            t                    d           fd}|S )a=  
    Get the path to a data file.

    Parameters
    ----------
    path : str
        Path to the file, relative to ``pandas/tests/``

    Returns
    -------
    path including ``pandas/tests``.

    Raises
    ------
    ValueError
        If the path doesn't exist and the --strict-data-files option is set.
    testsc                     t          j        j        g| R  }t           j                            |          s-rt	          d| d          t          j        d| d           |S )NzCould not find file z  and --strict-data-files is set.zCould not find .)osr2   joinexists
ValueErrorr9   rH   )r   r2   	BASE_PATHr  s     r-   decozdatapath.<locals>.deco  s}    w|I----w~~d## 	3   Q4QQQ   K1$111222r/   )r  r2   r  dirname__file__)r  r  r  s   ` @r-   datapathr    sN    & RW__X66@@I      Kr/   c                B    t          j         | dddd                    S )z*
    The iris dataset as a DataFrame.
    iors  csvziris.csv)rf   read_csv)r  s    r-   irisr    s$    
 ;xxfeZ@@AAAr/   z
Asia/Tokyozdateutil/US/Pacificzdateutil/Asia/Singaporez+01:15z-02:15z	UTC+01:15z	UTC-02:15i,  i)hoursr\  r  r  c                ,    g | ]}t          |          S rm   rs   )r   is     r-   r   r     s    +++AQ+++r/   c                    | j         S )zD
    Fixture for trying timezones including default (None): {0}
    r{   r}   s    r-   tz_naive_fixturer    r   r/   c                    | j         S )z4
    Fixture for trying explicit timezones: {0}
    r{   r}   s    r-   tz_aware_fixturer    r   r/   r   zdateutil/UTCc                    | j         S )zQ
    Fixture to provide variants of UTC timezone strings and tzinfo objects.
    r{   r}   s    r-   utc_fixturer    r   r/   c                    | j         S )zR
    Parametrized fixture for string dtypes.

    * str
    * 'str'
    * 'U'
    r{   r}   s    r-   string_dtyper         =r/   pyarrowc                    | j         S )za
    Parametrized fixture for string dtypes.

    * 'string[python]'
    * 'string[pyarrow]'
    r{   r}   s    r-   nullable_string_dtyper         =r/   pythonc                    | j         S zb
    Parametrized fixture for pd.options.mode.string_storage.

    * 'python'
    * 'pyarrow'
    r{   r}   s    r-   string_storager  
  r  r/   numpy_nullablec                    | j         S r  r{   r}   s    r-   dtype_backendr
    r  r/   c                    | j         S )zK
    Parametrized fixture for bytes dtypes.

    * bytes
    * 'bytes'
    r{   r}   s    r-   bytes_dtyper  .       =r/   c                    | j         S )zN
    Parametrized fixture for object dtypes.

    * object
    * 'object'
    r{   r}   s    r-   object_dtyper  9  r  r/   objectc                    | j         S )zo
    Parametrized fixture for string dtypes.
    * 'object'
    * 'string[python]'
    * 'string[pyarrow]'
    r{   r}   s    r-   any_string_dtyper  D  r  r/   c                    | j         S )z\
    Parametrized fixture for datetime64 dtypes.

    * 'datetime64[ns]'
    * 'M8[ns]'
    r{   r}   s    r-   datetime64_dtyper  U  r  r/   c                    | j         S )z^
    Parametrized fixture for timedelta64 dtypes.

    * 'timedelta64[ns]'
    * 'm8[ns]'
    r{   r}   s    r-   timedelta64_dtyper  `  r  r/   r   c            	     .    t          ddddddd          S )z-
    Fixture emits fixed Timestamp.now()
    i  r]   r^   r        )r   ra   r   hourminuter  microsecond)r   rm   r/   r-   fixed_now_tsr  k  s*    
 1RR   r/   c                    | j         S )z^
    Parameterized fixture for float dtypes.

    * float
    * 'float32'
    * 'float64'
    r{   r}   s    r-   float_numpy_dtyper  u  r  r/   c                    | j         S )zR
    Parameterized fixture for float dtypes.

    * 'Float32'
    * 'Float64'
    r{   r}   s    r-   float_ea_dtyper!    r  r/   c                    | j         S )z~
    Parameterized fixture for float dtypes.

    * float
    * 'float32'
    * 'float64'
    * 'Float32'
    * 'Float64'
    r{   r}   s    r-   any_float_dtyper#    r  r/   c                    | j         S )zg
    Parameterized fixture for complex dtypes.

    * complex
    * 'complex64'
    * 'complex128'
    r{   r}   s    r-   complex_dtyper%    r  r/   c                    | j         S )z|
    Parameterized fixture for signed integer dtypes.

    * int
    * 'int8'
    * 'int16'
    * 'int32'
    * 'int64'
    r{   r}   s    r-   any_signed_int_numpy_dtyper'    r  r/   c                    | j         S )zx
    Parameterized fixture for unsigned integer dtypes.

    * 'uint8'
    * 'uint16'
    * 'uint32'
    * 'uint64'
    r{   r}   s    r-   any_unsigned_int_numpy_dtyper)    r   r/   c                    | j         S )z
    Parameterized fixture for any integer dtype.

    * int
    * 'int8'
    * 'uint8'
    * 'int16'
    * 'uint16'
    * 'int32'
    * 'uint32'
    * 'int64'
    * 'uint64'
    r{   r}   s    r-   any_int_numpy_dtyper+    r   r/   c                    | j         S )z
    Parameterized fixture for any nullable integer dtype.

    * 'UInt8'
    * 'Int8'
    * 'UInt16'
    * 'Int16'
    * 'UInt32'
    * 'Int32'
    * 'UInt64'
    * 'Int64'
    r{   r}   s    r-   any_int_ea_dtyper-    r  r/   c                    | j         S )a.  
    Parameterized fixture for any nullable integer dtype.

    * int
    * 'int8'
    * 'uint8'
    * 'int16'
    * 'uint16'
    * 'int32'
    * 'uint32'
    * 'int64'
    * 'uint64'
    * 'UInt8'
    * 'Int8'
    * 'UInt16'
    * 'Int16'
    * 'UInt32'
    * 'Int32'
    * 'UInt64'
    * 'Int64'
    r{   r}   s    r-   any_int_dtyper/    s    . =r/   c                    | j         S )z
    Parameterized fixture for any nullable integer dtype and
    any float ea dtypes.

    * 'UInt8'
    * 'Int8'
    * 'UInt16'
    * 'Int16'
    * 'UInt32'
    * 'Int32'
    * 'UInt64'
    * 'Int64'
    * 'Float32'
    * 'Float64'
    r{   r}   s    r-   any_numeric_ea_dtyper1    s    " =r/   c                    | j         S )a  
    Parameterized fixture for any nullable integer dtype and
    any float ea dtypes.

    * 'UInt8'
    * 'Int8'
    * 'UInt16'
    * 'Int16'
    * 'UInt32'
    * 'Int32'
    * 'UInt64'
    * 'Int64'
    * 'Float32'
    * 'Float64'
    * 'uint8[pyarrow]'
    * 'int8[pyarrow]'
    * 'uint16[pyarrow]'
    * 'int16[pyarrow]'
    * 'uint32[pyarrow]'
    * 'int32[pyarrow]'
    * 'uint64[pyarrow]'
    * 'int64[pyarrow]'
    * 'float32[pyarrow]'
    * 'float64[pyarrow]'
    r{   r}   s    r-   any_numeric_ea_and_arrow_dtyper3    s    @ =r/   c                    | j         S )z~
    Parameterized fixture for any signed nullable integer dtype.

    * 'Int8'
    * 'Int16'
    * 'Int32'
    * 'Int64'
    r{   r}   s    r-   any_signed_int_ea_dtyper5  7  r   r/   c                    | j         S )z
    Parameterized fixture for any (purely) real numeric dtype.

    * int
    * 'int8'
    * 'uint8'
    * 'int16'
    * 'uint16'
    * 'int32'
    * 'uint32'
    * 'int64'
    * 'uint64'
    * float
    * 'float32'
    * 'float64'
    r{   r}   s    r-   any_real_numpy_dtyper7  D  s    $ =r/   c                    | j         S )a  
    Parameterized fixture for any (purely) real numeric dtype.

    * int
    * 'int8'
    * 'uint8'
    * 'int16'
    * 'uint16'
    * 'int32'
    * 'uint32'
    * 'int64'
    * 'uint64'
    * float
    * 'float32'
    * 'float64'

    and associated ea dtypes.
    r{   r}   s    r-   any_real_numeric_dtyper9  Y  s    ( =r/   c                    | j         S )a  
    Parameterized fixture for all numpy dtypes.

    * bool
    * 'bool'
    * int
    * 'int8'
    * 'uint8'
    * 'int16'
    * 'uint16'
    * 'int32'
    * 'uint32'
    * 'int64'
    * 'uint64'
    * float
    * 'float32'
    * 'float64'
    * complex
    * 'complex64'
    * 'complex128'
    * str
    * 'str'
    * 'U'
    * bytes
    * 'bytes'
    * 'datetime64[ns]'
    * 'M8[ns]'
    * 'timedelta64[ns]'
    * 'm8[ns]'
    * object
    * 'object'
    r{   r}   s    r-   any_numpy_dtyper;  p  r  r/   c                    | j         S )a  
    Parameterized fixture for all numeric dtypes.

    * int
    * 'int8'
    * 'uint8'
    * 'int16'
    * 'uint16'
    * 'int32'
    * 'uint32'
    * 'int64'
    * 'uint64'
    * float
    * 'float32'
    * 'float64'
    * complex
    * 'complex64'
    * 'complex128'
    * 'UInt8'
    * 'Int8'
    * 'UInt16'
    * 'Int16'
    * 'UInt32'
    * 'Int32'
    * 'UInt64'
    * 'Int64'
    * 'Float32'
    * 'Float64'
    r{   r}   s    r-   any_numeric_dtyper=    s    > =r/   r"  r  mixedbytes   a   crC  zmixed-integerr	  g       @floatingr  integerzmixed-integer-floatdecimal
datetime64z
2013-01-01z
2018-01-01r$  20180101r   i  i  r   rB  c                T    | j         \  }}t          j        |t                    }||fS )a  
    Fixture for all inferred dtypes from _libs.lib.infer_dtype

    The covered (inferred) types are:
    * 'string'
    * 'empty'
    * 'bytes'
    * 'mixed'
    * 'mixed-integer'
    * 'mixed-integer-float'
    * 'floating'
    * 'integer'
    * 'decimal'
    * 'boolean'
    * 'datetime64'
    * 'datetime'
    * 'date'
    * 'timedelta'
    * 'time'
    * 'period'
    * 'interval'

    Returns
    -------
    inferred_dtype : str
        The string for the inferred dtype from _libs.lib.infer_dtype
    values : np.ndarray
        An array of object dtype that will be inferred to have
        `inferred_dtype`

    Examples
    --------
    >>> from pandas._libs import lib
    >>>
    >>> def test_something(any_skipna_inferred_dtype):
    ...     inferred_dtype, values = any_skipna_inferred_dtype
    ...     # will pass
    ...     assert lib.infer_dtype(values, skipna=True) == inferred_dtype
    r/  )r|   re   r   r  )r~   inferred_dtyper]  s      r-   any_skipna_inferred_dtyperI    s2    R %]NFXfF+++F 6!!r/   c                     t          j        dd           ddlm}  ddlm}  |            }d|j        _         | |          S )	zj
    Get an instance of IPython.InteractiveShell.

    Will raise a skip if IPython is not installed.
    IPythonz6.0.0)
minversionr   )InteractiveShell)Configz:memory:)rJ   )r9   importorskipIPython.core.interactiveshellrM  traitlets.configrN  HistoryManager	hist_file)rM  rN  r  s      r-   iprT  	  sj     	g6666>>>>>> ('''''A!+A1%%%%r/   )bsrcoocsccsrdiadoklilc                >    ddl m} t          || j        dz             S )z-
    Yields scipy sparse matrix classes.
    r   )sparse_matrix)scipyr]  getattrr|   )r~   r]  s     r-   spmatrixra    s-    
 67=94555r/   c                    g | ]Y}t          t          t          j        |          t          j        j                  r |d k    ?t          t          j        |          ZS )Tick)
issubclassr`  rf   offsetsrc  )r   os     r-   r   r   '  s[       gbj!,,bjo>> DE;; 	
ACN;;r/   c                    | j         S )zN
    Fixture for Tick based datetime offsets available for a time series.
    r{   r}   s    r-   tick_classesrh  &  r  r/   c                    | S r   rm   ru   s    r-   rw   rw   4  s     r/   c                    | j         S )zk
    Simple fixture for testing keys in sorting methods.
    Tests None (no key) and the identity key.
    r{   r}   s    r-   sort_by_keyrk  4  r   r/   c               #    K   t          j        d           ddlm}  ddlm} ddlm}  G d d|          } | d|d	
            |            V  |                    dd            d |j	        d<   |j
                                         d S )Nfsspecr   )register_implementation)MemoryFileSystem)	_registryc                  *     e Zd ZdZdgZd fdZ xZS ) fsspectest.<locals>.TestMemoryFStestmemNr    r!   c                v    |                     dd           | j        d<    t                      j        di | d S )Ntestr   rm   )popru  superr   )r   r   	__class__s     r-   r   z)fsspectest.<locals>.TestMemoryFS.__init__H  s?    !::fd33DIaLEGG&&v&&&&&r/   r   )r   r   r   protocolru  r   __classcell__)rx  s   @r-   TestMemoryFSrr  D  sI        v	' 	' 	' 	' 	' 	' 	' 	' 	' 	'r/   r{  rs  T)clobber)r9   rO  rm  rn  fsspec.implementations.memoryro  fsspec.registryrp  rv  ru  storeclear)rn  ro  registryr{  s       r-   
fsspectestr  =  s      
!!!......>>>>>>555555' ' ' ' '' ' ' ' I|TBBBB
,..LLD!!!Lar/   )r  NN)EgonVenkmanN)NCC1701Dr  r  #tuple[Hashable, Hashable, Hashable]c                    | j         S )zP
    A 3-tuple of names, the first two for operands, the last for a result.
    r{   r}   s    r-   r  r  S  s      =r/   c                    | j         S )zI
    Parametrize over __setitem__, loc.__setitem__, iloc.__setitem__
    r{   r}   s    r-   indexer_slir  f  r   r/   c                    | j         S )z<
    Parametrize over loc.__getitem__, iloc.__getitem__
    r{   r}   s    r-   
indexer_lir  n  r   r/   c                    | j         S )z8
    Parametrize over __setitem__, iloc.__setitem__
    r{   r}   s    r-   
indexer_sir  v  r   r/   c                    | j         S )z7
    Parametrize over __setitem__, loc.__setitem__
    r{   r}   s    r-   
indexer_slr  ~  r   r/   c                    | j         S )z:
    Parametrize over at.__setitem__, loc.__setitem__
    r{   r}   s    r-   
indexer_alr    r   r/   c                    | j         S )z<
    Parametrize over iat.__setitem__, iloc.__setitem__
    r{   r}   s    r-   indexer_ialr    r   r/   boolc                 6    t           j        j        j        dk    S )z>
    Fixture to check if the array manager is being used.
    r   )rf   optionsmodedata_managerrm   r/   r-   using_array_managerr    s    
 :?'722r/   c                 b    t           j        j        j        ot           j        j        j        dk    S )z7
    Fixture to check if Copy-on-Write is enabled.
    block)rf   r  r  copy_on_writer  rm   r/   r-   using_copy_on_writer    s"    
 :?(TRZ_-IW-TTr/   zEurope/Warsawzdateutil/Europe/Warsawc                    | j         S )zE
    tzinfo for Europe/Warsaw using pytz, dateutil, or zoneinfo.
    r{   r}   s    r-   warsawr    r   r/   r   )r0   r1   r2   r3   r4   r3   r    r!   )r    r   )r    r   )r    r   )r  r3   r    r  )r    r   )r    r  )r    r  )r    r3   (.  __doc__
__future__r   collectionsr   r   r   r   r   r	   rD  r
   operatorr  typingr   r   r   dateutil.tzr   r   
hypothesisr   stnumpyre   r9   pytzr   r   pandas.util._test_decoratorsutil_test_decoratorstdpandas.core.dtypes.dtypesr   r   pandasrf   r   r   r   r   r   r   r   pandas._testing_testingr   pandas.corer   pandas.core.indexes.apir   r   r   pahas_pyarrowImportErrorzoneinfoPY39ZoneInfoZoneInfoNotFoundErrorr.   r<   rT   settingsregister_profileHealthChecktoo_slowload_profilesplitr6   r`  tseriesre  clsregister_type_strategybuildsintegersbooleansfixturerB   rn   r   
axis_framer   r   r   r   r   r   r   r   r|   
skip_if_nor   r   r   r   r   NULL_OBJECTSr   nulls_fixture2nanNaTr   unique_nulls_fixture2NP_NAT_OBJECTSr   np_nat_fixture2r   r   index_or_series2r   r   r   box_with_array2r   r   r   r  r  r   r*  makeStringIndexmakeDateIndexmakePeriodIndexmakeTimedeltaIndexmakeRangeIndexmakeIntIndexmakeUIntIndexmakeFloatIndexmakeBoolIndexr   r  r  r  makeNumericIndexmakeCategoricalIndexmakeIntervalIndexr_  r   r  r  rM  idxkeysro   index_fixture2rI   rT  index_flat2rb  rg  rk  ro  rt  _seriesr{  r  NARROW_NP_DTYPES_narrow_seriesr  r  r  r  r  r  r  r  _all_arithmetic_operatorsr  addraddsubrsubmulrmultruedivrtruedivfloordiv	rfloordivmodrmodpowrpoweqneltlegtgeand_rand_xorrxoror_ror_r  r  _all_numeric_reductionsr  _all_boolean_reductionsr  _all_reductionsr  r  r  r  _all_numeric_accumulationsr  r  r  r  	TIMEZONESextendTIMEZONE_IDSparametrize_fixture_docr3   r  r  tz_aware_fixture2_UTCSappendr  utc_fixture2STRING_DTYPESr  r  r  r
  string_storage2BYTES_DTYPESr  OBJECT_DTYPESr  r  DATETIME64_DTYPESr  TIMEDELTA64_DTYPESr  r  FLOAT_NUMPY_DTYPESr  FLOAT_EA_DTYPESr!  ALL_FLOAT_DTYPESr#  COMPLEX_DTYPESr%  SIGNED_INT_NUMPY_DTYPESr'  UNSIGNED_INT_NUMPY_DTYPESr)  ALL_INT_NUMPY_DTYPESr+  ALL_INT_EA_DTYPESr-  ALL_INT_DTYPESr/  r1  ALL_INT_PYARROW_DTYPES_STR_REPRFLOAT_PYARROW_DTYPES_STR_REPRr3  SIGNED_INT_EA_DTYPESr5  ALL_REAL_NUMPY_DTYPESr7  ALL_REAL_DTYPESr9  ALL_NUMPY_DTYPESr;  ALL_NUMERIC_DTYPESr=  NArE  _any_skipna_inferred_dtypery   _rI  rT  ra  __all__rh  rk  r  r  setitemlocilocr  r  r  r  atr  iatr  r  r  warsawsr  rm   r/   r-   <module>r-     s#   & # " " " " "                           				                     ' ' ' ' ' '            
 * ) ) ) ) ) ) ) )       
                                        
 	KK	    KKK 	; 
OOO
%    )      I I I I$-M -M -M -Mb   $ $ %1:< %          & & & 8==??  D
'"*$d
+
+CBYRYskbk#r22kbkmmLLL    499;; 
 
D
'"*$d
+
+CB	bk"a  !bkmm"+R888		
 	
 	
    @EEGG 
 
D
'"*$d
+
+CB	bk#r""!bkmm%"+R@@@		
 	
 	
    ! ! ! ! 1 1 1 1 1117R7RSSS  TS 
 9~+F+FGGG  HG ***+++	 	 ,+	 ***+++  ,+ e}%%%  &% ///000  10 ;;;<<<  =< ;;;<<<  =< ;;;<<<  =< V=2=#=#=>>>
 
 
 
 
 V=2=#=#=>>>	 	 	 	 	 e}%%%  &% :::;;;  <; 
K0111  21 r,F,FGGG  HG  bfbf-...  /. -  r(.H.HIII  JI ! 	6*+++  ,+ vWh,?@@@	 	 A@	 #  vrx06R6R6RSSS  TS vy"(;AUAUVVV  WV ! 	 	 	   0 
 
 
          (  ! b %%!  %%! #2#CL999!  b %%	!
 &&s++! Rs##! OBOCv...! _R_S000! _R_S000! _R_S000! Rc111! bs(333! bs(333! bs(333!  r I666!   r I666!!" #2#B''..v66#!$ %	++a/00$$S	:::AA+NN%"%c;;;BB<PP*2*3//$$S))U2YY$j$SS)>)>)>			%J%JKK88::!!u'''((E)")C..888U929S>>:::eIBIcNN)<<<U929S>>0066iHHHU828$6B$6s$;$;CSTTTUUA! ! !D  )
%++C008IJJJ
K
KC%(L!" |((**+++. . ,+.   *0022    
$ $ 
$  
 
&,,..
 
 
    :            ; ; ; '--//   ! ! ! !      $   F<E7EnE  ,1133444@ @ 54@ 9 9 9 98 - - - -8 ) ) ) )8    " < < < <. 	q	"	"	"MM'7$C$CD	s#	&	&	&i(I(IJ			$	$	$k2	3	'	'	'5Il|444O|,,,	
 
3			!23
       $ 0111  21 	5  < = <   $	 	% $	     .///  0/ !%.  .///  0/ *,CC '''  (' 	 	 	 	 	 ???@@@	 	 A@	 NNN     GFF  1222  32 9 9 9    B B B B B 			EGGGIIKKNNKLHYYQ  HYYR   u---%	( 'h'557Hx7H7O7OPQQQ+++++ CC--..yl333  43 /. CCQRR 01122y},qrr*:;;;  <; 32 %  
UUWWhl;	LL""5))*** u    r'(((  )( &mbmI.F.FGGG     YmbmI&>&>???     YmbmI&>&>???     ! r'''  (' r'(((  )( &mbmI.F.FGGG     r+,,,  -, r,---  .-     r,---  .- r)***  +* r*+++
 
 ,+
 r()))  *) r1222
 
 32
 r3444	 	 54	 r.///  0/" r+,,,  -,  r()))  *)2 r+b.@@AAA  BA* () 	&'    : r.///	 	 0/	 r/000  10( r)***  +*, r*+++! ! ,+!H r,---  .-F RVS!"RUC !sBFC !tRVT"#rvrvrv&'bMsBFA&'sBFC !#rvs#$BFAQ,-RVWWQZZ01rvu%&rue$%MBM,//|9T9TUV))J'':1F1FGHdd4AT1a(8(89:
 99Q<<167dd1ggrvttAww'(tbfffTll34((1a.."&((1a..9:3 6 
(	)Q 1s;;;," ," <;,"d & & &$ HHHIII6 6 JI6  #       kk*+++  ,+   * !,	 			ru	      
BFBG4555  65 ()))  *) 
BG,---  .- 
BF+,,,  -, rv'''  (' ()))  *) 3 3 3 3 U U U U 4
5NN$8$_55666 w      s$   B B%$B%6C CC