Ë
    ðmxi³G  ã                  óž  — U d 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 erddlmZ ddlmZ e	e ef   Z!ejD                  Z#de$d<    G d„ d e«      Z% G d!„ d"e%«      Z& G d#„ d$e&«      Z' G d%„ d&e%«      Z(i Z)d'e$d(<    ed)d ¬*«      Z*d5d+„Z+	 d6d,d,dd-œ	 	 	 	 	 	 	 	 	 	 	 	 	 d7d.„Z,e	 d6	 	 	 	 	 d8d/„«       Z-e	 d6	 	 	 	 	 d9d0„«       Z-	 d6	 	 	 	 	 d:d1„Z-d;d2„Z.	 	 	 	 	 	 d<d3„Z/	 	 	 	 	 	 d=d4„Z0y)>a*  The :class:`.Annotated` class and related routines; creates hash-equivalent
copies of SQL constructs which contain context-specific markers and
associations.

Note that the :class:`.Annotated` concept as implemented in this module is not
related in any way to the pep-593 concept of "Annotated".


é    )ÚannotationsN)ÚAny)ÚCallable)Úcast)ÚDict)Ú	FrozenSet)ÚMapping)ÚOptional)Úoverload)ÚSequence)ÚTuple)ÚType)ÚTYPE_CHECKING)ÚTypeVaré   )Ú	operators)ÚHasCacheKey)Úanon_map)ÚExternallyTraversible)ÚInternalTraversalé   )Úutil)ÚLiteral)ÚSelf)Ú_EntityNamespace)Ú_TraverseInternalsTypeúutil.immutabledict[str, Any]ÚEMPTY_ANNOTATIONSc                  óÎ   — e Zd ZU dZeZded<   ded<   ded<   dd„Ze	 	 d	 	 	 	 	 dd	„«       Z	e	 	 d	 	 	 	 	 dd
„«       Z		 	 d	 	 	 	 	 dd„Z	e
j                  dd„«       Z	 	 	 	 dd„Zy)ÚSupportsAnnotations© r   Ú_annotationsz*util.generic_fn_descriptor[FrozenSet[Any]]Ú	proxy_setÚboolÚ_is_immutablec                ó   — t        «       ‚©N©ÚNotImplementedError©ÚselfÚvaluess     úP/home/htdocs/ttos/venv/lib/python3.12/site-packages/sqlalchemy/sql/annotation.pyÚ	_annotatezSupportsAnnotations._annotate>   s   € Ü!Ó#Ð#ó    c                 ó   — y r'   r!   ©r+   r,   Úclones      r-   Ú_deannotatezSupportsAnnotations._deannotateA   ó   € ð
 r/   c                 ó   — y r'   r!   r1   s      r-   r3   zSupportsAnnotations._deannotateH   ó   € ð
 "r/   Nc                ó   — t        «       ‚r'   r(   r1   s      r-   r3   zSupportsAnnotations._deannotateO   s   € ô
 "Ó#Ð#r/   c                ó8   — t        «       }| j                  |«      S r'   )r   Ú_gen_annotations_cache_key)r+   Ú	anon_map_s     r-   Ú_annotations_cache_keyz*SupportsAnnotations._annotations_cache_keyV   s   € ä“Jˆ	à×.Ñ.¨yÓ9Ð9r/   c           
     óš   ‡— dt        ˆfd„t        | j                  «      D �cg c]  }|| j                  |   f‘Œ c}D «       «      fS c c}w )Nr"   c              3  óp   •K  — | ]-  \  }}|t        |t        «      r|j                  ‰g «      n|f–— Œ/ y ­wr'   )Ú
