From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v5 9/9] drm/selftests: Add tests for drm_format_info* helpers Date: Fri, 19 Oct 2018 17:29:15 +0200 Message-ID: <20181019152915.GE31561@phenom.ffwll.local> References: <20181019105752.17741-1-alexandru-cosmin.gheorghe@arm.com> <20181019105752.17741-10-alexandru-cosmin.gheorghe@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ed1-x544.google.com (mail-ed1-x544.google.com [IPv6:2a00:1450:4864:20::544]) by gabe.freedesktop.org (Postfix) with ESMTPS id 239CB6E445 for ; Fri, 19 Oct 2018 15:29:20 +0000 (UTC) Received: by mail-ed1-x544.google.com with SMTP id w19-v6so31818316eds.1 for ; Fri, 19 Oct 2018 08:29:20 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20181019105752.17741-10-alexandru-cosmin.gheorghe@arm.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Alexandru Gheorghe Cc: charles.xu@arm.com, nd@arm.com, matt.szczesiak@arm.com, airlied@linux.ie, liviu.dudau@arm.com, dri-devel@lists.freedesktop.org, maxime.ripard@bootlin.com, david.garbett@arm.com, seanpaul@chromium.org, lisa.wu@arm.com, daniel.vetter@ffwll.ch, malidp@foss.arm.com, ayan.halder@arm.com, james.qian.wang@arm.com List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBPY3QgMTksIDIwMTggYXQgMTE6NTc6NTJBTSArMDEwMCwgQWxleGFuZHJ1IEdoZW9y Z2hlIHdyb3RlOgo+IEFkZCBzZWxmdGVzdHMgZm9yIHRoZSBmb2xsb3dpbmcgbmV3bHkgYWRkZWQg ZnVuY3Rpb25zOgo+ICAtIGRybV9mb3JtYXRfaW5mb19ibG9ja193aWR0aAo+ICAtIGRybV9mb3Jt YXRfaW5mb19ibG9ja19oZWlnaHQKPiAgLSBkcm1fZm9ybWF0X2luZm9fbWluX3BpdGNoCj4gCj4g U2lnbmVkLW9mZi1ieTogQWxleGFuZHJ1IEdoZW9yZ2hlIDxhbGV4YW5kcnUtY29zbWluLmdoZW9y Z2hlQGFybS5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9zZWxmdGVzdHMvTWFrZWZpbGUg ICAgICAgICAgICB8ICAgMyArLQo+ICAuLi4vZ3B1L2RybS9zZWxmdGVzdHMvZHJtX21vZGVzZXRf c2VsZnRlc3RzLmggfCAgIDMgKwo+ICBkcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL3Rlc3QtZHJt X2Zvcm1hdC5jICAgfCAyOTAgKysrKysrKysrKysrKysrKysrCj4gIC4uLi9kcm0vc2VsZnRlc3Rz L3Rlc3QtZHJtX21vZGVzZXRfY29tbW9uLmggICB8ICAgMyArCj4gIDQgZmlsZXMgY2hhbmdlZCwg Mjk4IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRy aXZlcnMvZ3B1L2RybS9zZWxmdGVzdHMvdGVzdC1kcm1fZm9ybWF0LmMKPiAKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9z ZWxmdGVzdHMvTWFrZWZpbGUKPiBpbmRleCA3ZTY1ODE5MjFkYTAuLjA3YjRmODhiNDIyYSAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL01ha2VmaWxlCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy9NYWtlZmlsZQo+IEBAIC0xLDMgKzEsNCBAQAo+IC10ZXN0 LWRybV9tb2Rlc2V0LXkgOj0gdGVzdC1kcm1fbW9kZXNldF9jb21tb24ubyB0ZXN0LWRybV9wbGFu ZV9oZWxwZXIubwo+ICt0ZXN0LWRybV9tb2Rlc2V0LXkgOj0gdGVzdC1kcm1fbW9kZXNldF9jb21t b24ubyB0ZXN0LWRybV9wbGFuZV9oZWxwZXIubyBcCj4gKyAgICAgICAgICAgICAgICAgICAgICB0 ZXN0LWRybV9mb3JtYXQubwo+ICAKPiAgb2JqLSQoQ09ORklHX0RSTV9ERUJVR19TRUxGVEVTVCkg Kz0gdGVzdC1kcm1fbW0ubyB0ZXN0LWRybV9tb2Rlc2V0Lm8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3NlbGZ0ZXN0cy9kcm1fbW9kZXNldF9zZWxmdGVzdHMuaCBiL2RyaXZlcnMvZ3B1 L2RybS9zZWxmdGVzdHMvZHJtX21vZGVzZXRfc2VsZnRlc3RzLmgKPiBpbmRleCA5NzcxMjkwZWQy MjguLjRlMjAzYWM4YzEzNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3Rz L2RybV9tb2Rlc2V0X3NlbGZ0ZXN0cy5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0 cy9kcm1fbW9kZXNldF9zZWxmdGVzdHMuaAo+IEBAIC03LDMgKzcsNiBAQAo+ICAgKiBUZXN0cyBh cmUgZXhlY3V0ZWQgaW4gb3JkZXIgYnkgaWd0L2RybV9zZWxmdGVzdHNfaGVscGVyCj4gICAqLwo+ ICBzZWxmdGVzdChjaGVja19wbGFuZV9zdGF0ZSwgaWd0X2NoZWNrX3BsYW5lX3N0YXRlKQo+ICtz ZWxmdGVzdChjaGVja19kcm1fZm9ybWF0X2Jsb2NrX3dpZHRoLCBpZ3RfY2hlY2tfZHJtX2Zvcm1h dF9ibG9ja193aWR0aCkKPiArc2VsZnRlc3QoY2hlY2tfZHJtX2Zvcm1hdF9ibG9ja19oZWlnaHQs IGlndF9jaGVja19kcm1fZm9ybWF0X2Jsb2NrX2hlaWdodCkKPiArc2VsZnRlc3QoY2hlY2tfZHJt X2Zvcm1hdF9taW5fcGl0Y2gsIGlndF9jaGVja19kcm1fZm9ybWF0X21pbl9waXRjaCkKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy90ZXN0LWRybV9mb3JtYXQuYyBiL2Ry aXZlcnMvZ3B1L2RybS9zZWxmdGVzdHMvdGVzdC1kcm1fZm9ybWF0LmMKPiBuZXcgZmlsZSBtb2Rl IDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAwMC4uNWFiZmQ1ZTI4ZDdkCj4gLS0tIC9kZXYvbnVs bAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9zZWxmdGVzdHMvdGVzdC1kcm1fZm9ybWF0LmMKPiBA QCAtMCwwICsxLDI5MCBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAo+ ICsvKgo+ICsgKiBUZXN0IGNhc2VzIGZvciB0aGUgZHJtX2Zvcm1hdCBmdW5jdGlvbnMKPiArICov Cj4gKwo+ICsjZGVmaW5lIHByX2ZtdChmbXQpICJkcm1fZm9ybWF0OiAiIGZtdAo+ICsKPiArI2lu Y2x1ZGUgPGxpbnV4L2Vycm5vLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KPiArCj4g KyNpbmNsdWRlIDxkcm0vZHJtX2ZvdXJjYy5oPgo+ICsKPiArI2luY2x1ZGUgInRlc3QtZHJtX21v ZGVzZXRfY29tbW9uLmgiCj4gKwo+ICtpbnQgaWd0X2NoZWNrX2RybV9mb3JtYXRfYmxvY2tfd2lk dGgodm9pZCAqaWdub3JlZCkKPiArewo+ICsJY29uc3Qgc3RydWN0IGRybV9mb3JtYXRfaW5mbyAq aW5mbyA9IE5VTEw7Cj4gKwo+ICsJLyogVGVzdCBpbnZhbGlkIGFyZ3VtZW50cyAqLwo+ICsJRkFJ TF9PTihkcm1fZm9ybWF0X2luZm9fYmxvY2tfd2lkdGgoaW5mbywgMCkgIT0gMCk7Cj4gKwlGQUlM X09OKGRybV9mb3JtYXRfaW5mb19ibG9ja193aWR0aChpbmZvLCAtMSkgIT0gMCk7Cj4gKwlGQUlM X09OKGRybV9mb3JtYXRfaW5mb19ibG9ja193aWR0aChpbmZvLCAxKSAhPSAwKTsKPiArCj4gKwkv KiBUZXN0IDEgcGxhbmUgZm9ybWF0ICovCj4gKwlpbmZvID0gZHJtX2Zvcm1hdF9pbmZvKERSTV9G T1JNQVRfWFJHQjQ0NDQpOwo+ICsJRkFJTF9PTighaW5mbyk7Cj4gKwlGQUlMX09OKGRybV9mb3Jt YXRfaW5mb19ibG9ja193aWR0aChpbmZvLCAwKSAhPSAxKTsKPiArCUZBSUxfT04oZHJtX2Zvcm1h dF9pbmZvX2Jsb2NrX3dpZHRoKGluZm8sIDEpICE9IDApOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0 X2luZm9fYmxvY2tfd2lkdGgoaW5mbywgLTEpICE9IDApOwo+ICsKPiArCS8qIFRlc3QgMiBwbGFu ZXMgZm9ybWF0ICovCj4gKwlpbmZvID0gZHJtX2Zvcm1hdF9pbmZvKERSTV9GT1JNQVRfTlYxMik7 Cj4gKwlGQUlMX09OKCFpbmZvKTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX2Jsb2NrX3dp ZHRoKGluZm8sIDApICE9IDEpOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fYmxvY2tfd2lk dGgoaW5mbywgMSkgIT0gMSk7Cj4gKwlGQUlMX09OKGRybV9mb3JtYXRfaW5mb19ibG9ja193aWR0 aChpbmZvLCAyKSAhPSAwKTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX2Jsb2NrX3dpZHRo KGluZm8sIC0xKSAhPSAwKTsKPiArCj4gKwkvKiBUZXN0IDMgcGxhbmVzIGZvcm1hdCAqLwo+ICsJ aW5mbyA9IGRybV9mb3JtYXRfaW5mbyhEUk1fRk9STUFUX1lVVjQyMik7Cj4gKwlGQUlMX09OKCFp bmZvKTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX2Jsb2NrX3dpZHRoKGluZm8sIDApICE9 IDEpOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fYmxvY2tfd2lkdGgoaW5mbywgMSkgIT0g MSk7Cj4gKwlGQUlMX09OKGRybV9mb3JtYXRfaW5mb19ibG9ja193aWR0aChpbmZvLCAyKSAhPSAx KTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX2Jsb2NrX3dpZHRoKGluZm8sIDMpICE9IDAp Owo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fYmxvY2tfd2lkdGgoaW5mbywgLTEpICE9IDAp Owo+ICsKPiArCS8qIFRlc3QgYSB0aWxlZCBmb3JtYXQgKi8KPiArCWluZm8gPSBkcm1fZm9ybWF0 X2luZm8oRFJNX0ZPUk1BVF9YMEwwKTsKPiArCUZBSUxfT04oIWluZm8pOwo+ICsJRkFJTF9PTihk cm1fZm9ybWF0X2luZm9fYmxvY2tfd2lkdGgoaW5mbywgMCkgIT0gMik7Cj4gKwlGQUlMX09OKGRy bV9mb3JtYXRfaW5mb19ibG9ja193aWR0aChpbmZvLCAxKSAhPSAwKTsKPiArCUZBSUxfT04oZHJt X2Zvcm1hdF9pbmZvX2Jsb2NrX3dpZHRoKGluZm8sIC0xKSAhPSAwKTsKPiArCj4gKwlyZXR1cm4g MDsKPiArfQo+ICsKPiAraW50IGlndF9jaGVja19kcm1fZm9ybWF0X2Jsb2NrX2hlaWdodCh2b2lk ICppZ25vcmVkKQo+ICt7Cj4gKwljb25zdCBzdHJ1Y3QgZHJtX2Zvcm1hdF9pbmZvICppbmZvID0g TlVMTDsKPiArCj4gKwkvKiBUZXN0IGludmFsaWQgYXJndW1lbnRzICovCj4gKwlGQUlMX09OKGRy bV9mb3JtYXRfaW5mb19ibG9ja19oZWlnaHQoaW5mbywgMCkgIT0gMCk7Cj4gKwlGQUlMX09OKGRy bV9mb3JtYXRfaW5mb19ibG9ja19oZWlnaHQoaW5mbywgLTEpICE9IDApOwo+ICsJRkFJTF9PTihk cm1fZm9ybWF0X2luZm9fYmxvY2tfaGVpZ2h0KGluZm8sIDEpICE9IDApOwo+ICsKPiArCS8qIFRl c3QgMSBwbGFuZSBmb3JtYXQgKi8KPiArCWluZm8gPSBkcm1fZm9ybWF0X2luZm8oRFJNX0ZPUk1B VF9YUkdCNDQ0NCk7Cj4gKwlGQUlMX09OKCFpbmZvKTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9p bmZvX2Jsb2NrX2hlaWdodChpbmZvLCAwKSAhPSAxKTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9p bmZvX2Jsb2NrX2hlaWdodChpbmZvLCAxKSAhPSAwKTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9p bmZvX2Jsb2NrX2hlaWdodChpbmZvLCAtMSkgIT0gMCk7Cj4gKwo+ICsJLyogVGVzdCAyIHBsYW5l cyBmb3JtYXQgKi8KPiArCWluZm8gPSBkcm1fZm9ybWF0X2luZm8oRFJNX0ZPUk1BVF9OVjEyKTsK PiArCUZBSUxfT04oIWluZm8pOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fYmxvY2tfaGVp Z2h0KGluZm8sIDApICE9IDEpOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fYmxvY2tfaGVp Z2h0KGluZm8sIDEpICE9IDEpOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fYmxvY2tfaGVp Z2h0KGluZm8sIDIpICE9IDApOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fYmxvY2tfaGVp Z2h0KGluZm8sIC0xKSAhPSAwKTsKPiArCj4gKwkvKiBUZXN0IDMgcGxhbmVzIGZvcm1hdCAqLwo+ ICsJaW5mbyA9IGRybV9mb3JtYXRfaW5mbyhEUk1fRk9STUFUX1lVVjQyMik7Cj4gKwlGQUlMX09O KCFpbmZvKTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX2Jsb2NrX2hlaWdodChpbmZvLCAw KSAhPSAxKTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX2Jsb2NrX2hlaWdodChpbmZvLCAx KSAhPSAxKTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX2Jsb2NrX2hlaWdodChpbmZvLCAy KSAhPSAxKTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX2Jsb2NrX2hlaWdodChpbmZvLCAz KSAhPSAwKTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX2Jsb2NrX2hlaWdodChpbmZvLCAt MSkgIT0gMCk7Cj4gKwo+ICsJLyogVGVzdCBhIHRpbGVkIGZvcm1hdCAqLwo+ICsJaW5mbyA9IGRy bV9mb3JtYXRfaW5mbyhEUk1fRk9STUFUX1gwTDApOwo+ICsJRkFJTF9PTighaW5mbyk7Cj4gKwlG QUlMX09OKGRybV9mb3JtYXRfaW5mb19ibG9ja19oZWlnaHQoaW5mbywgMCkgIT0gMik7Cj4gKwlG QUlMX09OKGRybV9mb3JtYXRfaW5mb19ibG9ja19oZWlnaHQoaW5mbywgMSkgIT0gMCk7Cj4gKwlG QUlMX09OKGRybV9mb3JtYXRfaW5mb19ibG9ja19oZWlnaHQoaW5mbywgLTEpICE9IDApOwo+ICsK PiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtpbnQgaWd0X2NoZWNrX2RybV9mb3JtYXRfbWluX3Bp dGNoKHZvaWQgKmlnbm9yZWQpCj4gK3sKPiArCWNvbnN0IHN0cnVjdCBkcm1fZm9ybWF0X2luZm8g KmluZm8gPSBOVUxMOwo+ICsKPiArCS8qIFRlc3QgaW52YWxpZCBhcmd1bWVudHMgKi8KPiArCUZB SUxfT04oZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChpbmZvLCAwLCAwKSAhPSAwKTsKPiArCUZB SUxfT04oZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChpbmZvLCAtMSwgMCkgIT0gMCk7Cj4gKwlG QUlMX09OKGRybV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMSwgMCkgIT0gMCk7Cj4gKwo+ ICsJLyogVGVzdCAxIHBsYW5lIDggYml0cyBwZXIgcGl4ZWwgZm9ybWF0ICovCj4gKwlpbmZvID0g ZHJtX2Zvcm1hdF9pbmZvKERSTV9GT1JNQVRfUkdCMzMyKTsKPiArCUZBSUxfT04oIWluZm8pOwo+ ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fbWluX3BpdGNoKGluZm8sIDAsIDApICE9IDApOwo+ ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fbWluX3BpdGNoKGluZm8sIC0xLCAwKSAhPSAwKTsK PiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChpbmZvLCAxLCAwKSAhPSAwKTsK PiArCj4gKwlGQUlMX09OKGRybV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMCwgMSkgIT0g MSk7Cj4gKwlGQUlMX09OKGRybV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMCwgMikgIT0g Mik7Cj4gKwlGQUlMX09OKGRybV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMCwgNjQwKSAh PSA2NDApOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fbWluX3BpdGNoKGluZm8sIDAsIDEw MjQpICE9IDEwMjQpOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fbWluX3BpdGNoKGluZm8s IDAsIDE5MjApICE9IDE5MjApOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fbWluX3BpdGNo KGluZm8sIDAsIDQwOTYpICE9IDQwOTYpOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fbWlu X3BpdGNoKGluZm8sIDAsIDY3MSkgIT0gNjcxKTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZv X21pbl9waXRjaChpbmZvLCAwLCBVSU5UX01BWCkgIT0KPiArCQkJKHVpbnQ2NF90KVVJTlRfTUFY KTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChpbmZvLCAwLCAoVUlOVF9N QVggLSAxKSkgIT0KPiArCQkJKHVpbnQ2NF90KShVSU5UX01BWCAtIDEpKTsKPiArCj4gKwkvKiBU ZXN0IDEgcGxhbmUgMTYgYml0cyBwZXIgcGl4ZWwgZm9ybWF0ICovCj4gKwlpbmZvID0gZHJtX2Zv cm1hdF9pbmZvKERSTV9GT1JNQVRfWFJHQjQ0NDQpOwo+ICsJRkFJTF9PTighaW5mbyk7Cj4gKwlG QUlMX09OKGRybV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMCwgMCkgIT0gMCk7Cj4gKwlG QUlMX09OKGRybV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgLTEsIDApICE9IDApOwo+ICsJ RkFJTF9PTihkcm1fZm9ybWF0X2luZm9fbWluX3BpdGNoKGluZm8sIDEsIDApICE9IDApOwo+ICsK PiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChpbmZvLCAwLCAxKSAhPSAyKTsK PiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChpbmZvLCAwLCAyKSAhPSA0KTsK PiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChpbmZvLCAwLCA2NDApICE9IDEy ODApOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fbWluX3BpdGNoKGluZm8sIDAsIDEwMjQp ICE9IDIwNDgpOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fbWluX3BpdGNoKGluZm8sIDAs IDE5MjApICE9IDM4NDApOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fbWluX3BpdGNoKGlu Zm8sIDAsIDQwOTYpICE9IDgxOTIpOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fbWluX3Bp dGNoKGluZm8sIDAsIDY3MSkgIT0gMTM0Mik7Cj4gKwlGQUlMX09OKGRybV9mb3JtYXRfaW5mb19t aW5fcGl0Y2goaW5mbywgMCwgVUlOVF9NQVgpICE9Cj4gKwkJCSh1aW50NjRfdClVSU5UX01BWCAq IDIpOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fbWluX3BpdGNoKGluZm8sIDAsIChVSU5U X01BWCAtIDEpKSAhPQo+ICsJCQkodWludDY0X3QpKFVJTlRfTUFYIC0gMSkgKiAyKTsKPiArCj4g KwkvKiBUZXN0IDEgcGxhbmUgMjQgYml0cyBwZXIgcGl4ZWwgZm9ybWF0ICovCj4gKwlpbmZvID0g ZHJtX2Zvcm1hdF9pbmZvKERSTV9GT1JNQVRfUkdCODg4KTsKPiArCUZBSUxfT04oIWluZm8pOwo+ ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fbWluX3BpdGNoKGluZm8sIDAsIDApICE9IDApOwo+ ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fbWluX3BpdGNoKGluZm8sIC0xLCAwKSAhPSAwKTsK PiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChpbmZvLCAxLCAwKSAhPSAwKTsK PiArCj4gKwlGQUlMX09OKGRybV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMCwgMSkgIT0g Myk7Cj4gKwlGQUlMX09OKGRybV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMCwgMikgIT0g Nik7Cj4gKwlGQUlMX09OKGRybV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMCwgNjQwKSAh PSAxOTIwKTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChpbmZvLCAwLCAx MDI0KSAhPSAzMDcyKTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChpbmZv LCAwLCAxOTIwKSAhPSA1NzYwKTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRj aChpbmZvLCAwLCA0MDk2KSAhPSAxMjI4OCk7Cj4gKwlGQUlMX09OKGRybV9mb3JtYXRfaW5mb19t aW5fcGl0Y2goaW5mbywgMCwgNjcxKSAhPSAyMDEzKTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9p bmZvX21pbl9waXRjaChpbmZvLCAwLCBVSU5UX01BWCkgIT0KPiArCQkJKHVpbnQ2NF90KVVJTlRf TUFYICogMyk7Cj4gKwlGQUlMX09OKGRybV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMCwg VUlOVF9NQVggLSAxKSAhPQo+ICsJCQkodWludDY0X3QpKFVJTlRfTUFYIC0gMSkgKiAzKTsKPiAr Cj4gKwkvKiBUZXN0IDEgcGxhbmUgMzIgYml0cyBwZXIgcGl4ZWwgZm9ybWF0ICovCj4gKwlpbmZv ID0gZHJtX2Zvcm1hdF9pbmZvKERSTV9GT1JNQVRfQUJHUjg4ODgpOwo+ICsJRkFJTF9PTighaW5m byk7Cj4gKwlGQUlMX09OKGRybV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMCwgMCkgIT0g MCk7Cj4gKwlGQUlMX09OKGRybV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgLTEsIDApICE9 IDApOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fbWluX3BpdGNoKGluZm8sIDEsIDApICE9 IDApOwo+ICsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChpbmZvLCAwLCAx KSAhPSA0KTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChpbmZvLCAwLCAy KSAhPSA4KTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChpbmZvLCAwLCA2 NDApICE9IDI1NjApOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fbWluX3BpdGNoKGluZm8s IDAsIDEwMjQpICE9IDQwOTYpOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fbWluX3BpdGNo KGluZm8sIDAsIDE5MjApICE9IDc2ODApOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fbWlu X3BpdGNoKGluZm8sIDAsIDQwOTYpICE9IDE2Mzg0KTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9p bmZvX21pbl9waXRjaChpbmZvLCAwLCA2NzEpICE9IDI2ODQpOwo+ICsJRkFJTF9PTihkcm1fZm9y bWF0X2luZm9fbWluX3BpdGNoKGluZm8sIDAsIFVJTlRfTUFYKSAhPQo+ICsJCQkodWludDY0X3Qp VUlOVF9NQVggKiA0KTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChpbmZv LCAwLCBVSU5UX01BWCAtIDEpICE9Cj4gKwkJCSh1aW50NjRfdCkoVUlOVF9NQVggLSAxKSAqIDQp Owo+ICsKPiArCS8qIFRlc3QgMiBwbGFuZXMgZm9ybWF0ICovCj4gKwlpbmZvID0gZHJtX2Zvcm1h dF9pbmZvKERSTV9GT1JNQVRfTlYxMik7Cj4gKwlGQUlMX09OKCFpbmZvKTsKPiArCUZBSUxfT04o ZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChpbmZvLCAwLCAwKSAhPSAwKTsKPiArCUZBSUxfT04o ZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChpbmZvLCAxLCAwKSAhPSAwKTsKPiArCUZBSUxfT04o ZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChpbmZvLCAtMSwgMCkgIT0gMCk7Cj4gKwlGQUlMX09O KGRybV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMiwgMCkgIT0gMCk7Cj4gKwo+ICsJRkFJ TF9PTihkcm1fZm9ybWF0X2luZm9fbWluX3BpdGNoKGluZm8sIDAsIDEpICE9IDEpOwo+ICsJRkFJ TF9PTihkcm1fZm9ybWF0X2luZm9fbWluX3BpdGNoKGluZm8sIDEsIDEpICE9IDIpOwo+ICsJRkFJ TF9PTihkcm1fZm9ybWF0X2luZm9fbWluX3BpdGNoKGluZm8sIDAsIDIpICE9IDIpOwo+ICsJRkFJ TF9PTihkcm1fZm9ybWF0X2luZm9fbWluX3BpdGNoKGluZm8sIDEsIDEpICE9IDIpOwo+ICsJRkFJ TF9PTihkcm1fZm9ybWF0X2luZm9fbWluX3BpdGNoKGluZm8sIDAsIDY0MCkgIT0gNjQwKTsKPiAr CUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChpbmZvLCAxLCAzMjApICE9IDY0MCk7 Cj4gKwlGQUlMX09OKGRybV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMCwgMTAyNCkgIT0g MTAyNCk7Cj4gKwlGQUlMX09OKGRybV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMSwgNTEy KSAhPSAxMDI0KTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChpbmZvLCAw LCAxOTIwKSAhPSAxOTIwKTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChp bmZvLCAxLCA5NjApICE9IDE5MjApOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fbWluX3Bp dGNoKGluZm8sIDAsIDQwOTYpICE9IDQwOTYpOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9f bWluX3BpdGNoKGluZm8sIDEsIDIwNDgpICE9IDQwOTYpOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0 X2luZm9fbWluX3BpdGNoKGluZm8sIDAsIDY3MSkgIT0gNjcxKTsKPiArCUZBSUxfT04oZHJtX2Zv cm1hdF9pbmZvX21pbl9waXRjaChpbmZvLCAxLCAzMzYpICE9IDY3Mik7Cj4gKwlGQUlMX09OKGRy bV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMCwgVUlOVF9NQVgpICE9Cj4gKwkJCSh1aW50 NjRfdClVSU5UX01BWCk7Cj4gKwlGQUlMX09OKGRybV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5m bywgMSwgVUlOVF9NQVggLyAyICsgMSkgIT0KPiArCQkJKHVpbnQ2NF90KVVJTlRfTUFYICsgMSk7 Cj4gKwlGQUlMX09OKGRybV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMCwgKFVJTlRfTUFY IC0gMSkpICE9Cj4gKwkJCSh1aW50NjRfdCkoVUlOVF9NQVggLSAxKSk7Cj4gKwlGQUlMX09OKGRy bV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMSwgKFVJTlRfTUFYIC0gMSkgLyAgMikgIT0K PiArCQkJKHVpbnQ2NF90KShVSU5UX01BWCAtIDEpKTsKPiArCj4gKwkvKiBUZXN0IDMgcGxhbmVz IDggYml0cyBwZXIgcGl4ZWwgZm9ybWF0ICovCj4gKwlpbmZvID0gZHJtX2Zvcm1hdF9pbmZvKERS TV9GT1JNQVRfWVVWNDIyKTsKPiArCUZBSUxfT04oIWluZm8pOwo+ICsJRkFJTF9PTihkcm1fZm9y bWF0X2luZm9fbWluX3BpdGNoKGluZm8sIDAsIDApICE9IDApOwo+ICsJRkFJTF9PTihkcm1fZm9y bWF0X2luZm9fbWluX3BpdGNoKGluZm8sIDEsIDApICE9IDApOwo+ICsJRkFJTF9PTihkcm1fZm9y bWF0X2luZm9fbWluX3BpdGNoKGluZm8sIDIsIDApICE9IDApOwo+ICsJRkFJTF9PTihkcm1fZm9y bWF0X2luZm9fbWluX3BpdGNoKGluZm8sIC0xLCAwKSAhPSAwKTsKPiArCUZBSUxfT04oZHJtX2Zv cm1hdF9pbmZvX21pbl9waXRjaChpbmZvLCAzLCAwKSAhPSAwKTsKPiArCj4gKwlGQUlMX09OKGRy bV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMCwgMSkgIT0gMSk7Cj4gKwlGQUlMX09OKGRy bV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMSwgMSkgIT0gMSk7Cj4gKwlGQUlMX09OKGRy bV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMiwgMSkgIT0gMSk7Cj4gKwlGQUlMX09OKGRy bV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMCwgMikgIT0gMik7Cj4gKwlGQUlMX09OKGRy bV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMSwgMikgIT0gMik7Cj4gKwlGQUlMX09OKGRy bV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMiwgMikgIT0gMik7Cj4gKwlGQUlMX09OKGRy bV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMCwgNjQwKSAhPSA2NDApOwo+ICsJRkFJTF9P Tihkcm1fZm9ybWF0X2luZm9fbWluX3BpdGNoKGluZm8sIDEsIDMyMCkgIT0gMzIwKTsKPiArCUZB SUxfT04oZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChpbmZvLCAyLCAzMjApICE9IDMyMCk7Cj4g KwlGQUlMX09OKGRybV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMCwgMTAyNCkgIT0gMTAy NCk7Cj4gKwlGQUlMX09OKGRybV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMSwgNTEyKSAh PSA1MTIpOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fbWluX3BpdGNoKGluZm8sIDIsIDUx MikgIT0gNTEyKTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChpbmZvLCAw LCAxOTIwKSAhPSAxOTIwKTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChp bmZvLCAxLCA5NjApICE9IDk2MCk7Cj4gKwlGQUlMX09OKGRybV9mb3JtYXRfaW5mb19taW5fcGl0 Y2goaW5mbywgMiwgOTYwKSAhPSA5NjApOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fbWlu X3BpdGNoKGluZm8sIDAsIDQwOTYpICE9IDQwOTYpOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2lu Zm9fbWluX3BpdGNoKGluZm8sIDEsIDIwNDgpICE9IDIwNDgpOwo+ICsJRkFJTF9PTihkcm1fZm9y bWF0X2luZm9fbWluX3BpdGNoKGluZm8sIDIsIDIwNDgpICE9IDIwNDgpOwo+ICsJRkFJTF9PTihk cm1fZm9ybWF0X2luZm9fbWluX3BpdGNoKGluZm8sIDAsIDY3MSkgIT0gNjcxKTsKPiArCUZBSUxf T04oZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChpbmZvLCAxLCAzMzYpICE9IDMzNik7Cj4gKwlG QUlMX09OKGRybV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMiwgMzM2KSAhPSAzMzYpOwo+ ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fbWluX3BpdGNoKGluZm8sIDAsIFVJTlRfTUFYKSAh PQo+ICsJCQkodWludDY0X3QpVUlOVF9NQVgpOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9f bWluX3BpdGNoKGluZm8sIDEsIFVJTlRfTUFYIC8gMiArIDEpICE9Cj4gKwkJCSh1aW50NjRfdClV SU5UX01BWCAvIDIgKyAxKTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChp bmZvLCAyLCBVSU5UX01BWCAvIDIgKyAxKSAhPQo+ICsJCQkodWludDY0X3QpVUlOVF9NQVggLyAy ICsgMSk7Cj4gKwlGQUlMX09OKGRybV9mb3JtYXRfaW5mb19taW5fcGl0Y2goaW5mbywgMCwgKFVJ TlRfTUFYIC0gMSkgLyAyKSAhPQo+ICsJCQkodWludDY0X3QpKFVJTlRfTUFYIC0gMSkgLyAyKTsK PiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChpbmZvLCAxLCAoVUlOVF9NQVgg LSAxKSAvIDIpICE9Cj4gKwkJCSh1aW50NjRfdCkoVUlOVF9NQVggLSAxKSAvIDIpOwo+ICsJRkFJ TF9PTihkcm1fZm9ybWF0X2luZm9fbWluX3BpdGNoKGluZm8sIDIsIChVSU5UX01BWCAtIDEpIC8g MikgIT0KPiArCQkJKHVpbnQ2NF90KShVSU5UX01BWCAtIDEpIC8gMik7Cj4gKwo+ICsJLyogVGVz dCB0aWxlZCBmb3JtYXQgKi8KPiArCWluZm8gPSBkcm1fZm9ybWF0X2luZm8oRFJNX0ZPUk1BVF9Y MEwyKTsKPiArCUZBSUxfT04oIWluZm8pOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fbWlu X3BpdGNoKGluZm8sIDAsIDApICE9IDApOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fbWlu X3BpdGNoKGluZm8sIC0xLCAwKSAhPSAwKTsKPiArCUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX21p bl9waXRjaChpbmZvLCAxLCAwKSAhPSAwKTsKPiArCj4gKwlGQUlMX09OKGRybV9mb3JtYXRfaW5m b19taW5fcGl0Y2goaW5mbywgMCwgMSkgIT0gMik7Cj4gKwlGQUlMX09OKGRybV9mb3JtYXRfaW5m b19taW5fcGl0Y2goaW5mbywgMCwgMikgIT0gNCk7Cj4gKwlGQUlMX09OKGRybV9mb3JtYXRfaW5m b19taW5fcGl0Y2goaW5mbywgMCwgNjQwKSAhPSAxMjgwKTsKPiArCUZBSUxfT04oZHJtX2Zvcm1h dF9pbmZvX21pbl9waXRjaChpbmZvLCAwLCAxMDI0KSAhPSAyMDQ4KTsKPiArCUZBSUxfT04oZHJt X2Zvcm1hdF9pbmZvX21pbl9waXRjaChpbmZvLCAwLCAxOTIwKSAhPSAzODQwKTsKPiArCUZBSUxf T04oZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChpbmZvLCAwLCA0MDk2KSAhPSA4MTkyKTsKPiAr CUZBSUxfT04oZHJtX2Zvcm1hdF9pbmZvX21pbl9waXRjaChpbmZvLCAwLCA2NzEpICE9IDEzNDIp Owo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2luZm9fbWluX3BpdGNoKGluZm8sIDAsIFVJTlRfTUFY KSAhPQo+ICsJCQkodWludDY0X3QpVUlOVF9NQVggKiAyKTsKPiArCUZBSUxfT04oZHJtX2Zvcm1h dF9pbmZvX21pbl9waXRjaChpbmZvLCAwLCBVSU5UX01BWCAtIDEpICE9Cj4gKwkJCSh1aW50NjRf dCkoVUlOVF9NQVggLSAxKSAqIDIpOwo+ICsKPiArCS8qIFRlc3QgZm9ybWF0IHdpdGggY3BwL2No YXJfcGVyX2Jsb2NrIDAgKi8KPiArCWluZm8gPSBkcm1fZm9ybWF0X2luZm8oRFJNX0ZPUk1BVF9W VVkxMDEwMTApOwo+ICsJRkFJTF9PTighaW5mbyk7Cj4gKwlGQUlMX09OKGRybV9mb3JtYXRfaW5m b19taW5fcGl0Y2goaW5mbywgMCwgMCkgIT0gMCk7Cj4gKwlGQUlMX09OKGRybV9mb3JtYXRfaW5m b19taW5fcGl0Y2goaW5mbywgLTEsIDApICE9IDApOwo+ICsJRkFJTF9PTihkcm1fZm9ybWF0X2lu Zm9fbWluX3BpdGNoKGluZm8sIDEsIDApICE9IDApOwo+ICsKPiArCUZBSUxfT04oZHJtX2Zvcm1h dF9pbmZvX21pbl9waXRjaChpbmZvLCAwLCAxKSAhPSAwKTsKPiArCUZBSUxfT04oZHJtX2Zvcm1h dF9pbmZvX21pbl9waXRjaChpbmZvLCAwLCBVSU5UX01BWCkgIT0gMCk7Cj4gKwo+ICsJcmV0dXJu IDA7Cj4gK30KCkNvbXByZWhlbnNpdmUsIGJ1dCBhbHNvIGZhaXJseSBib3JpbmcuIEFueXdheSwg aXQncyBhIHN0YXJ0LCBzbzoKClJldmlld2VkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0 dGVyQGZmd2xsLmNoPgoKV2hhdCBJIGhhZCBpbiBtaW5kIGlzIG1heWJlIG5vdCBxdWl0ZSBzbyBs b3ctbGV2ZWwgdW5pdCB0ZXN0aW5nLCBidXQKZXhlcmNpc2luZyB0aGUgZW50aXJlIGZyYW1lYnVm ZmVyX2NyZWF0ZSBtYWNoaW5lcnkuIFRoZSByZWNlbnRseQpkcm1fY2xpZW50X2ZyYW1lYnVmZmVy X2NyZWF0ZSBlc3NlbnRpYWxseSBnaXZlcyB5b3UgdGhhdCBpbnRlcmZhY2UgZm9yCm1vZHVsZXMg KGJ1dCBJIGd1ZXNzIHdlIGNvdWxkIGFsc28gRVhQT1JUX1NZTUJPTF9GT1JfVEVTVFNfT05MWSwK Y29uZGl0aW9uYWwgb24gZHJtIHNlbGZ0ZXN0cyBiZWluZyBlbmFibGVkLCBkaXJlY3RseSBvbgpk cm1faW50ZXJuYWxfZnJhbWVidWZmZXJfY3JlYXRlKS4KClRoaXMgbmVlZHMgc29tZSBmYWlybHkg bWluaW1hbCBtb2NraW5nIG9mIGEgZHJtX2RldmljZSB3aXRoIGEgYnVuY2ggb2YKZHVtbXkgZnVu Y3Rpb25zICh0aHJvdyB0aGVtIGludG8gdGVzdC1kcm1fbW9kZXNldF9jb21tb24uYyBpZiB5b3Ug ZmVlbApsaWtlKS4gVGhlbiBnbyB0aHJvdWdoIGEgcGlsZSBvZiB2YWxpZCBhbmQgaW52YWxpZCBj b21iaW5hdGlvbnMgYW5kIG1ha2UKc3VyZSB5b3VyIC0+ZmJfY3JlYXRlIGRyaXZlciBjYWxsYmFj ayBpcyBvbmx5IGNhbGxlZCB3aGVuIHdoZW4gaXQgc2hvdWxkCmJlIChhbmQgbm90IGZvciBhbnl0 aGluZyBpbnZhbGlkKS4gSSB0aGluayB0aGF0IHdvdWxkIHlpZWxkIHRoZSBtdWNoIG1vcmUKaW50 ZXJlc3RpbmcgdGVzdGluZyAuLi4KClRoYXQgd2lsbCBhbHNvIHBhdmUgdGhlIGdyb3VuZCBmb3Ig c29tZSByYXRoZXIgbW9yZSBzZXJpb3VzIGFkZGZiIHRlc3RpbmcKaW4gdGhlIGZ1dHVyZS4gQW5k IGV2ZW50dWFsbHkgZXZlbiBtb3JlIHNlcmlvdXMgdGVzdGluZyBvbiBlLmcuIGF0b21pYwpoZWxw ZXJzLgoKQW55d2F5LCBpZiB5b3UgZmVlbCBsaWtlLCB3b3VsZCBiZSBhd2Vzb21lIHRvIGZvbGxv dyB1cCBhIGJpdCBpbiB0aGF0CmRpcmVjdGlvbi4KCkNoZWVycywgRGFuaWVsCgo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL3Rlc3QtZHJtX21vZGVzZXRfY29tbW9uLmgg Yi9kcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL3Rlc3QtZHJtX21vZGVzZXRfY29tbW9uLmgKPiBp bmRleCBiMDA2NWEyZWIwNjcuLjU5MmE2NTgxYjE4OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vc2VsZnRlc3RzL3Rlc3QtZHJtX21vZGVzZXRfY29tbW9uLmgKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vc2VsZnRlc3RzL3Rlc3QtZHJtX21vZGVzZXRfY29tbW9uLmgKPiBAQCAtMTQsNSAr MTQsOCBAQAo+ICAjZGVmaW5lIEZBSUxfT04oeCkgRkFJTCgoeCksICIlcyIsICJGQUlMX09OKCIg X19zdHJpbmdpZnkoeCkgIilcbiIpCj4gIAo+ICBpbnQgaWd0X2NoZWNrX3BsYW5lX3N0YXRlKHZv aWQgKmlnbm9yZWQpOwo+ICtpbnQgaWd0X2NoZWNrX2RybV9mb3JtYXRfYmxvY2tfd2lkdGgodm9p ZCAqaWdub3JlZCk7Cj4gK2ludCBpZ3RfY2hlY2tfZHJtX2Zvcm1hdF9ibG9ja19oZWlnaHQodm9p ZCAqaWdub3JlZCk7Cj4gK2ludCBpZ3RfY2hlY2tfZHJtX2Zvcm1hdF9taW5fcGl0Y2godm9pZCAq aWdub3JlZCk7Cj4gIAo+ICAjZW5kaWYKPiAtLSAKPiAyLjE4LjAKPiAKCi0tIApEYW5pZWwgVmV0 dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZnds bC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmkt ZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK