+
    }¯³j‚ ã                  óN	  a € 0 t $ R t^ RIHt ^ RIt^ RIt^ RIHt ^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RI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 ^ 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$t$^RI%H&t& ^RI%H't' ^RI(H)t) ^RIH*t* ^RI%H+t+ ]"! R4      t,]"! RRR7      t-]"! R ]R!]3,          R"7      t.]"! R#R$R"7      t/]"! R%R&R"7      t0]"! R'R(R"7      t1]"! R)R*R"7      t2R+ R, lt3 ! R- R.4      t4R/ R0 lt5R1 R2 lt6RËR3 R4 llt7R5 R6 lt8R7 R8 lt9R9 R: lt:R; R< lt;]"! R=R>R"7      t<R? R@ lt=RA RB lt>]"! RC4      t?]"! RD4      t@ ! RE RF4      tARG tB]RHRRIR!/RJ RK ll4       tC]RHRRIRL/RM RN ll4       tCRHRRIRL/RO RP lltCRQ RR ltDRÌRS RT lltERÍRU RV lltFRÍRW ltGRÎRX RY lltHRZ tIR[ tJRÏR\ R] lltK ! R^ R_4      tLR` tMRa tNRÐRb ltORc tPRÑRd ltQ]"! ReRfR"7      tR ! Rg Rh]]-,          4      tS ! Ri Rj]S]-,          4      tT ! Rk Rl]S]-,          4      tU]!'       d
   ]StV]StW]XtY]XtZM]U;tVtY]T;tWtZRm Rn lt[ ! Ro Rp4      t\]!'       d   ]Xt]M]\P¼                  t] ! Rq Rr4      t_Rs Rt lt`Ru Rv ltaRw Rx ltbRÒRy Rz lltcR{ R| ltdR} R~ lteR R€ ltfRËR� R‚ lltgRƒ R„ lthR… ti ! R† R‡]X4      tj ! Rˆ R‰]],,          4      tk ! RŠ R‹]],,          4      tl ! RŒ R�]],,          4      tm ! RŽ R�]n4      to ! R� R‘]p4      tq ! R’ R“]qR”7      tr]!'       d
   ^ R•IHsts ]sttM]rtt]"! R–]Pê                  R"7      tvRÓR— R˜ lltw^sxR™ Rš ltyR› Rœ ltzRÔR� lt{ ! Rž RŸ]|4      t}RËR  R¡ llt~R¢ R£ lt/ t€R¤]�R¥&   R¦ R§ lt‚]EP                  ! R¨4      t„RÕR© Rª llt…R« R¬ lt†]EP                  ! R­4      t‡]EP                  ! R®4      tˆ]ˆ]‡3R¯ R° llt‰]p! R4      tŠR± t‹]EP                  ! R²4      tŒ ! R³ R´4      t� ! Rµ R¶4      tŽR· t�RÖR¸ R¹ llt�Rº R» lt‘R¼ t’R½ R¾ lt“R¿ RÀ lt”RÁ RÂ lt•]EP                  ! RÃ4      t–RÄ RÅ lt—RÆ RÇ lt˜RÓRÈ lt™ ! RÉ RÊ]Pê                  4      tš]šEP6                  t›]#],]*]šEP6                  ,          3,          tœR# )×z…Routines to help with the creation, loading and introspection of
modules, classes, hierarchies, attributes, functions, and methods.

)ÚannotationsN©Úupdate_wrapper)ÚCodeType)ÚAny)ÚCallable)Úcast)ÚDict)Ú	FrozenSet)ÚGeneric)ÚIterator)ÚList)ÚNoReturn)ÚOptional)Úoverload)ÚSequence)ÚSet)ÚTuple)ÚType)ÚTYPE_CHECKING)ÚTypeVar)ÚUnion)Ú_collections)Úcompat)ÚHAS_CYEXTENSION)ÚLiteral)ÚexcÚ_TÚ_T_coT)Ú	covariantÚ_F.)ÚboundÚ_MPzmemoized_property[Any]Ú_MAz#HasMemoized.memoized_attribute[Any]Ú_HPzhybridproperty[Any]Ú_HMzhybridmethod[Any]c               ó    € V ^8„  d   QhRRRR/# )é   Úxr   ÚreturnÚstr© )Úformats   "Ú\/home/luca/screen-checking/.venv/lib/python3.14/site-packages/sqlalchemy/util/langhelpers.pyÚ__annotate__r.   ?   s   € ÷ $ñ $ˆsð $�sñ $ó    c                ó¬   € V P                  R 4      p \        P                  ! 4       pVP                  V 4       \	        \
        VP                  4       4      # )zutf-8)Úencoder   Úmd5_not_for_securityÚupdater   r*   Ú	hexdigest)r(   Úms   & r-   Úmd5_hexr6   ?   s<   € Ø	�‰�Ó€AÜ×#Ò#Ó%€AØ‡H�HˆQ„KÜ”�Q—[‘[“]Ó#Ð#r/   c                  óB   € ] tR t^Ft$ RtRtR]R&   R R ltR R ltRt	R	# )
Úsafe_reraiseaÔ  Reraise an exception after invoking some
handler code.

Stores the existing exception info before
invoking so that it is maintained across a potential
coroutine context switch.

e.g.::

    try:
        sess.commit()
    except:
        with safe_reraise():
            sess.rollback()

TODO: we should at some point evaluate current behaviors in this regard
based on current greenlet, gevent/eventlet implementations in Python 3, and
also see the degree to which our own asyncio (based on greenlet also) is
impacted by this. .rollback() will cause IO / context switch to occur in
all these scenarios; what happens to the exception context from an
"except:" block if we don't explicitly store it? Original issue was #2703.

Ú	_exc_infozdUnion[None, Tuple[Type[BaseException], BaseException, types.TracebackType], Tuple[None, None, None]]c               ó   € V ^8„  d   QhRR/# ©r'   r)   ÚNoner+   )r,   s   "r-   r.   Úsafe_reraise.__annotate__k   s   € ÷ (ñ (˜4ñ (r/   c                	ó:   € \         P                  ! 4       V n        R # ©N)ÚsysÚexc_infor9   ©Úselfs   &r-   Ú	__enter__Úsafe_reraise.__enter__k   s   € ÜŸš›ˆŽr/   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r'   Útype_zOptional[Type[BaseException]]ÚvaluezOptional[BaseException]Ú	tracebackzOptional[types.TracebackType]r)   r   r+   )r,   s   "r-   r.   r=   n   s2   € ÷ 2ñ 2à,ð2ð 'ð2ð 1ð	2ð
 
ñ2r/   c                	óÀ   € V P                   f   Q hVf.   V P                   w  rEpVf   Q hR V n         VP                  V4      hR V n         Vf   Q hVP                  V4      hr?   )r9   Úwith_traceback)rC   rG   rH   rI   Úexc_typeÚ	exc_valueÚexc_tbs   &&&&   r-   Ú__exit__Úsafe_reraise.__exit__n   so   € ð �~‰~Ò)Ð)Ð)àŠ=Ø*.¯.©.Ñ'ˆH ØÒ(Ð(Ð(Ø!ˆDŒNØ×*Ñ*¨6Ó2Ð2à!ˆDŒNØÒ$Ð$Ð$Ø×&Ñ& yÓ1Ð1r/   )r9   N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__Ú__annotations__rD   rO   Ú__static_attributes__r+   r/   r-   r8   r8   F   s'   ‡ ñð0 €Iðó õ(÷2ñ 2r/   r8   c               ó    € V ^8„  d   QhRRRR/# )r'   ÚclsúType[_T]r)   zIterator[Type[_T]]r+   )r,   s   "r-   r.   r.   �   s   € ÷ ñ ˜ð Ð&8ñ r/   c              #  óÔ   "  € \        4       pV .pV'       dO   VP                  4       p W9   d   K   VP                  V 4       VP                  V P	                  4       4       V x € KV  R # 5ir?   )ÚsetÚpopÚaddÚextendÚ__subclasses__)rZ   ÚseenÚstacks   &  r-   Úwalk_subclassesrd   �   sS   é € Ü“U€DàˆE€Eß
Ø�i‰i‹kˆØŒ;Ùà�H‰H�SŒMØ�‰�S×'Ñ'Ó)Ô*ØŒ	ñ ùs   ‚A(˜AA(c               ó    € V ^8„  d   QhRRRR/# )r'   Úelementr   r)   r*   r+   )r,   s   "r-   r.   r.   �   s   € ÷ 6ñ 6 3ð 6¨3ñ 6r/   c                ó~   € \        V \        4      '       d   V #  \        V 4      #   \         d    R T ,          u # i ; i)zunprintable element %r)Ú
isinstancer*   Ú	Exception)rf   s   &r-   Ústring_or_unprintablerj   �   s=   € Ü�'œ3×ÒØˆð	6Ü�w“<ÐøÜô 	6Ø+¨gÕ5Ò5ð	6ús   š
% ¥<»<c               ó$   € V ^8„  d   QhRRRRRR/# )r'   rZ   ú	Type[Any]Úuse_nameúOptional[str]r)   r*   r+   )r,   s   "r-   r.   r.   ™   s)   € ÷ Oñ OØ	ðOØ+ðOàñOr/   c                óˆ   € T;'       g    V P                   pR P                  R \        P                  ! RV4       4       4      # )Ú c              3  ó@   "  € T F  qP                  4       x € K  	  R # 5ir?   )Úlower)Ú.0Úns   & r-   Ú	<genexpr>Ú(clsname_as_plain_name.<locals>.<genexpr>�   s   é € ÐNÑ'M !—G‘G—I�IÓ'Mùs   ‚z([A-Z][a-z]+|SQL))rQ   ÚjoinÚreÚfindall)rZ   rm   Únames   && r-   Úclsname_as_plain_namer{   ™   s6   € ð ×#Ð#�s—|‘|€DØ�8‰8ÑN¤r§z¢zÐ2FÈÔ'MÓNÓNÐNr/   c               ó$   € V ^8„  d   QhRRRRRR/# )r'   Úinstance_or_clszUnion[Type[Any], object]Úagainst_methodúCallable[..., Any]r)   Úboolr+   )r,   s   "r-   r.   r.       s&   € ÷ ,ñ ,Ø-ð,à&ð,ð 
ñ,r/   c                ó‚   € \        V \        4      '       g   V P                  pMT pVP                  p\	        W#4      pWA8g  # )z1Return True if the two class methods don't match.)rh   ÚtypeÚ	__class__rQ   Úgetattr)r}   r~   Úcurrent_clsÚmethod_nameÚcurrent_methods   &&   r-   Úmethod_is_overriddenrˆ       s?   € ô �o¤t×,Ò,Ø%×/Ñ/‰à%ˆà ×)Ñ)€Kä'.¨{Ó'H€NàÑ+Ð+r/   c               ó    € V ^8„  d   QhRRRR/# )r'   ÚslcÚslicer)   úTuple[Any, ...]r+   )r,   s   "r-   r.   r.   ²   s   € ÷ ñ �eð  ñ r/   c                óÖ   € . pV P                   V P                  V P                  3 F6  p\        VR4      '       d   VP	                  4       pVP                  V4       K8  	  \        V4      # )zjdecode a slice object as sent to __getitem__.

takes into account the 2.5 __index__() method, basically.

