Skip to content
This repository
Browse code

Refresh bundled copy of distribute (now at 0.6.30).

This fixes #301 and integrates another local change we had made to
distribute_setup.py: https://bitbucket.org/tarek/distribute/issue/328/
  • Loading branch information...
commit 5e0994489fc690a745b6ccf379029f38b775cf58 1 parent 98b8160
Gabriel de Perthuis g2p authored
2  bin/refresh-support-files.py
@@ -23,7 +23,7 @@
23 23 ('http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11-py2.6.egg', 'setuptools-0.6c11-py2.6.egg'),
24 24 ('http://pypi.python.org/packages/2.5/s/setuptools/setuptools-0.6c11-py2.5.egg', 'setuptools-0.6c11-py2.5.egg'),
25 25 ('http://pypi.python.org/packages/2.4/s/setuptools/setuptools-0.6c11-py2.4.egg', 'setuptools-0.6c11-py2.4.egg'),
26   - ('http://pypi.python.org/packages/source/d/distribute/distribute-0.6.28.tar.gz', 'distribute-0.6.28.tar.gz'),
  26 + ('http://pypi.python.org/packages/source/d/distribute/distribute-0.6.30.tar.gz', 'distribute-0.6.30.tar.gz'),
27 27 ('http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz', 'pip-1.2.1.tar.gz'),
28 28 ]
29 29
304 virtualenv.py
@@ -2010,73 +2010,73 @@ def convert(s):
2010 2010
2011 2011 ##file ez_setup.py
2012 2012 EZ_SETUP_PY = convert("""
2013   -eJzNWmtv49a1/a5fwSgwJGE0NN8PDzRFmkyBAYrcIo8CFx5XPk+LHYpUSWoctch/v+ucQ1KkZDrt
2014   -RT6UwcQ2ebjPfq6195G+/upwanZlMZvP538sy6ZuKnKwatEcD01Z5rWVFXVD8pw0GRbNPkrrVB6t
2015   -Z1I0VlNax1qM16qnlXUg7DN5EovaPLQPp7X192PdYAHLj1xYzS6rZzLLhXql2UEI2QuLZ5VgTVmd
2016   -rOes2VlZs7ZIwS3CuX5BbajWNuXBKqXZqZN/dzebWbhkVe4t8c+tvm9l+0NZNUrL7VlLvW58a7m6
2017   -sqwS/zhCHYtY9UGwTGbM+iKqGk5Qe59fXavfsYqXz0VeEj7bZ1VVVmurrLR3SGGRvBFVQRrRLzpb
2018   -utabMqzipVWXFj1Z9fFwyE9Z8TRTxpLDoSoPVaZeLw8qCNoPj4+XFjw+2rPZT8pN2q9Mb6wkCqs6
2019   -4vdamcKq7KDNa6OqtTw8VYQP42irZJi1zqtP9ey7D3/65uc//7T964cffvz4P99bG2vu2BFz3Xn/
2020   -6Ocf/qz8qh7tmuZwd3t7OB0y2ySXXVZPt21S1Lc39S3+63e7nVs3ahe79e/9nf8wm+15uOWkIRD4
2021   -Lx2xxfmNt9icum8PJ8/2bfH0tLizFknieYzI1HG90OFJkNA0jWgsvZBFImJksX5FStBJoXFKEhI4
2022   -vghCx5OUJqEQvnTTwI39kNEJKd5YlzAK4zhMeUIinkgWBE7skJQ7sRd7PE1fl9LrEsAAknA3SrlH
2023   -RRS5kvgeiUToiUAm3pRF/lgXSn2XOZLFfpqSyA/jNI1DRngqQ+JEbvKqlF4XPyEJw10eCcY9zwti
2024   -6capjDmJolQSNiElGOsSeU4QEi8QPBCuoCyOpXD8lJBARDIW4atSzn5h1CNuEkKPhBMmJfW4C30c
2025   -n/rUZcHLUthFvlBfejQM/ZRHiGss44DwOHU9CCKpk0xYxC7zBfZwweHJKOYe96QUbuA4qR8F0iPB
2026   -RKSZ64yVYXCHR2jIfeJ4YRSEEeLDXD9xHBI7qfO6mF6bMOZ4ETFKaeLEscfClIQ+SQLfJyHnk54x
2027   -YsJODBdBRFgCX6YxS9IwjD0RiiREOgqasPh1MVGvTSJQSURIJ4KDPCaiwA0gzYORcPhEtAEqY994
2028   -lAiCGnZ9jvdRRl4iYkpCGhJoxMXrYs6R4pGfypQ6EBawwAvS2PEDLpgnmMO8yUi5Y99EAUsD6VMZ
2029   -kxhZ6AuW+MKhHsIdByn1XhfT+4ZKknqu41COMHHUBCQJzn0EPgqcJJoQc4Ez0nGigMqIEI/G3IFa
2030   -8GyAxHYSN2beVKAucCZyIzf1hGB+KINYIGpuxHhEXA9SvXhKygXOSDcBQAF8uUSqEC9MWQop0uUx
2031   -jRM5gVbsAmeEI3gcRInH0jShksbwdOIgex3EPHangu2Pg0SokG4kOYdhYRi6QRK4LAZ+8TRJo3BK
2032   -ygVaUYemru8SRqjvOXAGcC6WQcBCAEXsylel9BYhSST2jHggqfRRUVSmQcQcuAqoJ6YSJhhblCi0
2033   -BvD7HuM0ZbFHmQwAX14kvYTIKbQKxxYJkUqeOFAHBYmMlb4ApocxAIMnbjQV6XBsEZHAKi7BKm7s
2034   -uELAuTHIKaQMhEeiKZQJL2KUcF9GAISAMUKS2A2QONyPKWPc5yGfkBKNLULBJGD5xHUjMFGSBLEH
2035   -EWDMMEhR2lPAGV2wGwsjIsOYwr/oHlANkQNDgsBHgYVkChuisUXUkwmJQw9kD9ilPkjaQai5CCVa
2036   -idCfkBJfwJ2DGMmUcOaTyA1F6LohyhAtRQIInMyX+IIJSCLTMAALcGC5I2kUM+lKD2HAI2+qAuKx
2037   -RQE4lgBvJVoGFGDgB67rSi4S38W/eEqX5KIbclQv5KXwSMrBHyoFAeCJ76jGynldSm8Ro8RPgA3o
2038   -OYLEZ47KWWQbnM3ALJM0kIwtcmPPjQFyCHTKmRs6YeqQMKG+QJ2n4VSk07FF0J0FDpoZV3mYBmkk
2039   -AiapcBLYypypSKcXyIAkQ2MHbvWThEdAJyKEEwG8WOQHU/1dK6W3SAqE1hchcWPqegxhYmHg0hjc
2040   -C+YXU0ySjvmIEZSNKxVqEk9wAJOb+mC2mIaphx4HUn6dDSYCjDf1rKlOd2bg2pF6l2e0m7fQu8/E
2041   -L0xg1Pio73xQI1G7Fg+H62ZcSGv7heQZun2xxa0ldNoWmAfXlhoAVnfagExa3X01M3bjgXmoLp5h
2042   -tmgwLigR+kV7J34xdzHfdcsgp1351aaXct+JfjjLUxfmLkyD79+r6aRuuKgw1y1HK9Q1Vya1FrTz
2043   -4Q2mMIIxjH9lWcu/lHWd0Xww/mGkw9/7P6zmV8JuejNHj1ajv5Q+4pesWXrmfoXgVoV2l3HoxXCo
2044   -F7Xj1eZimFv3am0pqcVmMNCtMSluMapuytpmxwq/mWTqX+AiJ6eNG87aIGFs/ObYlHv4gWG6PGEU
2045   -Lfhtb/bgpEDN9XvyGbHE8PwFriLKQXCeMu1Amp0Z5x9bpR+telcec66mWWJ8PZTWTebFcU9FZTU7
2046   -0lgYhHvBWpaagAvlXUti6u2VOhZcvyKsx5EjHi010i6fdxnbdbsLaK2OJow8a3G7WNlQ0njpUW2p
2047   -5AyOMXaiGh2QPGeYuek5EwRfIyNNgmuVixL+yCtB+OmsPvb4KAfqabfr7dqzCS2mabXU0qjQqrQO
2048   -0ScWrCx4bXzTqXEgSBTlVHhElVXWZAhd8TQ4zzARb+0vC6HPE8zZCDd6wallrnz44vmI0rI9bBCt
2049   -MH2WU5VH7CSMKqbOiLUXdU2ehDngOBfd46POl4pktbB+PNWN2H/4RfmrMIEoLNLgnjnZIFRBizJe
2050   -paAyxpx62F2G6p/PpN4aFIL9G2tx+Py0rURdHism6oVCGLX9vuTHXNTqlGQAoJePTU2g6jjyoHXb
2051   -cnVGEpVym3PRDOqy9dhFCXZlt74otDMGdEViw7OiapbOWm0yALkWqPud3g1Pd2h3zLdtA7PVwLxR
2052   -MkyAAOyXskYO0g9fQPj+pQ6Qhg5pH13vMBJtt8m1nJ81fr+Zv2ldtXrXyh6qMBbwV7Py27KQecaa
2053   -QRxgokFOBstluVzduw9DYhgmxX9KBPOfdufCmCiF5fvNTb3qy7wrb33K+akYc8GckWLRqGrrqwdw
2054   -ok72dPm0J3mqkI5FgSy3rb/kAsnTLb+Sp8pLVTmwScCWTkOZVXWzBmGoSllAwqnLCuvtzwPlF/aF
2055   -vE/Fp2L57bGqIA1IbwTcVBeUtgKhndNc2KR6qu+dh9fp7MWwfpchZzN6VBT7fdn8qQRwD3KI1PWs
2056   -LcR8/OZ6WKv3F5X+oF75Gk7RXFB+HtHpMHsNr75UxL83uapSR6aOWPW7FyhUFy05U4CVl8w0IBos
2057   -jQ1ZY86DdUPxX0qpBpDViX9Hqb/FqOqe2vWaTg3KP54ZcoIFS8N9HfUpCmHNkeRnI1pKGdNG94FC
2058   -BWahHjJrh3zMTdJ23enGGkDX25sanfZNrRrt+bAWLg68TeJD7pAplM+sN+OGsCZfBLTfoAE3FPD3
2059   -MiuWHWF0S424umJKnO6Kvwd3d420Qp/uddRd3dRLI3Z1p4rhmy9lphLoIIhix06dui+2EXqrS6ci
2060   -hyDljbrzUl4+jVap1lvFZfyuurDSfiZVsVR+fvv7XebzkBYrW3CuX8ryG50S6nOSpfgiCvUHzDlA
2061   -2dlO5AfV5X002TboNPpUQSui8l99krNUrpgB5dcWoGqmbu1RzoWAI/EK6lD1uQBd8awglmB4rWv9
2062   -9hDWNSjbs3ZLoHHb0Zx3hMq8y2Z7NlsCEcWd8rAWsydsp5orXgrDNTuEF0o0z2X1ud10bR0MYZS0
2063   -Ie2ncAopNErcAEwVisADTPfoegEknyuxrZxKtAQ0NMBe/Z5RRFKsr1JmALpX7ZPOsrWqpqvX0D/o
2064   -ZG0yNUe2bVIuxOGd+bG86LTG2dnBsKa6eq63uKAyXXItPtj4WR5Esbxa9rX1A1r82+cqawA+iDH8
2065   -q5trYPjntfog8FlFT3UArFJlCGhkZVUddXLk4kKYjvswPVTP3Qi9vsPE7mo/VJsauWGArcaP5Wqs
2066   -sUERbY3BivX8mc7hTjywtR1m6O5fwuinRsC7SwjABnd6F5aXtViuriCibu600OHzls060IKCufql
2067   -g63Zv3Mp/t4j05foQb6spxj7zLkfX/uIVHPsB3RL7aqOIF5qnS8+en6tbzajQo/VVxLPa14fJ/Rc
2068   -7lx3WeOhYTQz6Jip0hhMCqzc72GoPWoLu8Mb0o5f3dXGSLs4BxdoP6/eqLOVh5VO02exqHRaC0vR
2069   -+G+mirJU+fmCq5Ta1xyCRccC897nZW+WyGsxiMawF7e329Zb2621wQDo2I7tLv7jrv9/AfAaXNUU
2070   -TOsyF6jViUG46+NBJqZXv+rRK7Evv2i81ZEw33DQ8y6YowH05r+BuxfN92SX3RbVP8bNymDOGnY7
2071   -16PfvzG+4ecrzfzkjPZya/H/ScnXyqwX/JtSrrL5pbrryu1hPKFrZzsrJD6sUuyPwDGdKerJyxmq
2072   -dvmdHNCrrzU/+2W0pQ6gSvPl/Mertmi+7hBlDhB80kRUqcNeJCGapHNCz1cvCFwsf0A/Ne++jGMf
2073   -TuOJcm6+ZnP9TRR7tWjHreOhZ6huiKnPAP2zfmqpIqHHLG/emnNhyHxSs+JJYfIwj6t2AlLdVneO
2074   -3Is9u0R33ef+Wv2pVizPfbUW0rGhps1FRRfnZ/2xsnr3oT2Slh2tvngsLXu6M0OgIen7ufrjprrD
2075   -vzXQAgNE22ualqzbyAb97uvl6qF/2a5hcU+eBzVWzOdmVjA0PXQMQoAhsulmBv39oU13134SjSlb
2076   -dX85nKW3umfYbtu8713Sylhb2i3v2qaoc8C7S2P3pME8uIGedi1IxXbL+adi+P2fT8Xy/m+/PrxZ
2077   -/TrXDcpqOMjotwdo9AJmg8r1N7BySygc+Gp+XaYdJhpV8f/7Oy3Y1s330l09YBDTjnyjn5qHGF7x
2078   -6O7hZfMXz21OyLZB6lUfOGAGMzo/bjaL7VaV7Ha76D/1yJVEqKmr+L2nCbH7+959wDtv38JZplQG
2079   -BDaonX65d/fwEjNqlDjLVIvM9X+XVxF7
  2013 +eJzNWmmP20YS/a5fwSgYSIJlDu9DhrzIJg5gIMgGuYCFPavpc8SYIhWS8li7yH/f181DJDWcJIt8
  2014 +WAbOzJDN6qpXVa+qWvr8s+O52ufZbD6f/z3Pq7IqyNEoRXU6VnmelkaSlRVJU1IlWDR7K41zfjIe
  2015 +SVYZVW6cSjFcq54WxpGwD+RBLMr6oXk8r41fTmWFBSw9cWFU+6ScySQV6pVqDyHkIAyeFIJVeXE2
  2016 +HpNqbyTV2iAZNwjn+gW1oVpb5Ucjl/VOrfzNZjYzcMkiPxji3zt930gOx7yolJa7i5Z63fDWcnVl
  2017 +WSF+PUEdgxjlUbBEJsz4KIoSIKi9L6+u1e9YxfPHLM0Jnx2SosiLtZEXGh2SGSStRJGRSnSLLpau
  2018 +9aYMq3hulLlBz0Z5Oh7Tc5I9zJSx5Hgs8mORqNfzo3KCxuH+fmzB/b05m/2oYNK4Mr2xkiiM4oTf
  2019 +S2UKK5KjNq/xqtby+FAQ3vejqYJh1oBXnsvZV2++/uKnb37c/fzm+x/e/uNbY2vMLTNgtj3vHv30
  2020 +/TcKV/VoX1XHze3t8XxMzDq4zLx4uG2Cory9KW/xX7fb7dy4UbuYDb7vNu7dbHbg/o6TikDgf7TH
  2021 +Fpc3XmJzar88nh3TNcXDw2JjLKLIcRiRsWU7vsUjL6JxHNBQOj4LRMDIYv2MFK+VQsOYRMSzXOH5
  2022 +liMpjXwhXGnHnh26PqMTUpyhLn7gh6Ef84gEPJLM86zQIjG3Qid0eBw/L6XTxYMBJOJ2EHOHiiCw
  2023 +JXEdEgjfEZ6MnCmL3KEulLo2syQL3TgmgeuHcRz6jPBY+sQK7OhZKZ0ubkQihrs8EIw7juOF0g5j
  2024 +GXISBLEkbEKKN9QlcCzPJ44nuCdsQVkYSmG5MSGeCGQo/GelXHBh1CF25EOPiBMmJXW4DX0sl7rU
  2025 +Zt7TUtgoXqgrHer7bswD+DWUoUd4GNsOBJHYiiYsYuN4gT1ccCAZhNzhjpTC9iwrdgNPOsSb8DSz
  2026 +raEyDHA4hPrcJZbjB54fwD/MdiPLIqEVW8+L6bTxQ44X4aOYRlYYOsyPie+SyHNd4nM+iUwtxm/F
  2027 +cOEFhEXAMg5ZFPt+6AhfRD7CUdCIhc+LCTptIoFMIkJaAQBymAg824M0B0YC8Alvg1SG2DiUCIIc
  2028 +tl2O95FGTiRCSnzqE2jExfNiLp7igRvLmFoQ5jHP8eLQcj0umCOYxZxJT9lDbAKPxZ50qQxJiCh0
  2029 +BYtcYVEH7g69mDrPi+mwoZLEjm1ZlMNNHDkBSYJzF44PPCsKJsSMeEZaVuBRGRDi0JBbUAvIeghs
  2030 +K7JD5kw5asQzgR3YsSMEc33phQJeswPGA2I7kOqEU1JGPCPtCAQF8uUSoUIcP2YxpEibhzSM5ARb
  2031 +sRHPCEvw0Asih8VxRCUNgXRkIXot+Dy0p5ztDp1EqJB2IDmHYb7v217k2SwEf/E4igN/SsqIrahF
  2032 +Y9u1CSPUdSyAAZ4LpecxH0QR2vJZKZ1FCBKJPQPuSSpdZBSVsRcwC1CB9cRUwHhDiyLF1iB+12Gc
  2033 +xix0KJMe6MsJpBMROcVW/tAiIWLJIwvqICERsdIV4HQ/BGHwyA6mPO0PLSISXMUlqoodWrYQADdE
  2034 +cfIpQ8EjwRTL+CMfRdyVAQjBY4yQKLQ9BA53Q8oYd7nPJ6QEQ4uQMBGqfGTbASpRFHmhAxGomL4X
  2035 +I7WniDMYVTfmB0T6IQW+6B6QDYEFQzzPRYL5ZIobgqFF1JERCX0HxR60S10UaQuu5sKXaCV8d0JK
  2036 +OKI7Cz6SMeHMJYHtC9+2faQhWooIFDgZL+GoEpBIxr6HKsDB5ZakQcikLR24AY+cqQwIhxZ5qLEE
  2037 +fCvRMiABPdezbVtyEbk2/oVTukSjbshSvZATA5GYo36oEASBR66lGivreSmdRYwSNwI3oOfwIpdZ
  2038 +KmYRbQCbobJMloFoaJEdOnYIkoOjY85s3/Jji/gRdQXyPPanPB0PLYLuzLPQzNgKYerFgfCYpMKK
  2039 +YCuzpjwdj5gBQYbGDrXVjSIegJ2IEFYA8mKB6031d42UziIp4FpX+MQOqe0wuIn5nk1D1F5UfjFV
  2040 +SeJhPWIEaWNLxZrEERzEZMcuKltI/dhBjwMpv816EwHGm3JWFedNPXDtSblPE9rOW+jdZ+ITExg1
  2041 +3uo7b9RI1KzFw/66GRfS2H0kaYJuX+xwawmddhnmwbWhBoDVRhuQSKO9r2bGdjyoH6qLJ5gtKowL
  2042 +SoR+0dyLT/VdzHftMshpVn627aS8a0XfXeSpC3MXpsHXr9V0UlZcFJjrloMV6porkxoLmvnwBlMY
  2043 +wRjGPzOM5Xd5WSY07Y1/GOnw9+Fvq/mVsJvOzMGj1eAvpY/4lFRLp75fwLlFpuGqAR0Nh3pRM15t
  2044 +R8PculNrR0kptr2Bbo1JcYdRdZuXJjsV+K0Opu4FLlJy3tr+rHESxsYvTlV+AA4M0+UZo2jGbzuz
  2045 +eycFaq4/kA/wJYbnj4CKKIAAnjLtSKp9Pc7fN0rfG+U+P6VcTbOkxrovrZ3Ms9OBisKo9qQyMAh3
  2046 +grUsNQFnCl1DYurtlDplXL8ijPsBEPeGGmmXj/uE7dvdBbRWRxO1PGNxu1iZULJG6V5tqeT0jjH2
  2047 +ohgckDwmmLnpJRIEXyMi6wDXKmc58EgLQfj5oj72eCt76mnY9XbN2YQWUzVaamlUaFUaQPSJBcsz
  2048 +XtbYtGocCQJFgQpEVFolVQLXZQ+984za4439eSb0eUJ9NsJrvQBqnioMnzwfUVo2hw2iEabPcor8
  2049 +hJ1ErUqdZ8Q4iLIkD6I+4Lgk3f29jpeCJKUwfjiXlTi8+aTwympHZAapcK8+2SBUUYsyXoWgMqY+
  2050 +9TDbCNU/H0m5q1kI9m+NxfHDw64QZX4qmCgXimHU9oecn1JRqlOSHoGOH9c5gazjiIMGtuXqwiQq
  2051 +5LaXpOnlZYPYKAXbtFuPEu3CAW2SmEBWFNXSWqtNeiTXEHW306v+6Q5tj/l2jWN2mpi3SkbtIBD7
  2052 +WNYAIP3wCYbvXmoJqQ9I8+h6h4Foswmu5fyi8evt/EUD1epVI7uvwlDAz/XKL/NMpgmrAM2mz/59
  2053 +z/9Ztp//uL9E/0S8L19vb8pVl8ttDuujzPfZkPDnjGSLSqVUlyLgDHV8p3OkOa5T2XLKMoSyaXyX
  2054 +CkRIu/xKnsohlcogIAFbWg1lUpQA4lSqdFhAwrl1vfHyp57yC3Mk7332Plt+eSoKSAOd1wJuilHd
  2055 +WqFqXWJZmKR4KN9Zd8/XrCd991WCwEzoSdXRb/Pq6xzs3AsUUpazJtvS4ZvrfkK+G6XznXrlc4Ci
  2056 +CT//MKiZ/RCti+dTmfpXV1CVz8i4Qen86ok6qTOTXHjeSHNWdxmaEWsbkqo+9NVdw/9p3axZVx3r
  2057 +t3Xz98qmuqd2va6ZNZXfX8rgRKnL6wLX1jdVJ1h1IunFiKZuDGtD+6lBgfJBHUTWHvGY1kHbtqBb
  2058 +o8dPL29KtNM3peqm5/1cGJ1q14EPuf1yoDAzXgy7vpJ8FNB+iy675vlf8iRbtlWhXVqLKwumxOnW
  2059 +91sU6LZbVuzTvo68K6tyWYtdbVQyfPExT1QAHQVRJbBVp+ySbUDR6tKhyCFIoVG2KKX5w2CV6q+V
  2060 +X4bvqgsrzUdSZEuF88u/7qo/9Gi4siHn8qkov9EhoT4MWYqPIlN/wJwjlJ3tRXpUrdzbOtp67UQX
  2061 +Kug3VPyrj2uWCooZWH5tgKpm6tYB6ZwJAIlXkIeqmQXpikdFsQQTalnqt/u0rknZnDVbgo2btuWy
  2062 +I1TmbTSbs9kSjCg2CmEt5kDYXnVQPBd1rdnDvVCiesyLD82ma+NYF4ycVqT5qE0xhWaJG5CpYhEg
  2063 +wHQjrhdA8iUTm8wpRFOA+gaYq7/SiwiK9VXI9Ej3qkfSUbZW2XT1GpoEHaxVoobFphdKhTi+qn8s
  2064 +R+3UMDpbGtalrpzrLUalTKdcww8mfuZHkS2vln1ufI8+/vaxSCqQD3wMfHUHDQ7/sFaf9j0q76kO
  2065 +gBUqDUGNLC+Kkw6OVIyEab/3w0M11pXQ61tObK/mk7OpuRoGmGrGWK6GGtcsoq2puWI9f6RzwIkH
  2066 +prajnqy7lzDfqTlvM6YAbLDRu7A0L8VydUURZbXRQvvPm2rWkhYUTNUvLW3N/sil6vcBkb5ED/Jx
  2067 +PVWxLzX37XOfg+oa+wbdUrOqLRBP9cejz5efa47reaDj6iuJlzXPzwx6+Lauu6zhZDAYDLTPVGr0
  2068 +xgGWHw4w1By0he0JDWlmrPZqfKQhTlELNM6rF+oA5W6lw/RRLAod1sJQZfx3Q0VZqnAe1Sql9nUN
  2069 +waJThqHuw7IzS6TlsMHvmbbbNWjtdsYWU55lWqa9+NNd/z9B8Jpc1ahLyzwVyNWJabft41FM6l79
  2070 +qkcvxCH/qPlWe6L+GoMealE5KlBv+ju8O2q+J7vsJql+HTYrvWGq3+1cz3d/YEbDz2ea+dEgtpmO
  2071 +9v85JJ9Ls07w70q5iuan8q5Nt7vhGK7BtlYIfFilqj8cx3SkqCdPR6ja5S8CoFNfa37BZbCldqAO
  2072 +8/kPV23RfN0yyhwk+KALUaFOdBGEaJIuAT1/Qt5i+T3aqXn7hRvzeB4OlPP6qzTX3zYxV4vmpPLY
  2073 +1ad2hCkv9PyTfmqoFKGnJK1e1ke/EPmgJsWzYuR+FBfN/KN6rfaouBN7AUT33JfuWv2pViwvXbUW
  2074 +0tZCXTQXBV1cnnUnx+rdu+bUWbZF9cmTZ9kVu3oErEv0u7n646bY4N8aXIHxoek064as3chE8T2U
  2075 +y9Vd97JZwuKudB7VUDGf15NCXaT7wMADGCGrdmLQXxHatnfNB1HVSavuL/uT9E53DLtdE/UdJI2M
  2076 +taFhedW0RC0Ar8bGHkiFaXALPc1SkILtl/P3Wf8rPu+z5bt//Xb3YvXbXLcnq/4Yo9/ucdETjI1C
  2077 +rr9klRpCscBn8+skbRmxVhX/f7fRgk3dei/t1R3GMA3kC/20fojRFY82d0+bv3hsYkI27VGneg+A
  2078 +GcxocdxuF7udStjdbtF9sJEqiVBT5/BrR5fD9u939h3eefkSYNWp0itfvdzpljubu6fqouaIi0y1
  2079 +qL7+C1AkCcw=
2080 2080 """)
2081 2081
2082 2082 ##file distribute_from_egg.py
@@ -2089,89 +2089,93 @@ def convert(s):
2089 2089
2090 2090 ##file distribute_setup.py
2091 2091 DISTRIBUTE_SETUP_PY = convert("""
2092   -eJztO21z27jR3/Ur8MjjIZVKtJ27XjueRzeTuzhXz6VJJnZ6HxIPDZGQxDPfDiQtq7++uwuAAF9k
2093   -O722M52p2nMkYrFY7PsuwKP/K/f1tsgn0+n0h6Koq1ryksUJ/JusmlqwJK9qnqa8TgBocrlm+6Jh
2094   -O57XrC5YUwlWibop66JIK4DFUclKHt3xjfAqNRiU+zn7talqAIjSJhas3ibVZJ2kiB5+ABKeCVhV
2095   -iqgu5J7tknrLknrOeB4zHsc0ARdE2LooWbFWKxn85+eTCYPPWhaZQ31I4yzJykLWSG1oqSX47iN/
2096   -NtihFL81QBbjrCpFlKyTiN0LWQEzkAY7dY7fASoudnla8HiSJVIWcs4KSVziOeNpLWTOgacGyO54
2097   -TotGABUXrCrYas+qpizTfZJvJrhpXpayKGWC04sShUH8uL3t7+D2NphMrpFdxN+IFkaMgskGvle4
2098   -lUgmJW1PS5eoLDeSx648A1SKiWZeUZlv1bapk7T9tW8H6iQT5vs6z3gdbdshkZVIT/ubS/rZygtR
2099   -VkZQabGZTGq5P7cyrRLURTX86eriY3h1eX0xEQ+RgI1c0vMLZLia0kKwJXtX5MLBZshuVsDQSFSV
2100   -UpxYrFmoTCGMsth/weWmmqkp+MGfgMyH7QbiQURNzVepmM/YH2iohZPAPZk76IMI+OsTNrZcstPJ
2101   -QaKPQO1BFCAokGnM1iATRRB7GXzzLyXyiP3WFDWoFj5uMpHXwPo1LJ+DZloweISYSjB+ICZD8j2A
2102   -+ealZ5c0ZCFCgducdcc0Hg/+B6YO48Nhh23e9LiaeuwYAQdwGqY/pDf92VJArIMvesXqpi+dogqq
2103   -koMN+vDtQ/jLq8vrOesxjb1wZfb64s2rT2+vw79dfLy6fP8O1pueBt8FL/88bYc+fXyLj7d1XZ6f
2104   -nJT7MgmUqIJCbk60S6xOKnBbkTiJT6yXOplOri6uP324fv/+7VX45tXPF697C0VnZ9OJC/Th55/C
2105   -y3dv3uP4dPpl8ldR85jXfPE35ZzO2VlwOnkHXvXcMehJO3pcTa6aLONgFewBPpO/FJlYlEAh/Z68
2106   -aoBy6X5fiIwnqXryNolEXmnQ10K5E8KLD4AgkOChHU0mE1Jj7Xl88AQr+HduXFGIbF/6s5kxCvEA
2107   -ISkibSXvr+BpsM5K8KDAA+Neguwuxu/gyHEc/Eiw4zL3vQuLBJTiuPLmerICLNI43MWACPRhI+po
2108   -F2sMrdsgKDDmLczx3akExYkI5dOCohS52ZaFCfU+9J47k4MoLSqB0cda6KbQxOKm2zjRAoCDUVsH
2109   -okpeb4NfAV4TNseHKaiXQ+vn05vZcCMKix2wDHtX7NiukHcuxwy0Q6UWGkapIY7LdpC9bpXdm7n+
2110   -JS/qjkfzTECH5TyNHL6+cJWj52Hselegw5AowHI7cGlsJwv4GjfSqI6bygQOHT0sQhC0QM/MMnDh
2111   -YBWMr4p7YSatkxzwjGmGUiSLWsXKQGa1FKLVG20CqyYBcLHZ+PDfnLWWUBchgv3PAP4LDIBkSJE0
2112   -ZyDFEUQ/tBCOFSCsFYSSt+XUIYNY/IZ/Vxg5UG3o0QJ/wR/pIPqXKKnan4qYRvekqJq07qoWEKKA
2113   -tTkbeYgHIKyiYUuD5Akkw5fvKe3xvR+LJo1pFvFR2d1mg3ambSSGLels2deJ97zNn8MVr4TZtvM4
2114   -Finf61WR0X0l0fCeDcGL42pR7o/jAP6PnB1NUuBzzCwVmDDoHxDN1gVo2MjDs5vZ89mjjQYIbvfi
2115   -5PYH9n+I1t7nAJes1j3hjgiQ8kEkH3ypkLV/OmdW/jqz7lZYTjmxMvWlCf4hpfZLMhwl7141o3e8
2116   -7KVfPQ4snRRslBtqB0s0gEaOMGF59sc5CCdc8zuxvJaNaH1vxskBVA2UgDtKzElH+aoqUjRj5MXE
2117   -LuFoGoDgv77LvR2vQsUlgb7WK+82IZgUZYQVJcjI36yIm1RUWJN9aXfjWa70AYd+uvPDEU1nvS6A
2118   -Us4tr3hdS78DCIYSxk78Hk3wcbbm4HiGT0PdWrsPop2DrYtaiEMlUztT5fW/x1scZl6HGYFuCPhT
2119   -y5Lvl1OosPR6sxHC+vvoYtRJ+Y9Fvk6TqO4uLkBPVGUSkT/xZ+BR+qJz9WrIfZwOoRDymWAnoYz2
2120   -BxDTa/LttLHY7W84fSD/++UxlENJRaLm91AMUJ30JZ8O8WHbJuK5V2M1q40dMO+22JKgXo5uQcA3
2121   -2eQYXwL2IRUgoFF8pk3BWVZIJDXCBM8Quk5kVc/BOAHN6HQPEO+N02GLT86+vGAE/kv+Jfd/bKSE
2122   -VdK9QsyO5QyQdyKACDAfxcxiqMxKaEntv+yOibQasRDQQdYzOsfCP/c8xQ1OwdhMTaTi7lCp/DX2
2123   -8KwocshmRvW6zXZg1XdF/aZo8vh3m+2TZI6ROEiFHnNYYSQFr0XfX4W4ObLANsuiiPVIoP69YYs+
2124   -I7FLhyztiKHcfm37ia29Umhtu5ZgfGkRUeVDPVXN+aRWbcKcZ0Jljbea9lvICik5W2Hv856nSQe7
2125   -Mb28yVZCgklzsuXWLRAu7DVSVkwNmbbpCWpAUwS77fDjlmELxQcnEW3N6iKPVeTEhjBn3ok3C9it
2126   -4sktrtgpDsDBCClMFtm208wqIg7UHomD7XS9B2rnRkUeU2O15BjrV2KN/gZ7qFHd8NS2d2l/NZZa
2127   -dWDE8G/JGTrhiITaSKipVxSIBPbUdXNbplh3TRxzHA2XDoqXY3Przd9DVAfsLHXy4wDrtM3f0QNq
2128   -6asOuuykqyhICIYGi0oB+b0Alh7Iwg2oTjBlhOhgX7pz65hrL3VWaGfnyPNX90WCWl2i6cYtOTbJ
2129   -GUT1tn5prYecfDWd45a6PlsRpbnkD4aP2EfB4xMKrgwjDORnQDpbgcndzbGdv0MlxHCofAtoclRI
2130   -Ce6CrK+HDHZLWm3sJcGDlVoQvFFh88GeH2YIMgJ94HEvqVJsJKIVs+ZsultNB0A6L0BkdmzgNLUk
2131   -YK2RHAMIMDV8Dx7wj8Q7WNSFt41ZkjDsJSVL0DI21SA47Arc16p48NdNHqE7016Qht1xat/O2YsX
2132   -d7vZI5mxOlywNYqebizjtXEtV+r5Y0lzHxbzZii1xxJmpPY+KVQratDGdz8lr6rBQH+lANcBSQ+f
2133   -t4s8A0cLC5gOzyvxWIfKFyyUnpHa2AlvOAA8O6fvzzssQ608RiM6on9SnfUyQ7ofZ9CoCEbTunFI
2134   -V+tdvTWaTmSF6B18NIQ5OAzwAXltg/4vFN14dNeU5C/WKrcWudoSxHYTkshfgncLNQ7jExDxzPUb
2135   -wI4h7NIsbVl0BF4Op+0N90baXq+6EG6/VW/bqoOd9QGhsRoIzARIKDE6hOQOiGKV0rmbAEvbeWPh
2136   -Ujs2w7vxZHA95olIuSeOGGA91704I613wkNsw7dRqRkv12e+w2SDa7BrhSEXOxOd8SlEWi94//Z1
2137   -cFzhqRkewAb4Z9D+/YjoVIDDYFKoxqOi0eDUnWAscfGnPzaqd2AeWmqz4h5SZjCP0O2y+2XKI7EF
2138   -hRemn92L5UmFHckhWJf8T/kdRMNOAx+yL70JZ+5hFVtj9dHxQZiTmisITrt4nBSgWp9oB/pfH+fO
2139   -3b7MC+wcLrBE6Lt8s/jAY65A/ncuW9bdIslywHZKKY93j+nddXsMmAzUAOSEaiBSoY59i6bGzBcd
2140   -yI7vrdmZaqeftTnsmTOl/Zr8nkT1fIcT1qFr4wGyww6s8ladKDKYpFyinjFnI2eiuv+tOTrw75Yb
2141   -YAu876XmrEvNqDIdAeYdS0XtVQwVv/W/fX62iqb5jbrmu628ea8JqBv9eNsBvzrcMxgek4eG6Zyw
2142   -9fvNGqRX87ruZoBlGNfH9BL8qmrgA1sNsZoTB9rp3pW9OhQ7zQKvt5OuSz7ka/oO+hBc6675GpLq
2143   -9hwaCdBccYIYgrSXZNr+dWsklvlYtAAGPDyDEJBlQEVYrH7120PMWWCa3iUUhlB9qej2VLOh4900
2144   -4V8zp+N0XXpBKUdqqqcc8Yi4DXdMf2HohIhV+3tiEhidDlb+s89PVGFoN6rDsWNH+vimsp4QFvjS
2145   -0Tr/0IWEuaLtK9xej5SBBzS8HLrAUd+jwB/xPB1/BovwCC8WOU4Qnv0Svv95bCGobrHu3EIdxUoh
2146   -s6SqzN0xVa8eY6vxLilLCAtTl4aeKfyISqcyiAGpNhlrSXo8IRv12gRwODlT8qnbbOywfBzFCGCC
2147   -10+Gelupt44Y7Vb046e20iHD6dL1leTp/T1l1z0H9yz/MZl1C4o25NqU8kgHMoh/0R1qWYK/xhL8
2148   -g8ahUvCLn35aoCQxgIFU1fevMI5kkEI/GuUPRaTnRnVrX05kP1BtAPHZXcu37qNHWTF7wq08ybn/
2149   -iGk5rOjUPVpbxksfPWhvs1CvtI2ng1j6g+qlHgymIweEGjM1jMNSinXy4JswYyNbG2LJP+qzUS43
2150   -9861A2dz+FvfGTSAn80XiNGxeHCCNhRYZ+c3bRpHw3Nzt1DkTSYkV7cO3QYOgqpLuirhWywk7FZd
2151   -11Db6FcIsA3AEcCqsq6w2Y16vMQopvCMdIfqotTCoZllmtS+h+ssvdnnRe+Q0GGCYaC7mMbVP6lS
2152   -VGF1qqgYPflNQTnVVcnvFX/GG1kdcqvPBIncHdL5tbRaKoG9TSWkR0cc9g6wPrPEdvJo42hslXb2
2153   -iHUorRyoa1/hryJOJ5vOAai5BTpmwAfP6B9rlB2xnfDAqiIgYSTLcBJsUEnn+lFcCMWUSogMkwH3
2154   -nHbYq6GfOzSZbrWiL0ghG4YbcsIRpsYweVcFmDZ2D6C7GD+qU2hM/sFPSnBP3XJJCgr1OL4kt93V
2155   -2ZnLset9KQb8wk6pc5D16sPlv5NgS52tSvvLgHp2VdO9hOa+XuHWSKpTMC6oIxaLWujLfhjP8YJA
2156   -GxRRb+N+St0eDi775AVmqK/d7msfThWmlgZdN/2ZkVU0L+ioQ/lGVE/yjckDEVvK4j6JRazeAEnW
2157   -Gt5916RyuiGxvieYze1Ri+mCuslzN5SMUTYuBY0NGDrvEwyI1AnN2F3XoW9T1+CBli2UQ4dLpk5m
2158   -Bjaq5Fi5twz1lkY2EYg81kGELrMd2FS+UJcQrfA6dKC1H27sjUrVTNakAY4xfzvS5XHuqR4m6VAS
2159   -NULK4zmVJtE/lJKiznXbI1+Rlh7MSx9piPd40503bIm7utEeKKJZ06m38pB0Au14/1z0RdstCH6v
2160   -PHv00hlsLpwmfsqbPNrapM4+6cfNj3qks2cMdKqKpZeyFAT1H8xrPAqqTEqWcXmHNwwKxulYmNsJ
2161   -q2aj66YMe4qfvUXUvWkOKQTe9knFQnchFuKBXtuC1HmR8Ryid+zdtK7cJJDn39xgAoJonQBoRk9v
2162   -2nYFdvXcFPRz97WTG0iJzLSJwUHXiEbfKGq56dytrkS6Vq395TSAij4TeL2hWmKMsadH+j44HVdr
2163   -CHUWSlcVJHBfsRp/RuomlLkObfZnr12gj8bX34pdjvV3VsT4opyKB3gcQQBu98GeKxokCSglNeRA
2164   -B+IqYLe4Aa+9voJvrQHStSBCBrfBgVDNAfgKk/WOPPTMKnXlKRGR4VuIdKUF+EkkU4fS4MFDAK3V
2165   -oMGrPduIWuPyZ917Hjpdi4py7/6GWg0qAn11UTFU3Yo3AJrx9n6jywHQh5s2TzBiGeQHZgBjdbqe
2166   -tNUJrET+ESKMBukU13pYN+h7furIENahR1+7qfhaoFRF7/KBhQx4CUVq7Os1uq7N0LUkbgX451FA
2167   -vPaGHZ5vv/2zSmaiJAP5UVUFBJ7+6fTUydnSdaBlb5Aq7W+TjI8CTVmwCtnv0uxasdtzZP/P/Jdz
2168   -9q3DIjQynC+kDxjO5ojn5Wy0moiykmACbCQowMAeoPX5hkh9hXkcQCrq/bHDkQGiO7FfGg0M8FIC
2169   -6C/S7CEB3gzTZ8KmLjkbBkEqR/dRAFdrwq3Zou6SPDC36zOvp3XOeIdIOqocbX0YiXcZNDjhJylH
2170   -WyDOyljjnQ0BGzoCfQZgtIWdPQKo6wjXZP+J27lKRXFyCtxPoUw+G5bIdPe5V36P3aYgZGG82vig
2171   -hFPtW/B9PryXJXqvFrlvTWHAuDdNE+e58jn4FEvn9pKsU0yrtyjvjbV0wMjzj5vPd6PtaIXUXDau
2172   -2Afzhut3mFFDziekcz9J3Qi/2le1yC4wCp7Nxshw3JyzM+OTzEY6lbwLqJmW8YQ6GfdzduACpw2f
2173   -l4+9N01cueDVXkOZkPH42x06Uxq8F3lQlijshG49YXYaUgMkDHEXYajf0KUttWnI2fnNbPIPtwCg
2174   -9g==
  2092 +eJztPGtz28iR3/kr5qhSAfSRsOTd7F2pjlvlXcsbVRzbZdnJB1tFDYEhhRVeOwBEM78+3T1PPEjJ
  2093 +t5sPqYqSlUhMT09Pv7tn4JP/qvbNXVlMptPpT2XZ1I3kFUtS+Juu20awtKgbnmW8SQFocrVh+7Jl
  2094 +O140rClZWwtWi6atmrLMaoDFUckqHt/zrQhqNRhV+zn7ta0bAIizNhGsuUvrySbNED18ASQ8F7Cq
  2095 +FHFTyj3bpc0dS5s540XCeJLQBFwQYZuyYuVGrWTwX1xMJgx+NrLMPepXNM7SvCplg9SuHLUE330U
  2096 +zgY7lOK3FshinNWViNNNGrMHIWtgBtLgps7xM0Al5a7ISp5M8lTKUs5ZKYlLvGA8a4QsOPDUALkd
  2097 +z2nRGKCSktUlW+9Z3VZVtk+L7QQ3zatKlpVMcXpZoTCIH7e3/R3c3kaTyUdkF/E3poURo2Cyhc81
  2098 +biWWaUXb09IlKqut5IkvzwiVYqKZV9bmU33XNmlmv+3tQJPmwnzeFDlv4js7JPIK6bHfufS/wo4q
  2099 +LmsxmVgB4hq1kVxWbieTRu4vnJDrFJVTDX+6vvywur76eDkRX2MBO7ui55coATXFQrAle1sWwsNm
  2100 +9tGugcOxqGulSYnYsJWyjVWcJ+EzLrf1TE3BH/wKyELYfyS+irht+DoT8xn7bxqycBLYKQsPfRQD
  2101 +w0PCxpZLdjY5SPQJ2AHIBiQHQk7YBoSkCGIvou/+UCJP2G9t2YCu4eM2F0UDrN/A8gWoqgODR4ip
  2102 +Am8AxORIfgAw370I3JKGLEQocJuz7pjGE8D/wPZhfDjssS2YntbTgJ0i4ABOw/SH9KY/OwqIdfBB
  2103 +r1jf9KVT1lFdcTDKED69X/395dXHOesxjT3zZfbq8vXLT28+rv52+eH66t1bWG96Fv0QfXc2tUOf
  2104 +PrzBx3dNU108f17tqzRSoopKuX2ufWT9vAY/FovnyXPntp5PJ9eXHz+9//ju3Zvr1euXf7l81Vso
  2105 +Pj+fTnyg93/5ZXX19vU7HJ9Ov0z+Khqe8IYv/qa81QU7j84mb8HNXngWPrGjp/Xkus1zDlbBvsLP
  2106 +5M9lLhYVUEjfJy9boFz6nxci52mmnrxJY1HUGvSVUP6F8OIDIAgkeGhHk8mE1Fi7ohBcwxr+zo1v
  2107 +WiHbl+FsZoxCfIUYFZO2UjhQ8DTY5BW4VOCB8TdRfp/gZ/DsOA5+JNpxWYTBpUMCSnFaB3M9WQGW
  2108 +WbLaJYAI9GErmniXaAzWbRAUGPMdzAn9qQTFiQjl5KKyEoXZloNZ6X3oPXcmR3FW1gLDkbPQbamJ
  2109 +xU3bwGEBwMGorQNRFW/uol8BXhM2x4cZqJdH6+ezm9lwIwqLG3AMe1vu2K6U9z7HDLRHpRYahq0h
  2110 +jis7yF5ZZQ9mvn8pyqbj0QIT4WG5QCOHj8985eh5GLfeNegwZA6w3A5cGtvJEj4mrTSq4+c2kUdH
  2111 +D4sQBC3QM7McXDhYBePr8kH0J6Fypk1cQhg1rvtFB0D7G/Vwkxaw+pg+KfVzuFXIjWTeSCGstmnD
  2112 +WbcpgIvtNoT/5szaT1OuEOw/ZvNvYDYkQ4q/BQMpjiD6yUJ4toOwThBK3o5Th8xo8Rv+XmO8QbWh
  2113 +Rwv8Br+kh+gPUVK1P6X3RvekqNus6aoWEKKAtRMw8gCDqpuahh0NkqeQU1+9o2QpDH4u2yyhWcRH
  2114 +Za3bLVqntpEEtqST7lDn73Obhq/WvBZm297jRGR8r1dFRveVRMMHLnAvTutFtT9NIvg/cnY0tYGf
  2115 +U+aowDRDf4EYuClBw0Yent/Mns4ebTRAsN2LVyIc2P8hWns/B7jktO4Rd0SAlEUi+eCBhWzCszlz
  2116 +8tf5eLdQ86qStSlTTcqwooJgSYaj5N0rivSOl72krceBpZe4jXJD7WCJBtDKESYsz/80B+GsNvxe
  2117 +LD/KVljfm3NyAHULleSO0nnSUb6uywzNGHkxcUt4mgYg+Df0ubfj9UpxSaCvDar77QpMivLImtJq
  2118 +5G9eJm0maiztvtjdBI4rfcChn+588UTTWa8LoJTzjte8aWTYAQRDWSVe1B8tC3C25uB4XUBD3ZK9
  2119 +D6Kdg6umLMShQsvOVNH593iLw8zrMCPSfYVw6ljy43IKdZlebzZCWH8fXYw6lf+5LDZZGjfdxQXo
  2120 +iapnYvIn4Qw8Sl90vl4NuY/TIRRCFhTtJBTf4QBi+pF8O20s8dskXjsp/HF5CkVUWpOo+QOUEFRd
  2121 +fSmmQ3zY/Yl5ETSYSGljB8y7O+xsUEtIdzLgk2wLjC8Re58JENAoPtPt4CwvJZIaY1poCN2ksm7m
  2122 +YJyAZnR6AIj3xumwxSdvX0E0Av+l+FKEP7dSwirZXiFmp3IGyDsRQESYxWJmMVRmJbS0CV90x0RW
  2123 +j1gI6CDrGZ1n4Z97nuIGp2Bspl5UeX+owP4We3hSFDlkM6N6bbMdWPVt2bwu2yL53Wb7KJljJA5S
  2124 +oWMOaxVLwRvR91cr3BxZoM2yKGIdCdS/N2zRz0js0iFLO2Io0l+5tqS1VwqttvkJxpeVMdVL1JrV
  2125 +nE8b1W0seC5U1nirab+FrJCSszW2UB94lnawG9Mr2nwtJJg0J1u2boFwYcuSsmJq49jeKagBTRHs
  2126 +tsOPW4aNlxCcRHxnVhdFoiIn9pU5C54Hs4jdKp7c4oqd4gAcjJDCZJG2kjOriCRSeyQO2ul6D9QV
  2127 +jssiof5sxTHWr8UG/Q22YuOm5ZnrEtP+Giy1msiI4V+SM3TCEQm1lVCJrykQCWzN6x65zLDumnjm
  2128 +OBouPRQvxuY223+sUB2wH9XJjyOs07b/QA+opa8a8bKTrqIgIRgaLCoF5A8CWHogCzegOsGUMaKD
  2129 +fel+r2euvdRZoZ1dIM9fPpQpanWFpptYclySM4jqtn6x1kNOvp7OcUtdn62I0lwKB8Mn7IPgyXMK
  2130 +rgwjDORnQDpbg8ndz/FUYIdKiOFQ+RbQ5LiUEtwFWV8PGeyWtNrYS4rnM40geKPC5gc7hZghyBj0
  2131 +gSe9pEqxkYhWzJqz6W49HQDpvACRubGB09SSgLVGcgwgwNTwPXjAPxLvYFEf3rVzScKwl4wsQcvY
  2132 +VIPgsGtwX+vya7hpixjdmfaCNOyPU9N3zp49u9/NjmTG6kjC1Sh6urGMV8a1XKvnx5LmPizmzVBq
  2133 +jyXMSO1DWqoG1qD57/9UvK4HA/2VIlwHJD18bhd5Ag4LC5gOz6vwdIjKFyyUnpDauAmvOQA8Oafv
  2134 +zzssQ608RiM6on9UnfUyQ7qPM2hUBKNp3Tikr/W+3hpNJ7JW6B1CNIQ5OAzwAUXjgv7fKbrx+L6t
  2135 +yF9sVG4tCrUliO0mJJG/BO+20jiMT0DEM99vADuGsEuztGPRCXg5nLY33Btpe73sQvgNV71tpw5u
  2136 +1nuExmogMhMgocTosCJ3QBSrlM7fBFjaLhgLl9qxGd6NJ4ObMU9Eyj3xxADr+e7FG7HeCc/CDd9G
  2137 +pWa8XJ/5HpMNrsGuFYZC7Ex0xqcQaYPo3ZtX0WmNZ214jhvhr0H79wOiUwEOsxtqOyoKDUbdB8YC
  2138 +F7+GY6OafvPQ0ZqXD5Awg3Gs/M58WGU8Fneg7sJ0s3uRPK2xHzkE6xL/qbiHWNhp+kPupTfhzT2s
  2139 +YBusPToeCDNSc4/BaxaPkwJU62PxSP8Nce7c78o8w77hAguEvsM3iw/85Rqkf++zZdMtkRwHXJ+U
  2140 +snj/rN9ft8eASU8J/lo+oAqITKiD4rJtMOtF57Hje2dyptLpZ2wec+ZMab4mvidPPd/jg3Pm2nCA
  2141 +6FUHVnmqTgQZTFLuUM+Ys5FTVN371vwc+HbHC7AD3vdQc9alZlSVTgDzjmWiCWqGam99b5+fVs00
  2142 +v1HTQr+NN+81AHWTH+9H4EePewbDMXlomM6ZXL/XrEF69a7vagZYhjF9TCvBp6rmPbDVEKs5caCV
  2143 +Hly720eJ1ygIejvpuuNDnqbvnA/BWVfNN5BQ25NrJEBzxQtgCGLv2djetTUSx3wsWAADHpyB+89z
  2144 +oGJVrn8N7bHnLDIN7wqKQqi8VGR7rNHQ8W2a8G+Z03G5Pr2glCP11GNueETchjumtzB0QcSq/QMx
  2145 +CYxOB6rwyWcnqih0G9Wh2LMjfXRTOz8IC3zpaF146ArDXNH2DW6vR8rAAxpeDl3gqO9R4Ec8T9+H
  2146 +/4zyV4F8MKub+9gEyfpLmyTp1PuyeEhlWaCx9fJvvzjGsvUOyjBWCZmndW1usKly9xQ7lfdpVQFN
  2147 +0yPbGNKnc7NRJ04Ah/M0Ja7GJmaHxeXpSQQTgn5e1GNnc+dJ1XFQP34szeyQ4TXs+jrz+P4eM/Oe
  2148 +v3uSO5nMurWFjcAuuzzRcQ3CYXyPWp3it7Fc/6CtqGz88pdfFihJjGcgVfX5G2wlHWTTR4P+oQD1
  2149 +1CDv9NQL9AcKDyA+v7d86z46yorZI17mUc4ds+g/zLQ8VnRKIK0t41WQHnQXW6htasPrILT+pNqq
  2150 +B2PryFmhxky941UlxSb9Gpqo4wKdjbgUpvQxKZfbh4ueP3LJuL50aAA/mw8QshPx1YvhUGudX9zY
  2151 +rI6G5+ZyoijaXEiuri36vRwEVdd+Vf63WEjYrbq5obbRLxdgG4AjglVlU2PfG/V4iUFN4RlpFDVl
  2152 +pYVDM6ssbcIA11kGs8+L3nmhxwTDQH8xjat/aKWowkJVUTF6CJyBcqq7lj8q/oz3tDrk1p8JErk7
  2153 +pPNbaXVUAnvbWsiATjvcJWJ9fImd5dEe0tgqdvaIdSitHKhrX+GvY06HnN5ZqLlGOmbAB4/rj/XM
  2154 +TthOBGBVMZAwknR4+TaopHcTKSmFYkotRI6B3T+yHbZt6OsOTaZbvOi7UsiG4Ya8cISZMkze1RFm
  2155 +kd2z6C7GD+pAGtOTiC6Z96onKSjU4/iS3HZXZzupzsd9JQb8wqapd6b18v3Vv5JgR50rUvvLgHp2
  2156 +VdO/j+a/sOGXTKptMC6oE5aIRuh7fxjP8a6ADYqot0k/w7bnhMs+eZEZ6mu3/yKJV5SppUHXTbNm
  2157 +ZBXNCzr1UL4R1ZN8Y/qViK1k+ZAmIlHvlKQbDe+/vVJ7rZFEXxnM5+7UxTRE/XqoG0rGKBuXgsYG
  2158 +DJ33CQZE6rBm7LLs0Lepe/RAyx1UR4crqE5mBjaq5Fj7Fw71lkY2EYki0UGE7rUd2FSxUPcRnfA6
  2159 +dKC1H+7yjUrVTNakAY4xfzvS9PGurB4m6VASNULK8ZxKkxgeSklR57rdkm9ISw/mpUd64z3edOcN
  2160 +u+O+btizRTRrOgBXHpIOoz3vX4i+aLsFwe+V55BeiEl5BUQKr6mf8baI71xm5570g+cHPdLZOEY7
  2161 +VZbSu14KgnoS5mUgBVWlFcu5vMcbByXjdEzM3YR1u9XFU56c47snwSLuXliHRAKv/2RioVsTC/GV
  2162 +XgeDBHqR8wJieBLcWCQvDiGRIi6lgdTv41DCefHdDSYsigJwJWMDL7xQaobPbmwfBNuFfjL7ufsG
  2163 +zA0kV2baxOCgu0mjLzdZkXgXtmuRbdSJwXIaQZ2fC7wzUS8xWrkjKX3JnM7ANYQ6YKX7DxJEqOSF
  2164 +X2N1vcrcsTb7c3c50Nvjq3nlrsBKPi8TfIlPRRY84yAAvyfhDisNkhTUmzp9oEhJHbFb3EBg78Tg
  2165 +G3WAdCOIkMEVcyBUcwA+wmS9owB9vEqCeUZE5PiGJN2TAX4SydT6NHjwbEHbB0Sn9Z5tRaNxhbPu
  2166 +5RGd+MVltfe/Q9UHtYW+D6kYqq7aGwDNeHdp0ucA6MONzTiMWAaZhhnAqJ9tJrbOgZXI00Ks0iCd
  2167 +Ml0P685/z+OdGMI69Oi7PDXfCJSq6N1ocJARr6DcTUK9RtdJGrqWxK0Ifx0FxLt02Cv6/vv/VWlR
  2168 +nOYgP6rPgMCz/zk787K/bBNp2RukSvttuvJBoDsQrEb2+zT79u03M9n/sfDFnH3vsQiNDOcLGQKG
  2169 +8znieTEbrUvivCKYCFsSCjBy53J9viHSUGEeB5CK+nDs1GWA6F7sl0YDI7zpAPqLNAdIQDDDRJyw
  2170 +qZvThkGQFNIlF8BlTdiaLeouyQOzxD7zelrnjXeIpPPP0SaKkXiXQYNrAyTl+A6IczLWeGdDwJbO
  2171 +VZ8AGN/Bzo4AmuarZ7L/jyu/SkVxcgbcz6DgPh8W23ShulfIj13RIGSrZL0NQQmn2rfgq4V42Uv0
  2172 +3lfyX+AK9RvNLgTQ35/syxzurVTwpoF+CdbELGa7NaV5y8cWY7o87npHb2Xl1TQzNBURVvyGvo6X
  2173 +OmCMPxzK0Kaqe2DuRNfsvXl99wcM0ZCPCtm7RqUur1/v60bklxhbz72kySPcODXToOg0FXxA26wF
  2174 +01LM7nH5PY6oWKoOnSDSFMLrONUdcEJEtw31O9vRO4IiNFK7AgUU8SRZKRyu3jUE4wXUulkGPrPh
  2175 +Iae7N8ugbrD114ArIMgNbzNdnrs7rnciq5YmPUIbJ2bTi+Fa7iw8xvpZ8BRqzQW6Bd5JtGR3bioG
  2176 +mMk0/IHL5fTThzdTR6KhfPSOrqLf/LMAmNTgzVUKzPoGaumu740rtt6BFtTcZG56R77QTSJbAn90
  2177 +zmGNimMXdVsAxxNfjYz4SYNyDo7xwI1kp1FXx/49AfLZl7zeayijUubfM1h21VT1f46+ytS9CG3s
  2178 +t/O0YxjDl4yPeSPwWCldB8RabUXtwNUK+bBa6RfebQZM3IEJ/wQpRq42
2175 2179 """)
2176 2180
2177 2181 ##file activate.sh
67 virtualenv_embedded/distribute_setup.py
@@ -20,6 +20,8 @@
20 20 import fnmatch
21 21 import tempfile
22 22 import tarfile
  23 +import optparse
  24 +
