From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: [PATCH 01/10] drm: Move a few macros away from drm_crtc.h Date: Wed, 31 Aug 2016 18:09:04 +0200 Message-ID: <20160831160913.12991-2-daniel.vetter@ffwll.ch> References: <20160831160913.12991-1-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 013FE6E7A0 for ; Wed, 31 Aug 2016 16:09:22 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id w207so4089783wmw.0 for ; Wed, 31 Aug 2016 09:09:22 -0700 (PDT) In-Reply-To: <20160831160913.12991-1-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: DRI Development Cc: Daniel Vetter , Intel Graphics Development , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org Tm93IHRoYXQgdGhlcmUncyBsZXNzIHN0dWZmIGluIHRoZXJlIEkgbm90aWNlZCB0aGF0IEkgb3Zl cmxvb2tlZCB0aGVtLgpTcHJpbmtsZSBzb21lIGRvY3Mgb3ZlciB0aGVtIHdoaWxlIGF0IGl0LgoK U2lnbmVkLW9mZi1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+Ci0t LQogaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oICAgfCAyNCArKysrKysrKysrKysrKysrKysr KysrLS0KIGluY2x1ZGUvZHJtL2RybV9jcnRjLmggICAgICAgIHwgMzIgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KIGluY2x1ZGUvZHJtL2RybV9lbmNvZGVyLmggICAgIHwgMjIgKysr KysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmggfCAxNyAr KysrKysrKysrKysrKysrKwogaW5jbHVkZS9kcm0vZHJtX21vZGVzLmggICAgICAgfCAgMiArKwog aW5jbHVkZS9kcm0vZHJtX3Byb3BlcnR5LmggICAgfCAgMSArCiA2IGZpbGVzIGNoYW5nZWQsIDY0 IGluc2VydGlvbnMoKyksIDM0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJt L2RybV9jb25uZWN0b3IuaCBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAppbmRleCA2NmI3 ZDY3NDRkZDIuLmU0ZTU0NWU5NTE2ZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5l Y3Rvci5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaApAQCAtMTgxLDE0ICsxODEs MTkgQEAgaW50IGRybV9kaXNwbGF5X2luZm9fc2V0X2J1c19mb3JtYXRzKHN0cnVjdCBkcm1fZGlz cGxheV9pbmZvICppbmZvLAogLyoqCiAgKiBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAtIG11 dGFibGUgY29ubmVjdG9yIHN0YXRlCiAgKiBAY29ubmVjdG9yOiBiYWNrcG9pbnRlciB0byB0aGUg Y29ubmVjdG9yCi0gKiBAY3J0YzogQ1JUQyB0byBjb25uZWN0IGNvbm5lY3RvciB0bywgTlVMTCBp ZiBkaXNhYmxlZAogICogQGJlc3RfZW5jb2RlcjogY2FuIGJlIHVzZWQgYnkgaGVscGVycyBhbmQg ZHJpdmVycyB0byBzZWxlY3QgdGhlIGVuY29kZXIKICAqIEBzdGF0ZTogYmFja3BvaW50ZXIgdG8g Z2xvYmFsIGRybV9hdG9taWNfc3RhdGUKICAqLwogc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUg ewogCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7CiAKLQlzdHJ1Y3QgZHJtX2NydGMg KmNydGM7ICAvKiBkbyBub3Qgd3JpdGUgZGlyZWN0bHksIHVzZSBkcm1fYXRvbWljX3NldF9jcnRj X2Zvcl9jb25uZWN0b3IoKSAqLworCS8qKgorCSAqIEBjcnRjOiBDUlRDIHRvIGNvbm5lY3QgY29u bmVjdG9yIHRvLCBOVUxMIGlmIGRpc2FibGVkLgorCSAqCisJICogRG8gbm90IGNoYW5nZSB0aGlz IGRpcmVjdGx5LCB1c2UgZHJtX2F0b21pY19zZXRfY3J0Y19mb3JfY29ubmVjdG9yKCkKKwkgKiBp bnN0ZWFkLgorCSAqLworCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKIAogCXN0cnVjdCBkcm1fZW5j b2RlciAqYmVzdF9lbmNvZGVyOwogCkBAIC03NDQsNCArNzQ5LDE5IEBAIGludCBkcm1fbW9kZV9j b25uZWN0b3Jfc2V0X3BhdGhfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv ciwKIGludCBkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X3RpbGVfcHJvcGVydHkoc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3Rvcik7CiBpbnQgZHJtX21vZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlk X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJCQkJCSAgICBjb25z dCBzdHJ1Y3QgZWRpZCAqZWRpZCk7CisKKy8qKgorICogZHJtX2Zvcl9lYWNoX2Nvbm5lY3RvciAt IGl0ZXJhdGUgb3ZlciBhbGwgY29ubmVjdG9ycworICogQGNvbm5lY3RvcjogdGhlIGxvb3AgY3Vy c29yCisgKiBAZGV2OiB0aGUgRFJNIGRldmljZQorICoKKyAqIEl0ZXJhdGUgb3ZlciBhbGwgY29u bmVjdG9ycyBvZiBAZGV2LgorICovCisjZGVmaW5lIGRybV9mb3JfZWFjaF9jb25uZWN0b3IoY29u bmVjdG9yLCBkZXYpIFwKKwlmb3IgKGFzc2VydF9kcm1fY29ubmVjdG9yX2xpc3RfcmVhZF9sb2Nr ZWQoJihkZXYpLT5tb2RlX2NvbmZpZyksCVwKKwkgICAgIGNvbm5lY3RvciA9IGxpc3RfZmlyc3Rf ZW50cnkoJihkZXYpLT5tb2RlX2NvbmZpZy5jb25uZWN0b3JfbGlzdCwJXAorCQkJCQkgIHN0cnVj dCBkcm1fY29ubmVjdG9yLCBoZWFkKTsJCVwKKwkgICAgICZjb25uZWN0b3ItPmhlYWQgIT0gKCYo ZGV2KS0+bW9kZV9jb25maWcuY29ubmVjdG9yX2xpc3QpOwkJXAorCSAgICAgY29ubmVjdG9yID0g bGlzdF9uZXh0X2VudHJ5KGNvbm5lY3RvciwgaGVhZCkpCisKICNlbmRpZgpkaWZmIC0tZ2l0IGEv aW5jbHVkZS9kcm0vZHJtX2NydGMuaCBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKaW5kZXggNDg4 MDYwNmUyZmZkLi4yYTY0MmFlOTYxMjcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9jcnRj LmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2NydGMuaApAQCAtMTk5MSwyMiArMTk5MSw3IEBAIHN0 cnVjdCBkcm1fbW9kZV9jb25maWcgewogCWxpc3RfZm9yX2VhY2hfZW50cnkoKHBsYW5lKSwgJihk ZXYpLT5tb2RlX2NvbmZpZy5wbGFuZV9saXN0LCBoZWFkKSBcCiAJCWZvcl9lYWNoX2lmICgocGxh bmVfbWFzaykgJiAoMSA8PCBkcm1fcGxhbmVfaW5kZXgocGxhbmUpKSkKIAotLyoqCi0gKiBkcm1f Zm9yX2VhY2hfZW5jb2Rlcl9tYXNrIC0gaXRlcmF0ZSBvdmVyIGVuY29kZXJzIHNwZWNpZmllZCBi eSBiaXRtYXNrCi0gKiBAZW5jb2RlcjogdGhlIGxvb3AgY3Vyc29yCi0gKiBAZGV2OiB0aGUgRFJN IGRldmljZQotICogQGVuY29kZXJfbWFzazogYml0bWFzayBvZiBlbmNvZGVyIGluZGljZXMKLSAq Ci0gKiBJdGVyYXRlIG92ZXIgYWxsIGVuY29kZXJzIHNwZWNpZmllZCBieSBiaXRtYXNrLgotICov Ci0jZGVmaW5lIGRybV9mb3JfZWFjaF9lbmNvZGVyX21hc2soZW5jb2RlciwgZGV2LCBlbmNvZGVy X21hc2spIFwKLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KChlbmNvZGVyKSwgJihkZXYpLT5tb2RlX2Nv bmZpZy5lbmNvZGVyX2xpc3QsIGhlYWQpIFwKLQkJZm9yX2VhY2hfaWYgKChlbmNvZGVyX21hc2sp ICYgKDEgPDwgZHJtX2VuY29kZXJfaW5kZXgoZW5jb2RlcikpKQotCiAjZGVmaW5lIG9ial90b19j cnRjKHgpIGNvbnRhaW5lcl9vZih4LCBzdHJ1Y3QgZHJtX2NydGMsIGJhc2UpCi0jZGVmaW5lIG9i al90b19tb2RlKHgpIGNvbnRhaW5lcl9vZih4LCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSwgYmFz ZSkKLSNkZWZpbmUgb2JqX3RvX2ZiKHgpIGNvbnRhaW5lcl9vZih4LCBzdHJ1Y3QgZHJtX2ZyYW1l YnVmZmVyLCBiYXNlKQotI2RlZmluZSBvYmpfdG9fYmxvYih4KSBjb250YWluZXJfb2YoeCwgc3Ry dWN0IGRybV9wcm9wZXJ0eV9ibG9iLCBiYXNlKQogI2RlZmluZSBvYmpfdG9fcGxhbmUoeCkgY29u dGFpbmVyX29mKHgsIHN0cnVjdCBkcm1fcGxhbmUsIGJhc2UpCiAKIGV4dGVybiBfX3ByaW50Zig2 LCA3KQpAQCAtMjE3NCwyMyArMjE1OSw2IEBAIGFzc2VydF9kcm1fY29ubmVjdG9yX2xpc3RfcmVh ZF9sb2NrZWQoc3RydWN0IGRybV9tb2RlX2NvbmZpZyAqbW9kZV9jb25maWcpCiAJCSFkcm1fbW9k ZXNldF9pc19sb2NrZWQoJm1vZGVfY29uZmlnLT5jb25uZWN0aW9uX211dGV4KSk7CiB9CiAKLSNk ZWZpbmUgZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcihjb25uZWN0b3IsIGRldikgXAotCWZvciAoYXNz ZXJ0X2RybV9jb25uZWN0b3JfbGlzdF9yZWFkX2xvY2tlZCgmKGRldiktPm1vZGVfY29uZmlnKSwJ XAotCSAgICAgY29ubmVjdG9yID0gbGlzdF9maXJzdF9lbnRyeSgmKGRldiktPm1vZGVfY29uZmln LmNvbm5lY3Rvcl9saXN0LAlcCi0JCQkJCSAgc3RydWN0IGRybV9jb25uZWN0b3IsIGhlYWQpOwkJ XAotCSAgICAgJmNvbm5lY3Rvci0+aGVhZCAhPSAoJihkZXYpLT5tb2RlX2NvbmZpZy5jb25uZWN0 b3JfbGlzdCk7CQlcCi0JICAgICBjb25uZWN0b3IgPSBsaXN0X25leHRfZW50cnkoY29ubmVjdG9y LCBoZWFkKSkKLQotI2RlZmluZSBkcm1fZm9yX2VhY2hfZW5jb2RlcihlbmNvZGVyLCBkZXYpIFwK LQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGVuY29kZXIsICYoZGV2KS0+bW9kZV9jb25maWcuZW5jb2Rl cl9saXN0LCBoZWFkKQotCi0jZGVmaW5lIGRybV9mb3JfZWFjaF9mYihmYiwgZGV2KSBcCi0JZm9y IChXQVJOX09OKCFtdXRleF9pc19sb2NrZWQoJihkZXYpLT5tb2RlX2NvbmZpZy5mYl9sb2NrKSks CQlcCi0JICAgICBmYiA9IGxpc3RfZmlyc3RfZW50cnkoJihkZXYpLT5tb2RlX2NvbmZpZy5mYl9s aXN0LAlcCi0JCQkJCSAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciwgaGVhZCk7CVwKLQkgICAgICZm Yi0+aGVhZCAhPSAoJihkZXYpLT5tb2RlX2NvbmZpZy5mYl9saXN0KTsJCQlcCi0JICAgICBmYiA9 IGxpc3RfbmV4dF9lbnRyeShmYiwgaGVhZCkpCi0KIC8qIGRybV9lZGlkLmMgKi8KIGJvb2wgZHJt X3Byb2JlX2RkYyhzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIpOwogc3RydWN0IGVkaWQgKmRy bV9nZXRfZWRpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLApkaWZmIC0tZ2l0IGEv aW5jbHVkZS9kcm0vZHJtX2VuY29kZXIuaCBiL2luY2x1ZGUvZHJtL2RybV9lbmNvZGVyLmgKaW5k ZXggZmNlMDIwMzA5NGY3Li4zODdlMzNhNGQ2ZWUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2Ry bV9lbmNvZGVyLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2VuY29kZXIuaApAQCAtMjI0LDQgKzIy NCwyNiBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuY29kZXJfZmlu ZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCiB2b2lkIGRybV9lbmNvZGVyX2NsZWFudXAoc3Ry dWN0IGRybV9lbmNvZGVyICplbmNvZGVyKTsKIAorLyoqCisgKiBkcm1fZm9yX2VhY2hfZW5jb2Rl cl9tYXNrIC0gaXRlcmF0ZSBvdmVyIGVuY29kZXJzIHNwZWNpZmllZCBieSBiaXRtYXNrCisgKiBA ZW5jb2RlcjogdGhlIGxvb3AgY3Vyc29yCisgKiBAZGV2OiB0aGUgRFJNIGRldmljZQorICogQGVu Y29kZXJfbWFzazogYml0bWFzayBvZiBlbmNvZGVyIGluZGljZXMKKyAqCisgKiBJdGVyYXRlIG92 ZXIgYWxsIGVuY29kZXJzIHNwZWNpZmllZCBieSBiaXRtYXNrLgorICovCisjZGVmaW5lIGRybV9m b3JfZWFjaF9lbmNvZGVyX21hc2soZW5jb2RlciwgZGV2LCBlbmNvZGVyX21hc2spIFwKKwlsaXN0 X2Zvcl9lYWNoX2VudHJ5KChlbmNvZGVyKSwgJihkZXYpLT5tb2RlX2NvbmZpZy5lbmNvZGVyX2xp c3QsIGhlYWQpIFwKKwkJZm9yX2VhY2hfaWYgKChlbmNvZGVyX21hc2spICYgKDEgPDwgZHJtX2Vu Y29kZXJfaW5kZXgoZW5jb2RlcikpKQorCisvKioKKyAqIGRybV9mb3JfZWFjaF9lbmNvZGVyIC0g aXRlcmF0ZSBvdmVyIGFsbCBlbmNvZGVycworICogQGVuY29kZXI6IHRoZSBsb29wIGN1cnNvcgor ICogQGRldjogdGhlIERSTSBkZXZpY2UKKyAqCisgKiBJdGVyYXRlIG92ZXIgYWxsIGVuY29kZXJz IG9mIEBkZXYuCisgKi8KKyNkZWZpbmUgZHJtX2Zvcl9lYWNoX2VuY29kZXIoZW5jb2RlciwgZGV2 KSBcCisJbGlzdF9mb3JfZWFjaF9lbnRyeShlbmNvZGVyLCAmKGRldiktPm1vZGVfY29uZmlnLmVu Y29kZXJfbGlzdCwgaGVhZCkKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1f ZnJhbWVidWZmZXIuaCBiL2luY2x1ZGUvZHJtL2RybV9mcmFtZWJ1ZmZlci5oCmluZGV4IGIyNTU0 YzUwYTkwMy4uZjVhZTFmNDM2YTRiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fZnJhbWVi dWZmZXIuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fZnJhbWVidWZmZXIuaApAQCAtMjA2LDYgKzIw Niw4IEBAIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgewogCXN0cnVjdCBsaXN0X2hlYWQgZmlscF9o ZWFkOwogfTsKIAorI2RlZmluZSBvYmpfdG9fZmIoeCkgY29udGFpbmVyX29mKHgsIHN0cnVjdCBk cm1fZnJhbWVidWZmZXIsIGJhc2UpCisKIGludCBkcm1fZnJhbWVidWZmZXJfaW5pdChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAogCQkJIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAogCQkJIGNv bnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXJfZnVuY3MgKmZ1bmNzKTsKQEAgLTI0Nyw0ICsyNDks MTkgQEAgc3RhdGljIGlubGluZSB1aW50MzJfdCBkcm1fZnJhbWVidWZmZXJfcmVhZF9yZWZjb3Vu dChzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYikKIHsKIAlyZXR1cm4gYXRvbWljX3JlYWQoJmZi LT5iYXNlLnJlZmNvdW50LnJlZmNvdW50KTsKIH0KKworLyoqCisgKiBkcm1fZm9yX2VhY2hfZmIg LSBpdGVyYXRlIG92ZXIgYWxsIGZyYW1lYnVmZmVycworICogQGZiOiB0aGUgbG9vcCBjdXJzb3IK KyAqIEBkZXY6IHRoZSBEUk0gZGV2aWNlCisgKgorICogSXRlcmF0ZSBvdmVyIGFsbCBmcmFtZWJ1 ZmZlcnMgb2YgQGRldi4gVXNlciBtdXN0IGhvbGQgdGhlIGZiX2xvY2sgZnJvbQorICogJmRybV9t b2RlX2NvbmZpZy4KKyAqLworI2RlZmluZSBkcm1fZm9yX2VhY2hfZmIoZmIsIGRldikgXAorCWZv ciAoV0FSTl9PTighbXV0ZXhfaXNfbG9ja2VkKCYoZGV2KS0+bW9kZV9jb25maWcuZmJfbG9jaykp LAkJXAorCSAgICAgZmIgPSBsaXN0X2ZpcnN0X2VudHJ5KCYoZGV2KS0+bW9kZV9jb25maWcuZmJf bGlzdCwJXAorCQkJCQkgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIsIGhlYWQpOwlcCisJICAgICAm ZmItPmhlYWQgIT0gKCYoZGV2KS0+bW9kZV9jb25maWcuZmJfbGlzdCk7CQkJXAorCSAgICAgZmIg PSBsaXN0X25leHRfZW50cnkoZmIsIGhlYWQpKQogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRl L2RybS9kcm1fbW9kZXMuaCBiL2luY2x1ZGUvZHJtL2RybV9tb2Rlcy5oCmluZGV4IDAxMWYxOTlk M2JjZi4uOTg2ZWQ2ZmY2MzVhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fbW9kZXMuaAor KysgYi9pbmNsdWRlL2RybS9kcm1fbW9kZXMuaApAQCAtNDAzLDYgKzQwMyw4IEBAIHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlIHsKIAllbnVtIGhkbWlfcGljdHVyZV9hc3BlY3QgcGljdHVyZV9hc3Bl Y3RfcmF0aW87CiB9OwogCisjZGVmaW5lIG9ial90b19tb2RlKHgpIGNvbnRhaW5lcl9vZih4LCBz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSwgYmFzZSkKKwogLyoqCiAgKiBkcm1fbW9kZV9pc19zdGVy ZW8gLSBjaGVjayBmb3Igc3RlcmVvIG1vZGUgZmxhZ3MKICAqIEBtb2RlOiBkcm1fZGlzcGxheV9t b2RlIHRvIGNoZWNrCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fcHJvcGVydHkuaCBiL2lu Y2x1ZGUvZHJtL2RybV9wcm9wZXJ0eS5oCmluZGV4IDMwYWIyODliZTA1ZC4uNDNjNGI2YTIwNDZk IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fcHJvcGVydHkuaAorKysgYi9pbmNsdWRlL2Ry bS9kcm1fcHJvcGVydHkuaApAQCAtMjE5LDYgKzIxOSw3IEBAIHN0cnVjdCBkcm1fcHJvcF9lbnVt X2xpc3QgewogfTsKIAogI2RlZmluZSBvYmpfdG9fcHJvcGVydHkoeCkgY29udGFpbmVyX29mKHgs IHN0cnVjdCBkcm1fcHJvcGVydHksIGJhc2UpCisjZGVmaW5lIG9ial90b19ibG9iKHgpIGNvbnRh aW5lcl9vZih4LCBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IsIGJhc2UpCiAKIC8qKgogICogZHJt X3Byb3BlcnR5X3R5cGVfaXMgLSBjaGVjayB0aGUgdHlwZSBvZiBhIHByb3BlcnR5Ci0tIAoyLjku MwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRl dmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==