Ú	__index__)ÚstartÚstopÚstepÚhasattrrŽ   ÚappendÚtuple)rŠ   Úretr(   s   &  r-   Údecode_slicer–   ²   sU   € ð €CØ�Y‰Y˜Ÿ™ #§(¡(Ó*ˆÜ�1�k×"Ò"Ø—‘“ˆAØ�
‰
�1Žñ +ô �‹:Ðr/   c               ó$   € V ^8„  d   QhRRRRRR/# )r'   ÚusedúSequence[str]Úbasesr*   r)   zIterator[str]r+   )r,   s   "r-   r.   r.   À   s&   € ÷ Mñ M˜-ð M°ð M¸ñ Mr/   c           
   '  ó  a"  € \        V 4      pV Fi  o\        P                  ! S3\        V3R  l\	        R4      4      4      pV F!  pWB9  g   K  VP                  V4       Vx €  KW  	  \        RS,          4      h	  R# 5i)c                ó(   <€ S\        V 4      ,           # r?   ©r*   )ÚiÚbases   &€r-   Ú<lambda>Ú!_unique_symbols.<locals>.<lambda>Å   s   ø€ ˜$¤ Q£ž-r/   iè  z&exhausted namespace for symbol base %sN)r]   Ú	itertoolsÚchainÚmapÚranger_   Ú	NameError)r˜   rš   Úused_setÚpoolÚsymrŸ   s   &*   @r-   Ú_unique_symbolsrª   À   st   øé € Ü�4‹y€HÛˆÜ�ŠØˆGÜÔ'¬¨t«Ó5ó
ˆó ˆCØÖ"Ø—‘˜SÔ!Ø’	Úñ	 ô ÐDÀtÕKÓLÐLó ùs   ƒAB Á0B c               ó$   € V ^8„  d   QhRRRRRR/# )r'   ÚfnzCallable[[int], Any]rt   Úintr)   zIterator[Any]r+   )r,   s   "r-   r.   r.   Ð   s"   € ÷ ñ Ð%ð ¨#ð °-ñ r/   c              #  óf   "  € V'       d%   W( ^,           ,          pV ! V4      x € W,          pK,  R# 5i)z6Call the given function given each nonzero bit from n.Nr+   )r¬   rt   Úbs   && r-   Úmap_bitsr°   Ð   s,   é € ÷ Ø��a•�LˆÙ�‹eŠØ	�Šñ ùs   ‚1‹&1Ú_Fnr   c               ó    € V ^8„  d   QhRRRR/# )r'   Útargetr   r)   zCallable[[_Fn], _Fn]r+   )r,   s   "r-   r.   r.   Þ   s    € ÷ ],ñ ],Ð(ð ],Ð-Añ ],r/   c                ó.   a € R V 3R llp\        VS 4      # )z'A signature-matching decorator factory.c               ó    € V ^8„  d   QhRRRR/# )r'   r¬   r±   r)   r+   )r,   s   "r-   r.   Údecorator.<locals>.__annotate__á   s   € ÷ X-ñ X-�Sð X-˜Sñ X-r/   c                ó  <€ \         P                  ! V 4      '       g(   \         P                  ! V 4      '       g   \        R 4      h\	        V RR4      pVe&   RV n         \        P                  ! V 4      pWn        M\        P                  ! V 4      pR\        VP                  ;'       g    R4      ,          p\        P                  VP                  ;'       g    R4      pVP                  / VVR7      p\        \        RV^ ,          4      4      \        RVR,          4      ,           V P                   3,           p\#        VRR4      w  rg\        WgR7      pVP%                  \'        VR	R
7      4       V P                   VR&   \         P(                  ! V 4      '       d   RVR&   RVR&   RVR&   M;\         P*                  ! V 4      '       d   RVR&   RVR&   RVR&   MRVR&   RVR&   RVR&   R\-        V^ ,          4      9   d   RV,          p	M	RV,          p	VSWpRV P.                  /p
\        \0        P2                  \5        WšV P                   4      4      pV P6                  Vn        V P8                  Vn        \;        W°4      #   Yn        i ; i)znot a decoratable functionr.   N)r   ÚdefaultsÚkwonlydefaultszTuple[str, ...]:é   é   Nr³   r¬   )r³   r¬   F©Úgroupedrz   zasync Úprefixzawait Útarget_prefixÚ Útarget_suffixz(yield from Ú)Ú__zw%(prefix)sdef %(name)s%(grouped_args)s:
    return %(target_prefix)s%(target)s(%(fn)s, %(apply_pos)s)%(target_suffix)s
zv%(prefix)sdef %(name)s%(grouped_args)s:
    return %(target_prefix)s%(target)s(%(fn)s, %(apply_kw)s)%(target_suffix)s
rQ   r?   r+   )ÚinspectÚ
isfunctionÚismethodri   r„   r.   r   Úinspect_getfullargspecÚlenr¸   ÚdictÚfromkeysr¹   Ú_replacer”   r   rQ   rª   r3   Úformat_argspec_plusÚiscoroutinefunctionÚisgeneratorfunctionÚreprrR   ÚtypesÚFunctionTypeÚ_exec_code_in_envÚ__defaults__Ú__kwdefaults__r   )r¬   ÚannofuncÚspecÚempty_defaultsÚempty_kwdefaultsÚnamesÚ	targ_nameÚfn_nameÚmetadataÚcodeÚenvÚ	decoratedr³   s   &           €r-   ÚdecorateÚdecorator.<locals>.decorateá   si  ø€ Ü×!Ò! "×%Ò%¬g×.>Ò.>¸r×.BÒ.BÜÐ8Ó9Ð9ô ˜2˜~¨tÓ4ˆØÒØ"ˆBŒOð+Ü×4Ò4°RÓ8�à"*•ä×0Ò0°Ó4ˆDð !¤3 t§}¡}×':Ð':¸Ó#;Õ;ˆÜŸ=™=¨×)<Ñ)<×)BÐ)BÀÓCÐØ�}‰}ØØ#Ø+ð ó 
ˆô ”$Ð(¨$¨q­'Ó2Ó3ÜÐ$ d¨3¥iÓ0õ1à�{‰{ˆnõð 	ô
 -¨U°H¸dÓCÑˆ	ä-1¸Ô-OˆØ�‰Ô+¨D¸%Ô@ÔAØŸ;™;ˆ�Ñä×&Ò& r×*Ò*Ø!)ˆH�XÑØ(0ˆH�_Ñ%Ø(*ˆH�_Ò%Ü×(Ò(¨×,Ò,ð
 "$ˆH�XÑØ(6ˆH�_Ñ%Ø(+ˆH�_Ò%à!#ˆH�XÑØ(*ˆH�_Ñ%Ø(*ˆH�_Ñ%ð ”4˜˜Q�“=Ô ðð õ‰Dð
ð õˆDð �vØØ˜Ÿ™ð
ˆô Ü×ÑÜ˜d¨¯©Ó5ó
ˆ	ð "$§¡ˆ	ÔØ#%×#4Ñ#4ˆ	Ô Ü˜iÓ,Ð,øðY #+•ús   ÁI= É=Jr   )r³   rà   s   f r-   Ú	decoratorrâ   Þ   s   ø€ ÷X-ð X-ôt ˜( FÓ+Ð+r/   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r'   rÝ   zUnion[str, types.CodeType]rÞ   úDict[str, Any]rÛ   r*   r)   r   r+   )r,   s   "r-   r.   r.   >  s,   € ÷ ñ Ø
$ðØ+9ðØDGðàñr/   c                ó(   € \        W4       W,          # r?   )Úexec)rÝ   rÞ   rÛ   s   &&&r-   rÒ   rÒ   >  s   € ô 	ˆ„OØ�<Ðr/   Ú_PFÚ_TEc                  óP   € ] tR tRtRR R lltR tR R ltR R	 ltR
 R ltRt	R# )ÚPluginLoaderiI  Nc               ó    € V ^8„  d   QhRRRR/# )r'   Úgroupr*   Úauto_fnzOptional[Callable[..., Any]]r+   )r,   s   "r-   r.   ÚPluginLoader.__annotate__J  s   € ÷ ñ ØðØ#?ñr/   c                	ó,   € Wn         / V n        W n        R # r?   )rì   Úimplsrí   )rC   rì   rí   s   &&&r-   Ú__init__ÚPluginLoader.__init__J  s   € ð Œ
Ø%'ˆŒ
ØŽr/   c                	ó:   € V P                   P                  4        R # r?   )rð   ÚclearrB   s   &r-   rô   ÚPluginLoader.clearQ  s   € Ø�
‰
×ÑÖr/   c               ó    € V ^8„  d   QhRRRR/# )r'   rz   r*   r)   r   r+   )r,   s   "r-   r.   rî   T  s   € ÷ 
ñ 
˜ð 
 ñ 
r/   c                	óè  € WP                   9   d   V P                   V,          ! 4       # V P                  '       d/   V P                  V4      pV'       d   W P                   V&   V! 4       # \        P                  ! V P                  4       F?  pVP
                  V8X  g   K  VP                  V P                   V&   VP                  4       u # 	  \        P                  ! R V P                  : RV: 24      h)zCan't load plugin: Ú:)	rð   rí   r   Úimportlib_metadata_getrì   rz   Úloadr   ÚNoSuchModuleError)rC   rz   ÚloaderÚimpls   &&  r-   rú   ÚPluginLoader.loadT  s¯   € Ø—:‘:ÔØ—:‘:˜dÖ#Ó%Ð%à�<�<ˆ<Ø—\‘\ $Ó'ˆFßØ#)—
‘
˜4Ñ Ù“x�ä×1Ò1°$·*±*Ö=ˆDØ�y‰y˜DÖ Ø#'§9¡9�—
‘
˜4Ñ Ø—y‘y“{Ò"ñ >ô
 ×#Ó#Ø*.¯*¬*²dÐ;ó
ð 	
r/   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r'   rz   r*   Ú
modulepathÚobjnamer)   r<   r+   )r,   s   "r-   r.   rî   g  s(   € ÷  ñ  ˜Sð  ¨cð  ¸Cð  ÀDñ  r/   c                	ó4   aa€ VV3R  lpW@P                   V&   R# )c                 ó†   <€ \        S4      p SP                  R 4      R,           F  p\        W4      p K  	  \        V S4      # )Ú.ºrº   NN)Ú
__import__Úsplitr„   )ÚmodÚtokenr   r  s     €€r-   rú   Ú#PluginLoader.register.<locals>.loadh  sA   ø€ Ü˜ZÓ(ˆCØ#×)Ñ)¨#Ó.¨r×2Ð2�Ü˜cÓ)’ñ 3ä˜3 Ó(Ð(r/   N©rð   )rC   rz   r   r  rú   s   &&ff r-   ÚregisterÚPluginLoader.registerg  s   ù€ ö	)ð  �
‰
�4Ór/   c               ó    € V ^8„  d   QhRRRR/# )r'   rz   r*   r)   r<   r+   )r,   s   "r-   r.   rî   p  s   € ÷ ñ ˜sð  tñ r/   c                	ó    € V P                   V R # r?   r  )rC   rz   s   &&r-   Ú
deregisterÚPluginLoader.deregisterp  s   € Ø�J‰J�tÒr/   )rí   rì   rð   r?   )
rQ   rR   rS   rT   rñ   rô   rú   r  r  rX   r+   r/   r-   rê   rê   I  s    † ÷òõ
õ& ÷ñ r/   rê   c                ó@  €  \         P                  pV P                  pVP                  p\	        VP
                  R V 4      \        VP                  V,          4      3#   \         d5    \        P                  ! T 4      pT^ ,          \        T^,          4      3u # i ; ir?   )rÄ   ÚCO_VARKEYWORDSÚ__code__Úco_argcountÚlistÚco_varnamesr€   Úco_flagsÚAttributeErrorr   rÇ   )r¬   Úco_varkeywordsÚcoÚnargsrÖ   s   &    r-   Ú_inspect_func_argsr  t  sŽ   € ð
Ü ×/Ñ/ˆð �[‰[ˆØ—‘ˆä�—‘  Ð'Ó(Ü�—‘˜~Õ-Ó.ð
ð 	
øô ô &ô
 ×,Ò,¨RÓ0ˆØ�A�wœ˜T !�W›Ð%Ò%ð&ús   ‚A Á<BÂBÚ_setÚraiseerrc               ó(   € V ^8„  d   QhRRRRRRRR/# )	r'   rZ   r‚   r  úOptional[Set[str]]r  zLiteral[True]r)   zSet[str]r+   )r,   s   "r-   r.   r.   ‰  s2   € ÷ ñ Ø	ðð ðð ð	ð
 ñr/   c               ó   € R # r?   r+   ©rZ   r  r  s   &$$r-   Úget_cls_kwargsr$  ˆ  s   € ñ r/   Fc               ó(   € V ^8„  d   QhRRRRRRRR/# ©r'   rZ   r‚   r  r!  r  r€   r)   r+   )r,   s   "r-   r.   r.   ’  s,   € ÷ ñ Ø	ðØ*ðØ=Aðàñr/   c               ó   € R # r?   r+   r#  s   &$$r-   r$  r$  ‘  s   € ñ r/   c               ó(   € V ^8„  d   QhRRRRRRRR/# r&  r+   )r,   s   "r-   r.   r.   —  s,   € ÷ 2ñ 2Ø	ð2Ø*ð2Ø=Að2àñ2r/   c               óB  € VRJ pV'       d   \        4       pVf   Q hV P                  P                  RR4      pT;'       dG    \        V\        P
                  4      ;'       d%    \        VP                  \        P                  4      pV'       dI   \        V4      w  rgVP                  V4       V'       g"   V'       g   V'       d   \        RV  R24      hR# MRpV'       d	   V'       d$   V P                   F  p\        W�R7      e   K   M	  VP                  R4       V# )aA  Return the full set of inherited kwargs for the given `cls`.

Probes a class's __init__ method, collecting all named arguments.  If the
__init__ defines a \**kwargs catch-all, then the constructor is presumed
to pass along unrecognized keywords to its base classes, and the
collection process is repeated recursively on each of the bases.

Uses a subset of inspect.getfullargspec() to cut down on method overhead,
as this is used within the Core typing system to create copies of type
objects which is a performance-sensitive operation.

No anonymous tuple arguments please !

Nrñ   Fz
given cls z  doesn't have an __init__ method)r  rC   )r]   Ú__dict__Úgetrh   rÐ   rÑ   r  r   r  r3   Ú	TypeErrorÚ	__bases__r$  Údiscard)	rZ   r  r  ÚtoplevelÚctrÚhas_initrÙ   Úhas_kwÚcs	   &$$      r-   r$  r$  —  s÷   € ð" �tˆ|€HßÜ‹uˆØÒÐÐà
�,‰,×
Ñ
˜: uÓ
-€Cð 	÷ 	5ð 	5Ü�sœE×.Ñ.Ó/÷	5ð 	5ä�s—|‘|¤U§^¡^Ó4ð ÷ Ü*¨3Ó/‰ˆØ�‰�EÔçŸhßÜØ   Ð%EÐFóð ñ øàˆç—vØ—”ˆAÜ˜aÔ+Ô3Ùñ ð 	‡L�L�ÔØ€Kr/   c               ó    € V ^8„  d   QhRRRR/# )r'   Úfuncr   r)   ú	List[str]r+   )r,   s   "r-   r.   r.   Ì  s   € ÷ 2ñ 2Ð,ð 2°ñ 2r/   c                ó<   € \         P                  ! V 4      ^ ,          # )zwReturn the set of legal kwargs for the given `func`.

Uses getargspec so is safe to call for methods, functions,
etc.

)r   rÇ   )r5  s   &r-   Úget_func_kwargsr8  Ì  s   € ô ×(Ò(¨Ó.¨qÕ1Ð1r/   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r'   r¬   r   Úno_selfr€   Ú_is_initr)   zcompat.FullArgSpecr+   )r,   s   "r-   r.   r.   ×  s,   € ÷ 9;ñ 9;Øð9;Ø%)ð9;Ø=Að9;àñ9;r/   c           	     óô  € \         P                  ! V 4      '       d   \        RV ,          4      h\         P                  ! V 4      '       gK   \	        V R4      '       dÞ   \         P
                  ! V 4      '       gÂ   \         P                  ! V 4      '       g¦   V'       dˆ   V'       d€   \        P                  ! V 4      p\        P                  ! VP                  R,          VP                  VP                  VP                  VP                  VP                  VP                   4      # \        P                  ! V 4      # \         P                  ! V 4      '       dÌ   V'       d¤   V'       g   V P"                  '       dŠ   \        P                  ! V P$                  4      p\        P                  ! VP                  R,          VP                  VP                  VP                  VP                  VP                  VP                   4      # \        P                  ! V P$                  4      # \         P
                  ! V 4      '       d   \'        V P(                  VRR7      # \	        V R4      '       d!   \        P                  ! V P$                  4      # \	        V R4      '       dP   \         P                  ! V P*                  4      '       d   \'        V P*                  VR7      # \        R	V ,          4      h\        R	V ,          4      h)
zêReturn the argument signature for any callable.

All pure-Python callables are accepted, including
functions, methods, classes, objects with __call__;
builtins and other edge cases like functools.partial() objects
raise a TypeError.

zCan't inspect builtin: %sr  r  T)r:  r;  Ú__func__Ú__call__)r:  zCan't inspect callable: %s)rÄ   Ú	isbuiltinr,  rÅ   r’   ÚisclassrÆ   r   rÇ   ÚFullArgSpecÚargsÚvarargsÚvarkwr¸   Ú
kwonlyargsr¹   r   Ú__self__r=  Úget_callable_argspecrñ   r>  )r¬   r:  r;  rÖ   s   &&& r-   rG  rG  ×  s  € ô ×Ò˜×ÒÜÐ3°bÕ8Ó9Ð9Ü	×	Ò	˜B×	Ò	Ü��J×ÒÜ—’ ×#Ò#Ü× Ò  ×$Ò$çŸÜ×0Ò0°Ó4ˆDÜ×%Ò%Ø—	‘	˜"•Ø—‘Ø—
‘
Ø—‘Ø—‘Ø×#Ñ#Ø× Ñ óð ô ×0Ò0°Ó4Ð4Ü	×	Ò	˜"×	Ò	ßŸ B§K§K KÜ×0Ò0°·±Ó=ˆDÜ×%Ò%Ø—	‘	˜"•Ø—‘Ø—
‘
Ø—‘Ø—‘Ø×#Ñ#Ø× Ñ óð ô ×0Ò0°·±Ó=Ð=Ü	�Š˜×	Ò	Ü#Ø�K‰K °4ô
ð 	
ô 
��Z×	 Ò	 Ü×,Ò,¨R¯[©[Ó9Ð9Ü	��Z×	 Ò	 Ü×Ò˜BŸK™K×(Ò(Ü'¨¯©¸WÔEÐEäÐ8¸2Õ=Ó>Ð>äÐ4°rÕ9Ó:Ð:r/   c               ó$   € V ^8„  d   QhRRRRRR/# )r'   r¬   z-Union[Callable[..., Any], compat.FullArgSpec]r½   r€   r)   zDict[str, Optional[str]]r+   )r,   s   "r-   r.   r.     s)   € ÷ r
ñ r
Ø5ðr
Ø@Dðr
àñr
r/   c           
     óh  € \        V 4      '       d   \        P                  ! V 4      pMT p\        P                  ! V!  p\        P                  ! V^ ,          V^,          V^,          RV^,          4      pV^ ,          '       dO   V^ ,          ^ ,          p\        P                  ! V^ ,          R,          V^,          V^,          RV^,          4      pM&V^,          '       d   RV^,          ,          pTpMRpTp^ pV^,          '       d3   V\	        \        \        \        ,          V^,          4      4      ,          pV^,          '       d   V\	        V^,          4      ,          pV^ ,          V^,          ,           pV'       d   V^ V,
          R p	MRp	\        P                  ! VV^,          V^,          V	R R7      p
V^ ,          '       d3   \        P                  ! VR,          V^,          V^,          V	R R7      pMT
pV'       d   \        VVVV
VVR7      # \        VVV^R	 V
^R	 V^R	 V^R	 R7      # )
a¤  Returns a dictionary of formatted, introspected function arguments.

A enhanced variant of inspect.formatargspec to support code generation.

fn
   An inspectable callable or tuple of inspect getargspec() results.
grouped
  Defaults to True; include (parens, around, argument) lists

Returns:

args
  Full inspect.formatargspec for fn
self_arg
  The name of the first positional argument, varargs[0], or None
  if the function defines no positional arguments.
apply_pos
  args, re-written in calling rather than receiving syntax.  Arguments are
  passed positionally.
apply_kw
  Like apply_pos, except keyword-ish args are passed as keywords.
apply_pos_proxied
  Like apply_pos but omits the self/cls argument

Example::

  >>> format_argspec_plus(lambda self, a, b, c=3, **d: 123)
  {'grouped_args': '(self, a, b, c=3, **d)',
   'self_arg': 'self',
   'apply_kw': '(self, a, b, c=c, **d)',
   'apply_pos': '(self, a, b, c, **d)'}

Nr  z%s[0]c                ó&   € R \        V 4      ,           # ©Ú=r�   ©r(   s   &r-   r    Ú%format_argspec_plus.<locals>.<lambda>f  s   € ˜c¤C¨£Fžlr/   )Úformatvaluec                ó&   € R \        V 4      ,           # rK  r�   rM  s   &r-   r    rN  o  s   €  #¬¨A«¦,r/   )Úgrouped_argsÚself_argÚ	apply_posÚapply_kwÚapply_pos_proxiedÚapply_kw_proxiedr+   éÿÿÿÿ)	Úcallabler   rÇ   Úinspect_formatargspecrÈ   r   r   r   rÉ   )r¬   r½   rÖ   rB  rS  rR  rU  Únum_defaultsÚ	name_argsÚdefaulted_valsrT  rV  s   &&          r-   rÌ   rÌ     s  € ôH �‡|‚|Ü×,Ò,¨RÓ0‰àˆä×'Ò'¨Ñ.€Dä×,Ò,ØˆQ���a•˜$˜q�' 4¨¨a­ó€Ið ˆA‡w„wØ˜•7˜1•:ˆä"×8Ò8Ø��G�B�K˜˜a� $ q¥'¨4°°aµó
Ñð 
ˆa�Œà˜T !�WÕ$ˆà%ÑàˆØ%Ðà€LØˆA‡w„wØœœD¤¤s¥¨T°!­WÓ5Ó6Õ6ˆØˆA‡w„wØœ˜D �G›Õ$ˆà�Q•˜$˜q�'Õ!€I÷ Ø" 1 |Õ#3Ð#5Ð6‰àˆä×+Ò+ØØˆQ�ØˆQ�ØÙ*ô€Hð ˆA‡w„wÜ!×7Ò7Ø�b�MØ��GØ��GØÙ.ô
Ñð $ÐçÜØØØØØ/Ø-ô
ð 	
ô ØØØ  "�oØ˜a �^Ø/°°"Ð5Ø-¨a°Ð3ô
ð 	
r/   c           	     óò   € V \         P                  J d   RpV'       d   RMRpV'       d   RMRpM \        WR7      # \	        RVVVVVR
7      #   \         d    RpT'       d   TMRpT'       d   RMR	p L8i ; i)a  format_argspec_plus with considerations for typical __init__ methods

Wraps format_argspec_plus with error handling strategies for typical
__init__ cases:

.. sourcecode:: text

  object.__init__ -> (self)
  other unreflectable (usually C) -> (self, *args, **kwargs)

z(self)rC   z()rÀ   r¼   z(self, *args, **kwargs)zself, *args, **kwargsz(*args, **kwargs)z*args, **kwargs)rR  rQ  rS  rT  rU  rV  )Úobjectrñ   rÌ   r,  rÉ   )Úmethodr½   rQ  rB  Úproxieds   &&   r-   Úformat_argspec_initra  ˆ  s†   € ð ”—‘Ó Øˆß"‰x¨ˆß!‘$ r‰ð	LÜ& vÔ?Ð?ô
 ØØ!ØØØ!Ø ôð øô	 ô 	LØ4ˆLß#*‘<Ð0GˆDß-4Ñ)Ð:KŠGð	Lús   ±A ÁA6Á#A6Á/A6Á5A6c               ó8   € V ^8„  d   QhRRRRRRRRRRR	RR
RRR/# )r'   Ú
target_clsrl   Útarget_cls_sphinx_namer*   Úproxy_cls_sphinx_nameÚclassmethodsr™   ÚmethodsÚ
attributesÚuse_intermediate_variabler)   zCallable[[_T], _T]r+   )r,   s   "r-   r.   r.   ©  sX   € ÷ ñ Øðàðð ðð  ð	ð
 ðð ðð  -ðð ñr/   c                ó   € R pV# )a;  A class decorator indicating attributes should refer to a proxy