23 25 from distutils import log
24 26
25 27 try:
@@ -47,7 +49,7 @@ def quote(arg):
47 49 args = [quote(arg) for arg in args]
48 50 return os.spawnl(os.P_WAIT, sys.executable, *args) == 0
49 51
50   -DEFAULT_VERSION = "0.6.28"
  52 +DEFAULT_VERSION = "0.6.30"
51 53 DEFAULT_URL = "http://pypi.python.org/packages/source/d/distribute/"
52 54 SETUPTOOLS_FAKED_VERSION = "0.6c11"
53 55
@@ -85,6 +87,8 @@ def _install(tarball, install_args=()):
85 87 if not _python_cmd('setup.py', 'install', *install_args):
86 88 log.warn('Something went wrong during the installation.')
87 89 log.warn('See the error message above.')
  90 + # exitcode will be 2
  91 + return 2
88 92 finally:
89 93 os.chdir(old_wd)
90 94 shutil.rmtree(tmpdir)
@@ -258,7 +262,7 @@ def _same_content(path, content):
258 262
259 263 def _rename_path(path):
260 264 new_name = path + '.OLD.%s' % time.time()
261   - log.warn('Renaming %s into %s', path, new_name)
  265 + log.warn('Renaming %s to %s', path, new_name)
262 266 os.rename(path, new_name)
263 267 return new_name
264 268
@@ -276,7 +280,7 @@ def _remove_flat_installation(placeholder):
276 280 log.warn('Could not locate setuptools*.egg-info')
277 281 return
278 282
279   - log.warn('Removing elements out of the way...')
  283 + log.warn('Moving elements out of the way...')
