From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: usb: introduce usb_ep_type_string() function From: Greg Kroah-Hartman Message-Id: <20190301162141.GB19937@kroah.com> Date: Fri, 1 Mar 2019 17:21:41 +0100 To: Chunfeng Yun Cc: Felipe Balbi , Mathias Nyman , Joel Stanley , Andrew Jeffery , Matthias Brugger , Yoshihiro Shimoda , Arnd Bergmann , Martin Blumenstingl , Alan Stern , Roger Quadros , Sebastian Andrzej Siewior , "Gustavo A. R. Silva" , Johan Hovold , Benjamin Herrenschmidt , Colin Ian King , Jaejoong Kim , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-mediatek@lists.infradead.org List-ID: T24gRnJpLCBNYXIgMDEsIDIwMTkgYXQgMDI6NTg6MjNQTSArMDgwMCwgQ2h1bmZlbmcgWXVuIHdy b3RlOgo+IEluIHNvbWUgcGxhY2VzLCB0aGUgY29kZSBwcmludHMgYSBodW1hbi1yZWFkYWJsZSBV U0IgZW5kcG9pbnQKPiB0cmFuc2ZlciB0eXBlIChlLmcuICJidWxrIikuIFRoaXMgaW52b2x2ZXMg YSBzd2l0Y2ggc3RhdGVtZW50Cj4gc29tZXRpbWVzIHdyYXBwZWQgYXJvdW5kIGluICh7IC4uLiB9 KSBibG9jayBsZWFkaW5nIHRvIGNvZGUKPiByZXBldGl0aW9uLgo+IFRvIG1ha2UgdGhpcyBzY2Vu YXJpbyBlYXNpZXIsIGhlcmUgaW50cm9kdWNlcyB1c2JfZXBfdHlwZV9zdHJpbmcoKQo+IGZ1bmN0 aW9uLCB3aGljaCByZXR1cm5zIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBvZiBwcm92aWRlZAo+IGVu ZHBvaW50IHR5cGUuCj4gSXQgYWxzbyBjaGFuZ2VzIGEgZmV3IHBsYWNlcyBzd2l0Y2ggd2FzIHVz ZWQgdG8gdXNlIHRoaXMKPiBuZXcgZnVuY3Rpb24uCj4gCj4gU2lnbmVkLW9mZi1ieTogQ2h1bmZl bmcgWXVuIDxjaHVuZmVuZy55dW5AbWVkaWF0ZWsuY29tPgo+IC0tLQo+ICBkcml2ZXJzL3VzYi9j b21tb24vY29tbW9uLmMgICAgICAgICAgICAgIHwgMTYgKysrKysrKysrKysrKysrKwo+ICBkcml2 ZXJzL3VzYi9jb3JlL2VuZHBvaW50LmMgICAgICAgICAgICAgIHwgMTggKystLS0tLS0tLS0tLS0t LS0tCj4gIGRyaXZlcnMvdXNiL2NvcmUvaGNkLmMgICAgICAgICAgICAgICAgICAgfCAxNyArKy0t LS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL3VzYi9kd2MzL2RlYnVnZnMuYyAgICAgICAgICAgICAg IHwgMjMgKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy91c2IvZ2FkZ2V0L3VkYy9h c3BlZWQtdmh1Yi9lcG4uYyB8ICA2ICstLS0tLQo+ICBkcml2ZXJzL3VzYi9nYWRnZXQvdWRjL2R1 bW15X2hjZC5jICAgICAgIHwgMTYgKy0tLS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL3VzYi9ob3N0 L3hoY2ktdHJhY2UuaCAgICAgICAgICAgIHwgMTkgKystLS0tLS0tLS0tLS0tLS0tLQo+ICBpbmNs dWRlL2xpbnV4L3VzYi9jaDkuaCAgICAgICAgICAgICAgICAgIHwgIDggKysrKysrKysKPiAgOCBm aWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCA4NyBkZWxldGlvbnMoLSkKPiAKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy91c2IvY29tbW9uL2NvbW1vbi5jIGIvZHJpdmVycy91c2IvY29tbW9u L2NvbW1vbi5jCj4gaW5kZXggNDgyNzdiYmMxNWU0Li4yMTc0ZGQ5ZWMxNzYgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy91c2IvY29tbW9uL2NvbW1vbi5jCj4gKysrIGIvZHJpdmVycy91c2IvY29tbW9u L2NvbW1vbi5jCj4gQEAgLTE2LDYgKzE2LDIyIEBACj4gICNpbmNsdWRlIDxsaW51eC91c2Ivb3Rn Lmg+Cj4gICNpbmNsdWRlIDxsaW51eC9vZl9wbGF0Zm9ybS5oPgo+ICAKPiArc3RhdGljIGNvbnN0 IGNoYXIgKmNvbnN0IGVwX3R5cGVfbmFtZXNbXSA9IHsKPiArCVtVU0JfRU5EUE9JTlRfWEZFUl9D T05UUk9MXSA9ICJjdHJsIiwKPiArCVtVU0JfRU5EUE9JTlRfWEZFUl9JU09DXSA9ICJpc29jIiwK PiArCVtVU0JfRU5EUE9JTlRfWEZFUl9CVUxLXSA9ICJidWxrIiwKPiArCVtVU0JfRU5EUE9JTlRf WEZFUl9JTlRdID0gImludHIiLAo+ICt9Owo+ICsKPiArY29uc3QgY2hhciAqdXNiX2VwX3R5cGVf c3RyaW5nKGludCBlcF90eXBlKQo+ICt7Cj4gKwlpZiAoZXBfdHlwZSA8IDAgfHwgZXBfdHlwZSA+ PSBBUlJBWV9TSVpFKGVwX3R5cGVfbmFtZXMpKQo+ICsJCXJldHVybiAidW5rbm93biI7Cj4gKwo+ ICsJcmV0dXJuIGVwX3R5cGVfbmFtZXNbZXBfdHlwZV07Cj4gK30KPiArRVhQT1JUX1NZTUJPTF9H UEwodXNiX2VwX3R5cGVfc3RyaW5nKTsKPiArCj4gIGNvbnN0IGNoYXIgKnVzYl9vdGdfc3RhdGVf c3RyaW5nKGVudW0gdXNiX290Z19zdGF0ZSBzdGF0ZSkKPiAgewo+ICAJc3RhdGljIGNvbnN0IGNo YXIgKmNvbnN0IG5hbWVzW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2NvcmUvZW5k cG9pbnQuYyBiL2RyaXZlcnMvdXNiL2NvcmUvZW5kcG9pbnQuYwo+IGluZGV4IDFjMmMwNDA3OTY3 Ni4uYWZhNDNmOWE0N2IyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvdXNiL2NvcmUvZW5kcG9pbnQu Ywo+ICsrKyBiL2RyaXZlcnMvdXNiL2NvcmUvZW5kcG9pbnQuYwo+IEBAIC02MCwyMyArNjAsOSBA QCBzdGF0aWMgc3NpemVfdCB0eXBlX3Nob3coc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2 aWNlX2F0dHJpYnV0ZSAqYXR0ciwKPiAgCQkJIGNoYXIgKmJ1ZikKPiAgewo+ICAJc3RydWN0IGVw X2RldmljZSAqZXAgPSB0b19lcF9kZXZpY2UoZGV2KTsKPiAtCWNoYXIgKnR5cGUgPSAidW5rbm93 biI7Cj4gKwlpbnQgZXBfdHlwZSA9IHVzYl9lbmRwb2ludF90eXBlKGVwLT5kZXNjKTsKPiAgCj4g LQlzd2l0Y2ggKHVzYl9lbmRwb2ludF90eXBlKGVwLT5kZXNjKSkgewo+IC0JY2FzZSBVU0JfRU5E UE9JTlRfWEZFUl9DT05UUk9MOgo+IC0JCXR5cGUgPSAiQ29udHJvbCI7Cj4gLQkJYnJlYWs7Cj4g LQljYXNlIFVTQl9FTkRQT0lOVF9YRkVSX0lTT0M6Cj4gLQkJdHlwZSA9ICJJc29jIjsKPiAtCQli cmVhazsKPiAtCWNhc2UgVVNCX0VORFBPSU5UX1hGRVJfQlVMSzoKPiAtCQl0eXBlID0gIkJ1bGsi Owo+IC0JCWJyZWFrOwo+IC0JY2FzZSBVU0JfRU5EUE9JTlRfWEZFUl9JTlQ6Cj4gLQkJdHlwZSA9 ICJJbnRlcnJ1cHQiOwo+IC0JCWJyZWFrOwo+IC0JfQo+IC0JcmV0dXJuIHNwcmludGYoYnVmLCAi JXNcbiIsIHR5cGUpOwo+ICsJcmV0dXJuIHNwcmludGYoYnVmLCAiJXNcbiIsIHVzYl9lcF90eXBl X3N0cmluZyhlcF90eXBlKSk7CgpZb3UganVzdCBjaGFuZ2VkIGEgdXNlci9rZXJuZWwgQVBJIGhl cmUsIHRoZSBzdHJpbmdzIGFyZSBub3cgZGlmZmVyZW50CmZyb20gd2hhdCB0aGV5IHVzZWQgdG8g YmUgOigKClRoYXQncyBub3Qgb2ssIG9kZHMgYXJlIHlvdSB3aWxsIGJyZWFrIHRvb2xzIGlmIHlv dSBkbyB0aGlzLgoKPiAgfQo+ICBzdGF0aWMgREVWSUNFX0FUVFJfUk8odHlwZSk7Cj4gIAo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9jb3JlL2hjZC5jIGIvZHJpdmVycy91c2IvY29yZS9oY2Qu Ywo+IGluZGV4IDAxNWIxMjZjZTQ1NS4uMTkzZWU5MmIyZmRiIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvdXNiL2NvcmUvaGNkLmMKPiArKysgYi9kcml2ZXJzL3VzYi9jb3JlL2hjZC5jCj4gQEAgLTE4 NzUsMjMgKzE4NzUsMTAgQEAgdm9pZCB1c2JfaGNkX2ZsdXNoX2VuZHBvaW50KHN0cnVjdCB1c2Jf ZGV2aWNlICp1ZGV2LAo+ICAJCS8qIGtpY2sgaGNkICovCj4gIAkJdW5saW5rMShoY2QsIHVyYiwg LUVTSFVURE9XTik7Cj4gIAkJZGV2X2RiZyAoaGNkLT5zZWxmLmNvbnRyb2xsZXIsCj4gLQkJCSJz aHV0ZG93biB1cmIgJXBLIGVwJWQlcyVzXG4iLAo+ICsJCQkic2h1dGRvd24gdXJiICVwSyBlcCVk JXMtJXNcbiIsCj4gIAkJCXVyYiwgdXNiX2VuZHBvaW50X251bSgmZXAtPmRlc2MpLAo+ICAJCQlp c19pbiA/ICJpbiIgOiAib3V0IiwKPiAtCQkJKHsJY2hhciAqczsKPiAtCj4gLQkJCQkgc3dpdGNo ICh1c2JfZW5kcG9pbnRfdHlwZSgmZXAtPmRlc2MpKSB7Cj4gLQkJCQkgY2FzZSBVU0JfRU5EUE9J TlRfWEZFUl9DT05UUk9MOgo+IC0JCQkJCXMgPSAiIjsgYnJlYWs7Cj4gLQkJCQkgY2FzZSBVU0Jf RU5EUE9JTlRfWEZFUl9CVUxLOgo+IC0JCQkJCXMgPSAiLWJ1bGsiOyBicmVhazsKPiAtCQkJCSBj YXNlIFVTQl9FTkRQT0lOVF9YRkVSX0lOVDoKPiAtCQkJCQlzID0gIi1pbnRyIjsgYnJlYWs7Cj4g LQkJCQkgZGVmYXVsdDoKPiAtCQkJCQlzID0gIi1pc28iOyBicmVhazsKPiAtCQkJCX07Cj4gLQkJ CQlzOwo+IC0JCQl9KSk7Cj4gKwkJCXVzYl9lcF90eXBlX3N0cmluZyh1c2JfZW5kcG9pbnRfdHlw ZSgmZXAtPmRlc2MpKSk7CgpZb3UgYWxzbyBjaGFuZ2VkIHRoZSBtZXNzYWdlIGhlcmUgZm9yIGNv bnRyb2wgZW5kcG9pbnRzLCBidXQgdGhhdCdzIG5vdAphIGJpZyBkZWFsLCBpdCdzIG9rLgoKPiAg CQl1c2JfcHV0X3VyYiAodXJiKTsKPiAgCj4gIAkJLyogbGlzdCBjb250ZW50cyBtYXkgaGF2ZSBj aGFuZ2VkICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2R3YzMvZGVidWdmcy5jIGIvZHJp dmVycy91c2IvZHdjMy9kZWJ1Z2ZzLmMKPiBpbmRleCAxYzc5MjcxMDM0OGYuLmQ5ZTJhNjM4MzVm ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3VzYi9kd2MzL2RlYnVnZnMuYwo+ICsrKyBiL2RyaXZl cnMvdXNiL2R3YzMvZGVidWdmcy5jCj4gQEAgLTc1MCwyOCArNzUwLDEzIEBAIHN0YXRpYyBpbnQg ZHdjM190cmFuc2Zlcl90eXBlX3Nob3coc3RydWN0IHNlcV9maWxlICpzLCB2b2lkICp1bnVzZWQp Cj4gIAl1bnNpZ25lZCBsb25nCQlmbGFnczsKPiAgCj4gIAlzcGluX2xvY2tfaXJxc2F2ZSgmZHdj LT5sb2NrLCBmbGFncyk7Cj4gLQlpZiAoIShkZXAtPmZsYWdzICYgRFdDM19FUF9FTkFCTEVEKSB8 fAo+IC0JCQkhZGVwLT5lbmRwb2ludC5kZXNjKSB7Cj4gLQkJc2VxX3ByaW50ZihzLCAiLS1cbiIp Owo+ICsJaWYgKCEoZGVwLT5mbGFncyAmIERXQzNfRVBfRU5BQkxFRCkgfHwgIWRlcC0+ZW5kcG9p bnQuZGVzYykgewo+ICsJCXNlcV9wdXRzKHMsICJ1bmtub3duXG4iKTsKPiAgCQlnb3RvIG91dDsK PiAgCX0KPiAgCj4gLQlzd2l0Y2ggKHVzYl9lbmRwb2ludF90eXBlKGRlcC0+ZW5kcG9pbnQuZGVz YykpIHsKPiAtCWNhc2UgVVNCX0VORFBPSU5UX1hGRVJfQ09OVFJPTDoKPiAtCQlzZXFfcHJpbnRm KHMsICJjb250cm9sXG4iKTsKPiAtCQlicmVhazsKPiAtCWNhc2UgVVNCX0VORFBPSU5UX1hGRVJf SVNPQzoKPiAtCQlzZXFfcHJpbnRmKHMsICJpc29jaHJvbm91c1xuIik7Cj4gLQkJYnJlYWs7Cj4g LQljYXNlIFVTQl9FTkRQT0lOVF9YRkVSX0JVTEs6Cj4gLQkJc2VxX3ByaW50ZihzLCAiYnVsa1xu Iik7Cj4gLQkJYnJlYWs7Cj4gLQljYXNlIFVTQl9FTkRQT0lOVF9YRkVSX0lOVDoKPiAtCQlzZXFf cHJpbnRmKHMsICJpbnRlcnJ1cHRcbiIpOwo+IC0JCWJyZWFrOwo+IC0JZGVmYXVsdDoKPiAtCQlz ZXFfcHJpbnRmKHMsICItLVxuIik7Cj4gLQl9Cj4gKwlzZXFfcHJpbnRmKHMsICIlc1xuIiwKPiAr CQkgICB1c2JfZXBfdHlwZV9zdHJpbmcodXNiX2VuZHBvaW50X3R5cGUoZGVwLT5lbmRwb2ludC5k ZXNjKSkpOwoKSXQgaXMgZGVidWdmcywgc28gbm8gcmVhbCBBUEkgZ3VhcmFudGVlcyBhdCBhbGws IGJ1dCB5b3UgZGlkIGNoYW5nZSB0aGUKb3V0cHV0IGZvcm1hdCwgYW5kIHRoYXQncyBub3QgYWx3 YXlzIGdvb2QuCgo+ICAKPiAgb3V0Ogo+ICAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZHdjLT5s b2NrLCBmbGFncyk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2dhZGdldC91ZGMvYXNwZWVk LXZodWIvZXBuLmMgYi9kcml2ZXJzL3VzYi9nYWRnZXQvdWRjL2FzcGVlZC12aHViL2Vwbi5jCj4g aW5kZXggNGEyOGUzZmJlYjBiLi4xNjViMGE0MzY3MGUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy91 c2IvZ2FkZ2V0L3VkYy9hc3BlZWQtdmh1Yi9lcG4uYwo+ICsrKyBiL2RyaXZlcnMvdXNiL2dhZGdl dC91ZGMvYXNwZWVkLXZodWIvZXBuLmMKPiBAQCAtNTkzLDEwICs1OTMsNiBAQCBzdGF0aWMgaW50 IGFzdF92aHViX2Vwbl9kaXNhYmxlKHN0cnVjdCB1c2JfZXAqIHVfZXApCj4gIHN0YXRpYyBpbnQg YXN0X3ZodWJfZXBuX2VuYWJsZShzdHJ1Y3QgdXNiX2VwKiB1X2VwLAo+ICAJCQkgICAgICAgY29u c3Qgc3RydWN0IHVzYl9lbmRwb2ludF9kZXNjcmlwdG9yICpkZXNjKQo+ICB7Cj4gLQlzdGF0aWMg Y29uc3QgY2hhciAqZXBfdHlwZV9zdHJpbmdbXSBfX21heWJlX3VudXNlZCA9IHsgImN0cmwiLAo+ IC0JCQkJCQkJICAgICAgICJpc29jIiwKPiAtCQkJCQkJCSAgICAgICAiYnVsayIsCj4gLQkJCQkJ CQkgICAgICAgImludHIiIH07Cj4gIAlzdHJ1Y3QgYXN0X3ZodWJfZXAgKmVwID0gdG9fYXN0X2Vw KHVfZXApOwo+ICAJc3RydWN0IGFzdF92aHViX2RldiAqZGV2Owo+ICAJc3RydWN0IGFzdF92aHVi ICp2aHViOwo+IEBAIC02NDYsNyArNjQyLDcgQEAgc3RhdGljIGludCBhc3Rfdmh1Yl9lcG5fZW5h YmxlKHN0cnVjdCB1c2JfZXAqIHVfZXAsCj4gIAllcC0+ZXBuLndlZGdlZCA9IGZhbHNlOwo+ICAK PiAgCUVQREJHKGVwLCAiRW5hYmxpbmcgWyVzXSAlcyBudW0gJWQgbWF4cGFja2V0PSVkXG4iLAo+ IC0JICAgICAgZXAtPmVwbi5pc19pbiA/ICJpbiIgOiAib3V0IiwgZXBfdHlwZV9zdHJpbmdbdHlw ZV0sCj4gKwkgICAgICBlcC0+ZXBuLmlzX2luID8gImluIiA6ICJvdXQiLCB1c2JfZXBfdHlwZV9z dHJpbmcodHlwZSksCj4gIAkgICAgICB1c2JfZW5kcG9pbnRfbnVtKGRlc2MpLCBtYXhwYWNrZXQp Owo+ICAKPiAgCS8qIENhbiB3ZSB1c2UgRE1BIGRlc2NyaXB0b3IgbW9kZSA/ICovCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvdXNiL2dhZGdldC91ZGMvZHVtbXlfaGNkLmMgYi9kcml2ZXJzL3VzYi9n YWRnZXQvdWRjL2R1bW15X2hjZC5jCj4gaW5kZXggYmFmNzJmOTVmMGYxLi40MGM2YTQ4NGUyMzIg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy91c2IvZ2FkZ2V0L3VkYy9kdW1teV9oY2QuYwo+ICsrKyBi L2RyaXZlcnMvdXNiL2dhZGdldC91ZGMvZHVtbXlfaGNkLmMKPiBAQCAtNjE3LDIxICs2MTcsNyBA QCBzdGF0aWMgaW50IGR1bW15X2VuYWJsZShzdHJ1Y3QgdXNiX2VwICpfZXAsCj4gIAkJX2VwLT5u YW1lLAo+ICAJCWRlc2MtPmJFbmRwb2ludEFkZHJlc3MgJiAweDBmLAo+ICAJCShkZXNjLT5iRW5k cG9pbnRBZGRyZXNzICYgVVNCX0RJUl9JTikgPyAiaW4iIDogIm91dCIsCj4gLQkJKHsgY2hhciAq dmFsOwo+IC0JCSBzd2l0Y2ggKHVzYl9lbmRwb2ludF90eXBlKGRlc2MpKSB7Cj4gLQkJIGNhc2Ug VVNCX0VORFBPSU5UX1hGRVJfQlVMSzoKPiAtCQkJIHZhbCA9ICJidWxrIjsKPiAtCQkJIGJyZWFr Owo+IC0JCSBjYXNlIFVTQl9FTkRQT0lOVF9YRkVSX0lTT0M6Cj4gLQkJCSB2YWwgPSAiaXNvIjsK PiAtCQkJIGJyZWFrOwo+IC0JCSBjYXNlIFVTQl9FTkRQT0lOVF9YRkVSX0lOVDoKPiAtCQkJIHZh bCA9ICJpbnRyIjsKPiAtCQkJIGJyZWFrOwo+IC0JCSBkZWZhdWx0Ogo+IC0JCQkgdmFsID0gImN0 cmwiOwo+IC0JCQkgYnJlYWs7Cj4gLQkJIH0gdmFsOyB9KSwKPiArCQl1c2JfZXBfdHlwZV9zdHJp bmcodXNiX2VuZHBvaW50X3R5cGUoZGVzYykpLAo+ICAJCW1heCwgZXAtPnN0cmVhbV9lbiA/ICJl bmFibGVkIiA6ICJkaXNhYmxlZCIpOwo+ICAKPiAgCS8qIGF0IHRoaXMgcG9pbnQgcmVhbCBoYXJk d2FyZSBzaG91bGQgYmUgTkFLaW5nIHRyYW5zZmVycwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3Vz Yi9ob3N0L3hoY2ktdHJhY2UuaCBiL2RyaXZlcnMvdXNiL2hvc3QveGhjaS10cmFjZS5oCj4gaW5k ZXggODhiNDI3NDM0YmQ4Li5iYWM3M2Q2ODhmMTEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy91c2Iv aG9zdC94aGNpLXRyYWNlLmgKPiArKysgYi9kcml2ZXJzL3VzYi9ob3N0L3hoY2ktdHJhY2UuaAo+ IEBAIC0yODksMjMgKzI4OSw4IEBAIERFQ0xBUkVfRVZFTlRfQ0xBU1MoeGhjaV9sb2dfdXJiLAo+ ICAJKSwKPiAgCVRQX3ByaW50aygiZXAlZCVzLSVzOiB1cmIgJXAgcGlwZSAldSBzbG90ICVkIGxl bmd0aCAlZC8lZCBzZ3MgJWQvJWQgc3RyZWFtICVkIGZsYWdzICUwOHgiLAo+ICAJCQlfX2VudHJ5 LT5lcG51bSwgX19lbnRyeS0+ZGlyX2luID8gImluIiA6ICJvdXQiLAo+IC0JCQkoeyBjaGFyICpz Owo+IC0JCQlzd2l0Y2ggKF9fZW50cnktPnR5cGUpIHsKPiAtCQkJY2FzZSBVU0JfRU5EUE9JTlRf WEZFUl9JTlQ6Cj4gLQkJCQlzID0gImludHIiOwo+IC0JCQkJYnJlYWs7Cj4gLQkJCWNhc2UgVVNC X0VORFBPSU5UX1hGRVJfQ09OVFJPTDoKPiAtCQkJCXMgPSAiY29udHJvbCI7Cj4gLQkJCQlicmVh azsKPiAtCQkJY2FzZSBVU0JfRU5EUE9JTlRfWEZFUl9CVUxLOgo+IC0JCQkJcyA9ICJidWxrIjsK PiAtCQkJCWJyZWFrOwo+IC0JCQljYXNlIFVTQl9FTkRQT0lOVF9YRkVSX0lTT0M6Cj4gLQkJCQlz ID0gImlzb2MiOwo+IC0JCQkJYnJlYWs7Cj4gLQkJCWRlZmF1bHQ6Cj4gLQkJCQlzID0gIlVOS05P V04iOwo+IC0JCQl9IHM7IH0pLCBfX2VudHJ5LT51cmIsIF9fZW50cnktPnBpcGUsIF9fZW50cnkt PnNsb3RfaWQsCj4gKwkJCXVzYl9lcF90eXBlX3N0cmluZyhfX2VudHJ5LT50eXBlKSwKPiArCQkJ X19lbnRyeS0+dXJiLCBfX2VudHJ5LT5waXBlLCBfX2VudHJ5LT5zbG90X2lkLAo+ICAJCQlfX2Vu dHJ5LT5hY3R1YWwsIF9fZW50cnktPmxlbmd0aCwgX19lbnRyeS0+bnVtX21hcHBlZF9zZ3MsCj4g IAkJCV9fZW50cnktPm51bV9zZ3MsIF9fZW50cnktPnN0cmVhbSwgX19lbnRyeS0+ZmxhZ3MKPiAg CQkpCgpBbm90aGVyIGFwaSBjaGFuZ2Ugd2l0aCAiY29udHJvbCIgOigKCkkgbGlrZSB0aGUgaWRl YSwgYnV0IHlvdSBjYW4gbm90IGJyZWFrIHVzZXIva2VybmVsIGFwaXMgbGlrZSB0aGlzCndpdGhv dXQga25vd2luZyB0aGUgYWZmZWN0cyB0aGF0IGNvdWxkIGhhcHBlbi4KCnRoYW5rcywKCmdyZWcg ay1oCg==