§
    ŠŠtjÐú  ã                   ó°  — d Z ddlZddlZddlZddlmZmZ ddlmZm	Z	m
Z
 ddlmZ ddlmZmZmZ ddlmZmZmZmZ dd	lmZmZmZ dd
lmZmZ ddl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*m+Z+ ddl,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2 ddl3m4Z4 ddl5m6Z6m7Z7m8Z8 ddl9m:Z: ddl;m<Z< e	rddl=m>Z> ddl?m@Z@ ddlAmBZB de2deCfd„ZDde2deCfd„ZE G d„ de2¦  «        ZF G d„ de2¦  «        ZG G d„ deF¦  «        ZH G d „ d!e2¦  «        ZI G d"„ d#eI¦  «        ZJ G d$„ d%eI¦  «        ZK G d&„ d'eI¦  «        ZLe6eMz  ZN G d(„ d)ejO        jP        eNe2f         ¦  «        ZQ G d*„ d+eF¦  «        ZRdS ),aI  
Dictionary-related variable tracking classes for PyTorch Dynamo.

This module implements variable tracking for different types of dictionary-like objects:
- Regular Python dictionaries (dict)
- Ordered dictionaries (collections.OrderedDict)
- Default dictionaries (collections.defaultdict)
- Dictionary views (keys and values)

These classes are responsible for tracking dictionary operations during graph compilation,
maintaining proper guards for dictionary mutations and key existence checks. They handle
dictionary creation, modification, key/value access, and view operations while ensuring
correct behavior in the compiled code through appropriate guard installation.

The implementation uses a special HashableTracker wrapper to handle
dictionary keys while preserving proper aliasing semantics. Set-related classes live
in sets.py.
é    N)ÚCallableÚIterator)ÚAnyÚTYPE_CHECKINGÚUnion)Ú
MappingKeyé   )Úgraph_break_hintsÚ	polyfillsÚ	variables)Úcreate_call_functionÚcreate_call_methodÚcreate_dup_topÚcreate_instruction)Úraise_observed_exceptionÚraise_type_errorÚunimplemented)ÚGuardBuilderÚinstall_guard)Ú
AttrSourceÚDictGetItemSourceÚis_constant_sourceÚis_from_local_source)	Ú_item_debug_reprÚcmp_name_to_op_mappingÚ
dict_itemsÚ	dict_keysÚdict_valuesÚistypeÚraise_args_mismatchÚtracked_reprÚunpack_iterableé   )ÚAttributeMutationExistingÚAttributeMutationNewÚAttrMutationKindÚNO_SUCH_SUBOBJÚValueMutationNewÚVariableTracker)ÚConstantVariable)ÚHashableTrackerÚis_hashableÚraise_unhashable)Ú
vt_getitem)ÚSetVariable)Ú	PyCodegen)ÚInstructionTranslatorBase)ÚUserFunctionVariableÚobjÚreturnc                 óP   — t          |                      ¦   «         t          ¦  «        S ©N)Ú
issubclassÚpython_typeÚdict)r3   s    ú[/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/_dynamo/variables/dicts.pyÚpydict_checkr;   Q   s   € å�c—o’oÑ'Ô'­Ñ.Ô.Ð.ó    c                 ó    — 	 |                       ¦   «         }n# t          $ r Y dS w xY wt          |t          t          t
          t          f¦  «        S )z3PyAnySet_Check(other) || PyDictViewSet_Check(other)F)r8   ÚNotImplementedErrorr7   ÚsetÚ	frozensetr   r   )r3   Úts     r:   Ú_is_set_or_dictviewrB   V   sS   € ðØ�OŠOÑÔˆˆøÝð ð ð Øˆuˆuðøøøå�a�#�y­)µZÐ@ÑAÔAÐAs   ‚ —
%¤%c                   óÖ  ‡ — e Zd ZeZej        Zej        Z	dhe
j        £Zefdee
e
f         dededdfˆ fd„Zdedefd„Zdeeef         fd„Zdefd	„Zdeeef         fd
„Zddde
fd„Zdeee
f         fd„Zdefd„Zde
defd„Zddddde
dee
         deee
f         de
fd„Zddddde
dee
         deee
f         deedf         de
fd„Zdefd„Zdefd„Zde
dz  de
defd„Z dBd"„Z!dBd#„Z"defd$„Z#ddd%e
de
fd&„Z$ddd%e
de
fd'„Z%d%e
de
dz  fd(„Z&d%e
ddfd)„Z'dCd*„Z(ddd+ee
         ddfd,„Z)ddd-e
de
fd.„Z*ddd/e
de
fd0„Z+ddde
fd1„Z,ddd2ed+ee
         deee
f         de
f
ˆ fd3„Z-dddee
         fd4„Z.	 dDdede
d6ede
fd7„Z/dede
de
fd8„Z0ddd-e
de
dz  de
fˆ fd9„Z1ddde
fd:„Z2ddd2ede3fd;„Z4dede
fˆ fd<„Z5defd=„Z6dddeeef         fd>„Z7ddde
d?ede
fd@„Z8ddd2efˆ fdA„Z9ˆ xZ:S )EÚConstDictVariableÚuser_clsÚitemsÚkwargsr4   Nc                 ól  •‡‡— d|v r|                      d¦  «         d|v r|                      d¦  «          t          ¦   «         j        di |¤Ž t          Št	          ˆfd„|                     ¦   «         D ¦   «         ¦  «        st          d¦  «        ‚dt          t          df         ddfˆfd„Š|  	                    |¦  «        } |ˆfd	„|                     ¦   «         D ¦   «         ¦  «        | _        | j
        rt          | j
        ¦  «         nd
| _        |                     ¦   «         | _        || _        d S )NÚoriginal_itemsÚshould_reconstruct_allc              3   óv   •K  — | ]3\  }}t          |t          ‰f¦  «        ot          |t          ¦  «        V — Œ4d S r6   )Ú
isinstancer)   )Ú.0ÚxÚvÚHashables      €r:   ú	<genexpr>z-ConstDictVariable.__init__.<locals>.<genexpr>}   s^   øè è € ð 
ð 
ñ ��1õ �q�?¨HÐ5Ñ6Ô6ð /Ý˜1�oÑ.Ô.ð
ð 
ð 
ð 
ð 
ð 
r<   zZAll keys must be VariableTracker or HashableTracker and all values must be VariableTrackerÚkeyr+   r4   c                 ó>   •— t          | ‰¦  «        r| n
 ‰| ¦  «        S r6   )rL   )rR   rP   s    €r:   Úmake_hashablez1ConstDictVariable.__init__.<locals>.make_hashable‡   s&   ø€ õ % S¨(Ñ3Ô3ÐF�3�3¸¸À#¹¼ÐFr<   c                 ó.   •— i | ]\  }} ‰|¦  «        |“ŒS © rV   )rM   rN   rO   rT   s      €r:   ú
<dictcomp>z.ConstDictVariable.__init__.<locals>.<dictcomp>�   s)   ø€ ÐMÐMÐM±t°q¸!˜}˜}¨QÑ/Ô/°ÐMÐMÐMr<   TrV   )ÚpopÚsuperÚ__init__r+   ÚallrF   ÚAssertionErrorr   r)   Ú_get_dict_cls_from_user_clsÚsourcer   rJ   ÚcopyrI   rE   )ÚselfrF   rE   rG   Údict_clsrP   rT   Ú	__class__s        @@€r:   rZ   zConstDictVariable.__init__k   sŠ  øøø€ ð ˜vÐ%Ð%Ø�JŠJÐ'Ñ(Ô(Ð(Ø# vÐ-Ð-Ø�JŠJÐ/Ñ0Ô0Ð0à�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"å"ˆõ ð 
ð 
ð 
ð 
ð Ÿš™œð
ñ 
ô 
ñ 
ô 
ð 	õ
 !ð9ñô ð ð
	GÝ•Ð(9Ð9Ô:ð	Gàð	Gð 	Gð 	Gð 	Gð 	Gð 	Gð
 ×3Ò3°HÑ=Ô=ˆØ�XÐMÐMÐMÐM¸u¿{º{¹}¼}ÐMÑMÔMÑNÔNˆŒ
ð 6:´[ÐJÕ$ T¤[Ñ1Ô1Ð1Ð1Àdð 	Ô#ð $Ÿjšj™lœlˆÔØ ˆŒˆˆr<   c                 óè   ‡— t           t          j        t          j        fŠ|‰v r|}n t	          ˆfd„|j        D ¦   «         ¦  «        }|‰vrt          d|› �¦  «        ‚|t          j        u rt           }|S )Nc              3   ó$   •K  — | ]
}|‰v ¯|V — Œd S r6   rV   )rM   ÚbaseÚaccepted_dict_typess     €r:   rQ   z@ConstDictVariable._get_dict_cls_from_user_cls.<locals>.<genexpr>ž   s7   øè è € ð ð Ø°TÐ=PÐ5PÐ5P�Ð5PÐ5PÐ5PÐ5Pðð r<   zUnexpected dict_cls: )r9   ÚcollectionsÚOrderedDictÚdefaultdictÚnextÚ__mro__r\   )r`   rE   ra   rf   s      @r:   r]   z-ConstDictVariable._get_dict_cls_from_user_cls–   s¤   ø€ Ý#¥[Ô%<½kÔ>UÐVÐð Ð*Ð*Ð*ØˆHˆHõ ð ð ð ð Ø!)Ô!1ðñ ô ñ ô ˆHð Ð.Ð.Ð.Ý Ð!C¸Ð!CÐ!CÑDÔDÐDð •{Ô.Ð.Ð.ÝˆHØˆr<   c                 óH   — d„ | j                               ¦   «         D ¦   «         S )Nc                 ól   — i | ]1\  }}|j                              ¦   «         |                     ¦   «         “Œ2S rV   )ÚvtÚas_proxy©rM   ÚkrO   s      r:   rW   z.ConstDictVariable.as_proxy.<locals>.<dictcomp>«   s0   € ÐMÐMÐM±$°!°Q�”—’‘” §¢¡¤ÐMÐMÐMr<   ©rF   ©r`   s    r:   ro   zConstDictVariable.as_proxyª   s$   € ØMÐM¸$¼*×:JÒ:JÑ:LÔ:LÐMÑMÔMÐMr<   c                 óô   — g }| j                               ¦   «         D ]B\  }}t          |j        ¦  «        }t          |¦  «        }|                     |› d|› �¦  «         ŒCdd                     |¦  «        z   dz   S )Nú: Ú{ú, Ú})rF   r   rn   ÚappendÚjoin©r`   rF   rq   rO   Úkey_strÚval_strs         r:   Ú
debug_reprzConstDictVariable.debug_repr­   sƒ   € ØˆØ”J×$Ò$Ñ&Ô&ð 	2ð 	2‰DˆAˆqÝ& q¤tÑ,Ô,ˆGÝ& qÑ)Ô)ˆGØ�LŠL˜GÐ0Ð0 wÐ0Ð0Ñ1Ô1Ð1Ð1Ø�T—Y’Y˜uÑ%Ô%Ñ%¨Ñ+Ð+r<   c                 óH   — d„ | j                               ¦   «         D ¦   «         S )Nc                 ól   — i | ]1\  }}|j                              ¦   «         |                     ¦   «         “Œ2S rV   ©rn   Úas_python_constantrp   s      r:   rW   z8ConstDictVariable.as_python_constant.<locals>.<dictcomp>¶   sH   € ð 
ð 
ð 
á��1ð ŒD×#Ò#Ñ%Ô% q×';Ò';Ñ'=Ô'=ð
ð 
ð 
r<   rr   rs   s    r:   r‚   z$ConstDictVariable.as_python_constantµ   s1   € ð
ð 
àœ
×(Ò(Ñ*Ô*ð
ñ 
ô 
ð 	
r<   Útxr1   c                 óª   ‡— ˆfd„| j                               ¦   «         D ¦   «         }t          j        ‰dd                     |¦  «        z   dz   ¦  «        S )Nc                 óf   •— g | ]-\  }}t          ‰|j        ¦  «        › d t          ‰|¦  «        › �‘Œ.S )ru   ©r!   rn   ©rM   rR   Úvaluerƒ   s      €r:   ú
<listcomp>z/ConstDictVariable.repr_impl.<locals>.<listcomp>¼   sQ   ø€ ð 
ð 
ð 
á��Uõ ˜B ¤Ñ'Ô'ÐDÐD­<¸¸EÑ+BÔ+BÐDÐDð
ð 
ð 
r<   rv   rw   rx   )rF   r)   Úbuildrz   ©r`   rƒ   rF   s    ` r:   Ú	repr_implzConstDictVariable.repr_impl»   sd   ø€ ð
ð 
ð 
ð 
à"œj×.Ò.Ñ0Ô0ð
ñ 
ô 
ˆõ Ô$ R¨¨t¯yªy¸Ñ/?Ô/?Ñ)?À#Ñ)EÑFÔFÐFr<   c                 óp   — |                       ¦   «          d„ | j                             ¦   «         D ¦   «         S )Nc                 óH   — i | ]\  }}|j                              ¦   «         |“Œ S rV   r�   rp   s      r:   rW   z=ConstDictVariable.keys_as_python_constant.<locals>.<dictcomp>Ä   s,   € ÐLÐLÐL±°°A�”×'Ò'Ñ)Ô)¨1ÐLÐLÐLr<   ©Úinstall_dict_keys_match_guardrF   rs   s    r:   Úkeys_as_python_constantz)ConstDictVariable.keys_as_python_constantÂ   s6   € Ø×*Ò*Ñ,Ô,Ð,ØLÐL¸¼×9IÒ9IÑ9KÔ9KÐLÑLÔLÐLr<   c                 ó   — | j         S r6   ©rE   rs   s    r:   r8   zConstDictVariable.python_typeÆ   s
   € ØŒ}Ðr<   rn   c                 ó  — t          |t          ¦  «        st          dt          |¦  «        › �¦  «        ‚t	          |¦  «        sdS t          |¦  «        }|| j        v o%t          | j        |         t          j        ¦  «         S )NzExpected VariableTracker, got F)	rL   r)   r\   Útyper,   r+   rF   r   ÚDeletedVariable)r`   rn   rR   s      r:   Ú__contains__zConstDictVariable.__contains__É   s‡   € Ý˜"�oÑ.Ô.ð 	NÝ Ð!LÅ$ÀrÁ(Ä(Ð!LÐ!LÑMÔMÐMõ ˜2‰Œð 	Ø�5Ý˜bÑ!Ô!ˆØ�d”jÐ ð 
