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 0136441BB9; Fri, 3 Feb 2023 09:15:10 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DE4634021E; Fri, 3 Feb 2023 09:15:09 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 761B44014F for ; Fri, 3 Feb 2023 09:15:07 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3137ncSp019132; Fri, 3 Feb 2023 00:15:06 -0800 Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam02lp2041.outbound.protection.outlook.com [104.47.51.41]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3nfjrjdk12-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 03 Feb 2023 00:15:06 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T/DY5vFeidj5oghYwoNwMbO32YLVLO9/dHE2YKoQoNxA44eBlJ1w6NJ1ditdOVChfoSLePxmUhyykHziBu+tG33RH0m7sCnCn9yV96TX0zE7zbdTGAEpHIcoLwy+rriphF8L73LfEh5OW1E/oFbdWBx/ItX6KNPDEUUFgh+gA6cLLnhlk/LuKCyEQ8nALfcyJnQ8Uv7/2mSbR4OU6M2D+hPKfW8RzTufND+jx+8ZKHCkNZiKdRf7CH3eL3dbtl41EZrq74yShb0A7NEUYBiVOhy9ORSyyai77peq73wMAcVjK1jeLQDiCQV29Ef2RqjyN4KuTYB7kCsRrWLplFgsrA== 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=i+ohEQAtMtMgF2B8WzE0ocSZ41ETEk9N9f+xqWWnbwI=; b=h14FoMUcSqtL+9Ju2kH9KXoElLAt/9Zotm4QMFqDVyoLNavkFAJHY4nzaTDE6Ra5lonq3CWXB748vB5HHMM3+kJwh0O/1Vnz0UAJ04oF/m3qLqmN3hvpoLhVsOuJdcTP3HPsXa/iY9iJgtjS07QAdocdqMSbinls5sHk1vNIXfTYg5fx1XigJOiMffYJBm06fEU3ZtL04T1a5lE9+r2BRxpWEVRWgPKsI0EsshVrysFeesuDi19SjQiuuCqpY+ADr4Fz2kP3T7CD94bqcbVkXehDYGSHXNWm5XZskWxQfngmmCjSgRbW6AKcIXDR1Z8l1oK9rljIPmLbAwbbH+68UQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=i+ohEQAtMtMgF2B8WzE0ocSZ41ETEk9N9f+xqWWnbwI=; b=be8Trn+QIXKn3EuCMiISj85DMeT/zj/jDRFzojgvcJPFsM5BWAD8OIqGOhUTzQdjIDD8pNgT2z1aXFz7xJIbeAZY+27HbYzPvqzGtM0oEJmR7qxMoFL7FFfX38sgZlpfT3efTs9obRDlpDKe+mvbLCHWaS3+N688ulgMLqhN64E= Received: from PH0PR18MB5167.namprd18.prod.outlook.com (2603:10b6:510:168::7) by SA0PR18MB3662.namprd18.prod.outlook.com (2603:10b6:806:9e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.31; Fri, 3 Feb 2023 08:15:04 +0000 Received: from PH0PR18MB5167.namprd18.prod.outlook.com ([fe80::9862:ff18:d4e8:9f4c]) by PH0PR18MB5167.namprd18.prod.outlook.com ([fe80::9862:ff18:d4e8:9f4c%4]) with mapi id 15.20.6064.023; Fri, 3 Feb 2023 08:15:04 +0000 From: Amit Prakash Shukla To: Jerin Jacob CC: Jerin Jacob Kollanukkaran , Kiran Kumar Kokkilagadda , Nithin Kumar Dabilpuram , Anatoly Burakov , "dev@dpdk.org" Subject: RE: [EXT] Re: [PATCH v4 2/3] graph: pcap capture for graph nodes Thread-Topic: [EXT] Re: [PATCH v4 2/3] graph: pcap capture for graph nodes Thread-Index: AQHZL+YpoUsABLnEnE6GS5e86J4T0K64NhqAgAS4ujA= Date: Fri, 3 Feb 2023 08:15:03 +0000 Message-ID: References: <20230112100106.2180665-1-amitprakashs@marvell.com> <20230124112139.1426279-1-amitprakashs@marvell.com> <20230124112139.1426279-2-amitprakashs@marvell.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-dg-ref: =?utf-8?B?UEcxbGRHRStQR0YwSUc1dFBTSmliMlI1TG5SNGRDSWdjRDBpWXpwY2RYTmxj?= =?utf-8?B?bk5jWVcxcGRIQnlZV3RoYzJoelhHRndjR1JoZEdGY2NtOWhiV2x1WjF3d09X?= =?utf-8?B?UTRORGxpTmkwek1tUXpMVFJoTkRBdE9EVmxaUzAyWWpnMFltRXlPV1V6TldK?= =?utf-8?B?Y2JYTm5jMXh0YzJjdFpHRXhNMk5rT0RVdFlUTTVZUzB4TVdWa0xXSTJZMll0?= =?utf-8?B?TVdOak1UQmpORGMwWkdObFhHRnRaUzEwWlhOMFhHUmhNVE5qWkRnM0xXRXpP?= =?utf-8?B?V0V0TVRGbFpDMWlObU5tTFRGall6RXdZelEzTkdSalpXSnZaSGt1ZEhoMElp?= =?utf-8?B?QnplajBpTWpNeE5qa2lJSFE5SWpFek16RTVPRGcxTnpBd056VTJORGMwTUNJ?= =?utf-8?B?Z2FEMGliMEp5ZFhSelpIVjJUbFYzUWpsNGNHTjZSbTlMVldac1pFNUJQU0ln?= =?utf-8?B?YVdROUlpSWdZbXc5SWpBaUlHSnZQU0l4SWlCamFUMGlZMEZCUVVGRlVraFZN?= =?utf-8?B?VkpUVWxWR1RrTm5WVUZCVG1kSVFVRkVSV2d5ZVdOd2VtWmFRV1JwVm5sbmNH?= =?utf-8?B?bE9UVFJETWtwWVMwTnRTVEI2WjBsTlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVoQlFVRkJRbTlDZDBGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVVZCUVZGQlFrRkJRVUV6VkhwR1FVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGS05FRkJRVUpvUVVkUlFWcEJRbmxCUjFWQlkzZENla0ZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZGUVVGQlFVRkJRVUZCUVVGQlFVRkJSVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZuUVVGQlFVRkJibWRCUVVGSFRVRmtVVUo2UVVoUlFXSjNRblJC?= =?utf-8?B?UmpoQlkwRkNiRUZJU1VGamQwSjJRVWMwUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVZGQlFVRkJRVUZCUVVGRFFVRkJRVUZCUTJWQlFVRkJXWGRDTVVGSVRV?= =?utf-8?B?RmtRVUoyUVVjd1FWaDNRbmRCUjJkQlluZENkVUZIVlVGaVowSXhRVWN3UVZs?= =?utf-8?B?blFteEJTRWxCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRMEZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVSkJRVUZCUVVGQlFVRkJTVUZCUVVGQlFVbzBRVUZC?= =?utf-8?B?UW1wQlNGVkJZM2RDTUVGSE9FRmlVVUptUVVoTlFXTjNRblZCUmpoQldrRkNh?= =?utf-8?B?RUZJVFVGaFFVSm1RVWhaUVUxQlFYbEJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?Q?FBQUFB?= x-dg-refone: =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZGUVVGQlFVRkJRVUZCUVdkQlFVRkJRVUZ1?= =?utf-8?B?WjBGQlFVZE5RV1JSUW5wQlNGRkJZbmRDZEVGR09FRmpkMEo2UVVjMFFWaDNR?= =?utf-8?B?bkpCUjFWQlpWRkNNMEZIT0VGalowSnJRVWhOUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlVVRkJRVUZCUVVGQlFV?= =?utf-8?B?TkJRVUZCUVVGRFpVRkJRVUZaZDBJeFFVaE5RV1JCUW5aQlJ6QkJXSGRDZWtG?= =?utf-8?B?SVRVRmlaMEptUVVjMFFXSjNRbXRCUjFWQllrRkNjRUZITUVGaFVVSXdRVWRW?= =?utf-8?B?UVdOblFtWkJTRmxCVFVGQmVVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRa0ZC?= =?utf-8?B?UVVGQlFVRkJRVUZKUVVGQlFVRkJTalJCUVVGQ2FrRklWVUZqZDBJd1FVYzRR?= =?utf-8?B?V0pSUW1aQlNFMUJZM2RDZFVGR09FRmpkMEozUVVkRlFWbDNRbXhCUmpoQlpH?= =?utf-8?B?ZEJkMEZFU1VGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVWQlFVRkJRVUZCUVVGQlowRkJRVUZCUVc1blFVRkJSMUZCWWtG?= =?utf-8?B?Q2QwRkdPRUZqZDBKeVFVaHJRV05CUW14QlJqaEJXWGRDYjBGSFJVRmtRVUpt?= =?utf-8?B?UVVjd1FWcFJRbnBCU0UxQldWRkNia0ZIVlVGWWQwSXlRVVJCUVUxblFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRlJRVUZCUVVGQlFVRkJRMEZCUVVGQlFVTmxR?= =?utf-8?B?VUZCUVZwQlFuTkJTRUZCV0hkQ2VrRkhkMEZaVVVKcVFVZHpRVmgzUW1wQlIy?= =?utf-8?B?ZEJXVkZDTUVGR09FRmlVVUpzUVVoTlFXTjNRbWhCUjJOQldsRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?Q?FBQUFB?= x-dg-reftwo: QUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQUlBQUFBQUFKNEFBQUJrQUd3QWNBQmZBSFFBWlFCaEFHMEFjd0JmQUc4QWJnQmxBR1FBY2dCcEFIWUFaUUJmQUdZQWFRQnNBR1VBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFnQUFBQUFBbmdBQUFHVUFiUUJoQUdrQWJBQmZBR0VBWkFCa0FISUFaUUJ6QUhNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDUUFBQUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFDQUFBQUFBQ2VBQUFBYlFCaEFISUFkZ0JsQUd3QWJBQmZBSFFBWlFCeUFHMEFhUUJ1QUhVQWN3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFBSUFBQUFBQUE9PSIvPjwvbWV0YT4= x-dg-rorf: true x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR18MB5167:EE_|SA0PR18MB3662:EE_ x-ms-office365-filtering-correlation-id: 116c55d4-43d8-4ee0-cc69-08db05bec0c7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: VZxsGVljpYjQqwSDe8ICnEPIsg3x4ch0z6DcV7PmF3F0kMG9vkqs67ECIyFBiLjQvIv2/E4SmVKDWis5wUdjB0r+e+NIm/NoK4DJQZT3bJi6eyrop15t6VSc7NdWD4SN6bJiVH2WN7qk9P9pSFz4dBnx9tBQWf2ABsslz6A66UqjTnXXze9tOFiQJzElosTdPJy9qnTvS9LDpcENfdPc+5qRLf4HA71ioQTPyJ2oyhd/sefVRiOHbRDhH5t8o48agEp7xQFWhC310uRzelbiN5OYKKrqYnqEECXl/9en2DmRg3Azb7HCGCNfTwN9dD810WvuuTXuFh1pKibwOF1hjkKaeJO8u0oY1biqAsyQ/mJmYgOHj18FaUSBVcEN1ZGciHIiIQu63c7VaNVZJsk7VQ/t4GIXS3NwAxLd3P9DjElS0MrGvHgGhA4JjELF7b7uEj8HNQjCBQKVuIHxCIE6KslfJwFv5/1Nftq7czGNhKiIJNz4iYNuehEz9IpVu/g2RJknxL1kJYbpFtnu8qW64SP2e+vRJbASt96ubdnySkyXZabtkfSk8GTIDJTv3bqvBC37mCj3PCdkZbYVT/frJyHo5JYhub2z3yic6KuaBznAJ5/7V4kBa5NkrEf2DFI2KPl7W+LtnZvSr8kMZUKITWEPgI8P9ShTZIySpMNXt9Ntj8w7vklk58vDGqsjB/XBk13sXJVeidHDuqFTzBZ17g== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR18MB5167.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(4636009)(376002)(366004)(39860400002)(346002)(136003)(396003)(451199018)(71200400001)(7696005)(478600001)(8936002)(55016003)(52536014)(26005)(186003)(9686003)(6506007)(53546011)(54906003)(316002)(66476007)(66446008)(64756008)(8676002)(6916009)(76116006)(66946007)(4326008)(66556008)(33656002)(83380400001)(41300700001)(2906002)(122000001)(38070700005)(86362001)(30864003)(5660300002)(38100700002)(579004); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NWFMcWJEeVNyZk5vb0tzZWdFK1doMTR4VlRmK29BV3YxQ1VsS0tMTUdyc1dK?= =?utf-8?B?MCswUm8rck5TU2F3Q2srMWNjT09QdlZDYVhGVWRhNFJrOGJKNVhQa0NqY0c3?= =?utf-8?B?cjM5ZXpHSmEyNjkwMEhxMHdCNXd4YWJyY0dUVVNvRU1qNXUvck5SUWl6elJu?= =?utf-8?B?Q0FGYkZ4d0NMck96R2RmamtGZmtqOUQyR2wrdUJKWlh5UUEzTFZHRUN0QkQz?= =?utf-8?B?OVFzRDcvdjArR2VUanladUt5QUtzRnB2VzFMNHNoVmE1cWJSU1ZGSnRjOC9P?= =?utf-8?B?TndTMmRRZXBkUjhMMmVSaXNuNkxQN1crRGwyQWhWMkVyWlVIc2dkTlBWTkFl?= =?utf-8?B?WDhJV0t2MW5pM2ZvNFgrUGxKUGJqUE5Bc01NQnR5ckxhTGsvUzJydUFjWXhN?= =?utf-8?B?WUtNRWhUTjV5TGJvdzFUUVdycVU1aTZsT1N4STdvdjY4R0ZsOFBtTTI0Nmkx?= =?utf-8?B?Y0w1eW9DMjQzTVJMNjhRMHF2SHA3WmR3NGNxaHRCRUVreE1ZWVVKZGRweUF1?= =?utf-8?B?akIrUkozWFZpa0o1OUxUQUxzcXlPeXd0RkY1M3lUVEczdm1zOE1iUGYyTGxH?= =?utf-8?B?SldBNU94SFo2NTRMeUNDcTMrbjBkOWZBSjlPS2szM3pSVDA4dGpaWm5PMEtR?= =?utf-8?B?dUhmQXRXS3YwSDVLenVpRS9HZmdFNVpyNHdWRnRYblB0UG85M2g0bEU3QXA1?= =?utf-8?B?Q3RhNjVqNnFVVDc4YUdOTEJiSklOVklUN253TG1JajdEeGJrVU90QjQ3SlZz?= =?utf-8?B?bFcyOFNnTHlBUmlYdzdzSFAvcWNuTGtqbGwrSENOMFVrZGhMRVBUNDBaNGJT?= =?utf-8?B?RzB4bTQ5dFVhWE9RTW5Ed2lQV3pxaitBdlh2R1RRWkc3TmFNQ3ZVY25PbERY?= =?utf-8?B?RW1LMGZVN1lrWW5iTzFBTzY5UCtzSzdSd3Zpdmd4ajN5V3lxZXFITVVOODZN?= =?utf-8?B?dTdRYkNQV3hvSXQzYXlCRHlIdnNYZm91cGhhT3VXL3FIMDNSVXpMZzlxQVo3?= =?utf-8?B?MU5GN3o1ZHFGMWNqdk5BTllxUWFEVG9oeVBkeXNHT3lsUHk2aWdodEl5cVll?= =?utf-8?B?cktmTXhUVjhOUy84dUNlYU1ocmR1V3BkZGg0Ni93QUZveG5UdEI1QUsxRW9m?= =?utf-8?B?TmNRd0FFTFVIMzZMZ01zWWsvZlRJOFU1Nmd5YWMyMmNXREN1UGtlTlBWeXhL?= =?utf-8?B?TlVsZVppb01JRktvNjZNN2VHOW4rVG1tWU5qNkNFbzA2di9abkdFbjBGYXI1?= =?utf-8?B?LzJVSlBpb0F0YkhmQnhWemNMMWdDcHQ0aFBHYWUxeStONmM2Nm9PTHhpcGpS?= =?utf-8?B?bU1hQ0ZVNFpjQ3NyZitROHpGL0w1d0cwK2lMQ0M3SDRscWZORVVzYmRrdklX?= =?utf-8?B?YnVteExsOEVveVJKOHE3OEJJazhLQ0E3QURLbGNMT1JVWkhWWTAxRXV5UmpC?= =?utf-8?B?N0ErcTBsYjU3VTNNNFRYb0xML0dTdFI2Z3A3WUllYjhsVHZCT2FZajNacFVT?= =?utf-8?B?Mkd2cjVacEVHdmFCQ3J2Ym9Fa2VOR1d2RUd1eW5mOTI5Vk12SmJDKzhHZ2Jv?= =?utf-8?B?VnF4VVZBbGpTRDkvYnFIemUyb2RoK1VoTGxJMmFHMU03eE50Zks3aEhveVVM?= =?utf-8?B?SkRDdnpCQTdMTlUwaDdoOTkwYXBEUG9xa1pKY3pxMzRsMmkxOWs0QUxPZk5J?= =?utf-8?B?SGVsdlp0WGYzTVJSUisxd1Z2VGcwT1NMQjFVMm5jeE5ERGxScUUrYlVPTXU1?= =?utf-8?B?Y2NNTmFUTFpyR0VxcVNoUnAyeGkxYnBYU3c5TXRDblg5QVhkendza095WTBp?= =?utf-8?B?MFNpcnJFRkN0c09PcDM3OGorTTVEQ0tQRzIwQldkNzl5ZW83SVlWYzEwUmE4?= =?utf-8?B?NVZZMGR6amdWNG81TWVCMEd3VTNucWlCcGVmVHdGdXIyaFpRUVhOaFNsdVI5?= =?utf-8?B?VmY2a0Y5a1J1cmdNRFRSOUdpSkZnRVhWbGZVa20rcmV4QkpxRVBZWWp5M0E3?= =?utf-8?B?dkF5aVZ4QUtaNUpTSWQxSDRtanZ6cEZ0b0xlYUczc3hYWWlGNkhNd3hjazA1?= =?utf-8?B?dzdhYzdkVk8xelJZd2hzc2RDTE5HV0ZhOVY5OTVtaWY5QXNkaDJsSE9KQ2d4?= =?utf-8?Q?hXP69otQp7szBKvUleg7CFupc?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR18MB5167.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 116c55d4-43d8-4ee0-cc69-08db05bec0c7 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Feb 2023 08:15:03.8833 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: e1WGdQ7DxBlOLgHtCHGlX7KPbfhlQ8aJQB8pcWt+Irb27bp14IjIl9EWGvJh9Z5QBjznjEKxwid2mLIgWQz07Ll7q3fVDwehbbfw2R5QIyU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR18MB3662 X-Proofpoint-ORIG-GUID: ngKHqlRl1TRi8UQolbLMDjt32-hhGA_4 X-Proofpoint-GUID: ngKHqlRl1TRi8UQolbLMDjt32-hhGA_4 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.122.1 definitions=2023-02-03_04,2023-02-02_01,2022-06-22_01 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 VGhhbmtzIEplcmluIGZvciB0aGUgZmVlZGJhY2suIEkgd2lsbCBtYWtlIHRoZSBjaGFuZ2VzIGlu IG5leHQgdmVyc2lvbiBvZiB0aGUgcGF0Y2guDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gRnJvbTogSmVyaW4gSmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4gU2VudDog VHVlc2RheSwgSmFudWFyeSAzMSwgMjAyMyAxOjM3IFBNDQo+IFRvOiBBbWl0IFByYWthc2ggU2h1 a2xhIDxhbWl0cHJha2FzaHNAbWFydmVsbC5jb20+DQo+IENjOiBKZXJpbiBKYWNvYiBLb2xsYW51 a2thcmFuIDxqZXJpbmpAbWFydmVsbC5jb20+OyBLaXJhbiBLdW1hcg0KPiBLb2traWxhZ2FkZGEg PGtpcmFua3VtYXJrQG1hcnZlbGwuY29tPjsgTml0aGluIEt1bWFyIERhYmlscHVyYW0NCj4gPG5k YWJpbHB1cmFtQG1hcnZlbGwuY29tPjsgQW5hdG9seSBCdXJha292DQo+IDxhbmF0b2x5LmJ1cmFr b3ZAaW50ZWwuY29tPjsgZGV2QGRwZGsub3JnDQo+IFN1YmplY3Q6IFtFWFRdIFJlOiBbUEFUQ0gg djQgMi8zXSBncmFwaDogcGNhcCBjYXB0dXJlIGZvciBncmFwaCBub2Rlcw0KPiANCj4gRXh0ZXJu YWwgRW1haWwNCj4gDQo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gT24gVHVlLCBKYW4gMjQsIDIwMjMgYXQg NDo1MiBQTSBBbWl0IFByYWthc2ggU2h1a2xhDQo+IDxhbWl0cHJha2FzaHNAbWFydmVsbC5jb20+ IHdyb3RlOg0KPiA+DQo+ID4gSW1wbGVtZW50YXRpb24gYWRkcyBzdXBwb3J0IHRvIGNhcHR1cmUg cGFja2V0cyBhdCBlYWNoIG5vZGUgd2l0aA0KPiA+IHBhY2tldCBtZXRhZGF0YSBhbmQgbm9kZSBu YW1lLg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogQW1pdCBQcmFrYXNoIFNodWtsYSA8YW1pdHBy YWthc2hzQG1hcnZlbGwuY29tPg0KPiA+IC0tLQ0KPiA+IHYyOg0KPiA+ICAtIEZpeGVkIGNvZGUg c3R5bGUgaXNzdWUNCj4gPiAgLSBGaXhlZCBDSSBjb21waWxhdGlvbiBpc3N1ZSBvbiBnaXRodWIt cm9ib3QNCj4gPg0KPiA+IHYzOg0KPiA+ICAtIENvZGUgcmV2aWV3IHN1Z2dlc3Rpb24gZnJvbSBT dGVwaGVuDQo+ID4gIC0gRml4ZWQgcG90ZW50aWFsIG1lbW9yeSBsZWFrDQo+ID4NCj4gPiB2NDoN Cj4gPiAgLSBDb2RlIHJldmlldyBzdWdnZXN0aW9uIGZyb20gSmVyaW4NCj4gPg0KPiA+ICBhcHAv dGVzdC90ZXN0X2dyYXBoX3BlcmYuYyAgICAgICAgICAgICB8ICAgMiArLQ0KPiA+ICBkb2MvZ3Vp ZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIzXzAzLnJzdCB8ICAgNyArDQo+ID4gIGxpYi9ncmFwaC9n cmFwaC5jICAgICAgICAgICAgICAgICAgICAgIHwgIDE3ICstDQo+ID4gIGxpYi9ncmFwaC9ncmFw aF9wY2FwLmMgICAgICAgICAgICAgICAgIHwgMjE3ICsrKysrKysrKysrKysrKysrKysrKysrKysN Cj4gPiAgbGliL2dyYXBoL2dyYXBoX3BjYXBfcHJpdmF0ZS5oICAgICAgICAgfCAxMjQgKysrKysr KysrKysrKysNCj4gPiAgbGliL2dyYXBoL2dyYXBoX3BvcHVsYXRlLmMgICAgICAgICAgICAgfCAg MTIgKy0NCj4gPiAgbGliL2dyYXBoL2dyYXBoX3ByaXZhdGUuaCAgICAgICAgICAgICAgfCAgIDUg Kw0KPiA+ICBsaWIvZ3JhcGgvbWVzb24uYnVpbGQgICAgICAgICAgICAgICAgICB8ICAgMyArLQ0K PiA+ICBsaWIvZ3JhcGgvcnRlX2dyYXBoLmggICAgICAgICAgICAgICAgICB8ICAgNSArDQo+ID4g IGxpYi9ncmFwaC9ydGVfZ3JhcGhfd29ya2VyLmggICAgICAgICAgIHwgICA5ICsNCj4gPiAgMTAg ZmlsZXMgY2hhbmdlZCwgMzk3IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pICBjcmVhdGUg bW9kZQ0KPiA+IDEwMDY0NCBsaWIvZ3JhcGgvZ3JhcGhfcGNhcC5jICBjcmVhdGUgbW9kZSAxMDA2 NDQNCj4gPiBsaWIvZ3JhcGgvZ3JhcGhfcGNhcF9wcml2YXRlLmgNCj4gPg0KPiA+IGRpZmYgLS1n aXQgYS9hcHAvdGVzdC90ZXN0X2dyYXBoX3BlcmYuYyBiL2FwcC90ZXN0L3Rlc3RfZ3JhcGhfcGVy Zi5jDQo+ID4gaW5kZXggMWQwNjU0MzhhNi4uYzViNDYzZjcwMCAxMDA2NDQNCj4gPiAtLS0gYS9h cHAvdGVzdC90ZXN0X2dyYXBoX3BlcmYuYw0KPiA+ICsrKyBiL2FwcC90ZXN0L3Rlc3RfZ3JhcGhf cGVyZi5jDQo+ID4gQEAgLTMyNCw3ICszMjQsNyBAQCBncmFwaF9pbml0KGNvbnN0IGNoYXIgKmdu YW1lLCB1aW50OF90IG5iX3NyY3MsDQo+IHVpbnQ4X3QgbmJfc2lua3MsDQo+ID4gICAgICAgICBj aGFyIG5uYW1lW1JURV9OT0RFX05BTUVTSVpFIC8gMl07DQo+ID4gICAgICAgICBzdHJ1Y3QgdGVz dF9ub2RlX2RhdGEgKm5vZGVfZGF0YTsNCj4gPiAgICAgICAgIGNoYXIgKmVuYW1lW25vZGVzX3Bl cl9zdGFnZV07DQo+ID4gLSAgICAgICBzdHJ1Y3QgcnRlX2dyYXBoX3BhcmFtIGdjb25mOw0KPiA+ ICsgICAgICAgc3RydWN0IHJ0ZV9ncmFwaF9wYXJhbSBnY29uZiA9IHswfTsNCj4gDQo+IElmIGl0 IGlzIEZpeCBtb3ZlIHRvIHNlcGVyYXRlIHBhdGNoIG91dCB0aGlzIHNlcmllcy4NCj4gDQo+IA0K PiA+ICAgICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9tZW16b25lICptejsNCj4gPiAgICAgICAgIHVp bnQ4X3QgdG90YWxfcGVyY2VudCA9IDA7DQo+ID4gICAgICAgICBydGVfbm9kZV90ICpzcmNfbm9k ZXM7DQo+ID4gZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjNfMDMu cnN0DQo+ID4gYi9kb2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIzXzAzLnJzdA0KPiA+IGlu ZGV4IDhjMzYwYjg5ZTQuLjliYTM5MmZiNTggMTAwNjQ0DQo+ID4gLS0tIGEvZG9jL2d1aWRlcy9y ZWxfbm90ZXMvcmVsZWFzZV8yM18wMy5yc3QNCj4gPiArKysgYi9kb2MvZ3VpZGVzL3JlbF9ub3Rl cy9yZWxlYXNlXzIzXzAzLnJzdA0KPiA+IEBAIC02OSw2ICs2OSwxMCBAQCBOZXcgRmVhdHVyZXMN Cj4gPiAgICAgIGBgcnRlX2V2ZW50X2Rldl9jb25maWc6Om5iX3NpbmdsZV9saW5rX2V2ZW50X3Bv cnRfcXVldWVzYGANCj4gcGFyYW1ldGVyDQo+ID4gICAgICByZXF1aXJlZCBmb3IgZXRoX3J4LCBl dGhfdHgsIGNyeXB0byBhbmQgdGltZXIgZXZlbnRkZXYgYWRhcHRlcnMuDQo+ID4NCj4gPiArKiAq KkFkZGVkIHBjYXAgdHJhY2Ugc3VwcG9ydCBpbiBncmFwaCBsaWJyYXJ5LioqDQo+ID4gKw0KPiA+ ICsgICogQWRkZWQgc3VwcG9ydCB0byBjYXB0dXJlIHBhY2tldHMgYXQgZWFjaCBncmFwaCBub2Rl IHdpdGggcGFja2V0DQo+IG1ldGFkYXRhIGFuZA0KPiA+ICsgICAgbm9kZSBuYW1lLg0KPiA+DQo+ ID4gIFJlbW92ZWQgSXRlbXMNCj4gPiAgLS0tLS0tLS0tLS0tLQ0KPiA+IEBAIC0xMDEsNiArMTA1 LDkgQEAgQVBJIENoYW5nZXMNCj4gPiAgKiBFeHBlcmltZW50YWwgZnVuY3Rpb24gYGBydGVfcGNh cG5nX2NvcHlgYCB3YXMgdXBkYXRlZCB0byBzdXBwb3J0DQo+IGNvbW1lbnQNCj4gPiAgICBzZWN0 aW9uIGluIGVuaGFuY2VkIHBhY2tldCBibG9jayBpbiBwY2FwbmcgbGlicmFyeS4NCj4gPg0KPiA+ ICsqIEV4cGVyaW1lbnRhbCBzdHJ1Y3R1cmVzIGBgc3RydWN0IHJ0ZV9ncmFwaF9wYXJhbWBgLCBg YHN0cnVjdA0KPiA+ICtydGVfZ3JhcGhgYCBhbmQNCj4gPiArICBgYHN0cnVjdCBncmFwaGBgIHdl cmUgdXBkYXRlZCB0byBzdXBwb3J0IHBjYXAgdHJhY2UgaW4gZ3JhcGggbGlicmFyeS4NCj4gPiAr DQo+ID4gIEFCSSBDaGFuZ2VzDQo+ID4gIC0tLS0tLS0tLS0tDQo+ID4NCj4gPiBkaWZmIC0tZ2l0 IGEvbGliL2dyYXBoL2dyYXBoLmMgYi9saWIvZ3JhcGgvZ3JhcGguYyBpbmRleA0KPiA+IDNhNjE3 Y2MzNjkuLmE4MzlhMjgwM2IgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL2dyYXBoL2dyYXBoLmMNCj4g PiArKysgYi9saWIvZ3JhcGgvZ3JhcGguYw0KPiA+IEBAIC0xNSw2ICsxNSw3IEBADQo+ID4gICNp bmNsdWRlIDxydGVfc3RyaW5nX2Zucy5oPg0KPiA+DQo+ID4gICNpbmNsdWRlICJncmFwaF9wcml2 YXRlLmgiDQo+ID4gKyNpbmNsdWRlICJncmFwaF9wY2FwX3ByaXZhdGUuaCINCj4gPg0KPiA+ICBz dGF0aWMgc3RydWN0IGdyYXBoX2hlYWQgZ3JhcGhfbGlzdCA9DQo+ID4gU1RBSUxRX0hFQURfSU5J VElBTElaRVIoZ3JhcGhfbGlzdCk7DQo+ID4gIHN0YXRpYyBydGVfc3BpbmxvY2tfdCBncmFwaF9s b2NrID0gUlRFX1NQSU5MT0NLX0lOSVRJQUxJWkVSOyBAQA0KPiA+IC0yMjgsNyArMjI5LDEyIEBA IGdyYXBoX21lbV9maXh1cF9ub2RlX2N0eChzdHJ1Y3QgcnRlX2dyYXBoICpncmFwaCkNCj4gPiAg ICAgICAgICAgICAgICAgbm9kZV9kYiA9IG5vZGVfZnJvbV9uYW1lKG5hbWUpOw0KPiA+ICAgICAg ICAgICAgICAgICBpZiAobm9kZV9kYiA9PSBOVUxMKQ0KPiA+ICAgICAgICAgICAgICAgICAgICAg ICAgIFNFVF9FUlJfSk1QKEVOT0xJTkssIGZhaWwsICJOb2RlICVzIG5vdCBmb3VuZCIsIG5hbWUp Ow0KPiA+IC0gICAgICAgICAgICAgICBub2RlLT5wcm9jZXNzID0gbm9kZV9kYi0+cHJvY2VzczsN Cj4gPiArDQo+ID4gKyAgICAgICAgICAgICAgIGlmIChncmFwaC0+cGNhcF9lbmFibGUpIHsNCj4g PiArICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5wcm9jZXNzID0gZ3JhcGhfcGNhcF9kaXNw YXRjaDsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5vcmlnaW5hbF9wcm9jZXNz ID0gbm9kZV9kYi0+cHJvY2VzczsNCj4gPiArICAgICAgICAgICAgICAgfSBlbHNlDQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgbm9kZS0+cHJvY2VzcyA9IG5vZGVfZGItPnByb2Nlc3M7DQo+ ID4gICAgICAgICB9DQo+ID4NCj4gPiAgICAgICAgIHJldHVybiBncmFwaDsNCj4gPiBAQCAtMjQy LDYgKzI0OCw5IEBAIGdyYXBoX21lbV9maXh1cF9zZWNvbmRhcnkoc3RydWN0IHJ0ZV9ncmFwaA0K PiAqZ3JhcGgpDQo+ID4gICAgICAgICBpZiAoZ3JhcGggPT0gTlVMTCB8fCBydGVfZWFsX3Byb2Nl c3NfdHlwZSgpID09IFJURV9QUk9DX1BSSU1BUlkpDQo+ID4gICAgICAgICAgICAgICAgIHJldHVy biBncmFwaDsNCj4gPg0KPiA+ICsgICAgICAgaWYgKGdyYXBoX3BjYXBfZmlsZV9vcGVuKGdyYXBo LT5wY2FwX2ZpbGVuYW1lKSB8fA0KPiBncmFwaF9wY2FwX21wX2luaXQoKSkNCj4gPiArICAgICAg ICAgICAgICAgZ3JhcGhfcGNhcF9leGl0KGdyYXBoKTsNCj4gPiArDQo+ID4gICAgICAgICByZXR1 cm4gZ3JhcGhfbWVtX2ZpeHVwX25vZGVfY3R4KGdyYXBoKTsgIH0NCj4gPg0KPiA+IEBAIC0zMjMs MTEgKzMzMiwxNyBAQCBydGVfZ3JhcGhfY3JlYXRlKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdA0K PiBydGVfZ3JhcGhfcGFyYW0gKnBybSkNCj4gPiAgICAgICAgIGlmIChncmFwaF9oYXNfaXNvbGF0 ZWRfbm9kZShncmFwaCkpDQo+ID4gICAgICAgICAgICAgICAgIGdvdG8gZ3JhcGhfY2xlYW51cDsN Cj4gPg0KPiA+ICsgICAgICAgLyogSW5pdGlhbGl6ZSBwY2FwIGNvbmZpZy4gKi8NCj4gPiArICAg ICAgIGdyYXBoX3BjYXBfZW5hYmxlKHBybS0+cGNhcF9lbmFibGUpOw0KPiA+ICsNCj4gPiAgICAg ICAgIC8qIEluaXRpYWxpemUgZ3JhcGggb2JqZWN0ICovDQo+ID4gICAgICAgICBncmFwaC0+c29j a2V0ID0gcHJtLT5zb2NrZXRfaWQ7DQo+ID4gICAgICAgICBncmFwaC0+c3JjX25vZGVfY291bnQg PSBzcmNfbm9kZV9jb3VudDsNCj4gPiAgICAgICAgIGdyYXBoLT5ub2RlX2NvdW50ID0gZ3JhcGhf bm9kZXNfY291bnQoZ3JhcGgpOw0KPiA+ICAgICAgICAgZ3JhcGgtPmlkID0gZ3JhcGhfaWQ7DQo+ ID4gKyAgICAgICBncmFwaC0+bnVtX3BrdF90b19jYXB0dXJlID0gcHJtLT5udW1fcGt0X3RvX2Nh cHR1cmU7DQo+ID4gKyAgICAgICBpZiAocHJtLT5wY2FwX2ZpbGVuYW1lKQ0KPiA+ICsgICAgICAg ICAgICAgICBydGVfc3Ryc2NweShncmFwaC0+cGNhcF9maWxlbmFtZSwgcHJtLT5wY2FwX2ZpbGVu YW1lLA0KPiA+ICsgUlRFX0dSQVBIX1BDQVBfRklMRV9TWik7DQo+ID4NCj4gPiAgICAgICAgIC8q IEFsbG9jYXRlIHRoZSBHcmFwaCBmYXN0IHBhdGggbWVtb3J5IGFuZCBwb3B1bGF0ZSB0aGUgZGF0 YSAqLw0KPiA+ICAgICAgICAgaWYgKGdyYXBoX2ZwX21lbV9jcmVhdGUoZ3JhcGgpKSBkaWZmIC0t Z2l0DQo+ID4gYS9saWIvZ3JhcGgvZ3JhcGhfcGNhcC5jIGIvbGliL2dyYXBoL2dyYXBoX3BjYXAu YyBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAwMDAwMDAwMDAuLjdiZDEzZWQ2MWUN Cj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvbGliL2dyYXBoL2dyYXBoX3BjYXAuYw0KPiA+ IEBAIC0wLDAgKzEsMjE3IEBADQo+ID4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0Qt My1DbGF1c2UNCj4gPiArICogQ29weXJpZ2h0KEMpIDIwMjMgTWFydmVsbCBJbnRlcm5hdGlvbmFs IEx0ZC4NCj4gPiArICovDQo+ID4gKw0KPiA+ICsjaW5jbHVkZSA8ZXJybm8uaD4NCj4gPiArI2lu Y2x1ZGUgPHVuaXN0ZC5oPg0KPiA+ICsjaW5jbHVkZSA8c3RkbGliLmg+DQo+ID4gKyNpbmNsdWRl IDxwd2QuaD4NCj4gDQo+IFNvcnQgaW4gYWxwaGFiZXRpY2FsIG9yZGVyLg0KPiANCj4gDQo+ID4g Kw0KPiA+ICsjaW5jbHVkZSA8cnRlX21idWYuaD4NCj4gPiArI2luY2x1ZGUgPHJ0ZV9wY2Fwbmcu aD4NCj4gPiArDQo+ID4gKyNpbmNsdWRlICJydGVfZ3JhcGhfd29ya2VyLmgiDQo+ID4gKw0KPiA+ ICsjaW5jbHVkZSAiZ3JhcGhfcGNhcF9wcml2YXRlLmgiDQo+ID4gKw0KPiA+ICsjZGVmaW5lIEdS QVBIX1BDQVBfQlVGX1NaICAgICAgMTI4DQo+ID4gKyNkZWZpbmUgR1JBUEhfUENBUF9OVU1fUEFD S0VUUyAxMDI0DQo+ID4gKyNkZWZpbmUgR1JBUEhfUENBUF9QS1RfUE9PTCAgICAiZ3JhcGhfcGNh cF9wa3RfcG9vbCINCj4gPiArI2RlZmluZSBHUkFQSF9QQ0FQX0ZJTEVfTkFNRQ0KPiAiZHBka19n cmFwaF9wY2FwX2NhcHR1cmVfWFhYWFhYLnBjYXBuZyINCj4gPiArDQo+ID4gKy8qIEZvciBtdWx0 aS1wcm9jZXNzLCBwYWNrZXRzIGFyZSBjYXB0dXJlZCBpbiBzZXBhcmF0ZSBmaWxlcy4gKi8NCj4g PiArc3RhdGljIHJ0ZV9wY2FwbmdfdCAqcGNhcG5nX2ZkOyBzdGF0aWMgYm9vbCBwY2FwX2VuYWJs ZTsgc3RydWN0DQo+ID4gK3J0ZV9tZW1wb29sICpwa3RfbXA7DQo+ID4gKw0KPiA+ICt2b2lkDQo+ ID4gK2dyYXBoX3BjYXBfZW5hYmxlKGJvb2wgdmFsKQ0KPiA+ICt7DQo+ID4gKyAgICAgICBwY2Fw X2VuYWJsZSA9IHZhbDsNCj4gPiArfQ0KPiA+ICsNCj4gPiAraW50DQo+ID4gK2dyYXBoX3BjYXBf aXNfZW5hYmxlKHZvaWQpDQo+ID4gK3sNCj4gPiArICAgICAgIHJldHVybiBwY2FwX2VuYWJsZTsN Cj4gPiArfQ0KPiA+ICsNCj4gPiArdm9pZA0KPiA+ICtncmFwaF9wY2FwX2V4aXQoc3RydWN0IHJ0 ZV9ncmFwaCAqZ3JhcGgpIHsNCj4gPiArICAgICAgIGlmIChydGVfZWFsX3Byb2Nlc3NfdHlwZSgp ID09IFJURV9QUk9DX1BSSU1BUlkpDQo+ID4gKyAgICAgICAgICAgICAgIGlmIChwa3RfbXApDQo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgcnRlX21lbXBvb2xfZnJlZShwa3RfbXApOw0KPiA+ ICsNCj4gPiArICAgICAgIGlmIChwY2FwbmdfZmQpIHsNCj4gPiArICAgICAgICAgICAgICAgcnRl X3BjYXBuZ19jbG9zZShwY2FwbmdfZmQpOw0KPiA+ICsgICAgICAgICAgICAgICBwY2FwbmdfZmQg PSBOVUxMOw0KPiA+ICsgICAgICAgfQ0KPiA+ICsNCj4gPiArICAgICAgIC8qIERpc2FibGUgcGNh cC4gKi8NCj4gPiArICAgICAgIGdyYXBoLT5wY2FwX2VuYWJsZSA9IDA7DQo+ID4gKyAgICAgICBn cmFwaF9wY2FwX2VuYWJsZSgwKTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIGludA0KPiA+ ICtncmFwaF9wY2FwX2RlZmF1bHRfcGF0aF9nZXQoY2hhciAqKmRpcl9wYXRoKSB7DQo+ID4gKyAg ICAgICBzdHJ1Y3QgcGFzc3dkICpwd2Q7DQo+ID4gKyAgICAgICBjaGFyICpob21lX2RpcjsNCj4g PiArDQo+ID4gKyAgICAgICAvKiBGaXJzdCBjaGVjayBmb3Igc2hlbGwgZW52aXJvbm1lbnQgdmFy aWFibGUgKi8NCj4gPiArICAgICAgIGhvbWVfZGlyID0gZ2V0ZW52KCJIT01FIik7DQo+ID4gKyAg ICAgICBpZiAoaG9tZV9kaXIgPT0gTlVMTCkgew0KPiA+ICsgICAgICAgICAgICAgICBncmFwaF93 YXJuKCJIb21lIGVudiBub3QgcHJlc2V0LiIpOw0KPiA+ICsgICAgICAgICAgICAgICAvKiBGYWxs YmFjayB0byBwYXNzd29yZCBmaWxlIGVudHJ5ICovDQo+ID4gKyAgICAgICAgICAgICAgIHB3ZCA9 IGdldHB3dWlkKGdldHVpZCgpKTsNCj4gPiArICAgICAgICAgICAgICAgaWYgKHB3ZCA9PSBOVUxM KQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOw0KPiA+ICsNCj4g PiArICAgICAgICAgICAgICAgaG9tZV9kaXIgPSBwd2QtPnB3X2RpcjsNCj4gPiArICAgICAgIH0N Cj4gPiArDQo+ID4gKyAgICAgICAvKiBBcHBlbmQgZGVmYXVsdCBwY2FwIGZpbGUgdG8gZGlyZWN0 b3J5ICovDQo+ID4gKyAgICAgICBpZiAoYXNwcmludGYoZGlyX3BhdGgsICIlcy8lcyIsIGhvbWVf ZGlyLCBHUkFQSF9QQ0FQX0ZJTEVfTkFNRSkNCj4gPT0gLTEpDQo+ID4gKyAgICAgICAgICAgICAg IHJldHVybiAtRU5PTUVNOw0KPiA+ICsNCj4gPiArICAgICAgIHJldHVybiAwOw0KPiA+ICt9DQo+ ID4gKw0KPiA+ICtpbnQNCj4gPiArZ3JhcGhfcGNhcF9maWxlX29wZW4oY29uc3QgY2hhciAqZmls ZW5hbWUpIHsNCj4gPiArICAgICAgIGludCBmZDsNCj4gPiArICAgICAgIGNoYXIgZmlsZV9uYW1l W1JURV9HUkFQSF9QQ0FQX0ZJTEVfU1pdOw0KPiA+ICsgICAgICAgY2hhciAqcGNhcF9kaXI7DQo+ ID4gKw0KPiA+ICsgICAgICAgaWYgKHBjYXBuZ19mZCkNCj4gPiArICAgICAgICAgICAgICAgZ290 byBkb25lOw0KPiA+ICsNCj4gPiArICAgICAgIGlmICghZmlsZW5hbWUgfHwgZmlsZW5hbWVbMF0g PT0gJ1wwJykgew0KPiA+ICsgICAgICAgICAgICAgICBpZiAoZ3JhcGhfcGNhcF9kZWZhdWx0X3Bh dGhfZ2V0KCZwY2FwX2RpcikgPCAwKQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHJldHVy biAtMTsNCj4gPiArICAgICAgICAgICAgICAgc25wcmludGYoZmlsZV9uYW1lLCBSVEVfR1JBUEhf UENBUF9GSUxFX1NaLCAiJXMiLCBwY2FwX2Rpcik7DQo+ID4gKyAgICAgICAgICAgICAgIGZyZWUo cGNhcF9kaXIpOw0KPiA+ICsgICAgICAgfSBlbHNlIHsNCj4gPiArICAgICAgICAgICAgICAgc25w cmludGYoZmlsZV9uYW1lLCBSVEVfR1JBUEhfUENBUF9GSUxFX1NaLA0KPiAiJXNfWFhYWFhYLnBj YXBuZyIsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lKTsNCj4gPiArICAg ICAgIH0NCj4gPiArDQo+ID4gKyAgICAgICBmZCA9IG1rc3RlbXBzKGZpbGVfbmFtZSwgc3RybGVu KCIucGNhcG5nIikpOw0KPiA+ICsgICAgICAgaWYgKGZkIDwgMCkgew0KPiA+ICsgICAgICAgICAg ICAgICBncmFwaF9lcnIoIm1rc3RlbXBzKCkgZmFpbHVyZSIpOw0KPiA+ICsgICAgICAgICAgICAg ICByZXR1cm4gLTE7DQo+ID4gKyAgICAgICB9DQo+ID4gKw0KPiA+ICsgICAgICAgZ3JhcGhfaW5m bygicGNhcCBmaWxlbmFtZTogJXMiLCBmaWxlX25hbWUpOw0KPiA+ICsNCj4gPiArICAgICAgIC8q IE9wZW4gYSBjYXB0dXJlIGZpbGUgKi8NCj4gPiArICAgICAgIHBjYXBuZ19mZCA9IHJ0ZV9wY2Fw bmdfZmRvcGVuKGZkLCBOVUxMLCBOVUxMLCAiR3JhcGggcGNhcCB0cmFjZXIiLA0KPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7DQo+ID4gKyAgICAgICBpZiAo cGNhcG5nX2ZkID09IE5VTEwpIHsNCj4gPiArICAgICAgICAgICAgICAgZ3JhcGhfZXJyKCJHcmFw aCBydGVfcGNhcG5nX2Zkb3BlbiBmYWlsZWQuIik7DQo+ID4gKyAgICAgICAgICAgICAgIGNsb3Nl KGZkKTsNCj4gPiArICAgICAgICAgICAgICAgcmV0dXJuIC0xOw0KPiA+ICsgICAgICAgfQ0KPiA+ ICsNCj4gPiArZG9uZToNCj4gPiArICAgICAgIHJldHVybiAwOw0KPiA+ICt9DQo+ID4gKw0KPiA+ ICtpbnQNCj4gPiArZ3JhcGhfcGNhcF9tcF9pbml0KHZvaWQpDQo+ID4gK3sNCj4gPiArICAgICAg IHBrdF9tcCA9IHJ0ZV9tZW1wb29sX2xvb2t1cChHUkFQSF9QQ0FQX1BLVF9QT09MKTsNCj4gPiAr ICAgICAgIGlmIChwa3RfbXApDQo+ID4gKyAgICAgICAgICAgICAgIGdvdG8gZG9uZTsNCj4gPiAr DQo+ID4gKyAgICAgICAvKiBNYWtlIGEgcG9vbCBmb3IgY2xvbmVkIHBhY2tldHMgKi8NCj4gPiAr ICAgICAgIHBrdF9tcCA9DQo+IHJ0ZV9wa3RtYnVmX3Bvb2xfY3JlYXRlX2J5X29wcyhHUkFQSF9Q Q0FQX1BLVF9QT09MLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIElPVl9NQVggKyBSVEVf R1JBUEhfQlVSU1RfU0laRSwgMCwgMCwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBydGVf cGNhcG5nX21idWZfc2l6ZShSVEVfTUJVRl9ERUZBVUxUX0JVRl9TSVpFKSwNCj4gPiArICAgICAg ICAgICAgICAgICAgICAgICBTT0NLRVRfSURfQU5ZLCAicmluZ19tcF9tYyIpOw0KPiA+ICsgICAg ICAgaWYgKHBrdF9tcCA9PSBOVUxMKSB7DQo+ID4gKyAgICAgICAgICAgICAgIGdyYXBoX2Vycigi Q2Fubm90IGNyZWF0ZSBtZW1wb29sIGZvciBncmFwaCBwY2FwIGNhcHR1cmUuIik7DQo+ID4gKyAg ICAgICAgICAgICAgIHJldHVybiAtMTsNCj4gPiArICAgICAgIH0NCj4gPiArDQo+ID4gK2RvbmU6 DQo+ID4gKyAgICAgICByZXR1cm4gMDsNCj4gPiArfQ0KPiA+ICsNCj4gPiAraW50DQo+ID4gK2dy YXBoX3BjYXBfaW5pdChzdHJ1Y3QgZ3JhcGggKmdyYXBoKQ0KPiA+ICt7DQo+ID4gKyAgICAgICBz dHJ1Y3QgcnRlX2dyYXBoICpncmFwaF9kYXRhID0gZ3JhcGgtPmdyYXBoOw0KPiA+ICsNCj4gPiAr ICAgICAgIGlmIChncmFwaF9wY2FwX2ZpbGVfb3BlbihncmFwaC0+cGNhcF9maWxlbmFtZSkgPCAw KQ0KPiA+ICsgICAgICAgICAgICAgICBnb3RvIGVycm9yOw0KPiA+ICsNCj4gPiArICAgICAgIGlm IChncmFwaF9wY2FwX21wX2luaXQoKSA8IDApDQo+ID4gKyAgICAgICAgICAgICAgIGdvdG8gZXJy b3I7DQo+ID4gKw0KPiA+ICsgICAgICAgLyogVXNlciBjb25maWd1cmVkIG51bWJlciBvZiBwYWNr ZXRzIHRvIGNhcHR1cmUuICovDQo+ID4gKyAgICAgICBpZiAoZ3JhcGgtPm51bV9wa3RfdG9fY2Fw dHVyZSkNCj4gPiArICAgICAgICAgICAgICAgZ3JhcGhfZGF0YS0+bmJfcGt0X3RvX2NhcHR1cmUg PSBncmFwaC0+bnVtX3BrdF90b19jYXB0dXJlOw0KPiA+ICsgICAgICAgZWxzZQ0KPiA+ICsgICAg ICAgICAgICAgICBncmFwaF9kYXRhLT5uYl9wa3RfdG9fY2FwdHVyZSA9DQo+ID4gKyBHUkFQSF9Q Q0FQX05VTV9QQUNLRVRTOw0KPiA+ICsNCj4gPiArICAgICAgIC8qIEFsbCBnb29kLiBOb3cgcG9w dWxhdGUgZGF0YSBmb3Igc2Vjb25kYXJ5IHByb2Nlc3MuICovDQo+IA0KPiBObyBuZWVkIG5ldyBs aW5lLg0KPiANCj4gPiArDQo+ID4gKyAgICAgICBydGVfc3Ryc2NweShncmFwaF9kYXRhLT5wY2Fw X2ZpbGVuYW1lLCBncmFwaC0+cGNhcF9maWxlbmFtZSwNCj4gUlRFX0dSQVBIX1BDQVBfRklMRV9T Wik7DQo+ID4gKyAgICAgICBncmFwaF9kYXRhLT5wY2FwX2VuYWJsZSA9IDE7DQo+ID4gKw0KPiA+ ICsgICAgICAgcmV0dXJuIDA7DQo+ID4gKw0KPiA+ICtlcnJvcjoNCj4gPiArICAgICAgIGdyYXBo X3BjYXBfZXhpdChncmFwaF9kYXRhKTsNCj4gPiArICAgICAgIGdyYXBoX3BjYXBfZW5hYmxlKDAp Ow0KPiA+ICsgICAgICAgZ3JhcGhfZXJyKCJHcmFwaCBwY2FwIGluaXRpYWxpemF0aW9uIGZhaWxl ZC4gRGlzYWJsaW5nIHBjYXAgdHJhY2UuIik7DQo+ID4gKyAgICAgICByZXR1cm4gLTE7DQo+ID4g K30NCj4gPiArDQo+ID4gK3VpbnQxNl90DQo+ID4gK2dyYXBoX3BjYXBfZGlzcGF0Y2goc3RydWN0 IHJ0ZV9ncmFwaCAqZ3JhcGgsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IHJ0ZV9ub2RlICpub2RlLCB2b2lkICoqb2JqcywNCj4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1aW50MTZfdCBuYl9vYmpzKSB7DQo+ID4gKyAgICAgICBzdHJ1Y3QgcnRlX21i dWYgKm1idWZfY2xvbmVzW1JURV9HUkFQSF9CVVJTVF9TSVpFXTsNCj4gPiArICAgICAgIGNoYXIg YnVmZmVyW0dSQVBIX1BDQVBfQlVGX1NaXTsNCj4gPiArICAgICAgIHVpbnQ2NF90IGksIG51bV9w YWNrZXRzOw0KPiA+ICsgICAgICAgc3RydWN0IHJ0ZV9tYnVmICptYnVmOw0KPiA+ICsgICAgICAg c3NpemVfdCBsZW47DQo+ID4gKw0KPiA+ICsgICAgICAgaWYgKCFuYl9vYmpzIHx8IChncmFwaC0+ bmJfcGt0X2NhcHR1cmVkID49IGdyYXBoLQ0KPiA+bmJfcGt0X3RvX2NhcHR1cmUpKQ0KPiA+ICsg ICAgICAgICAgICAgICBnb3RvIGRvbmU7DQo+ID4gKw0KPiA+ICsgICAgICAgbnVtX3BhY2tldHMg PSBncmFwaC0+bmJfcGt0X3RvX2NhcHR1cmUgLSBncmFwaC0NCj4gPm5iX3BrdF9jYXB0dXJlZDsN Cj4gPiArICAgICAgIC8qIG5iX29ianMgd2lsbCBuZXZlciBiZSBncmVhdGVyIHRoYW4gUlRFX0dS QVBIX0JVUlNUX1NJWkUgKi8NCj4gPiArICAgICAgIGlmIChudW1fcGFja2V0cyA+IG5iX29ianMp DQo+ID4gKyAgICAgICAgICAgICAgIG51bV9wYWNrZXRzID0gbmJfb2JqczsNCj4gPiArDQo+ID4g KyAgICAgICBzbnByaW50ZihidWZmZXIsIEdSQVBIX1BDQVBfQlVGX1NaLCAiJXM6ICVzIiwgZ3Jh cGgtPm5hbWUsDQo+ID4gKyBub2RlLT5uYW1lKTsNCj4gPiArDQo+ID4gKyAgICAgICBmb3IgKGkg PSAwOyBpIDwgbnVtX3BhY2tldHM7IGkrKykgew0KPiA+ICsgICAgICAgICAgICAgICBzdHJ1Y3Qg cnRlX21idWYgKm1jOw0KPiA+ICsgICAgICAgICAgICAgICBtYnVmID0gKHN0cnVjdCBydGVfbWJ1 ZiAqKW9ianNbaV07DQo+ID4gKw0KPiA+ICsgICAgICAgICAgICAgICBtYyA9IHJ0ZV9wY2Fwbmdf Y29weShtYnVmLT5wb3J0LCAwLCBtYnVmLCBwa3RfbXAsIG1idWYtDQo+ID5wa3RfbGVuLA0KPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydGVfZ2V0X3RzY19jeWNsZXMo KSwgMCwgYnVmZmVyKTsNCj4gPiArICAgICAgICAgICAgICAgaWYgKG1jID09IE5VTEwpDQo+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQo+ID4gKw0KPiA+ICsgICAgICAgICAgICAg ICBtYnVmX2Nsb25lc1tpXSA9IG1jOw0KPiA+ICsgICAgICAgfQ0KPiA+ICsNCj4gPiArICAgICAg IC8qIHdyaXRlIGl0IHRvIGNhcHR1cmUgZmlsZSAqLw0KPiA+ICsgICAgICAgbGVuID0gcnRlX3Bj YXBuZ193cml0ZV9wYWNrZXRzKHBjYXBuZ19mZCwgbWJ1Zl9jbG9uZXMsIGkpOw0KPiA+ICsgICAg ICAgcnRlX3BrdG1idWZfZnJlZV9idWxrKG1idWZfY2xvbmVzLCBpKTsNCj4gPiArICAgICAgIGlm IChsZW4gPD0gMCkNCj4gPiArICAgICAgICAgICAgICAgZ290byBkb25lOw0KPiA+ICsNCj4gPiAr ICAgICAgIGdyYXBoLT5uYl9wa3RfY2FwdHVyZWQgKz0gaTsNCj4gPiArDQo+ID4gK2RvbmU6DQo+ ID4gKyAgICAgICByZXR1cm4gbm9kZS0+b3JpZ2luYWxfcHJvY2VzcyhncmFwaCwgbm9kZSwgb2Jq cywgbmJfb2Jqcyk7IH0NCj4gPiBkaWZmIC0tZ2l0IGEvbGliL2dyYXBoL2dyYXBoX3BjYXBfcHJp dmF0ZS5oDQo+ID4gYi9saWIvZ3JhcGgvZ3JhcGhfcGNhcF9wcml2YXRlLmggbmV3IGZpbGUgbW9k ZSAxMDA2NDQgaW5kZXgNCj4gPiAwMDAwMDAwMDAwLi4xOThhZGQ2N2UyDQo+ID4gLS0tIC9kZXYv bnVsbA0KPiA+ICsrKyBiL2xpYi9ncmFwaC9ncmFwaF9wY2FwX3ByaXZhdGUuaA0KPiA+IEBAIC0w LDAgKzEsMTI0IEBADQo+ID4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1 c2UNCj4gPiArICogQ29weXJpZ2h0KEMpIDIwMjMgTWFydmVsbCBJbnRlcm5hdGlvbmFsIEx0ZC4N Cj4gPiArICovDQo+ID4gKw0KPiA+ICsjaWZuZGVmIF9SVEVfR1JBUEhfUENBUF9QUklWQVRFX0hf DQo+ID4gKyNkZWZpbmUgX1JURV9HUkFQSF9QQ0FQX1BSSVZBVEVfSF8NCj4gPiArDQo+ID4gKyNp bmNsdWRlIDxzdGRpbnQuaD4NCj4gPiArI2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KPiA+ICsNCj4g PiArI2luY2x1ZGUgImdyYXBoX3ByaXZhdGUuaCINCj4gPiArDQo+ID4gKyNpZmRlZiBfX2NwbHVz cGx1cw0KPiA+ICtleHRlcm4gIkMiIHsNCj4gPiArI2VuZGlmDQo+IA0KPiBObyBuZWVkIHRoaXMg Zm9yIGludGVybmFsIGhlYWRlciBmaWxlcw0KPiANCj4gDQo+ID4gKw0KPiA+ICsvKioNCj4gPiAr ICogQGludGVybmFsDQo+ID4gKyAqDQo+ID4gKyAqIFBjYXAgdHJhY2UgZW5hYmxlL2Rpc2FibGUg ZnVuY3Rpb24uDQo+ID4gKyAqDQo+ID4gKyAqIFRoZSBmdW5jdGlvbiBpcyBjYWxsZWQgdG8gZW5h YmxlL2Rpc2FibGUgZ3JhcGggcGNhcCB0cmFjZSBmdW5jdGlvbmFsaXR5Lg0KPiA+ICsgKg0KPiA+ ICsgKiBAcGFyYW0gdmFsDQo+ID4gKyAqICAgVmFsdWUgdG8gYmUgc2V0IHRvIGVuYWJsZS9kaXNh YmxlIGdyYXBoIHBjYXAgdHJhY2UuDQo+ID4gKyAqLw0KPiA+ICt2b2lkIGdyYXBoX3BjYXBfZW5h YmxlKGJvb2wgdmFsKTsNCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsgKiBAaW50ZXJuYWwNCj4gPiAr ICoNCj4gPiArICogQ2hlY2sgZ3JhcGggcGNhcCB0cmFjZSBpcyBlbmFibGUvZGlzYWJsZS4NCj4g PiArICoNCj4gPiArICogVGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCB0byBjaGVjayBpZiB0aGUgZ3Jh cGggcGNhcCB0cmFjZSBpcw0KPiBlbmFibGVkL2Rpc2FibGVkLg0KPiA+ICsgKg0KPiA+ICsgKiBA cmV0dXJuDQo+ID4gKyAqICAgLSAxOiBFbmFibGUNCj4gPiArICogICAtIDA6IERpc2FibGUNCj4g PiArICovDQo+ID4gK2ludCBncmFwaF9wY2FwX2lzX2VuYWJsZSh2b2lkKTsNCj4gPiArDQo+ID4g Ky8qKg0KPiA+ICsgKiBAaW50ZXJuYWwNCj4gPiArICoNCj4gPiArICogSW5pdGlhbGlzZSBncmFw aCBwY2FwIHRyYWNlIGZ1bmN0aW9uYWxpdHkuDQo+ID4gKyAqDQo+ID4gKyAqIFRoZSBmdW5jdGlv biBpbnZva2VkIHRvIGFsbG9jYXRlIG1lbXBvb2wuDQo+ID4gKyAqDQo+ID4gKyAqIEByZXR1cm4N Cj4gPiArICogICAwIG9uIHN1Y2Nlc3MgYW5kIC0xIG9uIGZhaWx1cmUuDQo+ID4gKyAqLw0KPiA+ ICtpbnQgZ3JhcGhfcGNhcF9tcF9pbml0KHZvaWQpOw0KPiA+ICsNCj4gPiArLyoqDQo+ID4gKyAq IEBpbnRlcm5hbA0KPiA+ICsgKg0KPiA+ICsgKiBJbml0aWFsaXNlIGdyYXBoIHBjYXAgdHJhY2Ug ZnVuY3Rpb25hbGl0eS4NCj4gPiArICoNCj4gPiArICogVGhlIGZ1bmN0aW9uIGludm9rZWQgdG8g b3BlbiBwY2FwIGZpbGUuDQo+ID4gKyAqDQo+ID4gKyAqIEBwYXJhbSBmaWxlbmFtZQ0KPiA+ICsg KiAgIFBjYXAgZmlsZW5hbWUuDQo+ID4gKyAqDQo+ID4gKyAqIEByZXR1cm4NCj4gPiArICogICAw IG9uIHN1Y2Nlc3MgYW5kIC0xIG9uIGZhaWx1cmUuDQo+ID4gKyAqLw0KPiA+ICtpbnQgZ3JhcGhf cGNhcF9maWxlX29wZW4oY29uc3QgY2hhciAqZmlsZW5hbWUpOw0KPiA+ICsNCj4gPiArLyoqDQo+ ID4gKyAqIEBpbnRlcm5hbA0KPiA+ICsgKg0KPiA+ICsgKiBJbml0aWFsaXNlIGdyYXBoIHBjYXAg dHJhY2UgZnVuY3Rpb25hbGl0eS4NCj4gPiArICoNCj4gPiArICogVGhlIGZ1bmN0aW9uIGludm9r ZWQgd2hlbiB0aGUgZ3JhcGggcGNhcCB0cmFjZSBpcyBlbmFibGVkLiBUaGlzDQo+ID4gK2Z1bmN0 aW9uDQo+ID4gKyAqIG9wZW4ncyBwY2FwIGZpbGUgYW5kIGFsbG9jYXRlcyBtZW1wb29sLiBJbmZv cm1hdGlvbiBuZWVkZWQgZm9yDQo+ID4gK3NlY29uZGFyeQ0KPiA+ICsgKiBwcm9jZXNzIGlzIHBv cHVsYXRlZC4NCj4gPiArICoNCj4gPiArICogQHBhcmFtIGdyYXBoDQo+ID4gKyAqICAgUG9pbnRl ciB0byBncmFwaCBzdHJ1Y3R1cmUuDQo+ID4gKyAqDQo+ID4gKyAqIEByZXR1cm4NCj4gPiArICog ICAwIG9uIHN1Y2Nlc3MgYW5kIC0xIG9uIGZhaWx1cmUuDQo+ID4gKyAqLw0KPiA+ICtpbnQgZ3Jh cGhfcGNhcF9pbml0KHN0cnVjdCBncmFwaCAqZ3JhcGgpOw0KPiA+ICsNCj4gPiArLyoqDQo+ID4g KyAqIEBpbnRlcm5hbA0KPiA+ICsgKg0KPiA+ICsgKiBFeGl0IGdyYXBoIHBjYXAgdHJhY2UgZnVu Y3Rpb25hbGl0eS4NCj4gPiArICoNCj4gPiArICogVGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCB0byBl eGl0IGdyYXBoIHBjYXAgdHJhY2UgYW5kIGNsb3NlIG9wZW4NCj4gPiArZmQncyBhbmQNCj4gPiAr ICogZnJlZSB1cCBtZW1vcnkuIFBjYXAgdHJhY2UgaXMgYWxzbyBkaXNhYmxlZC4NCj4gPiArICoN Cj4gPiArICogQHBhcmFtIGdyYXBoDQo+ID4gKyAqICAgUG9pbnRlciB0byBncmFwaCBzdHJ1Y3R1 cmUuDQo+ID4gKyAqLw0KPiA+ICt2b2lkIGdyYXBoX3BjYXBfZXhpdChzdHJ1Y3QgcnRlX2dyYXBo ICpncmFwaCk7DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICogQGludGVybmFsDQo+ID4gKyAqDQo+ ID4gKyAqIENhcHR1cmUgbWJ1ZiBtZXRhZGF0YSBhbmQgbm9kZSBtZXRhZGF0YSB0byBhIHBjYXAg ZmlsZS4NCj4gPiArICoNCj4gPiArICogV2hlbiBncmFwaCBwY2FwIHRyYWNlIGVuYWJsZWQsIHRo aXMgZnVuY3Rpb24gaXMgaW52b2tlZCBwcmlvciB0bw0KPiA+ICtlYWNoIG5vZGUNCj4gPiArICog YW5kIG1idWYsIG5vZGUgbWV0YWRhdGEgaXMgcGFyc2VkIGFuZCBjYXB0dXJlZCBpbiBhIHBjYXAg ZmlsZS4NCj4gPiArICoNCj4gPiArICogQHBhcmFtIGdyYXBoDQo+ID4gKyAqICAgUG9pbnRlciB0 byB0aGUgZ3JhcGggb2JqZWN0Lg0KPiA+ICsgKiBAcGFyYW0gbm9kZQ0KPiA+ICsgKiAgIFBvaW50 ZXIgdG8gdGhlIG5vZGUgb2JqZWN0Lg0KPiA+ICsgKiBAcGFyYW0gb2Jqcw0KPiA+ICsgKiAgIFBv aW50ZXIgdG8gYW4gYXJyYXkgb2Ygb2JqZWN0cyB0byBiZSBwcm9jZXNzZWQuDQo+ID4gKyAqIEBw YXJhbSBuYl9vYmpzDQo+ID4gKyAqICAgTnVtYmVyIG9mIG9iamVjdHMgaW4gdGhlIGFycmF5Lg0K PiA+ICsgKi8NCj4gPiArdWludDE2X3QgZ3JhcGhfcGNhcF9kaXNwYXRjaChzdHJ1Y3QgcnRlX2dy YXBoICpncmFwaCwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCBydGVfbm9kZSAqbm9kZSwgdm9pZCAqKm9ianMsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1aW50MTZfdCBuYl9vYmpzKTsNCj4gPiArDQo+ID4gKyNpZmRlZiBfX2Nw bHVzcGx1cw0KPiA+ICt9DQo+ID4gKyNlbmRpZg0KPiA+ICsNCj4gPiArI2VuZGlmIC8qIF9SVEVf R1JBUEhfUENBUF9QUklWQVRFX0hfICovDQo+ID4gZGlmZiAtLWdpdCBhL2xpYi9ncmFwaC9ncmFw aF9wb3B1bGF0ZS5jIGIvbGliL2dyYXBoL2dyYXBoX3BvcHVsYXRlLmMNCj4gPiBpbmRleCAxMDJm ZDZjMjliLi4yYzA4NDRjZTkyIDEwMDY0NA0KPiA+IC0tLSBhL2xpYi9ncmFwaC9ncmFwaF9wb3B1 bGF0ZS5jDQo+ID4gKysrIGIvbGliL2dyYXBoL2dyYXBoX3BvcHVsYXRlLmMNCj4gPiBAQCAtOSw2 ICs5LDcgQEANCj4gPiAgI2luY2x1ZGUgPHJ0ZV9tZW16b25lLmg+DQo+ID4NCj4gPiAgI2luY2x1 ZGUgImdyYXBoX3ByaXZhdGUuaCINCj4gPiArI2luY2x1ZGUgImdyYXBoX3BjYXBfcHJpdmF0ZS5o Ig0KPiA+DQo+ID4gIHN0YXRpYyBzaXplX3QNCj4gPiAgZ3JhcGhfZnBfbWVtX2NhbGNfc2l6ZShz dHJ1Y3QgZ3JhcGggKmdyYXBoKSBAQCAtNzUsNyArNzYsMTEgQEANCj4gPiBncmFwaF9ub2Rlc19w b3B1bGF0ZShzdHJ1Y3QgZ3JhcGggKl9ncmFwaCkNCj4gPiAgICAgICAgICAgICAgICAgbWVtc2V0 KG5vZGUsIDAsIHNpemVvZigqbm9kZSkpOw0KPiA+ICAgICAgICAgICAgICAgICBub2RlLT5mZW5j ZSA9IFJURV9HUkFQSF9GRU5DRTsNCj4gPiAgICAgICAgICAgICAgICAgbm9kZS0+b2ZmID0gb2Zm Ow0KPiA+IC0gICAgICAgICAgICAgICBub2RlLT5wcm9jZXNzID0gZ3JhcGhfbm9kZS0+bm9kZS0+ cHJvY2VzczsNCj4gPiArICAgICAgICAgICAgICAgaWYgKGdyYXBoX3BjYXBfaXNfZW5hYmxlKCkp IHsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5wcm9jZXNzID0gZ3JhcGhfcGNh cF9kaXNwYXRjaDsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5vcmlnaW5hbF9w cm9jZXNzID0gZ3JhcGhfbm9kZS0+bm9kZS0+cHJvY2VzczsNCj4gPiArICAgICAgICAgICAgICAg fSBlbHNlDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgbm9kZS0+cHJvY2VzcyA9IGdyYXBo X25vZGUtPm5vZGUtPnByb2Nlc3M7DQo+ID4gICAgICAgICAgICAgICAgIG1lbWNweShub2RlLT5u YW1lLCBncmFwaF9ub2RlLT5ub2RlLT5uYW1lLA0KPiBSVEVfR1JBUEhfTkFNRVNJWkUpOw0KPiA+ ICAgICAgICAgICAgICAgICBwaWQgPSBncmFwaF9ub2RlLT5ub2RlLT5wYXJlbnRfaWQ7DQo+ID4g ICAgICAgICAgICAgICAgIGlmIChwaWQgIT0gUlRFX05PREVfSURfSU5WQUxJRCkgeyAvKiBDbG9u ZWQgbm9kZSAqLyBAQA0KPiA+IC0xODMsNiArMTg4LDggQEAgZ3JhcGhfZnBfbWVtX3BvcHVsYXRl KHN0cnVjdCBncmFwaCAqZ3JhcGgpDQo+ID4gICAgICAgICBpbnQgcmM7DQo+ID4NCj4gPiAgICAg ICAgIGdyYXBoX2hlYWRlcl9wb3BsdWF0ZShncmFwaCk7DQo+ID4gKyAgICAgICBpZiAoZ3JhcGhf cGNhcF9pc19lbmFibGUoKSkNCj4gPiArICAgICAgICAgICAgICAgZ3JhcGhfcGNhcF9pbml0KGdy YXBoKTsNCj4gPiAgICAgICAgIGdyYXBoX25vZGVzX3BvcHVsYXRlKGdyYXBoKTsNCj4gPiAgICAg ICAgIHJjID0gZ3JhcGhfbm9kZV9uZXh0c19wb3B1bGF0ZShncmFwaCk7DQo+ID4gICAgICAgICBy YyB8PSBncmFwaF9zcmNfbm9kZXNfcG9wdWxhdGUoZ3JhcGgpOyBAQCAtMjI3LDYgKzIzNCw5IEBA DQo+ID4gZ3JhcGhfbm9kZXNfbWVtX2Rlc3Ryb3koc3RydWN0IHJ0ZV9ncmFwaCAqZ3JhcGgpICBp bnQNCj4gPiBncmFwaF9mcF9tZW1fZGVzdHJveShzdHJ1Y3QgZ3JhcGggKmdyYXBoKSAgew0KPiA+ ICsgICAgICAgaWYgKGdyYXBoX3BjYXBfaXNfZW5hYmxlKCkpDQo+ID4gKyAgICAgICAgICAgICAg IGdyYXBoX3BjYXBfZXhpdChncmFwaC0+Z3JhcGgpOw0KPiA+ICsNCj4gPiAgICAgICAgIGdyYXBo X25vZGVzX21lbV9kZXN0cm95KGdyYXBoLT5ncmFwaCk7DQo+ID4gICAgICAgICByZXR1cm4gcnRl X21lbXpvbmVfZnJlZShncmFwaC0+bXopOyAgfSBkaWZmIC0tZ2l0DQo+ID4gYS9saWIvZ3JhcGgv Z3JhcGhfcHJpdmF0ZS5oIGIvbGliL2dyYXBoL2dyYXBoX3ByaXZhdGUuaCBpbmRleA0KPiA+IGY5 YTg1Yzg5MjYuLjdkMWIzMGI4YWMgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL2dyYXBoL2dyYXBoX3By aXZhdGUuaA0KPiA+ICsrKyBiL2xpYi9ncmFwaC9ncmFwaF9wcml2YXRlLmgNCj4gPiBAQCAtMjIs NiArMjIsNyBAQCBleHRlcm4gaW50IHJ0ZV9ncmFwaF9sb2d0eXBlOw0KPiA+ICAgICAgICAgICAg ICAgICAgICAgICAgIF9fZnVuY19fLCBfX0xJTkVfXywgUlRFX0ZNVF9UQUlMKF9fVkFfQVJHU19f LA0KPiA+ICkpKQ0KPiA+DQo+ID4gICNkZWZpbmUgZ3JhcGhfZXJyKC4uLikgR1JBUEhfTE9HKEVS UiwgX19WQV9BUkdTX18pDQo+ID4gKyNkZWZpbmUgZ3JhcGhfd2FybiguLi4pIEdSQVBIX0xPRyhX QVJOSU5HLCBfX1ZBX0FSR1NfXykNCj4gPiAgI2RlZmluZSBncmFwaF9pbmZvKC4uLikgR1JBUEhf TE9HKElORk8sIF9fVkFfQVJHU19fKSAgI2RlZmluZQ0KPiA+IGdyYXBoX2RiZyguLi4pIEdSQVBI X0xPRyhERUJVRywgX19WQV9BUkdTX18pDQo+ID4NCj4gPiBAQCAtMTAwLDYgKzEwMSwxMCBAQCBz dHJ1Y3QgZ3JhcGggew0KPiA+ICAgICAgICAgLyoqPCBNZW1vcnkgc2l6ZSBvZiB0aGUgZ3JhcGgu ICovDQo+ID4gICAgICAgICBpbnQgc29ja2V0Ow0KPiA+ICAgICAgICAgLyoqPCBTb2NrZXQgaWRl bnRpZmllciB3aGVyZSBtZW1vcnkgaXMgYWxsb2NhdGVkLiAqLw0KPiA+ICsgICAgICAgdWludDY0 X3QgbnVtX3BrdF90b19jYXB0dXJlOw0KPiA+ICsgICAgICAgLyoqPCBOdW1iZXIgb2YgcGFja2V0 cyB0byBiZSBjYXB0dXJlZCBwZXIgY29yZS4gKi8NCj4gPiArICAgICAgIGNoYXIgcGNhcF9maWxl bmFtZVtSVEVfR1JBUEhfUENBUF9GSUxFX1NaXTsNCj4gPiArICAgICAgIC8qKjwgcGNhcCBmaWxl IG5hbWUvcGF0aC4gKi8NCj4gPiAgICAgICAgIFNUQUlMUV9IRUFEKGdub2RlX2xpc3QsIGdyYXBo X25vZGUpIG5vZGVfbGlzdDsNCj4gPiAgICAgICAgIC8qKjwgTm9kZXMgaW4gYSBncmFwaC4gKi8N Cj4gPiAgfTsNCj4gPiBkaWZmIC0tZ2l0IGEvbGliL2dyYXBoL21lc29uLmJ1aWxkIGIvbGliL2dy YXBoL21lc29uLmJ1aWxkIGluZGV4DQo+ID4gYzczMjc1NDllOC4uMzUyNmQxYjVkNCAxMDA2NDQN Cj4gPiAtLS0gYS9saWIvZ3JhcGgvbWVzb24uYnVpbGQNCj4gPiArKysgYi9saWIvZ3JhcGgvbWVz b24uYnVpbGQNCj4gPiBAQCAtMTQsNyArMTQsOCBAQCBzb3VyY2VzID0gZmlsZXMoDQo+ID4gICAg ICAgICAgJ2dyYXBoX2RlYnVnLmMnLA0KPiA+ICAgICAgICAgICdncmFwaF9zdGF0cy5jJywNCj4g PiAgICAgICAgICAnZ3JhcGhfcG9wdWxhdGUuYycsDQo+ID4gKyAgICAgICAgJ2dyYXBoX3BjYXAu YycsDQo+ID4gICkNCj4gPiAgaGVhZGVycyA9IGZpbGVzKCdydGVfZ3JhcGguaCcsICdydGVfZ3Jh cGhfd29ya2VyLmgnKQ0KPiA+DQo+ID4gLWRlcHMgKz0gWydlYWwnXQ0KPiA+ICtkZXBzICs9IFsn ZWFsJywgJ3BjYXBuZyddDQo+ID4gZGlmZiAtLWdpdCBhL2xpYi9ncmFwaC9ydGVfZ3JhcGguaCBi L2xpYi9ncmFwaC9ydGVfZ3JhcGguaCBpbmRleA0KPiA+IGIzMmM0YmMyMTcuLmM5YTc3Mjk3ZmMg MTAwNjQ0DQo+ID4gLS0tIGEvbGliL2dyYXBoL3J0ZV9ncmFwaC5oDQo+ID4gKysrIGIvbGliL2dy YXBoL3J0ZV9ncmFwaC5oDQo+ID4gQEAgLTM1LDYgKzM1LDcgQEAgZXh0ZXJuICJDIiB7DQo+ID4N Cj4gPiAgI2RlZmluZSBSVEVfR1JBUEhfTkFNRVNJWkUgNjQgLyoqPCBNYXggbGVuZ3RoIG9mIGdy YXBoIG5hbWUuICovDQo+ID4gI2RlZmluZSBSVEVfTk9ERV9OQU1FU0laRSA2NCAgLyoqPCBNYXgg bGVuZ3RoIG9mIG5vZGUgbmFtZS4gKi8NCj4gPiArI2RlZmluZSBSVEVfR1JBUEhfUENBUF9GSUxF X1NaIDY0IC8qKjwgTWF4IGxlbmd0aCBvZiBwY2FwIGZpbGUNCj4gbmFtZS4NCj4gPiArKi8NCj4g PiAgI2RlZmluZSBSVEVfR1JBUEhfT0ZGX0lOVkFMSUQgVUlOVDMyX01BWCAvKio8IEludmFsaWQg Z3JhcGgNCj4gb2Zmc2V0LiAqLw0KPiA+ICAjZGVmaW5lIFJURV9OT0RFX0lEX0lOVkFMSUQgVUlO VDMyX01BWCAgIC8qKjwgSW52YWxpZCBub2RlIGlkLiAqLw0KPiA+ICAjZGVmaW5lIFJURV9FREdF X0lEX0lOVkFMSUQgVUlOVDE2X01BWCAgIC8qKjwgSW52YWxpZCBlZGdlIGlkLiAqLw0KPiA+IEBA IC0xNjQsNiArMTY1LDEwIEBAIHN0cnVjdCBydGVfZ3JhcGhfcGFyYW0gew0KPiA+ICAgICAgICAg dWludDE2X3QgbmJfbm9kZV9wYXR0ZXJuczsgIC8qKjwgTnVtYmVyIG9mIG5vZGUgcGF0dGVybnMu ICovDQo+ID4gICAgICAgICBjb25zdCBjaGFyICoqbm9kZV9wYXR0ZXJuczsNCj4gPiAgICAgICAg IC8qKjwgQXJyYXkgb2Ygbm9kZSBwYXR0ZXJucyBiYXNlZCBvbiBzaGVsbCBwYXR0ZXJuLiAqLw0K PiA+ICsNCj4gPiArICAgICAgIGJvb2wgcGNhcF9lbmFibGU7IC8qKjwgUGNhcCBlbmFibGUuICov DQo+ID4gKyAgICAgICB1aW50NjRfdCBudW1fcGt0X3RvX2NhcHR1cmU7IC8qKjwgTnVtYmVyIG9m IHBhY2tldHMgdG8gY2FwdHVyZS4gKi8NCj4gPiArICAgICAgIGNoYXIgKnBjYXBfZmlsZW5hbWU7 IC8qKjwgRmlsZW5hbWUgaW4gd2hpY2ggcGFja2V0cyB0byBiZQ0KPiA+ICsgY2FwdHVyZWQuKi8N Cj4gPiAgfTsNCj4gPg0KPiA+ICAvKioNCj4gPiBkaWZmIC0tZ2l0IGEvbGliL2dyYXBoL3J0ZV9n cmFwaF93b3JrZXIuaA0KPiA+IGIvbGliL2dyYXBoL3J0ZV9ncmFwaF93b3JrZXIuaCBpbmRleCBm YzZmZWU0OGM4Li40Mzg1OTViMTVjIDEwMDY0NA0KPiA+IC0tLSBhL2xpYi9ncmFwaC9ydGVfZ3Jh cGhfd29ya2VyLmgNCj4gPiArKysgYi9saWIvZ3JhcGgvcnRlX2dyYXBoX3dvcmtlci5oDQo+ID4g QEAgLTQ0LDYgKzQ0LDEyIEBAIHN0cnVjdCBydGVfZ3JhcGggew0KPiA+ICAgICAgICAgcnRlX2dy YXBoX3QgaWQ7IC8qKjwgR3JhcGggaWRlbnRpZmllci4gKi8NCj4gPiAgICAgICAgIGludCBzb2Nr ZXQ7ICAgICAvKio8IFNvY2tldCBJRCB3aGVyZSBtZW1vcnkgaXMgYWxsb2NhdGVkLiAqLw0KPiA+ ICAgICAgICAgY2hhciBuYW1lW1JURV9HUkFQSF9OQU1FU0laRV07ICAvKio8IE5hbWUgb2YgdGhl IGdyYXBoLiAqLw0KPiA+ICsgICAgICAgYm9vbCBwY2FwX2VuYWJsZTsgICAgICAgICAgICAgICAv Kio8IFBjYXAgdHJhY2UgZW5hYmxlZC4gKi8NCj4gPiArICAgICAgIC8qKiBOdW1iZXIgb2YgcGFj a2V0cyBjYXB0dXJlZCBwZXIgY29yZS4gKi8NCj4gPiArICAgICAgIHVpbnQ2NF90IG5iX3BrdF9j YXB0dXJlZDsNCj4gPiArICAgICAgIC8qKiBOdW1iZXIgb2YgcGFja2V0cyB0byBjYXB0dXJlIHBl ciBjb3JlLiAqLw0KPiA+ICsgICAgICAgdWludDY0X3QgbmJfcGt0X3RvX2NhcHR1cmU7DQo+ID4g KyAgICAgICBjaGFyIHBjYXBfZmlsZW5hbWVbUlRFX0dSQVBIX1BDQVBfRklMRV9TWl07ICAvKio8 IFBjYXANCj4gPiArIGZpbGVuYW1lLiAqLw0KPiA+ICAgICAgICAgdWludDY0X3QgZmVuY2U7ICAg ICAgICAgICAgICAgICAvKio8IEZlbmNlLiAqLw0KPiA+ICB9IF9fcnRlX2NhY2hlX2FsaWduZWQ7 DQo+ID4NCj4gPiBAQCAtNjQsNiArNzAsOSBAQCBzdHJ1Y3QgcnRlX25vZGUgew0KPiA+ICAgICAg ICAgY2hhciBwYXJlbnRbUlRFX05PREVfTkFNRVNJWkVdOyAvKio8IFBhcmVudCBub2RlIG5hbWUu ICovDQo+ID4gICAgICAgICBjaGFyIG5hbWVbUlRFX05PREVfTkFNRVNJWkVdOyAgIC8qKjwgTmFt ZSBvZiB0aGUgbm9kZS4gKi8NCj4gPg0KPiA+ICsgICAgICAgLyoqIE9yaWdpbmFsIHByb2Nlc3Mg ZnVuY3Rpb24gd2hlbiBwY2FwIGlzIGVuYWJsZWQuICovDQo+ID4gKyAgICAgICBydGVfbm9kZV9w cm9jZXNzX3Qgb3JpZ2luYWxfcHJvY2VzczsNCj4gPiArDQo+ID4gICAgICAgICAvKiBGYXN0IHBh dGggYXJlYSAgKi8NCj4gPiAgI2RlZmluZSBSVEVfTk9ERV9DVFhfU1ogMTYNCj4gPiAgICAgICAg IHVpbnQ4X3QgY3R4W1JURV9OT0RFX0NUWF9TWl0gX19ydGVfY2FjaGVfYWxpZ25lZDsgLyoqPCBO b2RlDQo+ID4gQ29udGV4dC4gKi8NCj4gPiAtLQ0KPiA+IDIuMjUuMQ0KPiA+DQo=