o
     h	                     @  s   U d dl mZ d dlZd dlmZ d dlmZ d dlmZ d dlmZ ddlmZ ej	rDd	d
l
mZ d	dl
mZ d	dl
mZ d	dl
mZ dZded< dddZdddZdS )    )annotationsN)Any)Mapping)Optional)Tuple   )exc   )_CoreAnyExecuteParams)_CoreMultiExecuteParams)_DBAPIAnyExecuteParams)_DBAPIMultiExecuteParams zTuple[Any, ...]	_no_tupleparamsOptional[_CoreAnyExecuteParams]returnr   c                 C  sd   | d u rt S t| tst| tr | rt| d tstd| S t| ts*t| tr-| gS td)Nr   z/List argument must consist only of dictionariesz'mapping or list expected for parametersr   
isinstancelisttupler   r   ArgumentErrordictr   r   r   M/var/www/html/venv/lib/python3.10/site-packages/sqlalchemy/engine/_py_util.py_distill_params_20   s   
r    Optional[_DBAPIAnyExecuteParams]r   c                 C  sb   | d u rt S t| tr| rt| d ttfstd| S t| ttfs)t| tr,| gS td)Nr   z9List argument must consist only of tuples or dictionariesz+mapping or sequence expected for parametersr   r   r   r   r   _distill_raw_params4   s   

r   )r   r   r   r   )r   r   r   r   )
__future__r   typingr   r   r   r    r   TYPE_CHECKING
interfacesr
   r   r   r   r   __annotations__r   r   r   r   r   r   <module>   s   
