From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Clark Subject: Re: [DPU PATCH] drm/msm: Remove secure fb/plane support from dpu Date: Thu, 22 Feb 2018 14:51:50 -0500 Message-ID: References: <20180221214212.77387-1-seanpaul@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180221214212.77387-1-seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: Sean Paul Cc: linux-arm-msm , "Kristian H. Kristensen" , freedreno , Jeykumar Sankaran List-Id: linux-arm-msm@vger.kernel.org T24gV2VkLCBGZWIgMjEsIDIwMTggYXQgNDo0MiBQTSwgU2VhbiBQYXVsIDxzZWFucGF1bEBjaHJv bWl1bS5vcmc+IHdyb3RlOgo+IFdlIG5lZWQgdG8gaGF2ZSBhIGRpc2N1c3Npb24gYWJvdXQgaG93 IHRvIGludHJvZHVjZSB0aGlzIGluIGEgd2F5IHRoYXQKPiBpdCBjYW4gYmUgbGV2ZXJhZ2VkIGJ5 IG90aGVyIHBsYXRmb3Jtcy91c2Vyc3BhY2VzLiBGb3Igbm93LCByZW1vdmUKPiBzdXBwb3J0IHNp bmNlIHdlIGRvbid0IG5lZWQgaXQgeWV0Lgo+Cj4gU2lnbmVkLW9mZi1ieTogU2VhbiBQYXVsIDxz ZWFucGF1bEBjaHJvbWl1bS5vcmc+CgpBZ3JlZWQuLgoKUmV2aWV3ZWQtYnk6IFJvYiBDbGFyayA8 cm9iZGNsYXJrQGdtYWlsLmNvbT4KCgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2ZyYW1l YnVmZmVyLmMgICAgICAgICAgICAgfCAgMyArLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfY3J0Yy5jICAgICAgfCAxNiAtLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV9jcnRjLmggICAgICB8IDQzIC0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgLi4u L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXNfd2IuYyAgIHwgMTEgLS0tLS0KPiAg ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3JvdC5jICAgIHwgIDEgLQo+ICBk cml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfcm90LmggICAgfCAgMiAtCj4gIGRy aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19zc3BwLmMgICB8IDMwIC0tLS0tLS0t LS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3NzcHAuaCAgIHwg MjEgKysrLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od193Yi5j ICAgICB8ICAzIC0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od193Yi5o ICAgICB8ICAxIC0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5jICAg ICAgIHwgIDggKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmgg ICAgICAgfCAxNSAtLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9w bGFuZS5jICAgICB8IDQxICstLS0tLS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNt L2Rpc3AvZHB1MS9kcHVfcGxhbmUuaCAgICAgfCAgMSAtCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV93Yi5jICAgICAgICB8IDEwIC0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9t c20vbXNtX2Rydi5oICAgICAgICAgICAgICAgICB8ICAzIC0tCj4gIGluY2x1ZGUvdWFwaS9kcm0v ZHB1X2RybS5oICAgICAgICAgICAgICAgICAgICB8IDQyIC0tLS0tLS0tLS0tLS0tLS0tLQo+ICBp bmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmggICAgICAgICAgICAgICAgICAgfCAgMSAtCj4gIDE4 IGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMjQzIGRlbGV0aW9ucygtKQo+Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZnJhbWVidWZmZXIuYyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fZnJhbWVidWZmZXIuYwo+IGluZGV4IDgyMjJmZjdkM2U5My4uNWExM2ZmMjlmNGYw IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZnJhbWVidWZmZXIuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fZnJhbWVidWZmZXIuYwo+IEBAIC0yNjgsOCArMjY4LDcgQEAg ZHJtX2ludGVybmFsX2ZyYW1lYnVmZmVyX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ ICAgICAgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmI7Cj4gICAgICAgICBpbnQgcmV0Owo+ Cj4gLSAgICAgICBpZiAoci0+ZmxhZ3MgJiB+KERSTV9NT0RFX0ZCX0lOVEVSTEFDRUQgfCBEUk1f TU9ERV9GQl9NT0RJRklFUlMgfAo+IC0gICAgICAgICAgICAgICAgICAgICAgIERSTV9NT0RFX0ZC X1NFQ1VSRSkpIHsKPiArICAgICAgIGlmIChyLT5mbGFncyAmIH4oRFJNX01PREVfRkJfSU5URVJM QUNFRCB8IERSTV9NT0RFX0ZCX01PRElGSUVSUykpIHsKPiAgICAgICAgICAgICAgICAgRFJNX0RF QlVHX0tNUygiYmFkIGZyYW1lYnVmZmVyIGZsYWdzIDB4JTA4eFxuIiwgci0+ZmxhZ3MpOwo+ICAg ICAgICAgICAgICAgICByZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKPiAgICAgICAgIH0KPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYyBiL2RyaXZl cnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMKPiBpbmRleCBkZjZjYmViMTVjZjUu LjNjZGYxZTNkOWQ5NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2Ny dGMuYwo+IEBAIC0zOSwxMyArMzksNiBAQAo+ICAjaW5jbHVkZSAiZHB1X2NvcmVfcGVyZi5oIgo+ ICAjaW5jbHVkZSAiZHB1X3RyYWNlLmgiCj4KPiAtLyogZGVmaW5lcyBmb3Igc2VjdXJlIGNoYW5u ZWwgY2FsbCAqLwo+IC0jZGVmaW5lIFNFQ19TSURfQ05UICAgICAgICAgICAgICAgMgo+IC0jZGVm aW5lIFNFQ19TSURfTUFTS18wICAgICAgICAgICAgMHg4MDg4MQo+IC0jZGVmaW5lIFNFQ19TSURf TUFTS18xICAgICAgICAgICAgMHg4MEM4MQo+IC0jZGVmaW5lIE1FTV9QUk9URUNUX1NEX0NUUkxf U1dJVENIIDB4MTgKPiAtI2RlZmluZSBNRFBfREVWSUNFX0lEICAgICAgICAgICAgMHgxQQo+IC0K PiAgc3RydWN0IGRwdV9jcnRjX2lycV9pbmZvIHsKPiAgICAgICAgIHN0cnVjdCBkcHVfaXJxX2Nh bGxiYWNrIGlycTsKPiAgICAgICAgIHUzMiBldmVudDsKPiBAQCAtMzk5NCwxMCArMzk4Nyw2IEBA IHN0YXRpYyB2b2lkIGRwdV9jcnRjX2luc3RhbGxfcHJvcGVydGllcyhzdHJ1Y3QgZHJtX2NydGMg KmNydGMsCj4gICAgICAgICBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2Owo+ICAgICAgICAgc3RydWN0 IGRwdV9rbXNfaW5mbyAqaW5mbzsKPiAgICAgICAgIHN0cnVjdCBkcHVfa21zICpkcHVfa21zOwo+ IC0gICAgICAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QgZV9zZWN1cmVf bGV2ZWxbXSA9IHsKPiAtICAgICAgICAgICAgICAge0RQVV9EUk1fU0VDX05PTl9TRUMsICJzZWNf YW5kX25vbl9zZWMifSwKPiAtICAgICAgICAgICAgICAge0RQVV9EUk1fU0VDX09OTFksICJzZWNf b25seSJ9LAo+IC0gICAgICAgfTsKPgo+ICAgICAgICAgRFBVX0RFQlVHKCJcbiIpOwo+Cj4gQEAg LTQwODAsMTEgKzQwNjksNiBAQCBzdGF0aWMgdm9pZCBkcHVfY3J0Y19pbnN0YWxsX3Byb3BlcnRp ZXMoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAgICAgICAgbXNtX3Byb3BlcnR5X2luc3RhbGxf dm9sYXRpbGVfcmFuZ2UoJmRwdV9jcnRjLT5wcm9wZXJ0eV9pbmZvLAo+ICAgICAgICAgICAgICAg ICAiZHB1X2RybV9yb2lfdjEiLCAweDAsIDAsIH4wLCAwLCBDUlRDX1BST1BfUk9JX1YxKTsKPgo+ IC0gICAgICAgbXNtX3Byb3BlcnR5X2luc3RhbGxfZW51bSgmZHB1X2NydGMtPnByb3BlcnR5X2lu Zm8sICJzZWN1cml0eV9sZXZlbCIsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgMHgwLCAwLCBl X3NlY3VyZV9sZXZlbCwKPiAtICAgICAgICAgICAgICAgICAgICAgICBBUlJBWV9TSVpFKGVfc2Vj dXJlX2xldmVsKSwKPiAtICAgICAgICAgICAgICAgICAgICAgICBDUlRDX1BST1BfU0VDVVJJVFlf TEVWRUwpOwo+IC0KPiAgICAgICAgIGRwdV9rbXNfaW5mb19yZXNldChpbmZvKTsKPgo+ICAgICAg ICAgaWYgKGNhdGFsb2ctPmhhc19kaW1fbGF5ZXIpIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9jcnRjLmgKPiBpbmRleCAxN2QyMWZmZjNmMGEuLmI2M2RmMjQzYmUzMyAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5oCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuaAo+IEBAIC01MSwyMCAr NTEsMTQgQEAgZW51bSBkcHVfY3J0Y19jbGllbnRfdHlwZSB7Cj4gICAqIGVudW0gZHB1X2NydGNf c21tdV9zdGF0ZTogICBzbW11IHN0YXRlCj4gICAqIEBBVFRBQ0hFRDogICBhbGwgdGhlIGNvbnRl eHQgYmFua3MgYXJlIGF0dGFjaGVkLgo+ICAgKiBAREVUQUNIRUQ6ICAgYWxsIHRoZSBjb250ZXh0 IGJhbmtzIGFyZSBkZXRhY2hlZC4KPiAtICogQERFVEFDSEVEX1NFQzogICAgICAgc2VjdXJlIGNv bnRleHQgYmFuayBpcyBkZXRhY2hlZC4KPiAgICogQEFUVEFDSF9BTExfUkVROiAgICAgdHJhbnNp ZW50IHN0YXRlIG9mIGF0dGFjaGluZyBjb250ZXh0IGJhbmtzLgo+ICAgKiBAREVUQUNIX0FMTF9S RVE6ICAgICB0cmFuc2llbnQgc3RhdGUgb2YgZGV0YWNoaW5nIGNvbnRleHQgYmFua3MuCj4gLSAq IEBERVRBQ0hfU0VDX1JFUTogICAgIHRyYW5pc2VudCBzdGF0ZSBvZiBzZWN1cmUgY29udGV4dCBi YW5rIGlzIGRldGFjaGVkCj4gLSAqIEBBVFRBQ0hfU0VDX1JFUTogICAgIHRyYW5zaWVudCBzdGF0 ZSBvZiBhdHRhY2hpbmcgc2VjdXJlIGNvbnRleHQgYmFuay4KPiAgICovCj4gIGVudW0gZHB1X2Ny dGNfc21tdV9zdGF0ZSB7Cj4gICAgICAgICBBVFRBQ0hFRCA9IDAsCj4gICAgICAgICBERVRBQ0hF RCwKPiAtICAgICAgIERFVEFDSEVEX1NFQywKPiAgICAgICAgIEFUVEFDSF9BTExfUkVRLAo+ICAg ICAgICAgREVUQUNIX0FMTF9SRVEsCj4gLSAgICAgICBERVRBQ0hfU0VDX1JFUSwKPiAtICAgICAg IEFUVEFDSF9TRUNfUkVRLAo+ICB9Owo+Cj4gIC8qKgo+IEBAIC02MjEsNDEgKzYxNSw0IEBAIHZv aWQgZHB1X2NydGNfcmVzX3B1dChzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlLCB1MzIgdHlw ZSwgdTY0IHRhZyk7Cj4gIHZvaWQgZHB1X2NydGNfZ2V0X2NydGNfcm9pKHN0cnVjdCBkcm1fY3J0 Y19zdGF0ZSAqc3RhdGUsCj4gICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBkcHVfcmVjdCAq KmNydGNfcm9pKTsKPgo+IC0vKiogZHB1X2NydF9nZXRfc2VjdXJlX2xldmVsIC0gcmV0cmlldmUg dGhlIHNlY3VyZSBsZXZlbCBmcm9tIHRoZSBnaXZlIHN0YXRlCj4gLSAqICAgICBvYmplY3QsIHRo aXMgaXMgdXNlZCB0byBkZXRlcm1pbmUgdGhlIHNlY3VyZSBzdGF0ZSBvZiB0aGUgY3J0Ywo+IC0g KiBAY3J0YyA6IFBvaW50ZXIgdG8gZHJtIGNydGMgc3RydWN0dXJlCj4gLSAqIEB1c3I6IFBvaW50 ZXIgdG8gZHJtIGNydGMgc3RhdGUKPiAtICogcmV0dXJuOiBzZWN1cmVfbGV2ZWwKPiAtICovCj4g LXN0YXRpYyBpbmxpbmUgaW50IGRwdV9jcnRjX2dldF9zZWN1cmVfbGV2ZWwoc3RydWN0IGRybV9j cnRjICpjcnRjLAo+IC0gICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRl KQo+IC17Cj4gLSAgICAgICBpZiAoIWNydGMgfHwgIXN0YXRlKQo+IC0gICAgICAgICAgICAgICBy ZXR1cm4gLUVJTlZBTDsKPiAtCj4gLSAgICAgICByZXR1cm4gZHB1X2NydGNfZ2V0X3Byb3BlcnR5 KHRvX2RwdV9jcnRjX3N0YXRlKHN0YXRlKSwKPiAtICAgICAgICAgICAgICAgICAgICAgICBDUlRD X1BST1BfU0VDVVJJVFlfTEVWRUwpOwo+IC19Cj4gLQo+IC0vKioKPiAtICogZHB1X2NydGNfZ2V0 X3NlY3VyZV90cmFuc2l0aW9uIC0gZGV0ZXJtaW5lcyB0aGUgb3BlcmF0aW9ucyB0byBiZQo+IC0g KiBwZXJmb3JtZWQgYmVmb3JlIHRyYW5zaXRpb25pbmcgdG8gc2VjdXJlIHN0YXRlCj4gLSAqIFRo aXMgZnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCBhZnRlciBzd2FwcGluZyB0aGUgbmV3IHN0YXRl Cj4gLSAqIEBjcnRjOiBQb2ludGVyIHRvIGRybSBjcnRjIHN0cnVjdHVyZQo+IC0gKiBAb2xkX2Ny dGNfc3RhdGU6IFBvbml0ZXIgdG8gcHJldmlvdXMgQ1JUQyBzdGF0ZQo+IC0gKiBSZXR1cm5zIHRo ZSBiaXRtYXNrIG9mIG9wZXJhdGlvbnMgbmVlZCB0byBiZSBwZXJmb3JtZWQsIC1FcnJvciBpbgo+ IC0gKiBjYXNlIG9mIGVycm9yIGNhc2VzCj4gLSAqLwo+IC1pbnQgZHB1X2NydGNfZ2V0X3NlY3Vy ZV90cmFuc2l0aW9uX29wcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gLSAgICAgICAgICAgICAg IHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCj4gLSAgICAgICAgICAgICAg IGJvb2wgb2xkX3ZhbGlkX2ZiKTsKPiAtCj4gLS8qKgo+IC0gKiBkcHVfY3J0Y19zZWN1cmVfY3Ry bCAtIEluaXRpYXRlcyB0aGUgdHJhbnNpdGlvbiBiZXR3ZWVuIHNlY3VyZSBhbmQKPiAtICogICAg ICAgICAgICAgICAgICAgICAgICAgIG5vbi1zZWN1cmUgd29ybGQKPiAtICogQGNydGM6IFBvaW50 ZXIgdG8gY3J0Ywo+IC0gKiBAcG9zdF9jb21taXQ6IGlmIHRoaXMgb3BlcmF0aW9uIGlzIHRyaWdn ZXJlZCBhZnRlciBjb21taXQKPiAtICovCj4gLWludCBkcHVfY3J0Y19zZWN1cmVfY3RybChzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsIGJvb2wgcG9zdF9jb21taXQpOwo+IC0KPiAgI2VuZGlmIC8qIF9E UFVfQ1JUQ19IXyAqLwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfZW5jb2Rlcl9waHlzX3diLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9k cHVfZW5jb2Rlcl9waHlzX3diLmMKPiBpbmRleCA3NTI1NWZjNDJlN2UuLjlhNmZhM2UxZThiNCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9w aHlzX3diLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rl cl9waHlzX3diLmMKPiBAQCAtMjc5LDE5ICsyNzksOCBAQCBzdGF0aWMgdm9pZCBkcHVfZW5jb2Rl cl9waHlzX3diX3NldHVwX2ZiKHN0cnVjdCBkcHVfZW5jb2Rlcl9waHlzICpwaHlzX2VuYywKPgo+ ICAgICAgICAgd2JfY2ZnLT5pbnRmX21vZGUgPSBwaHlzX2VuYy0+aW50Zl9tb2RlOwo+Cj4gLSAg ICAgICBmYl9tb2RlID0gZHB1X2Nvbm5lY3Rvcl9nZXRfcHJvcGVydHkocGh5c19lbmMtPmNvbm5l Y3Rvci0+c3RhdGUsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgQ09OTkVDVE9SX1BST1BfRkJf VFJBTlNMQVRJT05fTU9ERSk7Cj4gLSAgICAgICBpZiAocGh5c19lbmMtPmVuYWJsZV9zdGF0ZSA9 PSBEUFVfRU5DX0RJU0FCTElORykKPiAtICAgICAgICAgICAgICAgd2JfY2ZnLT5pc19zZWN1cmUg PSBmYWxzZTsKPiAtICAgICAgIGVsc2UgaWYgKGZiX21vZGUgPT0gRFBVX0RSTV9GQl9TRUMpCj4g LSAgICAgICAgICAgICAgIHdiX2NmZy0+aXNfc2VjdXJlID0gdHJ1ZTsKPiAtICAgICAgIGVsc2UK PiAtICAgICAgICAgICAgICAgd2JfY2ZnLT5pc19zZWN1cmUgPSBmYWxzZTsKPiAtCj4gICAgICAg ICBhc3BhY2UgPSBwaHlzX2VuYy0+ZHB1X2ttcy0+YmFzZS5hc3BhY2U7Cj4KPiAtICAgICAgIERQ VV9ERUJVRygiW2ZiX3NlY3VyZTolZF1cbiIsIHdiX2NmZy0+aXNfc2VjdXJlKTsKPiAtCj4gICAg ICAgICByZXQgPSBtc21fZnJhbWVidWZmZXJfcHJlcGFyZShmYiwgYXNwYWNlKTsKPiAgICAgICAg IGlmIChyZXQpIHsKPiAgICAgICAgICAgICAgICAgRFBVX0VSUk9SKCJwcmVwIGZiIGZhaWxlZCwg JWRcbiIsIHJldCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUx L2RwdV9od19yb3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19yb3Qu Ywo+IGluZGV4IDZiNTYwZjFjMGZjZS4uYjIwYTY0MDM3NjY2IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19yb3QuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19yb3QuYwo+IEBAIC02MDYsNyArNjA2LDYgQEAgc3Rh dGljIGludCBkcHVfaHdfcm90X2NvbW1pdChzdHJ1Y3QgZHB1X2h3X3JvdCAqaHcsIHN0cnVjdCBk cHVfaHdfcm90X2NtZCAqZGF0YSwKPiAgICAgICAgIHJvdF9jbWQuaGZsaXAgPSBkYXRhLT5yb3Q5 MCA/ICFkYXRhLT5oZmxpcCA6IGRhdGEtPmhmbGlwOwo+ICAgICAgICAgcm90X2NtZC52ZmxpcCA9 IGRhdGEtPnJvdDkwID8gIWRhdGEtPnZmbGlwIDogZGF0YS0+dmZsaXA7Cj4KPiAtICAgICAgIHJv dF9jbWQuc2VjdXJlID0gZGF0YS0+c2VjdXJlOwo+ICAgICAgICAgcm90X2NtZC5jbGtyYXRlID0g ZGF0YS0+Y2xrcmF0ZTsKPiAgICAgICAgIHJvdF9jbWQuZGF0YV9idyA9IDA7Cj4gICAgICAgICBy b3RfY21kLnByZWZpbGxfYncgPSBkYXRhLT5wcmVmaWxsX2J3Owo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfcm90LmggYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfaHdfcm90LmgKPiBpbmRleCBmNzJkOWMwNmI1NTcuLmRmMTVlZDVm MTAyZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdf cm90LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfcm90LmgK PiBAQCAtNDQsNyArNDQsNiBAQCBlbnVtIGRwdV9od19yb3RfY21kX3R5cGUgewo+ICAgKiBAcm90 OTA6IHRydWUgaWYgcm90YXRpb24gOTAgaW4gY291bnRlciBjbG9ja3dpc2UgaXMgcmVxdWlyZWQK PiAgICogQGhmbGlwOiB0cnVlIGlmIGhvcml6b250YWwgZmxpcCBpcyByZXF1aXJlZCBwcmlvciB0 byByb3RhdGlvbgo+ICAgKiBAdmZsaXA6IHRydWUgaWYgdmVydGljYWwgZmxpcCBpcyByZXF1aXJl ZCBwcmlvciB0byByb3RhdGlvbgo+IC0gKiBAc2VjdXJlOiB0cnVlIGlmIGltYWdlIGNvbnRlbnQg aXMgaW4gc2VjdXJlIGRvbWFpbgo+ICAgKiBAdmlkZW9fbW9kZTogdHJ1ZSBpZiByb3RhdG9yIGlz IGZlZWRpbmcgaW50byB2aWRlbyBpbnRlcmZhY2UKPiAgICogQGNsa3JhdGUgOiBjbG9jayByYXRl IGluIEh6Cj4gICAqIEBwcmVmaWxsX2J3OiBwcmVmaWxsIGJhbmR3aWR0aCBpbiBCcHMgKHZpZGVv IG1vZGUgb25seSkKPiBAQCAtODAsNyArNzksNiBAQCBzdHJ1Y3QgZHB1X2h3X3JvdF9jbWQgewo+ ICAgICAgICAgYm9vbCByb3Q5MDsKPiAgICAgICAgIGJvb2wgaGZsaXA7Cj4gICAgICAgICBib29s IHZmbGlwOwo+IC0gICAgICAgYm9vbCBzZWN1cmU7Cj4gICAgICAgICBib29sIHZpZGVvX21vZGU7 Cj4gICAgICAgICB1NjQgY2xrcmF0ZTsKPiAgICAgICAgIHU2NCBwcmVmaWxsX2J3Owo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfc3NwcC5jIGIvZHJp dmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3NzcHAuYwo+IGluZGV4IDcwNWI0NTEw YjczMC4uM2ZlY2YzM2ExNjRkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9od19zc3BwLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfaHdfc3NwcC5jCj4gQEAgLTM2MCwzNSArMzYwLDYgQEAgc3RhdGljIHZvaWQgZHB1X2h3 X3NzcHBfc2V0dXBfZm9ybWF0KHN0cnVjdCBkcHVfaHdfcGlwZSAqY3R4LAo+ICAgICAgICAgRFBV X1JFR19XUklURShjLCBTU1BQX1VCV0NfRVJST1JfU1RBVFVTICsgaWR4LCBCSVQoMzEpKTsKPiAg fQo+Cj4gLXN0YXRpYyB2b2lkIGRwdV9od19zc3BwX3NldHVwX3NlY3VyZShzdHJ1Y3QgZHB1X2h3 X3BpcGUgKmN0eCwKPiAtICAgICAgICAgICAgICAgZW51bSBkcHVfc3NwcF9tdWx0aXJlY3RfaW5k ZXggcmVjdF9tb2RlLAo+IC0gICAgICAgICAgICAgICBib29sIGVuYWJsZSkKPiAtewo+IC0gICAg ICAgc3RydWN0IGRwdV9od19ibGtfcmVnX21hcCAqYzsKPiAtICAgICAgIHUzMiBzZWN1cmUgPSAw LCBzZWN1cmVfYml0X21hc2s7Cj4gLSAgICAgICB1MzIgaWR4Owo+IC0KPiAtICAgICAgIGlmIChf c3NwcF9zdWJibGtfb2Zmc2V0KGN0eCwgRFBVX1NTUFBfU1JDLCAmaWR4KSkKPiAtICAgICAgICAg ICAgICAgcmV0dXJuOwo+IC0KPiAtICAgICAgIGMgPSAmY3R4LT5odzsKPiAtCj4gLSAgICAgICBp ZiAoZW5hYmxlKSB7Cj4gLSAgICAgICAgICAgICAgIGlmICgocmVjdF9tb2RlID09IERQVV9TU1BQ X1JFQ1RfU09MTykKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IChyZWN0X21v ZGUgPT0gRFBVX1NTUFBfUkVDVF8wKSkKPiAtICAgICAgICAgICAgICAgICAgICAgICBzZWN1cmVf Yml0X21hc2sgPQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlY3RfbW9kZSA9 PSBEUFVfU1NQUF9SRUNUX1NPTE8pID8gMHhGIDogMHg1Owo+IC0gICAgICAgICAgICAgICBlbHNl Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgc2VjdXJlX2JpdF9tYXNrID0gMHhBOwo+IC0KPiAt ICAgICAgICAgICAgICAgc2VjdXJlID0gRFBVX1JFR19SRUFEKGMsIFNTUFBfU1JDX0FERFJfU1df U1RBVFVTICsgaWR4KTsKPiAtICAgICAgICAgICAgICAgc2VjdXJlIHw9IHNlY3VyZV9iaXRfbWFz azsKPiAtICAgICAgIH0KPiAtCj4gLSAgICAgICBEUFVfUkVHX1dSSVRFKGMsIFNTUFBfU1JDX0FE RFJfU1dfU1RBVFVTICsgaWR4LCBzZWN1cmUpOwo+IC19Cj4gLQo+IC0KPiAgc3RhdGljIHZvaWQg ZHB1X2h3X3NzcHBfc2V0dXBfcGVfY29uZmlnKHN0cnVjdCBkcHVfaHdfcGlwZSAqY3R4LAo+ICAg ICAgICAgICAgICAgICBzdHJ1Y3QgZHB1X2h3X3BpeGVsX2V4dCAqcGVfZXh0KQo+ICB7Cj4gQEAg LTkxMCw3ICs4ODEsNiBAQCBzdGF0aWMgdm9pZCBfc2V0dXBfbGF5ZXJfb3BzKHN0cnVjdCBkcHVf aHdfcGlwZSAqYywKPiAgICAgICAgICAgICAgICAgYy0+b3BzLnNldHVwX3NvdXJjZWFkZHJlc3Mg PSBkcHVfaHdfc3NwcF9zZXR1cF9zb3VyY2VhZGRyZXNzOwo+ICAgICAgICAgICAgICAgICBjLT5v cHMuc2V0dXBfc29saWRmaWxsID0gZHB1X2h3X3NzcHBfc2V0dXBfc29saWRmaWxsOwo+ICAgICAg ICAgICAgICAgICBjLT5vcHMuc2V0dXBfcGUgPSBkcHVfaHdfc3NwcF9zZXR1cF9wZV9jb25maWc7 Cj4gLSAgICAgICAgICAgICAgIGMtPm9wcy5zZXR1cF9zZWN1cmVfYWRkcmVzcyA9IGRwdV9od19z c3BwX3NldHVwX3NlY3VyZTsKPiAgICAgICAgIH0KPgo+ICAgICAgICAgaWYgKHRlc3RfYml0KERQ VV9TU1BQX0VYQ0xfUkVDVCwgJmZlYXR1cmVzKSkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3NzcHAuaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9od19zc3BwLmgKPiBpbmRleCAyM2YzNzA0MGFjYWEuLmRlOTcxZjE3ZjEzMCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfc3NwcC5o Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3NzcHAuaAo+IEBA IC0yNSwxMiArMjUsMTEgQEAgc3RydWN0IGRwdV9od19waXBlOwo+ICAvKioKPiAgICogRmxhZ3MK PiAgICovCj4gLSNkZWZpbmUgRFBVX1NTUFBfU0VDVVJFX09WRVJMQVlfU0VTU0lPTiAweDEKPiAt I2RlZmluZSBEUFVfU1NQUF9GTElQX0xSICAgICAgICAweDIKPiAtI2RlZmluZSBEUFVfU1NQUF9G TElQX1VEICAgICAgICAweDQKPiAtI2RlZmluZSBEUFVfU1NQUF9TT1VSQ0VfUk9UQVRFRF85MCAw eDgKPiAtI2RlZmluZSBEUFVfU1NQUF9ST1RfOTAgIDB4MTAKPiAtI2RlZmluZSBEUFVfU1NQUF9T T0xJRF9GSUxMIDB4MjAKPiArI2RlZmluZSBEUFVfU1NQUF9GTElQX0xSICAgICAgICAgICAgICAg QklUKDApCj4gKyNkZWZpbmUgRFBVX1NTUFBfRkxJUF9VRCAgICAgICAgICAgICAgIEJJVCgxKQo+ ICsjZGVmaW5lIERQVV9TU1BQX1NPVVJDRV9ST1RBVEVEXzkwICAgICBCSVQoMikKPiArI2RlZmlu ZSBEUFVfU1NQUF9ST1RfOTAgICAgICAgICAgICAgICAgICAgICAgICBCSVQoMykKPiArI2RlZmlu ZSBEUFVfU1NQUF9TT0xJRF9GSUxMICAgICAgICAgICAgQklUKDQpCj4KPiAgLyoqCj4gICAqIERl ZmluZSBhbGwgc2NhbGVyIGZlYXR1cmUgYml0cyBpbiBjYXRhbG9nCj4gQEAgLTUwNSwxNiArNTA0 LDYgQEAgc3RydWN0IGRwdV9od19zc3BwX29wcyB7Cj4gICAgICAgICAgKi8KPiAgICAgICAgIHZv aWQgKCpzZXR1cF9jZHApKHN0cnVjdCBkcHVfaHdfcGlwZSAqY3R4LAo+ICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cnVjdCBkcHVfaHdfcGlwZV9jZHBfY2ZnICpjZmcpOwo+IC0KPiAtICAgICAg IC8qKgo+IC0gICAgICAgICogc2V0dXBfc2VjdXJlX2FkZHJlc3MgLSBzZXR1cCBzZWN1cmVpdHkg c3RhdHVzIG9mIHRoZSBzb3VyY2UgYWRkcmVzcwo+IC0gICAgICAgICogQGN0eDogUG9pbnRlciB0 byBwaXBlIGNvbnRleHQKPiAtICAgICAgICAqIEBpbmRleDogcmVjdGFuZ2xlIGluZGV4IGluIG11 bHRpcmVjdAo+IC0gICAgICAgICogQGVuYWJsZTogZW5hYmxlIGNvbnRlbnQgcHJvdGVjdGVkIGJ1 ZmZlciBzdGF0ZQo+IC0gICAgICAgICovCj4gLSAgICAgICB2b2lkICgqc2V0dXBfc2VjdXJlX2Fk ZHJlc3MpKHN0cnVjdCBkcHVfaHdfcGlwZSAqY3R4LAo+IC0gICAgICAgICAgICAgICAgICAgICAg IGVudW0gZHB1X3NzcHBfbXVsdGlyZWN0X2luZGV4IGluZGV4LAo+IC0gICAgICAgICAgICAgICBi b29sIGVuYWJsZSk7Cj4gIH07Cj4KPiAgLyoqCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9od193Yi5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2Rw dTEvZHB1X2h3X3diLmMKPiBpbmRleCBhMDdjMzA1MjgwOTYuLmZiMDJkZjQyMDljNiAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfd2IuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od193Yi5jCj4gQEAgLTE1Myw5ICsx NTMsNiBAQCBzdGF0aWMgdm9pZCBkcHVfaHdfd2Jfc2V0dXBfZm9ybWF0KHN0cnVjdCBkcHVfaHdf d2IgKmN0eCwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGN0eC0+ bWRwLT5oaWdoZXN0X2JhbmtfYml0IDw8IDQpKTsKPiAgICAgICAgIH0KPgo+IC0gICAgICAgaWYg KGRhdGEtPmlzX3NlY3VyZSkKPiAtICAgICAgICAgICAgICAgZHN0X2FkZHJfc3cgfD0gQklUKDAp Owo+IC0KPiAgICAgICAgIERQVV9SRUdfV1JJVEUoYywgV0JfQUxQSEFfWF9WQUxVRSwgMHhGRik7 Cj4gICAgICAgICBEUFVfUkVHX1dSSVRFKGMsIFdCX0RTVF9GT1JNQVQsIGRzdF9mb3JtYXQpOwo+ ICAgICAgICAgRFBVX1JFR19XUklURShjLCBXQl9EU1RfT1BfTU9ERSwgb3Btb2RlKTsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3diLmggYi9kcml2 ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfd2IuaAo+IGluZGV4IDgyMmE0YzU3YjM2 OS4uMTQ1ZWJiYzg3YjU4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9k cHUxL2RwdV9od193Yi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X2h3X3diLmgKPiBAQCAtMjUsNyArMjUsNiBAQCBzdHJ1Y3QgZHB1X2h3X3diX2NmZyB7Cj4gICAg ICAgICBlbnVtIGRwdV9pbnRmX21vZGUgaW50Zl9tb2RlOwo+ICAgICAgICAgc3RydWN0IHRyYWZm aWNfc2hhcGVyX2NmZyB0c19jZmc7Cj4gICAgICAgICBzdHJ1Y3QgZHB1X3JlY3Qgcm9pOwo+IC0g ICAgICAgYm9vbCBpc19zZWN1cmU7Cj4gIH07Cj4KPiAgLyoqCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV9rbXMuYwo+IGluZGV4IGI5MTljOWE2YTQ2My4uODFmZDNhNDI5ZTlmIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYwo+IEBAIC0xMjM2LDE0 ICsxMjM2LDEwIEBAIHN0cnVjdCBkcHVfa21zX2ZibyAqZHB1X2ttc19mYm9fYWxsb2Moc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdTMyIHdpZHRoLAo+ICAgICAgICAgLyogYWxsb2NhdGUgYmFja2lu ZyBidWZmZXIgb2JqZWN0ICovCj4gICAgICAgICBpZiAoZHB1X2ttcy0+aWNsaWVudCkgewo+ICAj aWZkZWYgQ09ORklHX0lPTgo+IC0gICAgICAgICAgICAgICB1MzIgaGVhcF9pZCA9IGZiby0+Zmxh Z3MgJiBEUk1fTU9ERV9GQl9TRUNVUkUgPwo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgSU9OX0hFQVAoSU9OX1NFQ1VSRV9IRUFQX0lEKSA6Cj4gLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJT05fSEVBUChJT05fU1lTVEVNX0hFQVBfSUQpOwo+IC0gICAgICAgICAgICAg ICB1MzIgaWZsYWdzID0gZmJvLT5mbGFncyAmIERSTV9NT0RFX0ZCX1NFQ1VSRSA/Cj4gLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoSU9OX0ZMQUdfU0VDVVJFIHwgSU9OX0ZMQUdfQ1Bf UElYRUwpIDogMDsKPiArICAgICAgICAgICAgICAgdTMyIGhlYXBfaWQgPSBJT05fSEVBUChJT05f U1lTVEVNX0hFQVBfSUQpOwo+Cj4gICAgICAgICAgICAgICAgIGZiby0+aWhhbmRsZSA9IGlvbl9h bGxvYyhkcHVfa21zLT5pY2xpZW50LAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZmJvLT5sYXlvdXQudG90YWxfc2l6ZSwgU1pfNEssIGhlYXBfaWQsIGlmbGFncyk7Cj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBmYm8tPmxheW91dC50b3RhbF9zaXplLCBTWl80Sywg aGVhcF9pZCwgMCk7Cj4gICAgICAgICAgICAgICAgIGlmIChJU19FUlJfT1JfTlVMTChmYm8tPmlo YW5kbGUpKSB7Cj4gICAgICAgICAgICAgICAgICAgICAgICAgRFBVX0VSUk9SKCJmYWlsZWQgdG8g YWxsb2MgaW9uIG1lbW9yeVxuIik7Cj4gICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gUFRS X0VSUihmYm8tPmloYW5kbGUpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rp c3AvZHB1MS9kcHVfa21zLmggYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21z LmgKPiBpbmRleCBkZWE0OWYzZDQyYjQuLjhjYWRkMjlhNDhiMSAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmgKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmgKPiBAQCAtOTMsMjEgKzkzLDYgQEAKPiAgLyogdGlt ZW91dCBpbiBmcmFtZXMgd2FpdGluZyBmb3IgZnJhbWUgZG9uZSAqLwo+ICAjZGVmaW5lIERQVV9G UkFNRV9ET05FX1RJTUVPVVQgNjAKPgo+IC0vKiBtYXggYWN0aXZlIHNlY3VyZSBjbGllbnQgY291 bnRzIGFsbG93ZWQgKi8KPiAtI2RlZmluZSBNQVhfQUxMT1dFRF9TRUNVUkVfQ0xJRU5UX0NOVCAg MQo+IC0KPiAtLyogbWF4IGFjdGl2ZSBjcnRjIHdoZW4gc2VjdXJlIGNsaWVudCBpcyBhY3RpdmUg Ki8KPiAtI2RlZmluZSBNQVhfQUxMT1dFRF9DUlRDX0NOVF9EVVJJTkdfU0VDVVJFICAgICAxCj4g LQo+IC0vKiBtYXggdmlydHVhbCBlbmNvZGVycyBwZXIgc2VjdXJlIGNydGMgKi8KPiAtI2RlZmlu ZSBNQVhfQUxMT1dFRF9FTkNPREVSX0NOVF9QRVJfU0VDVVJFX0NSVEMgICAgICAgIDEKPiAtCj4g LS8qIGRlZmluZXMgdGhlIG9wZXJhdGlvbnMgcmVxdWlyZWQgZm9yIHNlY3VyZSBzdGF0ZSB0cmFu c2l0aW9uICovCj4gLSNkZWZpbmUgRFBVX0tNU19PUFNfQ1JUQ19TRUNVUkVfU1RBVEVfQ0hBTkdF ICAgICAgICAgICAgICAgQklUKDApCj4gLSNkZWZpbmUgRFBVX0tNU19PUFNfV0FJVF9GT1JfVFhf RE9ORSAgICAgICAgICAgICAgICAgICAgICAgQklUKDEpCj4gLSNkZWZpbmUgRFBVX0tNU19PUFNf Q0xFQU5VUF9QTEFORV9GQiAgICAgICAgICAgICAgICAgICAgICAgQklUKDIpCj4gLSNkZWZpbmUg RFBVX0tNU19PUFNfUFJFUEFSRV9QTEFORV9GQiAgICAgICAgICAgICAgICAgICAgICAgQklUKDMp Cj4gLQo+ICAvKgo+ICAgKiBzdHJ1Y3QgZHB1X2lycV9jYWxsYmFjayAtIElSUSBjYWxsYmFjayBo YW5kbGVycwo+ICAgKiBAbGlzdDogbGlzdCB0byBjYWxsYmFjawo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9t c20vZGlzcC9kcHUxL2RwdV9wbGFuZS5jCj4gaW5kZXggY2JkYTdkYmY4NzI1Li44MzRkY2MwYmZl ZmQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3BsYW5l LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcGxhbmUuYwo+IEBA IC04MzksOCArODM5LDcgQEAgaW50IGRwdV9wbGFuZV93YWl0X2lucHV0X2ZlbmNlKHN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lLCB1aW50MzJfdCB3YWl0X21zKQo+ICB9Cj4KPiAgLyoqCj4gLSAqIF9k cHVfcGxhbmVfZ2V0X2FzcGFjZTogZ2V0cyB0aGUgYWRkcmVzcyBzcGFjZSBiYXNlZCBvbiB0aGUK PiAtICogICAgICAgICAgICBmYl90cmFuc2xhdGlvbiBtb2RlIHByb3BlcnR5Cj4gKyAqIF9kcHVf cGxhbmVfZ2V0X2FzcGFjZTogZ2V0cyB0aGUgYWRkcmVzcyBzcGFjZQo+ICAgKi8KPiAgc3RhdGlj IGludCBfZHB1X3BsYW5lX2dldF9hc3BhY2UoCj4gICAgICAgICAgICAgICAgIHN0cnVjdCBkcHVf cGxhbmUgKnBkcHUsCj4gQEAgLTE4MjMsMTMgKzE4MjIsNiBAQCBzdGF0aWMgaW50IGRwdV9wbGFu ZV9yb3Rfc3VibWl0X2NvbW1hbmQoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gICAgICAgICBy b3RfY21kLT5yb3Q5MCA9IHJzdGF0ZS0+cm90OTA7Cj4gICAgICAgICByb3RfY21kLT5oZmxpcCA9 IHJzdGF0ZS0+aGZsaXA7Cj4gICAgICAgICByb3RfY21kLT52ZmxpcCA9IHJzdGF0ZS0+dmZsaXA7 Cj4gLSAgICAgICBmYl9tb2RlID0gZHB1X3BsYW5lX2dldF9wcm9wZXJ0eShwc3RhdGUsCj4gLSAg ICAgICAgICAgICAgICAgICAgICAgUExBTkVfUFJPUF9GQl9UUkFOU0xBVElPTl9NT0RFKTsKPiAt ICAgICAgIGlmICgoZmJfbW9kZSA9PSBEUFVfRFJNX0ZCX1NFQykgfHwKPiAtICAgICAgICAgICAg ICAgICAgICAgICAoZmJfbW9kZSA9PSBEUFVfRFJNX0ZCX1NFQ19ESVJfVFJBTlMpKQo+IC0gICAg ICAgICAgICAgICByb3RfY21kLT5zZWN1cmUgPSB0cnVlOwo+IC0gICAgICAgZWxzZQo+IC0gICAg ICAgICAgICAgICByb3RfY21kLT5zZWN1cmUgPSBmYWxzZTsKPgo+ICAgICAgICAgcm90X2NtZC0+ cHJlZmlsbF9idyA9IGRwdV9jcnRjX2dldF9wcm9wZXJ0eShkcHVfY3N0YXRlLAo+ICAgICAgICAg ICAgICAgICAgICAgICAgIENSVENfUFJPUF9ST1RfUFJFRklMTF9CVyk7Cj4gQEAgLTE5MTAsNyAr MTkwMiw2IEBAIHN0YXRpYyBpbnQgZHB1X3BsYW5lX3JvdF9zdWJtaXRfY29tbWFuZChzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSwKPiAgICAgICAgIHJzdGF0ZS0+b3V0X3JvdGF0aW9uID0gcnN0YXRl LT5pbl9yb3RhdGlvbjsKPiAgICAgICAgIHJzdGF0ZS0+b3V0X2ZiX2ZsYWdzID0gcm90X2NtZC0+ ZHN0X21vZGlmaWVyID8KPiAgICAgICAgICAgICAgICAgICAgICAgICBEUk1fTU9ERV9GQl9NT0RJ RklFUlMgOiAwOwo+IC0gICAgICAgcnN0YXRlLT5vdXRfZmJfZmxhZ3MgfD0gcm90X2NtZC0+c2Vj dXJlID8gRFJNX01PREVfRkJfU0VDVVJFIDogMDsKPiAgICAgICAgIHJzdGF0ZS0+b3V0X2ZiX2Zv cm1hdCA9IHJvdF9jbWQtPmRzdF9mb3JtYXQ7Cj4gICAgICAgICByc3RhdGUtPm91dF9mYl9waXhl bF9mb3JtYXQgPSByb3RfY21kLT5kc3RfcGl4ZWxfZm9ybWF0Owo+Cj4gQEAgLTMzMzcsOSArMzMy OCw2IEBAIHN0YXRpYyBpbnQgZHB1X3BsYW5lX3NzcHBfYXRvbWljX3VwZGF0ZShzdHJ1Y3QgZHJt X3BsYW5lICpwbGFuZSwKPiAgICAgICAgICAgICAgICAgY2FzZSBQTEFORV9QUk9QX0JMRU5EX09Q Ogo+ICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5vIHNwZWNpYWwgYWN0aW9uIHJlcXVpcmVk ICovCj4gICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4gLSAgICAgICAgICAgICAgIGNh c2UgUExBTkVfUFJPUF9GQl9UUkFOU0xBVElPTl9NT0RFOgo+IC0gICAgICAgICAgICAgICAgICAg ICAgIHBzdGF0ZS0+ZGlydHkgfD0gRFBVX1BMQU5FX0RJUlRZX0ZCX1RSQU5TTEFUSU9OX01PREU7 Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4gICAgICAgICAgICAgICAgIGNhc2Ug UExBTkVfUFJPUF9QUkVGSUxMX1NJWkU6Cj4gICAgICAgICAgICAgICAgIGNhc2UgUExBTkVfUFJP UF9QUkVGSUxMX1RJTUU6Cj4gICAgICAgICAgICAgICAgICAgICAgICAgcHN0YXRlLT5kaXJ0eSB8 PSBEUFVfUExBTkVfRElSVFlfUEVSRjsKPiBAQCAtMzM4NywyMSArMzM3NSw2IEBAIHN0YXRpYyBp bnQgZHB1X3BsYW5lX3NzcHBfYXRvbWljX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwK PiAgICAgICAgIHBkcHUtPmlzX3J0X3BpcGUgPSAoZHB1X2NydGNfZ2V0X2NsaWVudF90eXBlKGNy dGMpICE9IE5SVF9DTElFTlQpOwo+ICAgICAgICAgX2RwdV9wbGFuZV9zZXRfcW9zX2N0cmwocGxh bmUsIGZhbHNlLCBEUFVfUExBTkVfUU9TX1BBTklDX0NUUkwpOwo+Cj4gLSAgICAgICAvKiB1cGRh dGUgc2VjdXJlIHNlc3Npb24gZmxhZyAqLwo+IC0gICAgICAgaWYgKHBzdGF0ZS0+ZGlydHkgJiBE UFVfUExBTkVfRElSVFlfRkJfVFJBTlNMQVRJT05fTU9ERSkgewo+IC0gICAgICAgICAgICAgICBi b29sIGVuYWJsZSA9IGZhbHNlOwo+IC0gICAgICAgICAgICAgICBpbnQgbW9kZSA9IGRwdV9wbGFu ZV9nZXRfcHJvcGVydHkocHN0YXRlLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UExBTkVfUFJPUF9GQl9UUkFOU0xBVElPTl9NT0RFKTsKPiAtCj4gLSAgICAgICAgICAgICAgIGlm ICgobW9kZSA9PSBEUFVfRFJNX0ZCX1NFQykgfHwKPiAtICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChtb2RlID09IERQVV9EUk1fRkJfU0VDX0RJUl9UUkFOUykpCj4gLSAgICAgICAgICAg ICAgICAgICAgICAgZW5hYmxlID0gdHJ1ZTsKPiAtICAgICAgICAgICAgICAgLyogdXBkYXRlIHNl Y3VyZSBzZXNzaW9uIGZsYWcgKi8KPiAtICAgICAgICAgICAgICAgcGRwdS0+cGlwZV9ody0+b3Bz LnNldHVwX3NlY3VyZV9hZGRyZXNzKHBkcHUtPnBpcGVfaHcsCj4gLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBwc3RhdGUtPm11bHRpcmVjdF9pbmRleCwKPiAtICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGVuYWJsZSk7Cj4gLSAgICAgICB9Cj4gLQo+ICAgICAgICAgLyogdXBk YXRlIHJvaSBjb25maWcgKi8KPiAgICAgICAgIGlmIChwc3RhdGUtPmRpcnR5ICYgRFBVX1BMQU5F X0RJUlRZX1JFQ1RTKSB7Cj4gICAgICAgICAgICAgICAgIFBPUFVMQVRFX1JFQ1QoJnNyYywgcnN0 YXRlLT5vdXRfc3JjX3gsIHJzdGF0ZS0+b3V0X3NyY195LAo+IEBAIC0zNjgzLDEyICszNjU2LDYg QEAgc3RhdGljIHZvaWQgX2RwdV9wbGFuZV9pbnN0YWxsX3Byb3BlcnRpZXMoc3RydWN0IGRybV9w bGFuZSAqcGxhbmUsCj4gICAgICAgICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wcm9wX2VudW1f bGlzdCBlX3NyY19jb25maWdbXSA9IHsKPiAgICAgICAgICAgICAgICAge0RQVV9EUk1fREVJTlRF UkxBQ0UsICJkZWludGVybGFjZSJ9Cj4gICAgICAgICB9Owo+IC0gICAgICAgc3RhdGljIGNvbnN0 IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QgZV9mYl90cmFuc2xhdGlvbl9tb2RlW10gPSB7Cj4g LSAgICAgICAgICAgICAgIHtEUFVfRFJNX0ZCX05PTl9TRUMsICJub25fc2VjIn0sCj4gLSAgICAg ICAgICAgICAgIHtEUFVfRFJNX0ZCX1NFQywgInNlYyJ9LAo+IC0gICAgICAgICAgICAgICB7RFBV X0RSTV9GQl9OT05fU0VDX0RJUl9UUkFOUywgIm5vbl9zZWNfZGlyZWN0X3RyYW5zbGF0aW9uIn0s Cj4gLSAgICAgICAgICAgICAgIHtEUFVfRFJNX0ZCX1NFQ19ESVJfVFJBTlMsICJzZWNfZGlyZWN0 X3RyYW5zbGF0aW9uIn0sCj4gLSAgICAgICB9Owo+ICAgICAgICAgY29uc3Qgc3RydWN0IGRwdV9m b3JtYXRfZXh0ZW5kZWQgKmZvcm1hdF9saXN0Owo+ICAgICAgICAgc3RydWN0IGRwdV9rbXNfaW5m byAqaW5mbzsKPiAgICAgICAgIHN0cnVjdCBkcHVfcGxhbmUgKnBkcHUgPSB0b19kcHVfcGxhbmUo cGxhbmUpOwo+IEBAIC0zODkwLDEyICszODU3LDYgQEAgc3RhdGljIHZvaWQgX2RwdV9wbGFuZV9p bnN0YWxsX3Byb3BlcnRpZXMoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gICAgICAgICAgICAg ICAgIG1zbV9wcm9wZXJ0eV9pbnN0YWxsX2Jsb2IoJnBkcHUtPnByb3BlcnR5X2luZm8sIGZlYXR1 cmVfbmFtZSwgMCwKPiAgICAgICAgICAgICAgICAgICAgICAgICBQTEFORV9QUk9QX0ZPTElBR0Vf Q09MT1IpOwo+ICAgICAgICAgfQo+IC0KPiAtICAgICAgIG1zbV9wcm9wZXJ0eV9pbnN0YWxsX2Vu dW0oJnBkcHUtPnByb3BlcnR5X2luZm8sICJmYl90cmFuc2xhdGlvbl9tb2RlIiwKPiAtICAgICAg ICAgICAgICAgICAgICAgICAweDAsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgMCwgZV9mYl90 cmFuc2xhdGlvbl9tb2RlLAo+IC0gICAgICAgICAgICAgICAgICAgICAgIEFSUkFZX1NJWkUoZV9m Yl90cmFuc2xhdGlvbl9tb2RlKSwKPiAtICAgICAgICAgICAgICAgICAgICAgICBQTEFORV9QUk9Q X0ZCX1RSQU5TTEFUSU9OX01PREUpOwo+ICB9Cj4KPiAgc3RhdGljIGlubGluZSB2b2lkIF9kcHVf cGxhbmVfc2V0X2NzY192MShzdHJ1Y3QgZHB1X3BsYW5lICpwZHB1LCB2b2lkICp1c3JfcHRyKQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcGxhbmUuaCBi L2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9wbGFuZS5oCj4gaW5kZXggNzE3ZGZl MDVjNmVlLi5hZDlkNWNmMDQ4YjEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL2RwdTEvZHB1X3BsYW5lLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfcGxhbmUuaAo+IEBAIC05NCw3ICs5NCw2IEBAIHN0cnVjdCBkcHVfcGxhbmVfcm90X3N0 YXRlIHsKPiAgI2RlZmluZSBEUFVfUExBTkVfRElSVFlfRk9STUFUIDB4Mgo+ICAjZGVmaW5lIERQ VV9QTEFORV9ESVJUWV9TSEFSUEVOICAgICAgICAweDQKPiAgI2RlZmluZSBEUFVfUExBTkVfRElS VFlfUEVSRiAgIDB4OAo+IC0jZGVmaW5lIERQVV9QTEFORV9ESVJUWV9GQl9UUkFOU0xBVElPTl9N T0RFICAgIDB4MTAKPiAgI2RlZmluZSBEUFVfUExBTkVfRElSVFlfQUxMICAgIDB4RkZGRkZGRkYK Pgo+ICAvKioKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X3diLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfd2IuYwo+IGluZGV4IGQ0 Yjg0NDk3OWM0Yy4uMGJiMDdlZTBiY2YyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9t c20vZGlzcC9kcHUxL2RwdV93Yi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2Rw dTEvZHB1X3diLmMKPiBAQCAtMzE5LDEwICszMTksNiBAQCBpbnQgZHB1X3diX2Nvbm5lY3Rvcl9w b3N0X2luaXQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgICAgICAgIHN0cnVj dCBkcHVfY29ubmVjdG9yICpjX2Nvbm47Cj4gICAgICAgICBzdHJ1Y3QgZHB1X3diX2RldmljZSAq d2JfZGV2ID0gZGlzcGxheTsKPiAgICAgICAgIGNvbnN0IHN0cnVjdCBkcHVfZm9ybWF0X2V4dGVu ZGVkICpmb3JtYXRfbGlzdDsKPiAtICAgICAgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3Byb3Bf ZW51bV9saXN0IGVfZmJfdHJhbnNsYXRpb25fbW9kZVtdID0gewo+IC0gICAgICAgICAgICAgICB7 RFBVX0RSTV9GQl9OT05fU0VDLCAibm9uX3NlYyJ9LAo+IC0gICAgICAgICAgICAgICB7RFBVX0RS TV9GQl9TRUMsICJzZWMifSwKPiAtICAgICAgIH07Cj4KPiAgICAgICAgIGlmICghY29ubmVjdG9y IHx8ICFpbmZvIHx8ICFkaXNwbGF5IHx8ICF3Yl9kZXYtPndiX2NmZykgewo+ICAgICAgICAgICAg ICAgICBEUFVfRVJST1IoImludmFsaWQgcGFyYW1zXG4iKTsKPiBAQCAtMzQ3LDEyICszNDMsNiBA QCBpbnQgZHB1X3diX2Nvbm5lY3Rvcl9wb3N0X2luaXQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3RvciwKPiAgICAgICAgICAgICAgICAgICAgICAgICAweDAsIDAsIFVJTlRfTUFYLCAwLCBD T05ORUNUT1JfUFJPUF9EU1RfVyk7Cj4gICAgICAgICBtc21fcHJvcGVydHlfaW5zdGFsbF9yYW5n ZSgmY19jb25uLT5wcm9wZXJ0eV9pbmZvLCAiRFNUX0giLAo+ICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MCwgMCwgVUlOVF9NQVgsIDAsIENPTk5FQ1RPUl9QUk9QX0RTVF9IKTsKPiAtICAgICAg IG1zbV9wcm9wZXJ0eV9pbnN0YWxsX2VudW0oJmNfY29ubi0+cHJvcGVydHlfaW5mbywKPiAtICAg ICAgICAgICAgICAgICAgICAgICAiZmJfdHJhbnNsYXRpb25fbW9kZSIsCj4gLSAgICAgICAgICAg ICAgICAgICAgICAgMHgwLAo+IC0gICAgICAgICAgICAgICAgICAgICAgIDAsIGVfZmJfdHJhbnNs YXRpb25fbW9kZSwKPiAtICAgICAgICAgICAgICAgICAgICAgICBBUlJBWV9TSVpFKGVfZmJfdHJh bnNsYXRpb25fbW9kZSksCj4gLSAgICAgICAgICAgICAgICAgICAgICAgQ09OTkVDVE9SX1BST1Bf RkJfVFJBTlNMQVRJT05fTU9ERSk7Cj4KPiAgICAgICAgIC8qCj4gICAgICAgICAgKiBQb3B1bGF0 ZSBpbmZvIGJ1ZmZlcgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYu aCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5oCj4gaW5kZXggMmM5M2Q3NGNhOTczLi5j Zjk2YTg1ZjRiNTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmgK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuaAo+IEBAIC0xMTYsNyArMTE2LDYg QEAgZW51bSBtc21fbWRwX3BsYW5lX3Byb3BlcnR5IHsKPiAgICAgICAgIFBMQU5FX1BST1BfUk9U QVRJT04sCj4gICAgICAgICBQTEFORV9QUk9QX0JMRU5EX09QLAo+ICAgICAgICAgUExBTkVfUFJP UF9TUkNfQ09ORklHLAo+IC0gICAgICAgUExBTkVfUFJPUF9GQl9UUkFOU0xBVElPTl9NT0RFLAo+ Cj4gICAgICAgICAvKiB0b3RhbCAjIG9mIHByb3BlcnRpZXMgKi8KPiAgICAgICAgIFBMQU5FX1BS T1BfQ09VTlQKPiBAQCAtMTQ2LDcgKzE0NSw2IEBAIGVudW0gbXNtX21kcF9jcnRjX3Byb3BlcnR5 IHsKPiAgICAgICAgIENSVENfUFJPUF9ST1RfUFJFRklMTF9CVywKPiAgICAgICAgIENSVENfUFJP UF9ST1RfQ0xLLAo+ICAgICAgICAgQ1JUQ19QUk9QX1JPSV9WMSwKPiAtICAgICAgIENSVENfUFJP UF9TRUNVUklUWV9MRVZFTCwKPiAgICAgICAgIENSVENfUFJPUF9JRExFX1RJTUVPVVQsCj4gICAg ICAgICBDUlRDX1BST1BfREVTVF9TQ0FMRVIsCj4KPiBAQCAtMTc5LDcgKzE3Nyw2IEBAIGVudW0g bXNtX21kcF9jb25uX3Byb3BlcnR5IHsKPiAgICAgICAgIENPTk5FQ1RPUl9QUk9QX1RPUE9MT0dZ X0NPTlRST0wsCj4gICAgICAgICBDT05ORUNUT1JfUFJPUF9BVVRPUkVGUkVTSCwKPiAgICAgICAg IENPTk5FQ1RPUl9QUk9QX0xQLAo+IC0gICAgICAgQ09OTkVDVE9SX1BST1BfRkJfVFJBTlNMQVRJ T05fTU9ERSwKPgo+ICAgICAgICAgLyogdG90YWwgIyBvZiBwcm9wZXJ0aWVzICovCj4gICAgICAg ICBDT05ORUNUT1JfUFJPUF9DT1VOVAo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2Rw dV9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0vZHB1X2RybS5oCj4gaW5kZXggODI2YmY3YjU0ODk2 Li5kYTczMjc5YTUwODYgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS91YXBpL2RybS9kcHVfZHJtLmgK PiArKysgYi9pbmNsdWRlL3VhcGkvZHJtL2RwdV9kcm0uaAo+IEBAIC02Niw0OCArNjYsNiBAQAo+ ICAvKiBEUk0gYml0bWFza3MgYXJlIHJlc3RyaWN0ZWQgdG8gMC4uNjMgKi8KPiAgI2RlZmluZSBE UFVfRFJNX0JJVE1BU0tfQ09VTlQgICAgICAgNjQKPgo+IC0vKioKPiAtICogRnJhbWVidWZmZXIg bW9kZXMgZm9yICJmYl90cmFuc2xhdGlvbl9tb2RlIiBQTEFORSBhbmQgQ09OTkVDVE9SIHByb3Bl cnR5Cj4gLSAqCj4gLSAqIEBEUFVfRFJNX0ZCX05PTl9TRUM6ICAgICAgICAgIElPTU1VIGNvbmZp Z3VyYXRpb24gZm9yIHRoaXMgZnJhbWVidWZmZXIgbW9kZQo+IC0gKiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpcyBub24tc2VjdXJlIGRvbWFpbiBhbmQgcmVxdWlyZXMKPiAtICogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90aCBzdGFnZSBJIGFuZCBzdGFnZSBJSSB0cmFu c2xhdGlvbnMgd2hlbgo+IC0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzIGJ1 ZmZlciBpcyBhY2Nlc3NlZCBieSB0aGUgZGlzcGxheSBIVy4KPiAtICogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgVGhpcyBpcyB0aGUgZGVmYXVsdCBtb2RlIG9mIGFsbCBmcmFtYnVmZmVy cy4KPiAtICogQERQVV9EUk1fRkJfU0VDOiAgICAgICAgICAgICAgSU9NTVUgY29uZmlndXJhdGlv biBmb3IgdGhpcyBmcmFtZWJ1ZmZlciBtb2RlCj4gLSAqICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGlzIHNlY3VyZSBkb21haW4gYW5kIHJlcXVpcmVzCj4gLSAqICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJvdGggc3RhZ2UgSSBhbmQgc3RhZ2UgSUkgdHJhbnNsYXRpb25zIHdo ZW4KPiAtICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBidWZmZXIgaXMgYWNj ZXNzZWQgYnkgdGhlIGRpc3BsYXkgSFcuCj4gLSAqIEBEUFVfRFJNX0ZCX05PTl9TRUNfRElSX1RS QU5TOiBJT01NVSBjb25maWd1cmF0aW9uIGZvciB0aGlzIGZyYW1lYnVmZmVyIG1vZGUKPiAtICog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgbm9uLXNlY3VyZSBkb21haW4gYW5kIHJl cXVpcmVzCj4gLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkgc3RhZ2UgSUkg dHJhbnNsYXRpb24gd2hlbgo+IC0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlz IGJ1ZmZlciBpcyBhY2Nlc3NlZCBieSB0aGUgZGlzcGxheSBIVy4KPiAtICogQERQVV9EUk1fRkJf U0VDX0RJUl9UUkFOUzogICAgSU9NTVUgY29uZmlndXJhdGlvbiBmb3IgdGhpcyBmcmFtZWJ1ZmZl ciBtb2RlCj4gLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzIHNlY3VyZSBkb21h aW4gYW5kIHJlcXVpcmVzCj4gLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkg c3RhZ2UgSUkgdHJhbnNsYXRpb24gd2hlbgo+IC0gKiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB0aGlzIGJ1ZmZlciBpcyBhY2Nlc3NlZCBieSB0aGUgZGlzcGxheSBIVy4KPiAtICovCj4g LQo+IC0jZGVmaW5lIERQVV9EUk1fRkJfTk9OX1NFQyAgICAgICAgICAgICAgMAo+IC0jZGVmaW5l IERQVV9EUk1fRkJfU0VDICAgICAgICAgICAgICAgICAgMQo+IC0jZGVmaW5lIERQVV9EUk1fRkJf Tk9OX1NFQ19ESVJfVFJBTlMgICAgMgo+IC0jZGVmaW5lIERQVV9EUk1fRkJfU0VDX0RJUl9UUkFO UyAgICAgICAgMwo+IC0KPiAtLyoqCj4gLSAqIFNlY3VyZSBsZXZlbHMgZm9yICJzZWN1cml0eV9s ZXZlbCIgQ1JUQyBwcm9wZXJ0eS4KPiAtICogICAgICAgICAgICAgICAgICAgICAgICBDUlRDIHBy b3BlcnR5IHdoaWNoIHNwZWNpZmllcyB3aGF0IHBsYW5lIHR5cGVzCj4gLSAqICAgICAgICAgICAg ICAgICAgICAgICAgY2FuIGJlIGF0dGFjaGVkIHRvIHRoaXMgQ1JUQy4gUGxhbmUgY29tcG9uZW50 Cj4gLSAqICAgICAgICAgICAgICAgICAgICAgICAgZGVyaXZlcyB0aGUgcGxhbmUgdHlwZSBiYXNl ZCBvbiB0aGUgRkJfTU9ERS4KPiAtICogQCBEUFVfRFJNX1NFQ19OT05fU0VDOiBCb3RoIFNlY3Vy ZSBhbmQgbm9uLXNlY3VyZSBwbGFuZSB0eXBlcyBjYW4gYmUKPiAtICogICAgICAgICAgICAgICAg ICAgICAgICBhdHRhY2hlZCB0byB0aGlzIENSVEMuIFRoaXMgaXMgdGhlIGRlZmF1bHQgc3RhdGUg b2YKPiAtICogICAgICAgICAgICAgICAgICAgICAgICB0aGUgQ1JUQy4KPiAtICogQCBEUFVfRFJN X1NFQ19PTkxZOiAgICBPbmx5IHNlY3VyZSBwbGFuZXMgY2FuIGJlIGFkZGVkIHRvIHRoaXMgQ1JU Qy4gSWYgYQo+IC0gKiAgICAgICAgICAgICAgICAgICAgICAgIENSVEMgaXMgaW5zdHJ1Y3RlZCB0 byBiZSBpbiB0aGlzIG1vZGUgaXQgZm9sbG93cyB0aGUKPiAtICogICAgICAgICAgICAgICAgICAg ICAgICBwbGF0Zm9ybSBkZXBlbmRlbnQgcmVzdHJpY3Rpb25zLgo+IC0gKi8KPiAtI2RlZmluZSBE UFVfRFJNX1NFQ19OT05fU0VDICAgICAgICAgICAgMAo+IC0jZGVmaW5lIERQVV9EUk1fU0VDX09O TFkgICAgICAgICAgICAgICAxCj4gLQo+ICAvKioKPiAgICogc3RydWN0IGRwdV9kcm1fcGl4X2V4 dF92MSAtIHZlcnNpb24gMSBvZiBwaXhlbCBleHQgc3RydWN0dXJlCj4gICAqIEBudW1fZXh0X3B4 bHNfbHI6IE51bWJlciBvZiB0b3RhbCBob3Jpem9udGFsIHBpeGVscwo+IGRpZmYgLS1naXQgYS9p bmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmggYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgK PiBpbmRleCA4NjY4OTI1YjVjMjUuLmViNzU4N2E0N2NiNiAxMDA2NDQKPiAtLS0gYS9pbmNsdWRl L3VhcGkvZHJtL2RybV9tb2RlLmgKPiArKysgYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgK PiBAQCAtNDQzLDcgKzQ0Myw2IEBAIHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQgewo+Cj4gICNkZWZp bmUgRFJNX01PREVfRkJfSU5URVJMQUNFRCAoMTw8MCkgLyogZm9yIGludGVybGFjZWQgZnJhbWVi dWZmZXJzICovCj4gICNkZWZpbmUgRFJNX01PREVfRkJfTU9ESUZJRVJTICAoMTw8MSkgLyogZW5h YmxlcyAtPm1vZGlmZXJbXSAqLwo+IC0jZGVmaW5lIERSTV9NT0RFX0ZCX1NFQ1VSRSAgICAgKDE8 PDIpIC8qIGZvciBzZWN1cmUgZnJhbWVidWZmZXJzICovCj4KPiAgc3RydWN0IGRybV9tb2RlX2Zi X2NtZDIgewo+ICAgICAgICAgX191MzIgZmJfaWQ7Cj4gLS0KPiAyLjE2LjEuMjkxLmc0NDM3ZjNm MTMyLWdvb2cKPgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpGcmVlZHJlbm8gbWFpbGluZyBsaXN0CkZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlZHJlbm8K