\x89\x50\x4E\x47\x0D\x0A\x1A\x0A PNG  \x89\x50\x4E\x47\x0D\x0A\x1A\x0A  13\c @@sddlmZddlZddlZddlZddlmZddlmZm Z ddl m Z m Z m Z mZmZmZmZmZmZmZddlmZmZmZdZejZejZdZd Zd Z d Z!d Z"d Z#dZ$ej%ej&de'fdYZ(dZ)dZ*dZ+dddddZ-de.dZ/dZ0dZ1e-ddddZ2e-ddddZ3e-dd iid!d"6id#d"6d$gd%6gd&6d'6id(d"6e4d)6d*d+hd&6d,d*d-d+hd.6d/6ddd0Z5d1e6fd2YZ7d3Z8d4Z9d5Z:e-d6d iid7d"6d8d)6e;d&6d96id!d"6d:gd&6d%6id(d"6e4d)6d*d+hd&6d*d+d;hd.6d/6id<d"6d=d&6d>6ddd?e/d6dd@e;dAZ<dBZ=e-dCd iid7d"6dDd)6e;d&6d96id(d"6e4d)6d*d+hd&6dEd;d*d+hd.6d/6idFd"6dGd)6idHgdI6d&6dJ6id!d"6id#d"6d$gd%6gd&6d'6ddd?e/dCdd@e;dKe=dLZ>e-dMd iid7d"6dNd)6e.d&6dO6dddPZ?e-dQd iid!d"6e@d)6dRgd&6d%6dddSZAe-dTd iid<d"6dUd&6dV6dddWZBe-dXd iid<d"6dYd&6dZ6ddd[ZCd\ZDe-d]d iid!d"6d:gd&6d%6id7d"6d^d)6e;d&6d96id(d"6e4d)6d*d+hd&6d*d+hd.6d/6id<d"6d_d&6d`6ddd?e/d]dd@e;dKeDdaZEe-dbd iid<d"6dUd&6dV6id<d"6dZd&6dZ6id<d"6dcd&6dc6id<d"6ddd&6dd6dddeZFe-dfd iid!d"6dgdhgd&6di6id!d"6djd)6idHgdI6d&6dJ6dddkZGdS(li(tabsolute_importNi(t_(thextnullid( t discoverytencodingterrortmatcht narrowspectpycompatt streamclonetutiltwireprotoframingtwireprototypes(tcborutilt interfaceutilt stringutils&application/mercurial-exp-framing-0006cC@sKddlm}|sCd|_d|jd<|jtddSt|dkrd|_d|jd<|jtd|jdS|d d !\}}|dkrd|_d|jd<|jtd |dS|jdkrd|_d|jd<|jtddSy&||||d kr3dndWnl|j k r}|j |j t j ||_x$|jD]\} } | |j| sreceived: %d %d %d %st sort_keyst separatorss, s: tactions200 OKs (s, s: (s, s: (tjsont configboolRRRRR t serverreactortTruet readframetbodyfhtappendttypeidtflagst requestidtpayloadt onframerecvtdumpst oninputeoftjoin( R(R'R0R1RAtreactortstatestframeR@tmeta((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pyR&s2      "  c C@stj|dt}t}d} xtrtj|j} | sFPn|j| \} } | dkrmq$q$| dkr| s|j} nt |||||||| | d| } | rdSt}q$| dkrd|_ d|j d <|j | d d dSt jd | q$W|j\} } | d kred|_ t|j d <|j| dn"| dkrtnt jd | dS(sPost-validation handler for HTTPv2 requests. Called when the HTTP request contains unified frame-based protocol frames for evaluation. t deferoutputt wantframet runcommandt issubsequentNRs200 OKs text/plains Content-Typetmessages s)unhandled action from frame processor: %st sendframestframegentnoop(R RCRDtFalsetNoneRERFRLtmakeoutputstreamt_httpv2runcommandRRRRtProgrammingErrorRNR-t setbodygen(R(R'R0R1t authedpermt reqcommandR;RPt seencommandt outstreamRRR@RSt sentoutput((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pyR.sF              c C@st||d|d} |dkrtj|d| spd|_d|jd<|jtd|dtS|dkstt|d} | j dkst|dkrh| j d krhd |_d|jd<|jtd |dtSnp| r+d|_d|jd<|jtdtS||dkrhd|_d|jd<|jtdtSd|_t |jdnsNttargetsthashestredirecttargetstredirecthashesRs(RvR)RxRgtgetargst cachekeyfntmakeresponsecacherRt streamencodeR]t setcachekeytlookuptonobjectt onfinished( R'R;R6Rhtentrytspect callcommandtoR|R}tcachertcachekeytcached((RgRxR;R'sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pyRj]sN              R*cB@skeZd dZedZdZdZdZe j dZ dZ dZ dZRS( cC@s||_||_||_dS(N(t_reqt_uit_args(tselfR0R(Rg((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pyt__init__s  cC@stS(N(tHTTP_WIREPROTO_V2(R((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pytnamesc@s*t|jt}|rDtjddjt|nfdDt|j}|rtjddjt|ni}xtjD]w\}}||jkr|d||s smissing required arguments: %stdefaultttypetset( RRRRlROtsortedtitemst isinstancetlist(RRgtextratmissingtdataR8RSR9((RgsA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pyR~s&# cC@stS(N(R(R((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pyt getprotocapsscC@s tdS(N(tNotImplementedError(R((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pyt getpayloadscC@s tdS(N(R(R((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pytmayberedirectstdioscC@s tdS(N(R(R((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pytclientscC@s|S(N((RR'tcaps((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pytaddcapabilitiesscC@s tdS(N(R(Rtperm((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pyR2sN(t__name__t __module__R]RtpropertyRR~RRt contextlibtcontextmanagerRRRR2(((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pyR*s  %    cC@st||j}t||S(N(R*R(t_capabilitiesv2(R0R'R;((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pythttpv2apidescriptorsc C@siid6tgd6ttjd6}xtjD] \}}i}x~|jjD]m\}}i|dd6|dd6||<|ds|d||ds RRsCinvalid wire protocol permission; got %s; expected "push" or "pull"s:arguments for version 2 commands must be declared as dictst*s1* argument name not allowed on version 2 commandss@arguments for version 2 commands must declare metadata as a dictRs6%s argument for command %s does not declare type fieldtbytestintRtdictRtbools/%s argument for command %s has illegal type: %stexamples9%s argument for command %s does not declare example fieldRRcS@sdS(N(R](((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pyRysRc @sWtkr"tjdntj|dddddt<|S(Ns+%s command already registered for version 2Rgt transportsR5RR(R)RR`R t commandentry(Rx(RgRRRR5R(sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pytregisters   (RRN(RRRRRR( R t TRANSPORTSRRR`R]RRt setdefault(RRgR5RRRRSR((RgRRRR5RsA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pytwireprotocommandUs84            c@sOstjdndkr6tjdnfd}|S(szConstruct a cache key derivation function with common features. By default, the cache key is a hash of: * The command name. * A global cache version number. * A local cache version number (passed via ``localversion``). * All the arguments passed to the command. * The media type used. * Wire protocol version string. * The repository path. s(only allargs=True is currently supporteds$must set localversion argument valuec@st}|jdkrdSitd6d6tjd6td6td6|jd6}rutj ||d} |j | }||krE|j||j|qEqEWqI|d kryx2dD]*} | |krtjd| fqqW|dstjdn|d rg|d D]} || r| ^q} n t g} xet j || |djD]/} | |krC|j| |j| qCqCWqItjd|fqIW|S(s8Resolve nodes from a revisions specifier data structure.s%revisions must be defined as an arrayRs*type key not present in revision specifiertchangesetexplicittnodess=nodes key not present in changesetexplicit revision specifiertchangesetexplicitdepthtdepths?%s key not present in changesetexplicitdepth revision specifiersancestors(%ln, %d)itchangesetdagrangetrootstheadss:%s key not present in changesetdagrange revision specifiers.heads key in changesetdagrange cannot be emptys#unknown revision specifier type: %s(RR(RR(t changelogthasnodeRRRRRlRGtaddtrevstnodeRRtoutgoingR( R't revisionstclt clhasnodetseenRRttypRRtrevtnR((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pyt resolvenodessd                       , #  t branchmapR5Rcc@sd|jjDVdS(NcS@s(i|]\}}|tj|qS((Rt fromlocal(RR8R9((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pys _s (Rt iteritems(R'R;((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pyt branchmapv2]st capabilitiescc@st||VdS(N(R(R'R;((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pytcapabilitiesv2bst changesetdataRgRRRs abcdef...RRRRRtparentstrevisiont bookmarkstphaseRtfieldscc@s.|j}t||}|j}|rF|jddtddnit|d6Vd|krgni}x9|jjD](\}} |j| t j |q}Wx3|D]+} i| d6} d|kr|j | | d}| j|}|| kr|| j| j|qqWqWndxa|D]Y} || j}x@|jjD],\} }| r||| j|q|q|WqSWit|d6td|jDd6Vxt|jD]\} }yt ||| } Wn+t k rA}t j |j |jnXi| d6t|d6V| j|dd|kd |}x"t|| ||D] }|VqWqWdS( Nc3@s!|]}|r|VqdS(N((Rtp(t filematcher(sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pys sc3@s|]}j|VqdS(N(R(RR(R(sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pys st totalpathscs@s|]}t|VqdS(N(R(RR9((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pys sR RRRR:(RRR7Rt collectionst defaultdictRtfilesRR RRRlRRgtlinkrevRRt manifestctxtreadRRtsumtvaluesR<R,(R'R;R9RR4RRt changedpathstfnodesRRtoutgoingclrevsRR=R7RRJtmctxtfnodet filenodesR((RREsA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pyRB[sR)       (      RcC@stS(N(R\(((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pyRyst publiconlycc@s'|r|jd}n|jVdS(Nt immutable(RuR(R'R;RU((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pytheadsv2s tknowntdeadbeefcc@s+djd|j|D}|VdS(NR/cs@s!|]}|rdndVqdS(t1t0N((RR((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pys s(RORX(R'R;Rtresult((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pytknownv2s "tlistkeystnst namespacecc@s7|jtj|}d|jD}|VdS(NcS@s1i|]'\}}tj|tj|qS((RR(RR8R9((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pys s (R^RttolocalR(R'R;R`tkeys((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pyt listkeysv2s RtfooRcc@s'tj|}|j|}|VdS(N(RRaR(R'R;RR((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pytlookupv2s cC@s |jjdd}i|d6S(NR=s*server.manifestdata.recommended-batch-sizeR>(R(R?(R'R;R@((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pytmanifestdatacapabilitiess  t manifestdatacC@stS(N(R\(((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pyRysR/ttreecc@s|jj|}xK|D]C}y|j|Wqtjk r[tjd|fqXqW|j|dd|kd|}it|d6Vx|D]} i| jd6} d|kr| j | j g| d           tpushkeytoldtnewcc@s?|jtj|tj|tj|tj|VdS(N(RkRRa(R'R;R`RRlRm((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pyt pushkeyv2Ts  RRRiRIcC@sdS(N(R](((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pyRyzsc #@stjs!tjdnt|}ddh}||}|rptjddjt|fnjtj j }WdQXg}d}xv|D]n\} d|krj drn!d|krj drnq|j d f|7}qWit |d 6|d 6VxW|D]O\} i| d 6d 6d6Vfd} tj| Vq=WdS(Nsstream clone is disabledRRisunknown file type: %ss, it 00changelogt 00manifestR=t filecountt totalsizetlocationRtsizec3@sJjddt,}x"tj|dD] }|Vq1WWdQXdS(Ntrbt auditpathtlimit(tsvfsR\R t filechunkiter(tfhR(RR'Rt(sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pyt getfiledatas(R RRRlRRORtlockRR=ttopfilesR0RGRR tindefinitebytestringresponse( R'R;RIR4t allowedfilest unsupportedR}t sendfilesRrt encodednameRsR{((RR'RtsA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pyRqs>        (Ht __future__RRGRRti18nRRRRR/RRRRR1RR R R R R tutilsRRRR-Rt commanddictR)RR<R&R.R_RvRjt implementertbaseprotocolhandlertobjectR*RRRR]RR\RRRRRRRRoRR R,R7RDR8RARBRWRR]RcReRfRgRnR(((sA/usr/lib64/python2.7/site-packages/mercurial/wireprotov2server.pytsX   F    ^ 0 > _  EC  D &  jJ H M  (    !      H     0