ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ iB^c@`s3ddlmZddlmZddlmZddlZddlZddlmZddlm Z ddl m Z m Z m Z dd lmZmZdd lmZd Zejjejjed Zd ZdZdefdYZdddZdddZdddZ dddZ!dS(i(tabsolute_import(tprint_function(tdivisionN(t StrictVersion(t get_directory(t check_callt check_outputt list_dirsi(tEXTENSION_PATTERNt ExtensionInfo(t Interpretertrubyvenvs rubyvenv.pyt#s/opt/alt/python27/bin/python2.7t EnvironmentcB`seZdddZdZdZddZddZddZdZ dZ dZ d Z d Z d Zd Zd ZRS(cC`s||_|r||_ntjtjj|_|dkrNt|_ n ||_ tj j t |j|j ||_ d|_ d|_d||_dS(Ntruby(tnametusertpwdtgetpwuidtostgetuidtpw_nametNonetDEFAULT_PREFIXtprefixtpathtjoint _abs_prefixt _interpretert_gemtinterpreter_name(tselfRRR((sS/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectruby/environments.pyt__init__s     '  cC`s,d|jj|jj|j|j|jfS(Ns(%s.%s(name='%s', user='%s', prefix='%s')(t __class__t __module__t__name__RRR(R((sS/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectruby/environments.pyt__repr__,sc`s%tj|jfd}|S(Nc`s$tjjtjjdS(N(Rtsetgidtpw_gidtsetuidtpw_uid((tuser_pwd(sS/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectruby/environments.pytfunc4s(RtgetpwnamR(RR*((R)sS/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectruby/environments.pyt_demote1scC`sOi|jd6|jd6|jd6}|rK||=i|t||6S|S(NRt interpretert extensions(RR-R.tgetattr(Rtkeyte((sS/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectruby/environments.pytas_dict:s  cC`sUi|jd6|jjd6|jd6}|rQ||=i|t||6S|S(NRR-R.(RR-R2R.R/(RR0R1((sS/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectruby/environments.pyt as_deepdictEs c C`sr|st}ndttjj|jd|jd}ttt d|d|j |jd|j dS(Nt(t:t)s--prompts--rubyt preexec_fn( R RRRtbasenameRRRt PYTHON_PATHt RUBYVENV_BINtbinaryR,(RR-tprompt((sS/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectruby/environments.pytcreatePs '  cC`s&tddd|jd|jdS(Ns/bin/rms-rs--interactive=neverR7(RRR,(R((sS/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectruby/environments.pytdestroy]scC`stjj|jS(N(RRtexists(R((sS/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectruby/environments.pyR?`scC`s(|js!td|j|_n|jS(NR(RR R(R((sS/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectruby/environments.pyR-cs cC`s1|js*tjj|jdd|_n|jS(Ntbintgem(RRRR(R((sS/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectruby/environments.pyRAhs !cC`stj|j}|jt}|d|dp5d}}t|jtdkrr|jdd|f}n|jddd|f}|r|d}|d |f7}ntj|||rt d |nt d |d |j dS( Niits2.6tinstalls --no-documents --no-rdocs--no-ris-vs6Extension '%s' install is prohibited. System extensiontargsR7( R tget_locked_extensionsRtsplittVERSION_DELIMITERRRRAtis_extensions_lockedt ValueErrorRR,(Rt extensiontlocked_extensionstttversiontcommand((sS/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectruby/environments.pytextension_installms cC`s&t|jd|d|jdS(NtupdateR7(RRAR,(RRJ((sS/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectruby/environments.pytextension_update|scC`stj|j}|jt}|d|dp5d}}|jd|ddf}|rz|d}|d|f7}ntj|||rtd|ntd |d |j dS( NiiRBt uninstalls-xs-as-vs$Extension '%s' removal is prohibitedRDR7( R RERRFRGRARHRIRR,(RRJRKRLRMRN((sS/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectruby/environments.pytextension_uninstalls c C`sAi}tj|j}t|jddd|j}tj|}d|D}xt||D]\\}}}tj |||r!t t g|j dD]} | j ^qt |j|} | r9t|j|dkr9i|d6dj| d 6||st,itdocs, RM(R RERRRAR,RtfindalltzipRHRTtsetRFtstriptgettlenR( RtresultRKtoutputR.tdocsRRMRYtvt version_diff((sS/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectruby/environments.pyR.s$ ".!'N(R#R"RR R$R,R2R3R=R>R?R-RARORQRSR.(((sS/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectruby/environments.pyR s        cC`s]|st}n|r4tjjtj|j|Stjjtjtjj|SdS(N( RRRRRR+tpw_dirRR(RR((sS/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectruby/environments.pyRs  cC`sht||}yt|}Wntk r3gSXg}x'|D]}|jt|||qAW|S(N(RRtOSErrortappendR (RRt venv_pathtenv_listtenvstenv_name((sS/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectruby/environments.pyt environmentss  c`s#tfdt||DS(Nc3`s-|]#}t|jdjVqdS(R0N(RTR2titems(RVR1(R0(sS/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectruby/environments.pys s(tdictRl(R0RR((R0sS/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectruby/environments.pytenvironments_dictsc`s#tfdt||DS(Nc3`s-|]#}t|jdjVqdS(R0N(RTR3Rm(RVR1(R0(sS/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectruby/environments.pys s(RnRl(R0RR((R0sS/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectruby/environments.pytenvironments_deepdicts("t __future__RRRRRtdistutils.versionRtclselect.clselectctlRtclselect.utilsRRRR.RR t interpretersR RRRtdirnamet__file__R:RGR9tobjectR RRRlRoRp(((sS/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectruby/environments.pyts$  !