+
    ÒÜ³j[  ã                   ó”   € ^ RI t ^ RIHtHt ^RIHt ^ RIHt ^ RIH	t	 ^ RI
Ht ^ RIHtHt ^ RIHt  ! R	 R
]4      t ! R R4      tR# )é    N)ÚListÚTuple)ÚBaseAWQForCausalLM)Úfuse_qkv)ÚLlamaLikeBlock)ÚLlamaLikeModel)ÚStarcoder2ForCausalLMÚStarcoder2DecoderLayer)ÚFasterTransformerRMSNormc                   ó´   a € ] tR t^t o RtRt]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t	]V 3R	 lR
 l4       t
]V 3R lR l4       tRtV tR# )ÚStarcoder2AWQForCausalLMr
   Úmax_position_embeddingsc                ó    <€ V ^8„  d   QhRS[ /# ©é   Úmodel©ÚOldStarcoder2ForCausalLM)ÚformatÚ__classdict__s   "€ÚV/home/luca/screen-checking/.venv/lib/python3.14/site-packages/awq/models/starcoder2.pyÚ__annotate__Ú%Starcoder2AWQForCausalLM.__annotate__   s   ø€ ÷ !ñ !Ñ3ñ !ó    c                ó<   € \        V 4      pVP                  4        R # ©N)ÚStarcoder2FuserÚfuse_transformer)r   Úfusers   & r   Úfuse_layersÚ$Starcoder2AWQForCausalLM.fuse_layers   s   € ä Ó&ˆØ×ÑÖ r   c                ó    <€ V ^8„  d   QhRS[ /# r   r   )r   r   s   "€r   r   r      s   ø€ ÷ "ñ "Ñ 8ñ "r   c                ó.   € V P                   P                  # r   )r   Úlayers)r   s   &r   Úget_model_layersÚ)Starcoder2AWQForCausalLM.get_model_layers   s   € à�{‰{×!Ñ!Ð!r   c                ó    <€ V ^8„  d   QhRS[ /# ©r   Úmodule©ÚOldStarcoder2DecoderLayer)r   r   s   "€r   r   r      s   ø€ ÷ 
ñ 
Ñ$=ñ 
r   c                ó„   € \        R RV P                  P                  V P                  P                  P                  R7      # )Tzmlp.act)Úis_scalableÚ
scale_nameÚscale_layerÚscale_shape)ÚdictÚmlpÚactÚc_fcÚout_features)r)   s   &r   Úget_act_for_scalingÚ,Starcoder2AWQForCausalLM.get_act_for_scaling   s1   € äØØ ØŸ
™
Ÿ™ØŸ
™
Ÿ™×4Ñ4ô	
ð 	
r   c                ó    <€ V ^8„  d   QhRS[ /# r   r   )r   r   s   "€r   r   r   &   s   ø€ ÷ Cñ CÑ2ñ Cr   c                óÖ   € V P                   P                  P                  V4      V P                   n        V P                   P                  P                  V4      V P                   n        R # r   )r   Úembed_tokensÚtoÚ
rotary_emb)r   Údevices   &&r   Ú
move_embedÚ#Starcoder2AWQForCausalLM.move_embed%   sD   € à#(§;¡;×#;Ñ#;×#>Ñ#>¸vÓ#Fˆ�‰Ô Ø!&§¡×!7Ñ!7×!:Ñ!:¸6Ó!Bˆ�‰Ör   c                ó    <€ V ^8„  d   QhRS[ /# r(   r*   )r   r   s   "€r   r   r   +   s   ø€ ÷ /ñ /Ñ'@ñ /r   c           
     óz  € . pVP                  \        V P                  V P                  P                  V P                  P
                  V P                  P                  .VR ,          V P                  VR7      4       V P                  P                  P                  P                  V P                  P                  P                  P                  8X  dN   VP                  \        V P                  P                  V P                  P                  .VR,          R7      4       VP                  \        V P                  V P                  P                  .VR,          V P                  R7      4       VP                  \        V P                  P                  V P                  P                  .VR,          R7      4       V# )zself_attn.q_proj)Úprev_opr$   ÚinpÚmodule2inspectÚkwargszself_attn.o_proj)rB   r$   rC   zmlp.c_fc)rB   r$   rC   rD   z
mlp.c_proj)Úappendr1   Úinput_layernormÚ	self_attnÚq_projÚk_projÚv_projÚweightÚshapeÚo_projÚpost_attention_layernormr2   r4   r3   Úc_proj)r)   Ú
input_featÚmodule_kwargsr$   s   &&& r   Úget_layers_for_scalingÚ/Starcoder2AWQForCausalLM.get_layers_for_scaling*   sc  € àˆð 	�‰ÜØ×.Ñ.à×$Ñ$×+Ñ+Ø×$Ñ$×+Ñ+Ø×$Ñ$×+Ñ+ðð
 Ð1Õ2Ø%×/Ñ/Ø$ô
ô	
ð ×Ñ×"Ñ"×)Ñ)×/Ñ/°6×3CÑ3C×3JÑ3J×3QÑ3Q×3WÑ3WÔWØ�M‰MÜØ"×,Ñ,×3Ñ3Ø"×,Ñ,×3Ñ3Ð4Ø"Ð#5Õ6ôôð 	�‰ÜØ×7Ñ7ØŸ
™
Ÿ™Ð(Ø˜zÕ*Ø%Ÿz™zô	ô	
ð 	�‰ÜØŸ
™
Ÿ™ØŸ
™
×)Ñ)Ð*Ø˜|Õ,ôô	
ð ˆr   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú
layer_typeÚmax_seq_len_keyÚstaticmethodr    r%   r6   r>   rS   Ú__static_attributes__Ú__classdictcell__©r   s   @r   r   r      ss   ø‡ € Ø)€JØ/€Oà÷!ó ð!ð ÷"ó ð"ð ÷
ó ð
ð ÷Có ðCð ÷/ó ö/r   r   c                   ó8   a € ] tR t^\t o V 3R lR ltR tRtV tR# )r   c                ó    <€ V ^8„  d   QhRS[ /# r   r   )r   r   s   "€r   r   ÚStarcoder2Fuser.__annotate__]   s   ø€ ÷ 
ñ 
Ñ6ñ 
r   c                óø   € Wn         V P                   P                  4        UUu. uFA  w  r#R P                  4       VP                  P                  P                  4       9   g   K>  W#3NKC  	  uppV n        R# u uppi )r
   N)r   Únamed_modulesÚlowerÚ	__class__rV   Ústarcoder2_blocks)Úselfr   Únamer)   s   &&  r   Ú__init__ÚStarcoder2Fuser.__init__]   sj   € ØŒ
ð !%§
¡
× 8Ñ 8Ô :ôO
á :‘�Ø'×-Ñ-Ó/°6×3CÑ3C×3LÑ3L×3RÑ3RÓ3TÑTô ˆT‹NÙ :òO
ˆÖùó O
s   ¤;A6Á$A6c                óÞ  € . p\         P                   ! V P                  P                  P                  R R7       EFy  p\        \	        VP                  4       P                  4       4      4      P                  p\        VVP                  P                  VP                  P                  VP                  P                  4      pVP                  pVP                  pVP                  \!        V P                  P"                  P$                  V P                  P"                  P&                  V P                  P"                  P(                  VVP                  P*                  VP,                  VVVV P                  P"                  P.                  V P                  P"                  P0                  R7      4       EK|  	  \3        V P                  P"                  P4                  VV P                  P                  P6                  V P                  P                  P8                  4      V P                  n        \;        V P                  P                  RV P                  P                  P<                  4       R# )zFusing layers...)Údesc)Úhidden_sizeÚn_headsÚ
n_kv_headsÚ	qkv_layerrN   r2   Únorm_1Únorm_2ÚdevÚmax_seq_lenÚ
rope_thetaÚblocksN)Útqdmr   r$   ÚnextÚiterÚ
state_dictÚvaluesr=   r   rH   rI   rJ   rK   rG   rO   rF   r   Úconfigrn   Únum_attention_headsÚnum_key_value_headsrN   r2   ru   rv   r   Ú
vocab_sizer:   ÚnormÚsetattrrw   )rh   rw   r)   r=   Úqkvrr   rs   s   &      r   r   Ú Starcoder2Fuser.fuse_transformerf   s¸  € Øˆô —i’i §
¡
× 0Ñ 0× 7Ñ 7Ð>P×QÐQˆFÜœ$˜v×0Ñ0Ó2×9Ñ9Ó;Ó<Ó=×DÑDˆFÜØØ× Ñ ×'Ñ'Ø× Ñ ×'Ñ'Ø× Ñ ×'Ñ'ó	ˆCð ×+Ñ+ˆFØ×4Ñ4ˆFØ�M‰MÜØ $§
¡
× 1Ñ 1× =Ñ =Ø ŸJ™J×-Ñ-×AÑAØ#Ÿz™z×0Ñ0×DÑDØ!Ø!×+Ñ+×2Ñ2ØŸ
™
Ø!Ø!ØØ $§
¡
× 1Ñ 1× =Ñ =Ø#Ÿz™z×0Ñ0×;Ñ;ô÷ñ Rô6 *Ø�J‰J×Ñ×(Ñ(ØØ�J‰J×Ñ×)Ñ)Ø�J‰J×Ñ×!Ñ!ó	
ˆ�
‰
Ôô 	�—
‘
× Ñ  (¨D¯J©J×,<Ñ,<×,CÑ,CÖDr   )r   rg   N)rV   rW   rX   rY   rj   r   r]   r^   r_   s   @r   r   r   \   s   ø‡ € ÷
ð 
÷%Eð %Er   r   )rx   Útypingr   r   Úbaser   Úawq.utils.fused_utilsr   Úawq.modules.fused.blockr   Úawq.modules.fused.modelr   Ú2transformers.models.starcoder2.modeling_starcoder2r	   r   r
   r+   Úawq.modules.fused.normr   r   r   rU   r   r   Ú<module>rŒ      s=   ðÛ ß Ý $Ý *Ý 2Ý 2÷õ <ôLÐ1ô L÷\/Eó /Er   