KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17
System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64
User : nobody ( 99)
PHP Version : 5.2.17
Disable Function : NONE
Directory :  /proc/21572/root/usr/lib64/python2.4/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/21572/root/usr/lib64/python2.4/pydoc.pyc
m
=5Dc@sdZdZdZdZdZdkZdkZdkZdkZdk	Z	dk
Z
dkZdkl
Z
dklZlZlZlZlZlZlZlZdklZd	Zd
ZdZdZd
ZdZdZei dei!Z"dZ#dZ$dZ%dZ&e'dZ(dZ)hdZ*de+fdYZ,dZ-dhdZ.dfdYZ/de
fd YZ0d!e/fd"YZ1d#e
fd$YZ2d%e/fd&YZ3d'a4d(Z5d)Z6d*Z7d+Z8d,Z9d-Z:d.Z;dd/Z<e3Z=e1Z>dd0Z?d1dd2Z@dd3ZAd4e'd5ZBd6fd7YZCeCeiDeiEZFd8fd9YZGd:eGfd;YZHd<ZIe'e'd=ZJd>ZKd?ZLd@ZMeNdAjoeMndS(BsGenerate Python documentation in HTML or text for interactive use.

In the Python interpreter, do "from pydoc import help" to provide online
help.  Calling help(thing) on a Python object documents the object.

Or, at the shell command line outside of Python:

Run "pydoc <name>" to show documentation on something.  <name> may be
the name of a function, module, package, or a dotted reference to a
class or function within a module or module in a package.  If the
argument contains a path segment delimiter (e.g. slash on Unix,
backslash on Windows) it is treated as the path to a Python source file.

Run "pydoc -k <keyword>" to search for a keyword in the synopsis lines
of all available modules.

Run "pydoc -p <port>" to start an HTTP server on a given port on the
local machine to generate documentation web pages.

Run "pydoc -w <name>" to write out the HTML documentation for a module
to a file named "<name>.html".

Module docs for core modules are assumed to be in

    http://www.python.org/doc/current/lib/

This can be overridden by setting the PYTHONDOCS environment variable
to a different URL or to a local directory containing the Library
Reference Manual pages.
sKa-Ping Yee <ping@lfw.org>s26 February 2001s$Revision: 43347 $sGuido van Rossum, for an excellent programming language.
Tommy Burnette, the original creator of manpy.
Paul Prescod, for all his work on onlinehelp.
Richard Chamberlain, for the first implementation of textdoc.
N(sRepr(s
expandtabssfindsjoinslowerssplitsstripsrfindsrstrip(sdequecCsg}g}xztiD]o}tii|pd}tii|}||jo1tii	|o|i
||i
|qqW|S(sAConvert sys.path into a list of absolute, existing, unique paths.t.N(tdirstnormdirstsystpathtdirtostabspathtnormcasetnormdirtisdirtappend(RR	RR((t/usr/lib64/python2.4/pydoc.pytpathdirs:s
 
cCsFti|p
ti|}|otiddt|pdS(s-Get the doc string or comments for an object.s^ *
tN(tinspecttgetdoctobjecttgetcommentstresulttretsubtrstrip(RR((RRFscCstt|d}t|djo|ddfSnEt|djo1t|do|dt|ddfSndt|dfS(s>Split a doc string into a synopsis line (if any) and the rest.s
iiRiN(tsplittstriptdoctlinestlenRtjoin(RR((RtsplitdocKs%cCs2|i}|i|jo|id|}n|S(s@Get a class name and qualify it with a module name if necessary.RN(Rt__name__tnamet
__module__tmodname(RR!R((Rt	classnameTs
	cCs^ti|pMti|p=ti|p-ti|pti|p
ti|S(s>Check if an object is of a type that probably means it's data.N(RtismoduleRtisclasst	isroutinetisframetistracebacktiscode(R((Rtisdata[scGs=x6|o.tt||d|d}|d}qW|S(s/Do a series of global replacements on a string.iiiN(tpairsRRttext(R+R*((Rtreplaceas cCsgt||joPtd|dd}td|d|}|| d|t||Sn|S(sCOmit part of a string if needed to make it fit in a maximum length.iiis...N(RR+tmaxlentmaxtpretpost(R+R-R/R0((Rtcramhs"s at 0x[0-9a-f]{6,16}(>+)$cCs.tittotid|Sn|S(s>Remove the hexadecimal id from a Python object representation.s\1N(t_re_stripidtsearchtreprt	ExceptionRR+(R+((RtstripidqscCsti|p
ti|S(N(Rtismethodtobjtismethoddescriptor(R8((Rt_is_some_methodxscCsh}x*ti|tD]\}}d||<qWx$|iD]}|i	t
|q=Wx'|iD]}t||||<qgW|S(Ni(
tmethodsRt
getmemberstclR:tkeytvaluet	__bases__tbasetupdatet
allmethodstkeystgetattr(R=R;R?RAR>((RRC{s

cCsRg}g}x9|D]1}||o|i|q|i|qW||fS(sSplit sequence s via predicate, and return pair ([true], [false]).

    The return value is a 2-tuple of lists,
        ([x for x in s if predicate(x)],
         [x for x in s if not predicate(x)])
    N(tyestnotstxt	predicateR(RHRJRIRFRG((Rt_split_lists
cCs||ddddddgjodSn|ido|idod	Sn|dj	o||jSn|id
SdS(s3Decide whether to show documentation on a variable.t__builtins__t__doc__t__file__t__path__R Rit__it_N(Rt
startswithtendswithtalltNone(RRT((Rtvisiblenames 
cCsctii|oLxIdddgD]4}tiitii|d|otSq#q#WntS(s3Guess whether a path refers to a package directory.s.pys.pycs.pyot__init__N(RRR
texttisfileRtTruetFalse(RRX((Rt	ispackages&c	Csti|i}|i|d\}}||jot
i|}yt
|}Wntj
odSnX|ojd|djoYy tid|||d}WndSnXt|ipddd}tid=n|i}x<|d djpt|o|i}|pPqqWt|}|d	 d
jo|d}n|d djos|d}|d
djo|d
 }nx*t|p|i}|pPqqWtt|dd}nd}|i||f||<n|S(s.Get the one-line summary out of a module file.itbit__temp__iRs
t#isr"""is"""is\N(iN(Rtstattfilenametst_mtimetmtimetcachetgetRUt
lastupdateRRt
getmoduleinfotinfotopentfiletIOErrortimptload_moduletmoduleRRMRtmodulestreadlinetlineRtclose(	RaRdRhRfRnRRjRcRq((RtsynopsissN
	 




tErrorDuringImportcBs tZdZdZdZRS(sEErrors that occurred while trying to import something to document it.cCs7|\}}}||_||_||_||_dS(N(texcR?ttbRatself(RwRat.4RuR?Rv((RRWs			cCsC|i}t|tijo
|i}nd|i||ifS(Nsproblem in %s - %s: %s(RwRuttypettypest	ClassTypeRRaR?(RwRu((Rt__str__s	
(RR RMRWR|(((RRts	cCsti}t|d}|it||jo
ti}n
ti
}|itii
|}tii|\}}t|d}y%ti||||d|f}Wnt|tinX|i|S(s<Import a Python source file or compiled file given its path.trN(Rlt	get_magictmagicRiRRjtreadRtPY_COMPILEDtkindt	PY_SOURCERrRtbasenameRatsplitextRRXRmRnRtRtexc_info(RRRRRaRXRnRj((Rt
importfiles 
	
%
ic
Csy|o|tijo|tijosg}tiD]%}
|
i|do||
q8q8~}x4|g|D]!}ti|||<ti|=qtWqnt|}Wnti
\}	}}}|tijotti|i|qt|	tjot|i|qt|	tjo1ttt|d ddgjodSqtt|ti
nXxHt|ddD]3}yt||}Wqtj
odSqXqW|S(sImport a module; handle errors; return None if the module isn't found.

    If the module *is* found but an exception occurs, it's wrapped in an
    ErrorDuringImport exception and reraised.  Unlike __import__, if a
    package path is specified, the module at the end of the path is returned,
    not the package at the beginning.  If the optional 'forceload' argument
    is 1, we reload the module from disk (unless it's a dynamic extension).RiRGRniN(t	forceloadRRRotbuiltin_module_namest_[1]tmRRtsubsR>Rdt
__import__RnRRuR?RvRhRtRNtSyntaxErrorRatImportErrorRtlowertstrRUtpartREtAttributeError(
RRRdRRnRvRR>RhRuRR?R((Rt
safeimports4<
6
tDoccBs;tZddZddZeZZZZdZ	RS(NcGs||f|}ygti|o|i|Snti|o|i|Snti	|o|i
|SnWntj
onXt|t
o|i|Sn|i|S(s%Generate documentation for an object.N(RRtargsRR#Rwt	docmoduleR$tdocclassR%t
docroutineRt
isinstancetpropertytdocpropertytdocother(RwRRR((Rtdocument$scGs7d|odt|t|if}t|dS(s+Raise an exception for unimplemented types.s.don't know how to document object%s of type %st N(RR4RyRRtmessaget	TypeError(RwRRRR((Rtfail4s*cCs yti|}Wntj
o
d}nXtiidd}ti	i
tiddti
dd!}t|tto|idjp0|i|os|iti	i
|doSd|i}|idod|id|f}qti	i
||}nd}|S(s*Return the location of module docs or Nones
(built-in)t
PYTHONDOCSs%http://www.python.org/doc/current/libtlibtpythoniiterrnot
exceptionstgcRltmarshaltposixtsignalRtthreadt	zipimports
site-packagessmodule-%s.htmlshttp://s%s/%st/N(
serrnos
exceptionsRsimpsmarshalsposixssignalssysRs	zipimport(Rt
getabsfileRRjRRtenvironRetdoclocRRRtexec_prefixtversiontbasedirRRyRRRthtmlfileRRU(RwRRRRjR((Rt	getdocloc<s 	V
(
RR RURRRRRRR(((RR#stHTMLReprcBsPtZdZdZdZdZdZdZeZdZ	eZ
RS(sBClass for safely making an HTML representation of a Python object.cCs:ti|d|_|_d|_d|_|_dS(Nii
id(tReprRWRwtmaxlisttmaxtupletmaxdictt	maxstringtmaxother(Rw((RRW[s
	cCst|ddddddS(Nt&s&amp;t<s&lt;t>s&gt;(R,R+(RwR+((RtescapeascCsti||S(N(RR4RwR(RwR((RR4dscCstt|doPdttt|id}t||ot||||Sqfn|i
ttt
||iS(NRtrepr_RQ(thasattrRyRIRRRt
methodnameRwREtlevelRR1R6R4R(RwRIRR((Rtrepr1gs
"cCst||i}t|}d|jo>dt|ddjo%d|d|i||dSnt	i
dd|i|S(Ns\s\\RR}is-((\\[\\abfnrtv\'"]|\\[0-9]..|\\x..|\\u....)+)s<font color="#c040c0">\1</font>(R1RIRwRttestR4ttestreprR,RRR(RwRIRRR((Rtrepr_stringns&%	cCsNy)|ittt||iSWn|id|iiSnXdS(Ns
<%s instance>(	RwRR1R6R4RIRt	__class__R(RwRIR((Rt
repr_instance{s)(RR RMRWRR4RRtrepr_strRtrepr_unicode(((RRYs						tHTMLDoccBs=tZdZeZeiZeiZdZddZdde	ddZ
dZdZd	d
Z
dZdZd
ZdZdZe	hhhdZe	dZe	e	dZe	e	hhdZdZe	e	hhhe	dZdZe	e	e	dZe	e	dZe	dZRS(s'Formatter class for HTML documentation.cCsd||fS(sFormat an HTML page.s
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: %s</title>
</head><body bgcolor="#f0f0f8">
%s
</body></html>N(ttitletcontents(RwRR((RtpagesRcCsd|||||pdfS(sFormat a page heading.s'
<table width="100%%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="%s">
<td valign=bottom>&nbsp;<br>
<font color="%s" face="helvetica, arial">&nbsp;<br>%s</font></td
><td align=right valign=bottom
><font color="%s" face="helvetica, arial">%s</font></td></tr></table>
    s&nbsp;N(tbgcoltfgcolRtextras(RwRRRR((Rtheadingsis&nbsp;c	
Cs~|djodd|d}nd|||f}	|o|	d||||f}	n|	d|||f}	|	d|S(	s Format a section with a heading.s<tt>s&nbsp;s</tt>s<p>
<table width="100%%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="%s">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="%s" face="helvetica, arial">%s</font></td></tr>
    sR
<tr bgcolor="%s"><td rowspan=2>%s</td>
<td colspan=2>%s</td></tr>
<tr><td>%s</td>s(
<tr><td bgcolor="%s">%s</td><td>%s</td>s'
<td width="100%%">%s</td></tr></table>N(
t
marginaliaRUtwidthRRRRtpreludetgapR(
RwRRRRRRRRR((Rtsections
cGsd|}|i||S(s$Format a section with a big heading.s<big><strong>%s</strong></big>N(RRwRR(RwRR((Rt
bigsections
c
Cs7|it|}t|dddddddd	S(s!Format literal preformatted text.s

s
 
Rs&nbsp;s
s<br>
N(RwRt
expandtabsR+R,(RwR+((Rt	preformatsicCsd}t||d|}xt|D]w}|dd|}xRt|||||D]5}|t|jo||||d}q_q_W|d}q+Wd|S(	s0Format a list of items into a multi-column list.Ris<td width="%d%%" valign=top>ids<br>
s</td>s7<table width="100%%" summary="list"><tr>%s</tr></table>N(	RRtlisttcolstrowstrangetcoltitformat(RwRRRRRRR((Rtmulticolumns
 cCsd|S(Ns<font color="#909090">%s</font>(R+(RwR+((RtgreyscGs8x1|D])}||jod|||fSqqW|S(s:Make a link for an identifier, given name-to-URL mappings.s<a href="%s">%s</a>N(tdictstdictR(RwRRR((Rtnamelinks
cCss|itii|i}}t||o7t	|||jo!d|i|t
||fSnt
||S(sMake a link for a class.s<a href="%s.html#%s">%s</a>N(RRRRoReR RRnRRER"R!(RwRR!RRn((Rt	classlinks
&!cCsd|i|ifS(sMake a link for a module.s<a href="%s.html">%s</a>N(RR(RwR((Rt
modulelinkscCsx|\}}}}|o|i|Sn|od||f}nd|}|od|}n|}d||fS(s;Make a link for a module or package to display in an index.s
%s.%s.htmls%s.htmls"<strong>%s</strong>&nbsp;(package)s<a href="%s">%s</a>N(RRR\tshadowedRwRturlR+(Rwt.2RRR\RRR+((Rt
modpkglinks
cCs|p|i}g}d}tid}	xto|	i||}
|
pPn|
i\}}|i||||!|
i\}}}}
}}|o3||idd}|id||fn|o1dt|}|id|||fn|
o1dt|
}|id|||fnq|||d!d	jo#|i|i||||n6|o|id
|n|i|i|||}q.W|i|||t|dS(
sMark up some plain text, given a context of symbols to look for.
        Each context dictionary maps object names to anchor names.isD\b((http|ftp)://\S+[\w/]|RFC[- ]?(\d+)|PEP[- ]?(\d+)|(self\.)?(\w+))t"s&quot;s<a href="%s">%s</a>s'http://www.rfc-editor.org/rfc/rfc%d.txts(http://www.python.org/peps/pep-%04d.htmlit(sself.<strong>%s</strong>RN(RRwtresultsthereRtcompiletpatternRZR3R+tmatchtspantstarttendRtgroupsRTtschemetrfctpeptselfdotRR,RtintRR;tfuncstclassesR(RwR+RRRR;RTRRRRRRRRRRRR((Rtmarkups<!!#c
Csd}x|D]}	t|	tfjo|	\}}|d}||i||}|o_||fjoOg}x'|D]}|i|i||q|W|dt
|dd}n|d}q
t|	tgjo!|d|i|	||}q
q
Wd|S(
sAProduce HTML for a class tree as given by inspect.getclasstree().Rs"<dt><font face="helvetica, arial">Rs, t)s

</font></dt>s
<dd>
%s</dd>
s
<dl>
%s</dl>
N(RttreetentryRytctbasesRwRR!tparenttparentsRARRt
formattree(
RwRR!RRRR	RRAR((RR
s$
%c$Gsy|i}y
|i}Wntj
o
d}nXt|d}g}xJt
t|dD]2}|i
dt||d d||fq^Wt||dd}d|}
yUti|}|}"tidjodk}|i|}"nd|"|f}Wntj
o
d	}nXg}t|d
ojt|i}|d dd
jo(|ddjot |dd!}n|i
d|i"|nt|do#|i
|i"t|i#n|o|
dt|d}
n|i$|}!|!dj	odt&}!nd}!|i'|
ddd||!}
ti)|ti*} gh}#}xti)|ti.D]w\}}|dj	pti1|p||joAt2||o-|#i
||fd|||<||<qqqWx|#D]\}}x|i3D]}|i|i5}}ti+i7|}||jo`|oYt||oIt9|||jo/||jo|d|||<||<qqqqWqWgh}}xti)|ti<D]\}}|dj	p&ti=|pti1||jo[t2||oG|i
||fd|||<ti>|o||||<qwq{qqWg}xGti)|t@D]3\}}t2||o|i
||fqqW|iAtB||iC||}|od|}|
d|}
t|dog}g}xtGiH|iIdD]}tGii|iId|}tiK|}|djol|o7||jo*|i
||ddf|i
|qtL|o|i
||ddfqqBqBW|iM|iN||iO}|
|iQddd |}
n@| o8|iN| |d!}|
|iQd"d#d |}
n|#otRd$|#}	|iTtiU|	d|g}x6|#D].\}}|i
|iV|||||qW|
|iQd%dd&t|}
n|oeg}x6|D].\}}|i
|iV|||||qW|
|iQd'dd(t|}
n|o_g}x-|D]%\}}|i
|iV||qW|
|iQd)dd*t|d+}
nt|d,o>|iAt|iW|iC}|
|iQd-dd|}
nt|d.o>|iAt|iX|iC}|
|iQd/dd|}
n|
S(0s/Produce HTML documentation for a module object.Ris5<a href="%s.html"><font color="#ffffff">%s</font></a>is)<big><big><strong>%s</strong></big></big>twin32Ns<a href="file:%s">%s</a>s
(built-in)t__version__it$s
Revision: s
version %st__date__s (%s)s, s(<br><a href="%(docloc)s">Module Docs</a>Rs#ffffffs#7799ees<a href=".">index</a><br>R_s.html#s#-s<tt>%s</tt>s
<p>%s</p>
ROiRWsPackage Contentss#aa55cccCs|\}}|i|S(N(R>R?RHR(t.0RHR>R?((Rt<lambda>stModuless#fffffcCs|\}}|S(N(R>R?(RR>R?((RRstClassess#ee77aat	Functionss#eeaa77tDatas#55aa55s<br>
t
__author__tAuthort__credits__tCredits(YRRRt__all__RTRRURtpartstlinksRRRRRt
linkednametheadRRRRRtplatformt
nturl2pathtpathname2urltfilelinkRRhRRRRRRwRRRRtlocalsRRR<R#RoRtcdictR$R>R?t	getmoduleRVR@RAR R!ReRnRERtfdictR%t	isbuiltint
isfunctiontdataR)RRRRtmodpkgstmodnamesRtlistdirRORjt
getmodulenameR\tsortRRRRtmapt	classlistR
tgetclasstreeRRR($RwRRtmodtignoredR>RTRRR/RRnR*RRjR)RR!RRRRAR?RR%RR(RhR!RRR#RoRRR((RR)s	
0
	&#

*"
$
.
3!

%
  !&&&&)  csi}|p|}i}
