
    .i              	         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Zd dl	m
Z
 d dlmZ erd dlZi ddddd	d
ddddddddddddddddddddddd d!d"dd#d$i d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5dd6d7d8d9d:d;d<d=d>dd?d@dAdBdCdDdEdFdGZdHdIdJdKd d/dLdMdNZdVdOZe	 	 dWdPdQ	 	 	 	 	 	 	 	 	 dXdR       Ze	 	 dW	 	 	 	 	 	 	 	 	 dYdS       Z	 	 dZdTdQ	 	 	 	 	 	 	 	 	 d[dUZy)\    )annotationsN)TYPE_CHECKINGLiteraloverload)find_stack_level)Versionzadbc-driver-postgresqlz1.2.0zadbc-driver-sqlitebs4z4.12.3
bottleneckz1.4.2fastparquetz	2024.11.0fsspecz	2024.10.0html5libz1.1
hypothesisz6.116.0gcsfsjinja2z3.1.5
lxml.etreez5.3.0
matplotlibz3.9.3numbaz0.60.0numexprz2.10.2odfpyz1.4.1openpyxlpsycopg2z2.9.10pymysqlz1.1.1pyarrowz13.0.0	pyicebergz0.8.1
pyreadstatz1.2.8pytestz8.3.4zpython-calaminez0.3.0pytzz2024.2pyxlsbz1.0.10s3fsscipyz1.14.1
sqlalchemyz2.0.36tablesz3.10.1tabulatez0.9.0xarrayxlrdz2.0.1
xlsxwriterz3.2.0	zstandardz0.23.0z2.4.2z5.15.9)qtpypyqt5beautifulsoup4
BottleneckJinja2lxml
SQLAlchemypytables)r	   r
   r   r   odfpython_calaminer!   r"   c                    t        | dd       }|t        d| j                         | j                  dk(  r|j                         d   }|S )N__version__zCan't determine version for r   r   )getattrImportError__name__split)moduleversions     U/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/compat/_optional.pyget_versionr;   L   sN    fmT2G88IJKK*$--/!$N    .)errorsc                    y N nameextramin_versionr=   s       r:   import_optional_dependencyrE   W   s     r<   c                    y r?   r@   rA   s       r:   rE   rE   a   s     "r<   raisec               H   |dv sJ t         j                  |       }||n| }d| d| d| d}	 t        j                  |       }| j                  d      d	   }	|	| k7  r|	}t        j                  |   }
n|}
||nt        j                  |	      }|rkt        |
      }|r^t        |      t        |      k  rGd
| d|	 d| d}|dk(  r%t        j                  |t        t                      y|dk(  rt	        |      y|S # t        $ r}|dk(  rt	        |      |Y d}~yd}~ww xY w)aI  
    Import an optional dependency.

    By default, if a dependency is missing an ImportError with a nice
    message will be raised. If a dependency is present, but too old,
    we raise.

    Parameters
    ----------
    name : str
        The module name.
    extra : str
        Additional text to include in the ImportError message.
    errors : str {'raise', 'warn', 'ignore'}
        What to do when a dependency is not found or its version is too old.

        * raise : Raise an ImportError
        * warn : Only applicable when a module's version is to old.
          Warns that the version is too old and returns None
        * ignore: If the module is not installed, return None, otherwise,
          return the module, even if the version is too old.
          It's expected that users validate the version locally when
          using ``errors="ignore"`` (see. ``io/html.py``)
    min_version : str, default None
        Specify a minimum version that is different from the global pandas
        minimum version required.
    Returns
    -------
    maybe_module : Optional[ModuleType]
        The imported module, when found and the version is correct.
        None is returned when the package is not found and `errors`
        is False, or when the package's version is too old and `errors`
        is ``'warn'`` or ``'ignore'``.
    >   warnrG   ignoreNz`Import z
` failed. z! Use pip or conda to install the z	 package.rG   .r   zPandas requires version 'z' or newer of 'z' (version 'z' currently installed).rI   )
stacklevel)INSTALL_MAPPINGget	importlibimport_moduler5   r7   sysmodulesVERSIONSr;   r   warningsrI   UserWarningr   )rB   rC   rD   r=   package_nameinstall_namemsgr8   errparentmodule_to_getminimum_versionr9   s                r:   rE   rE   k   sg   R 0000"&&t,L#/#;<L <.
5' 2++7.		C ((. ZZ_QF~L1%0%<k(,,vBVOm,ww''/*BB+O+<OF8 T$I%<>  /1
 7"!#&&MA  Wc"+s   C= =	D!DD!)r8   types.ModuleTypereturnstr)..)
rB   r_   rC   r_   rD   
str | Noner=   zLiteral['raise']r^   r]   )
rB   r_   rC   r_   rD   r`   r=   zLiteral['warn', 'ignore']r^   types.ModuleType | None) N)
rB   r_   rC   r_   rD   r`   r=   z"Literal['raise', 'warn', 'ignore']r^   ra   )
__future__r   rO   rQ   typingr   r   r   rT   pandas.util._exceptionsr   pandas.util.versionr   typesrS   rM   r;   rE   r@   r<   r:   <module>rh      s   "  
 
  4 '
%g%'% 
8% '	%
 ;% k% % )% [% g% '% '% X% x% W%  !%" #%$ w%%& x'%( )%* '+%, g-%. w/%0 H1%2 h3%4 K5%6 X7%8 (9%: h;%< =%> k?%@ GA%B 'C%D E%F I%V (	 
 !
  #
 
   
 
 !"
"" "
 &" " 
" "T
 29T
TT T
 /T Tr<   