Ë
    pPêj†^  ã                  óÒ  — U d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z
 d dlmZ d dlmZmZmZmZmZ d dlmZmZmZmZmZmZmZ d d	lmZmZmZmZm Z m!Z!m"Z"m#Z# d d
l$m%Z% d dl&m'Z'm(Z(m)Z)m*Z*m+Z+ d dl,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2 d dl3m4Z4m5Z5m6Z6m7Z7 d dl8m9Z9m:Z:m;Z; d dl<m=Z=m>Z>m?Z?m@Z@ d dlAmBZBmCZCmDZDmEZE d dlFmGZG d dlHmIZImJZJ d dlKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZY eLD � ch c]  } | dz   ’Œ	 c} ZZde[d<   eLD � ch c]  } | dz   ’Œ	 c} Z\de[d<   eLD � ch c]  } | dz   ’Œ	 c} Z]de[d<   eLD � ch c]  } | dz   ’Œ	 c} eLD � ch c]  } | dz   ’Œ	 c} z  eLD � ch c]  } | dz   ’Œ	 c} z  eLD � ch c]  } | dz   ’Œ	 c} z  Z^de[d<    G d „ d!e«      Z_d2d"„Z`d3d#„Zad4d$„Zbd3d%„Zcd4d&„Zdd3d'„Zed4d(„Zfd4d)„Zg ehd*d+h«      Zide[d,<   d3d-„Zjd4d.„Zkd5d6d/„Zld4d0„Zmd4d1„Znyc c} w c c} w c c} w c c} w c c} w c c} w c c} w )7é    )Úannotations)ÚCallable)Úpartial)ÚFinalN)Úmessage_registry)ÚDictExprÚ
ExpressionÚIntExprÚStrExprÚ	UnaryExpr)ÚAttributeContextÚClassDefContextÚFunctionContextÚFunctionSigContextÚMethodContextÚMethodSigContextÚPlugin)Úattr_class_maker_callbackÚattr_class_makersÚattr_dataclass_makersÚattr_define_makersÚattr_frozen_makersÚattr_tag_callbackÚevolve_function_sig_callbackÚfields_function_sig_callback)Útry_getting_str_literals)ÚENUM_NAME_ACCESSÚENUM_VALUE_ACCESSÚ#SINGLEDISPATCH_CALLABLE_CALL_METHODÚ,SINGLEDISPATCH_REGISTER_CALLABLE_CALL_METHODÚSINGLEDISPATCH_REGISTER_METHOD)Úarray_constructor_callbackÚarray_getitem_callbackÚarray_iter_callbackÚarray_raw_callbackÚarray_setitem_callbackÚarray_value_callback)Údataclass_class_maker_callbackÚdataclass_makersÚdataclass_tag_callbackÚreplace_function_sig_callback)Úenum_member_callbackÚenum_name_callbackÚenum_value_callback)Ú'functools_total_ordering_maker_callbackÚfunctools_total_ordering_makersÚpartial_call_callbackÚpartial_new_callback)Ú4call_singledispatch_function_after_register_argumentÚ%call_singledispatch_function_callbackÚ'create_singledispatch_function_callbackÚ singledispatch_register_callback)Ú
is_subtype)Úis_literal_type_likeÚmake_simplified_union)ÚTPDICT_FB_NAMESÚAnyTypeÚCallableTypeÚInstanceÚLiteralTypeÚNoneTypeÚ	TupleTypeÚTypeÚTypedDictTypeÚ	TypeOfAnyÚTypeVarTypeÚ	UnionTypeÚget_proper_typeÚget_proper_typesz.setdefaultr   ÚTD_SETDEFAULT_NAMESz.popÚTD_POP_NAMESz.__delitem__ÚTD_DELITEM_NAMESz.updatez.__or__z.__ror__z.__ior__ÚTD_UPDATE_METHOD_NAMESc                  ó`   — e Zd ZdZd
d„Z	 	 	 	 dd„Z	 	 	 	 dd„Zdd„Zdd„Zdd„Z		 	 	 	 dd„Z
y	)ÚDefaultPluginz/Type checker plugin that is enabled by default.c                ór   — |dk(  rt         S |dk(  rt        S |dk(  rt        S |dk(  rt        S |dk(  rt        S y )Nz_ctypes.Arrayzfunctools.singledispatchzfunctools.partialzenum.memberzbuiltins.len)r"   r5   r2   r,   Úlen_callback©ÚselfÚfullnames     úY/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/mypy/plugins/default.pyÚget_function_hookzDefaultPlugin.get_function_hookb   sM   € Ø�Ò&Ü-Ð-ØÐ3Ò3Ü:Ð:ØÐ,Ò,Ü'Ð'Ø˜Ò&Ü'Ð'Ø˜Ò'ÜÐØó    c                óB   — |dv rt         S |dv rt        S |dk(  rt        S y )N)zattr.evolvezattrs.evolvez
attr.assoczattrs.assoc)zattr.fieldszattrs.fieldszdataclasses.replace)r   r   r+   rP   s     rS   Úget_function_signature_hookz)DefaultPlugin.get_function_signature_hooko   s4   € ð ÐSÑSÜ/Ð/ØÐ8Ñ8Ü/Ð/ØÐ.Ò.Ü0Ð0ØrU   c                ó¢   — |dk(  rt         S |t        v rt        S |t        v rt        S |dk(  rt
        S |t        k(  rt        S |t        v rt        S y )Nútyping.Mapping.getz_ctypes.Array.__setitem__)
Ú!typed_dict_get_signature_callbackrH   Ú(typed_dict_setdefault_signature_callbackrI   Ú!typed_dict_pop_signature_callbackr&   r   r4   rK   Ú$typed_dict_update_signature_callbackrP   s     rS   Úget_method_signature_hookz'DefaultPlugin.get_method_signature_hookz   s`   € ð Ð+Ò+Ü4Ð4ØÔ,Ñ,Ü;Ð;ØœÑ%Ü4Ð4ØÐ4Ò4Ü)Ð)ØÔ<Ò<Ü8Ð8ØÔ/Ñ/Ü7Ð7ØrU   c                óB  — |dk(  rt         S |dk(  rt        S |dk(  rt        S |dk(  rt        S |dv rt        S |t
        v rt        S |t        v rt        S |t        v rt        S |dk(  rt        S |dk(  rt        S |t        k(  rt        S |t        k(  rt         S |dk(  rt"        S y )	NrY   zbuiltins.int.__pow__zbuiltins.int.__neg__zbuiltins.int.__pos__)zbuiltins.tuple.__mul__zbuiltins.tuple.__rmul__z_ctypes.Array.__getitem__z_ctypes.Array.__iter__zfunctools.partial.__call__)Útyped_dict_get_callbackÚint_pow_callbackÚint_neg_callbackÚint_pos_callbackÚtuple_mul_callbackrH   Útyped_dict_setdefault_callbackrI   Útyped_dict_pop_callbackrJ   Útyped_dict_delitem_callbackr#   r$   r!   r6   r    r3   r1   rP   s     rS   Úget_method_hookzDefaultPlugin.get_method_hook‹   sÇ   € ØÐ+Ò+Ü*Ð*ØÐ/Ò/Ü#Ð#ØÐ/Ò/Ü#Ð#ØÐ/Ò/Ü#Ð#ØÐNÑNÜ%Ð%ØÔ,Ñ,Ü1Ð1ØœÑ%Ü*Ð*ØÔ)Ñ)Ü.Ð.ØÐ4Ò4Ü)Ð)ØÐ1Ò1Ü&Ð&ØÔ7Ò7Ü3Ð3ØÔEÒEÜGÐGØÐ5Ò5Ü(Ð(ØrU   c                óh   — |dk(  rt         S |dk(  rt        S |t        v rt        S |t        v rt
        S y )Nz_ctypes.Array.valuez_ctypes.Array.raw)r'   r%   r   r-   r   r.   rP   s     rS   Úget_attribute_hookz DefaultPlugin.get_attribute_hook¨   sA   € ØÐ,Ò,Ü'Ð'ØÐ,Ò,Ü%Ð%ØÔ)Ñ)Ü%Ð%ØÔ*Ñ*Ü&Ð&ØrU   c                ól   — |t         v rt        S |t        v s|t        v s|t        v s|t
        v rt        S y ©N)r)   r*   r   r   r   r   r   rP   s     rS   Úget_class_decorator_hookz&DefaultPlugin.get_class_decorator_hook³   s@   € ð
 Ô'Ñ'Ü)Ð)àÔ)Ñ)ØÔ0Ñ0ØÔ-Ñ-ØÔ-Ñ-ä$Ð$ØrU   c                óò   — |t         v rt        S |t        v rt        S |t        v rt
        S |t        v rt        t
        d¬«      S |t        v rt        t
        d d¬«      S |t        v rt        t
        d d¬«      S y )NT)Úauto_attribs_default)ro   Úfrozen_default)ro   Úslots_default)
