B `c @sddlZyddlZeZWneefk r8dZYnXddlmZmZm Z ej dddkshedkrddl m Z m Z ej ddkreZddd Zdd d Zd d Znddd Zddd Zdd ZdS)NCPython)oct2intnull ensureString)r)a2b_hexb2a_hexFcCsF|sdSttt|d}|rBt|dd@rB|dt|d>S|S)Nr)longr rrlen)octetssignedvaluer|dkr4|r*t|}d|>}|||}qPtdn|dkrH|dkrHtSd}|}t|dd}|drv|dd}t|d@rd|}||ks|rt|d}t||}||krd ||dd d|}n|r||d krtd t|ddd } |r2| d@r |dkr2d |}n|dkr2d|}t|} | S)Nrr z&can't convert negative int to unsignedrL0Z00r zint too big to convertr r ff) bitLength OverflowErrorrhexendswithrmaxintr) rrlengthbitsZmaxValueZ valueToEncodehexValueZ hexLengthZ padLengthZ firstOctetZ octets_valuerrrto_bytes$s>           r%cCsFtt|}t|d}|dr*|d8}|d@r:|d7}|d9}|S)Nrrr r)rabsrr)numberr$r#rrrrTs   rcCstjt|d|dS)Nbig)r)r!rbytes)rrrrrrbscCsJt||}|r&|ddkr&|d7}|j|d|drdd|dS)Nr rr r()r)r bit_lengthr%)rrr"rrrr%escCs t|S)N)r!r*)r'rrrrms)F)Fr)F)Fr)sysplatformpython_implementationimplementation ImportErrorAttributeErrorZpyasn1.compat.octetsrrr version_infobinasciirr r!rrr%rrrrrs    0