From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepak M Subject: [MIPI SEQ PARSING v2 PATCH 04/11] drm/i915: Using the approprite vbt size if vbt is not in mailbox4 of opregion Date: Thu, 10 Sep 2015 04:54:23 +0530 Message-ID: <1441841070-11532-5-git-send-email-m.deepak@intel.com> References: <1441841070-11532-1-git-send-email-m.deepak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 8EEB96E318 for ; Wed, 9 Sep 2015 16:20:49 -0700 (PDT) In-Reply-To: <1441841070-11532-1-git-send-email-m.deepak@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: Deepak M List-Id: intel-gfx@lists.freedesktop.org Q3VycmVudGx5IHRoZSBmaWVsZCBpbiBiZGIgaGVhZGVyIHdoaWNoIGluZGljYXRlcyB0aGUgVkJU IHNpemUKaXMgb2YgMiBieXRlcywgYnV0IHRoZXJlIGFyZSBzb21lIGNhc2VzIHdoZXJlIFZCVCBz aXplIGV4Y2VlZHMKNjRLQiBpbiB3aGljaCBjYXNlIHRoaXMgZmllbGQgbWF5IG5vdCBjb250YWlu IHRoZSBjb3JyZWN0IFZCVCBzaXplLgpTbyBpdHMgYmV0dGVyIHRvIGdldCB0aGUgVkJUIHNpemUg ZnJvbSB0aGUgbWFpbGJveDMgaWYKVkJUIGlzIG5vdCBwcmVzZW50IGluIHRoZSBtYWlsYm94NCBv ZiBvcHJlZ2lvbi4KCnYyOiAtIFVzZSBvcHJlZ2lvbiBmaWxlZCBmcm9tIGRldl9wcml2IHN0cnVj dCBpbnN0ZWFkIG9mIGNyZWF0aW5nCiAgICAgIGEgbmV3IGZpZWxkIGluIGRldl9wcml2IChKYW5p KQogICAgLSBIYXZlIHZidF9zaXplIGZpZWxkIHZhaWxkIGluIGFsbCBzY2VuYXJpb3MgKEphbmkp CiAgICAtIHJlYmFzZQoKU2lnbmVkLW9mZi1ieTogRGVlcGFrIE0gPG0uZGVlcGFrQGludGVsLmNv bT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgIHwgICAgMiArKwog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jICAgICB8ICAgNDIgKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vcHJlZ2lv bi5jIHwgICAgNiArKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspLCAxOCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCA1MDdkNTdhLi45MWNjYmM2 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTE3NzcsNiArMTc3Nyw4IEBAIHN0cnVjdCBk cm1faTkxNV9wcml2YXRlIHsKIAl1MzIgcG1fcnBzX2V2ZW50czsKIAl1MzIgcGlwZXN0YXRfaXJx X21hc2tbSTkxNV9NQVhfUElQRVNdOwogCisJdTMyIHZidF9zaXplOworCiAJc3RydWN0IGk5MTVf aG90cGx1ZyBob3RwbHVnOwogCXN0cnVjdCBpOTE1X2ZiYyBmYmM7CiAJc3RydWN0IGk5MTVfZHJy cyBkcnJzOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jCmluZGV4IDE5MzJhODYuLjM0YTEwNDIg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9iaW9zLmMKQEAgLTM3LDE3ICszNywxOSBAQAogc3RhdGlj IGludCBwYW5lbF90eXBlOwogCiBzdGF0aWMgY29uc3Qgdm9pZCAqCi1maW5kX3NlY3Rpb24oY29u c3Qgdm9pZCAqX2JkYiwgaW50IHNlY3Rpb25faWQpCitmaW5kX3NlY3Rpb24oc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQljb25zdCB2b2lkICpfYmRiLCBpbnQgc2VjdGlvbl9p ZCkKIHsKIAljb25zdCBzdHJ1Y3QgYmRiX2hlYWRlciAqYmRiID0gX2JkYjsKIAljb25zdCB1OCAq YmFzZSA9IF9iZGI7CiAJaW50IGluZGV4ID0gMDsKLQl1MTYgdG90YWwsIGN1cnJlbnRfc2l6ZTsK Kwl1MzIgdG90YWwsIGN1cnJlbnRfc2l6ZTsKIAl1OCBjdXJyZW50X2lkOwogCiAJLyogc2tpcCB0 byBmaXJzdCBzZWN0aW9uICovCiAJaW5kZXggKz0gYmRiLT5oZWFkZXJfc2l6ZTsKLQl0b3RhbCA9 IGJkYi0+YmRiX3NpemU7CisKKwl0b3RhbCA9IGRldl9wcml2LT52YnRfc2l6ZTsKIAogCS8qIHdh bGsgdGhlIHNlY3Rpb25zIGxvb2tpbmcgZm9yIHNlY3Rpb25faWQgKi8KIAl3aGlsZSAoaW5kZXgg KyAzIDwgdG90YWwpIHsKQEAgLTE3OSw3ICsxODEsNyBAQCBwYXJzZV9sZnBfcGFuZWxfZGF0YShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKnBhbmVsX2ZpeGVkX21vZGU7CiAJaW50IGRycnNfbW9kZTsKIAotCWx2ZHNfb3B0aW9ucyA9 IGZpbmRfc2VjdGlvbihiZGIsIEJEQl9MVkRTX09QVElPTlMpOworCWx2ZHNfb3B0aW9ucyA9IGZp bmRfc2VjdGlvbihkZXZfcHJpdiwgYmRiLCBCREJfTFZEU19PUFRJT05TKTsKIAlpZiAoIWx2ZHNf b3B0aW9ucykKIAkJcmV0dXJuOwogCkBAIC0yMTEsMTEgKzIxMywxMiBAQCBwYXJzZV9sZnBfcGFu ZWxfZGF0YShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCWJyZWFrOwogCX0K IAotCWx2ZHNfbGZwX2RhdGEgPSBmaW5kX3NlY3Rpb24oYmRiLCBCREJfTFZEU19MRlBfREFUQSk7 CisJbHZkc19sZnBfZGF0YSA9IGZpbmRfc2VjdGlvbihkZXZfcHJpdiwgYmRiLCBCREJfTFZEU19M RlBfREFUQSk7CiAJaWYgKCFsdmRzX2xmcF9kYXRhKQogCQlyZXR1cm47CiAKLQlsdmRzX2xmcF9k YXRhX3B0cnMgPSBmaW5kX3NlY3Rpb24oYmRiLCBCREJfTFZEU19MRlBfREFUQV9QVFJTKTsKKwls dmRzX2xmcF9kYXRhX3B0cnMgPSBmaW5kX3NlY3Rpb24oZGV2X3ByaXYsIGJkYiwKKwkJCQkJQkRC X0xWRFNfTEZQX0RBVEFfUFRSUyk7CiAJaWYgKCFsdmRzX2xmcF9kYXRhX3B0cnMpCiAJCXJldHVy bjsKIApAQCAtMjU3LDcgKzI2MCw3IEBAIHBhcnNlX2xmcF9iYWNrbGlnaHQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAogCWNvbnN0IHN0cnVjdCBiZGJfbGZwX2JhY2tsaWdodF9k YXRhICpiYWNrbGlnaHRfZGF0YTsKIAljb25zdCBzdHJ1Y3QgYmRiX2xmcF9iYWNrbGlnaHRfZGF0 YV9lbnRyeSAqZW50cnk7CiAKLQliYWNrbGlnaHRfZGF0YSA9IGZpbmRfc2VjdGlvbihiZGIsIEJE Ql9MVkRTX0JBQ0tMSUdIVCk7CisJYmFja2xpZ2h0X2RhdGEgPSBmaW5kX3NlY3Rpb24oZGV2X3By aXYsIGJkYiwgQkRCX0xWRFNfQkFDS0xJR0hUKTsKIAlpZiAoIWJhY2tsaWdodF9kYXRhKQogCQly ZXR1cm47CiAKQEAgLTMwNSwxNCArMzA4LDE1IEBAIHBhcnNlX3Nkdm9fcGFuZWxfZGF0YShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJaWYgKGluZGV4ID09IC0xKSB7CiAJCWNv bnN0IHN0cnVjdCBiZGJfc2R2b19sdmRzX29wdGlvbnMgKnNkdm9fbHZkc19vcHRpb25zOwogCi0J CXNkdm9fbHZkc19vcHRpb25zID0gZmluZF9zZWN0aW9uKGJkYiwgQkRCX1NEVk9fTFZEU19PUFRJ T05TKTsKKwkJc2R2b19sdmRzX29wdGlvbnMgPSBmaW5kX3NlY3Rpb24oZGV2X3ByaXYsIGJkYiwK KwkJCQkJCUJEQl9TRFZPX0xWRFNfT1BUSU9OUyk7CiAJCWlmICghc2R2b19sdmRzX29wdGlvbnMp CiAJCQlyZXR1cm47CiAKIAkJaW5kZXggPSBzZHZvX2x2ZHNfb3B0aW9ucy0+cGFuZWxfdHlwZTsK IAl9CiAKLQlkdm9fdGltaW5nID0gZmluZF9zZWN0aW9uKGJkYiwgQkRCX1NEVk9fUEFORUxfRFRE Uyk7CisJZHZvX3RpbWluZyA9IGZpbmRfc2VjdGlvbihkZXZfcHJpdiwgYmRiLCBCREJfU0RWT19Q QU5FTF9EVERTKTsKIAlpZiAoIWR2b190aW1pbmcpCiAJCXJldHVybjsKIApAQCAtMzQ5LDcgKzM1 Myw3IEBAIHBhcnNlX2dlbmVyYWxfZmVhdHVyZXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBkZXZfcHJpdi0+ZGV2OwogCWNvbnN0 IHN0cnVjdCBiZGJfZ2VuZXJhbF9mZWF0dXJlcyAqZ2VuZXJhbDsKIAotCWdlbmVyYWwgPSBmaW5k X3NlY3Rpb24oYmRiLCBCREJfR0VORVJBTF9GRUFUVVJFUyk7CisJZ2VuZXJhbCA9IGZpbmRfc2Vj dGlvbihkZXZfcHJpdiwgYmRiLCBCREJfR0VORVJBTF9GRUFUVVJFUyk7CiAJaWYgKGdlbmVyYWwp IHsKIAkJZGV2X3ByaXYtPnZidC5pbnRfdHZfc3VwcG9ydCA9IGdlbmVyYWwtPmludF90dl9zdXBw b3J0OwogCQlkZXZfcHJpdi0+dmJ0LmludF9jcnRfc3VwcG9ydCA9IGdlbmVyYWwtPmludF9jcnRf c3VwcG9ydDsKQEAgLTM3NCw3ICszNzgsNyBAQCBwYXJzZV9nZW5lcmFsX2RlZmluaXRpb25zKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIHsKIAljb25zdCBzdHJ1Y3QgYmRiX2dl bmVyYWxfZGVmaW5pdGlvbnMgKmdlbmVyYWw7CiAKLQlnZW5lcmFsID0gZmluZF9zZWN0aW9uKGJk YiwgQkRCX0dFTkVSQUxfREVGSU5JVElPTlMpOworCWdlbmVyYWwgPSBmaW5kX3NlY3Rpb24oZGV2 X3ByaXYsIGJkYiwgQkRCX0dFTkVSQUxfREVGSU5JVElPTlMpOwogCWlmIChnZW5lcmFsKSB7CiAJ CXUxNiBibG9ja19zaXplID0gZ2V0X2Jsb2Nrc2l6ZShnZW5lcmFsKTsKIAkJaWYgKGJsb2NrX3Np emUgPj0gc2l6ZW9mKCpnZW5lcmFsKSkgewpAQCAtNDA1LDcgKzQwOSw3IEBAIHBhcnNlX3Nkdm9f ZGV2aWNlX21hcHBpbmcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCWludCBp LCBjaGlsZF9kZXZpY2VfbnVtLCBjb3VudDsKIAl1MTYJYmxvY2tfc2l6ZTsKIAotCXBfZGVmcyA9 IGZpbmRfc2VjdGlvbihiZGIsIEJEQl9HRU5FUkFMX0RFRklOSVRJT05TKTsKKwlwX2RlZnMgPSBm aW5kX3NlY3Rpb24oZGV2X3ByaXYsIGJkYiwgQkRCX0dFTkVSQUxfREVGSU5JVElPTlMpOwogCWlm ICghcF9kZWZzKSB7CiAJCURSTV9ERUJVR19LTVMoIk5vIGdlbmVyYWwgZGVmaW5pdGlvbiBibG9j ayBpcyBmb3VuZCwgdW5hYmxlIHRvIGNvbnN0cnVjdCBzZHZvIG1hcHBpbmcuXG4iKTsKIAkJcmV0 dXJuOwpAQCAtNDkxLDcgKzQ5NSw3IEBAIHBhcnNlX2RyaXZlcl9mZWF0dXJlcyhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiB7CiAJY29uc3Qgc3RydWN0IGJkYl9kcml2ZXJfZmVh dHVyZXMgKmRyaXZlcjsKIAotCWRyaXZlciA9IGZpbmRfc2VjdGlvbihiZGIsIEJEQl9EUklWRVJf RkVBVFVSRVMpOworCWRyaXZlciA9IGZpbmRfc2VjdGlvbihkZXZfcHJpdiwgYmRiLCBCREJfRFJJ VkVSX0ZFQVRVUkVTKTsKIAlpZiAoIWRyaXZlcikKIAkJcmV0dXJuOwogCkBAIC01MTksNyArNTIz LDcgQEAgcGFyc2VfZWRwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgY29uc3Qg c3RydWN0IGJkYl9oZWFkZXIgKmJkYikKIAljb25zdCBzdHJ1Y3QgZWRwX3Bvd2VyX3NlcSAqZWRw X3BwczsKIAljb25zdCBzdHJ1Y3QgZWRwX2xpbmtfcGFyYW1zICplZHBfbGlua19wYXJhbXM7CiAK LQllZHAgPSBmaW5kX3NlY3Rpb24oYmRiLCBCREJfRURQKTsKKwllZHAgPSBmaW5kX3NlY3Rpb24o ZGV2X3ByaXYsIGJkYiwgQkRCX0VEUCk7CiAJaWYgKCFlZHApIHsKIAkJaWYgKGRldl9wcml2LT52 YnQuZWRwX3N1cHBvcnQpCiAJCQlEUk1fREVCVUdfS01TKCJObyBlRFAgQkRCIGZvdW5kIGJ1dCBl RFAgcGFuZWwgc3VwcG9ydGVkLlxuIik7CkBAIC02MzAsNyArNjM0LDcgQEAgcGFyc2VfcHNyKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgY29uc3Qgc3RydWN0IGJkYl9oZWFkZXIg KmJkYikKIAljb25zdCBzdHJ1Y3QgYmRiX3BzciAqcHNyOwogCWNvbnN0IHN0cnVjdCBwc3JfdGFi bGUgKnBzcl90YWJsZTsKIAotCXBzciA9IGZpbmRfc2VjdGlvbihiZGIsIEJEQl9QU1IpOworCXBz ciA9IGZpbmRfc2VjdGlvbihkZXZfcHJpdiwgYmRiLCBCREJfUFNSKTsKIAlpZiAoIXBzcikgewog CQlEUk1fREVCVUdfS01TKCJObyBQU1IgQkRCIGZvdW5kLlxuIik7CiAJCXJldHVybjsKQEAgLTc2 OCw3ICs3NzIsNyBAQCBwYXJzZV9taXBpKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwgY29uc3Qgc3RydWN0IGJkYl9oZWFkZXIgKmJkYikKIAkvKiBQYXJzZSAjNTIgZm9yIHBhbmVs IGluZGV4IHVzZWQgZnJvbSBwYW5lbF90eXBlIGFscmVhZHkKIAkgKiBwYXJzZWQKIAkgKi8KLQlz dGFydCA9IGZpbmRfc2VjdGlvbihiZGIsIEJEQl9NSVBJX0NPTkZJRyk7CisJc3RhcnQgPSBmaW5k X3NlY3Rpb24oZGV2X3ByaXYsIGJkYiwgQkRCX01JUElfQ09ORklHKTsKIAlpZiAoIXN0YXJ0KSB7 CiAJCURSTV9ERUJVR19LTVMoIk5vIE1JUEkgY29uZmlnIEJEQiBmb3VuZCIpOwogCQlyZXR1cm47 CkBAIC03OTksNyArODAzLDcgQEAgcGFyc2VfbWlwaShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsIGNvbnN0IHN0cnVjdCBiZGJfaGVhZGVyICpiZGIpCiAJZGV2X3ByaXYtPnZidC5k c2kucGFuZWxfaWQgPSBNSVBJX0RTSV9HRU5FUklDX1BBTkVMX0lEOwogCiAJLyogQ2hlY2sgaWYg d2UgaGF2ZSBzZXF1ZW5jZSBibG9jayBhcyB3ZWxsICovCi0Jc2VxdWVuY2UgPSBmaW5kX3NlY3Rp b24oYmRiLCBCREJfTUlQSV9TRVFVRU5DRSk7CisJc2VxdWVuY2UgPSBmaW5kX3NlY3Rpb24oZGV2 X3ByaXYsIGJkYiwgQkRCX01JUElfU0VRVUVOQ0UpOwogCWlmICghc2VxdWVuY2UpIHsKIAkJRFJN X0RFQlVHX0tNUygiTm8gTUlQSSBTZXF1ZW5jZSBmb3VuZCwgcGFyc2luZyBjb21wbGV0ZVxuIik7 CiAJCXJldHVybjsKQEAgLTEwNzcsNyArMTA4MSw3IEBAIHBhcnNlX2RldmljZV9tYXBwaW5nKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAl1OCBleHBlY3RlZF9zaXplOwogCXUx NiBibG9ja19zaXplOwogCi0JcF9kZWZzID0gZmluZF9zZWN0aW9uKGJkYiwgQkRCX0dFTkVSQUxf REVGSU5JVElPTlMpOworCXBfZGVmcyA9IGZpbmRfc2VjdGlvbihkZXZfcHJpdiwgYmRiLCBCREJf R0VORVJBTF9ERUZJTklUSU9OUyk7CiAJaWYgKCFwX2RlZnMpIHsKIAkJRFJNX0RFQlVHX0tNUygi Tm8gZ2VuZXJhbCBkZWZpbml0aW9uIGJsb2NrIGlzIGZvdW5kLCBubyBkZXZpY2VzIGRlZmluZWQu XG4iKTsKIAkJcmV0dXJuOwpAQCAtMTI4MCw2ICsxMjg0LDggQEAgaW50ZWxfcGFyc2VfYmlvcyhz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQkJcGNpX3VubWFwX3JvbShwZGV2LCBiaW9zKTsKIAkJ CXJldHVybiAtMTsKIAkJfQorCisJCWRldl9wcml2LT52YnRfc2l6ZSA9IGJkYi0+YmRiX3NpemU7 CiAJfQogCiAJLyogR3JhYiB1c2VmdWwgZ2VuZXJhbCBkZWZpbml0aW9ucyAqLwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ByZWdpb24uYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX29wcmVnaW9uLmMKaW5kZXggM2E0M2RiOS4uYzJmMWE0YSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ByZWdpb24uYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9vcHJlZ2lvbi5jCkBAIC03OTMsNiArNzkzLDEyIEBAIGludCBpbnRl bF9vcHJlZ2lvbl9zZXR1cChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQlnb3RvIGVycl92YnQ7 CiAJfQogCisJLyogQXNzaWduaW5nIHRoZSB2YnRfc2l6ZSBiYXNlZCBvbiB0aGUgVkJUIGxvY2F0 aW9uICovCisJaWYgKG9wcmVnaW9uLT5oZWFkZXItPm9wcmVnaW9uX3ZlciA+PSAyICYmIG9wcmVn aW9uLT5hc2xlLT5ydmRhKQorCQlkZXZfcHJpdi0+dmJ0X3NpemUgPSBvcHJlZ2lvbi0+YXNsZS0+ cnZkczsKKwllbHNlCisJCWRldl9wcml2LT52YnRfc2l6ZSA9IGJkYi0+YmRiX3NpemU7CisKIAlk ZXZfcHJpdi0+YmRiX3N0YXJ0ID0gYmRiOwogCW9wcmVnaW9uLT52YnQgPSB2YnRfYmFzZTsKIAot LSAKMS43LjkuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK