From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Julian Graham" Newsgroups: gmane.lisp.guile.devel Subject: Re: srfi-18 requirements Date: Sat, 21 Jun 2008 01:03:18 -0400 Message-ID: <2bc5f8210806202203w3b9e3d5dy1970898163395c2a@mail.gmail.com> References: <2bc5f8210710101854m1254160ei451026182b87e767@mail.gmail.com> <877iffssdn.fsf@ossau.uklinux.net> <2bc5f8210804031207s25be680aj99b50eaa1d66b6d7@mail.gmail.com> <87tziaogxp.fsf@ossau.uklinux.net> <2bc5f8210804131743p10e3a24bu15a4fb1985f72d1b@mail.gmail.com> <87ve1gscpj.fsf@ossau.uklinux.net> <2bc5f8210805142205o4bfd13f1x5f449a7ad6b64700@mail.gmail.com> <49dd78620805240442h2f2c1ea0r6d655fbbd64164ea@mail.gmail.com> <87y75qcfsm.fsf@gnu.org> <2bc5f8210806012148o3fd3bbb4j7a5cf7b6d3baa4a7@mail.gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_17831_11426628.1214024598285" X-Trace: ger.gmane.org 1214024622 20024 80.91.229.12 (21 Jun 2008 05:03:42 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 21 Jun 2008 05:03:42 +0000 (UTC) Cc: guile-devel@gnu.org To: "=?ISO-8859-1?Q?Ludovic_Court=E8s?=" Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Sat Jun 21 07:04:25 2008 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1K9vGy-0001L7-Mw for guile-devel@m.gmane.org; Sat, 21 Jun 2008 07:04:25 +0200 Original-Received: from localhost ([127.0.0.1]:55721 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1K9vG9-0007Yc-KT for guile-devel@m.gmane.org; Sat, 21 Jun 2008 01:03:33 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1K9vFz-0007Xf-He for guile-devel@gnu.org; Sat, 21 Jun 2008 01:03:23 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1K9vFy-0007W5-1K for guile-devel@gnu.org; Sat, 21 Jun 2008 01:03:22 -0400 Original-Received: from [199.232.76.173] (port=34148 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1K9vFx-0007Vz-IV for guile-devel@gnu.org; Sat, 21 Jun 2008 01:03:21 -0400 Original-Received: from fk-out-0910.google.com ([209.85.128.185]:55420) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1K9vFw-0003mZ-Tv for guile-devel@gnu.org; Sat, 21 Jun 2008 01:03:21 -0400 Original-Received: by fk-out-0910.google.com with SMTP id 18so1556604fkq.10 for ; Fri, 20 Jun 2008 22:03:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:cc:in-reply-to:mime-version:content-type:references; bh=v2kJjz+gZHZIEOvzZWoL146SZeHFE3DGyR1OIeneGEQ=; b=MoqnZC4YqQMwj0IasN+3y48WeiobA8Ilt6STmLosvSMGLqLLGAX86vY7ymWKc0wsWI Bv82le6xz8mquyxwS1UMHTKlNrraHrqbGnXLTFGGZB949KqlyDZ7fAsUX1/fvXj8D6X9 Kgop0JAeoFADHff14y2AWAgBiw4I+87zwNUPc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version :content-type:references; b=c2+rVePgJ4mUw/MXS+18SFyImS3d7jU1R8i0GcVCsG7XnDWQ1l+4wtPFezRuuDXmhO Uk2UMTKfO/XGs+5D+VpUgqGOhcU9j3aV6Ua1NRgs7hVRKV7cW2eq7+HG/5oM1vAL/cXt 9xGpWALrYowiujcpUqz7NdwplcWNajAqgdX2s= Original-Received: by 10.82.191.3 with SMTP id o3mr267208buf.17.1214024598302; Fri, 20 Jun 2008 22:03:18 -0700 (PDT) Original-Received: by 10.82.176.10 with HTTP; Fri, 20 Jun 2008 22:03:18 -0700 (PDT) In-Reply-To: <2bc5f8210806012148o3fd3bbb4j7a5cf7b6d3baa4a7@mail.gmail.com> X-detected-kernel: by monty-python.gnu.org: Linux 2.6 (newer, 2) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:7339 Archived-At: ------=_Part_17831_11426628.1214024598285 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Yikes, didn't mean for it to take this long. Work got crazy, then my laptop died. At any rate, find attached a draft of an SRFI-18 section. Let me know what you think. Apologies in advance for any punctuation screw-ups or missing spaces. On Mon, Jun 2, 2008 at 12:48 AM, Julian Graham wrote: >> BTW, it'd be nice to have an "SRFI-18" node in the manual. :-) > > Working on it... Should have something for you in a few days. ------=_Part_17831_11426628.1214024598285 Content-Type: text/x-diff; name=0001-srfi-modules.texi-SRFI-18-New-sections.patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_fhpqumys0 Content-Disposition: attachment; filename=0001-srfi-modules.texi-SRFI-18-New-sections.patch RnJvbSA2OWUwNWRjMzkxNjdlMzEwMzE3MWJlMjc4ODc1Mjk2NTliNzA5YjY1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpYW4gR3JhaGFtIDxqdWxpYW5AY291bnR5aGVsbC4obm9u ZSk+CkRhdGU6IFNhdCwgMjEgSnVuIDIwMDggMDA6NTU6MTcgLTA0MDAKU3ViamVjdDogW1BBVENI XSBzcmZpLW1vZHVsZXMudGV4aSAoU1JGSS0xOCk6IE5ldyBzZWN0aW9ucy4KCi0tLQogZG9jL3Jl Zi9zcmZpLW1vZHVsZXMudGV4aSB8ICAzNDUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKystCiAxIGZpbGVzIGNoYW5nZWQsIDM0MyBpbnNlcnRpb25zKCspLCAyIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9yZWYvc3JmaS1tb2R1bGVzLnRleGkgYi9kb2Mv cmVmL3NyZmktbW9kdWxlcy50ZXhpCmluZGV4IDMxYmE0OTguLjI2Yjk1ZWMgMTAwNjQ0Ci0tLSBh L2RvYy9yZWYvc3JmaS1tb2R1bGVzLnRleGkKKysrIGIvZG9jL3JlZi9zcmZpLW1vZHVsZXMudGV4 aQpAQCAtMzQsNiArMzQsNyBAQCBnZXQgdGhlIHJlbGV2YW50IFNSRkkgZG9jdW1lbnRzIGZyb20g dGhlIFNSRkkgaG9tZSBwYWdlCiAqIFNSRkktMTQ6OiAgICAgICAgICAgICAgICAgICAgIENoYXJh Y3Rlci1zZXQgbGlicmFyeS4KICogU1JGSS0xNjo6ICAgICAgICAgICAgICAgICAgICAgY2FzZS1s YW1iZGEKICogU1JGSS0xNzo6ICAgICAgICAgICAgICAgICAgICAgR2VuZXJhbGl6ZWQgc2V0IQor KiBTUkZJLTE4OjogICAgICAgICAgICAgICAgICAgICBNdWx0aXRocmVhZGluZyBzdXBwb3J0CiAq IFNSRkktMTk6OiAgICAgICAgICAgICAgICAgICAgIFRpbWUvRGF0ZSBsaWJyYXJ5LgogKiBTUkZJ LTI2OjogICAgICAgICAgICAgICAgICAgICBTcGVjaWFsaXppbmcgcGFyYW1ldGVycwogKiBTUkZJ LTMxOjogICAgICAgICAgICAgICAgICAgICBBIHNwZWNpYWwgZm9ybSBgcmVjJyBmb3IgcmVjdXJz aXZlIGV2YWx1YXRpb24KQEAgLTE2NzgsNiArMTY3OSwzNDQgQEAgVGhlIHNhbWUgYXMgdGhlIEd1 aWxlIGNvcmUgQGNvZGV7bWFrZS1wcm9jZWR1cmUtd2l0aC1zZXR0ZXJ9CiBAZW5kIGRlZnVuCiAK IAorQG5vZGUgU1JGSS0xOAorQHN1YnNlY3Rpb24gU1JGSS0xOCAtIE11bHRpdGhyZWFkaW5nIHN1 cHBvcnQKK0BjaW5kZXggU1JGSS0xOAorCitUaGlzIGlzIGFuIGltcGxlbWVudGF0aW9uIG9mIHRo ZSBTUkZJLTE4IHRocmVhZGluZyBhbmQgc3luY2hyb25pemF0aW9uCitsaWJyYXJ5LiAgVGhlIGZ1 bmN0aW9ucyBhbmQgdmFyaWFibGVzIGRlc2NyaWJlZCBoZXJlIGFyZSBwcm92aWRlZCBieQorCitA ZXhhbXBsZQorKHVzZS1tb2R1bGVzIChzcmZpIHNyZmktMTgpKQorQGVuZCBleGFtcGxlCisKK0Fz IGEgZ2VuZXJhbCBydWxlLCB0aGUgZGF0YSB0eXBlcyBhbmQgZnVuY3Rpb25zIGluIHRoaXMgU1JG SS0xOAoraW1wbGVtZW50YXRpb24gYXJlIGNvbXBhdGlibGUgd2l0aCB0aGUgdHlwZXMgYW5kIGZ1 bmN0aW9ucyBpbiBHdWlsZSdzCitjb3JlIHRocmVhZGluZyBjb2RlLiAgRm9yIGV4YW1wbGUsIG11 dGV4ZXMgY3JlYXRlZCB3aXRoIHRoZSBTUkZJLTE4IAorQGNvZGV7bWFrZS1tdXRleH0gZnVuY3Rp b24gY2FuIGJlIHBhc3NlZCB0byB0aGUgYnVpbHQtaW4gR3VpbGUgCitmdW5jdGlvbiBAY29kZXts b2NrLW11dGV4fSAoQHB4cmVme011dGV4ZXMgYW5kIENvbmRpdGlvbiBWYXJpYWJsZXN9KSwKK2Fu ZCBtdXRleGVzIGNyZWF0ZWQgd2l0aCB0aGUgYnVpbGQtaW4gR3VpbGUgZnVuY3Rpb24gQGNvZGV7 bWFrZS1tdXRleH0KK2NhbiBiZSBwYXNzZWQgdG8gdGhlIFNSRkktMTggZnVuY3Rpb24gQGNvZGV7 bXV0ZXgtbG9jayF9LiAgQ2FzZXMgaW4KK3doaWNoIHRoaXMgZG9lcyBub3QgaG9sZCB0cnVlIGFy ZSBub3RlZCBpbiB0aGUgZm9sbG93aW5nIHNlY3Rpb25zLgorCitAbWVudQorKiBTUkZJLTE4IFRo cmVhZHM6OiAgICAgICAgICAgICBFeGVjdXRpbmcgY29kZSAKKyogU1JGSS0xOCBNdXRleGVzOjog ICAgICAgICAgICAgTXV0dWFsIGV4Y2x1c2lvbiBkZXZpY2VzCisqIFNSRkktMTggQ29uZGl0aW9u IHZhcmlhYmxlczo6IFN5bmNocm9uaXppbmcgb2YgZ3JvdXBzIG9mIHRocmVhZHMKKyogU1JGSS0x OCBUaW1lOjogICAgICAgICAgICAgICAgUmVwcmVzZW50YXRpb24gb2YgdGltZXMgYW5kIGR1cmF0 aW9ucworKiBTUkZJLTE4IEV4Y2VwdGlvbnM6OiAgICAgICAgICBTaWduYWxsaW5nIGFuZCBoYW5k bGluZyBlcnJvcnMKK0BlbmQgbWVudQorCitAbm9kZSBTUkZJLTE4IFRocmVhZHMKK0BzdWJzdWJz ZWN0aW9uIFNSRkktMTggVGhyZWFkcworCitUaHJlYWRzIGNyZWF0ZWQgYnkgU1JGSS0xOCBkaWZm ZXIgaW4gdHdvIHdheXMgZnJvbSB0aHJlYWRzIGNyZWF0ZWQgYnkgCitHdWlsZSdzIGJ1aWx0LWlu IHRocmVhZCBmdW5jdGlvbnMuICBGaXJzdCwgYSB0aHJlYWQgY3JlYXRlZCBieSBTUkZJLTE4CitA Y29kZXttYWtlLXRocmVhZH0gYmVnaW5zIGluIGEgYmxvY2tlZCBzdGF0ZSBhbmQgd2lsbCBub3Qg c3RhcnQgCitleGVjdXRpb24gdW50aWwgQGNvZGV7dGhyZWFkLXN0YXJ0IX0gaXMgY2FsbGVkIG9u IGl0LiAgU2Vjb25kLCBTUkZJLTE4Cit0aHJlYWRzIGFyZSBjb25zdHJ1Y3RlZCB3aXRoIGEgdG9w LWxldmVsIGV4Y2VwdGlvbiBoYW5kbGVyIHRoYXQgCitjYXB0dXJlcyBhbnkgZXhjZXB0aW9ucyB0 aGF0IGFyZSB0aHJvd24gb24gdGhyZWFkIGV4aXQuICBJbiBhbGwgb3RoZXIKK3JlZ2FyZHMsIFNS RkktMTggdGhyZWFkcyBhcmUgaWRlbnRpY2FsIHRvIG5vcm1hbCBHdWlsZSB0aHJlYWRzLgorCitA ZGVmdW4gY3VycmVudC10aHJlYWQKK1JldHVybnMgdGhlIHRocmVhZCB0aGF0IGNhbGxlZCB0aGlz IGZ1bmN0aW9uLiAgVGhpcyBpcyB0aGUgc2FtZQorcHJvY2VkdXJlIGFzIHRoZSBzYW1lLW5hbWVk IGJ1aWx0LWluIHByb2NlZHVyZSBAY29kZXtjdXJyZW50LXRocmVhZH0KKyhAcHhyZWZ7VGhyZWFk c30pLgorQGVuZCBkZWZ1bgorCitAZGVmdW4gdGhyZWFkPyBvYmoKK1JldHVybnMgQGNvZGV7I3R9 IGlmIEB2YXJ7b2JqfSBpcyBhIHRocmVhZCwgQGNvZGV7I2Z9IG90aGVyd2lzZS4gIFRoaXMKK2lz IHRoZSBzYW1lIHByb2NlZHVyZSBhcyB0aGUgc2FtZS1uYW1lZCBidWlsdC1pbiBwcm9jZWR1cmUg CitAY29kZXt0aHJlYWQ/fSAoQHB4cmVme1RocmVhZHN9KS4KK0BlbmQgZGVmdW4KKworQGRlZnVu IG1ha2UtdGhyZWFkIHRodW5rIFtuYW1lXQorQ2FsbCBAY29kZXt0aHVua30gaW4gYSBuZXcgdGhy ZWFkIGFuZCB3aXRoIGEgbmV3IGR5bmFtaWMgc3RhdGUsCityZXR1cm5pbmcgdGhlIG5ldyB0aHJl YWQgYW5kIG9wdGlvbmFsbHkgYXNzaWduaW5nIGl0IHRoZSBvYmplY3QgbmFtZQorQHZhcntuYW1l fSwgd2hpY2ggbWF5IGJlIGFueSBTY2hlbWUgb2JqZWN0LgorCitOb3RlIHRoYXQgdGhlIG5hbWUg QGNvZGV7bWFrZS10aHJlYWR9IGNvbmZsaWN0cyB3aXRoIHRoZSAKK0Bjb2RleyhpY2UtOSB0aHJl YWRzKX0gZnVuY3Rpb24gQGNvZGV7bWFrZS10aHJlYWR9LiAgQXBwbGljYXRpb25zIAord2FudGlu ZyB0byB1c2UgYm90aCBvZiB0aGVzZSBmdW5jdGlvbnMgd2lsbCBuZWVkIHRvIHJlZmVyIHRvIHRo ZW0gYnkgCitkaWZmZXJlbnQgbmFtZXMuCitAZW5kIGRlZnVuCisKK0BkZWZ1biB0aHJlYWQtbmFt ZSB0aHJlYWQKK1JldHVybnMgdGhlIG5hbWUgYXNzaWduZWQgdG8gQHZhcnt0aHJlYWR9IGF0IHRo ZSB0aW1lIG9mIGl0cyBjcmVhdGlvbiwKK29yIEBjb2RleyNmfSBpZiBpdCB3YXMgbm90IGdpdmVu IGEgbmFtZS4KK0BlbmQgZGVmdW4KKworQGRlZnVuIHRocmVhZC1zcGVjaWZpYyB0aHJlYWQKK0Bk ZWZ1bnggdGhyZWFkLXNwZWNpZmljLXNldCEgdGhyZWFkIG9iagorR2V0IG9yIHNldCB0aGUgYGBv YmplY3Qtc3BlY2lmaWMnJyBwcm9wZXJ0eSBvZiBAdmFye3RocmVhZH0uICBJbgorR3VpbGUncyBp bXBsZW1lbnRhdGlvbiBvZiBTUkZJLTE4LCB0aGlzIHZhbHVlIGlzIHN0b3JlZCBhcyBhbiBvYmpl Y3QKK3Byb3BlcnR5LCBhbmQgd2lsbCBiZSBAY29kZXsjZn0gaWYgbm90IHNldC4KK0BlbmQgZGVm dW4KKworQGRlZnVuIHRocmVhZC1zdGFydCEgdGhyZWFkCitVbmJsb2NrcyBAdmFye3RocmVhZH0g YW5kIGFsbG93cyBpdCB0byBiZWdpbiBleGVjdXRpb24gaWYgaXQgaGFzIG5vdAorZG9uZSBzbyBh bHJlYWR5LgorQGVuZCBkZWZ1bgorCitAZGVmdW4gdGhyZWFkLXlpZWxkIQorSWYgb25lIG9yIG1v cmUgdGhyZWFkcyBhcmUgd2FpdGluZyB0byBleGVjdXRlLCBjYWxsaW5nIAorQGNvZGV7dGhyZWFk LXlpZWxkIX0gZm9yY2VzIGFuIGltbWVkaWF0ZSBjb250ZXh0IHN3aXRjaCB0byBvbmUgb2YgdGhl bS4KK090aGVyd2lzZSwgQGNvZGV7dGhyZWFkLXlpZWxkIX0gaGFzIG5vIGVmZmVjdC4gIEBjb2Rl e3RocmVhZC15aWVsZCF9IAorYmVoYXZlcyBpZGVudGljYWxseSB0byB0aGUgR3VpbGUgYnVpbHQt aW4gZnVuY3Rpb24gQGNvZGV7eWllbGR9LgorQGVuZCBkZWZ1bgorCitAZGVmdW4gdGhyZWFkLXNs ZWVwISB0aW1lb3V0CitUaGUgY3VycmVudCB0aHJlYWQgd2FpdHMgdW50aWwgdGhlIHBvaW50IHNw ZWNpZmllZCBieSB0aGUgdGltZSBvYmplY3QKK0B2YXJ7dGltZW91dH0gaXMgcmVhY2hlZCAoQHB4 cmVme1NSRkktMTggVGltZX0pLiAgVGhpcyBibG9ja3MgdGhlIAordGhyZWFkIG9ubHkgaWYgQHZh cnt0aW1lb3V0fSByZXByZXNlbnRzIGEgcG9pbnQgaW4gdGhlIGZ1dHVyZS4gIGl0IGlzIAorYW4g ZXJyb3IgZm9yIEB2YXJ7dGltZW91dH0gdG8gYmUgQGNvZGV7I2Z9LgorQGVuZCBkZWZ1bgorCitA ZGVmdW4gdGhyZWFkLXRlcm1pbmF0ZSEgdGhyZWFkCitDYXVzZXMgYW4gYWJub3JtYWwgdGVybWlu YXRpb24gb2YgQHZhcnt0aHJlYWR9LiAgSWYgQHZhcnt0aHJlYWR9IGlzCitub3QgYWxyZWFkeSB0 ZXJtaW5hdGVkLCBhbGwgbXV0ZXhlcyBvd25lZCBieSBAdmFye3RocmVhZH0gYmVjb21lCit1bmxv Y2tlZC9hYmFuZG9uZWQuICBJZiBAdmFye3RocmVhZH0gaXMgdGhlIGN1cnJlbnQgdGhyZWFkLCAK K0Bjb2Rle3RocmVhZC10ZXJtaW5hdGUhfSBkb2VzIG5vdCByZXR1cm4uICBPdGhlcndpc2UgCitA Y29kZXt0aHJlYWQtdGVybWluYXRlIX0gcmV0dXJucyBhbiB1bnNwZWNpZmllZCB2YWx1ZTsgdGhl IHRlcm1pbmF0aW9uCitvZiBAdmFye3RocmVhZH0gd2lsbCBvY2N1ciBiZWZvcmUgQGNvZGV7dGhy ZWFkLXRlcm1pbmF0ZSF9IHJldHVybnMuICAKK1N1YnNlcXVlbnQgYXR0ZW1wdHMgdG8gam9pbiBv biBAdmFye3RocmVhZH0gd2lsbCBjYXVzZSBhIGBgdGVybWluYXRlZCAKK3RocmVhZCBleGNlcHRp b24nJyB0byBiZSByYWlzZWQuCisKK0Bjb2Rle3RocmVhZC10ZXJtaW5hdGUhfSBpcyBjb21wYXRp YmxlIHdpdGggdGhlIHRocmVhZCBjYW5jZWxsYXRpb24KK3Byb2NlZHVyZXMgaW4gdGhlIGNvcmUg dGhyZWFkcyBBUEkgKEBweHJlZntUaHJlYWRzfSkgaW4gdGhhdCBpZiBhIAorY2xlYW51cCBoYW5k bGVyIGhhcyBiZWVuIGluc3RhbGxlZCBmb3IgdGhlIHRhcmdldCB0aHJlYWQsIGl0IHdpbGwgYmUg CitjYWxsZWQgYmVmb3JlIHRoZSB0aHJlYWQgZXhpdHMgYW5kIGl0cyByZXR1cm4gdmFsdWUgKG9y IGV4Y2VwdGlvbiwgaWYKK2FueSkgd2lsbCBiZSBzdG9yZWQgZm9yIGxhdGVyIHJldHJpZXZhbCB2 aWEgYSBjYWxsIHRvIAorQGNvZGV7dGhyZWFkLWpvaW4hfS4KK0BlbmQgZGVmdW4KKworQGRlZnVu IHRocmVhZC1qb2luISB0aHJlYWQgW3RpbWVvdXQgW3RpbWVvdXQtdmFsXV0KK1dhaXQgZm9yIEB2 YXJ7dGhyZWFkfSB0byB0ZXJtaW5hdGUgYW5kIHJldHVybiBpdHMgZXhpdCB2YWx1ZS4gIFdoZW4g YSAKK3RpbWUgdmFsdWUgQHZhcnt0aW1lb3V0fSBpcyBnaXZlbiwgaXQgc3BlY2lmaWVzIGEgcG9p bnQgaW4gdGltZSB3aGVyZQordGhlIHdhaXRpbmcgc2hvdWxkIGJlIGFib3J0ZWQuICBXaGVuIHRo ZSB3YWl0aW5nIGlzIGFib3J0ZWQsIAorQHZhcnt0aW1lb3V0dmFsfSBpcyByZXR1cm5lZCBpZiBp dCBpcyBzcGVjaWZpZWQ7IG90aGVyd2lzZSwgYQorQGNvZGV7am9pbi10aW1lb3V0LWV4Y2VwdGlv bn0gZXhjZXB0aW9uIGlzIHJhaXNlZCAKKyhAcHhyZWZ7U1JGSS0xOCBFeGNlcHRpb25zfSkuICBF eGNlcHRpb25zIG1heSBhbHNvIGJlIHJhaXNlZCBpZiB0aGUgCit0aHJlYWQgd2FzIHRlcm1pbmF0 ZWQgYnkgYSBjYWxsIHRvIEBjb2Rle3RocmVhZC10ZXJtaW5hdGUhfSAKKyhAY29kZXt0ZXJtaW5h dGVkLXRocmVhZC1leGNlcHRpb259IHdpbGwgYmUgcmFpc2VkKSBvciBpZiB0aGUgdGhyZWFkIAor ZXhpdGVkIGJ5IHJhaXNpbmcgYW4gZXhjZXB0aW9uIHRoYXQgd2FzIGhhbmRsZWQgYnkgdGhlIHRv cC1sZXZlbCAKK2V4Y2VwdGlvbiBoYW5kbGVyIChAY29kZXt1bmNhdWdodC1leGNlcHRpb259IHdp bGwgYmUgcmFpc2VkOyB0aGUgCitvcmlnaW5hbCBleGNlcHRpb24gY2FuIGJlIHJldHJpZXZlZCB1 c2luZyAKK0Bjb2Rle3VuY2F1Z2h0LWV4Y2VwdGlvbi1yZWFzb259KS4KK0BlbmQgZGVmdW4KKwor CitAbm9kZSBTUkZJLTE4IE11dGV4ZXMKK0BzdWJzdWJzZWN0aW9uIFNSRkktMTggTXV0ZXhlcwor CitUaGUgYmVoYXZpb3Igb2YgR3VpbGUncyBidWlsdC1pbiBtdXRleGVzIGlzIHBhcmFtZXRlcml6 ZWQgdmlhIGEgc2V0IG9mCitmbGFncyBwYXNzZWQgdG8gdGhlIEBjb2Rle21ha2UtbXV0ZXh9IHBy b2NlZHVyZSBpbiB0aGUgY29yZQorKEBweHJlZntNdXRleGVzIGFuZCBDb25kaXRpb24gVmFyaWFi bGVzfSkuICBUbyBzYXRpc2Z5IHRoZSByZXF1aXJlbWVudHMKK2ZvciBtdXRleGVzIHNwZWNpZmll ZCBieSBTUkZJLTE4LCB0aGUgQGNvZGV7bWFrZS1tdXRleH0gcHJvY2VkdXJlCitkZXNjcmliZWQg YmVsb3cgc2V0cyB0aGUgZm9sbG93aW5nIGZsYWdzOgorQGl0ZW1pemUgQGJ1bGxldAorQGl0ZW0K K0Bjb2Rle3JlY3Vyc2l2ZX06IHRoZSBtdXRleCBjYW4gYmUgbG9ja2VkIHJlY3Vyc2l2ZWx5CitA aXRlbQorQGNvZGV7dW5jaGVja2VkLXVubG9ja306IGF0dGVtcHRzIHRvIHVubG9jayBhIG11dGV4 IHRoYXQgaXMgYWxyZWFkeQordW5sb2NrZWQgd2lsbCBub3QgcmFpc2UgYW4gZXhjZXB0aW9uCitA aXRlbQorQGNvZGV7YWxsb3ctZXh0ZXJuYWwtdW5sb2NrfTogdGhlIG11dGV4IGNhbiBiZSB1bmxv Y2tlZCBieSBhbnkgdGhyZWFkLAorbm90IGp1c3QgdGhlIHRocmVhZCB0aGF0IGxvY2tlZCBpdCBv cmlnaW5hbGx5CitAZW5kIGl0ZW1pemUKKworQGRlZnVuIG1ha2UtbXV0ZXggW25hbWVdCitSZXR1 cm5zIGEgbmV3IG11dGV4LCBvcHRpb25hbGx5IGFzc2lnbmluZyBpdCB0aGUgb2JqZWN0IG5hbWUg CitAdmFye25hbWV9LCB3aGljaCBtYXkgYmUgYW55IFNjaGVtZSBvYmplY3QuICBUaGUgcmV0dXJu ZWQgbXV0ZXggd2lsbCBiZQorY3JlYXRlZCB3aXRoIHRoZSBjb25maWd1cmF0aW9uIGRlc2NyaWJl ZCBhYm92ZS4gIE5vdGUgdGhhdCB0aGUgbmFtZSAKK0Bjb2Rle21ha2UtbXV0ZXh9IGNvbmZsaWN0 cyB3aXRoIEd1aWxlIGNvcmUgZnVuY3Rpb24gQGNvZGV7bWFrZS1tdXRleH0uCitBcHBsaWNhdGlv bnMgd2FudGluZyB0byB1c2UgYm90aCBvZiB0aGVzZSBmdW5jdGlvbnMgd2lsbCBuZWVkIHRvIHJl ZmVyIAordG8gdGhlbSBieSBkaWZmZXJlbnQgbmFtZXMuCitAZW5kIGRlZnVuCisKK0BkZWZ1biBt dXRleC1uYW1lIG11dGV4CitSZXR1cm5zIHRoZSBuYW1lIGFzc2lnbmVkIHRvIEB2YXJ7bXV0ZXh9 IGF0IHRoZSB0aW1lIG9mIGl0cyBjcmVhdGlvbiwgCitvciBAY29kZXsjZn0gaWYgaXQgd2FzIG5v dCBnaXZlbiBhIG5hbWUuCitAZW5kIGRlZnVuCisKK0BkZWZ1biBtdXRleC1zcGVjaWZpYyBtdXRl eAorQGRlZnVueCBtdXRleC1zcGVjaWZpYy1zZXQhIG11dGV4IG9iagorR2V0IG9yIHNldCB0aGUg YGBvYmplY3Qtc3BlY2lmaWMnJyBwcm9wZXJ0eSBvZiBAdmFye211dGV4fS4gIEluIEd1aWxlJ3MK K2ltcGxlbWVudGF0aW9uIG9mIFNSRkktMTgsIHRoaXMgdmFsdWUgaXMgc3RvcmVkIGFzIGFuIG9i amVjdCBwcm9wZXJ0eSwgCithbmQgd2lsbCBiZSBAY29kZXsjZn0gaWYgbm90IHNldC4KK0BlbmQg ZGVmdW4KKworQGRlZnVuIG11dGV4LXN0YXRlIG11dGV4CitSZXR1cm5zIGluZm9ybWF0aW9uIGFi b3V0IHRoZSBzdGF0ZSBvZiBAdmFye211dGV4fS4gIFBvc3NpYmxlIHZhbHVlcyAKK2FyZToKK0Bp dGVtaXplIEBidWxsZXQKK0BpdGVtCit0aHJlYWQgQGNvZGV7VH06IHRoZSBtdXRleCBpcyBpbiB0 aGUgbG9ja2VkL293bmVkIHN0YXRlIGFuZCB0aHJlYWQgVAoraXMgdGhlIG93bmVyIG9mIHRoZSBt dXRleAorQGl0ZW0gCitzeW1ib2wgQGNvZGV7bm90LW93bmVkfTogdGhlIG11dGV4IGlzIGluIHRo ZSBsb2NrZWQvbm90LW93bmVkIHN0YXRlCitAaXRlbQorc3ltYm9sIEBjb2Rle2FiYW5kb25lZH06 IHRoZSBtdXRleCBpcyBpbiB0aGUgdW5sb2NrZWQvYWJhbmRvbmVkIHN0YXRlCitAaXRlbQorc3lt Ym9sIEBjb2Rle25vdC1hYmFuZG9uZWR9OiB0aGUgbXV0ZXggaXMgaW4gdGhlIAordW5sb2NrZWQv bm90LWFiYW5kb25lZCBzdGF0ZSAKK0BlbmQgaXRlbWl6ZQorQGVuZCBkZWZ1bgorCitAZGVmdW4g bXV0ZXgtbG9jayEgbXV0ZXggW3RpbWVvdXQgW3RocmVhZF1dCitMb2NrIEB2YXJ7bXV0ZXh9LCBv cHRpb25hbGx5IHNwZWNpZnlpbmcgYSB0aW1lIG9iamVjdCBAdmFye3RpbWVvdXR9CithZnRlciB3 aGljaCB0byBhYm9ydCB0aGUgbG9jayBhdHRlbXB0IGFuZCBhIHRocmVhZCBAdmFye3RocmVhZH0g Z2l2aW5nCithIG5ldyBvd25lciBmb3IgQHZhcnttdXRleH0gZGlmZmVyZW50IHRoYW4gdGhlIGN1 cnJlbnQgdGhyZWFkLiAgVGhpcyAKK3Byb2NlZHVyZSBoYXMgdGhlIHNhbWUgYmVoYXZpb3IgYXMg dGhlIEBjb2Rle2xvY2stbXV0ZXh9IHByb2NlZHVyZSBpbiAKK3RoZSBjb3JlIGxpYnJhcnkuCitA ZW5kIGRlZnVuCisKK0BkZWZ1biBtdXRleC11bmxvY2shIG11dGV4IFtjb25kaXRpb24tdmFyaWFi bGUgW3RpbWVvdXRdXQorVW5sb2NrIEB2YXJ7bXV0ZXh9LCBvcHRpb25hbGx5IHNwZWNpZnlpbmcg YSBjb25kaXRpb24gdmFyaWFibGUKK0B2YXJ7Y29uZGl0aW9uLXZhcmlhYmxlfSBvbiB3aGljaCB0 byB3YWl0LCBlaXRoZXIgaW5kZWZpbml0ZWx5IG9yLAorb3B0aW9uYWxseSwgdW50aWwgdGhlIHRp bWUgb2JqZWN0IEB2YXJ7dGltZW91dH0gaGFzIHBhc3NlZCwgdG8gYmUKK3NpZ25hbGxlZC4gIFRo aXMgcHJvY2VkdXJlIGhhcyB0aGUgc2FtZSBiZWhhdmlvciBhcyB0aGUgCitAY29kZXt1bmxvY2st bXV0ZXh9IHByb2NlZHVyZSBpbiB0aGUgY29yZSBsaWJyYXJ5LgorQGVuZCBkZWZ1bgorCisKK0Bu b2RlIFNSRkktMTggQ29uZGl0aW9uIHZhcmlhYmxlcworQHN1YnN1YnNlY3Rpb24gU1JGSS0xOCBD b25kaXRpb24gdmFyaWFibGVzCisKK1NSRkktMTggZG9lcyBub3Qgc3BlY2lmeSBhIGBgd2FpdCcn IGZ1bmN0aW9uIGZvciBjb25kaXRpb24gdmFyaWFibGVzLgorV2FpdGluZyBvbiBhIGNvbmRpdGlv biB2YXJpYWJsZSBjYW4gYmUgc2ltdWxhdGVkIHVzaW5nIHRoZSBTUkZJLTE4CitAY29kZXttdXRl eC11bmxvY2shfSBmdW5jdGlvbiBkZXNjcmliZWQgaW4gdGhlIHByZXZpb3VzIHNlY3Rpb24sIG9y CitHdWlsZSdzIGJ1aWx0LWluIEBjb2Rle3dhaXQtY29uZGl0aW9uLXZhcmlhYmxlfSBwcm9jZWR1 cmUgY2FuIGJlIHVzZWQuCisKK0BkZWZ1biBjb25kaXRpb24tdmFyaWFibGU/IG9iagorUmV0dXJu cyBAY29kZXsjdH0gaWYgQHZhcntvYmp9IGlzIGEgY29uZGl0aW9uIHZhcmlhYmxlLCBAY29kZXsj Zn0KK290aGVyd2lzZS4gIFRoaXMgaXMgdGhlIHNhbWUgcHJvY2VkdXJlIGFzIHRoZSBzYW1lLW5h bWVkIGJ1aWx0LWluIAorcHJvY2VkdXJlCisoQHB4cmVme011dGV4ZXMgYW5kIENvbmRpdGlvbiBW YXJpYWJsZXMsIEBjb2Rle2NvbmRpdGlvbi12YXJpYWJsZT99fSkuCitAZW5kIGRlZnVuCisKK0Bk ZWZ1biBtYWtlLWNvbmRpdGlvbi12YXJpYWJsZSBbbmFtZV0KK1JldHVybnMgYSBuZXcgY29uZGl0 aW9uIHZhcmlhYmxlLCBvcHRpb25hbGx5IGFzc2lnbmluZyBpdCB0aGUgb2JqZWN0CituYW1lIEB2 YXJ7bmFtZX0sIHdoaWNoIG1heSBiZSBhbnkgU2NoZW1lIG9iamVjdC4gIFRoaXMgcHJvY2VkdXJl IAorcmVwbGFjZXMgYSBwcm9jZWR1cmUgb2YgdGhlIHNhbWUgbmFtZSBpbiB0aGUgY29yZSBsaWJy YXJ5LgorQGVuZCBkZWZ1bgorCitAZGVmdW4gY29uZGl0aW9uLXZhcmlhYmxlLW5hbWUgY29uZGl0 aW9uLXZhcmlhYmxlCitSZXR1cm5zIHRoZSBuYW1lIGFzc2lnbmVkIHRvIEB2YXJ7dGhyZWFkfSBh dCB0aGUgdGltZSBvZiBpdHMgY3JlYXRpb24sCitvciBAY29kZXsjZn0gaWYgaXQgd2FzIG5vdCBn aXZlbiBhIG5hbWUuCitAZW5kIGRlZnVuCisKK0BkZWZ1biBjb25kaXRpb24tdmFyaWFibGUtc3Bl Y2lmaWMgY29uZGl0aW9uLXZhcmlhYmxlCitAZGVmdW54IGNvbmRpdGlvbi12YXJpYWJsZS1zcGVj aWZpYy1zZXQhIGNvbmRpdGlvbi12YXJpYWJsZSBvYmoKK0dldCBvciBzZXQgdGhlIGBgb2JqZWN0 LXNwZWNpZmljJycgcHJvcGVydHkgb2YgCitAdmFye2NvbmRpdGlvbi12YXJpYWJsZX0uICBJbiBH dWlsZSdzIGltcGxlbWVudGF0aW9uIG9mIFNSRkktMTgsIHRoaXMKK3ZhbHVlIGlzIHN0b3JlZCBh cyBhbiBvYmplY3QgcHJvcGVydHksIGFuZCB3aWxsIGJlIEBjb2RleyNmfSBpZiBub3QgCitzZXQu CitAZW5kIGRlZnVuCisKK0BkZWZ1biBjb25kaXRpb24tdmFyaWFibGUtc2lnbmFsISBjb25kaXRp b24tdmFyaWFibGUKK0BkZWZ1bnggY29uZGl0aW9uLXZhcmlhYmxlLWJyb2FkY2FzdCEgY29uZGl0 aW9uLXZhcmlhYmxlCitXYWtlIHVwIG9uZSB0aHJlYWQgdGhhdCBpcyB3YWl0aW5nIGZvciBAdmFy e2NvbmRpdGlvbi12YXJpYWJsZX0sIGluCit0aGUgY2FzZSBvZiBAY29kZXtjb25kaXRpb24tdmFy aWFibGUtc2lnbmFsIX0sIG9yIGFsbCB0aHJlYWRzIHdhaXRpbmcKK2ZvciBpdCwgaW4gdGhlIGNh c2Ugb2YgQGNvZGV7Y29uZGl0aW9uLXZhcmlhYmxlLWJyb2FkY2FzdCF9LiAgVGhlCitiZWhhdmlv ciBvZiB0aGVzZSBwcm9jZWR1cmVzIGlzIGVxdWl2YWxlbnQgdG8gdGhhdCBvZiB0aGUgcHJvY2Vk dXJlcworQGNvZGV7c2lnbmFsLWNvbmRpdGlvbi12YXJpYWJsZX0gYW5kIAorQGNvZGV7YnJvYWRj YXN0LWNvbmRpdGlvbi12YXJpYWJsZX0gaW4gdGhlIGNvcmUgbGlicmFyeS4KK0BlbmQgZGVmdW4K KworCitAbm9kZSBTUkZJLTE4IFRpbWUKK0BzdWJzdWJzZWN0aW9uIFNSRkktMTggVGltZQorCitU aGUgU1JGSS0xOCB0aW1lIGZ1bmN0aW9ucyBtYW5pcHVsYXRlIHRpbWUgaW4gdHdvIGZvcm1hdHM6 IGEgCitgYHRpbWUgb2JqZWN0JycgdHlwZSB0aGF0IHJlcHJlc2VudHMgYW4gYWJzb2x1dGUgcG9p bnQgaW4gdGltZSBpbiBzb21lIAoraW1wbGVtZW50YXRpb24tc3BlY2lmaWMgd2F5OyBhbmQgdGhl IG51bWJlciBvZiBzZWNvbmRzIHNpbmNlIHNvbWUgCit1bnNwZWNpZmllZCBgYGVwb2NoJycuICBJ biBHdWlsZSdzIGltcGxlbWVudGF0aW9uLCB0aGUgZXBvY2ggaXMgdGhlCitVbml4IGVwb2NoLCAw MDowMDowMCBVVEMsIEphbnVhcnkgMSwgMTk3MC4KKworQGRlZnVuIGN1cnJlbnQtdGltZQorUmV0 dXJuIHRoZSBjdXJyZW50IHRpbWUgYXMgYSB0aW1lIG9iamVjdC4gIFRoaXMgcHJvY2VkdXJlIHJl cGxhY2VzIAordGhlIHByb2NlZHVyZSBvZiB0aGUgc2FtZSBuYW1lIGluIHRoZSBjb3JlIGxpYnJh cnksIHdoaWNoIHJldHVybnMgdGhlCitjdXJyZW50IHRpbWUgaW4gc2Vjb25kcyBzaW5jZSB0aGUg ZXBvY2guCitAZW5kIGRlZnVuCisKK0BkZWZ1biB0aW1lPyBvYmoKK1JldHVybnMgQGNvZGV7I3R9 IGlmIEB2YXJ7b2JqfSBpcyBhIHRpbWUgb2JqZWN0LCBAY29kZXsjZn0gb3RoZXJ3aXNlLgorQGVu ZCBkZWZ1bgorCitAZGVmdW4gdGltZS0+c2Vjb25kcyB0aW1lCitAZGVmdW54IHNlY29uZHMtPnRp bWUgc2Vjb25kcworQ29udmVydCBiZXR3ZWVuIHRpbWUgb2JqZWN0cyBhbmQgbnVtZXJpY2FsIHZh bHVlcyByZXByZXNlbnRpbmcgdGhlCitudW1iZXIgb2Ygc2Vjb25kcyBzaW5jZSB0aGUgZXBvY2gu ICBXaGVuIGNvbnZlcnRpbmcgZnJvbSBhIHRpbWUgb2JqZWN0IAordG8gc2Vjb25kcywgdGhlIHJl dHVybiB2YWx1ZSBpcyB0aGUgbnVtYmVyIG9mIHNlY29uZHMgYmV0d2VlbiAKK0B2YXJ7dGltZX0g YW5kIHRoZSBlcG9jaC4gIFdoZW4gY29udmVydGluZyBmcm9tIHNlY29uZHMgdG8gYSB0aW1lIAor b2JqZWN0LCB0aGUgcmV0dXJuIHZhbHVlIGlzIGEgdGltZSBvYmplY3QgdGhhdCByZXByZXNlbnRz IGEgdGltZSAKK0B2YXJ7c2Vjb25kc30gc2Vjb25kcyBhZnRlciB0aGUgZXBvY2guCitAZW5kIGRl ZnVuCisKKworQG5vZGUgU1JGSS0xOCBFeGNlcHRpb25zCitAc3Vic3Vic2VjdGlvbiBTUkZJLTE4 IEV4Y2VwdGlvbnMKKworU1JGSS0xOCBleGNlcHRpb25zIGFyZSBpZGVudGljYWwgdG8gdGhlIGV4 Y2VwdGlvbnMgcHJvdmlkZWQgYnkgCitHdWlsZSdzIGltcGxlbWVudGF0aW9uIG9mIFNSRkktMzQu ICBUaGUgYmVoYXZpb3Igb2YgZXhjZXB0aW9uIAoraGFuZGxlcnMgaW52b2tlZCB0byBoYW5kbGUg ZXhjZXB0aW9ucyB0aHJvd24gZnJvbSBTUkZJLTE4IGZ1bmN0aW9ucywKK2hvd2V2ZXIsIGRpZmZl cnMgZnJvbSB0aGUgY29udmVudGlvbmFsIGJlaGF2aW9yIG9mIFNSRkktMzQgaW4gdGhhdAordGhl IGNvbnRpbnVhdGlvbiBvZiB0aGUgaGFuZGxlciBpcyB0aGUgc2FtZSBhcyB0aGF0IG9mIHRoZSBj YWxsIHRvCit0aGUgZnVuY3Rpb24uICBIYW5kbGVycyBhcmUgY2FsbGVkIGluIGEgdGFpbC1yZWN1 cnNpdmUgbWFubmVyOyB0aGUKK2V4Y2VwdGlvbnMgZG8gbm90IGBgYnViYmxlIHVwJycuCisKK0Bk ZWZ1biBjdXJyZW50LWV4Y2VwdGlvbi1oYW5kbGVyCitSZXR1cm5zIHRoZSBjdXJyZW50IGV4Y2Vw dGlvbiBoYW5kbGVyLgorQGVuZCBkZWZ1bgorCitAZGVmdW4gd2l0aC1leGNlcHRpb24taGFuZGxl ciBoYW5kbGVyIHRodW5rCitJbnN0YWxscyBAdmFye2hhbmRsZXJ9IGFzIHRoZSBjdXJyZW50IGV4 Y2VwdGlvbiBoYW5kbGVyIGFuZCBjYWxscyB0aGUKK3Byb2NlZHVyZSBAdmFye3RodW5rfSB3aXRo IG5vIGFyZ3VtZW50cywgcmV0dXJuaW5nIGl0cyB2YWx1ZSBhcyB0aGUgCit2YWx1ZSBvZiB0aGUg ZXhjZXB0aW9uLiAgQHZhcntoYW5kbGVyfSBtdXN0IGJlIGEgcHJvY2VkdXJlIHRoYXQgYWNjZXB0 cworYSBzaW5nbGUgYXJndW1lbnQuIFRoZSBjdXJyZW50IGV4Y2VwdGlvbiBoYW5kbGVyIGF0IHRo ZSB0aW1lIHRoaXMgCitwcm9jZWR1cmUgaXMgY2FsbGVkIHdpbGwgYmUgcmVzdG9yZWQgYWZ0ZXIg dGhlIGNhbGwgcmV0dXJucy4KK0BlbmQgZGVmdW4KKworQGRlZnVuIHJhaXNlIG9iagorUmFpc2Ug QHZhcntvYmp9IGFzIGFuIGV4Y2VwdGlvbi4gIFRoaXMgaXMgdGhlIHNhbWUgcHJvY2VkdXJlIGFz IHRoZQorc2FtZS1uYW1lZCBwcm9jZWR1cmUgZGVmaW5lZCBpbiBTUkZJIDM0LgorQGVuZCBkZWZ1 bgorCitAZGVmdW4gam9pbi10aW1lb3V0LWV4Y2VwdGlvbj8gb2JqCitSZXR1cm5zIEBjb2RleyN0 fSBpZiBAdmFye29ian0gaXMgYW4gZXhjZXB0aW9uIHJhaXNlZCBhcyB0aGUgcmVzdWx0IG9mIAor cGVyZm9ybWluZyBhIHRpbWVkIGpvaW4gb24gYSB0aHJlYWQgdGhhdCBkb2VzIG5vdCBleGl0IHdp dGhpbiB0aGUKK3NwZWNpZmllZCB0aW1lb3V0LCBAY29kZXsjZn0gb3RoZXJ3aXNlLgorQGVuZCBk ZWZ1bgorCitAZGVmdW4gYWJhbmRvbmVkLW11dGV4LWV4Y2VwdGlvbj8gb2JqCitSZXR1cm5zIEBj b2RleyN0fSBpZiBAdmFye29ian0gaXMgYW4gZXhjZXB0aW9uIHJhaXNlZCBhcyB0aGUgcmVzdWx0 IG9mCithdHRlbXB0aW5nIHRvIGxvY2sgYSBtdXRleCB0aGF0IGhhcyBiZWVuIGFiYW5kb25lZCBi eSBpdHMgb3duZXIgdGhyZWFkLAorQGNvZGV7I2Z9IG90aGVyd2lzZS4KK0BlbmQgZGVmdW4KKwor QGRlZnVuIHRlcm1pbmF0ZWQtdGhyZWFkLWV4Y2VwdGlvbj8gb2JqCitSZXR1cm5zIEBjb2RleyN0 fSBpZiBAdmFye29ian0gaXMgYW4gZXhjZXB0aW9uIHJhaXNlZCBhcyB0aGUgcmVzdWx0IG9mIAor am9pbmluZyBvbiBhIHRocmVhZCB0aGF0IGV4aXRlZCBhcyB0aGUgcmVzdWx0IG9mIGEgY2FsbCB0 bworQGNvZGV7dGhyZWFkLXRlcm1pbmF0ZSF9LgorQGVuZCBkZWZ1bgorCitAZGVmdW4gdW5jYXVn aHQtZXhjZXB0aW9uPyBvYmoKK0BkZWZ1bnggdW5jYXVnaHQtZXhjZXB0aW9uLXJlYXNvbiBleGMK K0Bjb2Rle3VuY2F1Z2h0LWV4Y2VwdGlvbj99IHJldHVybnMgQGNvZGV7I3R9IGlmIEB2YXJ7b2Jq fSBpcyBhbiAKK2V4Y2VwdGlvbiB0aHJvd24gYXMgdGhlIHJlc3VsdCBvZiBqb2luaW5nIGEgdGhy ZWFkIHRoYXQgZXhpdGVkIGJ5CityYWlzaW5nIGFuIGV4Y2VwdGlvbiB0aGF0IHdhcyBoYW5kbGVk IGJ5IHRoZSB0b3AtbGV2ZWwgZXhjZXB0aW9uCitoYW5kbGVyIGluc3RhbGxlZCBieSBAY29kZXtt YWtlLXRocmVhZH0uICBXaGVuIHRoaXMgb2NjdXJzLCB0aGUgCitvcmlnaW5hbCBleGNlcHRpb24g aXMgcHJlc2VydmVkIGFzIHBhcnQgb2YgdGhlIGV4Y2VwdGlvbiB0aHJvd24gYnkKK0Bjb2Rle3Ro cmVhZC1qb2luIX0gYW5kIGNhbiBiZSBhY2Nlc3NlZCBieSBjYWxsaW5nIAorQGNvZGV7dW5jYXVn aHQtZXhjZXB0aW9uLXJlYXNvbn0gb24gdGhhdCBleGNlcHRpb24uICBOb3RlIHRoYXQKK2JlY2F1 c2UgdGhpcyBleGNlcHRpb24tcHJlc2VydmF0aW9uIG1lY2hhbmlzbSBpcyBhIHNpZGUtZWZmZWN0 IG9mCitAY29kZXttYWtlLXRocmVhZH0sIGpvaW5pbmcgb24gdGhyZWFkcyB0aGF0IGV4aXRlZCBh cyBkZXNjcmliZWQgYWJvdmUKK2J1dCB3ZXJlIGNyZWF0ZWQgYnkgb3RoZXIgbWVhbnMgd2lsbCBu b3QgcmFpc2UgdGhpcyAKK0Bjb2Rle3VuY2F1Z2h0LWV4Y2VwdGlvbn0gZXJyb3IuCitAZW5kIGRl ZnVuCisKKwogQG5vZGUgU1JGSS0xOQogQHN1YnNlY3Rpb24gU1JGSS0xOSAtIFRpbWUvRGF0ZSBM aWJyYXJ5CiBAY2luZGV4IFNSRkktMTkKQEAgLTE4NDUsOCArMjE4NCwxMCBAQCBSZXR1cm4gdGhl IGN1cnJlbnQgdGltZSBvZiB0aGUgZ2l2ZW4gQHZhcnt0eXBlfS4gIFRoZSBkZWZhdWx0CiBAdmFy e3R5cGV9IGlzIEBjb2Rle3RpbWUtdXRjfS4KIAogTm90ZSB0aGF0IHRoZSBuYW1lIEBjb2Rle2N1 cnJlbnQtdGltZX0gY29uZmxpY3RzIHdpdGggdGhlIEd1aWxlIGNvcmUKLUBjb2Rle2N1cnJlbnQt dGltZX0gZnVuY3Rpb24gKEBweHJlZntUaW1lfSkuICBBcHBsaWNhdGlvbnMgd2FudGluZyB0bwot dXNlIGJvdGggd2lsbCBuZWVkIHRvIHVzZSBhIGRpZmZlcmVudCBuYW1lIGZvciBvbmUgb2YgdGhl bS4KK0Bjb2Rle2N1cnJlbnQtdGltZX0gZnVuY3Rpb24gKEBweHJlZntUaW1lfSkgYXMgd2VsbCBh cyB0aGUgU1JGSS0xOAorQGNvZGV7Y3VycmVudC10aW1lfSBmdW5jdGlvbiAoQHB4cmVme1NSRkkt MTggVGltZX0pLiAgQXBwbGljYXRpb25zIAord2FudGluZyB0byB1c2UgbW9yZSB0aGFuIG9uZSBv ZiB0aGVzZSBmdW5jdGlvbnMgd2lsbCBuZWVkIHRvIHJlZmVyIHRvCit0aGVtIGJ5IGRpZmZlcmVu dCBuYW1lcy4KIEBlbmQgZGVmdW4KIAogQGRlZnVuIHRpbWUtcmVzb2x1dGlvbiBbdHlwZV0KLS0g CjEuNS40LjMKCg== ------=_Part_17831_11426628.1214024598285--