Ë
    r™ãj…R  ã                  ó  — d dl mZ d dlZd dlmZ d dlmZ d dlZd dl	Z	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 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 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 d dlmZ d dlmZ d dlm Z  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' d d l"m(Z( d d!l"m)Z) d d"l"m*Z* d d#l"m+Z+  e+d$e¬%«      Z, e+d&«      Z- e+d'«      Z. e+d(d¬)«      Z/eed*f   Z0ded+„Z1e!ee   e2eee'd,f   Z3e!d,e'eee   f   Z4 G d-„ d.e«      Z5 G d/„ d0ee,   «      Z6 G d1„ d2ee-e/f   «      Z7ed3   Z8dd4dd5œ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dfd6„Z9	 	 	 	 dgd7„Z:	 	 	 	 	 	 dhd8„Z;ddd9œ	 	 	 	 	 	 	 	 	 did:„Z<dd;œ	 	 	 	 	 	 	 djd<„Z=dkd=„Z>dld>„Z?dmd?„Z@dnd@„ZAdodA„ZBdpdB„ZCdqdC„ZDdrdD„ZEe	 	 ds	 	 	 	 	 	 	 dtdE„«       ZFe	 	 ds	 	 	 	 	 	 	 dudF„«       ZF	 	 dv	 	 	 	 	 	 	 dudG„ZFedwdH„«       ZGedxdI„«       ZGedydJ„«       ZGe	 	 	 	 dgdK„«       ZG	 	 	 	 dgdL„ZGe	 	 	 	 	 	 dzdM„«       ZHe	 	 	 	 	 	 d{dN„«       ZH	 	 	 	 	 	 d|dO„ZHd}dP„ZIdndQ„ZJdndR„ZKd~dS„ZL	 	 	 	 	 	 ddT„ZMddUœ	 	 	 	 	 	 	 d€dV„ZN G dW„ dXe«      ZO e+dYeO¬%«      ZP G dZ„ d[eeP   «      ZQ e+d\eOd¬]«      ZR G d^„ d_eeR   «      ZS e+d`eed*ef      ¬%«      ZT G da„ dbeeT   «      ZU G dc„ dd«      ZV eV«       ZWere"ZXeWj*                  ZYyeWZXeWj*                  ZYy)�é    )ÚannotationsN)Údeque)ÚNoneType)ÚAny)ÚCallable)ÚDict)Ú
ForwardRef)ÚGeneric)Úget_args)Ú
get_origin)ÚIterable)ÚLiteral)ÚMapping)ÚNewType)ÚNoReturn)ÚOptional)Úoverload)ÚProtocol)ÚSet)ÚTuple)ÚType)ÚTYPE_CHECKING)Ú	TypeGuard©ÚUnionT)Údataclass_transform)ÚNotRequired)ÚTypeVarTuple)ÚSelf)ÚTypeAliasType)ÚUnpack)ÚNever)ÚLiteralString)ÚTypeVarÚ_T)ÚboundÚ_KTÚ_VTÚ_VT_co)Ú	covariant.c                óD   — t        | t        «      xr | j                  dk(  S )NÚNone)Ú
isinstancer	   Ú__forward_arg__)Útyps    úa/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/sqlalchemy/util/typing.pyÚis_fwd_noner1   @   s   € Ü�cœ:Ó&ÒH¨3×+>Ñ+>À&Ñ+HÐHó    zGenericProtocol[Any]c                  ó   — e Zd ZU dZded<   y)ÚArgsTypeProtocolz_protocol for types that have ``__args__``

    there's no public interface for this AFAIK

    úTuple[_AnnotationScanType, ...]Ú__args__N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__© r2   r0   r4   r4   M   s   … ñð .Ô-r2   r4   c                  ó&   — e Zd ZU dZded<   ded<   y)ÚGenericProtocolzXprotocol for generic types.

    this since Python.typing _GenericAlias is private

    r5   r6   úType[_T]Ú
__origin__Nr7   r=   r2   r0   r?   r?   W   s   … ñð .Ó-ØÔr2   r?   c                  ó   — e Zd Zdd„Zdd„Zy)ÚSupportsKeysAndGetItemc                 ó   — y ©Nr=   )Úselfs    r0   ÚkeyszSupportsKeysAndGetItem.keysl   ó   � r2   c                 ó   — y rE   r=   )rF   Ú_SupportsKeysAndGetItem__ks     r0   Ú__getitem__z"SupportsKeysAndGetItem.__getitem__n   rH   r2   N)ÚreturnzIterable[_KT])rJ   r'   rL   r)   )r8   r9   r:   rG   rK   r=   r2   r0   rC   rC   k   s   „ Û(ä2r2   rC   Ú*F©Ústr_cleanup_fnÚinclude_genericÚ_already_seenc               ól  ‡ ‡‡‡‡‡— |}t        |«      r|j                  }t        |t        «      r‰r	 ‰|‰«      }t	        |‰‰‰ ¬«      }‰rht        |«      r]t        |«      sR‰€
t        «       Š|‰v r|S ‰j                  |«       t        ˆˆ ˆˆˆˆfd„|j                  D «       «      }t        ||«      S |S )a;  Resolve annotations that may be string based into real objects.

    This is particularly important if a module defines "from __future__ import
    annotations", as everything inside of __annotations__ is a string. We want
    to at least have generic containers like ``Mapped``, ``Union``, ``List``,
    etc.

    ©Úlocals_Úin_classc           
   3  óB   •K  — | ]  }t        ‰|‰‰‰‰‰¬ «      –— Œ y­w)rN   N)Úde_stringify_annotation)Ú.0ÚelemrQ   ÚclsrP   rT   Úoriginating_modulerO   s     €€€€€€r0   ú	<genexpr>z*de_stringify_annotation.<locals>.<genexpr>ª   s:   øè ø€ ò 
ð ô $ØØØ"ØØ-Ø /Ø+÷ð ñ
ùs   ƒ)Ú
is_fwd_refr.   r-   ÚstrÚeval_expressionÚ
is_genericÚ
is_literalÚsetÚaddÚtupler6   Ú_copy_generic_annotation_with)	rZ   Ú
annotationr[   rT   rO   rP   rQ   Úoriginal_annotationÚelementss	   ` `````  r0   rW   rW   u   sÅ   ý€ ð. %Ðä�*ÔØ×/Ñ/ˆ
ä�*œcÔ"ÙÙ'¨
Ð4FÓGˆJä$ØÐ*°GÀcô
ˆ
ñ
 	Ü�zÔ"Ü˜:Ô&àÐ Ü›EˆMà˜Ñ&ð
 'Ð&à×Ñ˜jÔ)ä÷ 
ð 
ð #×+Ñ+ô
ó 
ˆô -¨Z¸ÓBÐBàÐr2   c                óÜ  — t        | «      rÛt        | «      t        t        t        t
        j                  t
        j                  t
        j                  t
        j                  t
        j                  fv rtt        j                  dt        | «      «      sUt        | «      j                  t        t!        | «      D �cg c]  }t#        |t$        «      rt'        |«      n|‘Œ! c}«      «      S | S c c}w )zfCorrect dict['x', 'y'] into dict[ForwardRef('x'), ForwardRef('y')]
    and similar for list, set

    z3typing.(?:Dict|List|Set|.*Mapping|.*Sequence|.*Set))r`   r   Údictrb   ÚlistÚcollections_abcÚ
