+
    i                    H   ^ RI Ht ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHt ^RIHt ^RIH	t	 ^R	I
Ht ^R
IHt ^RIHt ]P                  '       g	   ]'       g   ^RIHt ^RIHt M^ RIHt ^ RIHt ]! R]. ]3,          R7      tR R lt ! R R]4      t ! R R4      tR# )    )annotationsN)Any)Callable)Optional)TypeVar)exc)util)HAS_CYEXTENSION)Protocol)Self)_distill_params_20)_distill_raw_params_C)boundc                    V ^8  d   QhRRRR/# )   keystrreturnzCallable[[_C], _C] )formats   "C:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO CLAUDE\MAESTRO\maestro-backend\venv\Lib\site-packages\sqlalchemy\engine\util.py__annotate__r   $   s      C $6     c                :   a  \         P                  V 3R l4       pV# )zDecorator, memoize a function in a connection.info stash.

Only applicable to functions which take no arguments other than a
connection.  The memo will be stored in ``connection.info[key]``.
c                   < VP                  4       p VP                  S,          #   \         d    T ! Y4      ;TP                  S&   pTu # i ; iN)connectinfoKeyError)fnself
connectionvalr   s   &&& r   	decorated%connection_memoize.<locals>.decorated+   sQ    '')
	??3'' 	)+D)==JOOC 3J	s   & $AA)r	   	decorator)r   r%   s   f r   connection_memoizer(   $   s#     
^^  r   c                  "    ] tR t^7t$ R]R&   RtR# )_TConsSubjectzOptional[TransactionalContext]_trans_context_managerr   N)__name__
__module____qualname____firstlineno____annotations____static_attributes__r   r   r   r*   r*   7   s    ::r   r*   c                      ] tR t^;t$ RtRtR]R&   R R ltR R ltR R	 lt	R
 R lt
R R ltR R ltR R lt]R R l4       tR R ltR R ltRtR# )TransactionalContextzApply Python context manager behavior to transaction objects.

Performs validation to ensure the subject of the transaction is not
used if the transaction were ended prematurely.

_trans_subjectzOptional[_TConsSubject]c                   V ^8  d   QhRR/# r   r   boolr   )r   s   "r   r   !TransactionalContext.__annotate__G        $ $ $r   c                	    \        4       hr   NotImplementedErrorr"   s   &r   _transaction_is_active+TransactionalContext._transaction_is_activeG       !##r   c                   V ^8  d   QhRR/# r6   r   )r   s   "r   r   r8   J   r9   r   c                	    \        4       hr   r;   r=   s   &r   _transaction_is_closed+TransactionalContext._transaction_is_closedJ   r@   r   c                   V ^8  d   QhRR/# r6   r   )r   s   "r   r   r8   M   s     $ $ $r   c                    \        4       h)a  indicates the object is in a state that is known to be acceptable
for rollback() to be called.

This does not necessarily mean rollback() will succeed or not raise
an error, just that there is currently no state detected that indicates
rollback() would fail or emit warnings.

It also does not mean that there's a transaction in progress, as
it is usually safe to call rollback() even if no transaction is
present.

.. versionadded:: 1.4.28

r;   r=   s   &r   _rollback_can_be_called,TransactionalContext._rollback_can_be_calledM   s     "##r   c                   V ^8  d   QhRR/# )r   r   r*   r   )r   s   "r   r   r8   ^   s     $ $m $r   c                	    \        4       hr   r;   r=   s   &r   _get_subject!TransactionalContext._get_subject^   r@   r   c                   V ^8  d   QhRR/# r   r   Noner   )r   s   "r   r   r8   a   s     $ $ $r   c                	    \        4       hr   r;   r=   s   &r   commitTransactionalContext.commita   r@   r   c                   V ^8  d   QhRR/# rN   r   )r   s   "r   r   r8   d   s     $ $$ $r   c                	    \        4       hr   r;   r=   s   &r   rollbackTransactionalContext.rollbackd   r@   r   c                   V ^8  d   QhRR/# rN   r   )r   s   "r   r   r8   g   s     $ $t $r   c                	    \        4       hr   r;   r=   s   &r   closeTransactionalContext.closeg   r@   r   c                    V ^8  d   QhRRRR/# )r   subjectr*   r   rO   r   )r   s   "r   r   r8   k   s      }  r   c                	    VP                   pV'       d/   VP                  4       '       g   \        P                  ! R 4      hR# R# )zCan't operate on closed transaction inside context manager.  Please complete the context manager before emitting further commands.N)r+   r>   r   InvalidRequestError)clsr\   trans_contexts   && r   _trans_ctx_check%TransactionalContext._trans_ctx_checkj   sA    66 7799--8  : r   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r8   u   s     
 
4 
r   c                	b    V P                  4       pVP                  pW n        Wn        Wn        V # r   )rK   r+   _outer_trans_ctxr4   )r"   r\   r`   s   &  r   	__enter__TransactionalContext.__enter__u   s4    ##%  66 -%)-&r   c               (    V ^8  d   QhRRRRRRRR/# )r   type_r   value	tracebackr   rO   r   )r   s   "r   r   r8      s.     &C &Cc &C# &C# &C$ &Cr   c                	   \        V R R4      pVRJ ;'       g    VP                  V JpVfW   V P                  4       '       dA    V P                  4        T'       g   Tf   Q hT P                  Tn        R;T n	        T n        R#  V P                  4       '       g(   V P                  4       '       g   V P                  4        M&V P                  4       '       d   V P                  4        V'       g   Vf   Q hV P                  Vn        R;V n	        V n        R#    \        P
                  ! 4       ;_uu_ 4        T P                  4       '       d   T P                  4        RRR4        EK    + '       g   i      EL&; i; i  T'       g   Tf   Q hT P                  Tn        R;T n	        T n        i ; i  T'       g   Tf   Q hT P                  Tn        R;T n	        T n        i ; i)r4   N)getattrr+   r>   rQ   r	   safe_reraiserG   rU   re   r4   rC   rY   )r"   ri   rj   rk   r\   out_of_band_exits   &&&&  r   __exit__TransactionalContext.__exit__   s   $ 0$7 tOIIw==TI 	 =T88::
C ("...595J5JG2>BB#d&;C22446688

3355'"...595J5JG2>BB#d&;+(&&((3355 )((( ("...595J5JG2>BB#d&; ("...595J5JG2>BB#d&;s`   D F1 F1 /&F1 F1 E<4'E'E<#E? 'E92E<6E? 9E<<E? ?/F.1/G )re   r4   N)re   r4   __weakref__)r,   r-   r.   r/   __doc__	__slots__r0   r>   rC   rG   rK   rQ   rU   rY   classmethodra   rf   rp   r1   r   r   r   r3   r3   ;   s]     FI++$$$"$$$$  
&C &Cr   r3   )
__future__r   typingr   r   r   r    r   r	   util._has_cyr
   util.typingr   r   TYPE_CHECKING_py_utilr   r   sqlalchemy.cyextension.utilr   r(   r*   r3   r   r   r   <module>r~      s|    #        * " 	BD T"c'*+&;H ;lC lCr   