From mboxrd@z Thu Jan 1 00:00:00 1970 From: Harry Wentland Subject: Re: [PATCH 00/29] Enabling new DAL display driver for amdgpu on Carrizo and Tonga Date: Tue, 16 Feb 2016 22:32:45 -0500 Message-ID: <56C3E9DD.20709@amd.com> References: <1455211209-26733-1-git-send-email-harry.wentland@amd.com> <20160212053449.GU11240@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2on0073.outbound.protection.outlook.com [207.46.100.73]) by gabe.freedesktop.org (Postfix) with ESMTPS id ADAA06E2B1 for ; Wed, 17 Feb 2016 03:34:14 +0000 (UTC) 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: Daniel Vetter Cc: dri-devel , "Deucher, Alexander" , "Cheng, Tony" , "Lysenko, Mykola" List-Id: dri-devel@lists.freedesktop.org SGkgRGFuaWVsLAoKd2UndmUgY29uc2lkZXJlZCBtYWtpbmcgY3Vyc29yIGEgcGxhbmUgYnV0IGhh dmVuJ3QgZG9uZSBzbyAoeWV0KSBiZWNhdXNlIApjdXJzb3IgaXMgc29ydCBvZiBhIHVuaXF1ZSBj b25jZXB0IGluIG91ciBIVyBhbmQgZG9lc24ndCBtYXAgd2VsbCB0byBwbGFuZXMuCgpXaWxsIHRh a2UgdGhlIHRpbWUgdG8gbG9vayBhdCB0aGUgb3RoZXIgbWFwcGluZ3MgYSBiaXQgbW9yZSBjbG9z ZWx5LgoKQ2hlZXJzLApIYXJyeQoKT24gMjAxNi0wMi0xNCAwOTowMSBBTSwgRGFuaWVsIFZldHRl ciB3cm90ZToKPiB0b3AtbGV2ZWwgcG9zdCBzaW5jZSBJIGNhbid0IHJlcGx5IHRvIHRoZSBkaWFn cmFtIGRpcmVjdGx5LiBTbyBmcm9tCj4gdmVyeSBjdXJzb3IgcmVhZGluZy1hcm91bmQgaW4gdGhl IGNvZGUgSSB0aGluayB5b3UgaGF2ZSBhIGZldwo+IG1pc21hdGNoZXMgaW4gaG93IHlvdSBtYXAg ZHJtIGNvbmNlcHRzIHRvIGRhbCBzdHJ1Y3R1cmVzOgo+Cj4gLSBjdXJzb3IgaXMganVzdCBhIGRy bV9wbGFuZSAtIHN0ZXAgMCBvZiBhdG9taWMgc3VwcG9ydCBpcyB1bml2ZXJzYWxlCj4gcGxhbmUg c3VwcG9ydCwgYW5kIHlvdSBkaWRuJ3QgZG8gdGhhdCBpbiB0aGlzIHBhdGNoIHNlcmllcy4gU2Ft ZSBob2xkcwo+IGZvciB2aWRlbyBvdmVybGF5IHN1cHBvcnQgKHdoaWNoIHNlZW1zIGltcGxlbWVu dGVkIGJ1dCBub3QgZXhwb3NlZCkuCj4KPiAtIGRybV9wbGFuZSBzaG91bGQgcHJvYmFibHkgbWF0 Y2ggdG8gYm90aCBzdXJmYWNlICsgdGFyZ2V0IHN0cnVjdHMsCj4gc2luY2UgaG93IGEgcGxhbmUg aXMgY29tcG9zaXRlZCBpbiB0aGUgc2NyZWVuIHJlY3QgaXMgYSBwbGFuZSBzdGF0ZQo+Cj4gLSBz dHJlYW0gc2hvdWxkIHByb2JhYmx5IG1hcCB0byBjcnRjCj4KPiAtIGZvciBjYXNlcyB3aGVyZSB5 b3UgbmVlZCAyIHN0cmVhbXMgZm9yIDEgY3J0YyBvciAyIHN1cmZhY2VzIGZvciAxCj4gcGxhbmUg aW50ZXJuYWxseSByZW1hcCB0aGVtIHdpdGggc29tZSBhdXggcG9pbnRlci4gQnV0IGltbyBzdGls bCBiYXNlCj4gdGhlbSBvbiBkcm0gY29yZSBzdHJ1Y3R1cmVzIChzaW5jZSBpbiBtb3N0IGNhc2Vz IHlvdSBjYW4gZXhwb3NlIHRoZW0KPiBhbGwpLiBZb3UgcHJvYmFibHkgbmVlZCBhIGZ1bGwgcmVt YXBwaW5nIHRhYmxlIHRvIG1ha2UgdGhpcyB3b3JrLCBidXQKPiB0aGUgc3RhdGUgaXRzZWxmIHNo b3VsZCBzdGlsbCBhbGwgYmUgaW4gZXh0ZW5zaW9ucyBvZiBjb3JlIGRybV8qX3N0YXRlCj4gc3Ry dWN0cwo+Cj4gLSBkcm1fZW5jb2RlciBwcm9iYWJseSBtYXRjaGVzIHRvIGRjX2xpbmssIGJ1dCBu b3Qgc3VyZS4gZHJtX2VuY29kZXIKPiBpcyBtb3N0bHkganVzdCBhIGNvbnZlbmllbmNlIHRoaW5n IHJlYWxseSwgeW91IGNhbiBpZ25vcmUgaXQKPgo+IC0gZGNfc2luayBzZWVtcyB0byBiZSB0aGUg ZHJtX2Nvbm5lY3Rvciwgb3Igd2VsbCBtb3N0bHkuIEhlcmUgaXQgZ2V0cwo+IHJlYWxseSB1bmNs ZWFyIGR1ZSB0byB0aGUgbWFzc2l2ZSBhbW91bnQgb2YgcHJpdmF0ZSBjb2RlIGZvcgo+IHNjcmVl bi9zaW5rIGhhbmRsaW5nIHRoYXQgZGFsIGhhcy4KPgo+IENoZWVycywgRGFuaWVsCj4KPgo+IE9u IFNhdCwgRmViIDEzLCAyMDE2IGF0IDE6MDUgQU0sIFdlbnRsYW5kLCBIYXJyeSA8SGFycnkuV2Vu dGxhbmRAYW1kLmNvbT4gd3JvdGU6Cj4+IEhpIERhdmUsIERhbmllbCwgb3RoZXJzLAo+Pgo+PiBU aGUgZ29hbCB3aXRoIERBTCBpcyB0byBwcm92aWRlIGEgdW5pZmllZCwgZnVsbCBmZWF0dXJlZCBk aXNwbGF5IHN0YWNrIHRvIHNlcnZpY2UgYWxsIG9mIG91ciBMaW51eCBvZmZlcmluZ3MuIFRoaXMg ZHJpdmVyIHdpbGwgaGF2ZSB0byBzdXBwb3J0IG91ciBmdWxsIGZlYXR1cmUgc2V0IGJleW9uZCB3 aGF0J3Mgc3VwcG9ydGVkIGJ5IGFtZGdwdSwgZS5nLgo+PiAgICAtIHN5bmNocm9uemllZCB0aW1p bmdzIGFjcm9zcyBkaWZmZXJlbnQgZGlzcGxheXMKPj4gICAgLSBmcmVlc3luYwo+PiAgICAtIHNv bGlkIHN1cHBvcnQgb2YgNiBkaXNwbGF5cyBpbiBhbnkgY29uZmlndXJhdGlvbiAoSERNSSwgRFZJ LCBEUCwgRFAgTVNULCBldGMpCj4+ICAgIC0gc29saWQgc3VwcG9ydCBvZiA0a0A2MCB0aW1pbmdz IG9uIEFQVXMKPj4gICAgLSBwb3dlciBmZWF0dXJlcywgc3VjaCBhcwo+PiAgICAgIC0gY2xvY2st YWNjdXJhdGUgYmFuZHdpZHRoIGZvcm11bGFzCj4+ICAgICAgLSBpbXByb3ZlZCBpbnRlcmFjdGlv biB3aXRoIHBvd2VycGxheSB0byBtYXhpbWl6ZSBwb3dlciBzYXZpbmdzCj4+IC0gSW1wcm92ZWQg YXVkaW8gYW5kIG90aGVyIGluZm9mcmFtZSByZWxhdGVkIGZlYXR1cmVzCj4+IC0gSW1wcm92ZWQg c3RhYmlsaXR5IHdpdGggcG93ZXJwbGF5IHNpbmNlIGRpc3BsYXkgaHcgaXMgaW52b2x2ZWQgaW4g dGhlIFNNQyBodyBpbnRlcmFjdGlvbnMgYW5kIGltcHJvcGVyIHByb2dyYW1taW5nIHNlcXVlbmNl cyBjYW4gbGVhZCB0byBHUFUgaGFuZ3MsIGV0Yy4KPj4KPj4gVGhlIGN1cnJlbnQgYW1kZ3B1IGRp c3BsYXkgc3RhY2sgZ3JldyBzb21ld2hhdCBvcmdhbmljYWxseSBhbmQgYXMgc3VjaCBpcyBub3Qg d2VsbCBzdWl0ZWQgdG8gaGFuZGxpbmcgYWxsIG9mIHRoZSBoYXJkd2FyZSBkZXBlbmRlbmNpZXMg aW52b2x2ZWQgZXNwZWNpYWxseSBpbiBhcmVhcyBsaWtlIGF1ZGlvLiAgVGhlIGRybSBhYnN0cmFj dGlvbnMgdXNlZCBieSB0aGUgb2xkIGNvZGUgbWFwIGxlc3MgYW5kIGxlc3Mgd2VsbCB0byBuZXcg aHcgcGlwZWxpbmVzLiAgQXRvbWljIGhlbHBzLCBidXQgaWYgd2UgYXJlIGdvaW5nIHRvIGNvbnZl cnQsIGl0IHNlZW1lZCBsaWtlIGEgZ29vZCB0aW1lIHRvIHN0YXJ0IGZyZXNoLgo+Pgo+PiBPdXIg REMgKERpc3BsYXkgQ29yZSBpbiBkYy5oLCBldGMuKSBpcyB0aGUgZnJhbWV3b3JrIHRvIGFsbG93 IHVzIHRvIHdlbGwgcmVwcmVzZW50IGN1cnJlbnQgYW5kIGZ1dHVyZSBIVyBhcmNoaXRlY3R1cmVz LiBUaGVzZSBkb24ndCBhbHdheXMgbWFwIG9uZS10by1vbmUgdG8gRFJNIGludGVyZmFjZXMuIEZv ciBvbmUgd2UgY2FuJ3QgbWFrZSB0aGUgYXNzdW1wdGlvbiB0aGF0IHN1cmZhY2VzIG1hcCBvbmUt dG8tb25lIHRvIHBpcGVzLgo+Pgo+PiBUaGUgREFMIGludGVybmFsIGFic3RyYWN0aW9ucyB3ZXJl IHVzZWQgc2luY2UgdGhleSBtYXRjaCB0aGUgYWJzdHJhY3Rpb25zIHVzZWQgYnkgb3VyIGRyaXZl cnMgZm9yIG90aGVyIE9TZXMsIHByZSBhbmQgcG9zdCBzaWxpY29uIHZhbGlkYXRpb24gdG9vbHMg YW5kIEhXIHRlYW0gcHJvZ3JhbW1pbmcgbW9kZWxzLiBLZWVwaW5nIGl0IGFzIGNsb3NlIHRvIHRo YXQgYXMgcG9zc2libGUgbWFrZXMgaXQgZWFzaWVyIHRvIGRlYnVnIGFuZCB2YWxpZGF0ZSBhbmQg cHJvdmlkZXMgdGhlIG1vc3QgbGlrZWx5IGNoYW5nZSBvZiBzdWNjZXNzIGluIGNvbXBsZXggZGlz cGxheSBjb25maWd1cmF0aW9ucy4KPj4KPj4gUGxlYXNlIHNlZSB0aGUgYXR0YWNoZWQgREMucG5n IGZvciBhbiBvdmVydmlldyBvZiB0aGUgREFMIGRlc2lnbi4KPj4KPj4gRm9yIGFuIGF0b21pYyBz ZXF1ZW5jZSB5b3UgbWlnaHQgd2FudCB0byBsb29rIGF0Cj4+IC0gZW5hYmxlL2Rpc2FibGUgZGlz cGxheXMgb3IgY2hhbmdlIGRpc3BsYXkgY29uZmlnIC0+IGRjX2NvbW1pdF90YXJnZXRzCj4+ICAg ICAgKGluIGRjL2NvcmUvZGMuYywgY2FsbGVkIGZyb20gYW1kZ3B1X2RtX2F0b21pY19jb21taXQg aW4gYW1kZ3B1X2RtL2FtZGdwdV9kbV90eXBlcy5jKQo+Pgo+PiAtIGNvbW1pdCBwbGFuZXMgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiBkY19jb21taXRfc3VyZmFjZXNfdG9f dGFyZ2V0cwo+PiAgICAgIChpbiBkYy9jb3JlL2RjX3RhcmdldC5jLCBjYWxsZWQgZnJvbSBkbV9k Y19zdXJmYWNlX2NvbW1pdCBpbiBhbWRncHVfZG0vYW1kZ3B1X2RtX3R5cGVzLmMpCj4+Cj4+IC0g dmFsaWRhdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+IGRjX3Zh bGlkYXRlX3Jlc291cmNlcwo+PiAgICAgIChpbiBkYy9jb3JlL2RjLmMsIGNhbGxlZCBmcm9tIGFt ZGdwdV9kbV9hdG9taWNfY2hlY2sgaW4gYW1kZ3B1X2RtL2FtZGdwdV9kbV90eXBlcy5jKQo+Pgo+ Pgo+PiBUaGVyZSdzIHN0aWxsIGEgYnVuY2ggb2YgbGVnYWN5IHN0dWZmIGluIHRoZXNlIHBhdGNo ZXMgdGhhdCdzIG9uIG91ciBsaXN0IG9mIHRoaW5ncyB0byByZWZhY3Rvci4gU29tZSBvZiB0aGF0 IGlzCj4+IC0gZGMvYWRhcHRlcgo+PiAtIGRjL2FzaWNfY2FwYWJpbGl0eQo+PiAtIGRjL2F1ZGlv Cj4+IC0gZGMvYmlvcwo+PiAtIGRjL2dwaW8KPj4KPj4gV2Ugc2hvdWxkIGJlIGFibGUgdG8gY3V0 IHRoZSBzaXplIG9mIHRoaXMgY29kZSB0byBhYm91dCAxLzMgb2Ygd2hhdCBpdCBpcyBub3cuCj4+ Cj4+IEFzIGZvciB0aGUgTE9DIHdlIGhhdmUgYWJvdXQKPj4gMjJrIGZvciBIVyBwcm9ncmFtbWlu Zwo+PiAzMGsgbGVnYWN5IHN0dWZmCj4+IDZrICBkYy9jYWxjcyAtIGF1dG9nZW5lcmF0ZWQgZnJv bSBmb3JtdWxhcyBwcm92aWRlZCBieSBIVyB0ZWFtCj4+IDE1ayBpbmNsdWRlcwo+PiA2ayAgYW1k Z3B1X2RtCj4+IDhrICBkYy9jb3JlCj4+Cj4+IEFib3V0IDE0ayBvZiB0aG9zZSBhcmUgYmxhbmsg bGluZXMgKHdlIGhhdmUgYSBoYWJpdCBvZiBsZWF2aW5nIGxvdHMgb2YgYmxhbmsgc3BhY2UpIGFu ZCAxNmsgYXJlIGNvbW1lbnRzLgo+Pgo+PiBDaGVlcnMsCj4+IEhhcnJ5Cj4+Cj4+IF9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4gRnJvbTogRGFuaWVsIFZldHRlciA8 ZGFuaWVsLnZldHRlckBmZndsbC5jaD4gb24gYmVoYWxmIG9mIERhbmllbCBWZXR0ZXIgPGRhbmll bEBmZndsbC5jaD4KPj4gU2VudDogRnJpZGF5LCBGZWJydWFyeSAxMiwgMjAxNiAxMjozNCBBTQo+ PiBUbzogRGF2ZSBBaXJsaWUKPj4gQ2M6IFdlbnRsYW5kLCBIYXJyeTsgZHJpLWRldmVsCj4+IFN1 YmplY3Q6IFJlOiBbUEFUQ0ggMDAvMjldIEVuYWJsaW5nIG5ldyBEQUwgZGlzcGxheSBkcml2ZXIg Zm9yIGFtZGdwdSBvbiBDYXJyaXpvIGFuZCBUb25nYQo+Pgo+PiBPbiBUaHUsIEZlYiAxMSwgMjAx NiBhdCAxMDowNjoxNFBNICswMTAwLCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+Pj4gT24gVGh1LCBG ZWIgMTEsIDIwMTYgYXQgOTo1MiBQTSwgRGF2ZSBBaXJsaWUgPGFpcmxpZWRAZ21haWwuY29tPiB3 cm90ZToKPj4+PiBPbiAxMiBGZWJydWFyeSAyMDE2IGF0IDAzOjE5LCBIYXJyeSBXZW50bGFuZCA8 aGFycnkud2VudGxhbmRAYW1kLmNvbT4gd3JvdGU6Cj4+Pj4+IFRoaXMgc2V0IG9mIHBhdGNoZXMg ZW5hYmxlcyB0aGUgbmV3IERBTCBkaXNwbGF5IGRyaXZlciBmb3IgYW1kZ3B1IG9uIENhcnJpem8K Pj4+Pj4gVG9uZ2EsIGFuZCBGaWppIEFTSUNzLiBUaGlzIGRyaXZlciB3aWxsIGFsbG93IHVzIGdv aW5nIGZvcndhcmQgdG8gYnJpbmcKPj4+Pj4gZGlzcGxheSBmZWF0dXJlcyBvbiB0aGUgb3BlbiBh bWRncHUgZHJpdmVyIChtb3N0bHkpIG9uIHBhciB3aXRoIHRoZSBDYXRhbHlzdAo+Pj4+PiBkcml2 ZXIuCj4+Pj4+Cj4+Pj4+IFRoaXMgZHJpdmVyIGFkZHMgc3VwcG9ydCBmb3IKPj4+Pj4gLSBBdG9t aWMgS01TIEFQSQo+Pj4+PiAtIE1TVAo+Pj4+PiAtIEhETUkgMi4wCj4+Pj4+IC0gQmV0dGVyIHBv d2VycGxheSBpbnRlZ3JhdGlvbgo+Pj4+PiAtIFN1cHBvcnQgb2YgSFcgYmFuZHdpZHRoIGZvcm11 bGEgb24gQ2Fycml6bwo+Pj4+PiAtIEJldHRlciBtdWx0aS1kaXNwbGF5IHN1cHBvcnQgYW5kIGhh bmRsaW5nIG9mIGNvLWZ1bmN0aW9uYWxpdHkKPj4+Pj4gLSBCcm9hZGVyIHN1cHBvcnQgb2YgZGlz cGxheSBkb25nbGVzCj4+Pj4+IC0gVGltaW5nIHN5bmNocm9uaXphdGlvbiBiZXR3ZWVuIERQIGFu ZCBIRE1JCj4+Pj4+Cj4+Pj4+IFRoaXMgcGF0Y2ggc2VyaWVzIGlzIGJhc2VkIG9uIEFsZXggRGV1 Y2hlcidzIGRybS1uZXh0LTQuNi13aXAgdHJlZS4KPj4+Pj4KPj4+PiBTbyB0aGUgZmlyc3QgbWlu b3IgY3JpdGljaXNtIGlzIHRoaXMgcGF0Y2ggZG9lc24ndCBleHBsYWluIFdIWS4KPj4+Pgo+Pj4+ IFdoeSBkb2VzIHRoZSBMaW51eCBrZXJuZWwgbmVlZCA5M2sgbGluZXMgb2YgY29kZSB0byBydW4g dGhlIGRpc3BsYXlzCj4+Pj4gd2hlbiB3aG9sZSBkcml2ZXJzIGRvbid0IGV2ZW4gY29tZSBjbG9z ZS4KPj4+Pgo+Pj4+IFdlJ3ZlIHNwZW50IGEgbG90IG9mIHRpbWUgcmlwcGluZyBhYnN0cmFjdGlv biBsYXllcnMgb3V0IG9mIGRyaXZlcnMgKGV4eW5vcwo+Pj4+IGJlaW5nIHRoZSBtYWpvciBvbmUp LCB3aGF0IGJlbmVmaXRzIGRvZXMgdGhpcyBtYWpvciBjaGFuZ2UgYnJpbmcgdG8gdGhlCj4+Pj4g TGludXgga2VybmVsIGFuZCB0aGUgQU1ER1BVIGRyaXZlciBvdmVyIGFuZCBhYm92ZSBhIGxlYW5l ciwgbW9yZSBmb2N1c2VkCj4+Pj4gd29yay4KPj4+Pgo+Pj4+IElmIHdlcmUgZXZlbiB0byBjb25z aWRlciBtZXJnaW5nIHRoaXMgaXQgd291bGQgYmUgYXQgYSBndWVzcyBjb25zaWRlcmVkCj4+Pj4g c3RhZ2luZyBsZXZlbCBtYXRlcmlhbCB3aGljaCB3b3VsZCByZXF1aXJlIGEgVE9ETyBsaXN0IG9m IG1ham9yIGNsZWFudXBzLgo+Pj4+Cj4+Pj4gSSBkbyByZWFsaXNlIHlvdSd2ZSBwdXQgYSBsb3Qg b2Ygd29yayBpbnRvIHRoaXMsIGJ1dCBJIHRoaW5rIHlvdSBhcmUgZ29pbmcgdG8KPj4+PiBnZXQg YSBsb3Qgb2YgcmV2aWV3IHB1c2hiYWNrIGluIHRoZSBuZXh0IGZldyBkYXlzIGFuZCB3aXRob3V0 IGtub3dpbmcgdGhlCj4+Pj4gcmVhc29ucyB0aGlzIHBhdGggd2FzIGNob3NlbiBpdCBpcyBnb2lu ZyB0byBiZSBoYXJkIHRvIHRha2UuCj4+PiBZZWFoIGFncmVlZCwgd2UgbmVlZCB0byBmaWd1cmUg b3V0IHRoZSB3aHkvaG93IGZpcnN0LiBBc3NlbWJsaW5nIGEKPj4+IGRlLXN0YWdpbmcgVE9ETyBp cyBpbW8gYSBzZWNvbmQgc3RlcC4gQW5kIHRoZSBwcm9ibGVtIHdpdGggdGhhdCBpcwo+Pj4gdGhh dCBiZWZvcmUgd2UgY2FuIGRvIGEgZnVsbCBUT0RPIHdlIG5lZWQgdG8gcmVtb3ZlIGFsbCB0aGUg b3MgYW5kIGRybQo+Pj4gYWJzdHJhY3Rpb25zLiBJIGZvdW5kIGRlbGF5ZWRfd29yaywgdGltZXIs IG1lbW9yeSBoYW5kbGluZywgcGl4ZWwKPj4+IGZvcm1hdHMgKGluIG11bHRpcGxlIGNvcGllcyks IHRoZSBpMmMgc3R1ZmYgUm9iIG5vdGljZWQgYW5kIHRoZXJlJ3MKPj4+IG1vcmUgSSdtIHN1cmUu IFdpdGggYWxsIHRoYXQgSSBqdXN0IGNhbid0IGV2ZW4gc2VlIGhvdyB0aGUgbWFpbiBEQUwKPj4+ IHN0cnVjdHVyZXMgY29ubmVjdCBhbmQgaG93IHRoYXQgd291bGQgc2Vuc2libHkgbWFwIHRvIGRy bSBjb25jZXB0cy4KPj4+IFdoaWNoIGlzIG1vc3QgbGlrZWx5IG5lZWRlZCB0byBtYWtlIERBTCBw cm9wZXJseSBhdG9taWMuCj4+IE1vcmUgc3R1ZmYgcGxhaW4gZHVwbGljYXRlZCBJIHNwb3R0ZWQ6 Cj4+IC0gc29tZSBlZGlkIGhhbmRsaW5nIChwcm9iYWJseSBiZWNhdXNlIG9mIHRoZSBkdXBsaWNh dGVkIGkyYywgYnV0IHByb2JhYmx5Cj4+ICAgIGFsc28gYmVjYXVzZSBkYWwpLgo+PiAtIGhhcyBp dCdzIG93biBpbmZvZnJhbWUgZW5jb2RpbmcgaXQgc2VlbXMKPj4gLSBob21lLWdyb3duIGxvZ2dp bmcuIFllcywgRFJNX0RFQlVHIGlzbid0IHRoZSBtb3N0IGF3ZXNvbWUsIGJ1dCBkeW5hbWljCj4+ ICAgIHByaW5rdCBpcyBwcmV0dHkgbmVhdCBmcm9tIHdoYXQgSSB1bmRlcnN0YW5kIGFuZCB3ZSBz aG91bGQganVzdCBtb3ZlCj4+ICAgIERSTV9ERUJVRyBvdmVyIHRvIHRoYXQgaWYgeW91IG5lZWQg bW9yZSBmbGV4aWJpbGl0eS4KPj4KPj4gQ2hlZXJzLCBEYW5pZWwKPj4KPj4+IFNvIGRlLXN0YWdp bmcgREFMIChpZiB3ZSBkZWNpZGVkIHRoaXMgaXMgdGhlIHJpZ2h0IGFwcHJvYWNoKSB3b3VsZCBi ZQo+Pj4gbXVsdGktc3RhZ2UsIHdpdGggcmVtb3ZhbCBvZiB0aGUgYWJzdHJhY3Rpb25zIG5vdCBu ZWVkZWQgZmlyc3QsIHRoZW4KPj4+IHRha2luZyBhIDJuZCBsb29rIGFuZCBmaWd1cmluZyBvdXQg aG93IHRvIHVudGFuZ2xlIHRoZSBhY3R1YWwKPj4+IGNvbmNlcHRzLgo+Pj4KPj4+IEFzaWRlOiBJ ZiBhbGwgdGhpcyBhYnN0cmFjdGlvbiBpcyB0byBtYWtlIGRhbCBydW4gaW4gdXNlcnNwYWNlIGZv cgo+Pj4gdGVzdGluZyBvciB3aGF0ZXZlciAtIG5vdXZlYXUgZG9lcyB0aGlzLCB3ZSAoSW50ZWwp IHdhbnQgdG8gZG8gdGhpcwo+Pj4gdG9vIGZvciB1bml0LXRlc3RpbmcsIHNvIHRoZXJlJ3MgZGVm aW5pdGVseSByb29tIGZvciBzaGFyaW5nIHRoZQo+Pj4gdG9vbHMuIEJ1dCB0aGUgcmlnaHQgYXBw cm9hY2ggaW1vIGlzIHRvIGp1c3QgaW1wbGVtZW50IGtlcm5lbCBzZXJ2aWNlcwo+Pj4gKGxpa2Ug dGltZXJzKSBpbiB1c2Vyc3BhY2UuCj4+Pgo+Pj4gQW5vdGhlciB0aGluZyBpcyB0aGF0IHNvbWUg b2YgdGhlIGZlYXR1cmVzIGluIGhlcmUgKGhkbWkgMi4wLCBpbXByb3ZlZAo+Pj4gZG9uZ2xlIHN1 cHBvcnQpIHJlYWxseSBzaG91bGQgYmUgaW4gc2hhcmVkIGhlbHBlcnMuIElmIHdlIGhhdmUgdGhh dAo+Pj4gaGlkZGVuIGJlaGluZCB0aGUgZGFsIGFic3RyYWN0aW9uIGl0J2xsIGJlIHByZXR0eSBt dWNoIGltcG9zc2libGUKPj4+ICh3aXRoIG1ham9yIHdvcmssIHdoaWNoIGlzIHVucmVhc29uYWJs ZSB0byBhc2sgb2Ygb3RoZXIgcGVvcGxlIHRyeWluZwo+Pj4gdG8gZ2V0IHRoZWlyIG93biBkcml2 ZXIgaW4pIHRvIGV4dHJhY3Qmc2hhcmUgaXQuIEFuZCBmb3Igc2luayBoYW5kbGluZwo+Pj4gaGF2 aW5nIG11bHRpcGxlIGNvcGllcyBvZiB0aGUgc2FtZSBjb2RlIGp1c3QgZG9lc24ndCBtYWtlIHNl bnNlLgo+Pj4KPj4+IEFueXdheSB0aGF0J3MgbXkgcXVpY2sgdGhvdWdodHMgZnJvbSAyaCBvZiBy ZWFkaW5nIHRoaXMuIE9uZSB3aXNobGlzdDoKPj4+IFNvbWUgZGVzaWduIG92ZXJ2aWV3IG9yIGRp YWdyYW0gaG93IGRhbCBzdHJ1Y3R1cmVzIGNvbm5lY3Qgd291bGQgYmUKPj4+IGF3ZXNvbWUgYXMg YSByZWFkaW5nIGFpZC4KPj4gLS0KPj4gRGFuaWVsIFZldHRlcgo+PiBTb2Z0d2FyZSBFbmdpbmVl ciwgSW50ZWwgQ29ycG9yYXRpb24KPj4gaHR0cDovL2Jsb2cuZmZ3bGwuY2gKPgo+CgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK