+
    iE'                    <   R 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 ^ 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 ^ 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4       ]'! R4      h  ]' d     Mi ; i ! R R ]4      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/ R0 lt0R1 R2 lt1R3 R4 lt2R5 R6 lt3R7# )8z"
Mypy plugin for SQLAlchemy ORM.

)annotations)Callable)List)Optional)Tuple)Type)Union)nodes)calculate_mro)MroError)Block)ClassDef)GDEF)MypyFile)NameExpr)SymbolTable)SymbolTableNode)TypeInfo)AttributeContext)ClassDefContext)DynamicClassDefContext)Plugin)SemanticAnalyzerPluginInterface)get_proper_type)Instance)
decl_class)names)utilzsqlalchemy-stubszThe SQLAlchemy mypy plugin in SQLAlchemy 2.0 does not work with sqlalchemy-stubs or sqlalchemy2-stubs installed, as well as with any other third party SQLAlchemy stubs.  Please uninstall all SQLAlchemy stubs packages.c                  j    ] tR t^;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tR# )SQLAlchemyPluginc                    V ^8  d   QhRRRR/# )   fullnamestrreturnz2Optional[Callable[[DynamicClassDefContext], None]] )formats   "tC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO\maestro-backend\venv\Lib\site-packages\sqlalchemy/ext/mypy/plugin.py__annotate__SQLAlchemyPlugin.__annotate__<   s      	;    c                	b    \         P                  ! V4      \         P                  J d   \        # R # N)r   type_id_for_fullnameDECLARATIVE_BASE_dynamic_class_hookselfr"   s   &&r'   get_dynamic_class_hook'SQLAlchemyPlugin.get_dynamic_class_hook<   s&     %%h/53I3II&&r*   c                    V ^8  d   QhRRRR/# r!   r"   r#   r$   z+Optional[Callable[[ClassDefContext], None]]r%   )r&   s   "r'   r(   r)   C   s     # ##	4#r*   c                	    \         # r,   )_fill_in_decoratorsr0   s   &&r'   get_customize_class_mro_hook-SQLAlchemyPlugin.get_customize_class_mro_hookC   s
     #"r*   c                    V ^8  d   QhRRRR/# r5   r%   )r&   s   "r'   r(   r)   H   s      	4r*   c                	J   V P                  V4      pVe   VP                  e   \        P                  ! VP                  4      pV\        P                  J d   \
        # V\        P                  \        P                  39   d   \        # V\        P                  J d   \        # R # r,   )lookup_fully_qualifiednoder   type_id_for_named_nodeMAPPED_DECORATOR_cls_decorator_hookAS_DECLARATIVEAS_DECLARATIVE_BASE_base_cls_decorator_hookDECLARATIVE_MIXIN_declarative_mixin_hook)r1   r"   symtype_ids   &&  r'   get_class_decorator_hook)SQLAlchemyPlugin.get_class_decorator_hookH   s     ))(3?sxx322388<G%000**$$))  0/E333..r*   c                    V ^8  d   QhRRRR/# r5   r%   )r&   s   "r'   r(   r)   [   s      	4r*   c                	b    \         P                  ! V4      \         P                  J d   \        # R # r,   )r   r-   DECLARATIVE_META_metaclass_cls_hookr0   s   &&r'   get_metaclass_hook#SQLAlchemyPlugin.get_metaclass_hook[   s(     %%h/53I3II '&r*   c                    V ^8  d   QhRRRR/# r5   r%   )r&   s   "r'   r(   r)   e   s      	4r*   c                	    V P                  V4      pV'       dM   \        VP                  \        4      '       d-   \        P
                  ! VP                  4      '       d   \        # R # r,   )r<   
isinstancer=   r   r   has_declarative_base_base_cls_hook)r1   r"   rF   s   && r'   get_base_class_hook$SQLAlchemyPlugin.get_base_class_hooke   sH     ))(3 388X..))#((33!!r*   c                    V ^8  d   QhRRRR/# )r!   r"   r#   r$   z,Optional[Callable[[AttributeContext], Type]]r%   )r&   s   "r'   r(   r)   s   s      	5r*   c                	@    VP                  R 4      '       d   \        # R# )z-sqlalchemy.orm.attributes.QueryableAttribute.N)
startswith_queryable_getattr_hookr0   s   &&r'   get_attribute_hook#SQLAlchemyPlugin.get_attribute_hooks   s%     ;
 
 +*r*   c                    V ^8  d   QhRRRR/# )r!   filer   r$   zList[Tuple[int, str, int]]r%   )r&   s   "r'   r(   r)   }   s     
 

	#
