From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 80E6C941713 for ; Thu, 16 Nov 2023 12:23:40 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=6KlaiwAo1kcs/8RrZQLXGPGBrLaj9uAHNrYHtgYxSbE=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1700137419; v=1; b=P1IL51Ewptd4hxOXZrdTdIQa4Lcp1ZKtpXwl1KnrNI8Gw5hOKNdThL3dKMoi00wd3y1oPcH7 CkA94OjK/rrbPeB2Wj21XSVnlDK283rDVmE8E19k6UGxrAi6Hv4sGeZ9vkERR3wX+y9QQoBM5Eg XFdyl4YyEVJv4TvlDG1vOgvo= X-Received: by 127.0.0.2 with SMTP id ZwUEYY7687511x5Sm1GmUQne; Thu, 16 Nov 2023 04:23:39 -0800 X-Received: from NAM04-DM6-obe.outbound.protection.outlook.com (NAM04-DM6-obe.outbound.protection.outlook.com [40.107.102.48]) by mx.groups.io with SMTP id smtpd.web11.5441.1700137417633060065 for ; Thu, 16 Nov 2023 04:23:38 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jH04HbrSliSiSrMYtx0/JHoO6183oDDOtSOlCqJJNvSR01UCkppSYnAnAbSy3dO29CpMPpU3n988XWXw6D6AG5EPYnxnoFxat52qeOOWrIL81cR4PPigXQ74FG3dP9uzCMUcwNepi5jbGmaUS/kiuP4iQGI8N0SAMeH/IgZC3dfIVcjhCYb+phUVSWPbnJe6Re3s+1rH2Ccm6UduPhSbkOWMmTTiitB6nob/L7t+HAFiK18yl5YWfXu2HcruTHwdcpOq8Nb1GIO8RkzWTIgnoy/76b5S2I+TECbLjSdhyYsl4rR6N9Jqbf5RE+ai5bCnko0jkNeMD4a+F2AjhdxdFw== 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=zKCTBmQ6EE4XI1ldoN/nuHa0NTEX0qf2kYJ2hjV55m4=; b=bRsXnKCI38bqPb77U4nic2ThqcnyKjsD9JgUsX8HP3xdeXxtdrigotr3s1kCrFMginG7iw+R8SYXn/+cm5KZOoHJrMXkKKhO+9djtRa/aLD054WT5m/eO1YiX55hIX99lYh/oxXAM6u7dxTpKMxiamc6JuLQtsry+G2/moqv3GRfZ7bG2U49X8gU8c1zHk4qegxcYQkjZOWAOUKdRpU0vub8rQu+txtxBwfgvEg+4U014hTypxsZ/72hrrgYqPGWI+Jf4bE3cRHuPMosmW68n9K7mRq6byr9dTFasuj8pYCdV664/Bw75czjwpgfbKEvmHGSUhP3bIwlWgUbD9bUkw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ami.com; dmarc=pass action=none header.from=ami.com; dkim=pass header.d=ami.com; arc=none X-Received: from BLAPR10MB5185.namprd10.prod.outlook.com (2603:10b6:208:328::16) by BLAPR10MB5011.namprd10.prod.outlook.com (2603:10b6:208:333::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.21; Thu, 16 Nov 2023 12:23:33 +0000 X-Received: from BLAPR10MB5185.namprd10.prod.outlook.com ([fe80::9dc0:d4e1:1d40:3e33]) by BLAPR10MB5185.namprd10.prod.outlook.com ([fe80::9dc0:d4e1:1d40:3e33%4]) with mapi id 15.20.7002.021; Thu, 16 Nov 2023 12:23:33 +0000 From: "Igor Kulchytskyy via groups.io" To: Leif Lindholm , "devel@edk2.groups.io" , "mike.maslenkin@gmail.com" CC: Abner Chang , Nickle Wang Subject: Re: [edk2-devel] [PATCH v5 2/2] RedfishPkg: RedfishDiscoverDxe: Optimize the Redfish Discover flow Thread-Topic: [EXTERNAL] Re: [edk2-devel] [PATCH v5 2/2] RedfishPkg: RedfishDiscoverDxe: Optimize the Redfish Discover flow Thread-Index: AQHaFwbPXAEHRBmyU0+CgaKub9bN4rB6EVqAgAAYklCAAFNSgIAAy7OAgAAXrlCAAFQXAIABKj8AgAACGvA= Date: Thu, 16 Nov 2023 12:23:33 +0000 Message-ID: References: <20231114142815.1604-1-igork@ami.com> <3e8c08dc-a665-41f1-8c51-d4e2743bdac1@quicinc.com> <2f8fbb9f-bca8-4771-9178-6f0507ad089e@quicinc.com> <3ab53d06-fdcb-4a7b-a96d-4568e7219182@quicinc.com> In-Reply-To: <3ab53d06-fdcb-4a7b-a96d-4568e7219182@quicinc.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BLAPR10MB5185:EE_|BLAPR10MB5011:EE_ x-ms-office365-filtering-correlation-id: 5ba6bcd9-4b12-466c-fbc5-08dbe69ed98a x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: yd5tTt93jHjM9HBtjJZvq0b5ROrXfc9p+zcbA6Is+IfglAuisLiIux+eFm2qmi26tSoX1Il9/si65NCTpP7bU650AXyOnyhSATjqJDYLBhMxkB6cj76TR/4RhX4QHNYadsQKiCPFv9t8eJW0XK4SSMPA8NCBG9loNsRuO0rQyRP2czkxcCGTLjRR1p3UaoMuXzHby8U1WpEhEmLOY5ONcfLQOudma25FjzU54tvNO2TzMK5Ek8OQYJFabeQfBYuw/Z2Jy1NMqtXcr0Rd/gfA2Ucah7w6L62ni4T96TByjaYk+38F3+0rsovatgsHKldAgAazTta+Rj9HiBEefysi431t1949jlvuZJ/TWoiNx7gKULO9YNrvqgJ9ewNWe6Jn6RV8AGgQ52qWufBhWm4L60AZE4bJbfGYMrk50w1HBcTHrklCE2+NgefHuTEv/NNzbgkjh9C8hvY5sbO6YBHe4dK+xXN5xA903ozN99rOq/wrnlKLtucY5Ijhl//qVnKsilqWEI4GUJUbSxudCMqP0OJWjKRwe3b5lhtkvH8kH8VrFbVAR2bGgCfwra0VsedORMcchY2u5u9NKvO8BDaBGBw/KF0mNthmF+J2Hrj3eVEdsNesNn8sI37m3Ev3sDtAUJBTbAEMLlDU7KVOGoM6ow== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?L1pqZTdsTUttRFpjSXZKTk1QSzRseU4rRitrUmY0cTd4aXpYMUxwSzcrQTVw?= =?utf-8?B?cjZMSnhVcEk5M0JzTlB6dlh4M0t6by93YzNzZ2lCWnQrOENCeFByRW5aRVhS?= =?utf-8?B?MHp4SUUrYW96ZW9POWFma2swaWdQRy8xS2pMZmMwZElxZ2tDTWl1VmtNWjNk?= =?utf-8?B?TnlZcHBnclAzajlDRzRwUjVSVzdlYnRKZ1JHUDJ1cVVFM2MzR2lFVXcvaW1U?= =?utf-8?B?TXRwTVFXUGNLbVBxdzVqQzVHRm41NjZVTkQwL3ppTEdFc2IxOXl2NTN0NVo0?= =?utf-8?B?Qm9ZZC8wdmZjRHRWY1lBMlVuYVhyRk41RWd5bVhPd0JxMU9DWHZWeVBPdXA5?= =?utf-8?B?WkNaQVVyMmxnMVczbXJVcXZ4M3Ztc044enRKQWNkekdiNC92WXN0SU1MUmtr?= =?utf-8?B?cklJNnhsSUtlN0xoMDRjNkVROUU4amwrdEIwUkpQUG8yNWpVaU1Ld3JOTVBj?= =?utf-8?B?MGc1TGVTNVQvNHRRR1BPaXgrdGdXdnYycHdzVmJUbzl5S2tja1BpcGNCRVAw?= =?utf-8?B?T0s0N1lXV09SYmpPbzRFN1VwcVBYWTFDWWF3YXU5akxxYjJUTzhaeW1USVoy?= =?utf-8?B?YTJwWnlLM0doUTNTZVlxK0cyR0N0WU1YaTdkdkFZV3V4aWxqRkFma3gzRC9z?= =?utf-8?B?M01qRld0SGFsQzVENmwzMGJKUnBTUDNzZE1XYUllbEJHNlpyT3ZSUVFxUCtz?= =?utf-8?B?Y3cxQ1ZGZncraStNVndwYUVycEtzYW95elZwaEhtaW1NWW55alI2d3k0RUs4?= =?utf-8?B?dk5TbmRIcVBaTUVkUmtVY2tQY241eVRIS2owbHdaalFSSHJhSGdEY0dYY2JF?= =?utf-8?B?aFY5eFluakdNemRNZ1hQQjc1VEFvUDlKYVBFVk9pMDZsMTBXUTJhN2lWWjRE?= =?utf-8?B?eGxZcitjSFI5Nmx1RDhucFhwTTFIU2ErVGNITTB4bjJXajkycGVqVlM0ZDRJ?= =?utf-8?B?RzFBbG9LeHBwaERxTnAwUkVuYVB1aWYyN3E0QWF4OXRLYWcxNmxjQ0pxNTM1?= =?utf-8?B?MkdNc3JtYkRNQk9pVnliUWk3VEtGUjk2OUNLN2RwNVFhYW5Qd1g3VHczeFN3?= =?utf-8?B?TkFMTTRsWjZNSlpHcllvNUg2N2tET3I4d3djL2VuWmFTQjJqczVBWktqajFM?= =?utf-8?B?RzhjaldQK1VIY2N3U3ZMQ1VnZnNDNHBjbHNtVHRDdmEzcURYL2hKQlVaRmZ6?= =?utf-8?B?UkVhYTBqRjZNNTJlSkdWeFMzVmRqUEtMVEsvRVN1SDVPbWtaeGZndkNwMTA5?= =?utf-8?B?Z2VQMENmellsVmw2L0xadG9CcjRPb3Bld3JoeEwxUEdmUnJ2UGVNemFyYldU?= =?utf-8?B?R3E2S3FIWDBTbGowTjJHRGxVdTdqOU9BaDNGaFIyRWR3TFQzaFo5TTFVTlJh?= =?utf-8?B?d0ZxSXdTbmNiazhPZTRSbE8wNWd5elFlYld3ZzNwbDNxOVdpNExxaFhDZGRI?= =?utf-8?B?dmhZTXoydkhWMEh3SFl2NHlOTTdDaXBNY09HUjRKS3YrMU5yVmhpNUxkTVRC?= =?utf-8?B?STJsY2RJdUVpRXR1d1JZalg2NFdRVTJnUEsvellkNW1nQnlLaVRKVVJIa2tk?= =?utf-8?B?Z1J3MTk0ekZiMS9jQ0xudWZPWUxZcU1oRWluVUZCcnJtaHhra08zTE9XZ1Rl?= =?utf-8?B?MDhYMmxaYXRTTEJUdjBHTEswK045ejRtWERMUXJwSUFkMXJTRW5rTFFiYUVI?= =?utf-8?B?TVZzakg3Mk1QQjRRaVZBV0hqandYU3JqdkI2RlJpSHI5d0dQSDdUdVNYQVNa?= =?utf-8?B?dnhVeTI5ZjhoNjBnV0hxYkNocSs4azR1OElqaFJDVkJxdGYyUzVHNmtxTjUy?= =?utf-8?B?dExFd3Y1Tk53NlB6V2ZJSGVJUkpTYmpuWXgydlh1TlJiSzFFSHpUSEJCaUtC?= =?utf-8?B?TktSNDA4UUxnUDRuUTRvUmExc2lBSGVxNm5Nby8vdVNMVmJHWmQ2TGZOeU5T?= =?utf-8?B?WEFFRW8xWngwSDRuNXFYaXVYME15eWRiZzlRbEMwd2RHMlZYV2lVYmRiMWNL?= =?utf-8?B?MkVheGpkcWdjbDR1ZzlrZWJ2cUNXb2xHMUNHSXJDYmdTajVjYWVMMEU1NVk3?= =?utf-8?B?NlpYcm00bnpSNjFaNjVPOEE4RDYxTGRkcnU3dmNSNVRvNFhrSzEzY1dGeU1K?= =?utf-8?Q?uEkA=3D?= MIME-Version: 1.0 X-OriginatorOrg: ami.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5185.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5ba6bcd9-4b12-466c-fbc5-08dbe69ed98a X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Nov 2023 12:23:33.1511 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 27e97857-e15f-486c-b58e-86c2b3040f93 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: qv4K7sqWNJzOu89UESITB1HfagDHCjZCguIDfnRr92nxZYwu3In04X4ee+o9qCz5 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB5011 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,igork@ami.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: MjDDNfExYVeNvTXioY5WbFcVx7686176AA= Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=P1IL51Ew; dmarc=none; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io SGkgTGVpZiwNCkFscmVhZHkgc2VudCBpdCB5ZXN0ZXJkYXkuDQpUaGFuayB5b3UsDQpJZ29yDQoN Ci0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBMZWlmIExpbmRob2xtIDxxdWljX2xs aW5kaG9sQHF1aWNpbmMuY29tPg0KU2VudDogVGh1cnNkYXksIE5vdmVtYmVyIDE2LCAyMDIzIDc6 MTUgQU0NClRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgbWlrZS5tYXNsZW5raW5AZ21haWwuY29t OyBJZ29yIEt1bGNoeXRza3l5IDxpZ29ya0BhbWkuY29tPg0KQ2M6IEFibmVyIENoYW5nIDxhYm5l ci5jaGFuZ0BhbWQuY29tPjsgTmlja2xlIFdhbmcgPG5pY2tsZXdAbnZpZGlhLmNvbT4NClN1Ympl Y3Q6IFtFWFRFUk5BTF0gUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjUgMi8yXSBSZWRmaXNoUGtn OiBSZWRmaXNoRGlzY292ZXJEeGU6IE9wdGltaXplIHRoZSBSZWRmaXNoIERpc2NvdmVyIGZsb3cN Cg0KDQoqKkNBVVRJT046IFRoZSBlLW1haWwgYmVsb3cgaXMgZnJvbSBhbiBleHRlcm5hbCBzb3Vy Y2UuIFBsZWFzZSBleGVyY2lzZSBjYXV0aW9uIGJlZm9yZSBvcGVuaW5nIGF0dGFjaG1lbnRzLCBj bGlja2luZyBsaW5rcywgb3IgZm9sbG93aW5nIGd1aWRhbmNlLioqDQoNCk9uIDIwMjMtMTEtMTUg MTg6MjcsIE1pa2UgTWFzbGVua2luIHdyb3RlOg0KPiBPbiBXZWQsIE5vdiAxNSwgMjAyMyBhdCA0 OjUy4oCvUE0gSWdvciBLdWxjaHl0c2t5eSA8aWdvcmtAYW1pLmNvbT4gd3JvdGU6DQo+Pg0KPj4g SGVsbG8gTGVpZiBhbmQgTWlrZSwNCj4+IExldCBtZSB0cnkgdG8gZXhwbGFpbiB0aGUgaWRlYSBv ZiB0aGUgZmlsdGVyaW5nIElQLg0KPj4gVGhhdCBmaWx0ZXJpbmcgc2hvdWxkIHdvcmsgb25seSBp ZiB3ZSBrbm93IGV4YWN0bHkgdGhhdCBJUCBpcyBJUHY0IG9yIElQdjYgaW4gU01CSU9TIFR5cGUg NDIuDQo+IEhtLiBJJ3ZlIGFscmVhZHkgY29tcG9zZWQgYSByZXBseSBiZWxvdywgYnV0IHRoZW4g YSByZXR1cm5lZCB0byB0aGlzDQo+IHN0YXRlbWVudC4uLg0KPg0KPiBJcyB0aGlzIGEgZGlmZmVy ZW5jZSBpbiBjb25kaXRpb24gYmV0d2VlbiB2MyBhbmQgdjU/IEkgY2FtZSB0byB0aGUNCj4gY29u Y2x1c2lvbiB0aGF0IGF0IHRoZSBwbGFjZSB3ZSBhcmUgZGlzY3Vzc2luZw0KPiBTTUJJT1MgdGFi bGUgNDJoIGNhbiBiZSBhYnNlbnQgYmVjYXVzZQ0KPiBQbGF0Zm9ybUhvc3RJbnRlcmZhY2VJbmZv cm1hdGlvblJlYWR5IGhhc24ndCBiZWVuIGNhbGxlZCB5ZXQsDQo+IHNvIFJFREZJU0hfSE9TVF9J TlRFUkZBQ0VfSE9TVF9JUF9BRERSRVNTX0ZPUk1BVF9VTktOT1dOIGlzIGV4cGVjdGVkLg0KPg0K Pg0KPj4gQW5kIGl0IGp1c3QgaGVscGluZyB0byByZWR1Y2UgdGhlIHdvcmsgaW4gY2FzZSB3ZSBr bm93IHRoZSBleGFjdCB0eXBlIG9mIElQLCB3aGljaCBzdXBwb3NlZCB0byBiZSB1c2VkIGluIEJJ T1MgQk1DIGNvbW11bmljYXRpb24uDQo+PiBJbiB0aGF0IGNhc2UgdGhlcmUgaXMgbm8gbmVlZCB0 byBidWlsZCBuZXR3b3JrIGludGVyZmFjZSBmb3IgdGhlIHVudXNlZCBJUCBUeXBlLg0KPj4gT24g c29tZSBzeXN0ZW1zIElQIGFkZHJlc3MgY291bGQgYmUgZHluYW1pYyBhbmQgd2Ugd2lsbCBub3Qg YmUgYWJsZSB0byBrbm93IHRoZSB2ZXJzaW9uIG9mIElQIGZyb20gU01CSU9TLg0KPj4gSWYgeW91 IHNlZSBJIGNoZWNrIEhvc3RJcEFzc2lnbm1lbnRUeXBlIGluIEdldEhpSXBQcm90b2NvbFR5cGUg ZnVuY3Rpb24uIEFuZCByZXR1cm4gSVAgdHlwZSBVTktOT1dOIGlmIGl0IGlzIG5vdCBzdGF0aWMu DQo+PiBJZiB3ZSBnZXQgYW4gdW5rbm93biBJUCB0eXBlLCB3ZSBzaG91bGQgbm90IHJldHVybiBm cm9tIEJ1aWxkdXBOZXR3b3JrSW50ZXJmYWNlIGZ1bmN0aW9uLCBidXQganVzdCBwcm9jZWVkIGFu ZCBidWlsZCB0aGUgbmV0d29yayBpbnRlcmZhY2UgZm9yIGFsbCBJUHMuDQo+PiBTbywgbGF0ZXIg UmVkZmlzaCBEaXNjb3ZlciBkcml2ZXIgY2FuIGZpbmQgdGhlIHJpZ2h0IG9uZS4NCj4+IEJhc2Vk IG9uIHRoaXMgbG9naWMgSSdtIGdvaW5nIHRvIHByZXBhcmUgdGhlIHBhdGNoIHY2Lg0KPj4gVGhh bmsgeW91LA0KPj4gSWdvcg0KPg0KPiBBZ3JlZS4uIEkgd2FzIGZvY3VzZWQgb24gZWRrMiBpbXBs ZW1lbnRhdGlvbiBvZg0KPiBSZWRmaXNoUGxhdGZvcm1Ib3N0SW50ZXJmYWNlTGliIGFuZCBQbGF0 Zm9ybUhvc3RJbnRlcmZhY2VCbWNVc2JOaWNMaWINCj4gd2hlcmUgSG9zdElwQWRkcmVzc0Zvcm1h dCBpcyBzcGVjaWZpZWQgKGhhcmRjb2RlZCkuIEkgZ3Vlc3MNCj4gSG9zdElwQWRkcmVzc0Zvcm1h dCAgYXMgd2VsbCBhcyBTTUJJT1MgdGFibGUgNDJoIG11c3QgYmUgYXZhaWxhYmxlDQo+IGJ5IHRo ZSB0aW1lIFJlZGZpc2hTZXJ2aWNlQWNxdWlyZVNlcnZpY2UoKS0+RGlzY292ZXJSZWRmaXNoSG9z dEludGVyZmFjZSgpDQo+IGNhbGwsIHdoaWxlIGl0IG1pZ2h0IGJlIG5vdCBhdmFpbGFibGUgYXQg dGhlIG1vbWVudA0KPiBSZWRmaXNoRGlzY292ZXJEcml2ZXJCaW5kaW5nU3RhcnQoKS0+QnVpbGR1 cE5ldHdvcmtJbnRlcmZhY2UoKS4gU28sDQo+IGNvbmRpdGlvbiBmcm9tIHYzIGxvb2tzIGNvcnJl Y3QgdG8gbWUuDQo+DQo+IE15IG1haW4gY29uY2VybiB3YXMgaW50cm9kdWN0aW9uIG9mIGRlZmlu ZXMuIFRob3NlIGRvbid0IGxvb2sgZ3JlYXQuDQo+IFRob3NlIGFyZSBodWdlIChpdCBldmVuIGRv ZXNuJ3QgZml0IGludG8gdGhlIHNjcmVlbikgYW5kIG1pc2xlYWRpbmcgYQ0KPiBiaXQuDQo+IEZv ciBleGFtcGxlOg0KPiArI2RlZmluZSBNQUNfQ09NUEFSRShUaGlzTmV0d29ya0ludGVyZmFjZSwg VGFyZ2V0TmV0d29ya0ludGVyZmFjZSkNCj4gKENvbXBhcmVNZW0gKChWT0lEICopJlRoaXNOZXR3 b3JrSW50ZXJmYWNlLT5NYWNBZGRyZXNzLA0KPiAmVGFyZ2V0TmV0d29ya0ludGVyZmFjZS0+TWFj QWRkcmVzcywNCj4gVGhpc05ldHdvcmtJbnRlcmZhY2UtPkh3QWRkcmVzc1NpemUpKQ0KPg0KPiBU aGUgcHJvcG9zZWQgdmFyaWFudCBpcyBlcXVhbCB0byAjZGVmaW5lIE1BQ19DT01QQVJFKEEsIEIp DQo+IChDb21wYXJlTWVtICgoVk9JRCAqKSZUaGlzTmV0d29ya0ludGVyZmFjZS0+TWFjQWRkcmVz cywNCj4gJlRhcmdldE5ldHdvcmtJbnRlcmZhY2UtPk1hY0FkZHJlc3MsDQo+IFRoaXNOZXR3b3Jr SW50ZXJmYWNlLT5Id0FkZHJlc3NTaXplKSksIGkuZSBhIGJpdCB1c2VsZXNzLg0KPg0KPiBJIHdv dWxkIGV4cGVjdCBpdCBjb3VsZCBiZSBkZWNsYXJlZCBhdCBsZWFzdCBhczoNCj4gI2RlZmluZSBN QUNfQ09NUEFSRShUaGlzLCBUYXJnZXQpICBDb21wYXJlTWVtICgoVk9JRA0KPiAqKSYoVGhpcykt Pk1hY0FkZHJlc3MsICYoVGFyZ2V0KS0+TWFjQWRkcmVzcywgKFRoaXMpLT5Id0FkZHJlc3NTaXpl KQ0KPiBJLmUgZGVmaW5lIHNob3VsZCByZWFsbHkgcmVwbGFjZSBzb21lIGFyZ3VtZW50cyAgYWxz byByZWR1Y2luZyB0aGUgbGluZSBsZW5ndGguDQo+DQo+IEJUVzogdGhlcmUgaXMgYSBwbGFjZSBp biBWYWxpZGF0ZVRhcmdldE5ldHdvcmtJbnRlcmZhY2UoKSB3aGVyZQ0KPiBDb21wYXJlTWVtICBj YW4gYmUgcmVwbGFjZWQgd2l0aCBNQUNfQ09NUEFSRSB0b28uDQo+DQo+IEFsc28sIEkgZm91bmQg SVA2X0xJTktfRVFVQUwoTWFjMSwgTWFjMikgZGVmaW5lLCB0aGF0IGlzIHVudXNlZCBpbg0KPiBl ZGsyLiBCdXQgYWNjb3JkaW5nIHRvIHRoYXQgb25lLCBwbGVhc2UgY29uc2lkZXIgbW92aW5nICI9 PSAwIiBjaGVjaw0KPiB0byAjZGVmaW5lIGRlY2xhcmF0aW9uLg0KPiBCdXQgSSBkbyBub3QgdGhp bmsgdGhpcyBtYWNybyBpcyByZXF1aXJlZCBhdCBhbGwsIGJlY2F1c2UgdGhlcmUgYXJlIDUNCj4g TUFDIGNvbXBhcmVzIGxlZnQgaW4gdGhpcyBtb2R1bGUuIFNvLCBpdCBqdXN0IGJyaW5ncyBzb21l DQo+IGluY29uc2lzdGVuY3kuDQo+DQo+IEFncmVlZCB0aGF0IHN0YXRpYyBoZWxwZXIgZnVuY3Rp b24gd291bGQgYmUgdGhlIGJlc3QuDQo+DQo+IExlaWYsIGRvIHlvdSBleHBlY3Qgc29tZXRoaW5n IGxpa2UgdGhpcz8NCj4gU1RBVElDDQo+IEJPT0xFQU4NCj4gRmlsdGVySW50ZXJmYWNlICgNCj4g ICAgSU4gTkVUV09SS19JTlRFUkZBQ0VfUFJPVE9DT0xfVFlQRSBQcm90b2NvbFR5cGUsDQo+ICAg IElOIFVJTlQ4IEhvc3RJcEFkZHJlc3NGb3JtYXQNCj4gICAgKQ0KPiB7DQo+ICAgIC8vIFRoaXMg aXMgYmFzZWQgb24gdjUsIGJ1dCBhY2NvcmRpbmcgdG8gdGhlIGNvbW1lbnRzIGFib3ZlDQo+ICAg IC8vIHYzIGlzIGNvcnJlY3QgYXMgaXQgYWxsb3dzDQo+IFJFREZJU0hfSE9TVF9JTlRFUkZBQ0Vf SE9TVF9JUF9BRERSRVNTX0ZPUk1BVF9VTktOT1dODQo+DQo+ICAgIGlmIChQcm90b2NvbFR5cGUg PT0gUHJvdG9jb2xUeXBlVGNwNCkgew0KPiAgICAgIHJldHVybiBJcFR5cGUgIT0gUkVERklTSF9I T1NUX0lOVEVSRkFDRV9IT1NUX0lQX0FERFJFU1NfRk9STUFUX0lQNDsNCj4gICAgfSBlbHNlIGlm IChQcm90b2NvbFR5cGUgPT0gUHJvdG9jb2xUeXBlVGNwNikgew0KPiAgICAgIHJldHVybiBJcFR5 cGUgIT0gUkVERklTSF9IT1NUX0lOVEVSRkFDRV9IT1NUX0lQX0FERFJFU1NfRk9STUFUX0lQNjsN Cj4gICAgfQ0KDQpZZXMsIHRoaXMgbG9va3MgaWRlYWwuDQoNCj4gICAgcmV0dXJuIGZhbHNlOw0K DQpBbHRob3VnaCB0aGlzIHNob3VsZCBiZSBGQUxTRSAodXBwZXItY2FzZSkuDQoNCj4gfQ0KPg0K PiBhbmQgdGhlbjo6DQo+DQo+IC8vIEdldCBJUCBUeXBlIHRvIGZpbHRlciBvdXQgdW5uZWNlc3Nh cnkgbmV0d29yayBwcm90b2NvbCBpZiBwb3NzaWJsZQ0KPiBJcFR5cGUgPSBHZXRIaUlwUHJvdG9j b2xUeXBlICgpOw0KPg0KPiBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCBMaXN0Q291bnQ7IEluZGV4 KyspIHsNCj4gICAgLy8gQ2hlY2sgSVAgVHlwZSBhbmQgc2tpcCBhbiB1bm5lY2Vzc2FyeSBuZXR3 b3JrIHByb3RvY29sIGlmIGRvZXMgbm90IG1hdGNoDQo+ICAgaWYgKEZpbHRlckludGVyZmFjZSAo Z1JlcXVpcmVkUHJvdG9jb2xbSW5kZXhdLlByb3RvY29sVHlwZSwgSXBUeXBlKSkgew0KDQpUaGlz IGdpdmVzIHVzIGEgYmlnIGJ1dCBzdGlsbCByZWFkYWJsZSBjaHVuayBoZXJlLCBhbmQgbXVjaCBu ZWF0ZXIgdGVzdHMNCmluIHRoZSBoZWxwZXIgdGhhbiB0aGV5ICpjb3VsZCogYmUgZWl0aGVyIGlu IHBsYWNlIG9yIGluIG1hY3Jvcy4NCg0KPiAgICAgIGNvbnRpbnVlOw0KPiAgICB9DQoNClNoaXAg aXQuDQoNCi8NCiAgICAgTGVpZg0KDQo+IFJlZ2FyZHMsDQo+IE1pa2UuDQo+DQo+DQo+IA0KPg0K Pg0KDQotVGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBpbiB0aGlzIG1lc3NhZ2UgbWF5IGJlIGNv bmZpZGVudGlhbCBhbmQgcHJvcHJpZXRhcnkgdG8gQW1lcmljYW4gTWVnYXRyZW5kcyAoQU1JKS4g VGhpcyBjb21tdW5pY2F0aW9uIGlzIGludGVuZGVkIHRvIGJlIHJlYWQgb25seSBieSB0aGUgaW5k aXZpZHVhbCBvciBlbnRpdHkgdG8gd2hvbSBpdCBpcyBhZGRyZXNzZWQgb3IgYnkgdGhlaXIgZGVz aWduZWUuIElmIHRoZSByZWFkZXIgb2YgdGhpcyBtZXNzYWdlIGlzIG5vdCB0aGUgaW50ZW5kZWQg cmVjaXBpZW50LCB5b3UgYXJlIG9uIG5vdGljZSB0aGF0IGFueSBkaXN0cmlidXRpb24gb2YgdGhp cyBtZXNzYWdlLCBpbiBhbnkgZm9ybSwgaXMgc3RyaWN0bHkgcHJvaGliaXRlZC4gUGxlYXNlIHBy b21wdGx5IG5vdGlmeSB0aGUgc2VuZGVyIGJ5IHJlcGx5IGUtbWFpbCBvciBieSB0ZWxlcGhvbmUg YXQgNzcwLTI0Ni04NjAwLCBhbmQgdGhlbiBkZWxldGUgb3IgZGVzdHJveSBhbGwgY29waWVzIG9m IHRoZSB0cmFuc21pc3Npb24uDQoNCgotPS09LT0tPS09LT0tPS09LT0tPS09LQpHcm91cHMuaW8g TGlua3M6IFlvdSByZWNlaXZlIGFsbCBtZXNzYWdlcyBzZW50IHRvIHRoaXMgZ3JvdXAuClZpZXcv UmVwbHkgT25saW5lICgjMTExMzE1KTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL21l c3NhZ2UvMTExMzE1Ck11dGUgVGhpcyBUb3BpYzogaHR0cHM6Ly9ncm91cHMuaW8vbXQvMTAyNTg0 MTQwLzc2ODYxNzYKR3JvdXAgT3duZXI6IGRldmVsK293bmVyQGVkazIuZ3JvdXBzLmlvClVuc3Vi c2NyaWJlOiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvdW5zdWIgW3JlYmVjY2FAb3Bl bmZ3LmlvXQotPS09LT0tPS09LT0tPS09LT0tPS09LQoKDQo=