+
    TV-jˆ  ã                   ó~  € ^ RI Ht ^ RIHtHt ^ RIHt ^ RIH	t	 ^ RI
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 R]	P&                  4      tR# )é    )Ú	dataclass)ÚAnyÚOptionalN)Úswiglu)ÚBaseModelArgsÚcreate_attention_maskÚscaled_dot_product_attentionc                   ó8   a € ] tR t^t o ^tRtRtV 3R ltRtV t	R# )Ú	ModelArgsi'  Fc                ó’   <€ 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Úrms_norm_epsÚ
vocab_sizeÚn_shared_headÚ
rope_thetaÚrope_traditional)ÚstrÚintÚfloatÚbool)ÚformatÚ__classdict__s   "€Úd/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_lm/models/plamo.pyÚ__annotate__ÚModelArgs.__annotate__   sƒ   ø‡ ‚ á�Oñ ñ Ññ ñ Ññ	 ñ
 Ññ ñ Ññ ñ Ññ ñ �Oñ ñ Ññ ñ Ññ ñ Ñ"ò ó    © N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r   s   @r   r   r      s   ø‡ € ð €MØ€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R/# ©r   ÚconfigÚreturnN©r   )r   r   s   "€r   r   ÚAttention.__annotate__   s   ø€ ÷ 