280 284 pkg_info = os.path.join(placeholder, file)
281 285 if os.path.isdir(pkg_info):
282 286 patched = _patch_egg_dir(pkg_info)
@@ -317,11 +321,12 @@ def _create_fake_setuptools_pkg_info(placeholder):
317 321 log.warn('%s already exists', pkg_info)
318 322 return
319 323
320   - if not os.access(pkg_info, os.W_OK):
321   - log.warn("Don't have permissions to write %s, skipping", pkg_info)
322   -
323 324 log.warn('Creating %s', pkg_info)
324   - f = open(pkg_info, 'w')
  325 + try:
  326 + f = open(pkg_info, 'w')
  327 + except EnvironmentError:
  328 + log.warn("Don't have permissions to write %s, skipping", pkg_info)
  329 + return
325 330 try:
326 331 f.write(SETUPTOOLS_PKG_INFO)
327 332 finally:
@@ -435,7 +440,7 @@ def _fake_setuptools():
435 440 res = _patch_egg_dir(setuptools_location)
436 441 if not res:
437 442 return
438   - log.warn('Patched done.')
  443 + log.warn('Patching complete.')
439 444 _relaunch()
440 445
441 446
@@ -443,8 +448,9 @@ def _relaunch():
443 448 log.warn('Relaunching...')
444 449 # we have to relaunch the process
445 450 # pip marker to avoid a relaunch bug
446   - _cmd = ['-c', 'install', '--single-version-externally-managed']
447   - if sys.argv[:3] == _cmd:
  451 + _cmd1 = ['-c', 'install', '--single-version-externally-managed']
  452 + _cmd2 = ['-c', 'install', '--record']
  453 + if sys.argv[:3] == _cmd1 or sys.argv[:3] == _cmd2:
