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 E70C23858421 for ; Mon, 24 Oct 2022 14:22:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E70C23858421 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 29OCv4WK030069; Mon, 24 Oct 2022 14:22:00 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=s5NrvswHZhjzdpVXUH6kXxq7FwKf1huQJQlkwJEFmI4=; b=aimEVwdf3PyZeFxllqkZI8KswGpXtxjxWzxuvifg64gT2nalAePpL4aEnddgqrJKqm6r +8wBSNdsahfBRIPJK0Ru0DpRN7KZqsBtdNLCjc2wt3OzLrK7zwvAPcEkF1l10DZxn11D FDH9S4jWyhkeKHCgxUt/1ajX+VQuArwrcT5YWTrm21yucForR+H2+Lk+71SeJzKYx460 AYaMcWMoSjoc3c9eOMg1fxIY0CDa1xr8IMOpAWrY+t44XXSo4fyaClYfCQdxGGG/VN0Y JgV68c6sqmMJPToWgOwhsSe24Y8fW7pnEdi2CJVL/x3TNJliIdd3tfNDPUs5UuX9ZFjp yQ== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3kc93946au-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Oct 2022 14:22:00 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 29OE6Cge034004; Mon, 24 Oct 2022 14:21:58 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2168.outbound.protection.outlook.com [104.47.58.168]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3kc6y9em24-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Oct 2022 14:21:58 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OSDWly8cFRA72UpNICZxuENu/K9itqxVPyzR2lXchn2ej+7hJ7UreMZpsIuDn5/V4TJxlSI63G91QFPmyWJsjQydhA0cx9JOmIsVxPhwHs1vNAu+e1BcK3kIAsSjv/eK8ndwBxb2FI4Up8Mv6xCnr7hfL62Ov8oiOyJDN//N23MtrSm5zch1hThbDFkJhJa0fzy7g5XTd19VdXF1ptUjrtubGWa7O1Iqrd4jI/rZkEfmNTTPvsEJAmD1uU/6ExgakhkCCAmkQeBW4iU2ueUyBMWAxx2eux3cPJYnPG1iPG/3u80t+x03UQyyx0L94JqzSdPHVLBhGyOT33yb7dUL4w== 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=s5NrvswHZhjzdpVXUH6kXxq7FwKf1huQJQlkwJEFmI4=; b=Zfqy6fnDM9f+x8w9oaq4m2tQCAzBx/KH6MENyIFtyzUkECVtgp1cV3R4+fyGrFh9wPMy6jsKrJCDY3FtBvTMqB0+ReGJXmY4HOx20tzqDGahINtGlT3iy3mB85hwhVABQxfeLPj0l8bHXRPWszTvuGB3eCXPbvLrX1HL97g0LyWloPM7ej2z0MjIYP/Sbbo4SWQHO8dCvTMzLH4//hUQoBEqtDPNz4iunngZWK29zZxmnCztZusZ7fe+zeZdwz5ouuqwmhUPfGj7JruXmHQMFNNdMRf7Tc9guUHGv3C8Tuhx5OyeIeojgWIiEuPb0+4fsX/ydwT5cDyyOqYZ/QVayw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=s5NrvswHZhjzdpVXUH6kXxq7FwKf1huQJQlkwJEFmI4=; b=fGvsw9mW8usGzP2OnDHx8RuOc53BsXgqrokqdp76reJ9ADV+0SNQgIu2JAyyjKjmgoTqKXq/OmL5Or18qXh4wtV8uyQhzoWagelnhggQ3XlRqiUfh58NXsItGrjR+a3KWmFBC6HXW4mqQ4zSs66GOIO7i3VCCfl6YrNgvix1Etk= Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by CY8PR10MB6588.namprd10.prod.outlook.com (2603:10b6:930:57::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.27; Mon, 24 Oct 2022 14:21:57 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::cbf8:6682:721e:835c]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::cbf8:6682:721e:835c%7]) with mapi id 15.20.5746.023; Mon, 24 Oct 2022 14:21:57 +0000 From: Qing Zhao To: Martin Sebor CC: Richard Biener , Jakub Jelinek , gcc Patches Subject: Re: [RFC] how to handle the combination of -fstrict-flex-arrays + -Warray-bounds Thread-Topic: [RFC] how to handle the combination of -fstrict-flex-arrays + -Warray-bounds Thread-Index: AQHY5WHoFCkfHPENfUC1wi7G00UKJa4aoyoAgAL6AgA= Date: Mon, 24 Oct 2022 14:21:57 +0000 Message-ID: <0945D824-A7BA-4BF9-A5CC-670902DE215D@oracle.com> References: <695014B4-2A9E-49D6-BD40-4B24644FA1D6@oracle.com> <56fa59d1-75d3-6698-51fb-3806b9559397@gmail.com> In-Reply-To: <56fa59d1-75d3-6698-51fb-3806b9559397@gmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3696.120.41.1.1) x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH2PR10MB4344:EE_|CY8PR10MB6588:EE_ x-ms-office365-filtering-correlation-id: 4081fb87-846c-491b-81b3-08dab5cb1b9d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: i4WNG680SiZJwnPb6N+qrzw6hButChftjKUindqwoNBBXQdtk/wFZNmxaz7VcoR6WtsHZBdhK+ku29JUT/00G6RT5JRamhj2T3DgXbfb9Erh2vxTZoT0HM7hZyXSvIacPFSGkYOsMViulagv2BQZZ7XTycdlzsL6RthOjI1Bk/dtYPEGc+d0m2Mhaztc2RZ9I3Xk+m+Gk83Wol9MLDn/Dei5bo3CLUSHupp5EIt6bTqYc+9b4UjrPgwV3q19yaYNSur5ycEl/Z2UHLeSgbjGglh99C1U57qHdTu2Ozv63IYcXckJqFuqQCZxcol9/blMxHxo+qnjeiaxbDdCRVOlrmmb77XozYFimVmynpcomSKB4PGDqV9nnBoQgSbjg4/+kzouPKt3ABGn3+pPJjZN7Na2miS2/2OpAkxPh8HR0Ihc6Ibfqs5S2wkZSffzPc+FAOYEv5RCDQ/25FNrP06Jj6NuF9+O2Z7545BmJV2GmXLFmog/shGxWvjBGsp1Ve3Qfu52Zl6NgDw4eXKVX97Gp8O0iwcAFLwytjWmT5mLG/hO+Y/30pR/pU6VF8Zo7BpiVtBZYO5y38Qf4b41kJJ2/KnAAgRykkJpl7G0YedWDEFWBXz5Wn1qxBxpQCaxCvYM8mM00oHjTyGjqd2ilA2vApxYmjwbLtGZc7QZdTBgY92CEe4vG7bRzsXFofJI/hmuWFfwTtaSL19uoK9vtY70tOjCaLSDChVZtGrTle8QOiOZ03lPuImyDwq1MdZmuGsT4EPd3yd66Lx5ps0IGXk6ONOQj1JEB+HWOp/6gXSsuis= 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:(13230022)(136003)(396003)(366004)(39860400002)(376002)(346002)(451199015)(478600001)(6486002)(71200400001)(6512007)(36756003)(6506007)(53546011)(76116006)(91956017)(4326008)(38100700002)(122000001)(8676002)(66446008)(64756008)(66556008)(66476007)(5660300002)(41300700001)(38070700005)(8936002)(66946007)(2616005)(186003)(83380400001)(44832011)(33656002)(54906003)(86362001)(316002)(2906002)(6916009)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MXlqa3l0NjNRbitXTi9CM0VOZ1VwdmNQek0zbzZUWFNqNW1lTDVPMWdpc3Bp?= =?utf-8?B?dXRIN2FoeUpnS21tMWdGQzRKNzlISHU4aVNjdUdnOHZzdHZONXpwbVM5YUsx?= =?utf-8?B?eGVWeEtpTHZqUWYwTWRhajd3eXNnN2lkeTdaRzgxek9FUTJBeWk0OWhlZFA4?= =?utf-8?B?bTRpMjRCY214cWtiN1NmVDZLL3kwV3VNMDBKV2hUYVhGdGVWQmNicVEyeFJN?= =?utf-8?B?bS9Eclo2aTJVQjVQWUcyMnNmK1BmMHlsRFJ2dGhESk83NG5XQWZyQlFLdXpX?= =?utf-8?B?dDFsRjN6MmpicXZFRzZQVHlaRFZYUGZCNGF0SGM2VkhldzVoM3NhVzFYam11?= =?utf-8?B?cFN2WVZnSXloamgrc2k3S0MzNFpHMy8yU0svTXNTdWlybGdtT3R6cHpDbk5q?= =?utf-8?B?ZHQ4cEhEOVptSXdrcnI3ekVKMytOYXc1OWF0bWt3c05ITDR0R0lTQ0pMZytn?= =?utf-8?B?MHpWVDJvaW5EZ3YzdjJqT3p1WTRkcDBXNzc1Ny9GK05zQytxbTRvN3ZEeHNW?= =?utf-8?B?U3FMeEpVUjNxZU1sb2wyZnlMUTE0UFdEMzBZNFpKZ2VYNS9Sb09hWjVwdHJH?= =?utf-8?B?Q2hwMkRlZ2hmbUdYS1FzS2dETEdtSVQ3djNrQlJKZnUwVGIzRUZ6NVZqL0h5?= =?utf-8?B?a3FIcTM1Vm9lb2lVbzZNWjg1TWkyQU5DQVBBYWQzT3JZR2NBNTd3cEw5QTJN?= =?utf-8?B?amwxV0dQL3Zqdk1NalBDYmUrczBuQWg0QTdpYXptb3NEWWhxRWN4Y29EMU9C?= =?utf-8?B?dDZ0SVFPaTd5NDdHQ2dFTmhzSUFZaGNSWU5zY3d3M1l3dGlkVWNJVGpUY0E2?= =?utf-8?B?dUErUlpWSDZIU2x3bGZJajZhMFhTdlpCb1dZWnBKdjFXeHdBYmpwaXl5UmRO?= =?utf-8?B?Z04vKzVvQWhHRGhMbEI2d3pqUm1sWUc2U25ZL1Z6TWliaFRRQWxRcDBUK3hS?= =?utf-8?B?SHJvOXJHMW94NlZPV1NDWlFnR0tkVVcrYm9ENzdFS1RLZ3pCWFFIMlF1dnlH?= =?utf-8?B?QTJNUGovcTEvMEdiNy9LejNVbFY1YnlNYnZ1VTVKSDB6d0RaT3JHb1BnQWRs?= =?utf-8?B?dFMybmRTVGlHQUZ5aDJtNjllVERpOHJQZWVlZjRyN25IK1pLUytiYUlYYTg0?= =?utf-8?B?SFFVOWN6bm1uTTg0RFdOVlJhTUp0NTN3MEtqeDJjcVhGaHlhb2ttQlZFejZI?= =?utf-8?B?a3FOdlFCUlc0d1czdmp3QkhQSHdDdVBFYzh6ZzNLeVkyaXhrK0xua3VXOEU3?= =?utf-8?B?Y0R2THl2UVBIUi9uUDJrWUZZbCsyYUtjdXRIVGdqR3JwYTNBOVVzcVhKZHZR?= =?utf-8?B?TitMTnNMcm0zdlQ1WDJqR1VsN3ZIdW5yK2hqOWxQaFZTdjBuOERUbkV0dUQv?= =?utf-8?B?Y2ErTG9rUmFrUkk1L2ZrTHlyTkFKRXlZNk5wUkFTSjN5ZVU5bHRYS0xqTUEx?= =?utf-8?B?dW5qNEpJZlovVnRtS3B6UTlYanI0allMVEFaTG1rZmUybHlHenVLanpFRHc4?= =?utf-8?B?NnBCYWpnMzBnQmQ2cmErNW5CM2FYU2hZL3FHN2JQbTNORWp1V3ZSL0ZzSUFZ?= =?utf-8?B?VzZBaUF5N01Fd2RNQXZCcHNWWHRpTWprUkhxRGtvTkZ6RWpBTndWRUlJRXQw?= =?utf-8?B?T2U0Z0E2YkVDdmwrbXQxWThwUjJrR2hoNVRMM016TVo4TXZGcFI1blhDS1N5?= =?utf-8?B?a2U5ekJTcVNUWVJFSzBSTHpnVW9PcDRHeThkVFc5WENXRXFGdC9FaVJQQlhP?= =?utf-8?B?WGtLeTFZTEgyNGsxYnBYWmdkQjh5Y1puUkNSamVGR3FnVE5VR0NScm5yNG0x?= =?utf-8?B?dGFKWGFaeUNpLzVsU1doeUZJWU1HamNkQldWR0loYlhVR1lFVkNQMS9GNEI0?= =?utf-8?B?NSt6ZlZQZUl2ek9Bak1mRnhoSUlQS3p2bFdKbDFyVFJYQjlVaXJlT1UvZkwx?= =?utf-8?B?eHZrNmJaZmhDSUg2bnBMMkF2dWRSam41YktibXFYOG1scWhtNXpVdGdndS9r?= =?utf-8?B?Wk8zVGxzTTRGbW9XL0xvT0FHS3d1SStEWUoxNnkxdE5SNGFiM2NSaENNOEJ1?= =?utf-8?B?bzlHbmlSZzNUdHh3MHhNeGcrZHVjZGVRODBJODF5MlZsaStsZGtMNVFQWFFD?= =?utf-8?B?K0ljRWljVDZtMnJrTjJYcHplbkVpcEptUlhUWmZPSHNSYXV3RG1pQktMOEtW?= =?utf-8?Q?NgqI0C6JIfPDwiC0jJxLsEA=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <46FD406491B52D45AD722564EDCB5FB3@namprd10.prod.outlook.com> 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: 4081fb87-846c-491b-81b3-08dab5cb1b9d X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Oct 2022 14:21:57.2173 (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: UaPwFeVvrv3KSv/NNdObjsIeHgle/v94dpC313MMcQTe0aScCI4CY/YkiO234Tu5gh9+Fg9laFcvAaJo44JClw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB6588 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-10-24_04,2022-10-21_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 bulkscore=0 mlxlogscore=908 mlxscore=0 phishscore=0 malwarescore=0 spamscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210240088 X-Proofpoint-GUID: tfZRz8gbn0nmX8mEarUFc6Z78HzhUmdt X-Proofpoint-ORIG-GUID: tfZRz8gbn0nmX8mEarUFc6Z78HzhUmdt X-Spam-Status: No, score=-5.3 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 autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: DQoNCj4gT24gT2N0IDIyLCAyMDIyLCBhdCAxMjo1NCBQTSwgTWFydGluIFNlYm9yIDxtc2Vib3JA Z21haWwuY29tPiB3cm90ZToNCj4gDQo+IE9uIDEwLzIxLzIyIDA5OjI5LCBRaW5nIFpoYW8gd3Jv dGU6DQo+PiBIaSwNCj4+IChGQU0gYmVsb3cgcmVmZXJzIHRvIEZsZXhpYmxlIEFycmF5IE1lbWJl cnMpOg0KPj4gSSBuZWVkIGlucHV0cyBvbiAgaG93IHRvIGhhbmRsZSB0aGUgY29tYmluYXRpb24g b2YgLWZzdHJpY3QtZmxleC1hcnJheXMgKyAtV2FycmF5LWJvdW5kcy4NCj4+IE91ciBpbml0aWFs IGdvYWwgaXMgdG8gdXBkYXRlIC1XYXJyYXktYm91bmRzIHdpdGggbXVsdGlwbGUgbGV2ZWxzIG9m IC1mc3RyaWN0LWZsZXgtYXJyYXlzPU4NCj4+IHRvIGlzc3VlIHdhcm5pbmdzIGFjY29yZGluZyB0 byB0aGUgZGlmZmVyZW50IGxldmVscyBvZiDigJxO4oCdLg0KPj4gSG93ZXZlciwgYWZ0ZXIgZGV0 YWlsZWQgc3R1ZHksIEkgZm91bmQgdGhhdCB0aGlzIGdvYWwgd2FzIHZlcnkgaGFyZCB0byBiZSBh Y2hpZXZlZC4NCj4+IDEuIC1mc3RyaWN0LWZsZXgtYXJyYXlzIGFuZCBpdHMgbGV2ZWxzDQo+PiBU aGUgbmV3IG9wdGlvbiAtZnN0cmljdC1mbGV4LWFycmF5cyBoYXMgNCBsZXZlbHM6DQo+PiBsZXZl bCAgIHRyYWlsaW5nIGFycmF5cw0KPj4gICAgICAgICB0cmVhdGVkIGFzIEZBTQ0KPj4gICAwICAg ICBbXSxbMF0sWzFdLFtuXSAgICAgICAgICAJdGhlIGRlZmF1bHQgd2l0aG91dCBvcHRpb24NCj4+ ICAgMSAgICAgW10sWzBdLFsxXQ0KPj4gICAyICAgICBbXSxbMF0NCj4+ICAgMyAgICAgW10gICAg ICAgICAgICAgICAgICAgICAgCXRoZSBkZWZhdWx0IHdoZW4gb3B0aW9uIHNwZWNpZmllZCB3aXRo b3V0IHZhbHVlDQo+PiAyLiAtV2FycmF5LWJvdW5kcyBhbmQgaXRzIGxldmVscw0KPj4gVGhlIG9w dGlvbiAtV2FycmF5LWJvdW5kcyBjdXJyZW50bHkgaGFzIDIgbGV2ZWxzOg0KPj4gbGV2ZWwgICB0 cmFpbGluZyBhcnJheXMNCj4+ICAgICAgICAgdHJlYXRlZCBhcyBGQU0NCj4+ICAgMSAgICAgW10s WzBdLFsxXQkJCSB0aGUgZGVmYXVsdCB3aGVuIG9wdGlvbiBzcGVjaWZpZWQgd2l0aG91dCB2YWx1 ZQ0KPj4gICAyICAgICBbXSAgICAgICAgICAgICAgICAgICAgIAkNCj4+IGkuZSwNCj4+IFdoZW4g LVdhcnJheS1ib3VuZHM9MSwgaXQgdHJlYXRzIFtdLFswXSxbMV0gYXMgRkFNLCB0aGUgc2FtZSBs ZXZlbCBhcyAtZnN0cmljdC1mbGV4LWFycmF5cz0xOw0KPj4gV2hlbiAtV2FycmF5LWJvdW5kcz0y LCBpdCBvbmx5IHRyZWF0IFtdIGFzIEZBTSwgdGhlIHNhbWUgbGV2ZWwgYXMgLWZzdHJpY3QtZmxl eC1hcnJheXM9MzsNCj4+IDMuIEhvdyB0byBoYW5kbGUgdGhlIGNvbWJpbmF0aW9uIG9mICAtZnN0 cmljdC1mbGV4LWFycmF5cyBhbmQgLVdhcnJheS1ib3VuZHM/DQo+PiBRdWVzdGlvbiAxOiAgd2hl biAtZnN0cmljdC1mbGV4LWFycmF5cyBkb2VzIG5vdCBwcmVzZW50LCB0aGUgZGVmYXVsdCBpcyAt c3RyaWN0LWZsZXgtYXJyYXlzPTAsDQo+PiAgICAgICAgICAgICAgICAgICAgIHdoaWNoIHRyZWF0 cyBbXSxbMF0sWzFdLFtuXSBhcyBGQU0sIHNvIHNob3VsZCB3ZSB1cGRhdGUgdGhlIGRlZmF1bHQg YmVoYXZpb3INCj4+ICAgICAgICAgICAgICAgICAgICAgb2YgLVdhcnJheS1ib3VuZHMgdG8gdHJl YXQgYW55IHRyYWlsaW5nIGFycmF5IFtuXSBhcyBGQU1zPw0KPj4gTXkgaW1tZWRpYXRlIGFuc3dl ciB0byBRMSBpcyBOTywgd2Ugc2hvdWxkbuKAmXQsIHRoYXQgd2lsbCBiZSBhIGJpZyByZWdyZXNz aW9uIG9uIC1XYXJyYXktYm91bmRzLCByaWdodD8NCj4gDQo+IFllcywgaXQgd291bGQgZGlzYWJs ZSAtV2FycmF5LWJvdW5kcyBpbiB0aGUgY2FzZXMgd2hlcmUgaXQgd2FybnMNCj4gZm9yIHBhc3Qt dGhlLWVuZCBhY2Nlc3NlcyB0byB0cmFpbGluZyBhcnJheXMgd2l0aCB0d28gb3IgbW9yZQ0KPiBl bGVtZW50cy4gIERpYWdub3NpbmcgdGhvc2UgaGFzIGhpc3RvcmljYWxseSAoaS5lLiwgYmVmb3Jl IHJlY2VudA0KPiBjaGFuZ2VzKSBiZWVuIGEgZGVzaWduIGdvYWwuDQo+IA0KPj4gUXVlc3Rpb24g MjogIHdoZW4gLWZzdHJpY3QtZmxleC1hcnJheXM9TjEgYW5kIC1XYXJyYXktYm91bmRzPU4yIHBy ZXNlbnQgYXQgdGhlIHNhbWUgdGltZSwNCj4+ICAgICAgICAgICAgICAgICAgICAgIFdoaWNoIG9u ZSBoYXMgaGlnaGVyIHByaW9yaXR5PyBOMSBvciBOMj8NCj4+IC1mc3RyaWN0LWZsZXgtYXJyYXlz PU4xIGNvbnRyb2xzIGhvdyB0aGUgY29tcGlsZXIgY29kZSBnZW5lcmF0aW9uIHRyZWF0cyB0aGUg dHJhaWxpbmcgYXJyYXlzIGFzIEZBTXMsIGl0IHNlZW1zDQo+PiByZWFzb25hYmxlIHRvIGdpdmUg aGlnaGVyIHByaW9yaXR5IHRvIE4xLA0KPiANCj4gSSB0ZW5kIHRvIGFncmVlLiAgSW4gb3RoZXIg d29yZHMsIHNldCBOMicgPSBtaW4oTjEsIE4yKS4NCj4gDQo+PiBIb3dldmVyLCB0aGVuIHNob3Vs ZCB3ZSBjb21wbGV0ZWx5IGRpc2FibGUgdGhlIGxldmVsIG9mIC1XYXJyYXktYm91bmRzDQo+PiBO MiB1bmRlciBzdWNoIHNpdHVhdGlvbj8NCj4+IEkgcmVhbGx5IGRvbuKAmXQga25vdyB3aGF04oCZ cyB0aGUgYmVzdCB3YXkgdG8gaGFuZGxlIHRoZSBjb25mbGljdCAgYmV0d2VlbiBOMSBhbmQgTjIu DQo+PiBDYW4gd2UgY29tcGxldGVseSBjYW5jZWwgdGhlIDIgbGV2ZWxzIG9mIC1XYXJyYXktYm91 bmRzLCBhbmQgYWx3YXlzIGhvbm9yIHRoZSBsZXZlbCBvZiAtZnN0cmljdC1mbGV4LWFycmF5cz8N Cj4+IEFueSBjb21tZW50cyBvciBzdWdnZXN0aW9uIHdpbGwgYmUgaGVscGZ1bC4NCj4gDQo+IFRo ZSByZWNlbnQgLWZzdHJpY3QtZmxleC1hcnJheSBjaGFuZ2VzIGFzaWRlLCBJSVJDLCB0aGVyZSdz IG9ubHkNCj4gYSBzdWJ0bGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgdHdvIC1XYXJyYXktYm91 bmRzIGxldmVscyAoc2luY2UNCj4gbGV2ZWwgMSBzdGFydGVkIHdhcm5pbmcgb24gYSBudW1iZXIg b2YgaW5zdGFuY2VzIHRoYXQgb25seSBsZXZlbA0KPiAyIHVzZWQgdG8gZGlhZ25vc2UgYSBmZXcg cmVsZWFzZXMgYWdvKS4gIA0KDQpGcm9tIHRoZSBkb2M6IChhbmQgSSBhbHNvIGNoZWNrZWQgdGhl IHNvdXJjZSBjb2RlKQ0KDQogLVdhcnJheS1ib3VuZHM9Mg0KVGhpcyB3YXJuaW5nIGxldmVsIGFs c28gd2FybnMgYWJvdXQgb3V0IG9mIGJvdW5kcyBhY2Nlc3NlcyB0byB0cmFpbGluZw0Kc3RydWN0 IG1lbWJlcnMgb2Ygb25lLWVsZW1lbnQgYXJyYXkgdHlwZXMgKEBweHJlZntaZXJvIExlbmd0aH0p IGFuZCBhYm91dA0KdGhlIGludGVybWVkaWF0ZSByZXN1bHRzIG9mIHBvaW50ZXIgYXJpdGhtZXRp YyB0aGF0IG1heSB5aWVsZCBvdXQgb2YgYm91bmRzDQp2YWx1ZXMuICBUaGlzIHdhcm5pbmcgbGV2 ZWwgbWF5IGdpdmUgYSBsYXJnZXIgbnVtYmVyIG9mIGZhbHNlIHBvc2l0aXZlcyBhbmQNCmlzIGRl YWN0aXZhdGVkIGJ5IGRlZmF1bHQuDQoNCkFzIEkgdW5kZXJzdGFuZCwgLVdhcnJheS1ib3VuZHM9 MSAoaS5lLiwgLVdhcnJheS1ib3VuZHMpIHdpbGwgcmVwb3J0IG91dC1vZi1ib3VuZHMgYWNjZXNz IHRvIHRyYWlsaW5nIGFycmF5cyB3aXRoIHR3byBvciBtb3JlIGVsZW1lbnRzLCBhbmQgdHJlYXQg dHJhaWxpbmcgYXJyYXlzIHdpdGggMCBvciAxIGFzIEZBTXM7DQotV2FycmF5LWJvdW5kcz0yIHdp bGwgcmVwb3J0IG91dC1vZi1ib3VuZHMgYWNjZXNzIHRvIHRyYWlsaW5nIGFycmF5cyB3aXRoIDAg b3IgMWVsZW1lbnRzIGluIGFkZGl0aW9uIHRvIC1XYXJyYXktYm91bmRzID0xLiANCg0KSXMgdGhl IGFib3ZlIHVuZGVyc3RhbmRpbmcgY29ycmVjdD8NCg0KDQo+IEkgdGhpbmsgdGhhdCBzdWJzZXQg b2YNCj4gbGV2ZWwgMiBjb3VsZCBiZSBtZXJnZWQgaW50byBsZXZlbCAxIHdpdGhvdXQgaW5jcmVh c2luZyB0aGUgcmF0ZQ0KPiBvZiBmYWxzZSBwb3NpdGl2ZXMuICBUaGVuIGxldmVsIDIgY291bGQg YmUgYXNzaWduZWQgYSBuZXcgc2V0IG9mDQo+IHBvdGVudGlhbCBwcm9ibGVtcyB0byBkZXRlY3Qg KHN1Y2ggYXMgcGFzdC10aGUtZW5kIGFjY2Vzc2VzIHRvDQo+IHRyYWlsaW5nIG9uZS1lbGVtZW50 IGFycmF5cykuDQoNCklmIEkgdW5kZXJzdGFuZCBjb3JyZWN0bHksIEN1cnJlbnQgTGV2ZWwgMiBh bHJlYWR5IGluY2x1ZGUgd2FybmluZyBhYm91dCBwYXN0LXRoZS1lbmQgYWNjZXNzZXMgdG8gdHJh aWxpbmcgb25lLWVsZW1lbnQgYXJyYXlzIChhbmQgYWxzbyAwLWxlbmd0aCBhcnJheXMpLiAgDQoN ClFpbmcNCg0KPiANCj4gTWFydGluDQoNCg==