From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: Re: [PATCH v8 1/6] drm: Add Content protection type property Date: Tue, 9 Jul 2019 18:28:33 +0530 Message-ID: <20190709125833.GB28326@intel.com> References: <20190705004642.15822-1-ramalingam.c@intel.com> <20190705004642.15822-2-ramalingam.c@intel.com> <20190708125217.6bc8dc27@eldfell.localdomain> <20190708125959.3f35c23e@eldfell.localdomain> <20190708091229.GA31930@intel.com> <20190709162631.42bdcb06@eldfell.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20190709162631.42bdcb06@eldfell.localdomain> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Pekka Paalanen Cc: intel-gfx , dri-devel List-Id: dri-devel@lists.freedesktop.org T24gMjAxOS0wNy0wOSBhdCAxNjoyNjozMSArMDMwMCwgUGVra2EgUGFhbGFuZW4gd3JvdGU6Cj4g T24gTW9uLCA4IEp1bCAyMDE5IDE0OjQyOjI5ICswNTMwCj4gUmFtYWxpbmdhbSBDIDxyYW1hbGlu Z2FtLmNAaW50ZWwuY29tPiB3cm90ZToKPiAKPiA+IE9uIDIwMTktMDctMDggYXQgMTI6NTk6NTkg KzAzMDAsIFBla2thIFBhYWxhbmVuIHdyb3RlOgo+ID4gPiBPbiBNb24sIDggSnVsIDIwMTkgMTI6 NTI6MTcgKzAzMDAKPiA+ID4gUGVra2EgUGFhbGFuZW4gPHBwYWFsYW5lbkBnbWFpbC5jb20+IHdy b3RlOgo+ID4gPiAgIAo+ID4gPiA+IE9uIEZyaSwgIDUgSnVsIDIwMTkgMDY6MTY6MzcgKzA1MzAK PiA+ID4gPiBSYW1hbGluZ2FtIEMgPHJhbWFsaW5nYW0uY0BpbnRlbC5jb20+IHdyb3RlOgo+ID4g PiA+ICAgCj4gPiA+ID4gPiBUaGlzIHBhdGNoIGFkZHMgYSBEUk0gRU5VTSBwcm9wZXJ0eSB0byB0 aGUgc2VsZWN0ZWQgY29ubmVjdG9ycy4KPiA+ID4gPiA+IFRoaXMgcHJvcGVydHkgaXMgdXNlZCBm b3IgbWVudGlvbmluZyB0aGUgcHJvdGVjdGVkIGNvbnRlbnQncyB0eXBlCj4gPiA+ID4gPiBmcm9t IHVzZXJzcGFjZSB0byBrZXJuZWwgSERDUCBhdXRoZW50aWNhdGlvbi4KPiA+ID4gPiA+IAo+ID4g PiA+ID4gVHlwZSBvZiB0aGUgc3RyZWFtIGlzIGRlY2lkZWQgYnkgdGhlIHByb3RlY3RlZCBjb250 ZW50IHByb3ZpZGVycy4KPiA+ID4gPiA+IFR5cGUgMCBjb250ZW50IGNhbiBiZSByZW5kZXJlZCBv biBhbnkgSERDUCBwcm90ZWN0ZWQgZGlzcGxheSB3aXJlcy4KPiA+ID4gPiA+IEJ1dCBUeXBlIDEg Y29udGVudCBjYW4gYmUgcmVuZGVyZWQgb25seSBvbiBIRENQMi4yIHByb3RlY3RlZCBwYXRocy4K PiA+ID4gPiA+IAo+ID4gPiA+ID4gU28gd2hlbiBhIHVzZXJzcGFjZSBzZXRzIHRoaXMgcHJvcGVy dHkgdG8gVHlwZSAxIGFuZCBzdGFydHMgdGhlIEhEQ1AKPiA+ID4gPiA+IGVuYWJsZSwga2VybmVs IHdpbGwgaG9ub3VyIGl0IG9ubHkgaWYgSERDUDIuMiBhdXRoZW50aWNhdGlvbiBpcyB0aHJvdWdo Cj4gPiA+ID4gPiBmb3IgdHlwZSAxLiBFbHNlIEhEQ1AgZW5hYmxlIHdpbGwgYmUgZmFpbGVkLgo+ ID4gPiA+ID4gCj4gPiA+ID4gPiBOZWVkIEFDSyBmb3IgdGhpcyBuZXcgY29uZW5jdG9yIHByb3Bl cnR5IGZyb20gdXNlcnNwYWNlIGNvbnN1bWVyLgo+ID4gPiA+ID4gCj4gPiA+ID4gPiB2MjoKPiA+ ID4gPiA+ICAgY3BfY29udGVudF90eXBlIGlzIHJlcGxhY2VkIHdpdGggY29udGVudF9wcm90ZWN0 aW9uX3R5cGUgW2RhbmllbF0KPiA+ID4gPiA+ICAgY2hlY2sgYXQgYXRvbWljX3NldF9wcm9wZXJ0 eSBpcyByZW1vdmVkIFtNYWFydGVuXQo+ID4gPiA+ID4gdjM6Cj4gPiA+ID4gPiAgICVzL2NvbnRl bnRfcHJvdGVjdGlvbl90eXBlL2hkY3BfY29udGVudF90eXBlIFtQZWtrYV0KPiA+ID4gPiA+IHY0 Ogo+ID4gPiA+ID4gICBwcm9wZXJ0eSBpcyBjcmVhdGVkIGZvciB0aGUgZmlyc3QgcmVxdWVzdGVk IGNvbm5lY3RvciBhbmQgdGhlbiByZXVzZWQuCj4gPiA+ID4gPiAJW0RhbnZldF0KPiA+ID4gPiA+ IHY1Ogo+ID4gPiA+ID4gICBrZXJuZWwgZG9jIG5pdHMgYWRkcmVzc2VkIFtEYW5pZWxdCj4gPiA+ ID4gPiAgIFJlYmFzZWQgYXMgcGFydCBvZiBwYXRjaCByZW9yZGVyaW5nLgo+ID4gPiA+ID4gdjY6 Cj4gPiA+ID4gPiAgIEtlcm5lbCBkb2NzIGFyZSBtb2RpZmllZCBbcGVra2FdCj4gPiA+ID4gPiAK PiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IFJhbWFsaW5nYW0gQyA8cmFtYWxpbmdhbS5jQGludGVs LmNvbT4KPiA+ID4gPiA+IFJldmlld2VkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVy QGZmd2xsLmNoPgo+ID4gPiA+ID4gLS0tCj4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWNfdWFwaS5jICAgICAgICAgfCAgNCArKysKPiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0v ZHJtX2Nvbm5lY3Rvci5jICAgICAgICAgICB8IDIyICsrKysrKysrKysrKysrCj4gPiA+ID4gPiAg ZHJpdmVycy9ncHUvZHJtL2RybV9oZGNwLmMgICAgICAgICAgICAgICAgfCAzNiArKysrKysrKysr KysrKysrKysrKysrLQo+ID4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfaGRjcC5jIHwgIDQgKystCj4gPiA+ID4gPiAgaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5o ICAgICAgICAgICAgICAgfCAgNyArKysrKwo+ID4gPiA+ID4gIGluY2x1ZGUvZHJtL2RybV9oZGNw LmggICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiA+ID4gPiA+ICBpbmNsdWRlL2RybS9kcm1f bW9kZV9jb25maWcuaCAgICAgICAgICAgICB8ICA2ICsrKysKPiA+ID4gPiA+ICBpbmNsdWRlL3Vh cGkvZHJtL2RybV9tb2RlLmggICAgICAgICAgICAgICB8ICA0ICsrKwo+ID4gPiA+ID4gIDggZmls ZXMgY2hhbmdlZCwgODIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPiA+ID4gPiA+IAo+ ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYwo+ID4gPiA+ID4gaW5kZXggYWJlMzhi ZGY4NWFlLi4xOWFlMTE5ZjFhNWQgMTAwNjQ0Cj4gPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pY191YXBpLmMKPiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljX3VhcGkuYwo+ID4gPiA+ID4gQEAgLTc0Nyw2ICs3NDcsOCBAQCBzdGF0aWMgaW50IGRy bV9hdG9taWNfY29ubmVjdG9yX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yLAo+ID4gPiA+ID4gIAkJCXJldHVybiAtRUlOVkFMOwo+ID4gPiA+ID4gIAkJfQo+ID4g PiA+ID4gIAkJc3RhdGUtPmNvbnRlbnRfcHJvdGVjdGlvbiA9IHZhbDsKPiA+ID4gPiA+ICsJfSBl bHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPmhkY3BfY29udGVudF90eXBlX3Byb3BlcnR5KSB7 Cj4gPiA+ID4gPiArCQlzdGF0ZS0+aGRjcF9jb250ZW50X3R5cGUgPSB2YWw7Cj4gPiA+ID4gPiAg CX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29ubmVjdG9yLT5jb2xvcnNwYWNlX3Byb3BlcnR5KSB7 Cj4gPiA+ID4gPiAgCQlzdGF0ZS0+Y29sb3JzcGFjZSA9IHZhbDsKPiA+ID4gPiA+ICAJfSBlbHNl IGlmIChwcm9wZXJ0eSA9PSBjb25maWctPndyaXRlYmFja19mYl9pZF9wcm9wZXJ0eSkgewo+ID4g PiA+ID4gQEAgLTgzMSw2ICs4MzMsOCBAQCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9nZXRfcHJvcGVy dHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiA+ID4gPiA+ICAJCQlzdGF0ZS0+ aGRyX291dHB1dF9tZXRhZGF0YS0+YmFzZS5pZCA6IDA7Cj4gPiA+ID4gPiAgCX0gZWxzZSBpZiAo cHJvcGVydHkgPT0gY29uZmlnLT5jb250ZW50X3Byb3RlY3Rpb25fcHJvcGVydHkpIHsKPiA+ID4g PiA+ICAJCSp2YWwgPSBzdGF0ZS0+Y29udGVudF9wcm90ZWN0aW9uOwo+ID4gPiA+ID4gKwl9IGVs c2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+aGRjcF9jb250ZW50X3R5cGVfcHJvcGVydHkpIHsK PiA+ID4gPiA+ICsJCSp2YWwgPSBzdGF0ZS0+aGRjcF9jb250ZW50X3R5cGU7Cj4gPiA+ID4gPiAg CX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT53cml0ZWJhY2tfZmJfaWRfcHJvcGVydHkp IHsKPiA+ID4gPiA+ICAJCS8qIFdyaXRlYmFjayBmcmFtZWJ1ZmZlciBpcyBvbmUtc2hvdCwgd3Jp dGUgYW5kIGZvcmdldCAqLwo+ID4gPiA+ID4gIAkJKnZhbCA9IDA7Cj4gPiA+ID4gPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fY29ubmVjdG9yLmMKPiA+ID4gPiA+IGluZGV4IDA2OGQ0YjA1ZjFiZS4uMTdhZWY4OGMwM2E2 IDEwMDY0NAo+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+ ID4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+ID4gPiA+ID4g QEAgLTk1MSw2ICs5NTEsMjggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xp c3QgaGRtaV9jb2xvcnNwYWNlc1tdID0gewo+ID4gPiA+ID4gICAqCSAgdGhlIHZhbHVlIHRyYW5z aXRpb25zIGZyb20gRU5BQkxFRCB0byBERVNJUkVELiBUaGlzIHNpZ25pZmllcyB0aGUgbGluawo+ ID4gPiA+ID4gICAqCSAgaXMgbm8gbG9uZ2VyIHByb3RlY3RlZCBhbmQgdXNlcnNwYWNlIHNob3Vs ZCB0YWtlIGFwcHJvcHJpYXRlIGFjdGlvbgo+ID4gPiA+ID4gICAqCSAgKHdoYXRldmVyIHRoYXQg bWlnaHQgYmUpLgo+ID4gPiA+ID4gKyAqIEhEQ1AgQ29udGVudCBUeXBlOgo+ID4gPiA+ID4gKyAq CVRoaXMgcHJvcGVydHkgaXMgdXNlZCBieSB0aGUgdXNlcnNwYWNlIHRvIGNvbmZpZ3VyZSB0aGUg a2VybmVsIHdpdGgKPiA+ID4gPiA+ICsgKgl0byBiZSBkaXNwbGF5ZWQgc3RyZWFtJ3MgY29udGVu dCB0eXBlLiBDb250ZW50IFR5cGUgb2YgYSBzdHJlYW0gaXMKPiA+ID4gPiA+ICsgKglkZWNpZGVk IGJ5IHRoZSBvd25lciBvZiB0aGUgc3RyZWFtLCBhcyAiSERDUCBUeXBlMCIgb3IgIkhEQ1AgVHlw ZTEiLgo+ID4gPiA+ID4gKyAqCj4gPiA+ID4gPiArICoJVGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0 eSBjYW4gYmUgb25lIHRoZSBiZWxvdzoKPiA+ID4gPiA+ICsgKgkgIC0gIkhEQ1AgVHlwZTAiOiBE Uk1fTU9ERV9IRENQX0NPTlRFTlRfVFlQRTAgPSAwCj4gPiA+ID4gPiArICoJCUhEQ1AgVHlwZTAg c3RyZWFtcyBjYW4gYmUgdHJhbnNtaXR0ZWQgb24gYSBsaW5rIHdoaWNoIGlzCj4gPiA+ID4gPiAr ICoJCWVuY3J5cHRlZCB3aXRoIEhEQ1AgMS40IG9yIGhpZ2hlciB2ZXJzaW9ucyBvZiBIRENQKGku ZSBIRENQMi4yCj4gPiA+ID4gPiArICoJCWFuZCBtb3JlKS4KPiA+ID4gPiA+ICsgKgkgIC0gIkhE Q1AgVHlwZTEiOiBEUk1fTU9ERV9IRENQX0NPTlRFTlRfVFlQRTEgPSAxCj4gPiA+ID4gPiArICoJ CUhEQ1AgVHlwZTEgc3RyZWFtcyBjYW4gYmUgdHJhbnNtaXR0ZWQgb24gYSBsaW5rIHdoaWNoIGlz Cj4gPiA+ID4gPiArICoJCWVuY3J5cHRlZCBvbmx5IHdpdGggSERDUCAyLjIuIEluIGZ1dHVyZSBo aWdoZXIgdmVyc2lvbnMgYWxzbwo+ID4gPiA+ID4gKyAqCQltaWdodCBzdXBwb3J0IFR5cGUxIGJh c2VkIG9uIHRoZWlyIHNwZWMuCj4gPiA+ID4gPiArICoKPiA+ID4gPiA+ICsgKglOb3RlIHRoYXQg dGhlIEhEQ1AgQ29udGVudCBUeXBlIHByb3BlcnR5IGlzIGludHJvZHVjZWQgYXQgSERDUCAyLjIs IGFuZAo+ID4gPiA+ID4gKyAqCWRlZmF1bHRzIHRvIHR5cGUgMC4gSXQgaXMgb25seSBleHBvc2Vk IGJ5IGRyaXZlcnMgc3VwcG9ydGluZyBIRENQIDIuMi4KPiA+ID4gPiA+ICsgKglCYXNlZCBvbiBo b3cgbmV4dCB2ZXJzaW9ucyBvZiBIRENQIHNwZWNzIGFyZSBkZWZpbmVkIGNvbnRlbnQgVHlwZSBj b3VsZAo+ID4gPiA+ID4gKyAqCWJlIHVzZWQgZm9yIGhpZ2hlciB2ZXJzaW9ucyB0b28uCj4gPiA+ ID4gPiArICoJSWYgY29udGVudCB0eXBlIGlzIGNoYW5nZWQgd2hlbiBjb250ZW50X3Byb3RlY3Rp b24gaXMgbm90IFVOREVTSVJFRCwKPiA+ID4gPiA+ICsgKgl0aGVuIGtlcm5lbCB3aWxsIGRpc2Fi bGUgdGhlIEhEQ1AgYW5kIHJlLWVuYWJsZSB3aXRoIG5ldyB0eXBlIGluIHRoZQo+ID4gPiA+ID4g KyAqCXNhbWUgYXRvbWljIGNvbW1pdCAgICAKPiA+ID4gPiAKPiA+ID4gPiBIaSwKPiA+ID4gPiAK PiA+ID4gPiBJIHRoaW5rIHRoaXMgZG9jIGNvdmVycyBhbGwgbXkgcHJldmlvdXMgY29tbWVudHMg b24gdGhpcyBwYXRjaCBub3cuIE9uZQo+ID4gPiA+IG1vcmUgdGhpbmcsIHRoZSB3b3JkaW5nIGhl cmUgcmVhZHMgYXM6Cj4gPiA+ID4gLSB1c2Vyc3BhY2UgY29uZmlndXJlcyB0aGUgY29udGVudCB0 eXBlCj4gPiA+ID4gLSB0aGUga2VybmVsIHRyYW5zbWl0cyB0aGUgY29udGVudCBpZiB0aGUgbGlu ayBzYXRpc2ZpZXMgdGhlIHR5cGUKPiA+ID4gPiAgIHJlcXVpcmVtZW50Cj4gPiA+ID4gLSBpZiB0 aGUgbGluayBkb2VzIG5vdCBzYXRpc2Z5IHRoZSB0eXBlIHJlcXVpcmVtZW50LCB0aGUga2VybmVs IHdpbGwKPiA+ID4gPiAgIG5vdCB0cmFuc21pdCB0aGUgY29udGVudAo+ID4gPiA+IAo+ID4gPiA+ IFRoaXMgaXMgb2YgY291cnNlIGZhbHNlLCB0aGUga2VybmVsIHRyYW5zbWl0cyBhbnl3YXksIGJ1 dCB0aGF0IGlzIGhvdwo+ID4gPiA+IHRoZSB0ZXh0IHJlYWRzIGZyb20gdGhlICJzdHJlYW0ncyBj b250ZW50IHR5cGUiIGFuZCAiY2FuIGJlIHRyYW5zbWl0dGVkCj4gPiA+ID4gb24iLiBUaGUgcHJv YmxlbSBpcywgdGhhdCBhIHVzZXJzcGFjZSBkZXZlbG9wZXIgd2lsbCB0aGluayB0aGUgc3RyZWFt Cj4gPiA+ID4gaXMgd2hhdCBoZSBwdXNoZXMgaW50byBLTVMsIG5vdCB3aGF0IGdvZXMgb24gdGhl IHdpcmUuIFRoZSB0ZXh0IGFsc28KPiA+ID4gPiBtYWduaWZpZXMgdGhhdCBtaXNjb25jZXB0aW9u IGJlY2F1c2UgaXQgc291bmRzIGxpa2UgdGhlIHN0cmVhbSBpcwo+ID4gPiA+IHNvbWV0aGluZyBk aWZmZXJlbnQgZnJvbSB0aGUgbGluay4gQWN0dWFsbHksIEkgZG9uJ3QgdW5kZXJzdGFuZCB3aGF0 Cj4gPiA+ID4gInRoZSBzdHJlYW0iIGlzIHN1cHBvc2VkIHRvIGJlIGhlcmUuICAKPiA+IFN0cmVh bSBpcyBub3RoaW5nIGJ1dCB0aGUgYW55IGRpc3BsYXkgY29udGVudCB0aGF0IG5lZWRzIHRoZSBo ZGNwCj4gPiBwcm90ZWN0aW9uLgo+ID4gPiA+IAo+ID4gPiA+IEluc3RlYWQsIEkgdGhpbmsgeW91 IHNob3VsZCBleHBsYWluIGhvdyB0aGUgY29udGVudCB0eXBlIHByb3BlcnR5Cj4gPiA+ID4gZ3Vp ZGVzIHRoZSBrZXJuZWwgZHJpdmVyJ3MgYXR0ZW1wdHMgaW4gbmVnb3RpYXRpbmcgdGhlIGxpbmsg ZW5jcnlwdGlvbgo+ID4gPiA+IGFuZCBob3cgdGhhdCB0aGVuIHJlZmxlY3RzIGluIHRoZSBjb250 ZW50IHByb3RlY3Rpb24gcHJvcGVydHkgKERFU0lSRUQKPiA+ID4gPiB2cy4gRU5BQkxFRCkuIEl0 IG1pZ2h0IGJlIGJlc3QgdG8gbm90IHNheSBhbnl0aGluZyBhYm91dCBhbnkgInN0cmVhbSIuICAK PiA+IAo+ID4gSSB3aWxsIGV4cGxhaW4gaW4gZGlmZmVyZW50IGFuZCBtb3JlIHdvcmRzLCBzbyB0 aGF0IHRoaXMgcXVlc3Rpb25zIHdvbnQKPiA+IHJhaXNlLgo+ID4gPiAKPiA+ID4gQnR3LiB0aGlz IFVBUEkgaGFzIHRoZSBmb2xsb3dpbmcgZnVuZGFtZW50YWwgZmxhd3M6Cj4gPiA+IAo+ID4gPiAt IHVzZXJzcGFjZSBjYW5ub3Qga25vdyB3aGljaCBlbmNyeXB0aW9uIGlzIHVzZWQgb24gdGhlIGxp bmsgIAo+ID4gVGhpcyBjbGFpbSBpcyBub3QgdHJ1ZS4KPiA+IAo+ID4gIkhEQ1AgY29udGVudCB0 eXBlIiBhbmQgImNvbnRlbnQgcHJvdGVjdGlvbiIgYXJlIHVzZWQKPiA+IHRvZ2V0aGVyIGluCj4g PiAJcmVxdWVzdGluZyB0aGUgSERDUCBzdGF0ZQo+ID4gCWNvbmZpcm1pbmcgdGhhdCByZXF1aXJl ZCBzdGF0ZSBpcyBhY2hpZXZlZAo+ID4gRm9yIGV4Ogo+ID4gVGhlIHN0YXRlICJIRENQIGNvbnRl bnQgdHlwZSIgPSAiSERDUCBUeXBlMSIgYW5kICJjb250ZW50IHByb3RlY3Rpb24iID0KPiA+ICJE RVNJUkVEIiBzdGFuZHMgZm9yIHVzZXJzcGFjZSBoYXMgcmVxdWVzdGVkIGZvciBIRENQIFR5cGUg MSBwcm90ZWN0aW9uCj4gPiBmcm9tIGtlcm5lbC4KPiA+IAo+ID4gV2hlbiBrZXJuZWwgY2hhbmdl cyB0aGUgImNvbnRlbnQgcHJvdGVjdGlvbiIgdG8gIkVOQUJMRUQiIHdoZW4gIkhEQ1AKPiA+IGNv bnRlbnQgdHlwZSIgaXMgIkhEQ1AgVHlwZTEiLCBrZXJuZWwgaW5kaWNhdGVzIHRoZSB1c2Vyc3Bh Y2UgdGhhdCBIRENQCj4gPiBhdXRoZW50aWNhdGlvbiBmb3IgVHlwZSAxIGlzIHN1Y2Nlc3NmdWwu Cj4gPiAKPiA+IEkgYW0gbm90IHN1cmUgd2h5IGRvIHlvdSB0aGluayB0aGF0IHVzZXJzcGFjZSBp cyBub3Qga25vd2luZyBsaW5rJ3MKPiA+IGF1dGhlbnRpY2F0aW9uIHN0YXRlIHcuci50IHR5cGUu Cj4gCj4gSGksCj4gCj4gaWYgdXNlcnNwYWNlIGFza3MgZm9yIFR5cGUwLCB0aGUga2VybmVsIGlz IGZyZWUgdG8gdXNlIFR5cGUxIGluc3RlYWQKPiBhbmQgc3dpdGNoICJDb250ZW50IFByb3RlY3Rp b24iIHRvICJFTkFCTEVEIi4gVXNlcnNwYWNlIGhhcyBubyB3YXkgb2YKPiBrbm93aW5nIHRoYXQg dGhlIGxpbmsgYWN0dWFsbHkgcnVucyB3aXRoIFR5cGUxLgo+IAo+IFlvdSBjYW4gYXJndWUgdGhh dCBpdCBkb2VzIG5vdCBtYXR0ZXIsIGJlY2F1c2UgVHlwZTEgcHJvdGVjdGlvbiBpcwo+IHN0cm9u Z2VyIHRoYW4gVHlwZTAsIHNvIGV2ZXJ5Ym9keSBzaG91bGQgYmUgaGFwcHksIGJ1dCB0aGF0IGRv ZXMgbm90Cj4gY2hhbmdlIHRoZSBmYWN0IHRoYXQgdXNlcnNwYWNlIHRoaW5rcyB3cm9uZyBvZiB3 aGF0IHRoZSBwcm90ZWN0aW9uCj4gcmVhbGx5IGlzLgo+IAo+ID4gPiAtIHVzZXJzcGFjZSBjYW5u b3QgZm9yY2UgVHlwZTAgaWYgdGhlIGRyaXZlciBzdWNjZWVkcyBlbmFibGluZyBUeXBlMSAgCj4g PiBXaGVuIHlvdSBzZXQgVHlwZSAwLCBrZXJuZWwgd2lsbCBhdXRoZW50aWNhdGUgdGhlIGxpbmsg Zm9yIFR5cGUgMCBvbmx5Lgo+IAo+IFJlYWxseT8gU29ycnksIEkgaGF2ZSBjb21wbGV0ZWx5IG1p c3NlZCB0aGlzLiBQbGVhc2UgbWFrZSBpdCBjbGVhciBpbgo+IFVBUEkgYW5kIGtBUEkgZG9jcy4g VGhpcyBpbnZhbGlkYXRlcyBteSBjb21tZW50IGFib3ZlIGFzIHdlbGwuCj4gCj4gQnV0IHlvdSBh cmUgYWxzbyBjb25mbGljdGluZyB3aXRoIHlvdXIgb3duIGRvYywgd2hpY2ggc2FpZDoKPiAKPiAr ICoJICAtICJIRENQIFR5cGUwIjogRFJNX01PREVfSERDUF9DT05URU5UX1RZUEUwID0gMAo+ICsg KgkJSERDUCBUeXBlMCBzdHJlYW1zIGNhbiBiZSB0cmFuc21pdHRlZCBvbiBhIGxpbmsgd2hpY2gg aXMKPiArICoJCWVuY3J5cHRlZCB3aXRoIEhEQ1AgMS40IG9yIGhpZ2hlciB2ZXJzaW9ucyBvZiBI RENQKGkuZSBIRENQMi4yCj4gKyAqCQlhbmQgbW9yZSkuCj4gCj4gVG8gbWUgdGhhdCByZWFkcyBh czogaWYgdXNlcnNwYWNlIGFza3MgZm9yIFR5cGUwLCB0aGUga2VybmVsIGlzIGZyZWUgdG8KPiB1 c2UgVHlwZTAgb3IgVHlwZTEgb3IgYW55dGhpbmcgc3Ryb25nZXIgdG8gc2F5IGl0IHN1Y2NlZWRl ZC4KPiAKPiBIZW5jZSBteSBjb25mdXNpb24uCj4gCj4gPiBOb3QgZm9yIFR5cGUgMS4gSSBndWVz cyB5b3UgYXJlIHRyeWluZyB0byBzYXkgSERDUDEuNCBpcyBub3QgcG9zc2libGUKPiA+IG92ZXIg SERDUDIuMi4KPiAKPiBJIHdvdWxkbid0IGtub3cgd2hhdCB0aGF0IG1lYW5zLgo+IAo+ID4gSSBk b250IHNlZSBhbnkgcmVhc29uIHdoeSBhbnlvbmUgd2FudCB0aGlzIGV4Y2VwdCBmb3IgdGVzdGlu Zy4KPiA+IAo+ID4gVHlwZSAwIGNhbiBiZSBhY2hpZXZlZCB0aHJvdWdoIEhEQ1AyLjIgYW5kIEhE Q1AxLjQuIEFuZCBIRENQMi4yIGlzIGF0dGVtcHRlZAo+ID4gZmlyc3QgYW5kIEhEQ1AxLjQgd2ls bCBiZSBhdHRlbXB0ZWQgb25seSBpZiBIRENQMi4yIGlzIGZhaWxlZCBmb3Igc29tZQo+ID4gcmVh c29ucy4gVGhpcyBpcyBkb25lIGJlY2F1c2UgSERDUDIuMiBpcyBwcmVmZXJyZWQgb3ZlciAxLjQg ZHVlIHRvIGl0cwo+ID4gYmV0dGVyIGNyeXB0byBhbGdvLiAKPiAKPiBJJ20gcnVubmluZyB3aXRo IHRoZSBhc3N1bXB0aW9uIHRoYXQ6Cj4gLSBUeXBlMCA9PSBIRENQIDEuNAo+IC0gVHlwZTEgPT0g SERDUCAyLjIKPiBhbmQgSSBoYXZlIG5vIGlkZWEgd2h5IHlvdSBhcmUgc29tZXRpbWVzIHRhbGtp bmcgYWJvdXQgVHlwZSBhbmQKPiBzb21ldGltZXMgYWJvdXQgSERDUCB2ZXJzaW9uLgpUaGlzIGlz IGEgd3JvbmcgYXNzdW1wdGlvbi4gVHlwZSAwIGlzIG5vdCBhdHRhY2hlZCB0byBIRENQMS40LiBF dmVuCkhEQ1AyLjIgc3VwcG9ydCBUeXBlIDAgYWxvbmcgd2l0aCBUeXBlIDEuIFRoYXRzIHdoeSB3 aGVuIFR5cGUgMCBpcwpyZXF1ZXN0ZWQgVHlwZSAwICB0aHJvdWdoIEhEQ1AyLjIgd2lsbCBiZSBh dHRlbXB0ZWQgZmlyc3QuIFdoZW4gdGhhdApmYWlscywgd2UgZ28gZm9yIEhEQ1AxLjQoVHlwZSAw IG9ubHkpCj4gCj4gSXMgdGhlcmUgYW55IHJlYXNvbiB0byBhY3R1YWxseSB0YWxrIGFib3V0IEhE Q1AgdmVyc2lvbnMgYXQgYWxsIGluIHRoZQo+IFVBUEkgZG9jPyBJJ20gc3RhcnRpbmcgdG8gc3Vz cGVjdCB0aGF0IG15IGFzc3VtcHRpb25zIGFyZSBub3QgcmlnaHQsCj4gYW5kIHRoZSB1c2Ugb2Yg ZHVhbC10ZXJtaW5vbG9neSBpbiB0aGUgVUFQSSBkb2MgY29uZnVzZXMgbWUuCkluIHByYWN0aWNh bCBzZW5zZSB3ZSBkb250IG5lZWQgdG8gbWVudGlvbiB0aGUgSERDUCB2ZXJzaW9uIGluIHVBUEkg ZG9jLgpCdXQgSSBmZWVsIGl0IGlzIGJldHRlciB0byBwcm92aWRlIHRoZSB1bmRlcnN0YW5kaW5n IG9mIHRoZSBhc3NvY2lhdGlvbgpvZiB0aGUgY29udGVudCB0eXBlIHdpdGggSERDUCB2ZXJzaW9u LiBNYXkgYmUgd2Ugc2hvdWxkIHRyeSB0byBhdm9pZCB0aGUKY29uZnVzaW9uIDopCgpuZXh0IHZl cnNpb24gaXMgY2xvc3VyZSBpbiB0aGF0IGRpcmVjdGlvbiBpIGd1ZXNzLgoKLVJhbQo+IAo+ID4g VGhhbmtzIGZvciBwb2ludGluZyBpdCBvdXQuIFRoZXJlIGlzIGEgc2NvcGUgdG8gYWRkIGFsbCB0 aGVzZQo+ID4gaW5mb3JtYXRpb24gaW4gdGhlIGRvY3VtZW50YXRpb24uIFdoaWNoIEkgd2lsbCBk byBpdCBpbiB0aGUgbmV4dCB2ZXJzaW9uCj4gPiB0b2RheS4KPiAKPiBBd2Vzb21lLCBsZXQncyBz ZWUuCj4gCj4gCj4gVGhhbmtzLAo+IHBxCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4