3 lá˜_U ã @ sˆ d dl mZmZmZ d dlZd dlmZmZ dZdZ dZ dZdZd Z d ZdeB ZdeB Zd ZdZdZG dd„ deƒZdd„ Zdd„ ZdS )é )Úabsolute_importÚdivisionÚprint_functionN)Úint_from_bytesÚint_to_bytesé é€ é é é é é é é é é é c @ sl e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd d „ Zdd„ Zd d„ Z dd„ Z dd„ Zdd„ Zdd„ Z dd„ ZdS )Ú DERReaderc C s t |ƒ| _d S )N)Ú memoryviewÚdata)Úselfr © r ú/usr/lib64/python3.6/_der.pyÚ__init__$ s zDERReader.__init__c C s | S )Nr )r r r r Ú __enter__' s zDERReader.__enter__c C s |d kr| j ƒ d S )N)Úcheck_empty)r Úexc_typeÚ exc_valueÚtbr r r Ú__exit__* s zDERReader.__exit__c C s t | jƒdkS )Nr )Úlenr )r r r r Úis_empty. s zDERReader.is_emptyc C s | j ƒ stdƒ‚d S )Nz Invalid DER input: trailing data)r! Ú ValueError)r r r r r 1 s zDERReader.check_emptyc C s8 t | jƒdk rtdƒ‚tj| jdƒ}| jdd … | _|S )Né z$Invalid DER input: insufficient datar )r r r" ÚsixÚ indexbytes)r Úretr r r Ú read_byte5 s zDERReader.read_bytec C s8 t | jƒ|k rtdƒ‚| jd |… }| j|d … | _|S )Nz$Invalid DER input: insufficient data)r r r" )r Únr&