U
    ÒZj§  ã                   @   sF  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„ deƒZeZ	eZ
eZeZeZeeddœdd„Zeeddœdd„Zd"eeje ed	œd
d„ZG dd„ deƒZejejdœdd„Zddœe jeedœdd„ZG dd„ dƒZG dd„ dejƒZd#eeeej e! eje edœdd„Z"ej#e$dœdd„Z%G d d!„ d!ej&ƒZ&dS )$é    Nc                   @   s   e Zd ZdS )ÚCryptographyDeprecationWarningN©Ú__name__Ú
__module__Ú__qualname__© r   r   úU/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/cryptography/utils.pyr      s   r   )ÚnameÚvalueÚreturnc                 C   s   t |tƒstd | ¡ƒ‚d S )Nz{} must be bytes)Ú
isinstanceÚbytesÚ	TypeErrorÚformat©r	   r
   r   r   r   Ú_check_bytes   s    
r   c                 C   s4   zt |ƒ W n" tk
r.   td | ¡ƒ‚Y nX d S )Nz{} must be bytes-like)Ú
memoryviewr   r   r   r   r   r   Ú_check_byteslike$   s    r   )ÚintegerÚlengthr   c                 C   s    |   |p|  ¡ d d pdd¡S )Né   é   é   Úbig)Úto_bytesÚ
bit_length)r   r   r   r   r   Úint_to_bytes+   s     ÿr   c                   @   s   e Zd ZdS )ÚInterfaceNotImplementedNr   r   r   r   r   r   1   s   r   )Ú	signaturer   c                 C   s   t  dd„ | j ¡ D ƒ¡S )Nc                 S   s   g | ]}|j tjjd �‘qS ))Ú
annotation)ÚreplaceÚinspectÚ	ParameterÚempty)Ú.0Úparamr   r   r   Ú
<listcomp>7   s   ÿz$strip_annotation.<locals>.<listcomp>)r!   Ú	SignatureÚ
parametersÚvalues)r   r   r   r   Ústrip_annotation5   s
    þÿr*   F)Úcheck_annotations)ÚifaceÚklassr+   c                C   s”   | j D ]ˆ}t||ƒs$td ||¡ƒ‚tt| |ƒtjƒr8qt 	t| |ƒ¡}t 	t||ƒ¡}|rf||k}nt
|ƒt
|ƒk}|std ||||¡ƒ‚q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   r*   )r,   r-   r+   ÚmethodÚsigÚactualÚokr   r   r   Úverify_interface>   s*    


ÿ
   ÿÿr7   c                   @   s   e Zd Zeedœdd„ZdS )Ú_DeprecatedValue)r
   Úmessagec                 C   s   || _ || _|| _d S ©N)r
   r9   Úwarning_class)Úselfr
   r9   r;   r   r   r   Ú__init__W   s    z_DeprecatedValue.__init__N)r   r   r   ÚobjectÚstrr=   r   r   r   r   r8   V   s   r8   c                       sj   e Zd Zejdœ‡ fdd„Zeedœdd„Zeeddœd	d
„Z	eddœdd„Z
eje dœdd„Z‡  ZS )Ú_ModuleWithDeprecations)Úmodulec                    s   t ƒ  |j¡ || jd< d S ©NÚ_module)Úsuperr=   r   Ú__dict__)r<   rA   ©Ú	__class__r   r   r=   ^   s    z _ModuleWithDeprecations.__init__)Úattrr   c                 C   s4   t | j|ƒ}t|tƒr0tj|j|jdd� |j}|S ©Né   )Ú
stacklevel)	r0   rC   r   r8   ÚwarningsÚwarnr9   r;   r
   ©r<   rH   Úobjr   r   r   Ú__getattr__b   s
    
z#_ModuleWithDeprecations.__getattr__N)rH   r
   r   c                 C   s   t | j||ƒ d S r:   )ÚsetattrrC   )r<   rH   r
   r   r   r   Ú__setattr__i   s    z#_ModuleWithDeprecations.__setattr__c                 C   s:   t | j|ƒ}t|tƒr*tj|j|jdd� t| j|ƒ d S rI   )	r0   rC   r   r8   rL   rM   r9   r;   ÚdelattrrN   r   r   r   Ú__delattr__l   s    
z#_ModuleWithDeprecations.__delattr__©r   c                 C   s   dgt | jƒ S rB   )ÚdirrC   ©r<   r   r   r   Ú__dir__s   s    z_ModuleWithDeprecations.__dir__)r   r   r   ÚtypesÚ
ModuleTyper=   r?   r>   rP   rR   rT   ÚtypingÚSequencerX   Ú__classcell__r   r   rF   r   r@   ]   s
   r@   )r
   Úmodule_namer9   r;   r	   r   c                 C   sJ   t j| }t|tƒs&t|ƒ t j|< }t| ||ƒ}|d k	rFt|||ƒ |S r:   )ÚsysÚmodulesr   r@   r8   rQ   )r
   r^   r9   r;   r	   rA   Zdvr   r   r   Ú
deprecatedw   s    

ra   )Úfuncr   c                    s.   d  ˆ¡‰ tƒ ‰tdœ‡ ‡‡fdd„}t|ƒS )Nz
_cached_{})Úinstancec                    s0   t | ˆ ˆƒ}|ˆk	r|S ˆ| ƒ}t| ˆ |ƒ |S r:   )r0   rQ   )rc   ÚcacheÚresult©Zcached_namerb   Úsentinelr   r   ÚinnerŒ   s    zcached_property.<locals>.inner)r   r>   Úproperty)rb   rh   r   rf   r   Úcached_propertyˆ   s    
rj   c                   @   s(   e Zd Zedœdd„Zedœdd„ZdS )ÚEnumrU   c                 C   s    d| j j› d| j› d| j›d�S )Nú<Ú.z: ú>)rG   r   Ú_name_Ú_value_rW   r   r   r   Ú__repr__š   s    zEnum.__repr__c                 C   s   | j j› d| j› �S )Nrm   )rG   r   ro   rW   r   r   r   Ú__str__�   s    zEnum.__str__N)r   r   r   r?   rq   rr   r   r   r   r   rk   ™   s   rk   )N)N)'r1   Úenumr!   r_   rY   r[   rL   ÚUserWarningr   ZPersistentlyDeprecated2019ZDeprecatedIn35ZDeprecatedIn36ZDeprecatedIn37ZDeprecatedIn38r?   r   r   r   ÚintÚOptionalr   Ú	Exceptionr   r'   r*   ÚABCMetar>   Úboolr7   r8   rZ   r@   ÚTypeÚWarningra   ÚCallableri   rj   rk   r   r   r   r   Ú<module>   sH   
ÿ  ÿ ûú