From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 428 invoked by alias); 5 Apr 2017 21:02:30 -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 383 invoked by uid 89); 5 Apr 2017 21:02:28 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-16.1 required=5.0 tests=BAYES_00,FREEMAIL_FROM,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_ASCII_DIVIDERS,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-spam-relays-external:sk:HE1EUR0, H*RU:sk:HE1EUR0 X-HELO: EUR02-VE1-obe.outbound.protection.outlook.com Received: from mail-oln040092069041.outbound.protection.outlook.com (HELO EUR02-VE1-obe.outbound.protection.outlook.com) (40.92.69.41) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 05 Apr 2017 21:02:25 +0000 Received: from HE1EUR02FT002.eop-EUR02.prod.protection.outlook.com (10.152.10.56) by HE1EUR02HT082.eop-EUR02.prod.protection.outlook.com (10.152.11.95) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.1005.5; Wed, 5 Apr 2017 21:02:22 +0000 Received: from AM4PR0701MB2162.eurprd07.prod.outlook.com (10.152.10.58) by HE1EUR02FT002.mail.protection.outlook.com (10.152.10.123) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1005.5 via Frontend Transport; Wed, 5 Apr 2017 21:02:22 +0000 Received: from AM4PR0701MB2162.eurprd07.prod.outlook.com ([fe80::a806:64f0:6377:f3ea]) by AM4PR0701MB2162.eurprd07.prod.outlook.com ([fe80::a806:64f0:6377:f3ea%19]) with mapi id 15.01.1019.015; Wed, 5 Apr 2017 21:02:22 +0000 From: Bernd Edlinger To: Jakub Jelinek , Jonathan Wakely CC: Richard Biener , Florian Weimer , GCC Patches , Jason Merrill , "Jeff Law" Subject: Re: [PATCH] Add a new type attribute always_alias (PR79671) Date: Wed, 05 Apr 2017 21:02:00 -0000 Message-ID: References: <6a5109d6-81fb-c36c-e525-b2ed984760dc@redhat.com> <21E940B5-C8C4-4A86-8C15-49A86547DD87@suse.de> <20170405160333.GR4425@redhat.com> <20170405160849.GV17461@tucnak> In-Reply-To: authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=hotmail.de; x-incomingtopheadermarker: OriginalChecksum:8A40F29422AD22271332E266B8E56B6F235F46CC8D4207A79EB6BD8A166601FF;UpperCasedChecksum:129788244FA1C5B15311613898AE3C714F8C4B04A6FE1FE1F23B26AAA466711A;SizeAsReceived:8597;Count:40 x-ms-exchange-messagesentrepresentingtype: 1 x-microsoft-exchange-diagnostics: 1;HE1EUR02HT082;5:llUqfGHtEORYOHWm/NT6ubZiZ7som/cQjtOeuXwKXPPFIMwQ39cj/QkW1A5IQ7L8IuNv+gKkC1qQYv+9V1X+dQuMVBJbdBFLZibXMphhMcg8ozkOj2CAi0DvDm+rh1DkD0iOt7xrc7DZ5ReOVvCHhw==;24:Vn7nwpfuzVFNu0aGyD5S510igJrgN5kndYZZs0s1D3ThmfkE3pNRZbr9Ph0lochS7KFRjTf/5BSCf+QnylJ/kUqJczjuTdofON+cpffTBDo=;7:S4Mf6UC6/H/ws+UxrI+zw7dQk1gak+55/KoIPQ4pyDRAZfalz+5vE67xYI0+3gIeMp3x/XsS2w2JeOiw2cdXdxwcRvkWb6EurbSat5pd2Wkcc4WtrXmKwdACjtIFVxerr26WDe6WS66qYE2HKkiZnXMWpmUY0iZ0VSWq0L51b4Ow3xNW0oXsNtMDDDJAL48MWXGPNvVIJgHXYcCEFnWV+Wp4FJOKQgaTqN5NU02kjWcEVi0ThNDRCmyntgGsQvTCwliFADbix9B3oo9ghM3CWTUy2OvJTT/yClisDh6cQKroJmnFyh/0H36FFfpdwkyq x-incomingheadercount: 40 x-eopattributedmessage: 0 x-forefront-antispam-report: EFV:NLI;SFV:NSPM;SFS:(7070007)(98901004);DIR:OUT;SFP:1901;SCL:1;SRVR:HE1EUR02HT082;H:AM4PR0701MB2162.eurprd07.prod.outlook.com;FPR:;SPF:None;LANG:en; x-ms-office365-filtering-correlation-id: 6cb49e97-e089-49ae-e1c3-08d47c670d23 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201702061074)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031322274)(1601125374)(1603101448)(1701031045);SRVR:HE1EUR02HT082; x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(444000031);SRVR:HE1EUR02HT082;BCL:0;PCL:0;RULEID:;SRVR:HE1EUR02HT082; x-forefront-prvs: 0268246AE7 spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: multipart/mixed; boundary="_003_AM4PR0701MB21623337A5C0C1850D3DF4C7E40A0AM4PR0701MB2162_" MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Apr 2017 21:02:22.1853 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1EUR02HT082 X-SW-Source: 2017-04/txt/msg00254.txt.bz2 --_003_AM4PR0701MB21623337A5C0C1850D3DF4C7E40A0AM4PR0701MB2162_ Content-Type: text/plain; charset="Windows-1252" Content-ID: <8246DE4B7C68A248B0FB2936EC42A573@eurprd07.prod.outlook.com> Content-Transfer-Encoding: quoted-printable Content-length: 675 On 04/05/17 19:22, Bernd Edlinger wrote: > On 04/05/17 18:08, Jakub Jelinek wrote: > > Yes, exactly. I really want to reach the deadline for gcc-7. > Fixing the name is certainly the most important first step, > and if everybody agrees on "typeless_storage", for the name > I can start with adjusting the name, and look into how > to use a spare type-flag that should be a mechanical change. > Jakub, I just renamed the attribute and reworked the patch as you suggested, reg-testing is not yet completed, but it looks good so far. I also added a few more tests. I have changed the documentation as Richi suggested, but I am not too sure what to say here. Thanks Bernd. --_003_AM4PR0701MB21623337A5C0C1850D3DF4C7E40A0AM4PR0701MB2162_ Content-Type: text/plain; name="changelog-typeless-storage.txt" Content-Description: changelog-typeless-storage.txt Content-Disposition: attachment; filename="changelog-typeless-storage.txt"; size=1759; creation-date="Wed, 05 Apr 2017 21:02:21 GMT"; modification-date="Wed, 05 Apr 2017 21:02:21 GMT" Content-ID: Content-Transfer-Encoding: base64 Content-length: 2388 Z2NjDQoyMDE3LTA0LTA1ICBCZXJuZCBFZGxpbmdlciAgPGJlcm5kLmVkbGlu Z2VyQGhvdG1haWwuZGU+DQoNCgkqIGRvYy9leHRlbmQudGV4aTogRG9jdW1l bnQgdGhlIHR5cGVsZXNzX3N0b3JhZ2UgdHlwZSBhdHRyaWJ1dGUuDQoJKiBh bGlhcy5jIChnZXRfYWxpYXNfc2V0KTogSG9ub3IgdGhlIHR5cGVsZXNzX3N0 b3JhZ2UgYXR0cmlidXRlLg0KCShyZWNvcmRfY29tcG9uZW50X2FsaWFzZXMp OiBEb24ndCBpZ25vcmUgdGhlIHR5cGVsZXNzX3N0b3JhZ2UNCglhdHRyaWJ1 dGUuDQoJKiB0cmVlLmMgKGJ1aWxkX3BvaW50ZXJfdHlwZV9mb3JfbW9kZSwN CglidWlsZF9yZWZlcmVuY2VfdHlwZV9mb3JfbW9kZSk6IEhhbmRsZSB0aGUg dHlwZWxlc3Nfc3RvcmFnZQ0KCWF0dHJpYnV0ZS4NCgkqIHByaW50LXRyZWUu YyAocHJpbnRfbm9kZSk6IExpa2V3aXNlLg0KCSogdHJlZS1zdHJlYW1lci1p bi5jICh1bnBhY2tfdHNfdHlwZV9jb21tb25fdmFsdWVfZmllbGRzKTogTGlr ZXdpc2UuDQoJKiB0cmVlLXN0cmVhbWVyLW91dC5jIChwYWNrX3RzX3R5cGVf Y29tbW9uX3ZhbHVlX2ZpZWxkcyk6IExpa2V3aXNlLg0KCSogdHJlLmggKFRZ UEVfVFlQRUxFU1NfU1RPUkFHRSk6IE5ldyBhY2Nlc3MgbWFjcm8uDQoJKiB0 cmVlLWNvcmUuaCAodHJlZV90eXBlX2NvbW1vbjo6dHlwZWxlc3Nfc3RvcmFn ZV9mbGFnKTogTmV3IGZsYWcuDQoNCmdjYy9jLWZhbWlseQ0KMjAxNy0wNC0w NSAgQmVybmQgRWRsaW5nZXIgIDxiZXJuZC5lZGxpbmdlckBob3RtYWlsLmRl Pg0KDQoJKiBjLWF0dHJpYnMuYyAoY19jb21tb25fYXR0cmlidXRlX3RhYik6 IEFkZCB0aGUgdHlwZWxlc3Nfc3RvcmFnZQ0KCWF0dHJpYnV0ZS4NCgkoaGFu ZGxlX3R5cGVsZXNzX3N0b3JhZ2VfYXR0cmlidXRlKTogTmV3IGZ1bmN0aW9u Lg0KDQpnY2MvY3ANCjIwMTctMDQtMDUgIEJlcm5kIEVkbGluZ2VyICA8YmVy bmQuZWRsaW5nZXJAaG90bWFpbC5kZT4NCg0KCSogY2xhc3MuYyAoZml4dXBf YXR0cmlidXRlX3ZhcmlhbnRzKTogSGFuZGxlIHRoZSB0eXBlbGVzc19zdG9y YWdlDQoJYXR0cmlidXRlLg0KCShmaW5pc2hfc3RydWN0XzEpOiBTZXQgdGhl IHR5cGVsZXNzX3N0b3JhZ2UgYXR0cmlidXRlIGlmIHJlcXVpcmVkDQoJYnkg QysrMTcuDQoJKiBkZWNsLmMgKHN0YXJ0X2VudW0pOiBMaWtld2lzZS4NCgkq IHB0LmMgKGxvb2t1cF90ZW1wbGF0ZV9jbGFzc18xKTogSGFuZGxlIHRoZSB0 eXBlbGVzc19zdG9yYWdlDQoJYXR0cmlidXRlLg0KCSogdHlwZWNrMi5jIChj eHhfdHlwZV9jb250YWluc19ieXRlX2J1ZmZlcik6IE5ldyBmdW5jdGlvbi4N CgkqIGNwLXRyZWUuaCAoY3h4X3R5cGVfY29udGFpbnNfYnl0ZV9idWZmZXIp OiBEZWNsYXJlLg0KDQpnY2MvbHRvDQoyMDE3LTA0LTA1ICBCZXJuZCBFZGxp bmdlciAgPGJlcm5kLmVkbGluZ2VyQGhvdG1haWwuZGU+DQoNCgkqIGx0by5j IChjb21wYXJlX3RyZWVfc2Njc18xLCBoYXNoX3RyZWUpOiBIYW5kbGUgdGhl IHR5cGVsZXNzX3N0b3JhZ2UNCglhdHRyaWJ1dGUuDQoNCmdjYy90ZXN0c3Vp dGUNCjIwMTctMDQtMDUgIEJlcm5kIEVkbGluZ2VyICA8YmVybmQuZWRsaW5n ZXJAaG90bWFpbC5kZT4NCg0KCSogYy1jKystY29tbW9uL2F0dHItdHlwZWxl c3Mtc3RvcmFnZS0xLmM6IE5ldyB0ZXN0Lg0KCSogYy1jKystY29tbW9uL2F0 dHItdHlwZWxlc3Mtc3RvcmFnZS0yLmM6IE5ldyB0ZXN0Lg0KCSogZ2NjLmMt dG9ydHVyZS9leGVjdXRlL3R5cGVsZXNzLXN0b3JhZ2UtMS5jOiBOZXcgdGVz dC4NCg== --_003_AM4PR0701MB21623337A5C0C1850D3DF4C7E40A0AM4PR0701MB2162_ Content-Type: text/x-patch; name="patch-typeless-storage.diff" Content-Description: patch-typeless-storage.diff Content-Disposition: attachment; filename="patch-typeless-storage.diff"; size=15148; creation-date="Wed, 05 Apr 2017 21:02:21 GMT"; modification-date="Wed, 05 Apr 2017 21:02:21 GMT" Content-ID: <6AB30D52919FE843A1A2058B929EDDAB@eurprd07.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 20537 SW5kZXg6IGdjYy9hbGlhcy5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQot LS0gZ2NjL2FsaWFzLmMJKHJldmlzaW9uIDI0NjY3OCkNCisrKyBnY2MvYWxp YXMuYwkod29ya2luZyBjb3B5KQ0KQEAgLTg3OSw2ICs4NzksMTAgQEAgZ2V0 X2FsaWFzX3NldCAodHJlZSB0KQ0KICAgICAgIHQgPSBUUkVFX1RZUEUgKHQp Ow0KICAgICB9DQogDQorICAvKiBIb25vciB0aGUgdHlwZWxlc3Nfc3RvcmFn ZSB0eXBlIGF0dHJpYnV0ZS4gICovDQorICBpZiAoVFlQRV9UWVBFTEVTU19T VE9SQUdFICh0KSkNCisgICAgcmV0dXJuIDA7DQorDQogICAvKiBWYXJpYW50 IHF1YWxpZmllcnMgZG9uJ3QgYWZmZWN0IHRoZSBhbGlhcyBzZXQsIHNvIGdl dCB0aGUgbWFpbg0KICAgICAgdmFyaWFudC4gICovDQogICB0ID0gVFlQRV9N QUlOX1ZBUklBTlQgKHQpOw0KQEAgLTEyMzQsNyArMTIzOCw4IEBAIHJlY29y ZF9jb21wb25lbnRfYWxpYXNlcyAodHJlZSB0eXBlKQ0KIAkJLyogVkVDVE9S X1RZUEUgYW5kIEFSUkFZX1RZUEUgc2hhcmUgdGhlIGFsaWFzIHNldCB3aXRo IHRoZWlyDQogCQkgICBlbGVtZW50IHR5cGUgYW5kIHRoYXQgdHlwZSBoYXMg dG8gYmUgbm9ybWFsaXplZCB0byB2b2lkICosDQogCQkgICB0b28sIGluIHRo ZSBjYXNlIGl0IGlzIGEgcG9pbnRlci4gKi8NCi0JCXdoaWxlICghY2Fub25p Y2FsX3R5cGVfdXNlZF9wICh0KSAmJiAhUE9JTlRFUl9UWVBFX1AgKHQpKQ0K KwkJd2hpbGUgKCFjYW5vbmljYWxfdHlwZV91c2VkX3AgKHQpICYmICFQT0lO VEVSX1RZUEVfUCAodCkNCisJCSAgICAgICAmJiAhVFlQRV9UWVBFTEVTU19T VE9SQUdFICh0KSkNCiAJCSAgew0KIAkJICAgIGdjY19jaGVja2luZ19hc3Nl cnQgKFRZUEVfU1RSVUNUVVJBTF9FUVVBTElUWV9QICh0KSk7DQogCQkgICAg dCA9IFRSRUVfVFlQRSAodCk7DQpJbmRleDogZ2NjL2MtZmFtaWx5L2MtYXR0 cmlicy5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gZ2NjL2MtZmFt aWx5L2MtYXR0cmlicy5jCShyZXZpc2lvbiAyNDY2NzgpDQorKysgZ2NjL2Mt ZmFtaWx5L2MtYXR0cmlicy5jCSh3b3JraW5nIGNvcHkpDQpAQCAtMTEzLDYg KzExMyw3IEBAIHN0YXRpYyB0cmVlIGhhbmRsZV92ZWN0b3Jfc2l6ZV9hdHRy aWJ1dGUgKHRyZWUgKiwNCiAJCQkJCSAgYm9vbCAqKTsNCiBzdGF0aWMgdHJl ZSBoYW5kbGVfbm9ubnVsbF9hdHRyaWJ1dGUgKHRyZWUgKiwgdHJlZSwgdHJl ZSwgaW50LCBib29sICopOw0KIHN0YXRpYyB0cmVlIGhhbmRsZV9ub3Rocm93 X2F0dHJpYnV0ZSAodHJlZSAqLCB0cmVlLCB0cmVlLCBpbnQsIGJvb2wgKik7 DQorc3RhdGljIHRyZWUgaGFuZGxlX3R5cGVsZXNzX3N0b3JhZ2VfYXR0cmli dXRlICh0cmVlICosIHRyZWUsIHRyZWUsIGludCwgYm9vbCAqKTsNCiBzdGF0 aWMgdHJlZSBoYW5kbGVfY2xlYW51cF9hdHRyaWJ1dGUgKHRyZWUgKiwgdHJl ZSwgdHJlZSwgaW50LCBib29sICopOw0KIHN0YXRpYyB0cmVlIGhhbmRsZV93 YXJuX3VudXNlZF9yZXN1bHRfYXR0cmlidXRlICh0cmVlICosIHRyZWUsIHRy ZWUsIGludCwNCiAJCQkJCQkgYm9vbCAqKTsNCkBAIC0yNjUsNiArMjY2LDgg QEAgY29uc3Qgc3RydWN0IGF0dHJpYnV0ZV9zcGVjIGNfY29tbW9uX2F0dHJp YnV0ZV90YWINCiAgIHsgIm5vdGhyb3ciLCAgICAgICAgICAgICAgICAwLCAw LCB0cnVlLCAgZmFsc2UsIGZhbHNlLA0KIAkJCSAgICAgIGhhbmRsZV9ub3Ro cm93X2F0dHJpYnV0ZSwgZmFsc2UgfSwNCiAgIHsgIm1heV9hbGlhcyIsCSAg ICAgIDAsIDAsIGZhbHNlLCB0cnVlLCBmYWxzZSwgTlVMTCwgZmFsc2UgfSwN CisgIHsgInR5cGVsZXNzX3N0b3JhZ2UiLCAgICAgICAwLCAwLCBmYWxzZSwg dHJ1ZSwgZmFsc2UsDQorCQkJICAgICAgaGFuZGxlX3R5cGVsZXNzX3N0b3Jh Z2VfYXR0cmlidXRlLCBmYWxzZSB9LA0KICAgeyAiY2xlYW51cCIsCQkgICAg ICAxLCAxLCB0cnVlLCBmYWxzZSwgZmFsc2UsDQogCQkJICAgICAgaGFuZGxl X2NsZWFudXBfYXR0cmlidXRlLCBmYWxzZSB9LA0KICAgeyAid2Fybl91bnVz ZWRfcmVzdWx0IiwgICAgIDAsIDAsIGZhbHNlLCB0cnVlLCB0cnVlLA0KQEAg LTI4NzksNiArMjg4MiwyNCBAQCBoYW5kbGVfbm90aHJvd19hdHRyaWJ1dGUg KHRyZWUgKm5vZGUsIHRyZWUgbmFtZSwgdA0KICAgcmV0dXJuIE5VTExfVFJF RTsNCiB9DQogDQorLyogSGFuZGxlIGEgInR5cGVsZXNzX3N0b3JhZ2UiIGF0 dHJpYnV0ZTsgYXJndW1lbnRzIGFzIGluDQorICAgc3RydWN0IGF0dHJpYnV0 ZV9zcGVjLmhhbmRsZXIuICAqLw0KKw0KK3N0YXRpYyB0cmVlDQoraGFuZGxl X3R5cGVsZXNzX3N0b3JhZ2VfYXR0cmlidXRlICh0cmVlICpub2RlLCB0cmVl IG5hbWUsIHRyZWUgQVJHX1VOVVNFRCAoYXJncyksDQorCQkJCSAgIGludCBB UkdfVU5VU0VEIChmbGFncyksIGJvb2wgKm5vX2FkZF9hdHRycykNCit7DQor ICBpZiAoVFlQRV9QICgqbm9kZSkpDQorICAgIFRZUEVfVFlQRUxFU1NfU1RP UkFHRSAoKm5vZGUpID0gMTsNCisgIGVsc2UNCisgICAgew0KKyAgICAgIHdh cm5pbmcgKE9QVF9XYXR0cmlidXRlcywgIiVxRSBhdHRyaWJ1dGUgaWdub3Jl ZCIsIG5hbWUpOw0KKyAgICAgICpub19hZGRfYXR0cnMgPSB0cnVlOw0KKyAg ICB9DQorDQorICByZXR1cm4gTlVMTF9UUkVFOw0KK30NCisNCiAvKiBIYW5k bGUgYSAiY2xlYW51cCIgYXR0cmlidXRlOyBhcmd1bWVudHMgYXMgaW4NCiAg ICBzdHJ1Y3QgYXR0cmlidXRlX3NwZWMuaGFuZGxlci4gICovDQogDQpJbmRl eDogZ2NjL2NwL2NsYXNzLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0t LSBnY2MvY3AvY2xhc3MuYwkocmV2aXNpb24gMjQ2Njc4KQ0KKysrIGdjYy9j cC9jbGFzcy5jCSh3b3JraW5nIGNvcHkpDQpAQCAtMjA4Myw3ICsyMDgzLDgg QEAgZml4dXBfYXR0cmlidXRlX3ZhcmlhbnRzICh0cmVlIHQpDQogICB0cmVl IGF0dHJzID0gVFlQRV9BVFRSSUJVVEVTICh0KTsNCiAgIHVuc2lnbmVkIGFs aWduID0gVFlQRV9BTElHTiAodCk7DQogICBib29sIHVzZXJfYWxpZ24gPSBU WVBFX1VTRVJfQUxJR04gKHQpOw0KLSAgYm9vbCBtYXlfYWxpYXMgPSBsb29r dXBfYXR0cmlidXRlICgibWF5X2FsaWFzIiwgYXR0cnMpOw0KKyAgYm9vbCBt YXlfYWxpYXMgPSBUWVBFX1RZUEVMRVNTX1NUT1JBR0UgKHQpDQorCQkgICB8 fCBsb29rdXBfYXR0cmlidXRlICgibWF5X2FsaWFzIiwgYXR0cnMpOw0KIA0K ICAgaWYgKG1heV9hbGlhcykNCiAgICAgZml4dXBfbWF5X2FsaWFzICh0KTsN CkBAIC03MzQ1LDYgKzczNDgsMTIgQEAgZmluaXNoX3N0cnVjdF8xICh0cmVl IHQpDQogICAgICB0aGUgY2xhc3Mgb3IgcGVyZm9ybSBhbnkgb3RoZXIgcmVx dWlyZWQgdGFyZ2V0IG1vZGlmaWNhdGlvbnMuICAqLw0KICAgdGFyZ2V0bS5j eHguYWRqdXN0X2NsYXNzX2F0X2RlZmluaXRpb24gKHQpOw0KIA0KKyAgaWYg KGN4eF9kaWFsZWN0ID49IGN4eDF6ICYmIGN4eF90eXBlX2NvbnRhaW5zX2J5 dGVfYnVmZmVyICh0KSkNCisgICAgew0KKyAgICAgIFRZUEVfVFlQRUxFU1Nf U1RPUkFHRSAodCkgPSAxOw0KKyAgICAgIGZpeHVwX2F0dHJpYnV0ZV92YXJp YW50cyAodCk7DQorICAgIH0NCisNCiAgIG1heWJlX3N1cHByZXNzX2RlYnVn X2luZm8gKHQpOw0KIA0KICAgaWYgKGZsYWdfdnRhYmxlX3ZlcmlmeSkNCklu ZGV4OiBnY2MvY3AvY3AtdHJlZS5oDQo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 DQotLS0gZ2NjL2NwL2NwLXRyZWUuaAkocmV2aXNpb24gMjQ2Njc4KQ0KKysr IGdjYy9jcC9jcC10cmVlLmgJKHdvcmtpbmcgY29weSkNCkBAIC02ODU4LDYg KzY4NTgsNyBAQCBleHRlcm4gdHJlZSBmaW5pc2hfYmluYXJ5X2ZvbGRfZXhw ciAgICAgICAgICAodHJlZQ0KIGV4dGVybiB2b2lkIHJlcXVpcmVfY29tcGxl dGVfZWhfc3BlY190eXBlcwkodHJlZSwgdHJlZSk7DQogZXh0ZXJuIHZvaWQg Y3h4X2luY29tcGxldGVfdHlwZV9kaWFnbm9zdGljCShsb2NhdGlvbl90LCBj b25zdF90cmVlLA0KIAkJCQkJCSBjb25zdF90cmVlLCBkaWFnbm9zdGljX3Qp Ow0KK2V4dGVybiBib29sIGN4eF90eXBlX2NvbnRhaW5zX2J5dGVfYnVmZmVy CSh0cmVlKTsNCiBpbmxpbmUgdm9pZA0KIGN4eF9pbmNvbXBsZXRlX3R5cGVf ZGlhZ25vc3RpYyAoY29uc3RfdHJlZSB2YWx1ZSwgY29uc3RfdHJlZSB0eXBl LA0KIAkJCQlkaWFnbm9zdGljX3QgZGlhZ19raW5kKQ0KSW5kZXg6IGdjYy9j cC9kZWNsLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBnY2MvY3Av ZGVjbC5jCShyZXZpc2lvbiAyNDY2NzgpDQorKysgZ2NjL2NwL2RlY2wuYwko d29ya2luZyBjb3B5KQ0KQEAgLTE0MDgxLDEwICsxNDA4MSwxMSBAQCBzdGFy dF9lbnVtICh0cmVlIG5hbWUsIHRyZWUgZW51bXR5cGUsIHRyZWUgdW5kZXJs eQ0KIAkgIGVudW10eXBlID0gcHVzaHRhZyAobmFtZSwgZW51bXR5cGUsIC8q dGFnX3Njb3BlPSovdHNfY3VycmVudCk7DQogDQogCSAgLyogc3RkOjpieXRl IGFsaWFzZXMgYW55dGhpbmcuICAqLw0KLQkgIGlmIChlbnVtdHlwZSAhPSBl cnJvcl9tYXJrX25vZGUNCisJICBpZiAoY3h4X2RpYWxlY3QgPj0gY3h4MXoN CisJICAgICAgJiYgZW51bXR5cGUgIT0gZXJyb3JfbWFya19ub2RlDQogCSAg ICAgICYmIFRZUEVfQ09OVEVYVCAoZW51bXR5cGUpID09IHN0ZF9ub2RlDQog CSAgICAgICYmICFzdHJjbXAgKCJieXRlIiwgVFlQRV9OQU1FX1NUUklORyAo ZW51bXR5cGUpKSkNCi0JICAgIFRZUEVfQUxJQVNfU0VUIChlbnVtdHlwZSkg PSAwOw0KKwkgICAgVFlQRV9UWVBFTEVTU19TVE9SQUdFIChlbnVtdHlwZSkg PSAxOw0KIAl9DQogICAgICAgZWxzZQ0KIAkgIGVudW10eXBlID0geHJlZl90 YWcgKGVudW1fdHlwZSwgbmFtZSwgLyp0YWdfc2NvcGU9Ki90c19jdXJyZW50 LA0KSW5kZXg6IGdjYy9jcC9wdC5jDQo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 DQotLS0gZ2NjL2NwL3B0LmMJKHJldmlzaW9uIDI0NjY3OCkNCisrKyBnY2Mv Y3AvcHQuYwkod29ya2luZyBjb3B5KQ0KQEAgLTg4NTMsNyArODg1Myw4IEBA IGxvb2t1cF90ZW1wbGF0ZV9jbGFzc18xICh0cmVlIGQxLCB0cmVlIGFyZ2xp c3QsIHRyDQogCXsNCiAJICBzdGF0aWMgY29uc3QgY2hhciAqdGFnc1tdID0g eyJhYmlfdGFnIiwgIm1heV9hbGlhcyJ9Ow0KIA0KLQkgIGZvciAodW5zaWdu ZWQgaXggPSAwOyBpeCAhPSAyOyBpeCsrKQ0KKwkgIFRZUEVfVFlQRUxFU1Nf U1RPUkFHRSAodCkgfD0gVFlQRV9UWVBFTEVTU19TVE9SQUdFICh0ZW1wbGF0 ZV90eXBlKTsNCisJICBmb3IgKHVuc2lnbmVkIGl4ID0gMDsgaXggPCBzaXpl b2YgKHRhZ3MpIC8gc2l6ZW9mICh0YWdzWzBdKTsgaXgrKykNCiAJICAgIHsN CiAJICAgICAgdHJlZSBhdHRyaWJ1dGVzDQogCQk9IGxvb2t1cF9hdHRyaWJ1 dGUgKHRhZ3NbaXhdLCBUWVBFX0FUVFJJQlVURVMgKHRlbXBsYXRlX3R5cGUp KTsNCkluZGV4OiBnY2MvY3AvdHlwZWNrMi5jDQo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09DQotLS0gZ2NjL2NwL3R5cGVjazIuYwkocmV2aXNpb24gMjQ2Njc4 KQ0KKysrIGdjYy9jcC90eXBlY2syLmMJKHdvcmtpbmcgY29weSkNCkBAIC0y MjM0LDUgKzIyMzQsMjkgQEAgcmVxdWlyZV9jb21wbGV0ZV9laF9zcGVjX3R5 cGVzICh0cmVlIGZudHlwZSwgdHJlZQ0KICAgICB9DQogfQ0KIA0KKy8qIFRy dWUgaWZmIHR5cGUgZWl0aGVyIGlzIG9yIGNvbnRhaW5zIGEgYnl0ZSBidWZm ZXIgKHdoaWNoIGNhbiBiZSB1c2VkIGZvcg0KKyAgIHN0b3JpbmcgYW55IHRy aXZpYWxseSBjb3B5YWJsZSB0eXBlKS4gICovDQorDQorYm9vbA0KK2N4eF90 eXBlX2NvbnRhaW5zX2J5dGVfYnVmZmVyICh0cmVlIHR5cGUpDQorew0KKyAg aWYgKFRSRUVfQ09ERSAodHlwZSkgPT0gQVJSQVlfVFlQRQ0KKyAgICAgICYm IChjeHhfdHlwZV9jb250YWluc19ieXRlX2J1ZmZlciAoVFJFRV9UWVBFICh0 eXBlKSkNCisJICB8fCBUUkVFX1RZUEUgKHR5cGUpID09IHVuc2lnbmVkX2No YXJfdHlwZV9ub2RlDQorCSAgfHwgKFRSRUVfQ09ERSAoVFJFRV9UWVBFICh0 eXBlKSkgPT0gRU5VTUVSQUxfVFlQRQ0KKwkgICAgICAmJiBUWVBFX0NPTlRF WFQgKFRSRUVfVFlQRSAodHlwZSkpID09IHN0ZF9ub2RlDQorCSAgICAgICYm ICFzdHJjbXAgKCJieXRlIiwgVFlQRV9OQU1FX1NUUklORyAoVFJFRV9UWVBF ICh0eXBlKSkpKSkpDQorICAgIHJldHVybiB0cnVlOw0KKw0KKyAgaWYgKENM QVNTX1RZUEVfUCAodHlwZSkpDQorICAgIGZvciAodHJlZSBmaWVsZCA9IG5l eHRfaW5pdGlhbGl6YWJsZV9maWVsZCAoVFlQRV9GSUVMRFMgKHR5cGUpKTsN CisJIGZpZWxkOw0KKwkgZmllbGQgPSBuZXh0X2luaXRpYWxpemFibGVfZmll bGQgKERFQ0xfQ0hBSU4gKGZpZWxkKSkpDQorICAgICAgaWYgKGN4eF90eXBl X2NvbnRhaW5zX2J5dGVfYnVmZmVyIChUUkVFX1RZUEUgKGZpZWxkKSkpDQor CXJldHVybiB0cnVlOw0KKw0KKyAgcmV0dXJuIGZhbHNlOw0KK30NCisNCiAM DQogI2luY2x1ZGUgImd0LWNwLXR5cGVjazIuaCINCkluZGV4OiBnY2MvZG9j L2V4dGVuZC50ZXhpDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gZ2Nj L2RvYy9leHRlbmQudGV4aQkocmV2aXNpb24gMjQ2Njc4KQ0KKysrIGdjYy9k b2MvZXh0ZW5kLnRleGkJKHdvcmtpbmcgY29weSkNCkBAIC02NjU2LDYgKzY2 NTYsMTEgQEAgZGVjbGFyYXRpb24sIHRoZSBhYm92ZSBwcm9ncmFtIHdvdWxk IGFib3J0IHdoZW4gY28NCiBAb3B0aW9uey1mc3RyaWN0LWFsaWFzaW5nfSwg d2hpY2ggaXMgb24gYnkgZGVmYXVsdCBhdCBAb3B0aW9uey1PMn0gb3INCiBh Ym92ZS4NCiANCitAaXRlbSB0eXBlbGVzc19zdG9yYWdlDQorQGNpbmRleCBA Y29kZXt0eXBlbGVzc19zdG9yYWdlfSB0eXBlIGF0dHJpYnV0ZQ0KK0FuIG9i amVjdCBkZWNsYXJlZCB3aXRoIGEgdHlwZSB3aXRoIHRoaXMgYXR0cmlidXRl IGJlaGF2ZXMgbGlrZSBhDQorY2hhcmFjdGVyIHR5cGUgd2l0aCByZXNwZWN0 IHRvIGFsaWFzaW5nIHNlbWFudGljcy4NCisNCiBAaXRlbSBwYWNrZWQNCiBA Y2luZGV4IEBjb2Rle3BhY2tlZH0gdHlwZSBhdHRyaWJ1dGUNCiBUaGlzIGF0 dHJpYnV0ZSwgYXR0YWNoZWQgdG8gQGNvZGV7c3RydWN0fSBvciBAY29kZXt1 bmlvbn0gdHlwZQ0KSW5kZXg6IGdjYy9sdG8vbHRvLmMNCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0NCi0tLSBnY2MvbHRvL2x0by5jCShyZXZpc2lvbiAyNDY2 NzgpDQorKysgZ2NjL2x0by9sdG8uYwkod29ya2luZyBjb3B5KQ0KQEAgLTEx NjQsNiArMTE2NCw3IEBAIGNvbXBhcmVfdHJlZV9zY2NzXzEgKHRyZWUgdDEs IHRyZWUgdDIsIHRyZWUgKiptYXApDQogCWNvbXBhcmVfdmFsdWVzIChUWVBF X05PTkFMSUFTRURfQ09NUE9ORU5UKTsNCiAgICAgICBjb21wYXJlX3ZhbHVl cyAoVFlQRV9QQUNLRUQpOw0KICAgICAgIGNvbXBhcmVfdmFsdWVzIChUWVBF X1JFU1RSSUNUKTsNCisgICAgICBjb21wYXJlX3ZhbHVlcyAoVFlQRV9UWVBF TEVTU19TVE9SQUdFKTsNCiAgICAgICBjb21wYXJlX3ZhbHVlcyAoVFlQRV9V U0VSX0FMSUdOKTsNCiAgICAgICBjb21wYXJlX3ZhbHVlcyAoVFlQRV9SRUFE T05MWSk7DQogICAgICAgY29tcGFyZV92YWx1ZXMgKFRZUEVfUFJFQ0lTSU9O KTsNCkluZGV4OiBnY2MvbHRvLXN0cmVhbWVyLW91dC5jDQo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09DQotLS0gZ2NjL2x0by1zdHJlYW1lci1vdXQuYwkocmV2 aXNpb24gMjQ2Njc4KQ0KKysrIGdjYy9sdG8tc3RyZWFtZXItb3V0LmMJKHdv cmtpbmcgY29weSkNCkBAIC0xMTM0LDYgKzExMzQsNyBAQCBoYXNoX3RyZWUg KHN0cnVjdCBzdHJlYW1lcl90cmVlX2NhY2hlX2QgKmNhY2hlLCBoYQ0KICAg ICAgIGhzdGF0ZS5hZGRfZmxhZyAoVFlQRV9ORUVEU19DT05TVFJVQ1RJTkcg KHQpKTsNCiAgICAgICBoc3RhdGUuYWRkX2ZsYWcgKFRZUEVfUEFDS0VEICh0 KSk7DQogICAgICAgaHN0YXRlLmFkZF9mbGFnIChUWVBFX1JFU1RSSUNUICh0 KSk7DQorICAgICAgaHN0YXRlLmFkZF9mbGFnIChUWVBFX1RZUEVMRVNTX1NU T1JBR0UgKHQpKTsNCiAgICAgICBoc3RhdGUuYWRkX2ZsYWcgKFRZUEVfVVNF Ul9BTElHTiAodCkpOw0KICAgICAgIGhzdGF0ZS5hZGRfZmxhZyAoVFlQRV9S RUFET05MWSAodCkpOw0KICAgICAgIGlmIChSRUNPUkRfT1JfVU5JT05fVFlQ RV9QICh0KSkNCkluZGV4OiBnY2MvcHJpbnQtdHJlZS5jDQo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09DQotLS0gZ2NjL3ByaW50LXRyZWUuYwkocmV2aXNpb24g MjQ2Njc4KQ0KKysrIGdjYy9wcmludC10cmVlLmMJKHdvcmtpbmcgY29weSkN CkBAIC01NzQsNiArNTc0LDkgQEAgcHJpbnRfbm9kZSAoRklMRSAqZmlsZSwg Y29uc3QgY2hhciAqcHJlZml4LCB0cmVlIG4NCiAgICAgICBpZiAoVFlQRV9S RVNUUklDVCAobm9kZSkpDQogCWZwdXRzICgiIHJlc3RyaWN0IiwgZmlsZSk7 DQogDQorICAgICAgaWYgKFRZUEVfVFlQRUxFU1NfU1RPUkFHRSAobm9kZSkp DQorCWZwdXRzICgiIHR5cGVsZXNzLXN0b3JhZ2UiLCBmaWxlKTsNCisNCiAg ICAgICBpZiAoVFlQRV9MQU5HX0ZMQUdfMCAobm9kZSkpDQogCWZwdXRzICgi IHR5cGVfMCIsIGZpbGUpOw0KICAgICAgIGlmIChUWVBFX0xBTkdfRkxBR18x IChub2RlKSkNCkluZGV4OiBnY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9h dHRyLXR5cGVsZXNzLXN0b3JhZ2UtMS5jDQo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09DQotLS0gZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24vYXR0ci10eXBl bGVzcy1zdG9yYWdlLTEuYwkocmV2aXNpb24gMCkNCisrKyBnY2MvdGVzdHN1 aXRlL2MtYysrLWNvbW1vbi9hdHRyLXR5cGVsZXNzLXN0b3JhZ2UtMS5jCSh3 b3JraW5nIGNvcHkpDQpAQCAtMCwwICsxLDI5IEBADQorLyogeyBkZy1kbyBj b21waWxlIH0gKi8NCisvKiB7IGRnLW9wdGlvbnMgIi1PMiAtV2FsbCIgfSAq Lw0KKw0KK3R5cGVkZWYgaW50IFQgX19hdHRyaWJ1dGVfXygodHlwZWxlc3Nf c3RvcmFnZSkpOw0KKw0KK2V4dGVybiBUIHQsIHY7DQorZXh0ZXJuIFQgKnA7 DQorZXh0ZXJuIGludCAqcDsNCisNCitleHRlcm4gaW50ICpwMjsNCitleHRl cm4gVCAqcDI7DQorDQordm9pZCBmbjEgKFQpOw0KK3ZvaWQgZm4xIChpbnQp Ow0KKw0KK3ZvaWQgZm4yIChpbnQpOw0KK3ZvaWQgZm4yIChUKTsNCisNCisv KiBFbnN1cmUgdGhhdCB0aGUgY29tcG9zaXRlIHR5cGVzIGhhdmUgdHlwZWxl c3Nfc3RvcmFnZS4gICovDQordm9pZA0KK2YgKGxvbmcgKmkpDQorew0KKyAg KmkgPSAqKF9fdHlwZW9mICgqcCkgKikgJnA7DQorICBhc20gKCIiIDogOiAi ciIgKCpwKSk7DQorICAqaSA9ICooX190eXBlb2YgKCpwMikgKikgJnAyOw0K KyAgYXNtICgiIiA6IDogInIiICgqcDIpKTsNCisgIHQgPSB2Ow0KKyAgYXNt ICgiIiA6IDogInIiICh0KSk7DQorfQ0KSW5kZXg6IGdjYy90ZXN0c3VpdGUv Yy1jKystY29tbW9uL2F0dHItdHlwZWxlc3Mtc3RvcmFnZS0yLmMNCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0NCi0tLSBnY2MvdGVzdHN1aXRlL2MtYysrLWNv bW1vbi9hdHRyLXR5cGVsZXNzLXN0b3JhZ2UtMi5jCShyZXZpc2lvbiAwKQ0K KysrIGdjYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL2F0dHItdHlwZWxlc3Mt c3RvcmFnZS0yLmMJKHdvcmtpbmcgY29weSkNCkBAIC0wLDAgKzEsMTcgQEAN CisvKiBXZSB1c2VkIHRvIHJlamVjdCB0aGlzIGJlY2F1c2UgdHlwZXMgZGlm ZmVyZW50aWF0aW5nIG9ubHkgaW4NCisgICBUWVBFX1JFRl9DQU5fQUxJQVNf QUxMIHdlcmUgZGVlbWVkIGluY29tcGF0aWJsZS4gICovDQorLyogeyBkZy1k byBjb21waWxlIH0gKi8NCisNCitzdHJ1Y3Qgc29ja2FkZHI7DQorc3RydWN0 IHNvY2thZGRyICpmICh2b2lkKTsNCisNCitzdHJ1Y3QgX19hdHRyaWJ1dGVf XygodHlwZWxlc3Nfc3RvcmFnZSkpIHNvY2thZGRyIHsgaW50IGo7IH07DQor c3RydWN0IHNvY2thZGRyICoNCitmICh2b2lkKQ0KK3sNCisgIHJldHVybg0K KyNpZm5kZWYgX19jcGx1c3BsdXMNCisgICAgKHZvaWQgKikNCisjZW5kaWYN CisgICAgMDsNCit9DQpJbmRleDogZ2NjL3Rlc3RzdWl0ZS9nY2MuYy10b3J0 dXJlL2V4ZWN1dGUvdHlwZWxlc3Mtc3RvcmFnZS0xLmMNCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0NCi0tLSBnY2MvdGVzdHN1aXRlL2djYy5jLXRvcnR1cmUv ZXhlY3V0ZS90eXBlbGVzcy1zdG9yYWdlLTEuYwkocmV2aXNpb24gMCkNCisr KyBnY2MvdGVzdHN1aXRlL2djYy5jLXRvcnR1cmUvZXhlY3V0ZS90eXBlbGVz cy1zdG9yYWdlLTEuYwkod29ya2luZyBjb3B5KQ0KQEAgLTAsMCArMSwyMCBA QA0KKy8qIFRlc3RzIHRoYXQgdGhlIHR5cGVsZXNzX3N0b3JhZ2UgYXR0cmli dXRlIHdvcmtzIGFzIGV4cGVjdGVkLiAgKi8NCisgDQorZXh0ZXJuIHZvaWQg YWJvcnQodm9pZCk7DQorZXh0ZXJuIHZvaWQgZXhpdChpbnQpOw0KKw0KK3R5 cGVkZWYgaW50IF9fYXR0cmlidXRlX18oKF9fdHlwZWxlc3Nfc3RvcmFnZV9f KSkgaW50X2E7DQorDQoraW50DQorbWFpbiAodm9pZCkNCit7DQorICBpbnRf YSBhID0gMHgxMjM0NTY3ODsNCisgIHNob3J0ICpiID0gKHNob3J0KikgJmE7 DQorDQorICBiWzFdID0gMDsNCisNCisgIGlmIChhID09IDB4MTIzNDU2Nzgp DQorICAgIGFib3J0KCk7DQorDQorICBleGl0KDApOw0KK30NCkluZGV4OiBn Y2MvdHJlZS1jb3JlLmgNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBn Y2MvdHJlZS1jb3JlLmgJKHJldmlzaW9uIDI0NjY3OCkNCisrKyBnY2MvdHJl ZS1jb3JlLmgJKHdvcmtpbmcgY29weSkNCkBAIC0xNDkxLDYgKzE0OTEsNyBA QCBzdHJ1Y3QgR1RZKCgpKSB0cmVlX3R5cGVfY29tbW9uIHsNCiAgIHVuc2ln bmVkIG5lZWRzX2NvbnN0cnVjdGluZ19mbGFnIDogMTsNCiAgIHVuc2lnbmVk IHRyYW5zcGFyZW50X2FnZ3JfZmxhZyA6IDE7DQogICB1bnNpZ25lZCByZXN0 cmljdF9mbGFnIDogMTsNCisgIHVuc2lnbmVkIHR5cGVsZXNzX3N0b3JhZ2Vf ZmxhZyA6IDE7DQogICB1bnNpZ25lZCBjb250YWluc19wbGFjZWhvbGRlcl9i aXRzIDogMjsNCiANCiAgIEVOVU1fQklURklFTEQobWFjaGluZV9tb2RlKSBt b2RlIDogODsNCkBAIC0xNTExLDcgKzE1MTIsNyBAQCBzdHJ1Y3QgR1RZKCgp KSB0cmVlX3R5cGVfY29tbW9uIHsNCiAgICAgIHNvIHdlIG5lZWQgdG8gc3Rv cmUgdGhlIHZhbHVlIDMyIChub3QgMzEsIGFzIHdlIG5lZWQgdGhlIHplcm8N CiAgICAgIGFzIHdlbGwpLCBoZW5jZSBzaXggYml0cy4gICovDQogICB1bnNp Z25lZCBhbGlnbiA6IDY7DQotICB1bnNpZ25lZCBzcGFyZSA6IDI1Ow0KKyAg dW5zaWduZWQgc3BhcmUgOiAyNDsNCiAgIGFsaWFzX3NldF90eXBlIGFsaWFz X3NldDsNCiAgIHRyZWUgcG9pbnRlcl90bzsNCiAgIHRyZWUgcmVmZXJlbmNl X3RvOw0KSW5kZXg6IGdjYy90cmVlLXN0cmVhbWVyLWluLmMNCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0NCi0tLSBnY2MvdHJlZS1zdHJlYW1lci1pbi5jCShy ZXZpc2lvbiAyNDY2NzgpDQorKysgZ2NjL3RyZWUtc3RyZWFtZXItaW4uYwko d29ya2luZyBjb3B5KQ0KQEAgLTM2Nyw2ICszNjcsNyBAQCB1bnBhY2tfdHNf dHlwZV9jb21tb25fdmFsdWVfZmllbGRzIChzdHJ1Y3QgYml0cGFjaw0KICAg VFlQRV9ORUVEU19DT05TVFJVQ1RJTkcgKGV4cHIpID0gKHVuc2lnbmVkKSBi cF91bnBhY2tfdmFsdWUgKGJwLCAxKTsNCiAgIFRZUEVfUEFDS0VEIChleHBy KSA9ICh1bnNpZ25lZCkgYnBfdW5wYWNrX3ZhbHVlIChicCwgMSk7DQogICBU WVBFX1JFU1RSSUNUIChleHByKSA9ICh1bnNpZ25lZCkgYnBfdW5wYWNrX3Zh bHVlIChicCwgMSk7DQorICBUWVBFX1RZUEVMRVNTX1NUT1JBR0UgKGV4cHIp ID0gKHVuc2lnbmVkKSBicF91bnBhY2tfdmFsdWUgKGJwLCAxKTsNCiAgIFRZ UEVfVVNFUl9BTElHTiAoZXhwcikgPSAodW5zaWduZWQpIGJwX3VucGFja192 YWx1ZSAoYnAsIDEpOw0KICAgVFlQRV9SRUFET05MWSAoZXhwcikgPSAodW5z aWduZWQpIGJwX3VucGFja192YWx1ZSAoYnAsIDEpOw0KICAgaWYgKFJFQ09S RF9PUl9VTklPTl9UWVBFX1AgKGV4cHIpKQ0KSW5kZXg6IGdjYy90cmVlLXN0 cmVhbWVyLW91dC5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gZ2Nj L3RyZWUtc3RyZWFtZXItb3V0LmMJKHJldmlzaW9uIDI0NjY3OCkNCisrKyBn Y2MvdHJlZS1zdHJlYW1lci1vdXQuYwkod29ya2luZyBjb3B5KQ0KQEAgLTMx Niw2ICszMTYsNyBAQCBwYWNrX3RzX3R5cGVfY29tbW9uX3ZhbHVlX2ZpZWxk cyAoc3RydWN0IGJpdHBhY2tfZA0KICAgYnBfcGFja192YWx1ZSAoYnAsIFRZ UEVfTkVFRFNfQ09OU1RSVUNUSU5HIChleHByKSwgMSk7DQogICBicF9wYWNr X3ZhbHVlIChicCwgVFlQRV9QQUNLRUQgKGV4cHIpLCAxKTsNCiAgIGJwX3Bh Y2tfdmFsdWUgKGJwLCBUWVBFX1JFU1RSSUNUIChleHByKSwgMSk7DQorICBi cF9wYWNrX3ZhbHVlIChicCwgVFlQRV9UWVBFTEVTU19TVE9SQUdFIChleHBy KSwgMSk7DQogICBicF9wYWNrX3ZhbHVlIChicCwgVFlQRV9VU0VSX0FMSUdO IChleHByKSwgMSk7DQogICBicF9wYWNrX3ZhbHVlIChicCwgVFlQRV9SRUFE T05MWSAoZXhwciksIDEpOw0KICAgLyogV2UgdXNlZCB0byBzdHJlYW0gVFlQ RV9BTElBU19TRVQgPT0gMCBpbmZvcm1hdGlvbiB0byBsZXQgZnJvbnRlbmRz IG1hcmsNCkluZGV4OiBnY2MvdHJlZS5jDQo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09DQotLS0gZ2NjL3RyZWUuYwkocmV2aXNpb24gMjQ2Njc4KQ0KKysrIGdj Yy90cmVlLmMJKHdvcmtpbmcgY29weSkNCkBAIC04MDQxLDcgKzgwNDEsOCBA QCBidWlsZF9wb2ludGVyX3R5cGVfZm9yX21vZGUgKHRyZWUgdG9fdHlwZSwg bWFjaGluZQ0KIA0KICAgLyogSWYgdGhlIHBvaW50ZWQtdG8gdHlwZSBoYXMg dGhlIG1heV9hbGlhcyBhdHRyaWJ1dGUgc2V0LCBmb3JjZQ0KICAgICAgYSBU WVBFX1JFRl9DQU5fQUxJQVNfQUxMIHBvaW50ZXIgdG8gYmUgZ2VuZXJhdGVk LiAgKi8NCi0gIGlmIChsb29rdXBfYXR0cmlidXRlICgibWF5X2FsaWFzIiwg VFlQRV9BVFRSSUJVVEVTICh0b190eXBlKSkpDQorICBpZiAoVFlQRV9UWVBF TEVTU19TVE9SQUdFICh0b190eXBlKQ0KKyAgICAgIHx8IGxvb2t1cF9hdHRy aWJ1dGUgKCJtYXlfYWxpYXMiLCBUWVBFX0FUVFJJQlVURVMgKHRvX3R5cGUp KSkNCiAgICAgY2FuX2FsaWFzX2FsbCA9IHRydWU7DQogDQogICAvKiBJbiBz b21lIGNhc2VzLCBsYW5ndWFnZXMgd2lsbCBoYXZlIHRoaW5ncyB0aGF0IGFy ZW4ndCBhIFBPSU5URVJfVFlQRQ0KQEAgLTgxMTAsNyArODExMSw4IEBAIGJ1 aWxkX3JlZmVyZW5jZV90eXBlX2Zvcl9tb2RlICh0cmVlIHRvX3R5cGUsIG1h Y2hpDQogDQogICAvKiBJZiB0aGUgcG9pbnRlZC10byB0eXBlIGhhcyB0aGUg bWF5X2FsaWFzIGF0dHJpYnV0ZSBzZXQsIGZvcmNlDQogICAgICBhIFRZUEVf UkVGX0NBTl9BTElBU19BTEwgcG9pbnRlciB0byBiZSBnZW5lcmF0ZWQuICAq Lw0KLSAgaWYgKGxvb2t1cF9hdHRyaWJ1dGUgKCJtYXlfYWxpYXMiLCBUWVBF X0FUVFJJQlVURVMgKHRvX3R5cGUpKSkNCisgIGlmIChUWVBFX1RZUEVMRVNT X1NUT1JBR0UgKHRvX3R5cGUpDQorICAgICAgfHwgbG9va3VwX2F0dHJpYnV0 ZSAoIm1heV9hbGlhcyIsIFRZUEVfQVRUUklCVVRFUyAodG9fdHlwZSkpKQ0K ICAgICBjYW5fYWxpYXNfYWxsID0gdHJ1ZTsNCiANCiAgIC8qIEluIHNvbWUg Y2FzZXMsIGxhbmd1YWdlcyB3aWxsIGhhdmUgdGhpbmdzIHRoYXQgYXJlbid0 IGEgUkVGRVJFTkNFX1RZUEUNCkluZGV4OiBnY2MvdHJlZS5oDQo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09DQotLS0gZ2NjL3RyZWUuaAkocmV2aXNpb24gMjQ2 Njc4KQ0KKysrIGdjYy90cmVlLmgJKHdvcmtpbmcgY29weSkNCkBAIC0xOTQ0 LDYgKzE5NDQsMTEgQEAgZXh0ZXJuIG1hY2hpbmVfbW9kZSBlbGVtZW50X21v ZGUgKGNvbnN0X3RyZWUgdCk7DQogICAgdGhlIHRlcm0uICAqLw0KICNkZWZp bmUgVFlQRV9SRVNUUklDVChOT0RFKSAoVFlQRV9DSEVDSyAoTk9ERSktPnR5 cGVfY29tbW9uLnJlc3RyaWN0X2ZsYWcpDQogDQorLyogTm9uemVybyBpZiB0 aGUgdHlwZSBzaG91bGQgYmVoYXZlIGxpa2UgYSBjaGFyYWN0ZXIgdHlwZQ0K KyAgIHdpdGggcmVzcGVjdCB0byBhbGlhc2luZyBzZW1lbnRpY3MuICAqLw0K KyNkZWZpbmUgVFlQRV9UWVBFTEVTU19TVE9SQUdFKE5PREUpIFwNCisgIChU WVBFX0NIRUNLIChOT0RFKS0+dHlwZV9jb21tb24udHlwZWxlc3Nfc3RvcmFn ZV9mbGFnKQ0KKw0KIC8qIElmIG5vbnplcm8sIHR5cGUncyBuYW1lIHNob3Vs ZG4ndCBiZSBlbWl0dGVkIGludG8gZGVidWcgaW5mby4gICovDQogI2RlZmlu ZSBUWVBFX05BTUVMRVNTKE5PREUpIChUWVBFX0NIRUNLIChOT0RFKS0+YmFz ZS51LmJpdHMubmFtZWxlc3NfZmxhZykNCiANCg== --_003_AM4PR0701MB21623337A5C0C1850D3DF4C7E40A0AM4PR0701MB2162_--