+
    UV-jú  ã                   ó¸   € ^ RI HtHt ^ RIHtHtHtHt ^RIH	t	 ] ! R R]	4      4       t
] ! R R]	4      4       t] ! R R	4      4       t] ! R
 R]	4      4       tR# )é    )Ú	dataclassÚfield)ÚDictÚListÚOptionalÚUnion)ÚBaseModelConfigc                   ó4   a € ] tR t^t o RtRtV 3R ltRtV tR# )Ú
TextConfigÚphi4mmé   c                ó2   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   # )é   Ú
model_typeÚmax_position_embeddings)ÚstrÚint)ÚformatÚ__classdict__s   "€Úm/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_vlm/models/phi4mm/config.pyÚ__annotate__ÚTextConfig.__annotate__   s   ø‡ ‚ áÑñ ñ !Ñ)ò ó    © N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r   s   @r   r   r      s   ø‡ € à€JØ#)Ð÷ ƒ r   r   c                   óP   a € ] tR t^t o RtRtRt^t^t^t	Rt
^tRtV 3R ltRtV tR# )	ÚVisionConfigÚsiglip2_vision_modelé€  iÐ  iÀ  g�íµ ÷Æ°>c                ó†   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R	&   # )
r   r   Úhidden_sizeÚintermediate_sizeÚnum_attention_headsÚnum_hidden_layersÚ
patch_sizeÚ
image_sizeÚnum_channelsÚlayer_norm_eps)r   r   Úfloat)r   r   s   "€r   r   ÚVisionConfig.__annotate__   sx   ø‡ ‚ áÑ,ñ ñ Ññ ñ Ñ!ñ	 ñ
 Ñ!ñ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ñ ò r   r   N)r   r   r   r   r   r(   r)   r*   r+   r,   r-   r.   r/   r   r    r!   r"   s   @r   r$   r$      s<   ø‡ € à,€JØ€KØ!ÐØ!ÐØÐØ€JØ€JØ€LØ €N÷ ƒ r   r$   c                   óŒ   a € ] tR t^t o RtRt^t^tRt^Pt	^t
^tRtRtRtRtRtRt^tRt^tRtRtRtRtRtRt^tV 3R	 ltR
tV tR# )ÚAudioConfigz7Configuration for the Cascades Conformer audio encoder.i   i   g        ÚswishTFiô  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[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[;R&   S[;R&   S[;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   # )r   Úattention_dimÚattention_headsÚ
num_blocksÚlinear_unitsÚ
input_sizeÚtime_reductionÚkernel_sizeÚdropout_rateÚ
activationÚconv_activationÚconv_glu_typeÚbias_in_gluÚext_pw_out_channelÚext_pw_kernel_sizeÚdepthwise_seperable_out_channelÚdepthwise_multiplierÚcausalÚ
batch_normÚcnn_layer_normÚt5_bias_max_distanceÚconv_channelsÚ
chunk_sizeÚ
left_chunk)r   r0   r   Úbool)r   r   s   "€r   r   ÚAudioConfig.__annotate__   s0  ø‡ ‚ ñ Ññ	 ñ
 Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ñ"ñ ñ Ñ ñ ñ Ññ ñ  Ñ"ñ! ñ" Ññ# ñ$ &)Ñ/ñ% ñ& Ñ!ñ' ñ( Ññ) ñ* Ññ+ ñ, Ññ- ñ. Ñ#ñ/ ñ0 Ññ1 ñ2 Ññ3 ñ4 Ñò5 r   r   Néÿÿÿÿ)r   r   r   r   Ú__doc__r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   r   r    r!   r"   s   @r   r3   r3      s‡   ø‡ € áAà€MØ€OØ€JØ€LØ€JØ€NØ€KØ€LØ€JØ"€OØ €MØ€KØ"ÐØÐØ+/Ð#Ø !ÐØ€FØ€JØ€NØ #ÐØ€MØ€JØ€J÷5 ƒ r   r3   c                   óº   a € ] tR t^7t o ]! R R7      t]! R R7      tRtRtRt	^ t
Rt^t^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RtRtRtR tV 3R lt Rt!V t"R# )ÚModelConfigc                 ó   € \        4       # ©N)r   r   r   r   Ú<lambda>ÚModelConfig.<lambda>9   s   € ¼j¼lr   )Údefault_factoryc                 ó   € \        4       # rT   )r$   r   r   r   rU   rV   :   s   € Ä,Ä.r   r   i€ i   i    gñhãˆµøä>g     ˆÃ@FNg      è?r   i   r&   Ú
mlp2x_geluiK i? Tc           
     ó¬  € \        V P                  \        4      '       d%   \        P	                  V P                  4      V n        \        V P
                  \        4      '       d%   \        P	                  V P
                  4      V n        V P                  f   V P                  V n        V P                  '       d†   \        V P                  \        4      '       df   \        R/ V P                  P                  R/ 4      P                  4        UUu/ uF  w  rV\        P                  9   g   K  WbK   	  uppB V n        R # \        4       V n        R # u uppi )NÚconfigr   )Ú
