From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anshuman Gupta Subject: [PATCH v10 3/6] drm/i915/tgl: Enable DC3CO state in "DC Off" power well Date: Mon, 30 Sep 2019 23:11:34 +0530 Message-ID: <20190930174137.15233-4-anshuman.gupta@intel.com> References: <20190930174137.15233-1-anshuman.gupta@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9B07D6E4BB for ; Mon, 30 Sep 2019 17:48:00 +0000 (UTC) In-Reply-To: <20190930174137.15233-1-anshuman.gupta@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 Cc: jani.nikula@intel.com List-Id: intel-gfx@lists.freedesktop.org QWRkIHRhcmdldF9kY19zdGF0ZSBhbmQgdXNlZCBieSBzZXRfdGFyZ2V0X2RjX3N0YXRlIEFQSQpp biBvcmRlciB0byBlbmFibGUgREMzQ08gc3RhdGUgd2l0aCBleGlzdGluZyBEQyBzdGF0ZXMuCnRh cmdldF9kY19zdGF0ZSB3aWxsIGVuYWJsZS9kaXNhYmxlIHRoZSBkZXNpcmVkIERDIHN0YXRlIGlu CkRDX1NUQVRFX0VOIHJlZyB3aGVuICJEQyBPZmYiIHBvd2VyIHdlbGwgZ2V0cyBkaXNhYmxlL2Vu YWJsZS4KCnYyOiBjb21taXQgbG9nIGltcHJvdmVtZW50Lgp2MzogVXNlZCBpbnRlbF93YWl0X2Zv cl9yZWdpc3RlciB0byB3YWl0IGZvciBEQzNDTyBleGl0LiBbSW1yZV0KICAgIFVzZWQgZ2VuOV9z ZXRfZGNfc3RhdGUoKSB0byBhbGxvdy9kaXNhbGxvdyBEQzNDTy4gW0ltcmVdCiAgICBNb3ZlZCB0 cmFuc2NvZGVyIHBzcjIgZXhpdCBsaW5lIGVuYWJsZW1lbnQgZnJvbSB0Z2xfYWxsb3dfZGMzY28o KQogICAgdG8gYSBhcHByb3ByaWF0ZSBwbGFjZSBoYXN3ZWxsX2NydGNfZW5hYmxlKCkuIFtJbXJl XQogICAgQ2hhbmdlZCB0aGUgREMzQ08gcG93ZXIgd2VsbCBlbmFibGVkIGNhbGwgYmFjayBsb2dp YyBhcwogICAgcmVjb21tZW5kZWQgaW4gcmV2aWV3IGNvbW1lbnRzLiBbSW1yZV0KdjQ6IFVzZWQg d2FpdF9mb3JfdXMoKSBpbnN0ZWFkIG9mIGludGVsX3dhaXRfZm9yX3JlZygpLiBbSW1yZSAoSVJD KV0KdjU6IHVzaW5nIHVkZWxheSgpIGluc3RlYWQgb2Ygd2FpdGluZyBmb3IgREMzQ08gZXhpdCBz dGF0dXMuCnY2OiBGaXhlZCBtaW5vciB1bndhbnRlZCBjaGFuZ2UuCnY3OiBSZW1vdmVkIERDM0NP IHBvd2Vyd2VsbCBhbmQgUE9XRVJfRE9NQUlOX1ZJREVPLgp2ODogVW5pZm9ybSBjaGVja3MgYnkg dXNpbmcgb25seSB0YXJnZXRfZGNfc3RhdGUgaW5zdGVhZCBvZiBhbGxvd2VkX2RjX21hc2sKICAg IGluICJEQyBvZmYiIHBvd2VyIHdlbGwgY2FsbGJhY2suIFtJbXJlXQogICAgQWRkaW5nICJEQyBv ZmYiIHBvd2VyIHdlbGwgaWQgdG8gb2xkZXIgcGxhdGZvcm1zLiBbSW1yZV0KICAgIFJlbW92ZWQg cHNyMl9kZWVwX3NsZWVwIGZsYWcgZnJvbSB0Z2xfc2V0X3RhcmdldF9kY19zdGF0ZS4gW0ltcmVd CnY5OiBVc2VkIHN3aXRjaCBjYXNlIGZvciB0YXJnZXQgREMgc3RhdGUgaW4KICAgIGdlbjlfZGNf b2ZmX3Bvd2VyX3dlbGxfZGlzYWJsZSgpLCBjaGVja2luZyBEQzNDTyBzdGF0ZSBhZ2FpbnN0CiAg ICBhbGxvd2VkIERDIG1hc2ssIHVzaW5nIFdBUk5fT04oKSBpbgogICAgdGdsX3NldF90YXJnZXRf ZGNfc3RhdGUoKS4gW0ltcmVdCnYxMDogQ29kZSByZWZhY3RvcmluZyBhbmQgdXNpbmcgc2FuaXRp emVfdGFyZ2V0X2RjX3N0YXRlKCkuIFtJbXJlXQoKQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3Vs YUBpbnRlbC5jb20+CkNjOiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+CkNjOiBBbmlt ZXNoIE1hbm5hIDxhbmltZXNoLm1hbm5hQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogQW5zaHVt YW4gR3VwdGEgPGFuc2h1bWFuLmd1cHRhQGludGVsLmNvbT4KLS0tCiAuLi4vZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kaXNwbGF5X3Bvd2VyLmMgICAgfCA4MCArKysrKysrKysrKysrKysrLS0tCiAu Li4vZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3Bvd2VyLmggICAgfCAgMSArCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgICAgfCAgMSArCiAzIGZpbGVz IGNoYW5nZWQsIDczIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3Bvd2VyLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfcG93ZXIuYwppbmRleCAwYjY4 NWM1MTdiY2IuLjY3YmE5MmRkODM2NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kaXNwbGF5X3Bvd2VyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kaXNwbGF5X3Bvd2VyLmMKQEAgLTc4NSw2ICs3ODUsNTIgQEAgc3RhdGlj IHZvaWQgZ2VuOV9zZXRfZGNfc3RhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LCB1MzIgc3RhdGUpCiAJZGV2X3ByaXYtPmNzci5kY19zdGF0ZSA9IHZhbCAmIG1hc2s7CiB9CiAK K3N0YXRpYyB1MzIKK3Nhbml0aXplX3RhcmdldF9kY19zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCisJCQkgdTMyIHRhcmdldF9kY19zdGF0ZSkKK3sKKwl1MzIgc3RhdGVz W10gPSB7CisJCURDX1NUQVRFX0VOX1VQVE9fREM2LAorCQlEQ19TVEFURV9FTl9VUFRPX0RDNSwK KwkJRENfU1RBVEVfRU5fREMzQ08sCisJCURDX1NUQVRFX0RJU0FCTEUsCisJfTsKKwlpbnQgaTsK KworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHN0YXRlcykgLSAxOyBpKyspIHsKKwkJaWYg KHRhcmdldF9kY19zdGF0ZSAhPSBzdGF0ZXNbaV0pCisJCQljb250aW51ZTsKKworCQlpZiAoZGV2 X3ByaXYtPmNzci5hbGxvd2VkX2RjX21hc2sgJiB0YXJnZXRfZGNfc3RhdGUpCisJCQlicmVhazsK KworCQl0YXJnZXRfZGNfc3RhdGUgPSBzdGF0ZXNbaSArIDFdOworCX0KKworCXJldHVybiB0YXJn ZXRfZGNfc3RhdGU7Cit9CisKK3N0YXRpYyB2b2lkIHRnbF9lbmFibGVfZGMzY28oc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQoreworCURSTV9ERUJVR19LTVMoIkVuYWJsaW5nIERD M0NPXG4iKTsKKwlnZW45X3NldF9kY19zdGF0ZShkZXZfcHJpdiwgRENfU1RBVEVfRU5fREMzQ08p OworfQorCitzdGF0aWMgdm9pZCB0Z2xfZGlzYWJsZV9kYzNjbyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCit7CisJdTMyIHZhbDsKKworCURSTV9ERUJVR19LTVMoIkRpc2FibGlu ZyBEQzNDT1xuIik7CisJdmFsID0gSTkxNV9SRUFEKERDX1NUQVRFX0VOKTsKKwl2YWwgJj0gfkRD X1NUQVRFX0RDM0NPX1NUQVRVUzsKKwlJOTE1X1dSSVRFKERDX1NUQVRFX0VOLCB2YWwpOworCWdl bjlfc2V0X2RjX3N0YXRlKGRldl9wcml2LCBEQ19TVEFURV9ESVNBQkxFKTsKKwkvKgorCSAqIERl bGF5IG9mIDIwMHVzIERDM0NPIEV4aXQgdGltZSBCLlNwZWMgNDkxOTYKKwkgKi8KKwl1c2xlZXBf cmFuZ2UoMjAwLCAyMTApOworfQorCiBzdGF0aWMgdm9pZCBieHRfZW5hYmxlX2RjOShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7CiAJYXNzZXJ0X2Nhbl9lbmFibGVfZGM5KGRl dl9wcml2KTsKQEAgLTk1Miw3ICs5OTgsOCBAQCBzdGF0aWMgdm9pZCBieHRfdmVyaWZ5X2RkaV9w aHlfcG93ZXJfd2VsbHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogc3RhdGlj IGJvb2wgZ2VuOV9kY19vZmZfcG93ZXJfd2VsbF9lbmFibGVkKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKIAkJCQkJICAgc3RydWN0IGk5MTVfcG93ZXJfd2VsbCAqcG93ZXJfd2Vs bCkKIHsKLQlyZXR1cm4gKEk5MTVfUkVBRChEQ19TVEFURV9FTikgJiBEQ19TVEFURV9FTl9VUFRP X0RDNV9EQzZfTUFTSykgPT0gMDsKKwlyZXR1cm4gKChJOTE1X1JFQUQoRENfU1RBVEVfRU4pICYg RENfU1RBVEVfRU5fREMzQ08pID09IDAgJiYKKwkJKEk5MTVfUkVBRChEQ19TVEFURV9FTikgJiBE Q19TVEFURV9FTl9VUFRPX0RDNV9EQzZfTUFTSykgPT0gMCk7CiB9CiAKIHN0YXRpYyB2b2lkIGdl bjlfYXNzZXJ0X2RidWZfZW5hYmxlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp CkBAIC05NjgsNiArMTAxNSwxMSBAQCBzdGF0aWMgdm9pZCBnZW45X2Rpc2FibGVfZGNfc3RhdGVz KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAlzdHJ1Y3QgaW50ZWxfY2Rj bGtfc3RhdGUgY2RjbGtfc3RhdGUgPSB7fTsKIAorCWlmIChkZXZfcHJpdi0+Y3NyLnRhcmdldF9k Y19zdGF0ZSA9PSBEQ19TVEFURV9FTl9EQzNDTykgeworCQl0Z2xfZGlzYWJsZV9kYzNjbyhkZXZf cHJpdik7CisJCXJldHVybjsKKwl9CisKIAlnZW45X3NldF9kY19zdGF0ZShkZXZfcHJpdiwgRENf U1RBVEVfRElTQUJMRSk7CiAKIAlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfY2RjbGsoZGV2X3ByaXYs ICZjZGNsa19zdGF0ZSk7CkBAIC0xMDAwLDEwICsxMDUyLDE3IEBAIHN0YXRpYyB2b2lkIGdlbjlf ZGNfb2ZmX3Bvd2VyX3dlbGxfZGlzYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCiAJaWYgKCFkZXZfcHJpdi0+Y3NyLmRtY19wYXlsb2FkKQogCQlyZXR1cm47CiAKLQlpZiAo ZGV2X3ByaXYtPmNzci5hbGxvd2VkX2RjX21hc2sgJiBEQ19TVEFURV9FTl9VUFRPX0RDNikKKwlz d2l0Y2ggKGRldl9wcml2LT5jc3IudGFyZ2V0X2RjX3N0YXRlKSB7CisJY2FzZSBEQ19TVEFURV9F Tl9EQzNDTzoKKwkJdGdsX2VuYWJsZV9kYzNjbyhkZXZfcHJpdik7CisJCWJyZWFrOworCWNhc2Ug RENfU1RBVEVfRU5fVVBUT19EQzY6CiAJCXNrbF9lbmFibGVfZGM2KGRldl9wcml2KTsKLQllbHNl IGlmIChkZXZfcHJpdi0+Y3NyLmFsbG93ZWRfZGNfbWFzayAmIERDX1NUQVRFX0VOX1VQVE9fREM1 KQorCQlicmVhazsKKwljYXNlIERDX1NUQVRFX0VOX1VQVE9fREM1OgogCQlnZW45X2VuYWJsZV9k YzUoZGV2X3ByaXYpOworCQlicmVhazsKKwl9CiB9CiAKIHN0YXRpYyB2b2lkIGk5eHhfcG93ZXJf d2VsbF9zeW5jX2h3X25vb3Aoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LApAQCAt Mjk1MSw3ICszMDEwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGxfZGVz YyBza2xfcG93ZXJfd2VsbHNbXSA9IHsKIAkJLm5hbWUgPSAiREMgb2ZmIiwKIAkJLmRvbWFpbnMg PSBTS0xfRElTUExBWV9EQ19PRkZfUE9XRVJfRE9NQUlOUywKIAkJLm9wcyA9ICZnZW45X2RjX29m Zl9wb3dlcl93ZWxsX29wcywKLQkJLmlkID0gRElTUF9QV19JRF9OT05FLAorCQkuaWQgPSBTS0xf RElTUF9EQ19PRkYsCiAJfSwKIAl7CiAJCS5uYW1lID0gInBvd2VyIHdlbGwgMiIsCkBAIC0zMDMz LDcgKzMwOTIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfcG93ZXJfd2VsbF9kZXNjIGJ4 dF9wb3dlcl93ZWxsc1tdID0gewogCQkubmFtZSA9ICJEQyBvZmYiLAogCQkuZG9tYWlucyA9IEJY VF9ESVNQTEFZX0RDX09GRl9QT1dFUl9ET01BSU5TLAogCQkub3BzID0gJmdlbjlfZGNfb2ZmX3Bv d2VyX3dlbGxfb3BzLAotCQkuaWQgPSBESVNQX1BXX0lEX05PTkUsCisJCS5pZCA9IFNLTF9ESVNQ X0RDX09GRiwKIAl9LAogCXsKIAkJLm5hbWUgPSAicG93ZXIgd2VsbCAyIiwKQEAgLTMwOTMsNyAr MzE1Miw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsX2Rlc2MgZ2xrX3Bv d2VyX3dlbGxzW10gPSB7CiAJCS5uYW1lID0gIkRDIG9mZiIsCiAJCS5kb21haW5zID0gR0xLX0RJ U1BMQVlfRENfT0ZGX1BPV0VSX0RPTUFJTlMsCiAJCS5vcHMgPSAmZ2VuOV9kY19vZmZfcG93ZXJf d2VsbF9vcHMsCi0JCS5pZCA9IERJU1BfUFdfSURfTk9ORSwKKwkJLmlkID0gU0tMX0RJU1BfRENf T0ZGLAogCX0sCiAJewogCQkubmFtZSA9ICJwb3dlciB3ZWxsIDIiLApAQCAtMzI2Miw3ICszMzIx LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGxfZGVzYyBjbmxfcG93ZXJf d2VsbHNbXSA9IHsKIAkJLm5hbWUgPSAiREMgb2ZmIiwKIAkJLmRvbWFpbnMgPSBDTkxfRElTUExB WV9EQ19PRkZfUE9XRVJfRE9NQUlOUywKIAkJLm9wcyA9ICZnZW45X2RjX29mZl9wb3dlcl93ZWxs X29wcywKLQkJLmlkID0gRElTUF9QV19JRF9OT05FLAorCQkuaWQgPSBTS0xfRElTUF9EQ19PRkYs CiAJfSwKIAl7CiAJCS5uYW1lID0gInBvd2VyIHdlbGwgMiIsCkBAIC0zMzkwLDcgKzM0NDksNyBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfcG93ZXJfd2VsbF9kZXNjIGljbF9wb3dlcl93ZWxs c1tdID0gewogCQkubmFtZSA9ICJEQyBvZmYiLAogCQkuZG9tYWlucyA9IElDTF9ESVNQTEFZX0RD X09GRl9QT1dFUl9ET01BSU5TLAogCQkub3BzID0gJmdlbjlfZGNfb2ZmX3Bvd2VyX3dlbGxfb3Bz LAotCQkuaWQgPSBESVNQX1BXX0lEX05PTkUsCisJCS5pZCA9IFNLTF9ESVNQX0RDX09GRiwKIAl9 LAogCXsKIAkJLm5hbWUgPSAicG93ZXIgd2VsbCAyIiwKQEAgLTM2MjMsNyArMzY4Miw3IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsX2Rlc2MgdGdsX3Bvd2VyX3dlbGxzW10g PSB7CiAJCS5uYW1lID0gIkRDIG9mZiIsCiAJCS5kb21haW5zID0gVEdMX0RJU1BMQVlfRENfT0ZG X1BPV0VSX0RPTUFJTlMsCiAJCS5vcHMgPSAmZ2VuOV9kY19vZmZfcG93ZXJfd2VsbF9vcHMsCi0J CS5pZCA9IERJU1BfUFdfSURfTk9ORSwKKwkJLmlkID0gU0tMX0RJU1BfRENfT0ZGLAogCX0sCiAJ ewogCQkubmFtZSA9ICJwb3dlciB3ZWxsIDIiLApAQCAtNDA1Niw2ICs0MTE1LDkgQEAgaW50IGlu dGVsX3Bvd2VyX2RvbWFpbnNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp CiAJZGV2X3ByaXYtPmNzci5hbGxvd2VkX2RjX21hc2sgPQogCQlnZXRfYWxsb3dlZF9kY19tYXNr KGRldl9wcml2LCBpOTE1X21vZHBhcmFtcy5lbmFibGVfZGMpOwogCisJZGV2X3ByaXYtPmNzci50 YXJnZXRfZGNfc3RhdGUgPQorCQlzYW5pdGl6ZV90YXJnZXRfZGNfc3RhdGUoZGV2X3ByaXYsIERD X1NUQVRFX0VOX1VQVE9fREM2KTsKKwogCUJVSUxEX0JVR19PTihQT1dFUl9ET01BSU5fTlVNID4g NjQpOwogCiAJbXV0ZXhfaW5pdCgmcG93ZXJfZG9tYWlucy0+bG9jayk7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfcG93ZXIuaCBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5oCmluZGV4IDczN2I1 ZGVmN2ZjNi4uN2Q3MmZhZjQ3NGIyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2Rpc3BsYXlfcG93ZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2Rpc3BsYXlfcG93ZXIuaApAQCAtMTAwLDYgKzEwMCw3IEBAIGVudW0gaTkx NV9wb3dlcl93ZWxsX2lkIHsKIAlTS0xfRElTUF9QV19NSVNDX0lPLAogCVNLTF9ESVNQX1BXXzEs CiAJU0tMX0RJU1BfUFdfMiwKKwlTS0xfRElTUF9EQ19PRkYsCiB9OwogCiAjZGVmaW5lIFBPV0VS X0RPTUFJTl9QSVBFKHBpcGUpICgocGlwZSkgKyBQT1dFUl9ET01BSU5fUElQRV9BKQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmgKaW5kZXggZmNmNzQyMzA3NWVmLi5jZGRjOThlYTk5NjUgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaApAQCAtMzM4LDYgKzMzOCw3IEBAIHN0cnVjdCBpbnRlbF9jc3Igewog CWk5MTVfcmVnX3QgbW1pb2FkZHJbMjBdOwogCXUzMiBtbWlvZGF0YVsyMF07CiAJdTMyIGRjX3N0 YXRlOworCXUzMiB0YXJnZXRfZGNfc3RhdGU7CiAJdTMyIGFsbG93ZWRfZGNfbWFzazsKIAlpbnRl bF93YWtlcmVmX3Qgd2FrZXJlZjsKIH07Ci0tIAoyLjIxLjAKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==