
    Mi1              	       ~    S SK Jr  S SKrS SKJr  S SKJrJrJ	r	  SS\S\
4S jjrS rSS	\\\      S\S\
S
\	4S jjrg)    )ListN)sort_blocks)PageBboxTablespageimg_sizec           
         / nU S    GH  nUS    H  nUS    H  n[        S[        US   5      5       H  nUS   US-
     n	US   U   n
U S   S:X  a(  UR                  U
S   S	   U	S   S
   -
  US	   -  5        MG  U S   S:X  a(  UR                  U
S   S   U	S   S   -
  US   -  5        Mx  U S   S:X  a(  UR                  U	S   S	   U
S   S
   -
  US	   -  5        M  UR                  U	S   S   U
S   S   -
  US   -  5        M     M     M     GM
     [        U5      U:  a  [        R                  " US5      nU$ UnU$ )Nblockslinesspans   charsrotationZ   bboxr              P   )rangelenappendnp
percentile)r   r	   default_thresh	min_charsspace_distsblocklinespanichar1char2cell_gap_threshs               h/var/www/eduai.edurigo.com/storigo/production/storigo_env/lib/python3.13/site-packages/pdftext/tables.pyget_dynamic_gap_threshr(      s   Kh'NDWq#d7m"45A M!a%0E M!,EJ'2-#**E&M!,<uV}Q?O,OS[\]S^+^_j)S0#**E&M!,<uV}Q?O,OS[\]S^+^_j)S0#**E&M!,<uV}Q?O,OS[\]S^+^_#**E&M!,<uV}Q?O,OS[\]S^+^_ 6 & #   9<K8H98TbmmK4O [iO    c                   ^^ SUU4S jjnUS:X  a6  [        U" U S   US   SSS9U" U S   US   S5      U" U S   US   SSS	9/5      $ US
:X  a6  [        U" U S   US   SSS9U" U S   US   S5      U" U S   US   SSS	9/5      $ US:X  a6  [        U" U S   US   SSS9U" U S   US   S5      U" U S   US   SSS	9/5      $ [        U" U S   US   SSS9U" U S   US   S5      U" U S   US   SSS	9/5      $ )Nr   c                 P   > U(       a  [         OS nU" X-
  5      TU   -  TU-  :  $ )Nc                     U $ )N )xs    r'   <lambda>7is_same_span.<locals>.normalized_diff.<locals>.<lambda>   s    Qr)   )abs)ab	dimensionmultuse_absfuncr	   space_threshs         r'   normalized_diff%is_same_span.<locals>.normalized_diff   s,    s;AE{Xi00<$3FFFr)   r   r   F)r6   r      )r5   r   r   r   )r   T)all)r   curr_boxr	   r8   r   r9   s     ``  r'   is_same_spanr>      st   G G 2~DGXa[!UCDGXa[!4DGXa[!!<
  	
 
SDGXa[!UCDGXa[!4DGXa[!!<
  	
 
SDGXa[!UCDGXa[!4DGXa[!!<
  	 DGXa[!UCDGXa[!4DGXa[!!<
  	r)   tablesreturnc                 \   [        S U  5       5      (       d   S5       e[        U5      S:X  d   S5       e/ n[        U[        XUS95      nU  GH  n[	        US9n/ nUS   n	US    GH^  n
U
S	    GHP  n[	        US
   S9R                  X!5      nUR                  U5      U:  a  M6  S nS nUS    H  nUS    H  n[	        US
   S9R                  X!5      R                  nSnU(       a  [        UXXI5      nUc	  US   nUnMJ  U(       aP  UUS   -  n[        US   US   5      [        US   US   5      [        US   US   5      [        US   US   5      /nM  UR                  5       (       a  UR                  XS.5        US   nUnM     M     Uc  GM%  UR                  5       (       d  GM=  UR                  XS.5        GMS     GMa     U H<  nUS
   S   US   -
  US
   S   US   -
  US
   S   US   -
  US
   S   US   -
  /US
'   M>     [        U5      nUR                  U5        GM     U$ )Nc              3   >   #    U  H  n[        U5      S :H  v   M     g7f)   N)r   ).0tables     r'   	<genexpr>"table_cell_text.<locals>.<genexpr>>   s     3F5s5zQFs   zJTables must be a list of 4 ints representing the bounding box of the tabler   zQimg_size must be a list of 2 ints representing the image dimensions width, height)r   )r   r   r   r   r   r   r   Fcharr   r   r   )textr   )r<   r   maxr(   r   rescaleintersection_pctr   r>   minstripr   r   )r?   r   r	   table_threshr8   table_textsrE   
table_poly
table_textr   r    r!   	line_bbox	curr_spanr=   r"   rH   r   	same_spanitems                       r'   table_cell_textrW   ;   s~    3F333  B  6B  B3x=ArrrK|%;D[g%hiLu%


#(^Eg d6l3;;HK	--j9LH 	 MD $W#f6>>xNSS$)	$(4T8|(fI$,(,VI'+H&%f5I(+HQKa(A3xPQ{TXYZT[C\(+HQKa(A3xPQ{TXYZT[C\(^H  )00 * 1 192W X(,VI'+H# !. *& (Y__->->%%y&KL5 ' $: DVQ%(*VQ%(*VQ%(*VQ%(*	DL  !,
:&U V r)   ){Gz?d   )g?rX   )typingr   numpyr   pdftext.postprocessingr   pdftext.schemar   r   r   listr(   r>   intrW   r-   r)   r'   <module>r`      sV      . - -  (>3DcO 34 34 3ou 3r)   