class.

This decorator is now a "marker" that does nothing at runtime.  Instead,
it is consumed by the tools/generate_proxy_methods.py script to
statically generate proxy methods and attributes that are fully
recognized by typing tools such as mypy.

c                ó   € V # r?   r+   )rZ   s   &r-   rà   Ú&create_proxy_methods.<locals>.decorate¼  s   € Øˆ
r/   r+   )rc  rd  re  rf  rg  rh  ri  rà   s   &&&&&&& r-   Úcreate_proxy_methodsrm  ©  s   € ò&ð €Or/   c                óš   €  \         P                  ! V 4      #   \         d(    T \        P                  J d
   R.RRR3u # R.RRR3u # i ; i)zÿinspect.getargspec with considerations for typical __init__ methods

Wraps inspect.getargspec with error handling for typical __init__ cases:

.. sourcecode:: text

  object.__init__ -> (self)
  other unreflectable (usually C) -> (self, *args, **kwargs)

rC   NrB  Úkwargs)r   rÇ   r,  r^  rñ   )r_  s   &r-   Úgetargspec_initrp  Â  sU   € ð6Ü×,Ò,¨VÓ4Ð4øÜô 6Ø”V—_‘_Ó$Ø�H˜d D¨$Ð/Ò/à�H˜f h°Ð5Ò5ð	6ús   ‚ ˜&A
Á A
Á	A
c                ó‚   € \        V \        P                  4      '       d   V P                  '       g   V P                  # V # )zKAdjust the incoming callable such that a 'self' argument is not
required.

)rh   rÐ   Ú
MethodTyperF  r=  )Úfunc_or_clss   &r-   Úunbound_method_to_callablert  Ö  s4   € ô �+œu×/Ñ/×0Ò0¸×9M×9MÐ9MØ×#Ñ#Ð#àÐr/   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r'   Úobjr   Úadditional_kwzSequence[Tuple[str, Any]]Ú
to_inspectz%Optional[Union[object, List[object]]]Ú
omit_kwargr™   r)   r*   r+   )r,   s   "r-   r.   r.   â  sH   € ÷ KBñ KBØ	ðKBà,ðKBð 6ðKBð ð	KBð
 	ñKBr/   c           	     óJ  a € Vf   S .pM\         P                  ! V4      p\        4       p. p\         P                  ! 4       pRp\	        V4       EFW  w  r‰ \
        P                  ! V	P                  4      p
V
P                  '       d   \        V
P                  4      M^ pV^ 8X  dj   V
P                  '       d   V
P                  pV'       d!   VP                  V
P                  ^V)  4       MSVP                  V
P                  R,          4       M0TP                  V
P                  ^V)   Uu. uF  qÌV3NK  	  up4       V'       d`   V
P                  '       g   Q hTP                  \        V
P                  V) R V
P                  4       UUu. uF  w  rÍWÍ3NK
  	  upp4       EKW  EKZ  	  . pVP                  V 3R lV 4       4       VeG   \!        S V4      '       d5   TP                  \#        S V4       Uu. uF  p\%        V4      NK  	  up4       VP'                  4        FC  w  ppWÃ9   d   K   \#        S WÄ4      pWôJd$   VV8w  d   VP)                  V: RV: 24       KA  KC  KE  	  V'       dB   V F;  w  pp \#        S WÄ4      pWôJd$   VV8w  d   VP)                  V: RV: 24       K9  K;  K=  	  S P,                  P.                  : RRP1                  V4      : R2# u upi u uppi   \         d     EKª  i ; iu upi   \*         d     Kî  i ; i  \*         d     K¯  i ; i)zuProduce a __repr__() based on direct association of the __init__()
specification vs. same-named attributes present.

Nr  c              3  óP   <"  € T F  p\        \        SVR 4      4      x € K  	  R # 5ir?   )rÏ   r„   )rs   Úargrv  s   & €r-   ru   Úgeneric_repr.<locals>.<genexpr>  s"   øé € ÐD¹8°C”$”w˜s C¨Ó.×/Ð/»8ùs   ƒ#&rL  Ú(ú, rÂ   )r   Úto_listr^  ÚOrderedDictÚ	enumerater   rÇ   rñ   r¸   rÈ   rC  r`   rB  r3   Úzipr,  r’   r„   rÏ   Úitemsr“   ri   rƒ   rQ   rw   )rv  rw  rx  ry  ÚmissingÚpos_argsÚkw_argsÚvargsrž   ÚinsprÖ   Údefault_lenr|  ÚdefaultÚoutputÚvalÚdefvals   f&&&             r-   Úgeneric_reprr�  â  s¼  ø€ ð ÒØ�U‰
ä!×)Ò)¨*Ó5ˆ
ä‹h€Gà€HÜ2>×2JÒ2JÓ2L€GØ€EÜ˜Z×(‰ˆð	Ü×0Ò0°·±Ó?ˆDð 15··°œ#˜dŸm™mÔ,À1ˆKØ�AŒvØ—<—<�<Ø ŸL™L�EßØ—O‘O D§I¡I¨a°°Ð$=Õ>à—O‘O D§I¡I¨b¥MÕ2à—‘Ø/3¯y©y¸¸K¸<Ñ/HÓIÑ/H¨˜7“^Ñ/HÑIô÷ Ø—}—}�}Ð$�}Ø—‘ô -0Ø ŸI™I { l mÐ4°d·m±mô-ôñ-™L˜Cð ›ñ-ò÷ò ñ' )ð: €Fà
‡M�MÔD¹8ÓDÔDàÒœW S¨%×0Ò0Ø�‰¬G°C¸Ô,?Ó@Ñ,? S”t˜C–yÑ,?Ñ@ÔAà—}‘}–‰ˆˆVØÔÙð	Ü˜#˜sÓ,ˆCØÓ! c¨V¤mØ—‘«ªcÐ2Ö3ñ '4Ñ!ñ '÷ Û(‰KˆC�ðÜ˜c 3Ó0�ØÓ%¨#°¬-Ø—M‘M«S²#Ð"6Ö7ñ +8Ñ%ñ )ð —}‘}×-Ô-¨t¯y©y¸Ö/@ÐAÐAùòO Jùóøô' ô 	Ûð	üò> Aøô ô 	Úð	ûô ô ÚðúsH   Á K)Ä+K
ÆK#Ç6K<È00LÉ90LË)K9Ë8K9ÌLÌLÌL"Ì!L"c                  ó:   € ] tR tRtRtR	tR tR tR
R ltR t	Rt
R# )Úportable_instancemethodi0  zWTurn an instancemethod into a (parent, name) pair
to produce a serializable callable.

c                	óN   € R V P                   RV P                  RV P                  /# ©r³   rz   ro  r“  rB   s   &r-   Ú__getstate__Ú$portable_instancemethod.__getstate__8  s'   € à�d—k‘kØ�D—I‘IØ�d—k‘kð
ð 	
r/   c                	ól   € VR ,          V n         VR,          V n        VP                  RR4      V n        R# )r³   rz   ro  Nr+   )r³   rz   r+  ro  )rC   Ústates   &&r-   Ú__setstate__Ú$portable_instancemethod.__setstate__?  s*   € Ø˜H•oˆŒØ˜&•MˆŒ	Ø—i‘i ¨"Ó-ˆŽr/   c                	óV   € VP                   V n        VP                  V n        W n        R # r?   )rF  r³   rQ   rz   ro  )rC   Úmethro  s   &&&r-   rñ   Ú portable_instancemethod.__init__D  s   € Ø—m‘mˆŒØ—M‘MˆŒ	ØŽr/   c                	ó„   € VP                  V P                  4       \        V P                  V P                  4      ! V/ VB # r?   )r3   ro  r„   r³   rz   )rC   r|  Úkws   &*,r-   r>  Ú portable_instancemethod.__call__I  s1   € Ø
�	‰	�$—+‘+ÔÜ�t—{‘{ D§I¡IÔ.°Ð:°rÑ:Ð:r/   )ro  rz   r³   N)r³   rz   ro  Ú__weakref__)r+   )rQ   rR   rS   rT   rU   rV   r”  r˜  rñ   r>  rX   r+   r/   r-   r‘  r‘  0  s"   † ñð
 :€Iò
ò.ô
ö
;r/   r‘  c                óF  a€ V 0o\        V P                  4      pV'       dò   VP                  4       pV3R lVP                   4       pV F%  pVP	                  V4       SP                  V4       K'  	  VP                  R8X  g   \        VR4      '       g   K~  \        V\        4      '       g   VP                  4       MVP                  V4       Uu. uF  pVS9  g   K  VNK  	  up F%  pVP	                  V4       SP                  V4       K'  	  Kù  \        S4      # u upi )a  Return an unordered sequence of all classes related to cls.

Traverses diamond hierarchies.

Fibs slightly: subclasses of builtin types are not returned.  Thus
class_hierarchy(class A(object)) returns (A, object), not A plus every
class systemwide that derives from object.

c              3  ó8   <"  € T F  qS9  g   K  Vx € K  	  R # 5ir?   r+   )rs   Ú_Úhiers   & €r-   ru   Ú"class_hierarchy.<locals>.<genexpr>]  s   øé € Ð9™K�q°D©=—’›Kùs   ƒ�
Úbuiltinsra   )r  Ú__mro__r^   r-  r“   r_   rR   r’   Ú
issubclassr‚   ra   )rZ   Úprocessr3  rš   r¯   r£  Úsr¤  s   &      @r-   Úclass_hierarchyr«  N  s   ø€ ð ˆ5€DÜ�3—;‘;Ó€Gß
Ø�K‰K‹MˆÜ9˜AŸKšKÓ9ˆãˆAØ�N‰N˜1ÔØ�H‰H�QŽKñ ð �<‰<˜:Ô%¬W°QÐ8H×-IÒ-IÙô " !¤T×*Ò*ð × Ñ Ô"à×%Ñ% aÓ(ð)ó
ñ)ð ð
 ˜‰}÷ ˆAñ)ô
ˆAð �N‰N˜1ÔØ�H‰H�QŽKó
ô �‹:Ðùò
s   Ã	DÃDc              #  ó®   "  € \        V 4      pV F?  pV P                   F,  pW#P                  9   g   K  W#P                  V,          3x €  K=  	  KA  	  R# 5i)z½iterate all the keys and attributes associated
with a class, without using getattr().

Does not use getattr() so that class-sensitive
descriptors (i.e. property.__get__()) are not called.

N)Údirr§  r*  )rZ   ÚkeysÚkeyr3  s   &   r-   Úiterate_attributesr°  t  sF   é € ô ˆs‹8€DÛˆØ—”ˆAØ—j‘jÖ ØŸJ™J s�OÐ,Ò,Úó ó ùs
   ‚-A´!Ac                ó„  € V'       d   TpMmVf   R	p\        V4       Uu. uFR  pVP                  R4      '       g   K  VP                  R4      '       g   K5  \        W4      '       d   KH  Wr9  g   KP  VNKT  	  ppV EF  p \	        W4      p	\        V	R4      '       g   K$  \	        V	RV	4      p	\        \        P                  V	4      p
 \        P                  ! T
4      p\        P                  ! T^ ,          4      p\        P                  ! T^ ,          R,          4      pR\        4       ,          pTRJ;'       d    YE/;'       g    / p\        Yï4        T
P                  Yø,          n        \!        YYø,          4       EK  	  R# u upi   \         d     EK  i ; i  \         d    RpRp L�i ; i  \         d     LSi ; i)
z9Automates delegation of __specials__ for a proxying type.NrÃ   r>  r=  r  z(self, *args, **kw)z(*args, **kw)z?def %(method)s%(fn_args)s: return %(name)s.%(method)s%(d_args)s)rV   Ú__del__Ú__getattribute__Ú__metaclass__r”  r˜  )r­  Ú
startswithÚendswithr’   r„   r   rÐ   rÑ   r  r   rÇ   rY  r,  Úlocalsræ   rÓ   Úsetattr)Úinto_clsÚfrom_clsÚskipÚonlyrz   Úfrom_instanceÚdundersr5   r_  Úmaybe_fnr¬   rÖ   Úfn_argsÚd_argsÚpyrÞ   s   &&&&&&          r-   Úmonkeypatch_proxied_specialsrÃ  „  s¬  € ÷ Ø‰àŠ<ðˆDô ˜”]ó	
á"�à—‘˜T×"ô ð —J‘J˜t×$ô	 ô
   ×,ô ð ‘M÷ ˆAÙ"ð 	ð 	
