£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

7Re4X  c            
   @   sM  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l	 Z	 d  d l
 Z
 d  d l Z d  d l Z d  d l m Z m Z m Z d  d l m Z m Z d  d l m Z m Z m Z m Z m Z m Z m Z m Z m Z d  d l m Z d  d l  m! Z! d  d l" m# Z# m$ Z$ d  d l% m& Z& d  d	 l' m( Z( m) Z) d  d
 l* m+ Z+ d  d l, m- Z- m. Z. d  d l/ m0 Z0 d  d l1 m2 Z2 d d d d d d d d d d g
 Z3 d d   Z4 Gd d   d e(  Z5 Gd d   d e6  Z7 Gd d   d e&  Z8 Gd  d!   d! e# j9  Z: d d d" d  Z< e j= d# e j>  Z? e j= d$ e j>  Z@ d% d   ZA d& d   ZB e j= d' e j>  ZC e j= d( e j>  ZD d) d   ZE d* d   ZF d: d+ d  ZH d, d-   ZI d. d   ZJ d/ d   ZK d0 d1   ZL d2 d3   ZM d4 d5   ZN d6 d7   ZO d d d8 d  ZP d d9 d  ZQ d S(;   i    N(   u   urllibu   urlparseu	   raw_input(   u   InstallationErroru   HashMismatch(	   u   splitextu   rmtreeu   format_sizeu   display_pathu
   backup_diru   ask_path_existsu   unpack_fileu   create_download_cache_folderu   cache_download(   u   vcs(   u   logger(   u   requestsu   six(   u   BaseAdapter(   u   AuthBaseu   HTTPBasicAuth(   u   IncompleteRead(   u
   InvalidURLu   ChunkedEncodingError(   u   Response(   u   CaseInsensitiveDictu   get_file_contentu   is_urlu   url_to_pathu   path_to_urlu   is_archive_fileu   unpack_vcs_linku   unpack_file_urlu
   is_vcs_urlu   is_file_urlu   unpack_http_urlc              C   s5  t  j   }  |  d k r' t  j   } n |  d k r d t j j t j j t j j f } t j j d k r d j	 | t j j g  } q n< |  d k r t  j   } n! |  d k r t  j   } n d } y t  j
   } t  j   } Wn t k
 rd } d } Yn Xd	 j	 d
 t j d |  | f d | | f g  S(   u,   Return a string representing the user agent.u   CPythonu   PyPyu   %s.%s.%su   finalu    u   Jythonu
   IronPythonu   Unknownu    u   pip/%su   %s/%s(   u   platformu   python_implementationu   python_versionu   sysu   pypy_version_infou   majoru   minoru   microu   releaselevelu   joinu   systemu   releaseu   IOErroru   pipu   __version__(   u   _implementationu   _implementation_versionu   p_systemu	   p_release(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu
   user_agent$   s2    	u
   user_agentc             B   sG   |  Ee  Z d  Z d
 d d  Z d d   Z d d   Z d d   Z d	 S(   u   MultiDomainBasicAuthc             C   s   | |  _  i  |  _ d  S(   N(   u	   promptingu	   passwords(   u   selfu	   prompting(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu   __init__H   s    	u   MultiDomainBasicAuth.__init__c             C   s   t  j  | j  } | j j d d  d } t  j | d  d  | f | d d    | _ |  j j | d  \ } } | d  k r |  j | j  \ } } n  | s | r | | f |  j | <t	 | p d | p d  |  } n  | j
 d |  j  | S(   Nu   @i   i   u    u   responsei(   NN(   u   urlparseu   urlu   netlocu   splitu
   urlunparseu	   passwordsu   getu   Noneu   parse_credentialsu   HTTPBasicAuthu   register_hooku
   handle_401(   u   selfu   requ   parsedu   netlocu   usernameu   password(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu   __call__L   s    1$u   MultiDomainBasicAuth.__call__c             K   s   | j  d k r | S|  j s  | St j | j  } t d | j  } t j d  } | s` | ry | | f |  j | j <n  | j | j	 j
   t | p d | p d  | j  } | j j | |  } | j j |  | S(   Ni  u   User for %s: u
   Password: u    (   u   status_codeu	   promptingu   urlparseu   urlu	   raw_inputu   netlocu   getpassu	   passwordsu   contentu   rawu   release_connu   HTTPBasicAuthu   requestu
   connectionu   sendu   historyu   append(   u   selfu   respu   kwargsu   parsedu   usernameu   passwordu   requ   new_resp(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu
   handle_401h   s    	$u   MultiDomainBasicAuth.handle_401c             C   sL   d | k rH | j  d d  d } d | k r> | j d d  S| d  f Sd S(   Nu   @i   i    u   :(   NN(   u   rsplitu   splitu   None(   u   selfu   netlocu   userinfo(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu   parse_credentials   s    
u&   MultiDomainBasicAuth.parse_credentialsNT(   u   __name__u
   __module__u   __qualname__u   Trueu   __init__u   __call__u
   handle_401u   parse_credentials(   u
   __locals__(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu   MultiDomainBasicAuthF   s   "u   MultiDomainBasicAuthc             B   sS   |  Ee  Z d  Z d d   Z d d   Z d	 d	 d
 d d  Z e d d    Z	 d	 S(   u   LocalFSResponsec             C   s   | |  _  d  S(   N(   u   fileobj(   u   selfu   fileobj(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu   __init__   s    u   LocalFSResponse.__init__c             C   s   t  |  j |  S(   N(   u   getattru   fileobj(   u   selfu   name(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu   __getattr__   s    u   LocalFSResponse.__getattr__c             C   s   |  j  j |  S(   N(   u   fileobju   read(   u   selfu   amtu   decode_contentu   cache_content(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu   read   s    u   LocalFSResponse.readc                s9   Gd d   d t     G  f d d   d t   } |   S(   Nc             B   s,   |  Ee  Z d  Z d d   Z d d   Z d S(   u7   LocalFSResponse._original_response.<locals>.FakeMessagec             S   s   g  S(   N(    (   u   selfu   header(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu
   getheaders   s    uB   LocalFSResponse._original_response.<locals>.FakeMessage.getheadersc             S   s   g  S(   N(    (   u   selfu   headeru   default(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu   get_all   s    u?   LocalFSResponse._original_response.<locals>.FakeMessage.get_allN(   u   __name__u
   __module__u   __qualname__u
   getheadersu   get_all(   u
   __locals__(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu   FakeMessage   s   u   FakeMessagec                s,   |  Ee  Z d  Z e   f d d    Z d S(   u8   LocalFSResponse._original_response.<locals>.FakeResponsec                s       S(   N(    (   u   self(   u   FakeMessage(    u%   /tmp/pip-zej_zi-build/pip/download.pyu   msg   s    u<   LocalFSResponse._original_response.<locals>.FakeResponse.msgN(   u   __name__u
   __module__u   __qualname__u   propertyu   msg(   u
   __locals__(   u   FakeMessage(    u%   /tmp/pip-zej_zi-build/pip/download.pyu   FakeResponse   s   u   FakeResponse(   u   object(   u   selfu   FakeResponse(    (   u   FakeMessageu%   /tmp/pip-zej_zi-build/pip/download.pyu   _original_response   s    u"   LocalFSResponse._original_responseNF(
   u   __name__u
   __module__u   __qualname__u   __init__u   __getattr__u   Noneu   Falseu   readu   propertyu   _original_response(   u
   __locals__(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu   LocalFSResponse   s   u   LocalFSResponsec             B   s;   |  Ee  Z d  Z d d d d d d d  Z d d   Z d S(   u   LocalFSAdapterc             C   s  t  j  | j  } | j j   d k r= t d | j   n  t  j | d  d  d | d d    } t |  }	 t   }
 d |
 _ | |
 _ t	 j
 |	  } t j j | j d d } t i t j |	  d p d	 d
 6| j d 6| d 6 |
 _ t t |	 d   |
 _ |
 j j |
 _ |
 S(   Nu	   localhostu)   Invalid URL %r: Only localhost is allowedi   u    i   i   u   usegmti    u
   text/plainu   Content-Typeu   Content-Lengthu   Last-Modifiedu   rb(   u    T(   u   urlparseu   urlu   netlocu   loweru
   InvalidURLu
   urlunparseu   url_to_pathu   Responseu   status_codeu   osu   statu   emailu   utilsu
   formatdateu   st_mtimeu   Trueu   CaseInsensitiveDictu	   mimetypesu
   guess_typeu   st_sizeu   headersu   LocalFSResponseu   openu   rawu   close(   u   selfu   requestu   streamu   timeoutu   verifyu   certu   proxiesu
   parsed_urlu   real_urlu   pathnameu   respu   statsu   modified(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu   send   s$    +			
u   LocalFSAdapter.sendc             C   s   d  S(   N(    (   u   self(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu   close   s    u   LocalFSAdapter.closeN(   u   __name__u
   __module__u   __qualname__u   Noneu   sendu   close(   u
   __locals__(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu   LocalFSAdapter   s   u   LocalFSAdapterc                s>   |  Ee  Z d  Z d Z   f d d   Z   f d d   Z   S(   u
   PipSessionc                sL   t  t |   j | |   t   |  j d <t   |  _ |  j d t    d  S(   Nu
   User-Agentu   file://(	   u   superu
   PipSessionu   __init__u
   user_agentu   headersu   MultiDomainBasicAuthu   authu   mountu   LocalFSAdapter(   u   selfu   argsu   kwargs(   u	   __class__(    u%   /tmp/pip-zej_zi-build/pip/download.pyu   __init__   s    u   PipSession.__init__c                s~   t  j  |  } | j d k rL t  j | d  d  d | d d    } n  | j d |  j  t t |   j | | | |  S(   Nu   filei   u	   localhosti   u   timeout(   u	   localhost(   u   urlparseu   schemeu
   urlunparseu
   setdefaultu   timeoutu   superu
   PipSessionu   request(   u   selfu   methodu   urlu   argsu   kwargsu   parsed(   u	   __class__(    u%   /tmp/pip-zej_zi-build/pip/download.pyu   request   s
    .u   PipSession.requestN(   u   __name__u
   __module__u   __qualname__u   Noneu   timeoutu   __init__u   request(   u
   __locals__(    (   u	   __class__u%   /tmp/pip-zej_zi-build/pip/download.pyu
   PipSession   s   u
   PipSessionc       
      C   s  | d
 k r t   } n  t j |   } | rq| j d  j   } | d k r| | r| | j d  r| t d | |  f   n  | d k r,|  j d d  d } | j	 d d  } t
 j |  } | r | j d  d | j d d  d } n  t j |  } | j d  r#d | j d  } n  | }  qq| j |   } | j   t j r^| j | j f S| j | j f Sn  y t |   } | j   } Wn8 t k
 rt j   d }	 t d	 t |	    Yn X| j   |  | f S(   u   Gets the content of a file; it may be a filename, file: URL, or
    http: URL.  Returns (location, content).  Content is unicode.i   u   fileu   httpu6   Requirements file %s references URL %s, which is localu   :u   \u   /u   |u$   Could not open requirements file: %sN(   u   Noneu
   PipSessionu
   _scheme_reu   searchu   groupu   loweru
   startswithu   InstallationErroru   splitu   replaceu   _url_slash_drive_reu   matchu   urllibu   unquoteu   lstripu   getu   raise_for_statusu   sixu   PY3u   urlu   textu   contentu   openu   readu   IOErroru   sysu   exc_infou   stru   close(
   u   urlu
   comes_fromu   sessionu   matchu   schemeu   pathu   respu   fu   contentu   e(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu   get_file_content   sB    *	
	
u   ^(http|https|file):u   /*([a-z])\|c             C   sI   d |  k r d S|  j d d  d j   } | d d d d g t j k S(	   u)   Returns true if the name looks like a URLu   :i   i    u   httpu   httpsu   fileu   ftpF(   u   Falseu   splitu   loweru   vcsu   all_schemes(   u   nameu   scheme(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu   is_url   s    c             C   s   |  j  d  s t d |    |  t d  d  j d  } t j |  } t j |  r{ | d d | d d  } n
 d | } | S(   u(   
    Convert a file: URL to a path.
    u   file:u4   You can only turn file: urls into filenames (not %r)Nu   /i    u   :i   (   u
   startswithu   AssertionErroru   lenu   lstripu   urllibu   unquoteu   _url_drive_reu   match(   u   urlu   path(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu   url_to_path(  s    
u	   ^([a-z]):u   ^([a-z])[:|]c             C   s   t  j j t  j j |    }  t  j j |   \ } }  |  j t  j j  } d j d d   | D  } | s | j d  } n  d | | S(   uh   
    Convert a path to a file: URL.  The path will be made absolute and have
    quoted path parts.
    u   /c             S   s   g  |  ] } t  j |   q S(    (   u   urllibu   quote(   u   .0u   part(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu
   <listcomp>C  s   	 u   path_to_url.<locals>.<listcomp>u   file:///(	   u   osu   pathu   normpathu   abspathu
   splitdriveu   splitu   sepu   joinu   lstrip(   u   pathu   driveu   filepathu   url(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu   path_to_url;  s    c             C   s0   d	 } t  |   d j   } | | k r, d
 Sd S(   u9   Return True if `name` is a considered as an archive file.u   .zipu   .tar.gzu   .tar.bz2u   .tgzu   .taru	   .pybundleu   .whli   (   u   .zipu   .tar.gzu   .tar.bz2u   .tgzu   .taru	   .pybundleu   .whlTF(   u   splitextu   loweru   Trueu   False(   u   nameu   archivesu   ext(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu   is_archive_fileI  s     c             C   s3   t  |   } | r" | j |  n | j |  d  S(   N(   u   _get_used_vcs_backendu   exportu   unpack(   u   linku   locationu   only_downloadu   vcs_backend(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu   unpack_vcs_linkS  s    c             C   s=   x6 t  j D]+ } |  j | j k r
 | |  j  } | Sq
 Wd  S(   N(   u   vcsu   backendsu   schemeu   schemesu   url(   u   linku   backendu   vcs_backend(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu   _get_used_vcs_backend[  s    u   _get_used_vcs_backendc             C   s   t  t |    S(   N(   u   boolu   _get_used_vcs_backend(   u   link(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu
   is_vcs_urlb  s    c             C   s   |  j  j   j d  S(   Nu   file:(   u   urlu   loweru
   startswith(   u   link(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu   is_file_urlf  s    c             C   s   |  j  t j | j  j  k rQ t j d |  j  | | j f  t d |   n  |  j   | j k r t j d | |  j   | j f  t d | j | f   n  d  S(   NuP   Hash digest size of the package %d (%s) doesn't match the expected hash name %s!u!   Hash name mismatch for package %su?   Hash of the package %s (%s) doesn't match the expected hash %s!u   Bad %s hash for package %s(	   u   digest_sizeu   hashlibu   newu	   hash_nameu   loggeru   fatalu   HashMismatchu	   hexdigestu   hash(   u   download_hashu   link(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu   _check_hashj  s    		u   _check_hashc             C   s   y t  j | j  } Wn6 t t f k
 rN t j d | j | f  d  SYn Xt |  d  } x) | j	 d  } | sz Pn  | j
 |  qa | j   | S(   Nu'   Unsupported hash name %s for package %su   rbi   (   u   hashlibu   newu	   hash_nameu
   ValueErroru	   TypeErroru   loggeru   warnu   Noneu   openu   readu   updateu   close(   u   target_fileu   linku   download_hashu   fpu   chunk(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu   _get_hash_from_fileu  s    	
u   _get_hash_from_filec                s  t  | d  } d  } | j ro | j ro y t j | j  } Wqo t k
 rk t j d | j | f  Yqo Xn  y t	   j
 d  } Wn! t t t f k
 r d } Yn Xd } | d k p | } | j } z | r| r t j d | t |  f  q t j d |  n t j d	 |  t j d
 |    f d d   }	 x |	 d  D] }
 | t |
  7} | r| st j d t |   qt j d d | | t |  f  n  | d  k	 r| j |
  n  | j |
  qPW| j   Wd  | rt j d t |   n  X| S(   Nu   wbu'   Unsupported hash name %s for package %su   content-lengthi    i(   i  u   Downloading %s (%s): u   Downloading %s (unknown size): u   Downloading %su   Downloading from URL %sc             3   s   yd y, x%   j  j |  d d D] } | Vq WWn1 t k
 rb } z t |   WYd  d  } ~ Xn XWn9 t k
 r x$   j  j |   } | s Pn  | Vqw Yn Xd  S(   Nu   decode_contentF(   u   rawu   streamu   Falseu   IncompleteReadu   ChunkedEncodingErroru   AttributeErroru   read(   u
   chunk_sizeu   chunku   e(   u   resp(    u%   /tmp/pip-zej_zi-build/pip/download.pyu	   resp_read  s    #u    _download_url.<locals>.resp_readi   u   %su	   %3i%%  %sid   u   %s downloadedi@  (   u   openu   Noneu   hashu	   hash_nameu   hashlibu   newu
   ValueErroru   loggeru   warnu   intu   headersu   KeyErroru	   TypeErroru   show_urlu   start_progressu   format_sizeu   notifyu   infou   lenu   show_progressu   updateu   writeu   closeu   end_progress(   u   respu   linku   temp_locationu   fpu   download_hashu   total_lengthu
   downloadedu   show_progressu   show_urlu	   resp_readu   chunk(    (   u   respu%   /tmp/pip-zej_zi-build/pip/download.pyu   _download_url  sF    "	 (u   _download_urlc             C   s  d } t j j | | j  } t j j |  r t d t |  d	  } | d k r^ d
 } q | d k r t	 j
 d t |   t j |  q | d k r t |  } t	 j
 d t |  t |  f  t j | |  q n  | rt j |  |  t	 j d t |   n  d  S(   Nu/   The file %s exists. (i)gnore, (w)ipe, (b)ackup u   iu   wu   bu   Deleting %su   Backing up %s to %su   Saved %sT(   u   iu   wu   bF(   u   Trueu   osu   pathu   joinu   filenameu   existsu   ask_path_existsu   display_pathu   Falseu   loggeru   warnu   removeu
   backup_diru   shutilu   moveu   copyu   notify(   u   filenameu   locationu   content_typeu   linku   copyu   download_locationu   responseu	   dest_file(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu
   _copy_file  s&    		u
   _copy_filec          0   C   s  | d  k r t   } n  t j d d  } d  } |  j j d d  d } d } d  }	 d  }
 d  } | r t j j	 | t
 j | d   }	 |	 d }
 t j j |	  o t j j |
  } t j j |  s t |  q n  d  } | rt j j	 | |  j  } t j j |  sd  } qn  | r| } t j |  d } t j d |  |  j rt | |   } y t | |   Wqt k
 rt j d	 |  d  } t j |  d  } YqXqn  | r| rt |
   } | j   j   } Wd  QX|	 } t j d
 |	  |  j r|  j rt |	 |   } y t | |   Wqt k
 rt j d |  d  } t j |	  t j |
  d } YqXqn  | s-y# | j | d d } | j    WnH t! j" k
 r} z% t j# d | j$ j% |  f    WYd  d  } ~ Xn X| j& j d d  } |  j } | j& j d  } | r^t' j( |  \ } } | j d  pX| } n  t) |  d } | st j* |  } | r| | 7} qn  | r|  j | j k rt j j) | j  d } | r| | 7} qn  t j j	 | |  } t+ | |  |  } |  j r-|  j r-t | |   q-n  | rP| rPt, | | | |   n  t- | | | |   |	 r| rt. |	 | |  n  | p| st j |  n  t j/ |  d  S(   Nu   -unpacku   pip-u   #i   i    u    u   .content-typeu   File was already downloaded %su;   Previously-downloaded file %s has bad hash, re-downloading.u   Using download cache from %su,   Cached file %s has bad hash, re-downloading.u   streamu   HTTP error %s while getting %su   content-typeu   content-dispositionu   filenameFT(0   u   Noneu
   PipSessionu   tempfileu   mkdtempu   urlu   splitu   Falseu   osu   pathu   joinu   urllibu   quoteu   existsu   isdiru   create_download_cache_folderu   filenameu	   mimetypesu
   guess_typeu   loggeru   notifyu   hashu   _get_hash_from_fileu   _check_hashu   HashMismatchu   warnu   unlinku   openu   readu   stripu	   hash_nameu   getu   Trueu   raise_for_statusu   requestsu	   HTTPErroru   fatalu   responseu   status_codeu   headersu   cgiu   parse_headeru   splitextu   guess_extensionu   _download_urlu
   _copy_fileu   unpack_fileu   cache_downloadu   rmdir(   u   linku   locationu   download_cacheu   download_diru   sessionu   temp_diru   temp_locationu
   target_urlu   already_cachedu
   cache_fileu   cache_content_type_fileu   download_hashu   already_downloadedu   content_typeu   fpu   respu   excu   filenameu   content_dispositionu   typeu   paramsu   ext(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu   unpack_http_url  s    
			c       
      C   s  t  |  j  } d } t j j |  r` t j j |  rF t |  n  t j | | d d d  S|  j
 r t | |   } t | |   n  | rMt j j | |  j  } t j j |  rMt j |  d } t j d |  |  j
 rAt | |   } y t | |   d } WqGt k
 r=t j d |  t j |  YqGXqJd } qMn  | r\| }	 n | }	 t j |	  d } t |	 | | |   | r| rt |	 | | |   n  d  S(   Nu   symlinksi    u   File was already downloaded %su;   Previously-downloaded file %s has bad hash, re-downloading.FT(   u   url_to_pathu   url_without_fragmentu   Falseu   osu   pathu   isdiru   rmtreeu   shutilu   copytreeu   Trueu   hashu   _get_hash_from_fileu   _check_hashu   joinu   filenameu   existsu	   mimetypesu
   guess_typeu   loggeru   notifyu   HashMismatchu   warnu   unlinku   unpack_fileu
   _copy_file(
   u   linku   locationu   download_diru	   link_pathu   already_downloadedu   link_path_hashu   download_pathu   content_typeu   download_hashu	   from_path(    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu   unpack_file_urlR  sB    		
	F(R   u   cgiu   email.utilsu   emailu   hashlibu   getpassu	   mimetypesu   osu   platformu   reu   shutilu   sysu   tempfileu   pipu   pip.backwardcompatu   urllibu   urlparseu	   raw_inputu   pip.exceptionsu   InstallationErroru   HashMismatchu   pip.utilu   splitextu   rmtreeu   format_sizeu   display_pathu
   backup_diru   ask_path_existsu   unpack_fileu   create_download_cache_folderu   cache_downloadu   pip.vcsu   vcsu   pip.logu   loggeru   pip._vendoru   requestsu   sixu   pip._vendor.requests.adaptersu   BaseAdapteru   pip._vendor.requests.authu   AuthBaseu   HTTPBasicAuthu   pip._vendor.requests.compatu   IncompleteReadu   pip._vendor.requests.exceptionsu
   InvalidURLu   ChunkedEncodingErroru   pip._vendor.requests.modelsu   Responseu   pip._vendor.requests.structuresu   CaseInsensitiveDictu   __all__u
   user_agentu   MultiDomainBasicAuthu   objectu   LocalFSResponseu   LocalFSAdapteru   Sessionu
   PipSessionu   Noneu   get_file_contentu   compileu   Iu
   _scheme_reu   _url_slash_drive_reu   is_urlu   url_to_pathu	   _drive_reu   _url_drive_reu   path_to_urlu   is_archive_fileu   Falseu   unpack_vcs_linku   _get_used_vcs_backendu
   is_vcs_urlu   is_file_urlu   _check_hashu   _get_hash_from_fileu   _download_urlu
   _copy_fileu   unpack_http_urlu   unpack_file_url(    (    (    u%   /tmp/pip-zej_zi-build/pip/download.pyu   <module>   sh   @	"M#,
<y