
    4 jb                       d dl mZ d dlmZ d dlmZ ddlmZmZm	Z	m
Z
mZmZmZmZmZ erddlmZ ddlmZ i dd	d
d	ddddddddddddddddddddddddddddddi dddddddddd d!d d"d d#d$d%d$d&d$d'd$d(d$d)d$d*d+d,d+d-d$d.d$i d/d0d1d2d3d$d4d5d6d5d7d5d8d5d9d5d:d5d;d5d<d5d=d5d>d?d@d?dAd?dBd?dCd?ZdD ZdEadF Z	 dJ	 	 	 	 	 	 	 dKdGZdLdHZ	 	 	 dM	 	 	 	 	 	 	 	 	 dNdIZyE)O    )annotations)deepcopy)TYPE_CHECKING   )	ChunkConcatenate"ErnieFuseAndSplitTextVisionExpertsMergeModulelistPrefixChange	TransposeWeightConverterWeightRenamingWeightTransformPreTrainedModel)HfQuantizerminimaxmixtral
minimax_m2afmoe	qwen2_moedeepseek_v2deepseek_v3dots1ernie4_5_moeglm4_moeglm4_moe_liteglm_moe_dsa	glm4v_moelongcat_flash
solar_open	qwen3_moeqwen3_omni_moeqwen3_omni_moe_thinker
qwen3_nexthunyuan_v1_moe	flex_olmoolmoe
exaone_moe
rt_detr_v2rt_detrpp_doclayout_v2pp_doclayout_v3	paligemmallava
aya_visiongot_ocr2shieldgemma2gemma3internvlllava_next_video
llava_nextllava_onevisionvipllavamistral3
qwen2_5_vlqwen2_vlsam3_tracker_videosam3_trackerpp_chart2tablealtclip_vision_modelclip_vision_modelchinese_clip_vision_modelclipseg_vision_modelmetaclip_2_vision_modelmlcd_visionmlcdsiglip_vision_modelsiglip2_vision_modelxclip_vision_modelclipseg_text_modelclip_text_modelmetaclip_2_text_modelsiglip_text_modelsiglip2_text_modelxclip_text_modelc            &     !   i dt        dd      gdg t        dd      t        dd	      t        d
d      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        d d!      t        d"d#      t        d$d%      t        d&d'      t        d(d)      t        d*d+      t        d,d-      t        d.d-      t        d/d0      t        d1d2      t        d3d4      t        d5d6      t        d7d8      t        d9d:      t        d;d<      t        d=d>      t        d?d@      t        dAdB      t        dCdD      t        dEdF      t        dGdH      t        dIdJ      t        dKdL      t        dMdN      t        dOdP      t        dQdR      t        dSdTgdUt        dVW      t        dXW      gY      t        dZd[t        dVW      gY      d\t        d]d^      t        d_d`      t        dadb      t        dcdd      gdet        d]d^      t        d_d`      t        dadb      t        dcdd      t        dfdg      gdht	        dij      gdkt	        dlj      gdmt        d]d^      t        d_d`      t        dndo      t        dpdq      t        dcdd      gdrt        d]d^      t        d_d`      t        dsdt      gdut        d]d^      t        d_d`      t        dvdw      t        dcdd      gdxt        dydz      t        d{d`      t        d|d}      gd~t        dd      t        dd      t        dd^      gdt        dd^      t        dd      gdt	        dd      t        dd      gdt	        d      gdt        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      gdt        dd      gdt        dd      gi dt        dd      gdt        dd      t        dd      gdt        dd      t        dd      gdt	        dd      gdt        dd      t        dd      t        dd      gdt        dd      t        dd      t        dd«      gdt        ddū      t        ddgdt        dVW      t        dXW      gY      t        dgdt        dVW      gY      gdt        ddgdt        dVW      t        dXW      gY      t        ddt        dVW      gY      gdt        ddt        dXddӬԫ      gY      t        ddt        dXddӬԫ      gY      gdt        ddū      t        dd׫      t        ddgdt        dVW      t        dXW      gY      t        ddt        dVW      gY      gdt        ddgdt        dVW      t        dXW      gY      t        ddt        dVW      gY      gdt        did߫      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        ddt        dVdX      gY      t        ddt        dVdX      gY      t        dgddgt        dVW      gY      t        dgddgt        dVdX      gY      t        ddgd dgt        dVdX      gY      gdt        dd      t        dd      t        dd      t        d	d
      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd       t        d!d"      t        d#d$      t        d%d&      t        d'd(      t        d)d*      gd+t        dd      t        dd      t        d	d
      t        d,d-      gd.g t        dd      t        d/d0      t        d1d2      t        dd      t        d	d
      t        d3d4      t        d5d6      t        d7d8      t        d9d:      t        d;d<      t        d=d>      t        d?d@      t        dAdB      t        dCdD      t        dEdF      t        dGdH      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd       t        d!d"      t        d#d$      t        d%d&      t        d'd(      t        d)d*      dIt        dd      t        d/d0      t        dd      t        d	d
      gdJt        dd      t        ddK      t        d	dL      t        d,d-      gt        dMdN      t        dOdP      t        dQgdRt        dVW      gY      t        dSgdTt        dVW      gY      gt        dUdVgdt        dVW      t        dXW      gY      t        dWdt        dVW      gY      gt        dXdY      t        dZd[      t        d\d0      t        d]d^      t        d_d`      t        dda      t        dbd      t        dcdd      t        degg dft        dVW      gY      g	t        dZd[      t        dXdY      t        dgg dft        dVW      gY      t        dhd0      t        dbd      t        dcdd      gt        didj      t        dkdl      t        dmdn      t        dodp      t        dqdr      t        dsdt      t        dudv      t        dwdx      t        dydz      t        d{d|      t        d}d~      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      gt        dd      t        dd      t        dd      t        dd      t        dd      t        dgg dt        dVW      gY      t        dgg dt        dVW      gY      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd      t        dd«      t        dÐdī      t        dŐdƫ      gt        dǐdȬ      t        dɐdʬ      gd˜} | dxx   | d   j                         z  cc<   | dxx   t        d͐dά      t        dϐdЬ      gz  cc<   | d   j                         | d<   | dxx   t        ddҫ      gz  cc<   | d   j                         | d<   | dxx   t        dԐdի      gz  cc<   | d   j                         | d<   | dxx   t        dאdث      gz  cc<   | d   j                         | d<   | dxx   t        dd      t        dېd׬      t        dܐdݬ      gz  cc<   | d   j                         | d<   | dxx   | d   j                         z  cc<   | d   j                         | d<   | dxx   t        ddث      t        ddݫ      gz  cc<   t        j                         D ]   \  }}|| v r| |   j                         | |<   " | S (  Naltclipzlayer\.zlayers.source_patternstarget_patternsdeepseek_v4z^embed\.weight$zembed_tokens.weightz^head\.weight$zlm_head.weightz^norm\.weight$znorm.weightz^hc_head_fn$zhc_head.hc_fnz^hc_head_base$zhc_head.hc_basez^hc_head_scale$zhc_head.hc_scalez^layers\.(\d+)\.attn_norm\.zlayers.\1.input_layernorm.z^layers\.(\d+)\.ffn_norm\.z#layers.\1.post_attention_layernorm.z^layers\.(\d+)\.hc_attn_fn$zlayers.\1.attn_hc.fnz^layers\.(\d+)\.hc_attn_base$zlayers.\1.attn_hc.basez^layers\.(\d+)\.hc_attn_scale$zlayers.\1.attn_hc.scalez^layers\.(\d+)\.hc_ffn_fn$zlayers.\1.ffn_hc.fnz^layers\.(\d+)\.hc_ffn_base$zlayers.\1.ffn_hc.basez^layers\.(\d+)\.hc_ffn_scale$zlayers.\1.ffn_hc.scalez^layers\.(\d+)\.attn\.zlayers.\1.self_attn.z^layers\.(\d+)\.ffn\.zlayers.\1.mlp.z%^layers\.(\d+)\.self_attn\.attn_sink$zlayers.\1.self_attn.sinksz6^layers\.(\d+)\.self_attn\.indexer\.compressor\.norm\.z/layers.\1.self_attn.compressor.indexer.kv_norm.z4^layers\.(\d+)\.self_attn\.indexer\.compressor\.ape$z4layers.\1.self_attn.compressor.indexer.position_biasz0^layers\.(\d+)\.self_attn\.indexer\.compressor\.z'layers.\1.self_attn.compressor.indexer.z$^layers\.(\d+)\.self_attn\.indexer\.z-^layers\.(\d+)\.self_attn\.compressor\.norm\.z'layers.\1.self_attn.compressor.kv_norm.z+^layers\.(\d+)\.self_attn\.compressor\.ape$z,layers.\1.self_attn.compressor.position_biasz(^layers\.(\d+)\.self_attn\.(.*?)\.wq_a\.z layers.\1.self_attn.\2.q_a_proj.z(^layers\.(\d+)\.self_attn\.(.*?)\.wq_b\.z layers.\1.self_attn.\2.q_b_proj.z'^layers\.(\d+)\.self_attn\.(.*?)\.wkv\.zlayers.\1.self_attn.\2.kv_proj.z)^layers\.(\d+)\.self_attn\.(.*?)\.wgate\.z!layers.\1.self_attn.\2.gate_proj.z(^layers\.(\d+)\.self_attn\.(.*?)\.wo_a\.z layers.\1.self_attn.\2.o_a_proj.z(^layers\.(\d+)\.self_attn\.(.*?)\.wo_b\.z layers.\1.self_attn.\2.o_b_proj.z!^layers\.(\d+)\.self_attn\.wq_a\.zlayers.\1.self_attn.q_a_proj.z!^layers\.(\d+)\.self_attn\.wq_b\.zlayers.\1.self_attn.q_b_proj.z ^layers\.(\d+)\.self_attn\.wkv\.zlayers.\1.self_attn.kv_proj.z!^layers\.(\d+)\.self_attn\.wo_a\.zlayers.\1.self_attn.o_a_proj.z!^layers\.(\d+)\.self_attn\.wo_b\.zlayers.\1.self_attn.o_b_proj.z#^layers\.(\d+)\.self_attn\.q_norm\.zlayers.\1.self_attn.q_a_norm.z ^layers\.(\d+)\.mlp\.gate\.bias$z*layers.\1.mlp.gate.e_score_correction_biasz)^layers\.(\d+)\.mlp\.shared_experts\.w1\.z'layers.\1.mlp.shared_experts.gate_proj.z)^layers\.(\d+)\.mlp\.shared_experts\.w2\.z'layers.\1.mlp.shared_experts.down_proj.z)^layers\.(\d+)\.mlp\.shared_experts\.w3\.z%layers.\1.mlp.shared_experts.up_proj.zexperts.*.w1.weightzexperts.*.w3.weightzexperts.gate_up_projr   )dimr   )rR   rS   
operationszexperts.*.w2.weightzexperts.down_projr/   z^language_model.modelzmodel.language_modelz^language_model.lm_headlm_headz^vision_towerzmodel.vision_towerz^multi_modal_projectorzmodel.multi_modal_projectorr6   z^image_newlinezmodel.image_newliner@   vision_model)prefix_to_removerJ   
text_modelvideo_llavaz^image_towerzmodel.image_towerz^video_towerzmodel.video_towerfuyuz^vision_embed_tokenszmodel.vision_embed_tokensmllamaz^vision_modelzmodel.vision_modelemu3z^text_model.modelzmodel.text_modelz^text_model.lm_headz^vqmodelzmodel.vqmodelpaddleocr_vlz^mlp_ARzmodel.projectorz^visualzmodel.visualz1^model(?!(\.visual|\.projector|\.language_model))r;   z((?<!_)model(?!\.(language_model|visual))colqwen2modelvlm)rY   model_prefixz vlm(?!\.(language_model|visual))zvlm.language_modeltimm_wrapper
timm_model)prefix_to_addpi0
state_projzembed_action_time.state_projaction_in_projz embed_action_time.action_in_projaction_time_mlp_inz$embed_action_time.action_time_mlp_inaction_time_mlp_outz%embed_action_time.action_time_mlp_outz&^paligemma_with_expert.paligemma.modelz	model.vlmz)^paligemma_with_expert.gemma_expert.modelz	model.ditz+^paligemma_with_expert.gemma_expert.lm_headzmodel.dit.embed_tokensz(^paligemma_with_expert.paligemma.lm_headz%model.vlm.language_model.embed_tokensesmz9encoder.layer.*.attention.self.rotary_embeddings.inv_freqzrotary_embeddings.inv_freqdinov3_convnextz(?<!model\.)stageszmodel.stages
dinov3_vitz(?<!model\.)layer.zmodel.layer.
timesfm2_5ff0fc1ff1fc2olmo_hybridattention_layer_norminput_layernormfeedforward_layer_normpost_attention_layernormqwen3_5_textlanguage_modelr=   z'detector_model.vision_encoder.backbone.zvision_encoder.backbone.ztracker_neck.zvision_encoder.neck.ztracker_model.(.+)z\1t5gemma2_encoderz-(?<!decoder\.)(?<!text_model\.)embed_tokens\.ztext_model.embed_tokens.z5(?<!decoder\.)(?<!text_model\.)(?<!layer)(?<!_)norm\.ztext_model.norm.zA(?<!vision_model.encoder\.)(?<!decoder\.)(?<!text_model\.)layers.ztext_model.layers.r   z.block_sparse_moe.z.mlp.z.experts.*.w1.weightz.experts.*.w3.weightz.experts.gate_up_projz.experts.*.w2.weightz.experts.down_projr   zmlp.experts.*.gate_proj.weightzmlp.experts.*.up_proj.weightzmlp.experts.gate_up_projzmlp.experts.*.down_proj.weightzmlp.experts.down_projqwen3_vl_moe   T)
check_dimsphimoez.gate.weightz.router.weightlfm2_moez feed_forward.experts.*.w1.weightz feed_forward.experts.*.w3.weightz!feed_forward.experts.gate_up_projz feed_forward.experts.*.w2.weightzfeed_forward.experts.down_projernie4_5_vl_moevision_towerzspatial_linear.0zspatial_linear.fc1zspatial_linear.2zspatial_linear.fc2zspatial_linear.3zspatial_linear.lnztemporal_linear.0ztemporal_linear.fc1ztemporal_linear.2ztemporal_linear.fc2ztemporal_linear.3ztemporal_linear.lnz!(?<!language_model\.)embed_tokenszlanguage_model.embed_tokensz(?<!language_model\.)layerszlanguage_model.layersz(?<!_)(?<!\w)norm\.zlanguage_model.norm.zmlp.gate.weight_1zmlp.vision_moe.gate.weight)dim0dim1zmlp.gate.weightzmlp.text_moe.gate.weightz'mlp.moe_statics.e_score_correction_biasz5mlp.text_moe.gate.moe_statics.e_score_correction_biasz7mlp.vision_moe.gate.moe_statics.e_score_correction_biaszexperts.*.down_proj.weightztext_moe.experts.down_projzvision_moe.experts.down_proj)	stack_dim
concat_dimzexperts.*.gate_proj.weightzexperts.*.up_proj.weightztext_moe.experts.gate_up_projzvision_moe.experts.gate_up_projdetrzbackbone.conv_encoderbackboneout_projo_projzlayers.(\d+).fc1zlayers.\1.mlp.fc1zlayers.(\d+).fc2zlayers.\1.mlp.fc2zbbox_attention.q_linearzbbox_attention.q_projzbbox_attention.k_linearzbbox_attention.k_projzmask_head.lay1zmask_head.conv1.convzmask_head.gn1zmask_head.conv1.normzmask_head.lay2zmask_head.conv2.convzmask_head.gn2zmask_head.conv2.normzmask_head.adapter1z"mask_head.fpn_stages.0.fpn_adapterzmask_head.lay3z"mask_head.fpn_stages.0.refine.convzmask_head.gn3z"mask_head.fpn_stages.0.refine.normzmask_head.adapter2z"mask_head.fpn_stages.1.fpn_adapterzmask_head.lay4z"mask_head.fpn_stages.1.refine.convzmask_head.gn4z"mask_head.fpn_stages.1.refine.normzmask_head.adapter3z"mask_head.fpn_stages.2.fpn_adapterzmask_head.lay5z"mask_head.fpn_stages.2.refine.convzmask_head.gn5z"mask_head.fpn_stages.2.refine.normzmask_head.out_layzmask_head.output_convr+   zencoder.encoder.(\d+).layerszencoder.aifi.\1.layersconditional_detrzself_attn.out_projzself_attn.o_projzencoder_attn.out_projzencoder_attn.o_projz%decoder.layers.(\d+).sa_qcontent_projz*decoder.layers.\1.self_attn.q_content_projz!decoder.layers.(\d+).sa_qpos_projz&decoder.layers.\1.self_attn.q_pos_projz%decoder.layers.(\d+).sa_kcontent_projz*decoder.layers.\1.self_attn.k_content_projz!decoder.layers.(\d+).sa_kpos_projz&decoder.layers.\1.self_attn.k_pos_projzdecoder.layers.(\d+).sa_v_projz"decoder.layers.\1.self_attn.v_projz%decoder.layers.(\d+).ca_qcontent_projz-decoder.layers.\1.encoder_attn.q_content_projz!decoder.layers.(\d+).ca_qpos_projz)decoder.layers.\1.encoder_attn.q_pos_projz%decoder.layers.(\d+).ca_kcontent_projz-decoder.layers.\1.encoder_attn.k_content_projz!decoder.layers.(\d+).ca_kpos_projz)decoder.layers.\1.encoder_attn.k_pos_projzdecoder.layers.(\d+).ca_v_projz%decoder.layers.\1.encoder_attn.v_projz&decoder.layers.(\d+).ca_qpos_sine_projz.decoder.layers.\1.encoder_attn.q_pos_sine_projdeformable_detrd_finezlayers.\1.mlp.layers.0zlayers.\1.mlp.layers.1z	backbone.zmodel.zembedding.weightzembeddings.weightzmixer.experts.*.up_proj.weightzmixer.experts.up_projz mixer.experts.*.down_proj.weightzmixer.experts.down_projz'feed_forward.experts.*.gate_proj.weightz%feed_forward.experts.*.up_proj.weightz'feed_forward.experts.*.down_proj.weightzencoder.layerslayersemb_lnzembeddings.LayerNormzattn.out_projfc11up_projfc12	gate_proj	down_projnorm1norm2post_mlp_layernormz	attn.Wqkv)zself_attn.q_projzself_attn.k_projzself_attn.v_projz
mixer.Wqkvzmixer.out_projzencoder\.pre_encode\.conv\.zencoder.subsampling.layers.zencoder\.pre_encode\.out\.zencoder.subsampling.linear.z7transf_decoder\._embedding\.position_embedding\.pos_enczdecoder.pos_emb.weightz+transf_decoder\._embedding\.token_embeddingzdecoder.embed_tokensz&transf_decoder\._embedding\.layer_normzdecoder.embedding_layernormz*transf_decoder\._decoder\.final_layer_normzdecoder.normz transf_decoder\._decoder\.layerszdecoder.layerszencoder_decoder_proj\.zdecoder.proj.z"encoder\.(.+)\.self_attn\.linear_qzencoder.\1.self_attn.q_projz"encoder\.(.+)\.self_attn\.linear_kzencoder.\1.self_attn.k_projz"encoder\.(.+)\.self_attn\.linear_vzencoder.\1.self_attn.v_projz$encoder\.(.+)\.self_attn\.linear_outzencoder.\1.self_attn.o_projz$encoder\.(.+)\.self_attn\.linear_posz$encoder.\1.self_attn.relative_k_projz$encoder\.(.+)\.self_attn\.pos_bias_uzencoder.\1.self_attn.bias_uz$encoder\.(.+)\.self_attn\.pos_bias_vzencoder.\1.self_attn.bias_vz)decoder\.(.+)\.first_sub_layer\.query_netzdecoder.\1.self_attn.q_projz'decoder\.(.+)\.first_sub_layer\.key_netzdecoder.\1.self_attn.k_projz)decoder\.(.+)\.first_sub_layer\.value_netzdecoder.\1.self_attn.v_projz.decoder\.(.+)\.first_sub_layer\.out_projectionzdecoder.\1.self_attn.o_projz\.second_sub_layer\.query_netz.encoder_attn.q_projz\.second_sub_layer\.key_netz.encoder_attn.k_projz\.second_sub_layer\.value_netz.encoder_attn.v_projz"\.second_sub_layer\.out_projectionz.encoder_attn.o_projz\.third_sub_layer\.dense_inz.mlp.fc1z\.third_sub_layer\.dense_outz.mlp.fc2z\.layer_norm_1\.z.input_layernorm.z\.layer_norm_2\.z.post_attention_layernorm.z\.layer_norm_3\.z.final_layernorm.z\.conv\.batch_normz
.conv.normzlog_softmax\.mlp\.layer0proj_outz^vision_model\.zmodel\.vision_tower\.zencoder\.layers\.zlayers\.z\.ls1z
\.lambda_1z\.ls2z
\.lambda_2z(layers\.\d+)\.attn\.proj\.z\1.attention.projection_layer.zattn.qkv.weight)zattention.q_proj.weightzattention.k_proj.weightzattention.v_proj.weightzattn.qkv.bias)zattention.q_proj.biaszattention.k_proj.biaszattention.v_proj.biasz	\.norm1\.z\.layernorm_before\.z	\.norm2\.z\.layernorm_after\.z\.embeddings\.class_embeddingz\.embeddings\.cls_tokenz \.embeddings\.position_embeddingz!\.embeddings\.position_embeddingsz\.embeddings\.patch_embedding\.z,\.embeddings\.patch_embeddings\.projection\.z^language_model\.model\.zmodel\.language_model\.z^language_model\.lm_head\.z	lm_head\.z
^mlp1\.0\.z*model\.multi_modal_projector\.layer_norm\.z
^mlp1\.1\.z(model\.multi_modal_projector\.linear_1\.z
^mlp1\.3\.z(model\.multi_modal_projector\.linear_2\.zLayerNorm.gammazLayerNorm.weightzLayerNorm.betazLayerNorm.bias)
nemotron_hjamba
nomic_bertjina_embeddings_v3
cohere_asrqianfan_ocrlegacyr   z
.weight_g$z".parametrizations.weight.original0z
.weight_v$z".parametrizations.weight.original1r   z,mlp.gate.moe_statics.e_score_correction_biasr   z).block_sparse_moe.e_score_correction_biasz.mlp.e_score_correction_biasr)   zmlp.e_score_correction_biasz mlp.gate.e_score_correction_biashy_v3zmlp\.router\.gate\.weightzmlp\.expert_biaszmlp\.shared_mlp\.zmlp.shared_experts.qwen3_5_moe_textlagunaz#mlp.experts.e_score_correction_biaszmlp.shared_expert.)r   r   r
   r   r   r   r   r	   copy_MODEL_TO_CONVERSION_PATTERNitems)mapping
model_typebase_patterns      R/home/agent/.local/lib/python3.12/site-packages/transformers/conversion_mapping.py$_build_checkpoint_conversion_mappingr   _   s   O
:yQ
O
 	 v
6 +=Ode7v
8 +<N^_9v
: +<m\;v
< ?O\=v
> +<N_`?v
@ +=OabAv
B  > =Cv
J  = FKv
R +I[rsSv
T  @RkUv
Z  ASm[v
` +HZpqav
b +J\tucv
d  @Rkev
j  9 7kv
r  8 1sv
D  H <Ev
L  Y RMv
T  W WUv
\  S J]v
d  G Jev
l  P Jmv
t  N Ouv
F  K CGv
N  K COv
V  J BWv
^  L D_v
f  K Cgv
n  K Cov
v  D @wv
~  D @v
F  C ?Gv
N  D @Ov
V  D @Wv
f  F @gv
r  C Msv
z  L J{v
B  L JCv
J  L HKv
R ))! !7+2KA4FGSv
b  5 3+23cv
	O
v 	+CUkl+EW`a+;Mab+DVst	
wO
B 	+CUkl+EW`a+;Mab+DVst+<Ncd
CO
P 	lNKLQO
R 	L,GHSO
T 	+CUkl+EW`a?L_`?L_`+DVst
UO
b 	+CUkl+EW`a+BTop
cO
l 	+CUkl+EW`a+;Mab+DVst	
mO
x 	+?Qcd+AS\];X
yO
B 	:GXY:~V T 6
CO
R 	 K]s :~V	
SO
^ 	'F+N`tu
_O
f 	LABgO
h 	=Jhi+<Npq 5Gm  6Ho +Tfqr+Witu N 8  K G!
iO
R 	K,
SO
^ 	N+@/RS_O
` 	~&;_MNaO
b 	5%(5%(
cO
j 	13DE35OP
kO
r 	7GV]^_sO
t 	 J\v +;Mcd+@RWX
uO
D	 	KMghSUgh_auv
E	O
N	 	/9**! !8#  A&	 *! !5#

O	O
D
 	42! !;+2KA4FG  @ 7+23
E
O
b
 	 : :%at<=
  7 7%at<=
c
O
z
 	/9>+;<**! !8+2KA4FG  6 4+23
{
O
\ 	66! !D+2KA4FG  B @+23
]O
z 	>>:-/CD-/CD-/BC.0EF.0EF.0DE?A^_9;RS13IJ 3 <%1156
  1 :%1156
 !J KKM! "aL> != >02! ?WXYZ 0.!
 45! ?WXYZ
Q3
{O
b 	2J?:x0.0DE.0DE46MN46MN+-CD?,BC+-CD?,BC/1UV+-QR?,PQ/1UV+-QR?,PQ/1UV+-QR?,PQ.0GH-
cO
R 	:x0.0DE.0DE:<UV	
SO
^ 	 '
2J?'
/1CD'
 24IJ'
 .0DE	'

 .0DE'
 CErs'
 ?Ajk'
 CErs'
 ?Ajk'
 <>cd'
 CEuv'
 ?Amn'
 CEuv'
  ?Amn!'
" <>fg#'
$ 9;l%'
, 46MN-'
. 46MN/'
2 +-CD3'
4 ?,BC5'
6 +-CD7'
8 ?,BC9'
: /1UV;'
< +-QR='
> ?,PQ?'
@ /1UVA'
B +-QRC'
D ?,PQE'
F /1UVG'
H +-QRI'
J ?,PQK'
L .0GHM'
_O
n 	2J?/1CD.0DE.0DE	
oO
z 	:x0.0IJ.0IJ:<UV	
{O
H ;1-/BC4! !8+23 6! !:+23
& =;! !D+2KA4FG  I @+23
  ,i89&=>+-@A7J/7L16<08%@A% !,!
 "aL>
. 8E[\+;XV ,!
 "aL> +;M_`7D^_7DXY
