From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (EUR05-VI1-obe.outbound.protection.outlook.com [40.107.21.83]) by mx.groups.io with SMTP id smtpd.web12.24090.1662379874750968445 for ; Mon, 05 Sep 2022 05:11:15 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=hZS3stuN; spf=pass (domain: arm.com, ip: 40.107.21.83, mailfrom: samer.el-haj-mahmoud@arm.com) ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=YrVDcI+6CnL7UXQKgJ8biXZFph/pyf1mfXOAU+saL7NymemKzWq2WOj8jxujVmyavk3dNDvBtyReC7yZ9Kz0kweI3ztalfi1Kejkt2COl2qn0/Hu35B8PsH1MbJJPxRj558LvHDz4DVHUAUBAj/dJMgbPdsjJUjRihlcUrces/lshCRuokDZY4nf9viKcFRiAleow3poM+7wghtt9/asZsqLem4kVGahiPHTNd8EloADyK1Of7HIBgvy5sq4j0rvFmnuuTIghjjmVqXW6+FXPD7L8XlQK1po3UTQv7MFpk3K8RlOD6tuD3sFpF5+5UxSonXlL+Mbebq5dmylIrB+rg== ARC-Message-Signature: i=2; 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=415/cx85rqvf9DfRlr0Tc5FSSz5gZEBeyOPr2VxtGGc=; b=Vmn3lZMhoTA3k/gHrz4V6d0g1+tGFLkLTVOuCGfx0jHticKTfT9JMhOK8YXQKK2uNG5HervwkMXm8BXoJxycRX31hhrHGMpS5yMzBZtvNEMAF+nGazLAK0TNkYc2xhZ4zPSim6La72daPfRt6zt2IoBOxsHOdLF2GMzqPFaEJ98FS4skQuv0nNlwTGuYO72KNdOZQveSzugDCWLK/AeCGXn5JkiPDT1qSM1ov12gi5br88m3r6sgL0BOid7NGYs0PHoaGvgxSXulNbhLwhOrURYqkN9lNCySPm4fkDRSl2jr1h/ewTzacuJlg0KO1534wh+CYbkAim9C1/PXjD8IQQ== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) 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=415/cx85rqvf9DfRlr0Tc5FSSz5gZEBeyOPr2VxtGGc=; b=hZS3stuNFAYOHtEKJSGCZcQhGv9p+cCfeL4R97KKhm1VhUefZJinscFPbLJpmaMQdLvMluRCu6zzLrGcTAI7R1JDp95fHBkatfFzE1Lfoj9MHavx9CaEdoNLX+67xIz1QcLYtlFgYSxBq7xouKi/NsDGGrMJ9ljHCHkAnRj5cxs= Received: from DB6PR0301CA0056.eurprd03.prod.outlook.com (2603:10a6:4:54::24) by DU0PR08MB8187.eurprd08.prod.outlook.com (2603:10a6:10:3ee::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21; Mon, 5 Sep 2022 12:11:10 +0000 Received: from DBAEUR03FT065.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:54:cafe::f5) by DB6PR0301CA0056.outlook.office365.com (2603:10a6:4:54::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.17 via Frontend Transport; Mon, 5 Sep 2022 12:11:10 +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 DBAEUR03FT065.mail.protection.outlook.com (100.127.142.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10 via Frontend Transport; Mon, 5 Sep 2022 12:11:10 +0000 Received: ("Tessian outbound c883b5ba7b70:v123"); Mon, 05 Sep 2022 12:11:10 +0000 X-CR-MTA-TID: 64aa7808 Received: from e28ada8ebb9d.3 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 85EDA6A7-786E-4DBB-844E-A646B2B7CAA8.1; Mon, 05 Sep 2022 12:11:04 +0000 Received: from EUR03-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e28ada8ebb9d.3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 05 Sep 2022 12:11:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jD4rfGORAQ+G13Mo/Zv4cKGntEWxKnheVGG7QPWaTpFo11zbvBB+vJ9ebTFWQNlXiiMGb4cKmzNFPV9bu+lWvVIJ33rY2VLMQQ0XcvjA2zhqB1H9WS+S78lSueg2oXbdL1IoE3aT76pys2sBH+j5dbOhX2EbkAKLUUHmn+/NEDl6r7lXv+YIb62rBZ8SKR4Yo7/vZJr3hqxuTfBjNhdMeFdxdsro8xtzzbgGlWZYSz+LUWIifhdkTlzpFYjeAerEuHBT4Fuf65B3R+WiRLD+Hh+Kt1qZaAILPGJUPGhUZBvB+aqUnUZ7WJyT845SGbSB8H/wARTwVYOXD+9bcjB3nQ== 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=415/cx85rqvf9DfRlr0Tc5FSSz5gZEBeyOPr2VxtGGc=; b=kToGmJ7685o5Bh2AsZSRTQizFk9iIRNsZL0g9INNslKA7TXDdj4dpwHr+OwRtHNiuZh2nTquwCqhkaTO4YQnyWgmR5IQjd2sLvzwP/ZNsSolsOd/svAen20s7IIOQlyrhap6iLJlS1m7WesbIgZX3lGWT+kVoTUWT6eXoCPZ025b6RosdRYEeGvE6+VJAXjoIm0vEU3mwNYJbX5BQjozcRnTdcCEzgTPwwS7LeahGmuQnr5MwRAocWKTrXOhACeOJUSY7nBV8ja1hrFrieeMYwGRUIQTD1sljMR8/Bp+AJh6efqSde7EOybamsgJ6+0TlTv2QzE202tzfLJJwvlH3Q== 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=415/cx85rqvf9DfRlr0Tc5FSSz5gZEBeyOPr2VxtGGc=; b=hZS3stuNFAYOHtEKJSGCZcQhGv9p+cCfeL4R97KKhm1VhUefZJinscFPbLJpmaMQdLvMluRCu6zzLrGcTAI7R1JDp95fHBkatfFzE1Lfoj9MHavx9CaEdoNLX+67xIz1QcLYtlFgYSxBq7xouKi/NsDGGrMJ9ljHCHkAnRj5cxs= Received: from VI1PR08MB5312.eurprd08.prod.outlook.com (2603:10a6:803:139::24) by VE1PR08MB5696.eurprd08.prod.outlook.com (2603:10a6:800:1ae::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.12; Mon, 5 Sep 2022 12:11:02 +0000 Received: from VI1PR08MB5312.eurprd08.prod.outlook.com ([fe80::d0ed:a69f:5951:2d06]) by VI1PR08MB5312.eurprd08.prod.outlook.com ([fe80::d0ed:a69f:5951:2d06%9]) with mapi id 15.20.5588.018; Mon, 5 Sep 2022 12:11:01 +0000 From: "Samer El-Haj-Mahmoud" To: Ard Biesheuvel , Dimitrije Pavlov CC: "devel@edk2.groups.io" , Ard Biesheuvel , Jiewen Yao , Liming Gao , Sunny Wang , Jeff Booher-Kaeding , Samer El-Haj-Mahmoud , nd Subject: Re: [PATCH v1 1/1] OvmfPkg/PlatformDxe: Handle all requests in ExtractConfig and RouteConfig Thread-Topic: [PATCH v1 1/1] OvmfPkg/PlatformDxe: Handle all requests in ExtractConfig and RouteConfig Thread-Index: AQHYszzyzPAt6xkA+U6a/gidZRq7+a3Q1+mAgAAAX9A= Date: Mon, 5 Sep 2022 12:11:01 +0000 Message-ID: References: <20220818195842.3318813-1-dimitrije.pavlov@arm.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 2FF835C56B39134F85D53DC3AD5CCFD8.0 x-checkrecipientchecked: true Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-MS-Office365-Filtering-Correlation-Id: 19cce4ce-7a25-454b-3399-08da8f37b82c x-ms-traffictypediagnostic: VE1PR08MB5696:EE_|DBAEUR03FT065:EE_|DU0PR08MB8187:EE_ 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: lnZRV0Hrtdv5MfLdJch/Cjfb/W5KdpDm8b9H1tJcvlc0KNbZ6vvIogWcxZCwyZkKkSDCfMLWmTQf14ne0Xk7QNGMWICdeu22sWCkmq3q4fSv49TUbChOaIPZMCjhB5UsJsmM+d/BLP24Z0ZUh8GkFmcyOBJfaGmJr/3gOsfjaDhJdUALcREdML8RZya2VlMGSPNNNVtIkN5OCeMcZhB7AfGMRsDV68QCqbfGYEA2xskKXOFEM5urgcnQSqzP07+fl0URLHatBXfGjWXu1FVosodoPJY/HBvMbW0PKlMp/o7cCFmKaClQNqKORbJuDEhvSu0U8YLLM2ZXeEDXLPBj1wvaJ/n+MRkwPiFWX1qDbe2QD924gWPqrRr8WPRjj6lEoXEAgX1LLBJyhxpWmCF8TsUi0/RKbU2wWjMP0fNpqNx/vvKKGYktgpBNraDe78CV5yYEtMJd9eibXfAe0K1kfiBJCYsxTO4/fz4MocARmQCU+Qcq6BYAYSnp+76Q3fGT2plTjEaobcpdNhgeI7MOAfM8OjMouqhQDFZWJ6a1iGpNkM6sxWz1ELEeN6+WEBj4pow8xNVjMl87Ig3oJql6e8wZzSyykuJwUiH2WcgRi7w65VvkiVQdVwFTxrvGt1Y9p3V5NLrX5bKPNNRVYxpiON3jIJSv/75SHBEDhODPDI3UOIz8FTWCuP2cL44C1YJtgj1YkzStnFvub2w7RqfiSKzPAEzGZHjv5UinIDKlLJiEPmubkVEaw6W6WKGJAQVysJJ3o9dQrYi8CR+IOWgWQg== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR08MB5312.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(376002)(346002)(396003)(366004)(136003)(6636002)(41300700001)(110136005)(4326008)(54906003)(8676002)(53546011)(66946007)(76116006)(64756008)(7696005)(66556008)(86362001)(66476007)(66446008)(26005)(38070700005)(316002)(9686003)(83380400001)(6506007)(478600001)(122000001)(71200400001)(5660300002)(33656002)(52536014)(55016003)(2906002)(38100700002)(8936002)(186003);DIR:OUT;SFP:1101; MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5696 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Return-Path: Samer.El-Haj-Mahmoud@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DBAEUR03FT065.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: de56cf7a-d950-4a06-da9f-08da8f37b31f X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Y+w4srUYx/fEElZc/7qske7LKRW7xSyITyzJeqXGxgAO+hoygx3/HxH7t5MuAbvLTMgPu+Mk1+13ETpl16x7tQtIHDhcxarzqTzdnyrgscwvEp3usKym182BZ/d7GmXzKlTlgv5uxHYnOK8ykUTSLv5L4zL4dbfuSC2ou9zz2vF1qyXUaynCasEGtgMLraVz9aILkE1Pwl3EoDJAGZAAf4As2fqn6Y7XbQEDVNSY65w5SE9snKFxA2OKC4HS/lxc/ZBdl/YL8gfT1UvuugVrEkHpiRnHz8Hb13E2skp2zL9j8M4ifmaYtyr+x1xNFEmHO3pm9u0yOh+n7zQqY7UPrl7TXjhMXQLW8Oeu1gYFR/AqBFGfkjechxY8rFdapvY4MWX2cVsxW77DP1OSoe2epTL+uTSWNzMpS455WRgItc2hhMAIn70idUfjkcH+g8sw+Y0eaIrPskUdYBFPeRS5icBy469C14Cfi/iE1JOSHsYQ48eQSymzgEOxUM69P36OU4cx0spPBGuH5FInmqhlY+IQ8jQQYOjTOUVO5mI1snvV8D2u2+G3453dgYgAY4Ve1sCJDj34j23ebjSIVldMr5djd7aDUoTVeEzeaU7NNjRH6P81MME4khrVC+k4F6ZGJK9hzghGqWP83KvzJvvGSD9QSnfxJwpLMTOkAtHUfIKEGOSMXL6heggmdohNER9rYCs0xzBv+b5zQdtDrKL5TfKLKH2ivGKYlB8EvqvaSMXov4qmyvn6rIoXDAA5IQyzLQt3Ntt9HAaGrnkzCRFqlg== 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:(13230016)(4636009)(376002)(39860400002)(136003)(396003)(346002)(36840700001)(40470700004)(46966006)(316002)(110136005)(356005)(54906003)(82740400003)(6636002)(186003)(82310400005)(86362001)(81166007)(9686003)(53546011)(83380400001)(70586007)(40480700001)(8676002)(4326008)(6506007)(70206006)(336012)(2906002)(40460700003)(36860700001)(55016003)(7696005)(52536014)(8936002)(47076005)(33656002)(478600001)(41300700001)(26005)(5660300002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Sep 2022 12:11:10.2068 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 19cce4ce-7a25-454b-3399-08da8f37b82c 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: DBAEUR03FT065.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8187 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgQXJkLA0KDQpZZXMsIHRoaXMgd2FzIGZvdW5kIGR1cmluZyBTQ1QgdGVzdGluZzoNCg0KSElJ X0NPTkZJR19BQ0NFU1NfUFJPVE9DT0wuRXh0cmFjdENvbmZpZy0gRXh0cmFjdENvbmZpZygpIHJl dHVybnMgRUZJX1NVQ0NFU1Mgb3IgRUZJX05PVF9GT1VORCB3aXRoIFJlcXVlc3QgYmVlbiBOVUxM IC4gLS0gRkFJTFVSRQ0KNjAzRTUyRjAtMkNFMy00RTdBLUE3MkUtREY4Q0EzRkRCMjBEDQovaG9t ZS9kcGF2bG92L3FlbXUtY2VydC9jdXN0b20tdGVzdGluZy9hcm0tc3lzdGVtcmVhZHkvU1Ivc2Ny aXB0cy9lZGsyLXRlc3QvdWVmaS1zY3QvU2N0UGtnL1Rlc3RDYXNlL1VFRkkvRUZJL1Byb3RvY29s L0hJSUNvbmZpZ0FjY2Vzcy9CbGFja0JveFRlc3QvSElJQ29uZmlnQWNjZXNzQkJUZXN0RnVuY3Rp b24uYzo0NDg6IFN0YXR1cyAtIEludmFsaWQgUGFyYW1ldGVyDQoNClRoYW5rcywNCi0tU2FtZXIN Cg0KDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQXJkIEJpZXNoZXV2 ZWwgPGFyZGJAa2VybmVsLm9yZz4NCj4gU2VudDogTW9uZGF5LCBTZXB0ZW1iZXIgNSwgMjAyMiA4 OjAxIEFNDQo+IFRvOiBEaW1pdHJpamUgUGF2bG92IDxEaW1pdHJpamUuUGF2bG92QGFybS5jb20+ DQo+IENjOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgQXJkIEJpZXNoZXV2ZWwgPGFyZGIrdGlhbm9j b3JlQGtlcm5lbC5vcmc+Ow0KPiBKaWV3ZW4gWWFvIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IExp bWluZyBHYW8gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj47DQo+IFN1bm55IFdhbmcgPFN1bm55 LldhbmdAYXJtLmNvbT47IEplZmYgQm9vaGVyLUthZWRpbmcgPEplZmYuQm9vaGVyLQ0KPiBLYWVk aW5nQGFybS5jb20+OyBTYW1lciBFbC1IYWotTWFobW91ZCA8U2FtZXIuRWwtSGFqLQ0KPiBNYWht b3VkQGFybS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjEgMS8xXSBPdm1mUGtnL1BsYXRm b3JtRHhlOiBIYW5kbGUgYWxsIHJlcXVlc3RzIGluDQo+IEV4dHJhY3RDb25maWcgYW5kIFJvdXRl Q29uZmlnDQo+IA0KPiBPbiBUaHUsIDE4IEF1ZyAyMDIyIGF0IDIxOjU4LCBEaW1pdHJpamUgUGF2 bG92IDxkaW1pdHJpamUucGF2bG92QGFybS5jb20+DQo+IHdyb3RlOg0KPiA+DQo+ID4gUGVyIHRo ZSBVRUZJIHNwZWNpZmljYXRpb24sIGlmIHRoZSBSZXF1ZXN0IGFyZ3VtZW50IGluDQo+ID4gRUZJ X0hJSV9DT05GSUdfQUNDRVNTX1BST1RPQ09MLkV4dHJhY3RDb25maWcoKSBpcyBOVUxMIG9yIGRv ZXMgbm90DQo+IGNvbnRhaW4NCj4gPiBhbnkgcmVxdWVzdCBlbGVtZW50cywgdGhlIGltcGxlbWVu dGF0aW9uIHNob3VsZCByZXR1cm4gYWxsIG9mIHRoZSBzZXR0aW5ncw0KPiA+IGJlaW5nIGFic3Ry YWN0ZWQgZm9yIHRoZSBwYXJ0aWN1bGFyIENvbmZpZ0hkciByZWZlcmVuY2UuDQo+ID4NCj4gPiBU aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiByZXR1cm5zIEVGSV9JTlZBTElEX1BBUkFNRVRFUiBp ZiBSZXF1ZXN0IGlzDQo+ID4gTlVMTCBvciBkb2VzIG5vdCBjb250YWluIGFueSByZXF1ZXN0IGVs ZW1lbnRzLiBJbnN0ZWFkLCBjb25zdHJ1Y3QNCj4gPiBhIG5ldyBDb25maWdSZXF1ZXN0IHRvIGhh bmRsZSB0aGVzZSBjYXNlcyBwZXIgdGhlIHNwZWNpZmljYXRpb24uDQo+ID4NCj4gPiBJbiBhZGRp dGlvbiwgcGVyIHRoZSBVRUZJIHNwZWNpZmljYXRpb24sIGlmIHRoZSBDb25maWd1cmF0aW9uIGFy Z3VtZW50IGluDQo+ID4gRUZJX0hJSV9DT05GSUdfQUNDRVNTX1BST1RPQ09MLlJvdXRlQ29uZmln KCkgaGFzIGEgQ29uZmlnSGRyIHRoYXQNCj4gPiBzcGVjaWZpZXMgYSBub24tZXhpc3RpbmcgdGFy Z2V0LCB0aGUgaW1wbGVtZW50YXRpb24gc2hvdWxkIHJldHVybg0KPiA+IEVGSV9OT1RfRk9VTkQu DQo+ID4NCj4gPiBUaGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiByZXR1cm5zIEVGSV9JTlZBTElE X1BBUkFNRVRFUiBpZiBDb25maWd1cmF0aW9uDQo+ID4gaGFzIGEgbm9uLWV4aXN0aW5nIHRhcmdl dCBpbiBDb25maWdIZHIuIEluc3RlYWQsIHBlcmZvcm0gYSBjaGVjayBhbmQNCj4gPiByZXR1cm4g RUZJX05PVF9GT1VORCBpbiB0aGlzIGNhc2UuDQo+ID4NCj4gPiBDYzogQXJkIEJpZXNoZXV2ZWwg PGFyZGIrdGlhbm9jb3JlQGtlcm5lbC5vcmc+DQo+ID4gQ2M6IEppZXdlbiBZYW8gPGppZXdlbi55 YW9AaW50ZWwuY29tPg0KPiA+IENjOiBMaW1pbmcgR2FvIDxnYW9saW1pbmdAYnlvc29mdC5jb20u Y24+DQo+ID4gQ2M6IFN1bm55IFdhbmcgPFN1bm55LldhbmdAYXJtLmNvbT4NCj4gPiBDYzogSmVm ZiBCb29oZXItS2FlZGluZyA8SmVmZi5Cb29oZXItS2FlZGluZ0Bhcm0uY29tPg0KPiA+IENjOiBT YW1lciBFbC1IYWotTWFobW91ZCA8U2FtZXIuRWwtSGFqLU1haG1vdWRAYXJtLmNvbT4NCj4gPg0K PiA+IFNpZ25lZC1vZmYtYnk6IERpbWl0cmlqZSBQYXZsb3YgPERpbWl0cmlqZS5QYXZsb3ZAYXJt LmNvbT4NCj4gDQo+IFdhcyB0aGlzIGlzc3VlIGNhdWdodCBpbiBzb21lIGtpbmQgb2YgdGVzdGlu Zy92YWxpZGF0aW9uPw0KPiANCj4gPiAtLS0NCj4gPiAgT3ZtZlBrZy9QbGF0Zm9ybUR4ZS9QbGF0 Zm9ybUNvbmZpZy5oIHwgICAyICsNCj4gPiAgT3ZtZlBrZy9QbGF0Zm9ybUR4ZS9QbGF0Zm9ybS5j ICAgICAgIHwgMTE1ICsrKysrKysrKysrKysrKysrKystDQo+ID4gIE92bWZQa2cvUGxhdGZvcm1E eGUvUGxhdGZvcm1Db25maWcuYyB8ICAgMiArLQ0KPiA+ICAzIGZpbGVzIGNoYW5nZWQsIDExNiBp bnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL092bWZQ a2cvUGxhdGZvcm1EeGUvUGxhdGZvcm1Db25maWcuaA0KPiBiL092bWZQa2cvUGxhdGZvcm1EeGUv UGxhdGZvcm1Db25maWcuaA0KPiA+IGluZGV4IDkwMmM5YjJjZTA0My4uNWQ5YjQ1N2IxYjRiIDEw MDY0NA0KPiA+IC0tLSBhL092bWZQa2cvUGxhdGZvcm1EeGUvUGxhdGZvcm1Db25maWcuaA0KPiA+ ICsrKyBiL092bWZQa2cvUGxhdGZvcm1EeGUvUGxhdGZvcm1Db25maWcuaA0KPiA+IEBAIC01MCw0 ICs1MCw2IEBAIFBsYXRmb3JtQ29uZmlnTG9hZCAoDQo+ID4gICNkZWZpbmUgUExBVEZPUk1fQ09O RklHX0ZfR1JBUEhJQ1NfUkVTT0xVVElPTiAgQklUMA0KPiA+ICAjZGVmaW5lIFBMQVRGT1JNX0NP TkZJR19GX0RPV05HUkFERSAgICAgICAgICAgIEJJVDYzDQo+ID4NCj4gPiArZXh0ZXJuIENIQVIx NiAgbVZhcmlhYmxlTmFtZVtdOw0KPiA+ICsNCj4gPiAgI2VuZGlmIC8vIF9QTEFURk9STV9DT05G SUdfSF8NCj4gPiBkaWZmIC0tZ2l0IGEvT3ZtZlBrZy9QbGF0Zm9ybUR4ZS9QbGF0Zm9ybS5jDQo+ IGIvT3ZtZlBrZy9QbGF0Zm9ybUR4ZS9QbGF0Zm9ybS5jDQo+ID4gaW5kZXggYTZkNDU5ZjNkZmQ3 Li4wZTMyYzZlNzYwMzcgMTAwNjQ0DQo+ID4gLS0tIGEvT3ZtZlBrZy9QbGF0Zm9ybUR4ZS9QbGF0 Zm9ybS5jDQo+ID4gKysrIGIvT3ZtZlBrZy9QbGF0Zm9ybUR4ZS9QbGF0Zm9ybS5jDQo+ID4gQEAg LTEwOCw2ICsxMDgsMTEgQEAgU1RBVElDIEVGSV9FVkVOVCAgbUdvcEV2ZW50Ow0KPiA+ICAvLw0K PiA+ICBTVEFUSUMgVk9JRCAgKm1Hb3BUcmFja2VyOw0KPiA+DQo+ID4gKy8vDQo+ID4gKy8vIFRo ZSBkcml2ZXIgaW1hZ2UgaGFuZGxlLCB1c2VkIHRvIG9idGFpbiB0aGUgZGV2aWNlIHBhdGggZm9y IDxDb25maWdIZHI+Lg0KPiA+ICsvLw0KPiA+ICtTVEFUSUMgRUZJX0hBTkRMRSAgbUltYWdlSGFu ZGxlOw0KPiA+ICsNCj4gPiAgLy8NCj4gPiAgLy8gQ2FjaGUgdGhlIHJlc29sdXRpb25zIHdlIGdl dCBmcm9tIHRoZSBHT1AuDQo+ID4gIC8vDQo+ID4gQEAgLTIyOSw2ICsyMzQsMTAgQEAgRXh0cmFj dENvbmZpZyAoDQo+ID4gIHsNCj4gPiAgICBNQUlOX0ZPUk1fU1RBVEUgIE1haW5Gb3JtU3RhdGU7 DQo+ID4gICAgRUZJX1NUQVRVUyAgICAgICBTdGF0dXM7DQo+ID4gKyAgRUZJX1NUUklORyAgICAg ICBDb25maWdSZXF1ZXN0SGRyOw0KPiA+ICsgIEVGSV9TVFJJTkcgICAgICAgQ29uZmlnUmVxdWVz dDsNCj4gPiArICBVSU5UTiAgICAgICAgICAgIFNpemU7DQo+ID4gKyAgQk9PTEVBTiAgICAgICAg ICBBbGxvY2F0ZWRSZXF1ZXN0Ow0KPiA+DQo+ID4gICAgREVCVUcgKChERUJVR19WRVJCT1NFLCAi JWE6IFJlcXVlc3Q9XCIlc1wiXG4iLCBfX0ZVTkNUSU9OX18sDQo+IFJlcXVlc3QpKTsNCj4gPg0K PiA+IEBAIC0yMzYsMTggKzI0NSw3MyBAQCBFeHRyYWN0Q29uZmlnICgNCj4gPiAgICAgIHJldHVy biBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ID4gICAgfQ0KPiA+DQo+ID4gKyAgQ29uZmlnUmVx dWVzdEhkciA9IE5VTEw7DQo+ID4gKyAgQ29uZmlnUmVxdWVzdCAgICA9IE5VTEw7DQo+ID4gKyAg U2l6ZSAgICAgICAgICAgICA9IDA7DQo+ID4gKyAgQWxsb2NhdGVkUmVxdWVzdCA9IEZBTFNFOw0K PiA+ICsNCj4gPiArICAvLw0KPiA+ICsgIC8vIENoZWNrIGlmIDxDb25maWdIZHI+IG1hdGNoZXMg dGhlIEdVSUQgYW5kIG5hbWUNCj4gPiArICAvLw0KPiA+ICsgICpQcm9ncmVzcyA9IFJlcXVlc3Q7 DQo+ID4gKyAgaWYgKChSZXF1ZXN0ICE9IE5VTEwpICYmDQo+ID4gKyAgICAgICFIaWlJc0NvbmZp Z0hkck1hdGNoICgNCj4gPiArICAgICAgICAgUmVxdWVzdCwNCj4gPiArICAgICAgICAgJmdPdm1m UGxhdGZvcm1Db25maWdHdWlkLA0KPiA+ICsgICAgICAgICBtVmFyaWFibGVOYW1lDQo+ID4gKyAg ICAgICAgICkNCj4gPiArICAgICAgKQ0KPiA+ICsgIHsNCj4gPiArICAgIHJldHVybiBFRklfTk9U X0ZPVU5EOw0KPiA+ICsgIH0NCj4gPiArDQo+ID4gICAgU3RhdHVzID0gUGxhdGZvcm1Db25maWdU b0Zvcm1TdGF0ZSAoJk1haW5Gb3JtU3RhdGUpOw0KPiA+ICAgIGlmIChFRklfRVJST1IgKFN0YXR1 cykpIHsNCj4gPiAtICAgICpQcm9ncmVzcyA9IFJlcXVlc3Q7DQo+ID4gICAgICByZXR1cm4gU3Rh dHVzOw0KPiA+ICAgIH0NCj4gPg0KPiA+ICsgIGlmICgoUmVxdWVzdCA9PSBOVUxMKSB8fCAoU3Ry U3RyIChSZXF1ZXN0LCBMIk9GRlNFVCIpID09IE5VTEwpKSB7DQo+ID4gKyAgICAvLw0KPiA+ICsg ICAgLy8gUmVxdWVzdCBoYXMgbm8gPFJlcXVlc3RFbGVtZW50Piwgc28gY29uc3RydWN0IGZ1bGwg cmVxdWVzdCBzdHJpbmcuDQo+ID4gKyAgICAvLyBBbGxvY2F0ZSBhbmQgZmlsbCBhIGJ1ZmZlciBs YXJnZSBlbm91Z2ggdG8gaG9sZCA8Q29uZmlnSGRyPg0KPiA+ICsgICAgLy8gZm9sbG93ZWQgYnkg IiZPRkZTRVQ9MCZXSURUSD1XV1dXV1dXV1dXV1dXV1dXIg0KPiBmb2xsb3dlZCBieSBhDQo+ID4g KyAgICAvLyBudWxsIHRlcm1pbmF0b3IuDQo+ID4gKyAgICAvLw0KPiA+ICsgICAgQ29uZmlnUmVx dWVzdEhkciA9IEhpaUNvbnN0cnVjdENvbmZpZ0hkciAoDQo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAmZ092bWZQbGF0Zm9ybUNvbmZpZ0d1aWQsDQo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICBtVmFyaWFibGVOYW1lLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgbUlt YWdlSGFuZGxlDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiA+ICsgICAgaWYg KENvbmZpZ1JlcXVlc3RIZHIgPT0gTlVMTCkgew0KPiA+ICsgICAgICByZXR1cm4gRUZJX09VVF9P Rl9SRVNPVVJDRVM7DQo+ID4gKyAgICB9DQo+ID4gKw0KPiA+ICsgICAgU2l6ZSAgICAgICAgICAg ICA9IChTdHJMZW4gKENvbmZpZ1JlcXVlc3RIZHIpICsgMzIgKyAxKSAqIHNpemVvZiAoQ0hBUjE2 KTsNCj4gPiArICAgIENvbmZpZ1JlcXVlc3QgICAgPSBBbGxvY2F0ZVplcm9Qb29sIChTaXplKTsN Cj4gPiArICAgIEFsbG9jYXRlZFJlcXVlc3QgPSBUUlVFOw0KPiA+ICsgICAgaWYgKENvbmZpZ1Jl cXVlc3QgPT0gTlVMTCkgew0KPiA+ICsgICAgICBGcmVlUG9vbCAoQ29uZmlnUmVxdWVzdEhkcik7 DQo+ID4gKyAgICAgIHJldHVybiBFRklfT1VUX09GX1JFU09VUkNFUzsNCj4gPiArICAgIH0NCj4g PiArDQo+ID4gKyAgICBVbmljb2RlU1ByaW50ICgNCj4gPiArICAgICAgQ29uZmlnUmVxdWVzdCwN Cj4gPiArICAgICAgU2l6ZSwNCj4gPiArICAgICAgTCIlcyZPRkZTRVQ9MCZXSURUSD0lMDE2TFgi LA0KPiA+ICsgICAgICBDb25maWdSZXF1ZXN0SGRyLA0KPiA+ICsgICAgICBzaXplb2YgTWFpbkZv cm1TdGF0ZQ0KPiA+ICsgICAgICApOw0KPiA+ICsgICAgRnJlZVBvb2wgKENvbmZpZ1JlcXVlc3RI ZHIpOw0KPiA+ICsgIH0gZWxzZSB7DQo+ID4gKyAgICBDb25maWdSZXF1ZXN0ID0gUmVxdWVzdDsN Cj4gPiArICB9DQo+ID4gKw0KPiA+ICAgIC8vDQo+ID4gICAgLy8gQW5zd2VyIHRoZSB0ZXh0dWFs IHJlcXVlc3Qga2V5aW5nIG9mZiB0aGUgYmluYXJ5IGZvcm0gc3RhdGUuDQo+ID4gICAgLy8NCj4g PiAgICBTdGF0dXMgPSBnSGlpQ29uZmlnUm91dGluZy0+QmxvY2tUb0NvbmZpZyAoDQo+ID4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ0hpaUNvbmZpZ1JvdXRpbmcsDQo+ID4gLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdCwNCj4gPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBDb25maWdSZXF1ZXN0LA0KPiA+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChWT0lEICopJk1haW5Gb3JtU3RhdGUsDQo+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mIE1haW5Gb3JtU3RhdGUsDQo+ID4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmVzdWx0cywNCj4gPiBAQCAtMjY1LDYgKzMyOSwzMyBA QCBFeHRyYWN0Q29uZmlnICgNCj4gPiAgICAgIERFQlVHICgoREVCVUdfVkVSQk9TRSwgIiVhOiBS ZXN1bHRzPVwiJXNcIlxuIiwgX19GVU5DVElPTl9fLA0KPiAqUmVzdWx0cykpOw0KPiA+ICAgIH0N Cj4gPg0KPiA+ICsgIC8vDQo+ID4gKyAgLy8gSWYgd2UgdXNlZCBhIG5ld2x5IGFsbG9jYXRlZCBD b25maWdSZXF1ZXN0LCB1cGRhdGUgUHJvZ3Jlc3MgdG8gcG9pbnQgdG8NCj4gPiArICAvLyBvcmln aW5hbCBSZXF1ZXN0IGluc3RlYWQgb2YgQ29uZmlnUmVxdWVzdC4NCj4gPiArICAvLw0KPiA+ICsg IGlmIChSZXF1ZXN0ID09IE5VTEwpIHsNCj4gPiArICAgICpQcm9ncmVzcyA9IE5VTEw7DQo+ID4g KyAgfSBlbHNlIGlmIChTdHJTdHIgKFJlcXVlc3QsIEwiT0ZGU0VUIikgPT0gTlVMTCkgew0KPiA+ ICsgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiA+ICsgICAgICAvLw0KPiA+ICsgICAg ICAvLyBTaW5jZSB3ZSBjb25zdHJ1Y3RlZCBDb25maWdSZXF1ZXN0LCBmYWlsdXJlIGNhbiBvbmx5 IG9jY3VyIGlmIHRoZXJlDQo+ID4gKyAgICAgIC8vIGlzIG5vdCBlbm91Z2ggbWVtb3J5LiBJbiB0 aGlzIGNhc2UsIHdlIHBvaW50IFByb2dyZXNzIHRvIHRoZSBmaXJzdA0KPiA+ICsgICAgICAvLyBj aGFyYWN0ZXIgb2YgUmVxdWVzdC4NCj4gPiArICAgICAgLy8NCj4gPiArICAgICAgKlByb2dyZXNz ID0gUmVxdWVzdDsNCj4gPiArICAgIH0gZWxzZSB7DQo+ID4gKyAgICAgIC8vDQo+ID4gKyAgICAg IC8vIEluIGNhc2Ugb2Ygc3VjY2Vzcywgd2UgcG9pbnQgUHJvZ3Jlc3MgdG8gdGhlIG51bGwgdGVy bWluYXRvciBvZg0KPiA+ICsgICAgICAvLyBSZXF1ZXN0Lg0KPiA+ICsgICAgICAvLw0KPiA+ICsg ICAgICAqUHJvZ3Jlc3MgPSBSZXF1ZXN0ICsgU3RyTGVuIChSZXF1ZXN0KTsNCj4gPiArICAgIH0N Cj4gPiArICB9DQo+ID4gKw0KPiA+ICsgIGlmIChBbGxvY2F0ZWRSZXF1ZXN0KSB7DQo+ID4gKyAg ICBGcmVlUG9vbCAoQ29uZmlnUmVxdWVzdCk7DQo+ID4gKyAgfQ0KPiA+ICsNCj4gPiAgICByZXR1 cm4gU3RhdHVzOw0KPiA+ICB9DQo+ID4NCj4gPiBAQCAtMzQ4LDYgKzQzOSwyMSBAQCBSb3V0ZUNv bmZpZyAoDQo+ID4gICAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KPiA+ICAgIH0N Cj4gPg0KPiA+ICsgIC8vDQo+ID4gKyAgLy8gQ2hlY2sgaWYgPENvbmZpZ0hkcj4gbWF0Y2hlcyB0 aGUgR1VJRCBhbmQgbmFtZQ0KPiA+ICsgIC8vDQo+ID4gKyAgKlByb2dyZXNzID0gQ29uZmlndXJh dGlvbjsNCj4gPiArICBpZiAoKENvbmZpZ3VyYXRpb24gIT0gTlVMTCkgJiYNCj4gPiArICAgICAg IUhpaUlzQ29uZmlnSGRyTWF0Y2ggKA0KPiA+ICsgICAgICAgICBDb25maWd1cmF0aW9uLA0KPiA+ ICsgICAgICAgICAmZ092bWZQbGF0Zm9ybUNvbmZpZ0d1aWQsDQo+ID4gKyAgICAgICAgIG1WYXJp YWJsZU5hbWUNCj4gPiArICAgICAgICAgKQ0KPiA+ICsgICAgICApDQo+ID4gKyAgew0KPiA+ICsg ICAgcmV0dXJuIEVGSV9OT1RfRk9VTkQ7DQo+ID4gKyAgfQ0KPiA+ICsNCj4gPiAgICAvLw0KPiA+ ICAgIC8vIHRoZSAicmVhZCIgc3RlcCBpbiBSTVcNCj4gPiAgICAvLw0KPiA+IEBAIC04NjYsNiAr OTcyLDExIEBAIFBsYXRmb3JtSW5pdCAoDQo+ID4gICAgICByZXR1cm4gU3RhdHVzOw0KPiA+ICAg IH0NCj4gPg0KPiA+ICsgIC8vDQo+ID4gKyAgLy8gU2F2ZSB0aGUgZHJpdmVyIGltYWdlIGhhbmRs ZS4NCj4gPiArICAvLw0KPiA+ICsgIG1JbWFnZUhhbmRsZSA9IEltYWdlSGFuZGxlOw0KPiA+ICsN Cj4gPiAgICAvLw0KPiA+ICAgIC8vIFB1Ymxpc2ggdGhlIEhJSSBwYWNrYWdlIGxpc3QgdG8gSElJ IERhdGFiYXNlLg0KPiA+ICAgIC8vDQo+ID4gZGlmZiAtLWdpdCBhL092bWZQa2cvUGxhdGZvcm1E eGUvUGxhdGZvcm1Db25maWcuYw0KPiBiL092bWZQa2cvUGxhdGZvcm1EeGUvUGxhdGZvcm1Db25m aWcuYw0KPiA+IGluZGV4IGUyMDJhYzViNDc5OC4uZjVhYzJkMDYwOWZmIDEwMDY0NA0KPiA+IC0t LSBhL092bWZQa2cvUGxhdGZvcm1EeGUvUGxhdGZvcm1Db25maWcuYw0KPiA+ICsrKyBiL092bWZQ a2cvUGxhdGZvcm1EeGUvUGxhdGZvcm1Db25maWcuYw0KPiA+IEBAIC0yMSw3ICsyMSw3IEBADQo+ ID4gIC8vDQo+ID4gIC8vIE5hbWUgb2YgdGhlIFVFRkkgdmFyaWFibGUgdGhhdCB3ZSB1c2UgZm9y IHBlcnNpc3RlbnQgc3RvcmFnZS4NCj4gPiAgLy8NCj4gPiAtU1RBVElDIENIQVIxNiAgbVZhcmlh YmxlTmFtZVtdID0gTCJQbGF0Zm9ybUNvbmZpZyI7DQo+ID4gK0NIQVIxNiAgbVZhcmlhYmxlTmFt ZVtdID0gTCJQbGF0Zm9ybUNvbmZpZyI7DQo+ID4NCj4gPiAgLyoqDQo+ID4gICAgU2VyaWFsaXpl IGFuZCBwZXJzaXN0ZW50bHkgc2F2ZSBwbGF0Zm9ybSBjb25maWd1cmF0aW9uLg0KPiA+IC0tDQo+ ID4gMi4zNy4yDQo+ID4NCg==