ô ˆð	Ü˜xÓ0ˆHÜ˜8 Z×0Ò0ÙÜ˜x¨°XÓ>ˆHÜ”e×(Ñ(¨(Ó3ˆBð	%Ü×0Ò0°Ó4ˆDÜ×2Ò2°4¸µ7Ó;ˆGÜ×1Ò1°$°qµ'¸"µ+Ó>ˆFð3Ü5;³Xõ>ð 	ð  Ð%×?Ð?¨4Ð*?×EÐEÀ2ð 	ô 	ˆRŒð	Ø')§¡ˆC�KÔ$ô 	� #¥+×.ó? ùò	
øô& ô 	Ûð	ûô ô 	%Ø+ˆGØ$ŠFð	%ûô ô 	Ùð	úsY   ŸF½FÁFÁ)FÁ1FÂ F	Â'F	ÃAFÅF1Æ	FÆFÆF.Æ-F.Æ1F?Æ>F?c                ó6   € \        V RV 4      \        VRV4      J # )z;Return True if the two methods are the same implementation.r=  )r„   )Úmeth1Úmeth2s   &&r-   Úmethods_equivalentrÇ  Ç  s(   € ô �5˜* eÓ,´Øˆz˜5ó1ð ð r/   c           	     óº  € V'       g   V'       g   \        R4      h\        V\        4      '       d   \        W4      '       d   V # \        T;'       g4    \	        V4       Uu. uF  qDP                  R4      '       d   K  VNK  	  up4      p\        \	        V 4      4      p\        P                  p\        V\        4      '       d   TpM.V'       g   \        4       p\        P                  pM\        V4      pV! VP                  V4      V4      '       d   V # \        V \        4      '       gL   V\        P                  J ;'       d    R;'       g    Rp\        V : RV: RRP                  V4      : 24      h ! R R	4      p	V'       d   R
VP                  ,           V	n        \        4       p
\        V 4       Fg  w  r¼Wµ9  d   \        RV,          4      h\        V4      '       g   \        V: RV: R24      h\        W›\!        V4      4       V
P#                  V4       Ki  	  V! W£4      '       d   V	# \        RRP                  W:,
          4      ,          4      hu upi )a*  Ensure basic interface compliance for an instance or dict of callables.

Checks that ``obj`` implements public methods of ``cls`` or has members
listed in ``methods``. If ``required`` is not supplied, implementing at
least one interface method is sufficient. Methods present on ``obj`` that
are not in the interface are ignored.

If ``obj`` is a dict and ``dict`` does not meet the interface
requirements, the keys of the dictionary are inspected. Keys present in
``obj`` that are not in the interface will raise TypeErrors.

Raises TypeError if ``obj`` does not meet the interface criteria.

In all passing cases, an object with callable members is returned.  In the
simple case, ``obj`` is returned as-is; if dict processing kicks in then
an anonymous class is returned.

obj
  A type, instance, or dictionary of callables.
cls
  Optional, a type.  All public methods of cls are considered the
  interface.  An ``obj`` instance of cls will always pass, ignoring
  ``required``..
methods
  Optional, a sequence of method names to consider as the interface.
required
  Optional, a sequence of mandatory implementations. If omitted, an
  ``obj`` that provides at least one interface method is considered
  sufficient.  As a convenience, required may be a type, in which case
  all public methods of the type are required.

z2a class or collection of method names are requiredr£  zany ofzall ofz does not implement z: r  c                  ó   € ] tR tRtRtRtR# )Ú(as_interface.<locals>.AnonymousInterfacei  zA callable-holding shell.r+   N©rQ   rR   rS   rT   rU   rX   r+   r/   r-   ÚAnonymousInterfacerÊ    s   † Ý'r/   rÌ  Ú	Anonymousz%r: unknown in this interfacerL  z is not callablez,dictionary does not contain required keys %s)r,  rh   r‚   r]   r­  rµ  ÚoperatorÚgeÚgtÚintersectionrÉ   rw   rQ   Údictlike_iteritemsrX  r¸  Ústaticmethodr_   )rv  rZ   rg  Úrequiredr5   Ú	interfaceÚimplementedÚcompliesÚ	qualifierrÌ  Úfoundr_  rý   s   &&&&         r-   Úas_interfacerÚ  Ï  sÕ  € ÷B —wÜÐLÓMÐMä�#”t×Ò¤¨C×!5Ò!5Øˆ
ä�G×MÐM¬3¨s¬8ÓM©8 a¿<¹<È×;L§ ©8ÑMÓN€IÜ”c˜#“h“-€Kä�{‰{€HÜ�(œD×!Ò!Ø‰ßÜ“5ˆÜ—;‘;‰ä�x“=ˆá�×(Ñ(¨Ó3°X×>Ò>Øˆ
ô �cœ4× Ò Ø¤§¡Ð+×8Ð8°×DÐD¸Hˆ	Üã“I˜tŸy™y¨Õ3ð5ó
ð 	
÷
(ñ (÷ Ø&1°C·L±LÕ&@ÐÔ#Ü‹E€Eä*¨3Ö/‰ˆØÔ"ÜÐ;¸fÕDÓEÐEÜ˜�~Š~Ü³v»tÐDÓEÐEÜÐ"¬L¸Ó,>Ô?Ø�	‰	�&Öñ 0ñ �× Ò Ø!Ð!ä
Ø6Ø
�)‰)�HÕ$Ó
%õ	&óð ùòS  Ns   Á!IÁ>IÚ_GFDzgeneric_fn_descriptor[Any]c                  óÌ   € ] tR tRt$ RtR]R&   R]R&   R]R&   RR
 R llt]R R l4       t]R R l4       tR R lt]	'       d   R R lt
R R ltR R lt]R R l4       tRtR	# )Úgeneric_fn_descriptori(  aO  Descriptor which proxies a function when the attribute is not
present in dict

This superclass is organized in a particular way with "memoized" and
"non-memoized" implementation classes that are hidden from type checkers,
as Mypy seems to not be able to handle seeing multiple kinds of descriptor
classes used for the same attribute.

úCallable[..., _T_co]Úfgetrn   rU   r*   rQ   Nc               ó    € V ^8„  d   QhRRRR/# )r'   rß  rÞ  Údocrn   r+   )r,   s   "r-   r.   Ú"generic_fn_descriptor.__annotate__7  s   € ÷ &ñ &Ð1ð &¸ñ &r/   c                	ój   € Wn         T;'       g    VP                  V n        VP                  V n        R # r?   ©rß  rU   rQ   ©rC   rß  rá  s   &&&r-   rñ   Úgeneric_fn_descriptor.__init__7  s%   € ØŒ	Ø×*Ð*˜dŸl™lˆŒØŸ™ˆŽr/   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r'   rC   rÛ  rv  r<   rZ   r   r)   r+   )r,   s   "r-   r.   râ  =  s   € ×=Ñ=�dÐ= Ð=¨CÐ=°DÑ=r/   c                	ó   € R # r?   r+   ©rC   rv  rZ   s   &&&r-   Ú__get__Úgeneric_fn_descriptor.__get__<  s   € Ù:=r/   c               ó$   € V ^8„  d   QhRRRRRR/# )r'   rv  r^  rZ   r   r)   r   r+   )r,   s   "r-   r.   râ  @  s   € ×:Ñ:˜6Ð:¨Ð:°Ñ:r/   c                	ó   € R # r?   r+   ré  s   &&&r-   rê  rë  ?  s   € Ù7:r/   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r'   rC   rÛ  rv  r   rZ   r)   zUnion[_GFD, _T_co]r+   )r,   s   "r-   r.   râ  B  s)   € ÷ $ñ $�dð $ ð $¨3ð $Ð3Eñ $r/   c                	ó   € \        4       hr?   ©ÚNotImplementedErrorré  s   &&&r-   rê  rë  B  ó   € Ü!Ó#Ð#r/   c               ó$   € V ^8„  d   QhRRRRRR/# ©r'   Úinstancer   rH   r)   r<   r+   )r,   s   "r-   r.   râ  G  s   € ×AÑA CÐA°ÐA¸ÑAr/   c                	ó   € R # r?   r+   ©rC   rõ  rH   s   &&&r-   Ú__set__Úgeneric_fn_descriptor.__set__G  s   € ¹cr/   c               ó    € V ^8„  d   QhRRRR/# ©r'   rõ  r   r)   r<   r+   )r,   s   "r-   r.   râ  I  s   € ×8Ñ8 sÐ8¨tÑ8r/   c                	ó   € R # r?   r+   )rC   rõ  s   &&r-   Ú
__delete__Ú generic_fn_descriptor.__delete__I  s   € ±Sr/   c               ó    € V ^8„  d   QhRRRR/# )r'   rv  r   r)   r<   r+   )r,   s   "r-   r.   râ  K  s   € ÷ $ñ $˜#ð $ $ñ $r/   c                	ó   € \        4       hr?   rð  ©rC   rv  s   &&r-   Ú_resetÚgeneric_fn_descriptor._resetK  rò  r/   c               ó$   € V ^8„  d   QhRRRRRR/# )r'   rv  r   rz   r*   r)   r<   r+   )r,   s   "r-   r.   râ  O  s!   € ÷ $ñ $˜ð $ 3ð $¨4ñ $r/   c                	ó   € \        4       hr?   rð  ©rZ   rv  rz   s   &&&r-   ÚresetÚgeneric_fn_descriptor.resetN  s   € ä!Ó#Ð#r/   ©rU   rQ   rß  r?   )rQ   rR   rS   rT   rU   rW   rñ   r   rê  r   rø  rý  r  Úclassmethodr  rX   r+   r/   r-   rÝ  rÝ  (  sf   ‡ ñð ÓØÓØƒM÷&ð
 Ü=ó Ø=àÜ:ó Ø:õ$÷ åAå8õ$ð ô$ó ô$r/   rÝ  c                  ó8   € ] tR tRtRt]'       g   R tRtR# RtR# )Ú_non_memoized_propertyiS  z¹a plain descriptor that proxies a function.

primary rationale is to provide a plain attribute that's
compatible with memoized_property which is also recognized as equivalent
by mypy.

c                	ó0   € Vf   V # V P                  V4      # r?   ©rß  ré  s   &&&r-   rê  Ú_non_memoized_property.__get__^  s   € ØŠ{Ø�Ø—9‘9˜S“>Ð!r/   r+   N)rQ   rR   rS   rT   rU   r   rê  rX   r+   r/   r-   r  r  S  s   † ñ÷ ö	"ó r/   r  c                  óF   € ] tR tRtRt]'       g   R tR t]R 4       t	Rt
R# )Ú_memoized_propertyid  z2A read-only @property that is only evaluated once.c                	óf   € Vf   V # V P                  V4      ;VP                  V P                  &   pV# r?   )rß  r*  rQ   ©rC   rv  rZ   Úresults   &&& r-   rê  Ú_memoized_property.__get__i  s0   € ØŠ{Ø�Ø37·9±9¸S³>ÐAˆC�L‰L˜Ÿ™Ñ'¨&ØˆMr/   c                	óD   € \         P                  WP                  4       R # r?   )r  r  rQ   r  s   &&r-   r  Ú_memoized_property._reseto  s   € Ü× Ñ  §m¡mÖ4r/   c                	ó>   € VP                   P                  VR 4       R # r?   )r*  r^   r  s   &&&r-   r  Ú_memoized_property.resetr  s   € à�‰×Ñ˜˜tÖ$r/   r+   N)rQ   rR   rS   rT   rU   r   rê  r  r
  r  rX   r+   r/   r-   r  r  d  s&   † Ù<çò	ò5ð ñ%ó ô%r/   r  c               ó    € V ^8„  d   QhRRRR/# ©r'   r¬   r    r)   r+   )r,   s   "r-   r.   r.   “  s   € ÷ 'ñ ' ð ' rñ 'r/   c                ó(   a € V 3R lp\        VS 4      # )zÐDecorate a method memoize its return value.

Best applied to no-arg methods: memoization is not sensitive to
argument values, and will always return the same value even when
called with different arguments.

c                ó¢   <a€ S! V .VO5/ VB oV3R  lpSP                   Vn         SP                  Vn        W0P                  SP                   &   S# )c                 ó   <€ S# r?   r+   ©Úarž  r  s   *,€r-   ÚmemoÚ6memoized_instancemethod.<locals>.oneshot.<locals>.memoŸ  s   ø€ ØˆMr/   )rQ   rU   r*  ©rC   rB  rž  r!  r  r¬   s   &*, @€r-   ÚoneshotÚ(memoized_instancemethod.<locals>.oneshotœ  sI   ù€ Ù�DÐ&˜4Ò& 2Ñ&ˆõ	ð Ÿ™ˆŒØ—z‘zˆŒØ%)�‰�b—k‘kÑ"Øˆr/   r   )r¬   r$  s   f r-   Úmemoized_instancemethodr&  “  s   ø€ õ	ô ˜' 2Ó&Ð&r/   c                  ó¦   € ] tR tRt$ Rt]'       g   Rt]! 4       tR]	R&   R R lt
R R ltR	 R
 lt ! R R]],          4      t]R R l4       tRtR# )ÚHasMemoizediª  zwA mixin class that maintains the names of memoized elements in a
collection for easy cache clearing, generative, etc.

zFrozenSet[str]Ú_memoized_keysc               ó   € V ^8„  d   QhRR/# r;   r+   )r,   s   "r-   r.   ÚHasMemoized.__annotate__·  s   € ÷ *ñ * Tñ *r/   c                	ód   € V P                    F  pV P                  P                  VR 4       K!  	  R # r?   )r)  r*  r^   ©rC   Úelems   & r-   Ú_reset_memoizationsÚHasMemoized._reset_memoizations·  s&   € Ø×'Ô'ˆDØ�M‰M×Ñ˜d DÖ)ó (r/   c               ó   € V ^8„  d   QhRR/# r;   r+   )r,   s   "r-   r.   r+  »  s   € ÷ -ñ -¨ñ -r/   c                	óP   € V P                    F  pWP                  9  d   K  Q h	  R # r?   )r)  r*  r-  s   & r-   Ú_assert_no_memoizationsÚ#HasMemoized._assert_no_memoizations»  s"   € Ø×'Ô'ˆDØŸ}™}Ö,Ð,Ð,ó (r/   c               ó$   € V ^8„  d   QhRRRRRR/# )r'   r¯  r*   rH   r   r)   r<   r+   )r,   s   "r-   r.   r+  ¿  s!   € ÷ %ñ %¨3ð %°sð %¸tñ %r/   c                	óV   € W P                   V&   V ;P                  V0,          un        R # r?   )r*  r)  )rC   r¯  rH   s   &&&r-   Ú_set_memoized_attributeÚ#HasMemoized._set_memoized_attribute¿  s!   € Ø"�‰�cÑØ×Ò ˜uÕ$×r/   c                  ó|   € ] tR tRt$ RtR]R&   R]R&   R]R&   RR
 R llt]R R l4       t]R R l4       tR tRt	R	# )ÚHasMemoized.memoized_attributeiÃ  zDA read-only @property that is only evaluated once.

:meta private:

úCallable[..., _T]rß  rn   rU   r*   rQ   Nc               ó    € V ^8„  d   QhRRRR/# )r'   rß  r;  rá  rn   r+   )r,   s   "r-   r.   Ú+HasMemoized.memoized_attribute.__annotate__Î  s   € ÷ 	*ñ 	*Ð!2ð 	*¸ñ 	*r/   c                	ój   € Wn         T;'       g    VP                  V n        VP                  V n        R # r?   rä  rå  s   &&&r-   rñ   Ú'HasMemoized.memoized_attribute.__init__Î  s%   € ØŒIØ×.Ð. $§,¡,ˆDŒLØ ŸM™MˆDŽMr/   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r'   rC   r#   rv  r<   rZ   r   r)   r+   )r,   s   "r-   r.   r=  Ô  s   € ×?Ñ?˜#Ð? DÐ?¨sÐ?°sÑ?r/   c                	ó   € R # r?   r+   ré  s   &&&r-   rê  Ú&HasMemoized.memoized_attribute.__get__Ó  s   € Ù<?r/   c               ó$   € V ^8„  d   QhRRRRRR/# )r'   rv  r   rZ   r)   r   r+   )r,   s   "r-   r.   r=  ×  s   € ×8Ñ8˜sÐ8¨Ð8°Ñ8r/   c                	ó   € R # r?   r+   ré  s   &&&r-   rê  rB  Ö  s   € Ù58r/   c                	ó®   € Vf   V # V P                  V4      ;VP                  V P                  &   pV;P                  V P                  0,          un        V# r?   )rß  r*  rQ   r)  r  s   &&& r-   rê  rB  Ù  sG   € ØŠ{Ø�Ø37·9±9¸S³>ÐAˆC�L‰L˜Ÿ™Ñ'¨&Ø×Ò 4§=¡= /Õ1ÕØˆMr/   r	  r?   )
rQ   rR   rS   rT   rU   rW   rñ   r   rê  rX   r+   r/   r-   Úmemoized_attributer:  Ã  sB   ‡ ñ	ð  ÓØÓØ‹÷	*ð
 
