From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 281C542B19; Tue, 16 May 2023 00:50:23 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A8FC940A7A; Tue, 16 May 2023 00:50:22 +0200 (CEST) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2047.outbound.protection.outlook.com [40.107.20.47]) by mails.dpdk.org (Postfix) with ESMTP id 8BBE34068E for ; Tue, 16 May 2023 00:50:20 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pWR0CNQ5Jsi+yfVbfzlPxI3GhBYAJwMUi1WsoPwS6/A=; b=8ND2VWYjb19sD1ziLNMIsWySq2OJZWkxhiEW3WGj2a/0aRok+ga7ITlIo/wANhComaT32DUrys87WqvLZEGBSzdiJNaAa4QtjQaeU6o7/DFSp6f6ryQAKZvNH+0NaUck/oUEdQ2g4NSFJc5H7Pj87demhKGQ+DEz5ruYRjGyecE= Received: from DB6PR0202CA0043.eurprd02.prod.outlook.com (2603:10a6:4:a5::29) by PA4PR08MB5888.eurprd08.prod.outlook.com (2603:10a6:102:e8::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.30; Mon, 15 May 2023 22:50:18 +0000 Received: from DBAEUR03FT025.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:a5:cafe::a4) by DB6PR0202CA0043.outlook.office365.com (2603:10a6:4:a5::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.30 via Frontend Transport; Mon, 15 May 2023 22:50:18 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DBAEUR03FT025.mail.protection.outlook.com (100.127.142.226) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.15 via Frontend Transport; Mon, 15 May 2023 22:50:17 +0000 Received: ("Tessian outbound 99a3040377ca:v136"); Mon, 15 May 2023 22:50:17 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 1bf63196f3467190 X-CR-MTA-TID: 64aa7808 Received: from d955630aa1fa.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id D948B79C-ADC2-4E0D-995A-828C10F5234D.1; Mon, 15 May 2023 22:50:11 +0000 Received: from EUR01-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d955630aa1fa.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 15 May 2023 22:50:11 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BCgO+Fz8Evuqi0d7S21A1+kr+nKvZF4RmdiHvdShJ4X843lnB23kdpAk/6CcPBK5m79xmdxonUf1flcQAUh4oGNk/63F6Af/JtJH5jaWLpDLIVG2FxQGnY2r8hKX3bhYco3jgW0wg6C9i7Yzg0WE0usdFeGdhHQtvDLT9Le9Tn1399HBU5Xqf8o1HhtrptkToRFOPGeNR+mSGIKbVselG/U9UOPkMNG8HK1nDWFTQcdAFfaHt/oCFA2a4DAN3ZS7EBNm0jNycT+mmUcjSlJRKdB5mTC5x3mRL78JpZpgzgatZd6qCCgdGwEtUgE009wF6FKnf268nQGO7IL7jEeHmg== 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=pWR0CNQ5Jsi+yfVbfzlPxI3GhBYAJwMUi1WsoPwS6/A=; b=oE1GkT+k6cUrQW3LIFZL43dkZEhiJANjC0e1PS2/FuQ2WyWuQ699m3307hDpEaK0KH+ucvDDSRjLf3PLqFESoMRkS04wdydZAZt8aWbMKtZRQQ08UfQxBDjQaCEy4C9R3W1Du0opmOpbx2Zt1esnZfGMrVxkzQUejS5oZOQLN1gOG6yEs7WDaGOsiiwA2LOgGggsaYC+cLA2ikoCMVwNOQVNqEy0+hZBX11xI8u6UZDoU8DHxZrmSErE5hEHiLGDhhc4jeUKOr6olmJNwBZBiGL1wzerSjovQNz9jSg7Iuxbv/NeWZprpVvJVkTvjg10Rd491TJuPeBIG+/w+EOTdg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pWR0CNQ5Jsi+yfVbfzlPxI3GhBYAJwMUi1WsoPwS6/A=; b=8ND2VWYjb19sD1ziLNMIsWySq2OJZWkxhiEW3WGj2a/0aRok+ga7ITlIo/wANhComaT32DUrys87WqvLZEGBSzdiJNaAa4QtjQaeU6o7/DFSp6f6ryQAKZvNH+0NaUck/oUEdQ2g4NSFJc5H7Pj87demhKGQ+DEz5ruYRjGyecE= Received: from DBAPR08MB5814.eurprd08.prod.outlook.com (2603:10a6:10:1b1::6) by DB8PR08MB5466.eurprd08.prod.outlook.com (2603:10a6:10:114::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.30; Mon, 15 May 2023 22:50:09 +0000 Received: from DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::621c:838a:cb11:19b7]) by DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::621c:838a:cb11:19b7%5]) with mapi id 15.20.6387.032; Mon, 15 May 2023 22:50:09 +0000 From: Honnappa Nagarahalli To: Jerin Jacob CC: Feifei Wang , "dev@dpdk.org" , nd , Lijian Zhang , Ruifeng Wang , nd Subject: RE: [PATCH] examples/l3fwd: add hard code to collect empty poll and NIC counters Thread-Topic: [PATCH] examples/l3fwd: add hard code to collect empty poll and NIC counters Thread-Index: AQHZg+IvkwlBTwIfrUeY+ofI+KhW0K9Uw7cAgABNoBCAAXoeAIAFa0SA Date: Mon, 15 May 2023 22:50:09 +0000 Message-ID: References: <20230511082519.4168523-1-feifei.wang2@arm.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 3152E97FE6B931459CA5C5254A19B759.0 Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: DBAPR08MB5814:EE_|DB8PR08MB5466:EE_|DBAEUR03FT025:EE_|PA4PR08MB5888:EE_ X-MS-Office365-Filtering-Correlation-Id: 0bc26de6-d217-4022-82ae-08db5596c14a x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: /bRRQbngW+Ieu3DwReShGsbLFMHeQROEnQjLxRqjLJ/U76Vi3xScSnAuYlaAfPatbYLg48+ESzKim6aJ7PBRqVCF/Bs0FOJ6GNAXxal8nDV76fTDhjZjuaKKiftdEiDBbYH2Fjl83hsMONsUwJMzBWLlprQl4aaLtshQzi5OjNSgCG2Rk37ZxlRa5q96hwoRwB3DYNbdiT6l2ZZ+xn0KEZn0gCGAfs92VQbD3+udTs46vjq44UY7AHpoYXHATi4TM5GkcRDFMtweHhKZ791haohrADKU9XnuWcNlAqxWb15X0h0sN8eB/iFSqey8ZYFVXg8DqiO8J5iWNXLmq9mm69Va0NPlQY3br+ooizm4SOiXXuxIy0FlcCKGsls4yGu5ntlegoWTwVZdr3XuJ6uMg7wPPeixiwQdcWHQHHiciOB8T+rUYOqaH3mF8iYSZDJ06NiR0P3oyHkHp/+dU29uY9jzZzrPAJtVTfPDu/ruls3/pSiDjpziZS3OgErDkMYrGVrgFh6qv/DLXorpU9NDiAwlG1RRZd2Yycs24g0M4GwYChWnINxF0BQ2d+949pfE/uWF/xAF+SYR8LlQIowg/7xViTMwT16rzHzS58l+USxg1JdPMHSlt8r+x0hWg8Aw X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBAPR08MB5814.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(366004)(136003)(376002)(346002)(396003)(39860400002)(451199021)(86362001)(122000001)(38100700002)(38070700005)(33656002)(55016003)(54906003)(66556008)(64756008)(4326008)(66476007)(478600001)(66946007)(76116006)(66446008)(6916009)(186003)(71200400001)(7696005)(53546011)(6506007)(9686003)(2906002)(41300700001)(52536014)(5660300002)(316002)(83380400001)(8676002)(8936002); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5466 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DBAEUR03FT025.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: ca10d7b6-85ed-4ebf-0cd1-08db5596bc02 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: MLaCbvvYZPJqg+Cz5eq0i2k1lId3I3/UvQmStok7FoH5EAIr9PLZK6c/GeklpQVJKQKV2Mf0gHKN4cJdqLkUt21Qq0AwUBUdBV+QYytyBtonmq5c7+ZH1JGGMUi1NrWPjkJf134ZwehudlpswYIjuWNsHXVIyYlJqATCHkiYsLTB/SoF05jbDC21p+zoVGukHo2gFLeGFBXm9FkMFaZh2blmSSk2stHTe9Eyp7gzvTdqeMgtWnqob+qNGfKk5JY/47/SrkgYCAVqixWrwmjfiCbqtLjGGvQinVOveyjsHvGWo1lJ8bu5JzOKVwozEJvoWBd7L+AkeNa00po7zrLmRr3zoK/04zgphYcbR4NDX457ARsOLvZEBc3z4yodqCi2NnP8QNVuRbEITvswDGdNwEBfTJ6v7xlsFIXiqjlNN/QXluiJAsvgfYPyI5BgEmBJrALQILeBiIw0M1vca9QR5H8iocurgnlzESy6Tvfdi7jThjH2LuBbt/KdbOMrWvImU5vSDe/bNnXPRzkYjU/zYY5zAmNMzZSx3+GhZnfOjSSrokQL6LmdtldVYv0pRXcv9i68b9cXS3e7QkJGtqqxTUST/B+aB1omeqEGJTwRvkTWWyXulipjRVP+rkbG3RSH6QP8UrE9J/SFtAL6Xf9nKCY+mpu4xTqOXfVZks3kM7BgOBcSRDhQyJJatrNMPxXRYbbweKb/e5ubjJ0ZP1YmS5lIwQicWWzzC2m8lqPHFtRbknEhuZhC4WOCHOMThpSm X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230028)(4636009)(376002)(396003)(136003)(346002)(39860400002)(451199021)(46966006)(36840700001)(40470700004)(54906003)(7696005)(316002)(4326008)(478600001)(70206006)(70586007)(356005)(86362001)(5660300002)(82310400005)(52536014)(41300700001)(81166007)(6862004)(8936002)(8676002)(186003)(9686003)(26005)(6506007)(33656002)(53546011)(47076005)(336012)(40460700003)(83380400001)(36860700001)(40480700001)(2906002)(55016003)(82740400003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 May 2023 22:50:17.9398 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0bc26de6-d217-4022-82ae-08db5596c14a X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DBAEUR03FT025.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB5888 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org PHNuaXA+DQoNCj4gPg0KPiA+ID4NCj4gPiA+IE9uIFRodSwgTWF5IDExLCAyMDIzIGF0IDE6NTXi gK9QTSBGZWlmZWkgV2FuZyA8ZmVpZmVpLndhbmcyQGFybS5jb20+DQo+ID4gPiB3cm90ZToNCj4g PiA+ID4NCj4gPiA+ID4gVGhpcyBwYXRjaCBpcyB0byBjb2xsZWN0IGVtcHR5IHBvbGwgb2YgJ3J0 ZV9ldGhfcnhfYnVyc3QnDQo+ID4gPiA+IGZ1bmN0aW9ucyBpbiBkcGRrIGwzZndkIGFwcGxpY2F0 aW9uLiBFbXB0eSBwb2xsIG1lYW5zIFJ4IGJ1cnN0DQo+ID4gPiA+IGZ1bmN0aW9uIHJlY2VpdmVz IG5vIHBrdHMgaW4gb25lIGxvb3AuDQo+ID4gPiA+DQo+ID4gPiA+IEZ1cnRoZXJtb3JlLCB3ZSBh bHNvIGFkZCAnbmljX3hzdGF0c19kaXNwbGF5JyBBUEkgdG8gc2hvdyBOSUMgY291bnRlcnMuDQo+ ID4gPiA+DQo+ID4gPiA+IFVzYWdlOg0KPiA+ID4gPiBXaXRoIHRoaXMgcGF0Y2gsIG5vIHNwZWNp YWwgc2V0dGluZ3MsIGp1c3QgcnVuIGwzZndkLCBhbmQgd2hlbiB5b3UNCj4gPiA+ID4gc3RvcGlu ZyBsM2Z3ZCwgdGhyZWFkIHdpbGwgcHJpbnQgdGhlIGluZm8gYWJvdmUuDQo+ID4gPiA+DQo+ID4g PiA+IE5vdGU6DQo+ID4gPiA+IFRoaXMgcGF0Y2ggaGFzIGp1c3QgYSBzbGlnaHQgaW1wYWN0IG9u IHBlcmZvcm1hbmNlIGFuZCBjYW4gYmUgaWdub3JlZC4NCj4gPiBIb3cgbXVjaCBpcyB0aGUgcmVn cmVzc2lvbj8NCj4gPg0KPiA+ID4NCj4gPiA+IElNTywgV2Ugc2hvdWxkIG5vdCBpbnRyb2R1Y2Ug cmVncmVzc2lvbiBhcyBsM2Z3ZCBraW5kIG9mIHVzZXMgYXMNCj4gPiA+IHJlZmVyZW5jZSBhcHBs aWNhdGlvbi4NCj4gPiA+IEkgdGhpbmssIGwzZndkIHNob3VsZCBsaW1pdCB0byBzdGF0cyBleHBv c2VkIGJ5IGV0aGRldihpLmUgZGlyZWN0bHkNCj4gPiA+IGZyb20gTklDLCB3aXRob3V0IHBlcmZv cm1hbmNlIHJlZ3Jlc3Npb24pLg0KPiA+IEFncmVlIEwzZndkIGlzIHRoZSByZWZlcmVuY2UgYXBw LiBVbmZvcnR1bmF0ZWx5LCBpdCBpcyBub3QgaW4gYSBzdGF0ZSB0byBkZWJ1Zw0KPiBhbnkgcHJv YmxlbXMuIE1heSBiZSBtYW55IGFyZSBqdXN0IGJlbGlldmluZyB0aGUgbnVtYmVycyB3aXRob3V0 DQo+IHVuZGVyc3RhbmRpbmcgdGhhdCB0aGVyZSBhcmUgcHJvYmxlbXMuDQo+ID4gQ2FuIHdlIHBs YWNlIHRoZXNlIHN0YXRzIHVuZGVyIGEgcnVuIHRpbWUgZmxhZyBhbmQgcmVkdWNlIHRoZSBpbXBh Y3QNCj4gZnVydGhlcj8NCj4gDQo+IEkgdGhpbmssIGV4YW1wbGUgYXBwbGljYXRpb25zLCB3ZSBj YW4gaGF2ZSBjb21waWxlIHRpbWUgb3B0aW9uIGZvciBuZXcNCj4gZmVhdHVyZSBhZGR0aW9ucyBp biBmYXN0cGF0aCBvciBhZGQgbmV3IGZvcndhcmRpbmcgbW9kZSBpbiB0ZXN0cG1kLg0KTmV3IGZv cndhcmRpbmcgKEwzZndkIGluIHRoaXMgY2FzZSkgbW9kZSBmb3IgdGVzdHBtZCB3YXMgcmVqZWN0 ZWQgb3ZlcndoZWxtaW5nbHkuIFNvLCB0aGF0J3Mgbm90IGFuIG9wdGlvbi4NCg0KSSB0aG91Z2h0 IGNvbXBpbGUgdGltZSBvcHRpb25zIGFyZSBkaXNjb3VyYWdlZCBhcyB3ZWxsLiBCdXQsIEkgYW0g ZmluZSB3aXRoIHRoZSBjb21waWxlIHRpbWUgYXBwcm9hY2ggdG8gZ2V0IHNvbWUgZGVidWdnaW5n IGNhcGFiaWxpdGllcyBpbiB0aGlzIGFwcGxpY2F0aW9uLg0KDQpNYXkgYmUgd2UgY291bGQgdW5k ZXJzdGFuZCB0aGUgcGVyZm9ybWFuY2UgZGlmZmVyZW5jZSB3aXRoIHJ1biB0aW1lIGZsYWc/DQoN Cj4gDQo+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gZHBkayB2ZXJz aW9uOjIzLjAzDQo+ID4gPiA+DQo+ID4gPiA+IFN1Z2dlc3RlZC1ieTogTGlqaWFuIFpoYW5nIDxs aWppYW4uemhhbmdAYXJtLmNvbT4NCj4gPiA+ID4gU2lnbmVkLW9mZi1ieTogRmVpZmVpIFdhbmcg PGZlaWZlaS53YW5nMkBhcm0uY29tPg0KPiA+ID4gPiBSZXZpZXdlZC1ieTogUnVpZmVuZyBXYW5n IDxydWlmZW5nLndhbmdAYXJtLmNvbT4NCj4gPiA+ID4gUmV2aWV3ZWQtYnk6IEhvbm5hcHBhIE5h Z2FyYWhhbGxpDQo+IDxob25uYXBwYS5uYWdhcmFoYWxsaUBhcm0uY29tPg0KPiA+ID4gPiAtLS0N Cj4gPiA+ID4gIGV4YW1wbGVzL2wzZndkL2wzZndkLmggICAgIHwgNjgNCj4gPiA+ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ID4gPiA+ICBleGFtcGxlcy9sM2Z3ZC9s M2Z3ZF9scG0uYyB8IDI2ICsrKysrKysrKysrKystLQ0KPiA+ID4gPiAgZXhhbXBsZXMvbDNmd2Qv bWFpbi5jICAgICAgfCAyMiArKysrKysrKysrKysNCj4gPiA+ID4gIDMgZmlsZXMgY2hhbmdlZCwg MTE0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQo+ID4gPiA+DQo+ID4gPiA+IGRpZmYg LS1naXQgYS9leGFtcGxlcy9sM2Z3ZC9sM2Z3ZC5oIGIvZXhhbXBsZXMvbDNmd2QvbDNmd2QuaCBp bmRleA0KPiA+ID4gPiBiNTU4NTVjOTMyLi4yYjNmY2E2MmYzIDEwMDY0NA0KPiA+ID4gPiAtLS0g YS9leGFtcGxlcy9sM2Z3ZC9sM2Z3ZC5oDQo+ID4gPiA+ICsrKyBiL2V4YW1wbGVzL2wzZndkL2wz ZndkLmgNCj4gPiA+ID4gQEAgLTU2LDYgKzU2LDE3IEBADQo+ID4gPiA+ICAjZGVmaW5lIEwzRldE X0hBU0hfRU5UUklFUyAgICAgICAgICAgICAoMTAyNCoxMDI0KjEpDQo+ID4gPiA+ICAjZW5kaWYN Cj4gPiA+ID4NCj4gPiA+ID4gK3N0cnVjdCBsY29yZV9zdGF0cyB7DQo+ID4gPiA+ICsgICAgdWlu dDMyX3QgbmJfcnhfcGt0c1sxNl07DQo+ID4gPiA+ICsgICAgdWludDMyX3QgbnVtX2xvb3BbMTZd Ow0KPiA+ID4gPiArICAgIHVpbnQzMl90IG5vbmVfbG9vcFsxNl07DQo+ID4gPiA+ICsgICAgdWlu dDMyX3Qgbm9fZnVsbF9sb29wWzE2XTsNCj4gPiA+ID4gKyAgICBmbG9hdCAgbm9uZV9sb29wX3Bl clsxNl07DQo+ID4gPiA+ICsgICAgZmxvYXQgbm9fZnVsbF9sb29wX3BlclsxNl07DQo+ID4gPiA+ ICt9IF9fcnRlX2NhY2hlX2FsaWduZWQ7DQo+ID4gPiA+ICsNCj4gPiA+ID4gK2V4dGVybiBzdHJ1 Y3QgbGNvcmVfc3RhdHMgc3RhdHNbUlRFX01BWF9MQ09SRV07DQo+ID4gPiA+ICsNCj4gPiA+ID4g IHN0cnVjdCBwYXJtX2NmZyB7DQo+ID4gPiA+ICAgICAgICAgY29uc3QgY2hhciAqcnVsZV9pcHY0 X25hbWU7DQo+ID4gPiA+ICAgICAgICAgY29uc3QgY2hhciAqcnVsZV9pcHY2X25hbWU7IEBAIC0x MTUsNiArMTI2LDYzIEBAIGV4dGVybg0KPiA+ID4gPiBzdHJ1Y3QgYWNsX2FsZ29yaXRobXMgYWNs X2FsZ1tdOw0KPiA+ID4gPg0KPiA+ID4gPiAgZXh0ZXJuIHVpbnQzMl90IG1heF9wa3RfbGVuOw0K PiA+ID4gPg0KPiA+ID4gPiArc3RhdGljIGlubGluZSB2b2lkDQo+ID4gPiA+ICtuaWNfeHN0YXRz X2Rpc3BsYXkodWludDMyX3QgcG9ydF9pZCkgew0KPiA+ID4gPiArICAgICAgICBzdHJ1Y3QgcnRl X2V0aF94c3RhdCAqeHN0YXRzOw0KPiA+ID4gPiArICAgICAgICBpbnQgY250X3hzdGF0cywgaWR4 X3hzdGF0Ow0KPiA+ID4gPiArICAgICAgICBzdHJ1Y3QgcnRlX2V0aF94c3RhdF9uYW1lICp4c3Rh dHNfbmFtZXM7DQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAgICAgICAgcHJpbnRmKCIjIyMjIyMgTklD IGV4dGVuZGVkIHN0YXRpc3RpY3MgZm9yIHBvcnQgJS0yZFxuIiwgcG9ydF9pZCk7DQo+ID4gPiA+ ICsgICAgICAgIGlmICghcnRlX2V0aF9kZXZfaXNfdmFsaWRfcG9ydChwb3J0X2lkKSkgew0KPiA+ ID4gPiArICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRXJyb3I6IEludmFsaWQgcG9y dCBudW1iZXIgJWlcbiIsIHBvcnRfaWQpOw0KPiA+ID4gPiArICAgICAgICAgICAgICAgIHJldHVy bjsNCj4gPiA+ID4gKyAgICAgICAgfQ0KPiA+ID4gPiArDQo+ID4gPiA+ICsgICAgICAgIC8qIEdl dCBjb3VudCAqLw0KPiA+ID4gPiArICAgICAgICBjbnRfeHN0YXRzID0gcnRlX2V0aF94c3RhdHNf Z2V0X25hbWVzKHBvcnRfaWQsIE5VTEwsIDApOw0KPiA+ID4gPiArICAgICAgICBpZiAoY250X3hz dGF0cyAgPCAwKSB7DQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJF cnJvcjogQ2Fubm90IGdldCBjb3VudCBvZiB4c3RhdHNcbiIpOw0KPiA+ID4gPiArICAgICAgICAg ICAgICAgIHJldHVybjsNCj4gPiA+ID4gKyAgICAgICAgfQ0KPiA+ID4gPiArDQo+ID4gPiA+ICsg ICAgICAgIC8qIEdldCBpZC1uYW1lIGxvb2t1cCB0YWJsZSAqLw0KPiA+ID4gPiArICAgICAgICB4 c3RhdHNfbmFtZXMgPSBtYWxsb2Moc2l6ZW9mKHN0cnVjdCBydGVfZXRoX3hzdGF0X25hbWUpICoN Cj4gY250X3hzdGF0cyk7DQo+ID4gPiA+ICsgICAgICAgIGlmICh4c3RhdHNfbmFtZXMgPT0gTlVM TCkgew0KPiA+ID4gPiArICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiQ2Fubm90IGFs bG9jYXRlIG1lbW9yeSBmb3IgeHN0YXRzIGxvb2t1cFxuIik7DQo+ID4gPiA+ICsgICAgICAgICAg ICAgICAgcmV0dXJuOw0KPiA+ID4gPiArICAgICAgICB9DQo+ID4gPiA+ICsgICAgICAgIGlmIChj bnRfeHN0YXRzICE9IHJ0ZV9ldGhfeHN0YXRzX2dldF9uYW1lcygNCj4gPiA+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgIHBvcnRfaWQsIHhzdGF0c19uYW1lcywgY250X3hzdGF0cykpIHsNCj4g PiA+ID4gKyAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkVycm9yOiBDYW5ub3QgZ2V0 IHhzdGF0cyBsb29rdXBcbiIpOw0KPiA+ID4gPiArICAgICAgICAgICAgICAgIGZyZWUoeHN0YXRz X25hbWVzKTsNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICByZXR1cm47DQo+ID4gPiA+ICsgICAg ICAgIH0NCj4gPiA+ID4gKw0KPiA+ID4gPiArICAgICAgICAvKiBHZXQgc3RhdHMgdGhlbXNlbHZl cyAqLw0KPiA+ID4gPiArICAgICAgICB4c3RhdHMgPSBtYWxsb2Moc2l6ZW9mKHN0cnVjdCBydGVf ZXRoX3hzdGF0KSAqIGNudF94c3RhdHMpOw0KPiA+ID4gPiArICAgICAgICBpZiAoeHN0YXRzID09 IE5VTEwpIHsNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkNhbm5v dCBhbGxvY2F0ZSBtZW1vcnkgZm9yIHhzdGF0c1xuIik7DQo+ID4gPiA+ICsgICAgICAgICAgICAg ICAgZnJlZSh4c3RhdHNfbmFtZXMpOw0KPiA+ID4gPiArICAgICAgICAgICAgICAgIHJldHVybjsN Cj4gPiA+ID4gKyAgICAgICAgfQ0KPiA+ID4gPiArICAgICAgICBpZiAoY250X3hzdGF0cyAhPSBy dGVfZXRoX3hzdGF0c19nZXQocG9ydF9pZCwgeHN0YXRzLCBjbnRfeHN0YXRzKSkgew0KPiA+ID4g PiArICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRXJyb3I6IFVuYWJsZSB0byBnZXQg eHN0YXRzXG4iKTsNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICBmcmVlKHhzdGF0c19uYW1lcyk7 DQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgZnJlZSh4c3RhdHMpOw0KPiA+ID4gPiArICAgICAg ICAgICAgICAgIHJldHVybjsNCj4gPiA+ID4gKyAgICAgICAgfQ0KPiA+ID4gPiArDQo+ID4gPiA+ ICsgICAgICAgIC8qIERpc3BsYXkgeHN0YXRzICovDQo+ID4gPiA+ICsgICAgICAgIGZvciAoaWR4 X3hzdGF0ID0gMDsgaWR4X3hzdGF0IDwgY250X3hzdGF0czsgaWR4X3hzdGF0KyspIHsNCj4gPiA+ ID4gKyAgICAgICAgICAgICAgICBwcmludGYoIiVzOiAlIlBSSXU2NCJcbiIsDQo+ID4gPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICB4c3RhdHNfbmFtZXNbaWR4X3hzdGF0XS5uYW1lLA0KPiA+ ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgeHN0YXRzW2lkeF94c3RhdF0udmFsdWUpOw0K PiA+ID4gPiArICAgICAgICB9DQo+ID4gPiA+ICsgICAgICAgIGZyZWUoeHN0YXRzX25hbWVzKTsN Cj4gPiA+ID4gKyAgICAgICAgZnJlZSh4c3RhdHMpOw0KPiA+ID4gPiArfQ0KPiA+ID4gPiArDQo+ ID4gPiA+ICAvKiBTZW5kIGJ1cnN0IG9mIHBhY2tldHMgb24gYW4gb3V0cHV0IGludGVyZmFjZSAq LyAgc3RhdGljIGlubGluZQ0KPiA+ID4gPiBpbnQgc2VuZF9idXJzdChzdHJ1Y3QgbGNvcmVfY29u ZiAqcWNvbmYsIHVpbnQxNl90IG4sIHVpbnQxNl90DQo+ID4gPiA+IHBvcnQpIGRpZmYgLS1naXQg YS9leGFtcGxlcy9sM2Z3ZC9sM2Z3ZF9scG0uYw0KPiA+ID4gPiBiL2V4YW1wbGVzL2wzZndkL2wz ZndkX2xwbS5jIGluZGV4DQo+ID4gPiA+IDRhYzE5MjVjODQuLjllMjdlOTU0YjkgMTAwNjQ0DQo+ ID4gPiA+IC0tLSBhL2V4YW1wbGVzL2wzZndkL2wzZndkX2xwbS5jDQo+ID4gPiA+ICsrKyBiL2V4 YW1wbGVzL2wzZndkL2wzZndkX2xwbS5jDQo+ID4gPiA+IEBAIC00MSw2ICs0MSw4IEBADQo+ID4g PiA+ICBzdGF0aWMgc3RydWN0IHJ0ZV9scG0gKmlwdjRfbDNmd2RfbHBtX2xvb2t1cF9zdHJ1Y3Rb TkJfU09DS0VUU107DQo+ID4gPiA+ICBzdGF0aWMgc3RydWN0IHJ0ZV9scG02ICppcHY2X2wzZndk X2xwbV9sb29rdXBfc3RydWN0W05CX1NPQ0tFVFNdOw0KPiA+ID4gPg0KPiA+ID4gPiArZXh0ZXJu IHN0cnVjdCBsY29yZV9zdGF0cyBzdGF0c1tSVEVfTUFYX0xDT1JFXTsNCj4gPiA+ID4gKw0KPiA+ ID4gPiAgLyogUGVyZm9ybWluZyBMUE0tYmFzZWQgbG9va3Vwcy4gODwgKi8gIHN0YXRpYyBpbmxp bmUgdWludDE2X3QNCj4gPiA+ID4gbHBtX2dldF9pcHY0X2RzdF9wb3J0KGNvbnN0IHN0cnVjdCBy dGVfaXB2NF9oZHIgKmlwdjRfaGRyLCBAQA0KPiA+ID4gPiAtMTUzLDYNCj4gPiA+ID4gKzE1NSw3 IEBAIGxwbV9tYWluX2xvb3AoX19ydGVfdW51c2VkIHZvaWQgKmR1bW15KQ0KPiA+ID4gPiAgICAg ICAgIHN0cnVjdCBsY29yZV9jb25mICpxY29uZjsNCj4gPiA+ID4gICAgICAgICBjb25zdCB1aW50 NjRfdCBkcmFpbl90c2MgPSAocnRlX2dldF90c2NfaHooKSArIFVTX1BFUl9TIC0gMSkgLw0KPiA+ ID4gPiAgICAgICAgICAgICAgICAgVVNfUEVSX1MgKiBCVVJTVF9UWF9EUkFJTl9VUzsNCj4gPiA+ ID4gKyAgICAgICBib29sIHN0YXJ0X2NvdW50ID0gMDsNCj4gPiA+ID4NCj4gPiA+ID4gICAgICAg ICBsY29yZV9pZCA9IHJ0ZV9sY29yZV9pZCgpOw0KPiA+ID4gPiAgICAgICAgIHFjb25mID0gJmxj b3JlX2NvbmZbbGNvcmVfaWRdOyBAQCAtMjA3LDggKzIxMCwyMiBAQA0KPiA+ID4gPiBscG1fbWFp bl9sb29wKF9fcnRlX3VudXNlZCB2b2lkICpkdW1teSkNCj4gPiA+ID4gICAgICAgICAgICAgICAg ICAgICAgICAgcXVldWVpZCA9IHFjb25mLT5yeF9xdWV1ZV9saXN0W2ldLnF1ZXVlX2lkOw0KPiA+ ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICBuYl9yeCA9IHJ0ZV9ldGhfcnhfYnVyc3QocG9y dGlkLCBxdWV1ZWlkLCBwa3RzX2J1cnN0LA0KPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE1BWF9QS1RfQlVSU1QpOw0KPiA+ID4gPiAtICAgICAgICAgICAgICAgICAgICAg ICBpZiAobmJfcnggPT0gMCkNCj4gPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb250aW51ZTsNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXJ0X2Nv dW50ID09IDApIHsNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAo bmJfcnggIT0gMCkNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0YXJ0X2NvdW50ID0gMTsNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgfQ0K PiA+ID4gPiArDQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdGFydF9jb3Vu dCA9PSAxKSB7DQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHNb bGNvcmVfaWRdLm5iX3J4X3BrdHNbaV0gKz0gbmJfcng7DQo+ID4gPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RhdHNbbGNvcmVfaWRdLm51bV9sb29wW2ldKys7DQo+ID4gPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5iX3J4IDwgTUFYX1BLVF9CVVJT VCAmJiBuYl9yeA0KPiA+ID4gPiArID4gMCkNCj4gPiA+ID4gKw0KPiA+ID4gPiArIHN0YXRzW2xj b3JlX2lkXS5ub19mdWxsX2xvb3BbaV0rKzsNCj4gPiA+ID4gKw0KPiA+ID4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGlmIChuYl9yeCA9PSAwKSB7DQo+ID4gPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0c1tsY29yZV9pZF0ubm9uZV9sb29w W2ldKys7DQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b250aW51ZTsNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQo+ID4g PiA+ICsgICAgICAgICAgICAgICAgICAgICAgIH0NCj4gPiA+ID4NCj4gPiA+ID4gICNpZiBkZWZp bmVkIFJURV9BUkNIX1g4NiB8fCBkZWZpbmVkIF9fQVJNX05FT04gXA0KPiA+ID4gPiAgICAgICAg ICAgICAgICAgICAgICAgICAgfHwgZGVmaW5lZCBSVEVfQVJDSF9QUENfNjQgQEAgLTIyMyw2DQo+ ID4gPiA+ICsyNDAsMTEgQEAgbHBtX21haW5fbG9vcChfX3J0ZV91bnVzZWQgdm9pZCAqZHVtbXkp DQo+ID4gPiA+ICAgICAgICAgICAgICAgICBjdXJfdHNjID0gcnRlX3JkdHNjKCk7DQo+ID4gPiA+ ICAgICAgICAgfQ0KPiA+ID4gPg0KPiA+ID4gPiArICAgICAgIGZvciAoaSA9IDA7IGkgPCBuX3J4 X3E7ICsraSkgew0KPiA+ID4gPiArICAgICAgICAgICAgICAgc3RhdHNbbGNvcmVfaWRdLm5vbmVf bG9vcF9wZXJbaV0gPQ0KPiA+ID4gKGZsb2F0KXN0YXRzW2xjb3JlX2lkXS5ub25lX2xvb3BbaV0v c3RhdHNbbGNvcmVfaWRdLm51bV9sb29wW2ldKjEwMDsNCj4gPiA+ID4gKyAgICAgICAgICAgICAg IHN0YXRzW2xjb3JlX2lkXS5ub19mdWxsX2xvb3BfcGVyW2ldID0NCj4gPiA+IChmbG9hdClzdGF0 c1tsY29yZV9pZF0ubm9fZnVsbF9sb29wW2ldL3N0YXRzW2xjb3JlX2lkXS5udW1fbG9vcFtpXSox DQo+ID4gPiAwMDsNCj4gPiA+ID4gKyAgICAgICB9DQo+ID4gPiA+ICsNCj4gPiA+ID4gICAgICAg ICByZXR1cm4gMDsNCj4gPiA+ID4gIH0NCj4gPiA+ID4NCj4gPiA+ID4gZGlmZiAtLWdpdCBhL2V4 YW1wbGVzL2wzZndkL21haW4uYyBiL2V4YW1wbGVzL2wzZndkL21haW4uYyBpbmRleA0KPiA+ID4g PiBhNGYwNjE1MzdlLi40NzI3MjE1ZWFlIDEwMDY0NA0KPiA+ID4gPiAtLS0gYS9leGFtcGxlcy9s M2Z3ZC9tYWluLmMNCj4gPiA+ID4gKysrIGIvZXhhbXBsZXMvbDNmd2QvbWFpbi5jDQo+ID4gPiA+ IEBAIC01Myw2ICs1Myw4IEBADQo+ID4gPiA+DQo+ID4gPiA+ICAjZGVmaW5lIE1BWF9MQ09SRV9Q QVJBTVMgMTAyNA0KPiA+ID4gPg0KPiA+ID4gPiArc3RydWN0IGxjb3JlX3N0YXRzIHN0YXRzW1JU RV9NQVhfTENPUkVdOw0KPiA+ID4gPiArDQo+ID4gPiA+ICB1aW50MTZfdCBuYl9yeGQgPSBSWF9E RVNDX0RFRkFVTFQ7ICB1aW50MTZfdCBuYl90eGQgPQ0KPiA+ID4gPiBUWF9ERVNDX0RFRkFVTFQ7 DQo+ID4gPiA+DQo+ID4gPiA+IEBAIC0xNTkyLDYgKzE1OTQsMjYgQEAgbWFpbihpbnQgYXJnYywg Y2hhciAqKmFyZ3YpDQo+ID4gPiA+ICAgICAgICAgfSBlbHNlIHsNCj4gPiA+ID4gICAgICAgICAg ICAgICAgIHJ0ZV9lYWxfbXBfd2FpdF9sY29yZSgpOw0KPiA+ID4gPg0KPiA+ID4gPiArICAgICAg ICAgICAgICAgZm9yIChsY29yZV9pZCA9IDA7IGxjb3JlX2lkIDwgUlRFX01BWF9MQ09SRTsgbGNv cmVfaWQrKykgew0KPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICBpZiAocnRlX2xjb3Jl X2lzX2VuYWJsZWQobGNvcmVfaWQpID09IDApDQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29udGludWU7DQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHFj b25mID0gJmxjb3JlX2NvbmZbbGNvcmVfaWRdOw0KPiA+ID4gPiArICAgICAgICAgICAgICAgICAg ICAgICBmb3IgKHF1ZXVlID0gMDsgcXVldWUgPCBxY29uZi0+bl9yeF9xdWV1ZTsgKytxdWV1ZSkg ew0KPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ZigiXG5sY29y ZSBpZDolZFxuIiwgbGNvcmVfaWQpOw0KPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHByaW50ZigicXVldWVfaWQ6JWRcbiIscXVldWUpOw0KPiA+ID4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHByaW50ZigiUnggcGt0ICVkXG4iLA0KPiBzdGF0c1tsY29y ZV9pZF0ubmJfcnhfcGt0c1txdWV1ZV0pOw0KPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHByaW50ZigibG9vcCBudW1iZXI6ICVkLCAwIHBrdHMNCj4gPiA+ID4gKyBsb29w OiVkLCA8MzIgcGt0cw0KPiA+ID4gbG9vcDolZFxuIiwNCj4gPiA+ID4gKw0KPiA+ID4gPiArIHN0 YXRzW2xjb3JlX2lkXS5udW1fbG9vcFtxdWV1ZV0sDQo+ID4gPiBzdGF0c1tsY29yZV9pZF0ubm9u ZV9sb29wW3F1ZXVlXSwNCj4gPiA+IHN0YXRzW2xjb3JlX2lkXS5ub19mdWxsX2xvb3BbcXVldWVd KTsNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludGYoIjAgcGt0 cyBsb29wDQo+ID4gPiA+ICsgcGVyY2VudGFnZTolLjJmJSUsIDwzMiBwa3RzIGxvb3ANCj4gPiA+ IHBlcmNlbnRhZ2U6JS4yZiUlXG4iLA0KPiA+ID4gPiArDQo+ID4gPiA+ICsgc3RhdHNbbGNvcmVf aWRdLm5vbmVfbG9vcF9wZXJbcXVldWVdLA0KPiA+ID4gc3RhdHNbbGNvcmVfaWRdLm5vX2Z1bGxf bG9vcF9wZXJbcXVldWVdKTsNCj4gPiA+ID4gKw0KPiA+ID4gPiArIHByaW50ZigiLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiIpOw0KPiA+ID4gPiArDQo+ID4gPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgIH0NCj4gPiA+ID4gKyAgICAgICAgICAgICAgIH0NCj4gPiA+ ID4gKw0KPiA+ID4gPiArICAgICAgICAgICAgICAgbmljX3hzdGF0c19kaXNwbGF5KDApOw0KPiA+ ID4gPiArICAgICAgICAgICAgICAgbmljX3hzdGF0c19kaXNwbGF5KDEpOw0KPiA+ID4gPiArDQo+ ID4gPiA+ICAgICAgICAgICAgICAgICBSVEVfRVRIX0ZPUkVBQ0hfREVWKHBvcnRpZCkgew0KPiA+ ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGVuYWJsZWRfcG9ydF9tYXNrICYgKDEg PDwgcG9ydGlkKSkgPT0gMCkNCj4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb250aW51ZTsNCj4gPiA+ID4gLS0NCj4gPiA+ID4gMi4yNS4xDQo+ID4gPiA+DQo=