ó
•abc @@ s© d d l m Z d d l Z d d l m Z m Z m Z d d l m Z d d l m
Z
m Z m Z d Z
d d d g Z d e f d
„ ƒ YZ d e f d „ ƒ YZ d S(
i ( t absolute_importN( t HashMismatcht HashMissingt InstallationError( t read_chunks( t iteritemst iterkeyst
itervaluest sha256t sha384t sha512t Hashesc B@ sP e Z d Z d d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z
RS( sa A wrapper that builds multiple hashes at once and checks them against
known-good values
c C@ s | d k r i n | | _ d S( so
:param hashes: A dict of algorithm names pointing to lists of allowed
hex digests
N( t Nonet _allowed( t selft hashes( ( s4 /usr/lib/python2.7/site-packages/pip/utils/hashes.pyt __init__ s c C@ sá i } xX t | j ƒ D]G } y t j | ƒ | |