Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib/python3.5/site-packages/asn1crypto/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib/python3.5/site-packages/asn1crypto/__pycache__/cms.cpython-35.pyc



���X�c�@s�	dZddlmZmZmZmZyddlZWnek
rRdZYnXddlm	Z	m
Z
mZmZm
Z
mZddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZddlm Z ddl!m"Z"dd	l#m$Z$dd
l%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+Gdd�de�Z,Gd
d�de�Z-Gdd�de�Z.Gdd�de�Z/Gdd�de�Z0Gdd�de�Z1Gdd�de�Z2Gdd�de�Z3Gdd�de�Z4Gdd�de�Z5Gdd �d e�Z6Gd!d"�d"e�Z7Gd#d$�d$e�Z8Gd%d&�d&e�Z9Gd'd(�d(e�Z:Gd)d*�d*e�Z;Gd+d,�d,e�Z<Gd-d.�d.e�Z=Gd/d0�d0e�Z>Gd1d2�d2e�Z?Gd3d4�d4e�Z@Gd5d6�d6e�ZAGd7d8�d8e�ZBGd9d:�d:e�ZCGd;d<�d<e�ZDGd=d>�d>e�ZEGd?d@�d@e�ZFGdAdB�dBe�ZGGdCdD�dDe�ZHGdEdF�dFe�ZIGdGdH�dHe�ZJGdIdJ�dJe�ZKGdKdL�dLe�ZLGdMdN�dNe�ZMGdOdP�dPe�ZNGdQdR�dRe�ZOGdSdT�dTe�ZPGdUdV�dVe�ZQGdWdX�dXe�ZRGdYdZ�dZe�ZSGd[d\�d\e�ZTGd]d^�d^e�ZUGd_d`�d`e�ZVGdadb�dbe�ZWGdcdd�dde�ZXGdedf�dfe�ZYGdgdh�dhe�ZZGdidj�dje�Z[Gdkdl�dle�Z\Gdmdn�dne�Z]Gdodp�dpe�Z^Gdqdr�dre�Z_Gdsdt�dte�Z`Gdudv�dve�ZaGdwdx�dxe�ZbGdydz�dze�ZcGd{d|�d|e�ZdGd}d~�d~e�ZeGdd��d�e�ZfGd�d��d�e�ZgGd�d��d�e�ZhGd�d��d�e�ZiGd�d��d�e�ZjGd�d��d�e�ZkGd�d��d�e�ZlGd�d��d�e�ZmGd�d��d�e�ZnGd�d��d�e�ZoGd�d��d�e�ZpGd�d��d�e	e�ZqGd�d��d�e�ZrGd�d��d�e�ZsGd�d��d�e�ZtGd�d��d�e�ZuGd�d��d�e�ZvGd�d��d�e�ZwGd�d��d�e�ZxGd�d��d�e�ZyGd�d��d�e�ZzGd�d��d�e�Z{Gd�d��d�e�Z|Gd�d��d�e�Z}Gd�d��d�e�Z~Gd�d��d�e�ZGd�d��d�e�Z�Gd�d��d�e�Z�Gd�d��d�e�Z�Gd�d��d�e�Z�Gd�d��d�e�Z�Gd�d��d�e�Z�Gd�d��d�e�Z�Gd�d��d�e�Z�Gd�d��d�e�Z�Gd�d��d�e�Z�d�ed�emd�e�d�e�d�e�d�e�d�e�d�e�d�e�i	e__�d�emd�e�d�e�d�e�d�e�d�e�d�e�d�e�iea_�d�e2d�e3d�e4d�eld�e`ie6_�dS)�a�
ASN.1 type classes for cryptographic message syntax (CMS). Structures are also
compatible with PKCS#7. Exports the following items:

 - AuthenticatedData()
 - AuthEnvelopedData()
 - CompressedData()
 - ContentInfo()
 - DigestedData()
 - EncryptedData()
 - EnvelopedData()
 - SignedAndEnvelopedData()
 - SignedData()