448 454 sys.argv[0] = 'setup.py'
449 455 args = [sys.executable] + sys.argv
450 456 sys.exit(subprocess.call(args))
@@ -497,22 +503,39 @@ def sorter(dir1, dir2):
497 503 self._dbg(1, "tarfile: %s" % e)
498 504
499 505
500   -def _build_install_args(argv):
  506 +def _build_install_args(options):
  507 + """
  508 + Build the arguments to 'python setup.py install' on the distribute package
  509 + """
501 510 install_args = []
502   - user_install = '--user' in argv
503   - if user_install and sys.version_info < (2, 6):
504   - log.warn("--user requires Python 2.6 or later")
505   - raise SystemExit(1)
506   - if user_install:
  511 + if options.user_install:
  512 + if sys.version_info < (2, 6):
  513 + log.warn("--user requires Python 2.6 or later")
  514 + raise SystemExit(1)
507 515 install_args.append('--user')
508 516 return install_args
509 517
510   -
511   -def main(argv, version=DEFAULT_VERSION):
  518 +def _parse_args():
  519 + """
  520 + Parse the command line for options
  521 + """
  522 + parser = optparse.OptionParser()
  523 + parser.add_option(
  524 + '--user', dest='user_install', action='store_true', default=False,
  525 + help='install in user site package (requires Python 2.6 or later)')
  526 + parser.add_option(
  527 + '--download-base', dest='download_base', metavar="URL",
  528 + default=DEFAULT_URL,
  529 + help='alternative URL from where to download the distribute package')
  530 + options, args = parser.parse_args()
  531 + # positional arguments are ignored
  532 + return options
  533 +
  534 +def main(version=DEFAULT_VERSION):
