From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marc MERLIN Subject: Re: drivers/gpu/drm/i915/intel_display.c:9717 intel_check_page_flip+0xb3/0xd2() Date: Mon, 3 Aug 2015 08:10:29 -0700 Message-ID: <20150803151029.GR24824@merlins.org> References: <20150715160333.GA30878@merlins.org> <20150718203553.GE30815@merlins.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail1.merlins.org (magic.merlins.org [209.81.13.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id B1C0D6E2E1 for ; Mon, 3 Aug 2015 08:10:31 -0700 (PDT) Received: from merlin by mail1.merlins.org with local (Exim 4.80 #2) id 1ZMHNm-0000Dq-0x by authid for ; Mon, 03 Aug 2015 08:10:30 -0700 Content-Disposition: inline In-Reply-To: <20150718203553.GE30815@merlins.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Q291bGQgc29tZW9uZSBnaXZlIG1lIGEgY2x1ZSBpZiB0aGUgaXNzdWVzIEknbSBzZWVpbmcgYXJl IG1vcmUgbGlrZWx5IHRvIGJlCnNvbHZlZCB3aXRoIGEgbmV3ZXIga2VybmVsIG9yIGEgbmV3ZXIg dXNlcmxhbmQgZHJpdmVyICh4c2VydmVyLXhvcmctdmlkZW8taW50ZWwpID8KClRoYW5rcywKTWFy YwoKT24gU2F0LCBKdWwgMTgsIDIwMTUgYXQgMDE6MzU6NTNQTSAtMDcwMCwgTWFyYyBNRVJMSU4g d3JvdGU6Cj4gT24gV2VkLCBKdWwgMTUsIDIwMTUgYXQgMDQ6MTM6MjNQTSArMDAwMCwgTWFyYyBN RVJMSU4gd3JvdGU6Cj4gPiBrZXJuZWw6IDMuMTkuOAo+ID4geHNlcnZlci14b3JnLXZpZGVvLWlu dGVsIDI6Mi45OS45MTctMSBvbiBkZWJpYW4KPiA+IFguT3JnIFggU2VydmVyIDEuMTcuMQo+ID4g Cj4gPiBbMjU0NjcwLjIxNDYwN10gcG9vbFszMDcyMF06IHNlZ2ZhdWx0IGF0IDIwIGlwIDAwMDA3 ZjBlNjhkM2Y1MzQgc3AgMDAwMDdmMGRkNTdmOTUwMCBlcnJvciA0IGluIGxpYmdpby0yLjAuc28u MC40MjAwLjFbN2YwZTY4Y2ZhMDAwKzE3MTAwMF0KPiA+IFsyNTQ2NzAuNzgxMTI2XSAtLS0tLS0t LS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0KPiA+IFsyNTQ2NzAuNzgxMTQwXSBXQVJOSU5H OiBDUFU6IDAgUElEOiAyOTUxNCBhdCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmM6OTcxNyBpbnRlbF9jaGVja19wYWdlX2ZsaXArMHhiMy8weGQyKCkKPiA+IFsyNTQ2NzAuNzgx MTQzXSBLaWNraW5nIHN0dWNrIHBhZ2UgZmxpcDogcXVldWVkIGF0IDYwMjcxMjAsIG5vdyA2MDI3 MTI2Cj4gPiBbMjU0NjcwLjc4MTE0NF0gTW9kdWxlcyBsaW5rZWQgaW46IGJ0dXNiIHV2Y3ZpZGVv IHZpZGVvYnVmMl92bWFsbG9jIHZpZGVvYnVmMl9tZW1vcHMgdmlkZW9idWYyX2NvcmUgdjRsMl9j b21tb24gdmlkZW9kZXYgeGhjaV9wY2kgaXdsbXZtIG1hYzgwMjExIGl3bHdpZmkgY2ZnODAyMTEg Y3RyIGNjbSBybmRpc19ob3N0IGNkY19ldGhlciB1c2JuZXQgZTEwMDBlIG5sc191dGY4IG5sc19j cDQzNyB2ZmF0IGZhdCBpcHRfUkVKRUNUIG5mX3JlamVjdF9pcHY0IHh0X3RjcHVkcCBuZl9sb2df aXB2NCBuZl9sb2dfY29tbW9uIHh0X0xPRyBpcHRhYmxlX21hbmdsZSBpcDZ0YWJsZV9maWx0ZXIg aXA2X3RhYmxlcyBlYnRhYmxlX25hdCBlYnRhYmxlcyByZmNvbW0gYm5lcCBwY2lfc3R1YiB2Ym94 cGNpKE9FKSB2Ym94bmV0YWRwKE9FKSB2Ym94bmV0Zmx0KE9FKSB2Ym94ZHJ2KE9FKSB4dF9hZGRy dHlwZSB4dF9jb25udHJhY2sgaXB0X01BU1FVRVJBREUgbmZfbmF0X21hc3F1ZXJhZGVfaXB2NCBp cHRhYmxlX25hdCBuZl9jb25udHJhY2tfaXB2NCBuZl9kZWZyYWdfaXB2NCBuZl9uYXRfaXB2NCBp cHRhYmxlX2ZpbHRlciBpcF90YWJsZXMgeF90YWJsZXMgbmZfbmF0IG5mX2Nvbm50cmFjayBicmlk Z2Ugc3RwIGxsYyBhdXRvZnM0IGJpbmZtdF9taXNjIHVpbnB1dCBuZnNkIGF1dGhfcnBjZ3NzIG5m c19hY2wgbmZzIGxvY2tkIGdyYWNlIGZzY2FjaGUgc3VucnBjIGVjcnlwdGZzIGNvbmZpZ3MgcHBk ZXYgcGFycG9ydF9wYyBscCBwYXJwb3J0IGlucHV0X3BvbGxkZXYgbG9vcCBmaXJld2lyZV9zYnAy IGZpcmV3aXJlX2NvcmUgY3JjX2l0dV90IGJsdWV0b290aCBtZWRpYSBqb3lkZXYgYXJjNCBzbmRf aGRhX2NvZGVjX3JlYWx0ZWsgc25kX2hkYV9jb2RlY19nZW5lcmljIHNuZF9oZGFfY29kZWNfaGRt aSBzbmRfaGRhX2ludGVsIHNuZF9oZGFfY29udHJvbGxlciBpbnRlbF9yYXBsIHNuZF9oZGFfY29k ZWMgaW9zZl9tYmkgc25kX2h3ZGVwIHNuZF9wY21fb3NzIHgKPiA+IDg2X3BrZ190ZW1wX3RoZXJt YWwgaW50ZWxfcG93ZXJjbGFtcCBzbmRfbWl4ZXJfb3NzIHNuZF9wY20gY29yZXRlbXAgcnRzeF9w Y2lfbXMga3ZtX2ludGVsIGt2bSBzbmRfc2VxX21pZGkgaVRDT193ZHQgY3JjdDEwZGlmX3BjbG11 bCBzbmRfc2VxX21pZGlfZXZlbnQgbWVtc3RpY2sgaVRDT192ZW5kb3Jfc3VwcG9ydCBydHN4X3Bj aV9zZG1tYyBjcmMzMl9wY2xtdWwgc25kX3Jhd21pZGkgZ2hhc2hfY2xtdWxuaV9pbnRlbCB0aGlu a3BhZF9hY3BpIHhoY2lfaGNkIHNuZF9zZXEgbnZyYW0gaTJjX2k4MDEgc25kX3NlcV9kZXZpY2Ug cHNtb3VzZSBzbmRfdGltZXIgcnRzeF9wY2kgcmZraWxsIHVzYmNvcmUgbHBjX2ljaCBtaWNyb2Nv ZGUgc25kIHNnIHNlcmlvX3JhdyBzaHBjaHAgc291bmRjb3JlIHVzYl9jb21tb24gdHBtX3RpcyBw Y3Nwa3IgdHBtIGJhdHRlcnkgYWMgaWUzMTIwMF9lZGFjIGVkYWNfY29yZSBpbnRlbF9zbWFydGNv bm5lY3Qgd21pIGV2ZGV2IHByb2Nlc3NvciBzYXRhX3NpbDI0IHI4MTY5IG1paSBmdXNlIGZhbiBy YWlkNDU2IG11bHRpcGF0aCBtbWNfYmxvY2sgbW1jX2NvcmUgZG1fY3J5cHQgZG1fbW9kIGFzeW5j X3JhaWQ2X3JlY292IGFzeW5jX3BxIGFzeW5jX3hvciBhc3luY19tZW1jcHkgYXN5bmNfdHggYmxv d2Zpc2hfeDg2XzY0IGJsb3dmaXNoX2NvbW1vbiBlY2IgeHRzIGNyYzMyY19pbnRlbCBhZXNuaV9p bnRlbCBhZXNfeDg2XzY0IGdsdWVfaGVscGVyIGxydyBnZjEyOG11bCBwdHAgYWJsa19oZWxwZXIg Y3J5cHRkIHBwc19jb3JlIHRoZXJtYWwgW2xhc3QgdW5sb2FkZWQ6IGJ0dXNiXQo+ID4gWzI1NDY3 MC43ODEyNzhdIENQVTogMCBQSUQ6IDI5NTE0IENvbW06IGt3b3JrZXIvdTE2OjEgVGFpbnRlZDog RyAgICAgICAgVyAgT0UgIDMuMTkuOC1hbWQ2NC1pOTE1LXZvbHByZWVtcHQtczIwMTUwNDIxcmMz ICMxCj4gCj4gSSdtIGFsc28gc2VlaW5nIHRoaXMgKHdoaWNoIGxvb2tzIHJlbGF0ZWQpOgo+IFs1 MDIxNDguNjIwNDEyXSBXQVJOSU5HOiBDUFU6IDYgUElEOiAzMDcwNiBhdCBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmM6MzYzMCBpbnRlbF9jcnRjX3dhaXRfZm9yX3BlbmRpbmdf ZmxpcHMrMHgxMmEvMHgxYWQoKQo+IFs1MDIxNDguNjIwNDEzXSBSZW1vdmluZyBzdHVjayBwYWdl IGZsaXAKPiBbNTAyMTQ4LjYyMDQxM10gTW9kdWxlcyBsaW5rZWQgaW46IGl3bG12bSBtYWM4MDIx MSBpd2x3aWZpIGNmZzgwMjExIGUxMDAwZSBidHVzYiB1dmN2aWRlbyB2aWRlb2J1ZjJfdm1hbGxv YyB2aWRlb2J1ZjJfbWVtb3BzIHZpZGVvYnVmMl9jb3JlIHY0bDJfY29tbW9uIHZpZGVvZGV2IHho Y2lfcGNpIGN0ciBjY20gcm5kaXNfaG9zdCBjZGNfZXRoZXIgdXNibmV0IG5sc191dGY4IG5sc19j cDQzNyB2ZmF0IGZhdCBpcHRfUkVKRUNUIG5mX3JlamVjdF9pcHY0IHh0X3RjcHVkcCBuZl9sb2df aXB2NCBuZl9sb2dfY29tbW9uIHh0X0xPRyBpcHRhYmxlX21hbmdsZSBpcDZ0YWJsZV9maWx0ZXIg aXA2X3RhYmxlcyBlYnRhYmxlX25hdCBlYnRhYmxlcyByZmNvbW0gYm5lcCBwY2lfc3R1YiB2Ym94 cGNpKE9FKSB2Ym94bmV0YWRwKE9FKSB2Ym94bmV0Zmx0KE9FKSB2Ym94ZHJ2KE9FKSB4dF9hZGRy dHlwZSB4dF9jb25udHJhY2sgaXB0X01BU1FVRVJBREUgbmZfbmF0X21hc3F1ZXJhZGVfaXB2NCBp cHRhYmxlX25hdCBuZl9jb25udHJhY2tfaXB2NCBuZl9kZWZyYWdfaXB2NCBuZl9uYXRfaXB2NCBp cHRhYmxlX2ZpbHRlciBpcF90YWJsZXMgeF90YWJsZXMgbmZfbmF0IG5mX2Nvbm50cmFjayBicmlk Z2Ugc3RwIGxsYyBhdXRvZnM0IGJpbmZtdF9taXNjIHVpbnB1dCBuZnNkIGF1dGhfcnBjZ3NzIG5m c19hY2wgbmZzIGxvY2tkIGdyYWNlIGZzY2FjaGUgc3VucnBjIGVjcnlwdGZzIGNvbmZpZ3MgcHBk ZXYgcGFycG9ydF9wYyBscCBwYXJwb3J0IGlucHV0X3BvbGxkZXYgbG9vcCBmaXJld2lyZV9zYnAy IGZpcmV3aXJlX2NvcmUgY3JjX2l0dV90IGJsdWV0b290aCBtZWRpYSBqb3lkZXYgYXJjNCBzbmRf aGRhX2NvZGVjX3JlYWx0ZWsgc25kX2hkYV9jb2RlY19nZW5lcmljIHNuZF9oZGFfY29kZWNfaGRt aSBzbmRfaGRhX2ludGVsIHNuZF9oZGFfY29udHJvbGxlciBpbnRlbF9yYXBsIHNuZF9oZGFfY29k ZWMgaW9zZl9tYmkgc25kX2h3ZGVwIHNuZF9wY21fb3NzIHg4Nl9wa2dfdGVtcF90aGVybWFsIGlu dGVsX3Bvd2VyY2xhbXAgc25kX21peGVyX29zcyBzbmRfcGNtIGNvcmV0ZW1wIHJ0c3hfcGNpX21z IGt2bV9pbnRlbCBrdm0gc25kX3NlcV9taWRpIGlUQ09fd2R0IGNyY3QxMGRpZl9wY2xtdWwgc25k X3NlcV9taWRpX2V2ZW50IG1lbXN0aWNrIGlUQ09fdmVuZG9yX3N1cHBvcnQgcnRzeF9wY2lfc2Rt bWMgY3JjMzJfcGNsbXVsIHNuZF9yYXdtaWRpIGdoYXNoX2NsbXVsbmlfaW50ZWwgdGhpbmtwYWRf YWNwaSB4aGNpX2hjZCBzbmRfc2VxIG52cmFtIGkyY19pODAxIHNuZF9zZXFfZGV2aWNlIHBzbW91 c2Ugc25kX3RpbWVyIHJ0c3hfcGNpIHJma2lsbCB1c2Jjb3JlIGxwY19pY2ggbWljcm9jb2RlIHNu ZCBzZyBzZXJpb19yYXcgc2hwY2hwIHNvdW5kY29yZSB1c2JfY29tbW9uIHRwbV90aXMgcGNzcGty IHRwbSBiYXR0ZXJ5IGFjIGllMzEyMDBfZWRhYyBlZGFjX2NvcmUgaW50ZWxfc21hcnRjb25uZWN0 IHdtaSBldmRldiBwcm9jZXNzb3Igc2F0YV9zaWwyNCByODE2OSBtaWkgZnVzZSBmYW4gcmFpZDQ1 NiBtdWx0aXBhdGggbW1jX2Jsb2NrIG1tY19jb3JlIGRtX2NyeXB0IGRtX21vZCBhc3luY19yYWlk Nl9yZWNvdiBhc3luY19wcSBhc3luY194b3IgYXN5bmNfbWVtY3B5IGFzeW5jX3R4IGJsb3dmaXNo X3g4Nl82NCBibG93ZmlzaF9jb21tb24gZWNiIHh0cyBjcmMzMmNfaW50ZWwgYWVzbmlfaW50ZWwg YWVzX3g4Nl82NCBnbHVlX2hlbHBlciBscncgZ2YxMjhtdWwgcHRwIGFibGtfaGVscGVyIGNyeXB0 ZCBwcHNfY29yZSB0aGVybWFsIFtsYXN0IHVubG9hZGVkOiBjZmc4MDIxMV0KPiBbNTAyMTQ4LjYy MDQ2NV0gQ1BVOiA2IFBJRDogMzA3MDYgQ29tbTogWG9yZyBUYWludGVkOiBHICAgICAgICBXICBP RSAgMy4xOS44LWFtZDY0LWk5MTUtdm9scHJlZW1wdC1zMjAxNTA0MjFyYzMgIzEKPiBbNTAyMTQ4 LjYyMDQ2Nl0gSGFyZHdhcmUgbmFtZTogTEVOT1ZPIDIwQkVDVDAvMjBCRUNUMCwgQklPUyBHTUVU MjhXVyAoMS4wOCApIDA5LzE4LzIwMTMKPiBbNTAyMTQ4LjYyMDQ2Nl0gIDAwMDAwMDAwMDAwMDAw MDkgZmZmZjg4MDE0NTBlZmI3OCBmZmZmZmZmZjgxNjc4MjAxIDAwMDAwMDAwMDAwMGExMWQKPiBb NTAyMTQ4LjYyMDQ2OF0gIGZmZmY4ODAxNDUwZWZiYzggZmZmZjg4MDE0NTBlZmJiOCBmZmZmZmZm ZjgxMDU1NmE3IDAwMDAwMDAwMDAwMDAwMDAKPiBbNTAyMTQ4LjYyMDQ3MF0gIGZmZmZmZmZmODE0 OGYyYjkgZmZmZjg4MDQwYjBkZTAwMCBmZmZmODgwNDBiMGE5OWE4IGZmZmY4ODA0MGIwYTk4MDAK PiBbNTAyMTQ4LjYyMDQ3MV0gQ2FsbCBUcmFjZToKPiBbNTAyMTQ4LjYyMDQ3M10gIFs8ZmZmZmZm ZmY4MTY3ODIwMT5dIGR1bXBfc3RhY2srMHg0NS8weDU3Cj4gWzUwMjE0OC42MjA0NzVdICBbPGZm ZmZmZmZmODEwNTU2YTc+XSB3YXJuX3Nsb3dwYXRoX2NvbW1vbisweGExLzB4YmIKPiBbNTAyMTQ4 LjYyMDQ3Nl0gIFs8ZmZmZmZmZmY4MTQ4ZjJiOT5dID8gaW50ZWxfY3J0Y193YWl0X2Zvcl9wZW5k aW5nX2ZsaXBzKzB4MTJhLzB4MWFkCj4gWzUwMjE0OC42MjA0NzhdICBbPGZmZmZmZmZmODEwNTU3 MDc+XSB3YXJuX3Nsb3dwYXRoX2ZtdCsweDQ2LzB4NDgKPiBbNTAyMTQ4LjYyMDQ3OV0gIFs8ZmZm ZmZmZmY4MTA4NDAwND5dID8gZmluaXNoX3dhaXQrMHg1Zi8weDY3Cj4gWzUwMjE0OC42MjA0ODFd ICBbPGZmZmZmZmZmODE0OGYyYjk+XSBpbnRlbF9jcnRjX3dhaXRfZm9yX3BlbmRpbmdfZmxpcHMr MHgxMmEvMHgxYWQKPiBbNTAyMTQ4LjYyMDQ4M10gIFs8ZmZmZmZmZmY4MTA4NDAwYz5dID8gZmlu aXNoX3dhaXQrMHg2Ny8weDY3Cj4gWzUwMjE0OC42MjA0ODRdICBbPGZmZmZmZmZmODE0OGY4ZmI+ XSBpbnRlbF9wcmltYXJ5X3BsYW5lX2Rpc2FibGUrMHg0NC8weGM4Cj4gWzUwMjE0OC42MjA0ODZd ICBbPGZmZmZmZmZmODE0MzExYjY+XSBfX3NldHBsYW5lX2ludGVybmFsKzB4NDMvMHgyODAKPiBb NTAyMTQ4LjYyMDQ4OF0gIFs8ZmZmZmZmZmY4MTQzZDNhYj5dID8gZHJtX21vZGVzZXRfbG9ja19h bGxfY3J0Y3MrMHg2Yy8weDhjCj4gWzUwMjE0OC42MjA0OTBdICBbPGZmZmZmZmZmODE0M2Q0ZWI+ XSA/IF9fZHJtX21vZGVzZXRfbG9ja19hbGwrMHhiMi8weGQ5Cj4gWzUwMjE0OC42MjA0OTFdICBb PGZmZmZmZmZmODE0MzQ1MTE+XSBkcm1fbW9kZV9zZXRwbGFuZSsweDFhMi8weDFjOAo+IFs1MDIx NDguNjIwNDkzXSAgWzxmZmZmZmZmZjgxNDI4NzQ2Pl0gZHJtX2lvY3RsKzB4MmE5LzB4NDFiCj4g WzUwMjE0OC42MjA0OTRdICBbPGZmZmZmZmZmODE0MzQzNmY+XSA/IGRybV9tb2RlX2dldHBsYW5l KzB4ZTMvMHhlMwo+IFs1MDIxNDguNjIwNDk2XSAgWzxmZmZmZmZmZjgxMTdhODFhPl0gZG9fdmZz X2lvY3RsKzB4M2RjLzB4NDIxCj4gWzUwMjE0OC42MjA0OThdICBbPGZmZmZmZmZmODEwYTc4NzU+ XSA/IGN1cnJlbnRfa2VybmVsX3RpbWUrMHhlLzB4MzIKPiBbNTAyMTQ4LjYyMDUwMF0gIFs8ZmZm ZmZmZmY4MTBjZjQ4Mj5dID8gX19hdWRpdF9zeXNjYWxsX2VudHJ5KzB4YmYvMHhlMQo+IFs1MDIx NDguNjIwNTAxXSAgWzxmZmZmZmZmZjgxMTgyNjRlPl0gPyBfX2ZnZXQrMHgyNS8weDVjCj4gWzUw MjE0OC42MjA1MDJdICBbPGZmZmZmZmZmODExN2E4YjI+XSBTeVNfaW9jdGwrMHg1My8weDgxCj4g WzUwMjE0OC42MjA1MDRdICBbPGZmZmZmZmZmODE2N2RjMGQ+XSBzeXN0ZW1fY2FsbF9mYXN0cGF0 aCsweDE2LzB4MWIKPiBbNTAyMTQ4LjYyMDUwNV0gLS0tWyBlbmQgdHJhY2UgNmE0OGEzMzVmYWU4 YjU1YiBdLS0tCj4gCj4gTWFyYwo+IC0tIAo+ICJBIG1vdXNlIGlzIGEgZGV2aWNlIHVzZWQgdG8g cG9pbnQgYXQgdGhlIHh0ZXJtIHlvdSB3YW50IHRvIHR5cGUgaW4iIC0gQS5TLlIuCj4gTWljcm9z b2Z0IGlzIHRvIG9wZXJhdGluZyBzeXN0ZW1zIC4uLi4KPiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC4uLi4gd2hhdCBNY0RvbmFsZHMgaXMgdG8gZ291cm1ldCBjb29raW5n Cj4gSG9tZSBwYWdlOiBodHRwOi8vbWFyYy5tZXJsaW5zLm9yZy8gICAgICAgICAgICAgICAgICAg ICAgICAgfCBQR1AgMTAyNFIvNzYzQkU5MDEKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gCiJBIG1vdXNlIGlzIGEgZGV2aWNlIHVzZWQgdG8g cG9pbnQgYXQgdGhlIHh0ZXJtIHlvdSB3YW50IHRvIHR5cGUgaW4iIC0gQS5TLlIuCk1pY3Jvc29m dCBpcyB0byBvcGVyYXRpbmcgc3lzdGVtcyAuLi4uCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLi4uLiB3aGF0IE1jRG9uYWxkcyBpcyB0byBnb3VybWV0IGNvb2tpbmcKSG9t ZSBwYWdlOiBodHRwOi8vbWFyYy5tZXJsaW5zLm9yZy8gIApfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=