
    pi              
          U d dl Z d dlZd dlZd dlmZ d dlmZmZ d dlZdZ	e
ed<   dZdZdZd	Zd
ZdZdZdZdZdZej,                  ej.                  ej0                  ej2                  ej4                  ej6                  ej8                  ej:                  ej<                  d	ZdZ e!ed<   dZ"d	Z#dZ$dZ%dZ&dZ'e G d d             Z(	 d%de)de)dee)   de
fdZ*de jV                  de,ee)f   fd Z-d!e
dej\                  fd"Z/d#edee   fd$Z0y)&    N)	dataclass)AnyOptionalzmodel.safetensors.index.json_metadata_fnzmodel-{cpt_idx}-of-{num_files}z0shard-{shard_idx}-model-{cpt_idx}-of-{num_files}z.safetensorsDCP_SHARDING_INFO__metadata__saved_offsetsshapedatadtypedata_offsets)	F16F32F64I8U8I16I32I64BF16g      ?HF_DCP_VERSIONDCP_VERSIONformatpt   shardedc                   X    e Zd ZU dZeed<   ej                  ed<   ej                  ed<   y)_HFStorageInfoz#This is the per entry storage info.relative_pathr
   r   N)	__name__
__module____qualname____doc__str__annotations__torchSizer        h/opt/services/ai/voice_agent/venv/lib/python3.12/site-packages/torch/distributed/checkpoint/_hf_utils.pyr   r   1   s    -::;;r)   r   indexlargest_indexshard_indexreturnc                     |Ot         j                  | j                  d      |  j                  d      | j                  d            t        z   S t        j                  |  j                  d      | j                  d            t        z   S )N   )	shard_idxcpt_idx	num_files)r2   r3   )SHARDED_FILE_NAMEr   zfillSUFFIX	FILE_NAME)r+   r,   r-   s      r*   _gen_file_namer8   :   s     $$(M003 '((+*O2215 % 
 	
  '((+-7O7OPQ7R   	
r)   
file_bytesc                     | j                  t              }t        j                  d|      d   }| j                  |      }t	        j
                  |      }||t        z   fS )Nz<Qr   )readNUM_BYTES_FOR_HEADER_LENstructunpackjsonloads)r9   header_len_bytes
header_lenheader_jsonmetadatas        r*   _get_safetensors_file_metadatarE   O   sW     "'?@t%56q9J//*-Kzz+&Hj#;;<<r)   	dtype_strc                 b    	 t         |    }|S # t        $ r t        j                         }Y |S w xY wN)	DTYPE_MAPKeyErrorr&   get_default_dtype)rF   r   s     r*   
_get_dtyperL   \   s<    *)$ L  *'')L*s   	 ..rD   c                 n    t         | v r-| t            }t        |v rt        j                  |t                 S y rH   )DEFAULT_EXTRA_METADATA_KEYCUSTOM_METADATA_KEYr?   r@   )rD   custom_metadatas     r*   _get_dcp_custom_metadatarQ   e   s5    !X-"#=>/1::o.ABCCr)   rH   )1ior?   r=   dataclassesr   typingr   r   r&   r   r$   r%   r7   r4   r6   rO   rN   SAVED_OFFSETS_KEY	SHAPE_KEYDATA_KEY	DTYPE_KEYDATA_OFFSETS_KEYfloat16float32float64int8uint8int16int32int64bfloat16rI   r   floatDCP_VERSION_KEYDCP_SHARDING_INFO_KEY
FORMAT_KEYFORMAT_VALUEr<   SHARDED_DIR_NAMEr   intr8   IOBasetuplerE   r   rL   rQ   r(   r)   r*   <module>rl      sg   	   !    3c 2,	F 	 * + # 		!  ======
**
++;;;;;;NN
	  + 
      BF

"
19#

*
=ryy 
=U38_ 
=# %++ s x} r)   