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 C1326385771A for ; Thu, 15 Jun 2023 19:54:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C1326385771A 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 (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 35FGJlwX028526; Thu, 15 Jun 2023 19:54:39 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-2023-03-30; bh=yEDwFYtqe9tlnchIIDUk/m/mAqxQLOhsuS7bsuDuq2Y=; b=UVwzHs0nHy+KgJPVQxQY4dmHooRg3ljoMP2uftW+9nziRJl2ePPdLpmM4GNeryZntrHF VPCtabxSwr4kogGtTvtcp0RrlQ7PVRckQblS5YqNpA6WhYOIoYQFCjGpVKPoVdXK3rhc KyOjFYFmqHX/uYLtHPP5UcWx1e81RC/lZsG6Gj8X4uNfI2vEvaW7bZORNyzwHu1gxzsr 1cM2T8BV5GelKrWEjo5GWn7HYAbihCNcqBPq0QScv/6v+WcrPYLAmganvM7fdyEj5gJf vD7uaB5EL+K3MYAZp3W6WOUn3Lmchcy5QR+p0rOhtpbEgaPF8o9+3hUnIb1gwvwm8aWL Lg== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3r4g3bu09w-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 15 Jun 2023 19:54:39 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 35FIO9w8033657; Thu, 15 Jun 2023 19:54:38 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2103.outbound.protection.outlook.com [104.47.55.103]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3r4fm7d71e-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 15 Jun 2023 19:54:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SJeF8tW6XcuxYInLPcdEN7uVy3ev6OLLSV5eHgTyRR9fzg/GEkqTRNlKG4rn/bWF6WqsyNeWE6oSJxdJHQHGS3zQnO6jagGgmCWXTG2tvBkgeQDHv8PPQ6iTB3Er/cGjtJ7bIO8bfWdYbeKRZ5UzvYMMtFsUjrIAooJRvqGlehRylmp2WNul/i+sWE9W+7sojH+UtBBHoQSdiA6zGUI++hbmwDiaalglNa3dWXkxVU0s0WKka8Hx5waEO8WAup4rFMQVERSWDIg0+rcDDwVBTsltEoWzODeGj4FPDyhQqiLg6+mWo9ZWBLs2gjKj57rc+ASbzWtzKZ4/c/51bC66dQ== 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=yEDwFYtqe9tlnchIIDUk/m/mAqxQLOhsuS7bsuDuq2Y=; b=coj4nrw7SRasNMZw0G8S9iiKxadaxdWx1fHSN+LR0Z7UWyuLpNxE6hGC3iNxJQiJh/cqMCjVxYOF6EUF8z33T4fMtjGyyKlZOMzFHGH8JEliDqhu665X08wfwSmHf5Mm97XoWVEXyqvAp2bLFQ06BDIa8dAVl51I/7HlvWBmyI78uMITBUCcEJxnLzpWqVTriDlCJ+W3bZohJO9UWR9yXt943Wh96RGvw58EgaVvC2TRjH/2kpROj9Jxl5Osv3Uh7Eyy6qBi6+fyng+RuRHbwBHcveokNyrCID+gicxpY2p9Bc6qCYw15Vm5acK0Yp9LHOp3tUO4VzTiqHCL44lPRA== 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=yEDwFYtqe9tlnchIIDUk/m/mAqxQLOhsuS7bsuDuq2Y=; b=lXERziOwCotdMzBAspUSbrvFSax9RcBdkf/QTnkAnP6jiu7xDAdhOtLuVr3CghVNNSgC9/XUK55/ZyRVfQmSIcT2mowQ5rRYS0sZugeFUEgEk3cMssEHYV+SzmqwleVasDQWwyNNVK0zFzBNYpsVyxGD7b5ywkrA3302iLEQqfQ= Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by BLAPR10MB5299.namprd10.prod.outlook.com (2603:10b6:208:322::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6500.27; Thu, 15 Jun 2023 19:54:36 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::8d90:607a:f94c:5323]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::8d90:607a:f94c:5323%3]) with mapi id 15.20.6500.025; Thu, 15 Jun 2023 19:54:36 +0000 From: Qing Zhao To: Joseph Myers CC: Qing Zhao via Gcc-patches , "richard.guenther@gmail.com" , "jakub@redhat.com" , "keescook@chromium.org" , "siddhesh@gotplt.org" , "uecker@tugraz.at" , "isanbard@gmail.com" Subject: Re: [V1][PATCH 1/3] Provide element_count attribute to flexible array member field (PR108896) Thread-Topic: [V1][PATCH 1/3] Provide element_count attribute to flexible array member field (PR108896) Thread-Index: AQHZjyQQ3HKKd4UPNka/lNWKaBnA4K9rekmAgAEUkACAAE8PAIAS+OaAgAAPAACAAAsRAIAACS4AgAweVwCAAB2kgIAAMhiA Date: Thu, 15 Jun 2023 19:54:35 +0000 Message-ID: References: <20230525161450.3704901-1-qing.zhao@oracle.com> <20230525161450.3704901-2-qing.zhao@oracle.com> <28BEA1DA-5277-493D-8C85-1C204AD1B70F@oracle.com> <4F824ECC-6ACC-434A-8887-0CB44D0B3CDA@oracle.com> <5616c54-65c8-c3c-714-7fef81501a60@codesourcery.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.3696.120.41.1.3) x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH2PR10MB4344:EE_|BLAPR10MB5299:EE_ x-ms-office365-filtering-correlation-id: 2f9494b5-782a-4165-3403-08db6dda5891 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: RS0BJaCVF7uCFtTCj1hZMWzxO3jCNWzoKdOVV2G2iWqNTpOMyZkQXB02V7eBMT2q5/bmZ4Y9hjmIjW6LDGSU99YwKM+YiyHfq+oRGPh/SEL91eNeZZlgk6wqzmh5pTP/YxoozHgJeQfayLp7cjak1yaB89/MXU3v0vxY0MThly0rZqVnlSUvtzEPzn+Pheaiqubko+SnvzejqfZvhbzszE3vydrgqlUm7yNcTiokk/17rFlCNHPlVWipeKgECfocZofoQYaoS5CZ3gZYscJA2sIiSa4P8TtHx3aiKriFbgTAud1XkUo+tW0mnemVo/1uOsOs63ZzIpASEm5gvYVB8v/5gUx9bNYUUyvj8qpdIs0wmllOwnUERnTlSZdwu83mi9HbvDlPQgnESTfo9UUCi3kwBpCICKOYoSKyyEGQywZIznCp3GWfjlitO/9BPwzRQ9cUFh/8BJHfrOxK+lASVbc9U7WANP8MwIL7OO6+dbclq7hiiIlXTizG5G2JSTqwamQD/1/jqJZQEoNp3ix0g+n+bfrIDtif7VSty5CLIpee3D7sIe51gqc0DyTYxplydc5O6DJQeX1wWkt1F5u9ljMt8h14a56ncreW1GVSMLOEjtsCxVABbQBy+dNHszvwA+Ii5/iiVdlbh2AZJLY+mQ== 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:(13230028)(376002)(346002)(39860400002)(366004)(396003)(136003)(451199021)(36756003)(86362001)(33656002)(38100700002)(478600001)(122000001)(38070700005)(41300700001)(8676002)(6486002)(8936002)(91956017)(4326008)(54906003)(316002)(966005)(5660300002)(44832011)(6506007)(53546011)(6512007)(186003)(2906002)(2616005)(64756008)(66476007)(76116006)(71200400001)(66446008)(66556008)(66946007)(6916009)(83380400001)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?L2x6bGNPemMyYzEwY0RCT0I5aUJrUkJXL3MzOERCUjRGMXl3M0dQKy9KajNn?= =?utf-8?B?WFNDTndSTWl3c1YwdWxKK1pyTFRlN0lBVTBGRFJQMXdIOHkrWUFFdnRrdHM1?= =?utf-8?B?VjhvSUtzZXFBZHovV09WeDlDajdndmJSRVBheXg0TWhJT1lDSUpWSDlQMjU3?= =?utf-8?B?c0RDUTA4ZzFWZnQ1MTZaQ29nSWFPSXBId3ZON25ZeG1GR2JBOEtnSWhFc3Jv?= =?utf-8?B?aE5pSW0xZUJ5dWJWbXIvOGNuZXYrdjkyeWZzbVgvbVBuV0hHSnBlUDNlN203?= =?utf-8?B?ajZkSjZTRTdKeWFmb2tjMStVajBRSm1TcTRPTHg1eW1BMVo2ZVprczRGcG9z?= =?utf-8?B?NzNubTRWVVhOREF0TDZmV0p5cWQ2OXNrU1BUaWlIR242UlgxNXpFeHJXc3RE?= =?utf-8?B?Rjlid1cwaW1Wb0xoZ2JWVEFVZlFXampsaWhkKzZDNnpDd1RyeVV6bUtVV09Q?= =?utf-8?B?aXVpK25sQk4rcDdReWxCRjNPWi96NVQ2bU93S0YvQ0owaUIxTlRkcFVpc2hX?= =?utf-8?B?VmFIaXJ4L0hjTlo4ODJyQlVmeXNlaWdONkN4b0VqaTVLcFFMZEtQcXBSMHBs?= =?utf-8?B?SFVmam9XT3JMb2FNUjZQNWI3M3NYanZ5SEltVVJxaWV0S1FhRWtnRVdNK0Za?= =?utf-8?B?NjU1V2dWYmFBZ3RuRTFrN0N4QVkxZHZFWURzcHdkTDN0WHg0amhnOUVvc3ZZ?= =?utf-8?B?Q0M2bDc1RWpOTnNjU1V2SHFwRzRWU0NIT3lyazJPOFN2QWhhdkdCeUR5MXQz?= =?utf-8?B?aVIrek5qQ1g3MEU2cVRKNjR2dXFWVnpwKytySTRBd0pETTN5TDlLVTNzcm9L?= =?utf-8?B?UzdPRWN4YnI0TG5LdnBJRGpEQW56bG9VVXowUlBPSFlJL0NDSXJjOVVZUmVl?= =?utf-8?B?WnliOE92dnNnUW9MSTY5Tm9MekRyYlh3aW9iUWdSMFNMNFlPc005UHV6R2Fr?= =?utf-8?B?R0xyOGh4Tk5QZDU5QkIrVllETjRKUzAxa0VnWGtDNHRLVTU1Z1lURVZGcnpW?= =?utf-8?B?VjRtOWFIM0Vtby9qcEs4b0JXQzQzZXFDVG1paTg3RzE0N2pTN0lSWnZ4Zm1t?= =?utf-8?B?M0Mvekx3ejNLU3dCNHQrY0tQZ2taaEZKLzNOSGZWdkZyekp3N3YwQ0F3VTE3?= =?utf-8?B?OUV3NGJhc1NSOTZSRUpmSzJuN3NEaTZ5dFArY25tYU5rYjNvWXBQWFZFR0NQ?= =?utf-8?B?ZktHaHovR2dNbHlIVnZ2Q3ZWWDRPUmppUlgra3MzWGdpa0dUdlBQR3VNZUJ5?= =?utf-8?B?Vy9uV3ZSRmt6ZmtRWmlucFhkbzVqUGh6bDBrUyt4Y3hWM0JFWVl5NGNKUFdR?= =?utf-8?B?THQ2aHVqWE4ydDdhSkFsZnBsbnpaZU8yVkFRQlpGL3NIZ1lEdWtQcEVoR056?= =?utf-8?B?SFMyd0ZoR0hwUGQ1QU5DZUZTNloxd1duUGtjS1dlTUl1RURBSzd1V05GcllV?= =?utf-8?B?RGhIR05MNmhlUWYzTUF4Y1B1QWxJci9zSmkvTEJiNzB5YkJ6dWpWbWxkODVr?= =?utf-8?B?Q29oTWNHVGhoejhUblRXU1FtZkc0WXRTa3hHQlF6VUVucXE5YXI3eFAxdUUz?= =?utf-8?B?OERlVXZrblN6cDVQREVzdG0wNW1XcHNxVzFmSDI0bUhsOExzNDdCOTA5SGsx?= =?utf-8?B?OVd1czF5WDdOaUVIMSswbi9qSGFSMjRuY2ZHSldPWVY0dis1Q1gzYlA5aW9o?= =?utf-8?B?OEUrZFBqNURsRFNEbTJhYlppM29YK2JUdW1vWGJiRXE2UWdvZ0piYnVJZ1VN?= =?utf-8?B?dDY1dVh5cnNGdUJ3WEdvSWg5OWZtZStFbi9DeFVPU3dPaEp5UEdTM1F4VWM4?= =?utf-8?B?OHZhVFJKMFJva2Evb3A2RFd6NHRsL28vY1pUNjJ4UmtTcDNia2NhL0dPeFlL?= =?utf-8?B?emJYKytwUUNPY1NRNHBoekJtanlQMzJMMXIreTB4bnBWVHcyN0cyR1NPM0pR?= =?utf-8?B?ZncxcWRBV05lZCtVUGZRWE9uT24wb05saVJ4c0Jra0wyNVI4eTVrckp6TlNB?= =?utf-8?B?WUJBTDZBdzlhazdYN21WeWg1T052UDZ6QThQdjJLMFdQT3RZT1Z4VlhaczJz?= =?utf-8?B?L2IwQmt3N2VQQnRMY21QQytxYldxWkJvaS9HV1VtSTUvZ3dnQlkwM0xHb0dk?= =?utf-8?B?WEtKSVI2bFowVGwzakRzSXRDWXZwVkZKSlhCeW1LMDN3VlM0TllXcEZPYkY4?= =?utf-8?Q?AjhhgLkNWyBtl6xFY7/H0XI=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <3E9B9E1A41F0494D8AF3C3F3479B1224@namprd10.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?utf-8?B?QnRPNnAxWk1PdCswaGxWYlhLSnVXTHpaaUJ5cFdndkoxS2gzc3RkS01hZ1Nz?= =?utf-8?B?VTBoVWxQSkl3YVlpZUI5cVEra0VVOU1jY3BDaG03R05hNHMxRDRoOGJDUFQ4?= =?utf-8?B?Q1Zib1VRK1g2MnVOSkJPUHhrZ2QzRHNGbk1PME02em15ZHhBUU1seHV4bTcz?= =?utf-8?B?aVFDTE5JRjVydUlCRFhWdmFDaFBzVTA2NCtJSW1rTVZpRk8rL25sbzNzVlFx?= =?utf-8?B?ZFlUTkFRVlk5d1pTNnRzbkZvRDFQZkxXV3BGQjhSbEd5bENSeTF6b24rOUIw?= =?utf-8?B?YXRKTXdlTTFvTE5uQ2dSK0NVVUtsU014MFZ3YnpkS1FDbnNmeXhWcUk4TmRJ?= =?utf-8?B?SDVKUEJFaG5kWlhOcnp4MkZ5MjNSK3lPdnZMaFljZjRET0hyaWVBN2FUS3VK?= =?utf-8?B?M2lkUnA0TU1CYXFzRFZFMUxtWkowY210Q0dELzFtL21reFJXUjFoZFRWbUls?= =?utf-8?B?TGV1OTUyTVE2aXpkV1c3bXhGWi9GVjBGa3puV21EUnBYMUpSbEluVjIrdnNL?= =?utf-8?B?K0wwMFdQU04vcFYzbXFYV1JNOFM3bWFLbC9LeFhOQThNS3p2dFZLUGhmaGpB?= =?utf-8?B?d2MrRG5jcU12TWU0NDVuZktFeVhLYzVGMEdDWTFJQWxSemFHelk1NFpqV3BL?= =?utf-8?B?dkp6cWtMd0JQK0ZRRWY3Wm1YcVZrQzVJMDEyc0MvT0x0VENiVGRqSDArSVRm?= =?utf-8?B?eTdNOHJldEZNU3ZsZzFRSjhyRzRHZTlFSGNKTUZQbVhSeVVXZGVIK3EyeHpt?= =?utf-8?B?SlVrSjZHVHB1aEVlV0dDd0VuRTUwZk1ENjJLYThiU3FwWnkyYi9udjFSRjhy?= =?utf-8?B?eEdFZDZsbnllaGRnWU40N0Q2RngxTDZCSW4vR29qRmUrV01GSFhRODlqRnF2?= =?utf-8?B?Qi9NbHNkb240c0lQQkNNS2daZmwvbCtWRzdWWWJpc2VmbndRK1N1Tm0yWlFk?= =?utf-8?B?c2JWZHlzajBpUjM5NnBaVTExUVllRTBFQ2MwVHdFZ1QwMERNc09uVnJITDU0?= =?utf-8?B?VWw2YURxU2VaSkxpaG1IZXVWamp2UVJHNldMU3p3anp5Z2h1dEdmcEcwbm1p?= =?utf-8?B?ZzJZd0RXb1B1U0NMcEp4bGFmY2tSK0UzZnRsY2RmTlFpWXBtcFZTeC96UmMr?= =?utf-8?B?TXRyaGo3Vm4yNlBNdlpkUW5OWDJGbFN4UWJzV3RqTjkweVdkSUJSTGg0cm5D?= =?utf-8?B?ZnpEUVNhRi9EKys3NEFhSHc2V2tFMU9hemsrWlYzK1JNZ0toekxxWkg0UDhr?= =?utf-8?Q?r6bYhGsxFKCjLXC?= 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: 2f9494b5-782a-4165-3403-08db6dda5891 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Jun 2023 19:54:35.8914 (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: hlEljxQ70P8SIyYefvfbMpg+zE7NnXo5APCKFbBAAi+N9WZsdvZUbYq9p3Ks6JPUPTUR/6jTAF6mr1Itz3gzmw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB5299 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-06-15_15,2023-06-15_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxscore=0 phishscore=0 suspectscore=0 mlxlogscore=859 bulkscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306150171 X-Proofpoint-ORIG-GUID: XBEGAdxGeuNlphInFCnIOBxK4qls2awj X-Proofpoint-GUID: XBEGAdxGeuNlphInFCnIOBxK4qls2awj 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_H5,RCVD_IN_MSPIKE_WL,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 List-Id: DQoNCj4gT24gSnVuIDE1LCAyMDIzLCBhdCAxMjo1NSBQTSwgSm9zZXBoIE15ZXJzIDxqb3NlcGhA Y29kZXNvdXJjZXJ5LmNvbT4gd3JvdGU6DQo+IA0KPiBPbiBUaHUsIDE1IEp1biAyMDIzLCBRaW5n IFpoYW8gdmlhIEdjYy1wYXRjaGVzIHdyb3RlOg0KPiANCj4+IENvbXBhcmluZyBCIHdpdGggQSwg SSBkb27igJl0IHNlZSB0b28gbXVjaCBiZW5lZml0LCBlaXRoZXIgZnJvbSANCj4+IHVzZXItaW50 ZXJmYWNlIHBvaW50IG9mIHZpZXcsIG9yIGZyb20gaW1wbGVtZW50YXRpb24gcG9pbnQgb2Ygdmll dy4NCj4+IA0KPj4gRm9yIGltcGxlbWVudGF0aW9uLCBib3RoIEEgYW5kIEIgbmVlZCB0byBzZWFy Y2ggdGhlIGZpZWxkcyBvZiB0aGUgDQo+PiBjb250YWluaW5nIHN0cnVjdHVyZSBieSB0aGUgbmFt ZSBvZiB0aGUgZmllbGQg4oCcY291bnTigJ0uDQo+PiANCj4+IEZvciB1c2VyIGludGVyZmFjZSwg SSB0aGluayB0aGF0IEEgYW5kIEIgYXJlIHNpbWlsYXIuDQo+IA0KPiBCdXQgYXMgYSBsYW5ndWFn ZSBkZXNpZ24gbWF0dGVyLCB0aGVyZSBhcmUgbm8gc3RhbmRhcmQgQyBpbnRlcmZhY2VzIHRoYXQg DQo+IGludGVycHJldCBhIHN0cmluZyBhcyBhbiBpZGVudGlmaWVyLCBzbyBkb2luZyBzbyBkb2Vz IG5vdCBmaXQgd2VsbCB3aXRoIA0KPiB0aGUgbGFuZ3VhZ2UuDQoNCk9rYXksIG1ha2VzIHNlbnNl LiAgU28gSSB3aWxsIGNob29zZSBCIG92ZXIgQS4gLTopIA0KPiANCj4+IDEuIFVwZGF0ZSB0aGUg cm91dGluZSDigJxjX3BhcnNlcl9wb3N0Zml4X2V4cHJlc3Npb27igJ0gKGlzIHRoaXMgdGhlIHJp Z2h0IA0KPj4gcGxhY2U/ICkgdG8gYWNjZXB0IHRoZSBuZXcgZGVzaWduYXRvciBzeW50YXguDQo+ IA0KPiBBbnkgZGVzaWduIHRoYXQgbWlnaHQgd29yayB3aXRoIGFuIGV4cHJlc3Npb24gaXMgdGhl IHNvcnQgb2YgdGhpbmcgdGhhdCANCj4gd291bGQgbGlrZWx5IGludm9sdmUgbWFueSBpdGVyYXRp b25zIG9uIHRoZSBzcGVjaWZpY2F0aW9uIChpLmUuIHByb3Bvc2VkIA0KPiB3b3JkaW5nIGNoYW5n ZXMgdG8gdGhlIEMgc3RhbmRhcmQpIGZvciB0aGUgaW50ZXJwcmV0YXRpb24gb2YgdGhlIG5ldyBr aW5kcyANCj4gb2YgZXhwcmVzc2lvbnMsIGluY2x1ZGluZyBob3cgdG8gcmVzb2x2ZSBzeW50YWN0 aWMgYW1iaWd1aXRpZXMgYW5kIGhvdyANCj4gbmFtZSBsb29rdXAgd29ya3MsIGJlZm9yZSBpdCBj b3VsZCBiZSBjb25zaWRlcmVkIHJlYWR5IHRvIGltcGxlbWVudCwgYW5kIA0KPiB0aGVuIGEgbG90 IG1vcmUgd29yayBvbiB0aGUgc3BlY2lmaWNhdGlvbiBiYXNlZCBvbiBpbXBsZW1lbnRhdGlvbiAN Cj4gZXhwZXJpZW5jZS4NCg0KT2theSwgSSBzZWUgdGhlIGNvbXBsaWNhdGlvbiB0byBtYWtlIHN1 Y2ggbmV3IHN5bnRheCBpbnRvIEMgc3RhbmRhcmTigKYNCg0KPiANCj4gTm90ZSB0aGF0IG5vIGV4 cHJlc3Npb25zIGNhbiBzdGFydCB3aXRoIHRoZSAnLicgdG9rZW4gYXQgcHJlc2VudC4gIEFzIHNv b24gDQo+IGFzIHlvdSBpbnZlbnQgYSBuZXcga2luZCBvZiBleHByZXNzaW9uIHRoYXQgY2FuIHN0 YXJ0IHdpdGggdGhhdCB0b2tlbiwgeW91IA0KPiBoYXZlIHN5bnRhY3RpYyBhbWJpZ3VpdHkuDQo+ IA0KPiBzdHJ1Y3QgczEgeyBpbnQgYzsgY2hhciBhWyhzdHJ1Y3QgczIgeyBpbnQgYzsgY2hhciBi Wy5jXTsgfSkgey5jPS5jfS5jXTsgfTsNCj4gDQo+IElzICIuYz0uYyIgYSB1c2Ugb2YgdGhlIGV4 aXN0aW5nIHN5bnRheCBmb3IgZGVzaWduYXRlZCBpbml0aWFsaXplcnMsIHdpdGggDQo+IHRoZSBm aXJzdCAiLmMiIGJlaW5nIGEgZGVzaWduYXRvciBhbmQgdGhlIHNlY29uZCBiZWluZyBhIHVzZSBv ZiB0aGUgbmV3IA0KPiBraW5kIG9mIGV4cHJlc3Npb24sIG9yIGlzIGl0IGFuIGFzc2lnbm1lbnQg ZXhwcmVzc2lvbiwgd2hlcmUgYm90aCB0aGUgTEhTIA0KPiBhbmQgdGhlIFJIUyBvZiB0aGUgYXNz aWdubWVudCB1c2UgdGhlIG5ldyBraW5kIG9mIGV4cHJlc3Npb24/ICBBbmQgZG8gDQo+IHRob3Nl IC5jLCB3aGVuIHRoZSB1c2UgdGhlIG5ldyBraW5kIG9mIGV4cHJlc3Npb24sIHJlZmVyIHRvIHRo ZSBpbm5lciBvciANCj4gb3V0ZXIgc3RydWN0IGRlZmluaXRpb24/DQoNCk9rYXksIEkgc2VlLiBZ ZXMsIHRoaXMgd2lsbCBiZSByZWFsbHkgY29uZnVzaW5nLiANCg0KPiANCj4gVGhlcmUgYXJlIG9i dmlvdXMgYWR2YW50YWdlcyB0byB1c2luZyB0b2tlbnMgdGhhdCBkb24ndCBpbnRyb2R1Y2Ugc3Vj aCBhbiANCj4gYW1iaWd1aXR5IHdpdGggZGVzaWduYXRvcnMgKGkuZS4sIG5vdCAnLicgYXMgdGhl IHRva2VuIHRvIHN0YXJ0IHRoZSBuZXcgDQo+IGtpbmQgb2YgZXhwcmVzc2lvbiwgYnV0IHNvbWV0 aGluZyB0aGF0IGNhbm5vdCBzdGFydCBhIGRlc2lnbmF0b3IpLCBpZiBzdWNoIA0KPiB0b2tlbnMg Y2FuIGJlIGZvdW5kLiAgQnV0IHlvdSBzdGlsbCBoYXZlIHRoZSBuYW1lIGxvb2t1cCBxdWVzdGlv biB3aGVuIA0KPiB0aGVyZSBhcmUgbXVsdGlwbGUgbmVzdGVkIHN0cnVjdHVyZSBkZWZpbml0aW9u cy4gIEFuZCB0aGUgcXVlc3Rpb24gb2Ygd2hlbiANCj4gZXhwcmVzc2lvbnMgYXJlIGNvbnNpZGVy ZWQgdG8gYmUgZXZhbHVhdGVkLCBpZiB0aGV5IGhhdmUgc2lkZSBlZmZlY3RzIHN1Y2ggDQo+IGFz ICIuYz0uYyIgZG9lcy4NCj4gDQo+ICJXaGF0ZXZlciBmYWxscyBvdXQgb2YgdGhlIGltcGxlbWVu dGF0aW9uIiBpcyBub3QgYSBnb29kIGFwcHJvYWNoIGZvciANCj4gbGFuZ3VhZ2UgZGVzaWduIGhl cmUuICBJZiB5b3Ugd2FudCBhIG5ldyBraW5kIG9mIGV4cHJlc3Npb25zIGhlcmUsIHlvdSANCj4g bmVlZCBhIGNhcmVmdWwgbXVsdGktaW1wbGVtZW50YXRpb24gZGVzaWduIHBoYXNlIHRoYXQgcHJv ZHVjZXMgYSBwcm9wZXIgDQo+IHNwZWNpZmljYXRpb24gYW5kIGhhcyBnb29kIHJlYXNvbnMgZm9y IHRoZSBwYXJ0aWN1bGFyIGNob2ljZXMgbWFkZSBpbiANCj4gY2FzZXMgb2YgYW1iaWd1aXR5Lg0K DQpUaGFua3MgYSBsb3QgZm9yIHlvdXIgZGV0YWlsZWQgZXhwbGFuYXRpb24gb24gdGhlIGxhbmd1 YWdlIGRlc2lnbiBjb25jZXJucy4gDQpGb3IgdGhpcyBuZXcgYXR0cmlidXRlLCBJIHdhcyBjb252 aW5jZWQgdGhhdCBpdCBtaWdodCBub3Qgd29ydGggdGhlIGVmZm9ydCB0byBpbnRyb2R1Y2UgYSBu ZXcgc3ludGF4IGF0IHRoaXMgc3RhZ2UuDQoNCkFub3RoZXIgcXVlc3Rpb24sICB3aGV0aGVyIGl0 4oCZcyBwb3NzaWJsZSB0byBleHRlbmQgc3VjaCBhdHRyaWJ1dGUgbGF0ZXIgdG8gYWNjZXB0IGV4 cHJlc3Npb24gYXMgaXRzIGFyZ3VtZW50IGlmIHdlIHRha2UgYXBwcm9hY2ggQjoNCg0KQi4gVGhl IGFyZ3VtZW50IG9mIHRoZSBuZXcgYXR0cmlidXRlIOKAnGNvdW50ZWRfYnnigJ0gaXMgYW4gaWRl bnRpZmllciB0aGF0IGNhbiBiZQ0KYWNjZXB0ZWQgYnkg4oCcY19wYXJzZXJfYXR0cmlidXRlX2Fy Z3VtZW50c+KAnToNCg0Kc3RydWN0IHRyYWlsaW5nX2FycmF5X0Igew0KIEludCBjb3VudDsNCiBp bnQgYXJyYXlfQltdIF9fYXR0cmlidXRlICgoY291bnRlZF9ieSAoY291bnQpKSk7IA0KfTsNCg0K DQpGcm9tIG15IGN1cnJlbnQgdmVyeSBsaW1pdGVkIHVuZGVyc3RhbmRpbmcgb2YgdGhlIEMgRkUg c291cmNlIGNvZGUsIGl04oCZcyBub3QgZWFzeSB0byBleHRlbmQgdGhlIGFyZ3VtZW50IHRvIGFu IGV4cHJlc3Npb24gbGF0ZXIgZm9yIHRoZSBhYm92ZS4NCklzIHRoaXMgdW5kZXJzdGFuZGluZyBy aWdodD8NCg0KKFRoZSBtb3RpdmF0aW9uIG9mIGFjY2VwdGluZyBleHByZXNzaW9uIGFzIHRoZSBh cmd1bWVudCBmb3IgdGhlIG5ldyBhdHRyaWJ1dGUg4oCcY291bnRlZF9ieeKAnSBpcyANCiAgIGZy b20gdGhlIHByb3Bvc2FsIGZvciBMTFZNOiBodHRwczovL2Rpc2NvdXJzZS5sbHZtLm9yZy90L3Jm Yy1lbmZvcmNpbmctYm91bmRzLXNhZmV0eS1pbi1jLWZib3VuZHMtc2FmZXR5LzcwODU0Og0KDQoJ 4oCiIF9fY291bnRlZF9ieShOKSA6IFRoZSBwb2ludGVyIHBvaW50cyB0byBtZW1vcnkgdGhhdCBj b250YWlucyBOIGVsZW1lbnRzIG9mIHBvaW50ZWUgdHlwZS4gTiBpcyBhbiBleHByZXNzaW9uIG9m IGludGVnZXIgdHlwZSB3aGljaCBjYW4gYmUgYSBzaW1wbGUgcmVmZXJlbmNlIHRvIGRlY2xhcmF0 aW9uLCBhIGNvbnN0YW50IGluY2x1ZGluZyBjYWxscyB0byBjb25zdGFudCBmdW5jdGlvbnMsIG9y IGFuIGFyaXRobWV0aWMgZXhwcmVzc2lvbiB0aGF0IGRvZXMgbm90IGhhdmUgc2lkZSBlZmZlY3Qu IFRoZSBhbm5vdGF0aW9uIGNhbm5vdCBhcHBseSB0byBwb2ludGVycyB0byBpbmNvbXBsZXRlIHR5 cGVzIG9yIHR5cGVzIHdpdGhvdXQgc2l6ZSBzdWNoIGFzICB2b2lkICouDQopDQogDQp0aGFua3Mu DQpRaW5nDQoNCj4gDQo+IC0tIA0KPiBKb3NlcGggUy4gTXllcnMNCj4gam9zZXBoQGNvZGVzb3Vy Y2VyeS5jb20NCg0K