+
    TV-j<>  ã                   óÚ  € ^ RI HtHt ^ 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Ht ^RIHtHtHt ^RIHt ^RIHt ] ! R	 R
]4      4       t ! R R]
P6                  4      tR t ! R R]
P6                  4      t ! R R]
P6                  4      t ! R R]
P6                  4      t  ! R R]
P6                  4      t! ! R R]
P6                  4      t" ! R R]
P6                  4      t#R# )é    )Ú	dataclassÚfield)ÚListÚOptionalN)Úswiglu)ÚBaseModelArgsÚcreate_attention_maskÚcreate_ssm_maskÚscaled_dot_product_attention)ÚArraysCacheÚ	CacheListÚKVCache)Úinitialize_rope)Ú
ssm_updatec                   óð   a € ] tR t^t o RtRtRtRt^@tRt	Rt
RtRtR	t^€tR
t^t^@tRt^€t^t^t^tRtRtRtR
tRtRt^t]! R R7      tRt ^t!^$t"^t#Rt$Rt%Rt&Rt'Rt(Rt)]! R R7      t*Rt+Rt,R
t-V 3R lt.Rt/V t0R# )Ú	ModelArgsFg      ð?g      î?gÍ;fž @i   g{®Gáz”?i   g      Ù?g      ¤?Ti   i   c                 ó
   € R R.# )gÀ
 ÆHì?g     Àâ?© r   ó    Úh/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_lm/models/falcon_h1.pyÚ<lambda>ÚModelArgs.<lambda>2   s
   € Ð!3°YÑ ?r   )Údefault_factoryÚ	falcon_h1gñhãˆµøä>Ng   èvH7Bg      ô?c                 ó
   € . RO# )çÍ;fž Ö?)r   g      Ð?r   ç      à?r   r   r   r   r   r   r   ?   s   € ó !
