From mboxrd@z Thu Jan 1 00:00:00 1970 From: Inki Dae Subject: Re: [RFC] drm/exynos: abort commit when framebuffer is removed from plane Date: Wed, 09 Jul 2014 23:39:18 +0900 Message-ID: <53BD5416.5050808@samsung.com> References: <1403190809-8413-1-git-send-email-rahul.sharma@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-reply-to: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Rahul Sharma Cc: Kukjin Kim , linux-samsung-soc , sunil joshi , "dri-devel@lists.freedesktop.org" List-Id: linux-samsung-soc@vger.kernel.org T24gMjAxNOuFhCAwN+yblCAwOeydvCAyMDowNiwgUmFodWwgU2hhcm1hIHdyb3RlOgo+IE9uIDgg SnVseSAyMDE0IDIxOjI1LCBJbmtpIERhZSA8aW5raS5kYWVAc2Ftc3VuZy5jb20+IHdyb3RlOgo+ PiAyMDE0LTA2LTIwIDA6MTMgR01UKzA5OjAwIFJhaHVsIFNoYXJtYSA8cmFodWwuc2hhcm1hQHNh bXN1bmcuY29tPjoKPj4+IFRoaXMgc2l0dWF0aW9uIGFyaXNlcyB3aGVuIHVzZXJzcGFjZSByZW1v dmUgdGhlIGZyYW1idWZmZXIgb2JqZWN0Cj4+PiBhbmQgY2FsbCBzZXRtb2RlIGlvY3RsLgo+Pj4K Pj4+IGRybV9tb2RlX3JtZmIgLS0+IGRybV9wbGFuZV9mb3JjZV9kaXNhYmxlIC0tPiBwbGFuZS0+ Y3J0YyA9IE5VTEw7Cj4+PiBhbmQKPj4+IGRybV9tb2RlX3NldGNydGMgLS0+IGV4eW5vc19wbGFu ZV9jb21taXQgLS0+IHBhc3NlcyBwbGFuZS0+Y3J0YyB0bwo+Pj4gZXh5bm9zX2RybV9jcnRjX3Bs YW5lX2NvbW1pdCB3aGljaCBpcyBOVUxMLgo+Pgo+PiBJZiB1c2VyIHByb2Nlc3MgcmVxdWVzdGVk IGRybV9tb2RlX3JtZmIgd2l0aCBhIGZiX2lkLCBmYiBvYmplY3QgdG8gdGhlCj4+IGZiX2lkIG11 c3QgYmUgcmVtb3ZlZCBmcm9tIGNydGNfaWRyIHRhYmxlLiBTbyBkcm1fbW9kZV9zZXRjcnRjIHNo b3VsZAo+PiBiZSBmYWlsZWQgYmVjYXVzZSB0aGVyZSBpcyBubyB0aGUgZmIgb2JqZWN0IGluIHRo ZSBjcnRjX2lkciB0YWJsZQo+PiBhbnltb3JlLgo+PiBJIGNhbm5vdCB1bmRlcnN0YW5kIGhvdyBl eHlub3NfZHJtX2NydGNfcGxhbmVfY29tbWl0IGZ1bmN0aW9uIGNvdWxkIGJlCj4+IGNhbGxlZC4g Q2FuIHlvdSBnaXZlIG1lIG1vcmUgZGV0YWlscz8KPiAKPiBJbmtpLAo+IAo+IFRoZXNlIGxvZ3Mg c2hvdWxkIGNsYXJpZnkgbW9yZSBhYm91dCB0aGUgcHJvYmxlbToKClRoYW5rcy4gQW5kIGhvdyBj YW4gSSByZWVuYWN0IGJlbG93IHByb2JsZW0/IGlmIHdlIGNvdWxkIHJlZW5hY3QgdGhpcwpwcm9i bGVtLCB3ZSBtYXkgZmluZCBvdXQgZnVuZGFtZW50YWwgcHJvYmxlbSBhbmQgcmVzb2x2ZSBpdCBp biBtb3JlCmdlbmVyaWMuIENhbiBJIGdldCBleGFtcGxlIGNvZGU/CgpUaGFua3MsCklua2kgRGFl Cgo+IAo+IGxvY2FsaG9zdCB+ICMgaGFsdAo+IGxvY2FsaG9zdCB+ICMgWyAgMTMwLjU3MDMwOV0g aW5pdDogZGVidWdkIG1haW4gcHJvY2VzcyAoNzgxKSBraWxsZWQgYnkKPiBURVJNIHNpZ25hbAo+ IFsgIDEzMC42MDI0NTNdIGluaXQ6IGxpZF90b3VjaHBhZF9oZWxwZXIgbWFpbiBwcm9jZXNzICgy MTAwKSBraWxsZWQgYnkKPiBURVJNIHNpZ25hbAo+IFsgIDEzMS4zNzQ5NTVdIENQVTogMiBQSUQ6 IDgzNCBDb21tOiBYIFRhaW50ZWQ6IEcgICAgICAgIFcgICAgIDMuMTYuMC1yYzErICM2MjMKPiBb ICAxMzEuMzgwNTU4XSBbPGMwMDE1NWI4Pl0gKHVud2luZF9iYWNrdHJhY2UpIGZyb20gWzxjMDAx MjEzYz5dCj4gKHNob3dfc3RhY2srMHgyMC8weDI0KQo+IFsgIDEzMS4zODgzMjddIFs8YzAwMTIx M2M+XSAoc2hvd19zdGFjaykgZnJvbSBbPGMwNTIxN2Q0Pl0KPiAoZHVtcF9zdGFjaysweDdjLzB4 OTgpCj4gWyAgMTMxLjM5NTUyMl0gWzxjMDUyMTdkND5dIChkdW1wX3N0YWNrKSBmcm9tIFs8YzAy YWI3ZTQ+XQo+IChleHlub3NfZHJtX2NydGNfcGxhbmVfY29tbWl0KzB4MjAvMHg0MCkKPiBbICAx MzEuNDA0MjYzXSBbPGMwMmFiN2U0Pl0gKGV4eW5vc19kcm1fY3J0Y19wbGFuZV9jb21taXQpIGZy b20KPiBbPGMwMmFlMjhjPl0gKGV4eW5vc19wbGFuZV9jb21taXQrMHgyNC8weDI4KQo+IFsgIDEz MS40MTM3NzldIFs8YzAyYWUyOGM+XSAoZXh5bm9zX3BsYW5lX2NvbW1pdCkgZnJvbSBbPGMwMmFi MWM4Pl0KPiAoZXh5bm9zX2RybV9jcnRjX2NvbW1pdCsweDJjLzB4NTQpCj4gWyAgMTMxLjQyMjgw Ml0gWzxjMDJhYjFjOD5dIChleHlub3NfZHJtX2NydGNfY29tbWl0KSBmcm9tIFs8YzAyYWIyYzA+ XQo+IChleHlub3NfZHJtX2NydGNfbW9kZV9zZXRfY29tbWl0LmlzcmEuMSsweDhjLzB4YTApCj4g WyAgMTMxLjQzMzQ2OF0gWzxjMDJhYjJjMD5dIChleHlub3NfZHJtX2NydGNfbW9kZV9zZXRfY29t bWl0LmlzcmEuMSkKPiBmcm9tIFs8YzAyYWIzZjA+XSAoZXh5bm9zX2RybV9jcnRjX3BhZ2VfZmxp cCsweDEwMC8weDE3NCkKPiBbICAxMzEuNDQ0NTg3XSBbPGMwMmFiM2YwPl0gKGV4eW5vc19kcm1f Y3J0Y19wYWdlX2ZsaXApIGZyb20KPiBbPGMwMmExYWI0Pl0gKGRybV9tb2RlX3BhZ2VfZmxpcF9p b2N0bCsweDFmMC8weDJiMCkKPiAtLT4+IFsgIDEzMS40NTQ0NjBdIFs8YzAyYTFhYjQ+XSAoZHJt X21vZGVfcGFnZV9mbGlwX2lvY3RsKSBmcm9tCj4gWzxjMDI5MmNiND5dIChkcm1faW9jdGwrMHgy NzAvMHg0NGMpCj4gWyAgMTMxLjQ2Mjk2Nl0gWzxjMDI5MmNiND5dIChkcm1faW9jdGwpIGZyb20g WzxjMDExMzAyYz5dCj4gKGRvX3Zmc19pb2N0bCsweDRlNC8weDVhMCkKPiBbICAxMzEuNDcwMzk3 XSBbPGMwMTEzMDJjPl0gKGRvX3Zmc19pb2N0bCkgZnJvbSBbPGMwMTEzMTQ0Pl0KPiAoU3lTX2lv Y3RsKzB4NWMvMHg4NCkKPiBbICAxMzEuNDc3NzI4XSBbPGMwMTEzMTQ0Pl0gKFN5U19pb2N0bCkg ZnJvbSBbPGMwMDBlMzgwPl0KPiAocmV0X2Zhc3Rfc3lzY2FsbCsweDAvMHgzMCkKPiBbICAxMzEu NzYyNzk3XSBDUFU6IDEgUElEOiA4MzQgQ29tbTogWCBUYWludGVkOiBHICAgICAgICBXICAgICAz LjE2LjAtcmMxKyAjNjIzCj4gWyAgMTMxLjc2ODM3OF0gWzxjMDAxNTViOD5dICh1bndpbmRfYmFj a3RyYWNlKSBmcm9tIFs8YzAwMTIxM2M+XQo+IChzaG93X3N0YWNrKzB4MjAvMHgyNCkKPiBbICAx MzEuNzc2MTUxXSBbPGMwMDEyMTNjPl0gKHNob3dfc3RhY2spIGZyb20gWzxjMDUyMTdkND5dCj4g KGR1bXBfc3RhY2srMHg3Yy8weDk4KQo+IFsgIDEzMS43ODMzMTVdIFs8YzA1MjE3ZDQ+XSAoZHVt cF9zdGFjaykgZnJvbSBbPGMwMjljMTMwPl0KPiAoZHJtX3BsYW5lX2ZvcmNlX2Rpc2FibGUrMHg1 Yy8weDY4KQo+IFsgIDEzMS43OTE2NThdIFs8YzAyOWMxMzA+XSAoZHJtX3BsYW5lX2ZvcmNlX2Rp c2FibGUpIGZyb20KPiBbPGMwMjljZjY4Pl0gKGRybV9mcmFtZWJ1ZmZlcl9yZW1vdmUrMHhlNC8w eDExMCkKPiBbICAxMzEuODAxMDcwXSBbPGMwMjljZjY4Pl0gKGRybV9mcmFtZWJ1ZmZlcl9yZW1v dmUpIGZyb20gWzxjMDJhMDljMD5dCj4gKGRybV9tb2RlX3JtZmIrMHhkNC8weGZjKQo+IC0tPj4g WyAgMTMxLjgwOTU5N10gWzxjMDJhMDljMD5dIChkcm1fbW9kZV9ybWZiKSBmcm9tIFs8YzAyOTJj YjQ+XQo+IChkcm1faW9jdGwrMHgyNzAvMHg0NGMpCj4gWyAgMTMxLjgxNzEzNV0gWzxjMDI5MmNi ND5dIChkcm1faW9jdGwpIGZyb20gWzxjMDExMzAyYz5dCj4gKGRvX3Zmc19pb2N0bCsweDRlNC8w eDVhMCkKPiBbICAxMzEuODI0NjA5XSBbPGMwMTEzMDJjPl0gKGRvX3Zmc19pb2N0bCkgZnJvbSBb PGMwMTEzMTQ0Pl0KPiAoU3lTX2lvY3RsKzB4NWMvMHg4NCkKPiBbICAxMzEuODMxODg0XSBbPGMw MTEzMTQ0Pl0gKFN5U19pb2N0bCkgZnJvbSBbPGMwMDBlMzgwPl0KPiAocmV0X2Zhc3Rfc3lzY2Fs bCsweDAvMHgzMCkKPiBbICAxMzIuMDc3ODAzXSBDUFU6IDAgUElEOiA4MzQgQ29tbTogWCBUYWlu dGVkOiBHICAgICAgICBXICAgICAzLjE2LjAtcmMxKyAjNjIzCj4gWyAgMTMyLjA4MzQxM10gWzxj MDAxNTViOD5dICh1bndpbmRfYmFja3RyYWNlKSBmcm9tIFs8YzAwMTIxM2M+XQo+IChzaG93X3N0 YWNrKzB4MjAvMHgyNCkKPiBbICAxMzIuMDkxMTExXSBbPGMwMDEyMTNjPl0gKHNob3dfc3RhY2sp IGZyb20gWzxjMDUyMTdkND5dCj4gKGR1bXBfc3RhY2srMHg3Yy8weDk4KQo+IFsgIDEzMi4wOTgz NDNdIFs8YzA1MjE3ZDQ+XSAoZHVtcF9zdGFjaykgZnJvbSBbPGMwMmFiN2U0Pl0KPiAoZXh5bm9z X2RybV9jcnRjX3BsYW5lX2NvbW1pdCsweDIwLzB4NDApCj4gWyAgMTMyLjEwNzA5OF0gWzxjMDJh YjdlND5dIChleHlub3NfZHJtX2NydGNfcGxhbmVfY29tbWl0KSBmcm9tCj4gWzxjMDJhZTI4Yz5d IChleHlub3NfcGxhbmVfY29tbWl0KzB4MjQvMHgyOCkKPiBbICAxMzIuMTE2NjMxXSBbPGMwMmFl MjhjPl0gKGV4eW5vc19wbGFuZV9jb21taXQpIGZyb20gWzxjMDJhYjFjOD5dCj4gKGV4eW5vc19k cm1fY3J0Y19jb21taXQrMHgyYy8weDU0KQo+IFsgIDEzMi4xMjU2NjBdIFs8YzAyYWIxYzg+XSAo ZXh5bm9zX2RybV9jcnRjX2NvbW1pdCkgZnJvbSBbPGMwMmFiMmMwPl0KPiAoZXh5bm9zX2RybV9j cnRjX21vZGVfc2V0X2NvbW1pdC5pc3JhLjErMHg4Yy8weGEwKQo+IFsgIDEzMi4xMzYzMzBdIFs8 YzAyYWIyYzA+XSAoZXh5bm9zX2RybV9jcnRjX21vZGVfc2V0X2NvbW1pdC5pc3JhLjEpCj4gZnJv bSBbPGMwMmFiMmVjPl0gKGV4eW5vc19kcm1fY3J0Y19tb2RlX3NldF9iYXNlKzB4MTgvMHgxYykK PiBbICAxMzIuMTQ3NjA1XSBbPGMwMmFiMmVjPl0gKGV4eW5vc19kcm1fY3J0Y19tb2RlX3NldF9i YXNlKSBmcm9tCj4gWzxjMDI4YzE0OD5dIChkcm1fY3J0Y19oZWxwZXJfc2V0X2NvbmZpZysweDgy OC8weDhhNCkKPiBbICAxMzIuMTU4MDI5XSBbPGMwMjhjMTQ4Pl0gKGRybV9jcnRjX2hlbHBlcl9z ZXRfY29uZmlnKSBmcm9tCj4gWzxjMDI5Y2UxYz5dIChkcm1fbW9kZV9zZXRfY29uZmlnX2ludGVy bmFsKzB4NTgvMHhjMCkKPiBbICAxMzIuMTY4MTU1XSBbPGMwMjljZTFjPl0gKGRybV9tb2RlX3Nl dF9jb25maWdfaW50ZXJuYWwpIGZyb20KPiBbPGMwMjlmZTY0Pl0gKGRybV9tb2RlX3NldGNydGMr MHgzODgvMHg0YWMpCj4gLS0+PiBbICAxMzIuMTc3NjMwXSBbPGMwMjlmZTY0Pl0gKGRybV9tb2Rl X3NldGNydGMpIGZyb20gWzxjMDI5MmNiND5dCj4gKGRybV9pb2N0bCsweDI3MC8weDQ0YykKPiBb ICAxMzIuMTg1NDE3XSBbPGMwMjkyY2I0Pl0gKGRybV9pb2N0bCkgZnJvbSBbPGMwMTEzMDJjPl0K PiAoZG9fdmZzX2lvY3RsKzB4NGU0LzB4NWEwKQo+IFsgIDEzMi4xOTI4OTddIFs8YzAxMTMwMmM+ XSAoZG9fdmZzX2lvY3RsKSBmcm9tIFs8YzAxMTMxNDQ+XQo+IChTeVNfaW9jdGwrMHg1Yy8weDg0 KQo+IFsgIDEzMi4yMDAxMzhdIFs8YzAxMTMxNDQ+XSAoU3lTX2lvY3RsKSBmcm9tIFs8YzAwMGUz ODA+XQo+IChyZXRfZmFzdF9zeXNjYWxsKzB4MC8weDMwKQo+IFsgIDEzMi4yMDc3MzVdIFVuYWJs ZSB0byBoYW5kbGUga2VybmVsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBhdAo+IHZpcnR1YWwg YWRkcmVzcyAwMDAwMDMyYwo+IC4uCj4gLi4KPiBbICAxMzIuNTEwNzg2XSBmZjgwOiBiNmViZGVi OCBiZWUxZDVlOCBjMDY4NjRhMiAwMDAwMDAzNiBjMDAwZTVhNAo+IGVjZjBlMDAwIDAwMDAwMDAw IGVjZjBmZmE4Cj4gWyAgMTMyLjUxODk0MV0gZmZhMDogYzAwMGUzODAgYzAxMTMwZjQgYjZlYmRl YjggYmVlMWQ1ZTggMDAwMDAwMDUKPiBjMDY4NjRhMiBiZWUxZDVlOCAwMDAwMDAwMQo+IFsgIDEz Mi41MjcwOTVdIGZmYzA6IGI2ZWJkZWI4IGJlZTFkNWU4IGMwNjg2NGEyIDAwMDAwMDM2IGI4NWQ0 YTc0Cj4gYjg3MDJhNjAgMDAwMDAwMDAgYmVlMWQ2ODgKPiBbICAxMzIuNTM1MjUwXSBmZmUwOiBi NmE4MmYzMCBiZWUxZDVjYyBiNmE3NWNmZiBiNmJjZTUwYyAwMDAwMDAxMAo+IDAwMDAwMDA1IGUx YTBjMDBkIGU5MmRkODAwCj4gWyAgMTMyLjU0MzQwOF0gWzxjMDJhYjdlND5dIChleHlub3NfZHJt X2NydGNfcGxhbmVfY29tbWl0KSBmcm9tCj4gWzxjMDJhZTI4Yz5dIChleHlub3NfcGxhbmVfY29t bWl0KzB4MjQvMHgyOCkKPiBbICAxMzIuNTUyOTQ5XSBbPGMwMmFlMjhjPl0gKGV4eW5vc19wbGFu ZV9jb21taXQpIGZyb20gWzxjMDJhYjFjOD5dCj4gKGV4eW5vc19kcm1fY3J0Y19jb21taXQrMHgy Yy8weDU0KQo+IFsgIDEzMi41NjE5NzFdIFs8YzAyYWIxYzg+XSAoZXh5bm9zX2RybV9jcnRjX2Nv bW1pdCkgZnJvbSBbPGMwMmFiMmMwPl0KPiAoZXh5bm9zX2RybV9jcnRjX21vZGVfc2V0X2NvbW1p dC5pc3JhLjErMHg4Yy8weGEwKQo+IFsgIDEzMi41NzI2NDFdIFs8YzAyYWIyYzA+XSAoZXh5bm9z X2RybV9jcnRjX21vZGVfc2V0X2NvbW1pdC5pc3JhLjEpCj4gZnJvbSBbPGMwMmFiMmVjPl0gKGV4 eW5vc19kcm1fY3J0Y19tb2RlX3NldF9iYXNlKzB4MTgvMHgxYykKPiBbICAxMzIuNTgzOTE5XSBb PGMwMmFiMmVjPl0gKGV4eW5vc19kcm1fY3J0Y19tb2RlX3NldF9iYXNlKSBmcm9tCj4gWzxjMDI4 YzE0OD5dIChkcm1fY3J0Y19oZWxwZXJfc2V0X2NvbmZpZysweDgyOC8weDhhNCkKPiBbICAxMzIu NTk0MzI5XSBbPGMwMjhjMTQ4Pl0gKGRybV9jcnRjX2hlbHBlcl9zZXRfY29uZmlnKSBmcm9tCj4g WzxjMDI5Y2UxYz5dIChkcm1fbW9kZV9zZXRfY29uZmlnX2ludGVybmFsKzB4NTgvMHhjMCkKPiBb ICAxMzIuNjA0NDc4XSBbPGMwMjljZTFjPl0gKGRybV9tb2RlX3NldF9jb25maWdfaW50ZXJuYWwp IGZyb20KPiBbPGMwMjlmZTY0Pl0gKGRybV9tb2RlX3NldGNydGMrMHgzODgvMHg0YWMpCj4gWyAg MTMyLjYxMzkzM10gWzxjMDI5ZmU2ND5dIChkcm1fbW9kZV9zZXRjcnRjKSBmcm9tIFs8YzAyOTJj YjQ+XQo+IChkcm1faW9jdGwrMHgyNzAvMHg0NGMpCj4gWyAgMTMyLjYyMTc0MV0gWzxjMDI5MmNi ND5dIChkcm1faW9jdGwpIGZyb20gWzxjMDExMzAyYz5dCj4gKGRvX3Zmc19pb2N0bCsweDRlNC8w eDVhMCkKPiBbICAxMzIuNjI5MjAxXSBbPGMwMTEzMDJjPl0gKGRvX3Zmc19pb2N0bCkgZnJvbSBb PGMwMTEzMTQ0Pl0KPiAoU3lTX2lvY3RsKzB4NWMvMHg4NCkKPiBbICAxMzIuNjM2NDg5XSBbPGMw MTEzMTQ0Pl0gKFN5U19pb2N0bCkgZnJvbSBbPGMwMDBlMzgwPl0KPiAocmV0X2Zhc3Rfc3lzY2Fs bCsweDAvMHgzMCkKPiBbICAxMzIuNjQ0MDM1XSBDb2RlOiBlOGJkNDAwMCBlMWEwNTAwMCBlMWEw NDAwMSBlYjA5ZDdkYyAoZTU5NTAzMmMpCj4gWyAgMTMyLjY1MDE2NF0gLS0tWyBlbmQgdHJhY2Ug NGJjNWI5NjU3OTc1YTE3OSBdLS0tCj4gWyAgMTMyLjY1NDc0OV0gS2VybmVsIHBhbmljIC0gbm90 IHN5bmNpbmc6IEZhdGFsIGV4Y2VwdGlvbgo+IFsgIDEzMi42NTk5MTJdIENQVTM6IHN0b3BwaW5n Cj4gWyAgMTMyLjY2MjYwMF0gQ1BVOiAzIFBJRDogNDc4IENvbW06IHJzOm1haW4gUTpSZWcgVGFp bnRlZDogRyAgICAgIEQgVwo+ICAgICAzLjE2LjAtcmMxKyAjNjIzCj4gWyAgMTMyLjY3MDY3M10g WzxjMDAxNTViOD5dICh1bndpbmRfYmFja3RyYWNlKSBmcm9tIFs8YzAwMTIxM2M+XQo+IChzaG93 X3N0YWNrKzB4MjAvMHgyNCkKPiBbICAxMzIuNjc4MzkyXSBbPGMwMDEyMTNjPl0gKHNob3dfc3Rh Y2spIGZyb20gWzxjMDUyMTdkND5dCj4gKGR1bXBfc3RhY2srMHg3Yy8weDk4KQo+IFsgIDEzMi42 ODU1OTBdIFs8YzA1MjE3ZDQ+XSAoZHVtcF9zdGFjaykgZnJvbSBbPGMwMDE0MDljPl0KPiAoaGFu ZGxlX0lQSSsweGQ4LzB4MTYwKQo+IFsgIDEzMi42OTI4NzZdIFs8YzAwMTQwOWM+XSAoaGFuZGxl X0lQSSkgZnJvbSBbPGMwMDA4Njg4Pl0KPiAoZ2ljX2hhbmRsZV9pcnErMHg2OC8weDcwKQo+IFsg IDEzMi43MDA0MjNdIFs8YzAwMDg2ODg+XSAoZ2ljX2hhbmRsZV9pcnEpIGZyb20gWzxjMDAxMmNj MD5dCj4gKF9faXJxX3N2YysweDQwLzB4NTApCj4gCj4gUmVnYXJkcywKPiBSYWh1bCBTaGFybWEu Cj4gCj4+Cj4+IFRoYW5rcywKPj4gSW5raSBEYWUKPj4KPj4+Cj4+PiBUaGlzIGNyYXNoZXMgdGhl IHN5c3RlbS4KPj4+Cj4+PiBTaWduZWQtb2ZmLWJ5OiBSYWh1bCBTaGFybWEgPHJhaHVsLnNoYXJt YUBzYW1zdW5nLmNvbT4KPj4+IC0tLQo+Pj4gVGhpcyB3b3JrcyBmaW5lIGJ1dCBJIGFtIG5vdCBj b25maWRlbnQgb24gdGhlIGNvcnJlY3RuZXNzIG9mIHRoZQo+Pj4gc29sdXRpb24uCj4+Pgo+Pj4g IGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9jcnRjLmMgfCAgICA2ICsrKysrKwo+ Pj4gIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKPj4+Cj4+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9leHlub3MvZXh5bm9zX2RybV9jcnRjLmMKPj4+IGluZGV4IDk1Yzk0MzUuLmRhNGVmZTQgMTAw NjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fY3J0Yy5jCj4+ PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fY3J0Yy5jCj4+PiBAQCAt MTY1LDYgKzE2NSwxMiBAQCBzdGF0aWMgaW50IGV4eW5vc19kcm1fY3J0Y19tb2RlX3NldF9jb21t aXQoc3RydWN0IGRybV9jcnRjICpjcnRjLCBpbnQgeCwgaW50IHksCj4+PiAgICAgICAgICAgICAg ICAgcmV0dXJuIC1FUEVSTTsKPj4+ICAgICAgICAgfQo+Pj4KPj4+ICsgICAgICAgLyogd2hlbiBm cmFtZWJ1ZmZlciBpcyByZW1vdmVkLCBjb21taXQgc2hvdWxkIG5vdCBwcm9jZWVkLiAqLwo+Pj4g KyAgICAgICBpZighcGxhbmUtPmZiKXsKPj4+ICsgICAgICAgICAgICAgICBEUk1fRVJST1IoImZy YW1lYnVmZmVyIGhhcyBiZWVuIHJlbW92ZWQgZnJvbSBwbGFuZS5cbiIpOwo+Pj4gKyAgICAgICAg ICAgICAgIHJldHVybiAtRUZBVUxUOwo+Pj4gKyAgICAgICB9Cj4+PiArCj4+PiAgICAgICAgIGNy dGNfdyA9IGNydGMtPnByaW1hcnktPmZiLT53aWR0aCAtIHg7Cj4+PiAgICAgICAgIGNydGNfaCA9 IGNydGMtPnByaW1hcnktPmZiLT5oZWlnaHQgLSB5Owo+Pj4KPj4+IC0tCj4+PiAxLjcuOS41Cj4+ Pgo+Pj4gLS0KPj4+IFRvIHVuc3Vic2NyaWJlIGZyb20gdGhpcyBsaXN0OiBzZW5kIHRoZSBsaW5l ICJ1bnN1YnNjcmliZSBsaW51eC1zYW1zdW5nLXNvYyIgaW4KPj4+IHRoZSBib2R5IG9mIGEgbWVz c2FnZSB0byBtYWpvcmRvbW9Admdlci5rZXJuZWwub3JnCj4+PiBNb3JlIG1ham9yZG9tbyBpbmZv IGF0ICBodHRwOi8vdmdlci5rZXJuZWwub3JnL21ham9yZG9tby1pbmZvLmh0bWwKPiAKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWls aW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==