+
    TV-jr  ã                   óŠ  € ^ RI Ht ^ RIHtHt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 R]P*                  4      tR# )é    )Ú	dataclass)ÚAnyÚDictÚOptionalÚUnionN)Úswiglu)ÚBaseModelArgsÚcreate_attention_maskÚscaled_dot_product_attention)Úinitialize_ropec                   óH   a € ] tR t^t o RtRtRtRtRtRt	Rt
V 3R ltRtV tR# )Ú	ModelArgsNFTc                ó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[S[,          ;R
&   S[S[,          ;R&   S[;R&   S[S[S[ S[S[S[ 3,          3,          ,          ;R&   S[;R&   S[;R&   S[;R&   # )é   Ú
model_typeÚhidden_sizeÚ
num_layersÚintermediate_sizeÚnum_attention_headsÚ
vocab_sizeÚ
rope_thetaÚlayer_norm_epsilonÚnum_key_value_headsÚhead_dimÚmax_position_embeddingsÚrope_traditionalÚrope_scalingÚtie_word_embeddingsÚattention_biasÚmlp_bias)ÚstrÚintÚfloatr   Úboolr   r   )ÚformatÚ__classdict__s   "€Úe/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_lm/models/exaone.pyÚ__annotate__ÚModelArgs.__annotate__   sð   ø‡ ‚ á�Oñ ñ Ññ ñ �Oñ	 ñ
 Ññ ñ Ññ ñ �Oñ ñ Ññ ñ Ññ ñ Ññ ñ ‘s�mÑ"ñ ñ &¡c�]Ñ1ñ ñ Ñ"ñ ñ ™4¡¡U©5±#¨:Õ%6Ð 6Õ7Õ8Ñ?ñ ñ Ñ$ñ ñ  Ñ ñ! ñ" Ñò# ó    © )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r   r   r   r   r    Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r&   s   @r'   r   r      s4   ø‡ € ð #€HØ-1ÐØ"ÐØ;?€LØ $ÐØ €NØ€H÷# ƒ 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# )ÚAttentionModulec                ó    <€ V ^8„  d   QhRS[ /# ©r   Úargs©r   )r%   r&   s   "€r'   r(   ÚAttentionModule.__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 P                  VP"                  VP$                  VP&                  VP(                  4      V n        R# )g      à?©ÚbiasNg      à¿)ÚsuperÚ__init__r   r   Ún_headsr   Ú
n_kv_headsr   ÚscaleÚnnÚLinearr   Úq_projÚk_projÚv_projÚout_projr   r   r   r   r   Úrope)Úselfr7   Údimr?   r@   r   Ú	__class__s   &&    €r'   r>   ÚAttentionModule.__init__#   s	  ø€ Ü‰ÑÔØ×ÑˆØ!%×!9Ñ!9Ð9ˆŒ�wØ'+×'?Ñ'?Ð?ˆŒ˜*Ø#'§=¡=×#DÐ#D°Sµ^ÐDˆŒ˜Ø˜t•^ˆŒ
ä—i’i ¨xÕ%7¸d×>QÑ>QÔRˆŒÜ—i’i °(Õ%:À×ATÑATÔUˆŒÜ—i’i °(Õ%:À×ATÑATÔUˆŒÜŸ	š	 'Õ"4°c×@SÑ@SÔTˆŒä#Ø�M‰MØ�O‰OØ×!Ñ!Ø×ÑØ×(Ñ(ó
ˆŽ	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(   r9   8   sB   ø€ ÷ "ñ "Ù—‘ð"Ù!)©"¯(©(Õ!3ð"ÙCKÉCÅ=ð"á	�‰ñ"r*   c           	     ó  € VP                   w  rEpV P                  V4      P                  WEV P                  R4      P	                  ^ ^^^4      pV P                  V4      P                  WEV P                  R4      P	                  ^ ^^^4      pV P                  V4      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                  WEV4      p
V P                  V
4      # )é   )Úoffset)rQ   rA   rP   éÿÿÿÿ)ÚshaperD   Úreshaper?   Ú	transposerE   r@   rF   rH   rX   Úupdate_and_fetchr   rA   rG   )rI   rO   rP   rQ   ÚBÚLÚDÚqÚkÚvÚouts   &&&&       r'   Ú__call__ÚAttentionModule.__call__8   sK  € ð —'‘'‰ˆˆaØ�K‰K˜‹N×"Ñ" 1¨¯©°rÓ:×DÑDÀQÈÈ1ÈaÓPˆØ�K‰K˜‹N×"Ñ" 1¨¯©¸"Ó=×GÑGÈÈ1ÈaÐQRÓSˆØ�K‰K˜‹N×"Ñ" 1¨¯©¸"Ó=×GÑGÈÈ1ÈaÐQRÓSˆàÒØ—	‘	˜!§L¡L�	Ó1ˆAØ—	‘	˜!§L¡L�	Ó1ˆAØ×)Ñ)¨!Ó/‰DˆAˆqà—	‘	˜!“ˆAØ—	‘	˜!“ˆAä*Ø�!¨¯
©
¸ô
ˆð �m‰m˜A˜q ! QÓ'×/Ñ/°°aÓ8ˆØ�}‰}˜SÓ!Ð!r*   )	r   rE   r?   r@   rG   rD   rH   rA   rF   ©NN©	r,   r-   r.   r/   r>   re   r1   r2   Ú__classcell__©rK   r&   s   @@r'   r4   r4   "   s   ù‡ € ÷
ó 
÷*"÷ "ò "r*   r4   c                   ó>   a a€ ] tR t^Ot oV3R lV 3R lltRtVtV ;t# )Ú	Attentionc                ó    <€ V ^8„  d   QhRS[ /# r6   r8   )r%   r&   s   "€r'   r(   ÚAttention.__annotate__P   s   ø€ ÷ /ñ /™Yñ /r*   c                óD   <€ \         SV `  4        \        V4      V n        R # ©N)r=   r>   r4   Ú	attention©rI   r7   rK   s   &&€r'   r>   ÚAttention.__init__P   s   ø€ Ü‰ÑÔÜ(¨Ó.ˆŽr*   )rq   )r,   r-   r.   r/   r>   r1   r2   ri   rj   s   @@r'   rl   rl   O   s   ù‡ € ÷/÷ /ó /r*   rl   c                   óP   a a€ ] tR t^Ut 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[ /# r6   r8   )r%   r&   s   "€r'   r(   ÚMLP.__annotate__V   s   ø€ ÷ Eñ E™Yñ Er*   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   rB   rC   r    Úc_fc_0Úc_fc_1Úc_proj)rI   r7   rJ   Ú
hidden_dimrK   s   &&  €r'   r>   ÚMLP.__init__V   sf   ø€ Ü‰ÑÔØ×ÑˆØ×+Ñ+ˆ
Ü—i’i °d·m±mÔDˆŒÜ—i’i °d·m±mÔDˆŒÜ—i’i 
°d·m±mÔDˆŽr*   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# )r   rO   rR   ©rT   rU   )r%   r&   s   "€r'   r(   rw   ^   s'   ø€ ÷ Cñ C™"Ÿ(™(ð C¡r§x¡xñ Cr*   c                ót   € V P                  \        V P                  V4      V P                  V4      4      4      # rp   )r{   r   ry   rz   )rI   rO   s   &&r'   re   ÚMLP.__call__^   s(   € Ø�{‰{œ6 $§+¡+¨a£.°$·+±+¸a³.ÓAÓBÐBr*   )ry   rz   r{   rh   rj   s   @@r'   ru   ru   U   s#   ù‡ € ÷Eó E÷C÷ Cð Cr*   ru   c                   óT   a a€ ] tR t^bt 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# )ÚTransformerBlockc                ó    <€ V ^8„  d   QhRS[ /# r6   r8   )r%   r&   s   "€r'   r(   ÚTransformerBlock.__annotate__c   s   ø€ ÷ ñ ™Yñ r*   c                ó(  <€ \         SV `  4        \        P                  ! VP                  VP
                  R 7      V n        \        V4      V n        \        P                  ! VP                  VP
                  R 7      V n	        \        V4      V n        R# ©)ÚepsN)r=   r>   rB   ÚRMSNormr   r   Úln_1rl   ÚattnÚln_2ru   Úmlprr   s   &&€r'   r>   ÚTransformerBlock.__init__c   s`   ø€ Ü‰ÑÔÜ—J’J˜t×/Ñ/°T×5LÑ5LÔMˆŒ	Ü˜d“OˆŒ	Ü—J’J˜t×/Ñ/°T×5LÑ5LÔMˆŒ	Ü�t“9ˆŽr*   c                óŽ   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[,          RS[ P                  /# rN   rS   )r%   r&   s   "€r'   r(   r…   j   sH   ø€ ÷ ñ á�8‰8ðñ ‘r—x‘xÕ ðñ ™�}ð	ñ
 
�‰ñr*   c                ó´   € WP                   P                  V P                  V4      W#4      ,           pW@P                  V P	                  V4      4      ,           pV# rp   )r‹   rq   rŠ   r�   rŒ   )rI   rO   rP   rQ   Úhrd   s   &&&&  r'   re   ÚTransformerBlock.__call__j   sC   € ð —	‘	×#Ñ# D§I¡I¨a£L°$Ó>Õ>ˆØ—(‘(˜4Ÿ9™9 Q›<Ó(Õ(ˆØˆ
r*   )r‹   rŠ   rŒ   r�   rg   rh   rj   s   @@r'   rƒ   rƒ   b   s   ù‡ € ÷ó ÷÷ ò r*   rƒ   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# )ÚExaoneModelc                ó    <€ V ^8„  d   QhRS[ /# r6   r8   )r%   r&   s   "€r'   r(   ÚExaoneModel.__annotate__v   s   ø€ ÷ Nñ N™Yñ N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>   rB   Ú	Embeddingr   r   ÚwteÚranger   rƒ   r‘   r‰   r   Úln_f)rI   r7   Ú_rK   s   && €r'   r>   ÚExaoneModel.__init__v   su   ø€ Ü‰ÑÔÜ—<’< §¡°×1AÑ1AÓBˆŒÜ27¸¿¹Ô2HÓIÑ2H¨QÔ" 4Ö(Ñ2HÑIˆŒÜ—J’J˜t×/Ñ/°T×5LÑ5LÔMˆŽ	ùò Js   ÁB&c                ó4   <€ V ^8„  d   QhRS[ P                  /# ©r   Úinputsr   )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R7      pK  	  V P                  V4      # )N)rQ   )r™   Úlenr‘   r
   Úzipr›   )rI   r    rQ   r‘   rP   ÚlayerÚcs   &&&    r'   re   ÚExaoneModel.__call__|   sl   € ð
 �H‰H�VÓˆàŠ=Ø�FœS §¡›[Õ(ˆEä$ Q¨a­Ó1ˆä˜DŸF™F EÖ*‰HˆEÙ�a QÔ'ŠAñ +ð �y‰y˜‹|Ðr*   )r‘   r›   r™   rp   rh   rj   s   @@r'   r”   r”   u   s    ù‡ € ÷Nó N÷÷ ò 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[ /# r6   r8   )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# )Fr;   N)r=   r>   r7   r   r”   Útransformerr   rB   rC   r   r   Úlm_headrr   s   &&€r'   r>   ÚModel.__init__�   sZ   ø€ Ü‰ÑÔØŒ	ØŸ/™/ˆŒÜ& tÓ,ˆÔØ×'×'Ð'ÜŸ9š9 T×%5Ñ%5°t·±ÈUÔSˆDŽLñ (r*   c                ó4   <€ V ^8„  d   QhRS[ P                  /# rŸ   r   )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# rp   )r¬   r7   r   r™   Ú	as_linearr­   )rI   r    rQ   rd   s   &&& r'   re   ÚModel.__call__—   s\   € ð
 ×Ñ˜vÓ-ˆØ�9‰9×(×(Ð(Ø×"Ñ"×&Ñ&×0Ñ0°Ó5ˆCð ˆ
ð —,‘,˜sÓ#ˆCØˆ
r*   c                ó.   € V P                   P                  # rp   )r¬   r‘   )rI   s   &r'   ÚlayersÚModel.layers£   s   € à×Ñ×!Ñ!Ð!r*   )r7   r­   r   r¬   rp   )r,   r-   r.   r/   r>   re   Úpropertyr´   r1   r2   ri   rj   s   @@r'   r¨   r¨   Ž   s4   ù‡ € ÷Tó T÷
ò 
ð ñ"ó ÷"ð "r*   r¨   )Údataclassesr   Útypingr   r   r   r   Úmlx.coreÚcorerT   Úmlx.nnrB   Úactivationsr   Úbaser	   r
   r   Ú
rope_utilsr   r   ÚModuler4   rl   ru   rƒ   r”   r¨   r+   r*   r'   Ú<module>rÀ      s    ðõ "ß -Ó -å Ý å ß TÑ TÝ 'ð ô�ó ó ðô&*"�b—i‘iô *"ôZ/�—	‘	ô /ô
Cˆ"�)‰)ô 
Cô�r—y‘yô ô&�"—)‘)ô ô2"ˆB�I‰Iö "r*   