From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Wu Subject: Re: [PATCH] drm/nouveau/fbcon: fix deadlock with FBIOPUT_CON2FBMAP Date: Fri, 15 Jul 2016 13:26:22 +0200 Message-ID: <20160715112622.GB2632@al> References: <20160712164934.1390-1-peter@lekensteyn.nl> <20160713171747.GM6157@nuc-i3427.alporthouse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20160713171747.GM6157-aII6DKEyn0pWYbfKqPwjAkR8Iwp7RQ6xAL8bYrjMMd8@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: Chris Wilson , Dave Airlie , nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Daniel Vetter List-Id: nouveau.vger.kernel.org T24gV2VkLCBKdWwgMTMsIDIwMTYgYXQgMDY6MTc6NDdQTSArMDEwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IE9uIFR1ZSwgSnVsIDEyLCAyMDE2IGF0IDA2OjQ5OjM0UE0gKzAyMDAsIFBldGVyIFd1 IHdyb3RlOgo+ID4gVGhlIEZCSU9QVVRfQ09OMkZCTUFQIGlvY3RsIHRha2VzIGEgY29uc29sZV9s b2NrKCkuIFdoZW4gdGhpcyBpcyBjYWxsZWQKPiA+IHdoaWxlIG5vdXZlYXUgd2FzIHJ1bnRpbWUg c3VzcGVuZGVkLCBhIGRlYWRsb2NrIHdvdWxkIG9jY3VyIGR1ZSB0bwo+ID4gbm91dmVhdV9mYmNv bl9zZXRfc3VzcGVuZCBhbHNvIHRyeWluZyB0byBvYnRhaW4gY29uc29sZV9sb2NrKCkuCj4gPiAK PiA+IEZpeCB0aGlzIGJ5IGRlbGF5aW5nIHRoZSBkcm1fZmJfaGVscGVyX3NldF9zdXNwZW5kIGNh bGwuIEJhc2VkIG9uIHRoZQo+ID4gaTkxNSBjb2RlICh3aGljaCB3YXMgZG9uZSBmb3IgcGVyZm9y bWFuY2UgcmVhc29ucyB0aG91Z2gpLgo+ID4gCj4gPiBDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0Bj aHJpcy13aWxzb24uY28udWs+Cj4gPiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBm ZndsbC5jaD4KPiA+IFNpZ25lZC1vZmYtYnk6IFBldGVyIFd1IDxwZXRlckBsZWtlbnN0ZXluLm5s Pgo+ID4gLS0tCj4gPiBUZXN0ZWQgb24gdG9wIG9mIHY0LjctcmM1LCB0aGUgZGVhZGxvY2sgaXMg Z29uZS4KPiA+IC0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZHJtLmMg ICB8ICA0ICstLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZHJ2LmggICB8 ICAxICsKPiA+ICBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2ZiY29uLmMgfCA1NCAr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vbm91 dmVhdS9ub3V2ZWF1X2ZiY29uLmggfCAgMiArLQo+ID4gIDQgZmlsZXMgY2hhbmdlZCwgNTAgaW5z ZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCj4gPiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2RybS5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUv bm91dmVhdV9kcm0uYwo+ID4gaW5kZXggMTFmOGRkOS4uZjlhMmMxMCAxMDA2NDQKPiA+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZHJtLmMKPiA+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZHJtLmMKPiA+IEBAIC01NTIsNyArNTUyLDcgQEAgbm91 dmVhdV9kb19zdXNwZW5kKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGJvb2wgcnVudGltZSkKPiA+ ICAKPiA+ICAJaWYgKGRldi0+bW9kZV9jb25maWcubnVtX2NydGMpIHsKPiA+ICAJCU5WX0lORk8o ZHJtLCAic3VzcGVuZGluZyBjb25zb2xlLi4uXG4iKTsKPiA+IC0JCW5vdXZlYXVfZmJjb25fc2V0 X3N1c3BlbmQoZGV2LCAxKTsKPiA+ICsJCW5vdXZlYXVfZmJjb25fc2V0X3N1c3BlbmQoZGV2LCBG QklORk9fU1RBVEVfU1VTUEVOREVELCB0cnVlKTsKPiA+ICAJCU5WX0lORk8oZHJtLCAic3VzcGVu ZGluZyBkaXNwbGF5Li4uXG4iKTsKPiA+ICAJCXJldCA9IG5vdXZlYXVfZGlzcGxheV9zdXNwZW5k KGRldiwgcnVudGltZSk7Cj4gPiAgCQlpZiAocmV0KQo+ID4gQEAgLTYzNSw3ICs2MzUsNyBAQCBu b3V2ZWF1X2RvX3Jlc3VtZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBib29sIHJ1bnRpbWUpCj4g PiAgCQlOVl9JTkZPKGRybSwgInJlc3VtaW5nIGRpc3BsYXkuLi5cbiIpOwo+ID4gIAkJbm91dmVh dV9kaXNwbGF5X3Jlc3VtZShkZXYsIHJ1bnRpbWUpOwo+ID4gIAkJTlZfSU5GTyhkcm0sICJyZXN1 bWluZyBjb25zb2xlLi4uXG4iKTsKPiA+IC0JCW5vdXZlYXVfZmJjb25fc2V0X3N1c3BlbmQoZGV2 LCAwKTsKPiA+ICsJCW5vdXZlYXVfZmJjb25fc2V0X3N1c3BlbmQoZGV2LCBGQklORk9fU1RBVEVf UlVOTklORywgZmFsc2UpOwo+ID4gIAl9Cj4gPiAgCj4gPiAgCXJldHVybiAwOwo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZHJ2LmggYi9kcml2ZXJzL2dw dS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Rydi5oCj4gPiBpbmRleCA4MjJhMDIxLi5hNzQzZDE5IDEw MDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kcnYuaAo+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kcnYuaAo+ID4gQEAgLTE0Nyw2 ICsxNDcsNyBAQCBzdHJ1Y3Qgbm91dmVhdV9kcm0gewo+ID4gIAlzdHJ1Y3Qgbm91dmVhdV9jaGFu bmVsICpjaGFubmVsOwo+ID4gIAlzdHJ1Y3QgbnZrbV9ncHVvYmogKm5vdGlmeTsKPiA+ICAJc3Ry dWN0IG5vdXZlYXVfZmJkZXYgKmZiY29uOwo+ID4gKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QgZmJkZXZf c3VzcGVuZF93b3JrOwo+ID4gIAlzdHJ1Y3QgbnZpZl9vYmplY3QgbnZzdzsKPiA+ICAJc3RydWN0 IG52aWZfb2JqZWN0IG50Znk7Cj4gPiAgCXN0cnVjdCBudmlmX25vdGlmeSBmbGlwOwo+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZmJjb24uYyBiL2RyaXZl cnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZmJjb24uYwo+ID4gaW5kZXggZDFmMjQ4Zi4uMDg5 MTU2YSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZmJj b24uYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9mYmNvbi5jCj4g PiBAQCAtNDkyLDE5ICs0OTIsNTMgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZmJfaGVscGVy X2Z1bmNzIG5vdXZlYXVfZmJjb25faGVscGVyX2Z1bmNzID0gewo+ID4gIAkuZmJfcHJvYmUgPSBu b3V2ZWF1X2ZiY29uX2NyZWF0ZSwKPiA+ICB9Owo+ID4gIAo+ID4gK3N0YXRpYyB2b2lkIG5vdXZl YXVfZmJjb25fc3VzcGVuZF93b3JrZXIoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQo+ID4gK3sK PiA+ICsJbm91dmVhdV9mYmNvbl9zZXRfc3VzcGVuZChjb250YWluZXJfb2Yod29yaywKPiA+ICsJ CQkJCSAgICAgICBzdHJ1Y3Qgbm91dmVhdV9kcm0sCj4gPiArCQkJCQkgICAgICAgZmJkZXZfc3Vz cGVuZF93b3JrKS0+ZGV2LAo+ID4gKwkJCQkgIEZCSU5GT19TVEFURV9SVU5OSU5HLAo+ID4gKwkJ CQkgIHRydWUpOwo+ID4gK30KPiA+ICsKPiA+ICB2b2lkCj4gPiAtbm91dmVhdV9mYmNvbl9zZXRf c3VzcGVuZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgc3RhdGUpCj4gPiArbm91dmVhdV9m YmNvbl9zZXRfc3VzcGVuZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgc3RhdGUsIGJvb2wg c3luY2hyb25vdXMpCj4gPiAgewo+ID4gIAlzdHJ1Y3Qgbm91dmVhdV9kcm0gKmRybSA9IG5vdXZl YXVfZHJtKGRldik7Cj4gPiAtCWlmIChkcm0tPmZiY29uKSB7Cj4gPiAtCQljb25zb2xlX2xvY2so KTsKPiA+IC0JCWlmIChzdGF0ZSA9PSBGQklORk9fU1RBVEVfUlVOTklORykKPiA+IC0JCQlub3V2 ZWF1X2ZiY29uX2FjY2VsX3Jlc3RvcmUoZGV2KTsKPiA+IC0JCWRybV9mYl9oZWxwZXJfc2V0X3N1 c3BlbmQoJmRybS0+ZmJjb24tPmhlbHBlciwgc3RhdGUpOwo+ID4gKwlpZiAoIWRybS0+ZmJjb24p Cj4gPiArCQlyZXR1cm47Cj4gPiArCj4gPiArCWlmIChzeW5jaHJvbm91cykgewo+ID4gKwkJLyog Rmx1c2ggYW55IHBlbmRpbmcgd29yayB0byB0dXJuIHRoZSBjb25zb2xlIG9uLCBhbmQgdGhlbgo+ ID4gKwkJICogd2FpdCB0byB0dXJuIGl0IG9mZi4gSXQgbXVzdCBiZSBzeW5jaHJvbm91cyBhcyB3 ZSBhcmUKPiA+ICsJCSAqIGFib3V0IHRvIHN1c3BlbmQgb3IgdW5sb2FkIHRoZSBkcml2ZXIuCj4g PiArCQkgKgo+ID4gKwkJICogTm90ZSB0aGF0IGZyb20gd2l0aGluIHRoZSB3b3JrLWhhbmRsZXIs IHdlIGNhbm5vdCBmbHVzaAo+ID4gKwkJICogb3Vyc2VsdmVzLCBzbyBvbmx5IGZsdXNoIG91dHN0 YW5kaW5nIHdvcmsgdXBvbiBzdXNwZW5kIQo+ID4gKwkJICovCj4gPiAgCQlpZiAoc3RhdGUgIT0g RkJJTkZPX1NUQVRFX1JVTk5JTkcpCj4gPiAtCQkJbm91dmVhdV9mYmNvbl9hY2NlbF9zYXZlX2Rp c2FibGUoZGV2KTsKPiA+IC0JCWNvbnNvbGVfdW5sb2NrKCk7Cj4gPiArCQkJZmx1c2hfd29yaygm ZHJtLT5mYmRldl9zdXNwZW5kX3dvcmspOwo+ID4gKwkJY29uc29sZV9sb2NrKCk7Cj4gPiArCX0g ZWxzZSB7Cj4gPiArCQkvKgo+ID4gKwkJICogVGhlIGNvbnNvbGUgbG9jayBjYW4gYmUgcHJldHR5 IGNvbnRlbnRlZCBvbiByZXN1bWUgZHVlCj4gPiArCQkgKiB0byBhbGwgdGhlIHByaW50ayBhY3Rp dml0eS4gIFRyeSB0byBrZWVwIGl0IG91dCBvZiB0aGUgaG90Cj4gPiArCQkgKiBwYXRoIG9mIHJl c3VtZSBpZiBwb3NzaWJsZS4gIFRoaXMgYWxzbyBwcmV2ZW50cyBhIGRlYWRsb2NrCj4gPiArCQkg KiB3aXRoIEZCSU9QVVRfQ09OMkZCTUFQLgo+ID4gKwkJICovCj4gPiArCQlXQVJOX09OKHN0YXRl ICE9IEZCSU5GT19TVEFURV9SVU5OSU5HKTsKPiA+ICsJCWlmICghY29uc29sZV90cnlsb2NrKCkp IHsKPiA+ICsJCQlzY2hlZHVsZV93b3JrKCZkcm0tPmZiZGV2X3N1c3BlbmRfd29yayk7Cj4gPiAr CQkJcmV0dXJuOwo+ID4gKwkJfQo+ID4gIAl9Cj4gPiArCj4gPiArCWlmIChzdGF0ZSA9PSBGQklO Rk9fU1RBVEVfUlVOTklORykKPiA+ICsJCW5vdXZlYXVfZmJjb25fYWNjZWxfcmVzdG9yZShkZXYp Owo+ID4gKwlkcm1fZmJfaGVscGVyX3NldF9zdXNwZW5kKCZkcm0tPmZiY29uLT5oZWxwZXIsIHN0 YXRlKTsKPiA+ICsJaWYgKHN0YXRlICE9IEZCSU5GT19TVEFURV9SVU5OSU5HKQo+ID4gKwkJbm91 dmVhdV9mYmNvbl9hY2NlbF9zYXZlX2Rpc2FibGUoZGV2KTsKPiA+ICsJY29uc29sZV91bmxvY2so KTsKPiA+ICB9Cj4gPiAgCj4gPiAgaW50Cj4gPiBAQCAtNTI2LDYgKzU2MCw4IEBAIG5vdXZlYXVf ZmJjb25faW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gIAlmYmNvbi0+ZGV2ID0gZGV2 Owo+ID4gIAlkcm0tPmZiY29uID0gZmJjb247Cj4gPiAgCj4gPiArCUlOSVRfV09SSygmZHJtLT5m YmRldl9zdXNwZW5kX3dvcmssIG5vdXZlYXVfZmJjb25fc3VzcGVuZF93b3JrZXIpOwo+ID4gKwo+ ID4gIAlkcm1fZmJfaGVscGVyX3ByZXBhcmUoZGV2LCAmZmJjb24tPmhlbHBlciwgJm5vdXZlYXVf ZmJjb25faGVscGVyX2Z1bmNzKTsKPiA+ICAKPiA+ICAJcmV0ID0gZHJtX2ZiX2hlbHBlcl9pbml0 KGRldiwgJmZiY29uLT5oZWxwZXIsCj4gPiBAQCAtNTcxLDYgKzYwNyw4IEBAIG5vdXZlYXVfZmJj b25fZmluaShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gIAlpZiAoIWRybS0+ZmJjb24pCj4g PiAgCQlyZXR1cm47Cj4gPiAgCj4gPiArCWZsdXNoX3dvcmsoJmRybS0+ZmJkZXZfc3VzcGVuZF93 b3JrKTsKPiAKPiBIbW0sIHNpbmNlIHN1c3BlbmRfd29yayBjYW4gdGhlb3JlY3RpY2FsbHkgcmVh cm0gaXRzZWxmLCB0aGlzIHNob3VsZCBiZQo+IGNhbmNlbF93b3JrX3N5bmMoKS4KCkhvdyBzbz8g VGhlIHdvcmtlciBjYWxscyB3aXRoIHN0YXRlID0gRkJJTkZPX1NUQVRFX1JVTk5JTkcgYW5kCnN5 bmNocm9ub3VzID0gdHJ1ZSwgc28gc2NoZWR1bGVfd29yaygpIGNhbiBuZXZlciBiZSBjYWxsZWQu Cgo+IFRoZSBjb3B5J24ncGFzdGUgb2YgdGhlIGNvZGUgbG9va3MgZmluZSwgc28gKG90aGVyIHRo YW4gdGhlIGJ1ZyBjb3BpZWQKPiBhY3Jvc3MpOgo+IAo+IFJldmlld2VkLWJ5OiBDaHJpcyBXaWxz b24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiAKPiBXaGV0aGVyIHlvdSBjYW4gY29udmlu Y2UgdGhlIG1haW50YWluZXJzIG9uIHRoZSBiYXNpcyBvZiB0aGlzIGJlaW5nIGEKPiBkZWFkbG9j ayBmaXggaXMgYW5vdGhlciBtYXR0ZXIuLi4KPiAKPiBJIGRpZCB0ZXN0IHRoaXMgcGF0Y2gsIHNp bmNlIEkgc2VlIGEgbGl2ZWxvY2sgb24gcmVzdW1lLCBidXQgbm90IHRoZQo+IHNhbWUgY29uc29s ZSBkZWFkbG9jay4gSnVzdCBpbiBjYXNlIGFueW9uZSBpcyBpbnRlcmVzdGVkOgoKVGhpcyBzb3Vu ZHMgbGlrZSBhIGRldmljZSB0aGF0IGlzIHNvbWVob3cgc3RpbGwgc2xlZXBpbmcsIHJlc3VsdGlu ZyBpbgpmYWlsdXJlIHRvIHJlYWQgdGhlIHJlZ2lzdGVyLiBDYW4geW91IGFsd2F5cyByZXByb2R1 Y2UgdGhpcyBzb21laG93PyBJcwp0aGlzIHRoZSBtYWlubGluZSBrZXJuZWwgd2l0aCBqdXN0IHRo aXMgcGF0Y2g/CgpJIGZvdW5kIGFuIGFjcGlkdW1wIGZvciB5b3VyIGxhcHRvcCBvbgpodHRwczov L2J1Z3ppbGxhLmtlcm5lbC5vcmcvc2hvd19idWcuY2dpP2lkPTk5MzgxIGFuZCBpdCBsb29rcyBs aWtlIHlvdQpoYXZlIGEgbmV3ZXIgbGFwdG9wIGRlc2lnbmVkIGZvciBXaW44IG9yIG5ld2VyLiBX ZXJlIHRoZXJlIGFueSBvdGhlcgpBQ1BJIG1lc3NhZ2VzIChsaWtlIGFuIGluZmluaXRlIGxvb3Ap IHByZWNlZGluZyB0aGlzIGRtZXNnPwoKUGV0ZXIKCj4gSnVsIDEzIDE3OjA1OjU5IGFjZXIga2Vy bmVsOiBbMjQ4NzMuOTQ1ODM5XSBOTUkgd2F0Y2hkb2c6IEJVRzogc29mdCBsb2NrdXAgLSBDUFUj MiBzdHVjayBmb3IgMjJzISBba3dvcmtlci8yOjE6ODM3MF0KPiBKdWwgMTMgMTc6MDU6NTkgYWNl ciBrZXJuZWw6IFsyNDg3My45NDY1NjNdIE1vZHVsZXMgbGlua2VkIGluOiByZmNvbW0gZHJiZyBh bnNpX2Nwcm5nIGN0ciBjY20gYXJjNCBibmVwIGF0aDEwa19wY2kgYXRoMTBrX2NvcmUgc25kX2hk YV9jb2RlY19oZG1pIHNuZF9oZGFfY29kZWNfcmVhbHRlayBhdGggc25kX2hkYV9jbwo+IGRlY19n ZW5lcmljIHNuZF9oZGFfaW50ZWwgbWFjODAyMTEgc25kX2hkYV9jb2RlYyBiaW5mbXRfbWlzYyBz bmRfaGRhX2NvcmUgbmxzX2lzbzg4NTlfMSBzbmRfaHdkZXAgYnR1c2IgYnRydGwgc25kX3BjbSBi dGJjbSBydHN4X3VzYl9tcyBidGludGVsIHg4Nl9wa2dfdGVtcF90aGVybWFsIHV2Y3ZpZGVvIGFj ZXJfd21pCj4gIGludGVsX3Bvd2VyY2xhbXAgbWVtc3RpY2sgc25kX3NlcV9taWRpIGJsdWV0b290 aCBzcGFyc2Vfa2V5bWFwIHNuZF9zZXFfbWlkaV9ldmVudCBjb3JldGVtcCB2aWRlb2J1ZjJfdm1h bGxvYyB2aWRlb2J1ZjJfbWVtb3BzIHNuZF9yYXdtaWRpIGt2bV9pbnRlbCB2aWRlb2J1ZjJfdjRs MiBrdm0gY2ZnODAyMTEgdmlkZW8KPiBidWYyX2NvcmUgc25kX3NlcSB2aWRlb2RldiBpcnFieXBh c3Mgc25kX3NlcV9kZXZpY2Ugc25kX3RpbWVyIG1lZGlhIGNyY3QxMGRpZl9wY2xtdWwgc25kIGNy YzMyX3BjbG11bCBoaWRfbXVsdGl0b3VjaCBnaGFzaF9jbG11bG5pX2ludGVsIGFlc25pX2ludGVs IGpveWRldiBhZXNfeDg2XzY0IGxydyBnZjEyOG11bCBnbAo+IHVlX2hlbHBlciBhYmxrX2hlbHBl ciBjcnlwdGQgc291bmRjb3JlIGllMzEyMDBfZWRhYyBlZGFjX2NvcmUgbWVpX21lIHNocGNocCBt ZWkgaW5wdXRfbGVkcyBhY3BpX2FscyBzZXJpb19yYXcga2ZpZm9fYnVmIGxwY19pY2ggaW5kdXN0 cmlhbGlvIHNvY19idXR0b25fYXJyYXkgbWFjX2hpZCBwYXJwb3J0X3BjIHBwZGV2Cj4gIGxwIHBh cnBvcnQgYXV0b2ZzNCBidHJmcyB4b3IgcmFpZDZfcHEgZG1fbWlycm9yIGRtX3JlZ2lvbl9oYXNo IGRtX2xvZyBub3V2ZWF1IHJ0c3hfdXNiX3NkbW1jIHJ0c3hfdXNiIGhpZF9nZW5lcmljIHVzYmhp ZCBoaWQgaTkxNSBicm9hZGNvbSBiY21fcGh5X2xpYiBteG1fd21pIHR0bSBpMmNfYWxnb19iaXQg ZHJtX2sKPiBtc19oZWxwZXIgc3lzY29weWFyZWEgc3lzZmlsbHJlY3Qgc3lzaW1nYmx0IGZiX3N5 c19mb3BzIGRybSB0ZzMgYWhjaSBwdHAgbGliYWhjaSBwcHNfY29yZSB2aWRlbyB3bWkgZmplcwo+ IEp1bCAxMyAxNzowNTo1OSBhY2VyIGtlcm5lbDogWzI0ODczLjk0NjU5OF0gQ1BVOiAyIFBJRDog ODM3MCBDb21tOiBrd29ya2VyLzI6MSBUYWludGVkOiBHICAgICAgICAgICAgIEwgIDQuNy4wLXJj NisgIzQKPiBKdWwgMTMgMTc6MDU6NTkgYWNlciBrZXJuZWw6IFsyNDg3My45NDY1OTldIEhhcmR3 YXJlIG5hbWU6IEFjZXIgQXNwaXJlIFZONy03OTFHL0FzcGlyZSBWTjctNzkxRywgQklPUyBWMS4x MSAwMS8wOS8yMDE1Cj4gSnVsIDEzIDE3OjA1OjU5IGFjZXIga2VybmVsOiBbMjQ4NzMuOTQ2NjAz XSBXb3JrcXVldWU6IHBtIHBtX3J1bnRpbWVfd29yawo+IEp1bCAxMyAxNzowNTo1OSBhY2VyIGtl cm5lbDogWzI0ODczLjk0NjYwNF0gdGFzazogZmZmZjg4MDAyM2M1OWM4MCB0aTogZmZmZjg4MDAy NDA1ODAwMCB0YXNrLnRpOiBmZmZmODgwMDI0MDU4MDAwCj4gSnVsIDEzIDE3OjA1OjU5IGFjZXIg a2VybmVsOiBbMjQ4NzMuOTQ2NjA1XSBSSVA6IDAwMTA6WzxmZmZmZmZmZjgxNDBhNmMwPl0gIFs8 ZmZmZmZmZmY4MTQwYTZjMD5dIGlvcmVhZDMyKzB4MzAvMHg0MAo+IEp1bCAxMyAxNzowNTo1OSBh Y2VyIGtlcm5lbDogWzI0ODczLjk0NjYwOF0gUlNQOiAwMDE4OmZmZmY4ODAwMjQwNWJhZjAgIEVG TEFHUzogMDAwMDAyOTYKPiBKdWwgMTMgMTc6MDU6NTkgYWNlciBrZXJuZWw6IFsyNDg3My45NDY2 MDldIFJBWDogMDAwMDAwMDBmZmZmZmZmZiBSQlg6IGZmZmY4ODA0MTczNGEwMDAgUkNYOiAwMDAw MDAwMDAwMDAwMDE4Cj4gSnVsIDEzIDE3OjA1OjU5IGFjZXIga2VybmVsOiBbMjQ4NzMuOTQ2NjEw XSBSRFg6IDAwMTIyMzBhYWRmOTllNTggUlNJOiBmZmZmYzkwMDA0MTBhMDE0IFJESTogZmZmZmM5 MDAwNDAwOTQxMAo+IEp1bCAxMyAxNzowNTo1OSBhY2VyIGtlcm5lbDogWzI0ODczLjk0NjYxMF0g UkJQOiBmZmZmODgwMDI0MDViYjEwIFIwODogMDAwMDAwMDAwMDAwMDAwOSBSMDk6IGZmZmY4ODA0 MTZjZTAwMDAKPiBKdWwgMTMgMTc6MDU6NTkgYWNlciBrZXJuZWw6IFsyNDg3My45NDY2MTFdIFIx MDogMDAwMDAwMDAwMDAwMDAwYSBSMTE6IDAwMDAwMDAwMDAwMDAwMDEgUjEyOiAwMDAwMDAwMGZm ZmZmZmZmCj4gSnVsIDEzIDE3OjA1OjU5IGFjZXIga2VybmVsOiBbMjQ4NzMuOTQ2NjEyXSBSMTM6 IDAwMDAwMDAwZmZmZmZmZmYgUjE0OiBmZmZmODgwNDE1ZGU2NjAwIFIxNTogZmZmZmZmZmZmZmZm ZmZmZgo+IEp1bCAxMyAxNzowNTo1OSBhY2VyIGtlcm5lbDogWzI0ODczLjk0NjYxM10gRlM6ICAw MDAwMDAwMDAwMDAwMDAwKDAwMDApIEdTOmZmZmY4ODA0NWYyODAwMDAoMDAwMCkga25sR1M6MDAw MDAwMDAwMDAwMDAwMAo+IEp1bCAxMyAxNzowNTo1OSBhY2VyIGtlcm5lbDogWzI0ODczLjk0NjYx NF0gQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMwo+IEp1 bCAxMyAxNzowNTo1OSBhY2VyIGtlcm5lbDogWzI0ODczLjk0NjYxNF0gQ1IyOiAwMDAwN2Y1NjZh NWFjMDEwIENSMzogMDAwMDAwMDAwMmUwNjAwMCBDUjQ6IDAwMDAwMDAwMDAxNDA2ZTAKPiBKdWwg MTMgMTc6MDU6NTkgYWNlciBrZXJuZWw6IFsyNDg3My45NDY2MTVdIFN0YWNrOgo+IEp1bCAxMyAx NzowNTo1OSBhY2VyIGtlcm5lbDogWzI0ODczLjk0NjYxNl0gIGZmZmZmZmZmYzAzYmVlNzEgZmZm Zjg4MDQxNzM0YTAwMCAwMDAwMDAwMDAwMDAwMDAwIGZmZmY4ODA0MTVkZTc5MDgKPiBKdWwgMTMg MTc6MDU6NTkgYWNlciBrZXJuZWw6IFsyNDg3My45NDY2MTddICBmZmZmODgwMDI0MDViYjIwIGZm ZmZmZmZmYzAzYmU5YmYgZmZmZjg4MDAyNDA1YmI1OCBmZmZmZmZmZmMwM2I3MzQwCj4gSnVsIDEz IDE3OjA1OjU5IGFjZXIga2VybmVsOiBbMjQ4NzMuOTQ2NjE4XSAgZmZmZjg4MDQxNWRlNzkwOCBm ZmZmODgwNDE3MzRhMDAwIDAwMDAwNDE0ZWY1YjBlNDAgMDAwMDAwMDAwMDAwMDAxMQo+IEp1bCAx MyAxNzowNTo1OSBhY2VyIGtlcm5lbDogWzI0ODczLjk0NjYyMF0gQ2FsbCBUcmFjZToKPiBKdWwg MTMgMTc6MDU6NTkgYWNlciBrZXJuZWw6IFsyNDg3My45NDY2NDVdICBbPGZmZmZmZmZmYzAzYmVl NzE+XSA/IG52MDRfdGltZXJfcmVhZCsweDUxLzB4NzAgW25vdXZlYXVdCj4gSnVsIDEzIDE3OjA1 OjU5IGFjZXIga2VybmVsOiBbMjQ4NzMuOTQ2NjYxXSAgWzxmZmZmZmZmZmMwM2JlOWJmPl0gbnZr bV90aW1lcl9yZWFkKzB4Zi8weDIwIFtub3V2ZWF1XQo+IEp1bCAxMyAxNzowNTo1OSBhY2VyIGtl cm5lbDogWzI0ODczLjk0NjY3Nl0gIFs8ZmZmZmZmZmZjMDNiNzM0MD5dIG52a21fcG11X2luaXQr MHg1MC8weDQ1MCBbbm91dmVhdV0KPiBKdWwgMTMgMTc6MDU6NTkgYWNlciBrZXJuZWw6IFsyNDg3 My45NDY2ODVdICBbPGZmZmZmZmZmYzAzNzFhYzE+XSBudmttX3N1YmRldl9pbml0KzB4OTEvMHgy MDAgW25vdXZlYXVdCj4gSnVsIDEzIDE3OjA1OjU5IGFjZXIga2VybmVsOiBbMjQ4NzMuOTQ2NzAx XSAgWzxmZmZmZmZmZmMwM2MyZjI2Pl0gbnZrbV9kZXZpY2VfaW5pdCsweDE0Ni8weDI4MCBbbm91 dmVhdV0KPiBKdWwgMTMgMTc6MDU6NTkgYWNlciBrZXJuZWw6IFsyNDg3My45NDY3MTVdICBbPGZm ZmZmZmZmYzAzYzZhMTg+XSBudmttX3VkZXZpY2VfaW5pdCsweDQ4LzB4NjAgW25vdXZlYXVdCj4g SnVsIDEzIDE3OjA1OjU5IGFjZXIga2VybmVsOiBbMjQ4NzMuOTQ2NzI0XSAgWzxmZmZmZmZmZmMw MzcwNDQwPl0gbnZrbV9vYmplY3RfaW5pdCsweDQwLzB4MTkwIFtub3V2ZWF1XQo+IEp1bCAxMyAx NzowNTo1OSBhY2VyIGtlcm5lbDogWzI0ODczLjk0NjczM10gIFs8ZmZmZmZmZmZjMDM3MDRiND5d IG52a21fb2JqZWN0X2luaXQrMHhiNC8weDE5MCBbbm91dmVhdV0KPiBKdWwgMTMgMTc6MDU6NTkg YWNlciBrZXJuZWw6IFsyNDg3My45NDY3NDJdICBbPGZmZmZmZmZmYzAzNmQ1NmU+XSBudmttX2Ns aWVudF9pbml0KzB4ZS8weDEwIFtub3V2ZWF1XQo+IEp1bCAxMyAxNzowNTo1OSBhY2VyIGtlcm5l bDogWzI0ODczLjk0Njc1OF0gIFs8ZmZmZmZmZmZjMDQwYWMwZT5dIG52a21fY2xpZW50X3Jlc3Vt ZSsweGUvMHgxMCBbbm91dmVhdV0KPiBKdWwgMTMgMTc6MDU6NTkgYWNlciBrZXJuZWw6IFsyNDg3 My45NDY3NjddICBbPGZmZmZmZmZmYzAzNmM3Yzc+XSBudmlmX2NsaWVudF9yZXN1bWUrMHgxNy8w eDIwIFtub3V2ZWF1XQo+IEp1bCAxMyAxNzowNTo1OSBhY2VyIGtlcm5lbDogWzI0ODczLjk0Njc4 Ml0gIFs8ZmZmZmZmZmZjMDQwODJmYj5dIG5vdXZlYXVfZG9fcmVzdW1lKzB4NGIvMHgxMzAgW25v dXZlYXVdCj4gSnVsIDEzIDE3OjA1OjU5IGFjZXIga2VybmVsOiBbMjQ4NzMuOTQ2Nzk3XSAgWzxm ZmZmZmZmZmMwNDA4NzA5Pl0gbm91dmVhdV9wbW9wc19ydW50aW1lX3Jlc3VtZSsweDc5LzB4MTIw IFtub3V2ZWF1XQo+IEp1bCAxMyAxNzowNTo1OSBhY2VyIGtlcm5lbDogWzI0ODczLjk0NjgwMF0g IFs8ZmZmZmZmZmY4MTQ0NDhlYj5dIHBjaV9wbV9ydW50aW1lX3Jlc3VtZSsweDdiLzB4YTAKPiBK dWwgMTMgMTc6MDU6NTkgYWNlciBrZXJuZWw6IFsyNDg3My45NDY4MDFdICBbPGZmZmZmZmZmODE1 Njc2ZDM+XSBfX3JwbV9jYWxsYmFjaysweDMzLzB4NzAKPiBKdWwgMTMgMTc6MDU6NTkgYWNlciBr ZXJuZWw6IFsyNDg3My45NDY4MDNdICBbPGZmZmZmZmZmODE0NDQ4NzA+XSA/IHBjaV9yZXN0b3Jl X3N0YW5kYXJkX2NvbmZpZysweDQwLzB4NDAKPiBKdWwgMTMgMTc6MDU6NTkgYWNlciBrZXJuZWw6 IFsyNDg3My45NDY4MDRdICBbPGZmZmZmZmZmODE1Njc3MzQ+XSBycG1fY2FsbGJhY2srMHgyNC8w eDgwCj4gSnVsIDEzIDE3OjA1OjU5IGFjZXIga2VybmVsOiBbMjQ4NzMuOTQ2ODA2XSAgWzxmZmZm ZmZmZjgxNDQ0ODcwPl0gPyBwY2lfcmVzdG9yZV9zdGFuZGFyZF9jb25maWcrMHg0MC8weDQwCj4g SnVsIDEzIDE3OjA1OjU5IGFjZXIga2VybmVsOiBbMjQ4NzMuOTQ2ODA3XSAgWzxmZmZmZmZmZjgx NTY3ZWUxPl0gcnBtX3Jlc3VtZSsweDQ5MS8weDY5MAo+IEp1bCAxMyAxNzowNTo1OSBhY2VyIGtl cm5lbDogWzI0ODczLjk0NjgwOF0gIFs8ZmZmZmZmZmY4MTU2OGYwOD5dIHBtX3J1bnRpbWVfd29y aysweDU4LzB4YTAKPiBKdWwgMTMgMTc6MDU6NTkgYWNlciBrZXJuZWw6IFsyNDg3My45NDY4MTFd ICBbPGZmZmZmZmZmODEwOWFkYmI+XSBwcm9jZXNzX29uZV93b3JrKzB4MTZiLzB4NDgwCj4gSnVs IDEzIDE3OjA1OjU5IGFjZXIga2VybmVsOiBbMjQ4NzMuOTQ2ODEyXSAgWzxmZmZmZmZmZjgxMDli MTFiPl0gd29ya2VyX3RocmVhZCsweDRiLzB4NTAwCj4gSnVsIDEzIDE3OjA1OjU5IGFjZXIga2Vy bmVsOiBbMjQ4NzMuOTQ2ODE0XSAgWzxmZmZmZmZmZjgxMDliMGQwPl0gPyBwcm9jZXNzX29uZV93 b3JrKzB4NDgwLzB4NDgwCj4gSnVsIDEzIDE3OjA1OjU5IGFjZXIga2VybmVsOiBbMjQ4NzMuOTQ2 ODE1XSAgWzxmZmZmZmZmZjgxMDliMGQwPl0gPyBwcm9jZXNzX29uZV93b3JrKzB4NDgwLzB4NDgw Cj4gSnVsIDEzIDE3OjA1OjU5IGFjZXIga2VybmVsOiBbMjQ4NzMuOTQ2ODE2XSAgWzxmZmZmZmZm ZjgxMGExMzQ4Pl0ga3RocmVhZCsweGQ4LzB4ZjAKPiBKdWwgMTMgMTc6MDU6NTkgYWNlciBrZXJu ZWw6IFsyNDg3My45NDY4MThdICBbPGZmZmZmZmZmODE4NDVmZGY+XSByZXRfZnJvbV9mb3JrKzB4 MWYvMHg0MAo+IEp1bCAxMyAxNzowNTo1OSBhY2VyIGtlcm5lbDogWzI0ODczLjk0NjgxOV0gIFs8 ZmZmZmZmZmY4MTBhMTI3MD5dID8ga3RocmVhZF9jcmVhdGVfb25fbm9kZSsweDFhMC8weDFhMAo+ IEp1bCAxMyAxNzowNTo1OSBhY2VyIGtlcm5lbDogWzI0ODczLjk0NjgyMF0gQ29kZTogMDMgMDAg NzcgMjUgNDggODEgZmYgMDAgMDAgMDEgMDAgNzYgMDUgMGYgYjcgZDcgZWQgYzMgNTUgNDggYzcg YzYgZTQgMzYgY2MgODEgNDggODkgZTUgZTggMTkgZmYgZmYgZmYgYjggZmYgZmYgZmYgZmYgNWQg YzMgOGIgMDcgPGMzCj4gPiAwZiAxZiA0NCAwMCAwMCA2NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAw MCAwMCA0OCA4MSBmZSBmZiBmZiAKPiAtQ2hyaXMKPiAKPiAtLSAKPiBDaHJpcyBXaWxzb24sIElu dGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudHJlCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCk5vdXZlYXUgbWFpbGluZyBsaXN0Ck5vdXZlYXVAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vbm91dmVhdQo=