Ë
    ÜÓ^jé  ã                   óf   — d Z ddlmZ ddlmZmZmZmZmZ ddl	m
Z
mZ e G d„ de«      «       ZdgZy)z!
Processor class for LayoutLMv3.
é   )ÚProcessorMixin)ÚBatchEncodingÚPaddingStrategyÚPreTokenizedInputÚ	TextInputÚTruncationStrategy)Ú
TensorTypeÚauto_docstringc            (       ón  ‡ — e Zd Zdˆ fd„	Ze	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddeez  ee   z  ee   z  deee   z  dz  deee      eeee         z  dz  dee   eee      z  dz  de	de	e
z  ez  d	e	e
z  ez  d
edz  dededz  de	dz  de	dz  de	de	de	de	de	de
ez  dz  def&d„«       Zd„ Zed„ «       Zˆ xZS )ÚLayoutLMv3ProcessorNc                 ó&   •— t         ‰| �  ||«       y )N)ÚsuperÚ__init__)ÚselfÚimage_processorÚ	tokenizerÚkwargsÚ	__class__s       €ú/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/transformers/models/layoutlmv3/processing_layoutlmv3.pyr   zLayoutLMv3Processor.__init__   s   ø€ Ü‰Ñ˜¨)Õ4ó    ÚtextÚ	text_pairÚboxesÚword_labelsÚadd_special_tokensÚpaddingÚ
truncationÚ
max_lengthÚstrideÚpad_to_multiple_ofÚreturn_token_type_idsÚreturn_attention_maskÚreturn_overflowing_tokensÚreturn_special_tokens_maskÚreturn_offsets_mappingÚreturn_lengthÚverboseÚreturn_tensorsÚreturnc                 ó.  — | j                   j                  r|�t        d«      ‚| j                   j                  r|�t        d«      ‚| j                  ||¬«      }|�0| j                   j                  r|€t        |t        «      r|g}|d   } | j
                  di d|�|n|d   “d|�|nd “d|�|n|d   “d|“d	|“d
|“d|“d|	“d|
“d|“d|“d|“d|“d|“d|“d|“d|“d|“|¤Ž}|j                  d«      }|du r| j                  ||d   «      }||d<   |S )NzdYou cannot provide bounding boxes if you initialized the image processor with apply_ocr set to True.zaYou cannot provide word labels if you initialized the image processor with apply_ocr set to True.)Úimagesr(   Úwordsr   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   Úpixel_valuesTÚoverflow_to_sample_mapping© )r   Ú	apply_ocrÚ
ValueErrorÚ
isinstanceÚstrr   ÚpopÚget_overflowing_images)r   r+   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r   ÚfeaturesÚencoded_inputss                          r   Ú__call__zLayoutLMv3Processor.__call__   sÂ  € ð0 ×Ñ×)Ò)¨uÐ/@ÜØvóð ð ×Ñ×)Ò)¨{Ð/FÜØsóð ð
 ×'Ñ'¨vÀnÐ'ÓUˆð Ð × 4Ñ 4× >Ò >À9ÐCTÜ˜$¤Ô$Ø�v�Ø  Ñ)ˆIà'˜Ÿ™ò 
ØÐ)‘¨x¸Ñ/@øð
à#,Ð#8‘i¸døð
ð !Ð,‘%°(¸7Ñ2Cøð
ñ $ð	
ñ
  2ð
ñ ð
ñ "ð
ñ "ð
ñ ð
ñ  2ð
ñ #8ð
ñ #8ð
ñ '@ð
ñ (Bð
ñ $:ð
ñ  (ð!
ñ" ð#
ñ$ *Øñ'
ˆð. —‘˜nÓ-ˆØ$¨Ñ,Ø×0Ñ0°¸ÐHdÑ9eÓfˆFØ)/ˆ�~Ñ&àÐr   c                 ó´   — g }|D ]  }|j                  ||   «       Œ t        |«      t        |«      k7  r#t        dt        |«      › dt        |«      › �«      ‚|S )Nz`Expected length of images to be the same as the length of `overflow_to_sample_mapping`, but got z and )ÚappendÚlenr1   )r   r+   r.   Úimages_with_overflowÚ
sample_idxs        r   r5   z*LayoutLMv3Processor.get_overflowing_imagese   sy   € à!ÐØ4ò 	<ˆJØ ×'Ñ'¨¨zÑ(:Õ;ð	<ô Ð#Ó$¬Ð,FÓ(GÒGÜðÜÐ,Ó-Ð.¨e´CÐ8RÓ4SÐ3TðVóð ð
 $Ð#r   c                 ó
   — g d¢S )N)Ú	input_idsÚbboxÚattention_maskr-   r/   )r   s    r   Úmodel_input_namesz%LayoutLMv3Processor.model_input_namess   s   € âFÐFr   )NN)NNNNTFNNé    NNNFFFFTN)Ú__name__Ú
__module__Ú__qualname__r   r
   r   r   ÚlistÚintÚboolr3   r   r   r	   r   r8   r5   ÚpropertyrB   Ú__classcell__)r   s   @r   r   r      sÑ  ø„ õ5ð ð [_ØHLØ@DØ:>Ø#'Ø05Ø6:Ø!%ØØ)-Ø-1Ø-1Ø*/Ø+0Ø',Ø#ØØ26ñ)Fð Ð+Ñ+¨d°9©oÑ=ÀÐEVÑ@WÑWðFð % tÐ,=Ñ'>Ñ>ÀÑEð	Fð
 �D˜‘I‰  d¨4°©9¡oÑ!6Ñ6¸Ñ=ðFð ˜#‘Y  d¨3¡i¡Ñ0°4Ñ7ðFð !ðFð ˜‘˜oÑ-ðFð ˜3‘JÐ!3Ñ3ðFð ˜$‘JðFð ðFð   $™JðFð  $ d™{ðFð  $ d™{ðFð $(ðFð  %)ð!Fð" !%ð#Fð$ ð%Fð& ð'Fð( ˜jÑ(¨4Ñ/ð)Fð, 
ò-Fó ðFòP$ð ñGó ôGr   r   N)Ú__doc__Úprocessing_utilsr   Útokenization_utils_baser   r   r   r   r   Úutilsr	   r
   r   Ú__all__r/   r   r   ú<module>rQ      sD   ðñõ /ß wÕ wß /ð ô]G˜.ó ]Gó ð]Gð@ !Ð
!�r   