grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/20263 ‘ fd”ã@sädgZdZdZdZddlZddlZddlZddlZddl Zddl Z ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlmZddlmZddlmZd d „Zd d „Zd d„Zdd„Zdd„Z dd„Z!dd„Z"ej#dej$ƒZ%dd„Z&dd„Z'dd„Z(dd„Z)d d!„Z*dtd"d#„Z+d$d%„Z,d&d'„Z-d(d)„Z.d*d+„Z/ifd,d-„Z0Gd.d/„d/e1ƒZ2d0d1„Z3difd2d3„Z4Gd4d5„d5ƒZ5Gd6d7„d7eƒZ6Gd8d9„d9e5ƒZ7Gd:d;„d;eƒZ8Gdd?„d?e9ƒZ:d@dA„a;dBdC„ZdHdI„Z?dJdK„Z@dLdM„ZAdNdO„ZBdPdQ„ZCdudRdS„ZDe9ƒZEe:ƒZFe7ƒZGdvdTdU„ZHdwdWdX„ZIdxdYdZ„ZJdyd[d\„ZKdzd^d_„ZLGd`da„daƒZMeMƒZNGdbdc„dcƒZOddde„ZPdfdg„ZQd{didj„ZRd|dkdlœdmdn„ZSdodp„ZTdqdr„ZUeVdsk�ràeUƒdS)}ÚhelpzKa-Ping Yee z26 February 2001zÔGuido 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)Údeque)ÚRepr)Úformat_exception_onlycCs`g}g}xRtjD]H}tjj|p dƒ}tjj|ƒ}||krtjj|ƒr|j|ƒ|j|ƒqW|S)NÚ.)ÚsysÚpathÚosÚabspathÚnormcaseÚisdirÚappend)ÚdirsZnormdirsÚdirZnormdir©rú*/opt/alt/python36/lib64/python3.6/pydoc.pyÚpathdirsMs   rcCs.tj|ƒptj|ƒ}|r*tjdd|jƒƒp,dS)Nz^ * Ú)ÚinspectÚgetdocZ getcommentsÚreÚsubÚrstrip)ÚobjectÚresultrrrrYsrcCsh|jƒjdƒ}t|ƒdkr&|ddfSt|ƒdkrZ|djƒ rZ|ddj|dd…ƒfSddj|ƒfS)NÚ érré)ÚstripÚsplitÚlenrÚjoin)ÚdocÚlinesrrrÚsplitdoc^s   r$cCs"|j}|j|kr|jd|}|S)Nr)Ú__name__Ú __module__)rÚmodnameÚnamerrrÚ classnamegs r)cCs>tj|ƒp:tj|ƒp:tj|ƒp:tj|ƒp:tj|ƒp:tj|ƒ S)N)rÚismoduleÚisclassÚ isroutineZisframeZ istracebackZiscode)rrrrÚisdatansr-cGs2x,|r,|dj|j|dƒƒ}|dd…}qW|S)Nrrr)r!r)ÚtextZpairsrrrÚreplacetsr/cCsXt|ƒ|krTtd|ddƒ}td|d|ƒ}|d|…d|t|ƒ|d…S|S)Nrérz...)r Úmax)r.ÚmaxlenZpreZpostrrrÚcram{s  $r3z at 0x[0-9a-f]{6,16}(>+)$cCs tjd|ƒS)Nz\1)Ú _re_stripidr)r.rrrÚstripid„sr5cCs(tj|ƒp&tj|ƒp&tj|ƒp&tj|ƒS)N)rÚ isfunctionÚismethodÚ isbuiltinZismethoddescriptor)ÚobjrrrÚ_is_some_method‰s   r:cCs<tj|ƒrdStj|ƒr8t|ddƒ}tj|ƒp4|dk SdS)NTÚ__self__F)rr7r8Úgetattrr*)ÚfnÚselfrrrÚ_is_bound_method�s    r?cCshi}x tj|tƒD]\}}d||<qWx|jD]}|jt|ƒƒq.Wx|jƒD]}t||ƒ||<qNW|S)Nr)rÚ getmembersr:Ú __bases__ÚupdateÚ allmethodsÚkeysr<)ÚclÚmethodsÚkeyÚvalueÚbaserrrrCœs  rCcCs<g}g}x*|D]"}||ƒr&|j|ƒq|j|ƒqW||fS)N)r )ÚsÚ predicateÚyesÚnoÚxrrrÚ _split_list¦s  rOcCs\|dkr dS|jdƒr$|jdƒr$dS|jdƒrr&r%rQrTrXr\rZrSrUrYr]rRr[rVrPrW)Ú startswithÚendswithÚhasattr)r(Úallr9rrrÚ visiblename·srecCsDg}x:tj|ƒD],\}}}}tj|ƒr*d}|j||||fƒqW|S)Nzdata descriptor)rÚclassify_class_attrsÚisdatadescriptorr )rÚresultsr(ÚkindÚclsrHrrrrfËs  rfc s\t|dgƒ‰y‡fdd„tˆƒDƒ‰Wntk r>i‰YnX‡fdd„}|j|d�dS)Nr`csi|]\}}|tˆƒ|“qSr)r )Ú.0Úir()Úfieldsrrú Úsz#sort_attributes..csˆj|ddƒ|dfS)Nr)Úget)Úattr)Ú field_orderrrÚÝsz!sort_attributes..)rG)r<Ú enumerateÚ TypeErrorÚsort)ÚattrsrZkeyfuncr)rqrmrÚsort_attributesÔs   rwcCs<tjj|ƒr8x*dD]"}tjjtjj|d|ƒƒrdSqWdS)Nú.pyú.pycÚ__init__TF)rxry)r rr Úisfiler!)rÚextrrrÚ ispackageâs   r}cCsÊ|jƒ}x,|dd…dks$|jƒ r4|jƒ}|s Pq W|jƒ}|dd…dkrZ|dd…}|dd…dkrÂ|dd…}|d d…dkr’|dd …}x|jƒs¬|jƒ}|s”Pq”W|jdƒdjƒ}nd}|S) Nrú#ézr"""r0z"""ú\réÿÿÿÿr�)Úreadlinerr)ÚfileÚlinerrrrÚsource_synopsisês&    r…c Cstj|ƒj}|j|dƒ\}}|dks.||k�r|jttjjƒƒrJtjj }n |jttjj ƒƒrftjj }nd}|dkr°yt j |ƒ}Wntk r”dSX|�t|ƒ}WdQRXnZ|d|ƒ}tjjd||d�}ytjj|ƒ} Wn dStjd=| j�r| jjƒdnd}||f||<|S)NZ__temp__)Úloaderr)NN)r ÚstatÚst_mtimerorbÚtupleÚ importlibÚ machineryÚBYTECODE_SUFFIXESÚSourcelessFileLoaderÚEXTENSION_SUFFIXESÚExtensionFileLoaderÚtokenizeÚopenÚOSErrorr…ÚutilÚspec_from_file_locationÚ _bootstrapÚ_loadrÚmodulesrUÚ splitlines) ÚfilenameÚcacheÚmtimeZ lastupdaterZ loader_clsrƒr†ÚspecÚmodulerrrÚsynopsisûs4      ržc@seZdZdd„Zdd„ZdS)ÚErrorDuringImportcCs||_|\|_|_|_dS)N)r™ÚexcrHÚtb)r>r™Úexc_inforrrrz$szErrorDuringImport.__init__cCs|jj}d|j||jfS)Nzproblem in %s - %s: %s)r r%r™rH)r>r rrrÚ__str__(szErrorDuringImport.__str__N)r%r&r[rzr£rrrrrŸ"srŸc Cs¬tjj}t|dƒ�}||jt|ƒƒk}WdQRXtjj|ƒ}tjj |ƒ\}}|r`tj j ||ƒ}ntj j ||ƒ}tjj |||d�}y tjj|ƒSt|tjƒƒ‚YnXdS)NÚrb)r†)rŠr“Ú MAGIC_NUMBERr‘Úreadr r rÚbasenameÚsplitextÚ_bootstrap_externalr�ÚSourceFileLoaderr”r•r–rŸrr¢) rÚmagicrƒZ is_bytecoder™r(r|r†rœrrrÚ importfile,s   r¬c s"yb|rXˆtjkrXˆtjkrX‡fdd„tjDƒ}x(ˆg|D]}tj|||<tj|=q:Wtˆƒ}Wnxtjƒ\}}}} ˆtjkršttjˆj| ƒ‚n<|tkr°t|j| ƒ‚n&t |t ƒrÈ|j ˆkrÈdStˆtjƒƒ‚YnXx@ˆj dƒdd…D]*} yt || ƒ}Wqðtk �rdSXqðW|S)Ncsg|]}|jˆdƒr|‘qS)r)ra)rkÚm)rrrú Rszsafeimport..rr)rr—Úbuiltin_module_namesÚ __import__r¢rŸrVÚ SyntaxErrorr™Ú issubclassÚ ImportErrorr(rr<ÚAttributeError) rÚ forceloadršZsubsrGr�r rHr¡ÚinfoÚpartr)rrÚ safeimport>s.     r¸c@s|eZdZejjddejdd…ƒZd dd„Z ddd„Z e Z Z Z ZZZejjejd d ejdd…ƒfd d „ZdS)ÚDocÚ PYTHONDOCSz%https://docs.python.org/%d.%d/libraryNrc Gs¨||f|}tj|ƒr |j|ŽStj|ƒr4|j|ŽSy@tj|ƒrJ|j|ŽStj|ƒr^|j|ŽStj|ƒrr|j |ŽSWnt k rˆYnXt |t ƒrž|j |ŽS|j|ŽS)N)rÚisgetsetdescriptorÚdocdataÚismemberdescriptorr*Ú docmoduler+Údocclassr,Ú docroutiner´Ú isinstanceÚpropertyÚ docpropertyÚdocother)r>rr(ÚargsrrrÚdocumentts"       z Doc.documentcGs*d|odt|ƒt|ƒjf}t|ƒ‚dS)Nz.don't know how to document object%s of type %sú )ÚreprÚtyper%rt)r>rr(rÅÚmessagerrrÚfail†szDoc.failÚlibz python%d.%dcCsÌytj|ƒ}Wntk r&d}YnXtjjd|jƒ}tjj|ƒ}t |t tƒƒrÄ|j dks||j |ƒrÄ|j tjj |d ƒƒ rÄ|j dkrÄ|j dƒrªd|jdƒ|j jƒf}qÈtjj ||j jƒdƒ}nd}|S)Nz (built-in)rºÚerrnoÚ exceptionsÚgcÚimpÚmarshalÚposixÚsignalrÚ_threadÚ zipimportz site-packagesú xml.etreeútest.pydoc_modúhttp://úhttps://z%s/%sú/z.html) rÍrÎrÏrÐrÑrÒrÓrrÔrÕ)rÖr×)rØrÙ)rÚ getabsfilertr Úenvironrorºrr rÁrÉr%rar!rÚlower)r>rZbasedirrƒÚdoclocrrrÚ getdoclocŽs$     z Doc.getdocloc)N)N)r%r&r[r rÜrorÚ version_inforºrÆrËr¾r¿rÀrÄrÃr¼rr!Úbase_exec_prefixrßrrrrr¹ns   r¹c@sDeZdZdd„Zdd„Zdd„Zdd„Zd d „ZeZd d „Z eZ d S)ÚHTMLReprcCs,tj|ƒd|_|_d|_d|_|_dS)Néé éd)rrzÚmaxlistÚmaxtupleÚmaxdictÚ maxstringÚmaxother)r>rrrrz®s  zHTMLRepr.__init__cCst|ddddddƒS)Nú&z&úz>)r/)r>r.rrrÚescape´szHTMLRepr.escapecCs tj||ƒS)N)rrÈ)r>rrrrrÈ·sz HTMLRepr.reprcCsZtt|ƒdƒr@ddjt|ƒjjƒƒ}t||ƒr@t||ƒ||ƒS|jttt |ƒƒ|j ƒƒS)Nr%Úrepr_r_) rcrÉr!r%rr<rîr3r5rÈrê)r>rNÚlevelÚ methodnamerrrÚrepr1ºs  zHTMLRepr.repr1cCs^t||jƒ}t|ƒ}d|krJdt|ddƒkrJd|d|j|ƒ|dStjdd|j|ƒƒS)Nr€z\\rÚrrz-((\\[\\abfnrtv\'"]|\\[0-9]..|\\x..|\\u....)+)z\1)r3rérÈr/rîrr)r>rNrðÚtestÚtestreprrrrÚ repr_stringÁs zHTMLRepr.repr_stringc Cs8y|jttt|ƒƒ|jƒƒS|jd|jjƒSdS)Nz <%s instance>)rîr3r5rÈréÚ __class__r%)r>rNrðrrrÚ repr_instanceÎszHTMLRepr.repr_instanceN) r%r&r[rzrîrÈròröÚrepr_strrøZ repr_unicoderrrrrâ¬s râc@s eZdZeƒZejZejZdd„Zd4dd„Zd5d d „Z d d „Z d d„Z d6dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd„Zdiiifdd„Zd7d d!„Zd8d"d#„Zddiifd$d%„Zd&d'„Zddiiidfd(d)„Zd*d+„Zd9d,d-„Zd:d.d/„Zd;d0d1„Zd Python: %s %s r)r>ÚtitleÚcontentsrrrÚpageßsz HTMLDoc.pagercCsd|||||pdfS)Na'
 
 
%s
%s
z r)r>rûÚfgcolÚbgcolÚextrasrrrÚheadingés zHTMLDoc.headingéNú c Cs^|dkrdd|d}d|||f} |r@| d||||f} n| d|||f} | d|S)Nzz zzË

