+
    –°³j

  ã                   óî   € ^ RI t ^ RIHt ^ RIHt ^ RIHtHt ^ RIt^ RI	t^ RI
Ht ^ RIHt ^ RIHtHt ^RIHtHt ]! R	4      tRR R lltRR R lltR R ltR R ltRR R llt] ]RR
3R R lltR# )é    N)ÚSequence)Ú
ModuleType)ÚcastÚTypeVar)ÚDEFAULT_PROTOCOL)ÚFileLike)Útree_flattenÚtree_unflatten)Úadd_step_closureÚrun_step_closuresÚ_TFc                ó4   € V ^8„  d   QhR\         R\        RR/# )é   ÚdeviceÚwaitÚreturnN)ÚstrÚbool)Úformats   "ÚU/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/_lazy/__init__.pyÚ__annotate__r      s!   € ÷ 
ñ 
”cð 
¤dð 
°tñ 
ó    c                ór   € \         P                  P                  P                  V . VR7       \	        4        R# )aB  Triggers a mark step, which amounts to
- collecting a group of 'live' lazy tensors to index into the compilation cache
  (lowering/compiling their IR graphs if not cached)
- kicking off execution of the compiled function
- (optionally, wait=True) waiting for cpu-side execution to complete (does not sync the accelerator)
)r   N)ÚtorchÚ_CÚ_lazyÚ
_mark_stepr   )r   r   s   &&r   Ú	mark_stepr      s'   € ô 
‡H�H‡N�N×Ñ˜f b¨tÐÔ4äÖr   c                óL   € V ^8„  d   QhR\         \        ,          R,          RR/# )r   ÚdevicesNr   )Úlistr   )r   s   "r   r   r      s#   € ÷ 5ñ 5œT¤#�Y¨Õ-ð 5¸ñ 5r   c                óf   € V f   . p \         P                  P                  P                  V R7       R# )z×Waits for all the async operations on the given devices to complete.
Args:
  devices (string..., optional): The devices whose async ops need to be waited
    for. If empty, all the local devices will be waited for.
N©r    )r   r   r   Ú_wait_device_opsr#   s   &r   Úwait_device_opsr%      s'   € ð ‚ØˆÜ	‡H�H‡N�N×#Ñ#¨GÐ#Ö4r   c                ót   € V ^8„  d   QhR\         \        P                  ,          R\        \        ,          RR/# )r   Útensorsr    r   N)r   r   ÚTensorr!   r   )r   s   "r   r   r   *   s.   € ÷ 7ñ 7œ¤§¡Õ.ð 7¼¼c½ð 7Àtñ 7r   c                ól   € \         P                  P                  P                  \	        V 4      V4       R# )z
Sync the list of lazy tensors so there IR get lowered for the activate backend
and the compiled computation graph get cached.
N)r   r   r   Ú_sync_multir!   )r'   r    s   &&r   Ú
sync_multir+   *   s    € ô
 
‡H�H‡N�N×Ñœt G›}¨gÖ6r   c                óD   € V ^8„  d   QhR\         P                  R\        /# )r   Útensorr   )r   r(   Úint)r   s   "r   r   r   2   s   € ÷ 1ñ 1œ%Ÿ,™,ð 1¬3ñ 1r   c                óT   € \         P                  P                  P                  V 4      # )z7Return a unique id of the lazy tensor maintained by LTC)r   r   r   Ú_get_tensor_id)r-   s   &r   Úget_tensor_idr1   2   s   € ä�8‰8�>‰>×(Ñ(¨Ó0Ð0r   c                ó`   € V ^8„  d   QhR\         R\        \        ,          R,          R\         /# )r   r'   r    Nr   )r   r!   r   )r   s   "r   r   r   7   s/   € ÷ Lñ L”Bð L¤¤c¥¨TÕ!1ð L¼Rñ Lr   c                 óÆ   € T;'       g    R .p\        V 4      w  r#\        W!4       \        \        \	        V Uu. uF  qDP                  R4      NK  	  upV4      4      # u upi )ÚlazyÚcpu)r	   r+   r   r   r
   Úto)r'   r    Ú	flattenedÚspecÚts   &&   r   Úto_cpur:   7   sQ   € Ø×!Ð!˜&˜€Gä" 7Ó+�O€IÜˆyÔ"Ü””N¹Ó#C¹°A§D¡D¨¦K¹Ñ#CÀTÓJÓKÐKùÒ#Cs   ¹ATc                ód   € V ^8„  d   QhR\         R\        R\        R\        R\        R\        RR/# )	r   r'   ÚfÚpickle_moduleÚpickle_protocolÚ_use_new_zipfile_serializationÚ_disable_byteorder_recordr   N)Úobjectr   r   r.   r   )r   s   "r   r   r   ?   sN   € ÷ ñ Üðäðô ðô ð	ô
 %)ðô  $ðð 
ñr   c           	      óP   € \         P                  ! \        V 4      VVVVVR 7       R# ))r=   r>   r?   r@   N)r   Úsaver:   )r'   r<   r=   r>   r?   r@   s   &&&&&&r   rC   rC   ?   s&   € ô 
‡J‚JÜˆw‹Ø	Ø#Ø'Ø'EØ";÷r   )Ú F)N)ÚpickleÚcollections.abcr   Útypesr   Útypingr   r   r   Útorch._C._lazyÚtorch.serializationr   Útorch.typesr   Útorch.utils._pytreer	   r
   Úclosurer   r   r   r   r%   r+   r1   r:   rC   © r   r   Ú<module>rO      s`   ðÛ Ý $Ý ß  ã Û Ý 0Ý  ß <ç 8ñ ˆTƒ]€÷
÷5õ7õ1÷
Lð !'Ø+Ø+/Ø&+÷ñ r   