From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id F3EA745B9C; Tue, 22 Oct 2024 09:13:17 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BA88E4029B; Tue, 22 Oct 2024 09:13:16 +0200 (CEST) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2082.outbound.protection.outlook.com [40.107.243.82]) by mails.dpdk.org (Postfix) with ESMTP id 0EC3C4029A for ; Tue, 22 Oct 2024 09:13:15 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Me9ba8ZHZvH1xuntgOAf0ozBwmof2iZ8QuEa4jazNzKMqY/s4gRI7A3jzytupcREZhn14SHHwrD4dfXHswNS+zj5shBem2NrRcCGwALH5ZrMzLpp699Hxvr1bfSo6Dn30xLhMDu8Hv6eW4QxfxydbdLSEiVDSwqOUUd/EE8EiYI1znszuxoyGxs7KMjgvOh2qvHUZ8nEzln6Ky8o8X1gc5PGZlvwyMtxySzIpLZM1nOPmWwxuYv6s/QzayY18h0n4DotkqROmGFhtxXE+51a7/jGEQEbTXfgR8a2Ncho2MRt3xtRn7UYRSDq2gIsKMpLyXY5dB8IDDEOsb+FlBI17g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=DYbUdTGkc7wA+VXnTqoVjMZWo6mlo/AVGNeMxCERzME=; b=qiNsjRQQT6AzKwaYU1HEPk797UXkEgg1ekGoRlBwBCrw7hCia0gi75cxhj8ATVYYkT2GDcKo7BKLvAFgu3tW2RT7x5DyaU/RNPHN0DLsxuhTHCnd6Fs51MAGCvl9GUD30NSNA020Akd+DqjMZCNpZkvofbbUPFNghuh7iFwJTXPK5YZ1UoCLGwupMhMeSXZIUu5V0xIJKtqXJItuM/cYw3SCNNT8zac9gOwp2unX+DQm1Y97B1woEHwFt1rlrlrP7SpyiBRPSlV1/aXRw1QDkeGb/xoos4XVoIwU0470u670KlFmvB3TG3NDwWDMCRwu5E22ZFHF7ZmYRcHAk1WmaQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DYbUdTGkc7wA+VXnTqoVjMZWo6mlo/AVGNeMxCERzME=; b=sZsFZnCiRduIVZKgre6JYljmxAuPOk7X7cbTwGKIM6SjNQjVjLwBunYGO3uIp0O/NrDLLP8QpwXDMjzFvKRtSEzqk/A+KN7QaCe41MWP2E5nLaAZJ0SB60sRVhPv0bMg2l+F52/KEGVnEhdxnS7xT7kNRrIzy6jFlTgVUKuH8Hg= Received: from CH3PR12MB8233.namprd12.prod.outlook.com (2603:10b6:610:129::15) by SA1PR12MB7151.namprd12.prod.outlook.com (2603:10b6:806:2b1::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8069.28; Tue, 22 Oct 2024 07:13:12 +0000 Received: from CH3PR12MB8233.namprd12.prod.outlook.com ([fe80::278f:5cc5:549c:3515]) by CH3PR12MB8233.namprd12.prod.outlook.com ([fe80::278f:5cc5:549c:3515%5]) with mapi id 15.20.8069.027; Tue, 22 Oct 2024 07:13:12 +0000 From: "Tummala, Sivaprasad" To: "lihuisong (C)" , "david.hunt@intel.com" , "konstantin.ananyev@huawei.com" CC: "dev@dpdk.org" , "anatoly.burakov@intel.com" , "jerinj@marvell.com" , "radu.nicolau@intel.com" , "gakhil@marvell.com" , "cristian.dumitrescu@intel.com" , "Yigit, Ferruh" Subject: RE: [PATCH v7 1/5] power: refactor core power management library Thread-Topic: [PATCH v7 1/5] power: refactor core power management library Thread-Index: AQHbI28DOP0ykgkUz0WdHCFgjMOI3bKSFvQAgAA+ZIA= Date: Tue, 22 Oct 2024 07:13:12 +0000 Message-ID: References: <20241020092233.2906612-1-sivaprasad.tummala@amd.com> <20241021040724.3325876-1-sivaprasad.tummala@amd.com> <20241021040724.3325876-2-sivaprasad.tummala@amd.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_ActionId=828df086-729e-4d81-a10e-e58ec86870b7; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_ContentBits=0; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_Enabled=true; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_Method=Standard; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_Name=AMD Internal Distribution Only; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_SetDate=2024-10-22T06:46:21Z; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH3PR12MB8233:EE_|SA1PR12MB7151:EE_ x-ms-office365-filtering-correlation-id: ff59fdfb-29e5-4d34-810f-08dcf268fd77 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|366016|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?YUZYTVJKd3ZRaVNkNFFYOUtzbW95dnZUN0Yvc2lSRERMUEx1WHV1VmdBd2tS?= =?utf-8?B?YmdrNktNQ2pMVUJJL2xaWEhmRmtxSVhTTEJRR3hFYmE5T0tENHdNUFkrRS9L?= =?utf-8?B?Zzl2dDVYVkcwZkNWSmppbU52TUxYTGJpd1c3WTN2T0tjV21oNXFKNnlCZjFQ?= =?utf-8?B?UDBTRUt2WVZBYWR4aUtqMThaTUNJNS96UWJoaU5NM2VhVkRiaWVQYU01UFhO?= =?utf-8?B?bGlzamFub0pieUF3dzN5Tm5JK29HYUZmNGp3UXdpbzNDMjl6Zmw4dTZUV0Fw?= =?utf-8?B?UDNvOENrdVpYRldSS1FFbXZ2MnlEWS9RWjNEV051ZnNnS1VOZS94VG9ySytB?= =?utf-8?B?aEw1UHo0UmFWSjI4bjFEOUZZSjNyTG5IaXpxUmx5TnpyMi9mbDZGOHp1RjFQ?= =?utf-8?B?RGFVSTBmbk1USVdsR0NBZ25GQW5pb3RxTGJsSWhqYlVXSUlXdmJTYnlDbDRs?= =?utf-8?B?Q2QzNVdrOVVlSkN3RDZJZFNiYjRDZXVDWU5ubnorVFZtSEtBcTRSY0tMUlYx?= =?utf-8?B?c1Q5U3VHamlrTzQ4OWg0blpnOFkwaUF4c2I1UXpCSzhhVDBnYmg0Q2FJNnhT?= =?utf-8?B?WWkyUm1EMzRLTzdTL3dCNU53RFg3R0RNS3pZUlFsTERjRGlvdTIwamQ5UGdo?= =?utf-8?B?dmc3OERnd0htd2NrNEVVZmQxZjhFdHhmTXV2TWZ1emM5a3Bjb1ZicGV5a0kx?= =?utf-8?B?UTVqNjJjYW5XYWgzSUYyeUpHTmNTaWVDd0RhbkZUcVgzTENGZURiS2JiS3kz?= =?utf-8?B?NVord3hNNzU0VTVqcUNhc0tFTnpyQjJWUnpmZWN0N2F4anUxNXBSNTNCemlS?= =?utf-8?B?RWhvUUw4MWRsNzFKMXNOZGc4N1dCR0FVYS8vTU1kNW9CdlVSeXlVcnoxWE5w?= =?utf-8?B?OUYzQ1FRTHFaKzlUdjFTaGNBY0cyeDg3VTFPTU9RTUZiWFo0WXQvRzBPRkc2?= =?utf-8?B?a2pzK21Ka2VwcW1jY3FDK25GWGJCRmtGNWFFZll5RUpnUDJ6aGhPQmdoUGRr?= =?utf-8?B?R3BtSlN0K1kzN2VZT2htSEk5UmgydDViM2VZZmhwVW1BUU9MbWtOd05qYU1U?= =?utf-8?B?KzFXWlF5eU85M2VpWDI1TjJVTldiQlFTeHpzR1dJMjJSSHZHNzNSeVBuaHAw?= =?utf-8?B?cEZ5ODM3a3JXNzg1bnlIWE9qV2RyVXVwdkZzWEM1QzlOY0Q2aE5SYndhZUNu?= =?utf-8?B?NFhTM3FsbFFKaXprYmd3OFVOb1VMT3ZpSnZzVDNNME1MeEJnYk44eE5zZFVv?= =?utf-8?B?V0VIY3NnQTg3QmV2T3BFTUpxNE1vNDFEMUN6SVNMOW5lY25uUEs5TmJXRnpk?= =?utf-8?B?RW5pc0laRnV2dTJFYTg3R1pSaTZmSllOQk8wbnhremNqQWFtY29ESkYzdG9t?= =?utf-8?B?bVhiaExHZ3FrOGp4TzFTaExWeXBUM3daOWhOMEtZT2xubnhVVGd2bW9yRXMx?= =?utf-8?B?dWdVNlhheXhnQ1pVbW16SzM3aC9aaVNBaGxkN05lbVNqYk0xSXorTFQxSCsv?= =?utf-8?B?Z1lVMW1USmV3aDd6SGk0VXVEU21YallHNEpIaW9iZ29KTWRiQlV2TlZrODFn?= =?utf-8?B?ZU4xVmliak1aclB0UlRvbEhXUEt3QWwyTUlhcXFnQnNSYTlOQ21Cb1F3NUVi?= =?utf-8?B?cTBxVEQyb1RUY3RMY3pTdjBrYU90Q0xnWmRoL0gxVVZGSC9lVEVkeDN3ZSti?= =?utf-8?B?MlRZK2RuTHlid25vOGFGOXpDSEMwdU5oZFNRbzU4SHJUVHRjN3lsRnpLWkRP?= =?utf-8?B?WFZTOU9sYjIxb0JYRUlDZktMNEs4dVdKaEkyUzhhUHV6c1ZOeG9ZY25wNnpD?= =?utf-8?Q?DEfeywGUy1LjRtpfxdWPSgpc2ezh+aZVWuzdE=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH3PR12MB8233.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RFBVdXZLUktObDZPT3I1OEduZXduU2FxNzJkVUFzeVZvcFVzWFlHd3YzMmtJ?= =?utf-8?B?aWpDd2dIM0JCRjg5a29wNm05OHV3aXJUUytRYWxsdFRrZ3dFem5SU2p3aWdL?= =?utf-8?B?akg5YU1nNW5XOTRXMTMxaVdZOWlnSnk5bEt2eVlVdE51ZWJoS2twemxrQm1V?= =?utf-8?B?NWg1Zy9oa2VQMHlTOGRoK084d2Y5ZmhSWHFQcTY2MmZldUxXSFYzQithZjBk?= =?utf-8?B?QjVsSDdUbDkxcG1VaHNXUEZzeVJ4emp4UENIM2NyV1lyTVhBZE5yYlAvc0ww?= =?utf-8?B?NGh4REl5NmVpTlZHSDhnWWFGL3p6eTNhNlpJdHB4aTJ0QjB0MG9KNTVlbFJO?= =?utf-8?B?VWlGeEQzcG9lMWJ1OHhuditIV0tWZ0R6cmxwMEJ4blBDNi9DbGJjVWlpZTB2?= =?utf-8?B?dUR5RjVKeFczUTZkMFJ3WlZXOG5nQkRCUVg3TFVaaGpneGV6c1NXSGNibTlx?= =?utf-8?B?MGRQOENOWXRZQjF1cGhZVTdmSlpKOSs0RFJ3MnROZVkrN1c4OGt3bjl1c3BD?= =?utf-8?B?ZUdENkFsZE9lZnRneldRT2dmT3RVUlFIZkRoTit4Q0YxRFJkQTlRcTE4SU10?= =?utf-8?B?bXJnalRuM1dOTWQ0MXg5TE9PWHhDMVI5OVRXdHNFWmxoMHI3aGZVSkJSeitj?= =?utf-8?B?dkFTejJyZ1ExdzJnakJHZGhTblovc08xaDMwOTRZellKVHB3UjdTazNadVlm?= =?utf-8?B?TklOOUQzanBwdFVzWHpxcEpnUDJRN002K3F5WGNFYzdjSE4zd0FqQlpEU2Fh?= =?utf-8?B?ZkREdGJWR1lROHRQUXVEZlNyYi9rWGtsbG1GUzE5Z0Iwb1JGeCswUUxSOVFO?= =?utf-8?B?czVFNm91bmVHT3dwNXlLVVBVRTBlQ3hsaVZxMGZHNW5VYkd0VmdoQ1c2bVIv?= =?utf-8?B?c01EamlEV1EzVi9zc1NQbUxTZlBjQnNldVdta283Y08rTVRCQXBtVXNJUzBv?= =?utf-8?B?dDRvTllyWDBDbFU1dXQ2d1lrc2JSZ0NqUmN6Tkkwb3hKaEVnVTFsMit0ZG4w?= =?utf-8?B?NEhTcmlMamVHUXdkUW5Bb1NhOGo4Zk56bXhsb09wRHhxMStNV0hoNEwydUM4?= =?utf-8?B?OE4zUWZ0UDV1YmF5T1FRUDhmc2c0QWZGd2VnY3dZcWpXeHZGZjE1TWVqYUNO?= =?utf-8?B?OWRVTmdPQUwwVUEzUlhieW5xc2hWY0N0MGZpT04zK2xKMThhQVBnYXhhTlV1?= =?utf-8?B?WTFheURSZ3NHQjU0a1d4ckZ3QWdRWThFeWRzWUZRV2k0VkJPbU4vWHJNOXRt?= =?utf-8?B?VTg5S1A1THBjQlI0cmxqcHc2dEl3Y2Uva0hKQUtLS3lHalRYWFdGM21wS05k?= =?utf-8?B?TnUrVTBIQnBkekdMZVIxWlFHeXVHWnkzUXVSSkNyU2N6TlJxZG1XOG95N0Rq?= =?utf-8?B?aDlKTVpONFlnQ3R3VWtlelhDR0FUTXZnMEdEQ0FGeEtyN0xtZ3hTalArOXk2?= =?utf-8?B?TUUxbmIxN1NEcGRJVzU1RStRSk12dllUV2VpTnI5MEVlcUFVVTFpL0JOUjJh?= =?utf-8?B?TFN5QXpNUlp4QnJHQWR4WDNyVmpLb202d3JDQUdIMkNvSkR4WjEvN1QwR014?= =?utf-8?B?MmdVd3EvVld5NjJyMmlZaksxSkZFNlRpSlEwc0QyLzhub1BYeHljak5wVklR?= =?utf-8?B?eXMxSGQ4RnJndmFzajJnV01MTktoQ3Z3MUhVZjVqT2tIejE0MWNpNVZOaXJs?= =?utf-8?B?WXJaUmdZNVJoZlV2TFpCU2t3a2JBTUdVLzJJeUUvdEpxbVBSZkJuRG85YUZy?= =?utf-8?B?bzBqVFFBTHRRUVBlVmllSGVUdWxLUmhvTytOd3Z4SmRqY3ZmbUNtQWNnRHEv?= =?utf-8?B?ZnBUWHdNVThOVjBUVmVTQVZVeG11WnF5WElYODc5NWYvcGJYTDd3Rk1CMWVa?= =?utf-8?B?RVpFd1U0WERKSVlVNDN5MUVNbHE4R2FLMWRZeU05V1RDeFlRZklTUWo2SjFp?= =?utf-8?B?SitHUDFlSDFnaGVRdHNiTFViZHZpMGk3ZmcxU2lEZTF0cDZpdmg4L1BPMkhn?= =?utf-8?B?NlpZbUUrQ0VIUUJLZUtXK1RMSGFPZjNRN1FRZ3IweGJ4bEEwWVNyemIzOFY5?= =?utf-8?B?c0xuZW8reGNmcG9RaFdKMWhiYkJkcDNMaXVZejBKQ2x0UWV5Q2hnZDRpUUQy?= =?utf-8?Q?2Gz9akz8MO9IEDVOJKaXUjTT+?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH3PR12MB8233.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ff59fdfb-29e5-4d34-810f-08dcf268fd77 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Oct 2024 07:13:12.2436 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: kOIHHHz+48+mayMjhNaJQWhVRTAg9Luc60ei15DEr83enhVs9WT9etbSdH5yvtKkDMIN45bGBlJwRsXcK72mfA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7151 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org W0FNRCBPZmZpY2lhbCBVc2UgT25seSAtIEFNRCBJbnRlcm5hbCBEaXN0cmlidXRpb24gT25seV0N Cg0KSGkgSHVpc29uZywNCg0KUGxlYXNlIGZpbmQgbXkgY29tbWVudHMgaW5saW5lLg0KDQo+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGxpaHVpc29uZyAoQykgPGxpaHVpc29u Z0BodWF3ZWkuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBPY3RvYmVyIDIyLCAyMDI0IDg6MzMgQU0N Cj4gVG86IFR1bW1hbGEsIFNpdmFwcmFzYWQgPFNpdmFwcmFzYWQuVHVtbWFsYUBhbWQuY29tPjsN Cj4gZGF2aWQuaHVudEBpbnRlbC5jb207IGtvbnN0YW50aW4uYW5hbnlldkBodWF3ZWkuY29tDQo+ IENjOiBkZXZAZHBkay5vcmc7IGFuYXRvbHkuYnVyYWtvdkBpbnRlbC5jb207IGplcmluakBtYXJ2 ZWxsLmNvbTsNCj4gcmFkdS5uaWNvbGF1QGludGVsLmNvbTsgZ2FraGlsQG1hcnZlbGwuY29tOyBj cmlzdGlhbi5kdW1pdHJlc2N1QGludGVsLmNvbTsgWWlnaXQsDQo+IEZlcnJ1aCA8RmVycnVoLllp Z2l0QGFtZC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjcgMS81XSBwb3dlcjogcmVmYWN0 b3IgY29yZSBwb3dlciBtYW5hZ2VtZW50IGxpYnJhcnkNCj4NCj4gQ2F1dGlvbjogVGhpcyBtZXNz YWdlIG9yaWdpbmF0ZWQgZnJvbSBhbiBFeHRlcm5hbCBTb3VyY2UuIFVzZSBwcm9wZXIgY2F1dGlv bg0KPiB3aGVuIG9wZW5pbmcgYXR0YWNobWVudHMsIGNsaWNraW5nIGxpbmtzLCBvciByZXNwb25k aW5nLg0KPg0KPg0KPiBIaSBTaXZhcHJhc2FkLA0KPg0KPiBTb21lIGNvbW1lbnRzIGlubGluZS4N Cj4NCj4g5ZyoIDIwMjQvMTAvMjEgMTI6MDcsIFNpdmFwcmFzYWQgVHVtbWFsYSDlhpnpgZM6DQo+ ID4gVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGEgY29tcHJlaGVuc2l2ZSByZWZhY3RvciB0byB0aGUg Y29yZSBwb3dlcg0KPiA+IG1hbmFnZW1lbnQgbGlicmFyeS4gVGhlIHByaW1hcnkgZm9jdXMgaXMg b24gaW1wcm92aW5nIG1vZHVsYXJpdHkgYW5kDQo+ID4gb3JnYW5pemF0aW9uIGJ5IHJlbG9jYXRp bmcgc3BlY2lmaWMgZHJpdmVyIGltcGxlbWVudGF0aW9ucyBmcm9tIHRoZQ0KPiA+ICdsaWIvcG93 ZXInIGRpcmVjdG9yeSB0byBkZWRpY2F0ZWQgZGlyZWN0b3JpZXMgd2l0aGluDQo+ID4gJ2RyaXZl cnMvcG93ZXIvY29yZS8qJy4gVGhlIGFkanVzdG1lbnQgb2YgbWVzb24uYnVpbGQgZmlsZXMgZW5h Ymxlcw0KPiA+IHRoZSBzZWxlY3RpdmUgYWN0aXZhdGlvbiBvZiBpbmRpdmlkdWFsIGRyaXZlcnMu DQo+ID4NCj4gPiBUaGVzZSBjaGFuZ2VzIGNvbnRyaWJ1dGUgdG8gYSBzaWduaWZpY2FudCBlbmhh bmNlbWVudCBpbiBjb2RlDQo+ID4gb3JnYW5pemF0aW9uLCBwcm92aWRpbmcgYSBjbGVhcmVyIHN0 cnVjdHVyZSBmb3IgZHJpdmVyIGltcGxlbWVudGF0aW9ucy4NCj4gPiBUaGUgcmVmYWN0b3IgYWlt cyB0byBpbXByb3ZlIG92ZXJhbGwgY29kZSBjbGFyaXR5IGFuZCBib29zdA0KPiA+IG1haW50YWlu YWJpbGl0eS4gQWRkaXRpb25hbGx5LCBpdCBlc3RhYmxpc2hlcyBhIGZvdW5kYXRpb24gZm9yIGZ1 dHVyZQ0KPiA+IGRldmVsb3BtZW50LCBhbGxvd2luZyBmb3IgbW9yZSBmb2N1c2VkIHdvcmsgb24g aW5kaXZpZHVhbCBkcml2ZXJzIGFuZA0KPiA+IHNlYW1sZXNzIGludGVncmF0aW9uIG9mIGZvcnRo Y29taW5nIGVuaGFuY2VtZW50cy4NCj4gPg0KPiA+IHY2Og0KPiA+ICAgLSBmaXhlZCBjb21waWxh dGlvbiBlcnJvciB3aXRoIHN5bWJvbCBleHBvcnQgaW4gQVBJDQo+ID4gICAtIGV4cG9ydGVkIHBv d2VyX2dldF9sY29yZV9tYXBwZWRfY3B1X2lkIGFzIGludGVybmFsIEFQSSB0byBiZQ0KPiA+ICAg ICB1c2VkIGluIGRyaXZlcnMvcG93ZXIvKg0KPiA+DQo+ID4gdjU6DQo+ID4gICAtIGZpeGVkIGNv ZGUgc3R5bGUgd2FybmluZw0KPiA+DQo+ID4gdjQ6DQo+ID4gICAtIGZpeGVkIGJ1aWxkIGVycm9y IHdpdGggUlRFX0FTU0VSVA0KPiA+DQo+ID4gdjM6DQo+ID4gICAtIHJlbmFtZWQgcnRlX3Bvd2Vy X2NvcmVfb3BzLmggYXMgcnRlX3Bvd2VyX2NwdWZyZXFfYXBpLmgNCj4gPiAgIC0gcmUtd29ya2Vk IG9uIGF1dG8gZGV0ZWN0aW9uIGxvZ2ljDQo+ID4NCj4gPiB2MjoNCj4gPiAgIC0gYWRkZWQgTlVM TCBjaGVjayBmb3IgZ2xvYmFsX2NvcmVfb3BzIGluIHJ0ZV9wb3dlcl9nZXRfY29yZV9vcHMNCj4g Pg0KPiA+IFNpZ25lZC1vZmYtYnk6IFNpdmFwcmFzYWQgVHVtbWFsYSA8c2l2YXByYXNhZC50dW1t YWxhQGFtZC5jb20+DQo+ID4gLS0tDQo+ID4gICBkcml2ZXJzL21lc29uLmJ1aWxkICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgIDEgKw0KPiA+ICAgLi4uL3Bvd2VyL2FjcGkvYWNwaV9jcHVm cmVxLmMgICAgICAgICAgICAgICAgIHwgIDIyICstDQo+ID4gICAuLi4vcG93ZXIvYWNwaS9hY3Bp X2NwdWZyZXEuaCAgICAgICAgICAgICAgICAgfCAgIDYgKy0NCj4gPiAgIGRyaXZlcnMvcG93ZXIv YWNwaS9tZXNvbi5idWlsZCAgICAgICAgICAgICAgICB8ICAxMCArDQo+ID4gICAuLi4vcG93ZXIv YW1kX3BzdGF0ZS9hbWRfcHN0YXRlX2NwdWZyZXEuYyAgICAgfCAgMjQgKy0NCj4gPiAgIC4uLi9w b3dlci9hbWRfcHN0YXRlL2FtZF9wc3RhdGVfY3B1ZnJlcS5oICAgICB8ICAxMCArLQ0KPiA+ICAg ZHJpdmVycy9wb3dlci9hbWRfcHN0YXRlL21lc29uLmJ1aWxkICAgICAgICAgIHwgIDEwICsNCj4g PiAgIC4uLi9wb3dlci9jcHBjL2NwcGNfY3B1ZnJlcS5jICAgICAgICAgICAgICAgICB8ICAyMiAr LQ0KPiA+ICAgLi4uL3Bvd2VyL2NwcGMvY3BwY19jcHVmcmVxLmggICAgICAgICAgICAgICAgIHwg ICA4ICstDQo+ID4gICBkcml2ZXJzL3Bvd2VyL2NwcGMvbWVzb24uYnVpbGQgICAgICAgICAgICAg ICAgfCAgMTAgKw0KPiA+ICAgLi4uL3Bvd2VyL2t2bV92bX0vZ3Vlc3RfY2hhbm5lbC5jICAgICAg ICAgICAgIHwgICAwDQo+ID4gICAuLi4vcG93ZXIva3ZtX3ZtfS9ndWVzdF9jaGFubmVsLmggICAg ICAgICAgICAgfCAgIDANCj4gPiAgIC4uLi9wb3dlci9rdm1fdm0va3ZtX3ZtLmMgICAgICAgICAg ICAgICAgICAgICB8ICAyMiArLQ0KPiA+ICAgLi4uL3Bvd2VyL2t2bV92bS9rdm1fdm0uaCAgICAg ICAgICAgICAgICAgICAgIHwgICA2ICstDQo+ID4gICBkcml2ZXJzL3Bvd2VyL2t2bV92bS9tZXNv bi5idWlsZCAgICAgICAgICAgICAgfCAgMTQgKw0KPiA+ICAgZHJpdmVycy9wb3dlci9tZXNvbi5i dWlsZCAgICAgICAgICAgICAgICAgICAgIHwgIDEyICsNCj4gPiAgIGRyaXZlcnMvcG93ZXIvcHN0 YXRlL21lc29uLmJ1aWxkICAgICAgICAgICAgICB8ICAxMCArDQo+ID4gICAuLi4vcG93ZXIvcHN0 YXRlL3BzdGF0ZV9jcHVmcmVxLmMgICAgICAgICAgICAgfCAgMjIgKy0NCj4gPiAgIC4uLi9wb3dl ci9wc3RhdGUvcHN0YXRlX2NwdWZyZXEuaCAgICAgICAgICAgICB8ICAgNiArLQ0KPiA+ICAgbGli L3Bvd2VyL21lc29uLmJ1aWxkICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA3ICstDQo+ID4g ICBsaWIvcG93ZXIvcG93ZXJfY29tbW9uLmMgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0N Cj4gPiAgIGxpYi9wb3dlci9wb3dlcl9jb21tb24uaCAgICAgICAgICAgICAgICAgICAgICB8ICAx OCArLQ0KPiA+ICAgbGliL3Bvd2VyL3J0ZV9wb3dlci5jICAgICAgICAgICAgICAgICAgICAgICAg IHwgMzU1ICsrKysrKysrLS0tLS0tLS0tLQ0KPiA+ICAgbGliL3Bvd2VyL3J0ZV9wb3dlci5oICAg ICAgICAgICAgICAgICAgICAgICAgIHwgMTE2ICsrKy0tLQ0KPiA+ICAgbGliL3Bvd2VyL3J0ZV9w b3dlcl9jcHVmcmVxX2FwaS5oICAgICAgICAgICAgIHwgMjA2ICsrKysrKysrKysNCj4gPiAgIGxp Yi9wb3dlci92ZXJzaW9uLm1hcCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxNSArDQo+ID4g ICAyNiBmaWxlcyBjaGFuZ2VkLCA2NjUgaW5zZXJ0aW9ucygrKSwgMjY5IGRlbGV0aW9ucygtKQ0K PiA+ICAgcmVuYW1lIGxpYi9wb3dlci9wb3dlcl9hY3BpX2NwdWZyZXEuYyA9PiBkcml2ZXJzL3Bv d2VyL2FjcGkvYWNwaV9jcHVmcmVxLmMNCj4gKDk1JSkNCj4gPiAgIHJlbmFtZSBsaWIvcG93ZXIv cG93ZXJfYWNwaV9jcHVmcmVxLmggPT4gZHJpdmVycy9wb3dlci9hY3BpL2FjcGlfY3B1ZnJlcS5o DQo+ICg5OCUpDQo+ID4gICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9wb3dlci9hY3BpL21l c29uLmJ1aWxkDQo+ID4gICByZW5hbWUgbGliL3Bvd2VyL3Bvd2VyX2FtZF9wc3RhdGVfY3B1ZnJl cS5jID0+DQo+IGRyaXZlcnMvcG93ZXIvYW1kX3BzdGF0ZS9hbWRfcHN0YXRlX2NwdWZyZXEuYyAo OTUlKQ0KPiA+ICAgcmVuYW1lIGxpYi9wb3dlci9wb3dlcl9hbWRfcHN0YXRlX2NwdWZyZXEuaCA9 Pg0KPiBkcml2ZXJzL3Bvd2VyL2FtZF9wc3RhdGUvYW1kX3BzdGF0ZV9jcHVmcmVxLmggKDk2JSkN Cj4gPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3Bvd2VyL2FtZF9wc3RhdGUvbWVzb24u YnVpbGQNCj4gPiAgIHJlbmFtZSBsaWIvcG93ZXIvcG93ZXJfY3BwY19jcHVmcmVxLmMgPT4gZHJp dmVycy9wb3dlci9jcHBjL2NwcGNfY3B1ZnJlcS5jDQo+ICg5NSUpDQo+ID4gICByZW5hbWUgbGli L3Bvd2VyL3Bvd2VyX2NwcGNfY3B1ZnJlcS5oID0+IGRyaXZlcnMvcG93ZXIvY3BwYy9jcHBjX2Nw dWZyZXEuaA0KPiAoOTclKQ0KPiA+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvcG93ZXIv Y3BwYy9tZXNvbi5idWlsZA0KPiA+ICAgcmVuYW1lIHtsaWIvcG93ZXIgPT4gZHJpdmVycy9wb3dl ci9rdm1fdm19L2d1ZXN0X2NoYW5uZWwuYyAoMTAwJSkNCj4gPiAgIHJlbmFtZSB7bGliL3Bvd2Vy ID0+IGRyaXZlcnMvcG93ZXIva3ZtX3ZtfS9ndWVzdF9jaGFubmVsLmggKDEwMCUpDQo+ID4gICBy ZW5hbWUgbGliL3Bvd2VyL3Bvd2VyX2t2bV92bS5jID0+IGRyaXZlcnMvcG93ZXIva3ZtX3ZtL2t2 bV92bS5jICg4MiUpDQo+ID4gICByZW5hbWUgbGliL3Bvd2VyL3Bvd2VyX2t2bV92bS5oID0+IGRy aXZlcnMvcG93ZXIva3ZtX3ZtL2t2bV92bS5oICg5OCUpDQo+ID4gICBjcmVhdGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9wb3dlci9rdm1fdm0vbWVzb24uYnVpbGQNCj4gPiAgIGNyZWF0ZSBtb2RlIDEw MDY0NCBkcml2ZXJzL3Bvd2VyL21lc29uLmJ1aWxkDQo+ID4gICBjcmVhdGUgbW9kZSAxMDA2NDQg ZHJpdmVycy9wb3dlci9wc3RhdGUvbWVzb24uYnVpbGQNCj4gPiAgIHJlbmFtZSBsaWIvcG93ZXIv cG93ZXJfcHN0YXRlX2NwdWZyZXEuYyA9Pg0KPiBkcml2ZXJzL3Bvd2VyL3BzdGF0ZS9wc3RhdGVf Y3B1ZnJlcS5jICg5NiUpDQo+ID4gICByZW5hbWUgbGliL3Bvd2VyL3Bvd2VyX3BzdGF0ZV9jcHVm cmVxLmggPT4NCj4gZHJpdmVycy9wb3dlci9wc3RhdGUvcHN0YXRlX2NwdWZyZXEuaCAoOTglKQ0K PiA+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi9wb3dlci9ydGVfcG93ZXJfY3B1ZnJlcV9hcGku aA0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVzb24uYnVpbGQgYi9kcml2ZXJzL21l c29uLmJ1aWxkIGluZGV4DQo+ID4gMjczMzMwNjY5OC4uN2VmNGY1ODFhMCAxMDA2NDQNCj4gPiAt LS0gYS9kcml2ZXJzL21lc29uLmJ1aWxkDQo+ID4gKysrIGIvZHJpdmVycy9tZXNvbi5idWlsZA0K PiA+IEBAIC0yOSw2ICsyOSw3IEBAIHN1YmRpcnMgPSBbDQo+ID4gICAgICAgICAgICdldmVudCcs ICAgICAgICAgICMgZGVwZW5kcyBvbiBjb21tb24sIGJ1cywgbWVtcG9vbCBhbmQgbmV0Lg0KPiA+ ICAgICAgICAgICAnYmFzZWJhbmQnLCAgICAgICAjIGRlcGVuZHMgb24gY29tbW9uIGFuZCBidXMu DQo+ID4gICAgICAgICAgICdncHUnLCAgICAgICAgICAgICMgZGVwZW5kcyBvbiBjb21tb24gYW5k IGJ1cy4NCj4gPiArICAgICAgICAncG93ZXInLCAgICAgICAgICAjIGRlcGVuZHMgb24gY29tbW9u IChpbiBmdXR1cmUpLg0KPiA+ICAgXQ0KPiA+DQo+ID4gICBpZiBtZXNvbi5pc19jcm9zc19idWls ZCgpDQo+ID4gZGlmZiAtLWdpdCBhL2xpYi9wb3dlci9wb3dlcl9hY3BpX2NwdWZyZXEuYw0KPiA+ IGIvZHJpdmVycy9wb3dlci9hY3BpL2FjcGlfY3B1ZnJlcS5jDQo+ID4gc2ltaWxhcml0eSBpbmRl eCA5NSUNCj4gPiByZW5hbWUgZnJvbSBsaWIvcG93ZXIvcG93ZXJfYWNwaV9jcHVmcmVxLmMgcmVu YW1lIHRvDQo+ID4gZHJpdmVycy9wb3dlci9hY3BpL2FjcGlfY3B1ZnJlcS5jIGluZGV4IGFlODA5 ZmJiNjAuLjk3NGZiYjdiYTggMTAwNjQ0DQo+ID4gLS0tIGEvbGliL3Bvd2VyL3Bvd2VyX2FjcGlf Y3B1ZnJlcS5jDQo+ID4gKysrIGIvZHJpdmVycy9wb3dlci9hY3BpL2FjcGlfY3B1ZnJlcS5jDQo+ ID4gQEAgLTEwLDcgKzEwLDcgQEANCj4gPiAgICNpbmNsdWRlIDxydGVfc3RkYXRvbWljLmg+DQo+ ID4gICAjaW5jbHVkZSA8cnRlX3N0cmluZ19mbnMuaD4NCj4gPg0KPiA+IC0jaW5jbHVkZSAicG93 ZXJfYWNwaV9jcHVmcmVxLmgiDQo+ID4gKyNpbmNsdWRlICJhY3BpX2NwdWZyZXEuaCINCj4gPiAg ICNpbmNsdWRlICJwb3dlcl9jb21tb24uaCINCj4gPg0KPiA8Li4uPg0KPiA+IGRpZmYgLS1naXQg YS9saWIvcG93ZXIvcG93ZXJfY29tbW9uLmMgYi9saWIvcG93ZXIvcG93ZXJfY29tbW9uLmMgaW5k ZXgNCj4gPiBiNDdjNjNhNWYxLi5lNDgyZjcxYzY0IDEwMDY0NA0KPiA+IC0tLSBhL2xpYi9wb3dl ci9wb3dlcl9jb21tb24uYw0KPiA+ICsrKyBiL2xpYi9wb3dlci9wb3dlcl9jb21tb24uYw0KPiA+ IEBAIC0xMyw3ICsxMyw3IEBADQo+ID4NCj4gPiAgICNpbmNsdWRlICJwb3dlcl9jb21tb24uaCIN Cj4gPg0KPiA+IC1SVEVfTE9HX1JFR0lTVEVSX0RFRkFVTFQocG93ZXJfbG9ndHlwZSwgSU5GTyk7 DQo+ID4gK1JURV9MT0dfUkVHSVNURVJfREVGQVVMVChydGVfcG93ZXJfbG9ndHlwZSwgSU5GTyk7 DQo+ID4NCj4gPiAgICNkZWZpbmUgUE9XRVJfU1lTRklMRV9TQ0FMSU5HX0RSSVZFUiAgIFwNCj4g PiAgICAgICAgICAgICAgICIvc3lzL2RldmljZXMvc3lzdGVtL2NwdS9jcHUldS9jcHVmcmVxL3Nj YWxpbmdfZHJpdmVyIg0KPiA+IGRpZmYgLS1naXQgYS9saWIvcG93ZXIvcG93ZXJfY29tbW9uLmgg Yi9saWIvcG93ZXIvcG93ZXJfY29tbW9uLmggaW5kZXgNCj4gPiA4MmZiOTRkMGMwLi5jMjk0ZjU2 MWJiIDEwMDY0NA0KPiA+IC0tLSBhL2xpYi9wb3dlci9wb3dlcl9jb21tb24uaA0KPiA+ICsrKyBi L2xpYi9wb3dlci9wb3dlcl9jb21tb24uaA0KPiA+IEBAIC02LDEyICs2LDEzIEBADQo+ID4gICAj ZGVmaW5lIF9QT1dFUl9DT01NT05fSF8NCj4gPg0KPiA+ICAgI2luY2x1ZGUgPHJ0ZV9jb21tb24u aD4NCj4gPiArI2luY2x1ZGUgPHJ0ZV9jb21wYXQuaD4NCj4gPiAgICNpbmNsdWRlIDxydGVfbG9n Lmg+DQo+ID4NCj4gPiAgICNkZWZpbmUgUlRFX1BPV0VSX0lOVkFMSURfRlJFUV9JTkRFWCAofjAp DQo+ID4NCj4gPiAtZXh0ZXJuIGludCBwb3dlcl9sb2d0eXBlOw0KPiA+IC0jZGVmaW5lIFJURV9M T0dUWVBFX1BPV0VSIHBvd2VyX2xvZ3R5cGUNCj4gPiArZXh0ZXJuIGludCBydGVfcG93ZXJfbG9n dHlwZTsNCj4gPiArI2RlZmluZSBSVEVfTE9HVFlQRV9QT1dFUiBydGVfcG93ZXJfbG9ndHlwZQ0K PiA+ICAgI2RlZmluZSBQT1dFUl9MT0cobGV2ZWwsIC4uLikgXA0KPiA+ICAgICAgIFJURV9MT0df TElORShsZXZlbCwgUE9XRVIsICIiIF9fVkFfQVJHU19fKQ0KPiA+DQo+ID4gQEAgLTIzLDE0ICsy NCwyNyBAQCBleHRlcm4gaW50IHBvd2VyX2xvZ3R5cGU7DQo+ID4gICAjZW5kaWYNCj4gPg0KPiA+ ICAgLyogY2hlY2sgaWYgc2NhbGluZyBkcml2ZXIgbWF0Y2hlcyBvbmUgd2Ugd2FudCAqLw0KPiA+ ICtfX3J0ZV9pbnRlcm5hbA0KPiA+ICAgaW50IGNwdWZyZXFfY2hlY2tfc2NhbGluZ19kcml2ZXIo Y29uc3QgY2hhciAqZHJpdmVyKTsNCj4gPiArDQo+ID4gK19fcnRlX2ludGVybmFsDQo+ID4gICBp bnQgcG93ZXJfc2V0X2dvdmVybm9yKHVuc2lnbmVkIGludCBsY29yZV9pZCwgY29uc3QgY2hhciAq bmV3X2dvdmVybm9yLA0KPiA+ICAgICAgICAgICAgICAgY2hhciAqb3JpZ19nb3Zlcm5vciwgc2l6 ZV90IG9yaWdfZ292ZXJub3JfbGVuKTsNCj4gY3B1ZnJlcV9jaGVja19zY2FsaW5nX2RyaXZlciBh bmQgcG93ZXJfc2V0X2dvdmVybm9yIGFyZSBqdXN0IHVzZWQgZm9yIGNwdWZyZXEsDQo+IHRoZXkg c2hvdWxkbid0IGJlIHB1dCBpbiB0aGlzIGNvbW1vbiBoZWFkZXIgZmlsZS4NCj4gV2UndmUgY29t ZSB0byBhbiBhZ2dyZW1lbnQgaW4gcGF0Y2ggVjIgMS80Lg0KPiBJIGd1ZXNzIHlvdSBmb3JnZXQg aXTwn5iBDQo+IHN1Z2dlc3QgdGhhdCBtb3ZlIHRoZXNlIHR3byBBUElzIHRvIHJ0ZV9wb3dlcl9j cHVmcmVxX2FwaS5oLg0KT0shDQo+ID4gKw0KPiA+ICtfX3J0ZV9pbnRlcm5hbA0KPiA+ICAgaW50 IG9wZW5fY29yZV9zeXNmc19maWxlKEZJTEUgKipmLCBjb25zdCBjaGFyICptb2RlLCBjb25zdCBj aGFyICpmb3JtYXQsIC4uLikNCj4gPiAgICAgICAgICAgICAgIF9fcnRlX2Zvcm1hdF9wcmludGYo MywgNCk7DQo+ID4gKw0KPiA+ICtfX3J0ZV9pbnRlcm5hbA0KPiA+ICAgaW50IHJlYWRfY29yZV9z eXNmc191MzIoRklMRSAqZiwgdWludDMyX3QgKnZhbCk7DQo+ID4gKw0KPiA+ICtfX3J0ZV9pbnRl cm5hbA0KPiA+ICAgaW50IHJlYWRfY29yZV9zeXNmc19zKEZJTEUgKmYsIGNoYXIgKmJ1ZiwgdW5z aWduZWQgaW50IGxlbik7DQo+ID4gKw0KPiA+ICtfX3J0ZV9pbnRlcm5hbA0KPiA+ICAgaW50IHdy aXRlX2NvcmVfc3lzZnNfcyhGSUxFICpmLCBjb25zdCBjaGFyICpzdHIpOw0KPiA+ICsNCj4gPiAr X19ydGVfaW50ZXJuYWwNCj4gPiAgIGludCBwb3dlcl9nZXRfbGNvcmVfbWFwcGVkX2NwdV9pZCh1 aW50MzJfdCBsY29yZV9pZCwgdWludDMyX3QNCj4gPiAqY3B1X2lkKTsNCj4gPg0KPiA+ICAgI2Vu ZGlmIC8qIF9QT1dFUl9DT01NT05fSF8gKi8NCj4gPiBkaWZmIC0tZ2l0IGEvbGliL3Bvd2VyL3J0 ZV9wb3dlci5jIGIvbGliL3Bvd2VyL3J0ZV9wb3dlci5jIGluZGV4DQo+ID4gMzZjM2YzZGE5OC4u NDE2ZjAxNDhhMyAxMDA2NDQNCj4gPiAtLS0gYS9saWIvcG93ZXIvcnRlX3Bvd2VyLmMNCj4gPiAr KysgYi9saWIvcG93ZXIvcnRlX3Bvd2VyLmMNCj4gPiBAQCAtNiwxNTUgKzYsODggQEANCj4gPg0K PiA+ICAgI2luY2x1ZGUgPHJ0ZV9lcnJuby5oPg0KPiA+ICAgI2luY2x1ZGUgPHJ0ZV9zcGlubG9j ay5oPg0KPiA+ICsjaW5jbHVkZSA8cnRlX2RlYnVnLmg+DQo+ID4NCj4gPiAgICNpbmNsdWRlICJy dGVfcG93ZXIuaCINCj4gPiAtI2luY2x1ZGUgInBvd2VyX2FjcGlfY3B1ZnJlcS5oIg0KPiA+IC0j aW5jbHVkZSAicG93ZXJfY3BwY19jcHVmcmVxLmgiDQo+ID4gICAjaW5jbHVkZSAicG93ZXJfY29t bW9uLmgiDQo+ID4gLSNpbmNsdWRlICJwb3dlcl9rdm1fdm0uaCINCj4gPiAtI2luY2x1ZGUgInBv d2VyX3BzdGF0ZV9jcHVmcmVxLmgiDQo+ID4gLSNpbmNsdWRlICJwb3dlcl9hbWRfcHN0YXRlX2Nw dWZyZXEuaCINCj4gPg0KPiA+IC1lbnVtIHBvd2VyX21hbmFnZW1lbnRfZW52IGdsb2JhbF9kZWZh dWx0X2VudiA9IFBNX0VOVl9OT1RfU0VUOw0KPiA+ICtzdGF0aWMgZW51bSBwb3dlcl9tYW5hZ2Vt ZW50X2VudiBnbG9iYWxfZGVmYXVsdF9lbnYgPQ0KPiBQTV9FTlZfTk9UX1NFVDsNCj4gPiArc3Rh dGljIHN0cnVjdCBydGVfcG93ZXJfY29yZV9vcHMgKmdsb2JhbF9wb3dlcl9jb3JlX29wczsNCj4g Pg0KPiA+ICAgc3RhdGljIHJ0ZV9zcGlubG9ja190IGdsb2JhbF9lbnZfY2ZnX2xvY2sgPQ0KPiA+ IFJURV9TUElOTE9DS19JTklUSUFMSVpFUjsNCj4gPiAtDQo+ID4gLS8qIGZ1bmN0aW9uIHBvaW50 ZXJzICovDQo+ID4gLXJ0ZV9wb3dlcl9mcmVxc190IHJ0ZV9wb3dlcl9mcmVxcyAgPSBOVUxMOyAt cnRlX3Bvd2VyX2dldF9mcmVxX3QNCj4gPiBydGVfcG93ZXJfZ2V0X2ZyZXEgPSBOVUxMOyAtcnRl X3Bvd2VyX3NldF9mcmVxX3QgcnRlX3Bvd2VyX3NldF9mcmVxID0NCj4gPiBOVUxMOyAtcnRlX3Bv d2VyX2ZyZXFfY2hhbmdlX3QgcnRlX3Bvd2VyX2ZyZXFfdXAgPSBOVUxMOw0KPiA+IC1ydGVfcG93 ZXJfZnJlcV9jaGFuZ2VfdCBydGVfcG93ZXJfZnJlcV9kb3duID0gTlVMTDsNCj4gPiAtcnRlX3Bv d2VyX2ZyZXFfY2hhbmdlX3QgcnRlX3Bvd2VyX2ZyZXFfbWF4ID0gTlVMTDsNCj4gPiAtcnRlX3Bv d2VyX2ZyZXFfY2hhbmdlX3QgcnRlX3Bvd2VyX2ZyZXFfbWluID0gTlVMTDsNCj4gPiAtcnRlX3Bv d2VyX2ZyZXFfY2hhbmdlX3QgcnRlX3Bvd2VyX3R1cmJvX3N0YXR1czsNCj4gPiAtcnRlX3Bvd2Vy X2ZyZXFfY2hhbmdlX3QgcnRlX3Bvd2VyX2ZyZXFfZW5hYmxlX3R1cmJvOw0KPiA+IC1ydGVfcG93 ZXJfZnJlcV9jaGFuZ2VfdCBydGVfcG93ZXJfZnJlcV9kaXNhYmxlX3R1cmJvOw0KPiA+IC1ydGVf cG93ZXJfZ2V0X2NhcGFiaWxpdGllc190IHJ0ZV9wb3dlcl9nZXRfY2FwYWJpbGl0aWVzOw0KPiA+ IC0NCj4gPiAtc3RhdGljIHZvaWQNCj4gPiAtcmVzZXRfcG93ZXJfZnVuY3Rpb25fcHRycyh2b2lk KQ0KPiA+ICtzdGF0aWMgUlRFX1RBSUxRX0hFQUQoLCBydGVfcG93ZXJfY29yZV9vcHMpIGNvcmVf b3BzX2xpc3QgPQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICBUQUlMUV9IRUFEX0lOSVRJQUxJ WkVSKGNvcmVfb3BzX2xpc3QpOw0KPiA+ICsNCj4gPiArY29uc3QgY2hhciAqcG93ZXJfZW52X3N0 cltdID0gew0KPiA+ICsgICAgICJub3Qgc2V0IiwNCj4gPiArICAgICAiYWNwaSIsDQo+ID4gKyAg ICAgImt2bS12bSIsDQo+ID4gKyAgICAgInBzdGF0ZSIsDQo+ID4gKyAgICAgImNwcGMiLA0KPiA+ ICsgICAgICJhbWQtcHN0YXRlIg0KPiA+ICt9Ow0KPiA+ICsNCj4NCj4gPC4uLj4NCj4gPiArdWlu dDMyX3QNCj4gPiArcnRlX3Bvd2VyX2ZyZXFzKHVuc2lnbmVkIGludCBsY29yZV9pZCwgdWludDMy X3QgKmZyZXFzLCB1aW50MzJfdCBuKSB7DQo+ID4gKyAgICAgUlRFX0FTU0VSVChnbG9iYWxfcG93 ZXJfY29yZV9vcHMgIT0gTlVMTCk7DQo+ID4gKyAgICAgcmV0dXJuIGdsb2JhbF9wb3dlcl9jb3Jl X29wcy0+Z2V0X2F2YWlsX2ZyZXFzKGxjb3JlX2lkLCBmcmVxcywNCj4gPiArbik7IH0NCj4gPiAr DQo+ID4gK3VpbnQzMl90DQo+ID4gK3J0ZV9wb3dlcl9nZXRfZnJlcSh1bnNpZ25lZCBpbnQgbGNv cmVfaWQpIHsNCj4gPiArICAgICBSVEVfQVNTRVJUKGdsb2JhbF9wb3dlcl9jb3JlX29wcyAhPSBO VUxMKTsNCj4gPiArICAgICByZXR1cm4gZ2xvYmFsX3Bvd2VyX2NvcmVfb3BzLT5nZXRfZnJlcShs Y29yZV9pZCk7DQo+ID4gK30NCj4gPiArDQo+ID4gK3VpbnQzMl90DQo+ID4gK3J0ZV9wb3dlcl9z ZXRfZnJlcSh1bnNpZ25lZCBpbnQgbGNvcmVfaWQsIHVpbnQzMl90IGluZGV4KSB7DQo+ID4gKyAg ICAgUlRFX0FTU0VSVChnbG9iYWxfcG93ZXJfY29yZV9vcHMgIT0gTlVMTCk7DQo+ID4gKyAgICAg cmV0dXJuIGdsb2JhbF9wb3dlcl9jb3JlX29wcy0+c2V0X2ZyZXEobGNvcmVfaWQsIGluZGV4KTsg fQ0KPiA+ICsNCj4gPiAraW50DQo+ID4gK3J0ZV9wb3dlcl9mcmVxX3VwKHVuc2lnbmVkIGludCBs Y29yZV9pZCkgew0KPiA+ICsgICAgIFJURV9BU1NFUlQoZ2xvYmFsX3Bvd2VyX2NvcmVfb3BzICE9 IE5VTEwpOw0KPiA+ICsgICAgIHJldHVybiBnbG9iYWxfcG93ZXJfY29yZV9vcHMtPmZyZXFfdXAo bGNvcmVfaWQpOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICtpbnQNCj4gPiArcnRlX3Bvd2VyX2ZyZXFf ZG93bih1bnNpZ25lZCBpbnQgbGNvcmVfaWQpIHsNCj4gPiArICAgICBSVEVfQVNTRVJUKGdsb2Jh bF9wb3dlcl9jb3JlX29wcyAhPSBOVUxMKTsNCj4gPiArICAgICByZXR1cm4gZ2xvYmFsX3Bvd2Vy X2NvcmVfb3BzLT5mcmVxX2Rvd24obGNvcmVfaWQpOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICtpbnQN Cj4gPiArcnRlX3Bvd2VyX2ZyZXFfbWF4KHVuc2lnbmVkIGludCBsY29yZV9pZCkgew0KPiA+ICsg ICAgIFJURV9BU1NFUlQoZ2xvYmFsX3Bvd2VyX2NvcmVfb3BzICE9IE5VTEwpOw0KPiA+ICsgICAg IHJldHVybiBnbG9iYWxfcG93ZXJfY29yZV9vcHMtPmZyZXFfbWF4KGxjb3JlX2lkKTsNCj4gPiAr fQ0KPiA+ICsNCj4gPiAraW50DQo+ID4gK3J0ZV9wb3dlcl9mcmVxX21pbih1bnNpZ25lZCBpbnQg bGNvcmVfaWQpIHsNCj4gPiArICAgICBSVEVfQVNTRVJUKGdsb2JhbF9wb3dlcl9jb3JlX29wcyAh PSBOVUxMKTsNCj4gPiArICAgICByZXR1cm4gZ2xvYmFsX3Bvd2VyX2NvcmVfb3BzLT5mcmVxX21p bihsY29yZV9pZCk7DQo+ID4gK30NCj4gPg0KPiA+ICtpbnQNCj4gPiArcnRlX3Bvd2VyX3R1cmJv X3N0YXR1cyh1bnNpZ25lZCBpbnQgbGNvcmVfaWQpIHsNCj4gPiArICAgICBSVEVfQVNTRVJUKGds b2JhbF9wb3dlcl9jb3JlX29wcyAhPSBOVUxMKTsNCj4gPiArICAgICByZXR1cm4gZ2xvYmFsX3Bv d2VyX2NvcmVfb3BzLT50dXJib19zdGF0dXMobGNvcmVfaWQpOw0KPiA+ICt9DQo+ID4gKw0KPiA+ ICtpbnQNCj4gPiArcnRlX3Bvd2VyX2ZyZXFfZW5hYmxlX3R1cmJvKHVuc2lnbmVkIGludCBsY29y ZV9pZCkgew0KPiA+ICsgICAgIFJURV9BU1NFUlQoZ2xvYmFsX3Bvd2VyX2NvcmVfb3BzICE9IE5V TEwpOw0KPiA+ICsgICAgIHJldHVybiBnbG9iYWxfcG93ZXJfY29yZV9vcHMtPmVuYWJsZV90dXJi byhsY29yZV9pZCk7DQo+ID4gK30NCj4gPiArDQo+ID4gK2ludA0KPiA+ICtydGVfcG93ZXJfZnJl cV9kaXNhYmxlX3R1cmJvKHVuc2lnbmVkIGludCBsY29yZV9pZCkgew0KPiA+ICsgICAgIFJURV9B U1NFUlQoZ2xvYmFsX3Bvd2VyX2NvcmVfb3BzICE9IE5VTEwpOw0KPiA+ICsgICAgIHJldHVybiBn bG9iYWxfcG93ZXJfY29yZV9vcHMtPmRpc2FibGVfdHVyYm8obGNvcmVfaWQpOw0KPiA+ICt9DQo+ ID4gKw0KPiA+ICtpbnQNCj4gPiArcnRlX3Bvd2VyX2dldF9jYXBhYmlsaXRpZXModW5zaWduZWQg aW50IGxjb3JlX2lkLA0KPiA+ICsgICAgICAgICAgICAgc3RydWN0IHJ0ZV9wb3dlcl9jb3JlX2Nh cGFiaWxpdGllcyAqY2Fwcykgew0KPiA+ICsgICAgIFJURV9BU1NFUlQoZ2xvYmFsX3Bvd2VyX2Nv cmVfb3BzICE9IE5VTEwpOw0KPiA+ICsgICAgIHJldHVybiBnbG9iYWxfcG93ZXJfY29yZV9vcHMt PmdldF9jYXBzKGxjb3JlX2lkLCBjYXBzKTsNCj4gPiAgIH0NCj4gPiBkaWZmIC0tZ2l0IGEvbGli L3Bvd2VyL3J0ZV9wb3dlci5oIGIvbGliL3Bvd2VyL3J0ZV9wb3dlci5oIGluZGV4DQo+ID4gNGZh NGFmZTM5OS4uZTlhNzJiOTJhZCAxMDA2NDQNCj4gPiAtLS0gYS9saWIvcG93ZXIvcnRlX3Bvd2Vy LmgNCj4gPiArKysgYi9saWIvcG93ZXIvcnRlX3Bvd2VyLmgNCj4gPiBAQCAtMSw1ICsxLDYgQEAN Cj4gPiAgIC8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UNCj4gPiAgICAq IENvcHlyaWdodChjKSAyMDEwLTIwMTQgSW50ZWwgQ29ycG9yYXRpb24NCj4gPiArICogQ29weXJp Z2h0KGMpIDIwMjQgQWR2YW5jZWQgTWljcm8gRGV2aWNlcywgSW5jLg0KPiA+ICAgICovDQo+ID4N Cj4gPiAgICNpZm5kZWYgX1JURV9QT1dFUl9IDQo+ID4gQEAgLTE0LDE0ICsxNSwyMSBAQA0KPiA+ ICAgI2luY2x1ZGUgPHJ0ZV9sb2cuaD4NCj4gPiAgICNpbmNsdWRlIDxydGVfcG93ZXJfZ3Vlc3Rf Y2hhbm5lbC5oPg0KPiA+DQo+ID4gKyNpbmNsdWRlICJydGVfcG93ZXJfY3B1ZnJlcV9hcGkuaCIN Cj4gIEZyb20gdGhlIG5hbWUgb2YgcnRlX3Bvd2VyLmMgYW5kIHJ0ZV9wb3dlci5oLCB0aGV5IGFy ZSBzdXBwb3NlZCB0byB3b3JrIGZvciBhbGwNCj4gcG93ZXIgbGlicmFyaWVzIEkgYWxzbyBwcm9w b3NlZCBpbiBwcmV2aW91cyB2ZXJzaW9uLg0KPiBCdXQgcnRlX3Bvd2VyLiogY3VycmVudGx5IGp1 c3Qgd29yayBmb3IgY3B1ZnJlcSBsaWIuIElmIHdlIG5lZWQgdG8gcHV0IGFsbCBwb3dlcg0KPiBj b21wb25lbnRzIHRvZ2V0ZXIgYW5kIGNyZWF0ZSBpdC4NCj4gTm93IHRoYXQgdGhlIHJ0ZV9wb3dl cl9jcHVmcmVxX2FwaS5oIGhhcyBiZWVuIGNyZWF0ZWQgZm9yIGNwdWZyZXEgbGlicmFyeS4NCj4g SG93IGFib3V0IGRpcmVjdGx5IHJlbmFtZSBydGVfcG93ZXIuYyB0byBydGVfcG9lcl9jcHVmcmVx X2FwaS5jIGFuZCBydGVfcG93ZXIuaA0KPiB0byBydGVfcG93ZXJfY3B1ZnJlcV9hcGkuaD8NCj4g VGhlcmUgd2lsbCBiZSBBQkkgY2hhbmdlcywgYnV0IGl0IGlzIGFsbG93ZWQgaW4gdGhpcyAyNC4x MS4gSWYgd2UgcGxhbiB0byBkbyBpdCBsYXRlciwgd2UnbGwNCj4gaGF2ZSB0byB3YWl0IGFub3Ro ZXIgeWVhci4NClllcywgSSBoYWQgc3BsaXQgdGhlIHJ0ZV9wb3dlci5oIGFzIHBhcnQgb2YgcmVm YWN0b3IgdG8gYXZvaWQgZXhwb3NpbmcgaW50ZXJuYWwgZnVuY3Rpb25zLg0KUmVuYW1pbmcgcnRl X3Bvd2VyLiogIHRvIHJ0ZV9wb3dlcl9jcHVmcmVxLiogY2FuIGJlIGNvbnNpZGVyZWQgYnV0IG5v dCBtZXJnZSB3aXRoIHJ0ZV9wb3dlcl9jcHVmcmVxX2FwaS5oDQo+ID4gKw0KPiA+ICAgI2lmZGVm IF9fY3BsdXNwbHVzDQo+ID4gICBleHRlcm4gIkMiIHsNCj4gPiAgICNlbmRpZg0KPiA+DQo+ID4g ICAvKiBQb3dlciBNYW5hZ2VtZW50IEVudmlyb25tZW50IFN0YXRlICovIC1lbnVtIHBvd2VyX21h bmFnZW1lbnRfZW52DQo+ID4ge1BNX0VOVl9OT1RfU0VULCBQTV9FTlZfQUNQSV9DUFVGUkVRLCBQ TV9FTlZfS1ZNX1ZNLA0KPiA+IC0gICAgICAgICAgICAgUE1fRU5WX1BTVEFURV9DUFVGUkVRLCBQ TV9FTlZfQ1BQQ19DUFVGUkVRLA0KPiA+IC0gICAgICAgICAgICAgUE1fRU5WX0FNRF9QU1RBVEVf Q1BVRlJFUX07DQo+ID4gK2VudW0gcG93ZXJfbWFuYWdlbWVudF9lbnYgew0KPiA+ICsgICAgIFBN X0VOVl9OT1RfU0VUID0gMCwNCj4gPiArICAgICBQTV9FTlZfQUNQSV9DUFVGUkVRLA0KPiA+ICsg ICAgIFBNX0VOVl9LVk1fVk0sDQo+ID4gKyAgICAgUE1fRU5WX1BTVEFURV9DUFVGUkVRLA0KPiA+ ICsgICAgIFBNX0VOVl9DUFBDX0NQVUZSRVEsDQo+ID4gKyAgICAgUE1fRU5WX0FNRF9QU1RBVEVf Q1BVRlJFUQ0KPiA+ICt9Ow0KPiA+DQo+IDwuLi4+DQo=