+
    ˜°³j+  ã                   óÈ   € ^ RI t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIHtH	t	 RR.t
]]	,          t]]]]R3,          3,          tR R	 ltR
 R ltR R ltRR R lltR R ltR# )é    N)Ú
Collection)Údill_available)ÚIterDataPipeÚMapDataPipeÚtraverseÚtraverse_dpsÚDataPipeGraphc                ó$   € V ^8„  d   QhR\         /# )é   Úreturn)Ústr)Úformats   "ÚW/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/utils/data/graph.pyÚ__annotate__r      s   € ÷ ñ œñ ó    c                  ó   € R # )ÚSTUB© r   r   r   Ú_stub_unpicklerr      s   € Ùr   c          	      ót   € V ^8„  d   QhR\         R\        R\        \        ,          R\        \         ,          /# )r   Úscan_objÚonly_datapipeÚcacher   )ÚDataPipeÚboolÚsetÚintÚlist)r   s   "r   r   r      s:   € ÷ A ñ A ÜðA Ü'+ðA Ü47¼µHðA ä	Œ(…^ñA r   c                 óN  a aa€ \         P                  ! 4       p\        P                  ! V4      p\	        4       '       d   ^ RIHp V! V4      pMRp. oR pVVV 3R lp\        \        3p	 V	 F/  p
V
P                  V4       V'       g   K  V
P                  V4       K1  	   VP                  S 4       T	 F/  p
T
P                  R4       T'       g   K  T
P                  R4       K1  	  \	        4       '       d   ^ RIHp T! R4       S#   \        P                  \        \        3 d&    \	        4       '       d   TP                  S 4        L˜h i ; i  T	 F/  p
T
P                  R4       T'       g   K  T
P                  R4       K1  	  \	        4       '       d   ^ RIHp T! R4       i i ; i)r   )ÚPicklerNc                 ó¾  € R p\        V \        4      '       dE   / pV P                  4        F,  w  r#\        V\        \        \
        34      '       g   K(  W1V&   K.  	  V# \        V \        \        34      '       dB   . pV  F7  p\        V\        \        \
        34      '       g   K&  VP                  V4       K9  	  V# \        V \        \        \
        34      '       d   T pV# ©N)	Ú
isinstanceÚdictÚitemsr   r   r   Útupler   Úappend)Ú	ori_stateÚstateÚkÚvs   &   r   Úgetstate_hookÚ0_list_connected_datapipes.<locals>.getstate_hook'   s¶   € ØˆÜ�i¤×&Ò&ØˆEØ!Ÿ™Ö)‘�Ü˜a¤,´¼ZÐ!H×IÔIØ ˜!“Hñ *ð ˆô ˜	¤E¬4 =×1Ò1ØˆEÛ�Ü˜a¤,´¼ZÐ!H×IÔIØ—L‘L –Oñ ð
 ˆô ˜	¤L´+¼zÐ#J×KÒKØˆEØˆr   c                 ó¤   <€ V S8X  g   \        V 4      S9   d   \        hSP                  V 4       SP                  \        V 4      4       \        R3# )Nr   )ÚidÚNotImplementedErrorr'   Úaddr   )Úobjr   Úcaptured_connectionsr   s   &€€€r   Úreduce_hookÚ._list_connected_datapipes.<locals>.reduce_hook7   sD   ø€ Ø�(Œ?œb ›g¨Ô.Ü%Ð%à ×'Ñ'¨Ô,à�I‰I”b˜“gÔÜ" BÐ&Ð&r   )ÚextendF)ÚioÚBytesIOÚpickler    r   Údillr   r   Úset_reduce_ex_hookÚset_getstate_hookÚdumpÚPickleErrorÚAttributeErrorÚ	TypeErrorr6   )r   r   r   ÚfÚpÚdill_PicklerÚdr,   r4   Údatapipe_classesÚclsÚdill_extendr3   s   f&f         @r   Ú_list_connected_datapipesrH      sc  ú€ ô 	�
