From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [SKL-DMC-BUGFIX 2/5] drm/i915/skl: Making DC6 entry is the last call in suspend flow. Date: Mon, 12 Oct 2015 16:32:13 +0300 Message-ID: <1444656733.13337.31.camel@intel.com> References: <1438619136-18268-1-git-send-email-animesh.manna@intel.com> <1438619136-18268-3-git-send-email-animesh.manna@intel.com> Reply-To: imre.deak@intel.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id A09286E895 for ; Mon, 12 Oct 2015 06:32:18 -0700 (PDT) In-Reply-To: <1438619136-18268-3-git-send-email-animesh.manna@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Animesh Manna Cc: intel-gfx@lists.freedesktop.org, Rajneesh Bhardwaj , Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org T24gbWEsIDIwMTUtMDgtMDMgYXQgMjE6NTUgKzA1MzAsIEFuaW1lc2ggTWFubmEgd3JvdGU6Cj4g TW1pbyByZWdpc3RlciBhY2Nlc3MgYWZ0ZXIgZGM2L2RjNSBlbnRyeSBpcyBub3QgYWxsb3dlZCB3 aGVuCj4gREM2IHBvd2VyIHN0YXRlcyBhcmUgZW5hYmxlZCBhY2NvcmRpbmcgdG8gYnNwZWMgKGJz cGVjLWlkIDA1MjcpLAo+IHNvIGVuYWJsaW5nIGRjNiBhcyB0aGUgbGFzdCBjYWxsIGluIHN1c3Bl bmQgZmxvdy4KClRoZSBNTUlPIHJhbmdlIEJTcGVjLUlEIDA1MjcgcmVmZXJzIHRvIGlzIHRoZSBE TUMgTU1JTyByYW5nZS4gVGhlIGRyaXZlcgp1c2VzIHRoaXMgTU1JTyByYW5nZSBvbmx5IHRvIHBy b2dyYW0gdGhlIEZXIGltYWdlLCBpdCBkb2Vzbid0IGFjY2VzcyBpdAphZnRlcndhcmRzLiBTbyB0 aGF0J3Mgbm90IGEgZ29vZCBqdXN0aWZpY2F0aW9uIHRvIGtlZXAgREM2IGRpc2FibGVkLgoKVGhh dCBCU3BlYy1JRCBhbHNvIG1lbnRpb25zIHRoYXQgREM2IHRvZ2V0aGVyIHdpdGggREM1IG5lZWRz IHRvIGJlCmRpc2FibGVkIGFyb3VuZCBtb2Rlc2V0cywgd2hpY2ggd2UgbmVlZCB0byBhZGRyZXNz IGJ5IGRpc2FibGluZyBib3RoCkRDNS82LCBidXQgb25seSBhcm91bmQgbW9kZXNldHMuCgpMYXRl ciBkaXNjdXNzaW9ucyB3aXRoIEhXIHBlb3BsZSByZXZlYWxlZCB0aGF0IHRoZXJlIGlzIGFuIG9w ZW4gaXNzdWUKcmVsYXRlZCB0byBEQzYsIHNlZSBbMV0uIFRoZSBzdWdnZXN0ZWQgd29ya2Fyb3Vu ZCBmb3IgdGhhdCBpc3N1ZSBpcyB0bwprZWVwIERDNiBkaXNhYmxlZCBhbGwgdGhlIHRpbWUgYW5k IHVzZSBhIG1hbnVhbCBzZXF1ZW5jZSB0byBlbmFibGUKZGVlcGVyIHBvd2VyIHN0YXRlcyAoc2Vl ICJTZXF1ZW5jZSBmb3IgU29mdHdhcmUgdG8gQWxsb3cgUGFja2FnZSBDOS1DMTAiCmluIEJTcGVj KS4KCkJhc2VkIG9uIHRoaXMgd2hhdCB3ZSBuZWVkIHRvIGRvIGluIHRoaXMgcGF0Y2ggaXMgc2lt cGx5IGRpc2FibGUgREM2LiBBcwphIGZvbGxvdy11cCB0byB0aGlzIHBhdGNoc2V0IHdlIG5lZWQg dG86Ci0gQWRkIHRoZSBtYW51YWwgUEM5LzEwIHNlcXVlbmNlLgotIFByZXZlbnQgREM1LzYgZHVy aW5nIG1vZGVzZXRzIChhbmQgRFBBVVggdHJhbnNmZXJzKS4KLSBNb3ZlIG91dCB0aGUgcmVtYWlu aW5nIHBhcnRzIG9mIHRoZSBkaXNwbGF5IGluaXQvdW5pbml0IHNlcXVlbmNlIGZyb20KdGhlIHN1 c3BlbmQvcmVzdW1lIHBhdGguCi0gQWRkIGEgbW9kdWxlIG9wdGlvbnMgdG8gc2VsZWN0IGJldHdl ZW4gZW5hYmxpbmcgREM2IGFuZCBydW5uaW5nIHRoZQptYW51YWwgUEM5LzEwIHNlcXVlbmNlLiBQ ZW9wbGUgc3RpbGwgd291bGQgbGlrZSB0byBleHBlcmltZW50IHdpdGggREM2CmFuZCB3ZSBtYXkg ZW5kIHVwIGVuYWJsaW5nIGl0IGluIHRoZSBlbmQgaWYgYWxsIHRoZSBvcGVuIGlzc3VlcyBnZXQK cmVzb2x2ZWQuIEZvciB0aGF0IGNhc2UgZW5hYmxpbmcgREM2IHNob3VsZCBzdGlsbCBoYXBwZW4g YXQgdGhlIHBsYWNlCndoZXJlIGl0IGhhcHBlbnMgbm93LCB0aGF0IGlzIGFmdGVyIGRpc2FibGlu ZyBQVzIuCgpQbGVhc2Ugc2VlIG15IGNvcnJlc3BvbmRpbmcgY29tbWVudHMgaW5saW5lZCBiZWxv dy4KClsxXQpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2ludGVsLWdmeC8y MDE1LU9jdG9iZXIvMDc3NjY5Lmh0bWwKCj4gCj4gdjE6IEluaXRpYWwgdmVyc2lvbi4KPiAKPiB2 MjogY29tbWl0IG1lc3NhZ2UgdXBkYXRlZCBiYXNlZCBvbiBjb21tZW50IGZyb20gVmF0aHNhbGEu Cj4gCj4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+IENjOiBE YW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAaW50ZWwuY29tPgo+IENjOiBJbXJlIERlYWsg PGltcmUuZGVha0BpbnRlbC5jb20+Cj4gQ2M6IFN1bmlsIEthbWF0aCA8c3VuaWwua2FtYXRoQGlu dGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBBbmltZXNoIE1hbm5hIDxhbmltZXNoLm1hbm5hQGlu dGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBWYXRoc2FsYSBOYWdhcmFqdSA8dmF0aHNhbGEubmFn YXJhanVAaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IFJham5lZXNoIEJoYXJkd2FqIDxyYWpu ZWVzaC5iaGFyZHdhakBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmMgICAgICAgICB8IDEyICsrKysrKy0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaCAgICAgICAgfCAgMiArKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9ydW50aW1lX3BtLmMgfCAzMyArKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAg MyBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAzMSBkZWxldGlvbnMoLSkKPiAKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmMKPiBpbmRleCAwZDY3NzVhLi5lMWQwMTAyIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5jCj4gQEAgLTEwMTcsMTQgKzEwMTcsMTEgQEAgc3RhdGljIGludCBz a2xfc3VzcGVuZF9jb21wbGV0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4g IHsKPiAgCS8qIEVuYWJsaW5nIERDNiBpcyBub3QgYSBoYXJkIHJlcXVpcmVtZW50IHRvIGVudGVy IHJ1bnRpbWUgRDMgKi8KPiAgCj4gLQkvKgo+IC0JICogVGhpcyBpcyB0byBlbnN1cmUgdGhhdCBD U1IgaXNuJ3QgaWRlbnRpZmllZCBhcyBsb2FkZWQgYmVmb3JlCj4gLQkgKiBDU1ItbG9hZGluZyBw cm9ncmFtIGlzIGNhbGxlZCBkdXJpbmcgcnVudGltZS1yZXN1bWUuCj4gLQkgKi8KPiAtCWludGVs X2Nzcl9sb2FkX3N0YXR1c19zZXQoZGV2X3ByaXYsIEZXX1VOSU5JVElBTElaRUQpOwo+IC0KPiAg CXNrbF91bmluaXRfY2RjbGsoZGV2X3ByaXYpOwo+ICAKPiArCWlmIChpbnRlbF9jc3JfbG9hZF9z dGF0dXNfZ2V0KGRldl9wcml2KSA9PSBGV19MT0FERUQpCj4gKwkJc2tsX2VuYWJsZV9kYzYoZGV2 X3ByaXYpOwo+ICsKCk5vdCBuZWVkZWQsIGF0bSB3ZSBzaG91bGRuJ3QgZW5hYmxlIERDNiBldmVy IGR1ZSB0byBvcGVuIGlzc3VlcyB1bmRlcgppbnZlc3RpZ2F0aW9uLiBFdmVuIGlmIHRob3NlIGlu dmVzdGlnYXRpb25zIHJldmVhbCB0aGF0IHdlIGNhbiB1c2UgREM2Cml0IHNob3VsZG4ndCBiZSBl bmFibGVkIGhlcmUsIHJhdGhlciBhdCBpdHMgY3VycmVudCBwbGFjZSBhZnRlcgpkaXNhYmxpbmcg UFcyLgoKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IEBAIC0xMDcxLDYgKzEwNjgsOSBAQCBzdGF0 aWMgaW50IHNrbF9yZXN1bWVfcHJlcGFyZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpCj4gIHsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBkZXZfcHJpdi0+ZGV2Owo+ICAK PiArCWlmIChpbnRlbF9jc3JfbG9hZF9zdGF0dXNfZ2V0KGRldl9wcml2KSA9PSBGV19MT0FERUQp Cj4gKwkJc2tsX2Rpc2FibGVfZGM2KGRldl9wcml2KTsKPiArCgpOb3QgbmVlZGVkIGJhc2VkIG9u IHRoZSBwcmV2aW91cyBjb21tZW50LgoKPiAgCXNrbF9pbml0X2NkY2xrKGRldl9wcml2KTsKPiAg CWludGVsX2Nzcl9sb2FkX3Byb2dyYW0oZGV2KTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKPiBpbmRleCA0N2NlZjBlLi4wNmYzNDZmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKPiBAQCAtMTExNyw2ICsxMTE3LDggQEAgdm9pZCBieHRfZW5hYmxlX2RjOShzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICB2b2lkIGJ4dF9kaXNhYmxlX2RjOShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICB2b2lkIHNrbF9pbml0X2NkY2xrKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gIHZvaWQgc2tsX3VuaW5pdF9jZGNsayhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICt2b2lkIHNrbF9lbmFibGVfZGM2 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gK3ZvaWQgc2tsX2Rpc2FibGVf ZGM2KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gIHZvaWQgaW50ZWxfZHBf Z2V0X21fbihzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiAgCQkgICAgICBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpOwo+ICB2b2lkIGludGVsX2RwX3NldF9tX24oc3RydWN0 IGludGVsX2NydGMgKmNydGMsIGVudW0gbGlua19tX25fc2V0IG1fbik7Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+IGluZGV4IDYzOTNiNzYuLmM2NjAyNDUgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gQEAgLTUzMiw3ICs1MzIs NyBAQCBzdGF0aWMgdm9pZCBhc3NlcnRfY2FuX2Rpc2FibGVfZGM2KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKPiAgCQkiREM2IGFscmVhZHkgcHJvZ3JhbW1lZCB0byBiZSBkaXNh YmxlZC5cbiIpOwo+ICB9Cj4gIAo+IC1zdGF0aWMgdm9pZCBza2xfZW5hYmxlX2RjNihzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gK3ZvaWQgc2tsX2VuYWJsZV9kYzYoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICB7Cj4gIAl1aW50MzJfdCB2YWw7Cj4gIAo+ IEBAIC01NDksNyArNTQ5LDcgQEAgc3RhdGljIHZvaWQgc2tsX2VuYWJsZV9kYzYoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJUE9TVElOR19SRUFEKERDX1NUQVRFX0VOKTsK PiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgc2tsX2Rpc2FibGVfZGM2KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKPiArdm9pZCBza2xfZGlzYWJsZV9kYzYoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQo+ICB7Cj4gIAl1aW50MzJfdCB2YWw7Cj4gIAo+IEBAIC02MTAs MTAgKzYxMCwxMCBAQCBzdGF0aWMgdm9pZCBza2xfc2V0X3Bvd2VyX3dlbGwoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQkJIUk5MTVfUkVBRChIU1dfUFdSX1dFTExfQklP UyksCj4gIAkJCQkiSW52YWxpZCBmb3IgcG93ZXIgd2VsbCBzdGF0dXMgdG8gYmUgZW5hYmxlZCwg dW5sZXNzIGRvbmUgYnkgdGhlIEJJT1MsIFwKPiAgCQkJCXdoZW4gcmVxdWVzdCBpcyB0byBkaXNh YmxlIVxuIik7Cj4gLQkJCWlmICgoR0VOOV9FTkFCTEVfREM1KGRldikgfHwgU0tMX0VOQUJMRV9E QzYoZGV2KSkgJiYKPiAtCQkJCXBvd2VyX3dlbGwtPmRhdGEgPT0gU0tMX0RJU1BfUFdfMikgewo+ ICsJCQlpZiAocG93ZXJfd2VsbC0+ZGF0YSA9PSBTS0xfRElTUF9QV18yKSB7Cj4gKwkJCQlpZiAo R0VOOV9FTkFCTEVfREM1KGRldikpCj4gKwkJCQkJZ2VuOV9kaXNhYmxlX2RjNShkZXZfcHJpdik7 Cj4gIAkJCQlpZiAoU0tMX0VOQUJMRV9EQzYoZGV2KSkgewo+IC0JCQkJCXNrbF9kaXNhYmxlX2Rj NihkZXZfcHJpdik7Cj4gIAkJCQkJLyoKPiAgCQkJCQkgKiBEREkgYnVmZmVyIHByb2dyYW1taW5n IHVubmVjZXNzYXJ5IGR1cmluZyBkcml2ZXItbG9hZC9yZXN1bWUKPiAgCQkJCQkgKiBhcyBpdCdz IGFscmVhZHkgZG9uZSBkdXJpbmcgbW9kZXNldCBpbml0aWFsaXphdGlvbiB0aGVuLgo+IEBAIC02 MjEsOCArNjIxLDYgQEAgc3RhdGljIHZvaWQgc2tsX3NldF9wb3dlcl93ZWxsKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQkJCQkgKi8KPiAgCQkJCQlpZiAoIWRldl9wcml2 LT5wb3dlcl9kb21haW5zLmluaXRpYWxpemluZykKPiAgCQkJCQkJaW50ZWxfcHJlcGFyZV9kZGko ZGV2KTsKPiAtCQkJCX0gZWxzZSB7Cj4gLQkJCQkJZ2VuOV9kaXNhYmxlX2RjNShkZXZfcHJpdik7 CgpJbnN0ZWFkIG9mIHRoaXMgcGxlYXNlIGp1c3QgcmVkZWZpbmUgR0VOOV9FTkFCTEVfREM1IGFu ZCBTS0xfRU5BQkxFX0RDNgphY2NvcmRpbmdseS4gV2Ugd2FudCB0byBrZWVwIHRoZSBwb3NzaWJp bGl0eSB0byB1c2UgREM2LCAoYWRkaW5nIGEKbW9kdWxlIG9wdGlvbiBmb3IgaXQgYXMgYSBmb2xs b3ctdXApLCBhbmQgdGhlbiB0aGlzIGlzIHN0aWxsIHRoZSByaWdodApwbGFjZSB0byBkaXNhYmxl IGl0LgoKPiAgCQkJCX0KPiAgCQkJfQo+ICAJCQlJOTE1X1dSSVRFKEhTV19QV1JfV0VMTF9EUklW RVIsIHRtcCB8IHJlcV9tYXNrKTsKPiBAQCAtNjQyLDI0ICs2NDAsOSBAQCBzdGF0aWMgdm9pZCBz a2xfc2V0X3Bvd2VyX3dlbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJ CQlQT1NUSU5HX1JFQUQoSFNXX1BXUl9XRUxMX0RSSVZFUik7Cj4gIAkJCURSTV9ERUJVR19LTVMo IkRpc2FibGluZyAlc1xuIiwgcG93ZXJfd2VsbC0+bmFtZSk7Cj4gIAo+IC0JCQlpZiAoKEdFTjlf RU5BQkxFX0RDNShkZXYpIHx8IFNLTF9FTkFCTEVfREM2KGRldikpICYmCj4gLQkJCQlwb3dlcl93 ZWxsLT5kYXRhID09IFNLTF9ESVNQX1BXXzIpIHsKPiAtCQkJCWVudW0gY3NyX3N0YXRlIHN0YXRl Owo+IC0JCQkJLyogVE9ETzogd2FpdCBmb3IgYSBjb21wbGV0aW9uIGV2ZW50IG9yCj4gLQkJCQkg KiBzaW1pbGFyIGhlcmUgaW5zdGVhZCBvZiBidXN5Cj4gLQkJCQkgKiB3YWl0aW5nIHVzaW5nIHdh aXRfZm9yIGZ1bmN0aW9uLgo+IC0JCQkJICovCj4gLQkJCQl3YWl0X2Zvcigoc3RhdGUgPSBpbnRl bF9jc3JfbG9hZF9zdGF0dXNfZ2V0KGRldl9wcml2KSkgIT0KPiAtCQkJCQkJRldfVU5JTklUSUFM SVpFRCwgMTAwMCk7Cj4gLQkJCQlpZiAoc3RhdGUgIT0gRldfTE9BREVEKQo+IC0JCQkJCURSTV9F UlJPUigiQ1NSIGZpcm13YXJlIG5vdCByZWFkeSAoJWQpXG4iLAo+IC0JCQkJCQkJc3RhdGUpOwo+ IC0JCQkJZWxzZQo+IC0JCQkJCWlmIChTS0xfRU5BQkxFX0RDNihkZXYpKQo+IC0JCQkJCQlza2xf ZW5hYmxlX2RjNihkZXZfcHJpdik7Cj4gLQkJCQkJZWxzZQo+IC0JCQkJCQlnZW45X2VuYWJsZV9k YzUoZGV2X3ByaXYpOwo+IC0JCQl9Cj4gKwkJCWlmIChHRU45X0VOQUJMRV9EQzUoZGV2KSAmJgo+ ICsJCQkJcG93ZXJfd2VsbC0+ZGF0YSA9PSBTS0xfRElTUF9QV18yKQo+ICsJCQkJCWdlbjlfZW5h YmxlX2RjNShkZXZfcHJpdik7CgpSZW1vdmluZyB0aGUgYmxvY2tpbmcgd2FpdCBpcyBvaywgdGhv dWdoIHlvdSBzaG91bGQgaGF2ZSBtZW50aW9uZWQgaW4KdGhlIGNvbW1pdCBsb2cgd2h5IGFuZCBo YXZlIHRoaXMgY2hhbmdlIGluIGEgc2VwYXJhdGUgcGF0Y2guIEluc3RlYWQgb2YKcmVtb3Zpbmcg c2tsX2VuYWJsZV9kYzYoKSBwbGVhc2UgcmVkZWZpbmUgdGhlIG1hY3JvcyBhcyBleHBsYWluZWQg YWJvdmUuCgotLUltcmUKCj4gIAkJfQo+ICAJfQo+ICAKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=