Ë ¡üíª Ð…;ãóŒ—ddlmZddlmZmZmZmZmZm Z ddl mZm Z Gd„d«Z d„Z d„Zdd „Zd „Z dd „Zdd „Zd„Zd„Zy )é)Úgetattr)ÚcontextÚdagopÚ extensionsÚhgwebÚpatchÚutilé)rÚrevmapcóL—eZdZdZd„Zd„Zd„Zejd„«Z d„Z y)Ú _lazyfctxzusr/lib/python3.12/site-packages/hgext/fastannotate/support.pyÚ__init__z_lazyfctx.__init__s€ØˆŒ ؈Œ ؈� ócó—|jSr)r©rs rrz_lazyfctx.node!ó €Ø�z‰zÐrcó—|jSr)rrs rrz_lazyfctx.path$rrcól—tj|j|j|j«Sr)rÚ resolvefctxrrrrs rÚ_fctxz_lazyfctx._fctx's#€ä×"Ñ" 4§:¡:¨t¯z©z¸4¿:¹:ÓFÐFrcó.—t|j|«Sr)rr )rÚnames rÚ __getattr__z_lazyfctx.__getattr__+s€Ü�t—z‘z 4Ó(Ð(rN) Ú__name__Ú __module__Ú __qualname__Ú__doc__rrrr Ú propertycacher r#©rrr r s5„ÙFòò òð ×ÑñGóðGó)rr cóâ—g}i}tj}t|«D]L\}\}}} || f|vrt||| «||| f<|dz} ||| f} ||} |j || | | ¬««ŒN|S)z7convert fastannotate outputs to vanilla annotate formatr )ÚfctxÚlinenoÚtext)rÚ annotatelineÚ enumerater Úappend) rÚ annotatedÚcontentsÚresultsÚfctxmapr.ÚiÚhshÚlinenumrr,r+Úlines rÚ_convertoutputsr9/s“€ð€GØ€GÜ×%Ñ%€LÜ#,¨YÖ#7ÑˆÑ ˆC�˜$Ø �ˆ;˜gÑ %Ü#,¨T°3¸Ó#=ˆG�S˜$�KÑ à˜1‘ˆØ˜˜T�{Ñ#ˆØ˜‰{ˆØ�‰‘|¨°fÀ4ÔHÕIð$8ð €NrcóV—|jjjdd«xsdS)z (fctx) -> strs fastannotates mainbranchsdefault)rÚuiÚconfig)r+s rÚ _getmasterr=As"€à �:‰:�=‰=× Ñ  °Ó ?Ò MÀ:ÐMrNcó—t|«}tj|||«5} |j|j «|dd¬«\}}ddd«rsJ‚t|j||«S#t $r{|j «|jjjd|jz« |j|j «|dd¬«\}}n#t $r‚wxYwYŒ¨wxYw#1swYŒ­xYw)zÃlike the vanilla fctx.annotate, but do it via fastannotate, and make the output format compatible with the vanilla fctx.annotate. may raise Exception, and always return line numbers. T)ÚmasterÚshowpathÚ showliness*fastannotate: %s: rebuilding broken cache N) r=rÚfctxannotatecontextÚannotateÚrevÚ ExceptionÚrebuildrr;Údebugrr9)r+ÚfollowÚdiffoptsr?Úacr1r2s rÚ _doannotaterKFsý€ô ˜Ó €Fä × $Ñ $ T¨6°8Ô <Àð Ø"$§+¡+Ø—‘“  6°DÀDð#.ó#Ñ ˆI�x÷ =ñ" ™Ð!Ð !Ü ˜4Ÿ:™: y°(Ó ;Ð;øôò Ø �J‰JŒLØ �J‰J�M‰M× Ñ Ø>ÀÇÁÑKô ð Ø&(§k¡kØ—H‘H“J v¸Èð'2ó'Ñ#� ™8øôò Øð úñ$ð ú÷ =Ð <úsA£C7¥&A0Á0A C4Â<&C#Ã"C4Ã# C.Ã.C4Ã1C7Ã3C4Ã4C7Ã7DcóN—tj|ddd¬«}t||¬«S)NTóannotate)Ú untrustedÚsectionÚ whitespace)rI)rÚdifffeatureoptsrK)Úorigr+r;rIs rÚ_hgwebannotaterSbs*€Ü×$Ñ$Ø �d K¸Dô€Hô �t hÔ /Ð/rcóЗ|r ||||||¬«S t|||«S#t$r>}|jjj d|z«|||||¬«cYd}~Sd}~wwxYw)N)ÚskiprevsrIs7fastannotate: falling back to the vanilla annotate: %r )rHrUrI)rKrErr;rG)rRrrHÚ linenumberrUrIÚexs rÚ _fctxannotaterXisw€ñáØ �&˜*¨xÀ(ô ð ðOܘ4 ¨Ó2Ð2øÜ òOØ � ‰ � ‰ ×ÑØ GÈ"Ñ Lô ñ�D °(ÀXÔNÕNûð Oús‘ ž A%§3A ÁA%Á A%có²—tj|||«5}tj|j«}ddd«|||||¬«S#1swYŒxYw)N)rUrIÚ prefetchskip)rrBr Ú revmappath)rRrrHrUrIrJÚskipsets rÚ_remotefctxannotater]zsN€ä × $Ñ $ T¨6°8Ô <ÀÜ—-‘- § ¡ Ó.ˆ÷ =á Ø ˆf˜x°(Èô ð÷ =Ð <ús ˜ A Á AcóV—tjtjdt«y©NrM)rÚ wrapfunctionrÚwebutilrSr)rrÚreplacehgwebannotaterbƒs€Ü×ÑœEŸM™M¨;¼ÕGrcóV—tjtjdt«yr_)rr`Ú hgcontextÚ basefilectxrXr)rrÚreplacefctxannotaterf‡s€Ü×ÑœI×1Ñ1°;Ä ÕNr)TN)FFNN)FNN)Úmercurial.pycompatrÚ mercurialrrdrrrrr Úr r r9r=rKrSrXr]rbrfr)rrÚrjsVðõ'÷÷÷÷ )ñ)ò,ò$Nó <ò80ðIMóOó"òHóOr