+
    TV-jÝ  ã                   ó  € ^ RI t ^ RIHt ^ RIHt ^ RIHt ^RIH	t	 ^RI
Ht ^RI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# )é    N)Ú	dataclass)Úswiglu)ÚBaseModelArgs)ÚArraysCachec                   ó>   a € ] tR t^t o RtRtRtR tV 3R ltRt	V t
R# )Ú	ModelArgsTFg�íµ ÷Æ°>c                ó  € \        V R 4      '       g$   \        V R4      '       d   V P                  V n        \        V R4      '       g$   \        V R4      '       d   V P                  V n        \        V R4      '       g$   \        V R4      '       d   V P
                  V n        \        V R4      '       g$   \        V R4      '       d   V P                  V n        \        V R4      '       g$   \        V R4      '       d   V P                  V n        \        V R	4      '       g$   \        V R
4      '       d   V P                  V n        \        V R4      '       g$   \        V R4      '       d   V P                  V n        \        V R4      '       g$   \        V R4      '       d   V P                  V n        V P                   R8X  d-   \"        P$                  ! V P                  ^,          4      V n        V P&                  R8X  d
   RV n        R# R# )Úhidden_sizeÚd_modelÚintermediate_sizeÚd_innerÚ
state_sizeÚd_stateÚnum_hidden_layersÚn_layerÚn_layersÚconv_kernelÚd_convÚuse_biasÚbiasÚuse_conv_biasÚ	conv_biasÚautoÚfalcon_mambaTN)Úhasattrr   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   Útime_step_rankÚmathÚceilÚ
model_typeÚuse_bcdt_rms©Úselfs   &Úd/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_lm/models/mamba.pyÚ__post_init__ÚModelArgs.__post_init__   sn  € Ü�t˜]×+Ò+´¸¸i×0HÒ0HØ#Ÿ|™|ˆDÔÜ�tÐ0×1Ò1´g¸dÀI×6NÒ6NØ%)§\¡\ˆDÔ"Ü�t˜\×*Ò*¬w°t¸Y×/GÒ/GØ"Ÿl™lˆDŒOÜ�tÐ0×1Ò1´g¸dÀI×6NÒ6NØ%)§\¡\ˆDÔ"Ü�tÐ0×1Ò1´g¸dÀJ×6OÒ6OØ%)§]¡]ˆDÔ"Ü�t˜]×+Ò+´¸¸h×0GÒ0GØ#Ÿ{™{ˆDÔÜ�t˜Z×(Ò(¬W°T¸6×-BÒ-BØ ŸI™IˆDŒMÜ�t˜_×-Ò-´'¸$À×2LÒ2LØ!%§¡ˆDÔà×Ñ &Ô(Ü"&§)¢)¨D×,<Ñ,<¸rÕ,AÓ"BˆDÔØ�?‰?˜nÔ,Ø $ˆDÖñ -ó    c                ó¶   <€ 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
&   S[;R&   S[;R&   S[;R&   # )é   r   Ú
vocab_sizer
   r   r   r   r   r   r   r   Útie_word_embeddingsr    Úmixer_rms_eps)ÚstrÚintÚboolÚfloat)ÚformatÚ__classdict__s   "€r#   Ú__annotate__ÚModelArgs.__annotate__   s¨   ø‡ ‚ á�Oñ ñ �Oñ ñ Ññ	 ñ
 Ññ ñ �Oñ ñ Ññ ñ Ññ ñ �Nñ ñ Ññ ñ Ññ ñ Ñ$ñ ñ Ññ ñ Ñò r&   )	r   r
   r   r   r   r   r    r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r*   r    r+   r$   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r1   s   @r#   r   r      s#   ø‡ € ð !%ÐØ€LØ€Mò%÷! ƒ r&   r   c                   óT   a a€ ] tR t^6t oV3R lV 3R lltRR ltR tR tRtVt	V ;t