r   ggúþÝ}+Î?i€  c                ó6  <€ 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&   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&   S[S[,          ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[ ;R &   S[;R!&   S[ ;R"&   S[S[,          ;R#&   S[;R$&   S[;R%&   S[S[,          ;R&&   S[;R'&   S[;R(&   S[ ;R)&   # )*é   Úattention_biasÚattention_in_multiplierÚattention_out_multiplierÚembedding_multiplierÚhead_dimÚhidden_sizeÚinitializer_rangeÚintermediate_sizeÚkey_multiplierÚlm_head_multiplierÚmamba_chunk_sizeÚmamba_conv_biasÚmamba_d_convÚmamba_d_headÚmamba_d_ssmÚmamba_d_stateÚmamba_expandÚmamba_n_groupsÚmamba_n_headsÚmamba_norm_before_gateÚmamba_proj_biasÚmamba_rms_normÚmamba_use_mlpÚmax_position_embeddingsÚmlp_biasÚmlp_expansion_factorÚmlp_multipliersÚ
model_typeÚnum_attention_headsÚnum_hidden_layersÚnum_key_value_headsÚprojectors_biasÚrms_norm_epsÚrope_traditionalÚrope_scalingÚ
rope_thetaÚssm_in_multiplierÚssm_multipliersÚssm_out_multiplierÚ
vocab_sizeÚtie_word_embeddings)ÚboolÚfloatÚintr   Ústrr   )ÚformatÚ__classdict__s   "€r   Ú__annotate__ÚModelArgs.__annotate__   sB  ø‡ ‚ áÑ ñ ñ #Ñ(ñ ñ $Ñ,ñ	 ñ
  Ñ3ñ ñ Ññ ñ Ññ ñ Ñ#ñ ñ Ñ!ñ ñ Ñ$ñ ñ Ñ)ñ ñ Ññ ñ Ñ ñ ñ Ññ ñ Ññ ñ  Ññ! ñ" Ññ# ñ$ Ññ% ñ& Ññ' ñ( Ññ) ñ* !Ñ(ñ+ ñ, Ñ!ñ- ñ. Ñ ñ/ ñ0 Ññ1 ñ2 !Ñ)ñ3 ñ4 Ññ5 ñ6 Ñ!ñ7 ñ8 ™%•[ñ ñ9 ñ> Ñ!ñ? ñ@ Ñ ñA ñB ÑñC ñD Ñ ñE ñF Ñ!ñG ñH ÑñI ñJ Ñ"ñK ñL ™5•/Ñ(ñM ñN Ñ&ñO ñP Ñ#ñQ ñR ™%•[ñ ñS ñd Ñ3ñe ñf Ññg ñh Ñ$òi r   r   )1Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)rN   s   @r   r   r      s  ø‡ € à €NØ%(ÐØ&,ÐØ"3ÐØ€HØ€KØ#ÐØ!ÐØ$€NØ )ÐØÐØ €OØ€LØ€LØ€KØ€MØ€LØ€NØ€MØ#(ÐØ!€OØ €NØ€MØ#)ÐØ€HØ !ÐÙ#(Ù?ô$€Oð "€JØ ÐØÐØ ÐØ!€OØ€LØ"ÐØ$(€LØ&€JØ#ÐÙ#(ñ
ô$€Oð !4ÐØ€JØ $Ð÷i ƒ r   r   c                   ó@   a a€ ] tR t^Lt oRV 3R lltRR ltRtVtV ;t# )ÚFalconH1RMSNormGatedc                ó€   <€ \         SV `  4        \        P                  ! V34      V n        W n        W0n        W@n        R # ©N)ÚsuperÚ__init__ÚmxÚonesÚweightÚvariance_epsilonÚn_groupsÚnorm_before_gate)Úselfr%   Úepsrb   rc   Ú	__class__s   &&&&&€r   r]   ÚFalconH1RMSNormGated.__init__M   s1   ø€ Ü‰ÑÔÜ—g’g˜{˜nÓ-ˆŒØ #ÔØ ŒØ 0Ör   c                óò   € V P                   '       g   Ve   \        W!4      p\        P                  P	                  WP
                  V P                  4      pV P                   '       d   Ve   \        W!4      pV# r[   )rc   r   r^   ÚfastÚrms_normr`   ra   )rd   Úhidden_statesÚgates   &&&r   Ú__call__ÚFalconH1RMSNormGated.__call__T   sc   € Ø×$×$Ð$¨Ò)9Ü" 4Ó7ˆMäŸ™×(Ñ(ØŸ;™;¨×(=Ñ(=ó
ˆð × × Ð  TÒ%5Ü" 4Ó7ˆMØÐr   )rb   rc   ra   r`   )g�íµ ÷Æ°>é   Tr[   ©	rQ   rR   rS   rT   r]   rm   rV   rW   Ú__classcell__©rf   rN   s   @@r   rY   rY   L   s   ù‡ € ÷1÷
ô 
r   rY   c                 óT  € V P                   pV P                  V P                  ,          pV P                  pVVVVV.p\        P
                  ! \        W@P                  4       UUu. uF1  w  rV\        P                  ! \        P                  ! V4      V34      NK3  	  upp4      # u uppi r[   )
r.   r1   r/   r2   r^   ÚconcatenateÚziprE   Úbroadcast_toÚarray)Úargsr'   Úgroups_time_state_sizeÚ	num_headsÚsizesÚsÚms   &      r   Úcompute_mup_vectorr~   a   s�   € Ø×(Ñ(ÐØ!×0Ñ0°4×3EÑ3EÕEÐØ×"Ñ"€IàØØØØð€Eô �>Š>ô ˜E×#7Ñ#7Ô8ô	
á8‘�ô �OŠOœBŸHšH Q›K¨!¨Ö.Ù8ò	
óð ùó	
s   Á%7B$
c                   ó<   a a€ ] tR t^tt oV 3R ltRR ltRtVtV ;t# )ÚFalconH1Attentionc                óÐ  <€ \         SV `  4        VP                  V n        VP                  V n        VP
                  V n        VP                  V n        V P                  R,          V n        \        P                  ! V P                  V P                  V P                  ,          VP                  R7      V n        \        P                  ! V P                  V P                  V P                  ,          VP                  R7      V n        \        P                  ! V P                  V P                  V P                  ,          VP                  R7      V n        \        P                  ! V P                  V P                  ,          V P                  VP                  R7      V n        \!        V P                  VP"                  VP$                  VP&                  VP(                  4      V n        R# )r   ©ÚbiasNg      à¿)r\   r]   r%   r<   rz   r>   Únum_kv_headsr$   ÚscaleÚnnÚLinearr    Úq_projÚk_projÚv_projÚo_projr   rC   rA   rB   r7   Úrope©rd   rx   rf   s   &&€r   r]   ÚFalconH1Attention.__init__v   sW  ø€ Ü‰ÑÔà×+Ñ+ˆÔØ×1Ñ1ˆŒØ ×4Ñ4ˆÔØŸ™ˆŒØ—]‘] DÕ(ˆŒ