" 9;YZ8:XYUWpqIKbcDFdeH/Z>@QR46FG@B`a@B`a@B`aBDbcBDklBDbcBDbcGIghEGefGIghLNlm;=TU9;RS;=TU@BYZ9;G:KH.0DE.0MN.0DE0-@6D=
B -/GH/=8]38]39;\]!2 3 q!aL>
 !0 1 k!aL>
 <)@A<)?@;=WX>@de=?no68RS8,G=*WX=*UV=*UV3
8  1 2  0 0	
KO
Gb ENgh',,..NH(@	
 	(@	
	 	 &k2779GNN@Bpq   $I.335GLLBDbc  $K0557GLLn-JLnopp {+002GGG'CUfg':Lij';Mbc 
 #*."9">">"@G7;#7#<#<#>>,113GHH<>`a+-BC 
 %A$F$F$H ; 
L %l388:
;
 N    Nc                ^    t         
t               a t        t         j                  |             S )N)$_checkpoint_conversion_mapping_cacher   r   get)r   s    r   !get_checkpoint_conversion_mappingr   %  s(    +3/S/U,8<<ZHIIr   c                h    t         
t               a | t         v r|st        d|  d      |t         | <   y )NzModel type z5 already exists in the checkpoint conversion mapping.)r   r   
ValueError)r   r   	overwrites      r   &register_checkpoint_conversion_mappingr   ,  s>     ,3/S/U,99);zl2ghii7>(4r   c                    t        | j                  dd       }|Lt        |      }|=|dk7  r8t        |      D ]*  \  }}t	        |t
              s|j                  |      ||<   , |S y )Nr    )getattrconfigr   	enumerate
