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 A8380A0C41; Wed, 15 Sep 2021 11:23:34 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9791D4003F; Wed, 15 Sep 2021 11:23:34 +0200 (CEST) Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam08on2045.outbound.protection.outlook.com [40.107.100.45]) by mails.dpdk.org (Postfix) with ESMTP id 3AB014003C for ; Wed, 15 Sep 2021 11:23:33 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Girum5qtb0ar3Clvn58+oR3kWLJDF+R8hbT8wZueuLIPzn53eMBfgmIm4hGkunuJEC3j4FBvq8pC0fAnmq3NnTRi5VRtCQpfkRMBCxD4q5agzu5DOc8J79E7xqDQxX1KYaZvE4WkUcKYkI4R24O+G3IkB9OXZA21ItKRmU/OqX3nyaWCrq5ePONFfNnXAIq9uglwl97/KwGb5Fn0BHcSogoOvGQ35XsHHyTUQrVXI1iFmR5rwH/d2FOzkc/0YwMcr0ojd8CdXScgGY2DqWOBZ6jD+D2GseYriHhBwjrqx3mStgrYPB9fNR8yn8NCrelu3Wd4joATY/+VQueQiZBgVA== 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; bh=qH4N/N9ACdCqK5bU0SbG7TqD4gfecaAILIP39bpPcmM=; b=Bi83Qp5qr7eeudCZlWnP3DPZ6udDAlnyCtzjojZlKLV+ajDLNW4VWU9sjnEA90Ip9l2NJo3UDBCqzOeDPDFu61mx0R2OVAc4rVJHucEYhqBj9nKtHOwWXmy2R8P2xyjpelaOje1n5yiyuvqHWh9zon8BfvLSYD3fjNpgP02sOkoHbUrBbfcGvCFjXgfTodzLqI7g/juEDjpRw7W5m2vbf/o7B6qN+c1E/mcudTFFOtTUiqroPzlRURvdzdJhrLrwHg4G/VJ4xriP90gW7T4iqN1zu4pFZhs0oNd2e5Indu13Xi5RJtW/Ia+0vLRr/clfs9HYLkTCaBKjDVRf0bepEg== 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=qH4N/N9ACdCqK5bU0SbG7TqD4gfecaAILIP39bpPcmM=; b=KPmQRuyMTbyzORTyhw/QJ3YLfkeFQhWGMNsX/OP6sRPvbtHlP+2CimcxHbLTdfdCMHyY0ik6izqOjbhonKJqlRtIkqpP7zVYIK+SmG3YnXAyVsKTqpWEuRFup991iNsmuS67zXlTBtrazanfm5A+482FrRmdhNYGBvYN8+z2wsBlKjAZ01Dyse6YOdh2uDnB5y4t6XdM3Z06wqJ7keui+jU7hon1PeTIAUGtDjQB2RaR3weJq1NLl8wSsIViMcPDi/9UlpSJC3HUre9dcw+q5zhZo4hi+jD+u35SyjM3q+6qsvCxCScuRXmOyvWtop4CDdbnH/G+cZZAtQZmlYA5cw== Received: from DM4PR12MB5373.namprd12.prod.outlook.com (2603:10b6:5:39a::17) by DM4PR12MB5344.namprd12.prod.outlook.com (2603:10b6:5:39f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4523.14; Wed, 15 Sep 2021 09:23:32 +0000 Received: from DM4PR12MB5373.namprd12.prod.outlook.com ([fe80::584f:672a:653f:fe25]) by DM4PR12MB5373.namprd12.prod.outlook.com ([fe80::584f:672a:653f:fe25%5]) with mapi id 15.20.4523.014; Wed, 15 Sep 2021 09:23:32 +0000 From: "Xueming(Steven) Li" To: "chenbo.xia@intel.com" , "andrew.rybchenko@oktetlabs.ru" CC: "maxime.coquelin@redhat.com" , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH] net/virtio: wait device ready in device reset Thread-Index: AQHXl+mltXI1xv+ceEue2bYiueHlaauA2n+AgAA98lCAAbSMgIACl5iAgB+SSoA= Date: Wed, 15 Sep 2021 09:23:32 +0000 Message-ID: References: <20210823063906.1382544-1-xuemingl@nvidia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.40.4 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d8ad384c-905d-4c6f-3f92-08d9782a7ca4 x-ms-traffictypediagnostic: DM4PR12MB5344: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6430; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: T6ULGxf3syjj25d6EBma9lwliQGCho7srBzdy4RqAKvZ5KDpAKUJfVdGLuml7udb43pKwnV4p0KX12sjH5N8nHEQeF1132PGCK3SPAQclknirWL1QC8xG8u7P9TAHr+AepfuX414foh6BSoye4faImrXeJQ6ry/qVqBbBJZO6eVeod1/8D5Tzlm+M222utpNDOQngnrTposhDgkSjPBqwG4470pnwsCa696v/1M8PYFo8jnRaLW86bz9PkozAHckvkTJ1DPo3qlIqZQh+CIiwYmit9w7kViVk6AW8+x9nDv8ja/3M+66Bc9Sq8vsttLLUtkB2yOK0PVgcHrDkECtRO0uRjeYvYwHN8I97Sxfq1RjSxZL5G7obija7/ltCvjg+Pc9M01RbD3k+99HpUEchx9tS374/3hoGX9lihwRGU7vQsMK0RCna7pDzKPWW36ZxDQ956O/N14nPyxN/Q0BcA3LcwhlIMhVqUN2Powevb9/d2+zYrEAVwsifpxycfwqYl64WkbOB2ecd82rllbZKypUbT0cZQivoWj169WIPXmUyfXdZgXV6/ClbKcXeA6KSQPYw7gHawK0KwOmmzpIA95kGKbfPIVuWYpHFl+pUo6w7UJVIRxfhm6584Um4LDbGdg3Eo80PDbx16+fhGxcMAmYuCgUvPK5SMmYZxrEC6Yvj4vKi+6vFfV+k7nsCd4ljl1A86IUlIFZJht3CN51TMWz0jzk6LEi2HEst/uDdF6XKzEJlBQ2ri12jHCrYo57Uq6YzG7H38XbcfEI+o48Hshx8R+ol3Wm59ISFXjttQY= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR12MB5373.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(366004)(396003)(136003)(376002)(39860400002)(478600001)(6486002)(64756008)(66946007)(83380400001)(91956017)(76116006)(8936002)(8676002)(66556008)(66446008)(2616005)(38070700005)(54906003)(110136005)(4326008)(6512007)(316002)(966005)(86362001)(38100700002)(186003)(26005)(71200400001)(66476007)(36756003)(5660300002)(2906002)(53546011)(6506007)(122000001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dkRScjVjVDAxZkxtN0RiTHIwUGZlUS9acnBEeVE5Wk1XeFBIaFVScEJMRWxp?= =?utf-8?B?ZFBsNUZnNDl5Smd0bTd4ZTRnaE9DQzlxOHNPbVZCTGNsZjlUbEJ5cXptR2Q1?= =?utf-8?B?NXVHYlpFeWxiRU1sYTBFcFNqUWVaWHl1TEVzazdaQkZpUVVJaEV1d29jTjZo?= =?utf-8?B?S2hhSHFiM3FlNEhZa21GMnZuYk9PaFpiT2J1TE41cDZ5Ty92U05jRUVpQmRN?= =?utf-8?B?M09Wbjh6YnhLSXlYcmxteXkwZU1SWUVDenZtQTEwRFVuWjFPeEptbUZVd1kz?= =?utf-8?B?V3JZZWpaa0JsNzErUVQvV1hNNjBMQnptRVlOdUUwdkFZcGwrK2NlbUVZaGF6?= =?utf-8?B?SVhXYWpETW51Z2E2SU9KU3lBZXRScERaMW9ROXVyOTBaZ1EzMVZWR1l4R0cr?= =?utf-8?B?MlVZaG1rb2ZTK2dsUEg2M2YyVXZ1MHRySDI0aEZORnlERHFzMVc2RXBsSEZD?= =?utf-8?B?ZytlZFNVZHY4UXZ4d0dCRDB6ckZyUVhLbXAzdGRYUEQwRHpFQXJwTHREcGlO?= =?utf-8?B?c1Z5SWJ4VEJMOE5RLzlIeUpmbTRuQWFQa0lRQ1Y4TVByZzd5Yy9XNURzbEpG?= =?utf-8?B?N2RoUlMxQ2tua3p1SFFVK3pTQytGWGNVNXhFK2tYVnlIQ2Nhb09mL1N6N29M?= =?utf-8?B?SVEwbTdGOEttWUtFbEVHVFArM3hkOUlmM0RQSndiRjIxOVpHaXRBa0NHdkpC?= =?utf-8?B?Q1Z3YzJHR2dMZitwYWxuWVdpaVN1MkkxY2hraEZjeWlWdjhnbCt0VDc4WGNo?= =?utf-8?B?cWswa0hMNXY1U2Urbk9aa21oRHg4bW9YZlVSTFlHZG4wdkd1bWlmVzJHQU5I?= =?utf-8?B?QnpobTMwYmpSY2dsaExlcDVKMTlwSW1ndXY2cW5iSm1sbjQxNy9FMHVtakg1?= =?utf-8?B?QkxBZlVQV1M4VWxXVzVJdDJ1Mk04ckNibTRxeUE2dzlIbUoxMnZ1bTBRSHVP?= =?utf-8?B?aGFPTVhsUUcyTkVOSkdVeUY2MkVDTlVkS3NvUkdEU2R4NHd3QnYzTjkwZkRG?= =?utf-8?B?a1BURGZET1FWSGIwcC94K0ZzS2NDem8yTjZFN0ZzcUhtYjd1U1lEWU9HbTl1?= =?utf-8?B?TVVTNFJiQTAzTndqTmN4MjRQbTBoUEtDZTVCSGJuc2dPUDBHTEFoaFo4aTVy?= =?utf-8?B?VURmL0EyOWljelJkRGtidWc4K1BHd2dFUXBlNk92Nlh3UWh1VTZLTTk1U0Iw?= =?utf-8?B?YWFVOHpPMTJPd3VabVhxUzZxUTh3cDdhdkp6dzF5ZkVMNkNnZ3R4aDlSajVC?= =?utf-8?B?TWlQU3h1SURvK2NnMk85enpiTkRzVlNMOHhxMTRlUTRHTEdHNnlKQ3NlZzhQ?= =?utf-8?B?YkNPMEgrZUpzSzRGVm9GMEZzVFlwOTdDWkVIOWR2ekgwczF6ZE5pYXhLZGlJ?= =?utf-8?B?NUpUT1d2Q3ZSc2pUTm5KbjJhNmExYWRkVnFucmdMNHkwcVFsUFNsNTgwVmhE?= =?utf-8?B?eDNjUG9xQytHYkVsQUN1RGkvOFF4YUNaeTVkSlNRRzZoR2lwUnlUQWdlQVE2?= =?utf-8?B?YUFYSmUzZWZPbFJSUTZmdTlmVkdpVGpBeXNncUlqM0dEZklESEx0eG8zMTQ3?= =?utf-8?B?UkNoNlhzL24zdEhuQUpydElsWFpWNE80Z2xUSDBidVdaNTh1SVlzenB3UXd4?= =?utf-8?B?MTFyRGpoYnNraEtNdGZ6YTVCN213TWhRdzV3a1dDWGxncks5RExsdk5DRmpQ?= =?utf-8?B?U3d2Zk15ay9CTGlVSkhRSkVSSERvV1hDL0FTeDdGeVZtK1lrRTh0dG12ZDlm?= =?utf-8?B?TlNXNTlqenBrRVhRSTB1b0NDc0pTUkg1aS9FRlJMcVh6QU54RFowNWlVUkp1?= =?utf-8?B?RStVSHlrT0d2UGFncEdSZz09?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5373.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d8ad384c-905d-4c6f-3f92-08d9782a7ca4 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Sep 2021 09:23:32.4375 (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: 575uIC3uPSe7Nx80bsv0kEeRwRZlng/+gcPjGzR6mow6Mc8BSFDpsC3fsAC42OdwyIGMxLHEW1vPufnCZGCEGw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5344 Subject: Re: [dpdk-dev] [PATCH] net/virtio: wait device ready in device reset 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 Sender: "dev" T24gVGh1LCAyMDIxLTA4LTI2IGF0IDA3OjE1ICswMDAwLCBYaWEsIENoZW5ibyB3cm90ZToNCj4g SGkgQWRyZXcgJiBYdWVtaW5nLA0KPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PiA+IEZyb206IEFuZHJldyBSeWJjaGVua28gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1 Pg0KPiA+IFNlbnQ6IFR1ZXNkYXksIEF1Z3VzdCAyNCwgMjAyMSAxMTo0MSBQTQ0KPiA+IFRvOiBY dWVtaW5nKFN0ZXZlbikgTGkgPHh1ZW1pbmdsQG52aWRpYS5jb20+DQo+ID4gQ2M6IGRldkBkcGRr Lm9yZzsgTWF4aW1lIENvcXVlbGluIDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT47IFhpYSwg Q2hlbmJvDQo+ID4gPGNoZW5iby54aWFAaW50ZWwuY29tPg0KPiA+IFN1YmplY3Q6IFJlOiBbZHBk ay1kZXZdIFtQQVRDSF0gbmV0L3ZpcnRpbzogd2FpdCBkZXZpY2UgcmVhZHkgaW4gZGV2aWNlIHJl c2V0DQo+ID4gDQo+ID4gT24gOC8yMy8yMSA0OjU0IFBNLCBYdWVtaW5nKFN0ZXZlbikgTGkgd3Jv dGU6DQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PiA+ID4gPiBGcm9tOiBBbmRyZXcgUnliY2hlbmtvIDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFi cy5ydT4NCj4gPiA+ID4gU2VudDogTW9uZGF5LCBBdWd1c3QgMjMsIDIwMjEgNTo1NyBQTQ0KPiA+ ID4gPiBUbzogWHVlbWluZyhTdGV2ZW4pIExpIDx4dWVtaW5nbEBudmlkaWEuY29tPg0KPiA+ID4g PiBDYzogZGV2QGRwZGsub3JnOyBNYXhpbWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRo YXQuY29tPjsgQ2hlbmJvIFhpYQ0KPiA+IDxjaGVuYm8ueGlhQGludGVsLmNvbT4NCj4gPiA+ID4g U3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIXSBuZXQvdmlydGlvOiB3YWl0IGRldmljZSBy ZWFkeSBpbiBkZXZpY2UNCj4gPiByZXNldA0KPiA+ID4gPiANCj4gPiA+ID4gT24gOC8yMy8yMSA5 OjM5IEFNLCBYdWVtaW5nIExpIHdyb3RlOg0KPiA+ID4gPiA+IEFjY29yZGluZyB0byB2aXJ0aW8g c3BlYywgdGhlIGRldmljZSBNVVNUIHJlc2V0IHdoZW4gMCBpcyB3cml0dGVuIHRvDQo+ID4gPiA+ ID4gZGV2aWNlX3N0YXR1cywgYW5kIHByZXNlbnQgYSAwIGluIGRldmljZV9zdGF0dXMgb25jZSB0 aGF0IGlzIGRvbmUuDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gVGhpcyBwYXRjaCBhZGRzIHRoZSBt aXNzaW5nIHBhcnQgb2Ygd2FpdGluZyBzdGF0dXMgMCBpbiByZXNldCBmdW5jdGlvbi4NCj4gPiA+ ID4gPiANCj4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBYdWVtaW5nIExpIDx4dWVtaW5nbEBudmlk aWEuY29tPg0KPiA+ID4gPiA+IC0tLQ0KPiA+ID4gPiA+ICBkcml2ZXJzL25ldC92aXJ0aW8vdmly dGlvLmMgfCA3ICsrKysrLS0NCj4gPiA+ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkNCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpby5jIGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpby5j DQo+ID4gPiA+ID4gaW5kZXggN2UxZTc3Nzk3Zi4uZjAwM2Y2MTJkNiAxMDA2NDQNCj4gPiA+ID4g PiAtLS0gYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvLmMNCj4gPiA+ID4gPiArKysgYi9kcml2 ZXJzL25ldC92aXJ0aW8vdmlydGlvLmMNCj4gPiA+ID4gPiBAQCAtMyw2ICszLDggQEANCj4gPiA+ ID4gPiAgICogQ29weXJpZ2h0KGMpIDIwMjAgUmVkIEhhdCwgSW5jLg0KPiA+ID4gPiA+ICAgKi8N Cj4gPiA+ID4gPiANCj4gPiA+ID4gPiArI2luY2x1ZGUgPHVuaXN0ZC5oPg0KPiA+ID4gPiA+ICsN Cj4gPiA+ID4gPiAgI2luY2x1ZGUgInZpcnRpby5oIg0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+ICB1 aW50NjRfdA0KPiA+ID4gPiA+IEBAIC0zOSw4ICs0MSw5IEBAIHZvaWQNCj4gPiA+ID4gPiAgdmly dGlvX3Jlc2V0KHN0cnVjdCB2aXJ0aW9faHcgKmh3KQ0KPiA+ID4gPiA+ICB7DQo+ID4gPiA+ID4g IAlWSVJUSU9fT1BTKGh3KS0+c2V0X3N0YXR1cyhodywgVklSVElPX0NPTkZJR19TVEFUVVNfUkVT RVQpOw0KPiA+ID4gPiA+IC0JLyogZmx1c2ggc3RhdHVzIHdyaXRlICovDQo+ID4gPiA+ID4gLQlW SVJUSU9fT1BTKGh3KS0+Z2V0X3N0YXR1cyhodyk7DQo+ID4gPiA+ID4gKwkvKiBGbHVzaCBzdGF0 dXMgd3JpdGUgYW5kIHdhaXQgZGV2aWNlIHJlYWR5LiAqLw0KPiA+ID4gPiA+ICsJd2hpbGUgKFZJ UlRJT19PUFMoaHcpLT5nZXRfc3RhdHVzKGh3KSAhPSBWSVJUSU9fQ09ORklHX1NUQVRVU19SRVNF VCkNCj4gPiA+ID4gPiArCQl1c2xlZXAoMTAwMEwpOw0KPiA+ID4gPiANCj4gPiA+ID4gRG9uJ3Qg d2UgbmVlZCBhIHByb3RlY3Rpb24gYWdhaW5zdCBmb3JldmVyIGxvb3AgaGVyZT8NCj4gPiA+IA0K PiA+ID4gR29vZCBxdWVzdGlvbiwgaWRlYWxseSB3ZSBuZWVkLCBrZXJuZWwgZHJpdmVyIGZ1bmN0 aW9uIHZwX3Jlc2V0KCkgc2VlbXMgdG8NCj4gPiBoYXZlIHNhbWUgaXNzdWUuDQo+ID4gDQo+ID4g WWVzLCBJJ3ZlIHNlZW4gaXQuDQo+ID4gDQo+ID4gPiBIb3cgYWJvdXQgbGVhdmluZyBhbiBlcnJv ciBtZXNzYWdlIGJlZm9yZSByZXR1cm4/DQo+ID4gDQo+ID4gQE1heGltZSwgQENoZW5ibywgd2hh dCBkbyB5b3UgdGhpbms/DQo+IA0KPiBJIHdvdWxkIHZvdGUgZm9yIHdhaXRpbmcgZm9yIHNvbWUg dGltZSBiZWZvcmUgcmV0dXJuIHJhdGhlciB0aGFuIGZvcmV2ZXIgbG9vcA0KPiBhbmQgZXJyb3Ig bWVzc2FnZSBpcyBuZWVkZWQuDQo+IA0KPiBNeSB1bmRlcnN0YW5kaW5nIGlzIGZvciBrZXJuZWws IGl0J3MgZmluZSB0byBzbGVlcCBmb3JldmVyIGFzIGtlcm5lbCBjb3VsZCBzY2hlZHVsZQ0KPiBp dCBidXQgZm9yIERQREssIGl0IHdpbGwgbGVhZCB0byBtYWluIGxjb3JlIHVuYWJsZSB0byBkbyBv dGhlciB0aGluZ3MgYnV0IHNsZWVwDQo+IGZvcmV2ZXIuIE1lYW53aGlsZSwgdXNlcnMgd2lsbCBz ZWUgdGhlIGFwcCBzdHVjayBidXQgZG9uJ3Qga25vdyB3aGF0J3Mgd3JvbmcgaGVyZS4NCj4gDQo+ IFRoYW5rcywNCj4gQ2hlbmJvDQo+IA0KDQpIaSBhbGwsIHRoYW5rcyBmb3IgeW91IHN1Z2VzdGlv biwgbmV3IHZlcnNpb24gcG9zdGVkOg0KaHR0cHM6Ly9tYWlscy5kcGRrLm9yZy9hcmNoaXZlcy9k ZXYvMjAyMS1TZXB0ZW1iZXIvMjE5ODY2Lmh0bWwNCg0KPiAgDQoNCg==