
    )i                         S SK JrJrJrJr  S SKJr  S SKJr  S SK	J
r
  S\\\4   S\4S jrS\S\4S	 jrS
\\\\4      S\\   4S jrS\S\4S jrS\S\\   4S jrS\S\4S jrg)    )AnyListOptionalUnion)	PDFObjRef)	PSLiteralPDFDocEncodingsreturnc                     [        U [        5      (       a&  U R                  S5      (       a  [        U SS SS5      $ S U  5       nSR	                  S U 5       5      $ )	z[
Decodes a PDFDocEncoding string to Unicode.
Adds py3 compatibility to pdfminer's version.
s      Nzutf-16beignorec              3   f   #    U  H'  n[        U[        5      (       a  [        U5      OUv   M)     g 7fN)
isinstancestrord).0cs     ]/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/pdfplumber/utils/pdfinternals.py	<genexpr>decode_text.<locals>.<genexpr>   s%     ;AjC((CFa/s   /1 c              3   4   #    U  H  n[         U   v   M     g 7fr   r	   )r   os     r   r   r      s     3d>!$ds   )r   bytes
startswithr   join)r   ordss     r   decode_textr!      sS    
 !U[ 9 91QR5*h//;;D773d333    objc                    [        U S5      (       a  U R                  5       n [        U [        5      (       a  [        [	        [
        U 5      5      $ [        U [        5      (       a  [        U R                  5      $ [        U [        [        45      (       a  [        U 5      $ [        U [        5      (       a(  U R                  5        H  u  p[        U5      X'   M     U $ U $ )z(Recursively resolve the metadata values.resolve)hasattrr%   r   listmapresolve_and_decoder   r!   namer   r   dictitems)r#   kvs      r   r)   r)      s    sIkkm#tC*C011	C	#	#388$$	C#u	&	&3	C		IIKDA'*CF  
Jr"   _listc                     U  Vs/ s H/  n[        U[        5      (       a  [        UR                  5      OUPM1     sn$ s  snf r   )r   r   r!   r*   )r/   values     r   decode_psl_listr2   %   sC     E $.eY#?#?EJJUJ  s   6>xc                 P    [        U [        5      (       a  U R                  5       $ U $ r   )r   r   r%   )r3   s    r   r%   r%   ,   s     !Yyy{r"   dc                     [        U [        5      (       d  g U R                  S5      n[        U[        5      (       a  [	        UR
                  5      $ U$ )NType)r   r+   getr   r!   r*   )r5   ts     r   get_dict_typer:   3   s@    a	fA!Y166""r"   c                    [        U [        5      (       a,  U R                  5       n[        U5      S:X  a  U $ [	        U5      $ [        U [
        [        45      (       a  [        U 5      " S U  5       5      $ [        U [        5      (       aJ  [        U 5      S:X  a  S/O/ nU R                  5        VVs0 s H  u  p4X3U;   a  UO
[	        U5      _M     snn$ U $ s  snnf )z>
Recursively resolves the given object and all the internals.
Pagec              3   8   #    U  H  n[        U5      v   M     g 7fr   )resolve_all)r   r.   s     r   r   resolve_all.<locals>.<genexpr>J   s     1q!{1~~qs   AnnotParent)
r   r   r%   r:   r>   r'   tupletyper+   r,   )r3   resolved
exceptionsr-   r.   s        r   r>   r>   =   s     !Y99; "f,H8$$	Ae}	%	%Aw1q111	At		#0#3w#>hZB
HI	R	Z1[^;	RR Ss   1CN)typingr   r   r   r   pdfminer.pdftypesr   pdfminer.psparserr   pdfminer.utilsr
   r   r   r!   r)   r2   r%   r:   r>    r"   r   <module>rK      s    - - ' ' )45$ 4 4C C $4in 56 49 s s S Xc] 3 3 r"   