£Á°è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>

7ReϏ  c               @   s  d  Z  d d l m Z d d l Z d d l m Z d d l Z d d l Z d d l Z d d l	 m
 Z
 m Z d d l m Z m Z m Z d d l m Z d d	 l m Z m Z d d
 l m Z m Z e j e  Z Gd d   d e
  Z Gd d   d e
  Z Gd d   d e
  Z Gd d   d e
  Z d d d g Z d Z  d Z! e j" d  Z# d d d d d d d d  d! d" d# f Z$ d d d d d$ d d d d  d! d" d# d% d& d' d( d) f Z% d' d( d) d% d& f Z& d d d d d$ d d d d  d! d" d* d+ d# d% d& d, d- d. d/ d0 d1 f Z' d. d/ d0 d, d1 d* d+ d- f Z( d d d d d$ d d d d  d! d" d* d+ d# d% d& d, d- d. d/ d0 d1 d2 d3 d4 d5 d6 f Z) d2 d6 d3 d4 d5 f Z* e+   Z, e, j- e$  e, j- e%  e, j- e'  e, j- e)  e j" d7  Z. d8 d9   Z/ d: d;   Z0 i d d< 6d d= 6d d> 6d d? 6d$ d@ 6d dA 6d dB 6d dC 6d  dD 6d! dE 6d" dF 6d* dG 6d+ dH 6d# dI 6d% dJ 6d& dK 6d, dL 6d. dM 6d/ dN 6d4 dO 6d0 dP 6d1 dQ 6d) dR 6d( dS 6d' dT 6d- dU 6d2 dV 6d3 dW 6d5 dX 6d6 dY 6Z1 d/ d, d. f Z2 d0 f Z3 d f Z4 d d% d' d) d( d, d. d/ d1 d- d$ d4 d6 d5 f Z5 d- f Z6 d f Z7 d! d* d d f Z8 e9   Z: e j" dZ  Z; e< d[ d\  Z= Gd] d^   d^ e9  Z> d_ Z? Gd` d   d e9  Z@ d S(a   u   Implementation of the Metadata for Python packages PEPs.

