From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ankit Navik Subject: [PATCH v2 3/4] drm/i915: set optimum eu/slice/sub-slice configuration based on load type Date: Tue, 6 Nov 2018 09:43:20 +0530 Message-ID: <1541477601-10883-4-git-send-email-ankit.p.navik@intel.com> References: <1541477601-10883-1-git-send-email-ankit.p.navik@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1DE716E28D for ; Tue, 6 Nov 2018 04:13:22 +0000 (UTC) In-Reply-To: <1541477601-10883-1-git-send-email-ankit.p.navik@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogUHJhdmVlbiBEaXdha2FyIDxwcmF2ZWVuLmRpd2FrYXJAaW50ZWwuY29tPgoKVGhpcyBw YXRjaCB3aWxsIHNlbGVjdCBvcHRpbXVtIGV1L3NsaWNlL3N1Yi1zbGljZSBjb25maWd1cmF0aW9u IGJhc2VkIG9uCnR5cGUgb2YgbG9hZCAobG93LCBtZWRpdW0sIGhpZ2gpIGFzIGlucHV0LgpCYXNl ZCBvbiBvdXIgcmVhZGluZ3MgYW5kIGV4cGVyaW1lbnRzIHdlIGhhdmUgcHJlZGVmaW5lZCBzZXQg b2Ygb3B0aW11bQpjb25maWd1cmF0aW9uIGZvciBlYWNoIHBsYXRmb3JtKENIVCwgS0JMKS4KaTkx NV9nZW1fY29udGV4dF9zZXRfbG9hZF90eXBlIHdpbGwgc2VsZWN0IG9wdGltdW0gY29uZmlndXJh dGlvbiBmcm9tCnByZS1kZWZpbmVkIG9wdGltdW0gY29uZmlndXJhdGlvbiB0YWJsZShvcHRfY29u ZmlnKS4KCkl0IGFsc28gaW50cm9kdWNlIGZsYWcgdXBkYXRlX3JlbmRlcl9jb25maWcgd2hpY2gg Y2FuIHNldCBieSBhbnkgZ292ZXJub3IuCgpTaWduZWQtb2ZmLWJ5OiBQcmF2ZWVuIERpd2FrYXIg PHByYXZlZW4uZGl3YWthckBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IFlvZ2VzaCBNYXJhdGhl IDx5b2dlc2gubWFyYXRoZUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEFyYXZpbmRhbiBNdXRo dWt1bWFyIDxhcmF2aW5kYW4ubXV0aHVrdW1hckBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEtl ZGFyIEogS2FyYW5qZSA8a2VkYXIuai5rYXJhbmplQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTog QW5raXQgTmF2aWsgPGFua2l0LnAubmF2aWtAaW50ZWwuY29tPgpTdWdnZXN0ZWQtYnk6IFR2cnRr byBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICB8ICAyICsrCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9jb250ZXh0LmMgIHwgMjEgKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmggIHwgMzAgKysrKysrKysrKysrKysrKysrKysr KwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYyB8IDQ0ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMu YyAgICAgICAgIHwgIDQgKystCiA1IGZpbGVzIGNoYW5nZWQsIDk4IGluc2VydGlvbnMoKyksIDMg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggMTM3ZWMzMy4uZjFiMTZk MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0xNjg2LDYgKzE2ODYsOCBAQCBzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSB7CiAJc3RydWN0IGRybV9pOTE1X2ZlbmNlX3JlZyBmZW5jZV9yZWdz W0k5MTVfTUFYX05VTV9GRU5DRVNdOyAvKiBhc3N1bWUgOTY1ICovCiAJaW50IG51bV9mZW5jZV9y ZWdzOyAvKiA4IG9uIHByZS05NjUsIDE2IG90aGVyd2lzZSAqLwogCisJc3RydWN0IG9wdGltdW1f Y29uZmlnIG9wdF9jb25maWdbTE9BRF9UWVBFX01BWF07CisKIAl1bnNpZ25lZCBpbnQgZnNiX2Zy ZXEsIG1lbV9mcmVxLCBpc19kZHIzOwogCXVuc2lnbmVkIGludCBza2xfcHJlZmVycmVkX3Zjb19m cmVxOwogCXVuc2lnbmVkIGludCBtYXhfY2RjbGtfZnJlcTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2NvbnRleHQuYwppbmRleCBkMDQwODU4Li4yOGZmODY4IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCkBAIC0zODgsMTQgKzM4OCwzNSBAQCBpOTE1X2dlbV9j cmVhdGVfY29udGV4dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAKIAl0cmFj ZV9pOTE1X2NvbnRleHRfY3JlYXRlKGN0eCk7CiAJYXRvbWljX3NldCgmY3R4LT5yZXFfY250LCAw KTsKKwljdHgtPnVwZGF0ZV9yZW5kZXJfY29uZmlnID0gMDsKIAljdHgtPnNsaWNlX2NudCA9IGh3 ZWlnaHQ4KElOVEVMX0lORk8oZGV2X3ByaXYpLT5zc2V1LnNsaWNlX21hc2spOwogCWN0eC0+c3Vi c2xpY2VfY250ID0gaHdlaWdodDgoCiAJCQlJTlRFTF9JTkZPKGRldl9wcml2KS0+c3NldS5zdWJz bGljZV9tYXNrWzBdKTsKIAljdHgtPmV1X2NudCA9IElOVEVMX0lORk8oZGV2X3ByaXYpLT5zc2V1 LmV1X3Blcl9zdWJzbGljZTsKKwljdHgtPmxvYWRfdHlwZSA9IDA7CisJY3R4LT5wZW5kaW5nX2xv YWRfdHlwZSA9IDA7CiAKIAlyZXR1cm4gY3R4OwogfQogCisKK3ZvaWQgaTkxNV9nZW1fY29udGV4 dF9zZXRfbG9hZF90eXBlKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCisJCWVudW0gZ2Vt X2xvYWRfdHlwZSB0eXBlKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IGN0eC0+aTkxNTsKKworCS8qIENhbGwgb3B0X2NvbmZpZyB0byBnZXQgY29ycmVjdCBjb25maWd1 cmF0aW9uIGZvciBldSxzbGljZSxzdWJzbGljZSAqLworCWN0eC0+c2xpY2VfY250ID0gZGV2X3By aXYtPm9wdF9jb25maWdbdHlwZV0uc2xpY2U7CisJY3R4LT5zdWJzbGljZV9jbnQgPSBkZXZfcHJp di0+b3B0X2NvbmZpZ1t0eXBlXS5zdWJzbGljZTsKKwljdHgtPmV1X2NudCA9IGRldl9wcml2LT5v cHRfY29uZmlnW3R5cGVdLmV1OworCisJLyogRW5hYmxpbmcgdGhpcyB0byB1cGRhdGUgdGhlIHJw Y3MgKi8KKwlpZiAoY3R4LT5wZW5kaW5nX2xvYWRfdHlwZSAhPSB0eXBlKQorCQljdHgtPnVwZGF0 ZV9yZW5kZXJfY29uZmlnID0gMTsKKworCWN0eC0+cGVuZGluZ19sb2FkX3R5cGUgPSB0eXBlOwor fQorCiAvKioKICAqIGk5MTVfZ2VtX2NvbnRleHRfY3JlYXRlX2d2dCAtIGNyZWF0ZSBhIEdWVCBH RU0gY29udGV4dAogICogQGRldjogZHJtIGRldmljZSAqCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9jb250ZXh0LmgKaW5kZXggMmIzYmYwOS4uOTM0NWFhMyAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2NvbnRleHQuaApAQCAtNTMsNiArNTMsMTkgQEAgc3RydWN0IGludGVsX2Nv bnRleHRfb3BzIHsKIAl2b2lkICgqZGVzdHJveSkoc3RydWN0IGludGVsX2NvbnRleHQgKmNlKTsK IH07CiAKK2VudW0gZ2VtX2xvYWRfdHlwZSB7CisJTE9BRF9UWVBFX0xPVywKKwlMT0FEX1RZUEVf TUVESVVNLAorCUxPQURfVFlQRV9ISUdILAorCUxPQURfVFlQRV9NQVgKK307CisKK3N0cnVjdCBv cHRpbXVtX2NvbmZpZyB7CisJdTggc2xpY2U7CisJdTggc3Vic2xpY2U7CisJdTggZXU7Cit9Owor CiAvKioKICAqIHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0IC0gY2xpZW50IHN0YXRlCiAgKgpAQCAt MjA5LDYgKzIyMiwyMSBAQCBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCB7CiAKIAkvKiogZXVfY250 OiB1c2VkIHRvIHNldCB0aGUgIyBvZiBldSB0byBiZSBlbmFibGVkLiAqLwogCXU4IGV1X2NudDsK KworCS8qKiB1cGRhdGVfcmVuZGVyX2NvbmZpZzogdG8gdHJhY2sgdGhlIHVwZGF0ZXMgdG8gdGhl IHJlbmRlcgorCSAqIGNvbmZpZ3VyYXRpb24gKFMvU1MvRVUgQ29uZmlndXJhdGlvbiBvbiB0aGUg R1BVKQorCSAqLworCWJvb2wgdXBkYXRlX3JlbmRlcl9jb25maWc7CisKKwkvKiogbG9hZF90eXBl OiBUaGUgZGVzaWduYXRlZCBsb2FkX3R5cGUgKGhpZ2gvbWVkaXVtL2xvdykgZm9yIGEgZ2l2ZW4K KwkgKiBudW1iZXIgb2YgcGVuZGluZyBjb21tYW5kcyBpbiB0aGUgY29tbWFuZCBxdWV1ZS4KKwkg Ki8KKwllbnVtIGdlbV9sb2FkX3R5cGUgbG9hZF90eXBlOworCisJLyoqIHBlbmRpbmdfbG9hZF90 eXBlOiBUaGUgZWFybGllciBsb2FkIHR5cGUgdGhhdCB0aGUgR1BVIHdhcyBjb25maWd1cmVkCisJ ICogZm9yIChoaWdoL21lZGl1bS9sb3cpLgorCSAqLworCWVudW0gZ2VtX2xvYWRfdHlwZSBwZW5k aW5nX2xvYWRfdHlwZTsKIH07CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBpOTE1X2dlbV9jb250ZXh0 X2lzX2Nsb3NlZChjb25zdCBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4KQpAQCAtMzM3LDYg KzM2NSw4IEBAIGludCBpOTE1X2dlbV9jb250ZXh0X3NldHBhcmFtX2lvY3RsKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCQkJICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9w cml2KTsKIGludCBpOTE1X2dlbV9jb250ZXh0X3Jlc2V0X3N0YXRzX2lvY3RsKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCQkJICAgICAgIHN0cnVjdCBkcm1fZmlsZSAqZmls ZSk7Cit2b2lkIGk5MTVfZ2VtX2NvbnRleHRfc2V0X2xvYWRfdHlwZShzdHJ1Y3QgaTkxNV9nZW1f Y29udGV4dCAqY3R4LAorCQllbnVtIGdlbV9sb2FkX3R5cGUgdHlwZSk7CiAKIHN0cnVjdCBpOTE1 X2dlbV9jb250ZXh0ICoKIGk5MTVfZ2VtX2NvbnRleHRfY3JlYXRlX2tlcm5lbChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSwgaW50IHByaW8pOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RldmljZV9pbmZvLmMKaW5kZXggMGVmMGM2NC4uNGM2MjI0YSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kZXZpY2VfaW5mby5jCkBAIC03NDEsNiArNzQxLDI3IEBAIHZvaWQgaW50ZWxf ZGV2aWNlX2luZm9fcnVudGltZV9pbml0KHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyAqaW5mbykK IAkJY29udGFpbmVyX29mKGluZm8sIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlLCBpbmZvKTsKIAll bnVtIHBpcGUgcGlwZTsKIAorCS8qIHN0YXRpYyB0YWJsZSBvZiBzbGljZS9zdWJzbGljZS9FVSBm b3IgQ2hlcnJ5dHJpYWwgKi8KKwlzdHJ1Y3Qgb3B0aW11bV9jb25maWcgY2h2X2NvbmZpZ1tMT0FE X1RZUEVfTUFYXSA9IHsKKwkJezEsIDEsIDR9LAkvKiBMb3cgKi8KKwkJezEsIDEsIDZ9LAkvKiBN ZWRpdW0gKi8KKwkJezEsIDIsIDZ9CS8qIEhpZ2ggKi8KKwl9OworCisJLyogc3RhdGljIHRhYmxl IG9mIHNsaWNlL3N1YnNsaWNlL0VVIGZvciBLQkwgR1QyICovCisJc3RydWN0IG9wdGltdW1fY29u ZmlnIGtibF9ndDJfY29uZmlnW0xPQURfVFlQRV9NQVhdID0geworCQl7MSwgMywgMn0sCS8qIExv dyAqLworCQl7MSwgMywgNH0sCS8qIE1lZGl1bSAqLworCQl7MSwgMywgOH0JLyogSGlnaCAqLwor CX07CisKKwkvKiBzdGF0aWMgdGFibGUgb2Ygc2xpY2Uvc3Vic2xpY2UvRVUgZm9yIEtCTCBHVDMg Ki8KKwlzdHJ1Y3Qgb3B0aW11bV9jb25maWcga2JsX2d0M19jb25maWdbTE9BRF9UWVBFX01BWF0g PSB7CisJCXsyLCAzLCA0fSwJLyogTG93ICovCisJCXsyLCAzLCA2fSwJLyogTWVkaXVtICovCisJ CXsyLCAzLCA4fQkvKiBIaWdoICovCisJfTsKKwogCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49 IDEwKSB7CiAJCWZvcl9lYWNoX3BpcGUoZGV2X3ByaXYsIHBpcGUpCiAJCQlpbmZvLT5udW1fc2Nh bGVyc1twaXBlXSA9IDI7CkBAIC04NDAsMTIgKzg2MSwzMSBAQCB2b2lkIGludGVsX2RldmljZV9p bmZvX3J1bnRpbWVfaW5pdChzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gKmluZm8pCiAJLyogSW5p dGlhbGl6ZSBzbGljZS9zdWJzbGljZS9FVSBpbmZvICovCiAJaWYgKElTX0hBU1dFTEwoZGV2X3By aXYpKQogCQloYXN3ZWxsX3NzZXVfaW5mb19pbml0KGRldl9wcml2KTsKLQllbHNlIGlmIChJU19D SEVSUllWSUVXKGRldl9wcml2KSkKKwllbHNlIGlmIChJU19DSEVSUllWSUVXKGRldl9wcml2KSkg ewogCQljaGVycnl2aWV3X3NzZXVfaW5mb19pbml0KGRldl9wcml2KTsKKwkJbWVtY3B5KGRldl9w cml2LT5vcHRfY29uZmlnLCBjaHZfY29uZmlnLCBzaXplb2YoY2h2X2NvbmZpZykpOworCX0KIAll bHNlIGlmIChJU19CUk9BRFdFTEwoZGV2X3ByaXYpKQogCQlicm9hZHdlbGxfc3NldV9pbmZvX2lu aXQoZGV2X3ByaXYpOwotCWVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPT0gOSkKKwllbHNl IGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID09IDkpIHsKIAkJZ2VuOV9zc2V1X2luZm9faW5pdChk ZXZfcHJpdik7CisKKwkJaWYgKElTX0tBQllMQUtFKGRldl9wcml2KSkgeworCQkJc3dpdGNoIChp bmZvLT5ndCkgeworCQkJZGVmYXVsdDoKKwkJCQlNSVNTSU5HX0NBU0UoaW5mby0+Z3QpOworCQkJ CS8qIGZhbGwgdGhyb3VnaCAqLworCQkJY2FzZSAyOgorCQkJCW1lbWNweShkZXZfcHJpdi0+b3B0 X2NvbmZpZywga2JsX2d0Ml9jb25maWcsCisJCQkJCQlzaXplb2Yoa2JsX2d0Ml9jb25maWcpKTsK KwkJCWJyZWFrOworCQkJY2FzZSAzOgorCQkJCW1lbWNweShkZXZfcHJpdi0+b3B0X2NvbmZpZywg a2JsX2d0M19jb25maWcsCisJCQkJCQlzaXplb2Yoa2JsX2d0M19jb25maWcpKTsKKwkJCWJyZWFr OworCQkJfQorCQl9CisJfQogCWVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPT0gMTApCiAJ CWdlbjEwX3NzZXVfaW5mb19pbml0KGRldl9wcml2KTsKIAllbHNlIGlmIChJTlRFTF9HRU4oZGV2 X3ByaXYpID49IDExKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJj LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwppbmRleCBhOGFiNzFhLi40ZDAw MGViIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtNDI3LDExICs0MjcsMTMgQEAgc3Rh dGljIHU2NCBleGVjbGlzdHNfdXBkYXRlX2NvbnRleHQoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEp CiAKIAlyZWdfc3RhdGVbQ1RYX1JJTkdfVEFJTCsxXSA9IGludGVsX3Jpbmdfc2V0X3RhaWwocnEt PnJpbmcsIHJxLT50YWlsKTsKIAkvKiBGSVhNRTogVG8gYXZvaWQgc3RhbGUgcnBjcyBjb25maWcs IG1vdmUgaXQgdG8gY29udGV4dF9waW4gKi8KLQlpZiAoY3R4LT5waWQgJiYgY3R4LT5uYW1lICYm IChycS0+ZW5naW5lLT5pZCA9PSBSQ1MpKSB7CisJaWYgKGN0eC0+cGlkICYmIGN0eC0+bmFtZSAm JiAocnEtPmVuZ2luZS0+aWQgPT0gUkNTKSAmJgorCQkJY3R4LT51cGRhdGVfcmVuZGVyX2NvbmZp ZykgewogCQlycGNzX2NvbmZpZyA9IG1ha2VfcnBjcyhjdHgtPmk5MTUpOwogCQlyZWdfc3RhdGVb Q1RYX0xSSV9IRUFERVJfMl0gPSBNSV9MT0FEX1JFR0lTVEVSX0lNTSgxKTsKIAkJQ1RYX1JFRyhy ZWdfc3RhdGUsIENUWF9SX1BXUl9DTEtfU1RBVEUsIEdFTjhfUl9QV1JfQ0xLX1NUQVRFLAogCQkJ CXJwY3NfY29uZmlnKTsKKwkJY3R4LT51cGRhdGVfcmVuZGVyX2NvbmZpZyA9IDA7CiAJfQogCiAJ LyogVHJ1ZSAzMmIgUFBHVFQgd2l0aCBkeW5hbWljIHBhZ2UgYWxsb2NhdGlvbjogdXBkYXRlIFBE UAotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=