From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.bugs Subject: bug#11935: XINT etc. should be functions Date: Tue, 24 Jul 2012 06:45:27 -0700 Organization: UCLA Computer Science Department Message-ID: <500EA6F7.6080609@cs.ucla.edu> References: <500039B7.8050106@cs.ucla.edu> <5002C895.4080400@cs.ucla.edu> <500499C7.20902@cs.ucla.edu> <83txx79jgx.fsf@gnu.org> <500E0657.4050604@cs.ucla.edu> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------020406010201050504050309" X-Trace: dough.gmane.org 1343137600 713 80.91.229.3 (24 Jul 2012 13:46:40 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 24 Jul 2012 13:46:40 +0000 (UTC) Cc: 11935@debbugs.gnu.org To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Jul 24 15:46:39 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1StfRY-0002Gx-Bo for geb-bug-gnu-emacs@m.gmane.org; Tue, 24 Jul 2012 15:46:32 +0200 Original-Received: from localhost ([::1]:41853 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1StfRX-0001xN-Or for geb-bug-gnu-emacs@m.gmane.org; Tue, 24 Jul 2012 09:46:31 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:55445) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1StfRR-0001wC-8G for bug-gnu-emacs@gnu.org; Tue, 24 Jul 2012 09:46:30 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1StfRO-0004wt-FQ for bug-gnu-emacs@gnu.org; Tue, 24 Jul 2012 09:46:25 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:54104) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1StfRO-0004wp-Bl for bug-gnu-emacs@gnu.org; Tue, 24 Jul 2012 09:46:22 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1StfXp-0003CE-QU for bug-gnu-emacs@gnu.org; Tue, 24 Jul 2012 09:53:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Paul Eggert Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 24 Jul 2012 13:53:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 11935 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 11935-submit@debbugs.gnu.org id=B11935.134313792812220 (code B ref 11935); Tue, 24 Jul 2012 13:53:01 +0000 Original-Received: (at 11935) by debbugs.gnu.org; 24 Jul 2012 13:52:08 +0000 Original-Received: from localhost ([127.0.0.1]:35415 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1StfWx-0003B2-I3 for submit@debbugs.gnu.org; Tue, 24 Jul 2012 09:52:08 -0400 Original-Received: from smtp.cs.ucla.edu ([131.179.128.62]:59550) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1StfWu-0003At-68 for 11935@debbugs.gnu.org; Tue, 24 Jul 2012 09:52:07 -0400 Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id A44BCA60004; Tue, 24 Jul 2012 06:45:23 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Original-Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HdOB-v4ISYBL; Tue, 24 Jul 2012 06:45:22 -0700 (PDT) Original-Received: from [192.168.1.4] (pool-108-23-119-2.lsanca.fios.verizon.net [108.23.119.2]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 6BBD8A60002; Tue, 24 Jul 2012 06:45:22 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux i686; rv:14.0) Gecko/20120714 Thunderbird/14.0 In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:62347 Archived-At: This is a multi-part message in MIME format. --------------020406010201050504050309 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 07/24/2012 02:07 AM, Stefan Monnier wrote: > Could you separate this part of the patch, since I don't know what you > mean by "inlining by hand". Sure, attached; this assumes the earlier patch in has been applied and merged. --------------020406010201050504050309 Content-Type: text/plain; charset=UTF-8; name="inline-by-hand.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="inline-by-hand.txt" MjAxMi0wNy0yNCAgUGF1bCBFZ2dlcnQgIDxlZ2dlcnRAY3MudWNsYS5lZHU+CiAKCSogbGlz cC5oIChYTEksIFhJTCwgQ0hFQ0tfVFlQRSwgQ0hFQ0tfTElTVF9DT05TLCBDSEVDS19OVU1C RVIpCgkoQ0hFQ0tfU1lNQk9MLCBDT05TUCwgRVEsIEZMT0FUUCwgSU5URUdFUlAsIExJU1Bf SU5UX1RBR19QLCBNQVJLRVJQKQoJKE1JU0NQLCBOSUxQLCBTRVRfU1lNQk9MX1ZBTCwgU1lN Qk9MX0NPTlNUQU5UX1AsIFNZTUJPTF9WQUwsIFNZTUJPTFApCgkoVkVDVE9STElLRVAsIFhD QVIsIFhDRFIsIFhDT05TLCBYSEFTSCwgWFBOVFIsIFhTWU1CT0wpOgoJSWYgY29tcGlsaW5n IHZpYSBHQ0Mgd2l0aG91dCBvcHRpbWl6YXRpb24sIGlubGluZSB0aGVzZSBmdW5jdGlvbnMK CW1hbnVhbGx5LCBieSBkZWZpbmluZyBtYWNyb3MgaW4gYWRkaXRpb24gdG8gaW5saW5lIGZ1 bmN0aW9ucy4KCVRvIGRpc2FibGUgdGhpcywgY29tcGlsZSB3aXRoIC1ESU5MSU5JTkc9MC4K CShtYWtlX251bWJlciwgWEZBU1RJTlQsIFhJTlQsIFhUWVBFLCBYVU5UQUcpOiBMaWtld2lz ZSwgYnV0CgloYW5kLW9wdGltaXplIG9ubHkgaW4gdGhlIFVTRV9MU0JfVEFHIGNhc2UsIGFz IEdOVWlzaCBob3N0cyBkbyB0aGF0LgoKPT09IG1vZGlmaWVkIGZpbGUgJ3NyYy9saXNwLmgn Ci0tLSBzcmMvbGlzcC5oCTIwMTItMDctMjMgMjE6NTg6MTAgKzAwMDAKKysrIHNyYy9saXNw LmgJMjAxMi0wNy0yNCAwMTo1NzoxOCArMDAwMApAQCAtMjE0LDYgKzIxNCw2MiBAQAogI2Vu ZGlmCiAKIAorLyogV2hlbiBjb21waWxpbmcgdmlhIEdDQyB3aXRob3V0IG9wdGltaXphdGlv biwgaW5saW5lIGEgZmV3IGZ1bmN0aW9ucworICAgbWFudWFsbHksIGFzIEVtYWNzIGlzIHRv byBzbG93IG90aGVyd2lzZS4gIFRoZXJlJ3Mgbm8gbmVlZCB0bworICAgaW5saW5lIGV2ZXJ5 dGhpbmcsIGp1c3QgdGhlIGZ1bmN0aW9ucyB0aGF0IHdvdWxkIGNhdXNlIGEgc2VyaW91cwor ICAgcGVyZm9ybWFuY2UgcHJvYmxlbSB3aGVuIGRlYnVnZ2luZy4gIFRvIGRpc2FibGUgdGhp cyBoYW5kLW9wdGltaXphdGlvbiwKKyAgIGNvbXBpbGUgd2l0aCAtRElOTElOSU5HPTAuCisK KyAgIENvbW1lbnRhcnkgZm9yIHRoZXNlIG1hY3JvcyBjYW4gYmUgZm91bmQgbmVhciB0aGVp ciBjb3JyZXNwb25kaW5nCisgICBmdW5jdGlvbnMsIGJlbG93LiAgKi8KKyNpZiAoZGVmaW5l ZCBfX05PX0lOTElORV9fIFwKKyAgICAgJiYgISBkZWZpbmVkIF9fT1BUSU1JWkVfXyAmJiAh IGRlZmluZWQgX19PUFRJTUlaRV9TSVpFX18gXAorICAgICAmJiAhIChkZWZpbmVkIElOTElO SU5HICYmICEgSU5MSU5JTkcpKQorIyBpZiBDSEVDS19MSVNQX09CSkVDVF9UWVBFCisjICBk ZWZpbmUgWExJKG8pIChvKS5pCisjICBkZWZpbmUgWElMKGkpIChMaXNwX09iamVjdCkgeyBp IH0KKyMgZWxzZQorIyAgZGVmaW5lIFhMSShvKSAobykKKyMgIGRlZmluZSBYSUwoaSkgKGkp CisjIGVuZGlmCisjIGRlZmluZSBDSEVDS19UWVBFKG9rLCBReHh4cCwgeCkgXAorICAgICgo dm9pZCkgKChvaykgfHwgd3JvbmdfdHlwZV9hcmd1bWVudCAoUXh4eHAsIHgpKSkKKyMgZGVm aW5lIENIRUNLX0xJU1RfQ09OUyh4LCB5KSBDSEVDS19UWVBFIChDT05TUCAoeCksIFFsaXN0 cCwgeSkKKyMgZGVmaW5lIENIRUNLX05VTUJFUih4KSBDSEVDS19UWVBFIChJTlRFR0VSUCAo eCksIFFpbnRlZ2VycCwgeCkKKyMgZGVmaW5lIENIRUNLX1NZTUJPTCh4KSBDSEVDS19UWVBF IChTWU1CT0xQICh4KSwgUXN5bWJvbHAsIHgpCisjIGRlZmluZSBDT05TUCh4KSAoWFRZUEUg KHgpID09IExpc3BfQ29ucykKKyMgZGVmaW5lIEVRKGEsIGIpIChYSEFTSCAoYSkgPT0gWEhB U0ggKGIpKQorIyBkZWZpbmUgRkxPQVRQKHgpIChYVFlQRSAoeCkgPT0gTGlzcF9GbG9hdCkK KyMgZGVmaW5lIElOVEVHRVJQKHgpIExJU1BfSU5UX1RBR19QIChYVFlQRSAoeCkpCisjIGRl ZmluZSBMSVNQX0lOVF9UQUdfUCh4KSAoKCh4KSAmIH5MaXNwX0ludDEpID09IDApCisjIGRl ZmluZSBNQVJLRVJQKHgpIChNSVNDUCAoeCkgJiYgWE1JU0NUWVBFICh4KSA9PSBMaXNwX01p c2NfTWFya2VyKQorIyBkZWZpbmUgTUlTQ1AoeCkgKFhUWVBFICh4KSA9PSBMaXNwX01pc2Mp CisjIGRlZmluZSBOSUxQKHgpIEVRICh4LCBRbmlsKQorIyBkZWZpbmUgU0VUX1NZTUJPTF9W QUwoc3ltLCB2KSBcCisgICAgKGVhc3NlcnQgKChzeW0pLT5yZWRpcmVjdCA9PSBTWU1CT0xf UExBSU5WQUwpLCAoc3ltKS0+dmFsLnZhbHVlID0gKHYpKQorIyBkZWZpbmUgU1lNQk9MX0NP TlNUQU5UX1Aoc3ltKSAoWFNZTUJPTCAoc3ltKS0+Y29uc3RhbnQpCisjIGRlZmluZSBTWU1C T0xfVkFMKHN5bSkJCQkJCQlcCisgICAgKGVhc3NlcnQgKChzeW0pLT5yZWRpcmVjdCA9PSBT WU1CT0xfUExBSU5WQUwpLCAoc3ltKS0+dmFsLnZhbHVlKQorIyBkZWZpbmUgU1lNQk9MUCh4 KSAoWFRZUEUgKHgpID09IExpc3BfU3ltYm9sKQorIyBkZWZpbmUgVkVDVE9STElLRVAoeCkg KFhUWVBFICh4KSA9PSBMaXNwX1ZlY3Rvcmxpa2UpCisjIGRlZmluZSBYQ0FSKGMpIFhDQVJf QVNfTFZBTFVFIChjKQorIyBkZWZpbmUgWENEUihjKSBYQ0RSX0FTX0xWQUxVRSAoYykKKyMg ZGVmaW5lIFhDT05TKGEpIFwKKyAgICAoZWFzc2VydCAoQ09OU1AgKGEpKSwgKHN0cnVjdCBM aXNwX0NvbnMgKikgWFVOVEFHIChhLCBMaXNwX0NvbnMpKQorIyBkZWZpbmUgWEhBU0gobykg WExJIChvKQorIyBkZWZpbmUgWFBOVFIoYSkgKCh2b2lkICopIChpbnRwdHJfdCkgKChYTEkg KGEpICYgVkFMTUFTSykgfCBEQVRBX1NFR19CSVRTKSkKKyMgZGVmaW5lIFhTWU1CT0woYSkg XAorICAgIChlYXNzZXJ0IChTWU1CT0xQIChhKSksIChzdHJ1Y3QgTGlzcF9TeW1ib2wgKikg WFVOVEFHIChhLCBMaXNwX1N5bWJvbCkpCisjIGlmIFVTRV9MU0JfVEFHCisjICBkZWZpbmUg bWFrZV9udW1iZXIobikgWElMICgoRU1BQ1NfSU5UKSAobikgPDwgSU5UVFlQRUJJVFMpCisj ICBkZWZpbmUgWEZBU1RJTlQoYSkgWElOVCAoYSkKKyMgIGRlZmluZSBYSU5UKGEpIChYTEkg KGEpID4+IElOVFRZUEVCSVRTKQorIyAgZGVmaW5lIFhUWVBFKGEpICgoZW51bSBMaXNwX1R5 cGUpIChYTEkgKGEpICYgflZBTE1BU0spKQorIyAgZGVmaW5lIFhVTlRBRyhhLCB0eXBlKSAo KHZvaWQgKikgKFhMSSAoYSkgLSAodHlwZSkpKQorIyBlbmRpZgorI2VuZGlmCisKKwogLyog RGVmaW5lIHRoZSBmdW5kYW1lbnRhbCBMaXNwIGRhdGEgc3RydWN0dXJlcy4gICovCiAKIC8q IFRoaXMgaXMgdGhlIHNldCBvZiBMaXNwIGRhdGEgdHlwZXMuICAqLwpAQCAtMjY2LDcgKzMy Miw3IEBACiAvKiBBbiBvbGRlciBuYW1lIGZvciBMaXNwX0ludDAuICAqLwogZW51bSB7IExJ U1BfSU5UX1RBRyA9IExpc3BfSW50MCB9OwogCi1zdGF0aWMgaW5saW5lIGludCBMSVNQX0lO VF9UQUdfUCAoaW50IHgpIHsgcmV0dXJuICh4ICYgfkxpc3BfSW50MSkgPT0gMDsgfQorc3Rh dGljIGlubGluZSBpbnQgKExJU1BfSU5UX1RBR19QKSAoaW50IHgpIHsgcmV0dXJuICh4ICYg fkxpc3BfSW50MSkgPT0gMDsgfQogCiAvKiBUaGlzIGlzIHRoZSBzZXQgb2YgZGF0YSB0eXBl cyB0aGF0IHNoYXJlIGEgY29tbW9uIHN0cnVjdHVyZS4KICAgIFRoZSBmaXJzdCBtZW1iZXIg b2YgdGhlIHN0cnVjdHVyZSBpcyBhIHR5cGUgY29kZSBmcm9tIHRoaXMgc2V0LgpAQCAtMzAy LDEwICszNTgsMTAgQEAKIAogdHlwZWRlZiBzdHJ1Y3QgeyBFTUFDU19JTlQgaTsgfSBMaXNw X09iamVjdDsKIAotc3RhdGljIGlubGluZSBFTUFDU19JTlQgWExJIChMaXNwX09iamVjdCBv KSB7IHJldHVybiBvLmk7IH0KK3N0YXRpYyBpbmxpbmUgRU1BQ1NfSU5UIChYTEkpIChMaXNw X09iamVjdCBvKSB7IHJldHVybiBvLmk7IH0KIAogc3RhdGljIGlubGluZSBMaXNwX09iamVj dAotWElMIChFTUFDU19JTlQgaSkKKyhYSUwpIChFTUFDU19JTlQgaSkKIHsKICAgTGlzcF9P YmplY3QgbyA9IHsgaSB9OwogICByZXR1cm4gbzsKQEAgLTMxOCw4ICszNzQsOCBAQAogLyog SWYgYSBzdHJ1Y3QgdHlwZSBpcyBub3Qgd2FudGVkLCBkZWZpbmUgTGlzcF9PYmplY3QgYXMg anVzdCBhIG51bWJlci4gICovCiAKIHR5cGVkZWYgRU1BQ1NfSU5UIExpc3BfT2JqZWN0Owot c3RhdGljIGlubGluZSBFTUFDU19JTlQgWExJIChMaXNwX09iamVjdCBvKSB7IHJldHVybiBv OyB9Ci1zdGF0aWMgaW5saW5lIExpc3BfT2JqZWN0IFhJTCAoRU1BQ1NfSU5UIGkpIHsgcmV0 dXJuIGk7IH0KK3N0YXRpYyBpbmxpbmUgRU1BQ1NfSU5UIChYTEkpIChMaXNwX09iamVjdCBv KSB7IHJldHVybiBvOyB9CitzdGF0aWMgaW5saW5lIExpc3BfT2JqZWN0IChYSUwpIChFTUFD U19JTlQgaSkgeyByZXR1cm4gaTsgfQogI2RlZmluZSBMSVNQX0lOSVRJQUxMWV9aRVJPIDAK ICNlbmRpZiAvKiBDSEVDS19MSVNQX09CSkVDVF9UWVBFICovCiAKQEAgLTM4OSw3ICs0NDUs NyBAQAogIFhDT05TICh0ZW0pIGlzIHRoZSBzdHJ1Y3QgTGlzcF9Db25zICogcG9pbnRpbmcg dG8gdGhlIG1lbW9yeSBmb3IgdGhhdCBjb25zLiAgKi8KIAogLyogUmV0dXJuIGEgcGVyZmVj dCBoYXNoIG9mIHRoZSBMaXNwX09iamVjdCByZXByZXNlbnRhdGlvbi4gICovCi1zdGF0aWMg aW5saW5lIEVNQUNTX0lOVCBYSEFTSCAoTGlzcF9PYmplY3QgbykgeyByZXR1cm4gWExJIChv KTsgfQorc3RhdGljIGlubGluZSBFTUFDU19JTlQgKFhIQVNIKSAoTGlzcF9PYmplY3Qgbykg eyByZXR1cm4gWExJIChvKTsgfQogCiAjZGVmaW5lIFZBTE1BU0sgKFVTRV9MU0JfVEFHID8g LSAoMSA8PCBHQ1RZUEVCSVRTKSA6IFZBTF9NQVgpCiAKQEAgLTM5OSw3ICs0NTUsNyBAQAog I2RlZmluZSBNT1NUX05FR0FUSVZFX0ZJWE5VTSAoLTEgLSBNT1NUX1BPU0lUSVZFX0ZJWE5V TSkKIAogc3RhdGljIGlubGluZSBlbnVtIExpc3BfVHlwZQotWFRZUEUgKExpc3BfT2JqZWN0 IGEpCisoWFRZUEUpIChMaXNwX09iamVjdCBhKQogewogICBFTUFDU19VSU5UIGkgPSBYTEkg KGEpOwogICByZXR1cm4gVVNFX0xTQl9UQUcgPyBpICYgflZBTE1BU0sgOiBpID4+IFZBTEJJ VFM7CkBAIC00MDcsNyArNDYzLDcgQEAKIAogLyogRXh0cmFjdCB0aGUgdmFsdWUgb2YgYSBM aXNwX09iamVjdCBhcyBhIHNpZ25lZCBpbnRlZ2VyLiAgKi8KIHN0YXRpYyBpbmxpbmUgRU1B Q1NfSU5UCi1YSU5UIChMaXNwX09iamVjdCBhKQorKFhJTlQpIChMaXNwX09iamVjdCBhKQog ewogICBFTUFDU19JTlQgaSA9IFhMSSAoYSk7CiAgIHJldHVybiAoVVNFX0xTQl9UQUcgPyBp IDogaSA8PCBJTlRUWVBFQklUUykgPj4gSU5UVFlQRUJJVFM7CkBAIC00MTYsNyArNDcyLDcg QEAKIC8qIExpa2UgWElOVCAoQSksIGJ1dCBtYXkgYmUgZmFzdGVyLiAgQSBtdXN0IGJlIG5v bm5lZ2F0aXZlLiAgVGhpcyB0YWtlcwogICAgYWR2YW50YWdlIG9mIHRoZSBmYWN0IHRoYXQg TGlzcCBpbnRlZ2VycyBoYXZlIHplcm8tYml0cyBpbiB0aGVpciB0YWdzLiAgKi8KIHN0YXRp YyBpbmxpbmUgRU1BQ1NfSU5UCi1YRkFTVElOVCAoTGlzcF9PYmplY3QgYSkKKyhYRkFTVElO VCkgKExpc3BfT2JqZWN0IGEpCiB7CiAgIEVNQUNTX0lOVCBuID0gVVNFX0xTQl9UQUcgPyBY SU5UIChhKSA6IFhMSSAoYSkgPj4gSU5UVFlQRUJJVFM7CiAgIGVhc3NlcnQgKDAgPD0gbik7 CkBAIC00MzIsNyArNDg4LDcgQEAKIH0KIAogc3RhdGljIGlubGluZSBMaXNwX09iamVjdAot bWFrZV9udW1iZXIgKEVNQUNTX0lOVCBuKQorKG1ha2VfbnVtYmVyKSAoRU1BQ1NfSU5UIG4p CiB7CiAgIHJldHVybiBYSUwgKFVTRV9MU0JfVEFHID8gbiA8PCBJTlRUWVBFQklUUyA6IG4g JiBJTlRNQVNLKTsKIH0KQEAgLTQ0Niw3ICs1MDIsNyBAQAogfQogCiBzdGF0aWMgaW5saW5l IHZvaWQgKgotWFBOVFIgKExpc3BfT2JqZWN0IGEpCisoWFBOVFIpIChMaXNwX09iamVjdCBh KQogewogICBpbnRwdHJfdCBpID0gKFhMSSAoYSkgJiBWQUxNQVNLKSB8IERBVEFfU0VHX0JJ VFM7CiAgIHJldHVybiAodm9pZCAqKSBpOwpAQCAtNDU1LDcgKzUxMSw3IEBACiAvKiBFeHRy YWN0IHRoZSBwb2ludGVyIHZhbHVlIG9mIHRoZSBMaXNwIG9iamVjdCBBLCB1bmRlciB0aGUK ICAgIGFzc3VtcHRpb24gdGhhdCBBJ3MgdHlwZSBpcyBUWVBFLiAgKi8KIHN0YXRpYyBpbmxp bmUgdm9pZCAqCi1YVU5UQUcgKExpc3BfT2JqZWN0IGEsIGludCB0eXBlKQorKFhVTlRBRykg KExpc3BfT2JqZWN0IGEsIGludCB0eXBlKQogewogICBpZiAoVVNFX0xTQl9UQUcpCiAgICAg ewpAQCAtNDY2LDcgKzUyMiw3IEBACiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50Ci1FUSAoTGlz cF9PYmplY3QgYSwgTGlzcF9PYmplY3QgYikKKyhFUSkgKExpc3BfT2JqZWN0IGEsIExpc3Bf T2JqZWN0IGIpCiB7CiAgIHJldHVybiBYSEFTSCAoYSkgPT0gWEhBU0ggKGIpOwogfQpAQCAt NTAzLDE0ICs1NTksMTQgQEAKIHN0YXRpYyBpbnQgQlVGRkVSUCAoTGlzcF9PYmplY3QpOwog c3RhdGljIGludCBDSEFSX1RBQkxFX1AgKExpc3BfT2JqZWN0KTsKIHN0YXRpYyBMaXNwX09i amVjdCBDSEFSX1RBQkxFX1JFRl9BU0NJSSAoTGlzcF9PYmplY3QsIHB0cmRpZmZfdCk7Ci1z dGF0aWMgaW50IENPTlNQIChMaXNwX09iamVjdCk7Ci1zdGF0aWMgaW50IEZMT0FUUCAoTGlz cF9PYmplY3QpOwotc3RhdGljIGludCBJTlRFR0VSUCAoTGlzcF9PYmplY3QpOworc3RhdGlj IGludCAoQ09OU1ApIChMaXNwX09iamVjdCk7CitzdGF0aWMgaW50IChGTE9BVFApIChMaXNw X09iamVjdCk7CitzdGF0aWMgaW50IChJTlRFR0VSUCkgKExpc3BfT2JqZWN0KTsKIHN0YXRp YyBpbnQgSU5URldEUCAodW5pb24gTGlzcF9Gd2QgKik7CiBzdGF0aWMgaW50IEtCT0FSRF9P QkpGV0RQICh1bmlvbiBMaXNwX0Z3ZCAqKTsKLXN0YXRpYyBpbnQgTUFSS0VSUCAoTGlzcF9P YmplY3QpOwotc3RhdGljIGludCBNSVNDUCAoTGlzcF9PYmplY3QpOwotc3RhdGljIGludCBO SUxQIChMaXNwX09iamVjdCk7CitzdGF0aWMgaW50IChNQVJLRVJQKSAoTGlzcF9PYmplY3Qp Oworc3RhdGljIGludCAoTUlTQ1ApIChMaXNwX09iamVjdCk7CitzdGF0aWMgaW50IChOSUxQ KSAoTGlzcF9PYmplY3QpOwogc3RhdGljIGludCBPQkpGV0RQICh1bmlvbiBMaXNwX0Z3ZCAq KTsKIHN0YXRpYyBpbnQgT1ZFUkxBWVAgKExpc3BfT2JqZWN0KTsKIHN0YXRpYyBpbnQgUFJP Q0VTU1AgKExpc3BfT2JqZWN0KTsKQEAgLTUxOSw4ICs1NzUsOCBAQAogc3RhdGljIGludCBT VFJJTkdQIChMaXNwX09iamVjdCk7CiBzdGF0aWMgaW50IFNVQl9DSEFSX1RBQkxFX1AgKExp c3BfT2JqZWN0KTsKIHN0YXRpYyBpbnQgU1VCUlAgKExpc3BfT2JqZWN0KTsKLXN0YXRpYyBp bnQgU1lNQk9MUCAoTGlzcF9PYmplY3QpOwotc3RhdGljIGludCBWRUNUT1JMSUtFUCAoTGlz cF9PYmplY3QpOworc3RhdGljIGludCAoU1lNQk9MUCkgKExpc3BfT2JqZWN0KTsKK3N0YXRp YyBpbnQgKFZFQ1RPUkxJS0VQKSAoTGlzcF9PYmplY3QpOwogc3RhdGljIGludCBXSU5ET1dQ IChMaXNwX09iamVjdCk7CiAKIC8qIERlZmluZWQgaW4gYnVmZmVyLmMuICAqLwpAQCAtNTYx LDcgKzYxNyw3IEBACiAvKiBFeHRyYWN0IGEgdmFsdWUgb3IgYWRkcmVzcyBmcm9tIGEgTGlz cF9PYmplY3QuICAqLwogCiBzdGF0aWMgaW5saW5lIHN0cnVjdCBMaXNwX0NvbnMgKgotWENP TlMgKExpc3BfT2JqZWN0IGEpCisoWENPTlMpIChMaXNwX09iamVjdCBhKQogewogICBlYXNz ZXJ0IChDT05TUCAoYSkpOwogICByZXR1cm4gWFVOVEFHIChhLCBMaXNwX0NvbnMpOwpAQCAt NTgyLDcgKzYzOCw3IEBACiB9CiAKIHN0YXRpYyBpbmxpbmUgc3RydWN0IExpc3BfU3ltYm9s ICoKLVhTWU1CT0wgKExpc3BfT2JqZWN0IGEpCisoWFNZTUJPTCkgKExpc3BfT2JqZWN0IGEp CiB7CiAgIGVhc3NlcnQgKFNZTUJPTFAgKGEpKTsKICAgcmV0dXJuIFhVTlRBRyAoYSwgTGlz cF9TeW1ib2wpOwpAQCAtNzE3LDcgKzc3Myw3IEBACiAvKiBUeXBlIGNoZWNraW5nLiAgKi8K IAogc3RhdGljIGlubGluZSB2b2lkCi1DSEVDS19UWVBFIChpbnQgb2ssIExpc3BfT2JqZWN0 IFF4eHhwLCBMaXNwX09iamVjdCB4KQorKENIRUNLX1RZUEUpIChpbnQgb2ssIExpc3BfT2Jq ZWN0IFF4eHhwLCBMaXNwX09iamVjdCB4KQogewogICBpZiAoIW9rKQogICAgIHdyb25nX3R5 cGVfYXJndW1lbnQgKFF4eHhwLCB4KTsKQEAgLTc3Myw4ICs4MjksOCBAQAogI2VuZGlmCiAK IC8qIFVzZSB0aGVzZSBmcm9tIG5vcm1hbCBjb2RlLiAgKi8KLXN0YXRpYyBpbmxpbmUgTGlz cF9PYmplY3QgWENBUiAoTGlzcF9PYmplY3QgYykgeyByZXR1cm4gWENBUl9BU19MVkFMVUUg KGMpOyB9Ci1zdGF0aWMgaW5saW5lIExpc3BfT2JqZWN0IFhDRFIgKExpc3BfT2JqZWN0IGMp IHsgcmV0dXJuIFhDRFJfQVNfTFZBTFVFIChjKTsgfQorc3RhdGljIGlubGluZSBMaXNwX09i amVjdCAoWENBUikgKExpc3BfT2JqZWN0IGMpIHsgcmV0dXJuIFhDQVJfQVNfTFZBTFVFIChj KTsgfQorc3RhdGljIGlubGluZSBMaXNwX09iamVjdCAoWENEUikgKExpc3BfT2JqZWN0IGMp IHsgcmV0dXJuIFhDRFJfQVNfTFZBTFVFIChjKTsgfQogCiAvKiBVc2UgdGhlc2UgdG8gc2V0 IHRoZSBmaWVsZHMgb2YgYSBjb25zIGNlbGwuCiAKQEAgLTEyNzYsNyArMTMzMiw3IEBACiAv KiBWYWx1ZSBpcyBuYW1lIG9mIHN5bWJvbC4gICovCiAKIHN0YXRpYyBpbmxpbmUgTGlzcF9P YmplY3QKLVNZTUJPTF9WQUwgKHN0cnVjdCBMaXNwX1N5bWJvbCAqc3ltKQorKFNZTUJPTF9W QUwpIChzdHJ1Y3QgTGlzcF9TeW1ib2wgKnN5bSkKIHsKICAgZWFzc2VydCAoc3ltLT5yZWRp cmVjdCA9PSBTWU1CT0xfUExBSU5WQUwpOwogICByZXR1cm4gc3ltLT52YWwudmFsdWU7CkBA IC0xMzAwLDcgKzEzNTYsNyBAQAogICByZXR1cm4gc3ltLT52YWwuZndkOwogfQogc3RhdGlj IGlubGluZSB2b2lkCi1TRVRfU1lNQk9MX1ZBTCAoc3RydWN0IExpc3BfU3ltYm9sICpzeW0s IExpc3BfT2JqZWN0IHYpCisoU0VUX1NZTUJPTF9WQUwpIChzdHJ1Y3QgTGlzcF9TeW1ib2wg KnN5bSwgTGlzcF9PYmplY3QgdikKIHsKICAgZWFzc2VydCAoc3ltLT5yZWRpcmVjdCA9PSBT WU1CT0xfUExBSU5WQUwpOwogICBzeW0tPnZhbC52YWx1ZSA9IHY7CkBAIC0xMzUxLDcgKzE0 MDcsNyBAQAogICAgd2hvc2UgdmFsdWUgY2FuIGJlIHNldCB0byB0aGUga2V5d29yZCBzeW1i b2wgaXRzZWxmKS4gICovCiAKIHN0YXRpYyBpbmxpbmUgaW50Ci1TWU1CT0xfQ09OU1RBTlRf UCAoTGlzcF9PYmplY3Qgc3ltKQorKFNZTUJPTF9DT05TVEFOVF9QKSAoTGlzcF9PYmplY3Qg c3ltKQogewogICByZXR1cm4gWFNZTUJPTCAoc3ltKS0+Y29uc3RhbnQ7CiB9CkBAIC0xOTE1 LDcgKzE5NzEsNyBAQAogLyogRGF0YSB0eXBlIGNoZWNraW5nICovCiAKIHN0YXRpYyBpbmxp bmUgaW50Ci1OSUxQIChMaXNwX09iamVjdCB4KQorKE5JTFApIChMaXNwX09iamVjdCB4KQog ewogICByZXR1cm4gRVEgKHgsIFFuaWwpOwogfQpAQCAtMTk0MiwxOCArMTk5OCwyMiBAQAog ICAgJiYgKFRZUEVfU0lHTkVEICh0eXBlKSA/IFRZUEVfTUlOSU1VTSAodHlwZSkgPD0gWElO VCAoeCkgOiAwIDw9IFhJTlQgKHgpKSBcCiAgICAmJiBYSU5UICh4KSA8PSBUWVBFX01BWElN VU0gKHR5cGUpKQogCi1zdGF0aWMgaW5saW5lIGludCBDT05TUCAoTGlzcF9PYmplY3QgeCkg eyByZXR1cm4gWFRZUEUgKHgpID09IExpc3BfQ29uczsgfQotc3RhdGljIGlubGluZSBpbnQg RkxPQVRQIChMaXNwX09iamVjdCB4KSB7IHJldHVybiBYVFlQRSAoeCkgPT0gTGlzcF9GbG9h dDsgfQotc3RhdGljIGlubGluZSBpbnQgTUlTQ1AgKExpc3BfT2JqZWN0IHgpIHsgcmV0dXJu IFhUWVBFICh4KSA9PSBMaXNwX01pc2M7IH0KK3N0YXRpYyBpbmxpbmUgaW50IChDT05TUCkg KExpc3BfT2JqZWN0IHgpIHsgcmV0dXJuIFhUWVBFICh4KSA9PSBMaXNwX0NvbnM7IH0KK3N0 YXRpYyBpbmxpbmUgaW50IChGTE9BVFApIChMaXNwX09iamVjdCB4KSB7IHJldHVybiBYVFlQ RSAoeCkgPT0gTGlzcF9GbG9hdDsgfQorc3RhdGljIGlubGluZSBpbnQgKE1JU0NQKSAoTGlz cF9PYmplY3QgeCkgeyByZXR1cm4gWFRZUEUgKHgpID09IExpc3BfTWlzYzsgfQogc3RhdGlj IGlubGluZSBpbnQgU1RSSU5HUCAoTGlzcF9PYmplY3QgeCkgeyByZXR1cm4gWFRZUEUgKHgp ID09IExpc3BfU3RyaW5nOyB9Ci1zdGF0aWMgaW5saW5lIGludCBTWU1CT0xQIChMaXNwX09i amVjdCB4KSB7IHJldHVybiBYVFlQRSAoeCkgPT0gTGlzcF9TeW1ib2w7IH0KLXN0YXRpYyBp bmxpbmUgaW50Ci1JTlRFR0VSUCAoTGlzcF9PYmplY3QgeCkKK3N0YXRpYyBpbmxpbmUgaW50 CisoU1lNQk9MUCkgKExpc3BfT2JqZWN0IHgpCit7CisgIHJldHVybiBYVFlQRSAoeCkgPT0g TGlzcF9TeW1ib2w7Cit9CitzdGF0aWMgaW5saW5lIGludAorKElOVEVHRVJQKSAoTGlzcF9P YmplY3QgeCkKIHsKICAgcmV0dXJuIExJU1BfSU5UX1RBR19QIChYVFlQRSAoeCkpOwogfQog c3RhdGljIGlubGluZSBpbnQKLVZFQ1RPUkxJS0VQIChMaXNwX09iamVjdCB4KQorKFZFQ1RP UkxJS0VQKSAoTGlzcF9PYmplY3QgeCkKIHsKICAgcmV0dXJuIFhUWVBFICh4KSA9PSBMaXNw X1ZlY3Rvcmxpa2U7CiB9CkBAIC0xOTY4LDcgKzIwMjgsNyBAQAogICByZXR1cm4gTUlTQ1Ag KHgpICYmIFhNSVNDVFlQRSAoeCkgPT0gTGlzcF9NaXNjX092ZXJsYXk7CiB9CiBzdGF0aWMg aW5saW5lIGludAotTUFSS0VSUCAoTGlzcF9PYmplY3QgeCkKKyhNQVJLRVJQKSAoTGlzcF9P YmplY3QgeCkKIHsKICAgcmV0dXJuIE1JU0NQICh4KSAmJiBYTUlTQ1RZUEUgKHgpID09IExp c3BfTWlzY19NYXJrZXI7CiB9CkBAIC0yMTIzLDcgKzIxODMsNyBAQAogICBDSEVDS19UWVBF IChDT05TUCAoeCkgfHwgTklMUCAoeCksIFFsaXN0cCwgeCk7CiB9CiBzdGF0aWMgaW5saW5l IHZvaWQKLUNIRUNLX0xJU1RfQ09OUyAoTGlzcF9PYmplY3QgeCwgTGlzcF9PYmplY3QgeSkK KyhDSEVDS19MSVNUX0NPTlMpIChMaXNwX09iamVjdCB4LCBMaXNwX09iamVjdCB5KQogewog ICBDSEVDS19UWVBFIChDT05TUCAoeCksIFFsaXN0cCwgeSk7CiB9CkBAIC0yMTQ4LDcgKzIy MDgsNyBAQAogICBDSEVDS19UWVBFIChDT05TUCAoeCksIFFjb25zcCwgeCk7CiB9CiBzdGF0 aWMgaW5saW5lIHZvaWQKLUNIRUNLX1NZTUJPTCAoTGlzcF9PYmplY3QgeCkKKyhDSEVDS19T WU1CT0wpIChMaXNwX09iamVjdCB4KQogewogICBDSEVDS19UWVBFIChTWU1CT0xQICh4KSwg UXN5bWJvbHAsIHgpOwogfQpAQCAtMjIwMyw3ICsyMjYzLDcgQEAKICAgQ0hFQ0tfVFlQRSAo U1VCUlAgKHgpLCBRc3VicnAsIHgpOwogfQogc3RhdGljIGlubGluZSB2b2lkCi1DSEVDS19O VU1CRVIgKExpc3BfT2JqZWN0IHgpCisoQ0hFQ0tfTlVNQkVSKSAoTGlzcF9PYmplY3QgeCkK IHsKICAgQ0hFQ0tfVFlQRSAoSU5URUdFUlAgKHgpLCBRaW50ZWdlcnAsIHgpOwogfQo= --------------020406010201050504050309--