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 49B743858C53 for ; Fri, 1 Mar 2024 14:38:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 49B743858C53 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 49B743858C53 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1709303937; cv=pass; b=q/Mcyd7awefsldCOQ457g+YBP3QEZgT9+JMHFn70sukrJVL0zmrjqBuhe5ZnTiNIxJ7SFupcqCr2TqT3XnJRfeW/iM7IsPNdPxhyelp0wiwrArb1Zl2XpnS4w/pbANGgDz887aPIC1WeO8MTpaEL3myx1ffV4zjkNp+xV8J9Ux4= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1709303937; c=relaxed/simple; bh=X2Dh5Zq/YcYLKiB0AUawCC7uukn+BmtKNmgK049V1zk=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=MYkMTWm4oUllAUaLf7yYfVcwIKYpeB1ROjbsLTz217G1DQ9i1sUestQatsjGaTPA03f90N2ddbYn7uX+6bF9aXvjFDm/oReYY1ePCYm0LB4tzrNu3sKKVFW1Mi3Vs5YcwazoRGbtcGplknWP3GadWG9adTS7ryjyAYmrX8iV3S8= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 421Dx4hq026176; Fri, 1 Mar 2024 14:38:52 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-11-20; bh=X2Dh5Zq/YcYLKiB0AUawCC7uukn+BmtKNmgK049V1zk=; b=h/BXx8MbukmB6DN9+/Tfp2AT4ZdNxCPOCgv6F1WBEezLXVeQF/jajYDyUlxKjctotxLp kY50KHkMu7NZxIIB8qiCfcW4KnShPYa3QeTqR545Usl+gCl2ctRGmg78qS944mHrQPlO NOaRCpkcXerl3ci4NDl/EVJUHzrncH5ImfbEBx33a9JFhyecmmghqbUVk4QfiErHskyE zi9zZYOn4dEj0QthDUq451Z/tA7jAPBfXx40CLL2NHC+9oaFw/c0D35lTcAV5p1rbaqu 90h+Bi/wQeDBU9/cUCL47Yv3en5NWPGYLYiXD3HqARf7JQXLZkBrvyyGKiRJtQh8WGPB Tw== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3wf8gds9rc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 01 Mar 2024 14:38:51 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 421EIsui015261; Fri, 1 Mar 2024 14:38:50 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2100.outbound.protection.outlook.com [104.47.55.100]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3wf6wcdbyp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 01 Mar 2024 14:38:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KIlpYei6cCtq9TBvGrQBRF0vf1BrUjzC5jB4FLRdpV6wjyWe6i2egHZy8SZ+kil0MPoY/R+djvKowHofOIuqdvLbnIGBifyFoqkbI2NgvUMhuoMGY3MxcHMASPknAXKpAIn0ZVihMzskk/l43S5sKG6cZmoxnPvC/Nhq6LcIJGT8J78mUngPpMihl+WepMJTVvT0XaFT3usL/1Z2GRGu+wb/0MpLIFdRN+TxrvEhe2Ae8mPeGii6D+3/SpC/PjdZmsdlKD7Zatw+6WsvynupX16bP2Y7Uh/m/UD23EadS4YtNq1zq/6KOjgCTgGj9W2LfQHBMw1juvl7rg3s6tFFEg== 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=X2Dh5Zq/YcYLKiB0AUawCC7uukn+BmtKNmgK049V1zk=; b=Z6GLPpe5e3sZ5u9lMhw5yp4C/CZp991VCOwqEz+f+fe6BcvMte2Je3PWK1S0THzQxJUZFMQcWYo0vdAwLXPoxGJJh6jhkU7fRAu7AHO10p3HMyxCOSfWwx1U/RITtPZncmp21BX9wjFgK5vQqQAAQs8sAtmwSNF8LQwhfpy/HWr4vOVNFQ9WD63JAwIyb69k4I05CO4AO+fauh9f+eDqsBx7WUtfwMZVO+wXSGPN7xJk3hA0MsHgukTpnQwo1LBVKIwY9avXNsgkqiT82xmqwy7ARfK/C3QrPr0MBN06hRo4HXgCWtD+OGMgQ9Rg2rjHW1UMST6bLHgKwdq0+A8TDA== 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=X2Dh5Zq/YcYLKiB0AUawCC7uukn+BmtKNmgK049V1zk=; b=OmhU576Zw4uvUHrcY2ooDiWqw0545GXnh0kYoxJhIdVSNb7uo3/1oo03Xs6MvV+63zr8dIGRr9R8mwu55BVTDoaaU94dTf9QMnXsZxzOuYipW8nMoJ8Cy6uTjeFazzMfkFM4G8cRRDoYXtVawZ9BpPh9FqgJyOgj3hLKsSoCeN0= Received: from CY8PR10MB6538.namprd10.prod.outlook.com (2603:10b6:930:5a::17) by MN2PR10MB4349.namprd10.prod.outlook.com (2603:10b6:208:1d4::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7339.34; Fri, 1 Mar 2024 14:38:48 +0000 Received: from CY8PR10MB6538.namprd10.prod.outlook.com ([fe80::2dae:7852:9563:b4bc]) by CY8PR10MB6538.namprd10.prod.outlook.com ([fe80::2dae:7852:9563:b4bc%5]) with mapi id 15.20.7339.033; Fri, 1 Mar 2024 14:38:48 +0000 From: Qing Zhao To: "josmyers@redhat.com" , "richard.guenther@gmail.com" , "siddhesh@gotplt.org" , "uecker@tugraz.at" CC: "keescook@chromium.org" , "isanbard@gmail.com" , "gcc-patches@gcc.gnu.org" Subject: Re: [PATCH v6 0/5]New attribute "counted_by" to annotate bounds for C99 FAM(PR108896) Thread-Topic: [PATCH v6 0/5]New attribute "counted_by" to annotate bounds for C99 FAM(PR108896) Thread-Index: AQHaYRD5SYfOfOv5Y0COtyZFj4U85LEjCiiA Date: Fri, 1 Mar 2024 14:38:48 +0000 Message-ID: <31000746-1535-48A6-BA15-4A07317A5410@oracle.com> References: <20240216194723.391359-1-qing.zhao@oracle.com> In-Reply-To: <20240216194723.391359-1-qing.zhao@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3774.400.31) x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CY8PR10MB6538:EE_|MN2PR10MB4349:EE_ x-ms-office365-filtering-correlation-id: 5f2096c4-1be5-4c16-cbe4-08dc39fd4e34 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: tSuGioiHZoM31vG00aegQRyrz8ZTtybC5kKFHES6cW/FPFdiRNvxpdMS0K4WFhckx2rQPWuURtdRvw3FkxqfaMSsKpCxPTQ63L7R/RF17xTpNIXKrpk9F/IUV+yUtv71zp5XacV6FiNmYWh6Ir86KPpDe3kHFlnbpLWIY2yMk1k/kgTXr7Bvp3hQwNnXR9mc8t4xISPQahsrl7cJEqL5xdQjrtvaM2bCFb62i24Kvmh+wm2Dm7ti38ikY8/NIfXKLRqwkVftYUrEJmMe/xPqLLEsxPcgxHiR+0jiMONwDQqGd3dldjm2QiTg2KUOIHXs4ck6epWNa3uhX8ZBWXUS2ugWXoWuN5+eZkECaqGoq4MKtNiKKXGcB7IIiT7RpJ1mWd3sJtvGrPs6LzG4bvPibzLqj1ZpXUp1ARzJtvIMlxmq+kYgPZMJ82MxT0q/l+k/bPLr7r01B139BlCctEiT4qTMpXD5aGkXrgRmuzC/HkmrLZwYWRKIx5NH30zq9pjg0G7tO+TG0jAqt6MRwTmn6I53ZPEu2izoaVfS9A5TqPrVSJWO+d29XX9wGYcNoC6KLgImkxgNgGdLMjTzxGf/JdnEfQseYQij5RGw24eyOJ1G9KZMhJbrpSvA8OK0Ci98Wqbj85d0CL/plYICg7LXysIW8agW5CARAXOcTsD/j2h2mP2lL575NBddqBuh7+08 x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY8PR10MB6538.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(38070700009);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MEgzakFUNnltTUpCWS9wbG5VNjdDMUhoSmppYWhiU3hnTFBLU3VFQ0ZVYita?= =?utf-8?B?QXY0NHppcGZXOWFLVWVaVHI2V1E5alhaL1pqdk1ydG9HYTVHazRyVU1MY3Mv?= =?utf-8?B?dDlrYmZCQXBLZ0Nud3hQVHVMOTN3QmtCSmNKSlJITk42WXN0NVR6Qm9Fc0F5?= =?utf-8?B?MGRLZFlDMUIyeTVVZ2ZMZE81RGdWK1pqcnZuWTNqMDJ4LzVuaWxVODhVM1FU?= =?utf-8?B?THNJdE1nUFBCa2R4aWYxeVZjRHhvbXZRYW92QXl3V25aNlozVStmWlRrTHYr?= =?utf-8?B?TG9kZFl2RWR4ZXBDWUw4NjNwR29TVkR1MVZrU3ZlNklyRU5ZVTM4WU9hNTRn?= =?utf-8?B?cHdhLzRXZFdFcWpQSytiRVB2WWFDU0loUnoxQXAvc1BVK01NUXFPdVhaYTZZ?= =?utf-8?B?ckt2RFdpdEI3SmxzTEtHWDRqZDltQ2kvOFpTTkYwZUt5cW1xaDdJanJla3NQ?= =?utf-8?B?Mm56UWxxUkdmTllnUDkwQ1drcmRkbHh6ZEdBZG1NTmJTY0ZNM3pjcTdGY3JE?= =?utf-8?B?by9YOFBmdDdqQkJnc3ZOZWN1VzlVQW9HTkhGQ3FLUDROZE5wZUFEYW5IRXJa?= =?utf-8?B?dGxva1dzMVk4RFFXZHIyeStSSjNxc2l3TThzYm1WM2VWdm5qUTUzdUZ4U3h4?= =?utf-8?B?VmpyN1R0WWFqb0I3eUEwQTFKVlo5c2d4WWM3dkUwVnhScm5iWDVtOW9uVExP?= =?utf-8?B?RUNrWnczTWpoRTYrZzhSbks1aklRdTFwcHUxNWw5VzNwRXBOVGk0aW9oSVlY?= =?utf-8?B?WWJWSnljby8wU2NleTRmTExaSWJGTVg1UG96MklheERiRXpqdE85RVhUTUc1?= =?utf-8?B?cS9mQUpuTkVmZ0g2ZjRxQzNvMVZONzFsZ3VTL1VCVW85czcrcU5sN0V2NDk5?= =?utf-8?B?L3BrWXR1aGUzNjFpU1pGbmxSM0dyeEd0cERXN1JjRWF0TUpMYmpBOXJEWGFW?= =?utf-8?B?dlNEQkRrMGQvREZwKzNIL1NRWmkyRStXYkJvbjlCaDJhNCtPUjBIdnh5MlBI?= =?utf-8?B?MnJmSVFZSkIyMnBKdnYrY3VDMUhFMUYxUDhsUyttS0gvbnBaK0RzUkhRbmEw?= =?utf-8?B?T1B5UEV0NUdjOS91T25WWUpEQ05TcFdITGw0TEN4OTF4MlE4My9PSG5kMGda?= =?utf-8?B?bXU5Rys0OFZvYzBNcGx6WmJaTWM0dnViSTE3aEZQNm5naXNJUWNRdFZvejJH?= =?utf-8?B?cUs1cUNublFabVh2TXJpazhLZHAwZnJLN1h4bE8vajBBQ1dydG1lL1JjcFlC?= =?utf-8?B?N2pGZ0o1aXIvS2xNdytreklLU21GaHBFMllmYkxUNGxTaDIwam9RdW1ISnNu?= =?utf-8?B?c1lORkkyZDlMYnpRdmVYYWR6MkQwUjJlRngrMDI3bmJOTWhueHZ0MmxKS1RK?= =?utf-8?B?cHhEaDhSRVlSRlZiK1F3dzdnNTRTbnhFazRWbUJ5dllVTUtyUmJSZXBleEJU?= =?utf-8?B?b2xSTFMvdGdkTjlWWUVKSkF6TVk5M3JTSVN5MVkrSDhWdU1FVnhQcjBzQWxi?= =?utf-8?B?cnBxWGNGdk5EeWRKaDIwNlp4NlpoMkUvV3N6a2w0WE52T2d0cWZ6TXBRaEox?= =?utf-8?B?WlpIR2ZJd1ZYVDZhYmJJdmRlenlYaWpJSTQ4UThhbkMydTVsUzBvd0dFNzMz?= =?utf-8?B?a2pFMnpNTW5VWkh3elpURFZMNEd4a3Z1TEdvcUNxbkkrUnhObkxIa1dmSjVU?= =?utf-8?B?SWJvOTUvb3JzL2p1SVJmTFZFamZ6UGtuczBXaDErK29rUUZkTG1Tc2VjcDlZ?= =?utf-8?B?L2Z0UU9SckxabU8yOTF3ck5TVUt6VzZxREk4VXBzU25pUit1Mm8wdit1U0ZK?= =?utf-8?B?MkovSjJCbU1jemIwUGJERUI2VTk5VG56a0hWZWpCT2ZjbEhzUStUQ0JmUUV1?= =?utf-8?B?cDVLNjA3eVlhRno1WDhhTEZVbDRtczQvUEFUSzZ3QmlSdmcxL3EwRjRpQTBK?= =?utf-8?B?dFZ1VE9OR3JHQU4vOERIV015ZXRBWGpWeWNiY2xZUnNHQ2N2cnFIRE5OdTFU?= =?utf-8?B?cUZZRXZRd0x6cGRHVUp2U1BXc1c5YmswOTk5Qm5xSkRzajJ3bmNrSEtYN3lz?= =?utf-8?B?TFVXMEpTdU51Z1lkQUx6dW5MUTRWYjJ1NDJHM1FSbXhKY0Jydkk1aU40aExi?= =?utf-8?B?QUFnU2Z5Mi9pL1dWN3E2ZmM1VVdmWGFmRXF1ckQxZEN3ZmgwNWUxMGtpd0g4?= =?utf-8?Q?FSkWXclKKLJpGpMbpDGFsRo=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: F1Aaest3n3n1LdwRQmtgH1DRsATDS5r/tIuS+BWEL6wbVD3QIscvd9Fe4+GQTa1EJPUKQUhK8AscLfNMvjQGKKWHallyMJkXIn1sIP+GFNyxoEBHgTo00Lzn3jf4KT2fHyFYX2Sf5PDCDEzOry53hwnHj6Ugz6U68GQ0JfzgsIlfqS4ZIonBRo5XOJuj/xpKVj1RlEgm4P7GGWtXRBzQggAfE7o3BYTAiVktW7pUc24zMNcfxky1DnaJrwZTo+FtHQLTFQsznkPxKM0TJ6zSILSM354UCkDnF8kHC3HPcdMmbQFjjeo70mGIdDInx+5Uc8i50XlAII/Ew675+vFxflGfb2T0rNfODcTaZ9gyAC5Z3N4gpCH+h7ta6+MPmMOmo4fOOGybyVyRxo9FyDwgZshcUB7zno2LImCgP/xHbyCrVSLyiOtbBxkc8Fz8p9pvOJWAhlDIuMxMblBiVqTTR1UpibBdh5s9jRaCgrk/E4dZAiblsJotIooP22L5q1KeuMyf3Ae1HpMy7sniwoJj4jQJQ6wJNBfl2XPc994si03FDAFMYd6mnrggRrnTDbqYrYaUuYSKjxNSMBVACQx2dc675C+iUfNwHvfWBQp84X8= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY8PR10MB6538.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5f2096c4-1be5-4c16-cbe4-08dc39fd4e34 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Mar 2024 14:38:48.0970 (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: +ZETaRJCC5lZ2xgip0MhZE19gzwfjEhZPgUeNQMAaUhZE5gkIind19xj9IjV+Ui0xfXh7aIZaHuBft+dMmkRaQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR10MB4349 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-03-01_14,2024-03-01_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 phishscore=0 spamscore=0 mlxlogscore=999 malwarescore=0 adultscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2403010122 X-Proofpoint-ORIG-GUID: wD93ehT2uxl6O98iVoOpt054grXF7WuC X-Proofpoint-GUID: wD93ehT2uxl6O98iVoOpt054grXF7WuC X-Spam-Status: No, score=-4.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_SHORT,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H4,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: UGluZyBvbiB0aGlzIHBhdGNoIHNldC4NCg0KVGhhbmtzIGEgbG90IQ0KDQpRaW5nDQoNCj4gT24g RmViIDE2LCAyMDI0LCBhdCAxNDo0NywgUWluZyBaaGFvIDxxaW5nLnpoYW9Ab3JhY2xlLmNvbT4g d3JvdGU6DQo+IA0KPiBIaSwNCj4gDQo+IFRoaXMgaXMgdGhlIDZ0aCB2ZXJzaW9uIG9mIHRoZSBw YXRjaC4NCj4gDQo+IGNvbXBhcmUgd2l0aCB0aGUgNXRoIHZlcnNpb24sIHRoZSBvbmx5IGRpZmZl cmVuY2UgaXM6DQo+IA0KPiAxLiBBZGQgdGhlIDZ0aCBhcmd1bWVudCB0byAuQUNDRVNTX1dJVEhf U0laRQ0KPiAgIHRvIGNhcnJ5IHRoZSBUWVBFIG9mIHRoZSBmbGV4aWJsZSBhcnJheS4NCj4gICBT dWNoIGluZm9ybWF0aW9uIGlzIG5lZWRlZCBkdXJpbmcgdHJlZS1vYmplY3Qtc2l6ZS5jYy4NCj4g DQo+ICAgcHJldmlvdXNseSwgd2UgdXNlIHRoZSByZXN1bHQgdHlwZSBvZiB0aGUgcm91dGluZQ0K PiAgIC5BQ0NFU1NfV0lUSF9TSVpFIHRvIGRlY2lkZSB0aGUgZWxlbWVudCB0eXBlIG9mIHRoZQ0K PiAgIG9yaWdpbmFsIGFycmF5LCBob3dldmVyLCB0aGUgcmVzdWx0IHR5cGUgb2YgdGhlIHJvdXRp bmUNCj4gICBtaWdodCBiZSBjaGFuZ2VkIGR1cmluZyB0cmVlIG9wdGltaXphdGlvbnMgZHVlIHRv IA0KPiAgIHBvc3NpYmxlIHR5cGUgY2FzdGluZyBpbiB0aGUgc291cmNlIGNvZGUuDQo+IA0KPiAN Cj4gY29tcGFyZSB3aXRoIHRoZSA0dGggdmVyc2lvbiwgdGhlIG1ham9yIGRpZmZlcmVuY2UgYXJl Og0KPiANCj4gMS4gQ2hhbmdlIHRoZSByZXR1cm4gdHlwZSBvZiB0aGUgcm91dGluZSAuQUNDRVNT X1dJVEhfU0laRSANCj4gICBGUk9NOg0KPiAgICAgUG9pbnRlciB0byB0aGUgdHlwZSBvZiB0aGUg ZWxlbWVudCBvZiB0aGUgZmxleGlibGUgYXJyYXk7DQo+ICAgVE86DQo+ICAgICBQb2ludGVyIHRv IHRoZSB0eXBlIG9mIHRoZSBmbGV4aWJsZSBhcnJheTsNCj4gICAgQW5kIHRoZW4gd3JhcCB0aGUg Y2FsbCB3aXRoIGFuIGluZGlyZWN0aW9uIHJlZmVyZW5jZS4gDQo+IA0KPiAyLiBBZGp1c3QgYWxs IG90aGVyIHBhcnRzIHdpdGggdGhpcyBjaGFuZ2UsICh0aGlzIHdpbGwgc2ltcGxpZnkgdGhlIGJv dW5kIHNhbml0aXplciBpbnN0cnVtZW50KTsNCj4gDQo+IDMuIEFkZCB0aGUgZml4ZXMgdG8gdGhl IGtlcm5lbCBidWlsZGluZyBmYWlsdXJlcywgd2hpY2ggaW5jbHVkZToNCj4gICAgQS4gVGhlIG9w ZXJhdG9yIOKAnHR5cGVvZuKAnSBjYW5ub3QgcmV0dXJuIGNvcnJlY3QgdHlwZSBmb3IgYS0+YXJy YXk7IA0KPiAgICBCLiBUaGUgb3BlcmF0b3Ig4oCcJuKAnSBjYW5ub3QgcmV0dXJuIGNvcnJlY3Qg YWRkcmVzcyBmb3IgYS0+YXJyYXk7DQo+IA0KPiA0LiBDb3JyZWN0bHkgaGFuZGxlIHRoZSBjYXNl IHdoZW4gdGhlIHZhbHVlIG9mIOKAnGNvdW50ZWQtYnnigJ0gaXMgemVybyBvciBuZWdhdGl2ZSBh cyBmb2xsb3dpbmcNCj4gICA0LjEuIFVwZGF0ZSB0aGUgY291bnRlZC1ieSBkb2Mgd2l0aCB0aGUg Zm9sbG93aW5nOg0KPiAgICBXaGVuIHRoZSBjb3VudGVkLWJ5IGZpZWxkIGlzIGFzc2lnbmVkIGEg bmVnYXRpdmUgaW50ZWdlciB2YWx1ZSwgdGhlIGNvbXBpbGVyIHdpbGwgdHJlYXQgdGhlIHZhbHVl IGFzIHplcm8uIA0KPiAgIDQuMi4gQWRqdXN0IF9fYmRvcyBhbmQgYXJyYXkgYm91bmQgc2FuaXRp emVyIHRvIGhhbmRsZSBjb3JyZWN0bHkgd2hlbiDigJxjb3VudGVkLWJ54oCdIGlzIHplcm8uIA0K PiANCj4gDQo+IEl0IGJhc2VkIG9uIHRoZSBmb2xsb3dpbmcgcHJvcG9zYWw6DQo+IA0KPiBodHRw czovL2djYy5nbnUub3JnL3BpcGVybWFpbC9nY2MtcGF0Y2hlcy8yMDIzLU5vdmVtYmVyLzYzNTg4 NC5odG1sDQo+IFJlcHJlc2VudCB0aGUgbWlzc2luZyBkZXBlbmRlbmNlIGZvciB0aGUgImNvdW50 ZWRfYnkiIGF0dHJpYnV0ZSBhbmQgaXRzIGNvbnN1bWVycw0KPiANCj4gKioqKioqVGhlIHN1bW1h cnkgb2YgdGhlIHByb3Bvc2FsIGlzOg0KPiANCj4gKiBBZGQgYSBuZXcgaW50ZXJuYWwgZnVuY3Rp b24gIi5BQ0NFU1NfV0lUSF9TSVpFIiB0byBjYXJyeSB0aGUgc2l6ZSBpbmZvcm1hdGlvbiBmb3Ig ZXZlcnkgcmVmZXJlbmNlIHRvIGEgRkFNIGZpZWxkOw0KPiAqIEluIEMgRkUsIFJlcGxhY2UgZXZl cnkgcmVmZXJlbmNlIHRvIGEgRkFNIGZpZWxkIHdob3NlIFRZUEUgaGFzIHRoZSAiY291bnRlZF9i eSIgYXR0cmlidXRlIHdpdGggdGhlIG5ldyBpbnRlcm5hbCBmdW5jdGlvbiAiLkFDQ0VTU19XSVRI X1NJWkUiOw0KPiAqIEluIGV2ZXJ5IGNvbnN1bWVyIG9mIHRoZSBzaXplIGluZm9ybWF0aW9uLCBm b3IgZXhhbXBsZSwgQkRPUyBvciBhcnJheSBib3VuZCBzYW5pdGl6ZXIsIHF1ZXJ5IHRoZSBzaXpl IGluZm9ybWF0aW9uIG9yIEFDQ0VTU19NT0RFIGluZm9ybWF0aW9uIGZyb20gdGhlIG5ldyBpbnRl cm5hbCBmdW5jdGlvbjsNCj4gKiBXaGVuIGV4cGFuc2luZyB0byBSVEwsIHJlcGxhY2UgdGhlIGlu dGVybmFsIGZ1bmN0aW9uIHdpdGggdGhlIGFjdHVhbCByZWZlcmVuY2UgdG8gdGhlIEZBTSBmaWVs ZDsNCj4gKiBTb21lIGFkanVzdG1lbnQgdG8gaXBhIGFsaWFzIGFuYWx5c2lzLCBhbmQgb3RoZXIg U1NBIHBhc3NlcyB0byBtaXRpZ2F0ZSB0aGUgaW1wYWN0IHRvIHRoZSBvcHRpbWl6ZXIgYW5kIGNv ZGUgZ2VuZXJhdGlvbi4NCj4gDQo+IA0KPiAqKioqKipUaGUgbmV3IGludGVybmFsIGZ1bmN0aW9u DQo+IA0KPiAgLkFDQ0VTU19XSVRIX1NJWkUgKFJFRl9UT19PQkosIFJFRl9UT19TSVpFLCBDTEFT U19PRl9TSVpFLCBUWVBFX09GX1NJWkUsIEFDQ0VTU19NT0RFLCBUWVBFX09GX1JFRikNCj4gDQo+ IElOVEVSTkFMX0ZOIChBQ0NFU1NfV0lUSF9TSVpFLCBFQ0ZfTEVBRiB8IEVDRl9OT1RIUk9XLCBO VUxMKQ0KPiANCj4gd2hpY2ggcmV0dXJucyB0aGUgIlJFRl9UT19PQkoiIHNhbWUgYXMgdGhlIDFz dCBhcmd1bWVudDsNCj4gDQo+IEJvdGggdGhlIHJldHVybiB0eXBlIGFuZCB0aGUgdHlwZSBvZiB0 aGUgZmlyc3QgYXJndW1lbnQgb2YgdGhpcyBmdW5jdGlvbiBoYXZlIGJlZW4gY29udmVydGVkIGZy b20gdGhlIGluY29tcGxldGUgYXJyYXkgdHlwZSB0byB0aGUgY29ycmVzcG9uZGluZyBwb2ludGVy IHR5cGUuDQo+IA0KPiBUaGUgY2FsbCB0byAuQUNDRVNTX1dJVEhfU0laRSBpcyB3cmFwcGVkIHdp dGggYW4gSU5ESVJFQ1RfUkVGLCB3aG9zZSB0eXBlIGlzIHRoZSBvcmlnaW5hbCBpbWNvbXBsZXRl IGFycmF5IHR5cGUuDQo+IA0KPiBQbGVhc2Ugc2VlIHRoZSBmb2xsb3dpbmcgbGluayBmb3Igd2h5 Og0KPiBodHRwczovL2djYy5nbnUub3JnL3BpcGVybWFpbC9nY2MtcGF0Y2hlcy8yMDIzLU5vdmVt YmVyLzYzODc5My5odG1sDQo+IGh0dHBzOi8vZ2NjLmdudS5vcmcvcGlwZXJtYWlsL2djYy1wYXRj aGVzLzIwMjMtRGVjZW1iZXIvNjM5NjA1Lmh0bWwNCj4gDQo+IDFzdCBhcmd1bWVudCAiUkVGX1RP X09CSiI6IFRoZSByZWZlcmVuY2UgdG8gdGhlIG9iamVjdDsNCj4gMm5kIGFyZ3VtZW50ICJSRUZf VE9fU0laRSI6IFRoZSByZWZlcmVuY2UgdG8gdGhlIHNpemUgb2YgdGhlIG9iamVjdCwNCj4gM3Jk IGFyZ3VtZW50ICJDTEFTU19PRl9TSVpFIjogVGhlIHNpemUgcmVmZXJlbmNlZCBieSB0aGUgUkVG X1RPX1NJWkUgcmVwcmVzZW50cw0KPiAgIDA6IHVua25vd247DQo+ICAgMTogdGhlIG51bWJlciBv ZiB0aGUgZWxlbWVudHMgb2YgdGhlIG9iamVjdCB0eXBlOw0KPiAgIDI6IHRoZSBudW1iZXIgb2Yg Ynl0ZXM7DQo+IDR0aCBhcmd1bWVudCAiVFlQRV9PRl9TSVpFIjogQSBjb25zdGFudCAwIHdpdGgg dGhlIFRZUEUgb2YgdGhlIG9iamVjdA0KPiAgcmVmZWQgYnkgUkVGX1RPX1NJWkUNCj4gNXRoIGFy Z3VtZW50ICJBQ0NFU1NfTU9ERSI6DQo+ICAtMTogVW5rbm93biBhY2Nlc3Mgc2VtYW50aWNzDQo+ ICAgMDogbm9uZQ0KPiAgIDE6IHJlYWRfb25seQ0KPiAgIDI6IHdyaXRlX29ubHkNCj4gICAzOiBy ZWFkX3dyaXRlDQo+IDZ0aCBhcmd1bWVudCAiVFlQRV9PRl9SRUYiOiBBIGNvbnN0YW50IDAgd2l0 aCB0aGUgcG9pbnRlciBUWVBFIHRvDQo+ICB0aGUgb3JpZ2luYWwgZmxleGlibGUgYXJyYXkgdHlw ZS4NCj4gDQo+ICoqKioqKiBUaGUgUGF0Y2ggc2V0cyBpbmNsdWRlZDoNCj4gDQo+IDEuIFByb3Zp ZGUgY291bnRlZF9ieSBhdHRyaWJ1dGUgdG8gZmxleGlibGUgYXJyYXkgbWVtYmVyIGZpZWxkOw0K PiAgICAgIHdoaWNoIGluY2x1ZGVzOg0KPiAgICAgICogImNvdW50ZWRfYnkiIGF0dHJpYnV0ZSBk b2N1bWVudGF0aW9uOw0KPiAgICAgICogQyBGRSBoYW5kbGluZyBvZiB0aGUgbmV3IGF0dHJpYnV0 ZTsNCj4gICAgICAgIHN5bnRheCBjaGVja2luZywgZXJyb3IgcmVwb3J0aW5nOw0KPiAgICAgICog dGVzdGluZyBjYXNlczsNCj4gDQo+IDIuIENvbnZlcnQgImNvdW50ZWRfYnkiIGF0dHJpYnV0ZSB0 by9mcm9tIC5BQ0NFU1NfV0lUSF9TSVpFLg0KPiAgICAgIHdoaWNoIGluY2x1ZGVzOg0KPiAgICAg ICogVGhlIGRlZmluaXRpb24gb2YgdGhlIG5ldyBpbnRlcm5hbCBmdW5jdGlvbiAuQUNDRVNTX1dJ VEhfU0laRSBpbiBpbnRlcm5hbC1mbi5kZWYuDQo+ICAgICAgKiBDIEZFIGNvbnZlcnRzIGV2ZXJ5 IHJlZmVyZW5jZSB0byBhIEZBTSB3aXRoICJjb3VudGVkX2J5IiBhdHRyaWJ1dGUgdG8gYSBjYWxs IHRvIHRoZSBpbnRlcm5hbCBmdW5jdGlvbiAuQUNDRVNTX1dJVEhfU0laRS4NCj4gICAgICAgIChi dWlsZF9jb21wb25lbnRfcmVmIGluIGNfdHlwZWNrLmNjKQ0KPiAgICAgICAgVGhpcyBpbmNsdWRl cyB0aGUgY2FzZSB3aGVuIHRoZSBvYmplY3QgaXMgc3RhdGljYWxseSBhbGxvY2F0ZWQgYW5kIGlu aXRpYWxpemVkLg0KPiAgICAgICAgSW4gb3JkZXIgdG8gbWFrZSB0aGlzIHdvcmtpbmcsIHdlIHNo b3VsZCB1cGRhdGUgaW5pdGlhbGl6ZXJfY29uc3RhbnRfdmFsaWRfcF8xIGFuZCBvdXRwdXRfY29u c3RhbnQgaW4gdmFyYXNtLmNjIHRvIGluY2x1ZGUgY2FsbHMgdG8gLkFDQ0VTU19XSVRIX1NJWkUu DQo+IA0KPiAgICAgICAgSG93ZXZlciwgZm9yIHRoZSByZWZlcmVuY2UgaW5zaWRlICJvZmZzZXRv ZiIsIGlnbm9yZSB0aGUgImNvdW50ZWRfYnkiIGF0dHJpYnV0ZSBzaW5jZSBpdCdzIG5vdCB1c2Vm dWwgYXQgYWxsLiAoY19wYXJzZXJfcG9zdGZpeF9leHByZXNzaW9uIGluIGMvYy1wYXJzZXIuY2Mp DQo+IAlJbiBhZGR0aW9uIHRvICJvZmZzZXRvZiIsIGZvciB0aGUgcmVmZXJlbmNlIGluc2lkZSBv cGVyYXRvciAidHlwZW9mIiBhbmQNCj4gICJhbGlnbm9mIiwgd2UgaWdub3JlIGNvdW50ZWRfYnkg YXR0cmlidXRlIHRvby4NCj4gIAlXaGVuIGJ1aWxkaW5nIEFERFJfRVhQUiBmb3IgdGhlIC5BQ0NF U1NfV0lUSF9TSVpFIGluIEMgRkUsDQo+ICByZXBsYWNlIHRoZSBjYWxsIHdpdGggaXRzIGZpcnN0 IGFyZ3VtZW50Lg0KPiANCj4gICAgICAqIENvbnZlcnQgZXZlcnkgY2FsbCB0byAuQUNDRVNTX1dJ VEhfU0laRSB0byBpdHMgZmlyc3QgYXJndW1lbnQuDQo+ICAgICAgICAoZXhwYW5kX0FDQ0VTU19X SVRIX1NJWkUgaW4gaW50ZXJuYWwtZm4uY2MpDQo+ICAgICAgKiBhZGp1c3QgYWxpYXMgYW5hbHlz aXMgdG8gZXhjbHVkZSB0aGUgbmV3IGludGVybmFsIGZyb20gY2xvYmJlcmluZyBhbnl0aGluZy4N Cj4gICAgICAgIChyZWZfbWF5YmVfdXNlZF9ieV9jYWxsX3BfMSBhbmQgY2FsbF9tYXlfY2xvYmJl cl9yZWZfcF8xIGluIHRyZWUtc3NhLWFsaWFzLmNjKQ0KPiAgICAgICogYWRqdXN0IGRlYWQgY29k ZSBlbGltaW5hdGlvbiB0byBlbGltaW5hdGUgdGhlIGNhbGwgdG8gLkFDQ0VTU19XSVRIX1NJWkUg d2hlbg0KPiAgICAgICAgaXQncyBMSFMgaXMgZWxpbWluYXRlZCBhcyBkZWFkIGNvZGUuDQo+ICAg ICAgICAoZWxpbWluYXRlX3VubmVjZXNzYXJ5X3N0bXRzIGluIHRyZWUtc3NhLWRjZS5jYykNCj4g ICAgICAqIFByb3ZpZGUgdGhlIHV0aWxpdHkgcm91dGluZXMgdG8gY2hlY2sgdGhlIGNhbGwgaXMg LkFDQ0VTU19XSVRIX1NJWkUgYW5kDQo+ICAgICAgICBnZXQgdGhlIHJlZmVyZW5jZSBmcm9tIHRo ZSBjYWxsIHRvIC5BQ0NFU1NfV0lUSF9TSVpFLg0KPiAgICAgICAgKGlzX2FjY2Vzc193aXRoX3Np emVfcCBhbmQgZ2V0X3JlZl9mcm9tX2FjY2Vzc193aXRoX3NpemUgaW4gdHJlZS5jYykNCj4gICAg ICAqIHRlc3RpbmcgY2FzZXMuIChmb3Igb2Zmc2V0b2YsIHN0YXRpYyBpbml0aWFsaXphdGlvbiwg Z2VuZXJhdGlvbiBvZiBjYWxscyB0bw0KPiAgICAgICAgLkFDQ0VTU19XSVRIX1NJWkUsIGNvZGUg cnVucyBjb3JyZWN0bHkgYWZ0ZXIgY2FsbHMgdG8gLkFDQ0VTU19XSVRIX1NJWkUgYXJlDQo+ICAg ICAgICBjb252ZXJ0ZWQgYmFjaykNCj4gDQo+IDMuIFVzZSB0aGUgLkFDQ0VTU19XSVRIX1NJWkUg aW4gYnVpbHRpbiBvYmplY3Qgc2l6ZSAoc3ViLW9iamVjdCBvbmx5KQ0KPiAgICAgIHdoaWNoIGlu Y2x1ZGVzOg0KPiAgICAgICogdXNlIHRoZSBzaXplIGluZm8gb2YgdGhlIC5BQ0NFU1NfV0lUSF9T SVpFIGZvciBzdWItb2JqZWN0Lg0KPiAgICAgICogd2hlbiB0aGUgc2l6ZSBpcyBhIG5lZ2F0aXZl IGludGVnZXIsIHRyZWF0IGl0IGFzIHplcm8uDQo+ICAgICAgKiB0ZXN0aW5nIGNhc2VzLiANCj4g DQo+IDQgVXNlIHRoZSAuQUNDRVNTX1dJVEhfU0laRSBpbiBib3VuZCBzYW5pdGl6ZXINCj4gICAg ICB3aGljaCBpbmNsdWRlczoNCj4gICAgICAqIEluc3RydW1lbnQgYXJyYXlfcmVmIHdpdGggYSBj YWxsIHRvIC5BQ0NFU1NfV0lUSF9TSVpFIGZvciBib3VuZCBzYW5pdGl6ZXIuDQo+ICAgICAgKiB3 aGVuIHRoZSBzaXplIGlzIGEgbmVnYXRpdmUgaW50ZWdlciwgdHJlYXQgaXQgYXMgemVyby4NCj4g ICAgICAqIHRlc3RpbmcgY2FzZXMuIA0KPiANCj4gNS4gQWRkIHRoZSA2dGggYXJndW1lbnQgdG8g LkFDQ0VTU19XSVRIX1NJWkUgdG8gY2FycnkgdGhlIFRZUEUgb2YgdGhlIGZsZXhpYmxlIGFycmF5 Lg0KPiAgICAgIHdoaWNoIGluY2x1ZGVzOg0KPiAgICAgICogQWRkIHRoZSA2dGggYXJndW1lbnQg dG8gLkFDQ0VTU19XSVRIX1NJWkUuDQo+ICAgICAgKiB1c2UgdGhlIHR5cGUgb2YgdGhlIDZ0aCBh cmd1bWVudCBvZiB0aGUgcm91dGluZSBpbiB0cmVlLW9iamVjdC1zaXplLmNjDQo+ICAgICAgKiB0 ZXN0aW5nIGNhc2UuDQo+IA0KPiAqKioqKipSZW1haW5pbmcgd29ya3M6IA0KPiANCj4gNiAgSW1w cm92ZSBfX2Jkb3MgdG8gdXNlIHRoZSBjb3VudGVkX2J5IGluZm8gaW4gd2hvbGUtb2JqZWN0IHNp emUgZm9yIHRoZSBzdHJ1Y3R1cmUgd2l0aCBGQU0uDQo+IDcgIEVtaXQgd2FybmluZ3Mgd2hlbiB0 aGUgdXNlciBicmVha3MgdGhlIHJlcXVpcm1lbnRzIGZvciB0aGUgbmV3IGNvdW50ZWRfYnkgYXR0 cmlidXRlDQo+ICAgY29tcGlsYXRpb24gdGltZTogLVdjb3VudGVkLWJ5DQo+ICAgcnVuIHRpbWU6 IC1mc2FuaXRpemVyPWNvdW50ZWQtYnkNCj4gICAgICAqIFRoZSBpbml0aWFsaXphdGlvbiB0byB0 aGUgc2l6ZSBmaWVsZCBzaG91bGQgYmUgZG9uZSBiZWZvcmUgdGhlIGZpcnN0IHJlZmVyZW5jZSB0 byB0aGUgRkFNIGZpZWxkLg0KPiAgICAgICogdGhlIGFycmF5IGhhcyBhdCBsZWFzdCAjIG9mIGVs ZW1lbnRzIHNwZWNpZmllZCBieSB0aGUgc2l6ZSBmaWVsZCBhbGwgdGhlIHRpbWUgZHVyaW5nIHRo ZSBwcm9ncmFtLg0KPiANCj4gSSBoYXZlIGJvb3RzdHJhcHBlZCBhbmQgcmVncmVzc2lvbiB0ZXN0 ZWQgb24gYm90aCB4ODYgYW5kIGFhcmNoNjQsIG5vIGlzc3VlLg0KPiBMaW51eCBrZXJuZWwgbGlu dXgtNi44LXJjNCBoYXMgYmVlbiBidWlsdCBhbmQgZXhwb3NlZCBvbmUgYnVnIHdpdGggdGhlIG5l dyBjb3VudGVkLWJ5LCBmaXhlZC4NCj4gDQo+IExldCBtZSBrbm93IHlvdXIgY29tbWVudHMuDQo+ IA0KPiB0aGFua3MuDQo+IA0KPiBRaW5nDQo+IA0KPiBRaW5nIFpoYW8gKDUpOg0KPiAgUHJvdmlk ZSBjb3VudGVkX2J5IGF0dHJpYnV0ZSB0byBmbGV4aWJsZSBhcnJheSBtZW1iZXIgZmllbGQgKFBS MTA4ODk2KQ0KPiAgQ29udmVydCByZWZlcmVuY2VzIHdpdGggImNvdW50ZWRfYnkiIGF0dHJpYnV0 ZXMgdG8vZnJvbQ0KPiAgICAuQUNDRVNTX1dJVEhfU0laRS4NCj4gIFVzZSB0aGUgLkFDQ0VTU19X SVRIX1NJWkUgaW4gYnVpbHRpbiBvYmplY3Qgc2l6ZS4NCj4gIFVzZSB0aGUgLkFDQ0VTU19XSVRI X1NJWkUgaW4gYm91bmQgc2FuaXRpemVyLg0KPiAgQWRkIHRoZSA2dGggYXJndW1lbnQgdG8gLkFD Q0VTU19XSVRIX1NJWkUNCg0K