Ü?ó 
Ø?à	Ü8ó 
Ø8ö	r/   rF  c               ó    € V ^8„  d   QhRRRR/# r  r+   )r,   s   "r-   r.   r+  á  s   € ÷ +ñ +¨ð +°ñ +r/   c                ó.   a€ R V3R llp\        VS4      # )z=Decorate a method memoize its return value.

:meta private:

c               ó(   € V ^8„  d   QhRRRRRRRR/# )r'   rC   r   rB  rž  r)   r+   )r,   s   "r-   r.   Ú9HasMemoized.memoized_instancemethod.<locals>.__annotate__è  s(   € ÷ 
	ñ 
	˜#ð 
	 cð 
	°ð 
	¸ñ 
	r/   c                óê   <a€ S! V .VO5/ VB oV3R  lpSP                   Vn         SP                  Vn        W0P                  SP                   &   V ;P                  SP                   0,          un        S# )c                 ó   <€ S# r?   r+   r  s   *,€r-   r!  ÚBHasMemoized.memoized_instancemethod.<locals>.oneshot.<locals>.memoë  s   ø€ Ø�r/   )rQ   rU   r*  r)  r#  s   &*, @€r-   r$  Ú4HasMemoized.memoized_instancemethod.<locals>.oneshotè  s`   ù€ Ù˜Ð*˜tÒ* rÑ*ˆFõð ŸK™KˆDŒMØŸ:™:ˆDŒLØ)-�M‰M˜"Ÿ+™+Ñ&Ø×Ò B§K¡K =Õ0ÕØˆMr/   r   )rZ   r¬   r$  s   &f r-   r&  Ú#HasMemoized.memoized_instancemethodà  s   ø€ ÷
	ð 
	ô ˜g rÓ*Ð*r/   r+   N)rQ   rR   rS   rT   rU   r   rV   Ú	frozensetr)  rW   r/  r3  r7  Úmemoized_propertyr   rF  r
  r&  rX   r+   r/   r-   r(  r(  ª  sT   ‡ ñ÷
 ð ˆ	á%.£[€N�NÓ0õ*õ-õ%ôÐ.¨rÕ2ô ð: ô+ó ô+r/   r(  c                  ó0   € ] tR tRtRtRtR tR R ltRtR# )ÚMemoizedSlotsiý  a@  Apply memoized items to an object using a __getattr__ scheme.

This allows the functionality of memoized_property and
memoized_instancemethod to be available to a class using __slots__.

The memoized get is not threadsafe under freethreading and the
creator method may in extremely rare cases be called more than once.

c                	ó   € \        V4      hr?   )r  )rC   r¯  s   &&r-   Ú_fallback_getattrÚMemoizedSlots._fallback_getattr
  s   € Ü˜SÓ!Ð!r/   c               ó    € V ^8„  d   QhRRRR/# )r'   r¯  r*   r)   r   r+   )r,   s   "r-   r.   ÚMemoizedSlots.__annotate__  s   € ÷ /ñ /˜sð / sñ /r/   c                	ó²  a aa€ SP                  R 4      '       g   SP                  R4      '       d   \        S4      h\        S P                  R S 24      '       d$   \	        S R S 24      ! 4       p\        S SV4       V# \        S P                  RS 24      '       d+   \	        S RS 24      oVVV 3R lpSP                  Vn        V# S P                  S4      # )Ú_memoized_attr_Ú_memoized_method_c                 ó„   <a€ S! V / VB oV3R  lpSP                   Vn         SP                  Vn        \        SSV4       S# )c                 ó   <€ S# r?   r+   r  s   *,€r-   r!  Ú8MemoizedSlots.__getattr__.<locals>.oneshot.<locals>.memo  s   ø€ Ø!�Mr/   )rQ   rU   r¸  )rB  rž  r!  r  r¯  r›  rC   s   *, @€€€r-   r$  Ú*MemoizedSlots.__getattr__.<locals>.oneshot  s@   ù€ Ù˜tÐ* rÑ*�õ"ð !%§¡�”Ø#Ÿ|™|�”Ü˜˜c 4Ô(Ø�r/   )rµ  r  r’   rƒ   r„   r¸  rU   rU  )rC   r¯  rH   r$  r›  s   ff  @r-   Ú__getattr__ÚMemoizedSlots.__getattr__  sÉ   ú€ Ø�>‰>Ð+×,Ò,°·±Ø÷1
ò 1
ô ! Ó%Ð%ô �T—^‘^ °s°eÐ%<×=Ò=Ü˜D O°C°5Ð"9Ô:Ó<ˆEÜ�D˜#˜uÔ%ØˆLÜ�T—^‘^Ð'8¸¸Ð%>×?Ò?Ü˜4Ð#4°S°EÐ!:Ó;ˆD÷	ð #Ÿl™lˆGŒOØˆNà×)Ñ)¨#Ó.Ð.r/   r+   N)	rQ   rR   rS   rT   rU   rV   rU  r`  rX   r+   r/   r-   rS  rS  ý  s   † ñð €Iò"÷/ñ /r/   rS  c               ó    € V ^8„  d   QhRRRR/# )r'   rv  r   r)   r€   r+   )r,   s   "r-   r.   r.   .  s   € ÷ 	ñ 	�ð 	˜ñ 	r/   c                óÈ   € \        V \        4      '       dC   V P                  4       P                  4       p V R9   d   R# V R9   d   R# \	        RV ,          4      h\        V 4      # )ÚtrueTFzString is not true/false: %r)rd  ÚyesÚonÚyÚtÚ1)ÚfalseÚnoÚoffrt   ÚfÚ0)rh   r*   Ústriprr   Ú
ValueErrorr€   )rv  s   &r-   Úasboolrq  .  sV   € Ü�#”s×ÒØ�i‰i‹k×ÑÓ!ˆØÐ6Ô6ÙØÐ9Ô9ÙäÐ;¸cÕAÓBÐBÜ�‹9Ðr/   c               ó    € V ^8„  d   QhRRRR/# )r'   Útextr*   r)   z!Callable[[str], Union[str, bool]]r+   )r,   s   "r-   r.   r.   :  s   € ÷ ñ �sð Ð@ñ r/   c                 ó   a € R V 3R llpV# )ziReturn a callable that will evaluate a string as
boolean, or one of a set of "alternate" string values.

c               ó    € V ^8„  d   QhRRRR/# )r'   rv  r*   r)   zUnion[str, bool]r+   )r,   s   "r-   r.   Ú!bool_or_str.<locals>.__annotate__@  s   € ÷ ñ ˜3ð Ð#3ñ r/   c                ó,   <€ V S9   d   V # \        V 4      # r?   )rq  )rv  rs  s   &€r-   Úbool_or_valueÚ"bool_or_str.<locals>.bool_or_value@  s   ø€ Ø�$Œ;ØˆJä˜#“;Ðr/   r+   )rs  rx  s   j r-   Úbool_or_strrz  :  s   ø€ ÷ð ð Ðr/   c               ó    € V ^8„  d   QhRRRR/# )r'   rH   r   r)   úOptional[int]r+   )r,   s   "r-   r.   r.   I  s   € ÷ ñ �ð ˜ñ r/   c                ó$   € V f   V # \        V 4      # )zCoerce to integer.)r­   )rH   s   &r-   Úasintr~  I  s   € ð ‚}ØˆÜˆu‹:Ðr/   c               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# )r'   rž  rä   r¯  r*   rG   rl   Ú
flexi_boolr€   ÚdestzOptional[Dict[str, Any]]r)   r<   r+   )r,   s   "r-   r.   r.   Q  sD   € ÷ 'ñ 'Øð'à	ð'ð ð'ð ð	'ð
 #ð'ð 
ñ'r/   c                ó  € Vf   T pW9   dv   \        V\        4      '       d   \        W,          V4      '       gF   W,          e:   V\        J d   V'       d   \        W,          4      WA&   R# V! W,          4      WA&   R# R# R# R# )z©If 'key' is present in dict 'kw', coerce its value to type 'type\_' if
necessary.  If 'flexi_bool' is True, the string '0' is considered false
when coercing to boolean.
N)rh   r‚   r€   rq  )rž  r¯  rG   r€  r�  s   &&&&&r-   Úcoerce_kw_typerƒ  Q  sk   € ð ‚|Øˆð 	Œ	Ü˜E¤4×(Ò(´
¸2½7ÀE×0JÒ0JØ�GÒà”D‹=ŸZÜ˜r�w›ˆD‹Iá˜b�g›ˆD‹Iñ  ñ 1Kñ 	r/   c               ó$   € V ^8„  d   QhRRRRRR/# )r'   rv  r   rZ   rl   r)   rŒ   r+   )r,   s   "r-   r.   r.   k  s!   € ÷ ñ ˜ð  9ð °ñ r/   c                óš   a € \        V4      pV3\        ;QJ d    . V 3R lV 4       F  NK  	  5,           # ! V 3R lV 4       4      ,           # )zZProduce a tuple structure that is cacheable using the __dict__ of
obj to retrieve values

c              3  ór   <"  € T F,  qSP                   9   g   K  VSP                   V,          3x € K.  	  R # 5ir?   ©r*  ©rs   Úkrv  s   & €r-   ru   Ú"constructor_key.<locals>.<genexpr>q  s-   øé € ð Ù&+ °C·L±LÑ/@ÔˆˆC�L‰L˜�OÕ£eùó   ƒ7š7)r$  r”   )rv  rZ   rÙ   s   f& r-   Úconstructor_keyrŒ  k  sO   ø€ ô
 ˜3Ó€EØˆ6—E”Eô Ù&+ó—Eõ ð �Eô Ù&+óó õ ð r/   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR/# )	r'   rv  r   rZ   r[   rB  r   rž  r)   r+   )r,   s   "r-   r.   r.   v  s/   € ÷ ñ ˜"ð  8ð °Cð ¸sð Àrñ r/   c                ó~   a € \        V4      pVP                  V 3R lVP                  V4       4       4       V! V/ VB # )z|Instantiate cls using the __dict__ of obj as constructor arguments.

Uses inspect to match the named arguments of ``cls``.

c              3  ór   <"  € T F,  qSP                   9   g   K  VSP                   V,          3x € K.  	  R # 5ir?   r‡  rˆ  s   & €r-   ru   Ú#constructor_copy.<locals>.<genexpr>~  s.   øé € ð Ù&: À3Ç<Á<Ñ>OÔˆˆC�L‰L˜�OÕÓ&:ùr‹  )r$  r3   Ú
difference)rv  rZ   rB  rž  rÙ   s   f&*, r-   Úconstructor_copyr’  v  sE   ø€ ô ˜3Ó€EØ‡I�Iô Ø&+×&6Ñ&6°rÔ&:óô ñ �Ð˜ÑÐr/   c               ó   € V ^8„  d   QhRR/# )r'   r)   zCallable[[], int]r+   )r,   s   "r-   r.   r.   „  s   € ÷ ñ Ð"ñ r/   c                 ón   aa€ \         P                  ! 4       o\        P                  ! ^4      oVV3R lp V # )z%Return a threadsafe counter function.c                 ól   <€ S;_uu_ 4        \        S 4      uuR R R 4       #   + '       g   i     R # ; ir?   )Únext)ÚcounterÚlocks   €€r-   Ú_nextÚcounter.<locals>._next‹  s   ø€ ßŠTÜ˜“=÷ �T�T‹Tús   Œ"¢3	)Ú	threadingÚLockr¢   Úcount)r™  r—  r˜  s    @@r-   r—  r—  „  s+   ù€ ô �>Š>Ó€DÜ�oŠo˜aÓ €Gö!ð €Lr/   c               ó$   € V ^8„  d   QhRRRRRR/# )r'   Úspecimenr   r‹  zOptional[Type[Any]]r)   r+   )r,   s   "r-   r.   r.   ’  s$   € ÷  ñ  Øð Ø/ð àñ r/   c                ó  € \        V R4      '       dA   V P                  e'   \        V P                  \        4      '       d   \        # V P                  # \	        V \
        4      '       d   \        M\        pV! V \        4      '       d   \        # V! V \        4      '       d   \        # V! V \        4      '       d   \        # \        V R4      '       d   \        # \        V R4      '       d   \        # \        V R4      '       d   \        # V# )z¸Given an instance or class, guess if it is or is acting as one of
the basic collection types: list, set and dict.  If the __emulates__
property is present, return that preferentially.
Ú__emulates__r“   r_   r]   )r’   r¡  r¨  r]   rh   r‚   r  rÉ   )rŸ  r‹  Úisas   && r-   Úduck_type_collectionr£  ’  sË   € ô ˆx˜×(Ò(à× Ñ Ò,´Ø×!Ñ!¤3÷2
ò 2
ô ˆJà×(Ñ(Ð(ä" 8¬T×2Ò2�*¼
€CÙ
ˆ8”T×ÒÜˆÙ	ˆX”s×	Ò	Üˆ
Ù	ˆX”t×	Ò	Üˆäˆx˜×"Ò"ÜˆÜ	�˜5×	!Ò	!Üˆ
Ü	�˜5×	!Ò	!Üˆàˆr/   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r'   r|  r   Úargtypez'Union[Tuple[Type[Any], ...], Type[Any]]rz   r*   r)   r+   )r,   s   "r-   r.   r.   µ  s,   € ÷ ñ Ø	ðØ>ðØFIðàñr/   c           
     ó0  € \        W4      '       d   V # \        V\        4      '       dC   \        P                  ! R V: RRP	                  R V 4       4      : R\        V 4      : R24      h\        P                  ! R V: RV: R\        V 4      : R24      h)z
Argument 'z ' is expected to be one of type z or c              3  ó4   "  € T F  pR V,          x € K  	  R# 5i)z'%s'Nr+   )rs   r   s   & r-   ru   Ú"assert_arg_type.<locals>.<genexpr>¾  s   é € Ð$A¹°A V¨a§Z¢Z»ùs   ‚z, got 'Ú'z' is expected to be of type 'z', got ')rh   r”   r   ÚArgumentErrorrw   r‚   )r|  r¥  rz   s   &&&r-   Úassert_arg_typer«  µ  sy   € ô �#×ÒØˆ
ä�gœu×%Ò%Ü×#Ó#ã˜Ÿ™Ñ$A¹Ó$AÖAÄ4ÈÆ9ðNóð ô
 ×#Ó#ã›¤$ s¦)ð-óð r/   c           	     ó†  a a€ \        S R4      '       d   \        S P                  4       4      # \        S R\        S RR4      4      oSf   \	        RS ,          4      h\        S R4      '       d   V V3R lpV! 4       # \        S R4      '       d$   \        V3R	 lS P                  4        4       4      # \	        RS ,          4      h)
z?Return a (key, value) iterator for almost any dict-like object.r„  Ú__getitem__r+  NzObject '%r' is not dict-likeÚiterkeysc               3  ób   <"  € SP                  4        F  p Sf   Q hV S! V 4      3x € K  	  R # 5ir?   )r®  )r¯  ÚdictlikeÚgetters    €€r-   ÚiteratorÚ$dictlike_iteritems.<locals>.iteratorÓ  s4   øé € Ø×(Ñ(Ö*�ØÒ)Ð)Ð)Ø™6 #›;Ð&Ô&ó +ùs   ƒ,/r®  c              3  ó6   <"  € T F  qS! V4      3x € K  	  R # 5ir?   r+   )rs   r¯  r±  s   & €r-   ru   Ú%dictlike_iteritems.<locals>.<genexpr>Ú  s   øé € ÐB±/¨3™& ›+Õ&³/ùs   ƒ)r’   r  r„  r„   r,  Úiterr®  )r°  r²  r±  s   f @r-   rÒ  rÒ  Ç  s¢   ù€ ô ˆx˜×!Ò!Ü�H—N‘NÓ$Ó%Ð%ä�X˜}¬g°hÀÀtÓ.LÓM€FØ‚~ÜÐ6¸ÕAÓBÐBäˆx˜×$Ò$ö	'ñ
 ‹zÐÜ	�˜6×	"Ò	"ÜÔB°(·-±-´/ÓBÓBÐBäÐ6¸ÕAÓBÐBr/   c                  óN   a € ] tR tRt$ RtR]R&   R V 3R lltR
