From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id C73806E126 for ; Tue, 22 Sep 2020 11:25:19 +0000 (UTC) From: "Shankar, Uma" Date: Tue, 22 Sep 2020 11:25:10 +0000 Message-ID: <06da2f238efc4a54a38b5f8f4d1708d3@intel.com> References: <20200902091225.21110-1-juhapekka.heikkila@gmail.com> <1502db5209ed4afead1a8718db37794e@intel.com> <42fbd9ac8b324017967effaff1bd6cb2@intel.com> In-Reply-To: <42fbd9ac8b324017967effaff1bd6cb2@intel.com> Content-Language: en-US MIME-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t] tests/kms_flip_scaled_crc: add flip to downscaled subtests 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: "Shankar, Uma" , "juhapekka.heikkila@gmail.com" , "igt-dev@lists.freedesktop.org" List-ID: DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogaWd0LWRldiA8aWd0LWRl di1ib3VuY2VzQGxpc3RzLmZyZWVkZXNrdG9wLm9yZz4gT24gQmVoYWxmIE9mIFNoYW5rYXIsDQo+ IFVtYQ0KPiBTZW50OiBUdWVzZGF5LCBTZXB0ZW1iZXIgMTUsIDIwMjAgNTozOSBQTQ0KPiBUbzog anVoYXBla2thLmhlaWtraWxhQGdtYWlsLmNvbTsgaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5v cmcNCj4gU3ViamVjdDogUmU6IFtpZ3QtZGV2XSBbUEFUQ0ggaS1nLXRdIHRlc3RzL2ttc19mbGlw X3NjYWxlZF9jcmM6IGFkZCBmbGlwIHRvDQo+IGRvd25zY2FsZWQgc3VidGVzdHMNCj4gDQo+IA0K PiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IEp1aGEtUGVra2Eg SGVpa2tpbGEgPGp1aGFwZWtrYS5oZWlra2lsYUBnbWFpbC5jb20+DQo+ID4gU2VudDogTW9uZGF5 LCBTZXB0ZW1iZXIgMTQsIDIwMjAgNToyOSBQTQ0KPiA+IFRvOiBTaGFua2FyLCBVbWEgPHVtYS5z aGFua2FyQGludGVsLmNvbT47DQo+ID4gaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcNCj4g PiBTdWJqZWN0OiBSZTogW2lndC1kZXZdIFtQQVRDSCBpLWctdF0gdGVzdHMva21zX2ZsaXBfc2Nh bGVkX2NyYzogYWRkDQo+ID4gZmxpcCB0byBkb3duc2NhbGVkIHN1YnRlc3RzDQo+ID4NCj4gPiBP biA0LjkuMjAyMCAxNy4zMSwgU2hhbmthciwgVW1hIHdyb3RlOg0KPiA+ID4NCj4gPiA+DQo+ID4g Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+PiBGcm9tOiBpZ3QtZGV2IDxpZ3Qt ZGV2LWJvdW5jZXNAbGlzdHMuZnJlZWRlc2t0b3Aub3JnPiBPbiBCZWhhbGYgT2YNCj4gPiA+PiBK dWhhLVBla2thIEhlaWtraWxhDQo+ID4gPj4gU2VudDogV2VkbmVzZGF5LCBTZXB0ZW1iZXIgMiwg MjAyMCAyOjQyIFBNDQo+ID4gPj4gVG86IGlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+ ID4gPj4gU3ViamVjdDogW2lndC1kZXZdIFtQQVRDSCBpLWctdF0gdGVzdHMva21zX2ZsaXBfc2Nh bGVkX2NyYzogYWRkDQo+ID4gPj4gZmxpcCB0byBkb3duc2NhbGVkIHN1YnRlc3RzDQo+ID4gPg0K PiA+ID4gSSB0aGluayB0aGlzIHdvdWxkIHNvdW5kIGJldHRlciAiQWRkIFN1YnRlc3RzIGZvciBG bGlwIHdpdGggZmIgZG93bnNjYWxpbmciDQo+ID4gPg0KPiA+ID4+DQo+ID4gPj4gYXR0ZW1wdCB0 byBjYXVzZSBjZGNsayBjaGFuZ2VzIGFuZCBzdHJlc3Mgc2NhbGVycyB3aXRoIGZsaXBwaW5nIHRv DQo+ID4gPj4gZGlmZmVyZW50IHNpemUgZmIgd2l0aCBkaWZmZXJlbnQgbW9kaWZpZXJzLiBWZXJp ZnkgcmVzdWx0cyB3aXRoIGNyYy4NCj4gPiA+DQo+ID4gPiBUaGlzIGlzIGZhaWxpbmcgb24gc29t ZSBwbGF0Zm9ybXMgbGlrZSBpbiBHTEs6DQo+ID4gPiBodHRwczovL2ludGVsLWdmeC1jaS4wMS5v cmcvdHJlZS9kcm0tdGlwL0lHVFBXXzQ5NDUvc2hhcmQtZ2xrOS9pZ3RAaw0KPiA+ID4gbXMgX2Zs aXBfc2NhbGVkX2NyY0BmbGlwLTMyYnBwLXl0aWxlLXRvLTMyYnBwLXl0aWxlY2NzLmh0bWwNCj4g PiA+DQo+ID4gPiBDYW4geW91IGNoZWNrIHdoeSBpdCBjb3VsZCBiZSBoYXBwZW5pbmcsIEkgY2Fu IHNlZSB5b3UgaGF2ZSB0aGUNCj4gPiA+IG1vZGlmaWVyDQo+ID4gY2hlY2suIEJ1dCBzdGlsbCBp dHMgcmVqZWN0aW5nIHRoZSBjb21iaW5hdGlvbiBpbiBkcml2ZXIuDQo+ID4gPiBNYXkgYmUgc29t ZXRoaW5nIHRvIGZpeC4NCj4gPg0KPiA+IFRoaXMgSSBzdXNwZWN0IGlzIHNvbWV0aGluZyBwcm9i bGVtYXRpYyBvbiBpOTE1IHNpZGUsIHdoYXQgaXMgcmV0dXJuZWQNCj4gPiB0aGVyZSBpcyAtIEVJ TlZBTCBmcm9tIGZsaXAuIFRob3NlIEdMSyBkbWVzZ3MgZ2VuZXJhbGx5IGxvb2sgc29tZWhvdw0K PiA+IHJlYWxseSBtZXNzeSwgaXQgaXMgZm9yIHNvbWUgcmVhc29uIGFsbCB0aGUgdGltZSB0cnlp bmcgdG8gZG8NCj4gPiBzb21ldGhpbmcgd2l0aCBwaXBlIGIgZXZlbiB3aGVuIGl0J3Mgc3VwcG9z aW5nIHRvIGJlIGRpc2FibGVkLg0KPiANCj4gT2ssIHdlIG1heSBoYXZlIHRvIGVuc3VyZSB0aGF0 IHRoaXMgZG9lc24ndCBmYWlsIGVsc2UgZW5hYmxpbmcgaXQgaW4gQ0kgd2lsbCBjcmliLg0KPiBN YXkgYmUgY3JlYXRlIGEgc2VwYXJhdGUgQnVnIGZvciB0aGlzIGFuZCBnZXQgdGhhdCB0cmFja2Vk IHNlcGFyYXRlbHkuDQoNCldpdGggdGhpcyBwbGFubmVkIHRvIGJlIHRyYWNrZWQgc2VwYXJhdGVs eSBmb3IgR0xLIHdpdGggYSBKSVJBIEJ1ZywgdGhpcyBjYW4gYmUNCm1lcmdlZC4gUGxlYXNlIHJh aXNlIGEgSklSQSB0byB0cmFjayB0aGF0LiBXaXRoIHRoYXQgYW5kIG90aGVyIG1pbm9yIG5pdCBj b21tZW50cw0KZml4ZWQsIHRoaXMgaXMNCg0KUmV2aWV3ZWQtYnk6IFVtYSBTaGFua2FyIDx1bWEu c2hhbmthckBpbnRlbC5jb20+DQoNCj4gPiA+DQo+ID4gPiBPdmVyYWxsIHRoaXMgaXMgcmVhbGx5 IGEgZ29vZCBwbGFuIHRvIGhhdmUgdGhpcyBjb21iaW5hdGlvbiB0ZXN0ZWQsDQo+ID4gPiBzb21l dGhpbmcNCj4gPiB3ZSBoYXZlIGxhY2tlZC4NCj4gPg0KPiA+IFRoZXJlIHdhcyByZWdyZXNzaW9u IG9uIGRybS10aXAgb24gdGhlc2Ugd2hpY2ggd2FzIGp1c3QgcmVjZW50bHkgZml4ZWQNCj4gPiBo ZW5jZSB0aGlzIHRlc3QuIElmIGZvciBleGFtcGxlIHdvdWxkIGhhdmUgcnVuIHNvbWUgdmlkZW9w bGF5ZXIgd2hpY2gNCj4gPiB1c2VzIGh3IGRvd25zY2FsaW5nIHJlc3VsdCB3b3VsZCd2ZSBiZWVu IGp1c3QgYmxhY2sgc2NyZWVuIDspDQo+ID4gPg0KPiA+ID4+IFNpZ25lZC1vZmYtYnk6IEp1aGEt UGVra2EgSGVpa2tpbGEgPGp1aGFwZWtrYS5oZWlra2lsYUBnbWFpbC5jb20+DQo+ID4gPj4gLS0t DQo+ID4gPj4gICB0ZXN0cy9NYWtlZmlsZS5zb3VyY2VzICAgICAgfCAgIDEgKw0KPiA+ID4+ICAg dGVzdHMva21zX2ZsaXBfc2NhbGVkX2NyYy5jIHwgMjU1DQo+ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKw0KPiA+ID4+ICAgdGVzdHMvbWVzb24uYnVpbGQgICAgICAgICAgIHwg ICAxICsNCj4gPiA+PiAgIDMgZmlsZXMgY2hhbmdlZCwgMjU3IGluc2VydGlvbnMoKykNCj4gPiA+ PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9rbXNfZmxpcF9zY2FsZWRfY3JjLmMNCj4gPiA+ Pg0KPiA+ID4+IGRpZmYgLS1naXQgYS90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzIGIvdGVzdHMvTWFr ZWZpbGUuc291cmNlcyBpbmRleA0KPiA+ID4+IDI2OWI1MDZkLi5mZTlmYjdlZCAxMDA2NDQNCj4g PiA+PiAtLS0gYS90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzDQo+ID4gPj4gKysrIGIvdGVzdHMvTWFr ZWZpbGUuc291cmNlcw0KPiA+ID4+IEBAIC01Myw2ICs1Myw3IEBAIFRFU1RTX3Byb2dzID0gXA0K PiA+ID4+ICAgCWttc19mZW5jZV9waW5fbGVhayBcDQo+ID4gPj4gICAJa21zX2ZsaXAgXA0KPiA+ ID4+ICAgCWttc19mbGlwX2V2ZW50X2xlYWsgXA0KPiA+ID4+ICsJa21zX2ZsaXBfc2NhbGVkX2Ny YyBcDQo+ID4gPj4gICAJa21zX2ZsaXBfdGlsaW5nIFwNCj4gPiA+PiAgIAlrbXNfZm9yY2VfY29u bmVjdG9yX2Jhc2ljIFwNCj4gPiA+PiAgIAlrbXNfZnJvbnRidWZmZXJfdHJhY2tpbmcgXA0KPiA+ ID4+IGRpZmYgLS1naXQgYS90ZXN0cy9rbXNfZmxpcF9zY2FsZWRfY3JjLmMNCj4gPiA+PiBiL3Rl c3RzL2ttc19mbGlwX3NjYWxlZF9jcmMuYyBuZXcgZmlsZSBtb2RlIDEwMDY0NCBpbmRleA0KPiA+ ID4+IDAwMDAwMDAwLi45ZGFhMmY5Mg0KPiA+ID4+IC0tLSAvZGV2L251bGwNCj4gPiA+PiArKysg Yi90ZXN0cy9rbXNfZmxpcF9zY2FsZWRfY3JjLmMNCj4gPiA+PiBAQCAtMCwwICsxLDI1NSBAQA0K PiA+ID4+ICsvKg0KPiA+ID4+ICsgKiBDb3B5cmlnaHQgwqkgMjAyMCBJbnRlbCBDb3Jwb3JhdGlv bg0KPiA+ID4+ICsgKg0KPiA+ID4+ICsgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBm cmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbg0KPiA+ID4+ICtvYnRhaW5pbmcgYQ0KPiA+ID4+ ICsgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBm aWxlcyAodGhlDQo+ID4gPj4gKyJTb2Z0d2FyZSIpLA0KPiA+ID4+ICsgKiB0byBkZWFsIGluIHRo ZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dA0KPiA+ID4+ ICtsaW1pdGF0aW9uDQo+ID4gPj4gKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnks IG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLA0KPiA+ID4+ICtzdWJsaWNlbnNlLA0KPiA+ID4+ ICsgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBl cnNvbnMgdG8NCj4gPiA+PiArd2hvbSB0aGUNCj4gPiA+PiArICogU29mdHdhcmUgaXMgZnVybmlz aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoNCj4gPiA+ PiArICoNCj4gPiA+PiArICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVy bWlzc2lvbiBub3RpY2UNCj4gPiA+PiArKGluY2x1ZGluZyB0aGUgbmV4dA0KPiA+ID4+ICsgKiBw YXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwN Cj4gPiA+PiArcG9ydGlvbnMgb2YgdGhlDQo+ID4gPj4gKyAqIFNvZnR3YXJlLg0KPiA+ID4+ICsg Kg0KPiA+ID4+ICsgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBX QVJSQU5UWSBPRiBBTlkgS0lORCwNCj4gPiA+PiArRVhQUkVTUyBPUg0KPiA+ID4+ICsgKiBJTVBM SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GDQo+ID4g Pj4gK01FUkNIQU5UQUJJTElUWSwNCj4gPiA+PiArICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PDQo+ID4gRVZFTlQNCj4gPiA+PiAr U0hBTEwNCj4gPiA+PiArICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElB QkxFIEZPUiBBTlkgQ0xBSU0sDQo+ID4gREFNQUdFUw0KPiA+ID4+IE9SDQo+ID4gPj4gK09USEVS DQo+ID4gPj4gKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1Qs IFRPUlQgT1IgT1RIRVJXSVNFLA0KPiA+ID4+ICtBUklTSU5HDQo+ID4gPj4gKyAqIEZST00sIE9V VCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1INCj4g PiA+PiBPVEhFUg0KPiA+ID4+ICtERUFMSU5HUw0KPiA+ID4+ICsgKiBJTiBUSEUgU09GVFdBUkUu DQo+ID4gPj4gKyAqDQo+ID4gPj4gKyAqLw0KPiA+ID4+ICsNCj4gPiA+PiArI2luY2x1ZGUgImln dC5oIg0KPiA+ID4+ICsNCj4gPiA+PiArSUdUX1RFU1RfREVTQ1JJUFRJT04oIlRlc3QgZmxpcHBp bmcgYmV0d2VlbiBzY2FsZWQvbm9uc2NhbGVkDQo+ID4gPj4gK2ZyYW1lYnVmZmVycyIpOw0KPiA+ ID4+ICsNCj4gPiA+PiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiA+ID4+ICsJaW50IGRybV9mZDsNCj4g PiA+PiArCWlndF9kaXNwbGF5X3QgZGlzcGxheTsNCj4gPiA+PiArCWlndF9vdXRwdXRfdCAqb3V0 cHV0Ow0KPiA+ID4+ICsJZW51bSBwaXBlIHBpcGU7DQo+ID4gPj4gKwl1aW50MzJfdCBnZW47DQo+ ID4gPj4gKwlzdHJ1Y3QgaWd0X2ZiIHNtYWxsX2ZiOw0KPiA+ID4+ICsJc3RydWN0IGlndF9mYiBi aWdfZmI7DQo+ID4gPj4gKwlpZ3RfcGlwZV9jcmNfdCAqcGlwZV9jcmM7DQo+ID4gPj4gK30gZGF0 YV90Ow0KPiA+ID4+ICsNCj4gPiA+PiArY29uc3Qgc3RydWN0IHsNCj4gPiA+PiArCWNvbnN0IGNo YXIgKiBjb25zdCBuYW1lOw0KPiA+ID4+ICsJY29uc3QgY2hhciAqIGNvbnN0IGRlc2NyaWJlOw0K PiA+ID4+ICsJY29uc3QgdWludDY0X3QgZmlyc3Rtb2RpZmllcjsNCj4gPiA+PiArCWNvbnN0IHVp bnQzMl90IGZpcnN0Zm9ybWF0Ow0KPiA+ID4+ICsJY29uc3QgdWludDY0X3Qgc2Vjb25kbW9kaWZp ZXI7DQo+ID4gPj4gKwljb25zdCB1aW50MzJfdCBzZWNvbmRmb3JtYXQ7DQo+ID4gPj4gK30gZmxp cF9zY2VuYXJpb190ZXN0W10gPSB7DQo+ID4gPj4gKwl7DQo+ID4gPj4gKwkJImZsaXAtMzJicHAt eXRpbGUtdG8tNjRicHAteXRpbGUiLA0KPiA+ID4+ICsJCSJUcnkgdG8gZmxpcCBmcm9tIDMyYnBw IG5vbiBzY2FsZWQgZmIgdG8gNjRicHAgZG93bnNjYWxlZCBmYiBpbg0KPiA+ID4+IGF0dGVtcHQg dG8gc3RyZXNzIGNkY2xrIHJlcHJvZ3JhbW1pbmcuIiwNCj4gPiA+DQo+ID4gPiBXZSBjYW4gdHJp bSB0aGlzIGRlc2NyaXB0aW9uLCBMaWtlOiAiRmxpcCBmcm9tIDMyYnBwIG5vbiBzY2FsZWQgZmIN Cj4gPiA+IHRvIDY0YnBwDQo+ID4gZG93bnNjYWxlZCBmYiB0byBzdHJlc3MgQ0QgY2xvY2sgcHJv Z3JhbW1pbmciDQo+ID4gPiBUcmltIHRoaXMgZm9yIGFsbCBjb21iaW5hdGlvbnMuDQo+ID4gPg0K PiA+ID4+ICsJCUxPQ0FMX0k5MTVfRk9STUFUX01PRF9ZX1RJTEVELCBEUk1fRk9STUFUX1hSR0I4 ODg4LA0KPiA+ID4+ICsJCUxPQ0FMX0k5MTVfRk9STUFUX01PRF9ZX1RJTEVELA0KPiA+ID4+IERS TV9GT1JNQVRfWFJHQjE2MTYxNjE2Rg0KPiA+ID4+ICsJfSwNCj4gPiA+PiArCXsNCj4gPiA+PiAr CQkiZmxpcC02NGJwcC15dGlsZS10by0zMmJwcC15dGlsZSIsDQo+ID4gPj4gKwkJIlRyeSB0byBm bGlwIGZyb20gNjRicHAgbm9uIHNjYWxlZCBmYiB0byAzMmJwcCBkb3duc2NhbGVkIGZiLiIsDQo+ ID4gPj4gKwkJTE9DQUxfSTkxNV9GT1JNQVRfTU9EX1lfVElMRUQsDQo+ID4gPj4gRFJNX0ZPUk1B VF9YUkdCMTYxNjE2MTZGLA0KPiA+ID4+ICsJCUxPQ0FMX0k5MTVfRk9STUFUX01PRF9ZX1RJTEVE LCBEUk1fRk9STUFUX1hSR0I4ODg4DQo+ID4gPj4gKwl9LA0KPiA+ID4+ICsJew0KPiA+ID4+ICsJ CSJmbGlwLTY0YnBwLXl0aWxlLXRvLTE2YnBwLXl0aWxlIiwNCj4gPiA+PiArCQkiVHJ5IHRvIGZs aXAgZnJvbSA2NGJwcCBub24gc2NhbGVkIGZiIHRvIDE2YnBwIGRvd25zY2FsZWQgZmIuIiwNCj4g PiA+PiArCQlMT0NBTF9JOTE1X0ZPUk1BVF9NT0RfWV9USUxFRCwNCj4gPiA+PiBEUk1fRk9STUFU X1hSR0IxNjE2MTYxNkYsDQo+ID4gPj4gKwkJTE9DQUxfSTkxNV9GT1JNQVRfTU9EX1lfVElMRUQs IERSTV9GT1JNQVRfUkdCNTY1DQo+ID4gPj4gKwl9LA0KPiA+ID4+ICsJew0KPiA+ID4+ICsJCSJm bGlwLTMyYnBwLXl0aWxlY2NzLXRvLTY0YnBwLXl0aWxlIiwNCj4gPiA+PiArCQkiVHJ5IHRvIGZs aXAgZnJvbSAzMmJwcCBjY3Mgbm9uIHNjYWxlZCBmYiB0byA2NGJwcCBkb3duc2NhbGVkIGZiDQo+ ID4gPj4geXRpbGUuIiwNCj4gPiA+PiArCQlMT0NBTF9JOTE1X0ZPUk1BVF9NT0RfWV9USUxFRF9D Q1MsDQo+ID4gPj4gRFJNX0ZPUk1BVF9YUkdCODg4OCwNCj4gPiA+PiArCQlMT0NBTF9JOTE1X0ZP Uk1BVF9NT0RfWV9USUxFRCwNCj4gPiA+PiBEUk1fRk9STUFUX1hSR0IxNjE2MTYxNkYNCj4gPiA+ PiArCX0sDQo+ID4gPj4gKwl7DQo+ID4gPj4gKwkJImZsaXAtMzJicHAteXRpbGUtdG8tMzJicHAt eXRpbGVnZW4xMnJjY2NzIiwNCj4gPiA+PiArCQkiVHJ5IHRvIGZsaXAgZnJvbSAzMmJwcCBub24g c2NhbGVkIGZiIHRvIDMyYnBwIGRvd25zY2FsZWQgZ2VuMTINCj4gPiA+PiByYyBjY3MgZmIgaW4g YXR0ZW1wdCB0byBzdHJlc3MgY2RjbGsgcmVwcm9ncmFtbWluZy4iLA0KPiA+ID4+ICsJCUxPQ0FM X0k5MTVfRk9STUFUX01PRF9ZX1RJTEVELCBEUk1fRk9STUFUX1hSR0I4ODg4LA0KPiA+ID4+ICsJ CUxPQ0FMX0k5MTVfRk9STUFUX01PRF9ZX1RJTEVEX0dFTjEyX1JDX0NDUywNCj4gPiA+PiBEUk1f Rk9STUFUX1hSR0I4ODg4DQo+ID4gPj4gKwl9LA0KPiA+ID4+ICsJew0KPiA+ID4+ICsJCSJmbGlw LTMyYnBwLXl0aWxlLXRvLTMyYnBwLXl0aWxlY2NzIiwNCj4gPiA+PiArCQkiVHJ5IHRvIGZsaXAg ZnJvbSAzMmJwcCBub24gc2NhbGVkIHl0aWxlZCBmYiB0byAzMmJwcCBkb3duc2NhbGVkDQo+ID4g Pj4geXRpbGVkIGNjcyBmYi4iLA0KPiA+ID4+ICsJCUxPQ0FMX0k5MTVfRk9STUFUX01PRF9ZX1RJ TEVELCBEUk1fRk9STUFUX1hSR0I4ODg4LA0KPiA+ID4+ICsJCUxPQ0FMX0k5MTVfRk9STUFUX01P RF9ZX1RJTEVEX0NDUywNCj4gPiA+PiBEUk1fRk9STUFUX1hSR0I4ODg4DQo+ID4gPj4gKwl9LA0K PiA+ID4+ICsJew0KPiA+ID4+ICsJCSJmbGlwLTY0YnBwLXl0aWxlLXRvLTMyYnBwLXl0aWxlcmNj Y3MiLA0KPiA+ID4+ICsJCSJUcnkgdG8gZmxpcCBmcm9tIDY0YnBwIG5vbiBzY2FsZWQgeXRpbGVk IGZiIHRvIDMyYnBwIGRvd25zY2FsZWQNCj4gPiA+PiBnZW4xMiByYyBjY3MgZmIuIiwNCj4gPiA+ PiArCQlMT0NBTF9JOTE1X0ZPUk1BVF9NT0RfWV9USUxFRCwNCj4gPiA+PiBEUk1fRk9STUFUX1hS R0IxNjE2MTYxNkYsDQo+ID4gPj4gKwkJTE9DQUxfSTkxNV9GT1JNQVRfTU9EX1lfVElMRURfR0VO MTJfUkNfQ0NTLA0KPiA+ID4+IERSTV9GT1JNQVRfWFJHQjg4ODgNCj4gPiA+PiArCX0sDQo+ID4g Pj4gK307DQo+ID4gPj4gKw0KPiA+ID4+ICtzdGF0aWMgdm9pZCBzZXR1cF9mYihkYXRhX3QgKmRh dGEsIHN0cnVjdCBpZ3RfZmIgKm5ld2ZiLCB1aW50MzJfdCB3aWR0aCwNCj4gPiA+PiArCQkgICAg IHVpbnQzMl90IGhlaWdodCwgdWludDY0X3QgZm9ybWF0LCB1aW50NjRfdCBtb2RpZmllcikgew0K PiA+ID4+ICsJc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgZiA9IHswfTsNCj4gPiA+PiArCWNhaXJv X3QgKmNyOw0KPiA+ID4+ICsNCj4gPiA+PiArCWlndF9yZXF1aXJlKGlndF9kaXNwbGF5X2hhc19m b3JtYXRfbW9kKCZkYXRhLT5kaXNwbGF5LCBmb3JtYXQsDQo+ID4gPj4gKwkJCQkJICAgICAgIG1v ZGlmaWVyKSk7DQo+ID4gPj4gKw0KPiA+ID4+ICsJaWd0X2NyZWF0ZV9ib19mb3JfZmIoZGF0YS0+ ZHJtX2ZkLCB3aWR0aCwgaGVpZ2h0LCBmb3JtYXQsIG1vZGlmaWVyLA0KPiA+ID4+ICsJCQkgICAg IG5ld2ZiKTsNCj4gPiA+PiArCWlndF9hc3NlcnQobmV3ZmItPmdlbV9oYW5kbGUgPiAwKTsNCj4g PiA+PiArDQo+ID4gPj4gKwlmLndpZHRoID0gbmV3ZmItPndpZHRoOw0KPiA+ID4+ICsJZi5oZWln aHQgPSBuZXdmYi0+aGVpZ2h0Ow0KPiA+ID4+ICsJZi5waXhlbF9mb3JtYXQgPSBuZXdmYi0+ZHJt X2Zvcm1hdDsNCj4gPiA+PiArCWYuZmxhZ3MgPSBMT0NBTF9EUk1fTU9ERV9GQl9NT0RJRklFUlM7 DQo+ID4gPj4gKw0KPiA+ID4+ICsJZm9yIChpbnQgbiA9IDA7IG4gPCBuZXdmYi0+bnVtX3BsYW5l czsgbisrKSB7DQo+ID4gPj4gKwkJZi5oYW5kbGVzW25dID0gbmV3ZmItPmdlbV9oYW5kbGU7DQo+ ID4gPj4gKwkJZi5tb2RpZmllcltuXSA9IG5ld2ZiLT5tb2RpZmllcjsNCj4gPiA+PiArCQlmLnBp dGNoZXNbbl0gPSBuZXdmYi0+c3RyaWRlc1tuXTsNCj4gPiA+PiArCQlmLm9mZnNldHNbbl0gPSBu ZXdmYi0+b2Zmc2V0c1tuXTsNCj4gPiA+PiArCX0NCj4gPiA+PiArDQo+ID4gPj4gKwljciA9IGln dF9nZXRfY2Fpcm9fY3R4KGRhdGEtPmRybV9mZCwgbmV3ZmIpOw0KPiA+ID4+ICsJaWd0X3BhaW50 X2NvbG9yKGNyLCAwLCAwLCBuZXdmYi0+d2lkdGgsIG5ld2ZiLT5oZWlnaHQsIDAsIDEsIDApOw0K PiA+ID4+ICsJaWd0X3B1dF9jYWlyb19jdHgoY3IpOw0KPiA+ID4+ICsNCj4gPiA+PiArCWlndF9h c3NlcnQoZHJtSW9jdGwoZGF0YS0+ZHJtX2ZkLCBMT0NBTF9EUk1fSU9DVExfTU9ERV9BRERGQjIs DQo+ID4gPj4gJmYpID09IDApOw0KPiA+ID4+ICsJbmV3ZmItPmZiX2lkID0gZi5mYl9pZDsNCj4g PiA+PiArfQ0KPiA+ID4+ICsNCj4gPiA+PiArc3RhdGljIHZvaWQgZnJlZV9mYnMoZGF0YV90ICpk YXRhKSB7DQo+ID4gPj4gKwlpZ3RfcmVtb3ZlX2ZiKGRhdGEtPmRybV9mZCwgJmRhdGEtPnNtYWxs X2ZiKTsNCj4gPiA+PiArCWlndF9yZW1vdmVfZmIoZGF0YS0+ZHJtX2ZkLCAmZGF0YS0+YmlnX2Zi KTsgfQ0KPiA+ID4+ICsNCj4gPiA+PiArc3RhdGljIHZvaWQgdGVzdF9mbGlwX3RvX3NjYWxlZChk YXRhX3QgKmRhdGEsIHVpbnQzMl90IGluZGV4LCBlbnVtIHBpcGUNCj4gcGlwZSwNCj4gPiA+PiAr CQkJCWlndF9vdXRwdXRfdCAqb3V0cHV0KQ0KPiA+ID4+ICt7DQo+ID4gPj4gKwlpZ3RfcGxhbmVf dCAqcHJpbWFyeTsNCj4gPiA+PiArCWlndF9jcmNfdCBzbWFsbF9jcmMsIGJpZ19jcmM7DQo+ID4g Pj4gKw0KPiA+ID4+ICsJZHJtTW9kZU1vZGVJbmZvICptb2RlOw0KPiA+ID4+ICsJc3RydWN0IGRy bV9ldmVudF92YmxhbmsgZXY7DQo+ID4gPj4gKwlpbnQgcmV0Ow0KPiA+ID4+ICsNCj4gPiA+PiAr CWlndF9kaXNwbGF5X3Jlc2V0KCZkYXRhLT5kaXNwbGF5KTsNCj4gPiA+PiArDQo+ID4gPj4gKwlp Z3RfZGVidWcoInJ1bm5pbmcgb24gb3V0cHV0ICVzIHBpcGUgJXNcbiIsIG91dHB1dC0+bmFtZSwN Cj4gPiA+PiArCQkgIGttc3Rlc3RfcGlwZV9uYW1lKHBpcGUpKTsNCj4gPiA+PiArCWlmIChkYXRh LT5iaWdfZmIuZmJfaWQgPT0gMCkgew0KPiA+ID4+ICsJCW1vZGUgPSBpZ3Rfb3V0cHV0X2dldF9t b2RlKG91dHB1dCk7DQo+ID4gPj4gKw0KPiA+ID4+ICsJCS8vIGJpZyBmYiB3aWxsIGJlIDRrIHVu bGVzcyBydW5uaW5nIG9uIG9sZGVyIHRoYW4gSUNMDQo+ID4gPj4gKwkJaWYgKGRhdGEtPmdlbiA8 IDExKSB7DQo+ID4gPj4gKwkJCXNldHVwX2ZiKGRhdGEsICZkYXRhLT5zbWFsbF9mYiwNCj4gPiA+ PiArCQkJCSBtaW4obW9kZS0+aGRpc3BsYXksIDY0MCksDQo+ID4gPj4gKwkJCQkgbWluKG1vZGUt PnZkaXNwbGF5LCA0ODApLA0KPiA+ID4+ICsJCQkJIGZsaXBfc2NlbmFyaW9fdGVzdFtpbmRleF0u Zmlyc3Rmb3JtYXQsDQo+ID4gPj4gKwkJCQkgZmxpcF9zY2VuYXJpb190ZXN0W2luZGV4XS5maXJz dG1vZGlmaWVyKTsNCj4gPiA+PiArDQo+ID4gPj4gKwkJCXNldHVwX2ZiKGRhdGEsICZkYXRhLT5i aWdfZmIsDQo+ID4gPj4gKwkJCQkgMTI4MCwgOTYwLA0KPiA+ID4NCj4gPiA+IE5vdCBzdXJlLCBi dXQganVzdCBzb21ldGhpbmcgdG8gY2hlY2suIFdoZXRoZXIgdGhpcyBkb3duc2NhbGluZyB3aWxs DQo+ID4gPiB0cmlnZ2VyIGENCj4gPiBjZCBjbG9jayBjaGFuZ2UgZm9yIGFsbCBwbGF0Zm9ybXMu DQo+ID4gPiBXZSBzaG91bGQgc29tZWhvdyBjaGVjayB0aGF0IGFzIHdlbGwgaWYgY2QgY2xvY2sg Y2hhbmdlIHJlYWxseQ0KPiA+ID4gaGFwcGVuZWQuICBDRA0KPiA+IGNsb2NrIHN0ZXBzIGFyZSBu b3QgdW5pZm9ybSBhY3Jvc3MgcGxhdGZvcm1zLg0KPiA+ID4gQWxzbyBpZiBkcml2ZXIgaGFyZGNv ZGVzIGEgaGlnaGVyIGNkIGNsb2NrIHRoaXMgdGVzdCBtYXkgcGFzcw0KPiA+ID4gd2l0aG91dCBp dHMNCj4gPiBpbnRlbmRlZCBvYmplY3RpdmUuDQo+ID4NCj4gPiBJIGNhbm5vdCBlbmZvcmNlIGNk Y2xrIGNoYW5nZXMgYnV0IHdoYXQgaGFwcGVuIGhlcmUgd2l0aCBkb3duc2NhbGluZw0KPiA+IGlz IGl0IGFsd2F5cyBnbyA0OjEgSSBmaWd1cmUgdGhlcmUncyBtaW5pbXVtIGZvdXIgdGltZXMgbW9y ZSBzYW1wbGVzDQo+ID4gbmVlZGVkIHdpdGggZmlsdGVyaW5nLiBBcyBtdWNoIGFzIEkgdmVyaWZp ZWQgdGhvc2UgZG1lc2dzIGZyb20gQ0kNCj4gPiB0aGVyZSB3YXMgYWx3YXlzIGRpc3BsYXkgY2xv Y2sgcmVwcm9ncmFtbWVkIG9uIGFsbCBwbGF0Zm9ybXMgYnV0IGl0IGlzDQo+ID4ganVzdCB3aGF0 IGhhcHBlbiBvbiB0b2RheSdzIGRybS10aXAuIElmIHdvdWxkIHJ1biB0aGlzIG9uIGk5MTUgZnJv bQ0KPiA+IHllYXIgYWdvIHRoZXJlIHdvdWxkIGJlIG5vIHN1Y2ggY2hhbmdlIHRodXMgb24gZGVz Y3JpcHRpb24gaXQganVzdA0KPiA+IHNheXMgJ2F0dGVtcHQgdG8gc3RyZXNzIGNkY2xrJy4NCj4g Pg0KPiA+IEFzIGEgZmxpcHBpbmcgdGVzdCBJIHRoaW5rIGZpbmFsIGludGVuZGVkIG9iamVjdGl2 ZSBpcyBmbGlwcGluZw0KPiA+IGJldHdlZW4gZnJhbWVidWZmZXJzIHN1Y2NlZWRlZCBhbmQgaXQg aXMgdmVyaWZpZWQgd2l0aCBjcmMgYmVsb3cuDQo+IA0KPiBZZWFoIGFncmVlLCBhcyBsb25nIGFz IHRoaXMgY29tYmluYXRpb24gd29ya3Mgd2Ugc2hvdWxkIGJlIGZpbmUuDQo+IA0KPiA+DQo+ID4g Pg0KPiA+ID4+ICsJCQkJIGZsaXBfc2NlbmFyaW9fdGVzdFtpbmRleF0uc2Vjb25kZm9ybWF0LA0K PiA+ID4+ICsJCQkJIGZsaXBfc2NlbmFyaW9fdGVzdFtpbmRleF0uc2Vjb25kbW9kaWZpZXIpOw0K PiA+ID4+ICsJCQlpZ3RfZGVidWcoInNtYWxsIGZiICVkeCVkXG4iLCBkYXRhLT5zbWFsbF9mYi53 aWR0aCwNCj4gPiA+PiArCQkJICAgICAgICAgIGRhdGEtPnNtYWxsX2ZiLmhlaWdodCk7DQo+ID4g Pj4gKwkJCWlndF9kZWJ1ZygiYmlnIGZiICVkeCVkXG4iLCBkYXRhLT5iaWdfZmIud2lkdGgsDQo+ ID4gPj4gKwkJCSAgICAgICAgICBkYXRhLT5iaWdfZmIuaGVpZ2h0KTsNCj4gPiA+PiArCQl9IGVs c2Ugew0KPiA+ID4+ICsJCQlzZXR1cF9mYihkYXRhLCAmZGF0YS0+c21hbGxfZmIsDQo+ID4gPj4g KwkJCQkgbWluKG1vZGUtPmhkaXNwbGF5LCAxOTIwKSwNCj4gPiA+PiArCQkJCSBtaW4obW9kZS0+ dmRpc3BsYXksIDEwODApLA0KPiA+ID4+ICsJCQkJIGZsaXBfc2NlbmFyaW9fdGVzdFtpbmRleF0u Zmlyc3Rmb3JtYXQsDQo+ID4gPj4gKwkJCQkgZmxpcF9zY2VuYXJpb190ZXN0W2luZGV4XS5maXJz dG1vZGlmaWVyKTsNCj4gPiA+PiArDQo+ID4gPj4gKwkJCXNldHVwX2ZiKGRhdGEsICZkYXRhLT5i aWdfZmIsDQo+ID4gPj4gKwkJCQkgMzg0MCwgMjE2MCwNCj4gPiA+PiArCQkJCSBmbGlwX3NjZW5h cmlvX3Rlc3RbaW5kZXhdLnNlY29uZGZvcm1hdCwNCj4gPiA+PiArCQkJCSBmbGlwX3NjZW5hcmlv X3Rlc3RbaW5kZXhdLnNlY29uZG1vZGlmaWVyKTsNCj4gPiA+PiArCQkJaWd0X2RlYnVnKCJzbWFs bCBmYiAlZHglZFxuIiwgZGF0YS0+c21hbGxfZmIud2lkdGgsDQo+ID4gPj4gKwkJCSAgICAgICAg ICBkYXRhLT5zbWFsbF9mYi5oZWlnaHQpOw0KPiA+ID4+ICsJCQlpZ3RfZGVidWcoImJpZyBmYiAl ZHglZFxuIiwgZGF0YS0+YmlnX2ZiLndpZHRoLA0KPiA+ID4+ICsJCQkgICAgICAgICAgZGF0YS0+ YmlnX2ZiLmhlaWdodCk7DQo+ID4gPj4gKwkJfQ0KPiA+ID4+ICsJfQ0KPiA+ID4+ICsNCj4gPiA+ PiArCWlndF9vdXRwdXRfc2V0X3BpcGUob3V0cHV0LCBwaXBlKTsNCj4gPiA+PiArDQo+ID4gPj4g KwlwcmltYXJ5ID0gaWd0X291dHB1dF9nZXRfcGxhbmVfdHlwZShvdXRwdXQsDQo+ID4gPj4gRFJN X1BMQU5FX1RZUEVfUFJJTUFSWSk7DQo+ID4gPj4gKwlpZ3RfZGlzcGxheV9jb21taXRfYXRvbWlj KCZkYXRhLT5kaXNwbGF5LA0KPiA+ID4+IERSTV9NT0RFX0FUT01JQ19BTExPV19NT0RFU0VULA0K PiA+ID4+ICsJCQkJICBOVUxMKTsNCj4gPiA+PiArCWRhdGEtPnBpcGVfY3JjID0gaWd0X3BpcGVf Y3JjX25ldyhkYXRhLT5kcm1fZmQsIHBpcGUsDQo+ID4gPj4gKwkJCQkJICBJTlRFTF9QSVBFX0NS Q19TT1VSQ0VfQVVUTyk7DQo+ID4gPj4gKwlpZ3RfcGlwZV9jcmNfc3RhcnQoZGF0YS0+cGlwZV9j cmMpOw0KPiA+ID4+ICsNCj4gPiA+PiArCWlndF9wbGFuZV9zZXRfcG9zaXRpb24ocHJpbWFyeSwg MCwgMCk7DQo+ID4gPj4gKwlpZ3RfcGxhbmVfc2V0X2ZiKHByaW1hcnksICZkYXRhLT5zbWFsbF9m Yik7DQo+ID4gPj4gKw0KPiA+ID4+ICsJaWd0X2Rpc3BsYXlfY29tbWl0X2F0b21pYygmZGF0YS0+ ZGlzcGxheSwNCj4gPiA+PiArCQkJCSAgRFJNX01PREVfQVRPTUlDX0FMTE9XX01PREVTRVQsIE5V TEwpOw0KPiA+ID4+ICsJaWd0X3BpcGVfY3JjX2dldF9jdXJyZW50KGRhdGEtPmRybV9mZCwgZGF0 YS0+cGlwZV9jcmMsDQo+ID4gPj4gKyZzbWFsbF9jcmMpOw0KPiA+ID4+ICsNCj4gPiA+PiArCWln dF9wbGFuZV9zZXRfZmIocHJpbWFyeSwgJmRhdGEtPmJpZ19mYik7DQo+ID4gPj4gKwlpZ3RfcGxh bmVfc2V0X3NpemUocHJpbWFyeSwgZGF0YS0+c21hbGxfZmIud2lkdGgsDQo+ID4gPj4gKwkJCSAg IGRhdGEtPnNtYWxsX2ZiLmhlaWdodCk7DQo+ID4gPj4gKwlyZXQgPSBpZ3RfZGlzcGxheV90cnlf Y29tbWl0X2F0b21pYygmZGF0YS0+ZGlzcGxheSwNCj4gPiA+PiArDQo+ID4gPj4gRFJNX01PREVf QVRPTUlDX0FMTE9XX01PREVTRVQgIHwNCj4gPiA+PiArCQkJCQkgICAgRFJNX01PREVfUEFHRV9G TElQX0VWRU5ULCBOVUxMKTsNCj4gPiA+PiArDQo+ID4gPj4gKwlpZ3RfcmVxdWlyZV9mKHJldCAh PSAtRVJBTkdFLA0KPiA+ID4+ICsJCSAgICAgICJQbGF0Zm9ybSBzY2FsaW5nIGxpbWl0cyBleGNl ZWRlZCwgc2tpcHBpbmcuIik7DQo+ID4gPj4gKwlpZ3RfYXNzZXJ0X2VxKHJldCwgMCk7DQo+ID4g Pj4gKw0KPiA+ID4+ICsJaWd0X2Fzc2VydChyZWFkKGRhdGEtPmRybV9mZCwgJmV2LCBzaXplb2Yo ZXYpKSA9PSBzaXplb2YoZXYpKTsNCj4gPiA+PiArDQo+ID4gPj4gKwlpZ3RfcGlwZV9jcmNfZ2V0 X2N1cnJlbnQoZGF0YS0+ZHJtX2ZkLCBkYXRhLT5waXBlX2NyYywgJmJpZ19jcmMpOw0KPiA+ID4+ ICsJaWd0X2Fzc2VydChpZ3RfY2hlY2tfY3JjX2VxdWFsKCZzbWFsbF9jcmMsICZiaWdfY3JjKSk7 DQo+ID4gPg0KPiA+ID4gV2l0aCB0aGlzIGRvd25zY2FsaW5nLCBhcmUgd2UgYWJsZSB0byBtYXRj aCBjcmMuIFNjYWxhciBtYXkgZG8gc29tZQ0KPiA+ID4gcm91bmRpbmcsDQo+ID4gc28gbm90IHN1 cmUgaWYgdGhpcyB3aWxsDQo+ID4gPiBtYXRjaCBpbiBhbGwgY2FzZXMuIEdvb2QgdG8gY2hlY2sg dGhpcy4NCj4gPg0KPiA+IFdlIGNhbm5vdCByZWFsbHkgZG8gY3JjIGNoZWNraW5nIHdpdGggc2Nh bGVycyBidXQgSSBoYXZlIGlkZWEgaGVyZQ0KPiA+IG1heGltdW0gc29saWQgZ3JlZW4gd291bGQg c3RheSBtYXhpbXVtIHNvbGlkIGdyZWVuIHJlZ2FyZGxlc3Mgb2YgdGhlDQo+ID4gc2NhbGVyLCBh bGwgY29tcG9uZW50cyBmb3Igc2NhbGVyIGFyZSBtYXhpbXVtIHNvbGlkIGdyZWVuLiBXaXRoIHRo ZXNlDQo+ID4gc3RhcnRpbmcgdmFsdWVzIGlmIHNjYWxlciBjb3VsZG4ndCBwcm9kdWNlIG1heGlt dW0gc29saWQgZ3JlZW4gSSdkDQo+ID4gY2FsbCBzY2FsZXIgYnJva2VuLg0KPiANCj4gSWRlYSBs b29rcyBnb29kLCBzaG91bGQgYmUgZmluZS4NCj4gDQo+ID4gPg0KPiA+ID4+ICsNCj4gPiA+PiAr CWlndF9waXBlX2NyY19zdG9wKGRhdGEtPnBpcGVfY3JjKTsNCj4gPiA+PiArCWlndF9waXBlX2Ny Y19mcmVlKGRhdGEtPnBpcGVfY3JjKTsNCj4gPiA+PiArCWRhdGEtPnBpcGVfY3JjID0gTlVMTDsN Cj4gPiA+PiArfQ0KPiA+ID4+ICsNCj4gPiA+PiAraWd0X21haW4NCj4gPiA+PiArew0KPiA+ID4+ ICsJZW51bSBwaXBlIHBpcGU7DQo+ID4gPj4gKwlkYXRhX3QgZGF0YSA9IHt9Ow0KPiA+ID4+ICsJ aWd0X291dHB1dF90ICpvdXRwdXQ7DQo+ID4gPj4gKw0KPiA+ID4+ICsJaWd0X2ZpeHR1cmUgew0K PiA+ID4+ICsJCWRhdGEuZHJtX2ZkID0gZHJtX29wZW5fZHJpdmVyX21hc3RlcihEUklWRVJfSU5U RUwpOw0KPiA+ID4+ICsJCWRhdGEuZ2VuID0gaW50ZWxfZ2VuKGludGVsX2dldF9kcm1fZGV2aWQo ZGF0YS5kcm1fZmQpKTsNCj4gPiA+PiArCQlpZ3RfcmVxdWlyZShkYXRhLmdlbiA+PSA5KTsNCj4g PiA+PiArCQlpZ3RfZGlzcGxheV9yZXF1aXJlKCZkYXRhLmRpc3BsYXksIGRhdGEuZHJtX2ZkKTsN Cj4gPiA+PiArCQlpZ3RfcmVxdWlyZShkYXRhLmRpc3BsYXkuaXNfYXRvbWljKTsNCj4gPiA+PiAr CQlpZ3RfcmVxdWlyZV9waXBlX2NyYyhkYXRhLmRybV9mZCk7DQo+ID4gPj4gKwkJa21zdGVzdF9z ZXRfdnRfZ3JhcGhpY3NfbW9kZSgpOw0KPiA+ID4+ICsJfQ0KPiA+ID4+ICsNCj4gPiA+PiArCWZv ciAoaW50IGluZGV4ID0gMDsgaW5kZXggPCBBUlJBWV9TSVpFKGZsaXBfc2NlbmFyaW9fdGVzdCk7 IGluZGV4KyspIHsNCj4gPiA+PiArCQlpZ3RfZGVzY3JpYmUoZmxpcF9zY2VuYXJpb190ZXN0W2lu ZGV4XS5kZXNjcmliZSk7DQo+ID4gPj4gKwkJaWd0X3N1YnRlc3QoZmxpcF9zY2VuYXJpb190ZXN0 W2luZGV4XS5uYW1lKSB7DQo+ID4gPj4gKwkJCWZvcl9lYWNoX3BpcGVfd2l0aF9zaW5nbGVfb3V0 cHV0KCZkYXRhLmRpc3BsYXksIHBpcGUsDQo+ID4gPj4gKwkJCQkJCQkgb3V0cHV0KQ0KPiA+ID4+ ICsJCQkJdGVzdF9mbGlwX3RvX3NjYWxlZCgmZGF0YSwgaW5kZXgsIHBpcGUsIG91dHB1dCk7DQo+ ID4gPj4gKw0KPiA+ID4+ICsJCQlmcmVlX2ZicygmZGF0YSk7DQo+ID4gPj4gKwkJfQ0KPiA+ID4+ ICsJfQ0KPiA+ID4+ICsJaWd0X2ZpeHR1cmUgew0KPiA+ID4+ICsJCWZyZWVfZmJzKCZkYXRhKTsN Cj4gPiA+PiArCQlpZiAoZGF0YS5waXBlX2NyYykgew0KPiA+ID4+ICsJCQlpZ3RfcGlwZV9jcmNf c3RvcChkYXRhLnBpcGVfY3JjKTsNCj4gPiA+PiArCQkJaWd0X3BpcGVfY3JjX2ZyZWUoZGF0YS5w aXBlX2NyYyk7DQo+ID4gPj4gKwkJCWRhdGEucGlwZV9jcmMgPSBOVUxMOw0KPiA+ID4+ICsJCX0N Cj4gPiA+PiArCQlrbXN0ZXN0X3NldF92dF90ZXh0X21vZGUoKTsNCj4gPiA+PiArCQlpZ3RfZGlz cGxheV9maW5pKCZkYXRhLmRpc3BsYXkpOw0KPiA+ID4+ICsJfQ0KPiA+ID4+ICt9DQo+ID4gPj4g ZGlmZiAtLWdpdCBhL3Rlc3RzL21lc29uLmJ1aWxkIGIvdGVzdHMvbWVzb24uYnVpbGQgaW5kZXgN Cj4gPiA+PiA2ODRkZTA0My4uOGUxN2E2YWUNCj4gPiA+PiAxMDA2NDQNCj4gPiA+PiAtLS0gYS90 ZXN0cy9tZXNvbi5idWlsZA0KPiA+ID4+ICsrKyBiL3Rlc3RzL21lc29uLmJ1aWxkDQo+ID4gPj4g QEAgLTM3LDYgKzM3LDcgQEAgdGVzdF9wcm9ncyA9IFsNCj4gPiA+PiAgIAkna21zX2ZlbmNlX3Bp bl9sZWFrJywNCj4gPiA+PiAgIAkna21zX2ZsaXAnLA0KPiA+ID4+ICAgCSdrbXNfZmxpcF9ldmVu dF9sZWFrJywNCj4gPiA+PiArCSdrbXNfZmxpcF9zY2FsZWRfY3JjJywNCj4gPiA+PiAgIAkna21z X2ZsaXBfdGlsaW5nJywNCj4gPiA+PiAgIAkna21zX2ZvcmNlX2Nvbm5lY3Rvcl9iYXNpYycsDQo+ ID4gPj4gICAJJ2ttc19mcm9udGJ1ZmZlcl90cmFja2luZycsDQo+ID4gPj4gLS0NCj4gPiA+PiAy LjI2LjANCj4gPiA+Pg0KPiA+ID4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fDQo+ID4gPj4gaWd0LWRldiBtYWlsaW5nIGxpc3QNCj4gPiA+PiBpZ3QtZGV2 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZw0KPiA+ID4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg0KPiANCj4gX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gaWd0LWRldiBtYWlsaW5nIGxpc3QNCj4gaWd0 LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcNCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2lndC1kZXYK