+
    UV-j+  ã                   óX  € ^ RI HtHt ^ RIHt ^ RIHt ^ RIH	t	 ^RI
HtHtHt ^RIHtHt ^RIHtHt ^RIHt ^RIHt  ! R	 R
]P0                  4      t ! R R]P0                  4      t ! R R]P0                  4      t ! R R]P0                  4      t ! R R]P0                  4      tR# )é    )ÚAnyÚOptionalN)Úinitialize_rope)ÚLanguageModelOutputÚcreate_attention_maskÚscaled_dot_product_attention)ÚKVCacheÚRotatingKVCache)ÚMistral4ModelÚ_get_llama_4_attn_scale)ÚMistral©Ú
TextConfigc                   ó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[ /# ©é   Úconfigr   )ÚformatÚ__classdict__s   "€Úq/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_vlm/models/mistral3/language.pyÚ__annotate__ÚAttention.__annotate__   s   ø€ ÷ 
ñ 
™zñ 
ó    c                ó˜  <€ \         SV `  4        VP                  pVP                  ;V n        pVP
                  ;V n        pVP                  ;'       g    VP                  V,          ;V n        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        VP                  V n        V P                  '       dM   \        P                   ! WQP"                  R7      V n        \        P                   ! WQP"                  R7      V n        \)        V P                  VP*                  R,          VP,                  VP*                  VP.                  4      V n        R# )g      à?F©Úbias©ÚepsÚ
rope_thetaNg      à¿)ÚsuperÚ__init__Úhidden_sizeÚnum_attention_headsÚn_headsÚnum_key_value_headsÚ
n_kv_headsÚhead_dimÚscaleÚnnÚLinearÚq_projÚk_projÚv_projÚo_projÚuse_qk_normÚRMSNormÚrms_norm_epsÚq_normÚk_normr   Úrope_parametersÚrope_traditionalÚmax_position_embeddingsÚrope)Úselfr   Údimr&   r(   r)   Ú	__class__s   &&    €r   r#   ÚAttention.__init__   sI  ø€ Ü‰ÑÔà× Ñ ˆØ!'×!;Ñ!;Ð;ˆŒ�wØ'-×'AÑ'AÐAˆŒ˜*à#)§?¡?×#SÐ#S°f×6HÑ6HÈGÕ6SÐSˆŒ˜à˜t•^ˆŒ
ä—i’i ¨xÕ%7¸eÔDˆŒÜ—i’i °(Õ%:ÀÔGˆŒÜ—i’i °(Õ%:ÀÔGˆŒÜ—i’i Õ 2°C¸eÔDˆŒà!×-Ñ-ˆÔØ××ÐÜŸ*š* X×3FÑ3FÔGˆDŒKÜŸ*š* X×3FÑ3FÔGˆDŒKä#Ø�M‰MØ×"Ñ" <Õ0Ø×#Ñ#Ø×"Ñ"Ø×*Ñ*ó
ˆŽ	r   c          
      ó¨   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[S[ P                  ,          RS[S[,          RS[ P                  /# ©r   ÚxÚ
attn_scaleÚmaskÚcacheÚreturn©ÚmxÚarrayr   r   )r   r   s   "€r   r   r   0   sV   ø€ ÷ '#ñ '#á�8‰8ð'#ñ —H‘Hð'#ñ ‘r—x‘xÕ ð	'#ñ
 ™�}ð'#ñ 
�‰ñ'#r   c           	     ó’  € VP                   w  rVpV P                  V4      V P                  V4      V P                  V4      r©pVP	                  WVV P
                  R4      pV	P	                  WVV P                  R4      p	V P                  '       d#   V P                  V4      pV P                  V	4      p	VP                  ^ ^^^4      pV	P                  ^ ^^^4      p	V
P	                  WVV P                  R4      P                  ^ ^^^4      p
^ pVeE   VP                  pV P                  W‹R7      pV P                  W›R7      p	VP                  Wš4      w  ršM"V P                  V4      pV P                  V	4      p	W‚,          p\        W‰W¤V P                  VR7      pVP                  ^ ^^^4      P	                  WVR4      pV P!                  V4      # )é   )Úoffset)rC   r*   rB   éÿÿÿÿ)Úshaper-   r.   r/   Úreshaper&   r(   r1   r4   r5   Ú	transposerJ   r9   Úupdate_and_fetchr   r*   r0   )r:   r@   rA   rB   rC   ÚBÚLÚDÚqueriesÚkeysÚvaluesrJ   Úoutputs   &&&&&        r   Ú__call__ÚAttention.__call__0   s“  € ð —'‘'‰ˆˆaà $§¡¨A£°·±¸A³ÀÇÁÈAÃ�vˆð —/‘/ !¨¯©°bÓ9ˆØ�|‰|˜A $§/¡/°2Ó6ˆð ××ÐØ—k‘k 'Ó*ˆGØ—;‘;˜tÓ$ˆDà×#Ñ# A q¨!¨QÓ/ˆØ�~‰~˜a  A qÓ)ˆØ—‘  d§o¡o°rÓ:×DÑDÀQÈÈ1ÈaÓPˆàˆØÒØ—\‘\ˆFØ—i‘i �iÓ7ˆGØ—9‘9˜T�9Ó1ˆ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)   r5   r.   r&   r(   r0   r4   r-   r9   r*   r1   r/   ©NN©	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r#   rW   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r<   r   s   @@r   r   r      s   ù‡ € ÷
ó 
÷:'#÷ '#ò '#r   r   c                   óP   a a€ ] tR t^Zt oV3R lV 3R lltV3R lR ltRtVtV ;t# )ÚMLPc                ó    <€ V ^8„  d   QhRS[ /# r   r   )r   r   s   "€r   r   ÚMLP.__annotate__[   s   ø€ ÷ >ñ >™zñ >r   c                ó  <€ \         SV `  4        VP                  pVP                  p\        P
                  ! W#R R7      V n        \        P
                  ! W2R R7      V n        \        P
                  ! W#R R7      V n        R# )Fr   N)	r"   r#   r$   Úintermediate_sizer+   r,   Ú	gate_projÚ	down_projÚup_proj)r:   r   r;   Ú
hidden_dimr<   s   &&  €r   r#   ÚMLP.__init__[   sZ   ø€ Ü‰ÑÔà× Ñ ˆØ×-Ñ-ˆ
ÜŸš 3¸Ô?ˆŒÜŸš :¸Ô?ˆŒÜ—y’y °uÔ=ˆŽr   c                ó4   <€ V ^8„  d   QhRS[ P                  /# )r   rD   )rF   rG   )r   r   s   "€r   r   rf   d   s   ø€ ÷ Lñ L™RŸX™Xñ Lr   c                ó–   € V P                  \        P                  ! V P                  V4      4      V P	                  V4      ,          4      # ©N)rj   r+   Úsiluri   rk   )r:   r@   s   &&r   rW   ÚMLP.__call__d   s0   € Ø�~‰~œbŸgšg d§n¡n°QÓ&7Ó8¸4¿<¹<È»?ÕJÓKÐKr   )rj   ri   rk   rZ   rb   s   @@r   rd   rd   Z   s!   ù‡ € ÷>ó >÷L÷ Lð Lr   rd   c                   óX   a a€ ] tR t^ht oRV3R lV 3R l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S[/# )r   r   Úuse_sliding)r   Úbool)r   r   s   "€r   r   ÚTransformerBlock.__annotate__i   s   ø€ ÷ ñ ™zð ¹ñ r   c                ó„  <€ \         SV `  4        VP                  V n        VP                  V n        W n        \        V4      V n        \        V4      V n        \        P                  ! VP                  VP                  R 7      V n        \        P                  ! VP                  VP                  R 7      V n        Wn        R# )r   N)r"   r#   r%   r$   rv   r   Ú	self_attnrd   Úmlpr+   r2   r3   Úinput_layernormÚpost_attention_layernormr   )r:   r   rv   r<   s   &&&€r   r#   ÚTransformerBlock.__init__i   s�   ø€ Ü‰ÑÔØ#)×#=Ñ#=ˆÔ Ø!×-Ñ-ˆÔØ&ÔÜ" 6Ó*ˆŒÜ�v“;ˆŒÜ!Ÿzšz¨&×*<Ñ*<À&×BUÑBUÔVˆÔÜ(*¯
ª
Ø×Ñ F×$7Ñ$7ô)
ˆÔ%ð Žr   c          
      ó¨   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[S[ P                  ,          RS[S[,          RS[ P                  /# r?   rE   )r   r   s   "€r   r   rx   v   sV   ø€ ÷ ñ á�8‰8ðñ —H‘Hðñ ‘r—x‘xÕ ð	ñ
 ™�}ðñ 
�‰ñr   c                óª   € V P                  V P                  V4      W#V4      pW,           pV P                  V P                  V4      4      pWe,           pV# rp   )rz   r|   r{   r}   )r:   r@   rA   rB   rC   ÚrÚhÚouts   &&&&&   r   rW   ÚTransformerBlock.__call__v   sM   € ð �N‰N˜4×/Ñ/°Ó2°JÀeÓLˆØ�EˆØ�H‰H�T×2Ñ2°1Ó5Ó6ˆØ�eˆØˆ
r   )r   r$   r|   r{   r%   r}   rz   rv   )FrY   rZ   rb   s   @@r   rt   rt   h   s   ù‡ € ÷õ ÷÷ ò r   rt   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# )Ú
Ministral3c                ó    <€ V ^8„  d   QhRS[ /# r   r   )r   r   s   "€r   r   ÚMinistral3.__annotate__…   s   ø€ ÷ ñ ™zñ r   c                ó   <€ \         SV `  4        Wn        VP                  V n        VP                  V n        VP
                  V n        VP                  V n        \        P                  ! VP                  VP                  4      V n
        V P
                   Uu. uF  p\        WR 8H  R7      NK  	  upV n        \        P                  ! VP                  VP                  R7      V n        V P
                  P!                  R4      V n        RV n        \'        V P                  4       F   w  r4VP(                  '       g   K  W0n         R# 	  R# u upi )Úsliding_attention)r   rv   r   Úfull_attentionN)r"   r#   r   Ú
vocab_sizeÚnum_hidden_layersÚlayer_typesÚsliding_windowr+   Ú	Embeddingr$   Úembed_tokensrt   Úlayersr2   r3   ÚnormÚindexÚfa_idxÚswa_idxÚ	enumeraterv   )r:   r   Ú
layer_typeÚeÚlr<   s   &&   €r   r#   ÚMinistral3.__init__…   s  ø€ Ü‰ÑÔØŒØ ×+Ñ+ˆŒØ!'×!9Ñ!9ˆÔØ!×-Ñ-ˆÔØ$×3Ñ3ˆÔÜŸLšL¨×):Ñ):¸F×<NÑ<NÓOˆÔð
 #×.Ò.ó	
ñ /�
ô ØÐ9LÑ+L÷ñ /ñ	
ˆŒô —J’J˜v×1Ñ1°v×7JÑ7JÔKˆŒ	Ø×&Ñ&×,Ñ,Ð-=Ó>ˆŒØˆŒÜ˜dŸk™kÖ*‰DˆAØ�}�}Š}Ø ”Úó +ùò
s   ÂEc                ó^   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          /# ©r   ÚinputsÚinputs_embeds©rF   rG   r   )r   r   s   "€r   r   rˆ   ›   s,   ø€ ÷ )ñ )á—‘ð)ñ  ¡§¡Õ)ñ	)r   c                óÖ  € Ve   TpMV P                  V4      pVf   R .\        V P                  4      ,          p^ pV^ ,          e�   V^ ,          P                  p\	        V\
        4      '       d   TpMb\	        V\        P                  4      '       d,   VP                  ^ 8X  d   TMV^ ,          P                  4       pM\        R\        V4       24      h\        WBV P                  ,          4      pV P                  e)   \        WBV P                  ,          V P                  R7      p\!        VWTP"                  ^,          ,           V P$                  P&                  R,          V P$                  P&                  R,          4      P)                  VP*                  4      p	\-        V P                  V4       F%  w  r¢V
P.                  '       d   XMTpV
! WIW²R7      pK'  	  V P1                  V4      # )NzUnexpected cache offset type: )Úwindow_sizeÚllama_4_scaling_betaÚ original_max_position_embeddings)rC   )r‘   Úlenr’   rJ   Ú
isinstanceÚintrF   rG   ÚndimÚitemÚ
ValueErrorÚtyper   r•   r–   r�   r   rL   r   r6   ÚastypeÚdtypeÚziprv   r“   )r:   rž   rC   rŸ   r‚   Úcache_offsetrJ   Úfa_maskÚswa_maskrA   ÚlayerrB   s   &&&&        r   rW   ÚMinistral3.__call__›   s…  € ð Ò$Ø‰Aà×!Ñ! &Ó)ˆAàŠ=Ø�FœS §¡Ó-Õ-ˆEàˆØ��8ÒØ˜1•X—_‘_ˆFÜ˜&¤#×&Ò&Ø%‘Ü˜F¤B§H¡H×-Ò-Ø*0¯+©+¸Ô*:¡ÀÀqÅ	×OÑOÓQ‘ä Ð#AÄ$ÀvÃ,ÀÐ!PÓQÐQä'¨°·±Õ+=Ó>ˆØ�<‰<Ò#Ü,Ø˜Ÿ™Õ&°D×4GÑ4GôˆHô -ØØŸ7™7 1�:Õ%Ø�K‰K×'Ñ'Ð(>Õ?Ø�K‰K×'Ñ'Ð(JÕKó	
÷
 ‰&�—‘‹/ð 	ô   §¡¨UÖ3‰LˆEØ$×0×0Ð0‘8°gˆDÙ�a TÔ7ŠAñ 4ð �y‰y˜‹|Ðr   )