R R lltR	tV ;t	# )Úclasspropertyiß  a)  A decorator that behaves like @property except that operates
on classes rather than instances.

The decorator is currently special when using the declarative
module, but note that the
:class:`~.sqlalchemy.ext.declarative.declared_attr`
decorator should be used for this purpose with declarative.

úCallable[[Any], Any]rß  c               ó$   € V ^8„  d   QhRRRRRR/# )r'   rß  r¹  r|  r   rž  r+   )r,   s   "r-   r.   Úclassproperty.__annotate__ì  s"   € ÷ $ñ $Ð1ð $¸ð $ÀCñ $r/   c                	óR   <€ \         SV `  ! V.VO5/ VB  VP                  V n        R # r?   )Úsuperrñ   rU   )rC   rß  r|  rž  rƒ   s   &&*,€r-   rñ   Úclassproperty.__init__ì  s%   ø€ Ü‰Ò˜Ð* Ò* rÒ*Ø—|‘|ˆŽr/   c               ó$   € V ^8„  d   QhRRRRRR/# )r'   rv  r   rZ   zOptional[type]r)   r+   )r,   s   "r-   r.   r»  ð  s!   € ÷ ñ ˜3ð  ^ð ¸sñ r/   c                	ó$   € V P                  V4      # r?   r  ré  s   &&&r-   rê  Úclassproperty.__get__ð  s   € Ø�y‰y˜‹~Ðr/   )rU   r?   )
rQ   rR   rS   rT   rU   rW   rñ   rê  rX   Ú__classcell__©rƒ   s   @r-   r¸  r¸  ß  s$   ø‡ ñð Ó÷$ð $÷õ r/   r¸  c                  ó:   € ] tR tRtR R ltR R ltR R ltRtR	# )
Úhybridpropertyiô  c               ó   € V ^8„  d   QhRR/# ©r'   r5  r;  r+   )r,   s   "r-   r.   Úhybridproperty.__annotate__õ  ó   € ÷ ñ Ð.ñ r/   c                	ó   € Wn         Wn        R # r?   )r5  Úclslevel©rC   r5  s   &&r-   rñ   Úhybridproperty.__init__õ  s   € ØŒ	ØŽr/   c               ó$   € V ^8„  d   QhRRRRRR/# ©r'   rõ  r   Úownerr)   r   r+   )r,   s   "r-   r.   rÈ  ù  ó!   € ÷ 'ñ ' ð '¨Cð '°Bñ 'r/   c                	óR   € Vf   V P                  V4      pV# V P                  V4      # r?   ©rË  r5  ©rC   rõ  rÐ  Úclsvals   &&& r-   rê  Úhybridproperty.__get__ù  ó*   € ØÒØ—]‘] 5Ó)ˆFØˆMà—9‘9˜XÓ&Ð&r/   c               ó    € V ^8„  d   QhRRRR/# )r'   r5  r   r)   zhybridproperty[_T]r+   )r,   s   "r-   r.   rÈ     s   € ÷ ñ Ð1ð Ð6Hñ r/   c                	ó   € Wn         V # r?   ©rË  rÌ  s   &&r-   Ú
classlevelÚhybridproperty.classlevel   ó   € ØŒØˆr/   rÓ  N)rQ   rR   rS   rT   rñ   rê  rÛ  rX   r+   r/   r-   rÅ  rÅ  ô  s   † õõ'÷ñ r/   rÅ  c                  óR   € ] tR tRtR R ltR R ltR R ltR R	 ltR
 R ltRt	R# )Úrw_hybridpropertyi  c               ó   € V ^8„  d   QhRR/# rÇ  r+   )r,   s   "r-   r.   Úrw_hybridproperty.__annotate__  s   € ÷ 8ñ 8Ð.ñ 8r/   c                	ó,   € Wn         Wn        R V n        R # r?   )r5  rË  ÚsetfnrÌ  s   &&r-   rñ   Úrw_hybridproperty.__init__  s   € ØŒ	ØŒØ37ˆŽ
r/   c               ó$   € V ^8„  d   QhRRRRRR/# rÏ  r+   )r,   s   "r-   r.   rá    rÑ  r/   c                	óR   € Vf   V P                  V4      pV# V P                  V4      # r?   rÓ  rÔ  s   &&& r-   rê  Úrw_hybridproperty.__get__  r×  r/   c               ó$   € V ^8„  d   QhRRRRRR/# rô  r+   )r,   s   "r-   r.   rá    s!   € ÷ $ñ $ ð $¨Cð $°Dñ $r/   c                	óH   € V P                   f   Q hV P                  W4       R # r?   ©rã  r÷  s   &&&r-   rø  Úrw_hybridproperty.__set__  s   € Ø�z‰zÒ%Ð%Ð%Ø�
‰
�8Ö#r/   c               ó    € V ^8„  d   QhRRRR/# ©r'   r5  r   r)   zrw_hybridproperty[_T]r+   )r,   s   "r-   r.   rá    s   € ÷ ñ Ð-ð Ð2Gñ r/   c                	ó   € Wn         V # r?   rê  rÌ  s   &&r-   ÚsetterÚrw_hybridproperty.setter  s   € ØŒ
Øˆr/   c               ó    € V ^8„  d   QhRRRR/# rí  r+   )r,   s   "r-   r.   rá    s   € ÷ ñ Ð1ð Ð6Kñ r/   c                	ó   € Wn         V # r?   rÚ  rÌ  s   &&r-   rÛ  Úrw_hybridproperty.classlevel  rÝ  r/   )rË  r5  rã  N)
rQ   rR   rS   rT   rñ   rê  rø  rï  rÛ  rX   r+   r/   r-   rß  rß    s    † õ8õ
'õ$õ÷ñ r/   rß  c                  ó>   € ] tR tRtRtR R ltR R ltR R ltR	tR
# )Úhybridmethodi  z/Decorate a function as cls- or instance- level.c               ó   € V ^8„  d   QhRR/# rÇ  r+   )r,   s   "r-   r.   Úhybridmethod.__annotate__"  rÉ  r/   c                	ó.   € V;V n         V n        Wn        R # r?   )r5  r=  rË  rÌ  s   &&r-   rñ   Úhybridmethod.__init__"  s   € Ø$(Ð(ˆŒ	�D”MØŽr/   c               ó$   € V ^8„  d   QhRRRRRR/# )r'   rõ  r   rÐ  r)   r;  r+   )r,   s   "r-   r.   r÷  &  s"   € ÷ ñ  ð ¨Cð Ð4Eñ r/   c                	óŠ   € Vf&   V P                   P                  W"P                  4      # V P                  P                  W4      # r?   )rË  rê  rƒ   r5  )rC   rõ  rÐ  s   &&&r-   rê  Úhybridmethod.__get__&  sB   € ØÒØ—=‘=×(Ñ(Ø—‘óð ð —9‘9×$Ñ$Øóð r/   c               ó    € V ^8„  d   QhRRRR/# )r'   r5  r   r)   zhybridmethod[_T]r+   )r,   s   "r-   r.   r÷  0  s   € ÷ ñ Ð1ð Ð6Fñ r/   c                	ó   € Wn         V # r?   rÚ  rÌ  s   &&r-   rÛ  Úhybridmethod.classlevel0  rÝ  r/   )r=  rË  r5  N)	rQ   rR   rS   rT   rU   rñ   rê  rÛ  rX   r+   r/   r-   rõ  rõ    s   † Ù9õõ÷ñ r/   rõ  c                  óx   € ] tR tRt$ RtR]R&   / tR]R&   ]P                  ! 4       t	RR R	 llt
R
 tR tR tRtR# )Úsymboli5  a)  A constant symbol.

>>> symbol("foo") is symbol("foo")
True
>>> symbol("foo")
<symbol 'foo>

A slight refinement of the MAGICCOOKIE=object() pattern.  The primary
advantage of symbol() is its repr().  They are also singletons.

Repeated calls of symbol('name') will all return the same instance.

r*   rz   zDict[str, symbol]ÚsymbolsNc               ó(   € V ^8„  d   QhRRRRRRRR/# )	r'   rz   r*   rá  rn   Ú	canonicalr|  r)   r  r+   )r,   s   "r-   r.   Úsymbol.__annotate__I  s2   € ÷ ñ àðð ðð !ð	ð
 
ñr/   c                	ó²  € V P                   ;_uu_ 4        V P                  P                  V4      pVfe   \        V\        4      '       g   Q hVf   \        V4      p\        P                  \        V4      pWn	        V'       d   W$n
        W@P                  V&   M V'       d   W48w  d   \        RV: RV 24      hVuuR R R 4       #   + '       g   i     R # ; i)Nz#Can't replace canonical symbol for z with new int value )Ú_lockr  r+  rh   r*   Úhashr­   Ú__new__r  rz   rU   r,  )rZ   rz   rá  r  r©   s   &&&& r-   r	  Úsymbol.__new__I  s®   € ð �Y�Y‹YØ—+‘+—/‘/ $Ó'ˆCØŠ{Ü! $¬×,Ò,Ð,Ð,ØÒ$Ü $ T£
�IÜ—k‘k¤&¨)Ó4�Ø”ßØ"%”Kð %(—‘˜DÒ!ç Ô!1Ü#Ø=¸d¹Xð F.Ø.7¨[ð:óð ð ÷- �Y�Y‹Yús   •BCÂ!CÃC	c                	ó>   € \         V P                  R \        V 4      33# rM  )r  rz   r­   rB   s   &r-   Ú
__reduce__Úsymbol.__reduce__g  s   € Ü˜Ÿ	™	 3¬¨D«	Ð2Ð2Ð2r/   c                	ó   € \        V 4      # r?   )rÏ   rB   s   &r-   Ú__str__Úsymbol.__str__j  s   € Ü�D‹zÐr/   c                	ó$   € R V P                   : R2# )zsymbol(rÂ   )rz   rB   s   &r-   Ú__repr__Úsymbol.__repr__m  s   € Ø˜Ÿ™™ QÐ'Ð'r/   r+   )NN)rQ   rR   rS   rT   rU   rW   r  r›  rœ  r  r	  r  r  r  rX   r+   r/   r-   r  r  5  s9   ‡ ñð ƒIà!#€GÐÓ#Ø�NŠNÓ€E÷ò<3òö(r/   r  c                  ó.   € ] tR tRtR R ltR R ltRtR# )Ú_IntFlagMetaiq  c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r'   Ú	classnamer*   rš   zTuple[Type[Any], ...]Údict_rä   rž  r   r)   r<   r+   )r,   s   "r-   r.   Ú_IntFlagMeta.__annotate__r  s<   € ÷ 
ñ 
àð
ð %ð
ð ð	
ð
 ð
ð 
ñ
r/   c                	óÄ  € . ;V n         pVP                  4        Fˆ  w  rg\        P                  ! R V4      '       d   K$  \	        V\
        4      '       d   \        WgR7      pM$VP                  R4      '       g   \        R4      hKk  \        WV4       VP                  V4       KŠ  	  \        P                  ! V Uu/ uF  qˆP                  VbK  	  up4      V n        R# u upi )z^__.*__$)r  r£  z#Expected integer values for IntFlagN)Ú_itemsr„  rx   Úmatchrh   r­   r  rµ  r,  r¸  r“   r   Úimmutabledictrz   Ú__members__)	rZ   r  rš   r  rž  r„  r‰  Úvr©   s	   &&&&,    r-   rñ   Ú_IntFlagMeta.__init__r  s°   € ð  ÐˆŒ
�UØ—K‘K–M‰DˆAÜ�xŠx˜ Q×'Ò'ÙÜ˜!œS×!Ò!Ü˜QÔ,‘Ø—\‘\ #×&Ò&ÜÐ EÓFÐFáÜ�C˜CÔ Ø�L‰L˜Öñ "ô '×4Ò4Ù&+Ó,¡e˜s�X‰X�sŠ]¡eÑ,ó
ˆŽùÚ,s   Â:Cc               ó   € V ^8„  d   QhRR/# )r'   r)   zIterator[symbol]r+   )r,   s   "r-   r.   r  ‹  s   € ÷ 
ñ 
Ð*ñ 
r/   c                	ó   € \        R 4      h)z“iter not implemented to ensure compatibility with Python 3.11 IntFlag.  Please use __members__.  See https://github.com/python/cpython/issues/99304rð  rB   s   &r-   Ú__iter__Ú_IntFlagMeta.__iter__‹  s   € Ü!ð=ó
ð 	
r/   r+   N)rQ   rR   rS   rT   rñ   r#  rX   r+   r/   r-   r  r  q  s   † õ
÷2
ñ 
r/   r  c                  ó   € ] tR tRtRtRtR# )Ú_FastIntFlagi“  z¶An 'IntFlag' copycat that isn't slow when performing bitwise
operations.

the ``FastIntFlag`` class will return ``enum.IntFlag`` under TYPE_CHECKING
and ``_FastIntFlag`` otherwise.

r+   NrË  r+   r/   r-   r&  r&  “  s   † õr/   r&  )Ú	metaclass)ÚIntFlagÚ_Ec          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r'   r|  r   ÚchoiceszDict[_E, List[Any]]rz   r*   Úresolve_symbol_namesr€   r)   zOptional[_E]r+   )r,   s   "r-   r.   r.   ¨  sA   € ÷ Dñ DØ	ðDà ðDð ðDð ð	Dð
 ñDr/   c                óØ   € VP                  4        F4  w  rEWJ d   Vu # V'       d   WP                  8X  d   Vu # W9   g   K2  Vu # 	  V f   R# \        P                  ! RV RV : 24      h)a'  Given a user parameter, parse the parameter into a chosen value
from a list of choice objects, typically Enum values.

The user argument can be a string name that matches the name of a
symbol, or the symbol object itself, or any number of alternate choices
such as True/False/ None etc.

:param arg: the user argument.
:param choices: dictionary of enum values to lists of possible
    entries for each.
:param name: name of the argument.   Used in an :class:`.ArgumentError`
    that is raised if the parameter doesn't match any available argument.

NzInvalid value for 'z': )r„  rz   r   rª  )r|  r+  rz   r,  Ú
enum_valueÚchoices   &&&&  r-   Úparse_user_argument_for_enumr0  ¨  si   € ð( &Ÿm™mžoÑˆ
ØÓØÒß! c¯_©_Ô&<ØÒØŽ]ØÒñ .ð ‚{Ùä
×
Ò
Ð1°$°°s¸3¹'ÐBÓ
CÐCr/   c               ó    € V ^8„  d   QhRRRR/# rû  r+   )r,   s   "r-   r.   r.   Í  s   € ÷ 
ñ 
 ð 
¨ñ 
r/   c                ó6   € \         V n         \         ^,          s R# )zÎAssign a '_creation_order' sequence to the given instance.

This allows multiple instances to be sorted in order of creation
(typically within a single thread; the counter is not particularly
threadsafe).

N)Ú_creation_order)rõ  s   &r-   Úset_creation_orderr4  Í  s   € ô  /€HÔÜ�qÕ‚Or/   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r'   r5  r   rB  r   ro  r)   r+   )r,   s   "r-   r.   r.   Ú  s)   € ÷ 7ñ 7Ð+ð 7°Cð 7À3ð 7È3ñ 7r/   c                ó�   €  V ! V/ VB #   \          d1    \        R\        P                  ! 4       R,          ,          4        R# i ; i)zPexecutes the given function, catches all exceptions and converts to
a warning.

z%s('%s') ignored:é    r'   NN)ri   Úwarnr@   rA   )r5  rB  ro  s   &*,r-   Úwarn_exceptionr9  Ú  s?   € ð
7Ù�TÐ$˜VÑ$Ð$øÜô 7ÜÐ¤#§,¢,£.°Õ"5Õ5×6ð7ús   ‚
 Š7AÁAc                óf   €  \        V 4      V8”  d   R V ^ V ,          # V #   \         d    T u # i ; i)z%s...)rÈ   r,  )rH   Úlen_s   &&r-   Úellipses_stringr<  å  s=   € ðÜˆu‹:˜ÔØ˜U 1 T˜]Õ*Ð*àˆLøÜô ØŠðús   ‚  ž   0¯0c                  óV   a € ] tR tRt$ RtR]R&   R V 3R lltR R ltR	 R
 ltRt	V ;t
