Ë
    ÜÓ^jG  ã                   ó°   — d Z ddlmZ ddlmZmZmZ ddlmZm	Z	m
Z
 ddlmZmZ  G d„ ded¬	«      Z ej                  e«      Ze G d
„ de«      «       ZdgZy)z!
Processor class for Pix2Struct.
é   )ÚBatchFeature)ÚProcessingKwargsÚProcessorMixinÚUnpack)ÚBatchEncodingÚPreTokenizedInputÚ	TextInput)Úauto_docstringÚloggingc            
       ó.   — e Zd Zddddddddddœ	ddidœZy)	ÚPix2StructProcessorKwargsTFé    )	Úadd_special_tokensÚpaddingÚstrideÚreturn_overflowing_tokensÚreturn_special_tokens_maskÚreturn_offsets_mappingÚreturn_token_type_idsÚreturn_lengthÚverboseÚmax_patchesi   )Útext_kwargsÚimages_kwargsN)Ú__name__Ú
__module__Ú__qualname__Ú	_defaults© ó    ú/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/transformers/models/pix2struct/processing_pix2struct.pyr   r      s7   „ ð #'ØØØ).Ø*/Ø&+Ø%*Ø"Øñ

ð ˜4ð
ñ�Ir    r   F)Útotalc            	       ó|   ‡ — e Zd Zˆ fd„Ze	 	 ddeez  ee   z  ee   z  dee	   de
ez  fd„«       Zed„ «       Zˆ xZS )ÚPix2StructProcessorc                 ó4   •— d|_         t        ‰| �	  ||«       y )NF)r   ÚsuperÚ__init__)ÚselfÚimage_processorÚ	tokenizerÚ	__class__s      €r!   r'   zPix2StructProcessor.__init__0   s   ø€ Ø*/ˆ	Ô'Ü‰Ñ˜¨)Õ4r    ÚtextÚkwargsÚreturnc                 óÔ  — |€|€t        d«      ‚ | j                  t        fd| j                  j                  i|¤Ž}|d   j                  dd «      }|€;| j                  j                  s%|�|nd|d   d<    | j                  dd|i|d   ¤Ž}|S | j                  j                  s | j                  |fi |d   ¤Ž}n+|d   j                  d|«        | j                  |fi |d   ¤Ž}|�j| j                  j                  sT|�|nd	|d   d<    | j                  dd|i|d   ¤Ž}d
|v r|j                  d
«      |d<   d|v r|j                  d«      |d<   nd }|�|j                  |«       |S )Nz*You have to specify either images or text.Útokenizer_init_kwargsr   r   Tr,   r   Úheader_textFÚattention_maskÚdecoder_attention_maskÚ	input_idsÚdecoder_input_idsr   )
Ú
ValueErrorÚ_merge_kwargsr   r*   Úinit_kwargsÚpopr)   Úis_vqaÚ
setdefaultÚupdate)r(   Úimagesr,   r-   Úoutput_kwargsr   Útext_encodingÚencoding_image_processors           r!   Ú__call__zPix2StructProcessor.__call__4   sÅ  € ð ˆ>˜d˜lÜÐIÓJÐJà*˜×*Ñ*Ü%ñ
à"&§.¡.×"<Ñ"<ð
ð ñ
ˆð
 +¨=Ñ9×=Ñ=Ð>RÐTXÓYÐàˆ> $×"6Ñ"6×"=Ò"=à&8Ð&DÑ"È$ð ˜-Ñ(Ð)=Ñ>ð +˜DŸN™NÑU°ÐU¸ÀmÑ8TÑUˆMØ Ð à×#Ñ#×*Ò*à'; t×';Ñ';¸FÑ'eÀmÐTcÑFdÑ'eÑ$ð ˜/Ñ*×5Ñ5°mÀTÔJØ'; t×';Ñ';¸FÑ'eÀmÐTcÑFdÑ'eÐ$àÐ D×$8Ñ$8×$?Ò$?à&8Ð&DÑ"È%ð ˜-Ñ(Ð)=Ñ>ð +˜DŸN™NÑU°ÐU¸ÀmÑ8TÑUˆMà =Ñ0Ø:G×:KÑ:KÐL\Ó:]�Ð6Ñ7Ø˜mÑ+Ø5B×5FÑ5FÀ{Ó5S�Ð1Ò2à ˆMàÐ$Ø$×+Ñ+¨MÔ:à'Ð'r    c                 ó@   — | j                   j                  }ddg}||z   S )Nr3   r5   )r)   Úmodel_input_names)r(   Úimage_processor_input_namesÚdecoder_idss      r!   rC   z%Pix2StructProcessor.model_input_namesf   s*   € à&*×&:Ñ&:×&LÑ&LÐ#Ø/Ð1DÐEˆØ*¨[Ñ8Ð8r    )NN)r   r   r   r'   r
   r	   r   Úlistr   r   r   r   rA   ÚpropertyrC   Ú__classcell__)r+   s   @r!   r$   r$   .   s|   ø„ ô5ð ð ØZ^ñ/(ð Ð+Ñ+¨d°9©oÑ=ÀÐEVÑ@WÑWð/(ð Ð2Ñ3ð	/(ð
 
˜Ñ	%ò/(ó ð/(ðb ñ9ó ô9r    r$   N)Ú__doc__Úfeature_extraction_utilsr   Úprocessing_utilsr   r   r   Útokenization_utils_baser   r   r	   Úutilsr
   r   r   Ú
get_loggerr   Úloggerr$   Ú__all__r   r    r!   ú<module>rQ      sg   ðñõ 5ß HÑ Hß RÑ Rß ,ôÐ 0¸õ ð& 
ˆ×	Ñ	˜HÓ	%€ð ô;9˜.ó ;9ó ð;9ð| !Ð
!�r    