r)   r(   r0   r/   r   r   r   r   r   r   rP   s     rS   Úget_class_decorator_hook_2z(DefaultPlugin.get_class_decorator_hook_2Ã   s‹   € ð Ô'Ñ'Ü1Ð1ØÔ8Ñ8Ü:Ð:ØÔ*Ñ*Ü,Ð,ØÔ.Ñ.ÜÔ4È4ÔPÐPØÔ+Ñ+ÜÜ)ÀÐUYôð ð Ô+Ñ+ÜÜ)ÀÐTXôð ð rU   N)rR   ÚstrÚreturnz(Callable[[FunctionContext], Type] | None)rR   rs   rt   z3Callable[[FunctionSigContext], CallableType] | None)rR   rs   rt   z1Callable[[MethodSigContext], CallableType] | None)rR   rs   rt   z&Callable[[MethodContext], Type] | None)rR   rs   rt   z)Callable[[AttributeContext], Type] | None)rR   rs   rt   z(Callable[[ClassDefContext], None] | None)rR   rs   rt   z(Callable[[ClassDefContext], bool] | None)Ú__name__Ú
__module__Ú__qualname__Ú__doc__rT   rW   r^   rh   rj   rm   rr   © rU   rS   rM   rM   _   sX   „ Ù9óð	Øð	à	<ó	ðØðà	:óó"ó:	óð Øðà	1ôrU   rM   c                óD  — t        | j                  «      dk(  r}t        | j                  d   «      dk(  rb| j                  d   d   }t        |«      }t        |t        «      r5|j
                  j                  dk(  r| j                  j                  dg «      S | j                  S )z%Infer a better return type for 'len'.é   r   zlibrt.vecs.veczmypy_extensions.i64)
