Server : LiteSpeed
System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
User : nandedex ( 1060)
PHP Version : 8.1.33
Disable Function : NONE
Directory :  /opt/cppython/lib/python3.8/site-packages/pyasn1/codec/ber/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/site-packages/pyasn1/codec/ber/__pycache__/encoder.cpython-38.pyc
U

N��gdt�:@s�ddlZddlZddlmZddlmZddlmZddlmZddl	m
Z
ddlmZddlm
Z
dd	lmZdd
lmZddgZejeejd
�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGd d!�d!e�ZGd"d#�d#e�Z Gd$d%�d%e�Z!Gd&d'�d'e�Z"Gd(d)�d)e�Z#ej$j%e�ej&j%e�ej'j%e�ej(j%e�ej)j%e�ej*j%e�ej+j%e�ej,j%e�ej-j%e�ej.j%e�ej/j%e!�ej0j%e!�ej1j%e"�ej2j%e�ej3j%e�ej4j%e�ej5j%e�ej6j%e�ej7j%e�ej8j%e�ej9j%e�ej:j%e�ej;j%e�ej<j%e�ej=j%e�ej>j%e�ej?j%e�iZ@ej&jAe�ej'jAe�ej(jAe�ej)jAe�ej*jAe�ej+jAe�ej,jAe�ej-jAe�ej.jAe�ejBjAe �ej0jAe!�ejCjAe �ej/jAe!�ej1jAe"�ejDjAe#�ej2jAe�ej3jAe�ej4jAe�ej5jAe�ej6jAe�ej7jAe�ej8jAe�ej9jAe�ej:jAe�ej;jAe�ej<jAe�ej=jAe�ej>jAe�ej?jAe�iZEGd*d+�d+e�ZFGd,d�de�ZGeG�ZHeId-�d.d/�ZJdS)0�N)�debug)�error)�eoo)�_MISSING)�to_bytes)�char)�tag)�univ)�useful�Encoder�encode)�flagsc@s>eZdZdZdZee�Zdd�Zdd�Zdd�Z	dd
d�Z
d	S)
�AbstractItemEncoderT)rrcCsv|\}}}||B}|r |tjO}|dkr2||BfS|d@f}|dL}|rdd|d@Bf|}|dL}qD|dBf|SdS)N����)rZtagFormatConstructed)�self�	singleTag�
isConstructedZtagClassZ	tagFormatZtagIdZ
encodedTag�	substrate�r�E/opt/cppython/lib/python3.8/site-packages/pyasn1/codec/ber/encoder.py�	encodeTag!s




zAbstractItemEncoder.encodeTagcCsl|s|jrdS|dkr|fSd}|r<|d@f|}|dL}q t|�}|dkrZt�d|��d|Bf|SdS)N)rrr���~zLength octets overflow (%d))�supportIndefLenMode�lenr�PyAsn1Error)r�length�defModerZsubstrateLenrrr�encodeLength5s

z AbstractItemEncoder.encodeLengthcKst�d��dS)NzNot implemented)rr�r�value�asn1Spec�	encodeFun�optionsrrr�encodeValueIszAbstractItemEncoder.encodeValueNcKs�|dkr|j}n|j}|s6|j|||f|�\}}}|S|�dd�}	d}t|j�D�]d\}
}|	}|
�s
z|j|||f|�\}}}Wn6tjk
r�}
zt�d||
f��W5d}
~
XYnXtr�td|r�dp�d||f�|s�|r�|�dd	�r�|S|�s
d}t�r
td
�|�||�}t�rDtd|�r,d�p.d|t	�
t|��f�||�t
|�|�7}t�r|tdt
|�t	�
t|��f�|�r�t|�|}|�s�||j7}qP||}|sP||j7}qP|�s�t|�}|S)
Nr!T�zError encoding %r: %szencoded %svalue %s into %szconstructed ��
ifNotEmptyFz;overridden encoding mode into definitive for primitive typezencoded %stag %s into %sz)encoded %s octets (tag + payload) into %s)�tagSetr(�get�	enumerateZ	superTagsrr�LOGrr�hexdump�bytesr"r�eooOctetsSubstrate�eooIntegerSubstrate)rr$r%r&r'r,rrZisOctetsr!�idxrZdefModeOverride�exc�headerrrrrLs���
��
�
���zAbstractItemEncoder.encode)NN)�__name__�
__module__�__qualname__rr3r1r2rr"r(rrrrrrsrc@seZdZdd�ZdS)�EndOfOctetsEncodercKsdS�N�r)FTrr#rrrr(�szEndOfOctetsEncoder.encodeValueN�r7r8r9r(rrrrr:�sr:c@seZdZdZdd�ZdS)�BooleanEncoderFcKs|rdp
dddfS)N)��rFrr#rrrr(�szBooleanEncoder.encodeValueN�r7r8r9rr(rrrrr>�sr>c@seZdZdZdZdd�ZdS)�IntegerEncoderFcKsF|dkr0tr"td|jrdpd�|jr,dSdStt|�dd�d	dfS)
Nrz#encoding %spayload for zero INTEGERzno r*)rFF)r@FFT)�signedF)r/�supportCompactZeror�intr#rrrr(�s�zIntegerEncoder.encodeValueN)r7r8r9rrDr(rrrrrB�srBc@seZdZdd�ZdS)�BitStringEncoderc
Ks|dk	r|�|�}t|�}|dr4|d|d>}n|}|�dd�}|rXt|�|dkr�|��}tt|�d|f�|ddfStr�td|�|jj}	|	r�t�	|	|	�}
nt�	�}
|j|
d�}d}d}||k�r|}t
||d|�}|||||�|f|�7}q�|ddfS)	Nr�maxChunkSizerFT�#encoding into up to %s-octet chunks�r,r))�clonerr-�asOctetsr1r/r,�baseTagr�TagSet�min)
rr$r%r&r'ZvalueLengthZalignedValuerGrrLr,�stop�startrrrr(�s0
 
