+
    œ°³j  ã                   óp  € ^ RI t^ RI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IHt ^R	IHtHtHt ^R
IHt ^RIHt ]! RR7      ] ! R R]4      4       4       t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t  ! R R]4      t!. ROt"R# )é    N)Ústrict)ÚPreTrainedConfig)Úauto_docstring)ÚVideoMetadata)ÚCONFIG_MAPPINGÚ
AutoConfigÚ	AutoModel)ÚGlm4vImageProcessor)ÚGlm4vImageProcessorPil)ÚGlm4vForConditionalGenerationÚ
Glm4vModelÚGlm4vPreTrainedModel)ÚGlm4vProcessor)ÚGlm4vVideoProcessorzzai-org/GLM-4.1V-9B-Thinking)Ú
checkpointc                   ó|   a a€ ] tR t^t oRtRtR]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V3R ltRtVtV ;t# )ÚGlm46VConfigaX  
image_start_token_id (`int`, *optional*, defaults to 151339):
    The image start token index to encode the start of image.
image_end_token_id (`int`, *optional*, defaults to 151340):
    The image end token index to encode the end of image.
video_start_token_id (`int`, *optional*, defaults to 151361):
    The video start token index to encode the start of video.
video_end_token_id (`int`, *optional*, defaults to 151362):
    The video end token index to encode the end of video.