zR z( z'
 
%s
%s %s
%s
%s%s%s
r) r>rûrþrÿrüÚwidthZpreludeZ marginaliaZgaprrrrÚsectionôszHTMLDoc.sectioncGsd|}|j|f|žŽS)Nz%s)r)r>rûrÅrrrÚ bigsection szHTMLDoc.bigsectionc Cs&|j|jƒƒ}t|ddddddddƒ S)Nz z rÇz rz
)rîÚ expandtabsr/)r>r.rrrÚ preformats zHTMLDoc.preformatrcCsŠd}t|ƒ|d|}xht|ƒD]\}|dd|}x>t|||||ƒD]$}|t|ƒkrN||||ƒd}qNW|d}q"Wd|S)Nrrzråz
zz7%s
)r Úrange)r>ÚlistÚformatZcolsrÚrowsÚcolrlrrrÚ multicolumns  zHTMLDoc.multicolumncCsd|S)Nz%sr)r>r.rrrÚgrey!sz HTMLDoc.greycGs*x$|D]}||krd|||fSqW|S)Nz%sr)r>r(ZdictsÚdictrrrÚnamelink#s zHTMLDoc.namelinkcCsN|jtjj|jƒ}}t||ƒrDt||ƒ|krDd|j|t||ƒfSt||ƒS)Nz%s)r%rr—ror&rcr<r))r>rr'r(r�rrrÚ classlink*s zHTMLDoc.classlinkcCsd|j|jfS)Nz%s)r%)r>rrrrÚ modulelink2szHTMLDoc.modulelinkcCsR|\}}}}|r|j|ƒS|r,d||f}nd|}|rBd|}n|}d||fS)Nz %s.%s.htmlz%s.htmlz"%s (package)z%s)r)r>Z modpkginfor(rr}ÚshadowedÚurlr.rrrÚ modpkglink6s   zHTMLDoc.modpkglinkcCs d||fS)Nz%sr)r>rrrrrÚfilelinkEszHTMLDoc.filelinkcCsŒ|p|j}g}d}tjdƒ}�xL|j||ƒ} | s2P| jƒ\} } |j|||| …ƒƒ| jƒ\} } }}}}| r�|| ƒjddƒ}|jd||fƒnÔ|r¸dt|ƒ}|jd||| ƒfƒn¬|ràdt|ƒ}|jd||| ƒfƒn„|�r$|| | d…d k�r|jd |j ||ƒƒn|jd |ƒn@|| | d…d k�rR|j|j ||||ƒƒn|j|j ||ƒƒ| }q W|j|||d…ƒƒd j |ƒS) NrzD\b((http|ftp)://\S+[\w/]|RFC[- ]?(\d+)|PEP[- ]?(\d+)|(self\.)?(\w+))ú"z"z%sz'http://www.rfc-editor.org/rfc/rfc%d.txtz(http://www.python.org/dev/peps/pep-%04d/rú(zself.zself.%sr) rîrÚcompileÚsearchÚspanr Úgroupsr/Úintrr!)r>r.rîÚfuncsÚclassesrFrhÚhereÚpatternÚmatchÚstartÚendrdÚschemeZrfcZpepZselfdotr(rrrrÚmarkupIs<      zHTMLDoc.markupc CsÂd}x´|D]¬}t|ƒtfƒkr�|\}}|d}||j||ƒ}|r†||fkr†g}x|D]} |j|j| |ƒƒqVW|ddj|ƒd}|d}q t|ƒtgƒkr |d|j|||ƒ}q Wd|S) Nrz"

rz, ú)z
z
%s
z
%s
)rÉrr r!Ú formattree) r>Útreer'ÚparentrÚentryÚcÚbasesÚparentsrIrrrr)ts    zHTMLDoc.formattreec#sÎ|j}y |j}Wntk r(d}YnX|jdƒ}g}x@tt|ƒdƒD],}|jddj|d|d…ƒ||fƒqJWdj||d-d…ƒ} d| } y&tj |ƒ} t j j | ƒ} ˆj | | ƒ} Wntk rÖd} YnXg}t|dƒ�r:t|jƒ}|dd…d.k�r&|d/d…dk�r&|dd0…jƒ}|jd ˆj|ƒƒt|d ƒ�r\|jˆjt|jƒƒƒ|�rt| d d j|ƒ} ˆj|ƒ}|dk �r”dtƒ}nd}ˆj| ddd| |ƒ}tj|tjƒ}gi}}xltj|tjƒD]Z\}}|dk �stj|ƒ�pø||k�rØt|||ƒ�rØ|j||fƒd|||<||<�qØWxŒ|D]„\}}xx|jD]n}|j|j}}tj j!|ƒ}||k�rL|�rLt||ƒ�rLt"||ƒ|k�rL||k�rL|d|||<||<�qLW�q%sz)%sz (built-in)r]é ú$z Revision: z version %srTz (%s)z, z-
Module Referencerz#ffffffz#7799eezindex
r~z.html#z#-z %sz

%s

