From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id C397C392AC0D for ; Tue, 28 Jun 2022 15:03:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C397C392AC0D Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 25SF16wM022510; Tue, 28 Jun 2022 15:03:16 GMT Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3gwry0eeym-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 28 Jun 2022 15:03:15 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 25SF1RDr039367; Tue, 28 Jun 2022 15:03:15 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2046.outbound.protection.outlook.com [104.47.66.46]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com with ESMTP id 3gwrt1xpy0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 28 Jun 2022 15:03:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XWWaidkLX66KA8TGEMJQFSf0tuYBvsrwKNpYA0vlo/DNMy0W6XA8+s9Xn9R3tLMvh15rCVmUy7/n+jOMB0BzYD/DC0ui8YZEydJthxJrnkUUpweRNRR0KlheeC0aDTG0K8MzmZ/VDNZt4dDtb8YoS81tmzhY8/5RG5oYnTW1AQ2cLNTidTNYsoFCfmAthTZuuFqamWxMKAQ1U6tBb83UGEgy+C+X4i+j2GZQ1jnUG7W8Lqj52Wbto5sXeczp2aIaQkK+artlHgn19CJZHMzwzE+YryB8wur5HEFuqv9+FXkYTWPGoah4KzKJD7SLCo993Pz2fphZBj0EzleWRJpQBQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=P7O5XvFF9bTW01Xq6rL39rkhRdqdvYp94SZGBx8K1lA=; b=cQdcy8FlI4tzqmRIp7VtQ8qj1VlolNlEh9USkAeMAo3vxEWgDGuFDKvqIhgxasuUUyalXXnCbQz16TlyRzIwJ25xLQjSzYSisk50GGFeVYYF0xIy+nt/SDcKRctZNxNWe5sIkHH9ON3q/uqBQss2EtRm2qRp+Ak0DOc7V+nB5wRnSms9F5XXVs9FwGwYITRudagjTuatKt8bY8IGS0iN3OO7Y/MHG2eALJHTtWzYE0Iz0ttQ6yva33osEnjQqbNhEmOAxXfSX+tPwKxJk5UXxGMntHgsw9Hc4zDlZLvrLJ6fnIlqYD9p+DASn5G51UlpBD6YH1BDf1RX3SuOIaR66A== 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 DM6PR10MB4058.namprd10.prod.outlook.com (2603:10b6:5:1d6::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.17; Tue, 28 Jun 2022 15:03:13 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::2d14:50e4:3bb:4e30]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::2d14:50e4:3bb:4e30%9]) with mapi id 15.20.5373.018; Tue, 28 Jun 2022 15:03:12 +0000 From: Qing Zhao To: Richard Biener CC: Jakub Jelinek , gcc-patches Paul A Clarke via , kees Cook , Martin Sebor Subject: Re: [GCC 13][PATCH] PR101836: Add a new option -fstrict-flex-array[=n] and use it in __builtin_object_size Thread-Topic: [GCC 13][PATCH] PR101836: Add a new option -fstrict-flex-array[=n] and use it in __builtin_object_size Thread-Index: AQHYijDoIYnVra++TU2IvHpSLMV5Da1kaY2AgACCboA= Date: Tue, 28 Jun 2022 15:03:12 +0000 Message-ID: <5281C7CE-2677-4FE3-8ED3-C5B378685DCB@oracle.com> References: <45936DE9-4099-4ED2-8B2B-6956A2FB493D@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: d212c375-298b-4f86-c9fe-08da5917527d x-ms-traffictypediagnostic: DM6PR10MB4058:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: UMAL0eTTPJ5CUMVs+i/PSKxQdS1FmEviqxrC/Du6Ys6+1wi8XKqFPLDJhgs4RmdPsew3QLdhOgejYMV1jUjRVOUCT5LWKTBU7bBtdi7Ji44gyg41HeZ+ANSh7vG7amy21ed8ePxkF9fr/uS+yxmQ1s0L8E8l4ikIY2Vv9kb2UUWfHSCp/tJJGQ1ORbP6R2BZpxVVvlL5Zd9iMKrSw3NbP43qSyGO4aHYF+4XM03RtR9XXzHtizq9aV1r02ICGAcHFkBhdQt3DbUIAAGLg9D3YUmqk6jap7lxYRpyAB+fKaBdbaJGh6qKflhgyzYuRYhPXKF183k63IDhlGkIP2ESe+VE3wdkd3wCyKNdHBjUOuKjdknVthnIEyiduO0eho4EExQRuq2CK5D5Z0mKcfdXWx8TU6yNXhs1F0bTrI/M+DOGBreV+cZDdk9AfgCTxcxE9ifZmHFZ5daplebRMQcBQJrpxDZzUl+KOOLhiQAv21ZEy9hilo+Y8wpW2AmMVzZCOsjreCjQJVTCypYLjNdD49l0IE1kFfVAAma/qhQlzlhvdSrbcrsZ05Mes9dLhA/q99Cxec8JW7NtjoK9+Nm3UIYv7BK/QCFt5RAa3H57tU/xSZkp0QqNmBbtu+QNjAHnHCCxgOovAM8GCHJeK03OlBVNHKFk/1/zrORH8g9vde6MYVJujgevjfHWHZzs/Zb2AVhBNobHWNCPCkiGS/HDa6V2LeUS/KXewhmAHmhZKMQc/S5SuVoB9MFRmxBh5d+vLDC3WAsPI8KdWmdIhQAe/r/Dbj28MW1wAH4IoBSaugrAfCZOEwRTBUBJxm+p/JjqGrYUM3FsQ8iV9IOSmmbekniFaQX8y45JJiEPWIhutn6yz/3pa6wOshk3hS6W+d3AdUTS3dZBV+g97qR515woBA== 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:(13230016)(366004)(346002)(376002)(396003)(136003)(39860400002)(6486002)(2906002)(6512007)(66446008)(71200400001)(84970400001)(41300700001)(2616005)(38100700002)(8676002)(4326008)(44832011)(186003)(66946007)(8936002)(76116006)(86362001)(38070700005)(64756008)(122000001)(6506007)(6916009)(54906003)(5660300002)(66476007)(83380400001)(53546011)(66556008)(478600001)(91956017)(36756003)(316002)(33656002)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dGJnRTdkTldhM0t6TlFBL2IvM3VWYktyelRRRERKTGdLNXBlRWJtTTBEVDY1?= =?utf-8?B?RDUxeStKWXEwTlR0VW5VQnZIWHdqL1RmQ05VVS9zMUlta3hEUTB4VXozL2hM?= =?utf-8?B?NEpTOTd0SDNCZlRYS3o1OGJ0MGVyQlJSeW9pR3ZHN0taREFnVDZBeU1oL3Ra?= =?utf-8?B?VC9UVWhiMmdFbk1aSjZ4MHJsN1BZOXpCVVFzVnlYaWFESTNTWmc1V2xBOThF?= =?utf-8?B?aHEvYy9laEpFRytNZlcvOFpxVkJFYWVUZlRvN2VKbi92YnN6TGZTeW1Uc2pt?= =?utf-8?B?TDI0Wlk3OHJXM2tiZE12cFFTQXozN0hCdy80R1BHcVV3bkFWNkhtWklDTyt1?= =?utf-8?B?b1M5RFRvaS8vYzVTYXIrMkxqR2lmVGUzRG81b0Y0SnN5Zml4cktMUE5nL2o4?= =?utf-8?B?dEZGa2tWQURKaVUvK1JacFFrZU9UVVBUL01iS2syejhLR2JlM2V3ZjVHWU8y?= =?utf-8?B?QlI2clhRUWpyeE9zSGducjh1NjFZL1NMdkNqdHZ5b1V6Mm5XbkpzVFE3TGVZ?= =?utf-8?B?ZTZ5NjZaeUprOFNoNm5Ud3BpUHJPKzViWDZ2U3ByWHhqVXFqTXZYbUMrS2Rl?= =?utf-8?B?Qi93UkhQMEd6Tk1kVkZndFNzOCtscDd2Z2Fvd0ZSbkdIbmpHbmwxWHUvZW9B?= =?utf-8?B?OXJWSWc4bFR5L3FYTmQxd2p6UVlYc0JlOEUxS09KRWpJM1lnR2Fhak5wNXpZ?= =?utf-8?B?U2swaGo2NFo4Z3gwTDBzcGhMSld3Z3Q3akdRSmRtVytzNkpTSHNybVY5Nm85?= =?utf-8?B?RTZLUnh6ZlQzMmd0c3BZL09TSzVOQkRTdWtSQXArOWF4a0prUmJIdDVlaXhs?= =?utf-8?B?TUVRM0FYcGJXUS81OVl2dnRIRyswN2ZycnRGMkRHT2s0UkN6Smk0Q1B6RFNv?= =?utf-8?B?Rm12c2VUTytEMThUNDMzMCtOTElma3Uvbk1JUHBGd1MydkVqMk40M1I1L0pV?= =?utf-8?B?MHE3eC93cGJ3bmJuekQ1Z1pBVWNWZ2NXVVdLRUdNQy9vV2xzU2RuZFhvVGZP?= =?utf-8?B?eUZ3anZIZnVtZUdPSUkrMDhGREEvUFd1S3BQcm0zOE5QNU1mNkI2VHRPTDR2?= =?utf-8?B?dUY3UEFzQitpc0w2OFEzQlc4Ujd1bkFMNWhFd2NoR1o1aEhGa25SaEhZQXRm?= =?utf-8?B?YW1LZTY3NmVmSXYzV1kvcDZ0dXVOaGhQYndWeUNSRFZpM3k1bGlTeGhFeUw2?= =?utf-8?B?TTcybEFKVnh3TGo1Tkp6VmkwRWd3NTJpN0E2a3ZtcDFlUTJ4UnFjSDFVR1Rk?= =?utf-8?B?ekNGQkJBV2QvN1l6MndFT0RCc3NwRFJ5cHdmVmh1RmxlbEdyMTJKWnJZcy9B?= =?utf-8?B?NzhubmRUNGVLVG5sK2RtM28rYnJqQkoxZGtTcS9oT0R2K3ZlblZVMnV4SnFW?= =?utf-8?B?UWdXaEhGU3YvU2w5dkI2NEorcXV0Zm95QVFCOGx3Rk1lZC96NW9XcElGTHJS?= =?utf-8?B?U2h3Qm80ZE03R2kxbmEwUkQ5dHU4UlpRbWg0VHlQTXNZRHd3K1duRmJJQkRJ?= =?utf-8?B?em9EYmdoOFE2ZlZmM0cyWjZGVDdJdDR0Mk9qNkNUdVNCeGNmNFo2RUY1UmNO?= =?utf-8?B?d3g5eFVNVzZJZTdCWFVQSkI1MWl5S3NTdWo5VWhaUEF0QzRSQThHd3lxZERR?= =?utf-8?B?SVhwYVM1S05rSXNIZExmbHhRNm90OEhqazY2cmdBSHBWZytGd0VFckY3b3hC?= =?utf-8?B?cFc3bjlNT0toc2l3dzB4aVRwQUhWUmlhUi9jVkVuV3haV3RoZGppR1hJVCs1?= =?utf-8?B?aEY2TjJiV0JpcHE2c2dRd2ErNmFQYTFETWJkUWpQOGFHbklTV0VIYUk4TjY2?= =?utf-8?B?b2lvbUlyUVU1WG13M1UyTVB6M25ERXFDdTErQ2NzcjhWYXdZM3l6U2F5VVlj?= =?utf-8?B?YUVabnFJblB0NGpJUnl0WmgzZ05Xc0RUa1N1a2J6WkVTOG5POVF6S0RCUUI0?= =?utf-8?B?Q2MzZy9wN0xVVmNkU1ZVVmF5akFNb3M2MU9lTmdRS3B1L2YyaDNNMFFjNnpt?= =?utf-8?B?Rzh0RFNidTN4RG82L1kzUThnOXRTQWcrc2s5TVpMNnZSdTJ5d3Z1Zjhpa2Zm?= =?utf-8?B?MnB1UG0yQzBRdHRLd3pablo0TkxlU1FzbFk3NU9EYnE2Sm81bm1qZTZvTVRV?= =?utf-8?B?L0tzZDhpVWx5ZitFc0pEK0dxRndEM01GTThlcEpnQWV1MkZ3NVJmK2UzQmFr?= =?utf-8?Q?bWmnNgknnfKo7ux4TqSOOA0=3D?= 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: d212c375-298b-4f86-c9fe-08da5917527d X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jun 2022 15:03:12.8973 (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: g0IG4rkoWoLcICkZgWOh/Ei4VXWTGbP+8LJv5lBCfljAAbpWEEngReBfryE3c3MBKPfiW1GqklQNZxKfPcSdig== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR10MB4058 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.517, 18.0.883 definitions=2022-06-28_07:2022-06-28, 2022-06-28 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 spamscore=0 bulkscore=0 phishscore=0 mlxlogscore=999 adultscore=0 mlxscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2204290000 definitions=main-2206280062 X-Proofpoint-GUID: suldlYAEcIqiHCXGHBrayMTizMDl0xdo X-Proofpoint-ORIG-GUID: suldlYAEcIqiHCXGHBrayMTizMDl0xdo X-Spam-Status: No, score=-5.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) 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, 28 Jun 2022 15:03:29 -0000 SGksIFJpY2hhcmQsDQoNCg0KPiBPbiBKdW4gMjgsIDIwMjIsIGF0IDM6MTYgQU0sIFJpY2hhcmQg QmllbmVyIDxyaWNoYXJkLmd1ZW50aGVyQGdtYWlsLmNvbT4gd3JvdGU6DQo+IA0KPiBPbiBNb24s IEp1biAyNywgMjAyMiBhdCA0OjIwIFBNIFFpbmcgWmhhbyB2aWEgR2NjLXBhdGNoZXMNCj4gPGdj Yy1wYXRjaGVzQGdjYy5nbnUub3JnPiB3cm90ZToNCj4+IA0KPj4gSGksDQo+PiANCj4+IFBlciBv dXIgZGlzY3Vzc2lvbiBpbiB0aGUgYnVnIHJlcG9ydCwgSSBjYW1lIHVwIHdpdGggdGhlIGZvbGxv d2luZyBwYXRjaDoNCj4+IA0KPj4gPT09PT09PQ0KPj4gDQo+PiBQUjEwMTgzNjogQWRkIGEgbmV3 IG9wdGlvbiAtZnN0cmljdC1mbGV4LWFycmF5Wz1uXQ0KPj4gDQo+PiBBZGQgdGhlIG5ldyBvcHRp b24gYW5kIHVzZSBpdCBpbiBfX2J1aWx0aW5fb2JqZWN0X3NpemUuDQo+PiANCj4+IFRyZWF0IHRo ZSB0cmFpbGluZyBhcnJheSBvZiBhIHN0cnVjdHVyZSBhcyBhIGZsZXhpYmxlIGFycmF5IG1lbWJl ciBpbiBhDQo+PiBzdHJpY3RlciB3YXkuICBUaGUgdmFsdWUgb2YgJ24nIGNvbnRyb2xzIHRoZSBs ZXZlbCBvZiBzdHJpY3RuZXNzLg0KPj4gJ24nPTAgaXMgdGhlIGxlYXN0IHN0cmljdCwgYWxsIHRy YWlsaW5nIGFycmF5cyBvZiBzdHJ1Y3R1cmVzIGFyZSB0cmVhdGVkDQo+PiBhcyBmbGV4aWJsZSBh cnJheSBtZW1iZXJzOyBUaGlzIGlzIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIEdDQyB3aXRob3V0 IHNwZWNpZnkNCj4+IHRoaXMgb3B0aW9uLg0KPj4gJ24nPTMgaXMgdGhlIHN0cmljdGVzdCwgb25s eSB3aGVuIHRoZSB0cmFpbGluZyBhcnJheSBpcyBkZWNsYXJlZCBhcyBhDQo+PiBmbGV4aWJsZSBh cnJheSBtZW1iZXIgcGVyIEM5OSBzdGFuZGFyZCBvbndhcmRzIChbXSksIGl0IGlzIHRyZWF0ZWQg YXMgYQ0KPj4gZmxleGlibGUgYXJyYXkgbWVtYmVyOw0KPj4gVGhlcmUgYXJlIHR3byBtb3JlIGxl dmVscyBpbiBiZXR3ZWVuIDAgYW5kIDMsIHdoaWNoIGFyZSBwcm92aWRlZCB0byBzdXBwb3J0DQo+ PiBvbGRlciBjb2RlcyB0aGF0IHVzZSBHQ0MgemVyby1sZW5ndGggYXJyYXkgZXh0ZW5zaW9uIChb MF0pLCBvciBvbmUtc2l6ZSBhcnJheSBhcw0KPj4gZmxleGlibGUgYXJyYXkgbWVtYmVyIChbMV0p Og0KPj4gV2hlbiAnbicgaXMgMSwgdGhlIHRyYWlsaW5nIGFycmF5IGlzIHRyZWF0ZWQgYXMgYSBm bGV4aWJsZSBhcnJheSBtZW1iZXINCj4+IHdoZW4gaXQgaXMgZGVjbGFyZWQgYXMgZWl0aGVyIFtd LCBbMF0sIG9yIFsxXTsNCj4+IFdoZW4gJ24nIGlzIDIsIHRoZSB0cmFpbGluZyBhcnJheSBpcyB0 cmVhdGVkIGFzIGEgZmxleGlibGUgYXJyYXkgbWVtYmVyDQo+PiB3aGVuIGl0IGlzIGRlY2xhcmVk IGFzIGVpdGhlciBbXSwgb3IgWzBdLg0KPj4gDQo+PiBUaGVyZSBhcmUgb3RoZXIgcGxhY2VzIGlu IEdDQyB0aGF0IGNvbnNlcnZhdGl2ZWx5IHRyZWF0IGZsZXhpYmxlIGFycmF5IG1lbWJlcnMuDQo+ PiBBIGZvbGxvdy11cCBwYXRjaCB3aWxsIG1ha2UgLWZ0cmljdC1mbGV4LWFycmF5IG9wdGlvbiB0 byBjb250cm9sIGFsbCB0aGVzZQ0KPj4gcGxhY2VzIGNvbnNpc3RlbnRseS4NCj4+IA0KPj4gQm9v dHN0cmFwcGVkIGFuZCByZWdyZXNzaW9uIHRlc3RlZCBvbiBib3RoIFg4NiBhbmQgYWFyY2g2NCwg bm8gaXNzdWVzLg0KPj4gDQo+PiBBbnkgY29tbWVudCBhbmQgc3VnZ2VzdGlvbj8NCj4gDQo+IFNp bmNlIHRoaXMgYWltcyBhdCB0aGUgQyBvciBDKysgZnJvbnRlbmRzIGJ1dCB0aGUgbWlkZGxlLWVu ZCBldmVudHVhbGx5IGNvbnN1bWVzDQo+IHRoaXMgaXQgd291bGQgYmUgbXVjaCBuaWNlciB0byBl bmNvZGUgdGhpcyBpbiB0aGUgdHlwZXMgdGhlbXNlbHZlcy4NCg0KWWVzLCBJIGFncmVlLiANCg0K TGV0IHRoZSBDL0MrKyBGRSB0byBkZWNpZGUgd2hldGhlciB0aGUgWzBdLCBbMV0sIG9yIFtdIHRy YWlsaW5nIGFycmF5IGZpZWxkIG9mIA0KYSBzdHJ1Y3R1cmUgaXMgYSBmbGV4IGFycmF5IG1lbWJl ciBvciBub3QgYmFzZWQgb24gdGhlIG9wdGlvbiAtZnN0cmljdC1mbGV4LWFycmF5IGFuZA0KdGhl biBlbmNvZGUgc3VjaCBpbmZvIGluIHRoZSBGSUVMRF9ERUNMIGFzIGZsYWcgREVDTF9OT1RfRkxF WEFSUkFZLiANCg0KTGF0ZXIsIHRoZSBtaWRkbGUgZW5kIGp1c3QgY2hlY2sgdGhlIGZsYWcgREVD TF9OT1RfRkxFWEFSUkFZIG9mIHRoZSBGSUVMRF9ERUNMDQp0byBkZWNpZGUgd2hldGhlciB0aGUg dHJhaWxpbmcgYXJyYXkgaXMgZmxleGlibGUgYXJyYXkgb3Igbm90LiANCg0KVGhpcyB3aWxsIGVs aW1pbmF0ZSBhbGwgdGhlIGhhY2tzIGluIHRoZSBtaWRkbGUtZW5kIChhcyB5b3UgbWVudGlvbmVk LCBhcnJheV9hdF9zdHJ1Y3RfZW5kX3AsIA0KYW5kIOKAnHRyYWlsaW5nX2FycmF54oCdLCBldGMs IGFuZCB0aGVyZSBhcmUgcXVpdGUgc29tZSBwaGFzZXMgdXNlIHRoaXMgcm91dGluZSB0byBxdWVy eSwgYW5kIGluDQphbiBpbi1jb25zaXN0ZW50IHdheSkNCg0KPiBTaW5jZSB0aGUgbGVhc3QNCj4g c3RyaWN0IHJlYWRpbmcgaXMgdGhlIGRlZmF1bHQgcmlnaHQgbm93IGl0IHdvdWxkIGJlIGEgZmxh ZyAob24gdGhlDQo+IEZJRUxEX0RFQ0wgSSBzdXBwb3NlKQ0KPiBsaWtlIERFQ0xfTk9UX0ZMRVhB UlJBWSBvciBERUNMX0ZJWEVEX1NJWkU/ICBBbHRlcm5hdGl2ZWx5IHRoZSBmbGFnIGNvdWxkDQo+ IGFsc28gYmUgb24gdGhlIHJlY29yZCB0eXBlIGVuY2xvc2luZyB0aGUgdHJhaWxpbmcgYXJyYXkg bWVtYmVyIChidXQNCj4gdHlwZSBzaGFyaW5nIG1pZ2h0DQo+IG1ha2UgdGhpcyBtb3JlIGRpZmZp Y3VsdCBpbiB0aGUgZW5kKS4NCj4gDQo+IFRoZXJlJ3MgYWxzbyBhcnJheV9hdF9zdHJ1Y3RfZW5k X3Agd2hpY2ggaXMgc3VwcG9zZWQgdG8gYmUgdGhlIG1haW4NCj4gcXVlcnkgaW50ZXJmYWNlDQo+ IGZvciB0aGlzIChidXQgaXQgc2VlbXMgcGVvcGxlIHNuZWFrZWQgaW4gbW9yZSB2YXJpYW50cyB3 aXRoIGV2ZW50dWFsbHkNCj4gZGlmZmVyZW50IHNlbWFudGljcyAuLi4gOi8pDQoNClllcywgdGhl cmUgYXJlIG1hbnkgcGxhY2VzIHJpZ2h0IG5vdyB0aGF0IHF1ZXJ5IOKAnGFycmF5X2F0X3N0cnVj dF9lbmRfcOKAnSwgSSB3YXMgcGxhbm5pbmcgYSBmb2xsb3ctdXANCnBhdGNocyB0byByZXBsYWNl IGFsbCDigJxhcnJheV9hdF9zdHJ1Y3RfZW5kX3DigJ0gd2l0aCBpc19mbGV4aWJsZV9hcnJheV9w LiBJIGd1ZXNzIHRoYXQgdGhpcyBmb2xsb3ctdXAgcGF0Y2ggDQp3aWxsIHRha2UgcXVpdGUgc29t ZSB0aW1lIHRvIGZpbmlzaC4gDQoNClNvLCBteSBuZXh0IHN0ZXA6DQoNCjEuIFVwZGF0ZSB0aGlz IGN1cnJlbnQgcGF0Y2ggcGVyIHlvdXIgc3VnZ2VzdGlvbiBhYm92ZSwgaS5lLCANCg0KICAgIEEu IEFkZCBhIG5ldyBmbGFnIChERUNMX05PVF9GTEVYQVJSQVkpICBpbiBGSUVMRF9ERUNMLCBkZWZh dWx0IGlzIEZBTFNFOw0KICAgIEIuIEluIEMvQysrIEZFLCAgZm9yIGEgdHJhaWxpbmcgYXJyYXkg ZmllbGQgb2YgYSBzdHJ1Y3R1cmUsICBkZWNpZGUgREVDTF9OT1RfRkxFWEFSUkFZIGZsYWcgYXMg Zm9sbG93aW5nOg0KICAgICAgICBMZXZlbCAxOiAgYW55IHRyYWlsaW5nIGFycmF5IHRoYXQgaXMg Tk9UIFswXSwgWzFdLCBbXSwgREVDTF9OT1RfRkxFWEFSUkFZIGlzIFRSVUU7DQogICAgICAgIExl dmVsIDI6ICBhbnkgdHJhaWxpbmcgYXJyYXkgdGhhdCBpcyBOT1QgWzBdLCBbXSwgREVDTF9OT1Rf RkxFWEFSUkFZIGlzIFRSVUU7IA0KICAgICAgICBMZXZlbCAzOiAgYW55IHRyYWlsaW5nIGFycmF5 IHRoYXQgaXMgbm90IFtdLCBERUNMX05PVF9GTEVYQVJSQVkgaXMgVFJVRQ0KICAgIEMuIFVzZSBE RUNMX05PVF9GTEVYQVJSQVkgaW4gdHJlZS1vYmplY3Qtc2l6ZS5jICBmb3IgX19idWlsdGluX29i amVjdF9zaXplIHRvIHJlc29sdmUgYnVnIFBSMTAxODM2Lg0KDQoyLiBUaGVuIHJlcGxhY2UgYWxs IOKAnGFycmF5X2F0X3N0cnVjdF9lbmRfcOKAnSB3aXRoIHVzaW5nIERFQ0xfTk9UX0ZMRVhBUlJB WSBpbiBHQ0MsIGFkZGluZyBuZXcgdGVzdGluZyBjYXNlcw0KRm9yIGRpZmZlcmVudCBwaGFzZXMg d2l0aCBkaWZmZXJlbnQgbGV2ZWwsIHJlc29sdmluZyBhbGwgcmVncmVzc2lvbnMuIA0KDQoNCkkg cGxhbiBzZXBhcmF0ZSBwYXRjaGVzIGZvciAxIGFuZCAyLiAgQ29tbWl0IDEgZmlyc3QgdG8gZW5h YmxlIGtlcm5lbCB3b3JrIGFzIHNvb24gYXMgcG9zc2libGUuIFRoZW4gY29udGludWUgd29ya2lu Zw0Kb24gMiB0byBtYWtlIEdDQyBjb25zaXN0ZW50IGluIGdjYzEzLiANCg0KTGV0IG1lIGtub3cg aWYgeW91IGhhdmUgYW55IHN1Z2dlc3Rpb24gb3IgY29tbWVudC4NCg0KVGhhbmtzDQoNClFpbmcN CgkgDQoNCg0KPiANCj4gUmljaGFyZC4NCj4gDQo+IA0KPiANCj4+IE9rYXkgZm9yIGNvbW1pdCB0 byBHY2MxMz8NCj4+IA0KPj4gdGhhbmtzLg0KPj4gDQo+PiBRaW5nDQo+PiANCj4+ID09PT09PT09 PT09PT09PT09PT09PT09DQo+PiANCj4+IGdjYy8NCj4+IA0KPj4gICAgICAgUFIgdHJlZS1vcHRp bWl6YXRpb24vMTAxODM2DQo+PiAgICAgICAqIGNvbW1vbi5vcHQgKGZzdHJpY3QtZmxleC1hcnJh eSwgZnN0cmljdC1mbGV4LWFycmF5PSk6IE5ldyBvcHRpb25zLg0KPj4gICAgICAgKiBkb2MvaW52 b2tlLnRleGkgKC1mc3RyaWN0LWZsZXgtYXJyYXksIC1mc3RyaWN0LWZsZXgtYXJyYXk9KTogRG9j dW1lbnQuDQo+PiAgICAgICAqIHRyZWUtb2JqZWN0LXNpemUuY2MgKGFkZHJfb2JqZWN0X3NpemUp OiBDYWxsIGlzX2ZsZXhpYmxlX2FycmF5X3AgdG8NCj4+ICAgICAgIGNoZWNrIHdoZXRoZXIgYW4g YXJyYXkgaXMgYSBmbGV4aWJsZSBhcnJheS4NCj4+ICAgICAgICogdHJlZS5jYyAoc3BlY2lhbF9h cnJheV9tZW1iZXJfdHlwZSk6IE5ldyByb3V0aW5lLg0KPj4gICAgICAgKGlzX2ZsZXhpYmxlX2Fy cmF5X3ApOiBOZXcgcm91dGluZS4NCj4+ICAgICAgIChjb21wb25lbnRfcmVmX3NpemUpOiBDYWxs IHNwZWNpYWxfYXJyYXlfbWVtYmVyX3R5cGUgdG8gZGVjaWRlIHRoZQ0KPj4gICAgICAgdHlwZSBv ZiBzcGVjaWFsIGFycmF5IG1lbWJlci4NCj4+ICAgICAgICogdHJlZS5oIChlbnVtIHN0cnVjdCBz cGVjaWFsX2FycmF5X21lbWJlcik6IEFkZCBpc192bGEsIHRyYWlsX2ZsZXguDQo+PiAgICAgICAo c3BlY2lhbF9hcnJheV9tZW1iZXJfdHlwZSk6IE5ldyBwcm90b3R5cGUuDQo+PiAgICAgICAoaXNf ZmxleGlibGVfYXJyYXlfcCk6IE5ldyBwcm90b3R5cGUuDQo+PiANCj4+IGdjYy90ZXN0c3VpdGUv DQo+PiANCj4+ICAgICAgIFBSIHRyZWUtb3B0aW1pemF0aW9uLzEwMTgzNg0KPj4gICAgICAgKiBn Y2MuZGcvcHIxMDE4MzYuYzogTmV3IHRlc3QuDQo+PiAgICAgICAqIGdjYy5kZy9wcjEwMTgzNl8x LmM6IE5ldyB0ZXN0Lg0KPj4gICAgICAgKiBnY2MuZGcvcHIxMDE4MzZfMi5jOiBOZXcgdGVzdC4N Cj4+ICAgICAgICogZ2NjLmRnL3ByMTAxODM2XzMuYzogTmV3IHRlc3QuDQo+PiAgICAgICAqIGdj Yy5kZy9wcjEwMTgzNl80LmM6IE5ldyB0ZXN0Lg0KPj4gICAgICAgKiBnY2MuZGcvcHIxMDE4MzZf NS5jOiBOZXcgdGVzdC4NCj4+IA0KPj4gDQo+PiBUaGUgY29tcGxldGUgcGF0Y2ggaXM6DQoNCg==