From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [PATCH 14/27] drm/i915: Expose engine properties via sysfs Date: Fri, 27 Sep 2019 13:48:02 -0700 Message-ID: <20190927204802.GC24000@intel.com> References: <20190925100137.17956-1-chris@chris-wilson.co.uk> <20190925100137.17956-15-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6CD956E0E8 for ; Fri, 27 Sep 2019 20:47:33 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190925100137.17956-15-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBTZXAgMjUsIDIwMTkgYXQgMTE6MDE6MjRBTSArMDEwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IFByZWxpbWluYXJ5IHN0dWIgdG8gYWRkIGVuZ2luZXMgdW5kZXJuZWF0aCAvc3lzL2Ns YXNzL2RybS9jYXJkTi8sIHNvCj4gdGhhdCB3ZSBjYW4gZXhwb3NlIHByb3BlcnRpZXMgb24gZWFj aCBlbmdpbmUgdG8gdGhlIHN5c2FkbWluLgo+IAo+IFRvIHN0YXJ0IHdpdGggd2UgaGF2ZSBiYXNp YyBhbmFsb2d1ZXMgb2YgdGhlIGk5MTVfcXVlcnkgaW9jdGwgc28gdGhhdCB3ZQo+IGNhbiBwcmV0 dHkgcHJpbnQgZW5naW5lIGRpc2NvdmVyeSBmcm9tIHRoZSBzaGVsbCwgYW5kIGZsZXNoIG91dCB0 aGUKPiBkaXJlY3Rvcnkgc3RydWN0dXJlLiBMYXRlciB3ZSB3aWxsIGFkZCB3cml0ZWFibGUgc3lz YWRtaW4gcHJvcGVydGllcyBzdWNoCj4gYXMgcGVyLWVuZ2luZSB0aW1lb3V0IGNvbnRyb2xzLgo+ IAo+IEFuIGV4YW1wbGUgdHJlZSBvZiB0aGUgZW5naW5lIHByb3BlcnRpZXMgb24gQnJhc3dlbGw6 Cj4gICAgIC9zeXMvY2xhc3MvZHJtL2NhcmQwCj4gICAgIOKUlOKUgOKUgCBlbmdpbmUKPiAgICAg IMKgwqAg4pSc4pSA4pSAIGJjczAKPiAgICAgIMKgwqAg4pSCwqDCoCDilJzilIDilIAgY2xhc3MK PiAgICAgIMKgwqAg4pSCwqDCoCDilJzilIDilIAgaGVhcnRiZWF0X2ludGVydmFsX21zCj4gICAg ICDCoMKgIOKUgsKgwqAg4pSc4pSA4pSAIGluc3RhbmNlCj4gICAgICDCoMKgIOKUgsKgwqAg4pSc 4pSA4pSAIG1taW9fYmFzZQo+ICAgICAgwqDCoCDilILCoMKgIOKUlOKUgOKUgCBuYW1lCj4gICAg ICDCoMKgIOKUnOKUgOKUgCByY3MwCj4gICAgICDCoMKgIOKUgsKgwqAg4pSc4pSA4pSAIGNsYXNz Cj4gICAgICDCoMKgIOKUgsKgwqAg4pSc4pSA4pSAIGhlYXJ0YmVhdF9pbnRlcnZhbF9tcwo+ICAg ICAgwqDCoCDilILCoMKgIOKUnOKUgOKUgCBpbnN0YW5jZQo+ICAgICAgwqDCoCDilILCoMKgIOKU nOKUgOKUgCBtbWlvX2Jhc2UKPiAgICAgIMKgwqAg4pSCwqDCoCDilJTilIDilIAgbmFtZQo+ICAg ICAgwqDCoCDilJzilIDilIAgdmNzMAo+ICAgICAgwqDCoCDilILCoMKgIOKUnOKUgOKUgCBjbGFz cwo+ICAgICAgwqDCoCDilILCoMKgIOKUnOKUgOKUgCBoZWFydGJlYXRfaW50ZXJ2YWxfbXMKPiAg ICAgIMKgwqAg4pSCwqDCoCDilJzilIDilIAgaW5zdGFuY2UKPiAgICAgIMKgwqAg4pSCwqDCoCDi lJzilIDilIAgbW1pb19iYXNlCj4gICAgICDCoMKgIOKUgsKgwqAg4pSU4pSA4pSAIG5hbWUKPiAg ICAgIMKgwqAg4pSU4pSA4pSAIHZlY3MwCj4gICAgICDCoMKgICAgICDilJzilIDilIAgY2xhc3MK PiAgICAgIMKgwqAgICAgIOKUnOKUgOKUgCBoZWFydGJlYXRfaW50ZXJ2YWxfbXMKPiAgICAgIMKg wqAgICAgIOKUnOKUgOKUgCBpbnN0YW5jZQo+ICAgICAgwqDCoCAgICAg4pSc4pSA4pSAIG1taW9f YmFzZQo+ICAgICAgwqDCoCAgICAg4pSU4pSA4pSAIG5hbWUKPiAKCgpBY2tlZC1ieTogUm9kcmln byBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgoKCgo+IFNpZ25lZC1vZmYtYnk6IENocmlz IFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IENjOiBKb29uYXMgTGFodGluZW4g PGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6IFR2cnRrbyBVcnN1bGluIDx0 dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Cj4gQ2M6IERhbmllbGUgQ2VyYW9sbyBTcHVyaW8gPGRh bmllbGUuY2VyYW9sb3NwdXJpb0BpbnRlbC5jb20+Cj4gQ2M6IFJvZHJpZ28gVml2aSA8cm9kcmln by52aXZpQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUg ICAgICAgICAgICAgICAgfCAgIDMgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxf ZW5naW5lX3N5c2ZzLmMgfCAxMTkgKysrKysrKysrKysrKysrKysrKwo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfc3lzZnMuaCB8ICAxNCArKysKPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9zeXNmcy5jICAgICAgICAgICAgfCAgIDQgKwo+ICA0IGZpbGVzIGNoYW5n ZWQsIDEzOSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4gIGNyZWF0ZSBtb2RlIDEwMDY0 NCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfc3lzZnMuYwo+ICBjcmVhdGUg bW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3N5c2ZzLmgK PiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9NYWtlZmlsZQo+IGluZGV4IGNiYTE5NDcwZmViNS4uYmE5OGEyMDY3NDMz IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKPiBAQCAtNzYsOCArNzYsOSBAQCBndC15ICs9IFwK PiAgCWd0L2ludGVsX2JyZWFkY3J1bWJzLm8gXAo+ICAJZ3QvaW50ZWxfY29udGV4dC5vIFwKPiAg CWd0L2ludGVsX2VuZ2luZV9jcy5vIFwKPiAtCWd0L2ludGVsX2VuZ2luZV9wb29sLm8gXAo+ICAJ Z3QvaW50ZWxfZW5naW5lX3BtLm8gXAo+ICsJZ3QvaW50ZWxfZW5naW5lX3Bvb2wubyBcCj4gKwln dC9pbnRlbF9lbmdpbmVfc3lzZnMubyBcCj4gIAlndC9pbnRlbF9lbmdpbmVfdXNlci5vIFwKPiAg CWd0L2ludGVsX2d0Lm8gXAo+ICAJZ3QvaW50ZWxfZ3RfaXJxLm8gXAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfc3lzZnMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9zeXNmcy5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQK PiBpbmRleCAwMDAwMDAwMDAwMDAuLmNiZTllYzU5YmVlYgo+IC0tLSAvZGV2L251bGwKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfc3lzZnMuYwo+IEBAIC0wLDAg KzEsMTE5IEBACj4gKy8qCj4gKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQKPiArICoK PiArICogQ29weXJpZ2h0IMKpIDIwMTkgSW50ZWwgQ29ycG9yYXRpb24KPiArICovCj4gKwo+ICsj aW5jbHVkZSA8bGludXgva29iamVjdC5oPgo+ICsjaW5jbHVkZSA8bGludXgvc3lzZnMuaD4KPiAr Cj4gKyNpbmNsdWRlICJpOTE1X2Rydi5oIgo+ICsjaW5jbHVkZSAiaW50ZWxfZW5naW5lLmgiCj4g KyNpbmNsdWRlICJpbnRlbF9lbmdpbmVfc3lzZnMuaCIKPiArCj4gK3N0cnVjdCBrb2JqX2VuZ2lu ZSB7Cj4gKwlzdHJ1Y3Qga29iamVjdCBiYXNlOwo+ICsJc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lOwo+ICt9Owo+ICsKPiArc3RhdGljIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmtvYmpf dG9fZW5naW5lKHN0cnVjdCBrb2JqZWN0ICprb2JqKQo+ICt7Cj4gKwlyZXR1cm4gY29udGFpbmVy X29mKGtvYmosIHN0cnVjdCBrb2JqX2VuZ2luZSwgYmFzZSktPmVuZ2luZTsKPiArfQo+ICsKPiAr c3RhdGljIHNzaXplX3QKPiArbmFtZV9zaG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLCBzdHJ1Y3Qg a29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKPiArewo+ICsJcmV0dXJuIHNwcmludGYo YnVmLCAiJXNcbiIsIGtvYmpfdG9fZW5naW5lKGtvYmopLT5uYW1lKTsKPiArfQo+ICsKPiArc3Rh dGljIHNzaXplX3QKPiArY2xhc3Nfc2hvdyhzdHJ1Y3Qga29iamVjdCAqa29iaiwgc3RydWN0IGtv YmpfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCj4gK3sKPiArCXJldHVybiBzcHJpbnRmKGJ1 ZiwgIiVkXG4iLCBrb2JqX3RvX2VuZ2luZShrb2JqKS0+dWFiaV9jbGFzcyk7Cj4gK30KPiArCj4g K3N0YXRpYyBzc2l6ZV90Cj4gK2luc3Rfc2hvdyhzdHJ1Y3Qga29iamVjdCAqa29iaiwgc3RydWN0 IGtvYmpfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCj4gK3sKPiArCXJldHVybiBzcHJpbnRm KGJ1ZiwgIiVkXG4iLCBrb2JqX3RvX2VuZ2luZShrb2JqKS0+dWFiaV9pbnN0YW5jZSk7Cj4gK30K PiArCj4gK3N0YXRpYyBzc2l6ZV90Cj4gK21taW9fc2hvdyhzdHJ1Y3Qga29iamVjdCAqa29iaiwg c3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCj4gK3sKPiArCXJldHVybiBz cHJpbnRmKGJ1ZiwgIjB4JXhcbiIsIGtvYmpfdG9fZW5naW5lKGtvYmopLT5tbWlvX2Jhc2UpOwo+ ICt9Cj4gKwo+ICtzdGF0aWMgc3RydWN0IGtvYmpfYXR0cmlidXRlIG5hbWVfYXR0ciA9IF9fQVRU UihuYW1lLCAwNDQ0LCBuYW1lX3Nob3csIE5VTEwpOwo+ICtzdGF0aWMgc3RydWN0IGtvYmpfYXR0 cmlidXRlIGNsYXNzX2F0dHIgPSBfX0FUVFIoY2xhc3MsIDA0NDQsIGNsYXNzX3Nob3csIE5VTEwp Owo+ICtzdGF0aWMgc3RydWN0IGtvYmpfYXR0cmlidXRlIGluc3RfYXR0ciA9IF9fQVRUUihpbnN0 YW5jZSwgMDQ0NCwgaW5zdF9zaG93LCBOVUxMKTsKPiArc3RhdGljIHN0cnVjdCBrb2JqX2F0dHJp YnV0ZSBtbWlvX2F0dHIgPSBfX0FUVFIobW1pb19iYXNlLCAwNDQ0LCBtbWlvX3Nob3csIE5VTEwp Owo+ICsKPiArc3RhdGljIHZvaWQga29ial9lbmdpbmVfcmVsZWFzZShzdHJ1Y3Qga29iamVjdCAq a29iaikKPiArewo+ICsJa2ZyZWUoa29iaik7Cj4gK30KPiArCj4gK3N0YXRpYyBzdHJ1Y3Qga29i al90eXBlIGtvYmpfZW5naW5lX3R5cGUgPSB7Cj4gKwkucmVsZWFzZSA9IGtvYmpfZW5naW5lX3Jl bGVhc2UsCj4gKwkuc3lzZnNfb3BzID0gJmtvYmpfc3lzZnNfb3BzCj4gK307Cj4gKwo+ICtzdGF0 aWMgc3RydWN0IGtvYmplY3QgKgo+ICtrb2JqX2VuZ2luZShzdHJ1Y3Qga29iamVjdCAqZGlyLCBz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gK3sKPiArCXN0cnVjdCBrb2JqX2VuZ2lu ZSAqa2U7Cj4gKwo+ICsJa2UgPSBremFsbG9jKHNpemVvZigqa2UpLCBHRlBfS0VSTkVMKTsKPiAr CWlmICgha2UpCj4gKwkJcmV0dXJuIE5VTEw7Cj4gKwo+ICsJa29iamVjdF9pbml0KCZrZS0+YmFz ZSwgJmtvYmpfZW5naW5lX3R5cGUpOwo+ICsJa2UtPmVuZ2luZSA9IGVuZ2luZTsKPiArCj4gKwlp ZiAoa29iamVjdF9hZGQoJmtlLT5iYXNlLCBkaXIsICIlcyIsIGVuZ2luZS0+bmFtZSkpIHsKPiAr CQlrb2JqZWN0X3B1dCgma2UtPmJhc2UpOwo+ICsJCXJldHVybiBOVUxMOwo+ICsJfQo+ICsKPiAr CS8qIHhmZXIgb3duZXJzaGlwIHRvIHN5c2ZzIHRyZWUgKi8KPiArCXJldHVybiAma2UtPmJhc2U7 Cj4gK30KPiArCj4gK3ZvaWQgaW50ZWxfZW5naW5lc19hZGRfc3lzZnMoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmk5MTUpCj4gK3sKPiArCXN0YXRpYyBjb25zdCBzdHJ1Y3QgYXR0cmlidXRlICpm aWxlc1tdID0gewo+ICsJCSZuYW1lX2F0dHIuYXR0ciwKPiArCQkmY2xhc3NfYXR0ci5hdHRyLAo+ ICsJCSZpbnN0X2F0dHIuYXR0ciwKPiArCQkmbW1pb19hdHRyLmF0dHIsCj4gKwkJTlVMTAo+ICsJ fTsKPiArCj4gKwlzdHJ1Y3QgZGV2aWNlICprZGV2ID0gaTkxNS0+ZHJtLnByaW1hcnktPmtkZXY7 Cj4gKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7Cj4gKwlzdHJ1Y3Qga29iamVjdCAq ZGlyOwo+ICsKPiArCWRpciA9IGtvYmplY3RfY3JlYXRlX2FuZF9hZGQoImVuZ2luZSIsICZrZGV2 LT5rb2JqKTsKPiArCWlmICghZGlyKQo+ICsJCXJldHVybjsKPiArCj4gKwlmb3JfZWFjaF91YWJp X2VuZ2luZShlbmdpbmUsIGk5MTUpIHsKPiArCQlzdHJ1Y3Qga29iamVjdCAqa29iajsKPiArCj4g KwkJa29iaiA9IGtvYmpfZW5naW5lKGRpciwgZW5naW5lKTsKPiArCQlpZiAoIWtvYmopCj4gKwkJ CWdvdG8gZXJyX2VuZ2luZTsKPiArCj4gKwkJaWYgKHN5c2ZzX2NyZWF0ZV9maWxlcyhrb2JqLCBm aWxlcykpCj4gKwkJCWdvdG8gZXJyX2VuZ2luZTsKPiArCj4gKwkJaWYgKDApIHsKPiArZXJyX2Vu Z2luZToKPiArCQkJZGV2X2VycihrZGV2LCAiRmFpbGVkIHRvIGFkZCBzeXNmcyBlbmdpbmUgJyVz J1xuIiwKPiArCQkJCWVuZ2luZS0+bmFtZSk7Cj4gKwkJCWJyZWFrOwo+ICsJCX0KPiArCX0KPiAr fQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfc3lz ZnMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9zeXNmcy5oCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAuLmVmNDRhNzQ1YjcwYQo+IC0t LSAvZGV2L251bGwKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVf c3lzZnMuaAo+IEBAIC0wLDAgKzEsMTQgQEAKPiArLyoKPiArICogU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IE1JVAo+ICsgKgo+ICsgKiBDb3B5cmlnaHQgwqkgMjAxOSBJbnRlbCBDb3Jwb3JhdGlv bgo+ICsgKi8KPiArCj4gKyNpZm5kZWYgSU5URUxfRU5HSU5FX1NZU0ZTX0gKPiArI2RlZmluZSBJ TlRFTF9FTkdJTkVfU1lTRlNfSAo+ICsKPiArc3RydWN0IGRybV9pOTE1X3ByaXZhdGU7Cj4gKwo+ ICt2b2lkIGludGVsX2VuZ2luZXNfYWRkX3N5c2ZzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1KTsKPiArCj4gKyNlbmRpZiAvKiBJTlRFTF9FTkdJTkVfU1lTRlNfSCAqLwo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3N5c2ZzLmMKPiBpbmRleCBkOGEzYjE4MGMwODQuLjZiODhkOTM0OTI3YSAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMKPiBAQCAtMzAsNiArMzAsOCBAQAo+ICAjaW5j bHVkZSA8bGludXgvc3RhdC5oPgo+ICAjaW5jbHVkZSA8bGludXgvc3lzZnMuaD4KPiAgCj4gKyNp bmNsdWRlICJndC9pbnRlbF9lbmdpbmVfc3lzZnMuaCIKPiArCj4gICNpbmNsdWRlICJpOTE1X2Ry di5oIgo+ICAjaW5jbHVkZSAiaTkxNV9zeXNmcy5oIgo+ICAjaW5jbHVkZSAiaW50ZWxfcG0uaCIK PiBAQCAtNjE4LDYgKzYyMCw4IEBAIHZvaWQgaTkxNV9zZXR1cF9zeXNmcyhzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAkJRFJNX0VSUk9SKCJSUFMgc3lzZnMgc2V0dXAgZmFp bGVkXG4iKTsKPiAgCj4gIAlpOTE1X3NldHVwX2Vycm9yX2NhcHR1cmUoa2Rldik7Cj4gKwo+ICsJ aW50ZWxfZW5naW5lc19hZGRfc3lzZnMoZGV2X3ByaXYpOwo+ICB9Cj4gIAo+ICB2b2lkIGk5MTVf dGVhcmRvd25fc3lzZnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+IC0tIAo+ IDIuMjMuMAo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=