From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sujaritha Subject: Re: [PATCH v5 2/5] drm/i915/guc : Removing i915_modparams.enable_guc_loading module Date: Wed, 4 Oct 2017 17:26:21 -0700 Message-ID: <896a8aba-df4c-9357-4c4b-76e7546aa988@intel.com> References: <1507071378-23201-1-git-send-email-sujaritha.sundaresan@intel.com> <16be1dd0-7030-bb8f-bd71-529c9d72788c@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5D3DA6E165 for ; Thu, 5 Oct 2017 00:29:08 +0000 (UTC) In-Reply-To: <16be1dd0-7030-bb8f-bd71-529c9d72788c@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Sagar Arun Kamble , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org CgpPbiAxMC8wMy8yMDE3IDExOjQ1IFBNLCBTYWdhciBBcnVuIEthbWJsZSB3cm90ZToKPgo+IFN1 YmplY3QgaXMgbWlzc2luZyAicGFyYW1ldGVyIiBpbiB0aGUgZW5kLiBFaXRoZXIga2VlcCBtb2R1 bGUgCj4gcGFyYW1ldGVyIG9yIGk5MTVfbW9kcGFyYW1zLgpXaWxsIGZpeCB0aGUgc3ViamVjdCBs aW5lLgo+Cj4KPiBPbiAxMC80LzIwMTcgNDoyNiBBTSwgU3VqYXJpdGhhIFN1bmRhcmVzYW4gd3Jv dGU6Cj4+IFdlIGN1cnJlbnRseSBoYXZlIHR3byBtb2R1bGUgcGFyYW1ldGVycyB0aGF0IGNvbnRy b2wgR3VDOiAKPj4gImVuYWJsZV9ndWNfbG9hZGluZyIgYW5kICJlbmFibGVfZ3VjX3N1Ym1pc3Np b24iLgo+PiBXaGVuZXZlciB3ZSBuZWVkIGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9ndWNfc3VibWlz c2lvbj0xLCB3ZSBhbHNvIG5lZWQgCj4+IGVuYWJsZV9ndWNfbG9hZGluZz0xLgo+PiBXZSBhbHNv IG5lZWQgZW5hYmxlX2d1Y19sb2FkaW5nPTEgd2hlbiB3ZSB3YW50IHRvIHZlcmlmeSB0aGUgSHVD LAo+PiB3aGljaCBpcyBldmVyeSB0aW1lIHdlIGhhdmUgYSBIdUMgKGJ1dCBhbGwgcGxhdGZvcm1z IHdpdGggSHVDIGhhdmUgYSAKPj4gR3VDIGFuZCB2aWNldmVyc2EpLgo+Pgo+PiB2MjogQ2xhcmlm eWluZyB0aGUgY29tbWl0IG1lc3NhZ2UgKEFudXNoYSkKPj4KPj4gdjM6IFVuaWZ5IHNlcV9wdXRz IG1lc3NhZ2VzLCBSZS1mYWN0b3JpbmcgY29kZSBhcyBwZXIgcmV2aWV3IChNaWNoYWwpCj4+Cj4+ IHY0OiBSZWJhc2UKPj4KPj4gdjU6IFNlcGFyYXRpbmcgbWVzc2FnZSB1bmlmaWNhdGlvbiBpbnRv IGEgc2VwYXJhdGUgcGF0Y2gKPj4KPj4gQ2M6IE1pY2hhbCBXYWpkZWN6a28gPG1pY2hhbC53YWpk ZWN6a29AaW50ZWwuY29tPgo+PiBDYzogQW51c2hhIFNyaXZhdHNhIDxhbnVzaGEuc3JpdmF0c2FA aW50ZWwuY29tPgo+PiBDYzogT3NjYXIgTWF0ZW8gPG9zY2FyLm1hdGVvQGludGVsLmNvbT4KPj4g Q2M6IFNhZ2FyIEFydW4gS2FtYmxlIDxzYWdhci5hLmthbWJsZUBpbnRlbC5jb20+Cj4+IFNpZ25l ZC1vZmYtYnk6IFN1amFyaXRoYSBTdW5kYXJlc2FuIDxzdWphcml0aGEuc3VuZGFyZXNhbkBpbnRl bC5jb20+Cj4gTmVlZCB0byBjaGFuZ2UgdGhlIG9yZGVyIG9mIHRoZSB0YWcgdG8gY29tcGx5IHdp dGggbmV3IGNvbnZlbnRpb24uIAo+IEFwcGxpZXMgdG8gYWxsIHBhdGNoZXMuCj4gc2hvdWxkIGJl IGFzIGJlbG93IGFzIHBlciBjaHJvbm9sb2d5Cj4gUy1vLWI6Cj4gQ2M6Cj4gUi1iOgo+PiAtLS0K Pj4gwqAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmPCoMKgwqDCoCB8IDExICsr KysrLS0KPj4gwqAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaMKgwqDCoMKgwqDCoMKg wqAgfMKgIDkgKysrKy0tCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRl eHQuYyB8wqAgMiArLQo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuY8Kg wqDCoMKgIHzCoCAyICstCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmPCoMKg wqDCoMKgwqDCoMKgIHzCoCAyICstCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFy YW1zLmPCoMKgwqDCoMKgIHzCoCA1IC0tLS0KPj4gwqAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9wYXJhbXMuaMKgwqDCoMKgwqAgfMKgIDEgLQo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9ndWNfbG9hZGVyLmMgfMKgIDcgKysrLS0KPj4gwqAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfaHVjLmPCoMKgwqDCoMKgwqDCoCB8wqAgNCArKy0KPj4gwqAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfdWMuY8KgwqDCoMKgwqDCoMKgwqAgfCA1MSAKPj4gKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLS0tCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmjC oMKgwqDCoMKgwqDCoMKgIHzCoCAyICstCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3VuY29yZS5jwqDCoMKgwqAgfMKgIDQgKy0tCj4+IMKgIDEyIGZpbGVzIGNoYW5nZWQsIDUyIGlu c2VydGlvbnMoKyksIDQ4IGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kZWJ1Z2ZzLmMKPj4gaW5kZXggNTNlNDBkZC4uNGZkZTRiMiAxMDA2NDQKPj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPj4gQEAgLTIzMzYsOCArMjMzNiwxMCBAQCBzdGF0aWMgaW50 IGk5MTVfaHVjX2xvYWRfc3RhdHVzX2luZm8oc3RydWN0IAo+PiBzZXFfZmlsZSAqbSwgdm9pZCAq ZGF0YSkKPj4gwqDCoMKgwqDCoCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBu b2RlX3RvX2k5MTUobS0+cHJpdmF0ZSk7Cj4+IMKgwqDCoMKgwqAgc3RydWN0IGludGVsX3VjX2Z3 ICpodWNfZncgPSAmZGV2X3ByaXYtPmh1Yy5mdzsKPj4gwqAgLcKgwqDCoCBpZiAoIUhBU19IVUNf VUNPREUoZGV2X3ByaXYpKQo+PiArwqDCoMKgIGlmICghSEFTX0dVQyhkZXZfcHJpdikpewo+PiAr wqDCoMKgwqDCoMKgwqAgc2VxX3B1dHMobSwgIm5vdCBzdXBwb3J0ZWRcbiIpOwo+PiDCoMKgwqDC oMKgwqDCoMKgwqAgcmV0dXJuIDA7Cj4+ICvCoMKgwqAgfQo+PiDCoCDCoMKgwqDCoMKgIHNlcV9w dXRzKG0sICJIdUMgZmlybXdhcmUgc3RhdHVzOlxuIik7Cj4+IMKgwqDCoMKgwqAgc2VxX3ByaW50 ZihtLCAiXHRwYXRoOiAlc1xuIiwgaHVjX2Z3LT5wYXRoKTsKPj4gQEAgLTIzNjksOCArMjM3MSwx MSBAQCBzdGF0aWMgaW50IGk5MTVfZ3VjX2xvYWRfc3RhdHVzX2luZm8oc3RydWN0IAo+PiBzZXFf ZmlsZSAqbSwgdm9pZCAqZGF0YSkKPj4gwqDCoMKgwqDCoCBzdHJ1Y3QgaW50ZWxfdWNfZncgKmd1 Y19mdyA9ICZkZXZfcHJpdi0+Z3VjLmZ3Owo+PiDCoMKgwqDCoMKgIHUzMiB0bXAsIGk7Cj4+IMKg IC3CoMKgwqAgaWYgKCFIQVNfR1VDX1VDT0RFKGRldl9wcml2KSkKPj4gK8KgwqDCoCBpZiAoIUhB U19HVUMoZGV2X3ByaXYpKXsKPj4gK8KgwqDCoMKgwqDCoMKgIHNlcV9wdXRzKG0sICJub3Qgc3Vw cG9ydGVkXG4iKTsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiAwOwo+PiArCj4+ICvCoMKg wqAgfQo+PiDCoCDCoMKgwqDCoMKgIHNlcV9wcmludGYobSwgIkd1QyBmaXJtd2FyZSBzdGF0dXM6 XG4iKTsKPj4gwqDCoMKgwqDCoCBzZXFfcHJpbnRmKG0sICJcdHBhdGg6ICVzXG4iLAo+PiBAQCAt MjQ2NSw3ICsyNDcwLDcgQEAgc3RhdGljIGJvb2wgY2hlY2tfZ3VjX3N1Ym1pc3Npb24oc3RydWN0 IAo+PiBzZXFfZmlsZSAqbSkKPj4gwqAgwqDCoMKgwqDCoCBpZiAoIWd1Yy0+ZXhlY2J1Zl9jbGll bnQpIHsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHNlcV9wcmludGYobSwgIkd1QyBzdWJtaXNzaW9u ICVzXG4iLAo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBIQVNfR1VDX1NDSEVEKGRl dl9wcml2KSA/Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEhBU19HVUMoZGV2X3By aXYpID8KPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgImRpc2FibGVkIiA6Cj4+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJub3Qgc3VwcG9ydGVkIik7Cj4+IMKg wqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gZmFsc2U7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oIAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKPj4gaW5kZXggNjFhNGJlOS4uNjQ3OWI3MiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCj4+IEBAIC0zMTQxLDkgKzMxNDEsMTIgQEAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQg Cj4+IGk5MTVfc2dfc2VnbWVudF9zaXplKHZvaWQpCj4+IMKgwqAgKi8KPj4gwqAgI2RlZmluZSBI QVNfR1VDKGRldl9wcml2KcKgwqDCoCAoKGRldl9wcml2KS0+aW5mby5oYXNfZ3VjKQo+PiDCoCAj ZGVmaW5lIEhBU19HVUNfQ1QoZGV2X3ByaXYpICgoZGV2X3ByaXYpLT5pbmZvLmhhc19ndWNfY3Qp Cj4+IC0jZGVmaW5lIEhBU19HVUNfVUNPREUoZGV2X3ByaXYpwqDCoMKgIChIQVNfR1VDKGRldl9w cml2KSkKPj4gLSNkZWZpbmUgSEFTX0dVQ19TQ0hFRChkZXZfcHJpdinCoMKgwqAgKEhBU19HVUMo ZGV2X3ByaXYpKQo+PiAtI2RlZmluZSBIQVNfSFVDX1VDT0RFKGRldl9wcml2KcKgwqDCoCAoSEFT X0dVQyhkZXZfcHJpdikpCj4+ICsjZGVmaW5lIEhBU19HVUNfVUNPREUoZGV2X3ByaXYpwqDCoMKg ICgoZGV2X3ByaXYpLT5ndWMuZncucGF0aCAhPSBOVUxMKQo+PiArI2RlZmluZSBIQVNfSFVDX1VD T0RFKGRldl9wcml2KcKgwqDCoCAoKGRldl9wcml2KS0+Z3VjLmZ3LnBhdGggIT0gTlVMTCkKPiBJ cyB0aGlzIHR5cG8/IFNob3VsZCBiZSAoZGV2X3ByaXYpLT5odWMuZncucGF0aAoKWWVzIHRoaXMg aXMgYSB0eXBvLCBJIHdpbGwgZml4IHRoaXMgaW4gdGhlIHJldmlzaW9uLgo+PiArCj4+ICsjZGVm aW5lIE5FRURTX0dVQ19MT0FESU5HKGRldl9wcml2KSBcCj4+ICvCoMKgwqAgKEhBU19HVUMoZGV2 X3ByaXYpICYmIFwKPj4gK8KgwqDCoCAoaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19zdWJtaXNz aW9uIHx8IEhBU19IVUNfVUNPREUoZGV2X3ByaXYpKSkKPj4gwqAgwqAgI2RlZmluZSBIQVNfUkVT T1VSQ0VfU1RSRUFNRVIoZGV2X3ByaXYpIAo+PiAoKGRldl9wcml2KS0+aW5mby5oYXNfcmVzb3Vy Y2Vfc3RyZWFtZXIpCj4+IMKgIGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9jb250ZXh0LmMgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4 dC5jCj4+IGluZGV4IDkyMWVlMzYuLjA4OTAzNDEgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9jb250ZXh0LmMKPj4gQEAgLTMxNCw3ICszMTQsNyBAQCBzdGF0aWMgdTMyIGRl ZmF1bHRfZGVzY190ZW1wbGF0ZShjb25zdCBzdHJ1Y3QgCj4+IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUsCj4+IMKgwqDCoMKgwqDCoCAqIHByZXNlbnQgb3Igbm90IGluIHVzZSB3ZSBzdGlsbCBuZWVk IGEgc21hbGwgYmlhcyBhcyByaW5nIAo+PiB3cmFwYXJvdW5kCj4+IMKgwqDCoMKgwqDCoCAqIGF0 IG9mZnNldCAwIHNvbWV0aW1lcyBoYW5ncy4gTm8gaWRlYSB3aHkuCj4+IMKgwqDCoMKgwqDCoCAq Lwo+PiAtwqDCoMKgIGlmIChIQVNfR1VDKGRldl9wcml2KSAmJiBpOTE1X21vZHBhcmFtcy5lbmFi bGVfZ3VjX2xvYWRpbmcpCj4+ICvCoMKgwqAgaWYgKE5FRURTX0dVQ19MT0FESU5HKGRldl9wcml2 KSkKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGN0eC0+Z2d0dF9vZmZzZXRfYmlhcyA9IEdVQ19XT1BD TV9UT1A7Cj4+IMKgwqDCoMKgwqAgZWxzZQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgY3R4LT5nZ3R0 X29mZnNldF9iaWFzID0gSTkxNV9HVFRfUEFHRV9TSVpFOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fZ3R0LmMKPj4gaW5kZXggNjRkNzg1Mi4uYTMyOTM1YSAxMDA2NDQKPj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKPj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKPj4gQEAgLTMyOTIsNyArMzI5Miw3IEBAIGludCBpOTE1 X2dndHRfcHJvYmVfaHcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgCj4+ICpkZXZfcHJpdikKPj4g wqDCoMKgwqDCoMKgICogY3VycmVudGx5IGRvbid0IGhhdmUgYW55IGJpdHMgc3BhcmUgdG8gcGFz cyBpbiB0aGlzIHVwcGVyCj4+IMKgwqDCoMKgwqDCoCAqIHJlc3RyaWN0aW9uIQo+PiDCoMKgwqDC oMKgwqAgKi8KPj4gLcKgwqDCoCBpZiAoSEFTX0dVQyhkZXZfcHJpdikgJiYgaTkxNV9tb2RwYXJh bXMuZW5hYmxlX2d1Y19sb2FkaW5nKSB7Cj4+ICvCoMKgwqAgaWYgKE5FRURTX0dVQ19MT0FESU5H KGRldl9wcml2KSkgewo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgZ2d0dC0+YmFzZS50b3RhbCA9IG1p bl90KHU2NCwgZ2d0dC0+YmFzZS50b3RhbCwgR1VDX0dHVFRfVE9QKTsKPj4gwqDCoMKgwqDCoMKg wqDCoMKgIGdndHQtPm1hcHBhYmxlX2VuZCA9IG1pbihnZ3R0LT5tYXBwYWJsZV9lbmQsIAo+PiBn Z3R0LT5iYXNlLnRvdGFsKTsKPj4gwqDCoMKgwqDCoCB9Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jIAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf aXJxLmMKPj4gaW5kZXggNmEwN2VmMy4uNjBjZGYwZCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2lycS5jCj4+IEBAIC0zOTU2LDcgKzM5NTYsNyBAQCB2b2lkIGludGVsX2lycV9pbml0KHN0cnVj dCBkcm1faTkxNV9wcml2YXRlIAo+PiAqZGV2X3ByaXYpCj4+IMKgwqDCoMKgwqAgZm9yIChpID0g MDsgaSA8IE1BWF9MM19TTElDRVM7ICsraSkKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGRldl9wcml2 LT5sM19wYXJpdHkucmVtYXBfaW5mb1tpXSA9IE5VTEw7Cj4+IMKgIC3CoMKgwqAgaWYgKEhBU19H VUNfU0NIRUQoZGV2X3ByaXYpKQo+PiArwqDCoMKgIGlmIChORUVEU19HVUNfTE9BRElORyhkZXZf cHJpdikpCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBkZXZfcHJpdi0+cG1fZ3VjX2V2ZW50cyA9IEdF TjlfR1VDX1RPX0hPU1RfSU5UX0VWRU5UOwo+PiDCoCDCoMKgwqDCoMKgIC8qIExldCdzIHRyYWNr IHRoZSBlbmFibGVkIHJwcyBldmVudHMgKi8KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcGFyYW1zLmMgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJh bXMuYwo+PiBpbmRleCBlYzY1MzQxLi4zMDM0NGUxIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcGFyYW1zLmMKPj4gQEAgLTYzLDcgKzYzLDYgQEAgc3RydWN0IGk5MTVfcGFyYW1zIGk5MTVf bW9kcGFyYW1zIF9fcmVhZF9tb3N0bHkgPSB7Cj4+IMKgwqDCoMKgwqAgLnZlcmJvc2Vfc3RhdGVf Y2hlY2tzID0gMSwKPj4gwqDCoMKgwqDCoCAubnVjbGVhcl9wYWdlZmxpcCA9IDAsCj4+IMKgwqDC oMKgwqAgLmVkcF92c3dpbmcgPSAwLAo+PiAtwqDCoMKgIC5lbmFibGVfZ3VjX2xvYWRpbmcgPSAw LAo+PiDCoMKgwqDCoMKgIC5lbmFibGVfZ3VjX3N1Ym1pc3Npb24gPSAwLAo+PiDCoMKgwqDCoMKg IC5ndWNfbG9nX2xldmVsID0gLTEsCj4+IMKgwqDCoMKgwqAgLmd1Y19maXJtd2FyZV9wYXRoID0g TlVMTCwKPj4gQEAgLTIwMSwxMCArMjAwLDYgQEAgc3RydWN0IGk5MTVfcGFyYW1zIGk5MTVfbW9k cGFyYW1zIF9fcmVhZF9tb3N0bHkgPSB7Cj4+IMKgwqDCoMKgwqAgIigwPXVzZSB2YWx1ZSBmcm9t IHZidCBbZGVmYXVsdF0sIDE9bG93IHBvd2VyIHN3aW5nKDIwMG1WKSwiCj4+IMKgwqDCoMKgwqAg IjI9ZGVmYXVsdCBzd2luZyg0MDBtVikpIik7Cj4+IMKgIC1pOTE1X3BhcmFtX25hbWVkX3Vuc2Fm ZShlbmFibGVfZ3VjX2xvYWRpbmcsIGludCwgMDQwMCwKPj4gLcKgwqDCoCAiRW5hYmxlIEd1QyBm aXJtd2FyZSBsb2FkaW5nICIKPj4gLcKgwqDCoCAiKC0xPWF1dG8sIDA9bmV2ZXIgW2RlZmF1bHRd LCAxPWlmIGF2YWlsYWJsZSwgMj1yZXF1aXJlZCkiKTsKPj4gLQo+PiDCoCBpOTE1X3BhcmFtX25h bWVkX3Vuc2FmZShlbmFibGVfZ3VjX3N1Ym1pc3Npb24sIGludCwgMDQwMCwKPj4gwqDCoMKgwqDC oCAiRW5hYmxlIEd1QyBzdWJtaXNzaW9uICIKPj4gwqDCoMKgwqDCoCAiKC0xPWF1dG8sIDA9bmV2 ZXIgW2RlZmF1bHRdLCAxPWlmIGF2YWlsYWJsZSwgMj1yZXF1aXJlZCkiKTsKPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmggCj4+IGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9wYXJhbXMuaAo+PiBpbmRleCBhMmNiYjQ3Li5iMjZkZjA2IDEwMDY0NAo+ PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5oCj4+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmgKPj4gQEAgLTQ0LDcgKzQ0LDYgQEAKPj4gwqDC oMKgwqDCoCBmdW5jKGludCwgZGlzYWJsZV9wb3dlcl93ZWxsKTsgXAo+PiDCoMKgwqDCoMKgIGZ1 bmMoaW50LCBlbmFibGVfaXBzKTsgXAo+PiDCoMKgwqDCoMKgIGZ1bmMoaW50LCBpbnZlcnRfYnJp Z2h0bmVzcyk7IFwKPj4gLcKgwqDCoCBmdW5jKGludCwgZW5hYmxlX2d1Y19sb2FkaW5nKTsgXAo+ PiDCoMKgwqDCoMKgIGZ1bmMoaW50LCBlbmFibGVfZ3VjX3N1Ym1pc3Npb24pOyBcCj4+IMKgwqDC oMKgwqAgZnVuYyhpbnQsIGd1Y19sb2dfbGV2ZWwpOyBcCj4+IMKgwqDCoMKgwqAgZnVuYyhjaGFy ICosIGd1Y19maXJtd2FyZV9wYXRoKTsgXAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZ3VjX2xvYWRlci5jIAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2d1Y19sb2FkZXIuYwo+PiBpbmRleCBjOWUyNWJlLi40MjEwNjgwIDEwMDY0NAo+PiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9hZGVyLmMKPj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvYWRlci5jCj4+IEBAIC0zODIsNyArMzgyLDcgQEAgaW50 IGludGVsX2d1Y19pbml0X2h3KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPj4gwqDCoCAqCj4+IMKg wqAgKiBSZXR1cm46IHplcm8gd2hlbiB3ZSBrbm93IGZpcm13YXJlLCBub24temVybyBpbiBvdGhl ciBjYXNlCj4gTmVlZCB0byB1cGRhdGUgdGhlIGNvbW1lbnQuCldpbGwgZG8uCj4+IMKgwqAgKi8K Pj4gLWludCBpbnRlbF9ndWNfc2VsZWN0X2Z3KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPj4gK3Zv aWQgaW50ZWxfZ3VjX3NlbGVjdF9mdyhzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCj4+IMKgIHsKPj4g wqDCoMKgwqDCoCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBndWNfdG9faTkx NShndWMpOwo+PiDCoCBAQCAtNDEyLDggKzQxMiw5IEBAIGludCBpbnRlbF9ndWNfc2VsZWN0X2Z3 KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGd1Yy0+ZncubWFq b3JfdmVyX3dhbnRlZCA9IEdMS19GV19NQUpPUjsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGd1Yy0+ ZncubWlub3JfdmVyX3dhbnRlZCA9IEdMS19GV19NSU5PUjsKPj4gwqDCoMKgwqDCoCB9IGVsc2Ug ewo+PiAtwqDCoMKgwqDCoMKgwqAgRFJNX0VSUk9SKCJObyBHdUMgZmlybXdhcmUga25vd24gZm9y IHBsYXRmb3JtIHdpdGggR3VDIVxuIik7Cj4+IC3CoMKgwqDCoMKgwqDCoCByZXR1cm4gLUVOT0VO VDsKPj4gK8KgwqDCoMKgwqDCoMKgIGlmKEhBU19HVUMoZGV2X3ByaXYpKQo+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBEUk1fRVJST1IoIk5PIEdVQyBGVyBrb25vd24gZm9yIGEgcGxhdGZvcm0g d2l0aCBHdUMhXG4iKTsKPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybjsKPj4gwqDCoMKgwqDCoCB9 Cj4+IMKgIMKgwqDCoMKgwqAgcmV0dXJuIDA7Cj4gcmV0dXJuaW5nIHZhbHVlIGlzIG5vdCBjb3Jy ZWN0CgpXaWxsIGZpeCB0aGUgcmV0dXJuIHZhbHVlIGluIHRoZSByZXZpc2VkIHBhdGNoLgo+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaHVjLmMgCj4+IGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfaHVjLmMKPj4gaW5kZXggNmUxNzc5Yi4uZWU5ZTc4NiAxMDA2 NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaHVjLmMKPj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaHVjLmMKPj4gQEAgLTE3Niw3ICsxNzYsOSBAQCB2b2lk IGludGVsX2h1Y19zZWxlY3RfZncoc3RydWN0IGludGVsX2h1YyAqaHVjKQo+PiDCoMKgwqDCoMKg wqDCoMKgwqAgaHVjLT5mdy5tYWpvcl92ZXJfd2FudGVkID0gR0xLX0hVQ19GV19NQUpPUjsKPj4g wqDCoMKgwqDCoMKgwqDCoMKgIGh1Yy0+ZncubWlub3JfdmVyX3dhbnRlZCA9IEdMS19IVUNfRldf TUlOT1I7Cj4+IMKgwqDCoMKgwqAgfSBlbHNlIHsKPj4gLcKgwqDCoMKgwqDCoMKgIERSTV9FUlJP UigiTm8gSHVDIGZpcm13YXJlIGtub3duIGZvciBwbGF0Zm9ybSB3aXRoIEh1QyFcbiIpOwo+PiAr wqDCoMKgwqDCoMKgwqAgLyogRm9yIG5vdywgZXZlcnl0aGluZyB3aXRoIGEgR3VDIGFsc28gaGFz IGEgSHVDICovCj4+ICvCoMKgwqDCoMKgwqDCoCBpZiAoSEFTX0dVQyhkZXZfcHJpdikpCj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIERSTV9FUlJPUigiTm8gSHVDIEZXIGtub3duIGZvciBhIHBs YXRmb3JtIHdpdGggSHVDIVxuIik7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm47Cj4+IMKg wqDCoMKgwqAgfQo+PiDCoCB9Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF91Yy5jIAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmMKPj4gaW5kZXgg OTAxODU0MC4uNDI5MGIzNSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfdWMuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5jCj4+IEBAIC02 MywzNSArNjMsMzEgQEAgc3RhdGljIGludCBfX2ludGVsX3VjX3Jlc2V0X2h3KHN0cnVjdCAKPj4g ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4+IMKgIHZvaWQgaW50ZWxfdWNfc2FuaXRpemVf b3B0aW9ucyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4+IMKgIHsKPj4gwqDC oMKgwqDCoCBpZiAoIUhBU19HVUMoZGV2X3ByaXYpKSB7Cj4+IC3CoMKgwqDCoMKgwqDCoCBpZiAo aTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19sb2FkaW5nID4gMCB8fAo+PiAtwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBpOTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjX3N1Ym1pc3Npb24gPiAwKQo+PiAr wqDCoMKgwqDCoMKgwqAgaWYgKGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9ndWNfc3VibWlzc2lvbiA+ IDApCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERSTV9JTkZPKCJJZ25vcmluZyBHdUMg b3B0aW9ucywgbm8gaGFyZHdhcmVcbiIpOwo+PiDCoCAtwqDCoMKgwqDCoMKgwqAgaTkxNV9tb2Rw YXJhbXMuZW5hYmxlX2d1Y19sb2FkaW5nID0gMDsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGk5MTVf bW9kcGFyYW1zLmVuYWJsZV9ndWNfc3VibWlzc2lvbiA9IDA7Cj4+IMKgwqDCoMKgwqDCoMKgwqDC oCByZXR1cm47Cj4+IMKgwqDCoMKgwqAgfQo+PiDCoCAtwqDCoMKgIC8qIEEgbmVnYXRpdmUgdmFs dWUgbWVhbnMgInVzZSBwbGF0Zm9ybSBkZWZhdWx0IiAqLwo+PiAtwqDCoMKgIGlmIChpOTE1X21v ZHBhcmFtcy5lbmFibGVfZ3VjX2xvYWRpbmcgPCAwKQo+PiAtwqDCoMKgwqDCoMKgwqAgaTkxNV9t b2RwYXJhbXMuZW5hYmxlX2d1Y19sb2FkaW5nID0gSEFTX0dVQ19VQ09ERShkZXZfcHJpdik7Cj4+ IMKgIMKgwqDCoMKgwqAgLyogVmVyaWZ5IGZpcm13YXJlIHZlcnNpb24gKi8KPj4gLcKgwqDCoCBp ZiAoaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19sb2FkaW5nKSB7Cj4+IC3CoMKgwqDCoMKgwqDC oCBpZiAoSEFTX0hVQ19VQ09ERShkZXZfcHJpdikpCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGludGVsX2h1Y19zZWxlY3RfZncoJmRldl9wcml2LT5odWMpOwo+PiAtCj4+IC3CoMKgwqDCoMKg wqDCoCBpZiAoaW50ZWxfZ3VjX3NlbGVjdF9mdygmZGV2X3ByaXYtPmd1YykpCj4+IC3CoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9ndWNfbG9hZGluZyA9IDA7Cj4+ ICvCoMKgwqAgaWYgKCFIQVNfR1VDKGRldl9wcml2KSl7Cj4+ICvCoMKgwqDCoMKgwqDCoCBpZiAo aTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19zdWJtaXNzaW9uID4gMCl7Cj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIERSTV9JTkZPKCJJZ25vcmluZyBHdUMgc3VibWlzc2lvbiBlbmFibGUgZW5h YmxlLCBubyBGV1xuIik7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGk5MTVfbW9kcGFyYW1z LmVuYWJsZV9ndWNfc3VibWlzc2lvbiA9IDA7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJl dHVybjsKPj4gK8KgwqDCoMKgwqDCoMKgIH0KPj4gwqDCoMKgwqDCoCB9Cj4gVGhpcyBpcyBzYW1l ICFIQVNfR1VDIGNoZWNrIGFzIHRoZSBvbmUgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZnVuY3Rp b24uCldpbGwgZml4IHRoaXMgZXJyb3IuCj4+IMKgIMKgwqDCoMKgwqAgLyogQ2FuJ3QgZW5hYmxl IGd1YyBzdWJtaXNzaW9uIHdpdGhvdXQgZ3VjIGxvYWRlZCAqLwo+IFJlbW92ZSB0aGlzIGNvbW1l bnQuCgpXaWxsIGRvCj4+IC3CoMKgwqAgaWYgKCFpOTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjX2xv YWRpbmcpCj4+ICvCoMKgwqAgaWYgKCFpOTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjX3N1Ym1pc3Np b24gPCAwKQo+IFRoaXMgaXMgaW5jb3JyZWN0LiBBZGQgKCBicmFjZXMgdG8gc3BlY2lmeSBjb3Jy ZWN0IGNvbmRpdGlvbi4gQWxzbyAKPiBtaXNzaW5nIHsgfSB0aWxsIHJldHVybi4KPj4gaTkxNV9t b2RwYXJhbXMuZW5hYmxlX2d1Y19zdWJtaXNzaW9uID0gMDsKPj4gK8KgwqDCoCByZXR1cm47Cj4+ IMKgIMKgwqDCoMKgwqAgLyogQSBuZWdhdGl2ZSB2YWx1ZSBtZWFucyAidXNlIHBsYXRmb3JtIGRl ZmF1bHQiICovCj4+IMKgwqDCoMKgwqAgaWYgKGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9ndWNfc3Vi bWlzc2lvbiA8IDApCj4+IC3CoMKgwqDCoMKgwqDCoCBpOTE1X21vZHBhcmFtcy5lbmFibGVfZ3Vj X3N1Ym1pc3Npb24gPSBIQVNfR1VDX1NDSEVEKGRldl9wcml2KTsKPj4gK8KgwqDCoMKgwqDCoMKg IGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9ndWNfc3VibWlzc2lvbiA9IDE7Cj4gVGhpcyBpcyB3cm9u Zy4gVGhpcyBzaG91bGQgYmUgSEFTX0dVQy4KCldpbGwgZml4IHRoaXMuCj4+IMKgIH0KPj4gwqAg wqAgc3RhdGljIHZvaWQgZ2VuOF9ndWNfcmFpc2VfaXJxKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykK Pj4gQEAgLTEwNiw2ICsxMDIsOCBAQCB2b2lkIGludGVsX3VjX2luaXRfZWFybHkoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgCj4+ICpkZXZfcHJpdikKPj4gwqDCoMKgwqDCoCBzdHJ1Y3QgaW50ZWxf Z3VjICpndWMgPSAmZGV2X3ByaXYtPmd1YzsKPj4gwqAgwqDCoMKgwqDCoCBpbnRlbF9ndWNfY3Rf aW5pdF9lYXJseSgmZ3VjLT5jdCk7Cj4+ICvCoMKgwqAgaW50ZWxfZ3VjX3NlbGVjdF9mdygmZGV2 X3ByaXYtPmd1Yyk7Cj4+ICvCoMKgwqAgaW50ZWxfaHVjX3NlbGVjdF9mdygmZGV2X3ByaXYtPmh1 Yyk7Cj4gTmVlZCB0byByZWJhc2UgdGhlc2Ugdy5yLnQgTWljaGFsJ3MgbGF0ZXN0IEd1QyBjb2Rl IHJlb3JnIHNlcmllcyAtIAo+IGh0dHBzOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9zZXJp ZXMvMzEzNDAvCgpXaWxsIHJlYmFzZSB0aGUgcmV2aXNlZCBwYXRjaGVzLgo+PiBtdXRleF9pbml0 KCZndWMtPnNlbmRfbXV0ZXgpOwo+PiDCoMKgwqDCoMKgIGd1Yy0+c2VuZCA9IGludGVsX2d1Y19z ZW5kX25vcDsKPj4gQEAgLTI1OCw2ICsyNTYsOCBAQCB2b2lkIGludGVsX3VjX2luaXRfZncoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgCj4+ICpkZXZfcHJpdikKPj4gwqAgwqAgdm9pZCBpbnRlbF91 Y19maW5pX2Z3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPj4gwqAgewo+PiAr wqDCoMKgIGlmICghSEFTX0dVQyhkZXZfcHJpdikpCj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm47 Cj4+IMKgwqDCoMKgwqAgX19pbnRlbF91Y19md19maW5pKCZkZXZfcHJpdi0+Z3VjLmZ3KTsKPj4g wqDCoMKgwqDCoCBfX2ludGVsX3VjX2Z3X2ZpbmkoJmRldl9wcml2LT5odWMuZncpOwo+PiDCoCB9 Cj4+IEBAIC0zMzMsNyArMzMzLDcgQEAgaW50IGludGVsX3VjX2luaXRfaHcoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgCj4+ICpkZXZfcHJpdikKPj4gwqDCoMKgwqDCoCBzdHJ1Y3QgaW50ZWxfZ3Vj ICpndWMgPSAmZGV2X3ByaXYtPmd1YzsKPj4gwqDCoMKgwqDCoCBpbnQgcmV0LCBhdHRlbXB0czsK Pj4gwqAgLcKgwqDCoCBpZiAoIWk5MTVfbW9kcGFyYW1zLmVuYWJsZV9ndWNfbG9hZGluZykKPj4g K8KgwqDCoCBpZiAoIU5FRURTX0dVQ19MT0FESU5HKGRldl9wcml2KSkKPj4gwqDCoMKgwqDCoMKg wqDCoMKgIHJldHVybiAwOwo+PiDCoCDCoMKgwqDCoMKgIGd1Y19kaXNhYmxlX2NvbW11bmljYXRp b24oZ3VjKTsKPj4gQEAgLTQyMywxOSArNDIzLDIwIEBAIGludCBpbnRlbF91Y19pbml0X2h3KHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlIAo+PiAqZGV2X3ByaXYpCj4+IMKgwqDCoMKgwqAgaTkxNV9n Z3R0X2Rpc2FibGVfZ3VjKGRldl9wcml2KTsKPj4gwqAgwqDCoMKgwqDCoCBEUk1fRVJST1IoIkd1 QyBpbml0IGZhaWxlZFxuIik7Cj4+IC3CoMKgwqAgaWYgKGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9n dWNfbG9hZGluZyA+IDEgfHwKPj4gLcKgwqDCoMKgwqDCoMKgIGk5MTVfbW9kcGFyYW1zLmVuYWJs ZV9ndWNfc3VibWlzc2lvbiA+IDEpCj4+ICvCoMKgwqAgaWYgKGk5MTVfbW9kcGFyYW1zLmVuYWJs ZV9ndWNfc3VibWlzc2lvbiA+IDEpewo+PiArwqDCoMKgwqDCoMKgwqAgRFJNX05PVEUoIkd1QyBp cyByZXF1aXJlZCwgc28gbWFya2luZyB0aGUgR1BVIGFzIHdlZGdlZFxuIik7Cj4+IMKgwqDCoMKg wqDCoMKgwqDCoCByZXQgPSAtRUlPOwo+PiAtwqDCoMKgIGVsc2UKPj4gLcKgwqDCoMKgwqDCoMKg IHJldCA9IDA7Cj4+ICsKPj4gK8KgwqDCoCB9Cj4+IMKgIC3CoMKgwqAgaWYgKGk5MTVfbW9kcGFy YW1zLmVuYWJsZV9ndWNfc3VibWlzc2lvbikgewo+PiAtwqDCoMKgwqDCoMKgwqAgaTkxNV9tb2Rw YXJhbXMuZW5hYmxlX2d1Y19zdWJtaXNzaW9uID0gMDsKPj4gLcKgwqDCoMKgwqDCoMKgIERSTV9O T1RFKCJGYWxsaW5nIGJhY2sgZnJvbSBHdUMgc3VibWlzc2lvbiB0byBleGVjbGlzdCAKPj4gbW9k ZVxuIik7Cj4+ICvCoMKgwqAgZWxzZSBpZiAoaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19zdWJt aXNzaW9uID09IDEpewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBEUk1fTk9URSgiRmFsbGlu ZyBiYWNrIGZyb20gR3VDIHN1Ym1pc3Npb24gdG8gZXhlY2xpc3QgCj4+IG1vZGVcbiIpOwo+PiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpOTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjX3N1Ym1pc3Np b24gPSAwOwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXQgPSAwOwo+PiDCoMKgwqDCoMKg IH0KPj4gwqAgLcKgwqDCoCBpOTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjX2xvYWRpbmcgPSAwOwo+ PiAtwqDCoMKgIERSTV9OT1RFKCJHdUMgZmlybXdhcmUgbG9hZGluZyBkaXNhYmxlZFxuIik7Cj4+ ICvCoMKgwqAgZWxzZQo+PiArwqDCoMKgwqDCoMKgwqAgcmV0ID0gMDsKPj4gwqAgwqDCoMKgwqDC oCByZXR1cm4gcmV0Owo+PiDCoCB9Cj4+IEBAIC00NDQsNyArNDQ1LDcgQEAgdm9pZCBpbnRlbF91 Y19maW5pX2h3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIAo+PiAqZGV2X3ByaXYpCj4+IMKgIHsK Pj4gwqDCoMKgwqDCoCBndWNfZnJlZV9sb2FkX2Vycl9sb2coJmRldl9wcml2LT5ndWMpOwo+PiDC oCAtwqDCoMKgIGlmICghaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19sb2FkaW5nKQo+PiArwqDC oMKgIGlmICghTkVFRFNfR1VDX0xPQURJTkcoZGV2X3ByaXYpKQo+PiDCoMKgwqDCoMKgwqDCoMKg wqAgcmV0dXJuOwo+PiDCoCDCoMKgwqDCoMKgIGlmIChpOTE1X21vZHBhcmFtcy5lbmFibGVfZ3Vj X3N1Ym1pc3Npb24pCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91 Yy5oIAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmgKPj4gaW5kZXggNzcwM2M5 YS4uNThkNzg3ZSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMu aAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5oCj4+IEBAIC0yMjMsNyAr MjIzLDcgQEAgc3RhdGljIGlubGluZSB2b2lkIGludGVsX2d1Y19ub3RpZnkoc3RydWN0IAo+PiBp bnRlbF9ndWMgKmd1YykKPj4gwqAgfQo+PiDCoCDCoCAvKiBpbnRlbF9ndWNfbG9hZGVyLmMgKi8K Pj4gLWludCBpbnRlbF9ndWNfc2VsZWN0X2Z3KHN0cnVjdCBpbnRlbF9ndWMgKmd1Yyk7Cj4+ICt2 b2lkIGludGVsX2d1Y19zZWxlY3RfZncoc3RydWN0IGludGVsX2d1YyAqZ3VjKTsKPj4gwqAgaW50 IGludGVsX2d1Y19pbml0X2h3KHN0cnVjdCBpbnRlbF9ndWMgKmd1Yyk7Cj4+IMKgIGludCBpbnRl bF9ndWNfc3VzcGVuZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+PiDCoCBp bnQgaW50ZWxfZ3VjX3Jlc3VtZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMgCj4+IGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMKPj4gaW5kZXggYjNjM2Y5NC4uMDE2 NGY0MSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMK Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMKPj4gQEAgLTE3ODYs MTIgKzE3ODYsMTAgQEAgaW50IGludGVsX2d1Y19yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAKPj4gKmRldl9wcml2KQo+PiDCoCB7Cj4+IMKgwqDCoMKgwqAgaW50IHJldDsKPj4gwqAgLcKg wqDCoCBpZiAoIUhBU19HVUMoZGV2X3ByaXYpKQo+PiAtwqDCoMKgwqDCoMKgwqAgcmV0dXJuIC1F SU5WQUw7Cj4+ICvCoMKgwqAgR0VNX0JVR19PTighSEFTX0dVQyhkZXZfcHJpdikpOwo+PiDCoCDC oMKgwqDCoMKgIGludGVsX3VuY29yZV9mb3JjZXdha2VfZ2V0KGRldl9wcml2LCBGT1JDRVdBS0Vf QUxMKTsKPj4gwqDCoMKgwqDCoCByZXQgPSBnZW42X2h3X2RvbWFpbl9yZXNldChkZXZfcHJpdiwg R0VOOV9HUkRPTV9HVUMpOwo+PiAtwqDCoMKgIGludGVsX3VuY29yZV9mb3JjZXdha2VfcHV0KGRl dl9wcml2LCBGT1JDRVdBS0VfQUxMKTsKPj4gwqAgwqDCoMKgwqDCoCByZXR1cm4gcmV0Owo+PiDC oCB9Cj4KVGhhbmtzIGZvciB0aGUgcmV2aWV3LgoKUmVnYXJkcywKU3VqYXJpdGhhCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=