Other type classes are defined that help compose the types listed above.
�)�unicode_literals�division�absolute_import�print_functionN�)�_ForceNullParameters�DigestAlgorithm�EncryptionAlgorithm�
HmacAlgorithm�KdfAlgorithm�SignedDigestAlgorithm)�Any�	BitString�Choice�
Enumerated�GeneralizedTime�Integer�ObjectIdentifier�OctetBitString�OctetString�ParsableOctetString�Sequence�
SequenceOf�SetOf�UTCTime�
UTF8String)�CertificateList)�
PublicKeyInfo)�OCSPResponse)�
Attributes�Certificate�
Extensions�GeneralName�GeneralNames�Namec@s1eZdZdefdefdefgZdS)�ExtendedCertificateInfo�version�certificate�
attributesN)�__name__�
__module__�__qualname__rr r�_fields�r-r-�?/opt/alt/python35/lib/python3.5/site-packages/asn1crypto/cms.pyr%=s		r%c@s1eZdZdefdefdefgZdS)�ExtendedCertificateZextended_certificate_info�signature_algorithm�	signatureN)r)r*r+r%rrr,r-r-r-r.r/Es		r/c@s:eZdZddddddddd	d
ddiZd
S)�
CMSVersionrZv0r�v1��v2�Zv3��v4�Zv5N)r)r*r+�_mapr-r-r-r.r2Ssr2c
@s4eZdZddddddddd	d
iZdS)�CMSAttributeTypez1.2.840.113549.1.9.3�content_typez1.2.840.113549.1.9.4�message_digestz1.2.840.113549.1.9.5�signing_timez1.2.840.113549.1.9.6�counter_signaturez1.2.840.113549.1.9.16.2.14�signature_time_stamp_tokenN)r)r*r+r:r-r-r-r.r;^s
r;c@s(eZdZdefdefgZdS)�TimeZutc_timeZgeneralized_timeN)r)r*r+rr�
_alternativesr-r-r-r.rAis	rAc@sLeZdZddddddddd	d
ddd
dddddi	ZdS)�ContentTypez1.2.840.113549.1.7.1�dataz1.2.840.113549.1.7.2�signed_dataz1.2.840.113549.1.7.3�enveloped_dataz1.2.840.113549.1.7.4�signed_and_enveloped_dataz1.2.840.113549.1.7.5�
digested_dataz1.2.840.113549.1.7.6�encrypted_dataz1.2.840.113549.1.9.16.1.2�authenticated_dataz1.2.840.113549.1.9.16.1.9�compressed_dataz1.2.840.113549.1.9.16.1.23�authenticated_enveloped_dataN)r)r*r+r:r-r-r-r.rCpsrCc@seZdZeZdS)�SetOfContentTypeN)r)r*r+rC�_child_specr-r-r-r.rM~srMc@seZdZeZdS)�SetOfOctetStringN)r)r*r+rrNr-r-r-r.rO�srOc@seZdZeZdS)�	SetOfTimeN)r)r*r+rArNr-r-r-r.rP�srPc@seZdZeZdS)�SetOfAnyN)r)r*r+r
rNr-r-r-r.rQ�srQc@s@eZdZdefdgZiZdd�ZdeiZdS)�CMSAttribute�type�valuesNcCs|jj|djt�S)NrS)�
_oid_specs�get�nativerQ)�selfr-r-r.�_values_spec�szCMSAttribute._values_spec)rTN)r)r*r+r;r,rUrY�_spec_callbacksr-r-r-r.rR�s
		rRc@seZdZeZdS)�
