§
    Ÿ²Åj   ã                   óB  — 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mZ ddlmZ ddgZdZd„ Zd	„ Z eed
¦  «        Zd„ e_        d„ e_          ed¬¦  «        e¦  «          eed¦  «        Zd„ e_        d„ e_          ed¬¦  «        e¦  «         deeef         deee         ef         fd„Zdee         dedeeef         fd„Zdee         deee         ef         fd„Zdee         dedee         fd„Z eeeede¬¦  «          eeeede¬¦  «         dS )é    )ÚAnyÚDictÚIterableÚListÚTuple)Ú_dict_flattenÚ_dict_flatten_with_keysÚ_dict_unflattenÚ_list_flattenÚ_list_flatten_with_keysÚ_list_unflattenÚContextÚregister_pytree_nodeé   )ÚcompatibilityÚimmutable_listÚimmutable_dictzÒIf you are attempting to modify the kwargs or args of a torch.fx.Node object,
instead create a new copy of it and assign the copy to the node:
    new_args = ... # copy and mutate args
    node.args = new_args
c                 óZ   — t          dt          | ¦  «        j        › dt          › �¦  «        ‚)Nú'z$' object does not support mutation. )ÚNotImplementedErrorÚtypeÚ__name__Ú_help_mutation)ÚselfÚargsÚkwargss      úOC:\Projects\Historical\venv\Lib\site-packages\torch/fx/immutable_collections.pyÚ_no_mutationr      s0   € Ý
ØU�D�‰JŒJÔÐUÐUÅ^ÐUÐUñô ð ó    c                 óp   — t          d| j        z   | fi ¦  «        }|D ]}t          ||t          ¦  «         Œ|S )NÚ
immutable_)r   r   Úsetattrr   )ÚbaseÚmutable_functionsÚ	containerÚattrs       r   Ú_create_immutable_containerr'   "   sF   € Ý�\ D¤MÑ1°D°7¸BÑ?Ô?€IØ!ð /ð /ˆÝ�	˜4¥Ñ.Ô.Ð.Ð.ØÐr   )Ú__delitem__Ú__iadd__Ú__imul__Ú__setitem__ÚappendÚclearÚextendÚinsertÚpopÚremoveÚreverseÚsortc                 óJ   — t           t          t          | ¦  «        ¦  «        ffS ©N)r   ÚtupleÚiter©r   s    r   ú<lambda>r9   :   s   € ­.½5ÅÀdÁÄÑ;LÔ;LÐ:NÐ)O€ r   c                 ó:   — t          t          | ¦  «        ¦  «        S r5   )Úhashr6   r8   s    r   r9   r9   ;   s   € ¥t­E°$©K¬KÑ'8Ô'8€ r   T)Úis_backward_compatible)r(   Ú__ior__r+   r-   r0   ÚpopitemÚ
setdefaultÚupdatec                 óT   — t           t          |                      ¦   «         ¦  «        ffS r5   )r   r7   Úitemsr8   s    r   r9   r9   L   s   € ­.½4ÀÇ
Â
ÁÄÑ;MÔ;MÐ:OÐ)P€ r   c                 ó^   — t          t          |                      ¦   «         ¦  «        ¦  «        S r5   )r;   r6   rB   r8   s    r   r9   r9   M   s   € ¥t­E°$·*²*±,´,Ñ,?Ô,?Ñ'@Ô'@€ r   ÚdÚreturnc                 ó    — t          | ¦  «        S r5   )r   ©rD   s    r   Ú_immutable_dict_flattenrH   R   ó   € Ý˜ÑÔÐr   ÚvaluesÚcontextc                 ó<   — t          t          | |¦  «        ¦  «        S r5   )r   r
   ©rJ   rK   s     r   Ú_immutable_dict_unflattenrN   V   ó   € õ �/¨&°'Ñ:Ô:Ñ;Ô;Ð;r   c                 ó    — t          | ¦  «        S r5   )r   rG   s    r   Ú_immutable_list_flattenrQ   ]   rI   r   c                 ó<   — t          t          | |¦  «        ¦  «        S r5   )r   r   rM   s     r   Ú_immutable_list_unflattenrS   a   rO   r   z-torch.fx.immutable_collections.immutable_dict)Úserialized_type_nameÚflatten_with_keys_fnz-torch.fx.immutable_collections.immutable_listN)Útypingr   r   r   r   r   Útorch.utils._pytreer   r	   r
   r   r   r   r   r   Ú_compatibilityr   Ú__all__r   r   r'   Úlistr   Ú
__reduce__Ú__hash__Údictr   rH   rN   rQ   rS   © r   r   ú<module>r_      s·  ðà 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð *Ð )Ð )Ð )Ð )Ð )ð Ð-Ð
.€ð€ðð ð ðð ð ð -Ð,Øðñô €ð" PÐO€Ô Ø8Ð8€Ô à *€€ TÐ *Ñ *Ô *¨>Ñ :Ô :Ð :à,Ð,Øð	ñô €ð QÐP€Ô Ø@Ð@€Ô Ø *€€ TÐ *Ñ *Ô *¨>Ñ :Ô :Ð :ð˜t C¨ Hœ~ð °%¸¸S¼	À7Ð8JÔ2Kð ð ð ð ð<Ø�SŒMð<àð<ð 
ˆ#ˆsˆ(„^ð<ð <ð <ð <ð˜t Cœyð ¨U°4¸´9¸gÐ3EÔ-Fð ð ð ð ð<Ø�SŒMð<àð<ð 
ˆ#„Yð<ð <ð <ð <ð Ð ØØØØHØ0ðñ ô ð ð Ð ØØØØHØ0ðñ ô ð ð ð r   