512 535 """Install or upgrade setuptools and EasyInstall"""
513   - tarball = download_setuptools()
514   - _install(tarball, _build_install_args(argv))
515   -
  536 + options = _parse_args()
  537 + tarball = download_setuptools(download_base=options.download_base)
  538 + return _install(tarball, _build_install_args(options))
516 539
517 540 if __name__ == '__main__':
518   - main(sys.argv[1:])
  541 + sys.exit(main())
7 virtualenv_embedded/ez_setup.py
@@ -103,8 +103,7 @@ def do_download():
103 103 return do_download()
104 104 try:
105 105 pkg_resources.require("setuptools>="+version); return
106   - except pkg_resources.VersionConflict:
107   - e = sys.exc_info()[1]
  106 + except pkg_resources.VersionConflict, e:
108 107 if was_imported:
109 108 print >>sys.stderr, (
110 109 "The required version of setuptools (>=%s) is not available, and\n"
@@ -239,8 +238,8 @@ def main(argv, version=DEFAULT_VERSION):
239 238 from setuptools.command.easy_install import main
240 239 main(argv)
241 240 else:
242   - print("Setuptools version",version,"or greater has been installed.")
243   - print('(Run "ez_setup.py -U setuptools" to reinstall or upgrade.)')
  241 + print "Setuptools version",version,"or greater has been installed."
  242 + print '(Run "ez_setup.py -U setuptools" to reinstall or upgrade.)'
244 243
245 244 def update_md5(filenames):
246 245 """Update our built-in md5 registry"""
BIN  virtualenv_support/distribute-0.6.28.tar.gz
Binary file not shown
BIN  virtualenv_support/distribute-0.6.30.tar.gz
Binary file not shown

0 comments on commit 5e09944

Please sign in to comment.
Something went wrong with that request. Please try again.