From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 07/16] drm: Extract drm_ioctl.h Date: Wed, 22 Mar 2017 15:47:31 +0200 Message-ID: <20170322134730.GE31595@intel.com> References: <20170322083617.13361-1-daniel.vetter@ffwll.ch> <20170322083617.13361-8-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20170322083617.13361-8-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: Daniel Vetter , Intel Graphics Development , DRI Development List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBNYXIgMjIsIDIwMTcgYXQgMDk6MzY6MDhBTSArMDEwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBUbyBtYXRjaCB0aGUgZHJtX2lvY3RsLmMgd2UgYWxyZWFkeSBoYXZlLgo+IAo+IFNp Z25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+IC0t LQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMgfCAgIDEgKwo+ICBpbmNsdWRlL2RybS9k cm1QLmggICAgICAgICAgfCAgNjEgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgaW5jbHVk ZS9kcm0vZHJtX2lvY3RsLmggICAgIHwgMTAyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCj4gIDMgZmlsZXMgY2hhbmdlZCwgMTA0IGluc2VydGlvbnMoKyksIDYw IGRlbGV0aW9ucygtKQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9kcm0vZHJtX2lvY3Rs LmgKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9pb2N0bC5jCj4gaW5kZXggNjAxYmIwZGVkOWQyLi43ZjRmNGY0OGUzOTAg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9pb2N0bC5jCj4gQEAgLTI4LDYgKzI4LDcgQEAKPiAgICogT1RIRVIgREVB TElOR1MgSU4gVEhFIFNPRlRXQVJFLgo+ICAgKi8KPiAgCj4gKyNpbmNsdWRlIDxkcm0vZHJtX2lv Y3RsLmg+Cj4gICNpbmNsdWRlIDxkcm0vZHJtUC5oPgo+ICAjaW5jbHVkZSA8ZHJtL2RybV9hdXRo Lmg+Cj4gICNpbmNsdWRlICJkcm1fbGVnYWN5LmgiCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJt L2RybVAuaCBiL2luY2x1ZGUvZHJtL2RybVAuaAo+IGluZGV4IGZjMmEwNzQ0NDEzZC4uMjQ4ZDI0 MDhlNTZiIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybVAuaAo+ICsrKyBiL2luY2x1ZGUv ZHJtL2RybVAuaAo+IEBAIC04MCw2ICs4MCw3IEBACj4gICNpbmNsdWRlIDxkcm0vZHJtX2ZpbGUu aD4KPiAgI2luY2x1ZGUgPGRybS9kcm1fZGVidWdmcy5oPgo+ICAjaW5jbHVkZSA8ZHJtL2RybV9z eXNmcy5oPgo+ICsjaW5jbHVkZSA8ZHJtL2RybV9pb2N0bC5oPgoKU2FtZSBxdWVzdGlvbiBhcyBm b3IgdGhlIGRlYnVnZnMgdGhpbmcuIFdoeSBkbyB3ZSBuZWVkIHRoaXM/Cgo+ICAKPiAgc3RydWN0 IG1vZHVsZTsKPiAgCj4gQEAgLTMxOCw0OSArMzE5LDYgQEAgc3RydWN0IHBjaV9jb250cm9sbGVy Owo+ICAKPiAgI2RlZmluZSBEUk1fSUZfVkVSU0lPTihtYWosIG1pbikgKG1haiA8PCAxNiB8IG1p bikKPiAgCj4gLS8qKgo+IC0gKiBJb2N0bCBmdW5jdGlvbiB0eXBlLgo+IC0gKgo+IC0gKiBccGFy YW0gaW5vZGUgZGV2aWNlIGlub2RlLgo+IC0gKiBccGFyYW0gZmlsZV9wcml2IERSTSBmaWxlIHBy aXZhdGUgcG9pbnRlci4KPiAtICogXHBhcmFtIGNtZCBjb21tYW5kLgo+IC0gKiBccGFyYW0gYXJn IGFyZ3VtZW50Lgo+IC0gKi8KPiAtdHlwZWRlZiBpbnQgZHJtX2lvY3RsX3Qoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAtCQkJc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYp Owo+IC0KPiAtdHlwZWRlZiBpbnQgZHJtX2lvY3RsX2NvbXBhdF90KHN0cnVjdCBmaWxlICpmaWxw LCB1bnNpZ25lZCBpbnQgY21kLAo+IC0JCQkgICAgICAgdW5zaWduZWQgbG9uZyBhcmcpOwo+IC0K PiAtI2RlZmluZSBEUk1fSU9DVExfTlIobikgICAgICAgICAgICAgICAgX0lPQ19OUihuKQo+IC0j ZGVmaW5lIERSTV9NQUpPUiAgICAgICAyMjYKPiAtCj4gLSNkZWZpbmUgRFJNX0FVVEgJMHgxCj4g LSNkZWZpbmUJRFJNX01BU1RFUgkweDIKPiAtI2RlZmluZSBEUk1fUk9PVF9PTkxZCTB4NAo+IC0j ZGVmaW5lIERSTV9DT05UUk9MX0FMTE9XIDB4OAo+IC0jZGVmaW5lIERSTV9VTkxPQ0tFRAkweDEw Cj4gLSNkZWZpbmUgRFJNX1JFTkRFUl9BTExPVyAweDIwCj4gLQo+IC1zdHJ1Y3QgZHJtX2lvY3Rs X2Rlc2Mgewo+IC0JdW5zaWduZWQgaW50IGNtZDsKPiAtCWludCBmbGFnczsKPiAtCWRybV9pb2N0 bF90ICpmdW5jOwo+IC0JY29uc3QgY2hhciAqbmFtZTsKPiAtfTsKPiAtCj4gLS8qKgo+IC0gKiBD cmVhdGVzIGEgZHJpdmVyIG9yIGdlbmVyYWwgZHJtX2lvY3RsX2Rlc2MgYXJyYXkgZW50cnkgZm9y IHRoZSBnaXZlbgo+IC0gKiBpb2N0bCwgZm9yIHVzZSBieSBkcm1faW9jdGwoKS4KPiAtICovCj4g LQo+IC0jZGVmaW5lIERSTV9JT0NUTF9ERUZfRFJWKGlvY3RsLCBfZnVuYywgX2ZsYWdzKQkJCQlc Cj4gLQlbRFJNX0lPQ1RMX05SKERSTV9JT0NUTF8jI2lvY3RsKSAtIERSTV9DT01NQU5EX0JBU0Vd ID0gewlcCj4gLQkJLmNtZCA9IERSTV9JT0NUTF8jI2lvY3RsLAkJCQlcCj4gLQkJLmZ1bmMgPSBf ZnVuYywJCQkJCQlcCj4gLQkJLmZsYWdzID0gX2ZsYWdzLAkJCQkJXAo+IC0JCS5uYW1lID0gI2lv Y3RsCQkJCQkJXAo+IC0JIH0KPiAgCj4gIC8qIEZsYWdzIGFuZCByZXR1cm4gY29kZXMgZm9yIGdl dF92YmxhbmtfdGltZXN0YW1wKCkgZHJpdmVyIGZ1bmN0aW9uLiAqLwo+ICAjZGVmaW5lIERSTV9D QUxMRURfRlJPTV9WQkxJUlEgMQo+IEBAIC01NTAsMjMgKzUwOCw2IEBAIHN0YXRpYyBpbmxpbmUg aW50IGRybV9kZXZpY2VfaXNfdW5wbHVnZ2VkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIC8q QHsqLwo+ICAKPiAgCQkJCS8qIERyaXZlciBzdXBwb3J0IChkcm1fZHJ2LmgpICovCj4gLWV4dGVy biBpbnQgZHJtX2lvY3RsX3Blcm1pdCh1MzIgZmxhZ3MsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9w cml2KTsKPiAtZXh0ZXJuIGxvbmcgZHJtX2lvY3RsKHN0cnVjdCBmaWxlICpmaWxwLAo+IC0JCSAg ICAgIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKTsKPiAtI2lmZGVmIENPTkZJ R19DT01QQVQKPiAtZXh0ZXJuIGxvbmcgZHJtX2NvbXBhdF9pb2N0bChzdHJ1Y3QgZmlsZSAqZmls cCwKPiAtCQkJICAgICB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZyk7Cj4gLSNl bHNlCj4gLS8qIExldCBkcm1fY29tcGF0X2lvY3RsIGJlIGFzc2lnbmVkIHRvIC5jb21wYXRfaW9j dGwgdW5jb25kaXRpb25hbGx5ICovCj4gLSNkZWZpbmUgZHJtX2NvbXBhdF9pb2N0bCBOVUxMCj4g LSNlbmRpZgo+IC1leHRlcm4gYm9vbCBkcm1faW9jdGxfZmxhZ3ModW5zaWduZWQgaW50IG5yLCB1 bnNpZ25lZCBpbnQgKmZsYWdzKTsKPiAtCj4gLS8qIE1pc2MuIElPQ1RMIHN1cHBvcnQgKGRybV9p b2N0bC5jKSAqLwo+IC1pbnQgZHJtX25vb3Aoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAq ZGF0YSwKPiAtCSAgICAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOwo+IC1pbnQgZHJtX2lu dmFsaWRfb3Aoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAtCQkgICBzdHJ1 Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7Cj4gIAo+ICAvKgo+ICAgKiBUaGVzZSBhcmUgZXhwb3J0 ZWQgdG8gZHJpdmVycyBzbyB0aGF0IHRoZXkgY2FuIGltcGxlbWVudCBmZW5jaW5nIHVzaW5nCj4g ZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9pb2N0bC5oIGIvaW5jbHVkZS9kcm0vZHJtX2lv Y3RsLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAwMC4uM2MzNjc3 YjViZGIyCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9pb2N0bC5oCj4g QEAgLTAsMCArMSwxMDIgQEAKPiArLyoKPiArICogSW50ZXJuYWwgSGVhZGVyIGZvciB0aGUgRGly ZWN0IFJlbmRlcmluZyBNYW5hZ2VyCj4gKyAqCj4gKyAqIENvcHlyaWdodCAxOTk5IFByZWNpc2lv biBJbnNpZ2h0LCBJbmMuLCBDZWRhciBQYXJrLCBUZXhhcy4KPiArICogQ29weXJpZ2h0IDIwMDAg VkEgTGludXggU3lzdGVtcywgSW5jLiwgU3Vubnl2YWxlLCBDYWxpZm9ybmlhLgo+ICsgKiBDb3B5 cmlnaHQgKGMpIDIwMDktMjAxMCwgQ29kZSBBdXJvcmEgRm9ydW0uCj4gKyAqIEFsbCByaWdodHMg cmVzZXJ2ZWQuCj4gKyAqCj4gKyAqIEF1dGhvcjogUmlja2FyZCBFLiAoUmlrKSBGYWl0aCA8ZmFp dGhAdmFsaW51eC5jb20+Cj4gKyAqIEF1dGhvcjogR2FyZXRoIEh1Z2hlcyA8Z2FyZXRoQHZhbGlu dXguY29tPgo+ICsgKgo+ICsgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9m IGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQo+ICsgKiBjb3B5IG9mIHRoaXMgc29m dHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIp LAo+ICsgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNs dWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCj4gKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBt b2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAo+ICsgKiBhbmQv b3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8g d2hvbSB0aGUKPiArICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRv IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKPiArICoKPiArICogVGhlIGFib3ZlIGNvcHlyaWdo dCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAo+ ICsgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3Rh bnRpYWwgcG9ydGlvbnMgb2YgdGhlCj4gKyAqIFNvZnR3YXJlLgo+ICsgKgo+ICsgKiBUSEUgU09G VFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwg RVhQUkVTUyBPUgo+ICsgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI RSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKPiArICogRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCj4g KyAqIFZBIExJTlVYIFNZU1RFTVMgQU5EL09SIElUUyBTVVBQTElFUlMgQkUgTElBQkxFIEZPUiBB TlkgQ0xBSU0sIERBTUFHRVMgT1IKPiArICogT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFO IEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsCj4gKyAqIEFSSVNJTkcgRlJP TSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBP Ugo+ICsgKiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCj4gKyAqLwo+ICsKPiArI2lm bmRlZiBfRFJNX0lPQ1RMX0hfCj4gKyNkZWZpbmUgX0RSTV9JT0NUTF9IXwo+ICsKPiArI2luY2x1 ZGUgPGxpbnV4L3R5cGVzLmg+Cj4gKwo+ICsjaW5jbHVkZSA8YXNtL2lvY3RsLmg+Cj4gKwo+ICtz dHJ1Y3QgZHJtX2RldmljZTsKPiArc3RydWN0IGRybV9maWxlOwo+ICtzdHJ1Y3QgZmlsZTsKPiAr Cj4gKy8qKgo+ICsgKiBJb2N0bCBmdW5jdGlvbiB0eXBlLgo+ICsgKgo+ICsgKiBccGFyYW0gaW5v ZGUgZGV2aWNlIGlub2RlLgo+ICsgKiBccGFyYW0gZmlsZV9wcml2IERSTSBmaWxlIHByaXZhdGUg cG9pbnRlci4KPiArICogXHBhcmFtIGNtZCBjb21tYW5kLgo+ICsgKiBccGFyYW0gYXJnIGFyZ3Vt ZW50Lgo+ICsgKi8KPiArdHlwZWRlZiBpbnQgZHJtX2lvY3RsX3Qoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgdm9pZCAqZGF0YSwKPiArCQkJc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOwo+ICsK PiArdHlwZWRlZiBpbnQgZHJtX2lvY3RsX2NvbXBhdF90KHN0cnVjdCBmaWxlICpmaWxwLCB1bnNp Z25lZCBpbnQgY21kLAo+ICsJCQkgICAgICAgdW5zaWduZWQgbG9uZyBhcmcpOwo+ICsKPiArI2Rl ZmluZSBEUk1fSU9DVExfTlIobikgICAgICAgICAgICAgICAgX0lPQ19OUihuKQoKSSB3b25kZXIg d2hhdCdzIHRoZSBwb2ludCBvZiB0aGlzIHdyYXBwZXIuIE1heWJlIGxlZnRvdmVycyBmcm9tIHRo ZQpvdXQtb2YtdHJlZSBkYXlzPyBNYXliZSBudWtlIGl0IHdoaWxlIHlvdSdyZSB0b3VjaGluZyB0 aGlzIHN0dWZmPwoKPiArI2RlZmluZSBEUk1fTUFKT1IgICAgICAgMjI2Cj4gKwo+ICsjZGVmaW5l IERSTV9BVVRICTB4MQo+ICsjZGVmaW5lCURSTV9NQVNURVIJMHgyCj4gKyNkZWZpbmUgRFJNX1JP T1RfT05MWQkweDQKPiArI2RlZmluZSBEUk1fQ09OVFJPTF9BTExPVyAweDgKPiArI2RlZmluZSBE Uk1fVU5MT0NLRUQJMHgxMAo+ICsjZGVmaW5lIERSTV9SRU5ERVJfQUxMT1cgMHgyMAo+ICsKPiAr c3RydWN0IGRybV9pb2N0bF9kZXNjIHsKPiArCXVuc2lnbmVkIGludCBjbWQ7Cj4gKwlpbnQgZmxh Z3M7Cj4gKwlkcm1faW9jdGxfdCAqZnVuYzsKPiArCWNvbnN0IGNoYXIgKm5hbWU7Cj4gK307Cj4g Kwo+ICsvKioKCnMvKiovKi8gPwoKPiArICogQ3JlYXRlcyBhIGRyaXZlciBvciBnZW5lcmFsIGRy bV9pb2N0bF9kZXNjIGFycmF5IGVudHJ5IGZvciB0aGUgZ2l2ZW4KPiArICogaW9jdGwsIGZvciB1 c2UgYnkgZHJtX2lvY3RsKCkuCj4gKyAqLwo+ICsKPiArI2RlZmluZSBEUk1fSU9DVExfREVGX0RS Vihpb2N0bCwgX2Z1bmMsIF9mbGFncykJCQkJXAo+ICsJW0RSTV9JT0NUTF9OUihEUk1fSU9DVExf IyNpb2N0bCkgLSBEUk1fQ09NTUFORF9CQVNFXSA9IHsJXAo+ICsJCS5jbWQgPSBEUk1fSU9DVExf IyNpb2N0bCwJCQkJXAo+ICsJCS5mdW5jID0gX2Z1bmMsCQkJCQkJXAo+ICsJCS5mbGFncyA9IF9m bGFncywJCQkJCVwKPiArCQkubmFtZSA9ICNpb2N0bAkJCQkJCVwKPiArCSB9CiAgICAgICAgXgoK U3B1cmlvdXMgc3BhY2UKCk90aGVyd2lzZSBsb29rcyBzYW5lIHNvClJldmlld2VkLWJ5OiBWaWxs ZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgoKPiArCj4gK2ludCBk cm1faW9jdGxfcGVybWl0KHUzMiBmbGFncywgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOwo+ ICtsb25nIGRybV9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlscCwgdW5zaWduZWQgaW50IGNtZCwgdW5z aWduZWQgbG9uZyBhcmcpOwo+ICsjaWZkZWYgQ09ORklHX0NPTVBBVAo+ICtsb25nIGRybV9jb21w YXRfaW9jdGwoc3RydWN0IGZpbGUgKmZpbHAsIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxv bmcgYXJnKTsKPiArI2Vsc2UKPiArLyogTGV0IGRybV9jb21wYXRfaW9jdGwgYmUgYXNzaWduZWQg dG8gLmNvbXBhdF9pb2N0bCB1bmNvbmRpdGlvbmFsbHkgKi8KPiArI2RlZmluZSBkcm1fY29tcGF0 X2lvY3RsIE5VTEwKPiArI2VuZGlmCj4gK2Jvb2wgZHJtX2lvY3RsX2ZsYWdzKHVuc2lnbmVkIGlu dCBuciwgdW5zaWduZWQgaW50ICpmbGFncyk7Cj4gKwo+ICtpbnQgZHJtX25vb3Aoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiArCSAgICAgc3RydWN0IGRybV9maWxlICpmaWxl X3ByaXYpOwo+ICtpbnQgZHJtX2ludmFsaWRfb3Aoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9p ZCAqZGF0YSwKPiArCQkgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7Cj4gKwo+ICsjZW5k aWYgLyogX0RSTV9JT0NUTF9IXyAqLwo+IC0tIAo+IDIuMTEuMAo+IAo+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gClZpbGxlIFN5cmrDpGzD pApJbnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cg==