From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH 2/5] drm/i915: Add lspcon support for I915 driver Date: Tue, 31 May 2016 14:55:43 +0530 Message-ID: <1464686746-5099-3-git-send-email-shashank.sharma@intel.com> References: <1464686746-5099-1-git-send-email-shashank.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id C5AF96E337 for ; Tue, 31 May 2016 09:16:24 +0000 (UTC) In-Reply-To: <1464686746-5099-1-git-send-email-shashank.sharma@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, ville.syrjala@linux.intel.com, paulo.r.zanoni@intel.com Cc: daniel.vetter@intel.com List-Id: intel-gfx@lists.freedesktop.org bHNwY29uIGlzIGEgZHAtPmhkbWkgYWRhcHRvciBoYXMgdHdvIG1vZGVzIG9mIG9wZXJhdGlvbi4K bHMgbW9kZTogbGV2ZWwgc2hpZnRlciBtb2RlLCBwYXNzaXZlIGRwLT5oZG1pIGRvbmdsZQpwY29u IG1vZGU6IHByb3RvY29sIGNvbnZlcnRlciBtb2RlLCBhY3RpdmUgZHAtPmhkbWkgMi4wCmNvbnZl cnRlci4KClRoaXMgcGF0Y2ggYWRkcyBhIG5ldyBmaWxlLCB0byBhY2NvbW1vZGF0ZSBsc3Bjb24g c3VwcG9ydApmb3IgSTkxNSBkcml2ZXIuIFRoZXNlIGZ1bmN0aW9ucyBwcm9iZSwgZGV0ZWN0LCBp bml0aWFsaXplCmFuZCBjb25maWd1cmUgYW4gb24tYm9hcmQgbHNwY29uIGRldmljZSBkdXJpbmcg dGhlIGRyaXZlcgppbml0IHRpbWUuCgpBbHNvLCB0aGlzIHBhdGNoIGFkZHMgYSBzbWFsbCBzdHJ1 Y3R1cmUgZm9yIGxzcGNvbiBkZXZpY2UsCndoaWNoIHdpbGwgcHJvdmlkZSB0aGUgcnVudGltZSBz dGF0dXMgb2YgdGhlIGRldmljZS4KClNpZ25lZC1vZmYtYnk6IFNoYXNoYW5rIFNoYXJtYSA8c2hh c2hhbmsuc2hhcm1hQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogQWthc2hkZWVwIFNoYXJtYSA8 YWthc2hkZWVwLnNoYXJtYUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFr ZWZpbGUgICAgICAgfCAgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAg fCAgMTMgKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYyB8IDE1OSArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMTcyIGlu c2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKaW5kZXggN2UyOTQ0 NC4uMWJkNjAyNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKQEAgLTkzLDYgKzkzLDcgQEAgaTkxNS15 ICs9IGR2b19jaDcwMTcubyBcCiAJICBpbnRlbF9kdm8ubyBcCiAJICBpbnRlbF9oZG1pLm8gXAog CSAgaW50ZWxfaTJjLm8gXAorCSAgaW50ZWxfbHNwY29uLm8gXAogCSAgaW50ZWxfbHZkcy5vIFwK IAkgIGludGVsX3BhbmVsLm8gXAogCSAgaW50ZWxfc2R2by5vIFwKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKaW5kZXggOWI1ZjY2My4uMjA1YTQ2MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgK QEAgLTg5NiwxMiArODk2LDE5IEBAIHN0cnVjdCBpbnRlbF9kcCB7CiAJYm9vbCBjb21wbGlhbmNl X3Rlc3RfYWN0aXZlOwogfTsKIAorc3RydWN0IGludGVsX2xzcGNvbiB7CisJYm9vbCBhY3RpdmU7 CisJZW51bSBkcm1fbHNwY29uX21vZGUgbW9kZV9vZl9vcDsKKwlzdHJ1Y3QgZHJtX2RwX2F1eCAq YXV4OworfTsKKwogc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCB7CiAJc3RydWN0IGludGVsX2Vu Y29kZXIgYmFzZTsKIAllbnVtIHBvcnQgcG9ydDsKIAl1MzIgc2F2ZWRfcG9ydF9iaXRzOwogCXN0 cnVjdCBpbnRlbF9kcCBkcDsKIAlzdHJ1Y3QgaW50ZWxfaGRtaSBoZG1pOworCXN0cnVjdCBpbnRl bF9sc3Bjb24gbHNwY29uOwogCWVudW0gaXJxcmV0dXJuICgqaHBkX3B1bHNlKShzdHJ1Y3QgaW50 ZWxfZGlnaXRhbF9wb3J0ICosIGJvb2wpOwogCWJvb2wgcmVsZWFzZV9jbDJfb3ZlcnJpZGU7CiAJ dWludDhfdCBtYXhfbGFuZXM7CkBAIC0xNDQ2LDcgKzE0NTMsNiBAQCBib29sIGludGVsX2hkbWlf Y29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkgICAgICAg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKTsKIHZvaWQgaW50ZWxfZHBfZHVh bF9tb2RlX3NldF90bWRzX291dHB1dChzdHJ1Y3QgaW50ZWxfaGRtaSAqaGRtaSwgYm9vbCBlbmFi bGUpOwogCi0KIC8qIGludGVsX2x2ZHMuYyAqLwogdm9pZCBpbnRlbF9sdmRzX2luaXQoc3RydWN0 IGRybV9kZXZpY2UgKmRldik7CiBib29sIGludGVsX2lzX2R1YWxfbGlua19sdmRzKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpOwpAQCAtMTczNCw0ICsxNzQwLDkgQEAgaW50IGludGVsX2NvbG9yX2No ZWNrKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yywgc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSk7 CiB2b2lkIGludGVsX2NvbG9yX3NldF9jc2Moc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlKTsKIHZvaWQgaW50ZWxfY29sb3JfbG9hZF9sdXRzKHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSk7CiAKKy8qIGludGVsX2xzcGNvbi5jICovCitib29sIGxzcGNvbl9pbml0KHN0 cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0KTsKK2VudW0gZHJtX2Nvbm5l Y3Rvcl9zdGF0dXMKK2xzcGNvbl9sc19tb2RlX2RldGVjdChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yLCBib29sIGZvcmNlKTsKK2Jvb2wgaXNfbHNwY29uX2FjdGl2ZShzdHJ1Y3QgaW50 ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCk7CiAjZW5kaWYgLyogX19JTlRFTF9EUlZfSF9fICov CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xzcGNvbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLmRkNTA0OTEKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9sc3Bjb24uYwpAQCAtMCwwICsxLDE1OSBAQAorLyoKKyAqIENvcHlyaWdodCDCqSAy MDE2IEludGVsIENvcnBvcmF0aW9uCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRl ZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2Yg dGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNv ZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9u LCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFu ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0 byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRv IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5v dGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0CisgKiBw YXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg cG9ydGlvbnMgb2YgdGhlCisgKiBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJP VklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgor ICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBP RiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB TkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKKyAqIFRIRSBBVVRIT1JTIE9S IENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9U SEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JU IE9SIE9USEVSV0lTRSwgQVJJU0lORworICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04g V0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgorICogREVBTElOR1MgSU4gVEhF IFNPRlRXQVJFLgorICoKKyAqCisgKi8KKyNpbmNsdWRlIDxkcm0vZHJtX2VkaWQuaD4KKyNpbmNs dWRlIDxkcm0vZHJtX2F0b21pY19oZWxwZXIuaD4KKyNpbmNsdWRlIDxkcm0vZHJtX2RwX2R1YWxf bW9kZV9oZWxwZXIuaD4KKyNpbmNsdWRlICJpbnRlbF9kcnYuaCIKKworI2RlZmluZSBMU1BDT05f STJDX0FERFJFU1MJCQkweDgwCisjZGVmaW5lIExTUENPTl9BREFQVEVSX1NJR05fT0ZGU0VUCQkw eDAwCisjZGVmaW5lIExTUENPTl9JREVOVElGSUVSX09GRlNFVAkJMHgxMAorI2RlZmluZSBMU1BD T05fSURFTlRJRklFUl9MRU5HVEgJCTB4MTAKKworYm9vbCBpc19sc3Bjb25fYWN0aXZlKHN0cnVj dCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQoreworCXJldHVybiBkaWdfcG9ydC0+bHNw Y29uLmFjdGl2ZTsKK30KKworZW51bSBkcm1fbHNwY29uX21vZGUgbHNwY29uX2dldF9jdXJyZW50 X21vZGUoc3RydWN0IGludGVsX2xzcGNvbiAqbHNwY29uKQoreworCWVudW0gZHJtX2xzcGNvbl9t b2RlIGN1cnJlbnRfbW9kZTsKKwlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIgPSAmbHNwY29u LT5hdXgtPmRkYzsKKworCWN1cnJlbnRfbW9kZSA9IGRybV9sc3Bjb25fZ2V0X2N1cnJlbnRfbW9k ZShhZGFwdGVyKTsKKwlpZiAoY3VycmVudF9tb2RlID09IERSTV9MU1BDT05fTU9ERV9JTlZBTElE KQorCQlEUk1fRVJST1IoIkVycm9yIHJlYWRpbmcgTFNQQ09OIG1vZGVcbiIpOworCWVsc2UKKwkJ RFJNX0RFQlVHX0tNUygiQ3VycmVudCBMU1BDT04gbW9kZSAlc1xuIiwKKwkJCWN1cnJlbnRfbW9k ZSA9PSBEUk1fTFNQQ09OX01PREVfUENPTiA/ICJQQ09OIiA6ICJMUyIpOworCXJldHVybiBjdXJy ZW50X21vZGU7Cit9CisKK2ludCBsc3Bjb25fY2hhbmdlX21vZGUoc3RydWN0IGludGVsX2xzcGNv biAqbHNwY29uLAorCWVudW0gZHJtX2xzcGNvbl9tb2RlIG1vZGUsIGJvb2wgZm9yY2UpCit7CisJ aW50IGVycjsKKwllbnVtIGRybV9sc3Bjb25fbW9kZSBjdXJyZW50X21vZGU7CisJc3RydWN0IGky Y19hZGFwdGVyICphZGFwdGVyID0gJmxzcGNvbi0+YXV4LT5kZGM7CisKKwljdXJyZW50X21vZGUg PSBkcm1fbHNwY29uX2dldF9jdXJyZW50X21vZGUoYWRhcHRlcik7CisJaWYgKGN1cnJlbnRfbW9k ZSA9PSBEUk1fTFNQQ09OX01PREVfSU5WQUxJRCkgeworCQlEUk1fRVJST1IoIkZhaWxlZCB0byBn ZXQgY3VycmVudCBMU1BDT04gbW9kZVxuIik7CisJCXJldHVybiAtRUZBVUxUOworCX0KKworCWlm IChjdXJyZW50X21vZGUgPT0gbW9kZSAmJiAhZm9yY2UpIHsKKwkJRFJNX0RFQlVHX0tNUygiQ3Vy cmVudCBtb2RlID0gZGVzaXJlZCBMU1BDT04gbW9kZVxuIik7CisJCXJldHVybiAwOworCX0KKwor CWVyciA9IGRybV9sc3Bjb25fY2hhbmdlX21vZGUoYWRhcHRlciwgbW9kZSk7CisJaWYgKGVyciA8 IDApIHsKKwkJRFJNX0VSUk9SKCJMU1BDT04gbW9kZSBjaGFuZ2UgZmFpbGVkXG4iKTsKKwkJcmV0 dXJuIGVycjsKKwl9CisKKwlsc3Bjb24tPm1vZGVfb2Zfb3AgPSBtb2RlOworCURSTV9ERUJVR19L TVMoIkxTUENPTiBtb2RlIGNoYW5nZWQgZG9uZVxuIik7CisJcmV0dXJuIDA7Cit9CisKK2Jvb2wg bHNwY29uX2RldGVjdF9pZGVudGlmaWVyKHN0cnVjdCBpbnRlbF9sc3Bjb24gKmxzcGNvbikKK3sK KwllbnVtIGRybV9kcF9kdWFsX21vZGVfdHlwZSBhZGFwdG9yX3R5cGU7CisJc3RydWN0IGkyY19h ZGFwdGVyICphZGFwdGVyID0gJmxzcGNvbi0+YXV4LT5kZGM7CisKKwkvKiBMZXRzIHByb2JlIHRo ZSBhZGFwdG9yIGFuZCBjaGVjayBpdHMgdHlwZSAqLworCWFkYXB0b3JfdHlwZSA9IGRybV9kcF9k dWFsX21vZGVfZGV0ZWN0KGFkYXB0ZXIpOworCWlmIChhZGFwdG9yX3R5cGUgIT0gRFJNX0RQX0RV QUxfTU9ERV9MU1BDT04pIHsKKwkJRFJNX0RFQlVHX0tNUygiTm8gTFNQQ09OIGRldGVjdGVkLCBm b3VuZCAlc1xuIiwKKwkJCWRybV9kcF9nZXRfZHVhbF9tb2RlX3R5cGVfbmFtZShhZGFwdG9yX3R5 cGUpKTsKKwkJcmV0dXJuIGZhbHNlOworCX0KKworCS8qIFlheSAuLi4gZ290IGEgTFNQQ09OIGRl dmljZSAqLworCURSTV9ERUJVR19LTVMoIkxTUENPTiBkZXRlY3RlZFxuIik7CisJcmV0dXJuIHRy dWU7Cit9CisKK2VudW0gZHJtX2xzcGNvbl9tb2RlIGxzcGNvbl9wcm9iZShzdHJ1Y3QgaW50ZWxf bHNwY29uICpsc3Bjb24pCit7CisJZW51bSBkcm1fbHNwY29uX21vZGUgY3VycmVudF9tb2RlOwor CisJLyogRGV0ZWN0IGEgdmFsaWQgbHNwY29uIGFkYXB0b3IgKi8KKwlpZiAoIWxzcGNvbl9kZXRl Y3RfaWRlbnRpZmllcihsc3Bjb24pKSB7CisJCURSTV9ERUJVR19LTVMoIk5vIExTUENPTiBpZGVu dGlmaWVyIGZvdW5kXG4iKTsKKwkJcmV0dXJuIGZhbHNlOworCX0KKworCS8qIEdldCBMU1BDT04n cyBtb2RlIG9mIG9wZXJhdGlvbiAqLworCWN1cnJlbnRfbW9kZSA9IGxzcGNvbl9nZXRfY3VycmVu dF9tb2RlKGxzcGNvbik7CisJaWYgKGN1cnJlbnRfbW9kZSA9PSBEUk1fTFNQQ09OX01PREVfSU5W QUxJRCkgeworCQlEUk1fRVJST1IoIkZhaWxlZCB0byByZWFkIExTUENPTiBtb2RlXG4iKTsKKwkJ cmV0dXJuIGZhbHNlOworCX0KKworCS8qIEFsbCBpcyB3ZWxsICovCisJbHNwY29uLT5tb2RlX29m X29wID0gY3VycmVudF9tb2RlOworCWxzcGNvbi0+YWN0aXZlID0gdHJ1ZTsKKwlyZXR1cm4gY3Vy cmVudF9tb2RlOworfQorCitib29sIGxzcGNvbl9pbml0KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQgKmludGVsX2RpZ19wb3J0KQoreworCXN0cnVjdCBpbnRlbF9kcCAqZHAgPSAmaW50ZWxfZGln X3BvcnQtPmRwOworCXN0cnVjdCBpbnRlbF9sc3Bjb24gKmxzcGNvbiA9ICZpbnRlbF9kaWdfcG9y dC0+bHNwY29uOworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kaWdfcG9ydC0+YmFz ZS5iYXNlLmRldjsKKworCWlmICghSVNfR0VOOShkZXYpKSB7CisJCURSTV9FUlJPUigiTFNQQ09O IGlzIHN1cHBvcnRlZCBvbiBHRU45IG9ubHlcbiIpOworCQlyZXR1cm4gZmFsc2U7CisJfQorCisJ bHNwY29uLT5hY3RpdmUgPSBmYWxzZTsKKwlsc3Bjb24tPm1vZGVfb2Zfb3AgPSBEUk1fTFNQQ09O X01PREVfSU5WQUxJRDsKKwlsc3Bjb24tPmF1eCA9ICZkcC0+YXV4OworCisJaWYgKCFsc3Bjb25f cHJvYmUobHNwY29uKSkgeworCQlEUk1fRVJST1IoIkZhaWxlZCB0byBwcm9iZSBsc3Bjb25cbiIp OworCQlyZXR1cm4gZmFsc2U7CisJfQorCisJLyoKKwkqIEluIHRoZSBTVyBzdGF0ZSBtYWNoaW5l LCBsZXRzIFB1dCBMU1BDT04gaW4gUENPTiBtb2RlIG9ubHkuCisJKiBJbiB0aGlzIHdheSwgaXQg d2lsbCB3b3JrIHdpdGggYm90aCBIRE1JIDEuNCBzaW5rcyBhcyB3ZWxsIGFzIEhETUkKKwkqIDIu MCBzaW5rcy4KKwkqLworCWlmIChsc3Bjb24tPmFjdGl2ZSAmJiBsc3Bjb24tPm1vZGVfb2Zfb3Ag IT0gRFJNX0xTUENPTl9NT0RFX1BDT04pIHsKKwkJaWYgKGxzcGNvbl9jaGFuZ2VfbW9kZShsc3Bj b24sIERSTV9MU1BDT05fTU9ERV9QQ09OLAorCQkJdHJ1ZSkgPCAwKSB7CisJCQlEUk1fRVJST1Io IkxTUENPTiBtb2RlIGNoYW5nZSB0byBQQ09OIGZhaWxlZFxuIik7CisJCQlyZXR1cm4gZmFsc2U7 CisJCX0KKwl9CisKKwlEUk1fREVCVUdfS01TKCJTdWNjZXNzOiBMU1BDT04gaW5pdFxuIik7CisJ cmV0dXJuIHRydWU7Cit9Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==