From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Davis Herring" Newsgroups: gmane.emacs.devel Subject: Re: A few questions about desktop.el Date: Fri, 8 Jun 2007 14:17:02 -0700 (PDT) Message-ID: <35277.128.165.123.18.1181337422.squirrel@webmail.lanl.gov> References: <58643.128.165.123.132.1146179153.squirrel@webmail.lanl.gov> <877j55gb6p.fsf@jurta.org> <4458C031.5060201@soem.dk> <36957.128.165.123.132.1146760030.squirrel@webmail.lanl.gov> Reply-To: herring@lanl.gov NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed;boundary="----=_20070608141702_84033" X-Trace: sea.gmane.org 1181337443 19002 80.91.229.12 (8 Jun 2007 21:17:23 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 8 Jun 2007 21:17:23 +0000 (UTC) Cc: emacs-devel@gnu.org To: "Juanma Barranquero" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jun 08 23:17:22 2007 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1Hwlpd-0000by-Tq for ged-emacs-devel@m.gmane.org; Fri, 08 Jun 2007 23:17:19 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Hwlpc-0002XH-OE for ged-emacs-devel@m.gmane.org; Fri, 08 Jun 2007 17:17:16 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HwlpW-0002U7-M0 for emacs-devel@gnu.org; Fri, 08 Jun 2007 17:17:10 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HwlpS-0002Qv-L5 for emacs-devel@gnu.org; Fri, 08 Jun 2007 17:17:10 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HwlpS-0002QU-84 for emacs-devel@gnu.org; Fri, 08 Jun 2007 17:17:06 -0400 Original-Received: from mailwasher.lanl.gov ([192.65.95.54] helo=mailwasher-b.lanl.gov) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1HwlpQ-0006SN-TR for emacs-devel@gnu.org; Fri, 08 Jun 2007 17:17:05 -0400 Original-Received: from mailrelay1.lanl.gov (mailrelay1.lanl.gov [128.165.4.101]) by mailwasher-b.lanl.gov (8.13.8/8.13.8/(ccn-5)) with ESMTP id l58LH3Uw005618 for ; Fri, 8 Jun 2007 15:17:03 -0600 Original-Received: from webmail1.lanl.gov (webmail1.lanl.gov [128.165.4.106]) by mailrelay1.lanl.gov (8.13.8/8.13.8/(ccn-5)) with ESMTP id l58LH2AY018233; Fri, 8 Jun 2007 15:17:02 -0600 Original-Received: from webmail1.lanl.gov (localhost.localdomain [127.0.0.1]) by webmail1.lanl.gov (8.12.11.20060308/8.12.11) with ESMTP id l58LH2KM026720; Fri, 8 Jun 2007 15:17:02 -0600 Original-Received: (from apache@localhost) by webmail1.lanl.gov (8.12.11.20060308/8.12.11/Submit) id l58LH2iM026718; Fri, 8 Jun 2007 14:17:02 -0700 X-Authentication-Warning: webmail1.lanl.gov: apache set sender to herring@lanl.gov using -f Original-Received: from 128.165.123.18 (SquirrelMail authenticated user 196434) by webmail.lanl.gov with HTTP; Fri, 8 Jun 2007 14:17:02 -0700 (PDT) In-Reply-To: User-Agent: SquirrelMail/1.4.8-6.el3.2lanl X-Priority: 3 (Normal) Importance: Normal X-PMX-Version: 4.7.1.128075 X-detected-kernel: Linux 2.4-2.6 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:72517 Archived-At: ------=_20070608141702_84033 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit > What happened to this patch to add sort-of-file-locking to desktop.el? As far as I know, nothing has been done with it. I still have it in my working copy (of course), and have, prompted by your message, just now resolved a daunting 57/76-line conflict with the changes between 1.106 and 1.108. My version has one of the tainted `mapc' calls, if that matters; given Stefan's trivial (dolist (x l) (f x)) I would surely have supplied (mapc f l) myself. (No offense meant to Stefan; that one alone was trivial.) Links to the original (er, the second) discussion: April, largely superceded: http://lists.gnu.org/archive/html/emacs-devel/2006-04/msg01253.html May: http://lists.gnu.org/archive/html/emacs-devel/2006-05/msg00084.html I've attached an updated patch vs. current CVS; in it I have optimistically tagged my two new defcustoms as new in 22.2. Here's a stab at a ChangeLog: 2007-06-08 Davis Herring * desktop.el (desktop-save-mode-off): New function. (desktop-base-lock-name, desktop-not-loaded-hook): New variables. (desktop-full-lock-name, desktop-file-modtime, desktop-owner) (desktop-claim-lock, desktop-release-lock): New functions. (desktop-kill): Tell `desktop-save' that this is the last save. Release the lock afterwards. (desktop-buffer-info): New function. (desktop-save): Use it. Run `desktop-save-hook' where the doc says to. Detect conflicts, and manage the lock. (desktop-read): Detect conflicts. Manage the lock. Davis -- This product is sold by volume, not by mass. If it appears too dense or too sparse, it is because mass-energy conversion has occurred during shipping. ------=_20070608141702_84033 Content-Type: application/octet-stream; name="desktop-conflict-4.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="desktop-conflict-4.patch" SW5kZXg6IGRlc2t0b3AuZWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL3NvdXJjZXMvZW1hY3MvZW1h Y3MvbGlzcC9kZXNrdG9wLmVsLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEwOApkaWZmIC1jIC1y MS4xMDggZGVza3RvcC5lbAoqKiogZGVza3RvcC5lbAkxMSBBcHIgMjAwNyAwMjoyODoyNiAtMDAw MAkxLjEwOAotLS0gZGVza3RvcC5lbAk4IEp1biAyMDA3IDIwOjU4OjE0IC0wMDAwCioqKioqKioq KioqKioqKgoqKiogMTYyLDE2NyAqKioqCi0tLSAxNjIsMTcxIC0tLS0KICAoZGVmaW5lLW9ic29s ZXRlLXZhcmlhYmxlLWFsaWFzICdkZXNrdG9wLWVuYWJsZQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ2Rlc2t0b3Atc2F2ZS1tb2RlICIyMi4xIikKICAKKyAoZGVmdW4gZGVza3Rv cC1zYXZlLW1vZGUtb2ZmICgpCisgICAiRGlzYWJsZSBgZGVza3RvcC1zYXZlLW1vZGUnLiAgUHJv dmlkZWQgZm9yIHVzZSBpbiBob29rcy4iCisgICAoZGVza3RvcC1zYXZlLW1vZGUgMCkpCisgCiAg KGRlZmN1c3RvbSBkZXNrdG9wLXNhdmUgJ2Fzay1pZi1uZXcKICAgICIqU3BlY2lmaWVzIHdoZXRo ZXIgdGhlIGRlc2t0b3Agc2hvdWxkIGJlIHNhdmVkIHdoZW4gaXQgaXMga2lsbGVkLgogIEEgZGVz a3RvcCBpcyBraWxsZWQgd2hlbiB0aGUgdXNlciBjaGFuZ2VzIGRlc2t0b3Agb3IgcXVpdHMgRW1h Y3MuCioqKioqKioqKioqKioqKgoqKiogMTk0LDE5OSAqKioqCi0tLSAxOTgsMjEwIC0tLS0KICAo ZGVmaW5lLW9ic29sZXRlLXZhcmlhYmxlLWFsaWFzICdkZXNrdG9wLWJhc2VmaWxlbmFtZQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2t0b3AtYmFzZS1maWxlLW5hbWUgIjIy LjEiKQogIAorIChkZWZjdXN0b20gZGVza3RvcC1iYXNlLWxvY2stbmFtZQorICAgKGNvbnZlcnQt c3RhbmRhcmQtZmlsZW5hbWUgIi5lbWFjcy5kZXNrdG9wLmxvY2siKQorICAgIk5hbWUgb2YgbG9j ayBmaWxlIGZvciBFbWFjcyBkZXNrdG9wLCBleGNsdWRpbmcgdGhlIGRpcmVjdG9yeSBwYXJ0LiIK KyAgIDp0eXBlICdmaWxlCisgICA6Z3JvdXAgJ2Rlc2t0b3AKKyAgIDp2ZXJzaW9uICIyMi4yIikK KyAKICAoZGVmY3VzdG9tIGRlc2t0b3AtcGF0aCAnKCIuIiAifiIpCiAgICAiTGlzdCBvZiBkaXJl Y3RvcmllcyB0byBzZWFyY2ggZm9yIHRoZSBkZXNrdG9wIGZpbGUuCiAgVGhlIGJhc2UgbmFtZSBv ZiB0aGUgZmlsZSBpcyBzcGVjaWZpZWQgaW4gYGRlc2t0b3AtYmFzZS1maWxlLW5hbWUnLiIKKioq KioqKioqKioqKioqCioqKiAyMTksMjI0ICoqKioKLS0tIDIzMCwyNDQgLS0tLQogICAgOmdyb3Vw ICdkZXNrdG9wCiAgICA6dmVyc2lvbiAiMjIuMSIpCiAgCisgKGRlZmN1c3RvbSBkZXNrdG9wLW5v dC1sb2FkZWQtaG9vayBuaWwKKyAgICJOb3JtYWwgaG9vayBydW4gd2hlbiB0aGUgdXNlciBkZWNs aW5lcyB0byByZS11c2UgYSBkZXNrdG9wIGZpbGUuCisgUnVuIGluIHRoZSBkaXJlY3RvcnkgaW4g d2hpY2ggdGhlIGRlc2t0b3AgZmlsZSB3YXMgZm91bmQuCisgTWF5IGJlIHVzZWQgdG8gZGVhbCB3 aXRoIGFjY2lkZW50YWwgbXVsdGlwbGUgRW1hY3Mgam9icy4iCisgICA6dHlwZSAnaG9vaworICAg Omdyb3VwICdkZXNrdG9wCisgICA6b3B0aW9ucyAnKGRlc2t0b3Atc2F2ZS1tb2RlLW9mZiBzYXZl LWJ1ZmZlcnMta2lsbC1lbWFjcykKKyAgIDp2ZXJzaW9uICIyMi4yIikKKyAKICAoZGVmY3VzdG9t IGRlc2t0b3AtYWZ0ZXItcmVhZC1ob29rIG5pbAogICAgIk5vcm1hbCBob29rIHJ1biBhZnRlciBh IHN1Y2Nlc3NmdWwgYGRlc2t0b3AtcmVhZCcuCiAgTWF5IGJlIHVzZWQgdG8gc2hvdyBhIGJ1ZmZl ciBsaXN0LiIKKioqKioqKioqKioqKioqCioqKiA0ODYsNDkxICoqKioKLS0tIDUwNiw1MTYgLS0t LQogIERJUk5BTUUgb21pdHRlZCBvciBuaWwgbWVhbnMgdXNlIGBkZXNrdG9wLWRpcm5hbWUnLiIK ICAgIChleHBhbmQtZmlsZS1uYW1lIGRlc2t0b3AtYmFzZS1maWxlLW5hbWUgKG9yIGRpcm5hbWUg ZGVza3RvcC1kaXJuYW1lKSkpCiAgCisgKGRlZnVuIGRlc2t0b3AtZnVsbC1sb2NrLW5hbWUgKCZv cHRpb25hbCBkaXJuYW1lKQorICAgIlJldHVybiB0aGUgZnVsbCBuYW1lIG9mIHRoZSBkZXNrdG9w IGxvY2sgZmlsZSBpbiBESVJOQU1FLgorIERJUk5BTUUgb21pdHRlZCBvciBuaWwgbWVhbnMgdXNl IGBkZXNrdG9wLWRpcm5hbWUnLiIKKyAgIChleHBhbmQtZmlsZS1uYW1lIGRlc2t0b3AtYmFzZS1s b2NrLW5hbWUgKG9yIGRpcm5hbWUgZGVza3RvcC1kaXJuYW1lKSkpCisgCiAgKGRlZmNvbnN0IGRl c2t0b3AtaGVhZGVyCiAgIjs7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgOzsgRGVza3RvcCBGaWxlIGZv ciBFbWFjcwoqKioqKioqKioqKioqKioKKioqIDQ5Niw1MDEgKioqKgotLS0gNTIxLDU1OSAtLS0t CiAgICAiSG9va3MgcnVuIGFmdGVyIGFsbCBidWZmZXJzIGFyZSBsb2FkZWQ7IGludGVuZGVkIGZv ciBpbnRlcm5hbCB1c2UuIikKICAKICA7OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgOzsgRGVza3Rv cCBmaWxlIGNvbmZsaWN0IGRldGVjdGlvbgorIChkZWZ2YXIgZGVza3RvcC1maWxlLW1vZHRpbWUg bmlsCisgICAiV2hlbiB0aGUgZGVza3RvcCBmaWxlIHdhcyBsYXN0IG1vZGlmaWVkIHRvIHRoZSBr bm93bGVkZ2Ugb2YgdGhpcyBFbWFjcy4KKyBVc2VkIHRvIGRldGVjdCBkZXNrdG9wIGZpbGUgY29u ZmxpY3RzLiIpCisgCisgKGRlZnVuIGRlc2t0b3Atb3duZXIgKCZvcHRpb25hbCBkaXJuYW1lKQor ICAgIlJldHVybiB0aGUgUElEIG9mIHRoZSBFbWFjcyBwcm9jZXNzIHRoYXQgb3ducyB0aGUgZGVz a3RvcCBmaWxlIGluIERJUk5BTUUuCisgUmV0dXJuIG5pbCBpZiBubyBkZXNrdG9wIGZpbGUgZm91 bmQgb3Igbm8gRW1hY3MgcHJvY2VzcyBpcyB1c2luZyBpdC4KKyBESVJOQU1FIG9taXR0ZWQgb3Ig bmlsIG1lYW5zIHVzZSBgZGVza3RvcC1kaXJuYW1lJy4iCisgICAobGV0IChvd25lcikKKyAgICAg KGFuZCAoZmlsZS1leGlzdHMtcCAoZGVza3RvcC1mdWxsLWxvY2stbmFtZSBkaXJuYW1lKSkKKyAJ IChjb25kaXRpb24tY2FzZSBuaWwKKyAJICAgICAod2l0aC10ZW1wLWJ1ZmZlciAoaW5zZXJ0LWZp bGUtY29udGVudHMtbGl0ZXJhbGx5CisgCQkJCShkZXNrdG9wLWZ1bGwtbG9jay1uYW1lIGRpcm5h bWUpKQorIAkJCSAgICAgICAoZ290by1jaGFyIChwb2ludC1taW4pKQorIAkJCSAgICAgICAoc2V0 cSBvd25lciAocmVhZCAoY3VycmVudC1idWZmZXIpKSkKKyAJCQkgICAgICAgKGludGVnZXJwIG93 bmVyKSkKKyAJICAgKGVycm9yIG5pbCkpCisgCSBvd25lcikpKQorIAorIChkZWZ1biBkZXNrdG9w LWNsYWltLWxvY2sgKCZvcHRpb25hbCBkaXJuYW1lKQorICAgIlJlY29yZCB0aGlzIEVtYWNzIHBy b2Nlc3MgYXMgdGhlIG93bmVyIG9mIHRoZSBkZXNrdG9wIGZpbGUgaW4gRElSTkFNRS4KKyBESVJO QU1FIG9taXR0ZWQgb3IgbmlsIG1lYW5zIHVzZSBgZGVza3RvcC1kaXJuYW1lJy4iCisgICAod3Jp dGUtcmVnaW9uIChudW1iZXItdG8tc3RyaW5nIChlbWFjcy1waWQpKSBuaWwKKyAJCShkZXNrdG9w LWZ1bGwtbG9jay1uYW1lIGRpcm5hbWUpKSkKKyAKKyAoZGVmdW4gZGVza3RvcC1yZWxlYXNlLWxv Y2sgKCZvcHRpb25hbCBkaXJuYW1lKQorICAgIlJlbW92ZSB0aGUgbG9jayBmaWxlIGZvciB0aGUg ZGVza3RvcCBpbiBESVJOQU1FLgorIERJUk5BTUUgb21pdHRlZCBvciBuaWwgbWVhbnMgdXNlIGBk ZXNrdG9wLWRpcm5hbWUnLiIKKyAgIChsZXQgKChmaWxlIChkZXNrdG9wLWZ1bGwtbG9jay1uYW1l IGRpcm5hbWUpKSkKKyAgICAgKHdoZW4gKGZpbGUtZXhpc3RzLXAgZmlsZSkgKGRlbGV0ZS1maWxl IGZpbGUpKSkpCisgCisgOzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIChkZWZ1biBkZXNrdG9wLXRy dW5jYXRlIChsaXN0IG4pCiAgICAiVHJ1bmNhdGUgTElTVCB0byBhdCBtb3N0IE4gZWxlbWVudHMg ZGVzdHJ1Y3RpdmVseS4iCiAgICAobGV0ICgoaGVyZSAobnRoY2RyICgxLSBuKSBsaXN0KSkpCioq KioqKioqKioqKioqKgoqKiogNTU2LDU2NSAqKioqCiAgICAgICAgICAgICAgICAgKGxhbWJkYSAo ZGlyKQogICAgICAgICAgICAgICAgICAgKGludGVyYWN0aXZlICJERGlyZWN0b3J5IGZvciBkZXNr dG9wIGZpbGU6ICIpIGRpcikpKSkpKQogICAgICAoY29uZGl0aW9uLWNhc2UgZXJyCiEgICAgICAg ICAoZGVza3RvcC1zYXZlIGRlc2t0b3AtZGlybmFtZSkKICAgICAgICAoZmlsZS1lcnJvcgogICAg ICAgICAodW5sZXNzICh5ZXMtb3Itbm8tcCAiRXJyb3Igd2hpbGUgc2F2aW5nIHRoZSBkZXNrdG9w LiAgSWdub3JlPyAiKQohICAgICAgICAgIChzaWduYWwgKGNhciBlcnIpIChjZHIgZXJyKSkpKSkp KQogIAogIDs7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAoZGVmdW4gZGVza3RvcC1saXN0KiAoJnJl c3QgYXJncykKLS0tIDYxNCw2MjUgLS0tLQogICAgICAgICAgICAgICAgIChsYW1iZGEgKGRpcikK ICAgICAgICAgICAgICAgICAgIChpbnRlcmFjdGl2ZSAiRERpcmVjdG9yeSBmb3IgZGVza3RvcCBm aWxlOiAiKSBkaXIpKSkpKSkKICAgICAgKGNvbmRpdGlvbi1jYXNlIGVycgohIAkoZGVza3RvcC1z YXZlIGRlc2t0b3AtZGlybmFtZSB0KQogICAgICAgIChmaWxlLWVycm9yCiAgICAgICAgICh1bmxl c3MgKHllcy1vci1uby1wICJFcnJvciB3aGlsZSBzYXZpbmcgdGhlIGRlc2t0b3AuICBJZ25vcmU/ ICIpCiEgCSAoc2lnbmFsIChjYXIgZXJyKSAoY2RyIGVycikpKSkpKQohICAgOzsgSWYgd2Ugb3du IGl0LCB3ZSBkb24ndCBhbnltb3JlLgohICAgKGlmIChlcSAoZW1hY3MtcGlkKSAoZGVza3RvcC1v d25lcikpIChkZXNrdG9wLXJlbGVhc2UtbG9jaykpKQogIAogIDs7IC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KICAoZGVmdW4gZGVza3RvcC1saXN0KiAoJnJlc3QgYXJncykKKioqKioqKioqKioqKioqCioq KiA1NzQsNTc5ICoqKioKLS0tIDYzNCw2NzUgLS0tLQogICAgICAgIHZhbHVlKSkpCiAgCiAgOzsg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorIChkZWZ1biBkZXNrdG9wLWJ1ZmZlci1pbmZvIChidWZmZXIp CisgICAoc2V0LWJ1ZmZlciBidWZmZXIpCisgICAobGlzdAorICAgIDs7IGJhc2ljIGluZm9ybWF0 aW9uCisgICAgKGRlc2t0b3AtZmlsZS1uYW1lIChidWZmZXItZmlsZS1uYW1lKSBkaXJuYW1lKSAo YnVmZmVyLW5hbWUpIG1ham9yLW1vZGUKKyAgICA7OyBtaW5vciBtb2RlcworICAgIChsZXQgKHJl dCkKKyAgICAgIChtYXBjCisgICAgICAgIycobGFtYmRhIChtaW5vci1tb2RlKQorIAkgIChhbmQK KyAJICAgKGJvdW5kcCBtaW5vci1tb2RlKQorIAkgICAoc3ltYm9sLXZhbHVlIG1pbm9yLW1vZGUp CisgCSAgIChsZXQqICgoc3BlY2lhbCAoYXNzcSBtaW5vci1tb2RlIGRlc2t0b3AtbWlub3ItbW9k ZS10YWJsZSkpCisgCQkgICh2YWx1ZSAoY29uZCAoc3BlY2lhbCAoY2FkciBzcGVjaWFsKSkKKyAJ CQkgICAgICAgKChmdW5jdGlvbnAgbWlub3ItbW9kZSkgbWlub3ItbW9kZSkpKSkKKyAJICAgICAo d2hlbiB2YWx1ZSAoYWRkLXRvLWxpc3QgJ3JldCB2YWx1ZSkpKSkpCisgICAgICAgKG1hcGNhciAj J2NhciBtaW5vci1tb2RlLWFsaXN0KSkKKyAgICAgIHJldCkKKyAgICA7OyBwb2ludCBhbmQgbWFy aywgYW5kIHJlYWQtb25seSBzdGF0dXMKKyAgICAocG9pbnQpIChsaXN0IChtYXJrIHQpIG1hcmst YWN0aXZlKSBidWZmZXItcmVhZC1vbmx5CisgICAgOzsgYXV4aWxpYXJ5IGluZm9ybWF0aW9uCisg ICAgKHdoZW4gKGZ1bmN0aW9ucCBkZXNrdG9wLXNhdmUtYnVmZmVyKQorICAgICAgKGZ1bmNhbGwg ZGVza3RvcC1zYXZlLWJ1ZmZlciBkaXJuYW1lKSkKKyAgICA7OyBsb2NhbCB2YXJpYWJsZXMKKyAg ICAobGV0ICgobG9jYWxzIGRlc2t0b3AtbG9jYWxzLXRvLXNhdmUpCisgCSAobG9jbGlzdCAoYnVm ZmVyLWxvY2FsLXZhcmlhYmxlcykpCisgCSAobGwpKQorICAgICAgKHdoaWxlIGxvY2FscworICAg ICAgICAobGV0ICgoaGVyZSAoYXNzcSAoY2FyIGxvY2FscykgbG9jbGlzdCkpKQorIAkgKGlmIGhl cmUgKHNldHEgbGwgKGNvbnMgaGVyZSBsbCkpCisgCSAgICh3aGVuIChtZW1iZXIgKGNhciBsb2Nh bHMpIGxvY2xpc3QpCisgCSAgICAgKHNldHEgbGwgKGNvbnMgKGNhciBsb2NhbHMpIGxsKSkpKSkK KyAgICAgICAgKHNldHEgbG9jYWxzIChjZHIgbG9jYWxzKSkpCisgICAgICBsbCkpKQorIAorIDs7 IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KICAoZGVmdW4gZGVza3RvcC1pbnRlcm5hbC12MnMgKHZhbHVl KQogICAgIkNvbnZlcnQgVkFMVUUgdG8gYSBwYWlyIChRVU9URSAuIFRYVCk7IChldmFsIChyZWFk IFRYVCkpIGdpdmVzIFZBTFVFLgogIFRYVCBpcyBhIHN0cmluZyB0aGF0IHdoZW4gcmVhZCBhbmQg ZXZhbHVhdGVkIHlpZWxkcyB2YWx1ZS4KKioqKioqKioqKioqKioqCioqKiA3MjQsODEzICoqKioK ICAKICA7OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgOzs7IyMjYXV0b2xvYWQKISAoZGVmdW4gZGVz a3RvcC1zYXZlIChkaXJuYW1lKQogICAgIlNhdmUgdGhlIGRlc2t0b3AgaW4gYSBkZXNrdG9wIGZp bGUuCiAgUGFyYW1ldGVyIERJUk5BTUUgc3BlY2lmaWVzIHdoZXJlIHRvIHNhdmUgdGhlIGRlc2t0 b3AgZmlsZS4KICBTZWUgYWxzbyBgZGVza3RvcC1iYXNlLWZpbGUtbmFtZScuIgogICAgKGludGVy YWN0aXZlICJERGlyZWN0b3J5IHRvIHNhdmUgZGVza3RvcCBmaWxlIGluOiAiKQohICAgKHJ1bi1o b29rcyAnZGVza3RvcC1zYXZlLWhvb2spCiEgICAoc2V0cSBkaXJuYW1lIChmaWxlLW5hbWUtYXMt ZGlyZWN0b3J5IChleHBhbmQtZmlsZS1uYW1lIGRpcm5hbWUpKSkKICAgIChzYXZlLWV4Y3Vyc2lv bgohICAgICAobGV0ICgoZmlsZW5hbWUgKGRlc2t0b3AtZnVsbC1maWxlLW5hbWUgZGlybmFtZSkp CiEgICAgICAgICAgIChpbmZvCiEgICAgICAgICAgICAgKG1hcGNhcgohICAgICAgICAgICAgICAg IycobGFtYmRhIChiKQohICAgICAgICAgICAgICAgICAgIChzZXQtYnVmZmVyIGIpCiEgICAgICAg ICAgICAgICAgICAgKGxpc3QKISAgICAgICAgICAgICAgICAgICAgIChkZXNrdG9wLWZpbGUtbmFt ZSAoYnVmZmVyLWZpbGUtbmFtZSkgZGlybmFtZSkKISAgICAgICAgICAgICAgICAgICAgIChidWZm ZXItbmFtZSkKISAgICAgICAgICAgICAgICAgICAgIG1ham9yLW1vZGUKISAgICAgICAgICAgICAg ICAgICAgIDs7IG1pbm9yIG1vZGVzCiEgICAgICAgICAgICAgICAgICAgICAobGV0IChyZXQpCiEg ICAgICAgICAgICAgICAgICAgICAgIChtYXBjCiEgICAgICAgICAgICAgICAgICAgICAgICAgIyco bGFtYmRhIChtaW5vci1tb2RlKQohICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFuZAohICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoYm91bmRwIG1pbm9yLW1vZGUpCiEgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChzeW1ib2wtdmFsdWUgbWlub3ItbW9kZSkKISAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGxldCogKChzcGVjaWFsIChhc3NxIG1pbm9yLW1vZGUgZGVza3Rv cC1taW5vci1tb2RlLXRhYmxlKSkKISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICh2YWx1ZSAoY29uZCAoc3BlY2lhbCAoY2FkciBzcGVjaWFsKSkKISAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKGZ1bmN0aW9ucCBtaW5vci1tb2RlKSBt aW5vci1tb2RlKSkpKQohICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3aGVuIHZhbHVl IChhZGQtdG8tbGlzdCAncmV0IHZhbHVlKSkpKSkKISAgICAgICAgICAgICAgICAgICAgICAgICAo bWFwY2FyICMnY2FyIG1pbm9yLW1vZGUtYWxpc3QpKQohICAgICAgICAgICAgICAgICAgICAgICBy ZXQpCiEgICAgICAgICAgICAgICAgICAgICAocG9pbnQpCiEgICAgICAgICAgICAgICAgICAgICAo bGlzdCAobWFyayB0KSBtYXJrLWFjdGl2ZSkKISAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlci1y ZWFkLW9ubHkKISAgICAgICAgICAgICAgICAgICAgIDs7IEF1eGlsaWFyeSBpbmZvcm1hdGlvbgoh ICAgICAgICAgICAgICAgICAgICAgKHdoZW4gKGZ1bmN0aW9ucCBkZXNrdG9wLXNhdmUtYnVmZmVy KQohICAgICAgICAgICAgICAgICAgICAgICAoZnVuY2FsbCBkZXNrdG9wLXNhdmUtYnVmZmVyIGRp cm5hbWUpKQohICAgICAgICAgICAgICAgICAgICAgKGxldCAoKGxvY2FscyBkZXNrdG9wLWxvY2Fs cy10by1zYXZlKQohICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxvY2xpc3QgKGJ1ZmZlci1s b2NhbC12YXJpYWJsZXMpKQohICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxsKSkKISAgICAg ICAgICAgICAgICAgICAgICAgKHdoaWxlIGxvY2FscwohICAgICAgICAgICAgICAgICAgICAgICAg IChsZXQgKChoZXJlIChhc3NxIChjYXIgbG9jYWxzKSBsb2NsaXN0KSkpCiEgICAgICAgICAgICAg ICAgICAgICAgICAgICAoaWYgaGVyZQohICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2V0 cSBsbCAoY29ucyBoZXJlIGxsKSkKISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHdoZW4g KG1lbWJlciAoY2FyIGxvY2FscykgbG9jbGlzdCkKISAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoc2V0cSBsbCAoY29ucyAoY2FyIGxvY2FscykgbGwpKSkpKQohICAgICAgICAgICAgICAg ICAgICAgICAgIChzZXRxIGxvY2FscyAoY2RyIGxvY2FscykpKQohICAgICAgICAgICAgICAgICAg ICAgICBsbCkpKQohICAgICAgICAgICAgICAgKGJ1ZmZlci1saXN0KSkpCiEgICAgICAgICAgIChl YWdlciBkZXNrdG9wLXJlc3RvcmUtZWFnZXIpKQohICAgICAgICh3aXRoLXRlbXAtYnVmZmVyCiEg ICAgICAgICAoaW5zZXJ0CiEgICAgICAgICAgIjs7IC0qLSBtb2RlOiBlbWFjcy1saXNwOyBjb2Rp bmc6IGVtYWNzLW11bGU7IC0qLVxuIgohICAgICAgICAgIGRlc2t0b3AtaGVhZGVyCiEgICAgICAg ICAgIjs7IENyZWF0ZWQgIiAoY3VycmVudC10aW1lLXN0cmluZykgIlxuIgohICAgICAgICAgICI7 OyBEZXNrdG9wIGZpbGUgZm9ybWF0IHZlcnNpb24gIiBkZXNrdG9wLWZpbGUtdmVyc2lvbiAiXG4i CiEgICAgICAgICAgIjs7IEVtYWNzIHZlcnNpb24gIiBlbWFjcy12ZXJzaW9uICJcblxuIgohICAg ICAgICAgICI7OyBHbG9iYWwgc2VjdGlvbjpcbiIpCiEgICAgICAgICAoZG9saXN0ICh2YXJzcGVj IGRlc2t0b3AtZ2xvYmFscy10by1zYXZlKQohICAgICAgICAgICAoZGVza3RvcC1vdXR2YXIgdmFy c3BlYykpCiEgICAgICAgICAoaWYgKG1lbXEgJ2tpbGwtcmluZyBkZXNrdG9wLWdsb2JhbHMtdG8t c2F2ZSkKISAgICAgICAgICAgICAoaW5zZXJ0CiEgICAgICAgICAgICAgICIoc2V0cSBraWxsLXJp bmcteWFuay1wb2ludGVyIChudGhjZHIgIgohICAgICAgICAgICAgICAoaW50LXRvLXN0cmluZyAo LSAobGVuZ3RoIGtpbGwtcmluZykgKGxlbmd0aCBraWxsLXJpbmcteWFuay1wb2ludGVyKSkpCiEg ICAgICAgICAgICAgICIga2lsbC1yaW5nKSlcbiIpKQohIAohICAgICAgICAgKGluc2VydCAiXG47 OyBCdWZmZXIgc2VjdGlvbiAtLSBidWZmZXJzIGxpc3RlZCBpbiBzYW1lIG9yZGVyIGFzIGluIGJ1 ZmZlciBsaXN0OlxuIikKISAgICAgICAgIChkb2xpc3QgKGwgaW5mbykKISAgICAgICAgICAgKHdo ZW4gKGFwcGx5ICdkZXNrdG9wLXNhdmUtYnVmZmVyLXAgbCkKISAgICAgICAgICAgICAoaW5zZXJ0 ICIoIgohICAgICAgICAgICAgICAgICAgICAgKGlmIChvciAobm90IChpbnRlZ2VycCBlYWdlcikp CiEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1bmxlc3MgKHplcm9wIGVhZ2VyKQohICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZXRxIGVhZ2VyICgxLSBlYWdlcikpCiEgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdCkpCiEgICAgICAgICAgICAgICAgICAgICAgICAg ImRlc2t0b3AtY3JlYXRlLWJ1ZmZlciIKISAgICAgICAgICAgICAgICAgICAgICAgImRlc2t0b3At YXBwZW5kLWJ1ZmZlci1hcmdzIikKISAgICAgICAgICAgICAgICAgICAgICIgIgohICAgICAgICAg ICAgICAgICAgICAgZGVza3RvcC1maWxlLXZlcnNpb24pCiEgICAgICAgICAgICAgKGRvbGlzdCAo ZSBsKQohICAgICAgICAgICAgICAgKGluc2VydCAiXG4gICIgKGRlc2t0b3AtdmFsdWUtdG8tc3Ry aW5nIGUpKSkKISAgICAgICAgICAgICAoaW5zZXJ0ICIpXG5cbiIpKSkKISAgICAgICAgIChzZXRx IGRlZmF1bHQtZGlyZWN0b3J5IGRpcm5hbWUpCiEgICAgICAgICAobGV0ICgoY29kaW5nLXN5c3Rl bS1mb3Itd3JpdGUgJ2VtYWNzLW11bGUpKQohICAgICAgICAgICAod3JpdGUtcmVnaW9uIChwb2lu dC1taW4pIChwb2ludC1tYXgpIGZpbGVuYW1lIG5pbCAnbm9tZXNzYWdlKSkpKSkKISAgIChzZXRx IGRlc2t0b3AtZGlybmFtZSBkaXJuYW1lKSkKICAKICA7OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAg Ozs7IyMjYXV0b2xvYWQKLS0tIDgyMCw4ODggLS0tLQogIAogIDs7IC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KICA7OzsjIyNhdXRvbG9hZAohIChkZWZ1biBkZXNrdG9wLXNhdmUgKGRpcm5hbWUgJm9wdGlv bmFsIHJlbGVhc2UpCiAgICAiU2F2ZSB0aGUgZGVza3RvcCBpbiBhIGRlc2t0b3AgZmlsZS4KICBQ YXJhbWV0ZXIgRElSTkFNRSBzcGVjaWZpZXMgd2hlcmUgdG8gc2F2ZSB0aGUgZGVza3RvcCBmaWxl LgorIE9wdGlvbmFsIHBhcmFtZXRlciBSRUxFQVNFIHNheXMgd2hldGhlciB3ZSdyZSBkb25lIHdp dGggdGhpcyBkZXNrdG9wLgogIFNlZSBhbHNvIGBkZXNrdG9wLWJhc2UtZmlsZS1uYW1lJy4iCiAg ICAoaW50ZXJhY3RpdmUgIkREaXJlY3RvcnkgdG8gc2F2ZSBkZXNrdG9wIGZpbGUgaW46ICIpCiEg ICAoc2V0cSBkZXNrdG9wLWRpcm5hbWUgKGZpbGUtbmFtZS1hcy1kaXJlY3RvcnkgKGV4cGFuZC1m aWxlLW5hbWUgZGlybmFtZSkpKQogICAgKHNhdmUtZXhjdXJzaW9uCiEgICAgIChsZXQgKChlYWdl ciBkZXNrdG9wLXJlc3RvcmUtZWFnZXIpCiEgCSAgKG5ldy1tb2R0aW1lIChudGggNSAoZmlsZS1h dHRyaWJ1dGVzIChkZXNrdG9wLWZ1bGwtZmlsZS1uYW1lKSkpKSkKISAgICAgICAod2hlbgohIAkg IChvciAobm90IG5ldy1tb2R0aW1lKQkJOyBub3RoaW5nIHRvIG92ZXJ3cml0ZQohIAkgICAgICAo ZXF1YWwgZGVza3RvcC1maWxlLW1vZHRpbWUgbmV3LW1vZHRpbWUpCiEgCSAgICAgICh5ZXMtb3It bm8tcCAoaWYgZGVza3RvcC1maWxlLW1vZHRpbWUKISAJCQkgICAgICAgKGlmICg+IChmbG9hdC10 aW1lIG5ldy1tb2R0aW1lKSAoZmxvYXQtdGltZSBkZXNrdG9wLWZpbGUtbW9kdGltZSkpCiEgCQkJ CSAgICJEZXNrdG9wIGZpbGUgaXMgbW9yZSByZWNlbnQgdGhhbiB0aGUgb25lIGxvYWRlZC4gIFNh dmUgYW55d2F5PyAiCiEgCQkJCSAiRGVza3RvcCBmaWxlIGlzbid0IHRoZSBvbmUgbG9hZGVkLiAg T3ZlcndyaXRlIGl0PyAiKQohIAkJCSAgICAgIkN1cnJlbnQgZGVza3RvcCB3YXMgbm90IGxvYWRl ZCBmcm9tIGEgZmlsZS4gIE92ZXJ3cml0ZSB0aGlzIGRlc2t0b3AgZmlsZT8gIikpCiEgCSAgICAg ICh1bmxlc3MgcmVsZWFzZSAoZXJyb3IgIkRlc2t0b3AgZmlsZSBjb25mbGljdCIpKSkKISAKISAJ OzsgSWYgd2UncmUgZG9uZSB3aXRoIGl0LCByZWxlYXNlIHRoZSBsb2NrLgohIAk7OyBPdGhlcndp c2UsIGNsYWltIGl0IGlmIGl0J3MgdW5jbGFpbWVkIG9yIGlmIHdlIGNyZWF0ZWQgaXQuCiEgCShp ZiByZWxlYXNlIChkZXNrdG9wLXJlbGVhc2UtbG9jaykKISAJICAodW5sZXNzIChhbmQgbmV3LW1v ZHRpbWUgKGRlc2t0b3Atb3duZXIpKSAoZGVza3RvcC1jbGFpbS1sb2NrKSkpCiEgCiEgCSh3aXRo LXRlbXAtYnVmZmVyCiEgCSAgKGluc2VydAohIAkgICAiOzsgLSotIG1vZGU6IGVtYWNzLWxpc3A7 IGNvZGluZzogZW1hY3MtbXVsZTsgLSotXG4iCiEgCSAgIGRlc2t0b3AtaGVhZGVyCiEgCSAgICI7 OyBDcmVhdGVkICIgKGN1cnJlbnQtdGltZS1zdHJpbmcpICJcbiIKISAJICAgIjs7IERlc2t0b3Ag ZmlsZSBmb3JtYXQgdmVyc2lvbiAiIGRlc2t0b3AtZmlsZS12ZXJzaW9uICJcbiIKISAJICAgIjs7 IEVtYWNzIHZlcnNpb24gIiBlbWFjcy12ZXJzaW9uICJcbiIpCiEgCSAgKHNhdmUtZXhjdXJzaW9u IChydW4taG9va3MgJ2Rlc2t0b3Atc2F2ZS1ob29rKSkKISAJICAoZ290by1jaGFyIChwb2ludC1t YXgpKQohIAkgIChpbnNlcnQgIlxuOzsgR2xvYmFsIHNlY3Rpb246XG4iKQohIAkgIChtYXBjIChm dW5jdGlvbiBkZXNrdG9wLW91dHZhcikgZGVza3RvcC1nbG9iYWxzLXRvLXNhdmUpCiEgCSAgKGlm IChtZW1xICdraWxsLXJpbmcgZGVza3RvcC1nbG9iYWxzLXRvLXNhdmUpCiEgCSAgICAgIChpbnNl cnQKISAJICAgICAgICIoc2V0cSBraWxsLXJpbmcteWFuay1wb2ludGVyIChudGhjZHIgIgohIAkg ICAgICAgKGludC10by1zdHJpbmcgKC0gKGxlbmd0aCBraWxsLXJpbmcpIChsZW5ndGgga2lsbC1y aW5nLXlhbmstcG9pbnRlcikpKQohIAkgICAgICAgIiBraWxsLXJpbmcpKVxuIikpCiEgCiEgCSAg KGluc2VydCAiXG47OyBCdWZmZXIgc2VjdGlvbiAtLSBidWZmZXJzIGxpc3RlZCBpbiBzYW1lIG9y ZGVyIGFzIGluIGJ1ZmZlciBsaXN0OlxuIikKISAJICAoZG9saXN0IChsIChtYXBjYXIgJ2Rlc2t0 b3AtYnVmZmVyLWluZm8gKGJ1ZmZlci1saXN0KSkpCiEgCSAgICAod2hlbiAoYXBwbHkgJ2Rlc2t0 b3Atc2F2ZS1idWZmZXItcCBsKQohIAkgICAgICAoaW5zZXJ0ICIoIgohIAkJICAgICAgKGlmIChv ciAobm90IChpbnRlZ2VycCBlYWdlcikpCiEgCQkJICAgICAgKHVubGVzcyAoemVyb3AgZWFnZXIp CiEgCQkJCShzZXRxIGVhZ2VyICgxLSBlYWdlcikpCiEgCQkJCXQpKQohIAkJCSAgImRlc2t0b3At Y3JlYXRlLWJ1ZmZlciIKISAJCQkiZGVza3RvcC1hcHBlbmQtYnVmZmVyLWFyZ3MiKQohIAkJICAg ICAgIiAiCiEgCQkgICAgICBkZXNrdG9wLWZpbGUtdmVyc2lvbikKISAJICAgICAgKGRvbGlzdCAo ZSBsKQohIAkJKGluc2VydCAiXG4gICIgKGRlc2t0b3AtdmFsdWUtdG8tc3RyaW5nIGUpKSkKISAJ ICAgICAgKGluc2VydCAiKVxuXG4iKSkpCiEgCiEgCSAgKHNldHEgZGVmYXVsdC1kaXJlY3Rvcnkg ZGlybmFtZSkKISAJICAobGV0ICgoY29kaW5nLXN5c3RlbS1mb3Itd3JpdGUgJ2VtYWNzLW11bGUp KQohIAkgICAgKHdyaXRlLXJlZ2lvbiAocG9pbnQtbWluKSAocG9pbnQtbWF4KSAoZGVza3RvcC1m dWxsLWZpbGUtbmFtZSkgbmlsICdub21lc3NhZ2UpKQohIAkgIDs7IFdlIHJlbWVtYmVyIHdoZW4g aXQgd2FzIG1vZGlmaWVkICh3aGljaCBpcyBwcmVzdW1hYmx5IGp1c3Qgbm93KS4KISAJICAoc2V0 cSBkZXNrdG9wLWZpbGUtbW9kdGltZSAobnRoIDUgKGZpbGUtYXR0cmlidXRlcyAoZGVza3RvcC1m dWxsLWZpbGUtbmFtZSkpKSkpKSkpKQogIAogIDs7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICA7Ozsj IyNhdXRvbG9hZAoqKioqKioqKioqKioqKioKKioqIDg1Niw4OTAgKioqKgogICAgICAgICAgICAg ICA7OyBEZWZhdWx0OiBIb21lIGRpcmVjdG9yeS4KICAgICAgICAgICAgICAgIn4iKSkpKQogICAg ICAoaWYgKGZpbGUtZXhpc3RzLXAgKGRlc2t0b3AtZnVsbC1maWxlLW5hbWUpKQohICAgICAgIDs7 IERlc2t0b3AgZmlsZSBmb3VuZCwgcHJvY2VzcyBpdC4KISAgICAgICAobGV0ICgoZGVza3RvcC1m aXJzdC1idWZmZXIgbmlsKQohICAgICAgICAgICAgIChkZXNrdG9wLWJ1ZmZlci1vay1jb3VudCAw KQohICAgICAgICAgICAgIChkZXNrdG9wLWJ1ZmZlci1mYWlsLWNvdW50IDApCiEgICAgICAgICAg ICAgOzsgQXZvaWQgZGVza3RvcCBzYXZpbmcgZHVyaW5nIGV2YWx1YXRpb24gb2YgZGVza3RvcCBi dWZmZXIuCiEgCSAgICAoZGVza3RvcC1zYXZlIG5pbCkpCiEgCShkZXNrdG9wLWxhenktYWJvcnQp CiEgICAgICAgICA7OyBFdmFsdWF0ZSBkZXNrdG9wIGJ1ZmZlci4KISAgICAgICAgIChsb2FkIChk ZXNrdG9wLWZ1bGwtZmlsZS1uYW1lKSB0IHQgdCkKISAgICAgICAgIDs7IGBkZXNrdG9wLWNyZWF0 ZS1idWZmZXInIHB1dHMgYnVmZmVycyBhdCBlbmQgb2YgdGhlIGJ1ZmZlciBsaXN0LgohICAgICAg ICAgOzsgV2Ugd2FudCBidWZmZXJzIGV4aXN0aW5nIHByaW9yIHRvIGV2YWx1YXRpbmcgdGhlIGRl c2t0b3AgKGFuZCBub3QgcmV1c2VkKQohICAgICAgICAgOzsgdG8gYmUgcGxhY2VkIGF0IHRoZSBl bmQgb2YgdGhlIGJ1ZmZlciBsaXN0LCBzbyB3ZSBtb3ZlIHRoZW0gaGVyZS4KISAgICAgICAgICht YXBjICdidXJ5LWJ1ZmZlcgohICAgICAgICAgICAgICAgKG5yZXZlcnNlIChjZHIgKG1lbXEgZGVz a3RvcC1maXJzdC1idWZmZXIgKG5yZXZlcnNlIChidWZmZXItbGlzdCkpKSkpKQohICAgICAgICAg KHN3aXRjaC10by1idWZmZXIgKGNhciAoYnVmZmVyLWxpc3QpKSkKISAgICAgICAgIChydW4taG9v a3MgJ2Rlc2t0b3AtZGVsYXktaG9vaykKISAgICAgICAgIChzZXRxIGRlc2t0b3AtZGVsYXktaG9v ayBuaWwpCiEgICAgICAgICAocnVuLWhvb2tzICdkZXNrdG9wLWFmdGVyLXJlYWQtaG9vaykKISAg ICAgICAgIChtZXNzYWdlICJEZXNrdG9wOiAlZCBidWZmZXIlcyByZXN0b3JlZCVzJXMuIgohICAg ICAgICAgICAgICAgICAgZGVza3RvcC1idWZmZXItb2stY291bnQKISAgICAgICAgICAgICAgICAg IChpZiAoPSAxIGRlc2t0b3AtYnVmZmVyLW9rLWNvdW50KSAiIiAicyIpCiEgICAgICAgICAgICAg ICAgICAoaWYgKDwgMCBkZXNrdG9wLWJ1ZmZlci1mYWlsLWNvdW50KQohICAgICAgICAgICAgICAg ICAgICAgIChmb3JtYXQgIiwgJWQgZmFpbGVkIHRvIHJlc3RvcmUiIGRlc2t0b3AtYnVmZmVyLWZh aWwtY291bnQpCiEgICAgICAgICAgICAgICAgICAgICIiKQohICAgICAgICAgICAgICAgICAgKGlm IGRlc2t0b3AtYnVmZmVyLWFyZ3MtbGlzdAohICAgICAgICAgICAgICAgICAgICAgIChmb3JtYXQg IiwgJWQgdG8gcmVzdG9yZSBsYXppbHkiCiEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo bGVuZ3RoIGRlc2t0b3AtYnVmZmVyLWFyZ3MtbGlzdCkpCiEgICAgICAgICAgICAgICAgICAgICIi KSkKISAgICAgICAgIHQpCiAgICAgICAgOzsgTm8gZGVza3RvcCBmaWxlIGZvdW5kLgogICAgICAg IChkZXNrdG9wLWNsZWFyKQogICAgICAgIChsZXQgKChkZWZhdWx0LWRpcmVjdG9yeSBkZXNrdG9w LWRpcm5hbWUpKQotLS0gOTMxLDk4MSAtLS0tCiAgICAgICAgICAgICAgIDs7IERlZmF1bHQ6IEhv bWUgZGlyZWN0b3J5LgogICAgICAgICAgICAgICAifiIpKSkpCiAgICAgIChpZiAoZmlsZS1leGlz dHMtcCAoZGVza3RvcC1mdWxsLWZpbGUtbmFtZSkpCiEgCTs7IERlc2t0b3AgZmlsZSBmb3VuZCwg YnV0IGlzIGl0IGFscmVhZHkgaW4gdXNlPwohIAkobGV0ICgoZGVza3RvcC1maXJzdC1idWZmZXIg bmlsKQohIAkgICAgICAoZGVza3RvcC1idWZmZXItb2stY291bnQgMCkKISAJICAgICAgKGRlc2t0 b3AtYnVmZmVyLWZhaWwtY291bnQgMCkKISAJICAgICAgKG93bmVyIChkZXNrdG9wLW93bmVyKSkK ISAJICAgICAgOzsgQXZvaWQgZGVza3RvcCBzYXZpbmcgZHVyaW5nIGV2YWx1YXRpb24gb2YgZGVz a3RvcCBidWZmZXIuCiEgCSAgICAgIChkZXNrdG9wLXNhdmUgbmlsKSkKISAJICAoaWYgKGFuZCBv d25lcgohIAkJICAgKG5vdCAoeS1vci1uLXAgKGZvcm1hdCAiV2FybmluZzogZGVza3RvcCBmaWxl IGFwcGVhcnMgdG8gYmUgaW4gdXNlIGJ5IFBJRCAlcy5cblVzaW5nIGl0IG1heSBjYXVzZSBjb25m bGljdHMuICBVc2UgaXQgYW55d2F5PyAiIG93bmVyKSkpKQohIAkgICAgICAocHJvZ24gKHNldHEg ZGVza3RvcC1kaXJuYW1lIG5pbCkKISAJCSAgICAgKGxldCAoKGRlZmF1bHQtZGlyZWN0b3J5IGRl c2t0b3AtZGlybmFtZSkpCiEgCQkgICAgICAgKHJ1bi1ob29rcyAnZGVza3RvcC1ub3QtbG9hZGVk LWhvb2spKQohIAkJICAgICAobWVzc2FnZSAiRGVza3RvcCBmaWxlIGluIHVzZTsgbm90IGxvYWRl ZC4iKSkKISAJICAgIChkZXNrdG9wLWxhenktYWJvcnQpCiEgCSAgICA7OyBFdmFsdWF0ZSBkZXNr dG9wIGJ1ZmZlciBhbmQgcmVtZW1iZXIgd2hlbiBpdCB3YXMgbW9kaWZpZWQuCiEgCSAgICAobG9h ZCAoZGVza3RvcC1mdWxsLWZpbGUtbmFtZSkgdCB0IHQpCiEgCSAgICAoc2V0cSBkZXNrdG9wLWZp bGUtbW9kdGltZSAobnRoIDUgKGZpbGUtYXR0cmlidXRlcyAoZGVza3RvcC1mdWxsLWZpbGUtbmFt ZSkpKSkKISAJICAgIDs7IElmIGl0IHdhc24ndCBhbHJlYWR5LCBtYXJrIGl0IGFzIGluLXVzZSwg dG8gYm90aGVyIG90aGVyCiEgCSAgICA7OyBkZXNrdG9wIGluc3RhbmNlcy4KISAJICAgICh1bmxl c3Mgb3duZXIKISAJICAgICAgKGNvbmRpdGlvbi1jYXNlIG5pbCAoZGVza3RvcC1jbGFpbS1sb2Nr KQohIAkJKGZpbGUtZXJyb3IgKG1lc3NhZ2UgIkNvdWxkbid0IHJlY29yZCB1c2Ugb2YgZGVza3Rv cCBmaWxlIikKISAJCQkgICAgKHNpdC1mb3IgMSkpKSkKISAKISAJICAgIDs7IGBkZXNrdG9wLWNy ZWF0ZS1idWZmZXInIHB1dHMgYnVmZmVycyBhdCBlbmQgb2YgdGhlIGJ1ZmZlciBsaXN0LgohIAkg ICAgOzsgV2Ugd2FudCBidWZmZXJzIGV4aXN0aW5nIHByaW9yIHRvIGV2YWx1YXRpbmcgdGhlIGRl c2t0b3AgKGFuZAohIAkgICAgOzsgbm90IHJldXNlZCkgdG8gYmUgcGxhY2VkIGF0IHRoZSBlbmQg b2YgdGhlIGJ1ZmZlciBsaXN0LCBzbyB3ZQohIAkgICAgOzsgbW92ZSB0aGVtIGhlcmUuCiEgCSAg ICAobWFwYyAnYnVyeS1idWZmZXIKISAJCSAgKG5yZXZlcnNlIChjZHIgKG1lbXEgZGVza3RvcC1m aXJzdC1idWZmZXIgKG5yZXZlcnNlIChidWZmZXItbGlzdCkpKSkpKQohIAkgICAgKHN3aXRjaC10 by1idWZmZXIgKGNhciAoYnVmZmVyLWxpc3QpKSkKISAJICAgIChydW4taG9va3MgJ2Rlc2t0b3At ZGVsYXktaG9vaykKISAJICAgIChzZXRxIGRlc2t0b3AtZGVsYXktaG9vayBuaWwpCiEgCSAgICAo cnVuLWhvb2tzICdkZXNrdG9wLWFmdGVyLXJlYWQtaG9vaykKISAJICAgIChtZXNzYWdlICJEZXNr dG9wOiAlZCBidWZmZXIlcyByZXN0b3JlZCVzJXMuIgohIAkJICAgICBkZXNrdG9wLWJ1ZmZlci1v ay1jb3VudAohIAkJICAgICAoaWYgKD0gMSBkZXNrdG9wLWJ1ZmZlci1vay1jb3VudCkgIiIgInMi KQohIAkJICAgICAoaWYgKDwgMCBkZXNrdG9wLWJ1ZmZlci1mYWlsLWNvdW50KQohIAkJCSAoZm9y bWF0ICIsICVkIGZhaWxlZCB0byByZXN0b3JlIiBkZXNrdG9wLWJ1ZmZlci1mYWlsLWNvdW50KQoh IAkJICAgICAgICIiKQohIAkJICAgICAoaWYgZGVza3RvcC1idWZmZXItYXJncy1saXN0CiEgCQkJ IChmb3JtYXQgIiwgJWQgdG8gcmVzdG9yZSBsYXppbHkiCiEgCQkJCSAobGVuZ3RoIGRlc2t0b3At YnVmZmVyLWFyZ3MtbGlzdCkpCiEgCQkgICAgICAgIiIpKQohIAkgICAgdCkpCiAgICAgICAgOzsg Tm8gZGVza3RvcCBmaWxlIGZvdW5kLgogICAgICAgIChkZXNrdG9wLWNsZWFyKQogICAgICAgIChs ZXQgKChkZWZhdWx0LWRpcmVjdG9yeSBkZXNrdG9wLWRpcm5hbWUpKQo= ------=_20070608141702_84033 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel ------=_20070608141702_84033--