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 70FEDAC0EEF for ; Mon, 29 Jan 2024 14:29:34 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=fO9r4pDrE8nvn8YSDWzryuSKX7EzSCQAeDqZs257FB8=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:Received-SPF: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:user-agent:Authentication-Results-Original:nodisclaimer:MIME-Version:Original-Authentication-Results:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-ID:Content-Transfer-Encoding; s=20140610; t=1706538573; v=1; b=lsRgYIWJpwfPgQoyhQxh0FNYWdtSmWf+5jBiNwHW4g3ykx3xJqCUI7Dsk1LhbSVKZoLBYl+k dxaN2PZQm4V11s+hhqjmVcuBtwk9M96dYE5VcBb/vYYbPq9Fda8hDMC6wDtmvdK6nQ8Iw/3hNd5 PVty8TiZ43M/gIUWK0ePxwso= X-Received: by 127.0.0.2 with SMTP id yQ85YY7687511xhOhnt1czNY; Mon, 29 Jan 2024 06:29:33 -0800 X-Received: from EUR01-DB5-obe.outbound.protection.outlook.com (EUR01-DB5-obe.outbound.protection.outlook.com [40.107.15.77]) by mx.groups.io with SMTP id smtpd.web11.16103.1706538571816981057 for ; Mon, 29 Jan 2024 06:29:32 -0800 ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=RdgMyzZ8fAY28eKBxL7W0PwhHsj/7AjD07s3yCh4U1iJpyhraoQLO8spJaFrItQvv4TnhVls+nbbuWBFw2FMvT0xBko3ArESwD8OOZdtY7AghdA+Xi0krVFjrEXMM83iUMUHgM63FwrJ9Iiq9EI4GefJvdVIJKgHWMAHWgYBSggyQbjazk/5zk5ldePkelYUg4LSomgK8QMeIxhY2mNVxxvUUqCXtmJV6FUOZu2Ct+zumkWChS8rG3S4AjHs/GLHow7IjaBYObNkoNKZ2ycOO2En1s6jQtUdurn7wKy/cZrIpVtgFw7iBgleLOt6KXS42YfGFqtY1qP00c7xrFykhw== 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=76NAtNgUXWFWoOagYrypFxMV5Isn6lT73+pyScA00Tg=; b=BWmR2ImwTcMLwqHqeKQ6fniw3w5u1k5IuuCNXliuyQ5455/LKdYrdPyScmNJ/nRHo0eUYgMX1qYYeMLz1CKSt9R90Q3cwIxODBS1YmpqYPz1CKVvrUGQkr8RebTBbfmME9T29W/u4SOHt4YEVf/hrJ3QsGAAvUHL0/r5yZBlnxJej3bpk82mvsAnpW3CJPakJuGttIYJ0/2aNGNcWQnqiXZW3+NDghIXiCYi2pzsJ6qRorBkBVzhDKwgjweJOrbb4NcWjodoPmTC4gfTQpLRomprx7s4fWJ9r3r8xdFvUt4a7JJV9E4+kza4rsdm4stporDsDDdwjuIERTQwh1zz3Q== 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]) X-Received: from AS9PR06CA0676.eurprd06.prod.outlook.com (2603:10a6:20b:49c::25) by AS2PR08MB9296.eurprd08.prod.outlook.com (2603:10a6:20b:598::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.32; Mon, 29 Jan 2024 14:29:24 +0000 X-Received: from AMS0EPF000001A2.eurprd05.prod.outlook.com (2603:10a6:20b:49c:cafe::89) by AS9PR06CA0676.outlook.office365.com (2603:10a6:20b:49c::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.32 via Frontend Transport; Mon, 29 Jan 2024 14:29:24 +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 X-Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AMS0EPF000001A2.mail.protection.outlook.com (10.167.16.235) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.19 via Frontend Transport; Mon, 29 Jan 2024 14:29:23 +0000 X-Received: ("Tessian outbound a297577ee0df:v228"); Mon, 29 Jan 2024 14:29:23 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 4e5e57df47332415 X-CR-MTA-TID: 64aa7808 X-Received: from de221e3b4218.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 9E1A3105-7CD9-407E-B383-A47CC0B63A2F.1; Mon, 29 Jan 2024 14:29:12 +0000 X-Received: from EUR02-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id de221e3b4218.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 29 Jan 2024 14:29:12 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mdgAfnxWCDx3a/jJR37tkn28jhH2dARQ+Gpl/HXhPSZ7GIeIzOWqu9ivlO8SKgMRbN0yX9q7CkPamLYUVhZEhBDah5gyzQxdp3DbPJPS73sOjUMm6GimWZNiDkRXovoC3SiMhk+6wxYJL5CrNmb8Q6DkB5rsyX3323y3Ay6qjKYMigxI7Glrf4Jmi2yCD3cVAyLIwG7+904MVjSoFumW/KfgoutupWqXG5JJDWXfmrAy5lRYLwsn4EE3ICfbFdQwykVjr1G7L/2VmBbVukBUD9qA61N9MlBTqLNZISRmpGxwpIWBsNeFTDAoGdQKCrs4xr3gLOMlUMgFDQK4NJLMjA== 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=76NAtNgUXWFWoOagYrypFxMV5Isn6lT73+pyScA00Tg=; b=SVLHSUXCeEPlMa3lYghxoQSR+Co+SMKXXhuU68s8seXEuRO7nQag6oe6cIamTh+S8RyvSN4Lad8Ada8L8ZoK9H+z+sJtN6qXJC14suGVvwTHgE/eoaVz/ZVEf8U5tDwV1haI6UL4gx4k+78pjt89psfvXnBZ7SF4wxxLbGD/3ANmjRySPjSt4bxJQAbJnUNvKWgSPeKAkAjIrmzakFvO7lNfmLyAesbJxISPaWxmcHG5sPZS9TN+hf1yf0027QIyRakDTfkJhfBU+7qAH3zK1SyN5hZimm8iL1rheQRUhdJgcrDm5+LldUCmkPhieLfvem2CRQEav0O5h1As6PkQmg== 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 X-Received: from AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) by DB5PR08MB10139.eurprd08.prod.outlook.com (2603:10a6:10:4a2::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.32; Mon, 29 Jan 2024 14:29:07 +0000 X-Received: from AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::8912:5ce2:11a4:9d6e]) by AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::8912:5ce2:11a4:9d6e%7]) with mapi id 15.20.7228.029; Mon, 29 Jan 2024 14:29:07 +0000 From: "Sami Mujawar" To: Pierre Gondois , "devel@edk2.groups.io" CC: Leif Lindholm , Ard Biesheuvel , nd Subject: Re: [edk2-devel] [PATCH v5 09/11] DynamicTablesPkg: Add DynamicTablesScmiInfoLib Thread-Topic: [PATCH v5 09/11] DynamicTablesPkg: Add DynamicTablesScmiInfoLib Thread-Index: AQHaT6HpfaOoMvUo4UCSvwTq8Nou/bDw38MA Date: Mon, 29 Jan 2024 14:29:07 +0000 Message-ID: <900C4CA8-EF1A-4F95-9A83-B6DFB1CA4F7B@arm.com> References: <20240125151850.620749-1-pierre.gondois@arm.com> <20240125151850.620749-10-pierre.gondois@arm.com> In-Reply-To: <20240125151850.620749-10-pierre.gondois@arm.com> Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/16.81.24011420 Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: AS8PR08MB6806:EE_|DB5PR08MB10139:EE_|AMS0EPF000001A2:EE_|AS2PR08MB9296:EE_ X-MS-Office365-Filtering-Correlation-Id: 8e5a3666-a6ac-410e-672a-08dc20d6b0be 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: Qv/cbtQcMnMpXHoOdIulXZpIuHKPRfbicypM8UfMH/0WlxsvAhOkrnjqPtarOl+sztdjGhQsoQNlY5hk92GqhIKTexOkaQ0RjyIAIIU2fNuGvJ9e+U1xMVPmK/YurU5dn30pdyn7m3BJxzaVfuqoHEyS7Rv4bRogxcphJ1qzpeb9jF+hkKx5po3kfG+DltLjBm11hF1sY9qeDu21rhisAFT5W9QZNOjocFb5TbW1To+BNxz0IERscQd7rF7SkwZqBhxllav26Ca7EV2zQob6cwgih8tEXMp1FfHEhuWLQpB9mipp9cOi0GXAR5reS4VEeYYAe1RCBiNXevHkTHEGuxcciZWOiwAGG88dxmhbmyqbrdTMUvbUk32ku6jSasMPg1tU7dvj4V62h2F3XhdG3GBkagiaipf8tc5t7/Kv15HNP8Sah3UmOiblUAtKxpAqQEbIYSbv9gGmSQyvQbAiQhNfYmVUzB5rSO8VFFI9fMLpf3qNLGCEggVwPDzPLrsTekiSDlu4MI6BfbT6sHCMuCfffcstDXvWAVTnGctFPA4T1UM2HRppPSGjnZV6PqFm8bTeWXgWY7SpGIiu+9s0RhG48PMuI7oll42FTNFCWy6Tc6rb6zsOSuFF4VHoephNrcaf/onmO4UeDSIxFVWfb3oNHSd5jj97fGqx/cc6JpI/arnzzAlmum6KVzWxM7W8 X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB6806.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(376002)(396003)(39850400004)(366004)(230922051799003)(186009)(451199024)(1800799012)(64100799003)(6486002)(966005)(478600001)(86362001)(122000001)(38100700002)(83380400001)(6512007)(6506007)(33656002)(8676002)(2616005)(316002)(36756003)(4326008)(2906002)(30864003)(8936002)(5660300002)(66476007)(110136005)(66556008)(76116006)(66946007)(66446008)(64756008)(71200400001)(54906003)(38070700009)(26005)(41300700001)(213903007)(45980500001)(44824005);DIR:OUT;SFP:1101; MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR08MB10139 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: AMS0EPF000001A2.eurprd05.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: c929081c-b5f8-4056-8e38-08dc20d6a6af X-Microsoft-Antispam-Message-Info: Yn+u21n1qgFo2/4CU1NRKiAgc2xSFN3j+pAH6IYDznC+kEU5H7/fDYcWjQztdYEVceDWBdMlHk4JpjeM7aaywbx8usB1jMW5xKIbfeA1IBYUA0Zcs8yXDsoRBiInd7AgX8jOCKA7DEJgGzkICxqSl8J1BHU2kFQb39E3ZF/PReiele5KYGSP+8wQEbm8lFlRv2ZjDI0GXsb4fBFOW1Rl10NHpNh/sx+EkjFQLhXCXZeoQnz62O9vaGhfo4vnudSSfYjVSPAijyQ4SE4a9MgljMKiHOhXS81cvR9JhU+oKm9VVQ09ckwl80BEwYfI1mUMhwOu+4JWn4Wr6g4VsysyL5WNmG9tVsN4u4eQdDOZlqprjD9NlIq/bIewLkhFaWOyP3gH7551aWgUvoqACLlaLQG5GLoHB9OVS66bNBHJq42vxhbkUic2BK8ipPVBWq8uLfLOzo9U9RdA74uRMfNjvydmVNC+thU+hA/tSpzxbEs/koO7qaft4ZWLIiCF/Qi5Yy3wdmO9Mp8JafVOiLo6zT9mw3qliXr08jgD5P925R7zu3E8wccvDBh4zZpiuNjZuhy3zAbLMBays2CSqwYpJjStN2FltF/hCEgCXeYpKRPkyTSHMXnLMuTw3qITntymqyBiosiPZayepfKYxZ3lu/2Obk+VHQ2ffJxt7Gf4Wn/Kg/MF19Ab6dy5KENeUbD3xjs+JSdAgLdKIasSrr/Q+PxEaU6CF8a+qJFHLn09P54p3fSWLQkZSihSYoHPJq//BDGoWRUrr/16U9fLeSAY4A== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jan 2024 14:29:23.9344 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8e5a3666-a6ac-410e-672a-08dc20d6b0be 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: AMS0EPF000001A2.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9296 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,sami.mujawar@arm.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: Zpud3XZKX36cGSXrCOfWC601x7686176AA= Content-Language: en-GB Content-Type: text/plain; charset="utf-8" Content-ID: <24299BD37AB81D43A3BBB29B16B5E98A@eurprd08.prod.outlook.com> 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=lsRgYIWJ; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=arm.com (policy=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 SGkgUGllcnJlLA0KDQpUaGFuayB5b3UgZm9yIHRoaXMgcGF0Y2guDQoNClJldmlld2VkLWJ5OiBT YW1pIE11amF3YXIgPHNhbWkubXVqYXdhckBhcm0uY29tPg0KDQpSZWdhcmRzLA0KDQpTYW1pIE11 amF3YXINCg0K77u/T24gMjUvMDEvMjAyNCwgMTU6MTksICJQaWVycmUgR29uZG9pcyIgPHBpZXJy ZS5nb25kb2lzQGFybS5jb20gPG1haWx0bzpwaWVycmUuZ29uZG9pc0Bhcm0uY29tPj4gd3JvdGU6 DQoNCg0KVGhlIFNDUCBob2xkcyBzb21lIHBvd2VyIGluZm9ybWF0aW9uIHRoYXQgY291bGQgYmUg YWR2ZXJ0aXNlZA0KdGhyb3VnaCB0aGUgX0NQQyBvYmplY3QuIFRoZSBjb21tdW5pY2F0aW9uIHdp dGggdGhlIFNDUCBpcyBkb25lDQp0aHJvdWdoIFNDTUkgcHJvdG9jb2xzIChjLmYuIEFybVNjbWlE eGUpLg0KDQoNClVzZSB0aGUgU0NNSSBwcm90b2NvbHMgdG8gcXVlcnkgaW5mb3JtYXRpb24gYW5k IGZlZWQgaXQgdG8NCnRoZSBEeW5hbWljVGFibGVzUGtnLg0KDQoNCkFja2VkLWJ5OiBMZWlmIExp bmRob2xtIDxxdWljX2xsaW5kaG9sQHF1aWNpbmMuY29tIDxtYWlsdG86cXVpY19sbGluZGhvbEBx dWljaW5jLmNvbT4+DQpTaWduZWQtb2ZmLWJ5OiBQaWVycmUgR29uZG9pcyA8cGllcnJlLmdvbmRv aXNAYXJtLmNvbSA8bWFpbHRvOnBpZXJyZS5nb25kb2lzQGFybS5jb20+Pg0KLS0tDQpEeW5hbWlj VGFibGVzUGtnL0R5bmFtaWNUYWJsZXMuZHNjLmluYyB8IDMgKw0KRHluYW1pY1RhYmxlc1BrZy9E eW5hbWljVGFibGVzUGtnLmRlYyB8IDQgKw0KRHluYW1pY1RhYmxlc1BrZy9EeW5hbWljVGFibGVz UGtnLmRzYyB8IDMgKw0KLi4uL0xpYnJhcnkvRHluYW1pY1RhYmxlc1NjbWlJbmZvTGliLmggfCAz MyArKw0KLi4uL0R5bmFtaWNUYWJsZXNTY21pSW5mb0xpYi5jIHwgMjk3ICsrKysrKysrKysrKysr KysrKw0KLi4uL0R5bmFtaWNUYWJsZXNTY21pSW5mb0xpYi5pbmYgfCAzMSArKw0KNiBmaWxlcyBj aGFuZ2VkLCAzNzEgaW5zZXJ0aW9ucygrKQ0KY3JlYXRlIG1vZGUgMTAwNjQ0IER5bmFtaWNUYWJs ZXNQa2cvSW5jbHVkZS9MaWJyYXJ5L0R5bmFtaWNUYWJsZXNTY21pSW5mb0xpYi5oDQpjcmVhdGUg bW9kZSAxMDA2NDQgRHluYW1pY1RhYmxlc1BrZy9MaWJyYXJ5L0R5bmFtaWNUYWJsZXNTY21pSW5m b0xpYi9EeW5hbWljVGFibGVzU2NtaUluZm9MaWIuYw0KY3JlYXRlIG1vZGUgMTAwNjQ0IER5bmFt aWNUYWJsZXNQa2cvTGlicmFyeS9EeW5hbWljVGFibGVzU2NtaUluZm9MaWIvRHluYW1pY1RhYmxl c1NjbWlJbmZvTGliLmluZg0KDQoNCmRpZmYgLS1naXQgYS9EeW5hbWljVGFibGVzUGtnL0R5bmFt aWNUYWJsZXMuZHNjLmluYyBiL0R5bmFtaWNUYWJsZXNQa2cvRHluYW1pY1RhYmxlcy5kc2MuaW5j DQppbmRleCA4Yzk5NTc0MDk3YWQuLjE5Y2E2MmQ2YTg1YyAxMDA2NDQNCi0tLSBhL0R5bmFtaWNU YWJsZXNQa2cvRHluYW1pY1RhYmxlcy5kc2MuaW5jDQorKysgYi9EeW5hbWljVGFibGVzUGtnL0R5 bmFtaWNUYWJsZXMuZHNjLmluYw0KQEAgLTIxLDYgKzIxLDkgQEAgW0xpYnJhcnlDbGFzc2VzLmNv bW1vbl0NClRhYmxlSGVscGVyTGlifER5bmFtaWNUYWJsZXNQa2cvTGlicmFyeS9Db21tb24vVGFi bGVIZWxwZXJMaWIvVGFibGVIZWxwZXJMaWIuaW5mDQoNCg0KU21iaW9zU3RyaW5nVGFibGVMaWJ8 RHluYW1pY1RhYmxlc1BrZy9MaWJyYXJ5L0NvbW1vbi9TbWJpb3NTdHJpbmdUYWJsZUxpYi9TbWJp b3NTdHJpbmdUYWJsZUxpYi5pbmYNCg0KDQoNCg0KDQoNCitbTGlicmFyeUNsYXNzZXMuQUFSQ0g2 NF0NCg0KDQorIER5bmFtaWNUYWJsZXNTY21pSW5mb0xpYnxEeW5hbWljVGFibGVzUGtnL0xpYnJh cnkvRHluYW1pY1RhYmxlc1NjbWlJbmZvTGliL0R5bmFtaWNUYWJsZXNTY21pSW5mb0xpYi5pbmYN Cg0KDQorDQoNCg0KW0NvbXBvbmVudHMuY29tbW9uXQ0KDQoNCiMNCg0KDQojIER5bmFtaWMgVGFi bGVzIE1hbmFnZXIgRHhlDQoNCg0KZGlmZiAtLWdpdCBhL0R5bmFtaWNUYWJsZXNQa2cvRHluYW1p Y1RhYmxlc1BrZy5kZWMgYi9EeW5hbWljVGFibGVzUGtnL0R5bmFtaWNUYWJsZXNQa2cuZGVjDQpp bmRleCBjZmJjYmI5NTY5ZjEuLjI1MzU1YWNlODg0YiAxMDA2NDQNCi0tLSBhL0R5bmFtaWNUYWJs ZXNQa2cvRHluYW1pY1RhYmxlc1BrZy5kZWMNCisrKyBiL0R5bmFtaWNUYWJsZXNQa2cvRHluYW1p Y1RhYmxlc1BrZy5kZWMNCkBAIC00Miw2ICs0MiwxMCBAQCBbTGlicmFyeUNsYXNzZXNdDQojIyBA bGlicmFyeWNsYXNzIERlZmluZXMgYSBzZXQgb2YgU01CSU9TIHN0cmluZyBoZWxwZXIgbWV0aG9k cy4NCg0KDQpTbWJpb3NTdHJpbmdUYWJsZUxpYnxJbmNsdWRlL0xpYnJhcnkvU21iaW9zU3RyaW5n VGFibGVMaWIuaA0KDQoNCg0KDQoNCg0KK1tMaWJyYXJ5Q2xhc3Nlcy5BQVJDSDY0XQ0KDQoNCisg IyMgQGxpYnJhcnljbGFzcyBEZWZpbmVzIGEgc2V0IG9mIEFQSXMgdG8gcG9wdWxhdGUgQ21PYmog dXNpbmcgU0NNSS4NCg0KDQorIER5bmFtaWNUYWJsZXNTY21pSW5mb0xpYnxJbmNsdWRlL0xpYnJh cnkvRHluYW1pY1RhYmxlc1NjbWlJbmZvTGliLmgNCg0KDQorDQoNCg0KW1Byb3RvY29sc10NCg0K DQojIENvbmZpZ3VyYXRpb24gTWFuYWdlciBQcm90b2NvbCBHVUlEDQoNCg0KZ0Vka2lpQ29uZmln dXJhdGlvbk1hbmFnZXJQcm90b2NvbEd1aWQgPSB7IDB4ZDg1YTQ4MzUsIDB4NWE4MiwgMHg0ODk0 LCB7IDB4YWMsIDB4MiwgMHg3MCwgMHg2ZiwgMHg0MywgMHhkNSwgMHg5NywgMHg4ZSB9IH0NCg0K DQpkaWZmIC0tZ2l0IGEvRHluYW1pY1RhYmxlc1BrZy9EeW5hbWljVGFibGVzUGtnLmRzYyBiL0R5 bmFtaWNUYWJsZXNQa2cvRHluYW1pY1RhYmxlc1BrZy5kc2MNCmluZGV4IDJmMzVhYzgyZjIwYi4u Y2YwNmYwNzMxYTIzIDEwMDY0NA0KLS0tIGEvRHluYW1pY1RhYmxlc1BrZy9EeW5hbWljVGFibGVz UGtnLmRzYw0KKysrIGIvRHluYW1pY1RhYmxlc1BrZy9EeW5hbWljVGFibGVzUGtnLmRzYw0KQEAg LTUxLDYgKzUxLDkgQEAgW0NvbXBvbmVudHMuY29tbW9uXQ0KW0NvbXBvbmVudHMuQVJNLCBDb21w b25lbnRzLkFBUkNINjRdDQoNCg0KRHluYW1pY1RhYmxlc1BrZy9MaWJyYXJ5L0ZkdEh3SW5mb1Bh cnNlckxpYi9GZHRId0luZm9QYXJzZXJMaWIuaW5mDQoNCg0KDQoNCg0KDQorW0NvbXBvbmVudHMu QUFSQ0g2NF0NCg0KDQorIER5bmFtaWNUYWJsZXNQa2cvTGlicmFyeS9EeW5hbWljVGFibGVzU2Nt aUluZm9MaWIvRHluYW1pY1RhYmxlc1NjbWlJbmZvTGliLmluZg0KDQoNCisNCg0KDQpbQnVpbGRP cHRpb25zXQ0KDQoNCipfKl8qX0NDX0ZMQUdTID0gLUQgRElTQUJMRV9ORVdfREVQUkVDQVRFRF9J TlRFUkZBQ0VTDQoNCg0KDQoNCg0KDQpkaWZmIC0tZ2l0IGEvRHluYW1pY1RhYmxlc1BrZy9JbmNs dWRlL0xpYnJhcnkvRHluYW1pY1RhYmxlc1NjbWlJbmZvTGliLmggYi9EeW5hbWljVGFibGVzUGtn L0luY2x1ZGUvTGlicmFyeS9EeW5hbWljVGFibGVzU2NtaUluZm9MaWIuaA0KbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4uZmY2YjQ3ZDUxZmU4DQotLS0gL2Rldi9udWxs DQorKysgYi9EeW5hbWljVGFibGVzUGtnL0luY2x1ZGUvTGlicmFyeS9EeW5hbWljVGFibGVzU2Nt aUluZm9MaWIuaA0KQEAgLTAsMCArMSwzMyBAQA0KKy8qKiBAZmlsZQ0KDQoNCisgQXJtIFNDTUkg SW5mbyBMaWJyYXJ5Lg0KDQoNCisNCg0KDQorIENvcHlyaWdodCAoYykgMjAyMiAtIDIwMjMsIEFy bSBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCg0KDQorDQoNCg0KKyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KDQoNCisqKi8NCg0KDQorDQoN Cg0KKyNpZm5kZWYgQVJNX1NDTUlfSU5GT19MSUJfSF8NCg0KDQorI2RlZmluZSBBUk1fU0NNSV9J TkZPX0xJQl9IXw0KDQoNCisNCg0KDQorI2luY2x1ZGUgPENvbmZpZ3VyYXRpb25NYW5hZ2VyT2Jq ZWN0Lmg+DQoNCg0KKw0KDQoNCisvKiogUG9wdWxhdGUgYSBBTUxfQ1BDX0lORk8gb2JqZWN0IGJh c2VkIG9uIFNDTUkgaW5mb3JtYXRpb24uDQoNCg0KKw0KDQoNCisgQHBhcmFtW2luXSBEb21haW5J ZCBJZGVudGlmaWVyIGZvciB0aGUgcGVyZm9ybWFuY2UgZG9tYWluLg0KDQoNCisgQHBhcmFtW291 dF0gQ3BjSW5mbyBJZiBzdWNjZXNzLCB0aGlzIHN0cnVjdHVyZSB3YXMgcG9wdWxhdGVkIGZyb20N Cg0KDQorIGluZm9ybWF0aW9uIHF1ZXJpZWQgdG8gdGhlIFNDUC4NCg0KDQorDQoNCg0KKyBAcmV0 dmFsIEVGSV9TVUNDRVNTIFN1Y2Nlc3MuDQoNCg0KKyBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJST1Ig RGV2aWNlIGVycm9yLg0KDQoNCisgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgSW52YWxp ZCBwYXJhbWV0ZXIuDQoNCg0KKyBAcmV0dmFsIEVGSV9USU1FT1VUIFRpbWUgb3V0Lg0KDQoNCisg QHJldHZhbCBFRklfVU5TVVBQT1JURUQgVW5zdXBwb3J0ZWQuDQoNCg0KKyoqLw0KDQoNCitFRklf U1RBVFVTDQoNCg0KK0VGSUFQSQ0KDQoNCitEeW5hbWljVGFibGVzU2NtaUluZm9HZXRGYXN0Q2hh bm5lbCAoDQoNCg0KKyBJTiBVSU5UMzIgRG9tYWluSWQsDQoNCg0KKyBPVVQgQU1MX0NQQ19JTkZP ICpDcGNJbmZvDQoNCg0KKyApOw0KDQoNCisNCg0KDQorI2VuZGlmIC8vIEFSTV9TQ01JX0lORk9f TElCX0hfDQoNCg0KZGlmZiAtLWdpdCBhL0R5bmFtaWNUYWJsZXNQa2cvTGlicmFyeS9EeW5hbWlj VGFibGVzU2NtaUluZm9MaWIvRHluYW1pY1RhYmxlc1NjbWlJbmZvTGliLmMgYi9EeW5hbWljVGFi bGVzUGtnL0xpYnJhcnkvRHluYW1pY1RhYmxlc1NjbWlJbmZvTGliL0R5bmFtaWNUYWJsZXNTY21p SW5mb0xpYi5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAwLi5kYTVi YzE4OTU3NzgNCi0tLSAvZGV2L251bGwNCisrKyBiL0R5bmFtaWNUYWJsZXNQa2cvTGlicmFyeS9E eW5hbWljVGFibGVzU2NtaUluZm9MaWIvRHluYW1pY1RhYmxlc1NjbWlJbmZvTGliLmMNCkBAIC0w LDAgKzEsMjk3IEBADQorLyoqIEBmaWxlDQoNCg0KKyBBcm0gU0NNSSBJbmZvIExpYnJhcnkuDQoN Cg0KKw0KDQoNCisgQ29weXJpZ2h0IChjKSAyMDIyIC0gMjAyMywgQXJtIExpbWl0ZWQuIEFsbCBy aWdodHMgcmVzZXJ2ZWQuPEJSPg0KDQoNCisNCg0KDQorIEFybSBGdW5jdGlvbmFsIEZpeGVkIEhh cmR3YXJlIFNwZWNpZmljYXRpb246DQoNCg0KKyAtIGh0dHBzOi8vZGV2ZWxvcGVyLmFybS5jb20v ZG9jdW1lbnRhdGlvbi9kZW4wMDQ4L2xhdGVzdC8gPGh0dHBzOi8vZGV2ZWxvcGVyLmFybS5jb20v ZG9jdW1lbnRhdGlvbi9kZW4wMDQ4L2xhdGVzdC8+DQoNCg0KKw0KDQoNCisgU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCg0KDQorKiovDQoNCg0KKw0KDQoNCisj aW5jbHVkZSA8TGlicmFyeS9BY3BpTGliLmg+DQoNCg0KKyNpbmNsdWRlIDxMaWJyYXJ5L0R5bmFt aWNUYWJsZXNTY21pSW5mb0xpYi5oPg0KDQoNCisjaW5jbHVkZSA8TGlicmFyeS9EZWJ1Z0xpYi5o Pg0KDQoNCisjaW5jbHVkZSA8TGlicmFyeS9NZW1vcnlBbGxvY2F0aW9uTGliLmg+DQoNCg0KKyNp bmNsdWRlIDxMaWJyYXJ5L1VlZmlCb290U2VydmljZXNUYWJsZUxpYi5oPg0KDQoNCisjaW5jbHVk ZSA8UHJvdG9jb2wvQXJtU2NtaS5oPg0KDQoNCisjaW5jbHVkZSA8UHJvdG9jb2wvQXJtU2NtaVBl cmZvcm1hbmNlUHJvdG9jb2wuaD4NCg0KDQorDQoNCg0KKy8qKiBBcm0gRkZIIHJlZ2lzdGVycw0K DQoNCisNCg0KDQorIENmLiBBcm0gRnVuY3Rpb25hbCBGaXhlZCBIYXJkd2FyZSBTcGVjaWZpY2F0 aW9uDQoNCg0KKyBzMy4yIFBlcmZvcm1hbmNlIG1hbmFnZW1lbnQgYW5kIENvbGxhYm9yYXRpdmUg UHJvY2Vzc29yIFBlcmZvcm1hbmNlIENvbnRyb2wNCg0KDQorKi8NCg0KDQorI2RlZmluZSBBUk1f RkZIX0RFTElWRVJFRF9QRVJGX0NPVU5URVJfUkVHSVNURVIgMHgwDQoNCg0KKyNkZWZpbmUgQVJN X0ZGSF9SRUZFUkVOQ0VfUEVSRl9DT1VOVEVSX1JFR0lTVEVSIDB4MQ0KDQoNCisNCg0KDQorLy8v IEFybSBTQ01JIHBlcmZvcm1hbmNlIHByb3RvY29sLg0KDQoNCitTVEFUSUMgU0NNSV9QRVJGT1JN QU5DRV9QUk9UT0NPTCAqU2NtaVBlcmZQcm90b2NvbDsNCg0KDQorDQoNCg0KKy8qKiBBcm0gU0NN SSBJbmZvIExpYnJhcnkgY29uc3RydWN0b3IuDQoNCg0KKw0KDQoNCisgQHBhcmFtIEltYWdlSGFu ZGxlIEltYWdlIG9mIHRoZSBsb2FkZWQgZHJpdmVyLg0KDQoNCisgQHBhcmFtIFN5c3RlbVRhYmxl IFBvaW50ZXIgdG8gdGhlIFN5c3RlbSBUYWJsZS4NCg0KDQorDQoNCg0KKyBAcmV0dmFsIEVGSV9T VUNDRVNTIFN1Y2Nlc3MuDQoNCg0KKyBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJST1IgRGV2aWNlIGVy cm9yLg0KDQoNCisgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgSW52YWxpZCBwYXJhbWV0 ZXIuDQoNCg0KKyBAcmV0dmFsIEVGSV9OT1RfRk9VTkQgTm90IEZvdW5kDQoNCg0KKyBAcmV0dmFs IEVGSV9USU1FT1VUIFRpbWVvdXQuDQoNCg0KKyBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCBVbnN1 cHBvcnRlZC4NCg0KDQorKiovDQoNCg0KK0VGSV9TVEFUVVMNCg0KDQorRUZJQVBJDQoNCg0KK0R5 bmFtaWNUYWJsZXNTY21pSW5mb0xpYkNvbnN0cnVjdG9yICgNCg0KDQorIElOIEVGSV9IQU5ETEUg SW1hZ2VIYW5kbGUsDQoNCg0KKyBJTiBFRklfU1lTVEVNX1RBQkxFICpTeXN0ZW1UYWJsZQ0KDQoN CisgKQ0KDQoNCit7DQoNCg0KKyBFRklfU1RBVFVTIFN0YXR1czsNCg0KDQorIFVJTlQzMiBWZXJz aW9uOw0KDQoNCisNCg0KDQorIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKA0KDQoNCisg JmdBcm1TY21pUGVyZm9ybWFuY2VQcm90b2NvbEd1aWQsDQoNCg0KKyBOVUxMLA0KDQoNCisgKFZP SUQgKiopJlNjbWlQZXJmUHJvdG9jb2wNCg0KDQorICk7DQoNCg0KKyBpZiAoRUZJX0VSUk9SIChT dGF0dXMpKSB7DQoNCg0KKyByZXR1cm4gU3RhdHVzOw0KDQoNCisgfQ0KDQoNCisNCg0KDQorIFN0 YXR1cyA9IFNjbWlQZXJmUHJvdG9jb2wtPkdldFZlcnNpb24gKFNjbWlQZXJmUHJvdG9jb2wsICZW ZXJzaW9uKTsNCg0KDQorIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCg0KDQorIHJldHVybiBT dGF0dXM7DQoNCg0KKyB9DQoNCg0KKw0KDQoNCisgLy8gRmFzdENoYW5uZWxzIHdlcmUgYWRkZWQg aW4gU0NNSSB2Mi4wIHNwZWMuDQoNCg0KKyBpZiAoVmVyc2lvbiA8IFBFUkZPUk1BTkNFX1BST1RP Q09MX1ZFUlNJT05fVjIpIHsNCg0KDQorIERFQlVHICgoDQoNCg0KKyBERUJVR19FUlJPUiwNCg0K DQorICJEeW5hbWljVGFibGVzU2NtaUluZm9MaWIgcmVxdWlyZXMgU0NNSSB2ZXJzaW9uID4gMi4w XG4iDQoNCg0KKyApKTsNCg0KDQorIHJldHVybiBFRklfVU5TVVBQT1JURUQ7DQoNCg0KKyB9DQoN Cg0KKw0KDQoNCisgcmV0dXJuIFN0YXR1czsNCg0KDQorfQ0KDQoNCisNCg0KDQorLyoqIEdldCB0 aGUgT1BQcy9wZXJmb3JtYW5jZSBzdGF0ZXMgb2YgYSBwb3dlciBkb21haW4uDQoNCg0KKw0KDQoN CisgVGhpcyBmdW5jdGlvbiBpcyBhIHdyYXBwZXIgYXJvdW5kIHRoZSBTQ01JIFBFUkZPUk1BTkNF X0RFU0NSSUJFX0xFVkVMUw0KDQoNCisgY29tbWFuZC4gVGhlIGxpc3Qgb2YgZGlzY3JldGUgcGVy Zm9ybWFuY2Ugc3RhdGVzIGlzIHJldHVybmVkIGluIGEgYnVmZmVyDQoNCg0KKyB0aGF0IG11c3Qg YmUgZnJlZWQgYnkgdGhlIGNhbGxlci4NCg0KDQorDQoNCg0KKyBAcGFyYW1baW5dIERvbWFpbklk IElkZW50aWZpZXIgZm9yIHRoZSBwZXJmb3JtYW5jZSBkb21haW4uDQoNCg0KKyBAcGFyYW1bb3V0 XSBMZXZlbEFycmF5IElmIHN1Y2Nlc3MsIHBvaW50ZXIgdG8gdGhlIGxpc3Qgb2YgbGlzdCBvZg0K DQoNCisgcGVyZm9ybWFuY2Ugc3RhdGUuIFRoaXMgbWVtb3J5IG11c3QgYmUgZnJlZWQgYnkNCg0K DQorIHRoZSBjYWxsZXIuDQoNCg0KKyBAcGFyYW1bb3V0XSBMZXZlbEFycmF5Q291bnQgSWYgc3Vj Y2VzcywgY29udGFpbnMgdGhlIG51bWJlciBvZiBzdGF0ZXMgaW4NCg0KDQorIExldmVsQXJyYXku DQoNCg0KKw0KDQoNCisgQHJldHZhbCBFRklfU1VDQ0VTUyBTdWNjZXNzLg0KDQoNCisgQHJldHZh bCBFRklfREVWSUNFX0VSUk9SIERldmljZSBlcnJvci4NCg0KDQorIEByZXR2YWwgRUZJX0lOVkFM SURfUEFSQU1FVEVSIEludmFsaWQgcGFyYW1ldGVyLg0KDQoNCisgQHJldHZhbCBFRklfVElNRU9V VCBUaW1lIG91dC4NCg0KDQorIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEIFVuc3VwcG9ydGVkLg0K DQoNCisqKi8NCg0KDQorU1RBVElDDQoNCg0KK0VGSV9TVEFUVVMNCg0KDQorRUZJQVBJDQoNCg0K K0R5bmFtaWNUYWJsZXNTY21pSW5mb0Rlc2NyaWJlTGV2ZWxzICgNCg0KDQorIElOIFVJTlQzMiBE b21haW5JZCwNCg0KDQorIE9VVCBTQ01JX1BFUkZPUk1BTkNFX0xFVkVMICoqTGV2ZWxBcnJheSwN Cg0KDQorIE9VVCBVSU5UMzIgKkxldmVsQXJyYXlDb3VudA0KDQoNCisgKQ0KDQoNCit7DQoNCg0K KyBFRklfU1RBVFVTIFN0YXR1czsNCg0KDQorIFNDTUlfUEVSRk9STUFOQ0VfTEVWRUwgKkFycmF5 Ow0KDQoNCisgVUlOVDMyIENvdW50Ow0KDQoNCisgVUlOVDMyIFNpemU7DQoNCg0KKw0KDQoNCisg aWYgKChTY21pUGVyZlByb3RvY29sID09IE5VTEwpIHx8DQoNCg0KKyAoTGV2ZWxBcnJheSA9PSBO VUxMKSB8fA0KDQoNCisgKExldmVsQXJyYXlDb3VudCA9PSBOVUxMKSkNCg0KDQorIHsNCg0KDQor IHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQoNCg0KKyB9DQoNCg0KKw0KDQoNCisgLy8g Rmlyc3QgY2FsbCB0byBnZXQgdGhlIG51bWJlciBvZiBsZXZlbHMuDQoNCg0KKyBTaXplID0gMDsN Cg0KDQorIFN0YXR1cyA9IFNjbWlQZXJmUHJvdG9jb2wtPkRlc2NyaWJlTGV2ZWxzICgNCg0KDQor IFNjbWlQZXJmUHJvdG9jb2wsDQoNCg0KKyBEb21haW5JZCwNCg0KDQorICZDb3VudCwNCg0KDQor ICZTaXplLA0KDQoNCisgTlVMTA0KDQoNCisgKTsNCg0KDQorIGlmIChTdGF0dXMgIT0gRUZJX0JV RkZFUl9UT09fU01BTEwpIHsNCg0KDQorIC8vIEVGSV9TVUNDRVNTIGlzIG5vdCBhIHZhbGlkIG9w dGlvbi4NCg0KDQorIGlmIChTdGF0dXMgPT0gRUZJX1NVQ0NFU1MpIHsNCg0KDQorIHJldHVybiBF RklfSU5WQUxJRF9QQVJBTUVURVI7DQoNCg0KKyB9IGVsc2Ugew0KDQoNCisgcmV0dXJuIFN0YXR1 czsNCg0KDQorIH0NCg0KDQorIH0NCg0KDQorDQoNCg0KKyBBcnJheSA9IEFsbG9jYXRlWmVyb1Bv b2wgKFNpemUpOw0KDQoNCisgaWYgKEFycmF5ID09IE5VTEwpIHsNCg0KDQorIHJldHVybiBFRklf T1VUX09GX1JFU09VUkNFUzsNCg0KDQorIH0NCg0KDQorDQoNCg0KKyAvLyBTZWNvbmQgY2FsbCB0 byBnZXQgdGhlIGRlc2NyaXB0aW9ucyBvZiB0aGUgbGV2ZWxzLg0KDQoNCisgU3RhdHVzID0gU2Nt aVBlcmZQcm90b2NvbC0+RGVzY3JpYmVMZXZlbHMgKA0KDQoNCisgU2NtaVBlcmZQcm90b2NvbCwN Cg0KDQorIERvbWFpbklkLA0KDQoNCisgJkNvdW50LA0KDQoNCisgJlNpemUsDQoNCg0KKyBBcnJh eQ0KDQoNCisgKTsNCg0KDQorIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCg0KDQorIHJldHVy biBTdGF0dXM7DQoNCg0KKyB9DQoNCg0KKw0KDQoNCisgKkxldmVsQXJyYXkgPSBBcnJheTsNCg0K DQorICpMZXZlbEFycmF5Q291bnQgPSBDb3VudDsNCg0KDQorDQoNCg0KKyByZXR1cm4gU3RhdHVz Ow0KDQoNCit9DQoNCg0KKw0KDQoNCisvKiogUG9wdWxhdGUgYSBBTUxfQ1BDX0lORk8gb2JqZWN0 IGJhc2VkIG9uIFNDTUkgaW5mb3JtYXRpb24uDQoNCg0KKw0KDQoNCisgQHBhcmFtW2luXSBEb21h aW5JZCBJZGVudGlmaWVyIGZvciB0aGUgcGVyZm9ybWFuY2UgZG9tYWluLg0KDQoNCisgQHBhcmFt W291dF0gQ3BjSW5mbyBJZiBzdWNjZXNzLCB0aGlzIHN0cnVjdHVyZSB3YXMgcG9wdWxhdGVkIGZy b20NCg0KDQorIGluZm9ybWF0aW9uIHF1ZXJpZWQgdG8gdGhlIFNDUC4NCg0KDQorDQoNCg0KKyBA cmV0dmFsIEVGSV9TVUNDRVNTIFN1Y2Nlc3MuDQoNCg0KKyBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJS T1IgRGV2aWNlIGVycm9yLg0KDQoNCisgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgSW52 YWxpZCBwYXJhbWV0ZXIuDQoNCg0KKyBAcmV0dmFsIEVGSV9USU1FT1VUIFRpbWUgb3V0Lg0KDQoN CisgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgVW5zdXBwb3J0ZWQuDQoNCg0KKyoqLw0KDQoNCitF RklfU1RBVFVTDQoNCg0KK0VGSUFQSQ0KDQoNCitEeW5hbWljVGFibGVzU2NtaUluZm9HZXRGYXN0 Q2hhbm5lbCAoDQoNCg0KKyBJTiBVSU5UMzIgRG9tYWluSWQsDQoNCg0KKyBPVVQgQU1MX0NQQ19J TkZPICpDcGNJbmZvDQoNCg0KKyApDQoNCg0KK3sNCg0KDQorIEVGSV9TVEFUVVMgU3RhdHVzOw0K DQoNCisgU0NNSV9QRVJGT1JNQU5DRV9GQVNUQ0hBTk5FTCBGY0xldmVsR2V0Ow0KDQoNCisgU0NN SV9QRVJGT1JNQU5DRV9GQVNUQ0hBTk5FTCBGY0xpbWl0c1NldDsNCg0KDQorIFNDTUlfUEVSRk9S TUFOQ0VfRE9NQUlOX0FUVFJJQlVURVMgRG9tYWluQXR0cmlidXRlczsNCg0KDQorDQoNCg0KKyBT Q01JX1BFUkZPUk1BTkNFX0xFVkVMICpMZXZlbEFycmF5Ow0KDQoNCisgVUlOVDMyIExldmVsQ291 bnQ7DQoNCg0KKw0KDQoNCisgVUlOVDY0IEZjTGV2ZWxHZXRBZGRyOw0KDQoNCisgVUlOVDY0IEZj TGltaXRzTWF4U2V0QWRkcjsNCg0KDQorIFVJTlQ2NCBGY0xpbWl0c01pblNldEFkZHI7DQoNCg0K Kw0KDQoNCisgaWYgKChTY21pUGVyZlByb3RvY29sID09IE5VTEwpIHx8DQoNCg0KKyAoQ3BjSW5m byA9PSBOVUxMKSkNCg0KDQorIHsNCg0KDQorIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7 DQoNCg0KKyB9DQoNCg0KKw0KDQoNCisgU3RhdHVzID0gU2NtaVBlcmZQcm90b2NvbC0+RGVzY3Jp YmVGYXN0Y2hhbm5lbCAoDQoNCg0KKyBTY21pUGVyZlByb3RvY29sLA0KDQoNCisgRG9tYWluSWQs DQoNCg0KKyBTY21pTWVzc2FnZUlkUGVyZm9ybWFuY2VMZXZlbFNldCwNCg0KDQorICZGY0xldmVs R2V0DQoNCg0KKyApOw0KDQoNCisgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KDQoNCisgcmV0 dXJuIFN0YXR1czsNCg0KDQorIH0NCg0KDQorDQoNCg0KKyBTdGF0dXMgPSBTY21pUGVyZlByb3Rv Y29sLT5EZXNjcmliZUZhc3RjaGFubmVsICgNCg0KDQorIFNjbWlQZXJmUHJvdG9jb2wsDQoNCg0K KyBEb21haW5JZCwNCg0KDQorIFNjbWlNZXNzYWdlSWRQZXJmb3JtYW5jZUxpbWl0c1NldCwNCg0K DQorICZGY0xpbWl0c1NldA0KDQoNCisgKTsNCg0KDQorIGlmIChFRklfRVJST1IgKFN0YXR1cykp IHsNCg0KDQorIHJldHVybiBTdGF0dXM7DQoNCg0KKyB9DQoNCg0KKw0KDQoNCisgU3RhdHVzID0g U2NtaVBlcmZQcm90b2NvbC0+R2V0RG9tYWluQXR0cmlidXRlcyAoDQoNCg0KKyBTY21pUGVyZlBy b3RvY29sLA0KDQoNCisgRG9tYWluSWQsDQoNCg0KKyAmRG9tYWluQXR0cmlidXRlcw0KDQoNCisg KTsNCg0KDQorIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCg0KDQorIHJldHVybiBTdGF0dXM7 DQoNCg0KKyB9DQoNCg0KKw0KDQoNCisgU3RhdHVzID0gRHluYW1pY1RhYmxlc1NjbWlJbmZvRGVz Y3JpYmVMZXZlbHMgKERvbWFpbklkLCAmTGV2ZWxBcnJheSwgJkxldmVsQ291bnQpOw0KDQoNCisg aWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KDQoNCisgcmV0dXJuIFN0YXR1czsNCg0KDQorIH0N Cg0KDQorDQoNCg0KKyAvKiBEbyBzb21lIHNhZmV0eSBjaGVja3MuDQoNCg0KKyBPbmx5IHN1cHBv cnQgRmFzdENoYW5uZWxzIChhbmQgbm90IGRvb3JiZWxscykgYXMgdGhpcyBpcw0KDQoNCisgdGhl IG9ubHkgbWVjaGFuaXNtIHN1cHBvcnRlZCBieSBTQ1AuDQoNCg0KKyBGY0xpbWl0c1tHZXR8U2V0 XSByZXF1aXJlIDIgVUlOVDMyIHZhbHVlcyAobWF4LCB0aGVuIG1pbikgYW5kDQoNCg0KKyBGY0xp bWl0c1tHZXR8U2V0XSByZXF1aXJlIDEgVUlOVDMyIHZhbHVlIChsZXZlbCkuDQoNCg0KKyAqLw0K DQoNCisgaWYgKChGY0xldmVsR2V0LkNoYW5TaXplICE9IHNpemVvZiAoVUlOVDMyKSkgfHwNCg0K DQorICgoRmNMZXZlbEdldC5BdHRyaWJ1dGVzICYgU0NNSV9QRVJGX0ZDX0FUVFJJQl9IQVNfRE9P UkJFTEwpID09DQoNCg0KKyBTQ01JX1BFUkZfRkNfQVRUUklCX0hBU19ET09SQkVMTCkgfHwNCg0K DQorIChGY0xpbWl0c1NldC5DaGFuU2l6ZSAhPSAyICogc2l6ZW9mIChVSU5UMzIpKSB8fA0KDQoN CisgKChGY0xpbWl0c1NldC5BdHRyaWJ1dGVzICYgU0NNSV9QRVJGX0ZDX0FUVFJJQl9IQVNfRE9P UkJFTEwpID09DQoNCg0KKyBTQ01JX1BFUkZfRkNfQVRUUklCX0hBU19ET09SQkVMTCkpDQoNCg0K KyB7DQoNCg0KKyBTdGF0dXMgPSBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQoNCg0KKyBnb3RvIGV4 aXRfaGFuZGxlcjsNCg0KDQorIH0NCg0KDQorDQoNCg0KKyBGY0xldmVsR2V0QWRkciA9ICgoVUlO VDY0KUZjTGV2ZWxHZXQuQ2hhbkFkZHJIaWdoIDw8IDMyKSB8DQoNCg0KKyBGY0xldmVsR2V0LkNo YW5BZGRyTG93Ow0KDQoNCisgRmNMaW1pdHNNYXhTZXRBZGRyID0gKChVSU5UNjQpRmNMaW1pdHNT ZXQuQ2hhbkFkZHJIaWdoIDw8IDMyKSB8DQoNCg0KKyBGY0xpbWl0c1NldC5DaGFuQWRkckxvdzsN Cg0KDQorIEZjTGltaXRzTWluU2V0QWRkciA9IEZjTGltaXRzTWF4U2V0QWRkciArIDB4NDsNCg0K DQorDQoNCg0KKyBDcGNJbmZvLT5SZXZpc2lvbiA9IEVGSV9BQ1BJXzZfNV9BTUxfQ1BDX1JFVklT SU9OOw0KDQoNCisgQ3BjSW5mby0+SGlnaGVzdFBlcmZvcm1hbmNlSW50ZWdlciA9IExldmVsQXJy YXlbTGV2ZWxDb3VudCAtIDFdLkxldmVsOw0KDQoNCisgQ3BjSW5mby0+Tm9taW5hbFBlcmZvcm1h bmNlSW50ZWdlciA9IERvbWFpbkF0dHJpYnV0ZXMuU3VzdGFpbmVkUGVyZkxldmVsOw0KDQoNCisg Q3BjSW5mby0+TG93ZXN0Tm9ubGluZWFyUGVyZm9ybWFuY2VJbnRlZ2VyID0gTGV2ZWxBcnJheVsw XS5MZXZlbDsNCg0KDQorIENwY0luZm8tPkxvd2VzdFBlcmZvcm1hbmNlSW50ZWdlciA9IExldmVs QXJyYXlbMF0uTGV2ZWw7DQoNCg0KKw0KDQoNCisgQ3BjSW5mby0+RGVzaXJlZFBlcmZvcm1hbmNl UmVnaXN0ZXIuQWRkcmVzc1NwYWNlSWQgPSBFRklfQUNQSV82XzVfU1lTVEVNX01FTU9SWTsNCg0K DQorIENwY0luZm8tPkRlc2lyZWRQZXJmb3JtYW5jZVJlZ2lzdGVyLlJlZ2lzdGVyQml0V2lkdGgg PSAzMjsNCg0KDQorIENwY0luZm8tPkRlc2lyZWRQZXJmb3JtYW5jZVJlZ2lzdGVyLlJlZ2lzdGVy Qml0T2Zmc2V0ID0gMDsNCg0KDQorIENwY0luZm8tPkRlc2lyZWRQZXJmb3JtYW5jZVJlZ2lzdGVy LkFjY2Vzc1NpemUgPSBFRklfQUNQSV82XzVfRFdPUkQ7DQoNCg0KKyBDcGNJbmZvLT5EZXNpcmVk UGVyZm9ybWFuY2VSZWdpc3Rlci5BZGRyZXNzID0gRmNMZXZlbEdldEFkZHI7DQoNCg0KKw0KDQoN CisgQ3BjSW5mby0+TWluaW11bVBlcmZvcm1hbmNlUmVnaXN0ZXIuQWRkcmVzc1NwYWNlSWQgPSBF RklfQUNQSV82XzVfU1lTVEVNX01FTU9SWTsNCg0KDQorIENwY0luZm8tPk1pbmltdW1QZXJmb3Jt YW5jZVJlZ2lzdGVyLlJlZ2lzdGVyQml0V2lkdGggPSAzMjsNCg0KDQorIENwY0luZm8tPk1pbmlt dW1QZXJmb3JtYW5jZVJlZ2lzdGVyLlJlZ2lzdGVyQml0T2Zmc2V0ID0gMDsNCg0KDQorIENwY0lu Zm8tPk1pbmltdW1QZXJmb3JtYW5jZVJlZ2lzdGVyLkFjY2Vzc1NpemUgPSBFRklfQUNQSV82XzVf RFdPUkQ7DQoNCg0KKyBDcGNJbmZvLT5NaW5pbXVtUGVyZm9ybWFuY2VSZWdpc3Rlci5BZGRyZXNz ID0gRmNMaW1pdHNNaW5TZXRBZGRyOw0KDQoNCisNCg0KDQorIENwY0luZm8tPk1heGltdW1QZXJm b3JtYW5jZVJlZ2lzdGVyLkFkZHJlc3NTcGFjZUlkID0gRUZJX0FDUElfNl81X1NZU1RFTV9NRU1P Ulk7DQoNCg0KKyBDcGNJbmZvLT5NYXhpbXVtUGVyZm9ybWFuY2VSZWdpc3Rlci5SZWdpc3RlckJp dFdpZHRoID0gMzI7DQoNCg0KKyBDcGNJbmZvLT5NYXhpbXVtUGVyZm9ybWFuY2VSZWdpc3Rlci5S ZWdpc3RlckJpdE9mZnNldCA9IDA7DQoNCg0KKyBDcGNJbmZvLT5NYXhpbXVtUGVyZm9ybWFuY2VS ZWdpc3Rlci5BY2Nlc3NTaXplID0gRUZJX0FDUElfNl81X0RXT1JEOw0KDQoNCisgQ3BjSW5mby0+ TWF4aW11bVBlcmZvcm1hbmNlUmVnaXN0ZXIuQWRkcmVzcyA9IEZjTGltaXRzTWF4U2V0QWRkcjsN Cg0KW1NBTUldIEkgc2VlIHdoeSBBUk1fR0FTMzIoKSBtYWNybyBjYW5ub3QgYmUgdXNlZCBoZXJl LiBQbGVhc2UgaWdub3JlIG15IHByZXZpb3VzIGNvbW1lbnQuDQorDQoNCg0KKyBDcGNJbmZvLT5S ZWZlcmVuY2VQZXJmb3JtYW5jZUNvdW50ZXJSZWdpc3Rlci5BZGRyZXNzU3BhY2VJZCA9IEVGSV9B Q1BJXzZfNV9GVU5DVElPTkFMX0ZJWEVEX0hBUkRXQVJFOw0KDQoNCisgQ3BjSW5mby0+UmVmZXJl bmNlUGVyZm9ybWFuY2VDb3VudGVyUmVnaXN0ZXIuUmVnaXN0ZXJCaXRXaWR0aCA9IDB4NDA7DQoN Cg0KKyBDcGNJbmZvLT5SZWZlcmVuY2VQZXJmb3JtYW5jZUNvdW50ZXJSZWdpc3Rlci5SZWdpc3Rl ckJpdE9mZnNldCA9IDA7DQoNCg0KKyBDcGNJbmZvLT5SZWZlcmVuY2VQZXJmb3JtYW5jZUNvdW50 ZXJSZWdpc3Rlci5BY2Nlc3NTaXplID0gQVJNX0ZGSF9SRUZFUkVOQ0VfUEVSRl9DT1VOVEVSX1JF R0lTVEVSOw0KDQoNCisgQ3BjSW5mby0+UmVmZXJlbmNlUGVyZm9ybWFuY2VDb3VudGVyUmVnaXN0 ZXIuQWRkcmVzcyA9IDB4NDsNCg0KDQorDQoNCg0KKyBDcGNJbmZvLT5EZWxpdmVyZWRQZXJmb3Jt YW5jZUNvdW50ZXJSZWdpc3Rlci5BZGRyZXNzU3BhY2VJZCA9IEVGSV9BQ1BJXzZfNV9GVU5DVElP TkFMX0ZJWEVEX0hBUkRXQVJFOw0KDQoNCisgQ3BjSW5mby0+RGVsaXZlcmVkUGVyZm9ybWFuY2VD b3VudGVyUmVnaXN0ZXIuUmVnaXN0ZXJCaXRXaWR0aCA9IDB4NDA7DQoNCg0KKyBDcGNJbmZvLT5E ZWxpdmVyZWRQZXJmb3JtYW5jZUNvdW50ZXJSZWdpc3Rlci5SZWdpc3RlckJpdE9mZnNldCA9IDA7 DQoNCg0KKyBDcGNJbmZvLT5EZWxpdmVyZWRQZXJmb3JtYW5jZUNvdW50ZXJSZWdpc3Rlci5BY2Nl c3NTaXplID0gQVJNX0ZGSF9ERUxJVkVSRURfUEVSRl9DT1VOVEVSX1JFR0lTVEVSOw0KDQoNCisg Q3BjSW5mby0+RGVsaXZlcmVkUGVyZm9ybWFuY2VDb3VudGVyUmVnaXN0ZXIuQWRkcmVzcyA9IDB4 NDsNCg0KDQorDQoNCg0KKyAvLyBTQ01JIHNob3VsZCBhZHZlcnRpc2UgcGVyZm9ybWFuY2UgdmFs dWVzIG9uIGEgdW5pZmllZCBzY2FsZS4gU28gZnJlcXVlbmN5DQoNCg0KKyAvLyB2YWx1ZXMgYXJl IG5vdCBhdmFpbGFibGUuIExvd2VzdEZyZXF1ZW5jeUludGVnZXIgYW5kDQoNCg0KKyAvLyBOb21p bmFsRnJlcXVlbmN5SW50ZWdlciBhcmUgcG9wdWxhdGVkIGluIHRoZSBDb25maWd1cmF0aW9uTWFu YWdlci4NCg0KDQorDQoNCg0KK2V4aXRfaGFuZGxlcjoNCg0KDQorIEZyZWVQb29sIChMZXZlbEFy cmF5KTsNCg0KDQorIHJldHVybiBTdGF0dXM7DQoNCg0KK30NCg0KDQpkaWZmIC0tZ2l0IGEvRHlu YW1pY1RhYmxlc1BrZy9MaWJyYXJ5L0R5bmFtaWNUYWJsZXNTY21pSW5mb0xpYi9EeW5hbWljVGFi bGVzU2NtaUluZm9MaWIuaW5mIGIvRHluYW1pY1RhYmxlc1BrZy9MaWJyYXJ5L0R5bmFtaWNUYWJs ZXNTY21pSW5mb0xpYi9EeW5hbWljVGFibGVzU2NtaUluZm9MaWIuaW5mDQpuZXcgZmlsZSBtb2Rl IDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAwLi5kNDkyNzdmODJiYzMNCi0tLSAvZGV2L251bGwN CisrKyBiL0R5bmFtaWNUYWJsZXNQa2cvTGlicmFyeS9EeW5hbWljVGFibGVzU2NtaUluZm9MaWIv RHluYW1pY1RhYmxlc1NjbWlJbmZvTGliLmluZg0KQEAgLTAsMCArMSwzMSBAQA0KKyMjIEBmaWxl DQoNCg0KKyMgQXJtIFNDTUkgSW5mbyBMaWJyYXJ5Lg0KDQoNCisjDQoNCg0KKyMgQ29weXJpZ2h0 IChjKSAyMDIyIC0gMjAyMywgQXJtIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQoNCg0K KyMNCg0KDQorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0K DQoNCisjIw0KDQoNCisNCg0KDQorW0RlZmluZXNdDQoNCg0KKyBJTkZfVkVSU0lPTiA9IDB4MDAw MTAwMUINCg0KDQorIEJBU0VfTkFNRSA9IER5bmFtaWNUYWJsZXNTY21pSW5mb0xpYg0KDQoNCisg RklMRV9HVUlEID0gMUE3Q0RCMDQtOUZGQy00MERBLUE4N0MtQTVBQ0FEQUY4MTM2DQoNCg0KKyBW RVJTSU9OX1NUUklORyA9IDEuMA0KDQoNCisgTU9EVUxFX1RZUEUgPSBEWEVfRFJJVkVSDQoNCg0K KyBMSUJSQVJZX0NMQVNTID0gRHluYW1pY1RhYmxlc1NjbWlJbmZvTGliDQoNCg0KKyBDT05TVFJV Q1RPUiA9IER5bmFtaWNUYWJsZXNTY21pSW5mb0xpYkNvbnN0cnVjdG9yDQoNCg0KKw0KDQoNCitb U291cmNlc10NCg0KDQorIER5bmFtaWNUYWJsZXNTY21pSW5mb0xpYi5jDQoNCg0KKw0KDQoNCitb UGFja2FnZXNdDQoNCg0KKyBBcm1Qa2cvQXJtUGtnLmRlYw0KDQoNCisgRHluYW1pY1RhYmxlc1Br Zy9EeW5hbWljVGFibGVzUGtnLmRlYw0KDQoNCisgRW1iZWRkZWRQa2cvRW1iZWRkZWRQa2cuZGVj DQoNCg0KKyBNZGVQa2cvTWRlUGtnLmRlYw0KDQoNCisNCg0KDQorW1Byb3RvY29sc10NCg0KDQor IGdBcm1TY21pUGVyZm9ybWFuY2VQcm90b2NvbEd1aWQgIyMgQ09OU1VNRVMNCg0KDQorDQoNCg0K K1tEZXBleF0NCg0KDQorIGdBcm1TY21pUGVyZm9ybWFuY2VQcm90b2NvbEd1aWQNCg0KDQotLSAN CjIuMjUuMQ0KDQoNCg0KDQoNCg0KCi09LT0tPS09LT0tPS09LT0tPS09LT0tCkdyb3Vwcy5pbyBM aW5rczogWW91IHJlY2VpdmUgYWxsIG1lc3NhZ2VzIHNlbnQgdG8gdGhpcyBncm91cC4KVmlldy9S ZXBseSBPbmxpbmUgKCMxMTQ3MDMpOiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVz c2FnZS8xMTQ3MDMKTXV0ZSBUaGlzIFRvcGljOiBodHRwczovL2dyb3Vwcy5pby9tdC8xMDM5NTU1 MDgvNzY4NjE3NgpHcm91cCBPd25lcjogZGV2ZWwrb3duZXJAZWRrMi5ncm91cHMuaW8KVW5zdWJz Y3JpYmU6IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC91bnN1YiBbcmViZWNjYUBvcGVu ZncuaW9dCi09LT0tPS09LT0tPS09LT0tPS09LT0tCgoNCg==