Š
‹€AÜ�ŠØ	ó	€Aô ×ÒÝ0á˜‹O‰àˆàÐò÷ 'ô 0<¼[Ð.IÐðÛ#ˆCØ×"Ñ" ;Ô/ß‰}Ø×%Ñ% mÖ4ñ $ð	Ø�F‰F�8Ôó $ˆCØ×"Ñ" 4Ô(ß‰}Ø×%Ñ% dÖ+ñ $ô ×ÒÝ2á˜ÔØÐøô ×"Ñ"¤N´IÐ>ô 	Ü×Òà—‘�xÖ àð	ûó $ˆCØ×"Ñ" 4Ô(ß‰}Ø×%Ñ% dÖ+ñ $ô ×ÒÝ2á˜Õð ús7   Á*E Â
E Â D ÄAEÅE Å	EÅE ÅF$Å/5F$c                ó0   € V ^8„  d   QhR\         R\        /# )r   Údatapiper   )r   r	   )r   s   "r   r   r   [   s   € ÷ Gñ Gœ8ð G¬ñ Gr   c                ó2   € \        4       p\        V RVR7      # )aÅ  
Traverse the DataPipes and their attributes to extract the DataPipe graph.

This only looks into the attribute from each DataPipe that is either a
DataPipe and a Python collection object such as ``list``, ``tuple``,
``set`` and ``dict``.

Args:
    datapipe: the end DataPipe of the graph
Returns:
    A graph represented as a nested dictionary, where keys are ids of DataPipe instances
    and values are tuples of DataPipe instance and the sub-graph
T)r   r   )r   Ú_traverse_helper)rJ   r   s   & r   r   r   [   s   € ô “e€EÜ˜H°DÀÔFÐFr   c                óJ   € V ^8„  d   QhR\         R\        R,          R\        /# )r   rJ   r   Nr   )r   r   r	   )r   s   "r   r   r   m   s%   € ÷ <ñ <”xð <´°tµð <Ä}ñ <r   c                óš   € RpV'       g
   VR,          p\         P                  ! V\        ^R7       Vf   Rp\        4       p\	        WV4      # )aù  
Traverse the DataPipes and their attributes to extract the DataPipe graph.

[Deprecated]
When ``only_dataPipe`` is specified as ``True``, it would only look into the
attribute from each DataPipe that is either a DataPipe and a Python collection object
such as ``list``, ``tuple``, ``set`` and ``dict``.

Note:
    This function is deprecated. Please use `traverse_dps` instead.

Args:
    datapipe: the end DataPipe of the graph
    only_datapipe: If ``False`` (default), all attributes of each DataPipe are traversed.
      This argument is deprecated and will be removed after the next release.
Returns:
    A graph represented as a nested dictionary, where keys are ids of DataPipe instances
    and values are tuples of DataPipe instance and the sub-graph
zd`traverse` function is deprecated and will be removed after 1.13. Please use `traverse_dps` instead.zM And, the behavior will be changed to the equivalent of `only_datapipe=True`.)Ú
stacklevelF)ÚwarningsÚwarnÚFutureWarningr   rL   )rJ   r   Úmsgr   s   &&  r   r   r   m   sK   € ð*	-ð ÷ ØÐ^Õ^ˆÜ‡M‚M�#”}°Õ3ØÒØˆÜ“e€EÜ˜H°UÓ;Ð;r   c                ó^   € V ^8„  d   QhR\         R\        R\        \        ,          R\        /# )r   rJ   r   r   r   )r   r   r   r   r	   )r   s   "r   r   r   �   s0   € ÷ ñ ÜðÜ'+ðÜ47¼µHðäñr   c           	      ór  € \        V \        \        34      '       g   \        R \	        V 4       R24      h\        V 4      pW29   d   / # VP                  V4       \        WVP                  4       4      pW0/ 3/pV F9  pWS,          ^,          P                  \        WaVP                  4       4      4       K;  	  V# )z.Expected `IterDataPipe` or `MapDataPipe`, but z	 is found)r#   r   r   ÚRuntimeErrorÚtyper/   r1   rH   ÚcopyÚupdaterL   )rJ   r   r   Údp_idr%   rD   Úitems   &&&    r   rL   rL   �   s¨   € ô �h¤¬{Ð ;×<Ò<ÜØ<¼TÀ(»^Ð<LÈIÐVó
ð 	
ô ˆx‹L€EØ„~Øˆ	Ø	‡I�IˆeÔä% h¸u¿z¹z»|ÓL€EØ¨"˜~Ð.€AÛˆð 	
���×ÑÔ+¨DÀÇÁÃÓNÖOñ	 ð
 €Hr   r"   )r7   r9   rP   Úcollections.abcr   Útorch.utils._import_utilsr   Ú#torch.utils.data.datapipes.datapiper   r   Ú__all__r   r$   r   r&   r	   r   rH   r   r   rL   r   r   r   Ú<module>r`      sc   ðã 	Û Û Ý &å 4ß Ið �~Ð
&€à˜+Õ%€à�S˜% ¨/Ð 9Õ:Ð:Õ;€õõ
A õHG÷$<÷Dr   