ÚlenÚ	arg_typesrF   Ú
isinstancer=   ÚtyperR   ÚapiÚnamed_generic_typeÚdefault_return_type)ÚctxÚarg_types     rS   rO   rO   Ù   s‡   € ä
ˆ3�=‰=Ó˜QÒ¤3 s§}¡}°QÑ'7Ó#8¸AÒ#=Ø—=‘= Ñ# AÑ&ˆÜ" 8Ó,ˆÜ�h¤Ô)¨h¯m©m×.DÑ.DÐHXÒ.Xð —7‘7×-Ñ-Ð.CÀRÓHÐHØ×"Ñ"Ð"rU   c                ó°  — | j                   }t        | j                  t        «      �r®t	        | j
                  «      dk(  �r•t	        | j
                  d   «      dk(  �ryt        | j
                  d   d   t        «      �rXt	        |j                  «      dk(  �r?t	        |j                  «      dk(  �r&t	        | j
                  d   «      dk(  �r
| j
                  d   d   j                  }t        | j                  j                  j                  |«      «      }|j                  }|r²| j
                  d   d   }t        |t        «      rBt        |t        «      r2t	        |j                  «      dk(  r|j                  t!        «       ¬«      }|j                  d   }t        |t"        «      sJ ‚|j                  |j                  d   t%        ||g«      g|¬«      S |S )z­Try to infer a better signature type for TypedDict.get.

    This is used to get better type context for the second argument that
    depends on a TypedDict value type.
    é   r   r{   ©Úrequired_keys©r}   Úret_type)Údefault_signaturer~   r   rB   r|   Úargsr   r}   Ú	variablesÚvaluerF   ÚitemsÚgetrŠ   r   Úcopy_modifiedÚsetrD   r9   )rƒ   Ú	signatureÚkeyÚ
