
    pg                        d dl Z d dlZd dlZd dlZd dlZd dlZd dlZ G d de          ZeZ	eZ
eZeZeZdededdfdZdededdfdZd"d	ed
ej        e         defdZ G d de          Zdej        dej        fdZddde j        dedefdZ G d d          Z G d dej                  Z	 d"dedededej         e!         dej        e         defdZ"dej#        de$fdZ% G d  d!ej&                  Z&dS )#    Nc                       e Zd ZdS )CryptographyDeprecationWarningN__name__
__module____qualname__     4/usr/lib/python3/dist-packages/cryptography/utils.pyr   r              Dr
   r   namevaluereturnc                 t    t          |t                    s"t          d                    |                     d S )Nz{} must be bytes)
isinstancebytes	TypeErrorformatr   r   s     r   _check_bytesr      s;    eU## 9*11$778889 9r
   c                     	 t          |           d S # t          $ r# t          d                    |                     w xY w)Nz{} must be bytes-like)
memoryviewr   r   r   s     r   _check_bytesliker   $   sS    >5 > > >/66t<<===>s	    -A integerlengthc                 f    |                      |p|                                 dz   dz  pdd          S )N         big)to_bytes
bit_length)r   r   s     r   int_to_bytesr#   +   s?    67%%''!+16Q  r
   c                       e Zd ZdS )InterfaceNotImplementedNr   r	   r
   r   r%   r%   1   r   r
   r%   	signaturec                 l    t          j        d | j                                        D                       S )Nc                 X    g | ]'}|                     t          j        j                   (S ))
annotation)replaceinspect	Parameterempty).0params     r   
<listcomp>z$strip_annotation.<locals>.<listcomp>7   s<     	
 	
 	
 MMW%6%<M==	
 	
 	
r
   )r+   	Signature
parametersvalues)r&   s    r   strip_annotationr4   5   sB    	
 	
"-4466	
 	
 	
  r
   F)check_annotationsifaceklassr5   c          	         | j         D ]}t          ||          s#t          d                    ||                    t	          t          | |          t          j                  r^t          j	        t          | |                    }t          j	        t          ||                    }|r||k    }n t          |          t          |          k    }|s%t          d                    ||||                    d S )Nz{} is missing a {!r} methodzK{}.{}'s signature differs from the expected. Expected: {!r}. Received: {!r})__abstractmethods__hasattrr%   r   r   getattrabcabstractpropertyr+   r&   r4   )r6   r7   r5   methodsigactualoks          r   verify_interfacerB   >   s    +  uf%% 	)-44UFCC   geV,,c.BCC 	v 6 677"75&#9#9:: 	CBB!#&&*:6*B*BBB 	)''-veVS&'I'I  	 r
   c                       e Zd ZdedefdZdS )_DeprecatedValuer   messagec                 0    || _         || _        || _        d S N)r   rE   warning_class)selfr   rE   rH   s       r   __init__z_DeprecatedValue.__init__W   s    
*r
   N)r   r   r   objectstrrJ   r	   r
   r   rD   rD   V   s6        +f +s + + + + + +r
   rD   c                        e Zd Zdej        f fdZdedefdZdededdfdZ	deddfd	Z
dej        e         fd
Z xZS )_ModuleWithDeprecationsmodulec                 h    t                                          |j                   || j        d<   d S N_module)superrJ   r   __dict__)rI   rO   	__class__s     r   rJ   z _ModuleWithDeprecations.__init__^   s/    )))#)i   r
   attrr   c                     t          | j        |          }t          |t                    r(t	          j        |j        |j        d           |j        }|S N   )
stacklevel)	r;   rR   r   rD   warningswarnrE   rH   r   rI   rV   objs      r   __getattr__z#_ModuleWithDeprecations.__getattr__b   sN    dlD))c+,, 	M#+s'8QGGGG)C
r
   r   Nc                 2    t          | j        ||           d S rG   )setattrrR   )rI   rV   r   s      r   __setattr__z#_ModuleWithDeprecations.__setattr__i   s    dE*****r
   c                     t          | j        |          }t          |t                    r!t	          j        |j        |j        d           t          | j        |           d S rX   )	r;   rR   r   rD   r[   r\   rE   rH   delattrr]   s      r   __delattr__z#_ModuleWithDeprecations.__delattr__l   s[    dlD))c+,, 	HM#+s'8QGGGGd#####r
   c                 2    dgt          | j                  z   S rQ   )dirrR   rI   s    r   __dir__z_ModuleWithDeprecations.__dir__s   s    {S....r
   )r   r   r   types
ModuleTyperJ   rL   rK   r_   rb   re   typingSequenceri   __classcell__)rU   s   @r   rN   rN   ]   s        *u/ * * * * * *     + +F +t + + + +$ $ $ $ $ $/- / / / / / / / /r
   rN   module_namerE   rH   c                     t           j        |         }t          |t                    st          |          xt           j        |<   }t	          | ||          }|t          |||           |S rG   )sysmodulesr   rN   rD   ra   )r   ro   rE   rH   r   rO   dvs          r   
deprecatedrt   w   sk     [%Ff566 L,CF,K,KKK 6	%-	8	8Bb!!!Ir
   funcc                      d                                t                      dt          f fd}t          |          S )Nz
_cached_{}instancec                 n    t          |           }|ur|S  |           }t          | |           |S rG   )r;   ra   )rw   cacheresultcached_nameru   sentinels      r   innerzcached_property.<locals>.inner   sH    +x88  Lh+v...r
   )r   rK   property)ru   r}   r{   r|   s   ` @@r   cached_propertyr      s^    %%d++KxxH         E??r
   c                   &    e Zd ZdefdZdefdZdS )Enumr   c                 B    d| j         j         d| j         d| j        dS )N<.z: >)rU   r   _name__value_rh   s    r   __repr__zEnum.__repr__   s,    M4>*MMT[MMDLMMMMr
   c                 .    | j         j         d| j         S )Nr   )rU   r   r   rh   s    r   __str__zEnum.__str__   s    .)99DK999r
   N)r   r   r   rL   r   r   r	   r
   r   r   r      sO        N# N N N N: : : : : : :r
   r   rG   )'r<   enumr+   rq   rj   rl   r[   UserWarningr   PersistentlyDeprecated2019DeprecatedIn35DeprecatedIn36DeprecatedIn37DeprecatedIn38rL   r   r   r   intOptionalr#   	Exceptionr%   r1   r4   ABCMetarK   boolrB   rD   rk   rN   TypeWarningrt   Callabler~   r   r   r	   r
   r   <module>r      s   


   



   
	 	 	 	 	[ 	 	 	 < ////9s 95 9T 9 9 9 9
>3 >u > > > > > # vs'; u    	 	 	 	 	i 	 	 	 1 g6G     EJ  ;%=A   0+ + + + + + + +/ / / / /e. / / /> "&   ;w'	
 /#
    "&/ h    ": : : : :49 : : : : :r
   