MutableSetÚMutableMappingÚMutableSequencer   ÚSequenceÚreÚmatchÚreprÚ__class_getitem__rd   r   r-   r^   r	   )Útype_rY   s     r0   Úfixup_container_fwd_refsrv   ¼   sÈ   € ô 	�5ÔÜ�uÓäÜÜÜ×&Ñ&Ü×*Ñ*Ü×+Ñ+Ü×#Ñ#Ü×$Ñ$ð	
ñ

ô —‘ØAÄ4ÈÃ;ô
ô
 ˜%Ó ×2Ñ2Üô !)¨£öàô )3°4¼Ô(=”J˜tÔ$À4ÑGòóó
ð 	
ð €Lùòs   Â8$C)c                óZ   — t        | d«      r| j                  |«      S | j                  |   S )NÚ	copy_with)Úhasattrrx   rA   )rf   rh   s     r0   re   re   å   s2   € ô ˆz˜;Ô'à×#Ñ# HÓ-Ð-ð ×$Ñ$ XÑ.Ð.r2   rS   c               óŒ  — 	 t         j                  |   j                  }	 |�Qt        |j                  «      }|j                  |j                  |«       |j                  |«       t        | ||«      }|S t        | ||«      }	 |S # t        $ r}t	        d|› d| › �«      |‚d }~ww xY w# t        $ r}t	        d| ›�«      |‚d }~ww xY w)NúModule z9 isn't present in sys.modules; can't evaluate expression z"Could not de-stringify annotation )ÚsysÚmodulesÚ__dict__ÚKeyErrorÚ	NameErrorrj   Ú
setdefaultr8   ÚupdateÚevalÚ	Exception)	Ú
expressionÚmodule_namerT   rU   Úbase_globalsÚkeÚcls_namespacerf   Úerrs	            r0   r_   r_   ð   sï   € ðÜ'*§{¡{°;Ñ'?×'HÑ'HˆðØÐÜ  ×!2Ñ!2Ó3ˆMØ×$Ñ$ X×%6Ñ%6¸ÔAð
 × Ñ  Ô.ä˜j¨-¸ÓAˆJð Ðô ˜j¨,¸Ó@‰Jð Ðøô1 ò ÜØ�k�]ð ##Ø#- ,ð0ó
