+
    &j                     B   a  R t0 t ^ RIHt . t] ^ k R R ltR R ltR# )    )ChunkStorageMetadatac                <    V ^8  d   QhR\         R\         R\        /# )   shard1shard2return)r   bool)formats   "/Users/jameslopez/projects/CWCArchive/cwc-podcast/.venv/lib/python3.14/site-packages/torch/distributed/checkpoint/resharding.py__annotate__r      s$       *>	    c                d   \        V P                  4      p\        V4       F  pV P                  V,          VP                  V,          VP                  V,          ,           8  d    R# VP                  V,          V P                  V,          V P                  V,          ,           8  g   K   R# 	  R# )zCheck if two shards overlap.FT)lenoffsetsrangesizes)r   r   ndimsis   &&  r   "_check_shard_metadata_pair_overlapr      sy     E5\>>!q 1FLLO CC>>!q 1FLLO CC	  r   c                    V ^8  d   QhR\         R\         R\        \        \        \        \        \        3,          ,          /# )r   saved_shardcurrent_shardr   )r   listtupleint)r
   s   "r   r   r      s7     , ,%,6J,	%S#s"
#$,r   c                V   . p\        \        V P                  VP                  V P                  VP                  4      4       Fc  w  pw  pppp\	        WF,           WW,           4      pV\        WT4      ,
          p	WE8  d   ^ p
WE,
          pM
WT,
          p
^ pVP                  W:W34       Ke  	  V# )aC  
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.
)	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 5

 %9!NN4&'#(:(Q%&:&O#()%+DM	
-
4 Nr   c                V    V ^8  d   Qh/ ^ \         9   d   \        \        ,          ;R&   # )r   __all__)__conditional_annotations__r   str)r
   s   "r   r   r      s     F F  c  Gr   N)r/   %torch.distributed.checkpoint.metadatar   r.   r   r,   r   )r/   s   @r   <module>r2      s     F F  $,r   