File: //var/opt/nydus/ops/asn1crypto/__pycache__/core.cpython-39.pyc
a
�,�hܚ � @ s� d Z ddlmZmZmZmZ ddlmZmZ ddlm Z ddl
Z
ddlZddlZddl
Z
ddlZddlmZ ddlmZ dd lmZ dd
lmZmZmZmZmZ ddlmZmZ ddlmZm Z m!Z!m"Z"m#Z#m$Z$ ej%d
kr�ddl&m'Z( e)Z*dZ+nddl,m(Z( dZ+e�-� ddddd�Z.ddddddddd�Z/ddd�Z0e
�1d�Z2i Z3d�dd�Z4G d d!� d!e5�Z6G d"d#� d#�Z7G d$d%� d%e5�Z8G d&d'� d'e5�Z9G d(d)� d)e6�Z:e:� Z;G d*d+� d+e6�Z<G d,d-� d-e6�Z=G d.d/� d/e5�Z>G d0d1� d1e6�Z?G d2d3� d3e9e?�Z@G d4d5� d5e?�ZAG d6d7� d7e?e7�ZBG d8d9� d9e5�ZCG d:d;� d;eCe9e8e?e7�ZDG d<d=� d=e9e8e?�ZEG d>d?� d?eCe9e8e?�ZFG d@dA� dAe9e8e?�ZGG dBdC� dCe9e8e?�ZHG dDdE� dEe9e8e?�ZIG dFdG� dGeI�ZJG dHdI� dIe?�ZKG dJdK� dKe?e7�ZLG dLdM� dMe?�ZMG dNdO� dOe?�ZNG dPdQ� dQe?�ZOG dRdS� dSeB�ZPG dTdU� dUe@�ZQG dVdW� dWeL�ZRG dXdY� dYe6�ZSG dZd[� d[e6�ZTG d\d]� d]eS�ZUG d^d_� d_eT�ZVG d`da� daeS�ZWG dbdc� dce@�ZXG ddde� dee@�ZYG dfdg� dge@�ZZG dhdi� dieG�Z[G djdk� dke@�Z\G dldm� dme@�Z]G dndo� doe]�Z^G dpdq� dqe]�Z_G drds� dse@�Z`G dtdu� due@�ZaG dvdw� dwe@�ZbG dxdy� dye@�ZcG dzd{� d{e@�ZdG d|d}� d}e@�Zed~d� Zfd�d�� Zgd�d�� Zhd�d�� Zid�d�� ZjeAeBeDeGeKeLeMeNeOePeWeQeReSeUeXeYeZe[e\e^e_e`eaebecedeed��Zkd�d�d��Zld�d�d��ZmdS )�a
ASN.1 type classes for universal types. Exports the following items:
- load()
- Any()
- Asn1Value()
- BitString()
- BMPString()
- Boolean()
- CharacterString()
- Choice()
- EmbeddedPdv()
- Enumerated()
- GeneralizedTime()
- GeneralString()
- GraphicString()
- IA5String()
- InstanceOf()
- Integer()
- IntegerBitString()
- IntegerOctetString()
- Null()
- NumericString()
- ObjectDescriptor()
- ObjectIdentifier()
- OctetBitString()
- OctetString()
- PrintableString()
- Real()
- RelativeOid()
- Sequence()
- SequenceOf()
- Set()
- SetOf()
- TeletexString()
- UniversalString()
- UTCTime()
- UTF8String()
- VideotexString()
- VisibleString()
- VOID
- Void()
Other type classes are defined that help compose the types listed above.
� )�unicode_literals�division�absolute_import�print_function)�datetime� timedelta)�FractionN� )�_teletex_codec)�unwrap)�OrderedDict)� type_name�str_cls�byte_cls� int_types�chr_cls)�_parse�_dump_header)�int_to_bytes�int_from_bytes�timezone�extended_datetime�create_timezone�utc_with_dst)� )�StringIOT)�BytesIOF� universal�application�context�private)r r � r r! r )r r r r r r r! r � primitive�constructed�r r z
^\d+(\.\d+)*$c C s t j| |d�S )a5
Loads a BER/DER-encoded byte string and construct a universal object based
on the tag value:
- 1: Boolean
- 2: Integer
- 3: BitString
- 4: OctetString
- 5: Null
- 6: ObjectIdentifier
- 7: ObjectDescriptor
- 8: InstanceOf
- 9: Real
- 10: Enumerated
- 11: EmbeddedPdv
- 12: UTF8String
- 13: RelativeOid
- 16: Sequence,
- 17: Set
- 18: NumericString
- 19: PrintableString
- 20: TeletexString
- 21: VideotexString
- 22: IA5String
- 23: UTCTime
- 24: GeneralizedTime
- 25: GraphicString
- 26: VisibleString
- 27: GeneralString
- 28: UniversalString
- 29: CharacterString
- 30: BMPString
:param encoded_data:
A byte string of BER or DER-encoded data
:param strict:
A boolean indicating if trailing data should be forbidden - if so, a
ValueError will be raised when trailing data exists
:raises:
ValueError - when strict is True and trailing data is present
ValueError - when the encoded value tag a tag other than listed above
ValueError - when the ASN.1 header length is longer than the data
TypeError - when encoded_data is not a byte string
:return:
An instance of the one of the universal classes
)�strict)� Asn1Value�load)�encoded_datar% � r) �@/opt/nydus/tmp/pip-target-wkfpz8uv/lib/python/asn1crypto/core.pyr'