isinstancer   Ú_gen_cache_key)Ú.0ÚkeyÚvaluer   s      €r-   ú	<genexpr>zASupportsAnnotations._gen_annotations_cache_key.<locals>.<genexpr>a   sE   øè ø€ ò ñ �C˜ð ô & e¬[Ô9ð ×,Ñ,¨X°rÔ:à"ôñùs   ƒ36)ÚtupleÚsortedr"   )r+   r   rA   s    ` r-   r9   z.SupportsAnnotations._gen_annotations_cache_key\   s\   ø€ ð Üó ô  & d×&7Ñ&7Ó8ö#àð ˜$×+Ñ+¨CÑ0Ò1ò#ôó ð
ð 	
ùò#s   £A©r,   Ú_AnnotationDictÚreturnr   ©..©r,   úLiteral[None]r2   r$   rH   r   ©r,   úSequence[str]r2   r$   rH   r    ©NF©r,   úOptional[Sequence[str]]r2   r$   rH   r    )rH   úTuple[Any, ...])r   r   rH   rQ   )Ú__name__Ú
__module__Ú__qualname__Ú	__slots__r   r"   Ú__annotations__r.   r   r3   r   Úmemoized_propertyr;   r9   r!   r/   r-   r    r    5   së   … Ø€Ià1B€LÐ.ÓBà9Ó9àÓó$ð ð !$Øðàðð ðð 
ò	ó ðð ð !$Øð"àð"ð ð"ð 
ò	"ó ð"ð +/Øð$à'ð$ð ð$ð 
ó	$ð 
×Ñò:ó ð:ð

Ø ð
à	ô
r/   r    c                  ó²   — e Zd ZU dZded<   erej                  dd„«       Zdd„Z	dd„Z
e	 	 d	 	 	 	 	 dd„«       Ze	 	 d	 	 	 	 	 dd„«       Z	 	 d	 	 	 	 	 dd
„Zy	)ÚSupportsWrappingAnnotationsr!   z*Callable[..., SupportsWrappingAnnotations]Ú_constructorc                 ó   — y r'   r!   ©r+   s    r-   Úentity_namespacez,SupportsWrappingAnnotations.entity_namespacey   s   € Ø8;r/   c                ó.   — t         j                  | |«      S )úgreturn a copy of this ClauseElement with annotations
        updated by the given dictionary.

        ©Ú	AnnotatedÚ_as_annotated_instancer*   s     r-   r.   z%SupportsWrappingAnnotations._annotate|   ó   € ô
 ×/Ñ/°°fÓ=Ð=r/   c                ó.   — t         j                  | |«      S )úhreturn a copy of this ClauseElement with annotations
        replaced by the given dictionary.

        r`   r*   s     r-   Ú_with_annotationsz-SupportsWrappingAnnotations._with_annotationsƒ   rc   r/   c                 ó   — y r'   r!   r1   s      r-   r3   z'SupportsWrappingAnnotations._deannotateŠ   r4   r/   c                 ó   — y r'   r!   r1   s      r-   r3   z'SupportsWrappingAnnotations._deannotate‘   r6   r/   Nc                ó.   — |r| j                  «       }|S | S )ú¼return a copy of this :class:`_expression.ClauseElement`
        with annotations
        removed.

        :param values: optional tuple of individual values
         to remove.

        )Ú_clone)r+   r,   r2   Úss       r-   r3   z'SupportsWrappingAnnotations._deannotate˜   s   € ñ Ø—‘“ˆAØˆHàˆKr/   ©rH   r   rF   rI   rJ   rL   rN   rO   )rR   rS   rT   rU   rV   r   r   Úro_non_memoized_propertyr]   r.   rf   r   r3   r!   r/   r-   rY   rY   r   sÇ   … Ø€Ià<Ó<áà	×	&Ñ	&Ú;ó 
