From mboxrd@z Thu Jan 1 00:00:00 1970 From: Venkat Reddy Talla Subject: RE: [PATCH v4] extcon: gpio: Add the support for Device tree bindings Date: Fri, 27 May 2016 05:13:30 +0000 Message-ID: <91b4e67376654538b085a6ab1e38d8ae@bgmail102.nvidia.com> References: <1464263265-20187-1-git-send-email-vreddytalla@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: "cw00.choi@samsung.com" Cc: MyungJoo Ham , Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , devicetree , Kumar Gala , linux-kernel , Laxman Dewangan List-Id: devicetree@vger.kernel.org SGkgQ2hvaSwNCg0KU29ycnkgZm9yIGNoYW5naW5nIGF1dGhvciwgd2lsbCB1cGRhdGUgYXV0aG9y IGZpZWxkIHdpdGggeW91ciBuYW1lLg0KDQpSZWdhcmRpbmcgUm9iIEhlcnJpbmcgY29tbWVudHMs IFlvdSBoYWQgYWxyZWFkeSByZXBsaWVkLg0KDQpJIGZlbHQgc2VwYXJhdGUgY29tcGF0aWJsZSBm b3IgZWFjaCBleHRlcm5hbCBjb25uZWN0b3IgaXMgbm90IHJlcXVpcmVkLA0KYXMgY2xpZW50IGRy aXZlciBjYW4gZGV0ZWN0IHRoZSB0eXBlIG9mIGV4dGVybmFsIGNhYmxlKHNkcCxkY3AsIG1pY3Jv cGhvbmUpIG9uIHJlY2VpdmluZyBub3RpZmljYXRpb24gZnJvbSBleHRjb24gcHJvdmlkZXIsDQpJ IGhhdmUgYWxzbyBhZGRlZCBtb3JlIGRlc2NyaXB0aW9uIGZvciB3YWtldXAtc291cmNlLg0KDQpE byB5b3Ugc2VlIGFueSBvdGhlciBjaGFuZ2VzIHJlcXVpcmVkIG9uIHRvcCBvZiB2NCBwYXRjaD8N Cg0KUmVnYXJkcywNClZlbmthdA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZy b206IENoYW53b28gQ2hvaSBbbWFpbHRvOmN3Y2hvaTAwQGdtYWlsLmNvbV0NCj4gU2VudDogVGh1 cnNkYXksIE1heSAyNiwgMjAxNiA2OjUyIFBNDQo+IFRvOiBWZW5rYXQgUmVkZHkgVGFsbGENCj4g Q2M6IE15dW5nSm9vIEhhbTsgUm9iIEhlcnJpbmc7IFBhd2VsIE1vbGw7IE1hcmsgUnV0bGFuZDsg SWFuIENhbXBiZWxsOw0KPiBkZXZpY2V0cmVlOyBLdW1hciBHYWxhOyBsaW51eC1rZXJuZWw7IExh eG1hbiBEZXdhbmdhbg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHY0XSBleHRjb246IGdwaW86IEFk ZCB0aGUgc3VwcG9ydCBmb3IgRGV2aWNlIHRyZWUNCj4gYmluZGluZ3MNCj4gDQo+IEhpIFZlbmth dCwNCj4gDQo+IFRoZXJlIGlzIHNvbWUgbWlzY29tbXVuaWNhdGlvbi4gT24gcHJldmlvdXMgbXkg cmVwbHksIEkgZG9uJ3QgbWVhbiB0aGF0DQo+IHRoZSBhdXRob3Igb2YgdGhlIHBhdGNoWzFdIGlz IGNoYW5nZWQgZnJvbSBtZSB0byB5b3UuDQo+IA0KPiBJJ2QgbGlrZSB5b3UgdG8gcmVtYWluIHRo ZSBvcmlnaW5hbCBhdXRob3IobWUpIGZvciB0aGUgcGF0Y2hbMV0gd2l0aG91dA0KPiBjaGFuZ2lu ZyB0aGUgYXV0aG9yLg0KPiBbMV0gaHR0cHM6Ly9sa21sLm9yZy9sa21sLzIwMTUvMTAvMjEvOA0K PiAtIFtQQVRDSCB2M10gZXh0Y29uOiBncGlvOiBBZGQgdGhlIHN1cHBvcnQgZm9yIERldmljZSB0 cmVlIGJpbmRpbmdzDQo+IA0KPiBZb3UgY2FuIHVzZSB0aGUgcGF0Y2hbMV0gYXMgYmFzZWQgcGF0 Y2ggYW5kIHlvdSBjYW4gYWRkIG5ldyBmZWF0dXJlIG9uDQo+IGJhc2UgcGF0Y2hbMV0uIEFsc28s IElmIHlvdSBvaywgeW91IGNhbiBtb2RpZnkgdGhlIGV4dGNjb24tZ3Bpby5jIGRyaXZlciBhcw0K PiBSb2IgY29tbWVudFsyXS4NCj4gDQo+IEJ1dCwgUm9iIEhlcnJpbmcgZ2F2ZSBtZSB0aGUgc29t ZSBjb21tZW50WzJdLg0KPiBbMl0gaHR0cHM6Ly9sa21sLm9yZy9sa21sLzIwMTUvMTAvMjEvOTA2 DQo+IA0KPiANCj4gVGhhbmtzLA0KPiBDaGFud29vIENob2kNCj4gDQo+IA0KPiBPbiBUaHUsIE1h eSAyNiwgMjAxNiBhdCA4OjQ3IFBNLCBWZW5rYXQgUmVkZHkgVGFsbGENCj4gPHZyZWRkeXRhbGxh QG52aWRpYS5jb20+IHdyb3RlOg0KPiA+IEFkZCB0aGUgc3VwcG9ydCBmb3IgRGV2aWNlIHRyZWUg YmluZGluZ3Mgb2YgZXh0Y29uLWdwaW8gZHJpdmVyLg0KPiA+IFRoZSBleHRjb24tZ3BpbyBkZXZp Y2UgdHJlZSBub2RlIG11c3QgaW5jbHVkZSB0aGUgYm90aCAnZXh0Y29uLWlkJyBhbmQNCj4gPiAn Z3Bpb3MnIHByb3BlcnR5Lg0KPiA+DQo+ID4gRm9yIGV4YW1wbGU6DQo+ID4gICAgICAgICB1c2Jf Y2FibGU6IGV4dGNvbi1ncGlvLTAgew0KPiA+ICAgICAgICAgICAgICAgICBjb21wYXRpYmxlID0g ImV4dGNvbi1ncGlvIjsNCj4gPiAgICAgICAgICAgICAgICAgZXh0Y29uLWlkID0gPEVYVENPTl9V U0I+Ow0KPiA+ICAgICAgICAgICAgICAgICBncGlvcyA9IDwmZ3BpbzYgMSBHUElPX0FDVElWRV9I SUdIPjsNCj4gPiAgICAgICAgIH0NCj4gPiAgICAgICAgIHRhX2NhYmxlOiBleHRjb24tZ3Bpby0x IHsNCj4gPiAgICAgICAgICAgICAgICAgY29tcGF0aWJsZSA9ICJleHRjb24tZ3BpbyI7DQo+ID4g ICAgICAgICAgICAgICAgIGV4dGNvbi1pZCA9IDxFWFRDT05fQ0hHX1VTQl9EQ1A+Ow0KPiA+ICAg ICAgICAgICAgICAgICBncGlvcyA9IDwmZ3BpbzMgMiBHUElPX0FDVElWRV9MT1c+Ow0KPiA+ICAg ICAgICAgICAgICAgICBkZWJvdW5jZS1tcyA9IDw1MD47ICAgICAvKiA1MCBtaWxsaXNlY29uZCAq Lw0KPiA+ICAgICAgICAgICAgICAgICB3YWtldXAtc291cmNlOw0KPiA+ICAgICAgICAgfQ0KPiA+ ICAgICAgICAgJmR3YzNfdXNiIHsNCj4gPiAgICAgICAgICAgICAgICAgZXh0Y29uID0gPCZ1c2Jf Y2FibGU+Ow0KPiA+ICAgICAgICAgfTsNCj4gPiAgICAgICAgICZjaGFyZ2VyIHsNCj4gPiAgICAg ICAgICAgICAgICAgZXh0Y29uID0gPCZ0YV9jYWJsZT47DQo+ID4gICAgICAgICB9Ow0KPiA+DQo+ ID4gU2lnbmVkLW9mZi1ieTogVmVua2F0IFJlZGR5IFRhbGxhIDx2cmVkZHl0YWxsYUBudmlkaWEu Y29tPg0KPiA+IFNpZ25lZC1vZmYtYnk6IENoYW53b28gQ2hvaSA8Y3cwMC5jaG9pQHNhbXN1bmcu Y29tPg0KPiA+IFNpZ25lZC1vZmYtYnk6IE15dW5nSm9vIEhhbSA8bXl1bmdqb28uaGFtQHNhbXN1 bmcuY29tPg0KPiA+DQo+ID4gLS0tDQo+ID4gY2hhbmdlcyBmcm9tIHYzOg0KPiA+IC0gYWRkIGRl c2NyaXB0aW9uIGZvciB3YWtldXAtc291cmNlIGluIGRvY3VtZW50YXRpb24NCj4gPiAtIGNoYW5n ZSBkdHMgcHJvcGVydHkgZXh0Y29uLWdwaW8gbmFtZSB0byBncGlvcw0KPiA+IC0gdXNlIG9mX2dl dF9uYW1lZF9ncGlvX2ZsYWdzIHRvIGdldCBncGlvIG51bWJlciBhbmQgZmxhZ3MgQ2hhbmdlcw0K PiA+IGZyb20gdjI6DQo+ID4gLSBBZGQgdGhlIG1vcmUgZGVzY3JpcHRpb24gZm9yICdleHRjb24t aWQnIHByb3BlcnR5IGluIGRvY3VtZW50YXRpb24NCj4gPiBDaGFuZ2VzIGZyb20gdjE6DQo+ID4g LSBDcmVhdGUgdGhlIGluY2x1ZGUvZHQtYmluZGluZ3MvZXh0Y29uL2V4dGNvbi5oIGluY2x1ZGlu ZyB0aGUNCj4gPiBpZGVudGlmaWNhdGlvbiBvZiBleHRlcm5hbCBjb25uZWN0b3IuIFRoZXNlIGRl ZmluaXRpb25zIGFyZSB1c2VkIGluIGR0cyBmaWxlLg0KPiA+IC0gRml4IGVycm9yIGlmIENPTkZJ R19PRiBpcyBkaXNhYmxlZC4NCj4gPiAtIEFkZCBzaWduZWQtb2ZmIHRhZyBieSBNeXVuZ2pvbyBI YW0NCj4gPiAtLS0NCj4gPiAtLS0NCj4gPiAgLi4uL2RldmljZXRyZWUvYmluZGluZ3MvZXh0Y29u L2V4dGNvbi1ncGlvLnR4dCAgICAgfCAgNDggKysrKysrKysrDQo+ID4gIGRyaXZlcnMvZXh0Y29u L2V4dGNvbi1ncGlvLmMgICAgICAgICAgICAgICAgICAgICAgIHwgMTA5ICsrKysrKysrKysrKysr KysrLS0tLQ0KPiA+ICBpbmNsdWRlL2R0LWJpbmRpbmdzL2V4dGNvbi9leHRjb24uaCAgICAgICAg ICAgICAgICB8ICA0NyArKysrKysrKysNCj4gPiAgaW5jbHVkZS9saW51eC9leHRjb24vZXh0Y29u LWdwaW8uaCAgICAgICAgICAgICAgICAgfCAgIDggKy0NCj4gPiAgNCBmaWxlcyBjaGFuZ2VkLCAx ODkgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pICBjcmVhdGUgbW9kZQ0KPiA+IDEwMDY0 NCBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZXh0Y29uL2V4dGNvbi1ncGlvLnR4 dA0KPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9kdC1iaW5kaW5ncy9leHRjb24vZXh0 Y29uLmgNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmlu ZGluZ3MvZXh0Y29uL2V4dGNvbi1ncGlvLnR4dA0KPiA+IGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0 cmVlL2JpbmRpbmdzL2V4dGNvbi9leHRjb24tZ3Bpby50eHQNCj4gPiBuZXcgZmlsZSBtb2RlIDEw MDY0NA0KPiA+IGluZGV4IDAwMDAwMDAuLjgxZjc5MzINCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4g KysrIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2V4dGNvbi9leHRjb24tZ3Bp by50eHQNCj4gPiBAQCAtMCwwICsxLDQ4IEBADQo+ID4gK0dQSU8gRXh0Y29uIGRldmljZQ0KPiA+ ICsNCj4gPiArVGhpcyBpcyBhIHZpcnR1YWwgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIHNw ZWNpZmljIGNhYmxlIHN0YXRlcw0KPiA+ICtmcm9tIHRoZSBHUElPIHBpbi4NCj4gPiArDQo+ID4g K1JlcXVpcmVkIHByb3BlcnRpZXM6DQo+ID4gKy0gY29tcGF0aWJsZTogTXVzdCBiZSAiZXh0Y29u LWdwaW8iLg0KPiA+ICstIGV4dGNvbi1pZDogVGhlIGV4dGNvbiBzdXBwb3J0IHRoZSB2YXJpb3Vz IHR5cGUgb2YgZXh0ZXJuYWwNCj4gPiArY29ubmVjdG9yIHRvIGNoZWNrDQo+ID4gKyAgd2hldGhl ciBjb25uZWN0b3IgaXMgYXR0YWNoZWQgb3IgZGV0YWNoZWQuIFRoZSBlYWNoIGV4dGVybmFsDQo+ ID4gK2Nvbm5lY3RvciBoYXMNCj4gPiArICB0aGUgdW5pcXVlIG51bWJlciB0byBpZGVudGlmeSBp dC4gU28gdGhpcyBwcm9wZXJ0eSBpbmNsdWRlcyB0aGUNCj4gPiArdW5pcXVlIG51bWJlcg0KPiA+ ICsgIHdoaWNoIGluZGljYXRlcyB0aGUgc3BlY2lmaWMgZXh0ZXJuYWwgY29ubmVjdG9yLiBXaGVu IGV4dGVybmFsDQo+ID4gK2Nvbm5lY3RvciBpcw0KPiA+ICsgIGF0dGFjaGVkIG9yIGRldGFjaGVk LCBHUElPIHBpbiBkZXRlY3QgdGhlIGNoYW5nZWQgc3RhdGUuIFNlZQ0KPiA+ICtpbmNsdWRlLw0K PiA+ICsgIGR0LWJpbmRpbmdzL2V4dGNvbi9leHRjb24uaCB3aGljaCBkZWZpbmVzIHRoZSB1bmlx dWUgbnVtYmVyIGZvcg0KPiA+ICtzdXBwb3J0ZWQNCj4gPiArICBleHRlcm5hbCBjb25uZWN0b3Ig ZnJvbSBleHRjb24gZnJhbWV3b3JrLg0KPiA+ICstIGdwaW9zOiBHUElPIHBpbiB0byBkZXRlY3Qg dGhlIGV4dGVybmFsIGNvbm5lY3Rvci4gU2VlIGdwaW8gYmluZGluZy4NCj4gPiArDQo+ID4gK09w dGlvbmFsIHByb3BlcnRpZXM6DQo+ID4gKy0gZGVib3VuY2UtbXM6IHRoZSBkZWJvdW5jZSBkZWFs eSBmb3IgR1BJTyBwaW4gaW4gbWlsbGlzZWNvbmQuDQo+ID4gKy0gd2FrZXVwLXNvdXJjZTogQm9v bGVhbiwgZXh0Y29uIGNhbiB3YWtlLXVwIHRoZSBzeXN0ZW0gZnJvbQ0KPiBzdXNwZW5kLg0KPiA+ ICsgIGlmIGdwaW8gcHJvdmlkZWQgaW4gZXh0Y29uLWdwaW8gRFQgbm9kZSBpcyByZWdpc3RlcmVk IGFzIGludGVycnVwdCwNCj4gPiArICB0aGVuIGV4dGNvbiBjYW4gd2FrZS11cCB0aGUgc3lzdGVt IGZyb20gc3VzcGVuZCBpZiB3YWtldXAtc291cmNlDQo+ID4gK3Byb3BlcnR5DQo+ID4gKyAgaXMg YXZhaWxhYmxlIGluIERUIG5vZGUsIGlmIGdwaW8gcmVnaXN0ZXJlZCBhcyBpbnRlcnJ1cHQgYnV0 DQo+ID4gK3dha2V1cC1zb3VyY2UNCj4gPiArICBpcyBub3QgYXZhaWxhYmxlIGluIERUIG5vZGUs IHRoZW4gc3lzdGVtIHdha2UtdXAgZHVlIHRvIGV4dGNvbg0KPiA+ICtldmVudHMNCj4gPiArICBu b3Qgc3VwcG9ydGVkLg0KPiA+ICsNCj4gPiArRXhhbXBsZTogRXhhbXBsZXMgb2YgZXh0Y29uLWdw aW8gbm9kZSBhcyBsaXN0ZWQgYmVsb3c6DQo+ID4gKw0KPiA+ICsgICAgICAgdXNiX2NhYmxlOiBl eHRjb24tZ3Bpby0wIHsNCj4gPiArICAgICAgICAgICAgICAgY29tcGF0aWJsZSA9ICJleHRjb24t Z3BpbyI7DQo+ID4gKyAgICAgICAgICAgICAgIGV4dGNvbi1pZCA9IDxFWFRDT05fVVNCPjsNCj4g PiArICAgICAgICAgICAgICAgZXh0Y29uLWdwaW8gPSA8JmdwaW82IDEgR1BJT19BQ1RJVkVfSElH SD47DQo+ID4gKyAgICAgICB9DQo+ID4gKw0KPiA+ICsgICAgICAgdGFfY2FibGU6IGV4dGNvbi1n cGlvLTEgew0KPiA+ICsgICAgICAgICAgICAgICBjb21wYXRpYmxlID0gImV4dGNvbi1ncGlvIjsN Cj4gPiArICAgICAgICAgICAgICAgZXh0Y29uLWlkID0gPEVYVENPTl9DSEdfVVNCX0RDUD47DQo+ ID4gKyAgICAgICAgICAgICAgIGV4dGNvbi1ncGlvID0gPCZncGlvMyAyIEdQSU9fQUNUSVZFX0xP Vz47DQo+ID4gKyAgICAgICAgICAgICAgIGRlYm91bmNlLW1zID0gPDUwPjsgICAgIC8qIDUwIG1p bGxpc2Vjb25kICovDQo+ID4gKyAgICAgICAgICAgICAgIHdha2V1cC1zb3VyY2U7DQo+ID4gKyAg ICAgICB9DQo+ID4gKw0KPiA+ICsgICAgICAgJmR3YzNfdXNiIHsNCj4gPiArICAgICAgICAgICAg ICAgZXh0Y29uID0gPCZ1c2JfY2FibGU+Ow0KPiA+ICsgICAgICAgfTsNCj4gPiArDQo+ID4gKyAg ICAgICAmY2hhcmdlciB7DQo+ID4gKyAgICAgICAgICAgICAgIGV4dGNvbiA9IDwmdGFfY2FibGU+ Ow0KPiA+ICsgICAgICAgfTsNCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9leHRjb24vZXh0Y29u LWdwaW8uYw0KPiA+IGIvZHJpdmVycy9leHRjb24vZXh0Y29uLWdwaW8uYyBpbmRleCBkMDIzNzg5 Li41OTJmMzk1IDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvZXh0Y29uL2V4dGNvbi1ncGlvLmMN Cj4gPiArKysgYi9kcml2ZXJzL2V4dGNvbi9leHRjb24tZ3Bpby5jDQo+ID4gQEAgLTEsMTEgKzEs OSBAQA0KPiA+ICAvKg0KPiA+ICAgKiBleHRjb25fZ3Bpby5jIC0gU2luZ2xlLXN0YXRlIEdQSU8g ZXh0Y29uIGRyaXZlciBiYXNlZCBvbiBleHRjb24gY2xhc3MNCj4gPiAgICoNCj4gPiAtICogQ29w eXJpZ2h0IChDKSAyMDA4IEdvb2dsZSwgSW5jLg0KPiA+IC0gKiBBdXRob3I6IE1pa2UgTG9ja3dv b2QgPGxvY2t3b29kQGFuZHJvaWQuY29tPg0KPiA+IC0gKg0KPiA+IC0gKiBNb2RpZmllZCBieSBN eXVuZ0pvbyBIYW0gPG15dW5nam9vLmhhbUBzYW1zdW5nLmNvbT4gdG8NCj4gc3VwcG9ydA0KPiA+ IGV4dGNvbg0KPiA+IC0gKiAob3JpZ2luYWxseSBzd2l0Y2ggY2xhc3MgaXMgc3VwcG9ydGVkKQ0K PiA+ICsgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQ2hhbndvbyBDaG9pIDxjdzAwLmNob2lAc2Ftc3Vu Zy5jb20+LA0KPiBTYW1zdW5nDQo+ID4gKyBFbGVjdHJvbmljcw0KPiA+ICsgKiBDb3B5cmlnaHQg KEMpIDIwMTIgTXl1bmdKb28gSGFtIDxteXVuZ2pvby5oYW1Ac2Ftc3VuZy5jb20+LA0KPiA+ICsg U2Ftc3VuZyBFbGVjdHJvbmljcw0KPiA+ICsgKiBDb3B5cmlnaHQgKEMpIDIwMDggTWlrZSBMb2Nr d29vZCA8bG9ja3dvb2RAYW5kcm9pZC5jb20+LCBHb29nbGUsDQo+IEluYy4NCj4gPiAgICoNCj4g PiAgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYw0KPiA+ICAgKiBMaWNlbnNlIHZlcnNpb24gMiwgYXMgcHVibGlzaGVk IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sDQo+ID4gYW5kIEBAIC0yNSwxMyArMjMs MTcgQEAgICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4gICNpbmNsdWRlDQo+ID4gPGxpbnV4 L2tlcm5lbC5oPiAgI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPg0KPiA+ICsjaW5jbHVkZSA8bGlu dXgvb2YuaD4NCj4gPiArI2luY2x1ZGUgPGxpbnV4L29mX2dwaW8uaD4NCj4gPiAgI2luY2x1ZGUg PGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPg0KPiA+ICsjaW5jbHVkZSA8bGludXgvcHJvcGVydHku aD4NCj4gPiAgI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4NCj4gPiAgI2luY2x1ZGUgPGxpbnV4L3dv cmtxdWV1ZS5oPg0KPiA+DQo+ID4gIHN0cnVjdCBncGlvX2V4dGNvbl9kYXRhIHsNCj4gPiAgICAg ICAgIHN0cnVjdCBleHRjb25fZGV2ICplZGV2Ow0KPiA+ICAgICAgICAgaW50IGlycTsNCj4gPiAr ICAgICAgIGJvb2wgaXJxX3dha2V1cDsNCj4gPiAgICAgICAgIHN0cnVjdCBkZWxheWVkX3dvcmsg d29yazsNCj4gPiAgICAgICAgIHVuc2lnbmVkIGxvbmcgZGVib3VuY2VfamlmZmllczsNCj4gPg0K PiA+IEBAIC00OSw3ICs1MSw3IEBAIHN0YXRpYyB2b2lkIGdwaW9fZXh0Y29uX3dvcmsoc3RydWN0 IHdvcmtfc3RydWN0DQo+ICp3b3JrKQ0KPiA+ICAgICAgICAgc3RhdGUgPSBncGlvZF9nZXRfdmFs dWVfY2Fuc2xlZXAoZGF0YS0+aWRfZ3Bpb2QpOw0KPiA+ICAgICAgICAgaWYgKGRhdGEtPnBkYXRh LT5ncGlvX2FjdGl2ZV9sb3cpDQo+ID4gICAgICAgICAgICAgICAgIHN0YXRlID0gIXN0YXRlOw0K PiA+IC0gICAgICAgZXh0Y29uX3NldF9zdGF0ZShkYXRhLT5lZGV2LCBzdGF0ZSk7DQo+ID4gKyAg ICAgICBleHRjb25fc2V0X2NhYmxlX3N0YXRlXyhkYXRhLT5lZGV2LCBkYXRhLT5wZGF0YS0+ZXh0 Y29uX2lkLA0KPiA+ICsgc3RhdGUpOw0KPiA+ICB9DQo+ID4NCj4gPiAgc3RhdGljIGlycXJldHVy bl90IGdwaW9faXJxX2hhbmRsZXIoaW50IGlycSwgdm9pZCAqZGV2X2lkKSBAQCAtNjEsNg0KPiA+ ICs2Myw0MiBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgZ3Bpb19pcnFfaGFuZGxlcihpbnQgaXJxLCB2 b2lkICpkZXZfaWQpDQo+ID4gICAgICAgICByZXR1cm4gSVJRX0hBTkRMRUQ7DQo+ID4gIH0NCj4g Pg0KPiA+ICtzdGF0aWMgaW50IGdwaW9fZXh0Y29uX3BhcnNlX29mKHN0cnVjdCBwbGF0Zm9ybV9k ZXZpY2UgKnBkZXYsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg Z3Bpb19leHRjb25fZGF0YSAqZGF0YSkgew0KPiA+ICsgICAgICAgc3RydWN0IGdwaW9fZXh0Y29u X3BkYXRhICpwZGF0YTsNCj4gPiArICAgICAgIHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAgPSBwZGV2 LT5kZXYub2Zfbm9kZTsNCj4gPiArICAgICAgIGVudW0gb2ZfZ3Bpb19mbGFncyBmbGFnczsNCj4g PiArICAgICAgIGludCByZXQ7DQo+ID4gKw0KPiA+ICsgICAgICAgcGRhdGEgPSBkZXZtX2t6YWxs b2MoJnBkZXYtPmRldiwgc2l6ZW9mKCpwZGF0YSksIEdGUF9LRVJORUwpOw0KPiA+ICsgICAgICAg aWYgKCFwZGF0YSkNCj4gPiArICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07DQo+ID4gKw0K PiA+ICsgICAgICAgcmV0ID0gZGV2aWNlX3Byb3BlcnR5X3JlYWRfdTMyKCZwZGV2LT5kZXYsICJl eHRjb24taWQiLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JnBkYXRhLT5leHRjb25faWQpOw0KPiA+ICsgICAgICAgaWYgKHJldCA8IDApDQo+ID4gKyAgICAg ICAgICAgICAgIHJldHVybiAtRUlOVkFMOw0KPiA+ICsNCj4gPiArICAgICAgIHBkYXRhLT5ncGlv ID0gb2ZfZ2V0X25hbWVkX2dwaW9fZmxhZ3MobnAsICJncGlvcyIsIDAsICZmbGFncyk7DQo+ID4g KyAgICAgICBpZiAocGRhdGEtPmdwaW8gPCAwKQ0KPiA+ICsgICAgICAgICAgICAgICByZXR1cm4g LUVJTlZBTDsNCj4gPiArDQo+ID4gKyAgICAgICBpZiAoZmxhZ3MgJiBPRl9HUElPX0FDVElWRV9M T1cpDQo+ID4gKyAgICAgICAgICAgICAgIHBkYXRhLT5ncGlvX2FjdGl2ZV9sb3cgPSB0cnVlOw0K PiA+ICsNCj4gPiArICAgICAgIGRhdGEtPmlycV93YWtldXAgPSBkZXZpY2VfcHJvcGVydHlfcmVh ZF9ib29sKCZwZGV2LT5kZXYsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIndha2V1cC1zb3VyY2UiKTsNCj4gPiArDQo+ID4gKyAgICAgICBkZXZp Y2VfcHJvcGVydHlfcmVhZF91MzIoJnBkZXYtPmRldiwgImRlYm91bmNlLW1zIiwNCj4gPiArICZw ZGF0YS0+ZGVib3VuY2UpOw0KPiA+ICsNCj4gPiArICAgICAgIHBkYXRhLT5pcnFfZmxhZ3MgPSAo SVJRRl9UUklHR0VSX1JJU0lORyB8IElSUUZfVFJJR0dFUl9GQUxMSU5HDQo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8IElSUUZfT05FU0hPVCk7DQo+ID4gKw0KPiA+ICsgICAg ICAgZGF0YS0+cGRhdGEgPSBwZGF0YTsNCj4gPiArICAgICAgIHJldHVybiAwOw0KPiA+ICt9DQo+ ID4gKw0KPiA+ICBzdGF0aWMgaW50IGdwaW9fZXh0Y29uX2luaXQoc3RydWN0IGRldmljZSAqZGV2 LCBzdHJ1Y3QNCj4gPiBncGlvX2V4dGNvbl9kYXRhICpkYXRhKSAgew0KPiA+ICAgICAgICAgc3Ry dWN0IGdwaW9fZXh0Y29uX3BkYXRhICpwZGF0YSA9IGRhdGEtPnBkYXRhOyBAQCAtOTYsMTYNCj4g PiArMTM0LDIwIEBAIHN0YXRpYyBpbnQgZ3Bpb19leHRjb25fcHJvYmUoc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldikNCj4gPiAgICAgICAgIHN0cnVjdCBncGlvX2V4dGNvbl9kYXRhICpkYXRh Ow0KPiA+ICAgICAgICAgaW50IHJldDsNCj4gPg0KPiA+IC0gICAgICAgaWYgKCFwZGF0YSkNCj4g PiAtICAgICAgICAgICAgICAgcmV0dXJuIC1FQlVTWTsNCj4gPiAtICAgICAgIGlmICghcGRhdGEt PmlycV9mbGFncyB8fCBwZGF0YS0+ZXh0Y29uX2lkID4gRVhUQ09OX05PTkUpDQo+ID4gLSAgICAg ICAgICAgICAgIHJldHVybiAtRUlOVkFMOw0KPiA+IC0NCj4gPiAtICAgICAgIGRhdGEgPSBkZXZt X2t6YWxsb2MoJnBkZXYtPmRldiwgc2l6ZW9mKHN0cnVjdCBncGlvX2V4dGNvbl9kYXRhKSwNCj4g PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdGUF9LRVJORUwpOw0KPiA+ICsg ICAgICAgZGF0YSA9IGRldm1fa3phbGxvYygmcGRldi0+ZGV2LCBzaXplb2YoKmRhdGEpLCBHRlBf S0VSTkVMKTsNCj4gPiAgICAgICAgIGlmICghZGF0YSkNCj4gPiAgICAgICAgICAgICAgICAgcmV0 dXJuIC1FTk9NRU07DQo+ID4gLSAgICAgICBkYXRhLT5wZGF0YSA9IHBkYXRhOw0KPiA+ICsNCj4g PiArICAgICAgIGlmICghcGRhdGEpIHsNCj4gPiArICAgICAgICAgICAgICAgcmV0ID0gZ3Bpb19l eHRjb25fcGFyc2Vfb2YocGRldiwgZGF0YSk7DQo+ID4gKyAgICAgICAgICAgICAgIGlmIChyZXQg PCAwKQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7DQo+ID4gKyAgICAg ICB9IGVsc2Ugew0KPiA+ICsgICAgICAgICAgICAgICBkYXRhLT5wZGF0YSA9IHBkYXRhOw0KPiA+ ICsgICAgICAgfQ0KPiA+ICsNCj4gPiArICAgICAgIGlmICghZGF0YS0+cGRhdGEtPmlycV9mbGFn cyB8fCBkYXRhLT5wZGF0YS0+ZXh0Y29uX2lkID09DQo+IEVYVENPTl9OT05FKQ0KPiA+ICsgICAg ICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gPg0KPiA+ICAgICAgICAgLyogSW5pdGlhbGl6 ZSB0aGUgZ3BpbyAqLw0KPiA+ICAgICAgICAgcmV0ID0gZ3Bpb19leHRjb25faW5pdCgmcGRldi0+ ZGV2LCBkYXRhKTsgQEAgLTExMyw3ICsxNTUsOCBAQA0KPiA+IHN0YXRpYyBpbnQgZ3Bpb19leHRj b25fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCj4gPiAgICAgICAgICAgICAg ICAgcmV0dXJuIHJldDsNCj4gPg0KPiA+ICAgICAgICAgLyogQWxsb2NhdGUgdGhlIG1lbW9yeSBv ZiBleHRjb24gZGV2aWUgYW5kIHJlZ2lzdGVyIGV4dGNvbiBkZXZpY2UgKi8NCj4gPiAtICAgICAg IGRhdGEtPmVkZXYgPSBkZXZtX2V4dGNvbl9kZXZfYWxsb2NhdGUoJnBkZXYtPmRldiwgJnBkYXRh LQ0KPiA+ZXh0Y29uX2lkKTsNCj4gPiArICAgICAgIGRhdGEtPmVkZXYgPSBkZXZtX2V4dGNvbl9k ZXZfYWxsb2NhdGUoJnBkZXYtPmRldiwNCj4gPiArDQo+ID4gKyAmZGF0YS0+cGRhdGEtPmV4dGNv bl9pZCk7DQo+ID4gICAgICAgICBpZiAoSVNfRVJSKGRhdGEtPmVkZXYpKSB7DQo+ID4gICAgICAg ICAgICAgICAgIGRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byBhbGxvY2F0ZSBleHRjb24g ZGV2aWNlXG4iKTsNCj4gPiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07DQo+ID4gQEAg LTEzMCw3ICsxNzMsOCBAQCBzdGF0aWMgaW50IGdwaW9fZXh0Y29uX3Byb2JlKHN0cnVjdA0KPiBw bGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQo+ID4gICAgICAgICAgKiBpcyBhdHRhY2hlZCBvciBkZXRh Y2hlZC4NCj4gPiAgICAgICAgICAqLw0KPiA+ICAgICAgICAgcmV0ID0gZGV2bV9yZXF1ZXN0X2Fu eV9jb250ZXh0X2lycSgmcGRldi0+ZGV2LCBkYXRhLT5pcnEsDQo+ID4gLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGdwaW9faXJxX2hhbmRsZXIsIHBkYXRhLT5pcnFfZmxh Z3MsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdwaW9faXJx X2hhbmRsZXIsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRh dGEtPnBkYXRhLT5pcnFfZmxhZ3MsDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHBkZXYtPm5hbWUsIGRhdGEpOw0KPiA+ICAgICAgICAgaWYgKHJldCA8IDApDQo+ ID4gICAgICAgICAgICAgICAgIHJldHVybiByZXQ7DQo+ID4gQEAgLTEzOSw2ICsxODMsOCBAQCBz dGF0aWMgaW50IGdwaW9fZXh0Y29uX3Byb2JlKHN0cnVjdA0KPiBwbGF0Zm9ybV9kZXZpY2UgKnBk ZXYpDQo+ID4gICAgICAgICAvKiBQZXJmb3JtIGluaXRpYWwgZGV0ZWN0aW9uICovDQo+ID4gICAg ICAgICBncGlvX2V4dGNvbl93b3JrKCZkYXRhLT53b3JrLndvcmspOw0KPiA+DQo+ID4gKyAgICAg ICBpZiAoZGF0YS0+aXJxX3dha2V1cCkNCj4gPiArICAgICAgICAgICAgICAgZGV2aWNlX2luaXRf d2FrZXVwKCZwZGV2LT5kZXYsIGRhdGEtPmlycV93YWtldXApOw0KPiA+ICAgICAgICAgcmV0dXJu IDA7DQo+ID4gIH0NCj4gPg0KPiA+IEBAIC0xNTIsMTEgKzE5OCwyMyBAQCBzdGF0aWMgaW50IGdw aW9fZXh0Y29uX3JlbW92ZShzdHJ1Y3QNCj4gPiBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpICB9DQo+ ID4NCj4gPiAgI2lmZGVmIENPTkZJR19QTV9TTEVFUA0KPiA+ICtzdGF0aWMgaW50IGdwaW9fZXh0 Y29uX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KSB7DQo+ID4gKyAgICAgICBzdHJ1Y3QgZ3Bp b19leHRjb25fZGF0YSAqZGF0YSA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPiA+ICsNCj4gPiAr ICAgICAgIGlmIChkYXRhLT5pcnFfd2FrZXVwKQ0KPiA+ICsgICAgICAgICAgICAgICBlbmFibGVf aXJxX3dha2UoZGF0YS0+aXJxKTsNCj4gPiArDQo+ID4gKyAgICAgICByZXR1cm4gMDsNCj4gPiAr fQ0KPiA+ICsNCj4gPiAgc3RhdGljIGludCBncGlvX2V4dGNvbl9yZXN1bWUoc3RydWN0IGRldmlj ZSAqZGV2KSAgew0KPiA+IC0gICAgICAgc3RydWN0IGdwaW9fZXh0Y29uX2RhdGEgKmRhdGE7DQo+ ID4gKyAgICAgICBzdHJ1Y3QgZ3Bpb19leHRjb25fZGF0YSAqZGF0YSA9IGRldl9nZXRfZHJ2ZGF0 YShkZXYpOw0KPiA+ICsNCj4gPiArICAgICAgIGlmIChkYXRhLT5pcnFfd2FrZXVwKQ0KPiA+ICsg ICAgICAgICAgICAgICBkaXNhYmxlX2lycV93YWtlKGRhdGEtPmlycSk7DQo+ID4NCj4gPiAtICAg ICAgIGRhdGEgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCj4gPiAgICAgICAgIGlmIChkYXRhLT5w ZGF0YS0+Y2hlY2tfb25fcmVzdW1lKQ0KPiA+ICAgICAgICAgICAgICAgICBxdWV1ZV9kZWxheWVk X3dvcmsoc3lzdGVtX3Bvd2VyX2VmZmljaWVudF93cSwNCj4gPiAgICAgICAgICAgICAgICAgICAg ICAgICAmZGF0YS0+d29yaywgZGF0YS0+ZGVib3VuY2VfamlmZmllcyk7IEBADQo+ID4gLTE2NSw3 ICsyMjMsMTggQEAgc3RhdGljIGludCBncGlvX2V4dGNvbl9yZXN1bWUoc3RydWN0IGRldmljZSAq ZGV2KSAgfQ0KPiA+ICNlbmRpZg0KPiA+DQo+ID4gLXN0YXRpYyBTSU1QTEVfREVWX1BNX09QUyhn cGlvX2V4dGNvbl9wbV9vcHMsIE5VTEwsDQo+ID4gZ3Bpb19leHRjb25fcmVzdW1lKTsNCj4gPiAr I2lmIGRlZmluZWQoQ09ORklHX09GKQ0KPiA+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2Rldmlj ZV9pZCBncGlvX2V4dGNvbl9vZl9tYXRjaFtdID0gew0KPiA+ICsgICAgICAgeyAuY29tcGF0aWJs ZSA9ICJleHRjb24tZ3BpbyIsIH0sDQo+ID4gKyAgICAgICB7IC8qIHNlbnRpbmVsICovIH0sDQo+ ID4gK307DQo+ID4gK01PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIGdwaW9fZXh0Y29uX29mX21hdGNo KTsgI2Vsc2UNCj4gPiArI2RlZmluZSBncGlvX2V4dGNvbl9vZl9tYXRjaCAgIE5VTEwNCj4gPiAr I2VuZGlmDQo+ID4gKw0KPiA+ICtzdGF0aWMgU0lNUExFX0RFVl9QTV9PUFMoZ3Bpb19leHRjb25f cG1fb3BzLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGdwaW9fZXh0Y29uX3N1c3BlbmQs IGdwaW9fZXh0Y29uX3Jlc3VtZSk7DQo+ID4NCj4gPiAgc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9k cml2ZXIgZ3Bpb19leHRjb25fZHJpdmVyID0gew0KPiA+ICAgICAgICAgLnByb2JlICAgICAgICAg ID0gZ3Bpb19leHRjb25fcHJvYmUsDQo+ID4gQEAgLTE3MywxMSArMjQyLDEzIEBAIHN0YXRpYyBz dHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGdwaW9fZXh0Y29uX2RyaXZlciA9DQo+IHsNCj4gPiAgICAg ICAgIC5kcml2ZXIgICAgICAgICA9IHsNCj4gPiAgICAgICAgICAgICAgICAgLm5hbWUgICA9ICJl eHRjb24tZ3BpbyIsDQo+ID4gICAgICAgICAgICAgICAgIC5wbSAgICAgPSAmZ3Bpb19leHRjb25f cG1fb3BzLA0KPiA+ICsgICAgICAgICAgICAgICAub2ZfbWF0Y2hfdGFibGUgPSBncGlvX2V4dGNv bl9vZl9tYXRjaCwNCj4gPiAgICAgICAgIH0sDQo+ID4gIH07DQo+ID4NCj4gPiAgbW9kdWxlX3Bs YXRmb3JtX2RyaXZlcihncGlvX2V4dGNvbl9kcml2ZXIpOw0KPiA+DQo+ID4gK01PRFVMRV9BVVRI T1IoIkNoYW53b28gQ2hvaSA8Y3cwMC5jaG9pQHNhbXN1bmcuY29tPiIpOw0KPiA+ICBNT0RVTEVf QVVUSE9SKCJNaWtlIExvY2t3b29kIDxsb2Nrd29vZEBhbmRyb2lkLmNvbT4iKTsNCj4gPiBNT0RV TEVfREVTQ1JJUFRJT04oIkdQSU8gZXh0Y29uIGRyaXZlciIpOyAgTU9EVUxFX0xJQ0VOU0UoIkdQ TCIpOw0KPiBkaWZmDQo+ID4gLS1naXQgYS9pbmNsdWRlL2R0LWJpbmRpbmdzL2V4dGNvbi9leHRj b24uaA0KPiA+IGIvaW5jbHVkZS9kdC1iaW5kaW5ncy9leHRjb24vZXh0Y29uLmgNCj4gPiBuZXcg ZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAwMDAwMDAuLmRiYmE1ODgNCj4gPiAtLS0gL2Rl di9udWxsDQo+ID4gKysrIGIvaW5jbHVkZS9kdC1iaW5kaW5ncy9leHRjb24vZXh0Y29uLmgNCj4g PiBAQCAtMCwwICsxLDQ3IEBADQo+ID4gKy8qDQo+ID4gKyAqIFRoaXMgaGVhZGVyIHByb3ZpZGVz IGNvbnN0YW50cyBmb3IgbW9zdCBleHRjb24gYmluZGluZ3MuDQo+ID4gKyAqDQo+ID4gKyAqIE1v c3QgZXh0Y29uIGJpbmRpbmdzIGluY2x1ZGUgdGhlIHVuaXF1ZSBpZGVudGlmaWNhdGlvbiBmb3Jt YXQuDQo+ID4gKyAqIEluIG1vc3QgY2FzZXMsIHRoZSB1bmlxdWUgaWQgZm9ybWF0IHVzZXMgdGhl IHN0YW5kYXJkIHZhbHVlcy9tYWNybw0KPiA+ICsgKiBkZWZpbmVkIGluIHRoaXMgaGVhZGVyLg0K PiA+ICsgKi8NCj4gPiArDQo+ID4gKyNpZm5kZWYgX0RUX0JJTkRJTkdTX0VYVENPTl9FWFRDT05f SA0KPiA+ICsjZGVmaW5lIF9EVF9CSU5ESU5HU19FWFRDT05fRVhUQ09OX0gNCj4gPiArDQo+ID4g Ky8qIFVTQiBleHRlcm5hbCBjb25uZWN0b3IgKi8NCj4gPiArI2RlZmluZSBFWFRDT05fVVNCICAg ICAgICAgICAgIDENCj4gPiArI2RlZmluZSBFWFRDT05fVVNCX0hPU1QgICAgICAgICAgICAgICAg Mg0KPiA+ICsNCj4gPiArLyogQ2hhcmdpbmcgZXh0ZXJuYWwgY29ubmVjdG9yICovDQo+ID4gKyNk ZWZpbmUgRVhUQ09OX0NIR19VU0JfU0RQICAgICA1ICAgICAgIC8qIFN0YW5kYXJkIERvd25zdHJl YW0gUG9ydCAqLw0KPiA+ICsjZGVmaW5lIEVYVENPTl9DSEdfVVNCX0RDUCAgICAgNiAgICAgICAv KiBEZWRpY2F0ZWQgQ2hhcmdpbmcgUG9ydCAqLw0KPiA+ICsjZGVmaW5lIEVYVENPTl9DSEdfVVNC X0NEUCAgICAgNyAgICAgICAvKiBDaGFyZ2luZyBEb3duc3RyZWFtIFBvcnQgKi8NCj4gPiArI2Rl ZmluZSBFWFRDT05fQ0hHX1VTQl9BQ0EgICAgIDggICAgICAgLyogQWNjZXNzb3J5IENoYXJnZXIg QWRhcHRlciAqLw0KPiA+ICsjZGVmaW5lIEVYVENPTl9DSEdfVVNCX0ZBU1QgICAgOQ0KPiA+ICsj ZGVmaW5lIEVYVENPTl9DSEdfVVNCX1NMT1cgICAgMTANCj4gPiArDQo+ID4gKy8qIEphY2sgZXh0 ZXJuYWwgY29ubmVjdG9yICovDQo+ID4gKyNkZWZpbmUgRVhUQ09OX0pBQ0tfTUlDUk9QSE9ORSAy MA0KPiA+ICsjZGVmaW5lIEVYVENPTl9KQUNLX0hFQURQSE9ORSAgMjENCj4gPiArI2RlZmluZSBF WFRDT05fSkFDS19MSU5FX0lOICAgIDIyDQo+ID4gKyNkZWZpbmUgRVhUQ09OX0pBQ0tfTElORV9P VVQgICAyMw0KPiA+ICsjZGVmaW5lIEVYVENPTl9KQUNLX1ZJREVPX0lOICAgMjQNCj4gPiArI2Rl ZmluZSBFWFRDT05fSkFDS19WSURFT19PVVQgIDI1DQo+ID4gKyNkZWZpbmUgRVhUQ09OX0pBQ0tf U1BESUZfSU4gICAyNiAgICAgIC8qIFNvbnkgUGhpbGlwcyBEaWdpdGFsIEludGVyRmFjZQ0KPiAq Lw0KPiA+ICsjZGVmaW5lIEVYVENPTl9KQUNLX1NQRElGX09VVCAgMjcNCj4gPiArDQo+ID4gKy8q IERpc3BsYXkgZXh0ZXJuYWwgY29ubmVjdG9yICovDQo+ID4gKyNkZWZpbmUgRVhUQ09OX0RJU1Bf SERNSSAgICAgICA0MCAgICAgIC8qIEhpZ2gtRGVmaW5pdGlvbiBNdWx0aW1lZGlhDQo+IEludGVy ZmFjZSAqLw0KPiA+ICsjZGVmaW5lIEVYVENPTl9ESVNQX01ITCAgICAgICAgICAgICAgICA0MSAg ICAgIC8qIE1vYmlsZSBIaWdoLURlZmluaXRpb24gTGluaw0KPiAqLw0KPiA+ICsjZGVmaW5lIEVY VENPTl9ESVNQX0RWSSAgICAgICAgICAgICAgICA0MiAgICAgIC8qIERpZ2l0YWwgVmlzdWFsIElu dGVyZmFjZSAqLw0KPiA+ICsjZGVmaW5lIEVYVENPTl9ESVNQX1ZHQSAgICAgICAgICAgICAgICA0 MyAgICAgIC8qIFZpZGVvIEdyYXBoaWNzIEFycmF5ICovDQo+ID4gKw0KPiA+ICsvKiBNaXNjZWxs YW5lb3VzIGV4dGVybmFsIGNvbm5lY3RvciAqLw0KPiA+ICsjZGVmaW5lIEVYVENPTl9ET0NLICAg ICAgICAgICAgNjANCj4gPiArI2RlZmluZSBFWFRDT05fSklHICAgICAgICAgICAgIDYxDQo+ID4g KyNkZWZpbmUgRVhUQ09OX01FQ0hBTklDQUwgICAgICA2Mg0KPiA+ICsNCj4gPiArI2RlZmluZSBF WFRDT05fTlVNICAgICAgICAgICAgIDYzDQo+ID4gKw0KPiA+ICsjZW5kaWYgLyogX0RUX0JJTkRJ TkdTX0VYVENPTl9FWFRDT05fSCAqLw0KPiA+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2V4 dGNvbi9leHRjb24tZ3Bpby5oDQo+ID4gYi9pbmNsdWRlL2xpbnV4L2V4dGNvbi9leHRjb24tZ3Bp by5oDQo+ID4gaW5kZXggN2NhY2FmYi4uZjdlNzY3MyAxMDA2NDQNCj4gPiAtLS0gYS9pbmNsdWRl L2xpbnV4L2V4dGNvbi9leHRjb24tZ3Bpby5oDQo+ID4gKysrIGIvaW5jbHVkZS9saW51eC9leHRj b24vZXh0Y29uLWdwaW8uaA0KPiA+IEBAIC0xLDggKzEsOCBAQA0KPiA+ICAvKg0KPiA+ICAgKiBT aW5nbGUtc3RhdGUgR1BJTyBleHRjb24gZHJpdmVyIGJhc2VkIG9uIGV4dGNvbiBjbGFzcw0KPiA+ ICAgKg0KPiA+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcw0KPiA+ IC0gKiBBdXRob3I6IE15dW5nSm9vIEhhbSA8bXl1bmdqb28uaGFtQHNhbXN1bmcuY29tPg0KPiA+ ICsgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQ2hhbndvbyBDaG9pIDxjdzAwLmNob2lAc2Ftc3VuZy5j b20+LA0KPiBTYW1zdW5nDQo+ID4gKyBFbGVjdHJvbmljcw0KPiA+ICsgKiBDb3B5cmlnaHQgKEMp IDIwMTIgTXl1bmdKb28gSGFtIDxteXVuZ2pvby5oYW1Ac2Ftc3VuZy5jb20+LA0KPiA+ICsgU2Ft c3VuZyBFbGVjdHJvbmljcw0KPiA+ICAgKg0KPiA+ICAgKiBiYXNlZCBvbiBzd2l0Y2ggY2xhc3Mg ZHJpdmVyDQo+ID4gICAqIENvcHlyaWdodCAoQykgMjAwOCBHb29nbGUsIEluYy4NCj4gPiBAQCAt MzUsMTAgKzM1LDEwIEBADQo+ID4gICAqICAgICAgICAgICAgICAgICAgICAgd2hpbGUgcmVzdW1p bmcgZnJvbSBzbGVlcC4NCj4gPiAgICovDQo+ID4gIHN0cnVjdCBncGlvX2V4dGNvbl9wZGF0YSB7 DQo+ID4gLSAgICAgICB1bnNpZ25lZCBpbnQgZXh0Y29uX2lkOw0KPiA+ICsgICAgICAgdTMyIGV4 dGNvbl9pZDsNCj4gPiAgICAgICAgIHVuc2lnbmVkIGdwaW87DQo+ID4gICAgICAgICBib29sIGdw aW9fYWN0aXZlX2xvdzsNCj4gPiAtICAgICAgIHVuc2lnbmVkIGxvbmcgZGVib3VuY2U7DQo+ID4g KyAgICAgICB1MzIgZGVib3VuY2U7DQo+ID4gICAgICAgICB1bnNpZ25lZCBsb25nIGlycV9mbGFn czsNCj4gPg0KPiA+ICAgICAgICAgYm9vbCBjaGVja19vbl9yZXN1bWU7DQo+ID4gLS0NCj4gPiAy LjEuNA0KPiA+DQo=