­ØŒJ�sŒO�YÔ6ñ*
ô *
ð &
ð 	
r<   Útree_map_fnr2   Úmap_fnÚrestÚtree_map_kwargsc           
      óØ  ‡— g }|D ]…}|                      ¦   «         }t          |t          ¦  «        r*t          |j        ¦  «        t          | j        ¦  «        k    r|                      |||||¦  «        c S |                     |¦  «         Œ† t          | j        ¦  «        ¦   «         Š| j                             ¦   «         D ]v\  }}	g }
|D ]P}	 |
                     |j        |         ¦  «         Œ$# t          $ r  |                      |||||¦  «        cY c c S w xY w|	 	                    ||||
|¦  «        ‰|<   Œwˆfd„‰D ¦   «         }|  
                    ‰|dd t          ¦   «         ¬¦  «        S )Nc                 ó,   •— i | ]}|j         ‰|         “ŒS rV   ©rn   ©rM   Úkey_trackerÚnew_items_hasheds     €r:   rW   z:ConstDictVariable.call_tree_map_branch.<locals>.<dictcomp>û   ó3   ø€ ð "
ð "
ð "
àð ŒNÐ,¨[Ô9ð"
ð "
ð "
r<   T©rF   rI   rJ   r^   Úmutation_type)ÚrealizerL   rD   ÚlenrF   Ú_tree_map_fallbackry   r•   ÚKeyErrorÚcall_tree_mapÚcloner(   )r`   rƒ   r˜   r™   rš   r›   Úother_dictsÚ	candidater    rˆ   Úsibling_leavesÚupdated_original_itemsr¡   s               @r:   Úcall_tree_map_branchz&ConstDictVariable.call_tree_map_branchÖ   s  ø€ ð 02ˆØð 	*ð 	*ˆIØ!×)Ò)Ñ+Ô+ˆIÝ˜iÕ):Ñ;Ô;ð ½sØ”ñ@ô @å�T”Z‘”ò@!ð @!ð ×.Ò.Ø˜ V¨T°?ñô ð ð ð ð ×Ò˜yÑ)Ô)Ð)Ð)à+�4 ¤
Ñ+Ô+Ñ-Ô-ÐØ"&¤*×"2Ò"2Ñ"4Ô"4ð 	ð 	ÑˆK˜Ø46ˆNØ(ð ð �	ðØ"×)Ò)¨)¬/¸+Ô*FÑGÔGÐGÐGøÝð ð ð Ø×2Ò2Ø˜K¨°°ñô ð ð ð ð ð ð ð ðøøøð -2×,?Ò,?ØØØØØñ-ô -Ð˜[Ñ)Ð)ð"
ð "
ð "
ð "
à/ð"
ñ "
ô "
Ðð
 �zŠzØ"Ø1Ø#'ØÝ*Ñ,Ô,ð ñ 
ô 
ð 	
s   Ã C.Ã.#DÄDÚkeypath.c                 ó6  ‡— g }|D ]†}|                      ¦   «         }t          |t          ¦  «        r*t          |j        ¦  «        t          | j        ¦  «        k    r|                      ||||||¦  «        c S |                     |¦  «         Œ‡ t          | j        ¦  «        ¦   «         Š| j                             ¦   «         D ]¤\  }	}
g }|D ]Q}	 |                     |j        |	         ¦  «         Œ$# t          $ r! |                      ||||||¦  «        cY c c S w xY w|	j	         
                    ¦   «         }|t          |¦  «        fz   }|
                     ||||||¦  «        ‰|	<   Œ¥ˆfd„‰D ¦   «         }|                      ‰|dd t          ¦   «         ¬¦  «        S )Nc                 ó,   •— i | ]}|j         ‰|         “ŒS rV   rž   rŸ   s     €r:   rW   zDConstDictVariable.call_tree_map_with_path_branch.<locals>.<dictcomp>1  r¢   r<   Tr£   )r¥   rL   rD   r¦   rF   Ú_tree_map_with_path_fallbackry   r•   r¨   rn   r‚   r   Úcall_tree_map_with_pathrª   r(   )r`   rƒ   r˜   r™   rš   r›   r°   r«   r¬   r    rˆ   r­   Ú	key_constÚchild_keypathr®   r¡   s                  @r:   Úcall_tree_map_with_path_branchz0ConstDictVariable.call_tree_map_with_path_branch  s5  ø€ ð 02ˆØð 	*ð 	*ˆIØ!×)Ò)Ñ+Ô+ˆIÝ˜iÕ):Ñ;Ô;ð ½sØ”ñ@ô @å�T”Z‘”ò@!ð @!ð ×8Ò8Ø˜ V¨T°?ÀGñô ð ð ð ð ×Ò˜yÑ)Ô)Ð)Ð)à+�4 ¤
Ñ+Ô+Ñ-Ô-ÐØ"&¤*×"2Ò"2Ñ"4Ô"4ð 	ð 	ÑˆK˜Ø46ˆNØ(ð ð �	ðØ"×)Ò)¨)¬/¸+Ô*FÑGÔGÐGÐGøÝð ð ð Ø×<Ò<Ø˜K¨°°Èñô ð ð ð ð ð ð ð ðøøøð $œ×9Ò9Ñ;Ô;ˆIØ#¥z°)Ñ'<Ô'<Ð&>Ñ>ˆMØ,1×,IÒ,IØØØØØØñ-ô -Ð˜[Ñ)Ð)ð"
ð "
ð "
ð "
à/ð"
ñ "
ô "
Ðð
 �zŠzØ"Ø1Ø#'ØÝ*Ñ,Ô,ð ñ 
ô 
ð 	
s   Ã C/Ã/$DÄDc                 ób   — t          d„ | j                             ¦   «         D ¦   «         ¦  «        S )Nc              3   óL   K  — | ]}t          |t          j        ¦  «         V — Œ d S r6   )rL   r   r–   ©rM   rN   s     r:   rQ   z(ConstDictVariable.len.<locals>.<genexpr>?  sC   è è € ð 
ð 
Ø=>•
˜1�iÔ7Ñ8Ô8Ð8ð
ð 
ð 
ð 
ð 
ð 
r<   )ÚsumrF   Úvaluesrs   s    r:   r¦   zConstDictVariable.len>  s>   € Ýð 
ð 
ØBFÄ*×BSÒBSÑBUÔBUð
ñ 
ô 
ñ 
ô 
ð 	
r<   c                 óv   ‡ — ‰ j         p1t          ˆ fd„‰ j                             ¦   «         D ¦   «         ¦  «        S )Nc              3   ó„   •K  — | ]:\  }}‰                      ‰j                             |j        ¦  «        |¦  «        V — Œ;d S r6   )Úis_new_itemrI   Úgetrn   )rM   rR   rˆ   r`   s      €r:   rQ   z2ConstDictVariable.has_new_items.<locals>.<genexpr>D  s^   øè è € ð 2
ð 2
á��Uð ×Ò˜TÔ0×4Ò4°S´VÑ<Ô<¸eÑDÔDð2
ð 2
ð 2
ð 2
ð 2
ð 2
r<   )rJ   ÚanyrF   rs   s   `r:   Úhas_new_itemszConstDictVariable.has_new_itemsC  sS   ø€ ØÔ*ð 
­cð 2
ð 2
ð 2
ð 2
à"œj×.Ò.Ñ0Ô0ð2
ñ 2
ô 2
ñ /
ô /
ð 	
r<   rˆ   Úotherc                 ó  — |rl|                      ¦   «         rX|                      ¦   «         rDt          |                     ¦   «         ¦  «        t          |                     ¦   «         ¦  «        k    S t          |¦  «        t          |¦  «        k    S r6   )Úis_realizedÚidr¥   )r`   rˆ   rÃ   s      r:   r¿   zConstDictVariable.is_new_itemI  st   € ð ð 	>�U×&Ò&Ñ(Ô(ð 	>¨U×->Ò->Ñ-@Ô-@ð 	>Ý�e—m’m‘o”oÑ&Ô&­"¨U¯]ª]©_¬_Ñ*=Ô*=Ò=Ð=Ý�%‰yŒy�B˜u™IœIÒ%Ð%r<   Úcodegenr0   c                 óH  — d}| j                               ¦   «         D ]a\  }}| j                             |j        ¦  «        }|                      ||¦  «        s| j        r  ||j        ¦  «          ||¦  «         |dz  }Œb|                     t          d|¬¦  «        ¦  «         d S )Nr   r#   Ú	BUILD_MAP©Úarg)rF   rI   rÀ   rn   r¿   rJ   Úappend_outputr   )r`   rÇ   Únum_argsrR   rˆ   Úitems         r:   Úreconstruct_kvs_into_new_dictz/ConstDictVariable.reconstruct_kvs_into_new_dictQ  s°   € àˆØœ*×*Ò*Ñ,Ô,ð 	ð 	‰JˆC�àÔ&×*Ò*¨3¬6Ñ2Ô2ˆDØ×Ò  eÑ,Ô,ð °Ô0Kð Ø�˜œ‘”�Ø�˜‘”�Ø˜A‘�øØ×ÒÕ0°À(ÐKÑKÔKÑLÔLÐLÐLÐLr<   c                 óâ  ‡— | j         t          j        u �r.‰                     ˆfd„¦  «         |                      ¦   «         rÈ‰                     g t          dd¦  «        ¢t          ¦   «         ‘¦  «         ‰                     | ¦  «         ‰ 	                    t          ¦   «         ¦  «         ‰ 
                    d¦  «         |                      ‰¦  «         ‰                     g t          d¦  «        ¢t          d¦  «        ‘¦  «         d S |                      ‰¦  «         ‰                     t          dd¦  «        ¦  «         d S |                      ¦   «         r‚‰                     t          dd¬¦  «        t          ¦   «         g¦  «         ‰                     | ¦  «         |                      ‰¦  «         ‰ 	                    t          d	d¬¦  «        ¦  «         d S |                      ‰¦  «         d S )
Nc                  óˆ   •— ‰                       ‰                      t          ¦  «        ‰                      d¦  «        g¦  «        S )Nrh   )Úextend_outputÚcreate_load_python_modulerg   Úcreate_load_attr©rÇ   s   €r:   ú<lambda>z/ConstDictVariable.reconstruct.<locals>.<lambda>a  s>   ø€ ˜×-Ò-à×9Ò9½+ÑFÔFØ×0Ò0°Ñ?Ô?ðñô € r<   r   FÚupdater#   ÚPOP_TOPrÉ   rÊ   ÚDICT_UPDATE)rE   rg   rh   Úadd_push_nullÚ_contains_self_referencerÒ   r   r   Ú	add_cacherÌ   Úload_methodrÏ   r   r   ©r`   rÇ   s    `r:   ÚreconstructzConstDictVariable.reconstruct]  s%  ø€ ØŒ=�KÔ3Ð3Ñ3à×!Ò!ðð ð ð ñô ð ð ×,Ò,Ñ.Ô.ð FØ×%Ò%ðÝ-¨a°Ñ7Ô7ðå&Ñ(Ô(ðñô ð ð ×!Ò! $Ñ'Ô'Ð'à×%Ò%¥nÑ&6Ô&6Ñ7Ô7Ð7Ø×#Ò# HÑ-Ô-Ð-Ø×2Ò2°7Ñ;Ô;Ð;Ø×%Ò%ðÝ+¨AÑ.Ô.ðå*¨9Ñ5Ô5ðñô ð ð ð ð ×2Ò2°7Ñ;Ô;Ð;Ø×%Ò%Õ&:¸1¸eÑ&DÔ&DÑEÔEÐEÐEÐEà×,Ò,Ñ.Ô.ð <Ø×%Ò%å*¨;¸AÐ>Ñ>Ô>Ý&Ñ(Ô(ðñô ð ð ×!Ò! $Ñ'Ô'Ð'Ø×2Ò2°7Ñ;Ô;Ð;Ø×%Ò%Õ&8¸ÈAÐ&NÑ&NÔ&NÑOÔOÐOÐOÐOð ×2Ò2°7Ñ;Ô;Ð;Ð;Ð;r<   c                 óð   ‡— t          | j        t          j        ¦  «        s|                      ¦   «         rt
          ‚dd                     ˆfd„| j                             ¦   «         D ¦   «         ¦  «        › d�S )Nrv   rw   c              3   ó‚   •K  — | ]9\  }}|j                              ‰¦  «        › d |                     ‰¦  «        › �V — Œ:dS )ru   N)rn   Úreconstruct_pycode)rM   rq   rO   rÇ   s      €r:   rQ   z7ConstDictVariable.reconstruct_pycode.<locals>.<genexpr>’  so   øè è € ð  Eð  EÑimÐijÐlm ¤×!8Ò!8¸Ñ!AÔ!AÐdÐdÀQ×EYÒEYÐZaÑEbÔEbÐdÐdð  Eð  Eð  Eð  Eð  Eð  Er<   rx   )r7   rE   rg   rh   rÛ   r>   rz   rF   rÞ   s    `r:   râ   z$ConstDictVariable.reconstruct_pycodeŒ  s²   ø€ å�t”}¥kÔ&=Ñ>Ô>ð	&à×,Ò,Ñ.Ô.ð	&õ &Ð%ð I�D—I’Ið  Eð  Eð  Eð  EÐquÔq{÷  rBò  rBñ  rDô  rDð  Eñ  Eô  Eñ  Eô  Eð  Ið  Ið  Ið  	Ir<   rË   c                 ó|   — t          |¦  «        }|| j        vrt          t          ||g¬¦  «         | j        |         S )N©Úargs)r+   rF   r   r¨   )r`   rƒ   rË   rR   s       r:   Ú'getitem_const_raise_exception_if_absentz9ConstDictVariable.getitem_const_raise_exception_if_absent”  sA   € õ ˜cÑ"Ô"ˆØ�d”jÐ Ð Ý$¥X¨r¸¸Ð>Ñ>Ô>Ð>ØŒz˜#ŒÐr<   c                 ó²   — t          |¦  «        }|| j        vr3d|j        › d�}t          dd|j        › �|dgt          j        ¢¬¦  «         | j        |         S )NzDictionary key z not found during tracingzkey not found in dictúKey z>Check if the key exists in the dictionary before accessing it.©Úgb_typeÚcontextÚexplanationÚhints)r+   rF   rˆ   r   r
   Ú
