+
    UV-j?;  ã                   ó¤  € ^ RI t ^ RIt^ RIHt ^ RIHt ^ RIHtHtH	t	 ^ RI
Ht ^ RIHt ^ RIt^ RIHtHt ^ RIHt ^ RIHt ^RIHtHt R	 tR
 R lt] ! R R4      4       t] ! R R4      4       t] ! R R4      4       t ! R R4      t RR R lltR t!R t"R t#R t$R R lt%]PL                  R R l4       t']PL                  RR l4       t(R t)R# )!é    N)Úabstractmethod)Ú	dataclass)ÚDictÚListÚOptional)Úcreate_attention_maskÚcreate_ssm_mask)Úscaled_dot_product_attention)ÚImage)ÚBatchTurboQuantKVCacheÚTurboQuantKVCachec                ó.  € ^ RI p^ RIHp V! V4      pVR,          pVR,          pVP                  4       '       d0   VP	                  VP                  4       4      pVR,          V n        V # VP                  4       '       d   VP                  4       V n        V # )z>Apply a chat template from the model directory to *tokenizer*.N©ÚPathzchat_template.jsonzchat_template.jinjaÚchat_template)ÚjsonÚpathlibr   ÚexistsÚloadsÚ	read_textr   )Ú	tokenizerÚ
model_pathr   r   Ú	model_dirÚchat_template_jsonÚchat_template_jinjaÚtemplate_datas   &&      Úd/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_vlm/models/base.pyÚload_chat_templater      sŽ   € ãÝá�ZÓ €IØ"Ð%9Õ9ÐØ#Ð&;Õ;Ðà× Ñ ×"Ò"ØŸ
™
Ð#5×#?Ñ#?Ó#AÓBˆØ"/°Õ"@ˆ	Ôð Ðð 
×	#Ñ	#×	%Ò	%Ø"5×"?Ñ"?Ó"Aˆ	ÔàÐó    c                ó0   € V ^8„  d   QhR\         R\         /# )é   ÚdataÚreturn)Údict)Úformats   "r   Ú__annotate__r&   %   s   € ÷ ñ ”ð œ$ñ r   c                óÎ  € / pV P                  4        F²  w  r#Ve!   \        V\        P                  4      '       d   W1V&   K/  \        V\        P
                  4      '       d   \        P                  ! V4      W&   Ki  \        V\        4      '       d0    \        P                  ! \        P                  ! V4      4      W&   K®  W1V&   K´  	  V#   \        \        3 d	    Y1T&    KÐ  i ; i)zEConvert all array-like values in a processor output dict to mx.array.)	ÚitemsÚ
isinstanceÚmxÚarrayÚnpÚndarrayÚlistÚ
ValueErrorÚ	TypeError)r"   ÚresultÚkeyÚvalues   &   r   Úto_mlxr4   %   s¬   € à€FØ—j‘j–l‰
ˆØŠ=œJ u¬b¯h©h×7Ò7Ø�3‹KÜ˜œrŸz™z×*Ò*ÜŸ(š( 5›/ˆF‹KÜ˜œt×$Ò$ð$Ü Ÿhšh¤r§x¢x°£Ó7�“ð  �3‹Kñ #ð €Møô	 ¤	Ð*ô $Ø#�s”ð$ús   Â,CÃC$Ã#C$c                   ó@   a € ] tR t^7t o RtRtRtRtRtV 3R lt	Rt
V tR# )ÚLanguageModelOutputNc                óH  <€ V ^8„  d   Qh/ S[ P                  ;R&   S[S[S[ P                  ,          ,          ;R&   S[S[S[ P                  ,          ,          ;R&   S[S[S[ P                  ,          ,          ;R&   S[S[,          ;R&   S[S[S[S[3,          ,          ;R&   # )r!   ÚlogitsÚhidden_statesÚcross_attention_statesÚencoder_outputsÚ
gdn_statesÚshared_kv_states)r*   r+   r   r   r   ÚstrÚtuple)r%   Ú__classdict__s   "€r   r&   Ú LanguageModelOutput.__annotate__7   sŽ   ø‡ ‚ á�H‰HÑñ ñ ™D¡§¡�NÕ+Ñ2ñ ñ %¡T©"¯(©(¥^Õ4Ñ;ñ	 ñ
 ™d¡2§8¡8�nÕ-Ñ4ñ ñ ™•Ñ%ñ ñ ™t¡C© JÕ/Õ0Ñ7ò r   © )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r9   r:   r;   r<   r=   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r@   s   @r   r6   r6   7   s)   ø‡ € ð /3€MØ7;ÐØ04€OØ!%€JØ37Ð÷ ƒ r   r6   c                   ób   a € ] tR t^At 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V 3R ltRtV tR# )ÚInputEmbeddingsFeaturesNc                ó>  € R V P                   RV P                  RV P                  RV P                  RV P                  RV P
                  RV P                  RV P                  RV P                  R	V P                  R
