From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans Verkuil Subject: Re: [RFC PATCH 18/20] lib: image-formats: Add v4l2 formats support Date: Thu, 11 Apr 2019 09:15:50 +0200 Message-ID: <1c774bf0-c4c9-4f58-814b-9e734a5974a6@xs4all.nl> References: <7e905f61-3570-d66b-949b-36cc9ba840a9@xs4all.nl> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from lb1-smtp-cloud8.xs4all.net (lb1-smtp-cloud8.xs4all.net [194.109.24.21]) by gabe.freedesktop.org (Postfix) with ESMTPS id 265F7890E9 for ; Thu, 11 Apr 2019 07:15:54 +0000 (UTC) In-Reply-To: <7e905f61-3570-d66b-949b-36cc9ba840a9@xs4all.nl> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Maxime Ripard , Daniel Vetter , David Airlie , Maarten Lankhorst , Sean Paul , Mauro Carvalho Chehab Cc: Sakari Ailus , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Paul Kocialkowski , Hans Verkuil , Laurent Pinchart , Thomas Petazzoni , linux-media@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org T24gNC8xMS8xOSA5OjEyIEFNLCBIYW5zIFZlcmt1aWwgd3JvdGU6Cj4gSGkgTWF4aW1lLAo+IAo+ IFNvbWUgY29tbWVudHMgYmVsb3cuLi4KPiAKPiBPbiAzLzE5LzE5IDEwOjU3IFBNLCBNYXhpbWUg UmlwYXJkIHdyb3RlOgo+PiBWNEwyIHVzZXMgZGlmZmVyZW50IGZvdXJjYydzIHRoYW4gRFJNLCBh bmQgaGFzIGEgZGlmZmVyZW50IHNldCBvZiBmb3JtYXRzLgo+PiBGb3Igbm93LCBsZXQncyBhZGQg dGhlIHY0bDIgZm91cmNjJ3MgZm9yIHRoZSBhbHJlYWR5IGV4aXN0aW5nIGZvcm1hdHMuCj4+Cj4+ IFNpZ25lZC1vZmYtYnk6IE1heGltZSBSaXBhcmQgPG1heGltZS5yaXBhcmRAYm9vdGxpbi5jb20+ Cj4+IC0tLQo+PiAgaW5jbHVkZS9saW51eC9pbWFnZS1mb3JtYXRzLmggfCAgOSArKysrKy0KPj4g IGxpYi9pbWFnZS1mb3JtYXRzLmMgICAgICAgICAgIHwgNjcgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLQo+PiAgMiBmaWxlcyBjaGFuZ2VkLCA3NiBpbnNlcnRpb25zKCspCj4+ Cj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2ltYWdlLWZvcm1hdHMuaCBiL2luY2x1ZGUv bGludXgvaW1hZ2UtZm9ybWF0cy5oCj4+IGluZGV4IDUzZmQ3M2E3MWIzZC4uZmJjM2E0NTAxZWJk IDEwMDY0NAo+PiAtLS0gYS9pbmNsdWRlL2xpbnV4L2ltYWdlLWZvcm1hdHMuaAo+PiArKysgYi9p bmNsdWRlL2xpbnV4L2ltYWdlLWZvcm1hdHMuaAo+PiBAQCAtMjYsNiArMjYsMTMgQEAgc3RydWN0 IGltYWdlX2Zvcm1hdF9pbmZvIHsKPj4gIAl9Owo+PiAgCj4+ICAJLyoqCj4+ICsJICogQHY0bDJf Zm10Ogo+PiArCSAqCj4+ICsJICogVjRMMiA0Q0MgZm9ybWF0IGlkZW50aWZpZXIgKFY0TDJfUElY X0ZNVF8qKQo+PiArCSAqLwo+PiArCXUzMiB2NGwyX2ZtdDsKPj4gKwo+PiArCS8qKgo+PiAgCSAq IEBkZXB0aDoKPj4gIAkgKgo+PiAgCSAqIENvbG9yIGRlcHRoIChudW1iZXIgb2YgYml0cyBwZXIg cGl4ZWwgZXhjbHVkaW5nIHBhZGRpbmcgYml0cyksCj4+IEBAIC0yMjIsNiArMjI5LDggQEAgaW1h Z2VfZm9ybWF0X2luZm9faXNfeXV2X3NhbXBsaW5nXzQ0NChjb25zdCBzdHJ1Y3QgaW1hZ2VfZm9y bWF0X2luZm8gKmluZm8pCj4+ICAKPj4gIGNvbnN0IHN0cnVjdCBpbWFnZV9mb3JtYXRfaW5mbyAq X19pbWFnZV9mb3JtYXRfZHJtX2xvb2t1cCh1MzIgZHJtKTsKPj4gIGNvbnN0IHN0cnVjdCBpbWFn ZV9mb3JtYXRfaW5mbyAqaW1hZ2VfZm9ybWF0X2RybV9sb29rdXAodTMyIGRybSk7Cj4+ICtjb25z dCBzdHJ1Y3QgaW1hZ2VfZm9ybWF0X2luZm8gKl9faW1hZ2VfZm9ybWF0X3Y0bDJfbG9va3VwKHUz MiB2NGwyKTsKPj4gK2NvbnN0IHN0cnVjdCBpbWFnZV9mb3JtYXRfaW5mbyAqaW1hZ2VfZm9ybWF0 X3Y0bDJfbG9va3VwKHUzMiB2NGwyKTsKPj4gIHVuc2lnbmVkIGludCBpbWFnZV9mb3JtYXRfcGxh bmVfY3BwKGNvbnN0IHN0cnVjdCBpbWFnZV9mb3JtYXRfaW5mbyAqZm9ybWF0LAo+PiAgCQkJCSAg ICBpbnQgcGxhbmUpOwo+PiAgdW5zaWduZWQgaW50IGltYWdlX2Zvcm1hdF9wbGFuZV93aWR0aChp bnQgd2lkdGgsCj4+IGRpZmYgLS1naXQgYS9saWIvaW1hZ2UtZm9ybWF0cy5jIGIvbGliL2ltYWdl LWZvcm1hdHMuYwo+PiBpbmRleCA5YjlhNzMyMjBjNWQuLjM5ZjFkMzhhZTg2MSAxMDA2NDQKPj4g LS0tIGEvbGliL2ltYWdlLWZvcm1hdHMuYwo+PiArKysgYi9saWIvaW1hZ2UtZm9ybWF0cy5jCj4+ IEBAIC04LDYgKzgsNyBAQAo+PiAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbWFnZV9mb3JtYXRfaW5m byBmb3JtYXRzW10gPSB7Cj4+ICAJewo+PiAgCQkuZHJtX2ZtdCA9IERSTV9GT1JNQVRfQzgsCj4+ ICsJCS52NGwyX2ZtdCA9IFY0TDJfUElYX0ZNVF9HUkVZLAo+PiAgCQkuZGVwdGggPSA4LAo+PiAg CQkubnVtX3BsYW5lcyA9IDEsCj4+ICAJCS5jcHAgPSB7IDEsIDAsIDAgfSwKPj4gQEAgLTE1LDYg KzE2LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbWFnZV9mb3JtYXRfaW5mbyBmb3JtYXRzW10g PSB7Cj4+ICAJCS52c3ViID0gMSwKPj4gIAl9LCB7Cj4+ICAJCS5kcm1fZm10ID0gRFJNX0ZPUk1B VF9SR0IzMzIsCj4+ICsJCS52NGwyX2ZtdCA9IFY0TDJfUElYX0ZNVF9SR0IzMzIsCj4+ICAJCS5k ZXB0aCA9IDgsCj4+ICAJCS5udW1fcGxhbmVzID0gMSwKPj4gIAkJLmNwcCA9IHsgMSwgMCwgMCB9 LAo+PiBAQCAtMjksNiArMzEsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGltYWdlX2Zvcm1hdF9p bmZvIGZvcm1hdHNbXSA9IHsKPj4gIAkJLnZzdWIgPSAxLAo+PiAgCX0sIHsKPj4gIAkJLmRybV9m bXQgPSBEUk1fRk9STUFUX1hSR0I0NDQ0LAo+PiArCQkudjRsMl9mbXQgPSBWNEwyX1BJWF9GTVRf WFJHQjQ0NCwKPj4gIAkJLmRlcHRoID0gMCwKPj4gIAkJLm51bV9wbGFuZXMgPSAxLAo+PiAgCQku Y3BwID0geyAyLCAwLCAwIH0sCj4+IEBAIC01Nyw2ICs2MCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgaW1hZ2VfZm9ybWF0X2luZm8gZm9ybWF0c1tdID0gewo+PiAgCQkudnN1YiA9IDEsCj4+ICAJ fSwgewo+PiAgCQkuZHJtX2ZtdCA9IERSTV9GT1JNQVRfQVJHQjQ0NDQsCj4+ICsJCS52NGwyX2Zt dCA9IFY0TDJfUElYX0ZNVF9BUkdCNDQ0LAo+PiAgCQkuZGVwdGggPSAwLAo+PiAgCQkubnVtX3Bs YW5lcyA9IDEsCj4+ICAJCS5jcHAgPSB7IDIsIDAsIDAgfSwKPj4gQEAgLTg5LDYgKzkzLDcgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBpbWFnZV9mb3JtYXRfaW5mbyBmb3JtYXRzW10gPSB7Cj4+ICAJ CS5oYXNfYWxwaGEgPSB0cnVlLAo+PiAgCX0sIHsKPj4gIAkJLmRybV9mbXQgPSBEUk1fRk9STUFU X1hSR0IxNTU1LAo+PiArCQkudjRsMl9mbXQgPSBWNEwyX1BJWF9GTVRfWFJHQjU1NSwKPj4gIAkJ LmRlcHRoID0gMTUsCj4+ICAJCS5udW1fcGxhbmVzID0gMSwKPj4gIAkJLmNwcCA9IHsgMiwgMCwg MCB9LAo+PiBAQCAtMTE3LDYgKzEyMiw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW1hZ2VfZm9y bWF0X2luZm8gZm9ybWF0c1tdID0gewo+PiAgCQkudnN1YiA9IDEsCj4+ICAJfSwgewo+PiAgCQku ZHJtX2ZtdCA9IERSTV9GT1JNQVRfQVJHQjE1NTUsCj4+ICsJCS52NGwyX2ZtdCA9IFY0TDJfUElY X0ZNVF9BUkdCNTU1LAo+PiAgCQkuZGVwdGggPSAxNSwKPj4gIAkJLm51bV9wbGFuZXMgPSAxLAo+ PiAgCQkuY3BwID0geyAyLCAwLCAwIH0sCj4+IEBAIC0xNDksNiArMTU1LDcgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBpbWFnZV9mb3JtYXRfaW5mbyBmb3JtYXRzW10gPSB7Cj4+ICAJCS5oYXNfYWxw aGEgPSB0cnVlLAo+PiAgCX0sIHsKPj4gIAkJLmRybV9mbXQgPSBEUk1fRk9STUFUX1JHQjU2NSwK Pj4gKwkJLnY0bDJfZm10ID0gVjRMMl9QSVhfRk1UX1JHQjU2NSwKPj4gIAkJLmRlcHRoID0gMTYs Cj4+ICAJCS5udW1fcGxhbmVzID0gMSwKPj4gIAkJLmNwcCA9IHsgMiwgMCwgMCB9LAo+PiBAQCAt MTYzLDYgKzE3MCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW1hZ2VfZm9ybWF0X2luZm8gZm9y bWF0c1tdID0gewo+PiAgCQkudnN1YiA9IDEsCj4+ICAJfSwgewo+PiAgCQkuZHJtX2ZtdCA9IERS TV9GT1JNQVRfUkdCODg4LAo+PiArCQkudjRsMl9mbXQgPSBWNEwyX1BJWF9GTVRfUkdCMjQsCj4g Cj4gVGhlIFY0TDIgcGl4ZWxmb3JtYXRzIGRlc2NyaWJlIHRoZSBvcmRlciBvZiB0aGUgY29tcG9u ZW50cyBpbiBtZW1vcnksIGFuZCBhcwo+IHN1Y2ggYXJlIGluZGVwZW5kZW50IG9mIHRoZSBDUFUg ZW5kaWFubmVzcy4gSG93IGlzIHRoYXQgZm9yIHRoZSBEUk0gZm9ybWF0cz8KPiAKPiBXaWxsIHRo ZSBvcmRlciBvZiBEUk1fRk9STUFUX1JHQjg4OCBpbiBtZW1vcnkgZGlmZmVyIGJldHdlZW4gbGl0 dGxlIGFuZCBiaWcKPiBlbmRpYW4gc3lzdGVtcz8KPiAKPiBNaW5kIHlvdSwgVjRMMiBkcml2ZXJz IGFyZSBmcmFua2x5IG5ldmVyIHRlc3RlZCBvbiBiaWcgZW5kaWFuIHN5c3RlbXMgYW5kIEkKPiBz dXNwZWN0IG1hbnkgaWYgbm90IGFsbCB3aWxsIGZhaWwgbWlzZXJhYmx5IG9uIGRldGFpbHMgbGlr ZSB0aGlzLgoKTmV2ZXIgbWluZCwgSSBub3cgc2VlIHRoYXQgdGhlcmUgd2FzIGEgbG9uZyBkaXNj dXNzaW9uIGFib3V0IHRoaXMgc2FtZSB0b3BpYy4KCglIYW5zCgo+IAo+PiAgCQkuZGVwdGggPSAy NCwKPj4gIAkJLm51bV9wbGFuZXMgPSAxLAo+PiAgCQkuY3BwID0geyAzLCAwLCAwIH0sCj4+IEBA IC0xNzAsNiArMTc4LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbWFnZV9mb3JtYXRfaW5mbyBm b3JtYXRzW10gPSB7Cj4+ICAJCS52c3ViID0gMSwKPj4gIAl9LCB7Cj4+ICAJCS5kcm1fZm10ID0g RFJNX0ZPUk1BVF9CR1I4ODgsCj4+ICsJCS52NGwyX2ZtdCA9IFY0TDJfUElYX0ZNVF9CR1IyNCwK Pj4gIAkJLmRlcHRoID0gMjQsCj4+ICAJCS5udW1fcGxhbmVzID0gMSwKPj4gIAkJLmNwcCA9IHsg MywgMCwgMCB9LAo+PiBAQCAtMTc3LDYgKzE4Niw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW1h Z2VfZm9ybWF0X2luZm8gZm9ybWF0c1tdID0gewo+PiAgCQkudnN1YiA9IDEsCj4+ICAJfSwgewo+ PiAgCQkuZHJtX2ZtdCA9IERSTV9GT1JNQVRfWFJHQjg4ODgsCj4+ICsJCS52NGwyX2ZtdCA9IFY0 TDJfUElYX0ZNVF9YUkdCMzIsCj4+ICAJCS5kZXB0aCA9IDI0LAo+PiAgCQkubnVtX3BsYW5lcyA9 IDEsCj4+ICAJCS5jcHAgPSB7IDQsIDAsIDAgfSwKPj4gQEAgLTI4MSw2ICsyOTEsNyBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IGltYWdlX2Zvcm1hdF9pbmZvIGZvcm1hdHNbXSA9IHsKPj4gIAkJLmhh c19hbHBoYSA9IHRydWUsCj4+ICAJfSwgewo+PiAgCQkuZHJtX2ZtdCA9IERSTV9GT1JNQVRfQVJH Qjg4ODgsCj4+ICsJCS52NGwyX2ZtdCA9IFY0TDJfUElYX0ZNVF9BUkdCMzIsCj4+ICAJCS5kZXB0 aCA9IDMyLAo+PiAgCQkubnVtX3BsYW5lcyA9IDEsCj4+ICAJCS5jcHAgPSB7IDQsIDAsIDAgfSwK Pj4gQEAgLTM2MSw2ICszNzIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGltYWdlX2Zvcm1hdF9p bmZvIGZvcm1hdHNbXSA9IHsKPj4gIAkJLmhhc19hbHBoYSA9IHRydWUsCj4+ICAJfSwgewo+PiAg CQkuZHJtX2ZtdCA9IERSTV9GT1JNQVRfWVVWNDEwLAo+PiArCQkudjRsMl9mbXQgPSBWNEwyX1BJ WF9GTVRfWVVWNDEwLAo+PiAgCQkuZGVwdGggPSAwLAo+PiAgCQkubnVtX3BsYW5lcyA9IDMsCj4+ ICAJCS5jcHAgPSB7IDEsIDEsIDEgfSwKPj4gQEAgLTM2OSw2ICszODEsNyBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IGltYWdlX2Zvcm1hdF9pbmZvIGZvcm1hdHNbXSA9IHsKPj4gIAkJLmlzX3l1diA9 IHRydWUsCj4+ICAJfSwgewo+PiAgCQkuZHJtX2ZtdCA9IERSTV9GT1JNQVRfWVZVNDEwLAo+PiAr CQkudjRsMl9mbXQgPSBWNEwyX1BJWF9GTVRfWVZVNDEwLAo+PiAgCQkuZGVwdGggPSAwLAo+PiAg CQkubnVtX3BsYW5lcyA9IDMsCj4+ICAJCS5jcHAgPSB7IDEsIDEsIDEgfSwKPj4gQEAgLTM5Myw2 ICs0MDYsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGltYWdlX2Zvcm1hdF9pbmZvIGZvcm1hdHNb XSA9IHsKPj4gIAkJLmlzX3l1diA9IHRydWUsCj4+ICAJfSwgewo+PiAgCQkuZHJtX2ZtdCA9IERS TV9GT1JNQVRfWVVWNDIwLAo+PiArCQkudjRsMl9mbXQgPSBWNEwyX1BJWF9GTVRfWVVWNDIwTSwK Pj4gIAkJLmRlcHRoID0gMCwKPj4gIAkJLm51bV9wbGFuZXMgPSAzLAo+PiAgCQkuY3BwID0geyAx LCAxLCAxIH0sCj4+IEBAIC00MDEsNiArNDE1LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbWFn ZV9mb3JtYXRfaW5mbyBmb3JtYXRzW10gPSB7Cj4+ICAJCS5pc195dXYgPSB0cnVlLAo+PiAgCX0s IHsKPj4gIAkJLmRybV9mbXQgPSBEUk1fRk9STUFUX1lWVTQyMCwKPj4gKwkJLnY0bDJfZm10ID0g VjRMMl9QSVhfRk1UX1lWVTQyME0sCj4+ICAJCS5kZXB0aCA9IDAsCj4+ICAJCS5udW1fcGxhbmVz ID0gMywKPj4gIAkJLmNwcCA9IHsgMSwgMSwgMSB9LAo+PiBAQCAtNDA5LDYgKzQyNCw3IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgaW1hZ2VfZm9ybWF0X2luZm8gZm9ybWF0c1tdID0gewo+PiAgCQku aXNfeXV2ID0gdHJ1ZSwKPj4gIAl9LCB7Cj4+ICAJCS5kcm1fZm10ID0gRFJNX0ZPUk1BVF9ZVVY0 MjIsCj4+ICsJCS52NGwyX2ZtdCA9IFY0TDJfUElYX0ZNVF9ZVVY0MjJNLAo+PiAgCQkuZGVwdGgg PSAwLAo+PiAgCQkubnVtX3BsYW5lcyA9IDMsCj4+ICAJCS5jcHAgPSB7IDEsIDEsIDEgfSwKPj4g QEAgLTQxNyw2ICs0MzMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGltYWdlX2Zvcm1hdF9pbmZv IGZvcm1hdHNbXSA9IHsKPj4gIAkJLmlzX3l1diA9IHRydWUsCj4+ICAJfSwgewo+PiAgCQkuZHJt X2ZtdCA9IERSTV9GT1JNQVRfWVZVNDIyLAo+PiArCQkudjRsMl9mbXQgPSBWNEwyX1BJWF9GTVRf WVZVNDIyTSwKPj4gIAkJLmRlcHRoID0gMCwKPj4gIAkJLm51bV9wbGFuZXMgPSAzLAo+PiAgCQku Y3BwID0geyAxLCAxLCAxIH0sCj4+IEBAIC00MjUsNiArNDQyLDcgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCBpbWFnZV9mb3JtYXRfaW5mbyBmb3JtYXRzW10gPSB7Cj4+ICAJCS5pc195dXYgPSB0cnVl LAo+PiAgCX0sIHsKPj4gIAkJLmRybV9mbXQgPSBEUk1fRk9STUFUX1lVVjQ0NCwKPj4gKwkJLnY0 bDJfZm10ID0gVjRMMl9QSVhfRk1UX1lVVjQ0NE0sCj4+ICAJCS5kZXB0aCA9IDAsCj4+ICAJCS5u dW1fcGxhbmVzID0gMywKPj4gIAkJLmNwcCA9IHsgMSwgMSwgMSB9LAo+PiBAQCAtNDMzLDYgKzQ1 MSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW1hZ2VfZm9ybWF0X2luZm8gZm9ybWF0c1tdID0g ewo+PiAgCQkuaXNfeXV2ID0gdHJ1ZSwKPj4gIAl9LCB7Cj4+ICAJCS5kcm1fZm10ID0gRFJNX0ZP Uk1BVF9ZVlU0NDQsCj4+ICsJCS52NGwyX2ZtdCA9IFY0TDJfUElYX0ZNVF9ZVlU0NDRNLAo+PiAg CQkuZGVwdGggPSAwLAo+PiAgCQkubnVtX3BsYW5lcyA9IDMsCj4+ICAJCS5jcHAgPSB7IDEsIDEs IDEgfSwKPj4gQEAgLTQ0MSw2ICs0NjAsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGltYWdlX2Zv cm1hdF9pbmZvIGZvcm1hdHNbXSA9IHsKPj4gIAkJLmlzX3l1diA9IHRydWUsCj4+ICAJfSwgewo+ PiAgCQkuZHJtX2ZtdCA9IERSTV9GT1JNQVRfTlYxMiwKPj4gKwkJLnY0bDJfZm10ID0gVjRMMl9Q SVhfRk1UX05WMTIsCj4+ICAJCS5kZXB0aCA9IDAsCj4+ICAJCS5udW1fcGxhbmVzID0gMiwKPj4g IAkJLmNwcCA9IHsgMSwgMiwgMCB9LAo+PiBAQCAtNDQ5LDYgKzQ2OSw3IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgaW1hZ2VfZm9ybWF0X2luZm8gZm9ybWF0c1tdID0gewo+PiAgCQkuaXNfeXV2ID0g dHJ1ZSwKPj4gIAl9LCB7Cj4+ICAJCS5kcm1fZm10ID0gRFJNX0ZPUk1BVF9OVjIxLAo+PiArCQku djRsMl9mbXQgPSBWNEwyX1BJWF9GTVRfTlYyMSwKPj4gIAkJLmRlcHRoID0gMCwKPj4gIAkJLm51 bV9wbGFuZXMgPSAyLAo+PiAgCQkuY3BwID0geyAxLCAyLCAwIH0sCj4+IEBAIC00NTcsNiArNDc4 LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbWFnZV9mb3JtYXRfaW5mbyBmb3JtYXRzW10gPSB7 Cj4+ICAJCS5pc195dXYgPSB0cnVlLAo+PiAgCX0sIHsKPj4gIAkJLmRybV9mbXQgPSBEUk1fRk9S TUFUX05WMTYsCj4+ICsJCS52NGwyX2ZtdCA9IFY0TDJfUElYX0ZNVF9OVjE2LAo+PiAgCQkuZGVw dGggPSAwLAo+PiAgCQkubnVtX3BsYW5lcyA9IDIsCj4+ICAJCS5jcHAgPSB7IDEsIDIsIDAgfSwK Pj4gQEAgLTQ2NSw2ICs0ODcsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGltYWdlX2Zvcm1hdF9p bmZvIGZvcm1hdHNbXSA9IHsKPj4gIAkJLmlzX3l1diA9IHRydWUsCj4+ICAJfSwgewo+PiAgCQku ZHJtX2ZtdCA9IERSTV9GT1JNQVRfTlY2MSwKPj4gKwkJLnY0bDJfZm10ID0gVjRMMl9QSVhfRk1U X05WNjEsCj4+ICAJCS5kZXB0aCA9IDAsCj4+ICAJCS5udW1fcGxhbmVzID0gMiwKPj4gIAkJLmNw cCA9IHsgMSwgMiwgMCB9LAo+PiBAQCAtNDczLDYgKzQ5Niw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgaW1hZ2VfZm9ybWF0X2luZm8gZm9ybWF0c1tdID0gewo+PiAgCQkuaXNfeXV2ID0gdHJ1ZSwK Pj4gIAl9LCB7Cj4+ICAJCS5kcm1fZm10ID0gRFJNX0ZPUk1BVF9OVjI0LAo+PiArCQkudjRsMl9m bXQgPSBWNEwyX1BJWF9GTVRfTlYyNCwKPj4gIAkJLmRlcHRoID0gMCwKPj4gIAkJLm51bV9wbGFu ZXMgPSAyLAo+PiAgCQkuY3BwID0geyAxLCAyLCAwIH0sCj4+IEBAIC00ODEsNiArNTA1LDcgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBpbWFnZV9mb3JtYXRfaW5mbyBmb3JtYXRzW10gPSB7Cj4+ICAJ CS5pc195dXYgPSB0cnVlLAo+PiAgCX0sIHsKPj4gIAkJLmRybV9mbXQgPSBEUk1fRk9STUFUX05W NDIsCj4+ICsJCS52NGwyX2ZtdCA9IFY0TDJfUElYX0ZNVF9OVjQyLAo+PiAgCQkuZGVwdGggPSAw LAo+PiAgCQkubnVtX3BsYW5lcyA9IDIsCj4+ICAJCS5jcHAgPSB7IDEsIDIsIDAgfSwKPj4gQEAg LTQ4OSw2ICs1MTQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGltYWdlX2Zvcm1hdF9pbmZvIGZv cm1hdHNbXSA9IHsKPj4gIAkJLmlzX3l1diA9IHRydWUsCj4+ICAJfSwgewo+PiAgCQkuZHJtX2Zt dCA9IERSTV9GT1JNQVRfWVVZViwKPj4gKwkJLnY0bDJfZm10ID0gVjRMMl9QSVhfRk1UX1lVWVYs Cj4+ICAJCS5kZXB0aCA9IDAsCj4+ICAJCS5udW1fcGxhbmVzID0gMSwKPj4gIAkJLmNwcCA9IHsg MiwgMCwgMCB9LAo+PiBAQCAtNDk3LDYgKzUyMyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW1h Z2VfZm9ybWF0X2luZm8gZm9ybWF0c1tdID0gewo+PiAgCQkuaXNfeXV2ID0gdHJ1ZSwKPj4gIAl9 LCB7Cj4+ICAJCS5kcm1fZm10ID0gRFJNX0ZPUk1BVF9ZVllVLAo+PiArCQkudjRsMl9mbXQgPSBW NEwyX1BJWF9GTVRfWVZZVSwKPj4gIAkJLmRlcHRoID0gMCwKPj4gIAkJLm51bV9wbGFuZXMgPSAx LAo+PiAgCQkuY3BwID0geyAyLCAwLCAwIH0sCj4+IEBAIC01MDUsNiArNTMyLDcgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCBpbWFnZV9mb3JtYXRfaW5mbyBmb3JtYXRzW10gPSB7Cj4+ICAJCS5pc195 dXYgPSB0cnVlLAo+PiAgCX0sIHsKPj4gIAkJLmRybV9mbXQgPSBEUk1fRk9STUFUX1VZVlksCj4+ ICsJCS52NGwyX2ZtdCA9IFY0TDJfUElYX0ZNVF9VWVZZLAo+PiAgCQkuZGVwdGggPSAwLAo+PiAg CQkubnVtX3BsYW5lcyA9IDEsCj4+ICAJCS5jcHAgPSB7IDIsIDAsIDAgfSwKPj4gQEAgLTUxMyw2 ICs1NDEsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGltYWdlX2Zvcm1hdF9pbmZvIGZvcm1hdHNb XSA9IHsKPj4gIAkJLmlzX3l1diA9IHRydWUsCj4+ICAJfSwgewo+PiAgCQkuZHJtX2ZtdCA9IERS TV9GT1JNQVRfVllVWSwKPj4gKwkJLnY0bDJfZm10ID0gVjRMMl9QSVhfRk1UX1ZZVVksCj4+ICAJ CS5kZXB0aCA9IDAsCj4+ICAJCS5udW1fcGxhbmVzID0gMSwKPj4gIAkJLmNwcCA9IHsgMiwgMCwg MCB9LAo+PiBAQCAtNjMyLDYgKzY2MSw0NCBAQCBjb25zdCBzdHJ1Y3QgaW1hZ2VfZm9ybWF0X2lu Zm8gKmltYWdlX2Zvcm1hdF9kcm1fbG9va3VwKHUzMiBkcm0pCj4+ICBFWFBPUlRfU1lNQk9MKGlt YWdlX2Zvcm1hdF9kcm1fbG9va3VwKTsKPj4gIAo+PiAgLyoqCj4+ICsgKiBfX2ltYWdlX2Zvcm1h dF92NGwyX2xvb2t1cCAtIHF1ZXJ5IGluZm9ybWF0aW9uIGZvciBhIGdpdmVuIGZvcm1hdAo+PiAr ICogQHY0bDI6IFY0TDIgZm91cmNjIHBpeGVsIGZvcm1hdCAoVjRMMl9QSVhfRk1UXyopCj4+ICsg Kgo+PiArICogVGhlIGNhbGxlciBzaG91bGQgb25seSBwYXNzIGEgc3VwcG9ydGVkIHBpeGVsIGZv cm1hdCB0byB0aGlzIGZ1bmN0aW9uLgo+PiArICoKPj4gKyAqIFJldHVybnM6Cj4+ICsgKiBUaGUg aW5zdGFuY2Ugb2Ygc3RydWN0IGltYWdlX2Zvcm1hdF9pbmZvIHRoYXQgZGVzY3JpYmVzIHRoZSBw aXhlbCBmb3JtYXQsIG9yCj4+ICsgKiBOVUxMIGlmIHRoZSBmb3JtYXQgaXMgdW5zdXBwb3J0ZWQu Cj4+ICsgKi8KPj4gK2NvbnN0IHN0cnVjdCBpbWFnZV9mb3JtYXRfaW5mbyAqX19pbWFnZV9mb3Jt YXRfdjRsMl9sb29rdXAodTMyIHY0bDIpCj4+ICt7Cj4+ICsJcmV0dXJuIF9faW1hZ2VfZm9ybWF0 X2xvb2t1cCh2NGwyX2ZtdCwgdjRsMik7Cj4+ICt9Cj4+ICtFWFBPUlRfU1lNQk9MKF9faW1hZ2Vf Zm9ybWF0X3Y0bDJfbG9va3VwKTsKPj4gKwo+PiArLyoqCj4+ICsgKiBpbWFnZV9mb3JtYXRfdjRs Ml9sb29rdXAgLSBxdWVyeSBpbmZvcm1hdGlvbiBmb3IgYSBnaXZlbiBmb3JtYXQKPj4gKyAqIEB2 NGwyOiBWNEwyIGZvdXJjYyBwaXhlbCBmb3JtYXQgKFY0TDJfUElYX0ZNVF8qKQo+PiArICoKPj4g KyAqIFRoZSBjYWxsZXIgc2hvdWxkIG9ubHkgcGFzcyBhIHN1cHBvcnRlZCBwaXhlbCBmb3JtYXQg dG8gdGhpcyBmdW5jdGlvbi4KPj4gKyAqIFVuc3VwcG9ydGVkIHBpeGVsIGZvcm1hdHMgd2lsbCBn ZW5lcmF0ZSBhIHdhcm5pbmcgaW4gdGhlIGtlcm5lbCBsb2cuCj4+ICsgKgo+PiArICogUmV0dXJu czoKPj4gKyAqIFRoZSBpbnN0YW5jZSBvZiBzdHJ1Y3QgaW1hZ2VfZm9ybWF0X2luZm8gdGhhdCBk ZXNjcmliZXMgdGhlIHBpeGVsIGZvcm1hdCwgb3IKPj4gKyAqIE5VTEwgaWYgdGhlIGZvcm1hdCBp cyB1bnN1cHBvcnRlZC4KPj4gKyAqLwo+PiArY29uc3Qgc3RydWN0IGltYWdlX2Zvcm1hdF9pbmZv ICppbWFnZV9mb3JtYXRfdjRsMl9sb29rdXAodTMyIHY0bDIpCj4+ICt7Cj4+ICsJY29uc3Qgc3Ry dWN0IGltYWdlX2Zvcm1hdF9pbmZvICpmb3JtYXQ7Cj4+ICsKPj4gKwlmb3JtYXQgPSBfX2ltYWdl X2Zvcm1hdF92NGwyX2xvb2t1cCh2NGwyKTsKPj4gKwo+PiArCVdBUk5fT04oIWZvcm1hdCk7Cj4+ ICsJcmV0dXJuIGZvcm1hdDsKPj4gK30KPj4gK0VYUE9SVF9TWU1CT0woaW1hZ2VfZm9ybWF0X3Y0 bDJfbG9va3VwKTsKPj4gKwo+PiArLyoqCj4+ICAgKiBpbWFnZV9mb3JtYXRfcGxhbmVfY3BwIC0g ZGV0ZXJtaW5lIHRoZSBieXRlcyBwZXIgcGl4ZWwgdmFsdWUKPj4gICAqIEBmb3JtYXQ6IHBvaW50 ZXIgdG8gdGhlIGltYWdlX2Zvcm1hdAo+PiAgICogQHBsYW5lOiBwbGFuZSBpbmRleAo+Pgo+IAo+ IEFueXdheSwgSSB0aGluayB0aGlzIGlzIGEgZ3JlYXQgaW1wcm92ZW1lbnQhCj4gCj4gUmVnYXJk cywKPiAKPiAJSGFucwo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJp LWRldmVs