ä—i’iØ×Ñ˜dŸn™n¨t¯}©}Õ<À4×CVÑCVô
ˆŒô —i’iØ×ÑØ×Ñ §¡Õ-Ø×$Ñ$ô
ˆŒô
 —i’iØ×ÑØ×Ñ §¡Õ-Ø×$Ñ$ô
ˆŒô
 —i’iØ�N‰N˜TŸ]™]Õ*¨D×,<Ñ,<À4×CVÑCVô
ˆŒô $Ø�M‰MØ�O‰OØ×!Ñ!Ø×ÑØ×(Ñ(ó
ˆŽ	r   c           	     ó   € VP                   w  rEpV P                  V4      pV P                  V4      pV P                  V4      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      # )ro   )Úoffset)Úmaskr…   Úcacheéÿÿÿÿ)Úshaperˆ   r‰   rŠ   Úreshaperz   Ú	transposer„   rŒ   r�   Úupdate_and_fetchr   r…   r‹   )rd   Úxr‘   r’   ÚBÚLÚ_ÚqueriesÚkeysÚvaluesÚoutputs   &&&&       r   rm   ÚFalconH1Attention.__call__˜   sX  € Ø—'‘'‰ˆˆaà—+‘+˜a“.ˆØ�{‰{˜1‹~ˆØ—‘˜Q“ˆà—/‘/ !¨¯©¸Ó;×EÑEÀaÈÈAÈqÓQˆØ�|‰|˜A $×"3Ñ"3°RÓ8×BÑBÀ1ÀaÈÈAÓNˆØ—‘  d×&7Ñ&7¸Ó<×FÑFÀqÈ!ÈQÐPQÓRˆàÒØ—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Àeô
ˆð ×!Ñ! ! Q¨¨1Ó-×5Ñ5°a¸BÓ?ˆà�{‰{˜6Ó"Ð"r   )
r$   r%   r‰   rz   r„   r‹   rˆ   rŒ   r…   rŠ   ©NNrp   rr   s   @@r   r€   r€   t   s   ù‡ € õ 
÷D#ô #r   r€   c                   ól   a a€ ] tR t^³t oV 3R ltV3R lR ltV3R lR ltR	V3R lR lltRtVt	V ;t
# )
ÚFalconH1Mixerc                ó$  <€ \         SV `  4        VP                  V n        VP                  V n        VP
                  V n        VP                  V n        VP                  V n
        VP                  V n        VP                  V n        VP                  V P                  ,          V n        VP                  V n        VP$                  V n        VP(                  V n        R \-        R4      3V n        RV n        RV n        V P                  ^V P"                  ,          V P                  ,          ,           V n        \6        P8                  ! V P4                  V P4                  V P                  V P                  V P4                  R7      V n        V P                  V P4                  ,           V P                  ,           p\6        P<                  ! V P                  VVP>                  R7      V n         \B        PD                  ! V P                  4      V n#        \B        PH                  ! ^V P                  ^,           4      p\B        PJ                  ! V4      V n&        VPN                  V n'        V PN                  '       d=   \Q        V P                  V P                  V P"                  VPR                  R7      V n*        \B        PD                  ! V P                  4      V n+        \6        P<                  ! V P                  V P                  VPX                  R7      V n-        R# )g        Úinfgü©ñÒMbP?gš™™™™™¹?)Úin_channelsÚout_channelsrƒ   Úkernel_sizeÚgroupsr‚   )re   rb   rc   N).r\   r]   r2   rz   r%   r/   Ússm_state_sizer,   Úconv_kernel_sizer.   r'   r+   Úuse_conv_biasr@   Úlayer_norm_epsilonr1   ry   rb   r-   r$   r*   Ú
chunk_sizerJ   Útime_step_limitÚtime_step_minÚtime_step_maxÚconv_dimr†   ÚConv1dÚconv1dr‡   r4   Úin_projr^   r_   Údt_biasÚarangeÚlogÚA_logr5   rY   r3   ÚnormÚDr?   Úout_proj)rd   rx   Úprojection_sizeÚArf   s   &&  €r   r]   ÚFalconH1Mixer.__init__´   s6  ø€ Ü‰ÑÔØ×+Ñ+ˆŒØ×+Ñ+ˆÔØ"×0Ñ0ˆÔØ $× 1Ñ 1ˆÔØ!%×!1Ñ!1ˆÔØ!×1Ñ1ˆÔà"&×"3Ñ"3ˆÔØ&*×&9Ñ&9¸D×<OÑ<OÕ&OˆÔ#à×+Ñ+ˆŒØ×)Ñ)ˆŒØ×/Ñ/ˆŒà #¤U¨5£\Ð2ˆÔØ"ˆÔØ ˆÔà×.Ñ.°°T·]±]Õ1BÀT×EXÑEXÕ1XÕXˆŒÜ—i’iØŸ™ØŸ™Ø×#Ñ#Ø×-Ñ-Ø—=‘=ô
ˆŒð ×0Ñ0°4·=±=Õ@À4Ç>Á>ÕQˆÜ—y’yØ×ÑØØ×%Ñ%ô
ˆŒô —w’w˜tŸ~™~Ó.ˆŒä�IŠI�a˜Ÿ™¨!Õ+Ó,ˆÜ—V’V˜A“YˆŒ
à"×1Ñ1ˆÔØ××ÐÜ,Ø×&Ñ&Ø×+Ñ+ØŸ™Ø!%×!<Ñ!<ô	ˆDŒIô —’˜Ÿ™Ó(ˆŒäŸ	š	Ø×"Ñ" D×$4Ñ$4¸4×;OÑ;Oô
ˆŽr   c                óŽ   <€ V ^8„  d   QhRS[ P                  RS[S[,          RS[S[ P                  ,          RS[ P                  /# )r   Ú
conv_inputr’   r‘   Úreturn©r^   rw   r   r   )rM   rN   s   "€r   rO   ÚFalconH1Mixer.__annotate__ì   sI   ø€ ÷  $ñ  $á—H‘Hð $ñ ™Õ$ð $ñ ‘r—x‘xÕ ð	 $ñ
 
�‰ñ $r   c                ód  € Ve    \         P                  ! VR,          V^ 4      pVEe6   V^ ,          fS   \         P                  ! VP                  ^ ,          V P                  ^,
          V P
                  3VP                  R7      pM	V^ ,          p\         P                  ! WA.^R7      pV P                  ^,
          pVP                  eƒ   VP                  ^,          p\         P                  ! VP                  ^ Wv,
          4      pVR,          \         P                  ! V4      ,           R,          p	\         P                  ! WY^R7      V^ &   M@VRV) R 1R3,          V^ &   M-\         P                  ! VRV P                  ^,
          ^ 3R.4      pV P                  V4      p
\        P                  ! V
4      # )N)Údtype©ÚaxisºNNN).N©rÉ   N)r   r   )r^   ÚwhereÚzerosr”   r«   r²   rÆ   rt   ÚlengthsÚclipr·   Útake_along_axisÚpadr´   r†   Úsilu)rd   rÁ   r’   r‘   Ú
conv_stateÚpadded_inputÚn_keepÚtÚendsÚ	positionsÚconv_outputs   &&&&       r   Ú_convÚFalconH1Mixer._convì   s^  € ð ÒÜŸš $ y¥/°:¸qÓAˆJàÓØ�Q�xÒÜŸXšXØ×%Ñ% aÕ(¨$×*?Ñ*?À!Õ*CÀTÇ]Á]ÐSØ$×*Ñ*ô‘
ð
 # 1�X�
ÜŸ>š>¨:Ð*BÈÔKˆLØ×*Ñ*¨QÕ.ˆFØ�}‰}Ò(Ø ×&Ñ& qÕ)�Ü—w’w˜uŸ}™}¨a°µÓ<�Ø! '�]¬R¯YªY°vÓ->Õ>À	ÕJ�	Ü×-Ò-¨lÈAÔN��a’à'¨¨F¨7©8°Q¨Õ7��a’äŸ6š6Ø˜V d×&;Ñ&;¸aÕ&?ÀÐ%CÀVÐLóˆLð —k‘k ,Ó/ˆÜ�wŠw�{Ó#Ð#r   c                óÜ   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[ P                  RS[ P                  RS[S[,          RS[S[ P                  ,          RS[ P                  /# )r   rk   r™   ÚCÚdtr’   r‘   rÂ   rÃ   )rM   rN   s   "€r   rO   rÄ     s|   ø€ ÷ #Fñ #Fá—x‘xð#Fñ �8‰8ð#Fñ �8‰8ð	#Fñ
 �H‰Hð#Fñ ™Õ$ð#Fñ ‘r—x‘xÕ ð#Fñ 
�‰ñ#Fr   c                ó  € VP                   w  rxp	VP                  WxV P                  V P                  4      pVP                  WxV P                  V P
                  4      pVP                  WxV P                  V P
                  4      pV'       d   V^,          p
VP                  pMRRrº\        VV P                  VVV P                  VV P                  V
V P                  VV4      w  rÊV'       d   W¥^&   VP                  WxV P                  4      # )ro   N)r”   r•   rz   r$   rb   rª   rÍ   r   r¹   r»   r¶   r¯   r'   )rd   rk   r™   rÜ   rÝ   r’   r‘   Ú
batch_sizeÚseq_lenr›   ÚstaterÍ   Úys   &&&&&&&      r   Ú_ssmÚFalconH1Mixer._ssm  së   € ð "/×!4Ñ!4Ñˆ
˜QØ%×-Ñ-Ø §¡°·±ó
ˆð �I‰I�j¨4¯=©=¸$×:MÑ:MÓNˆØ�I‰I�j¨4¯=©=¸$×:MÑ:MÓNˆßØ˜!•HˆEØ—m‘m‰Gà! 4�7ÜØØ�J‰JØØØ�F‰FØØ�L‰LØØ× Ñ ØØó
‰ˆ÷ Ø�!‰HØ�y‰y˜¨d×.DÑ.DÓEÐEr   c                óD   <€ V ^8„  d   QhRS[ S[P                  ,          /# )r   r‘   )r   r^   rw   )rM   rN   s   "€r   rO   rÄ   3  s   ø€ ÷  ñ  ±xÁÇÁÕ7Iñ  r   c           	     ór  € V P                  V4      p\        P                  ! VV P                  V P                  V P                  ,           .RR7      w  rVpV P                  WbV4      p\        P                  ! VV P                  V P                  V P                  V P                  ,          ,           .RR7      w  ršpV P                  WšW·W#R7      pV'       d#   VP                  VP                  ^,          4       V P                  '       d   V P                  WÅ4      pM\        W\4      pV P                  V4      # )ro   rÇ   )r‘   r“   )rµ   r^   Úsplitr'   r²   rÙ   rb   rª   rã   Úadvancer”   r5   rº   r   r¼   )rd   Úinput_statesr’   r‘   Úprojected_statesrl   rÁ   rÝ   rØ   rk   r™   rÜ   râ   s   &&&&         r   rm   ÚFalconH1Mixer.__call__3  sþ   € ØŸ<™<¨Ó5Ðä!ŸxšxØØ×#Ñ# T×%;Ñ%;¸d¿m¹mÕ%KÐLØô 
Ñˆ˜"ð —j‘j °DÓ9ˆä ŸhšhØà×&Ñ&Ø×&Ñ&¨¯©¸×9LÑ9LÕ)LÕLðð ô
Ñˆ˜!ð �I‰I�m¨¨uˆIÓ@ˆßØ�M‰M˜!Ÿ'™' !�*Ô%à××ÐØ—	‘	˜!Ó"‰Aä�t“ˆAà�}‰}˜QÓÐr   )r¹   r»   r®   r´   r²   r«   r¶   ry   r$   r%   rµ   r'   r­   r5   rb   rº   rz   r¼   rª   r¯   r±   r°   r¬   r¡   )rQ   rR   rS   rT   r]   rÙ   rã   rm   rV   rW   rq   rr   s   @@r   r£   r£   ³   s2   ù‡ € õ6
÷p $ð  $÷D#Fð #F÷J ÷  ò  r   r£   c                   ó8   a a€ ] tR tRt oV 3R ltR tRtVtV ;t# )ÚFalconH1MLPiS  c                ó>  <€ \         SV `  4        VP                  pVP                  p\        P
                  ! W#VP                  R 7      V n        \        P
                  ! W#VP                  R 7      V n        \        P
                  ! W2VP                  R 7      V n	        R# )r‚   N)
r\   r]   r%   r'   r†   r‡   r8   Ú	gate_projÚup_projÚ	down_proj)rd   rx   r%   r'   rf   s   &&  €r   r]   ÚFalconH1MLP.__init__U  sh   ø€ Ü‰ÑÔà×&Ñ&ˆØ ×2Ñ2ÐäŸš ;ÈÏÉÔVˆŒÜ—y’y ÀdÇmÁmÔTˆŒÜŸšÐ#4ÈÏÉÔVˆŽr   c                ó|   € \        V P                  V4      V P                  V4      4      pV P                  V4      pV# r[   )r   rï   rð   rñ   )rd   r˜   râ   s   && r   rm   ÚFalconH1MLP.__call___  s2   € Ü�4—>‘> !Ó$ d§l¡l°1£oÓ6ˆØ�N‰N˜1ÓˆØˆr   )rñ   rï   rð   rp   rr   s   @@r   rí   rí   S  s   ù‡ € õW÷ò r   rí   c                   óD   a a€ ] tR tRt oV 3R ltV3R lR ltRtVtV ;t# )ÚFalconH1DecoderLayerie  c                óÐ  <€ \         SV `  4        \        V4      V n        VP                  pVP
                  V,          ^VP                  ,          V,          ,           V n        \        VR7      V n	        \        V4      V n        \        P                  ! VP                  VP                  R7      V n        \        P                  ! VP                  VP                  R7      V n        R# )r   ©rx   ©re   N)r\   r]   rí   Úfeed_forwardr$   r<   r>   Úchannels_attnr£   Úmambar€   Ú	self_attnr†   ÚRMSNormr%   r@   Úinput_layernormÚpre_ff_layernorm)rd   rx   r$   rf   s   && €r   r]   ÚFalconH1DecoderLayer.__init__f  sª   ø€ Ü‰ÑÔÜ'¨Ó-ˆÔà—=‘=ˆà×$Ñ$ xÕ/Ø�$×*Ñ*Õ*¨XÕ5õ6ð 	Ôô
 #¨Ô-ˆŒ
ä*¨4Ó0ˆŒä!Ÿzšz¨$×*:Ñ*:À×@QÑ@QÔRˆÔÜ "§
¢
¨4×+;Ñ+;À×ARÑARÔ SˆÖr   c                ó¢   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[ P                  ,          RS[ P                  /# )r   ÚhÚ	attn_maskÚ
mamba_maskrÂ   )r^   rw   r   )rM   rN   s   "€r   rO   Ú!FalconH1DecoderLayer.__annotate__w  sM   ø€ ÷ ñ á�8‰8ðñ ™BŸH™HÕ%ð	ñ
 ™RŸX™XÕ&ðñ 
�‰ñr   c                ó  € TpV P                  V4      pV P                  W^ ,          VR7      pV P                  VVV^,          R7      pWV,           V,           pTpV P                  V4      pV P	                  V4      pWQ,           # )r   )ré   r’   r‘   )r‘   r’   )rÿ   rü   rý   r   rú   )rd   r  r’   r  r  ÚresidualÚmamba_hÚattn_hs   &&&&&   r   rm   ÚFalconH1DecoderLayer.__call__w  s‹   € ð ˆØ× Ñ  Ó#ˆà—*‘*¨!¸µ8À*�*ÓMˆà—‘ØØØ˜•(ð  ó 
ˆð Õ Õ'ˆàˆØ×!Ñ! !Ó$ˆØ×Ñ˜aÓ ˆØ�|Ðr   )rû   rú   rÿ   rü   r   rý   rp   rr   s   @@r   rö   rö   e  s   ù‡ € õT÷"÷ ð r   rö   c                   ó<   a a€ ] tR tRt oV 3R ltRR ltRtVtV ;t# )ÚFalconH1Modeli’  c                óÆ  <€ \         SV `  4        Wn        VP                  V n        VP                  V n        \
        P                  ! V P                  V P                  4      V n        \        V4      V n	        \        VP                  4       Uu. uF  p\        V4      NK  	  upV n        \
        P                  ! V P                  VP                  R 7      V n        R# u upi )rù   N)r\   r]   rx   rG   r%   r†   Ú	EmbeddingÚembed_tokensr~   Ú_mup_vectorÚranger=   rö   Úlayersrþ   r@   Úfinal_layernorm)rd   rx   r›   rf   s   && €r   r]   ÚFalconH1Model.__init__“  s©   ø€ Ü‰ÑÔàŒ	ØŸ/™/ˆŒØ×+Ñ+ˆÔäŸLšL¨¯©¸$×:JÑ:JÓKˆÔä-¨dÓ3ˆÔä05°d×6LÑ6LÔ0Mó
Ù0M¨1Ô  Ö&Ñ0Mñ
ˆŒô  "Ÿzšz¨$×*:Ñ*:À×@QÑ@QÔRˆÖùò
s   ÂCc                óF  € V P                  V4      pTpVf   R\        V P                  4      ,          .p\        W2^ ,          ^ ,          4      p\	        W2^ ,          ^,          4      p\        V P                  V4       F  w  rgV! VVVVR7      pK  	  V P                  V4      # )N)r’   r  r  r¡   )r  Úlenr  r
   r	   ru   r  )rd   Úinputsr’   r  r  r  ÚlayerÚcs   &&&     r   rm   ÚFalconH1Model.__call__¢  s–   € à×Ñ˜fÓ%ˆàˆàŠ=Ø!¤C¨¯©Ó$4Õ4Ð5ˆEä$ Q¨a­°­Ó4ˆ
