£Á°è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>

Re
'  c               @   s  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 e  j d k r d  d l	 j
 j j j Z n e j e  j Z y
 e Z Wn e k
 r d Z Yn Xe Z d  d l m Z d  d l m Z d  d l m Z m Z d d d d	 g Z d
 d	   Z Gd d   d  Z e e  d  rJe  j g Z  n g  Z  y' d  d l! m" Z" e  j# e"    [" Wn e$ k
 rYn XGd d   d e  Z% e j& e j' d d   d j(   D  Z) Gd d   d e  Z* d S(   i    Nu   java(   u   DistutilsError(   u   working_set(   u   builtinsu   execfileu   AbstractSandboxu   DirectorySandboxu   SandboxViolationu	   run_setupc                s  t  j   } t j d d  } t j d d  } t  j j t  j j    } t  j j | d  } t  j j |  s t  j	 |  n  t
 j } t j j     t j   } z | t
 _ t  j |  yv  g t |  t j d d  <t j j d |  t j   t j j d d    t |  j  f d d    Wn> t k
 rzt j   d }	 |	 j rv|	 j d rv  n  Yn XWd t j |  t j j      f d d	   t j D }
 t t t j j |
   t  j |  | t j d d  <| t j d d  <| t
 _ Xd S(
   u8   Run a distutils setup script, sandboxed in its directoryNu   tempi    c             S   s
   |  j    S(   N(   u   activate(   u   dist(    (    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   <lambda>0   s    u   run_setup.<locals>.<lambda>c                  s   t  d i   d 6d d 6 S(   Nu   setup.pyu   __file__u   __main__u   __name__(   u   execfile(    (   u   setup_script(    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   <lambda>2   s   i   c                s2   g  |  ]( } |   k r | j  d   r |  q S(   u
   encodings.(   u
   startswith(   u   .0u   mod_name(   u   save_modules(    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu
   <listcomp>A   s   	 u   run_setup.<locals>.<listcomp>(    u   osu   getcwdu   sysu   argvu   pathu   abspathu   dirnameu   joinu   isdiru   makedirsu   tempfileu   tempdiru   modulesu   copyu   pkg_resourcesu   __getstate__u   chdiru   listu   insertu   working_setu   __init__u	   callbacksu   appendu   DirectorySandboxu   runu
   SystemExitu   exc_infou   argsu   __setstate__u   updateu   mapu   __delitem__(   u   setup_scriptu   argsu   old_diru	   save_argvu	   save_pathu	   setup_diru   temp_diru   save_tmpu   pr_stateu   vu   del_modules(    (   u   save_modulesu   setup_scriptu+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu	   run_setup   s@     		 
c             B   s  |  Ee  Z d  Z d Z d4 Z d d   Z d d   Z d d   Z d d	   Z	 x< d
 d d g D]+ Z
 e e e
  r\ e	 e
  e   e
 <q\ q\ Wd3 d d  Z e r e d e  Z n  e d e  Z xl d d d d d d d d d d d d d d d d d  d! d" g D]+ Z
 e e e
  re e
  e   e
 <qqWd# d$   Z x9 d% d& g D]+ Z
 e e e
  rIe e
  e   e
 <qIqIWd' d(   Z x9 d) d* g D]+ Z
 e e e
  re e
  e   e
 <qqWd+ d,   Z d- d.   Z d/ d0   Z d1 d2   Z d3 S(5   u   AbstractSandboxuD   Wrap 'os' module and 'open()' builtin for virtualizing setup scriptsc                s&     f d d   t  t  D   _ d  S(   Nc                s5   g  |  ]+ } | j  d   r t   |  r |  q S(   u   _(   u
   startswithu   hasattr(   u   .0u   name(   u   self(    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu
   <listcomp>T   s   	 u,   AbstractSandbox.__init__.<locals>.<listcomp>(   u   diru   _osu   _attrs(   u   self(    (   u   selfu+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   __init__R   s    u   AbstractSandbox.__init__c             C   s1   x* |  j  D] } t t | t | |   q
 Wd  S(   N(   u   _attrsu   setattru   osu   getattr(   u   selfu   sourceu   name(    (    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   _copyX   s    u   AbstractSandbox._copyc             C   s{   zB |  j  |   t r% |  j t _ n  |  j t _ d |  _ |   SWd d |  _ t r` t t _ n  t t _ |  j  t	  Xd S(   u   Run 'func' under os sandboxingNTF(
   u   _copyu   _fileu   builtinsu   fileu   _openu   openu   Trueu   _activeu   Falseu   _os(   u   selfu   func(    (    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   run\   s    			u   AbstractSandbox.runc                s(   t  t        f d d   } | S(   Nc                s@   |  j  r- |  j   | | | |  \ } } n   | | | |  S(   N(   u   _activeu   _remap_pair(   u   selfu   srcu   dstu   argsu   kw(   u   nameu   original(    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   wrapn   s    	$u3   AbstractSandbox._mk_dual_path_wrapper.<locals>.wrap(   u   getattru   _os(   u   nameu   wrap(    (   u   nameu   originalu+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   _mk_dual_path_wrapperl   s    u%   AbstractSandbox._mk_dual_path_wrapperu   renameu   linku   symlinkc                s.    p t  t        f d d   } | S(   Nc                s4   |  j  r$ |  j   | | |  } n   | | |  S(   N(   u   _activeu   _remap_input(   u   selfu   pathu   argsu   kw(   u   nameu   original(    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   wrapy   s    	u5   AbstractSandbox._mk_single_path_wrapper.<locals>.wrap(   u   getattru   _os(   u   nameu   originalu   wrap(    (   u   nameu   originalu+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   _mk_single_path_wrapperw   s    u'   AbstractSandbox._mk_single_path_wrapperu   fileu   openu   statu   listdiru   chdiru   chmodu   chownu   mkdiru   removeu   unlinku   rmdiru   utimeu   lchownu   chrootu   lstatu	   startfileu   mkfifou   mknodu   pathconfu   accessc                s(   t  t        f d d   } | S(   Nc                sM   |  j  r= |  j   | | |  } |  j    | | |   S | | |  S(   N(   u   _activeu   _remap_inputu   _remap_output(   u   selfu   pathu   argsu   kw(   u   nameu   original(    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   wrap   s    	u4   AbstractSandbox._mk_single_with_return.<locals>.wrap(   u   getattru   _os(   u   nameu   wrap(    (   u   nameu   originalu+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   _mk_single_with_return   s    u&   AbstractSandbox._mk_single_with_returnu   readlinku   tempnamc                s(   t  t        f d d   } | S(   Nc                s,    | |   } |  j  r( |  j   |  S| S(   N(   u   _activeu   _remap_output(   u   selfu   argsu   kwu   retval(   u   nameu   original(    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   wrap   s    	u'   AbstractSandbox._mk_query.<locals>.wrap(   u   getattru   _os(   u   nameu   wrap(    (   u   nameu   originalu+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu	   _mk_query   s    u   AbstractSandbox._mk_queryu   getcwdu   tmpnamc             C   s   | S(   u=   Called to remap or validate any path, whether input or output(    (   u   selfu   path(    (    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   _validate_path   s    u   AbstractSandbox._validate_pathc             O   s   |  j  |  S(   u   Called for path inputs(   u   _validate_path(   u   selfu	   operationu   pathu   argsu   kw(    (    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   _remap_input   s    u   AbstractSandbox._remap_inputc             C   s   |  j  |  S(   u   Called for path outputs(   u   _validate_path(   u   selfu	   operationu   path(    (    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   _remap_output   s    u   AbstractSandbox._remap_outputc             O   s6   |  j  | d | | |  |  j  | d | | |  f S(   u?   Called for path pairs like rename, link, and symlink operationsu   -fromu   -to(   u   _remap_input(   u   selfu	   operationu   srcu   dstu   argsu   kw(    (    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   _remap_pair   s    u   AbstractSandbox._remap_pairNF(   u   __name__u
   __module__u   __qualname__u   __doc__u   Falseu   _activeu   __init__u   _copyu   runu   _mk_dual_path_wrapperu   nameu   hasattru   _osu   localsu   Noneu   _mk_single_path_wrapperu   _fileu   _openu   _mk_single_with_returnu	   _mk_queryu   _validate_pathu   _remap_inputu   _remap_outputu   _remap_pair(   u
   __locals__(    (    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   AbstractSandboxM   s>     	 	 u   devnull(   u   GetGeneratePathc             B   s   |  Ee  Z d  Z d Z e j d d d d d d d d	 d
 d d d d g  Z d g Z e d d  Z	 d d   Z
 e r d d d  Z n  d d d  Z d d   Z d d   Z d d   Z d d    Z d! d"   Z d# d$ d%  Z d& S('   u   DirectorySandboxu<   Restrict operations to a single subdirectory - pseudo-chrootu   openu   chmodu   chownu   mkdiru   removeu   unlinku   rmdiru   utimeu   lchownu   chrootu   mkfifou   mknodu   tempnamu   .*lib2to3.*\.pickle$c             C   sc   t  j j t  j j |   |  _ t  j j |  j d  |  _ d d   | D |  _ t j	 |   d  S(   Nu    c             S   s.   g  |  ]$ } t  j j t  j j |    q S(    (   u   osu   pathu   normcaseu   realpath(   u   .0u   path(    (    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu
   <listcomp>   s   	u-   DirectorySandbox.__init__.<locals>.<listcomp>(
   u   osu   pathu   normcaseu   realpathu   _sandboxu   joinu   _prefixu   _exceptionsu   AbstractSandboxu   __init__(   u   selfu   sandboxu
   exceptions(    (    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   __init__   s
    !	u   DirectorySandbox.__init__c             O   s   t  | | |   d  S(   N(   u   SandboxViolation(   u   selfu	   operationu   argsu   kw(    (    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu
   _violation   s    u   DirectorySandbox._violationu   rc             O   sK   | d k r8 |  j  |  r8 |  j d | | | |  n  t | | | |  S(   Nu   ru   rtu   rbu   rUu   Uu   file(   u   ru   rtu   rbu   rUu   U(   u   _oku
   _violationu   _file(   u   selfu   pathu   modeu   argsu   kw(    (    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   _file   s    u   DirectorySandbox._filec             O   sK   | d k r8 |  j  |  r8 |  j d | | | |  n  t | | | |  S(   Nu   ru   rtu   rbu   rUu   Uu   open(   u   ru   rtu   rbu   rUu   U(   u   _oku
   _violationu   _open(   u   selfu   pathu   modeu   argsu   kw(    (    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   _open   s    u   DirectorySandbox._openc             C   s   |  j  d  d  S(   Nu   tmpnam(   u
   _violation(   u   self(    (    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   tmpnam   s    u   DirectorySandbox.tmpnamc             C   ss   |  j  } zY d |  _  t j j t j j |   } |  j |  p` | |  j k p` | j |  j	  SWd  | |  _  Xd  S(   NF(
   u   _activeu   Falseu   osu   pathu   normcaseu   realpathu	   _exemptedu   _sandboxu
   startswithu   _prefix(   u   selfu   pathu   activeu   realpath(    (    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   _ok   s    		u   DirectorySandbox._okc                sT     f d d   |  j  D }   f d d   |  j D } t j | |  } t |  S(   Nc             3   s   |  ] }   j  |  Vq d  S(   N(   u
   startswith(   u   .0u	   exception(   u   filepath(    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu	   <genexpr>   s   u-   DirectorySandbox._exempted.<locals>.<genexpr>c             3   s!   |  ] } t  j |    Vq d  S(   N(   u   reu   match(   u   .0u   pattern(   u   filepath(    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu	   <genexpr>   s   (   u   _exceptionsu   _exception_patternsu	   itertoolsu   chainu   any(   u   selfu   filepathu   start_matchesu   pattern_matchesu
   candidates(    (   u   filepathu+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu	   _exempted   s    u   DirectorySandbox._exemptedc             O   sH   | |  j  k rD |  j |  rD |  j | t j j |  | |  n  | S(   u   Called for path inputs(   u	   write_opsu   _oku
   _violationu   osu   pathu   realpath(   u   selfu	   operationu   pathu   argsu   kw(    (    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   _remap_input  s    %u   DirectorySandbox._remap_inputc             O   sF   |  j  |  s  |  j  |  r< |  j | | | | |  n  | | f S(   u?   Called for path pairs like rename, link, and symlink operations(   u   _oku
   _violation(   u   selfu	   operationu   srcu   dstu   argsu   kw(    (    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   _remap_pair	  s     u   DirectorySandbox._remap_pairi  c             O   sR   | t  @r9 |  j |  r9 |  j d | | | | |  n  t j | | | | |  S(   u   Called for low-level os.open()u   os.open(   u   WRITE_FLAGSu   _oku
   _violationu   _osu   open(   u   selfu   fileu   flagsu   modeu   argsu   kw(    (    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   open  s    u   DirectorySandbox.openN(   u   __name__u
   __module__u   __qualname__u   __doc__u   dictu   fromkeysu	   write_opsu   _exception_patternsu   _EXCEPTIONSu   __init__u
   _violationu   _fileu   _openu   tmpnamu   _oku	   _exemptedu   _remap_inputu   _remap_pairu   open(   u
   __locals__(    (    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   DirectorySandbox   s    		c             C   s"   g  |  ] } t  t | d    q S(   i    (   u   getattru   _os(   u   .0u   a(    (    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu
   <listcomp>  s   	 u
   <listcomp>u4   O_WRONLY O_RDWR O_APPEND O_CREAT O_TRUNC O_TEMPORARYc             B   s&   |  Ee  Z d  Z d Z d d   Z d S(   u   SandboxViolationuE   A setup script attempted to modify the filesystem outside the sandboxc             C   s   d |  j  S(   Nu  SandboxViolation: %s%r %s

The package setup script has attempted to modify files on your system
that are not within the EasyInstall build area, and has been aborted.

This package cannot be safely installed by EasyInstall, and may not
support alternate installation locations even if you run its setup
script by hand.  Please inform the package's author and the EasyInstall
maintainers to find out if a fix or workaround is available.(   u   args(   u   self(    (    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   __str__  s    	u   SandboxViolation.__str__N(   u   __name__u
   __module__u   __qualname__u   __doc__u   __str__(   u
   __locals__(    (    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   SandboxViolation  s   (+   u   osu   sysu   tempfileu   operatoru	   functoolsu	   itertoolsu   reu   pkg_resourcesu   nameu$   org.python.modules.posix.PosixModuleu   pythonu   modulesu   posixu   PosixModuleu   _osu   fileu   _fileu	   NameErroru   Noneu   openu   _openu   distutils.errorsu   DistutilsErroru   working_setu   setuptools.compatu   builtinsu   execfileu   __all__u	   run_setupu   AbstractSandboxu   hasattru   devnullu   _EXCEPTIONSu   win32com.client.gencacheu   GetGeneratePathu   appendu   ImportErroru   DirectorySandboxu   reduceu   or_u   splitu   WRITE_FLAGSu   SandboxViolation(    (    (    u+   /tmp/pip-k8wh6o-build/setuptools/sandbox.pyu   <module>   sF   
0hS