Supports all metadata formats (1.0, 1.1, 1.2, and 2.0 experimental).
i    (   u   unicode_literalsN(   u   message_from_filei   (   u   DistlibExceptionu   __version__(   u   StringIOu   string_typesu	   text_type(   u	   interpret(   u   extract_by_keyu
   get_extras(   u
   get_schemeu   PEP426_VERSION_REc             B   s   |  Ee  Z d  Z d Z d S(   u   MetadataMissingErroru   A required metadata is missingN(   u   __name__u
   __module__u   __qualname__u   __doc__(   u
   __locals__(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   MetadataMissingError   s   u   MetadataMissingErrorc             B   s   |  Ee  Z d  Z d Z d S(   u   MetadataConflictErroru>   Attempt to read or write metadata fields that are conflictual.N(   u   __name__u
   __module__u   __qualname__u   __doc__(   u
   __locals__(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   MetadataConflictError    s   u   MetadataConflictErrorc             B   s   |  Ee  Z d  Z d Z d S(   u    MetadataUnrecognizedVersionErroru    Unknown metadata version number.N(   u   __name__u
   __module__u   __qualname__u   __doc__(   u
   __locals__(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu    MetadataUnrecognizedVersionError$   s   u    MetadataUnrecognizedVersionErrorc             B   s   |  Ee  Z d  Z d Z d S(   u   MetadataInvalidErroru   A metadata value is invalidN(   u   __name__u
   __module__u   __qualname__u   __doc__(   u
   __locals__(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   MetadataInvalidError(   s   u   MetadataInvalidErroru   Metadatau   PKG_INFO_ENCODINGu   PKG_INFO_PREFERRED_VERSIONu   utf-8u   1.1u
   
       \|u   Metadata-Versionu   Nameu   Versionu   Platformu   Summaryu   Descriptionu   Keywordsu	   Home-pageu   Authoru   Author-emailu   Licenseu   Supported-Platformu
   Classifieru   Download-URLu	   Obsoletesu   Providesu   Requiresu
   Maintaineru   Maintainer-emailu   Obsoletes-Distu   Project-URLu   Provides-Distu   Requires-Distu   Requires-Pythonu   Requires-Externalu   Private-Versionu   Obsoleted-Byu   Setup-Requires-Distu	   Extensionu   Provides-Extrau"   extra\s*==\s*("([^"]+)"|'([^']+)')c             C   sP   |  d k r t  S|  d k r  t S|  d k r0 t S|  d k r@ t St |    d  S(   Nu   1.0u   1.1u   1.2u   2.0(   u   _241_FIELDSu   _314_FIELDSu   _345_FIELDSu   _426_FIELDSu    MetadataUnrecognizedVersionError(   u   version(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   _version2fieldlistf   s    u   _version2fieldlistc       	      C   s  d d   } g  } xB |  j    D]4 \ } } | g  d d f k rF q n  | j |  q Wd d d d g } x | D] } | t k r d | k r | j d  n  | t k r d | k r | j d  n  | t k r d | k r | j d  n  | t k rp d | k rp | j d  qp qp Wt |  d k r4| d	 St |  d	 k rUt	 d
   n  d | k om| | t
  } d | k o| | t  } d | k o| | t  } t |  t |  t |  d k rt	 d   n  | r| r| rt | k rt Sn  | rd S| rd Sd S(   u5   Detect the best version depending on the fields used.c             S   s%   x | D] } | |  k r d Sq Wd S(   NTF(   u   Trueu   False(   u   keysu   markersu   marker(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   _has_markert   s    u"   _best_version.<locals>._has_markeru   UNKNOWNu   1.0u   1.1u   1.2u   2.0i   i    u   Unknown metadata setu(   You used incompatible 1.1/1.2/2.0 fieldsN(   u   itemsu   Noneu   appendu   _241_FIELDSu   removeu   _314_FIELDSu   _345_FIELDSu   _426_FIELDSu   lenu   MetadataConflictErroru   _314_MARKERSu   _345_MARKERSu   _426_MARKERSu   intu   PKG_INFO_PREFERRED_VERSION(	   u   fieldsu   _has_markeru   keysu   keyu   valueu   possible_versionsu   is_1_1u   is_1_2u   is_2_0(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   _best_versionr   sB    &u   _best_versionu   metadata_versionu   nameu   versionu   platformu   supported_platformu   summaryu   descriptionu   keywordsu	   home_pageu   authoru   author_emailu
   maintaineru   maintainer_emailu   licenseu
   classifieru   download_urlu   obsoletes_distu   provides_distu   requires_distu   setup_requires_distu   requires_pythonu   requires_externalu   requiresu   providesu	   obsoletesu   project_urlu   private_versionu   obsoleted_byu	   extensionu   provides_extrau   [^A-Za-z0-9.]+c             C   sG   | r9 t  j d |   }  t  j d | j d d   } n  d |  | f S(   uh   Return the distribution name with version.

    If for_filename is true, return a filename-escaped form.u   -u    u   .u   %s-%s(   u	   _FILESAFEu   subu   replace(   u   nameu   versionu   for_filename(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   _get_name_and_version   s    !u   _get_name_and_versionc             B   s  |  Ee  Z d  Z d Z d= d= d= d d d  Z d d   Z d d   Z d	 d
   Z d d   Z	 d d   Z
 d d   Z d d   Z d d   Z d d   Z d d   Z d> d d  Z d d   Z d d   Z d d    Z d! d"   Z d> d# d$  Z d> d% d&  Z d= d' d(  Z d) d*   Z e d+ d,  Z d> d- d.  Z d> d/ d0  Z d1 d2   Z d3 d4   Z d5 d6   Z  d7 d8   Z! d9 d:   Z" d; d<   Z# d= S(?   u   LegacyMetadataua  The legacy metadata of a release.

    Supports versions 1.0, 1.1 and 1.2 (auto-detected). You can
    instantiate the class with one of these arguments (or none):
    - *path*, the path to a metadata file
    - *fileobj* give a file-like object with metadata as content
    - *mapping* is a dict-like object
    - *scheme* is a version scheme name
    u   defaultc             C   s   | | | g j  d   d k  r- t d   n  i  |  _ g  |  _ d  |  _ | |  _ | d  k	 rm |  j |  nB | d  k	 r |  j |  n& | d  k	 r |  j	 |  |  j
   n  d  S(   Ni   u'   path, fileobj and mapping are exclusive(   u   countu   Noneu	   TypeErroru   _fieldsu   requires_filesu   _dependenciesu   schemeu   readu	   read_fileu   updateu   set_metadata_version(   u   selfu   pathu   fileobju   mappingu   scheme(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   __init__   s    				u   LegacyMetadata.__init__c             C   s   t  |  j  |  j d <d  S(   Nu   Metadata-Version(   u   _best_versionu   _fields(   u   self(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   set_metadata_version  s    u#   LegacyMetadata.set_metadata_versionc             C   s   | j  d | | f  d  S(   Nu   %s: %s
(   u   write(   u   selfu   fileobju   nameu   value(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   _write_field
  s    u   LegacyMetadata._write_fieldc             C   s   |  j  |  S(   N(   u   get(   u   selfu   name(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   __getitem__  s    u   LegacyMetadata.__getitem__c             C   s   |  j  | |  S(   N(   u   set(   u   selfu   nameu   value(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   __setitem__  s    u   LegacyMetadata.__setitem__c             C   sB   |  j  |  } y |  j | =Wn t k
 r= t |   Yn Xd  S(   N(   u   _convert_nameu   _fieldsu   KeyError(   u   selfu   nameu
   field_name(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   __delitem__  s
    u   LegacyMetadata.__delitem__c             C   s%   | |  j  k p$ |  j |  |  j  k S(   N(   u   _fieldsu   _convert_name(   u   selfu   name(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   __contains__  s    u   LegacyMetadata.__contains__c             C   s8   | t  k r | S| j d d  j   } t j | |  S(   Nu   -u   _(   u   _ALL_FIELDSu   replaceu   loweru   _ATTR2FIELDu   get(   u   selfu   name(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   _convert_name  s    u   LegacyMetadata._convert_namec             C   s    | t  k s | t k r g  Sd S(   Nu   UNKNOWN(   u   _LISTFIELDSu   _ELEMENTSFIELD(   u   selfu   name(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   _default_value$  s    u   LegacyMetadata._default_valuec             C   s   t  j d |  S(   Nu   
(   u   _LINE_PREFIXu   sub(   u   selfu   value(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   _remove_line_prefix)  s    u"   LegacyMetadata._remove_line_prefixc             C   s$   | t  k r |  | St |   d  S(   N(   u   _ATTR2FIELDu   AttributeError(   u   selfu   name(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   __getattr__,  s    u   LegacyMetadata.__getattr__c             C   s   t  |  d |  d |  S(   uh   Return the distribution name with version.

        If filesafe is true, return a filename-escaped form.u   Nameu   Version(   u   _get_name_and_version(   u   selfu   filesafe(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   get_fullname7  s    u   LegacyMetadata.get_fullnamec             C   s   |  j  |  } | t k S(   u+   return True if name is a valid metadata key(   u   _convert_nameu   _ALL_FIELDS(   u   selfu   name(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   is_field=  s    u   LegacyMetadata.is_fieldc             C   s   |  j  |  } | t k S(   N(   u   _convert_nameu   _LISTFIELDS(   u   selfu   name(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   is_multi_fieldB  s    u   LegacyMetadata.is_multi_fieldc          
   C   s;   t  j | d d d } z |  j |  Wd | j   Xd S(   u*   Read the metadata values from a file path.u   ru   encodingu   utf-8N(   u   codecsu   openu	   read_fileu   close(   u   selfu   filepathu   fp(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   readF  s    u   LegacyMetadata.readc             C   s   t  |  } | d |  j d <x t D] } | | k r< q$ n  | t k r | j |  } | t k r | d k	 r d d   | D } n  |  j | |  q$ | | } | d k	 r$ | d k r$ |  j | |  q$ q$ W|  j   d S(   u,   Read the metadata values from a file object.u   metadata-versionu   Metadata-Versionc             S   s%   g  |  ] } t  | j d     q S(   u   ,(   u   tupleu   split(   u   .0u   value(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu
   <listcomp>[  s   	 u,   LegacyMetadata.read_file.<locals>.<listcomp>u   UNKNOWNN(	   u   message_from_fileu   _fieldsu   _ALL_FIELDSu   _LISTFIELDSu   get_allu   _LISTTUPLEFIELDSu   Noneu   setu   set_metadata_version(   u   selfu   fileobu   msgu   fieldu   valuesu   value(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu	   read_fileN  s    
u   LegacyMetadata.read_filec          
   C   s>   t  j | d d d } z |  j | |  Wd | j   Xd S(   u&   Write the metadata fields to filepath.u   wu   encodingu   utf-8N(   u   codecsu   openu
   write_fileu   close(   u   selfu   filepathu   skip_unknownu   fp(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   writed  s    u   LegacyMetadata.writec             C   s	  |  j    x t |  d  D] } |  j |  } | rT | d g  d g f k rT q n  | t k r |  j | | d j |   q n  | t k r | d k r | j d d  } n  | g } n  | t k r d d   | D } n  x! | D] } |  j | | |  q Wq Wd	 S(
   u0   Write the PKG-INFO format data to a file object.u   Metadata-Versionu   UNKNOWNu   ,u   Descriptionu   
u	   
       |c             S   s   g  |  ] } d  j  |   q S(   u   ,(   u   join(   u   .0u   value(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu
   <listcomp>}  s   	 u-   LegacyMetadata.write_file.<locals>.<listcomp>N(	   u   set_metadata_versionu   _version2fieldlistu   getu   _ELEMENTSFIELDu   _write_fieldu   joinu   _LISTFIELDSu   replaceu   _LISTTUPLEFIELDS(   u   selfu
   fileobjectu   skip_unknownu   fieldu   valuesu   value(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu
   write_filel  s     
u   LegacyMetadata.write_filec                s     f d d   } | s n^ t  | d  rU xL | j   D] } | | | |  q7 Wn$ x! | D] \ } } | | |  q\ W| r x* | j   D] \ } } | | |  q Wn  d S(   u  Set metadata values from the given iterable `other` and kwargs.

        Behavior is like `dict.update`: If `other` has a ``keys`` method,
        they are looped over and ``self[key]`` is assigned ``other[key]``.
        Else, ``other`` is an iterable of ``(key, value)`` iterables.

        Keys that don't match a metadata field or that have an empty value are
        dropped.
        c                s2   |  t  k r. | r.   j   j |   |  n  d  S(   N(   u   _ATTR2FIELDu   setu   _convert_name(   u   keyu   value(   u   self(    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   _set  s    u#   LegacyMetadata.update.<locals>._setu   keysN(   u   hasattru   keysu   items(   u   selfu   otheru   kwargsu   _setu   ku   v(    (   u   selfu5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   update  s    
u   LegacyMetadata.updatec             C   s  |  j  |  } | t k s' | d k rt t | t t f  rt t | t  rk d d   | j d  D } q g  } nF | t k r t | t t f  r t | t  r | g } q g  } n  t j	 t
 j  r|  d } t |  j  } | t k rF| d k	 rFx | D]; } | j | j d  d  st j d | | |  qqWq| t k r| d k	 r| j |  st j d	 | | |  qq| t k r| d k	 r| j |  st j d	 | | |  qqn  | t k r| d
 k r|  j |  } qn  | |  j | <d S(   u"   Control then set a metadata field.u   Platformc             S   s   g  |  ] } | j     q S(    (   u   strip(   u   .0u   v(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu
   <listcomp>  s   	 u&   LegacyMetadata.set.<locals>.<listcomp>u   ,u   Nameu   ;i    u   %r: %r is not valid (field %r)u(   %r: %r is not a valid version (field %r)u   DescriptionN(   u   _convert_nameu   _ELEMENTSFIELDu
   isinstanceu   listu   tupleu   string_typesu   splitu   _LISTFIELDSu   loggeru   isEnabledForu   loggingu   WARNINGu
   get_schemeu   schemeu   _PREDICATE_FIELDSu   Noneu   is_valid_matcheru   warningu   _VERSIONS_FIELDSu   is_valid_constraint_listu   _VERSION_FIELDSu   is_valid_versionu   _UNICODEFIELDSu   _remove_line_prefixu   _fields(   u   selfu   nameu   valueu   project_nameu   schemeu   v(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   set  s@    		
		u   LegacyMetadata.setc             C   s  |  j  |  } | |  j k r@ | t k r< |  j |  } n  | S| t k r] |  j | } | S| t k r |  j | } | d k r g  Sg  } xE | D]= } | t k r | j |  q | j | d | d f  q W| S| t	 k r|  j | } t
 | t  r| j d  Sn  |  j | S(   u   Get a metadata field.i    i   u   ,N(   u   _convert_nameu   _fieldsu   _MISSINGu   _default_valueu   _UNICODEFIELDSu   _LISTFIELDSu   Noneu   _LISTTUPLEFIELDSu   appendu   _ELEMENTSFIELDu
   isinstanceu   string_typesu   split(   u   selfu   nameu   defaultu   valueu   resu   val(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   get  s.    u   LegacyMetadata.getc                sx  |  j    g  g  } } x* d D]" } | |  k r | j |  q q W| rx | g  k rx d d j |  } t |   n  x* d D]" } | |  k r | j |  q q W|  d d k r | | f St |  j      f d	 d
   } x t | f t   j f t	   j
 f f D]b \ } } xS | D]K }	 |  j |	 d  }
 |
 d k	 r| |
  r| j d |	 |
 f  qqWqW| | f S(   uk   Check if the metadata is compliant. If strict is True then raise if
        no Name or Version are providedu   Nameu   Versionu   missing required metadata: %su   , u	   Home-pageu   Authoru   Metadata-Versionu   1.2c                s5   x. |  D]& }   j  | j d  d  s d Sq Wd S(   Nu   ;i    FT(   u   is_valid_matcheru   splitu   Falseu   True(   u   valueu   v(   u   scheme(    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   are_valid_constraints  s    u3   LegacyMetadata.check.<locals>.are_valid_constraintsu   Wrong value for %r: %s(   u   Nameu   Version(   u	   Home-pageu   AuthorN(   u   set_metadata_versionu   appendu   joinu   MetadataMissingErroru
   get_schemeu   schemeu   _PREDICATE_FIELDSu   _VERSIONS_FIELDSu   is_valid_constraint_listu   _VERSION_FIELDSu   is_valid_versionu   getu   None(   u   selfu   strictu   missingu   warningsu   attru   msgu   are_valid_constraintsu   fieldsu
   controlleru   fieldu   value(    (   u   schemeu5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   check  s2    

	"u   LegacyMetadata.checkc             C   s0  |  j    dB } i  } x; | D]3 \ } } | s? | |  j k r |  | | | <q q W|  d d k r dK } x | D]] \ } } | s | |  j k rq | d& k r |  | | | <q d, d-   |  | D | | <qq qq WnW |  d d. k r,dO } x> | D]3 \ } } | s| |  j k r |  | | | <q q Wn  | S(P   u   Return fields as a dict.

        Field names will be converted to use the underscore-lowercase style
        instead of hyphen-mixed case (i.e. home_page instead of Home-page).
        u   metadata_versionu   Metadata-Versionu   nameu   Nameu   versionu   Versionu   summaryu   Summaryu	   home_pageu	   Home-pageu   authoru   Authoru   author_emailu   Author-emailu   licenseu   Licenseu   descriptionu   Descriptionu   keywordsu   Keywordsu   platformu   Platformu
   classifieru
   Classifieru   download_urlu   Download-URLu   1.2u   requires_distu   Requires-Distu   requires_pythonu   Requires-Pythonu   requires_externalu   Requires-Externalu   provides_distu   Provides-Distu   obsoletes_distu   Obsoletes-Distu   project_urlu   Project-URLu
   maintaineru
   Maintaineru   maintainer_emailu   Maintainer-emailc             S   s   g  |  ] } d  j  |   q S(   u   ,(   u   join(   u   .0u   u(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu
   <listcomp>@  s   	 u)   LegacyMetadata.todict.<locals>.<listcomp>u   1.1u   providesu   Providesu   requiresu   Requiresu	   obsoletesu	   Obsoletes(   u   metadata_versionu   Metadata-Version(   u   nameu   Name(   u   versionu   Version(   u   summaryu   Summary(   u	   home_pageu	   Home-page(   u   authoru   Author(   u   author_emailu   Author-email(   u   licenseu   License(   u   descriptionu   Description(   u   keywordsu   Keywords(   u   platformu   Platform(   u
   classifieru
   Classifier(   u   download_urlu   Download-URL(   (   u   metadata_versionu   Metadata-Version(   u   nameu   Name(   u   versionu   Version(   u   summaryu   Summary(   u	   home_pageu	   Home-page(   u   authoru   Author(   u   author_emailu   Author-email(   u   licenseu   License(   u   descriptionu   Description(   u   keywordsu   Keywords(   u   platformu   Platform(   u
   classifieru
   Classifier(   u   download_urlu   Download-URL(   u   requires_distu   Requires-Dist(   u   requires_pythonu   Requires-Python(   u   requires_externalu   Requires-External(   u   provides_distu   Provides-Dist(   u   obsoletes_distu   Obsoletes-Dist(   u   project_urlu   Project-URL(   u
   maintaineru
   Maintainer(   u   maintainer_emailu   Maintainer-email(   (   u   requires_distu   Requires-Dist(   u   requires_pythonu   Requires-Python(   u   requires_externalu   Requires-External(   u   provides_distu   Provides-Dist(   u   obsoletes_distu   Obsoletes-Dist(   u   project_urlu   Project-URL(   u
   maintaineru
   Maintainer(   u   maintainer_emailu   Maintainer-email(   u   providesu   Provides(   u   requiresu   Requires(   u	   obsoletesu	   Obsoletes(   (   u   providesu   Provides(   u   requiresu   Requires(   u	   obsoletesu	   Obsoletes(   u   set_metadata_versionu   _fields(   u   selfu   skip_missingu   mapping_1_0u   datau   keyu
   field_nameu   mapping_1_2u   mapping_1_1(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   todict  sP    
                   %  u   LegacyMetadata.todictc             C   sL   |  d d k r: x' d D] } | |  k r |  | =q q Wn  |  d | 7<d  S(   Nu   Metadata-Versionu   1.1u	   Obsoletesu   Requiresu   Providesu   Requires-Dist(   u	   Obsoletesu   Requiresu   Provides(    (   u   selfu   requirementsu   field(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   add_requirementsN  s
    u   LegacyMetadata.add_requirementsc             C   s   t  t |  d   S(   Nu   Metadata-Version(   u   listu   _version2fieldlist(   u   self(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   keysY  s    u   LegacyMetadata.keysc             c   s    x |  j    D] } | Vq Wd  S(   N(   u   keys(   u   selfu   key(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   __iter__\  s    u   LegacyMetadata.__iter__c                s     f d d     j    D S(   Nc                s   g  |  ] }   |  q S(    (    (   u   .0u   key(   u   self(    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu
   <listcomp>a  s   	 u)   LegacyMetadata.values.<locals>.<listcomp>(   u   keys(   u   self(    (   u   selfu5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   values`  s    u   LegacyMetadata.valuesc                s     f d d     j    D S(   Nc                s    g  |  ] } |   | f  q S(    (    (   u   .0u   key(   u   self(    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu
   <listcomp>d  s   	 u(   LegacyMetadata.items.<locals>.<listcomp>(   u   keys(   u   self(    (   u   selfu5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   itemsc  s    u   LegacyMetadata.itemsc             C   s   d |  j  j |  j |  j f S(   Nu
   <%s %s %s>(   u	   __class__u   __name__u   nameu   version(   u   self(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   __repr__f  s    u   LegacyMetadata.__repr__NF($   u   __name__u
   __module__u   __qualname__u   __doc__u   Noneu   __init__u   set_metadata_versionu   _write_fieldu   __getitem__u   __setitem__u   __delitem__u   __contains__u   _convert_nameu   _default_valueu   _remove_line_prefixu   __getattr__u   Falseu   get_fullnameu   is_fieldu   is_multi_fieldu   readu	   read_fileu   writeu
   write_fileu   updateu   setu   _MISSINGu   getu   checku   todictu   add_requirementsu   keysu   __iter__u   valuesu   itemsu   __repr__(   u
   __locals__(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   LegacyMetadata   s>   		,,;u   LegacyMetadatau   pydist.jsonc             B   s  |  Ee  Z d  Z d Z e j d  Z e j d e j  Z e	 Z
 e j d  Z d Z d e Z i f  d 6f  d 6dQ d
 6Z d Z d Z i e f  f d 6e dR f d 6e
 dS f d 6e dT f d
 6Z dU Z dP dP dP d d d  Z e dV  Z dP e f Z dP e f Z i d e f d 6d e f d 6e d 6e d 6e d 6d e f d 6e d 6e d  6e d! 6e d" 6d# e f d$ 6dW d& 6dX d 6Z [ [ d( d)   Z dP d* d+  Z d, d-   Z e  d. d/    Z! e  d0 d1    Z" e" j# d2 d1    Z" dP dP d3 d4  Z$ e  d5 d6    Z% e  d7 d8    Z& e& j# d9 d8    Z& d: d;   Z' d< d=   Z( d> d?   Z) d@ dA   Z* i dB d 6dC d 6dD d 6dE d
 6dF dG 6d# d$ 6Z+ dH dI   Z, dP dP dY dZ dJ dK  Z/ dL dM   Z0 dN dO   Z1 dP S([   u   Metadatau   
    The metadata of a release. This implementation uses 2.0 (JSON)
    metadata where possible. If not possible, it wraps a LegacyMetadata
    instance which handles the key-value metadata format.
    u   ^\d+(\.\d+)*$u!   ^[0-9A-Z]([0-9A-Z_.-]*[0-9A-Z])?$u	   .{1,2047}u   2.0u   distlib (%s)u   nameu   versionu   legacyu   summaryuq   name version license summary description author author_email keywords platform home_page classifiers download_urluw   extras run_requires test_requires build_requires dev_requires provides meta_requires obsoleted_by supports_environmentsu   metadata_versionu   _legacyu   _datau   schemeu   defaultc             C   s  | | | g j  d   d k  r- t d   n  d  |  _ d  |  _ | |  _ | d  k	 r y |  j | |  | |  _ Wqt k
 r t d | d |  |  _ |  j	   YqXn d  } | r t
 | d   } | j   } Wd  QXn | r | j   } n  | d  k ri |  j d 6|  j d 6|  _ n t | t  s@| j d  } n  y) t j |  |  _ |  j |  j |  Wn: t k
 rt d	 t |  d |  |  _ |  j	   Yn Xd  S(
   Ni   u'   path, fileobj and mapping are exclusiveu   mappingu   schemeu   rbu   metadata_versionu	   generatoru   utf-8u   fileobj(   u   countu   Noneu	   TypeErroru   _legacyu   _datau   schemeu   _validate_mappingu    MetadataUnrecognizedVersionErroru   LegacyMetadatau   validateu   openu   readu   METADATA_VERSIONu	   GENERATORu
   isinstanceu	   text_typeu   decodeu   jsonu   loadsu
   ValueErroru   StringIO(   u   selfu   pathu   fileobju   mappingu   schemeu   datau   f(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   __init__  s>    			
u   Metadata.__init__u   licenseu   keywordsu   Requires-Distu   run_requiresu   Setup-Requires-Distu   build_requiresu   dev_requiresu   test_requiresu   meta_requiresu   Provides-Extrau   extrasu   modulesu
   namespacesu   exportsu   commandsu
   Classifieru   classifiersu   Download-URLu
   source_urlu   Metadata-Versionc             C   s  t  j |  d  } t  j |  d  } | | k r | | \ } } |  j r | d  k rs | d  k rg d  n |   } q |  j j |  } q| d  k r d  n |   } |  j j | |  } nQ | | k r t  j |  |  } n0 |  j r |  j j |  } n |  j j |  } | S(   Nu   common_keysu   mapped_keys(   u   objectu   __getattribute__u   _legacyu   Noneu   getu   _data(   u   selfu   keyu   commonu   mappedu   lku   makeru   resultu   value(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   __getattribute__  s     		u   Metadata.__getattribute__c             C   so   | |  j  k rk |  j  | \ } } | p. |  j | k rk | j |  } | sh t d | | f   qh qk n  d  S(   Nu*   %r is an invalid value for the %r property(   u   SYNTAX_VALIDATORSu   schemeu   matchu   MetadataInvalidError(   u   selfu   keyu   valueu   schemeu   patternu
   exclusionsu   m(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   _validate_value  s    u   Metadata._validate_valuec             C   s"  |  j  | |  t j |  d  } t j |  d  } | | k r | | \ } } |  j r~ | d  k rn t  n  | |  j | <q| |  j | <n | | k r t j |  | |  nn | d k r t | t	  r | j
   } | r | j   } q g  } q n  |  j r| |  j | <n | |  j | <d  S(   Nu   common_keysu   mapped_keysu   keywords(   u   _validate_valueu   objectu   __getattribute__u   _legacyu   Noneu   NotImplementedErroru   _datau   __setattr__u
   isinstanceu   string_typesu   stripu   split(   u   selfu   keyu   valueu   commonu   mappedu   lku   _(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   __setattr__  s*    			u   Metadata.__setattr__c             C   s   t  |  j |  j d  S(   NT(   u   _get_name_and_versionu   nameu   versionu   True(   u   self(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   name_and_version  s    u   Metadata.name_and_versionc             C   sd   |  j  r |  j  d } n |  j j d g   } d |  j |  j f } | | k r` | j |  n  | S(   Nu   Provides-Distu   providesu   %s (%s)(   u   _legacyu   _datau
   setdefaultu   nameu   versionu   append(   u   selfu   resultu   s(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   provides  s    	u   Metadata.providesc             C   s*   |  j  r | |  j  d <n | |  j d <d  S(   Nu   Provides-Distu   provides(   u   _legacyu   _data(   u   selfu   value(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   provides%  s    	c       
   	   C   sL  |  j  r | } n6g  } t | p$ g  |  j  } x | D] } d | k r^ d | k r^ d } nZ d | k rs d } n | j d  | k } | r | j d  } | r t | |  } q n  | r7 | j | d  q7 q7 Wxo d D]g } d | }	 |	 | k r | j |	  |  j j d | g   } | j |  j	 | d	 | d
 |  q q W| S(   u  
        Base method to get dependencies, given a set of extras
        to satisfy and an optional environment context.
        :param reqts: A list of sometimes-wanted dependencies,
                      perhaps dependent on extras and environment.
        :param extras: A list of optional components being requested.
        :param env: An optional environment for marker evaluation.
        u   extrau   environmentu   requiresu   buildu   devu   testu   :%s:u   %s_requiresu   extrasu   envT(   u   buildu   devu   test(
   u   _legacyu
   get_extrasu   extrasu   Trueu   getu	   interpretu   extendu   removeu   _datau   get_requirements(
   u   selfu   reqtsu   extrasu   envu   resultu   du   includeu   markeru   keyu   e(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   get_requirements,  s0    					
u   Metadata.get_requirementsc             C   s   |  j  r |  j   S|  j S(   N(   u   _legacyu   _from_legacyu   _data(   u   self(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu
   dictionaryV  s    	
u   Metadata.dictionaryc             C   s)   |  j  r t  n t |  j |  j  Sd  S(   N(   u   _legacyu   NotImplementedErroru   extract_by_keyu   _datau   DEPENDENCY_KEYS(   u   self(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   dependencies\  s    		u   Metadata.dependenciesc             C   s&   |  j  r t  n |  j j |  d  S(   N(   u   _legacyu   NotImplementedErroru   _datau   update(   u   selfu   value(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   dependenciesc  s    		c       	      C   s   | j  d  |  j k r$ t    n  g  } xH |  j j   D]7 \ } } | | k r: | | k rq | j |  qq q: q: W| r d d j |  } t |   n  x- | j   D] \ } } |  j | | |  q Wd  S(   Nu   metadata_versionu   Missing metadata items: %su   , (	   u   getu   METADATA_VERSIONu    MetadataUnrecognizedVersionErroru   MANDATORY_KEYSu   itemsu   appendu   joinu   MetadataMissingErroru   _validate_value(	   u   selfu   mappingu   schemeu   missingu   keyu
   exclusionsu   msgu   ku   v(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   _validate_mappingj  s    u   Metadata._validate_mappingc             C   s`   |  j  rF |  j  j d  \ } } | s- | r\ t j d | |  q\ n |  j |  j |  j  d  S(   Nu#   Metadata: missing: %s, warnings: %sT(   u   _legacyu   checku   Trueu   loggeru   warningu   _validate_mappingu   _datau   scheme(   u   selfu   missingu   warnings(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   validatex  s    		u   Metadata.validatec             C   s6   |  j  r |  j  j d  St |  j |  j  } | Sd  S(   NT(   u   _legacyu   todictu   Trueu   extract_by_keyu   _datau
   INDEX_KEYS(   u   selfu   result(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   todict  s    	u   Metadata.todictc       
      C   s-  |  j  r |  j s t  i |  j d 6|  j d 6} |  j  j d  } xF d D]> } | | k rL | d k rs d	 } n | } | | | | <qL qL W| j d
 g   } | d g k r g  } n  | | d <d } xE | D]= \ } } | | k r | | r i | | d 6g | | <q q W|  j | d <i  } i  }	 | S(   Nu   metadata_versionu	   generatoru   nameu   versionu   licenseu   summaryu   descriptionu
   classifieru   classifiersu   Keywordsu    u   keywordsu   requires_distu   run_requiresu   setup_requires_distu   build_requiresu   requiresu   providesT(   u   nameu   versionu   licenseu   summaryu   descriptionu
   classifier(   u   requires_distu   run_requires(   u   setup_requires_distu   build_requires(   (   u   requires_distu   run_requires(   u   setup_requires_distu   build_requires(	   u   _legacyu   _datau   AssertionErroru   METADATA_VERSIONu	   GENERATORu   todictu   Trueu   getu   provides(
   u   selfu   resultu   lmdu   ku   nku   kwu   keysu   oku   authoru
   maintainer(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   _from_legacy  s2    

		
 u   Metadata._from_legacyu   Nameu   Versionu   Licenseu   Summaryu   Descriptionu   descriptionc             C   s   d d   } |  j  r |  j s% t  t   } |  j  } x: |  j j   D]) \ } } | | k rG | | | | <qG qG W| |  j |  j  } | |  j |  j	  } |  j
 r t |  j
  | d <n  t |  | d <t |  | d <| S(   Nc             S   s   t    } x |  D] } | j d  } | j d  } | d } x | D] } | ri | ri | j |  qE d } | r d | } n  | r | r d | | f } q | } n  | j d j | | f   qE Wq W| S(   Nu   extrau   environmentu   requiresu    u   extra == "%s"u   (%s) and %su   ;(   u   setu   getu   addu   join(   u   entriesu   reqtsu   eu   extrau   envu   rlistu   ru   marker(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   process_entries  s"    	
	$u,   Metadata._to_legacy.<locals>.process_entriesu   Provides-Extrau   Requires-Distu   Setup-Requires-Dist(   u   _datau   _legacyu   AssertionErroru   LegacyMetadatau   LEGACY_MAPPINGu   itemsu   run_requiresu   meta_requiresu   build_requiresu   dev_requiresu   extrasu   sorted(   u   selfu   process_entriesu   resultu   nmdu   nku   oku   r1u   r2(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu
   _to_legacy  s    			u   Metadata._to_legacyc             C   s  | | g j  d   d k r* t d   n  |  j   | r |  j rO |  j } n |  j   } | rw | j | d | q| j | d | n |  j r |  j   } n	 |  j	 } | r t
 j | | d d
 d d d d
 n@ t j | d d	  ) } t
 j | | d d
 d d d d
 Wd  QXd  S(   Ni   u)   Exactly one of path and fileobj is neededu   skip_unknownu   ensure_asciiu   indenti   u	   sort_keysu   wu   utf-8T(   u   countu   Noneu
   ValueErroru   validateu   _legacyu
   _to_legacyu   writeu
   write_fileu   _from_legacyu   _datau   jsonu   dumpu   Trueu   codecsu   open(   u   selfu   pathu   fileobju   legacyu   skip_unknownu	   legacy_mdu   du   f(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   write  s&    
			
u   Metadata.writec             C   s   |  j  r |  j  j |  n |  j j d g   } d  } x0 | D]( } d | k r> d | k r> | } Pq> q> W| d  k r i | d 6} | j d |  n* t | d  t |  B} t |  | d <d  S(   Nu   run_requiresu   environmentu   extrau   requiresi    (   u   _legacyu   add_requirementsu   _datau
   setdefaultu   Noneu   insertu   setu   sorted(   u   selfu   requirementsu   run_requiresu   alwaysu   entryu   rset(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   add_requirements  s    	u   Metadata.add_requirementsc             C   s;   |  j  p d } |  j p d } d |  j j |  j | | f S(   Nu	   (no name)u
   no versionu   <%s %s %s (%s)>(   u   nameu   versionu	   __class__u   __name__u   metadata_version(   u   selfu   nameu   version(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   __repr__  s    u   Metadata.__repr__N(   u   legacy(   u   legacy(   u   legacy(   u   legacy(   u   _legacyu   _datau   scheme(   u   nameu   versionu   licenseu   keywordsu   summary(   u   Download-URLN(   u   Metadata-VersionNFT(2   u   __name__u
   __module__u   __qualname__u   __doc__u   reu   compileu   METADATA_VERSION_MATCHERu   Iu   NAME_MATCHERu   PEP426_VERSION_REu   VERSION_MATCHERu   SUMMARY_MATCHERu   METADATA_VERSIONu   __version__u	   GENERATORu   MANDATORY_KEYSu
   INDEX_KEYSu   DEPENDENCY_KEYSu   SYNTAX_VALIDATORSu	   __slots__u   Noneu   __init__u   setu   common_keysu   listu	   none_listu   dictu	   none_dictu   mapped_keysu   __getattribute__u   _validate_valueu   __setattr__u   propertyu   name_and_versionu   providesu   setteru   get_requirementsu
   dictionaryu   dependenciesu   _validate_mappingu   validateu   todictu   _from_legacyu   LEGACY_MAPPINGu
   _to_legacyu   Falseu   Trueu   writeu   add_requirementsu   __repr__(   u
   __locals__(    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   Metadatan  s   

	,

*	
%(A   u   __doc__u
   __future__u   unicode_literalsu   codecsu   emailu   message_from_fileu   jsonu   loggingu   reu    u   DistlibExceptionu   __version__u   compatu   StringIOu   string_typesu	   text_typeu   markersu	   interpretu   utilu   extract_by_keyu
   get_extrasu   versionu
   get_schemeu   PEP426_VERSION_REu	   getLoggeru   __name__u   loggeru   MetadataMissingErroru   MetadataConflictErroru    MetadataUnrecognizedVersionErroru   MetadataInvalidErroru   __all__u   PKG_INFO_ENCODINGu   PKG_INFO_PREFERRED_VERSIONu   compileu   _LINE_PREFIXu   _241_FIELDSu   _314_FIELDSu   _314_MARKERSu   _345_FIELDSu   _345_MARKERSu   _426_FIELDSu   _426_MARKERSu   setu   _ALL_FIELDSu   updateu   EXTRA_REu   _version2fieldlistu   _best_versionu   _ATTR2FIELDu   _PREDICATE_FIELDSu   _VERSIONS_FIELDSu   _VERSION_FIELDSu   _LISTFIELDSu   _LISTTUPLEFIELDSu   _ELEMENTSFIELDu   _UNICODEFIELDSu   objectu   _MISSINGu	   _FILESAFEu   Falseu   _get_name_and_versionu   LegacyMetadatau   METADATA_FILENAMEu   Metadata(    (    (    u5   /tmp/pip-zej_zi-build/pip/_vendor/distlib/metadata.pyu   <module>	   s   																		8
									 