'Ø;ó>ó>ð ð !$Øðàðð ðð 
ò	ó ðð ð !$Øð"àð"ð ð"ð 
ò	"ó ð"ð +/Øðà'ðð ðð 
ô	r/   rY   c                  ó¾   — e Zd ZU ej                  sdZdej                  fgZde	d<   dd„Z
dd„Ze	 	 d	 	 	 	 	 dd„«       Ze	 	 d	 	 	 	 	 dd„«       Z	 	 d	 	 	 	 	 dd
„Zy	)ÚSupportsCloneAnnotationsr!   r"   r   Ú%_clone_annotations_traverse_internalsc                óÖ   — | j                  «       }|j                  j                  |«      |_        |j                  j	                  dd«       |j                  j	                  dd«       |S )r_   r;   NÚ_generate_cache_key)rk   r"   ÚunionÚ__dict__Úpop©r+   r,   Únews      r-   r.   z"SupportsCloneAnnotations._annotate»   sW   € ð
 �k‰k‹mˆØ×+Ñ+×1Ñ1°&Ó9ˆÔØ�‰×ÑÐ1°4Ô8Ø�‰×ÑÐ.°Ô5Øˆ
r/   c                óÊ   — | j                  «       }t        j                  |«      |_        |j                  j                  dd«       |j                  j                  dd«       |S )re   r;   Nrs   )rk   r   Úimmutabledictr"   ru   rv   rw   s      r-   rf   z*SupportsCloneAnnotations._with_annotationsÆ   sQ   € ð
 �k‰k‹mˆÜ×-Ñ-¨fÓ5ˆÔØ�‰×ÑÐ1°4Ô8Ø�‰×ÑÐ.°Ô5Øˆ
r/   c                 ó   — y r'   r!   r1   s      r-   r3   z$SupportsCloneAnnotations._deannotateÑ   r4   r/   c                 ó   — y r'   r!   r1   s      r-   r3   z$SupportsCloneAnnotations._deannotateØ   r6   r/   Nc                ó°   — |s| j                   rG| j                  «       }t        j                  «       |_         |j                  j                  dd«       |S | S )rj   r;   N)r"   rk   r   rz   ru   rv   )r+   r,   r2   rx   s       r-   r3   z$SupportsCloneAnnotations._deannotateß   sL   € ñ �D×%Ò%ð —+‘+“-ˆCÜ#×1Ñ1Ó3ˆCÔØ�L‰L×ÑÐ5°tÔ<ØˆJàˆKr/   rF   rI   rJ   rL   rN   rO   )rR   rS   rT   Útypingr   rU   r   Údp_annotations_keyrq   rV   r.   rf   r   r3   r!   r/   r-   rp   rp   ¬   s×   … ð ×ÒØˆ	ð 
Ð*×=Ñ=Ð>ðEÐ)Ð+Aó ó	ó	ð ð !$Øðàðð ðð 
ò	ó ðð ð !$Øð"àð"ð ð"ð 
ò	"ó ð"ð +/Øðà'ðð ðð 
ô	r/   rp   c                  óL  — e Zd ZU dZdZe	 	 	 	 	 	 dd„«       Zded<   ded<   ded	<   dd
„Z	 	 	 	 dd„Z	dd„Z
dd„Ze	 	 d	 	 	 	 	 dd„«       Ze	 	 d	 	 	 	 	 dd„«       Z	 	 d 	 	 	 	 	 d!d„Zej                  sd"d„Zed„ «       Zd#d„Zd$d„Zd%d„Zd&d„Zej0                  d'd„«       Zy)(ra   aJ  clones a SupportsAnnotations and applies an 'annotations' dictionary.

    Unlike regular clones, this clone also mimics __hash__() and
    __eq__() of the original element so that it takes its place
    in hashed collections.

    A reference to the original element is maintained, for the important
    reason of keeping its hash value current.  When GC'ed, the
    hash value may be reused, causing conflicts.

    .. note::  The rationale for Annotated producing a brand new class,
       rather than placing the functionality directly within ClauseElement,
       is **performance**.  The __hash__() method is absent on plain
       ClauseElement which leads to significantly reduced function call
       overhead, as the use of sets and dictionaries against ClauseElement
       objects is prevalent, but most are not "annotated".

    FrY   c                ó†   — 	 t         |j                     }  | ||«      S # t        $ r t        |j                  | «      } Y Œ*w xY wr'   )Úannotated_classesÚ	__class__ÚKeyErrorÚ_new_annotation_type)ÚclsÚelementr,   s      r-   rb   z Annotated._as_annotated_instance  sI   € ð	?Ü# G×$5Ñ$5Ñ6ˆCñ �7˜FÓ#Ð#øô ò 	?Ü& w×'8Ñ'8¸#Ó>ŠCð	?ús   ‚ žA ¿A r   r"   Ú_Annotated__elementÚintÚ_hashc                ó,   — t         j                  | «      S r'   )ÚobjectÚ__new__)r†   Úargss     r-   r�   zAnnotated.__new__  s   € Ü�~‰~˜cÓ"Ð"r/   c                ó  — |j                   j                  «       | _         | j                   j                  dd «       | j                   j                  dd «       || _        t	        j
                  |«      | _        t        |«      | _        y ©Nr;   rs   )	ru   Úcopyrv   rˆ   r   rz   r"   ÚhashrŠ   )r+   r‡   r,   s      r-   Ú__init__zAnnotated.__init__  si   € ð  ×(Ñ(×-Ñ-Ó/ˆŒØ�‰×ÑÐ2°DÔ9Ø�‰×ÑÐ/°Ô6Ø ˆŒÜ ×.Ñ.¨vÓ6ˆÔÜ˜'“]ˆ�
