From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 900E96F293 for ; Fri, 23 Feb 2018 19:49:59 +0000 (UTC) Date: Fri, 23 Feb 2018 21:49:56 +0200 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Message-ID: <20180223194956.GR5453@intel.com> References: <20180214170736.30859-1-martin.peres@linux.intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20180214170736.30859-1-martin.peres@linux.intel.com> Subject: Re: [igt-dev] [PATCH i-g-t v2 1/2] lib/fb: introduce __igt_create_fb_with_bo_size() and __igt_create_fb() List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Martin Peres Cc: igt-dev@lists.freedesktop.org List-ID: T24gV2VkLCBGZWIgMTQsIDIwMTggYXQgMDc6MDc6MzVQTSArMDIwMCwgTWFydGluIFBlcmVzIHdy b3RlOgo+IFRoZXkgYXJlIHRoZSBzYW1lIGFzIHRoZWlyIG5vbi11bmRlcnNjb3JlZCBjb3VudGVy cGFydHMsIGV4Y2VwdCB0aGV5Cj4gd2lsbCByZXR1cm4gdGhlIGVycm9yIHJhdGhlciB0aGFuIGR5 aW5nIHdoZW4gYW4gZXJyb3Igb2NjdXJzLgo+IAo+IFNpZ25lZC1vZmYtYnk6IE1hcnRpbiBQZXJl cyA8bWFydGluLnBlcmVzQGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiAgbGliL2lndF9mYi5jIHwg MTAyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t LS0tLS0tCj4gIGxpYi9pZ3RfZmIuaCB8ICAgOCArKysrKwo+ICAyIGZpbGVzIGNoYW5nZWQsIDk0 IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9saWIvaWd0 X2ZiLmMgYi9saWIvaWd0X2ZiLmMKPiBpbmRleCBlY2Q3MzA1My4uYTk2ZmJhYmEgMTAwNjQ0Cj4g LS0tIGEvbGliL2lndF9mYi5jCj4gKysrIGIvbGliL2lndF9mYi5jCj4gQEAgLTc1MSw2ICs3NTEs NyBAQCB2b2lkIGlndF9wYWludF9pbWFnZShjYWlyb190ICpjciwgY29uc3QgY2hhciAqZmlsZW5h bWUsCj4gICAqIEBmYjogcG9pbnRlciB0byBhbiAjaWd0X2ZiIHN0cnVjdHVyZQo+ICAgKiBAYm9f c2l6ZTogc2l6ZSBvZiB0aGUgYmFja2luZyBibyAoMCBmb3IgYXV0b21hdGljIHNpemUpCj4gICAq IEBib19zdHJpZGU6IHN0cmlkZSBvZiB0aGUgYmFja2luZyBibyAoMCBmb3IgYXV0b21hdGljIHN0 cmlkZSkKPiArICogQGZiX2lkOiBpZiBub3QgTlVMTCwgcmV0dXJucyB0aGUga21zIGlkIG9mIHRo ZSBjcmVhdGVkIGZyYW1lYnVmZmVyCj4gICAqCj4gICAqIFRoaXMgZnVuY3Rpb24gYWxsb2NhdGVz IGEgZ2VtIGJ1ZmZlciBvYmplY3Qgc3VpdGFibGUgdG8gYmFjayBhIGZyYW1lYnVmZmVyCj4gICAq IHdpdGggdGhlIHJlcXVlc3RlZCBwcm9wZXJ0aWVzIGFuZCB0aGVuIHdyYXBzIGl0IHVwIGluIGEg ZHJtIGZyYW1lYnVmZmVyCj4gQEAgLTc1OSwxOCArNzYwLDE3IEBAIHZvaWQgaWd0X3BhaW50X2lt YWdlKGNhaXJvX3QgKmNyLCBjb25zdCBjaGFyICpmaWxlbmFtZSwKPiAgICogVGhlIGJhY2tpbmcg c3RvcmFnZSBvZiB0aGUgZnJhbWVidWZmZXIgaXMgZmlsbGVkIHdpdGggYWxsIHplcm9zLCBpLmUu IGJsYWNrCj4gICAqIGZvciByZ2IgcGl4ZWwgZm9ybWF0cy4KPiAgICoKPiAtICogUmV0dXJuczoK PiAtICogVGhlIGttcyBpZCBvZiB0aGUgY3JlYXRlZCBmcmFtZWJ1ZmZlci4KPiArICogUmV0dXJu czogMCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIHRoZSBlcnJvciBvdGhlcndpc2UuCj4gICAqLwo+IC11 bnNpZ25lZCBpbnQKPiAtaWd0X2NyZWF0ZV9mYl93aXRoX2JvX3NpemUoaW50IGZkLCBpbnQgd2lk dGgsIGludCBoZWlnaHQsCj4gLQkJCSAgIHVpbnQzMl90IGZvcm1hdCwgdWludDY0X3QgdGlsaW5n LAo+IC0JCQkgICBzdHJ1Y3QgaWd0X2ZiICpmYiwgdW5zaWduZWQgYm9fc2l6ZSwKPiAtCQkJICAg dW5zaWduZWQgYm9fc3RyaWRlKQo+ICtpbnQKPiArX19pZ3RfY3JlYXRlX2ZiX3dpdGhfYm9fc2l6 ZShpbnQgZmQsIGludCB3aWR0aCwgaW50IGhlaWdodCwKPiArCQkJICAgICB1aW50MzJfdCBmb3Jt YXQsIHVpbnQ2NF90IHRpbGluZywKPiArCQkJICAgICBzdHJ1Y3QgaWd0X2ZiICpmYiwgdW5zaWdu ZWQgYm9fc2l6ZSwKPiArCQkJICAgICB1bnNpZ25lZCBib19zdHJpZGUsIHVpbnQzMl90ICpmYl9p ZCAvKiBvdXQgKi8pCgpXZSdsbCBzdHVmZiB0aGUgZmJfaWQgaW50byBmYi0+ZmJfaWQsIHNvIEkg dGhpbmsgd2Ugc2hvdWxkbid0IG5lZWQgCnRoZSB0aGUgb3V0IHBhcmFtZXRlci4KCkFwYXJ0IGZy b20gdGhhdCB0aGluZ3MgbG9vayByZWFzb25hYmxlIHRvIG1lLgoKPiAgewo+ICAJc3RydWN0IGZv cm1hdF9kZXNjX3N0cnVjdCAqZiA9IGxvb2t1cF9kcm1fZm9ybWF0KGZvcm1hdCk7Cj4gLQl1aW50 MzJfdCBmYl9pZDsKPiAtCWludCBpOwo+ICsJdWludDMyX3QgX2ZiX2lkOwo+ICsJaW50IHJldCwg aTsKPiAgCj4gIAlpZ3RfYXNzZXJ0X2YoZiwgIkRSTSBmb3JtYXQgJTA4eCBub3QgZm91bmRcbiIs IGZvcm1hdCk7Cj4gIAo+IEBAIC03ODksOSArNzg5LDE0IEBAIGlndF9jcmVhdGVfZmJfd2l0aF9i b19zaXplKGludCBmZCwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LAo+ICAKPiAgCWlmICh0aWxpbmcg IT0gTE9DQUxfRFJNX0ZPUk1BVF9NT0RfTk9ORSAmJgo+ICAJICAgIHRpbGluZyAhPSBMT0NBTF9J OTE1X0ZPUk1BVF9NT0RfWF9USUxFRCkgewo+IC0JCWRvX29yX2RpZShfX2ttc19hZGRmYihmZCwg ZmItPmdlbV9oYW5kbGUsIHdpZHRoLCBoZWlnaHQsCj4gLQkJCQkgICAgICBmYi0+c3RyaWRlLCBm b3JtYXQsIHRpbGluZywgZmItPm9mZnNldHMsCj4gLQkJCQkgICAgICBMT0NBTF9EUk1fTU9ERV9G Ql9NT0RJRklFUlMsICZmYl9pZCkpOwo+ICsJCXJldCA9IF9fa21zX2FkZGZiKGZkLCBmYi0+Z2Vt X2hhbmRsZSwgd2lkdGgsIGhlaWdodCwKPiArCQkJCSAgZmItPnN0cmlkZSwgZm9ybWF0LCB0aWxp bmcsIGZiLT5vZmZzZXRzLAo+ICsJCQkJICBMT0NBTF9EUk1fTU9ERV9GQl9NT0RJRklFUlMsICZf ZmJfaWQpOwo+ICsJCWlmIChyZXQpIHsKPiArCQkJaWd0X2RlYnVnKCIlczogX19rbXNfYWRkZmIo KSBmYWlsZWQ6ICVkICglcylcbiIsCj4gKwkJCQkgIF9fZnVuY19fLCBlcnJubywgc3RyZXJyb3Io ZXJybm8pKTsKPiArCQkJcmV0dXJuIHJldDsKPiArCQl9Cj4gIAl9IGVsc2Ugewo+ICAJCXVpbnQz Ml90IGhhbmRsZXNbNF07Cj4gIAkJdWludDMyX3QgcGl0Y2hlc1s0XTsKPiBAQCAtODA2LDE2ICs4 MTEsMjEgQEAgaWd0X2NyZWF0ZV9mYl93aXRoX2JvX3NpemUoaW50IGZkLCBpbnQgd2lkdGgsIGlu dCBoZWlnaHQsCj4gIAkJCXBpdGNoZXNbaV0gPSBmYi0+c3RyaWRlOwo+ICAJCX0KPiAgCj4gLQkJ ZG9fb3JfZGllKGRybU1vZGVBZGRGQjIoZmQsIHdpZHRoLCBoZWlnaHQsIGZvcm1hdCwKPiAtCQkJ CQloYW5kbGVzLCBwaXRjaGVzLCBmYi0+b2Zmc2V0cywKPiAtCQkJCQkmZmJfaWQsIDApKTsKPiAr CQlyZXQgPSBkcm1Nb2RlQWRkRkIyKGZkLCB3aWR0aCwgaGVpZ2h0LCBmb3JtYXQsCj4gKwkJICAg ICAgICAgICAgICAgICAgICBoYW5kbGVzLCBwaXRjaGVzLCBmYi0+b2Zmc2V0cywKPiArCQkgICAg ICAgICAgICAgICAgICAgICZfZmJfaWQsIDApOwo+ICsJCWlmIChyZXQpIHsKPiArCQkJaWd0X2Rl YnVnKCIlczogZHJtTW9kZUFkZEZCMigpIGZhaWxlZDogJWQgKCVzKVxuIiwKPiArCQkJCSAgX19m dW5jX18sIGVycm5vLCBzdHJlcnJvcihlcnJubykpOwo+ICsJCQlyZXR1cm4gcmV0Owo+ICsJCX0K PiAgCX0KPiAgCj4gIAlmYi0+d2lkdGggPSB3aWR0aDsKPiAgCWZiLT5oZWlnaHQgPSBoZWlnaHQ7 Cj4gIAlmYi0+dGlsaW5nID0gdGlsaW5nOwo+ICAJZmItPmRybV9mb3JtYXQgPSBmb3JtYXQ7Cj4g LQlmYi0+ZmJfaWQgPSBmYl9pZDsKPiArCWZiLT5mYl9pZCA9IF9mYl9pZDsKPiAgCWZiLT5mZCA9 IGZkOwo+ICAJZmItPm51bV9wbGFuZXMgPSBmLT5wbGFuZXMgPzogMTsKPiAgCWZiLT5wbGFuZV9i cHBbMF0gPSBmLT5icHA7Cj4gQEAgLTgyOSw2ICs4MzksNDQgQEAgaWd0X2NyZWF0ZV9mYl93aXRo X2JvX3NpemUoaW50IGZkLCBpbnQgd2lkdGgsIGludCBoZWlnaHQsCj4gIAkJZmItPnBsYW5lX3dp ZHRoW2ldID0gcGxhbmFyX3dpZHRoKGYsIHdpZHRoLCBpKTsKPiAgCX0KPiAgCj4gKwlpZiAoZmJf aWQpCj4gKwkJKmZiX2lkID0gX2ZiX2lkOwo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICsv KioKPiArICogaWd0X2NyZWF0ZV9mYl93aXRoX2JvX3NpemU6Cj4gKyAqIEBmZDogb3BlbiBpOTE1 IGRybSBmaWxlIGRlc2NyaXB0b3IKPiArICogQHdpZHRoOiB3aWR0aCBvZiB0aGUgZnJhbWVidWZm ZXIgaW4gcGl4ZWwKPiArICogQGhlaWdodDogaGVpZ2h0IG9mIHRoZSBmcmFtZWJ1ZmZlciBpbiBw aXhlbAo+ICsgKiBAZm9ybWF0OiBkcm0gZm91cmNjIHBpeGVsIGZvcm1hdCBjb2RlCj4gKyAqIEB0 aWxpbmc6IHRpbGluZyBsYXlvdXQgb2YgdGhlIGZyYW1lYnVmZmVyIChhcyBmcmFtZWJ1ZmZlciBt b2RpZmllcikKPiArICogQGZiOiBwb2ludGVyIHRvIGFuICNpZ3RfZmIgc3RydWN0dXJlCj4gKyAq IEBib19zaXplOiBzaXplIG9mIHRoZSBiYWNraW5nIGJvICgwIGZvciBhdXRvbWF0aWMgc2l6ZSkK PiArICogQGJvX3N0cmlkZTogc3RyaWRlIG9mIHRoZSBiYWNraW5nIGJvICgwIGZvciBhdXRvbWF0 aWMgc3RyaWRlKQo+ICsgKgo+ICsgKiBUaGlzIGZ1bmN0aW9uIGFsbG9jYXRlcyBhIGdlbSBidWZm ZXIgb2JqZWN0IHN1aXRhYmxlIHRvIGJhY2sgYSBmcmFtZWJ1ZmZlcgo+ICsgKiB3aXRoIHRoZSBy ZXF1ZXN0ZWQgcHJvcGVydGllcyBhbmQgdGhlbiB3cmFwcyBpdCB1cCBpbiBhIGRybSBmcmFtZWJ1 ZmZlcgo+ICsgKiBvYmplY3Qgb2YgdGhlIHJlcXVlc3RlZCBzaXplLiBBbGwgbWV0YWRhdGEgaXMg c3RvcmVkIGluIEBmYi4KPiArICoKPiArICogVGhlIGJhY2tpbmcgc3RvcmFnZSBvZiB0aGUgZnJh bWVidWZmZXIgaXMgZmlsbGVkIHdpdGggYWxsIHplcm9zLCBpLmUuIGJsYWNrCj4gKyAqIGZvciBy Z2IgcGl4ZWwgZm9ybWF0cy4KPiArICoKPiArICogUmV0dXJuczoKPiArICogVGhlIGttcyBpZCBv ZiB0aGUgY3JlYXRlZCBmcmFtZWJ1ZmZlci4KPiArICovCj4gK3Vuc2lnbmVkIGludAo+ICtpZ3Rf Y3JlYXRlX2ZiX3dpdGhfYm9fc2l6ZShpbnQgZmQsIGludCB3aWR0aCwgaW50IGhlaWdodCwKPiAr CQkJICAgdWludDMyX3QgZm9ybWF0LCB1aW50NjRfdCB0aWxpbmcsCj4gKwkJCSAgIHN0cnVjdCBp Z3RfZmIgKmZiLCB1bnNpZ25lZCBib19zaXplLAo+ICsJCQkgICB1bnNpZ25lZCBib19zdHJpZGUp Cj4gK3sKPiArCXVpbnQzMl90IGZiX2lkOwo+ICsKPiArCWRvX29yX2RpZShfX2lndF9jcmVhdGVf ZmJfd2l0aF9ib19zaXplKGZkLCB3aWR0aCwgaGVpZ2h0LCBmb3JtYXQsCj4gKwkgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aWxpbmcsIGZiLCBib19zaXplLCBib19zdHJp ZGUsCj4gKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZmJfaWQpKTsK PiAgCXJldHVybiBmYl9pZDsKPiAgfQo+ICAKPiBAQCAtODU4LDYgKzkwNiwyOCBAQCB1bnNpZ25l ZCBpbnQgaWd0X2NyZWF0ZV9mYihpbnQgZmQsIGludCB3aWR0aCwgaW50IGhlaWdodCwgdWludDMy X3QgZm9ybWF0LAo+ICAJCQkJCSAgMCwgMCk7Cj4gIH0KPiAgCj4gKy8qKgo+ICsgKiBfX2lndF9j cmVhdGVfZmI6Cj4gKyAqIEBmZDogb3BlbiBpOTE1IGRybSBmaWxlIGRlc2NyaXB0b3IKPiArICog QHdpZHRoOiB3aWR0aCBvZiB0aGUgZnJhbWVidWZmZXIgaW4gcGl4ZWwKPiArICogQGhlaWdodDog aGVpZ2h0IG9mIHRoZSBmcmFtZWJ1ZmZlciBpbiBwaXhlbAo+ICsgKiBAZm9ybWF0OiBkcm0gZm91 cmNjIHBpeGVsIGZvcm1hdCBjb2RlCj4gKyAqIEB0aWxpbmc6IHRpbGluZyBsYXlvdXQgb2YgdGhl IGZyYW1lYnVmZmVyCj4gKyAqIEBmYjogcG9pbnRlciB0byBhbiAjaWd0X2ZiIHN0cnVjdHVyZQo+ ICsgKiBAZmJfaWQ6IGlmIG5vdCBOVUxMLCByZXR1cm5zIHRoZSBrbXMgaWQgb2YgdGhlIGNyZWF0 ZWQgZnJhbWVidWZmZXIKPiArICoKPiArICogU2FtZSBhcyBpZ3RfY3JlYXRlX2ZiLCBidXQgcmV0 dXJuIGFuIGVycm9yIGlmIGl0IGZhaWxlZCByYXRoZXIgdGhhbiBmYWlsaW5nLgo+ICsgKgo+ICsg KiBSZXR1cm5zOiAwIGluIGNhc2Ugb2Ygc3VjY2VzcywgdGhlIGVycm9yIG90aGVyd2lzZS4KPiAr ICovCj4gK2ludCBfX2lndF9jcmVhdGVfZmIoaW50IGZkLCBpbnQgd2lkdGgsIGludCBoZWlnaHQs IHVpbnQzMl90IGZvcm1hdCwKPiArCQkgICAgdWludDY0X3QgdGlsaW5nLCBzdHJ1Y3QgaWd0X2Zi ICpmYiwKPiArCQkgICAgdWludDMyX3QgKmZiX2lkIC8qIG91dCAqLykKPiArewo+ICsJcmV0dXJu IF9faWd0X2NyZWF0ZV9mYl93aXRoX2JvX3NpemUoZmQsIHdpZHRoLCBoZWlnaHQsIGZvcm1hdCwg dGlsaW5nLAo+ICsJCQkJCSAgICBmYiwgMCwgMCwgZmJfaWQpOwo+ICt9Cj4gKwo+ICAvKioKPiAg ICogaWd0X2NyZWF0ZV9jb2xvcl9mYjoKPiAgICogQGZkOiBvcGVuIGk5MTUgZHJtIGZpbGUgZGVz Y3JpcHRvcgo+IGRpZmYgLS1naXQgYS9saWIvaWd0X2ZiLmggYi9saWIvaWd0X2ZiLmgKPiBpbmRl eCAwMjNiMDY5ZC4uOGE4YmIzNGQgMTAwNjQ0Cj4gLS0tIGEvbGliL2lndF9mYi5oCj4gKysrIGIv bGliL2lndF9mYi5oCj4gQEAgLTEwMiwxMSArMTAyLDE5IEBAIHZvaWQgaWd0X2dldF9mYl90aWxl X3NpemUoaW50IGZkLCB1aW50NjRfdCB0aWxpbmcsIGludCBmYl9icHAsCj4gIAkJCSAgdW5zaWdu ZWQgKndpZHRoX3JldCwgdW5zaWduZWQgKmhlaWdodF9yZXQpOwo+ICB2b2lkIGlndF9jYWxjX2Zi X3NpemUoaW50IGZkLCBpbnQgd2lkdGgsIGludCBoZWlnaHQsIHVpbnQzMl90IGZvcm1hdCwgdWlu dDY0X3QgdGlsaW5nLAo+ICAJCSAgICAgIHVuc2lnbmVkICpzaXplX3JldCwgdW5zaWduZWQgKnN0 cmlkZV9yZXQpOwo+ICtpbnQKPiArX19pZ3RfY3JlYXRlX2ZiX3dpdGhfYm9fc2l6ZShpbnQgZmQs IGludCB3aWR0aCwgaW50IGhlaWdodCwKPiArCQkJICAgICB1aW50MzJfdCBmb3JtYXQsIHVpbnQ2 NF90IHRpbGluZywKPiArCQkJICAgICBzdHJ1Y3QgaWd0X2ZiICpmYiwgdW5zaWduZWQgYm9fc2l6 ZSwKPiArCQkJICAgICB1bnNpZ25lZCBib19zdHJpZGUsIHVpbnQzMl90ICpmYl9pZCAvKiBvdXQg Ki8pOwo+ICB1bnNpZ25lZCBpbnQKPiAgaWd0X2NyZWF0ZV9mYl93aXRoX2JvX3NpemUoaW50IGZk LCBpbnQgd2lkdGgsIGludCBoZWlnaHQsCj4gIAkJCSAgIHVpbnQzMl90IGZvcm1hdCwgdWludDY0 X3QgdGlsaW5nLAo+ICAJCQkgICBzdHJ1Y3QgaWd0X2ZiICpmYiwgdW5zaWduZWQgYm9fc2l6ZSwK PiAgCQkJICAgdW5zaWduZWQgYm9fc3RyaWRlKTsKPiAraW50IF9faWd0X2NyZWF0ZV9mYihpbnQg ZmQsIGludCB3aWR0aCwgaW50IGhlaWdodCwgdWludDMyX3QgZm9ybWF0LAo+ICsJCSAgICB1aW50 NjRfdCB0aWxpbmcsIHN0cnVjdCBpZ3RfZmIgKmZiLAo+ICsJCSAgICB1aW50MzJfdCAqZmJfaWQg Lyogb3V0ICovKTsKPiAgdW5zaWduZWQgaW50IGlndF9jcmVhdGVfZmIoaW50IGZkLCBpbnQgd2lk dGgsIGludCBoZWlnaHQsIHVpbnQzMl90IGZvcm1hdCwKPiAgCQkJICAgdWludDY0X3QgdGlsaW5n LCBzdHJ1Y3QgaWd0X2ZiICpmYik7Cj4gIHVuc2lnbmVkIGludCBpZ3RfY3JlYXRlX2NvbG9yX2Zi KGludCBmZCwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LAo+IC0tIAo+IDIuMTYuMQo+IAo+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gaWd0LWRldiBtYWls aW5nIGxpc3QKPiBpZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgoKLS0gClZpbGxlIFN5cmrD pGzDpApJbnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2Cg==