From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?B?Q2hyaXN0aWFuIEvDtm5pZw==?= Subject: Re: [PATCH 1/3] amdkfd: Don't clear *kfd2kgd on kfd_module_init Date: Sun, 21 Dec 2014 17:10:05 +0100 Message-ID: <5496F0DD.40903@vodafone.de> References: <1419108374-7020-1-git-send-email-oded.gabbay@amd.com> <1419108374-7020-2-git-send-email-oded.gabbay@amd.com> <5496AEAD.3090003@vodafone.de> <5496B04C.50502@amd.com> <5496BAE0.5090901@vodafone.de> <5496C5EA.7050200@amd.com> <5496CA0F.8000800@amd.com> <5496EDF1.7080106@vodafone.de> <5496EF34.70302@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from pegasos-out.vodafone.de (pegasos-out.vodafone.de [80.84.1.38]) by gabe.freedesktop.org (Postfix) with ESMTP id 6EEEB6E21B for ; Sun, 21 Dec 2014 08:10:45 -0800 (PST) In-Reply-To: <5496EF34.70302@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Oded Gabbay , dri-devel@lists.freedesktop.org Cc: Alexander.Deucher@amd.com, linux-kernel@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org QW0gMjEuMTIuMjAxNCB1bSAxNzowMyBzY2hyaWViIE9kZWQgR2FiYmF5Ogo+Cj4KPiBPbiAxMi8y MS8yMDE0IDA1OjU3IFBNLCBDaHJpc3RpYW4gS8O2bmlnIHdyb3RlOgo+Pj4gVGhlcmUgc2hvdWxk IGJlLCBidXQgd2hlbiB0aGUgbW9kdWxlcyBhcmUgY29tcGlsZWQgaW4sIHRoZXkgYXJlIAo+Pj4g bG9hZGVkIGJhc2VkIG9uCj4+PiBsaW5rIG9yZGVyIG9ubHksIGlmIHRoZXkgYXJlIGluIHRoZSBz YW1lIGdyb3VwLCBhbmQgdGhlIGdyb3VwcyBhcmUgCj4+PiBsb2FkZWQgYnkgYQo+Pj4gcHJlLWRl ZmluZWQgb3JkZXIuCj4+IElzIHRoYXQgcmVhbGx5IHN0aWxsIHVwIHRvIGRhdGU/IEkndmUgc2Vl biBlZmZvcnQgdG8gY2hhbmdlIHRoYXQgCj4+IHNvbWV0aGluZyBsaWtlCj4+IDEwKyB5ZWFycyBh Z28gd2hlbiBSdXN0eSByZXdvcmtlZCB0aGUgbW9kdWxlIHN5c3RlbS4gQW5kIGl0IGlzIAo+PiBj b21taW5nIHVwIG9uIHRoZQo+PiBsaXN0cyBhZ2FpbiBmcm9tIHRpbWUgdG8gdGltZS4KPiBGcm9t IHdoYXQgSSBjYW4gc2VlIGluIHRoZSBNYWtlZmlsZSBydWxlcywgY29kZSBhbmQgZ29vZ2xlLCB5 ZXMsIAo+IHRoYXQncyBzdGlsbCB0aGUgc2l0dWF0aW9uLiBJZiBzb21lb25lIHdpbGwgcHJvdmUg bWUgd3JvbmcgSSB3aWxsIGJlIAo+IG1vcmUgdGhhbiBoYXBweSB0byBjb3JyZWN0IG15IGNvZGUu Cj4+Cj4+PiBJIGRvbid0IHdhbnQgdG8gbW92ZSBpb21tdSBiZWZvcmUgZ3B1LCBzbyBJIGRvbid0 IGhhdmUgYSBzb2x1dGlvbiAKPj4+IGZvciB0aGUKPj4+IG9yZGVyIGJldHdlZW4gYW1ka2ZkIGFu ZCBhbWRfaW9tbXVfdjIuCj4+IFdoeSBub3Q/IFRoYXQncyBzdGlsbCBiZXR0ZXIgdGhhbiBjcmVh dGluZyBhIGtlcm5lbCB3b3JrcXVldWUsIAo+PiBzY2hlZHVsaW5nIG9uZQo+PiB3b3JrIGl0ZW0g b24gaXQsIHJlc2NoZWR1bGluZyB0aGUgdGFzayB1bnRpbCBldmVyeXRoaW5nIGlzIGNvbXBsZXRl ZCAKPj4gYW5kIHlvdSBjYW4KPj4gY29udGludWUuCj4gQmVjYXVzZSBJIGRvbid0IGtub3cgdGhl IGNvbnNlcXVlbmNlcyBvZiBtb3ZpbmcgYW4gZW50aXJlIHN1YnN5c3RlbSBpbiAKPiBmcm9udCBv ZiBhbm90aGVyIG9uZS4gSW4gYWRkaXRpb24sIGV2ZW4gaWYgZXZlcnlvbmUgYWdyZWVzLCBJJ20g cHJldHR5IAo+IHN1cmUgdGhhdCBMaW51cyB3b24ndCBiZSBoYXBweSB0byBkbyB0aGF0IGluIC1y YyBzdGFnZXMuIFNvIG1heWJlIHRoaXMgCj4gaXMgc29tZXRoaW5nIHRvIGNvbnNpZGVyIGZvciAz LjIwIG1lcmdlIHdpbmRvdywgYnV0IEkgd291bGQgc3RpbGwgbGlrZSAKPiB0byBwcm92aWRlIGEg c29sdXRpb24gZm9yIDMuMTkuCgpZZWFoLCB0cnVlIGluZGVlZC4gSG93IGFib3V0IGRlcGVuZGlu ZyBvbiBldmVyeXRoaW5nIGJlaW5nIGNvbXBpbGVkIGFzIAptb2R1bGUgZm9yIDMuMTkgdGhlbj8g U3RpbGwgYmV0dGVyIHRoYW4gaGF2aW5nIHN1Y2ggYSBoYWNrIGluIHRoZSBkcml2ZXIgCmZvciBh cyBhIHRlbXBvcmFyeSB3b3JrYXJvdW5kIGZvciBvbmUgcmVsZWFzZS4KCkNocmlzdGlhbi4KCj4K PiAgICAgT2RlZAo+Pgo+PiBDaHJpc3RpYW4uCj4+Cj4+IEFtIDIxLjEyLjIwMTQgdW0gMTQ6MjQg c2NocmllYiBPZGVkIEdhYmJheToKPj4+Cj4+Pgo+Pj4gT24gMTIvMjEvMjAxNCAwMzowNiBQTSwg T2RlZCBHYWJiYXkgd3JvdGU6Cj4+Pj4KPj4+Pgo+Pj4+IE9uIDEyLzIxLzIwMTQgMDI6MTkgUE0s IENocmlzdGlhbiBLw7ZuaWcgd3JvdGU6Cj4+Pj4+IEFtIDIxLjEyLjIwMTQgdW0gMTI6MzQgc2No cmllYiBPZGVkIEdhYmJheToKPj4+Pj4+Cj4+Pj4+Pgo+Pj4+Pj4gT24gMTIvMjEvMjAxNCAwMToy NyBQTSwgQ2hyaXN0aWFuIEvDtm5pZyB3cm90ZToKPj4+Pj4+PiBBbSAyMC4xMi4yMDE0IHVtIDIx OjQ2IHNjaHJpZWIgT2RlZCBHYWJiYXk6Cj4+Pj4+Pj4+IFdoZW4gYW1ka2ZkIGFuZCByYWRlb24g YXJlIGNvbXBpbGVkIGluc2lkZSB0aGUga2VybmVsIGltYWdlIAo+Pj4+Pj4+PiAobm90IGFzCj4+ Pj4+Pj4+IG1vZHVsZXMpLAo+Pj4+Pj4+PiByYWRlb24gd2lsbCBsb2FkIGJlZm9yZSBhbWRrZmQg YW5kIHdpbGwgc2V0ICprZmQya2dkIHRvIGl0cyAKPj4+Pj4+Pj4gaW50ZXJmYWNlCj4+Pj4+Pj4+ IHN0cnVjdHVyZS4gVGhlcmVmb3JlLCB3ZSBtdXN0IG5vdCBzZXQgKmtmZDJrZ2QgdG8gTlVMTCB3 aGVuIAo+Pj4+Pj4+PiBhbWRrZmQgaXMgbG9hZGVkCj4+Pj4+Pj4+IGJlY2F1c2UgaXQgd2lsbCBv dmVycmlkZSByYWRlb24ncyBpbml0aWFsaXphdGlvbiBhbmQgY2F1c2UgCj4+Pj4+Pj4+IGtlcm5l bCBCVUcuCj4+Pj4+Pj4+Cj4+Pj4+Pj4+IFNpZ25lZC1vZmYtYnk6IE9kZWQgR2FiYmF5IDxvZGVk LmdhYmJheUBhbWQuY29tPgo+Pj4+Pj4+Cj4+Pj4+Pj4gWW91IHNob3VsZCBwcm9iYWJseSByYXRo ZXIgZml4IHRoZSBkZXBlbmRlbmN5IGJldHdlZW4gdGhlIHR3byAKPj4+Pj4+PiBtb2R1bGVzIHRv Cj4+Pj4+Pj4gZ2V0IGFuCj4+Pj4+Pj4gZGV0ZXJtaW5lZCBsb2FkIG9yZGVyIGluc3RlYWQgb2Yg ZG9pbmcgc3VjaCBuYXN0eSB3b3JrYXJvdW5kcy4KPj4+Pj4+Pgo+Pj4+Pj4+IENocmlzdGlhbi4K Pj4+Pj4+Cj4+Pj4+PiBUaGUgcHJvYmxlbSBpcyB0aGF0IHdoZW4gbW9kdWxlcyBhcmUgY29tcGls ZWQgaW5zaWRlIHRoZSBrZXJuZWwsIAo+Pj4+Pj4gdGhlcmUgaXMgTk8KPj4+Pj4+IGRldGVybWlu ZWQgbG9hZCBvcmRlciBhbmQgdGhlcmUgaXMgbm8gbWVjaGFuaXNtIHRvIGVuZm9yY2UgdGhhdC4g Cj4+Pj4+PiBJZiB0aGVyZQo+Pj4+Pj4gaXMvd2FzIHN1Y2ggYSBtZWNoYW5pc20sIEkgd291bGQg b2YgY291cnNlIHByZWZlciB0byB1c2UgaXQuCj4+Pj4+Cj4+Pj4+IFRoZXJlIHNob3VsZCBiZSBh biBkZXRlcm1pbmVkIG9yZGVyIGJhc2VkIG9uIHRoZSBzeW1ib2wgdXNlLCAKPj4+Pj4gb3RoZXJ3 aXNlCj4+Pj4+IGluaXRpYWxpemluZyBtb3N0IG9mIHRoZSBrZXJuZWwgbW9kdWxlcyB3b3VsZG4n dCB3b3JrIGFzIGV4cGVjdGVkLiAKPj4+Pj4gRm9yIGV4YW1wbGUKPj4+Pj4gcmFkZW9uIGRlcGVu ZHMgb24gdGhlIGRybSBtb2R1bGUgbXVzdCBiZSBsb2FkZWQgYmVmb3JlIHJhZGVvbiBpcyAKPj4+ Pj4gbG9hZGVkLgo+Pj4+IFRoZXJlIHNob3VsZCBiZSwgYnV0IHdoZW4gdGhlIG1vZHVsZXMgYXJl IGNvbXBpbGVkIGluLCB0aGV5IGFyZSAKPj4+PiBsb2FkZWQgYmFzZWQgb24KPj4+PiBsaW5rIG9y ZGVyIG9ubHksIGlmIHRoZXkgYXJlIGluIHRoZSBzYW1lIGdyb3VwLCBhbmQgdGhlIGdyb3VwcyBh cmUgCj4+Pj4gbG9hZGVkIGJ5IGEKPj4+PiBwcmUtZGVmaW5lZCBvcmRlci4KPj4+PiBUaGUgZ3Jv dXBzIGFyZTogcHVyZSwgY29yZSwgcG9zdGNvcmUsIGFyY2gsIHN1YnN5cywgZnMsIGRldmljZSAK Pj4+PiAod2hpY2ggcmVwcmVzZW50cwo+Pj4+IGFsbCB0aGUgbW9kdWxlcykgYW5kIGxhdGUuIFNl ZSBpbml0LmgKPj4+Pgo+Pj4+IFNvIHJhZGVvbiwgYW1ka2ZkIGFuZCBhbWRfaW9tbXVfdjIgYXJl IGFsbCBpbiBkZXZpY2UgZ3JvdXAsIGFuZCBpbiAKPj4+PiB0aGUgZ3JvdXAKPj4+PiB0aGV5IGFy ZSBvcmRlcmVkIGJ5IHRoZWlyIGxpbmsgb3JkZXIuCj4+Pj4KPj4+PiBZZXMsIHJhZGVvbiBsb2Fk cyBhZnRlciBkcm0sIGJlY2F1c2UgZHJtKi5vIGFyZSBiZWZvcmUgcmFkZW9uKi5vIGluIAo+Pj4+ IHRoZQo+Pj4+IE1ha2VmaWxlLiBTZWUKPj4+PiBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVl c3Rpb25zLzU2Njk2NDcvbGludXgtb3JkZXItb2Ytc3RhdGljYWxseS1saW5rZWQtbW9kdWxlLWxv YWRpbmcgCj4+Pj4KPj4+Pgo+Pj4+Cj4+Pgo+Pj4gU28gSSB0cmllZCBtb3ZpbmcgYW1ka2ZkIGlu c2lkZSB0aGUgTWFrZWZpbGUgYmVmb3JlIHJhZGVvbiwgYW5kIHRoYXQgCj4+PiBtYWRlCj4+PiBh bWRrZmQgbG9hZCBiZWZvcmUgcmFkZW9uIGRpZC4gVGhpcyBzb2x2ZXMgbXkgZmlyc3QgcHJvYmxl bSAtIG9yZGVyIAo+Pj4gYmV0d2Vlbgo+Pj4gYW1ka2ZkIGFuZCByYWRlb24uIEhvd2V2ZXIsIGFt ZF9pb21tdV92MiBkb2Vzbid0IGJlbG9uZyB0byB0aGUgZHJtIAo+Pj4gTWFrZWZpbGUsCj4+PiBh bmQgSSBkb24ndCB3YW50IHRvIG1vdmUgaW9tbXUgYmVmb3JlIGdwdSwgc28gSSBkb24ndCBoYXZl IGEgCj4+PiBzb2x1dGlvbiBmb3IgdGhlCj4+PiBvcmRlciBiZXR3ZWVuIGFtZGtmZCBhbmQgYW1k X2lvbW11X3YyLgo+Pj4KPj4+ICAgICBPZGVkCj4+Pj4KPj4+Pgo+Pj4+Pgo+Pj4+Pj4KPj4+Pj4+ IEFjdHVhbGx5LCBJIGRvbid0IHVuZGVyc3RhbmQgd2h5IHRoZSBrZXJuZWwgZG9lc24ndCBlbmZv cmNlIHRoZSAKPj4+Pj4+IG9yZGVyCj4+Pj4+PiBhY2NvcmRpbmcgdG8gdGhlIHVzZSBvZiBleHBv cnRlZCBzeW1ib2xzLCBsaWtlIGl0IGRvZXMgd2l0aCBtb2R1bGVzLgo+Pj4+Pgo+Pj4+PiBZZWFo LCB0aGF0J3MgaW5kZWVkIHJhdGhlciBzdHJhbmdlLiBUaGVyZSBtdXN0IGJlIHNvbWV0aGluZyBp biB0aGUgCj4+Pj4+IGFtZGtmZCBjb2RlCj4+Pj4+IHdoaWNoIGJyb2tlIHRoYXQgc29tZWhvdy4K Pj4+PiBJTU8sIHRoYXQncyBhIGZhci1mZXRjaGVkIGd1ZXNzLiBDb3VsZCB5b3UgcG9pbnQgdG8g c29tZXRoaW5nIG1vcmUgCj4+Pj4gc3BlY2lmaWMgPwo+Pj4+Cj4+Pj4+Cj4+Pj4+IEFzIGZhciBh cyBJIHVuZGVyc3RhbmQgeW91IHRoZSBkZXNpcmVkIGluaXQgb3JkZXIgaXMgcmFkZW9uIGFuZCAK Pj4+Pj4gYW1kX2lvbW11X3YyCj4+Pj4+IGZpcnN0IGFuZCB0aGVuIGFtZGtmZCwgcmlnaHQ/Cj4+ Pj4gQWN0dWFsbHkgbm8uIFRoZSBwcmVmZXJyZWQgb3JkZXIgaXMgYW1kX2lvbW11X3YyLCBhbWRr ZmQgYW5kIHJhZGVvbiAKPj4+PiBsYXN0LiBUaGlzCj4+Pj4gaXMgdGhlIG9yZGVyIHRoYXQgaGFw cGVucyB3aGVuIGFsbCB0aHJlZSBhcmUgYnVpbHQgYXMgbW9kdWxlcy4gTW9yZSAKPj4+PiBhY2N1 cmF0ZWx5LAo+Pj4+IHJhZGVvbiBpbml0cywgYnV0IGl0cyBpbml0IHRyaWdnZXJzIGFtZGtmZCBp bml0LCB3aGljaCB0cmlnZ2VycyAKPj4+PiBhbWRfaW9tbXVfdjIKPj4+PiBpbml0LiBTbyBiZWZv cmUgcmFkZW9uIHJlYWNoZXMgaXRzIHByb2JlIHN0YWdlLCBhbGwgdGhlIG1vZHVsZXMgd2VyZQo+ Pj4+IGluaXRpYWxpemVkLgo+Pj4+Cj4+Pj4gU28gd2hhdCBoYXBwZW5zIHdoZW4geW91IGJvb3Qg d2l0aCByYWRlb24sCj4+Pj4+IGFtZF9pb21tdV92MiBhbmQgYW1ka2ZkIGJsYWNrbGlzdGVkIGZv ciBhdXRvbWF0aWNhbGx5IGxvYWQgYW5kIAo+Pj4+PiBvbmx5IGxvYWQgYW1ka2ZkCj4+Pj4+IG1h bnVhbGx5Pwo+Pj4+IEFzIHNhaWQgYWJvdmUsIHRoYXQncyBvay4KPj4+Pj4KPj4+Pj4+IFRoZXJl IHdpbGwgYWx3YXlzIGJlIGRlcGVuZGVuY2llcyBiZXR3ZWVuIGtnZCAocmFkZW9uKSBhbmQgYW1k a2ZkIAo+Pj4+Pj4gYW5kIGJldHdlZW4KPj4+Pj4+IGFtZGtmZCBhbmQgYW1kX2lvbW11X3YyLiBJ IGRvbid0IHRoaW5rIEkgY2FuIGVsaW1pbmF0ZSB0aG9zZSAKPj4+Pj4+IGRlcGVuZGVuY2llcywg bm90Cj4+Pj4+PiB3aXRob3V0IGEgdmVyeSBjb21wbGV4IHNvbHV0aW9uLiBBbmQgdGhlIGZhY3Qg dGhhdCB0aGlzIGNvbXBsZXggCj4+Pj4+PiBzb2x1dGlvbgo+Pj4+Pj4gb2NjdXJzIG9ubHkgaW4g YSB2ZXJ5IHNwZWNpZmljIHVzZSBjYXNlIChhbGwgbW9kdWxlcyBjb21waWxlZCAKPj4+Pj4+IGlu KSwgbWFrZXMgbWUKPj4+Pj4+IGxlc3MgaW5jbGluZWQgdG8gZG8gdGhhdC4KPj4+Pj4+Cj4+Pj4+ PiBTbyBJIGRvbid0IHNlZSBpdCBhcyBhICJuYXN0eSB3b3JrYXJvdW5kIi4gSSB3b3VsZCBjYWxs IGl0IGp1c3QgYSAKPj4+Pj4+ICJ3b3JrYXJvdW5kIgo+Pj4+Pj4gZm9yIGEgc3BlY2lmaWMgdXNl IGNhc2UsIHdoaWNoIHNob3VsZCBiZSBzb2x2ZWQgYnkgYSBnZW5lcmljIAo+Pj4+Pj4gc29sdXRp b24gdG8gdGhlCj4+Pj4+PiBrZXJuZWwgZW5mb3JjaW5nIGxvYWQgb3JkZXJzLgo+Pj4+Pgo+Pj4+ PiBUaGUgbm9ybWFsIGtlcm5lbCBtb2R1bGUgaGFuZGxpbmcgYWxyZWFkeSBzaG91bGQgcHJvdmlk ZSB0aGUgCj4+Pj4+IGNvcnJlY3QgaW5pdAo+Pj4+PiBvcmRlciwKPj4+Pj4gc28gSSB3b3VsZCBz dGlsbCBjYWxsIHRoaXMgYSByYXRoZXIgbmFzdHkgd29ya2Fyb3VuZCBiZWNhdXNlIHdlIAo+Pj4+ PiBjb3VsZG4ndCBmaW5kCj4+Pj4+IHRoZSB1bmRlcmx5aW5nIHByb2JsZW0uCj4+Pj4gV2VsbCwg dGhlIG5vcm1hbCBrZXJuZWwgbW9kdWxlIGhhbmRsaW5nIGRvZXNuJ3Qgd29yayB3aGVuIGFsbCAK Pj4+PiBtb2R1bGVzIGFyZQo+Pj4+IGNvbXBpbGVkIGluLiBJJ20gbm90IGEgaHVnZSBleHBlcnQg b24gdGhpcyBpc3N1ZSBzbyBJIGhhZCBKb2VyZyAKPj4+PiBSb2VkZWwgaGVscCBtZQo+Pj4+IGFu YWx5emUgdGhpcyAodGhhbmtzIEpvZXJnKSBhbmQgaGUgYWdyZWVkIHRoYXQgdGhlcmUgaXMgbm8g Cj4+Pj4gZW5mb3JjZW1lbnQgb2Ygb3JkZXIKPj4+PiBpbiB0aGlzIGNhc2UuCj4+Pj4KPj4+Pj4K Pj4+Pj4gQ2hyaXN0aWFuLgo+Pj4+Pgo+Pj4+Pj4KPj4+Pj4+ICAgICBPZGVkCj4+Pj4+Pj4KPj4+ Pj4+Pj4gLS0tCj4+Pj4+Pj4+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX21vZHVs ZS5jIHwgNSArKy0tLQo+Pj4+Pj4+PiAgIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyks IDMgZGVsZXRpb25zKC0pCj4+Pj4+Pj4+Cj4+Pj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGtmZC9rZmRfbW9kdWxlLmMKPj4+Pj4+Pj4gYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGtmZC9rZmRfbW9kdWxlLmMKPj4+Pj4+Pj4gaW5kZXggOTVkNWFmMS4uMjM2NTYyZiAx MDA2NDQKPj4+Pj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX21vZHVs ZS5jCj4+Pj4+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9tb2R1bGUu Ywo+Pj4+Pj4+PiBAQCAtMzQsNyArMzQsNyBAQAo+Pj4+Pj4+PiAgICNkZWZpbmUgS0ZEX0RSSVZF Ul9NSU5PUiAgICA3Cj4+Pj4+Pj4+ICAgI2RlZmluZSBLRkRfRFJJVkVSX1BBVENITEVWRUwgICAg MAo+Pj4+Pj4+PiAtY29uc3Qgc3RydWN0IGtmZDJrZ2RfY2FsbHMgKmtmZDJrZ2Q7Cj4+Pj4+Pj4+ ICtjb25zdCBzdHJ1Y3Qga2ZkMmtnZF9jYWxscyAqa2ZkMmtnZCA9IE5VTEw7Cj4+Pj4+Pj4+ICAg c3RhdGljIGNvbnN0IHN0cnVjdCBrZ2Qya2ZkX2NhbGxzIGtnZDJrZmQgPSB7Cj4+Pj4+Pj4+ICAg ICAgIC5leGl0ICAgICAgICA9IGtnZDJrZmRfZXhpdCwKPj4+Pj4+Pj4gICAgICAgLnByb2JlICAg ICAgICA9IGtnZDJrZmRfcHJvYmUsCj4+Pj4+Pj4+IEBAIC04NCwxNCArODQsMTMgQEAgRVhQT1JU X1NZTUJPTChrZ2Qya2ZkX2luaXQpOwo+Pj4+Pj4+PiAgIHZvaWQga2dkMmtmZF9leGl0KHZvaWQp Cj4+Pj4+Pj4+ICAgewo+Pj4+Pj4+PiArICAgIGtmZDJrZ2QgPSBOVUxMOwo+Pj4+Pj4+PiAgIH0K Pj4+Pj4+Pj4gICBzdGF0aWMgaW50IF9faW5pdCBrZmRfbW9kdWxlX2luaXQodm9pZCkKPj4+Pj4+ Pj4gICB7Cj4+Pj4+Pj4+ICAgICAgIGludCBlcnI7Cj4+Pj4+Pj4+IC0gICAga2ZkMmtnZCA9IE5V TEw7Cj4+Pj4+Pj4+IC0KPj4+Pj4+Pj4gICAgICAgLyogVmVyaWZ5IG1vZHVsZSBwYXJhbWV0ZXJz ICovCj4+Pj4+Pj4+ICAgICAgIGlmICgoc2NoZWRfcG9saWN5IDwgS0ZEX1NDSEVEX1BPTElDWV9I V1MpIHx8Cj4+Pj4+Pj4+ICAgICAgICAgICAoc2NoZWRfcG9saWN5ID4gS0ZEX1NDSEVEX1BPTElD WV9OT19IV1MpKSB7Cj4+Pj4+Pj4KPj4+Pj4KPj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwo+Pj4+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPj4+PiBk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+Pj4gaHR0cDovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo+Pgo+PiAtLSAKPj4gVG8gdW5zdWJz Y3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVuc3Vic2NyaWJlIAo+PiBsaW51 eC1rZXJuZWwiIGluCj4+IHRoZSBib2R5IG9mIGEgbWVzc2FnZSB0byBtYWpvcmRvbW9Admdlci5r ZXJuZWwub3JnCj4+IE1vcmUgbWFqb3Jkb21vIGluZm8gYXQgaHR0cDovL3ZnZXIua2VybmVsLm9y Zy9tYWpvcmRvbW8taW5mby5odG1sCj4+IFBsZWFzZSByZWFkIHRoZSBGQVEgYXQgIGh0dHA6Ly93 d3cudHV4Lm9yZy9sa21sLwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmkt ZGV2ZWwK