Ë
    r™ãj  ã                  óh  — 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 d dlmZ erddlm	Z	 d	d
l
mZ 	 d dlZdd„Zej                   rd dlmZ neZej(                   G d„ deeef   «      «       Zeeedf   Zeeed   df   Zej(                   G d„ deeef   «      «       Zy# e$ r	 d dlmZ Y Œxw xY w)é    )Úannotations)ÚDict)ÚLiteral)ÚTuple)ÚTYPE_CHECKING)ÚUnioné   )Ú
CacheConsté   )Ú_CoreSingleExecuteParamsN)Úcythonc                 ó"   — t         j                  S )z?Utility function to indicate if this module is compiled or not.)r   Úcompiled© ó    úb/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/sqlalchemy/sql/_util_cy.pyÚ_is_compiledr       s   € ä�?‰?Ðr   )Ú_get_idc                  ó   — e Zd ZdZdd„Zy)Úprefix_anon_mapaf  A map that creates new keys for missing key access.

    Considers keys of the form "<ident> <name>" to produce
    new symbols "<name>_<index>", where "index" is an incrementing integer
    corresponding to <name>.

    Inlines the approach taken by :class:`sqlalchemy.util.PopulateDict` which
    is otherwise usually used for this type of operation.

    c               ó€   — | }|j                  dd«      d   }|j                  |d«      }|dz   ||<   |› d|› �}|||<   |S )Nú r	   Ú_)ÚsplitÚget)ÚselfÚkeyÚ	self_dictÚderivedÚanonymous_counterÚvalues         r   Ú__missing__zprefix_anon_map.__missing__:   s^   € ð ˆ	à—)‘)˜C Ó# AÑ&ˆà!*§¡¨w¸Ó!:ÐØ.°Ñ2ˆ	�'ÑØ�)˜1Ð.Ð/Ð0ˆØˆ	�#‰Øˆr   N)r   ÚstrÚreturnr#   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r"   r   r   r   r   r   -   s   „ ñ	ôr   r   r
   Tr   c                  ó¾   — e Zd ZU dZej
                  r	ded<   d„ ZndZded<   ej                  ej                  dd„«       «       Zdd„Zej
                  rdd	„Zdd
„Zy)Úanon_mapaU  A map that creates new keys for missing key access.

    Produces an incrementing sequence given a series of unique keys.

    This is similar to the compiler prefix_anon_map class although simpler.

    Inlines the approach taken by :class:`sqlalchemy.util.PopulateDict` which
    is otherwise usually used for this type of operation.

    zcython.uintÚ_indexc                ó   — d| _         y )Nr   ©r+   )r   s    r   Ú	__cinit__zanon_map.__cinit__\   s	   € ØˆD�Kr   r   Úintc               óV   — | j                   }| xj                   dz  c_         | }|||<   |S )Nr	   r-   )r   r   Úvalr   s       r   Ú_add_missingzanon_map._add_missingb   s.   € ð —;‘;ˆØ�Š�qÑ�Øˆ	Øˆ	�#‰Øˆ
r   c               óX   — | }t        |«      }||v r||   dfS | j                  |«      dfS )NTF)r   r2   )r   Úobjr   Úidselfs       r   Úget_anonzanon_map.get_anonk   s>   € Øˆ	ä˜c“lˆØ�YÑØ˜VÑ$ dÐ*Ð*à×$Ñ$ VÓ,¨eÐ3Ð3r   c               ó:   — | }||v r||   S | j                  |«      S ©N©r2   )r   r   r   s      r   Ú__getitem__zanon_map.__getitem__v   s*   € Ø"ˆIà�iÑØ  ‘~Ð%à×(Ñ(¨Ó-Ð-r   c               ó$   — | j                  |«      S r8   r9   )r   r   s     r   r"   zanon_map.__missing__~   s   € Ø× Ñ  Ó%Ð%r   N)r   r*   r   Ú_AM_KEYr$   Úobject)r   r*   r4   r=   r$   zTuple[int, bool])r   r*   r   r<   r$   Ú	_AM_VALUE)r   r*   r   r<   r$   r/   )r%   r&   r'   r(   r   r   Ú__annotations__r.   r+   ÚcfuncÚinliner2   r6   r:   r"   r   r   r   r*   r*   L   s`   … ñ	ð ‡‚ØÓó	ð ˆ�‹à‡\�\Ø‡]�]òó ó ðó4ð ‡‚ó	.ô&r   r*   )r$   Úbool)Ú
__future__r   Útypingr   r   r   r   r   Ú	cache_keyr
   Úengine.interfacesr   r   ÚModuleNotFoundErrorÚsqlalchemy.utilr   r   Ú/cython.cimports.sqlalchemy.util._collections_cyr   ÚidÚcclassr#   r   r/   r<   r>   r*   r   r   r   ú<module>rL      sÐ   ðõ #å Ý Ý Ý  Ý áÝ%Ý<ð'ó ó
ð 
‡?‚?ÞGà€Gð ‡�ô�d˜3 ˜8‘nó ó ðð4 ��S˜,Ð&Ñ
'€Ø�#�w˜t‘}Ð&@Ð@ÑA€	ð ‡�ô2&ˆt�G˜YÐ&Ñ'ó 2&ó ñ2&øðc ò 'ß&ð'ús   ´B# Â#B1Â0B1