????

Your IP : 216.73.217.84


Current Path : /proc/self/root/lib/python3.9/site-packages/pyasn1/codec/cer/__pycache__/
Upload File :
Current File : //proc/self/root/lib/python3.9/site-packages/pyasn1/codec/cer/__pycache__/encoder.cpython-39.pyc

a

.�]�$�@s�ddlmZddlmZddlmZmZddlmZddlm	Z	dgZ
Gdd�dej�ZGd	d
�d
ej
�Z
Gdd�de�ZGd
d�deej�ZGdd�deej�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�Zej��Ze�ejje�ejje
�e	jje�e	jje�ejje�ej j!e�i�ej"��Z"e"�ejj!e�ejj!e
�e	jj!e�e	jj!e�ej#j!e�ejj!e�ej j!e�ej$j!e�i�Gdd�dej%�Z%e%ee"�Z&dS)�)�error)�encoder)�str2octs�null)�univ)�useful�encodec@seZdZdd�ZdS)�BooleanEncodercKs|dkrd}nd}|ddfS)Nr)r)�F�)�self�value�asn1Spec�	encodeFun�options�	substraterr�</usr/lib/python3.9/site-packages/pyasn1/codec/cer/encoder.py�encodeValueszBooleanEncoder.encodeValueN��__name__�
__module__�__qualname__rrrrrr	sr	c@seZdZdd�ZdS)�RealEncodercCs|\}}}|�|||�S)N)Z_dropFloatingPoint)rr
�m�b�errr�_chooseEncBases
zRealEncoder._chooseEncBaseN)rrrrrrrrrsrc@sLeZdZed�Zed�Zed�Zed�Zed�Zed�Z	dZ
dZd	d
�ZdS)�TimeEncoderMixIn�Z�+�-�,�.�0��cKsp|dur|�|�}|��}|j|vs.|j|vr<t�d|��|d|jkrXt�d|��|j|vrpt�d|��|j|v�rd}t	|�}t
|�|j�dt|�d�}|||jkr�|||j
kr�||=d}|d8}q�|d7}|t|�k�r
|||jk�r
||d=d}|�r|�|�}|jt|�k�r:|jk�sJnt�d	|��|jd
d�tjj||||fi|��S)NzMust be UTC time: %r���z#Missing "Z" time zone specifier: %rz!Comma in fractions disallowed: %rF��TzLength constraint violated: %r��)ZmaxChunkSize)ZcloneZ	asNumbers�	PLUS_CHAR�
MINUS_CHARr�PyAsn1Error�Z_CHAR�
COMMA_CHAR�DOT_CHAR�list�min�index�len�	ZERO_CHAR�
MIN_LENGTH�
MAX_LENGTH�updater�OctetStringEncoderr)rr
rrrZnumbersZ
isModifiedZsearchIndexrrrr,sB




"��zTimeEncoderMixIn.encodeValueN)
rrr�ordr-r*r+r.r/r4r5r6rrrrrr!src@seZdZdZdZdS)�GeneralizedTimeEncoderr$�N�rrrr5r6rrrrr:fsr:c@seZdZdZdZdS)�UTCTimeEncoder�
�Nr<rrrrr=ksr=c@seZdZdd�ZdS)�SetOfEncodercsz|j|||fi|��}t|�dkrjtd��ttt|�����fdd�|D�}|jdd�d�dd�|D�}t�|�d	d	fS)
Nr(�csg|]}|����|f�qSr)�ljust��.0�x�ZmaxLenZzerorr�
<listcomp>ysz,SetOfEncoder.encodeValue.<locals>.<listcomp>cSs|dS)Nrr)rErrr�<lambda>|�z*SetOfEncoder.encodeValue.<locals>.<lambda>��keycSsg|]}|d�qS)r(rrCrrrrG~rIT)�_encodeComponentsr3r�max�map�sortr�join)rr
rrr�chunksZpaddedChunksrrFrrqs���zSetOfEncoder.encodeValueNrrrrrr@psr@c@seZdZdd�ZdS)�SequenceOfEncodercKsD|�dd�rt|�stddfS|j|||fi|��}t�|�ddfS)N�
ifNotEmptyFT)�getr3rrLrP)rr
rrrrQrrrr�s
��zSequenceOfEncoder.encodeValueNrrrrrrR�srRc@s eZdZedd��Zdd�ZdS)�
SetEncodercCsH|\}}|dur|}|jtjjkr>|js>|jr4|jS|jjSn|jSdS)z^Sort SET components by tag

        Sort regardless of the Choice value (static sort)
        N)�typeIdrZChoice�tagSet�
componentTypeZ	minTagSet)ZcomponentAndType�	componentrrrr�_componentSortKey�s
zSetEncoder._componentSortKeyc	Ks�t}g}i}|dur�|j}|r"|�|j}	t|���D]\\}
}|	rv|	|
}|jrV|jsVq4|jrh||jkrhq4||t	|�<nd|t	|�<|�
||f�q4n�t|jj�D]�\}
}z||j}Wn&t
y�t�d|j|f��Yn0|jr�|j|vr�q�|j�r||jk�rq�||t	|�<|�
|||
f�q�t||jd�D]~\}
}|t	|
�}|�r\|j|jd�||
|fi|��}|�r�|j�r�|j}|j�r�|�|
��s�|||fi|��}||7}�q4|ddfS)Nz#Component name "%s" not found in %rrJ)rST)rZisInconsistentrX�	enumerate�valuesZ
isOptionalZisValueZisDefaultedZ
asn1Object�id�append�
namedTypes�name�KeyErrorrr,�sortedrZr7ZopenTyperWZisSameTypeWith)rr
rrrr�compsZcompsMapZ
inconsistencyr_�idxrYZ	namedType�compZcompType�chunkZwrapTyperrrr�sPzSetEncoder.encodeValueN)rrr�staticmethodrZrrrrrrU�s
rUc@seZdZdZdS)�SequenceEncoderTN)rrrZomitEmptyOptionalsrrrrrh�srhc@seZdZdZdZdS)�EncoderFr)N)rrrZfixedDefLengthModeZfixedChunkSizerrrrrisriN)'Zpyasn1rZpyasn1.codec.berrZpyasn1.compat.octetsrrZpyasn1.typerr�__all__ZIntegerEncoderr	r�objectrr8r:r=rRr@rhrUZtagMap�copyr7ZBooleanrWZRealZGeneralizedTimeZUTCTimeZSetOf�SequencerVZtypeMap�SetZ
SequenceOfrirrrrr�<module>sH	EZ






�









�
1