# )Ú_hash_limit_stringiï  a  A string subclass that can only be hashed on a maximum amount
of unique values.

This is used for warnings so that we can send out parameterized warnings
without the __warningregistry__ of the module,  or the non-overridable
"once" registry within warnings.py, overloading memory,


r­   Ú_hashc               ó(   € V ^8„  d   QhRRRRRRRR/# )	r'   rH   r*   Únumr­   rB  úSequence[Any]r)   r>  r+   )r,   s   "r-   r.   Ú_hash_limit_string.__annotate__ü  s,   € ÷ ñ ØðØ!ðØ)6ðà	ñr/   c                	ó¤   <€ W,          R V,          ,           p\         SV `  W4      p\        RV\        V4      V,          3,          4      Vn        V# )z6 (this warning may be suppressed after %d occurrences)z%s_%d)r½  r	  r  r?  )rZ   rH   rA  rB  ÚinterpolatedrC   rƒ   s   &&&&  €r-   r	  Ú_hash_limit_string.__new__ü  sN   ø€ ð �ØDÀsÕJõ
ˆô ‰w‰˜sÓ1ˆÜ˜' U¬D°Ó,>ÀÕ,DÐ$EÕEÓFˆŒ
Øˆr/   c               ó   € V ^8„  d   QhRR/# )r'   r)   r­   r+   )r,   s   "r-   r.   rC    s   € ÷ ñ ˜#ñ r/   c                	ó   € V P                   # r?   ©r?  rB   s   &r-   Ú__hash__Ú_hash_limit_string.__hash__  s   € Ø�z‰zÐr/   c               ó    € V ^8„  d   QhRRRR/# )r'   Úotherr   r)   r€   r+   )r,   s   "r-   r.   rC  	  s   € ÷ )ñ )˜Cð ) Dñ )r/   c                	ó0   € \        V 4      \        V4      8H  # r?   )r  )rC   rM  s   &&r-   Ú__eq__Ú_hash_limit_string.__eq__	  s   € Ü�D‹zœT %›[Ñ(Ð(r/   rI  )rQ   rR   rS   rT   rU   rW   r	  rJ  rO  rX   rÂ  rÃ  s   @r-   r>  r>  ï  s(   ø‡ ñð ƒJ÷ð õ÷)ó )r/   r>  c               ó$   € V ^8„  d   QhRRRRRR/# )r'   Úmsgr*   rÝ   rn   r)   r<   r+   )r,   s   "r-   r.   r.     s!   € ÷ 
+ñ 
+ˆcð 
+˜ð 
+°$ñ 
+r/   c                óŽ   € V'       d#   \        \        P                  ! WR7      4       R# \        V \        P                  4       R# )zXIssue a warning.

If msg is a string, :class:`.exc.SAWarning` is used as
the category.

)rÝ   N)Ú_warnings_warnr   Ú	SAWarning)rR  rÝ   s   &&r-   r8  r8    s&   € ÷ Ü”s—}’} SÔ4Ö5ä�sœCŸM™MÖ*r/   c               ó$   € V ^8„  d   QhRRRRRR/# )r'   rR  r*   rB  rB  r)   r<   r+   )r,   s   "r-   r.   r.     s!   € ÷ 'ñ '�cð ' ð '°4ñ 'r/   c                ód   € V'       d   \        V ^
V4      p \        V \        P                  4       R# )zTIssue a warning with a parameterized string, limiting the number
of registrations.

N)r>  rT  r   rU  )rR  rB  s   &&r-   Úwarn_limitedrX    s#   € ÷
 Ü   b¨$Ó/ˆÜ�3œŸ™Ö&r/   z)Dict[CodeType, Tuple[str, Type[Warning]]]Ú_warning_tagsc               ó$   € V ^8„  d   QhRRRRRR/# )r'   Úmessager*   ÚcategoryzType[Warning]r)   úCallable[[_F], _F]r+   )r,   s   "r-   r.   r.   '  s$   € ÷ ñ ØðØ)ðàñr/   c                ó   a a€ VV 3R  lpV# )c                ó2   <€ SS3\         V P                  &   V # r?   )rY  r  )r¬   r\  r[  s   &€€r-   ÚgoÚ#tag_method_for_warnings.<locals>.go*  s   ø€ Ø&-¨xÐ%8Œ�b—k‘kÑ"Øˆ	r/   r+   )r[  r\  r`  s   ff r-   Útag_method_for_warningsrb  '  s   ù€ öð €Ir/   z&^(?:sqlalchemy\.(?!testing)|alembic\.)c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r'   r[  zUnion[str, Warning]r\  zOptional[Type[Warning]]Ú
stacklevelr­   r)   r<   r+   )r,   s   "r-   r.   r.   4  s0   € ÷ 0:ñ 0:Ø ð0:à%ð0:ð ð0:ð 
ñ	0:r/   c                ór  €  \         P                  ! V4      pR ;rEVe¾   V'       g>   \        P                  ! \        VP
                  P                  RR4      4      '       g   RpVP                  \        9   d0   Rp\        VP                  ,          w  rgT;'       g    TpV  RV R2p VP                  pV'       g   V^,          pK¬  V'       g   K¶  V'       g   KÀ  M Ve"   \        P                  ! WV^,           R7       R# \        P                  ! W^,           R7       R#   \         d    ^ p LT ^ p LY; i)FNrQ   rÀ   Tz (rÂ   )rd  )r@   Ú	_getframerx   r  Ú_not_sa_patternÚ	f_globalsr+  Úf_coderY  Úf_backrp  Úwarningsr8  )r[  r\  rd  ÚframeÚstacklevel_foundÚwarning_tag_foundÚ_suffixÚ	_categorys   &&&     r-   rT  rT  4  s  € ð%Ü—’˜jÓ)ˆð 05Ð4ÐØÒ÷ $¬B¯HªHÜ §¡×!4Ñ!4°ZÀÓ!D÷-ò -ð
 $(Ð ð
 �|‰|œ}Ô,Ø$(Ð!Ü%2°5·<±<Õ%@Ñ"�Ø#×0Ð0 y�Ø$˜I R¨ y°Ð2�à—L‘LˆEç#Ø˜a•’
ß!Ñ!×&7Ñ&7Øð3  ð6 ÒÜ�Š�g°JÀµN×Cä�Š�g°q­.×9øôQ ô ð Š
ðð Š
ús   ‚D" Ä"D6Ä1D6c               ó$   € V ^8„  d   QhRRRRRR/# )r'   r¬   r;  Úretry_on_exceptionr€   r)   zCallable[..., Optional[_T]]r+   )r,   s   "r-   r.   r.   g  s$   € ÷ ñ ØðØ/3ðà ñr/   c                ó(   a aa€ S .oR V VV3R llpV# )zJDecorate the given function to be a no-op after it is called exactly
once.c               ó$   € V ^8„  d   QhRRRRRR/# )r'   r|  r   rž  r)   zOptional[_T]r+   )r,   s   "r-   r.   Úonly_once.<locals>.__annotate__o  s!   € ÷ ñ �ð ˜Cð  Lñ r/   c                 óŽ   <€ SpS'       d   SP                  4       p V! V / VB # R#    S'       d   SP                  ^ T4       h ; i)r7  N)r^   Úinsert)r|  rž  Ú	strong_fnÚonce_fnr¬   Úoncerr  s   *,  €€€r-   r`  Úonly_once.<locals>.goo  sM   ø€ ð ˆ	ßØ—h‘h“jˆGðÙ Ð* rÑ*Ð*ñ øðß%Ø—K‘K  7Ô+Øús	   �' §Ar+   )r¬   rr  r`  rz  s   ff @r-   Ú	only_oncer|  g  s   ú€ ð ˆ4€D÷ò ð €Ir/   z%sqlalchemy/([a-z_]+/){0,2}[a-z_]+\.pyzunit(?:2|test2?/)c               ó(   € V ^8„  d   QhRRRRRRRR/# )r'   Útbr6  Úexclude_prefixzre.Pattern[str]Úexclude_suffixr)   r+   )r,   s   "r-   r.   r.   …  s0   € ÷ ñ Øðà#ðð $ðð ñ	r/   c                óø   € ^ p\        V 4      ^,
          pW48:  d)   VP                  W,          4      '       d   V^,          pK.  W48:  d)   VP                  W,          4      '       d   V^,          pK.  WV^,            # )aT  Chop extraneous lines off beginning and end of a traceback.

:param tb:
  a list of traceback lines as returned by ``traceback.format_stack()``

:param exclude_prefix:
  a regular expression object matching lines to skip at beginning of
  ``tb``

:param exclude_suffix:
  a regular expression object matching lines to skip at end of ``tb``
)rÈ   Úsearch)r~  r  r€  r�   Úends   &&&  r-   Úchop_tracebackr„  …  se   € ð" €EÜ
ˆb‹'�A�+€CØ
Œ,˜>×0Ñ0°µ×;Ò;Ø��
ŠØ
Œ,˜>×0Ñ0°µ×9Ò9Øˆq�ŠØ�c˜A•gÐÐr/   c                ól   € R V ,          p\        4       P                  4       p\        W4       VR,          # )z&def set(obj, value):    obj.%s = valuer]   )r·  Úcopyræ   )ÚattrnamerÝ   rÞ   s   &  r-   Ú
attrsetterrˆ  ¢  s*   € Ø3°hÕ>€DÜ
‹(�-‰-‹/€CÜˆ„OØˆu�:Ðr/   z^__.+__$c                  ó6   a € ] tR tRtRtRtR V 3R lltRtV ;t# )Ú
TypingOnlyi¬  z‹A mixin class that marks a class as 'typing only', meaning it has
absolutely no methods, attributes, or runtime functionality whatsoever.

c               ó   € V ^8„  d   QhRR/# r;   r+   )r,   s   "r-   r.   ÚTypingOnly.__annotate__´  s   € ÷ 
$ñ 
$ $ñ 
$r/   c                	óü   <€ \         V P                  9   dS   V P                   Uu0 uF"  p\        P	                  V4      '       d   K   VkK$  	  ppV'       d   \        R V  RV R24      h\        SV `  4        R# u upi )zClass z< directly inherits TypingOnly but has additional attributes r  N)rŠ  r-  r*  Ú_dundersr  ÚAssertionErrorr½  Ú__init_subclass__)rZ   rz   Ú	remainingrƒ   s   &  €r-   r�  ÚTypingOnly.__init_subclass__´  sx   ø€ Ü˜Ÿ™Ô&à!$§¢óÙ!-˜´X·^±^ÀD×5I—�¡ð ð ÷ Ü$Ø˜S˜Eð "-Ø-6¨K°qð:óð ô 	‰Ñ!Ö#ùòs   ¥A9ÁA9r+   )	rQ   rR   rS   rT   rU   rV   r�  rX   rÂ  rÃ  s   @r-   rŠ  rŠ  ¬  s   ø† ñð
 €I÷
$ö 
$r/   rŠ  c                  óV   a € ] tR tRt$ RtR]R&    R V 3R llt]R R l4       tR	t	V ;t
# )
ÚEnsureKWArgiÁ  a"  Apply translation of functions to accept \**kw arguments if they
don't already.

Used to ensure cross-compatibility with third party legacy code, for things
like compiler visit methods that need to accept ``**kw`` arguments,
but may have been copied from old code that didn't accept them.

r*   Úensure_kwargc               ó   € V ^8„  d   QhRR/# r;   r+   )r,   s   "r-   r.   ÚEnsureKWArg.__annotate__Ô  s   € ÷ $ñ $ $ñ $r/   c                	óT  <€ V P                   pV P                  pV'       dy   V Fr  p\        P                  ! W4      pV'       g   K#  W#,          p\        P
                  ! V4      pVP                  '       d   KU  V P                  V4      p\        WV4       Kt  	  \        SV `)  4        R # r?   )r•  r*  rx   r  r   rÇ   rD  Ú