CMSAttributesN)r)r*r+rRrNr-r-r-r.r[�sr[c@s:eZdZdefdefdeddifgZdS)�IssuerSerial�issuer�serialZ
issuer_uid�optionalTN)r)r*r+r#rrr,r-r-r-r.r\�s		r\c@s"eZdZddddiZdS)�AttCertVersionrr3rr5N)r)r*r+r:r-r-r-r.r`�sr`c@sFeZdZdeddddifdeddddifgZdS)	�AttCertSubject�base_certificate_id�tag_type�explicit�tagrZsubject_namerN)r)r*r+r\r#rBr-r-r-r.ra�srac@s(eZdZdefdefgZdS)�AttCertValidityPeriodZnot_before_timeZnot_after_timeN)r)r*r+rr,r-r-r-r.rf�s	rfc@s�eZdZdeddifdefdefdefdefdefd	e	fd
e
ddifd
eddifg	ZdS)�AttributeCertificateInfoV1r&�defaultr3Zsubjectr]r1�
serial_number�att_cert_validity_periodr(�issuer_unique_idr_T�
extensionsN)
r)r*r+r`rar#rrrfrrr!r,r-r-r-r.rg�s						rgc@s1eZdZdefdefdefgZdS)�AttributeCertificateV1�ac_infor0r1N)r)r*r+rgrrr,r-r-r-r.rm�s		rmc@s(eZdZddddddiZdS)�DigestedObjectTyperZ
public_keyrZpublic_key_certr4Zother_objy_typesN)r)r*r+r:r-r-r-r.ro�sroc@sCeZdZdefdeddifdefdefgZdS)�ObjectDigestInfoZdigested_object_typeZother_object_type_idr_T�digest_algorithmZ
object_digestN)r)r*r+rorrrr,r-r-r-r.rp�s		rpc
@speZdZdeddddddifdedddd	ddifd
eddddddifgZdS)
�Holderrbrc�implicitrerr_TZentity_namer�object_digest_infor4N)r)r*r+r\r#rpr,r-r-r-r.rr�srrc
@sdeZdZdeddifdeddddddifd	edddd
ddifgZdS)�V2FormZissuer_namer_TrbrcrdrerrtrN)r)r*r+r#r\rpr,r-r-r-r.ru�sruc@s7eZdZdefdeddddifgZdS)�
AttCertIssuerZv1_formZv2_formrcrdrerN)r)r*r+r#rurBr-r-r-r.rv�s	rvc@s1eZdZdefdefdefgZdS)�
IetfAttrValueZoctetsZoid�stringN)r)r*r+rrrrBr-r-r-r.rw�s		rwc@seZdZeZdS)�IetfAttrValuesN)r)r*r+rwrNr-r-r-r.rysryc@s=eZdZdeddddddifdefgZd	S)
�IetfAttrSyntaxZpolicy_authorityrcrsrerr_TrTN)r)r*r+r#ryr,r-r-r-r.rz	srzc@seZdZeZdS)�SetOfIetfAttrSyntaxN)r)r*r+rzrNr-r-r-r.r{sr{c@s:eZdZdefdefdeddifgZdS)�SvceAuthInfoZservice�identZ	auth_infor_TN)r)r*r+r"rr,r-r-r-r.r|s		r|c@seZdZeZdS)�SetOfSvceAuthInfoN)r)r*r+r|rNr-r-r-r.r~sr~c@sLeZdZdeddddddifdedddd	ifgZd
S)�
RoleSyntaxZrole_authorityrcrsrerr_TZ	role_namerN)r)r*r+r#r"r,r-r-r-r.r src@seZdZeZdS)�SetOfRoleSyntaxN)r)r*r+rrNr-r-r-r.r�'sr�c@s:eZdZddddddddd	d
ddiZd
S)�	ClassListrZunmarkedr�unclassifiedr4Z
restrictedr6Zconfidentialr7Zsecretr9Z
top_secretN)r)r*r+r:r-r-r-r.r�+sr�c@sFeZdZdeddddifdeddddifgZdS)	�SecurityCategoryrSrcrsrer�valuerN)r)r*r+rr
r,r-r-r-r.r�6sr�c@seZdZeZdS)�SetOfSecurityCategoryN)r)r*r+r�rNr-r-r-r.r�=sr�c
@sjeZdZdeddddifdedddddd	ifd
edddddd
ifgZdS)�	Clearance�	policy_idrcrsrerZ
class_listrrhr�Zsecurity_categoriesr4r_TN)r)r*r+rr�r�r,r-r-r-r.r�Asr�c@seZdZeZdS)�SetOfClearanceN)r)r*r+r�rNr-r-r-r.r�Isr�c@s:eZdZdefdefdeddifgZdS)�BigTime�majorZfractional_seconds�signr_TN)r)r*r+rr,r-r-r-r.r�Ms		r�c@s(eZdZdefdefgZdS)�LeapDataZ	leap_time�actionN)r)r*r+r�rr,r-r-r-r.r�Us	r�c@seZdZeZdS)�
SetOfLeapDataN)r)r*r+r�rNr-r-r-r.r�\sr�c@sLeZdZdefdefdefdefdeddifgZdS)	�
TimingMetricsZntp_time�offset�delayZ
expirationZ
leap_eventr_TN)r)r*r+r�r�r,r-r-r-r.r�`s
				r�c@seZdZeZdS)�SetOfTimingMetricsN)r)r*r+r�rNr-r-r-r.r�jsr�c
