
    w;3hV	                     f    d dl Z d dlmZ d Zd ZddZ G d d      Z G d d      Zd	 Z	d
 Z
d Zy)    Nc                     t        |       dk7  rt        d      t        d | D              st        d      | \  }}}}|r||||fn||||f}d}d}|D ]  }	||	|z  z  }|dz  } |S )N   z'Color must consist of exactly 4 values.c              3   <   K   | ]  }d |cxk  xr dk  nc   yw)r      N ).0cs     X/var/www/html/audio-gradio/venv/lib/python3.12/site-packages/pypdfium2/internal/utils.py	<genexpr>zcolor_tohex.<locals>.<genexpr>   s     ,qA}}},s   zColor value exceeds boundaries.r         )len
ValueErrorall)
colorrev_byteorderrgbachannelsc_colorshiftr	   s
             r
   color_tohexr      s    
5zQBCC,e,,:;; JAq!Q,1a|1aA,HGE 1:
 N    c                 P    t        | | t        t        | |            |             y N)setattrtypegetattr)structfnamecallbacks      r
   set_callbackr$      s"    FE94!79(CDr   c                      g }t        |      j                  t        d            sJ d|v r|g dz  }d|v r|dgz  }t         fd|D              S )Nrwr   )seektellreadreadintowwritec              3   J   K   | ]  }t        t        |d               y wr   )callabler    )r   r   bufs     r
   r   zis_buffer.<locals>.<genexpr>'   s     @1xQ-.@s    #)setissubsetr   )r/   specmethodss   `  r
   	is_bufferr4       sZ    Gt9s4y***
d{77
d{G9@@@@r   c                       e Zd Zd Zd Zy)_buffer_readerc                     || _         y r   bufferselfr9   s     r
   __init__z_buffer_reader.__init__,   	    r   c                     t        j                  |t        j                  t         j                  |z              }| j                  j                  |       | j                  j                  |j                         yN   )ctypescastPOINTERc_charr9   r'   r*   contents)r;   _positionp_bufsizec_bufs         r
   __call__z_buffer_reader.__call__/   sO    E6>>&--$2F#GH"U^^,r   N__name__
__module____qualname__r<   rK   r   r   r
   r6   r6   *   s    r   r6   c                       e Zd Zd Zd Zy)_buffer_writerc                     || _         y r   r8   r:   s     r
   r<   z_buffer_writer.__init__8   r=   r   c                     t        j                  |t        j                  t         j                  |z              }| j                  j                  |j                         yr?   )rA   rB   rC   c_ubyter9   r,   rE   )r;   rF   datarI   blocks        r
   rK   z_buffer_writer.__call__;   s=    D&..$1F"GH%..)r   NrL   r   r   r
   rQ   rQ   6   s    r   rQ   c                     | j                  dd      }| j                  d       t        j                         }||_        t	        |dt        |              d |_        |j                  f}||fS )Nr      
m_GetBlock)r'   pdfium_cFPDF_FILEACCESS	m_FileLenr$   r6   m_ParamrY   )r9   file_lenreaderto_holds       r
   get_bufreaderra   A   sc    {{1a H
KKN%%'FF~f'=>FN  #G7?r   c                 ^    t        j                  d      }t        |dt        |              |S )Nr@   )version
WriteBlock)rZ   FPDF_FILEWRITEr$   rQ   )r9   writers     r
   get_bufwriterrg   P   s(    $$Q/F~f'=>Mr   c                     | syt        |       }t        j                  |z  | D cg c]  }|j                   c} }||fS c c}w )N)Nr   )r   rZ   	FPDF_PAGEraw)pagescountpc_arrays       r
   pages_c_arrayro   V   sE    JE!!E)E,BqQUU,BCGE> -Cs   A )r   )rA   pypdfium2.rawrj   rZ   r   r$   r4   r6   rQ   ra   rg   ro   r   r   r
   <module>rq      sA      (EA	 	 r   