rZrzPackage Contentsz#aa55cccsˆj|dƒS)Nr)r)Út)r>rrrrÝsz#HTMLDoc.docmodule..ÚModulescSsg|] \}}|‘qSrr)rkrGrHrrrr®âsz%HTMLDoc.docmodule..ZClassesz#ee77aarÇZ Functionsz#eeaa77ZDataz#55aa55z
rPZAuthorrSZCreditsr�z $Revision: r�r�)6r%Ú__all__r´rr r r r!rrÛÚurllibÚparseZquoterrtrcÚstrr]rrîrTrßÚlocalsrr@r*r+Ú getmodulererAr&rr—ror<r,r8r6r-r'rrÚpkgutilÚ iter_modulesrZrurrrr)Ú getclasstreerÆrPrS)#r>rr(ÚmodÚignoredrdÚpartsZlinksrlZ linkednameÚheadrrrr¶ÚversionrÞrr—r ZcdictrGrHrIr'r�rZfdictÚdatar"ÚmodpkgsÚimporterÚispkgrüÚ classlistr)r>rr¾‡sÚ   &     $         $        zHTMLDoc.docmodulecsˆj}|p |}ˆj}g} | j‰G‡fdd„dƒ} | ƒ‰ttjˆƒƒ} t| ƒdkrŒˆjƒˆdƒx"| D]} ˆdˆj| ˆj ƒƒqfWˆdƒ‡‡‡‡‡‡‡‡fdd„} ‡‡‡‡fd d „}‡‡‡‡‡‡‡‡fd d „}‡fd d„t ˆƒDƒ}i‰xv|D]n\}}}}d|d|ˆ|<}yt ˆ|ƒ}Wnt k �r:YnXy |ˆ|<Wqòt k �r^YqòXqòWxð|�rT| �r|| jƒ‰n |dd‰t|‡fdd„ƒ\}}ˆtjk�r´|}�qfn"ˆˆk�rÄd}ndˆjˆˆj ƒ}|d7}t|ˆƒ| d||dd„ƒ}| d||dd„ƒ}| d||dd„ƒ}|d||dd„ƒ}|d||d d„ƒ}|}�qfWd!j| ƒ} ||k�rxd"||f}nd#|||f}|�rÆg}x"|D]} |jˆj| ˆj ƒƒ�q–W|d$d%j|ƒ}ˆjtˆƒˆjˆˆˆƒ}|�oêd&|}ˆj|d'd(| d)|ƒS)*Ncs eZdZdd„Z‡fdd„ZdS)z(HTMLDoc.docclass..HorizontalRulecSs d|_dS)Nr)Úneedone)r>rrrrz sz1HTMLDoc.docclass..HorizontalRule.__init__cs|jrˆdƒd|_dS)Nz
r)rG)r>)ÚpushrrÚmaybesz.HTMLDoc.docclass..HorizontalRule.maybeN)r%r&r[rzrIr)rHrrÚHorizontalRule srJrz&
Method resolution order:
z
%s
z
cs”t||ƒ\}}|r�ˆjƒˆ|ƒxl|D]d\}}}}ytˆ|ƒ}Wn&tk rhˆˆj||ˆƒƒYnXˆˆj||ˆˆˆˆˆƒƒˆdƒq(W|S)Nr)rOrIr<Ú ExceptionÚ_docdescriptorrÆ)ÚmsgrvrKÚokr(riÚhomeclsrH)r rÚhrÚmdictr=rrHr>rrÚspills  zHTMLDoc.docclass..spillcsNt||ƒ\}}|rJˆjƒˆ|ƒx&|D]\}}}}ˆˆj||ˆƒƒq(W|S)N)rOrIrL)rMrvrKrNr(rirOrH)rPr=rHr>rrÚspilldescriptors0sz*HTMLDoc.docclass..spilldescriptorsc sÂt||ƒ\}}|r¾ˆjƒˆ|ƒxš|D]’\}}}}ˆjtˆ|ƒ|ˆƒ}t|ƒsZtj|ƒrht|ddƒ} nd} | dkr‚ˆd|ƒn0ˆjt|ƒˆj ˆˆˆƒ} d| } ˆd|| fƒˆdƒq(W|S)NrUz
%s
z
%sz
%s%s
r) rOrIrÄr<Úcallablerrgr'rr) rMrvrKrNr(rirOrHrIr")r rrPrQr=rrHr>rrÚ spilldata9s"  z#HTMLDoc.docclass..spilldatacs,g|]$\}}}}t|ˆd�r||||f‘qS))r9)re)rkr(rirjrH)rrrr®Ns z$HTMLDoc.docclass..r~ú-rcs |dˆkS)Nrr)r2)Ú thisclassrrrrgsz"HTMLDoc.docclass..z defined herezinherited from %sz:
z Methods %scSs |ddkS)NrÚmethodr)r2rrrrrwszClass methods %scSs |ddkS)Nrz class methodr)r2rrrrryszStatic methods %scSs |ddkS)Nrz static methodr)r2rrrrr{szData descriptors %scSs |ddkS)Nrzdata descriptorr)r2rrrrr}szData and other attributes %scSs |ddkS)NrrBr)r2rrrrrsrz*class %sz/%s = class %sz(%s)z, z%s
 