r/   c                ó^   — | j                   j                  |«      }| j                  |«      }|S r'   )r"   rt   rf   )r+   r,   Ú_valuesrx   s       r-   r.   zAnnotated._annotate(  s-   € Ø×#Ñ#×)Ñ)¨&Ó1ˆØ×$Ñ$ WÓ-ˆØˆ
r/   c                ó2  — | j                   j                  | j                   «      }| j                  j                  «       |_        |j                  j	                  dd «       |j                  j	                  dd «       t        j                  |«      |_        |S r�   )rƒ   r�   ru   r‘   rv   r   rz   r"   r1   s      r-   rf   zAnnotated._with_annotations-  sp   € Ø—‘×&Ñ& t§~¡~Ó6ˆØŸ™×+Ñ+Ó-ˆŒØ�‰×ÑÐ3°TÔ:Ø�‰×ÑÐ0°$Ô7Ü!×/Ñ/°Ó7ˆÔØˆr/   c                 ó   — y r'   r!   r1   s      r-   r3   zAnnotated._deannotate5  r4   r/   c                 ó   — y r'   r!   r1   s      r-   r3   zAnnotated._deannotate<  s   € ð
 r/   Nc           
     óÒ   — |€| j                   S | j                  t        j                  | j                  j                  «       D ��ci c]  \  }}||vr||“Œ c}}«      «      S c c}}w r'   )rˆ   rf   r   rz   r"   Úitems)r+   r,   r2   rA   rB   s        r-   r3   zAnnotated._deannotateC  sp   € ð
 ˆ>Ø—>‘>Ð!à×)Ñ)Ü×"Ñ"ð +/×*;Ñ*;×*AÑ*AÓ*C÷á&˜C Ø fÑ,ð ˜U™
óóóð ùós   ÁA#c                óR   —  | j                   j                  j                  | |fi |¤ŽS r'   )rˆ   rƒ   Ú_compiler_dispatch)r+   ÚvisitorÚkws      r-   rœ   zAnnotated._compiler_dispatchW  s.   € Ø>�4—>‘>×+Ñ+×>Ñ>Ø�gñØ!#ñð r/   c                ó.   — | j                   j                  S r'   )rˆ   rZ   r\   s    r-   rZ   zAnnotated._constructor\  s   € à—>‘>×.Ñ.Ð.r/   c                óÜ   —  | j                   j                  di |¤Ž}|| j                   u r| S |j                  j                  | j                  «       | j	                  || j
                  «      S )Nr!   )rˆ   rk   ru   Úupdaterƒ   r"   )r+   rž   r2   s      r-   rk   zAnnotated._clone`  s[   € Ø%�—‘×%Ñ%Ñ+¨Ñ+ˆØ�D—N‘NÑ"àˆKð �N‰N×!Ñ! $§-¡-Ô0Ø—>‘> %¨×):Ñ):Ó;Ð;r/   c                óJ   — | j                   | j                  | j                  ffS r'   )rƒ   rˆ   r"   r\   s    r-   Ú