g}|idfdY}|tti
}t|djoPidx+|D]#}di|iqWdnd}d}d	}td
ti}hxg|D]_\}}}}d|d||<}t!|}y||<WqDt"j
oqDXqDWxM|oE|o|i#n|d
dt%|d\}}t'ijo
|}qn1jo
d}ndii}|d7}|i)dd|d||d}|d||d}|d||d}|d||d}|d||d}|gjpt*|}qWdi+|}||jod||f}nd |||f}|
oNg}x*|
D]"}|ii|iqNW|d!t+|d"}ni.t/i0}|od#|}i4|d$d%|d&|S((s.Produce HTML documentation for a class object.tHorizontalRulecstZdZdZRS(NcCs
d|_dS(Ni(Rwtneedone(Rw((RRWscs%|iodnd|_dS(Ns<hr>
i(RwR4tpush(Rw(R5(Rtmaybes
(RR RWR6((R5(RR3s	is&<dl><dt>Method resolution order:</dt>
s<dd>%s</dd>
s</dl>
c
st||\}}|omi|xV|D]J\}}}}i
t||dq7Wn|S(Ns
(RKtattrsRJtokthrR6R5tmsgRRthomeclsR?RwRRERR1RRtmdict(R:R7RJR8RRR?R;(RR<R9RwRR5RR1(Rtspills

csnt||\}}|oNi|x7|D]+\}}}}i
||q7Wn|S(N(RKR7RJR8R9R6R5R:RRR;R?Rwt_docpropertyR1(R:R7RJR8RRR?R;(R9RwR5R1(Rtspillpropertiess

!c
st||\}}|oi|x|D]\}}}}	i
t||}t|	pti|	ot|	dd}nd}|djod|nCit|	i}d|}d||fdq7Wn|S(NRMs<dl><dt>%s</dl>
s<dd><tt>%s</tt>s<dl><dt>%s%s</dl>
s
(RKR7RJR8R9R6R5R:RRR;R?RwRRERR1RAtcallableRtisdatadescriptorRURRRRRRR<(
R:R7RJRAR;RR8RRR?(RR<RwRR9R1RR5(Rt	spilldatas$



cCs|\}}}}t|S(N(RRtclsR?RV(RRRRCR?((RRsR_t-ics|djS(Ni(ttt	thisclass(RE(RF(RRssdefined heresinherited from %ss:<br>
R>cCs|dS(Ni(RE(RE((RRss
Methods %scCs|ddjS(Nitmethod(RE(RE((RRssClass methods %scCs|ddjS(Nisclass method(RE(RE((RRssStatic methods %scCs|ddjS(Nis
static method(RE(RE((RRss
Properties %scCs|ddjS(NiR(RE(RE((RRssData and other attributes %scCs|ddjS(NiR((RE(RE((RRsRs*<a name="%s">class <strong>%s</strong></a>s/<strong>%s</strong> = <a name="%s">class %s</a>s(%s)s, s<tt>%s<br>&nbsp;</tt>s#000000s#ffc8d8iN(5RRtrealnameRR@RRRR5R3R9tdequeRtgetmrotmroRR6RARwRR R=R?RBtfiltertclassify_class_attrsR7R<R>RR;R?tanchorRERtpopleftRFRKt	inheritedt__builtin__ttagR-tAssertionErrorRRR	RRRRRRR(RwRRR1RRR2RRR7R<RFRRRR3RPR	R?RHR9RAR>RKRR;R=RRBR?R5RN((	RwRR1RRR9R5R<RFRRs	
			

!	!		









 $cCs|id|i|S(s)Format an argument default value as text.t=N(RwRR4R(RwR((Rtformatvalue5scCs]|i}|p|}|o
|ipdd|}d}d}	ti	|o|i
}|o+||j	od|i
||}qnA|io d|i
|ii|}nd|i
||}|i}n||jod||f}
nj|oI||ijo9|i||jo%d|id||f}d	}	n|}d
|||f}
ti|ohti|\}
}}}ti|
|||d|i}|djod
|}
|d	d!}qnd}|
||o|id|}|	od|SnD|i t!||i"|||}|od|}d||fSdS(s;Produce HTML documentation for a function or method object.RRDis from s method of %s instances unbound %s methods$<a name="%s"><strong>%s</strong></a>s<a href="#%s">%s</a>is)<a name="%s"><strong>%s</strong></a> = %sRUs<lambda>s$<strong>%s</strong> <em>lambda</em> is(...)s'<font face="helvetica, arial">%s</font>s<dl><dt>%s</dt></dl>
s<dd><tt>%s</tt></dd>s<dl><dt>%s</dt>%s</dl>
N('RRRHRR=RNtnotetskipdocsRR7tim_classtimclassRwRR1tim_selfRtim_funcRt__dict__treallinkR't
getargspecRtvarargstvarkwtdefaultst
formatargspecRUtargspecRtdeclRRRRRR;R(RwRRR1RRR;R=RdRWRRVR`RRHR_R]RYRcRaRRN((RR9sF	
	

 

+
!

"$cCsg}|i}	|o|	d|n|idj	o-|it	||i
}|	d|nx`dd
dgD]O\}}t||}|dj	o'|i|||}
|	d	|
ququW|	d
di|S(Ns!<dl><dt><strong>%s</strong></dt>
s<dd><tt>%s</tt></dd>
tfgets<em>get</em>tfsets<em>set</em>tfdels<em>delete</em>s<dd>%s</dd>
s</dl>
R(Res<em>get</em>(Rfs<em>set</em>(Rgs<em>delete</em>(RRR5RR?RMRURwRRRRtattrRRREtfuncRR1RAR(RwRR?R1RRRRRiRhR5RA((RR>os	

cCs|i|||S(s*Produce html documentation for a property.N(RwR>RRR1(RwRRR1R=((RRscGs)|od|pd}||i|S(s-Produce HTML documentation for a data object.s<strong>%s</strong> = RN(RtlhsRwR4R(RwRRR1R2Rj((RRscCs!g}|djo
h}nh}	ti|}|||	d}xA|D]9}ti
i||}
t|
o||dqKqKWxa|D]Y}ti
i||}
ti
i
|
o+ti|}|o||dqqqW|i|i||i}|i|dd|S(s2Generate an HTML index for a directory of modules.cCsH||jo7|i|d|||jfd||<d||<ndS(NRi(RtseenR)RR\R(RR\R)RRk((Rtfounds

iis#ffffffs#ee77aaN(R)RRURkRR+RtfilesRlRjRRR\RYRR,R!R-RwRRRR(RwRRRmRR)R!RjRlRkR((Rtindexs,



(RR RMRt_repr_instanceR4RRRRURRRRRRRRRRR
RRRURR>RRRn(((RRs2												&	6	tTextReprcBs8tZdZdZdZdZeZdZRS(sAClass for safely making a text representation of a Python object.cCs:ti|d|_|_d|_d|_|_dS(Nii
id(RRWRwRRRRR(Rw((RRWs
	cCstt|doPdttt|id}t||ot||||Sqfnt
tt||i
S(NRRRQ(RRyRIRRRRRwRERR1R6R4R(RwRIRR((RRs
"cCsdt||i}t|}d|jo5dt|ddjod|d||dSn|S(Ns\s\\RR}i(R1RIRwRRR4RR,(RwRIRRR((RRs
&cCs<y ttt||iSWnd|iiSnXdS(Ns
<%s instance>(R1R6R4RIRwRRR(RwRIR((RRs (RR RMRWRRRR(((RRps				tTextDoccBstZdZeZeiZdZddZdZe	ddZ
e	e	dZe	e	dZd	Z
e	e	e	d
ZdZe	e	e	dZe	e	e	e	e	d
ZRS(s'Formatter class for text documentation.cCsttd|dS(s(Format a string in bold by overstriking.cCs|d|S(Ns(tch(Rr((RRsRN(RR.R+(RwR+((Rtboldss    cCs_|pdSnt|d}t|d|}|ot|d|d<nt|dS(s6Indent text by prepending a given prefix to each line.Rs
cCs||S(N(tprefixRq(RqRt((RRsiN(R+RRR.RtRR(RwR+RtR((RtindentscCs(|i|dt|i|dS(s&Format a section with a given heading.s
s

N(RwRsRRRuR(RwRR((RRsRc
Csd}x|D]}	t|	tfjox|	\}}||t||}|o@||fjo0t
|d|}|dt|d}n|d}q
t|	tgjo$||i|	|||d}q
q
W|S(sBRender in text a class tree as returned by inspect.getclasstree().RcCs
t||S(N(R"RR(RR((RRss(%s)s, s
s    N(RRRRyRRRtR"R!RR.R	RRwR
(
RwRR!RRtRRR	RR((RR
s(cCs|i}tt|\}}
|id||od|}y
|i
}Wntj
o
d }nXyti|}Wntj
o
d}nX||id|}|i|}|d j	o||id|}n|
o||id|
}ng}xxti|tiD]a\}}|d j	pti|p||jo+t||o|i||fqq#q#Wg}xti|tiD]j\}}|d j	p&ti|pti||jo+t||o|i||fqqqWg}xGti|t D]3\}}t||o|i||fq+q+Wt!|dog}
xt#i$|i%dD]}t#i&i'|i%d|}ti(|}|d	joK|o||
jo|
i|qt*|o|
i|d
qqqW|
i+||idt'|
d}n|ot,d
|}|i.ti/|d|g}	x0|D](\}}|	i|i1|||qW||idt'|	d}n|o\g}	x0|D](\}}|	i|i1|||qW||idt'|	d}n|obg}	x6|D].\}}|	i|i2|||ddqPW||idt'|	d}nt!|doft3|i4}|d ddjo(|ddjot6|dd!}n||id|}nt!|do#||idt3|i7}nt!|do#||idt3|i8}nt!|do#||idt3|i9}n|S(!s5Produce text documentation for a given module object.tNAMEs - s
(built-in)tFILEsMODULE DOCStDESCRIPTIONROiRWs
 (package)sPACKAGE CONTENTSs
cCs|\}}|S(N(R>R?(RR>R?((RR.sitCLASSESt	FUNCTIONSR-iFtDATARiR
s
Revision: itVERSIONRtDATERtAUTHORRtCREDITSN(:RRRRRtsynoptdescRwRRRRTRRURRRjRRRRR<R$R>R?R$RVRRR%R&R(R)RR)RR+RORRR,R!R\R-R.R/R
R0RRRRRRRRRR(RwRRR1RRTR/RRjRR)RRRR>RR(R!R?RR((RRs	!

*3


#! # #&#&###cs<i}|p|}i}id}	||jodi	|}ni	|d|}|o*t|	|}
|dt
|
d}nt}|o|dgpg}|itti}t|djo=dx"|D]}d	|	|qWd
ndfdY}|d
}d}
d}tdti}xG|o?|o|i!n|ddt#|d\}}t%ijo
|}qn.jo
d}ndt'i}td||i(|d||d}|d||d}|d||d}|
d||d}|d||d}|gjpt)|}qWdi
|}|p|dSn|di*t+|d dS("s4Produce text documentation for a given class object.cCs
t||S(N(R"RR(RR((RtmakenameTssclass s	 = class s(%s)s, s
isMethod resolution order:s    RR3cstZdZdZRS(NcCs
d|_dS(Ni(RwR4(Rw((RRWmscs)|ioddnd|_dS(NRDiFi(RwR4R5(Rw(R5(RR6os
(RR RWR6((R5(RR3ls	cszt||\}}|oZi|xC|D]7\}}}}i
t||q7Wn|S(N(RKR7RJR8R9R6R5R:RRR;R?RwRRERR1(R:R7RJR8RRR?R;(R9RwRR5R1(RR=us

csnt||\}}|oNi|x7|D]+\}}}}i
||q7Wn|S(N(RKR7RJR8R9R6R5R:RRR;R?RwR>R1(R:R7RJR8RRR?R;(R9RwR5R1(RR?s

!c	
st||\}}|oi|x|D]w\}}}}t|pt
i|ot|}nd}it||ddd|dq7Wn|S(NR-iFRs
(RKR7RJR8R9R6R5R:RRR;R?R@RRARRRURwRRERR1(	R:R7RJR8RRRR?R;(RR9RwR5R1(RRBs

%cCs|\}}}}t|S(N(RRRCR?RV(RRRRCR?((RRsics|djS(Ni(RERF(RE(RF(RRssdefined heresinherited from %scCs|didS(NiRQ(RERR(RE((RRssMethods %s:
cCs|ddjS(NiRG(RE(RE((RRssClass methods %s:
cCs|ddjS(Nisclass method(RE(RE((RRssStatic methods %s:
cCs|ddjS(Nis
static method(RE(RE((RRssProperties %s:
cCs|ddjS(NiR(RE(RE((RRssData and other attributes %s:
cCs|ddjS(NiR((RE(RE((RRss |  N(,RRRHRR@RR RRwRsRR.R	RRRRRR5RIRRJRKRRAR3R9R=R?RBRLRMR7RORFRKRPRQRRR"R-RSRuR(RwRRR1RRR7RFRRRR	RPR3R?RHR9RARR=RRBRKR5((RwRR1R9R5RFRRNsv	
	
	
	
		

	






cCsd|i|S(s)Format an argument default value as text.RTN(RwR4R(RwR((RRUscCs|i}|p|}d}	d}ti|o|i}
|o(|
|j	odt|
|}	qn;|i
odt|i
i|}	ndt|
|}	|i}n||jo|i|}nM|o.||ijo|i||jo
d}n|i|d|}ti|oqti|\}}
}}ti||
||d|i}|d	jo$|i|d
}|dd!}qnd}|||	}|o|d
Sn:t|pd}|d
|ot |i!|d
SdS(s;Produce text documentation for a function or method object.Ris from s method of %s instances unbound %s methodis = RUs<lambda>s lambda is(...)s
N("RRRHRRVRWRR7RXRYR=R"R1RZRR[RwRsRR\R'R^RR_R`RaRbRURcRdRRRRu(RwRRR1R=RdRRWRRVRYRcRaR_RR`RH((RRs>	
	



+
!
cCsg}|i}
|o|
|nd}t|pd}|o|
|i	|d}nxddd
gD]o\}	}t||	}|dj	oG|o|
dd}n|i|||}|
|i	|qqqqWd
i|S(NiRiRes<get>Rfs<set>Rgs<delete>s
(sfgets<get>(sfsets<set>(sfdels<delete>(RRR5Rtneed_blank_after_docRR?RRwRuRhRRRERiRURR1RAR(RwRR?R1RRRRRRiRhR5RA((RR>s&	



cCs|i|||S(s*Produce text documentation for a property.N(RwR>RRR1(RwRRR1R=((RRsc
Cs|i|}|oO|o|dpd|}	|t|	}|djo|| d}qen|o|i|dpd|}	|dj	o!|	d|it|7}	n|	S(s-Produce text documentation for a data object.s = Ris...s
N(
RwR4RR-RRqRtchopRsRRURuR(
RwRRR1RR-RR4RRq((RR
s
%
!(RR RMRpRoR4RsRuRRUR
RRRURR>RR(((RRqs				Zq	+	cCstat|dS(sCThe first time this is called, determine what kind of pager to use.N(tgetpagertpagerR+(R+((RRs	cCsttitij	otSntiiptiiotSnti	i
dddgjotSndti	joPtidjodSqti	i
dddgjodSqdSntidjptiid	od
Snt
tdo!tidd
jodSndk}|i\}}ti|z=t
tdo%tid|d
jodSntSWdti|XdS(s2Decide what method to use for paging through text.tTERMtdumbtemacstPAGERRcCstt|tidS(NR(t
tempfilepagertplainR+RR(R+((RR(scCstt|tidS(NR(t	pipepagerRR+RR(R+((RR*scCst|tidS(NR(RR+RR(R+((RR,stos2cCstt|dS(Nsmore <(RRR+(R+((RR.stsystems(less) 2>/dev/nullicCs
t|dS(Ntless(RR+(R+((RR0sNsmore %scCs
t|dS(Ntmore(RR+(R+((RR7s(RyRtstdoutRztFileTypet
plainpagertstdintisattyRRReRRRRRttempfiletmkstemptfdRaRrtttypagertunlink(RRaR((RRs4"#&	
*cCstidd|S(s%Remove boldface formatting from text.s.RN(RRR+(R+((RR=scCsGti|d}y|i||iWntj
onXdS(s3Page through text by feeding it to another program.twN(RtpopentcmdtpipetwriteR+RrRk(R+RR((RRAs
cCsidk}|i}t|d}|i||izti	|d|Wdti|XdS(s<Page through text by invoking a program on a temporary file.NRR(RtmktempRaRiRjRR+RrRRRR(R+RRRaRj((RRJs	

c	Cstt|d}yAdk}tii}|i	|}|i|d}Wn(t
tfj
od}d}nXzXtiiddd}}tiit|| ddx||otiidtii|}|d	d
gjotiidPnA|ddgjo-tiid||d|d}qn|d
ddgjo)|||}|djo
d}qntiidt||||!dd||}qWWd|o|i||i|nXdS(s%Page through text on a text terminal.s
NcCstiidS(Ni(RRR(((RR^scCstiid d S(Nii(RRRp(((RRastLINESiis
-- more --tqtQs
          
s
R]tBsi(RRR+RtttyRRtfilenoRt	tcgetattrtoldt	setcbreaktgetcharRRRURRReR}tincRRRtflushRt	tcsetattrt	TCSAFLUSH(	R+RRRRR}RRR((RRVsF	

!
	

,cCstiit|dS(s>Simply print unformatted text.  This is the ultimate fallback.N(RRRRR+(R+((RR|scCsti|oP|itijod|iSnt|dod|iSq`d|iSnti|od|iSnti|od|iSnti	|od|iSnti
|od|iSnt|ti
jod	|iiSnt|iS(s/Produce a short description of the given thing.sbuilt-in module ROspackage smodule sbuilt-in function sclass s	function smethod sinstance of N(RR#tthingRRRRR&R$R'R7RyRztInstanceTypeR(R((Rtdescribes$c	Csg}t|dD]}|o||qq~}d\}}xU|t|joAt	t
||d d|}|o||d}}qDPqDW|oP|}x?||D]3}yt||}Wqtj
odSqXqW|Sn"tt|ott|SndS(s@Locate an object by name or dotted path, importing as necessary.RiiN(Ni(RRRRRRURntnRRRRt
nextmoduleRRERRRQ(	RRRRRRnRRR((Rtlocates(5 
cCs_t|to5t||}|ptd|n||fSn|t|ddfSdS(sDGiven an object or a path to an object, get the object and its name.s$no Python documentation found for %rRN(	RRRRRRRRERU(RRR((Rtresolvess Python Library Documentation: %scCs3yt||\}}t|}ti|}|o,d|jo|d||i
d 7}n*|o"||j	o|d|i7}nti|p-ti
|pti|p
t|tpt|}|d7}nt||dti||Wn ttfj
o}|GHnXdS(sCDisplay text documentation, given an object or a path to an object.Rs in s in module s objects

N(RRRRRRRRR$RntrfindRR#R$R%RRRyRRR+RRRtR?(RRRRRRnR?R((RRs@&cCsytt||\}}tit|ti||}t	|dd}|i||idG|dGHWn t
tfj
o}|GHnXdS(s<Write HTML documentation to a file in the current directory.s.htmlRtwroteN(RRRRRthtmlRRRRiRjRRrRRtR?(RRRRR?RjR((Rtwritedocs$

RcCs|djo
h}nxti|D]}tii||}t|ot	|||d|q'tii|ohti
|}|oN|djo|d }n||}||jod||<t|qqq'q'WdS(sAWrite out HTML documentation for all modules in a directory tree.RRWiiN(tdoneRURR+RRjRRR\t	writedocstpkgpathRYRR,R!R(RRRR!RjR((RRs"






tHelpercBs8tZhdd<dddf<dddf<d	d
df<dd
df<dddf<dddf<dd<dddf<dd<dddf<dd<dddf<dd <d!d"d#f<ddd$f<d d%d&f<d'd(d)f<d*d+<d,d-d.f<d/d<d0d<d1d2df<d3d4df<d5d6d7f<d8d9d.f<dd:d7f<d;d<d=f<d>d?df<Zhd@dAdBf<dCdDdEf<dFdGdHf<dIdJdKf<dLdDdMf<dNdOdPf<dQdRdSf<dTdUdVf<dWdXdYf<dZd[d\f<d]d^<d.d_d`f<dadbdcf<dddedff<dgdhdif<djd@<dkd@<dldmdf<dndodpf<dqdrdf<dsdtdf<dudAdvf<d&dwd f<dxd <dydzd{f<dKdy<d|dy<d}d~d@f<dddf<dddf<dddf<dddf<dddf<d)ddf<dddf<dddf<dddf<d#ddf<dddf<dd#<dd#<d7ddf<dddf<dddf<dddf<dddf<dddf<dddf<ddZ<dddf<dddf<dddf<d^ddf<dddf<dddf<dddf<dddf<dpdd)f<dddyf<dddyf<dddyf<dddyf<dddyf<dddyf<d+d(df<dddf<dd<dddf<dddf<dd<dd3<dd8<dd <dd<dddf<d$ddf<dddf<ZdZdZedZdZdZ	dZ
dZdddZdZ
dZdZddZRS(NtandtBOOLEANtasserts
ref/assertRtbreaks	ref/breaks	while fortclasss	ref/classsCLASSES SPECIALMETHODStcontinuesref/continuetdefsref/functiontdelsref/deltBASICMETHODSteliftiftelsesref/iftexceptttrytexecsref/exectfinallytforsref/forsbreak continue whiletfromtimporttglobals
ref/globalt
NAMESPACESt
TRUTHVALUEs
ref/importtMODULEStinsref/comparisonstSEQUENCEMETHODS2tist
COMPARISONtlambdasref/lambdasRztnottortpasssref/passtprints	ref/printtraises	ref/raiset
EXCEPTIONStreturns
ref/returnsref/trytwhiles	ref/whilesbreak continue if TRUTHVALUEtyields	ref/yieldtTYPESs	ref/typessRSTRINGS UNICODE NUMBERS SEQUENCES MAPPINGS FUNCTIONS CLASSES MODULES FILES inspecttSTRINGSsref/stringss4str UNICODE SEQUENCES STRINGMETHODS FORMATTING TYPESt
STRINGMETHODSslib/string-methodssSTRINGS FORMATTINGt
FORMATTINGslib/typesseq-stringst	OPERATORStUNICODEs:encodings unicode SEQUENCES STRINGMETHODS FORMATTING TYPEStNUMBERSsref/numberssINTEGER FLOAT COMPLEX TYPEStINTEGERsref/integerss	int rangetFLOATsref/floatings
float mathtCOMPLEXs
ref/imaginarys
complex cmatht	SEQUENCESslib/typesseqs%STRINGMETHODS FORMATTING xrange LISTStMAPPINGStDICTIONARIESslib/typesfunctionss	def TYPEStMETHODSslib/typesmethodssclass def CLASSES TYPEStCODEOBJECTSslib/bltin-code-objectsscompile FUNCTIONS TYPEStTYPEOBJECTSslib/bltin-type-objectsstypes TYPEStFRAMEOBJECTSt
TRACEBACKStNONEslib/bltin-null-objecttELLIPSISslib/bltin-ellipsis-objecttSLICINGStFILESslib/bltin-file-objectstSPECIALATTRIBUTESslib/specialattrsRys!class SPECIALMETHODS PRIVATENAMESslib/typesmodulestPACKAGEStEXPRESSIONSsref/summaryslambda or and not in is BOOLEAN COMPARISON BITWISE SHIFTING BINARY FORMATTING POWER UNARY ATTRIBUTES SUBSCRIPTS SLICINGS CALLS TUPLES LISTS DICTIONARIES BACKQUOTESt
PRECEDENCEtOBJECTSsref/objectstSPECIALMETHODSsref/specialnamesstBASICMETHODS ATTRIBUTEMETHODS CALLABLEMETHODS SEQUENCEMETHODS1 MAPPINGMETHODS SEQUENCEMETHODS2 NUMBERMETHODS CLASSESsref/customizations cmp hash repr str SPECIALMETHODStATTRIBUTEMETHODSsref/attribute-accesssATTRIBUTES SPECIALMETHODStCALLABLEMETHODSsref/callable-typessCALLS SPECIALMETHODStSEQUENCEMETHODS1sref/sequence-typess)SEQUENCES SEQUENCEMETHODS2 SPECIALMETHODSsref/sequence-methodss)SEQUENCES SEQUENCEMETHODS1 SPECIALMETHODStMAPPINGMETHODSsMAPPINGS SPECIALMETHODSt
NUMBERMETHODSsref/numeric-typess*NUMBERS AUGMENTEDASSIGNMENT SPECIALMETHODSt	EXECUTIONs
ref/execmodels%NAMESPACES DYNAMICFEATURES EXCEPTIONSs
ref/namings*global ASSIGNMENT DELETION DYNAMICFEATUREStDYNAMICFEATURESsref/dynamic-featurestSCOPINGtFRAMESsref/exceptionsstry except finally raiset	COERCIONSsref/coercion-rulestCONVERSIONSsref/conversionstIDENTIFIERSsref/identifiersskeywords SPECIALIDENTIFIERStSPECIALIDENTIFIERSsref/id-classestPRIVATENAMESsref/atom-identifierstLITERALSsref/atom-literalssHSTRINGS BACKQUOTES NUMBERS TUPLELITERALS LISTLITERALS DICTIONARYLITERALStTUPLESt
TUPLELITERALSs
ref/exprlistssTUPLES LITERALStLISTSslib/typesseq-mutabletLISTLITERALSs	ref/listssLISTS LITERALSslib/typesmappingtDICTIONARYLITERALSsref/dictsDICTIONARIES LITERALSt
BACKQUOTESsref/string-conversionssrepr str STRINGS LITERALSt
ATTRIBUTESsref/attribute-referencess(getattr hasattr setattr ATTRIBUTEMETHODSt
SUBSCRIPTSsref/subscriptionssref/slicingstCALLSs	ref/callstPOWERs	ref/powertUNARYs	ref/unarytBINARYs
ref/binarytSHIFTINGsref/shiftingtBITWISEsref/bitwisesEXPRESSIONS BASICMETHODSsref/BooleanssEXPRESSIONS TRUTHVALUEt	ASSERTIONt
ASSIGNMENTsref/assignmenttAUGMENTEDASSIGNMENTs
ref/augassigntDELETIONtPRINTINGt	RETURNINGt	IMPORTINGtCONDITIONALtLOOPINGsref/compoundsfor while break continues	lib/truths if while and or not BASICMETHODSt	DEBUGGINGslib/module-pdbtpdbcCs4||_||_d|_tiiti	}tiid}xtiid|otii|ddttidtii|ddttiddttiddtid dtid tiitid	g	D]<}|o/tiitii|d
o
||_qqWdS(Nt
PYTHONHOMERRs"/usr/share/doc/python-docs-%s/htmlis/usr/doc/python-docs-s/usr/doc/python-is%Resources/English.lproj/DocumentationR(tinputRwtoutputRUtdocdirRRtdirnameRt
executabletexecdirRRethomedirRRRRtRR
(RwR)R*R/RR.((RRW[s				)cCs.tidddjo|dSndS(Niit?Rs<pydoc.Helper instance>(RtstackRw(Rw((Rt__repr__mscCsF|dj	o|i|n%|i|i|iiddS(Ns
You are now leaving help and returning to the Python interpreter.
If you want to ask for help on a particular object directly from the
interpreter, you can type "help(object)".  Executing "help('string')"
has the same effect as typing a particular string at the help> prompt.
(trequestRURwthelptintrotinteractR*R(RwR3((Rt__call__ss



cCs|iidxtoy|id}|pPnWnttfj
oPnXtt	|dddd}t
|ddgjoPn|i|qWdS(Ns
shelp> RRt'Rtquit(RwR*RRZtgetlineR3tKeyboardInterrupttEOFErrorRR,RR4(RwR3((RR6s	cCsO|itijot|Sn+|ii||ii|ii	SdS(s.Read one line, using raw_input when available.N(
RwR)RRt	raw_inputtpromptR*RRRp(RwR>((RR:s
cCsKt|tdjo|djo|iq7|djo|iq7|djo|iq7|djo|iq7|d djo|it|dq7||ijo|i	|q7||i
jo|i	|q7|ot|d	q7n)t|t
o|nt|d	|iid
dS(NRR4tkeywordsttopicsRoismodules isHelp on %s:s
(RyR3RwR5tlistkeywordst
listtopicstlistmodulesRR?t	showtopicR@RRRR*R(RwR3((RR4s*




cCs|iidtid dS(Ns
Welcome to Python %s!  This is the online help utility.

If this is your first time using Python, you should definitely check out
the tutorial on the Internet at http://www.python.org/doc/tut/.

Enter the name of any module, keyword, or topic to get help on writing
Python programs and using Python modules.  To quit this help utility and
return to the interpreter, just type "quit".

To get a list of available modules, keywords, or topics, type "modules",
"keywords", or "topics".  Each module also comes with a one-line summary
of what it does; to list the modules whose summaries contain a given word
such as "spam", type "modules spam".
i(RwR*RRR(Rw((RR5siiPc		Cs|}|i||}t||d|}xt|D]}xt|D]~}|||}|t|joW|ii
||||djo.|ii
dd|dt||qqSqSW|ii
dq@WdS(NiRs
(titemsR-RtcolumnstcolwRRRtrowRRRwR*R(	RwRERFRRRRGRRH((RRs



6cCs*|iid|i|iidS(NsN
Here is a list of the Python keywords.  Enter any keyword to get more help.

(RwR*RRR?RD(Rw((RRAscCs*|iid|i|iidS(NsN
Here is a list of available topics.  Enter any topic name to get more help.

(RwR*RRR@RD(Rw((RRBscCs|ip|iiddSn|ii||ii|}
|
p"|iidt	|dSnt
|
t
djo|i|
Sn|
\}}|id|d}yt|}Wn|iid|dSnXtidtitiB}tidtitiB}
ti|
dti|d|i}	|idk}dk}dk}|i}|i|i|i |}|i"|_#|d	|_$|i%|_&|d
|_'|_(|i)|	t*|i+ddd
d}t,dt-|d
|oW|i}|i |i.dt/t0|dd
|iid|i+ndS(Ns
Sorry, topic and keyword documentation is not available because the Python
HTML documentation files could not be found.  If you have installed them,
please set the environment variable PYTHONDOCS to indicate their location.
sno documentation found for %s
RRs.htmlscould not read docs from %s
s<div[^>]*navigat.*?</div.*?>s<address.*?>.*?</address.*?>cCs
|ihS(N(tparsertdo_p(RI((RRscCs
|idS(Ns	(R]R(taR]((RRssRs
s
  s  sRelated help topics: s, s
%s
(1RwR+R*RR@RettopicR?ttargetR4RyRDRatxrefsRiRjRRtItStdivpattaddrpatRRRRrthtmllibt	formattertStringIOtbuffert
HTMLParsertAbstractFormattert
DumbWriterRIRJtstart_tablet	end_tabletdo_brtstart_trtstart_tdtstart_thtfeedR,tgetvalueRRtsend_flowing_dataRR(RwRLRIRjRaRTRNRVRQRRMRURSRR((RRDsD
!*
!
-cCs~|o|iidt|nV|iidh}|d}ti||i	|i
|iiddS(NsO
Here is a list of matching modules.  Enter any module name to get more help.

sI
Please wait a moment while I gather a list of all available modules...

cCsR|o#|ddjo|d d}nt|ddjod||<ndS(Nis	.__init__s
 (package)Rii(R!tfindRo(RR!RRo((Rtcallbackss
Enter any module name to get more help.  Or, type "modules spam" to search
for modules whose descriptions contain the word "spam".
(R>RwR*RtaproposRoRdt
ModuleScannertrunRRD(RwR>RoRd((RRCs(RR R?R@RWR2RUR7R6R:R4R5RRARBRDRC(((RRs& 3P		
								-tScannercBs tZdZdZdZRS(sA generic tree iterator.cCs)||_g|_||_||_dS(N(trootsRwtstatetchildrentdescendp(RwRiRkRl((RRWs
		cCs|ipC|ipdSn|iid}||i|fg|_n|id\}}|p|ii|iSn|id}|i
|o#|ii||i|fn|S(Nii(RwRjRiRUtpoptrootRktnodetnexttchildRlR(RwRoRqRnRk((RRp!s


#(RR RMRWRp(((RRhs	RfcBs8tZdZdZdZdZeedZRS(s7An interruptible scanner that searches module synopses.cCsJtdt}ti|||i|itd||_dS(NcCs
|dfS(NR(R(R((RR3scCs|\}}ti|iS(N(RtpkgRR`tst_ino(RRRr((RR5s(	R.R
RiRhRWRwt
submodulestisnewpackagetinodes(RwRi((RRW2scCs|\}}g}xrti|D]a}tii||}t|o&|i	|||od|fq"|i	||fq"W|i
|S(NR(RtpackageRkRR+RjRRR\RR-(RwRRRwRjRRk((RRt7s
&
cCsv|\}}tii|oti|i}tii|o
||i
jp|i
i|t|Snt
S(N(RRwRRtexistsR`RstinodetislinkRwRvRR\R[(RwRRRwRy((RRuBs
%#c
Cs|ot|}nt|_h}xtiD]}|djod||<|djo|d|dqtt|i
pddd}	tt|d|	|djo|d||	qq0q0Wx|ip|i}|pPn|\}}ti|}tii|o|o||od|}||jozd||<|djo|||dqt|pd}	tt|d|	|djo||||	qqqqW|o|ndS(Nt__main__iRs
is - R(R>RR[RwR9RkRRR!RURdRRRMRRcRpRoRRwRR,RRYRst	completer(
RwRdR>R|RoRwR!RRkR((RRgIs>	



#$



$!(RR RMRWRtRuRURg(((RRf0s
			cCsPd}y
dk}Wntj
onX|idti||dS(sAPrint all the one-line module summaries that contain a substring.cCs;|ddjo|d d}n|G|od|GHdS(Nis	.__init__s
 (package)s- (R!R(RR!R((RRdksNtignore(RdtwarningsRtfilterwarningsRfRgR>(R>RdR~((RReis	

c	Csdk}dk}dk}d|ifdY}d|ifdY}d|ifdY}|i|_||_	||_
z:y|||i
Wnt|ifj
onXWd|o|nXdS(NtMessagecBstZddZRS(NicCsf|i}|ididi||||id|_|id|_	|i
|idS(Niscontent-transfer-encodingscontent-type(RwRRR@RWtfptseekablet	getheadertencodingheadert
typeheadert	parsetypet
parseplist(RwRRR((RRW{s	!
(RR RW(((RRzst
DocHandlercBs#tZdZdZdZRS(NcCsayG|id|idd|i|iiti||Wnt
j
onXdS(NisContent-Types	text/html(Rwt
send_responsetsend_headertend_headerstwfileRRRRRRk(RwRR((Rt
send_documents

 cCs|i}|ddjo|d }n|d djo|d}n|o|djoyt|dd}Wn8tj
o,}|i|tit	|dSnX|o&|it
|ti||q|i|dt|nti
dd	d
}d}tdti}
ti|
|}	d
tidd	d|	g}h}x*tD]}|iti||qkW|t|d}	|id|	dS(Nis.htmliRRRs$no Python documentation found for %ss?<big><big><strong>Python: Index of Modules</strong></big></big>s#ffffffs#7799eecCsd||fS(Ns<a href="%s.html">%s</a>(R(R((Rt	bltinlinkscCs
|djS(NR{(RI(RI((RRss<p>sBuilt-in Moduless#ee77aas<p align=right>
<font color="#909090" face="helvetica, arial"><strong>
pydoc</strong> by Ka-Ping Yee &lt;ping@lfw.org&gt;</font>sIndex of Modules(RwRRR8RtR?RRRRRRR4RRRLRRtnamesRRRtindicesRkR
RRRnR(RwR8R?RRRkRRRRR((Rtdo_GETs8		&				
cGsdS(N((RwR((Rtlog_messages(RR RRR(((RRs		#t	DocServercBs#tZdZdZdZRS(NcCshtidjodpd}d|f|_d||f|_||_|ii	||i|i
dS(Ntmacs	127.0.0.1t	localhostRs
http://%s:%d/(RRthosttportRwtaddressRRdRARWthandler(RwRRdR((RRWs
	cCsjdk}t|_xQ|ipF|i|iigggd\}}}|o|i	qqWdS(Ni(
tselectR[RwR9tsocketRtrdtwrtexthandle_request(RwRRRR((Rtserve_until_quits		
-cCs/|ii||io|i|ndS(N(RwRAtserver_activateRd(Rw((RRs
(RR RWRR(((RRs		(tBaseHTTPServert	mimetoolsRRtBaseHTTPRequestHandlerRt
HTTPServerRRARtMessageClassRRdRR;terrorR|(	RRdR|RRRRRR((Rtservevs	.			cCsndfdY}dk}y8|i}z||}|iWd|iXWntj
onXdS(sEGraphical interface (starts web server and pops up a control window).tGUIcBstZddZdZdddZddZddZdZddZ	d	Z
dd
ZddZdZ
d
ZddZRS(Ni(c
Cs||_d|_d|_dk}|i||_|i|idd|_	|i
|iddd|idd|_|i
|iddd|i
dd|_|i||_|i|idd|_|i|i|_|iid	|i|i
|idd
ddd|idd|_tid
jo|iiddn|iid|iid|i
|i	idddd|iidddddd|iidddddd|iidddd|iidd|iidddddd|iidddd|iidtid
jodpdf}|i|d|dd|_|iid|i |iid|i!|i"|d d!d|ii#|_$|ii%d"|i$i&|i||_'|i
|i'dd#d|i!|_(|i
|i'dd$d|i)|_*|i(idddddd|i*idddddd|ii+|ii,|_-|ii.|_/|ii0|ii0|ii0|i'i0|_1|i-|i1|_2|_3d|_4|ii5d%|i-|i/f|ii6|i-|i/|ii7i8dk9}|i:d&t;d'||i=|i
fi>dS((NR+sStarting server...
 sopen browsertcommandRjtdisabledsquit servings
Search fors<Return>tstoptpadyiRtsidetrighttpydoctWM_DELETE_WINDOWttoptfillRItlefttexpandit	helveticaii
tfonttheightis
<Button-1>s<Double-Button-1>torienttverticaltyscrollcommandsgo to selectedshide resultss%dx%dRMR(?twindowRwRUtservertscannertTkintertFramet
server_frmtLabelt	title_lbltButtonRitopen_btnR9tquit_btnt
search_frmt
search_lbltEntryt
search_enttbindR3Rtstop_btnRRtpackRtprotocolt	focus_setRtListboxt
result_lstRtgotot	Scrollbartyviewt
result_scrtconfigtsett
result_frmtgoto_btnthidethide_btnRBtwinfo_widthtminwidthtwinfo_heightt	minheighttwinfo_reqheighttbigminheighttbigwidtht	bigheighttexpandedtwm_geometryt
wm_minsizettktwilldispatcht	threadingtThreadRRtreadyR(RwRRRRR((RRWsl				$
#	
9	 	cCsM||_|iidd|i|iidd|iidddS(NR+sPython documentation server at
Rjtnormal(RRwRRRRR(RwR((RRs	cCs|p
|ii}ydk}|i|Wntj
otidjoti	d|qtidjo4y
dk
}Wntj
oqX|i|qti	d|}|oti	d|qnXdS(NRs
start "%s"Rs netscape -remote "openURL(%s)" &snetscape "%s" &(
RRwRt
webbrowserRiRRRRRtict	launchurltrc(RwteventRRRR((RRi s 	
cCs+|iod|i_n|iidS(Ni(RwRR9R(RwR((RR90s
cCs|ii}|iidd|iidd|iidd||ii|iidd|i	i
dd	|iidd
|idk
}|iod|i_nt|_|id|iid
|i||ifidS(NRRRjRR+sSearching for "%s"...RiRRiRMR(RwRReR>RRRRtforgetRtdeleteRRRRR9RfRRgRBRR(RwRRR>((RR35s

	
cCsI|ddjo|d d}n|iid|d|pddS(Nis	.__init__s
 (package)Rs - s(no description)(R!RwRtinsertR(RwRR!R((RRBGscCs'|iod|i_d|_ndS(Ni(RwRR9RU(RwR((RRMs
cCsd|_|iidd|iidd|iidddddd	tid
jo|i	i
n|i	idddS(
NR+s
Search forRRRRRIRiRRjR(RURwRRRRRRRRR(Rw((RRRs	cCs|iidddS(NRjR(RwRR(RwR((RRZscCs\|ii}|oBt|ii|dd}|id|ii	|dndS(NiRs.html(
RwRtcurselectiont	selectionRReR!RiRR(RwRRR!((RR]s cCs|ipdSn|ii|ii|ii|ii|_|ii	|_
|iid|i|i
f|ii|i|i
d|_dS(Ns%dx%di(RwRRRRRRRRRRRRRR(Rw((Rtcollapsecs



 cCs|iodSn|iidddd|iidddd|iiddddd	d
|iid|i|i	f|ii
|i|id
|_dS(NRtbottomRRIRtyRtbothRis%dx%d(
RwRRRRRRRRRRRR(Rw((RRns
 cCs|i|idS(N(RwRR(RwR((RRws
(RR RWRRURiR9R3RBRRRRRRR(((RRsE						N(RRtTkRntguitmainlooptdestroyR;(RnRRR((RRs	cCs&t|tot|tidjS(Ni(RRIRRcRtsep(RI((RtispathscCsdk}dfdY}tiitid}|tijotii|ntii	ddy|itidd\}
}	d}x|
D]\}}|djot|dSn|d	joVyt|}Wntj
o
|nXd
}d}t|||dSn|djo
d}qqW|	p
|nx|	D]}t|o"tii|od
|GHPnyt|o#tii|ot|}n|o<t|o!tii|ot|qt|nti|Wq\tj
o}|GHq\Xq\WWnV|i!|fj
oAtii"tid}
d|
ti$|
|
|
ti$fGHnXdS(s@Command-line interface (looks at sys.argv to decide what to do).NtBadUsagecBstZRS(N(RR (((RRsiRisgk:p:ws-ks-pcCsd|iGHdS(Nspydoc server ready at %s(RR(R((RRscCs	dGHdS(Nspydoc server stopped((((Rtstoppedss-wsfile %r does not existscpydoc - the Python documentation tool

%s <name> ...
    Show text documentation on something.  <name> may be the name of a
    Python keyword, topic, function, module, or package, or a dotted
    reference to a class or function within a module or module in a
    package.  If <name> contains a '%s', it is used as the path to a
    Python source file to document. If name is 'keywords', 'topics',
    or 'modules', a listing of these things is displayed.

%s -k <keyword>
    Search for a keyword in the synopsis lines of all available modules.

%s -p <port>
    Start an HTTP server on the given port on the local machine.

%s -w <name> ...
    Write out the HTML documentation for a module to a file in the current
    directory.  If <name> contains a '%s', it is treated as a filename; if
    it names a directory, documentation is written for all the contents.
(%tgetoptRRRR,Rtargvt	scriptdirtremoveRtoptsRtwritingtopttvalReRRt
ValueErrorRRRtargRRxRYRR
RRR4RtR?RRRR(RR?RRRR
RRR	RRRRR((Rtclis\	


		

!	  R{(ORMRRRRRRlRRRzRRQR4RtstringRRcRRRRRRtcollectionsRIR
RRR"R)R,R1Rt
IGNORECASER2R6R:RCRKRURVR\RsR5RtRRRRRRpRqRRRRRRRRRR+RRRRRRRRR4RhRfReRRRR
R(CRRpR4R)RRR+RtRQR,R"RReRRRRcRRR
RlRRRRRRRRR1RR6RRIRR\RRRRRRRqRfR
RzRRRRRhRRKRVRRRRR:RsRRR2RRCRR((RR0 sz?
7
											
		#	26*) O							&				
.9	
[			K

Anon7 - 2021