From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4382 invoked by alias); 19 May 2011 22:13:36 -0000 Received: (qmail 4373 invoked by uid 22791); 19 May 2011 22:13:34 -0000 X-SWARE-Spam-Status: No, hits=-2.1 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from tx2ehsobe001.messaging.microsoft.com (HELO TX2EHSOBE001.bigfish.com) (65.55.88.11) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 19 May 2011 22:13:20 +0000 Received: from mail145-tx2-R.bigfish.com (10.9.14.249) by TX2EHSOBE001.bigfish.com (10.9.40.21) with Microsoft SMTP Server id 14.1.225.22; Thu, 19 May 2011 22:13:19 +0000 Received: from mail145-tx2 (localhost.localdomain [127.0.0.1]) by mail145-tx2-R.bigfish.com (Postfix) with ESMTP id 2200714E0406; Thu, 19 May 2011 22:13:19 +0000 (UTC) X-SpamScore: -28 X-BigFish: VS-28(zzbb2dK9371O154dM1432N98dK4015Lzz1202hzz8275bhz2dh2a8h668h839h34h61h) X-Spam-TCS-SCL: 0:0 X-Forefront-Antispam-Report: CIP:70.37.183.190;KIP:(null);UIP:(null);IPVD:NLI;H:mail.freescale.net;RD:none;EFVD:NLI Received: from mail145-tx2 (localhost.localdomain [127.0.0.1]) by mail145-tx2 (MessageSwitch) id 1305843198707320_28957; Thu, 19 May 2011 22:13:18 +0000 (UTC) Received: from TX2EHSMHS028.bigfish.com (unknown [10.9.14.247]) by mail145-tx2.bigfish.com (Postfix) with ESMTP id 9EA9817F8050; Thu, 19 May 2011 22:13:18 +0000 (UTC) Received: from mail.freescale.net (70.37.183.190) by TX2EHSMHS028.bigfish.com (10.9.99.128) with Microsoft SMTP Server (TLS) id 14.1.225.22; Thu, 19 May 2011 22:13:16 +0000 Received: from az33smr02.freescale.net (10.64.34.200) by 039-SN1MMR1-002.039d.mgd.msft.net (10.84.1.15) with Microsoft SMTP Server id 14.1.270.2; Thu, 19 May 2011 17:13:15 -0500 Received: from [10.82.138.37] (katy.am.freescale.net [10.82.138.37]) by az33smr02.freescale.net (8.13.1/8.13.0) with ESMTP id p4JMDE3h014392; Thu, 19 May 2011 17:13:14 -0500 (CDT) Message-ID: <4DD59554.9040806@freescale.com> Date: Fri, 20 May 2011 09:13:00 -0000 From: edmar User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110428 Fedora/3.1.10-1.fc14 Lightning/1.0b3pre Thunderbird/3.1.10 MIME-Version: 1.0 To: David Edelsohn CC: GCC Patches Subject: Re: [RFA] [PR44618] [PowerPC] Wrong code for -frename-registers References: In-Reply-To: Content-Type: multipart/mixed; boundary="------------060009050704060603020103" X-OriginatorOrg: freescale.com Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2011-05/txt/msg01424.txt.bz2 --------------060009050704060603020103 Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit Content-length: 1102 This time I put them in a tar file, to make sure the mail client don't mess with them. (ChangeLog is already inside the patch as well) After I complete the regression tests, I will post a new version against latest subversion revision. Will post it here and on bugzilla. Thanks, Edmar On 05/19/2011 04:36 PM, David Edelsohn wrote: > 010-06-21 Edmar Wienskoski edmar@freescale.com > > * rs6000.md (save_gpregs_): Replaced pattern with a set > of similar patterns, where the MATCH_OPERAND for the function > argument is replaced with individual references to hardware > registers. > * rs6000.md (save_fpregs_): Ditto > * rs6000.md (save_gpregs_): Ditto > * rs6000.md (restore_gpregs_): Ditto > * rs6000.md (return_and_restore_gpregs_): Ditto > * rs6000.md (return_and_restore_fpregs_): Ditto > * rs6000.md (return_and_restore_fpregs_aix_): Ditto > > Okay. > > Did you intend to include the gcc44 diff? > > Also, it's better if you include the ChangeLog inline and the patch as > an attachment, instead of vice versa. > > Thanks, David > > . > --------------060009050704060603020103 Content-Type: application/x-tar; name="sub_ppc_rnreg3.tar" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="sub_ppc_rnreg3.tar" Content-length: 27764 c3ViX3BwY19ybnJlZzMtNDQuZGlmZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAADAwMDA2NDQAgAAAAAESvyIwMTIwNDYzADAwMDAwMDEzMTUw ADExNTY1MzExNTYxADAxMzYzMwAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGVkbWFy AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcm40NTMAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAyMDEwLTA2LTIxICBFZG1hciBXaWVuc2tvc2tp ICBlZG1hckBmcmVlc2NhbGUuY29tCgoJKiByczYwMDAubWQgKHNhdmVfZ3By ZWdzXzxtb2RlPik6IFJlcGxhY2VkIHBhdHRlcm4gd2l0aCBhIHNldAoJb2Yg c2ltaWxhciBwYXR0ZXJucywgd2hlcmUgdGhlIE1BVENIX09QRVJBTkQgZm9y IHRoZSBmdW5jdGlvbgoJYXJndW1lbnQgaXMgcmVwbGFjZWQgd2l0aCBpbmRp dmlkdWFsIHJlZmVyZW5jZXMgdG8gaGFyZHdhcmUKCXJlZ2lzdGVycy4KCSog cnM2MDAwLm1kIChzYXZlX2ZwcmVnc188bW9kZT4pOiBEaXR0bwoJKiByczYw MDAubWQgKHNhdmVfZ3ByZWdzXzxtb2RlPik6IERpdHRvCgkqIHJzNjAwMC5t ZCAocmVzdG9yZV9ncHJlZ3NfPG1vZGU+KTogRGl0dG8KCSogcnM2MDAwLm1k IChyZXR1cm5fYW5kX3Jlc3RvcmVfZ3ByZWdzXzxtb2RlPik6IERpdHRvCgkq IHJzNjAwMC5tZCAocmV0dXJuX2FuZF9yZXN0b3JlX2ZwcmVnc188bW9kZT4p OiBEaXR0bwoJKiByczYwMDAubWQgKHJldHVybl9hbmRfcmVzdG9yZV9mcHJl Z3NfYWl4Xzxtb2RlPik6IERpdHRvCgoyMDEwLTA2LTIxICBFZG1hciBXaWVu c2tvc2tpICBlZG1hckBmcmVlc2NhbGUuY29tCgoJKiBnY2MudGFyZ2V0L3Bv d2VycGMvb3V0b2ZsaW5lX3JucmVnLmM6IE5ldyB0ZXN0Y2FzZS4KCgpJbmRl eDogZ2NjNDQtMjAxMDA2MTYvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLm1k Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGdjYzQ0LTIwMTAwNjE2L2dj Yy9jb25maWcvcnM2MDAwL3JzNjAwMC5tZAkocmV2aXNpb24gMTYwODQ4KQor KysgZ2NjNDQtMjAxMDA2MTYvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLm1k CSh3b3JraW5nIGNvcHkpCkBAIC0xNDcwMSwxMyArMTQ3MDEsMjUgQEAKICAg IntzdG18c3Rtd30gJTIsJTEiCiAgIFsoc2V0X2F0dHIgInR5cGUiICJzdG9y ZV91eCIpXSkKIAorOyBUaGUgZm9sbG93aW5nIGNvbW1lbnQgYXBwbGllcyB0 bzoKKzsgICAgIHNhdmVfZ3ByZWdzXyoKKzsgICAgIHNhdmVfZnByZWdzXyoK KzsgICAgIHJlc3RvcmVfZ3ByZWdzKgorOyAgICAgcmV0dXJuX2FuZF9yZXN0 b3JlX2dwcmVncyoKKzsgICAgIHJldHVybl9hbmRfcmVzdG9yZV9mcHJlZ3Mq Cis7Cis7IFRoZSBvdXQtb2YtbGluZSBzYXZlIC8gcmVzdG9yZSBmdW5jdGlv bnMgZXhwZWN0cyBvbmUgaW5wdXQgYXJndW1lbnQuCis7IFNpbmNlIHRob3Nl IGFyZSBub3Qgc3RhbmRhcmQgY2FsbF9pbnNuJ3MsIHdlIG11c3QgYXZvaWQg dXNpbmcgCis7IE1BVENIX09QRVJBTkQgZm9yIHRoYXQgYXJndW1lbnQuIFRo YXQgd2F5IHRoZSByZWdpc3RlciByZW5hbWUKKzsgb3B0aW1pemF0aW9uIHdp bGwgbm90IHRyeSB0byByZW5hbWUgaXQuCisKIChkZWZpbmVfaW5zbiAiKnNh dmVfZ3ByZWdzXzxtb2RlPiIKICAgWyhtYXRjaF9wYXJhbGxlbCAwICJhbnlf cGFyYWxsZWxfb3BlcmFuZCIKIAkJICAgWyhjbG9iYmVyIChyZWc6UCA2NSkp CiAJCSAgICAodXNlIChtYXRjaF9vcGVyYW5kOlAgMSAic3ltYm9sX3JlZl9v cGVyYW5kIiAicyIpKQotICAgICAgICAgICAgICAgICAgICAodXNlIChtYXRj aF9vcGVyYW5kOlAgMiAiZ3BjX3JlZ19vcGVyYW5kIiAiciIpKQotCQkgICAg KHNldCAobWF0Y2hfb3BlcmFuZDpQIDMgIm1lbW9yeV9vcGVyYW5kIiAiPW0i KQotCQkJIChtYXRjaF9vcGVyYW5kOlAgNCAiZ3BjX3JlZ19vcGVyYW5kIiAi ciIpKV0pXQorICAgICAgICAgICAgICAgICAgICAodXNlIChyZWc6UCAxMSkp CisJCSAgICAoc2V0IChtYXRjaF9vcGVyYW5kOlAgMiAibWVtb3J5X29wZXJh bmQiICI9bSIpCisJCQkgKG1hdGNoX29wZXJhbmQ6UCAzICJncGNfcmVnX29w ZXJhbmQiICJyIikpXSldCiAgICIiCiAgICJibCAlejEiCiAgIFsoc2V0X2F0 dHIgInR5cGUiICJicmFuY2giKQpAQCAtMTQ3MTcsOSArMTQ3MzAsOSBAQAog ICBbKG1hdGNoX3BhcmFsbGVsIDAgImFueV9wYXJhbGxlbF9vcGVyYW5kIgog CQkgICBbKGNsb2JiZXIgKHJlZzpQIDY1KSkKIAkJICAgICh1c2UgKG1hdGNo X29wZXJhbmQ6UCAxICJzeW1ib2xfcmVmX29wZXJhbmQiICJzIikpCi0gICAg ICAgICAgICAgICAgICAgICh1c2UgKG1hdGNoX29wZXJhbmQ6UCAyICJncGNf cmVnX29wZXJhbmQiICJyIikpCi0JCSAgICAoc2V0IChtYXRjaF9vcGVyYW5k OkRGIDMgIm1lbW9yeV9vcGVyYW5kIiAiPW0iKQotCQkJIChtYXRjaF9vcGVy YW5kOkRGIDQgImdwY19yZWdfb3BlcmFuZCIgImYiKSldKV0KKyAgICAgICAg ICAgICAgICAgICAgKHVzZSAocmVnOlAgMTEpKQorCQkgICAgKHNldCAobWF0 Y2hfb3BlcmFuZDpERiAyICJtZW1vcnlfb3BlcmFuZCIgIj1tIikKKwkJCSAo bWF0Y2hfb3BlcmFuZDpERiAzICJncGNfcmVnX29wZXJhbmQiICJmIikpXSld CiAgICIiCiAgICJibCAlejEiCiAgIFsoc2V0X2F0dHIgInR5cGUiICJicmFu Y2giKQpAQCAtMTQ4MTcsMTMgKzE0ODMwLDI1IEBACiA7IEZJWE1FOiBUaGlz IHdvdWxkIHByb2JhYmx5IGJlIHNvbWV3aGF0IHNpbXBsZXIgaWYgdGhlIEN5 Z251cyBzaWJjYWxsCiA7IHN0dWZmIHdhcyBpbiBHQ0MuICBPaCwgYW5kICJh bnlfcGFyYWxsZWxfb3BlcmFuZCIgaXMgYSBiaXQgZmxleGlibGUuLi4KIAor OyBUaGUgZm9sbG93aW5nIGNvbW1lbnQgYXBwbGllcyB0bzoKKzsgICAgIHNh dmVfZ3ByZWdzXyoKKzsgICAgIHNhdmVfZnByZWdzXyoKKzsgICAgIHJlc3Rv cmVfZ3ByZWdzKgorOyAgICAgcmV0dXJuX2FuZF9yZXN0b3JlX2dwcmVncyoK KzsgICAgIHJldHVybl9hbmRfcmVzdG9yZV9mcHJlZ3MqCis7Cis7IFRoZSBv dXQtb2YtbGluZSBzYXZlIC8gcmVzdG9yZSBmdW5jdGlvbnMgZXhwZWN0cyBv bmUgaW5wdXQgYXJndW1lbnQuCis7IFNpbmNlIHRob3NlIGFyZSBub3Qgc3Rh bmRhcmQgY2FsbF9pbnNuJ3MsIHdlIG11c3QgYXZvaWQgdXNpbmcgCis7IE1B VENIX09QRVJBTkQgZm9yIHRoYXQgYXJndW1lbnQuIFRoYXQgd2F5IHRoZSBy ZWdpc3RlciByZW5hbWUKKzsgb3B0aW1pemF0aW9uIHdpbGwgbm90IHRyeSB0 byByZW5hbWUgaXQuCisKIChkZWZpbmVfaW5zbiAiKnJlc3RvcmVfZ3ByZWdz Xzxtb2RlPiIKICBbKG1hdGNoX3BhcmFsbGVsIDAgImFueV9wYXJhbGxlbF9v cGVyYW5kIgogICAgICAgICAgICAgICAgICAgWyhjbG9iYmVyIChtYXRjaF9v cGVyYW5kOlAgMSAicmVnaXN0ZXJfb3BlcmFuZCIgIj1sIikpCiAgICAgICAg ICAgICAgICAgICAgKHVzZSAobWF0Y2hfb3BlcmFuZDpQIDIgInN5bWJvbF9y ZWZfb3BlcmFuZCIgInMiKSkKLSAgICAgICAgICAgICAgICAgICAodXNlICht YXRjaF9vcGVyYW5kOlAgMyAiZ3BjX3JlZ19vcGVyYW5kIiAiciIpKQotCQkg ICAoc2V0IChtYXRjaF9vcGVyYW5kOlAgNCAiZ3BjX3JlZ19vcGVyYW5kIiAi PXIiKQotCQkJKG1hdGNoX29wZXJhbmQ6UCA1ICJtZW1vcnlfb3BlcmFuZCIg Im0iKSldKV0KKyAgICAgICAgICAgICAgICAgICAodXNlIChyZWc6UCAxMSkp CisJCSAgIChzZXQgKG1hdGNoX29wZXJhbmQ6UCAzICJncGNfcmVnX29wZXJh bmQiICI9ciIpCisJCQkobWF0Y2hfb3BlcmFuZDpQIDQgIm1lbW9yeV9vcGVy YW5kIiAibSIpKV0pXQogICIiCiAgImJsICV6MiIKICBbKHNldF9hdHRyICJ0 eXBlIiAiYnJhbmNoIikKQEAgLTE0ODM0LDkgKzE0ODU5LDkgQEAKICAgICAg ICAgICAgICAgICAgIFsocmV0dXJuKQogCQkgICAoY2xvYmJlciAobWF0Y2hf b3BlcmFuZDpQIDEgInJlZ2lzdGVyX29wZXJhbmQiICI9bCIpKQogCQkgICAo dXNlIChtYXRjaF9vcGVyYW5kOlAgMiAic3ltYm9sX3JlZl9vcGVyYW5kIiAi cyIpKQotICAgICAgICAgICAgICAgICAgICh1c2UgKG1hdGNoX29wZXJhbmQ6 UCAzICJncGNfcmVnX29wZXJhbmQiICJyIikpCi0JCSAgIChzZXQgKG1hdGNo X29wZXJhbmQ6UCA0ICJncGNfcmVnX29wZXJhbmQiICI9ciIpCi0JCQkobWF0 Y2hfb3BlcmFuZDpQIDUgIm1lbW9yeV9vcGVyYW5kIiAibSIpKV0pXQorICAg ICAgICAgICAgICAgICAgICh1c2UgKHJlZzpQIDExKSkKKwkJICAgKHNldCAo bWF0Y2hfb3BlcmFuZDpQIDMgImdwY19yZWdfb3BlcmFuZCIgIj1yIikKKwkJ CShtYXRjaF9vcGVyYW5kOlAgNCAibWVtb3J5X29wZXJhbmQiICJtIikpXSld CiAgIiIKICAiYiAlejIiCiAgWyhzZXRfYXR0ciAidHlwZSIgImJyYW5jaCIp CkBAIC0xNDg0Nyw5ICsxNDg3Miw5IEBACiAgICAgICAgICAgICAgICAgICBb KHJldHVybikKIAkJICAgKGNsb2JiZXIgKG1hdGNoX29wZXJhbmQ6UCAxICJy ZWdpc3Rlcl9vcGVyYW5kIiAiPWwiKSkKIAkJICAgKHVzZSAobWF0Y2hfb3Bl cmFuZDpQIDIgInN5bWJvbF9yZWZfb3BlcmFuZCIgInMiKSkKLSAgICAgICAg ICAgICAgICAgICAodXNlIChtYXRjaF9vcGVyYW5kOlAgMyAiZ3BjX3JlZ19v cGVyYW5kIiAiciIpKQotCQkgICAoc2V0IChtYXRjaF9vcGVyYW5kOkRGIDQg ImdwY19yZWdfb3BlcmFuZCIgIj1mIikKLQkJCShtYXRjaF9vcGVyYW5kOkRG IDUgIm1lbW9yeV9vcGVyYW5kIiAibSIpKV0pXQorICAgICAgICAgICAgICAg ICAgICh1c2UgKHJlZzpQIDExKSkKKwkJICAgKHNldCAobWF0Y2hfb3BlcmFu ZDpERiAzICJncGNfcmVnX29wZXJhbmQiICI9ZiIpCisJCQkobWF0Y2hfb3Bl cmFuZDpERiA0ICJtZW1vcnlfb3BlcmFuZCIgIm0iKSldKV0KICAiIgogICJi ICV6MiIKICBbKHNldF9hdHRyICJ0eXBlIiAiYnJhbmNoIikKZGlmZiAtdU4g Z2NjLTIwMTAwNjE1LW9yaWcvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Bv d2VycGMvb3V0b2ZsaW5lX3JucmVnLmMgZ2NjLTIwMTAwNjE1L2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9wb3dlcnBjL291dG9mbGluZV9ybnJlZy5jCi0t LSBnY2MtMjAxMDA2MTUtb3JpZy9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cG93ZXJwYy9vdXRvZmxpbmVfcm5yZWcuYwkxOTY5LTEyLTMxIDE4OjAwOjAw LjAwMDAwMDAwMCAtMDYwMAorKysgZ2NjLTIwMTAwNjE1L2djYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9wb3dlcnBjL291dG9mbGluZV9ybnJlZy5jCTIwMTAt MDYtMTUgMTE6NTA6MTMuNDYzNDI2MTA4IC0wNTAwCkBAIC0wLDAgKzEsMTUg QEAKKy8qIFRlc3QgdGhhdCByZWdpc3RlcnMgdXNlZCBieSBvdXQgb2YgbGlu ZSByZXN0b3JlIGZ1bmN0aW9ucyBkb2VzIG5vdCBnZXQgcmVuYW1lZC4KKyAg IEFJWCwgYW5kIDY0IGJpdCB0YXJnZXRzIHVzZXMgcjEsIHdoaWNoIHJucmVn IHN0YXlzIGF3YXkgZnJvbS4KKyAgIExpbnV4IDMyIGJpdHMgdGFyZ2V0cyB1 c2VzIHIxMSwgd2hpY2ggaXMgc3VzY2VwdGlibGUgdG8gYmUgcmVuYW1lZCAq LworLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1l ZmZlY3RpdmUtdGFyZ2V0IGlscDMyIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAi LU9zIC1mcmVuYW1lLXJlZ2lzdGVycyAtZmR1bXAtcnRsLXJucmVnIiB9ICov CisvKiAiKiByZW5hbWVkIiBvciAiKiBubyBhdmFpbGFibGUgYmV0dGVyIGNo b2ljZSIgcmVzdWx0cyBhcmUgbm90IGFjY2VwdGFibGUgKi8KKy8qIHsgZGct ZmluYWwgeyBzY2FuLXJ0bC1kdW1wLW5vdCAiUmVnaXN0ZXIgMTEgaW4gaW5z biAqIiAicm5yZWciIHsgdGFyZ2V0IHBvd2VycGMqLSotbGludXgqIH0gfSB9 ICovCisvKiB7IGRnLWZpbmFsIHsgY2xlYW51cC1ydGwtZHVtcCAicm5yZWci IH0gfSAqLworaW50CitjYWxjIChpbnQgaikKK3sKKyAgaWYgKGo8PTEpIHJl dHVybiAxOworICByZXR1cm4gY2FsYyhqLTEpKihqKzEpOworfQoAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABzdWJf cHBjX3JucmVnMy5kaWZmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAMDAwMDY0NACAAAAAARK/IjAxMjA0NjMAMDAwMDAwMjc3NDEAMTE1 NjUzMTA1MTcAMDEzNDIxACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAZWRtYXIAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABybjQ1MwAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAADIwMTAtMDYtMjEgIEVkbWFyIFdpZW5za29za2kgIGVk bWFyQGZyZWVzY2FsZS5jb20KCgkqIHJzNjAwMC5tZCAoc2F2ZV9ncHJlZ3Nf PG1vZGU+KTogUmVwbGFjZWQgcGF0dGVybiB3aXRoIGEgc2V0CglvZiBzaW1p bGFyIHBhdHRlcm5zLCB3aGVyZSB0aGUgTUFUQ0hfT1BFUkFORCBmb3IgdGhl IGZ1bmN0aW9uCglhcmd1bWVudCBpcyByZXBsYWNlZCB3aXRoIGluZGl2aWR1 YWwgcmVmZXJlbmNlcyB0byBoYXJkd2FyZQoJcmVnaXN0ZXJzLgoJKiByczYw MDAubWQgKHNhdmVfZnByZWdzXzxtb2RlPik6IERpdHRvCgkqIHJzNjAwMC5t ZCAoc2F2ZV9ncHJlZ3NfPG1vZGU+KTogRGl0dG8KCSogcnM2MDAwLm1kIChy ZXN0b3JlX2dwcmVnc188bW9kZT4pOiBEaXR0bwoJKiByczYwMDAubWQgKHJl dHVybl9hbmRfcmVzdG9yZV9ncHJlZ3NfPG1vZGU+KTogRGl0dG8KCSogcnM2 MDAwLm1kIChyZXR1cm5fYW5kX3Jlc3RvcmVfZnByZWdzXzxtb2RlPik6IERp dHRvCgkqIHJzNjAwMC5tZCAocmV0dXJuX2FuZF9yZXN0b3JlX2ZwcmVnc19h aXhfPG1vZGU+KTogRGl0dG8KCjIwMTAtMDYtMjEgIEVkbWFyIFdpZW5za29z a2kgIGVkbWFyQGZyZWVzY2FsZS5jb20KCgkqIGdjYy50YXJnZXQvcG93ZXJw Yy9vdXRvZmxpbmVfcm5yZWcuYzogTmV3IHRlc3RjYXNlLgoKCkluZGV4OiBn Y2MtMjAxMDA2MTcvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLm1kCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tIGdjYy0yMDEwMDYxNy9nY2MvY29uZmln L3JzNjAwMC9yczYwMDAubWQJKHJldmlzaW9uIDE2MTI4NSkKKysrIGdjYy0y MDEwMDYxNy9nY2MvY29uZmlnL3JzNjAwMC9yczYwMDAubWQJKHdvcmtpbmcg Y29weSkKQEAgLTE1NDQ4LDMwICsxNTQ0OCw5MyBAQAogICAie3N0bXxzdG13 fSAlMiwlMSIKICAgWyhzZXRfYXR0ciAidHlwZSIgInN0b3JlX3V4IildKQog Ci0oZGVmaW5lX2luc24gIipzYXZlX2dwcmVnc188bW9kZT4iCis7IFRoZSBm b2xsb3dpbmcgY29tbWVudCBhcHBsaWVzIHRvOgorOyAgICAgc2F2ZV9ncHJl Z3NfKgorOyAgICAgc2F2ZV9mcHJlZ3NfKgorOyAgICAgcmVzdG9yZV9ncHJl Z3MqCis7ICAgICByZXR1cm5fYW5kX3Jlc3RvcmVfZ3ByZWdzKgorOyAgICAg cmV0dXJuX2FuZF9yZXN0b3JlX2ZwcmVncyoKKzsgICAgIHJldHVybl9hbmRf cmVzdG9yZV9mcHJlZ3NfYWl4KgorOworOyBUaGUgb3V0LW9mLWxpbmUgc2F2 ZSAvIHJlc3RvcmUgZnVuY3Rpb25zIGV4cGVjdHMgb25lIGlucHV0IGFyZ3Vt ZW50LgorOyBTaW5jZSB0aG9zZSBhcmUgbm90IHN0YW5kYXJkIGNhbGxfaW5z bidzLCB3ZSBtdXN0IGF2b2lkIHVzaW5nCis7IE1BVENIX09QRVJBTkQgZm9y IHRoYXQgYXJndW1lbnQuIFRoYXQgd2F5IHRoZSByZWdpc3RlciByZW5hbWUK Kzsgb3B0aW1pemF0aW9uIHdpbGwgbm90IHRyeSB0byByZW5hbWUgdGhpcyBy ZWdpc3Rlci4KKzsgRWFjaCBwYXR0ZXJuIGlzIHJlcGVhdGVkIGZvciBlYWNo IHBvc3NpYmxlIHJlZ2lzdGVyIG51bWJlciB1c2VkIGluIAorOyB2YXJpb3Vz IEFCSXMgKHIxMSwgcjEsIGFuZCBmb3Igc29tZSBmdW5jdGlvbnMgcjEyKQor CisoZGVmaW5lX2luc24gIipzYXZlX2dwcmVnc188bW9kZT5fcjExIgogICBb KG1hdGNoX3BhcmFsbGVsIDAgImFueV9wYXJhbGxlbF9vcGVyYW5kIgogCQkg ICBbKGNsb2JiZXIgKHJlZzpQIDY1KSkKIAkJICAgICh1c2UgKG1hdGNoX29w ZXJhbmQ6UCAxICJzeW1ib2xfcmVmX29wZXJhbmQiICJzIikpCi0gICAgICAg ICAgICAgICAgICAgICh1c2UgKG1hdGNoX29wZXJhbmQ6UCAyICJncGNfcmVn X29wZXJhbmQiICJyIikpCi0JCSAgICAoc2V0IChtYXRjaF9vcGVyYW5kOlAg MyAibWVtb3J5X29wZXJhbmQiICI9bSIpCi0JCQkgKG1hdGNoX29wZXJhbmQ6 UCA0ICJncGNfcmVnX29wZXJhbmQiICJyIikpXSldCisgICAgICAgICAgICAg ICAgICAgICh1c2UgKHJlZzpQIDExKSkKKwkJICAgIChzZXQgKG1hdGNoX29w ZXJhbmQ6UCAyICJtZW1vcnlfb3BlcmFuZCIgIj1tIikKKwkJCSAobWF0Y2hf b3BlcmFuZDpQIDMgImdwY19yZWdfb3BlcmFuZCIgInIiKSldKV0KICAgIiIK ICAgImJsICUxIgogICBbKHNldF9hdHRyICJ0eXBlIiAiYnJhbmNoIikKICAg IChzZXRfYXR0ciAibGVuZ3RoIiAiNCIpXSkKIAotKGRlZmluZV9pbnNuICIq c2F2ZV9mcHJlZ3NfPG1vZGU+IgorKGRlZmluZV9pbnNuICIqc2F2ZV9ncHJl Z3NfPG1vZGU+X3IxMiIKICAgWyhtYXRjaF9wYXJhbGxlbCAwICJhbnlfcGFy YWxsZWxfb3BlcmFuZCIKIAkJICAgWyhjbG9iYmVyIChyZWc6UCA2NSkpCiAJ CSAgICAodXNlIChtYXRjaF9vcGVyYW5kOlAgMSAic3ltYm9sX3JlZl9vcGVy YW5kIiAicyIpKQotICAgICAgICAgICAgICAgICAgICAodXNlIChtYXRjaF9v cGVyYW5kOlAgMiAiZ3BjX3JlZ19vcGVyYW5kIiAiciIpKQotCQkgICAgKHNl dCAobWF0Y2hfb3BlcmFuZDpERiAzICJtZW1vcnlfb3BlcmFuZCIgIj1tIikK LQkJCSAobWF0Y2hfb3BlcmFuZDpERiA0ICJncGNfcmVnX29wZXJhbmQiICJk IikpXSldCisgICAgICAgICAgICAgICAgICAgICh1c2UgKHJlZzpQIDEyKSkK KwkJICAgIChzZXQgKG1hdGNoX29wZXJhbmQ6UCAyICJtZW1vcnlfb3BlcmFu ZCIgIj1tIikKKwkJCSAobWF0Y2hfb3BlcmFuZDpQIDMgImdwY19yZWdfb3Bl cmFuZCIgInIiKSldKV0KICAgIiIKICAgImJsICUxIgogICBbKHNldF9hdHRy ICJ0eXBlIiAiYnJhbmNoIikKICAgIChzZXRfYXR0ciAibGVuZ3RoIiAiNCIp XSkKIAorKGRlZmluZV9pbnNuICIqc2F2ZV9ncHJlZ3NfPG1vZGU+X3IxIgor ICBbKG1hdGNoX3BhcmFsbGVsIDAgImFueV9wYXJhbGxlbF9vcGVyYW5kIgor CQkgICBbKGNsb2JiZXIgKHJlZzpQIDY1KSkKKwkJICAgICh1c2UgKG1hdGNo X29wZXJhbmQ6UCAxICJzeW1ib2xfcmVmX29wZXJhbmQiICJzIikpCisgICAg ICAgICAgICAgICAgICAgICh1c2UgKHJlZzpQIDEpKQorCQkgICAgKHNldCAo bWF0Y2hfb3BlcmFuZDpQIDIgIm1lbW9yeV9vcGVyYW5kIiAiPW0iKQorCQkJ IChtYXRjaF9vcGVyYW5kOlAgMyAiZ3BjX3JlZ19vcGVyYW5kIiAiciIpKV0p XQorICAiIgorICAiYmwgJTEiCisgIFsoc2V0X2F0dHIgInR5cGUiICJicmFu Y2giKQorICAgKHNldF9hdHRyICJsZW5ndGgiICI0IildKQorCisoZGVmaW5l X2luc24gIipzYXZlX2ZwcmVnc188bW9kZT5fcjExIgorICBbKG1hdGNoX3Bh cmFsbGVsIDAgImFueV9wYXJhbGxlbF9vcGVyYW5kIgorCQkgICBbKGNsb2Ji ZXIgKHJlZzpQIDY1KSkKKwkJICAgICh1c2UgKG1hdGNoX29wZXJhbmQ6UCAx ICJzeW1ib2xfcmVmX29wZXJhbmQiICJzIikpCisgICAgICAgICAgICAgICAg ICAgICh1c2UgKHJlZzpQIDExKSkKKwkJICAgIChzZXQgKG1hdGNoX29wZXJh bmQ6REYgMiAibWVtb3J5X29wZXJhbmQiICI9bSIpCisJCQkgKG1hdGNoX29w ZXJhbmQ6REYgMyAiZ3BjX3JlZ19vcGVyYW5kIiAiZCIpKV0pXQorICAiIgor ICAiYmwgJTEiCisgIFsoc2V0X2F0dHIgInR5cGUiICJicmFuY2giKQorICAg KHNldF9hdHRyICJsZW5ndGgiICI0IildKQorCisoZGVmaW5lX2luc24gIipz YXZlX2ZwcmVnc188bW9kZT5fcjEyIgorICBbKG1hdGNoX3BhcmFsbGVsIDAg ImFueV9wYXJhbGxlbF9vcGVyYW5kIgorCQkgICBbKGNsb2JiZXIgKHJlZzpQ IDY1KSkKKwkJICAgICh1c2UgKG1hdGNoX29wZXJhbmQ6UCAxICJzeW1ib2xf cmVmX29wZXJhbmQiICJzIikpCisgICAgICAgICAgICAgICAgICAgICh1c2Ug KHJlZzpQIDEyKSkKKwkJICAgIChzZXQgKG1hdGNoX29wZXJhbmQ6REYgMiAi bWVtb3J5X29wZXJhbmQiICI9bSIpCisJCQkgKG1hdGNoX29wZXJhbmQ6REYg MyAiZ3BjX3JlZ19vcGVyYW5kIiAiZCIpKV0pXQorICAiIgorICAiYmwgJTEi CisgIFsoc2V0X2F0dHIgInR5cGUiICJicmFuY2giKQorICAgKHNldF9hdHRy ICJsZW5ndGgiICI0IildKQorCisoZGVmaW5lX2luc24gIipzYXZlX2ZwcmVn c188bW9kZT5fcjEiCisgIFsobWF0Y2hfcGFyYWxsZWwgMCAiYW55X3BhcmFs bGVsX29wZXJhbmQiCisJCSAgIFsoY2xvYmJlciAocmVnOlAgNjUpKQorCQkg ICAgKHVzZSAobWF0Y2hfb3BlcmFuZDpQIDEgInN5bWJvbF9yZWZfb3BlcmFu ZCIgInMiKSkKKyAgICAgICAgICAgICAgICAgICAgKHVzZSAocmVnOlAgMSkp CisJCSAgICAoc2V0IChtYXRjaF9vcGVyYW5kOkRGIDIgIm1lbW9yeV9vcGVy YW5kIiAiPW0iKQorCQkJIChtYXRjaF9vcGVyYW5kOkRGIDMgImdwY19yZWdf b3BlcmFuZCIgImQiKSldKV0KKyAgIiIKKyAgImJsICUxIgorICBbKHNldF9h dHRyICJ0eXBlIiAiYnJhbmNoIikKKyAgIChzZXRfYXR0ciAibGVuZ3RoIiAi NCIpXSkKKwogOyBUaGVzZSBhcmUgdG8gZXhwbGFpbiB0aGF0IGNoYW5nZXMg dG8gdGhlIHN0YWNrIHBvaW50ZXIgc2hvdWxkCiA7IG5vdCBiZSBtb3ZlZCBv dmVyIHN0b3JlcyB0byBzdGFjayBtZW1vcnkuCiAoZGVmaW5lX2luc24gInN0 YWNrX3RpZSIKQEAgLTE1NTY0LDU3ICsxNTYyNywxNjEgQEAKIDsgRklYTUU6 IFRoaXMgd291bGQgcHJvYmFibHkgYmUgc29tZXdoYXQgc2ltcGxlciBpZiB0 aGUgQ3lnbnVzIHNpYmNhbGwKIDsgc3R1ZmYgd2FzIGluIEdDQy4gIE9oLCBh bmQgImFueV9wYXJhbGxlbF9vcGVyYW5kIiBpcyBhIGJpdCBmbGV4aWJsZS4u LgogCi0oZGVmaW5lX2luc24gIipyZXN0b3JlX2dwcmVnc188bW9kZT4iCis7 IFRoZSBmb2xsb3dpbmcgY29tbWVudCBhcHBsaWVzIHRvOgorOyAgICAgc2F2 ZV9ncHJlZ3NfKgorOyAgICAgc2F2ZV9mcHJlZ3NfKgorOyAgICAgcmVzdG9y ZV9ncHJlZ3MqCis7ICAgICByZXR1cm5fYW5kX3Jlc3RvcmVfZ3ByZWdzKgor OyAgICAgcmV0dXJuX2FuZF9yZXN0b3JlX2ZwcmVncyoKKzsgICAgIHJldHVy bl9hbmRfcmVzdG9yZV9mcHJlZ3NfYWl4KgorOworOyBUaGUgb3V0LW9mLWxp bmUgc2F2ZSAvIHJlc3RvcmUgZnVuY3Rpb25zIGV4cGVjdHMgb25lIGlucHV0 IGFyZ3VtZW50LgorOyBTaW5jZSB0aG9zZSBhcmUgbm90IHN0YW5kYXJkIGNh bGxfaW5zbidzLCB3ZSBtdXN0IGF2b2lkIHVzaW5nCis7IE1BVENIX09QRVJB TkQgZm9yIHRoYXQgYXJndW1lbnQuIFRoYXQgd2F5IHRoZSByZWdpc3RlciBy ZW5hbWUKKzsgb3B0aW1pemF0aW9uIHdpbGwgbm90IHRyeSB0byByZW5hbWUg dGhpcyByZWdpc3Rlci4KKzsgRWFjaCBwYXR0ZXJuIGlzIHJlcGVhdGVkIGZv ciBlYWNoIHBvc3NpYmxlIHJlZ2lzdGVyIG51bWJlciB1c2VkIGluIAorOyB2 YXJpb3VzIEFCSXMgKHIxMSwgcjEsIGFuZCBmb3Igc29tZSBmdW5jdGlvbnMg cjEyKQorCisoZGVmaW5lX2luc24gIipyZXN0b3JlX2dwcmVnc188bW9kZT5f cjExIgogIFsobWF0Y2hfcGFyYWxsZWwgMCAiYW55X3BhcmFsbGVsX29wZXJh bmQiCiAgICAgICAgICAgICAgICAgICBbKGNsb2JiZXIgKG1hdGNoX29wZXJh bmQ6UCAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiPWwiKSkKICAgICAgICAgICAg ICAgICAgICAodXNlIChtYXRjaF9vcGVyYW5kOlAgMiAic3ltYm9sX3JlZl9v cGVyYW5kIiAicyIpKQotICAgICAgICAgICAgICAgICAgICh1c2UgKG1hdGNo X29wZXJhbmQ6UCAzICJncGNfcmVnX29wZXJhbmQiICJyIikpCi0JCSAgIChz ZXQgKG1hdGNoX29wZXJhbmQ6UCA0ICJncGNfcmVnX29wZXJhbmQiICI9ciIp Ci0JCQkobWF0Y2hfb3BlcmFuZDpQIDUgIm1lbW9yeV9vcGVyYW5kIiAibSIp KV0pXQorICAgICAgICAgICAgICAgICAgICh1c2UgKHJlZzpQIDExKSkKKwkJ ICAgKHNldCAobWF0Y2hfb3BlcmFuZDpQIDMgImdwY19yZWdfb3BlcmFuZCIg Ij1yIikKKwkJCShtYXRjaF9vcGVyYW5kOlAgNCAibWVtb3J5X29wZXJhbmQi ICJtIikpXSldCiAgIiIKICAiYmwgJTIiCiAgWyhzZXRfYXR0ciAidHlwZSIg ImJyYW5jaCIpCiAgIChzZXRfYXR0ciAibGVuZ3RoIiAiNCIpXSkKIAotKGRl ZmluZV9pbnNuICIqcmV0dXJuX2FuZF9yZXN0b3JlX2dwcmVnc188bW9kZT4i CisoZGVmaW5lX2luc24gIipyZXN0b3JlX2dwcmVnc188bW9kZT5fcjEyIgog IFsobWF0Y2hfcGFyYWxsZWwgMCAiYW55X3BhcmFsbGVsX29wZXJhbmQiCisg ICAgICAgICAgICAgICAgICBbKGNsb2JiZXIgKG1hdGNoX29wZXJhbmQ6UCAx ICJyZWdpc3Rlcl9vcGVyYW5kIiAiPWwiKSkKKyAgICAgICAgICAgICAgICAg ICAodXNlIChtYXRjaF9vcGVyYW5kOlAgMiAic3ltYm9sX3JlZl9vcGVyYW5k IiAicyIpKQorICAgICAgICAgICAgICAgICAgICh1c2UgKHJlZzpQIDEyKSkK KwkJICAgKHNldCAobWF0Y2hfb3BlcmFuZDpQIDMgImdwY19yZWdfb3BlcmFu ZCIgIj1yIikKKwkJCShtYXRjaF9vcGVyYW5kOlAgNCAibWVtb3J5X29wZXJh bmQiICJtIikpXSldCisgIiIKKyAiYmwgJTIiCisgWyhzZXRfYXR0ciAidHlw ZSIgImJyYW5jaCIpCisgIChzZXRfYXR0ciAibGVuZ3RoIiAiNCIpXSkKKwor KGRlZmluZV9pbnNuICIqcmVzdG9yZV9ncHJlZ3NfPG1vZGU+X3IxIgorIFso bWF0Y2hfcGFyYWxsZWwgMCAiYW55X3BhcmFsbGVsX29wZXJhbmQiCisgICAg ICAgICAgICAgICAgICBbKGNsb2JiZXIgKG1hdGNoX29wZXJhbmQ6UCAxICJy ZWdpc3Rlcl9vcGVyYW5kIiAiPWwiKSkKKyAgICAgICAgICAgICAgICAgICAo dXNlIChtYXRjaF9vcGVyYW5kOlAgMiAic3ltYm9sX3JlZl9vcGVyYW5kIiAi cyIpKQorICAgICAgICAgICAgICAgICAgICh1c2UgKHJlZzpQIDEpKQorCQkg ICAoc2V0IChtYXRjaF9vcGVyYW5kOlAgMyAiZ3BjX3JlZ19vcGVyYW5kIiAi PXIiKQorCQkJKG1hdGNoX29wZXJhbmQ6UCA0ICJtZW1vcnlfb3BlcmFuZCIg Im0iKSldKV0KKyAiIgorICJibCAlMiIKKyBbKHNldF9hdHRyICJ0eXBlIiAi YnJhbmNoIikKKyAgKHNldF9hdHRyICJsZW5ndGgiICI0IildKQorCisoZGVm aW5lX2luc24gIipyZXR1cm5fYW5kX3Jlc3RvcmVfZ3ByZWdzXzxtb2RlPl9y MTEiCisgWyhtYXRjaF9wYXJhbGxlbCAwICJhbnlfcGFyYWxsZWxfb3BlcmFu ZCIKICAgICAgICAgICAgICAgICAgIFsocmV0dXJuKQogCQkgICAoY2xvYmJl ciAobWF0Y2hfb3BlcmFuZDpQIDEgInJlZ2lzdGVyX29wZXJhbmQiICI9bCIp KQogCQkgICAodXNlIChtYXRjaF9vcGVyYW5kOlAgMiAic3ltYm9sX3JlZl9v cGVyYW5kIiAicyIpKQotICAgICAgICAgICAgICAgICAgICh1c2UgKG1hdGNo X29wZXJhbmQ6UCAzICJncGNfcmVnX29wZXJhbmQiICJyIikpCi0JCSAgIChz ZXQgKG1hdGNoX29wZXJhbmQ6UCA0ICJncGNfcmVnX29wZXJhbmQiICI9ciIp Ci0JCQkobWF0Y2hfb3BlcmFuZDpQIDUgIm1lbW9yeV9vcGVyYW5kIiAibSIp KV0pXQorICAgICAgICAgICAgICAgICAgICh1c2UgKHJlZzpQIDExKSkKKwkJ ICAgKHNldCAobWF0Y2hfb3BlcmFuZDpQIDMgImdwY19yZWdfb3BlcmFuZCIg Ij1yIikKKwkJCShtYXRjaF9vcGVyYW5kOlAgNCAibWVtb3J5X29wZXJhbmQi ICJtIikpXSldCiAgIiIKICAiYiAlMiIKICBbKHNldF9hdHRyICJ0eXBlIiAi YnJhbmNoIikKICAgKHNldF9hdHRyICJsZW5ndGgiICI0IildKQogCi0oZGVm aW5lX2luc24gIipyZXR1cm5fYW5kX3Jlc3RvcmVfZnByZWdzXzxtb2RlPiIK KyhkZWZpbmVfaW5zbiAiKnJldHVybl9hbmRfcmVzdG9yZV9ncHJlZ3NfPG1v ZGU+X3IxMiIKICBbKG1hdGNoX3BhcmFsbGVsIDAgImFueV9wYXJhbGxlbF9v cGVyYW5kIgogICAgICAgICAgICAgICAgICAgWyhyZXR1cm4pCiAJCSAgIChj bG9iYmVyIChtYXRjaF9vcGVyYW5kOlAgMSAicmVnaXN0ZXJfb3BlcmFuZCIg Ij1sIikpCiAJCSAgICh1c2UgKG1hdGNoX29wZXJhbmQ6UCAyICJzeW1ib2xf cmVmX29wZXJhbmQiICJzIikpCi0gICAgICAgICAgICAgICAgICAgKHVzZSAo bWF0Y2hfb3BlcmFuZDpQIDMgImdwY19yZWdfb3BlcmFuZCIgInIiKSkKLQkJ ICAgKHNldCAobWF0Y2hfb3BlcmFuZDpERiA0ICJncGNfcmVnX29wZXJhbmQi ICI9ZCIpCi0JCQkobWF0Y2hfb3BlcmFuZDpERiA1ICJtZW1vcnlfb3BlcmFu ZCIgIm0iKSldKV0KKyAgICAgICAgICAgICAgICAgICAodXNlIChyZWc6UCAx MikpCisJCSAgIChzZXQgKG1hdGNoX29wZXJhbmQ6UCAzICJncGNfcmVnX29w ZXJhbmQiICI9ciIpCisJCQkobWF0Y2hfb3BlcmFuZDpQIDQgIm1lbW9yeV9v cGVyYW5kIiAibSIpKV0pXQogICIiCiAgImIgJTIiCiAgWyhzZXRfYXR0ciAi dHlwZSIgImJyYW5jaCIpCiAgIChzZXRfYXR0ciAibGVuZ3RoIiAiNCIpXSkK IAotKGRlZmluZV9pbnNuICIqcmV0dXJuX2FuZF9yZXN0b3JlX2ZwcmVnc19h aXhfPG1vZGU+IgorKGRlZmluZV9pbnNuICIqcmV0dXJuX2FuZF9yZXN0b3Jl X2dwcmVnc188bW9kZT5fcjEiCiAgWyhtYXRjaF9wYXJhbGxlbCAwICJhbnlf cGFyYWxsZWxfb3BlcmFuZCIKKyAgICAgICAgICAgICAgICAgIFsocmV0dXJu KQorCQkgICAoY2xvYmJlciAobWF0Y2hfb3BlcmFuZDpQIDEgInJlZ2lzdGVy X29wZXJhbmQiICI9bCIpKQorCQkgICAodXNlIChtYXRjaF9vcGVyYW5kOlAg MiAic3ltYm9sX3JlZl9vcGVyYW5kIiAicyIpKQorICAgICAgICAgICAgICAg ICAgICh1c2UgKHJlZzpQIDEpKQorCQkgICAoc2V0IChtYXRjaF9vcGVyYW5k OlAgMyAiZ3BjX3JlZ19vcGVyYW5kIiAiPXIiKQorCQkJKG1hdGNoX29wZXJh bmQ6UCA0ICJtZW1vcnlfb3BlcmFuZCIgIm0iKSldKV0KKyAiIgorICJiICUy IgorIFsoc2V0X2F0dHIgInR5cGUiICJicmFuY2giKQorICAoc2V0X2F0dHIg Imxlbmd0aCIgIjQiKV0pCisKKyhkZWZpbmVfaW5zbiAiKnJldHVybl9hbmRf cmVzdG9yZV9mcHJlZ3NfPG1vZGU+X3IxMSIKKyBbKG1hdGNoX3BhcmFsbGVs IDAgImFueV9wYXJhbGxlbF9vcGVyYW5kIgorICAgICAgICAgICAgICAgICAg WyhyZXR1cm4pCisJCSAgIChjbG9iYmVyIChtYXRjaF9vcGVyYW5kOlAgMSAi cmVnaXN0ZXJfb3BlcmFuZCIgIj1sIikpCisJCSAgICh1c2UgKG1hdGNoX29w ZXJhbmQ6UCAyICJzeW1ib2xfcmVmX29wZXJhbmQiICJzIikpCisgICAgICAg ICAgICAgICAgICAgKHVzZSAocmVnOlAgMTEpKQorCQkgICAoc2V0IChtYXRj aF9vcGVyYW5kOkRGIDMgImdwY19yZWdfb3BlcmFuZCIgIj1kIikKKwkJCSht YXRjaF9vcGVyYW5kOkRGIDQgIm1lbW9yeV9vcGVyYW5kIiAibSIpKV0pXQor ICIiCisgImIgJTIiCisgWyhzZXRfYXR0ciAidHlwZSIgImJyYW5jaCIpCisg IChzZXRfYXR0ciAibGVuZ3RoIiAiNCIpXSkKKworKGRlZmluZV9pbnNuICIq cmV0dXJuX2FuZF9yZXN0b3JlX2ZwcmVnc188bW9kZT5fcjEyIgorIFsobWF0 Y2hfcGFyYWxsZWwgMCAiYW55X3BhcmFsbGVsX29wZXJhbmQiCisgICAgICAg ICAgICAgICAgICBbKHJldHVybikKKwkJICAgKGNsb2JiZXIgKG1hdGNoX29w ZXJhbmQ6UCAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiPWwiKSkKKwkJICAgKHVz ZSAobWF0Y2hfb3BlcmFuZDpQIDIgInN5bWJvbF9yZWZfb3BlcmFuZCIgInMi KSkKKyAgICAgICAgICAgICAgICAgICAodXNlIChyZWc6UCAxMikpCisJCSAg IChzZXQgKG1hdGNoX29wZXJhbmQ6REYgMyAiZ3BjX3JlZ19vcGVyYW5kIiAi PWQiKQorCQkJKG1hdGNoX29wZXJhbmQ6REYgNCAibWVtb3J5X29wZXJhbmQi ICJtIikpXSldCisgIiIKKyAiYiAlMiIKKyBbKHNldF9hdHRyICJ0eXBlIiAi YnJhbmNoIikKKyAgKHNldF9hdHRyICJsZW5ndGgiICI0IildKQorCisoZGVm aW5lX2luc24gIipyZXR1cm5fYW5kX3Jlc3RvcmVfZnByZWdzXzxtb2RlPl9y MSIKKyBbKG1hdGNoX3BhcmFsbGVsIDAgImFueV9wYXJhbGxlbF9vcGVyYW5k IgorICAgICAgICAgICAgICAgICAgWyhyZXR1cm4pCisJCSAgIChjbG9iYmVy IChtYXRjaF9vcGVyYW5kOlAgMSAicmVnaXN0ZXJfb3BlcmFuZCIgIj1sIikp CisJCSAgICh1c2UgKG1hdGNoX29wZXJhbmQ6UCAyICJzeW1ib2xfcmVmX29w ZXJhbmQiICJzIikpCisgICAgICAgICAgICAgICAgICAgKHVzZSAocmVnOlAg MSkpCisJCSAgIChzZXQgKG1hdGNoX29wZXJhbmQ6REYgMyAiZ3BjX3JlZ19v cGVyYW5kIiAiPWQiKQorCQkJKG1hdGNoX29wZXJhbmQ6REYgNCAibWVtb3J5 X29wZXJhbmQiICJtIikpXSldCisgIiIKKyAiYiAlMiIKKyBbKHNldF9hdHRy ICJ0eXBlIiAiYnJhbmNoIikKKyAgKHNldF9hdHRyICJsZW5ndGgiICI0Iild KQorCisoZGVmaW5lX2luc24gIipyZXR1cm5fYW5kX3Jlc3RvcmVfZnByZWdz X2FpeF88bW9kZT5fcjExIgorIFsobWF0Y2hfcGFyYWxsZWwgMCAiYW55X3Bh cmFsbGVsX29wZXJhbmQiCiAJCSAgWyhyZXR1cm4pCiAJCSAgICh1c2UgKG1h dGNoX29wZXJhbmQ6UCAxICJyZWdpc3Rlcl9vcGVyYW5kIiAibCIpKQogCQkg ICAodXNlIChtYXRjaF9vcGVyYW5kOlAgMiAic3ltYm9sX3JlZl9vcGVyYW5k IiAicyIpKQotCQkgICAodXNlIChtYXRjaF9vcGVyYW5kOlAgMyAiZ3BjX3Jl Z19vcGVyYW5kIiAiciIpKQotCQkgICAoc2V0IChtYXRjaF9vcGVyYW5kOkRG IDQgImdwY19yZWdfb3BlcmFuZCIgIj1kIikKLQkJCShtYXRjaF9vcGVyYW5k OkRGIDUgIm1lbW9yeV9vcGVyYW5kIiAibSIpKV0pXQorCQkgICAodXNlIChy ZWc6UCAxMSkpCisJCSAgIChzZXQgKG1hdGNoX29wZXJhbmQ6REYgMyAiZ3Bj X3JlZ19vcGVyYW5kIiAiPWQiKQorCQkJKG1hdGNoX29wZXJhbmQ6REYgNCAi bWVtb3J5X29wZXJhbmQiICJtIikpXSldCiAgIiIKICAiYiAlMiIKICBbKHNl dF9hdHRyICJ0eXBlIiAiYnJhbmNoIikKICAgKHNldF9hdHRyICJsZW5ndGgi ICI0IildKQogCisoZGVmaW5lX2luc24gIipyZXR1cm5fYW5kX3Jlc3RvcmVf ZnByZWdzX2FpeF88bW9kZT5fcjEiCisgWyhtYXRjaF9wYXJhbGxlbCAwICJh bnlfcGFyYWxsZWxfb3BlcmFuZCIKKwkJICBbKHJldHVybikKKwkJICAgKHVz ZSAobWF0Y2hfb3BlcmFuZDpQIDEgInJlZ2lzdGVyX29wZXJhbmQiICJsIikp CisJCSAgICh1c2UgKG1hdGNoX29wZXJhbmQ6UCAyICJzeW1ib2xfcmVmX29w ZXJhbmQiICJzIikpCisJCSAgICh1c2UgKHJlZzpQIDEpKQorCQkgICAoc2V0 IChtYXRjaF9vcGVyYW5kOkRGIDMgImdwY19yZWdfb3BlcmFuZCIgIj1kIikK KwkJCShtYXRjaF9vcGVyYW5kOkRGIDQgIm1lbW9yeV9vcGVyYW5kIiAibSIp KV0pXQorICIiCisgImIgJTIiCisgWyhzZXRfYXR0ciAidHlwZSIgImJyYW5j aCIpCisgIChzZXRfYXR0ciAibGVuZ3RoIiAiNCIpXSkKKwogOyBUaGlzIGlz IHVzZWQgaW4gY29tcGlsaW5nIHRoZSB1bndpbmQgcm91dGluZXMuCiAoZGVm aW5lX2V4cGFuZCAiZWhfcmV0dXJuIgogICBbKHVzZSAobWF0Y2hfb3BlcmFu ZCAwICJnZW5lcmFsX29wZXJhbmQiICIiKSldCmRpZmYgLXVOIGdjYy0yMDEw MDYxNS1vcmlnL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9wb3dlcnBjL291 dG9mbGluZV9ybnJlZy5jIGdjYy0yMDEwMDYxNS9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvcG93ZXJwYy9vdXRvZmxpbmVfcm5yZWcuYwotLS0gZ2NjLTIw MTAwNjE1LW9yaWcvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Bvd2VycGMv b3V0b2ZsaW5lX3JucmVnLmMJMTk2OS0xMi0zMSAxODowMDowMC4wMDAwMDAw MDAgLTA2MDAKKysrIGdjYy0yMDEwMDYxNS9nY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvcG93ZXJwYy9vdXRvZmxpbmVfcm5yZWcuYwkyMDEwLTA2LTE1IDEx OjUwOjEzLjQ2MzQyNjEwOCAtMDUwMApAQCAtMCwwICsxLDE1IEBACisvKiBU ZXN0IHRoYXQgcmVnaXN0ZXJzIHVzZWQgYnkgb3V0IG9mIGxpbmUgcmVzdG9y ZSBmdW5jdGlvbnMgZG9lcyBub3QgZ2V0IHJlbmFtZWQuCisgICBBSVgsIGFu ZCA2NCBiaXQgdGFyZ2V0cyB1c2VzIHIxLCB3aGljaCBybnJlZyBzdGF5cyBh d2F5IGZyb20uCisgICBMaW51eCAzMiBiaXRzIHRhcmdldHMgdXNlcyByMTEs IHdoaWNoIGlzIHN1c2NlcHRpYmxlIHRvIGJlIHJlbmFtZWQgKi8KKy8qIHsg ZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZl LXRhcmdldCBpbHAzMiB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1PcyAtZnJl bmFtZS1yZWdpc3RlcnMgLWZkdW1wLXJ0bC1ybnJlZyIgfSAqLworLyogIiog cmVuYW1lZCIgb3IgIiogbm8gYXZhaWxhYmxlIGJldHRlciBjaG9pY2UiIHJl c3VsdHMgYXJlIG5vdCBhY2NlcHRhYmxlICovCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi1ydGwtZHVtcC1ub3QgIlJlZ2lzdGVyIDExIGluIGluc24gKiIgInJu cmVnIiB7IHRhcmdldCBwb3dlcnBjKi0qLWxpbnV4KiB9IH0gfSAqLworLyog eyBkZy1maW5hbCB7IGNsZWFudXAtcnRsLWR1bXAgInJucmVnIiB9IH0gKi8K K2ludAorY2FsYyAoaW50IGopCit7CisgIGlmIChqPD0xKSByZXR1cm4gMTsK KyAgcmV0dXJuIGNhbGMoai0xKSooaisxKTsKK30KAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAA= --------------060009050704060603020103--