
    ;3h"                        U d dl Z d dlZd dlZd dlmZ d dlmZmZmZm	Z	m
Z
mZ ej                  dk\  rd dlmZ nd dlmZ eeeddf   Z	 	 d dlZd	ZdZ G d de	      Z G d de	      Z G d de	      Z G d de
d
      Z G d d      Z ee      Zeed<   deddfdZ	 	 d&dee   de de!fdZ" G d d      Z# G d  d!e#      Z$ G d" d#e#      Z% G d$ d%      Z&y# e$ r d dlZY w xY w# e$ r d
ZY w xY w)'    N)Executor)AnyFinalOptionalProtocol	TypedDictcast)      )Buffer)Unionzmemoryview[int]zmemoryview[bytes]TFi   c                   .    e Zd ZdedefdZddedefdZy)ZLibCompressObjProtocoldatareturnc                      y N selfr   s     Y/var/www/html/audio-gradio/venv/lib/python3.12/site-packages/aiohttp/compression_utils.pycompressz ZLibCompressObjProtocol.compress           modec                     y r   r   r   r   s     r   flushzZLibCompressObjProtocol.flush   r   r   N.)__name__
__module____qualname__r   bytesr   intr   r   r   r   r   r      s    2V225#555r   r   c                   J    e Zd Zd	dededefdZd	dedefdZede	fd       Z
y)
ZLibDecompressObjProtocolr   
max_lengthr   c                      y r   r   r   r   r'   s      r   
decompressz$ZLibDecompressObjProtocol.decompress!   r   r   lengthc                     y r   r   r   r+   s     r   r   zZLibDecompressObjProtocol.flush"   r   r   c                      y r   r   r   s    r   eofzZLibDecompressObjProtocol.eof$   s    r   Nr   )r    r!   r"   r   r$   r#   r*   r   propertyboolr0   r   r   r   r&   r&       s4    KvK3KK7C7U7T r   r&   c                       e Zd ZU eed<   eed<   eed<   eed<   eed<   	 	 	 	 	 	 ddededed	ed
edee   defdZ	 ddedede	fdZ
	 ddedededefdZ	 ddedededefdZy)ZLibBackendProtocol	MAX_WBITSZ_FULL_FLUSHZ_SYNC_FLUSHZ_BEST_SPEEDZ_FINISHlevelmethodwbitsmemLevelstrategyzdictr   c                      y r   r   )r   r:   r;   r<   r=   r>   r?   s          r   compressobjzZLibBackendProtocol.compressobj/   s     #&r   c                      y r   r   )r   r<   r?   s      r   decompressobjz!ZLibBackendProtocol.decompressobj8   s    $'r   r   c                     y r   r   )r   r   r:   r<   s       r   r   zZLibBackendProtocol.compress<       r   bufsizec                     y r   r   )r   r   r<   rF   s       r   r*   zZLibBackendProtocol.decompress?   rE   r   N)......)..)r    r!   r"   r$   __annotations__r   r   r   rA   r&   rC   r#   r   r*   r   r   r   r4   r4   (   s    NM "%&& & 	&
 & & & 
!& 14(('-(	"(
 ?B&)8;	 AD&):=	r   r4   c                   ,    e Zd ZU eed<   eed<   eed<   y)CompressObjArgsr<   r>   r:   N)r    r!   r"   r$   rH   r   r   r   rJ   rJ   D   s    JMJr   rJ   )totalc                      e Zd ZdefdZedefd       Zedefd       Z	edefd       Z
edefd       Zedefd       Zedefd	       Zd
ededefdZd
ededefdZded
ededefdZded
ededefdZdedefdZy)ZLibBackendWrapper_zlib_backendc                     || _         y r   )rN   )r   rN   s     r   __init__zZLibBackendWrapper.__init__K   s
    2?r   r   c                 0    t        | j                  dd      S )Nr    	undefinedgetattrrN   r/   s    r   namezZLibBackendWrapper.nameN   s    t)):{CCr   c                 .    | j                   j                  S r   )rN   r5   r/   s    r   r5   zZLibBackendWrapper.MAX_WBITSR   s    !!+++r   c                 .    | j                   j                  S r   )rN   r6   r/   s    r   r6   zZLibBackendWrapper.Z_FULL_FLUSHV       !!...r   c                 .    | j                   j                  S r   )rN   r7   r/   s    r   r7   zZLibBackendWrapper.Z_SYNC_FLUSHZ   rX   r   c                 .    | j                   j                  S r   )rN   r8   r/   s    r   r8   zZLibBackendWrapper.Z_BEST_SPEED^   rX   r   c                 .    | j                   j                  S r   )rN   r9   r/   s    r   r9   zZLibBackendWrapper.Z_FINISHb   s    !!***r   argskwargsc                 :     | j                   j                  |i |S r   )rN   rA   r   r\   r]   s      r   rA   zZLibBackendWrapper.compressobjf   s     -t!!--t>v>>r   c                 :     | j                   j                  |i |S r   )rN   rC   r_   s      r   rC   z ZLibBackendWrapper.decompressobji   s     /t!!//@@@r   r   c                 B     | j                   j                  |g|i |S r   )rN   r   r   r   r\   r]   s       r   r   zZLibBackendWrapper.compressl   s%    *t!!**4A$A&AAr   c                 B     | j                   j                  |g|i |S r   )rN   r*   rb   s       r   r*   zZLibBackendWrapper.decompresso   s%    ,t!!,,TCDCFCCr   attrnamec                 .    t        | j                  |      S r   rS   )r   rd   s     r   __getattr__zZLibBackendWrapper.__getattr__s   s    t))844r   N)r    r!   r"   r4   rP   r1   strrU   r$   r5   r6   r7   r8   r9   r   r   rA   r&   rC   r   r#   r   r*   rf   r   r   r   rM   rM   J   sO   @&9 @ Dc D D ,3 , , /c / / /c / / /c / / +# + +? ? ?8O ?A3 A# A:S ABV BC B3 B5 BDv Dc DS DU D5C 5C 5r   rM   ZLibBackendnew_zlib_backendr   c                     | t         _        y r   )rh   rN   )ri   s    r   set_zlib_backendrk   z   s
     0Kr   encodingsuppress_deflate_headerc                 x    | dk(  rdt         j                  z   S |rt         j                   S t         j                  S )Ngzip   )rh   r5   )rl   rm   s     r   encoding_to_moderq   ~   s9     6K))))%<K!!!W+BWBWWr   c                   2    e Zd Zdefdedee   dee   fdZy)ZlibBaseHandlerNr   executormax_sync_chunk_sizec                 .    || _         || _        || _        y r   )_mode	_executor_max_sync_chunk_size)r   r   rt   ru   s       r   rP   zZlibBaseHandler.__init__   s     
!$7!r   )r    r!   r"   MAX_SYNC_CHUNK_SIZEr$   r   r   rP   r   r   r   rs   rs      s4     (,-@	88 8$8 &c]	8r   rs   c                        e Zd Zddddddefdee   dedee   dee   dee   dee   d	ee   f fd
Z	de
de
fdZde
de
fdZddee   de
fdZ xZS )ZLibCompressorNFrl   rm   r:   r<   r>   rt   ru   c                 4   t         	|   |t        ||      n|||       t        t        j
                        | _        i }| j                  |d<   |||d<   |||d<    | j
                  j                  di || _        t        j                         | _        y )Nr   rt   ru   r<   r>   r:   r   )superrP   rq   rM   rh   rN   rw   rA   _compressorasyncioLock_compress_lock)
r   rl   rm   r:   r<   r>   rt   ru   r]   	__class__s
            r   rP   zZLibCompressor.__init__   s     	 = !+BC 3 	 	
 %7{7P7P$Q"$**w!)F:#F7O94--99CFC%llnr   r   r   c                 8    | j                   j                  |      S r   )r   r   r   s     r   compress_synczZLibCompressor.compress_sync   s    ((..r   c                   K   | j                   4 d{    | j                  tt        |      | j                  kD  r\t        j                         j                  | j                  | j                  j                  |       d{   cddd      d{    S | j                  |      cddd      d{    S 7 7 97 +7 # 1 d{  7  sw Y   yxY ww)aC  Compress the data and returned the compressed bytes.

        Note that flush() must be called after the last call to compress()

        If the data size is large than the max_sync_chunk_size, the compression
        will be done in the executor. Otherwise, the compression will be done
        in the event loop.
        N)