__reduce__zAnnotated.__reduce__k  s    € Ø�~‰~ §¡°×0AÑ0AÐBÐBÐBr/   c                ó   — | j                   S r'   )rŠ   r\   s    r-   Ú__hash__zAnnotated.__hash__n  s   € Ø�z‰zÐr/   c                ó”   — | j                   r&| j                  j                  j                  | |«      S t	        |«      t	        | «      k(  S r'   )Ú_is_column_operatorsrˆ   rƒ   Ú__eq__r’   )r+   Úothers     r-   r¨   zAnnotated.__eq__q  s;   € Ø×$Ò$Ø—>‘>×+Ñ+×2Ñ2°4¸Ó?Ð?ä˜“;¤$ t£*Ñ,Ð,r/   c                ó˜   — d| j                   v r't        t        | j                   d   «      j                  S | j                  j                  S )Nr]   )r"   r   rY   r]   rˆ   r\   s    r-   r]   zAnnotated.entity_namespacew  sI   € à ×!2Ñ!2Ñ2ÜÜ+Ø×!Ñ!Ð"4Ñ5ó÷ Ñðð
 —>‘>×2Ñ2Ð2r/   )r‡   rY   r,   rG   rH   ra   )r†   z
Type[Self]rŽ   r   rH   r   )r‡   rY   r,   rG   rF   rI   rJ   )r,   rM   r2   r$   rH   ra   )NTrO   )r�   r   rž   r   rH   r   )rž   r   rH   r   )rH   z'Tuple[Type[Annotated], Tuple[Any, ...]])rH   r‰   )r©   r   rH   r$   rm   )rR   rS   rT   Ú__doc__r§   Úclassmethodrb   rV   r�   r“   r.   rf   r   r3   r~   r   rœ   ÚpropertyrZ   rk   r£   r¥   r¨   r   rn   r]   r!   r/   r-   ra   ra   ÷   s\  … ñð& !Ðàð$Ø1ð$Ø;Jð$à	ò$ó ð$ð /Ó.Ø*Ó*ØƒJó#ð#Ø2ð#Ø<Kó#óó
ð ð !$Øðàðð ðð 
ò	ó ðð ð !$Øðàðð ðð 
ò	ó ðð +/Øðà'ðð ðð 
ó	ð$ ×Òó	ð
 
ñ	/ó 
ð	/ó	<óCóó-ð 
×"Ñ"ò3ó #ñ3r/   ra   z8Dict[Type[SupportsWrappingAnnotations], Type[Annotated]]r‚   Ú_SA)Úboundc                óN   — 	 | j                   } ||«      S # t        $ r | cY S w xY wr'   )r.   ÚAttributeError)Úto_annotater   r.   s      r-   Ú_safe_annotater³   Ž  s8   € ð&Ø×)Ñ)ˆ	ñ ˜Ó%Ð%øô ò ð Òð	ús   ‚ –$£$F)Údetect_subquery_colsÚind_cols_on_fromclauseÚannotate_callablec               ód   ‡‡‡‡‡‡‡— i Šdˆˆˆˆˆˆˆfd„Š| �t        t         ‰| «      «      } dŠ| S )z¹Deep copy the given ClauseElement, annotating each element
    with the given annotations dictionary.

    Elements within the exclude collection will be cloned but not annotated.

    c                ó†  •— ‰	|d<   t        | «      }|‰v r‰|   S ‰
