From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x541.google.com (mail-ed1-x541.google.com [IPv6:2a00:1450:4864:20::541]) by gabe.freedesktop.org (Postfix) with ESMTPS id A13C46E468 for ; Wed, 3 Apr 2019 08:40:42 +0000 (UTC) Received: by mail-ed1-x541.google.com with SMTP id s39so14142197edb.2 for ; Wed, 03 Apr 2019 01:40:42 -0700 (PDT) Date: Wed, 3 Apr 2019 10:40:38 +0200 From: Daniel Vetter Message-ID: <20190403084038.GV2665@phenom.ffwll.local> References: <20190402163348.4680-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20190402163348.4680-1-ville.syrjala@linux.intel.com> Subject: Re: [igt-dev] [PATCH i-g-t 1/6] tests/kms_color: Nuke local struct definitions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Ville Syrjala Cc: igt-dev@lists.freedesktop.org List-ID: T24gVHVlLCBBcHIgMDIsIDIwMTkgYXQgMDc6MzM6NDNQTSArMDMwMCwgVmlsbGUgU3lyamFsYSB3 cm90ZToKPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgo+IAo+IEkgdGhpbmsgd2UgY2FuIGFzc3VtZSBmcmVzaCBlbm91Z2ggaGVhZGVycyBieSBu b3csIHNvIHJlbW92ZQo+IHRoZSBsb2NhbCBfZHJtX2NvbG9yX2N0bSBhbmQgX2RybV9jb2xvcl9s dXQgc3RydWN0cyBkZWZpbml0aW9ucy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rs w6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgoKUmV2aWV3ZWQtYnk6IERhbmllbCBW ZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cgo+IC0tLQo+ICB0ZXN0cy9rbXNfY29sb3Iu YyB8IDc0ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4g IDEgZmlsZSBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspLCA0NSBkZWxldGlvbnMoLSkKPiAKPiBk aWZmIC0tZ2l0IGEvdGVzdHMva21zX2NvbG9yLmMgYi90ZXN0cy9rbXNfY29sb3IuYwo+IGluZGV4 IGRlY2YzYzJhNjgwZS4uMWU1YTVkMzI5YmVhIDEwMDY0NAo+IC0tLSBhL3Rlc3RzL2ttc19jb2xv ci5jCj4gKysrIGIvdGVzdHMva21zX2NvbG9yLmMKPiBAQCAtMzEsMjIgKzMxLDYgQEAKPiAgCj4g IElHVF9URVNUX0RFU0NSSVBUSU9OKCJUZXN0IENvbG9yIEZlYXR1cmVzIGF0IFBpcGUgbGV2ZWwi KTsKPiAgCj4gLS8qIERhdGEgc3RydWN0dXJlcyBmb3IgZ2FtbWEvZGVnYW1tYSByYW1wcyAmIGN0 bSBtYXRyaXguICovCj4gLXN0cnVjdCBfZHJtX2NvbG9yX2N0bSB7Cj4gLQkvKiBUcmFuc2Zvcm1h dGlvbiBtYXRyaXggaW4gUzMxLjMyIGZvcm1hdC4gKi8KPiAtCV9fczY0IG1hdHJpeFs5XTsKPiAt fTsKPiAtCj4gLXN0cnVjdCBfZHJtX2NvbG9yX2x1dCB7Cj4gLQkvKgo+IC0JICogRGF0YSBpcyBV MC4xNiBmaXhlZCBwb2ludCBmb3JtYXQuCj4gLQkgKi8KPiAtCV9fdTE2IHJlZDsKPiAtCV9fdTE2 IGdyZWVuOwo+IC0JX191MTYgYmx1ZTsKPiAtCV9fdTE2IHJlc2VydmVkOwo+IC19Owo+IC0KPiAg LyogSW50ZXJuYWwgKi8KPiAgdHlwZWRlZiBzdHJ1Y3Qgewo+ICAJZG91YmxlIHIsIGcsIGI7Cj4g QEAgLTE2MywxMyArMTQ3LDEzIEBAIHN0YXRpYyBkb3VibGUgKmdlbmVyYXRlX3RhYmxlX3plcm8o dWludDMyX3QgbHV0X3NpemUpCj4gIAlyZXR1cm4gY29lZmZzOwo+ICB9Cj4gIAo+IC1zdGF0aWMg c3RydWN0IF9kcm1fY29sb3JfbHV0ICpjb2VmZnNfdG9fbHV0KGRhdGFfdCAqZGF0YSwKPiAtCQkJ CQkgICAgY29uc3QgZG91YmxlICpjb2VmZmljaWVudHMsCj4gLQkJCQkJICAgIHVpbnQzMl90IGx1 dF9zaXplLAo+IC0JCQkJCSAgICB1aW50MzJfdCBjb2xvcl9kZXB0aCwKPiAtCQkJCQkgICAgaW50 IG9mZikKPiArc3RhdGljIHN0cnVjdCBkcm1fY29sb3JfbHV0ICpjb2VmZnNfdG9fbHV0KGRhdGFf dCAqZGF0YSwKPiArCQkJCQkgICBjb25zdCBkb3VibGUgKmNvZWZmaWNpZW50cywKPiArCQkJCQkg ICB1aW50MzJfdCBsdXRfc2l6ZSwKPiArCQkJCQkgICB1aW50MzJfdCBjb2xvcl9kZXB0aCwKPiAr CQkJCQkgICBpbnQgb2ZmKQo+ICB7Cj4gLQlzdHJ1Y3QgX2RybV9jb2xvcl9sdXQgKmx1dDsKPiAr CXN0cnVjdCBkcm1fY29sb3JfbHV0ICpsdXQ7Cj4gIAl1aW50MzJfdCBpOwo+ICAJdWludDMyX3Qg bWF4X3ZhbHVlID0gKDEgPDwgMTYpIC0gMTsKPiAgCXVpbnQzMl90IG1hc2s7Cj4gQEAgLTE3OSw3 ICsxNjMsNyBAQCBzdGF0aWMgc3RydWN0IF9kcm1fY29sb3JfbHV0ICpjb2VmZnNfdG9fbHV0KGRh dGFfdCAqZGF0YSwKPiAgCWVsc2UKPiAgCQltYXNrID0gbWF4X3ZhbHVlOwo+ICAKPiAtCWx1dCA9 IG1hbGxvYyhzaXplb2Yoc3RydWN0IF9kcm1fY29sb3JfbHV0KSAqIGx1dF9zaXplKTsKPiArCWx1 dCA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IGRybV9jb2xvcl9sdXQpICogbHV0X3NpemUpOwo+ICAK PiAgCWlmIChJU19DSEVSUllWSUVXKGRhdGEtPmRldmlkKSkKPiAgCQlsdXRfc2l6ZSAtPSAxOwo+ IEBAIC0yMTEsOCArMTk1LDggQEAgc3RhdGljIHZvaWQgc2V0X2RlZ2FtbWEoZGF0YV90ICpkYXRh LAo+ICAJCQlpZ3RfcGlwZV90ICpwaXBlLAo+ICAJCQljb25zdCBkb3VibGUgKmNvZWZmaWNpZW50 cykKPiAgewo+IC0Jc2l6ZV90IHNpemUgPSBzaXplb2Yoc3RydWN0IF9kcm1fY29sb3JfbHV0KSAq IGRhdGEtPmRlZ2FtbWFfbHV0X3NpemU7Cj4gLQlzdHJ1Y3QgX2RybV9jb2xvcl9sdXQgKmx1dCA9 IGNvZWZmc190b19sdXQoZGF0YSwKPiArCXNpemVfdCBzaXplID0gc2l6ZW9mKHN0cnVjdCBkcm1f Y29sb3JfbHV0KSAqIGRhdGEtPmRlZ2FtbWFfbHV0X3NpemU7Cj4gKwlzdHJ1Y3QgZHJtX2NvbG9y X2x1dCAqbHV0ID0gY29lZmZzX3RvX2x1dChkYXRhLAo+ICAJCQkJCQkgICBjb2VmZmljaWVudHMs Cj4gIAkJCQkJCSAgIGRhdGEtPmRlZ2FtbWFfbHV0X3NpemUsCj4gIAkJCQkJCSAgIGRhdGEtPmNv bG9yX2RlcHRoLCAwKTsKPiBAQCAtMjI2LDggKzIxMCw4IEBAIHN0YXRpYyB2b2lkIHNldF9nYW1t YShkYXRhX3QgKmRhdGEsCj4gIAkJICAgICAgaWd0X3BpcGVfdCAqcGlwZSwKPiAgCQkgICAgICBj b25zdCBkb3VibGUgKmNvZWZmaWNpZW50cykKPiAgewo+IC0Jc2l6ZV90IHNpemUgPSBzaXplb2Yo c3RydWN0IF9kcm1fY29sb3JfbHV0KSAqIGRhdGEtPmdhbW1hX2x1dF9zaXplOwo+IC0Jc3RydWN0 IF9kcm1fY29sb3JfbHV0ICpsdXQgPSBjb2VmZnNfdG9fbHV0KGRhdGEsCj4gKwlzaXplX3Qgc2l6 ZSA9IHNpemVvZihzdHJ1Y3QgZHJtX2NvbG9yX2x1dCkgKiBkYXRhLT5nYW1tYV9sdXRfc2l6ZTsK PiArCXN0cnVjdCBkcm1fY29sb3JfbHV0ICpsdXQgPSBjb2VmZnNfdG9fbHV0KGRhdGEsCj4gIAkJ CQkJCSAgIGNvZWZmaWNpZW50cywKPiAgCQkJCQkJICAgZGF0YS0+Z2FtbWFfbHV0X3NpemUsCj4g IAkJCQkJCSAgIGRhdGEtPmNvbG9yX2RlcHRoLCAwKTsKPiBAQCAtMjM5LDcgKzIyMyw3IEBAIHN0 YXRpYyB2b2lkIHNldF9nYW1tYShkYXRhX3QgKmRhdGEsCj4gIAo+ICBzdGF0aWMgdm9pZCBzZXRf Y3RtKGlndF9waXBlX3QgKnBpcGUsIGNvbnN0IGRvdWJsZSAqY29lZmZpY2llbnRzKQo+ICB7Cj4g LQlzdHJ1Y3QgX2RybV9jb2xvcl9jdG0gY3RtOwo+ICsJc3RydWN0IGRybV9jb2xvcl9jdG0gY3Rt Owo+ICAJaW50IGk7Cj4gIAo+ICAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoY3RtLm1hdHJp eCk7IGkrKykgewo+IEBAIC01NTIsNyArNTM2LDcgQEAgc3RhdGljIHZvaWQgdGVzdF9waXBlX2xl Z2FjeV9nYW1tYV9yZXNldChkYXRhX3QgKmRhdGEsCj4gIAlkb3VibGUgKmRlZ2FtbWFfbGluZWFy LCAqZ2FtbWFfemVybzsKPiAgCXVpbnQzMl90IGksIGxlZ2FjeV9sdXRfc2l6ZTsKPiAgCXVpbnQx Nl90ICpyZWRfbHV0LCAqZ3JlZW5fbHV0LCAqYmx1ZV9sdXQ7Cj4gLQlzdHJ1Y3QgX2RybV9jb2xv cl9sdXQgKmx1dDsKPiArCXN0cnVjdCBkcm1fY29sb3JfbHV0ICpsdXQ7Cj4gIAlkcm1Nb2RlUHJv cGVydHlCbG9iUHRyIGJsb2I7Cj4gIAlpZ3Rfb3V0cHV0X3QgKm91dHB1dDsKPiAgCj4gQEAgLTU3 OCwyMCArNTYyLDIwIEBAIHN0YXRpYyB2b2lkIHRlc3RfcGlwZV9sZWdhY3lfZ2FtbWFfcmVzZXQo ZGF0YV90ICpkYXRhLAo+ICAKPiAgCQlibG9iID0gZ2V0X2Jsb2IoZGF0YSwgcHJpbWFyeS0+cGlw ZSwgSUdUX0NSVENfREVHQU1NQV9MVVQpOwo+ICAJCWlndF9hc3NlcnQoYmxvYiAmJgo+IC0JCQkg ICBibG9iLT5sZW5ndGggPT0gKHNpemVvZihzdHJ1Y3QgX2RybV9jb2xvcl9sdXQpICoKPiArCQkJ ICAgYmxvYi0+bGVuZ3RoID09IChzaXplb2Yoc3RydWN0IGRybV9jb2xvcl9sdXQpICoKPiAgCQkJ CQkgICAgZGF0YS0+ZGVnYW1tYV9sdXRfc2l6ZSkpOwo+ICAJCWRybU1vZGVGcmVlUHJvcGVydHlC bG9iKGJsb2IpOwo+ICAKPiAgCQlibG9iID0gZ2V0X2Jsb2IoZGF0YSwgcHJpbWFyeS0+cGlwZSwg SUdUX0NSVENfQ1RNKTsKPiAgCQlpZ3RfYXNzZXJ0KGJsb2IgJiYKPiAtCQkJICAgYmxvYi0+bGVu Z3RoID09IHNpemVvZihzdHJ1Y3QgX2RybV9jb2xvcl9jdG0pKTsKPiArCQkJICAgYmxvYi0+bGVu Z3RoID09IHNpemVvZihzdHJ1Y3QgZHJtX2NvbG9yX2N0bSkpOwo+ICAJCWRybU1vZGVGcmVlUHJv cGVydHlCbG9iKGJsb2IpOwo+ICAKPiAgCQlibG9iID0gZ2V0X2Jsb2IoZGF0YSwgcHJpbWFyeS0+ cGlwZSwgSUdUX0NSVENfR0FNTUFfTFVUKTsKPiAgCQlpZ3RfYXNzZXJ0KGJsb2IgJiYKPiAtCQkJ ICAgYmxvYi0+bGVuZ3RoID09IChzaXplb2Yoc3RydWN0IF9kcm1fY29sb3JfbHV0KSAqCj4gKwkJ CSAgIGJsb2ItPmxlbmd0aCA9PSAoc2l6ZW9mKHN0cnVjdCBkcm1fY29sb3JfbHV0KSAqCj4gIAkJ CQkJICAgIGRhdGEtPmdhbW1hX2x1dF9zaXplKSk7Cj4gLQkJbHV0ID0gKHN0cnVjdCBfZHJtX2Nv bG9yX2x1dCAqKSBibG9iLT5kYXRhOwo+ICsJCWx1dCA9IChzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAq KSBibG9iLT5kYXRhOwo+ICAJCWZvciAoaSA9IDA7IGkgPCBkYXRhLT5nYW1tYV9sdXRfc2l6ZTsg aSsrKQo+ICAJCQlpZ3RfYXNzZXJ0KGx1dFtpXS5yZWQgPT0gMCAmJgo+ICAJCQkJICAgbHV0W2ld LmdyZWVuID09IDAgJiYKPiBAQCAtNjI1LDkgKzYwOSw5IEBAIHN0YXRpYyB2b2lkIHRlc3RfcGlw ZV9sZWdhY3lfZ2FtbWFfcmVzZXQoZGF0YV90ICpkYXRhLAo+ICAKPiAgCQlibG9iID0gZ2V0X2Js b2IoZGF0YSwgcHJpbWFyeS0+cGlwZSwgSUdUX0NSVENfR0FNTUFfTFVUKTsKPiAgCQlpZ3RfYXNz ZXJ0KGJsb2IgJiYKPiAtCQkJICAgYmxvYi0+bGVuZ3RoID09IChzaXplb2Yoc3RydWN0IF9kcm1f Y29sb3JfbHV0KSAqCj4gKwkJCSAgIGJsb2ItPmxlbmd0aCA9PSAoc2l6ZW9mKHN0cnVjdCBkcm1f Y29sb3JfbHV0KSAqCj4gIAkJCQkJICAgIGxlZ2FjeV9sdXRfc2l6ZSkpOwo+IC0JCWx1dCA9IChz dHJ1Y3QgX2RybV9jb2xvcl9sdXQgKikgYmxvYi0+ZGF0YTsKPiArCQlsdXQgPSAoc3RydWN0IGRy bV9jb2xvcl9sdXQgKikgYmxvYi0+ZGF0YTsKPiAgCQlmb3IgKGkgPSAwOyBpIDwgbGVnYWN5X2x1 dF9zaXplOyBpKyspCj4gIAkJCWlndF9hc3NlcnQobHV0W2ldLnJlZCA9PSAweGZmZmYgJiYKPiAg CQkJCSAgIGx1dFtpXS5ncmVlbiA9PSAweGZmZmYgJiYKPiBAQCAtMTA3OSwxMSArMTA2MywxMSBA QCBpbnZhbGlkX2x1dF9zaXplcyhkYXRhX3QgKmRhdGEpCj4gIHsKPiAgCWlndF9kaXNwbGF5X3Qg KmRpc3BsYXkgPSAmZGF0YS0+ZGlzcGxheTsKPiAgCWlndF9waXBlX3QgKnBpcGUgPSAmZGlzcGxh eS0+cGlwZXNbMF07Cj4gLQlzaXplX3QgZGVnYW1tYV9sdXRfc2l6ZSA9IGRhdGEtPmRlZ2FtbWFf bHV0X3NpemUgKiBzaXplb2Yoc3RydWN0IF9kcm1fY29sb3JfbHV0KTsKPiAtCXNpemVfdCBnYW1t YV9sdXRfc2l6ZSA9IGRhdGEtPmdhbW1hX2x1dF9zaXplICogc2l6ZW9mKHN0cnVjdCBfZHJtX2Nv bG9yX2x1dCk7Cj4gKwlzaXplX3QgZGVnYW1tYV9sdXRfc2l6ZSA9IGRhdGEtPmRlZ2FtbWFfbHV0 X3NpemUgKiBzaXplb2Yoc3RydWN0IGRybV9jb2xvcl9sdXQpOwo+ICsJc2l6ZV90IGdhbW1hX2x1 dF9zaXplID0gZGF0YS0+Z2FtbWFfbHV0X3NpemUgKiBzaXplb2Yoc3RydWN0IGRybV9jb2xvcl9s dXQpOwo+ICAKPiAtCXN0cnVjdCBfZHJtX2NvbG9yX2x1dCAqZGVnYW1tYV9sdXQgPSBtYWxsb2Mo ZGF0YS0+ZGVnYW1tYV9sdXRfc2l6ZSAqIHNpemVvZihzdHJ1Y3QgX2RybV9jb2xvcl9sdXQpICog Mik7Cj4gLQlzdHJ1Y3QgX2RybV9jb2xvcl9sdXQgKmdhbW1hX2x1dCA9IG1hbGxvYyhkYXRhLT5n YW1tYV9sdXRfc2l6ZSAqIHNpemVvZihzdHJ1Y3QgX2RybV9jb2xvcl9sdXQpICogMik7Cj4gKwlz dHJ1Y3QgZHJtX2NvbG9yX2x1dCAqZGVnYW1tYV9sdXQgPSBtYWxsb2MoZGF0YS0+ZGVnYW1tYV9s dXRfc2l6ZSAqIHNpemVvZihzdHJ1Y3QgZHJtX2NvbG9yX2x1dCkgKiAyKTsKPiArCXN0cnVjdCBk cm1fY29sb3JfbHV0ICpnYW1tYV9sdXQgPSBtYWxsb2MoZGF0YS0+Z2FtbWFfbHV0X3NpemUgKiBz aXplb2Yoc3RydWN0IGRybV9jb2xvcl9sdXQpICogMik7Cj4gIAo+ICAJaWd0X2Rpc3BsYXlfY29t bWl0MihkaXNwbGF5LCBkaXNwbGF5LT5pc19hdG9taWMgPyBDT01NSVRfQVRPTUlDIDogQ09NTUlU X0xFR0FDWSk7Cj4gIAo+IEBAIC0xMDk3LDcgKzEwODEsNyBAQCBpbnZhbGlkX2x1dF9zaXplcyhk YXRhX3QgKmRhdGEpCj4gIAkJCQkJCSAgICAgZGVnYW1tYV9sdXQsIGRlZ2FtbWFfbHV0X3NpemUg LSAxKSwKPiAgCQkJICAgICAgLUVJTlZBTCk7Cj4gIAkJaWd0X2Fzc2VydF9lcShwaXBlX3NldF9w cm9wZXJ0eV9ibG9iKHBpcGUsIElHVF9DUlRDX0RFR0FNTUFfTFVULAo+IC0JCQkJCQkgICAgIGRl Z2FtbWFfbHV0LCBkZWdhbW1hX2x1dF9zaXplICsgc2l6ZW9mKHN0cnVjdCBfZHJtX2NvbG9yX2x1 dCkpLAo+ICsJCQkJCQkgICAgIGRlZ2FtbWFfbHV0LCBkZWdhbW1hX2x1dF9zaXplICsgc2l6ZW9m KHN0cnVjdCBkcm1fY29sb3JfbHV0KSksCj4gIAkJCSAgICAgIC1FSU5WQUwpOwo+ICAJCWlndF9h c3NlcnRfZXEocGlwZV9zZXRfcHJvcGVydHlfYmxvYl9pZChwaXBlLCBJR1RfQ1JUQ19ERUdBTU1B X0xVVCwgcGlwZS0+Y3J0Y19pZCksCj4gIAkJCSAgICAgIC1FSU5WQUwpOwo+IEBAIC0xMTE2LDcg KzExMDAsNyBAQCBpbnZhbGlkX2x1dF9zaXplcyhkYXRhX3QgKmRhdGEpCj4gIAkJCQkJCSAgICAg Z2FtbWFfbHV0LCBnYW1tYV9sdXRfc2l6ZSAtIDEpLAo+ICAJCQkgICAgICAtRUlOVkFMKTsKPiAg CQlpZ3RfYXNzZXJ0X2VxKHBpcGVfc2V0X3Byb3BlcnR5X2Jsb2IocGlwZSwgSUdUX0NSVENfR0FN TUFfTFVULAo+IC0JCQkJCQkgICAgIGdhbW1hX2x1dCwgZ2FtbWFfbHV0X3NpemUgKyBzaXplb2Yo c3RydWN0IF9kcm1fY29sb3JfbHV0KSksCj4gKwkJCQkJCSAgICAgZ2FtbWFfbHV0LCBnYW1tYV9s dXRfc2l6ZSArIHNpemVvZihzdHJ1Y3QgZHJtX2NvbG9yX2x1dCkpLAo+ICAJCQkgICAgICAtRUlO VkFMKTsKPiAgCQlpZ3RfYXNzZXJ0X2VxKHBpcGVfc2V0X3Byb3BlcnR5X2Jsb2JfaWQocGlwZSwg SUdUX0NSVENfR0FNTUFfTFVULCBwaXBlLT5jcnRjX2lkKSwKPiAgCQkJICAgICAgLUVJTlZBTCk7 Cj4gQEAgLTExMzgsMTggKzExMjIsMTggQEAgaW52YWxpZF9jdG1fbWF0cml4X3NpemVzKGRhdGFf dCAqZGF0YSkKPiAgCWlmICghaWd0X3BpcGVfb2JqX2hhc19wcm9wKHBpcGUsIElHVF9DUlRDX0NU TSkpCj4gIAkJcmV0dXJuOwo+ICAKPiAtCXB0ciA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IF9kcm1f Y29sb3JfY3RtKSAqIDQpOwo+ICsJcHRyID0gbWFsbG9jKHNpemVvZihzdHJ1Y3QgZHJtX2NvbG9y X2N0bSkgKiA0KTsKPiAgCj4gIAlpZ3RfYXNzZXJ0X2VxKHBpcGVfc2V0X3Byb3BlcnR5X2Jsb2Io cGlwZSwgSUdUX0NSVENfQ1RNLCBwdHIsIDEpLAo+ICAJCSAgICAgIC1FSU5WQUwpOwo+ICAJaWd0 X2Fzc2VydF9lcShwaXBlX3NldF9wcm9wZXJ0eV9ibG9iKHBpcGUsIElHVF9DUlRDX0NUTSwgcHRy LAo+IC0JCQkJCSAgICAgc2l6ZW9mKHN0cnVjdCBfZHJtX2NvbG9yX2N0bSkgKyAxKSwKPiArCQkJ CQkgICAgIHNpemVvZihzdHJ1Y3QgZHJtX2NvbG9yX2N0bSkgKyAxKSwKPiAgCQkgICAgICAtRUlO VkFMKTsKPiAgCWlndF9hc3NlcnRfZXEocGlwZV9zZXRfcHJvcGVydHlfYmxvYihwaXBlLCBJR1Rf Q1JUQ19DVE0sIHB0ciwKPiAtCQkJCQkgICAgIHNpemVvZihzdHJ1Y3QgX2RybV9jb2xvcl9jdG0p IC0gMSksCj4gKwkJCQkJICAgICBzaXplb2Yoc3RydWN0IGRybV9jb2xvcl9jdG0pIC0gMSksCj4g IAkJICAgICAgLUVJTlZBTCk7Cj4gIAlpZ3RfYXNzZXJ0X2VxKHBpcGVfc2V0X3Byb3BlcnR5X2Js b2IocGlwZSwgSUdUX0NSVENfQ1RNLCBwdHIsCj4gLQkJCQkJICAgICBzaXplb2Yoc3RydWN0IF9k cm1fY29sb3JfY3RtKSAqIDIpLAo+ICsJCQkJCSAgICAgc2l6ZW9mKHN0cnVjdCBkcm1fY29sb3Jf Y3RtKSAqIDIpLAo+ICAJCSAgICAgIC1FSU5WQUwpOwo+ICAJaWd0X2Fzc2VydF9lcShwaXBlX3Nl dF9wcm9wZXJ0eV9ibG9iX2lkKHBpcGUsIElHVF9DUlRDX0NUTSwgcGlwZS0+Y3J0Y19pZCksCj4g IAkJICAgICAgLUVJTlZBTCk7Cj4gLS0gCj4gMi4xOS4yCj4gCj4gX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBpZ3QtZGV2IG1haWxpbmcgbGlzdAo+IGln dC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2CgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBF bmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxp c3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2