isinstanceÚvision_configÚdictr$   Ú	from_dictÚtext_configr   Únum_key_value_headsr*   Úaudio_processorr3   ÚgetÚitemsÚ__dataclass_fields__Ú_audio_config)ÚselfÚkÚvs   &  r   Ú__post_init__ÚModelConfig.__post_init__T   s  € Ü�d×(Ñ(¬$×/Ò/Ü!-×!7Ñ!7¸×8JÑ8JÓ!KˆDÔÜ�d×&Ñ&¬×-Ò-Ü)×3Ñ3°D×4DÑ4DÓEˆDÔØ×#Ñ#Ò+Ø'+×'?Ñ'?ˆDÔ$à××Ð¤J¨t×/CÑ/CÄT×$JÒ$JÜ!,ñ "ð !%× 4Ñ 4× 8Ñ 8¸À2Ó F× LÑ LÔ Nôá N™˜ØœK×<Ñ<Ñ<ô �A’DÙ Nòñ"ˆDÖô "-£ˆDÖùós   ÄEÄ,Ec                óð  <€ V ^8„  d   Qh/ R;R&   R;R&   S[ ;R&   S[;R&   S[;R&   S[;R&   S[;R	&   S[;R
&   S[;R&   S[;R&   S[;R&   S[;R&   S[S[S[ S[S[S[ 3,          3,          ,          ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[ ;R&   S[;R&   S[;R&   S[;R&   S[S[S[S[S[,          3,          ,          ;R&   S[;R&   S[S[,          ;R&   S[S[,          ;R&   S[S[,          ;R&   # )r   r   r`   r$   r]   r   Ú
vocab_sizer(   r+   r)   r*   ra   Úrms_norm_epsÚ
rope_thetaÚrope_traditionalÚrope_scalingÚpartial_rotary_factorr   Ú original_max_position_embeddingsÚmm_hidden_sizeÚmm_projector_typeÚimage_token_indexÚaudio_token_indexÚpad_token_idÚeos_token_idÚtie_word_embeddingsÚvision_loraÚspeech_lorarb   )r   r   r0   rM   r   r   r   r   )r   r   s   "€r   r   ÚModelConfig.__annotate__7   s‹  ø‡ ‚ àÑKñ ð "ÑQñ ñ Ññ	 ñ
 Ññ ñ Ññ ñ Ññ ñ Ñ!ñ ñ Ñ!ñ ñ Ñ ñ ñ Ññ ñ Ññ ñ Ñ"ñ ñ ™4¡¡U©5±#¨:Õ%6Ð 6Õ7Õ8Ñ?ñ ñ !Ñ'ñ ñ  !Ñ)ñ! ñ" '*Ñ0ñ# ñ$ Ññ% ñ& Ñ)ñ' ñ( Ñ!ñ) ñ* Ñ#ñ+ ñ, Ññ- ñ. ™5¡¡d©3¥i Õ0Õ1Ñ8ñ/ ñ0 Ñ$ñ1 ñ2 ™$•Ñ&ñ3 ñ4 ™$•Ñ&ñ5 ñ6 ™d•^Ñ*ò7 r   )rf   ra   r`   r]   i8ÿÿÿ)#r   r   r   r   r   r`   r]   r   rm   r(   r+   r)   r*   ra   rn   ro   rp   rq   rr   r   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   rb   rj   r   r    r!   r"   s   @r   rR   rR   7   s«   ø‡ € á %Ñ6JÔ K€KÙ$)Ñ:PÔ$Q€MØ€JØ€JØ€KØÐØ!ÐØ!ÐØ ÐØ€LØ€JØ"ÐØ;?€LØ#'ÐØ#)ÐØ,0Ð$Ø€NØ)ÐØ!ÐØ#ÐØ€LØ48€LØ $ÐØ"&€KØ"&€KØ&*€Oò/÷; ƒ r   rR   N)Údataclassesr   r   Útypingr   r   r   r   Úbaser	   r   r$   r3   rR   r   r   r   Ú<module>r�      s{   ðß (ß .Ó .å "ð ô*�ó *ó ð*ð
 ô	!�?ó 	!ó ð	!ð ÷ð ó ðð8 ô-/�/ó -/ó ò-/r   