+
    i"                       R t ^ 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 ^RIHt ^RIHt ]P$                  '       d   ^RIHt ^RIHt ]
! R]R]3,          R7      t]]]],          ]R]3,          3,          tR#R R l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t!R# )$zhRoutines to handle adaption of legacy call signatures,
generation of deprecation notes and docstrings.

)annotationsN)Any)Callable)List)Optional)Tuple)Type)TypeVar)_ET)_ListenerFnType)util)FullArgSpec)_ClsLevelDispatch)_HasEventsDispatch_F.)boundc               (    V ^8  d   QhRRRRRRRR/# )	   sincestrargnamesz	List[str]	converterzOptional[Callable[..., Any]]returnzCallable[[_F], _F] )formats   "ڀC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO CLAUDE\MAESTRO\maestro-backend\venv\Lib\site-packages\sqlalchemy\event\legacy.py__annotate__r   &   s0       , 	    c                "   a aa R VVV 3R llpV# )aG  legacy sig decorator


:param since: string version for deprecation warning
:param argnames: list of strings, which is *all* arguments that the legacy
 version accepted, including arguments that are still there
:param converter: lambda that will accept tuple of this full arg signature
 and return tuple of new arg signature.

c                    V ^8  d   QhRRRR/# r   fnr   r   r   )r   s   "r   r   '_legacy_signature.<locals>.__annotate__6   s       r r   c                v   < \        V R 4      '       g   . V n        V P                  P                  SSS34       V # )_legacy_signatures)hasattrr$   append)r!   r   r   r   s   &r   leg_legacy_signature.<locals>.leg6   s9    r/00$&B!
$$eXy%AB	r   r   )r   r   r   r'   s   fff r   _legacy_signaturer)   &   s       Jr   c                    V ^8  d   QhRRRR/# r    r   )r   s   "r   r   r   ?   s      r b r   c                    R V n         V # )T)_omit_standard_example)r!   s   &r   r,   r,   ?   s     $BIr   c               (    V ^8  d   QhRRRRRRRR/# )r   dispatch_collection_ClsLevelDispatch[_ET]r!   r   argspecr   r   r   )r   s   "r   r   r   D   s0     6 6/66 6 	6r   c           
       a aaaaaa	 S P                    F  w  oooSR,          R8X  d	   RoS^ R oMRo\        S4      \        VP                  4      8X  g   KD  S\        VP                  4      J g   K_  RS P
                  : RRP                  S P                  4      : S'       d   RMR: R	2pR
S P                  : RS P
                  : RS: RV: R2	o	Se   S'       d   Q hR VVVV	3R llpVu # R VV VVVV	3R llpVu # 	  S# )   z**kwTFzdef (, , **kw )z The argument signature for the ".z+" event listener has changed as of version zl, and conversion for the old argument signature will be removed in a future release.  The new signature is ""c               $    V ^8  d   QhRRRRRR/# r   argsr   kwr   r   )r   s   "r   r   )_wrap_fn_for_legacy.<locals>.__annotate__h   s!     , ,C ,s ,s ,r   c                 T   < \         P                  ! SSR 7       Sf   Q hS! S! V !  !  # )version)r   warn_deprecated)r<   r=   convr!   r   warning_txts   *,r   wrap_leg%_wrap_fn_for_legacy.<locals>.wrap_legh   s.    ((eD+++tT{++r   c               $    V ^8  d   QhRRRRRR/# r;   r   )r   s   "r   r   r>   o   s!     3 3C 3s 3s 3r   c                    < \         P                  ! S
S	R 7       \        \        SP                  V 4      4      pS Uu. uF  q2V,          NK  	  ppS'       d	   S! V/ VB # S! V!  # u upi r@   )r   rB   dictzip	arg_names)r<   r=   argdictnameargs_from_dictr   r.   r!   has_kwr   rD   s   *,   r   rE   rF   o   sg    ((eD"3':'D'Dd#KLG@H%IdmmN%I!>8R88!>22	 &Js   A&)	legacy_signatureslenr<   boolvarkwrM   joinrK   clsname)
r.   r!   r0   formatted_defrE   r   rC   rO   r   rD   s
   ff&  @@@@@r   _wrap_fn_for_legacyrX   D   s    
 "5!F!FxB<6!F"~HFx=C--&DMM=
 3
 $((		-778"*M (//',,!	  !!z, ,  O3 3 O_ "Gb 	r   c               $    V ^8  d   QhRRRRRR/# )r   textr   indentr   r   )r   s   "r   r   r   }   s&     A A# As As Ar   c                X   a R P                  V3R lV P                  R 4       4       4      # )
c              3  6   <"   T F  pSV,           x  K  	  R # 5iNr   ).0liner[   s   & r   	<genexpr>_indent.<locals>.<genexpr>~   s     @/?tVd]]/?s   )rU   split)rZ   r[   s   &fr   _indentre   }   s!    99@tzz$/?@@@r   c               (    V ^8  d   QhRRRRRRRR/# )	r   r.   r/   sample_targetr   r!   r   r   r   r   )r   s   "r   r   r      s0     & &/&& 	& 		&r   c                   \        R P                  R V P                  R,           4       4      R4      pV P                  '       d   \	        R V P                   4       4      pMRpRpTRV'       d
   RV,          MR	R
VP
                  RV P                  '       d   RMR	RRP                  V P                  4      RVRV/,          pV# )r]   c              3  8   "   T F  pR RV/,          x  K  	  R# 5i)z%(arg)s = kw['%(arg)s']argNr   )r`   rj   s   & r   rb   +_standard_listen_example.<locals>.<genexpr>   s#      
9 &449s   :    r   Nz    c              3  ,   "   T F
  w  rpVx  K  	  R # 5ir_   r   )r`   r   r<   rC   s   &   r   rb   rk      s      
%J!T %Js   Nzfrom sqlalchemy import event


@event.listens_for(%(sample_target)s, '%(event_name)s')
def receive_%(event_name)s(%(named_event_arguments)s%(has_kw_arguments)s):
    "listen for the '%(event_name)s' event"

    # ... (event handling logic) ...
current_sincez (arguments as of %s)r6   
event_namehas_kw_argumentsr5   named_event_argumentsr4   example_kw_argrg   )re   rU   rK   rQ   max__name__rO   )r.   rg   r!   rr   rn   rZ   s   &&&   r   _standard_listen_exampleru      s    
 		 