```python
>>> from transformers import Glm46VForConditionalGeneration, Glm46VConfig

>>> # Initializing a GLM-4.6V style configuration
>>> configuration = Glm46VConfig()

>>> # Initializing a model from the GLM-4.6V style configuration
>>> model = Glm4vForConditionalGeneration(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
```Úglm46vÚtext_configÚvision_configÚpast_key_valuesNi/O i0O i+O i,O iAO iBO Fc                ó°  <€ \        V P                  \        4      '       d^   V P                  P                  R R4      V P                  R &   \        V P                  R ,          ,          ! R/ V P                  B V n        M%V P                  f   \        R,          ! 4       V n        \        V P
                  \        4      '       d^   V P
                  P                  R R4      V P
                  R &   \        V P
                  R ,          ,          ! R/ V P
                  B V n        M%V P
                  f   \        R,          ! 4       V n        \        SV `  ! R/ VB  R# )Ú
model_typeÚglm4v_visionNÚ
glm4v_text© )Ú
isinstancer   ÚdictÚgetr   r   ÚsuperÚ__post_init__)ÚselfÚkwargsÚ	__class__s   &,€Új/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/glm46v/modular_glm46v.pyr!   ÚGlm46VConfig.__post_init__E   s  ø€ Ü�d×(Ñ(¬$×/Ò/Ø/3×/AÑ/A×/EÑ/EÀlÐTbÓ/cˆD×Ñ˜|Ñ,Ü!/°×0BÑ0BÀ<Õ0PÖ!QÑ!gÐTX×TfÑTfÑ!gˆDÕØ×ÑÒ'Ü!/°Ö!?Ó!AˆDÔä�d×&Ñ&¬×-Ò-Ø-1×-=Ñ-=×-AÑ-AÀ,ÐP\Ó-]ˆD×Ñ˜\Ñ*Ü-¨d×.>Ñ.>¸|Õ.LÖMÑaÐPT×P`ÑP`ÑaˆDÕØ×ÑÒ%Ü-¨lÖ;Ó=ˆDÔä‰ÒÑ' Ô'ó    c                óÂ   <€ V ^8„  d   Qh/ S[ S[,          R,          ;R&   S[ S[,          R,          ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R	&   S[;R
&   # )é   Nr   r   Úimage_token_idÚvideo_token_idÚimage_start_token_idÚimage_end_token_idÚvideo_start_token_idÚvideo_end_token_idÚtie_word_embeddings)r   r   ÚintÚbool)ÚformatÚ__classdict__s   "€r%   Ú__annotate__ÚGlm46VConfig.__annotate__   sž   ø‡ ‚ ñ< Ñ(Õ(¨4Õ/Ñ6ñ= ñ> Ñ*Õ*¨TÕ1Ñ8ñ? ñ@ Ñ ñA ñB Ñ ñC ñD Ñ&ñE ñF Ñ$ñG ñH Ñ&ñI ñJ Ñ$ñK ñL Ñ%òM r'   )r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   Úsub_configsÚkeys_to_ignore_at_inferencer   r   r*   r+   r,   r-   r.   r/   r0   r!   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r$   r4   s   @@r%   r   r      sg   ù‡ € ñð. €JØ  *¨o¸zÐJ€KØ#4Ð"5Ðà26€KØ48€MØ €NØ €NØ &ÐØ$ÐØ &ÐØ$ÐØ %Ðõ(÷Q … r'   r   c                   ó   € ] tR t^UtRtRtRtR# )ÚGlm46VPreTrainedModelNr   )r7   r8   r9   r:   Ú_can_record_outputsÚ_no_split_modulesr?   r   r'   r%   rD   rD   U   s   † ØÐØÔr'   rD   c                   ó6   a a€ ] tR t^Zt oRtV 3R ltRtVtV ;t# )ÚGlm46VModelNc                óº   <€ \         SV `  V4       \        P                  ! VP                  4      V n        \        P                  ! VP                  4      V n        R # ©N)r    Ú__init__r	   Úfrom_configr   Úvisualr   Úlanguage_model)r"   Úconfigr$   s   &&€r%   rK   ÚGlm46VModel.__init__]   sA   ø€ Ü‰Ñ˜Ô Ü×+Ò+¨F×,@Ñ,@ÓAˆŒÜ'×3Ò3°F×4FÑ4FÓGˆÖr'   )rN   rM   )	r7   r8   r9   r:   rF   rK   r?   r@   rA   rB   s   @@r%   rH   rH   Z   s   ù‡ € ØÐ÷Hõ Hr'   rH   c                   ó   € ] tR t^ctRtR# )ÚGlm46VForConditionalGenerationr   N©r7   r8   r9   r:   r?   r   r'   r%   rR   rR   c   ó   † Ûr'   rR   c                   ó6   a € ] tR t^gt o RV 3R lR lltRtV tR# )ÚGlm46VProcessorc                ó    <€ V ^8„  d   QhRS[ /# )r)   Únum_image_tokens)r1   )r3   r4   s   "€r%   r5   ÚGlm46VProcessor.__annotate__h   s   ø€ ÷ uñ uÁcñ ur'   c                ó8   € R V P                   V,           RVR R2# )z<|begin_of_image|>z<|end_of_image|>z.1fz seconds)Úimage_token)r"   Útimestamp_secrX   s   &&&r%   Úreplace_frame_token_idÚ&Glm46VProcessor.replace_frame_token_idh   s+   € Ø# D×$4Ñ$4Ð7GÕ$GÐ#HÐHXÐYfÐgjÐXkÐksÐtÐtr'   r   N)é   )r7   r8   r9   r:   r]   r?   r@   ©r4   s   @r%   rV   rV   g   s   ø‡ € ÷u÷ uð ur'   rV   c                   ó   € ] tR t^ltRtR# )ÚGlm46VImageProcessorPilr   NrS   r   r'   r%   rb   rb   l   rT   r'   rb   c                   ó   € ] tR t^ptRtR# )ÚGlm46VImageProcessorr   NrS   r   r'   r%   rd   rd   p   rT   r'   rd   c                   ó6   a € ] tR t^tt o RV 3R lR lltRtV tR# )ÚGlm46VVideoProcessorNc                óD   <€ V ^8„  d   QhRS[ RS[S[,          R,          /# )r)   ÚmetadataÚfpsN)r   r1   Úfloat)r3   r4   s   "€r%   r5   Ú!Glm46VVideoProcessor.__annotate__u   s,   ø€ ÷ @)ñ @)áð@)ñ ‘5�[˜4Õñ@)r'   c                óú  € Ve   \        VRR 4      f   \        R4      hVP                  pV^,
          pVP                  ;'       g#    \	        WQP
                  ,          4      ^,           p^^R^RR/pRpRp	\        Wi4      p
V
^8:  d   V^,          pMV
R8:  d   VR,          pM	VR,          p\        W«,          V P                  ,          4      p\        WÈ4      p^VP
                  ,          p\        V4       Uu. uF  qîV,          NK  	  pp\        V4      pWL8  d5   \        P                  ! ^ V^,
          V\        R7      P                  4       pMc. p^ p^V P                  V,          ,          p\        V4       F6  pVV,          V8¼  g   K  VV,          pVP                  V4       VV8¼  g   K6   M	  \        V4      V8  df   \        V4      ^ 8X  d   ^ \        V^,
          ^ 4      ppMV^ ,          VR,          pp\        P                  ! VVV\        R7      P                  4       pMC\        V4      V8”  d4   \        P                  ! ^ V^,
          V\        R7      P                  4       p\!        4       . ppV F.  pVV9  g   K  VP#                  V4       VP                  V4       K0  	  \        V4      ^,          '       d   VP                  VR,          4       \        P$                  ! V\        R7      # u upi )	Nri   zµAsked to sample frames per second but no video metadata was provided which is required when sampling in Glm46V. Please pass in `VideoMetadata` object or set `do_sample_frames=False`i,  i`	  g      à?i€  )Údtypeéÿÿÿÿ)ÚgetattrÚ