value_typerŠ   Údefault_argÚtvs          rS   rZ   rZ   å   sˆ  € ð ×%Ñ%€Iä�3—8‘8œ]Õ+Ü�—‘‹M˜QÓÜ�—‘˜‘Ó Ó!Ü�s—x‘x ‘{ 1‘~¤wÕ/Ü�	×#Ñ#Ó$¨Ó)Ü�	×#Ñ#Ó$¨Ó)Ü�—‘˜‘Ó Ó!à�h‰h�q‰k˜!‰n×"Ñ"ˆÜ$ S§X¡X§^¡^×%7Ñ%7¸Ó%<Ó=ˆ
Ø×%Ñ%ˆÙØŸ(™( 1™+ a™.ˆKä˜:¤}Ô5Ü˜{¬HÔ5Ü˜×)Ñ)Ó*¨aÒ/ð (×5Ñ5ÄCÃEÐ5ÓJ�
ð ×$Ñ$ QÑ'ˆBÜ˜b¤+Ô.Ð.Ð.Ø×*Ñ*Ø$×.Ñ.¨qÑ1Ô3HÈ*ÐVXÐIYÓ3ZÐ[Ø!ð +ó ð ð ÐrU   c                ó  — t        | j                  t        «      �rTt        | j                  «      dk\  �r;t        | j                  d   «      dk(  �rt        | j                  d   d   | j                  d   d   «      }|€| j                  S t        | j                  «      dk  s| j                  d   sd}t        «       }ngt        | j                  d   «      dk(  r@t        | j                  d   «      dk(  r%| j                  d   d   }| j                  d   d   }n| j                  S g }|D �]  }| j                  j                  j                  |«      }|€6| j                  j                  s| j                  c S |j                  |«       Œa|| j                  j                  v r|j                  |«       Œ‹t        |t        «      r]t        |j                  «      dk(  rEt        t        |«      x}t        «      r*|j                  |j!                  t#        «       ¬«      «       Œø|j                  |«       |j                  |«       �Œ ||v r|D �cg c]
  }||k7  sŒ	|‘Œ c}|gz   }t%        |«      S | j                  S c c}w )zJInfer a precise return type for TypedDict.get with literal first argument.r{   r   Nr‡   )r~   r   rB   r|   r}   r   rŒ   r‚   r?   r�   r�   Ú	is_closedÚappendrˆ   r   rF   r‘   r’   r9   )	rƒ   Úkeysr–   Údefault_typeÚoutput_typesr”   r•   ÚvtÚts	            rS   r`   r`     s  € ô 	�3—8‘8œ]Õ+Ü�—‘Ó !Ó#Ü�—‘˜aÑ Ó! QÓ&ä'¨¯©°©°A©¸¿¹ÀaÑ8HÈÑ8KÓLˆØˆ<Ø×*Ñ*Ð*ô ˆs�}‰}Ó Ò"¨#¯-©-¸Ò*:ØˆKÜ#›:‰LÜ�—‘˜qÑ!Ó" aÒ'¬C°·±¸±Ó,<ÀÒ,AØŸ(™( 1™+ a™.ˆKØŸ=™=¨Ñ+¨AÑ.‰Là×*Ñ*Ð*à#%ˆØó 	6ˆCØ&)§h¡h§n¡n×&8Ñ&8¸Ó&=ˆJØÐ!Ø—x‘x×)Ò)Ø×2Ñ2Ò2Ø×#Ñ# LÕ1Ø˜Ÿ™×.Ñ.Ñ.Ø×#Ñ# JÕ/ô ˜{¬HÔ5Ü˜K×-Ñ-Ó.°!Ò3Ü"¬¸Ó)DÐ#D 2ÄmÔTà ×'Ñ'¨×(8Ñ(8ÄsÃuÐ(8Ó(MÕNà ×'Ñ'¨
Ô3Ø ×'Ñ'¨Ö5ð%	6ð* ˜<Ñ'Ø'3ÖI !°q¸LÓ7HšAÒIÈ\ÈNÑZˆLÜ$ \Ó2Ð2Ø×"Ñ"Ð"ùò Js   É
I<ÉI<c                ó  — | j                   }| j                  j                  dg «      }t        | j                  t
        «      �r%t        | j                  «      dk(  �rt        | j                  d   «      dk(  rñt        | j                  d   d   t        «      rÑt        |j                  «      dk(  r¹t        |j                  «      dk(  r¡t        | j                  d   «      dk(  r†| j                  d   d   j                  }| j                  j                  j                  |«      }|rC|j                  d   }t        |t        «      sJ ‚t        ||g«      }|j!                  ||g|¬«      S |j!                  ||j                  d   g¬«      S )z­Try to infer a better signature type for TypedDict.pop.

    This is used to get better type context for the second argument that
    depends on a TypedDict value type.
    úbuiltins.strr†   r   r{   r‰   ©r}   )r‹   r€   r�   r~   r   rB   r|   rŒ   r   r}   r�   rŽ   r�   r�   rD   r9   r‘   )rƒ   r“   Ústr_typer”   r•   r—   Útyps          rS   r\   r\   ?  sJ  € ð ×%Ñ%€IØ�w‰w×)Ñ)¨.¸"Ó=€Hä�3—8‘8œ]Õ+Ü�—‘‹M˜QÓÜ�—‘˜‘Ó Ò!Ü�s—x‘x ‘{ 1‘~¤wÔ/Ü�	×#Ñ#Ó$¨Ò)Ü�	×#Ñ#Ó$¨Ò)Ü�—‘˜‘Ó Ò!à�h‰h�q‰k˜!‰n×"Ñ"ˆØ—X‘X—^‘^×'Ñ'¨Ó,ˆ