r*   c                	
    . RO# )
   ))r`   sqlalchemy.orm)r`   zsqlalchemy.orm.attributesrb   )r`   zsqlalchemy.orm.decl_apirb   r%   )r1   r^   s   &&r'   get_additional_deps$SQLAlchemyPlugin.get_additional_deps}   s    
 	
r*   r%   N)__name__
__module____qualname____firstlineno__r2   r8   rH   rN   rU   r[   rc   __static_attributes__r%   r*   r'   r   r   ;   s*    #
&
 
r*   r   c                    V ^8  d   QhRRRR/# )r!   versionr#   r$   zTypingType[SQLAlchemyPlugin]r%   )r&   s   "r'   r(   r(      s      C 8 r*   c                    \         # r,   )r   )rk   s   &r'   pluginrm      s    r*   c                    V ^8  d   QhRRRR/# )r!   ctxr   r$   Noner%   )r&   s   "r'   r(   r(      s     $ $3 $ $r*   c                   \        V 4       \        V P                  \        . 4      4      pV P                  P                  V P                  4      Vn        \        \        4       WP                  P                  4      pW!n
        \        V P                  V4       \        P                  ! V P                  R\        3R7      pVe   \!        VP"                  \        4      '       du   \        P$                  ! VP"                  4       \&        P(                  ! VP"                  P*                  V P                  RR7       \-        VP"                  . 4      .Vn        M1V P                  P1                  \2        P4                  4      pV.Vn         \7        V4       V P                  P?                  V P                  \A        \B        V4      4       \        P$                  ! V4       R#   \8         dh    \        P:                  ! T P                  RT P                  4       T P                  P1                  \2        P4                  4      pT.Tn        RTn         Li ; i)zVGenerate a declarative Base class when the declarative_base() function
is encountered.cls)
expr_typesNTis_mixin_scanz.Not able to calculate MRO for declarative base)"_add_globalsr   namer   apiqualified_namer"   r   r   
cur_mod_idinfo_set_declarative_metaclassr   get_callexpr_kwargcallr   rR   r=   set_is_baser   ,scan_declarative_assignments_and_apply_typesdefnr   bases
named_typer   NAMED_TYPE_BUILTINS_OBJECTr
   r   failfallback_to_anyadd_symbol_table_noder   r   )ro   rr   r{   cls_argobjs   &    r'   r/   r/      s    
388U2Y
'C77))#((3CLKM3(:(:;DHsww,%%chh8+NGz',,AA&??LLswwd	
 w||R01
gg  !A!ABU
$d GG!!#((OD$,GHT  $		GGEsxx	
 gg  !A!ABU
#$s   G" "A/IIc                    V ^8  d   QhRRRR/# r!   ro   r   r$   rp   r%   )r&   s   "r'   r(   r(      s     3 3_ 3 3r*   c                   V P                   P                   EF  p\        V\        P                  4      '       dS   \        VP
                  \        P                  4      '       d)   VP
                  P                  R 8X  d   VP
                  pM6\        V\        P                  4      '       d   VP                  R8X  d   TpMK  \        VP                  \        4      '       d4   V P                  P                  VP                  P                  VRR7      pMEK  V'       g   EK  VP                  '       g   EK"  \        VP                  4      p\        V\        4      '       d.   VP                  P                    RVP                   2Vn        EKz  \"        P$                  ! V P                  RVP                  ,          VP                  4       EK  	  R# )as_declarative_basemappedT)suppress_errors.zClass decorator called %s(), but we can't tell if it's from an ORM registry.  Please annotate the registry assignment, e.g. my_registry: registry = registry()N)rr   
decoratorsrR   r	   CallExprcallee
MemberExprrw   exprr   rx   lookup_qualifiedr=   r   typer   r"   r   r   )ro   	decoratortargetrF   sym_types   &    r'   r7   r7      sF   WW''	 y%..119++U-=-=>>  %%)>>%%Fy%"2"233(*Ffkk8,,''**  &$ + C 33888&sxx0H(H--%-]]%;%;$<Afkk]"K 		GG9 <B;;G HHW (r*   c                    V ^8  d   QhRRRR/# r   r%   )r&   s   "r'   r(   r(      s     N N_ N Nr*   c                `   \        V 4       \        V P                  \        P                  4      '       g   Q hV P                  P
                  p\        V\        P                  4      '       d+   \        VP                  \        P                  4      '       g   Q h\        VP                  P                  4      p\        V\        4      '       d3   \        P                  ! VP                  4      \        P                  J g   Q h\        P                   ! V P"                  V P$                  4       R # r,   )rv   rR   reasonr	   r   r   RefExprr=   Varr   r   r   r   r>   REGISTRYr   r   rr   rx   )ro   r   	node_types   &  r'   r@   r@      s    cjj%"2"23333::??DdEMM**z$))UYY/O/OOO		/I 	9h''((8ENNJ	K ;;CGGSWWMr*   c                    V ^8  d   QhRRRR/# r   r%   )r&   s   "r'   r(   r(      s     
 
/ 
d 
r*   c                    \        V 4       V P                  p\        V P                  V4       \        P
                  ! V P                  P                  4       \        P                  ! WP                  R R7       R# Trt   N)	rv   rr   r|   rx   r   r   r{   r   r   )ro   rr   s   & r'   rC   rC      sN    
''Csww,SWW\\";;WWDr*   c                    V ^8  d   QhRRRR/# r   r%   )r&   s   "r'   r(   r(     s       T r*   c                    \        V 4       \        P                  ! V P                  P                  4       \
        P                  ! V P                  V P                  R R7       R# r   )rv   r   r   rr   r{   r   r   rx   ro   s   &r'   rE   rE     s=    SWW\\";;r*   c                    V ^8  d   QhRRRR/# r   r%   )r&   s   "r'   r(   r(     s     # #_ # #r*   c                Z    \         P                  ! V P                  P                  4       R # r,   )r   r   rr   r{   r   s   &r'   rM   rM     s    SWW\\"r*   c                    V ^8  d   QhRRRR/# r   r%   )r&   s   "r'   r(   r(     s     N N ND Nr*   c                r    \        V 4       \        P                  ! V P                  V P                  4       R # r,   )rv   r   r   rr   rx   r   s   &r'   rT   rT     s"    ;;CGGSWWMr*   c                    V ^8  d   QhRRRR/# )r!   ro   r   r$   r   r%   )r&   s   "r'   r(   r(     s     ! !!1 !d !r*   c                    V P                   # r,   )default_attr_typer   s   &r'   rZ   rZ     s        r*   c                    V ^8  d   QhRRRR/# )r!   ro   z.Union[ClassDefContext, DynamicClassDefContext]r$   rp   r%   )r&   s   "r'   r(   r(     s     D DD D Dr*   c                8    \         P                  ! V RRR4       R# )zXAdd __sa_DeclarativeMeta and __sa_Mapped symbol to the global space
for all class defs

ra   Mapped__sa_MappedN)r   
add_globalr   s   &r'   rv   rv     s     	OOC)8]Cr*   c               $    V ^8  d   QhRRRRRR/# )r!   rx   r   
target_clsr   r$   rp   r%   )r&   s   "r'   r(   r(   '  s)     K K	(K6>K	Kr*   c                    VP                   pV P                  R 4      pVe!   \        VP                  \        4      '       g   Q h\        VP                  . 4      ;Vn        Vn        R# )z'sqlalchemy.orm.decl_api.DeclarativeMetaN)r{   lookup_fully_qualified_or_nonerR   r=   r   r   declared_metaclassmetaclass_type)rx   r   r{   rF   s   &&  r'   r|   r|   '  sX     ??D

,
,1C ?z#((H====4<SXXr4JJDd1r*   N)4__doc__
__future__r   typingr   r   r   r   r   
TypingTyper   mypyr	   mypy.mror
   r   
mypy.nodesr   r   r   r   r   r   r   r   mypy.pluginr   r   r   r   r   
mypy.typesr   r    r   r   r   
__import__ImportErrorr   rm   r/   r7   r@   rC   rE   rM   rT   rZ   rv   r|   r%   r*   r'   <module>r      s    #     %   "       " &  ( ' .  7 &     !" 	   		J
v J
Z$N3lN"
#N
!DKs   2C CC