zBitStringEncoder.encodeValueNr=rrrrrF�srFc@seZdZdd�ZdS)�OctetStringEncodercKs|dkr|��}nt|t�s,|�|���}n|}|�dd�}|rLt|�|krV|ddfStrftd|�|dkr�|jj}|r�t	�
||�}nt	�
�}|j|d�}n8t|t�s�|jj}|r�t	�
||�}nt	�
�}|j|d�}d}	d}||	|	|�}
|
s��q|||
|f|�7}|	|7}	q�|ddfS)NrGrFTrHrIr))rK�
isinstancer1rJr-rr/r,rLrrM)rr$r%r&r'rrGrLr,�pos�chunkrrrr(�s<




zOctetStringEncoder.encodeValueNr=rrrrrQ�srQc@seZdZdZdd�ZdS)�NullEncoderFcKsdSr;rr#rrrr(#szNullEncoder.encodeValueNrArrrrrU srUc@seZdZdZdd�ZdS)�ObjectIdentifierEncoderFcKs�|dk	r|�|�}|��}z|d}|d}Wn$tk
rRt�d|f��YnXd|krhdkr�nnn|dkr�|df|dd�}nL|dkr�|f|dd�}n0|dkr�|df|dd�}nt�d|f��n0|dkr�|df|dd�}nt�d|f��d	}|D]�}	d|	k�r.d
k�r>nn||	f7}n\|	d
k�r�|	d
@f}
|	dL}	|	�r~d|	d
@Bf|
}
|	dL}	�qZ||
7}nt�d
|	|f���q|ddfS)Nrr?zShort OID %s�'�(��Pz"Impossible first/second arcs at %srrrrzNegative OID arc %s at %sF)rJ�asTuple�
IndexErrorrr)rr$r%r&r'�oid�first�second�octets�subOid�resrrrr(*s@



z#ObjectIdentifierEncoder.encodeValueNrArrrrrV'srVc@seZdZdZdd�ZdS)�RelativeOIDEncoderFcKs�|dk	r|�|�}d}|��D]~}d|kr6dkrFnn||f7}q|dkr�|d@f}|dL}|r�d|d@Bf|}|dL}q`||7}qt�d||f��q|ddfS)Nrrrrrz"Negative RELATIVE-OID arc %s at %sF)rJr[rr)rr$r%r&r'r`rarbrrrr(es



zRelativeOIDEncoder.encodeValueNrArrrrrcbsrcc@s0eZdZdZdZedd��Zdd�Zdd�Zd	S)
�RealEncoderFrYcCs�d\}}|dkrd}|dkr d}||9}|dkrZ|dt|�d|9}t|�d|}n0|dkr�|dt|�d|9}t|�d|}t|�|kr�||9}|d	8}q�q�q�|t|�||fS)
N)r?r?r���rrY���r?)�absrE)�m�encbase�e�ms�esrrr�_dropFloatingPoint�s$zRealEncoder._dropFloatingPointcCs|\}}}dddg}|j|kr.|�||j|�S|j|krH|�||j|�S|||g}|||g}d}d}	td�}td�D]�}
|�||
||
||
�\}||
<||
<||
<t||
�t|�ks�t||
�t|�krt||
|krt||
}t||
�}||
}	qtt�rtd|	|||f�|||	|fS)NrYrrgr?�infrfzMautomatically chosen REAL encoding base %s, sign %s, mantissa %s, exponent %s)�
binEncBasero�float�rangerirEr/)rr$rj�brlZencBaseZmantissa�exponent�signrk�irrr�_chooseEncBase�s4





