+
    TV-jû  ã                   óX  € ^ RI 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 ^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 R]	P&                  4      tR# )é    )Ú	dataclass)ÚAnyÚOptionalN)Úswiglu)ÚBaseModelArgsÚcreate_attention_maskÚscaled_dot_product_attention)Úinitialize_ropec                   ó,   a € ] tR t^t o V 3R ltRtV tR# )Ú	ModelArgsc                óÆ   <€ V ^8„  d   Qh/ 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&   # )é   Úhidden_sizeÚintermediate_sizeÚ
model_typeÚmax_position_embeddingsÚnum_attention_headsÚnum_key_value_headsÚhead_dimÚnum_hidden_layersÚrms_norm_epsÚ
vocab_sizeÚ
rope_thetaÚuse_biasÚtie_word_embeddings)ÚintÚstrr   ÚfloatÚbool)ÚformatÚ__classdict__s   "€Úg/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_lm/models/ernie4_5.pyÚ__annotate__ÚModelArgs.__annotate__   s­   ø‡ ‚ áÑñ ñ Ññ ñ �Oñ	 ñ
 !Ñ ñ ñ Ññ ñ Ññ ñ ‘s�mÑñ ñ Ññ ñ Ññ ñ �Oñ ñ Ññ ñ �Nñ ñ Ñò ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r!   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# )Ú	Attentionc                ó    <€ V ^8„  d   QhRS[ /# ©r   Úargs©r   )r    r!   s   "€r"   r#   ÚAttention.__annotate__    s   ø€ ÷ 
