From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 050F3C433FE for ; Thu, 4 Nov 2021 14:34:20 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8A88D604D2 for ; Thu, 4 Nov 2021 14:34:19 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 8A88D604D2 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.xenproject.org Received: from list by lists.xenproject.org with outflank-mailman.221574.383352 (Exim 4.92) (envelope-from ) id 1midoM-0006sO-EG; Thu, 04 Nov 2021 14:33:50 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 221574.383352; Thu, 04 Nov 2021 14:33:50 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1midoM-0006sH-Ax; Thu, 04 Nov 2021 14:33:50 +0000 Received: by outflank-mailman (input) for mailman id 221574; Thu, 04 Nov 2021 14:33:49 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1midoL-0006sB-NB for xen-devel@lists.xenproject.org; Thu, 04 Nov 2021 14:33:49 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on20609.outbound.protection.outlook.com [2a01:111:f400:7d00::609]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 38af737c-3d7c-11ec-a9d2-d9f7a1cc8784; Thu, 04 Nov 2021 15:33:48 +0100 (CET) Received: from AM6PR04CA0036.eurprd04.prod.outlook.com (2603:10a6:20b:92::49) by AM0PR08MB5409.eurprd08.prod.outlook.com (2603:10a6:208:183::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.10; Thu, 4 Nov 2021 14:33:40 +0000 Received: from VE1EUR03FT021.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:92:cafe::e8) by AM6PR04CA0036.outlook.office365.com (2603:10a6:20b:92::49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.10 via Frontend Transport; Thu, 4 Nov 2021 14:33:40 +0000 Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT021.mail.protection.outlook.com (10.152.18.117) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.14 via Frontend Transport; Thu, 4 Nov 2021 14:33:39 +0000 Received: ("Tessian outbound 7129402754f2:v108"); Thu, 04 Nov 2021 14:33:39 +0000 Received: from 2b48cd86b889.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 2E818B6B-30FA-4B7C-AEA3-BB54E7F2C4A2.1; Thu, 04 Nov 2021 14:33:27 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 2b48cd86b889.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 04 Nov 2021 14:33:27 +0000 Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25) by AM6PR08MB3781.eurprd08.prod.outlook.com (2603:10a6:20b:8b::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.15; Thu, 4 Nov 2021 14:33:25 +0000 Received: from AM6PR08MB3784.eurprd08.prod.outlook.com ([fe80::69d7:e26:6610:ebd8]) by AM6PR08MB3784.eurprd08.prod.outlook.com ([fe80::69d7:e26:6610:ebd8%4]) with mapi id 15.20.4649.020; Thu, 4 Nov 2021 14:33:25 +0000 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 38af737c-3d7c-11ec-a9d2-d9f7a1cc8784 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=F8g4gSFdJxtTKrNYV8AE29t1FkdgwzcgIVnXIkFhPH8=; b=i7OTrHEFUIoMrEpMKYtHi8g4ndTJ9SIux9iNa2dA1MdCLGA7nbQEjB29kNdkQgAK1jDdSpaL2qARUC0p3Kl+HcLQxe4/ZiKac8XwCol8lePyqH2FBZOGZrwEHXGP91gxoW4QThBKN7pxXyLTL+z3YsNGJszFCjbWncmJPrulLp4= 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; X-CheckRecipientChecked: true X-CR-MTA-CID: 3363e24ea6acba01 X-CR-MTA-TID: 64aa7808 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Tqqs2g7d/m9fyf80rDASB2U6RSh+TmZRYvpUzIBXufVEC2q/S91qd43RXT+xGs9k2Gq7KW9ckrd38vQwydgHXEzjKWFSIVUSZ2fPVmgn+yoPZsCK40XicJl6u9M8UAv9uAVv6fo8Y6zFzIBRbmKTz0R/l680JnHAG1MsnS2Jzm1oXnOQ0zSSBbA1dQzLm3pXheHpgCS4L3sBpe8GUta7HBQHV+Wjq9CSC4qvGT4oMwQhYP4l8G/3F3jHxcCH/RkNCaSk0PCFc+iK1MY1zGZ/Vat7PXsdBVuO+yivd2O+z40eU0aNoXCZM/1Sd+cRs/5dzIYMHc6VZA93AGXDekOQlw== 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=F8g4gSFdJxtTKrNYV8AE29t1FkdgwzcgIVnXIkFhPH8=; b=ksVGWZiNJdJU+pTHOqbGNAMHnq6TcRY7tnpe6FR3pnf0n5CbRuQcM3vhyY57hLT82JKm988wgrfzENAw6kjICmfhtAumi6BxJJqf2pYBOYKoFAenx/qEg0RpDjRvBE0Gm2lo3FckpGnB9nL69YZbNrzi3RwSx2hE28qoUntkzafDh2r5KwjM/qlk6umRQec+0ZvJGVpqfftrVrfB1QR3YsXwn7H+y0mbJWgHvqmwwDsSLCIY9oAdYgiEb1AQUHWhKCs0jKkx8TlR3FrF5QQ6M6t2tThvEvx31wWK7MeqUgXqQqaPnoVxyauhutWW0mIxstmquGHXAjMTtuTtitvlRw== 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=F8g4gSFdJxtTKrNYV8AE29t1FkdgwzcgIVnXIkFhPH8=; b=i7OTrHEFUIoMrEpMKYtHi8g4ndTJ9SIux9iNa2dA1MdCLGA7nbQEjB29kNdkQgAK1jDdSpaL2qARUC0p3Kl+HcLQxe4/ZiKac8XwCol8lePyqH2FBZOGZrwEHXGP91gxoW4QThBKN7pxXyLTL+z3YsNGJszFCjbWncmJPrulLp4= From: Bertrand Marquis To: Luca Fancellu CC: "xen-devel@lists.xenproject.org" , Wei Chen , "iwj@xenproject.org" , Stefano Stabellini , Julien Grall , Volodymyr Babchuk , Jan Beulich Subject: Re: [PATCH-4.16 v2] xen/efi: Fix Grub2 boot on arm64 Thread-Topic: [PATCH-4.16 v2] xen/efi: Fix Grub2 boot on arm64 Thread-Index: AQHX0YY96HVobluxaEWY0Nw7Qq/BvavzbswA Date: Thu, 4 Nov 2021 14:33:25 +0000 Message-ID: References: <20211104141206.25153-1-luca.fancellu@arm.com> In-Reply-To: <20211104141206.25153-1-luca.fancellu@arm.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3654.120.0.1.13) Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: c4c26263-dba1-40bd-f00e-08d99fa017f7 x-ms-traffictypediagnostic: AM6PR08MB3781:|AM0PR08MB5409: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:248;OLM:248; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: D1yNWG6bjbftaFzywVlUE+PDsgbIIrbxLFdIa7V6Y6etM59BFmcgiiy5sejm07djwUbGrDicGItPDxRcsZfQycYHEydVfMpZ4ZxJa07kWZvrBoNEBpU2Ghd9/snHkVmP9qj/zrmzx0FtMnrXso3GiymB7h482xTrOHh5emOWU0aDLyY1+XL5ybnOeM/NWnFRHn6M3/kHeMQddPWrzpXaagOE0OhjoYwiuPFKpiCNN4QoC13u+k0DVUOgNunx4s7GBp3zobYdgOzxVEa73bEhy8ATYsP0Gc+ily0QSKw1l/RlDxHsS0je0XxhZnU4AG/wB8WvnwxIdGxy+9psvAXKfvyy4ni9iiH0XqEqAGgAOUUzX9ZDZwmkPlkgXKQ+iRG6erFn1KZkt4xt5rJEvRLe/+eIagvFyiJy0LeHA9+omIDp3jMgHAsKLZHgUkff9djv+T47Yn3jLluzEWVP9qZ7YtIKbw50LNyI637Wxg0aCOYddEWI3+lGJej7dX5qsFbhp7A18Kp9NMkLlDr9h0BXJe2DPcNJVU9kS+5pBpwb2i8Dtb+V6Nxjk5jQjc+kHeECM/XGLMpTH+anDKAkpkssUJG3vjbkNPGaPnvqHQ3ErcKzPhYqf6eYmiigtA30Iq4QIElyV4Ot23I/F8G5rrQtbCaMZ6WZ113fAeX8JLgsoEYYUKvSdq1Mma4Uffu9uvh8Ov2yAgs0NvJYShH1qb78V4ZWu5fvoq6gnP0LS3cWpv63wP5boj0MnLjnCo4lHRHP X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(66446008)(508600001)(66946007)(122000001)(83380400001)(8676002)(66556008)(91956017)(6862004)(64756008)(76116006)(86362001)(6636002)(37006003)(38070700005)(53546011)(186003)(66476007)(54906003)(38100700002)(26005)(6486002)(6506007)(316002)(5660300002)(2616005)(33656002)(8936002)(6512007)(71200400001)(4326008)(36756003)(2906002)(45980500001);DIR:OUT;SFP:1101; Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3781 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: VE1EUR03FT021.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 583dd2e7-2ef0-4585-4e29-08d99fa00f71 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: n5RjEYXiaSyZFg8r8brVjjy5uXD0TAitFWgPvtgd9OTinqay69U+ysmMJAxnx97bnIH65ByNJjLqW2l3Pc9xHCCz4YFtDhqDuWv5PxUdbMclT5OHf0kSHTtElM61+9t5xEw/Li90qXlaiF/o5joX4ZD4cCTICTEwPmo87LkyJ2kqpvJfGAPxD15awSSLQLFyRQ5bO9vKGc9m9ph/dqNju7brAppCEM3bOhlNFYziuzZjqxIxV3DVOBvl5sCXdgXYbfjVaXzYSJzQxQQ/n7guQt6E9ncOlmqPhPutSzJ3gBEbc34wmhJIaN39wrkIoFPSUZ20b1u13XVqwdVKodFR6BI5f5XUZugg6mrX86V2M9nU2PcYRhSoORT4gh1T3JEefMA2DdIyCJ4tm5P1H3jHUJ4+9mWkmUyGjAd7L/JYqyergRzqMDSHrUWWorNn1d8aJwXwAa7cKAxfYFqaOZvPeRF5tp/CevJbhNo0dZj61HvThiVaOLzPnphu+Mrtpltbk9PdWuYVQOAqN9urpuYtmlAc2LW8KiN+N7/EpuNMVoEcbimbiqcEZEhbtHjsggUhymhRx1MqXH65zt6ricjILX+FKN+ci3boja4MEn+nHkbr666tMTPahMs5FOBvEr+RqKZvn1hjiQgHOCRzmryoNoVzHQaZJpluaVr9JKdI4z9lW0bDyUAy+H0g78UtneAKjv3OH0QSBY9lt584ESJLfw== 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:(4636009)(36840700001)(46966006)(36756003)(6486002)(2906002)(26005)(82310400003)(5660300002)(33656002)(86362001)(6636002)(8676002)(336012)(83380400001)(70586007)(6506007)(107886003)(8936002)(53546011)(54906003)(37006003)(356005)(4326008)(6862004)(6512007)(508600001)(70206006)(47076005)(2616005)(316002)(81166007)(186003)(36860700001);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2021 14:33:39.3925 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c4c26263-dba1-40bd-f00e-08d99fa017f7 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: VE1EUR03FT021.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5409 SGkgTHVjYSwNCg0KPiBPbiA0IE5vdiAyMDIxLCBhdCAxNDoxMiwgTHVjYSBGYW5jZWxsdSA8THVj YS5GYW5jZWxsdUBhcm0uY29tPiB3cm90ZToNCj4gDQo+IFRoZSBjb2RlIGludHJvZHVjZWQgYnkg Y29tbWl0IGExNzQzZmMzYTlmZTliNjhjMjY1YzQ1MjY0ZGRkZjIxNGZkOWI4ODINCj4gKCJhcm0v ZWZpOiBVc2UgZG9tMGxlc3MgY29uZmlndXJhdGlvbiB3aGVuIHVzaW5nIEVGSSBib290IikgaXMN Cj4gaW50cm9kdWNpbmcgYSBwcm9ibGVtIHRvIGJvb3QgWGVuIHVzaW5nIEdydWIyIG9uIEFSTSBt YWNoaW5lIHVzaW5nIEVESzIuDQo+IA0KPiBEZXNwaXRlIFVFRkkgc3BlY2lmaWNhdGlvbiwgRURL MitHcnViMiBpcyByZXR1cm5pbmcgYSBOVUxMIERldmljZUhhbmRsZQ0KPiBpbnNpZGUgdGhlIGlu dGVyZmFjZSBnaXZlbiBieSB0aGUgTE9BREVEX0lNQUdFX1BST1RPQ09MIHNlcnZpY2UsIHRoaXMN Cj4gaGFuZGxlIGlzIHVzZWQgbGF0ZXIgYnkgZWZpX2JzLT5IYW5kbGVQcm90b2NvbCguLi4pIGlu c2lkZQ0KPiBnZXRfcGFyZW50X2hhbmRsZSguLi4pIHdoZW4gcmVxdWVzdGluZyB0aGUgU0lNUExF X0ZJTEVfU1lTVEVNX1BST1RPQ09MDQo+IGludGVyZmFjZSwgY2F1c2luZyBYZW4gdG8gc3RvcCB0 aGUgYm9vdCBiZWNhdXNlIG9mIGFuIEVGSV9JTlZBTElEX1BBUkFNRVRFUg0KPiBlcnJvci4NCj4g DQo+IEJlZm9yZSB0aGUgY29tbWl0IGFib3ZlLCB0aGUgZnVuY3Rpb24gd2FzIG5ldmVyIGNhbGxl ZCBiZWNhdXNlIHRoZQ0KPiBsb2dpYyB3YXMgc2tpcHBpbmcgdGhlIGNhbGwgd2hlbiB0aGVyZSB3 ZXJlIG11bHRpYm9vdCBtb2R1bGVzIGluIHRoZQ0KPiBEVCBiZWNhdXNlIHRoZSBmaWxlc3lzdGVt IHdhcyBuZXZlciB1c2VkIGFuZCB0aGUgYm9vdGxvYWRlciBoYWQNCj4gcHV0IGluIHBsYWNlIGFs bCB0aGUgcmlnaHQgbW9kdWxlcyBpbiBtZW1vcnkgYW5kIHRoZSBhZGRyZXNzZXMNCj4gaW4gdGhl IERULg0KPiANCj4gVG8gZml4IHRoZSBwcm9ibGVtIHdlIGFsbG93IHRoZSBnZXRfcGFyZW50X2hh bmRsZSguLi4pIGZ1bmN0aW9uIHRvDQo+IHJldHVybiBhIE5VTEwgaGFuZGxlIG9uIGVycm9yIGFu ZCB3ZSBjaGVjayB0aGUgdXNhZ2Ugb2YgdGhlIGZ1bmN0aW9uDQo+IHRvIGhhbmRsZSB0aGUgbmV3 IHVzZSBjYXNlLiBUaGUgZnVuY3Rpb24gaW4gZmFjdCBzaG91bGQgbm90IHByZXZlbnQNCj4gdGhl IGJvb3QgZXZlbiBpZiB0aGUgZmlsZXN5c3RlbSBjYW4ndCBiZSB1c2VkLCBiZWNhdXNlIHRoZSBE VCBhbmQNCj4gdGhlIG1vZHVsZXMgY291bGQgYmUgcHV0IGluIHBsYWNlIGJ5IHRoZSBib290bG9h ZGVyIGJlZm9yZSBydW5uaW5nDQo+IFhlbiBhbmQgaWYgeGVuLHVlZmktYmluYXJ5IHByb3BlcnR5 IGlzIG5vdCB1c2VkLCB0aGVyZSBpcyBubyBuZWVkDQo+IGZvciB0aGUgZmlsZXN5c3RlbS4NCj4g DQo+IEFub3RoZXIgcHJvYmxlbSBpcyBmb3VuZCB3aGVuIHRoZSBVRUZJIHN0dWIgdHJpZXMgdG8g Y2hlY2sgaWYgRG9tMA0KPiBpbWFnZSBvciBEb21VcyBhcmUgcHJlc2VudC4NCj4gVGhlIGxvZ2lj IGRvZXNuJ3Qgd29yayB3aGVuIHRoZSBVRUZJIHN0dWIgaXMgbm90IHJlc3BvbnNpYmxlIHRvIGxv YWQNCj4gYW55IG1vZHVsZXMsIHNvIHRoZSBlZmlfY2hlY2tfZHRfYm9vdCguLi4pIHJldHVybiB2 YWx1ZSBpcyBtb2RpZmllZA0KPiB0byByZXR1cm4gdGhlIG51bWJlciBvZiBtdWx0aWJvb3QgbW9k dWxlIGZvdW5kIGFuZCBub3Qgb25seSB0aGUgbnVtYmVyDQo+IG9mIG1vZHVsZSBsb2FkZWQgYnkg dGhlIHN0dWIuDQo+IFRha2luZyB0aGUgb2NjYXNpb24gdG8gdXBkYXRlIHRoZSBjb21tZW50IGlu IGhhbmRsZV9tb2R1bGVfbm9kZSguLi4pDQo+IHRvIGV4cGxhaW4gd2h5IHdlIHJldHVybiBzdWNj ZXNzIGV2ZW4gaWYgeGVuLHVlZmktYmluYXJ5IGlzIG5vdCBmb3VuZC4NCj4gDQo+IEZpeGVzOiBh MTc0M2ZjM2E5ICgiYXJtL2VmaTogVXNlIGRvbTBsZXNzIGNvbmZpZ3VyYXRpb24gd2hlbiB1c2lu ZyBFRkkgYm9vdCIpDQo+IFNpZ25lZC1vZmYtYnk6IEx1Y2EgRmFuY2VsbHUgPGx1Y2EuZmFuY2Vs bHVAYXJtLmNvbT4NClJldmlld2VkLWJ5OiBCZXJ0cmFuZCBNYXJxdWlzIDxiZXJ0cmFuZC5tYXJx dWlzQGFybS5jb20+DQoNClRoYW5rcyBmb3IgdGhlIGRldGFpbGVkIGV4cGxhbmF0aW9uIGFuZCB0 ZXN0aW5nIGFsbCB0aG9zZSBjb25maWd1cmF0aW9ucy4NCg0KQ2hlZXJzDQpCZXJ0cmFuZA0KDQoN Cj4gDQo+IC0tLQ0KPiBKdXN0aWZpY2F0aW9uIGZvciBpbnRlZ3JhdGlvbiBpbiA0LjE2Og0KPiBV cHNpZGU6IGFsbG93IGJvb3RpbmcgeGVuIGZyb20gZ3J1YiBvbiBhcm02NCB3aGVuIHRoZSBzdHVi IGRvZXNuJ3QgbG9hZA0KPiAgICAgICAgYW55IG1vZHVsZS4NCj4gRG93bnNpZGU6IEl0J3MgYWZm ZWN0aW5nIHRoZSBFRkkgYm9vdCBwYXRoLg0KPiBSaXNrOiBJdCdzIG5vdCBhZmZlY3RpbmcgeDg2 IGFyY2ggdGhhdCB3b3JrcyB0aGUgc2FtZSB3YXkgYXMgYmVmb3JlLg0KPiAgICAgIElmIHNvbWV0 aGluZyBpcyB3cm9uZyBpdCBjcmVhdGVzIGEgcHJvYmxlbSBvbiBlYXJseSBib290IGFuZCBub3Qg YXQNCj4gICAgICBydW50aW1lLCBzbyByaXNrIGlzIGxvdy4NCj4gDQo+IFRlc3RlZCBpbiB0aGlz IGNvbmZpZ3VyYXRpb25zOg0KPiAtIEJvb3Rsb2FkZXIgbG9hZHMgbW9kdWxlcyBhbmQgc3BlY2lm eSB0aGVtIGFzIG11bHRpYm9vdCBtb2R1bGVzIGluIERUOg0KPiAgICogY29tYmluYXRpb24gb2Yg RG9tMCwgRG9tVXMsIERvbTAgYW5kIERvbVVzDQo+IC0gRFQgc3BlY2lmaWVzIG11bHRpYm9vdCBt b2R1bGVzIGluIERUIHVzaW5nIHhlbix1ZWZpLWJpbmFyeSBwcm9wZXJ0eToNCj4gICAqIGNvbWJp bmF0aW9uIG9mIERvbTAsIERvbVVzLCBEb20wIGFuZCBEb21Vcw0KPiAtIEJvb3Rsb2FkZXIgbG9h ZHMgYSBEb20wIG1vZHVsZSBhbmQgYXBwZW5kcyBpdCBhcyBtdWx0aWJvb3QgbW9kdWxlIGluIERU LA0KPiAgIG90aGVyIG11bHRpYm9vdCBtb2R1bGVzIGFyZSBsaXN0ZWQgZm9yIERvbVVzIHVzaW5n IHhlbix1ZWZpLWJpbmFyeQ0KPiAtIE5vIG11bHRpYm9vdCBtb2R1bGVzIGluIERUIGFuZCBubyBr ZXJuZWwgZW50cnkgaW4gY2ZnIGZpbGU6DQo+ICAgKiBwcm9wZXIgZXJyb3IgdGhyb3duDQo+IA0K PiBDaGFuZ2VzIGluIHYyOg0KPiAtIENoYW5nZWQgY29tbWVudCBvbiBEZXZpY2VIYW5kbGUgTlVM TCAoSmFuKQ0KPiAtIFJlbW92ZWQgZmF0YWwgY29uZGl0aW9uIG9uIGhhbmRsZSBOVUxMIChKYW4p DQo+IC0gQWRkIG1vcmUgaW5mbyBhYm91dCB0aGUgRURLMitHcnViMiBpc3N1ZSB0byB0aGUgY29t bWl0IG1zZyAoSmFuKQ0KPiAtIFJlbW92ZWQgbW9kdWxlc19mb3VuZCBmcm9tIGZ1bmN0aW9uIHNp Z25hdHVyZSBhbmQgcGFzcyBldmVyeXRoaW5nDQo+ICAgb24gcmV0dXJuIChTdGVmYW5vKQ0KPiAt IEltcHJvdmVkIGNvbW1lbnQgaW4gaGFuZGxlX21vZHVsZV9ub2RlDQo+IA0KPiAtLS0NCj4geGVu L2FyY2gvYXJtL2VmaS9lZmktYm9vdC5oIHwgMzQgKysrKysrKysrKysrKysrKysrKysrKystLS0t LS0tLS0tLQ0KPiB4ZW4vY29tbW9uL2VmaS9ib290LmMgICAgICAgfCAyOCArKysrKysrKysrKysr KysrKysrKysrKysrLS0tDQo+IDIgZmlsZXMgY2hhbmdlZCwgNDggaW5zZXJ0aW9ucygrKSwgMTQg ZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2VmaS9lZmktYm9v dC5oIGIveGVuL2FyY2gvYXJtL2VmaS9lZmktYm9vdC5oDQo+IGluZGV4IDhiODhkZDI2YTUuLmMz YWU5NzUxYWIgMTAwNjQ0DQo+IC0tLSBhL3hlbi9hcmNoL2FybS9lZmkvZWZpLWJvb3QuaA0KPiAr KysgYi94ZW4vYXJjaC9hcm0vZWZpL2VmaS1ib290LmgNCj4gQEAgLTcwMiw2ICs3MDIsNyBAQCBz dGF0aWMgaW50IF9faW5pdCBhbGxvY2F0ZV9tb2R1bGVfZmlsZShFRklfRklMRV9IQU5ETEUgZGly X2hhbmRsZSwNCj4gICogVGhpcyBmdW5jdGlvbiBjaGVja3MgZm9yIHRoZSBwcmVzZW5jZSBvZiB0 aGUgeGVuLHVlZmktYmluYXJ5IHByb3BlcnR5IGluIHRoZQ0KPiAgKiBtb2R1bGUsIGlmIGZvdW5k IGl0IGxvYWRzIHRoZSBiaW5hcnkgYXMgbW9kdWxlIGFuZCBzZXRzIHRoZSByaWdodCBhZGRyZXNz DQo+ICAqIGZvciB0aGUgcmVnIHByb3BlcnR5IGludG8gdGhlIG1vZHVsZSBEVCBub2RlLg0KPiAr ICogUmV0dXJucyAxIGlmIG1vZHVsZSBpcyBtdWx0aWJvb3QsbW9kdWxlLCAwIGlmIG5vdCwgPCAw IG9uIGVycm9yDQo+ICAqLw0KPiBzdGF0aWMgaW50IF9faW5pdCBoYW5kbGVfbW9kdWxlX25vZGUo RUZJX0ZJTEVfSEFORExFIGRpcl9oYW5kbGUsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpbnQgbW9kdWxlX25vZGVfb2Zmc2V0LA0KPiBAQCAtNzMwLDggKzczMSw4IEBA IHN0YXRpYyBpbnQgX19pbml0IGhhbmRsZV9tb2R1bGVfbm9kZShFRklfRklMRV9IQU5ETEUgZGly X2hhbmRsZSwNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnVlZmlfbmFtZV9s ZW4pOw0KPiANCj4gICAgIGlmICggIXVlZmlfbmFtZV9wcm9wICkNCj4gLSAgICAgICAgLyogUHJv cGVydHkgbm90IGZvdW5kICovDQo+IC0gICAgICAgIHJldHVybiAwOw0KPiArICAgICAgICAvKiBQ cm9wZXJ0eSBub3QgZm91bmQsIGJ1dCBzaWduYWwgdGhpcyBpcyBhIG11bHRpYm9vdCxtb2R1bGUg Ki8NCj4gKyAgICAgICAgcmV0dXJuIDE7DQo+IA0KPiAgICAgZmlsZV9pZHggPSBnZXRfbW9kdWxl X2ZpbGVfaW5kZXgodWVmaV9uYW1lX3Byb3AsIHVlZmlfbmFtZV9sZW4pOw0KPiAgICAgaWYgKCBm aWxlX2lkeCA8IDAgKQ0KPiBAQCAtNzk1LDE5ICs3OTYsMjAgQEAgc3RhdGljIGludCBfX2luaXQg aGFuZGxlX21vZHVsZV9ub2RlKEVGSV9GSUxFX0hBTkRMRSBkaXJfaGFuZGxlLA0KPiAgICAgICAg IH0NCj4gICAgIH0NCj4gDQo+IC0gICAgcmV0dXJuIDA7DQo+ICsgICAgcmV0dXJuIDE7DQo+IH0N Cj4gDQo+IC8qDQo+ICAqIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGZvciBib290IG1vZHVsZXMgdW5k ZXIgdGhlIGRvbVUgZ3Vlc3QgZG9tYWluIG5vZGUNCj4gICogaW4gdGhlIERULg0KPiAtICogUmV0 dXJucyAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBvbiBlcnJvci4NCj4gKyAqIFJldHVy bnMgbnVtYmVyIG9mIG11bHRpYm9vdCxtb2R1bGUgZm91bmQgb3IgbmVnYXRpdmUgbnVtYmVyIG9u IGVycm9yLg0KPiAgKi8NCj4gc3RhdGljIGludCBfX2luaXQgaGFuZGxlX2RvbTBsZXNzX2RvbWFp bl9ub2RlKEVGSV9GSUxFX0hBTkRMRSBkaXJfaGFuZGxlLA0KPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRvbWFpbl9ub2RlKQ0KPiB7DQo+ICAgICBp bnQgbW9kdWxlX25vZGUsIGFkZHJfY2VsbHMsIHNpemVfY2VsbHMsIGxlbjsNCj4gICAgIGNvbnN0 IHN0cnVjdCBmZHRfcHJvcGVydHkgKnByb3A7DQo+ICsgICAgdW5zaWduZWQgaW50IG1iX21vZHVs ZXNfZm91bmQgPSAwOw0KPiANCj4gICAgIC8qIEdldCAjYWRkcmVzcy1jZWxscyBhbmQgI3NpemUt Y2VsbHMgZnJvbSBkb21haW4gbm9kZSAqLw0KPiAgICAgcHJvcCA9IGZkdF9nZXRfcHJvcGVydHko ZmR0LCBkb21haW5fbm9kZSwgIiNhZGRyZXNzLWNlbGxzIiwgJmxlbik7DQo+IEBAIC04MzcsMjAg KzgzOSwyMiBAQCBzdGF0aWMgaW50IF9faW5pdCBoYW5kbGVfZG9tMGxlc3NfZG9tYWluX25vZGUo RUZJX0ZJTEVfSEFORExFIGRpcl9oYW5kbGUsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzaXplX2NlbGxzLCB0cnVlKTsNCj4gICAgICAgICBpZiAoIHJldCA8IDAgKQ0K PiAgICAgICAgICAgICByZXR1cm4gcmV0Ow0KPiArDQo+ICsgICAgICAgIG1iX21vZHVsZXNfZm91 bmQgKz0gcmV0Ow0KPiAgICAgfQ0KPiANCj4gLSAgICByZXR1cm4gMDsNCj4gKyAgICByZXR1cm4g bWJfbW9kdWxlc19mb3VuZDsNCj4gfQ0KPiANCj4gLyoNCj4gICogVGhpcyBmdW5jdGlvbiBjaGVj a3MgZm9yIHhlbiBkb21haW4gbm9kZXMgdW5kZXIgdGhlIC9jaG9zZW4gbm9kZSBmb3IgcG9zc2li bGUNCj4gICogZG9tMCBhbmQgZG9tVSBndWVzdHMgdG8gYmUgbG9hZGVkLg0KPiAtICogUmV0dXJu cyB0aGUgbnVtYmVyIG9mIG1vZHVsZXMgbG9hZGVkIG9yIGEgbmVnYXRpdmUgbnVtYmVyIGZvciBl cnJvci4NCj4gKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBtdWx0aWJvb3QgbW9kdWxlcyBmb3Vu ZCBvciBhIG5lZ2F0aXZlIG51bWJlciBmb3IgZXJyb3IuDQo+ICAqLw0KPiBzdGF0aWMgaW50IF9f aW5pdCBlZmlfY2hlY2tfZHRfYm9vdChFRklfRklMRV9IQU5ETEUgZGlyX2hhbmRsZSkNCj4gew0K PiAgICAgaW50IGNob3Nlbiwgbm9kZSwgYWRkcl9sZW4sIHNpemVfbGVuOw0KPiAtICAgIHVuc2ln bmVkIGludCBpID0gMDsNCj4gKyAgICB1bnNpZ25lZCBpbnQgaSA9IDAsIG1vZHVsZXNfZm91bmQg PSAwOw0KPiANCj4gICAgIC8qIENoZWNrIGZvciB0aGUgY2hvc2VuIG5vZGUgaW4gdGhlIGN1cnJl bnQgRFRCICovDQo+ICAgICBjaG9zZW4gPSBzZXR1cF9jaG9zZW5fbm9kZShmZHQsICZhZGRyX2xl biwgJnNpemVfbGVuKTsNCj4gQEAgLTg2NSwxNSArODY5LDIzIEBAIHN0YXRpYyBpbnQgX19pbml0 IGVmaV9jaGVja19kdF9ib290KEVGSV9GSUxFX0hBTkRMRSBkaXJfaGFuZGxlKQ0KPiAgICAgICAg ICAgbm9kZSA+IDA7DQo+ICAgICAgICAgICBub2RlID0gZmR0X25leHRfc3Vibm9kZShmZHQsIG5v ZGUpICkNCj4gICAgIHsNCj4gKyAgICAgICAgaW50IHJldDsNCj4gKw0KPiAgICAgICAgIGlmICgg IWZkdF9ub2RlX2NoZWNrX2NvbXBhdGlibGUoZmR0LCBub2RlLCAieGVuLGRvbWFpbiIpICkNCj4g ICAgICAgICB7DQo+ICAgICAgICAgICAgIC8qIEZvdW5kIGEgbm9kZSB3aXRoIGNvbXBhdGlibGUg eGVuLGRvbWFpbjsgaGFuZGxlIHRoaXMgbm9kZS4gKi8NCj4gLSAgICAgICAgICAgIGlmICggaGFu ZGxlX2RvbTBsZXNzX2RvbWFpbl9ub2RlKGRpcl9oYW5kbGUsIG5vZGUpIDwgMCApDQo+ICsgICAg ICAgICAgICByZXQgPSBoYW5kbGVfZG9tMGxlc3NfZG9tYWluX25vZGUoZGlyX2hhbmRsZSwgbm9k ZSk7DQo+ICsgICAgICAgICAgICBpZiAoIHJldCA8IDAgKQ0KPiAgICAgICAgICAgICAgICAgcmV0 dXJuIEVSUk9SX0RUX01PRFVMRV9ET01VOw0KPiAgICAgICAgIH0NCj4gLSAgICAgICAgZWxzZSBp ZiAoIGhhbmRsZV9tb2R1bGVfbm9kZShkaXJfaGFuZGxlLCBub2RlLCBhZGRyX2xlbiwgc2l6ZV9s ZW4sDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UpIDwgMCAp DQo+ICsgICAgICAgIGVsc2UNCj4gKyAgICAgICAgew0KPiArICAgICAgICAgICAgcmV0ID0gaGFu ZGxlX21vZHVsZV9ub2RlKGRpcl9oYW5kbGUsIG5vZGUsIGFkZHJfbGVuLCBzaXplX2xlbiwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSk7DQo+ICsgICAgICAg ICAgICBpZiAoIHJldCA8IDAgKQ0KPiAgICAgICAgICAgICAgICAgIHJldHVybiBFUlJPUl9EVF9N T0RVTEVfRE9NMDsNCj4gKyAgICAgICAgfQ0KPiArICAgICAgICBtb2R1bGVzX2ZvdW5kICs9IHJl dDsNCj4gICAgIH0NCj4gDQo+ICAgICAvKiBGcmVlIGJvb3QgbW9kdWxlcyBmaWxlIG5hbWVzIGlm IGFueSAqLw0KPiBAQCAtODgzLDcgKzg5NSw3IEBAIHN0YXRpYyBpbnQgX19pbml0IGVmaV9jaGVj a19kdF9ib290KEVGSV9GSUxFX0hBTkRMRSBkaXJfaGFuZGxlKQ0KPiAgICAgICAgIGVmaV9icy0+ RnJlZVBvb2wobW9kdWxlc1tpXS5uYW1lKTsNCj4gICAgIH0NCj4gDQo+IC0gICAgcmV0dXJuIG1v ZHVsZXNfaWR4Ow0KPiArICAgIHJldHVybiBtb2R1bGVzX2ZvdW5kOw0KPiB9DQo+IA0KPiBzdGF0 aWMgdm9pZCBfX2luaXQgZWZpX2FyY2hfY3B1KHZvaWQpDQo+IGRpZmYgLS1naXQgYS94ZW4vY29t bW9uL2VmaS9ib290LmMgYi94ZW4vY29tbW9uL2VmaS9ib290LmMNCj4gaW5kZXggMzkyZmYzYWM5 Yi4uMTEyYjdlNzU3MSAxMDA2NDQNCj4gLS0tIGEveGVuL2NvbW1vbi9lZmkvYm9vdC5jDQo+ICsr KyBiL3hlbi9jb21tb24vZWZpL2Jvb3QuYw0KPiBAQCAtNDQ5LDYgKzQ0OSwxNSBAQCBzdGF0aWMg RUZJX0ZJTEVfSEFORExFIF9faW5pdCBnZXRfcGFyZW50X2hhbmRsZShFRklfTE9BREVEX0lNQUdF ICpsb2FkZWRfaW1hZ2UsDQo+ICAgICBDSEFSMTYgKnBhdGhlbmQsICpwdHI7DQo+ICAgICBFRklf U1RBVFVTIHJldDsNCj4gDQo+ICsgICAgLyoNCj4gKyAgICAgKiBHcnViMiBydW5uaW5nIG9uIHRv cCBvZiBFREsyIGhhcyBiZWVuIG9ic2VydmVkIHRvIHN1cHBseSBhIE5VTEwNCj4gKyAgICAgKiBE ZXZpY2VIYW5kbGUuIFdlIGNhbid0IHVzZSB0aGF0IHRvIGdhaW4gYWNjZXNzIHRvIHRoZSBmaWxl c3lzdGVtLg0KPiArICAgICAqIEhvd2V2ZXIgdGhlIHN5c3RlbSBjYW4gc3RpbGwgYm9vdCBpZiBp dCBkb2VzbuKAmXQgcmVxdWlyZSBhY2Nlc3MgdG8gdGhlDQo+ICsgICAgICogZmlsZXN5c3RlbS4N Cj4gKyAgICAgKi8NCj4gKyAgICBpZiAoICFsb2FkZWRfaW1hZ2UtPkRldmljZUhhbmRsZSApDQo+ ICsgICAgICAgIHJldHVybiBOVUxMOw0KPiArDQo+ICAgICBkbyB7DQo+ICAgICAgICAgRUZJX0ZJ TEVfSU9fSU5URVJGQUNFICpmaW87DQo+IA0KPiBAQCAtNTgxLDYgKzU5MCw4IEBAIHN0YXRpYyBi b29sIF9faW5pdCByZWFkX2ZpbGUoRUZJX0ZJTEVfSEFORExFIGRpcl9oYW5kbGUsIENIQVIxNiAq bmFtZSwNCj4gICAgIEVGSV9TVEFUVVMgcmV0Ow0KPiAgICAgY29uc3QgQ0hBUjE2ICp3aGF0ID0g TlVMTDsNCj4gDQo+ICsgICAgaWYgKCAhZGlyX2hhbmRsZSApDQo+ICsgICAgICAgIGJsZXhpdChM IkVycm9yOiBObyBhY2Nlc3MgdG8gdGhlIGZpbGVzeXN0ZW0iKTsNCj4gICAgIGlmICggIW5hbWUg KQ0KPiAgICAgICAgIFByaW50RXJyTWVzZyhMIk5vIGZpbGVuYW1lIiwgRUZJX09VVF9PRl9SRVNP VVJDRVMpOw0KPiAgICAgcmV0ID0gZGlyX2hhbmRsZS0+T3BlbihkaXJfaGFuZGxlLCAmRmlsZUhh bmRsZSwgbmFtZSwNCj4gQEAgLTEzMzMsOCArMTM0NCwxOCBAQCBlZmlfc3RhcnQoRUZJX0hBTkRM RSBJbWFnZUhhbmRsZSwgRUZJX1NZU1RFTV9UQUJMRSAqU3lzdGVtVGFibGUpDQo+ICAgICAgICAg ICAgIEVGSV9GSUxFX0hBTkRMRSBoYW5kbGUgPSBnZXRfcGFyZW50X2hhbmRsZShsb2FkZWRfaW1h Z2UsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAmZmlsZV9uYW1lKTsNCj4gDQo+IC0gICAgICAgICAgICBoYW5kbGUtPkNsb3NlKGhhbmRs ZSk7DQo+IC0gICAgICAgICAgICAqYXJndiA9IGZpbGVfbmFtZTsNCj4gKyAgICAgICAgICAgIGlm ICggIWhhbmRsZSApDQo+ICsgICAgICAgICAgICB7DQo+ICsgICAgICAgICAgICAgICAgUHJpbnRF cnIoTCJFcnJvciByZXRyaWV2aW5nIGltYWdlIG5hbWU6IG5vIGZpbGVzeXN0ZW0gYWNjZXNzLiIN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICBMIiBTZXR0aW5nIGRlZmF1bHQgdG8geGVuLmVm aSIpOw0KPiArICAgICAgICAgICAgICAgIFByaW50RXJyKG5ld2xpbmUpOw0KPiArICAgICAgICAg ICAgICAgICphcmd2ID0gTCJ4ZW4uZWZpIjsNCj4gKyAgICAgICAgICAgIH0NCj4gKyAgICAgICAg ICAgIGVsc2UNCj4gKyAgICAgICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgICBoYW5kbGUtPkNs b3NlKGhhbmRsZSk7DQo+ICsgICAgICAgICAgICAgICAgKmFyZ3YgPSBmaWxlX25hbWU7DQo+ICsg ICAgICAgICAgICB9DQo+ICAgICAgICAgfQ0KPiANCj4gICAgICAgICBuYW1lLnMgPSBnZXRfdmFs dWUoJmNmZywgc2VjdGlvbi5zLCAib3B0aW9ucyIpOw0KPiBAQCAtMTM2OSw3ICsxMzkwLDggQEAg ZWZpX3N0YXJ0KEVGSV9IQU5ETEUgSW1hZ2VIYW5kbGUsIEVGSV9TWVNURU1fVEFCTEUgKlN5c3Rl bVRhYmxlKQ0KPiAgICAgLyogR2V0IHRoZSBudW1iZXIgb2YgYm9vdCBtb2R1bGVzIHNwZWNpZmll ZCBvbiB0aGUgRFQgb3IgYW4gZXJyb3IgKDwwKSAqLw0KPiAgICAgZHRfbW9kdWxlc19mb3VuZCA9 IGVmaV9jaGVja19kdF9ib290KGRpcl9oYW5kbGUpOw0KPiANCj4gLSAgICBkaXJfaGFuZGxlLT5D bG9zZShkaXJfaGFuZGxlKTsNCj4gKyAgICBpZiAoIGRpcl9oYW5kbGUgKQ0KPiArICAgICAgICBk aXJfaGFuZGxlLT5DbG9zZShkaXJfaGFuZGxlKTsNCj4gDQo+ICAgICBpZiAoIGR0X21vZHVsZXNf Zm91bmQgPCAwICkNCj4gICAgICAgICAvKiBlZmlfY2hlY2tfZHRfYm9vdCB0aHJvd3Mgc29tZSBl cnJvciAqLw0KPiAtLSANCj4gMi4xNy4xDQo+IA0KDQo=