+
    UV-jÁ  ã                   ó^   € ^ RI HtHt ^ RIHtHtHtHtHt ^RI	H
t
 ] ! R R]
4      4       tR# )é    )Ú	dataclassÚfield)ÚAnyÚDictÚListÚOptionalÚUnion)ÚBaseModelConfigc                   óº   a € ] tR t^t o RtRtRtRtRtRt	Rt
RtRtRtRtRtRtRtRt^ t^ t^ t^ tRt^t]! R R7      tRtR	tRtR
tRtRt Rt!Rt"R t#V 3R lt$Rt%V t&R# )ÚModelConfigg�íµ ÷Æ°>FTg    €„ANzrotate-halfc                 ó   € ^ .# )r   © r   ó    Úm/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_vlm/models/laguna/config.pyÚ<lambda>ÚModelConfig.<lambda>'   s   € À¹sr   )Údefault_factoryg      ð?g        c                óÖ  a a	a
€ S P                   R J d   RS n         S P                  f   R.S P                  ,          S n        \        S P                  4      S P                  8w  d   \	        R4      hS P
                  eg   \        S P
                  4      S P                  8w  d   \	        R4      h\        S P
                  4       UUu. uF  w  rVR8X  g   K  VNK  	  uppS n        S P                  f$   S P                  .S P                  ,          S n        \        S P                  4      S P                  8w  d   \	        R4      h\        ;QJ d)    V 3R lS P                   4       F  '       g   K   R M	  R	M! V 3R lS P                   4       4      '       d   \	        R
4      hS P                  e   \        S P                  4      M2S P                  e   \        S P                  4      MRRRS P                  /p\        S P                  4      pVP!                  4        UUu/ uF'  w  rVWT9   g   K  \#        V\        4      '       g   K%  WVbK)  	  uppo	S	'       dœ   VP!                  4        UUu/ uF'  w  rVWT9  g   K  \#        V\        4      '       d   K%  WVbK)  	  uppo
R V	V
3R llpRS	9   d   RM\%        \'        S	4      4      pV! V4      S n        S P(                  f   RS	9   d   V! R4      S n        MVS n        S P(                  e   \        S P(                  4      S n        S P                  P+                  RR4       S P(                  e   S P(                  P+                  RR4       S P,                  e_   S P                  P+                  RS P,                  4       S P(                  e)   S P(                  P+                  RS P,                  4       R# R# R# u uppi u uppi u uppi )Tzper-headNÚfull_attentionz)layer_types must match num_hidden_layers.z-mlp_layer_types must match num_hidden_layers.Údensez;num_attention_heads_per_layer must match num_hidden_layers.c              3   óH   <"  € T F  qSP                   ,          x € K  	  R # 5i©N)Únum_key_value_heads)Ú.0ÚhÚselfs   & €r   Ú	<genexpr>Ú,ModelConfig.__post_init__.<locals>.<genexpr>K   s!   øé € ð 
Ù2T¨Q�×(Ñ(×(Ò(Ó2Tùs   ƒ"Fz@Every query-head count must be divisible by num_key_value_heads.Ú	rope_typeÚdefaultÚ
rope_thetac                óR   € V ^8„  d   QhR\         R\        \         \        3,          /# )é   Ú
layer_typeÚreturn)Ústrr   r   )Úformats   "r   Ú__annotate__Ú/ModelConfig.__post_init__.<locals>.__annotate__i   s"   € ÷ ñ ´ð ¼¼SÄ#¸X½ñ r   c                 ó’   <€ \        SP                  V / 4      4      pSP                  4        F  w  r#VP                  W#4       K  	  V# r   )ÚdictÚgetÚitemsÚ
setdefault)r$   ÚparamsÚkÚvÚlayer_rope_parametersÚtop_level_parameterss   &   €€r   Úrope_parameters_forÚ6ModelConfig.__post_init__.<locals>.rope_parameters_fori   sC   ø€ ÜÐ3×7Ñ7¸
ÀBÓGÓH�Ø0×6Ñ6Ö8‘D�AØ×%Ñ% aÖ+ñ 9à�r   Úsliding_attentionÚpartial_rotary_factor)ÚgatingÚlayer_typesÚnum_hidden_layersÚlenÚ
ValueErrorÚmlp_layer_typesÚ	enumerateÚmlp_only_layersÚnum_attention_heads_per_layerÚnum_attention_headsÚanyÚrope_parametersr+   Úrope_scalingr!   Úsetr-   Ú
isinstanceÚnextÚiterÚswa_rope_parametersr.   r7   )r   Úidxr$   rC   r9   r0   r1   r4   Údefault_layer_typer2   r3   s   f        @@r   Ú__post_init__ÚModelConfig.__post_init__1   s•  ú€ Ø�;‰;˜$ÓØ$ˆDŒKà×ÑÒ#Ø 0Ð1°D×4JÑ4JÕJˆDÔÜˆt×ÑÓ  D×$:Ñ$:Ô:ÜÐHÓIÐIà×ÑÒ+Ü�4×'Ñ'Ó(¨D×,BÑ,BÔBÜ Ð!PÓQÐQô (1°×1EÑ1EÔ'Fô$á'F‘O�CØ Ñ(÷ �Ù'Fò$ˆDÔ ð ×-Ñ-Ò5à×(Ñ(ð2à×&Ñ&õ2'ˆDÔ.ô ˆt×1Ñ1Ó2°d×6LÑ6LÔLÜØMóð ÷ ‹3ô 
Ø26×2TÒ2Tó
�3�3Š3ô 
Ø26×2TÒ2Tó
÷ 
ò 
ô ØRóð ð ×#Ñ#Ò/ô �×%Ñ%Ô&ð ×$Ñ$Ò0ô �T×&Ñ&Ô'à! 9¨l¸D¿O¹OÐLð 	ô ˜$×*Ñ*Ó+ˆð (×-Ñ-Ô/ô!
á/‘�ØÑô ä$.¨q´$×$7ô ˆAŠDÙ/ò!
Ð÷
 !ð ,×1Ñ1Ô3ô$á3‘D�AØÑ'ô ä0:¸1¼d×0Cô �’Ù3ò$Ð ÷ñ ð $Ð'<Ô<ñ !äœ$Ð4Ó5Ó6ð ñ
 $7Ð7IÓ#JˆDÔ ð ×(Ñ(Ò0Ø'Ð+@Ô@á+>Ð?RÓ+S�Ô(øà#2ˆDÔ à×#Ñ#Ò/Ü'+¨D×,DÑ,DÓ'EˆDÔ$à×Ñ×'Ñ'¨°YÔ?Ø×#Ñ#Ò/Ø×$Ñ$×/Ñ/°¸YÔGà×%Ñ%Ò1Ø× Ñ ×+Ñ+Ø'¨×)CÑ)Côð ×'Ñ'Ò3Ø×(Ñ(×3Ñ3Ø+¨T×-GÑ-Göñ 4ñ	 2ùóQ$ùó@!