# )Ú
MambaBlockc                ó    <€ V ^8„  d   QhRS[ /# ©r(   Úargs©r   )r0   r1   s   "€r#   r2   ÚMambaBlock.__annotate__7   s   ø€ ÷ .
ñ .
™Yñ .
r&   c           	     óT  <a€ \         SV `  4        SV n        SP                  V n        SP                  V n        SP                  V n        SP                  V n        \        SP                  4      V n
        SP                  V n        SP                  V n        V P                  '       d   V3R  lV n        \        P                  ! V P                  V P                  ^,          SP                   R7      V n        \        P$                  ! V P                  V P                  V P                  V P                  V P                  ^ R7      V n        \        P                  ! V P                  V P                  ^V P
                  ,          ,           RR7      V n        \        P                  ! V P                  V P                  RR7      V n        \,        P.                  ! \,        P0                  ! RV P
                  R,           4      P3                  ^V P
                  .4      V P                  ^ R7      p\,        P4                  ! V4      V n        \,        P8                  ! V P                  .4      V n        \        P                  ! V P                  V P                  SP                   R7      V n        R# )c                 ó¼   <€ \         P                  P                  V \         P                  ! V P                  R,          V P
                  4      SP                  R7      # )é   )Úepséÿÿÿÿ)ÚmxÚfastÚrms_normÚonesÚshapeÚdtyper+   )Úxr?   s   &€r#   Ú<lambda>Ú%MambaBlock.__init__.<locals>.<lambda>C   s=   ø€ ¬¯©×(8Ñ(8Ø”2—7’7˜1Ÿ7™7 2�;¨¯©Ó0°d×6HÑ6Hð )9ô )r&   ©r   )Úin_channelsÚout_channelsÚkernel_sizeÚgroupsr   ÚpaddingFTg      ð?)ÚrepeatsÚaxisN)ÚsuperÚ__init__r?   r
   r   Ússm_state_sizer   Úconv_kernel_sizer   r-   r   r   r    Ú
mixer_normÚnnÚLinearr   Úin_projÚConv1dÚconv1dÚx_projÚdt_projrG   ÚrepeatÚarangeÚreshapeÚlogÚA_logrJ   ÚDÚout_proj)r"   r?   ÚAÚ	__class__s   &f €r#   rY   ÚMambaBlock.__init__7   só  ù€ Ü‰ÑÔØˆŒ	à×+Ñ+ˆÔØ"Ÿo™oˆÔØ $× 0Ñ 0ˆÔØ!%×!7Ñ!7ˆÔÜ! $×"5Ñ"5Ó6ˆÔØ!×/Ñ/ˆÔØ ×-Ñ-ˆÔØ××ÐôˆDŒOô —y’yØ×Ñ˜d×4Ñ4°qÕ8¸t¿}¹}ô
ˆŒô —i’iØ×.Ñ.Ø×/Ñ/Ø×-Ñ-Ø×)Ñ)Ø×#Ñ#Øô
ˆŒô —i’iØ×"Ñ"Ø×Ñ ! d×&9Ñ&9Õ"9Õ9Øô
ˆŒô
 —y’y ×!4Ñ!4°d×6LÑ6LÐSWÔXˆŒä�IŠIÜ�IŠI�c˜4×.Ñ.°Õ4Ó5×=Ñ=¸qÀ$×BUÑBUÐ>VÓWØ×*Ñ*Øô
ˆô
 —V’V˜A“YˆŒ
Ü—’˜$×0Ñ0Ð1Ó2ˆŒäŸ	š	Ø×"Ñ" D×$4Ñ$4¸4¿=¹=ô
ˆŽr&   c           	     ó.  € V P                   pV P                  V4      p\        V P                  '       d   V P                  MR  \
        P                  ! VV P                  V P                  V P                  ,           .RR7      4      w  rgpV P                  '       d   \        V P                  WgV34      w  rgp\        P                  ! V P                  V4      4      p\
        P                  ! Wa,          R4      \
        P                  ! V^4      ,          p	Ve@   W“\
        P                  ! \
        P                  ! VR4      V,          4      ,          ,          p	V	\
        P                  ! VR4      ,          P                  ^4      p
W¤V,          ,           p
W©3# )c                 ó   € V # ©N© )rM   s   &r#   rN   Ú%MambaBlock.ssm_step.<locals>.<lambda>k   s   € Ár&   ©rW   rF   )ri   rb   Úmapr    r\   rG   Úsplitr   rZ   r]   Úsoftplusrc   Úexpand_dimsÚexpÚsqueeze)r"   rM   rk   Ústateri   ÚdeltaBCÚdeltaÚBÚCÚ	new_stateÚys   &&&&       r#   Ússm_stepÚMambaBlock.ssm_stepg   s)  € Ø�F‰FˆØ—+‘+˜a“.ˆÜØ#×0×0Ð0ˆD�OŠO±kÜ�HŠHØØ×$Ñ$ d×&9Ñ&9¸D×<OÑ<OÕ&OÐPØôó
‰ˆ�!ð ××ÐÜ˜dŸo™o°¸!¨}Ó=‰KˆE�aÜ—’˜DŸL™L¨Ó/Ó0ˆÜ—N’N 5¥9¨bÓ1´B·N²NÀ1ÀaÓ4HÕHˆ	ØÒØ¤§¢¬¯ª°u¸bÓ(AÀAÕ(EÓ!FÕFÕFˆIØœŸš¨¨2Ó.Õ.×7Ñ7¸Ó:ˆØ�A•�IˆØˆ|Ðr&   c                óº  € VP                   w  rEpV P                  V4      pVP                  ^RR7      w  rV P                  p	Ve   \        P
                  ! W!.^R7      p
M#\        P                  ! VRV	^,
          ^ 3R.4      p
V P                  V
4      pV
RV	^,
          ) R1R3,          p\        P                  ! V4      p\        P                  ! V P                  4      ) pTp. p\        V4       F2  pV P                  VRV3,          WÞ4      w  ppVP                  V4       K4  	  \        P                  ! V^R7      pV P!                  \#        W�4      4      pWŒV33# )r(   )Úindices_or_sectionsrW   Nrs   :NNNrF   )r   r   )rK   r_   ru   r[   rG   ÚconcatenateÚpadra   r]   Úsilurx   rh   Úranger�   ÚappendÚstackrj   r   )r"   rM   Ú
conv_cacheÚstate_cacher}   ÚTri   ÚxzÚzÚKÚx_fullÚconv_outÚnew_conv_cacherk   Úcurrent_stater€   ÚtÚy_ts   &&&&              r#   Ú_process_sequenceÚMambaBlock._process_sequence|   s.  € Ø—'‘'‰ˆˆaØ�\‰\˜!‹_ˆØ�x‰x¨A°BˆxÓ7‰ˆØ×!Ñ!ˆØÒ!Ü—^’^ Z O¸!Ô<‰Fä—V’V˜A ¨¨Q­°¨
°FÐ;Ó<ˆFØ—;‘;˜vÓ&ˆØ  Q¨¥U 8¡:¨qÐ 0Õ1ˆÜ�GŠG�HÓˆÜ�VŠV�D—J‘JÓÐˆØ#ˆØˆÜ�q–ˆAØ!%§¡¨q°°A°­w¸Ó!IÑˆC�Ø�H‰H�SŽMñ ô �HŠH�Q˜QÔˆØ�M‰Mœ& ›,Ó'ˆØ =Ð1Ð1Ð1r&   c                ó¢   € Vf   R R rCMV^ ,          V^,          rCV P                  WV4      w  pw  rg\        V\        4      '       d	   Wb^ &   Wr^&   V# rp   )r—   Ú
isinstancer   )r"   rM   Úcacher‹   rŒ   Úoutputr“   Únew_state_caches   &&&     r#   Ú__call__ÚMambaBlock.__call__’   s\   € ØŠ=Ø&*¨D™à&+¨A¥h°°aµ˜à48×4JÑ4JØ˜;ó5
Ñ1ˆÑ1�ô �eœ[×)Ò)Ø%�!‰HØ&�!‰Hàˆr&   )rh   ri   r?   ra   r[   rc   r
   r_   r   r\   rj   rZ   r   r    r   rb   rp   )r4   r5   r6   r7   rY   r�   r—   rž   r9   r:   Ú__classcell__©rl   r1   s   @@r#   r<   r<   6   s$   ù‡ € ÷.
ó .
ô`ò*2÷,ò r&   r<   c                   óP   a a€ ] tR t^£t oV3R lV 3R lltV3R lR ltRtVtV ;t# )ÚResidualBlockc                ó    <€ V ^8„  d   QhRS[ /# r>   r@   )r0   r1   s   "€r#   r2   ÚResidualBlock.__annotate__¤   s   ø€ ÷ 1ñ 1™Yñ 1r&   c                óŽ   <€ \         SV `  4        \        V4      V n        \        P
                  ! VP                  4      V n        R # rp   )rX   rY   r<   Úmixerr]   ÚRMSNormr
   Únorm©r"   r?   rl   s   &&€r#   rY   ÚResidualBlock.__init__¤   s0   ø€ Ü‰ÑÔÜ Ó%ˆŒ