ð ð	ûðûô& ò ÜØ0°°Ð?ó
àð	ûðús5   ‚B  AB& Á3B& Â	B#ÂBÂB#Â&	CÂ/B>Â>C©rT   c               óJ  — d| v rt        | ||¬«      S 	 t        j                  |   j                  }	 ||    S # t        $ r}t        d|› d| › �«      |‚d }~ww xY w# t        $ r?}	 t        j                  |    cY d }~S # t        $ r Y nw xY wt        d| › d|› �«      |‚d }~ww xY w)Nú.r‹   r{   z2 isn't present in sys.modules; can't resolve name zCould not locate name z in module )r_   r|   r}   r~   r   r€   Úbuiltins)Únamer†   rT   r‡   rˆ   s        r0   Úeval_name_onlyr�     sØ   € ð ˆd�{Ü˜t [¸'ÔBÐBðÜ'*§{¡{°;Ñ'?×'HÑ'HˆðØ˜DÑ!Ð!øô ò ÜØ�k�]ð #Ø ˜6ð#ó
ð ð	ûðûô ò 	ð	Ü×$Ñ$ TÑ*Õ*øÜò 	Ùð	úô Ø$ T F¨+°k°]ÐCó
àð	ûð	úsJ   ”7 ²A ·	AÁ AÁAÁ	B"Á$A<Á6B"Á<	BÂBÂBÂBÂB"c                óX   — 	 t        | |«      }t        |d| «      S # t        $ r | cY S w xY w)Nr8   )r�   Úgetattrr€   )r�   r†   Úobjs      r0   Úresolve_name_to_real_class_namer”   6  s:   € ð.Ü˜T ;Ó/ˆô �s˜J¨Ó-Ð-øô ò ØŠðús   ‚ ›)¨)c                óD   — | d uxr t        | «      t        j                  v S rE   )r   Ú_type_tuplesÚ	Annotated©ru   s    r0   Ú	is_pep593r™   ?  s"   € Ø˜ÐÒL¤¨EÓ!2´l×6LÑ6LÐ!LÐLr2   c                óh   — t        | t        j                  «      xr t        | t        t        f«       S rE   )r-   rl   r   r^   Úbytes)r“   s    r0   Úis_non_string_iterablerœ   C  s1   € Ü�cœ?×3Ñ3Ó4ò ¼ZØŒc”5ˆ\ó>ð :ð r2   c                ó8   — t        | «      t        j                  v S rE   )r   r–   r   r˜   s    r0   ra   ra   I  s   € Ü�eÓ¤× 4Ñ 4Ð4Ð4r2   c                ó6   — t        | t        j                  «      S rE   )r-   r–   r   r˜   s    r0   Ú
is_newtyperŸ   M  s   € Ü�eœ\×1Ñ1Ó2Ð2r2   c                ó6   — t        | d«      xr t        | d«      S )Nr6   rA   )ry   r˜   s    r0   r`   r`   Q  s   € Ü�5˜*Ó%ÒF¬'°%¸Ó*FÐFr2   c                óŽ   — t        | «      r!t        | «      ryt        | j                  «      S t	        | t
        j                  «      S )NF)r`   r™   Ú	is_pep695rA   r-   Ú_type_instancesr    r˜   s    r0   r¢   r¢   U  s;   € ô
 �%ÔÜ�UÔØÜ˜×)Ñ)Ó*Ð*Ü�eœ_×:Ñ:Ó;Ð;r2   c                óD  ‡‡— t        «       Šˆˆfd„Š ‰| «      }t        |t        «      rtt        «       }t        |«      }|r[|j	                  «       }t        |t        «      r|j                  |«       n&|j                  |t        u st        |«      rdn|«       |rŒ[|S |hS )zçExtracts the value from a TypeAliasType, recursively exploring unions
    and inner TypeAliasType to flatten them into a single set.

    Forward references are not evaluated, so no recursive exploration happens
    into them.
    c                óÈ   •— | ‰v r| S ‰j                  | «       t        | «      s| S | j                  }t        |«      s|S |j                  D �cg c]
  } ‰|«      ‘Œ c}S c c}w rE   )rc   r¢   Ú	__value__Úis_unionr6   )Ú
inner_typeÚvalueÚtÚ_seenÚrecursive_values      €€r0   r¬   z&pep695_values.<locals>.recursive_valuej  sa   ø€ Ø˜Ñð ÐØ�	‰	�*ÔÜ˜Ô$ØÐØ×$Ñ$ˆÜ˜ŒØˆLØ,1¯N©NÖ; q‘ Õ"Ò;Ð;ùÒ;s   ÁAN)	rb   r-   rk   r   ÚpopleftÚextendrc   r   r1   )ru   ÚresÚtypesÚstackrª   r«   r¬   s        @@r0   Úpep695_valuesr²   a  s‡   ù€ ô ‹E€Eõ<ñ ˜%Ó
 €CÜ�#”tÔÜ“ˆÜ�c“
ˆÙØ—‘“ˆAÜ˜!œTÔ"Ø—‘˜Q•à—	‘	 !¤x¡-´;¸q´>™$ÀqÔIò ð ˆàˆuˆr2   c                 ó   — y rE   r=   ©ru   Úcheck_genericÚcheck_for_plain_strings      r0   r]   r]   †  s   € ð
  r2   c                 ó   — y rE   r=   r´   s      r0   r]   r]   Ž  s   € ð
 ),r2   c                ó¸   ‡— ‰rt        | t        «      ryt        | t        j                  «      ry|r)t	        | «      rt        ˆfd„| j                  D «       «      S y)NTc              3  ó:   •K  — | ]  }t        |d ‰¬«      –— Œ y­w)T)r¶   N)r]   )rX   Úargr¶   s     €r0   r\   zis_fwd_ref.<locals>.<genexpr>   s-   øè ø€ ò 
ð ô Ø�TÐ2H÷ð ñ
ùs   ƒF)r-   r^   r£   r	   r`   Úanyr6   r´   s     `r0   r]   r]   –  sV   ø€ ñ
 ¤*¨U´CÔ"8ØÜ	�Eœ?×5Ñ5Ô	6ØÙ	œ: eÔ,Üó 
ð —~‘~ô	
ó 
ð 	
ð r2   c                 ó   — y rE   r=   r˜   s    r0   Úde_optionalize_union_typesr½   ª  s   € Ø36r2   c                 ó   — y rE   r=   r˜   s    r0   r½   r½   ®  s   € Ø?Br2   c                 ó   — y rE   r=   r˜   s    r0   r½   r½   ²  s   € ØILr2   c                 ó   — y rE   r=   r˜   s    r0   r½   r½   ¶  ó   € ð r2   c                óÒ   — t        | «      rt        | d«      S t        | «      r?t        | «      r4| j                  D �ch c]  }|t
        urt        |«      s|’Œ }}t        |Ž S | S c c}w )zmGiven a type, filter out ``Union`` types that include ``NoneType``
    to not include the ``NoneType``.

    F)r]   Ú#_de_optionalize_fwd_ref_union_typesr§   Úincludes_noner6   r   r1   Úmake_union_type)ru   rª   r/   s      r0   r½   r½   ¼  sq   € ô �%ÔÜ2°5¸%Ó@Ð@ä	�%Œœ]¨5Ô1ð —^‘^ö
àØœÑ ¬°Q¬ò ð
ˆð 
ô  Ð$Ð$ð ˆùò
s   ¼A$c                 ó   — y rE   r=   ©ru   Úreturn_has_nones     r0   rÃ   rÃ   Ô  s   € ð r2   c                 ó   — y rE   r=   rÇ   s     r0   rÃ   rÃ   Ú  rÁ   r2   c                ó¬  — | j                   }t        j                  d|«      }|�r^|j                  d«      j	                  d«      d   }|dk(  r|rdS t        |j                  d«      «      S |dk(  �rd	|j                  d«      v r�g }g }d
}|j                  d«      D ]r  }|d	k(  r|dz  }nT|dk(  r|dz  }nI|d
k(  rD|dk(  r?|j                  dj                  |«      j                  «       «       |j                  «        Œb|j                  |«       Œt n%t        j                  d|j                  d«      «      }|D �	cg c]  }	|	dk7  sŒ	t        |	«      ‘Œ }
}	|rt        |«      t        |
«      k7  S |
rt        |
Ž S t        S |rdS | S t        j                  d|«      }d|v }|r|S |r+dj                  d„ |D «       «      }|rt        |«      S t        S | S c c}	w )zÁreturn the non-optional type for Optional[], Union[None, ...], x|None,
    etc. without de-stringifying forward refs.

    unfortunately this seems to require lots of hardcoded heuristics

    z^(.+?)\[(.+)\]$é   r�   éÿÿÿÿr   Té   r   ú[r   ú]ú,Ú z,\s*r,   Fz\s*\|\s*ú|c              3  ó,   K  — | ]  }|d k7  sŒ	|–— Œ y­w)r,   Nr=   )rX   Úps     r0   r\   z6_de_optionalize_fwd_ref_union_types.<locals>.<genexpr>  s   è ø€ ÒB !°a¸6³kœAÑBùs   ‚
�)r.   rq   rr   ÚgroupÚsplitr	   ÚappendÚjoinÚstripÚclearÚlenrÅ   r"   )ru   rÈ   rf   ÚmmÚg1rh   ÚcurrentÚignore_commaÚcharrY   ÚpartsÚpipe_tokensÚhas_noneÚanno_strs                 r0   rÃ   rÃ   à  sÈ  € ð ×&Ñ&€Jä	�‰Ð$ jÓ	1€BÚ	Ø�X‰X�a‹[×Ñ˜sÓ# BÑ'ˆØ�ÒÙ*�4ÐG´
¸2¿8¹8ÀA»;Ó0GÐGØ�7‹]Ø�b—h‘h˜q“kÑ!à&(�Ø%'�Ø �ØŸH™H Q›Kò 	)�DØ˜s’{Ø$¨Ñ)™Ø šØ$¨Ñ)™Ø%¨Ò*¨t°sª{Ø Ÿ™¨¯©°Ó(8×(>Ñ(>Ó(@ÔAØŸ™œØ Ø—N‘N 4Õ(ñ	)ô Ÿ8™8 G¨R¯X©X°a«[Ó9�Ø2:ÖM¨$¸dÀf»n”Z Õ%ÐMˆEÐMÙÜ˜8“}¬¨E«
Ñ2Ð2á27”¨Ð.ÐB¼UÐBá+�5Ð6°Ð6ä—(‘(˜;¨
Ó3€KØ˜Ð$€HÙØˆÙØ—8‘8ÑB {ÔBÓBˆÙ'/Œz˜(Ó#Ð:´UÐ:à€Lùò! Ns   Ä;
GÅGc                 ó   — t         |    S )zMake a Union type.r   )r°   s    r0   rÅ   rÅ     s   € ô �‰<Ðr2   c                óš  — t        | «      rt        | d«      S t        | «      rt        d„ t	        | «      D «       «      S t        | «      rt        t	        | «      d   «      S t        | «      rt        d„ t        | «      D «       «      S t        | «      rt        | j                  «      S 	 | t        dfv xs t        | «      S # t        $ r Y yw xY w)a.  Returns if the type annotation ``type_`` allows ``None``.

    This function supports:
    * forward refs
    * unions
    * pep593 - Annotated
    * pep695 - TypeAliasType (does not support looking into
    fw reference of other pep695)
    * NewType
    * plain types like ``int``, ``None``, etc
    Tc              3  ó2   K  — | ]  }t        |«      –— Œ y ­wrE   ©rÄ   ©rX   rª   s     r0   r\   z includes_none.<locals>.<genexpr>+  s   è ø€ Ò=¨”= ×#Ñ=ùó   ‚r   c              3  ó2   K  — | ]  }t        |«      –— Œ y ­wrE   rè   ré   s     r0   r\   z includes_none.<locals>.<genexpr>/  s   è ø€ ÒB¨”= ×#ÑBùrê   NF)r]   rÃ   r§   r»   r   r™   rÄ   r¢   r²   rŸ   Ú__supertype__r   r1   Ú	TypeErrorr˜   s    r0   rÄ   rÄ     s»   € ô �%ÔÜ2°5¸$Ó?Ð?Ü�„ÜÑ=¬X°e«_Ô=Ó=Ð=Ü�ÔÜœX e›_¨QÑ/Ó0Ð0Ü�ÔÜÑB¬]¸5Ó-AÔBÓBÐBÜ�%ÔÜ˜U×0Ñ0Ó1Ð1ðØœ 4Ð(Ð(Ò>¬K¸Ó,>Ð>øÜò ñ ð	ús   Â'B> Â>	C
Ã	C
c                ó®   — t        | t        «      xsD t        | «      d uxs5 t        | dd «      dv xs$ t        | «      j                  d   j
                  dv S )Nr9   )ÚtypingÚtyping_extensionsr   )r-   Útyper   r’   Ú__mro__r9   r˜   s    r0   Ú	is_a_typeró   ;  sd   € ä�5œ$Óò 	PÜ�eÓ DÐ(ò	Pä�5˜,¨Ó-Ø*ð+ò	Pô �‹;×Ñ˜qÑ!×,Ñ,Ð0OÐOðr2   c                ó   — t        | dd«      S )Nr   Ú	UnionType)Úis_origin_ofr˜   s    r0   r§   r§   E  s   € Ü˜˜w¨Ó4Ð4r2   c                óZ   — t        | «      }|€yt        |t        «      xr t        ||«      S )z[return True if the given type has an __origin__ that shares a base
    with the given classF)r   r-   rñ   Ú
issubclass)ru   Ú	class_objÚorigins      r0   Úis_origin_of_clsrû   I  s/   € ô ˜Ó€FØ€~Øä�fœdÓ#ÒE¬
°6¸9Ó(EÐEr2   )Úmodulec               ó€   — t        | «      }|€y|j                  |v xr! |du xs |j                  j                  |«      S )z\return True if the given type has an __origin__ with the given name
    and optional module.NF)r   r8   r9   Ú
startswith)ru   rü   Únamesrú   s       r0   rö   rö   V  sI   € ô ˜Ó€FØ€~Øà�?‰?˜eÐ#ò Ø�$ˆÒ>˜&×+Ñ+×6Ñ6°vÓ>ðr2   c                  ó$   — e Zd Zdd„Zdd„Zdd„Zy)ÚDescriptorProtoc                 ó   — y rE   r=   ©rF   ÚinstanceÚowners      r0   Ú__get__zDescriptorProto.__get__f  rH   r2   c                 ó   — y rE   r=   ©rF   r  r©   s      r0   Ú__set__zDescriptorProto.__set__h  rH   r2   c                 ó   — y rE   r=   ©rF   r  s     r0   Ú
__delete__zDescriptorProto.__delete__j  rH   r2   N)r  Úobjectr  r   rL   r   )r  r   r©   r   rL   r,   ©r  r   rL   r,   )r8   r9   r:   r  r	  r  r=   r2   r0   r  r  e  s   „ Û?ã=ä4r2   r  Ú_DESCc                  ó.   — e Zd ZdZerdd„Zdd„Zdd„Zyy)	ÚDescriptorReferenceaŠ  a descriptor that refers to a descriptor.

    used for cases where we need to have an instance variable referring to an
    object that is itself a descriptor, which typically confuses typing tools
    as they don't know when they should use ``__get__`` or not when referring
    to the descriptor assignment as an instance variable. See
    sqlalchemy.orm.interfaces.PropComparator.prop

    c                 ó   — y rE   r=   r  s      r0   r  zDescriptorReference.__get__}  rH   r2   c                 ó   — y rE   r=   r  s      r0   r	  zDescriptorReference.__set__  rH   r2   c                 ó   — y rE   r=   r  s     r0   r  zDescriptorReference.__delete__�  rH   r2   N)r  r  r  r   rL   r  )r  r   r©   r  rL   r,   r  ©r8   r9   r:   r;   r   r  r	  r  r=   r2   r0   r  r  p  s   „ ññ ãEãCä8ð r2   r  Ú_DESC_co)r&   r*   c                  ó.   — e Zd ZdZerdd„Zdd„Zdd„Zyy)	ÚRODescriptorReferencez½a descriptor that refers to a descriptor.

    same as :class:`.DescriptorReference` but is read-only, so that subclasses
    can define a subtype as the generically contained element

    c                 ó   — y rE   r=   r  s      r0   r  zRODescriptorReference.__get__‘  rH   r2   c                 ó   — y rE   r=   r  s      r0   r	  zRODescriptorReference.__set__“  rH   r2   c                 ó   — y rE   r=   r  s     r0   r  z RODescriptorReference.__delete__•  rH   r2   N)r  r  r  r   rL   r  )r  r   r©   r   rL   r   )r  r   rL   r   r  r=   r2   r0   r  r  ‡  s   „ ññ ãHãEä<ð r2   r  Ú_FNc                  ó.   — e Zd ZdZerdd„Zdd„Zdd„Zyy)	ÚCallableReferencez�a descriptor that refers to a callable.

    works around mypy's limitation of not allowing callables assigned
    as instance variables


    c                 ó   — y rE   r=   r  s      r0   r  zCallableReference.__get__¦  rH   r2   c                 ó   — y rE   r=   r  s      r0   r	  zCallableReference.__set__¨  rH   r2   c                 ó   — y rE   r=   r  s     r0   r  zCallableReference.__delete__ª  rH   r2   N)r  r  r  r   rL   r  )r  r   r©   r  rL   r,   r  r  r=   r2   r0   r  r  ›  s   „ ññ ãCãAä8ð r2   r  c                  ó   — e Zd Zdd„Zy)Ú_TypingInstancesc                ó¾   — t        t        t        |d «      t        t        |d «      fD �ch c]  }|�|’Œ c}«      }|st	        |«      ‚|| j
                  |<   |S c c}w rE   )rd   r’   rï   rð   ÚAttributeErrorr~   )rF   Úkeyrª   r°   s       r0   Ú__getattr__z_TypingInstances.__getattr__®  sn   € Üô œF C¨Ó.ÜÔ-¨s°DÓ9ðöàð �=ò òó	
ˆñ Ü  Ó%Ð%Ø"ˆ�‰�cÑØˆùòs   ªAN)r&  r^   rL   ztuple[type, ...])r8   r9   r:   r'  r=   r2   r0   r#  r#  ­  s   „ ôr2   r#  )r/   r   rL   Úbool)rZ   ú	Type[Any]rf   Ú_AnnotationScanTyper[   r^   rT   zMapping[str, Any]rO   z#Optional[Callable[[str, str], str]]rP   r(  rQ   zOptional[Set[Any]]rL   r)  )ru   r*  rL   r*  )rf   zGenericProtocol[_T]rh   r5   rL   r@   )
r…   r^   r†   r^   rT   úOptional[Mapping[str, Any]]rU   zOptional[Type[Any]]rL   r   )r�   r^   r†   r^   rT   r+  rL   r   )r�   r^   r†   r^   rL   r^   )ru   zOptional[Any]rL   r(  )r“   r   rL   zTypeGuard[Iterable[Any]])ru   r   rL   r(  )ru   zOptional[_AnnotationScanType]rL   zTypeGuard[NewType])ru   r*  rL   zTypeGuard[GenericProtocol[Any]])ru   r*  rL   zTypeGuard[TypeAliasType])ru   r*  rL   zSet[Any])..)ru   r*  rµ   r(  r¶   úLiteral[False]rL   zTypeGuard[ForwardRef])ru   r*  rµ   r(  r¶   r(  rL   z!TypeGuard[Union[str, ForwardRef]])FF)ru   r^   rL   r^   )ru   r)  rL   r)  )ru   Ú_MatchedOnTyperL   r-  )ru   r	   rÈ   zLiteral[True]rL   r(  )ru   r	   rÈ   r,  rL   r*  )ru   r	   rÈ   r(  rL   z Union[_AnnotationScanType, bool])r°   r*  rL   r)  )ru   r   rL   zTypeGuard[ArgsTypeProtocol])ru   r   rù   z'Union[Tuple[Type[Any], ...], Type[Any]]rL   r(  )ru   r   rÿ   r^   rü   zOptional[str]rL   r(  )ZÚ
__future__r   rŽ   Úcollectionsr   Úcollections.abcÚabcrl   rq   r|   r°   r   rï   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rð   r   r   r   r   r    r!   r"   r#   r$   r%   r'   r(   r)   ÚTupleAnyr1   r^   r*  r-  r4   r?   rC   Ú_LiteralStarrW   rv   re   r_   r�   r”   r™   rœ   ra   rŸ   r`   r¢   r²   r]   r½   rÃ   rÅ   rÄ   ró   r§   rû   rö   r  r  r  r  r  r  r  r#  r–   r£   ÚLITERAL_TYPESr=   r2   r0   ú<module>r5     s  ðõ #ã Ý Ý )Û 	Û 
Ý Û Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý  Ý Ý ã àõõ =Ý>Ý.Ý@Ý2Ý0Ý@Ý4ñ ˆT˜Ô€Ùˆeƒn€Ùˆeƒn€Ù	� TÔ	*€à��c�‰?€óIð Øˆ�Iˆs�J ¨Ð8NÐNñÐ ð Ø˜M¨7°D¸±IÐ=ñ€ô
.�xô .ô�h˜r‘lô ô(3˜X c¨6 kÑ2ô 3ð �s‰|€ð ;?Ø!Ø(,ñDØ	ðDà#ðDð ðDð ð	Dð 8ðDð ðDð &ðDð óDðN&Øð&àó&ðR/Ø#ð/Ø/Nð/àó/ð ,0Ø$(ñ!Øð!àð!ð )ð	!ð
 "ð!ð 	ó!ðP ,0ñ	Ø
ðàðð )ð	ð
 	óóD.óMóó5ó3óGó	<ó"ðJ 
ð Ø-0ð Øð àð ð +ð ð ò	 ó 
ð ð 
ð Ø#&ð,Øð,àð,ð !ð,ð 'ò	,ó 
ð,ð  Ø#(ðØðàðð !ðð 'ó	ð( 
Ú 6ó 
Ø 6ð 
Ú Bó 
Ø Bð 
Ú Ló 
Ø Lð 
ðØðàòó 
ðð
Øðàóð0 
ðØðØ(5ðà	òó 
ðð
 
ðØðØ(6ðàòó 
ðð
3Øð3Ø(,ð3à%ó3ólóó>ó5ð
FØð
FØBð
Fà	ó
Fð 6:ñØðØðØ%2ðà	óô5�hô 5ñ 	�˜Ô/€ô9˜' %™.ô 9ñ( �: _ÀÔE€ô=˜G HÑ-ô =ñ" ˆe˜8 H¨S°#¨XÑ$6Ñ7Ô8€ô9˜ ™ô 9÷$ñ ñ$  Ó!€ÙØ'€Oð ×$Ñ$�ð #€Oà×$Ñ$�r2   