isinstancer   with_submodel_prefix)ra   rc   r   model_specific_conversionsi
conversions         r   $extract_weight_conversions_for_modelr   9  sy    |T:J%Fz%R"%1lb6H!*+E!F b:j,74>4S4ST`4a.q1b *)r   c                   ddl m} g }|-|j                         D cg c]  \  }}t        ||       }}}t	               }| j                         D ]p  \  }	}
t        |
|      s|
j                  j                  |vs,t        |
|	      }|;|j                  |       |j                  |
j                  j                         r |r|j                  t        d             ||j                  |      }|S c c}}w )z
    For a given `model`, obtain the weight conversion mapping if any are registered either as a simple renaming
    `_checkpoint_conversion_mapping` class argument, or in the general WeightConverter mapping.
    r   r   rQ   r   )modeling_utilsr   r   r   setnamed_modulesr   r   r   r   extendaddr   update_weight_conversions)ra   key_mappinghf_quantizer
add_legacyr   weight_conversionskvseen_model_typesname	submoduleconversionss               r   get_model_conversion_mappingr   G  s    0  _j_p_p_rsW[WXZ[nQPQRss u ..0 Bii1i6F6F6Q6QYi6i>y$OK&"))+6 $$Y%5%5%@%@AB !!"CH"MN )CCDVW/ ts   C6)F)r   strr   z&list[WeightConverter | WeightRenaming]r   boolreturnNone)ra   r   rc   r   r   zlist[WeightTransform] | None)NNT)
ra   r   r   zdict[str, str] | Noner   zHfQuantizer | Noner   r   r   zlist[WeightTransform])
__future__r   r   r   typingr   core_model_loadingr   r   r	   r
   r   r   r   r   r   r   r   
quantizersr   r   r   r   r   r   r   r    r   r   <module>r      sU   #   
 
 
 /'6 y6  )6 
 [6  ;6  ;6  [6  K6  6  [6  ;6  6  [6  +6   !6 " k#6 $ k%6 & +'6 ( k)6 * +6 , [-6 . +/6 0 )16 2 y36 4 y56 6 76 8 '96 : ;6 < G=6 > g?6 @ A6 B C6 D |E6 F G6 H I6 J *K6 L .M6 N gO6 P /Q6 R  !4S6 T /U6 V 2W6 X &Y6 Z [6 \ .]6 ^ /_6 ` -a6 b +c6 d .e6 f *g6 h +i6 j )k6  r@F (, $J 
?
?3
? 
? 
	
?  *.'+	))&) %) 	)
 )r   