\x89\x50\x4E\x47\x0D\x0A\x1A\x0A PNG  \x89\x50\x4E\x47\x0D\x0A\x1A\x0A  13\c@@sddlmZddlZddlZddlZddlZddlmZddlm Z m Z m Z m Z m Z mZmZddlmZmZmZe jZe jZe jZdZdZd Zd Ze jZe jZd Zeje jd e fd YZ!dZ"dZ#dZ$dZ%iid$d6ej&d6ej'd6ej(6Z)dZ*dZ+dZ,dZ-dZ.dZ/eje jde fdYZ0de0fd YZ1d!Z2d"e fd#YZ3dS(%i(tabsolute_importNi(t_(tencodingterrortpycompattutiltwireprototypestwireprotov1servertwireprotov2server(tcborutilt interfaceutiltprocutilisapplication/mercurial-0.1sapplication/mercurial-0.2sapplication/hg-errorcC@srg}d}xVtrd|jjd||f}|dkrAPn|jtj||d7}qWdj|S(sjDecode a long value from multiple HTTP request headers. Returns the value as a bytes, not a str. is%s-%dtN(tTruetheaderstgettNonetappendRtbytesurltjoin(treqt headerprefixtchunkstitv((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pytdecodevaluefromheaders,s  thttpv1protocolhandlercB@sqeZdZedZdZdZdZdZe j dZ dZ dZ d ZRS( cC@s(||_||_||_d|_dS(N(t_reqt_uit _checkpermRt _protocaps(tselfRtuit checkperm((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyt__init__>s   cC@sdS(Nshttp-v1((R((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pytnameDscC@s|j}i}|j}x|D]{}|dkri}xA|jD]3}|dkrJ||krJ||d||sscompression=%s( RR t configintt configboolRtsupportedcompenginesRt SERVERROLER(Rtrepotcapst compenginest comptypes((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pytaddcapabilitiess       cC@s |j|S(N(R(Rtperm((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyR!s(t__name__t __module__R"tpropertyR#R/R&R>RBt contextlibtcontextmanagerRIRNR`R!(((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyR<s      cC@s |tjkS(N(Rtcommands(R%((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pytiscmdsc @s?ddlm}j}djkr,tSjd}t|sItSjr|jd|_t |j d<|j d t St |jfd}yt||||Wnx|jk r:}x$|j D]\} } | |j | ss 0 Not Found (thgwebRiR\R1tFalseRht dispatchpatht statusmessagetstatustHGTYPERt setbodybytesR RR t _callhttpt ErrorResponsetcodeRtbytestr( RjRtresR!t hgwebcommonR\R%tprotoRWR,R((R!RjRs?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pythandlewsgirequests,       !cC@s_t}xOtjD]A\}}|d\}}|jj||r|j|qqW|S(Ntconfig(R<t API_HANDLERStitemsR RYtadd(R\tapisR,Rtsectiontoption((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyt_availableapiss  cC@s|j}|jjddsKd|_d|jd<|jtddSt|}|jdgkrd |_d|jd, where can be one of the following: s(no available APIs) s isUnknown API: %s Known APIs: %ss, sAPI %s not enabled thandleri(R\R RYRpRRrRRt dispatchpartstextendtsortedRRR|(RjRRwR!R\t availableapistlinesRy((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pythandlewsgiapirequests<             RRsweb.api.http-v2R{Rt apidescriptorcC@sd|jkr|r+ttjifStj|}x}tj|tjD]c}|j j |krPi}|j dd|j }|dk r||dtHGTYPE2Rt _noopengineRtclientcompressionsupportRRZR[RUR#RXRRqR^(R Rytprefer_uncompressedt compformatstenginetoptsR((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyt_httpresponsetype9s  c C@sE|jjddstSt|d}t|d}| sE| rItSt|jd}d|krntSi}xbtt|jt|@D]>}t|}|j d} | sqn| ||||t |tjr|j}t|j||j\} } } | j|| }| tkr||| | }n|t| d|nt |tjrd |j|jf}|ttd|n{t |tjr-d |j}t_ |ttd|n=t |tj!rX|ttd|j"nt#j$d |dS( Ni(Rics@sE|jj}tjdt|V|Vx|D] }|Vq2WdS(NtB(RUR#tstructtpacktlen(tgenRt engineoptsR#tchunk((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyt genversion2s  c@ss|tkrd_nj|_|jd<|dk rSj|n|dk roj|ndS(Ns200 Script output followss Content-Type(tHTTP_OKRpRoRRRrt setbodygen(Rut contenttypet bodybytestbodygen(RxRw(s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyt setresponses     s:requested wire protocol command is not available over HTTPRRRs%d %ss0 %s shgweb.protocol internal failure(%RlRiRRRgtcommandavailableRt HGERRTYPERR!t permissionRRt isinstancetbytesRqRt bytesresponseR+tstreamreslegacyRt streamresRR RtcompressstreamRtpushresRwtoutputtpusherrR tdraintooberrortmessageRtProgrammingError( R\RRwRyR%RRtrspRt mediatypeRR((RxRws?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyRssH         cC@s2|jdt||j||jdS(s-Send a bytes response for protocol version 1.s%d N(twriteRtflush(RCR=((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyt_sshv1respondbytess cC@s5|j}x|jD]}||qW|jdS(N(RRR(RCtsourceRR((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyt_sshv1respondstreams cC@s6|jd||j|jd|jdS(Ns%s - s (RR(RCRDR((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyt_sshv1respondooberrors  tsshv1protocolhandlercB@sneZdZdZedZdZdZdZe j dZ dZ dZ d ZRS( s<Handler for requests services via version 1 of SSH protocol.cC@s+||_||_||_t|_dS(N(Rt_fint_foutR<R(RR tfinRC((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyR"s   cC@stjS(N(RtSSHV1(R((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyR#sc C@sBi}|j}xtjt|D]}|jjd }|j\}}||kr{tjtd|n|dkri}xdtjt |D]M} |jjd }|j\}}|jj t |} | || scc@s\t|jdt|jj}x0|rW|jj|Vt|jj}q(WdS(NR (RRR3RRR8(Rtcount((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyRB s  cc@s dVdS(N(R(R((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyRIscC@s-tjjddjddd}d|S(Nt SSH_CLIENTR R;iis remote:ssh:(RtenvironRR'(RRN((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyRN s%cC@s3|jtjkr"|jdn|jd|S(NRRO(R#RRR(RR\R]((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyR`$s cC@sdS(N((RRa((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyR!*s(RbRct__doc__R"RdR#R/R>RBReRfRIRNR`R!(((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyRs      tsshv2protocolhandlercB@s&eZdZedZdZRS(s3Protocol handler for version 2 of the SSH protocol.cC@stjS(N(RtSSHV2(R((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyR#0scC@s|S(N((RR\R]((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyR`4s(RbRcRRdR#R`(((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyR-scC@sd}t|||}t}x||js|dkr|jd }|s[d}q!n|jdr|rt||jdd}q!nd}q!ntjj ||} | st |dq!ntj |||} t | t rt || qt | tjr"t || jqt | tjrDt|| qt | tjrft|| qt | tjrt |dt |d| jqt | tjrt || jqt | tjrt||j| jqtjd | q!|d krd}q!q!|dkry|jd d \} } Wn'tk rlt |dd}q!nX|jd dst |dd}q!nytj| } Wn'tk rt |dd}q!nX| j ddgd} t!| krt |dd}q!nd}q!q!|dkrt"}xQd D]I}|jd }||kr8t||jd|t}d}Pq8q8W|sq!n|j#d}|dddddfkrt||jdd}q!nd}q!q!|dkrv|j$d| t!ftj%||}d|j} |j$dt&| | f|j't(|||}t"}d }q!q!|dkrPq!tjd|q!WdS(!Nsprotov1-servingitshutdownsupgrade s'cannot upgrade protocols multiple timessupgrade-initialR s%ds6unhandled response type from wire protocol command: %ssprotov2-servingR;iRRssshserver.support-v2Ryis"upgrade-v2-filter-legacy-handshakethellotbetweenspairs 81s(malformed handshake protocol: missing %siQs%s-%st0i(s<malformed handshake protocol: missing between argument valuesupgrade-v2-finishsupgraded %s %s scapabilities: %ss%d %s sunhandled ssh server state: %s(RRspairs 81()RRmtis_setRt startswithRRDRRgRRRRRRRR+RRRRRwRRRRRR't ValueErrorRYR5R6RRR R8RRRRR(R R\RRCtevtstateRyt protoswitchedtrequestt availableRttokenR]t wantedprotostoktlinet servercaps((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyt _runsshserver7s5                           t sshservercB@s&eZddZdZdZRS(cC@s||_||_tj|j|j\|_|_|j|jf|j|jfk|_|rt j ||jddt |_t j ||j ddt |_ ndS(NtotlogdataRW( Rt_repoR t protectstdioRRCRRt_finoutredirectedRtmakeloggingfileobjectR RD(RR R\tlogfh((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyR"s  $'cC@sL|jtjtj|jj|jj|j|j t j ddS(Ni( t serveuntilt threadingtEventR t restorestdioRRRCRRtsystexit(R((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyt serve_foreverscC@s&t|j|j|j|j|dS(s%Serve until a threading.Event is set.N(RRRRR(RR((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyR"sN(RbRcRR"RR(((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pyR s  (RRsweb.api.http-v2(4t __future__RReRRRti18nRR RRRRRRRtutilsR R R REturlerrR5RRqRRRRRt implementertbaseprotocolhandlertobjectRRhRzRRthandlehttpv2requestthttpv2apidescriptortHTTP_WIREPROTO_V2R|RRRsRRRRRRR(((s?/usr/lib64/python2.7/site-packages/mercurial/wireprotoserver.pytsN    4       f  B =  ! 0 K   E