From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [RFC] drm/i915: Fix assert_plane() warning on bootup with external display Date: Thu, 21 Jun 2018 18:46:35 +0300 Message-ID: <20180621154635.GP20518@intel.com> References: <1529299083-151008-1-git-send-email-azhar.shaikh@intel.com> <87bmc8y0b7.fsf@intel.com> <20180618115722.GZ20518@intel.com> <5FFFAD06ADE1CA4381B3F0F7C6AF58280939CDA4@ORSMSX109.amr.corp.intel.com> <20180619115951.GG20518@intel.com> <5FFFAD06ADE1CA4381B3F0F7C6AF58280939DD63@ORSMSX109.amr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 800216E8ED for ; Thu, 21 Jun 2018 15:46:55 +0000 (UTC) Content-Disposition: inline In-Reply-To: <5FFFAD06ADE1CA4381B3F0F7C6AF58280939DD63@ORSMSX109.amr.corp.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Shaikh, Azhar" Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBKdW4gMjEsIDIwMTggYXQgMDE6MDA6NDhBTSArMDAwMCwgU2hhaWtoLCBBemhhciB3 cm90ZToKPiAKPiAKPiA+LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+RnJvbTogVmlsbGUg U3lyasOkbMOkIFttYWlsdG86dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb21dCj4gPlNlbnQ6 IFR1ZXNkYXksIEp1bmUgMTksIDIwMTggNTowMCBBTQo+ID5UbzogU2hhaWtoLCBBemhhciA8YXpo YXIuc2hhaWtoQGludGVsLmNvbT4KPiA+Q2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBsaW51 eC5pbnRlbC5jb20+OyBpbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPlN1YmplY3Q6 IFJlOiBbSW50ZWwtZ2Z4XSBbUkZDXSBkcm0vaTkxNTogRml4IGFzc2VydF9wbGFuZSgpIHdhcm5p bmcgb24gYm9vdHVwCj4gPndpdGggZXh0ZXJuYWwgZGlzcGxheQo+ID4KPiA+T24gTW9uLCBKdW4g MTgsIDIwMTggYXQgMDk6NDA6MzhQTSArMDAwMCwgU2hhaWtoLCBBemhhciB3cm90ZToKPiA+Pgo+ ID4+Cj4gPj4gPi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gPj4gPkZyb206IFZpbGxlIFN5 cmrDpGzDpCBbbWFpbHRvOnZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tXQo+ID4+ID5TZW50 OiBNb25kYXksIEp1bmUgMTgsIDIwMTggNDo1NyBBTQo+ID4+ID5UbzogSmFuaSBOaWt1bGEgPGph bmkubmlrdWxhQGxpbnV4LmludGVsLmNvbT4KPiA+PiA+Q2M6IFNoYWlraCwgQXpoYXIgPGF6aGFy LnNoYWlraEBpbnRlbC5jb20+Owo+ID4+ID5pbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cj4gPj4gPlN1YmplY3Q6IFJlOiBbSW50ZWwtZ2Z4XSBbUkZDXSBkcm0vaTkxNTogRml4IGFzc2Vy dF9wbGFuZSgpIHdhcm5pbmcKPiA+PiA+b24gYm9vdHVwIHdpdGggZXh0ZXJuYWwgZGlzcGxheQo+ ID4+ID4KPiA+PiA+T24gTW9uLCBKdW4gMTgsIDIwMTggYXQgMTE6MTg6NTJBTSArMDMwMCwgSmFu aSBOaWt1bGEgd3JvdGU6Cj4gPj4gPj4gT24gU3VuLCAxNyBKdW4gMjAxOCwgQXpoYXIgU2hhaWto IDxhemhhci5zaGFpa2hAaW50ZWwuY29tPiB3cm90ZToKPiA+PiA+PiA+IE9uIEtCTCwgV0hMIFJW UHMsIGJvb3RpbmcgdXAgd2l0aCBhbiBleHRlcm5hbCBkaXNwbGF5IGNvbm5lY3RlZCwKPiA+PiA+ PiA+IHRyaWdnZXJzIGJlbG93IHdhcm5pbmcuIFRoaXMgd2FybmluZyBpcyBub3Qgc2VlbiBkdXJp bmcgaG90cGx1Zy4KPiA+PiA+PiA+Cj4gPj4gPj4gPiBbICAgIDMuNjE1MjI2XSAtLS0tLS0tLS0t LS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0KPiA+PiA+PiA+IFsgICAgMy42MTk4MjldIHBsYW5l IDFBIGFzc2VydGlvbiBmYWlsdXJlIChleHBlY3RlZCBvbiwgY3VycmVudCBvZmYpCj4gPj4gPj4g PiBbICAgIDMuNjMyMDM5XSBXQVJOSU5HOiBDUFU6IDIgUElEOiAzNTQgYXQKPiA+PiA+ZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jOjEyOTQgYXNzZXJ0X3BsYW5lKzB4NzEvMHhi Ygo+ID4+ID4+ID4gWyAgICAzLjYzMzkyMF0gaXdsd2lmaSAwMDAwOjAwOjE0LjM6IGxvYWRlZCBm aXJtd2FyZSB2ZXJzaW9uCj4gPjM4LmMwZTAzZDk0LjAKPiA+PiA+b3BfbW9kZSBpd2xtdm0KPiA+ PiA+PiA+IFsgICAgMy42NDcxNTddIE1vZHVsZXMgbGlua2VkIGluOiBpd2x3aWZpIGNmZzgwMjEx IGJ0dXNiIGJ0cnRsIGJ0YmNtCj4gPmJ0aW50ZWwKPiA+PiA+Ymx1ZXRvb3RoIGVjZGhfZ2VuZXJp Ywo+ID4+ID4+ID4gWyAgICAzLjY0NzE2M10gQ1BVOiAyIFBJRDogMzU0IENvbW06IGZyZWNvbiBO b3QgdGFpbnRlZCA0LjE3LjAtcmM3LQo+ID41MDE3Ni0KPiA+PiA+ZzY1NWFmMTJkMzljMiAjMwo+ ID4+ID4+ID4gWyAgICAzLjY0NzE2NV0gSGFyZHdhcmUgbmFtZTogSW50ZWwgQ29ycG9yYXRpb24g Q29mZmVlTGFrZSBDbGllbnQKPiA+PiA+UGxhdGZvcm0vV2hpc2tleUxha2UgVSBERFI0IEVSQiwg QklPUwo+ID4+ID5DTkxTRldSMS5SMDAuWDE0MC5CMDAuMTgwNDA0MDMwNCAwNC8wNC8yMDE4Cj4g Pj4gPj4gPiBbICAgIDMuNjg0NTA5XSBSSVA6IDAwMTA6YXNzZXJ0X3BsYW5lKzB4NzEvMHhiYgo+ ID4+ID4+ID4gWyAgICAzLjc2NDQ1MV0gQ2FsbCBUcmFjZToKPiA+PiA+PiA+IFsgICAgMy43NjY4 ODhdICBpbnRlbF9hdG9taWNfY29tbWl0X3RhaWwrMHhhOTcvMHhiNzcKPiA+PiA+PiA+IFsgICAg My43NzE1NjldICBpbnRlbF9hdG9taWNfY29tbWl0KzB4MjZhLzB4Mjc5Cj4gPj4gPj4gPiBbICAg IDMuNzcxNTcyXSAgZHJtX2F0b21pY19oZWxwZXJfc2V0X2NvbmZpZysweDVjLzB4NzYKPiA+PiA+ PiA+IFsgICAgMy43ODA2NzBdICBfX2RybV9tb2RlX3NldF9jb25maWdfaW50ZXJuYWwrMHg2Ni8w eDEwOQo+ID4+ID4+ID4gWyAgICAzLjc4MDY3Ml0gIGRybV9tb2RlX3NldGNydGMrMHg0YzkvMHg1 Y2MKPiA+PiA+PiA+IFsgICAgMy43ODA2NzRdICA/IGRybV9tb2RlX2dldGNydGMrMHgxNjIvMHgx NjIKPiA+PiA+PiA+IFsgICAgMy43ODk3NzRdICA/IGRybV9tb2RlX2dldGNydGMrMHgxNjIvMHgx NjIKPiA+PiA+PiA+IFsgICAgMy43OTgxMDhdICBkcm1faW9jdGxfa2VybmVsKzB4OGQvMHhlNAo+ ID4+ID4+ID4gWyAgICAzLjgwMTkyNl0gIGRybV9pb2N0bCsweDI3ZC8weDM2OAo+ID4+ID4+ID4g WyAgICAzLjgwNTMxMV0gID8gZHJtX21vZGVfZ2V0Y3J0YysweDE2Mi8weDE2Mgo+ID4+ID4+ID4g WyAgICAzLjgwNTMxNF0gID8gc2VsaW51eF9maWxlX2lvY3RsKzB4MTRlLzB4MTk5Cj4gPj4gPj4g PiBbICAgIDMuODA1MzE3XSAgdmZzX2lvY3RsKzB4MjEvMHgyZgo+ID4+ID4+ID4gWyAgICAzLjgx MzgxMl0gIGRvX3Zmc19pb2N0bCsweDQ5MS8weDRiNAo+ID4+ID4+ID4gWyAgICAzLjgxMzgxM10g ID8gc2VjdXJpdHlfZmlsZV9pb2N0bCsweDM3LzB4NGIKPiA+PiA+PiA+IFsgICAgMy44MTM4MTZd ICBrc3lzX2lvY3RsKzB4NTUvMHg3NQo+ID4+ID4+ID4gWyAgICAzLjgyMDY3Ml0gIF9feDY0X3N5 c19pb2N0bCsweDFhLzB4MWUKPiA+PiA+PiA+IFsgICAgMy44MjA2NzRdICBkb19zeXNjYWxsXzY0 KzB4NTEvMHg1Zgo+ID4+ID4+ID4gWyAgICAzLjgyMDY3OF0gIGVudHJ5X1NZU0NBTExfNjRfYWZ0 ZXJfaHdmcmFtZSsweDQ0LzB4YTkKPiA+PiA+PiA+IFsgICAgMy44MjgyMjFdIFJJUDogMDAzMzow eDdiNWUwNDk1Mzk2Nwo+ID4+ID4+ID4gWyAgICAzLjgzNTUwNF0gUlNQOiAwMDJiOjAwMDA3ZmZm MmVhZmI2ZjggRUZMQUdTOiAwMDAwMDI0NiBPUklHX1JBWDoKPiA+PiA+MDAwMDAwMDAwMDAwMDAx MAo+ID4+ID4+ID4gWyAgICAzLjgzNTUwNV0gUkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAw MDAwMDAwMDAwMDAwMiBSQ1g6Cj4gPj4gPjAwMDA3YjVlMDQ5NTM5NjcKPiA+PiA+PiA+IFsgICAg My44MzU1MDVdIFJEWDogMDAwMDdmZmYyZWFmYjczMCBSU0k6IDAwMDAwMDAwYzA2ODY0YTIgUkRJ Ogo+ID4+ID4wMDAwMDAwMDAwMDAwMDBmCj4gPj4gPj4gPiBbICAgIDMuODM1NTA2XSBSQlA6IDAw MDA3ZmZmMmVhZmI3MjAgUjA4OiAwMDAwMDAwMDAwMDAwMDAwIFIwOToKPiA+PiA+MDAwMDAwMDAw MDAwMDAwMAo+ID4+ID4+ID4gWyAgICAzLjgzNTUwN10gUjEwOiAwMDAwMDAwMDAwMDAwMDcwIFIx MTogMDAwMDAwMDAwMDAwMDI0NiBSMTI6Cj4gPj4gPjAwMDAwMDAwMDAwMDAwMGYKPiA+PiA+PiA+ IFsgICAgMy44Nzk5ODhdIFIxMzogMDAwMDU2YmM5ZGQ3ZDIxMCBSMTQ6IDAwMDA3ZmZmMmVhZmI3 MzAgUjE1Ogo+ID4+ID4wMDAwMDAwMGMwNjg2NGEyCj4gPj4gPj4gPiBbICAgIDMuODg3MDgxXSBD b2RlOiA0OCBjNyBjNyAwNiA3MSBhNSBiZSA4NCBjMCA0OCBjNyBjMiAwNiBmZCBhMyBiZSA0OCA4 OQo+ID5mOSA0OAo+ID4+ID4wZiA0NCBjYSA4NCBkYiA0OCAwZiA0NSBkNyA0OCBjNyBjNyBkZiBk MyBhNCBiZSAzMSBjMCBlOCBhZiBhMCBjMCBmZgo+ID4+ID48MGY+IDBiIGViIDJiCj4gPj4gPjQ4 IGM3IGM3IDA2IGZkIGEzIGJlIDg0IGMwIDQ4IGM3IGMyIDA2IDcxIGE1IGJlIDQ4Cj4gPj4gPj4g PiBbICAgIDMuOTA1ODQ1XSBXQVJOSU5HOiBDUFU6IDIgUElEOiAzNTQgYXQKPiA+PiA+ZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jOjEyOTQgYXNzZXJ0X3BsYW5lKzB4NzEvMHhi Ygo+ID4+ID4+ID4gWyAgICAzLjkyMDk2NF0gLS0tWyBlbmQgdHJhY2UgZGFjNjkyZjRhYzQ2Mzkx YSBdLS0tCj4gPj4gPj4gPgo+ID4+ID4+ID4gVGhlIHdhcm5pbmcgaXMgc2VlbiB3aGVuIG1vZGVf c2V0Y3J0YygpIGlzIGNhbGxlZCBmb3IgcGlwZUIKPiA+PiA+PiA+IGR1cmluZyBib290dXAgYW5k IGJlZm9yZSB3ZSBnZXQgYSBtb2RlX3NldGNydGMoKSBmb3IgcGlwZUEsIHdoaWxlCj4gPj4gPj4g PiBkb2luZwo+ID4+ID4+ID4gdXBkYXRlX2NydGNzKCkgaW4gaW50ZWxfYXRvbWljX2NvbW1pdF90 YWlsKCkuCj4gPj4gPj4gPiBOb3cgc2luY2UsIHBsYW5lMUEgaXMgc3RpbGwgYWN0aXZlIGFmdGVy IGNvbW1pdCwgdXBkYXRlX2NydGNzKCkKPiA+PiA+PiA+IGlzIGRvbmUgZm9yIHBpcGVBIGFuZCBl dmVudHVhbGx5IHVwZGF0ZV9wbGFuZSgpIGZvciBwbGFuZTFBLgo+ID4+ID4+ID4KPiA+PiA+PiA+ IGludGVsX3BsYW5lX3N0YXRlLT5jdGwgZm9yIHBsYW5lMUEgaXMgbm90IHVwZGF0ZWQgc2luY2UK PiA+PiA+PiA+IHNldF9tb2RlY3J0YygpIGlzIGNhbGxlZCBmb3IgcGlwZUIuIFNvIGludGVsX3Bs YW5lX3N0YXRlLT5jdGwgZm9yCj4gPj4gPj4gPiBwbGFuZSAxQQo+ID4+ID53aWxsIGJlIDB4MC4K PiA+PiA+PiA+IFNvIGRvaW5nIGFuIHVwZGF0ZV9wbGFuZSgpIGZvciBwbGFuZTFBLCB3aWxsIHJl c3VsdCBpbiBjbGVhcmluZwo+ID4+ID4+ID4gUExBTkVfQ1RMX0VOQUJMRSBiaXQsIGFuZCBoZW5j ZSB0aGUgd2FybmluZy4KPiA+PiA+PiA+Cj4gPj4gPj4gPiBUbyBmaXggdGhpcyB3YXJuaW5nLCBw cmlvciB0byB1cGRhdGluZyB0aGUgUExBTkVfQ1RMIHJlZ2lzdGVyCj4gPj4gPj4gPiB3aXRoIGlu dGVsX3BsYW5lX3N0YXRlLT5jdGwgdmFsdWUsIHJlYWQgUExBTkVfQ1RMIHJlZ2lzdGVyLCBPUiBp dAo+ID4+ID4+ID4gd2l0aCBpbnRlbF9wbGFuZV9zdGF0ZS0+Y3RsIGFuZCB0aGVuIHdyaXRlIGl0 IHRvIFBMQU5FX0NUTAo+ID4+ID4+ID4gcmVnaXN0ZXIgaW5zdGVhZCBvZiBqdXN0IHJlbHlpbmcg b24gaW50ZWxfcGxhbmVfc3RhdGUtPmN0bCB2YWx1ZS4KPiA+PiA+PiA+Cj4gPj4gPj4gPiBTaWdu ZWQtb2ZmLWJ5OiBBemhhciBTaGFpa2ggPGF6aGFyLnNoYWlraEBpbnRlbC5jb20+Cj4gPj4gPj4g PiAtLS0KPiA+PiA+PiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyB8IDMg KysrCj4gPj4gPj4gPiAgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQo+ID4+ID4+ID4K PiA+PiA+PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUu Ywo+ID4+ID4+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+ID4+ID4+ ID4gaW5kZXggMzQ0YzBlNzA5YjE5Li5iNDkxYjFmYmRlYTEgMTAwNjQ0Cj4gPj4gPj4gPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+ID4+ID4+ID4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiA+PiA+PiA+IEBAIC0yNTQsNiArMjU0 LDcgQEAgdm9pZCBpbnRlbF9waXBlX3VwZGF0ZV9lbmQoc3RydWN0Cj4gPj4gPmludGVsX2NydGNf c3RhdGUgKm5ld19jcnRjX3N0YXRlKQo+ID4+ID4+ID4gIAl1aW50MzJfdCBzcmNfdyA9IGRybV9y ZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+YmFzZS5zcmMpID4+IDE2Owo+ID4+ID4+ID4gIAl1aW50 MzJfdCBzcmNfaCA9IGRybV9yZWN0X2hlaWdodCgmcGxhbmVfc3RhdGUtPmJhc2Uuc3JjKSA+PiAx NjsKPiA+PiA+PiA+ICAJdW5zaWduZWQgbG9uZyBpcnFmbGFnczsKPiA+PiA+PiA+ICsJdTMyIHZh bDsKPiA+PiA+PiA+Cj4gPj4gPj4gPiAgCS8qIFNpemVzIGFyZSAwIGJhc2VkICovCj4gPj4gPj4g PiAgCXNyY193LS07Cj4gPj4gPj4gPiBAQCAtMzIyLDYgKzMyMyw4IEBAIHZvaWQgaW50ZWxfcGlw ZV91cGRhdGVfZW5kKHN0cnVjdAo+ID4+ID5pbnRlbF9jcnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0 ZSkKPiA+PiA+PiA+ICAJCUk5MTVfV1JJVEVfRlcoUExBTkVfUE9TKHBpcGUsIHBsYW5lX2lkKSwg KGNydGNfeSA8PCAxNikgfAo+ID4+ID5jcnRjX3gpOwo+ID4+ID4+ID4gIAl9Cj4gPj4gPj4gPgo+ ID4+ID4+ID4gKwl2YWwgPSBJOTE1X1JFQURfRlcoUExBTkVfQ1RMKHBpcGUsIHBsYW5lX2lkKSk7 Cj4gPj4gPj4gPiArCXBsYW5lX2N0bCB8PSB2YWw7Cj4gPj4gPj4KPiA+PiA+PiBZb3UgZ2V0IHRo ZSB3YXJuaW5nIGJhY2t0cmFjZSBmcm9tIG91ciBzdGF0ZSBjaGVja2VyLCB0aGUgcHVycG9zZQo+ ID4+ID4+IG9mIHdoaWNoIGlzIHRvIGVuc3VyZSB0aGF0IG91ciBzb2Z0d2FyZSBzdGF0ZSBhbmQg aGFyZHdhcmUgc3RhdGUgbWF0Y2guCj4gPj4gPj4gVGhpcyBjaGFuZ2UgZGVmZWF0cyB0aGUgcHVy cG9zZSBvZiB0aGUgc3RhdGUgY2hlY2tlciBieSByZWx5aW5nIG9uCj4gPj4gPj4gdGhlIGhhcmR3 YXJlIHN0YXRlIHVzaW5nIGEgcmVhZC1tb2RpZnktd3JpdGUuIFRoZSBzdGF0ZXMgd2lsbCBiZQo+ ID4+ID4+IG91dCBvZiBzeW5jIGFuZCB3ZSB3b24ndCBldmVuIGtub3cuCj4gPj4gPj4KPiA+PiA+ PiBUaGUgcmVhbCBmaXgsIEkgdGhpbmsgYXQgbGVhc3QgYmVmb3JlIEkgZ3JhYiBhbm90aGVyIGN1 cCBvZgo+ID4+ID4+IGRlc3BlcmF0ZWx5IG5lZWRlZCBjb2ZmZWUsIGlzIHRvIGZpeCB0aGUgc3Rh dGUgcmVhZG91dCBkdXJpbmcgcHJvYmUuCj4gPj4gPgo+ID4+ID5GdWxsIHBsYW5lIHN0YXRlIHJl YWRvdXQgd291bGQgcmVxdWlyZSBhIGJpdCBvZiB3b3JrLiBXb3VsZCBiZSBuaWNlCj4gPj4gPnRv IGhhdmUgaW5kZWVkLCBidXQgcHJvYmFibHkgcXVpY2tlciB0byBqdXN0IGZvcmNlIGFsbCBwbGFu ZXMgdG8gcmVjb21wdXRlCj4gPnRoZWlyIHN0YXRlcy4KPiA+PiA+SSdtIHRoaW5raW5nIHRoYXQg c2hvdWxkIGJlIGhhcHBlbmluZyBhbHJlYWR5LCBidXQgbWF5YmUgSSdtIG1pc3Rha2VuLgo+ID4+ ID4KPiA+Pgo+ID4+ID4gZm9yY2UgYWxsIHBsYW5lcyB0byByZWNvbXB1dGUgdGhlaXIgc3RhdGVz Cj4gPj4KPiA+PiBBbGwgcGxhbmVzIG9uIGFsbCBwaXBlcyBuZWVkIHRvIHJlY29tcHV0ZSBvciBv bmx5IHRoZSBwaXBlIHdoaWNoIGlzIGluCj4gPm1vZGVzZXQ/Cj4gPgo+ID5BbnkgYWN0aXZlIHBp cGUgdGFraW5nIHBhcnQgaW4gdGhlIGNvbW1pdCB0aGF0IGhhc24ndCBoYWQgaXRzIHN0YXRlIGZ1 bGx5Cj4gPnJlY29tcHV0ZWQgeWV0Lgo+ID4KPiAKPiBGb3Igbm93IEkgdHJpZWQgcmVhZG91dCBv ZiBQTEFORV9DVEwgYW5kIFBMQU5FX0NPTE9SX0NUTCwgdXBkYXRpbmcgdGhlIG5ld19pbnRlbF9w bGFuZV9zdGF0ZSB3aXRoIHRoZXNlIHZhbHVlcyBpbiBpbnRlbF9wcmVfcGxhbmVfdXBkYXRlX3Bs YW5lKCkgYmVmb3JlIGNhbGxpbmcgc2tsX3VwZGF0ZV9wbGFuZSgpLiBXaXRoIHRoaXMgY2hhbmdl IGVEUCBpcyBjb3JydXB0ZWQgYW5kIGV4dGVybmFsIGRpc3BsYXkgZmFpbHMgdG8gY29tZSB1cC4K ClRoZSByZWFkb3V0IHNob3VsZCBnbyB0byB0aGUgaW5pdGlhbF9wbGFuZV9jb25maWcoKSB0aGlu Zywgd2hpY2ggaXMKaW1tcGxlbWVudGVkIGluIGEgc29ydCBvZiBhc3MgYmFja3dhcmRzIHdheS4g SWRlYWxseSB3ZSdkIHdhbnQgdG8gZG8gYQpmdWxsIHBsYW5lIHN0YXRlIHJlYWRvdXQgZmlyc3Qs IHRoZW4gcmVjb25zdHJ1Y3QgdGhlIGZiIGJhc2VkIG9uIHRoYXQKc3RhdGUuIEN1cnJlbnRseSB3 ZSBkbyBpdCBiYXNpY2FsbHkgdGhlIG90aGVyIHdheSBhcm91bmQuCgpPbmUgdGhpbmcgSSB3YXMg YWxzbyB0aGlua2luZyBpcyB0aGF0IGV2ZW50dWFsbHkgd2UgbWlnaHQgd2FudCB0byBjcmVhdGUK c29tZSBraW5kIG9mIHBsYWNlaG9sZGVyIGZiIGZvciBldmVyeSBlbmFibGVkIHBsYW5lLCBldmVu IGlmIGFyZW4ndCBnb2luZwp0byB0YWtlIG92ZXIgdGhhdCBmYiBsYXRlci4gVGhhdCB3YXkgd2Ug Y291bGQgdXNlIHRoZSBub3JtYWwgYXRvbWljIHBhdGhzCnRvIGRpc2FibGUgYWxsIHBsYW5lcyB3 ZSBkb24ndCB3YW50IGVuYWJsZWQuCgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=