@sdeZdZdedeifdedddddd	ifd
edddddd	ifgZdS)
�TimingPolicyr��specZ
max_offsetrcrdrerr_TZ	max_delayrN)r)r*r+rrr�r,r-r-r-r.r�nsr�c@seZdZeZdS)�SetOfTimingPolicyN)r)r*r+r�rNr-r-r-r.r�vsr�c@sFeZdZddddddddd	d
ddd
dddiZdS)�AttCertAttributeTypez1.3.6.1.5.5.7.10.1�authentication_infoz1.3.6.1.5.5.7.10.2�access_identityz1.3.6.1.5.5.7.10.3�charging_identityz1.3.6.1.5.5.7.10.4�groupz2.5.4.72�rolez2.5.4.55�	clearancez1.3.6.1.4.1.601.10.4.1�timing_metricsz1.3.6.1.4.1.601.10.4.2�
timing_policyN)r)r*r+r:r-r-r-r.r�zsr�c@speZdZdefdgZdededededed	ed
e	de
iZdd
�ZdeiZ
dS)�AttCertAttributerSrTNr�r�r�r�r�r�r�r�cCs|jj|djt�S)NrS)rUrVrWrQ)rXr-r-r.rY�szAttCertAttribute._values_spec)rTN)r)r*r+r�r,r~r{r�r�r�r�rUrYrZr-r-r-r.r��s		r�c@seZdZeZdS)�AttCertAttributesN)r)r*r+r�rNr-r-r-r.r��sr�c@syeZdZdefdefdefdefdefdefde	fde
d	d
ifded	d
ifg	ZdS)
�AttributeCertificateInfoV2r&Zholderr]r1rirjr(rkr_TrlN)
r)r*r+r`rrrvrrrfr�rr!r,r-r-r-r.r��s							r�c@s7eZdZdZdefdefdefgZdS)�AttributeCertificateV2rrnr0r1N)r)r*r+Z_bad_tagr�rrr,r-r-r-r.r��s		r�c@s(eZdZdefdefgZdS)�OtherCertificateFormatZother_cert_formatZ
other_certN)r)r*r+rr
r,r-r-r-r.r��s	r�c
s�eZdZdefdeddddifdeddddifd	edddd
ifdeddddifgZ�fd
d�Z	�S)�CertificateChoicesr'Zextended_certificatercrsrerZv1_attr_certrZv2_attr_certr4�otherr6csctt|�j|||�|jdkr_tjtj|�dj��jdkr_d|_dS)aJ
        Ensures that the class and tag specified exist as an alternative. This
        custom version fixes parsing broken encodings there a V2 attribute
        # certificate is encoded as a V1

        :param class_:
            The integer class_ from the encoded value header

        :param tag:
            The integer tag from the encoded value header

        :param contents:
            A byte string of the contents of the value - used when the object
            is explicitly tagged

        :raises:
            ValueError - when value is not a valid alternative
        r4rr5r6N)	�superr��validateZ_choicer`�loadr�dumprW)rX�class_re�contents)�	__class__r-r.r��s+zCertificateChoices.validate)
r)r*r+r r/rmr�r�rBr�r-r-)r�r.r��s	r�c@seZdZeZdS)�CertificateSetN)r)r*r+r�rNr-r-r-r.r��sr�c	@sIeZdZdefdeddddddifgZd
ZiZd	S)�ContentInfor<�contentrcrdrerr_TN)r<r�)r)r*r+rCr
r,�	_oid_pairrUr-r-r-r.r��s	$r�c@seZdZeZdS)�SetOfContentInfoN)r)r*r+r�rNr-r-r-r.r��sr�c	@sIeZdZdefdeddddddifgZd
ZiZd	S)�EncapsulatedContentInfor<r�rcrdrerr_TN)r<r�)r)r*r+rCrr,r�rUr-r-r-r.r��s	$r�c@s(eZdZdefdefgZdS)�IssuerAndSerialNumberr]riN)r)r*r+r$rr,r-r-r-r.r�s	r�c@s7eZdZdefdeddddifgZdS)�SignerIdentifier�issuer_and_serial_number�subject_key_identifierrcrsrerN)r)r*r+r�rrBr-r-r-r.r�
s	r�c@seZdZeZdS)�DigestAlgorithmsN)r)r*r+rrNr-r-r-r.r�sr�c@seZdZeZdS)�CertificateRevocationListsN)r)r*r+rrNr-r-r-r.r�sr�c@s=eZdZdeddddddifdefgZd	S)
�
SCVPReqRes�requestrcrdrerr_T�responseN)r)r*r+r�r,r-r-r-r.r�sr�c@s"eZdZddddiZdS)�OtherRevInfoFormatIdz1.3.6.1.5.5.7.16.2�
ocsp_responsez1.3.6.1.5.5.7.16.4�scvpN)r)r*r+r:r-r-r-r.r� sr�c@s@eZdZdefdefgZdZdedeiZ	dS)�OtherRevocationInfoFormat�other_rev_info_format�other_rev_infor�r�N)r�r�)
r)r*r+r�r
r,r�rr�rUr-r-r-r.r�'s
	r�c@s7eZdZdefdeddddifgZdS)�RevocationInfoChoice�crlr�rcZimplciitrerN)r)r*r+rr�rBr-r-r-r.r�4s	r�c@seZdZeZdS)�RevocationInfoChoicesN)r)r*r+r�rNr-r-r-r.r�;sr�c@seZdZdefdefdefdeddddd	d