Ü)¨!°1­X°a­[Ó9ˆ	ä˜DŸK™K¨Ö/‰HˆEÙØØØ#Ø%ô	ŠAñ 0ð ×#Ñ# AÓ&Ð&r   )r  rx   r  r  r%   r  rG   r[   rp   rr   s   @@r   r  r  ’  s   ù‡ € õS÷'ô 'r   r  c                   óX   a a€ ] tR tRt oV 3R ltRR ltR tR t]R 4       t	Rt
VtV ;t# )	ÚModeli¹  c                ó   <€ \         SV `  4        Wn        VP                  V n        \	        VR 7      V n        VP                  '       g5   \        P                  ! VP                  VP                  RR7      V n        R# R# )rø   Fr‚   N)r\   r]   rx   r;   r  ÚmodelrH   r†   r‡   r%   rG   Úlm_headr�   s   &&€r   r]   ÚModel.__init__»  sY   ø€ Ü‰ÑÔØŒ	ØŸ/™/ˆŒÜ"¨Ô-ˆŒ
Ø×'×'Ð'ÜŸ9š9 T×%5Ñ%5°t·±ÈUÔSˆDŽLñ (r   c                ó8  € V P                  WR 7      pV P                  P                  '       d]   V P                   P                  P	                  V4      pW@P                  P
                  V P                  P                  ,          ,          # V P                  V4      # ))r’   )r  rx   rH   r  Ú	as_linearr)   r#   r   )rd   r  r’   rk   Úouts   &&&  r   rm   ÚModel.__call__Ã  sm   € ØŸ