V P                  RV P                  RV P                  /# ©Úinputs_embedsÚattention_mask_4dÚvisual_pos_masksÚdeepstack_visual_embedsÚper_layer_inputsr:   Úcross_attention_maskÚfull_text_row_masked_out_maskÚdecoder_inputs_embedsÚattention_maskÚposition_idsÚpos_hwÚrope_deltasrN   )Úselfs   &r   Úto_dictÚInputEmbeddingsFeatures.to_dictQ   s™   € à˜T×/Ñ/Ø ×!7Ñ!7Ø × 5Ñ 5Ø% t×'CÑ'CØ × 5Ñ 5Ø$ d×&AÑ&AØ" D×$=Ñ$=Ø+¨T×-OÑ-OØ# T×%?Ñ%?Ø˜d×1Ñ1Ø˜D×-Ñ-Ø�d—k‘kØ˜4×+Ñ+ð
ð 	
r   c                óz  <€ V ^8„  d   Qh/ S[ P                  ;R&   S[S[ P                  ,          ;R&   S[S[ P                  ,          ;R&   S[S[ P                  ,          ;R&   S[S[ P                  ,          ;R&   S[S[ P                  ,          ;R&   S[S[ P                  ,          ;R&   S[S[ P                  ,          ;R&   S[S[ P                  ,          ;R	&   S[S[ P                  ,          ;R
&   S[S[ P                  ,          ;R&   S[S[ P                  ,          ;R&   S[S[ P                  ,          ;R&   # )r!   rO   rP   rQ   rR   rS   r:   rT   rU   rV   rW   rX   rY   rZ   )r*   r+   r   )r%   r@   s   "€r   r&   Ú$InputEmbeddingsFeatures.__annotate__A   s  ø‡ ‚ á—8‘8Ññ ñ  ¡§¡Õ)Ñ0ñ ñ ™rŸx™xÕ(Ñ/ñ	 ñ
 &¡b§h¡hÕ/Ñ6ñ ñ ™rŸx™xÕ(Ñ/ñ ñ %¡R§X¡XÕ.Ñ5ñ ñ #¡2§8¡8Õ,Ñ3ñ ñ $,©B¯H©HÕ#5Ñ<ñ ñ $¡B§H¡HÕ-Ñ4ñ ñ ™RŸX™XÕ&Ñ-ñ ñ ™2Ÿ8™8Õ$Ñ+ñ ñ ‘R—X‘XÕÑ%ñ ñ ™"Ÿ(™(Õ#Ñ*ò r   rB   )rC   rD   rE   rF   rP   rQ   rR   rS   r:   rT   rU   rV   rW   rX   rY   rZ   r\   rG   rH   rI   rJ   s   @r   rL   rL   A   sW   ø‡ € ð -1ÐØ+/ÐØ26ÐØ+/ÐØ15ÐØ/3ÐØ8<Ð!Ø04ÐØ)-€NØ'+€LØ!%€FØ&*€Kò
÷! ƒ r   rL   c                   ó6   a € ] tR t^ct o ]R 4       tR tRtV tR# )ÚBaseModelConfigc                óÎ   € V'       g   V ! 4       # T ! R/ VP                  4        UUu/ uF.  w  r#V\        P                  ! V 4      P                  9   g   K,  W#bK0  	  uppB # u uppi )NrB   )r(   ÚinspectÚ	signatureÚ
parameters)ÚclsÚparamsÚkÚvs   &&  r   Ú	from_dictÚBaseModelConfig.from_dicte   se   € çÙ“5ˆLÙñ 
ð #ŸL™LœNôá*‘D�AØœ×)Ò)¨#Ó.×9Ñ9Ñ9ô �’Ù*òñ
ð 	
ùós   §)A!ÁA!c                óv   € V P                   P                  4        UUu/ uF  w  rVf   K  WbK  	  upp# u uppi ©N)Ú__dict__r(   )r[   rh   ri   s   &  r   r\   ÚBaseModelConfig.to_dictq   s1   € Ø!%§¡×!4Ñ!4Ô!6ÔHÑ!6™˜¸!”�’Ñ!6ÒHÐHùÓHs   ž5«5rB   N)	rC   rD   rE   rF   Úclassmethodrj   r\   rH   rI   rJ   s   @r   ra   ra   c   s#   ø‡ € àñ	
ó ð	
÷Ið Ir   ra   c                   óv   a € ] tR t^ut o RtRV 3R lR lltRV 3R lR lltRV 3R lR llt]R	 4       t	R
t
V tR# )ÚBaseImageProcessorz�
Base image processor class. Subclasses should implement preprocess().
Transformers imports are deferred to __init__ for faster module loading.
Nc                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# )r!   Ú	crop_size)r   r>   Úint)r%   r@   s   "€r   r&   ÚBaseImageProcessor.__annotate__{   s   ø€ ÷ #ñ #ñ
 ™™S˜•>ñ#r   c                óä   € ^ RI Hp ^ RIHp	Hp
 Vf   V
P
                  pVf   V	P                  pVe   TMRRRR/pV! VRRR	7      pWn        W n        W0n	        WPn
        W`n        Wpn        W@n        R# )
r   )Úget_size_dict)ÚChannelDimensionÚPILImageResamplingNÚheighté€  ÚwidthTrt   )Údefault_to_squareÚ
param_name)Ú#transformers.image_processing_utilsrx   Útransformers.image_utilsry   rz   ÚBICUBICÚFIRSTÚ
image_meanÚ	image_stdÚsizeÚresampleÚrescale_factorÚdata_formatrt   )r[   r„   r…   r†   rt   r‡   rˆ   r‰   rx   ry   rz   s   &&&&&&&&   r   Ú__init__ÚBaseImageProcessor.__init__{   s�   € õ 	FßQàÒØ)×1Ñ1ˆHØÒØ*×0Ñ0ˆKð #Ò.‰I°X¸sÀGÈSÐ4Qð 	ñ "Ø¨¸+ô
ˆ	ð %ŒØ"ŒØŒ	Ø ŒØ,ÔØ&ÔØ"Žr   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r!   ÚscaleÚinput_data_format)Úfloatr>   )r%   r@   s   "€r   r&   rv   œ   s!   ø€ ÷ ñ ñ ðñ ñ	r   c                ó   € W,          # )z#Rescale an image by a scale factor.rB   )r[   Úimager�   rŽ   s   &&&&r   ÚrescaleÚBaseImageProcessor.rescaleœ   s   € ð �}Ðr   c                ó    <€ V ^8„  d   QhRS[ /# )r!   rŽ   )r>   )r%   r@   s   "€r   r&   rv   ¥   s   ø€ ÷ $ñ $ñ
 ñ$r   c                óÒ   € ^ RI pVP                  ! W!P                  R7      pVP                  ! W1P                  R7      pVR8X  d   VR,          pVR,          pM W,
          V,          # )z%Normalize an image with mean and std.N)ÚdtypeÚchannels_first)ºNNNNN)Únumpyr+   r–   )r[   r‘   ÚmeanÚstdrŽ   r,   s   &&&&& r   Ú	normalizeÚBaseImageProcessor.normalize¥   sZ   € ó 	à�xŠx˜§K¡KÔ0ˆØ�hŠh�s§+¡+Ô.ˆàÐ 0Ô0à˜Õ&ˆDØ�mÕ$‰Cð à• Õ#Ð#r   c                ó   € R # rm   rB   )r[   Úimagess   &&r   Ú
preprocessÚBaseImageProcessor.preprocess¼   s   € ár   )rt   r‰   r„   r…   r‡   rˆ   r†   )©ç      à?r£   r£   r¢   )r|   r|   NNgp?N)r—   )rC   rD   rE   rF   Ú__doc__rŠ   r’   rœ   r   r    rH   rI   rJ   s   @r   rr   rr   u   s=   ø‡ € ñ÷
#ò #÷Bò ÷$ò $ð. ñó ör   rr   c                ó°   € V ^8„  d   QhR\         R\        \        P                  ,          R\        \        P                  ,          R\        P                  /# )r!   r�   ÚmaskÚsinksr#   )r�   r   r*   r+   )r%   s   "r   r&   r&   Á   sJ   € ÷ 8ñ 8ô
 ð8ô ”2—8‘8Õ
ð8ô ”B—H‘HÕð8ô ‡X�Xñ8r   c           
      óÔ  € \        V\        4      '       dÃ   Ve   \        R4      hV P                  R,          ^8X  d   VP	                  V VVVVR7      # VP                  V VVVVR7      pVe   V# VP                  W4      w  r‰\        P                  P                  V VP                  V P                  4      V	P                  V P                  4      VVR7      # \        V\        4      '       dj   VP                  W4      w  r‰\        P                  P                  V VP                  V P                  4      V	P                  V P                  4      VVR7      # \        V VVVVVVR7      # )Nz5TurboQuant KV cache does not support attention sinks.)Ú
keys_stateÚvalues_stater�   r¦   ©r�   r¦   )Úcacher�   r¦   r§   éþÿÿÿ)r)   r   r/   ÚshapeÚdecode_attentionÚprefill_attentionÚ
dequantizer*   Úfastr
   Úastyper–   r   Ú mlx_scaled_dot_product_attention)
ÚqueriesÚkeysÚvaluesr¬   r�   r¦   r§   r1   Údequantized_keysÚdequantized_valuess
   &&&&&&&   r   r
   r
   Á   s}  € ô �%Ô*×+Ò+ØÒÜÐTÓUÐUØ�=‰=˜Õ Ô!Ø×)Ñ)ØØØ#ØØð *ó ð ð ×(Ñ(ØØØØØð )ó 
ˆð ÒØˆMØ/4×/?Ñ/?ÀÓ/MÑ,ÐÜ�w‰w×3Ñ3ØØ×#Ñ# G§M¡MÓ2Ø×%Ñ% g§m¡mÓ4ØØð 4ó 
ð 	
ô �%Ô/×0Ò0Ø/4×/?Ñ/?ÀÓ/MÑ,ÐÜ�w‰w×3Ñ3ØØ×#Ñ# G§M¡MÓ2Ø×%Ñ% g§m¡mÓ4ØØð 4ó 
ð 	
ô ,ØØØØØØØôð r   c                 óR  € V P                   w  r#W#8X  d   V # W#8”  dG   \        P                  ! V P                  W"3V4      pVP	                  V ^ W#,
          ^,          34       V# \        P                  ! V P                  W33V4      pVP	                  WV,
          ^,          ^ 34       V# )r   )r†   r   ÚnewÚmodeÚpaste)Úpil_imgÚbackground_colorr}   r{   r1   s   &&   r   Úexpand2squarerÀ   ü   s�   € Ø—L‘L�M€EØ„ØˆØ	ŒÜ—’˜7Ÿ<™<¨%¨Ð9IÓJˆØ�‰�W˜q 5¥>°aÕ"7Ð8Ô9Øˆä—’˜7Ÿ<™<¨&Ð)9Ð;KÓLˆØ�‰�W¨¥°1Õ4°aÐ8Ô9Øˆr   c                 ó²   € V P                   p\        V4      ^8X  d   Vw  r#rEW#8¼  d   W$8¼  d	   W48X  d   R# R# \        V4      ^8X  d   Vw  rVpWb8¼  d   R# R# R# )é   TF)r®   Úlen)Úarrr®   Úout_channelsÚkHÚKWÚ_ÚkWs   &      r   Úcheck_array_shaperÊ   
  s[   € Ø�I‰I€Eô ˆ5ƒz�Q„Ø"'Ñˆ˜"àÔ \Ô%7¸b¼hÙáä	ˆU‹�qŒØ#Ñˆˆ|àÔÙáár   c                óì  € \        RV  R24       \        P                  ! V4      P                  4       p\        P                  ! V4      P                  4       pV'       d   \        RV  24       V'       d   \        RV  24       \        P
                  ! V4      P                  4       p\        P                  ! V4      P                  4       p\        P                  ! V4      P                  4       p\        P                  ! V4      P                  4       p\        RVP                   24       \        RVR RVR 24       \        R	VR R
VR 24       \        R\        V 4      ^,           ,          4       R# )z5Helper function to check for anomalies and log stats.z--- Activation Stats: z ---zWARNING: Found NaN in zWARNING: Found Inf in z	  Shape: z  Min: z.4fz, Max: z  Mean: z, Std: Ú-N)Úprintr*   ÚisnanÚanyÚisinfÚminÚitemÚmaxrš   r›   r®   rÃ   )ÚnameÚtensorÚhas_nanÚhas_infÚmin_valÚmax_valÚmean_valÚstd_vals   &&      r   Úcheck_activation_statsrÜ   !  s  € ô 
Ð" 4 &¨Ð
-Ô.ä�hŠh�vÓ×"Ñ"Ó$€GÜ�hŠh�vÓ×"Ñ"Ó$€GßÜÐ& t fÐ-Ô.ßÜÐ& t fÐ-Ô.ô �fŠf�V‹n×!Ñ!Ó#€GÜ�fŠf�V‹n×!Ñ!Ó#€GÜ�wŠw�v‹×#Ñ#Ó%€HÜ�fŠf�V‹n×!Ñ!Ó#€GÜ	ˆI�f—l‘l�^Ð
$Ô%Ü	ˆG�G˜C�= ¨° }Ð
5Ô6Ü	ˆH�X˜c�N '¨'°#¨Ð
7Ô8Ü	ˆ#”�T“˜R•Õ
 Ö!r   c           
      ó0  € V P                   w  r#p\        \        P                  ! V4      4      pV P	                  W%VR4      p V P                   w  r&rtV P	                  W&\        Wq,          4      \        WA,          4      4      pVP                  ^ ^^^4      pVP	                  V\        Wa,          4      \        Wq,          4      \        WA^,          ,          4      4      pVP                  ^ ^^^4      pVP	                  VRVP                   R,          4      p	V	# )é   éÿÿÿÿ)r®   ru   ÚmathÚsqrtÚreshapeÚ	transpose)
Úinput_tensorÚshuffle_ratioÚ
batch_sizeÚnum_patchesÚchannelsÚ
patch_sizer{   r}   Úreshaped_tensorÚoutput_tensors
   &&        r   Úpixel_shufflerì   8  sÿ   € à(4×(:Ñ(:Ñ%€J˜XÜ”T—Y’Y˜{Ó+Ó,€Jà×'Ñ'¨
À
ÈBÓO€LØ*6×*<Ñ*<Ñ'€J˜à"×*Ñ*ØœC Õ 5Ó6¼¸HÕ<TÓ8Uó€Oð &×/Ñ/°°1°a¸Ó;€Oà%×-Ñ-ØÜˆFÕ"Ó#ÜˆEÕ!Ó"ÜˆH qÕ(Õ)Ó*ó	€Oð &×/Ñ/°°1°a¸Ó;€Oà#×+Ñ+¨J¸¸O×<QÑ<QÐRTÕ<UÓV€MØÐr   c                ó<  € V P                   pV P                  pV^8X  d   V P                  ! ^.VO5!  p V P                  RR w  rgVw  r‰W†,          p
W—,          p\        P                  ! W«3W#R7      pV! V 4      pV^8X  d   VP                  ! V^ ,          .VO5!  # V# )aO  
MLX implementation of PyTorch's F.interpolate with bicubic mode

Args:
    pos_embed: MLX array with shape [B, C, H_src, W_src] or [C, H_src, W_src]
    size: Tuple (H_dst, W_dst) - target size
    align_corners: Boolean - whether to align corners

Returns:
    Interpolated array with shape [B, C, H_dst, W_dst] or [C, H_dst, W_dst]
N)Úscale_factorr¼   Úalign_cornersr­   )Úndimr®   râ   ÚnnÚUpsample)Ú	pos_embedr†   r¼   rï   Ú	input_dimÚoriginal_shapeÚh_srcÚw_srcÚh_dstÚw_dstÚscale_hÚscale_wÚ	upsamplerr1   s   &&&&          r   Úinterpolaterý   Q  s¨   € ð —‘€IØ—_‘_€Nà�A„~à×%Ò% aÐ9¨.Ó9ˆ	ð —?‘? 2 3Ð'�L€EØ�L€Eð �m€GØ�m€Gô —’ØÐ'¨dô€Iñ
 �yÓ!€Fð �A„~Ø�~Š~˜n¨QÕ/Ð7°$Ó7Ð7Ø€Mr   c                ó°   € V ^8„  d   QhR\         P                  R\         P                  R\         P                  R\        R\        R\         P                  /# )r!   rµ   r¶   r·   r�   Ú
chunk_sizer#   )r*   r+   r�   ru   )r%   s   "r   r&   r&   |  sT   € ÷ +ñ +Ü�X‰Xð+ä
�(‰(ð+ô �H‰Hð+ô ð	+ô
 ð+ô ‡X�Xñ+r   c                 ó&  € V P                   ^,          p. p\        ^ WT4       FU  p\        Wt,           V4      pV RRWx1R3,          p	\        P                  P                  W‘W#R7      p
VP                  V
4       KW  	  \        P                  ! V^R7      # )r!   r˜   )r�   )Úaxis)r®   ÚrangerÑ   r*   r²   r
   ÚappendÚconcatenate)rµ   r¶   r·   r�   rÿ   ÚLÚoutputsÚiÚend_idxÚq_chunkÚchunk_outputs   &&&&&      r   Úchunked_attentionr  {  sŠ   € ð 	�‰�aÕ€Aà€GÜ�1�aÖ$ˆÜ�a•n aÓ(ˆØ˜!˜Q  	¨1Ð,Õ-ˆä—w‘w×;Ñ;Ø˜6ð <ó 
ˆð 	�‰�|Ö$ñ %ô �>Š>˜'¨Ô*Ð*r   c                 óœ  a€ RpV P                   R,          o\        V3R lV 4       S4      pVS8w  dn   R.V P                  ^,
          ,          ^ VS,
          3.,           p\        P                  ! W4      \        P                  ! W4      \        P                  ! W'4      r!p \        P
                  P                  WW#VR7      RRS13,          # )é@   c              3   ó:   <"  € T F  pSV8:  g   K  Vx € K  	  R # 5irm   rB   )Ú.0ÚtÚds   & €r   Ú	<genexpr>Ú$ensure_fused_sdpa.<locals>.<genexpr>˜  s   øé € Ð3™j˜¨A°©F—1’1›jùs   ƒ	‘
r«   .N)r  éP   é€   rß   )r   r   )r®   Únextrð   r*   Úpadr²   r
   )	Úqrh   ri   r�   r¦   Ú
fused_dimsÚtargetr  r  s	   &&&&&   @r   Úensure_fused_sdpar  ”  s£   ø€ à€JØ	�‰��€AÜÔ3™jÓ3°QÓ7€FØ�„{Øˆh˜!Ÿ&™& 1�*Õ%¨!¨V°a­Z¨Ð(9Õ9ˆÜ—&’&˜“.¤"§&¢&¨£.´"·&²&¸³.ˆaˆÜ�7‰7×/Ñ/°°aÈ4Ð/ÓPØˆRˆaˆRˆõð r   c                óØ   a aa€ ^ RI Hp \        S \        4      '       d   S .o S  Uu0 uF  q3P	                  4       kK  	  upo VP
                  o\        VVV 3R l4       pWBn        S# u upi )a+  
Install a composable patch on transformers.AutoProcessor.from_pretrained

Args:
    target_model_types (Union[str, List[str]]): Model types to intercept.
    processor_cls (type): Processor class exposing `from_pretrained`.

Returns:
    The previous `AutoProcessor.from_pretrained` for reference.
)ÚAutoProcessorc                 ó  <€ ^ RI p^ RIHp  V! V4      pVP                  4       ;'       d    VP	                  4       p/ pV'       dR   VR,          pVP                  4       '       d2   \        VRRR7      ;_uu_ 4       p	VP                  V	4      pRRR4       MAM@ ^ RIHp
 V
! VR4      p\        VRRR7      ;_uu_ 4       p	VP                  V	4      pRRR4       \        VP                  RR	4      4      P                  4       pVS9   d&   VP                  R
R4       SP                  ! V3/ VB #  SP                  ! W3/ VB #   + '       g   i     Ly; i  + '       g   i     LŒ; i  \         d    / p Lži ; i  \         d     LYi ; i)r   Nr   zconfig.jsonÚrzutf-8)Úencoding)Úhf_hub_downloadÚ
model_typeÚ Útrust_remote_codeT)r   r   r   r   Úis_dirÚopenÚloadÚhuggingface_hubr!  Ú	Exceptionr>   ÚgetÚlowerÚ
setdefaultÚfrom_pretrainedÚ__func__)rf   Úpretrained_model_name_or_pathÚkwargsÚ_jsonr   r   Úis_localÚcfgÚconfig_pathÚfr!  Úcfg_pathr"  Úprevious_from_pretrainedÚprocessor_clsÚtarget_model_typess   &&,          €€€r   Ú'_patched_auto_processor_from_pretrainedÚMinstall_auto_processor_patch.<locals>._patched_auto_processor_from_pretrained´  sy  ø€ ó 	Ý ð	ÙÐ;Ó<ˆJØ!×(Ñ(Ó*×BÐB¨z×/@Ñ/@Ó/BˆHàˆCßØ(¨=Õ8�Ø×%Ñ%×'Ò'Ü˜k¨3¸×AÕAÀQØ#Ÿj™j¨›m˜÷ BÐAð (ð	Ý?á.Ø5°}ó �Hô ˜h¨°g×>Õ>À!Ø#Ÿj™j¨›m˜÷ ?ô
 ˜SŸW™W \°2Ó6Ó7×=Ñ=Ó?ˆJØÐ/Ô/Ø×!Ñ!Ð"5°tÔ<Ø$×4Ò4Ø1ñØ5;ñð ð 0ð (×0Ò0Øñ
Ø28ñ
ð 	
÷3 B×Aú÷ ?×>ûä ô Ø’Cðûô ô 	áð	úsƒ   �E: ¬E: ÁE: Á&E: Á<EÂ
E: Â%E' Â>EÃE' ÃAE: ÅE	ÅE: ÅE$	ÅE' Å#E: Å$E' Å'E7Å4E: Å6E7Å7E: Å:FÆF)Útransformersr  r)   r>   r+  r-  rp   )r9  r8  Ú_HF_AutoProcessorr  r:  r7  s   ff   @r   Úinstall_auto_processor_patchr>  ¡  sp   ú€ õ @äÐ$¤c×*Ò*Ø0Ð1ÐÙ-?Ó@Ñ-?¨Ÿ'™'ž)Ñ-?Ñ@Ðà0×@Ñ@Ðäö)
ó ð)
ðV )PÔ%Ø#Ð#ùòc As   §A'rm   )ÚcubicF)*rc   rà   Úabcr   Údataclassesr   Útypingr   r   r   Úmlx.coreÚcorer*   Úmlx.nnrñ   r™   r,   Úmlx_lm.models.baser   r	   r
   r´   ÚPILr   Ú
turboquantr   r   r   r4   r6   rL   ra   rr   rÀ   rÊ   rÜ   rì   rý   Úcompiler  r  r>  rB   r   r   Ú<module>rJ     sì   ðÛ Û Ý Ý !ß 'Ñ 'å Ý Û ß Eõõ ç Bòõ$ð$ ÷8ð 8ó ð8ð ÷
ð 
ó ð
ðB ÷Ið Ió ðI÷"Iñ I÷X8òvòò."ò.ô2'ðT ‡�ô+ó ð+ð0 ‡�ó	ó ð	ô@$r   