Ë iÐþ´8¼Cãó—ddlZddlZddlZddlZddlZddlmZddlmZm Z ddl m Z m Z m Z mZmZmZddlmZmZddlmZmZmZej0ZdadadadadZd„Zd „Z d „Z!Gd „d «Z"d „Z#d„Z$d„Z%Gd„d«Z&y)éN)Ú_)ÚbinÚhex)ÚerrorÚpycompatÚrevlogÚsshpeerÚutilÚwireprotov1peer)ÚhashutilÚprocutilé)Ú constantsÚ contentstoreÚ metadatastorecóª—ttj|«j««}tj j ||dd|dd|«S)Né©rr Úsha1ÚdigestÚosÚpathÚjoin)ÚreponameÚfileÚidÚpathhashs úHusr/lib/python3.12/site-packages/hgext/remotefilelog/fileserverclient.pyÚ getcachekeyr/sC€Ü”8—=‘= Ó&×-Ñ-Ó/Ó0€HÜ �7‰7�<‰<˜ (¨2¨A ,°¸¸° ¸bÓ AÐAócóš—ttj|«j««}tj j ||«S©Nr)rrrs rÚ getlocalkeyr#4s3€Ü”8—=‘= Ó&×-Ñ-Ó/Ó0€HÜ �7‰7�<‰<˜ "Ó %Ð%r cóB‡—Gˆfd„d|j«Š‰|_y)Ncó|•‡—eZdZejd„«Zejd„«Zd„Zˆˆfd„Zˆˆfd„Z ˆxZ S)ú!peersetup..remotefilepeercól‡‡—|jd«stjd«‚ˆˆfd„}‰‰dœ|fS)Nó x_rfl_getfiles5configured remotefile server does not support getfilecóv•—|jdd«\}}t|«rtj‰‰|«‚|S)Nór)ÚsplitÚintrÚ LookupError)ÚdÚcodeÚdatarÚnodes €€rÚdecodez?peersetup..remotefilepeer.x_rfl_getfile..decodeBs8ø€ØŸW™W U¨AÓ.‘ ��dÜ�t”9Ü×+Ñ+¨D°$¸Ó=Ð=Ø� r ©sfilesnode©ÚcapablerÚAbort)Úselfrr1r2s `` rÚ x_rfl_getfilez/peersetup..remotefilepeer.x_rfl_getfile;s;ù€à—<‘<Ð 0Ô1Ü—k‘kØLóðõ ð "¨DÑ1°6Ð9Ð 9r có`—|jd«stjd«‚d„}d|i|fS)Nsx_rfl_getflogheadss:configured remotefile server does not support getflogheadscó,—|r|jd«SgS)Nó )r+)r.s rr2zDpeersetup..remotefilepeer.x_rfl_getflogheads..decodeRs€Ù)*�q—w‘w˜u“~Ð2°Ð2r spathr4)r7rr2s rÚx_rfl_getflogheadsz4peersetup..remotefilepeer.x_rfl_getflogheadsJs;€à—<‘<Ð 5Ô6Ü—k‘kð,óðò  3ð˜T�? FÐ*Ð *r cóª—|dk7rytj|j«vrytj|d«sytj |j jvry|jd«}|r|g}ng}|jtj«|j jr;dj|j j«}d|z}|j|«|j jr;dj|j j«}d|z}|j|«dj|«|d<y)Ns getbundleÚ _localrepos bundlecapsr*sincludepattern=sexcludepattern=ó,)rÚNETWORK_CAP_LEGACY_SSH_GETFILESÚ capabilitiesr Ú safehasattrÚSHALLOWREPO_REQUIREMENTr>Ú requirementsÚgetÚappendÚBUNDLE2_CAPABLITYÚincludepatternrÚexcludepattern)r7ÚcommandÚoptsÚ bundlecapsÚpatternsÚ includecapÚ excludecaps rÚ_updatecallstreamoptsz7peersetup..remotefilepeer._updatecallstreamoptsWs€Ø˜,Ò&Øä×9Ñ9Ø×(Ñ(Ó*ñ+ðÜ×#Ñ# D¨,Ô7Øä×1Ñ1Ø—‘×3Ñ3ñ4ðàŸ™ -Ó0ˆJÙØ(˜\‘ à� ð × Ñ œi×9Ñ9Ô :Ø�‰×-Ò-Ø Ÿ:™: d§o¡o×&DÑ&DÓE�Ø/°(Ñ:� Ø×!Ñ! *Ô-Ø�‰×-Ò-Ø Ÿ:™: d§o¡o×&DÑ&DÓE�Ø/°(Ñ:� Ø×!Ñ! *Ô-Ø"&§)¡)¨JÓ"7ˆD�Ò r cóJ•—|j||«t‰|� ||fi|¤ŽSr")rPÚsuperÚ _sendrequest)r7rJÚargsrKÚ __class__Úremotefilepeers €€rrSz.peersetup..remotefilepeer._sendrequests4ø€Ø × &Ñ & w°Ô 5ܘ¨Ñ;ؘñØ!%ñð r c󲕗t‰|«}tj|d«s%|j|t j |««t‰|�|fi|¤ŽS)NrS)rRr rBrPrÚ byteskwargsÚ _callstream)r7rJrKÚ supertyperUrVs €€rrYz-peersetup..remotefilepeer._callstream…sQø€Ü˜n¨dÓ3ˆIÜ×#Ñ# I¨~Ô>Ø×*Ñ*¨7´H×4HÑ4HÈÓ4NÔOܘ¨Ñ:¸7ÑKÀdÑKÐ Kr ) Ú__name__Ú __module__Ú __qualname__r Ú batchabler8r<rPrSrYÚ __classcell__)rUrVs@€rrVr&:sLù„Ø × "Ñ "ñ :ó #ð :ð × "Ñ "ñ +ó #ð +ò& 8õP ÷  Lñ Lr rV)rU)ÚuiÚpeerrVs @rÚ peersetuprb9s!ø€öOL˜Ÿ™ôOLðb$€D…Nr có0—eZdZdZd„Zd„Zd„Zdd„Zd„Zy) Úcacheconnectionz±The connection for communicating with the remote cache. Performs gets and sets by communicating with an external process that has the cache-specific implementation. cóJ—dx|_x|_|_d|_d|_y)NF)ÚpipeoÚpipeiÚpipeeÚ subprocessÚ connected©r7s rÚ__init__zcacheconnection.__init__”s%€Ø/3Ð3ˆŒ Ð3�T”Z $¤*؈ŒØˆ�r có—|jrtjtd««‚t j |«\|_|_|_|_d|_ y)Nscache connection already openT) rfrr6rr Úpopen4rgrhrirj)r7Ú cachecommands rÚconnectzcacheconnection.connect™sI€Ø �:Š:Ü—+‘+œaÐ @ÓAÓBÐ BÜ>F¿o¹oØ ó? Ñ;ˆŒ �D”J ¤ ¨D¬Oðˆ�r có~—d„}|jr‰ |jjd«||j«d|_||j«d|_||j «d|_ |j j«d|_d|_y#t$rYŒ€wxYw#t$rYŒ)wxYw)NcóD— |j«y#t$rYywxYwr")ÚcloseÚ Exception)Úpipes rÚtryclosez'cacheconnection.close..tryclose¢s"€ð Ø— ‘ • øÜò Ùð ús ‚“ žsexit F)rjrgÚwritertrfrhriÚ communicate)r7rvs rrszcacheconnection.close¡s°€ò ð �>Š>ð Ø— ‘ × Ñ  Ô+ñ �T—Z‘ZÔ ØˆDŒJÙ �T—Z‘ZÔ ØˆDŒJÙ �T—Z‘ZÔ ØˆDŒJð ð—‘×+Ñ+Ô-ð#ˆDŒO؈�øô!ò Ùð ûôò Ùð ús#‘B!Á8B0Â! B-Â,B-Â0 B<Â;B<cóΗ|jr: |jj|«|r|jj«yyy#t$r|j «YywxYwr")rjrgrwÚflushÚIOErrorrs)r7Úrequestrzs rr|zcacheconnection.request½sW€Ø �>Š>ð Ø— ‘ × Ñ  Ô)ÙØ—J‘J×$Ñ$Õ&ðð øô ò Ø— ‘ – ð úsŽ7AÁA$Á#A$cóÀ—|jsy |jj«dd}|s|j«|S#t$r|j«YSwxYw)Néÿÿÿÿ)rjrfÚreadlinersr{)r7Úresults rÚ receivelinezcacheconnection.receivelineÆs\€Ø�~Š~Øð Ø—Z‘Z×(Ñ(Ó*¨3¨BÐ/ˆFÙØ— ‘ ” ðˆ øôò Ø �J‰J�Làˆ ð ús�/AÁAÁAN©T) r[r\r]Ú__doc__rlrprsr|r�©r rrdrdŽs „ñò ò òó8ó r rdc ó„—|j«5}g}|D],}|j|jd|||dddœ««Œ.t|«D]Y\} }|| j «} d|| <||} |dd} |t j dt| «| fz«| | «|«Œ[ ddd«y#1swYyxYw)Nr(éØÿÿÿr3s%d %s)ÚcommandexecutorrFÚ callcommandÚ enumerater€ÚioÚBytesIOÚlen) ÚremoteÚreceivemissingÚ progresstickÚmissedÚidmapÚ batchsizeÚeÚfuturesÚmÚiÚrÚfile_r1s rÚ_getfilesbatchr™ÓsÄ€ð × Ñ Ô ! Q؈ۈAØ �N‰NØ— ‘ Ø$°°a±À1ÀSÀTÀ7Ñ&Kóõ ðô˜fÖ%‰DˆAˆqؘ‘ ×!Ñ!Ó#ˆA؈G�A‰Jؘ!‘HˆEØ�S�T�7ˆDÙ œ2Ÿ:™: i´3°q³6¸1°+Ñ&=Ó>ÀÀtÔ LÙ �Nñ &÷ "× !Ñ !ús ‘BB6Â6B?cóЗ|jd«d}|j}|j}|t|«krŒ|} t t|«| |z«} | }|| | D]$} | dd} || } d| | fz}|j |«Œ&|j «|| | D]} | dd} || } ||| | «|«Œ|t|«krŒŒ|j d«|j «y)Nóx_rfl_getfilesrr†ó%s%s r;)rYÚ_pipeoÚ_pipeirŒÚminrwrz)r�rŽr�r�r‘Ústepr–rfrgÚstartÚendÚ missingidÚ versionidrÚ sshrequests rÚ_getfiles_optimisticr¦òsü€ð ×ÑÐ(Ô)Ø €AØ �M‰M€EØ �M‰M€EØ Œc�&‹kŠ/àˆÜ”#�f“+˜u t™|Ó,ˆØ ˆØ  cÓ*ˆIà! # $˜ˆIؘÑ#ˆDØ" i°Ð%6Ñ6ˆJØ �K‰K˜ Õ #ð +ð � ‰ Œ ð   cÓ*ˆIØ! # $˜ˆIؘÑ#ˆDÙ ˜5 $¨ Ô 2Ù �Nð +ð Œc�&‹k‹/ð* ‡K�K�ÔØ ‡K�K…Mr cój‡‡‡ —|jd«|jŠ |j}ˆˆˆ fd„}tj|¬«}d|_|j «‰D]} | dd} ‰| } ||| | «|«Œ|j«‰ jd«‰ j«y)Nr›cóx•—‰D]$}|dd}‰|}d||fz}‰j|«Œ&‰j«y)Nr†rœ)rwrz)r£r¤rr¥r‘r�rfs €€€rÚwriterz"_getfiles_threaded..writersHø€ÛˆIØ! # $˜ˆIؘÑ#ˆDØ" i°Ð%6Ñ6ˆJØ �K‰K˜ Õ #ð  ð � ‰ � r )ÚtargetTr†r;) rYr�ržÚ threadingÚThreadÚdaemonr¡rrwrz) r�rŽr�r�r‘r rgr©Ú writerthreadr£r¤rrfs `` @rÚ_getfiles_threadedr¯s¤ú€ð ×ÑÐ(Ô)Ø �M‰M€EØ �M‰M€Eöô×#Ñ#¨6Ô2€LØ€LÔØ×ÑÔ㈠ؘc˜d�Oˆ Ø�YшÙ�u˜d IÔ.Ù�ð ð ×ÑÔà ‡K�K�ÔØ ‡K�K…Mr cóP—eZdZdZd„Zd„Zd„Zd„Zd„Zd„Z d„Z d d „Z d „Z d „Z y )Úfileserverclientz:A client for requesting files from the remote file server.có@—|j}||_||_|jdd«|_|jr$t j |j«|_|j dd«|_|j dd«|_t«|_ y)Nó remotefilelogs cacheprocessscacheprocess.includepathsdebug) r`ÚrepoÚconfigÚ cacheprocessr Ú expandpathÚ configboolÚcacheprocesspasspathÚ debugoutputrdÚ remotecache)r7r´r`s rrlzfileserverclient.__init__4s‡€Ø �W‰WˆØˆŒ ؈ŒØŸI™IÐ&6¸ÓHˆÔØ × Ò Ü $§¡°×0AÑ0AÓ BˆDÔ ð%'§M¡MØ Ð9ó% ˆÔ!ðŸ=™=Ð)9¸8ÓDˆÔä*Ó,ˆÕr có<—||_||_||_||_yr")Ú datastoreÚ historystoreÚ writedataÚ writehistory)r7r½r¾r¿rÀs rÚsetstorezfileserverclient.setstoreFs €Ø"ˆŒØ(ˆÔØ"ˆŒØ(ˆÕr cót—|jjj|jj«Sr")r´ÚconnectionpoolrEÚ fallbackpathrks rÚ_connectzfileserverclient._connectLs'€Ø�y‰y×'Ñ'×+Ñ+¨D¯I©I×,BÑ,BÓCÐCr c óÎ —|jjs|j«|j}|j}|j}t |«}d|z}i}|j }|D]3\} } t|| | «} |jr|| dzz }|| dzz }| || <Œ5|j|«|jjtd«|¬«} | jd«g} |j«}|sMt| «}|D]}||vsŒ| j!|«Œ|jj#td««nX|dk(rnR|j%d «r/|j'd «}| j)t+|d ««Œ¦| j!|«Œ·t,t | «z a|t | «z }| j||¬«|jj/d d ||||¬«t1j2d «} | �r|jj4}d|j_ |j7«5}|j8}|j;t<j>«r‘tA|tB«stEjFd«‚|jjId d«}|jjKd d«}|dk(rtL}ntN}|||jP| j(| ||«n¥|j;d«r|j;d«rd}nd}|jjId d|«}|jjSdt | «z«tU||jP| j(| ||«ntEjFd«‚ddd«|jj/dd| jV|z ||z ¬« ||j_d t | «dj[| «fz}|j|«| j]«|j_|jj`«t1j2|«y#1swYŒÅxYw#tX$r1|jj/dd| jV|z ||z ¬«‚wxYw#||j_wxYw#t1j2|«wxYw)!z÷Takes a list of filename/node pairs and fetches them from the server. Files are stored in the local cache. A list of nodes that the server couldn't find is returned. If the connection fails, an exception is raised. sget %d r*r;s downloading)Útotalrs@warning: cache connection closed early - falling back to server ó0s_hits_ó_rr³s"remote cache hit rate is %r of %r )ÚhitrÇFs"remotefilelog requires ssh serverss getfilessteps getfilestypesthreadedr(sbatchédé s batchsizes1requesting %d files from remotefilelog server... s>configured remotefilelog server does not support remotefilelogNsremotefilefetchlogsSuccess )Ú fetched_filesÚtotal_to_fetchsFail s set %d %s )1r»rjrpr¿r´rŒÚnamerr¹r|r`Ú makeprogressrÚupdater�ÚsetrFÚwarnÚ startswithr+Ú incrementr,Ú fetchmissesÚlogrÚumaskÚverboserÅrar5rr@Ú isinstanceÚ _sshv1peerrr6Ú configintrµr¯r¦rŽÚdebugr™ÚposrtrÚcompleteÚmarkrepor)r7ÚfileidsÚcacher¿r´rÇr|r‘rrrÚfullidÚprogressr�r£Ú missedsetÚpartsÚ fromcacheÚoldumaskrÙÚconnr�r Ú getfilestypeÚ _getfilesÚ batchdefaultr’s rr|zfileserverclient.requestOs‚€ð ×Ñ×)Ò)Ø �L‰LŒNØ× Ñ ˆØ—N‘Nˆ à�y‰yˆÜ�G“ ˆØ Ñ&ˆØˆØ—9‘9ˆÛ‰HˆD�"Ü  ¨4°Ó4ˆFØ×(Ò(ؘ4 %™<Ñ'�Ø �v ‘~Ñ %ˆGØ ˆE�&ŠMð  ð � ‰ �gÔà—7‘7×'Ñ'¬¨.Ó(9ÀÐ'ÓGˆØ�‰˜ÔàˆØØ×)Ñ)Ó+ˆIÙÜ ›K� Û!&�IØ$¨ Ò1ØŸ ™  iÕ0ð"'ð—‘— ‘ Üð6óôð Ø˜DÒ ØØ×#Ñ# IÔ.à!Ÿ™¨Ó-�Ø×"Ñ"¤3 u¨Q¡x£=Ô1Øà �M‰M˜)Ô $ð-ô2 ”s˜6“{Ñ"ˆ àœC ›KÑ'ˆ Ø�‰˜ ¨ˆÔ/Ø �‰� ‰ Ø Ø 2Ø Ø ØØð ô ô—8‘8˜E“?ˆðW âðŸ'™'Ÿ/™/�Ø"'�—‘”ðE.ØŸ™œ¨DØ!%§¡˜Ø!Ÿ>™>Ü%×EÑEôô$.¨f´jÔ#AÜ&+§k¡kØ$Ió'"ð!"ð$(§7¡7×#4Ñ#4Ø 0°/ó$˜Dð,0¯7©7¯>©>Ø 0°/ó,˜Lð ,¨{Ò:Ü,>¡ ä,@  Ù%Ø &Ø $× 3Ñ 3Ø (× 2Ñ 2Ø &Ø %Ø $õ ð$Ÿ^™^Ð,<Ô=Ø%Ÿ~™~¨hÔ7Ø/2¡ à/1  Ø(,¯©×(9Ñ(9Ø 0°,À ó)˜Ið!ŸG™GŸM™Mð!=Ü?BÀ6»{ñ!Kôô+Ø &Ø $× 3Ñ 3Ø (× 2Ñ 2Ø &Ø %Ø )õ ô#(§+¡+ð!Có#ð÷a)ðj—G‘G—K‘KØ-Ø$Ø&.§l¡l°YÑ&>Ø',¨yÑ'8ð  õð'.�D—G‘G”Oà*¬c°&«k¸5¿:¹:ÀfÓ;MÐ-NÑN�Ø— ‘ ˜gÔ&à × Ñ Ô ð × Ñ ˜tŸy™yŸ~™~Ô .ä �H‰H�XÕ ÷])˜ûôv!òØ—G‘G—K‘KØ-Ø!Ø&.§l¡l°YÑ&>Ø',¨yÑ'8ð  ôð ðûð'.�D—G‘G•Oûô �H‰H�XÕ úsJÈ *S È8Q:ÉE"Q.Î*7Q:Ï"A6S Ñ.Q7Ñ3Q:Ñ::R4Ò4R7Ò7S Ó S Ó S$có°—|j«dd}|s(tjtd«td««‚t |«}|j |«}t |«|k7r6tjtd«td«t |«|fz«‚|jj|t|«tj|««y)Nr~s error downloading file contents:sconnection closed earlysonly received %s of %s bytes) rrÚ ResponseErrorrr,ÚreadrŒr¿ÚaddremotefilelognoderÚzlibÚ decompress)r7ruÚfilenamer1ÚlineÚsizer0s rrŽzfileserverclient.receivemissingìs»€Ø�}‰}‹˜s Ð#ˆÙÜ×%Ñ%ÜÐ5Ó6ÜÐ,Ó-óð ô�4‹yˆØ�y‰y˜‹ˆÜ ˆt‹9˜Ò Ü×%Ñ%ÜÐ5Ó6ÜÐ1Ó2´c¸$³iÀÐ5FÑFóð ð �‰×+Ñ+Ø ”c˜$“i¤§¡°Ó!6õ r cóÊ—|jrAd|j|jjfz}|jj |«yGd„d«}|«|_y)Ns%s %scó&—eZdZd„Zd„Zdd„Zd„Zy)ú-fileserverclient.connect..simplecachecó —g|_d|_y)NT)Ú missingidsrjrks rrlz6fileserverclient.connect..simplecache.__init__ s€Ø&(�D”OØ%)�D•Nr có—yr"r„rks rrsz3fileserverclient.connect..simplecache.close s€Ør có‚—|jd«}|ddk7ry|dd|_|jjd«y)Nr;rsgetrr~rÈ)r+rúrF)r7ÚvaluerzÚliness rr|z5fileserverclient.connect..simplecache.requests>€Ø!ŸK™K¨Ó.�EؘQ‘x 6Ò)ØØ&+¨A¨b k�D”OØ—O‘O×*Ñ*¨4Õ0r cój—t|j«dkDr|jjd«Sy)Nr)rŒrúÚpoprks rr�z9fileserverclient.connect..simplecache.receivelines+€Ü˜4Ÿ?™?Ó+¨aÒ/Ø#Ÿ™×2Ñ2°1Ó5Ð5Ør Nr‚)r[r\r]rlrsr|r�r„r rÚ simplecacherøs„ò*òó1ó r r)r¶r¿Ú_pathr»rp)r7Úcmdrs rrpzfileserverclient.connectÿsT€Ø × Ò Ø˜d×/Ñ/°·±×1EÑ1EÐFÑFˆCØ × Ñ × $Ñ $ SÕ )÷  ñ ñ( +›}ˆDÕ r c óÊ—tr¬dttttttz «tt«z dztfz}|j r|j j|«|j jd|jdd«ttttdz¬«|jjr|jj«yy)NsN%d files fetched over %d fetches - (%d misses, %0.2f%% hit ratio) over %0.2fs gY@sremotefilelog.prefetchó%s%%iè)ÚremotefilelogfetchedÚremotefilelogfetchesÚremotefilelogfetchmissesÚremotefilelogfetchtime) ÚfetchesÚfetchedrÖÚfloatÚ fetchcostrºr`rÓr×Úreplacer»rjrs)r7Úmsgs rrszfileserverclient.closesº€Ý ðBôÜÜÜ”g¤ Ñ+Ó,¬u´W«~Ñ=ÀÑEÜð ñ ˆCð×ÒØ—‘— ‘ ˜SÔ!Ø �G‰G�K‰KØ)Ø— ‘ ˜D %Ó(Ü%,Ü%,Ü)4Ü'0°4Ñ'7ð ô ð × Ñ × %Ò %Ø × Ñ × "Ñ "Õ $ð &r cóŠ—|j}g}|D]F\}}|dk(st|«dk(s|j|«sŒ+|j|t |«f«ŒH|j } |j } |r8tj|jŽ} tj|jŽ} t«} |r | j| j|««|r | j| j|««t| D� �cgc]!\} }||jj k(sŒ d‘Œ#c}} «} | rP| D��cgc]#\}}||jj k7sŒ ||f‘Œ%} }}|j"j%d| zd¬«| �r+t&dz at&dk\r^t&d krUt&dk(r<|j"j)d d «}|r|j"j+|d z«|j-«t/| «D��cgc]\}}|t1|«f‘Œ} }}t2t| «z at5j4«}|j7| «} | r*t9j:t=d «t| «z«‚t>t5j4«|z z a|jA|«yycc}} wcc}}wcc}}w)z.downloads the given file versions to the caches.hgtagsé*NsDremotefilelog not fetching %d null revs - this is likely hiding bugssremotefilelog-ext)rµréér³s fetchwarningr;sunable to download %d files)!r´rŒÚ shallowmatchrFrr½r¾rÚunioncontentstoreÚshareddatastoresrÚunionmetadatastoreÚsharedhistorystoresrÒrÑÚ getmissingÚnullidr`Ú develwarnr rµrÓÚ logstacktraceÚsortedrr Útimer|rr6rr Ú _lfsprefetch)r7ráÚforceÚ fetchdataÚ fetchhistoryr´Ú idstocheckrrr½r¾rúÚunusedÚnullidsÚfÚ fetchwarningr¡s rÚprefetchzfileserverclient.prefetch8s�€ð�y‰yˆØˆ Û‰HˆD�"ð ˜ Ò"Ü�r“7˜b’=Ø×(Ñ(¨Ô.àà × Ñ ˜t¤S¨£W˜oÕ .ð ð—N‘Nˆ Ø×(Ñ(ˆ Ù Ü$×6Ñ6¸×8MÑ8MÐNˆIÜ(×;Ñ;Ø×)Ñ)ðˆLô“Uˆ Ù Ø × Ñ ˜i×2Ñ2°:Ó>Ô ?Ù Ø × Ñ ˜l×5Ñ5°jÓAÔ BôÙ$.Ô I¡J‘j�f˜b°"¸¿ ¹ ×8HÑ8HÓ2HŠT JÒ Ió ˆñ á%/ôÙ%/™E˜A˜r°2¸¿¹×9IÑ9IÓ3I��B’ Zð ñð �G‰G× Ñ ð5Ø7>ñ?ð,ð ô ò ä �q‰LˆGô˜"Š}¤¨2¢Ü˜b’=Ø#'§7¡7§>¡>Ø(¨/ó$�Lñ$ØŸ™Ÿ ™  \°EÑ%9Ô:Ø×"Ñ"Ô$Ü:@ÀÔ:LÔMÑ:L©h¨d°B˜4¤ R£š/Ð:LˆJÑMÜ ”s˜:“Ñ &ˆGÜ—I‘I“KˆEØŸ™ jÓ1ˆJÙÜ—k‘kÜÐ4Ó5¼¸J»ÑGóðô œŸ™› uÑ,Ñ ,ˆIØ × Ñ ˜gÕ &ð/ ùó Jùóùó0NsÄ!J3 Ä&J3 Ä9!J9ÅJ9ÈJ?có‡ —tr*tj|jjd«sytj j |j«syg}|jjjŠ |D]±\}}t|«}|jj|«}|j|«tjzsŒO|j|«}tjj|«}|j!«} ‰ j#| «rŒ¡|j%|«Œ³t'|«dkDrG|jjj(j+|‰ «t-ˆ fd„|D««sJ‚yy)Nslfslocalblobstorerc3ó\•K—|]#}‰j|j««–—Œ%y­wr")ÚhasÚoid)Ú.0ÚpÚstores €rÚ z0fileserverclient._lfsprefetch..—s!øèø€Ð<±8¨a�u—y‘y §¡£×)±8ùsƒ),)Ú_lfsmodr rBr´ÚsvfsÚwrapperÚ candownloadÚlfslocalblobstorerrÚflagsrÚREVIDX_EXTSTOREDÚrawdataÚpointerÚ deserializer,r+rFrŒÚlfsremoteblobstoreÚ readbatchÚall) r7ráÚpointersrrr1ÚrlogÚtextr.r,r/s @rrzfileserverclient._lfsprefetchƒs ø€Ýœd×.Ñ.Ø �I‰I�N‰NÐ0ô ð Ü�‰×*Ñ*¨4¯9©9Ô5Ø ØˆØ— ‘ —‘×0Ñ0ˆÛ‰HˆD�"Ü�r“7ˆDØ—9‘9—>‘> $Ó'ˆDØ�z‰z˜$Ó¤&×"9Ñ"9Ó9Ø—|‘| DÓ)�Ü—O‘O×/Ñ/°Ó5�Ø—e‘e“g�Ø—y‘y •~Ø—O‘O AÕ&ð ô ˆx‹=˜1Ò Ø �I‰I�N‰N× -Ñ -× 7Ñ 7¸À%Ô HÜÓ<±8Ó<Ô<Ð <Ñ<ð r c óŽ—ddl}|jjdddjd„|j «D«««y)Nrr³s"excess remotefilelog fetching: %s r c3óFK—|]}tj|«–—Œy­wr")rÚsysbytes)r-Úss rr0z1fileserverclient.logstacktrace..Ÿsèø€ÐLÑ3K¨a”X×&Ñ& q×)Ñ3Kùs‚!)Ú tracebackr`r×rÚ format_stack)r7rEs rrzfileserverclient.logstacktrace™s6€Ûà �‰� ‰ Ø Ø 3Ø �H‰HÑL°9×3IÑ3IÔ3KÓLÓ Lõ r N)FTF)r[r\r]rƒrlrÁrÅr|rŽrprsr(rrr„r rr±r±1sC„ÙDò-ò$)ò Dò[òz ò&-ò>%ð6BGóI'òV=ó, r r±)'rŠrr«rrñÚmercurial.i18nrÚmercurial.noderrÚ mercurialrrrr r r Úmercurial.utilsr r ÚrrrÚ sshv1peerrÛr r r rÖr1rr#rbrdr™r¦r¯r±r„r rÚrMs˜ðó Û ÛÛ Û åß#÷÷÷÷ ñð × Ñ € ð € Ø €Ø €Ø€ à €òBò &ò R$÷jBñBòJò>ò@÷>o òo r