z#000000z#ffc8d8r0)r%rAr rrÚgetmror rIrr&rfr<rKrtÚpopleftrOÚbuiltinsrrwr!r'rrr)r>rr(r=rr r>Úrealnamer.rürJÚmrorIrRrSrUrvrGrirOrHÚanchorÚ inheritedÚtagrûr/r"r) r rrPrQr=rrHr>rWrr¿sŒ                              zHTMLDoc.docclasscCs|jd|j|ƒƒS)Nú=)rrÈ)r>rrrrÚ formatvalue•szHTMLDoc.formatvaluecCs¾|j}|p |}|r|jpdd|} d} d} t|ƒrŠ|jj} |rZ| |k rŠd|j| |ƒ} n0|jdk rzd|j|jj|ƒ} nd|j| |ƒ} ||kr d| |f} nD|rÒtj||gƒ|krÒd|jd||f}d } n|}d | ||f} d}tj|ƒ�rNytj|ƒ}Wnt t fk �r d}YnX|�rNt |ƒ}|d k�rNd |} |d d…}|�sXd }| |j |ƒ| �ov|j d| ƒ}| �rˆd|S|jt|ƒ|j|||ƒ}|�o¬d|}d||fSdS)NrrVrz from z method of %s instancez unbound %s methodz$%sz%srz)%s = %szz$%s lambda z(...)z'%sz
%s
z
%s
z
%s
%s
r�)r%r?r;r÷rrÚgetattr_staticr,Ú signatureÚ ValueErrorrtr7rîrr'rr)r>rr(r=rr rFrEr\r^ÚnoteÚskipdocsÚimclassrûZreallinkÚargspecrdÚdeclr"rrrrÀ™sX       zHTMLDoc.docroutinecCsTg}|j}|r|d|ƒ|jdk rB|jt|ƒ|jƒ}|d|ƒ|dƒdj|ƒS)Nz!
%s
z
%s
z
r)r rUr'rrr!)r>r(rHr=rhrHr"rrrrLÔs   zHTMLDoc._docdescriptorcCs|j|||ƒS)N)rL)r>rr(r=rErrrrÃászHTMLDoc.docpropertycGs|r d|pd}||j|ƒS)Nz%s = r)rÈ)r>rr(r=r>ZlhsrrrrÄåszHTMLDoc.docothercCs|j|||ƒS)N)rL)r>rr(r=rErrrr¼êszHTMLDoc.docdatacCs„g}|dkri}xLtj|gƒD]<\}}}tdd„|Dƒƒrósz HTMLDoc.index..rrz#ffffffz#ee77aa)r:r;Úanyr rurrr)r>rrrCrDr(rErürrrÚindexîs z HTMLDoc.index)r)rrNr)r)N)NN)NNN)NN)NNN)N)r%r&r[râÚ_repr_instancerÈrîrýrrrrrrrrrrrr'r)r¾r¿rbrÀrLrÃrÄr¼rorrrrrúÖs:   +  y:   rúc@s0eZdZdd„Zdd„Zdd„ZeZdd„Zd S) ÚTextReprcCs,tj|ƒd|_|_d|_d|_|_dS)Nrãrärå)rrzrærçrèrérê)r>rrrrzs  zTextRepr.__init__cCsTtt|ƒdƒr@ddjt|ƒjjƒƒ}t||ƒr@t||ƒ||ƒSttt|ƒƒ|j ƒS)Nr%rïr_) rcrÉr!r%rr<r3r5rÈrê)r>rNrðrñrrrròs  zTextRepr.repr1cCsHt||jƒ}t|ƒ}d|krDdt|ddƒkrDd|d||dS|S)Nr€z\\rrór)r3rérÈr/)r>rNrðrôrõrrrrös  zTextRepr.repr_stringc Cs,yttt|ƒƒ|jƒSd|jjSdS)Nz <%s instance>)r3r5rÈrér÷r%)r>rNrðrrrrøszTextRepr.repr_instanceN)r%r&r[rzròrörùrørrrrrqÿs  rqc@sˆeZdZeƒZejZdd„Zddd„Zdd„Zdd d „Z dd d „Z ddd„Z dd„Z d dd„Z dd„Zd!dd„Zd"dd„Zd#dd„ZdS)$ÚTextDoccCsdjdd„|DƒƒS)Nrcss|]}|d|VqdS)úNr)rkrlrrrrm)szTextDoc.bold..)r!)r>r.rrrÚbold'sz TextDoc.boldú cs>|sdS‡fdd„|jdƒDƒ}|r4|djƒ|d<dj|ƒS)Nrcsg|] }ˆ|‘qSrr)rkr„)Úprefixrrr®.sz"TextDoc.indent..rrr�r�)rrr!)r>r.rvr#r)rvrÚindent+s zTextDoc.indentcCs$|j|ƒjƒ}|j|ƒd|dS)Nrz )rwrrt)r>rûrüZclean_contentsrrrr2szTextDoc.sectionNrc s¤d}xš|D]’}t|ƒtfƒkrt|\}}||t|ˆƒ}|rj||fkrj‡fdd„|Dƒ} |ddj| ƒ}|d}q t|ƒtgƒkr ||j|ˆ||dƒ}q W|S)Nrc3s|]}t|ˆƒVqdS)N)r))rkr-)r'rrrmAsz%TextDoc.formattree..z(%s)z, rz )rÉr)r!r)) r>r*r'r+rvrr,r-r.r/r)r'rr)9s  zTextDoc.formattreec CsD|j}tt|ƒƒ\}}|jd||o(d|ƒ}t|ddƒ}|j|ƒ}|dk r`||jd|dƒ}|rt||jd|ƒ}g} xNtj|tjƒD]<\} } |dk sªtj | ƒp¤||krˆt | ||ƒrˆ| j | | fƒqˆWg} xXtj|tj ƒD]F\} } |dk �stj | ƒ�stj | ƒ|krÜt | ||ƒrÜ| j | | fƒqÜWg} x6tj|tƒD]&\} } t | ||ƒ�r8| j | | fƒ�q8Wg}tƒ}t|dƒ�rÞxFtj|jƒD]6\}}}|j|ƒ|�r°|j |dƒn |j |ƒ�q†W|jƒ||jd d j|ƒƒ}g}xBtj|tjƒD]0\} } | jj|d ƒ�rò| |k�rò|j | ƒ�qòW|�rJ|jƒ||jd d j|ƒƒ}| �r²d d„| Dƒ}|jtj|dƒ|ƒg}x&| D]\} } |j |j| | |ƒƒ�qzW||jdd j|ƒƒ}| �rúg}x&| D]\} } |j |j| | |ƒƒ�qÂW||jdd j|ƒƒ}| �rFg}x*| D]"\} } |j |j| | |dd�ƒ�q W||jdd j|ƒƒ}t|dƒ�r t|jƒ}|dd…d"k�r�|d#d…dk�r�|dd$…jƒ}||jd|ƒ}t|dƒ�rÂ||jdt|j ƒƒ}t|dƒ�rä||jdt|j!ƒƒ}t|dƒ�r||jdt|j"ƒƒ}ytj#|ƒ}Wnt$k �r.d }YnX||jd!|ƒ}|S)%NÚNAMEz - r4zMODULE REFERENCEa. The following documentation is automatically generated from the Python source files. It may be incomplete, incorrect or include features that are considered implementation detail and may vary between Python implementations. When in doubt, consult the module reference at the location listed above. Z DESCRIPTIONrZz (package)zPACKAGE CONTENTSrrZ SUBMODULEScSsg|] \}}|‘qSrr)rkrGrHrrrr®‰sz%TextDoc.docmodule..rÚCLASSESÚ FUNCTIONSéF)r2ZDATAr]r0r1z Revision: ÚVERSIONrTZDATErPZAUTHORrSZCREDITSz (built-in)ÚFILEz $Revision: r�r�)%r%r$rrr<rßrr@r+r9rer r,r8r-Úsetrcr:r;rZÚaddrur!r*rar)r<rÆrÄr7r]rrTrPrSrÛrt)r>rr(r=ZsynopÚdescrrdrÞr rGrHrrBrCZ modpkgs_namesrDr'rEZ submodulesrFrürArƒrrrr¾Isž           $    zTextDoc.docmodulecsXˆj}|p |}ˆj}ˆjfdd„}||kr:dˆj|ƒ}nˆj|ƒd|}|rlt||ƒ} |ddj| ƒ}tˆƒ} | r‚| dgp„g} | j‰tt j ˆƒƒ} t | ƒdkrÔˆd ƒx| D]} ˆd || ƒƒq´Wˆd ƒG‡fd d „d ƒ}|ƒ‰‡‡‡‡‡fdd„}‡‡‡‡fdd„}‡‡‡‡‡fdd„}‡fdd„t ˆƒDƒ}xæ|�r"| �rT| j ƒ‰n |dd‰t|‡fdd„ƒ\}}ˆtjk�rŒ|}�q>n ˆˆk�rœd}ndtˆˆjƒ}t|ˆƒ|d||dd„ƒ}|d||dd„ƒ}|d||d d„ƒ}|d!||d"d„ƒ}|d#||d$d„ƒ}|}�q>Wdj| ƒ} | �s<|dS|dˆj| jƒd%ƒdS)&NcSs t||ƒS)N)r))r-r­rrrÚmakename´sz"TextDoc.docclass..makenamezclass z = class z(%s)z, rrzMethod resolution order:z rcs eZdZdd„Z‡fdd„ZdS)z(TextDoc.docclass..HorizontalRulecSs d|_dS)Nr)rG)r>rrrrzÍsz1TextDoc.docclass..HorizontalRule.__init__cs|jrˆddƒd|_dS)NrVr{r)rG)r>)rHrrrIÏs z.TextDoc.docclass..HorizontalRule.maybeN)r%r&r[rzrIr)rHrrrJÌsrJcs†t||ƒ\}}|r‚ˆjƒˆ|ƒx^|D]V\}}}}ytˆ|ƒ}Wn&tk rhˆˆj||ˆƒƒYq(Xˆˆj||ˆˆƒƒq(W|S)N)rOrIr<rKrLrÆ)rMrvrKrNr(rirOrH)rPr=rrHr>rrrRÕszTextDoc.docclass..spillcsNt||ƒ\}}|rJˆjƒˆ|ƒx&|D]\}}}}ˆˆj||ˆƒƒq(W|S)N)rOrIrL)rMrvrKrNr(rirOrH)rPr=rHr>rrrSæsz*TextDoc.docclass..spilldescriptorsc s¦t||ƒ\}}|r¢ˆjƒˆ|ƒx~|D]v\}}}}t|ƒsFtj|ƒrPt|ƒ}nd}ytˆ|ƒ} Wntk r€|j|} YnXˆˆj | |ˆd|d�dƒq(W|S)Nr{)r2r"r) rOrIrTrrgrr<r´Ú__dict__rÄ) rMrvrKrNr(rirOrHr"r9)rPr=rrHr>rrrUïs  z#TextDoc.docclass..spilldatacs,g|]$\}}}}t|ˆd�r||||f‘qS))r9)re)rkr(rirjrH)rrrr®s z$TextDoc.docclass..rcs |dˆkS)Nrr)r2)rWrrrr sz"TextDoc.docclass..z defined herezinherited from %sz Methods %s: cSs |ddkS)NrrXr)r2rrrrrszClass methods %s: cSs |ddkS)Nrz class methodr)r2rrrrrszStatic methods %s: cSs |ddkS)Nrz static methodr)r2rrrrrszData descriptors %s: cSs |ddkS)Nrzdata descriptorr)r2rrrrrszData and other attributes %s: cSs |ddkS)NrrBr)r2rrrrr!sz | )r%rAr&rtÚmapr!rr rrrYr rfrZrOr[rr)rwrwr)r>rr(r=r>r\r.r�rûr/r"rür]rIrJrRrSrUrvr_r`r)rPr=rrHr>rWrr¿®sl                        zTextDoc.docclasscCsd|j|ƒS)Nra)rÈ)r>rrrrrb+szTextDoc.formatvaluec Csr|j}|p |}d}d}t|ƒrn|jj}|rB||k rndt||ƒ}n,|jdk r`dt|jj|ƒ}ndt||ƒ}||kr‚|j|ƒ} n,|rœtj||gƒ|krœd}|j|ƒd|} d} tj|ƒ�rytj |ƒ} Wnt t fk rèd} YnX| �rt | ƒ} |dk�r|j|ƒd } | dd …} | �s&d } | | |} |�r@| d St |ƒ�pLd} | d | �oj|j| ƒjƒd SdS) Nrrz from z method of %s instancez unbound %s methodrz = zz lambda z(...)rr�)r%r?r;r÷r)rtrrcr,rdrertr7rrwr)r>rr(r=rEr\rfrgrhrûrirdrjr"rrrrÀ/sH       zTextDoc.docroutinecCsTg}|j}|r$||j|ƒƒ|dƒt|ƒp.d}|rJ||j|ƒƒ|dƒdj|ƒS)Nrr)r rtrrwr!)r>r(rHr=rhrHr"rrrrL`s zTextDoc._docdescriptorcCs|j|||ƒS)N)rL)r>rr(r=rErrrrÃmszTextDoc.docpropertycCs|j|||ƒS)N)rL)r>rr(r=rErrrr¼qszTextDoc.docdatac Cs‚|j|ƒ}|rF|r|dpd|}|t|ƒ} | dkrF|d| …d}|rX|j|ƒdpZd|}|dk r~|d|jt|ƒƒ7}|S)Nz = rrz...r)rÈr rtrwr7) r>rr(r=r+r2r"rÈr„ZchoprrrrÄus  zTextDoc.docother)ru)Nr)NN)NN)NNN)NNN)NNN)NNNNN)r%r&r[rqrprÈrtrwrr)r¾r¿rbrÀrLrÃr¼rÄrrrrrrs   e } 1  rrc@seZdZdd„ZdS)Ú _PlainTextDoccCs|S)Nr)r>r.rrrrtƒsz_PlainTextDoc.boldN)r%r&r[rtrrrrr„�sr„cCstƒat|ƒdS)N)ÚgetpagerÚpager)r.rrrr†ˆsr†c s<ttjdƒstSttjdƒs tStjjƒ s8tjjƒ r.ZTERMÚdumbÚemacscstt|ƒˆƒS)N)Ú pipepagerrŠ)r.)r‹rrrr›scs t|ˆƒS)N)rŽ)r.)r‹rrrr�scSstt|ƒdƒS)Nzmore <)r‰rŠ)r.rrrrr¡sÚsystemz(less) 2>/dev/nullrcSs t|dƒS)NZless)rŽ)r.rrrrr£sz more "%s"cSs t|dƒS)NZmore)rŽ)r.rrrrrªs)rŒr�)rŒr�)rcrÚstdinÚ plainpagerÚstdoutr‡r rÜroÚplatformr�ÚtempfileZmkstempÚcloseÚttypagerÚunlink)r”Úfdr™r)r‹rr…Žs6          r…cCstjdd|ƒS)Nz.r)rr)r.rrrrаsrŠc Cs¢ddl}|j|d|jd�}yDtj|jdd��*}y|j|ƒWntk rPYnXWdQRXWntk rrYnXx(y|j ƒPWqvtk r˜YqvXqvWdS)NrT)Úshellr�Úbackslashreplace)Úerrors) Ú subprocessÚPopenÚPIPEÚioÚ TextIOWrapperr�ÚwriteÚKeyboardInterruptr’Úwait)r.ÚcmdrœÚprocÚpiperrrrŽ´s rŽcCs`ddl}|jƒ}t|ddd��}|j|ƒWdQRXztj|d|dƒWdtj|ƒXdS)NrÚwrš)r›z "r)r”Zmktempr‘r¡r r�r—)r.r¤r”r™rƒrrrr‰Ësr‰cCs$ttjddƒpd}|j|dƒj|ƒS)NÚencodingzutf-8rš)r<rr’ÚencodeÚdecode)r.r¨rrrÚ_escape_stdoutÖsr«c CsÀtt|ƒƒjdƒ}y2ddl}tjjƒ}|j|ƒ}|j|ƒdd„}Wn(t t t j fk rld}dd„}YnX�z2yt tjjddƒƒ}Wntk r d}YnX|dkr®d}|d}}tjjdj|d|…ƒdƒxÆ||d…�ržtjjd ƒtjjƒ|ƒ} | dk�rtjjd ƒPn,| dk�rJtjjd ||dƒ|d}qÚ| dk�rn|||}|dk�rnd}tjjddj||||…ƒdƒ||}qÚWWd|�rº|j||j|ƒXdS)NrrcSs tjjdƒS)Nr)rr�r¦rrrrrrãszttypager..cSstjjƒdd…dd…S)Nrr�)rr�r‚rrrrrræsZLINESréz -- more --ÚqÚQz ú ÚbÚBú)r­r®)r¯r)r°r±r²)rŠr«rÚttyrr�ÚfilenoZ tcgetattrZ setcbreakr³r´rŸÚUnsupportedOperationrr rÜrorer’r¡r!ÚflushZ tcsetattrZ TCSAFLUSH) r.r#r³r˜ÚoldZgetcharÚhróZincr-rrrr–ÛsL              &r–cCstjjtt|ƒƒƒdS)N)rr’r¡rŠr«)r.rrrr‘sr‘cCsÜtj|ƒr>|jtjkr d|jSt|dƒr4d|jSd|jStj|ƒrRd|jStj|ƒrtd|jj |jj|jfStj |ƒr–d|jj |jj|jfStj |ƒrªd|jStj |ƒr¾d |jStj |ƒrÒd |jSt|ƒjS) Nzbuilt-in module rZzpackage zmodule zbuilt-in function zgetset descriptor %s.%s.%szmember descriptor %s.%s.%szclass z function zmethod )rr*r%rr¯rcr8r»Ú __objclass__r&r½r+r6r7rÉ)ÚthingrrrÚdescribe s.                    r»c Cs¬dd„|jdƒDƒ}d\}}xB|t|ƒkr^tdj|d|d…ƒ|ƒ}|rZ||d}}qPqW|rj|}nt}x8||d…D](}yt||ƒ}Wq|tk r¢dSXq|W|S)NcSsg|] }|r|‘qSrr)rkr·rrrr®(szlocate..rrr)Nr)rr r¸r!r[r<r´)rrµr?r�ÚnZ nextmodulerr·rrrÚlocate&s  r½cCsVt|tƒr0t||ƒ}|dkr(td|ƒ‚||fSt|ddƒ}|t|tƒrL|ndfSdS)Nz~No Python documentation found for %r. Use help() to get the interactive help utility. Use help(str) for help on the str class.r%)rÁr7r½r³r<)rºrµrr(rrrÚresolve?s    r¾ú Python Library Documentation: %scCsÒ|dkr t}t||ƒ\}}t|ƒ}tj|ƒ}|rTd|krT|d|d|jdƒ…7}n|rn||k rn|d|j7}tj|ƒp¨tj|ƒp¨tj |ƒp¨tj |ƒp¨tj |ƒp¨t |t ƒsºt|ƒ}|d7}||d|j||ƒS)Nrz in z in module z objectz )r.r¾r»rr9Úrfindr%r*r+r,r»r½rÁrÂrÉrÆ)rºrûrµZrendererrr(r€r�rrrÚ render_docMs$         rÁcCsfy2|dkrtt|||ƒƒn|jt|||tƒƒWn.ttfk r`}zt|ƒWYdd}~XnXdS)N)r†rÁr¡Ú plaintextr³rŸÚprint)rºrûrµÚoutputrHrrrr"fs r"cCs”y`t||ƒ\}}tjt|ƒtj||ƒƒ}t|dddd��}|j|ƒWdQRXtd|dƒWn.tt fk rŽ}zt|ƒWYdd}~XnXdS)Nz.htmlr§zutf-8)r¨Zwrote) r¾Úhtmlrýr»rÆr‘r¡rÃr³rŸ)rºrµrr(rýrƒrHrrrÚwritedocqsrÆrcCs6|dkr i}x$tj|g|ƒD]\}}}t|ƒqWdS)N)r:Ú walk_packagesrÆ)rÚpkgpathÚdonerDr'rErrrÚ writedocs|s  rÊcJ@sÄeZdZddddddïdðdñdòdódôd dõdddödd÷dødùdúddûdüdddýdþdÿ�d�d�d�dd&œ!Zd'd(„�dDƒZ�de˜�d�d�d�d �d �d dSœZdTdUdVdWdXdYdZd[d\d]d^d_d_d`d`daœZxPejƒD]D\ZZ x8e D]0Z ej e eƒZ ee k�rðe dbeZ e ee <�qÊW�q¼W�d �d �d�d�d�d�d�d�d�ddv�d�d�d�ddd�d�d�d�d�dd�ddˆdˆ�d �d!�d"�d#�d$�d%�d&�d'�d(�d)�d*dœdœ�d+�d,�d-�d.�d/�d0d¦�d1�d2�d3�d4�d5�d6�d7�d8�d9�d:�d;�d<�d=�d>�d?�d@d�dA�dBd d!dd �dC�dD�dE�dFdÊœIZ �dGdÌdÍ„Z edÎdÏ„ƒZedÐdÏ„ƒZdÑdÒ„ZeƒZefdÓdÔ„ZdÕdÖ„Zd×dØ„ZdÙdÚ„ZdÛdÜ„Z�dHdßdà„Zdádâ„Zdãdä„Zdådæ„Z�dIdçdè„Z�dJdédê„Zdëdì„Z�dKdídî„Z dËS(LÚHelperrÚBOOLEANÚwithÚassertÚbreakú while forÚclassúCLASSES SPECIALMETHODSÚcontinueÚfunctionÚdelÚ BASICMETHODSÚifÚelseÚtryÚforúbreak continue whileÚimportÚglobalúnonlocal NAMESPACESÚ TRUTHVALUEÚMODULESÚinÚSEQUENCEMETHODSÚ COMPARISONÚlambdarzÚnonlocalúglobal NAMESPACESÚpassÚraiseÚ EXCEPTIONSÚreturnÚwhileúbreak continue if TRUTHVALUEú CONTEXTMANAGERS EXCEPTIONS yieldÚyield)!ÚFalseÚNoneÚTrueÚandÚasrÎrÏrÑrÓÚdefrÕÚelifrØÚexceptÚfinallyrÚÚfromrÝr×rÜráÚisräråÚnotÚorrçrèrêrÙrërÍrîcCsg|]}dD] }||‘q qS)ú'r)rürr)rkÚpr­rrrr®µszHelper.r°ÚfróÚurüú'''rú"""ú+rVÚ*ú**rÚú//ú%ú<<ú>>rëú|ú^ú~rìríú<=ú>=ú==ú!=ú<>ú+=ú-=ú*=ú/=ú%=ú&=ú|=ú^=ú<<=ú>>=ú**=ú//=ÚjÚJ)ÚSTRINGSÚ OPERATORSrãÚUNARYÚAUGMENTEDASSIGNMENTÚBITWISEÚCOMPLEXzOPERATORS FORMATTINGÚPOWERzTUPLES LISTS FUNCTIONSz ATTRIBUTES FLOAT MODULES OBJECTSÚELLIPSISzSLICINGS DICTIONARYLITERALSz def classrÚ PRIVATENAMESzPRIVATENAMES SPECIALMETHODSZ BACKQUOTESzTUPLES FUNCTIONS CALLSzLISTS SUBSCRIPTS SLICINGS)rz**ú,rz...ú:ú@r€r_r^ú`rr(ú[ú]rÇÚtypesúRSTRINGS UNICODE NUMBERS SEQUENCES MAPPINGS FUNCTIONS CLASSES MODULES FILES inspectÚstringsú4str UNICODE SEQUENCES STRINGMETHODS FORMATTING TYPESústring-methodsúSTRINGS FORMATTINGÚ formatstringsr ú:encodings unicode SEQUENCES STRINGMETHODS FORMATTING TYPESÚnumbersúINTEGER FLOAT COMPLEX TYPESÚintegersú int rangeÚfloatingú float mathÚ imaginaryú complex cmathÚtypesseqú$STRINGMETHODS FORMATTING range LISTSÚ DICTIONARIESÚtypesfunctionsú def TYPESÚ typesmethodsúclass def CLASSES TYPESúbltin-code-objectsúcompile FUNCTIONS TYPESúbltin-type-objectsú types TYPESÚTYPESúbltin-null-objectúbltin-ellipsis-objectÚSLICINGSÚ specialattrsú!class SPECIALMETHODS PRIVATENAMESÚ typesmodulesúoperator-summaryú˜lambda or and not in is BOOLEAN COMPARISON BITWISE SHIFTING BINARY FORMATTING POWER UNARY ATTRIBUTES SUBSCRIPTS SLICINGS CALLS TUPLES LISTS DICTIONARIESÚ EXPRESSIONSÚobjectsÚ specialnamesúbBASICMETHODS ATTRIBUTEMETHODS CALLABLEMETHODS SEQUENCEMETHODS MAPPINGMETHODS NUMBERMETHODS CLASSESÚ customizationúhash repr str SPECIALMETHODSúattribute-accessúATTRIBUTES SPECIALMETHODSúcallable-typesúCALLS SPECIALMETHODSúsequence-typesú(SEQUENCES SEQUENCEMETHODS SPECIALMETHODSúMAPPINGS SPECIALMETHODSú numeric-typesú*NUMBERS AUGMENTEDASSIGNMENT SPECIALMETHODSÚ execmodelú%NAMESPACES DYNAMICFEATURES EXCEPTIONSÚnamingú3global nonlocal ASSIGNMENT DELETION DYNAMICFEATURESúdynamic-featuresÚ NAMESPACESrÎútry except finally raiseÚ conversionsÚ identifiersúkeywords SPECIALIDENTIFIERSú id-classesúatom-identifiersú atom-literalsú=STRINGS NUMBERS TUPLELITERALS LISTLITERALS DICTIONARYLITERALSÚ SEQUENCESÚ exprlistsúTUPLES LITERALSútypesseq-mutableÚ LISTLITERALSÚlistsúLISTS LITERALSÚ typesmappingÚDICTIONARYLITERALSrúDICTIONARIES LITERALSúattribute-referencesú(getattr hasattr setattr ATTRIBUTEMETHODSÚ subscriptionsÚslicingsÚcallsÚpowerÚunaryÚbinaryÚshiftingÚbitwiseÚ comparisonsúEXPRESSIONS BASICMETHODSÚbooleansúEXPRESSIONS TRUTHVALUEÚ assignmentr"Ú augassignÚ NUMBERMETHODSÚcompoundúfor while break continueÚtruthú if while and or not BASICMETHODSÚdebuggerÚpdbúcontext-managers)IrIrZ STRINGMETHODSZ FORMATTINGÚUNICODEZNUMBERSZINTEGERZFLOATr$roZMAPPINGSrzZMETHODSZ CODEOBJECTSZ TYPEOBJECTSZ FRAMEOBJECTSZ TRACEBACKSZNONEr&ZSPECIALATTRIBUTESryràZPACKAGESrRr Z PRECEDENCEZOBJECTSZSPECIALMETHODSrÖZATTRIBUTEMETHODSZCALLABLEMETHODSrâZMAPPINGMETHODSr‰Z EXECUTIONrfZDYNAMICFEATURESZSCOPINGZFRAMESréZ CONVERSIONSZ IDENTIFIERSZSPECIALIDENTIFIERSr'ZLITERALSZTUPLESZ TUPLELITERALSZLISTSrsr@rwZ ATTRIBUTESZ SUBSCRIPTSrLZCALLSr%r!ZBINARYZSHIFTINGr#rãrÌZ ASSERTIONZ ASSIGNMENTr"ZDELETIONZ RETURNINGZ IMPORTINGZ CONDITIONALZLOOPINGrßZ DEBUGGINGZCONTEXTMANAGERSNcCs||_||_dS)N)Ú_inputÚ_output)r>ÚinputrÄrrrrz0szHelper.__init__cCs |jp tjS)N)r’rr�)r>rrrrr4szHelper.cCs |jp tjS)N)r“rr’)r>rrrrr5scCs2tjƒdddkr|ƒdSd|jj|jjfS)Nrr0ú?rz<%s.%s instance>)rÚstackr÷r&r[)r>rrrÚ__repr__7s zHelper.__repr__cCs6||jk r|j|ƒn|jƒ|jƒ|jjdƒdS)Na 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. )Ú_GoInteractiverÚintroÚinteractrÄr¡)r>ÚrequestrrrÚ__call__?s   zHelper.__call__c CsÄ|jjdƒx²y|jdƒ}|s PWnttfk r<PYnX|jƒ}t|ƒdkr’|d|d kold knr’|d|dd …kr’|dd…}|jƒdkr P|d kr²|jƒq|j |ƒqWdS)Nrzhelp> rrrrürr­Úquitrr�)rürr�r�)r­r�) rÄr¡Úgetliner¢ÚEOFErrorrr rÝr™r)r>r›rrrršLs"  ,   zHelper.interactcCs8|jtjkrt|ƒS|jj|ƒ|jjƒ|jjƒSdS)N)r”rr�rÄr¡r¶r‚)r>Úpromptrrrržas    zHelper.getlinecCs<t|ƒtdƒk�r|jƒ}|dkr,|jƒnÚ|dkr>|jƒnÈ|dkrP|jƒn¶|dkrb|jƒn¤|dd…dkr†|j|jƒdƒn€||jkrœ|j|ƒnj|dkr´t t |ƒd ƒnR||j krÊ|j |ƒn<||j krà|j |ƒn&|röt |d |jd �nt td |jd �n$t|tƒ�r|ƒnt |d |jd �|jjdƒdS)NrÚkeywordsÚsymbolsÚtopicsr—ézmodules rrñrïrðz Help on %s:)rÄr)rñrïrð)rÉrÚ listkeywordsÚ listsymbolsÚ listtopicsÚ listmodulesrr¢Ú showsymbolr"Úevalr¡Ú showtopicr£r“r7rÁrËrÄr¡)r>r›rrrrjs6        z Helper.helpcCs$|jjdjdtjdd…ƒƒdS)Na” Welcome to Python {0}'s help utility! If this is your first time using Python, you should definitely check out the tutorial on the Internet at https://docs.python.org/{0}/tutorial/. 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, symbols, or topics, type "modules", "keywords", "symbols", or "topics". Each module also comes with a one-line summary of what it does; to list the modules whose name or summary contain a given string such as "spam", type "modules spam". z%d.%dr)rÄr¡r rrà)r>rrrr™sz Helper.introréPc Cs´tt|ƒƒ}||}t|ƒ|d|}x†t|ƒD]z}xht|ƒD]\}|||}|t|ƒkr@|jj||ƒ||dkr@|jjdd|dt||ƒƒq@W|jjdƒq2WdS)NrrÇr)r Úsortedr r rÄr¡) r>ÚitemsÚcolumnsrZcolwr Úrowr rlrrrr �s    (z Helper.listcCs |jjdƒ|j|jjƒƒdS)NzN Here is a list of the Python keywords. Enter any keyword to get more help. )rÄr¡r r¡rD)r>rrrr¥�szHelper.listkeywordscCs |jjdƒ|j|jjƒƒdS)Nzx Here is a list of the punctuation symbols which Python assigns special meaning to. Enter any symbol to get more help. )rÄr¡r r¢rD)r>rrrr¦¤szHelper.listsymbolscCs |jjdƒ|j|jjƒƒdS)NzN Here is a list of available topics. Enter any topic name to get more help. )rÄr¡r r£rD)r>rrrr§¬szHelper.listtopicsc Cs,y ddl}Wn tk r,|jjdƒdSX|jj||jj|ƒƒ}|s`|jjdt|ƒƒdSt|ƒtdƒkr||j ||ƒS|\}}y|jj|}Wn(t k r¼|jjdt|ƒƒdSX|j ƒd}|rÞ|pÔdd|}|�r ddl }ddj |jƒƒd} |j| d ƒ} |d dj | ƒ7}t|ƒdS) Nrzt Sorry, topic and keyword documentation is not available because the module "pydoc_data.topics" could not be found. zno documentation found for %s rrrÇzRelated help topics: z, éHz %s )Úpydoc_data.topicsr³rÄr¡r£ror¡rÈrÉr«ÚKeyErrorrÚtextwrapr!rÚwrapr†) r>ÚtopicÚ more_xrefsÚ pydoc_dataÚtargetÚlabelÚxrefsr"r´r.Z wrapped_textrrrr«³s6    zHelper.showtopicc CsŠy ddl}Wntk r dSX|jj||jj|ƒƒ}|sDtdƒ‚t|tƒrZ|j||ƒS|\}}|jj|}|r‚|pxdd|}||fS)Nrút Sorry, topic and keyword documentation is not available because the module "pydoc_data.topics" could not be found. rzcould not find topicrÇ)r¼r) r²r³r£ror¡rerÁr7Ú _gettopic)r>r¶r·r¸r¹rºr»r"rrrr½Ós     zHelper._gettopiccCs*|j|}|jdƒ\}}}|j||ƒdS)NrÇ)r¢Ú partitionr«)r>Úsymbolr¹r¶r_r»rrrr©îs zHelper.showsymbolcsv|r |jjdj|ƒƒt|ƒnR|jjdƒi}|fdd„‰‡fdd„}tƒjˆ|d�|j|jƒƒ|jjdƒdS) Nzy Here is a list of modules whose name or summary contains '{}'. If there are any, enter a module name to get more help. zI Please wait a moment while I gather a list of all available modules... cSs>|r$|dd…dkr$|dd…d}|jdƒdkr:d||<dS) Né z .__init__z (package)rrri÷ÿÿÿi÷ÿÿÿ)Úfind)rr'r€r—rrrÚcallbacksz$Helper.listmodules..callbackcsˆd|dƒdS)Nr)r')rÂrrÚonerrorsz#Helper.listmodules..onerror)rÃz‰ Enter any module name to get more help. Or, type "modules spam" to search for modules whose name or summary contain the string "spam". )rÄr¡r ÚaproposÚ ModuleScannerÚrunr rD)r>rGr—rÃr)rÂrr¨ós    zHelper.listmodules)rÎr)rÏrÐ)rÑrÒ)rÓrÐ)rÔr)rÕrÖ)rØrÐ)rÚrÛ)rÝrÞ)r×rß)rÜrà)rárâ)rärz)råræ)rçr)rèré)rêrz)rÙré)rërì)rÍrí)rîr)r°rþrórÿ)rürrr)rrVrrrÚrrrrrër r r rìrír r rrr)rìrír r rrr)rVr ) rrrrrrrrrrrr)rrrër r r )rr)r.r/)r0r1)r2r3)r4r )r0r5)r6r7)r8r9)r:r;)r<r=)r>r?)rArB)rCrD)rErF)rGrH)rJr)rKrL)rMr)r.rN)rOrÜ)rPrQ)rSrI)rTrU)rVrW)rXrY)rZr[)r\r])r\r^)r_r`)rarb)rcrd)rer)rÎrg)rhr)rirj)rkr)rlr)rmrn)rprq)rrrs)rtru)rvrw)rrx)ryrz)r{râ)r|râ)r}rR)r~rR)rrR)r€rR)r�rR)r‚rR)rƒr„)r…r†)r‡r")rˆr‰)rŠr‹)rŒr�)rŽr�)r�rÍ)NN)rr¬)r)r)r)!r%r&r[r¡Z _strprefixesZ_symbols_inverser¢r®r¶Zsymbols_r¿ror£rzrÂr”rÄr—rr˜rœršržrr™r r¥r¦r§r«r½r©r¨rrrrr˃s6              rËc@seZdZddd„ZdS)rÅNcCs |r |jƒ}d|_i}xztjD]p}|dkrd||<|dkrH|d|dƒqt|ƒjpTd}|jdƒd}|d|}|jƒj|ƒdkr|d||ƒqW�xdtj |d�D�]R\} }} |jr¶P|dkrÌ|d|dƒq¢ytj | |ƒ} Wnt k ròw¢YnX| j } t | d ƒ�rny| j|ƒ} Wn&tk �r:|�r4||ƒw¢YnXttj| ƒƒ�pNd}t | d ƒ�rh| j|ƒ}nd}n^ytjj| ƒ}Wn&tk �r¤|�rž||ƒw¢YnX|j�r¼|jjƒdnd}t|d dƒ}|d|}|jƒj|ƒdkr¢||||ƒq¢W|�r|ƒdS) NFÚ__main__rrrrz - )rÃÚ get_sourceÚ get_filenamerV)rÝr�rr¯r°rUrrÁr:rÇÚ _get_specr±r†rcrÈrKr…rŸÚStringIOrÉrŠr•r–r³r˜r<)r>rÂrGZ completerrÃÚseenr'r(r€rDrErœr†Úsourcerr�rrrrÆs`       zModuleScanner.run)NNN)r%r&r[rÆrrrrrÅsrÅc CsDdd„}dd„}tjƒ�"tjdƒtƒj|||d�WdQRXdS)NcSs6|dd…dkr |dd…d}t||o.d|ƒdS)NrÀz .__init__z (package)z- i÷ÿÿÿi÷ÿÿÿ)rÃ)rr'r€rrrrÂPszapropos..callbackcSsdS)Nr)r'rrrrÃTszapropos..onerrorÚignore)rÃ)ÚwarningsÚcatch_warningsÚfilterwarningsrÅrÆ)rGrÂrÃrrrrÄNs   rÄcs ddl‰ddl‰ddl‰ddl‰Gdd„dˆjjƒ‰G‡fdd„dˆjjƒ‰G‡‡‡‡‡fdd„dˆjƒ}|||ƒ}|jƒx|j rš|j ršt j dƒq~W|S) Nrc@seZdZdd„Zdd„ZdS)z!_start_server..DocHandlercSsX|jjdƒrd}nd}|jdƒ|jdd|ƒ|jƒ|jj|j|j|ƒjdƒƒdS)Nz.cssztext/cssz text/htmléÈz Content-Typez%s; charset=UTF-8zutf-8) rrbZ send_responseZ send_headerZ end_headersZwfiler¡Ú urlhandlerr©)r>Ú content_typerrrÚdo_GET›s   z(_start_server..DocHandler.do_GETcWsdS)Nr)r>rÅrrrÚ log_message«sz-_start_server..DocHandler.log_messageN)r%r&r[rÕrÖrrrrÚ DocHandler™sr×cs(eZdZdd„Z‡fdd„Zdd„ZdS)z _start_server..DocServercSs6d|_|j|f|_||_|jj||j|jƒd|_dS)NZ localhostF)ÚhostZaddressrÂrIrzÚhandlerr�)r>ÚportrÂrrrrz±s  z)_start_server..DocServer.__init__csBx4|js4ˆj|jjƒgggdƒ\}}}|r|jƒqW|jƒdS)Nr)r�ÚselectZsocketr´Zhandle_requestZ server_close)r>ZrdÚwrZex)rÛrrÚserve_until_quit¸s  z1_start_server..DocServer.serve_until_quitcSs |jj|ƒ|jr|j|ƒdS)N)rIÚserver_activaterÂ)r>rrrrÞ¿s z0_start_server..DocServer.server_activateN)r%r&r[rzrÝrÞr)rÛrrÚ DocServer¯s rßcs:eZdZ‡fdd„Z‡‡‡‡fdd„Zdd„Zdd„Zd S) z#_start_server..ServerThreadcs,||_t|ƒ|_ˆjj|ƒd|_d|_dS)NF)rÓrrÚÚThreadrzÚservingÚerror)r>rÓrÚ)Ú threadingrrrzÆs   z,_start_server..ServerThread.__init__cstyFˆjjˆ_ˆˆ_ˆjjˆ_t|jƒˆ_ˆ|j |j ƒ}||_ |j ƒWn(t k rn}z ||_WYdd}~XnXdS)N)ÚserverÚ HTTPServerrIrÙrÊZMessageZ MessageClassÚ staticmethodrÓrÚÚreadyÚ docserverrÝrKrâ)r>ZdocsvrÚe)r×rßÚemailÚhttprrrÆÍs    z'_start_server..ServerThread.runcSs,d|_|j|_|j|_d|j|jf|_dS)NTz http://%s:%d/)rárØZ server_portrÚr)r>rärrrrçÚsz)_start_server..ServerThread.readycSs&d|j_|jƒd|_d|_d|_dS)NTF)rèr�r!rár)r>rrrÚstopàs z(_start_server..ServerThread.stopN)r%r&r[rzrÆrçrìr)r×rßrêrërãrrÚ ServerThreadÄs  ríg{®Gáz„?) Z http.serverZ email.messagerÛrãräZBaseHTTPRequestHandlerråràr$râráÚtimeZsleep)rÓrÚríZthreadr)r×rßrêrërÛrãrÚ _start_server\s8& rïú text/htmlc sG‡fdd„dtƒ}|ƒ‰‡fdd„‰‡fdd„‰‡fdd„‰‡fd d „‰‡fd d „‰‡fd d„‰‡fdd„‰‡fdd„‰‡‡‡‡‡‡‡‡fdd„}|jdƒrª|dd…}|dkrôtjjtjjtƒƒ}tjj||ƒ}t|ƒ�}dj|j ƒƒSQRXn|dk�r||ƒSt d||fƒ‚dS)NcseZdZ‡fdd„ZdS)z_url_handler.._HTMLDoccsd}d|}d||ˆƒ|fS)Nzpydoc_data/_pydoc.cssz1a  Pydoc: %s %s%s
%s
r)r>rûrüÚcss_pathZcss_link)Ú html_navbarrrrýþsz#_url_handler.._HTMLDoc.pageN)r%r&r[rýr)ròrrÚ_HTMLDocüsrócs>ˆjdtjƒtjƒdtjƒfƒ}d|ˆjtjdd�ƒfS)Nz %s [%s, %s]raZ
Python %s
%s
T)Zterse)rîr“Zpython_versionZ python_buildZpython_compiler)rA)rÅrrrò s  z!_url_handler..html_navbarcsˆdd„}ˆjdddƒ}dd„tjDƒ}ˆj||ƒ}|dˆjd dd |ƒg}i}x tjD]}|jˆj||ƒƒqVW|jd ƒd d j|ƒfS)NcSs d||fS)Nz%sr)r(rrrÚ bltinlink, sz3_url_handler..html_index..bltinlinkz7Index of Modulesz#ffffffz#7799eecSsg|]}|dkr|‘qS)rÇr)rkr(rrrr®2 sz4_url_handler..html_index..z

zBuilt-in Modulesz#ee77aaz|

pydoc by Ka-Ping Yee<ping@lfw.org>zIndex of Modulesr) rrr¯rrrr ror!)rôrÚnamesrürÌr)rÅrrÚ html_index) s  z _url_handler..html_indexc s¬g‰‡fdd„}tjƒ�*tjdƒdd„}tƒj|||d�WdQRXdd„}g}ˆjd d d ƒ}x"ˆD]\}}|j||ƒ|ƒqhW|ˆjd |d d dj|ƒƒ}d|fS)Ncs:|dd…dkr |dd…d}ˆj||o0d|fƒdS)NrÀz .__init__z (package)z- i÷ÿÿÿi÷ÿÿÿ)r )rr'r€)Ú search_resultrrrÂG sz3_url_handler..html_search..callbackrÎcSsdS)Nr)r'rrrrÃN sz2_url_handler..html_search..onerror)rÃcSs d||fS)Nz%sr)r(rrrrôS sz4_url_handler..html_search..bltinlinkz5Search Resultsz#ffffffz#7799eezkey = %sz#ee77aaz
zSearch Results) rÏrÐrÑrÅrÆrr rr!) rGrÂrÃrôrhrr(r€rü)rÅ)r÷rÚ html_searchB s    z!_url_handler..html_searchcsLdd„}ˆjdddƒ}ttjjƒƒ}ˆj||ƒ}|ˆjddd|ƒ}d|fS)NcSs d||fS)Nz%sr)r(rrrrôc sz4_url_handler..html_topics..bltinlinkz,INDEXz#ffffffz#7799eeZTopicsz#ee77aa)rr­rËr£rDrr)rôrrõrü)rÅrrÚ html_topics` s z!_url_handler..html_topicscsLˆjdddƒ}ttjjƒƒ}dd„}ˆj||ƒ}|ˆjddd|ƒ}d|fS)Nz,INDEXz#ffffffz#7799eecSs d||fS)Nz%sr)r(rrrrôw sz6_url_handler..html_keywords..bltinlinkZKeywordsz#ee77aa)rr­rËr¡rDrr)rrõrôrü)rÅrrÚ html_keywordsp s z#_url_handler..html_keywordscs´tjƒ}t||ƒ}|j|ƒ\}}||jkr0d}nd}ˆjd|ddƒ}dˆj|ƒ}ˆj|dd|ƒ}|r˜t|j ƒƒ}dd „}ˆj ||ƒ}ˆj d dd|ƒ}d ||fd j |||fƒfS) NZKEYWORDZTOPICz)%sz#ffffffz#7799eez

%s
z#ee77aacSs d||fS)Nz%sr)r(rrrrô� sz7_url_handler..html_topicpage..bltinlinkzRelated help topics: z%s %sr) rŸrËrËr½r¡rr'rr­rrrr!)r¶ÚbufZhtmlhelprür»rûrrô)rÅrrÚhtml_topicpage s&      z$_url_handler..html_topicpagecs@t|dd�}|dkr$|dkr$tdƒ‚t|ƒ}ˆj||ƒ}||fS)Nr)rµrðzcould not find object)r½rer»rÆ)rr9rûÚcontent)rÅrrÚ html_getobj™ s   z!_url_handler..html_getobjcsPˆjdddƒ}dj‡fdd„tt|ƒ|ƒDƒƒ}|ˆj|dd|ƒ}d||fS) Nz,Errorz#ffffffz#7799eez
c3s|]}ˆj|ƒVqdS)N)rî)rkr„)rÅrrrm¥ sz3_url_handler..html_error..z#bb0000z Error - %s)rr!rrÉr)rr rrü)rÅrrÚ html_error¡ s z _url_handler..html_errorcst|}|jdƒr|dd …}�y|d kr4ˆƒ\}}�nþ|dkrHˆƒ\}}nê|dkr\ˆƒ\}}nÖd|k�r&|jdƒ\}}}|dkrŒˆ|ƒ\}}n˜|d krÈyˆ|ƒ\}}Wn tk rĈ|ƒ\}}YnXn\|d k�r|dkr戃\}}n4yˆ|ƒ\}}Wn"tk �rˆ|ƒ\}}YnXntd ƒ‚n ˆ|ƒ\}}Wn2tk �rf}zˆ||ƒ\}}WYdd}~XnXˆj||ƒS)Nz.htmlérror£r¡raz search?keyz topic?keyzget?keyz bad pydoc urléûÿÿÿ)rro)rro)rbr¾rerKrý)rZ complete_urlrûrýÚopr_r )rÅrÿrþrörúrørürùrrÚ get_html_page« s>         z#_url_handler..get_html_pagerÚrztext/cssrz text/htmlz"unknown content type %r for url %s) rúrar rÚdirnameÚrealpathrVr!r‘Ú readlinesrt)rrÔrórZ path_hererñÚfpr) rÅrÿrþrörúròrørürùrÚ _url_handlerós*         (    rT)Ú open_browsercCsàddl}tt|ƒ}|jr&t|jƒdS|jrÜd}|r@|j|jƒz‚y^td|jƒt|ƒxD|jrœtdƒ}|j ƒ}|dkr|PqZ|dkr’|j|jƒqZt|ƒqZWWnt t fk r¾tƒYnXWd|jrÚ|j ƒtdƒXdS)Nrz"Server commands: [b]rowser, [q]uitzServer ready atzserver> r­r°zServer stopped) Ú webbrowserrïrrârÃrár‘rr”rÝr¢rŸrì)rÚr r Z serverthreadZserver_help_msgr¤rrrÚbrowseà s2    r cCst|tƒo|jtjƒdkS)Nr)rÁr7rÁr Úsep)rNrrrÚispath sr cCsddl}Gdd„dtƒ}dtjkrXtjjtjdƒ}|tjkrJtjj|ƒtjjddƒ�yp|jtjdd…dƒ\}}d}d}d}d}xP|D]H\} } | d kr¤d }d }| d kr¸t | ƒdS| d krÈd }| }| d krŒd }qŒW|rø|dkrèd}t ||d�dS|�s|‚xÄ|D]¼} t | ƒ�r4tjj | ƒ �r4t d| ƒPy`t | ƒ�rVtjj| ƒ�rVt| ƒ} |�rˆt | ƒ�r~tjj| ƒ�r~t| ƒnt| ƒn tj| ƒWn,tk �rÀ} zt | ƒWYdd} ~ XnX�qWWnN|j|fk �rtjjtjjtjdƒƒd} t dj| tjd�ƒYnXdS)Nrc@s eZdZdS)zcli..BadUsageN)r%r&r[rrrrÚBadUsage srrrrzbk:p:wFz-bTz-kz-pz-w)r zfile %r does not exista�pydoc - the Python documentation tool {cmd} ... Show text documentation on something. 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 contains a '{sep}', 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. {cmd} -k Search for a keyword in the synopsis lines of all available modules. {cmd} -p Start an HTTP server on the given port on the local machine. Port number 0 can be used to get an arbitrary unused port. {cmd} -b Start an HTTP server on an arbitrary unused port and open a Web browser to interactively browse documentation. The -p option can be used with the -b option to explicitly specify the server port. {cmd} -w ... Write out the HTML documentation for a module to a file in the current directory. If contains a '{sep}', it is treated as a filename; if it names a directory, documentation is written for all the contents. )r¤r )ÚgetoptrKrrr rÚargvÚremoveÚinsertrÄr r ÚexistsrÃr{r¬r rÊrÆrrŸrâr¨r§r r )rrZ scriptdirZoptsrÅZwritingZ start_serverr rÚÚoptÚvalÚargrHr¤rrrÚcli sd        $rrÇ)NN)r)r)r¿rN)r¿rN)r)rN)rð)r)Wr4rPrTrSr[Zimportlib._bootstraprŠZimportlib._bootstrap_externalZimportlib.machineryÚimportlib.utilrrŸr r:r“rrrîr�Z urllib.parser5rÏÚ collectionsrÚreprlibrÚ tracebackrrrr$r)r-r/r3rÚ IGNORECASEr4r5r:r?rCrOrerfrwr}r…ržrKrŸr¬r¸r¹rârúrqrrr„r†r…rŠrŽr‰r«r–r‘r»r½r.rÂrÅr¾rÁr"rÆrÊrËrrÅrÄrïrr r rr%rrrrÚ%s¸           ' 0>*- d" ,    = n%V