From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haneen Mohammed Subject: [PATCH 2/2] drm/vkms: Compute CRC with Cursor Plane Date: Mon, 6 Aug 2018 06:58:29 +0300 Message-ID: <44b546fedbcf65fd20f7a65d5443fbb50493cf32.1533526327.git.hamohammed.sa@gmail.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pl0-x243.google.com (mail-pl0-x243.google.com [IPv6:2607:f8b0:400e:c01::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id E924B6E185 for ; Mon, 6 Aug 2018 04:17:49 +0000 (UTC) Received: by mail-pl0-x243.google.com with SMTP id b90-v6so4291125plb.0 for ; Sun, 05 Aug 2018 21:17:49 -0700 (PDT) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: hamohammed.sa@gmail.com, rodrigosiqueiramelo@gmail.com List-Id: dri-devel@lists.freedesktop.org VGhpcyBwYXRjaCBjb21wdXRlIENSQyBmb3Igb3V0cHV0IGZyYW1lIHdpdGggY3Vyc29yIGFuZCBw cmltYXJ5IHBsYW5lLgpCbGVuZCBjdXJzb3Igd2l0aCBwcmltYXJ5IHBsYW5lIGFuZCBjb21wdXRl IENSQyBvbiB0aGUgcmVzdWx0ZWQgZnJhbWUuCgpTaWduZWQtb2ZmLWJ5OiBIYW5lZW4gTW9oYW1t ZWQgPGhhbW9oYW1tZWQuc2FAZ21haWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS92a21zL3Zr bXNfY3JjLmMgICB8IDE0OSArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KIGRyaXZlcnMv Z3B1L2RybS92a21zL3ZrbXNfZHJ2LmggICB8ICAgNSArLQogZHJpdmVycy9ncHUvZHJtL3ZrbXMv dmttc19wbGFuZS5jIHwgIDEwICstCiAzIGZpbGVzIGNoYW5nZWQsIDEzNyBpbnNlcnRpb25zKCsp LCAyNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21z X2NyYy5jIGIvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19jcmMuYwppbmRleCAzN2Q3MTdmMzhl M2MuLjQ4NTNhNzM5YWU1YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19j cmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2NyYy5jCkBAIC0xLDM2ICsxLDEz NyBAQAogLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKICNpbmNsdWRlICJ2a21z X2Rydi5oIgogI2luY2x1ZGUgPGxpbnV4L2NyYzMyLmg+CisjaW5jbHVkZSA8ZHJtL2RybV9hdG9t aWMuaD4KKyNpbmNsdWRlIDxkcm0vZHJtX2F0b21pY19oZWxwZXIuaD4KICNpbmNsdWRlIDxkcm0v ZHJtX2dlbV9mcmFtZWJ1ZmZlcl9oZWxwZXIuaD4KIAotc3RhdGljIHVpbnQzMl90IF92a21zX2dl dF9jcmMoc3RydWN0IHZrbXNfY3JjX2RhdGEgKmNyY19kYXRhKQorLyoqCisgKiBjb21wdXRlX2Ny YyAtIENvbXB1dGUgQ1JDIHZhbHVlIG9uIG91dHB1dCBmcmFtZQorICoKKyAqIEB2YWRkcl9vdXQ6 IGFkZHJlc3MgdG8gZmluYWwgZnJhbWVidWZmZXIKKyAqIEBjcmNfb3V0OiBmcmFtZWJ1ZmZlcidz IG1ldGFkYXRhCisgKgorICogcmV0dXJucyBDUkMgdmFsdWUgY29tcHV0ZWQgdXNpbmcgY3JjMzIg b24gdGhlIHZpc2libGUgcG9ydGlvbiBvZgorICogdGhlIGZpbmFsIGZyYW1lYnVmZmVyIGF0IHZh ZGRyX291dAorICovCitzdGF0aWMgdWludDMyX3QgY29tcHV0ZV9jcmModm9pZCAqdmFkZHJfb3V0 LCBzdHJ1Y3Qgdmttc19jcmNfZGF0YSAqY3JjX291dCkKIHsKLQlzdHJ1Y3QgZHJtX2ZyYW1lYnVm ZmVyICpmYiA9ICZjcmNfZGF0YS0+ZmI7CisJaW50IGksIHNyY19vZmZzZXQ7CisJaW50IHhfc3Jj ID0gY3JjX291dC0+c3JjLngxID4+IDE2OworCWludCB5X3NyYyA9IGNyY19vdXQtPnNyYy55MSA+ PiAxNjsKKwlpbnQgaF9zcmMgPSBkcm1fcmVjdF9oZWlnaHQoJmNyY19vdXQtPnNyYykgPj4gMTY7 CisJaW50IHdfc3JjID0gZHJtX3JlY3Rfd2lkdGgoJmNyY19vdXQtPnNyYykgPj4gMTY7CisJaW50 IHNpemVfYnl0ZSA9IHdfc3JjICogY3JjX291dC0+Y3BwOworCXUzMiBjcmMgPSAwOworCisJZm9y IChpID0geV9zcmM7IGkgPCB5X3NyYyArIGhfc3JjOyBpKyspIHsKKwkJc3JjX29mZnNldCA9IGNy Y19vdXQtPm9mZnNldAorCQkJICAgICArIChpICogY3JjX291dC0+cGl0Y2gpCisJCQkgICAgICsg KHhfc3JjICogY3JjX291dC0+Y3BwKTsKKwkJY3JjID0gY3JjMzJfbGUoY3JjLCB2YWRkcl9vdXQg KyBzcmNfb2Zmc2V0LCBzaXplX2J5dGUpOworCX0KKworCXJldHVybiBjcmM7Cit9CisKKy8qKgor ICogYmxlbmQgLSBiZWxuZCB2YWx1ZSBhdCB2YWRkcl9zcmMgd2l0aCB2YWx1ZSBhdCB2YWRkcl9k c3QKKyAqIEB2YWRkcl9kc3Q6IGRlc3RpbmF0aW9uIGFkZHJlc3MKKyAqIEB2YWRkcl9zcmM6IHNv dXJjZSBhZGRyZXNzCisgKiBAY3JjX2RzdDogZGVzdGluYXRpb24gZnJhbWVidWZmZXIncyBtZXRh ZGF0YQorICogQGNyY19zcmM6IHNvdXJjZSBmcmFtZWJ1ZmZlcidzIG1ldGFkYXRhCisgKgorICog QmxlbmQgdmFsdWUgYXQgdmFkZHJfc3JjIHdpdGggdmFsdWUgYXQgdmFkZHJfZHN0LgorICogQ3Vy cmVudGx5LCB0aGlzIGZ1bmN0aW9uIHdyaXRlIHZhbHVlIGF0IHZhZGRyX3NyYyBvbiB2YWx1ZQor ICogYXQgdmFkZHJfZHN0IHVzaW5nIGJ1ZmZlcidzIG1ldGFkYXRhIHRvIGxvY2F0ZSB0aGUgbmV3 IHZhbHVlcworICogZnJvbSB2YWRkcl9zcmMgYW5kIHRoZWlyIGRpc3RlbmF0aW9uIGF0IHZhZGRy X2RzdC4KKyAqCisgKiBUb2RvOiBVc2UgdGhlIGFscGhhIHZhbHVlIHRvIGJsZW5kIHZhZGRyX3Ny YyB3aXRoIHZhZGRyX2RzdAorICoJIGluc3RlYWQgb2Ygb3ZlcndyaXRpbmcgaXQuCisgKi8KK3N0 YXRpYyB2b2lkIGJsZW5kKHZvaWQgKnZhZGRyX2RzdCwgdm9pZCAqdmFkZHJfc3JjLAorCQkgIHN0 cnVjdCB2a21zX2NyY19kYXRhICpjcmNfZHN0LAorCQkgIHN0cnVjdCB2a21zX2NyY19kYXRhICpj cmNfc3JjKQoreworCWludCBpLCBqLCBqX2RzdCwgaV9kc3Q7CisJaW50IG9mZnNldF9zcmMsIG9m ZnNldF9kc3Q7CisKKwlpbnQgeF9zcmMgPSBjcmNfc3JjLT5zcmMueDEgPj4gMTY7CisJaW50IHlf c3JjID0gY3JjX3NyYy0+c3JjLnkxID4+IDE2OworCisJaW50IHhfZHN0ID0gY3JjX3NyYy0+ZHN0 LngxOworCWludCB5X2RzdCA9IGNyY19zcmMtPmRzdC55MTsKKwlpbnQgaF9kc3QgPSBkcm1fcmVj dF9oZWlnaHQoJmNyY19zcmMtPmRzdCk7CisJaW50IHdfZHN0ID0gZHJtX3JlY3Rfd2lkdGgoJmNy Y19zcmMtPmRzdCk7CisKKwlpbnQgeV9saW1pdCA9IHlfc3JjICsgaF9kc3Q7CisJaW50IHhfbGlt aXQgPSB4X3NyYyArIHdfZHN0OworCisJZm9yIChpID0geV9zcmMsIGlfZHN0ID0geV9kc3Q7IGkg PCB5X2xpbWl0OyArK2kpIHsKKwkJZm9yIChqID0geF9zcmMsIGpfZHN0ID0geF9kc3Q7IGogPCB4 X2xpbWl0OyArK2opIHsKKwkJCW9mZnNldF9kc3QgPSBjcmNfZHN0LT5vZmZzZXQKKwkJCQkgICAg ICsgKGlfZHN0ICogY3JjX2RzdC0+cGl0Y2gpCisJCQkJICAgICArIChqX2RzdCsrICogY3JjX2Rz dC0+Y3BwKTsKKwkJCW9mZnNldF9zcmMgPSBjcmNfc3JjLT5vZmZzZXQKKwkJCQkgICAgICsgKGkg KiBjcmNfc3JjLT5waXRjaCkKKwkJCQkgICAgICsgKGogKiBjcmNfc3JjLT5jcHApOworCisJCQlt ZW1jcHkodmFkZHJfZHN0ICsgb2Zmc2V0X2RzdCwKKwkJCSAgICAgICB2YWRkcl9zcmMgKyBvZmZz ZXRfc3JjLCBzaXplb2YodTMyKSk7CisJCX0KKwkJaV9kc3QrKzsKKwl9Cit9CisKK3N0YXRpYyB2 b2lkIGNvbXBvc2VfY3Vyc29yKHN0cnVjdCB2a21zX2NyY19kYXRhICpjdXJzb3JfY3JjLAorCQkJ ICAgc3RydWN0IHZrbXNfY3JjX2RhdGEgKnByaW1hcnlfY3JjLCB2b2lkICp2YWRkcl9vdXQpCit7 CisJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpjdXJzb3Jfb2JqOworCXN0cnVjdCB2a21zX2dlbV9v YmplY3QgKmN1cnNvcl92a21zX29iajsKKworCWN1cnNvcl9vYmogPSBkcm1fZ2VtX2ZiX2dldF9v YmooJmN1cnNvcl9jcmMtPmZiLCAwKTsKKwljdXJzb3Jfdmttc19vYmogPSBkcm1fZ2VtX3RvX3Zr bXNfZ2VtKGN1cnNvcl9vYmopOworCisJbXV0ZXhfbG9jaygmY3Vyc29yX3ZrbXNfb2JqLT5wYWdl c19sb2NrKTsKKwlpZiAoV0FSTl9PTighY3Vyc29yX3ZrbXNfb2JqLT52YWRkcikpCisJCWdvdG8g b3V0OworCisJYmxlbmQodmFkZHJfb3V0LCBjdXJzb3Jfdmttc19vYmotPnZhZGRyLCBwcmltYXJ5 X2NyYywgY3Vyc29yX2NyYyk7CisKK291dDoKKwltdXRleF91bmxvY2soJmN1cnNvcl92a21zX29i ai0+cGFnZXNfbG9jayk7Cit9CisKK3N0YXRpYyB1aW50MzJfdCBfdmttc19nZXRfY3JjKHN0cnVj dCB2a21zX2NyY19kYXRhICpwcmltYXJ5X2NyYywKKwkJCSAgICAgIHN0cnVjdCB2a21zX2NyY19k YXRhICpjdXJzb3JfY3JjKQoreworCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gJnByaW1h cnlfY3JjLT5mYjsKIAlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdlbV9vYmogPSBkcm1fZ2VtX2Zi X2dldF9vYmooZmIsIDApOwogCXN0cnVjdCB2a21zX2dlbV9vYmplY3QgKnZrbXNfb2JqID0gZHJt X2dlbV90b192a21zX2dlbShnZW1fb2JqKTsKKwl2b2lkICp2YWRkcl9vdXQgPSBremFsbG9jKHZr bXNfb2JqLT5nZW0uc2l6ZSwgR0ZQX0tFUk5FTCk7CiAJdTMyIGNyYyA9IDA7Ci0JaW50IGkgPSAw OwotCXVuc2lnbmVkIGludCB4ID0gY3JjX2RhdGEtPnNyYy54MSA+PiAxNjsKLQl1bnNpZ25lZCBp bnQgeSA9IGNyY19kYXRhLT5zcmMueTEgPj4gMTY7Ci0JdW5zaWduZWQgaW50IGhlaWdodCA9IGRy bV9yZWN0X2hlaWdodCgmY3JjX2RhdGEtPnNyYykgPj4gMTY7Ci0JdW5zaWduZWQgaW50IHdpZHRo ID0gZHJtX3JlY3Rfd2lkdGgoJmNyY19kYXRhLT5zcmMpID4+IDE2OwotCXVuc2lnbmVkIGludCBj cHAgPSBmYi0+Zm9ybWF0LT5jcHBbMF07Ci0JdW5zaWduZWQgaW50IHNyY19vZmZzZXQ7Ci0JdW5z aWduZWQgaW50IHNpemVfYnl0ZSA9IHdpZHRoICogY3BwOwotCXZvaWQgKnZhZGRyOwogCi0JbXV0 ZXhfbG9jaygmdmttc19vYmotPnBhZ2VzX2xvY2spOwotCXZhZGRyID0gdmttc19vYmotPnZhZGRy OwotCWlmIChXQVJOX09OKCF2YWRkcikpCi0JCWdvdG8gb3V0OworCWlmICghdmFkZHJfb3V0KSB7 CisJCURSTV9FUlJPUigiRmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3Igb3V0cHV0IGZyYW1l LiIpOworCQlyZXR1cm4gMDsKKwl9CiAKLQlmb3IgKGkgPSB5OyBpIDwgeSArIGhlaWdodDsgaSsr KSB7Ci0JCXNyY19vZmZzZXQgPSBmYi0+b2Zmc2V0c1swXSArIChpICogZmItPnBpdGNoZXNbMF0p ICsgKHggKiBjcHApOwotCQljcmMgPSBjcmMzMl9sZShjcmMsIHZhZGRyICsgc3JjX29mZnNldCwg c2l6ZV9ieXRlKTsKKwltdXRleF9sb2NrKCZ2a21zX29iai0+cGFnZXNfbG9jayk7CisJaWYgKFdB Uk5fT04oIXZrbXNfb2JqLT52YWRkcikpIHsKKwkJbXV0ZXhfbG9jaygmdmttc19vYmotPnBhZ2Vz X2xvY2spOworCQlyZXR1cm4gY3JjOwogCX0KIAotb3V0OgorCW1lbWNweSh2YWRkcl9vdXQsIHZr bXNfb2JqLT52YWRkciwgdmttc19vYmotPmdlbS5zaXplKTsKIAltdXRleF91bmxvY2soJnZrbXNf b2JqLT5wYWdlc19sb2NrKTsKKworCWlmIChjdXJzb3JfY3JjKQorCQljb21wb3NlX2N1cnNvcihj dXJzb3JfY3JjLCBwcmltYXJ5X2NyYywgdmFkZHJfb3V0KTsKKworCWNyYyA9IGNvbXB1dGVfY3Jj KHZhZGRyX291dCwgcHJpbWFyeV9jcmMpOworCisJa2ZyZWUodmFkZHJfb3V0KTsKKwogCXJldHVy biBjcmM7CiB9CiAKQEAgLTQ0LDggKzE0NSw4IEBAIHZvaWQgdmttc19jcmNfd29ya19oYW5kbGUo c3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCXN0cnVjdCB2a21zX2RldmljZSAqdmRldiA9IGNv bnRhaW5lcl9vZihvdXQsIHN0cnVjdCB2a21zX2RldmljZSwKIAkJCQkJCW91dHB1dCk7CiAJc3Ry dWN0IHZrbXNfY3JjX2RhdGEgKnByaW1hcnlfY3JjID0gTlVMTDsKKwlzdHJ1Y3Qgdmttc19jcmNf ZGF0YSAqY3Vyc29yX2NyYyA9IE5VTEw7CiAJc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7Ci0KIAl1 MzIgY3JjMzIgPSAwOwogCiAJZHJtX2Zvcl9lYWNoX3BsYW5lKHBsYW5lLCAmdmRldi0+ZHJtKSB7 CkBAIC01OCwxNCArMTU5LDE0IEBAIHZvaWQgdmttc19jcmNfd29ya19oYW5kbGUoc3RydWN0IHdv cmtfc3RydWN0ICp3b3JrKQogCQlpZiAoZHJtX2ZyYW1lYnVmZmVyX3JlYWRfcmVmY291bnQoJmNy Y19kYXRhLT5mYikgPT0gMCkKIAkJCWNvbnRpbnVlOwogCi0JCWlmIChwbGFuZS0+dHlwZSA9PSBE Uk1fUExBTkVfVFlQRV9QUklNQVJZKSB7CisJCWlmIChwbGFuZS0+dHlwZSA9PSBEUk1fUExBTkVf VFlQRV9QUklNQVJZKQogCQkJcHJpbWFyeV9jcmMgPSBjcmNfZGF0YTsKLQkJCWJyZWFrOwotCQl9 CisJCWVsc2UKKwkJCWN1cnNvcl9jcmMgPSBjcmNfZGF0YTsKIAl9CiAKIAlpZiAocHJpbWFyeV9j cmMpCi0JCWNyYzMyID0gX3ZrbXNfZ2V0X2NyYyhwcmltYXJ5X2NyYyk7CisJCWNyYzMyID0gX3Zr bXNfZ2V0X2NyYyhwcmltYXJ5X2NyYywgY3Vyc29yX2NyYyk7CiAKIAlkcm1fY3J0Y19hZGRfY3Jj X2VudHJ5KGNydGMsIHRydWUsIGNydGNfc3RhdGUtPm5fZnJhbWUsICZjcmMzMik7CiB9CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJt L3ZrbXMvdmttc19kcnYuaAppbmRleCAzNmU1MjRmNzkxZmUuLjE3Mzg3NWRjMzYxZSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vdmttcy92a21zX2Rydi5oCkBAIC0yNSw4ICsyNSwxMSBAQCBzdGF0aWMgY29uc3QgdTMyIHZr bXNfY3Vyc29yX2Zvcm1hdHNbXSA9IHsKIH07CiAKIHN0cnVjdCB2a21zX2NyY19kYXRhIHsKLQlz dHJ1Y3QgZHJtX3JlY3Qgc3JjOwogCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgZmI7CisJc3RydWN0 IGRybV9yZWN0IHNyYywgZHN0OworCXVuc2lnbmVkIGludCBvZmZzZXQ7CisJdW5zaWduZWQgaW50 IHBpdGNoOworCXVuc2lnbmVkIGludCBjcHA7CiB9OwogCiAvKioKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS92a21zL3ZrbXNfcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNf cGxhbmUuYwppbmRleCA0MjgyNDdkNDAzZGMuLjcwNDEwMDczOTZhZSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL3ZrbXMvdmttc19wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92a21z L3ZrbXNfcGxhbmUuYwpAQCAtODUsMTYgKzg1LDIyIEBAIHN0YXRpYyB2b2lkIHZrbXNfcGxhbmVf YXRvbWljX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJCQkgICAgIHN0cnVjdCBk cm1fcGxhbmVfc3RhdGUgKm9sZF9zdGF0ZSkKIHsKIAlzdHJ1Y3Qgdmttc19wbGFuZV9zdGF0ZSAq dmttc19wbGFuZV9zdGF0ZTsKKwlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHBsYW5lLT5z dGF0ZS0+ZmI7CiAJc3RydWN0IHZrbXNfY3JjX2RhdGEgKmNyY19kYXRhOwogCi0JaWYgKCFwbGFu ZS0+c3RhdGUtPmNydGMgfHwgIXBsYW5lLT5zdGF0ZS0+ZmIpCisJaWYgKCFwbGFuZS0+c3RhdGUt PmNydGMgfHwgIWZiKQogCQlyZXR1cm47CiAKIAl2a21zX3BsYW5lX3N0YXRlID0gdG9fdmttc19w bGFuZV9zdGF0ZShwbGFuZS0+c3RhdGUpOworCiAJY3JjX2RhdGEgPSB2a21zX3BsYW5lX3N0YXRl LT5jcmNfZGF0YTsKIAltZW1jcHkoJmNyY19kYXRhLT5zcmMsICZwbGFuZS0+c3RhdGUtPnNyYywg c2l6ZW9mKHN0cnVjdCBkcm1fcmVjdCkpOwotCW1lbWNweSgmY3JjX2RhdGEtPmZiLCBwbGFuZS0+ c3RhdGUtPmZiLCBzaXplb2Yoc3RydWN0IGRybV9mcmFtZWJ1ZmZlcikpOworCW1lbWNweSgmY3Jj X2RhdGEtPmRzdCwgJnBsYW5lLT5zdGF0ZS0+ZHN0LCBzaXplb2Yoc3RydWN0IGRybV9yZWN0KSk7 CisJbWVtY3B5KCZjcmNfZGF0YS0+ZmIsIGZiLCBzaXplb2Yoc3RydWN0IGRybV9mcmFtZWJ1ZmZl cikpOwogCWRybV9mcmFtZWJ1ZmZlcl9nZXQoJmNyY19kYXRhLT5mYik7CisJY3JjX2RhdGEtPm9m ZnNldCA9IGZiLT5vZmZzZXRzWzBdOworCWNyY19kYXRhLT5waXRjaCA9IGZiLT5waXRjaGVzWzBd OworCWNyY19kYXRhLT5jcHAgPSBmYi0+Zm9ybWF0LT5jcHBbMF07CiB9CiAKIHN0YXRpYyBpbnQg dmttc19wbGFuZV9hdG9taWNfY2hlY2soc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCi0tIAoyLjE3 LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1k ZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=