USER_ERROR)r`   rƒ   rË   rR   Úmsgs        r:   Úgetitem_constzConstDictVariable.getitem_constœ  s{   € õ ˜cÑ"Ô"ˆØ�d”jÐ Ð ØH C¤IÐHÐHÐHˆCÝØ/Ø*˜sœyÐ*Ð*ØàTðå&Ô1ðð	ñ ô ð ð Œz˜#ŒÐr<   c                 óP   — t          |¦  «        }|| j        vrd S | j        |         S r6   )r+   rF   )r`   rË   rR   s      r:   Úmaybe_getitem_constz%ConstDictVariable.maybe_getitem_const­  s-   € Ý˜cÑ"Ô"ˆØ�d”jÐ Ð Ø�4ØŒz˜#ŒÐr<   c                 ó|  — || vrt          d|› d�¦  «        ‚t          |¦  «        }t          | j                             ¦   «         ¦  «                             |¦  «        }t          | j                             ¦   «         ¦  «        |         }t          |t          j	        ¦  «        r| 
                    ¦   «          d S d S )Nrè   z not found in dict)r\   r+   ÚtuplerF   ÚkeysÚindexrI   rL   r   ÚLazyVariableTrackerr¥   )r`   rË   rR   rö   Úoriginal_key_vts        r:   Úrealize_key_vtz ConstDictVariable.realize_key_vt³  s±   € à�dˆ?ˆ?Ý Ð!?¨Ð!?Ð!?Ð!?Ñ@Ô@Ð@Ý˜cÑ"Ô"ˆÝ�d”j—o’oÑ'Ô'Ñ(Ô(×.Ò.¨sÑ3Ô3ˆÝ Ô 3× 8Ò 8Ñ :Ô :Ñ;Ô;¸EÔBˆÝ�o¥yÔ'DÑEÔEð 	&Ø×#Ò#Ñ%Ô%Ð%Ð%Ð%ð	&ð 	&r<   c                 óp   — | j         r.t          |                      t          j        ¦  «        ¦  «         d S d S r6   )r^   r   Ú
make_guardr   ÚDICT_KEYS_MATCHrs   s    r:   r�   z/ConstDictVariable.install_dict_keys_match_guard½  s<   € ØŒ;ð 	IÝ˜$Ÿ/š/­,Ô*FÑGÔGÑHÔHÐHÐHÐHð	Ið 	Ir<   rå   c           	      ó4  — | j         sd S |j        j                             | ¦  «        rd S |d         | v }|d         j         €”|d                              ¦   «         rz|rt          | ¦  «        j        nt          | ¦  «        j        }t          |  	                    t          j        ||d                              ¦   «         ¬¦  «        ¦  «        ¦  «         d S |d         j         r5|r|                      |d         ¦  «         d S |                      ¦   «          d S d S )Nr   )rR   )r^   ÚoutputÚside_effectsÚis_modifiedÚis_python_constantr•   ÚCONTAINS_GUARDÚNOT_CONTAINS_GUARDr   rû   Ú	functoolsÚpartialr‚   rù   r�   )r`   rƒ   rå   ÚcontainsÚguard_fns        r:   Úinstall_dict_contains_guardz-ConstDictVariable.install_dict_contains_guardÁ  s7  € ð" Œ{ð 	ØˆFàŒ9Ô!×-Ò-¨dÑ3Ô3ð 	ØˆFà˜”7˜d�?ˆØ�Œ7Œ>Ð! d¨1¤g×&@Ò&@Ñ&BÔ&BÐ!à-5ÐX•�T‘
”
Ô)Ð)½4À¹:¼:Ô;Xð õ Ø—’ÝÔ%Ø Ø  œG×6Ò6Ñ8Ô8ðñ ô ñô ñô ð ð ð ð �!ŒWŒ^ð 	5Øð 5Ø×#Ò# D¨¤GÑ,Ô,Ð,Ð,Ð,à×2Ò2Ñ4Ô4Ð4Ð4Ð4ð		5ð 	5r<   rR   c                 ó.   — |                       ||¦  «        S r6   )ræ   ©r`   rƒ   rR   s      r:   Úmp_subscript_implz#ConstDictVariable.mp_subscript_implë  s   € ð ×;Ò;¸BÀÑDÔDÐDr<   rÎ   c                 óÌ   — t          |¦  «        s&t          |d|                     ¦   «         › d�¦  «         |                      ||g¦  «         || v }t	          j        ||¦  «        S )Núunhashable type: 'ú')r,   r   Úpython_type_namer  r)   rŠ   )r`   rƒ   rÎ   r  s       r:   Úsq_containszConstDictVariable.sq_containsô  sq   € õ ˜4Ñ Ô ð 	RÝ˜RÐ!P°d×6KÒ6KÑ6MÔ6MÐ!PÐ!PÐ!PÑQÔQÐQØ×(Ò(¨¨d¨VÑ4Ô4Ð4Ø˜4�<ˆÝÔ$ R¨Ñ2Ô2Ð2r<   c                 ó(  — ddl m} | j        rdt          | j        ¦  «        sPt	          |                      t          j        ¦  «        ¦  «         |j        j	         
                    | j        ¦  «          || j                             ¦   «         ¦  «        S )Nr#   )ÚDictIterator)Úiterr  r^   r   r   rû   r   rü   rþ   Úguard_on_key_orderÚaddrF   rõ   )r`   rƒ   r  s      r:   Útp_iter_implzConstDictVariable.tp_iter_implþ  s„   € Ø&Ð&Ð&Ð&Ð&Ð&àŒ;ð 	:Õ1°$´+Ñ>Ô>ð 	:Ý˜$Ÿ/š/­,Ô*FÑGÔGÑHÔHÐHØŒIÔ(×,Ò,¨T¬[Ñ9Ô9Ð9Øˆ|˜DœJŸOšOÑ-Ô-Ñ.Ô.Ð.r<   Únamec                 óR  •— ddl m} t          }|dk    ri |j        |t          g|¢R i |¤Ž}|j        j                             | ¦  «         | j         	                    |j        ¦  «         t          j        d ¦  «        S |dk    r„|s|r2t          ||dt          |¦  «        › dt          |¦  «        › d�¦  «         |                      ¦   «          | j        r$|j        j                             | j        ¦  «         t%          | ¦  «        S |dk    rt          |¦  «        r"t          ||d	t          |¦  «        › d
�¦  «         |                      ¦   «          | j        r$|j        j                             | j        ¦  «         t'          | ¦  «        S |dk    rÔ|s|r2t          ||dt          |¦  «        › dt          |¦  «        › d�¦  «         |                      ¦   «          | j        r$|j        j                             | j        ¦  «         d„ t)          t+          | j                             ¦   «         ¦  «        ¦  «        D ¦   «         }t/          j        |t3          ¦   «         ¬¦  «        S |dk    r�|s|r2t          ||dt          |¦  «        › dt          |¦  «        › d�¦  «         |                      ¦   «          | j        r$|j        j                             | j        ¦  «         |s|rt5          t6          |¦  «         t9          | ¦  «        S |dk    r…|                      ¦   «          |s|r2t          ||dt          |¦  «        › dt          |¦  «        › d�¦  «         |                      | j                             ¦   «         t3          ¦   «         d ¬¦  «        S |dk    ržt          |¦  «        dvr"t          ||dt          |¦  «        › d
�¦  «         |d         | vrE|                      ||¦  «         t          |¦  «        dk    rt          j        d ¦  «        S |d         S |                       ||d         ¦  «        S |dk    ræ|  !                    ¦   «         rÒt          |¦  «        dvr"t          ||dt          |¦  «        › d
�¦  «         |d         | vrF|                      ||¦  «         t          |¦  «        dk    rt5          tD          |¦  «         |d         S d| _#        |j        j                             | ¦  «         | j         $                     ||d         ¦  «        ¦  «        S |dk    r¯|  !                    ¦   «         r›t          |¦  «        rt          ||¦  «         | j        st5          tD          |dg¬¦  «         | j         %                    ¦   «         \  }	}
d| _#        |j        j                             | ¦  «         t/          j&        |	j'        |
g¦  «        S |dk    r‰|s|r2t          ||dt          |¦  «        › dt          |¦  «        › d�¦  «         d| _#        |j        j                             | ¦  «         | j         (                    ¦   «          t          j        d ¦  «        S |dk    �rR|  !                    ¦   «         �r=|                      ¦   «          t          |¦  «        dk    r"t          ||dt          |¦  «        › d
�¦  «         |s|r|j        j                             | ¦  «         |�rz|d         }tS          |tT          ¦  «        r5|                     ¦   «          | j         	                    |j        ¦  «         �n(tS          |t.          j+        tX          f¦  «        rv| -                    |d¦  «         .                    ¦   «         rN| /                    |dg i ¦  «        }ta          ||¦  «        D ]$}tc          |||¦  «        | j         ||¦  «        <   Œ%n‘te          ta          ||¦  «        ¦  «        D ]s\  }}ta          ||¦  «        }t          |¦  «        dk    r,t5          tf          |d|› dt          |¦  «        › d �g¬¦  «         |d         | j         ||d         ¦  «        <   Œt|                     ¦   «         D ]+\  }	}
|
| j         |ti          j5        ||	¦  «        ¦  «        <   Œ,t          j        d ¦  «        S |d!k    �r<|  !                    ¦   «         �r't          |¦  «        dvr2t          ||d"t          |¦  «        › dt          |¦  «        › d�¦  «         |                      ¦   «          |st          |¦  «        dk    r2t          ||d#t          |¦  «        › dt          |¦  «        › d�¦  «         |  6                    |d         ¦  «        }|�|S t          |¦  «        dk    rt          j        d ¦  «        }n|d         }|j        j                             | ¦  «         || j         ||d         ¦  «        <   |S to          ¦   «          /                    ||||¦  «        S )$Nr#   )ÚDictBuiltinVariablerZ   rF   ú0 args and 0 kwargsú
 args and ú kwargsrõ   z0 argsz argsÚ__reversed__c                 ó   — g | ]	}|j         ‘Œ
