
    !+h                        d dl Z d dlZd dlmZ d dlmZmZ 	 	 d dlZn# e	$ r d dlZY nw xY wdZ
n# e	$ r dZ
Y nw xY w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dS )    N)Executor)OptionalcastTFi   encodingsuppress_deflate_headerreturnc                 b    | dk    rdt           j        z   S |rt           j         nt           j        S )Ngzip   )zlib	MAX_WBITS)r   r   s     ]/var/www/html/e360mart/e360mart_env/lib/python3.11/site-packages/aiohttp/compression_utils.pyencoding_to_moder      s1     6DN""5IDN??4>I    c                   @    e Zd Zdefdedee         dee         fdZdS )ZlibBaseHandlerNmodeexecutormax_sync_chunk_sizec                 0    || _         || _        || _        d S N)_mode	_executor_max_sync_chunk_size)selfr   r   r   s       r   __init__zZlibBaseHandler.__init__   s      
!$7!!!r   )__name__
__module____qualname__MAX_SYNC_CHUNK_SIZEintr   r   r    r   r   r   r      sZ         (,-@	8 88 8$8 &c]	8 8 8 8 8 8r   r   c                        e Zd Zddddej        defdee         dedee	         dee	         d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ej        fde	defdZ xZS )ZLibCompressorNFr   r   levelwbitsstrategyr   r   c                 ,   t                                          |t          ||          n|||           |!t          j        | j        |          | _        n!t          j        | j        ||          | _        t          j                    | _	        d S )Nr   r   r   )r&   r'   )r&   r'   r%   )
superr   r   r   compressobjr   _compressorasyncioLock_compress_lock)	r   r   r   r%   r&   r'   r   r   	__class__s	           r   r   zZLibCompressor.__init__*   s     	} "(,CDDD 3 	 	
 	
 	
 =#/dj8TTTD#/j85     D &lnnr   datar   c                 6    | j                             |          S r   )r,   compressr   r1   s     r   compress_synczZLibCompressor.compress_syncC   s    ((...r   c                 h  K   | j         4 d {V  | j        bt          |          | j        k    rJt          j                                        | j        | j        |           d {V cd d d           d {V  S |                     |          cd d d           d {V  S # 1 d {V swxY w Y   d S r   )r/   r   lenr-   get_event_looprun_in_executorr   r5   r4   s     r   r3   zZLibCompressor.compressF   s     & 	, 	, 	, 	, 	, 	, 	, 	, )5II 999$355EEND$6       	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, %%d++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,s   AB!:B!!
B+.B+r   c                 6    | j                             |          S r   )r,   flush)r   r   s     r   r;   zZLibCompressor.flushU   s    %%d+++r   )r   r   r   r   Z_DEFAULT_STRATEGYr    r   strboolr!   r   r   bytesr5   r3   Z_FINISHr;   __classcell__r0   s   @r   r$   r$   )   s'        #'(-##/'+-@- -3-- "&- }	-
 }- - 8$- &c]- - - - - -2/% /E / / / /,5 ,U , , , , !% , ,# ,% , , , , , , , ,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ede
fd            Zede
fd            Z xZS )ZLibDecompressorNFr   r   r   r   c                     t                                          t          ||          ||           t          j        | j                  | _        d S )Nr)   )r&   )r*   r   r   r   decompressobjr   _decompressor)r   r   r   r   r   r0   s        r   r   zZLibDecompressor.__init__Z   sZ     	!(,CDD 3 	 	
 	
 	

 "/djAAAr   r   r1   
max_lengthr   c                 8    | j                             ||          S r   )rG   
decompressr   r1   rH   s      r   decompress_syncz ZLibDecompressor.decompress_synch   s    !,,T:>>>r   c                    K   | j         Qt          |          | j         k    r9t          j                                        | j        | j        ||           d {V S |                     ||          S r   )r   r7   r-   r8   r9   r   rL   rK   s      r   rJ   zZLibDecompressor.decompressk   s      %1D		D555 /11AA 4dJ         ##D*555r   lengthc                 t    |dk    r| j                             |          n| j                                         S )Nr   )rG   r;   )r   rN   s     r   r;   zZLibDecompressor.flushu   s=     zz $$V,,,#))++	
r   c                     | j         j        S r   )rG   eofr   s    r   rQ   zZLibDecompressor.eof|   s    !%%r   c                     | j         j        S r   )rG   unconsumed_tailrR   s    r   rT   z ZLibDecompressor.unconsumed_tail   s    !11r   c                     | j         j        S r   )rG   unused_datarR   s    r   rV   zZLibDecompressor.unused_data   s    !--r   )r   )r   r   r   r    r   r=   r>   r   r!   r   r?   rL   rJ   r;   propertyrQ   rT   rV   rA   rB   s   @r   rD   rD   Y   s        #'(-'+-@B B3-B "&B 8$	B
 &c]B B B B B B? ?E ?s ?5 ? ? ? ?6 6U 6 6E 6 6 6 6
 
C 
 
 
 
 
 &T & & & X& 2 2 2 2 X2 .U . . . X. . . . .r   rD   c                   2    e Zd ZddZdedefdZdefdZdS )BrotliDecompressorr   Nc                 b    t           st          d          t          j                    | _        d S )NzIThe brotli decompression is not available. Please install `Brotli` module)
HAS_BROTLIRuntimeErrorbrotliDecompressor_objrR   s    r   r   zBrotliDecompressor.__init__   s7     	1   '))			r   r1   c                     t          | j        d          r-t          t          | j                            |                    S t          t          | j                            |                    S )NrJ   )hasattrr_   r   r?   rJ   processr4   s     r   rL   z"BrotliDecompressor.decompress_sync   sV    49l++ 	;ty33D99:::E49,,T22333r   c                     t          | j        d          r,t          t          | j                                                  S dS )Nr;   r   )ra   r_   r   r?   r;   rR   s    r   r;   zBrotliDecompressor.flush   s7    49g&& 	2ty00111sr   )r   N)r   r   r   r   r?   rL   r;   r"   r   r   rY   rY      se        * * * *4E 4e 4 4 4 4
u      r   rY   )NF)r-   r   concurrent.futuresr   typingr   r   
brotlicffir]   ImportErrorr[   r    r=   r>   r!   r   r   r$   rD   rY   r"   r   r   <module>rh      s     ' ' ' ' ' ' ! ! ! ! ! ! ! !#####    JJ   JJJ   #$)J JsmJ!J 	J J J J	8 	8 	8 	8 	8 	8 	8 	8-, -, -, -, -,_ -, -, -,`-. -. -. -. -. -. -. -.`         s     0 	*0 *0 ::