ÿØÿà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@`sddlmZddlmZddlmZddlZddlZddlZddlZddlZddl Z ddl m Z ddl m Z ddl Z ejdejZdefd YZd efd YZd efd YZdS(i(tprint_function(tdivision(tabsolute_importN(tSafeConfigParser(t ExpatErrors"^(?P.+) \((?P.+)\)$tPyPIRpcApiErrorcB`seZdZdZRS(se Generic error class that means that we cannot properly get information from xml rpc api cC`stt|jd|dS(NsWe are having issues with PyPI RPC api. You can check https://status.python.org/ to see of there are any problems with PyPI or contact CloudLinux support if you see this message for a long time.Original message was: '%s'(tsuperRt__init__(tselftmessage((sW/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectpythonuser/extensions.pyR!s(t__name__t __module__t__doc__R(((sW/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectpythonuser/extensions.pyRstPyPIMaintenanceExceptioncB`seZdZdZRS(s Raised when PyPY returns 503 error, which means that service is unavailable temporary and we should try again later. cC`stt|jddS(NsLooks like PyPI is down for maintenance and we are not able to use it. You can check https://status.python.org/ to see of there are any problems with PyPI or contact CloudLinux support if you see this message for a long time.(RR R(R((sW/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectpythonuser/extensions.pyR/s(R R R R(((sW/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectpythonuser/extensions.pyR *st ExtensionInfocB`sneZdZdZdZdZdZedZedZ edZ edZ RS( shttps://pypi.python.org/pypicC`stj|j|_dS(N(t xmlrpclibt ServerProxyturlt_rpc(R((sW/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectpythonuser/extensions.pyR=scO`sy|jj|||SWntjtfk rM}tt|ntjk r}|j t j kr}t ntt|nItj k r}t|jn%tjk r}t|jnXdS(N(Rt __getattr__tsockettgaierrorRRtstrRt ProtocolErrorterrcodethttplibtSERVICE_UNAVAILABLER tFaultt faultStringtssltSSLErrortstrerror(Rtmethodtargstkwargsterr((sW/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectpythonuser/extensions.pyt __get_rpc@s cC`s|jd}tj|S(Nt list_packages(t_ExtensionInfo__get_rpcRtextensions_docs(Rt extensions((sW/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectpythonuser/extensions.pytlist_extensionsNsc`stfd|DS(Nc3`s1|]'}|ijd|td6fVqdS(tpackage_releasestversionsN(R&tTrue(t.0t extension(R(sW/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectpythonuser/extensions.pys Us(tdict(RR(((RsW/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectpythonuser/extensions.pytlist_extensions_versionRscC`stjdtj|fS(Nt/(RtjoinRR(R.((sW/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectpythonuser/extensions.pyt extension_docXscC`s-d|D}tdt||DS(Ncs`s|]}tj|VqdS(N(RR3(R-R.((sW/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectpythonuser/extensions.pys ^scs`s(|]\}}|i|d6fVqdS(tdocN((R-R.R4((sW/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectpythonuser/extensions.pys `s(R/tzip(R(tdocs((sW/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectpythonuser/extensions.pyR'\s  cC`s|jdd}tjjd|dd}tjj|sftjjtjjtdd}nt}|j|y|j |}Wnt j k rd}nXt d|DS( Nt.ts/opt/alttetcslocked_extensions.inis..cs`sI|]?\}}|g|jdD]}|r"|j^q"fVqdS(t,N(tsplittstrip(R-R.R+tv((sW/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectpythonuser/extensions.pys ps(( treplacetostpathR2texiststdirnamet__file__Rtreadtitemst ConfigParsertNoSectionErrorR/(t interpretertalt_vert file_pathtparserRE((sW/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectpythonuser/extensions.pytget_locked_extensionscs'    cC`s~||ko}ttg|jdD]$}t|dkr"|j^q"t|j|@p}t|j|dkS(NR:i(tlisttsetR;tlenR<tget(tlocked_extensionsR.tversionR=((sW/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectpythonuser/extensions.pytis_extensions_lockedss @( R R RRR&R)R0t staticmethodR3R'RLRS(((sW/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectpythonuser/extensions.pyR9s    (t __future__RRRR?treRRRRFRtpyexpatRRtcompilet MULTILINEtEXTENSION_PATTERNt ExceptionRR tobjectR(((sW/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectpythonuser/extensions.pyts