*44S9
 	
 	N ,,, 
%8%J%J
 

 	3 	 	7D#m3"bkk(;(B(B(BH+>+H+H!I.	 	D Kr   c               (    V ^8  d   QhRRRRRRRR/# )r   r.   r/   rg   r   r!   r   r   r   )r   s   "r   r   r      s0      / 	 		r   c                    R pV P                    FM  w  rEpTRRTRVP                  RV P                  '       d   RMR RRP                  V4      RV/,          ,          pKO  	  V# )	r6   a&  
# DEPRECATED calling style (pre-%(since)s, will be removed in a future release)
@event.listens_for(%(sample_target)s, '%(event_name)s')
def receive_%(event_name)s(%(named_event_arguments)s%(has_kw_arguments)s):
    "listen for the '%(event_name)s' event"

    # ... (event handling logic) ...
r   ro   rp   z **kwrq   r4   rg   )rQ   rt   rO   rU   )r.   rg   r!   rZ   r   r<   rC   s   &&&    r   _legacy_listen_examplesrx      st    
 D0BBT7 bkk"2999Gr'4	
 C& Kr   c               $    V ^8  d   QhRRRRRR/# )r   parent_dispatch_clsType[_HasEventsDispatch[_ET]]r.   r/   r   r   r   )r   s   "r   r   r      s&      6/ 	r   c                   a a SP                   ^ ,          w  r#pRRTRS P                  RSP                  RRP                  VV 3R lSP                   4       4      RSP
                  '       d
   R	/,          # R
/,          # )rl   a=  
.. versionchanged:: %(since)s
    The :meth:`.%(clsname)s.%(event_name)s` event now accepts the 
    arguments %(named_event_arguments)s%(has_kw_arguments)s.
    Support for listener functions which accept the previous 
    argument signature(s) listed above as "deprecated" will be 
    removed in a future release.r   rV   ro   rq   r4   c              3  j   <"   T F(  pR RSP                   RSP                  RV/,          x  K*  	  R# 5i)z6:paramref:`.%(clsname)s.%(event_name)s.%(param_name)s`rV   ro   
param_nameN)rt   rM   )r`   r~   r.   rz   s   & r   rb   -_version_signature_changes.<locals>.<genexpr>   sK      / #@J I2;; "5":": *  #@s   03rp   r5   r6   )rQ   rt   rM   rU   rK   rO   )rz   r.   r   r<   rC   s   ff   r   _version_signature_changesr      s     ,==a@E	+ U*33-22#TYY / #6"?"?/ & ,?,F,F,F
	
( MO
	
r   c               (    V ^8  d   QhRRRRRRRR/# )	r   r.   r/   rz   r{   r!   r   r   r   r   )r   s   "r   r   r      s0     ; ;/;6; 	; 		;r   c                   \        VR R4      '       d!   VP                  '       g   Q hVP                  # Rp\        VRR4      pV\        \        WV4      R4      ,           pV P                  '       d0   V\        \        WV4      R4      ,          pV\        W4      ,          p\        P                  ! VP                  V^4      # )r,   Fz@.. container:: event_signatures

     Example argument forms::

_target_class_docobjz        )	getattr__doc__re   ru   rQ   rx   r   r   inject_docstring_text)r.   rz   r!   headerrg   rZ   s   &&&   r   _augment_fn_docsr      s    
 r+U33zzzzzz	  /1DeLMG !4RH D ,,,#$7K
 	

 	*
 	
 %%bjj$::r   r_   )"r   
__future__r   typingr   r   r   r   r   r   r	   registryr
   r   r6   r   util.compatr   TYPE_CHECKINGattrr   baser   r   r   _LegacySignatureTyper)   r,   rX   re   ru   rx   r   r   r   r   r   <module>r      s    #          %  %	'( T#s(+,S$s)Xc3h-??@ 2
6rA&R8<;r   