From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from rtits2.realtek.com.tw (rtits2.realtek.com [211.75.126.72]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CF073371D01; Thu, 17 Sep 2026 03:45:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=211.75.126.72 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789616720; cv=none; b=DpaUV40lQy/ylOJl2Zglm6wx2ZodSS2rZoqNrFQDxJd4zik4K8UHqWdieMLK9PimkMvG4dyuFVdaC0GS2qFBMTtgGjSjU9cOltH37z/pK7iKddwPnZEboF8e+K3CdnEaG6RKI26Tkg3FMpSITtN3YpuU1fcI9XjMBgvolaw8hPM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789616720; c=relaxed/simple; bh=5GS4RQk8QP+ioaqFNVvYIPk0iS9n1oEM9+q+ul5wSTo=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=hEreS2O2WNo+wcy4jOXI5HO+Y1M7/MZ0P/SCWaj18j/UKizeoKdPFpAoevaC7x1VKSdqT4uPitWEoaClAnFmnc+ANjqca/Xyv5V3j7hcYr8uHjZNoShlDmi9FW91ACZTKhPH+GNsG1plAfIabvvmfC+KPASPRAm8R7z7lbzpAzQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=realtek.com; spf=pass smtp.mailfrom=realtek.com; dkim=pass (2048-bit key) header.d=realtek.com header.i=@realtek.com header.b=E7AAsKUH; arc=none smtp.client-ip=211.75.126.72 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=realtek.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=realtek.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=realtek.com header.i=@realtek.com header.b="E7AAsKUH" X-SpamFilter-By: ArmorX SpamTrap 5.80 with qID 68H3jBq852981235, This message is accepted by code: ctloc85258 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=realtek.com; s=dkim; t=1789616711; bh=5GS4RQk8QP+ioaqFNVvYIPk0iS9n1oEM9+q+ul5wSTo=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:Content-Transfer-Encoding:MIME-Version; b=E7AAsKUH++xZKqHUdge/pdeiERQu+1hgtKrN2ORzMxKPvAIy8ZdG5lKRbTtO5DMWf 77kAAUgbFhtnWU38xuFcZ1R7HSyC3hhmK6VOtCVBI54m8qtuulC21R7oJx6EjPG8N+ uwV0O53sYha5QCoHQbGH/EhvmmC109CTgp32/pRShwMYU8UfITE7a6gKBWlGGqufbH nq0KAuevMfwoJXvwpLbMUlooFPvR5QN6Y0SqSeHDIjmD6khRQSY8JCDSF2NvqbpJ7Z H4WL1n5tkGHSboNQnDQTs9VwWXK90lu6ZLemO7bfrBw2JIa+PjSmsydctnsFlhw88v 3aiqcyvLIMN9w== Received: from mail.realtek.com (rtkexhmbs02.realtek.com.tw[172.21.6.41]) by rtits2.realtek.com.tw (8.15.2/3.29/5.94) with ESMTPS id 68H3jBq852981235 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 17 Sep 2026 11:45:11 +0800 Received: from RTKEXHMBS06.realtek.com.tw (10.21.1.56) by RTKEXHMBS02.realtek.com.tw (172.21.6.41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49; Thu, 17 Sep 2026 11:45:12 +0800 Received: from RTKEXHMBS06.realtek.com.tw (10.21.1.56) by RTKEXHMBS06.realtek.com.tw (10.21.1.56) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49; Thu, 17 Sep 2026 11:45:11 +0800 Received: from RTKEXHMBS06.realtek.com.tw ([::1]) by RTKEXHMBS06.realtek.com.tw ([fe80::b3cc:c263:b82d:e87c%10]) with mapi id 15.02.2562.049; Thu, 17 Sep 2026 11:45:11 +0800 From: Ping-Ke Shih To: "5mghybrid@khu.ac.kr" <5mghybrid@khu.ac.kr>, "linux-wireless@vger.kernel.org" CC: Jes Sorensen , "linux-kernel@vger.kernel.org" Subject: RE: [PATCH rtw-next v2 3/4] wifi: rtl8xxxu: preserve RX requests across recoverable transfer errors Thread-Topic: [PATCH rtw-next v2 3/4] wifi: rtl8xxxu: preserve RX requests across recoverable transfer errors Thread-Index: AQHdQ1IzihV6w9HjIUGWB4VYUBvLcbbSJYBw Date: Thu, 17 Sep 2026 03:45:11 +0000 Message-ID: <2b956e6e0c5945e596d5825ace0c6203@realtek.com> References: <20260913-codex-rtw-rx-v2-v2-0-f09c964e0b96@khu.ac.kr> <20260913-codex-rtw-rx-v2-v2-3-f09c964e0b96@khu.ac.kr> In-Reply-To: <20260913-codex-rtw-rx-v2-v2-3-f09c964e0b96@khu.ac.kr> Accept-Language: en-US, zh-TW Content-Language: zh-TW Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 a2ltd29vc2VvayB2aWEgQjQgUmVsYXkgPGRldm51bGwrNW1naHlicmlkLmtodS5hYy5rckBrZXJu ZWwub3JnPiB3cm90ZToNCj4gRnJvbToga2ltd29vc2VvayA8NW1naHlicmlkQGtodS5hYy5rcj4N Cj4gDQo+IHJ0bDh4eHh1IG5vcm1hbGx5IHJldXNlcyAzMiBSWCBVUkJzLCBzY2hlZHVsaW5nIHRo ZSBzdWJtaXNzaW9uIHdvcmtlciB3aGVuDQo+IG1vcmUgdGhhbiBlaWdodCBjb21wbGV0ZWQgcmVx dWVzdHMgaGF2ZSBhY2N1bXVsYXRlZCBvbiB0aGUgcGVuZGluZyBsaXN0Lg0KPiBDb21wbGV0aW9u IGVycm9ycyBmcmVlIFVSQnMgaW5zdGVhZC4gQSBmaW5pdGUgZXJyb3IgYnVyc3QgY2FuIHRoZXJl Zm9yZQ0KPiBsZWF2ZSBlaWdodCBvciBmZXdlciByZXF1ZXN0cywgd2hpY2ggY2Fubm90IHJlYWNo IHRoYXQgdGhyZXNob2xkIGFmdGVyDQo+IHRoZXkgYWxsIGNvbXBsZXRlLiBXaXRoIG5vIHJlcXVl c3QgaW4gZmxpZ2h0IGFuZCBubyB3b3JrZXIgcGVuZGluZyBvcg0KPiBydW5uaW5nLCBSWCBzdGF5 cyBzdG9wcGVkIGV2ZW4gYWZ0ZXIgdGhlIGVycm9ycyBjZWFzZS4NCj4gDQo+IFRvIHByZXZlbnQg dGhlc2UgZXJyb3JzIGZyb20gc2hyaW5raW5nIHRoZSBwb29sIGJlbG93IHRoZSBudW1iZXINCj4g bmVlZGVkIGZvciBub3JtYWwgcmVzdWJtaXNzaW9uLCByZXRhaW4gVVJCcyBhZnRlciBFUFJPVE8s IEVJTFNFUSwgRVRJTUUsDQo+IEVPVkVSRkxPVywgRUNPTU0gYW5kIEVOT1NSIGNvbXBsZXRpb25z LiBFSENJIGNhbiByZXBvcnQgRU5PU1IgZm9yDQo+IElOIGRhdGEtYnVmZmVyDQo+IGVycm9ycywg YW5kIEZIQ0kgbWFwcyBSWCBidWZmZXIgb3ZlcnJ1biB0byBFQ09NTS4gRnJlZSB0aGUgZmFpbGVk DQo+IHRyYW5zZmVyJ3Mgc2tiIGFuZCBrZWVwIGl0cyBVUkIgb24gYSBzZXBhcmF0ZSByZXRyeSBs aXN0Lg0KPiANCj4gS2VlcGluZyB0aGUgVVJCcyBpcyBvbmx5IHBhcnQgb2YgdGhlIGZpeDogdGhl IGRyaXZlciBtdXN0IGFsc28gc3VibWl0DQo+IHRoZW0gYWdhaW4gd2l0aG91dCB3YWl0aW5nIGZv ciBuaW5lIHJlcXVlc3RzIHRvIGFjY3VtdWxhdGUuIFdoZW4gdGhlDQo+IGZpcnN0IGZhaWxlZCBy ZXF1ZXN0IGVudGVycyB0aGUgcmV0cnkgbGlzdCwgc2NoZWR1bGUgZGVsYXllZCB3b3JrIGZvcg0K PiAxMDAgbXMuIEZ1cnRoZXIgZmFpbHVyZXMgam9pbiB0aGF0IGxpc3Qgd2hpbGUgdGhlIHdvcmsg aXMgcGVuZGluZy4NCj4gV2hlbiBpdCBydW5zLCBtb3ZlIHRoZSBjb2xsZWN0ZWQgcmVxdWVzdHMg dG8gbm9ybWFsIHBlbmRpbmcgYW5kIHNjaGVkdWxlDQo+IHRoZSBzdWJtaXNzaW9uIHdvcmtlciBl dmVuIGlmIG9ubHkgb25lIHJlcXVlc3QgaXMgd2FpdGluZy4gS2VlcGluZw0KPiBmYWlsZWQgcmVx dWVzdHMgc2VwYXJhdGUgdW50aWwgdGhlbiBwcmV2ZW50cyBub3JtYWwgY29tcGxldGlvbnMgZnJv bQ0KPiB0cmlnZ2VyaW5nIGFuIGltbWVkaWF0ZSByZXRyeTsgc3VjY2Vzc2Z1bCBSWCBrZWVwcyBp dHMgZXhpc3RpbmcgYmF0Y2hpbmcuDQo+IA0KPiBBIHJldHJ5IGNhbiBpdHNlbGYgZmFpbCB3aXRo IEVOT01FTS9FQUdBSU4uIFJldHVybmluZyB0aGF0IHJlcXVlc3QgdG8NCj4gbm9ybWFsIHBlbmRp bmcgd291bGQgYnJpbmcgYmFjayB0aGUgc2FtZSB0aHJlc2hvbGQgcHJvYmxlbSwgc28gcm91dGUN Cj4gdGVtcG9yYXJ5IHN1Ym1pc3Npb24gZmFpbHVyZXMgZnJvbSBib3RoIHN0YXJ0IGFuZCB0aGUg Ulggd29ya2VyIHRocm91Z2gNCj4gdGhlIGRlbGF5ZWQgcmV0cnkgbGlzdCBhcyB3ZWxsLg0KPiAN Cj4gU2VyaWFsaXplIHJldHJ5IGluc2VydGlvbiBhbmQgc2NoZWR1bGluZyB3aXRoIHNodXRkb3du IHNvIGxhdGUNCj4gY29tcGxldGlvbnMgY2Fubm90IHNjaGVkdWxlIGZyZXNoIHJldHJpZXMgZHVy aW5nIHN0b3AuIENhbmNlbCByZXRyeSB3b3JrDQo+IGZpcnN0LCB0aGVuIHdhaXQgZm9yIHN1Ym1p c3Npb24gd29yayBiZWZvcmUga2lsbGluZyBhY3RpdmUgVVJCcywgc28gYQ0KPiBydW5uaW5nIHdv cmtlciBjYW5ub3Qgc3VibWl0IGEgcmVxdWVzdCBhZnRlciB0aGUgYWN0aXZlIHJlcXVlc3RzIGhh dmUNCj4gYmVlbiBkcmFpbmVkLg0KPiANCj4gQ2FuY2VsbGF0aW9uIGFuZCByZW1vdmFsIGtlZXAg dGhlaXIgcmVsZWFzZSBiZWhhdmlvci4gRVBJUEUgZW5kcG9pbnQtaGFsdA0KPiByZWNvdmVyeSBy ZW1haW5zIG91dHNpZGUgdGhpcyBjaGFuZ2UgYmVjYXVzZSBpdCByZXF1aXJlcyBxdWllc2NpbmcN Cj4gcmVxdWVzdHMgYW5kIGRpc3Rpbmd1aXNoaW5nIHJlY292ZXJ5IGNhbmNlbGxhdGlvbiBmcm9t IHNodXRkb3duLg0KPiANCj4gRml4ZXM6IDI2ZjFmYWQyOWFkOSAoIk5ldyBkcml2ZXI6IHJ0bDh4 eHh1IChtYWM4MDIxMSkiKQ0KDQpTYW1lIHF1ZXN0aW9uLiBJcyB0aGlzIHBhdGNoIHN0cm9uZyBl bm91Z2ggdG8gbmVlZCBhIEZpeGVzPw0KDQo+IEFzc2lzdGVkLWJ5OiBHUFQtNiBBc3RyYQ0KPiBT aWduZWQtb2ZmLWJ5OiBraW13b29zZW9rIDw1bWdoeWJyaWRAa2h1LmFjLmtyPg0KPiAtLS0NCj4g IGRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnRsOHh4eHUvY29yZS5jICAgICB8IDcxICsr KysrKysrKysrKysrKysrKysrKystLQ0KPiAgZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9y dGw4eHh4dS9ydGw4eHh4dS5oIHwgIDMgKw0KPiAgMiBmaWxlcyBjaGFuZ2VkLCA3MCBpbnNlcnRp b25zKCspLCA0IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dp cmVsZXNzL3JlYWx0ZWsvcnRsOHh4eHUvY29yZS5jDQo+IGIvZHJpdmVycy9uZXQvd2lyZWxlc3Mv cmVhbHRlay9ydGw4eHh4dS9jb3JlLmMNCj4gaW5kZXggMTkzMmE5ZWMxOTcwYy4uODgzYzlhNTZm NTJhNCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydGw4eHh4 dS9jb3JlLmMNCj4gKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydGw4eHh4dS9j b3JlLmMNCg0KWy4uLl0NCg0KPiArc3RhdGljIHZvaWQgcnRsOHh4eHVfcnhfdXJiX3JldHJ5X3dv cmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQ0KPiArew0KPiArICAgICAgIHN0cnVjdCBydGw4 eHh4dV9wcml2ICpwcml2ID0gY29udGFpbmVyX29mKHRvX2RlbGF5ZWRfd29yayh3b3JrKSwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0 bDh4eHh1X3ByaXYsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHJ4X3VyYl9yZXRyeV93cSk7DQo+ICsgICAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsN Cj4gKw0KPiArICAgICAgIHNwaW5fbG9ja19pcnFzYXZlKCZwcml2LT5yeF91cmJfbG9jaywgZmxh Z3MpOw0KPiArDQo+ICsgICAgICAgaWYgKCFwcml2LT5zaHV0ZG93biAmJiBwcml2LT5yeF91cmJf cmV0cnlfY291bnQpIHsNCj4gKyAgICAgICAgICAgICAgIGxpc3Rfc3BsaWNlX3RhaWxfaW5pdCgm cHJpdi0+cnhfdXJiX3JldHJ5X2xpc3QsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJnByaXYtPnJ4X3VyYl9wZW5kaW5nX2xpc3QpOw0KPiArICAgICAgICAgICAgICAg cHJpdi0+cnhfdXJiX3BlbmRpbmdfY291bnQgKz0gcHJpdi0+cnhfdXJiX3JldHJ5X2NvdW50Ow0K PiArICAgICAgICAgICAgICAgcHJpdi0+cnhfdXJiX3JldHJ5X2NvdW50ID0gMDsNCj4gKyAgICAg ICAgICAgICAgIC8qIEFuIGVycm9yIG11c3Qgbm90IGxlYXZlIGEgc21hbGwgYmF0Y2ggd2FpdGlu ZyBpbmRlZmluaXRlbHkuICovDQo+ICsgICAgICAgICAgICAgICBzY2hlZHVsZV93b3JrKCZwcml2 LT5yeF91cmJfd3EpOw0KPiArICAgICAgIH0NCj4gKw0KPiArICAgICAgIHNwaW5fdW5sb2NrX2ly cXJlc3RvcmUoJnByaXYtPnJ4X3VyYl9sb2NrLCBmbGFncyk7DQo+ICt9DQo+ICsNCj4gK3N0YXRp YyB2b2lkIHJ0bDh4eHh1X3F1ZXVlX3J4X3VyYl9yZXRyeShzdHJ1Y3QgcnRsOHh4eHVfcHJpdiAq cHJpdiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBy dGw4eHh4dV9yeF91cmIgKnJ4X3VyYikNCj4gK3sNCj4gKyAgICAgICB1bnNpZ25lZCBsb25nIGZs YWdzOw0KPiArDQo+ICsgICAgICAgc3Bpbl9sb2NrX2lycXNhdmUoJnByaXYtPnJ4X3VyYl9sb2Nr LCBmbGFncyk7DQo+ICsNCj4gKyAgICAgICBpZiAoIXByaXYtPnNodXRkb3duKSB7DQo+ICsgICAg ICAgICAgICAgICBsaXN0X2FkZF90YWlsKCZyeF91cmItPmxpc3QsICZwcml2LT5yeF91cmJfcmV0 cnlfbGlzdCk7DQo+ICsgICAgICAgICAgICAgICBwcml2LT5yeF91cmJfcmV0cnlfY291bnQrKzsN Cj4gKyAgICAgICAgICAgICAgIC8qIEtlZXAgbm9ybWFsIGNvbXBsZXRpb25zIGZyb20gYnlwYXNz aW5nIHRoZSBlcnJvciBiYWNrb2ZmLiAqLw0KPiArICAgICAgICAgICAgICAgcXVldWVfZGVsYXll ZF93b3JrKHN5c3RlbV93cSwgJnByaXYtPnJ4X3VyYl9yZXRyeV93cSwNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBtc2Vjc190b19qaWZmaWVzKFJUTDhYWFhVX1JYX1VSQl9S RVRSWV9ERUxBWV9NUykpOw0KPiArICAgICAgIH0gZWxzZSB7DQo+ICsgICAgICAgICAgICAgICB1 c2JfZnJlZV91cmIoJnJ4X3VyYi0+dXJiKTsNCj4gKyAgICAgICB9DQo+ICsNCj4gKyAgICAgICBz cGluX3VubG9ja19pcnFyZXN0b3JlKCZwcml2LT5yeF91cmJfbG9jaywgZmxhZ3MpOw0KPiArfQ0K PiArDQoNClRoZXNlIHR3byBhcmUgdmVyeSBzaW1pbGFyIHRvIGV4aXN0aW5nIGNvZGVzLCBhbmQg Li4uDQoNCj4gIHN0YXRpYyB2b2lkIHJ0bDh4eHh1X3J4X3VyYl93b3JrKHN0cnVjdCB3b3JrX3N0 cnVjdCAqd29yaykNCj4gIHsNCj4gICAgICAgICBzdHJ1Y3QgcnRsOHh4eHVfcHJpdiAqcHJpdjsN Cg0KWy4uLl0NCg0KPiBAQCAtNjYxOCw3ICs2NjY1LDIwIEBAIHN0YXRpYyB2b2lkIHJ0bDh4eHh1 X3J4X2NvbXBsZXRlKHN0cnVjdCB1cmIgKnVyYikNCj4gICAgICAgICAgICAgICAgIHJ0bDh4eHh1 X3F1ZXVlX3J4X3VyYihwcml2LCByeF91cmIpOw0KPiAgICAgICAgIH0gZWxzZSB7DQo+ICAgICAg ICAgICAgICAgICBkZXZfZGJnKGRldiwgIiVzOiBzdGF0dXMgJWlcbiIsIF9fZnVuY19fLCB1cmIt PnN0YXR1cyk7DQo+IC0gICAgICAgICAgICAgICBnb3RvIGNsZWFudXA7DQo+ICsgICAgICAgICAg ICAgICBzd2l0Y2ggKHVyYi0+c3RhdHVzKSB7DQo+ICsgICAgICAgICAgICAgICBjYXNlIC1FUFJP VE86DQo+ICsgICAgICAgICAgICAgICBjYXNlIC1FSUxTRVE6DQo+ICsgICAgICAgICAgICAgICBj YXNlIC1FVElNRToNCj4gKyAgICAgICAgICAgICAgIGNhc2UgLUVPVkVSRkxPVzoNCj4gKyAgICAg ICAgICAgICAgIGNhc2UgLUVDT01NOg0KPiArICAgICAgICAgICAgICAgY2FzZSAtRU5PU1I6DQo+ ICsgICAgICAgICAgICAgICAgICAgICAgIGRldl9rZnJlZV9za2Ioc2tiKTsNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgdXJiLT5jb250ZXh0ID0gTlVMTDsNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgcnRsOHh4eHVfcXVldWVfcnhfdXJiX3JldHJ5KHByaXYsIHJ4X3VyYik7DQoNCldoeSBj YW4ndCBpdCBqdXN0IGNhbGwgcnRsOHh4eHVfcXVldWVfcnhfdXJiKCk/DQoNClRoZSBrZXkgcG9p bnQgaXMgdGhhdCB5b3Ugd2FudCBhbiBhZGRpdGlvbmFsIGRlbGF5PyBJZiBzbywgbWF5YmUgd2Ug Y2FuDQpmbGFnIGZvciB0aGVzZSBjYXNlcyBhbmQgcmV1c2UgcnRsOHh4eHVfcXVldWVfcnhfdXJi KCkuDQoNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOw0KPiArICAgICAgICAgICAg ICAgZGVmYXVsdDoNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgZ290byBjbGVhbnVwOw0KPiAr ICAgICAgICAgICAgICAgfQ0KPiAgICAgICAgIH0NCj4gICAgICAgICByZXR1cm47DQo+IA0KDQo=