From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id 4CD7B3853C1C for ; Tue, 17 Aug 2021 14:51:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4CD7B3853C1C Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 17HElThg030884; Tue, 17 Aug 2021 14:51:15 GMT Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by mx0b-00069f02.pphosted.com with ESMTP id 3afgmbc478-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 17 Aug 2021 14:51:15 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 17HEp6ms094305; Tue, 17 Aug 2021 14:51:14 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2173.outbound.protection.outlook.com [104.47.55.173]) by aserp3030.oracle.com with ESMTP id 3ae3vfqst7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 17 Aug 2021 14:51:13 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jpDmlGCjgdx+kTx5FGTHbe+C/RaQDdX9yORStvzb+LADwJ1ZQHBTprYoQAV77JqIjnrbtRRFqSat0Oqu7YcCarXB8N1PHHjhpjlf+/wQB2BU2dZa0oerHwxyBruSmLErg414KrzYgQRh8/wqk7D6fXLM1K+qGDQXtxf9dRnBWgo9qW/r5KYSz/oEvNse2Lm8v/5vdp9+X2vK5SBmHd3e6zMGago8MtUyQcx9hxFb/Llvb5Gm6TTQduhQUWfyiHmvtpQqkbCS7E1oAcP29g+LHHmm7G/umi8dO2eYRWo55w1RxXNuHqWjYKbh8sC2sWGnQ6p8OdTy3Ey6umL3lkj6Eg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=g2XCDHtvgk3kpGk7OjimWf+ZCNOA5Fda36UeQJdI01g=; b=XudqTeLkomMDHq8AZLq94tjjTtkjQowbULV9gBs/izNqf378cyHNPSlEGtjcMCr3lPLN4EhW9nXgbvFfgP1pOwIDKm4o80BwmH/kt0s/yMj3ZzD9Y1H7HGcP6NH+KO5yBlkFVszzyE/eb+kTiXD3fgEJaeCEWTfue8csrE62dCTxODyM+vhejaYuBQNqqVHF+qJJoIk+a0i4GNqZBeFHUvV9SuUiE96omM7jOBtLedh2HwtPfLoP6XXsSbiTdR4l2NMeMxxsGx544DKitP516tyLp2Wt75uGjfTALM8gaeYliN633CGYjrOPFeQBhuTV0evh+c0XCqZfkGkSfBulNA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by CH0PR10MB4986.namprd10.prod.outlook.com (2603:10b6:610:c7::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Tue, 17 Aug 2021 14:50:47 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::f463:6b71:2491:d547]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::f463:6b71:2491:d547%9]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021 14:50:47 +0000 From: Qing Zhao To: Richard Biener CC: Martin Jambor , Jakub Jelinek , Kees Cook , Nick Alcock via Gcc-patches , Richard Biener Subject: Re: [patch][version 6] add -ftrivial-auto-var-init and variable attribute "uninitialized" to gcc Thread-Topic: [patch][version 6] add -ftrivial-auto-var-init and variable attribute "uninitialized" to gcc Thread-Index: AQHXgpcfj6SO0Rka1UmU0GU91mFncqtrSzIAgAUO6ICABYSmgIAAh5qAgAEYkwCAAGpqAA== Date: Tue, 17 Aug 2021 14:50:47 +0000 Message-ID: <786F370D-4A45-4F66-846C-A3437A162A65@oracle.com> References: <52E29277-1403-4755-901A-528116C43FB8@oracle.com> <517EA40B-9500-4090-8F03-B4A9CECC62F8@oracle.com> <8B2F93E8-C3AC-49D2-B764-D4DD8A150A52@oracle.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3608.120.23.2.7) x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c262a0b9-654a-41d6-ef9f-08d9618e65ff x-ms-traffictypediagnostic: CH0PR10MB4986: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 18kN2iJh3hTblqQupF0zG6ql80K37FqKTLlXMNILKrwQOCkRuocKph8pr4BWvDSpP0IClJ8QgkKFpNiI4Asj9SDmq4fuDMjpM0+byGbmxHR1EPrFVKJYHfHf9fxiMe53GXf9erH+taveH+LrY44tyhEld6sY5IDllfXJGHr6SOnSpCr8Qpz+Ens2b1XIn4XyH8ekFoAtOaw2JlGAwWEQfYJYDWvQW2nV30JD+qdVlEjrruc2KosM39CUPGTX8BTW/CN+ig5Ja1aKKKsND1vhaQ15wjwWOda7kQWi7lO/MXJ9MDKxKTBEVQZvg2+ge7vHM2TDWnCmaud5dtVnARNxipxoeBa5M3MePMAnVZlcrujhORA7pnki7reNaK6Sg3M2vUd+Tpu6162Ftrlhcnn7ut+BVuKQBeVrW+87tH43FA17Q9YK3O8uEeYQ2Th/7nfXPmkRSssSG5j0yZ6wgIhp1ZC91zeWB2/QHGoDH1HC9eDh0KAOboQ1wV5pGmjlckmk3zHZq82fGyP6Ytgaa841YUflrycG0jPHgh06C+c4zzXWCBW37z/JlaBLZusa9GOhBamHNJYm3JouReS+Ak08WYH2FMyH5BC6lor3OpCenSVp7W2aN5a/2AyRSVvrQxKGshIqjab9UQ03qIE39RZ18LtozXydDO1/Z5ljeneo8/XmN4CYPk6Er0HKaMCm0e0MhV3m5xz56o6mO5uwWrGiYasJgEGOGVvLdz/PulzlraSe2VvvqvBlQtvtq+tPbHcn x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR10MB4344.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(346002)(376002)(366004)(396003)(39860400002)(136003)(66946007)(186003)(76116006)(6486002)(6512007)(66476007)(122000001)(91956017)(38100700002)(5660300002)(66556008)(6506007)(64756008)(6916009)(54906003)(53546011)(66446008)(36756003)(316002)(86362001)(2906002)(8936002)(38070700005)(478600001)(8676002)(44832011)(2616005)(71200400001)(66574015)(33656002)(4326008)(83380400001)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QkRjTkUzUk9JZ0FqcU1oVEZIZnByL1BiTEswQjFDUWdQK3pUbnR4OW9rT0F2?= =?utf-8?B?TmZpWjhYWmZ1UC93ZE13M3huWTNOOERsVjZFYzNaVXVOR1ZmUE5XNU9VRkRq?= =?utf-8?B?aU1oMzVwMmp1d1p1NzJzWVJqNXo0WmVnSjNSZmQxdVlsM1pXSGhzNEpTUHlO?= =?utf-8?B?ZUVyd21QSVNiMjBhQmRqOHYyUWdhSnBzOUFmaW9Rb3dVditCbWdtaC8wazNO?= =?utf-8?B?L2hJVnNzaEZma05FNU9NQ3BMaEZlWDRRZzBlWTNZVnk3YlF3b2Zob2EvWHdP?= =?utf-8?B?ZEE0TnFENnhmck1iMUk3Z3IzNU1zek0rQWpZcnRsVngwNkd0U0xkMVg5ajNr?= =?utf-8?B?YjYyN2NOM1F1TVRYclhSMS9mSFRTb2w2NHlPT1JXdjF5cXZISUpGUW1DUVVV?= =?utf-8?B?SEFZRjlKZ0RkemRYMGlxWHFsU0tqaFlZc0p5MStjSGs2SVQwRWRKdU8zRCsz?= =?utf-8?B?Zk5iVnR0cTh1QndsNTFQOURvYmQ3M2dSYWpUTmlxTWEvSjVoeWZxdEpLYVkr?= =?utf-8?B?WXBPM2NzTDhqRXBlUGhDa212ejFlV2hNdk5QVTV4WW1TckhreEpRKzJoR3NB?= =?utf-8?B?QXdrL3FUa09WU3RPVEJuaHRBaE40am5idVFaNnJjcTg3T2lhc2lWL3RKRDA4?= =?utf-8?B?dzVtcHQ1TkFlcElIY0RnN1JLNno4eS8xdi9BRXdMRFJ3NlVWNEdCWTJmQU1G?= =?utf-8?B?K05uZHNmaEVtRVIwYVdxaVl3NHVJa3grTkl0ZERld3pJU0R3ZUpacVF0QUJw?= =?utf-8?B?cnBCdUsxa2xUYW5BVTh3OUhicytjY05sbFkzRWJMUnl0cTZFOHNyN0lnamlQ?= =?utf-8?B?c0wrRVA4Y0ZSbWtBd0Jnd1hsMEpvZUF4L0d3MWR1cDFPM0g1c2NaZTVVNm9w?= =?utf-8?B?NDRXUjAyRlMxclE4b3l6WUFvZk4wcmVrTDcvUmVUc0d0NWVzZlIvZkV6c01J?= =?utf-8?B?OEJxNkJCZEwxY2NBZWJwaTQ5UStMcUhXcmlhbVpPZm5mSURYa2x1UEtpQTJh?= =?utf-8?B?RmhIL3VMKzdYdEpUNU53R1FQVE9GT2tTMFRLemw0WGlwOVpVU3ZUMk9QSFpR?= =?utf-8?B?Tlk1RW9tQ0x1Z2hwbmltTlhaemFlM3djRk5FbVl4WkFlcnFheFdoaE1DeFU0?= =?utf-8?B?UXB4TjlvaGVjT3Z3UWhleG5vS0ltN1VkUllIb2RpUk9jK1pDaTVDY2QrOFVP?= =?utf-8?B?Q1VsTWtraXg5azByNGt3b3ZLeTdsQWtRbGVaZkhGSHJvVWpCcWdiVXErZXNM?= =?utf-8?B?UnNieTRXWXlYeU4wQnZPYzZkVU8ydWhvM0pvS2Exc1Jad1JKVUxUMTZaQWZI?= =?utf-8?B?ZkU1eGJmNW1YNGljVWVyMmh6MVlaNjRnaXhRZzlTRlN5Q2xzSEM5ZjhDTDdJ?= =?utf-8?B?SXV4NzUyRHJmNjJzYXZ4RTdxNWROa1ZOeG0wcTgySG0zcndQY01TYXhPdUlV?= =?utf-8?B?VGtFblJmMm1kSHpiUkEwVWN4akVTNFNucjd1UGpCSkM2UUJRWE16SkVHL0xK?= =?utf-8?B?NHhXWUp6RlZjQk5BRDRRUEQyWmEwVXRhdkNGcTZSNzFtK3NzdTFTcERFOEIz?= =?utf-8?B?TmwxcDZHeDlvV1Q0d3ZKSi9jaElONWY4V2J6WlgwVHBwUUFMWWtzakdOblBS?= =?utf-8?B?dDFvcGdmbTZRaXE2WGg5MVROdVBieUtXNXhpcGRsWWREUUlJaE56NUVQVTZX?= =?utf-8?B?Uk5kaTJtRjd1ZEJmd2JwNEZnSDE1WkNIY3NFQ2lYQ1dHd3NuL3dEOGJkakxp?= =?utf-8?B?elg4bHBpQmxCYkpZREFadnhBOXlncjNZdHl0VkdMYlpMY2NRSzE0VTR2ZHc0?= =?utf-8?Q?n3ik9FGoQEbPQunH/Ynrik6EiLba8SjV6JDXQ=3D?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR10MB4344.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c262a0b9-654a-41d6-ef9f-08d9618e65ff X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Aug 2021 14:50:47.2485 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Tl14Pepao3K7VbRfw9DE+lFnTBH9nHK5n/iaVPKEORM7QXyawOiu5XvHztZtK5gqwuehVDkvZluRRHnh6U3ZPA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB4986 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10079 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 adultscore=0 mlxscore=0 malwarescore=0 mlxlogscore=999 spamscore=0 bulkscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2107140000 definitions=main-2108170091 X-Proofpoint-ORIG-GUID: Kq_D3QBj0ISn1ZJ2Z8ca3fZ-YdeNxgCC X-Proofpoint-GUID: Kq_D3QBj0ISn1ZJ2Z8ca3fZ-YdeNxgCC X-Spam-Status: No, score=-4.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_BL, RCVD_IN_MSPIKE_L3, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Aug 2021 14:51:28 -0000 DQoNCj4gT24gQXVnIDE3LCAyMDIxLCBhdCAzOjI5IEFNLCBSaWNoYXJkIEJpZW5lciA8cmd1ZW50 aGVyQHN1c2UuZGU+IHdyb3RlOg0KPiANCj4gT24gTW9uLCAxNiBBdWcgMjAyMSwgUWluZyBaaGFv IHdyb3RlOg0KPiANCj4+IE15IGN1cnJlbnQgY29kZSBmb3IgZXhwYW5kX0RFRkVSUkVEX0lOSVQg aXMgbGlrZSB0aGUgZm9sbG93aW5nLCBjb3VsZCB5b3UgY2hlY2sgYW5kIHNlZSB3aGV0aGVyIHRo ZXJlIGlzIGFueSBpc3N1ZSBmb3IgaXQ6DQo+PiANCj4+ICNkZWZpbmUgSU5JVF9QQVRURVJOX1ZB TFVFICAweEZFDQo+PiBzdGF0aWMgdm9pZA0KPj4gZXhwYW5kX0RFRkVSUkVEX0lOSVQgKGludGVy bmFsX2ZuLCBnY2FsbCAqc3RtdCkNCj4+IHsNCj4+ICB0cmVlIGxocyA9IGdpbXBsZV9jYWxsX2xo cyAoc3RtdCk7DQo+PiAgdHJlZSB2YXJfc2l6ZSA9IGdpbXBsZV9jYWxsX2FyZyAoc3RtdCwgMCk7 DQo+PiAgZW51bSBhdXRvX2luaXRfdHlwZSBpbml0X3R5cGUNCj4+ICAgID0gKGVudW0gYXV0b19p bml0X3R5cGUpIFRSRUVfSU5UX0NTVF9MT1cgKGdpbXBsZV9jYWxsX2FyZyAoc3RtdCwgMSkpOw0K Pj4gIGJvb2wgaXNfdmxhID0gKGJvb2wpIFRSRUVfSU5UX0NTVF9MT1cgKGdpbXBsZV9jYWxsX2Fy ZyAoc3RtdCwgMikpOw0KPj4gDQo+PiAgdHJlZSB2YXJfdHlwZSA9IFRSRUVfVFlQRSAobGhzKTsN Cj4+ICBnY2NfYXNzZXJ0IChpbml0X3R5cGUgPiBBVVRPX0lOSVRfVU5JTklUSUFMSVpFRCk7DQo+ PiANCj4+ICBpZiAoaXNfdmxhIHx8ICghdXNlX3JlZ2lzdGVyX2Zvcl9kZWNsIChsaHMpKSkNCj4+ ICAgIHsNCj4+ICAgICAgaWYgKFRSRUVfQ09ERSAobGhzKSA9PSBTU0FfTkFNRSkNCj4+ICAgICAg ICBsaHMgPSBTU0FfTkFNRV9WQVIgKGxocyk7DQo+IA0KPiB0aGlzIHNob3VsZCBub3QgYmUgbmVj ZXNzYXJ5IChpbiBmYWN0IHlvdSBzaG91bGRuJ3Qgc2VlIGEgU1NBX05BTUUNCj4gaGVyZSwgaWYg eW91IGRvIHRoZW4gdXNpbmcgU1NBX05BTUVfVkFSIGlzIHdyb25nKQ0KWW91IG1lYW4gZHVyaW5n IFJUTCBleHBhbnNpb24gcGhhc2UsIGFsbCBTU0FfTkFNRXMgYXJlIGdvbmUgYWxyZWFkeT8NCj4g DQo+PiAgICAvKiBJZiB0aGlzIGlzIGEgVkxBIG9yIHRoZSB2YXJpYWJsZSBpcyBub3QgaW4gcmVn aXN0ZXIsDQo+PiAgICAgICBleHBhbmQgdG8gYSBtZW1zZXQgdG8gaW5pdGlhbGl6ZSBpdC4gICov DQo+PiAgICAgIHRyZWUgdmFyX2FkZHIgPSBOVUxMX1RSRUU7DQo+PiAgICAgIGlmIChpc192bGEp DQo+PiAgICAgICAgdmFyX2FkZHIgPSBUUkVFX09QRVJBTkQgKGxocywgMCk7DQo+PiAgICAgIGVs c2UNCj4+ICAgICAgICB7DQo+PiAgICAgICAgICBUUkVFX0FERFJFU1NBQkxFIChsaHMpID0gMTsN Cj4+ICAgICAgICAgIHZhcl9hZGRyID0gYnVpbGRfZm9sZF9hZGRyX2V4cHIgKGxocyk7DQo+PiAg ICAgICAgfQ0KPiANCj4gdXNlLCBpbmRlcGVuZGVudCBvZiBpc192bGENCj4gDQo+ICAgICAgICAg bWFya19hZGRyZXNzYWJsZSAobGhzKTsNCj4gICAgICAgICB2YXJfYWRkciA9IGJ1aWxkX2ZvbGRf YWRkcl9leHByIChsaHMpOw0KT2theS4NCj4gDQo+PiANCj4+ICAgICAgdHJlZSB2YWx1ZSA9IChp bml0X3R5cGUgPT0gQVVUT19JTklUX1BBVFRFUk4pID8NCj4+ICAgICAgICAgICAgICAgICAgICBi dWlsZF9pbnRfY3N0ICh1bnNpZ25lZF9jaGFyX3R5cGVfbm9kZSwNCj4+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJTklUX1BBVFRFUk5fVkFMVUUpIDoNCj4+ICAgICAgICAgICAg ICAgICAgICBidWlsZF96ZXJvX2NzdCAodW5zaWduZWRfY2hhcl90eXBlX25vZGUpOw0KPiANCj4g c2luY2UgbWVtc2V0IGhhcyBhbiBpbnRlZ2VyIGFyZ3VtZW50IGZvciB0aGUgdmFsdWUgdXNlDQo+ IGludGVnZXJfemVyb19ub2RlIGZvciB0aGUgemVybyBjYXNlIGFuZCBidWlsZF9pbnRfY3N0IChp bnRlZ2VyX3R5cGVfbm9kZSwgDQo+IC4uLikgZm9yIHRoZSBwYXR0ZXJuIGNhc2UNCg0KT2theS4N Cg0KPiANCj4+ICAgICAgdHJlZSBtX2NhbGwgPSBidWlsZF9jYWxsX2V4cHIgKGJ1aWx0aW5fZGVj bF9pbXBsaWNpdCAoQlVJTFRfSU5fTUVNU0VUKSwNCj4+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDMsIHZhcl9hZGRyLCB2YWx1ZSwgdmFyX3NpemUpOw0KPj4gICAgICAvKiBF eHBhbmQgdGhpcyBtZW1zZXQgY2FsbC4gICovDQo+PiAgICAgIGV4cGFuZF9idWlsdGluX21lbXNl dCAobV9jYWxsLCBOVUxMX1JUWCwgVFlQRV9NT0RFICh2YXJfdHlwZSkpOw0KPj4gICAgfQ0KPj4g IGVsc2UNCj4+ICAgIHsNCj4+ICAgIC8qIElmIHRoaXMgdmFyaWFibGUgaXMgaW4gYSByZWdpc3Rl ciwgdXNlIGV4cGFuZF9hc3NpZ25tZW50IG1pZ2h0DQo+PiAgICAgICBnZW5lcmF0ZSBiZXR0ZXIg Y29kZS4gICovDQo+PiAgICAgIHRyZWUgcGF0dGVybiA9IE5VTExfVFJFRTsNCj4+ICAgICAgdW5z aWduZWQgSE9TVF9XSURFX0lOVCB0b3RhbF9ieXRlcw0KPj4gICAgICAgID0gdHJlZV90b191aHdp IChUWVBFX1NJWkVfVU5JVCAodmFyX3R5cGUpKTsNCj4+IA0KPj4gICAgICBpZiAoaW5pdF90eXBl ID09IEFVVE9fSU5JVF9QQVRURVJOKQ0KPj4gICAgICAgIHsNCj4+ICAgICAgICAgIGlmIChjYW5f bmF0aXZlX2ludGVycHJldF90eXBlX3AgKHZhcl90eXBlKSkNCj4+ICAgICAgICAgICAgew0KPj4g ICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKmJ1ZiA9ICh1bnNpZ25lZCBjaGFyICopIHhtYWxs b2MgKHRvdGFsX2J5dGVzKTsNCj4+ICAgICAgICAgICAgICBtZW1zZXQgKGJ1ZiwgSU5JVF9QQVRU RVJOX1ZBTFVFLCB0b3RhbF9ieXRlcyk7DQo+PiAgICAgICAgICAgICAgcGF0dGVybiA9IG5hdGl2 ZV9pbnRlcnByZXRfZXhwciAodmFyX3R5cGUsIGJ1ZiwgdG90YWxfYnl0ZXMpOw0KPj4gICAgICAg ICAgICAgIGdjY19hc3NlcnQgKHBhdHRlcm4pOw0KPj4gICAgICAgICAgICB9DQo+PiAgICAgICAg ICBlbHNlDQo+PiAgICAgICAgICAgIHsNCj4+ICAgICAgICAgICAgICB0cmVlIGluZGV4X3R5cGUg PSBidWlsZF9pbmRleF90eXBlIChzaXplX2ludCAodG90YWxfYnl0ZXMgLSAxKSk7DQo+PiAgICAg ICAgICAgICAgdHJlZSBhcnJheV90eXBlID0gYnVpbGRfYXJyYXlfdHlwZSAodW5zaWduZWRfY2hh cl90eXBlX25vZGUsDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaW5kZXhfdHlwZSk7DQo+PiAgICAgICAgICAgICAgdHJlZSBlbGVtZW50ID0gYnVp bGRfaW50X2NzdCAodW5zaWduZWRfY2hhcl90eXBlX25vZGUsDQo+PiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSU5JVF9QQVRURVJOX1ZBTFVFKTsNCj4+ICAgICAg ICAgICAgICB2ZWM8Y29uc3RydWN0b3JfZWx0LCB2YV9nYz4gKmVsdHMgPSBOVUxMOw0KPj4gICAg ICAgICAgICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgdG90YWxfYnl0ZXM7IGkrKykN Cj4+ICAgICAgICAgICAgICAgIENPTlNUUlVDVE9SX0FQUEVORF9FTFQgKGVsdHMsIE5VTExfVFJF RSwgZWxlbWVudCk7DQo+PiAgICAgICAgICAgICAgcGF0dGVybiA9IGJ1aWxkX2NvbnN0cnVjdG9y IChhcnJheV90eXBlLCBlbHRzKTsNCj4+ICAgICAgICAgICAgICBwYXR0ZXJuID0gYnVpbGQxIChW SUVXX0NPTlZFUlRfRVhQUiwgdmFyX3R5cGUsIHBhdHRlcm4pOw0KPj4gICAgICAgICAgICB9DQo+ PiAgICAgICAgfQ0KPj4gDQo+PiAgICAgIHRyZWUgaW5pdCA9IChpbml0X3R5cGUgPT0gQVVUT19J TklUX1BBVFRFUk4pID8NCj4+ICAgICAgICAgICAgICAgICAgIHBhdHRlcm4gOg0KPj4gICAgICAg ICAgICAgICAgICAgYnVpbGRfemVyb19jc3QgKHZhcl90eXBlKTsNCj4gDQo+IG1heWJlIGNvbmRp dGlvbmFsbHkgaW5pdGlhbGl6ZSBpbml0IGluc3RlYWQgb2YgcGF0dGVybiBhbmQgaW5pdD8NCj4g VGh1cyByZXBsYWNlIHBhdHRlcm4gYnkgaW5pdCBhbmQgZG8NCj4gDQo+ICAgICAgICBlbHNlDQo+ ICAgICAgICAgIGluaXQgPSBidWlsZF96ZXJvX2NzdCAodmFyX3R5cGUpOw0KDQpZb3UgbWVhbiB0 aGUgZm9sbG93aW5nOg0KDQoNCnRyZWUgaW5pdCA9IHBhdHRlcm47DQpJZiAoaW5pdF90eXBlICE9 IEFVVE9fSU5JVF9QQVRURVJOKQ0KICBJbml0ID0gYnVpbGRfemVyb19jc3QgKHZhcl90eXBlKTsN Cg0KT3Igc29tZXRoaW5nIGVsc2U/DQoNCj4gDQo+IA0KPiB0aGUgYWJvdmUgc2hvdWxkIHdvcmss IGFzIHNhaWQgdGhlIFJUTCBleHBhbnNpb24gcGFydCBjYW4gcG9zc2libHkNCj4gYmUgaW1wcm92 ZWQgYnV0IHdlIGNhbiBkbyB0aGlzIGFzIGZvbGxvd3VwIGFzIHdlbGwuDQoNCk9rYXkuDQoNClFp bmcNCj4gDQo+PiAgICAgIGV4cGFuZF9hc3NpZ25tZW50IChsaHMsIGluaXQsIGZhbHNlKTsNCj4+ ICAgIH0NCj4+IH0NCj4+IA0KPj4gVGhhbmtzLg0KPj4gDQo+PiBRaW5nDQo+PiANCj4+IA0KPj4g DQo+PiANCj4gDQo+IC0tIA0KPiBSaWNoYXJkIEJpZW5lciA8cmd1ZW50aGVyQHN1c2UuZGU+DQo+ IFNVU0UgU29mdHdhcmUgU29sdXRpb25zIEdlcm1hbnkgR21iSCwgTWF4ZmVsZHN0cmFzc2UgNSwg OTA0MDkgTnVlcm5iZXJnLA0KPiBHZXJtYW55OyBHRjogRmVsaXggSW1lbmTDtnJmZmVyOyBIUkIg MzY4MDkgKEFHIE51ZXJuYmVyZykNCg0K