r<t        | d«      r0| j                  j                  ‰
«      r | j                  dd‰i|¤Ž}nO‰| j
                  k7  r>‰	r!| j                  r | j                  dd‰i|¤Ž}n| }‰r
 ‰|‰«      }nt        |‰«      }n| }|j                  ‰‰d¬«       |‰|<   |S )Nr´   r#   r2   T)r2   rµ   Ú_annotations_traversalr!   )	ÚidÚhasattrr#   Úintersectionrk   r"   r%   r³   Ú_copy_internals)Úelemrž   Úid_Únewelemr²   r¶   r   r2   Ú
cloned_idsr´   Úexcluderµ   s        €€€€€€€r-   r2   z_deep_annotate.<locals>.clone±  sæ   ø€ ð &:ˆÐ!Ñ"Ü�‹hˆà�*ÑØ˜c‘?Ð"ñ Ü˜˜kÔ*Ø—‘×+Ñ+¨GÔ4à!�d—k‘kÑ4¨Ð4°Ñ4‰GØ˜D×-Ñ-Ò-Ù#¨×(:Ò(:Ø)˜dŸk™kÑ<°Ð<¸Ñ<‘à"�Ù Ù+¨K¸ÓE‘ä(¨°kÓB‘àˆGà×ÑØØ#9Ø#'ð 	 ô 	
ð "ˆ
�3‰Øˆr/   N©r¾   r    rž   r   rH   r    ©r   r®   )r‡   r   rÂ   r´   rµ   r¶   r2   rÁ   s    `````@@r-   Ú_deep_annotaterÅ   š  s7   þ€ ð* 24€J÷)ó )ðV ÐÜ”s™E '›NÓ+ˆØ€EØ€Nr/   c                 ó   — y r'   r!   ©r‡   r,   s     r-   Ú_deep_deannotaterÈ   â  s   € ð r/   c                 ó   — y r'   r!   rÇ   s     r-   rÈ   rÈ   è  s   € ð r/   c                óT   ‡‡‡— i Šdˆˆˆfd„Š| �t        t         ‰| «      «      } dŠ| S )z2Deep copy the given element, removing annotations.c                ó�   •— ‰rt        | «      }n| }|‰vr-| j                  ‰d¬«      }|j                  ‰d¬«       |‰|<   |S ‰|   S )NT)r,   r2   )r2   r¹   )rº   r3   r½   )r¾   rž   rA   rÀ   r2   Úclonedr,   s       €€€r-   r2   z_deep_deannotate.<locals>.cloneõ  s\   ø€ áÜ�T“(‰CàˆCà�fÑØ×&Ñ&¨f¸DÐ&ÓAˆGØ×#Ñ#¨%ÈÐ#ÔMØ!ˆF�3‰KØˆNà˜#‘;Ðr/   NrÃ   rÄ   )r‡   r,   r2   rÌ   s    `@@r-   rÈ   rÈ   î  s1   ú€ ð
 .0€F÷ð ÐÜ”s™E '›NÓ+ˆØ€EØ€Nr/   c                óL   — | j                  |«      } | j                  d¬«       | S )a  Annotate the given ClauseElement and copy its internals so that
    internal objects refer to the new annotated object.

    Basically used to apply a "don't traverse" annotation to a
    selectable, without digging throughout the whole
    structure wasting time.
    T)r¹   )r.   r½   )r‡   r   s     r-   Ú_shallow_annotaterÎ   
  s*   € ð ×Ñ Ó,€GØ×Ñ°4ÐÔ8Ø€Nr/   c                ó  — t        | t        «      r| S | t        v r	t        |    S | j                  D ]  }|t        v sŒt        |   } n t	        t
        t           t        d| j                  z  || fi «      «      xt        | <   }|t        «       d| j                  z  <   d| j                  v r/t        | j                  «      dt        j                  fgz   |_        nJ| j                  j                  dd«      r.t        | j                  «      dt        j                  fgz   |_        | j                  j                  dd«      rd|_        n"d| j                  v r| j                  d   |_        t        | t         j"                  «      |_        |S )z[Generates a new class that subclasses Annotated and proxies a given
    element type.

    zAnnotated%sÚ_traverse_internalsr"   Úinherit_cacheFT)Ú
issubclassra   r‚   Ú__mro__r   r   ÚtyperR   Úglobalsru   ÚlistrÐ   r   r   ÚgetrÑ   r   ÚColumnOperatorsr§   )r†   Úbase_clsÚsuper_Úanno_clss       r-   r…   r…     ss  € ô �#”yÔ!Øˆ
Ø	Ô!Ñ	!Ü  Ñ%Ð%à—+‘+ò ˆð Ô&Ò&Ü(¨Ñ0ˆHÙðô )-ÜŒY‰Üˆ]˜SŸ\™\Ñ)¨H°c¨?¸BÓ?ó)ð Ô�cÑ˜Xð /7„GƒIˆm˜cŸl™lÑ*Ñ+à §¡Ñ,Ü'+¨C×,CÑ,CÓ'DØÔ.×AÑAÐBðH
ñ (
ˆÕ$ð 
�‰×	Ñ	˜/¨5Ô	1Ü'+¨C×,CÑ,CÓ'DØÔ.×AÑAÐBðH
ñ (
ˆÔ$ð ‡|�|×Ñ˜¨Ô/Ø!%ˆÕØ	˜CŸL™LÑ	(Ø!$§¡¨oÑ!>ˆÔä$.¨s´I×4MÑ4MÓ$N€HÔ!à€Or/   c                óP   — t        j                  | «      D ]  }t        ||«       Œ y r'   )r   Úwalk_subclassesr…   )Útarget_hierarchyrÙ   r†   s      r-   Ú_prepare_annotationsrß   F  s)   € ô ×#Ñ#Ð$4Ó5ò ,ˆÜ˜S (Õ+ñ,r/   )r²   r®   r   rG   rH   r®   r'   )r‡   r®   r   rG   rÂ   z'Optional[Sequence[SupportsAnnotations]]r´   r$   rµ   r$   r¶   zOOptional[Callable[[SupportsAnnotations, _AnnotationDict], SupportsAnnotations]]rH   r®   )r‡   rK   r,   rP   rH   rK   )r‡   r®   r,   rP   rH   r®   )r‡   úOptional[_SA]r,   rP   rH   rà   )r‡   r®   r   rG   rH   r®   )r†   ú!Type[SupportsWrappingAnnotations]rÙ   úType[Annotated]rH   râ   )rÞ   rá   rÙ   râ   rH   ÚNone)1r«   Ú
__future__r   r~   r   r   r   r   r   r	   r
   r   r   r   r   r   r   Ú r   Ú	cache_keyr   Úvisitorsr   r   r   r   Úutil.typingr   r   Úbaser   r   ÚstrrG   Ú
EMPTY_DICTr   rV   r    rY   rp   ra   r‚   r®   r³   rÅ   rÈ   rÎ   r…   rß   r!   r/   r-   ú<module>rì      s  ðòõ #ã Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý  Ý å Ý "Ý Ý +Ý 'Ý Ý !Ý áÝ&Ý0à˜#˜s˜(Ñ#€à26·/±/Ð Ð/Ó Aô:
Ð/ô :
ôz7Ð"5ô 7ôtHÐ:ô HôVH3Ð#ô H3ðb ð ÐKó ñ ˆeÐ0Ô1€ó	&ð 8<ðEð
 "'Ø#(ð 	ñEØðEà ðEð 5ðEð
 ðEð !ðEððEð 	óEðP 
à>BðØðØ$;ðàòó 
ðð
 
à48ðØðØ1ðàòó 
ðð ?CðØðØ$;ðàóó8
ð,Ø	*ð,Ø6Eð,àó,ð^,Ø7ð,àð,ð 
ô,r/   