Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
idna / lib / python2.7 / site-packages / pip / vendor / distlib / compat.pyc
Size: Mime:
ó
•èRc@@sðddlmZddlZddlZddlZejddkrõddlmZefZe	Z
ddlmZ
ddlZddlZddlmZddlmZmZmZmZmZdd	lmZmZmZmZmZm Z m!Z!d
„Zddl"Z"ddl"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,ddl-Z-ddl.Z.ddl/Z0ddl1m1Z1ddl2Z2e3Z3dd
l4m5Z6ddl4m7Z8da:d„Z;de<fd„ƒYZ=d„Z>d„Z?n…ddl@mZeAfZeAZ
ddl@mBZ
ddlZddlZddlZddlCmZmZmZm;Z;mZmZmZmZm!Z!ddlDm$Z$mZm#Z#mZmZm'Z'm(Z(m)Z)m*Z*m+Z+m,Z,ddlEm&Z&m%Z%m Z ddlFjGZ-ddlDjHZ"ddlIjGZ.ddl0Z0ddlJm1Z1ddlKjLZ2eMZ3ddl4m8Z8e6Z6ddlNm?Z?m=Z=ddlOmPZQeReQdƒr¢eQZPn<ddlOmSZTdeTfd„ƒYZSdeQfd „ƒYZPydd!lUmVZVWneWk
rd"„ZVnXyddlXZXWn!eWk
rBdd#lmXZXnXy
eYZYWn*eZk
rydd$l[m\Z\d%„ZYnXyej]Z]ej^Z^WnJe_k
rÜej`ƒZaead&krÁd'Zbnd(Zbd)„Z]d*„Z^nXydd+lcmdZdWnTeWk
rGdd,lemfZfmgZgddlZejhd-ƒZid.„Zjd/„ZdnXydd0lkmlZlWn!eWk
rdd0lmmlZlnXe1ƒjnZnydd1l[moZoWnkeWk
r
dd2l[mpZpydd3lqmrZsWneWk
ród4d5„ZsnXd6epfd7„ƒYZonXydd8ltmuZuWneWk
rAdd9„ZunXydd:l[mvZvWn“eWk
rëydd;lwmxZyWn!eWk
rdd;lzmxZynXy dd<l{m|Z|m}Z}m~Z~WneWk
rÑnXd=efd>„ƒYZvnXdS(?i(tabsolute_importNi(tStringIO(tFileTypei(tshutil(turlparset
urlunparseturljointurlsplitt
urlunsplit(turlretrievetquotetunquoteturl2pathnametpathname2urltContentTooShortErrort	splittypecC@s+t|tƒr!|jdƒ}nt|ƒS(Nsutf-8(t
isinstancetunicodetencodet_quote(ts((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyR
s(
tRequestturlopentURLErrort	HTTPErrortHTTPBasicAuthHandlertHTTPPasswordMgrtHTTPSHandlertHTTPHandlertHTTPRedirectHandlertbuild_opener(t
HTMLParser(tifilter(tifilterfalsecC@sYtdkr*ddl}|jdƒantj|ƒ}|rO|jddƒSd|fS(sJsplituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.iNs^(.*)@(.*)$ii(t	_userprogtNonetretcompiletmatchtgroup(thostR$R&((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyt	splituser-stCertificateErrorcB@seZRS((t__name__t
__module__(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyR*8scC@sˆg}x[|jdƒD]J}|dkr8|jdƒqtj|ƒ}|j|jddƒƒqWtjddj|ƒdtjƒS(	Nt.t*s[^.]+s\*s[^.]*s\As\.s\Z(tsplittappendR$tescapetreplaceR%tjoint
IGNORECASE(tdntpatstfrag((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyt_dnsname_to_pat<scC@sg|stdƒ‚ng}|jdd
ƒ}xI|D]A\}}|dkr4t|ƒj|ƒredS|j|ƒq4q4W|sëxi|jddƒD]R}xI|D]A\}}|dkrŸt|ƒj|ƒrÐdS|j|ƒqŸqŸWq’Wnt|ƒdkr(td|d	jtt	|ƒƒfƒ‚n;t|ƒdkrWtd
||dfƒ‚ntdƒ‚dS(s7Verify that *cert* (in decoded format as returned by
        SSLSocket.getpeercert()) matches the *hostname*.  RFC 2818 rules
        are mostly followed, but IP addresses are not accepted for *hostname*.

        CertificateError is raised on failure. On success, the function
        returns nothing.
        sempty or no certificatetsubjectAltNametDNSNtsubjectt
commonNameis&hostname %r doesn't match either of %ss, shostname %r doesn't match %ris=no appropriate commonName or subjectAltName fields were found(((
t
ValueErrortgetR8R&R0tlenR*R3tmaptrepr(tcertthostnametdnsnamestsantkeytvaluetsub((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pytmatch_hostnameJs.%(t
TextIOWrapper(	RRRR)R
RRRR(RR	RRR
RRRRRR(RRR(tfilterfalse(RIR*(tZipFilet	__enter__(t
ZipExtFileRNcB@s#eZd„Zd„Zd„ZRS(cC@s|jj|jƒdS(N(t__dict__tupdate(tselftbase((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyt__init__˜scC@s|S(N((RQ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyRM›scG@s|jƒdS(N(tclose(RQtexc_info((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyt__exit__žs(R+R,RSRMRV(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyRN—s		RLcB@s#eZd„Zd„Zd„ZRS(cC@s|S(N((RQ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyRM£scG@s|jƒdS(N(RT(RQRU((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyRV¦scO@stj|||Ž}t|ƒS(N(tBaseZipFiletopenRN(RQtargstkwargsRR((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyRXªs(R+R,RMRVRX(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyRL¢s		(tpython_implementationcC@s@dtjkrdStjdkr&dStjjdƒr<dSdS(s6Return a string identifying the Python implementation.tPyPytjavatJythont
IronPythontCPython(tsystversiontostnamet
startswith(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyR[±s(t	sysconfig(tCallablecC@s
t|tƒS(N(RRg(tobj((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pytcallableÅstmbcststricttsurrogateescapecC@sOt|tƒr|St|tƒr2|jttƒStdt|ƒjƒ‚dS(Nsexpect bytes or str, not %s(	Rtbytest	text_typeRt_fsencodingt	_fserrorst	TypeErrorttypeR+(tfilename((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pytfsencodeÓscC@sOt|tƒr|St|tƒr2|jttƒStdt|ƒjƒ‚dS(Nsexpect bytes or str, not %s(	RRnRmtdecodeRoRpRqRrR+(Rs((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pytfsdecodeÜs(tdetect_encoding(tBOM_UTF8tlookupscoding[:=]\s*([-\w.]+)cC@s^|d jƒjddƒ}|dks7|jdƒr;dS|dksV|jd
ƒrZdS|S(s(Imitates get_normal_name in tokenizer.c.it_t-sutf-8sutf-8-slatin-1s
iso-8859-1siso-latin-1slatin-1-siso-8859-1-siso-latin-1-(slatin-1s
iso-8859-1siso-latin-1(slatin-1-siso-8859-1-siso-latin-1-(tlowerR2Re(torig_enctenc((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyt_get_normal_nameísc@syˆjj‰Wntk
r)d‰nXt‰d}d}‡fd†}‡‡fd†}|ƒ}|jtƒrŽt‰|d}d}n|sž|gfS||ƒ}|r½||gfS|ƒ}|sÙ||gfS||ƒ}|rû|||gfS|||gfS(s>
        The detect_encoding() function is used to detect the encoding that should
        be used to decode a Python source file.  It requires one argment, readline,
        in the same way as the tokenize() generator.

        It will call readline a maximum of twice, and return the encoding used
        (as a string) and a list of any lines (left as bytes) it has read in.

        It detects the encoding from the presence of a utf-8 bom or an encoding
        cookie as specified in pep-0263.  If both a bom and a cookie are present,
        but disagree, a SyntaxError will be raised.  If the encoding cookie is an
        invalid charset, raise a SyntaxError.  Note that if a utf-8 bom is found,
        'utf-8-sig' is returned.

        If no encoding is specified, then the default of 'utf-8' will be returned.
        sutf-8c@s$yˆƒSWntk
rdSXdS(Nt(t
StopIteration((treadline(sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pytread_or_stops
c@s7y|jdƒ}WnDtk
rYd}ˆdk	rJdj|ˆƒ}nt|ƒ‚nXtj|ƒ}|ssdSt|dƒ}yt|ƒ}WnHt	k
r݈dkr¼d|}ndjˆ|ƒ}t|ƒ‚nXˆr3|j
dkr&ˆdkrd}ndjˆƒ}t|ƒ‚n|d	7}n|S(
Nsutf-8s'invalid or missing encoding declarations{} for {!r}isunknown encoding: sunknown encoding for {!r}: {}sencoding problem: utf-8s encoding problem for {!r}: utf-8s-sig(RutUnicodeDecodeErrorR#tformattSyntaxErrort	cookie_retfindallRRytLookupErrorRd(tlinetline_stringtmsgtmatchestencodingtcodec(t	bom_foundRs(sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pytfind_cookies6


			
is	utf-8-sigN(t__self__RdtAttributeErrorR#tFalseReRxtTrue(R‚RŽtdefaultRƒR‘tfirsttsecond((RRsR‚sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyRwøs4

&	
	

	
(R1(tChainMap(tMutableMapping(trecursive_reprs...c@s‡fd†}|S(sm
            Decorator to make a repr function return fillvalue for a recursive
            call
            c@smtƒ‰‡‡‡fd†}tˆdƒ|_tˆdƒ|_tˆdƒ|_tˆdiƒ|_|S(Nc@sWt|ƒtƒf}|ˆkr%ˆSˆj|ƒzˆ|ƒ}Wdˆj|ƒX|S(N(tidt	get_identtaddtdiscard(RQRFtresult(t	fillvaluetrepr_runningt
user_function(sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pytwrapperjs
R,t__doc__R+t__annotations__(tsettgetattrR,R¥R+R¦(R£R¤(R¡(R¢R£sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pytdecorating_functiongs	((R¡R©((R¡sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyt_recursive_reprasR™cB@sÎeZdZd„Zd„Zd„Zdd„Zd„Zd„Z	d„Z
d„Zeƒd	„ƒZ
ed
„ƒZd„ZeZd„Zed
„ƒZd„Zd„Zd„Zd„Zd„ZRS(sÍ A ChainMap groups multiple dicts (or other mappings) together
        to create a single, updateable view.

        The underlying mappings are stored in a list.  That list is public and can
        accessed or updated using the *maps* attribute.  There is no other state.

        Lookups search the underlying mappings successively until a key is found.
        In contrast, writes, updates, and deletions only operate on the first
        mapping.

        cG@st|ƒpig|_dS(s˜Initialize a ChainMap by setting *maps* to the given mappings.
            If no mappings are provided, a single empty dictionary is used.

            N(tlisttmaps(RQR¬((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyRS‹scC@st|ƒ‚dS(N(tKeyError(RQRF((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyt__missing__’scC@sAx1|jD]&}y||SWq
tk
r/q
Xq
W|j|ƒS(N(R¬R­R®(RQRFtmapping((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyt__getitem__•s
cC@s||kr||S|S(N((RQRFR–((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyR>scC@sttƒj|jŒƒS(N(R?R§tunionR¬(RQ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyt__len__ scC@sttƒj|jŒƒS(N(titerR§R±R¬(RQ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyt__iter__£sc@st‡fd†|jDƒƒS(Nc3@s|]}ˆ|kVqdS(N((t.0tm(RF(sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pys	<genexpr>§s(tanyR¬(RQRF((RFsN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyt__contains__¦scC@s
t|jƒS(N(R·R¬(RQ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyt__bool__©scC@s%dj|djtt|jƒƒƒS(Ns{0.__class__.__name__}({1})s, (R…R3R@RAR¬(RQ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyt__repr__¬scG@s|tj||ŒƒS(s?Create a ChainMap with a single dict created from the iterable.(tdicttfromkeys(tclstiterableRY((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyR¼±scC@s$|j|jdjƒ|jdŒS(sHNew ChainMap or subclass with a new copy of maps[0] and refs to maps[1:]ii(t	__class__R¬tcopy(RQ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyRÀ¶scC@s|ji|jŒS(s;New ChainMap with a new dict followed by all previous maps.(R¿R¬(RQ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyt	new_child¼scC@s|j|jdŒS(sNew ChainMap from maps[1:].i(R¿R¬(RQ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pytparentsÀscC@s||jd|<dS(Ni(R¬(RQRFRG((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyt__setitem__ÅscC@s?y|jd|=Wn&tk
r:tdj|ƒƒ‚nXdS(Nis(Key not found in the first mapping: {!r}(R¬R­R…(RQRF((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyt__delitem__Ès
cC@s9y|jdjƒSWntk
r4tdƒ‚nXdS(sPRemove and return an item pair from maps[0]. Raise KeyError is maps[0] is empty.is#No keys found in the first mapping.N(R¬tpopitemR­(RQ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyRÅÎs
cG@sHy|jdj||ŒSWn&tk
rCtdj|ƒƒ‚nXdS(sWRemove *key* from maps[0] and return its value. Raise KeyError if *key* not in maps[0].is(Key not found in the first mapping: {!r}N(R¬tpopR­R…(RQRFRY((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyRÆÕs
cC@s|jdjƒdS(s'Clear maps[0], leaving maps[1:] intact.iN(R¬tclear(RQ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyRÇÜsN(R+R,R¥RSR®R°R#R>R²R´R¸R¹RªRºtclassmethodR¼RÀt__copy__RÁtpropertyRÂRÃRÄRÅRÆRÇ(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyR™~s(													(tcache_from_sourcecC@sG|jdƒst‚|dkr*t}n|r9d}nd}||S(Ns.pytcto(tendswithtAssertionErrorR#t	__debug__(tpathtdebug_overridetsuffix((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyRËãs		(tOrderedDict(R(tKeysViewt
ValuesViewt	ItemsViewRÔcB@seZdZd„Zejd„Zejd„Zd„Zd„Zd„Z	e
d„Zd„Zd	„Z
d
„Zd„Zd„Zd
„Zd„ZeZeƒZed„Zdd„Zdd„Zd„Zd„Zedd„ƒZd„Zd„Zd„Z d„Z!d„Z"RS(s)Dictionary that remembers insertion ordercO@s„t|ƒdkr+tdt|ƒƒ‚ny|jWn7tk
rog|_}||dg|(i|_nX|j||ŽdS(sÑInitialize an ordered dictionary.  Signature is the same as for
            regular dictionaries, but keyword arguments are not recommended
            because their insertion order is arbitrary.

            is$expected at most 1 arguments, got %dN(R?Rqt_OrderedDict__rootR“R#t_OrderedDict__mapt_OrderedDict__update(RQRYtkwdstroot((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyRS
s


cC@s\||krH|j}|d}|||g|d<|d<|j|<n||||ƒdS(s!od.__setitem__(i, y) <==> od[i]=yiiN(RØRÙ(RQRFRGtdict_setitemRÜtlast((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyRÃs
	
)cC@s@|||ƒ|jj|ƒ\}}}||d<||d<dS(s od.__delitem__(y) <==> del od[y]iiN(RÙRÆ(RQRFtdict_delitemt	link_prevt	link_next((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyRÄ$s

cc@s=|j}|d}x#||k	r8|dV|d}qWdS(sod.__iter__() <==> iter(od)iiN(RØ(RQRÜtcurr((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyR´-s
	
	cc@s=|j}|d}x#||k	r8|dV|d}qWdS(s#od.__reversed__() <==> reversed(od)iiN(RØ(RQRÜRâ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyt__reversed__5s
	
	cC@smyHx|jjƒD]
}|2qW|j}||dg|(|jjƒWntk
r[nXtj|ƒdS(s.od.clear() -> None.  Remove all items from od.N(RÙt
itervaluesRØR#RÇR“R»(RQtnodeRÜ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyRÇ=s	
cC@s§|stdƒ‚n|j}|rO|d}|d}||d<||d<n(|d}|d}||d<||d<|d}|j|=tj||ƒ}||fS(s¡od.popitem() -> (k, v), return and remove a (key, value) pair.
            Pairs are returned in LIFO order if last is true or FIFO order if false.

            sdictionary is emptyiii(R­RØRÙR»RÆ(RQRÞRÜtlinkRàRáRFRG((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyRÅIs 	









cC@s
t|ƒS(sod.keys() -> list of keys in od(R«(RQ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pytkeysbscC@sg|D]}||^qS(s#od.values() -> list of values in od((RQRF((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pytvaluesfscC@s!g|D]}|||f^qS(s.od.items() -> list of (key, value) pairs in od((RQRF((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pytitemsjscC@s
t|ƒS(s0od.iterkeys() -> an iterator over the keys in od(R³(RQ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pytiterkeysnscc@sx|D]}||VqWdS(s2od.itervalues -> an iterator over the values in odN((RQtk((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyRärs
cc@s$x|D]}|||fVqWdS(s=od.iteritems -> an iterator over the (key, value) items in odN((RQRë((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyt	iteritemsws
cO@s&t|ƒdkr.tdt|ƒfƒ‚n|sCtdƒ‚n|d}d}t|ƒdkrr|d}nt|tƒr£xw|D]}||||<qˆWnXt|dƒrÚxF|jƒD]}||||<q¿Wn!x|D]\}}|||<qáWx$|jƒD]\}}|||<qWdS(	s—od.update(E, **F) -> None.  Update od from dict/iterable E and F.

            If E is a dict instance, does:           for k in E: od[k] = E[k]
            If E has a .keys() method, does:         for k in E.keys(): od[k] = E[k]
            Or if E is an iterable of items, does:   for k, v in E: od[k] = v
            In either case, this is followed by:     for k, v in F.items(): od[k] = v

            is8update() takes at most 2 positional arguments (%d given)s,update() takes at least 1 argument (0 given)iiRçN((R?RqRR»thasattrRçRé(RYRÛRQtotherRFRG((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyRP|s&	


cC@sC||kr!||}||=|S||jkr?t|ƒ‚n|S(s±od.pop(k[,d]) -> v, remove specified key and return the corresponding value.
            If key is not found, d is returned if given, otherwise KeyError is raised.

            (t_OrderedDict__markerR­(RQRFR–R ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyRƟs
cC@s"||kr||S|||<|S(sDod.setdefault(k[,d]) -> od.get(k,d), also set od[k]=d if k not in od((RQRFR–((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyt
setdefault¬s
cC@s‚|si}nt|ƒtƒf}||kr4dSd||<z5|sXd|jjfSd|jj|jƒfSWd||=XdS(sod.__repr__() <==> repr(od)s...is%s()s%s(%r)N(Rœt
_get_identR¿R+Ré(RQt
_repr_runningtcall_key((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyRº³s	
cC@sˆg|D]}|||g^q}t|ƒjƒ}x'ttƒƒD]}|j|dƒqEW|rx|j|f|fS|j|ffS(s%Return state information for picklingN(tvarsRÀRÔRÆR#R¿(RQRëRét	inst_dict((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyt
__reduce__Ás#cC@s
|j|ƒS(s!od.copy() -> a shallow copy of od(R¿(RQ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyRÀËscC@s(|ƒ}x|D]}|||<qW|S(sˆOD.fromkeys(S[, v]) -> New ordered dictionary with keys from S
            and values equal to v (which defaults to None).

            ((R½R¾RGtdRF((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyR¼Ïs	
cC@sMt|tƒr=t|ƒt|ƒko<|jƒ|jƒkStj||ƒS(s›od.__eq__(y) <==> od==y.  Comparison to another OD is order-sensitive
            while comparison to a regular mapping is order-insensitive.

            (RRÔR?RéR»t__eq__(RQRî((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyRøÚs.cC@s||kS(N((RQRî((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyt__ne__ãscC@s
t|ƒS(s@od.viewkeys() -> a set-like object providing a view on od's keys(RÕ(RQ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pytviewkeysèscC@s
t|ƒS(s<od.viewvalues() -> an object providing a view on od's values(RÖ(RQ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyt
viewvaluesìscC@s
t|ƒS(sBod.viewitems() -> a set-like object providing a view on od's items(R×(RQ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyt	viewitemsðsN(#R+R,R¥RSR»RÃRÄR´RãRÇR•RÅRçRèRéRêRäRìRPRÚtobjectRïRÆR#RðRºRöRÀRÈR¼RøRùRúRûRü(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyRÔþs:	
												
	
	
					(€t
__future__RRcR$Ratversion_infoRt
basestringtstring_typesRRnttypesRt	file_typet__builtin__tbuiltinstConfigParsertconfigparsert	_backportRRRRRRturllibR	R
RRRR
RRturllib2RRRRRRRRRRthttplibt	xmlrpclibtQueuetqueueRthtmlentitydefst	raw_inputt	itertoolsR tfilterR!RKR#R"R)R=R*R8RItiotstrRJturllib.parseturllib.requestturllib.errorthttp.clienttclienttrequestt
xmlrpc.clientthtml.parsert
html.entitiestentitiestinputtssltzipfileRLRWRíRNtBaseZipExtFiletplatformR[tImportErrorRfRit	NameErrortcollectionsRgRtRvR“tgetfilesystemencodingRoRpttokenizeRwtcodecsRxRyR%R‡RthtmlR1tcgitunescapeR™RštreprlibR›RªtimpRËRÔtthreadRRñtdummy_threadt_abcollRÕRÖR×R»(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/pip/vendor/distlib/compat.pyt<module>sè	(4	F		)	@L	





	

			
	
	
[


b