From mboxrd@z Thu Jan 1 00:00:00 1970 From: Miguel Angel Vico Subject: Re: Allocator Nouveau driver, Mesa EXT_external_objects, and DRM metadata import interfaces Date: Wed, 20 Dec 2017 12:41:34 -0800 Message-ID: <20171220124134.0d69513b@nvidia.com> References: <20171220085151.6327051e@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: mesa-dev-bounces@lists.freedesktop.org Sender: "mesa-dev" To: Kristian =?UTF-8?B?SMO4Z3NiZXJn?= Cc: Rob Clark , Nicolai =?UTF-8?B?SMOkaG5sZQ==?= , dri-devel , Jason Ekstrand , "Kristian H. Kristensen" , Ben Skeggs , Chad Versace , "mesa-dev@lists.freedesktop.org" , Lyude Paul List-Id: dri-devel@lists.freedesktop.org SW5saW5lLgoKT24gV2VkLCAyMCBEZWMgMjAxNyAxMTo1NDoxMCAtMDgwMApLcmlzdGlhbiBIw7hn c2JlcmcgPGhvZWdzYmVyZ0BnbWFpbC5jb20+IHdyb3RlOgoKPiBPbiBXZWQsIERlYyAyMCwgMjAx NyBhdCAxMTo1MSBBTSwgRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPiB3cm90ZToKPiA+ IFNpbmNlIHRoaXMgYWxzbyBpbnZvbHZlcyB0aGUga2VybmVsIGxldCdzIGFkZCBkcmktZGV2ZWwg Li4uCgpZZWFoLCBJIGZvcmdvdC4gVGhhbmtzIERhbmllbCEKCj4gPgo+ID4gT24gV2VkLCBEZWMg MjAsIDIwMTcgYXQgNTo1MSBQTSwgTWlndWVsIEFuZ2VsIFZpY28gPG12aWNvbW95YUBudmlkaWEu Y29tPiB3cm90ZTogIAo+ID4+IEhpIGFsbCwKPiA+Pgo+ID4+IEFzIG1hbnkgb2YgeW91IGFscmVh ZHkga25vdywgSSd2ZSBiZWVuIHdvcmtpbmcgd2l0aCBKYW1lcyBKb25lcyBvbiB0aGUKPiA+PiBH ZW5lcmljIERldmljZSBBbGxvY2F0b3IgcHJvamVjdCBsYXRlbHkuIEhlIHN0YXJ0ZWQgYSBkaXNj dXNzaW9uIHRocmVhZAo+ID4+IHNvbWUgd2Vla3MgYWdvIHNlZWtpbmcgZmVlZGJhY2sgb24gdGhl IGN1cnJlbnQgcHJvdG90eXBlIG9mIHRoZSBsaWJyYXJ5Cj4gPj4gYW5kIGFkdmljZSBvbiBob3cg dG8gbW92ZSBhbGwgdGhpcyBmb3J3YXJkLCBmcm9tIGEgcHJvdG90eXBlIHN0YWdlIHRvCj4gPj4g cHJvZHVjdGlvbi4gRm9yIGZ1cnRoZXIgcmVmZXJlbmNlLCBzZWU6Cj4gPj4KPiA+PiAgICBodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9tZXNhLWRldi8yMDE3LU5vdmVtYmVy LzE3NzYzMi5odG1sCj4gPj4KPiA+PiBGcm9tIHRoZSB0aHJlYWQgYWJvdmUsIHdlIGNhbWUgdXAg d2l0aCB2ZXJ5IGludGVyZXN0aW5nIGhpZ2ggbGV2ZWwKPiA+PiBkZXNpZ24gaWRlYXMgZm9yIG9u ZSBvZiB0aGUgY3VycmVudGx5IG1pc3NpbmcgcGFydHMgaW4gdGhlIGxpYnJhcnk6Cj4gPj4gVXNh Z2UgdHJhbnNpdGlvbnMuIFRoYXQncyBzb21ldGhpbmcgSSdsbCBwZXJzb25hbGx5IHdvcmsgb24g ZHVyaW5nIHRoZQo+ID4+IGZvbGxvd2luZyB3ZWVrcy4KPiA+Pgo+ID4+Cj4gPj4gSW4gdGhlIG1l YW50aW1lLCBJJ3ZlIGJlZW4gd29ya2luZyBvbiBwdXR0aW5nIHRvZ2V0aGVyIGFuIG9wZW4gc291 cmNlCj4gPj4gaW1wbGVtZW50YXRpb24gb2YgdGhlIGFsbG9jYXRvciBtZWNoYW5pc21zIHVzaW5n IHRoZSBOb3V2ZWF1IGRyaXZlciBmb3IKPiA+PiBhbGwgdG8gYmUgYWJsZSB0byBwbGF5IHdpdGgu Cj4gPj4KPiA+PiBCZWxvdyBJJ20gc2Vla2luZyBmZWVkYmFjayBvbiBhIGJ1bmNoIG9mIGNoYW5n ZXMgSSBoYWQgdG8gbWFrZSB0bwo+ID4+IGRpZmZlcmVudCBjb21wb25lbnRzIG9mIHRoZSBncmFw aGljcyBzdGFjazoKPiA+Pgo+ID4+ICoqIEFsbG9jYXRvciAqKgo+ID4+Cj4gPj4gICBBbiBhbGxv Y2F0b3IgZHJpdmVyIGltcGxlbWVudGF0aW9uIG9uIHRvcCBvZiBOb3V2ZWF1LiBUaGUgY3VycmVu dAo+ID4+ICAgaW1wbGVtZW50YXRpb24gb25seSBoYW5kbGVzIHBpdGNoIGxpbmVhciBsYXlvdXRz LCBidXQgdGhhdCdzIGVub3VnaAo+ID4+ICAgdG8gaGF2ZSB0aGUga21zY3ViZSBwb3J0IHdvcmtp bmcgdXNpbmcgdGhlIGFsbG9jYXRvciBhbmQgTm91dmVhdQo+ID4+ICAgZHJpdmVycy4KPiA+Pgo+ ID4+ICAgWW91IGNhbiBwdWxsIHRoZXNlIGNoYW5nZXMgZnJvbQo+ID4+Cj4gPj4gICAgICAgaHR0 cHM6Ly9naXRodWIuY29tL212aWNvbW95YS9hbGxvY2F0b3IvdHJlZS93aXAvbXZpY29tb3lhL25v dXZlYXUtZHJpdmVyCj4gPj4KPiA+PiAqKiBNZXNhICoqCj4gPj4KPiA+PiAgIEphbWVzJ3Mga21z Y3ViZSBwb3J0IHRvIHVzZSB0aGUgYWxsb2NhdG9yIHJlbGllcyBvbiB0aGUKPiA+PiAgIEVYVF9l eHRlcm5hbF9vYmplY3RzIGV4dGVuc2lvbiB0byBpbXBvcnQgYWxsb2NhdG9yIGFsbG9jYXRpb25z IHRvCj4gPj4gICBPcGVuR0wgYXMgYSB0ZXh0dXJlIG9iamVjdC4gSG93ZXZlciwgdGhlIE5vdXZl YXUgaW1wbGVtZW50YXRpb24gb2YKPiA+PiAgIHRoZXNlIG1lY2hhbmlzbXMgaXMgbWlzc2luZyBp biBNZXNhLCBzbyBJIHdlbnQgYWhlYWQgYW5kIGFkZGVkIHRoZW0uCj4gPj4KPiA+PiAgIFlvdSBj YW4gcHVsbCB0aGVzZSBjaGFuZ2VzIGZyb20KPiA+Pgo+ID4+ICAgICAgIGh0dHBzOi8vZ2l0aHVi LmNvbS9tdmljb21veWEvbWVzYS90cmVlL3dpcC9tdmljb21veWEvRVhUX2V4dGVybmFsX29iamVj dHMtbm91dmVhdQo+ID4+Cj4gPj4gICBBbHNvLCBKYW1lcydzIGttc2N1YmUgcG9ydCB1c2VzIHRo ZSBOVlhfdW5peF9hbGxvY2F0b3JfaW1wb3J0Cj4gPj4gICBleHRlbnNpb24gdG8gYXR0YWNoIGFs bG9jYXRvciBtZXRhZGF0YSB0byB0ZXh0dXJlIG9iamVjdHMgc28gdGhlCj4gPj4gICBkcml2ZXIg a25vd3MgaG93IHRvIGRlYWwgd2l0aCB0aGUgaW1wb3J0ZWQgbWVtb3J5Lgo+ID4+Cj4gPj4gICBO b3RlIHRoYXQgdGhlcmUgaXNuJ3QgYSBmb3JtYWwgc3BlYyBmb3IgdGhpcyBleHRlbnNpb24geWV0 LiBGb3Igbm93LAo+ID4+ICAgaXQganVzdCBzZXJ2ZXMgYXMgYW4gZXhwZXJpbWVudGFsIG1lY2hh bmlzbSB0byBpbXBvcnQgYWxsb2NhdG9yCj4gPj4gICBtZW1vcnkgaW4gT3BlbkdMLCBhbmQgYXR0 YWNoIG1ldGFkYXRhIHRvIHRleHR1cmUgb2JqZWN0cy4KPiA+Pgo+ID4+ICAgWW91IGNhbiBwdWxs IHRoZXNlIGNoYW5nZXMgKHdyaXR0ZW4gb24gdG9wIG9mIHRoZSBhYm92ZSkgZnJvbToKPiA+Pgo+ ID4+ICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9tdmljb21veWEvbWVzYS90cmVlL3dpcC9tdmlj b21veWEvTlZYX3VuaXhfYWxsb2NhdG9yX2ltcG9ydAo+ID4+Cj4gPj4gKioga21zY3ViZSAqKgo+ ID4+Cj4gPj4gICBNb3N0bHkgbWlub3IgZml4ZXMgYW5kIGltcHJvdmVtZW50cyBvbiB0b3Agb2Yg SmFtZXMncyBwb3J0IHRvIHVzZSB0aGUKPiA+PiAgIGFsbG9jYXRvci4gTWFpbiB0aGluZyBpcyB0 aGUgYWxsb2NhdG9yIGluaXRpYWxpemF0aW9uIHBhdGggd2lsbCB1c2UKPiA+PiAgIEVHTF9NRVNB X3BsYXRmb3JtX3N1cmZhY2VsZXNzIGlmIEVHTERldmljZSBwbGF0Zm9ybSBpc24ndCBzdXBwb3J0 ZWQKPiA+PiAgIGJ5IHRoZSB1bmRlcmx5aW5nIEVHTCBpbXBsZW1lbnRhdGlvbi4KPiA+Pgo+ID4+ ICAgWW91IGNhbiBwdWxsIHRoZXNlIGNoYW5nZXMgZnJvbToKPiA+Pgo+ID4+ICAgICAgIGh0dHBz Oi8vZ2l0aHViLmNvbS9tdmljb21veWEva21zY3ViZS90cmVlL3dpcC9tdmljb21veWEvYWxsb2Nh dG9yLW5vdXZlYXUKPiA+Pgo+ID4+Cj4gPj4gV2l0aCBhbGwgdGhlIGFib3ZlIHlvdSBzaG91bGQg YmUgYWJsZSB0byBnZXQga21zY3ViZSB3b3JraW5nIHVzaW5nIHRoZQo+ID4+IGFsbG9jYXRvciBv biB0b3Agb2YgdGhlIE5vdXZlYXUgZHJpdmVyLgo+ID4+Cj4gPj4KPiA+PiBBbm90aGVyIG9mIHRo ZSBtaXNzaW5nIHBpZWNlcyBiZWZvcmUgd2UgY2FuIG1vdmUgdGhpcyB0byBwcm9kdWN0aW9uIGlz Cj4gPj4gaW1wb3J0aW5nIGFsbG9jYXRpb25zIHRvIERSTSBGQiBvYmplY3RzLiBUaGlzIGlzIHBy b2JhYmx5IG9uZSBvZiB0aGUKPiA+PiBtb3N0IHNlbnNpdGl2ZSBwYXJ0cyBvZiB0aGUgcHJvamVj dCBhcyBpdCByZXF1aXJlcyBtb2RpZmljYXRpb24vYWRkaXRpb24KPiA+PiBvZiBrZXJuZWwgZHJp dmVyIGludGVyZmFjZXMuCj4gPj4KPiA+PiBBdCBYREMyMDE3LCBKYW1lcyBoYWQgc2V2ZXJhbCBo YWxsd2F5IGNvbnZlcnNhdGlvbnMgd2l0aCBzZXZlcmFsIHBlb3BsZQo+ID4+IGFib3V0IHRoaXMs IGFsbCBoYXZpbmcgZGlmZmVyZW50IG9waW5pb25zLiBJJ2QgbGlrZSB0byB0YWtlIHRoaXMKPiA+ PiBvcHBvcnR1bml0eSB0byBhbHNvIHN0YXJ0IGEgZGlzY3Vzc2lvbiBhYm91dCB3aGF0J3MgdGhl IGJlc3Qgb3B0aW9uIHRvCj4gPj4gY3JlYXRlIGEgcGF0aCB0byBnZXQgYWxsb2NhdG9yIGFsbG9j YXRpb25zIGFkZGVkIGFzIERSTSBGQiBvYmplY3RzLgo+ID4+Cj4gPj4gVGhlc2UgYXJlIHRoZSBm ZXcgb3B0aW9ucyB3ZSd2ZSBjb25zaWRlcmVkIHRvIHN0YXJ0IHdpdGg6Cj4gPj4KPiA+PiAgIEEp IEhhdmUgdmVuZG9yLXByaXZhdGUgaW9jdGxzIHRvIHNldCBwcm9wZXJ0aWVzIG9uIEdFTSBvYmpl Y3RzIHRoYXQKPiA+PiAgICAgIGFyZSBpbmhlcml0ZWQgYnkgdGhlIEZCIG9iamVjdHMuIFRoaXMg aXMgaG93IG91ciAoTlZJRElBKSBkZXNrdG9wCj4gPj4gICAgICBEUk0gZHJpdmVyIGN1cnJlbnRs eSB3b3Jrcy4gVGhpcyB3b3VsZCByZXF1aXJlIGV2ZXJ5IHZlbmRvciB0byBhZGQKPiA+PiAgICAg IHRoZWlyIG93biBpb2N0bCB0byBwcm9jZXNzIGFsbG9jYXRvciBtZXRhZGF0YSwgYnV0IHRoZSBt ZXRhZGF0YSBpcwo+ID4+ICAgICAgYWN0dWFsbHkgYSB2ZW5kb3ItYWdub3N0aWMgb2JqZWN0IG1v cmUgbGlrZSBEUk0gbW9kaWZpZXJzLiBXZSdkCj4gPj4gICAgICBsaWtlIHRvIGNvbWUgdXAgd2l0 aCBhIHZlbmRvci1hZ25vc3RpYyBzb2x1dGlvbnMgdGhhdCBjYW4gYmUKPiA+PiAgICAgIGludGVn cmF0ZWQgdG8gY29yZSBEUk0uCj4gPj4KPiA+PiAgIEIpIEFkZCBhIG5ldyBkcm1Nb2RlQWRkRkJX aXRoTWV0YWRhdGEoKSBjb21tYW5kIHRoYXQgdGFrZXMgYWxsb2NhdG9yCj4gPj4gICAgICBtZXRh ZGF0YSBibG9icyBmb3IgZWFjaCBwbGFuZSBvZiB0aGUgRkIuIFNvbWUgcGVvcGxlIGluIHRoZQo+ ID4+ICAgICAgY29tbXVuaXR5IGhhdmUgbWVudGlvbmVkIHRoaXMgaXMgdGhlaXIgcHJlZmVycmVk IGRlc2lnbi4gVGhpcywKPiA+PiAgICAgIGhvd2V2ZXIsIG1lYW5zIHdlJ2QgaGF2ZSB0byBnbyB0 aHJvdWdoIHRoZSBleGVyY2lzZSBvZiBhZGRpbmcKPiA+PiAgICAgIGFub3RoZXIgbWV0YWRhdGEg bWVjaGFuaXNtIHRvIHRoZSB3aG9sZSBncmFwaGljcyBzdGFjay4KPiA+Pgo+ID4+ICAgQykgU2hv dmUgYWxsb2NhdG9yIG1ldGFkYXRhIGludG8gRFJNIGJ5IGRlZmluaW5nIGl0IHRvIGJlIGEgc2Vw YXJhdGUKPiA+PiAgICAgIHBsYW5lIGluIHRoZSBpbWFnZSwgYW5kIHVzaW5nIHRoZSBleGlzdGlu ZyBEUk0gbW9kaWZpZXJzIG1lY2hhbmlzbQo+ID4+ICAgICAgdG8gaW5kaWNhdGUgdGhlcmUgaXMg YW5vdGhlciBwbGFuZSBmb3IgZWFjaCAicmVhbCIgcGxhbmUgYWRkZWQuIEl0Cj4gPj4gICAgICBp c24ndCBjbGVhciBob3cgdGhpcyBzY2FsZXMgdG8gc3VyZmFjZXMgdGhhdCBhbHJlYWR5IG5lZWQg c2V2ZXJhbAo+ID4+ICAgICAgcGxhbmVzLCBidXQgdGhlcmUgYXJlIHNvbWUgcGVvcGxlIHRoYXQg c2VlIHRoaXMgYXMgdGhlIG9ubHkgd2F5Cj4gPj4gICAgICBmb3J3YXJkLiBBbHNvLCB3ZSB3b3Vs ZCBoYXZlIHRvIGNyZWF0ZSBhIHNlcGFyYXRlIEdFTSBidWZmZXIgZm9yCj4gPj4gICAgICB0aGUg bWV0YWRhdGFkYSBpdHNlbGYsIHdoaWNoIHNlZW1zIGV4Y2Vzc2l2ZS4KPiA+Pgo+ID4+IFdlIHBl cnNvbmFsbHkgbGlrZSBvcHRpb24gKEIpIGJldHRlciwgYW5kIGhhdmUgYWxyZWFkeSBzdGFydGVk IHRvCj4gPj4gcHJvdG90eXBlIHRoZSBuZXcgcGF0aCAod2hpY2ggaXMgYWN0dWFsbHkgdmVyeSBz aW1pbGFyIHRvIHRoZQo+ID4+IGRybU1vZGVBZGRGQjIoKSBvbmUpLiBZb3UgY2FuIHRha2UgYSBs b29rIGF0IHRoZSBuZXcgaW50ZXJmYWNlcyBoZXJlOgo+ID4+Cj4gPj4gICAgIGh0dHBzOi8vZ2l0 aHViLmNvbS9tdmljb21veWEvbGludXgvdHJlZS93aXAvbXZpY29tb3lhL2RybV9hZGRmYl93aXRo X21ldGFkYXRhX180LjE0LXJjOAo+ID4+Cj4gPj4gVGhlcmUgbWF5IGJlIG90aGVyIG9wdGlvbnMg dGhhdCBoYXZlbid0IGJlZW4gZXhwbG9yZWQgeWV0IHRoYXQgY291bGQgYmUKPiA+PiBhIGJldHRl ciBjaG9pY2UgdGhhbiB0aGUgYWJvdmUsIHNvIGFueSBzdWdnZXN0aW9uIHdpbGwgYmUgZ3JlYXRs eQo+ID4+IGFwcHJlY2lhdGVkLiAgCj4gPgo+ID4gV2hhdCBraW5kIG9mIG1ldGFkYXRhIGFyZSB3 ZSB0YWxraW5nIGFib3V0IGhlcmU/IEFkZGZiIGhhcyB0b25zIG9mCj4gPiBzdHVmZiBhbHJlYWR5 IHRoYXQncyAibWV0YWRhdGEiLiBUaGUgb25seSB0aGluZyBJJ3ZlIHNwb3R0ZWQgaXMKPiA+IFBJ VENIX0FMSUdOTUVOVCwgd2hpY2ggaXMgbWF5YmUgc29tZXRoaW5nIHdlIHdhbnQgZHJtIGRyaXZl cnMgdG8gdGVsbAo+ID4gdXNlcnNwYWNlLCBidXQgZGVmaW5pdGVseSBub3Qgc29tZXRoaW5nIGFk ZGZiIGV2ZXIgbmVlZHMuIGFkZGZiIG9ubHkKPiA+IG5lZWRzIHRoZSByZXN1bHRpbmcgcGl0Y2gg dGhhdCB3ZSBhY3R1YWxseSBhbGxvY2F0ZWQgKGFuZCBtaWdodCBkZWNpZGUKPiA+IGl0IGRvZXNu J3QgbGlrZSB0aGF0LCBidXQgdGhhdCdzIGEgZGlmZmVyZW50IGlzc3VlKS4KClNvcnJ5IEkgZmFp bGVkIHRvIG1ha2UgaXQgY2xlYXJlci4gTWV0YWRhdGEgaGVyZSByZWZlcnMgdG8gYWxsCmFsbG9j YXRpb24gcGFyYW1ldGVycyB0aGUgZ2VuZXJpYyBhbGxvY2F0b3Igd2FzIGdpdmVuIHRvIGFsbG9j YXRlCm1lbW9yeS4gVGhhdCBjdXJyZW50bHkgbWVhbnMgdGhlIGZpbmFsIGNhcGFiaWxpdHkgc2V0 IHVzZWQgZm9yCnRoZSBhbGxvY2F0aW9uLCBpbmNsdWRpbmcgYWxsIGNvbnN0cmFpbnRzIChzdWNo IGFzIG1lbW9yeSBhbGlnbm1lbnQsCnBpdGNoIGFsaWdubWVudCwgYW5kIG90aGVycykgYW5kIGNh cGFiaWxpdGllcywgZGVzY3JpYmluZyBhbGxvY2F0aW9uCnByb3BlcnRpZXMgbGlrZSB0aWxpbmcg Zm9ybWF0cywgY29tcHJlc3Npb24sIGFuZCBzdWNoLgoKPiA+Cj4gPiBBbmQgc2luY2UgdGhlcmUn cyBubyBwYXRjaGVzIGZvciBub3V2ZWF1IGl0c2VsZiBJIGNhbid0IHJlYWxseSBzYXkKPiA+IGFu eXRoaW5nIGJleW9uZCB0aGF0LiAgCgpJIGNhbiB3b3JrIG9uIGltcGxlbWVudGluZyB0aGVzZSBp bnRlcmZhY2VzIGZvciBub3V2ZWF1LCBtYXliZQpwYXJ0aWFsbHksIGlmIHRoYXQncyBnb2luZyB0 byBoZWxwLiBJIGp1c3QgdGhvdWdodCBpdCdkIGJlIGJldHRlciB0bwpmaXJzdCBzdGFydCBhIGRp c2N1c3Npb24gb24gd2hhdCB3b3VsZCBiZSB0aGUgcmlnaHQgd2F5IHRvIHBhc3MKYWxsb2NhdG9y IG1ldGFkYXRhIHRvIGRpc3BsYXkgZHJpdmVycyBiZWZvcmUgc3RhcnRpbmcgdG8gc2VyaW91c2x5 CmltcGxlbWVudCBhbnkgb2YgdGhlIHByb3Bvc2VkIG9wdGlvbnMuCgo+IAo+IEknZCBsaWtlIHRv IHNlZSBjb25jcmV0ZSBleGFtcGxlcyBvZiBhY3R1YWwgZGlzcGxheSBjb250cm9sbGVycwo+IHN1 cHBvcnRpbmcgbW9yZSBmb3JtYXQgbGF5b3V0cyB0aGFuIHdoYXQgY2FuIGJlIHNwZWNpZmllZCB3 aXRoIGEgNjQKPiBiaXQgbW9kaWZpZXIuCgpUaGUgbWFpbiBwcm9ibGVtIGlzIG91ciB0aWxpbmcg YW5kIG90aGVyIG1ldGFkYXRhIHBhcmFtZXRlcnMgY2FuJ3QKZ2VuZXJhbGx5IGZpdCBpbiBhIG1v ZGlmaWVyLCBzbyB3ZSBmaW5kIHBhc3NpbmcgYSBibG9iIG9mIG1ldGFkYXRhIGEKbW9yZSBzdWl0 YWJsZSBtZWNoYW5pc20uCgpUaGFua3MuCgo+IAo+IEtyaXN0aWFuCj4gCj4gPiAtRGFuaWVsCj4g PiAtLQo+ID4gRGFuaWVsIFZldHRlcgo+ID4gU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBv cmF0aW9uCj4gPiArNDEgKDApIDc5IDM2NSA1NyA0OCAtIGh0dHA6Ly9ibG9nLmZmd2xsLmNoCj4g PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4gZHJp LWRldmVsIG1haWxpbmcgbGlzdAo+ID4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWwgIAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4g bWVzYS1kZXYgbWFpbGluZyBsaXN0Cj4gbWVzYS1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4g aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9tZXNhLWRldgoK Ci0tIApNaWd1ZWwKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwptZXNhLWRldiBtYWlsaW5nIGxpc3QKbWVzYS1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vbWVzYS1kZXYK