0`cF@@s dZddlmZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlmZyddlZWnek rQddlZnXddlmZddlm Z m!Z!m"Z"ddlm#Z#y&ddlm$Z$m%Z%m&Z&e'Z(Wnek re)Z(nXdd lm*Z+dd l,m-Z-m.Z.yddl/j0Z1e1j2Wnek r'e3Z1nXyddl4Z4Wnek rKnXdd lm5Z5e6d e6d ddfej7koddfknrdZ8e j9e8ne3Z:e3Z;de<fdYZ=de>fdYZ?de?e5j@jAfdYZBde?e5j@jCfdYZDdZEiZFdZGdZHdZIdZJdZKdZLdZMd ZNZOd!ZPd"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAddBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfgFZQd=eRfdgYZSd>eSfdhYZTdieTfdjYZUd?eSfdkYZVd@eSfdlYZWiZXej@d ZYdZZdmZ[dnZ\dZ]doZ^dpZ_dqZ`gdrZadsZbdtZcejdduZeejddvZfecZgdwZhdxZieiZjdyZkdzZle3d{Zmd|ZndUfd}YZodVeofd~YZpd8e>fdYZqd7e>fdYZrerZsdAetfdYZud9fdYZvdZwdZxdZydZzdZ{de>fdYZ|e|j}Z~e|jZd\fdYZe_e>ed]efdYZd^efdYZejdZefdYZeZdefdYZdefdYZde jfdYZd_efdYZe_e jedWefdYZdXefdYZdYefdYZeGddidZe)dZe)dZee jee)dZee>ee)dZeejeee1dr(ee1jeneGddieGddidZdZdZdZe3dZdZeejeee jeee1dree1jendZee>edZidZdZdZdZejddjZejddjZejddjZejddjZejddjZejddjZejddjZejddjZejddejejBjZd<e>fdYZdZdZd:e>fdYZdefdYZdefdYZied6ed6ed6ZdZdefdYZdZd;fdYZdZdZdZdZdZdZe jdde=de'dZeedZedZdS(sZ Package resource API -------------------- A resource is a logical file contained within a package, or a logical subdirectory thereof. The package resource API expects resource names to have their path parts separated with ``/``, *not* whatever the local path separator is. Do not use os.path operations to manipulate resource names being passed into the API. The package resource API is designed to work with normal filesystem packages, .egg files, and unpacked .egg files. It can also work in a limited way with .zip files and with custom PEP 302 loaders that support the ``get_data()`` method. i(tabsolute_importN(t get_importer(tsix(turllibtmaptfilter(tutime(tmkdirtrenametunlink(topen(tisdirtsplit(t packagings&pkg_resources.extern.packaging.versions)pkg_resources.extern.packaging.specifiersisLSupport for Python 3.0-3.2 has been dropped. Future versions will fail here.t PEP440WarningcB@seZdZRS(sa Used when there is an issue with a version or specifier not complying with PEP 440. (t__name__t __module__t__doc__(((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR]st_SetuptoolsVersionMixincB@sYeZdZdZdZdZdZdZdZdZ dZ RS( cC@stt|jS(N(tsuperRt__hash__(tself((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRfscC@s9t|trt||kStt|j|SdS(N(t isinstancettupleRRt__lt__(Rtother((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRiscC@s9t|trt||kStt|j|SdS(N(RRRRt__le__(RR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRoscC@s9t|trt||kStt|j|SdS(N(RRRRt__eq__(RR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRuscC@s9t|trt||kStt|j|SdS(N(RRRRt__ge__(RR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR{scC@s9t|trt||kStt|j|SdS(N(RRRRt__gt__(RR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRscC@s9t|trt||kStt|j|SdS(N(RRRRt__ne__(RR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRscC@st||S(N(R(Rtkey((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt __getitem__sc#@stjdtjidd6dd6dd6dd6dd 6jfd fd }tjd td dx|t|D] }|VqWdS(Ns(\d+ | [a-z]+ | \.| -)tctpretpreviewsfinal-t-trct@tdevc3@suxij|D]X}||}| s|dkr>qn|d dkr_|jdVqd|VqWdVdS(Nt.it 0123456789it*s*final(R tzfill(tstpart(t component_retreplace(sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt_parse_version_partss c@sg}x|jD]}|jdr|dkrdx'|r`|ddkr`|jq=Wnx'|r|ddkr|jqgWn|j|qWt|S(NR*s*finalis*final-t00000000(tlowert startswithtpoptappendR(R,tpartsR-(R0(sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pytold_parse_versions sYou have iterated over the result of pkg_resources.parse_version. This is a legacy behavior which is inconsistent with the new version class introduced in setuptools 8.0. In most cases, conversion to a tuple is unnecessary. For comparison of versions, sort the Version instances directly. If you have another use case requiring the tuple, please file a bug with the setuptools project describing that need.t stackleveli(tretcompiletVERBOSEtgettwarningstwarntRuntimeWarningtstr(RR7R-((R0R.R/sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt__iter__s ( RRRRRRRRRR RA(((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRds        tSetuptoolsVersioncB@seZRS((RR(((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRBstSetuptoolsLegacyVersioncB@seZRS((RR(((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRCscC@s3yt|SWntjjk r.t|SXdS(N(RBR tversiontInvalidVersionRC(tv((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt parse_versionscK@s-tj|tjtj||dS(N(tglobalstupdatet _state_varstdicttfromkeys(tvartypetkw((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt_declare_statescC@sLi}t}x6tjD](\}}|d|||||tcC@s{t}tj|}|dk rwtjdkrwy-ddjtd |jdf}Wqwt k rsqwXn|S(sZReturn this platform's maximum compatible version. distutils.util.get_platform() normally reports the minimum version of Mac OS X that would be required to *use* extensions produced by distutils. But what we want when checking compatibility is to know the version of Mac OS X that we are *running*. To allow usage of packages that explicitly require a newer version of Mac OS X, we must also know the current version of the OS. If this condition occurs for any other platform with a version in its platform strings, this function should be extended accordingly. tdarwins macosx-%s-%sR(iiN( tget_build_platformtmacosVersionStringtmatchR`tsystplatformtjoint _macosx_verstgroupt ValueError(tplattm((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pytget_supported_platforms - trequiret run_scriptt get_providertget_distributiontload_entry_pointt get_entry_maptget_entry_infotiter_entry_pointstresource_stringtresource_streamtresource_filenametresource_listdirtresource_existstresource_isdirtdeclare_namespacet working_settadd_activation_listenertfind_distributionstset_extraction_pathtcleanup_resourcestget_default_cachet Environmentt WorkingSettResourceManagert Distributiont Requirementt EntryPointtResolutionErrortVersionConflicttDistributionNotFoundt UnknownExtratExtractionErrortparse_requirementsRGt safe_namet safe_versiont get_platformtcompatible_platformst yield_linestsplit_sectionst safe_extrat to_filenametinvalid_markertevaluate_markertensure_directorytnormalize_pathtEGG_DISTt BINARY_DISTt SOURCE_DISTt CHECKOUT_DISTt DEVELOP_DISTtIMetadataProvidertIResourceProvidert FileMetadatat PathMetadatat EggMetadatat EmptyProvidertempty_providert NullProvidert EggProvidertDefaultProvidert ZipProvidertregister_findertregister_namespace_handlertregister_loader_typetfixup_namespace_packagesRtrun_maintAvailableDistributionscB@seZdZdZRS(s.Abstract base for dependency resolution errorscC@s|jjt|jS(N(t __class__RtreprRa(R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt__repr__As(RRRR(((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR?scB@sDeZdZdZedZedZdZdZRS(s An already-installed version conflicts with the requested version. Should be initialized with the installed Distribution and the requested Requirement. s3{self.dist} is installed but {self.req} is requiredcC@s |jdS(Ni(Ra(R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pytdistOscC@s |jdS(Ni(Ra(R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pytreqSscC@s|jjtS(N(t _templatetformattlocals(R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pytreportWscC@s$|s |S|j|f}t|S(st If required_by is non-empty, return a version of self that is a ContextualVersionConflict. (RatContextualVersionConflict(Rt required_byRa((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt with_contextZs( RRRRtpropertyRRRR(((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyREs  RcB@s*eZdZejdZedZRS(s A VersionConflict that accepts a third parameter, the set of the requirements that required the installed Distribution. s by {self.required_by}cC@s |jdS(Ni(Ra(R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRms(RRRRRRR(((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRes cB@sSeZdZdZedZedZedZdZdZ RS(s&A requested distribution was not foundsSThe '{self.req}' distribution was not found and is required by {self.requirers_str}cC@s |jdS(Ni(Ra(R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRxscC@s |jdS(Ni(Ra(R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt requirers|scC@s|js dSdj|jS(Nsthe applications, (RRj(R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt requirers_strs cC@s|jjtS(N(RRR(R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRscC@s |jS(N(R(R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt__str__s( RRRRRRRRRR(((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRrs cB@seZdZRS(s>Distribution doesn't have an "extra feature" of the given name(RRR(((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRsiiicC@s|t|eZdZdZdZdZdZdZRS(cC@sdS(s;Does the package's distribution contain the named metadata?N((R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt has_metadata0RccC@sdS(s'The named metadata resource as a stringN((R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt get_metadata3RccC@sdS(sYield named metadata resource as list of non-blank non-comment lines Leading and trailing whitespace is stripped from each line, and lines with ``#`` as the first non-blank character are omitted.N((R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pytget_metadata_lines6RccC@sdS(s>Is the named metadata a directory? (like ``os.path.isdir()``)N((R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pytmetadata_isdir<RccC@sdS(s?List of metadata names in the directory (like ``os.listdir()``)N((R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pytmetadata_listdir?RccC@sdS(s=Execute the named script in the supplied namespace dictionaryN((Rt namespace((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRrBRc(RRRRRRRRr(((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR.s      cB@sDeZdZdZdZdZdZdZdZRS(s3An object that provides access to package resourcescC@sdS(sdReturn a true filesystem path for `resource_name` `manager` must be an ``IResourceManager``N((tmanagert resource_name((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pytget_resource_filenameIRccC@sdS(siReturn a readable file-like object for `resource_name` `manager` must be an ``IResourceManager``N((RR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pytget_resource_streamNRccC@sdS(smReturn a string containing the contents of `resource_name` `manager` must be an ``IResourceManager``N((RR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pytget_resource_stringSRccC@sdS(s,Does the package contain the named resource?N((R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt has_resourceXRccC@sdS(s>Is the named resource a directory? (like ``os.path.isdir()``)N((R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR~[RccC@sdS(s?List of resource names in the directory (like ``os.listdir()``)N((R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR|^Rc( RRRRRRRR~R|(((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRFs     cB@seZdZddZedZedZdZdZ dZ ddZ dZ d Z deed Zdded Zdded Zd ZdZdZdZdZRS(sDA collection of active distributions on sys.path (or a similar list)cC@s^g|_i|_i|_g|_|dkr<tj}nx|D]}|j|qCWdS(s?Create working set from list of path entries (default=sys.path)N(tentriest entry_keystby_keyt callbacksR`RhRt add_entry(RRtentry((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt__init__es       cC@se|}yddlm}Wntk r1|SXy|j|Wntk r`|j|SX|S(s1 Prepare the master working set. i(t __requires__(t__main__RRRqRt_build_from_requirements(tclstwsR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt _build_masterrs   cC@s|g}t|}|j|t}x|D]}|j|q4Wx0tjD]%}||jkrU|j|qUqUW|jtj(|S(sQ Build a working set from a requirement spec. Rewrites sys.path. (RtresolveRtaddRhRRR (Rtreq_specRtreqstdistsRR ((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRs    cC@sT|jj|g|jj|x*t|tD]}|j||tq3WdS(sAdd a path item to ``.entries``, finding any distributions on it ``find_distributions(entry, True)`` is used to find distributions corresponding to the path entry, and they are added. `entry` is always appended to ``.entries``, even if it is already present. (This is because ``sys.path`` can contain the same value more than once, and the ``.entries`` of the ``sys.path`` WorkingSet should always equal ``sys.path``.) N(Rt setdefaultRR5RRRR(RR R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR s cC@s|jj|j|kS(s9True if `dist` is the active distribution for its project(R R<R(RR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt __contains__scC@sC|jj|j}|dk r?||kr?t||n|S(sFind a distribution matching requirement `req` If there is an active distribution for the requested project, this returns it as long as it meets the version requirement specified by `req`. But, if there is an active distribution for the project and it does *not* meet the `req` requirement, ``VersionConflict`` is raised. If there is no active distribution for the requested project, ``None`` is returned. N(R R<RR`R(RRR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRs cc@sgx`|D]X}|j|}|dkrGx4|jD] }|Vq5Wq||kr||VqqWdS(sYield entry point objects from `group` matching `name` If `name` is None, yields all entry points in `group` from all distributions in the working set, otherwise only ones matching both `group` and `name` are yielded (in distribution order). N(RvR`tvalues(RRlRRRtep((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRxs    cC@sQtjdj}|d}|j||d<|j|dj||dS(s?Locate distribution for `requires` and run `script_name` scriptiRiN(RhRRR[RqRr(RtrequiresRRR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRrs    cc@spi}xc|jD]X}||jkr+qnx:|j|D]+}||kr9d||<|j|Vq9q9WqWdS(sYield distributions for non-duplicate projects in the working set The yield order is the order in which the items' path entries were added to the working set. iN(RRR (RtseentitemR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRAs  cC@s|r"|j|j|d|n|dkr:|j}n|jj|g}|jj|jg}| r|j|jkrdS||j|j<|j|kr|j|jn|j|kr|j|jn|j |dS(sAdd `dist` to working set, associated with `entry` If `entry` is unspecified, it defaults to the ``.location`` of `dist`. On exit from this routine, `entry` is added to the end of the working set's ``.entries`` (if it wasn't already present). `dist` is only added to the working set if it's for a project that doesn't already have a distribution in the set, unless `replace=True`. If it's added, any callbacks registered with the ``subscribe()`` method will be called. R/N( t insert_onRR`tlocationRRRR R5t _added_new(RRR tinsertR/tkeystkeys2((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRs   cC@st|ddd}i}i}g}tjt}x|r|jd} | |krdq=n|j| j} | dkrc|jj| j} | dks| | krS|rS|} |dkr| dkrt |j }qt g}t g} n|j | | |} || j<| dkrS|j| d} t | | qSn|j| n| | kr|| } t| | j| n| j| jddd}|j|x"|D]}||j| jqWt|| t UserWarning(Rtmodetmsg((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRjs &cC@s@tjdkr<tj|jdBd@}tj||ndS(s4Perform any platform-specific postprocessing of `tempname` This is where Mac header rewrites should be done; other platforms don't have anything special they should do. Resource providers should call this method ONLY after successfully extracting a compressed resource. They must NOT call it on resources that are already in the filesystem. `tempname` is the current (temporary) name of the file, and `filename` is the name it will be renamed to by the caller after this routine returns. tposiximiN(RRRsRttchmod(RttempnametfilenameRx((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt postprocessscC@s%|jrtdn||_dS(sSet the base path where resources will be extracted to, if needed. If you do not call this routine before any extractions take place, the path defaults to the return value of ``get_default_cache()``. (Which is based on the ``PYTHON_EGG_CACHE`` environment variable, with various platform-specific fallbacks. See that routine's documentation for more details.) Resources are extracted to subdirectories of this path based upon information given by the ``IResourceProvider``. You may set this to a temporary directory, but then you must call ``cleanup_resources()`` to delete the extracted files when done. There is no guarantee that ``cleanup_resources()`` will be able to remove all extracted files. (Note: you may not change the extraction path for a given resource manager once resources have been extracted, unless you first call ``cleanup_resources()``.) s5Can't change extraction path, files already extractedN(R\RmR_(RR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRs  cC@sdS(sB Delete all extracted resource files and directories, returning a list of the file and directory names that could not be successfully removed. This function does not have any concurrency protection, so it should generally only be called when the extraction path is a temporary directory exclusive to a single process. This method is not automatically called; you must call it explicitly or register it as an ``atexit`` function if you wish to ensure cleanup of a temporary directory used for extractions. N((Rtforce((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRRcN((RRRR`R_R R}R~R{RzRyR|RhRot staticmethodRjR~RRR(((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRjs           cC@sytjdSWntk r"nXtjdkrBtjjdSd}dd|fd|fd|fdd|fg}x|D]\}}d }xn|D]5}|tjkrtjj|tj|}qPqW|rtjj||}ntjj|d SqWtd dS(s Determine the default cache location This returns the ``PYTHON_EGG_CACHE`` environment variable, if set. Otherwise, on Windows, it returns a "Python-Eggs" subdirectory of the "Application Data" directory. On all other systems, it's "~/.python-eggs". tPYTHON_EGG_CACHERps~/.python-eggssApplication DatatAPPDATAt USERPROFILEt HOMEDRIVEtHOMEPATHtHOMEtWINDIRRcs Python-Eggss3Please set the PYTHON_EGG_CACHE enviroment variableN(R((RN(R(RR(R(R((RN(R( RRrRRRt expanduserR`Rjt RuntimeError(tapp_datat app_homesR$tsubdirtdirnameR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRs0     cC@stjdd|S(sConvert an arbitrary string to a standard distribution name Any runs of non-alphanumeric/. characters are replaced with a single '-'. s[^A-Za-z0-9.]+R$(R9tsub(R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRGscC@sZyttjj|SWn9tjjk rU|jdd}tjdd|SXdS(sB Convert an arbitrary string to a standard version string RR(s[^A-Za-z0-9.]+R$N(R@R RDtVersionRER/R9R(RD((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyROs cC@stjdd|jS(sConvert an arbitrary string to a standard 'extra' name Any runs of non-alphanumeric characters are replaced with a single '_', and the result is always lowercased. s[^A-Za-z0-9.]+R(R9RR2(textra((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR[scC@s|jddS(s|Convert a project or version name to its filename-escaped form Any '-' characters are currently replaced with '_'. R$R(R/(R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRdstMarkerEvaluationcB@s<eZidd6dd6ejd6dd6ejd6ejd6ejd 6ejd 6Zed Z e d Z ed Z edZ edZedZedZeddZe dZedZdekr eZnedZedZe dZRS(cC@stjS(N(RR(((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRbnRctos_namecC@stjS(N(RhRi(((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRboRct sys_platformtpython_full_versioncC@stjd S(Ni(Ritpython_version(((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRbqRcRtplatform_versiontplatform_machinetplatform_python_implementationtpython_implementationcC@s5y|j|Wntk r0}|j|SXtS(s{ Validate text as a PEP 426 environment marker; return an exception if invalid or False otherwise. (Rt SyntaxErrortnormalize_exceptionR(Rttextte((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pytis_invalid_markerxs cC@sEidd6dd6}d|_d|_|j|j|j|_|S(s Given a SyntaxError from a marker evaluation, normalize the error message: - Remove indications of filename and line number. - Replace platform-specific error messages with standard error messages. sinvalid syntaxsunexpected EOF while parsingsparenthesis is never closedN(R`R}tlinenoR<Ry(texctsubs((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRs    cC@sKgtdt|dD]}|j||^q}tjtj|S(Nii(trangetlent interprett functoolstreduceRStand_(RtnodelisttiRQ((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pytand_tests5cC@sKgtdt|dD]}|j||^q}tjtj|S(Nii(RRRRRRStor_(RRRRQ((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyttests5cC@sj|dd}|tjkrT|ddtjkrCtdn|j|dSd}t|dS(NiiisEmpty parenthesess5Language feature not supported in environment markers(ttokentLPARtRPARRR(RRttRy((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pytatomscC@st|dkr'd}t|n|dd}|d}|dtjkrt|ddkr|dkr}d}qd }qny|j|}Wn-tk rt|d }t|nX||j|d|j|dS( Nis5Chained comparison not allowed in environment markersiiiitnotsnot insis nots, operator not allowed in environment markers(RRRtNAMEtget_opRRtevaluate(RRRytcomptcop((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt comparisons      cC@si |jtj6|jtj6|jtj6|jtj6dd6dd6tjd6tjd6tjd6tj d6tj d 6tj d 6}t td r|j|tj s<=s>=tor_test(RtsymbolRRRRSteqtnetlttgttletgeRR(Rtoptops((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRs             cC@s#|jtj|jddS(sz Evaluate a PEP 426 environment marker on CPython 2.4+. Return a boolean indicating the marker result in this environment. Raise SyntaxError if marker is invalid. This implementation uses the 'parser' module, which is not implemented on Jython and has been superseded by the 'ast' module in Python 2.6 and later. i(Rtparsertexprttotuple(RRR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRs cC@std|jDS(s Markerlib implements Metadata 1.2 (PEP 345) environment markers. Translate the variables to Metadata 2.0 (PEP 426). cs@s-|]#\}}|jdd|fVqdS(R(RN(R/(t.0Rtvalue((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pys s(RKRQ(R/((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt_translate_metadata2scC@sdddl}|j|j}y|j||}Wn&tk r_}t|jdnX|S(s Evaluate a PEP 426 environment marker using markerlib. Return a boolean indicating the marker result in this environment. Raise SyntaxError if marker is invalid. iN(t _markerlibRtdefault_environmentRt NameErrorRRa(RRRR/tresultR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt_markerlib_evaluates RcC@sdx t|dkr"|d}qWy|j|d}Wntk rYtdnX||S(Niiis)Comparison or logical expression expected(RRRR(RRR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRs cC@sx t|dkr"|d}qW|d}|d}|tjkry|j|}Wn!tk rztd|nX|S|tjkr|d}|j|stdn|dd!Sd}t|dS(NiiisUnknown name %rs1Only plain strings allowed in environment markersis5Language feature not supported in environment markers(RRRRRRtSTRINGt _safe_string(RRtkindRRR,Ry((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRs$      cC@s:|d dko9|jd o9|jd o9d|kS(Nis'"s"""s'''s\(R3(tcand((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR%sN(RRRiRRDRRRRGRRRRRRRRR`RRRRHRRR(((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRls2                cB@seZdZdZdZdZdZdZdZ dZ dZ dZ e jdkrodZn d Zd Zd Zd Zd ZdZdZdZdZdZdZdZRS(sETry to implement resources and metadata for arbitrary PEP 302 loaderscC@s:t|dd|_tjjt|dd|_dS(NRt__file__Rc(RR`RRRRt module_path(RR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR 8scC@s|j|j|S(N(t_fnR(RRR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR<scC@stj|j||S(N(tiotBytesIOR(RRR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR?scC@s|j|j|j|S(N(t_getRR(RRR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRBscC@s|j|j|j|S(N(t_hasRR(RR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyREscC@s%|jo$|j|j|j|S(N(tegg_infoRR(RR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRHsicC@s)|js dS|j|j|j|S(NRc(RRR(RR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRLs cC@s2|js dS|j|j|j|jdS(NRcsutf-8(RRRtdecode(RR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRQs cC@st|j|S(N(RR(RR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRVscC@s|j|j|j|S(N(t_isdirRR(RR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR~YscC@s%|jo$|j|j|j|S(N(RRR(RR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR\scC@s|j|j|j|S(N(t_listdirRR(RR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR|_scC@s)|jr%|j|j|j|SgS(N(RRR(RR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRbs c B@sd|}|j|s,ed|n|j|jdd}|jdd}|j|j|}||dsN(tContextualZipFiletnamelistRK(RRRQ((RsG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pytbuilds  (RRRRGRtload(((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRstMemoizedZipManifestscB@s)eZdZejddZdZRS(s% Memoized zipfile manifests. t manifest_modsmanifest mtimecC@svtjj|}tj|j}||ksC||j|krk|j|}|j||||"os.rename" and "os.unlink" are not supported on this platforms .$extracttdirRp(t_indexR!RRRjRR+Rt WRITE_SUPPORTtIOErrorRoRRt _is_currentt_mkstemptwriteRRRRR~RterrortisfileRR Rh( RRRRtlastR*R)t real_pathtoutfttmpnam((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR!Rs@$    c C@s|j|j|\}}tjj|s2tStj|}|j|ks_|j|krctS|j j |}t |d}|j }WdQX||kS(sK Return True if the file_path is current for this zip_path RN( R+RRRR4RRstst_sizeR RRR R( Rt file_pathRR*R)Rst zip_contentstft file_contents((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR0scC@sa|jdkrZg}x6dD].}|j|r|j|j|qqW||_n|jS(Nsnative_libs.txtseager_resources.txt(snative_libs.txtseager_resources.txt(R#R`RR,R(RR#R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR s  cC@sy |jSWntk ri}x~|jD]s}|jtj}xX|rtjj|d }||kr||j|dPqF|jg||=?|===?|!=|~=)\s*((\w|[-.*_!+])+)s\s*,s\s*\[s\s*\]s \w+(\.\w+)*$s (?P[^-]+) ( -(?P[^-]+) ( -py(?P[^-]+) ( -(?P.+) )? )? )? cB@seZdZd d ddZdZdZedZdZ dddZ e j dZ eddZed Zedd Zedd ZRS(s3Object representing an advertised importable objectcC@snt|std|n||_||_t||_tjddj|j |_ ||_ dS(NsInvalid module namesx[%s]t,( tMODULERmRt module_nameRtattrsRRRjR+R(RRRRR+R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR + s   "cC@sfd|j|jf}|jr<|ddj|j7}n|jrb|ddj|j7}n|S(Ns%s = %st:R(s [%s]R(RRRRjR+(RR,((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR4 s   cC@sdt|S(NsEntryPoint.parse(%r)(R@(R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR< scO@sO| s|s|r,tjdtddn|rE|j||n|jS(sH Require packages for this EntryPoint, then resolve it. sJParameters to load are deprecated. Call .resolve and .require separately.R8i(R=R>tDeprecationWarningRqR(RRqRaR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR? s cC@sdt|jddgdd}ytjt|j|SWn%tk r_}tt|nXdS(sD Resolve the entry point from its module and attrs. tfromlistRtleveliN( RRRRRRR?RR@(RRR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRN s cC@si|jr%|j r%td|n|jj|j}tj|||}tttj|dS(Ns&Can't require() without a distribution( R+RRRRRR&RR(RR/R0RRQ((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRqX s s]\s*(?P.+?)\s*=\s*(?P[\w.]+)\s*(:\s*(?P[\w.]+))?\s*(?P\[.*\])?\s*$cC@s|jj|}|s0d}t||n|j}|j|d}|drl|djdnd}||d|d|||S(sParse a single entry point from string `src` Entry point syntax follows the form:: name = some.module:some.attr [extra1, extra2] The entry name and module name are required, but the ``:attrs`` and ``[extras]`` parts are optional s9EntryPoint must be in 'name=module:attrs [extras]' formatR+tattrR(RR((tpatternRgRmt groupdictt _parse_extrasR (RtsrcRRoRytresR+R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRh s  #cC@s9|s dStjd|}|jr2tn|jS(NR((RRtspecsRmR+(Rt extras_specR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR| s   cC@st|std|ni}xZt|D]L}|j||}|j|krptd||jn|||j '{project_name} ({version})' is being parsed as a legacy, non PEP 440, version. You may find odd behavior and sort order. In particular it will be sorted as less than 0.0. It is recommended to migrate to PEP 440 compatible versions. s R(R RDt LegacyVersionRRR`RaRZR/R=R>RtvarsR(RtLVt is_legacyRf((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt_warn_legacy_version s  cC@sgy |jSWnUtk rbt|j|j}|dkr^d}t||j|n|SXdS(Ns(Missing 'Version:' header and/or %s file(RR?Rt _get_metadatatPKG_INFOR`Rm(RRDRf((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRD/ s   cC@sy |jSWntk rigd6}|_xdD]}xt|j|D]\}}|rd|kr|jdd\}}t|rg}qt|sg}qnt|pd}n|j |gj t |qRWq6W|SXdS(Ns requires.txts depends.txtRi(s requires.txts depends.txt( t_Distribution__dep_mapR?R`RRR RRRRR,R(RtdmRRRtmarker((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt_dep_map: s    "     'cC@s|j}g}|j|jddxS|D]K}y|j|t|Wq/tk rytd||fq/Xq/W|S(s@List of Requirements needed for this distro if `extras` are useds%s has no such extra feature %rN((RR,R<R`RRR(RR+RtdepsR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRN s   cc@s5|j|r1x|j|D] }|VqWndS(N(RR(RRR_((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR\ scC@s|dkrtj}n|j|dt|tjkrt|jx6|jdD]"}|tjkrWt |qWqWWndS(s>Ensure distribution is importable on `path` (default=sys.path)R/snamespace_packages.txtN( R`RhRR RRR!RRR(RRtpkg((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pytactivatea s   cC@sOdt|jt|j|jp'tf}|jrK|d|j7}n|S(s@Return what this distribution's standard .egg filename should bes %s-%s-py%sR$(RR-RDRLR[Ri(RR}((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRl s  cC@s(|jrd||jfSt|SdS(Ns%s (%s)(R!R@(R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRw s cC@sMyt|dd}Wntk r/d}nX|p9d}d|j|fS(NRDs[unknown version]s%s %s(RR`RmR-(RRD((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR} s    cC@s.|jdrt|nt|j|S(sADelegate all unrecognized public attributes to .metadata providerR(R3R?RR(RR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt __getattr__ scK@s(|jt|tjj|||S(N(RXRURRR(RR}RCRN((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRM scC@sTt|jtjjr1d|j|jf}nd|j|jf}tj|S(s?Return a ``Requirement`` that matches this distribution exactlys%s==%ss%s===%s(RRR RDRR-RR(Rtspec((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR9 scC@sD|j||}|dkr:td||ffn|jS(s=Return the `name` entry point of `group` or raise ImportErrorsEntry point %r not foundN(RwR`RR(RRlRR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRu s cC@scy |j}Wn3tk rBtj|jd|}|_nX|dk r_|j|iS|S(s=Return the entry point map for `group`, or the full entry mapsentry_points.txtN(t_ep_mapR?RRRR`R<(RRltep_map((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRv s    cC@s|j|j|S(s<Return the EntryPoint object for `group`+`name`, or ``None``(RvR<(RRlR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRw sc C@s|p |j}|sdSt|}tjj|}g|D]}|rVt|pY|^q>}xt|D]w\}}||krPqo||kro|jtkro|tjkr|j n|j |||j ||PqoqoW|tjkr|j n|r|j d|n |j |dSxMt ry|j ||d} Wntk rgPq3X|| =|| =| }q3WdS(s@Insert self.location in path before its nearest parent directoryNii(R!RURRRt enumerateRTRRhtcheck_version_conflictR#R5RRpRm( RRtlocR/tnloctbdirRqtnpathRtnp((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR  s: +       cC@s|jdkrdStj|jd}t|j}x|jdD]}|tjksJ||ksJ|tkr}qJn|dkrqJnt tj|dd}|rt|j |sJ|j |jrqJnt d|||jfqJWdS( Nt setuptoolssnamespace_packages.txts top_level.txtt pkg_resourcestsiteRsIModule %s was already imported from %s, but %s is being added to sys.path(RRR( RRKRLRRR!RhRRcRR`R3t issue_warning(RtnspRtmodnametfn((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR s"  cC@s8y |jWn&tk r3tdt|tSXtS(NsUnbuilt egg for (RDRmRRRR(R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRR s   cK@sYd}x0|jD]"}|j|t||dqW|jd|j|j|S(s@Copy this distribution, substituting in any changed keyword argss<project_name version py_version platform location precedenceRCN(R RRR`RR(RRNRlR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pytclone s  cC@s g|jD]}|r |^q S(N(R(Rtdep((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR+ sN((+RRRRR`R[RR RGRXRRRPRRRRRRRRRRRDRRRRRRRRRMR9RuRvRwRR RRRRR+(((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR sN                    +   tEggInfoDistributioncB@seZdZRS(cC@s.t|j|j}|r*||_n|S(s Packages installed by distutils (e.g. numpy or scipy), which uses an old safe_version, and so their version numbers can get mangled when converted to filenames (e.g., 1.11.0.dev0+2329eae to 1.11.0.dev0_2329eae). These distributions will not be parsed properly downstream by Distribution and safe_version, so take an extra step and try to get the version number from the metadata file itself instead of the filename. (RRRR(Rt md_version((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR s  (RRR(((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR stDistInfoDistributioncB@sSeZdZdZejdZedZedZ dZ dZ RS(sGWrap an actual or potential sys.path entry w/metadata, .dist-info styletMETADATAs([\(,])\s*(\d.*?)\s*([,\)])cC@sTy |jSWnBtk rO|j|j}tjjj||_|jSXdS(sParse and cache metadataN(t _pkg_infoR?RRtemailRtParsertparsestr(RRC((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt_parsed_pkg_info! s   cC@s6y |jSWn$tk r1|j|_|jSXdS(N(t_DistInfoDistribution__dep_mapR?t_compute_dependencies(R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR+ s   cC@sy|jdddg}|dj}|dj}tj|jd|}|jddjdd}||fS(sConvert 'Foobar (1); baz' to ('Foobar ==1', 'baz') Split environment marker, add == prefix to version specifiers as necessary, and remove parenthesis. t;iRcis\1==\2\3t(t)(R RZR9RtEQEQR/(Rt requires_distR6tdistverstmark((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt_preparse_requirement3 s c @sddlm}igd6}|_gxc|jjdpBgD]I}|j|\}}tt|}|||_ j |qCWfd}t |d}|dj |xR|jjdpgD]8} t | j} tt || ||| (RaRNRRS((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRb s  tRequirementParseErrorcB@seZdZRS(cC@sdj|jS(NR(RjRa(R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRp s(RRR(((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRo sc #@stt|fd}xD]}t|}|sRtd|n|jd}|j}g}t||}|r|j}|tt||dd\}}}n|tt ||d d\}}}g|D]\}} || f^q}t |||Vq(WdS( sYield ``Requirement`` objects for each specification in `strs` `strs` must be a string, or a (possibly-nested) iterable thereof. c @sQg}x|||st||rfyt}d}Wqftk rbd}t|qfXn|||}|sd|d}t||d||n|j|j||j}t||}|r|j}q |||s d}t||d||q q W|||}|rD|j}n|||fS(Nis+\ must not appear on the last nonblank lines Expected s intatsExpected ',' or end-of-list in(tCONTINUERt StopIterationRR5RltendtCOMMA( tITEMt TERMINATORR_Rqtgroupst item_nameRQRyRg(R(sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt scan_list| s2     sMissing distribution specis 'extra' nameis version specN(i(ii( RRtDISTRORRlRtOBRACKETtCBRACKETtVERSIONtLINE_ENDR( RRR_RgR-RqR+RRRY((RsG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRt s$#    $%cB@sVeZdZdZdZdZdZdZdZe dZ RS(cC@s|t||_}||j|_|_tjjdjg|D]!\}}dj||g^qE|_ ||_ t t t ||_|j|j t|jf|_t|j|_dS(s>DO NOT CALL THIS UNDOCUMENTED METHOD; use Requirement.parse()!RRcN(Rt unsafe_nameR2R-RR t specifierst SpecifierSetRjt specifierRRRRR+RthashCmpRt_Requirement__hash(RR-RR+RR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR  s = cC@s<dj|j}|r%d|}nd|j||jfS(NRs[%s]s%s%s%s(RjR+R-R(RR+((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR s cC@st|to|j|jkS(N(RRR(RR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR scC@s ||k S(N((RR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR scC@sGt|tr1|j|jkr%tS|j}n|jj|dtS(Nt prereleases(RRRRRDRtcontainsR(RR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR s  cC@s|jS(N(R(R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR scC@sdt|S(NsRequirement.parse(%r)(R@(R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR RccC@st|\}|S(N(R(R,R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR s( RRR RRRRRRRR(((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR s      cC@s:t|ts3d|tfdY}|jdS|jS(s&Get an mro for a type or classic classRcB@seZRS((RR(((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR si(RRtobjectt__mro__(R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt_get_mro s cC@sAx:tt|dt|D]}||kr||SqWdS(s2Return an adapter factory for `ob` from `registry`RN(RRR(tregistryR\R((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR s% cC@s8tjj|}tjj|s4tj|ndS(s1Ensure that the parent directory of `path` existsN(RRRR tmakedirs(RR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR scC@s^tstdnt|\}}|rZ|rZt| rZt|t|dndS(s/Sandbox-bypassing version of ensure_directory()s*"os.mkdir" not supported on this platform.iN(R.R/R R RiR(RRR}((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyRi s  cc@sd}g}xt|D]y}|jdr|jdrs|sI|rW||fVn|dd!j}g}qtd|q|j|qW||fVdS(ssSplit a string or iterable thereof into (section, content) pairs Each ``section`` is a stripped version of the section header ("[section]") and each ``content`` is a list of stripped lines excluding blank lines and comment-only lines. If there are any such lines before the first section header, they're returned in a first ``section`` of ``None``. t[t]iisInvalid section headingN(R`RR3RLRZRmR5(R,tsectiontcontentR_((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR s  cO@s7tj}ztt_tj||SWd|t_XdS(N(RR tos_openttempfiletmkstemp(RaRNtold_open((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyR1# s   tignoretcategoryR5cO@s||||S(N((R<RaR((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyt _call_aside6 s cC@sSt}||dRqRR?RRRRDRRBRRCRGRJRORURWRZR]R^R_t _sget_nonet _sset_noneRpt__all__t ExceptionRRRRRRR[RRRRRRRsRkRReR:RfRRRRrRRtRuRvRwRRRRRRRRRRRRRRRRRRRRRRRRKRRRRRRPRRRRRRNRSR`t ImpImporterRRaRRnRkRRR{R|RRURRiRRgRRRRRRRRR;t IGNORECASERRRRRRRRRRmRRRRRRRiRR1tfilterwarningsRRHRR(((sG/opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyts                               +c                                  .    m ,    e        (            ~ N?   @7