Ùð ×$Ñ$ QÑ'ˆBÜ˜b¤+Ô.Ð.Ð.Ü'¨°RÐ(8Ó9ˆCØ×*Ñ*°hÀ°_ÈsÐ*ÓSÐSØ×"Ñ"¨h¸	×8KÑ8KÈAÑ8NÐ-OÐ"ÓPÐPrU   c                óÂ  — t        | j                  t        «      �r9t        | j                  «      dk\  �r t        | j                  d   «      dk(  �r| j
                  d   d   }t        || j                  d   d   «      }|€S| j                  j                  t        j                  |t        j                  ¬«       t        t        j                  «      S g }|D ]ç  }|| j                  j                   v s|| j                  j"                  v r1| j                  j$                  j'                  | j                  ||«       | j                  j(                  j+                  |«      }|r|j-                  |«       Œ�| j                  j$                  j/                  | j                  ||«       t        t        j                  «      c S  t        | j
                  d   «      dk(  rt1        |«      S t        | j                  «      dk(  rUt        | j                  d   «      dk(  r:t        | j
                  d   «      dk(  rt1        g |¢| j                  d   d   ‘«      S | j2                  S )z=Type check and infer a precise return type for TypedDict.pop.r{   r   ©Úcoder†   )r~   r   rB   r|   r}   rŒ   r   r€   Úfailr   Ú$TYPEDDICT_KEY_MUST_BE_STRING_LITERALÚcodesÚLITERAL_REQr;   rC   Ú
from_errorrˆ   Úreadonly_keysÚmsgÚtypeddict_key_cannot_be_deletedr�   r�   rš   Útypeddict_key_not_foundr9   r‚   )rƒ   Úkey_exprr›   Úvalue_typesr”   r•   s         rS   rf   rf   ]  sá  € ô 	�3—8‘8œ]Õ+Ü�—‘Ó !Ó#Ü�—‘˜aÑ Ó! QÓ&à—8‘8˜A‘;˜q‘>ˆÜ'¨°#·-±-ÀÑ2BÀ1Ñ2EÓFˆØˆ<Ø�G‰G�L‰LÜ ×EÑEØÜ×&Ñ&ð ô ô
 œ9×/Ñ/Ó0Ð0àˆØò 		5ˆCØ�c—h‘h×,Ñ,Ñ,°°s·x±x×7MÑ7MÑ0MØ—‘—‘×;Ñ;¸C¿H¹HÀcÈ8ÔTàŸ™Ÿ™×+Ñ+¨CÓ0ˆJÙØ×"Ñ" :Õ.à—‘—‘×3Ñ3°C·H±H¸cÀ8ÔLÜœy×3Ñ3Ó4Ò4ð		5ô ˆs�x‰x˜‰{Ó˜qÒ Ü(¨Ó5Ð5Ü�—‘Ó 1Ò$¬¨S¯]©]¸1Ñ-=Ó)>À!Ò)CÌÈCÏHÉHÐUVÉKÓHXÐ\]ÒH]Ü(Ð)L¨;Ð)L¸¿¹ÀaÑ8HÈÑ8KÐ)LÓMÐMØ×"Ñ"Ð"rU   c                ó‚  — | j                   }| j                  j                  dg «      }t        | j                  t
        «      rÝt        | j                  «      dk(  rÅt        | j                  d   «      dk(  rªt        | j                  d   d   t        «      rŠt        |j                  «      dk(  rrt        | j                  d   «      dk(  rW| j                  d   d   j                  }| j                  j                  j                  |«      }|r|j                  ||g¬«      S |j                  ||j                  d   g¬«      S )z´Try to infer a better signature type for TypedDict.setdefault.

    This is used to get better type context for the second argument that
    depends on a TypedDict value type.
    r¡   r†   r   r{   r¢   )r‹   r€   r�   r~   r   rB   r|   rŒ   r   r}   rŽ   r�   r�   r‘   )rƒ   r“   r£   r”   r•   s        rS   r[   r[   �  s  € ð ×%Ñ%€IØ�w‰w×)Ñ)¨.¸"Ó=€Hä�3—8‘8œ]Ô+Ü�—‘‹M˜QÒÜ�—‘˜‘Ó Ò!Ü�s—x‘x ‘{ 1‘~¤wÔ/Ü�	×#Ñ#Ó$¨Ò)Ü�—‘˜‘Ó Ò!à�h‰h�q‰k˜!‰n×"Ñ"ˆØ—X‘X—^‘^×'Ñ'¨Ó,ˆ
