From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id AF63FA0679 for ; Mon, 29 Apr 2019 10:21:45 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D64C21B3B7; Mon, 29 Apr 2019 10:20:43 +0200 (CEST) Received: from NAM04-BN3-obe.outbound.protection.outlook.com (mail-eopbgr680048.outbound.protection.outlook.com [40.107.68.48]) by dpdk.org (Postfix) with ESMTP id 11B4F1B293; Mon, 29 Apr 2019 10:20:24 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=AQUANTIA1COM.onmicrosoft.com; s=selector1-aquantia-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZoxOdNKP1kKMjLphI+6qcIbD/gU7sU4AQtoaitJQP7E=; b=KkBKaS+Emgv90JeaArjqnA2D5EhGkMZ6UYT0YeQ5TaZmPvwe1N+W6AAx/wJXGfuI8P10mH1T0CKgkTYWN9dI7sCtxtVgGnT10GUNRAEBXGYmF6KLZrK50comeBelCyeg3BZh0q8tDq+zWPD9GK/M8IcflUOP39JOmbdzsx3vf0k= Received: from DM6PR11MB3625.namprd11.prod.outlook.com (20.178.230.149) by DM6PR11MB2841.namprd11.prod.outlook.com (20.176.100.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1835.13; Mon, 29 Apr 2019 08:20:23 +0000 Received: from DM6PR11MB3625.namprd11.prod.outlook.com ([fe80::f035:2c20:5a61:7653]) by DM6PR11MB3625.namprd11.prod.outlook.com ([fe80::f035:2c20:5a61:7653%3]) with mapi id 15.20.1835.010; Mon, 29 Apr 2019 08:20:23 +0000 From: Igor Russkikh To: "dev@dpdk.org" CC: Pavel Belous , Igor Russkikh , "stable@dpdk.org" Thread-Topic: [PATCH 08/11] net/atlantic: flow control settings synchronization on rx Thread-Index: AQHU/mRkdclvqqwRRkmP4e/LB8gyiw== Date: Mon, 29 Apr 2019 08:20:23 +0000 Message-ID: <78861b0be3a56a2e5d3996467e5eb05bcd395ea6.1556525874.git.igor.russkikh@aquantia.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: HE1P190CA0016.EURP190.PROD.OUTLOOK.COM (2603:10a6:3:bc::26) To DM6PR11MB3625.namprd11.prod.outlook.com (2603:10b6:5:13a::21) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Igor.Russkikh@aquantia.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.17.1 x-originating-ip: [95.79.108.179] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: bd76f106-bfa9-422f-8c2e-08d6cc7b86a6 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(2017052603328)(7193020); SRVR:DM6PR11MB2841; x-ms-traffictypediagnostic: DM6PR11MB2841: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:61; x-forefront-prvs: 0022134A87 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(376002)(396003)(136003)(39840400004)(346002)(199004)(189003)(44832011)(99286004)(186003)(118296001)(478600001)(71200400001)(53936002)(6506007)(71190400001)(446003)(5660300002)(2351001)(14454004)(14444005)(486006)(66556008)(73956011)(66946007)(64756008)(66476007)(66446008)(386003)(52116002)(316002)(11346002)(2616005)(7736002)(476003)(72206003)(54906003)(305945005)(81166006)(1730700003)(2501003)(36756003)(76176011)(81156014)(6486002)(3846002)(66066001)(102836004)(6916009)(97736004)(8936002)(450100002)(86362001)(6116002)(6436002)(26005)(256004)(8676002)(50226002)(2906002)(25786009)(5640700003)(6512007)(68736007)(4326008)(83323001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR11MB2841; H:DM6PR11MB3625.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: aquantia.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: nmHE2uS4Ou7CjbiZ60d/wp8Urj6OXjzqwmDCv44HshoCFMyxbQDW+2St+lxxrKI3ottybvi1Mx3jx/eL1zhKHTJ3YGNMGsjSjBC03dBFwUge8C4oEca+ecNDXyj7tRvqsfJw6IU//Qz/oDECgstzGryJA2hHFAakYaZ7yqstK7YfzGBbdwBMessDFRNhQEA3VaVbb30RsJcFggt7+3kyDojocfMN6+2MtBFc69P4siJOH8t68+zltsQTv3dRHdg7P1uXGyrp8borfcvaWO+ceEYaaliSQU666683EgmbJ+Zu2HJGMm9vBZK4vQcgRgtPdJmiMR6aTM07Hkwy3bFJf+uM+49cotS9W3eZ+JWC7715pa33Im4Naby/owFWqomZHwvxwQ6kEdCid4rgLirq7BdD5AUQreQJKrXGXsnwHvM= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: aquantia.com X-MS-Exchange-CrossTenant-Network-Message-Id: bd76f106-bfa9-422f-8c2e-08d6cc7b86a6 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Apr 2019 08:20:23.4911 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 83e2e134-991c-4ede-8ced-34d47e38e6b1 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB2841 Subject: [dpdk-dev] [PATCH 08/11] net/atlantic: flow control settings synchronization on rx X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" Message-ID: <20190429082023.h3g_6SELR50R9tGPtVcdH1qh-NSeiENzhCMxTVHwrr4@z> RnJvbTogUGF2ZWwgQmVsb3VzIDxwYXZlbC5iZWxvdXNAYXF1YW50aWEuY29tPg0KDQpEcml2ZXIg c2hvdWxkIHRyYWNrIG5lZ290aWF0ZWQgUEhZIGZsb3cgY29udHJvbCBzZXR0aW5ncyBkdXJpbmcN Cmxpbmsgc3RhdGUgY2hhbmdlcyBhbmQgdXBkYXRlIE1BQyBsZXZlbCBmbG93IGNvbnRyb2wgY29u ZmlndXJhdGlvbi4NCg0KT3RoZXJ3aXNlIHRoZXJlIGNvdWxkIGJlIHVuZXhwZWN0ZWQgcGF1c2Ug ZnJhbWVzIGdlbmVyYXRpb24gd2hpY2gNCmNvdWxkIGxvY2t1cCB0aGUgZGF0YXBhdGguDQoNCkZp eGVzOiA0YzFjOGY3NjQ2M2YgKCJuZXQvYXRsYW50aWM6IGFkZCBmbG93IGNvbnRyb2wgY29uZmln dXJhdGlvbiIpDQpjYzogc3RhYmxlQGRwZGsub3JnDQpTaWduZWQtb2ZmLWJ5OiBJZ29yIFJ1c3Nr aWtoIDxpZ29yLnJ1c3NraWtoQGFxdWFudGlhLmNvbT4NClNpZ25lZC1vZmYtYnk6IFBhdmVsIEJl bG91cyA8cGF2ZWwuYmVsb3VzQGFxdWFudGlhLmNvbT4NCi0tLQ0KIGRyaXZlcnMvbmV0L2F0bGFu dGljL2F0bF9ldGhkZXYuYyAgICAgICAgICAgICB8IDI0ICsrKysrKysrKysrKysrKy0tLS0NCiBk cml2ZXJzL25ldC9hdGxhbnRpYy9hdGxfdHlwZXMuaCAgICAgICAgICAgICAgfCAgMSArDQogZHJp dmVycy9uZXQvYXRsYW50aWMvaHdfYXRsL2h3X2F0bF9iMC5jICAgICAgIHwgIDYgKysrKysNCiBk cml2ZXJzL25ldC9hdGxhbnRpYy9od19hdGwvaHdfYXRsX2IwLmggICAgICAgfCAgMiArKw0KIC4u Li9uZXQvYXRsYW50aWMvaHdfYXRsL2h3X2F0bF91dGlsc19mdzJ4LmMgICB8ICA5ICsrKysrKysN CiA1IGZpbGVzIGNoYW5nZWQsIDM4IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pDQoNCmRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC9hdGxhbnRpYy9hdGxfZXRoZGV2LmMgYi9kcml2ZXJzL25l dC9hdGxhbnRpYy9hdGxfZXRoZGV2LmMNCmluZGV4IDQ4NWVmMTU5ZWIwNS4uNmNjOGQxOTgwNDFl IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvYXRsYW50aWMvYXRsX2V0aGRldi5jDQorKysgYi9k cml2ZXJzL25ldC9hdGxhbnRpYy9hdGxfZXRoZGV2LmMNCkBAIC0xMTYwLDYgKzExNjAsNyBAQCBh dGxfZGV2X2xpbmtfdXBkYXRlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCBpbnQgd2FpdCBfX3J0 ZV91bnVzZWQpDQogew0KIAlzdHJ1Y3QgYXFfaHdfcyAqaHcgPSBBVExfREVWX1BSSVZBVEVfVE9f SFcoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQogCXN0cnVjdCBydGVfZXRoX2xpbmsgbGluaywg b2xkOw0KKwl1MzIgZmMgPSBBUV9OSUNfRkNfT0ZGOw0KIAlpbnQgZXJyID0gMDsNCiANCiAJbGlu ay5saW5rX3N0YXR1cyA9IEVUSF9MSU5LX0RPV047DQpAQCAtMTE5NCw2ICsxMTk1LDE1IEBAIGF0 bF9kZXZfbGlua191cGRhdGUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIGludCB3YWl0IF9fcnRl X3VudXNlZCkNCiAJaWYgKGxpbmsubGlua19zdGF0dXMgPT0gb2xkLmxpbmtfc3RhdHVzKQ0KIAkJ cmV0dXJuIC0xOw0KIA0KKwkvKiBEcml2ZXIgaGFzIHRvIHVwZGF0ZSBmbG93IGNvbnRyb2wgc2V0 dGluZ3Mgb24gUlggYmxvY2sNCisJICogb24gYW55IGxpbmsgZXZlbnQuDQorCSAqIFdlIHNob3Vs ZCBxdWVyeSBGVyB3aGV0aGVyIGl0IG5lZ290aWF0ZWQgRkMuDQorCSAqLw0KKwlpZiAoaHctPmFx X2Z3X29wcy0+Z2V0X2Zsb3dfY29udHJvbCkgew0KKwkJaHctPmFxX2Z3X29wcy0+Z2V0X2Zsb3df Y29udHJvbChodywgJmZjKTsNCisJCWh3X2F0bF9iMF9zZXRfZmMoaHcsIGZjLCAwVSk7DQorCX0N CisNCiAJaWYgKHJ0ZV9lYWxfYWxhcm1fc2V0KDEwMDAgKiAxMDAwLA0KIAkJCSAgICAgIGF0bF9k ZXZfZGVsYXllZF9oYW5kbGVyLCAodm9pZCAqKWRldikgPCAwKQ0KIAkJUE1EX0RSVl9MT0coRVJS LCAicnRlX2VhbF9hbGFybV9zZXQgZmFpbCIpOw0KQEAgLTE0OTYsMTQgKzE1MDYsMjAgQEAgc3Rh dGljIGludA0KIGF0bF9mbG93X2N0cmxfZ2V0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCBzdHJ1 Y3QgcnRlX2V0aF9mY19jb25mICpmY19jb25mKQ0KIHsNCiAJc3RydWN0IGFxX2h3X3MgKmh3ID0g QVRMX0RFVl9QUklWQVRFX1RPX0hXKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KKwl1MzIgZmMg PSBBUV9OSUNfRkNfT0ZGOw0KKw0KKwlpZiAoaHctPmFxX2Z3X29wcy0+Z2V0X2Zsb3dfY29udHJv bCA9PSBOVUxMKQ0KKwkJcmV0dXJuIC1FTk9UU1VQOw0KKw0KKwlody0+YXFfZndfb3BzLT5nZXRf Zmxvd19jb250cm9sKGh3LCAmZmMpOw0KIA0KLQlpZiAoaHctPmFxX25pY19jZmctPmZsb3dfY29u dHJvbCA9PSBBUV9OSUNfRkNfT0ZGKQ0KKwlpZiAoZmMgPT0gQVFfTklDX0ZDX09GRikNCiAJCWZj X2NvbmYtPm1vZGUgPSBSVEVfRkNfTk9ORTsNCi0JZWxzZSBpZiAoaHctPmFxX25pY19jZmctPmZs b3dfY29udHJvbCAmIChBUV9OSUNfRkNfUlggfCBBUV9OSUNfRkNfVFgpKQ0KKwllbHNlIGlmIChm YyAmIChBUV9OSUNfRkNfUlggfCBBUV9OSUNfRkNfVFgpKQ0KIAkJZmNfY29uZi0+bW9kZSA9IFJU RV9GQ19GVUxMOw0KLQllbHNlIGlmIChody0+YXFfbmljX2NmZy0+Zmxvd19jb250cm9sICYgQVFf TklDX0ZDX1JYKQ0KKwllbHNlIGlmIChmYyAmIEFRX05JQ19GQ19SWCkNCiAJCWZjX2NvbmYtPm1v ZGUgPSBSVEVfRkNfUlhfUEFVU0U7DQotCWVsc2UgaWYgKGh3LT5hcV9uaWNfY2ZnLT5mbG93X2Nv bnRyb2wgJiBBUV9OSUNfRkNfUlgpDQorCWVsc2UgaWYgKGZjICYgQVFfTklDX0ZDX1JYKQ0KIAkJ ZmNfY29uZi0+bW9kZSA9IFJURV9GQ19UWF9QQVVTRTsNCiANCiAJcmV0dXJuIDA7DQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9uZXQvYXRsYW50aWMvYXRsX3R5cGVzLmggYi9kcml2ZXJzL25ldC9hdGxh bnRpYy9hdGxfdHlwZXMuaA0KaW5kZXggODRhNDc3Njk1MWRiLi4xOWFhZjM3NjczY2QgMTAwNjQ0 DQotLS0gYS9kcml2ZXJzL25ldC9hdGxhbnRpYy9hdGxfdHlwZXMuaA0KKysrIGIvZHJpdmVycy9u ZXQvYXRsYW50aWMvYXRsX3R5cGVzLmgNCkBAIC0xNjksNiArMTY5LDcgQEAgc3RydWN0IGFxX2Z3 X29wcyB7DQogCWludCAoKmdldF9lZWVfcmF0ZSkoc3RydWN0IGFxX2h3X3MgKnNlbGYsIHUzMiAq cmF0ZSwNCiAJCQl1MzIgKnN1cHBvcnRlZF9yYXRlcyk7DQogDQorCWludCAoKmdldF9mbG93X2Nv bnRyb2wpKHN0cnVjdCBhcV9od19zICpzZWxmLCB1MzIgKmZjKTsNCiAJaW50ICgqc2V0X2Zsb3df Y29udHJvbCkoc3RydWN0IGFxX2h3X3MgKnNlbGYpOw0KIA0KIAlpbnQgKCpsZWRfY29udHJvbCko c3RydWN0IGFxX2h3X3MgKnNlbGYsIHUzMiBtb2RlKTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9hdGxhbnRpYy9od19hdGwvaHdfYXRsX2IwLmMgYi9kcml2ZXJzL25ldC9hdGxhbnRpYy9od19h dGwvaHdfYXRsX2IwLmMNCmluZGV4IGU1MjVhODU4MWU2Zi4uYTc2MjY4ZTkyM2U2IDEwMDY0NA0K LS0tIGEvZHJpdmVycy9uZXQvYXRsYW50aWMvaHdfYXRsL2h3X2F0bF9iMC5jDQorKysgYi9kcml2 ZXJzL25ldC9hdGxhbnRpYy9od19hdGwvaHdfYXRsX2IwLmMNCkBAIC0yNiw2ICsyNiwxMiBAQCBp bnQgaHdfYXRsX2IwX2h3X3Jlc2V0KHN0cnVjdCBhcV9od19zICpzZWxmKQ0KIAlyZXR1cm4gZXJy Ow0KIH0NCiANCitpbnQgaHdfYXRsX2IwX3NldF9mYyhzdHJ1Y3QgYXFfaHdfcyAqc2VsZiwgdTMy IGZjLCB1MzIgdGMpDQorew0KKwlod19hdGxfcnBiX3J4X3hvZmZfZW5fcGVyX3RjX3NldChzZWxm LCAhIShmYyAmIEFRX05JQ19GQ19SWCksIHRjKTsNCisJcmV0dXJuIDA7DQorfQ0KKw0KIHN0YXRp YyBpbnQgaHdfYXRsX2IwX2h3X3Fvc19zZXQoc3RydWN0IGFxX2h3X3MgKnNlbGYpDQogew0KIAl1 MzIgdGMgPSAwVTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9hdGxhbnRpYy9od19hdGwvaHdf YXRsX2IwLmggYi9kcml2ZXJzL25ldC9hdGxhbnRpYy9od19hdGwvaHdfYXRsX2IwLmgNCmluZGV4 IDA2ZmViNTZjMTYyMC4uZDFiYTJhY2ViMzkwIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvYXRs YW50aWMvaHdfYXRsL2h3X2F0bF9iMC5oDQorKysgYi9kcml2ZXJzL25ldC9hdGxhbnRpYy9od19h dGwvaHdfYXRsX2IwLmgNCkBAIC0xMSw2ICsxMSw4IEBADQogaW50IGh3X2F0bF9iMF9od19yZXNl dChzdHJ1Y3QgYXFfaHdfcyAqc2VsZik7DQogaW50IGh3X2F0bF9iMF9od19pbml0KHN0cnVjdCBh cV9od19zICpzZWxmLCB1OCAqbWFjX2FkZHIpOw0KIA0KK2ludCBod19hdGxfYjBfc2V0X2ZjKHN0 cnVjdCBhcV9od19zICpzZWxmLCB1MzIgZmMsIHUzMiB0Yyk7DQorDQogaW50IGh3X2F0bF9iMF9o d19yaW5nX3R4X2luaXQoc3RydWN0IGFxX2h3X3MgKnNlbGYsIHVpbnQ2NF90IGJhc2VfYWRkciwN CiAJCWludCBpbmRleCwgaW50IHNpemUsIGludCBjcHUsIGludCB2ZWMpOw0KIGludCBod19hdGxf YjBfaHdfcmluZ19yeF9pbml0KHN0cnVjdCBhcV9od19zICpzZWxmLCB1aW50NjRfdCBiYXNlX2Fk ZHIsDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvYXRsYW50aWMvaHdfYXRsL2h3X2F0bF91dGls c19mdzJ4LmMgYi9kcml2ZXJzL25ldC9hdGxhbnRpYy9od19hdGwvaHdfYXRsX3V0aWxzX2Z3Mngu Yw0KaW5kZXggZGU0MTg5NDQxZmFkLi5lMDdlZDVlM2E4YzkgMTAwNjQ0DQotLS0gYS9kcml2ZXJz L25ldC9hdGxhbnRpYy9od19hdGwvaHdfYXRsX3V0aWxzX2Z3MnguYw0KKysrIGIvZHJpdmVycy9u ZXQvYXRsYW50aWMvaHdfYXRsL2h3X2F0bF91dGlsc19mdzJ4LmMNCkBAIC00NzMsNyArNDczLDE1 IEBAIHN0YXRpYyBpbnQgYXFfZncyeF9nZXRfZWVlX3JhdGUoc3RydWN0IGFxX2h3X3MgKnNlbGYs IHUzMiAqcmF0ZSwNCiAJcmV0dXJuIGVycjsNCiB9DQogDQorc3RhdGljIGludCBhcV9mdzJ4X2dl dF9mbG93X2NvbnRyb2woc3RydWN0IGFxX2h3X3MgKnNlbGYsIHUzMiAqZmMpDQorew0KKwl1MzIg bXBpX3N0YXRlID0gYXFfaHdfcmVhZF9yZWcoc2VsZiwgSFdfQVRMX0ZXMlhfTVBJX0NPTlRST0wy X0FERFIpOw0KKw0KKwkqZmMgPSAoKG1waV9zdGF0ZSAmIEJJVChDQVBTX0hJX1BBVVNFKSkgPyBB UV9OSUNfRkNfUlggOiAwKSB8DQorCSAgICAgICgobXBpX3N0YXRlICYgQklUKENBUFNfSElfQVNZ TU1FVFJJQ19QQVVTRSkpID8gQVFfTklDX0ZDX1RYIDogMCk7DQogDQorCXJldHVybiAwOw0KK30N CiANCiBzdGF0aWMgaW50IGFxX2Z3Mnhfc2V0X2Zsb3dfY29udHJvbChzdHJ1Y3QgYXFfaHdfcyAq c2VsZikNCiB7DQpAQCAtNzE0LDYgKzcyMiw3IEBAIGNvbnN0IHN0cnVjdCBhcV9md19vcHMgYXFf ZndfMnhfb3BzID0gew0KIAkuZ2V0X2NhYmxlX2xlbiA9IGFxX2Z3MnhfZ2V0X2NhYmxlX2xlbiwN CiAJLnNldF9lZWVfcmF0ZSA9IGFxX2Z3Mnhfc2V0X2VlZV9yYXRlLA0KIAkuZ2V0X2VlZV9yYXRl ID0gYXFfZncyeF9nZXRfZWVlX3JhdGUsDQorCS5nZXRfZmxvd19jb250cm9sID0gYXFfZncyeF9n ZXRfZmxvd19jb250cm9sLA0KIAkuc2V0X2Zsb3dfY29udHJvbCA9IGFxX2Z3Mnhfc2V0X2Zsb3df Y29udHJvbCwNCiAJLmxlZF9jb250cm9sID0gYXFfZncyeF9sZWRfY29udHJvbCwNCiAJLmdldF9l ZXByb20gPSBhcV9mdzJ4X2dldF9lZXByb20sDQotLSANCjIuMTcuMQ0KDQo=