+
    œ°³j1J  ã                   ó  € R t ^ RIt^ RIt^ RIHt ^RIHt ^RIH	t	H
t
 ^RIHtHt ^RIHtHtHtHtHt ^RIHtHt ^RIHtHtHtHt ]P8                  ! ]4      tR	 R
 lt ! R R]RR7      t ] ! R R]4      4       t!R.t"R# )zImage processor class for Fuyu.N)Ú
functional)ÚTorchvisionBackend)ÚBatchFeatureÚget_size_dict)Úgroup_images_by_shapeÚreorder_images)Ú
ImageInputÚPILImageResamplingÚSizeDictÚis_valid_imageÚmake_list_of_images)ÚImagesKwargsÚUnpack)Ú
TensorTypeÚauto_docstringÚloggingÚrequires_backendsc                óÊ   € V ^8„  d   QhR\         \         \        ,          ,          \         \        ,          ,          \        ,          R\         \         \        ,          ,          /# )é   ÚimagesÚreturn)Úlistr   )Úformats   "Úo/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/fuyu/image_processing_fuyu.pyÚ__annotate__r   +   sC   € ÷ añ aÜ””jÕ!Õ"¤T¬*Õ%5Õ5¼
ÕBðaä	Œ$ŒzÕ
Õñaó    c                 óR  € \        V 4      '       d   V ..# \        V \        4      '       d=   \        ;QJ d    R  V  4       F  '       d   K   RM	  RM! R  V  4       4      '       d   V # \        V \        4      '       d   V  Uu. uF  p\	        V4      NK  	  up# \        R4      hu upi )c              3   óB   "  € T F  p\        V\        4      x € K  	  R # 5i©N)Ú
isinstancer   )Ú.0Úimages   & r   Ú	<genexpr>Ú.make_list_of_list_of_images.<locals>.<genexpr>1   s   é € Ð'TÉVÀE¬
°5¼$×(?Ð(?ËVùs   ‚FTzHimages must be a list of list of images or a list of images or an image.)r   r   r   Úallr   Ú
ValueError)r   r!   s   & r   Úmake_list_of_list_of_imagesr&   +   s…   € ô �f×ÒØ�ˆzÐä�&œ$×Ò§C£CÑ'TÉVÓ'T§C§C¢CÑ'TÉVÓ'T×$TÒ$TØˆä�&œ$×ÒÙ8>Ó?¹¨uÔ# EÖ*¹Ñ?Ð?ä
Ð_Ó
`Ð`ùò @s   ÂB$c                   ó0   a € ] tR t^:t o RtV 3R ltRtV tR# )ÚFuyuImagesKwargsa�  
patch_size (`dict[str, int]`, *optional*, defaults to `{"height": 30, "width": 30}`):
    Dictionary in the format `{"height": int, "width": int}` specifying the size of the patches.
padding_value (`float`, *optional*, defaults to 1.0):
    The value to pad the image with.
padding_mode (`str`, *optional*, defaults to "constant"):
    The padding mode to use when padding the image.
c                óL   <€ V ^8„  d   Qh/ S[ R,          ;R&   S[;R&   S[;R&   # )r   NÚ
patch_sizeÚpadding_valueÚpadding_mode)r
   ÚfloatÚstr)r   Ú__classdict__s   "€r   r   ÚFuyuImagesKwargs.__annotate__:   s0   ø‡ ‚ ñ ˜4•Ññ ñ Ññ ñ Ñò r   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r/   s   @r   r(   r(   :   s   ø‡ € ñ÷ ƒ r   r(   F)Útotalc                   ó@  a a€ ] tR t^It oRtRRRR/tR^R^/t]P                  t	Rt
RtRtRtRtRtRtRt. ROt]tV3R	 lV 3R
 lltRV3R lR lltRV3R lV 3R llltV3R lR l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V3R lV 3R llltRtVtV ;t# )ÚFuyuImageProcessorTÚheighti8  Úwidthi€  g      ð?Úconstantg      à?c                ó0   <€ V ^8„  d   QhRS[ S[,          /# )r   Úkwargs)r   r(   )r   r/   s   "€r   r   ÚFuyuImageProcessor.__annotate__`   s   ø€ ÷ #ñ #¡Ñ(8Õ!9ñ #r   c                ó(   <€ \         SV `  ! R/ VB  R # )Nr1   )ÚsuperÚ__init__)ÚselfrA   Ú	__class__s   &,€r   rE   ÚFuyuImageProcessor.__init__`   s   ø€ Ü‰ÒÑ"˜6Ô"r   c                ó,   <€ V ^8„  d   QhRS[ RS[RS[ /# )r   r   Úexpected_ndimsr   )r   Úint)r   r/   s   "€r   r   rB   c   s)   ø€ ÷ 3ñ 3áð3ñ ð3ñ 
