ó ž­çSc@s÷ddlZddlZddlZddlZddlZddlZddlZddlZejdkrŠddl j j j j Znej ejZy eZWnek r½dZnXeZddlmZddlmZddlmZdddd gZdd „Zd „Zddd „ƒYZeed ƒrLejgZ ngZ y'ddl!m"Z"e j#e"ƒƒ["Wne$k rŒnXdefd„ƒYZ%ej&ej'gdj(ƒD]Z)e*ee)dƒ^q¼ƒZ+defd„ƒYZ,dS(iÿÿÿÿNtjava(tDistutilsError(t working_set(tbuiltinstAbstractSandboxtDirectorySandboxtSandboxViolationt run_setupcBs‚d}ejdkr"|d7}ne||ƒ}|jƒ}WdQX|dkr[|}ne||dƒ}|||fdUdS(s. Python 3 implementation of execfile. trbiitUNtexec(ii(tsyst version_infotopentreadtNonetcompile(tfilenametglobalstlocalstmodetstreamtscripttcode((s</usr/local/lib/python2.7/site-packages/setuptools/sandbox.pyt _execfiles   cstjƒ}tj}tj}tjjtjjˆƒƒ}tjj|dƒ}tjj|ƒsutj |ƒnt j }tj j ƒ}tjƒ} zÇ|t _ tj|ƒymˆgt|ƒtj(tjjd|ƒtjƒtjjd„ƒ‡fd†} t|ƒj| ƒWn=tk r^tjƒd} | jr_| jdr_‚q_nXWdtj| ƒtj j|ƒgtj D](} | |krŠ| jdƒ rŠ| ^qŠ} tttj j | ƒƒtj|ƒ|tj(|tj(|t _ XdS(s8Run a distutils setup script, sandboxed in its directoryttempicSs |jƒS(N(tactivate(tdist((s</usr/local/lib/python2.7/site-packages/setuptools/sandbox.pyt@scs&tdˆddƒ}tˆ|ƒdS(Nt__file__t__name__t__main__(tdictR(tns(t setup_script(s</usr/local/lib/python2.7/site-packages/setuptools/sandbox.pytrunnerAsiNs encodings.(!tostgetcwdR targvtpathtabspathtdirnametjointisdirtmakedirsttempfilettempdirtmodulestcopyt pkg_resourcest __getstate__tchdirtlisttinsertRt__init__t callbackstappendRtrunt SystemExittexc_infotargst __setstate__tupdatet startswithtmapt __delitem__(R"R<told_dirt save_argvt save_patht setup_dirttemp_dirtsave_tmpt save_modulestpr_stateR#tvtmod_namet del_modules((R"s</usr/local/lib/python2.7/site-packages/setuptools/sandbox.pyR-sD              cBsÇeZdZeZd„Zd„Zd„Zd„Zx<dddgD]+Z e e e ƒrFee ƒe ƒe           tdevnull(tGetGeneratePathcBs¼eZdZejddddddddd d d d d g ƒZdgZed„Zd„Z e rudd„Z ndd„Z d„Z d„Z d„Zd„Zd„Zdd„ZRS(s<Restrict operations to a single subdirectory - pseudo-chrootR RmRnRoRpRqRrRsRtRuRxRyRs.*lib2to3.*\.pickle$cCstjjtjj|ƒƒ|_tjj|jdƒ|_g|D]$}tjjtjj|ƒƒ^qC|_tj |ƒdS(Nt( R$R'tnormcasetrealpatht_sandboxR*t_prefixt _exceptionsRR6(RRtsandboxt exceptionsR'((s</usr/local/lib/python2.7/site-packages/setuptools/sandbox.pyR6Þs !1cOst|||ƒ‚dS(N(R(RRR„R<Rb((s</usr/local/lib/python2.7/site-packages/setuptools/sandbox.pyt _violationçstrcOsK|dkr8|j|ƒ r8|jd||||Žnt||||ŽS(NR’trtRtrUR RY(R’R“srbsrUR (t_okR‘RX(RRR'RR<Rb((s</usr/local/lib/python2.7/site-packages/setuptools/sandbox.pyRXëscOsK|dkr8|j|ƒ r8|jd||||Žnt||||ŽS(NR’R“RR”R R (R’srtsrbsrUR (R•R‘RZ(RRR'RR<Rb((s</usr/local/lib/python2.7/site-packages/setuptools/sandbox.pyRZðscCs|jdƒdS(NR‚(R‘(RR((s</usr/local/lib/python2.7/site-packages/setuptools/sandbox.pyR‚õscCss|j}zYt|_tjjtjj|ƒƒ}|j|ƒp`||jkp`|j|j ƒSWd||_XdS(N( R\R]R$R'RŠR‹t _exemptedRŒR?R(RRR'tactiveR‹((s</usr/local/lib/python2.7/site-packages/setuptools/sandbox.pyR•øs  csN‡fd†|jDƒ}‡fd†|jDƒ}tj||ƒ}t|ƒS(Nc3s|]}ˆj|ƒVqdS(N(R?(t.0t exception(tfilepath(s</usr/local/lib/python2.7/site-packages/setuptools/sandbox.pys sc3s!|]}tj|ˆƒVqdS(N(tretmatch(R˜tpattern(Rš(s</usr/local/lib/python2.7/site-packages/setuptools/sandbox.pys s(RŽt_exception_patternst itertoolstchaintany(RRRšt start_matchestpattern_matchest candidates((Ršs</usr/local/lib/python2.7/site-packages/setuptools/sandbox.pyR–s     cOsH||jkrD|j|ƒ rD|j|tjj|ƒ||Žn|S(sCalled for path inputs(t write_opsR•R‘R$R'R‹(RRR„R'R<Rb((s</usr/local/lib/python2.7/site-packages/setuptools/sandbox.pyRis%cOsF|j|ƒ s |j|ƒ r<|j|||||Žn||fS(s?Called for path pairs like rename, link, and symlink operations(R•R‘(RRR„R`RaR<Rb((s</usr/local/lib/python2.7/site-packages/setuptools/sandbox.pyR_s iÿcOsR|t@r9|j|ƒ r9|jd|||||Žntj|||||ŽS(sCalled for low-level os.open()sos.open(t WRITE_FLAGSR•R‘ROR (RRRYtflagsRR<Rb((s</usr/local/lib/python2.7/site-packages/setuptools/sandbox.pyR s(RR…R†R tfromkeysR¥Ržt _EXCEPTIONSR6R‘RXRZR‚R•R–RiR_R (((s</usr/local/lib/python2.7/site-packages/setuptools/sandbox.pyRÐs       s4O_WRONLY O_RDWR O_APPEND O_CREAT O_TRUNC O_TEMPORARYicBseZdZd„ZRS(sEA setup script attempted to modify the filesystem outside the sandboxcCs d|jS(Ns³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.(R<(RR((s</usr/local/lib/python2.7/site-packages/setuptools/sandbox.pyt__str__+s (RR…R†Rª(((s</usr/local/lib/python2.7/site-packages/setuptools/sandbox.pyR(s((-R$R R-toperatort functoolsRŸR›R1RSt$org.python.modules.posix.PosixModuletpythonR/tposixt PosixModuleRORYRXt NameErrorRR RZtdistutils.errorsRRtsetuptools.compatRt__all__RRRRPR‡R©twin32com.client.gencacheRˆR8t ImportErrorRtreducetor_tsplittaRUR¦R(((s</usr/local/lib/python2.7/site-packages/setuptools/sandbox.pytsH             .h S +