From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Luis R. Rodriguez" Subject: [PATCH v6 3/3] IB/ipath: use arch_phys_wc_add() and require PAT disabled Date: Thu, 11 Jun 2015 10:50:02 -0700 Message-ID: <1434045002-31575-4-git-send-email-mcgrof@do-not-panic.com> References: <1434045002-31575-1-git-send-email-mcgrof@do-not-panic.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1434045002-31575-1-git-send-email-mcgrof@do-not-panic.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: bp@suse.de Cc: linux-fbdev@vger.kernel.org, "Michael S. Tsirkin" , Daniel Vetter , =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= , Dave Hansen , jbeulich@suse.com, Sean Hefty , ville.syrjala@linux.intel.com, xen-devel@lists.xensource.com, Arnd Bergmann , Rickard Strandqvist , linux-rdma@vger.kernel.org, Roland Dreier , Doug Ledford , tomi.valkeinen@ti.com, Mel Gorman , Suresh Siddha , Dave Airlie , Ingo Molnar , Jean-Christophe Plagniol-Villard , Hal Rosenstock , linux-media@vger.kernel.org, Antonino Daplas , mchehab@osg.samsung.com, Luis R. Rodriguez List-Id: linux-rdma@vger.kernel.org RnJvbTogIkx1aXMgUi4gUm9kcmlndWV6IiA8bWNncm9mQHN1c2UuY29tPgoKV2UgYXJlIGJ1cnJ5 aW5nIGRpcmVjdCBhY2Nlc3MgdG8gTVRSUiBjb2RlIHN1cHBvcnQgb24KeDg2IGluIG9yZGVyIHRv IHRha2UgYWR2YW50YWdlIG9mIFBBVC4gSW4gdGhlIGZ1dHVyZSB3ZQphbHNvIHdhbnQgdG8gbWFr ZSB0aGUgZGVmYXVsdCBiZWhhdmlvdXIgb2YgaW9yZW1hcF9ub2NhY2hlKCkKdG8gdXNlIHN0cm9u ZyBVQywgdXNlIG9mIG10cnJfYWRkKCkgb24gdGhvc2Ugc3lzdGVtcwp3b3VsZCBtYWtlIHdyaXRl LWNvbWJpbmluZyB2b2lkLgoKSW4gb3JkZXIgdG8gaGVscCBib3RoIGVuYWJsZSB1cyB0byBsYXRl ciBtYWtlIHN0cm9uZwpVQyBkZWZhdWx0IGFuZCBpbiBvcmRlciB0byBwaGFzZSBvdXQgZGlyZWN0 IE1UUlIgYWNjZXNzCmNvZGUgcG9ydCB0aGUgZHJpdmVyIG92ZXIgdG8gYXJjaF9waHlzX3djX2Fk ZCgpIGFuZAphbm5vdGF0ZSB0aGF0IHRoZSBkZXZpY2UgZHJpdmVyIHJlcXVpcmVzIHN5c3RlbXMg dG8KYm9vdCB3aXRoIFBBVCBkaXNhYmxlZCwgd2l0aCB0aGUgbm9wYXQga2VybmVsIHBhcmFtZXRl ci4KClRoaXMgaXMgYSB3b3J0aHkgY29tcHJvbWlzZSBnaXZlbiB0aGF0IHRoZSBpcGF0aCBkZXZp Y2UKZHJpdmVyIHBvd2VycyB0aGUgb2xkIEhUWCBidXMgY2FyZHMgdGhhdCBvbmx5IHdvcmsgaW4K QU1EIHN5c3RlbXMsIHdoaWxlIHRoZSBuZXdlciBJQi9xaWIgZGV2aWNlIGRyaXZlcgpwb3dlcnMg YWxsIFBDSS1lIGNhcmRzLiBUaGUgaXBhdGggZGV2aWNlIGRyaXZlciBpcwpvYnNvbGV0ZSwgaGFy ZHdhcmUgaGFyZCB0byBmaW5kIGFuZCBiZWNhdXNlIG9mIHRoaXMKdGhpcyBpdHMgYSByZWFzb25h YmxlIGNvbXByb21pc2UgdG8gbWFrZSB0byByZXF1aXJlCnVzZXJzIG9mIGlwYXRoIHRvIGJvb3Qg d2l0aCBub3BhdC4KCkFja2VkLWJ5OiBEb3VnIExlZGZvcmQgPGRsZWRmb3JkQHJlZGhhdC5jb20+ CkNjOiBEb3VnIExlZGZvcmQgPGRsZWRmb3JkQHJlZGhhdC5jb20+CkNjOiBBbmR5IFdhbGxzIDxh d2FsbHNAbWQubWV0cm9jYXN0Lm5ldD4KQ2M6IEhhbCBSb3NlbnN0b2NrIDxoYWwucm9zZW5zdG9j a0BnbWFpbC5jb20+CkNjOiBTZWFuIEhlZnR5IDxzZWFuLmhlZnR5QGludGVsLmNvbT4KQ2M6IFN1 cmVzaCBTaWRkaGEgPHNic2lkZGhhQGdtYWlsLmNvbT4KQ2M6IFJpY2thcmQgU3RyYW5kcXZpc3Qg PHJpY2thcmRfc3RyYW5kcXZpc3RAc3BlY3RydW1kaWdpdGFsLnNlPgpDYzogTWlrZSBNYXJjaW5p c3p5biA8bWlrZS5tYXJjaW5pc3p5bkBpbnRlbC5jb20+CkNjOiBSb2xhbmQgRHJlaWVyIDxyb2xh bmRAcHVyZXN0b3JhZ2UuY29tPgpDYzogQW5keSBMdXRvbWlyc2tpIDxsdXRvQGFtYWNhcGl0YWwu bmV0PgpDYzogSW5nbyBNb2xuYXIgPG1pbmdvQGVsdGUuaHU+CkNjOiBMaW51cyBUb3J2YWxkcyA8 dG9ydmFsZHNAbGludXgtZm91bmRhdGlvbi5vcmc+CkNjOiBUaG9tYXMgR2xlaXhuZXIgPHRnbHhA bGludXRyb25peC5kZT4KQ2M6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KQ2M6IERh bmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+CkNjOiBEYXZlIEFpcmxpZSA8YWly bGllZEByZWRoYXQuY29tPgpDYzogQmpvcm4gSGVsZ2FhcyA8YmhlbGdhYXNAZ29vZ2xlLmNvbT4K Q2M6IEFudG9uaW5vIERhcGxhcyA8YWRhcGxhc0BnbWFpbC5jb20+CkNjOiBKZWFuLUNocmlzdG9w aGUgUGxhZ25pb2wtVmlsbGFyZCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgpDYzogVG9taSBWYWxr ZWluZW4gPHRvbWkudmFsa2VpbmVuQHRpLmNvbT4KQ2M6IFZpbGxlIFN5cmrDpGzDpCA8c3lyamFs YUBzY2kuZmk+CkNjOiBNZWwgR29ybWFuIDxtZ29ybWFuQHN1c2UuZGU+CkNjOiBWbGFzdGltaWwg QmFia2EgPHZiYWJrYUBzdXNlLmN6PgpDYzogQm9yaXNsYXYgUGV0a292IDxicEBzdXNlLmRlPgpD YzogRGF2aWRsb2hyIEJ1ZXNvIDxkYnVlc29Ac3VzZS5kZT4KQ2M6IERhdmUgSGFuc2VuIDxkYXZl LmhhbnNlbkBsaW51eC5pbnRlbC5jb20+CkNjOiBBcm5kIEJlcmdtYW5uIDxhcm5kQGFybmRiLmRl PgpDYzogTWljaGFlbCBTLiBUc2lya2luIDxtc3RAcmVkaGF0LmNvbT4KQ2M6IFN0ZWZhbiBCYWRl ciA8c3RlZmFuLmJhZGVyQGNhbm9uaWNhbC5jb20+CkNjOiBrb25yYWQud2lsa0BvcmFjbGUuY29t CkNjOiB2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbQpDYzogZGF2aWQudnJhYmVsQGNpdHJp eC5jb20KQ2M6IGpiZXVsaWNoQHN1c2UuY29tCkNjOiB0b3NoaS5rYW5pQGhwLmNvbQpDYzogUm9n ZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkNjOiBpbmZpbmlwYXRoQGludGVs LmNvbQpDYzogbGludXgtcmRtYUB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LWZiZGV2QHZnZXIu a2VybmVsLm9yZwpDYzogbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZwpDYzogeGVuLWRldmVs QGxpc3RzLnhlbnNvdXJjZS5jb20KU2lnbmVkLW9mZi1ieTogTHVpcyBSLiBSb2RyaWd1ZXogPG1j Z3JvZkBzdXNlLmNvbT4KLS0tCiBkcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvS2NvbmZpZyAg ICAgICAgICAgfCAgMyArKwogZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX2RyaXZl ci5jICAgIHwgMTggKysrKysrKy0tLS0KIGRyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0 aF9rZXJuZWwuaCAgICB8ICA0ICstLQogZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRo X3djX3g4Nl82NC5jIHwgNDMgKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiA0IGZpbGVzIGNo YW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDQyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9LY29uZmlnIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3 L2lwYXRoL0tjb25maWcKaW5kZXggMWQ5YmIxMS4uOGZlNTRmZiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9pbmZpbmliYW5kL2h3L2lwYXRoL0tjb25maWcKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3 L2lwYXRoL0tjb25maWcKQEAgLTksMyArOSw2IEBAIGNvbmZpZyBJTkZJTklCQU5EX0lQQVRICiAJ YXMgSVAtb3Zlci1JbmZpbmlCYW5kIGFzIHdlbGwgYXMgd2l0aCB1c2Vyc3BhY2UgYXBwbGljYXRp b25zCiAJKGluIGNvbmp1bmN0aW9uIHdpdGggSW5maW5pQmFuZCB1c2Vyc3BhY2UgYWNjZXNzKS4K IAlGb3IgUUxvZ2ljIFBDSWUgUUxFIGJhc2VkIGNhcmRzLCB1c2UgdGhlIFFJQiBkcml2ZXIgaW5z dGVhZC4KKworCUlmIHlvdSBoYXZlIHRoaXMgaGFyZHdhcmUgeW91IHdpbGwgbmVlZCB0byBib290 IHdpdGggUEFUIGRpc2FibGVkCisJb24geW91ciB4ODYtNjQgc3lzdGVtcywgdXNlIHRoZSBub3Bh dCBrZXJuZWwgcGFyYW1ldGVyLgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lw YXRoL2lwYXRoX2RyaXZlci5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX2Ry aXZlci5jCmluZGV4IGJkMGNhZWQuLjQ0MWNmZTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5p YmFuZC9ody9pcGF0aC9pcGF0aF9kcml2ZXIuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcv aXBhdGgvaXBhdGhfZHJpdmVyLmMKQEAgLTQyLDYgKzQyLDkgQEAKICNpbmNsdWRlIDxsaW51eC9i aXRtYXAuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxl Lmg+CisjaWZkZWYgQ09ORklHX1g4Nl82NAorI2luY2x1ZGUgPGFzbS9wYXQuaD4KKyNlbmRpZgog CiAjaW5jbHVkZSAiaXBhdGhfa2VybmVsLmgiCiAjaW5jbHVkZSAiaXBhdGhfdmVyYnMuaCIKQEAg LTM5NSw2ICszOTgsMTQgQEAgc3RhdGljIGludCBpcGF0aF9pbml0X29uZShzdHJ1Y3QgcGNpX2Rl diAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmVudCkKIAl1bnNpZ25lZCBsb25n IGxvbmcgYWRkcjsKIAl1MzIgYmFyMCA9IDAsIGJhcjEgPSAwOwogCisjaWZkZWYgQ09ORklHX1g4 Nl82NAorCWlmIChXQVJOKHBhdF9lbmFibGVkKCksCisJCSAiaXBhdGggbmVlZHMgUEFUIGRpc2Fi bGVkLCBib290IHdpdGggbm9wYXQga2VybmVsIHBhcmFtZXRlclxuIikpIHsKKwkJcmV0ID0gRUlO VkFMOworCQlnb3RvIGJhaWw7CisJfQorI2VuZGlmCisKIAlkZCA9IGlwYXRoX2FsbG9jX2RldmRh dGEocGRldik7CiAJaWYgKElTX0VSUihkZCkpIHsKIAkJcmV0ID0gUFRSX0VSUihkZCk7CkBAIC01 NDIsNiArNTUzLDcgQEAgc3RhdGljIGludCBpcGF0aF9pbml0X29uZShzdHJ1Y3QgcGNpX2RldiAq cGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmVudCkKIAlkZC0+aXBhdGhfa3JlZ2Jh c2UgPSBfX2lvcmVtYXAoYWRkciwgbGVuLAogCQkoX1BBR0VfTk9fQ0FDSEV8X1BBR0VfV1JJVEVU SFJVKSk7CiAjZWxzZQorCS8qIFhYWDogc3BsaXQgdGhpcyBwcm9wZXJseSB0byBlbmFibGUgb24g UEFUICovCiAJZGQtPmlwYXRoX2tyZWdiYXNlID0gaW9yZW1hcF9ub2NhY2hlKGFkZHIsIGxlbik7 CiAjZW5kaWYKIApAQCAtNTg3LDEyICs1OTksOCBAQCBzdGF0aWMgaW50IGlwYXRoX2luaXRfb25l KHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqZW50KQog CiAJcmV0ID0gaXBhdGhfZW5hYmxlX3djKGRkKTsKIAotCWlmIChyZXQpIHsKLQkJaXBhdGhfZGV2 X2VycihkZCwgIldyaXRlIGNvbWJpbmluZyBub3QgZW5hYmxlZCAiCi0JCQkgICAgICAiKGVyciAl ZCk6IHBlcmZvcm1hbmNlIG1heSBiZSBwb29yXG4iLAotCQkJICAgICAgLXJldCk7CisJaWYgKHJl dCkKIAkJcmV0ID0gMDsKLQl9CiAKIAlpcGF0aF92ZXJpZnlfcGlvcGVyZihkZCk7CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9rZXJuZWwuaCBiL2RyaXZl cnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9rZXJuZWwuaAppbmRleCBlMDhkYjcwLi5mMGY5 NDcxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfa2VybmVs LmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX2tlcm5lbC5oCkBAIC00 NjMsOSArNDYzLDcgQEAgc3RydWN0IGlwYXRoX2RldmRhdGEgewogCS8qIG9mZnNldCBpbiBIVCBj b25maWcgc3BhY2Ugb2Ygc2xhdmUvcHJpbWFyeSBpbnRlcmZhY2UgYmxvY2sgKi8KIAl1OCBpcGF0 aF9odF9zbGF2ZV9vZmY7CiAJLyogZm9yIHdyaXRlIGNvbWJpbmluZyBzZXR0aW5ncyAqLwotCXVu c2lnbmVkIGxvbmcgaXBhdGhfd2NfY29va2llOwotCXVuc2lnbmVkIGxvbmcgaXBhdGhfd2NfYmFz ZTsKLQl1bnNpZ25lZCBsb25nIGlwYXRoX3djX2xlbjsKKwlpbnQgd2NfY29va2llOwogCS8qIHJl ZiBjb3VudCBmb3IgZWFjaCBwa2V5ICovCiAJYXRvbWljX3QgaXBhdGhfcGtleXJlZnNbNF07CiAJ Lyogc2hhZG93IGNvcHkgb2Ygc3RydWN0IHBhZ2UgKidzIGZvciBleHAgdGlkIHBhZ2VzICovCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfd2NfeDg2XzY0LmMg Yi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfd2NfeDg2XzY0LmMKaW5kZXggNzBj MWYzYS4uN2I2ZTRjOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lw YXRoX3djX3g4Nl82NC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF93 Y194ODZfNjQuYwpAQCAtMzcsNyArMzcsNiBAQAogICovCiAKICNpbmNsdWRlIDxsaW51eC9wY2ku aD4KLSNpbmNsdWRlIDxhc20vbXRyci5oPgogI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KIAog I2luY2x1ZGUgImlwYXRoX2tlcm5lbC5oIgpAQCAtMTIyLDI3ICsxMjEsMTQgQEAgaW50IGlwYXRo X2VuYWJsZV93YyhzdHJ1Y3QgaXBhdGhfZGV2ZGF0YSAqZGQpCiAJfQogCiAJaWYgKCFyZXQpIHsK LQkJaW50IGNvb2tpZTsKLQkJaXBhdGhfY2RiZyhWRVJCT1NFLCAiU2V0dGluZyBtdHJyIGZvciBj aGlwIHRvIFdDICIKLQkJCSAgICIoYWRkciAlbGx4LCBsZW49MHglbGx4KVxuIiwKLQkJCSAgICh1 bnNpZ25lZCBsb25nIGxvbmcpIHBpb2FkZHIsCi0JCQkgICAodW5zaWduZWQgbG9uZyBsb25nKSBw aW9sZW4pOwotCQljb29raWUgPSBtdHJyX2FkZChwaW9hZGRyLCBwaW9sZW4sIE1UUlJfVFlQRV9X UkNPTUIsIDEpOwotCQlpZiAoY29va2llIDwgMCkgewotCQkJewotCQkJCWRldl9pbmZvKCZkZC0+ cGNpZGV2LT5kZXYsCi0JCQkJCSAibXRycl9hZGQoKSAgV0MgZm9yIFBJTyBidWZzICIKLQkJCQkJ ICJmYWlsZWQgKCVkKVxuIiwKLQkJCQkJIGNvb2tpZSk7Ci0JCQkJcmV0ID0gLUVJTlZBTDsKLQkJ CX0KLQkJfSBlbHNlIHsKLQkJCWlwYXRoX2NkYmcoVkVSQk9TRSwgIlNldCBtdHJyIGZvciBjaGlw IHRvIFdDLCAiCi0JCQkJICAgImNvb2tpZSBpcyAlZFxuIiwgY29va2llKTsKLQkJCWRkLT5pcGF0 aF93Y19jb29raWUgPSBjb29raWU7Ci0JCQlkZC0+aXBhdGhfd2NfYmFzZSA9ICh1bnNpZ25lZCBs b25nKSBwaW9hZGRyOwotCQkJZGQtPmlwYXRoX3djX2xlbiA9ICh1bnNpZ25lZCBsb25nKSBwaW9s ZW47Ci0JCX0KKwkJZGQtPndjX2Nvb2tpZSA9IGFyY2hfcGh5c193Y19hZGQocGlvYWRkciwgcGlv bGVuKTsKKwkJaWYgKGRkLT53Y19jb29raWUgPCAwKSB7CisJCQlpcGF0aF9kZXZfZXJyKGRkLCAi U2V0aW5nIG10cnIgZmFpbGVkIG9uIFBJTyBidWZmZXJzXG4iKTsKKwkJCXJldCA9IC1FTk9ERVY7 CisJCX0gZWxzZSBpZiAoZGQtPndjX2Nvb2tpZSA9PSAwKQorCQkJaXBhdGhfY2RiZyhWRVJCT1NF LCAiU2V0IG10cnIgZm9yIGNoaXAgdG8gV0Mgbm90IG5lZWRlZFxuIik7CisJCWVsc2UKKwkJCWlw YXRoX2NkYmcoVkVSQk9TRSwgIlNldCBtdHJyIGZvciBjaGlwIHRvIFdDXG4iKTsKIAl9CiAKIAly ZXR1cm4gcmV0OwpAQCAtMTU0LDE2ICsxNDAsNSBAQCBpbnQgaXBhdGhfZW5hYmxlX3djKHN0cnVj dCBpcGF0aF9kZXZkYXRhICpkZCkKICAqLwogdm9pZCBpcGF0aF9kaXNhYmxlX3djKHN0cnVjdCBp cGF0aF9kZXZkYXRhICpkZCkKIHsKLQlpZiAoZGQtPmlwYXRoX3djX2Nvb2tpZSkgewotCQlpbnQg cjsKLQkJaXBhdGhfY2RiZyhWRVJCT1NFLCAidW5kb2luZyBXQ0NPTUIgb24gcGlvIGJ1ZmZlcnNc biIpOwotCQlyID0gbXRycl9kZWwoZGQtPmlwYXRoX3djX2Nvb2tpZSwgZGQtPmlwYXRoX3djX2Jh c2UsCi0JCQkgICAgIGRkLT5pcGF0aF93Y19sZW4pOwotCQlpZiAociA8IDApCi0JCQlkZXZfaW5m bygmZGQtPnBjaWRldi0+ZGV2LAotCQkJCSAibXRycl9kZWwoJWx4LCAlbHgsICVseCkgZmFpbGVk OiAlZFxuIiwKLQkJCQkgZGQtPmlwYXRoX3djX2Nvb2tpZSwgZGQtPmlwYXRoX3djX2Jhc2UsCi0J CQkJIGRkLT5pcGF0aF93Y19sZW4sIHIpOwotCQlkZC0+aXBhdGhfd2NfY29va2llID0gMDsgLyog ZXZlbiBvbiBmYWlsdXJlICovCi0JfQorCWFyY2hfcGh5c193Y19kZWwoZGQtPndjX2Nvb2tpZSk7 CiB9Ci0tIAoyLjMuMi4yMDkuZ2Q2N2Y5ZDUuZGlydHkKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=