�4

�zRealEncoder._chooseEncBasecKs�|dk	r|�|�}|jrdS|jr&dS|\}}}|s8dS|dkrltrLtd�d||dkr\dp^d	|fd
dfS|dk�r�d
}|�|�\}	}}
}|	dkr�|dO}|
dkr�|d@dkr�|dL}|d7}q�nX|
dkr�|d@dkr�|dL}|d7}q�|dO}n(|d@dk�r|dL}|d7}q�|dO}d}|d@dk�rB|dL}|d7}�q |dk�rVt�d��||d>O}d	}|dk�sz|dk�r�t|d@f�}n||dk�r�t|d@f�|}|dL}�q�|dk�r�|�r�|dd
@�r�td�|}|dk�r|�r|dd
@�std�|}t|�}
|
dk�r"t�d��|
dk�r.nB|
dk�rB|dO}n.|
dk�rV|dO}n|dO}t|
d@f�|}d	}|�r�t|d@f�|}|dL}�qtt|f�||}|d
dfSt�d|��dS)N))�@FF))�AFFr<�
z!encoding REAL into character forms%dE%s%dr�+r)FTrYrryr?rrrfrg�rh� zScale factor overflowrer)rrer@)rzReal exponent overflowzProhibited Real base %s)	rJZ	isPlusInfZ
isMinusInfr/rxrrr1r)rr$r%r&r'rjrtrl�formrkZsf�eo�n�porrrrr(�s�

 














zRealEncoder.encodeValueN)	r7r8r9rrq�staticmethodrorxr(rrrrrd�s
!rdc@seZdZdZdd�ZdS)�SequenceEncoderFc	Ks�d}|�d|j�}tr*td|r"dp$d�|dk�r�|j}|rTt�d|jj�d���|j}t	|�
��D�]\}	}
|r�||	}|jr�|
js�trftd|f�qf|j
r�|
|jkr�trftd	|f�qf|r�|j|jd
�|�rh|j�rh|j}|jtjjtjjfk�r|||
|ft||jd��7}nJ||
|f|�}
|�|
��r@||
7}n&|||
|f|�7}t�rztd|f�qf|||
|f|�7}qf�nbt	|jj�D�]R\}	}z||j}
Wn*tk
�r�t�d
|j|f��YnX|j�r�|j|k�r�t�r�td|f��q�|j
�r(|
|jk�r(t�r�td	|f��q�|�r<|j|jd
�|j}|j�r�|jtjjtjjfk�r�|||
|ft||jd��7}nJ||
|f|�}
|�|
��r�||
7}n&|||
|f|�7}t�r�td|f�n|||
|f|�7}�q�|ddfS)Nr)�omitEmptyOptionalsz$%sencoding empty OPTIONAL componentsznot r*�
ASN.1 object � is inconsistentz"not encoding OPTIONAL component %rz!not encoding DEFAULT component %r)r+)�wrapType�wrapped with wrap type %rz#Component name "%s" not found in %rT)r-r�r/�isInconsistentrr�	__class__r7�
componentTyper.�valuesZ
isOptionalZisValueZisDefaultedZ
asn1Object�updateZopenType�typeIdr	�SetOf�
SequenceOf�dict�isSameTypeWith�
namedTypes�name�KeyError)rr$r%r&r'rr��
inconsistencyr�r4�	component�	namedTyper�rTZ
componentSpecrrrr(/s��
�
����
����
zSequenceEncoder.encodeValueN)r7r8r9r�r(rrrrr�*sr�c@seZdZdd�Zdd�ZdS)�SequenceOfEncodercKs�|dkr*|j}|r0t�d|jj�d���n|j}g}|�dd�}t|�D]R\}}	||	|f|�}
|dk	r�|�|	�s�||
|f|�}
t	r�t	d|f�|�
|
�qH|S)Nr�r�r�r�)r�rrr�r7r��popr.r�r/�append)rr$r%r&r'r��chunksr�r4r�rTrrr�_encodeComponents�s&��z#SequenceOfEncoder._encodeComponentscKs"|j|||f|�}d�|�ddfS)Nr)T)r��join)rr$r%r&r'r�rrrr(�s��zSequenceOfEncoder.encodeValueN)r7r8r9r�r(rrrrr��sr�c@seZdZdd�ZdS)�
ChoiceEncodercs~|dkr���}nX�fdd�|jjD�}t|�dkrRt�dt|�rFdpHd�f��|d}�|}||}|||f|�ddfS)	Ncsg|]}|j�kr|j�qSr)r�)�.0r��r$rr�
<listcomp>�s
�z-ChoiceEncoder.encodeValue.<locals>.<listcomp>r?z%s components for Choice at %rz	Multiple zNone rT)ZgetComponentr�r�rrr)rr$r%r&r'r��namesr�rr�rr(�s
zChoiceEncoder.encodeValueNr=rrrrr��sr�c@seZdZdd�ZdS)�
AnyEncodercKs>|dkr|��}nt|t�s*|�|���}||�dd�dfS)Nr!T)rKrRr1rJr-r#rrrr(�s


