ó
    �®žj™E  ã                   ó®  • S SK r S SKrS SKrS SKrS SKJrJr  S SKJr  S SK	J
r
  S SKJrJrJrJr  S SKJrJrJr  S SKJrJr  S SKJrJrJrJrJr  S S	KJrJr  S S
K J!r!J"r"  S SK#J$r$J%r%J&r&  S SK'J(r(  S SK)J*r*  S SK+J,r,  S SK-J.r.  S SK/J0r0  S SK1J2r2J3r3  S SK4J5r5  \Rl                  " \75      r8S\!S\9\:   4S jr; " S S\5      r< " S S\<5      r= " S S\=5      r>g)é    N)ÚABCÚabstractmethod)ÚIterable)ÚPath)ÚAnyÚCallableÚListÚOptional)ÚDocItemÚDoclingDocumentÚNodeItem)ÚAbstractDocumentBackendÚPaginatedDocumentBackend)ÚConversionStatusÚDoclingComponentTypeÚ	ErrorItemÚFailureCategoryÚPage)ÚChartExtractionModelKindÚChartExtractionModelOptions)ÚConversionResultÚInputDocument)ÚConvertPipelineOptionsÚPdfPipelineOptionsÚPipelineOptions)Úsettings)ÚGenericEnrichmentModel)Úget_picture_description_factory)ÚPictureDescriptionBaseModel)ÚDocumentPictureClassifier)ÚProfilingScopeÚTimeRecorder)ÚchunkifyÚconv_resÚreturnc           	      óÆ   • U R                   R                  R                  u  p[        [	        [        SU5      [        U R                   R                  U5      S-   5      5      $ )zIThe 1-based page numbers to convert, clipped to the requested page range.é   )ÚinputÚlimitsÚ
page_rangeÚlistÚrangeÚmaxÚminÚ
page_count)r$   Ú
start_pageÚend_pages      Ú[/home/mande/repo/quber/.venv/lib/python3.13/site-packages/docling/pipeline/base_pipeline.pyÚget_expected_page_nosr3   1   sR   € à#Ÿ>™>×0Ñ0×;Ñ;Ñ€JÜÜÜ��:ÓÜ�—‘×)Ñ)¨8Ó4°qÑ8ó	
óð ó    c                   ó.  • \ rS rSrS\4S jrS\S\S\4S jr	\
S\\\\4      S\4S	 j5       r\
S
\SS4S j5       r\S\S\4S j5       rS\S\4S jrS\S\4S jr\S\S\4S j5       rS\4S jr\\S\4S j5       5       r\\S\4S j5       5       rSrg)ÚBasePipelineé<   Úpipeline_optionsc                 ó¼  • Xl         SU l        / U l        / U l        S U l        UR                  b)  [        UR                  5      R                  5       U l        O=[        R                  b,  [        [        R                  5      R                  5       U l        U R                  b:  U R                  R                  5       (       d  [        SU R                  < S35      eg g )NFz!The value of self.artifacts_path=zf is not valid. When defined, it must point to a folder containing all models required by the pipeline.)
r8   Úkeep_imagesÚ
build_pipeÚenrichment_pipeÚartifacts_pathr   Ú
expanduserr   Úis_dirÚRuntimeError)Úselfr8   s     r2   Ú__init__ÚBasePipeline.__init__=   sÈ   € Ø 0ÔØ ˆÔØ*,ˆŒØBDˆÔà.2ˆÔØ×*Ñ*Ñ6Ü"&Ð'7×'FÑ'FÓ"G×"RÑ"RÓ"TˆDÕÜ×$Ñ$Ñ0Ü"&¤x×'>Ñ'>Ó"?×"JÑ"JÓ"LˆDÔà×ÑÑ*°4×3FÑ3F×3MÑ3M×3OÑ3OÜØ4 × 3Ñ 3Ñ5ð 6jð jóð ð 4PÐ*r4   Úin_docÚraises_on_errorr%   c                 ó�  • [        US9n[        R                  SUR                  R                   35         [        US[        R                  S9   U R                  U5      nU R                  U5      nU R                  U5      nU R                  U5      Ul        UR                  [        R                  :X  a&  UR                  (       a  [        R                   Ul        S S S 5        U R7                  U5        U$ ! , (       d  f       N!= f! ["         a›  n[        R$                  Ul        U(       dV  ['        [(        R*                  U R,                  R.                  [1        U5      S9nUR                  R3                  U5         S nAN [5        SU R,                  R.                   S35      UeS nAff = f! U R7                  U5        f = f)N)r(   zProcessing document Úpipeline_total©Úscope)Úcomponent_typeÚmodule_nameÚerror_messagez	Pipeline z failed)r   Ú_logÚinfoÚfileÚnamer"   r!   ÚDOCUMENTÚ_build_documentÚ_assemble_documentÚ_enrich_documentÚ_determine_statusÚstatusr   ÚSUCCESSÚerrorsÚPARTIAL_SUCCESSÚ	ExceptionÚFAILUREr   r   ÚPIPELINEÚ	__class__Ú__name__ÚstrÚappendr@   Ú_unload)rA   rD   rE   r$   ÚeÚ
error_items         r2   ÚexecuteÚBasePipeline.executeO   sg  € Ü#¨&Ñ1ˆä�	‰	Ð(¨¯©×)9Ñ)9Ð(:Ð;Ô<ð	#ÜØÐ*´.×2IÑ2Ióð
  ×/Ñ/°Ó9�Ø×2Ñ2°8Ó<�à×0Ñ0°Ó:�Ø"&×"8Ñ"8¸Ó"B�”ð —?‘?Ô&6×&>Ñ&>Ó>À8Ç?Ç?Ü&6×&FÑ&F�H”O÷ð4 �L‰L˜Ô"àˆ÷9õ ûô ó 
	XÜ.×6Ñ6ˆHŒOÞ"Ü&Ü#7×#@Ñ#@Ø $§¡× 7Ñ 7Ü"% a£&ñ�
ð
 —‘×&Ñ& z×2Ñ2ä" Y¨t¯~©~×/FÑ/FÐ.GÀwÐ#OÓPÐVWÐWûð
	Xûð �L‰L˜Õ"úsU   ·D
 ÁBC9ÃD
 Ã9
DÄD
 ÄF2 ÄD
 Ä

F/ÄA-F*ÆF2 Æ$F*Æ*F/Æ/F2 Æ2GÚpage_documentsc                 óz  • U (       d	  [        SS9$ [         R                  " U  VVs/ s H  u  pUPM	     snnS9n[        [        UR                  5      U 5       VVVs0 s H
  u  nu  pQXE_M     nnnnUR                  R                  5        VVs0 s H
  u  pxXg   U_M     snnUl        UR                  R                  5        H  u  pxXxl        M     UR                  5        HB  u  pš[        U	[        5      (       d  M  U	R                   H  nXkR                     Ul        M     MD     U$ s  snnf s  snnnf s  snnf )NÚ )rP   )Údocs)r   ÚconcatenateÚzipÚsortedÚpagesÚitemsÚpage_noÚiterate_itemsÚ
isinstancer   Úprov)rf   Ú_Úpage_documentÚdocumentÚcurrent_page_noÚrequested_page_noÚpage_no_mapro   Ú	page_itemÚitemÚ_levelÚ
provenances               r2   Ú_concatenate_page_documentsÚ(BasePipeline._concatenate_page_documentsr   s/  € ö Ü"¨Ñ+Ð+ä"×.Ò.Ù8FÔGºÑ$4 A“-¹ÒGñ
ˆô
 <?Ü�x—~‘~Ó&¨ô<õ
ò<Ñ7�Ñ!7Ð"3ð Ò.ñ<ð 	ò 
ð '/§n¡n×&:Ñ&:Ô&<ô
â&<Ñ"�ð Ñ  )Ò+Ù&<ò
ˆŒð #+§.¡.×"6Ñ"6Ö"8ÑˆGØ 'Öñ #9à$×2Ñ2Ö4‰LˆDÜ˜$¤×(Ó(Ø"&§)¤)�JØ)4×5GÑ5GÑ)H�JÖ&ó #,ñ 5ð ˆùó% Hùô
ùó
s   ¦D*
ÁD0ÂD7ÚpageNc                 ó|   • U R                   b!  U R                   R                  5         S U l         0 U l        S U l        g ©N)Ú_backendÚunloadÚ_image_cacheÚparsed_page)r   s    r2   Ú_release_page_resourcesÚ$BasePipeline._release_page_resourcesŽ   s3   € à�=‰=Ñ$Ø�M‰M× Ñ Ô"Ø ˆDŒMØˆÔØˆÕr4   r$   c                 ó   • g r�   © ©rA   r$   s     r2   rR   ÚBasePipeline._build_document–   ó   € àr4   c                 ó   • U$ r�   r‰   rŠ   s     r2   rS   ÚBasePipeline._assemble_documentš   s   € Øˆr4   c                 óT  • S[         S[        [           S[        [           4S jn[        US[        R                  S9   U R                   H>  n[        U" X5      UR                  5       H  nU" UR                  US9 H  nM     M     M@     S S S 5        U$ ! , (       d  f       U$ = f)Nr$   Úmodelr%   c              3   ó‚   #   • U R                   R                  5        H  u  p#UR                  XS9nUc  M  Uv •  M     g 7f)N)r$   Úelement)ru   rp   Úprepare_element)r$   r�   Údoc_elementr{   Úprepared_elements        r2   Ú_prepare_elementsÚ8BasePipeline._enrich_document.<locals>._prepare_elementsž   sK   é € ð (0×'8Ñ'8×'FÑ'FÖ'HÑ#�Ø#(×#8Ñ#8Ø%ð $9ð $Ð ð $Ó/Ø*Ô*ò (Iùs   ‚0?¶	?Ú
doc_enrichrH   )ÚdocÚelement_batch)r   r   r   r   r   r"   r!   rQ   r<   r#   Úelements_batch_sizeru   )rA   r$   r–   r�   rš   r’   s         r2   rT   ÚBasePipeline._enrich_document�   s¬   € ð	+Ü&ð	+Ü/EÄcÑ/Jð	+ä”hÑô	+ô ˜( L¼×8OÑ8OÓPØ×-Ô-�Ü%-Ù% hÓ6Ø×-Ñ-ö&�Mñ $)Ø$×-Ñ-¸]ô$˜ñ ó$ó	&ñ .÷ Qð ˆ÷ QÔPð ˆús   ¿ABÂ
B'c                 ó   • g r�   r‰   rŠ   s     r2   rU   ÚBasePipeline._determine_statusµ   rŒ   r4   c                 ó   • g r�   r‰   rŠ   s     r2   ra   ÚBasePipeline._unload¹   s   € Ør4   c                 ó   • g r�   r‰   ©Úclss    r2   Úget_default_optionsÚ BasePipeline.get_default_options¼   ó   € ð 	r4   Úbackendc                 ó   • g r�   r‰   )r£   r§   s     r2   Úis_backend_supportedÚ!BasePipeline.is_backend_supportedÁ   r¦   r4   )r=   r;   r<   r:   r8   )r^   Ú
__module__Ú__qualname__Ú__firstlineno__r   rB   r   Úboolr   rd   Ústaticmethodr+   ÚtupleÚintr   r}   r   r†   r   rR   rS   rT   r   rU   ra   Úclassmethodr¤   r   r©   Ú__static_attributes__r‰   r4   r2   r6   r6   <   sE  † ð¨ô ð$!˜mð !¸dð !ÐGWô !ðF ðØ˜U 3¨Ð#7Ñ8Ñ9ðà	óó ðð6 ð  dð  ¨tó  ó ð ð ðÐ(8ð Ð=Mó ó ððÐ+;ð Ð@Pô ðÐ)9ð Ð>Nô ð0 ðÐ*:ð Ð?Oó ó ððÐ 0ô ð Øð Oó ó ó ðð ØðÐ+Bó ó ó ór4   r6   c                   óv   ^ • \ rS rSrS\4U 4S jjr S	S\\   S\\   4S jjr	\
\S\4S j5       5       rSrU =r$ )
ÚConvertPipelineéÇ   r8   c           
      óô  >• [         TU ]  U5        U   UR                  =(       d    UR                  nU R	                  U R
                  S9=n c#  [        SUR                  R                   S35      e[        UU R
                  UR                  UR                  UR                  S9U/U l        UR                  (       aº  SSKJnJn  U R                  R#                  U" UR$                  R&                  [(        R*                  :H  U R
                  UR$                  UR                  S9U" UR$                  R&                  [(        R,                  :H  U R
                  UR$                  UR                  S9/5        g g )N)r=   z9The specified picture description kind is not supported: Ú.)Úenabledr=   ÚoptionsÚaccelerator_optionsÚenable_remote_servicesr   )Ú!ChartExtractionModelGraniteVisionÚ#ChartExtractionModelGraniteVisionV4)r¹   r=   rº   r»   )ÚsuperrB   Údo_picture_classificationÚdo_chart_extractionÚ_get_picture_description_modelr=   r@   Úpicture_description_optionsÚkindr    Úpicture_classification_optionsr»   r¼   r<   Ú5docling.models.stages.chart_extraction.granite_visionr½   r¾   ÚextendÚchart_extraction_optionsr�   r   ÚGRANITE_VISIONÚGRANITE_VISION_V4)rA   r8   rÀ   Úpicture_description_modelr½   r¾   r]   s         €r2   rB   ÚConvertPipeline.__init__È   sˆ  ø€ Ü‰ÑÐ)Ô*Ùð
 ×6Ñ6÷ 4Ø×3Ñ3ð 	"ð *.×)LÑ)LØ#×2Ñ2ð *Mð *ð Ð%ð ñ	ô
 ØKÐL\×LxÑLx×L}ÑL}ÐK~Ð~ð  Aóð ô &Ø1Ø#×2Ñ2Ø(×GÑGØ$4×$HÑ$HØ'7×'NÑ'Nñð &ð 
ˆÔð  ×/×/÷ð
 × Ñ ×'Ñ'á5à,×EÑE×KÑKÜ7×FÑFñGð (,×':Ñ':Ø 0× IÑ IØ,<×,PÑ,Pññ 8à,×EÑE×KÑKÜ7×IÑIñJð (,×':Ñ':Ø 0× IÑ IØ,<×,PÑ,Pñðõð 0r4   r=   r%   c                 ó  • [        U R                  R                  S9nUR                  U R                  R                  U R                  R
                  U R                  R                  UU R                  R                  S9$ )N)Úallow_external_plugins)rº   r¹   r¼   r=   r»   )r   r8   rÎ   Úcreate_instancerÃ   Údo_picture_descriptionr¼   r»   )rA   r=   Úfactorys      r2   rÂ   Ú.ConvertPipeline._get_picture_description_model  sv   € ô 2Ø#'×#8Ñ#8×#OÑ#Oñ
ˆð ×&Ñ&Ø×)Ñ)×EÑEØ×)Ñ)×@Ñ@Ø#'×#8Ñ#8×#OÑ#OØ)Ø $× 5Ñ 5× IÑ Ið 'ð 
ð 	
r4   c                 ó   • g r�   r‰   r¢   s    r2   r¤   Ú#ConvertPipeline.get_default_options  r¦   r4   )r<   r�   )r^   r«   r¬   r­   r   rB   r
   r   r   rÂ   r²   r   r¤   r³   Ú__classcell__©r]   s   @r2   rµ   rµ   Ç   s[   ø† ðBÐ)?÷ BðJ 04ñ
