From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 90C9A6E054 for ; Tue, 28 Aug 2018 12:57:55 +0000 (UTC) Date: Tue, 28 Aug 2018 15:57:41 +0300 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Message-ID: <20180828125741.GZ5565@intel.com> References: <20180828104522.18996-1-stanislav.lisovskiy@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20180828104522.18996-1-stanislav.lisovskiy@intel.com> Subject: Re: [igt-dev] [PATCH i-g-t] lib/igt_fb: Added XYUV format support for testing 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: Stanislav Lisovskiy Cc: igt-dev@lists.freedesktop.org, ville.syrjala@intel.com, juha-pekka.heikkila@intel.com, martin.peres@intel.com List-ID: T24gVHVlLCBBdWcgMjgsIDIwMTggYXQgMDE6NDU6MjJQTSArMDMwMCwgU3RhbmlzbGF2IExpc292 c2tpeSB3cm90ZToKPiBYWVVWIGZvcm1hdCBzdXBwb3J0IGhhcyBiZWVuIGFkZGVkIHRvIERSTSwg bW9kaWZpZWQKPiBJR1QgdG8gcmVmbGVjdCB0aG9zZSBjaGFuZ2VzLgo+IC0tLQo+ICBpbmNsdWRl L2RybS11YXBpL2RybV9mb3VyY2MuaCB8ICAgMSArCj4gIGxpYi9pZ3RfZmIuYyAgICAgICAgICAg ICAgICAgIHwgMTYwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KPiAgMiBmaWxl cyBjaGFuZ2VkLCAxNjAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+IAo+IGRpZmYgLS1n aXQgYS9pbmNsdWRlL2RybS11YXBpL2RybV9mb3VyY2MuaCBiL2luY2x1ZGUvZHJtLXVhcGkvZHJt X2ZvdXJjYy5oCj4gaW5kZXggZTA0NjEzZDMuLjBiZjY2ZGUyIDEwMDY0NAo+IC0tLSBhL2luY2x1 ZGUvZHJtLXVhcGkvZHJtX2ZvdXJjYy5oCj4gKysrIGIvaW5jbHVkZS9kcm0tdWFwaS9kcm1fZm91 cmNjLmgKPiBAQCAtMTEyLDYgKzExMiw3IEBAIGV4dGVybiAiQyIgewo+ICAjZGVmaW5lIERSTV9G T1JNQVRfVllVWQkJZm91cmNjX2NvZGUoJ1YnLCAnWScsICdVJywgJ1knKSAvKiBbMzE6MF0gWTE6 Q2IwOlkwOkNyMCA4Ojg6ODo4IGxpdHRsZSBlbmRpYW4gKi8KPiAgCj4gICNkZWZpbmUgRFJNX0ZP Uk1BVF9BWVVWCQlmb3VyY2NfY29kZSgnQScsICdZJywgJ1UnLCAnVicpIC8qIFszMTowXSBBOlk6 Q2I6Q3IgODo4Ojg6OCBsaXR0bGUgZW5kaWFuICovCj4gKyNkZWZpbmUgRFJNX0ZPUk1BVF9YWVVW CQlmb3VyY2NfY29kZSgnWCcsICdZJywgJ1UnLCAnVicpIC8qIFszMTowXSBYOlk6Q2I6Q3IgODo4 Ojg6OCBsaXR0bGUgZW5kaWFuICovCj4gIAo+ICAvKgo+ICAgKiAyIHBsYW5lIFJHQiArIEEKPiBk aWZmIC0tZ2l0IGEvbGliL2lndF9mYi5jIGIvbGliL2lndF9mYi5jCj4gaW5kZXggNzQwNGJhN2Mu LjI3ZjlkNjU3IDEwMDY0NAo+IC0tLSBhL2xpYi9pZ3RfZmIuYwo+ICsrKyBiL2xpYi9pZ3RfZmIu Ywo+IEBAIC02OCw2ICs2OCw4IEBAIHN0YXRpYyBzdHJ1Y3QgZm9ybWF0X2Rlc2Nfc3RydWN0IHsK PiAgfSBmb3JtYXRfZGVzY1tdID0gewo+ICAJREYoUkdCNTY1LAlSR0IxNl81NjUsCTE2LCAxNiks Cj4gIAkvL0RGKFJHQjg4OCwJSU5WQUxJRCwJMjQsIDI0KSwKPiArCURGKFhZVVYsCVJHQjI0LAkJ MzIsIDI0LCAxLCB7MzJ9KSwKPiArCURGKFhSR0I4ODg4LAlSR0IyNCwJCTMyLCAyNCksCj4gIAlE RihYUkdCODg4OCwJUkdCMjQsCQkzMiwgMjQpLAo+ICAJREYoWFJHQjIxMDEwMTAsCVJHQjMwLAkJ MzIsIDMwKSwKPiAgCURGKEFSR0I4ODg4LAlBUkdCMzIsCQkzMiwgMzIpLAo+IEBAIC0xMzk5LDYg KzE0MDEsOTQgQEAgc3RhdGljIHZvaWQgY29udmVydF9udjEyX3RvX3JnYjI0KHN0cnVjdCBpZ3Rf ZmIgKmZiLCBzdHJ1Y3QgZmJfY29udmVydF9ibGl0X3VwbG8KPiAgCWZyZWUoYnVmKTsKPiAgfQo+ ICAKPiArI2RlZmluZSBNQUtFX1lVVl82MDFfWShyLCBnLCBiKSBcCj4gKwkoKCggNjYgKiAocikg KyAxMjkgKiAoZykgKyAgMjUgKiAoYikgKyAxMjgpIC8gMjU2KSArIDE2KQo+ICsjZGVmaW5lIE1B S0VfWVVWXzYwMV9VKHIsIGcsIGIpIFwKPiArCSgoKC0zOCAqIChyKSAtICA3NCAqIChnKSArIDEx MiAqIChiKSArIDEyOCkgLyAyNTYpICsgMTI4KQo+ICsjZGVmaW5lIE1BS0VfWVVWXzYwMV9WKHIs IGcsIGIpIFwKPiArCSgoKDExMiAqIChyKSAtICA5NCAqIChnKSAtICAxOCAqIChiKSArIDEyOCkg LyAyNTYpICsgMTI4KQoKUmV1c2UgdGhlIHl1djwtPnJnYiBzdHVmZiB3ZSBhbHJlYWR5IGhhdmUu Cgo+ICsKPiArI2RlZmluZSBNQUtFX1JHQl8yNF9SKHksIHUsIHYpIFwKPiArCSh5ICsgMCAqIHUg KyAxLjEzOTgzICogdikKPiArCj4gKyNkZWZpbmUgTUFLRV9SR0JfMjRfRyh5LCB1LCB2KSBcCj4g KwkoeSArIC0wLjM5NDY1ICogdSArIC0wLjU4MDYwICogdikKPiArCj4gKyNkZWZpbmUgTUFLRV9S R0JfMjRfQih5LCB1LCB2KSBcCj4gKwkoeSArIC0wLjAzMjExICogdSArIDAgKiB2KQo+ICsKPiAr c3RhdGljIHZvaWQgY29udmVydF95dXY0NDRfdG9fcmdiMjQoc3RydWN0IGlndF9mYiAqZmIsIHN0 cnVjdCBmYl9jb252ZXJ0X2JsaXRfdXBsb2FkICpibGl0KQo+ICt7Cj4gKwlpbnQgaSwgajsKPiAr CXVpbnQ4X3QgKnl1djsKPiArCXVpbnQ4X3QgKnJnYjI0ID0gYmxpdC0+cmdiMjQubWFwOwo+ICsJ dW5zaWduZWQgcmdiMjRfc3RyaWRlID0gYmxpdC0+cmdiMjQuc3RyaWRlLCBwbGFuYXJfc3RyaWRl ID0gYmxpdC0+bGluZWFyLnN0cmlkZTsKPiArCXVpbnQ4X3QgKmJ1ZiA9IG1hbGxvYyhibGl0LT5s aW5lYXIuc2l6ZSk7Cj4gKwo+ICsJLyoKPiArCSAqIFJlYWRpbmcgZnJvbSB0aGUgQk8gaXMgYXdm dWxseSBzbG93IGJlY2F1c2Ugb2YgbGFjayBvZiByZWFkIGNhY2hpbmcsCj4gKwkgKiBpdCdzIGZh c3RlciB0byBjb3B5IHRoZSB3aG9sZSBCTyB0byBhIHRlbXBvcmFyeSBidWZmZXIgYW5kIGNvbnZl cnQKPiArCSAqIGZyb20gdGhlcmUuCj4gKwkgKi8KPiArCWlndF9tZW1jcHlfZnJvbV93YyhidWYs IGJsaXQtPmxpbmVhci5tYXAsIGJsaXQtPmxpbmVhci5zaXplKTsKPiArCXl1diA9ICZidWZbYmxp dC0+bGluZWFyLm9mZnNldHNbMF1dOwo+ICsKPiArCWZvciAoaSA9IDA7IGkgPCBmYi0+cGxhbmVf aGVpZ2h0WzBdOyBpKyspIHsKPiArCQlmb3IgKGogPSAwOyBqIDwgZmItPnBsYW5lX3dpZHRoWzBd OyBqKyspIHsKPiArCQkJZmxvYXQgciwgZywgYiwgeSwgdSwgdjsKPiArCQkJdiA9IHl1dltpICog cGxhbmFyX3N0cmlkZSArIGoqc2l6ZW9mKHVpbnQzMl90KV07Cj4gKwkJCXUgPSB5dXZbaSAqIHBs YW5hcl9zdHJpZGUgKyBqKnNpemVvZih1aW50MzJfdCkgKyAxXTsKPiArCQkJeSA9IHl1dltpICog cGxhbmFyX3N0cmlkZSArIGoqc2l6ZW9mKHVpbnQzMl90KSArIDJdOwo+ICsJCQlyID0gTUFLRV9S R0JfMjRfUih5LHUsdik7Cj4gKwkJCWcgPSBNQUtFX1JHQl8yNF9HKHksdSx2KTsKPiArCQkJYiA9 IE1BS0VfUkdCXzI0X0IoeSx1LHYpOwo+ICsJCQlyZ2IyNFtpICogcmdiMjRfc3RyaWRlICsgaipz aXplb2YodWludDMyX3QpXSA9IGI7Cj4gKwkJCXJnYjI0W2kgKiByZ2IyNF9zdHJpZGUgKyBqKnNp emVvZih1aW50MzJfdCkgKyAxXSA9IGc7Cj4gKwkJCXJnYjI0W2kgKiByZ2IyNF9zdHJpZGUgKyBq KnNpemVvZih1aW50MzJfdCkgKyAyXSA9IHI7Cj4gKwkJfQo+ICsJfQo+ICsKPiArCWZyZWUoYnVm KTsKPiArfQo+ICsKPiArCj4gK3N0YXRpYyB2b2lkIGNvbnZlcnRfcmdiMjRfdG9feXV2NDQ0KHN0 cnVjdCBpZ3RfZmIgKmZiLCBzdHJ1Y3QgZmJfY29udmVydF9ibGl0X3VwbG9hZCAqYmxpdCkKPiAr ewo+ICsJaW50IGksIGo7Cj4gKwl1aW50OF90ICpyZ2I7Cj4gKwl1aW50OF90ICp5dXY0NDQgPSBi bGl0LT5saW5lYXIubWFwOwo+ICsJdW5zaWduZWQgcmdiMjRfc3RyaWRlID0gYmxpdC0+cmdiMjQu c3RyaWRlLCBwbGFuYXJfc3RyaWRlID0gYmxpdC0+bGluZWFyLnN0cmlkZTsKPiArCXVpbnQ4X3Qg KmJ1ZiA9IG1hbGxvYyhibGl0LT5saW5lYXIuc2l6ZSk7Cj4gKwo+ICsJLyoKPiArCSAqIFJlYWRp bmcgZnJvbSB0aGUgQk8gaXMgYXdmdWxseSBzbG93IGJlY2F1c2Ugb2YgbGFjayBvZiByZWFkIGNh Y2hpbmcsCj4gKwkgKiBpdCdzIGZhc3RlciB0byBjb3B5IHRoZSB3aG9sZSBCTyB0byBhIHRlbXBv cmFyeSBidWZmZXIgYW5kIGNvbnZlcnQKPiArCSAqIGZyb20gdGhlcmUuCj4gKwkgKi8KPiArCWln dF9tZW1jcHlfZnJvbV93YyhidWYsIGJsaXQtPnJnYjI0Lm1hcCwgYmxpdC0+bGluZWFyLnNpemUp Owo+ICsJcmdiID0gJmJ1ZltibGl0LT5saW5lYXIub2Zmc2V0c1swXV07Cj4gKwo+ICsJZm9yIChp ID0gMDsgaSA8IGZiLT5wbGFuZV9oZWlnaHRbMF07IGkrKykgewo+ICsJCWZvciAoaiA9IDA7IGog PCBmYi0+cGxhbmVfd2lkdGhbMF07IGorKykgewo+ICsJCQlmbG9hdCByLCBnLCBiLCB5LCB1LCB2 Owo+ICsJCQliID0gcmdiW2kgKiByZ2IyNF9zdHJpZGUgKyBqKnNpemVvZih1aW50MzJfdCldOwo+ ICsJCQlnID0gcmdiW2kgKiByZ2IyNF9zdHJpZGUgKyBqKnNpemVvZih1aW50MzJfdCkgKyAxXTsK PiArCQkJciA9IHJnYltpICogcmdiMjRfc3RyaWRlICsgaipzaXplb2YodWludDMyX3QpICsgMl07 Cj4gKwkJCXkgPSBNQUtFX1lVVl82MDFfWShyLGcsYik7Cj4gKwkJCXUgPSBNQUtFX1lVVl82MDFf VShyLGcsYik7Cj4gKwkJCXYgPSBNQUtFX1lVVl82MDFfVihyLGcsYik7Cj4gKwkJCXl1djQ0NFtp ICogcGxhbmFyX3N0cmlkZSArIGoqc2l6ZW9mKHVpbnQzMl90KV0gPSB2Owo+ICsJCQl5dXY0NDRb aSAqIHBsYW5hcl9zdHJpZGUgKyBqKnNpemVvZih1aW50MzJfdCkgKyAxXSA9IHU7Cj4gKwkJCXl1 djQ0NFtpICogcGxhbmFyX3N0cmlkZSArIGoqc2l6ZW9mKHVpbnQzMl90KSArIDJdID0geTsKPiAr CQl9Cj4gKwl9Cj4gKwo+ICsJZnJlZShidWYpOwo+ICt9Cj4gKwo+ICsKPiArCj4gKwo+ICBzdGF0 aWMgdm9pZCBjb252ZXJ0X3JnYjI0X3RvX252MTIoc3RydWN0IGlndF9mYiAqZmIsIHN0cnVjdCBm Yl9jb252ZXJ0X2JsaXRfdXBsb2FkICpibGl0KQo+ICB7Cj4gIAlpbnQgaSwgajsKPiBAQCAtMTUz NCw2ICsxNjI0LDcyIEBAIHN0YXRpYyB2b2lkIGNyZWF0ZV9jYWlyb19zdXJmYWNlX19jb252ZXJ0 KGludCBmZCwgc3RydWN0IGlndF9mYiAqZmIpCj4gIAkJCQkgICAgYmxpdCwgZGVzdHJveV9jYWly b19zdXJmYWNlX19jb252ZXJ0KTsKPiAgfQo+ICAKPiArCj4gK3N0YXRpYyB2b2lkIGRlc3Ryb3lf Y2Fpcm9fc3VyZmFjZV9fY29udmVydF95dXYodm9pZCAqYXJnKQo+ICt7Cj4gKwlzdHJ1Y3QgZmJf Y29udmVydF9ibGl0X3VwbG9hZCAqYmxpdCA9IGFyZzsKPiArCXN0cnVjdCBpZ3RfZmIgKmZiID0g YmxpdC0+ZmI7Cj4gKwo+ICsJLyogQ29udmVydCBiYWNrIHRvIHBsYW5hciEgKi8KPiArCWlndF9h c3NlcnRfZihmYi0+ZHJtX2Zvcm1hdCA9PSBEUk1fRk9STUFUX1hZVVYsCj4gKwkJICAgICAiQ29u dmVyc2lvbiBub3QgaW1wbGVtZW50ZWQgZm9yICFYWVVWIHBsYW5hciBmb3JtYXRzXG4iKTsKPiAr Cj4gKwljb252ZXJ0X3JnYjI0X3RvX3l1djQ0NChmYiwgYmxpdCk7Cj4gKwo+ICsJbXVubWFwKGJs aXQtPnJnYjI0Lm1hcCwgYmxpdC0+cmdiMjQuc2l6ZSk7Cj4gKwo+ICsJaWYgKGJsaXQtPmxpbmVh ci5oYW5kbGUpCj4gKwkJZnJlZV9saW5lYXJfbWFwcGluZyhibGl0LT5mZCwgYmxpdC0+ZmIsICZi bGl0LT5saW5lYXIpOwo+ICsJZWxzZQo+ICsJCWdlbV9tdW5tYXAoYmxpdC0+bGluZWFyLm1hcCwg ZmItPnNpemUpOwo+ICsKPiArCWZyZWUoYmxpdCk7Cj4gKwo+ICsJZmItPmNhaXJvX3N1cmZhY2Ug PSBOVUxMOwo+ICt9Cj4gKwo+ICsKPiArc3RhdGljIHZvaWQgY3JlYXRlX2NhaXJvX3N1cmZhY2Vf X2NvbnZlcnRfeXV2KGludCBmZCwgc3RydWN0IGlndF9mYiAqZmIpCgpObyBuZWVkIHRvIGR1cGxp Y2F0ZSBhbGwgdGhpcy4gSnVzdCBhZGQgdGhlIHh5dXYgY2FzZSB0byB0aGUgZXhpc3RpbmcKZnVu Y3Rpb24uCgo+ICt7Cj4gKwlzdHJ1Y3QgZmJfY29udmVydF9ibGl0X3VwbG9hZCAqYmxpdCA9IG1h bGxvYyhzaXplb2YoKmJsaXQpKTsKPiArCWlndF9hc3NlcnQoYmxpdCk7Cj4gKwo+ICsJYmxpdC0+ ZmQgPSBmZDsKPiArCWJsaXQtPmZiID0gZmI7Cj4gKwlibGl0LT5yZ2IyNC5zdHJpZGUgPSBBTElH TihmYi0+d2lkdGggKiA0LCAxNik7Cj4gKwlibGl0LT5yZ2IyNC5zaXplID0gQUxJR04oYmxpdC0+ cmdiMjQuc3RyaWRlICogZmItPmhlaWdodCwgc3lzY29uZihfU0NfUEFHRVNJWkUpKTsKPiArCWJs aXQtPnJnYjI0Lm1hcCA9IG1tYXAoTlVMTCwgYmxpdC0+cmdiMjQuc2l6ZSwgUFJPVF9SRUFEIHwg UFJPVF9XUklURSwgTUFQX1BSSVZBVEUgfCBNQVBfQU5PTllNT1VTLCAtMSwgMCk7Cj4gKwlpZ3Rf YXNzZXJ0KGJsaXQtPnJnYjI0Lm1hcCAhPSBNQVBfRkFJTEVEKTsKPiArCj4gKwlpZiAoZmItPnRp bGluZyA9PSBMT0NBTF9JOTE1X0ZPUk1BVF9NT0RfWV9USUxFRCB8fAo+ICsJICAgIGZiLT50aWxp bmcgPT0gTE9DQUxfSTkxNV9GT1JNQVRfTU9EX1lmX1RJTEVEKSB7Cj4gKwkJc2V0dXBfbGluZWFy X21hcHBpbmcoZmQsIGZiLCAmYmxpdC0+bGluZWFyKTsKPiArCX0gZWxzZSB7Cj4gKwkJYmxpdC0+ bGluZWFyLmhhbmRsZSA9IDA7Cj4gKwkJYmxpdC0+bGluZWFyLm1hcCA9IGdlbV9tbWFwX19ndHQo ZmQsIGZiLT5nZW1faGFuZGxlLCBmYi0+c2l6ZSwKPiArCQkJCQkgICAgICBQUk9UX1JFQUQgfCBQ Uk9UX1dSSVRFKTsKPiArCQlpZ3RfYXNzZXJ0KGJsaXQtPmxpbmVhci5tYXApOwo+ICsJCWJsaXQt PmxpbmVhci5zdHJpZGUgPSBmYi0+c3RyaWRlOwo+ICsJCWJsaXQtPmxpbmVhci5zaXplID0gZmIt PnNpemU7Cj4gKwkJbWVtY3B5KGJsaXQtPmxpbmVhci5vZmZzZXRzLCBmYi0+b2Zmc2V0cywgc2l6 ZW9mKGZiLT5vZmZzZXRzKSk7Cj4gKwl9Cj4gKwo+ICsJLyogQ29udmVydCB0byBsaW5lYXIhICov Cj4gKwlpZ3RfYXNzZXJ0X2YoZmItPmRybV9mb3JtYXQgPT0gRFJNX0ZPUk1BVF9YWVVWLAo+ICsJ CSAgICAgIkNvbnZlcnNpb24gbm90IGltcGxlbWVudGVkIGZvciAhWFlVViBwbGFuYXIgZm9ybWF0 c1xuIik7Cj4gKwljb252ZXJ0X3l1djQ0NF90b19yZ2IyNChmYiwgYmxpdCk7Cj4gKwo+ICsJZmIt PmNhaXJvX3N1cmZhY2UgPQo+ICsJCWNhaXJvX2ltYWdlX3N1cmZhY2VfY3JlYXRlX2Zvcl9kYXRh KGJsaXQtPnJnYjI0Lm1hcCwKPiArCQkJCQkJICAgIENBSVJPX0ZPUk1BVF9SR0IyNCwKPiArCQkJ CQkJICAgIGZiLT53aWR0aCwgZmItPmhlaWdodCwKPiArCQkJCQkJICAgIGJsaXQtPnJnYjI0LnN0 cmlkZSk7Cj4gKwo+ICsJY2Fpcm9fc3VyZmFjZV9zZXRfdXNlcl9kYXRhKGZiLT5jYWlyb19zdXJm YWNlLAo+ICsJCQkJICAgIChjYWlyb191c2VyX2RhdGFfa2V5X3QgKiljcmVhdGVfY2Fpcm9fc3Vy ZmFjZV9fY29udmVydF95dXYsCj4gKwkJCQkgICAgYmxpdCwgZGVzdHJveV9jYWlyb19zdXJmYWNl X19jb252ZXJ0X3l1dik7Cj4gK30KPiArCj4gIC8qKgo+ICAgKiBpZ3RfZ2V0X2NhaXJvX3N1cmZh Y2U6Cj4gICAqIEBmZDogb3BlbiBkcm0gZmlsZSBkZXNjcmlwdG9yCj4gQEAgLTE1NDgsNyArMTcw NCw5IEBAIHN0YXRpYyB2b2lkIGNyZWF0ZV9jYWlyb19zdXJmYWNlX19jb252ZXJ0KGludCBmZCwg c3RydWN0IGlndF9mYiAqZmIpCj4gIGNhaXJvX3N1cmZhY2VfdCAqaWd0X2dldF9jYWlyb19zdXJm YWNlKGludCBmZCwgc3RydWN0IGlndF9mYiAqZmIpCj4gIHsKPiAgCWlmIChmYi0+Y2Fpcm9fc3Vy ZmFjZSA9PSBOVUxMKSB7Cj4gLQkJaWYgKGZiLT5udW1fcGxhbmVzID4gMSkKPiArCQlpZiAoZmIt PmRybV9mb3JtYXQgPT0gRFJNX0ZPUk1BVF9YWVVWKQo+ICsJCQljcmVhdGVfY2Fpcm9fc3VyZmFj ZV9fY29udmVydF95dXYoZmQsIGZiKTsKPiArCQllbHNlIGlmIChmYi0+bnVtX3BsYW5lcyA+IDEp Cj4gIAkJCWNyZWF0ZV9jYWlyb19zdXJmYWNlX19jb252ZXJ0KGZkLCBmYik7Cj4gIAkJZWxzZSBp ZiAoZmItPnRpbGluZyA9PSBMT0NBTF9JOTE1X0ZPUk1BVF9NT0RfWV9USUxFRCB8fAo+ICAJCSAg ICBmYi0+dGlsaW5nID09IExPQ0FMX0k5MTVfRk9STUFUX01PRF9ZZl9USUxFRCkKPiAtLSAKPiAy LjE3LjAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xwo+IGlndC1kZXYgbWFpbGluZyBsaXN0Cj4gaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcK PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXYK Ci0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pZ3QtZGV2Cg==