Ü—J’J˜t×/Ñ/Ó0ˆŽ	r&   c                ó4   <€ V ^8„  d   QhRS[ P                  /# ©r(   rM   ©rG   Úarray)r0   r1   s   "€r#   r2   r¥   ©   s   ø€ ÷ 3ñ 3™"Ÿ(™(ñ 3r&   c                óR   € V P                  V P                  V4      V4      V,           # rp   ©r§   r©   )r"   rM   r›   s   &&&r#   rž   ÚResidualBlock.__call__©   s    € Ø�z‰z˜$Ÿ)™) A›,¨Ó.°Õ2Ð2r&   r±   ©	r4   r5   r6   r7   rY   rž   r9   r:   r    r¡   s   @@r#   r£   r£   £   s   ù‡ € ÷1ó 1÷
3÷ 3ð 3r&   r£   c                   óP   a a€ ] tR t^­t oV3R lV 3R lltV3R lR ltRtVtV ;t# )ÚMambac                ó    <€ V ^8„  d   QhRS[ /# r>   r@   )r0   r1   s   "€r#   r2   ÚMamba.__annotate__®   s   ø€ ÷ 3ñ 3™Yñ 3r&   c                ó>  <€ \         SV `  4        \        P                  ! VP                  VP
                  4      V n        \        VP                  4       Uu. uF  p\        V4      NK  	  upV n
        \        P                  ! VP
                  4      V n        R # u upi rp   )rX   rY   r]   Ú	Embeddingr)   r
   Ú
