From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roy Spliet Subject: Re: [RESEND PATCH nouveau 3/3] volt: add support for GK20A Date: Fri, 28 Nov 2014 13:09:14 +0100 Message-ID: <547865EA.10702@nimrod-online.com> References: <1417173180-21726-1-git-send-email-vinceh@nvidia.com> <1417173180-21726-3-git-send-email-vinceh@nvidia.com> <54785BBA.50800@nimrod-online.com> <54786343.4000806@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <54786343.4000806-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: Vince Hsu , nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: nouveau.vger.kernel.org SGVsbG8gVmluY2UsCgpPcCAyOC0xMS0xNCBvbSAxMjo1NyBzY2hyZWVmIFZpbmNlIEhzdToKPiBI aSBSb3ksCj4KPiBPbiAxMS8yOC8yMDE0IDA3OjI1IFBNLCBSb3kgU3BsaWV0IHdyb3RlOgo+PiBI ZWxsbyBWaW5jZSwKPj4KPj4gT25lIG1pbm9yIHF1ZXN0aW9uIGlubGluZS4KPj4KPj4gT3AgMjgt MTEtMTQgb20gMTI6MTMgc2NocmVlZiBWaW5jZSBIc3U6Cj4+PiBUaGUgdm9sdGFnZSB2YWx1ZSBh cmUgY2FsY3VsYXRlZCBieSB0aGUgaGFyZHdhcmUgY2hhcmFjdGVyaXplZAo+Pj4gcmVzdWx0Lgo+ Pj4KPj4+IFNpZ25lZC1vZmYtYnk6IFZpbmNlIEhzdSA8dmluY2VoQG52aWRpYS5jb20+Cj4+PiAt LS0KPj4+Cj4+PiBSZXNlbmQgdGhpcyBwYXRjaCB3aXRoIHRoZSBmdXNlIGNoYW5nZSBhbmQgcHJv cGVyIHBhdGNoIHByZWZpeAo+Pj4gcGVyIFRoaWVycnkncyByZXF1ZXN0Lgo+Pj4KPj4+ICAgZHJt L0tidWlsZCAgICAgICAgICAgICAgICAgICB8ICAgMSArCj4+PiAgIGRybS9jb3JlL3N1YmRldi92 b2x0L2drMjBhLmMgfCAgIDEgKwo+Pj4gICBudmttL2VuZ2luZS9kZXZpY2UvbnZlMC5jICAgIHwg ICAxICsKPj4+ICAgbnZrbS9pbmNsdWRlL3N1YmRldi92b2x0LmggICB8ICAgMSArCj4+PiAgIG52 a20vc3ViZGV2L2Nsb2NrL2drMjBhLmMgICAgfCAgMTUgKysrKwo+Pj4gICBudmttL3N1YmRldi92 b2x0L2drMjBhLmMgICAgIHwgMjAyIAo+Pj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwo+Pj4gICA2IGZpbGVzIGNoYW5nZWQsIDIyMSBpbnNlcnRpb25zKCspCj4+ PiAgIGNyZWF0ZSBtb2RlIDEyMDAwMCBkcm0vY29yZS9zdWJkZXYvdm9sdC9nazIwYS5jCj4+PiAg IGNyZWF0ZSBtb2RlIDEwMDY0NCBudmttL3N1YmRldi92b2x0L2drMjBhLmMKPj4+Cj4+PiBkaWZm IC0tZ2l0IGEvZHJtL0tidWlsZCBiL2RybS9LYnVpbGQKPj4+IGluZGV4IDcyOGJjNWI2NmIyOS4u N2M0OWU2NjU1MDY2IDEwMDY0NAo+Pj4gLS0tIGEvZHJtL0tidWlsZAo+Pj4gKysrIGIvZHJtL0ti dWlsZAo+Pj4gQEAgLTIyNSw2ICsyMjUsNyBAQCBub3V2ZWF1LXkgKz0gY29yZS9zdWJkZXYvdm0v bnZjMC5vCj4+PiAgIG5vdXZlYXUteSArPSBjb3JlL3N1YmRldi92b2x0L2Jhc2Uubwo+Pj4gICBu b3V2ZWF1LXkgKz0gY29yZS9zdWJkZXYvdm9sdC9ncGlvLm8KPj4+ICAgbm91dmVhdS15ICs9IGNv cmUvc3ViZGV2L3ZvbHQvbnY0MC5vCj4+PiArbm91dmVhdS15ICs9IGNvcmUvc3ViZGV2L3ZvbHQv Z2syMGEubwo+Pj4gICAgIG5vdXZlYXUteSArPSBjb3JlL2VuZ2luZS9mYWxjb24ubwo+Pj4gICBu b3V2ZWF1LXkgKz0gY29yZS9lbmdpbmUveHRlbnNhLm8KPj4+IGRpZmYgLS1naXQgYS9kcm0vY29y ZS9zdWJkZXYvdm9sdC9nazIwYS5jIAo+Pj4gYi9kcm0vY29yZS9zdWJkZXYvdm9sdC9nazIwYS5j Cj4+PiBuZXcgZmlsZSBtb2RlIDEyMDAwMAo+Pj4gaW5kZXggMDAwMDAwMDAwMDAwLi4yODk0ZWIx ZWRlMTMKPj4+IC0tLSAvZGV2L251bGwKPj4+ICsrKyBiL2RybS9jb3JlL3N1YmRldi92b2x0L2dr MjBhLmMKPj4+IEBAIC0wLDAgKzEgQEAKPj4+ICsuLi8uLi8uLi8uLi9udmttL3N1YmRldi92b2x0 L2drMjBhLmMKPj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+Pj4gZGlmZiAtLWdpdCBh L252a20vZW5naW5lL2RldmljZS9udmUwLmMgYi9udmttL2VuZ2luZS9kZXZpY2UvbnZlMC5jCj4+ PiBpbmRleCBiMWIyZTQ4NGVjZmEuLjY3NGRhMWYwOTViMiAxMDA2NDQKPj4+IC0tLSBhL252a20v ZW5naW5lL2RldmljZS9udmUwLmMKPj4+ICsrKyBiL252a20vZW5naW5lL2RldmljZS9udmUwLmMK Pj4+IEBAIC0xNzksNiArMTc5LDcgQEAgbnZlMF9pZGVudGlmeShzdHJ1Y3Qgbm91dmVhdV9kZXZp Y2UgKmRldmljZSkKPj4+ICAgICAgICAgICBkZXZpY2UtPm9jbGFzc1tOVkRFVl9FTkdJTkVfR1Ig ICAgIF0gPSBnazIwYV9ncmFwaF9vY2xhc3M7Cj4+PiAgICAgICAgICAgZGV2aWNlLT5vY2xhc3Nb TlZERVZfRU5HSU5FX0NPUFkyICBdID0gJm52ZTBfY29weTJfb2NsYXNzOwo+Pj4gICAgICAgICAg IGRldmljZS0+b2NsYXNzW05WREVWX0VOR0lORV9QRVJGTU9OXSA9ICZudmUwX3BlcmZtb25fb2Ns YXNzOwo+Pj4gKyAgICAgICAgZGV2aWNlLT5vY2xhc3NbTlZERVZfU1VCREVWX1ZPTFQgICBdID0g JmdrMjBhX3ZvbHRfb2NsYXNzOwo+Pj4gICAgICAgICAgIGJyZWFrOwo+Pj4gICAgICAgY2FzZSAw eGYwOgo+Pj4gICAgICAgICAgIGRldmljZS0+Y25hbWUgPSAiR0sxMTAiOwo+Pj4gZGlmZiAtLWdp dCBhL252a20vaW5jbHVkZS9zdWJkZXYvdm9sdC5oIGIvbnZrbS9pbmNsdWRlL3N1YmRldi92b2x0 LmgKPj4+IGluZGV4IDgyMGI2MmZmZDc1Yi4uNjdkYjVlNTg4ODBkIDEwMDY0NAo+Pj4gLS0tIGEv bnZrbS9pbmNsdWRlL3N1YmRldi92b2x0LmgKPj4+ICsrKyBiL252a20vaW5jbHVkZS9zdWJkZXYv dm9sdC5oCj4+PiBAQCAtNTIsNiArNTIsNyBAQCBpbnQgIF9ub3V2ZWF1X3ZvbHRfaW5pdChzdHJ1 Y3Qgbm91dmVhdV9vYmplY3QgKik7Cj4+PiAgICNkZWZpbmUgX25vdXZlYXVfdm9sdF9maW5pIF9u b3V2ZWF1X3N1YmRldl9maW5pCj4+PiAgICAgZXh0ZXJuIHN0cnVjdCBub3V2ZWF1X29jbGFzcyBu djQwX3ZvbHRfb2NsYXNzOwo+Pj4gK2V4dGVybiBzdHJ1Y3Qgbm91dmVhdV9vY2xhc3MgZ2syMGFf dm9sdF9vY2xhc3M7Cj4+PiAgICAgaW50IG5vdXZlYXVfdm9sdGdwaW9faW5pdChzdHJ1Y3Qgbm91 dmVhdV92b2x0ICopOwo+Pj4gICBpbnQgbm91dmVhdV92b2x0Z3Bpb19nZXQoc3RydWN0IG5vdXZl YXVfdm9sdCAqKTsKPj4+IGRpZmYgLS1naXQgYS9udmttL3N1YmRldi9jbG9jay9nazIwYS5jIGIv bnZrbS9zdWJkZXYvY2xvY2svZ2syMGEuYwo+Pj4gaW5kZXggODJhYmJlYTJiZTEyLi5mYjRmYWQz NzRiZGQgMTAwNjQ0Cj4+PiAtLS0gYS9udmttL3N1YmRldi9jbG9jay9nazIwYS5jCj4+PiArKysg Yi9udmttL3N1YmRldi9jbG9jay9nazIwYS5jCj4+PiBAQCAtNDcwLDc2ICs0NzAsOTEgQEAgZ2sy MGFfcHN0YXRlc1tdID0gewo+Pj4gICAgICAgewo+Pj4gICAgICAgICAgIC5iYXNlID0gewo+Pj4g ICAgICAgICAgICAgICAuZG9tYWluW252X2Nsa19zcmNfZ3BjXSA9IDcyMDAwLAo+Pj4gKyAgICAg ICAgICAgIC52b2x0YWdlID0gMCwKPj4+ICAgICAgICAgICB9LAo+Pj4gICAgICAgfSwKPj4+ICAg ICAgIHsKPj4+ICAgICAgICAgICAuYmFzZSA9IHsKPj4+ICAgICAgICAgICAgICAgLmRvbWFpbltu dl9jbGtfc3JjX2dwY10gPSAxMDgwMDAsCj4+PiArICAgICAgICAgICAgLnZvbHRhZ2UgPSAxLAo+ Pj4gICAgICAgICAgIH0sCj4+PiAgICAgICB9LAo+Pj4gICAgICAgewo+Pj4gICAgICAgICAgIC5i YXNlID0gewo+Pj4gICAgICAgICAgICAgICAuZG9tYWluW252X2Nsa19zcmNfZ3BjXSA9IDE4MDAw MCwKPj4+ICsgICAgICAgICAgICAudm9sdGFnZSA9IDIsCj4+PiAgICAgICAgICAgfSwKPj4+ICAg ICAgIH0sCj4+PiAgICAgICB7Cj4+PiAgICAgICAgICAgLmJhc2UgPSB7Cj4+PiAgICAgICAgICAg ICAgIC5kb21haW5bbnZfY2xrX3NyY19ncGNdID0gMjUyMDAwLAo+Pj4gKyAgICAgICAgICAgIC52 b2x0YWdlID0gMywKPj4+ICAgICAgICAgICB9LAo+Pj4gICAgICAgfSwKPj4+ICAgICAgIHsKPj4+ ICAgICAgICAgICAuYmFzZSA9IHsKPj4+ICAgICAgICAgICAgICAgLmRvbWFpbltudl9jbGtfc3Jj X2dwY10gPSAzMjQwMDAsCj4+PiArICAgICAgICAgICAgLnZvbHRhZ2UgPSA0LAo+Pj4gICAgICAg ICAgIH0sCj4+PiAgICAgICB9LAo+Pj4gICAgICAgewo+Pj4gICAgICAgICAgIC5iYXNlID0gewo+ Pj4gICAgICAgICAgICAgICAuZG9tYWluW252X2Nsa19zcmNfZ3BjXSA9IDM5NjAwMCwKPj4+ICsg ICAgICAgICAgICAudm9sdGFnZSA9IDUsCj4+PiAgICAgICAgICAgfSwKPj4+ICAgICAgIH0sCj4+ PiAgICAgICB7Cj4+PiAgICAgICAgICAgLmJhc2UgPSB7Cj4+PiAgICAgICAgICAgICAgIC5kb21h aW5bbnZfY2xrX3NyY19ncGNdID0gNDY4MDAwLAo+Pj4gKyAgICAgICAgICAgIC52b2x0YWdlID0g NiwKPj4+ICAgICAgICAgICB9LAo+Pj4gICAgICAgfSwKPj4+ICAgICAgIHsKPj4+ICAgICAgICAg ICAuYmFzZSA9IHsKPj4+ICAgICAgICAgICAgICAgLmRvbWFpbltudl9jbGtfc3JjX2dwY10gPSA1 NDAwMDAsCj4+PiArICAgICAgICAgICAgLnZvbHRhZ2UgPSA3LAo+Pj4gICAgICAgICAgIH0sCj4+ PiAgICAgICB9LAo+Pj4gICAgICAgewo+Pj4gICAgICAgICAgIC5iYXNlID0gewo+Pj4gICAgICAg ICAgICAgICAuZG9tYWluW252X2Nsa19zcmNfZ3BjXSA9IDYxMjAwMCwKPj4+ICsgICAgICAgICAg ICAudm9sdGFnZSA9IDgsCj4+PiAgICAgICAgICAgfSwKPj4+ICAgICAgIH0sCj4+PiAgICAgICB7 Cj4+PiAgICAgICAgICAgLmJhc2UgPSB7Cj4+PiAgICAgICAgICAgICAgIC5kb21haW5bbnZfY2xr X3NyY19ncGNdID0gNjQ4MDAwLAo+Pj4gKyAgICAgICAgICAgIC52b2x0YWdlID0gOSwKPj4+ICAg ICAgICAgICB9LAo+Pj4gICAgICAgfSwKPj4+ICAgICAgIHsKPj4+ICAgICAgICAgICAuYmFzZSA9 IHsKPj4+ICAgICAgICAgICAgICAgLmRvbWFpbltudl9jbGtfc3JjX2dwY10gPSA2ODQwMDAsCj4+ PiArICAgICAgICAgICAgLnZvbHRhZ2UgPSAxMCwKPj4+ICAgICAgICAgICB9LAo+Pj4gICAgICAg fSwKPj4+ICAgICAgIHsKPj4+ICAgICAgICAgICAuYmFzZSA9IHsKPj4+ICAgICAgICAgICAgICAg LmRvbWFpbltudl9jbGtfc3JjX2dwY10gPSA3MDgwMDAsCj4+PiArICAgICAgICAgICAgLnZvbHRh Z2UgPSAxMSwKPj4+ICAgICAgICAgICB9LAo+Pj4gICAgICAgfSwKPj4+ICAgICAgIHsKPj4+ICAg ICAgICAgICAuYmFzZSA9IHsKPj4+ICAgICAgICAgICAgICAgLmRvbWFpbltudl9jbGtfc3JjX2dw Y10gPSA3NTYwMDAsCj4+PiArICAgICAgICAgICAgLnZvbHRhZ2UgPSAxMiwKPj4+ICAgICAgICAg ICB9LAo+Pj4gICAgICAgfSwKPj4+ICAgICAgIHsKPj4+ICAgICAgICAgICAuYmFzZSA9IHsKPj4+ ICAgICAgICAgICAgICAgLmRvbWFpbltudl9jbGtfc3JjX2dwY10gPSA4MDQwMDAsCj4+PiArICAg ICAgICAgICAgLnZvbHRhZ2UgPSAxMywKPj4+ICAgICAgICAgICB9LAo+Pj4gICAgICAgfSwKPj4+ ICAgICAgIHsKPj4+ICAgICAgICAgICAuYmFzZSA9IHsKPj4+ICAgICAgICAgICAgICAgLmRvbWFp bltudl9jbGtfc3JjX2dwY10gPSA4NTIwMDAsCj4+PiArICAgICAgICAgICAgLnZvbHRhZ2UgPSAx NCwKPj4+ICAgICAgICAgICB9LAo+Pj4gICAgICAgfSwKPj4+ICAgfTsKPj4KPj4gSXMgdGhlcmUg YSBwYXJ0aWN1bGFyIHJlYXNvbiB3aHkgdGhpcyB0YWJsZSBpcyBoYXJkLWNvZGVkIHJhdGhlciB0 aGFuIAo+PiBzdG9yZWQgaW4gdGhlIGRldmljZSB0cmVlPyBJdCBkb2Vzbid0IHNlZW0gdG8gZGlm ZmVyIG11Y2ggYmV0d2VlbiAKPj4gZGlmZmVyZW50IGdrMjBhJ3MgKGJ1dCB0aGlzIG1pZ2h0IGNo YW5nZSB3aXRoIHRoZSBkZW52ZXItY29yZSAKPj4gdmVyc2lvbj8pLCBidXQgSSBkbyBhbnRpY2lw YXRlIGEgbG90IG9mICJjb2RlIiBkdXBsaWNhdGlvbiB3aGVuIAo+PiBwb3N0LUsxIGNvcmVzIGFy ZSByZWxlYXNlZCBhbmQgc3VwcG9ydGVkLgo+IEhtbW0uLiBUaGF0J3MgcHJvYmFibHkgYmVjYXVz ZSBJIGp1c3QgcmVhbGl6ZWQgd2UgaGF2ZSBzb21lIG90aGVyIAo+IGV4YW1wbGUgbGlrZSB0aGUg YmlvcyBzdWJkZXYgaXMgdXNpbmcgdGhlIGRldmljZSB0cmVzcyBzdHVmZi4gVGhlIAo+IHRhYmxl IGlzIGNoaXAgc3BlY2lmaWMsIG5vdCBib2FyZCBzcGVjaWZpYy4gU2hvdWxkIHdlIHB1dCBpdCBp biBkZXZpY2UgCj4gdHJlZT8KPiBBbmQgdGhlIHRhYmxlIHNob3VsZCBiZSB0aGUgc2FtZSBiZXR3 ZWVuIGFsbCB0aGUgZ2syMGEncyBhbHRob3VnaCAKPiB0aGVyZSBpcyBubyBndWFyYW50ZWUuIElm IHRoZSBwb3N0LUsxIGNvcmVzIGFsc28gaW50ZWdyYXRlIHRoZSBnazIwYSwgCj4gdGhleSBzaG91 bGQgdXNlIHRoZSBzYW1lIGRyaXZlciBpbmNsdWRpbmcgdGhpcyBmaWxlLiBJZiBub3QsIEkgYmVs aWV2ZSAKPiB3ZSB3aWxsIGhhdmUgc29tZSBjbGV2ZXIgd2F5IHRvIGhhbmRsZSB0aGF0LiBUaGF0 J3MgdW5saWtlbHkgdG8gaGFwcGVuIAo+IHRob3VnaC4gOikKPgo+IFRoYW5rcywKPiBWaW5jZQoK SSdtIG5vdCBzdXJlIGlmIEkgY29tcGxldGVseSB1bmRlcnN0YW5kIHlvdXIgcmVwbHksIHNvIGZv cmdpdmUgbWUgaWYgSSAKYW0gc3RhdGluZyBzb21lIG9idmlvdXMgdGhpbmdzOgpUaGUgcmVhc29u IHdoeSBJIGJyb3VnaHQgdGhpcyB1cCBpcyBiZWNhdXNlLCB0aGUgd2F5IEkgc2VlIGl0LCBEVFMg aXMgCnRoZSByZXBsYWNlbWVudCBmb3IgKFYpQklPUyBvbiBBUk0gcGxhdGZvcm1zLCBnaXZpbmcg YSBzZXQgb2YgcGFyYW1ldGVycyAKdGhhdCBkcml2ZXJzIChub3V2ZWF1KSBjYW4gdXNlIGZvciB0 aGF0IHBhcnRpY3VsYXIgaW5zdGFuY2UgKHRoZSBUZWdyYSAKSzEgU29DKSBvZiBzb21lIG1vcmUg Z2VuZXJpYyBJUCAoZ2syMGEpLiBBbGwgdGhlIG90aGVyIGRldmljZXMgbm91dmVhdSAKc3VwcG9y dHMgaGF2ZSBhIFZCSU9TIHRvIGRlc2NyaWJlIHRoaXMga2luZCBvZiBpbmZvcm1hdGlvbiB0byB1 cywgaGVuY2UgCndlIGhhdmVuJ3Qgc2VlbiB0aGlzIGJlZm9yZS4gRm9yIENQVXMgdGhlcmUgYXJl IHBsZW50eSBvZiBleGFtcGxlcyAKdGhvdWdoIG9mIHN1Y2ggcGFyYW1zIGRlZmluZWQgaW4gRFQ6 IGluIGFyY2gvYXJtL2Jvb3QvZHRzLyA6IAppbXg2cWRsLmR0c2kgZG9jdW1lbnRzIHRoZSBtaW4g YW5kIG1heCB2b2x0IGZvciByZWd1bGF0b3JzLCB3aGlsZSB0aGUgCkNQVXMgaGF2ZSBhIGxpdHRs ZSBmcmVxPC0+dm9sdCBtYXBwaW5nIGluIGlteDZxLmR0c2kuIEdQVXMgYXJlIG5ldyBpbiBhIApz ZW5zZSB0aGF0IE5WSURJQSBpcyB0aGUgZmlyc3QgdG8gYWN0aXZlbHkgc3VwcG9ydCB1cHN0cmVh bSBkZXZlbG9wbWVudCAKKHRoYW5rcyEpClNlY29uZGx5LCB3ZSBzaG91bGQga2VlcCBpbiBtaW5k IHRoYXQgRFQgaXMgbm90IHRpZWQgdG8gTGludXg7IEkgYmVsaWV2ZSAKTGluYXJvJ3MgbG9uZyB0 ZXJtIGdvYWwgaXMgdG8gdGFrZSB0aGUgRFQgZnJvbSB0aGUgTGludXggdHJlZSBhbmQgCm1haW50 YWluIGl0IGFzIGEgc2VwYXJhdGUgdHJlZSwgdG8gYmUgdXNlZCB3aXRoIFUtYm9vdCwgKkJTRCwg bWF5YmUgZXZlbiAKV2luZG93cy4gVGhlc2Uga2luZCBvZiBwYXJhbWV0ZXJzIGFyZSBub3QgdmVy eSBwbGF0Zm9ybS1kZXBlbmRlbnQgYW5kIAphbHRob3VnaCB0aGV5IHNlZW0gbGlrZSBhIGxpdHRs ZSBkZXRhaWwgdGhhdCdzIGVhc3kgdG8gcmVwcm9kdWNlIG9uIApldmVyeSBwbGF0Zm9ybSwgbG9v a2luZyBhdCB0aGUgc2hlZXIgc2l6ZSBvZiB0aGUgVkJJT1MgZGF0YSB0aGF0IGNvdWxkIAptZWFu IGEgKmxvdCogb2YgZHVwbGljYXRpb24uCkkgYnJpbmcgdGhpcyB1cCBub3QgYmVjYXVzZSBJIHRo aW5rIEkga25vdyBiZXR0ZXIsIGJ1dCByYXRoZXIgYmVjYXVzZSBJIApiZWxpZXZlIGl0J3MgYSBn b29kIGRpc2N1c3Npb24gdG8gaGF2ZSBub3cgdGhhdCB0aGVyZSBzdGlsbCBpcyBsaXR0bGUgCmxl Z2FjeSBvbiBBUk0gU29DcyBpbiBub3V2ZWF1LiBEVFMgaXMgc3RpbGwgYSB3b3JrLWluLXByb2dy ZXNzLCBhbmQgYXQgCnRoaXMgbW9tZW50IHdlIGhhdmUgdGhlIG9wcG9ydHVuaXR5IHRvIGNvbnNp ZGVyIHdoYXQgbmVlZHMgdG8gYmUgCmRvY3VtZW50ZWQgaW4gdGhlcmUgYW5kIHdoYXQgZG9lc24n dC4gSSB3b3VsZCBhY3R1YWxseSBsb3ZlIHRvIGhlYXIgCm90aGVyLCBtb3JlIGV4cGVyaWVuY2Vk IGRldmVsb3BlcnMgY2hpbWUgaW4gYXMgd2VsbCAoUm9iIENsYXJrPyBCZW4gClNrZWdncz8gTGlu YXJvIGZvbGtzPykgYW5kIHNlZSBob3cgdGhleSBmZWVsLgpDaGVlcnMsCgpSb3kKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTm91dmVhdSBtYWlsaW5nIGxp c3QKTm91dmVhdUBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL25vdXZlYXUK