Ë
    g^(h÷  ã                   ó^   — U d dl mZ g Zee   ed<   dedefd„Zdededeeeeeef      fd	„Z	y
)é    )ÚChunkStorageMetadataÚ__all__Úshard1Úshard2c                 ó  — t        | j                  «      }t        |«      D ]d  }| j                  |   |j                  |   |j                  |   z   k\  r y|j                  |   | j                  |   | j                  |   z   k\  sŒd y y)zCheck if two shards overlap.FT)ÚlenÚoffsetsÚrangeÚsizes)r   r   ÚndimsÚis       úe/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/distributed/checkpoint/resharding.pyÚ"_check_shard_metadata_pair_overlapr   	   s~   € ô �—‘Ó€EÜ�5‹\ò ˆØ�>‰>˜!Ñ §¡¨qÑ 1°F·L±LÀ±OÑ CÒCÙØ�>‰>˜!Ñ §¡¨qÑ 1°F·L±LÀ±OÑ CÓCÙð	ð ó    Úsaved_shardÚcurrent_shardÚreturnc                 ó6  — g }t        t        | j                  |j                  | j                  |j                  «      «      D ]T  \  }\  }}}}t	        ||z   ||z   «      }|t        ||«      z
  }	||kD  rd}
||z
  }n||z
  }
d}|j                  ||
||	f«       ŒV |S )a[  
    Return the overlapping region between saved_shard and current_shard.

    There returned list has the same number of elements as the tensor's dimension.
    For each element, we produce a tuple with the following contents:
        (dimension, `saved_shard` offset, `current_shard` offset, length)

    Offsets are relative to each shard.
    r   )Ú	enumerateÚzipr	   r   ÚminÚmaxÚappend)r   r   ÚnarrowsÚdimÚsaved_shard_offsetÚcurrent_shard_offsetÚsaved_shard_sizeÚcurrent_shard_sizeÚmin_range_endÚlengthÚoffset_for_saved_tensorÚoffset_for_current_tensors               r   Ú+_shards_get_overlap_region_wrt_saved_tensorr$      sâ   € ð €Gô 
ÜØ×ÑØ×!Ñ!Ø×ÑØ×Ñó		
ó
ò
ñ 	ˆñ ØØØØô ØÐ!1Ñ1Ø Ð#5Ñ5ó
ˆð
 ¤Ð%9Ð;MÓ!NÑNˆàÐ 4Ò4Ø&'Ð#Ø(:Ð=QÑ(QÑ%à&:Ð=OÑ&OÐ#Ø()Ð%à�‰ØÐ)Ð+DÀfÐMõ	
ð7
ð> €Nr   N)
Ú%torch.distributed.checkpoint.metadatar   r   ÚlistÚstrÚ__annotations__r   ÚtupleÚintr$   © r   r   ú<module>r,      s`   ðö Gð €ˆˆc‰Ó ðØ ðØ*>óð$,Ø%ð,Ø6Jð,à	ˆ%��S˜#˜sÐ"Ñ
#Ñ$ô,r   