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 259DF3857341 for ; Fri, 4 Aug 2023 15:27:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 259DF3857341 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 (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 374EiVex009822; Fri, 4 Aug 2023 15:27:08 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=4XczlR+LTYnhsI9N2wrpFXAeElGHVllvv/z/01kOEyI=; b=MR8ywLAZskm3+4CdiisNAim0v+hQCozbb7ftPwdEUkQsH8OvbrrAQ7hBps5MM1mljBLW kXC+EunQ+CoJvEs8xALIGUVLN5IDmWlYJ2mMKh/Z+Fv56pJSkBJXWMStT7vAUsLecuCy gxfH4ij0Pzwpc2RXe3lcgs0R7XSD9rYC8Nkgd8YEQ5BE4LpYB2pT26P+/GSA6JVG96Mt +rN2nRrime5LB/ds2Fth7cKVJ25In/8UqZHmN6RyG71V60O6fxUAgLAW51oOxY+CnPpx rppkIdfZP5rPGd2uhr8VldymqFOnGy2lMhXWUzX7S1A6wWzjokwH8UceIilgtcUKZvjp 2g== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3s4tnbm2at-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 04 Aug 2023 15:27:08 +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 374FJgwf029618; Fri, 4 Aug 2023 15:27:07 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2103.outbound.protection.outlook.com [104.47.58.103]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3s8m297p1r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 04 Aug 2023 15:27:07 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PEDXny9vaU3b2g1HMajRpg8IsALeux1+nvVQ8fUCXg+2mI/Iig2Mxx1UFuBZw8T19c2RnVuUS3onZbrG6To2+OlH+UO7ngF+rSO3PppASOHRuc/GkdbpCZwcKzRlA37xsKwmqn4NhnNMqUiBu3yzt2cCvxbIySAcAMpLZedgrRxs4E30OKC/EojyfaTzsGTyKfM+crp8M7VLz3U/cPdffGa8vBJ1FtfQeab+nk7UG2KYWgLhc1AWUV3snZF6gELs/WcSef7cdYXMT+yzfVYu8X77Xl4f5/iAS3dNvlVQiI1bVYjzmGDivzP/t1AxWvCdD+BwWxxcFYVQs4XBkXageg== 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=4XczlR+LTYnhsI9N2wrpFXAeElGHVllvv/z/01kOEyI=; b=j16Zd9rQuUoX2trwt8qAzEgIiHFyXQ8UBFH60Xmet3dxDKQPvQgtMWDJMjBVyRwsBvfPusY/Pb/Dc0hGS1tJ735OCbbh36Vkhmoi6vUWu8vlb+1iO9Lq4OEkrYvGl6LVwTP9wAmRmlqhSiHXinunhEO/qubkpXSWr5TZY9iznobRp0aLmxNzthbZRwXBuY36X1Uo48Kogu9bgd03KK++d7ol1IR1bgV0we9t/IgyGfj4FKL5IjgYAUYUmRd5wyG6XrKEPh+4pvCDQfOU8gLk1YqyjwIcnOp74k6/dVRGW3+MSje7i/D1ErmpTVx+cnBJpI+FrjRpTQBK3SDZ8jB+TQ== 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=4XczlR+LTYnhsI9N2wrpFXAeElGHVllvv/z/01kOEyI=; b=zsLC+nNRLF7Vxg1D2mrAQOrNg1aH3eZgrEPVHNwC/cGZs5Zb/oPMVC/E0+ZfTfbsn2ISk5pU52WpW92nhzNu7rvILGCcwxP1v5RkamZ2wrn+VALHmOMONNbYrhG8xzdooIJCtGKzCeVKVxQqKKA7ER8qbNoqnUn5qf/GPtiAYAQ= Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by BN0PR10MB5206.namprd10.prod.outlook.com (2603:10b6:408:127::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.21; Fri, 4 Aug 2023 15:27:05 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::5afd:d02a:38ef:94ba]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::5afd:d02a:38ef:94ba%7]) with mapi id 15.20.6652.020; Fri, 4 Aug 2023 15:27:05 +0000 From: Qing Zhao To: Siddhesh Poyarekar CC: Kees Cook , jakub Jelinek , Qing Zhao via Gcc-patches Subject: Re: One question on the source code of tree-object-size.cc Thread-Topic: One question on the source code of tree-object-size.cc Thread-Index: AQHZw86rbTCgA0E3bEeOsv8Awc6vi6/UGjiAgAABJQCAAd00gIAAFwkAgAD8ygCAAbdngIAAB8yAgAAKEYCAAAQ1AIABYbAAgAANEwA= Date: Fri, 4 Aug 2023 15:27:05 +0000 Message-ID: <7E92B817-375C-4979-ACA3-C18EB2B4BA11@oracle.com> References: <052CB546-4787-48A9-8B87-BA909DA60388@oracle.com> <202308011549.DFC402C@keescook> <46A77E9B-7A6B-41B3-95B0-A6752671B09C@oracle.com> <7602f2ad-a4ab-0104-1679-bde15b7284a8@gotplt.org> 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_|BN0PR10MB5206:EE_ x-ms-office365-filtering-correlation-id: 248465ba-0f97-4c83-e238-08db94ff423a x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: glopDLf8v2NpjZQMsBTYx2Fii4C8/+4c2zkzOiN3m5OyrgaosliRCzSxThoQ36YnHvq1/Wm3aNhN/Tba5xkeyRweOz5TB45worDzBRUPTg2leag3yl/3wAHST3a8gH3lt+s2AXWcle1X5nIzhyGkOiec0AyhE7I0XWm42Pz6LskIcjzBd9C/KLRybEBm5u+d0MFicMimSmFtHusowEU+8LIp2HZoOED3zp2FxRNlrEVh36jDp8qMfmrT/ielCuIw1b1rp1UBXLd9qThlvSmGPorlaRdX9aM8SbX5P7samOnuZtZR1mY+ZmwvYIw4+4s7HPIQ8/XcevoQdId9/GxAzZBje3QTQfZep56mr+l5gT1vRELoeaNrboXfvlt3eOmqB6vAKieDfBnucTE2wz7ezcYre8PuQUrcuxA3TH9g5fU+sElPIUTeUgaa8mPzyn53WZpnWM3LRKLdqfLqeAjyl+Bi+nR8hOivlaallrohIadZ+M9IUB/3wfsMMqqRnrl4lVXW2c5a8AjeZbxfaOJ1yiE7Ja0ibxDWGTO/ajtl26C0vp/I1npdXUrQvb0FYMYnJk3hiOQ24X2vbCAQVtmpkwAHEAepaHMC9kRoFNfAbPjCfql4Q6BVPyly1sbIG2Rr37woH8XWTS70Lpv/IaI97g== 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)(346002)(376002)(366004)(39860400002)(136003)(396003)(451199021)(186006)(1800799003)(5660300002)(44832011)(4326008)(76116006)(6916009)(66946007)(64756008)(91956017)(2906002)(66446008)(66476007)(66556008)(316002)(54906003)(8676002)(8936002)(41300700001)(478600001)(86362001)(71200400001)(38070700005)(6486002)(6512007)(966005)(122000001)(38100700002)(33656002)(6506007)(26005)(36756003)(2616005)(83380400001)(53546011)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NmtlWEw1U1FSaS9ZdnJRU3ZTbnFCMW5qOXhpdzRLSzhMcU8wQXNjWHNKMGVE?= =?utf-8?B?REIySEwvejZ2Yll1dmgxWFlHSjVENTRkdDNvZnIyS2Vzbk03MG00dlBpZGxs?= =?utf-8?B?eEM5cUM0MlJKSHlTVHhPd0hGTlZVSWYySE52SmxTRWZUODhzeGRRMS9QZUFh?= =?utf-8?B?Y0l4ZzNXSGxTaE1tSWZhTUtmb1laa09YaGovZUZReXhPZkh5czBRS3BmN3Mx?= =?utf-8?B?NE5uUnplL05oYW83aHNJVUlaaldNTjY5TVJ0QnBudEd6T1Z0bXh4alNaZXJX?= =?utf-8?B?cU1sVmE3T3N0REZpck5nWEE3Y3hkUVJ0QVQwZTJzSzhHalRKTUxMODJways4?= =?utf-8?B?WkxpeFBTaGNTTWlVLzJ0SGRUYlFsc1ZrVlpRb3RBdk0vQ2xEaWw1V2pOMkRp?= =?utf-8?B?N0JPbEVEdWx5d2QrYVdMQTh1VGozMnZJa1N2SU9waktpbERiclc2NVNKZzli?= =?utf-8?B?YjFpNjh4L1hXSmZuemJUVTZBYlVSeVBxM2h5YW0yaURoa1NnQVYwSDZ0c2N1?= =?utf-8?B?R2NiVWhWVlVPbmdndnVPS0JHbS82djFkVklDWkdjSEFxWWQ2dmhnRTVRVzlo?= =?utf-8?B?aGtMcmw5ZitENXRoRGQyYmUyS1lLY1BqUjNheUFYdklIR2M4azhyVnhtMXda?= =?utf-8?B?T2ZMOFBKSDdHaklVTm1rR3FhWVVIdHVKOE0zQUJTbjY3cVk4U0c1VGZ5Wm5a?= =?utf-8?B?WmZ3emwyQzBnS0FvSy9VUEJYR1dqaWtwSmR6VzBuWGI3bkpTbGNGUlpVMFlL?= =?utf-8?B?RmluNy9tbUk5aFUxSGxFeVI3V1dCZHR0OGpUSE9xSllzOTl2ZjVybzN6U3Z2?= =?utf-8?B?RTNlL1JPSnJmTVF2OUk0R0ZEd0ZqRTNOSGV6RVlwWlQwT1lWWDF0M2thMlJ4?= =?utf-8?B?QW5kamMyYWhNWGd4RXFmZ1RQa0M2N0lEUURTeEtyVkd4TFI1WFRvRk81ZStX?= =?utf-8?B?YjR1Q1p4cC96Vmw1anVzeFA1VldXcFcwNHR4Ky9qanpWM3FEbkQ1dm9nMFpR?= =?utf-8?B?T0oyakt1QTlsWlVzK0Z5elN4a3ZFTWk3ektDU2RPRXd5WlZyVVN3RUgzOVNn?= =?utf-8?B?MXAvZE9FWldHZ1RiUUV4OWFiSWNBM3RJT1A4NTE2Qi84YTF5dmJSanFMR1VH?= =?utf-8?B?bDh5SDdLa3drSWpXU1hRUWtlMnpQQ0xhVVFYL3VCM3ZNa0ZrdHZRWloxRk5u?= =?utf-8?B?Ni91c0FGL2ppOUcvOTFkR2Y1MFFENUovV1pSNnZjQTlRajJlUUpqWGpFL21B?= =?utf-8?B?c3N4STRoUFBYbXZuZ0E4QlNkbW81K3A3Q1RKWkxrR2luSzNTVGd1bEVuaUtx?= =?utf-8?B?QWxQKzVXRG1OQ1ZUR0Q1OHdyNnZxaE5DUXI2ZWR5K3BJYUhsODIzYjNtK3BW?= =?utf-8?B?a25xWUJUS0dxZUpPcStGRC9pMTdSY3dld2FQemZTdjVTQytkdGRNYWw5N3BX?= =?utf-8?B?a01paVNhdU9jNjdMeVQydTNURFhOdXZrekN1ejQ2NzQ4aUQxZENFc1Z1MEQx?= =?utf-8?B?a083ckVDUVBEZ0phMVNyMU1MN25WVkNOR1cyS2VhWnEvOVBiSjVUdkZkb3hM?= =?utf-8?B?RHZwYmREbTdlSWkyNndBeEJQaEQ3YUJJbGlqM0liNGZiYlZqd1BBYzVFWis1?= =?utf-8?B?dGpCK3JId2tkY0s4OHJwMUl4V1ZHUGRDd3NPbHpnUXNuSWRnOUpSYkVjKzBq?= =?utf-8?B?RHBVTmxFRm9nN281bDRxYjBwblRDdTM1WlVHN2I3WHVWcldNK1NZMk5uSTE3?= =?utf-8?B?T0U4YUxmWDJ5eHV1TEdqb0dWMVZ6bHpvSGM1SkZ1ZDR6bktIcGttcGpSekpB?= =?utf-8?B?TkxoMTNWb1o5bmlUOXA2cDNiQTZIRE11NnJHcmExNmNYSTFsb2ZkTGxFcndT?= =?utf-8?B?Mk13MW16WGpGRWRQTHJVMmQ4enZjMlVrdzc3WU1Vb0FSRGRzRFJmSGZqeHhn?= =?utf-8?B?Q2hNcjNlMlJXZWlqNE5rR1NmL2lIcHY1NFg1cS9TQzR6ejJxRzNjNEE0Vk1E?= =?utf-8?B?QVl0VU1DQ21wWm1qY0VrdSs1V3RsMEpqa2JGNWlXWWRzcjZkRktSYXRFNHda?= =?utf-8?B?MGVtSHk3YnZJUGR4TUo4d0RRQnZEMzdKcGphWFU4R1VrVk16dHBVb052Y2pv?= =?utf-8?Q?1Dh5zcLX1cHzHcuXZlRXp9Wf/?= Content-Type: text/plain; charset="utf-8" Content-ID: <6790381A0D02F44C9B3B8CB809349DF8@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: XC1lk/U4RgvSqVFwvDwp25zlypy4y1Gv153FjT0pjtgYp43CY8Fc5WrF0tsypgUYmPpQy7SWr7r/nXRXYFxW63TUtAdzTLcE69WrGoZKbkCqZEnLAfzYonNUBH7OMndia+mYfooWGUAmucE3aWDGyDDZ7rlny0iXS2b9BT8tKQLSFk1DTw5KinVueiOueZgEtxqZkDQjtH41PhFbGiGjPee43sc+AArKtBesZ0DxhluXyidbhkW/IYLt8VQuoBznVU5sCHC1QnKMm8ikeJPIWX3mF/NOmPV9Q4vQy4QOsxDrMD54P9KhVjvqLj7IYitjMtxczOr16slSpDAIGfMouMyHdtz6QDTC6pljzOMExqPmYQYrTRSFU+PVprO7oHgh8m/FXVQrFmL99bixdbFbdlHWbDip18uZ0M2siWfisJdt6qCaczIk2JVsDbQcCzOIiLsLFzHXlxRrIGFOnZu9IesyspeUSxcK4KvWfkbI5qOYyUPOU6P6+dtuIItwc5NpCiL7LQQMkb5PUCse2htYNF5mnD7s59rZct/IInyUoti875CKk/wNdAYpd1wDMHfSfzotGB45OCOT5lBFNbYQShE6uUrMhowhHRqqJS9IzUNbBvHwVxdFiUx8xnHpdeaSjXii6hHFD09b3ydflPpG7ogAllwX2l5SXLm3IflswJNvyIMnvaW6ElYwtysUv5YLxCJqOhOxReia+BWv4Ad+Jy5dUTFqf5Oir3ro3Q07QwsgwxBI+a6gDT5ltGxw7fKyIZ1iXlFE/QDWD3tWx24inWHHKeVQZY715C07tYDy4YdEemSky57dQz3dqjSxZa0IvTCuqPDrei7EBIKfsf7oXA== 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: 248465ba-0f97-4c83-e238-08db94ff423a X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Aug 2023 15:27:05.1338 (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: NJC9ZUn2YejlVnPhdHMnHokJYY5uv9+UYVUH2+Iz+kfSg1z+cy9fBvtLbDz9oYrjeWaCreO/NbnKyTTGZQ2qHg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0PR10MB5206 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-08-04_15,2023-08-03_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 phishscore=0 bulkscore=0 mlxscore=0 adultscore=0 mlxlogscore=999 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2308040138 X-Proofpoint-ORIG-GUID: GSue6HUZSHau1WWyt-E-exgGzjfVALPG X-Proofpoint-GUID: GSue6HUZSHau1WWyt-E-exgGzjfVALPG X-Spam-Status: No, score=-5.4 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_H5,RCVD_IN_MSPIKE_WL,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: DQoNCj4gT24gQXVnIDQsIDIwMjMsIGF0IDEwOjQwIEFNLCBTaWRkaGVzaCBQb3lhcmVrYXIgPHNp ZGRoZXNoQGdvdHBsdC5vcmc+IHdyb3RlOg0KPiANCj4gT24gMjAyMy0wOC0wMyAxMzozNCwgUWlu ZyBaaGFvIHdyb3RlOg0KPj4gT25lIHRoaW5nIEkgbmVlZCB0byBwb2ludCBvdXQgZmlyc3QgaXMs IGN1cnJlbnRseSwgZXZlbiBmb3IgcmVndWxhciBmaXhlZCBzaXplIGFycmF5IGluIHRoZSBzdHJ1 Y3R1cmUsDQo+PiBXZSBoYXZlIHRoaXMgc2FtZSBpc3N1ZSwgZm9yIGV4YW1wbGU6DQo+PiAjZGVm aW5lIExFTkdUSCAxMA0KPj4gc3RydWN0IGZpeCB7DQo+PiAgIHNpemVfdCBmb287DQo+PiAgIGlu dCBhcnJheVtMRU5HVEhdOw0KPj4gfTsNCj4+IOKApg0KPj4gaW50IG1haW4gKCkNCj4+IHsNCj4+ ICAgc3RydWN0IGZpeCAqcDsNCj4+ICAgcCA9IGFsbG9jX2J1Zl9tb3JlICgpOw0KPj4gICBleHBl Y3QoX19idWlsdGluX29iamVjdF9zaXplKHAtPmFycmF5LCAxKSwgTEVOR1RIICogc2l6ZW9mKGlu dCkpOw0KPj4gICBleHBlY3QoX19idWlsdGluX29iamVjdF9zaXplKHAtPmFycmF5LCAwKSwgLTEp Ow0KPj4gfQ0KPj4gQ3VycmVudGx5LCBmb3IgX19idWlsdGluX29iamVjdF9zaXplKHAtPmFycmF5 LCAwKSwgIEdDQyByZXR1cm4gVU5LTk9XTiBmb3IgaXQuDQo+PiBUaGlzIGlzIG5vdCBhIHNwZWNp YWwgaXNzdWUgZm9yIGZsZXhpYmxlIGFycmF5IG1lbWJlci4NCj4gDQo+IFRoYXQncyBmaW5lIGZv ciBmaXhlZCBhcnJheXMgYXQgdGhlIGVuZCBvZiBhIHN0cnVjdCBiZWNhdXNlIHRoZSAid2hvbGUg b2JqZWN0IiBzaXplIGNvdWxkIGJlIGFueXRoaW5nOyBgcGAgY291bGQgYmUgcG9pbnRpbmcgdG8g dGhlIGJlZ2lubmluZyBvZiBhbiBhcnJheSBmb3IgYWxsIHdlIGtub3cuICBJZiBob3dldmVyIGBh cnJheWAgaXMgc3RyaWN0bHkgYSBmbGV4IGFycmF5LCBpLmUuOg0KPiANCj4gYGBgDQo+IHN0cnVj dCBBDQo+IHsNCj4gIHNpemVfdCBmb287DQo+ICBpbnQgYXJyYXlbXTsNCj4gfTsNCj4gYGBgDQo+ IA0KPiB0aGVuIHRoZXJlJ3Mgbm8gd2F5IGluIHZhbGlkIEMgdG8gaGF2ZSBhbiBhcnJheSBvZiBg c3RydWN0IGZpeGAsDQoNClllcyEhICAgdGhpcyBpcyBleGFjdGx5IHRoZSBwbGFjZSB0aGF0IG1h a2VzIGRpZmZlcmVuY2UgYmV0d2VlbiBzdHJ1Y3R1cmVzIHdpdGggZml4ZWQgYXJyYXlzIGFuZCB0 aGUgb25lcyB3aXRoIGZsZXhpYmxlIGFycmF5cy4gDQoNCldpdGggc3VjaCBkaWZmZXJlbmNlLCBJ IGd1ZXNzIHRoYXQgdXNpbmcgdGhlIHR5cGUgb2YgdGhlIHN0cnVjdHVyZSB3aXRoIGZsZXhpYmxl IGFycmF5IG1lbWJlciBmb3IgcC0+YXJyYXkgdG8gZ2V0IHRoZSBzaXplIG9mIHRoZSB3aG9sZSBv YmplY3QgcCBwb2ludCB0byBtaWdodCBiZSByZWFzb25hYmxlPyANCg0KPiBzbyBgcWAgbXVzdCBi ZSBwb2ludGluZyB0byBhIHNpbmdsZSBlbGVtZW50LiAgU28geW91IGNvdWxkIGRlZHVjZToNCj4g DQo+IDEuIHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIHdob2xlIG9iamVjdCB0aGF0IHEgcG9pbnRz IHRvLg0KDQpZb3UgbWVhbiB0aGF0IHRoZSBUWVBFIHdpbGwgZGV0ZXJtaW5lIHRoZSBtaW5pbXVt IHNpemUgb2YgdGhlIHdob2xlIG9iamVjdD8gIChEb2VzIHRoaXMgaW5jbHVkZSB0aGUgc2l6ZSBv ZiB0aGUgZmxleGlibGUgYXJyYXkgbWVtYmVyLCBvciBvbmx5IHRoZSBvdGhlciBwYXJ0IG9mIHRo ZSBzdHJ1Y3R1cmUgZXhjZXB0IHRoZSBmbGV4aWJsZSBhcnJheSBtZW1iZXI/KQ0KDQo+IA0KPiBh bmQNCj4gDQo+IDIuIGlmIHlvdSdyZSBhYmxlIHRvIGRldGVybWluZSB0aGUgc2l6ZSBvZiB0aGUg ZmxleCBhcnJheSAodGhyb3VnaCBfX2VsZW1lbnRfY291bnRfXyhmb28pIGZvciBleGFtcGxlKSwg eW91IGNvdWxkIGV2ZW4gZGV0ZXJtaW5lIHRoZSBtYXhpbXVtIHNpemUgb2YgdGhlIHdob2xlIG9i amVjdC4NCj4gDQo+IEZvciAoMikgdGhvdWdoLCB5b3UnZCBicmVhayBhcHBsaWNhdGlvbnMgdGhh dCBvdmVyYWxsb2NhdGUgYW5kIHRoZW4gZXhwZWN0IHRvIGJlIGFibGUgdG8gdXNlIHRoYXQgb3Zl cmFsbG9jYXRpb24gZGVzcGl0ZSB0aGUgc3BhY2Ugbm90IGJlaW5nIHJlZmxlY3RlZCBpbiB0aGUg X19lbGVtZW50X2NvdW50X18uICBJIHRoaW5rIGl0J3MgYSBidWcgaW4gdGhlIGFwcGxpY2F0aW9u IGFuZCBJIGNhbid0IHNlZSBhIHdheSBmb3IgYW4gYXBwbGljYXRpb24gdG8gYmUgYWJsZSB0byBk byB0aGlzIGluIGEgdmFsaWQgd2F5IHNvIEknbSBpbmNsaW5lZCB0b3dhcmRzIGJyZWFraW5nIGl0 Lg0KDQpDdXJyZW50bHksIHdlIGFsbG93IHRoZSBzaXR1YXRpb24gd2hlbiB0aGUgYWxsb2NhdGlv biBzaXplIGZvciB0aGUgd2hvbGUgb2JqZWN0IGlzIGxhcmdlciB0aGFuIHRoZSB2YWx1ZSByZWZs ZWN0ZWQgaW4gdGhlIOKAnGNvdW50ZWRfYnnigJ0gYXR0cmlidXRlICh0aGUgb2xkIG5hbWUgaXMg X19lbGVtZW50X2NvdW50X18pLiBCdXQgZG9u4oCZdCBhbGxvdyB0aGUgb3RoZXIgd2F5IGFyb3Vu ZCAoaS5lLCB3aGVuIHRoZSBhbGxvY2F0aW9uIHNpemUgZm9yIHRoZSB3aG9sZSBvYmplY3QgaXMg c21hbGxlciB0aGFuIHRoZSB2YWx1ZSByZWZsZWN0ZWQgaW4gdGhlIOKAnGNvdW50ZWRfYnnigJ0g YXR0cmlidXRlLiANCj4gDQo+IE9mIGNvdXJzZSwgdGhlIGZhY3QgdGhhdCBnY2MgYWxsb3dzIGZs ZXggYXJyYXlzIHRvIGJlIGluIHRoZSBtaWRkbGUgb2Ygc3RydWN0cyBicmVha3MgdGhlIGJhc2Ug YXNzdW1wdGlvbiBidXQgdGhhdCdzIHNvbWV0aGluZyB3ZSBuZWVkIHRvIGdldCByaWQgb2YgYW55 d2F5IHNpbmNlIHRoZXJlJ3Mgbm8gd2F5IGZvciB2YWxpZCBDIHByb2dyYW1zIHRvIHVzZSB0aGF0 IHNhZmVseS4NCg0KU2luY2UgR0NDMTQsIHdlIHN0YXJ0ZWQgdG8gZGVwcmVjYXRlIHRoaXMgZXh0 ZW5zaW9uIChhbGxvdyBmbGV4IGFycmF5IHRvIGJlIGluIHRoZSBtaWRkbGUgb2Ygc3RydWN0cyku DQpodHRwczovL2djYy5nbnUub3JnL3BpcGVybWFpbC9nY2MtY3ZzLzIwMjMtSnVuZS8zODU3MzAu aHRtbA0KDQpUaGFua3MuDQoNClFpbmcNCg0KDQo+IA0KPiBUaGFua3MsDQo+IFNpZA0KDQo=