_wrap_w_kwr¸  r½  r�  )	rZ   Úfn_regÚclsdictr¯  r5   r¬   rÖ   Úwrappedrƒ   s	   &       €r-   r�  ÚEnsureKWArg.__init_subclass__Ô  s|   ø€ Ø×!Ñ!ˆØ—,‘,ˆßÛ�Ü—H’H˜VÓ)�ß‘1Ø ��BÜ!×8Ò8¸Ó<�DØŸ:Ÿ:š:Ø"%§.¡.°Ó"4˜Ü ¨'Ö2ñ ô 	‰Ñ!Ö#r/   c               ó    € V ^8„  d   QhRRRR/# )r'   r¬   r   r)   r+   )r,   s   "r-   r.   r—  ã  s   € ÷ (ñ (Ð.ð (Ð3Eñ (r/   c                	ó.   a€ R  V3R llp\        VS4      # )c               ó$   € V ^8„  d   QhRRRRRR/# )r'   r|  r   rž  r)   r+   )r,   s   "r-   r.   Ú,EnsureKWArg._wrap_w_kw.<locals>.__annotate__ä  s!   € ÷ 	ñ 	�sð 	 #ð 	¨#ñ 	r/   c                 ó   <€ S! V !  # r?   r+   )r|  rž  r¬   s   *,€r-   ÚwrapÚ$EnsureKWArg._wrap_w_kw.<locals>.wrapä  s   ø€ Ù�s‘8ˆOr/   r   )rZ   r¬   r£  s   &f r-   r™  ÚEnsureKWArg._wrap_w_kwâ  s   ø€ ÷	ð 	ô ˜d BÓ'Ð'r/   r+   )rQ   rR   rS   rT   rU   rW   r�  r
  r™  rX   rÂ  rÃ  s   @r-   r”  r”  Á  s3   ø‡ ñð Óð÷$ð $ð ô(ó ö(r/   r”  c                ó°  € \        VR4      '       d   \        W4      # T pVP                  P                  Vn        \        VR4      '       d   VP                  Vn        \        VP
                  R4      '       d:   VP
                  P                  '       d   VP
                  P                  Vn        V# VP                  '       d   VP                  Vn        V# )z�Augment functools.update_wrapper() to work with objects with
a ``__call__()`` method.

:param fn:
  object with __call__ method

rQ   rR   rU   )r’   r   rƒ   rQ   rR   r>  rU   )Úwrapperr¬   Ú_fs   && r-   Úwrap_callabler©  ê  s�   € ô ˆr�:×ÒÜ˜gÓ*Ð*àˆØ—l‘l×+Ñ+ˆŒÜ�2�|×$Ò$ØŸM™MˆBŒMä�2—;‘; 	×*Ò*¨r¯{©{×/B×/BÐ/BØŸ™×,Ñ,ˆBŒJð ˆ	ð �Z�ZˆZØŸ™ˆBŒJàˆ	r/   c               ó$   € V ^8„  d   QhRRRRRR/# )r'   rs  r*   r�   r­   r)   r|  r+   )r,   s   "r-   r.   r.     s!   € ÷ <ñ <˜cð <¨#ð <°mñ <r/   c                óþ  € W,          R8X  g   Q R4       h^ pRpRp\        V 4      pTpWe8  dÐ   W,          pV'       d8   VR8X  d0   V^,           V8  d    W^,           ,          R8X  d   V^,          pKJ  RpM}V'       d8   VR8X  d0   V^,           V8  d    W^,           ,          R8X  d   V^,          pK‰  RpM>VR8X  d   RpM4VR8X  d   RpM*VR8X  d   V^,          pMVR8X  d   V^,          pV^ 8X  d   V# V^,          pKÕ  R# )	a¶  Return the index of the ``)`` that matches the ``(`` at ``start``.

The walk skips single-quoted (``'...'``) and double-quoted (``"..."``)
string literals, so parentheses inside string literals do not affect
the depth counter. ``''`` and ``""`` are treated as escaped quotes
inside their respective contexts, matching PostgreSQL/SQLite literal
conventions.

Returns ``None`` if the opening parenthesis is never closed
(unbalanced).  The character at ``text[start]`` must be ``(``.

Note for SQLite use, SQLite also supports MySQL backtick-style quotes as
well as SQL Server bracket style quotes; the latter has different escaping
behaviors.  A follow-up patch could add support for these two additional
styles (consider using an enum like QuotingStyle.DOUBLE |
QuotingStyle.BRACKET, etc.)

E.g.::

    >>> find_matching_paren("(a + b)")
    6
    >>> find_matching_paren("((a)(b))")
    7
    >>> find_matching_paren("(a = '(' AND b = ')')")
    20

r~  z'start index must point at an open parenFr©  Ú"TrÂ   N)rÈ   )rs  r�   ÚdepthÚ	in_singleÚ	in_doublert   rž   Úchs   &&      r-   Úfind_matching_parenr±    sû   € ð8 �;˜#ÔÐHÐHÓHÐà€EØ€IØ€IÜˆD‹	€AØ€AØ
Œ%Ø�WˆßØ�SŒyØ�q•5˜1”9 ¨!¥e¥°Ô!3Ø˜•F�AÙØ!�	øßØ�SŒyØ�q•5˜1”9 ¨!¥e¥°Ô!3Ø˜•F�AÙØ!�	øØ�3ŒYØ‰IØ�3ŒYØ‰IØ�3ŒYØ�Q�J‰EØ�3ŒYØ�Q�JˆEØ˜ŒzØ�Ø	ˆQ�ŠÙr/   c               ó    € V ^8„  d   QhRRRR/# ©r'   rs  r*   r)   r+   )r,   s   "r-   r.   r.   A  s   € ÷ ñ ˜Sð  Sñ r/   c                óÊ   € V P                  4       p\        V4      pV^8  g   V^ ,          R8w  g   VR,          R8w  d   V # \        V^ 4      pVe   W2^,
          8X  d   V^R # V # )a5  Remove one layer of outer parentheses from ``text`` if they wrap the
entire (stripped) string.

Whitespace is preserved if the parentheses do not wrap the whole
expression. String literals are honored via :func:`find_matching_paren`,
so ``"(a = '(' AND b = ')')"`` correctly strips to
``"a = '(' AND b = ')'"`` rather than being interpreted as two separate
paren groups.

E.g.::

    >>> strip_outer_parens("(a IS NOT NULL)")
    'a IS NOT NULL'
    >>> strip_outer_parens("(a) AND (b)")
    '(a) AND (b)'
    >>> strip_outer_parens("a NOT NULL")
    'a NOT NULL'

r~  rÂ   rW  )ro  rÈ   r±  )rs  ÚstrippedÚ	lstrippedÚcloses   &   r-   Ústrip_outer_parensr¸  A  sf   € ð( �z‰z‹|€HÜ�H“€IØ�1„}˜ � sÔ*¨h°r­l¸cÔ.AØˆÜ ¨!Ó,€EØÒ˜U°!¥mÔ3Ø˜˜"ˆ~ÐØ€Kr/   c                óú  € RV 9  d   V P                  R4      # ^ p. .p^ p\        V 4      pW48  d§   W,          pVR8X  dU   V^8X  dD   W4^,
          8  d7   W^,           ,          R8X  d#   VR,          P                  R4       V^,          pMBV^,          pM8VR8X  d   V^ 8X  d   VP                  . 4       MVR,          P                  V4       V^,          pK¬  V Uu. uF  pRP                  V4      NK  	  up# u upi )a˜  Parse a dotted identifier with accommodation for quoted names.

Includes support for SQL-style double quotes as a literal character.

E.g.::

    >>> quoted_token_parser("name")
    ["name"]
    >>> quoted_token_parser("schema.name")
    ["schema", "name"]
    >>> quoted_token_parser('"Schema"."Name"')
    ['Schema', 'Name']
    >>> quoted_token_parser('"Schema"."Name""Foo"')
    ['Schema', 'Name""Foo']

r¬  r  rÀ   rW  )r  rÈ   r“   rw   )rH   r—  r  ÚidxÚlvÚcharr	  s   &      r-   Úquoted_token_parserr½  _  sÞ   € ð$ �%ÔØ�{‰{˜3ÓÐð €EØ!˜d€FØ
€CÜ	ˆU‹€BØ
Œ(Ø�zˆØ�3Œ;Ø˜Œz˜c¨¥Fœl¨u¸1µW­~ÀÔ/DØ�r•
×!Ñ! #Ô&Ø�q•‘à˜•
‘Ø�SŒ[˜U aœZØ�M‰M˜"Õà�2�J×Ñ˜dÔ#Øˆq�Šá(.Ó/©˜uˆB�G‰G�EŽN©Ñ/Ð/ùÒ/s   ÃC8c               ó$   € V ^8„  d   QhRRRRRR/# )r'   Úparamsr   rs  r*   r)   r]  r+   )r,   s   "r-   r.   r.   ‹  s"   € ÷ 
ñ 
˜sð 
¨#ð 
Ð2Dñ 
r/   c                óD   a a€ \         P                  ! S 4      o V V3R  lpV# )c                ó¾   <€ V P                   R J;'       d    V P                   ;'       g    RpV'       d   \        TS Uu/ uF  q"SbK  	  up4      pWn         V # u upi )NrÀ   )rU   Úinject_param_text)r¬   rá  Úparamr¿  rs  s   &  €€r-   rà   Ú$add_parameter_text.<locals>.decorateŽ  sU   ø€ Ø�j‰j Ð$×3Ð3¨¯©×9Ð9°rˆßÜ# CÁ6Ó)JÁ6¸%°ª+Á6Ñ)JÓKˆCØŒ
Øˆ	ùò *Ks   Á A
)r   r€  )r¿  rs  rà   s   ff r-   Úadd_parameter_textrÅ  ‹  s   ù€ Ü×!Ò! &Ó)€Föð €Or/   c               ó    € V ^8„  d   QhRRRR/# r³  r+   )r,   s   "r-   r.   r.   ˜  s   € ÷ 	%ñ 	%˜Cð 	% Cñ 	%r/   c                óô   € V P                  R ^4      p\        V4      ^8X  d   V # Vw  r#VP                  R4      '       g%   VR ,           \        P                  ! V4      ,           # \        P                  ! V 4      # )Ú
rp   )r  rÈ   rµ  ÚtextwrapÚdedent)rs  Ú
split_textÚ	firstliner‘  s   &   r-   Ú_dedent_docstringrÍ  ˜  sd   € Ø—‘˜D !Ó$€JÜ
ˆ:ƒ˜!ÔØˆà)Ñˆ	Ø×Ñ ×$Ò$Ø˜4Õ¤(§/¢/°)Ó"<Õ<Ð<ä�Š˜tÓ$Ð$r/   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r'   Úgiven_doctextrn   Ú
injecttextr*   Úposr­   r)   r+   )r,   s   "r-   r.   r.   ¤  s,   € ÷ ñ Ø ðØ.1ðØ8;ðàñr/   c                óJ  € \        T ;'       g    R 4      pVP                  R4      p\        V4      ^8X  d   VP                  R 4       \        P
                  ! V4      P                  R4      pV^ ,          '       d   VP                  ^ R 4       \        V4       UUu. uF  w  rgVP                  4       '       d   K  VNK!  	  pppVP                  ^ ^ 4       V\        V\        V4      ^,
          4      ,          p	V^ V	 V,           WIR ,           pRP                  V4      # u uppi )rÀ   rÈ  N)rÍ  r  rÈ   r“   rÉ  rÊ  rw  r‚  ro  Úminrw   )
rÏ  rÐ  rÑ  ÚdoctextÚlinesÚinjectlinesrA  ÚlineÚblanksÚ
inject_poss
   &&&       r-   Úinject_docstring_textrÚ  ¤  së   € ô % ]×%8Ð%8°bÓ9€GØ�M‰M˜$Ó€EÜ
ˆ5ƒz�Q„Ø�‰�RÔÜ—/’/ *Ó-×3Ñ3°DÓ9€KØ�1‡~„~Ø×Ñ˜1˜bÔ!ä#,¨UÔ#3ÔHÑ#3‘i�c¸4¿:¹:¿<�cˆcÑ#3€FÑHØ
‡M�M�!�QÔàœ˜C¤ V£¨q¥Ó1Õ2€Jà�!�JÐ +Õ-°°kÐ0BÕB€EØ�9‰9�UÓÐùó Is   ÂDÂ;Dz(\s+):param (.+?):c               ó$   € V ^8„  d   QhRRRRRR/# )r'   rÔ  r*   Úinject_paramszDict[str, str]r)   r+   )r,   s   "r-   r.   r.   »  s!   € ÷ (ñ (˜sð (°>ð (Àcñ (r/   c                ót  € \         P                  ! V P                  4       4      p. pR pV'       Edx   VP                  4       p\        P                  V4      pVf¶   V'       d­   VP                  ^4      P                  R4      pWq9   d‡   R\        VP                  ^4      4      ,          R,           pV'       dH   \        P
                  ! RV^ ,          4      p	V	'       d"   R\        V	P                  ^4      4      ,          pW�V,          ,           pM…V'       d   VP                  RVR.4       R pMfVP                  4       '       g   VP                  WTR.4       R pM:VP                  R4      '       d$   VP                  WRP                  4       .4       EKl  VP                  V4       EK€  RP                  V4      # )NÚ*rp   z(\s+)\SrÈ  z::)ÚcollectionsÚdequeÚ
splitlinesÚpopleftÚ
_param_regr  rì   ÚlstriprÈ   rx   r`   Úrstripr¶  r“   rw   )
rÔ  rÜ  ÚdoclinesrÕ  Ú	to_injectr×  r5   rÃ  ÚindentÚm2s
   &&        r-   rÂ  rÂ  »  sP  € Ü× Ò  ×!3Ñ!3Ó!5Ó6€HØ€Eð €Iß
ˆ(Ø×ÑÓ!ˆä×Ñ˜TÓ"ˆàÒßØŸ™ ›
×)Ñ)¨#Ó.�ØÔ)à ¤3 q§w¡w¨q£z£?Õ2°SÕ8�F÷  ÜŸXšX j°(¸1µ+Ó>˜ßØ%(¬3¨r¯x©x¸«{Ó+;Õ%;˜Fà &°uÕ)=Õ =�IøßØ�L‰L˜$ 	¨4Ð0Ô1Ø‰IØ—‘—’Ø�L‰L˜$¨4Ð0Ô1Ø‰IØ�]‰]˜4× Ò ð �L‰L˜$× 0Ñ 0Ó 2Ð3Ô4ÚØ�‰�T×à�9‰9�UÓÐr/   c               ó    € V ^8„  d   QhRRRR/# )r'   rÙ   r6  r)   rn   r+   )r,   s   "r-   r.   r.   æ  s   € ÷ >ñ >˜Ið >¨-ñ >r/   c                ót  € \        V 4      ^ 8X  d   R# \        V 4      ^8*  pV'       d
   V R,          MV R,          V RR ,           p V  Uu. uF%  p\        V4      ^8”  d   RVR,          ,          MTNK'  	  ppV'       d   RP                  V4      # RP                  VR,          4      : RVR,          : 2# u upi )	zˆTrims a list of strings from the middle and return a string of up to
four elements. Strings greater than 11 characters will be truncatedN:r7  é   N:r7  r»   Nz%s..:Né   Nr  z, ..., rW  )rÈ   rw   )rÙ   Úflagrz   Úress   &   r-   Úrepr_tuple_namesrð  æ  sš   € ô ˆ5ƒz�Q„ÙÜˆu‹:˜‰?€DßˆE�#ŽJ E¨#¥J°°r°s°Õ$;€EÙFKÓ
LÁe¸d¤ T£¨R¤ˆ6�D˜•IÖ°TÒ9Áe€CÐ
LßØ�y‰y˜‹~Ðà $§	¡	¨#¨c­(Ö 3°S¸·WÐ=Ð=ùò	 Ms   Á	+B5c                óH   € \         '       d   R # V '       d   \        R4      hR# )TzDcython extensions were expected to be installed, but are not presentF)r   ÚImportError)Úraise_s   &r-   Úhas_compiled_extrô  ô  s$   € ßƒÙß	Üð"ó
ð 	
ñ
 r/   c                  ó8   € ] tR tRt]P
                  ! 4       tRtR# )Ú_Missingi 	  r+   N)rQ   rR   rS   rT   ÚenumÚautoÚMissingrX   r+   r/   r-   rö  rö   	  s   † Ø�iŠi‹k„Gr/   rö  r?   )FF)T)r+   r+   r+   r+   )r+   Nr+   )NNz
self.proxyN)NNN)TN)F)é   )Nr'   )r7  )�Ú__conditional_annotations__rU   Ú
__future__r   rß  r÷  Ú	functoolsr   rÄ   r¢   rÎ  rx   r@   rÉ  r›  rÐ   r   Útypingr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   rk  rÀ   r   r   Ú_has_cyr   r   r   r   r   r    r"   r#   r$   r%   r6   r8   rd   rj   r{   rˆ   r–   rª   r°   r±   râ   rÒ   rç   rè   rê   r  r$  r8  rG  rÌ   ra  rm  rp  rt  r�  r‘  r«  r°  rÃ  rÇ  rÚ  rÛ  rÝ  r  r  rQ  Únon_memoized_propertyÚpropertyÚro_memoized_propertyÚro_non_memoized_propertyr&  r(  Ú!HasMemoized_ro_memoized_attributerF  rS  rq  rz  r~  rƒ  rŒ  r’  r—  r£  r«  rÒ  r¸  rÅ  rß  rõ  r­   r  r‚   r  r&  r(  ÚFastIntFlagÚEnumr)  r0  r3  r4  r9  r<  r*   r>  r8  rX  rY  rW   rb  Úcompilerg  rT  r|  Ú_SQLA_REÚ_UNITTEST_REr„  ÚNoneTyperˆ  rŽ  rŠ  r”  r©  r±  r¸  r½  rÅ  rÍ  rÚ  rã  rÂ  rð  rô  rö  rù  Ú	MissingOr)rû  s   @r-   Ú<module>r     sµ  øðôõ
 #ã Û Ý $Û Û Û Û 	Û 
Û Û Û Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý  Ý Ý Û å Ý Ý $Ý Ý áˆTƒ]€Ù� 4Ô(€ÙˆT˜ # s (Õ+Ô,€ÙˆeÐ3Ô4€ÙˆeÐ@ÔA€ÙˆeÐ0Ô1€ÙˆeÐ.Ô/€õ$÷82ñ 82õvõ6÷Oõ,õ$õMõ ñ ˆeÐ/Ô0€õ
],õ@ñ ˆeƒn€Ùˆeƒn€÷(ñ (òV
ð( 
ðð  $ðð "ö	ó 
ðð 
ðØ-1ðØDIöó 
ðð
2Ø-1ð2ØDI÷2õj2÷9;÷xr
ôj÷Bò26ò(	÷KB÷\;ñ ;ò<#òLô @/òFôSñl ˆvÐ9Ô:€ô($˜G E�Nô ($ôV"Ð2°5Õ9ô "ô"%Ð.¨uÕ5ô %÷< ð .ÐØ1Ðð
 $ÐØ'Ñð 0BÐAÐÐ,Ø7MÐMÐÐ4õ'÷.J+ñ J+÷Z Ø(0Ñ%à(3×(FÑ(FÐ%÷-/ñ -/õb	õõ÷'õ4õõ÷ õFò$Cô0�Hô ô*�W˜R•[ô ô"˜ �ô ô4�7˜2•;ô ô,9(ˆSô 9(ôx
�4ô 
ôD˜\õ ÷ Ýà�Kà€Kñ ˆT˜Ÿ™Ô#€÷DðD €õ
õ7ôô)˜ô )÷<
+õ'ð <>€Ð8Ó =õð —*“*ÐFÓG€÷0:õfð4 �:‹:Ð>Ó?€Ø�z‹zÐ.Ó/€ð
 '3Ø&.÷ñ4 �‹:€òð �:‹:�jÓ!€÷$ñ $÷*&(ñ &(òR÷0<õ~ò<)0õX
õ	%õð( �Z‹ZÐ-Ó.€
õ(õV>ô	ôˆt�y‰yô ð ×
Ò
€Ø�"�g˜h×.Ò.Õ/Ð/Õ0‚	r/   