ValueErrorÚtotal_num_framesÚdurationÚroundri   Úminr1   Útemporal_patch_sizeÚrangeÚnpÚlinspaceÚtolistÚappendÚlenÚmaxÚsetÚaddÚarray)r"   rh   ri   r#   Útotal_framesÚmax_frame_idxrr   ÚDYNAMIC_FPS_THRESÚMAX_FRAME_COUNT_DYNAMICÚMAX_DURATIONÚeffective_durationÚ
target_fpsÚ	extract_tÚduration_per_frameÚiÚ
timestampsÚ
max_secondÚframe_indicesÚcurrent_secondÚinv_fpsÚframe_indexÚstartÚendÚseenÚuniqÚidxs   &&&,                      r%   Úsample_framesÚ"Glm46VVideoProcessor.sample_framesu   sœ  € ð Òœw x°¸Ó=ÒEÜðXóð ð
  ×0Ñ0ˆØ$ qÕ(ˆØ×$Ñ$×OÐO¬¨m¿l¹lÕ.JÓ(KÈaÕ(Oˆà  C¨¨D°#Ð6ÐØ"%ÐØˆÜ  Ó8ÐØ Ô#Ø*¨2Õ.‰JØ 3Ô&Ø*¨3Õ/‰Jà*¨4Õ0ˆJÜÐ*Õ7¸$×:RÑ:RÕRÓSˆ	Ü˜	Ó;ˆ	à §¡Õ-ÐÜ6;¸LÔ6IÓJÑ6I°Ð,×,Ð,Ñ6Iˆ
ÐJÜ˜“]ˆ
àÔ#ÜŸKšK¨¨<¸!Õ+;¸YÌcÔR×YÑYÓ[‰MàˆMØˆNØ˜4×3Ñ3°jÕ@ÕAˆGÜ$ \Ö2�Ø˜kÕ*¨nÖ<Ø" gÕ-�NØ!×(Ñ(¨Ô5Ø%¨Ö3Ùñ  3ô ˆ}Ó 	Ô)Ü�=Ó! QÔ&Ø¤ L°1Õ$4°aÓ 8�s��sà*¨1Õ-¨}¸RÕ/@�s�ÜŸKšK¨¨s°IÄSÔI×PÑPÓR‰MÜ�Ó )Ô+ÜŸKšK¨¨<¸!Õ+;¸YÌcÔR×YÑYÓ[ˆMä“U˜BˆdˆÛ ˆCØ˜$ŽØ—‘˜”Ø—‘˜CÖ ñ !ô
 ˆt‹9�q�=Œ=Ø�K‰K˜˜R�Ô!ä�xŠx˜¤CÔ(Ð(ùòE Ks   Ã9K8r   rJ   )r7   r8   r9   r:   r•   r?   r@   r`   s   @r%   rf   rf   t   s   ø‡ € ÷@)÷ @)ð @)r'   rf   )r   rH   rD   rR   rV   rd   rb   rf   )#Únumpyrw   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úutilsr   Úvideo_utilsr   Úautor   r   r	   Úglm4v.image_processing_glm4vr
   Ú glm4v.image_processing_pil_glm4vr   Úglm4v.modeling_glm4vr   r   r   Úglm4v.processing_glm4vr   Úglm4v.video_processing_glm4vr   r   rD   rH   rR   rV   rb   rd   rf   Ú__all__r   r'   r%   Ú<module>r£      sÀ   ðó Ý .å 3Ý #Ý (ß 8Ñ 8Ý >Ý Eß bÑ bÝ 3Ý >ñ Ð9Ô:Øô3(Ð#ó 3(ó ó ;ð3(ôlÐ0ô ô
H�*ô Hô	Ð%Bô 	ôu�nô uô
	Ð4ô 	ô	Ð.ô 	ôA)Ð.ô A)òH	‚r'   