ùó$s0   ÃOÃOÈ"
OÈ1OÉ	OÉ.
O%É=O%ÊO%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[S[S[ 3,          ;R&   S[;R&   S[;R&   S[S[S[ S[3,          ,          ;R&   S[S[S[ S[3,          ,          ;R&   S[S[,          ;R&   S[ ;R&   S[S[,          ;R&   S[S[S[ ,          ,          ;R&   S[S[S[,          ,          ;R&   S[S[S[ S[3,          ,          ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[S[,          ;R&   S[S[S[ ,          ,          ;R &   S[;R!&   S[;R"&   S[;R#&   S[;R$&   S[S[,          ;R%&   S[S[S[S[S[,          3,          ,          ;R&&   S[S[,          ;R'&   # )(r#   Ú
model_typeÚ
vocab_sizeÚhidden_sizeÚintermediate_sizer:   rA   r   Úhead_dimÚmax_position_embeddingsÚrms_norm_epsÚqkv_biasÚattention_biasr8   Útie_word_embeddingsr!   rC   rD   r7   Ú
rope_styleÚsliding_windowr9   r@   rI   Úswa_attention_sink_enabledÚnum_expertsÚnum_experts_per_tokÚmoe_intermediate_sizeÚshared_expert_intermediate_sizeÚnorm_topk_probÚdecoder_sparse_stepr?   r=   Úmoe_routed_scaling_factorÚ moe_apply_router_weight_on_inputÚmoe_router_logit_softcappingÚmoe_router_use_sigmoidÚbos_token_idÚeos_token_idÚpad_token_id)	r&   ÚintÚfloatÚboolr	   r   r   r   r   )r'   Ú__classdict__s   "€r   r(   ÚModelConfig.__annotate__   s~  ø‡ ‚ á�Oñ ñ �Oñ ñ Ññ	 ñ
 Ññ ñ Ññ ñ Ññ ñ Ññ ñ �Mñ ñ !Ñ ñ ñ Ññ ñ Ññ ñ Ñ ñ ñ ‘$™�)ÕÑ#ñ ñ Ñ%ñ ñ  Ñ ñ! ñ" ™d¡3© 8�nÕ-Ñ4ñ# ñ$ ™4¡¡S �>Õ*Ñ1ñ% ñ& $¡E�?Ñ1ñ' ñ( Ñ#ñ) ñ* ™S•MÑ(ñ+ ñ, ™$™s�)Õ$Ñ+ñ- ñ. $,©D±­IÕ#6Ñ=ñ/ ñ0 "¡$¡s©C x¥.Õ1Ñ8ñ1 ñ2 !%Ñ,ñ3 ñ4 Ññ5 ñ6 Ñ ñ7 ñ8 Ñ"ñ9 ñ: &)Ñ,ñ; ñ< Ññ= ñ> Ñ ñ? ñ@ ™#•YÑCñA ñB ™d¡3�iÕ(Ñ/ñC ñD  %Ñ*ñE ñF '+Ñ2ñG ñH #(Ñ-ñI ñJ !Ñ'ñK ñL ™3•-Ñ&ñM ñN ™5¡¡d©3¥i Õ0Õ1Ñ8ñO ñP ™3•-Ñ&òQ r   )r8   r9   r?   r@   rC   rI   )'Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rU   rV   rW   r8   rX   r!   rC   rD   r7   rY   rZ   r9   r@   rI   r[   r\   r]   r^   r_   r`   ra   r   r?   r=   rb   rc   rd   re   rf   rg   rh   rL   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)rl   s   @r   r   r      s½   ø‡ € ð €LØ€HØ €NØ#€FØ %ÐØ €JØ04€OØ-1€LØ-1ÐØ#€JØ$(€NØ'+€KØ9=Ð!Ø48ÐØ',ÐØ€KØ ÐØ!"ÐØ+,Ð#Ø€NØ ÐÙ!&±{Ô!C€OØ+/€OØ'*ÐØ-2Ð$Ø*-Ð Ø#'ÐØ"&€LØ48€LØ"&€Lò[÷U ƒ r   r   N)Údataclassesr   r   Útypingr   r   r   r   r	   Úbaser
   r   r   r   r   Ú<module>rx      s/   ðß (ß 3Õ 3å "ð ôD�/ó Dó òDr   