ÙØ×*Ñ*°hÀ
Ð5KÐ*ÓLÐLØ×"Ñ"¨h¸	×8KÑ8KÈAÑ8NÐ-OÐ"ÓPÐPrU   c                ó¢  — t        | j                  t        «      �r)t        | j                  «      dk(  �rt        | j                  d   «      dk(  �rôt        | j                  d   «      dk(  �rØ| j
                  d   d   }t        || j                  d   d   «      }|€S| j                  j                  t        j                  |t        j                  ¬«       t        t        j                  «      S | j                  j                   t#        |«      z  }|r'| j                  j$                  j'                  ||¬«       | j                  d   d   }| j
                  d   d   }g }|D ]Ô  }| j                  j(                  j+                  |«      }|€L| j                  j$                  j-                  | j                  ||«       t        t        j                  «      c S t/        ||«      sB| j                  j$                  j1                  |||«       t        t        j                  «      c S |j3                  |«       ŒÖ t5        |«      S | j6                  S )z@Type check TypedDict.setdefault and infer a precise return type.r†   r   r{   r¦   )Úcontext)r~   r   rB   r|   r}   rŒ   r   r€   r¨   r   r©   rª   r«   r;   rC   r¬   r­   r’   r®   Úreadonly_keys_mutatedr�   r�   r°   r7   Ú+typeddict_setdefault_arguments_inconsistentrš   r9   r‚   )	rƒ   r±   r›   Úassigned_readonly_keysrœ   Údefault_exprr²   r”   r•   s	            rS   re   re   ˜  sÜ  € ô 	�3—8‘8œ]Õ+Ü�—‘Ó !Ó#Ü�—‘˜aÑ Ó! QÓ&Ü�—‘˜aÑ Ó! QÓ&à—8‘8˜A‘;˜q‘>ˆÜ'¨°#·-±-ÀÑ2BÀ1Ñ2EÓFˆØˆ<Ø�G‰G�L‰LÜ ×EÑEØÜ×&Ñ&ð ô ô
 œ9×/Ñ/Ó0Ð0à!$§¡×!7Ñ!7¼#¸d»)Ñ!CÐÙ!Ø�G‰G�K‰K×-Ñ-Ð.DÈhÐ-ÔWà—}‘} QÑ'¨Ñ*ˆØ—x‘x ‘{ 1‘~ˆàˆØò 	+ˆCØŸ™Ÿ™×+Ñ+¨CÓ0ˆJàÐ!Ø—‘—‘×3Ñ3°C·H±H¸cÀ8ÔLÜœy×3Ñ3Ó4Ò4ô ˜l¨JÔ7Ø—‘—‘×GÑGØ  *¨lôô œy×3Ñ3Ó4Ò4à×Ñ˜zÕ*ð#	+ô& % [Ó1Ð1Ø×"Ñ"Ð"rU   c                ó&  — t        | j                  t        «      �rkt        | j                  «      dk(  �rRt        | j                  d   «      dk(  �r6| j
                  d   d   }t        || j                  d   d   «      }|€S| j                  j                  t        j                  |t        j                  ¬«       t        t        j                  «      S |D ]®  }|| j                  j                   v s|| j                  j"                  v r2| j                  j$                  j'                  | j                  ||«       Œe|| j                  j(                  vsŒ~| j                  j$                  j+                  | j                  ||«       Œ° | j,                  S )z!Type check TypedDict.__delitem__.r{   r   r¦   )r~   r   rB   r|   r}   rŒ   r   r€   r¨   r   r©   rª   r«   r;   rC   r¬   rˆ   r­   r®   r¯   r�   r°   r‚   )rƒ   r±   r›   r”   s       rS   rg   rg   É  s4  € ô 	�3—8‘8œ]Õ+Ü�—‘Ó !Ó#Ü�—‘˜aÑ Ó! QÓ&à—8‘8˜A‘;˜q‘>ˆÜ'¨°#·-±-ÀÑ2BÀ1Ñ2EÓFˆØˆ<Ø�G‰G�L‰LÜ ×EÑEØÜ×&Ñ&ð ô ô
 œ9×/Ñ/Ó0Ð0àò 	MˆCØ�c—h‘h×,Ñ,Ñ,°°s·x±x×7MÑ7MÑ0MØ—‘—‘×;Ñ;¸C¿H¹HÀcÈ8ÕTØ˜CŸH™HŸN™NÒ*Ø—‘—‘×3Ñ3°C·H±H¸cÀ8ÕLð		Mð
 ×"Ñ"Ð"rU   zupdate of TypedDictz__ior__ of TypedDictÚ_TP_DICT_MUTATING_METHODSc                ó  — | j                   }t        | j                  t        «      �rEt	        |j
                  «      dk(  �r,t        |j
                  d   «      }t        |t        «      s|S | j                  j                  |j                  «       t        «       ¬«      }| j                  �r¯| j                  d   �rŸ|j                  t        v rd|_        | j                  j                  j!                  d„ d¬«      5  t        | j                  j#                  | j                  d   d   |¬«      «      }ddd«       |j                  rd	|_        g }t        t        «      r|g}nFt        |t$        «      r6t'        |j)                  «       «      D �cg c]  }t        |t        «      r|‘Œ }}g }|D ]œ  }|j                  |j*                  |j*                  z  |j,                  j/                  «       z  ¬
«      }| j                  j0                  j2                  s%|j                  t5        |j,                  «      ¬«      }|j7                  |«       Œž |rt9        |«      }|j                  |g¬«      S |S # 1 sw Y   �Œ>xY wc c}w )z¼Try to infer a better signature type for methods that update `TypedDict`.

    This includes: `TypedDict.update`, `TypedDict.__or__`, `TypedDict.__ror__`,
    and `TypedDict.__ior__`.
    r{   r   )Úfallbackrˆ   Tc                ó<   — |j                   t        j                  k7  S rl   )r§   rª   ÚTYPEDDICT_READONLY_MUTATED)ÚnameÚinfos     rS   ú<lambda>z6typed_dict_update_signature_callback.<locals>.<lambda>ù  s   € °·±¼e×>^Ñ>^Ñ1^€ rU   )Úfilter_errorsÚsave_filtered_errors)Útype_contextNFr‡   )Ú