ñ 
™Yñ 
r%   c                ó¨  <€ \         SV `  4        VP                  pVP                  ;V n        pVP
                  ;V n        pVP                  ;'       g	    W#,          ;V n        pVR,          V n        \        P                  ! W#V,          VP                  R7      V n        \        P                  ! W$V,          VP                  R7      V n        \        P                  ! W$V,          VP                  R7      V n        \        P                  ! W5,          W!P                  R7      V n        \!        VVP"                  RVP$                  R7      V n        R# )g      à?©ÚbiasT)ÚbaseÚtraditionalr   Ng      à¿)ÚsuperÚ__init__r   r   Ún_headsr   Ú
n_kv_headsr   ÚscaleÚnnÚLinearr   Úq_projÚk_projÚv_projÚo_projr
   r   r   Úrope)Úselfr2   Údimr<   r=   r   Ú	__class__s   &&    €r"   r;   ÚAttention.__init__    sî   ø€ Ü‰ÑÔà×ÑˆØ!%×!9Ñ!9Ð9ˆŒ�wØ'+×'?Ñ'?Ð?ˆŒ˜*à#'§=¡=×#BÐ#B°CµNÐBˆŒ˜Ø˜t•^ˆŒ
ä—i’i ¨xÕ%7¸d¿m¹mÔLˆŒÜ—i’i °(Õ%:ÀÇÁÔOˆŒÜ—i’i °(Õ%:ÀÇÁÔOˆŒÜ—i’i Õ 2°C¿m¹mÔLˆŒä#ØØ—‘ØØ$(×$@Ñ$@ô	
ˆŽ	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#   r4   6   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)rN   r>   rM   éÿÿÿÿ)ÚshaperA   rB   rC   Úreshaper<   Ú	transposer=   rE   rU   Úupdate_and_fetchr	   r>   rD   )rF   rL   rM   rN   ÚBÚLÚDÚqueriesÚkeysÚvaluesÚoutputs   &&&&       r"   Ú__call__ÚAttention.__call__6   sQ  € ð —'‘'‰ˆˆ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   rB   r<   r=   rD   rA   rE   r>   rC   ©NN©	r'   r(   r)   r*   r;   rb   r,   r-   Ú__classcell__©rH   r!   s   @@r"   r/   r/      s   ù‡ € ÷
ó 
÷,#÷ #ò #r%   r/   c                   óH   a a€ ] tR t^St oRV 3R lltV3R lR ltRtVtV ;t# )ÚMLPc                óÒ   <€ \         SV `  4        \        P                  ! WVR 7      V n        \        P                  ! W!VR 7      V n        \        P                  ! WVR 7      V n        R# )r6   N)r:   r;   r?   r@   Ú	gate_projÚ	down_projÚup_proj)rF   rG   Ú
hidden_dimr   rH   s   &&&&€r"   r;   ÚMLP.__init__T   sD   ø€ Ü‰ÑÔÜŸš 3¸ÔBˆŒÜŸš :¸ÔBˆŒÜ—y’y °xÔ@ˆŽr%   c                ó4   <€ V ^8„  d   QhRS[ P                  /# )r   rO   ©rQ   rR   )r    r!   s   "€r"   r#   ÚMLP.__annotate__Z   s   ø€ ÷ Jñ J™RŸX™Xñ Jr%   c                ót   € V P                  \        V P                  V4      V P                  V4      4      4      # ©N)rl   r   rk   rm   )rF   rL   s   &&r"   rb   ÚMLP.__call__Z   s)   € Ø�~‰~œf T§^¡^°AÓ%6¸¿¹ÀQ»ÓHÓIÐIr%   )rl   rk   rm   )Fre   rg   s   @@r"   ri   ri   S   s   ù‡ € ÷A÷J÷ Jð Jr%   ri   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# )ÚDecoderLayerc                ó    <€ V ^8„  d   QhRS[ /# r1   r3   )r    r!   s   "€r"   r#   ÚDecoderLayer.__annotate___   s   ø€ ÷ 
ñ 
™Yñ 
r%   c                óh  <€ \         SV `  4        \        V4      V n        \	        VP
                  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        R# ©)ÚepsN)r:   r;   r/   Ú	self_attnri   r   r   r   Úmlpr?   ÚRMSNormr   Úinput_layernormÚpost_attention_layernorm©rF   r2   rH   s   &&€r"   r;   ÚDecoderLayer.__init___   sz   ø€ Ü‰ÑÔÜ" 4›ˆŒÜ�t×'Ñ'¨×)?Ñ)?ÀÇÁÓOˆŒä!Ÿzšz¨$×*:Ñ*:À×@QÑ@QÔRˆÔÜ(*¯
ª
Ø×Ñ $×"3Ñ"3ô)
ˆÖ%r%   c                óŽ   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[,          RS[ P                  /# rK   rP   )r    r!   s   "€r"   r#   ry   i   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,           # rt   )r}   r€   r~   r�   )rF   rL   rM   rN   ÚrÚhs   &&&&  r"   rb   ÚDecoderLayer.__call__i   sF   € ð �N‰N˜4×/Ñ/°Ó2°DÓ@ˆØ�EˆØ�H‰H�T×2Ñ2°1Ó5Ó6ˆØ�uˆr%   )r€   r~   r�   r}   rd   re   rg   s   @@r"   rw   rw   ^   s   ù‡ € ÷
ó 
÷	÷ 	ò 	r%   rw   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# )ÚErnie45Modelc                ó    <€ V ^8„  d   QhRS[ /# r1   r3   )r    r!   s   "€r"   r#   ÚErnie45Model.__annotate__v   s   ø€ ÷ Hñ H™Yñ Hr%   c                óV  <€ \         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
                  VP                  R 7      V n        R# u upi r{   )r:   r;   r?   Ú	Embeddingr   r   Úembed_tokensÚranger   rw   Úlayersr   r   Únorm)rF   r2   Ú_rH   s   && €r"   r;   ÚErnie45Model.__init__v   sw   ø€ Ü‰ÑÔÜŸLšL¨¯©¸$×:JÑ:JÓKˆÔÜ38¸×9OÑ9OÔ3PÓQÑ3P¨a”| DÖ)Ñ3PÑQˆŒÜ—J’J˜t×/Ñ/°T×5FÑ5FÔGˆŽ	ùò Rs   ÁB&c                ó4   <€ V ^8„  d   QhRS[ P                  /# ©r   Úinputsrq   )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      # rt   )r�   Úlenr‘   r   Úzipr’   )rF   r—   rN   r‡   rM   ÚlayerÚcs   &&&    r"   rb   ÚErnie45Model.__call__|   so   € ð
 ×Ñ˜fÓ%ˆàŠ=Ø�FœS §¡Ó-Õ-ˆEä$ Q¨a­Ó1ˆä˜DŸK™K¨Ö/‰HˆEÙ�a˜qÓ!ŠAñ 0ð �y‰y˜‹|Ðr%   )r�   r‘   r’   rt   re   rg   s   @@r"   rŠ   rŠ   u   s    ù‡ € ÷Hó H÷÷ ò 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[ /# r1   r3   )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# )Fr6   N)r:   r;   r2   r   rŠ   Úmodelr   r?   r@   r   r   Úlm_headr‚   s   &&€r"   r;   ÚModel.__init__�   sY   ø€ Ü‰ÑÔØŒ	ØŸ/™/ˆŒÜ! $Ó'ˆŒ
Ø×'×'Ð'ÜŸ9š9 T×%5Ñ%5°t·±ÈUÔSˆDŽLñ (r%   c                ó4   <€ V ^8„  d   QhRS[ P                  /# r–   rq   )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# rt   )r£   r2   r   r�   Ú	as_linearr¤   )rF   r—   rN   Úouts   &&& r"   rb   ÚModel.__call__—   sX   € ð
 �j‰j˜Ó'ˆØ�9‰9×(×(Ð(Ø—*‘*×)Ñ)×3Ñ3°CÓ8ˆCð ˆ
ð —,‘,˜sÓ#ˆCØˆ
r%   c                ó.   € V P                   P                  # rt   )r£   r‘   )rF   s   &r"   r‘   ÚModel.layers£   s   € à�z‰z× Ñ Ð r%   )r2   r¤   r£   r   rt   )r'   r(   r)   r*   r;   rb   Úpropertyr‘   r,   r-   rf   rg   s   @@r"   rŸ   rŸ   Ž   s4   ù‡ € ÷Tó T÷
ò 
ð ñ!ó ÷!ð !r%   rŸ   )Údataclassesr   Útypingr   r   Úmlx.coreÚcorerQ   Úmlx.nnr?   Úactivationsr   r8   r   r   r	   Ú
rope_utilsr
   r   ÚModuler/   ri   rw   rŠ   rŸ   r&   r%   r"   Ú<module>r¶      s�   ðõ "ß  å Ý å ß TÑ TÝ 'ð ô�ó ó ðô 1#�—	‘	ô 1#ôhJˆ"�)‰)ô Jô�2—9‘9ô ô.�2—9‘9ô ô2!ˆB�I‰Iö !r%   