ñ	3r   c                ó:   € V P                  V4      p\        V4      # r   )Úfetch_imagesr&   )rF   r   rJ   s   &&&r   Ú_prepare_images_structureÚ,FuyuImageProcessor._prepare_images_structurec   s   € ð
 ×"Ñ" 6Ó*ˆÜ*¨6Ó2Ð2r   c          
      ó^   <€ V ^8„  d   QhRS[ P                  RS[RRRS[RS[ P                  /# )r   r!   ÚsizeÚresampleú7PILImageResampling | tvF.InterpolationMode | int | NoneÚ	antialiasr   )ÚtorchÚTensorr
   Úbool)r   r/   s   "€r   r   rB   k   sF   ø€ ÷ &
ñ &
á�|‰|ð&
ñ ð&
ð Lð	&
ñ
 ð&
ñ 
�‰ñ&
r   c                óJ  <€ Vf   \         P                  pVP                  RR w  rgVP                  VP                  r˜Wy8:  d	   Wh8:  d   V# W†,          p
W—,          p\        W«4      p\        Wl,          4      p\        W|,          4      p\        SV `!  V\        WÞR7      W4R7      # )av  
Resize an image to fit within `(size.height, size.width)` while maintaining aspect ratio.
Only resizes if the image is larger than the target size.
Args:
    image (`torch.Tensor`):
        Image to resize.
    size (`SizeDict`):
        Dictionary in the format `{"height": int, "width": int}` specifying the max size of the output image.
    resample (`PILImageResampling | tvF.InterpolationMode | int`, *optional*, defaults to `PILImageResampling.BILINEAR`):
        Resampling filter to use when resizing the image.
    antialias (`bool`, *optional*, defaults to `True`):
        Whether to apply antialiasing when resizing.
N)r=   r>   )rR   rT   éþÿÿÿ)
r	   ÚBILINEARÚshaper=   r>   ÚminrK   rD   Úresizer
   )rF   r!   rQ   rR   rT   rA   Úimage_heightÚimage_widthÚtarget_heightÚtarget_widthÚheight_scale_factorÚwidth_scale_factorÚoptimal_scale_factorÚ
new_heightÚ	new_widthrG   s   &&&&&,         €r   r]   ÚFuyuImageProcessor.resizek   s¢   ø€ ð* ÒÜ)×2Ñ2ˆHØ$)§K¡K°°Ð$4Ñ!ˆØ&*§k¡k°4·:±:�|àÔ&¨<Ô+HØˆLà+Õ:ÐØ)Õ7ÐÜ"Ð#6ÓKÐä˜Õ<Ó=ˆ
Ü˜Õ:Ó;ˆ	ä‰w‰~Ø”8 :Ô?È(ð ó 
ð 	
r   c                ó2  <€ V ^8„  d   QhRS[ R,          RS[RS[RRRS[RS[R	S[R
S[S[ S[,          ,          R,          RS[S[ S[,          ,          R,          RS[R,          RS[R,          RS[R,          RS[R,          RS[S[,          R,          RS[/# )r   r   ztorch.TensorÚ	do_resizerQ   rR   rS   Ú
do_rescaleÚrescale_factorÚdo_normalizeÚ
image_meanNÚ	image_stdÚdo_padr+   r,   Údisable_groupingÚreturn_tensorsr   )r   rW   r
   r-   r.   r   r   )r   r/   s   "€r   r   rB   “   sî   ø€ ÷ G
ñ G
á�^Õ$ðG
ñ ðG
ñ ð	G
ð
 LðG
ñ ðG
ñ ðG
ñ ðG
ñ ™D¡�KÕ'¨$Õ.ðG
ñ ™4¡�;Õ&¨Õ-ðG
ñ �t•ðG
ñ ˜t•|ðG
ñ ˜D•jðG
ñ  �+ðG
ñ ™jÕ(¨4Õ/ðG
ñ" 
ñ#G
r   c                ó   € V Uu. uF#  pV'       g   K  V^ ,          P                   RR NK%  	  pp\        WRR7      w  pp/ pVP                  4        F&  w  ppV'       d   V P                  VW4R7      pVVV&   K(  	  \	        VVRR7      pV Uu. uF#  pV'       g   K  V^ ,          P                   RR NK%  	  ppV Uu. uF  pV^ ,          .NK  	  ppV Uu. uF  pV^,          .NK  	  pp\        VV4       UUu. uF  w  ppV^ ,          V^ ,          ,          .NK   	  pppV
'       d   V P                  VVVVVRR7      p\        VVRR7      w  pp/ pVP                  4        F  w  ppV P                  VWVWxV	4      pVVV&   K!  	  \	        VVRR7      p \        P                  ! V  U!u. uF#  p!V!'       g   K  \        P                  ! V!4      NK%  	  up!4      p"\        RV"RVR	VR
VRV/VR.R7      # u upi u upi u upi u upi u uppi u up!i )é    NT)rp   Ú	is_nested)r!   rQ   rR   )rt   )Úpad_sizeÚ
fill_valuer,   rp   rt   r   Úimage_unpadded_heightsÚimage_unpadded_widthsÚimage_scale_factorsÚimage_sizesÚoverflowing_values)ÚdataÚtensor_typeÚskip_tensor_conversionrY   )r[   r   Úitemsr]   r   ÚzipÚpadÚrescale_and_normalizerU   Ústackr   )#rF   r   ri   rQ   rR   rj   rk   rl   rm   rn   ro   r+   r,   rp   rq   rA   Úbatch_imageÚoriginal_image_sizesÚgrouped_imagesÚgrouped_images_indexÚresized_images_groupedr[   Ústacked_imagesÚresized_imagesrz   Ú
image_sizerw   rx   Úoriginal_sizeÚresized_sizery   Úprocessed_images_groupedÚprocessed_imagesÚbatchÚimages_tensors#   &&&&&&&&&&&&&&&,                   r   Ú_preprocessÚFuyuImageProcessor._preprocess“   sb  € ñ& NTÓcÉV¸kÔWbÔ 9 ¨A¥× 4Ñ 4°R°SÓ 9ÉVÐÐcÜ/DØÀô0
Ñ,ˆÐ,ð "$ÐØ%3×%9Ñ%9Ö%;Ñ!ˆE�>ßØ!%§¡°>È Ó!`�Ø,:Ð" 5Ó)ñ &<ô (Ð(>Ð@TÐ`dÔeˆáDRÓbÁN°[ÔVaÔ0�{ 1•~×+Ñ+¨B¨CÓ0ÁNˆÐbÙDOÓ!PÁK°j :¨a¥=£/ÁKÐÐ!PÙCNÓ OÁ;°Z *¨Q¥-£Á;ÐÐ Oô 03Ð3GÈÔ/Uô
á/UÑ+�˜|ð ˜!�_˜}¨QÕ/Õ/Ó0Ù/Uð 	ñ 
÷ Ø!ŸX™XØØØ(Ø)Ø!1Øð &ó ˆNô 0EØÐ-=Èô0
Ñ,ˆÐ,ð $&Ð Ø%3×%9Ñ%9Ö%;Ñ!ˆE�>à!×7Ñ7Ø 
¸LÐV_óˆNð /=Ð$ UÓ+ñ &<ô *Ð*BÐDXÐdhÔiÐäŸšÑEUÓ$_ÑEU¸EÔY^Ô%7¤U§[¢[°Ö%7ÑEUÑ$_Ó`ˆÜà˜-Ø(Ð*@Ø'Ð)>Ø%Ð':ØÐ3ðð 'Ø$8Ð#9ô

ð 
	
ùòU  dùò cùÚ!PùÚ Oùó
ùò6 %`s4   …
G1”G1Â
G6ÂG6Â=G;ÃH Ã:$HÆ(
HÆ7Hc                ó@   <€ V ^8„  d   QhRS[ RS[ RS[R,          RS[ /# )r   r^   r_   r*   Nr   )rK   r
   )r   r/   s   "€r   r   rB   Ü   s/   ø€ ÷ ñ ©Cð ¹cð ÉxÐZ^Íð Ñjmñ r   c                ól  € VfC   \        V P                  \        4      '       d   V P                  pM\        R/ V P                  B pVP                  VP                  rTW,          ^ 8w  d   \        RV: RV 24      hW%,          ^ 8w  d   \        RV: RV 24      hW,          pW%,          pWg,          pV# )a:  
Calculate number of patches required to encode an image.
Args:
    image_height (`int`):
        Height of the image.
    image_width (`int`):
        Width of the image.
    patch_size (`SizeDict`, *optional*):
        Dictionary in the format `{"height": int, "width": int}` specifying the size of the patches.
zimage_height=z must be divisible by zimage_width=r1   )r   r*   r
   r=   r>   r%   )	rF   r^   r_   r*   Úpatch_heightÚpatch_widthÚnum_patches_per_dim_hÚnum_patches_per_dim_wÚnum_patchess	   &&&&     r   Úget_num_patchesÚ"FuyuImageProcessor.get_num_patchesÜ   s°   € ð ÒÜ˜$Ÿ/™/¬8×4Ò4Ø!Ÿ_™_‘
ä%Ñ8¨¯©Ñ8�
Ø$.×$5Ñ$5°z×7GÑ7G�kØÕ&¨!Ô+Ü  ™Ð.DÀ\ÀNÐSÓTÐTØÕ$¨Ô)Ü  ™~Ð-CÀKÀ=ÐQÓRÐRØ ,Õ <ÐØ +Õ :ÐØ+ÕCˆØÐr   c                ób   <€ V ^8„  d   QhRS[ P                  RS[R,          RS[ P                  /# )r   r!   r*   Nr   )rU   rV   r
   )r   r/   s   "€r   r   rB   ö   s1   ø€ ÷ ñ ¡E§L¡Lð ¹hÈ½oð ÑY^×YeÑYeñ r   c                óò  € \        V R.4       VfC   \        V P                  \        4      '       d   V P                  pM\        R/ V P                  B pVP                  VP
                  rCVP                  w  rV pVP                  ^W34      pVP                  ^WD4      p	V	P                  4       p	V	P                  WVRW44      p	V	P                  ^ ^^^^4      p	V	P                  VRWc,          V,          4      p	V	# )a?  
Convert an image into a tensor of patches using PyTorch's unfold operation.
Args:
    image (`torch.Tensor`):
        Image to convert. Shape: [batch, channels, height, width]
    patch_size (`SizeDict`, *optional*):
        Dictionary in the format `{"height": int, "width": int}` specifying the size of the patches.
rU   r1   éÿÿÿÿ)r   r   r*   r
   r=   r>   r[   ÚunfoldÚ
contiguousÚviewÚpermuteÚreshape)
rF   r!   r*   r–   r—   Ú
batch_sizeÚchannelsÚ_Úunfolded_along_heightÚpatchess
   &&&       r   Úpatchify_imageÚ!FuyuImageProcessor.patchify_imageö   sÜ   € ô 	˜$  	Ô*ØÒÜ˜$Ÿ/™/¬8×4Ò4Ø!Ÿ_™_‘
ä%Ñ8¨¯©Ñ8�
Ø$.×$5Ñ$5°z×7GÑ7G�kØ%*§[¡[Ñ"ˆ
˜a à %§¡¨Q°Ó KÐØ'×.Ñ.¨q°+ÓKˆØ×$Ñ$Ó&ˆà—,‘,˜z°R¸ÓSˆØ—/‘/ ! Q¨¨1¨aÓ0ˆØ—/‘/ *¨b°(Õ2IÈKÕ2WÓXˆØˆr   c                óÄ   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[ P                  RS[ P                  RS[RS[RS[RS[S[S[3,          R	,          R
S[/	# )r   Úimage_inputÚimage_presentÚimage_unpadded_hÚimage_unpadded_wÚimage_placeholder_idÚimage_newline_idÚvariable_sizedr*   Nr   )rU   rV   rK   rW   Údictr.   r   )r   r/   s   "€r   r   rB     s�   ø€ ÷ G
ñ G
á—\‘\ðG
ñ —|‘|ðG
ñ  Ÿ,™,ð	G
ñ
  Ÿ,™,ðG
ñ "ðG
ñ ðG
ñ ðG
ñ ™™c˜•N TÕ)ðG
ñ 
ñG
r   c	                ój	  € \        V R.4       \        P                  R4       VfD   \        V P                  \
        4      '       d   V P                  pM7\        R/ V P                  B pM!\        V\
        4      '       g   \        R/ VB pVP                  VP                  r©. p. p. p\        VP                  ^ ,          4       EF²  p. p. p\        VP                  ^,          4       EFg  pW.V3,          '       Ed   WV3,          pVP                  ^,          VP                  ^,          ppV'       d�   \        V\        P                  ! W>V3,          V	,          4      V	,          4      p\        V\        P                  ! WNV3,          V
,          4      V
,          4      pVRRV1RV13,          pTTppV P                  VVVR7      p\        P                  ! V.V\        P                   VP"                  R7      pV P%                  VP'                  ^ 4      VR7      P)                  ^ 4      pVVP                  ^ ,          8X  g   Q hV'       dŠ   VP+                  RVV
,          4      p\        P                  ! VP                  ^ ,          ^.V\        P                   VP"                  R7      p\        P,                  ! VV.^R7      pVP+                  R4      pVP/                  V.4       VP/                  V4       VP/                  V4       EK'  VP/                  \        P0                  ! . \        P                   VP"                  R7      4       EKj  	  VP/                  V4       VP/                  V4       EKµ  	  . p. pV EF  p^ p. p. p V Fç  p!V!V8H  p"\        P2                  ! V"4      p\        P4                  ! V\        P6                  V!P"                  R7      P9                  V!4      p#\        P:                  ! V!R4      p$\        P:                  ! V!R4      p%\        P<                  ! V"R	R
7      ^ ,          p&V#V,           V$V&&   V#V%V&&   VP/                  V$4       V P/                  V%4       VV,          pKé  	  VP/                  V4       VP/                  V 4       EK  	  \?        RVRVRVRVRV/R7      # )a  
Process images for model input. In particular, variable-sized images are handled here.

Args:
    image_input (`torch.Tensor` of shape [batch_size, subsequence_size, num_channels, height, width]):
        Tensor of images padded to model input size.
    image_present (`torch.Tensor` of shape [batch_size, subsequence_size, num_images]):
        Tensor of 1s and 0s indicating whether an image is present.
    image_unpadded_h (`torch.Tensor` of shape [batch_size, subsequence_size]):
        Tensor of unpadded image heights.
    image_unpadded_w (`torch.Tensor` of shape [batch_size, subsequence_size]):
        Tensor of unpadded image widths.
    image_placeholder_id (int):
        The id of the image placeholder token. Comes from an associated tokenizer.
    image_newline_id (int):
        The id of the image newline token. Comes from an associated tokenizer.
    variable_sized (bool):
        Whether to process images as variable-sized.
    patch_size (`dict[str, int]`, *optional*):
        Size of the patches.
rU   zf`image_processor.preprocess_with_tokenizer_info` is deprecated and will be removed in future versions.N:NNN)r^   r_   r*   )ÚdtypeÚdevice)r!   r*   )ÚdimT)Úas_tupler   Úimage_input_idsÚimage_patchesÚimage_patch_indices_per_batchÚ#image_patch_indices_per_subsequence)r|   r1   rŸ   ) r   ÚloggerÚwarningr   r*   r
   r=   r>   Úranger[   r\   ÚmathÚceilr›   rU   ÚfullÚint32r·   rª   Ú	unsqueezeÚsqueezer¤   ÚcatÚappendÚtensorÚcount_nonzeroÚarangeÚint64Útype_asÚ	full_likeÚnonzeror   )'rF   r­   r®   r¯   r°   r±   r²   r³   r*   r–   r—   r   Úbatch_image_patchesÚbatch_image_input_idsÚbatch_indexrº   r»   Úsubseq_indexr!   r^   r_   Únew_hÚnew_wrš   Útensor_of_image_idsr©   Únewline_idsr¼   r½   Úsample_image_input_idsÚindex_offsetÚper_batch_indicesÚper_subsequence_indicesÚsubseq_image_input_idsÚpatches_maskÚindicesÚindices_in_stream_per_batchÚ!indices_in_stream_per_subsequenceÚpatches_indss'   &&&&&&&&&                              r   Úpreprocess_with_tokenizer_infoÚ1FuyuImageProcessor.preprocess_with_tokenizer_info  sP  € ô@ 	˜$  	Ô*Ü�‰Øtô	
ð ÒÜ˜$Ÿ/™/¬8×4Ò4Ø!Ÿ_™_‘
ä%Ñ8¨¯©Ñ8‘
Ü˜J¬×1Ò1Ü!Ñ/ JÑ/ˆJØ$.×$5Ñ$5°z×7GÑ7G�kà+-ˆØ8:Ðà:<ÐÜ  ×!2Ñ!2°1Õ!5×6ˆKØ ˆOØˆMÜ % k×&7Ñ&7¸Õ&:× ;�Ø ¨lÐ!:×;Õ;Ø'°\Ð(AÕB�EØ05·±¸AµÀÇÁÈAÅ +�Lß%ô !$Ø(Ü ŸIšIÐ&6ÀLÐ7PÕ&QÐT`Õ&`ÓaÐdpÕpó!˜ô !$Ø'Ü ŸIšIÐ&6ÀLÐ7PÕ&QÐT_Õ&_Ó`ÐcnÕnó!˜ð !& a¨¨%¨°°%°Ð&7Õ 8˜Ø49¸5 k˜Ø"&×"6Ñ"6Ø%1¸{ÐWað #7ó #�Kô +0¯*ª*Ø$˜Ð';Ä5Ç;Á;ÐWb×WiÑWiô+Ð'ð #×1Ñ1¸¿¹ÈÓ8JÐWaÐ1Ób×jÑjÐklÓm�GØ&¨'¯-©-¸Õ*:Ô:Ð:Ð:ß%à.A×.IÑ.IÈ"ÈkÐ]hÕNhÓ.iÐ+Ü&+§j¢jØ0×6Ñ6°qÕ9¸1Ð=Ø,Ü"'§+¡+Ø#.×#5Ñ#5ô	'˜ô /4¯iªiÐ9LÈkÐ8ZÐ`aÔ.bÐ+Ø.A×.IÑ.IÈ"Ó.MÐ+Ø—M‘M 5 'Ô*Ø#×*Ñ*Ð+>Ô?Ø!×(Ñ(¨×1à#×*Ñ*¬5¯<ª<¸Ä%Ç+Á+ÐVa×VhÑVhÔ+i×jñU !<ðV "×(Ñ(¨Ô9Ø×&Ñ& }×5ñ_ 7ðb CEÐ%ØHJÐ+ä&;Ð"ØˆLØ "ÐØ&(Ð#Û*@Ð&à5Ð9MÑM�Ü#×1Ò1°,Ó?�ÜŸ,š, {¼%¿+¹+ÐNd×NkÑNkÔl×tÑtØ*ó�ô /4¯oªoÐ>TÐVXÓ.YÐ+Ü49·O²OÐDZÐ\^Ó4_Ð1Ü$Ÿ}š}¨\ÀDÔIÈ!ÕL�à<CÀlÕ<RÐ+¨LÑ9ØBIÐ1°,Ñ?à!×(Ñ(Ð)DÔEØ'×.Ñ.Ð/PÔQØ Õ+’ñ# +Að& *×0Ñ0Ð1BÔCØ/×6Ñ6Ð7N×Oñ1 '<ô2 à˜&Ø!Ð#8ØÐ!4Ø/Ð1NØ5Ð7Zðô
ð 	
r   c                óZ   <€ V ^8„  d   QhRS[ S[S[3,          S[,          R,          RS[ /# )r   r*   Nr   )r´   r.   rK   r
   )r   r/   s   "€r   r   rB   š  s1   ø€ ÷ ñ á™™c˜•N¡XÕ-°Õ4ðñ 
ñ	r   c           	     ó�   <€ \         SV `  ! R/ VB pVe-   \        V\        4      '       g   \        R/ \	        VRR7      B pWR&   V# )z1
Process Fuyu-specific kwargs before validation.
r*   )Ú
param_namer1   )rD   Ú_standardize_kwargsr   r
   r   )rF   r*   rA   rG   s   &&,€r   rç   Ú&FuyuImageProcessor._standardize_kwargsš  sJ   ø€ ô ‘Ò,Ñ6¨vÑ6ˆØÒ!¬*°ZÄ×*JÒ*JÜ!ÑW¤M°*ÈÔ$VÑWˆJØ)ˆ|ÑØˆr   r1   gp?)r   rº   r»   r¼   r½   )é   )NTr   ) r2   r3   r4   r5   ri   rQ   r*   r	   rZ   rR   ro   r+   r,   rl   rm   rn   rj   rk   Úmodel_input_namesr(   Úvalid_kwargsrE   rN   r]   r’   r›   rª   râ   rç   r8   r9   Ú__classcell__)rG   r/   s   @@r   r<   r<   I   sÄ   ù‡ € à€IØ�d˜G TÐ*€DØ˜B ¨Ð,€JØ!×*Ñ*€HØ€FØ€MØ€LØ€LØ€JØ€IØ€JØ€NòÐð $€L÷#ó #÷3ò 3÷&
õ &
÷PG
ð G
÷Rò ÷4ò ÷6G
ò G
÷R÷ õ r   r<   )#r6   rÁ   rU   Útorchvision.transforms.v2r   ÚtvFÚimage_processing_backendsr   Úimage_processing_utilsr   r   Úimage_transformsr   r   Úimage_utilsr   r	   r
   r   r   Úprocessing_utilsr   r   Úutilsr   r   r   r   Ú
get_loggerr2   r¾   r&   r(   r<   Ú__all__r1   r   r   Ú<module>r÷      s…   ðñ &ã ã Ý 7å ;ß Aß E÷õ ÷ 5÷ó ð 
×	Ò	˜HÓ	%€õaô�|¨5õ ð ô\Ð+ó \ó ð\ð~
  Ð
 ‚r   