item_namesr¢   )r‹   r~   r   rB   r|   r}   rF   r‘   Úcreate_anonymous_fallbackr’   rŒ   rÀ   r»   Úto_be_mutatedr€   r®   rÃ   Úget_expression_typerE   rG   Úrelevant_itemsrˆ   r�   r›   ÚoptionsÚextra_checksÚlistrš   r9   )	rƒ   r“   r„   ÚinferredÚpossible_tdsrŸ   r�   ÚtdÚitems	            rS   r]   r]   å  s3  € ð ×%Ñ%€IÜ�#—(‘(œMÕ*¬s°9×3FÑ3FÓ/GÈ1Ó/LÜ" 9×#6Ñ#6°qÑ#9Ó:ˆÜ˜(¤MÔ2ØÐØ—8‘8×)Ñ)Ø×7Ñ7Ó9ÌËð *ó 
ˆð �8‹8˜Ÿ™ ›Ø�~‰~Ô!:Ñ:ð *.�Ô&Ø—‘—‘×*Ñ*Ù^Ø%)ð +ó ñ ô +Ø—G‘G×/Ñ/°·±¸±¸A±ÈXÐ/ÓVó�÷	ð ×%Ò%Ø).�Ô&ØˆLÜ˜(¤MÔ2Ø (˜z‘Ü˜H¤iÔ0ô .¨h×.EÑ.EÓ.GÓHö àÜ! !¤]Ô3ò ð �ð  ð
 ˆEØ"ò #�Ø×-Ñ-Ø#+×#9Ñ#9¸B×<LÑ<LÑ#LØ—n‘n×)Ñ)Ó+ñ#,ð .ó �ð —w‘w—‘×3Ò3Ø×-Ñ-¼¸b¿h¹h»Ð-ÓH�DØ—‘˜TÕ"ð#ñ Ü0°Ó7�Ø×&Ñ&°(°Ð&Ó<Ð<ØÐ÷=ñ üò s   Ã<7I/ÆI<É/I9c                óH  — t        | j                  «      dk(  rÿt        | j                  d   «      dk(  rät        | j                  d   «      dk(  rÉ| j                  d   d   }t        |t        «      r|j
                  }n]t        |t        «      rA|j                  dk(  r2t        |j                  t        «      r|j                  j
                   }n| j                  S |dk\  r| j                  j                  dg «      S | j                  j                  dg «      S | j                  S )z1Infer a more precise return type for int.__pow__.r†   r   r{   ú-zbuiltins.intzbuiltins.float)r|   r}   rŒ   r~   r
   rŽ   r   ÚopÚexprr‚   r€   r�   )rƒ   ÚargÚexponents      rS   ra   ra     sæ   € ô ˆ3�=‰=Ó˜QÒ¤3 s§}¡}°QÑ'7Ó#8¸AÒ#=Ä#ÀcÇmÁmÐTUÑFVÓBWÐ[\ÒB\Ø�h‰h�q‰k˜!‰nˆÜ�cœ7Ô#Ø—y‘y‰HÜ˜œYÔ'¨C¯F©F°cªM¼jÈÏÉÔSZÔ>[ØŸ™Ÿ™�‰Hð ×*Ñ*Ð*Ø�qŠ=Ø—7‘7×-Ñ-¨n¸bÓAÐAà—7‘7×-Ñ-Ð.>ÀÓCÐCØ×"Ñ"Ð"rU   c                ó
  — t        | j                  t        «      rø| j                  j                  �â| j                  j                  j                  }| j                  j                  j
                  }t        |t        «      r†t        | j                  j                  d   «      rt        ||z  |¬«      S | j                  j                  t        ||z  || j                  j                  | j                  j                  ¬«      ¬«      S | j                  S t        | j                  t        «      rL| j                  j                  }| j                  j
                  }t        |t        «      rt        ||z  |¬«      S | j                  S )zÆInfer a more precise return type for int.__neg__ and int.__pos__.

    This is mainly used to infer the return type as LiteralType
    if the original underlying object is a LiteralType object.
    éÿÿÿÿ)rŽ   r½   )rŽ   r½   ÚlineÚcolumn)Úlast_known_value)r~   r   r=   rÜ   rŽ   r½   Úintr8   r€   rÅ   r>   r‘   rÚ   rÛ   r‚   )rƒ   Ú
multiplierrŽ   r½   s       rS   rb   rb   -  s%  € ô �#—(‘(œHÔ%¨#¯(©(×*CÑ*CÐ*OØ—‘×)Ñ)×/Ñ/ˆØ—8‘8×,Ñ,×5Ñ5ˆÜ�eœSÔ!Ü# C§G¡G×$8Ñ$8¸Ñ$<Ô=Ü"¨°eÑ);ÀhÔOÐOà—x‘x×-Ñ-Ü%0Ø(¨5Ñ0Ø!)Ø ŸX™XŸ]™]Ø"Ÿx™xŸ™ô	&ð .ó ð ð ×"Ñ"Ð"ô 
�C—H‘HœkÔ	*Ø—‘—‘ˆØ—8‘8×$Ñ$ˆÜ�eœSÔ!Ü Z°%Ñ%7À(ÔKÐKØ×"Ñ"Ð"rU   c                ó   — t        | d«      S )z{Infer a more precise return type for int.__pos__.

    This is identical to __neg__, except the value is not inverted.
    r{   )rb   )rƒ   s    rS   rc   rc   J  s   € ô
 ˜C Ó$Ð$rU   c                ó\  — t        | j                  t        «      s| j                  S t	        | j
                  d   d   «      }t        |t        «      rq|j                  �e|j                  j                  }t        |t        «      r3| j                  j                  | j                  j                  |z  ¬«      S | j                  S t        |t        «      rO|j                  }t        |t        «      r3| j                  j                  | j                  j                  |z  ¬«      S | j                  S )z›Infer a more precise return type for tuple.__mul__ and tuple.__rmul__.

    This is used to return a specific sized tuple if multiplied by Literal int
    r   )r�   )r~   r   r@   r‚   rF   r}   r=   rÜ   rŽ   rÝ   r‘   r�   r>   )rƒ   r„   rŽ   s      rS   rd   rd   R  sé   € ô
 �c—h‘h¤	Ô*Ø×&Ñ&Ð&ä˜sŸ}™}¨QÑ/°Ñ2Ó3€HÜ�(œHÔ%¨(×*CÑ*CÐ*OØ×)Ñ)×/Ñ/ˆÜ�eœSÔ!Ø—8‘8×)Ñ)°·±·±ÀÑ0FÐ)ÓGÐGð ×"Ñ"Ð"ô 
�HœkÔ	*Ø—‘ˆÜ�eœSÔ!Ø—8‘8×)Ñ)°·±·±ÀÑ0FÐ)ÓGÐGà×"Ñ"Ð"rU   )rƒ   r   rt   rA   )rƒ   r   rt   r<   )rƒ   r   rt   rA   )rÙ   )rƒ   r   rÞ   rÝ   rt   rA   )oÚ
__future__r   Úcollections.abcr   Ú	functoolsr   Útypingr   Úmypy.errorcodesÚ
errorcodesrª   Úmypyr   Ú
mypy.nodesr   r	   r
   r   r   Úmypy.pluginr   r   r   r   r   r   r   Úmypy.plugins.attrsr   r   r   r   r   r   r   r   Úmypy.plugins.commonr   Úmypy.plugins.constantsr   r   r   r    r!   Úmypy.plugins.ctypesr"   r#   r$   r%   r&   r'   Úmypy.plugins.dataclassesr(   r)   r*   r+   Úmypy.plugins.enumsr,   r-   r.   Úmypy.plugins.functoolsr/   r0   r1   r2   Úmypy.plugins.singledispatchr3   r4   r5   r6   Úmypy.subtypesr7   Úmypy.typeopsr8   r9   Ú
mypy.typesr:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   Ú__annotations__rI   rJ   rK   rM   rO   rZ   r`   r\   rf   r[   re   rg   Ú	frozensetr»   r]   ra   rb   rc   rd   )Úns   0rS   ú<module>rø      sÛ  ðÞ "å $Ý Ý å Ý !ß HÕ H÷÷ ñ ÷	÷ 	ó 	õ 9÷õ ÷÷ ÷ó ÷ ]Ñ \÷ó ÷ó õ %ß D÷÷ ÷ ÷ ð" :IÖI°A˜a -Ó/ÒIÐ �UÓ IØ+:Ö; a�q˜6“zÒ;€ˆeÓ ;Ø7FÖG°!˜1˜~Ó-ÒGÐ �%Ó Gð ,Ö,�q€Qˆƒ]Ò,Ø-Ö.˜€qˆ9ƒ}Ò.ñ/à.Ö/˜!€qˆ:ƒ~Ò/ñ0ð  /Ö/˜!€qˆ:ƒ~Ò/ñ0ð ˜ó ôw�Fô wót	#ó%óP/#ódQó<!#óHQó..#ób#ñ2 $-Ð.CÐE[Ð-\Ó#]Ð ˜5Ó ]ó1óh#ô(#ó:%ô#ùò JùÚ;ùÚGùò -ùÚ.ùÚ/ùÚ/s*   ÃGÃ6GÄGÄ&GÄ8GÅGÅ G$