ifdefdefd
eddddd	d
ifgZ	dS)�
SignerInfor&ZsidrqZsigned_attrsrcrsrerr_Tr0r1Zunsigned_attrsrN)
r)r*r+r2r�rr[rrr,r-r-r-r.r�?s					r�c@seZdZeZdS)�SignerInfosN)r)r*r+r�rNr-r-r-r.r�Ksr�c@s�eZdZdefdefddedddd	d
difdedddd
d
difdefgZdd�Z	de	iZ
dS)�
SignedDatar&�digest_algorithms�encap_content_infoN�certificatesrcrsrerr_T�crlsr�signer_infoscCs|djdkrtStS)Nr&r3)rWr�r�)rXr-r-r.�_encap_content_info_specYsz#SignedData._encap_content_info_spec)r�N)r)r*r+r2r�r�r�r�r,r�rZr-r-r-r.r�Os		r�c	@sReZdZdeddddddifdedddd	ddifgZd
S)�OriginatorInfoZcertsrcrsrerr_Tr�rN)r)r*r+r�r�r,r-r-r-r.r�lsr�c@s7eZdZdefdeddddifgZdS)�RecipientIdentifierr�r�rcrsrerN)r)r*r+r�rrBr-r-r-r.r�ss	r�c@s@eZdZddddddddd	d
ddd
diZdS)�KeyEncryptionAlgorithmIdz1.2.840.113549.1.1.1Zrsaz2.16.840.1.101.3.4.1.5Zaes128_wrapz2.16.840.1.101.3.4.1.8Zaes128_wrap_padz2.16.840.1.101.3.4.1.25Zaes192_wrapz2.16.840.1.101.3.4.1.28Zaes192_wrap_padz2.16.840.1.101.3.4.1.45Zaes256_wrapz2.16.840.1.101.3.4.1.48Zaes256_wrap_padN)r)r*r+r:r-r-r-r.r�zsr�c@s1eZdZdefdeddifgZdS)�KeyEncryptionAlgorithm�	algorithm�
parametersr_TN)r)r*r+r�r
r,r-r-r-r.r��s	r�c@s:eZdZdefdefdefdefgZdS)�KeyTransRecipientInfor&�rid�key_encryption_algorithm�
encrypted_keyN)r)r*r+r2r�r�rr,r-r-r-r.r��s			r�c@sOeZdZdefdeddddifdeddddifgZd	S)
�OriginatorIdentifierOrKeyr�r�rcrsrerZoriginator_keyrN)r)r*r+r�rrrBr-r-r-r.r��s	r�c@s(eZdZdefdefgZdS)�OtherKeyAttributeZkey_attr_idZkey_attrN)r)r*r+rr
r,r-r-r-r.r��s	r�c@sCeZdZdefdeddifdeddifgZdS)�RecipientKeyIdentifierr��dater_Tr�N)r)r*r+rrr�r,r-r-r-r.r��s	r�c@s7eZdZdefdeddddifgZdS)�KeyAgreementRecipientIdentifierr�Zr_key_idrcrsrerN)r)r*r+r�r�rBr-r-r-r.r��s	r�c@s(eZdZdefdefgZdS)�RecipientEncryptedKeyr�r�N)r)r*r+r�rr,r-r-r-r.r��s	r�c@seZdZeZdS)�RecipientEncryptedKeysN)r)r*r+r�rNr-r-r-r.r��sr�c
@sgeZdZdefdeddddifdeddddd	d
ifdefdefgZd
S)�KeyAgreeRecipientInfor&Z
originatorrcrdrerZukmrr_Tr�Zrecipient_encrypted_keysN)	r)r*r+r2r�rr�r�r,r-r-r-r.r��s
		r�c@sCeZdZdefdeddifdeddifgZdS)�
KEKIdentifierZkey_identifierr�r_Tr�N)r)r*r+rrr�r,r-r-r-r.r��s	r�c@s:eZdZdefdefdefdefgZdS)�KEKRecipientInfor&Zkekidr�r�N)r)r*r+r2r�r�rr,r-r-r-r.r��s			r�c	@sOeZdZdefdeddddddifd	efd
efgZdS)�PasswordRecipientInfor&Zkey_derivation_algorithmrcrsrerr_Tr�r�N)r)r*r+r2rr�rr,r-r-r-r.r��s		r�c@s(eZdZdefdefgZdS)�OtherRecipientInfoZori_typeZ	ori_valueN)r)r*r+rr
r,r-r-r-r.r��s	r�c
@seZdZdefdeddddifdeddddifd	edddd
ifdeddddifgZd
S)�
RecipientInfoZktriZkarircrsrerZkekrir4Zpwrir6Zorir7N)	r)r*r+r�r�r�r�r�rBr-r-r-r.r��s
	r�c@seZdZeZdS)�RecipientInfosN)r)r*r+r�rNr-r-r-r.r��sr�c
@sFeZdZdefdefdedddddd	ifgZd
S)�EncryptedContentInfor<Zcontent_encryption_algorithmZencrypted_contentrcrsrerr_TN)r)r*r+rCr	rr,r-r-r-r.r��s		r�c@smeZdZdefdeddddddifd	efd
efdeddddddifgZd
S)�
EnvelopedDatar&�originator_inforcrsrerr_T�recipient_infos�encrypted_content_info�unprotected_attrsrN)	r)r*r+r2r�r�r�r[r,r-r-r-r.r�s
			r�c
@seZdZdefdefdefdefdedddd	d
difdedddd
d
difde	fgZ
dS)�SignedAndEnvelopedDatar&r�r�r�r�rcrsrerr_Tr�rr�N)r)r*r+r2r�r�r�r�r�r�r,r-r-r-r.r�
s				r�c@sLeZdZdefdefddefgZdd�ZdeiZdS)	�DigestedDatar&rqr�N�digestcCs|djdkrtStS)Nr&r3)rWr�r�)rXr-r-r.r�sz%DigestedData._encap_content_info_spec)r�N)	r)r*r+r2rrr,r�rZr-r-r-r.r�s		r�c
@sFeZdZdefdefdedddddd	ifgZd
S)�
EncryptedDatar&r�r�rcrsrerr_TN)r)r*r+r2r�r[r,r-r-r-r.r�1s		r�c@s�eZdZdefdeddddddifd	efd
efdeddddddifd
efde	ddddddifde
fde	ddddddifg	ZdS)�AuthenticatedDatar&r�rcrsrerr_Tr�Z
mac_algorithmrqrr��
auth_attrsr4�mac�unauth_attrsr6N)r)r*r+r2r�r�r
rr�r[rr,r-r-r-r.r�9s					r�c@s�eZdZdefdeddddddifd	efd
efdeddddddifd
efdeddddddifgZ	dS)�AuthEnvelopedDatar&r�rcrsrerr_Tr�Zauth_encrypted_content_infor�rr�r�r4N)
r)r*r+r2r�r�r�r[rr,r-r-r-r.r�Is				r�c@seZdZddiZdS)�CompressionAlgorithmIdz1.2.840.113549.1.9.16.3.8�zlibN)r)r*r+r:r-r-r-r.r�Usr�c@s1eZdZdefdeddifgZdS)�CompressionAlgorithmr�r�r_TN)r)r*r+r�r
r,r-r-r-r.r�[s	r�c@sIeZdZdefdefdefgZdZedd��Z	dS)�CompressedDatar&Zcompression_algorithmr�NcCsK|jdkrDtdkr'td��tj|ddj�|_|jS)Nz The zlib module is not availabler�r�)�
_decompressedr��SystemError�
decompressrW)rXr-r-r.�decompressedks
zCompressedData.decompressed)
r)r*r+r2r�r�r,r��propertyr�r-r-r-r.r�bs
		r�rDrErFrGrHrIrJrKrLr<r=r>r?r@)��__doc__�
__future__rrrrr��ImportErrorZalgosrrr	r
rr�corer
rrrrrrrrrrrrrrr�r�keysrZocsprZx509rr r!r"r#r$r%r/r2r;rArCrMrOrPrQrRr[r\r`rarfrgrmrorprrrurvrwryrzr{r|r~rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rUr-r-r-r.�<module>s�"
.d.	

#