zAnyEncoder.encodeValueNr=rrrrr��sr�c@s4eZdZdZdZeZeZeefdd�Zddd�Z	dS)�SingleItemEncoderNcKs,|tk	r|n|j|_|tk	r |n|j|_dS)N)r�TAG_MAP�_tagMap�TYPE_MAP�_typeMap)r�tagMap�typeMapZignoredrrr�__init__4szSingleItemEncoder.__init__c	Ks�z|dkr|j}n|j}Wn$tk
r>t�d|f��YnXtr�td|�dd�rZdp\d|�dd�|dkrv|��p||��|f�|jdk	r�|j|jd	�|j	dk	r�|j|j	d
�z&|j
|}tr�td|jj|f�Wn�t
k
�rj|dkr�|j}n|j}t�|j|j�}z|j|}Wn(t
k
�rJt�d||f��YnXt�rftd
|jj|f�YnX|j|||f|�}t�r�td|t|�t�|�f�|S)Nz<Value %r is not ASN.1 type instance and "asn1Spec" not givenzBencoder called in %sdef mode, chunk size %s for type %s, value:
%sr!T�inr*rGr)r!)rGz)using value codec %s chosen by type ID %szNo encoder for %r (%s)z(using value codec %s chosen by tagSet %sz;codec %s built %s octets of substrate: %s
encoder completed)r��AttributeErrorrrr/r-ZprettyPrintType�fixedDefLengthModer��fixedChunkSizer�r�r7r�r,rrMrLr�rrrr0)	rr$r%r'r�ZconcreteEncoderr,Z
baseTagSetrrrr�__call__8s`
�
��



�

���zSingleItemEncoder.__call__)N)
r7r8r9r�r�r�r�rr�r�rrrrr�-sr�c@s(eZdZeZeefdd�Zddd�ZdS)rcKs|jf||d�|��|_dS)N�r�r�)�SINGLE_ITEM_ENCODER�_singleItemEncoder)rr�r�r'rrrr�ws��zEncoder.__init__NcKs|j|fd|i|��S)Nr%)r�)rZpyObjectr%r'rrrr�|s���zEncoder.__call__)N)r7r8r9r�r�rr�r�rrrrrts)�attrcCsBddd��|�}r6t�|�d|�d�t�t�|St|��dS)Nr�r�r�z is deprecated. Please use z	 instead.)r-�warnings�warn�DeprecationWarning�globalsr�)r�ZnewAttrrrr�__getattr__�s
r�)K�sysr�Zpyasn1rrZpyasn1.codec.berrZ
pyasn1.compatrZpyasn1.compat.integerrZpyasn1.typerrr	r
�__all__ZregisterLoggeer7Z
DEBUG_ENCODERr/�objectrr:r>rBrFrQrUrVrcrdr�r�r�r�ZendOfOctetsr,�Boolean�IntegerZ	BitStringZOctetStringZNullZObjectIdentifierZRelativeOIDZ
Enumerated�Realr�r�ZChoiceZ
UTF8StringZ
NumericStringZPrintableStringZ
TeletexStringZVideotexStringZ	IA5StringZ
GraphicStringZ
VisibleStringZ
GeneralStringZUniversalStringZ	BMPStringZObjectDescriptorZGeneralizedTimeZUTCTimer�r��Set�Sequence�Anyr�r�rr�strr�rrrr�<module>s$)=;!({&�#�$G@

F1le Man4ger