embeddingsrˆ   r   r£   Úlayersr¨   Únorm_f)r"   r?   Ú_rl   s   && €r#   rY   ÚMamba.__init__®   sn   ø€ Ü‰ÑÔÜŸ,š, t§¡¸×8HÑ8HÓIˆŒÜ49¸$×:PÑ:PÔ4QÓRÑ4Q¨q”} TÖ*Ñ4QÑRˆŒÜ—j’j ×!1Ñ!1Ó2ˆŽùò Ss   ÁBc                ó4   <€ V ^8„  d   QhRS[ P                  /# r­   r®   )r0   r1   s   "€r#   r2   r·   ´   s   ø€ ÷ ñ ™"Ÿ(™(ñ r&   c                óÖ   € V P                  V4      pVf   R .\        V P                  4      ,          p\        V P                  V4       F  w  r4V! W4      pK  	  V P	                  V4      # rp   )rº   Úlenr»   Úzipr¼   )r"   rM   r›   ÚlayerÚcs   &&&  r#   rž   ÚMamba.__call__´   sX   € Ø�O‰O˜AÓˆØŠ=Ø�FœS §¡Ó-Õ-ˆEÜ˜DŸK™K¨Ö/‰HˆEÙ�a“ŠAñ 0à�{‰{˜1‹~Ðr&   )rº   r»   r¼   r³   r¡   s   @@r#   rµ   rµ   ­   s   ù‡ € ÷3ó 3÷÷ ð r&   rµ   c                   óp   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 t	Rt
VtV ;t# )
ÚModelc                ó    <€ V ^8„  d   QhRS[ /# r>   r@   )r0   r1   s   "€r#   r2   Ú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# )FrP   N)rX   rY   r?   r   rµ   Úbackboner*   r]   r^   r
   r)   Úlm_headrª   s   &&€r#   rY   ÚModel.__init__¾   sX   ø€ Ü‰ÑÔØŒ	ØŸ/™/ˆŒÜ˜d›ˆŒØ×'×'Ð'ÜŸ9š9 T×%5Ñ%5°t·±ÈUÔSˆDŽLñ (r&   c                ó4   <€ V ^8„  d   QhRS[ P                  /# )r(   Úinputsr®   )r0   r1   s   "€r#   r2   rÉ   Æ   s   ø€ ÷ 
