From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Vivek Newsgroups: gmane.emacs.devel Subject: Re: insert-file-contents and fifos Date: Sun, 5 May 2002 13:14:26 +0100 (BST) Sender: emacs-devel-admin@gnu.org Message-ID: References: <200205050534.g455Ybb01625@aztec.santafe.edu> NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-1782332633-1579465614-1020600866=:1557" X-Trace: main.gmane.org 1020600930 2827 127.0.0.1 (5 May 2002 12:15:30 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sun, 5 May 2002 12:15:30 +0000 (UTC) Cc: "emacs-devel@gnu.org" Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 174KvK-0000jU-00 for ; Sun, 05 May 2002 14:15:30 +0200 Original-Received: from fencepost.gnu.org ([199.232.76.164]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 174L1y-0006yS-00 for ; Sun, 05 May 2002 14:22:23 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 174Kv9-00072B-00; Sun, 05 May 2002 08:15:19 -0400 Original-Received: from salmon.pepperfish.net ([195.149.39.195]) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 174KuJ-0006w7-00; Sun, 05 May 2002 08:14:27 -0400 Original-Received: from localhost ([127.0.0.1]) by salmon.pepperfish.net with esmtp (Exim 3.35 #1 (Debian)) id 174KuI-00016X-00; Sun, 05 May 2002 13:14:26 +0100 X-X-Sender: Original-To: Richard Stallman In-Reply-To: <200205050534.g455Ybb01625@aztec.santafe.edu> Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.9 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:3600 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:3600 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---1782332633-1579465614-1020600866=:1557 Content-Type: TEXT/PLAIN; charset=US-ASCII On Sat, 4 May 2002, Richard Stallman wrote: > I don't really know how to use fifos, so I can't make a test case. > Can you send a specific test case with which to observe this problem? The attached perl script, when run, will create a fifo called .sig-dyn, daemonise, and sit attached to it, emitting a signature each time .sig-dyn is read from. If ~/sigd/sigfile (I do means "sigd", it's not a typo) is not present, then it uses fortune(6) as a source. GNU emacs 20 was capable of reading from this, 21 is not. The change appears to be the introduction of the new read_non_regular function in fileio.c : a strace shows emacs fetching the data from the file ( you can see the data being read ), and then aborting. Presumably the state of a fifo is sufficiently different from a non-regular file that read_non_regular reacts as if an error has occurred. There is a (possibly architecturally bad) patch on savannah.gnu.org that restores the old GNU emacs 20 behaviour specifically for fifos, while leaving all other file types to the new code. The patch is against the version of GNU emacs 21.1 (21.1-7) shipped with Debian GNU/Linux (woody) a while ago now - woody ships with 21.2-1 now. If there are any problems with getting the sigerator working, let me know. ( It should be pretty straightforward, I usually run it from my home directory, but it should be Ok anywhere it has write permission ). ---1782332633-1579465614-1020600866=:1557 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=sigerator Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=sigerator IyEvdXNyL2Jpbi9wZXJsDQoNCnVzZSBGY250bDsNCnVzZSBzdHJpY3Q7DQp1 c2UgdmFycyBxdyhAc2lnICRzaWcgJGxpZHgpOw0KDQpteSAkRklGTyA9ICcu c2lnLWR5bic7DQojJFNJR3tQSVBFfSA9IHN1YiB7IHdhcm4oIkJyb2tlbiBw aXBlOiAkIVxuIikgfTsNCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsNCiRTSUd7 SFVQfSA9IFwmcmVhZHNpZ3M7DQokU0lHe1RFUk19ID0gc3ViIHsgZXhpdCgw KSB9Ow0KDQpzdWIgcmVhZHNpZ3MgKCkNCnsNCiAgICBjaGRpcjsNCiAgICBp ZihzeXNvcGVuKFNJR1MsIGpvaW4oJy8nLCRFTlZ7SE9NRX0sIHF3KHNpZ2Qg c2lnZmlsZSkpLCBPX1JET05MWSwgdW5kZWYpKQ0KICAgIHsNCgkkLyA9ICIt LVxuIjsNCgljaG9tcChAc2lnID0gPFNJR1M+KTsNCgljbG9zZShTSUdTKTsN Cgkkc2lnID0NCgkgIHN1Yg0KCSAgew0KCSAgICAgIG15ICRpZHg7DQoJICAg ICAgZm9yKCRpZHggPSAkbGlkeDsgJGlkeCA9PSAkbGlkeDsgJGlkeCA9IGlu dChyYW5kKEBzaWcpKSkge30NCgkgICAgICBqb2luKCcnLCAiLS0gXG4iLCAk c2lnWyRsaWR4ID0gJGlkeF0pOw0KCSAgfTsNCiAgICB9DQogICAgZWxzZSB7 ICRzaWcgPSBzdWIgeyAiLS0gXG4iLmBmb3J0dW5lIC1zYCB9IH0NCg0KICAg IHVubGVzcygtcCAkRklGTykNCiAgICB7DQoJcmVuYW1lKCRGSUZPLCAiJEZJ Rk9+Iik7CQ0KCXN5c3RlbShta2ZpZm8gPT4gJEZJRk8pDQoJICAmJiBzeXN0 ZW0obWtub2QgPT4gJEZJRk8sICdwJykNCgkgICAgJiYgZGllKCJta3tub2R8 Zmlmb30gZmFpbGVkOiAkIVxuIik7DQogICAgfQ0KfQ0KDQpyZWFkc2lncygp Ow0KDQpmb3JrKCkgJiYgZXhpdCgwKTsNCg0KU0lHTE9PUDoNCnsNCiAgICBt eSAkd2kgPSAnJzsNCiAgICBteSAkd28gPSAnJzsNCg0KICAgIHdoaWxlICgt cCAkRklGTykNCiAgICB7DQoJbXkgJHMgPSAkc2lnLT4oKTsNCglteSAkbCA9 IGxlbmd0aCgkcyk7DQoJc3lzb3BlbihGSUZPLCAkRklGTywgT19XUk9OTFl8 T19TWU5DLCB1bmRlZikNCiAgICAgICAgICB8fCBkaWUoInN5c29wZW4oRkgs ICRGSUZPLCBPX1dST05MWXxPX1NZTkMsIHVuZGVmKSBmYWlsZWQ6ICQhXG4i KTsNCiAgICAgICAgc3lzd3JpdGUoRklGTywgJHMsICRsLCAwKTsNCiAgICAg ICAgY2xvc2UoRklGTyk7DQogICAgICAgIHNlbGVjdCh1bmRlZigpLCB1bmRl ZigpLCB1bmRlZigpLCAwLjUpOw0KICAgIH0NCn0NCg0Kd2FybigiJEZJRk8g aXMgbm90IGEgcGlwZTogZXhpdGluZ1xuIik7DQpleGl0KDApOw0K ---1782332633-1579465614-1020600866=:1557 Content-Type: TEXT/PLAIN; charset=iso-8859-1; name=sigfile Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=sigfile ZnNjayAtZiAtYiA4MTkzIC9kZXYvY29ydGV4DQotLQ0KQ29tZSwgR29yYXRy aXgsIHdlIG11c3QgcmV0dXJuIHRvIHRoZSBjaGFudHJ5IHRvIHByZXBhcmUg Zm9yIHRvbW9ycm93IG5pZ2h0IQ0KV2hhdCBhcmUgd2UgZ29ubmEgZG8gdG9t b3Jyb3cgbmlnaHQsIFRyZW1lcmU/DQpUaGUgc2FtZSB0aGluZyB3ZSBkbyBl dmVyeSBuaWdodCwgR29yYXRyaXg6IFRyeSB0byBUYWtlIE92ZXIgVGhlIFdv cmxkIQ0KLS0NCk5vIGdvb2QgZGVlZCBnb2VzIHVucHVuaXNoZWQuDQotLQ0K RGVhdGggYmVmb3JlIGRlY2FmLg0KLS0NCklmIHZvdGluZyBjb3VsZCBjaGFu Z2UgdGhpbmdzLCBpdCB3b3VsZCBiZSBpbGxlZ2FsLg0KLS0NCkp1c3Qgb25l IG51Y2xlYXIgZmFtaWx5IGNhbiBydWluIHlvdXIgd2hvbGUgbGlmZS4NCi0t DQpTeXNhZG1pbiAobik6IFRoZSB1bnRyYWluZWQgYmVpbmcgdW5kZXJwYWlk IGZvciBkb2luZyB0aGUgaW1wb3NzaWJsZSB3aXRoDQp0aGUgb2Jzb2xldGUN Ci0tDQpJIGR1bm5vIGFib3V0IHRoZSBCaWcgQmFuZy4gVGhlIEJpZyBLbHVk Z2UgSSBjYW4gYmVsaWV2ZSBpbi4NCi0tDQpZb3UgYXJlIGluIGEgbWF6ZSBv ZiB0d2lzdHkgWCByZXNvdXJjZXMsIGFsbCBsaWtlLg0KLS0NCklmIHdlIGFs bCB3b3JrIHRvZ2V0aGVyLCB3ZSBjYW4gdG90YWxseSBkaXNydXB0IHRoZSBz eXN0ZW0uDQotLQ0KSSdtIGp1c3QgYSBzaW1wbGUtbWluZGVkIHZpY2UtcHJl c2lkZW50IGluIGNoYXJnZSBvZiBvcGVyYXRpb25zLi4uDQotLQ0KIkhlIHdh cyB0b28geW91bmcgdG8gYmUgdGFrZW4gZnJvbSB1cy4iDQogICAgICAgICAg ICAgJ1lvdSB3ZXJlIHRoZSBvbmUgd2hvIGN1dCBoaW0gaW4gaGFsZiB3aXRo IGEgY2hhaW5zYXcsIGR1ZGUuJw0KLS0NCk5vYm9keSB3YW50cyBjb25zdHJ1 Y3RpdmUgY3JpdGljaXNtLiAgSXQncyBhbGwgd2UgY2FuIGRvIHRvIHB1dCB1 cCB3aXRoDQpjb25zdHJ1Y3RpdmUgcHJhaXNlLg0KLS0NCiJ3aGlwIG1lLCBi ZWF0IG1lLCBtYWtlIG1lIGFkbWluaXN0ZXIgYWl4ISIgLWFuZHJldw0KLS0N CiJJIGRvbid0IHN1ZmZlciBmcm9tIGluc2FuaXR5LCBJIGVuam95IGV2ZXJ5 IG1vbWVudCBvZiBpdCIgLSBBbm9uDQotLQ0KSXQgaXMgZWFzaWVyIHRvIGdl dCBmb3JnaXZlbmVzcyB0aGFuIHBlcm1pc3Npb24uDQotLQ0KSGUncyBiZWVu IHNob3QgdGhyb3VnaCB0aGUgY2hlc3Qgd2l0aCBhbiBhcnJvdy4NCldoYXQg YWJvdXQgaGlzIGhvcnNlPw0KSSBkb24ndCB0aGluayBhbnlvbmUncyBzaG90 IGhpbSB3aXRoIHRoYXQuDQotLQ0KIkFsd2F5cyB0cnkgdG8gZG8gdGhpbmdz IGluIGNocm9ub2xvZ2ljYWwgb3JkZXI7IGl0J3MgbGVzcyBjb25mdXNpbmcN CnRoYXQgd2F5LiINCi0tDQoiVGhleSdyZSB1bmZyaWVuZGx5LCB3aGljaCBp cyBmb3J0dW5hdGUsIHJlYWxseS4gIFRoZXknZCBiZSBkaWZmaWN1bHQNCnRv IGxpa2UuIg0KICAgICAgICAgICAgICAgIC0tIEF2b24NCi0tDQoiT3V0c2lk ZSBvZiBhIGRvZywgYSBib29rIGlzIGEgbWFuJ3MgYmVzdCBmcmllbmQ6IGFu ZCBpbnNpZGUgYSBkb2csDQppdCdzIHRvbyBkYXJrIHRvIHJlYWQuIg0KICAg ICAgICAgICAgICAgIC0tIEdyb3VjaG8gTWFyeA0KLS0NClJlYWRlciwgc3Vw cG9zZSB5b3Ugd2VyZSBhbiBpZGlvdC4gIEFuZCBzdXBwb3NlIHlvdSB3ZXJl IGEgbWVtYmVyIG9mDQpDb25ncmVzcy4gIEJ1dCBJIHJlcGVhdCBteXNlbGYu DQogICAgICAgICAgICAgICAgLS0gTWFyayBUd2Fpbg0KLS0NCk15IG1vdGhl ciBsb3ZlZCBjaGlsZHJlbiAtIHNoZSB3b3VsZCBoYXZlIGdpdmVuIGFueXRo aW5nIGlmIEkgaGFkIGJlZW4gb25lLg0KICAgICAgICAgICAgICAgIC0tIEdy b3VjaG8gTWFyeA0KLS0NCkkndmUgaGFkIGEgcGVyZmVjdGx5IHdvbmRlcmZ1 bCBldmVuaW5nLiAgQnV0IHRoaXMgd2Fzbid0IGl0Lg0KICAgICAgICAgICAg ICAgIC0tIEdyb3VjaG8gTWFyeA0KLS0NCiJBbSBJIG1pc3Npbmcgc29tZXRo aW5nIGVsc2U/IFRoZSBzYW1lIGNvbmZpZ3VyYXRpb24gaXMgd29ya2luZyBm aW5lIGVsc2V3aGVyZQ0KKGFsYmVpdCB3aXRoIGEgZGlmZmVyZW50IE9TLCBj b21wdXRlciBhbmQgbmV0d29yaykuLi4iDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBzZWVuIG9uIGEgbWFpbGlu ZyBsaXN0DQotLQ0KV2hlbiBzb21lb25lIHNheXMgIkkgd2FudCBhIHByb2dy YW1taW5nIGxhbmd1YWdlIGluIHdoaWNoIEkgbmVlZCBvbmx5DQpzYXkgd2hh dCBJIHdpc2ggZG9uZSwiIGdpdmUgaGltIGEgbG9sbGlwb3AuDQotLQ0KIkkg bGlrZSB3b3JrIC4uLiBJIGNhbiBzaXQgYW5kIHdhdGNoIGl0IGZvciBob3Vy cy4iDQotLQ0KQnkgZG9pbmcganVzdCBhIGxpdHRsZSBldmVyeSBkYXksIHlv dSBjYW4gZ3JhZHVhbGx5IGxldCB0aGUgdGFzaw0KY29tcGxldGVseSBvdmVy d2hlbG0geW91Lg0KLS0NCkV2ZXJ5b25lIHdvdWxkIF9saWtlXyBhIGZpcnN0 LiBCeSB0aGUgdGltZSB5b3UgZ2V0IHRvIHRoZSB0aGlyZCB5ZWFyLA0KeW91 IGJlY29tZSBtb3JlIGZhdGFsaXN0aWMsIHVudGlsIHlvdSBnZXQgdG8gdGhl IHBvaW50IHdoZW4gYSBraXBwZXJlZA0KaGVycmluZyB3aXRoIGEgV2Fyd2lj ayBjcmVzdCBvbiBpdCB3b3VsZCBiZSBhcyB3ZWxjb21lIGFzIGEgZGVncmVl Lg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC0gU3RlcGhlbiBXaWxsaWFtcw0KLS0NCiJJIGRvbid0IHdh bnQgdG8gZ28gdG8gdGhlIG1vdmllcyB0byBiZSBob3JyaWZpZWQgYW5kIGRl cHJlc3NlZC4iDQoiTm8sIEkgc3VwcG9zZSB5b3UndmUgZ290IHJlYWwgbGlm ZSB0byBkbyB0aGF0LiINCi0tDQpJdCBpcyBieSBjYWZmZWluZSBhbG9uZSBJ IHNldCBteSBtaW5kIGluIG1vdGlvbiwNCkl0IGlzIGJ5IHRoZSBiZWFucyBv ZiBKYXZhIHRoYXQgdGhvdWdodHMgYWNxdWlyZSBzcGVlZCwNClRoZSBoYW5k cyBhY3F1aXJlIGEgc2hha2luZywgdGhlIHNoYWtpbmcgYmVjb21lcyBhIHdh cm5pbmcsDQpJdCBpcyBieSBjYWZmZWluZSBhbG9uZSBJIHNldCBteSBtaW5k IGluIG1vdGlvbg0KLS0NCllvdSBnbyBpbnNhbmUgaWYgeW91IGdvIHdpdGhv dXQgc2xlZXAgZm9yIHRvbyBsb25nLg0KQW5kIG5vdCBpbiBhIGdvb2Qgd2F5 LCBlaXRoZXIuDQotLQ0KU2xlZXAsIHdoZXJlIGlzIHRoeSBzdGluZywgDQpC ZWQsIHdoZXJlIGlzIHRoeSB2aWN0b3J5Li4uDQogICAgICAgICAgICAgICAg ICAgLS0gSW5zb21uaWE/IE1lPw0KLS0NCk1hbnVhbD8gV2UndmUganVzdCBi ZWVuIHB1c2hpbmcgYnV0dG9ucyB0aWwgaXQgd29ya3MuLi4NCi0tDQpUaGVy ZSdzIGFuIG9sZCBwcm92ZXJiIHRoYXQgc2F5cyBqdXN0IGFib3V0IHdoYXRl dmVyIHlvdSB3YW50IGl0IHRvLg0KLS0NClB1dHQga25vdCB5b3JlIHRydXNz ZWQgaW5uIHNwZWxsIGNoZXF1ZXJzDQotLQ0KV2hhdCdzIHRoZSBwbHVyYWwg b2YgbW9uZ29vc2U/IE1vbmdvb3Nlcz8gTW9uZ2Vlc2U/IFBvbHlnb29zZT8N Ci0tDQpJIGFtIHdvcnRobGVzcy4gSSBzdHJ1Z2dsZSB3aXRoIHRoZSBzaW1w bGUgdGhpbmdzLiBJdCBzZWVtcyBzbyBlYXN5IGZvciANCmV2ZXJ5b25lIGVs c2UuIE9uZSBhcm1lZCBibGluZCBwZW9wbGUgY2xpbWIgbW91bnRhaW5zIGFu ZCB0ZWVuYWdlcnMgZ2V0DQpQaC5EJ3MuIEkgaGF2ZSB0cm91YmxlIGdldHRp bmcgb3V0IG9mIGJlZC4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC1UTUNNDQotLQ0KVGhhdCB3aGljaCBkb2Vzbid0IGtp bGwgeW91IHdpbGwgbWFrZSB5b3UgYml0dGVyIGFuZCBjeW5pY2FsLg0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLVRNRUcNCi0tDQoiQXJlbid0IHlvdSBhc2hhbWVkIG9m IHlvdXJzZWxmPyINCiJObywgSSBoYXZlIHBlb3BsZSB0byBkbyB0aGF0IGZv ciBtZS4iDQotLQ0KU3R1cGlkLCBfc3R1cGlkXyByYXQgY3JlYXR1cmVzLi4u DQotLQ0KTHVzZXJzLiBDYW4ndCBsaXZlIHdpdGggJ2VtLCBjYW4ndCBydW4g J2VtIG92ZXIgaW4gdGhlIGNhciBwYXJrIGFuZCBtYWtlDQppdCBsb29rIGxp a2UgYW4gYWNjaWRlbnQuLi4NCi0tDQpUaGUgdGltZSB5b3UgZW5qb3kgd2Fz dGluZyBpcyBub3Qgd2FzdGVkIHRpbWUuIA0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC0tIEJlcnRyYW5kIFJ1c3NlbGwN Ci0tDQoiSXQgaXMgdHdvIGRheXMgbGF0ZXIgYW5kIEkgYW0gc3RpbGwgYXQg dGhlIG9mZmljZS4gSSBkaWQgbm90IGdvIGFuZCBjaGFzZQ0KY29vdHMuIFRo ZXJlIGlzIHRvbyBtdWNoIHdvcmsgdG8gZG8uIEkgd2FudCB0byBkaWUuIiAN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAtLSBKYW1pZSBaYXdpbnNraQ0KLS0NClE6IFdoeSBkaWQgdGhl IHRhY2h5b24gY3Jvc3MgdGhlIHJvYWQ/IA0KQTogQmVjYXVzZSBpdCB3YXMg b24gdGhlIG90aGVyIHNpZGUuIA0KLS0NClRvIGVyciBpcyBodW1hbiwgVG8g cHVyciBmZWxpbmUuIC0tIFJvYmVydCBCeXJuZQ0KLS0NClRvIGVyciBpcyBo dW1hbiwgVG8gbW9vIGJvdmluZS4NCi0tDQpJIHRoaW5rIG15IG1lbW9yeSBp cyBpbXBsZW1lbnRlZCBhcyBhIGRpc3NvY2lhdGl2ZSBhcnJheS4uLg0KLS0N CiJBIGRpc3RyaWJ1dGVkIHN5c3RlbSBpcyBvbmUgaW4gd2hpY2ggSSBjYW5u b3QgZ2V0IHNvbWV0aGluZyBkb25lDQpiZWNhdXNlIGEgbWFjaGluZSBJJ3Zl IG5ldmVyIGhlYXJkIG9mIGlzIGRvd24iICAgDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLUxlc2xpZSBMYW1w b3J0DQotLQ0KIkFzIHlvdSBwb2ludCBvdXQsIEVGQVVMVCBzaXR1YXRpb25z IGFyZSBgdW5kZWZpbmVkJyB3aGljaCBtZWFucyB0aGUNCm1hY2hpbmUgaXMg ZW50aXRsZWQgdG8gZ3JvdyB3aW5ncyBhbiBsYXVuY2ggaXRzZWxmIHRvd2Fy ZHMgdGhlIHN1bi4uLiINCiAtLSBDaHJpcyBXZWRnd29vZCBvbiB0aGUgbGlu dXgta2VybmVsIG1haWxpbmcgbGlzdA0KLS0NCiIuLi4gSSd2ZSBzZWVuIFN1 biBtb25pdG9ycyBvbiBmaXJlIG9mZiB0aGUgc2lkZSBvZiB0aGUgbXVsdGlt ZWRpYSBsYWIuDQpJJ3ZlIHNlZW4gTlRVIGxpZ2h0cyBnbGl0dGVyIGluIHRo ZSBkYXJrIG5lYXIgdGhlIE1haWwgR2F0ZS4gIEFsbCB0aGVzZQ0KdGhpbmdz IHdpbGwgYmUgbG9zdCBpbiB0aW1lLCBsaWtlIHRoZSByb290IHBhcnRpdGlv biBsYXN0IHdlZWsuICBUaW1lDQp0byBkaWUuLi4iIC0gUGV0ZXIgR3V0bWFu biAtIGEucy5yDQotLQ0KSSdtIGFuIGFwYXRoZWlzdC4gVGhlIHF1ZXN0aW9u IGlzIG5vIGxvbmdlciBpbnRlcmVzdGluZywgDQphbmQgdGhlIGFuc3dlciBu byBsb25nZXIgbWF0dGVycy4gLSBwZXRybyAtIGEucy5yDQotLQ0KSW4gR2Vy bWFuICJpbnZlbnQtYS1uZXctd29yZC13aGVyZS1hLXBlcmZlY3RseS1nb29k LW9uZS1hbHJlYWR5LWV4aXN0cyIgDQppcyBwcm9iYWJseSBhIHdvcmQuIC0g UGV0ZXIgZGEgU2lsdmEgLSBhLnMucg0KLS0NCkkgbXVzdCBiZSBzYWQgd2hl biBJIGhhdmUgY2F1c2UsIGFuZCBzbWlsZSBhdCBubyAgbWFuJ3MgamVzdHM7 IA0KZWF0IHdoZW4gSSBoYXZlIHN0b21hY2gsIGFuZCB3YWl0IGZvciBubyBt YW4ncyBsZWlzdXJlOyANCnNsZWVwIHdoZW4gSSBhbSBkcm93c3ksIGFuZCB0 ZW5kIG9uIG5vIG1hbidzIGJ1c2luZXNzOyANCmxhdWdoIHdoZW4gSSBhbSBt ZXJyeSwgYW5kIGNsYXcgbm8gbWFuIGluIGhpcyBodW1vdXIuDQotLQ0KV2hh dCB0aGV5IGRvbid0IGtub3cgY2FuJ3QgaHVydCB0aGVtLg0KVGhhdCdzIG5v dCByZWFsbHkgdHJ1ZSBvZiBBaXIgVHJhZmZpYyBDb250cm9sLCBub3csIGlz IGl0Pw0KLS0NCiAgICAgICAgIkRvIHlvdSB0aGluayB0aGVyZSdzIGEgR29k PyINCiAgICAgICAgIldlbGwsIFNPTUVib2R5J3Mgb3V0IHRvIGdldCBtZSEi DQogICAgICAgICAgICAgICAgLS0gQ2FsdmluIGFuZCBIb2Jicw0KLS0NCkVp dGhlciBJJ20gZGVhZCBvciBteSB3YXRjaCBoYXMgc3RvcHBlZC4NCiAgICAg ICAgICAgICAgICAtLSBHcm91Y2hvIE1hcngncyBsYXN0IHdvcmRzDQotLQ0K VGhlIHRpbWUgZm9yIGFjdGlvbiBpcyBwYXN0ISAgTm93IGlzIHRoZSB0aW1l IGZvciBzZW5zZWxlc3MgYmlja2VyaW5nLg0KLS0NCkkgdW5kZXJzdGFuZCB5 b3VyIGxhbmd1YWdlIHBlcmZlY3RseS4NCkplIHBhcmxlIGZyYW7nYWlzIGNv bW1lIHVuZSB2YWNoZSBlc3BhZ25vbGUuDQpIYWJsbyBlc3Bh8W9sIGNvbW8g dW4gZ3JpbmdvIGJvcnJhY2hvLg0KSWNoIHNwcmVjaGVuIGRldXRzY2ggd2ll IGl0YWxpZW5pc2NoIEZ1c3NiYWxsdHJhaW5lci4NCg0K ---1782332633-1579465614-1020600866=:1557--