+
    TV-j	  ã                   ó@  € ^ RI Ht ^ RIHtHt ^ RIHt ^ RIH	t	 ^RI
HtHtHt ] ! R R]4      4       t ! R R]	P                  4      t ! R	 R
]	P                  4      t ! R R]	P                  4      t ! R R]	P                  4      t ! R R]	P                  4      tR# )é    )Ú	dataclass)ÚAnyÚOptionalN)ÚBaseModelArgsÚcreate_attention_maskÚscaled_dot_product_attentionc                   ó<   a € ] tR t^t o RtRtRtRtV 3R ltRt	V t
R# )Ú	ModelArgsgñhãˆµøä>i À  i † Tc                ó’   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R	&   S[;R
&   # )é   Ú
model_typeÚhidden_sizeÚnum_hidden_layersÚintermediate_sizeÚnum_attention_headsÚnum_key_value_headsÚnorm_epsilonÚ
vocab_sizeÚ
rope_thetaÚtie_word_embeddings)ÚstrÚintÚfloatÚbool)ÚformatÚ__classdict__s   "€Úi/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_lm/models/starcoder2.pyÚ__annotate__ÚModelArgs.__annotate__   s„   ø‡ ‚ á�Oñ ñ Ññ ñ Ññ	 ñ
 Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ñ$ò ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r   r   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r   s   @r   r
   r
      s#   ø‡ € ð €LØ€JØ€JØ $Ð÷ ƒ r    r
   c                   óT   a a€ ] tR t^t oV3R lV 3R lltRV3R lR lltRtVtV ;t# )Ú	Attentionc                ó    <€ V ^8„  d   QhRS[ /# ©r   Úargs©r
   )r   r   s   "€r   r   ÚAttention.__annotate__   s   ø€ ÷ Oñ O™Yñ Or    c                óZ  <€ \         SV `  4        Wn        VP                  pVP                  ;V n        pVP                  ;V n        pVP                  VP                  ,          pVR,          V n        \        P                  ! W#V,          RR7      V n        \        P                  ! W$V,          RR7      V n        \        P                  ! W$V,          RR7      V n        \        P                  ! W5,          VRR7      V n        \        P                  ! VRVP                   R7      V n        R# )g      à?T©ÚbiasF)ÚtraditionalÚbaseNg      à¿)ÚsuperÚ__init__r-   r   r   Ún_headsr   Ú
n_kv_headsÚscaleÚnnÚLinearÚq_projÚk_projÚv_projÚo_projÚRoPEr   Úrope)Úselfr-   Údimr7   r8   Úhead_dimÚ	__class__s   &&    €r   r6   ÚAttention.__init__   s×   ø€ Ü‰ÑÔØŒ	à×ÑˆØ!%×!9Ñ!9Ð9ˆŒ�wØ'+×'?Ñ'?Ð?ˆŒ˜*à×#Ñ# t×'?Ñ'?Õ?ˆØ˜t•^ˆŒ
ä—i’i ¨xÕ%7¸dÔCˆŒÜ—i’i °(Õ%:ÀÔFˆŒÜ—i’i °(Õ%:ÀÔFˆŒÜ—i’i Õ 2°C¸dÔCˆŒÜ—G’G˜H°%¸d¿o¹oÔNˆŽ	r    c                óŽ   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[,          RS[ P                  /# ©r   ÚxÚmaskÚcacheÚreturn©ÚmxÚarrayr   r   )r   r   s   "€r   r   r/   ,   sH   ø€ ÷ #ñ #á�8‰8ð#ñ ‘r—x‘xÕ ð#ñ ™�}ð	#ñ
 
�‰ñ#r    c           	     ó  € VP                   w  rEpV P                  V4      V P                  V4      V P                  V4      r˜pVP	                  WEV P
                  R4      P                  ^ ^^^4      pVP	                  WEV P                  R4      P                  ^ ^^^4      pV	P	                  WEV P                  R4      P                  ^ ^^^4      p	VeM   V P                  WsP                  R7      pV P                  WƒP                  R7      pVP                  W‰4      w  r‰M"V P                  V4      pV P                  V4      p\        WxW“V P                  VR7      p
V
P                  ^ ^^^4      P	                  WER4      p
V P                  V
4      # )é   )Úoffset)rK   r9   rJ   éÿÿÿÿ)Úshaper<   r=   r>   Úreshaper7   Ú	transposer8   rA   rR   Úupdate_and_fetchr   r9   r?   )rB   rI   rJ   rK   ÚBÚLÚDÚqueriesÚkeysÚvaluesÚoutputs   &&&&       r   Ú__call__ÚAttention.__call__,   sS  € ð —'‘'‰ˆˆaà $§¡¨A£°·±¸A³ÀÇÁÈAÃ�vˆð —/‘/ !¨¯©°bÓ9×CÑCÀAÀqÈ!ÈQÓOˆØ�|‰|˜A $§/¡/°2Ó6×@Ñ@ÀÀAÀqÈ!ÓLˆØ—‘  d§o¡o°rÓ:×DÑDÀQÈÈ1ÈaÓPˆàÒØ—i‘i ·±�iÓ=ˆGØ—9‘9˜T¯,©,�9Ó7ˆDØ ×1Ñ1°$Ó?‰LˆD�&à—i‘i Ó(ˆGØ—9‘9˜T“?ˆDä-Ø˜6°d·j±jÀtô
ˆð ×!Ñ! ! Q¨¨1Ó-×5Ñ5°a¸BÓ?ˆØ�{‰{˜6Ó"Ð"r    )	r-   r=   r7   r8   r?   r<   rA   r9   r>   ©NN©	r"   r#   r$   r%   r6   r_   r'   r(   Ú__classcell__©rE   r   s   @@r   r*   r*      s    ù‡ € ÷Oó O÷"#÷ #ò #r    r*   c                   ó8   a a€ ] tR t^Kt oV 3R ltR tRtVtV ;t# )ÚMLPc                ó˜   <€ \         SV `  4        \        P                  ! WR R7      V n        \        P                  ! W!R R7      V n        R# )Tr1   N)r5   r6   r:   r;   Úc_fcÚc_proj)rB   rC   Ú
hidden_dimrE   s   &&&€r   r6   ÚMLP.__init__L   s2   ø€ Ü‰ÑÔÜ—I’I˜c°DÔ9ˆŒ	Ü—i’i 
°dÔ;ˆŽr    c                ój   € V P                  \        P                  ! V P                  V4      4      4      # ©N)ri   r:   Úgelurh   )rB   rI   s   &&r   r_   ÚMLP.__call__Q   s"   € Ø�{‰{œ2Ÿ7š7 4§9¡9¨Q£<Ó0Ó1Ð1r    )rh   ri   rb   rd   s   @@r   rf   rf   K   s   ù‡ € õ<÷
2ò 2r    rf   c                   óT   a a€ ] tR t^Ut oV3R lV 3R lltRV3R lR lltRtVtV ;t# )ÚTransformerBlockc                ó    <€ V ^8„  d   QhRS[ /# r,   r.   )r   r   s   "€r   r   ÚTransformerBlock.__annotate__V   s   ø€ ÷ ñ ™Yñ r    c                ó¢  <€ \         SV `  4        VP                  V n        VP                  V n        \        V4      V n        \        VP                  VP                  4      V n	        \        P                  ! VP                  VP                  R 7      V n        \        P                  ! VP                  VP                  R 7      V n        Wn        R# )©ÚepsN)r5   r6   r   r   r7   r*   Ú	self_attnrf   r   Úmlpr:   Ú	LayerNormr   Úinput_layernormÚpost_attention_layernormr-   ©rB   r-   rE   s   &&€r   r6   ÚTransformerBlock.__init__V   s–   ø€ Ü‰ÑÔØ×+Ñ+ˆÔØ×/Ñ/ˆŒä" 4›ˆŒÜ�t×'Ñ'¨×)?Ñ)?Ó@ˆŒÜ!Ÿ|š|¨D×,<Ñ,<À$×BSÑBSÔTˆÔÜ(*¯ªØ×Ñ $×"3Ñ"3ô)
ˆÔ%ð Ž	r    c                óŽ   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[,          RS[ P                  /# rH   rM   )r   r   s   "€r   r   rs   c   sH   ø€ ÷ 
ñ 
á�8‰8ð
ñ ‘r—x‘xÕ ð
ñ ™�}ð	
ñ
 
�‰ñ
r    c                ó¨   € V P                  V P                  V4      W#4      pW,           pV P                  V P                  V4      4      pWT,           pV# rm   )rw   rz   rx   r{   )rB   rI   rJ   rK   ÚrÚhÚouts   &&&&   r   r_   ÚTransformerBlock.__call__c   sK   € ð �N‰N˜4×/Ñ/°Ó2°DÓ@ˆØ�EˆØ�H‰H�T×2Ñ2°1Ó5Ó6ˆØ�eˆØˆ
r    )r-   r   rz   rx   r7   r{   rw   ra   rb   rd   s   @@r   rq   rq   U   s   ù‡ € ÷ó ÷
÷ 
ò 
r    rq   c                   óT   a a€ ] tR t^pt oV3R lV 3R lltRV3R lR lltRtVtV ;t# )ÚStarcoder2Modelc                ó    <€ V ^8„  d   QhRS[ /# r,   r.   )r   r   s   "€r   r   ÚStarcoder2Model.__annotate__q   s   ø€ ÷ 
Jñ 
J™Yñ 
Jr    c                óÎ  <€ \         SV `  4        Wn        VP                  V n        VP                  V n        V P                  ^ 8”  g   Q h\
        P                  ! VP                  VP                  4      V n        \        VP                  4       Uu. uF  p\        VR7      NK  	  upV n        \
        P                  ! VP                  VP                  R7      V n        R# u upi )r   )r-   ru   N)r5   r6   r-   r   r   r:   Ú	Embeddingr   Úembed_tokensÚrangerq   Úlayersry   r   Únorm)rB   r-   Ú_rE   s   && €r   r6   ÚStarcoder2Model.__init__q   s­   ø€ Ü‰ÑÔØŒ	ØŸ/™/ˆŒØ!%×!7Ñ!7ˆÔØ�‰ Ô"Ð"Ð"ÜŸLšL¨¯©¸$×:JÑ:JÓKˆÔä16°t×7MÑ7MÔ1Nó
Ù1N¨AÔ $×'Ñ1Nñ
ˆŒô —L’L ×!1Ñ!1°t×7HÑ7HÔIˆŽ	ùò
s   ÂC"c                ó4   <€ V ^8„  d   QhRS[ P                  /# ©r   Úinputs©rN   rO   )r   r   s   "€r   r   r‡   }   s   ø€ ÷ ñ á—‘ñr    c                óü   € V P                  V4      pVf   R .\        V P                  4      ,          p\        W2^ ,          4      p\	        V P                  V4       F  w  rVV! W4V4      pK  	  V P                  V4      # rm   )rŠ   ÚlenrŒ   r   Úzipr�   )rB   r’   rK   r�   rJ   ÚlayerÚcs   &&&    r   r_   ÚStarcoder2Model.__call__}   so   € ð
 ×Ñ˜fÓ%ˆàŠ=Ø�FœS §¡Ó-Õ-ˆEä$ Q¨a­Ó1ˆä˜DŸK™K¨Ö/‰HˆEÙ�a˜qÓ!ŠAñ 0ð �y‰y˜‹|Ðr    )r-   rŠ   rŒ   r�   r   r   rm   rb   rd   s   @@r   r…   r…   p   s    ù‡ € ÷
Jó 
J÷÷ ò r    r…   c                   ód   a a€ ] tR t^�t oV3R lV 3R lltRV3R lR llt]R 4       tRtVt	V ;t
# )ÚModelc                ó    <€ V ^8„  d   QhRS[ /# r,   r.   )r   r   s   "€r   r   ÚModel.__annotate__�   s   ø€ ÷ Tñ T™Yñ Tr    c                óþ   <€ \         SV `  4        Wn        VP                  V n        \	        V4      V n        VP                  '       g5   \        P                  ! VP                  VP                  R R7      V n        R# R# )Fr1   N)r5   r6   r-   r   r…   Úmodelr   r:   r;   r   r   Úlm_headr|   s   &&€r   r6   ÚModel.__init__�   sY   ø€ Ü‰ÑÔØŒ	ØŸ/™/ˆŒÜ$ TÓ*ˆŒ
Ø×'×'Ð'ÜŸ9š9 T×%5Ñ%5°t·±ÈUÔSˆDŽLñ (r    c                ó4   <€ V ^8„  d   QhRS[ P                  /# r‘   r“   )r   r   s   "€r   r   r�   ˜   s   ø€ ÷ 
ñ 
á—‘ñ
r    c                óÐ   € V P                  W4      pV P                  P                  '       d(   V P                   P                  P	                  V4      pV# V P                  V4      pV# rm   )rŸ   r-   r   rŠ   Ú	as_linearr    )rB   r’   rK   r‚   s   &&& r   r_   ÚModel.__call__˜   sX   € ð
 �j‰j˜Ó'ˆØ�9‰9×(×(Ð(Ø—*‘*×)Ñ)×3Ñ3°CÓ8ˆCð ˆ
ð —,‘,˜sÓ#ˆCØˆ
r    c                ó.   € V P                   P                  # rm   )rŸ   rŒ   )rB   s   &r   rŒ   ÚModel.layers¤   s   € à�z‰z× Ñ Ð r    )r-   r    rŸ   r   rm   )r"   r#   r$   r%   r6   r_   ÚpropertyrŒ   r'   r(   rc   rd   s   @@r   r›   r›   �   s4   ù‡ € ÷Tó T÷
ò 
ð ñ!ó ÷!ð !r    r›   )Údataclassesr   Útypingr   r   Úmlx.coreÚcorerN   Úmlx.nnr:   r4   r   r   r   r
   ÚModuler*   rf   rq   r…   r›   r!   r    r   Ú<module>r¯      s…   ðõ "ß  å Ý ç TÑ Tð ô
%�ó 
%ó ð
%ô.#�—	‘	ô .#ôb2ˆ"�)‰)ô 2ô�r—y‘yô ô6�b—i‘iô ô>!ˆB�I‰Iö !r    