ñ 
™rŸx™xñ 
r&   c                óì   € VP                   w  r4V P                  W4      pV P                  P                  '       d(   V P                  P                  P                  V4      pV# V P                  V4      pV# rp   )rK   rË   r?   r*   rº   Ú	as_linearrÌ   )r"   rÏ   r›   r}   r�   rM   Úlogitss   &&&    r#   rž   ÚModel.__call__Æ   s`   € Ø�|‰|‰ˆà�M‰M˜&Ó(ˆà�9‰9×(×(Ð(Ø—]‘]×-Ñ-×7Ñ7¸Ó:ˆFð ˆð —\‘\ !“_ˆFàˆr&   c                ó|   € \        \        V P                  4      4       Uu. uF  p\        ^R7      NK  	  up# u upi )r(   )Úsize)rˆ   rÁ   r»   r   )r"   r½   s   & r#   Ú
make_cacheÚModel.make_cacheÒ   s/   € Ü-2´3°t·{±{Ó3CÔ-DÓEÑ-D¨” ×#Ñ-DÑEÐEùÒEs   ¡9c                ó.   € V P                   P                  # rp   )rË   r»   r!   s   &r#   r»   ÚModel.layersÕ   s   € à�}‰}×#Ñ#Ð#r&   c                ó¦   € VP                  4        F<  w  r#R V9   g   K  VP                  R,          ^8w  g   K(  VP                  ^^4      W&   K>  	  V# )zconv1d.weightrF   )ÚitemsrK   Úmoveaxis)r"   ÚweightsÚkÚvs   &&  r#   ÚsanitizeÚModel.sanitizeÙ   sD   € Ø—M‘M–O‰DˆAØ !Ö#¨¯©°­°qÖ(8ØŸZ™Z¨¨1Ó-�“
ñ $ð ˆr&   )r?   rË   rÌ   r   rp   )r4   r5   r6   r7   rY   rž   rÖ   Úpropertyr»   rà   r9   r:   r    r¡   s   @@r#   rÇ   rÇ   ½   s?   ù‡ € ÷Tó T÷
ò 
òFð ñ$ó ð$÷ò r&   rÇ   )r   Údataclassesr   Úmlx.coreÚcorerG   Úmlx.nnr]   Úactivationsr   Úbaser   r›   r   r   ÚModuler<   r£   rµ   rÇ   rq   r&   r#   Ú<module>rê      s{   ðó Ý !å Ý å Ý Ý ð ô$%�ó $%ó ð$%ôNj�—‘ô jôZ3�B—I‘Iô 3ôˆB�I‰Iô ô  ˆB�I‰Iö  r&   