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 3F675A0584; Wed, 19 Oct 2022 15:09:10 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E2F63427F3; Wed, 19 Oct 2022 15:09:09 +0200 (CEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2081.outbound.protection.outlook.com [40.107.223.81]) by mails.dpdk.org (Postfix) with ESMTP id 025D0410D1 for ; Wed, 19 Oct 2022 15:09:08 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PHbtkupAePc+Dessv+ClLVZ+JnYvt7KZHe9ocAnZa/MlH0We1OiN/GBYqiY+4e6oT4M2tZ3ah0uYVHbT+0XcDyFJLccR77yRjjE9tSHw5aBtaNxQ7kWCyQ5NxkLjk5omIQT9W5qGd8FuD8oysvi4/PMU5xpBG0CQLe31nfWi0aLTi+HgYbGiMaUUKEkfRbD+lPlTiS6e+vEDlWqxXhkdcN4vp7wKBdAeb0gaiwpiFgyDk+pLfCvBHCBcAb8I3CYp8Gl4amIKQ4M6b/TMSvX8LZK3zy8+pRlQTtQRQP/n+6mNWTkaYcIUwpm+vzhh0rQqyvQWkLZCZfcXxv9lUMSHcw== 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=hsQ26dt3ZSy+a0OVieiCW0E4aJ/zzz8PyuAfvYOcPWA=; b=PH9dGVSuGGRFKKwYErfolLwgixD+HLzq3IIGgANk36Wr3oh2NBhQ8DFTlo4Azgz19pjNgzAwHPeNgOjlOdgRByRh81tPxWgV+82c/wFccVDaUiJmmiTKUgLGKTf/I7XT0hYLH7+RLUQ+7Z2SZlshCjjfBYfNlcPdzCfLskm6c/ux+y0JSmDGeLqDoXO5fVTxt0aLG3fUIOPpgDgUiLdEdad6UOnUEgC5U1F4Lw2QbgqD9QmIk7EYV0Rp8yCgVcGLwPs7DJDrSfdHZOAfkL6UQz0Esj20OigIf9AzZ265BiEUFBLsk9WYos5zmFCWHcRh9rLFF0byZgIhrG8bJCWLfw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hsQ26dt3ZSy+a0OVieiCW0E4aJ/zzz8PyuAfvYOcPWA=; b=W2VVh8wcAyIRztLmz4d377MDcWP09SoHts2wSfPvpZx/AW/lzSVHPACAKx7vaMaXcSkgXZc/XMHSQSrppan+lgF9TGkj9oNHpy/YJvBy+naSfsavp4W2fj/uL9yItbTovw9d6f2fu44BKtUJ1nCcVmef0UbnsJGIQIi76Ax53xxp4oRLAnvgKV9xiQ07efb5WmQ+/y8Ppe05IVCbZQ5JUNsY1A61Q7EKnBtWlCBoCibC5TAI6r+HHYglsS/X3dESe5GiIqILd9I0LgMK7YaWTUfdu/Wm3v4YnMtOWxn/J/cRStmYPYld3uyu6r2Iae+SkJITJp9naoNrctyx27gh1Q== Received: from DM5PR12MB4661.namprd12.prod.outlook.com (2603:10b6:4:aa::32) by DM6PR12MB4420.namprd12.prod.outlook.com (2603:10b6:5:2a7::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.29; Wed, 19 Oct 2022 13:09:06 +0000 Received: from DM5PR12MB4661.namprd12.prod.outlook.com ([fe80::f255:dbfe:f3fe:a88e]) by DM5PR12MB4661.namprd12.prod.outlook.com ([fe80::f255:dbfe:f3fe:a88e%6]) with mapi id 15.20.5723.034; Wed, 19 Oct 2022 13:09:04 +0000 From: Michael Baum To: Andrew Rybchenko , Ori Kam , "dev@dpdk.org" CC: Matan Azrad , Raslan Darawsheh Subject: RE: [PATCH 3/3] ethdev: add structure for indirect AGE update Thread-Topic: [PATCH 3/3] ethdev: add structure for indirect AGE update Thread-Index: AQHYzcocd5Xc6Au5WU2o8uzoxowZPq38YbGAgAAHZ4CAAFBVAIAAIHSAgAEB7oCAF/uroA== Date: Wed, 19 Oct 2022 13:09:04 +0000 Message-ID: References: <20220921145409.511328-1-michaelba@nvidia.com> <20220921145409.511328-4-michaelba@nvidia.com> <811afcdb-2081-b20d-5d49-8659760a7026@oktetlabs.ru> 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=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM5PR12MB4661:EE_|DM6PR12MB4420:EE_ x-ms-office365-filtering-correlation-id: 5a6e8515-8ee1-4ec8-73b6-08dab1d31965 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: fwpl0yq41G1YObqePT3pJWrjJWhXyMCTcOJ6tEP2ZxG0fegBeWS77kPYdzIXjZnxj/7LQ7idp3W2z8bT79C1VjmceYshx7LzhaFokBg0dA5oPINJ0KZdEeEnnwgQs0lvTaj9jzQSjtFZeRS+qhBSOT9QrX41JNYyuGP1PImB+xNbvtv+si9SA02gzKXiGA5UZVY54acc1wiGcn3xsv19MHy5i5arMW3u0Ku079BulqrCeyggB1UgI1oNSasTU1CoZipsEILZrhm0TELskYcuRlvZcLBQG6j3lYal7KAv3W62ILazln91vGY0gb8TKjoSmfrvRKIDeww2FBFXM15/6wb5bnV4MnUOZP+HB748bkolCSHEok+mqX/JYlTyHnL1SJKZxmbUod6DiMJpZJoFFo6LMR4VUwnNNlgSC+CqdnM9qghGs0abBWhnQ5/jtqqaFifxA1bHCmTLP/ZJPj8ieRWF/xaiR0JFd79CXm2TIAwRXFh+cZrmHbAu8JY2wiwmFFGupKc96Xv/8+9C9KZQ3iUMGouqSGXOgBX3Di/PvnzmQZU4yHa5NxKIjQifZCDQCY0LrBv3b/IxdlF2sp4vMo74iLQmv4BlhXUuQ5BTcZ+d7TwFwQNmXlUWj4dJv2h3u1J83gLj35lRs8mvRtEgjs1wKnxqqcAIuSLyeesQter+fQc7svsOrFAFbhN00Ln6dtEFn9gbbQTy4mq7lJk0DcCEpNXx4uPL5l0EOyb7XcbujWOsex3pPoUeVWnvTJv6LXRMrXn04Sav5q8y9FIBFA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM5PR12MB4661.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(366004)(136003)(346002)(376002)(396003)(39860400002)(451199015)(110136005)(54906003)(76116006)(66446008)(86362001)(66476007)(8676002)(64756008)(316002)(66946007)(66556008)(107886003)(186003)(33656002)(15650500001)(2906002)(55016003)(9686003)(83380400001)(6506007)(4326008)(53546011)(41300700001)(5660300002)(7696005)(26005)(30864003)(52536014)(8936002)(71200400001)(478600001)(38070700005)(38100700002)(122000001)(87944006); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?a1YvWk1uVGNMckJYK2dpNWJFdXJjNzQrWW9VUXY1MXQ5THVqbE80Ri81K1Rv?= =?utf-8?B?VzB5Wjc1U2xJcFliN05LRlhSTHg3cmJyVExkczRQcVpicEE5R3pVR3IwRk1N?= =?utf-8?B?NFVKWC9waWVzSHhXeVpLSWNRalhGVkdHZFVMSjdkQzNGWFJUWFNIcEVQTTE5?= =?utf-8?B?WG9yVVdtRWI5TGNHTnlZbjNzQVFPK3NiM01XcnVSMk9YS1hZWjFwdXEzYlVn?= =?utf-8?B?ZWgwZ0FRd3NhalAyZlZkeEpUYlNHR05DZXp1NVFjTWwxOVFWWnZHaS9TODJW?= =?utf-8?B?VkdRdStjWFNFSXBxeEg5SUp0K0dCckdnMWhXdFpXV0FCMUYydllCR1dDaWQx?= =?utf-8?B?Sjdpb0ZpYlBWcFdzcFczQ0htY0c4YnpXRjF1elBLOVhySTVuRUlzaWRzRElH?= =?utf-8?B?dXFEL3d4azhsMGxZNS8rMjkyUVdvSG1Ebnp2ZGgxNUZhQ080VEM0R01Qd2p1?= =?utf-8?B?WFFiemNhVW1ubWVVWmJHY055UjkyYjF3VWZCa3Q3eHlSYVh0eVlGZm5hRWoy?= =?utf-8?B?eUdCdHgxblZpUDQwU2wxR3ZzTmQ2RXpPditvMkRwb01UTDIrbzVobjk2dEg2?= =?utf-8?B?Ry9Ud1FnN3Y4WGI4TGljd21yV0RjV3drN1YrUUtGWC90NVRkc3FBWXJLbTJq?= =?utf-8?B?QWlBWmFGdm1UNUUvMVF3TGtGVFZKQ2NSL2VMdWlKSWtUVmRoeWliNjNPbWk5?= =?utf-8?B?Q3dhU1FxTlo5Z0tPUXJlS0NrVzVzZksvamFpZUhqNVhzMmF1MXR5RzhMNW9M?= =?utf-8?B?dGhRZjYvejNCcXJxVlM0c1VZVFdPa2NlRHYzcWtSakg3RnFyZWFld1N5d0pF?= =?utf-8?B?N29LUmptQzRLdm45N3cwbHRZRzhuTytUVFZicTJzODU5RDAvSWZuZC96S1ky?= =?utf-8?B?OE1KaWZqVUFaOERGeG9XOUtjTHFZY3B5aGJRU2QwT0FESnZNT1ZRQ1AvbS9U?= =?utf-8?B?RjZTQUNXaWJxNXIvUEc4TDJ2ODNlOEpYTllIRDFhbUVVTnFsM0t4TkNvWW1q?= =?utf-8?B?ZUhqYXR4MXNYRmxzanBHaWJKeXFRNXNReGdoWlp2VFFDWEZFdGlEUlZlZHVJ?= =?utf-8?B?R1VrdENQQm1BTGRQYUN0b3EyYmN5MFFadjVJN0VCYUhpN3BaWVBhUXNzeUJQ?= =?utf-8?B?SDJWQ0lNdDZZNHliKzk4amMxZWt0cFk0Zk1hdzZSd1Ewd0haZ1AyMW9BaGJl?= =?utf-8?B?QkxLRjF3NktucG5vSzRCUUNYMk0ycUcyc1crM0tXTkhzVmorSjBjR0NqMVhP?= =?utf-8?B?S2hDVVgyaW14RkJCTVB4RmtJRzQrSW5OSEZheTd3QWlocXpMZzB6cERsU3lT?= =?utf-8?B?MVpSYzVjckd4dXNuOXRDb0tBZHd6aG53cW5qVUYvY01EQnFyTmRtakY5Rm1J?= =?utf-8?B?OFU3R0xjZm1xd0drdHVnWlhHVHgvdGVoUmVHY2RLWWROQ2s3eDhXRlBINmx1?= =?utf-8?B?OUVNOThpRGR6cXpNa3RXM2NZUUorQVFQY1NOVjkzaUFLbWRYRzlRRkk1TVNj?= =?utf-8?B?Y1dIa0g4YkVTSFBSRkdtcVhNaFFNalJDVHBha2hwRk9hZVluKzl4bUM2Ykd4?= =?utf-8?B?VFBVYVg3UFVvem5SUUx4djdOZytsL0VNc0tGOXp5K1lQK0ZyVzM0TXlsUm04?= =?utf-8?B?WWpBd2I4QnMvcTlYWnVCanNIengxVUdrbE5mbVREQzhGQS9FZTdRU3Q3RUNG?= =?utf-8?B?MzdEeTBpZTVvWm1vSUp1N1pJdzJqRUpXVnJVOVU1RXI3RG4yTmVnYS91OHdv?= =?utf-8?B?amVRRWlLL29CSkRjMkdyUDRBNzFGaU9hMEFDT3VLY0hpUUhEUlF5Tk1Ebjdq?= =?utf-8?B?TnZDUXFCQmQ4TU15djNsczZ5QkVYV0R6Rk9RU2VxSUpUVk93Yi80Rk9SL2xF?= =?utf-8?B?Vk1RSUVBVG5xMkMxaXdFSDI0WFZmdUw0UmJsZkswbmoxZnZsRDV1cVJSVTFo?= =?utf-8?B?eE9iMm1VSlhXeTZJZFRxZmtraUlGdDMzNW5weVZTZElYaTNKUXZXNTVDajdn?= =?utf-8?B?amQ1QmdUVHl6cG1iM2FXb0JOVUZUQTVmTEp1VThDSXdhMDRFUVQwT2hhc2pv?= =?utf-8?B?YUJLdUxXVmNjWXUzREJaUS9sT29zL3EwS1AvSXAxZXdya3R0WWNLR1hqRmpa?= =?utf-8?Q?hbIitdzuZi5IUvuRhR1SZ6qo8?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM5PR12MB4661.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5a6e8515-8ee1-4ec8-73b6-08dab1d31965 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Oct 2022 13:09:04.8328 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Mr2lWKIE4MZJGpKRVXNIhEmtWinZVdRFToPu9jQnmTCUo6APsGUo2A2+w5A57Q+OPIQKVmTHheyo4QS8yXc3dw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4420 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 SGkgQW5kcmV3IGFuZCBPcmksDQoNCk9uIDEwLzQvMjIgOTozNywgQW5kcmV3IFJ5YmNoZW5rbyB3 cm90ZTogDQo+IA0KPiBPbiAxMC8zLzIyIDE4OjEzLCBPcmkgS2FtIHdyb3RlOg0KPiA+IEhpIEFu ZHJldywNCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBB bmRyZXcgUnliY2hlbmtvIDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT4NCj4gPj4gU2Vu dDogTW9uZGF5LCAzIE9jdG9iZXIgMjAyMiAxNjoxOA0KPiA+Pg0KPiA+PiBPbiAxMC8zLzIyIDEx OjMwLCBPcmkgS2FtIHdyb3RlOg0KPiA+Pj4gSGkgQW5kcmV3LA0KPiA+Pj4NCj4gPj4+PiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+IEZyb206IEFuZHJldyBSeWJjaGVua28gPGFu ZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPiA+Pj4+IFNlbnQ6IE1vbmRheSwgMyBPY3Rv YmVyIDIwMjIgMTE6MDQNCj4gPj4+Pg0KPiA+Pj4+IE9uIDkvMjEvMjIgMTc6NTQsIE1pY2hhZWwg QmF1bSB3cm90ZToNCj4gPj4+Pj4gQWRkIGEgbmV3IHN0cnVjdHVyZSBmb3IgaW5kaXJlY3QgQUdF IHVwZGF0ZS4NCj4gPj4+Pj4NCj4gPj4+Pj4gVGhpcyBuZXcgc3RydWN0dXJlIGVuYWJsZXM6DQo+ ID4+Pj4+IDEuIFVwZGF0ZSB0aW1lb3V0IHZhbHVlLg0KPiA+Pj4+PiAyLiBTdG9wIEFHRSBjaGVj a2luZy4NCj4gPj4+Pj4gMy4gU3RhcnQgQUdFIGNoZWNraW5nLg0KPiA+Pj4+PiA0LiByZXN0YXJ0 IEFHRSBjaGVja2luZy4NCj4gPj4+Pj4NCj4gPj4+Pj4gU2lnbmVkLW9mZi1ieTogTWljaGFlbCBC YXVtIDxtaWNoYWVsYmFAbnZpZGlhLmNvbT4NCj4gPj4+Pj4gLS0tDQo+ID4+Pj4+ICAgICBhcHAv dGVzdC1wbWQvY21kbGluZV9mbG93LmMgICAgICAgIHwgNjYNCj4gPj4+PiArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysNCj4gPj4+Pj4gICAgIGFwcC90ZXN0LXBtZC9jb25maWcuYyAgICAg ICAgICAgICAgfCAxOCArKysrKysrLQ0KPiA+Pj4+PiAgICAgZG9jL2d1aWRlcy9wcm9nX2d1aWRl L3J0ZV9mbG93LnJzdCB8IDI1ICsrKysrKysrKy0tDQo+ID4+Pj4+ICAgICBsaWIvZXRoZGV2L3J0 ZV9mbG93LmggICAgICAgICAgICAgIHwgMjcgKysrKysrKysrKysrDQo+ID4+Pj4+ICAgICA0IGZp bGVzIGNoYW5nZWQsIDEzMiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQ0KPiA+Pj4+Pg0K PiA+Pj4+PiBkaWZmIC0tZ2l0IGEvYXBwL3Rlc3QtcG1kL2NtZGxpbmVfZmxvdy5jIGIvYXBwL3Rl c3QtDQo+ID4+IHBtZC9jbWRsaW5lX2Zsb3cuYw0KPiA+Pj4+PiBpbmRleCA0ZmI5MGE5MmNiLi5h MzE1ZmQ5ZGVkIDEwMDY0NA0KPiA+Pj4+PiAtLS0gYS9hcHAvdGVzdC1wbWQvY21kbGluZV9mbG93 LmMNCj4gPj4+Pj4gKysrIGIvYXBwL3Rlc3QtcG1kL2NtZGxpbmVfZmxvdy5jDQo+ID4+Pj4+IEBA IC01ODMsNiArNTgzLDkgQEAgZW51bSBpbmRleCB7DQo+ID4+Pj4+ICAgICAgICAgICBBQ1RJT05f U0VUX0lQVjZfRFNDUF9WQUxVRSwNCj4gPj4+Pj4gICAgICAgICAgIEFDVElPTl9BR0UsDQo+ID4+ Pj4+ICAgICAgICAgICBBQ1RJT05fQUdFX1RJTUVPVVQsDQo+ID4+Pj4+ICsgQUNUSU9OX0FHRV9V UERBVEUsDQo+ID4+Pj4+ICsgQUNUSU9OX0FHRV9VUERBVEVfVElNRU9VVCwNCj4gPj4+Pj4gKyBB Q1RJT05fQUdFX1VQREFURV9UT1VDSCwNCj4gPj4+Pj4gICAgICAgICAgIEFDVElPTl9TQU1QTEUs DQo+ID4+Pj4+ICAgICAgICAgICBBQ1RJT05fU0FNUExFX1JBVElPLA0KPiA+Pj4+PiAgICAgICAg ICAgQUNUSU9OX1NBTVBMRV9JTkRFWCwNCj4gPj4+Pj4gQEAgLTE4NjksNiArMTg3Miw3IEBAIHN0 YXRpYyBjb25zdCBlbnVtIGluZGV4IG5leHRfYWN0aW9uW10gPSB7DQo+ID4+Pj4+ICAgICAgICAg ICBBQ1RJT05fU0VUX0lQVjRfRFNDUCwNCj4gPj4+Pj4gICAgICAgICAgIEFDVElPTl9TRVRfSVBW Nl9EU0NQLA0KPiA+Pj4+PiAgICAgICAgICAgQUNUSU9OX0FHRSwNCj4gPj4+Pj4gKyBBQ1RJT05f QUdFX1VQREFURSwNCj4gPj4+Pj4gICAgICAgICAgIEFDVElPTl9TQU1QTEUsDQo+ID4+Pj4+ICAg ICAgICAgICBBQ1RJT05fSU5ESVJFQ1QsDQo+ID4+Pj4+ICAgICAgICAgICBBQ1RJT05fTU9ESUZZ X0ZJRUxELA0KPiA+Pj4+PiBAQCAtMjExMyw2ICsyMTE3LDE0IEBAIHN0YXRpYyBjb25zdCBlbnVt IGluZGV4IGFjdGlvbl9hZ2VbXSA9IHsNCj4gPj4+Pj4gICAgICAgICAgIFpFUk8sDQo+ID4+Pj4+ ICAgICB9Ow0KPiA+Pj4+Pg0KPiA+Pj4+PiArc3RhdGljIGNvbnN0IGVudW0gaW5kZXggYWN0aW9u X2FnZV91cGRhdGVbXSA9IHsNCj4gPj4+Pj4gK0FDVElPTl9BR0VfVVBEQVRFLCAgQUNUSU9OX0FH RV9VUERBVEVfVElNRU9VVCwNCj4gPj4+Pj4gK0FDVElPTl9BR0VfVVBEQVRFX1RPVUNILCAgQUNU SU9OX05FWFQsICBaRVJPLCB9Ow0KPiA+Pj4+PiArDQo+ID4+Pj4+ICAgICBzdGF0aWMgY29uc3Qg ZW51bSBpbmRleCBhY3Rpb25fc2FtcGxlW10gPSB7DQo+ID4+Pj4+ICAgICAgICAgICBBQ1RJT05f U0FNUExFLA0KPiA+Pj4+PiAgICAgICAgICAgQUNUSU9OX1NBTVBMRV9SQVRJTywNCj4gPj4+Pj4g QEAgLTIxOTEsNiArMjIwMyw5IEBAIHN0YXRpYyBpbnQgcGFyc2VfdmNfc3BlYyhzdHJ1Y3QgY29u dGV4dCAqLA0KPiA+Pj4+PiBjb25zdA0KPiA+Pj4+IHN0cnVjdCB0b2tlbiAqLA0KPiA+Pj4+PiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICosIHVuc2lnbmVkIGludCwgdm9p ZCAqLCB1bnNpZ25lZCBpbnQpOw0KPiA+Pj4+PiAgICAgc3RhdGljIGludCBwYXJzZV92Y19jb25m KHN0cnVjdCBjb250ZXh0ICosIGNvbnN0IHN0cnVjdCB0b2tlbiAqLA0KPiA+Pj4+PiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICosIHVuc2lnbmVkIGludCwgdm9pZCAqLA0K PiA+Pj4+PiB1bnNpZ25lZCBpbnQpOw0KPiA+Pj4+PiArc3RhdGljIGludCBwYXJzZV92Y19jb25m X3RpbWVvdXQoc3RydWN0IGNvbnRleHQgKiwgY29uc3Qgc3RydWN0IHRva2VuDQo+ICosDQo+ID4+ Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKiwgdW5zaWduZWQgaW50 LCB2b2lkICosDQo+ID4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu dCk7DQo+ID4+Pj4+ICAgICBzdGF0aWMgaW50IHBhcnNlX3ZjX2l0ZW1fZWNwcmlfdHlwZShzdHJ1 Y3QgY29udGV4dCAqLCBjb25zdA0KPiA+Pj4+PiBzdHJ1Y3QgdG9rZW4NCj4gPj4gKiwNCj4gPj4+ Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICosIHVu c2lnbmVkIGludCwNCj4gPj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB2b2lkICosIHVuc2lnbmVkIGludCk7IEBADQo+ID4+Pj4+IC02MTk0LDYgKzYyMDksMzAgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCB0b2tlbiB0b2tlbl9saXN0W10gPSB7DQo+ID4+Pj4+ICAgICAg ICAgICAgICAgICAgIC5uZXh0ID0gTkVYVChhY3Rpb25fYWdlLA0KPiA+Pj4+IE5FWFRfRU5UUlko Q09NTU9OX1VOU0lHTkVEKSksDQo+ID4+Pj4+ICAgICAgICAgICAgICAgICAgIC5jYWxsID0gcGFy c2VfdmNfY29uZiwNCj4gPj4+Pj4gICAgICAgICAgIH0sDQo+ID4+Pj4+ICsgW0FDVElPTl9BR0Vf VVBEQVRFXSA9IHsNCj4gPj4+Pj4gKyAgICAgICAgIC5uYW1lID0gImFnZV91cGRhdGUiLA0KPiA+ Pj4+PiArICAgICAgICAgLmhlbHAgPSAidXBkYXRlIGFnaW5nIHBhcmFtZXRlciIsDQo+ID4+Pj4+ ICsgICAgICAgICAubmV4dCA9IE5FWFQoYWN0aW9uX2FnZV91cGRhdGUpLA0KPiA+Pj4+PiArICAg ICAgICAgLnByaXYgPSBQUklWX0FDVElPTihBR0UsDQo+ID4+Pj4+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNpemVvZihzdHJ1Y3QgcnRlX2Zsb3dfdXBkYXRlX2FnZSkpLA0KPiA+Pj4+ PiArICAgICAgICAgLmNhbGwgPSBwYXJzZV92YywNCj4gPj4+Pj4gKyB9LA0KPiA+Pj4+PiArIFtB Q1RJT05fQUdFX1VQREFURV9USU1FT1VUXSA9IHsNCj4gPj4+Pj4gKyAgICAgICAgIC5uYW1lID0g InRpbWVvdXQiLA0KPiA+Pj4+PiArICAgICAgICAgLmhlbHAgPSAiYWdlIHRpbWVvdXQgdXBkYXRl IHZhbHVlIiwNCj4gPj4+Pj4gKyAgICAgICAgIC5hcmdzID0gQVJHUyhBUkdTX0VOVFJZX0JGKHN0 cnVjdCBydGVfZmxvd191cGRhdGVfYWdlLA0KPiA+Pj4+PiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdGltZW91dCwgMjQpKSwNCj4gPj4+Pj4gKyAgICAgICAgIC5uZXh0ID0g TkVYVChhY3Rpb25fYWdlX3VwZGF0ZSwNCj4gPj4+PiBORVhUX0VOVFJZKENPTU1PTl9VTlNJR05F RCkpLA0KPiA+Pj4+PiArICAgICAgICAgLmNhbGwgPSBwYXJzZV92Y19jb25mX3RpbWVvdXQsIH0s DQo+ID4+Pj4+ICsgW0FDVElPTl9BR0VfVVBEQVRFX1RPVUNIXSA9IHsNCj4gPj4+Pj4gKyAgICAg ICAgIC5uYW1lID0gInRvdWNoIiwNCj4gPj4+Pj4gKyAgICAgICAgIC5oZWxwID0gInRoaXMgZmxv dyBpcyB0b3VjaGVkIiwNCj4gPj4+Pj4gKyAgICAgICAgIC5uZXh0ID0gTkVYVChhY3Rpb25fYWdl X3VwZGF0ZSwNCj4gPj4+PiBORVhUX0VOVFJZKENPTU1PTl9CT09MRUFOKSksDQo+ID4+Pj4+ICsg ICAgICAgICAuYXJncyA9IEFSR1MoQVJHU19FTlRSWV9CRihzdHJ1Y3QgcnRlX2Zsb3dfdXBkYXRl X2FnZSwNCj4gPj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvdWNo LCAxKSksDQo+ID4+Pj4+ICsgICAgICAgICAuY2FsbCA9IHBhcnNlX3ZjX2NvbmYsDQo+ID4+Pj4+ ICsgfSwNCj4gPj4+Pj4gICAgICAgICAgIFtBQ1RJT05fU0FNUExFXSA9IHsNCj4gPj4+Pj4gICAg ICAgICAgICAgICAgICAgLm5hbWUgPSAic2FtcGxlIiwNCj4gPj4+Pj4gICAgICAgICAgICAgICAg ICAgLmhlbHAgPSAic2V0IGEgc2FtcGxlIGFjdGlvbiIsIEBAIC03MDMxLDYNCj4gPj4+Pj4gKzcw NzAsMzMgQEAgcGFyc2VfdmNfY29uZihzdHJ1Y3QgY29udGV4dCAqY3R4LCBjb25zdA0KPiA+PiBz dHJ1Y3QNCj4gPj4+PiB0b2tlbiAqdG9rZW4sDQo+ID4+Pj4+ICAgICAgICAgICByZXR1cm4gbGVu Ow0KPiA+Pj4+PiAgICAgfQ0KPiA+Pj4+Pg0KPiA+Pj4+PiArLyoqIFBhcnNlIGFjdGlvbiBjb25m aWd1cmF0aW9uIGZpZWxkLiAqLyBzdGF0aWMgaW50DQo+ID4+Pj4+ICtwYXJzZV92Y19jb25mX3Rp bWVvdXQoc3RydWN0IGNvbnRleHQgKmN0eCwgY29uc3Qgc3RydWN0IHRva2VuDQo+ICp0b2tlbiwN Cj4gPj4+Pj4gKyAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnN0ciwgdW5zaWduZWQgaW50IGxl biwNCj4gPj4+Pj4gKyAgICAgICAgICAgICAgIHZvaWQgKmJ1ZiwgdW5zaWduZWQgaW50IHNpemUp IHsgIHN0cnVjdCBidWZmZXINCj4gPj4+Pj4gKypvdXQgPSBidWY7ICBzdHJ1Y3QgcnRlX2Zsb3df dXBkYXRlX2FnZSAqdXBkYXRlOw0KPiA+Pj4+PiArDQo+ID4+Pj4+ICsgKHZvaWQpc2l6ZTsNCj4g Pj4+Pj4gKyBpZiAoY3R4LT5jdXJyICE9IEFDVElPTl9BR0VfVVBEQVRFX1RJTUVPVVQpDQo+ID4+ Pj4+ICsgICAgICAgICByZXR1cm4gLTE7DQo+ID4+Pj4+ICsgLyogVG9rZW4gbmFtZSBtdXN0IG1h dGNoLiAqLw0KPiA+Pj4+PiArIGlmIChwYXJzZV9kZWZhdWx0KGN0eCwgdG9rZW4sIHN0ciwgbGVu LCBOVUxMLCAwKSA8IDApDQo+ID4+Pj4+ICsgICAgICAgICByZXR1cm4gLTE7DQo+ID4+Pj4+ICsg LyogTm90aGluZyBlbHNlIHRvIGRvIGlmIHRoZXJlIGlzIG5vIGJ1ZmZlci4gKi8gaWYgKCFvdXQp DQo+ID4+Pj4+ICsgICAgICAgICByZXR1cm4gbGVuOw0KPiA+Pj4+PiArIC8qIFBvaW50IHRvIHNl bGVjdGVkIG9iamVjdC4gKi8NCj4gPj4+Pj4gKyBjdHgtPm9iamVjdCA9IG91dC0+YXJncy52Yy5k YXRhOyBvYmptYXNrID0gTlVMTDsNCj4gPj4+Pj4gKyAvKiBVcGRhdGUgdGhlIHRpbWVvdXQgaXMg dmFsaWQuICovIHVwZGF0ZSA9IChzdHJ1Y3QNCj4gPj4+Pj4gKyBydGVfZmxvd191cGRhdGVfYWdl ICopb3V0LT5hcmdzLnZjLmRhdGE7DQo+ID4+Pj4+ICsgdXBkYXRlLT50aW1lb3V0X3ZhbGlkID0g MTsNCj4gPj4+Pj4gKyByZXR1cm4gbGVuOw0KPiA+Pj4+PiArfQ0KPiA+Pj4+PiArDQo+ID4+Pj4+ ICAgICAvKiogUGFyc2UgZUNQUkkgY29tbW9uIGhlYWRlciB0eXBlIGZpZWxkLiAqLw0KPiA+Pj4+ PiAgICAgc3RhdGljIGludA0KPiA+Pj4+PiAgICAgcGFyc2VfdmNfaXRlbV9lY3ByaV90eXBlKHN0 cnVjdCBjb250ZXh0ICpjdHgsIGNvbnN0IHN0cnVjdA0KPiA+Pj4+PiB0b2tlbg0KPiA+PiAqdG9r ZW4sDQo+ID4+Pj4+IGRpZmYgLS1naXQgYS9hcHAvdGVzdC1wbWQvY29uZmlnLmMgYi9hcHAvdGVz dC1wbWQvY29uZmlnLmMgaW5kZXgNCj4gPj4+Pj4gMzE5NTI0NjdmYi4uNDU0OTUzODVkNyAxMDA2 NDQNCj4gPj4+Pj4gLS0tIGEvYXBwL3Rlc3QtcG1kL2NvbmZpZy5jDQo+ID4+Pj4+ICsrKyBiL2Fw cC90ZXN0LXBtZC9jb25maWcuYw0KPiA+Pj4+PiBAQCAtMjA2NSw2ICsyMDY1LDcgQEAgcG9ydF9h Y3Rpb25faGFuZGxlX3VwZGF0ZShwb3J0aWRfdA0KPiBwb3J0X2lkLA0KPiA+Pj4+IHVpbnQzMl90 IGlkLA0KPiA+Pj4+PiAgICAgICAgICAgaWYgKCFwaWEpDQo+ID4+Pj4+ICAgICAgICAgICAgICAg ICAgIHJldHVybiAtRUlOVkFMOw0KPiA+Pj4+PiAgICAgICAgICAgc3dpdGNoIChwaWEtPnR5cGUp IHsNCj4gPj4+Pj4gKyBjYXNlIFJURV9GTE9XX0FDVElPTl9UWVBFX0FHRToNCj4gPj4+Pj4gICAg ICAgICAgIGNhc2UgUlRFX0ZMT1dfQUNUSU9OX1RZUEVfQ09OTlRSQUNLOg0KPiA+Pj4+PiAgICAg ICAgICAgICAgICAgICB1cGRhdGUgPSBhY3Rpb24tPmNvbmY7DQo+ID4+Pj4+ICAgICAgICAgICAg ICAgICAgIGJyZWFrOw0KPiA+Pj4+PiBAQCAtMjkwNCw2ICsyOTA1LDggQEANCj4gcG9ydF9xdWV1 ZV9hY3Rpb25faGFuZGxlX3VwZGF0ZShwb3J0aWRfdA0KPiA+Pj4+IHBvcnRfaWQsDQo+ID4+Pj4+ ICAgICAgICAgICBzdHJ1Y3QgcnRlX3BvcnQgKnBvcnQ7DQo+ID4+Pj4+ICAgICAgICAgICBzdHJ1 Y3QgcnRlX2Zsb3dfZXJyb3IgZXJyb3I7DQo+ID4+Pj4+ICAgICAgICAgICBzdHJ1Y3QgcnRlX2Zs b3dfYWN0aW9uX2hhbmRsZSAqYWN0aW9uX2hhbmRsZTsNCj4gPj4+Pj4gKyBzdHJ1Y3QgcG9ydF9p bmRpcmVjdF9hY3Rpb24gKnBpYTsgY29uc3Qgdm9pZCAqdXBkYXRlOw0KPiA+Pj4+Pg0KPiA+Pj4+ PiAgICAgICAgICAgYWN0aW9uX2hhbmRsZSA9IHBvcnRfYWN0aW9uX2hhbmRsZV9nZXRfYnlfaWQo cG9ydF9pZCwgaWQpOw0KPiA+Pj4+PiAgICAgICAgICAgaWYgKCFhY3Rpb25faGFuZGxlKQ0KPiA+ Pj4+PiBAQCAtMjkxNSw4ICsyOTE4LDIxIEBADQo+IHBvcnRfcXVldWVfYWN0aW9uX2hhbmRsZV91 cGRhdGUocG9ydGlkX3QNCj4gPj4+PiBwb3J0X2lkLA0KPiA+Pj4+PiAgICAgICAgICAgICAgICAg ICByZXR1cm4gLUVJTlZBTDsNCj4gPj4+Pj4gICAgICAgICAgIH0NCj4gPj4+Pj4NCj4gPj4+Pj4g KyBwaWEgPSBhY3Rpb25fZ2V0X2J5X2lkKHBvcnRfaWQsIGlkKTsgaWYgKCFwaWEpDQo+ID4+Pj4+ ICsgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gPj4+Pj4gKw0KPiA+Pj4+PiArIHN3aXRjaCAo cGlhLT50eXBlKSB7DQo+ID4+Pj4+ICsgY2FzZSBSVEVfRkxPV19BQ1RJT05fVFlQRV9BR0U6DQo+ ID4+Pj4+ICsgICAgICAgICB1cGRhdGUgPSBhY3Rpb24tPmNvbmY7DQo+ID4+Pj4+ICsgICAgICAg ICBicmVhazsNCj4gPj4+Pj4gKyBkZWZhdWx0Og0KPiA+Pj4+PiArICAgICAgICAgdXBkYXRlID0g YWN0aW9uOw0KPiA+Pj4+PiArICAgICAgICAgYnJlYWs7DQo+ID4+Pj4+ICsgfQ0KPiA+Pj4+PiAr DQo+ID4+Pj4+ICAgICAgICAgICBpZiAocnRlX2Zsb3dfYXN5bmNfYWN0aW9uX2hhbmRsZV91cGRh dGUocG9ydF9pZCwgcXVldWVfaWQsDQo+ICZhdHRyLA0KPiA+Pj4+PiAtICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBhY3Rpb25faGFuZGxlLCBhY3Rpb24sIE5VTEwsICZlcnJvcikpIHsNCj4g Pj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uX2hhbmRsZSwgdXBkYXRl LCBOVUxMLA0KPiA+Pj4+PiArICZlcnJvcikpIHsNCj4gPj4+Pj4gICAgICAgICAgICAgICAgICAg cmV0dXJuIHBvcnRfZmxvd19jb21wbGFpbigmZXJyb3IpOw0KPiA+Pj4+PiAgICAgICAgICAgfQ0K PiA+Pj4+PiAgICAgICAgICAgcHJpbnRmKCJJbmRpcmVjdCBhY3Rpb24gIyV1IHVwZGF0ZSBxdWV1 ZWRcbiIsIGlkKTsgZGlmZg0KPiA+Pj4+PiAtLWdpdCBhL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9y dGVfZmxvdy5yc3QNCj4gPj4+PiBiL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9ydGVfZmxvdy5yc3QN Cj4gPj4+Pj4gaW5kZXggNTg4OTE0YjIzMS4uZGFlOTEyMTI3OSAxMDA2NDQNCj4gPj4+Pj4gLS0t IGEvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3J0ZV9mbG93LnJzdA0KPiA+Pj4+PiArKysgYi9kb2Mv Z3VpZGVzL3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0DQo+ID4+Pj4+IEBAIC0yOTU4LDcgKzI5NTgs NyBAQCBPdGhlcndpc2UsDQo+IFJURV9GTE9XX0VSUk9SX1RZUEVfQUNUSU9ODQo+ID4+Pj4gZXJy b3Igd2lsbCBiZSByZXR1cm5lZC4NCj4gPj4+Pj4gICAgIEFjdGlvbjogYGBBR0VgYA0KPiA+Pj4+ PiAgICAgXl5eXl5eXl5eXl5eXl5eDQo+ID4+Pj4+DQo+ID4+Pj4+IC1TZXQgYWdlaW5nIHRpbWVv dXQgY29uZmlndXJhdGlvbiB0byBhIGZsb3cuDQo+ID4+Pj4+ICtTZXQgYWdpbmcgdGltZW91dCBj b25maWd1cmF0aW9uIHRvIGEgZmxvdy4NCj4gPj4+Pj4NCj4gPj4+Pj4gICAgIEV2ZW50IFJURV9F VEhfRVZFTlRfRkxPV19BR0VEIHdpbGwgYmUgcmVwb3J0ZWQgaWYNCj4gPj4+Pj4gICAgIHRpbWVv dXQgcGFzc2VkIHdpdGhvdXQgYW55IG1hdGNoaW5nIG9uIHRoZSBmbG93Lg0KPiA+Pj4+PiBAQCAt Mjk3Nyw4ICsyOTc3LDggQEAgdGltZW91dCBwYXNzZWQgd2l0aG91dCBhbnkgbWF0Y2hpbmcgb24N Cj4gdGhlDQo+ID4+Pj4gZmxvdy4NCj4gPj4+Pj4gICAgICAgIHwgYGBjb250ZXh0YGAgIHwgdXNl ciBpbnB1dCBmbG93IGNvbnRleHQgICAgICAgICB8DQo+ID4+Pj4+ICAgICAgICArLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiA+Pj4+Pg0KPiA+Pj4+ PiAtUXVlcnkgc3RydWN0dXJlIHRvIHJldHJpZXZlIGFnZWluZyBzdGF0dXMgaW5mb3JtYXRpb24g b2YgYQ0KPiA+Pj4+PiAtc2hhcmVkIEFHRSBhY3Rpb24sIG9yIGEgZmxvdyBydWxlIHVzaW5nIHRo ZSBBR0UgYWN0aW9uOg0KPiA+Pj4+PiArUXVlcnkgc3RydWN0dXJlIHRvIHJldHJpZXZlIGFnaW5n IHN0YXR1cyBpbmZvcm1hdGlvbiBvZiBhbg0KPiA+Pj4+PiAraW5kaXJlY3QgQUdFIGFjdGlvbiwg b3IgYSBmbG93IHJ1bGUgdXNpbmcgdGhlIEFHRSBhY3Rpb246DQo+ID4+Pj4+DQo+ID4+Pj4+ICAg ICAuLiBfdGFibGVfcnRlX2Zsb3dfcXVlcnlfYWdlOg0KPiA+Pj4+Pg0KPiA+Pj4+PiBAQCAtMjk5 NCw2ICsyOTk0LDI1IEBAIHNoYXJlZCBBR0UgYWN0aW9uLCBvciBhIGZsb3cgcnVsZSB1c2luZyB0 aGUNCj4gPj4gQUdFDQo+ID4+Pj4gYWN0aW9uOg0KPiA+Pj4+PiAgICAgICAgfCBgYHNlY19zaW5j ZV9sYXN0X2hpdGBgICAgICAgIHwgb3V0IHwgU2Vjb25kcyBzaW5jZSBsYXN0IHRyYWZmaWMgaGl0 ICAgICAgICAgfA0KPiA+Pj4+Pg0KPiA+Pj4+PiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPj4+Pj4gLS0tLS0tLS0t LS0tKw0KPiA+Pj4+Pg0KPiA+Pj4+PiArVXBkYXRlIHN0cnVjdHVyZSB0byBtb2RpZnkgdGhlIHBh cmFtZXRlcnMgb2YgYW4gaW5kaXJlY3QgQUdFDQo+IGFjdGlvbi4NCj4gPj4+Pj4gK1RoZSB1cGRh dGUgc3RydWN0dXJlIGlzIHVzZWQgYnkNCj4gPj4+Pj4gK2BgcnRlX2Zsb3dfYWN0aW9uX2hhbmRs ZV91cGRhdGUoKWBgDQo+ID4+Pj4gZnVuY3Rpb24uDQo+ID4+Pj4+ICsNCj4gPj4+Pj4gKy4uIF90 YWJsZV9ydGVfZmxvd191cGRhdGVfYWdlOg0KPiA+Pj4+PiArDQo+ID4+Pj4+ICsuLiB0YWJsZTo6 IEFHRSB1cGRhdGUNCj4gPj4+Pj4gKw0KPiA+Pj4+PiArICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCj4gLS0tKw0KPiA+Pj4+PiArICAgfCBGaWVsZCAgICAgICAgICAgICB8IFZhbHVlICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ID4+ Pj4+ICsNCj4gPj4+Pg0KPiArPT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09DQo+ID4+Pj4gPT09PT09PT09PT09PT09PT09PT09PT09PSsNCj4g Pj4+Pj4gKyAgIHwgYGB0aW1lb3V0YGAgICAgICAgfCAyNCBiaXRzIHRpbWVvdXQgdmFsdWUgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiA+Pj4+PiArICAgKy0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCj4gLS0tKw0KPiA+Pj4+PiArICAgfCBgYHRpbWVvdXRfdmFsaWRg YCB8IDEgYml0LCB0aW1lb3V0IHZhbHVlIGlzIHZhbGlkICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8DQo+ID4+Pj4+ICsgICArLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAtLS0rDQo+ ID4+Pj4+ICsgICB8IGBgdG91Y2hgYCAgICAgICAgIHwgMSBiaXQsIHRvdWNoIHRoZSBBR0UgYWN0 aW9uIHRvIHNldA0KPiA+PiBgYHNlY19zaW5jZV9sYXN0X2hpdGBgIDANCj4gPj4+PiB8DQo+ID4+ Pj4+ICsgICArLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAtLS0rDQo+ID4+Pj4+ICsgICB8IGBg cmVzZXJ2ZWRgYCAgICAgIHwgNiBiaXRzIHJlc2VydmVkLCBtdXN0IGJlIHplcm8gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwNCj4gPj4+Pj4gKw0KPiA+Pj4+PiArICstLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4g Pj4+Pj4gKyAtLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiA+Pj4+PiArDQo+ID4+Pj4+ICAgICBBY3Rp b246IGBgU0FNUExFYGANCj4gPj4+Pj4gICAgIF5eXl5eXl5eXl5eXl5eXl5eXg0KPiA+Pj4+Pg0K PiA+Pj4+PiBkaWZmIC0tZ2l0IGEvbGliL2V0aGRldi9ydGVfZmxvdy5oIGIvbGliL2V0aGRldi9y dGVfZmxvdy5oIGluZGV4DQo+ID4+Pj4+IGQ4MzBiMDIzMjEuLmEyMWQ0MzdjZjggMTAwNjQ0DQo+ ID4+Pj4+IC0tLSBhL2xpYi9ldGhkZXYvcnRlX2Zsb3cuaA0KPiA+Pj4+PiArKysgYi9saWIvZXRo ZGV2L3J0ZV9mbG93LmgNCj4gPj4+Pj4gQEAgLTI5NTQsNiArMjk1NCwzMyBAQCBzdHJ1Y3QgcnRl X2Zsb3dfcXVlcnlfYWdlIHsNCj4gPj4+Pj4gICAgICAgICAgIHVpbnQzMl90IHNlY19zaW5jZV9s YXN0X2hpdDoyNDsgLyoqPCBTZWNvbmRzIHNpbmNlIGxhc3QgdHJhZmZpYyBoaXQuDQo+ICovDQo+ ID4+Pj4+ICAgICB9Ow0KPiA+Pj4+Pg0KPiA+Pj4+PiArLyoqDQo+ID4+Pj4+ICsgKiBAd2Fybmlu Zw0KPiA+Pj4+PiArICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIHN0cnVjdHVyZSBtYXkgY2hhbmdl IHdpdGhvdXQgcHJpb3INCj4gPj4+Pj4gK25vdGljZQ0KPiA+Pj4+PiArICoNCj4gPj4+Pj4gKyAq IFJURV9GTE9XX0FDVElPTl9UWVBFX0FHRQ0KPiA+Pj4+PiArICoNCj4gPj4+Pj4gKyAqIFVwZGF0 ZSBpbmRpcmVjdCBBR0UgYWN0aW9uIGF0dHJpYnV0ZXM6DQo+ID4+Pj4+ICsgKiAgLSBUaW1lb3V0 IGNhbiBiZSB1cGRhdGVkIGluY2x1ZGluZyBzdG9wL3N0YXJ0IGFjdGlvbjoNCj4gPj4+Pj4gKyAq ICAgICArLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSsNCj4gPj4+Pj4gKyAqICAgICB8IE9sZCBUaW1lb3V0IHwgTmV3IFRpbWVvdXQgfCBV cGRhdGluZyAgICAgICAgICAgICAgICAgICAgIHwNCj4gPj4+Pj4gKyAqDQo+ID4+Pj4NCj4gKz09 PT09PT09PT09PT0rPT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K PiA+Pj4+ID0rDQo+ID4+Pj4+ICsgKiAgICAgfCAwICAgICAgICAgICB8IHBvc2l0aXZlICAgIHwg U3RhcnQgYWdpbmcgd2l0aCBuZXcgdmFsdWUgICB8DQo+ID4+Pj4+ICsgKiAgICAgKy0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQo+ID4+ Pj4+ICsgKiAgICAgfCBwb3NpdGl2ZSAgICB8IDAgICAgICAgICAgIHwgU3RvcCBhZ2luZyAgICAg ICAgICAgICAgICAgICAgfA0KPiA+Pj4+PiArICogICAgICstLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiA+Pj4+PiArICogICAgIHwg cG9zaXRpdmUgICAgfCBwb3NpdGl2ZSAgICB8IENoYW5nZSB0aW1lb3V0IHRvIG5ldyB2YWx1ZSAg fA0KPiA+Pj4+PiArICogICAgICstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiA+Pj4+PiArICogIC0gc2VjX3NpbmNlX2xhc3RfaGl0 IGNhbiBiZSByZXNldC4NCj4gPj4+Pj4gKyAqLw0KPiA+Pj4+PiArc3RydWN0IHJ0ZV9mbG93X3Vw ZGF0ZV9hZ2Ugew0KPiA+Pj4+DQo+ID4+Pj4gSSB0aGluayBpdCB3b3JzZSB0byBtZW50aW9uIHRo ZSBzdHJ1Y3R1cmUgaW4NCj4gPj4+PiBSVEVfRkxPV19BQ1RJT05fVFlQRV9BR0UgZGVzY3JpcHRp b24uDQo+ID4+Pg0KPiA+Pj4gV2hhdCBkbyB5b3UgbWVhbj8NCj4gPj4NCj4gPj4gUlRFX0ZMT1df QUNUSU9OX1RZUEVfQUdFIGhhcyBhIGRlc2NyaXB0aW9uIGFzIGVudW0gbWVtYmVyLg0KPiA+PiBU eXBpY2FsbHkgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmVzIGFyZSBtZW50aW9uZWQgdGhlcmUuDQo+ ID4+IEhvd2V2ZXIsIEkgdGhpbmsgdGhhdCBpdCB3b3VsZCBiZSB1c2VmdWwgdG8gbWVudGlvbiBz cGVjaWZpYyB1cGRhdGUNCj4gPj4gc3RydWN0dXJlIGlmIGFueS4gTGlrZSB0aGlzIG9uZS4gSnVz dCB0byBtYWtlIGl0IGNsZWFyIHRoYXQgaWYgYSB1c2VyDQo+ID4+IHdhbnRzIHRvIHVwZGF0ZSB0 aGUgYWN0aW9uIGNvbmZpZ3VyYXRpb24gaXQgc2hvdWxkIHVzZSBzcGVjaWZpYw0KPiA+PiBzdHJ1 Y3R1cmUuIE9yIGFtIEkgbWlzc2luZyBzb21ldGhpbmc/DQo+ID4+IE1pc3VuZGVyc3RhbmQgc29t ZXRoaW5nPw0KPiA+Pg0KPiA+DQo+ID4gRG8geW91IG1lYW4gc29tZXRoaW5nIGxpa2U6DQo+ID4g KiBzZWUgZW51bSBSVEVfRVRIX0VWRU5UX0ZMT1dfQUdFRA0KPiA+ICAgKiBTZWUgc3RydWN0IHJ0 ZV9mbG93X3F1ZXJ5X2FnZQ0KPiA+ICsgU2VlIHN0cnVjdCBydGVfZmxvd191cGRhdGVfYWdlDQo+ ID4gICAqLw0KPiA+IFJURV9GTE9XX0FDVElPTl9UWVBFX0FHRSwNCj4gPiAgIElmIHNvLCBJIGZ1 bGx5IGFncmVlLg0KPiANCj4gWWVzLCBleGFjdGx5Lg0KDQpJIGhhdmUgdXBkYXRlZCBpdCBhY2Nv cmRpbmcgeW91ciBzdWdnZXN0aW9uLCB0aGFuayB5b3UuDQoNCj4gDQo+ID4NCj4gPj4+DQo+ID4+ Pj4NCj4gPj4+Pj4gKyB1aW50MzJfdCByZXNlcnZlZDo2OyAvKio8IFJlc2VydmVkLCBtdXN0IGJl IHplcm8uICovIHVpbnQzMl90DQo+ID4+Pj4+ICsgdGltZW91dF92YWxpZDoxOyAvKio8IFRoZSB0 aW1lb3V0IGlzIHZhbGlkIGZvciB1cGRhdGUuICovDQo+ID4+Pj4+ICsgdWludDMyX3QgdGltZW91 dDoyNDsgLyoqPCBUaW1lIGluIHNlY29uZHMuICovIHVpbnQzMl90IHRvdWNoOjE7DQo+ID4+Pj4+ ICsgLyoqPCBNZWFucyB0aGF0IGFnaW5nIHNob3VsZCBhc3N1bWUgcGFja2V0IHBhc3NlZCB0aGUg YWdpbmcuICovDQo+ID4+Pj4NCj4gPj4+PiBEb2N1bWVudGF0aW9uIGFmdGVyIGNvZGUgbWFrZXMg c2Vuc2UgaWYgaXQgaXMgaW4gdGhlIHNhbWUgbGluZS4NCj4gPj4+PiBJZiB0aGUgZG9jdW1lbnRh dGlvbiBpcyBpbiBpdHMgb3duIGxpbmUsIGl0IHNob3VsZCBiZSBiZWZvcmUgdGhlDQo+ID4+Pj4g Y29kZSBhbmQgdXNlIC8qKiBwcmVmaXguDQoNClVwZGF0ZWQsIHRoYW5rcy4NCg0KPiA+Pj4NCj4g Pj4+ICsxDQo+ID4+Pg0KPiA+Pj4+IE9uZSBtb3JlIHF1ZXN0aW9uOiB3aHkgb3JkZXIgaW4gdGhl IGRvY3VtZW50YXRpb24gYWJvdmUgZG9lcyBub3QNCj4gPj4+PiBtYXRjaCBvcmRlciBoZXJlPw0K DQpJIHVwZGF0ZWQgdGhlIGRvY3VtZW50YXRpb24gdG8gYmUgYWxpZ24gdG8gdGhpcyBvcmRlci4N Cg0KPiA+Pj4NCj4gPj4+IEkgdGhpbmsgd2UgY2FuIHJlbW92ZSBpdCBmcm9tIHRoZSBkb2N1bWVu dGF0aW9uIHNpbmNlIGl0IGRvZXNuJ3QgYWRkDQo+ID4+IGFueXRoaW5nDQo+ID4+Pg0KPiA+Pj4+ PiArfTsNCj4gPj4+Pj4gKw0KPiA+Pj4+PiAgICAgLyoqDQo+ID4+Pj4+ICAgICAgKiBAd2Fybmlu Zw0KPiA+Pj4+PiAgICAgICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIHN0cnVjdHVyZSBtYXkgY2hh bmdlIHdpdGhvdXQgcHJpb3INCj4gPj4+Pj4gbm90aWNlDQo+ID4+Pg0KPiA+DQoNCg==