r   ry   lenr   get_running_looprun_in_executorrx   r   r   r   r   s     r   r   zZLibCompressor.compress   s      && 	, 	, ))5I 9 99$557GGNND$4$4$=$=t 	, 	, 	, %%d+	, 	, 	,	, 	, 	, 	, 	,su   CB:CA+CB<CCB>CC(C4C 5C<C>C CCC	CCr   c                 p    | j                   j                  ||      S | j                  j                        S r   )r   r   rN   r9   r   s     r   r   zZLibCompressor.flush   s<    %%$D
 	
*.*<*<*E*E
 	
r   r   )r    r!   r"   rz   r   rg   r2   r$   r   rP   r#   r   r   r   __classcell__r   s   @r   r|   r|      s     #'(-##"&'+-@-3-- "&- }	-
 }- 3-- 8$- &c]-</% /E /,5 ,U ,.
(3- 
5 
r   r|   c            
            e Zd Zdddefdee   dedee   dee   f fdZ	dde
d	ed
e
fdZdde
d	ed
e
fdZdded
e
fdZed
efd       Z xZS )ZLibDecompressorNFrl   rm   rt   ru   c                     t         |   t        ||      ||       t        t        j
                        | _        | j
                  j                  | j                        | _        y )Nr~   )r<   )	r   rP   rq   rM   rh   rN   rC   rw   _decompressor)r   rl   rm   rt   ru   r   s        r   rP   zZLibDecompressor.__init__   s]     	!(,CD 3 	 	

 %7{7P7P$Q!//==DJJ=Or   r   r'   r   c                 :    | j                   j                  ||      S r   )r   r*   r)   s      r   decompress_syncz ZLibDecompressor.decompress_sync   s    !!,,T:>>r   c                   K   | j                   dt        |      | j                   kD  rLt        j                         j	                  | j
                  | j                  j                  ||       d{   S | j                  ||      S 7 w)zDecompress the data and return the decompressed bytes.

        If the data size is large than the max_sync_chunk_size, the decompression
        will be done in the executor. Otherwise, the decompression will be done
        in the event loop.
        N)	ry   r   r   r   r   rx   r   r*   r   r)   s      r   r*   zZLibDecompressor.decompress   sz      %%1D	D555 113CC 2 2 = =tZ   ##D*55s   A,B.B/Br+   c                 v    |dkD  r| j                   j                  |      S | j                   j                         S )Nr   )r   r   r-   s     r   r   zZLibDecompressor.flush   s?     z $$V,	
 ##))+	
r   c                 .    | j                   j                  S r   )r   r0   r/   s    r   r0   zZLibDecompressor.eof   s    !!%%%r   )r   )r    r!   r"   rz   r   rg   r2   r   r$   rP   r#   r   r*   r   r1   r0   r   r   s   @r   r   r      s     #'(-'+-@P3-P "&P 8$	P
 &c]P?E ?s ?5 ?6U 6 6E 6 
C 
 
 &T & &r   r   c                   0    e Zd ZddZdedefdZdefdZy)BrotliDecompressorr   Nc                 X    t         st        d      t        j                         | _        y )NzIThe brotli decompression is not available. Please install `Brotli` module)
HAS_BROTLIRuntimeErrorbrotliDecompressor_objr/   s    r   rP   zBrotliDecompressor.__init__  s)    1  '')	r   r   c                     t        | j                  d      r)t        t        | j                  j	                  |            S t        t        | j                  j                  |            S )Nr*   )hasattrr   r	   r#   r*   processr   s     r   r   z"BrotliDecompressor.decompress_sync  sH    499l+tyy33D9::E499,,T233r   c                     t        | j                  d      r(t        t        | j                  j	                               S y)Nr   r   )r   r   r	   r#   r   r/   s    r   r   zBrotliDecompressor.flush  s+    499g&tyy011r   )r   N)r    r!   r"   rP   r#   r   r   r   r   r   r   r     s&    *4E 4e 4
u r   r   )NF)'r   syszlibconcurrent.futuresr   typingr   r   r   r   r   r	   version_infocollections.abcr   r   r#   	bytearray
brotlicffir   ImportErrorr   rz   r   r&   r4   rJ   rM   rh   rH   rk   rg   r2   r$   rq   rs   r|   r   r   r   r   r   <module>r      sF    
  ' B Bw&5)%68KKLF# J  6h 6
 ( 8iu *5 *5Z #5T": :1': 1t 1
 #$)XsmX!X 	X	8 	8<
_ <
~,& ,&^ c    Js0   C C* 	C'$C* &C''C* *C43C4