From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas De Marchi Subject: [PATCH v3 2/2] drm/i915: kill resource streamer Date: Thu, 19 Jul 2018 10:05:57 -0700 Message-ID: <20180719170557.10729-2-lucas.demarchi@intel.com> References: <20180719170557.10729-1-lucas.demarchi@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 ESMTPS id F07E56EE56 for ; Thu, 19 Jul 2018 17:06:17 +0000 (UTC) In-Reply-To: <20180719170557.10729-1-lucas.demarchi@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: daniel.vetter@ffwll.ch, Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org QWZ0ZXIgZGlzYWJsaW5nIHJlc291cmNlIHN0cmVhbWVyIG9uIElDTCAoZHVlIHRvIGl0IGFjdHVh bGx5IG5vdApleGlzdGluZyB0aGVyZSksIEkgZ290IGZlZWRiYWNrIHRoYXQgdGhlcmUgaGF2ZSBi ZWVuIHNvbWUgZXhwZXJpbWVudGFsCnBhdGNoZXMgZm9yIG1lc2EgdG8gdXNlIFJTIHllYXJzIGFn bywgYnV0IG5vdGhpbmcgZXZlciBsYW5kZWQgb3Igc2hpcHBlZApiZWNhdXNlIHRoZXJlIHdhcyBu byBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudC4KClRoaXMgcmVtb3ZlcyBpdCBmcm9tIGtlcm5lbCBr ZWVwaW5nIHRoZSB1YXBpIGRlZmluZXMgYXJvdW5kIGZvcgpjb21wYXRpYmlsaXR5LgoKdjI6IC0g cmUtYWRkIHRoZSBpbmFkdmVydGVudCByZW1vdmFsIG9mIENUWF9DVFJMX0lOSElCSVRfU1lOX0NU WF9TV0lUQ0gKICAgIC0gZG9uJ3QgYm90aGVyIHRyeWluZyB0byBkb2N1bWVudCByZW1vdmVkIHBh cmFtcyBvbiB1YXBpIGhlYWRlcjoKICAgICAgYXBwbGljYXRpb25zIHNob3VsZCBrbm93IHRoYXQg ZnJvbSB0aGUgcXVlcnkuCiAgICAgIChmcm9tIENocmlzKQoKdjM6IC0gZGlzYWJsZSBDVFhfQ1RS TF9SU19DVFhfRU5BQkxFIGlzdGVhZCBvZiByZW1vdmluZyBpdAogICAgLSByZXdvcmQgY29tbWl0 IG1lc3NhZ2UgYWZ0ZXIgRGFuaWVsZSBjb25maXJtZWQgbm8gcGVyZm9ybWFuY2UKICAgICAgcmVn cmVzc2lvbiBvbiBoaXMgbWFjaGluZQogICAgLSByZXdvcmQgY29tbWl0IG1lc3NhZ2UgdG8gbWFr ZSBjbGVhciBSUyBpcyBiZWluZyByZW1vdmVkIGR1ZSB0bwogICAgICBuZXZlciBiZWVuIHVzZWQK ClNpZ25lZC1vZmYtYnk6IEx1Y2FzIERlIE1hcmNoaSA8bHVjYXMuZGVtYXJjaGlAaW50ZWwuY29t PgpBY2tlZC1ieTogRGFuaWVsZSBDZXJhb2xvIFNwdXJpbyA8ZGFuaWVsZS5jZXJhb2xvc3B1cmlv QGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jICAgICAgICAg ICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICAgIHwg IDIgLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyB8IDE1ICsr LS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYyAgICAgICAgICAg IHwgIDQgLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uaCAgIHwg IDEgLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgICAgIHwgMTAgKysr Ky0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jICAgIHwgIDQg Ky0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oICAgIHwgIDEgLQog OCBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDMxIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5jCmluZGV4IDM4MzRiZDc1OGEyZS4uYjRiNDM0MDJjYzBjIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmMKQEAgLTM3Myw3ICszNzMsNyBAQCBzdGF0aWMgaW50IGk5MTVfZ2V0 cGFyYW1faW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJCXZhbHVl ID0gMjsKIAkJYnJlYWs7CiAJY2FzZSBJOTE1X1BBUkFNX0hBU19SRVNPVVJDRV9TVFJFQU1FUjoK LQkJdmFsdWUgPSBIQVNfUkVTT1VSQ0VfU1RSRUFNRVIoZGV2X3ByaXYpOworCQl2YWx1ZSA9IDA7 CiAJCWJyZWFrOwogCWNhc2UgSTkxNV9QQVJBTV9IQVNfUE9PTEVEX0VVOgogCQl2YWx1ZSA9IEhB U19QT09MRURfRVUoZGV2X3ByaXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggNGZiOTM3 Mzk5NDQwLi4wYjIyY2EwYjI0YTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMjYxMiw4 ICsyNjEyLDYgQEAgaW50ZWxfaW5mbyhjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiAjZGVmaW5lIFVTRVNfR1VDX1NVQk1JU1NJT04oZGV2X3ByaXYpCWludGVsX3VjX2lz X3VzaW5nX2d1Y19zdWJtaXNzaW9uKCkKICNkZWZpbmUgVVNFU19IVUMoZGV2X3ByaXYpCQlpbnRl bF91Y19pc191c2luZ19odWMoKQogCi0jZGVmaW5lIEhBU19SRVNPVVJDRV9TVFJFQU1FUihkZXZf cHJpdikgKChkZXZfcHJpdiktPmluZm8uaGFzX3Jlc291cmNlX3N0cmVhbWVyKQotCiAjZGVmaW5l IEhBU19QT09MRURfRVUoZGV2X3ByaXYpCSgoZGV2X3ByaXYpLT5pbmZvLmhhc19wb29sZWRfZXUp CiAKICNkZWZpbmUgSU5URUxfUENIX0RFVklDRV9JRF9NQVNLCQkweGZmODAKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwppbmRleCAxOTMyYmMyMjc5NDIuLmNhMjFh MDhiMmJlOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1 ZmZlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwpA QCAtMjIyMSwxOSArMjIyMSw4IEBAIGk5MTVfZ2VtX2RvX2V4ZWNidWZmZXIoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKIAlpZiAoIWViLmVuZ2luZSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQlpZiAo YXJncy0+ZmxhZ3MgJiBJOTE1X0VYRUNfUkVTT1VSQ0VfU1RSRUFNRVIpIHsKLQkJaWYgKCFIQVNf UkVTT1VSQ0VfU1RSRUFNRVIoZWIuaTkxNSkpIHsKLQkJCURSTV9ERUJVRygiUlMgaXMgb25seSBh bGxvd2VkIGZvciBIYXN3ZWxsIGFuZCBHZW44IC0gR2VuMTBcbiIpOwotCQkJcmV0dXJuIC1FSU5W QUw7Ci0JCX0KLQkJaWYgKGViLmVuZ2luZS0+aWQgIT0gUkNTKSB7Ci0JCQlEUk1fREVCVUcoIlJT IGlzIG5vdCBhdmFpbGFibGUgb24gJXNcbiIsCi0JCQkJIGViLmVuZ2luZS0+bmFtZSk7Ci0JCQly ZXR1cm4gLUVJTlZBTDsKLQkJfQotCi0JCWViLmJhdGNoX2ZsYWdzIHw9IEk5MTVfRElTUEFUQ0hf UlM7Ci0JfQorCWlmIChhcmdzLT5mbGFncyAmIEk5MTVfRVhFQ19SRVNPVVJDRV9TVFJFQU1FUikK KwkJcmV0dXJuIC1FSU5WQUw7CiAKIAlpZiAoYXJncy0+ZmxhZ3MgJiBJOTE1X0VYRUNfRkVOQ0Vf SU4pIHsKIAkJaW5fZmVuY2UgPSBzeW5jX2ZpbGVfZ2V0X2ZlbmNlKGxvd2VyXzMyX2JpdHMoYXJn cy0+cnN2ZDIpKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jCmluZGV4IDNhNGJiMDE3ZDY3Ni4uN2I1 NzBiYTkwZDlmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMKQEAgLTM2MCw3ICszNjAsNiBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX3ZhbGxleXZpZXdfaW5m byA9IHsKIAkuaGFzX2RkaSA9IDEsIFwKIAkuaGFzX2ZwZ2FfZGJnID0gMSwgXAogCS5oYXNfcHNy ID0gMSwgXAotCS5oYXNfcmVzb3VyY2Vfc3RyZWFtZXIgPSAxLCBcCiAJLmhhc19kcF9tc3QgPSAx LCBcCiAJLmhhc19yYzZwID0gMCAvKiBSQzZwIHJlbW92ZWQtYnkgSFNXICovLCBcCiAJLmhhc19y dW50aW1lX3BtID0gMQpAQCAtNDMzLDcgKzQzMiw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50 ZWxfZGV2aWNlX2luZm8gaW50ZWxfY2hlcnJ5dmlld19pbmZvID0gewogCS5yaW5nX21hc2sgPSBS RU5ERVJfUklORyB8IEJTRF9SSU5HIHwgQkxUX1JJTkcgfCBWRUJPWF9SSU5HLAogCS5oYXNfNjRi aXRfcmVsb2MgPSAxLAogCS5oYXNfcnVudGltZV9wbSA9IDEsCi0JLmhhc19yZXNvdXJjZV9zdHJl YW1lciA9IDEsCiAJLmhhc19yYzYgPSAxLAogCS5oYXNfbG9naWNhbF9yaW5nX2NvbnRleHRzID0g MSwKIAkuaGFzX2dtY2hfZGlzcGxheSA9IDEsCkBAIC01MDYsNyArNTA0LDYgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9za3lsYWtlX2d0NF9pbmZvID0gewog CS5oYXNfcnVudGltZV9wbSA9IDEsIFwKIAkuaGFzX3Bvb2xlZF9ldSA9IDAsIFwKIAkuaGFzX2Nz ciA9IDEsIFwKLQkuaGFzX3Jlc291cmNlX3N0cmVhbWVyID0gMSwgXAogCS5oYXNfcmM2ID0gMSwg XAogCS5oYXNfZHBfbXN0ID0gMSwgXAogCS5oYXNfbG9naWNhbF9yaW5nX2NvbnRleHRzID0gMSwg XApAQCAtNTkzLDcgKzU5MCw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2lu Zm8gaW50ZWxfY2Fubm9ubGFrZV9pbmZvID0gewogCUdFTigxMSksIFwKIAkuZGRiX3NpemUgPSAy MDQ4LCBcCiAJLmhhc19jc3IgPSAwLCBcCi0JLmhhc19yZXNvdXJjZV9zdHJlYW1lciA9IDAsIFwK IAkuaGFzX2xvZ2ljYWxfcmluZ19lbHNxID0gMQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVs X2RldmljZV9pbmZvIGludGVsX2ljZWxha2VfMTFfaW5mbyA9IHsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kZXZpY2VfaW5mby5oCmluZGV4IDYzM2Y5ZmJmNzJlYS4uNjgxNGNjN2RmY2QzIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmgKQEAgLTEwMyw3ICsxMDMs NiBAQCBlbnVtIGludGVsX3BsYXRmb3JtIHsKIAlmdW5jKGhhc19wc3IpOyBcCiAJZnVuYyhoYXNf cmM2KTsgXAogCWZ1bmMoaGFzX3JjNnApOyBcCi0JZnVuYyhoYXNfcmVzb3VyY2Vfc3RyZWFtZXIp OyBcCiAJZnVuYyhoYXNfcnVudGltZV9wbSk7IFwKIAlmdW5jKGhhc19zbm9vcCk7IFwKIAlmdW5j KHVuZmVuY2VkX25lZWRzX2FsaWdubWVudCk7IFwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5k ZXggMTc0NDc5MjMyZTk0Li4zNzI2NzA5YjhkZjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5j CkBAIC0yMDY2LDggKzIwNjYsNyBAQCBzdGF0aWMgaW50IGdlbjhfZW1pdF9iYl9zdGFydChzdHJ1 Y3QgaTkxNV9yZXF1ZXN0ICpycSwKIAogCS8qIEZJWE1FKEJEVyk6IEFkZHJlc3Mgc3BhY2UgYW5k IHNlY3VyaXR5IHNlbGVjdG9ycy4gKi8KIAkqY3MrKyA9IE1JX0JBVENIX0JVRkZFUl9TVEFSVF9H RU44IHwKLQkJKGZsYWdzICYgSTkxNV9ESVNQQVRDSF9TRUNVUkUgPyAwIDogQklUKDgpKSB8Ci0J CShmbGFncyAmIEk5MTVfRElTUEFUQ0hfUlMgPyBNSV9CQVRDSF9SRVNPVVJDRV9TVFJFQU1FUiA6 IDApOworCQkoZmxhZ3MgJiBJOTE1X0RJU1BBVENIX1NFQ1VSRSA/IDAgOiBCSVQoOCkpOwogCSpj cysrID0gbG93ZXJfMzJfYml0cyhvZmZzZXQpOwogCSpjcysrID0gdXBwZXJfMzJfYml0cyhvZmZz ZXQpOwogCkBAIC0yNTg1LDEwICsyNTg0LDkgQEAgc3RhdGljIHZvaWQgZXhlY2xpc3RzX2luaXRf cmVnX3N0YXRlKHUzMiAqcmVncywKIAogCUNUWF9SRUcocmVncywgQ1RYX0NPTlRFWFRfQ09OVFJP TCwgUklOR19DT05URVhUX0NPTlRST0woZW5naW5lKSwKIAkJX01BU0tFRF9CSVRfRElTQUJMRShD VFhfQ1RSTF9FTkdJTkVfQ1RYX1JFU1RPUkVfSU5ISUJJVCB8Ci0JCQkJICAgIENUWF9DVFJMX0VO R0lORV9DVFhfU0FWRV9JTkhJQklUKSB8Ci0JCV9NQVNLRURfQklUX0VOQUJMRShDVFhfQ1RSTF9J TkhJQklUX1NZTl9DVFhfU1dJVENIIHwKLQkJCQkgICAoSEFTX1JFU09VUkNFX1NUUkVBTUVSKGRl dl9wcml2KSA/Ci0JCQkJICAgQ1RYX0NUUkxfUlNfQ1RYX0VOQUJMRSA6IDApKSk7CisJCQkJICAg IENUWF9DVFJMX0VOR0lORV9DVFhfU0FWRV9JTkhJQklUIHwKKwkJCQkgICAgQ1RYX0NUUkxfUlNf Q1RYX0VOQUJMRSkgfAorCQlfTUFTS0VEX0JJVF9FTkFCTEUoQ1RYX0NUUkxfSU5ISUJJVF9TWU5f Q1RYX1NXSVRDSCkpOwogCUNUWF9SRUcocmVncywgQ1RYX1JJTkdfSEVBRCwgUklOR19IRUFEKGJh c2UpLCAwKTsKIAlDVFhfUkVHKHJlZ3MsIENUWF9SSU5HX1RBSUwsIFJJTkdfVEFJTChiYXNlKSwg MCk7CiAJQ1RYX1JFRyhyZWdzLCBDVFhfUklOR19CVUZGRVJfU1RBUlQsIFJJTkdfU1RBUlQoYmFz ZSksIDApOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZl ci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCmluZGV4IDMzZmFh ZDMxOTdmZS4uNzYzZjU2MDcyMzA4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9yaW5nYnVmZmVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1 ZmZlci5jCkBAIC0xOTgyLDkgKzE5ODIsNyBAQCBoc3dfZW1pdF9iYl9zdGFydChzdHJ1Y3QgaTkx NV9yZXF1ZXN0ICpycSwKIAkJcmV0dXJuIFBUUl9FUlIoY3MpOwogCiAJKmNzKysgPSBNSV9CQVRD SF9CVUZGRVJfU1RBUlQgfCAoZGlzcGF0Y2hfZmxhZ3MgJiBJOTE1X0RJU1BBVENIX1NFQ1VSRSA/ Ci0JCTAgOiBNSV9CQVRDSF9QUEdUVF9IU1cgfCBNSV9CQVRDSF9OT05fU0VDVVJFX0hTVykgfAot CQkoZGlzcGF0Y2hfZmxhZ3MgJiBJOTE1X0RJU1BBVENIX1JTID8KLQkJTUlfQkFUQ0hfUkVTT1VS Q0VfU1RSRUFNRVIgOiAwKTsKKwkJMCA6IE1JX0JBVENIX1BQR1RUX0hTVyB8IE1JX0JBVENIX05P Tl9TRUNVUkVfSFNXKTsKIAkvKiBiaXQwLTcgaXMgdGhlIGxlbmd0aCBvbiBHRU42KyAqLwogCSpj cysrID0gb2Zmc2V0OwogCWludGVsX3JpbmdfYWR2YW5jZShycSwgY3MpOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCmluZGV4IGY1ZmZhNmQzMWU4Mi4uOGMxNzRlODc2ODZi IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCkBAIC00NzQsNyArNDc0 LDYgQEAgc3RydWN0IGludGVsX2VuZ2luZV9jcyB7CiAJCQkJCSB1bnNpZ25lZCBpbnQgZGlzcGF0 Y2hfZmxhZ3MpOwogI2RlZmluZSBJOTE1X0RJU1BBVENIX1NFQ1VSRSBCSVQoMCkKICNkZWZpbmUg STkxNV9ESVNQQVRDSF9QSU5ORUQgQklUKDEpCi0jZGVmaW5lIEk5MTVfRElTUEFUQ0hfUlMgICAg IEJJVCgyKQogCXZvaWQJCSgqZW1pdF9icmVhZGNydW1iKShzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpy cSwgdTMyICpjcyk7CiAJaW50CQllbWl0X2JyZWFkY3J1bWJfc3o7CiAKLS0gCjIuMTcuMQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==