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 2B5FA41C4F; Thu, 9 Feb 2023 12:49:30 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BECA54067B; Thu, 9 Feb 2023 12:49:29 +0100 (CET) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id 413E0400D5 for ; Thu, 9 Feb 2023 12:49:27 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1675943367; x=1707479367; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Rv2QwcE7lXOffM2uIH/W7mNKEMkVGdz+tEjwgL//En4=; b=Ulu/MFdPZpBM7QWIeq3368tnojV5Gk9v7MZAgwLSmNKxWDKu5uADHRFL /dvfyutK4Jpf87pA1Rp2XV/y4vwY+CDiO80faeuSCfjnjpD620dqCQJD/ 6WOizp/8vx9pxKruQ9aa9cwa7Q65dXD7V6L9LVSYg9tTfGOaWkCV4SuWL kmWSvzNTv1i6Zxl0z3RHyJLUI5ZaZqJDrQUnLY0SCrAGB99jyLUqRCAvo YjbBYX502ZfrAJIFgw+k6MGINLNkv7o3H/0XfmcR4Vc6vojdK3cvO4Xad jRJxxs0VfKk5H3y6j0UaBePwEzjWlND5WtWM7L/NIXMTpXGW3kxkSF8I0 Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10615"; a="310440422" X-IronPort-AV: E=Sophos;i="5.97,283,1669104000"; d="scan'208";a="310440422" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Feb 2023 03:49:18 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10615"; a="913102290" X-IronPort-AV: E=Sophos;i="5.97,283,1669104000"; d="scan'208";a="913102290" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga006.fm.intel.com with ESMTP; 09 Feb 2023 03:49:17 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Thu, 9 Feb 2023 03:49:17 -0800 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Thu, 9 Feb 2023 03:49:16 -0800 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) 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.2507.16 via Frontend Transport; Thu, 9 Feb 2023 03:49:16 -0800 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.174) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Thu, 9 Feb 2023 03:49:16 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BDcuILs+3aAr+g6yYgP30AUfpQdxOwoEj6t107A9kZ8WbPFkCzWo7AJhajUN8rRtk5Fv+lBRkciTBvXc3lpaeOxV3dlkK5fP1rSkW/EAXygBWhxhy+WwI5/DM1/bF5GD7XuuRsWVIgpUpiCToQ8HNdL1FgTfRfcquyzygXbd/000g3jeofRb4Rs3wV7RX2EAeYomWN13f9KF2yexNWznMywQNqxr8hXuXM/KBe0+cJZAvnF3eHYsU/KYfGnhcqxh8HZWqeYJ9WfkDOHhWhHPUMB+tWv26xSrvxtOKZQJudDDw9mENhSJjIiyQ1MfM2Hgz+158HCZX0uK+p+rog3gqg== 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=Rv2QwcE7lXOffM2uIH/W7mNKEMkVGdz+tEjwgL//En4=; b=IlLXpfOG5GUmkH8/4uLuU/GpcbVBLJCXPMFDkdGgYt9NvJCjYmMkgqMnHSWkIcFnk/vBcxpA5UpQI3vxF7QoWr/K1pn1ATMbaqagKos9Cn3+XBGcsJdFvi5SvSoRtkrmIUa2nuaT5zSxSFUeRQKxPJKedWIAuyKBw3tyBhJY3hbI9moebI/982J4ogIWrw9pEybuUZgSjcnfQ/qfkIe6r/KG/PpX+badHXuGwJLFJpgyKq5zZDyhslZiiqZgINM4lzNeWOAABzBi9g2mGO5HL9Q8UOhTDNz0nW9IVwTG95VIcSoSo9ozEWGHW8UQf1wALKLZ3rmRJZQSJZjK7smBDQ== 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 Received: from DM6PR11MB3995.namprd11.prod.outlook.com (2603:10b6:5:6::12) by DS7PR11MB6014.namprd11.prod.outlook.com (2603:10b6:8:73::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.35; Thu, 9 Feb 2023 11:49:14 +0000 Received: from DM6PR11MB3995.namprd11.prod.outlook.com ([fe80::54a5:a239:8020:9f11]) by DM6PR11MB3995.namprd11.prod.outlook.com ([fe80::54a5:a239:8020:9f11%4]) with mapi id 15.20.6064.034; Thu, 9 Feb 2023 11:49:14 +0000 From: "Koikkara Reeny, Shibin" To: Ferruh Yigit , "dev@dpdk.org" , "Zhang, Qi Z" , "Burakov, Anatoly" , "Richardson, Bruce" , "Mcnamara, John" CC: "Loftus, Ciara" Subject: RE: [PATCH v3] net/af_xdp: AF_XDP PMD CNI Integration Thread-Topic: [PATCH v3] net/af_xdp: AF_XDP PMD CNI Integration Thread-Index: AQHZNydAeqxMuz4wV0qw9snkjAyaja7FaKYAgADvjpA= Date: Thu, 9 Feb 2023 11:49:14 +0000 Message-ID: References: <20230202165513.31012-1-shibin.koikkara.reeny@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM6PR11MB3995:EE_|DS7PR11MB6014:EE_ x-ms-office365-filtering-correlation-id: 0c8ebb82-cf73-446c-838a-08db0a93aadc x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: j1+o1++uDqp4HKzZnvaC8QHN6UxJJ+znRj7dOF8FTaL4TjaT9/xw3WocMyrgTQqqrdDa6BftD58Yp6tZrm6GJ5NhJ7AbpNxfEuKxSB2xfNYX5aqyr9vBI0GhnBzi3fI6Pm99WILtLvg3KVJX3InGen3QnFScce4/NF058oJdGfTo+F2akVK+blW0oO896BiihINbeiJXk5fn6xLfYyBVV/qiggoAhfs25OFFEomckJo2SRypNqEhAwQMck1Q8roKHLmrL9+crbVHJ0lCQDLrfMCgcWt4pDg9XPJ2sIb3EMjxfLUQN8Mn2PDYyArfp46eVoBRFWaYv2esXJ0qLQXiNwfWHfE5cg0MNoVUmiYkXHjqBxhibwc03Vft5IdR0an7XwSbv3l9q7qi5ih6C/vl10i3H+vhi71yvTYL8xM06Kmdej2cawroWBUK/o4CFGR4MA10z1LdH+CKfMy1OtSFqVVgNfLdCOVmPV+M1iQRHyxhilpO3emrM1DmZobDiUwyfKlBK1ZkkUXE60p2C8dTgpzI9v8+q9SSnyPelU0m0vUfbXtVHezkMG2myVfkVmZWw6z20uZi9eBGRT0SnoaASoDExDfdA3nGUZNazUW1+72rQGg0trWckQhPGKUvYl0SBdKTVhcl2CdeDSSNcxCWwvNUtgFR5lUqAuSmb1LaFRUNbnYlDyQHatdUSMa3WHpjm69/y172aW5Em9PRgik3vELOjRA8MIGPqqSfa2HsL7BFMSU4raNfMetG6svta9ICGtzPSCoUxQYA9uiVOtfnTUh891vhvNQy+dE6DhKVlvA= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB3995.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(396003)(39860400002)(376002)(366004)(136003)(346002)(451199018)(5660300002)(30864003)(2906002)(83380400001)(82960400001)(66476007)(38100700002)(76116006)(921005)(38070700005)(55016003)(110136005)(8676002)(122000001)(4326008)(6636002)(66946007)(41300700001)(26005)(52536014)(8936002)(66556008)(107886003)(64756008)(9686003)(71200400001)(66446008)(33656002)(7696005)(186003)(6506007)(316002)(478600001)(86362001)(966005)(53546011); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WnUzSytDRDdzb1BMSnNqQkdnSS9HRlRhWWpCTWRCWi9tbVBDOVhaWUkyNlBN?= =?utf-8?B?R1U5MnpVUzZWK0hyTVNVOGNKK2orVUhSRUlwOGh6NTRENWtNR2FxWGlRbnhs?= =?utf-8?B?S2x5L0pBRTczQlFSTURLdGxKTkN5UTNnSUFINGRJZkhteTRuZEJyMEV6MkdU?= =?utf-8?B?QThhaURZVmRBS2VuTEJuWXNjeFo5N3JhUFEveHplekpSYnpocFlpdCtsWERz?= =?utf-8?B?TVBxU0hLSzg4TUF2VEZkMVFUYmhZMEQxQXQ5R2FTNFhUZks3L1JFdFZtR2hO?= =?utf-8?B?dytMWHNSUWlZcXVjZmJ4SVBUenoxeWlGNDlXelJPQWo5TElPWExVMDFjK2JY?= =?utf-8?B?YnlBRjZYVFFCVHY4NDhCRG9CdnlLNGFJWDYyTFZoTW0zUW1hN1lOQXRXbUdH?= =?utf-8?B?Q2g5bk5WZWh0S0RZSmxxa1lFRkh2ejcxNlNpdzNqN3JWd0czYWZKMTQ5QlNr?= =?utf-8?B?cW1QNktvbUVtdnpHcjFKRUd4cU9ySXJDckxWRHJXTDdNSU5DY2NKUXpGU1Vq?= =?utf-8?B?RzErOUdUUXA5WDlhbC9US2tnUlZGR0ZhcEJ0MWtLMDc1cTZybVNmWnlLRHUv?= =?utf-8?B?UmpMU1REMHRSQ0VYODJGUnk0clp6clk0S09UOG03TlMwek4xcUtNdHNueXdu?= =?utf-8?B?YVRyY1kzTlI0UHdwT1RrMVdVVTVJVHllNWhjQ3hkVFBFRjhYSlUvRWZZNFYr?= =?utf-8?B?QnlUSjByZEFETEg0di9HU2h1NlFBOEhobjhlaGo5K3VXTDI1SkFMdDlKNjdY?= =?utf-8?B?a1NybWZEL3JnUzMxNGJ0c0hZczNBV0NVRkR2TWo5RGdEbXZMKzA3V3BpaFFW?= =?utf-8?B?dlRXVlc5VUg5QVhxREZVbzdTTDhKM1k4TkpKdXJhaVVPUi9pQkEyU1pFQzlM?= =?utf-8?B?YWdJZUlVd21JTlkvMEI1cnVvSlIxbzM3MzI1VlB0VElXQjB5Ym1nRmVPY1Ey?= =?utf-8?B?czBKRyt0Tm4yVkRhRFBLSDdiMWVQNFJ3TmdtMW5Xc0hNdE9aVkppcjBhWVhs?= =?utf-8?B?eEUzMnkwVzF3TDlOeFlSQm1abWdwcDRNcjBzdTlFSzI5ZGZwQUpxc0wxUVAw?= =?utf-8?B?QWFPQTN5bm4rTk10NmhVcGF1ZHV1WE55cFlva1RaTjVYKzlydUVGVnhCNHR4?= =?utf-8?B?SVpCQ1hDODlsT3ZldkJhU0RvVXJWM0FkQ0Q1YWNtdzU1UTZFc1JvUUpWUTV3?= =?utf-8?B?bVZGZDE2SS9hVVBVdkRTUnpSa09MOUxNSE1ZZWJSN3NEM3J5ZEFNaUpiN0Mz?= =?utf-8?B?UnFVczhHRUJ4dENaMnA5RE1ISnlNcWJMemdyUWNtVllsd245MTVGdnJMRC9Q?= =?utf-8?B?QUMrMkhlSGJDWDBGK3hwTEkvK1lyVkxFOHNYZTZtd1N3VVRnWGdZZzB2VEZu?= =?utf-8?B?cUsvVk1VaE82NEVDUFMxU2V6SUVEUUV6MDREald4MldzR0ZLQ3I4My9nRUdE?= =?utf-8?B?TTdhU2lNQWRiOWlPeU5VaFVwVUJacnU4bVFIR3VFclpGd3g0M0xtODVROFBw?= =?utf-8?B?MWpjb09Nc3dORGV6cDdVVlZSOFJPbXhESGhkWmJSZmdpWVl1TnZ6WkZsMzFW?= =?utf-8?B?SFNCc3J0MDZDVUpKdWJMVjVPVEplTGtDd0FWZWlEQ3hzNkxxbnNCUU43aUdZ?= =?utf-8?B?STk2bFF5c1pTYVJQM3hFOTU5Q052dTFxS2RtS29LTmw1RDJzMEhBeGhMcm54?= =?utf-8?B?VjNIZmFtaFd4U3NEQ1RhNk1BbFladnJ3eTl2ZWQrUzN5bXFFcFNVY1hWV1Nv?= =?utf-8?B?V01NRWFyTlBzU3pyTEdNR0pNRTNGYjdlNVIwR0ZCbGFlaDFNYzVvZkpid3dE?= =?utf-8?B?bkRoMzZ1YmpXTmQ3c1ZtS2E2SFRNN2MrVm5ld1hFc3llRmU0amw4T1V0eDJ5?= =?utf-8?B?TmZ4eDA1Qnh1OTllTDI5RDNGbE1DaGJ4eDAwNkVRbFFUTGRKUUl1ZFVKaVZn?= =?utf-8?B?RVkwMTJiams4SEt6dXFmeTA2dmhTNEQ1L0gzRzNQSTVSRzFQQkpGZUZxWUU0?= =?utf-8?B?STN3Y0l3aHpGcGZKWk9lZTE3NVdVdzYzWVlkaVhzeWNqYWlkcmg4K0M3UnVV?= =?utf-8?B?cEp2OXZTdzBoejdMTVdRRC9SR1AranNFM1RSNlplZ0tGWUdiQWZQZEd3R293?= =?utf-8?B?Vm53Y0w4ZDh1VS8rRjQyNVliZHJQVVlwRmdYWVZhblVYd2FkOWw1UTZndGVn?= =?utf-8?B?YXc9PQ==?= 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: DM6PR11MB3995.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0c8ebb82-cf73-446c-838a-08db0a93aadc X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Feb 2023 11:49:14.5480 (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: oaRXJ4ferGZeguzlpt/R70h64ZB4VGjc6tlPl+O0f0utFZ6dSrASHIiksEcgs2zu7KAGVR4/TI30/l9/kFF/n56BUD+bDGhFXZOYG7ynzps= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR11MB6014 X-OriginatorOrg: intel.com 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmVycnVoIFlpZ2l0IDxm ZXJydWgueWlnaXRAYW1kLmNvbT4NCj4gU2VudDogV2VkbmVzZGF5LCBGZWJydWFyeSA4LCAyMDIz IDY6MzEgUE0NCj4gVG86IEtvaWtrYXJhIFJlZW55LCBTaGliaW4gPHNoaWJpbi5rb2lra2FyYS5y ZWVueUBpbnRlbC5jb20+Ow0KPiBkZXZAZHBkay5vcmc7IFpoYW5nLCBRaSBaIDxxaS56LnpoYW5n QGludGVsLmNvbT47IEJ1cmFrb3YsIEFuYXRvbHkNCj4gPGFuYXRvbHkuYnVyYWtvdkBpbnRlbC5j b20+OyBSaWNoYXJkc29uLCBCcnVjZQ0KPiA8YnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb20+OyBN Y25hbWFyYSwgSm9obg0KPiA8am9obi5tY25hbWFyYUBpbnRlbC5jb20+DQo+IENjOiBMb2Z0dXMs IENpYXJhIDxjaWFyYS5sb2Z0dXNAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHYz XSBuZXQvYWZfeGRwOiBBRl9YRFAgUE1EIENOSSBJbnRlZ3JhdGlvbg0KPiANCj4gT24gMi8yLzIw MjMgNDo1NSBQTSwgU2hpYmluIEtvaWtrYXJhIFJlZW55IHdyb3RlOg0KPiA+IEludGVncmF0ZSBz dXBwb3J0IGZvciB0aGUgQUZfWERQIENOSSBhbmQgZGV2aWNlIHBsdWdpbiBbMV0gc28gdGhhdCB0 aGUNCj4gPiBEUERLIEFGX1hEUCBQTUQgY2FuIHdvcmsgaW4gYW4gdW5wcml2aWxlZ2VkIGNvbnRh aW5lciBlbnZpcm9ubWVudC4NCj4gPiBQYXJ0IG9mIHRoZSBBRl9YRFAgUE1EIGluaXRpYWxpemF0 aW9uIHByb2Nlc3MgaW52b2x2ZXMgbG9hZGluZyBhbiBlQlBGDQo+ID4gcHJvZ3JhbSBvbnRvIHRo ZSBnaXZlbiBuZXRkZXYuIFRoaXMgb3BlcmF0aW9uIHJlcXVpcmVzIHByaXZpbGVnZXMsDQo+ID4g d2hpY2ggcHJldmVudHMgdGhlIFBNRCBmcm9tIGJlaW5nIGFibGUgdG8gd29yayBpbiBhbiB1bnBy aXZpbGVnZWQNCj4gPiBjb250YWluZXIgKHdpdGhvdXQgcm9vdCBhY2Nlc3MpLiBUaGUgcGx1Z2lu IENOSSBoYW5kbGVzIHRoZSBwcm9ncmFtDQo+ID4gbG9hZGluZy4gQ05JIG9wZW4gVW5peCBEb21h aW4gU29ja2V0IChVRFMpIGFuZCB3YWl0cyBsaXN0ZW5pbmcgZm9yIGENCj4gPiBjbGllbnQgdG8g bWFrZSByZXF1ZXN0cyBvdmVyIHRoYXQgVURTLiBUaGUgY2xpZW50KERQREspIGNvbm5lY3RzIGFu ZCBhDQo+ID4gImhhbmRzaGFrZSIgb2NjdXJzLCB0aGVuIHRoZSBGaWxlIERlc2NyaXB0b3Igd2hp Y2ggcG9pbnRzIHRvIHRoZQ0KPiA+IFhTS01BUCBhc3NvY2lhdGVkIHdpdGggdGhlIGxvYWRlZCBl QlBGIHByb2dyYW0gaXMgaGFuZGVkIG92ZXIgdG8gdGhlDQo+ID4gY2xpZW50LiBUaGUgY2xpZW50 IGNhbiB0aGVuIHByb2NlZWQgd2l0aCBjcmVhdGluZyBhbiBBRl9YRFAgc29ja2V0IGFuZA0KPiA+ IGluc2VydGluZyB0aGUgc29ja2V0IGludG8gdGhlIFhTS01BUCBwb2ludGVkIHRvIGJ5IHRoZSBG RCByZWNlaXZlZCBvbg0KPiA+IHRoZSBVRFMuDQo+ID4NCj4gPiBBIG5ldyB2ZGV2IGFyZyAidXNl X2NuaSIgaXMgY3JlYXRlZCB0byBpbmRpY2F0ZSB1c2VyIHdpc2hlcyB0byBydW4gdGhlDQo+ID4g UE1EIGluIHVucHJpdmlsZWdlZCBtb2RlIGFuZCB0byByZWNlaXZlIHRoZSBYU0tNQVAgRkQgZnJv bSB0aGUgQ05JLg0KPiA+IFdoZW4gdGhpcyBmbGFnIGlzIHNldCwgdGhlIFhTS19MSUJCUEZfRkxB R1NfX0lOSElCSVRfUFJPR19MT0FEIGxpYmJwZg0KPiA+IGZsYWcgc2hvdWxkIGJlIHVzZWQgd2hl biBjcmVhdGluZyB0aGUgc29ja2V0LCB3aGljaCB0ZWxscyBsaWJicGYgbm90DQo+ID4gdG8gbG9h ZCB0aGUgZGVmYXVsdCBsaWJicGYgcHJvZ3JhbSBvbiB0aGUgbmV0ZGV2LiBXZSB0ZWxsIGxpYmJw ZiBub3QNCj4gPiB0byBkbyB0aGlzIGJlY2F1c2UgdGhlIGxvYWRpbmcgaXMgaGFuZGxlZCBieSB0 aGUgQ05JIGluIHRoaXMgc2NlbmFyaW8uDQo+ID4NCj4gPiBQYXRjaCBpbmNsdWRlIGhvd3RvIGRv YyBleHBsYWluIGhvdyB0byBjb25maWd1cmUgQUZfWERQIENOSSB0byB3b3JraW5nDQo+ID4gd2l0 aCBEUERLLg0KPiA+DQo+IA0KPiBJIGNhbid0IGFibGUgdG8gdGVzdCB0aGlzIGJ1dCBJIHdpbGwg cmVseSBvbiBBbmF0b2x5J3MgdGVzdGVkLWJ5IHRvIHByb2NlZWQuDQo+IA0KPiA+IFsxXTogaHR0 cHM6Ly9naXRodWIuY29tL2ludGVsL2FmeGRwLXBsdWdpbnMtZm9yLWt1YmVybmV0ZXMNCj4gPg0K PiA+IFNpZ25lZC1vZmYtYnk6IFNoaWJpbiBLb2lra2FyYSBSZWVueSA8c2hpYmluLmtvaWtrYXJh LnJlZW55QGludGVsLmNvbT4NCj4gPiAtLS0NCj4gPiAgZG9jL2d1aWRlcy9ob3d0by9hZl94ZHBf Y25pLnJzdCAgICAgfCAyNTQgKysrKysrKysrKysrKysrKysrKysrDQo+ID4gIGRvYy9ndWlkZXMv aG93dG8vaW5kZXgucnN0ICAgICAgICAgIHwgICAxICsNCj4gPiAgZHJpdmVycy9uZXQvYWZfeGRw L3J0ZV9ldGhfYWZfeGRwLmMgfCAzMzcNCj4gPiArKysrKysrKysrKysrKysrKysrKysrKysrKyst DQo+ID4gIDMgZmlsZXMgY2hhbmdlZCwgNTgwIGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygt KSAgY3JlYXRlIG1vZGUNCj4gPiAxMDA2NDQgZG9jL2d1aWRlcy9ob3d0by9hZl94ZHBfY25pLnJz dA0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMvaG93dG8vYWZfeGRwX2NuaS5yc3QN Cj4gPiBiL2RvYy9ndWlkZXMvaG93dG8vYWZfeGRwX2NuaS5yc3QgbmV3IGZpbGUgbW9kZSAxMDA2 NDQgaW5kZXgNCj4gPiAwMDAwMDAwMDAwLi4xY2RhMDhiMmM2DQo+ID4gLS0tIC9kZXYvbnVsbA0K PiA+ICsrKyBiL2RvYy9ndWlkZXMvaG93dG8vYWZfeGRwX2NuaS5yc3QNCj4gPiBAQCAtMCwwICsx LDI1NCBAQA0KPiA+ICsuLiAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQ0K PiA+ICsgICAgQ29weXJpZ2h0KGMpIDIwMjAgSW50ZWwgQ29ycG9yYXRpb24uDQo+IA0KPiAyMDIz Pw0KDQpXaWxsIHVwZGF0ZSBpdCBpbiB0aGUgbmV4dCBwYXRjaC4NCg0KPiANCj4gPiArDQo+ID4g Kw0KPiA+ICtVc2luZyBhIENOSSB3aXRoIHRoZSBBRl9YRFAgZHJpdmVyDQo+ID4gKz09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gPiArDQo+ID4gKw0KPiA+ICsNCj4gDQo+IElz IG11bHRpcGxlIGVtcHR5IGxpbmVzIHJlcXVpcmVkPw0KDQoNCldpbGwgdXBkYXRlIGl0IGluIHRo ZSBuZXh0IHBhdGNoLg0KDQo+IA0KPiA+ICtJbnRyb2R1Y3Rpb24NCj4gPiArLS0tLS0tLS0tLS0t DQo+ID4gKw0KPiA+ICtDTkksIHRoZSBDb250YWluZXIgTmV0d29yayBJbnRlcmZhY2UsIGlzIGEg dGVjaG5vbG9neSBmb3IgY29uZmlndXJpbmcNCj4gPiArY29udGFpbmVyIG5ldHdvcmsgaW50ZXJm YWNlcyBhbmQgd2hpY2ggY2FuIGJlIHVzZWQgdG8gc2V0dXANCj4gPiArS3ViZXJuZXRlcyBuZXR3 b3JraW5nLiBBRl9YRFAgaXMgYSBMaW51eCBzb2NrZXQgQWRkcmVzcyBGYW1pbHkgdGhhdA0KPiA+ ICtlbmFibGVzIGFuIFhEUCBwcm9ncmFtIHRvIHJlZGlyZWN0IHBhY2tldHMgdG8gYSBtZW1vcnkg YnVmZmVyIGluDQo+IHVzZXJzcGFjZS4NCj4gPiArDQo+ID4gK1RoaXMgZG9jdW1lbnQgZXhwbGFp bnMgaG93IHRvIGVuYWJsZSB0aGUgYEFGX1hEUCBQbHVnaW4gZm9yDQo+ID4gK0t1YmVybmV0ZXNg XyB3aXRoaW4gYSBEUERLIGFwcGxpY2F0aW9uIHVzaW5nIHRoZSBgQUZfWERQIFBNRGBfIHRvDQo+ IGNvbm5lY3QgYW5kIHVzZSB0aGVzZSB0ZWNobm9sb2dpZXMuDQo+ID4gKw0KPiA+ICsuLiBfQUZf WERQIFBsdWdpbiBmb3IgS3ViZXJuZXRlczoNCj4gPiAraHR0cHM6Ly9naXRodWIuY29tL2ludGVs L2FmeGRwLXBsdWdpbnMtZm9yLWt1YmVybmV0ZXMNCj4gPiArDQo+ID4gK0JhY2tncm91bmQNCj4g PiArLS0tLS0tLS0tLQ0KPiA+ICsNCj4gPiArVGhlIHN0YW5kYXJkIGBBRl9YRFAgUE1EYF8gaW5p dGlhbGl6YXRpb24gcHJvY2VzcyBpbnZvbHZlcyBsb2FkaW5nIGFuDQo+ID4gK2VCUEYgcHJvZ3Jh bSBvbnRvIHRoZSBrZXJuZWwgbmV0ZGV2IHRvIGJlIHVzZWQgYnkgdGhlIFBNRC4gVGhpcw0KPiA+ ICtvcGVyYXRpb24gcmVxdWlyZXMgcm9vdCBvciBlc2NhbGF0ZWQgTGludXggcHJpdmlsZWdlcyBh bmQgdGh1cw0KPiA+ICtwcmV2ZW50cyB0aGUgUE1EIGZyb20gd29ya2luZyBpbiBhbiB1bnByaXZp bGVnZWQgY29udGFpbmVyLiBUaGUNCj4gPiArQUZfWERQIENOSSBwbHVnaW4gaGFuZGxlcyB0aGlz IHNpdHVhdGlvbiBieSBwcm92aWRpbmcgYSBkZXZpY2UgcGx1Z2luIHRoYXQNCj4gcGVyZm9ybXMg dGhlIHByb2dyYW0gbG9hZGluZy4NCj4gPiArDQo+ID4gK0F0IGEgdGVjaG5pY2FsIGxldmVsIHRo ZSBDTkkgb3BlbnMgYSBVbml4IERvbWFpbiBTb2NrZXQgYW5kIGxpc3RlbnMNCj4gPiArZm9yIGEg Y2xpZW50IHRvIG1ha2UgcmVxdWVzdHMgb3ZlciB0aGF0IHNvY2tldC4gQSBEUERLIGFwcGxpY2F0 aW9uDQo+ID4gK2FjdGluZyBhcyBhIGNsaWVudCBjb25uZWN0cyBhbmQgaW5pdGlhdGVzIGEgY29u ZmlndXJhdGlvbg0KPiA+ICsiaGFuZHNoYWtlIi4gVGhlIGNsaWVudCB0aGVuIHJlY2VpdmVzIGEg ZmlsZSBkZXNjcmlwdG9yIHdoaWNoIHBvaW50cw0KPiA+ICt0byB0aGUgWFNLTUFQIGFzc29jaWF0 ZWQgd2l0aCB0aGUgbG9hZGVkIGVCUEYgcHJvZ3JhbS4gVGhlIFhTS01BUCBpcw0KPiA+ICthIEJQ RiBtYXAgb2YgQUZfWERQIHNvY2tldHMgKFhTSykuIFRoZSBjbGllbnQgY2FuIHRoZW4gcHJvY2Vl ZCB3aXRoDQo+ID4gK2NyZWF0aW5nIGFuIEFGX1hEUCBzb2NrZXQgYW5kIGluc2VydGluZyB0aGF0 IHNvY2tldCBpbnRvIHRoZSBYU0tNQVANCj4gcG9pbnRlZCB0byBieSB0aGUgZGVzY3JpcHRvci4N Cj4gPiArDQo+ID4gK1RoZSBFQUwgdmRldiBhcmd1bWVudCBgYHVzZV9jbmlgYCBpcyB1c2VkIHRv IGluZGljYXRlIHRoYXQgdGhlIHVzZXINCj4gPiArd2lzaGVzIHRvIHJ1biB0aGUgUE1EIGluIHVu cHJpdmlsZWdlZCBtb2RlIGFuZCB0byByZWNlaXZlIHRoZSBYU0tNQVANCj4gPiArZmlsZSBkZXNj cmlwdG9yIGZyb20gdGhlIENOSS4gV2hlbiB0aGlzIGZsYWcgaXMgc2V0LCB0aGUNCj4gPiArYGBY U0tfTElCQlBGX0ZMQUdTX19JTkhJQklUX1BST0dfTE9BRGBgDQo+ID4gK2xpYmJwZiBmbGFnIHNo b3VsZCBiZSB1c2VkIHdoZW4gY3JlYXRpbmcgdGhlIHNvY2tldCB0byBpbnN0cnVjdA0KPiA+ICts aWJicGYgbm90IHRvIGxvYWQgdGhlIGRlZmF1bHQgbGliYnBmIHByb2dyYW0gb24gdGhlIG5ldGRl di4gSW5zdGVhZA0KPiA+ICt0aGUgbG9hZGluZyBpcyBoYW5kbGVkIGJ5IHRoZSBDTkkuDQo+ID4g Kw0KPiA+ICsuLiBfQUZfWERQIFBNRDogaHR0cHM6Ly9kb2MuZHBkay5vcmcvZ3VpZGVzL25pY3Mv YWZfeGRwLmh0bWwNCj4gPiArDQo+ID4gKy4uIE5vdGU6Og0KPiA+ICsNCj4gPiArICAgICBUaGUg VW5peCBEb21haW4gU29ja2V0IGZpbGUgcGF0aCBhcHBlYXIgaW4gdGhlIGVuZCB1c2VyIGlzDQo+ ICIvdG1wL2FmeGRwLnNvY2siLg0KPiA+ICsNCj4gDQo+IEBBbmF0b2x5LCBJIGd1ZXNzIHlvdSBk aWQgYSBwYXRjaCBpbiB0aGUgcGFzdCB0byBncm91cCBydW50aW1lIGZpbGVzIGluIGENCj4gY29t bW9uIGZvbGRlciwgaXQgd2FzIHNvbWV0aGluZyBsaWtlICcvdG1wL2RwZGsvPHByZWZpeD4vJy4N Cj4gRG9lcyB0aGF0IHJ1bnRpbWUgZm9sZGVyIGluY2x1ZGVzIHRoZSBzb2NrZXQgZmlsZXM/DQo+ IA0KL3RtcC9hZnhkcC5zb2NrIGlzIGNyZWF0ZWQgYnkgdGhlIEFGX1hEUCBDTkkgcGx1Z2luIG5v dCAgYnkgdGhlIERQREsgdGVzdHBtZC4NClNvIHdlIGRvbuKAmXQgaGF2ZSB0aGUgY29udHJvbCBv dmVyIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHNvY2tldC4gDQoNCj4gQWxzbyBpcyB0aGlzIGZpeGVz IHNvY2tldCBuYW1lIGEgYmxvY2tlciB0byBoYXZlIG11bHRpcGxlIHByaW1hcnkgcHJvY2VzcyAo LS0NCj4gZmlsZS1wcmVmaXgpPyAoYXNzdW1pbmcgYm90aCB1c2luZyBhZl94ZHAgZHJpdmVyKS4N Cj4gDQo+IA0KPiA+ICtQcmVyZXF1aXNpdGVzDQo+ID4gKy0tLS0tLS0tLS0tLS0NCj4gPiArDQo+ ID4gK0RvY2tlciBhbmQgY29udGFpbmVyIHByZXJlcXVpc2l0ZXM6DQo+ID4gKw0KPiA+ICsqIFNl dCB1cCB0aGUgZGV2aWNlIHBsdWdpbiBhcyBkZXNjcmliZWQgaW4gIHRoZSBpbnN0cnVjdGlvbnMg Zm9yDQo+ID4gK2BBRl9YRFAgUGx1Z2luDQo+ID4gKyAgZm9yIEt1YmVybmV0ZXNgXy4NCj4gPiAr DQo+ID4gKyogVGhlIERvY2tlciBpbWFnZSBzaG91bGQgY29udGFpbiB0aGUgbGliYnBmIGFuZCBs aWJ4ZHAgbGlicmFyaWVzLA0KPiA+ICt3aGljaA0KPiA+ICsgIGFyZSBkZXBlbmRlbmNpZXMgZm9y IEFGX1hEUCwgYW5kIHNob3VsZCBpbmNsdWRlIHN1cHBvcnQgZm9yIHRoZQ0KPiA+ICtgYGV0aHRv b2xgYA0KPiA+ICsgIGNvbW1hbmQuDQo+ID4gKw0KPiANCj4gSXMgdGhlcmUgYW55IHNwZWNpZmlj IGxpYnJhcnkgdmVyc2lvbiBkZXBlbmRlbmN5PyBJZiBzbyBjYW4geW91IHBsZWFzZQ0KPiBkb2N1 bWVudD8NCj4gDQoNCkxpYnJhcnkgTGliYnBmIGFuZCBMaWJ4ZHAgYXJlIGRlcGVuZGVuY2UgZm9y IEFGX1hEUCBhbmQgaXQgaXMgYWxyZWFkeSBkb2N1bWVudGVkIGluIHRoZSANCmh0dHBzOi8vZG9j LmRwZGsub3JnL2d1aWRlcy9uaWNzL2FmX3hkcC5odG1sLiBUaGlzIGxpbmsgaXMgYWxzbyBhZGRl ZCBhcyBwYXJ0IG9mIHRoZSBQcmVyZXF1aXNpdGVzLg0KDQo+IDwuLi4+DQo+IA0KPiA+ICsNCj4g PiArICBGb3IgZnVydGhlciByZWZlcmVuY2UgcGxlYXNlIHVzZSB0aGUgYGNvbmZpZy5qc29uYF8N Cj4gPiArDQo+ID4gKyAgLi4gX2NvbmZpZy5qc29uOg0KPiA+ICsgaHR0cHM6Ly9naXRodWIuY29t L2ludGVsL2FmeGRwLXBsdWdpbnMtZm9yLWt1YmVybmV0ZXMvYmxvYi9tYWluL3Rlc3QNCj4gPiAr IC9lMmUvY29uZmlnLmpzb24NCj4gPiArDQo+IA0KPiANCj4gU2hvdWxkIHJlZmVyZW5jZXMgaGF2 ZSBhIGZpeGVkIHRhZyBpbnN0ZWFkIG9mIGEgZHluYW1pYyBicmFuY2ggdGhhdCBjYW4NCj4gY2hh bmdlIGxhdGVyLCBsaWtlOg0KPiBodHRwczovL2dpdGh1Yi5jb20vaW50ZWwvYWZ4ZHAtcGx1Z2lu cy1mb3ItDQo+IGt1YmVybmV0ZXMvYmxvYi92MC4wLjIvdGVzdC9lMmUvY29uZmlnLmpzb24NCj4g DQo+IFdoYXQgZG8geW91IHRoaW5rPw0KPiANCg0KSSBhZ3JlZSB3aWxsIHVwZGF0ZSBpbiB0aGUg bmV4dCB2ZXJzaW9uLg0KDQoNCj4gPC4uLj4NCj4gDQo+ID4gQEAgLTgxLDYgKzgyLDI0IEBAIFJU RV9MT0dfUkVHSVNURVJfREVGQVVMVChhZl94ZHBfbG9ndHlwZSwNCj4gTk9USUNFKTsNCj4gPg0K PiA+ICAjZGVmaW5lIEVUSF9BRl9YRFBfTVBfS0VZICJhZnhkcF9tcF9zZW5kX2ZkcyINCj4gPg0K PiA+ICsjZGVmaW5lIE1BWF9MT05HX09QVF9TWgkJCTY0DQo+ID4gKyNkZWZpbmUgVURTX01BWF9G RF9OVU0JCQkyDQo+ID4gKyNkZWZpbmUgVURTX01BWF9DTURfTEVOCQkJNjQNCj4gPiArI2RlZmlu ZSBVRFNfTUFYX0NNRF9SRVNQCQkxMjgNCj4gPiArI2RlZmluZSBVRFNfWFNLX01BUF9GRF9NU0cJ CSIveHNrX21hcF9mZCINCj4gPiArI2RlZmluZSBVRFNfU09DSwkJCSIvdG1wL2FmeGRwLnNvY2si DQo+ID4gKyNkZWZpbmUgVURTX0NPTk5FQ1RfTVNHCQkJIi9jb25uZWN0Ig0KPiA+ICsjZGVmaW5l IFVEU19IT1NUX09LX01TRwkJCSIvaG9zdF9vayINCj4gPiArI2RlZmluZSBVRFNfSE9TVF9OQUtf TVNHCQkiL2hvc3RfbmFrIg0KPiA+ICsjZGVmaW5lIFVEU19WRVJTSU9OX01TRwkJCSIvdmVyc2lv biINCj4gPiArI2RlZmluZSBVRFNfWFNLX01BUF9GRF9NU0cJCSIveHNrX21hcF9mZCINCj4gPiAr I2RlZmluZSBVRFNfWFNLX1NPQ0tFVF9NU0cJCSIveHNrX3NvY2tldCINCj4gPiArI2RlZmluZSBV RFNfRkRfQUNLX01TRwkJCSIvZmRfYWNrIg0KPiA+ICsjZGVmaW5lIFVEU19GRF9OQUtfTVNHCQkJ Ii9mZF9uYWsiDQo+ID4gKyNkZWZpbmUgVURTX0ZJTl9NU0cJCQkiL2ZpbiINCj4gPiArI2RlZmlu ZSBVRFNfRklOX0FDS19NU0cJCQkiL2Zpbl9hY2siDQo+ID4gKw0KPiA+ICsNCj4gDQo+IGV4dHJh IGVtcHR5IGxpbmUNCg0KV2lsbCByZW1vdmUgaXQgaW4gdGhlIG5leHQgdmVyc2lvbi4NCg0KDQo+ IA0KPiA+ICBzdGF0aWMgaW50IGFmeGRwX2Rldl9jb3VudDsNCj4gPg0KPiA+ICAvKiBNZXNzYWdl IGhlYWRlciB0byBzeW5jaHJvbml6ZSBmZHMgdmlhIElQQyAqLyBAQCAtMTUxLDYgKzE3MCw3IEBA DQo+ID4gc3RydWN0IHBtZF9pbnRlcm5hbHMgew0KPiA+ICAJY2hhciBwcm9nX3BhdGhbUEFUSF9N QVhdOw0KPiA+ICAJYm9vbCBjdXN0b21fcHJvZ19jb25maWd1cmVkOw0KPiA+ICAJYm9vbCBmb3Jj ZV9jb3B5Ow0KPiA+ICsJYm9vbCB1c2VfY25pOw0KPiA+ICAJc3RydWN0IGJwZl9tYXAgKm1hcDsN Cj4gPg0KPiA+ICAJc3RydWN0IHJ0ZV9ldGhlcl9hZGRyIGV0aF9hZGRyOw0KPiA+IEBAIC0xNzAs NiArMTkwLDcgQEAgc3RydWN0IHBtZF9wcm9jZXNzX3ByaXZhdGUgew0KPiA+ICAjZGVmaW5lIEVU SF9BRl9YRFBfUFJPR19BUkcJCQkieGRwX3Byb2ciDQo+ID4gICNkZWZpbmUgRVRIX0FGX1hEUF9C VURHRVRfQVJHDQo+IAkiYnVzeV9idWRnZXQiDQo+ID4gICNkZWZpbmUgRVRIX0FGX1hEUF9GT1JD RV9DT1BZX0FSRwkJImZvcmNlX2NvcHkiDQo+ID4gKyNkZWZpbmUgRVRIX0FGX1hEUF9VU0VfQ05J X0FSRwkJCSJ1c2VfY25pIg0KPiA+DQo+IA0KPiBTaG91bGQgZG9jdW1lbnQgbmV3IGRldmFyZyBp biBkcml2ZXIgZG9jdW1lbnRhdGlvbjoNCj4gZG9jL2d1aWRlcy9uaWNzL2FmX3hkcC5yc3QNCj4g DQpXaWxsIHVwZGF0ZSBpdC4NCg0KPiBBbHNvIG5lZWQgdG8gYWRkIGl0IHRvICdSVEVfUE1EX1JF R0lTVEVSX1BBUkFNX1NUUklORycgbWFjcm8gZm9yDQo+IHBtZGluZm8ucHkuDQo+IA0KV2lsbCBi ZSB1cGRhdGluZyBpdCBpbiB0aGUgbmV4dCB2ZXJzaW9uLg0KDQo+ID4gIHN0YXRpYyBjb25zdCBj aGFyICogY29uc3QgdmFsaWRfYXJndW1lbnRzW10gPSB7DQo+ID4gIAlFVEhfQUZfWERQX0lGQUNF X0FSRywNCj4gPiBAQCAtMTc5LDggKzIwMCw4IEBAIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qg dmFsaWRfYXJndW1lbnRzW10gPSB7DQo+ID4gIAlFVEhfQUZfWERQX1BST0dfQVJHLA0KPiA+ICAJ RVRIX0FGX1hEUF9CVURHRVRfQVJHLA0KPiA+ICAJRVRIX0FGX1hEUF9GT1JDRV9DT1BZX0FSRywN Cj4gPiAtCU5VTEwNCj4gPiAtfTsNCj4gPiArCUVUSF9BRl9YRFBfVVNFX0NOSV9BUkcsDQo+ID4g KwlOVUxMfTsNCj4gPg0KPiANCj4gcGxlYXNlIGtlZXAgJ30nIGluIG5leHQgbGluZS4NCj4gDQoN CldpbGwgdXBkYXRlIGl0IGluIHRoZSBuZXh0IHZlcnNpb24uDQoNCj4gPC4uLj4NCj4gDQo+ID4g K3N0YXRpYyBpbnQNCj4gPiArbWFrZV9yZXF1ZXN0X2NuaShpbnQgc29jaywgc3RydWN0IHNvY2th ZGRyX3VuICpzZXJ2ZXIsIGNoYXIgKnJlcXVlc3QsDQo+ID4gKwkJIGludCAqcmVxX2ZkLCBjaGFy ICpyZXNwb25zZSwgaW50ICpvdXRfZmQpIHsNCj4gPiArCWludCBydmFsOw0KPiA+ICsNCj4gPiAr CUFGX1hEUF9MT0coSU5GTywgIlJlcXVlc3Q6IFslc11cbiIsIHJlcXVlc3QpOw0KPiA+ICsNCj4g DQo+IElzbid0IElORk8gbGV2ZWwgbG9nZ2luZyB0b28gdmVyYm9zZSBmb3IgbG9nIGVhY2ggcmVx dWVzdCBhbmQgcmVzcG9uc2UsIHdoYXQNCj4gZG8geW91IHRoaW5rIGZvciBkZWJ1ZyBsZXZlbD8N Cj4gDQoNCkkgYWdyZWUuIFdpbGwgdXBkYXRlIGluIHRoZSBuZXh0IHZlcnNpb24uDQoNCj4gPC4u Lj4NCj4gDQo+ID4gQEAgLTE1ODQsNiArMTg2NSwyNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGV0 aF9kZXZfb3BzIG9wcyA9IHsNCj4gPiAgCS5nZXRfbW9uaXRvcl9hZGRyID0gZXRoX2dldF9tb25p dG9yX2FkZHIsICB9Ow0KPiA+DQo+ID4gKy8qIENOSSBvcHRpb24gd29ya3MgaW4gdW5wcml2aWxl Z2VkIGNvbnRhaW5lciBlbnZpcm9ubWVudA0KPiA+ICsgKiBhbmQgZXRoZXJuZXQgZGV2aWNlIGZ1 bmN0aW9uYWxpdHkgd2lsbCBiZSByZWR1Y2VkLiBTbw0KPiA+ICsgKiBhZGRpdGlvbmFsIGN1c3Rv bWlzemVkIGV0aF9kZXZfb3BzIHN0cnVjdCBpcyBuZWVkZWQNCj4gPiArICogZm9yIGNuaS4NCj4g PiArICoqLw0KPiA+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGV0aF9kZXZfb3BzIG9wc19jbmkgPSB7 DQo+ID4gKwkuZGV2X3N0YXJ0ID0gZXRoX2Rldl9zdGFydCwNCj4gPiArCS5kZXZfc3RvcCA9IGV0 aF9kZXZfc3RvcCwNCj4gPiArCS5kZXZfY2xvc2UgPSBldGhfZGV2X2Nsb3NlLA0KPiA+ICsJLmRl dl9jb25maWd1cmUgPSBldGhfZGV2X2NvbmZpZ3VyZSwNCj4gPiArCS5kZXZfaW5mb3NfZ2V0ID0g ZXRoX2Rldl9pbmZvLA0KPiA+ICsJLm10dV9zZXQgPSBldGhfZGV2X210dV9zZXQsDQo+ID4gKwku cnhfcXVldWVfc2V0dXAgPSBldGhfcnhfcXVldWVfc2V0dXAsDQo+ID4gKwkudHhfcXVldWVfc2V0 dXAgPSBldGhfdHhfcXVldWVfc2V0dXAsDQo+ID4gKwkubGlua191cGRhdGUgPSBldGhfbGlua191 cGRhdGUsDQo+ID4gKwkuc3RhdHNfZ2V0ID0gZXRoX3N0YXRzX2dldCwNCj4gPiArCS5zdGF0c19y ZXNldCA9IGV0aF9zdGF0c19yZXNldCwNCj4gPiArCS5nZXRfbW9uaXRvcl9hZGRyID0gZXRoX2dl dF9tb25pdG9yX2FkZHIsIH07DQo+ID4gKw0KPiANCj4gVGhlIGN1c3RvbWlzYXRpb24gaXMgcmVk dWNlZCBkZXZfb3BzLCByaWdodD8gQ2FuIHlvdSBwbGVhc2UgY29tbWVudA0KPiB3aGljaCBmdW5j dGlvbmFsaXR5IGlzIHJlbW92ZWQgYW5kIHdoeSAod2hhdCBraW5kIG9mIHBlcm1pc3Npb24NCj4g cmVxdWlyZW1lbnQgcHJldmVudHMgdGhhdCBmdW5jdGlvbmFsaXR5IHRvIGJlIHVzZWQpPw0KPiAN CldpbGwgdXBkYXRlIGluIHRoZSBuZXh0IHZlcnNpb24uDQoNCj4gQW5kIGNhbiB5b3UgcGxlYXNl IGRvY3VtZW50IGluIHRoZSBkcml2ZXIgZG9jdW1lbnRhdGlvbiB0aGF0ICd1c2VfY25pJw0KPiB3 aWxsIGNhdXNlIHJlZHVjZWQgZnVuY3Rpb25hbGl0eSBhbmQgd2hhdCB0aG9zZSBkcm9wcGVkIGZ1 bmN0aW9uYWxpdGllcyBhcmU/DQo+IA0KDQpUaGlzIGlzIHVwZGF0ZWQgaW4gdGhlIFByZXJlcXVp c2l0ZXMgYXMgUG9kIHNob3VsZCBlbmFibGUgc29tZSBjYXBhYmlsaXRpZXMgYXMgUE1EIA0Kd2ls bCBoYXZlIG9ubHkgbGltaXRlZCBmdW5jdGlvbmFsaXR5LiANCg0KPiA+ICAvKiogcGFyc2UgYnVz eV9idWRnZXQgYXJndW1lbnQgKi8NCj4gPiAgc3RhdGljIGludA0KPiA+ICBwYXJzZV9idWRnZXRf YXJnKGNvbnN0IGNoYXIgKmtleSBfX3J0ZV91bnVzZWQsIEBAIC0xNzA0LDggKzIwMDUsOA0KPiBA QA0KPiA+IHhkcF9nZXRfY2hhbm5lbHNfaW5mbyhjb25zdCBjaGFyICppZl9uYW1lLCBpbnQgKm1h eF9xdWV1ZXMsDQo+ID4NCj4gPiAgc3RhdGljIGludA0KPiA+ICBwYXJzZV9wYXJhbWV0ZXJzKHN0 cnVjdCBydGVfa3ZhcmdzICprdmxpc3QsIGNoYXIgKmlmX25hbWUsIGludA0KPiAqc3RhcnRfcXVl dWUsDQo+ID4gLQkJCWludCAqcXVldWVfY250LCBpbnQgKnNoYXJlZF91bWVtLCBjaGFyDQo+ICpw cm9nX3BhdGgsDQo+ID4gLQkJCWludCAqYnVzeV9idWRnZXQsIGludCAqZm9yY2VfY29weSkNCj4g PiArCQkgaW50ICpxdWV1ZV9jbnQsIGludCAqc2hhcmVkX3VtZW0sIGNoYXIgKnByb2dfcGF0aCwN Cj4gPiArCQkgaW50ICpidXN5X2J1ZGdldCwgaW50ICpmb3JjZV9jb3B5LCBpbnQgKnVzZV9jbmkp DQo+IA0KPiBBdCBzb21lIHBvaW50IG5lZWQgdG8gcHV0IHRoZXNlIHZhcmlhYmxlcyBmb3IgcGFy YW10ZXJzIGludG8gYSBzdHJ1Y3QsIGluc3RlYWQNCj4gb2Yga2VlcCBpbmNyZWFzaW5nIHRoZSBw YXJhbWV0ZXIgbGlzdC4gRmVlbCBmcmVlIHRvIG1ha2UgYSBwcmVwZXJhdGlvbiBwYXRjaA0KPiBi ZWZvcmUgdGhpcyBwYXRjaCBpZiB5b3Ugd2FudC4NCg0KSSB0aGluayBpdCB3aWxsIGJlIGdvb2Qg dG8gZG8uIEJ1dCBJIHByZWZlciB0byBkbyBpdCBhZnRlciB0aGlzIHBhdGNoLg0KDQo=