Ø& t™nð
à	Ð-Ñ	.õ
ð ØðÐ$:ó ó ó ör4   rµ   c                   ó¨   ^ • \ rS rSrS\4U 4S jjrS\S\\   S\\   4S jr	S\S\4S jr
S\S\4S	 jrS\S\4S
 jr\S\S\S\4S j5       rSrU =r$ )ÚPaginatedPipelinei   r8   c                 ó2   >• [         TU ]  U5        SU l        g )NF)r¿   rB   Úkeep_backend)rA   r8   r]   s     €r2   rB   ÚPaginatedPipeline.__init__!  s   ø€ Ü‰ÑÐ)Ô*Ø!ˆÕr4   r$   Ú
page_batchr%   c              #   óZ   #   • U R                    H  nU" X5      nM     U S h  v•N   g  N7fr�   )r;   )rA   r$   rÜ   r�   s       r2   Ú_apply_on_pagesÚ!PaginatedPipeline._apply_on_pages%  s*   é € ð —_”_ˆEÙ˜xÓ4ŠJñ %ð ×Óùs   ‚!+£)¤+c                 óp	  • [        UR                  R                  [        5      (       dM  [	        S[        UR                  R                  5      R                   SUR                  R                   S35      eSn[        US[        R                  S9   [        UR                  R                  5       Hc  nUR                  R                  R                  u  pEUS-
  Us=::  a  US-
  ::  d  M:  O  M>  UR                  R!                  [#        US-   S95        Me      S	n[%        UR                  [&        R(                  R*                  5       GH(  n[,        R.                  " 5       n[1        [2        R4                  " U R6                  U5      U5      n	U R9                  X5      n
U
 Hš  nU R:                  (       d  0 Ul        U R>                  (       d'  UR                  b  UR                  RA                  5         [        U RB                  [D        5      (       d  Mt  U RB                  RF                  (       a  M‘  U?$S Ul$        Mœ     [,        R.                  " 5       nX,U-
  -  nU RB                  RJ                  bÀ  X RB                  RJ                  :”  a§  S
U RB                  RJ                  S SUS SU S[M        UR                  5       S3	n[N        RQ                  U5        [S        [T        RV                  SU[X        RZ                  S9nUR\                  R!                  U5        [^        R`                  Ul1          OFU[M        U5      -  n[N        Re                  SU S[M        UR                  5       SUS 35        GM+      [M        UR                  5      nUR                   Vs/ s H  nURt                  c  M  UPM     snUl        [M        UR                  5      U:  a/  [N        Rw                  SU[M        UR                  5      -
   S35        S S S 5        U$ ! [f         a„  n[^        Rh                  Ul1        SRk                  [l        Rn                  " [        U5      XÿRp                  5      5      n[N        RQ                  SUR                  Rr                   SU 35        UeS nAff = fs  snf ! , (       d  f       U$ = f)NzThe selected backend z for z� is not a paginated backend. Can not convert this with a paginated PDF pipeline. Please check your format configuration on DocumentConverter.g        Ú	doc_buildrH   r'   )ro   r   z&Document processing timeout: exceeded z.3fzs limit after zs. Processed Ú/z pages.Úbase_pipeline)rJ   rK   rL   ÚcategoryzFinished converting pages z time=Ú
z3Encountered an error during conversion of document z:
zFiltered out z: uninitialized pages due to timeout or processing failures)<rq   r(   r‚   r   r@   Útyper^   rO   r"   r!   rQ   r,   r/   r)   r*   rm   r`   r   r#   r   ÚperfÚpage_batch_sizeÚtimeÚ	monotonicÚmapÚ	functoolsÚpartialÚinitialize_pagerÞ   r:   r„   rÚ   rƒ   r8   r   Úgenerate_parsed_pagesr…   Údocument_timeoutÚlenrM   Úwarningr   r   r\   r   ÚTIMEOUTrX   r   rY   rV   ÚdebugrZ   r[   ÚjoinÚ	tracebackÚformat_exceptionÚ__traceback__Údocument_hashÚsizerN   )rA   r$   Útotal_elapsed_timeÚir0   r1   Útotal_pages_processedrÜ   Ústart_batch_timeÚ
init_pagesÚpipeline_pagesÚpÚend_batch_timeÚtimeout_msgÚtimeout_errorrb   ÚtraceÚinitial_page_countr   s                      r2   rR   Ú!PaginatedPipeline._build_document-  s	  € Ü˜(Ÿ.™.×1Ñ1Ô3K×LÑLÜØ'¬¨X¯^©^×-DÑ-DÓ(E×(NÑ(NÐ'OÈuÐU]×UcÑUc×UhÑUhÐTið jOð Póð ð !ÐÜ˜( K´~×7NÑ7NÓOÜ˜8Ÿ>™>×4Ñ4Ö5�Ø'/§~¡~×'<Ñ'<×'GÑ'GÑ$�
Ø ‘N qÕ:¨X¸©\×:Ñ:Ø—N‘N×)Ñ)¬$°q¸1±uÑ*=Ö>ñ 6ð
CØ()Ð%ä"*Ø—N‘N¤H§M¡M×$AÑ$A÷#�Jô (,§~¢~Ó'7Ð$ô "%Ü!×)Ò)¨$×*>Ñ*>ÀÓIÈ:ó"�Jð
 &*×%9Ñ%9¸(Ó%O�Nã+˜à#×/×/Ø-/˜AœNð  $×0×0°Q·Z±ZÑ5KØŸJ™J×-Ñ-Ô/ä& t×'<Ñ'<Ô>P×QÓQØ$(×$9Ñ$9×$O×$OÑ$Oà ! Ø,0˜AžMñ ,ô &*§^¢^Ó%5�NØ&Ð;KÑ*KÑKÐ&à×-Ñ-×>Ñ>ÑJØ.×1FÑ1F×1WÑ1WÓWð EÀT×EZÑEZ×EkÑEkÐloÐDpð q%Ø%7¸Ð$<¸MÐJ_ÐI`Ð`aÔbeÐfn×ftÑftÓbuÐavÐv}ðð $ô Ÿ™ [Ô1ô )2Ü+?×+HÑ+HØ(7Ø*5Ü%4×%<Ñ%<ñ	)˜ð !Ÿ™×.Ñ.¨}Ô=Ü*:×*JÑ*J˜œÙØ)¬S°«_Ñ<Ð)Ü—J‘JØ4Ð5JÐ4KÈ1ÌSÐQY×Q_ÑQ_ÓM`ÐLaÐagÐhvÐwzÐg{Ð|÷òg#ôH "% X§^¡^Ó!4ÐØ/7¯~ª~ÓWª~ tÀÇÁŸd©~ÑWˆHŒNä�8—>‘>Ó"Ð%7Ó7Ü—	‘	Ø#Ð$6¼¸X¿^¹^Ó9LÑ$LÐ#Mð N<ð =ô÷c Pðl ˆøô- ó 	Ü"2×":Ñ":�”ØŸ	™	Ü×.Ò.¬t°A«w¸¿?¹?ÓKó�ô —‘ØIÈ(Ï.É.×JfÑJfÐIgÐgjØ�gðôð �ûð	üò X÷] PÔOðl ˆúsf   ÂAR&Ã,-R&ÄC7PÈPÈ2C?PÌ1R&Ì2APÍ7$R&ÎR!Î0R!Î6AR&Ð
RÐA?RÒRÒR&Ò&
R5c                 óü   • UR                    H,  nUR                  c  M  UR                  R                  5         M.     UR                  R                  (       a$  UR                  R                  R                  5         U$ r�   )rm   r‚   rƒ   r(   ©rA   r$   r   s      r2   ra   ÚPaginatedPipeline._unload�  sT   € Ø—N”NˆDØ�}‰}Ó(Ø—‘×$Ñ$Ö&ñ #ð �>‰>×"×"Ø�N‰N×#Ñ#×*Ñ*Ô,àˆr4   c                 óú  • UR                   nU[        R                  [        R                  4;   a  [        R                  nUR
                   Hª  nUR                  b!  UR                  R                  5       (       a  M1  UR                  R                  [        [        R                  [        UR                  5      R                  S[        R                   UR"                  S95        [        R$                  nM¬     U$ )NzPage failed to parse.)rJ   rK   rL   rä   ro   )rV   r   ÚPENDINGÚSTARTEDrW   rm   r‚   Úis_validrX   r`   r   r   ÚDOCUMENT_BACKENDræ   r^   r   ÚBACKEND_FAILUREro   rY   )rA   r$   rV   r   s       r2   rU   Ú#PaginatedPipeline._determine_statusš  s½   € Ø—‘ˆØÜ×$Ñ$Ü×$Ñ$ð
ó 
ô &×-Ñ-ˆFà—N”NˆDØ�}‰}Ñ$¨D¯M©M×,BÑ,B×,DÓ,DØ—‘×&Ñ&ÜÜ';×'LÑ'LÜ$(¨¯©Ó$7×$@Ñ$@Ø&=Ü!0×!@Ñ!@Ø $§¡ñôô *×9Ñ9’ñ #ð ˆr4   r   c                 ó   • g r�   r‰   r	  s      r2   rî   Ú!PaginatedPipeline.initialize_page²  rŒ   r4   )rÚ   )r^   r«   r¬   r­   r   rB   r   r   r   rÞ   rR   ra   r   rU   r   rî   r³   rÕ   rÖ   s   @r2   rØ   rØ      s¢   ø† ð"Ð)?÷ "ðØ(ðØ6>¸t±nðà	�$‰ôðaÐ(8ð aÐ=Mô aðFÐ 0ð Ð5Eô ðÐ*:ð Ð?Oô ð0 ðÐ(8ð Àð Èó ó ör4   rØ   )?rì   Úloggingré   rö   Úabcr   r   Úcollections.abcr   Úpathlibr   Útypingr   r   r	   r
   Údocling_core.types.docr   r   r   Ú docling.backend.abstract_backendr   r   Údocling.datamodel.base_modelsr   r   r   r   r   Ú*docling.datamodel.chart_extraction_optionsr   r   Údocling.datamodel.documentr   r   Ú"docling.datamodel.pipeline_optionsr   r   r   Údocling.datamodel.settingsr   Údocling.models.base_modelr   Údocling.models.factoriesr   Ú-docling.models.picture_description_base_modelr   ÚDdocling.models.stages.picture_classifier.document_picture_classifierr    Údocling.utils.profilingr!   r"   Údocling.utils.utilsr#   Ú	getLoggerr^   rM   r+   r±   r3   r6   rµ   rØ   r‰   r4   r2   Ú<module>r'     s¼   ðó Û Û Û ß #Ý $Ý ß 0Ó 0ç EÑ E÷÷õ ÷÷ G÷ñ õ
 0Ý <Ý DÝ Uõ÷ AÝ (à×Ò˜Ó"€ðÐ$4ð ¸¸c¹ô ôH�3ô HôVV�lô VôrT˜õ Tr4   