From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 33863 invoked by alias); 29 Nov 2018 16:50:03 -0000 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 Received: (qmail 24622 invoked by uid 89); 29 Nov 2018 16:47:21 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.7 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_LOTSOFHASH,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=sk:ramana, sk:ramana., newlib, ramanaradhakrishnanarmcom X-HELO: EUR01-DB5-obe.outbound.protection.outlook.com Received: from mail-eopbgr150081.outbound.protection.outlook.com (HELO EUR01-DB5-obe.outbound.protection.outlook.com) (40.107.15.81) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 29 Nov 2018 16:47:13 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=I0/sbsv/pBrObcn7W2P8C/h/Fx/z07+b4nGpECd6BjE=; b=iLexlncLEMhCg6W69qLjN7jsfvGdsZtzZHXmZ+TA/MM2hbqoYVEqYeUuvG85ys64QbvpQP9FGYiIVz4RnFOAwVx+Cc9W5/mUvQLg2SPaW6bpYLAB7YD1DlPGKge3kDpi5AwPW9hh1GIa0K6OTLI7BQC3voUx3CFANNJW3uNfiFM= Received: from HE1PR0801MB1722.eurprd08.prod.outlook.com (10.168.149.146) by HE1PR0801MB1802.eurprd08.prod.outlook.com (10.168.150.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1361.15; Thu, 29 Nov 2018 16:47:08 +0000 Received: from HE1PR0801MB1722.eurprd08.prod.outlook.com ([fe80::5dd4:1e13:2c47:16a3]) by HE1PR0801MB1722.eurprd08.prod.outlook.com ([fe80::5dd4:1e13:2c47:16a3%4]) with mapi id 15.20.1361.019; Thu, 29 Nov 2018 16:47:08 +0000 From: Sudakshina Das To: "gcc-patches@gcc.gnu.org" CC: nd , James Greenhalgh , Richard Earnshaw , Marcus Shawcroft Subject: Re: [PATCH, GCC, AARCH64, 5/6] Enable BTI : Add new pass for BTI. Date: Thu, 29 Nov 2018 16:50:00 -0000 Message-ID: <4a091322-c031-ced1-a78b-dd45316d8c7c@arm.com> References: <520262f0-989a-fa92-5d5f-fa7c90d77198@arm.com> In-Reply-To: <520262f0-989a-fa92-5d5f-fa7c90d77198@arm.com> authentication-results: spf=none (sender IP is ) smtp.mailfrom=Sudi.Das@arm.com; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) Content-Type: multipart/mixed; boundary="_002_4a091322c031ced1a78bdd45316d8c7carmcom_" MIME-Version: 1.0 X-IsSubscribed: yes X-SW-Source: 2018-11/txt/msg02472.txt.bz2 --_002_4a091322c031ced1a78bdd45316d8c7carmcom_ Content-Type: text/plain; charset="utf-8" Content-ID: <5A3C6B91EA18E54C9F4269386D6AF196@eurprd08.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 4628 SGkNCg0KT24gMTMvMTEvMTggMTQ6NDcsIFN1ZGFrc2hpbmEgRGFzIHdyb3Rl Og0KPiBIaQ0KPiANCj4gT24gMDIvMTEvMTggMTg6MzgsIFN1ZGFrc2hpbmEg RGFzIHdyb3RlOg0KPj4gSGkNCj4+DQo+PiBUaGlzIHBhdGNoIGlzIHBhcnQg b2YgYSBzZXJpZXMgdGhhdCBlbmFibGVzIEFSTXY4LjUtQSBpbiBHQ0MgYW5k DQo+PiBhZGRzIEJyYW5jaCBUYXJnZXQgSWRlbnRpZmljYXRpb24gTWVjaGFu aXNtLg0KPj4gKGh0dHBzOi8vZGV2ZWxvcGVyLmFybS5jb20vcHJvZHVjdHMv YXJjaGl0ZWN0dXJlL2NwdS1hcmNoaXRlY3R1cmUvYS1wcm9maWxlL2V4cGxv cmF0aW9uLXRvb2xzKQ0KPj4NCj4+IFRoaXMgcGF0Y2ggYWRkcyBhIG5ldyBw YXNzIGNhbGxlZCAiYnRpIiB3aGljaCBpcyB0cmlnZ2VyZWQgYnkgdGhlDQo+ PiBjb21tYW5kIGxpbmUgYXJndW1lbnQgLW1icmFuY2gtcHJvdGVjdGlvbiB3 aGVuZXZlciAiYnRpIiBpcyB0dXJuZWQgb24uDQo+Pg0KPj4gVGhlIHBhc3Mg aXRlcmF0ZXMgdGhyb3VnaCB0aGUgaW5zdHJ1Y3Rpb25zIGFuZCBhZGRzIGFw cHJvcHJpYXRlZCBCVEkNCj4+IGluc3RydWN0aW9ucyBiYXNlZCBvbiB0aGUg Zm9sbG93aW5nOg0KPj4gICAgICAgKiBBZGQgYSBuZXcgIkJUSSBDIiBhdCB0 aGUgYmVnaW5uaW5nIG9mIGEgZnVuY3Rpb24sIHVubGVzcyBpdHMgYWxyZWFk eQ0KPj4gICAgICAgICBwcm90ZWN0ZWQgYnkgYSAiUEFDSUFTUC9QQUNJQlNQ Ii4gV2UgZXhlbXB0IHRoZSBmdW5jdGlvbnMgdGhhdCBhcmUNCj4+ICAgICAg ICAgb25seSBjYWxsZWQgZGlyZWN0bHkuDQo+PiAgICAgICAqIEFkZCBhIG5l dyAiQlRJIEoiIGZvciBldmVyeSB0YXJnZXQgb2YgYW4gaW5kaXJlY3QganVt cCwganVtcCB0YWJsZQ0KPj4gICAgICAgICB0YXJnZXRzLCBub24tbG9jYWwg Z290byB0YXJnZXRzIG9yIGxhYmVscyB0aGF0IG1pZ2h0IGJlIHJlZmVyZW5j ZWQNCj4+ICAgICAgICAgYnkgdmFyaWFibGVzLCBjb25zdGFudCBwb29scywg ZXRjIChOT1RFX0lOU05fREVMRVRFRF9MQUJFTCkNCj4+DQo+PiBTaW5jZSB3 ZSBoYXZlIGFscmVhZHkgY2hhbmdlZCB0aGUgdXNlIG9mIGluZGlyZWN0IHRh aWwgY2FsbHMgdG8gb25seSB4MTYNCj4+IGFuZCB4MTcsIHdlIGRvIG5vdCBo YXZlIHRvIHVzZSAiQlRJIEpDIi4NCj4+IChjaGVjayBwYXRjaCAzLzYpLg0K Pj4NCj4gDQo+IEkgbWlzc2VkIG91dCBvbiB0aGUgZXhwbGFuYXRpb24gZm9y IHRoZSBjaGFuZ2VzIHRvIHRoZSB0cmFtcG9saW5lIGNvZGUuDQo+IFRoZSBw YXRjaCBhbHNvIHVwZGF0ZXMgdGhlIHRyYW1wb2xpbmUgY29kZSBpbiBjYXNl IEJUSSBpcyBlbmFibGVkLiBTaW5jZQ0KPiB0aGUgdHJhbXBvbGluZSBjb2Rl IGlzIGEgdGFyZ2V0IG9mIGFuIGluZGlyZWN0IGJyYW5jaCwgd2UgbmVlZCB0 byBhZGQgYW4NCj4gYXBwcm9wcmlhdGUgQlRJIGluc3RydWN0aW9uIGF0IHRo ZSBiZWdpbm5pbmcgb2YgaXQgdG8gYXZvaWQgYSBicmFuY2gNCj4gdGFyZ2V0 IGV4Y2VwdGlvbi4NCj4gDQo+PiBCb290c3RyYXBwZWQgYW5kIHJlZ3Jlc3Np b24gdGVzdGVkIHdpdGggYWFyY2g2NC1ub25lLWxpbnV4LWdudS4gQWRkZWQN Cj4+IG5ldyB0ZXN0cy4NCj4+IElzIHRoaXMgb2sgZm9yIHRydW5rPw0KPj4N Cj4+IFRoYW5rcw0KPj4gU3VkaQ0KPj4NCj4+ICoqKiBnY2MvQ2hhbmdlTG9n ICoqKg0KPj4NCj4+IDIwMTgteHgteHggIFN1ZGFrc2hpbmEgRGFzICA8c3Vk aS5kYXNAYXJtLmNvbT4NCj4+IAkgICAgUmFtYW5hIFJhZGhha3Jpc2huYW4g IDxyYW1hbmEucmFkaGFrcmlzaG5hbkBhcm0uY29tPg0KPj4NCj4+IAkqIGNv bmZpZy5nY2MgKGFhcmNoNjQqLSotKik6IEFkZCBhYXJjaDY0LWJ0aS1pbnNl cnQuby4NCj4+IAkqIGdjYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0Lmg6IFVw ZGF0ZSBjb21tZW50IGZvcg0KPj4gCVRSQU1QT0xJTkVfU0laRS4NCj4+IAkq IGNvbmZpZy9hYXJjaDY0L2FhcmNoNjQuYyAoYWFyY2g2NF9hc21fdHJhbXBv bGluZV90ZW1wbGF0ZSk6DQo+PiAJVXBkYXRlIGlmIGJ0aSBpcyBlbmFibGVk Lg0KPj4gCSogY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1idGktaW5zZXJ0LmM6 IE5ldyBmaWxlLg0KPj4gCSogY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1wYXNz ZXMuZGVmIChJTlNFUlRfUEFTU19CRUZPUkUpOiBJbnNlcnQNCj4+IAlidGkg cGFzcy4NCj4+IAkqIGNvbmZpZy9hYXJjaDY0L2FhcmNoNjQtcHJvdG9zLmgg KG1ha2VfcGFzc19pbnNlcnRfYnRpKToNCj4+IAlEZWNsYXJlIHRoZSBuZXcg YnRpIHBhc3MuDQo+PiAJKiBjb25maWcvYWFyY2g2NC9hYXJjaDY0Lm1kIChi dGlfbm9wKTogRGVmaW5lLg0KPj4gCSogY29uZmlnL2FhcmNoNjQvdC1hYXJj aDY0OiBBZGQgcnVsZSBmb3IgYWFyY2g2NC1idGktaW5zZXJ0Lm8uDQo+Pg0K Pj4gKioqIGdjYy90ZXN0c3VpdGUvQ2hhbmdlTG9nICoqKg0KPj4NCj4+IDIw MTgteHgteHggIFN1ZGFrc2hpbmEgRGFzICA8c3VkaS5kYXNAYXJtLmNvbT4N Cj4+DQo+PiAJKiBnY2MudGFyZ2V0L2FhcmNoNjQvYnRpLTEuYzogTmV3IHRl c3QuDQo+PiAJKiBnY2MudGFyZ2V0L2FhcmNoNjQvYnRpLTIuYzogTmV3IHRl c3QuDQo+PiAJKiBsaWIvdGFyZ2V0LXN1cHBvcnRzLmV4cA0KPj4gCShjaGVj a19lZmZlY3RpdmVfdGFyZ2V0X2FhcmNoNjRfYnRpX2h3KTogQWRkIG5ldyBj aGVjayBmb3INCj4+IAlCVEkgaHcuDQo+Pg0KPiANCj4gVXBkYXRlZCBwYXRj aCBhdHRhY2hlZCB3aXRoIG1vcmUgY29tbWVudHMgYW5kIGEgYml0IG9mIHNp bXBsaWZpY2F0aW9uDQo+IGluIGFhcmNoNjQtYnRpLWluc2VydC5jLiBDaGFu Z2VMb2cgc3RpbGwgYXBwbGllcy4NCj4gDQo+IFRoYW5rcw0KPiBTdWRpDQo+ IA0KDQpJIGZvdW5kIGEgbWlzc2VkIGNhc2UgaW4gdGhlIGJ0aSBwYXNzIGFu ZCBlZGl0ZWQgdGhlIHBhdGNoIHRvIGluY2x1ZGUNCml0LiBUaGlzIG1hZGUg bWUgcmVhbGl6ZSB0aGF0IHRoZSBvbmx5IDIgcmVncmVzc2lvbnMgSSBzYXcg d2l0aCB0aGUNCkJUSSBlbmFibGVkIG1vZGVsIGNhbiBub3cgYmUgYXZvaWRl ZC4gKGFzIHF1b3RlZCBiZWxvdyBmcm9tIG15IDYvNg0KcGF0Y2gpDQoiQm9v dHN0cmFwcGVkIGFuZCByZWdyZXNzaW9uIHRlc3RlZCB3aXRoIGFhcmNoNjQt bm9uZS1saW51eC1nbnUgd2l0aA0KYW5kIHdpdGhvdXQgdGhlIGNvbmZpZ3Vy ZSBvcHRpb24gdHVybmVkIG9uLg0KQWxzbyB0ZXN0ZWQgb24gYWFyY2g2NC1u b25lLWVsZiB3aXRoIGFuZCB3aXRob3V0IGNvbmZpZ3VyZSBvcHRpb24gd2l0 aCBhDQpCVEkgZW5hYmxlZCBhZW0uIE9ubHkgMiByZWdyZXNzaW9ucyBhbmQg dGhlc2Ugd2VyZSBiZWNhdXNlIG5ld2xpYg0KcmVxdWlyZXMgcGF0Y2hlcyB0 byBwcm90ZWN0IGhhbmQgY29kZWQgbGlicmFyaWVzIHdpdGggQlRJLiINCg0K VGhlIENoYW5nZUxvZyBzdGlsbCBhcHBsaWVzLg0KDQpTdWRpDQo= --_002_4a091322c031ced1a78bdd45316d8c7carmcom_ Content-Type: text/x-patch; name="rb10090.patch" Content-Description: rb10090.patch Content-Disposition: attachment; filename="rb10090.patch"; size=18504; creation-date="Thu, 29 Nov 2018 16:47:08 GMT"; modification-date="Thu, 29 Nov 2018 16:47:08 GMT" Content-ID: Content-Transfer-Encoding: base64 Content-length: 25084 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcuZ2NjIGIvZ2NjL2NvbmZpZy5nY2MN CmluZGV4IGIxMDg2OTdjZmM3YjFjOWM2ZGMxZjMwY2NhNmZkMTE1ODE4MmMy OWUuLjNlNzdmOWRmNmFkNmNhNTVmY2NjYTUwMzg3ZWFiNGIyNTAxYWY2NDcg MTAwNjQ0DQotLS0gYS9nY2MvY29uZmlnLmdjYw0KKysrIGIvZ2NjL2NvbmZp Zy5nY2MNCkBAIC0zMTcsNyArMzE3LDcgQEAgYWFyY2g2NCotKi0qKQ0KIAlj X3RhcmdldF9vYmpzPSJhYXJjaDY0LWMubyINCiAJY3h4X3RhcmdldF9vYmpz PSJhYXJjaDY0LWMubyINCiAJZF90YXJnZXRfb2Jqcz0iYWFyY2g2NC1kLm8i DQotCWV4dHJhX29ianM9ImFhcmNoNjQtYnVpbHRpbnMubyBhYXJjaC1jb21t b24ubyBjb3J0ZXgtYTU3LWZtYS1zdGVlcmluZy5vIGFhcmNoNjQtc3BlY3Vs YXRpb24ubyBmYWxrb3ItdGFnLWNvbGxpc2lvbi1hdm9pZGFuY2UubyINCisJ ZXh0cmFfb2Jqcz0iYWFyY2g2NC1idWlsdGlucy5vIGFhcmNoLWNvbW1vbi5v IGNvcnRleC1hNTctZm1hLXN0ZWVyaW5nLm8gYWFyY2g2NC1zcGVjdWxhdGlv bi5vIGZhbGtvci10YWctY29sbGlzaW9uLWF2b2lkYW5jZS5vIGFhcmNoNjQt YnRpLWluc2VydC5vIg0KIAl0YXJnZXRfZ3RmaWxlcz0iXCQoc3JjZGlyKS9j b25maWcvYWFyY2g2NC9hYXJjaDY0LWJ1aWx0aW5zLmMiDQogCXRhcmdldF9o YXNfdGFyZ2V0bV9jb21tb249eWVzDQogCTs7DQpkaWZmIC0tZ2l0IGEvZ2Nj L2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtYnRpLWluc2VydC5jIGIvZ2NjL2Nv bmZpZy9hYXJjaDY0L2FhcmNoNjQtYnRpLWluc2VydC5jDQpuZXcgZmlsZSBt b2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMC4uYmU2MDRmYjJmZDVkZjA1Mjk3MWNjODFiN2U2ZDc3 NjA4ODBhNmI3OQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2NjL2NvbmZpZy9h YXJjaDY0L2FhcmNoNjQtYnRpLWluc2VydC5jDQpAQCAtMCwwICsxLDIzNiBA QA0KKy8qIEJyYW5jaCBUYXJnZXQgSWRlbnRpZmljYXRpb24gZm9yIEFBcmNo NjQgYXJjaGl0ZWN0dXJlLg0KKyAgIENvcHlyaWdodCAoQykgMjAxOCBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NCisgICBDb250cmlidXRlZCBi eSBBcm0gTHRkLg0KKw0KKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdDQy4N CisNCisgICBHQ0MgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdA0KKyAgIHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlz aGVkIGJ5DQorICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyIHZlcnNpb24gMywgb3IgKGF0IHlvdXIgb3B0aW9uKQ0KKyAgIGFueSBs YXRlciB2ZXJzaW9uLg0KKw0KKyAgIEdDQyBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQNCisgICBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mDQorICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUNCisgICBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQorDQorICAg WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UNCisgICBhbG9uZyB3aXRoIEdDQzsgc2Vl IHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQ0KKyAgIDxodHRwOi8v d3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovDQorDQorI2RlZmluZSBJTl9U QVJHRVRfQ09ERSAxDQorDQorI2luY2x1ZGUgImNvbmZpZy5oIg0KKyNkZWZp bmUgSU5DTFVERV9TVFJJTkcNCisjaW5jbHVkZSAic3lzdGVtLmgiDQorI2lu Y2x1ZGUgImNvcmV0eXBlcy5oIg0KKyNpbmNsdWRlICJiYWNrZW5kLmgiDQor I2luY2x1ZGUgInRhcmdldC5oIg0KKyNpbmNsdWRlICJydGwuaCINCisjaW5j bHVkZSAidHJlZS5oIg0KKyNpbmNsdWRlICJtZW1tb2RlbC5oIg0KKyNpbmNs dWRlICJnaW1wbGUuaCINCisjaW5jbHVkZSAidG1fcC5oIg0KKyNpbmNsdWRl ICJzdHJpbmdwb29sLmgiDQorI2luY2x1ZGUgImF0dHJpYnMuaCINCisjaW5j bHVkZSAiZW1pdC1ydGwuaCINCisjaW5jbHVkZSAiZ2ltcGxpZnkuaCINCisj aW5jbHVkZSAiZ2ltcGxlLWl0ZXJhdG9yLmgiDQorI2luY2x1ZGUgImR1bXBm aWxlLmgiDQorI2luY2x1ZGUgInJ0bC1pdGVyLmgiDQorI2luY2x1ZGUgImNm Z3J0bC5oIg0KKyNpbmNsdWRlICJ0cmVlLXBhc3MuaCINCisjaW5jbHVkZSAi Y2dyYXBoLmgiDQorDQorLyogVGhpcyBwYXNzIGVuYWJsZXMgdGhlIHN1cHBv cnQgZm9yIEJyYW5jaCBUYXJnZXQgSWRlbnRpZmljYXRpb24gTWVjaGFuaXNt DQorICAgZm9yIEFBcmNoNjQuICBUaGlzIGlzIGEgbmV3IHNlY3VyaXR5IGZl YXR1cmUgaW50cm9kdWNlZCBpbiBBUk12OC41LUENCisgICBhcmNodGl0ZWN0 dXJlLiAgQSBCVEkgaW5zdHJ1Y3Rpb24gaXMgdXNlZCB0byBndWFyZCBhZ2Fp bnN0IHRoZSBleGVjdXRpb24NCisgICBvZiBpbnN0cnVjdGlvbnMgd2hpY2gg YXJlIG5vdCB0aGUgaW50ZW5kZWQgdGFyZ2V0IG9mIGFuIGluZGlyZWN0IGJy YW5jaC4NCisNCisgICBPdXRzaWRlIG9mIGEgZ3VhcmRlZCBtZW1vcnkgcmVn aW9uLCBhIEJUSSBpbnN0cnVjdGlvbiBleGVjdXRlcyBhcyBhIE5PUC4NCisg ICBXaXRoaW4gYSBndWFyZGVkIG1lbW9yeSByZWdpb24gYW55IHRhcmdldCBv ZiBhbiBpbmRpcmVjdCBicmFuY2ggbXVzdCBiZQ0KKyAgIGEgY29tcGF0aWJs ZSBCVEkgb3IgQlJLLCBITFQsIFBBQ0lBU1AsIFBBQ0lCQVNQIGluc3RydWN0 aW9uIChldmVuIGlmIHRoZQ0KKyAgIGJyYW5jaCBpcyB0cmlnZ2VyZWQgaW4g YSBub24tZ3VhcmRlZCBtZW1vcnkgcmVnaW9uKS4gIEFuIGluY29tcGF0aWJp bGl0eQ0KKyAgIGdlbmVyYXRlcyBhIEJyYW5jaCBUYXJnZXQgRXhjZXB0aW9u Lg0KKw0KKyAgIFRoZSBjb21wYXRpYmlsaXR5IG9mIHRoZSBCVEkgaW5zdHJ1 Y3Rpb24gaXMgYXMgZm9sbG93czoNCisgICBCVEkgaiA6IENhbiBiZSBhIHRh cmdldCBvZiBhbnkgaW5kaXJlY3QganVtcCAoQlIgWG4pLg0KKyAgIEJUSSBj IDogQ2FuIGJlIGEgdGFyZ2V0IG9mIGFueSBpbmRpcmVjdCBjYWxsIChCTFIg WG4gYW5kIEJSIFgxNi9YMTcpLg0KKyAgIEJUSSBqYzogQ2FuIGJlIGEgdGFy Z2V0IG9mIGFueSBpbmRpcmVjdCBjYWxsIG9yIGluZGlyZWN0IGp1bXAuDQor ICAgQlRJICAgOiBDYW4gbm90IGJlIGEgdGFyZ2V0IG9mIGFueSBpbmRpcmVj dCBjYWxsIG9yIGluZGlyZWN0IGp1bXAuDQorDQorICBJbiBvcmRlciB0byBl bmFibGUgdGhpcyBtZWNoYW5pc20sIHRoaXMgcGFzcyBpdGVyYXRlcyB0aHJv dWdoIHRoZQ0KKyAgY29udHJvbCBmbG93IG9mIHRoZSBjb2RlIGFuZCBhZGRz IGFwcHJvcHJpYXRlIEJUSSBpbnN0cnVjdGlvbnMgOg0KKyAgKiBBZGQgYSBu ZXcgIkJUSSBDIiBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgZnVuY3Rpb24sIHVu bGVzcyBpdHMgYWxyZWFkeQ0KKyAgICBwcm90ZWN0ZWQgYnkgYSAiUEFDSUFT UC9QQUNJQlNQIi4gIFdlIGV4ZW1wdCB0aGUgZnVuY3Rpb25zIHRoYXQgYXJl IG9ubHkNCisgICAgY2FsbGVkIGRpcmVjdGx5Lg0KKyAgKiBBZGQgYSBuZXcg IkJUSSBKIiBmb3IgZXZlcnkgdGFyZ2V0IG9mIGFuIGluZGlyZWN0IGp1bXAs IGp1bXAgdGFibGUgdGFyZ2V0cywNCisgICAgbm9uLWxvY2FsIGdvdG8gdGFy Z2V0cyBvciBsYWJlbHMgdGhhdCBtaWdodCBiZSByZWZlcmVuY2VkIGJ5IHZh cmlhYmxlcywNCisgICAgY29uc3RhbnQgcG9vbHMsIGV0YyAoTk9URV9JTlNO X0RFTEVURURfTEFCRUwpDQorDQorICBTaW5jZSB3ZSBoYXZlIGFscmVhZHkg Y2hhbmdlZCB0aGUgdXNlIG9mIGluZGlyZWN0IHRhaWwgY2FsbHMgdG8gb25s eSB4MTYNCisgIGFuZCB4MTcsIHdlIGRvIG5vdCBoYXZlIHRvIHVzZSAiQlRJ IEpDIi4NCisNCisgIFRoaXMgcGFzcyBpcyB0cmlnZ2VyZWQgYnkgdGhlIGNv bW1hbmQgbGluZSBvcHRpb24gLW1icmFuY2gtcHJvdGVjdGlvbj1idGkgb3IN CisgIC1tYnJhbmNoLXByb3RlY3Rpb249c3RhbmRhcmQuICBTaW5jZSBhbGwg dGhlIEJUSSBpbnN0cnVjdGlvbnMgYXJlIGluIHRoZSBISU5UDQorICBzcGFj ZSwgdGhpcyBwYXNzIGRvZXMgbm90IHJlcXVpcmUgYW55IG1pbmltdW0gYXJj aGl0ZWN0dXJlIHZlcnNpb24uICAqLw0KKw0KK25hbWVzcGFjZSB7DQorDQor Y29uc3QgcGFzc19kYXRhIHBhc3NfZGF0YV9pbnNlcnRfYnRpID0NCit7DQor ICBSVExfUEFTUywgLyogdHlwZS4gICovDQorICAiYnRpIiwgLyogbmFtZS4g ICovDQorICBPUFRHUk9VUF9OT05FLCAvKiBvcHRpbmZvX2ZsYWdzLiAgKi8N CisgIFRWX01BQ0hfREVQLCAvKiB0dl9pZC4gICovDQorICAwLCAvKiBwcm9w ZXJ0aWVzX3JlcXVpcmVkLiAgKi8NCisgIDAsIC8qIHByb3BlcnRpZXNfcHJv dmlkZWQuICAqLw0KKyAgMCwgLyogcHJvcGVydGllc19kZXN0cm95ZWQuICAq Lw0KKyAgMCwgLyogdG9kb19mbGFnc19zdGFydC4gICovDQorICAwLCAvKiB0 b2RvX2ZsYWdzX2ZpbmlzaC4gICovDQorfTsNCisNCisvKiBDaGVjayBpZiBY IChvciBhbnkgc3ViLXJ0eCBvZiBYKSBpcyBhIFBBQ0lBU1AvUEFDSUJTUCBp bnN0cnVjdGlvbi4gICovDQorc3RhdGljIGJvb2wNCithYXJjaDY0X3BhY19p bnNuX3AgKHJ0eCB4KQ0KK3sNCisgIGlmICghSU5TTl9QICh4KSkNCisgICAg cmV0dXJuIHg7DQorDQorICBzdWJydHhfdmFyX2l0ZXJhdG9yOjphcnJheV90 eXBlIGFycmF5Ow0KKyAgRk9SX0VBQ0hfU1VCUlRYX1ZBUiAoaXRlciwgYXJy YXksIFBBVFRFUk4gKHgpLCBBTEwpDQorICAgIHsNCisgICAgICBydHggc3Vi ID0gKml0ZXI7DQorICAgICAgaWYgKHN1YiAmJiBHRVRfQ09ERSAoc3ViKSA9 PSBVTlNQRUMpDQorCXsNCisJICBpbnQgdW5zcGVjX3ZhbCA9IFhJTlQgKHN1 YiwgMSk7DQorCSAgc3dpdGNoICh1bnNwZWNfdmFsKQ0KKwkgICAgew0KKwkg ICAgY2FzZSBVTlNQRUNfUEFDSUFTUDoNCisJICAgIGNhc2UgVU5TUEVDX1BB Q0lCU1A6DQorCSAgICAgIHJldHVybiB0cnVlOw0KKw0KKwkgICAgZGVmYXVs dDoNCisJICAgICAgcmV0dXJuIGZhbHNlOw0KKwkgICAgfQ0KKwkgIGl0ZXIu c2tpcF9zdWJydHhlcyAoKTsNCisJfQ0KKyAgICB9DQorICByZXR1cm4gZmFs c2U7DQorfQ0KKw0KKy8qIEluc2VydCB0aGUgQlRJIGluc3RydWN0aW9uLiAg Ki8NCisvKiBUaGlzIGlzIGltcGxlbWVudGVkIGFzIGEgbGF0ZSBSVEwgcGFz cyB0aGF0IHJ1bnMgYmVmb3JlIGJyYW5jaA0KKyAgIHNob3J0ZW5pbmcgYW5k IGRvZXMgdGhlIGZvbGxvd2luZy4gICovDQorc3RhdGljIHVuc2lnbmVkIGlu dA0KK3Jlc3Rfb2ZfaW5zZXJ0X2J0aSAodm9pZCkNCit7DQorICB0aW1ldmFy X3B1c2ggKFRWX01BQ0hfREVQKTsNCisNCisgIHJ0eCBidGlfaW5zbjsNCisg IHJ0eF9pbnNuICppbnNuOw0KKyAgYmFzaWNfYmxvY2sgYmI7DQorDQorICAv KiBTaW5jZSBhIEJyYW5jaCBUYXJnZXQgRXhjZXB0aW9uIGNhbiBvbmx5IGJl IHRyaWdnZXJlZCBieSBhbiBpbmRpcmVjdCBjYWxsLA0KKyAgICAgd2UgZXhl bXB0IGZ1bmN0aW9uIHRoYXQgYXJlIG9ubHkgY2FsbGVkIGRpcmVjdGx5LiAg V2UgYWxzbyBleGVtcHQNCisgICAgIGZ1bmN0aW9ucyB0aGF0IGFyZSBhbHJl YWR5IHByb3RlY3RlZCBieSBSZXR1cm4gQWRkcmVzcyBTaWduaW5nIChQQUNJ QVNQLw0KKyAgICAgUEFDSUJTUCkuICBGb3IgYWxsIG90aGVyIGNhc2VzIGlu c2VydCBhIEJUSSBDIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlDQorICAgICBm dW5jdGlvbi4gICovDQorICBpZiAoIWNncmFwaF9ub2RlOjpnZXQgKGNmdW4t PmRlY2wpLT5vbmx5X2NhbGxlZF9kaXJlY3RseV9wICgpKQ0KKyAgICB7DQor ICAgICAgYmIgPSBFTlRSWV9CTE9DS19QVFJfRk9SX0ZOIChjZnVuKS0+bmV4 dF9iYjsNCisgICAgICBpbnNuID0gQkJfSEVBRCAoYmIpOw0KKyAgICAgIGlm ICghYWFyY2g2NF9wYWNfaW5zbl9wIChnZXRfZmlyc3Rfbm9ubm90ZV9pbnNu ICgpKSkNCisJew0KKwkgIGJ0aV9pbnNuID0gZ2VuX2J0aV9ub3AgKEdFTl9J TlQgKElOU05fQlRJX0MpKTsNCisJICBlbWl0X2luc25fYmVmb3JlIChidGlf aW5zbiwgaW5zbik7DQorCX0NCisgICAgfQ0KKw0KKyAgYmIgPSAwOw0KKyAg Rk9SX0VBQ0hfQkJfRk4gKGJiLCBjZnVuKQ0KKyAgICB7DQorICAgICAgZm9y IChpbnNuID0gQkJfSEVBRCAoYmIpOyBpbnNuICE9IE5FWFRfSU5TTiAoQkJf RU5EIChiYikpOw0KKwkgICBpbnNuID0gTkVYVF9JTlNOIChpbnNuKSkNCisJ ew0KKwkgIC8qIElmIGEgbGFiZWwgaXMgbWFya2VkIHRvIGJlIHByZXNlcnZl ZCBvciBjYW4gYmUgYSBub24tbG9jYWwgZ290bw0KKwkgICAgIHRhcmdldCwg aXQgbXVzdCBiZSBwcm90ZWN0ZWQgd2l0aCBhIEJUSSBKLiAgVGhlIHNhbWUg YXBwbGllcyB0bw0KKwkgICAgIE5PVEVfSU5TTl9ERUxFVEVEX0xBQkVMIHNp bmNlIHRoZXkgYXJlIGJhc2ljYWxseSBsYWJlbHMgdGhhdCBtaWdodA0KKwkg ICAgIGJlIHJlZmVyZW5jZWQgdmlhIHZhcmlhYmxlcyBvciBjb25zdGFudCBw b29sLiAgKi8NCisJICBpZiAoKExBQkVMX1AgKGluc24pDQorCSAgICAgICAm JiAoTEFCRUxfUFJFU0VSVkVfUCAoaW5zbikNCisJCSAgIHx8IGJiLT5mbGFn cyAmIEJCX05PTl9MT0NBTF9HT1RPX1RBUkdFVCkpDQorCSAgICAgIHx8IChO T1RFX1AgKGluc24pDQorCQkgICYmIE5PVEVfS0lORCAoaW5zbikgPT0gTk9U RV9JTlNOX0RFTEVURURfTEFCRUwpKQ0KKwkgICAgew0KKwkgICAgICBidGlf aW5zbiA9IGdlbl9idGlfbm9wIChHRU5fSU5UIChJTlNOX0JUSV9KKSk7DQor CSAgICAgIGVtaXRfaW5zbl9hZnRlciAoYnRpX2luc24sIGluc24pOw0KKwkg ICAgICBjb250aW51ZTsNCisJICAgIH0NCisNCisJICAvKiBUaGVyZSBjb3Vs ZCBzdGlsbCBiZSBtb3JlIGxhYmVscyB0aGF0IGFyZSB2YWxpZCB0YXJnZXRz IG9mIGENCisJICAgICBCVEkgSiBpbnN0dWN0aW9uLiAgVG8gZmluZCB0aGVt IHdlIHN0YXJ0IGxvb2tpbmcgdGhyb3VnaCB0aGUNCisJICAgICBKVU1QX0lO U04uICBJZiBpdCBqdW1wcyB0byBhIGp1bXAgdGFibGUsIHRoZW4gd2UgZmlu ZCBhbGwgbGFiZWxzDQorCSAgICAgb2YgdGhlIGp1bXAgdGFibGUgdG8gcHJv dGVjdCB3aXRoIGEgQlRJIEouICAqLw0KKwkgIGlmIChKVU1QX1AgKGluc24p KQ0KKwkgICAgew0KKwkgICAgICBydHhfanVtcF90YWJsZV9kYXRhICp0YWJs ZTsNCisJICAgICAgaWYgKHRhYmxlanVtcF9wIChpbnNuLCBOVUxMLCAmdGFi bGUpKQ0KKwkJew0KKwkJICBydHZlYyB2ZWMgPSB0YWJsZS0+Z2V0X2xhYmVs cyAoKTsNCisJCSAgaW50IGo7DQorCQkgIHJ0eF9pbnNuICpsYWJlbDsNCisN CisJCSAgZm9yIChqID0gR0VUX05VTV9FTEVNICh2ZWMpIC0gMTsgaiA+PSAw OyAtLWopDQorCQkgICAgew0KKwkJICAgICAgbGFiZWwgPSBhc19hIDxydHhf aW5zbiAqPiAoWEVYUCAoUlRWRUNfRUxUICh2ZWMsIGopLCAwKSk7DQorCQkg ICAgICBidGlfaW5zbiA9IGdlbl9idGlfbm9wIChHRU5fSU5UIChJTlNOX0JU SV9KKSk7DQorCQkgICAgICBlbWl0X2luc25fYWZ0ZXIgKGJ0aV9pbnNuLCBs YWJlbCk7DQorCQkgICAgfQ0KKwkJfQ0KKwkgICAgfQ0KKw0KKwkgIC8qIEFs c28gbG9vayBmb3IgY2FsbHMgdG8gc2V0am1wICgpIHdoaWNoIHdvdWxkIGJl IG1hcmtlZCB3aXRoDQorCSAgICAgUkVHX1NFVEpNUCBub3RlIGFuZCBwdXQg YSBCVEkgSiBhZnRlci4gIFRoaXMgaXMgd2hlcmUgbG9uZ2p1bXAgKCkNCisJ ICAgICB3aWxsIHJldHVybi4gICovDQorCSAgaWYgKENBTExfUCAoaW5zbikg JiYgKGZpbmRfcmVnX25vdGUgKGluc24sIFJFR19TRVRKTVAsIE5VTEwpKSkN CisJICAgIHsNCisJICAgICAgYnRpX2luc24gPSBnZW5fYnRpX25vcCAoR0VO X0lOVCAoSU5TTl9CVElfSikpOw0KKwkgICAgICBlbWl0X2luc25fYWZ0ZXIg KGJ0aV9pbnNuLCBpbnNuKTsNCisJICAgICAgY29udGludWU7DQorCSAgICB9 DQorCX0NCisgICAgfQ0KKw0KKyAgdGltZXZhcl9wb3AgKFRWX01BQ0hfREVQ KTsNCisgIHJldHVybiAwOw0KK30NCisNCisNCitjbGFzcyBwYXNzX2luc2Vy dF9idGkgOiBwdWJsaWMgcnRsX29wdF9wYXNzDQorew0KK3B1YmxpYzoNCisg IHBhc3NfaW5zZXJ0X2J0aSAoZ2NjOjpjb250ZXh0ICpjdHh0KQ0KKyAgICA6 IHJ0bF9vcHRfcGFzcyAocGFzc19kYXRhX2luc2VydF9idGksIGN0eHQpDQor ICB7fQ0KKw0KKyAgLyogb3B0X3Bhc3MgbWV0aG9kczogKi8NCisgIHZpcnR1 YWwgYm9vbCBnYXRlIChmdW5jdGlvbiAqKQ0KKyAgICB7DQorICAgICAgcmV0 dXJuIGFhcmNoNjRfYnRpX2VuYWJsZWQgKCk7DQorICAgIH0NCisNCisgIHZp cnR1YWwgdW5zaWduZWQgaW50IGV4ZWN1dGUgKGZ1bmN0aW9uICopDQorICAg IHsNCisgICAgICByZXR1cm4gcmVzdF9vZl9pbnNlcnRfYnRpICgpOw0KKyAg ICB9DQorDQorfTsgLy8gY2xhc3MgcGFzc19pbnNlcnRfYnRpDQorDQorfSAv LyBhbm9uIG5hbWVzcGFjZQ0KKw0KK3J0bF9vcHRfcGFzcyAqDQorbWFrZV9w YXNzX2luc2VydF9idGkgKGdjYzo6Y29udGV4dCAqY3R4dCkNCit7DQorICBy ZXR1cm4gbmV3IHBhc3NfaW5zZXJ0X2J0aSAoY3R4dCk7DQorfQ0KZGlmZiAt LWdpdCBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXBhc3Nlcy5kZWYg Yi9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1wYXNzZXMuZGVmDQppbmRl eCAzOTgyYjZlYTYyOTAzNzllNmVjYWM4MDQ2ZWJiMjdhMTRkMjM0MmYwLi5k M2UzMTZmNDA2ZWNiMDExOTc4N2E2N2FkMWM2MmZhZmFhZjk5YTg4IDEwMDY0 NA0KLS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtcGFzc2VzLmRl Zg0KKysrIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtcGFzc2VzLmRl Zg0KQEAgLTIxLDMgKzIxLDQgQEANCiBJTlNFUlRfUEFTU19BRlRFUiAocGFz c19yZWdyZW5hbWUsIDEsIHBhc3NfZm1hX3N0ZWVyaW5nKTsNCiBJTlNFUlRf UEFTU19CRUZPUkUgKHBhc3NfcmVvcmRlcl9ibG9ja3MsIDEsIHBhc3NfdHJh Y2tfc3BlY3VsYXRpb24pOw0KIElOU0VSVF9QQVNTX0FGVEVSIChwYXNzX21h Y2hpbmVfcmVvcmcsIDEsIHBhc3NfdGFnX2NvbGxpc2lvbl9hdm9pZGFuY2Up Ow0KK0lOU0VSVF9QQVNTX0JFRk9SRSAocGFzc19zaG9ydGVuX2JyYW5jaGVz LCAxLCBwYXNzX2luc2VydF9idGkpOw0KZGlmZiAtLWdpdCBhL2djYy9jb25m aWcvYWFyY2g2NC9hYXJjaDY0LXByb3Rvcy5oIGIvZ2NjL2NvbmZpZy9hYXJj aDY0L2FhcmNoNjQtcHJvdG9zLmgNCmluZGV4IGE1Y2NmZTUzNGI2YzU5Yzkw YmQ5MTIxNWY4OWM1OWQ2N2ZkODg2ODguLjVhZGJmZTI4YmEzN2E1NmIxZGFm MDVhOTZmMzBhZTk1ODRhMTc4MGQgMTAwNjQ0DQotLS0gYS9nY2MvY29uZmln L2FhcmNoNjQvYWFyY2g2NC1wcm90b3MuaA0KKysrIGIvZ2NjL2NvbmZpZy9h YXJjaDY0L2FhcmNoNjQtcHJvdG9zLmgNCkBAIC00MDAsNiArNDAwLDE1IEBA IGVudW0gYWFyY2g2NF9rZXlfdHlwZSB7DQogDQogZXh0ZXJuIGVudW0gYWFy Y2g2NF9rZXlfdHlwZSBhYXJjaDY0X3JhX3NpZ25fa2V5Ow0KIA0KKy8qIEVu dW0gZm9yIEhJTlQgdmFsdWVzIGZvciBCVEkgaW5zdHJ1Y3Rpb25zLiAgKi8N CitlbnVtIGJ0aV9pbnNuX3R5cGUNCit7DQorICBJTlNOX0JUSV9OT0FSRwk9 IDMyLA0KKyAgSU5TTl9CVElfQwkJPSAzNCwNCisgIElOU05fQlRJX0oJCT0g MzYsDQorICBJTlNOX0JUSV9KQwkJPSAzOA0KK307DQorDQogZXh0ZXJuIHN0 cnVjdCB0dW5lX3BhcmFtcyBhYXJjaDY0X3R1bmVfcGFyYW1zOw0KIA0KIHZv aWQgYWFyY2g2NF9wb3N0X2NmaV9zdGFydHByb2MgKHZvaWQpOw0KQEAgLTYz Niw2ICs2NDUsNyBAQCBleHRlcm4gdm9pZCBhYXJjaDY0X2RfdGFyZ2V0X3Zl cnNpb25zICh2b2lkKTsNCiBydGxfb3B0X3Bhc3MgKm1ha2VfcGFzc19mbWFf c3RlZXJpbmcgKGdjYzo6Y29udGV4dCAqKTsNCiBydGxfb3B0X3Bhc3MgKm1h a2VfcGFzc190cmFja19zcGVjdWxhdGlvbiAoZ2NjOjpjb250ZXh0ICopOw0K IHJ0bF9vcHRfcGFzcyAqbWFrZV9wYXNzX3RhZ19jb2xsaXNpb25fYXZvaWRh bmNlIChnY2M6OmNvbnRleHQgKik7DQorcnRsX29wdF9wYXNzICptYWtlX3Bh c3NfaW5zZXJ0X2J0aSAoZ2NjOjpjb250ZXh0ICpjdHh0KTsNCiANCiBwb2x5 X3VpbnQ2NCBhYXJjaDY0X3JlZ21vZGVfbmF0dXJhbF9zaXplIChtYWNoaW5l X21vZGUpOw0KIA0KZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWFyY2g2NC9h YXJjaDY0LmggYi9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC5oDQppbmRl eCBjYzk1YmUzMmQ0MDI2OGQzNjQ3YzgyODAxODhmMTdmZjgyMTJhMTU2Li5i ZDgyYWUzZGRlYTQ5NzllNjQ2MDhlMGRjOGI5ZDk2OWZiNjkxY2Q0IDEwMDY0 NA0KLS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQuaA0KKysrIGIv Z2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQuaA0KQEAgLTkyNSw3ICs5MjUs NyBAQCB0eXBlZGVmIHN0cnVjdA0KIA0KICNkZWZpbmUgUkVUVVJOX0FERFJf UlRYIGFhcmNoNjRfcmV0dXJuX2FkZHINCiANCi0vKiAzIGluc25zICsgcGFk ZGluZyArIDIgcG9pbnRlci1zaXplZCBlbnRyaWVzLiAgKi8NCisvKiBCVEkg YyArIDMgaW5zbnMgKyAyIHBvaW50ZXItc2l6ZWQgZW50cmllcy4gICovDQog I2RlZmluZSBUUkFNUE9MSU5FX1NJWkUJKFRBUkdFVF9JTFAzMiA/IDI0IDog MzIpDQogDQogLyogVHJhbXBvbGluZXMgY29udGFpbiBkd29yZHMsIHNvIG11 c3QgYmUgZHdvcmQgYWxpZ25lZC4gICovDQpkaWZmIC0tZ2l0IGEvZ2NjL2Nv bmZpZy9hYXJjaDY0L2FhcmNoNjQuYyBiL2djYy9jb25maWcvYWFyY2g2NC9h YXJjaDY0LmMNCmluZGV4IGZhMTJmOWNjNmJjYzk5ZTAyMWVmNTc5ODM5YmJh Yzc3MTU1NTg4NTUuLmI5N2Q5ZTRkZWVjZjVjYTMzNzYxZGZkMTAwOGMzOWJi NGI4NDk4ODEgMTAwNjQ0DQotLS0gYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFy Y2g2NC5jDQorKysgYi9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC5jDQpA QCAtODA3MCwxOCArODA3MCwzMyBAQCBhYXJjaDY0X3JldHVybl9hZGRyIChp bnQgY291bnQsIHJ0eCBmcmFtZSBBVFRSSUJVVEVfVU5VU0VEKQ0KIHN0YXRp YyB2b2lkDQogYWFyY2g2NF9hc21fdHJhbXBvbGluZV90ZW1wbGF0ZSAoRklM RSAqZikNCiB7DQorICBpbnQgb2Zmc2V0MSA9IDE2Ow0KKyAgaW50IG9mZnNl dDIgPSAyMDsNCisNCisgIGlmIChhYXJjaDY0X2J0aV9lbmFibGVkICgpKQ0K KyAgICB7DQorICAgICAgYXNtX2ZwcmludGYgKGYsICJcdGhpbnRcdDM0XG4i KTsNCisgICAgICBvZmZzZXQxIC09IDQ7DQorICAgICAgb2Zmc2V0MiAtPSA0 Ow0KKyAgICB9DQorDQogICBpZiAoVEFSR0VUX0lMUDMyKQ0KICAgICB7DQot ICAgICAgYXNtX2ZwcmludGYgKGYsICJcdGxkclx0dyVkLCAuKzE2XG4iLCBJ UDFfUkVHTlVNIC0gUjBfUkVHTlVNKTsNCi0gICAgICBhc21fZnByaW50ZiAo ZiwgIlx0bGRyXHR3JWQsIC4rMTZcbiIsIFNUQVRJQ19DSEFJTl9SRUdOVU0g LSBSMF9SRUdOVU0pOw0KKyAgICAgIGFzbV9mcHJpbnRmIChmLCAiXHRsZHJc dHclZCwgLislZFxuIiwgSVAxX1JFR05VTSAtIFIwX1JFR05VTSwgb2Zmc2V0 MSk7DQorICAgICAgYXNtX2ZwcmludGYgKGYsICJcdGxkclx0dyVkLCAuKyVk XG4iLCBTVEFUSUNfQ0hBSU5fUkVHTlVNIC0gUjBfUkVHTlVNLA0KKwkJICAg b2Zmc2V0MSk7DQogICAgIH0NCiAgIGVsc2UNCiAgICAgew0KLSAgICAgIGFz bV9mcHJpbnRmIChmLCAiXHRsZHJcdCVzLCAuKzE2XG4iLCByZWdfbmFtZXMg W0lQMV9SRUdOVU1dKTsNCi0gICAgICBhc21fZnByaW50ZiAoZiwgIlx0bGRy XHQlcywgLisyMFxuIiwgcmVnX25hbWVzIFtTVEFUSUNfQ0hBSU5fUkVHTlVN XSk7DQorICAgICAgYXNtX2ZwcmludGYgKGYsICJcdGxkclx0JXMsIC4rJWRc biIsIHJlZ19uYW1lcyBbSVAxX1JFR05VTV0sIG9mZnNldDEpOw0KKyAgICAg IGFzbV9mcHJpbnRmIChmLCAiXHRsZHJcdCVzLCAuKyVkXG4iLCByZWdfbmFt ZXMgW1NUQVRJQ19DSEFJTl9SRUdOVU1dLA0KKwkJICAgb2Zmc2V0Mik7DQog ICAgIH0NCiAgIGFzbV9mcHJpbnRmIChmLCAiXHRiclx0JXNcbiIsIHJlZ19u YW1lcyBbSVAxX1JFR05VTV0pOw0KLSAgYXNzZW1ibGVfYWxpZ25lZF9pbnRl Z2VyICg0LCBjb25zdDBfcnR4KTsNCisNCisgIGlmICghYWFyY2g2NF9idGlf ZW5hYmxlZCAoKSkNCisgICAgYXNzZW1ibGVfYWxpZ25lZF9pbnRlZ2VyICg0 LCBjb25zdDBfcnR4KTsNCisNCiAgIGFzc2VtYmxlX2FsaWduZWRfaW50ZWdl ciAoUE9JTlRFUl9CWVRFUywgY29uc3QwX3J0eCk7DQogICBhc3NlbWJsZV9h bGlnbmVkX2ludGVnZXIgKFBPSU5URVJfQllURVMsIGNvbnN0MF9ydHgpOw0K IH0NCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC5t ZCBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0Lm1kDQppbmRleCAzY2E2 ZDYxZTdlMjhiNzgwZjk0YmY1MDgwYjEyNmRhYzYwZmUwNTI0Li4zMDY5M2Nl ODNmZWExY2NjNmVlNWU0YWFkMWYwZjBjZDliNDRmNDdhIDEwMDY0NA0KLS0t IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQubWQNCisrKyBiL2djYy9j b25maWcvYWFyY2g2NC9hYXJjaDY0Lm1kDQpAQCAtMjQwLDYgKzI0MCw3IEBA DQogICAgIFVOU1BFQ1ZfQkxPQ0tBR0UJCTsgUmVwcmVzZW50IGEgYmxvY2th Z2UNCiAgICAgVU5TUEVDVl9QUk9CRV9TVEFDS19SQU5HRQk7IFJlcHJlc2Vu dCBzdGFjayByYW5nZSBwcm9iaW5nLg0KICAgICBVTlNQRUNWX1NQRUNVTEFU SU9OX0JBUlJJRVIgOyBSZXByZXNlbnQgc3BlY3VsYXRpb24gYmFycmllci4N CisgICAgVU5TUEVDVl9CVElfTk9QCQk7IFJlcHJlc2VudCBhIEJUSSBpbnN0 cnVjdGlvbi4NCiAgIF0NCiApDQogDQpAQCAtNjcyMCw2ICs2NzIxLDQwIEBA DQogICBbKHNldF9hdHRyICJ0eXBlIiAiY3NlbCIpXQ0KICkNCiANCisoZGVm aW5lX2luc24gImJ0aV9ub3AiDQorICBbKHVuc3BlY192b2xhdGlsZSBbKG1h dGNoX29wZXJhbmQ6U0kgMCAiY29uc3RfaW50X29wZXJhbmQiKV0NCisgICAg VU5TUEVDVl9CVElfTk9QKV0NCisgICIiDQorICB7DQorICAgY2hhciBidWZb MTAwXTsNCisgICBidGlfaW5zbl90eXBlIHZhbCA9IChidGlfaW5zbl90eXBl KSBJTlRWQUwgKG9wZXJhbmRzWzBdKTsNCisgICBzd2l0Y2ggKHZhbCkNCisg ICAgew0KKyAgICAgIGNhc2UgSU5TTl9CVElfTk9BUkc6DQorCXNucHJpbnRm IChidWYsIHNpemVvZiAoYnVmKSwgImhpbnRcdCVkIC8vICVzIiwgdmFsLCAi YnRpIik7DQorCWJyZWFrOw0KKw0KKyAgICAgIGNhc2UgSU5TTl9CVElfQzoN CisJc25wcmludGYgKGJ1Ziwgc2l6ZW9mIChidWYpLCAiaGludFx0JWQgLy8g JXMiLCB2YWwsICJidGkgYyIpOw0KKwlicmVhazsNCisNCisgICAgICBjYXNl IElOU05fQlRJX0o6DQorCXNucHJpbnRmIChidWYsIHNpemVvZiAoYnVmKSwg ImhpbnRcdCVkIC8vICVzIiwgdmFsLCAiYnRpIGoiKTsNCisJYnJlYWs7DQor DQorICAgICAgY2FzZSBJTlNOX0JUSV9KQzoNCisJc25wcmludGYgKGJ1Ziwg c2l6ZW9mIChidWYpLCAiaGludFx0JWQgLy8gJXMiLCB2YWwsICJidGkgamMi KTsNCisJYnJlYWs7DQorDQorICAgICAgZGVmYXVsdDoNCisJZ2NjX3VucmVh Y2hhYmxlICgpOw0KKyAgICB9DQorICAgIG91dHB1dF9hc21faW5zbiAoYnVm LCBvcGVyYW5kcyk7DQorICAgIHJldHVybiAiIjsNCisgICB9DQorICBbKHNl dF9hdHRyICJ0eXBlIiAibm9faW5zbiIpXQ0KKykNCisNCiA7OyBIZWxwZXIg Zm9yIGFhcmNoNjQuYyBjb2RlLg0KIChkZWZpbmVfZXhwYW5kICJzZXRfY2xv YmJlcl9jYyINCiAgIFsocGFyYWxsZWwgWyhzZXQgKG1hdGNoX29wZXJhbmQg MCkNCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FhcmNoNjQvdC1hYXJjaDY0 IGIvZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NA0KaW5kZXggZTkxZGNj ZWE5OTU0YzJjMzg3ZmIxMTFkMWIzNTdkZDJjMjIwZmYwYS4uYTIwNDg1NDdi ZTU2ZWJhOGE0N2MyMmM5ZDJiOTRlNzg3MzY0ODI4ZiAxMDA2NDQNCi0tLSBh L2djYy9jb25maWcvYWFyY2g2NC90LWFhcmNoNjQNCisrKyBiL2djYy9jb25m aWcvYWFyY2g2NC90LWFhcmNoNjQNCkBAIC05MSw2ICs5MSwxNSBAQCBmYWxr b3ItdGFnLWNvbGxpc2lvbi1hdm9pZGFuY2UubzogXA0KIAkkKENPTVBJTEVS KSAtYyAkKEFMTF9DT01QSUxFUkZMQUdTKSAkKEFMTF9DUFBGTEFHUykgJChJ TkNMVURFUykgXA0KIAkJJChzcmNkaXIpL2NvbmZpZy9hYXJjaDY0L2ZhbGtv ci10YWctY29sbGlzaW9uLWF2b2lkYW5jZS5jDQogDQorYWFyY2g2NC1idGkt aW5zZXJ0Lm86ICQoc3JjZGlyKS9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWJ0 aS1pbnNlcnQuYyBcDQorICAgICQoQ09ORklHX0gpICQoU1lTVEVNX0gpICQo VE1fSCkgJChSRUdTX0gpIGluc24tY29uZmlnLmggJChSVExfQkFTRV9IKSBc DQorICAgIGRvbWluYW5jZS5oIGNmZy5oIGNmZ2FuYWwuaCAkKEJBU0lDX0JM T0NLX0gpICQoSU5TTl9BVFRSX0gpICQoUkVDT0dfSCkgXA0KKyAgICBvdXRw dXQuaCBoYXNoLW1hcC5oICQoREZfSCkgJChPQlNUQUNLX0gpICQoVEFSR0VU X0gpICQoUlRMX0gpIFwNCisgICAgJChDT05URVhUX0gpICQoVFJFRV9QQVNT X0gpIHJlZ3JlbmFtZS5oIFwNCisgICAgJChzcmNkaXIpL2NvbmZpZy9hYXJj aDY0L2FhcmNoNjQtcHJvdG9zLmgNCisJJChDT01QSUxFUikgLWMgJChBTExf Q09NUElMRVJGTEFHUykgJChBTExfQ1BQRkxBR1MpICQoSU5DTFVERVMpIFwN CisJCSQoc3JjZGlyKS9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWJ0aS1pbnNl cnQuYw0KKw0KIGNvbW1hPSwNCiBNVUxUSUxJQl9PUFRJT05TICAgID0gJChz dWJzdCAkKGNvbW1hKSwvLCAkKHBhdHN1YnN0ICUsIG1hYmk9JSwgJChzdWJz dCAkKGNvbW1hKSwkKGNvbW1hKW1hYmk9LCQoVE1fTVVMVElMSUJfQ09ORklH KSkpKQ0KIE1VTFRJTElCX0RJUk5BTUVTICAgPSAkKHN1YnN0ICQoY29tbWEp LCAsJChUTV9NVUxUSUxJQl9DT05GSUcpKQ0KZGlmZiAtLWdpdCBhL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L2J0aS0xLmMgYi9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9idGktMS5jDQpuZXcgZmlsZSBt b2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMC4uNTc1ZDAxYTU0MTFhMTlkYWJjZGI1NmI3NzdlNWQ4 N2Q5NzAzYTg0OA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L2FhcmNoNjQvYnRpLTEuYw0KQEAgLTAsMCArMSw1OSBA QA0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQorLyogLU9zIHRvIGNyZWF0 ZSBqdW1wIHRhYmxlLiAgKi8NCisvKiB7IGRnLW9wdGlvbnMgIi1PcyAtbWJy YW5jaC1wcm90ZWN0aW9uPXN0YW5kYXJkIiB9ICovDQorDQorZXh0ZXJuIGlu dCBmMSAodm9pZCk7DQorZXh0ZXJuIGludCBmMiAodm9pZCk7DQorZXh0ZXJu IGludCBmMyAodm9pZCk7DQorZXh0ZXJuIGludCBmNCAodm9pZCk7DQorZXh0 ZXJuIGludCBmNSAodm9pZCk7DQorZXh0ZXJuIGludCBmNiAodm9pZCk7DQor ZXh0ZXJuIGludCBmNyAodm9pZCk7DQorZXh0ZXJuIGludCBmOCAodm9pZCk7 DQorZXh0ZXJuIGludCBmOSAodm9pZCk7DQorZXh0ZXJuIGludCBmMTAgKHZv aWQpOw0KKw0KK2ludCAoKnB0cikgKHZvaWQpOw0KKw0KK2ludA0KK2ZfanVt cF90YWJsZSAoaW50IHksIGludCBuKQ0KK3sNCisgIGludCBpOw0KKyAgZm9y IChpID0gMDsgaSA8IG4gO2kgKyspDQorICB7DQorICAgIHN3aXRjaCAoeSkN CisgICAgICB7DQorICAgICAgY2FzZSAwIDogcHRyID0gZjE7IGJyZWFrOw0K KyAgICAgIGNhc2UgMSA6IHB0ciA9IGYyOyBicmVhazsNCisgICAgICBjYXNl IDIgOiBwdHIgPSBmMzsgYnJlYWs7DQorICAgICAgY2FzZSAzIDogcHRyID0g ZjQ7IGJyZWFrOw0KKyAgICAgIGNhc2UgNCA6IHB0ciA9IGY1OyBicmVhazsN CisgICAgICBjYXNlIDUgOiBwdHIgPSBmNjsgYnJlYWs7DQorICAgICAgY2Fz ZSA2IDogcHRyID0gZjc7IGJyZWFrOw0KKyAgICAgIGNhc2UgNyA6IHB0ciA9 IGY4OyBicmVhazsNCisgICAgICBjYXNlIDggOiBwdHIgPSBmOTsgYnJlYWs7 DQorICAgICAgY2FzZSA5IDogcHRyID0gZjEwOyBicmVhazsNCisgICAgICBk ZWZhdWx0OiBicmVhazsNCisgICAgICB9DQorICAgIHkgKz0gcHRyICgpOw0K KyAgfQ0KKyAgcmV0dXJuICh5ID09IDApPyB5KzE6NDsNCit9DQorLyogZl9q dW1wX3RhYmxlIHNob3VsZCBoYXZlIFBBQ0lBU1AgYW5kIEFVVElBU1AuICAq Lw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAiaGlu dFx0MjUiIDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzICJoaW50XHQyOSIgMSB9IH0gKi8NCisNCitpbnQNCitmX2xh YmVsX2FkZHJlc3MgKCkNCit7DQorICBzdGF0aWMgdm9pZCAqIGFkZHIgPSAm JmxhYjE7DQorICBnb3RvICphZGRyOw0KK2xhYjE6DQorICBhZGRyID0gJiZs YWIyOw0KKyAgcmV0dXJuIDE7DQorbGFiMjoNCisgIGFkZHIgPSAmJmxhYjE7 DQorICByZXR1cm4gMjsNCit9DQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzICJoaW50XHQzNCIgMSB9IH0gKi8NCisvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgImhpbnRcdDM2IiAxMiB9IH0g Ki8NCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFy Y2g2NC9idGktMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNo NjQvYnRpLTIuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU1MGVlZjE1 Yzg5MzZkMDA3MTZjNTgyZTkwYjIzNWFkZDVkYTkxMzYNCi0tLSAvZGV2L251 bGwNCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L2J0 aS0yLmMNCkBAIC0wLDAgKzEsMzQgQEANCisvKiB7IGRnLWRvIHJ1biB9ICov DQorLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgYWFyY2g2NF9i dGlfaHcgfSAqLw0KKy8qIHsgZGctb3B0aW9ucyAiLW1icmFuY2gtcHJvdGVj dGlvbj1zdGFuZGFyZCIgfSAqLw0KKw0KKyNpbmNsdWRlPHN0ZGlvLmg+DQor DQordHlwZWRlZiBpbnQgRlAgKGludCk7DQorDQoraW50DQorZjEgKEZQIGZw LCBpbnQgbikNCit7DQorICByZXR1cm4gKGZwKSAobik7DQorfQ0KKw0KK2lu dA0KK2YyIChpbnQgbiwgRlAgZnApDQorew0KKyAgcmV0dXJuIChmcCkgKG4p Ow0KK30NCisNCitpbnQgX19hdHRyaWJ1dGVfXyAoKG5vaW5saW5lKSkNCitm dW5jIChpbnQgeCkNCit7DQorICByZXR1cm4geCsxOw0KK30NCisNCitpbnQg bWFpbiAoKQ0KK3sNCisgIGludCBzID0gMDsNCisgIHMgKz0gZjEgKGZ1bmMs IDEwKTsNCisgIHMgKz0gZjIgKHMsIGZ1bmMpOw0KKyAgcHJpbnRmICgiUzog JWRcbiIsIHMpOw0KKyAgcmV0dXJuICEocyA9PSAyMyk7DQorfQ0KZGlmZiAt LWdpdCBhL2djYy90ZXN0c3VpdGUvbGliL3RhcmdldC1zdXBwb3J0cy5leHAg Yi9nY2MvdGVzdHN1aXRlL2xpYi90YXJnZXQtc3VwcG9ydHMuZXhwDQppbmRl eCBmZDc0YzA0ZDA5MmIwZTIzNDFiODVlZWZiZWJiMWYwZGY5NDIzNDkyLi42 NWZmMTY4MTdmNWY4ODI1NTE0OGJiNjlkNzAxODk3NTQ2NTE5N2RjIDEwMDY0 NA0KLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9saWIvdGFyZ2V0LXN1cHBvcnRzLmV4 cA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9saWIvdGFyZ2V0LXN1cHBvcnRzLmV4 cA0KQEAgLTQyNzAsNiArNDI3MCwyMiBAQCBwcm9jIGNoZWNrX2VmZmVjdGl2 ZV90YXJnZXRfYXJtX25lb252Ml9odyB7IH0gew0KICAgICB9IFthZGRfb3B0 aW9uc19mb3JfYXJtX25lb252MiAiIl1dDQogfQ0KIA0KKyMgSURfQUE2NFBG UjFfRUwxLkJUIHVzaW5nIGJpdHNbMzowXSA9PSAxIGltcGxpZXMgQlRJIGlt cGxpbWVudGVkLg0KK3Byb2MgY2hlY2tfZWZmZWN0aXZlX3RhcmdldF9hYXJj aDY0X2J0aV9odyB7IH0gew0KKyAgICBpZiB7ICFbaXN0YXJnZXQgYWFyY2g2 NCotKi0qXSB9IHsNCisJcmV0dXJuIDANCisgICAgfQ0KKyAgICByZXR1cm4g W2NoZWNrX3J1bnRpbWUgYWFyY2g2NF9idGlfaHdfYXZhaWxhYmxlIHsNCisJ aW50DQorCW1haW4gKHZvaWQpDQorCXsNCisJICBpbnQgYTsNCisJICBhc20g dm9sYXRpbGUgKCJtcnMgJTAsIGlkX2FhNjRwZnIxX2VsMSIgOiAiPXIiIChh KSk7DQorCSAgcmV0dXJuICEoKGEgJiAweGYpID09IDEpOw0KKwl9DQorICAg IH0gIi1PMiIgXQ0KK30NCisNCiAjIFJldHVybiAxIGlmIHRoZSB0YXJnZXQg c3VwcG9ydHMgdGhlIEFSTXY4LjEgQWR2LlNJTUQgZXh0ZW5zaW9uLCAwDQog IyBvdGhlcndpc2UuICBUaGUgdGVzdCBpcyB2YWxpZCBmb3IgQUFyY2g2NCBh bmQgQVJNLiAgUmVjb3JkIHRoZSBjb21tYW5kDQogIyBsaW5lIG9wdGlvbnMg bmVlZGVkLg0K --_002_4a091322c031ced1a78bdd45316d8c7carmcom_--