Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp4181075pxv; Tue, 27 Jul 2021 00:21:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxs6I/TljhqoMWt4Vwj6R8UYbtF6tzduieY41lAsTJ/9d2IqABh689DiSi4MMY7uWjb49Mo X-Received: by 2002:aa7:dd10:: with SMTP id i16mr26455398edv.105.1627370504575; Tue, 27 Jul 2021 00:21:44 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1627370504; cv=pass; d=google.com; s=arc-20160816; b=Q/Od9NmNDADU4rEBaimY5EOBqFM3d1TUTMS0sgb/2WBg8rM/IMMK5sWmDOLyUpTu/8 6+cUATm//Fqkhsw6lcmTWHNxxIZChvwAgBAs2k+ubOAM1n3z+y87EgXPBLhdq595nhyb pKdVelvLJjfFxRIHV35QqfzegQj3X+YrLYjP89gTi19tcrYbTnXB3FKUZ/1Yhh+iG+Qa 3kJLlB8pMJuV4943U7D+CRm3kHOvLfcQM/b4YqHLOVkDa/SiHmLzByS/LBSXgyc1d8gu Wp3eE/EoHz7AYfqm9qgUqI+zfOYjvZyBJ37o5UskL2FqoBd44FZ7+Niw58BzV/Trai5b ucrw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :dlp-product:dlp-version:dlp-reaction:content-language :accept-language:in-reply-to:references:message-id:date:thread-index :thread-topic:subject:cc:to:from:dkim-signature; bh=BxpPZ1gju6wSmVHfs3TkAqCqV3M3+jzCWPLiwGE9D2s=; b=DuubXotWYYpcrrXborPwl3kb9E6mCWnMqMy1lO4KuZmWAmBrxSadfvMKcij2o3Rcwr +PrI4MiNI8KO009xnRda3LoowBTkYxFIKLoiANJ35CC3mVvyPL+ngGbFdTLvGDkTY2P6 1lpDeDyK9CKHPkKqYkZBqEM7e2+qvbp6DDNBdiQCVoF+X39PFS7FSWpf59OgonCt7fNO ygoiBpGhMUvTQTRXJ+2dEc680WVXB6+SKKKMPUVIYg8DJna1D0zzO2su4hQfjGr97jg6 u0MYm1TZaa0HqCNjtOFufV4RyzEIKe88o2A6Up3c3Q5H/Pn6+CtRZH9Bth/6fNR2tl9z MNJg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=duLwQAc7; arc=pass (i=1 spf=pass spfdomain=intel.com dkim=pass dkdomain=intel.com dmarc=pass fromdomain=intel.com); spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 16si2040896ejj.242.2021.07.27.00.21.03; Tue, 27 Jul 2021 00:21:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=duLwQAc7; arc=pass (i=1 spf=pass spfdomain=intel.com dkim=pass dkdomain=intel.com dmarc=pass fromdomain=intel.com); spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235609AbhG0HTg (ORCPT + 99 others); Tue, 27 Jul 2021 03:19:36 -0400 Received: from mga06.intel.com ([134.134.136.31]:14807 "EHLO mga06.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235558AbhG0HTe (ORCPT ); Tue, 27 Jul 2021 03:19:34 -0400 X-IronPort-AV: E=McAfee;i="6200,9189,10057"; a="273467453" X-IronPort-AV: E=Sophos;i="5.84,272,1620716400"; d="scan'208";a="273467453" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Jul 2021 00:19:33 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,272,1620716400"; d="scan'208";a="456011667" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga007.jf.intel.com with ESMTP; 27 Jul 2021 00:19:33 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Tue, 27 Jul 2021 00:19:32 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Tue, 27 Jul 2021 00:19:32 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10 via Frontend Transport; Tue, 27 Jul 2021 00:19:32 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.177) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.10; Tue, 27 Jul 2021 00:19:32 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mbxw7rJ9tB7n8ik/r7xaWuUJW8QIGwvoVGVY6ayXRIyK419LDQQYIbcM3pPOfpHqF1Gsl5AmeNy0zfFwm/SRarhLuRDxVLmRuBL8QJgABt5Ivprc5LPh+W+DxFo8pgdKtathvPiYKsWpvpDjyUauQYkcnMeMKqwPb4nIuJFyGFuwah0KIpOKCpvO/0dXsz1Dhj4n8ZXVXo3HpTUxJ+4O/UvdsXMhXPZFIg1uMKg2zLaDTJOSKuSCeo1tnkZgckga2RE9EqiWJ80GQPtU0+6JLdt9FnDO8XG5Il/0SG4bSLjWzlAQwZ9qAqqzK+oJUrkvrZPfGEB5Z6UbtbxxTzWHtA== 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-SenderADCheck; bh=BxpPZ1gju6wSmVHfs3TkAqCqV3M3+jzCWPLiwGE9D2s=; b=cQ5WlxvFswKNvi8xWRNiR9ErT7XPXYbtear0yB+osuGvaDPivox/tFscDRc4GuOv4MkXzdUIecbn2hYRrL4qRh439VZlw3u8daX73V+xjCZmXjVu2GfKzWgHKmaVgNVJuwGgeZBvpdUNjrT/brFVcYH49ybRavR6CvtA03Ivgb+fX5SyeWNxEppKjRAC8uVX2d+7biedZUs5WI5FkzZ1/xjIRsltcWtGSIFQ7Bqt9E9ffp1ixpVHMBqWJDEC9cPoBZF3Os4o8TfLTluhQIgw030PvK6kvRP5Z240rcsKgWurBgQ9sC2jrOsoYru9CquY73FL5Gz7/NWKQI4U3Oe7Eg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BxpPZ1gju6wSmVHfs3TkAqCqV3M3+jzCWPLiwGE9D2s=; b=duLwQAc79eNbelpojgWrftCZyhupWWW0ayzeB/oDMbwHwFaudCir754BZ2i55CLIh5V0cIYT+gI4uqrr9/xsXxH1za/KIwam5Vle7/SG7UvJvgsgQBjbvoXNCWd+1vPp/tfVRVdvyyet70OU4jCDLyP0MA7VmqXTXYJQJmHcHYs= Received: from DM8PR11MB5573.namprd11.prod.outlook.com (2603:10b6:8:3b::7) by DM4PR11MB5568.namprd11.prod.outlook.com (2603:10b6:5:39a::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.24; Tue, 27 Jul 2021 07:19:31 +0000 Received: from DM8PR11MB5573.namprd11.prod.outlook.com ([fe80::498d:94c4:3363:ea10]) by DM8PR11MB5573.namprd11.prod.outlook.com ([fe80::498d:94c4:3363:ea10%9]) with mapi id 15.20.4352.031; Tue, 27 Jul 2021 07:19:31 +0000 From: "K, Kiran" To: Luiz Augusto von Dentz CC: "linux-bluetooth@vger.kernel.org" Subject: RE: [PATCH v10 08/10] Bluetooth: Add support for HCI_Enhanced_Setup_Synchronous_Connection command Thread-Topic: [PATCH v10 08/10] Bluetooth: Add support for HCI_Enhanced_Setup_Synchronous_Connection command Thread-Index: AQHXbYaA8D3wKrYcOEOQQblHnX61hqstBOEAgCmL6EA= Date: Tue, 27 Jul 2021 07:19:31 +0000 Message-ID: References: <20210630080807.12600-1-kiran.k@intel.com> <20210630080807.12600-8-kiran.k@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.5.1.3 dlp-product: dlpe-windows authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: cc254e00-7f49-4ee9-243e-08d950cee098 x-ms-traffictypediagnostic: DM4PR11MB5568: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:343; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: hHi14CVpCbdD/bqIs0VPbxBnC0BKntVtYeK6V8332RPAXCHMmKOJqWYNvOSkexzx8y5DKRyYLIHQfyCSSvJdUjGmHhQWBkBjE2bobCQU0KtrwTirv73OF5DfQISL9/PU+MgXnM4M97Fbm+eehda6pT9rv8q7tNU2sVyVPIQrLKpr5jGIsf6ct/WALmMRqqnHiUfepgdMxQFSKtyJ/d3kJX41pRuiviN+t4n+naFcHJZVa4TtyPzPs0T/EdbQd/5brZzuRqPorwFwjNoqjo9F+B2bUFWA838AVsAVT43c79Uv5bzGo3dQmZAa+uLij79zBIgieb2UvA7BMPrShAEaOlUxuwQG18R1NGFfptGPEYcc7FCpf4V/vYEQbdzayRbBXGCI4K3myxuyGENbycOIL2BDurSdVL27cSjzRBzmkZHaZ+3uf6VX3ig0aPmgwVp5jrW1oYVjao0PTq3rfcApPRvDp5uRWGOs/cgZ3woUhmWQId1i1wtRgfO7TsYnn+nnGfNQlpCskso3pyQdtdR4FVf0uVslP/OjFxH0VANA4k38xRdPZikgb4SD3J7USwiMw4QawxNiAPl6O9P+pcI2IITYgog3Z4VAl4NVWdjpxcO08ry69M33bXyvQnHUt6SWLoyURTw1EYf07JIvmAXdnpQv8sLP+OCA6gA2D4IimQHMFqWwbeLn0HkCLePb7IVzbdp8G8IFMGgrvCSMxOZXeg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM8PR11MB5573.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(7696005)(508600001)(76116006)(186003)(8676002)(52536014)(66446008)(6916009)(122000001)(71200400001)(30864003)(4326008)(33656002)(8936002)(38100700002)(316002)(9686003)(2906002)(66556008)(55016002)(5660300002)(64756008)(66476007)(66946007)(83380400001)(6506007)(53546011)(86362001)(38070700004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?L1R1ZXhjQ25TdjFoUE5DTXJGelRvY2Nib210R2dKRGRNLzFmMG5ZQmZFdytt?= =?utf-8?B?OGJqdnNzclI0djVXQkRkbFlHRmxndnVIN3ArbEJaaTBra1lRRndpdXhLWjZt?= =?utf-8?B?VG5DKytsM01ySG10ZjdxRlFBQzRZZGxiTTg5eERHS0U2M2h5OUR2dWJQVHpR?= =?utf-8?B?Z0lIWDRVWEd1MWdHV0tDM3QxTldqWUhMSmZ1ZlpqeUtlY0cwQU0wZExzLzBj?= =?utf-8?B?SHRFVEZGWVhMNW1kYUNlYlM1QnRFYkZZRjlhQndmWmlEdCtLL2ZjZGpCbnJP?= =?utf-8?B?cFZzYkVFNWVHKzFTZ0NweFowTE1RbnRWSWVPOElQMys1VTZ4NmhvZ3VaYmJZ?= =?utf-8?B?dUMyQTRnUWF1cGZ1TkE5SmtxM1pqaVBqNCsvOUQ2NWdIYXhsRWRwQzBaL21B?= =?utf-8?B?NlhsdDF3dUNsd0t0dCt6K0FCUXVjQW12cWcvM2FwZThxd2s3VkRXazdLVGJp?= =?utf-8?B?VFNQMHNOYWN1NEZTbkovK25UTkJEMlVEWXVtdlhEaC90VkxNd1YrUzBPcU95?= =?utf-8?B?Zm5VU3BnNlpHUjUrd0NFemU4bkduWk5Odzl1YXJ1bE55RXBOcFNWaGx6Z2I4?= =?utf-8?B?b004eUJjRTBJbUpraWNpcXduek92OC92YU1lTFRiNHdaV2szQTdIQ24zM3ZR?= =?utf-8?B?cVYvSWgweXVXeWRYNFVIMVlCOG9zVy81VHIvTzVoSjBtZ1B1Z2puekFRSXpo?= =?utf-8?B?ZUFtNklEa21QejRoNFFOS3MvOEdsS2V3Q0ErZzFyZStsbUluQnRsZSs4MENi?= =?utf-8?B?alNDM3JrMi9odkRteTZmV2ErQitZL1BYZnIxNWFBeTJ5YUpIV3BNZkJFeE15?= =?utf-8?B?K0k5VmtRNFhHdysxaUt3RS9IMG51ZWs1T2c2aGRyL2JPZUJxR2ozeW44cE96?= =?utf-8?B?K3NrTk9FVm9yd2twYzFycEwvY3NUOHQvVEpzZGNRYnptUThZSlBRNERnWGlB?= =?utf-8?B?SGcrWkpIMUxKU0g1UWJNZjRRVmIvYmIxYSs1QWhnK2hwTSsxeUw4blNiM3Er?= =?utf-8?B?Ny9QVytGd0RIdWhCVHlFUmNkbEQ4bEZJRDhlTXp1SDNIcXdaMmVtalk4Smgx?= =?utf-8?B?R0ZCQzd3d0RsWXpDb00wS2NqQm8wdlpwRXFza2RGc1ZpSGNkdklKZGp2VlVh?= =?utf-8?B?Y1kwS3VFUWtmUEtmN08zWE1yNDRYZkE2Z1d6clZFQ3ZvMVp4NGQ2dkxyZ1Y2?= =?utf-8?B?QjZDZ1dROVF3eVI3cUFSMWwrcUFIRmVqRytSZmt6a3I5eXBBVi9SQTBDbFJ4?= =?utf-8?B?Q29RdHlkOEJlQ3F4VUlmZ3RWY3Znb1BZMUc4ZElrcjhoM3dxZlJiNE5JZ1I4?= =?utf-8?B?dXUyakRvRENZaU5VejZrWlJhS0JwU2hHNVNuS3RrY1FWWGxVeWg4QnNwbmZV?= =?utf-8?B?UGliaHZHK3Byc1NETFZtVzE5ZUw1S3FqSjRDa3dMamdiN2hGSkIrVE81RHdh?= =?utf-8?B?TFlxUmVqa282eDNtdTVHVWN3N3FFU1hvRm5QSFN6SStTTHZ0d1lKWGw2VG9Q?= =?utf-8?B?WWVUMENGejNRR2pWTnRQZm9UdU1XN1RFeDNWZXFwb0RFUlZ3MlFGYUJjeWQ1?= =?utf-8?B?dW1OMEhqZWlPVndzNkk5bXFJTjlVdlloMVFjR1plYkdTbTRUeHUzV0Rld0NL?= =?utf-8?B?VTFXclFsbW9hRllGOUtUWURaU3BMeVJrbjlPZFF5VmVtaWo4eEtPbmtlS3cr?= =?utf-8?B?dDJGT3hmS1U2a080YStlT016U3hXYVEwaUtHeEppcTdpRlI1RWlwTkFyWTFO?= =?utf-8?B?TVVBRFZuVTY1Nm9kMTRpOG95c3N5NEJ6RGtzS0hkZ2JaVlArSWZLMG9aMVRZ?= =?utf-8?B?Mm83cWxyTXVqMStQRVJkMVJLYytVS2V5a0xrNitmNUJtdENITEkxQVVCMlRS?= =?utf-8?Q?hQTPw87UkXCCe?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8PR11MB5573.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cc254e00-7f49-4ee9-243e-08d950cee098 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jul 2021 07:19:31.0481 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: HUK6ZFBLF7oDLDSycZUCM6uEXoCF15bEgO/fokDbt9SHMrIV7YMZNjx9BlTEaaZl/i36To+BHlw1iBWISzEuAA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB5568 X-OriginatorOrg: intel.com Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org SGkgTHVpeiwNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBMdWl6IEF1 Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QGdtYWlsLmNvbT4NCj4gU2VudDogVGh1cnNkYXks IEp1bHkgMSwgMjAyMSAyOjA5IEFNDQo+IFRvOiBLLCBLaXJhbiA8a2lyYW4ua0BpbnRlbC5jb20+ DQo+IENjOiBsaW51eC1ibHVldG9vdGhAdmdlci5rZXJuZWwub3JnDQo+IFN1YmplY3Q6IFJlOiBb UEFUQ0ggdjEwIDA4LzEwXSBCbHVldG9vdGg6IEFkZCBzdXBwb3J0IGZvcg0KPiBIQ0lfRW5oYW5j ZWRfU2V0dXBfU3luY2hyb25vdXNfQ29ubmVjdGlvbiBjb21tYW5kDQo+IA0KPiBIaSBLaXJhbiwN Cj4gDQo+IE9uIFdlZCwgSnVuIDMwLCAyMDIxIGF0IDE6MDYgQU0gS2lyYW4gSyA8a2lyYW4ua0Bp bnRlbC5jb20+IHdyb3RlOg0KPiA+DQo+ID4gPCBIQ0kgQ29tbWFuZDogRW5oYW5jZWQgU2V0dXAg U3luY2hyb25vdXMgQ29ubmVjdGlvbiAoMHgwMXwweDAwM2QpDQo+IHBsZW4gNTkNCj4gPiAgICAg ICAgIEhhbmRsZTogMjU2DQo+ID4gICAgICAgICBUcmFuc21pdCBiYW5kd2lkdGg6IDgwMDANCj4g PiAgICAgICAgIFJlY2VpdmUgYmFuZHdpZHRoOiA4MDAwDQo+ID4gICAgICAgICBNYXggbGF0ZW5j eTogMTMNCj4gPiAgICAgICAgIFBhY2tldCB0eXBlOiAweDAzODANCj4gPiAgICAgICAgICAgMy1F VjMgbWF5IG5vdCBiZSB1c2VkDQo+ID4gICAgICAgICAgIDItRVY1IG1heSBub3QgYmUgdXNlZA0K PiA+ICAgICAgICAgICAzLUVWNSBtYXkgbm90IGJlIHVzZWQNCj4gPiAgICAgICAgIFJldHJhbnNt aXNzaW9uIGVmZm9ydDogT3B0aW1pemUgZm9yIGxpbmsgcXVhbGl0eSAoMHgwMikNCj4gPiA+IEhD SSBFdmVudDogQ29tbWFuZCBTdGF0dXMgKDB4MGYpIHBsZW4gNA0KPiA+ICAgICAgIEVuaGFuY2Vk IFNldHVwIFN5bmNocm9ub3VzIENvbm5lY3Rpb24gKDB4MDF8MHgwMDNkKSBuY21kIDENCj4gPiAg ICAgICAgIFN0YXR1czogU3VjY2VzcyAoMHgwMCkNCj4gPiA+IEhDSSBFdmVudDogU3luY2hyb25v dXMgQ29ubmVjdCBDb21wbGV0ZSAoMHgyYykgcGxlbiAxNw0KPiA+ICAgICAgICAgU3RhdHVzOiBT dWNjZXNzICgweDAwKQ0KPiA+ICAgICAgICAgSGFuZGxlOiAyNTcNCj4gPiAgICAgICAgIEFkZHJl c3M6IENDOjk4OjhCOjkyOjA0OkZEIChTT05ZIFZpc3VhbCBQcm9kdWN0cyBJbmMuKQ0KPiA+ICAg ICAgICAgTGluayB0eXBlOiBlU0NPICgweDAyKQ0KPiA+ICAgICAgICAgVHJhbnNtaXNzaW9uIGlu dGVydmFsOiAweDBjDQo+ID4gICAgICAgICBSZXRyYW5zbWlzc2lvbiB3aW5kb3c6IDB4MDYNCj4g PiAgICAgICAgIFJYIHBhY2tldCBsZW5ndGg6IDYwDQo+ID4gICAgICAgICBUWCBwYWNrZXQgbGVu Z3RoOiA2MA0KPiA+ICAgICAgICAgQWlyIG1vZGU6IFRyYW5zcGFyZW50ICgweDAzKQ0KPiA+DQo+ ID4gU2lnbmVkLW9mZi1ieTogS2lyYW4gSyA8a2lyYW4ua0BpbnRlbC5jb20+DQo+ID4gUmV2aWV3 ZWQtYnk6IENoZXRoYW4gVCBOIDxjaGV0aGFuLnR1bWt1ci5uYXJheWFuQGludGVsLmNvbT4NCj4g PiBSZXZpZXdlZC1ieTogU3JpdmF0c2EgUmF2aXNoYW5rYXIgPHJhdmlzaGFua2FyLnNyaXZhdHNh QGludGVsLmNvbT4NCj4gPiAtLS0NCj4gPiAqIGNoYW5nZXMgaW4gdjEwOg0KPiA+ICAgLSBGaXgg dHlwb3MgYW5kIHJlbW92ZSB1bndhbnRlZCBjaHVua3MNCj4gPiAqIGNoYW5nZXMgaW4gdjk6DQo+ ID4gICAtIEZpeCByZXZpZXcgY29tbWVudHMsIHVzZSBidF9kZXZfZGJnIGluc3RlYWQgb2YgQlRf REJHDQo+ID4NCj4gPiAgaW5jbHVkZS9uZXQvYmx1ZXRvb3RoL2JsdWV0b290aC5oIHwgICAzICst DQo+ID4gIGluY2x1ZGUvbmV0L2JsdWV0b290aC9oY2kuaCAgICAgICB8ICAzNCArKysrKysrKysr DQo+ID4gIGluY2x1ZGUvbmV0L2JsdWV0b290aC9oY2lfY29yZS5oICB8ICAgNyArLQ0KPiA+ICBu ZXQvYmx1ZXRvb3RoL2hjaV9jb25uLmMgICAgICAgICAgfCAxMDYgKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tDQo+ID4gIG5ldC9ibHVldG9vdGgvaGNpX2V2ZW50LmMgICAgICAgICB8ICA0 OCArKysrKysrKysrKysrLQ0KPiA+ICBuZXQvYmx1ZXRvb3RoL3Njby5jICAgICAgICAgICAgICAg fCAgMTMgKysrLQ0KPiA+ICA2IGZpbGVzIGNoYW5nZWQsIDIwMSBpbnNlcnRpb25zKCspLCAxMCBk ZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9ibHVldG9vdGgv Ymx1ZXRvb3RoLmgNCj4gPiBiL2luY2x1ZGUvbmV0L2JsdWV0b290aC9ibHVldG9vdGguaA0KPiA+ IGluZGV4IDBlODgwMmQwOTA2OC4uYWYyODA5MTIxNTcxIDEwMDY0NA0KPiA+IC0tLSBhL2luY2x1 ZGUvbmV0L2JsdWV0b290aC9ibHVldG9vdGguaA0KPiA+ICsrKyBiL2luY2x1ZGUvbmV0L2JsdWV0 b290aC9ibHVldG9vdGguaA0KPiA+IEBAIC0xNzMsNyArMTczLDggQEAgc3RydWN0IGJ0X2NvZGVj cyB7DQo+ID4gICAgICAgICBzdHJ1Y3QgYnRfY29kZWMgY29kZWNzW107DQo+ID4gIH0gX19wYWNr ZWQ7DQo+ID4NCj4gPiAtI2RlZmluZSBDT0RJTkdfRk9STUFUX0NWU0QgICAgIDB4MDINCj4gPiAr I2RlZmluZSBDT0RJTkdfRk9STUFUX0NWU0QgICAgICAgICAgICAgMHgwMg0KPiA+ICsjZGVmaW5l IENPRElOR19GT1JNQVRfVFJBTlNQQVJFTlQgICAgICAweDAzDQo+ID4NCj4gPiAgX19wcmludGYo MSwgMikNCj4gPiAgdm9pZCBidF9pbmZvKGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsNCj4gPiBkaWZm IC0tZ2l0IGEvaW5jbHVkZS9uZXQvYmx1ZXRvb3RoL2hjaS5oIGIvaW5jbHVkZS9uZXQvYmx1ZXRv b3RoL2hjaS5oDQo+ID4gaW5kZXggYWUzODRiN2JmMDAwLi5lMjAzMTg4NTQ5MDAgMTAwNjQ0DQo+ ID4gLS0tIGEvaW5jbHVkZS9uZXQvYmx1ZXRvb3RoL2hjaS5oDQo+ID4gKysrIGIvaW5jbHVkZS9u ZXQvYmx1ZXRvb3RoL2hjaS5oDQo+ID4gQEAgLTg3MSw2ICs4NzEsNDAgQEAgc3RydWN0IGhjaV9j cF9sb2dpY2FsX2xpbmtfY2FuY2VsIHsNCj4gPiAgICAgICAgIF9fdTggICAgIGZsb3dfc3BlY19p ZDsNCj4gPiAgfSBfX3BhY2tlZDsNCj4gPg0KPiA+ICsjZGVmaW5lIEhDSV9PUF9FTkhBTkNFRF9T RVRVUF9TWU5DX0NPTk4gICAgICAgICAgICAgICAgMHgwNDNEDQo+ID4gK3N0cnVjdCBoY2lfY29k aW5nX2Zvcm1hdCB7DQo+ID4gKyAgICAgICBfX3U4ICAgIGlkOw0KPiA+ICsgICAgICAgX19sZTE2 ICBjaWQ7DQo+ID4gKyAgICAgICBfX2xlMTYgIHZpZDsNCj4gPiArfSBfX3BhY2tlZDsNCj4gPiAr DQo+ID4gK3N0cnVjdCBoY2lfY3BfZW5oYW5jZWRfc2V0dXBfc3luY19jb25uIHsNCj4gPiArICAg ICAgIF9fbGUxNiAgIGhhbmRsZTsNCj4gPiArICAgICAgIF9fbGUzMiAgIHR4X2JhbmR3aWR0aDsN Cj4gPiArICAgICAgIF9fbGUzMiAgIHJ4X2JhbmR3aWR0aDsNCj4gPiArICAgICAgIHN0cnVjdCAg IGhjaV9jb2RpbmdfZm9ybWF0IHR4X2NvZGluZ19mb3JtYXQ7DQo+ID4gKyAgICAgICBzdHJ1Y3Qg ICBoY2lfY29kaW5nX2Zvcm1hdCByeF9jb2RpbmdfZm9ybWF0Ow0KPiA+ICsgICAgICAgX19sZTE2 ICAgdHhfY29kZWNfZnJhbWVfc2l6ZTsNCj4gPiArICAgICAgIF9fbGUxNiAgIHJ4X2NvZGVjX2Zy YW1lX3NpemU7DQo+ID4gKyAgICAgICBfX2xlMzIgICBpbl9iYW5kd2lkdGg7DQo+ID4gKyAgICAg ICBfX2xlMzIgICBvdXRfYmFuZHdpZHRoOw0KPiA+ICsgICAgICAgc3RydWN0ICAgaGNpX2NvZGlu Z19mb3JtYXQgaW5fY29kaW5nX2Zvcm1hdDsNCj4gPiArICAgICAgIHN0cnVjdCAgIGhjaV9jb2Rp bmdfZm9ybWF0IG91dF9jb2RpbmdfZm9ybWF0Ow0KPiA+ICsgICAgICAgX19sZTE2ICAgaW5fY29k ZWRfZGF0YV9zaXplOw0KPiA+ICsgICAgICAgX19sZTE2ICAgb3V0X2NvZGVkX2RhdGFfc2l6ZTsN Cj4gPiArICAgICAgIF9fdTggICAgIGluX3BjbV9kYXRhX2Zvcm1hdDsNCj4gPiArICAgICAgIF9f dTggICAgIG91dF9wY21fZGF0YV9mb3JtYXQ7DQo+ID4gKyAgICAgICBfX3U4ICAgICBpbl9wY21f c2FtcGxlX3BheWxvYWRfbXNiX3BvczsNCj4gPiArICAgICAgIF9fdTggICAgIG91dF9wY21fc2Ft cGxlX3BheWxvYWRfbXNiX3BvczsNCj4gPiArICAgICAgIF9fdTggICAgIGluX2RhdGFfcGF0aDsN Cj4gPiArICAgICAgIF9fdTggICAgIG91dF9kYXRhX3BhdGg7DQo+ID4gKyAgICAgICBfX3U4ICAg ICBpbl90cmFuc3BvcnRfdW5pdF9zaXplOw0KPiA+ICsgICAgICAgX191OCAgICAgb3V0X3RyYW5z cG9ydF91bml0X3NpemU7DQo+ID4gKyAgICAgICBfX2xlMTYgICBtYXhfbGF0ZW5jeTsNCj4gPiAr ICAgICAgIF9fbGUxNiAgIHBrdF90eXBlOw0KPiA+ICsgICAgICAgX191OCAgICAgcmV0cmFuc19l ZmZvcnQ7DQo+ID4gK30gX19wYWNrZWQ7DQo+ID4gKw0KPiA+ICBzdHJ1Y3QgaGNpX3JwX2xvZ2lj YWxfbGlua19jYW5jZWwgew0KPiA+ICAgICAgICAgX191OCAgICAgc3RhdHVzOw0KPiA+ICAgICAg ICAgX191OCAgICAgcGh5X2hhbmRsZTsNCj4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQvYmx1 ZXRvb3RoL2hjaV9jb3JlLmgNCj4gPiBiL2luY2x1ZGUvbmV0L2JsdWV0b290aC9oY2lfY29yZS5o DQo+ID4gaW5kZXggZWJmNDJhM2FjNmNkLi44MGVkODFmYjE4ODMgMTAwNjQ0DQo+ID4gLS0tIGEv aW5jbHVkZS9uZXQvYmx1ZXRvb3RoL2hjaV9jb3JlLmgNCj4gPiArKysgYi9pbmNsdWRlL25ldC9i bHVldG9vdGgvaGNpX2NvcmUuaA0KPiA+IEBAIC03MTksNiArNzE5LDcgQEAgc3RydWN0IGhjaV9j b25uIHsNCj4gPiAgICAgICAgIHN0cnVjdCBhbXBfbWdyICAqYW1wX21ncjsNCj4gPg0KPiA+ICAg ICAgICAgc3RydWN0IGhjaV9jb25uICpsaW5rOw0KPiA+ICsgICAgICAgc3RydWN0IGJ0X2NvZGVj IGNvZGVjOw0KPiA+DQo+ID4gICAgICAgICB2b2lkICgqY29ubmVjdF9jZm1fY2IpICAoc3RydWN0 IGhjaV9jb25uICpjb25uLCB1OCBzdGF0dXMpOw0KPiA+ICAgICAgICAgdm9pZCAoKnNlY3VyaXR5 X2NmbV9jYikgKHN0cnVjdCBoY2lfY29ubiAqY29ubiwgdTggc3RhdHVzKTsgQEANCj4gPiAtMTEw MSw2ICsxMTAyLDcgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgaGNpX2Nvbm4NCj4gPiAqaGNpX2xv b2t1cF9sZV9jb25uZWN0KHN0cnVjdCBoY2lfZGV2ICpoZGV2KQ0KPiA+DQo+ID4gIGludCBoY2lf ZGlzY29ubmVjdChzdHJ1Y3QgaGNpX2Nvbm4gKmNvbm4sIF9fdTggcmVhc29uKTsgIGJvb2wNCj4g PiBoY2lfc2V0dXBfc3luYyhzdHJ1Y3QgaGNpX2Nvbm4gKmNvbm4sIF9fdTE2IGhhbmRsZSk7DQo+ ID4gK2Jvb2wgaGNpX2VuaGFuY2VkX3NldHVwX3N5bmMoc3RydWN0IGhjaV9jb25uICpjb25uLCBf X3UxNiBoYW5kbGUpOw0KPiA+ICB2b2lkIGhjaV9zY29fc2V0dXAoc3RydWN0IGhjaV9jb25uICpj b25uLCBfX3U4IHN0YXR1cyk7DQo+ID4NCj4gPiAgc3RydWN0IGhjaV9jb25uICpoY2lfY29ubl9h ZGQoc3RydWN0IGhjaV9kZXYgKmhkZXYsIGludCB0eXBlLA0KPiA+IGJkYWRkcl90ICpkc3QsIEBA IC0xMTI1LDcgKzExMjcsNyBAQCBzdHJ1Y3QgaGNpX2Nvbm4NCj4gKmhjaV9jb25uZWN0X2FjbChz dHJ1Y3QgaGNpX2RldiAqaGRldiwgYmRhZGRyX3QgKmRzdCwNCj4gPiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1OCBzZWNfbGV2ZWwsIHU4IGF1dGhfdHlwZSwNCj4gPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIGNvbm5fcmVhc29ucyBjb25uX3JlYXNvbik7 DQo+ID4gc3RydWN0IGhjaV9jb25uICpoY2lfY29ubmVjdF9zY28oc3RydWN0IGhjaV9kZXYgKmhk ZXYsIGludCB0eXBlLCBiZGFkZHJfdA0KPiAqZHN0LA0KPiA+IC0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF9fdTE2IHNldHRpbmcpOw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF9fdTE2IHNldHRpbmcsIHN0cnVjdCBidF9jb2RlYw0KPiA+ICsgKmNvZGVjKTsN Cj4gPiAgaW50IGhjaV9jb25uX2NoZWNrX2xpbmtfbW9kZShzdHJ1Y3QgaGNpX2Nvbm4gKmNvbm4p OyAgaW50DQo+ID4gaGNpX2Nvbm5fY2hlY2tfc2VjdXJlKHN0cnVjdCBoY2lfY29ubiAqY29ubiwg X191OCBzZWNfbGV2ZWwpOyAgaW50DQo+ID4gaGNpX2Nvbm5fc2VjdXJpdHkoc3RydWN0IGhjaV9j b25uICpjb25uLCBfX3U4IHNlY19sZXZlbCwgX191OA0KPiA+IGF1dGhfdHlwZSwgQEAgLTE0NDYs NiArMTQ0OCw5IEBAIHZvaWQgaGNpX2Nvbm5fZGVsX3N5c2ZzKHN0cnVjdA0KPiA+IGhjaV9jb25u ICpjb25uKTsNCj4gPiAgLyogVXNlIExMIFByaXZhY3kgYmFzZWQgYWRkcmVzcyByZXNvbHV0aW9u IGlmIHN1cHBvcnRlZCAqLyAgI2RlZmluZQ0KPiA+IHVzZV9sbF9wcml2YWN5KGRldikgKChkZXYp LT5sZV9mZWF0dXJlc1swXSAmIEhDSV9MRV9MTF9QUklWQUNZKQ0KPiA+DQo+ID4gKy8qIFVzZSBl bmhhbmNlZCBzeW5jaHJvbm91cyBjb25uZWN0aW9uIGlmIGNvbW1hbmQgaXMgc3VwcG9ydGVkICov DQo+ID4gKyNkZWZpbmUgdXNlX2VuaGFuY2VkX3Njb19jb25uKGRldikgKChkZXYpLT5jb21tYW5k c1syOV0gJiAweDA4KQ0KPiA+ICsNCj4gPiAgLyogVXNlIGV4dCBzY2FubmluZyBpZiBzZXQgZXh0 IHNjYW4gcGFyYW0gYW5kIGV4dCBzY2FuIGVuYWJsZSBpcw0KPiA+IHN1cHBvcnRlZCAqLyAgI2Rl ZmluZSB1c2VfZXh0X3NjYW4oZGV2KSAoKChkZXYpLT5jb21tYW5kc1szN10gJiAweDIwKQ0KPiAm JiBcDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKChkZXYpLT5jb21tYW5kc1szN10g JiAweDQwKSkgZGlmZiAtLWdpdA0KPiA+IGEvbmV0L2JsdWV0b290aC9oY2lfY29ubi5jIGIvbmV0 L2JsdWV0b290aC9oY2lfY29ubi5jIGluZGV4DQo+ID4gMmI1MDU5YTU2Y2RhLi5kNGEwOGIzNDRh ZDAgMTAwNjQ0DQo+ID4gLS0tIGEvbmV0L2JsdWV0b290aC9oY2lfY29ubi5jDQo+ID4gKysrIGIv bmV0L2JsdWV0b290aC9oY2lfY29ubi5jDQo+ID4gQEAgLTMwNyw2ICszMDcsOTYgQEAgc3RhdGlj IGJvb2wgZmluZF9uZXh0X2VzY29fcGFyYW0oc3RydWN0IGhjaV9jb25uDQo+ICpjb25uLA0KPiA+ ICAgICAgICAgcmV0dXJuIGNvbm4tPmF0dGVtcHQgPD0gc2l6ZTsNCj4gPiAgfQ0KPiA+DQo+ID4g K2Jvb2wgaGNpX2VuaGFuY2VkX3NldHVwX3N5bmMoc3RydWN0IGhjaV9jb25uICpjb25uLCBfX3Ux NiBoYW5kbGUpIHsNCj4gPiArICAgICAgIHN0cnVjdCBoY2lfZGV2ICpoZGV2ID0gY29ubi0+aGRl djsNCj4gPiArICAgICAgIHN0cnVjdCBoY2lfY3BfZW5oYW5jZWRfc2V0dXBfc3luY19jb25uIGNw Ow0KPiA+ICsgICAgICAgY29uc3Qgc3RydWN0IHNjb19wYXJhbSAqcGFyYW07DQo+ID4gKw0KPiA+ ICsgICAgICAgYnRfZGV2X2RiZyhoZGV2LCAiaGNvbiAlcCIsIGNvbm4pOw0KPiA+ICsNCj4gPiAr ICAgICAgIGNvbm4tPnN0YXRlID0gQlRfQ09OTkVDVDsNCj4gPiArICAgICAgIGNvbm4tPm91dCA9 IHRydWU7DQo+ID4gKw0KPiA+ICsgICAgICAgY29ubi0+YXR0ZW1wdCsrOw0KPiA+ICsNCj4gPiAr ICAgICAgIG1lbXNldCgmY3AsIDB4MDAsIHNpemVvZihjcCkpOw0KPiA+ICsNCj4gPiArICAgICAg IGNwLmhhbmRsZSAgID0gY3B1X3RvX2xlMTYoaGFuZGxlKTsNCj4gPiArDQo+ID4gKyAgICAgICBj cC50eF9iYW5kd2lkdGggICA9IGNwdV90b19sZTMyKDB4MDAwMDFmNDApOw0KPiA+ICsgICAgICAg Y3AucnhfYmFuZHdpZHRoICAgPSBjcHVfdG9fbGUzMigweDAwMDAxZjQwKTsNCj4gPiArDQo+ID4g KyAgICAgICBzd2l0Y2ggKGNvbm4tPmNvZGVjLmlkKSB7DQo+ID4gKyAgICAgICBjYXNlIENPRElO R19GT1JNQVRfVFJBTlNQQVJFTlQ6DQo+ID4gKyAgICAgICAgICAgICAgIGlmICghZmluZF9uZXh0 X2VzY29fcGFyYW0oY29ubiwgZXNjb19wYXJhbV9tc2JjLA0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEFSUkFZX1NJWkUoZXNjb19wYXJhbV9tc2JjKSkpDQo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KPiA+ICsgICAgICAgICAg ICAgICBwYXJhbSA9ICZlc2NvX3BhcmFtX21zYmNbY29ubi0+YXR0ZW1wdCAtIDFdOw0KPiA+ICsg ICAgICAgICAgICAgICBjcC50eF9jb2RpbmdfZm9ybWF0LmlkID0gMHgwMzsNCj4gPiArICAgICAg ICAgICAgICAgY3AucnhfY29kaW5nX2Zvcm1hdC5pZCA9IDB4MDM7DQo+ID4gKyAgICAgICAgICAg ICAgIGNwLnR4X2NvZGVjX2ZyYW1lX3NpemUgPSBfX2NwdV90b19sZTE2KDYwKTsNCj4gPiArICAg ICAgICAgICAgICAgY3AucnhfY29kZWNfZnJhbWVfc2l6ZSA9IF9fY3B1X3RvX2xlMTYoNjApOw0K PiA+ICsgICAgICAgICAgICAgICBjcC5pbl9iYW5kd2lkdGggPSBfX2NwdV90b19sZTMyKDB4MWY0 MCk7DQo+ID4gKyAgICAgICAgICAgICAgIGNwLm91dF9iYW5kd2lkdGggPSBfX2NwdV90b19sZTMy KDB4MWY0MCk7DQo+ID4gKyAgICAgICAgICAgICAgIGNwLmluX2NvZGluZ19mb3JtYXQuaWQgPSAw eDAzOw0KPiA+ICsgICAgICAgICAgICAgICBjcC5vdXRfY29kaW5nX2Zvcm1hdC5pZCA9IDB4MDM7 DQo+ID4gKyAgICAgICAgICAgICAgIGNwLmluX2NvZGVkX2RhdGFfc2l6ZSA9IF9fY3B1X3RvX2xl MTYoMTYpOw0KPiA+ICsgICAgICAgICAgICAgICBjcC5vdXRfY29kZWRfZGF0YV9zaXplID0gX19j cHVfdG9fbGUxNigxNik7DQo+ID4gKyAgICAgICAgICAgICAgIGNwLmluX3BjbV9kYXRhX2Zvcm1h dCA9IDI7DQo+ID4gKyAgICAgICAgICAgICAgIGNwLm91dF9wY21fZGF0YV9mb3JtYXQgPSAyOw0K PiA+ICsgICAgICAgICAgICAgICBjcC5pbl9wY21fc2FtcGxlX3BheWxvYWRfbXNiX3BvcyA9IDA7 DQo+ID4gKyAgICAgICAgICAgICAgIGNwLm91dF9wY21fc2FtcGxlX3BheWxvYWRfbXNiX3BvcyA9 IDA7DQo+ID4gKyAgICAgICAgICAgICAgIGNwLmluX2RhdGFfcGF0aCA9IGNvbm4tPmNvZGVjLmRh dGFfcGF0aDsNCj4gPiArICAgICAgICAgICAgICAgY3Aub3V0X2RhdGFfcGF0aCA9IGNvbm4tPmNv ZGVjLmRhdGFfcGF0aDsNCj4gPiArICAgICAgICAgICAgICAgY3AuaW5fdHJhbnNwb3J0X3VuaXRf c2l6ZSA9IDE7DQo+ID4gKyAgICAgICAgICAgICAgIGNwLm91dF90cmFuc3BvcnRfdW5pdF9zaXpl ID0gMTsNCj4gPiArICAgICAgICAgICAgICAgYnJlYWs7DQo+ID4gKw0KPiA+ICsgICAgICAgY2Fz ZSBDT0RJTkdfRk9STUFUX0NWU0Q6DQo+ID4gKyAgICAgICAgICAgICAgIGlmIChsbXBfZXNjb19j YXBhYmxlKGNvbm4tPmxpbmspKSB7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFm aW5kX25leHRfZXNjb19wYXJhbShjb25uLCBlc2NvX3BhcmFtX2N2c2QsDQo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUlJBWV9TSVpFKGVzY29f cGFyYW1fY3ZzZCkpKQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu IGZhbHNlOw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtID0gJmVzY29fcGFyYW1f Y3ZzZFtjb25uLT5hdHRlbXB0IC0gMV07DQo+ID4gKyAgICAgICAgICAgICAgIH0gZWxzZSB7DQo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbm4tPmF0dGVtcHQgPiBBUlJBWV9TSVpF KHNjb19wYXJhbV9jdnNkKSkNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl dHVybiBmYWxzZTsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBwYXJhbSA9ICZzY29fcGFy YW1fY3ZzZFtjb25uLT5hdHRlbXB0IC0gMV07DQo+ID4gKyAgICAgICAgICAgICAgIH0NCj4gPiAr ICAgICAgICAgICAgICAgY3AudHhfY29kaW5nX2Zvcm1hdC5pZCA9IDI7DQo+ID4gKyAgICAgICAg ICAgICAgIGNwLnJ4X2NvZGluZ19mb3JtYXQuaWQgPSAyOw0KPiA+ICsgICAgICAgICAgICAgICBj cC50eF9jb2RlY19mcmFtZV9zaXplID0gX19jcHVfdG9fbGUxNig2MCk7DQo+ID4gKyAgICAgICAg ICAgICAgIGNwLnJ4X2NvZGVjX2ZyYW1lX3NpemUgPSBfX2NwdV90b19sZTE2KDYwKTsNCj4gPiAr ICAgICAgICAgICAgICAgY3AuaW5fYmFuZHdpZHRoID0gX19jcHVfdG9fbGUzMigxNjAwMCk7DQo+ ID4gKyAgICAgICAgICAgICAgIGNwLm91dF9iYW5kd2lkdGggPSBfX2NwdV90b19sZTMyKDE2MDAw KTsNCj4gPiArICAgICAgICAgICAgICAgY3AuaW5fY29kaW5nX2Zvcm1hdC5pZCA9IDQ7DQo+ID4g KyAgICAgICAgICAgICAgIGNwLm91dF9jb2RpbmdfZm9ybWF0LmlkID0gNDsNCj4gPiArICAgICAg ICAgICAgICAgY3AuaW5fY29kZWRfZGF0YV9zaXplID0gX19jcHVfdG9fbGUxNigxNik7DQo+ID4g KyAgICAgICAgICAgICAgIGNwLm91dF9jb2RlZF9kYXRhX3NpemUgPSBfX2NwdV90b19sZTE2KDE2 KTsNCj4gPiArICAgICAgICAgICAgICAgY3AuaW5fcGNtX2RhdGFfZm9ybWF0ID0gMjsNCj4gPiAr ICAgICAgICAgICAgICAgY3Aub3V0X3BjbV9kYXRhX2Zvcm1hdCA9IDI7DQo+ID4gKyAgICAgICAg ICAgICAgIGNwLmluX3BjbV9zYW1wbGVfcGF5bG9hZF9tc2JfcG9zID0gMDsNCj4gPiArICAgICAg ICAgICAgICAgY3Aub3V0X3BjbV9zYW1wbGVfcGF5bG9hZF9tc2JfcG9zID0gMDsNCj4gPiArICAg ICAgICAgICAgICAgY3AuaW5fZGF0YV9wYXRoID0gY29ubi0+Y29kZWMuZGF0YV9wYXRoOw0KPiA+ ICsgICAgICAgICAgICAgICBjcC5vdXRfZGF0YV9wYXRoID0gY29ubi0+Y29kZWMuZGF0YV9wYXRo Ow0KPiA+ICsgICAgICAgICAgICAgICBjcC5pbl90cmFuc3BvcnRfdW5pdF9zaXplID0gMTY7DQo+ ID4gKyAgICAgICAgICAgICAgIGNwLm91dF90cmFuc3BvcnRfdW5pdF9zaXplID0gMTY7DQo+ID4g KyAgICAgICAgICAgICAgIGJyZWFrOw0KPiA+ICsgICAgICAgZGVmYXVsdDoNCj4gPiArICAgICAg ICAgICAgICAgcmV0dXJuIGZhbHNlOw0KPiA+ICsgICAgICAgfQ0KPiA+ICsNCj4gPiArICAgICAg IGNwLnJldHJhbnNfZWZmb3J0ID0gcGFyYW0tPnJldHJhbnNfZWZmb3J0Ow0KPiA+ICsgICAgICAg Y3AucGt0X3R5cGUgPSBfX2NwdV90b19sZTE2KHBhcmFtLT5wa3RfdHlwZSk7DQo+ID4gKyAgICAg ICBjcC5tYXhfbGF0ZW5jeSA9IF9fY3B1X3RvX2xlMTYocGFyYW0tPm1heF9sYXRlbmN5KTsNCj4g PiArDQo+ID4gKyAgICAgICBpZiAoaGNpX3NlbmRfY21kKGhkZXYsIEhDSV9PUF9FTkhBTkNFRF9T RVRVUF9TWU5DX0NPTk4sDQo+IHNpemVvZihjcCksICZjcCkgPCAwKQ0KPiA+ICsgICAgICAgICAg ICAgICByZXR1cm4gZmFsc2U7DQo+ID4gKw0KPiA+ICsgICAgICAgcmV0dXJuIHRydWU7DQo+ID4g K30NCj4gPiArDQo+ID4gIGJvb2wgaGNpX3NldHVwX3N5bmMoc3RydWN0IGhjaV9jb25uICpjb25u LCBfX3UxNiBoYW5kbGUpICB7DQo+ID4gICAgICAgICBzdHJ1Y3QgaGNpX2RldiAqaGRldiA9IGNv bm4tPmhkZXY7IEBAIC00MjQsMTAgKzUxNCwxNCBAQCB2b2lkDQo+ID4gaGNpX3Njb19zZXR1cChz dHJ1Y3QgaGNpX2Nvbm4gKmNvbm4sIF9fdTggc3RhdHVzKQ0KPiA+ICAgICAgICAgQlRfREJHKCJo Y29uICVwIiwgY29ubik7DQo+ID4NCj4gPiAgICAgICAgIGlmICghc3RhdHVzKSB7DQo+ID4gLSAg ICAgICAgICAgICAgIGlmIChsbXBfZXNjb19jYXBhYmxlKGNvbm4tPmhkZXYpKQ0KPiA+IC0gICAg ICAgICAgICAgICAgICAgICAgIGhjaV9zZXR1cF9zeW5jKHNjbywgY29ubi0+aGFuZGxlKTsNCj4g PiAtICAgICAgICAgICAgICAgZWxzZQ0KPiA+ICsgICAgICAgICAgICAgICBpZiAobG1wX2VzY29f Y2FwYWJsZShjb25uLT5oZGV2KSkgew0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGlmICh1 c2VfZW5oYW5jZWRfc2NvX2Nvbm4oY29ubi0+aGRldikpDQo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBoY2lfZW5oYW5jZWRfc2V0dXBfc3luYyhzY28sIGNvbm4tPmhhbmRsZSk7 DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgZWxzZQ0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaGNpX3NldHVwX3N5bmMoc2NvLCBjb25uLT5oYW5kbGUpOw0KPiANCj4g TWFrZSB0aGUgY2hlY2sgZm9yIHVzZV9lbmhhbmNlZF9zY29fY29ubiBpbnNpZGUgaGNpX3NldHVw X3N5bmMgYW5kIHRoZW4NCj4gY2FsbCBpdCBpbnRlcm5hbGx5IHRoZXJlIHNvIHdlIGRvbid0IGhh dmUgdG8gY2hlY2sgaXQgaW4gbXVsdGlwbGUgcGxhY2VzIChhZmFpayB3ZQ0KPiBub3JtYWxseSB1 c2UgX2NhcGFibGUgZm9yIHRoaXMgc29ydCBvZiBtYWNyb3MpLiBCdHcgc2luY2UgdGhlIHVzZSBv Zg0KPiBlbmhhbmNlZCB2ZXJzaW9uIHdvbid0IGJlIGNvbmRpdGlvbmFsIHRvIHRoZSBuZXcgS2Nv bmZpZyB5b3UgbXVzdCBlbmFibGUgaXQNCj4gaW4gdGhlIGVtdWxhdG9yIHNvIGl0IGNhbiBiZSBl eGVyY2lzZWQgYnkgdGhlIENJLCBhbHNvIElkIGp1c3Qgc2VuZCB0aGlzIG9uZQ0KPiBzZXBhcmF0 ZWx5IGFsb25nc2lkZSB0aGUgY2hhbmdlcyB0byBlbmFibGUgaXQgb24gdGhlIGVtdWxhdG9yLg0K DQpBY2suDQoNCj4gDQo+ID4gKyAgICAgICAgICAgICAgIH0gZWxzZSB7DQo+ID4gICAgICAgICAg ICAgICAgICAgICAgICAgaGNpX2FkZF9zY28oc2NvLCBjb25uLT5oYW5kbGUpOw0KPiA+ICsgICAg ICAgICAgICAgICB9DQo+ID4gICAgICAgICB9IGVsc2Ugew0KPiA+ICAgICAgICAgICAgICAgICBo Y2lfY29ubmVjdF9jZm0oc2NvLCBzdGF0dXMpOw0KPiA+ICAgICAgICAgICAgICAgICBoY2lfY29u bl9kZWwoc2NvKTsNCj4gPiBAQCAtMTMxOSw3ICsxNDEzLDcgQEAgc3RydWN0IGhjaV9jb25uICpo Y2lfY29ubmVjdF9hY2woc3RydWN0IGhjaV9kZXYNCj4gPiAqaGRldiwgYmRhZGRyX3QgKmRzdCwg IH0NCj4gPg0KPiA+ICBzdHJ1Y3QgaGNpX2Nvbm4gKmhjaV9jb25uZWN0X3NjbyhzdHJ1Y3QgaGNp X2RldiAqaGRldiwgaW50IHR5cGUsIGJkYWRkcl90DQo+ICpkc3QsDQo+ID4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgX191MTYgc2V0dGluZykNCj4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBfX3UxNiBzZXR0aW5nLCBzdHJ1Y3QgYnRfY29kZWMNCj4gPiArICpj b2RlYykNCj4gPiAgew0KPiA+ICAgICAgICAgc3RydWN0IGhjaV9jb25uICphY2w7DQo+ID4gICAg ICAgICBzdHJ1Y3QgaGNpX2Nvbm4gKnNjbzsNCj4gPiBAQCAtMTM0NCw2ICsxNDM4LDEwIEBAIHN0 cnVjdCBoY2lfY29ubiAqaGNpX2Nvbm5lY3Rfc2NvKHN0cnVjdA0KPiBoY2lfZGV2ICpoZGV2LCBp bnQgdHlwZSwgYmRhZGRyX3QgKmRzdCwNCj4gPiAgICAgICAgIGhjaV9jb25uX2hvbGQoc2NvKTsN Cj4gPg0KPiA+ICAgICAgICAgc2NvLT5zZXR0aW5nID0gc2V0dGluZzsNCj4gPiArICAgICAgIHNj by0+Y29kZWMuaWQgPSBjb2RlYy0+aWQ7DQo+ID4gKyAgICAgICBzY28tPmNvZGVjLmNpZCA9IGNv ZGVjLT5jaWQ7DQo+ID4gKyAgICAgICBzY28tPmNvZGVjLnZpZCA9IGNvZGVjLT52aWQ7DQo+ID4g KyAgICAgICBzY28tPmNvZGVjLmRhdGFfcGF0aCA9IGNvZGVjLT5kYXRhX3BhdGg7DQo+ID4NCj4g PiAgICAgICAgIGlmIChhY2wtPnN0YXRlID09IEJUX0NPTk5FQ1RFRCAmJg0KPiA+ICAgICAgICAg ICAgIChzY28tPnN0YXRlID09IEJUX09QRU4gfHwgc2NvLT5zdGF0ZSA9PSBCVF9DTE9TRUQpKSB7 IGRpZmYNCj4gPiAtLWdpdCBhL25ldC9ibHVldG9vdGgvaGNpX2V2ZW50LmMgYi9uZXQvYmx1ZXRv b3RoL2hjaV9ldmVudC5jIGluZGV4DQo+ID4gMWMzMDE4MjAyNTY0Li5hMDIxZjI5ZjEyYWQgMTAw NjQ0DQo+ID4gLS0tIGEvbmV0L2JsdWV0b290aC9oY2lfZXZlbnQuYw0KPiA+ICsrKyBiL25ldC9i bHVldG9vdGgvaGNpX2V2ZW50LmMNCj4gPiBAQCAtMjIzNiw2ICsyMjM2LDQxIEBAIHN0YXRpYyB2 b2lkIGhjaV9jc19zZXR1cF9zeW5jX2Nvbm4oc3RydWN0DQo+IGhjaV9kZXYgKmhkZXYsIF9fdTgg c3RhdHVzKQ0KPiA+ICAgICAgICAgaGNpX2Rldl91bmxvY2soaGRldik7DQo+ID4gIH0NCj4gPg0K PiA+ICtzdGF0aWMgdm9pZCBoY2lfY3NfZW5oYW5jZWRfc2V0dXBfc3luY19jb25uKHN0cnVjdCBo Y2lfZGV2ICpoZGV2LA0KPiA+ICtfX3U4IHN0YXR1cykgew0KPiA+ICsgICAgICAgc3RydWN0IGhj aV9jcF9lbmhhbmNlZF9zZXR1cF9zeW5jX2Nvbm4gKmNwOw0KPiA+ICsgICAgICAgc3RydWN0IGhj aV9jb25uICphY2wsICpzY287DQo+ID4gKyAgICAgICBfX3UxNiBoYW5kbGU7DQo+ID4gKw0KPiA+ ICsgICAgICAgYnRfZGV2X2RiZyhoZGV2LCAic3RhdHVzIDB4JTIuMngiLCBzdGF0dXMpOw0KPiA+ ICsNCj4gPiArICAgICAgIGlmICghc3RhdHVzKQ0KPiA+ICsgICAgICAgICAgICAgICByZXR1cm47 DQo+ID4gKw0KPiA+ICsgICAgICAgY3AgPSBoY2lfc2VudF9jbWRfZGF0YShoZGV2LA0KPiBIQ0lf T1BfRU5IQU5DRURfU0VUVVBfU1lOQ19DT05OKTsNCj4gPiArICAgICAgIGlmICghY3ApDQo+ID4g KyAgICAgICAgICAgICAgIHJldHVybjsNCj4gPiArDQo+ID4gKyAgICAgICBoYW5kbGUgPSBfX2xl MTZfdG9fY3B1KGNwLT5oYW5kbGUpOw0KPiA+ICsNCj4gPiArICAgICAgIGJ0X2Rldl9kYmcoaGRl diwgImhhbmRsZSAweCU0LjR4IiwgaGFuZGxlKTsNCj4gPiArDQo+ID4gKyAgICAgICBoY2lfZGV2 X2xvY2soaGRldik7DQo+ID4gKw0KPiA+ICsgICAgICAgYWNsID0gaGNpX2Nvbm5faGFzaF9sb29r dXBfaGFuZGxlKGhkZXYsIGhhbmRsZSk7DQo+ID4gKyAgICAgICBpZiAoYWNsKSB7DQo+ID4gKyAg ICAgICAgICAgICAgIHNjbyA9IGFjbC0+bGluazsNCj4gPiArICAgICAgICAgICAgICAgaWYgKHNj bykgew0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHNjby0+c3RhdGUgPSBCVF9DTE9TRUQ7 DQo+ID4gKw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGhjaV9jb25uZWN0X2NmbShzY28s IHN0YXR1cyk7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgaGNpX2Nvbm5fZGVsKHNjbyk7 DQo+ID4gKyAgICAgICAgICAgICAgIH0NCj4gPiArICAgICAgIH0NCj4gPiArDQo+ID4gKyAgICAg ICBoY2lfZGV2X3VubG9jayhoZGV2KTsNCj4gPiArfQ0KPiA+ICsNCj4gPiAgc3RhdGljIHZvaWQg aGNpX2NzX3NuaWZmX21vZGUoc3RydWN0IGhjaV9kZXYgKmhkZXYsIF9fdTggc3RhdHVzKSAgew0K PiA+ICAgICAgICAgc3RydWN0IGhjaV9jcF9zbmlmZl9tb2RlICpjcDsNCj4gPiBAQCAtMzcxNSw2 ICszNzUwLDEwIEBAIHN0YXRpYyB2b2lkIGhjaV9jbWRfc3RhdHVzX2V2dChzdHJ1Y3QgaGNpX2Rl dg0KPiAqaGRldiwgc3RydWN0IHNrX2J1ZmYgKnNrYiwNCj4gPiAgICAgICAgICAgICAgICAgaGNp X2NzX3NldHVwX3N5bmNfY29ubihoZGV2LCBldi0+c3RhdHVzKTsNCj4gPiAgICAgICAgICAgICAg ICAgYnJlYWs7DQo+ID4NCj4gPiArICAgICAgIGNhc2UgSENJX09QX0VOSEFOQ0VEX1NFVFVQX1NZ TkNfQ09OTjoNCj4gPiArICAgICAgICAgICAgICAgaGNpX2NzX2VuaGFuY2VkX3NldHVwX3N5bmNf Y29ubihoZGV2LCBldi0+c3RhdHVzKTsNCj4gPiArICAgICAgICAgICAgICAgYnJlYWs7DQo+ID4g Kw0KPiA+ICAgICAgICAgY2FzZSBIQ0lfT1BfU05JRkZfTU9ERToNCj4gPiAgICAgICAgICAgICAg ICAgaGNpX2NzX3NuaWZmX21vZGUoaGRldiwgZXYtPnN0YXR1cyk7DQo+ID4gICAgICAgICAgICAg ICAgIGJyZWFrOw0KPiA+IEBAIC00NDAxLDggKzQ0NDAsMTMgQEAgc3RhdGljIHZvaWQgaGNpX3N5 bmNfY29ubl9jb21wbGV0ZV9ldnQoc3RydWN0DQo+IGhjaV9kZXYgKmhkZXYsDQo+ID4gICAgICAg ICAgICAgICAgIGlmIChjb25uLT5vdXQpIHsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICBj b25uLT5wa3RfdHlwZSA9IChoZGV2LT5lc2NvX3R5cGUgJiBTQ09fRVNDT19NQVNLKSB8DQo+ID4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChoZGV2LT5lc2NvX3R5cGUg JiBFRFJfRVNDT19NQVNLKTsNCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICBpZiAoaGNpX3Nl dHVwX3N5bmMoY29ubiwgY29ubi0+bGluay0+aGFuZGxlKSkNCj4gPiAtICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGdvdG8gdW5sb2NrOw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAg IGlmICh1c2VfZW5oYW5jZWRfc2NvX2Nvbm4oaGRldikpIHsNCj4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGlmIChoY2lfZW5oYW5jZWRfc2V0dXBfc3luYyhjb25uLCBjb25uLT5s aW5rLT5oYW5kbGUpKQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBnb3RvIHVubG9jazsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGhjaV9zZXR1cF9zeW5jKGNvbm4s IGNvbm4tPmxpbmstPmhhbmRsZSkpDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGdvdG8gdW5sb2NrOw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIH0NCj4g PiAgICAgICAgICAgICAgICAgfQ0KPiA+ICAgICAgICAgICAgICAgICBmYWxsdGhyb3VnaDsNCj4g Pg0KPiA+IGRpZmYgLS1naXQgYS9uZXQvYmx1ZXRvb3RoL3Njby5jIGIvbmV0L2JsdWV0b290aC9z Y28uYyBpbmRleA0KPiA+IDRiNmVlMGIzMDJkNy4uYjQ0ZDU2ZWI5MzZhIDEwMDY0NA0KPiA+IC0t LSBhL25ldC9ibHVldG9vdGgvc2NvLmMNCj4gPiArKysgYi9uZXQvYmx1ZXRvb3RoL3Njby5jDQo+ ID4gQEAgLTI0MCw3ICsyNDAsNyBAQCBzdGF0aWMgaW50IHNjb19jb25uZWN0KHN0cnVjdCBzb2Nr ICpzaykNCj4gPiAgICAgICAgIH0NCj4gPg0KPiA+ICAgICAgICAgaGNvbiA9IGhjaV9jb25uZWN0 X3NjbyhoZGV2LCB0eXBlLCAmc2NvX3BpKHNrKS0+ZHN0LA0KPiA+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzY29fcGkoc2spLT5zZXR0aW5nKTsNCj4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2NvX3BpKHNrKS0+c2V0dGluZywNCj4gPiArICZzY29fcGkoc2spLT5j b2RlYyk7DQo+ID4gICAgICAgICBpZiAoSVNfRVJSKGhjb24pKSB7DQo+ID4gICAgICAgICAgICAg ICAgIGVyciA9IFBUUl9FUlIoaGNvbik7DQo+ID4gICAgICAgICAgICAgICAgIGdvdG8gZG9uZTsN Cj4gPiBAQCAtODc2LDkgKzg3Niw5IEBAIHN0YXRpYyBpbnQgc2NvX3NvY2tfc2V0c29ja29wdChz dHJ1Y3Qgc29ja2V0ICpzb2NrLA0KPiBpbnQgbGV2ZWwsIGludCBvcHRuYW1lLA0KPiA+ICAgICAg ICAgdTMyIG9wdDsNCj4gPiAgI2lmIElTX0VOQUJMRUQoQ09ORklHX0JUX09GRkxPQURfQ09ERUNT KQ0KPiA+ICAgICAgICAgc3RydWN0IGJ0X2NvZGVjcyAqY29kZWNzOw0KPiA+IC0gICAgICAgc3Ry dWN0IGhjaV9kZXYgKmhkZXY7DQo+ID4gICAgICAgICBfX3U4IGJ1ZmZlclsyNTVdOw0KPiA+ICAj ZW5kaWYNCj4gPiArICAgICAgIHN0cnVjdCBoY2lfZGV2ICpoZGV2Ow0KPiA+DQo+ID4gICAgICAg ICBCVF9EQkcoInNrICVwIiwgc2spOw0KPiA+DQo+ID4gQEAgLTkyNiw2ICs5MjYsMTUgQEAgc3Rh dGljIGludCBzY29fc29ja19zZXRzb2Nrb3B0KHN0cnVjdCBzb2NrZXQgKnNvY2ssDQo+IGludCBs ZXZlbCwgaW50IG9wdG5hbWUsDQo+ID4gICAgICAgICAgICAgICAgIH0NCj4gPg0KPiA+ICAgICAg ICAgICAgICAgICBzY29fcGkoc2spLT5zZXR0aW5nID0gdm9pY2Uuc2V0dGluZzsNCj4gPiArICAg ICAgICAgICAgICAgaGRldiA9IGhjaV9nZXRfcm91dGUoJnNjb19waShzayktPmRzdCwgJnNjb19w aShzayktPnNyYywNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkRB RERSX0JSRURSKTsNCj4gPiArICAgICAgICAgICAgICAgaWYgKCFoZGV2KSB7DQo+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgZXJyID0gLUVCQURGRDsNCj4gPiArICAgICAgICAgICAgICAgICAg ICAgICBicmVhazsNCj4gPiArICAgICAgICAgICAgICAgfQ0KPiA+ICsgICAgICAgICAgICAgICBp ZiAodXNlX2VuaGFuY2VkX3Njb19jb25uKGhkZXYpICYmDQo+ID4gKyAgICAgICAgICAgICAgICAg ICB2b2ljZS5zZXR0aW5nID09IEJUX1ZPSUNFX1RSQU5TUEFSRU5UKQ0KPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgIHNjb19waShzayktPmNvZGVjLmlkID0NCj4gPiArIENPRElOR19GT1JNQVRf VFJBTlNQQVJFTlQ7DQo+ID4gICAgICAgICAgICAgICAgIGJyZWFrOw0KPiA+DQo+ID4gICAgICAg ICBjYXNlIEJUX1BLVF9TVEFUVVM6DQo+ID4gLS0NCj4gPiAyLjE3LjENCj4gPg0KPiANCj4gDQo+ IC0tDQo+IEx1aXogQXVndXN0byB2b24gRGVudHoNCg0KVGhhbmtzLA0KS2lyYW4NCg0K