ñ 
™yð 
¨Tñ 
r!   c                óð  <€ \         SV `  4        Wn        VP                  V n        V P                  VP                  ,          pVP                  V n        V;V n        V n        \        \        P                  ! V P
                  VP                  ,          4      4      ;V n        V n        VR,          V n        \        P                   ! V P                  V P
                  V P                  ,          RR7      V n        \        P                   ! V P                  V P                  V P                  ,          RR7      V n        \        P                   ! V P                  V P                  V P                  ,          RR7      V n        \        P                   ! V P
                  V P                  ,          V P                  RR7      V n        \        P*                  ! VVP,                  VP.                  RR7      V n        R# )g      à?F©Úbiasg      ð?)ÚtraditionalÚbaseÚscaleNg      à¿)ÚsuperÚ__init__r.   r   r   Úq_num_headsÚqk_dimÚv_dimr   ÚnpÚceilr   Úk_num_headsÚv_num_headsr7   ÚnnÚLinearÚq_projÚk_projÚv_projÚo_projÚRoPEr   r   Ú
rotary_emb)Úselfr.   Úhead_dimÚ	__class__s   && €r   r9   ÚAttention.__init__   st  ø€ Ü‰ÑÔØŒØ!×-Ñ-ˆÔØ×#Ñ# v×'AÑ'AÕAˆà!×5Ñ5ˆÔØ#+Ð+ˆŒ�d”jÜ.1Ü�GŠG�D×$Ñ$ v×';Ñ';Õ;Ó<ó/
ð 	
ˆÔ˜4Ô+ð ˜t•^ˆŒ
ä—i’iØ×Ñ˜d×.Ñ.°·±Õ<À5ô
ˆŒô —i’iØ×Ñ˜d×.Ñ.°·±Õ<À5ô
ˆŒô —i’iØ×Ñ˜d×.Ñ.°·±Õ;À%ô
ˆŒô —i’iØ×Ñ˜tŸz™zÕ)¨4×+;Ñ+;À%ô
ˆŒô Ÿ'š'ØØ×/Ñ/Ø×"Ñ"Øô	
ˆŽr!   c                óŽ   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[,          RS[ P                  /# )r   Úhidden_statesÚattention_maskÚcacher/   ©ÚmxÚarrayr   r   )r   r   s   "€r   r   r1   >   sH   ø€ ÷ +#ñ +#á—x‘xð+#ñ !¡§¡Õ*ð+#ñ ™�}ð	+#ñ
 
�‰ñ+#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
                  V P                  4      P                  ^ ^^^4      pVP	                  WEV P                  V P                  4      P                  ^ ^^^4      pV	P	                  WEV P                  V P                  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\        P                  ! V^V P                   P"                  ^^.4      p\        P                  ! V	^V P                   P"                  ^^.4      p	\%        VVV	VV P&                  VR7      p
V
P                  ^ ^^^4      P	                  WER4      p
V P)                  V
4      # )r   )Úoffset)rP   r7   Úmaskéÿÿÿÿ)ÚshaperC   rD   rE   Úreshaper:   r;   Ú	transposer?   r@   r<   rH   rU   Úupdate_and_fetchrR   Útiler.   r   r	   r7   rF   )rI   rN   rO   rP   ÚbszÚq_lenÚ_ÚqueriesÚkeysÚvaluesÚoutputs   &&&&       r   Ú__call__ÚAttention.__call__>   sÍ  € ð &×+Ñ+‰ˆ�Aà—+‘+˜mÓ,ˆØ�{‰{˜=Ó)ˆØ—‘˜]Ó+ˆð —/‘/ #¨d×.>Ñ.>ÀÇÁÓL×VÑVØˆq�!�Qó
ˆð �|‰|˜C¨×(8Ñ(8¸$¿+¹+ÓF×PÑPØˆq�!�Qó
ˆð —‘ ¨D×,<Ñ,<¸d¿j¹jÓI×SÑSØˆq�!�Qó
ˆð ÒØ—o‘o g·l±l�oÓCˆGØ—?‘? 4·±�?Ó=ˆDØ ×1Ñ1°$Ó?‰LˆD�&à—o‘o gÓ.ˆGØ—?‘? 4Ó(ˆDä�wŠw�t˜a §¡×!:Ñ!:¸A¸qÐAÓBˆÜ—’˜ ! T§[¡[×%>Ñ%>ÀÀ1Ð!EÓFˆä-ØØØØØ—*‘*Øô
ˆð ×!Ñ! ! Q¨¨1Ó-×5Ñ5°cÀ"ÓEˆØ�{‰{˜6Ó"Ð"r!   )r.   r   r?   rD   rF   r:   rC   r;   rH   r7   r<   r@   rE   ©NN©	r#   r$   r%   r&   r9   rd   r(   r)   Ú__classcell__©rK   r   s   @@r   r+   r+      s   ù‡ € ÷
ó 
÷B+#÷ +#ò +#r!   r+   c                   óP   a a€ ] tR t^lt 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-   r0   )r   r   s   "€r   r   ÚMLP.__annotate__m   s   ø€ ÷ Yñ Y™yð Y¨Tñ Yr!   c                ó   <€ \         SV `  4        Wn        VP                  V n        VP                  V n        \
        P                  ! V P                  V P                  R R7      V n        \
        P                  ! V P                  V P                  R R7      V n        \
        P                  ! V P                  V P                  R R7      V n	        R# ©Fr3   N)
