From mboxrd@z Thu Jan 1 00:00:00 1970 From: ankitprasad.r.sharma@intel.com Subject: [PATCH 3/3] igt/gem_stolen: Check for available stolen memory size Date: Fri, 3 Jun 2016 14:21:31 +0530 Message-ID: <1464943891-15470-3-git-send-email-ankitprasad.r.sharma@intel.com> References: <1464943891-15470-1-git-send-email-ankitprasad.r.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 587816ED3A for ; Fri, 3 Jun 2016 09:17:19 +0000 (UTC) In-Reply-To: <1464943891-15470-1-git-send-email-ankitprasad.r.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 Cc: akash.goel@intel.com, Ankitprasad Sharma List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQW5raXRwcmFzYWQgU2hhcm1hIDxhbmtpdHByYXNhZC5yLnNoYXJtYUBpbnRlbC5jb20+ CgpDaGVjayBmb3IgYXZhaWxhYmxlIHN0b2xlbiBtZW1vcnkgc2l6ZSBiZWZvcmUgYXR0ZW1wdGlu ZyB0byBydW4KdGhlIHN0b2xlbiBtZW1vcnkgdGVzdHMuIFRoaXMgd2F5IHdlIG1ha2Ugc3VyZSB0 aGF0IHdlIGRvIG5vdApjcmVhdGUgb2JqZWN0cyBmcm9tIHN0b2xlbiBtZW1vcnkgd2l0aG91dCBr bm93aW5nIHRoZSBhdmFpbGFibGUgc2l6ZS4KClRoaXMgY2hlY2tzIGlmIHRoZSBrZXJuZWwgc3Vw cG9ydHMgY3JlYXRpb24gb2Ygc3RvbGVuIGJhY2tlZCBvYmplY3RzCmJlZm9yZSBkb2luZyBhbnkg b3BlcmF0aW9uIG9uIHN0b2xlbiBiYWNrZWQgb2JqZWN0cy4KCkFsc28gY29ycmVjdGluZyB0aGUg Q1JFQVRFX1ZFUlNJT04gaW9jdGwgbnVtYmVyIGluIGdldHBhcmFtIGlvY3RsLApkdWUgdG8ga2Vy bmVsIGNoYW5nZXMgYWRkZWQgaW4gYmV0d2Vlbi4KClNpZ25lZC1vZmYtYnk6IEFua2l0cHJhc2Fk IFNoYXJtYSA8YW5raXRwcmFzYWQuci5zaGFybWFAaW50ZWwuY29tPgotLS0KIGxpYi9pb2N0bF93 cmFwcGVycy5jIHwgNDggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKystCiBsaWIvaW9jdGxfd3JhcHBlcnMuaCB8ICA3ICsrKysrLS0KIHRlc3RzL2dlbV9jcmVh dGUuYyAgIHwgIDIgKy0KIHRlc3RzL2dlbV9wcmVhZC5jICAgIHwgIDMgKysrCiB0ZXN0cy9nZW1f cHdyaXRlLmMgICB8ICAyICsrCiB0ZXN0cy9nZW1fc3RvbGVuLmMgICB8IDE2ICsrKysrKysrLS0t LS0tLS0KIDYgZmlsZXMgY2hhbmdlZCwgNjYgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvbGliL2lvY3RsX3dyYXBwZXJzLmMgYi9saWIvaW9jdGxfd3JhcHBlcnMu YwppbmRleCBmMjI0MDkxLi5lNjEyMGJiIDEwMDY0NAotLS0gYS9saWIvaW9jdGxfd3JhcHBlcnMu YworKysgYi9saWIvaW9jdGxfd3JhcHBlcnMuYwpAQCAtNDU1LDcgKzQ1NSw3IEBAIGJvb2wgZ2Vt X2NyZWF0ZV9faGFzX3N0b2xlbl9zdXBwb3J0KGludCBmZCkKIAogCWlmIChoYXNfc3RvbGVuX3N1 cHBvcnQgPCAwKSB7CiAJCW1lbXNldCgmZ3AsIDAsIHNpemVvZihncCkpOwotCQlncC5wYXJhbSA9 IDM2OyAvKiBDUkVBVEVfVkVSU0lPTiAqLworCQlncC5wYXJhbSA9IDM4OyAvKiBDUkVBVEVfVkVS U0lPTiAqLwogCQlncC52YWx1ZSA9ICZ2YWw7CiAKIAkJLyogRG8gd2UgaGF2ZSB0aGUgZXh0ZW5k ZWQgZ2VtX2NyZWF0ZV9pb2N0bD8gKi8KQEAgLTEyMzAsNiArMTIzMCw1MiBAQCBib29sIGdlbV9o YXNfYnNkMihpbnQgZmQpCiAJCWhhc19ic2QyID0gaGFzX3BhcmFtKGZkLCBMT0NBTF9JOTE1X1BB UkFNX0hBU19CU0QyKTsKIAlyZXR1cm4gaGFzX2JzZDI7CiB9CisKK3N0cnVjdCBsb2NhbF9pOTE1 X2dlbV9nZXRfYXBlcnR1cmUgeworCV9fdTY0IGFwZXJfc2l6ZTsKKwlfX3U2NCBhcGVyX2F2YWls YWJsZV9zaXplOworCV9fdTY0IHZlcnNpb247CisJX191NjQgbWFwX3RvdGFsX3NpemU7CisJX191 NjQgc3RvbGVuX3RvdGFsX3NpemU7Cit9OworI2RlZmluZSBEUk1fSTkxNV9HRU1fR0VUX0FQRVJU VVJFCTB4MjMKKyNkZWZpbmUgTE9DQUxfSU9DVExfSTkxNV9HRU1fR0VUX0FQRVJUVVJFIERSTV9J T1IgIChEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX0dFVF9BUEVSVFVSRSwgc3RydWN0 IGxvY2FsX2k5MTVfZ2VtX2dldF9hcGVydHVyZSkKKy8qKgorICogZ2VtX3RvdGFsX21hcHBhYmxl X3NpemU6CisgKiBAZmQ6IG9wZW4gaTkxNSBkcm0gZmlsZSBkZXNjcmlwdG9yCisgKgorICogRmVh dHVyZSB0ZXN0IG1hY3JvIHRvIHF1ZXJ5IHRoZSBrZXJuZWwgZm9yIHRoZSB0b3RhbCBtYXBwYWJs ZSBzaXplLgorICoKKyAqIFJldHVybnM6IFRvdGFsIG1hcHBhYmxlIGFkZHJlc3Mgc3BhY2Ugc2l6 ZS4KKyAqLwordWludDY0X3QgZ2VtX3RvdGFsX21hcHBhYmxlX3NpemUoaW50IGZkKQoreworCXN0 cnVjdCBsb2NhbF9pOTE1X2dlbV9nZXRfYXBlcnR1cmUgYXBlcnR1cmU7CisKKwltZW1zZXQoJmFw ZXJ0dXJlLCAwLCBzaXplb2YoYXBlcnR1cmUpKTsKKwlkb19pb2N0bChmZCwgTE9DQUxfSU9DVExf STkxNV9HRU1fR0VUX0FQRVJUVVJFLCAmYXBlcnR1cmUpOworCisJcmV0dXJuIGFwZXJ0dXJlLm1h cF90b3RhbF9zaXplOworfQorCisvKioKKyAqIGdlbV90b3RhbF9zdG9sZW5fc2l6ZToKKyAqIEBm ZDogb3BlbiBpOTE1IGRybSBmaWxlIGRlc2NyaXB0b3IKKyAqCisgKiBGZWF0dXJlIHRlc3QgbWFj cm8gdG8gcXVlcnkgdGhlIGtlcm5lbCBmb3IgdGhlIHRvdGFsIHN0b2xlbiBzaXplLgorICoKKyAq IFJldHVybnM6IFRvdGFsIHN0b2xlbiBtZW1vcnkuCisgKi8KK3VpbnQ2NF90IGdlbV90b3RhbF9z dG9sZW5fc2l6ZShpbnQgZmQpCit7CisJc3RydWN0IGxvY2FsX2k5MTVfZ2VtX2dldF9hcGVydHVy ZSBhcGVydHVyZTsKKworCW1lbXNldCgmYXBlcnR1cmUsIDAsIHNpemVvZihhcGVydHVyZSkpOwor CWRvX2lvY3RsKGZkLCBMT0NBTF9JT0NUTF9JOTE1X0dFTV9HRVRfQVBFUlRVUkUsICZhcGVydHVy ZSk7CisKKwlyZXR1cm4gYXBlcnR1cmUuc3RvbGVuX3RvdGFsX3NpemU7Cit9CisKIC8qKgogICog Z2VtX2F2YWlsYWJsZV9hcGVydHVyZV9zaXplOgogICogQGZkOiBvcGVuIGk5MTUgZHJtIGZpbGUg ZGVzY3JpcHRvcgpkaWZmIC0tZ2l0IGEvbGliL2lvY3RsX3dyYXBwZXJzLmggYi9saWIvaW9jdGxf d3JhcHBlcnMuaAppbmRleCBmM2JkMjNmLi5hZTA0YjM1IDEwMDY0NAotLS0gYS9saWIvaW9jdGxf d3JhcHBlcnMuaAorKysgYi9saWIvaW9jdGxfd3JhcHBlcnMuaApAQCAtOTMsOCArOTMsOSBAQCB2 b2lkICpfX2dlbV9tbWFwX193YyhpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSwgdWludDY0X3Qgb2Zm c2V0LCB1aW50NjRfdCBzaXplLCB1bgogICogVGVzdCBtYWNybyB0byBxdWVyeSB3aGV0aGVyIHN1 cHBvcnQgZm9yIGFsbG9jYXRpbmcgb2JqZWN0cyBmcm9tIHN0b2xlbgogICogbWVtb3J5IGlzIGF2 YWlsYWJsZS4gQXV0b21hdGljYWxseSBza2lwcyB0aHJvdWdoIGlndF9yZXF1aXJlKCkgaWYgbm90 LgogICovCi0jZGVmaW5lIGdlbV9yZXF1aXJlX3N0b2xlbl9zdXBwb3J0KGZkKSBcCi0JCQlpZ3Rf cmVxdWlyZShnZW1fY3JlYXRlX19oYXNfc3RvbGVuX3N1cHBvcnQoZmQpKQorI2RlZmluZSBnZW1f cmVxdWlyZV9zdG9sZW5fc3VwcG9ydChmZCwgc2l6ZSkgXAorCQkJaWd0X3JlcXVpcmUoZ2VtX2Ny ZWF0ZV9faGFzX3N0b2xlbl9zdXBwb3J0KGZkKSAmJiBcCisJCQkJICAgIChnZW1fdG90YWxfc3Rv bGVuX3NpemUoZmQpID4gc2l6ZSkpCiAKIC8qKgogICogZ2VtX3JlcXVpcmVfbW1hcF93YzoKQEAg LTE1Myw2ICsxNTQsOCBAQCBpbnQgZ2VtX2d0dF90eXBlKGludCBmZCk7CiBib29sIGdlbV91c2Vz X3BwZ3R0KGludCBmZCk7CiBib29sIGdlbV91c2VzX2Z1bGxfcHBndHQoaW50IGZkKTsKIGludCBn ZW1fYXZhaWxhYmxlX2ZlbmNlcyhpbnQgZmQpOwordWludDY0X3QgZ2VtX3RvdGFsX21hcHBhYmxl X3NpemUoaW50IGZkKTsKK3VpbnQ2NF90IGdlbV90b3RhbF9zdG9sZW5fc2l6ZShpbnQgZmQpOwog dWludDY0X3QgZ2VtX2F2YWlsYWJsZV9hcGVydHVyZV9zaXplKGludCBmZCk7CiB1aW50NjRfdCBn ZW1fYXBlcnR1cmVfc2l6ZShpbnQgZmQpOwogdWludDY0X3QgZ2VtX2dsb2JhbF9hcGVydHVyZV9z aXplKGludCBmZCk7CmRpZmYgLS1naXQgYS90ZXN0cy9nZW1fY3JlYXRlLmMgYi90ZXN0cy9nZW1f Y3JlYXRlLmMKaW5kZXggMjVmNzVkNC4uYjI1MTIxNiAxMDA2NDQKLS0tIGEvdGVzdHMvZ2VtX2Ny ZWF0ZS5jCisrKyBiL3Rlc3RzL2dlbV9jcmVhdGUuYwpAQCAtNzgsNyArNzgsNyBAQCBzdGF0aWMg dm9pZCBpbnZhbGlkX2ZsYWdfdGVzdChpbnQgZmQpCiB7CiAJaW50IHJldDsKIAotCWdlbV9yZXF1 aXJlX3N0b2xlbl9zdXBwb3J0KGZkKTsKKwlnZW1fcmVxdWlyZV9zdG9sZW5fc3VwcG9ydChmZCwg UEFHRV9TSVpFKTsKIAogCWNyZWF0ZS5oYW5kbGUgPSAwOwogCWNyZWF0ZS5zaXplID0gUEFHRV9T SVpFOwpkaWZmIC0tZ2l0IGEvdGVzdHMvZ2VtX3ByZWFkLmMgYi90ZXN0cy9nZW1fcHJlYWQuYwpp bmRleCBhZmEwNzJkLi4zZGE4YmVkIDEwMDY0NAotLS0gYS90ZXN0cy9nZW1fcHJlYWQuYworKysg Yi90ZXN0cy9nZW1fcHJlYWQuYwpAQCAtMTUyLDYgKzE1Miw3IEBAIGludCBtYWluKGludCBhcmdj LCBjaGFyICoqYXJndikKIAl9CiAKIAlpZ3Rfc3VidGVzdCgic3RvbGVuLW5vcm1hbCIpIHsKKwkJ Z2VtX3JlcXVpcmVfc3RvbGVuX3N1cHBvcnQoZmQsIE9CSkVDVF9TSVpFKTsKIAkJZm9yIChjb3Vu dCA9IDE7IGNvdW50IDw9IDE8PDE3OyBjb3VudCA8PD0gMSkgewogCQkJc3RydWN0IHRpbWV2YWwg c3RhcnQsIGVuZDsKIApAQCAtMTY3LDYgKzE2OCw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFy ICoqYXJndikKIAl9CiAJZm9yIChjID0gY2FjaGU7IGMtPmxldmVsICE9IC0xOyBjKyspIHsKIAkJ aWd0X3N1YnRlc3RfZigic3RvbGVuLSVzIiwgYy0+bmFtZSkgeworCQkJZ2VtX3JlcXVpcmVfc3Rv bGVuX3N1cHBvcnQoZmQsIE9CSkVDVF9TSVpFKTsKIAkJCWdlbV9zZXRfY2FjaGluZyhmZCwgc3Jj X3N0b2xlbiwgYy0+bGV2ZWwpOwogCiAJCQlmb3IgKGNvdW50ID0gMTsgY291bnQgPD0gMTw8MTc7 IGNvdW50IDw8PSAxKSB7CkBAIC0xOTAsNiArMTkyLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNo YXIgKiphcmd2KQogCSAqIHVzZXIgc3BhY2UgYnVmZmVyCiAJICovCiAJaWd0X3N1YnRlc3QoInBh Z2VmYXVsdC1wcmVhZCIpIHsKKwkJZ2VtX3JlcXVpcmVfc3RvbGVuX3N1cHBvcnQoZmQsIExBUkdF X09CSkVDVF9TSVpFKTsKIAkJbGFyZ2Vfc3RvbGVuID0gZ2VtX2NyZWF0ZV9zdG9sZW4oZmQsIExB UkdFX09CSkVDVF9TSVpFKTsKIAkJc3RvbGVuX25vcGZfdXNlciA9ICh1aW50MzJfdCAqKSBtbWFw KE5VTEwsIExBUkdFX09CSkVDVF9TSVpFLAogCQkJCQkJUFJPVF9XUklURSwKZGlmZiAtLWdpdCBh L3Rlc3RzL2dlbV9wd3JpdGUuYyBiL3Rlc3RzL2dlbV9wd3JpdGUuYwppbmRleCBhMzIyZjkxLi5k ZTcyMGM1IDEwMDY0NAotLS0gYS90ZXN0cy9nZW1fcHdyaXRlLmMKKysrIGIvdGVzdHMvZ2VtX3B3 cml0ZS5jCkBAIC0yODAsNiArMjgwLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2 KQogCX0KIAogCWlndF9zdWJ0ZXN0KCJzdG9sZW4tbm9ybWFsIikgeworCQlnZW1fcmVxdWlyZV9z dG9sZW5fc3VwcG9ydChmZCwgT0JKRUNUX1NJWkUpOwogCQlmb3IgKGNvdW50ID0gMTsgY291bnQg PD0gMTw8MTc7IGNvdW50IDw8PSAxKSB7CiAJCQlzdHJ1Y3QgdGltZXZhbCBzdGFydCwgZW5kOwog CkBAIC0yOTcsNiArMjk4LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCiAJ Zm9yIChjID0gY2FjaGU7IGMtPmxldmVsICE9IC0xOyBjKyspIHsKIAkJaWd0X3N1YnRlc3RfZigi c3RvbGVuLSVzIiwgYy0+bmFtZSkgeworCQkJZ2VtX3JlcXVpcmVfc3RvbGVuX3N1cHBvcnQoZmQs IE9CSkVDVF9TSVpFKTsKIAkJCWdlbV9zZXRfY2FjaGluZyhmZCwgZHN0LCBjLT5sZXZlbCk7CiAJ CQlmb3IgKGNvdW50ID0gMTsgY291bnQgPD0gMTw8MTc7IGNvdW50IDw8PSAxKSB7CiAJCQkJc3Ry dWN0IHRpbWV2YWwgc3RhcnQsIGVuZDsKZGlmZiAtLWdpdCBhL3Rlc3RzL2dlbV9zdG9sZW4uYyBi L3Rlc3RzL2dlbV9zdG9sZW4uYwppbmRleCA3ZDMyOWRkLi41NDE1ODViIDEwMDY0NAotLS0gYS90 ZXN0cy9nZW1fc3RvbGVuLmMKKysrIGIvdGVzdHMvZ2VtX3N0b2xlbi5jCkBAIC0xMDUsNyArMTA1 LDcgQEAgc3RhdGljIHZvaWQgc3RvbGVuX3B3cml0ZShpbnQgZmQpCiAJZm9yIChpID0gMDsgaSA8 IFNJWkUvRFdPUkRfU0laRTsgaSsrKQogCQlidWZbaV0gPSBEQVRBOwogCi0JZ2VtX3JlcXVpcmVf c3RvbGVuX3N1cHBvcnQoZmQpOworCWdlbV9yZXF1aXJlX3N0b2xlbl9zdXBwb3J0KGZkLCBTSVpF KTsKIAogCWhhbmRsZSA9IGdlbV9jcmVhdGVfc3RvbGVuKGZkLCBTSVpFKTsKIApAQCAtMTM1LDcg KzEzNSw3IEBAIHN0YXRpYyB2b2lkIHN0b2xlbl9wcmVhZChpbnQgZmQpCiAKIAlDTEVBUihidWYp OwogCi0JZ2VtX3JlcXVpcmVfc3RvbGVuX3N1cHBvcnQoZmQpOworCWdlbV9yZXF1aXJlX3N0b2xl bl9zdXBwb3J0KGZkLCBTSVpFKTsKIAogCWhhbmRsZSA9IGdlbV9jcmVhdGVfc3RvbGVuKGZkLCBT SVpFKTsKIApAQCAtMTY1LDcgKzE2NSw3IEBAIHN0YXRpYyB2b2lkIGNvcHlfdGVzdChpbnQgZmQp CiAJZHJtX2ludGVsX2JvICpzcmMsICpkZXN0OwogCXVpbnQzMl90IHNyY19oYW5kbGUgPSAwLCBk ZXN0X2hhbmRsZSA9IDA7CiAKLQlnZW1fcmVxdWlyZV9zdG9sZW5fc3VwcG9ydChmZCk7CisJZ2Vt X3JlcXVpcmVfc3RvbGVuX3N1cHBvcnQoZmQsIFNJWkUpOwogCiAJc3JjX2hhbmRsZSA9IGdlbV9j cmVhdGVfc3RvbGVuKGZkLCBTSVpFKTsKIAlkZXN0X2hhbmRsZSA9IGdlbV9jcmVhdGVfc3RvbGVu KGZkLCBTSVpFKTsKQEAgLTE5MSw3ICsxOTEsNyBAQCBzdGF0aWMgdm9pZCB2ZXJpZnlfb2JqZWN0 X2NsZWFyKGludCBmZCkKIAl1aW50MzJfdCAqdmlydDsKIAlpbnQgaSwgcmV0OwogCi0JZ2VtX3Jl cXVpcmVfc3RvbGVuX3N1cHBvcnQoZmQpOworCWdlbV9yZXF1aXJlX3N0b2xlbl9zdXBwb3J0KGZk LCBTSVpFKTsKIAogCWhhbmRsZSA9IGdlbV9jcmVhdGVfc3RvbGVuKGZkLCBTSVpFKTsKIApAQCAt MjE1LDcgKzIxNSw3IEBAIHN0YXRpYyB2b2lkIHN0b2xlbl9sYXJnZV9vYmpfYWxsb2MoaW50IGZk KQogewogCXVpbnQzMl90IGhhbmRsZSA9IDA7CiAKLQlnZW1fcmVxdWlyZV9zdG9sZW5fc3VwcG9y dChmZCk7CisJZ2VtX3JlcXVpcmVfc3RvbGVuX3N1cHBvcnQoZmQsIFNJWkUpOwogCWhhbmRsZSA9 IF9fZ2VtX2NyZWF0ZV9zdG9sZW4oZmQsICh1bnNpZ25lZCBsb25nIGxvbmcpIExBUkdFX1NJWkUg KyA0MDk2KTsKIAlpZ3RfYXNzZXJ0KCFoYW5kbGUpOwogfQpAQCAtMjMwLDcgKzIzMCw3IEBAIHN0 YXRpYyB2b2lkIHN0b2xlbl9maWxsX3B1cmdlX3Rlc3QoaW50IGZkKQogCXVpbnQzMl90ICp2aXJ0 OwogCWludCByZXRhaW5lZDsKIAotCWdlbV9yZXF1aXJlX3N0b2xlbl9zdXBwb3J0KGZkKTsKKwln ZW1fcmVxdWlyZV9zdG9sZW5fc3VwcG9ydChmZCwgU0laRSk7CiAKIAkvKiBFeGhhdXN0IFN0b2xl biBzcGFjZSAqLwogCWRvIHsKQEAgLTI5OSw3ICsyOTksNyBAQCBzdGF0aWMgdm9pZCBzdG9sZW5f aGliZXJuYXRlKGludCBmZCkKIAl1aW50MzJfdCBoYW5kbGVbTUFYX09CSkVDVFNdLCBzcmNfaGFu ZGxlOwogCXVpbnQzMl90ICp2aXJ0OwogCi0JZ2VtX3JlcXVpcmVfc3RvbGVuX3N1cHBvcnQoZmQp OworCWdlbV9yZXF1aXJlX3N0b2xlbl9zdXBwb3J0KGZkLCBTSVpFKTsKIAogCXNyY19oYW5kbGUg PSBnZW1fY3JlYXRlKGZkLCBTSVpFKTsKIAlzcmMgPSBnZW1faGFuZGxlX3RvX2xpYmRybV9ibyhi dWZtZ3IsIGZkLApAQCAtMzg4LDcgKzM4OCw3IEBAIHN0b2xlbl9ub19tbWFwKGludCBmZCkKIAl2 b2lkICphZGRyOwogCXVpbnQzMl90IGhhbmRsZSA9IDA7CiAKLQlnZW1fcmVxdWlyZV9zdG9sZW5f c3VwcG9ydChmZCk7CisJZ2VtX3JlcXVpcmVfc3RvbGVuX3N1cHBvcnQoZmQsIFNJWkUpOwogCiAJ aGFuZGxlID0gZ2VtX2NyZWF0ZV9zdG9sZW4oZmQsIFNJWkUpOwogCi0tIAoxLjkuMQoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==