
    Ngv                     t    d dl mZmZmZmZmZ d dlmZ d dlm	Z	 d dl
mZmZmZ d dlmZ  G d d          ZdS )	    )AnyIterableListOptionalTuple)settings)PDFSyntaxError)
list_value	int_value
dict_value)choplistc                       e Zd ZU dZdefdZdeeeef                  fdZ	eeeef                  e
d<   edeeeef                  fd            ZdS )	
NumberTreezDA PDF number tree.

    See Section 3.8.6 of the PDF Reference.
    objc                 L   t          |          | _        d | _        d | _        d | _        d| j        v rt          | j        d                   | _        d| j        v rt          | j        d                   | _        d| j        v r!t          | j        d                   | _        d S d S )NNumsKidsLimits)r   _objnumskidslimitsr
   )selfr   s     T/var/www/html/ai-engine/env/lib/python3.11/site-packages/pdfminer/data_structures.py__init__zNumberTree.__init__   s    sOO	-1	-1	/3TY"49V#455DITY"49V#455DIty  $TYx%899DKKK !     returnc                     g }| j         r?t          d| j                   D ])\  }}|                    t          |          |f           *| j        r.| j        D ]&}|t          |                                          z  }'|S )N   )r   r   appendr   r   r   _parse)r   itemskv	child_refs        r   r!   zNumberTree._parse   s    9 	0 DI.. 0 01illA.////9 	8!Y 8 8	I..55777r   valuesc           	          |                                  }t          j        r?t          d t	          ||dd                    D                       st          d          n|                    d            |S )Nc              3   @   K   | ]\  }}|d          |d          k    V  dS )r   N ).0abs      r   	<genexpr>z$NumberTree.values.<locals>.<genexpr>/   s2      HH1qtqt|HHHHHHr      z%Number tree elements are out of orderc                     | d         S )Nr   r)   )ts    r   <lambda>z#NumberTree.values.<locals>.<lambda>2   s
    ad r   )key)r!   r   STRICTallzipr	   sort)r   r&   s     r   r&   zNumberTree.values*   s}    ? 	,HHFF122J0G0GHHHHH N$%LMMMN KKNNK+++r   N)__name__
__module____qualname____doc__r   r   r   r   intr!   __annotations__propertyr&   r)   r   r   r   r   	   s          
:C : : : :
U38_- 
 
 
 
 sCx!!!!	U38_- 	 	 	 X	 	 	r   r   N)typingr   r   r   r   r   pdfminerr   pdfminer.pdfparserr	   pdfminer.pdftypesr
   r   r   pdfminer.utilsr   r   r)   r   r   <module>rC      s    7 7 7 7 7 7 7 7 7 7 7 7 7 7       - - - - - - ? ? ? ? ? ? ? ? ? ? # # # # # #+ + + + + + + + + +r   