From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from dedi548.your-server.de ([85.10.215.148]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jvFnS-0000ps-Ek for barebox@lists.infradead.org; Tue, 14 Jul 2020 07:56:15 +0000 References: <20200714071748.28459-1-christian.mauderer@embedded-brains.de> From: Christian Mauderer Message-ID: <64a9b074-bd8b-67ef-a7eb-2de72c500bed@embedded-brains.de> Date: Tue, 14 Jul 2020 09:56:10 +0200 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "barebox" Errors-To: barebox-bounces+u.kleine-koenig=pengutronix.de@lists.infradead.org Subject: Re: [PATCH v2] FIT: Parse `load` and `entry` addresses. To: Ahmad Fatoum , barebox@lists.infradead.org SGVsbG8gQWhtYWQsCgpPbiAxNC8wNy8yMDIwIDA5OjUwLCBBaG1hZCBGYXRvdW0gd3JvdGU6Cj4g SGVsbG8gQ2hyaXN0aWFuLAo+IAo+IE9uIDcvMTQvMjAgOToxNyBBTSwgQ2hyaXN0aWFuIE1hdWRl cmVyIHdyb3RlOgo+PiBBY2NvcmRpbmcgdG8gdGhlIFUtQm9vdCBkb2N1bWVudGF0aW9uIGZvciB0 aGUgRklUIGZpbGUgZm9ybWF0LCB0aGUgbG9hZAo+PiBhbmQgZW50cnkgaGF2ZSB0byBiZSBhbGx3 YXlzIGRlZmluZWQgZm9yIGEgImtlcm5lbCIgb3IgInN0YW5kYWxvbmUiLgo+PiBCdXQgQmFyZWJv eCBpZ25vcmVkIHRoZSBwYXJhbWV0ZXJzLiBUaGF0IGNoYW5nZXMgd2l0aCB0aGlzIHBhdGNoLgo+ Pgo+PiBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB0aGUgZGVmYXVsdCBhZGRyZXNzIGlzIHN0 aWxsIHVzZWQgZm9yIGltYWdlcwo+PiB3aXRob3V0IGBsb2FkYCBvciBgZW50cnlgLgo+Pgo+PiBT aWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gTWF1ZGVyZXIgPGNocmlzdGlhbi5tYXVkZXJlckBlbWJl ZGRlZC1icmFpbnMuZGU+Cj4+IC0tLQo+PiAgYXJjaC9hcm0vbWFjaC1sYXllcnNjYXBlL3BwYS5j IHwgIDMgKy0KPj4gIGNvbW1vbi9ib290bS5jICAgICAgICAgICAgICAgICB8ICA3ICsrKy0tCj4+ ICBjb21tb24vaW1hZ2UtZml0LmMgICAgICAgICAgICAgfCA1NyArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tCj4+ICBpbmNsdWRlL2ltYWdlLWZpdC5oICAgICAgICAgICAgfCAgMyAr LQo+PiAgNCBmaWxlcyBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQo+ Pgo+PiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1sYXllcnNjYXBlL3BwYS5jIGIvYXJjaC9h cm0vbWFjaC1sYXllcnNjYXBlL3BwYS5jCj4+IGluZGV4IDQ3N2U4OTQ3OC4uM2ViN2FiNjQxIDEw MDY0NAo+PiAtLS0gYS9hcmNoL2FybS9tYWNoLWxheWVyc2NhcGUvcHBhLmMKPj4gKysrIGIvYXJj aC9hcm0vbWFjaC1sYXllcnNjYXBlL3BwYS5jCj4+IEBAIC04Miw3ICs4Miw4IEBAIHN0YXRpYyBp bnQgcHBhX2luaXQodm9pZCAqcHBhLCBzaXplX3QgcHBhX3NpemUsIHZvaWQgKnNlY19maXJtd2Fy ZV9hZGRyKQo+PiAgCX0KPj4gIAo+PiAgCj4+IC0JcmV0ID0gZml0X29wZW5faW1hZ2UoZml0LCBj b25mLCAiZmlybXdhcmUiLCAmYnVmLCAmZmlybXdhcmVfc2l6ZSk7Cj4+ICsJcmV0ID0gZml0X29w ZW5faW1hZ2UoZml0LCBjb25mLCAiZmlybXdhcmUiLCAmYnVmLCAmZmlybXdhcmVfc2l6ZSwKPj4g KwkJCSAgICAgTlVMTCwgTlVMTCk7Cj4+ICAJaWYgKHJldCkgewo+PiAgCQlwcl9lcnIoIkNhbm5v dCBvcGVuIGZpcm13YXJlIGltYWdlIGluIHBwYSBGSVQgaW1hZ2U6ICVzXG4iLAo+PiAgCQkgICAg ICAgc3RyZXJyb3IoLXJldCkpOwo+PiBkaWZmIC0tZ2l0IGEvY29tbW9uL2Jvb3RtLmMgYi9jb21t b24vYm9vdG0uYwo+PiBpbmRleCAzNjZmMzE0NTUuLjk0NjAwY2FlMyAxMDA2NDQKPj4gLS0tIGEv Y29tbW9uL2Jvb3RtLmMKPj4gKysrIGIvY29tbW9uL2Jvb3RtLmMKPj4gQEAgLTIyMiw3ICsyMjIs NyBAQCBpbnQgYm9vdG1fbG9hZF9pbml0cmQoc3RydWN0IGltYWdlX2RhdGEgKmRhdGEsIHVuc2ln bmVkIGxvbmcgbG9hZF9hZGRyZXNzKQo+PiAgCQl1bnNpZ25lZCBsb25nIGluaXRyZF9zaXplOwo+ PiAgCj4+ICAJCXJldCA9IGZpdF9vcGVuX2ltYWdlKGRhdGEtPm9zX2ZpdCwgZGF0YS0+Zml0X2Nv bmZpZywgInJhbWRpc2siLAo+PiAtCQkJCSAgICAgJmluaXRyZCwgJmluaXRyZF9zaXplKTsKPj4g KwkJCQkgICAgICZpbml0cmQsICZpbml0cmRfc2l6ZSwgTlVMTCwgTlVMTCk7Cj4+ICAKPj4gIAkJ ZGF0YS0+aW5pdHJkX3JlcyA9IHJlcXVlc3Rfc2RyYW1fcmVnaW9uKCJpbml0cmQiLAo+PiAgCQkJ CWxvYWRfYWRkcmVzcywKPj4gQEAgLTM0OCw3ICszNDgsNyBAQCB2b2lkICpib290bV9nZXRfZGV2 aWNldHJlZShzdHJ1Y3QgaW1hZ2VfZGF0YSAqZGF0YSkKPj4gIAkJdW5zaWduZWQgbG9uZyBvZl9z aXplOwo+PiAgCj4+ICAJCXJldCA9IGZpdF9vcGVuX2ltYWdlKGRhdGEtPm9zX2ZpdCwgZGF0YS0+ Zml0X2NvbmZpZywgImZkdCIsCj4+IC0JCQkJICAgICAmb2ZfdHJlZSwgJm9mX3NpemUpOwo+PiAr CQkJCSAgICAgJm9mX3RyZWUsICZvZl9zaXplLCBOVUxMLCBOVUxMKTsKPj4gIAkJaWYgKHJldCkK Pj4gIAkJCXJldHVybiBFUlJfUFRSKHJldCk7Cj4+ICAKPj4gQEAgLTYyMiw3ICs2MjIsOCBAQCBp bnQgYm9vdG1fYm9vdChzdHJ1Y3QgYm9vdG1fZGF0YSAqYm9vdG1fZGF0YSkKPj4gIAkJfQo+PiAg Cj4+ICAJCXJldCA9IGZpdF9vcGVuX2ltYWdlKGRhdGEtPm9zX2ZpdCwgZGF0YS0+Zml0X2NvbmZp ZywgImtlcm5lbCIsCj4+IC0JCQkJICAgICAmZGF0YS0+Zml0X2tlcm5lbCwgJmRhdGEtPmZpdF9r ZXJuZWxfc2l6ZSk7Cj4+ICsJCQkJICAgICAmZGF0YS0+Zml0X2tlcm5lbCwgJmRhdGEtPmZpdF9r ZXJuZWxfc2l6ZSwKPj4gKwkJCQkgICAgICZkYXRhLT5vc19hZGRyZXNzLCAmZGF0YS0+b3NfZW50 cnkpOwo+PiAgCQlpZiAocmV0KQo+PiAgCQkJZ290byBlcnJfb3V0Owo+PiAgCX0KPj4gZGlmZiAt LWdpdCBhL2NvbW1vbi9pbWFnZS1maXQuYyBiL2NvbW1vbi9pbWFnZS1maXQuYwo+PiBpbmRleCAy NjgxZDYyYTkuLjMxMDAxMzEyMSAxMDA2NDQKPj4gLS0tIGEvY29tbW9uL2ltYWdlLWZpdC5jCj4+ ICsrKyBiL2NvbW1vbi9pbWFnZS1maXQuYwo+PiBAQCAtNTE3LDEyICs1MTcsMzAgQEAgaW50IGZp dF9oYXNfaW1hZ2Uoc3RydWN0IGZpdF9oYW5kbGUgKmhhbmRsZSwgdm9pZCAqY29uZmlndXJhdGlv biwKPj4gIAlyZXR1cm4gMTsKPj4gIH0KPj4gIAo+PiArc3RhdGljIGludCBmaXRfZ2V0X2FkZHJl c3Moc3RydWN0IGRldmljZV9ub2RlICppbWFnZSwgY29uc3QgY2hhciAqcHJvcGVydHksCj4+ICsJ CQkgICB1bnNpZ25lZCBsb25nICphZGRyKQo+PiArewo+PiArCWNvbnN0IF9fYmUzMiAqY2VsbDsK Pj4gKwlpbnQgbGVuID0gMDsKPj4gKwo+PiArCWNlbGwgPSBvZl9nZXRfcHJvcGVydHkoaW1hZ2Us IHByb3BlcnR5LCAmbGVuKTsKPj4gKwlpZiAoIWNlbGwpCj4+ICsJCXJldHVybiAtRUlOVkFMOwo+ PiArCWlmIChsZW4gPiBzaXplb2YoKmFkZHIpKQo+PiArCQlyZXR1cm4gLUVOT1RTVVBQOwo+PiAr CQo+PiArCSphZGRyID0gKHVuc2lnbmVkIGxvbmcpb2ZfcmVhZF9udW1iZXIoY2VsbCwgbGVuIC8g c2l6ZW9mKCpjZWxsKSk7Cj4+ICsJcmV0dXJuIDA7Cj4+ICt9Cj4+ICsKPj4gIC8qKgo+PiAgICog Zml0X29wZW5faW1hZ2UgLSBPcGVuIGFuIGltYWdlIGluIGEgRklUIGltYWdlCj4+ICAgKiBAaGFu ZGxlOiBUaGUgRklUIGltYWdlIGhhbmRsZQo+PiAgICogQG5hbWU6IFRoZSBuYW1lIG9mIHRoZSBp bWFnZSB0byBvcGVuCj4+ICAgKiBAb3V0ZGF0YTogVGhlIHJldHVybmVkIGltYWdlCj4+ICAgKiBA b3V0c2l6ZTogU2l6ZSBvZiB0aGUgcmV0dXJuZWQgaW1hZ2UKPj4gKyAqIEBsb2FkOiBUaGUgbG9h ZCBhZGRyZXNzIGdpdmVuIGJ5IHRoZSBpbWFnZQo+PiArICogQGVudHJ5OiBUaGUgZW50cnkgYWRk cmVzcyBnaXZlbiBieSB0aGUgaW1hZ2UKPj4gICAqCj4+ICAgKiBPcGVuIGFuIGltYWdlIGluIGEg RklUIGltYWdlLiBUaGUgcmV0dXJuZWQgaW1hZ2UgaXMgZnJlZWQgZHVyaW5nIGZpdF9jbG9zZSgp Lgo+PiAgICogQGNvbmZpZ3VyYXRpb24gaG9sZHMgdGhlIGNvb2tpZSByZXR1cm5lZCBmcm9tIGZp dF9vcGVuX2NvbmZpZ3VyYXRpb24oKSBpZgo+PiBAQCAtNTMyLDE0ICs1NTAsMjEgQEAgaW50IGZp dF9oYXNfaW1hZ2Uoc3RydWN0IGZpdF9oYW5kbGUgKmhhbmRsZSwgdm9pZCAqY29uZmlndXJhdGlv biwKPj4gICAqIHRoZW4gb25seSB0aGUgaGFzaCBpcyBjaGVja2VkIChiZWNhdXNlIG9wZW5pbmcg dGhlIGNvbmZpZ3VyYXRpb24gYWxyZWFkeQo+PiAgICogY2hlY2tzIHRoZSBSU0Egc2lnbmF0dXJl IG9mIGFsbCBpbnZvbHZlZCBub2RlcykuCj4+ICAgKgo+PiArICogVGhlIGxvYWQgYWRkcmVzcyBh bmQgZW50cnkgcG9pbnQgb2YgdGhlIGltYWdlIGRlc2NyaXB0aW9uIGluIHRoZSBGSVQgd2lsbCBi ZQo+PiArICogcGFyc2VkIGlmIHRoZXkgZXhpc3QgYW5kIGlmIHRoZSBAbG9hZCBhbmQgQGVudHJ5 IHBhcmFtZXRlcnMgYXJlIG5vdCBOVUxMLgo+PiArICogT3RoZXJ3aXNlIEBsb2FkIGFuZCBAZW50 cnkgd29uJ3QgYmUgY2hhbmdlZC4KPj4gKyAqCj4+ICAgKiBSZXR1cm46IDAgZm9yIHN1Y2Nlc3Ms IG5lZ2F0aXZlIGVycm9yIGNvZGUgb3RoZXJ3aXNlCj4+ICAgKi8KPj4gIGludCBmaXRfb3Blbl9p bWFnZShzdHJ1Y3QgZml0X2hhbmRsZSAqaGFuZGxlLCB2b2lkICpjb25maWd1cmF0aW9uLAo+PiAg CQkgICBjb25zdCBjaGFyICpuYW1lLCBjb25zdCB2b2lkICoqb3V0ZGF0YSwKPj4gLQkJICAgdW5z aWduZWQgbG9uZyAqb3V0c2l6ZSkKPj4gKwkJICAgdW5zaWduZWQgbG9uZyAqb3V0c2l6ZSwgdW5z aWduZWQgbG9uZyAqbG9hZCwKPj4gKwkJICAgdW5zaWduZWQgbG9uZyAqZW50cnkpCj4+ICB7Cj4+ ICAJc3RydWN0IGRldmljZV9ub2RlICppbWFnZTsKPj4gIAljb25zdCBjaGFyICp1bml0LCAqdHlw ZSA9IE5VTEwsICpkZXNjPSAiKG5vIGRlc2NyaXB0aW9uKSI7Cj4+ICsJY2hhciBsb2FkX3N0cltz aXplb2YoIjsgbG9hZDogMHgxMjM0NTY3OCIpXSA9ICIiOwo+IAo+IE5vdCBiaWcgZW5vdWdoIGZv ciBzaXplb2YodW5zaWduZWQgbG9uZykgPT0gOAoKWWVzLCBzb3JyeS4gSSB3YXMgdG9vIGZvY3Vz ZWQgb24gbXkgMzIgYml0IHRhcmdldC4KCj4gCj4+ICsJY2hhciBlbnRyeV9zdHJbc2l6ZW9mKCI7 IGVudHJ5IChyZWxhdGl2ZSB0byBsb2FkKTogMHgxMjM0NTY3OCIpXSA9ICIiOwo+IAo+IFNhbWUK PiAKPj4gIAljb25zdCB2b2lkICpkYXRhOwo+PiAgCWludCBkYXRhX2xlbjsKPj4gIAlpbnQgcmV0 ID0gMDsKPj4gQEAgLTU1OSw3ICs1ODQsMzUgQEAgaW50IGZpdF9vcGVuX2ltYWdlKHN0cnVjdCBm aXRfaGFuZGxlICpoYW5kbGUsIHZvaWQgKmNvbmZpZ3VyYXRpb24sCj4+ICAJCXJldHVybiAtRU5P RU5UOwo+PiAgCj4+ICAJb2ZfcHJvcGVydHlfcmVhZF9zdHJpbmcoaW1hZ2UsICJkZXNjcmlwdGlv biIsICZkZXNjKTsKPj4gLQlwcl9pbmZvKCJpbWFnZSAnJXMnOiAnJXMnXG4iLCB1bml0LCBkZXNj KTsKPiAKPiAKPj4gKwo+PiArCWlmIChsb2FkKSB7Cj4+ICsJCXJldCA9IGZpdF9nZXRfYWRkcmVz cyhpbWFnZSwgImxvYWQiLCBsb2FkKTsKPj4gKwkJaWYgKHJldCA8IDApIHsKPj4gKwkJCXByX2lu Zm8oIkNvdWxkbid0IGdldCBsb2FkIGFkZHJlc3MgaW4gJXMuIFVzZSBkZWZhdWx0LlxuIiwgaW1h Z2UtPmZ1bGxfbmFtZSk7Cj4+ICsJCQlyZXQgPSAwOwo+IAo+IFlvdSBkb24ndCBoYXZlIHRvIHJl c2V0IHJldCBpbiBiZXR3ZWVuLiBJJ2QganVzdCBza2lwIHRoaXMuCj4gCgpZb3UgYXJlIHJpZ2h0 LiBJIG1pc3NlZCB0aGF0IHJldCBpcyBzZXQgaW4gYW55IGNhc2UgbGF0ZXIuIEkgc29tZWhvdwp0 aG91Z2h0IGl0IGNhbiBiZSByZXR1cm5lZCBkaXJlY3RseSBpbiBzb21lIGNhc2UuIElmIHRoYXQg d291bGQgaGF2ZQpiZWVuIHRoZSBjYXNlIG5vdCByZXNldHRpbmcgd291bGQgaGF2ZSBicm9rZW4g Y29tcGF0aWJpbGl0eSB3aXRoIEZJVAppbWFnZXMgd2l0aG91dCBsb2FkIGFuZCBlbnRyeS4KCj4+ ICsJCX0KPj4gKwl9Cj4+ICsKPj4gKwlpZiAobG9hZCAmJiBlbnRyeSkgewo+PiArCQlyZXQgPSBm aXRfZ2V0X2FkZHJlc3MoaW1hZ2UsICJlbnRyeSIsIGVudHJ5KTsKPj4gKwkJaWYgKHJldCA8IDAp IHsKPj4gKwkJCXByX2luZm8oIkNvdWxkbid0IGdldCBlbnRyeSBwb2ludCBpbiAlcy4gVXNlIGRl ZmF1bHQuXG4iLCBpbWFnZS0+ZnVsbF9uYW1lKTsKPj4gKwkJCXJldCA9IDA7Cj4+ICsJCX0gZWxz ZSB7Cj4+ICsJCQkvKiBCYXJlYm94IHVzZXMgYW4gZW50cnkgcmVsYXRpdmUgdG8gbG9hZCBidXQg dGhlIEZJVAo+PiArCQkJICogaW1hZ2VzIGFzc3VtZSBhbiBhYnNvbHV0ZSBlbnRyeS4gKi8KPj4g KwkJCSplbnRyeSAtPSAqbG9hZDsKPj4gKwkJfQo+PiArCX0KPj4gKwo+PiArCWlmIChsb2FkKSB7 Cj4+ICsJCXNucHJpbnRmKGxvYWRfc3RyLCBzaXplb2YobG9hZF9zdHIpLCAiOyBsb2FkOiAweCUw OGx4IiwgKmxvYWQpOwo+PiArCX0KPiAKPiBObyB7IH0gZm9yIHNpbmdsZSBleHByZXNzaW9uIGJs b2Nrcy4KClNvcnJ5LiBVc2VkIHRvIGFub3RoZXIgY29kaW5nIHN0eWxlLgoKPiAKPj4gKwlpZiAo bG9hZCkgewo+PiArCQlzbnByaW50ZihlbnRyeV9zdHIsIHNpemVvZihlbnRyeV9zdHIpLAo+PiAr CQkJICI7IGVudHJ5IChyZWxhdGl2ZSB0byBsb2FkKTogMHglMDhseCIsICplbnRyeSk7Cj4+ICsJ fQo+IAo+IFRoaXMgc2hvdWxkIGJlIGd1YXJkZWQgYnkgaWYgKGVudHJ5KSwgYnV0IEknZCBwcmVm ZXIgeW91IGRyb3AgdGhpcy4gU2VlIGJlbG93Cj4gCj4+ICsJcHJfaW5mbygiaW1hZ2UgJyVzJzog JyVzJyVzJXNcbiIsIHVuaXQsIGRlc2MsIGxvYWRfc3RyLCBlbnRyeV9zdHIpOwo+IAo+IENvdWxk IHlvdSB1c2UgcHJfaW5mbyB3aXRob3V0IGEgdHJhaWxpbmcgXG4gYW5kIHRoZW4gdXNlIHByX2Nv bnQgdG8gY29tcGxldGUKPiB0aGUgbGluZT8KCkkgbWlzc2VkIHRoZSBwcl9jb250LiBNeSBmaXJz dCB0cnkgaGFzIGJlZW4gbXVsdGlwbGUgcHJfaW5mbyB3aGljaCBkaWQKYWRkIGEgbG90IG9mICJG SVQ6ICIgaW50byB0aGUgcHJpbnRzLiBJJ2xsIGNoYW5nZSBpdC4KCj4gCj4+ICAKPj4gIAlvZl9w cm9wZXJ0eV9yZWFkX3N0cmluZyhpbWFnZSwgInR5cGUiLCAmdHlwZSk7Cj4+ICAJaWYgKCF0eXBl KSB7Cj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2ltYWdlLWZpdC5oIGIvaW5jbHVkZS9pbWFnZS1m aXQuaAo+PiBpbmRleCAyN2M5ZTgzNTEuLjAzODczMmQwZCAxMDA2NDQKPj4gLS0tIGEvaW5jbHVk ZS9pbWFnZS1maXQuaAo+PiArKysgYi9pbmNsdWRlL2ltYWdlLWZpdC5oCj4+IEBAIC0zMSw3ICsz MSw4IEBAIGludCBmaXRfaGFzX2ltYWdlKHN0cnVjdCBmaXRfaGFuZGxlICpoYW5kbGUsIHZvaWQg KmNvbmZpZ3VyYXRpb24sCj4+ICAJCSAgY29uc3QgY2hhciAqbmFtZSk7Cj4+ICBpbnQgZml0X29w ZW5faW1hZ2Uoc3RydWN0IGZpdF9oYW5kbGUgKmhhbmRsZSwgdm9pZCAqY29uZmlndXJhdGlvbiwK Pj4gIAkJICAgY29uc3QgY2hhciAqbmFtZSwgY29uc3Qgdm9pZCAqKm91dGRhdGEsCj4+IC0JCSAg IHVuc2lnbmVkIGxvbmcgKm91dHNpemUpOwo+PiArCQkgICB1bnNpZ25lZCBsb25nICpvdXRzaXpl LCB1bnNpZ25lZCBsb25nICpsb2FkLAo+PiArCQkgICB1bnNpZ25lZCBsb25nICplbnRyeSk7Cj4+ ICAKPj4gIHZvaWQgZml0X2Nsb3NlKHN0cnVjdCBmaXRfaGFuZGxlICpoYW5kbGUpOwo+PiAgCj4+ Cj4gCgotLSAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZW1i ZWRkZWQgYnJhaW5zIEdtYkgKSGVyciBDaHJpc3RpYW4gTWF1ZGVyZXIKRG9ybmllcnN0ci4gNApE LTgyMTc4IFB1Y2hoZWltCkdlcm1hbnkKZW1haWw6IGNocmlzdGlhbi5tYXVkZXJlckBlbWJlZGRl ZC1icmFpbnMuZGUKUGhvbmU6ICs0OS04OS0xOCA5NCA3NDEgLSAxOApGYXg6ICAgKzQ5LTg5LTE4 IDk0IDc0MSAtIDA4ClBHUDogUHVibGljIGtleSBhdmFpbGFibGUgb24gcmVxdWVzdC4KCkRpZXNl IE5hY2hyaWNodCBpc3Qga2VpbmUgZ2VzY2jDpGZ0bGljaGUgTWl0dGVpbHVuZyBpbSBTaW5uZSBk ZXMgRUhVRy4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmJhcmVib3ggbWFpbGluZyBsaXN0CmJhcmVib3hAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8v bGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2JhcmVib3gK