From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v7 1/2] drm: content-type property for HDMI connector Date: Wed, 2 May 2018 13:08:40 +0200 Message-ID: <20180502110840.GA12521@phenom.ffwll.local> References: <20180423073442.23980-1-stanislav.lisovskiy@intel.com> <20180423073442.23980-2-stanislav.lisovskiy@intel.com> <20180427194000.GD23723@intel.com> <20180430150053.GL12521@phenom.ffwll.local> <86b3ac5958f71b507650630e4d2faaa48919d25b.camel@intel.com> <20180502081517.GZ12521@phenom.ffwll.local> <45ece19fc89aadb4b5b449cc6d16b6c50eafddd3.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <45ece19fc89aadb4b5b449cc6d16b6c50eafddd3.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Lisovskiy, Stanislav" Cc: "daniel.vetter@ffwll.ch" , "dri-devel@lists.freedesktop.org" , "intel-gfx@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBNYXkgMDIsIDIwMTggYXQgMDk6MDg6MTFBTSArMDAwMCwgTGlzb3Zza2l5LCBTdGFu aXNsYXYgd3JvdGU6Cj4gT24gV2VkLCAyMDE4LTA1LTAyIGF0IDEwOjE1ICswMjAwLCBEYW5pZWwg VmV0dGVyIHdyb3RlOgo+ID4gPiAKPiA+IE9uIFdlZCwgTWF5IDAyLCAyMDE4IGF0IDA4OjA5OjI0 QU0gKzAwMDAsIExpc292c2tpeSwgU3RhbmlzbGF2IHdyb3RlOgo+ID4gPiBPbiBNb24sIDIwMTgt MDQtMzAgYXQgMTc6MDAgKzAyMDAsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gPiA+ID4gT24gRnJp LCBBcHIgMjcsIDIwMTggYXQgMTA6NDA6MDBQTSArMDMwMCwgVmlsbGUgU3lyasOkbMOkIHdyb3Rl Ogo+ID4gPiA+ID4gT24gTW9uLCBBcHIgMjMsIDIwMTggYXQgMTA6MzQ6NDFBTSArMDMwMCwgU3Rh bkxpcyB3cm90ZToKPiA+ID4gPiA+ID4gRnJvbTogU3RhbmlzbGF2IExpc292c2tpeSA8c3Rhbmlz bGF2Lmxpc292c2tpeUBpbnRlbC5jb20+Cj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBBZGRlZCBj b250ZW50X3R5cGUgcHJvcGVydHkgdG8gZHJtX2Nvbm5lY3Rvcl9zdGF0ZQo+ID4gPiA+ID4gPiBp biBvcmRlciB0byBwcm9wZXJseSBoYW5kbGUgZXh0ZXJuYWwgSERNSSBUViBjb250ZW50LXR5cGUK PiA+ID4gPiA+ID4gc2V0dGluZy4KPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IHYyOgo+ID4gPiA+ ID4gPiAgKiBNb3ZlZCBoZWxwZXIgZnVuY3Rpb24gd2hpY2ggYXR0YWNoZXMgY29udGVudCB0eXBl IHByb3BlcnR5Cj4gPiA+ID4gPiA+ICAgIHRvIHRoZSBkcm0gY29yZSwgYXMgd2FzIHN1Z2dlc3Rl ZC4KPiA+ID4gPiA+ID4gICAgUmVtb3ZlZCByZWR1bmRhbnQgY29ubmVjdG9yIHN0YXRlIGluaXRp YWxpemF0aW9uLgo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gdjM6Cj4gPiA+ID4gPiA+ICAqIFJl bW92ZWQgY2FwcyBpbiBkcm1fY29udGVudF90eXBlX2VudW1fbGlzdC4KPiA+ID4gPiA+ID4gICAg QWZ0ZXIgc29tZSBkaXNjdXNzaW9uIGl0IHR1cm5lZCBvdXQgdGhhdCBIRE1JIFNwZWMgMS40Cj4g PiA+ID4gPiA+ICAgIHdhcyB3cm9uZ2x5IGFzc3VtaW5nIHRoYXQgSVQgQ29udGVudChpdGMpIGJp dCBkb2Vzbid0Cj4gPiA+ID4gPiA+IGFmZmVjdAo+ID4gPiA+ID4gPiAgICBDb250ZW50IHR5cGUg c3RhdGVzLCBob3dldmVyIGl0YyBiaXQgbmVlZHMgdG8gYmUKPiA+ID4gPiA+ID4gbWFudXB1bGF0 ZWQKPiA+ID4gPiA+ID4gICAgYXMgd2VsbC4gSW4gb3JkZXIgdG8gbm90IGV4cG9zZSBhZGRpdGlv bmFsIHByb3BlcnR5IGZvcgo+ID4gPiA+ID4gPiBpdGMsCj4gPiA+ID4gPiA+ICAgIGZvciBzYWtl IG9mIHNpbXBsaWNpdHkgaXQgd2FzIGRlY2lkZWQgdG8gYmluZCB0aG9zZQo+ID4gPiA+ID4gPiB0 b2dldGhlcgo+ID4gPiA+ID4gPiAgICBpbiBzYW1lICJjb250ZW50IHR5cGUiIHByb3BlcnR5Lgo+ ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gdjQ6Cj4gPiA+ID4gPiA+ICAqIEFkZGVkIGl0X2NvbnRl bnQgY2hlY2tpbmcgaW4KPiA+ID4gPiA+ID4gaW50ZWxfZGlnaXRhbF9jb25uZWN0b3JfYXRvbWlj X2NoZWNrLgo+ID4gPiA+ID4gPiAgICBGaXhlZCBkb2N1bWVudGF0aW9uIGZvciBuZXcgY29udGVu dCB0eXBlIGVudW0uCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiB2NToKPiA+ID4gPiA+ID4gICog TW92ZWQgcGF0Y2ggcmV2aXNpb24ncyBkZXNjcmlwdGlvbiB0byBjb21taXQgbWVzc2FnZXMuCj4g PiA+ID4gPiA+IAo+ID4gPiA+ID4gPiB2NjoKPiA+ID4gPiA+ID4gICogTWlub3IgbmFtaW5nIGZp eCBmb3IgdGhlIGNvbnRlbnQgdHlwZSBlbnVtZXJhdGlvbiBzdHJpbmcuCj4gPiA+ID4gPiA+IAo+ ID4gPiA+ID4gPiB2NzoKPiA+ID4gPiA+ID4gICogRml4IHBhcmFtZXRlciBuYW1lIGZvciBkb2N1 bWVudGF0aW9uIGFuZCBwYXJhbWV0ZXIKPiA+ID4gPiA+ID4gYWxpZ25tZW50Cj4gPiA+ID4gPiA+ ICAgIGluIG9yZGVyIG5vdCB0byBnZXQgd2FybmluZy4gQWRkZWQgQ29udGVudCBUeXBlCj4gPiA+ ID4gPiA+IGRlc2NyaXB0aW9uIHRvCj4gPiA+ID4gPiA+ICAgIG5ldyBIRE1JIGNvbm5lY3RvciBw cm9wZXJ0aWVzIHNlY3Rpb24uCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5 OiBTdGFuaXNsYXYgTGlzb3Zza2l5IDxzdGFuaXNsYXYubGlzb3Zza2l5QGludGVsCj4gPiA+ID4g PiA+IC5jb20KPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IC0tLQo+ID4g PiA+ID4gPiAgRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy5yc3QgICAgICAgIHwgIDYgKysrCj4g PiA+ID4gPiA+ICBEb2N1bWVudGF0aW9uL2dwdS9rbXMtcHJvcGVydGllcy5jc3YgfCAgMSArCj4g PiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jICAgICAgICAgfCAxNyArKysr KysrCj4gPiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jICAgICAgfCA3 NAo+ID4gPiA+ID4gPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gPiA+ID4gPiA+ICBk cml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYyAgICAgICAgICAgfCAgMiArCj4gPiA+ID4gPiA+ICBp bmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmggICAgICAgICAgfCAxOCArKysrKysrCj4gPiA+ID4g PiA+ICBpbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaCAgICAgICAgfCAgNSArKwo+ID4gPiA+ ID4gPiAgaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oICAgICAgICAgIHwgIDcgKysrCj4gPiA+ ID4gPiA+ICA4IGZpbGVzIGNoYW5nZWQsIDEzMCBpbnNlcnRpb25zKCspCj4gPiA+ID4gPiA+IAo+ ID4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy5yc3QKPiA+ ID4gPiA+ID4gYi9Eb2N1bWVudGF0aW9uL2dwdS9kcm0ta21zLnJzdAo+ID4gPiA+ID4gPiBpbmRl eCAxZGZmZDFhYzRjZDQuLmUyMzNjMjYyNmJkMCAxMDA2NDQKPiA+ID4gPiA+ID4gLS0tIGEvRG9j dW1lbnRhdGlvbi9ncHUvZHJtLWttcy5yc3QKPiA+ID4gPiA+ID4gKysrIGIvRG9jdW1lbnRhdGlv bi9ncHUvZHJtLWttcy5yc3QKPiA+ID4gPiA+ID4gQEAgLTUxNyw2ICs1MTcsMTIgQEAgU3RhbmRh cmQgQ29ubmVjdG9yIFByb3BlcnRpZXMKPiA+ID4gPiA+ID4gIC4uIGtlcm5lbC1kb2M6OiBkcml2 ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4gPiA+ID4gPiA+ICAgICA6ZG9jOiBzdGFuZGFy ZCBjb25uZWN0b3IgcHJvcGVydGllcwo+ID4gPiA+ID4gPiAgCj4gPiA+ID4gPiA+ICtIRE1JIFNw ZWNpZmljIENvbm5lY3RvciBQcm9wZXJ0aWVzCj4gPiA+ID4gPiA+ICstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQo+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICsuLiBrZXJuZWwtZG9jOjog ZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+ID4gPiA+ID4gPiArICAgOmRvYzogSERN SSBjb25uZWN0b3IgcHJvcGVydGllcwo+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICBQbGFuZSBD b21wb3NpdGlvbiBQcm9wZXJ0aWVzCj4gPiA+ID4gPiA+ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCj4gPiA+ID4gPiA+ICAKPiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRp b24vZ3B1L2ttcy1wcm9wZXJ0aWVzLmNzdgo+ID4gPiA+ID4gPiBiL0RvY3VtZW50YXRpb24vZ3B1 L2ttcy1wcm9wZXJ0aWVzLmNzdgo+ID4gPiA+ID4gPiBpbmRleCA2YjI4YjAxNGNiN2QuLjM1Njdj OTg2YmQ3ZCAxMDA2NDQKPiA+ID4gPiA+ID4gLS0tIGEvRG9jdW1lbnRhdGlvbi9ncHUva21zLXBy b3BlcnRpZXMuY3N2Cj4gPiA+ID4gPiA+ICsrKyBiL0RvY3VtZW50YXRpb24vZ3B1L2ttcy1wcm9w ZXJ0aWVzLmNzdgo+ID4gPiA+ID4gPiBAQCAtMTcsNiArMTcsNyBAQCBPd25lciBNb2R1bGUvRHJp dmVycyxHcm91cCxQcm9wZXJ0eQo+ID4gPiA+ID4gPiBOYW1lLFR5cGUsUHJvcGVydHkgVmFsdWVz LE9iamVjdCBhdHRhY2hlZCxEZQo+ID4gPiA+ID4gPiAgLFZpcnR1YWwgR1BVLOKAnHN1Z2dlc3Rl ZCBY4oCdLFJBTkdFLCJNaW49MCwKPiA+ID4gPiA+ID4gTWF4PTB4ZmZmZmZmZmYiLENvbm5lY3Rv cixwcm9wZXJ0eSB0byBzdWdnZXN0IGFuIFggb2Zmc2V0IGZvcgo+ID4gPiA+ID4gPiBhCj4gPiA+ ID4gPiA+IGNvbm5lY3Rvcgo+ID4gPiA+ID4gPiAgLCzigJxzdWdnZXN0ZWQgWeKAnSxSQU5HRSwi TWluPTAsCj4gPiA+ID4gPiA+IE1heD0weGZmZmZmZmZmIixDb25uZWN0b3IscHJvcGVydHkKPiA+ ID4gPiA+ID4gdG8gc3VnZ2VzdCBhbiBZIG9mZnNldCBmb3IgYSBjb25uZWN0b3IKPiA+ID4gPiA+ ID4gICxPcHRpb25hbCwiIiJhc3BlY3QgcmF0aW8iIiIsRU5VTSwieyAiIk5vbmUiIiwgIiI0OjMi IiwKPiA+ID4gPiA+ID4gIiIxNjo5IiIKPiA+ID4gPiA+ID4gfSIsQ29ubmVjdG9yLFREQgo+ID4g PiA+ID4gPiArLE9wdGlvbmFsLCIiImNvbnRlbnQgdHlwZSIiIixFTlVNLCJ7ICIiTm8gRGF0YSIi LAo+ID4gPiA+ID4gPiAiIkdyYXBoaWNzIiIsCj4gPiA+ID4gPiA+ICIiUGhvdG8iIiwgIiJDaW5l bWEiIiwgIiJHYW1lIiIgfSIsQ29ubmVjdG9yLFRCRAo+ID4gPiA+ID4gPiAgaTkxNSxHZW5lcmlj LCIiIkJyb2FkY2FzdCBSR0IiIiIsRU5VTSwieyAiIkF1dG9tYXRpYyIiLAo+ID4gPiA+ID4gPiAi IkZ1bGwiIiwgIiJMaW1pdGVkIDE2OjIzNSIiIH0iLENvbm5lY3RvciwiV2hlbiB0aGlzIHByb3Bl cnR5Cj4gPiA+ID4gPiA+IGlzCj4gPiA+ID4gPiA+IHNldCB0byBMaW1pdGVkIDE2OjIzNSBhbmQg Q1RNIGlzIHNldCwgdGhlIGhhcmR3YXJlIHdpbGwgYmUKPiA+ID4gPiA+ID4gcHJvZ3JhbW1lZCB3 aXRoIHRoZSByZXN1bHQgb2YgdGhlIG11bHRpcGxpY2F0aW9uIG9mIENUTSBieQo+ID4gPiA+ID4g PiB0aGUKPiA+ID4gPiA+ID4gbGltaXRlZCByYW5nZSBtYXRyaXggdG8gZW5zdXJlIHRoZSBwaXhl bHMgbm9ybWFseSBpbiB0aGUKPiA+ID4gPiA+ID4gcmFuZ2UKPiA+ID4gPiA+ID4gMC4uMS4wIGFy ZSByZW1hcHBlZCB0byB0aGUgcmFuZ2UgMTYvMjU1Li4yMzUvMjU1LiIKPiA+ID4gPiA+ID4gICws 4oCcYXVkaW/igJ0sRU5VTSwieyAiImZvcmNlLWR2aSIiLCAiIm9mZiIiLCAiImF1dG8iIiwgIiJv biIiCj4gPiA+ID4gPiA+IH0iLENvbm5lY3RvcixUQkQKPiA+ID4gPiA+ID4gICxTRFZPLVRWLOKA nG1vZGXigJ0sRU5VTSwieyAiIk5UU0NfTSIiLCAiIk5UU0NfSiIiLAo+ID4gPiA+ID4gPiAiIk5U U0NfNDQzIiIsCj4gPiA+ID4gPiA+ICIiUEFMX0IiIiB9IGV0Yy4iLENvbm5lY3RvcixUQkQKPiA+ ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiA+ID4g PiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gPiA+ID4gPiA+IGluZGV4IDdk MjVjNDJmMjJkYi4uNDc5NDk5ZjU4NDhlIDEwMDY0NAo+ID4gPiA+ID4gPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gPiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljLmMKPiA+ID4gPiA+ID4gQEAgLTEyNjYsNiArMTI2NiwxNSBAQCBzdGF0aWMgaW50 Cj4gPiA+ID4gPiA+IGRybV9hdG9taWNfY29ubmVjdG9yX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJt X2Nvbm5lY3Rvcgo+ID4gPiA+ID4gPiAqY29ubmVjdG9yLAo+ID4gPiA+ID4gPiAgCQkJc3RhdGUt Pmxpbmtfc3RhdHVzID0gdmFsOwo+ID4gPiA+ID4gPiAgCX0gZWxzZSBpZiAocHJvcGVydHkgPT0g Y29uZmlnLQo+ID4gPiA+ID4gPiA+YXNwZWN0X3JhdGlvX3Byb3BlcnR5KSB7Cj4gPiA+ID4gPiA+ ICAJCXN0YXRlLT5waWN0dXJlX2FzcGVjdF9yYXRpbyA9IHZhbDsKPiA+ID4gPiA+ID4gKwl9IGVs c2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0KPiA+ID4gPiA+ID4gPmNvbnRlbnRfdHlwZV9wcm9w ZXJ0eSkgewo+ID4gPiA+ID4gPiArCQkvKgo+ID4gPiA+ID4gPiArCQkgKiBMb3dlc3QgdHdvIGJp dHMgb2YgY29udGVudF90eXBlIHByb3BlcnR5Cj4gPiA+ID4gPiA+IGNvbnRyb2wKPiA+ID4gPiA+ ID4gKwkJICogY29udGVudF90eXBlLCBiaXQgMiBjb250cm9scyBpdGMgYml0Lgo+ID4gPiA+ID4g PiArCQkgKiBJdCB3YXMgZGVjaWRlZCB0byBoYXZlIGEgc2luZ2xlIHByb3BlcnR5Cj4gPiA+ID4g PiA+IGNhbGxlZAo+ID4gPiA+ID4gPiArCQkgKiBjb250ZW50X3R5cGUsIGluc3RlYWQgb2YgY29u dGVudF90eXBlIGFuZAo+ID4gPiA+ID4gPiBpdGMuCj4gPiA+ID4gPiA+ICsJCSAqLwo+ID4gPiA+ ID4gPiArCQlzdGF0ZS0+Y29udGVudF90eXBlID0gdmFsICYgMzsKPiA+ID4gPiA+ID4gKwkJc3Rh dGUtPml0X2NvbnRlbnQgPSB2YWwgPj4gMjsKPiA+ID4gPiA+ID4gIAl9IGVsc2UgaWYgKHByb3Bl cnR5ID09IGNvbm5lY3Rvci0KPiA+ID4gPiA+ID4gPnNjYWxpbmdfbW9kZV9wcm9wZXJ0eSkgCj4g PiA+ID4gPiA+IHsKPiA+ID4gPiA+ID4gIAkJc3RhdGUtPnNjYWxpbmdfbW9kZSA9IHZhbDsKPiA+ ID4gPiA+ID4gIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbm5lY3Rvci0KPiA+ID4gPiA+ID4g PiBjb250ZW50X3Byb3RlY3Rpb25fcHJvcGVydHkpIHsKPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ IEBAIC0xMzUxLDYgKzEzNjAsMTQgQEAKPiA+ID4gPiA+ID4gZHJtX2F0b21pY19jb25uZWN0b3Jf Z2V0X3Byb3BlcnR5KHN0cnVjdAo+ID4gPiA+ID4gPiBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Is Cj4gPiA+ID4gPiA+ICAJCSp2YWwgPSBzdGF0ZS0+bGlua19zdGF0dXM7Cj4gPiA+ID4gPiA+ICAJ fSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctCj4gPiA+ID4gPiA+ID5hc3BlY3RfcmF0aW9f cHJvcGVydHkpIHsKPiA+ID4gPiA+ID4gIAkJKnZhbCA9IHN0YXRlLT5waWN0dXJlX2FzcGVjdF9y YXRpbzsKPiA+ID4gPiA+ID4gKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0KPiA+ID4g PiA+ID4gPmNvbnRlbnRfdHlwZV9wcm9wZXJ0eSkgewo+ID4gPiA+ID4gPiArCQkvKgo+ID4gPiA+ ID4gPiArCQkgKiBMb3dlc3QgdHdvIGJpdHMgb2YgY29udGVudF90eXBlIHByb3BlcnR5Cj4gPiA+ ID4gPiA+IGNvbnRyb2wKPiA+ID4gPiA+ID4gKwkJICogY29udGVudF90eXBlLCBiaXQgMiBjb250 cm9scyBpdGMgYml0Lgo+ID4gPiA+ID4gPiArCQkgKiBJdCB3YXMgZGVjaWRlZCB0byBoYXZlIGEg c2luZ2xlIHByb3BlcnR5Cj4gPiA+ID4gPiA+IGNhbGxlZAo+ID4gPiA+ID4gPiArCQkgKiBjb250 ZW50X3R5cGUsIGluc3RlYWQgb2YgY29udGVudF90eXBlIGFuZAo+ID4gPiA+ID4gPiBpdGMuCj4g PiA+ID4gPiA+ICsJCSAqLwo+ID4gPiA+ID4gPiArCQkqdmFsID0gc3RhdGUtPmNvbnRlbnRfdHlw ZSB8IChzdGF0ZS0KPiA+ID4gPiA+ID4gPml0X2NvbnRlbnQKPiA+ID4gPiA+ID4gPDwgMik7Cj4g PiA+ID4gPiA+ICAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItCj4gPiA+ID4gPiA+ ID5zY2FsaW5nX21vZGVfcHJvcGVydHkpIAo+ID4gPiA+ID4gPiB7Cj4gPiA+ID4gPiA+ICAJCSp2 YWwgPSBzdGF0ZS0+c2NhbGluZ19tb2RlOwo+ID4gPiA+ID4gPiAgCX0gZWxzZSBpZiAocHJvcGVy dHkgPT0gY29ubmVjdG9yLQo+ID4gPiA+ID4gPiA+IGNvbnRlbnRfcHJvdGVjdGlvbl9wcm9wZXJ0 eSkgewo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fY29ubmVjdG9yLmMKPiA+ID4gPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5l Y3Rvci5jCj4gPiA+ID4gPiA+IGluZGV4IGIzY2RlODk3Y2Q4MC4uNGY4OTYwMmViYWYwIDEwMDY0 NAo+ID4gPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4gPiA+ ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiA+ID4gPiA+ID4g QEAgLTcyMCw2ICs3MjAsMTQgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xp c3QKPiA+ID4gPiA+ID4gZHJtX2FzcGVjdF9yYXRpb19lbnVtX2xpc3RbXSA9IHsKPiA+ID4gPiA+ ID4gIAl7IERSTV9NT0RFX1BJQ1RVUkVfQVNQRUNUXzE2XzksICIxNjo5IiB9LAo+ID4gPiA+ID4g PiAgfTsKPiA+ID4gPiA+ID4gIAo+ID4gPiA+ID4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1f cHJvcF9lbnVtX2xpc3QKPiA+ID4gPiA+ID4gZHJtX2NvbnRlbnRfdHlwZV9lbnVtX2xpc3RbXSA9 IHsKPiA+ID4gPiA+ID4gKwl7IERSTV9NT0RFX0NPTlRFTlRfVFlQRV9OT19EQVRBLCAiTm8gRGF0 YSIgfSwKPiA+ID4gPiA+ID4gKwl7IERSTV9NT0RFX0NPTlRFTlRfVFlQRV9HUkFQSElDUywgIkdy YXBoaWNzIiB9LAo+ID4gPiA+ID4gPiArCXsgRFJNX01PREVfQ09OVEVOVF9UWVBFX1BIT1RPLCAi UGhvdG8iIH0sCj4gPiA+ID4gPiA+ICsJeyBEUk1fTU9ERV9DT05URU5UX1RZUEVfQ0lORU1BLCAi Q2luZW1hIiB9LAo+ID4gPiA+ID4gPiArCXsgRFJNX01PREVfQ09OVEVOVF9UWVBFX0dBTUUsICJH YW1lIiB9LAo+ID4gPiA+ID4gPiArfTsKPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiAgc3RhdGlj IGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QKPiA+ID4gPiA+ID4gZHJtX3BhbmVsX29y aWVudGF0aW9uX2VudW1fbGlzdFtdID0gewo+ID4gPiA+ID4gPiAgCXsgRFJNX01PREVfUEFORUxf T1JJRU5UQVRJT05fTk9STUFMLAkiTm9ybWFsIgo+ID4gPiA+ID4gPiAJCj4gPiA+ID4gPiA+IH0s Cj4gPiA+ID4gPiA+ICAJeyBEUk1fTU9ERV9QQU5FTF9PUklFTlRBVElPTl9CT1RUT01fVVAsCSJV cHNpCj4gPiA+ID4gPiA+IGRlCj4gPiA+ID4gPiA+IERvd24iCX0sCj4gPiA+ID4gPiA+IEBAIC05 OTYsNiArMTAwNCw0NSBAQCBpbnQKPiA+ID4gPiA+ID4gZHJtX21vZGVfY3JlYXRlX2R2aV9pX3By b3BlcnRpZXMoc3RydWN0Cj4gPiA+ID4gPiA+IGRybV9kZXZpY2UgKmRldikKPiA+ID4gPiA+ID4g IH0KPiA+ID4gPiA+ID4gIEVYUE9SVF9TWU1CT0woZHJtX21vZGVfY3JlYXRlX2R2aV9pX3Byb3Bl cnRpZXMpOwo+ID4gPiA+ID4gPiAgCj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gKy8qKgo+ID4g PiA+ID4gPiArICogRE9DOiBIRE1JIGNvbm5lY3RvciBwcm9wZXJ0aWVzCj4gPiA+ID4gPiA+ICsg Kgo+ID4gPiA+ID4gPiArICogY29udGVudCB0eXBlIChIRE1JIHNwZWNpZmljKToKPiA+ID4gPiA+ ID4gKyAqCUluZGljYXRlcyBjb250ZW50IHR5cGUgc2V0dGluZyB0byBiZSB1c2VkIGluIEhETUkK PiA+ID4gPiA+ID4gaW5mb2ZyYW1lcyB0byBpbmRpY2F0ZQo+ID4gPiA+ID4gPiArICoJY29udGVu dCB0eXBlIGZvciB0aGUgZXh0ZXJuYWwgZGV2aWNlLCBzbyB0aGF0IGl0Cj4gPiA+ID4gPiA+IGFk anVzdHMgaXQncyBkaXNwbGF5Cj4gPiA+ID4gPiA+ICsgKglzZXR0aW5ncyBhY2NvcmRpbmdseS4K PiA+ID4gPiA+ID4gKyAqCj4gPiA+ID4gPiA+ICsgKglUaGUgdmFsdWUgb2YgdGhpcyBwcm9wZXJ0 eSBjYW4gYmUgb25lIG9mIHRoZQo+ID4gPiA+ID4gPiBmb2xsb3dpbmc6Cj4gPiA+ID4gPiA+ICsg Kgo+ID4gPiA+ID4gPiArICoJLSBEUk1fTU9ERV9DT05URU5UX1RZUEVfTk9fREFUQSA9IDAKPiA+ ID4gPiA+ID4gKyAqCQlDb250ZW50IHR5cGUgaXMgdW5rbm93biwgaXQgY29udGVudChpdGMpCj4g PiA+ID4gPiA+IGJpdAo+ID4gPiA+ID4gPiBpcyBjbGVhcmVkLgo+ID4gPiA+ID4gPiArICoJLSBE Uk1fTU9ERV9DT05URU5UX1RZUEVfR1JBUEhJQ1MgPSA0Cj4gPiA+ID4gPiA+ICsgKgkJQ29udGVu dCB0eXBlIGlzIGdyYXBoaWNzLCBpdCBjb250ZW50KGl0YykKPiA+ID4gPiA+ID4gYml0Cj4gPiA+ ID4gPiA+IGlzIHNldC4KPiA+ID4gPiA+ID4gKyAqCS0gRFJNX01PREVfQ09OVEVOVF9UWVBFX1BI T1RPID0gNQo+ID4gPiA+ID4gPiArICoJCUNvbnRlbnQgdHlwZSBpcyBwaG90bywgaXRjIGJpdCBp cyBzZXQuCj4gPiA+ID4gPiA+ICsgKgktIERSTV9NT0RFX0NPTlRFTlRfVFlQRV9DSU5FTUEgPSA2 Cj4gPiA+ID4gPiA+ICsgKgkJQ29udGVudCB0eXBlIGlzIGNpbmVtYSwgaXRjIGJpdCBpcyBzZXQu Cj4gPiA+ID4gPiA+ICsgKgktIERSTV9NT0RFX0NPTlRFTlRfVFlQRV9HQU1FID0gNwo+ID4gPiA+ ID4gPiArICoJCUNvbnRlbnQgdHlwZSBpcyBnYW1lLCBpdGMgYml0IGlzIHNldC4KPiA+ID4gPiA+ IAo+ID4gPiA+ID4gSSB3b25kZXIgaWYgd2UncmUgdHJ5aW5nIHRvIGRvY3VtZW50IHRoZSB1YWJp IG9yIHRoZSBpbnRlcm5hbHMKPiA+ID4gPiA+IGhlcmUuCj4gPiA+ID4gPiBJZiB3ZSBhcmUgaW50 ZXJlc3RlZCBpbiB0aGUgdWFiaSwgdGhlbiB3ZSBzaG91bGQgZG9jdW1lbnQgdGhlCj4gPiA+ID4g PiBlbnVtCj4gPiA+ID4gPiB2YWx1ZSBzdHJpbmdzIGhlcmUuIElmIG9uIHRoZSBvdGhlciBoYW5k IHdlJ3JlIHRyeWluZyB0bwo+ID4gPiA+ID4gZG9jdW1lbnQKPiA+ID4gPiA+IHRoZQo+ID4gPiA+ ID4gaW50ZXJuYWwgZGV0YWlscyB0aGVuIHdlIHNob3VsZCBrZWVwIHRoZSBEUk1fQ09OVEVOVF9U WVBFXyoKPiA+ID4gPiA+IHN0dWZmLgo+ID4gPiA+ID4gTWF5YmUgd2Ugd2FudCBib3RoPyBUaGUg cmF3IG51bWJlcnMgSSB0aGluayB3ZSBzaG91bGQganVzdAo+ID4gPiA+ID4gdGhyb3cKPiA+ID4g PiA+IG91dC4KPiA+ID4gPiA+IFdoaWxlIHRoZXkgZG8gaGF2ZSBzb21lIHNwZWNpZmljIG1lYW5p bmcgaW4gdGhlIGNhc2UgKG1hdGNoaW5nCj4gPiA+ID4gPiB0aGUKPiA+ID4gPiA+IGJpdHMKPiA+ ID4gPiA+IGluIHRoZSBpbmZvZnJhbWUpLCBJJ20gbm90IHN1cmUgdGhhdCdzIGltcG9ydGFudCBl bm91Z2ggdG8KPiA+ID4gPiA+IGluY2x1ZGUKPiA+ID4gPiA+IGluCj4gPiA+ID4gPiB0aGUgZG9j cy4gV2UgY291bGQgYWRkIGEgY29tbWVudCBuZXh0IHRvIHRoZQo+ID4gPiA+ID4gRFJNX01PREVf Q09OVEVOVF9UWVBFXyoKPiA+ID4gPiA+IGRlZmluaXRpb25zLgo+ID4gPiA+ID4gCj4gPiA+ID4g PiBMb29rcyBsaWtlIHRoZSBjb250ZW50IHByb3RlY3Rpb24gcHJvcCBpcyBkb2N1bWVudGluZyB0 aGUKPiA+ID4gPiA+IGludGVybmFscwo+ID4gPiA+ID4gb25seQo+ID4gPiA+ID4gYXMgd2VsbC4g SG1tLiBBY3R1YWxseSBpdCBsb29rcyBsaWtlIHRob3NlIHRoaW5ncyBhcmUgZGVmaW5lZAo+ID4g PiA+ID4gaW4KPiA+ID4gPiA+IHRoZSB1YXBpCj4gPiA+ID4gPiBoZWFkZXIuIE9oIGFuZCB0aGUg c2NhbGluZyBtb2RlIHByb3AgYWxzbyBkb2VzIHRoYXQuIFRoaXMgaXMKPiA+ID4gPiA+IGFsbAo+ ID4gPiA+ID4gc2V0dGluZwo+ID4gPiA+ID4gYSByYXRoZXIgYmFkIGV4YW1wbGUgZm9yIHVzZXJz cGFjZS4gT3IgbWF5YmUgd2UndmUgZ2l2ZW4gdXAgb24KPiA+ID4gPiA+IHRoZQo+ID4gPiA+ID4g InRoZQo+ID4gPiA+ID4gc3RyaW5nIGlzIHRoZSB1YWJpIiBub3Rpb24gZW50aXJlbHk/Cj4gPiA+ ID4gCj4gPiA+ID4gV3J0IGRvY3VtZW50aW5nIHVhcGk6IFRoYXQgc2hvdWxkIGltbyBhbHNvIGJl IGluIHRoZXJlLCBidXQgSQo+ID4gPiA+IHJlYWxpemUKPiA+ID4gPiBpdAo+ID4gPiA+IG1ha2Vz IGl0IGEgYml0IGEgbWVzcy4gVGhlIGtlcm5lbGRvYyBzaG91bGQgZGVmaW5pdGVseSBhbGlnbiB3 aXRoCj4gPiA+ID4gb3RoZXIKPiA+ID4gPiBwcm9wZXJ0eSBkb2NzIHRvIG1ha2Ugc3VyZSBpdCBh bGwgbG9va3MgY29uc2lzdGVudCAoaS5lLgo+ID4gPiA+IGVudW1lcmF0aW9uCj4gPiA+ID4gbGlz dAo+ID4gPiA+IHdpdGggdGhlIHNhbWUgaW5kZW50YXRpb24gYXMgYWxsIHRoZSBvdGhlciBwcm9w ZXJ0aWVzKS4KPiA+ID4gPiAKPiA+ID4gPiBJIGd1ZXNzIGl0J2QgYmUgZ29vZCBpZiB3ZSBjYW4g YWltIGZvciAidGhlIHN0cmluZyBpcyB0aGUgdWFiaSIsCj4gPiA+ID4gYnV0Cj4gPiA+ID4gaW4K PiA+ID4gPiBwcmFjdGljZSBwZW9wbGUgd2lsbCBoYXJkY29kZS4gRm9yIGNhc2VzIHdoZXJlIHRo aXMgaXMgbGlrZWx5IEkKPiA+ID4gPiB0aGluawo+ID4gPiA+IGhhdmluZyB0aGUgZGVmaW5lcyBp biB0aGUgdWFwaSBoZWFkZXIgaXMgcHJvYmFibHkgYmV0dGVyLgo+ID4gPiA+IC1EYW5pZWwKPiA+ ID4gCj4gPiA+IFNvIGhvdyBzaG91bGQgd2UgcHJvY2VlZCB0aGVuPyBJbiBmYWN0IHRob3NlCj4g PiA+IGRlZmluaXRpb25zKERSTV9NT0RFX0NPTlRFTlRfVFlQRV8qKSBhcmUgYWxyZWFkeSBpbiAK PiA+ID4gdGhlIHVhcGkgaGVhZGVyKEkndmUgYWRkZWQgdGhlbSBpbiB0aGUgZmlyc3QgcGF0Y2gp LCBkb25lCj4gPiA+IHNhbWUgd2F5IGFzIGFzcGVjdCByYXRpbzoKPiA+ID4gCj4gPiA+ICogUGlj dHVyZSBhc3BlY3QgcmF0aW8gb3B0aW9ucyAqLwo+ID4gPiAjZGVmaW5lIERSTV9NT0RFX1BJQ1RV UkVfQVNQRUNUX05PTkUgICAgICAgICAgICAwCj4gPiA+ICNkZWZpbmUgRFJNX01PREVfUElDVFVS RV9BU1BFQ1RfNF8zICAgICAgICAgICAgIDEKPiA+ID4gI2RlZmluZSBEUk1fTU9ERV9QSUNUVVJF X0FTUEVDVF8xNl85ICAgICAgICAgICAgMgo+ID4gCj4gPiBUaGlzIGFyZW4ndCBmb3IgYSBwcm9w ZXJ0eSwgYnV0IGZvciBmbGFncyBpbiB0aGUgZHJtX21vZGVfbW9kZWluZm8KPiA+IHN0cnVjdHVy ZS4gVGhhdCBtZWFucyBpdCdzIHJlcXVpcmVkIHRvIGhhdmUgdGhlbSBhcyAjZGVmaW5lcy4KPiAK PiBPaywgaG9uZXN0bHkgSSB0aG91Z2h0IGFzcGVjdCByYXRpbyBpcyBhbHNvIGEgcHJvcGVydHks IGJlY2F1c2UgaXQgaXMKPiBjcmVhdGVkIGFsb25nIHdpdGggb3RoZXIgZHJtIGNvbm5lY3RvciBw cm9wZXJ0aWVzIGluIGRybV9jb25uZWN0b3IuYzoKPiAKPiBzdGF0aWMgY29uc3Qgc3RydWN0IGRy bV9wcm9wX2VudW1fbGlzdCBkcm1fYXNwZWN0X3JhdGlvX2VudW1fbGlzdFtdID0gewo+ICAgICAg ICAgeyBEUk1fTU9ERV9QSUNUVVJFX0FTUEVDVF9OT05FLCAiQXV0b21hdGljIiB9LAo+ICAgICAg ICAgeyBEUk1fTU9ERV9QSUNUVVJFX0FTUEVDVF80XzMsICI0OjMiIH0sCj4gICAgICAgICB7IERS TV9NT0RFX1BJQ1RVUkVfQVNQRUNUXzE2XzksICIxNjo5IiB9LAo+IH07Cj4gCj4gLyoqCj4gICog ZHJtX21vZGVfY3JlYXRlX2FzcGVjdF9yYXRpb19wcm9wZXJ0eSAtIGNyZWF0ZSBhc3BlY3QgcmF0 aW8gcHJvcGVydHkKPiAgKiBAZGV2OiBEUk0gZGV2aWNlCj4gICoKPiAgKiBDYWxsZWQgYnkgYSBk cml2ZXIgdGhlIGZpcnN0IHRpbWUgaXQncyBuZWVkZWQsIG11c3QgYmUgYXR0YWNoZWQgdG8KPiBk ZXNpcmVkCj4gICogY29ubmVjdG9ycy4KPiAgKgo+ICAqIFJldHVybnM6Cj4gICogWmVybyBvbiBz dWNjZXNzLCBuZWdhdGl2ZSBlcnJubyBvbiBmYWlsdXJlLgo+ICAqLwo+IGludCBkcm1fbW9kZV9j cmVhdGVfYXNwZWN0X3JhdGlvX3Byb3BlcnR5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gewo+ ICAgICAgICBpZiAoZGV2LT5tb2RlX2NvbmZpZy5hc3BlY3RfcmF0aW9fcHJvcGVydHkpCj4gICAg ICAgICAgICAgICAgcmV0dXJuIDA7Cj4gCj4gICAgICAgIGRldi0+bW9kZV9jb25maWcuYXNwZWN0 X3JhdGlvX3Byb3BlcnR5ID0KPiAgICAgICAgICAgICAgICAgZHJtX3Byb3BlcnR5X2NyZWF0ZV9l bnVtKGRldiwgMCwgImFzcGVjdCByYXRpbyIsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGRybV9hc3BlY3RfcmF0aW9fZW51bV9saXN0LAo+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBBUlJBWV9TSVpFKGRybV9hc3BlY3RfcmF0aW9fZW51bV9saXN0KSk7Cj4gCj4gICAg ICAgICBpZiAoZGV2LT5tb2RlX2NvbmZpZy5hc3BlY3RfcmF0aW9fcHJvcGVydHkgPT0gTlVMTCkK PiAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwo+IAo+ICAgICAgICAgcmV0dXJuIDA7Cj4g fQo+IAo+IEFuZCBiYXNpY2FsbHkgYXMgSSBzZWUgZHJtX2F0b21pY19jb25uZWN0b3Jfc2V0X3By b3BlcnR5IGNhbiBzZXQgaXQKPiBlaXRoZXIuIAoKT2gsIG9vcHMsIEkgdG90YWxseSBmb3Jnb3Qg dGhhdCB3ZSBoYXZlIHRoaXMuIEkgZ3Vlc3Mgd2UndmUgYmVlbiBiYWQgYXQKdGhpcyBhIGZldyB0 aW1lcyBhbHJlYWR5LiBPdGhlciBwcm9wZXJ0aWVzIHdpdGggaGFyZGNvZGVkIHZhbHVlcyBhcmUg RFBNUywKc2NhbGluZyBhbmQgcHJvYmFibHkgYSBmZXcgbW9yZS4KClNvIG5vdCBzdXJlIHdoYXQg dG8gZG8gaGVyZS4gSSBndWVzcyB5b3UncmUgY3VycmVudCBjb2RlIGlzIG9rLgotRGFuaWVsCi0t IApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRw Oi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK