From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm/amdgpu: fix drm leases being broken on radv Date: Thu, 18 Apr 2019 08:46:33 +0200 Message-ID: References: <20190417081058.GN13337@phenom.ffwll.local> <48b47310-caa6-7519-c81f-0c91501cd73a@amd.com> <38971d43-0f7d-9888-1b0b-0c0d45694066@amd.com> <20190417120042.GW13337@phenom.ffwll.local> <07e4606e-ef14-0688-c3f8-9118c85ba611@amd.com> <20190417123554.GX13337@phenom.ffwll.local> <20190417133424.GB13337@phenom.ffwll.local> <20190417155155.GA1094@arch-x1c3> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-it1-x143.google.com (mail-it1-x143.google.com [IPv6:2607:f8b0:4864:20::143]) by gabe.freedesktop.org (Postfix) with ESMTPS id E2DDA6E0AD for ; Thu, 18 Apr 2019 06:46:45 +0000 (UTC) Received: by mail-it1-x143.google.com with SMTP id f22so1764310ita.3 for ; Wed, 17 Apr 2019 23:46:45 -0700 (PDT) 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: "Koenig, Christian" Cc: Keith Packard , David Airlie , "dri-devel@lists.freedesktop.org" , Andres Rodriguez , "Deucher, Alexander" , Emil Velikov List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBBcHIgMTcsIDIwMTkgYXQgNzozMCBQTSBLb2VuaWcsIENocmlzdGlhbgo8Q2hyaXN0 aWFuLktvZW5pZ0BhbWQuY29tPiB3cm90ZToKPgo+IEFtIDE3LjA0LjE5IHVtIDE3OjUxIHNjaHJp ZWIgRW1pbCBWZWxpa292Ogo+ID4gSGkgZ3V5cywKPiA+Cj4gPiBPbiAyMDE5LzA0LzE3LCBEYW5p ZWwgVmV0dGVyIHdyb3RlOgo+ID4+IE9uIFdlZCwgQXByIDE3LCAyMDE5IGF0IDAyOjQ2OjA2UE0g KzAyMDAsIENocmlzdGlhbiBLw7ZuaWcgd3JvdGU6Cj4gPj4+IEFtIDE3LjA0LjE5IHVtIDE0OjM1 IHNjaHJpZWIgRGFuaWVsIFZldHRlcjoKPiA+Pj4+IE9uIFdlZCwgQXByIDE3LCAyMDE5IGF0IDEy OjA2OjMyUE0gKzAwMDAsIEtvZW5pZywgQ2hyaXN0aWFuIHdyb3RlOgo+ID4+Pj4+IEFtIDE3LjA0 LjE5IHVtIDE0OjAwIHNjaHJpZWIgRGFuaWVsIFZldHRlcjoKPiA+Pj4+Pj4gT24gV2VkLCBBcHIg MTcsIDIwMTkgYXQgMTE6MTg6MzVBTSArMDAwMCwgS29lbmlnLCBDaHJpc3RpYW4gd3JvdGU6Cj4g Pj4+Pj4+PiBBbSAxNy4wNC4xOSB1bSAxMzowNiBzY2hyaWViIERhbmllbCBWZXR0ZXI6Cj4gPj4+ Pj4+Pj4gT24gV2VkLCBBcHIgMTcsIDIwMTkgYXQgMTI6MjkgUE0gS29lbmlnLCBDaHJpc3RpYW4K PiA+Pj4+Pj4+PiA8Q2hyaXN0aWFuLktvZW5pZ0BhbWQuY29tPiB3cm90ZToKPiA+Pj4+Pj4+PiBb U05JUF0KPiA+Pj4+Pj4+IFdlbGwsIHdoYXQgeW91IGd1eXMgZGlkIGhlcmUgaXMgYSBzZXJpb3Vz IG5vLWdvLgo+ID4+Pj4+PiBOb3QgcmVhbGx5IHVuZGVyc3RhbmRpbmcgeW91ciByZWFzb25zIGZv ciBhbiB1bmNvbmRpdGlvbmFsIG5hayBvbiBhbGwgdGhpcwo+ID4+Pj4+PiBzdGlsbC4KPiA+Pj4+ PiBXZWxsLCBsZXQgbWUgc3VtbWFyaXplOiBZb3Ugd29ya2VkIGFyb3VuZCBhIHByb2JsZW0gd2l0 aCBsaWJ2YSBieQo+ID4+Pj4+IGJyZWFraW5nIGFub3RoZXIgZHJpdmVyIGFuZCBub3cgcHJvcG9z aW5nIGEgcmF0aGVyIHVnbHkgYW5kIG9ubHkgaGFsdmUKPiA+Pj4+PiBiYWNrZWQgd29ya2Fyb3Vu ZCBmb3IgdGhhdCBkcml2ZXIuCj4gPj4+Pj4KPiA+Pj4+PiBUaGlzIGlzIGEgc2VyaW91cyBuby1n by4gSSd2ZSBhbHJlYWR5IHNlbmQgb3V0IGEgaTkxNSBzcGVjaWZpYyBjaGFuZ2UgdG8KPiA+Pj4+ PiByZW1vdmUgRFJNX0FVVEggZnJvbSBJT0NUTHMgd2hpY2ggYWxzbyBoYXZlIERSTV9SRU5ERVJf QUxMT1cgYW5kIHJldmVydAo+ID4+Pj4+IHRoZSBvZmZlbmRpbmcgcGF0Y2guCj4gPj4+PiBPaCBJ J20gdG90YWxseSBmaW5lIHdpdGggdGhlIHJldmVydCBpZiB0aGF0J3Mgd2hhdCB3ZSBnbyB3aXRo LiBCdXQgdGhhdAo+ID4+Pj4gc3RpbGwgbGVhdmVzIHRoZSBpc3N1ZSB0aGF0IGl0IHdvdWxkIG1h a2Ugc2Vuc2UgdG8gZHJvcCBEUk1fQVVUSCBmcm9tCj4gPj4+PiBEUklWRVJfUkVOREVSIGNhcGFi bGUgZHJpdmVycyAobm90IGp1c3QgZm9yIGxpYnZhLCBidXQgaW4gZ2VuZXJhbCkuIEFuZAo+ID4+ Pj4gdGhlcmUncyBmdW5kYW1lbnRhbGx5IDIgb3B0aW9ucyB0byBkbyB0aGF0Ogo+ID4+Pj4KPiA+ Pj4+IC0gVGhpcyBvbmUgaGVyZSAob3IgYW55dGhpbmcgaW1wbGVtZW50aW5nIHRoZSBzYW1lIGlk ZWEpLCB0byBrZWVwIHJhZHYKPiA+Pj4+ICAgICB3b3JraW5nLgo+ID4+Pj4KPiA+Pj4+IC0gV2Ug ZHJvcCBEUk1fQVVUSCBmcm9tIGFsbCBkcml2ZXJzIHdpdGggRFJJVkVSX1JFTkRFUiBleGNlcHQg YW1kZ3B1LiBIb3cKPiA+Pj4+ICAgICBleGFjdGx5IHRoYXQncyBkb2VuIGRvZXNuJ3QgbWF0dGVy LCBidXQgaXQgbGVhdmVzIGFtZGdwdSBvdXQgaW4gdGhlCj4gPj4+PiAgICAgY29sZC4gSXQgYWxz byBkb2Vzbid0IG1hdHRlciB3aGV0aGVyIHdlIGdldCB0aGVyZSB3aXRoIHJldmVydCArIGxvdHMg b2YKPiA+Pj4+ICAgICBwYXRjaGVzLCBvciBhIHNwZWNpYWwgaGFjayBmb3IgYW1kZ3B1LCBpbiB0 aGUgZW5kIGFtZGdwdSB3b3VsZCBiZQo+ID4+Pj4gICAgIGRpZmZlcmVudC4gQWxzbyBub3RlIHRo YXQgeW91ciBwYXRjaCBpc24ndCBlbm91Z2gsIHNpbmNlIGl0IGRvZXNuJ3QgZml4Cj4gPj4+PiAg ICAgdGhlIGNvcmUgaW9jdGxzLgo+ID4+Pj4KPiA+Pj4+IEkgdGhpbmsgZnJvbSBhbiBvdmVyYWxs IHBsYXRmb3JtIHBvdiwgdGhlIGZpcnN0IGlzIHRoZSBiZXR0ZXIgb3B0aW9uLgo+ID4+Pj4gQWZ0 ZXIgYWxsIHdlIHRyeSByZWFsbHkgaGFyZCB0byBhdm9pZCBkcml2ZXIgc3BlY2lhbCBjYXNlcyBm b3IgdGhlc2Uga2luZHMKPiA+Pj4+IG9mIHRoaW5ncy4KPiA+Pj4gV2VsbCwgSSBpbml0aWFsbHkg dGhvdWdodCB0aGF0IHJhZHYgaXMgZG9pbmcgc29tZXRoaW5nIHVudXN1YWwgb3IgYnJva2VuLAo+ ID4+PiBidXQgYWZ0ZXIgbG9va2luZyBkZWVwZXIgaW50byB0aGlzIHRoYXQgaXMgYWN0dWFsbHkg bm90IHRoZSBjYXNlLgo+ID4+Pgo+ID4+PiBXaGF0IHJhZHYgZG9lcyBpcyBjYWxsaW5nIGFuIElP Q1RMIGFuZCBleHBlY3RpbmcgYW4gZXJyb3IgbWVzc2FnZSB3aGVuIGl0IGlzCj4gPj4+IG5vdCBh dXRoZW50aWNhdGVkLgo+ID4+Pgo+ID4+PiBJdCBsb29rcyBsaWtlIGxpYmRybV9hbWRncHUgaGFz IHN3aXRjaGVkIHRvIHVzaW5nIERSTV9JT0NUTF9HRVRfQ0xJRU5UIHRvCj4gPj4+IGZpZ3VyZSBv dXQgaWYgaXQgaXMgYXV0aGVudGljYXRlZCBvciBub3QsIGJ1dCBJIGNsZWFybHkgcmVtZW1iZXIg dGhhdCB3ZQo+ID4+PiBoYXZlbid0IGRvbmUgdGhpcyBmcm9tIHRoZSBiZWdpbm5pbmcuCj4gPj4g TWF5YmUgaW4gdGhlIHJhZG9lbiBjb2RlLCBvciBzb21lIGVhcmxpZXIgaW50ZXJuYWwgYW1kZ3B1 IGxpYmRybSBjb2RlPwo+ID4+IEZpcnN0IHB1YmxpYyBjb21taXQgaGFzIGFsbCB0aGUgYml0czog Z2V0YXV0aCwgR2V0VmVyc2lvbiwgdGhlbiB0aGUgYWNjZWwKPiA+PiBxdWVyeS4KPiA+Pgo+ID4+ PiBUaGlua2luZyBtb3JlIGFib3V0IHRoaXMgSSBkb24ndCB0aGluayB0aGF0IHRoaXMgcHJvYmxl bSBpcyBhY3R1YWxseSBhbWRncHUKPiA+Pj4gc3BlY2lmaWMuIFNvIEkgd291bGRuJ3QgZHJvcCBE Uk1fQVVUSCBmcm9tIGFsbCByZW5kZXIgbm9kZSBkcml2ZXJzIGF0IGFsbCwKPiA+Pj4gYnV0IG9u bHkgZnJvbSB0aG9zZSB3aG8gaGF2ZSB0aGUgc3BlY2lmaWMgaXNzdWUgd2l0aCBsaWJ2YS4KPiA+ PiBsaWJ2YSB3YXMgdGhlIGluaXRpYWwgbW90aXZhdGlvbiwgdGhlIGdvYWwgb2YgRW1pbCdzIHBh dGNoIHdhc24ndCB0byBqdXN0Cj4gPj4gZHVjdC10YXBlIG92ZXIgbGlidmEuIFRoYXQgd291bGQg YmUgZWFzaWVyIHRvIGZpeCBpbiBsaWJ2YS4gVGhlIHBvaW50IHdhcwo+ID4+IHRoYXQgd2Ugc2hv dWxkIGJlIGFibGUgdG8gYWxsb3cgdGhpcyBpbiBnZW5lcmFsLgo+ID4+Cj4gPj4gQW5kIHdlIGNh biwgZXhjZXB0IGZvciB0aGUgcmFkdiBpc3N1ZSB1bmNvdmVyZWQgaGVyZS4KPiA+Pgo+ID4+IFNv IHBsZWFzZSBkb24ndCBnZXQgMTAwJSBodW5nIHVwIG9uIHRoZSBsaWJ2YSB0aGluZywgdGhhdCB3 YXNuJ3QgcmVhbGx5Cj4gPj4gdGhlIGdvYWwsIGp1c3QgdGhlIGluaXRpYWwgbW90aXZhdGlvbi4g QW5kIEkgc3RpbGwgdGhpbmtzIGl0IG1ha2VzIGZvciBhbGwKPiA+PiBkcml2ZXJzLiBTbyBhZ2Fp biB3ZSBoYXZlOgo+ID4+Cj4gPj4gLSByYWR2IGhhY2sKPiA+PiAtIG1ha2UgYW1kZ3B1IGJlaGF2 ZSBkaWZmZXJlbnQgZnJvbSBldmVyeW9uZSBlbHNlCj4gPj4gLSBrZWVwIHRpbHRpbmcgd2luZG1p bGxzIGFib3V0ICJwbHMgdXNlIHJlbmRlcm5vZGVzLCB0aHgiCj4gPj4KPiA+PiBJIG5laXRoZXIg bGlrZSB0aWx0aW5nIHdpbmRtaWxscyBub3IgbWFraW5nIGRyaXZlcnMgYmVoYXZlIGRpZmZlcmVu dCBmb3IKPiA+PiBubyByZWFhc29uIGF0IGFsbC4KPiA+IEFsbG93IG1lIHRvIGp1bXAtaW4gc29t ZSBlbWFpbHMgZG93biB0aGUgbGluZS4KPiA+Cj4gPiBGaXJzdCBhbmQgZm9yZW1vc3QsIHNpbmNl cmUgYXBvbG9naWVzIGZvciB1cHNldHRpbmcgeW91IENocmlzdGlhbi4gSWYKPiA+IGl0J3Mgb2Yg YW55IGNvbnNvbGlkYXRpb24gLSBsZXQgbWUgYXNzdXJlIHlvdSB0aGUgZ29hbCBpcyBfbm90XyB0 byBicmVhawo+ID4gYW1kZ3B1IG9yIGFueSBvdGhlciBkcml2ZXIuCj4gPgo+ID4gU2Vjb25kbHks IEkgd291bGQgbGlrZSB0byBhc2sgeW91IGZvciBhIGxpc3Qgb2YgcHJvamVjdHMgc28gd2UgY2Fu IGxvb2sgYW5kCj4gPiBpbnZlc3RpZ2F0ZSBwcm9wZXJseS4gU28gZmFyIHlvdSd2ZSBtZW50aW9u ZWQgbGliZHJtX2FtZGdwdSAtIEknbGwgbG9vayBpbnRvCj4gPiBpdC4KPgo+IFRoYXQgaXMgcmF0 aGVyIGhhcmQgdG8gY29tZSBieSwgYmVjYXVzZSB5b3Ugd291bGQgYWxzbyBuZWVkIHRvIGxvb2sg YXQKPiBhbGwgcHJldmlvdXNseSBleGlzdGluZyBkcml2ZXIgc3RhY2tzLgo+Cj4gRS5nLiB3aXRo IHRoZSBjbGFzc2ljIFIzMDAgZHJpdmVyIGZvciBleGFtcGxlLgo+Cj4gPiBPbiB0aGUgdG9waWMg b2YgIndvcmtpbmcgYXJvdW5kIGxpYnZhIiAtIHNhZGx5IGxpYnZhIGlzIF9ub3RfIHRoZSBvbmx5 Cj4gPiBvZmZlbmRlci4gV2UgYWxzbyBoYWQgYnVncyBpbiBtZXNhIGFuZCBrbXNjdWJlLgo+ID4K PiA+IENvbnNpZGVyaW5nIHRob3NlIGFyZSB0YWtlbiBhcyBhIHByaW1lIGV4YW1wbGUgb2YgInRo ZSByaWdodCB3YXkiLCBpdCdzIHZlcnkKPiA+IGxpa2VseSBmb3IgdGhlIG1pc3Rha2VzIHRvIGJl IHJlcGVhdGVkIGluIG1hbnkgb3RoZXIgcHJvamVjdHMuCj4gPgo+ID4gV2hlcmUgdGhlIGNvbW1v biAiZml4IiBzZWVtcyB0byBiZSAicnVuIGFzIHJvb3QiLi4uCj4gPgo+ID4KPiA+IEFzIERhbmll bCBwb2ludGVkIG91dCwgd2UgY291bGQgYmUgZmlnaHRpbmcgdGhlIHdpbmRtaWxscyBvciB3ZSBj b3VsZCBoYXZlIGEKPiA+IHNtYWxsLCBhZG1pdHRlZGx5IHVnbHksIHdvcmthcm91bmQgZm9yIGFt ZGdwdS4KPiA+Cj4gPiBJZiB5b3UgZG9uJ3QgbGlrZSB0aGF0IHdvcmthcm91bmQgaW4gdGhlIGRy aXZlciB3ZSBjb3VsZCBtb3ZlIGl0IHRvIGNvcmUgRFJNLgo+ID4KPiA+IEluIGVpdGhlciBjYXNl LCBJIHdvdWxkIGxpa2UgdG8gZm9jdXMgb24gYSBwcmFncmFtaWMgc29sdXRpb24gd2hpY2ggd29y a3Mgd2l0aAo+ID4gYm90aCBvbGQgYW5kIG5ldyB1c2Vyc3BhY2UuCj4KPiBXZWxsLCBJIHNlcmlv dXNseSB0aGluayB0aGUgb3JpZ2luYWwgY29tbWl0dGVkIHNvbHV0aW9uIGNvdWxkIGNhdXNlIGEK PiBsb3Qgb2YgcHJvYmxlbXMgYW5kIHRoZSBpc3N1ZSB3aXRoIHJhZHYgaXMgb25seSB0aGUgdGlw IG9mIHRoZSBpY2ViZXJnLgo+Cj4gSSBtZWFuIHdlIGp1c3QgaGF2ZSB0byBhc2sgb3VyIHNlbGYg d2h5IGhhdmUgd2UgY3JlYXRlZCByZW5kZXIgbm9kZXMgaW4KPiB0aGUgZmlyc3QgcGxhY2U/IFRo ZSBvYnZpb3VzIGFsdGVybmF0aXZlIHdhcyB0byBqdXN0IHJlbW92ZWQgdGhlCj4gYXV0aGVudGlj YXRpb24gcmVzdHJpY3Rpb25zIG9uIHRoZSBwcmltYXJ5IG5vZGUgd2hpY2ggd291bGQgaGF2ZSBi ZWVuCj4gd2F5IGxlc3MgY29kZSBhbmQgbWFpbnRlbmFuY2UgYnVyZGVuLgoKVGhlIHJlbmRlciBu b2RlcyBleGlzdCBzbyB5b3UgY2FuIGhhdmUgZGlmZmVyZW50IHVuaXggcGVybWlzc2lvbnMgZm9y CnJlbmRlcmluZyBhcyBmb3IgZGlzcGxheWluZyBzdHVmZi4gRS5nLiBydW4gdGhlIGNvbXBvc2l0 b3IgYXMgYQpkaXN0aW5jdCB1c2VyIGZyb20gYWxsIGl0cyBjbGllbnRzLiBUaGUgb3RoZXIgcmVh c29uIHdhcyB0byBoYXZlIGEKY2xlYW4gaW50ZXJmYWNlIHdpdGhvdXQgYW55IG9mIHRoZSBoaXN0 b3JpY2FsIGJhZ2dhZ2UgKHRvIG1ha2Ugc3R1ZmYKbGlrZSBjb250YWluZXIvdm0gcGFzcy10aHJv dWdoIGVhc2llciwgc2luY2Ugd2UnZCBrbm93IHRoYXQKcmVuZGVyLW5vZGUgdXNlcnNwYWNlIHdv bid0IGV2ZXIgdG91Y2ggYW55IG9mIHRoZSBvbGQgY3JhcCBpb2N0bHMpLiBJCmRvbid0IHRoaW5r IHRoZXJlJ3MgZXZlciBiZWVuIGEgY29uY2VybiBhYm91dCBicmVha2luZyBiYWNrd2FyZHMKY29t cGF0aWJpbGl0eS4KClRoZSBpc3N1ZSBoZXJlIGlzIHRoYXQgcmFkdiBjaGVja3MgZm9yICJjYW4g SSByZW5kZXIiLCB3aGVuIGl0IHdhbnRzCnRvIGNoZWNrIGZvciAiY2FuIEkgZGlzcGxheSIuIFNv IGFueXRoaW5nIHRoYXQgb25seSByZW5kZXJzIHdlIGNhbgppZ25vcmUuIFRoYXQgbGVhdmVzIHRo ZSB2YXJpb3VzIGRkeCBhcm91bmQsIHdoaWNoIGhpc3RvcmljYWxseSBoYXZlCnJ1biBhcyByb290 LCBvciBpZiB0aGV5IHJ1biBhcyBub24tcm9vdCwgbG9naW5kIG9yIHNpbWlsYXIgaXMgZ2l2aW5n CnRoZW0gdGhlIG1hc3RlciBrbXMgbm9kZSBhbHJlYWR5IGluIG1hc3RlciBtb2RlIChhZmFpdWkg YXQgbGVhc3QpLgpUaGF0IGxlYXZlcyB0aGUgbm9uLW1haW4gY29tcG9zaXRvciB1c2Vyc3BhY2Us IG9mIHdoaWNoIHRoZXJlJ3Mgb25seQp2a2Rpc3BsYXkuIEkgZG9uJ3Qgc2VlIG11Y2ggYWRkaXRp b25hbCBwb3NzaWJpbGl0aWVzIGZvciByZWdyZXNzaW9ucwp0byBjcmVlcCBpbi4KCkVtaWwgcHJv YmFibHkgaGFzIGEgYmV0dGVyIGdyYXNwIG9uIHRoaXMsIHNpbmNlIGhlJ3MgZ290IGEgYnVuY2gg b2YKcGF0Y2hlcyB0byByb2xsIG91dCBkcm1Jc01hc3RlciBhbGwgb3Zlci4KCj4gSSBuZWVkIHRv IGRpZyB1cCB0aGUgbWFpbGluZyBsaXN0IGFyY2hpdmUsIGJ1dCBJIHN0cm9uZ2x5IHRoaW5rIHRo YXQgb25lCj4gb2YgdGhlIG1haW4gYXJndW1lbnRzIGZvciB0aGlzIGFwcHJvYWNoIHdhcyB0byBO T1QgYnJlYWsgZXhpc3RpbmcgdXNlcnNwYWNlLgo+Cj4gRXZlbiB0YWtpbmcgaW50byBhY2NvdW50 IHRoYXQgd2Ugbm93IGRvbid0IG5lZWQgdG8gZGVhbCB3aXRoIFVNUyBhbmQKPiByZWFsbHkgcmVh bGx5IG9sZCB1c2Vyc3BhY2UgZHJpdmVycyBhbnkgbW9yZSBpdCBzdGlsbCBmZWVscyBsaWtlIGEg dG8KPiBoaWdoIHJpc2sgZ29pbmcgZG93biB0aGF0IHJvdXRlLgoKV2UgY2hhbmdlIHRoZSB1bmRl ZmluZWQgY29ybmVycyBvZiB0aGUgdWFwaSBhbGwgdGhlIHRpbWUgdG8gaW1wcm92ZQp0aGUgb3Zl cmFsbCBlY29zeXN0ZW0sIGFuZCBvY2Nhc2lvbmFsbHkgd2UgZW5kIHVwIHdpdGgKRFJJVkVSX0ZP T19JU19URVJSSUJMWSB0byBoYWNrIGFyb3VuZCBpdC4gSXQgaGFwcGVucywgYW5kIEkgc3RpbGwK dGhpbmsgdGhlIGNob2ljZSBoZXJlIGlzIGhvdyBleGFjdGx5IGFtZGdwdS5rbyBjb3BlcyB3aXRo IHJhZHY6Ci0gdGhlIGhhY2sgcHJvcG9zZWQgaGVyZQotIGEgRFJJVkVSX0FVVEhfTUVBTlNfQVVU SCBmbGFnIHRvIGdpdmUgYW1kZ3B1IHRoZSBvbGQgYmVoYXZpb3VyLCBhbmQKbGV0IHlvdSBmb2xr cyBkZWFsIHdpdGggYSAobGlrZWx5LCBub3QgZ3VhcmFudGVlZCkgaW5mbHV4ICJidXQgdGhpcwp3 b3JrcyBvbiAkYW55X290aGVyX2RyaXZlciIKCkkgZ3Vlc3MgdXAgdG8geW91IHdoaWNoIHBhdGNo IEVtaWwgc2hvdWxkIGluY2x1ZGUgd2hlbiBoZSByZXN1Ym1pdHMKdGhlIHBhdGNoIGZvciA1LjMu IFdlJ3ZlIGRvbmUgYm90aCBpbiB0aGUgcGFzdCwgYnV0IGdlbmVyYWxseSB3ZSdyZQp0cnlpbmcg dG8gbGltaXQgdGhlIGltcGFjdCBvZiB0aGVzZSBoYWNrcyBhcyBtdWNoIGFzIHBvc3NpYmxlLiBI ZW5jZQp3aHkgSSdtIHN0aWxsIGluIGZhdm91ciBvZiB0aGUgZmlyc3Qgb25lLgoKImtlZXAgdGls dGluZyB3aW5kbWlsbHMiIGlzIGltbyBub3QgYW4gb3B0aW9uLCBhbmQgSSdtIGhhcHB5IHRvIGhh bmRsZQphbnkgb3RoZXIgZmFsbG91dCBFbWlsJ3MgcGF0Y2ggdW5jb3ZlcnMsIGlmIHRoZXJlIGlz IGFueXRoaW5nIGVsc2UgLSBJCmRpZCBza2V0Y2ggdGhpcyBoYWNrIGhlcmUgcXVpY2tseSBvbiBp cmMgcmlnaHQgd2hlbiB3ZSBnb3QgdGhlIHJlcG9ydC4KLURhbmllbAotLSAKRGFuaWVsIFZldHRl cgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KKzQxICgwKSA3OSAzNjUgNTcg NDggLSBodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9kcmktZGV2ZWw=