r   r‘   r•   rŽ   r’   r“   r�   r�   r–   rŒ   rY   rZ   rb   s   @@r   r†   r†   „   s   ù‡ € ÷ó ÷,)÷ )ò )r   r†   c                   ó    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]R 4       t]R 4       t	]R 4       t
]R	 4       tR
 tRtVtV ;t# )ÚLanguageModelc                ó    <€ V ^8„  d   QhRS[ /# r   r   )r   r   s   "€r   r   ÚLanguageModel.__annotate__È   s   ø€ ÷ Xñ X™zñ Xr   c                ó†  <€ \         SV `  4        Wn        VP                  V n        V P                  R 8X  d   \	        V4      V n        M2V P                  R8X  d   \        V4      V n        M\        V4      V n        VP                  '       g5   \        P                  ! VP                  VP                  RR7      V n        R# R# )Ú
ministral3Úmistral4Fr   N)r"   r#   r   Ú
model_typer†   Úmodelr   r   Útie_word_embeddingsr+   r,   r$   rŒ   Úlm_head)r:   r   r<   s   &&€r   r#   ÚLanguageModel.__init__È   s�   ø€ Ü‰ÑÔØŒØ ×+Ñ+ˆŒØ�?‰?˜lÔ*Ü# FÓ+ˆD�JØ�_‰_ 
Ô*Ü& vÓ.ˆD�Jä  ›ˆDŒJà×)×)Ð)ÜŸ9š9 V×%7Ñ%7¸×9JÑ9JÐQVÔWˆDŽLñ *r   c                ó^   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          /# r�   r    )r   r   s   "€r   r   r·   Ö   s,   ø€ ÷ /ñ /á—‘ð/ñ  ¡§¡Õ)ñ	/r   c                óæ   € V P                  WVR 7      pV P                  P                  '       d'   V P                   P                  P	                  V4      pMV P                  V4      p\        VR7      # ))rž   rC   rŸ   )Úlogits)r¼   r   r½   r‘   Ú	as_linearr¾   r   )r:   rž   rC   rŸ   Úkwargsrƒ   s   &&&&, r   rW   ÚLanguageModel.__call__Ö   sY   € ð �j‰j À=ˆjÓQˆØ�;‰;×*×*Ð*Ø—*‘*×)Ñ)×3Ñ3°CÓ8‰Cà—,‘,˜sÓ#ˆCÜ"¨#Ô.Ð.r   c                ó
  € VP                  4        UUu/ uF  w  r#R V9  g   K  W#bK  	  pppV P                  P                  '       d   VP                  RR4       / pVP                  4        FI  w  r#RV9   d)   TpVP	                  RR4      pW,          pWu,          WF&   K4  RV9   d   K=  W$9  g   KE  W4V&   KK  	  TpV P
                  R8X  d±   V P                  P                  '       d•   \        V P                  P                  4       Fq  pRV R	2p	V	 R
2p
W¡9   d;   VP                  V
4      p\        P                  ! V^^R7      w  rÍWÁV	 R2&   WÑV	 R2&   V	 R2pWá9   g   K[  VP                  V4      W R2&   Ks  	  V# u uppi )zself_attn.rotary_emb.inv_freqzlm_head.weightNÚweight_scale_invÚ
_scale_invÚ Úactivation_scalerº   zlanguage_model.model.layers.z.mlpz.experts.gate_up_proj)Úaxisz.switch_mlp.gate_proj.weightz.switch_mlp.up_proj.weightz.experts.down_projz.switch_mlp.down_proj.weight)Úitemsr   r½   ÚpopÚreplacer»   Ún_routed_expertsÚranger�   rF   Úsplit)r:   ÚweightsÚkÚvÚnew_weightsÚ	scale_invÚwkÚweightrš   ÚprefixÚ	fused_keyÚgate_upri   rk   Údown_keys   &&             r   ÚsanitizeÚLanguageModel.sanitizeä   s•  € ð %Ÿ]™]œ_ô
Ù,‘T�QÐ0OÐWXÑ0XŒDˆAŠD™_ð 	ñ 
ð �;‰;×*×*Ð*Ø�K‰KÐ(¨$Ô/àˆØ—M‘M–O‰DˆAØ! QÔ&Ø�	Ø—Y‘Y˜|¨RÓ0�Ø ��Ø"(Õ"4�“Ø# qÔ(ÙØÖ%Ø!"˜A“ñ $ð ˆð �?‰?˜jÔ(¨T¯[©[×-I×-IÐ-IÜ˜4Ÿ;™;×8Ñ8Ö9�Ø7¸°s¸$Ð?�ð
  &˜hÐ&;Ð<�	ØÔ'Ø%Ÿk™k¨)Ó4�GÜ)+¯ª°'¸1À1Ô)EÑ&�IØGP˜v˜hÐ&BÐCÑDØEL˜v˜hÐ&@ÐAÑBð %˜XÐ%7Ð8�ØÖ&ØGNÇ{Á{Ø óH�G˜hÐ&BÐCÓDñ! :ð( ˆùóS
s
   ”E?¤E?c                ó.   € V P                   P                  # rp   )r¼   r’   ©r:   s   &r   r’   ÚLanguageModel.layers  s   € à�z‰z× Ñ Ð r   c                óP  € V P                   R 8X  dH   V P                  P                  V P                  P                  ,           V P                  P                  3# V P                  P
                  ;'       g2    V P                  P                  V P                  P                  ,          # )rº   )r»   r   Úqk_nope_head_dimÚqk_rope_head_dimÚ
v_head_dimr)   r$   r%   rà   s   &r   r)   ÚLanguageModel.head_dim  s}   € à�?‰?˜jÔ(à—‘×,Ñ,¨t¯{©{×/KÑ/KÕKØ—‘×&Ñ&ðð ð
 �K‰K× Ñ ÷ Jð JØ�{‰{×&Ñ&¨$¯+©+×*IÑ*IÕIð	
r   c                ó.   € V P                   P                  # rp   )r   r'   rà   s   &r   r(   ÚLanguageModel.n_kv_heads!  s   € à�{‰{×.Ñ.Ð.r   c                óp   a€ V P                   R 8H  ;'       d    \        V P                  R^ 4      oV3R lpV# )rº   rÏ   c                 ód   <€ R V 9   d   R# S'       d   V P                  R4      '       d   R^@R^/# R# )r¾   Fzmlp.gateÚ
group_sizeÚbitsT)Úendswith)ÚpathÚ_Úis_mistral4_moes   &&€r   Ú	predicateÚ0LanguageModel.quant_predicate.<locals>.predicate+  s1   ø€ Ø˜DÔ Ùß 4§=¡=°×#<Ò#<Ø$ b¨&°!Ð4Ð4Ùr   )r»   Úgetattrr   )r:   rñ   rð   s   & @r   Úquant_predicateÚLanguageModel.quant_predicate%  s;   ø€ àŸ/™/¨ZÑ7÷ 
ð 
¼GØ�K‰KÐ+¨Qó=
ˆõ	ð Ðr   c                ó.  € V P                   R 8X  d%   V P                   Uu. uF  p\        4       NK  	  up# V P                   Uu. uF@  p\        VRR4      '       d!   \	        V P
                  P                  R7      M	\        4       NKB  	  up# u upi u upi )rº   rv   F)Úmax_size)r»   r’   r	   ró   r
   r¼   r�   )r:   rï   r²   s   &  r   Ú
make_cacheÚLanguageModel.make_cache4  s‡   € Ø�?‰?˜jÔ(Ø'+§{¢{Ó3¡{ !”G–I¡{Ñ3Ð3ð Ÿšó
ñ %�ô ˜5 -°×7Ò7ô  ¨¯©×)BÑ)BÕCä“Yòñ %ñ
ð 	
ùò 4ùò
s    BÁAB)r   r¾   r¼   r»   rY   )r[   r\   r]   r^   r#   rW   rÝ   Úpropertyr’   r)   r(   rô   rø   r_   r`   ra   rb   s   @@r   rµ   rµ   Ç   s{   ù‡ € ÷Xó X÷/ò /ò+ðZ ñ!ó ð!ð ñ	
ó ð	
ð ñ/ó ð/ð ñó ð÷

ò 

r   rµ   )Útypingr   r   Úmlx.coreÚcorerF   Úmlx.nnr+   Úmlx_lm.models.rope_utilsr   Úbaser   r   r   rC   r	   r
   Úmistral4.languager   r   Úpixtral.languager   r   r   ÚModuler   rd   rt   r†   rµ   © r   r   Ú<module>r     sƒ   ðß  å Ý Ý 4÷ñ ÷
 -ß FÝ &Ý ôE#�—	‘	ô E#ôPLˆ"�)‰)ô Lô�r—y‘yô ô8@�—‘ô @ôFw
�B—I‘Iö w
r   