
    "gu                        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mZmZ g dZ eej                        Ze ed      k  Ze ed      k  Ze ed      k  Ze ed	      k  Ze ed
      k  Z	 d dlmZ 	 d dlmZ ej:                  ej<                  fZ	 d dl m!Z! e!jH                  Z$e!jJ                  Z%e!jL                  Z&dejN                  de(fdZ)dejN                  de(fdZ*	 d dl+m,Z- dej<                  dej`                  fdZ1d Z2d Z3dee4   fdZ5erdndZ6erdndZ7erdndZ8eri Z9yd d!iZ9y# e$ r	 d dlmZ Y w xY w# e$ r	 d dlmZ Y w xY w# e$ r d dl"m#c m!Z! Y w xY w# e$ r d dl.Z.d"dZ/d Z-Y w xY w)#    )OptionalN)Versionparse)AppenderSubstitutioncache_readonlydeprecate_kwarg)assert_frame_equalassert_index_equalassert_series_equaldata_klassesfrequenciesis_numeric_dtypetestingr   r	   r   r   is_int_indexis_float_indexmake_dataframeto_numpyPD_LT_1_0_0get_cached_funcget_cached_doccall_cached_func	PD_LT_1_4PD_LT_2	MONTH_ENDQUARTER_ENDYEAR_ENDFUTURE_STACKz2.1.99z2.0.99z0.99.0z1.3.99z1.9.99)r   )offsets)r   indexreturnc                     t        | t        j                        xrT t        | j                  t        j                        xr. t	        j
                  | j                  t        j                        S )z
    Check if an index is integral

    Parameters
    ----------
    index : pd.Index
        Any numeric index

    Returns
    -------
    bool
        True if is an index with a standard integral type
    )
isinstancepdIndexdtypenp
issubdtypeintegerr    s    V/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/statsmodels/compat/pandas.pyr   r   G   sI     	5"((# 	3u{{BHH-	3MM%++rzz2    c                     t        | t        j                        xrT t        | j                  t        j                        xr. t	        j
                  | j                  t        j                        S )z
    Check if an index is floating

    Parameters
    ----------
    index : pd.Index
        Any numeric index

    Returns
    -------
    bool
        True if an index with a standard numpy floating dtype
    )r#   r$   r%   r&   r'   r(   floatingr*   s    r+   r   r   \   sI     	5"((# 	4u{{BHH-	4MM%++r{{3r,   )makeDataFramec                    t        j                  t        t        j                  t        j
                  z         t         j                  df      }t         j                  j                  || t        j                  |      z        j                  t         j                  | f      j                  |      }||S |j                  |      S )z4
        Generate an array of byte strings.
           )r&   )size)r'   arrayliststringascii_lettersdigitsstr_randomchoiceprodviewreshapeastype)ncharsr2   r&   rands_charsretvals        r+   rands_arrayrB   v   s     hh%%56rwwl
 II[v/EFT277F#$WT] 	
 =M==''r,   c            	      (   d} d}t        j                  t        d|       d      }t        j                  d| D ci c]7  }|t        j
                  t        j                  j                  |       |      9 }}t        j                  |      S c c}w )z@
        Simple verion of pandas._testing.makeDataFrame
              
   )r?   r2   N)namer*   )
r$   r%   rB   r5   ascii_uppercaseSeriesr'   r9   randn	DataFrame)nkr    cdatas        r+   r   r      s     BQ7dC ++BQ/
 ryy+599
 

 ||D!!
s   <Bpoc                 Z    	 | j                         S # t        $ r | j                  cY S w xY w)z
    Workaround legacy pandas lacking to_numpy

    Parameters
    ----------
    po : Pandas obkect

    Returns
    -------
    ndarray
        A numpy array
    )r   AttributeErrorvalues)rP   s    r+   r   r      s,    {{} yys    **c                 R    	 | j                   S # t        $ r | j                  cY S w xY wN)fgetrR   funccached_props    r+   r   r      s.        s    &&c                 (    t        |       } ||i |S rU   )r   )rY   argskwargsfs       r+   r   r      s    $Adfr,   c                 ,    t        |       j                  S rU   )r   __doc__rX   s    r+   r   r      s    ;'///r,   MMEQQEYYEfuture_stackT)O):typingr   numpyr'   packaging.versionr   r   pandasr$   pandas.util._decoratorsr   r   r   r	   __all____version__versionPD_LT_2_2_0PD_LT_2_1_0r   r   r   pandas.api.typesr   ImportErrorpandas.core.commonpandas.tseriesr   r   rI   rK   r   pandas.testingr   pandas.util.testingutilr
   r   r   r%   boolr   r   pandas._testingr/   r   r5   rB   ndarrayr   r   r   strr   r   r   r   r    r,   r+   <module>r~      s     ,  8 
))))))gh''	
GH%
%41+5 		2<<(*$ // // 11  T *"(( t *""?H "** & 
08C= 0 CD	 cd34 r~t&<S  434
  +*+  *))*h   "("") "sH   1D3 8E E &E) 3E EEEE&%E&)E<;E<