S rV   rž   )rM   rq   s     r:   r‰   z1ConstDictVariable.call_method.<locals>.<listcomp>?  s   € ÐMÐMÐM a˜QœTÐMÐMÐMr<   ©r¤   r¼   r_   )rF   r¤   r^   rÀ   )r#   r	   z1 or 2 argsr   rX   TÚpopitemzpopitem(): dictionary is emptyrä   Úclearr×   zat most 1 argsr	   z$dictionary update sequence element #z has length z; 2 is requiredÚ
setdefaultz1 or 2 args and 0 kwargszat most 2 args and 0 kwargs)8Ú r  r+   Úcall_custom_dictr9   rþ   rÿ   ÚmutationrF   r×   r*   Úcreater    r¦   r�   r^   r  r  ÚDictItemsVariableÚDictKeysVariableÚreversedÚlistrõ   r   ÚListIteratorVariabler(   r   Ú	TypeErrorÚDictValuesVariablerª   r_   r  rð   Ú
is_mutabler¨   rJ   rX   r   ÚTupleVariablern   r!  rL   rD   ÚUserDefinedObjectVariableÚMappingProxyVariableÚcall_obj_hasattrr‚   Úcall_methodr"   r.   Ú	enumerateÚ
ValueErrorr)   rŠ   rò   rY   )r`   rƒ   r  rå   rG   r  rP   Útemp_dict_vtÚreversed_keysrq   rO   rÃ   rõ   rR   ÚidxrÎ   Úpairrˆ   rN   rb   s                      €r:   r3  zConstDictVariable.call_method  sÕ
  ø€ ð 	*Ð)Ð)Ð)Ð)Ð)å"ˆà�:ÒÐØ?Ð.Ô?Ø•DðØðð ð Ø#)ðð ˆLð ŒIÔ"×+Ò+¨DÑ1Ô1Ð1ØŒJ×Ò˜lÔ0Ñ1Ô1Ð1Ý#Ô*¨4Ñ0Ô0Ð0Ø�WŠ_ˆ_Øð �vð Ý#ØØØ)Ý˜4‘y”yÐ@Ð@­C°©K¬KÐ@Ð@Ð@ñ	ô ð ð ×.Ò.Ñ0Ô0Ð0ØŒ{ð >Ø”	Ô,×0Ò0°´Ñ=Ô=Ð=Ý$ TÑ*Ô*Ð*Ø�VŠ^ˆ^Ý�4‰yŒyð MÝ# B¨¨h½3¸t¹9¼9Ð8KÐ8KÐ8KÑLÔLÐLØ×.Ò.Ñ0Ô0Ð0ØŒ{ð >Ø”	Ô,×0Ò0°´Ñ=Ô=Ð=Ý# DÑ)Ô)Ð)Ø�^Ò#Ð#ð ð �vð Ý#ØØØ)Ý˜4‘y”yÐ@Ð@­C°©K¬KÐ@Ð@Ð@ñ	ô ð ð ×.Ò.Ñ0Ô0Ð0ØŒ{ð >Ø”	Ô,×0Ò0°´Ñ=Ô=Ð=ØMÐM­8µD¸¼¿ºÑ9JÔ9JÑ4KÔ4KÑ+LÔ+LÐMÑMÔMˆMÝÔ1ØÕ-=Ñ-?Ô-?ðñ ô ð ð �XÒÐØð �vð Ý#ØØØ)Ý˜4‘y”yÐ@Ð@­C°©K¬KÐ@Ð@Ð@ñ	ô ð ð ×.Ò.Ñ0Ô0Ð0ØŒ{ð >Ø”	Ô,×0Ò0°´Ñ=Ô=Ð=Øð 8�vð 8Ý(­°BÑ7Ô7Ð7Ý% dÑ+Ô+Ð+Ø�VŠ^ˆ^Ø×.Ò.Ñ0Ô0Ð0Øð �vð Ý#ØØØ)Ý˜4‘y”yÐ@Ð@­C°©K¬KÐ@Ð@Ð@ñ	ô ð ð —:’:Ø”j—o’oÑ'Ô'Õ7GÑ7IÔ7IÐRVð ñ ô ð ð �UŠ]ˆ]Ý�4‰yŒy Ð&Ð&Ý# B¨¨mÅÀDÁ	Ä	Ð=PÐ=PÐ=PÑQÔQÐQà�AŒw˜dÐ"Ð"Ø×0Ò0°°TÑ:Ô:Ð:Ý�t‘9”9 ’>�>å+Ô2°4Ñ8Ô8Ð8Ø˜A”w�à×%Ò% b¨$¨q¬'Ñ2Ô2Ð2Ø�UŠ]ˆ]˜tŸšÑ0Ô0ˆ]Ý�4‰yŒy Ð&Ð&Ý# B¨¨mÅÀDÁ	Ä	Ð=PÐ=PÐ=PÑQÔQÐQà�AŒw˜dÐ"Ð"à×0Ò0°°TÑ:Ô:Ð:Ý�t‘9”9 ’>�>å,­X°rÑ:Ô:Ð:Ø˜A”w�à*.ˆDÔ'ØŒIÔ"×+Ò+¨DÑ1Ô1Ð1Ø”:—>’> ( (¨4°¬7Ñ"3Ô"3Ñ4Ô4Ð4Ø�YÒÐ 4§?¢?Ñ#4Ô#4Ðõ �4‰yŒyð .Ý# B¨Ñ-Ô-Ð-à”:ð Ý(ÝØà8ððñ ô ð ð ”:×%Ò%Ñ'Ô'‰DˆAˆqØ*.ˆDÔ'ØŒIÔ"×+Ò+¨DÑ1Ô1Ð1åÔ*¨A¬D°!¨9Ñ5Ô5Ð5Ø�WŠ_ˆ_Øð �vð Ý#ØØØ)Ý˜4‘y”yÐ@Ð@­C°©K¬KÐ@Ð@Ð@ñ	ô ð ð +/ˆDÔ'ØŒIÔ"×+Ò+¨DÑ1Ô1Ð1ØŒJ×ÒÑÔÐÝ#Ô*¨4Ñ0Ô0Ð0Ø�XÒÑ $§/¢/Ñ"3Ô"3Ñð
 ×.Ò.Ñ0Ô0Ð0Ý�4‰yŒy˜1Š}ˆ}Ý# B¨Ð.>Å3ÀtÁ9Ä9Ð@SÐ@SÐ@SÑTÔTÐTØð 6�vð 6Ø”	Ô&×/Ò/°Ñ5Ô5Ð5Øñ @Ø˜Qœ�Ý˜eÕ%6Ñ7Ô7ð @ð ×7Ò7Ñ9Ô9Ð9Ø”J×%Ò% e¤kÑ2Ô2Ð2Ñ2åØÝ"Ô<Õ>RÐSñô ð@ð
 ×.Ò.¨r°6Ñ:Ô:×MÒMÑOÔOð@ð !×,Ò,¨R°¸¸RÑ@Ô@�DÝ.¨r°4Ñ8Ô8ð Oð O˜Ý4>¸rÀ5È#Ñ4NÔ4N˜œ
 8 8¨C¡=¤=Ñ1Ð1ðOõ &/­¸rÀ5Ñ/IÔ/IÑ%JÔ%Jð @ð @™	˜˜TÝ.¨r°4Ñ8Ô8˜Ý˜t™9œ9¨š>˜>Ý4Ý *Ø "ð%TØ(+ð%Tð %TÝ9<¸T¹¼ð%Tð %Tð %Tð&"ðñ ô ð ð 9=¸Q¼˜œ
 8 8¨D°¬GÑ#4Ô#4Ñ5Ð5ØŸš™œð Gð G‘��1ØEF�”
˜8˜8¥OÔ$9¸"¸aÑ$@Ô$@ÑAÔAÑBÐBÝ#Ô*¨4Ñ0Ô0Ð0Ø�\Ò!Ñ! d§o¢oÑ&7Ô&7Ñ!Ý�4‰yŒy Ð&Ð&Ý#ØØØ.Ý˜4‘y”yÐ@Ð@­C°©K¬KÐ@Ð@Ð@ñ	ô ð ð ×.Ò.Ñ0Ô0Ð0Øð �˜T™œ Qš˜Ý#ØØØ1Ý˜4‘y”yÐ@Ð@­C°©K¬KÐ@Ð@Ð@ñ	ô ð ð ×,Ò,¨T°!¬WÑ5Ô5ˆEØÐ Ø�å�t‘9”9 ’>�>Ý(Ô/°Ñ5Ô5�A�Aà˜Qœ�AØ”	Ô&×/Ò/°Ñ5Ô5Ð5Ø01�”
˜8˜8 D¨¤GÑ,Ô,Ñ-Ø�å‘7”7×&Ò& r¨4°°vÑ>Ô>Ð>r<   c                 óL   — |                       ¦   «          d„ | j        D ¦   «         S )Nc                 ó   — g | ]	}|j         ‘Œ
S rV   rž   rº   s     r:   r‰   z9ConstDictVariable.unpack_var_sequence.<locals>.<listcomp>æ  s   € Ð)Ð)Ð)˜�”Ð)Ð)Ð)r<   r�   ©r`   rƒ   s     r:   Úunpack_var_sequencez%ConstDictVariable.unpack_var_sequenceâ  s,   € ð 	×*Ò*Ñ,Ô,Ð,Ø)Ð)˜dœjÐ)Ñ)Ô)Ð)r<   FÚreversec                 óð   — |r|| fn| |f\  }}t          |¦  «        rBt          |¦  «        r3|                     |dg i ¦  «        }|                     |d|gi ¦  «         |S t          j        t          ¦  «        S )Nr_   r×   )r;   r3  r*   r&  ÚNotImplemented)r`   rƒ   rÃ   r>  Úself_Úother_Únews          r:   Ú
nb_or_implzConstDictVariable.nb_or_implè  s†   € ð *1ÐC˜ ˜˜°t¸U°m‰ˆˆvÝ˜ÑÔð 	¥<°Ñ#7Ô#7ð 	Ø×#Ò# B¨°°BÑ7Ô7ˆCØ�OŠO˜B ¨6¨(°BÑ7Ô7Ð7ØˆJÝÔ&¥~Ñ6Ô6Ð6r<   c                 ó8   — |                       |d|gi ¦  «         | S ©Nr×   )r3  )r`   rƒ   rÃ   s      r:   Únb_inplace_or_implz$ConstDictVariable.nb_inplace_or_implö  s%   € ð 	×Ò˜˜X¨ w°Ñ3Ô3Ð3Øˆr<   c                 óú  •— |                       ¦   «         s#t          ¦   «                              |||¦  «        S t          |¦  «        st	          ||¦  «         |                      ¦   «          t          |¦  «        }|j        j         	                    | ¦  «         |€C|| j
        vr*t          t          ||                     ¦   «         g¬¦  «         d| _        | j
        |= n
|| j
        |<   t          j        d ¦  «        S )Nrä   T)r.  rY   Úmp_ass_subscript_implr,   r-   r�   r+   rþ   rÿ   r%  rF   r   r¨   r‚   rJ   r*   r&  )r`   rƒ   rR   rˆ   Úhkeyrb   s        €r:   rI  z'ConstDictVariable.mp_ass_subscript_implÿ  sö   ø€ ð �ŠÑ Ô ð 	AÝ‘7”7×0Ò0°°S¸%Ñ@Ô@Ð@õ ˜3ÑÔð 	&Ý˜S "Ñ%Ô%Ð%Ø×*Ò*Ñ,Ô,Ð,Ý˜sÑ#Ô#ˆØ
Œ	Ô×'Ò'¨Ñ-Ô-Ð-Øˆ=Ø˜4œ:Ð%Ð%Ý(­°2¸S×=SÒ=SÑ=UÔ=UÐ<VÐWÑWÔWÐWØ*.ˆDÔ'Ø”
˜4Ð Ð à$ˆDŒJ�tÑÝÔ& tÑ,Ô,Ð,r<   c                 óx   — |                       ¦   «          t          j        |t          | j        ¦  «        ¦  «        S )z Mapping length for dict objects.)r�   r)   rŠ   r¦   rF   r<  s     r:   Ú	mp_lengthzConstDictVariable.mp_length  s/   € à×*Ò*Ñ,Ô,Ð,ÝÔ$ R­¨T¬Z©¬Ñ9Ô9Ð9r<   c                 ór  ‡ — t          ˆ fd„t          t          j        t          j        fD ¦   «         ¦  «        rKt          ‰ j        |¦  «        rt          j        d¦  «        S ‰ j        t          u rt          j        d¦  «        S d‰ j        › d�}t          dd‰ j        › �|dgt          j        ¢¬	¦  «         d S )
Nc              3   ó*   •K  — | ]}‰j         |u V — Œd S r6   r“   )rM   rA   r`   s     €r:   rQ   z5ConstDictVariable.call_obj_hasattr.<locals>.<genexpr>"  s>   øè è € ð 
ð 
àð ŒM˜QÐð
ð 
ð 
ð 
ð 
ð 
r<   TFzhasattr on z is not supportedzunsupported hasattr operationzClass z+Consider using a regular dictionary insteadré   )rÁ   r9   rg   rh   ri   ÚhasattrrE   r*   r&  r   r
   ÚSUPPORTABLE)r`   rƒ   r  rï   s   `   r:   r2  z"ConstDictVariable.call_obj_hasattr  sè   ø€ õ
 ð 
ð 
ð 
ð 
å�KÔ3µ[Ô5LÐMð
ñ 
ô 
ñ 
ô 
ð 	6õ �t”} dÑ+Ô+ð 5Ý'Ô.¨tÑ4Ô4Ð4ØŒ}¥Ð$Ð$Ý'Ô.¨uÑ5Ô5Ð5à<˜DœMÐ<Ð<Ð<ˆÝØ3Ø,˜Tœ]Ð,Ð,Øà=ðå"Ô.ðð		
ñ 	
ô 	
ð 	
ð 	
ð 	
r<   c                 ó^   •— |                       ¦   «           t          ¦   «         j        di |¤ŽS )NrV   )r�   rY   rª   )r`   rG   rb   s     €r:   rª   zConstDictVariable.clone6  s1   ø€ Ø×*Ò*Ñ,Ô,Ð,Ø�u‰wŒwŒ}Ð&Ð&˜vÐ&Ð&Ð&r<   c                 ó   — dS ©NFrV   rs   s    r:   r,   zConstDictVariable.is_hashable:  ó   € Øˆur<   c                 óV   — ddl m}  ||d|                      ¦   «         › d�¦  «         d S ©Nr	   )r   r  r  ©Úexcr   r  ©r`   rƒ   r   s      r:   Ú	hash_implzConstDictVariable.hash_impl=  óE   € Ø*Ð*Ð*Ð*Ð*Ð*àÐ˜ÐL°$×2GÒ2GÑ2IÔ2IÐLÐLÐLÑMÔMÐMÐMÐMr<   Úopc                 óÚ  — ddl m} ddlm} |dvrt	          j        t          ¦  «        S t          |t          ¦  «        sGt          ||¦  «        r|j	        €t          d¦  «        ‚|j	        }nt	          j        t          ¦  «        S |                     |t          j        ¦  «                             || |gi ¦  «        }|dk    r(t          j        ||                     ¦   «          ¦  «        S |S )Nr#   ©ÚSourcelessBuilder)ÚUserDefinedDictVariable)Ú__eq__Ú__ne__zexpected _base_vt to be setrb  )Úbuilderr_  Úuser_definedr`  r*   r&  r@  rL   rD   Ú_base_vtr\   r   Údict___eq__Úcall_functionr)   rŠ   r‚   )r`   rƒ   rÃ   r\  r_  r`  Ú	eq_results          r:   Úrichcompare_implz"ConstDictVariable.richcompare_implB  s  € ð
 	/Ð.Ð.Ð.Ð.Ð.Ø9Ð9Ð9Ð9Ð9Ð9àÐ)Ð)Ð)Ý#Ô*­>Ñ:Ô:Ð:Ý˜%Õ!2Ñ3Ô3ð 	?õ ˜%Ð!8Ñ9Ô9ð ?Ø”>Ð)Ý(Ð)FÑGÔGÐGØœ��å'Ô.­~Ñ>Ô>Ð>Ø%×,Ò,¨RµÔ1FÑGÔG×UÒUØ��u�˜rñ
ô 
ˆ	ð �Š>ˆ>Ý"Ô(¨°×1MÒ1MÑ1OÔ1OÐ-OÑPÔPÐPØÐr<   c                 ó¢   •— |dk    r't          j        ||                      ¦   «         ¦  «        S t          ¦   «                              ||¦  «        S )Nrb   )r)   rŠ   r8   rY   Úvar_getattr©r`   rƒ   r  rb   s      €r:   rk  zConstDictVariable.var_getattr_  sG   ø€ Ø�;ÒÐÝ"Ô(¨¨T×-=Ò-=Ñ-?Ô-?Ñ@Ô@Ð@Ý‰wŒw×"Ò" 2 tÑ,Ô,Ð,r<   ©rÇ   r0   r4   N©r4   N©F);Ú__name__Ú
__module__Ú__qualname__r9   Ú_cpython_typer   ÚDICT_CONTAINSr  ÚDICT_NOT_CONTAINSr  r)   Ú_nonvar_fieldsr•   r   rZ   r]   ro   Ústrr~   r‚   rŒ   r‘   r8   Úboolr—   r*  r¯   rô   r·   Úintr¦   rÂ   r¿   rÏ   rß   râ   ræ   rð   rò   rù   r�   r  r  r  r  r3  r=  rD  rG  rI  rL  r*   r2  rª   r,   rZ  ri  rk  Ú__classcell__©rb   s   @r:   rD   rD   _   s(  ø€ € € € € à€Mà!Ô/€NØ%Ô7Ðð 	ðà	Ô	'ð€Nð ð)!ð )!à�O _Ð4Ô5ð)!ð ð)!ð ð	)!ð
 
ð)!ð )!ð )!ð )!ð )!ð )!ðV°Dð ¸Tð ð ð ð ð(N˜$˜s C˜xœ.ð Nð Nð Nð Nð,˜Cð ,ð ,ð ,ð ,ð
 D¨¨c¨¤Nð 
ð 
ð 
ð 
ðGÐ7ð G¸Oð Gð Gð Gð GðM¨¨c°?Ð.BÔ)Cð Mð Mð Mð Mð˜Tð ð ð ð ð
˜ð 
°4ð 
ð 
ð 
ð 
ð0
à'ð0
ð ,ð0
ð  ð	0
ð
 �?Ô#ð0
ð ˜c ?Ð2Ô3ð0
ð 
ð0
ð 0
ð 0
ð 0
ðd4
à'ð4
ð ,ð4
ð  ð	4
ð
 �?Ô#ð4
ð ˜c ?Ð2Ô3ð4
ð �s˜C�x”ð4
ð 
ð4
ð 4
ð 4
ð 4
ðl
�Sð 
ð 
ð 
ð 
ð

˜tð 
ð 
ð 
ð 
ð&Ø$ tÑ+ð&Ø4Cð&à	ð&ð &ð &ð &ð
Mð 
Mð 
Mð 
Mð-<ð -<ð -<ð -<ð^I¨Sð Ið Ið Ið IðØ-ðØ4Cðà	ðð ð ð ðØ-ðØ4Cðà	ðð ð ð ð" ð ¸?ÈTÑ;Qð ð ð ð ð& /ð &°dð &ð &ð &ð &ðIð Ið Ið Ið(5Ø-ð(5Ø59¸/Ô5Jð(5à	ð(5ð (5ð (5ð (5ðTEà'ðEð ðEð 
ð	Eð Eð Eð Eð3Ø-ð3Ø5Dð3à	ð3ð 3ð 3ð 3ð/Ð:ð /¸ð /ð /ð /ð /ðZ?à'ðZ?ð ðZ?ð �?Ô#ð	Z?ð
 �S˜/Ð)Ô*ðZ?ð 
ðZ?ð Z?ð Z?ð Z?ð Z?ð Z?ðx*Ø-ð*à	ˆoÔ	ð*ð *ð *ð *ð ð	7ð 7àð7ð ð7ð ð	7ð
 
ð7ð 7ð 7ð 7ðàðð ðð 
ð	ð ð ð ð-à'ð-ð ð-ð  Ñ%ð	-ð
 
ð-ð -ð -ð -ð -ð -ð2:Ð7ð :¸Oð :ð :ð :ð :ð

Ø-ð
Ø58ð
à	ð
ð 
ð 
ð 
ð2'˜cð ' oð 'ð 'ð 'ð 'ð 'ð 'ð˜Tð ð ð ð ðNÐ7ð N¸EÀ#ÀtÀ)Ô<Lð Nð Nð Nð Nð
Ø-ðØ6EðØKNðà	ðð ð ð ð:-Ð9ð -Àð -ð -ð -ð -ð -ð -ð -ð -ð -ð -r<   rD   c            
       óB  ‡ — e Zd Zej        Zdededdfˆ fd„Zde	fd„Z
dddeeef         fd	„Zdddee         fd
„Zdd„Zdd„Zdddedefd„Zdddedee         deeef         def
d„Zdddefd„Zdddedefd„Zdddefd„Zdddededefd„Zdddedefˆ fd„Zˆ xZS )r1  Údv_dictrG   r4   Nc                 ó°   •—  t          ¦   «         j        di |¤Ž t          |t          ¦  «        st	          dt          |¦  «        › �¦  «        ‚|| _        d S )Nú Expected ConstDictVariable, got rV   )rY   rZ   rL   rD   r\   r•   r}  ©r`   r}  rG   rb   s      €r:   rZ   zMappingProxyVariable.__init__j  s\   ø€ Ø�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"Ý˜'Õ#4Ñ5Ô5ð 	UÝ Ð!SÅDÈÁMÄMÐ!SÐ!SÑTÔTÐTØˆŒˆˆr<   c                 ó   — t           j        S r6   )ÚtypesÚMappingProxyTypers   s    r:   r8   z MappingProxyVariable.python_typep  s   € ÝÔ%Ð%r<   rƒ   r1   c                 ó6   — | j                              |¦  «        S r6   )r}  rZ  r<  s     r:   rZ  zMappingProxyVariable.hash_impls  s   € ð Œ|×%Ò% bÑ)Ô)Ð)r<   c                 ó6   — | j                              |¦  «        S r6   )r}  r=  r<  s     r:   r=  z(MappingProxyVariable.unpack_var_sequencex  s   € ð Œ|×/Ò/°Ñ3Ô3Ð3r<   rÇ   r0   c                 ó  ‡— | j         r3d| j         › d�}t          dd| j         › �|dgt          j        ¢¬¦  «         ‰                     ˆfd„¦  «          ‰| j        ¦  «         ‰                     t          dd	¦  «        ¦  «         d S )
Nz*Preexisting MappingProxyVariable (source: zS) cannot be reconstructed because the connection to the original dict will be lost.z%mapping proxy cannot be reconstructedúSource: zCUse a mapping proxy constructed in the same `torch.compile` region.ré   c                  óˆ   •— ‰                       ‰                      t          ¦  «        ‰                      d¦  «        g¦  «        S )Nrƒ  )rÒ   rÓ   r‚  rÔ   rÕ   s   €r:   rÖ   z2MappingProxyVariable.reconstruct.<locals>.<lambda>Ž  s?   ø€ �G×)Ò)à×5Ò5µeÑ<Ô<Ø×,Ò,Ð-?Ñ@Ô@ðñô € r<   r#   F)r^   r   r
   rP  rÚ   r}  rÒ   r   )r`   rÇ   rï   s    ` r:   rß   z MappingProxyVariable.reconstruct}  sÔ   ø€ àŒ;ð 	ðL¸T¼[ð Lð Lð Lð õ Ø?Ø0 4¤;Ð0Ð0ØàYðå&Ô2ðð	ñ ô ð ð 	×Òðð ð ð ñ	
ô 	
ð 	
ð 	ˆ�”ÑÔÐØ×ÒÕ2°1°eÑ<Ô<Ñ=Ô=Ð=Ð=Ð=r<   c                 ó˜   — | j         r@|j        j                             ¦   «         r$d}t	          dd| j         › d�|ddg¬¦  «         d S d S d S )Na°  A dict has been modified while we have an existing mappingproxy object. A mapping proxy object, as the name suggest, proxies a mapping object (usually a dict). If the original dict object mutates, it is reflected in the proxy object as well. For an existing proxy object, we do not know the original dict it points to. Therefore, for correctness we graph break when there is dict mutation and we are trying to access a proxy object.z-mapping proxy affected by dictionary mutationr‡  z, Dict mutation detectedzNAvoid modifying dictionaries that might be referenced by mapping proxy objectszROr avoid using the mapping proxy objects after modifying its underlying dictionaryré   )r^   rþ   rÿ   Úhas_existing_dict_mutationr   )r`   rƒ   rï   s      r:   Ú_check_mutation_guardz*MappingProxyVariable._check_mutation_guard˜  s†   € ØŒ;ð 	˜2œ9Ô1×LÒLÑNÔNð 	ð7ð õ ØGØH 4¤;ÐHÐHÐHØàdØhðð	ñ ô ð ð ð ð	ð 	ð 	ð 	r<   rR   c                 ób   — |                       |¦  «         | j                             ||¦  «        S r6   )r‹  r}  r  r
  s      r:   r  z&MappingProxyVariable.mp_subscript_impl®  s0   € ð 	×"Ò" 2Ñ&Ô&Ð&ØŒ|×-Ò-¨b°#Ñ6Ô6Ð6r<   r  rå   c                 óf   — |                       |¦  «         | j                             ||||¦  «        S r6   )r‹  r}  r3  )r`   rƒ   r  rå   rG   s        r:   r3  z MappingProxyVariable.call_method¸  s4   € ð 	×"Ò" 2Ñ&Ô&Ð&ØŒ|×'Ò'¨¨D°$¸Ñ?Ô?Ð?r<   c                 ó6   — | j                              |¦  «        S r6   )r}  r  r<  s     r:   r  z!MappingProxyVariable.tp_iter_implÂ  s   € ØŒ|×(Ò(¨Ñ,Ô,Ð,r<   rÎ   c                 ó8   — | j                              ||¦  «        S r6   ©r}  r  ©r`   rƒ   rÎ   s      r:   r  z MappingProxyVariable.sq_containsÅ  ó   € ð Œ|×'Ò'¨¨DÑ1Ô1Ð1r<   c                 ó6   — | j                              |¦  «        S r6   )r}  rL  r<  s     r:   rL  zMappingProxyVariable.mp_lengthË  s   € ØŒ|×%Ò% bÑ)Ô)Ð)r<   rÃ   r\  c                 ó4   — ddl m}  ||| j        ||¦  «        S )Nr#   )Úgeneric_richcompare)Úobject_protocolr•  r}  )r`   rƒ   rÃ   r\  r•  s        r:   ri  z%MappingProxyVariable.richcompare_implÎ  s/   € ð
 	9Ð8Ð8Ð8Ð8Ð8à"Ð" 2 t¤|°U¸BÑ?Ô?Ð?r<   c                 óÔ   •— |                       ¦   «         t          j        u r&t          j        ||t          j        j        v ¦  «        S t          ¦   «                              ||¦  «        S r6   )r8   r‚  rƒ  r)   rŠ   Ú__dict__rY   r2  rl  s      €r:   r2  z%MappingProxyVariable.call_obj_hasattr×  sW   ø€ ð ×ÒÑÔ¥Ô!7Ð7Ð7Ý"Ô(¨¨TµUÔ5KÔ5TÐ-TÑUÔUÐUÝ‰wŒw×'Ò'¨¨DÑ1Ô1Ð1r<   rm  )rƒ   r1   r4   N)rp  rq  rr  r‚  rƒ  rs  rD   r   rZ   r•   r8   rô   ry  rx  rZ  r*  r)   r=  rß   r‹  r  rw  r9   r3  r  r  rL  ri  r*   r2  rz  r{  s   @r:   r1  r1  e  sc  ø€ € € € € àÔ*€MðÐ 1ð ¸Sð ÀTð ð ð ð ð ð ð&˜Tð &ð &ð &ð &ð*Ð7ð *¸EÀ#ÀtÀ)Ô<Lð *ð *ð *ð *ð
4Ø-ð4à	ˆoÔ	ð4ð 4ð 4ð 4ð
>ð >ð >ð >ð6ð ð ð ð,7à'ð7ð ð7ð 
ð	7ð 7ð 7ð 7ð@à'ð@ð ð@ð �?Ô#ð	@ð
 �S˜/Ð)Ô*ð@ð 
ð@ð @ð @ð @ð-Ð:ð -¸ð -ð -ð -ð -ð2Ø-ð2Ø5Dð2à	ð2ð 2ð 2ð 2ð*Ð7ð *¸Oð *ð *ð *ð *ð@Ø-ð@Ø6Eð@ØKNð@à	ð@ð @ð @ð @ð2Ø-ð2Ø58ð2à	ð2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2r<   r1  c                   ó6   — e Zd Zdd„Zdddee         ddfd„ZdS )	ÚNNModuleHooksDictVariabler4   Nc                 ó   — d S r6   rV   rs   s    r:   r�   z7NNModuleHooksDictVariable.install_dict_keys_match_guardá  ó   € Øˆr<   rƒ   r1   rå   c                 ó   — d S r6   rV   ©r`   rƒ   rå   s      r:   r  z5NNModuleHooksDictVariable.install_dict_contains_guardä  ó	   € ð 	ˆr<   rn  )rp  rq  rr  r�   r*  r)   r  rV   r<   r:   rš  rš  ß  sY   € € € € € ðð ð ð ðØ-ðØ59¸/Ô5Jðà	ðð ð ð ð ð r<   rš  c            
       óº  ‡ — e Zd ZU dZdZedz  ed<   dededdfˆ fd„Z	e
defd„¦   «         Zdefd	„Zd
ddeeef         fd„Ze
dee         fd„¦   «         Zd
ddee         fd„Zdd„Zd
ddedefd„Zd
ddefd„Zd
ddedee         deeef         def
ˆ fd„Zd
ddefd„Z	 d d
ddededefd„Z	 d d
ddededefd„Z	 d d
ddededefd„Z	 d d
ddededefd„Zˆ xZ S )!ÚDictViewVariablezu
    Models _PyDictViewObject

    This is an "abstract" class. Subclasses will override kv and the items method
    NÚkvr}  rG   r4   c                 óð   •—  t          ¦   «         j        di |¤Ž | j        dvrt          d| j        ›�¦  «        ‚t	          |t
          ¦  «        st          dt          |¦  «        › �¦  «        ‚|| _        d S )N)rõ   r¼   rF   z4Expected kv to be 'keys', 'values', or 'items', got r  rV   )rY   rZ   r¢  r\   rL   rD   r•   r}  r€  s      €r:   rZ   zDictViewVariable.__init__ó  s‹   ø€ Ø�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"ØŒ7Ð5Ð5Ð5Ý ØRÀtÄwÐRÐRñô ð õ ˜'Õ#4Ñ5Ô5ð 	UÝ Ð!SÅDÈÁMÄMÐ!SÐ!SÑTÔTÐTØˆŒˆˆr<   c                 ó|   — | j         €t          d¦  «        ‚ t          | j        j        | j         ¦  «        ¦   «         S )Nzkv must not be None)r¢  r\   Úgetattrr}  rF   rs   s    r:   Ú
view_itemszDictViewVariable.view_itemsý  s7   € àŒ7ˆ?Ý Ð!6Ñ7Ô7Ð7Ø3�w�t”|Ô)¨4¬7Ñ3Ô3Ñ5Ô5Ð5r<   c                 ó   — dS rS  rV   rs   s    r:   r,   zDictViewVariable.is_hashable  rT  r<   rƒ   r1   c                 óV   — ddl m}  ||d|                      ¦   «         › d�¦  «         d S rV  rW  rY  s      r:   rZ  zDictViewVariable.hash_impl  r[  r<   c                 ó   — t           ‚r6   )r>   rs   s    r:   Úview_items_vtzDictViewVariable.view_items_vt  s
   € õ "Ð!r<   c                 ó   — | j         S r6   )rª  r<  s     r:   r=  z$DictViewVariable.unpack_var_sequence  s   € ð Ô!Ð!r<   rÇ   r0   c                 ó°   — | j         €t          d¦  «        ‚ || j        ¦  «         |                     | j         ¦  «         |                     d¦  «         d S )Nz#kv must not be None for reconstructr   )r¢  r\   r}  rÝ   r3  rÞ   s     r:   rß   zDictViewVariable.reconstruct  sZ   € ØŒ7ˆ?Ý Ð!FÑGÔGÐGØˆ�”ÑÔÐØ×Ò˜DœGÑ$Ô$Ð$Ø×Ò˜AÑÔÐÐÐr<   r  c                 ó´   — | j         €t          d¦  «        ‚||                      ¦   «         j        v rt	          j        d¦  «        S t	          j        d¦  «        S )Nz(kv must not be None for call_obj_hasattrTF)r¢  r\   r8   r˜  r*   r&  )r`   rƒ   r  s      r:   r2  z!DictViewVariable.call_obj_hasattr  sV   € ð Œ7ˆ?Ý Ð!KÑLÔLÐLØ�4×#Ò#Ñ%Ô%Ô.Ð.Ð.Ý#Ô*¨4Ñ0Ô0Ð0ÝÔ& uÑ-Ô-Ð-r<   c                 óª  ‡— | j         dk    r?d                     ˆfd„| j        D ¦   «         ¦  «        }t          j        ‰d|› d�¦  «        S | j         dk    r?d                     ˆfd„| j        D ¦   «         ¦  «        }t          j        ‰d|› d�¦  «        S d                     ˆfd	„| j        D ¦   «         ¦  «        }t          j        ‰d
|› d�¦  «        S )Nrõ   rw   c              3   óB   •K  — | ]}t          ‰|j        ¦  «        V — Œd S r6   r†   )rM   rR   rƒ   s     €r:   rQ   z-DictViewVariable.repr_impl.<locals>.<genexpr>(  s/   øè è € ÐRÐR¸3�l¨2¨s¬vÑ6Ô6ÐRÐRÐRÐRÐRÐRr<   údict_keys([ú])r¼   c              3   ó8   •K  — | ]}t          ‰|¦  «        V — Œd S r6   )r!   )rM   rˆ   rƒ   s     €r:   rQ   z-DictViewVariable.repr_impl.<locals>.<genexpr>+  s-   øè è € ÐSÐS¸%�l¨2¨uÑ5Ô5ÐSÐSÐSÐSÐSÐSr<   údict_values([c              3   ór   •K  — | ]1\  }}d t          ‰|j        ¦  «        › dt          ‰|¦  «        › d�V — Œ2dS )ú(rw   ú)Nr†   r‡   s      €r:   rQ   z-DictViewVariable.repr_impl.<locals>.<genexpr>-  se   øè è € ð 
ð 
á��Uð G•˜R ¤Ñ(Ô(ÐFÐF­L¸¸UÑ,CÔ,CÐFÐFÐFð
ð 
ð 
ð 
ð 
ð 
r<   údict_items([)r¢  rz   r¦  r)   rŠ   r‹   s    ` r:   rŒ   zDictViewVariable.repr_impl&  s  ø€ ØŒ7�fÒÐØ—I’IÐRÐRÐRÐRÀ$Ä/ÐRÑRÔRÑRÔRˆEÝ"Ô(¨Ð-D¸5Ð-DÐ-DÐ-DÑEÔEÐEØŒ7�hÒÐØ—I’IÐSÐSÐSÐSÀ4Ä?ÐSÑSÔSÑSÔSˆEÝ"Ô(¨Ð-F¸UÐ-FÐ-FÐ-FÑGÔGÐGØ—	’	ð 
ð 
ð 
ð 
à"œoð
ñ 
ô 
ñ 
ô 
ˆõ Ô$ RÐ)A¸Ð)AÐ)AÐ)AÑBÔBÐBr<   rå   c           
      óâ  •— |dk    rÅ|s|r2t          ||dt          |¦  «        › dt          |¦  «        › d�¦  «         | j        j        rBt	          | j        j        ¦  «        s)|j        j                             | j        j        ¦  «         t          j	        t          t          | j        ¦  «        ¦  «        t          ¦   «         ¬¦  «        S t          ¦   «                              ||||¦  «        S )Nr  r  r  r  r  )r    r¦   r}  r^   r   rþ   r  r  r   r+  r*  r)  rª  r(   rY   r3  ©r`   rƒ   r  rå   rG   rb   s        €r:   r3  zDictViewVariable.call_method3  s÷   ø€ ð �>Ò!Ð!àð �vð Ý#ØØØ)Ý˜4‘y”yÐ@Ð@­C°©K¬KÐ@Ð@Ð@ñ	ô ð ð Œ|Ô"ð FÕ+=¸d¼lÔ>QÑ+RÔ+Rð FØ”	Ô,×0Ò0°´Ô1DÑEÔEÐEÝÔ1Ý•X˜dÔ0Ñ1Ô1Ñ2Ô2Ý.Ñ0Ô0ðñ ô ð õ ‰wŒw×"Ò" 2 t¨T°6Ñ:Ô:Ð:r<   c                 óP   — t          j        |t          | j        ¦  «        ¦  «        S )z&Sequence length for dict view objects.)r)   rŠ   r¦   r¦  r<  s     r:   Ú	sq_lengthzDictViewVariable.sq_lengthK  s   € åÔ$ R­¨T¬_Ñ)=Ô)=Ñ>Ô>Ð>r<   FrÃ   r>  c                 ó˜   — t          j        |t          ¦  «                             || gi ¦  «        }|                     |d|gi ¦  «         |S rF  ©r)   rŠ   r?   rg  r3  ©r`   rƒ   rÃ   r>  Úss        r:   rD  zDictViewVariable.nb_or_implO  sI   € õ Ô! "¥cÑ*Ô*×8Ò8¸¸d¸VÀRÑHÔHˆØ	�Š�b˜( U G¨RÑ0Ô0Ð0Øˆr<   c                 ó²   — |r|| fn| |f\  }}t          j        |t          ¦  «                             ||gi ¦  «        }|                     |d|gi ¦  «         |S )NÚdifference_updater½  )r`   rƒ   rÃ   r>  rA  rB  r¿  s          r:   Únb_subtract_implz!DictViewVariable.nb_subtract_implZ  sd   € ð *1ÐC˜ ˜˜°t¸U°m‰ˆˆvÝÔ! "¥cÑ*Ô*×8Ò8¸¸e¸WÀbÑIÔIˆØ	�Š�bÐ-°¨x¸Ñ<Ô<Ð<Øˆr<   c                 ó˜   — t          j        |t          ¦  «                             || gi ¦  «        }|                     |d|gi ¦  «         |S )NÚintersection_updater½  r¾  s        r:   Únb_and_implzDictViewVariable.nb_and_implf  sJ   € õ Ô! "¥cÑ*Ô*×8Ò8¸¸d¸VÀRÑHÔHˆØ	�Š�bÐ/°%°¸"Ñ=Ô=Ð=Øˆr<   c                 ó˜   — t          j        |t          ¦  «                             || gi ¦  «        }|                     |d|gi ¦  «         |S )NÚsymmetric_difference_updater½  r¾  s        r:   Únb_xor_implzDictViewVariable.nb_xor_implq  sJ   € õ Ô! "¥cÑ*Ô*×8Ò8¸¸d¸VÀRÑHÔHˆØ	�Š�bÐ7¸%¸À"ÑEÔEÐEØˆr<   rm  ro  )!rp  rq  rr  Ú__doc__r¢  rw  Ú__annotations__rD   r   rZ   Úpropertyr¦  rx  r,   rô   ry  rZ  r*  r)   rª  r=  rß   r*   r2  rŒ   r9   r3  r»  rD  rÂ  rÅ  rÈ  rz  r{  s   @r:   r¡  r¡  ê  s7  ø€ € € € € € ðð ð €Bˆˆd‰
ÐÐÑðÐ 1ð ¸Sð ÀTð ð ð ð ð ð ð ð6˜Cð 6ð 6ð 6ñ „Xð6ð
˜Tð ð ð ð ðNÐ7ð N¸EÀ#ÀtÀ)Ô<Lð Nð Nð Nð Nð
 ð"˜t OÔ4ð "ð "ð "ñ „Xð"ð
"Ø-ð"à	ˆoÔ	ð"ð "ð "ð "ð
ð ð ð ð.Ø-ð.Ø58ð.à	ð.ð .ð .ð .ðCÐ7ð C¸Oð Cð Cð Cð Cð;à'ð;ð ð;ð �?Ô#ð	;ð
 �S˜/Ð)Ô*ð;ð 
ð;ð ;ð ;ð ;ð ;ð ;ð0?Ð7ð ?¸Oð ?ð ?ð ?ð ?ð ð		ð 	à'ð	ð ð	ð ð		ð
 
ð	ð 	ð 	ð 	ð ð	
ð 
à'ð
ð ð
ð ð	
ð
 
ð
ð 
ð 
ð 
ð  ð		ð 	à'ð	ð ð	ð ð		ð
 
ð	ð 	ð 	ð 	ð ð		ð 	à'ð	ð ð	ð ð		ð
 
ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	r<   r¡  c            
       óü   ‡ — e Zd ZeZdZedee         fd„¦   «         Z	ede
e         fd„¦   «         Zdefd„Zdddefd„Zdefd	„Zddd
edefd„Zdddededefd„Zdddede
e         deeef         def
ˆ fd„Zˆ xZS )r(  rõ   r4   c                 ó*   — t          | j        ¦  «        S r6   )r?   r¦  rs   s    r:   Ú	set_itemszDictKeysVariable.set_itemsƒ  s   € å�4”?Ñ#Ô#Ð#r<   c                 ó$   — d„ | j         D ¦   «         S )Nc                 ó   — g | ]	}|j         ‘Œ
S rV   rž   rº   s     r:   r‰   z2DictKeysVariable.view_items_vt.<locals>.<listcomp>Š  s   € Ð.Ð.Ð.˜�”Ð.Ð.Ð.r<   ©r¦  rs   s    r:   rª  zDictKeysVariable.view_items_vt‡  s   € ð /Ð.˜dœoÐ.Ñ.Ô.Ð.r<   c                 ó   — t           S r6   )r   rs   s    r:   r8   zDictKeysVariable.python_typeŒ  s   € ÝÐr<   rƒ   r1   c                 óÔ   — ddl m} | j        j        rBt	          | j        j        ¦  «        s)|j        j                             | j        j        ¦  «          || j        j        ¦  «        S )Nr#   )ÚDictKeysIterator)	r  rÔ  r}  r^   r   rþ   r  r  rF   )r`   rƒ   rÔ  s      r:   r  zDictKeysVariable.tp_iter_impl�  sl   € Ø*Ð*Ð*Ð*Ð*Ð*àŒ<Ôð 	BÕ'9¸$¼,Ô:MÑ'NÔ'Nð 	BØŒIÔ(×,Ò,¨T¬\Ô-@ÑAÔAÐAØÐ ¤Ô 2Ñ3Ô3Ð3r<   c                 ó´   — | j         sdS g }| j         D ]+}t          |j        ¦  «        }|                     |¦  «         Œ,dd                     |¦  «        z   dz   S )Nzdict_keys([])r°  rw   r±  ©r¦  r   rn   ry   rz   )r`   rF   rq   r|   s       r:   r~   zDictKeysVariable.debug_repr–  sg   € ØŒð 	;Ø"�?à!ˆEØ”_ð &ð &�Ý*¨1¬4Ñ0Ô0�Ø—’˜WÑ%Ô%Ð%Ð%Ø  4§9¢9¨UÑ#3Ô#3Ñ3°dÑ:Ð:r<   rÎ   c                 ó8   — | j                              ||¦  «        S r6   r�  r‘  s      r:   r  zDictKeysVariable.sq_contains   r’  r<   rÃ   r\  c                 ó  — ddl m} t          |¦  «        st          j        t
          ¦  «        S |                     |t          j        ¦  «                             ||                     |t          |         ¦  «        | |gi ¦  «        S ©Nr#   r^  ©
rc  r_  rB   r*   r&  r@  r   Údictview_richcomparerg  r   ©r`   rƒ   rÃ   r\  r_  s        r:   ri  z!DictKeysVariable.richcompare_impl¦  ó’   € ð 	/Ð.Ð.Ð.Ð.Ð.å" 5Ñ)Ô)ð 	;Ý#Ô*­>Ñ:Ô:Ð:Ø ×'Ò'Ø•	Ô.ñ
ô 
ç
Š-Øà!×(Ò(¨Õ-CÀBÔ-GÑHÔHØØðð
 ñ
ô 
ð
	
r<   r  rå   rG   c                 óÈ   •— |dv r:t          | j        |¦  «        } ||d         j        ¦  «        }t          |¦  «        S t          ¦   «                              ||||¦  «        S ©N)Ú__and__Ú__iand__Ú__xor__Ú__ixor__r   ©r¥  rÎ  r/   rY   r3  )r`   rƒ   r  rå   rG   ÚmÚrrb   s          €r:   r3  zDictKeysVariable.call_method¾  sj   ø€ ð ð 
ð 
ð 
õ ˜œ¨Ñ-Ô-ˆAØ��$�q”'Ô#Ñ$Ô$ˆAÝ˜q‘>”>Ð!Ý‰wŒw×"Ò" 2 t¨T°6Ñ:Ô:Ð:r<   )rp  rq  rr  r   rs  r¢  rË  r?   r)   rÎ  r*  rª  r•   r8   r  rw  r~   r  ri  r9   r3  rz  r{  s   @r:   r(  r(  }  s•  ø€ € € € € à€Mà	€Bàð$˜3˜Ô/ð $ð $ð $ñ „Xð$ð ð/˜t OÔ4ð /ð /ð /ñ „Xð/ð˜Tð ð ð ð ð4Ð:ð 4¸ð 4ð 4ð 4ð 4ð;˜Cð ;ð ;ð ;ð ;ð2Ø-ð2Ø5Dð2à	ð2ð 2ð 2ð 2ð
Ø-ð
Ø6Eð
ØKNð
à	ð
ð 
ð 
ð 
ð0;à'ð;ð ð;ð �?Ô#ð	;ð
 �S˜/Ð)Ô*ð;ð 
ð;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;r<   r(  c                   óÔ   ‡ — e Zd ZeZdZdZdZdZdZ	dZ
dZdZdZdefd„Zdddeeef         fˆ fd„Zedee         fd„¦   «         Zdefd	„Zdddefd
„Zdddededefd„Zdefd„Zˆ xZS )r-  r¼   Nr4   c                 ó   — dS )NTrV   rs   s    r:   r,   zDictValuesVariable.is_hashableð  s   € Øˆtr<   rƒ   r1   c                 óT   •— t          t          | ¦  «                             |¦  «        S r6   )rY   r¡  rZ  )r`   rƒ   rb   s     €r:   rZ  zDictValuesVariable.hash_impló  s"   ø€ ÝÕ% tÑ,Ô,×6Ò6°rÑ:Ô:Ð:r<   c                 ó*   — t          | j        ¦  «        S r6   )r*  r¦  rs   s    r:   rª  z DictValuesVariable.view_items_vtö  s   € å�D”OÑ$Ô$Ð$r<   c                 ó   — t           S r6   )r   rs   s    r:   r8   zDictValuesVariable.python_typeú  s   € ÝÐr<   c                 óÔ   — ddl m} | j        j        rBt	          | j        j        ¦  «        s)|j        j                             | j        j        ¦  «          || j        j        ¦  «        S )Nr#   )ÚDictValuesIterator)	r  rí  r}  r^   r   rþ   r  r  rF   )r`   rƒ   rí  s      r:   r  zDictValuesVariable.tp_iter_implý  sl   € Ø,Ð,Ð,Ð,Ð,Ð,àŒ<Ôð 	BÕ'9¸$¼,Ô:MÑ'NÔ'Nð 	BØŒIÔ(×,Ò,¨T¬\Ô-@ÑAÔAÐAØ!Ð! $¤,Ô"4Ñ5Ô5Ð5r<   rÃ   r\  c                 ó*   — ddl m}  || |||¦  «        S )Nr#   )Úobject_richcompare)r–  rï  )r`   rƒ   rÃ   r\  rï  s        r:   ri  z#DictValuesVariable.richcompare_impl  s-   € ð 	8Ð7Ð7Ð7Ð7Ð7à!Ð! $¨¨E°2Ñ6Ô6Ð6r<   c                 óª   — | j         sdS g }| j         D ]&}t          |¦  «        }|                     |¦  «         Œ'dd                     |¦  «        z   dz   S )Nzdict_values([])r³  rw   r±  )r¦  r   ry   rz   )r`   rF   rO   r}   s       r:   r~   zDictValuesVariable.debug_repr  sf   € ØŒð 	=Ø$Ð$à!ˆEØ”_ð &ð &�Ý*¨1Ñ-Ô-�Ø—’˜WÑ%Ô%Ð%Ð%Ø" T§Y¢Y¨uÑ%5Ô%5Ñ5¸Ñ<Ð<r<   )rp  rq  rr  r   rs  r¢  rD  rG  rÂ  Únb_inplace_subtract_implrÅ  Únb_inplace_and_implrÈ  Únb_inplace_xor_implrx  r,   rô   ry  rZ  rË  r*  r)   rª  r•   r8   r  rw  ri  r~   rz  r{  s   @r:   r-  r-  Ò  sd  ø€ € € € € à€Mð  
€Bð €JØÐØÐØ#ÐØ€KØÐØ€KØÐð˜Tð ð ð ð ð;Ð7ð ;¸EÀ#ÀtÀ)Ô<Lð ;ð ;ð ;ð ;ð ;ð ;ð ð%˜t OÔ4ð %ð %ð %ñ „Xð%ð˜Tð ð ð ð ð6Ð:ð 6¸ð 6ð 6ð 6ð 6ð7Ø-ð7Ø6Eð7ØKNð7à	ð7ð 7ð 7ð 7ð=˜Cð =ð =ð =ð =ð =ð =ð =ð =r<   r-  c            
       óü   ‡ — e Zd ZeZdZeded         fd„¦   «         Zede	e
         fd„¦   «         Zdefd„Zdefd„Zdd	d
e
de
fd„Zdd	de
dede
fd„Zdd	de
fd„Zdd	dede	e
         deee
f         de
f
ˆ fd„Zˆ xZS )r'  rF   r4   r+   c                 ó$   — d„ | j         D ¦   «         S )Nc                 ód   — h | ]-\  }}t          t          j        |j        |g¦  «        ¦  «        ’Œ.S rV   )r+   r   r/  rn   rp   s      r:   ú	<setcomp>z.DictItemsVariable.set_items.<locals>.<setcomp>  sE   € ð 
ð 
ð 
á��1õ �IÔ3°Q´T¸1°IÑ>Ô>Ñ?Ô?ð
ð 
ð 
r<   rÑ  rs   s    r:   rÎ  zDictItemsVariable.set_items  s%   € ð
ð 
àœð
ñ 
ô 
ð 	
r<   c                 ó$   — d„ | j         D ¦   «         S )Nc                 óJ   — g | ] \  }}t          j        |j        |g¦  «        ‘Œ!S rV   )r   r/  rn   rp   s      r:   r‰   z3DictItemsVariable.view_items_vt.<locals>.<listcomp>'  s-   € ÐOÐOÐO±t°q¸!•	Ô'¨¬¨q¨	Ñ2Ô2ÐOÐOÐOr<   rÑ  rs   s    r:   rª  zDictItemsVariable.view_items_vt$  s   € ð PÐO¸t¼ÐOÑOÔOÐOr<   c                 ó   — t           S r6   )r   rs   s    r:   r8   zDictItemsVariable.python_type)  s   € ÝÐr<   c                 óæ   — | j         sdS g }| j         D ]D\  }}t          |j        ¦  «        }t          |¦  «        }|                     d|› d|› d�¦  «         ŒEdd                     |¦  «        z   dz   S )Nzdict_items([])rµ  rw   r¶  r·  r±  rÖ  r{   s         r:   r~   zDictItemsVariable.debug_repr,  s�   € ØŒð 	<Ø#Ð#à!ˆEØœð 8ð 8‘��1Ý*¨1¬4Ñ0Ô0�Ý*¨1Ñ-Ô-�Ø—’Ð6 Ð6Ð6¨GÐ6Ð6Ð6Ñ7Ô7Ð7Ð7Ø! D§I¢I¨eÑ$4Ô$4Ñ4°tÑ;Ð;r<   rƒ   r1   rÎ   c                 óì  — ddl m} t          |¦  «        s&t          |d|                     ¦   «         › d�¦  «         t          |t          j        ¦  «        rŽt          |j	        ¦  «        dk    rv|j	        \  }}t          |¦  «        }|| j        j	        vrt          j        |d¦  «        S | j        j	        |         }t          j        ||                     |¦  «        ¦  «        S  || j        ||¦  «        S )Nr	   )Úiter_containsr  r  F)Úutilsrý  r,   r   r  rL   r   r/  r¦   rF   r+   r}  r)   rŠ   Úis_python_equalrª  )r`   rƒ   rÎ   rý  rR   ÚvalÚkey_htÚstoreds           r:   r  zDictItemsVariable.sq_contains7  sû   € ð 	*Ð)Ð)Ð)Ð)Ð)å˜4Ñ Ô ð 	RÝ˜RÐ!P°d×6KÒ6KÑ6MÔ6MÐ!PÐ!PÐ!PÑQÔQÐQõ �d�IÔ3Ñ4Ô4ð 	J½¸T¼Z¹¼ÈAÒ9MÐ9MØ”z‰HˆC�Ý$ SÑ)Ô)ˆFØ˜Tœ\Ô/Ð/Ð/Ý&Ô,¨R°Ñ7Ô7Ð7Ø”\Ô'¨Ô/ˆFÝ"Ô(¨¨S×-@Ò-@ÀÑ-HÔ-HÑIÔIÐIàˆ}˜TÔ/°°rÑ:Ô:Ð:r<   rÃ   r\  c                 ó  — ddl m} t          |¦  «        st          j        t
          ¦  «        S |                     |t          j        ¦  «                             ||                     |t          |         ¦  «        | |gi ¦  «        S rÙ  rÚ  rÜ  s        r:   ri  z"DictItemsVariable.richcompare_implK  rÝ  r<   c                 óÔ   — ddl m} | j        j        rBt	          | j        j        ¦  «        s)|j        j                             | j        j        ¦  «          || j        j        ¦  «        S )Nr#   )ÚDictItemsIterator)	r  r  r}  r^   r   rþ   r  r  rF   )r`   rƒ   r  s      r:   r  zDictItemsVariable.tp_iter_implc  sl   € Ø+Ð+Ð+Ð+Ð+Ð+àŒ<Ôð 	BÕ'9¸$¼,Ô:MÑ'NÔ'Nð 	BØŒIÔ(×,Ò,¨T¬\Ô-@ÑAÔAÐAØ Ð  ¤Ô!3Ñ4Ô4Ð4r<   r  rå   rG   c                 óÈ   •— |dv r:t          | j        |¦  «        } ||d         j        ¦  «        }t          |¦  «        S t          ¦   «                              ||||¦  «        S rß  rä  )r`   rƒ   r  rå   rG   Úfn_hdlÚret_valrb   s          €r:   r3  zDictItemsVariable.call_methodj  sl   ø€ ð ð 
ð 
ð 
õ ˜Tœ^¨TÑ2Ô2ˆFØ�f˜T !œWÔ.Ñ/Ô/ˆGÝ˜wÑ'Ô'Ð'Ý‰wŒw×"Ò" 2 t¨T°6Ñ:Ô:Ð:r<   )rp  rq  rr  r   rs  r¢  rË  r?   rÎ  r*  r)   rª  r•   r8   rw  r~   r  ri  r  r9   r3  rz  r{  s   @r:   r'  r'    s›  ø€ € € € € à€Mà	€Bàð
˜3Ð0Ô1ð 
ð 
ð 
ñ „Xð
ð ðP˜t OÔ4ð Pð Pð Pñ „XðPð˜Tð ð ð ð ð	<˜Cð 	<ð 	<ð 	<ð 	<ð;Ø-ð;Ø5Dð;à	ð;ð ;ð ;ð ;ð(
Ø-ð
Ø6Eð
ØKNð
à	ð
ð 
ð 
ð 
ð05Ð:ð 5¸ð 5ð 5ð 5ð 5ð;à'ð;ð ð;ð �?Ô#ð	;ð
 �S˜/Ð)Ô*ð;ð 
ð;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;r<   r'  c            	       ó  — e Zd ZdZededeeef         fd„¦   «         Z	edddedeeef         fd„¦   «         Z
dedddd	fd
„Zdedefd„Zdeeef         fd„Zdedefd„Zdededd	fd„Zdedd	fd„Zdedefd„Zdefd„Zdee         fd„Zd	S )ÚSideEffectsProxyDictzm
    A proxy dict that allows us to track mutations to the dict using side
    effects table as storage.
    rn   r4   c                 óü  — t          | t          j        ¦  «        ri S t          | t          j        ¦  «        rt
                               | j        ¦  «        S |                      ¦   «         }|t          urJt          | t          j
        ¦  «        r|                      d¦  «        S t                               |d¦  «        S t          ddt          | ¦  «        › �dt          | ¦  «        › �g t           j        ¢¬¦  «         d S )Nr˜  z-unsupported variable type for __dict__ accesszVariableTracker type: z.Dynamo does not know how to get __dict__ from ré   )r   r   ÚNestedUserFunctionVariablerL   ÚLocalGeneratorFunctionVariabler
  Úget_example_value_dictrn   Úget_real_python_backed_valuer'   r0  Ú_getattr_staticÚobjectÚ__getattribute__r   r•   r
   Ú
DYNAMO_BUG)rn   rˆ   s     r:   r  z+SideEffectsProxyDict.get_example_value_dict‡  sÿ   € å�"•iÔ:Ñ;Ô;ð 	ð ˆIÝ˜�IÔDÑEÔEð 	Ý'×>Ò>¸r¼uÑEÔEÐEà×3Ò3Ñ5Ô5ˆEØ�NÐ*Ð*Ý˜b¥)Ô"EÑFÔFð FØ×-Ò-¨jÑ9Ô9Ð9å!×2Ò2°5¸*ÑEÔEÐEåØKØ?µT¸"±X´XÐ?Ð?Ø [ÕQUÐVXÑQYÔQYÐ [Ð [ðÝ*Ô5ðð	ñ ô ð ð ð r<   rƒ   r1   c           	      óÔ  ‡ ‡— t          ‰t          j        ¦  «        �r‰ j        j                             ‰dt          j        ¦  «        ræ‰ j        j                             ‰d¦  «        }t          |t          ¦  «        r±i }|j
         
                    ¦   «         D ]“\  }}	 |j                             ¦   «         }n7# t          $ r* t          dd|j        › �dg t          j        ¢¬¦  «         Y nw xY wt          |t"          ¦  «        s"t          dd|›�dg t          j        ¢¬¦  «         |||<   Œ”|S t&                               ‰¦  «        }ˆ ˆfd„| 
                    ¦   «         D ¦   «         S )	Nr˜  z#non-constant key in object __dict__zkey=z@Dynamo expects object __dict__ replacement keys to be constants.ré   z!non-string key in object __dict__z2Dynamo expects object __dict__ keys to be strings.c                 ó–   •— i | ]E\  }}|t          j        ‰|‰j        o"t          t	          ‰j        d ¦  «        |¦  «        ¬¦  «        “ŒFS )r˜  )r^   )r)   rŠ   r^   r   r   )rM   rR   rˆ   rƒ   rn   s      €€r:   rW   z;SideEffectsProxyDict.get_value___dict__.<locals>.<dictcomp>É  sm   ø€ ð 
ð 
ð 
ñ ��Uð •Ô&ØØØ”yð NÝ%¥j°´¸JÑ&GÔ&GÈÑMÔMð	ñ ô ð
ð 
ð 
r<   )rL   r   r0  rþ   rÿ   Úhas_pending_mutation_of_attrr&   ÚGENERIC_SETATTRÚ	load_attrrD   rF   rn   r‚   r>   r   r
   rP  rw  rî   r
  r  )rƒ   rn   Údict_vtÚresultrR   rˆ   Ú	key_valueÚexample_value_dicts   ``      r:   Úget_value___dict__z'SideEffectsProxyDict.get_value___dict__¡  sÀ  øø€ õ Ø•	Ô3ñ
ô 
ñ 	àŒiÔ$×AÒAØ�
Õ,Ô<ñ
ô 
ð	ð
 ”iÔ,×6Ò6°r¸:ÑFÔFˆGÝ˜'Õ#4Ñ5Ô5ð Ø�Ø")¤-×"5Ò"5Ñ"7Ô"7ð .ð .‘J�C˜ðØ$'¤F×$=Ò$=Ñ$?Ô$?˜	˜	øÝ.ð ð ð Ý%Ø$IØ$3¨3¬6 O OØ(jØ"BÕ$5Ô$AÐ"Bð	ñ ô ð ð ð ðøøøõ & iµÑ5Ô5ð Ý%Ø$GØ$8¨9Ð$8Ð$8Ø(\Ø"AÕ$5Ô$@Ð"Að	ñ ô ð ð ).�F˜9Ñ%Ð%Ø�õ
 2×HÒHÈÑLÔLÐð
ð 
ð 
ð 
ð 
ð 1×6Ò6Ñ8Ô8ð
ñ 
ô 
ð 	
s   ÂB9Â91C-Ã,C-rÎ   Nc                 ól   — || _         |j        j        | _        |                      ||¦  «        | _        d S r6   )rÎ   rþ   rÿ   r  Ú	item_dict)r`   rÎ   rƒ   s      r:   rZ   zSideEffectsProxyDict.__init__Ó  s1   € ØˆŒ	ØœIÔ2ˆÔØ×0Ò0°°TÑ:Ô:ˆŒˆˆr<   rR   c                 óf   — t           }t          ||¦  «        r|j                             ¦   «         n|S r6   )r+   r   rn   r‚   )r`   rR   ÚHashers      r:   Ú_maybe_unwrap_keyz&SideEffectsProxyDict._maybe_unwrap_keyØ  s/   € Ý ˆÝ.4°S¸&Ñ.AÔ.AÐJˆsŒv×(Ò(Ñ*Ô*Ð*ÀsÐJr<   c                 óŠ   ‡ — ˆ fd„‰ j         j                             ‰ j        i ¦  «                             ¦   «         D ¦   «         S )Nc                 ór   •— i | ]3\  }}‰j                              ‰j        |t          j        ¦  «        ¯0||“Œ4S rV   )rÿ   r  rÎ   r&   ÚINSTANCE_DICT)rM   r  rˆ   r`   s      €r:   rW   z;SideEffectsProxyDict.side_effects_table.<locals>.<dictcomp>Ý  sW   ø€ ð 
ð 
ð 
á��eð Ô ×=Ò=Ø”	˜4Õ!1Ô!?ñô ð
Ø�%ð
ð 
ð 
r<   )rÿ   Ústore_attr_mutationsrÀ   rÎ   rF   rs   s   `r:   Úside_effects_tablez'SideEffectsProxyDict.side_effects_tableÜ  sT   ø€ ð
ð 
ð 
ð 
à#Ô0ÔE×IÒIØ”	˜2ñ ô  çŠe‰gŒgð	
ñ 
ô 
ð 	
r<   c                 óà   — |                       |¦  «        }| j                             | j        |t          j        ¦  «        r"| j                             | j        |d¬¦  «        S | j        |         S ©NT)Ú
deleted_ok)r"  rÿ   r  rÎ   r&   r%  r  r  ©r`   rR   r  s      r:   Ú__getitem__z SideEffectsProxyDict.__getitem__ç  sm   € Ø×%Ò% cÑ*Ô*ˆØÔ×9Ò9ØŒI�tÕ-Ô;ñ
ô 
ð 	Qð Ô$×.Ò.¨t¬y¸$È4Ð.ÑPÔPÐPØŒ~˜dÔ#Ð#r<   rˆ   c                 óÚ   — |                       |¦  «        }t          |t          ¦  «        st          dt	          |¦  «        › �¦  «        ‚| j                             | j        ||¦  «         d S )NzExpected str key, got )r"  r   rw  r\   r•   rÿ   Ústore_instance_dict_attrrÎ   )r`   rR   rˆ   r  s       r:   Ú__setitem__z SideEffectsProxyDict.__setitem__ï  sh   € à×%Ò% cÑ*Ô*ˆÝ�d�CÑ Ô ð 	HÝ Ð!F½$¸t¹*¼*Ð!FÐ!FÑGÔGÐGØÔ×2Ò2°4´9¸dÀEÑJÔJÐJÐJÐJr<   c                 ó”   — |                       |¦  «        }| j                             | j        |t	          j        ¦   «         ¦  «         d S r6   )r"  rÿ   r.  rÎ   r   r–   r+  s      r:   Ú__delitem__z SideEffectsProxyDict.__delitem__ö  sL   € Ø×%Ò% cÑ*Ô*ˆØÔ×2Ò2ØŒI�t�YÔ6Ñ8Ô8ñ	
ô 	
ð 	
ð 	
ð 	
r<   c                 ó  — |                       |¦  «        }| j                             | j        |t          j        ¦  «        r=| j                             | j        |d¬¦  «        }t          |t          j	        ¦  «         S || j
        v S r)  )r"  rÿ   r  rÎ   r&   r%  r  rL   r   r–   r  )r`   rR   r  rˆ   s       r:   r—   z!SideEffectsProxyDict.__contains__ü  s‚   € Ø×%Ò% cÑ*Ô*ˆØÔ×9Ò9ØŒI�tÕ-Ô;ñ
ô 
ð 	Dð Ô%×/Ò/°´	¸4ÈDÐ/ÑQÔQˆEÝ! %­Ô)BÑCÔCÐCÐCØ�t”~Ð%Ð%r<   c                 ó4   — t          d„ | D ¦   «         ¦  «        S )Nc              3   ó   K  — | ]}d V — ŒdS )r#   NrV   )rM   Ú_s     r:   rQ   z/SideEffectsProxyDict.__len__.<locals>.<genexpr>  s"   è è € Ð#Ð#˜�1Ð#Ð#Ð#Ð#Ð#Ð#r<   )r»   rs   s    r:   Ú__len__zSideEffectsProxyDict.__len__  s   € ÝÐ#Ð#˜dÐ#Ñ#Ô#Ñ#Ô#Ð#r<   c              #   ól  K  — t           }|                      ¦   «         }|                     ¦   «         D ]?\  }}t          |t          j        ¦  «        rŒ  |t          j        |¦  «        ¦  «        V — Œ@| j                             ¦   «         D ](\  }}||vr |t          j        |¦  «        ¦  «        V — Œ)d S r6   )	r+   r'  rF   rL   r   r–   r*   r&  r  )r`   r!  Údrq   rO   s        r:   Ú__iter__zSideEffectsProxyDict.__iter__  sË   è è € Ý ˆØ×#Ò#Ñ%Ô%ˆØ—G’G‘I”Ið 	5ð 	5‰DˆAˆqÝ˜!�YÔ6Ñ7Ô7ð ØØ�&Õ)Ô0°Ñ3Ô3Ñ4Ô4Ð4Ð4Ð4Ð4à”N×(Ò(Ñ*Ô*ð 	9ð 	9‰DˆAˆqØ˜ˆzˆzØ�fÕ-Ô4°QÑ7Ô7Ñ8Ô8Ð8Ð8Ð8øð	9ð 	9r<   )rp  rq  rr  rÉ  Ústaticmethodr)   r9   rw  r  r  r  rZ   ÚkVr"  r'  r,  r/  r1  rx  r—   ry  r6  r   r+   r9  rV   r<   r:   r
  r
  �  sá  € € € € € ðð ð
 ð ?ð °t¸CÀ¸KÔ7Hð ð ð ñ „\ðð2 ð/
Ø'ð/
Ø-<ð/
à	ˆc�?Ð"Ô	#ð/
ð /
ð /
ñ „\ð/
ðb;˜_ð ;Ð2Mð ;ÐRVð ;ð ;ð ;ð ;ð
K Rð K¨Cð Kð Kð Kð Kð	
 D¨¨oÐ)=Ô$>ð 	
ð 	
ð 	
ð 	
ð$˜rð $ oð $ð $ð $ð $ðK˜rð K¨/ð K¸dð Kð Kð Kð Kð
˜rð 
 dð 
ð 
ð 
ð 
ð& ð & tð &ð &ð &ð &ð$˜ð $ð $ð $ð $ð
9˜( ?Ô3ð 
9ð 
9ð 
9ð 
9ð 
9ð 
9r<   r
  c            
       ó$  ‡ — e Zd ZdZedddedd fd„¦   «         Zdedddeddfˆ fd	„Zd
e	deddfd„Z
d
e	ddfd„Zd
e	defd„Zd
e	defd„Zd
e	deg ef         defd„Zddd
e	dee         dee	ef         def
ˆ fd„Zdd„Zdddee         ddfd„Zˆ xZS )ÚDunderDictVariablezrepresents object.__dict__rƒ   r1   rn   r4   c                 óž   — |j         rt          ¦   «         nt          ¦   «         }|j         ot          |j         d¦  «        } | ||||¬¦  «        S )Nr˜  )rƒ   r¤   r^   )r^   r$   r%   r   )Úclsrƒ   rn   r%  r^   s        r:   r&  zDunderDictVariable.create  s`   € ð 35´)ÐWÕ,Ñ.Ô.Ð.ÕAUÑAWÔAWˆØ”Ð@�z¨"¬)°ZÑ@Ô@ˆàˆsØØØ"Øð	
ñ 
ô 
ð 	
r<   rG   Nc                 óf   •—  t          ¦   «         j        i fi |¤Ž t          ||¦  «        | _        d S r6   )rY   rZ   r
  rF   )r`   rn   rƒ   rG   rb   s       €r:   rZ   zDunderDictVariable.__init__(  s9   ø€ ð 	�‰ŒÔ˜Ð&Ð&˜vÐ&Ð&Ð&Ý)¨"¨bÑ1Ô1ˆŒ
ˆ
ˆ
r<   r  rˆ   c                 ó   — || j         |<   d S r6   rr   )r`   r  rˆ   s      r:   ÚsetitemzDunderDictVariable.setitem1  s   € Ø ˆŒ
�4ÑÐÐr<   c                 ó^   — |                       |¦  «        st          |¦  «        ‚| j        |= d S r6   )r  r¨   rF   ©r`   r  s     r:   ÚdelitemzDunderDictVariable.delitem4  s2   € Ø�}Š}˜TÑ"Ô"ð 	!Ý˜4‘.”.Ð ØŒJ�tÐÐÐr<   c                 ó   — | j         |         S r6   rr   rD  s     r:   ÚgetitemzDunderDictVariable.getitem9  s   € ØŒz˜$ÔÐr<   c                 ó   — || j         v S r6   rr   rD  s     r:   r  zDunderDictVariable.contains<  s   € Ø�t”zÐ!Ð!r<   Údefaultc                 ó‚   — |                       |¦  «        r|                      |¦  «        S  |¦   «         }|| j        |<   |S r6   )r  rG  rF   )r`   r  rI  rˆ   s       r:   Úgetitem_or_defaultz%DunderDictVariable.getitem_or_default?  sF   € ð
 �=Š=˜ÑÔð 	Ø—<’< Ñ%Ô%Ð%à�G‘I”IˆEØ$ˆDŒJ�tÑØˆLr<   rå   c           
      ó$  •— |dk    rf|s|r2t          ||dt          |¦  «        › dt          |¦  «        › d�¦  «         t          t          | j        ¦  «        t          ¦   «         d ¬¦  «        S t          ¦   «                              ||||¦  «        S )Nr_   r  r  r  )r¤   r^   )r    r¦   rD   r9   rF   r(   rY   r3  r¹  s        €r:   r3  zDunderDictVariable.call_methodK  s©   ø€ ð �6Š>ˆ>Øð �vð Ý#ØØØ)Ý˜4‘y”yÐ@Ð@­C°©K¬KÐ@Ð@Ð@ñ	ô ð õ %Ý�T”ZÑ Ô Õ0@Ñ0BÔ0BÈ4ðñ ô ð õ ‰wŒw×"Ò" 2 t¨T°6Ñ:Ô:Ð:r<   c                 ó   — d S r6   rV   rs   s    r:   r�   z0DunderDictVariable.install_dict_keys_match_guarda  rœ  r<   c                 ó   — d S r6   rV   rž  s      r:   r  z.DunderDictVariable.install_dict_contains_guardd  rŸ  r<   rn  )rp  rq  rr  rÉ  Úclassmethodr)   r&  r   rZ   rw  rB  rE  rG  rx  r  r   rK  r*  r9   r3  r�   r  rz  r{  s   @r:   r=  r=    s  ø€ € € € € Ø$Ð$àð
à'ð
ð ð
ð 
ð	
ð 
ð 
ñ „[ð
ð2àð2ð (ð2ð ð	2ð
 
ð2ð 2ð 2ð 2ð 2ð 2ð!˜Cð !¨ð !¸Dð !ð !ð !ð !ð˜Cð  Dð ð ð ð ð
 ˜Cð   Oð  ð  ð  ð  ð"˜Sð " Tð "ð "ð "ð "ð
àð
ð ˜"˜oÐ-Ô.ð
ð 
ð	
ð 
ð 
ð 
ð;à'ð;ð ð;ð �?Ô#ð	;ð
 �S˜/Ð)Ô*ð;ð 
ð;ð ;ð ;ð ;ð ;ð ;ð,ð ð ð ðØ-ðØ59¸/Ô5Jðà	ðð ð ð ð ð ð ð r<   r=  )SrÉ  rg   r  r‚  Úcollections.abcr   r   Útypingr   r   r   Útorch.utils._pytreer   r#  r
   r   r   Úbytecode_transformationr   r   r   r   rX  r   r   r   Úguardsr   r   r^   r   r   r   r   rþ  r   r   r   r   r   r   r    r!   r"   re   r$   r%   r&   r'   r(   r)   Úconstantr*   Úhashabler+   r,   r-   r–  r.   Úsetsr/   Útorch._dynamo.codegenr0   Útorch._dynamo.symbolic_convertr1   Ú	functionsr2   rx  r;   rB   rD   r1  rš  r¡  r(  r-  r'  rw  r;  ÚabcÚMutableMappingr
  r=  rV   r<   r:   ú<module>r]     sÔ  ððð ð& Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,à *Ð *Ð *Ð *Ð *Ð *à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6ðð ð ð ð ð ð ð ð ð ð ð ð LÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KØ 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0ðð ð ð ð ð ð ð ð ð ð ð ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 'Ð &Ð &Ð &Ð &Ð &Ø DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DØ 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø Ð Ð Ð Ð Ð ð ð 0Ø/Ð/Ð/Ð/Ð/Ð/ØHÐHÐHÐHÐHÐHà/Ð/Ð/Ð/Ð/Ð/ð/�oð /¨$ð /ð /ð /ð /ð
B˜_ð B°ð Bð Bð Bð BðC-ð C-ð C-ð C-ð C-˜ñ C-ô C-ð C-ðLw2ð w2ð w2ð w2ð w2˜?ñ w2ô w2ð w2ðtð ð ð ð Ð 1ñ ô ð ðPð Pð Pð Pð P�ñ Pô Pð PðfR;ð R;ð R;ð R;ð R;Ð'ñ R;ô R;ð R;ðjB=ð B=ð B=ð B=ð B=Ð)ñ B=ô B=ð B=ðJd;ð d;ð d;ð d;ð d;Ð(ñ d;ô d;ð d;ðN �sÑ€ðQ9ð Q9ð Q9ð Q9ð Q9˜;œ?Ô9¸"¸oÐ:MÔNñ Q9ô Q9ð Q9ðhRð Rð Rð Rð RÐ*ñ Rô Rð Rð Rð Rr<   