™
 6˜
Ó7ˆØ�9‰9×(×(Ð(Ø—*‘*×)Ñ)×3Ñ3°MÓBˆCØŸ)™)×6Ñ6¸¿¹×9WÑ9WÕWÕXÐXà—<‘< Ó.Ð.r   c                óÞ  € VR ,          pVP                   R,          VP                   ^,          8:  d   V# / pV P                  pVP                  4        EF  w  rVVP                  R4      '       d   WdP                  ,          pEMàVP                  R4      '       d   WdP
                  ,          pEMµVP                  R4      '       g   VP                  R4      '       d   WdP                  ,          pEMsVP                  R4      '       d&   WdP                  VP                  ,          ,          pEM7VP                  R4      '       d   WdP                  ,          pEMVP                  R4      '       d   WdP                  ,          pMâVP                  R4      '       d   WdP                  ^ ,          ,          pM±VP                  R	4      '       d   WdP                  ^,          ,          pM€VP                  R
4      '       dP   VVP                  V P                  P                  P                  VP                  4      R,          ,          ,          pMRV9   d   VP!                  ^ ^^4      pWcV&   EK  	  V# )z"model.layers.0.mamba.conv1d.weightzembed_tokens.weightzlm_head.weightzq_proj.weightzk_proj.weightzkey_proj.weightzo_proj.weightzout_proj.weightzgate_proj.weightzdown_proj.weightzin_proj.weightzconv1d.weightr“   rÊ   )r”   rx   ÚitemsÚendswithr#   r)   r!   r(   r"   rF   r:   rD   r  r  ÚastyperÆ   r–   )rd   ÚweightsÚc1dÚsanitized_weightsrx   ÚnameÚparams   &&     r   ÚsanitizeÚModel.sanitizeË  sÒ  € àÐ:Õ;ˆØ�9‰9�R�=˜CŸI™I a�LÔ(ØˆNàÐØ�y‰yˆà"Ÿ=™=Ÿ?‰KˆDà�}‰}Ð2×3Ò3Ø×2Ñ2Õ2’Ø—‘Ð/×0Ò0Ø×0Ñ0Õ0’Ø—‘˜×/Ò/°4·=±=À×3QÒ3QØ×5Ñ5Õ5’Ø—‘Ð0×1Ò1Ø×5Ñ5¸×8KÑ8KÕKÕK’Ø—‘˜×/Ò/Ø×6Ñ6Õ6’Ø—‘Ð0×1Ò1Ø×0Ñ0Õ0‘Ø—‘Ð1×2Ò2Ø×-Ñ-¨aÕ0Õ0‘Ø—‘Ð1×2Ò2Ø×-Ñ-¨aÕ0Õ0‘Ø—‘Ð/×0Ò0ØØ×*Ñ*Ø—j‘j×,Ñ,×3Ñ3°E·K±KÓ@ÀÕIõJõ‘ð ! DÔ(ØŸ™¨¨1¨aÓ0�Ø&+˜dÔ#ñ3 +ð4 !Ð r   c           	     ó¢   € \        V P                  P                  4       Uu. uF!  p\        \	        ^R7      \        4       4      NK#  	  up# u upi )r   )Úsize)r  rx   r=   r   r   r   )rd   r›   s   & r   Ú
make_cacheÚModel.make_cacheð  sF   € ô ˜4Ÿ9™9×6Ñ6Ô7ó
á7�ô ”k qÔ)¬7«9Ö5Ù7ñ
ð 	
ùò 
s   ¢'Ac                ó.   € V P                   P                  # r[   )r  r  )rd   s   &r   r  ÚModel.layersö  s   € à�z‰z× Ñ Ð r   )rx   r   r  r;   r[   )rQ   rR   rS   rT   r]   rm   r/  r3  Úpropertyr  rV   rW   rq   rr   s   @@r   r  r  ¹  s4   ù‡ € õTô/ò#!òJ
ð ñ!ó ÷!ð !r   r  )$Údataclassesr   r   Útypingr   r   Úmlx.coreÚcorer^   Úmlx.nnr†   Úactivationsr   Úbaser   r	   r
   r   r’   r   r   r   Ú
rope_utilsr   Ússmr   r   ÚModulerY   r~   r€   r£   rí   rö   r  r  r   r   r   Ú<module>rB     sÅ   ð÷ )ß !å Ý å ÷ó ÷ 3Ñ 2Ý 'Ý ð ô3%�ó 3%ó ð3%ôl˜2Ÿ9™9ô ò*ô&<#˜Ÿ	™	ô <#ô~] �B—I‘Iô ] ô@�"—)‘)ô ô$*˜2Ÿ9™9ô *ôZ$'�B—I‘Iô $'ôN?!ˆB�I‰Iö ?!r   