r8   r9   r.   r   r   rA   rB   Ú	gate_projÚup_projÚ	down_proj©rI   r.   rK   s   &&€r   r9   ÚMLP.__init__m   s’   ø€ Ü‰ÑÔØŒØ!×-Ñ-ˆÔØ!'×!9Ñ!9ˆÔÜŸš 4×#3Ñ#3°T×5KÑ5KÐRWÔXˆŒÜ—y’y ×!1Ñ!1°4×3IÑ3IÐPUÔVˆŒÜŸš 4×#9Ñ#9¸4×;KÑ;KÐRWÔXˆŽr!   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# )r   Úxr/   )rR   rS   )r   r   s   "€r   r   rm   v   s'   ø€ ÷ Jñ J™"Ÿ(™(ð J¡r§x¡xñ Jr!   c                ót   € V P                  \        V P                  V4      V P                  V4      4      4      # ©N)rr   r   rp   rq   )rI   rv   s   &&r   rd   ÚMLP.__call__v   s)   € Ø�~‰~œf T§^¡^°AÓ%6¸¿¹ÀQ»ÓHÓIÐIr!   )r.   rr   rp   r   r   rq   rg   ri   s   @@r   rk   rk   l   s#   ù‡ € ÷Yó Y÷J÷ Jð Jr!   rk   c                   óT   a a€ ] tR t^zt 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# )ÚPlamoDecoderLayerc                ó$   <€ V ^8„  d   QhRS[ RR/# r-   r0   )r   r   s   "€r   r   ÚPlamoDecoderLayer.__annotate__{   s   ø€ ÷ Lñ L™yð L¨Tñ Lr!   c                óô   <€ \         SV `  4        Wn        VP                  V n        \	        V4      V n        \        V4      V n        \        P                  ! VP                  VP                  R 7      V n        R# ©)ÚepsN)r8   r9   r.   r   r+   Ú	self_attnrk   ÚmlprA   ÚRMSNormr   Únormrs   s   &&€r   r9   ÚPlamoDecoderLayer.__init__{   sV   ø€ Ü‰ÑÔØŒØ!×-Ñ-ˆÔÜ" 6Ó*ˆŒÜ�v“;ˆŒÜ—J’J˜v×1Ñ1°v×7JÑ7JÔKˆŽ	r!   c                ót   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[,          /# )r   rN   rO   rP   rQ   )r   r   s   "€r   r   r}   ƒ   s:   ø€ ÷ ñ á—x‘xðñ !¡§¡Õ*ðñ ™�}ñ	r!   c                ó”   € TpV P                  V4      pV P                  VVVR 7      pV P                  V4      pWE,           V,           pV# ))rN   rO   rP   )r„   r�   r‚   )rI   rN   rO   rP   ÚresidualÚhidden_states_saÚhidden_states_mlps   &&&&   r   rd   ÚPlamoDecoderLayer.__call__ƒ   s[   € ð !ˆàŸ	™	 -Ó0ˆð  Ÿ>™>Ø'Ø)Øð *ó 
Ðð !ŸH™H ]Ó3Ðà Õ3Ð6GÕGˆØÐr!   )r.   r   r‚   r„   r�   rf   rg   ri   s   @@r   r{   r{   z   s    ù‡ € ÷Ló L÷÷ ò r!   r{   c                   ó>   a a€ ] tR t^œt oV3R lV 3R lltRtVtV ;t# )ÚPlamoDecoderc                ó$   <€ V ^8„  d   QhRS[ RR/# r-   r0   )r   r   s   "€r   r   ÚPlamoDecoder.__annotate__�   s   ø€ ÷ 
ñ 
™yð 
¨Tñ 
r!   c                ó”   <€ \         SV `  4        \        VP                  4       Uu. uF  p\	        V4      NK  	  upV n        R # u upi rx   )r8   r9   Úranger   r{   Úlayers)rI   r.   r_   rK   s   && €r   r9   ÚPlamoDecoder.__init__�   s@   ø€ Ü‰ÑÔä/4°V×5MÑ5MÔ/Nó
Ù/N¨!Ô˜fÖ%Ñ/Nñ
ˆŽùò 
s   §A)r’   )r#   r$   r%   r&   r9   r(   r)   rh   ri   s   @@r   r�   r�   œ   s   ù‡ € ÷
÷ 
ó 
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# )Ú
PlamoModelc                ó    <€ V ^8„  d   QhRS[ /# )r   r.   r0   )r   r   s   "€r   r   ÚPlamoModel.__annotate__¥   s   ø€ ÷ Lñ L™yñ Lr!   c                ó4  <€ \         SV `  4        Wn        VP                  V n        \        P
                  ! VP                  VP                  4      V n        \        V4      V n	        \        P                  ! VP                  VP                  R 7      V n        R# r   )r8   r9   r.   r   rA   Ú	Embeddingr   Úembed_tokensr�   r’   rƒ   r   r„   rs   s   &&€r   r9   ÚPlamoModel.__init__¥   si   ø€ Ü‰ÑÔØŒØ ×+Ñ+ˆŒäŸLšL¨×):Ñ):¸F×<NÑ<NÓOˆÔÜ" 6Ó*ˆŒÜ—J’J˜v×1Ñ1°v×7JÑ7JÔKˆŽ	r!   c                ód   <€ V ^8„  d   QhRS[ P                  RS[S[,          RS[ P                  /# ©r   ÚinputsrP   r/   rQ   )r   r   s   "€r   r   r—   ®   s5   ø€ ÷ ñ á—‘ðñ ™�}ðñ 
�‰ñ	r!   c                óP  € V P                  V4      pVf8   \        \        V P                  P                  4      4       Uu. uF  pR NK  	  pp\	        W2^ ,          4      p\        V P                  P                  V4       F  w  rgV! W5VR7      pK  	  V P                  V4      # u upi )N)rP   )rš   r‘   Úlenr’   r   Úzipr„   )rI   rž   rP   Úhr_   rV   ÚlayerÚcs   &&&     r   rd   ÚPlamoModel.__call__®   s�   € ð
 ×Ñ˜fÓ%ˆàŠ=Ü#(¬¨T¯[©[×-?Ñ-?Ó)@Ô#AÓBÑ#A˜a“TÑ#AˆEÐBä$ Q¨a­Ó1ˆä˜DŸK™K×.Ñ.°Ö6‰HˆEÙ�a QÔ'ŠAñ 7ð �y‰y˜‹|Ðùò Cs   Á B#)r.   rš   r’   r„   r   rx   rg   ri   s   @@r   r•   r•   ¤   s    ù‡ € ÷Ló L÷÷ ò 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   Úargsr/   Nr0   )r   r   s   "€r   r   ÚModel.__annotate__Á   s   ø€ ÷ ñ ™Yð ¨4ñ r!   c                óÖ   <€ \         SV `  4        VP                  V n        \        V4      V n        \
        P                  ! VP                  VP                  R R7      V n	        Wn
        R# ro   )r8   r9   r   r•   ÚmodelrA   rB   r   r   Úlm_headr©   )rI   r©   rK   s   &&€r   r9   ÚModel.__init__Á   sM   ø€ Ü‰ÑÔØŸ/™/ˆŒÜ Ó%ˆŒ
Ü"$§)¢)Ø×Ñ˜dŸo™o°Eô#
ˆŒð Ž	r!   c                ód   <€ V ^8„  d   QhRS[ P                  RS[S[,          RS[ P                  /# r�   rQ   )r   r   s   "€r   r   rª   Ê   s5   ø€ ÷ !ñ !á—‘ð!ñ ™�}ð!ñ 
�‰ñ	!r!   c                óF   € V P                  W4      pV P                  V4      # rx   )r¬   r­   )rI   rž   rP   Úouts   &&& r   rd   ÚModel.__call__Ê   s!   € ð
 �j‰j˜Ó'ˆØ�|‰|˜CÓ Ð r!   c                óB   € V P                   P                  P                  # rx   )r¬   r’   )rI   s   &r   r’   ÚModel.layersÒ   s   € à�z‰z× Ñ ×'Ñ'Ð'r!   )r©   r­   r¬   r   rx   )r#   r$   r%   r&   r9   rd   Úpropertyr’   r(   r)   rh   ri   s   @@r   r§   r§   À   s2   ù‡ € ÷ó ÷!ò !ð ñ(ó ÷(ð (r!   r§   )Údataclassesr   Útypingr   r   Úmlx.coreÚcorerR   Úmlx.nnrA   Únumpyr=   Úactivationsr   r6   r   r   r	   r   ÚModuler+   rk   r{   r�   r•   r§   r"   r!   r   Ú<module>r¾      s    ðõ "ß  å Ý Û å ß TÑ Tð ô
#�ó 
#ó ð
#ôM#�—	‘	ô M#ô`Jˆ"�)‰)ô Jô˜Ÿ	™	ô ôD
�2—9‘9ô 
ô�—‘ô ô8(ˆB�I‰Iö (r!   