From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?euc-kr?B?udqw5rnO?= Subject: Re: [PATCH] USB device support on OMAP2 Date: Thu, 24 Aug 2006 12:54:55 +0000 (GMT) Message-ID: <26510641.122181156424234844.JavaMail.weblogic@ep_ml15> Reply-To: kyungmin.park@samsung.com Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0367402616==" Return-path: Content-return: prohibited MIME-version: 1.0 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-omap-open-source-bounces@linux.omap.com Errors-To: linux-omap-open-source-bounces@linux.omap.com To: "linux-omap-open-source@linux.omap.com" List-Id: linux-omap@vger.kernel.org --===============0367402616== Content-return: prohibited Content-type: text/plain; charset=euc-kr Content-transfer-encoding: base64 SGksDQoNClNvcnJ5IHRoZXJlJ3MgbWlzc2luZyBvbmUuDQpQbGVhc2UgaWdub3JlIHRoZSBwcmV2 aW91cyBwYXRjaC4NCg0KVGhlcmUncyBub3Qgc292bGVkIHByb2JsZW1zLCBVU0IgRE1BIGFuZCBD bG9ja3Mgb24gT01BUDI0MjAuDQoNCkZpcnN0LCBETUEuIEluIHByZXZpb3MgVEkgZGV2ZWxvcGVy IG1haWwsIFVTQiBETUEgY2FuJ3Qgd29yayB3ZWxsLg0KSSBhbHJlYWR5IHRyaWVkIHRvIHVlcyBE TUEgd2l0aCBUSSBjb2RlLCBidXQgZmFpbGVkLiBTbyBJIGp1c3QgdXNlIE5vbi1ETUEgbW9kZSBv biBPTUFQMi4NCkl0IGFsc28gZG9uJ3Qgd29yayBpbiBrZXJuZWwgMi40DQoNClNlY29uZCwgQ2xv Y2tzLCBUaGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBpcyBhbHdheXMgdHVybiBvbiBVU0IgY2xv Y2tzLg0KV2hlbiBJIHR1cm4gb2ZmIHRoZSBVU0IgY2xvY2sgYWZ0ZXIgcHJvYmluZywgdGhlbiBV U0IgZG9uJ3Qgd29yayBzaW5jZSB0aGVyZSdzIG5vIGNsb2Nrcy4NCklzIHRoZXJlIHNvbWUgcGxh Y2VzIHRvIGVuYWJsZSB0aGUgY2xvY2tzIHRvIHdvcms/DQpPZiBjb3Vyc2UsIHRoZXJlJ3Mgbm8g cHJvYmxlbSBpbiBrZXJuZWwgMi40LiBJdCdzIHdvcmtpbmcgd2VsbC4NCg0KQXJlIHRoZXJlIGFu eSBzdWdnZXN0aW9ucyBvciBoaW50cz8NCg0KVGhhbmsgeW91LA0KS3l1bmdtaW4gUGFyaw0KDQoN CltQQVRDSF0gVVNCIGRldmljZSBzdXBwb3J0IG9uIE9NQVAyDQoNCiAgRW5hYmxlIFVTQiBkZXZp Y2Ugb24gT01BUDIgcGxhdGZvcm0uIE9ubHkgdXNiMCBpcyB1c2VkIGZvciBkZXZpY2Ugd2l0aG91 dCBETUEuDQogIFRoZXJlIGFyZSByZW1haW5naW5nIGlzc3VlcywgRE1BIGFuZCBjbG9ja3MuDQoN ClNpZ25lZC1vZmYtYnk6IEt5dW5nbWluIFBhcmsgPGt5dW5nbWluLnBhcmtAc2Ftc3VuZy5jb20+ DQoNCi0tDQoNCmRpZmYgLXVwciAtLWV4Y2x1ZGUgJy4qJyAtLWV4Y2x1ZGUgJyoubycgbGludXgt b21hcC0yLjYtYmFzZS9hcmNoL2FybS9tYWNoLW9tYXAyL0tjb25maWcgbGludXgtb21hcC0yLjYv YXJjaC9hcm0vbWFjaC1vbWFwMi9LY29uZmlnDQotLS0gbGludXgtb21hcC0yLjYtYmFzZS9hcmNo L2FybS9tYWNoLW9tYXAyL0tjb25maWcJMjAwNi0wOC0yNCAxNzo1MzoxNS4xNzE4NzUwMDAgKzA5 MDANCisrKyBsaW51eC1vbWFwLTIuNi9hcmNoL2FybS9tYWNoLW9tYXAyL0tjb25maWcJMjAwNi0w OC0yNCAyMDoxMDowNS45NTMxMjUwMDAgKzA5MDANCkBAIC0yNSwzICsyNSw0IEBAIGNvbmZpZyBN QUNIX09NQVBfSDQNCiBjb25maWcgTUFDSF9PTUFQX0FQT0xMT04NCiAJYm9vbCAiT01BUCAyNDIw IEFwb2xsb24gYm9hcmQiDQogCWRlcGVuZHMgb24gQVJDSF9PTUFQMiAmJiBBUkNIX09NQVAyNFhY DQorCXNlbGVjdCBBUkNIX09NQVBfT1RHDQpkaWZmIC11cHIgLS1leGNsdWRlICcuKicgLS1leGNs dWRlICcqLm8nIGxpbnV4LW9tYXAtMi42LWJhc2UvYXJjaC9hcm0vbWFjaC1vbWFwMi9ib2FyZC1h cG9sbG9uLmMgbGludXgtb21hcC0yLjYvYXJjaC9hcm0vbWFjaC1vbWFwMi9ib2FyZC1hcG9sbG9u LmMNCi0tLSBsaW51eC1vbWFwLTIuNi1iYXNlL2FyY2gvYXJtL21hY2gtb21hcDIvYm9hcmQtYXBv bGxvbi5jCTIwMDYtMDgtMjQgMTc6NTM6MTUuMTg3NTAwMDAwICswOTAwDQorKysgbGludXgtb21h cC0yLjYvYXJjaC9hcm0vbWFjaC1vbWFwMi9ib2FyZC1hcG9sbG9uLmMJMjAwNi0wOC0yNCAyMDo1 NDowOS45MDYyNTAwMDAgKzA5MDANCkBAIC0yMzQsNiArMjM0LDEzIEBAIHN0YXRpYyBzdHJ1Y3Qg b21hcF9tbWNfY29uZmlnIGFwb2xsb25fbW0NCiAJfSwNCiB9Ow0KIA0KK3N0YXRpYyBzdHJ1Y3Qg b21hcF91c2JfY29uZmlnIGFwb2xsb25fdXNiX2NvbmZpZyBfX2luaXRkYXRhID0gew0KKwkucmVn aXN0ZXJfZGV2CT0gMSwNCisJLmhtY19tb2RlCT0gMHgxNCwJLyogMDpkZXYgMTpob3N0MSAyOiBk aXNhYmxlICovDQorDQorCS5waW5zWzBdCT0gNiwNCit9Ow0KKw0KIHN0YXRpYyBzdHJ1Y3Qgb21h cF9sY2RfY29uZmlnIGFwb2xsb25fbGNkX2NvbmZpZyBfX2luaXRkYXRhID0gew0KIAkuY3RybF9u YW1lCT0gImludGVybmFsIiwNCiB9Ow0KQEAgLTI0MSw2ICsyNDgsNyBAQCBzdGF0aWMgc3RydWN0 IG9tYXBfbGNkX2NvbmZpZyBhcG9sbG9uX2xjDQogc3RhdGljIHN0cnVjdCBvbWFwX2JvYXJkX2Nv bmZpZ19rZXJuZWwgYXBvbGxvbl9jb25maWdbXSA9IHsNCiAJeyBPTUFQX1RBR19VQVJULAkmYXBv bGxvbl91YXJ0X2NvbmZpZyB9LA0KIAl7IE9NQVBfVEFHX01NQywJCSZhcG9sbG9uX21tY19jb25m aWcgfSwNCisJeyBPTUFQX1RBR19VU0IsCQkmYXBvbGxvbl91c2JfY29uZmlnIH0sDQogCXsgT01B UF9UQUdfTENELAkJJmFwb2xsb25fbGNkX2NvbmZpZyB9LA0KIH07DQogDQpAQCAtMjkyLDI4ICsz MDAsMzUgQEAgc3RhdGljIHZvaWQgX19pbml0IGFwb2xsb25fc3dfaW5pdCh2b2lkKQ0KIAlvbWFw X3JlcXVlc3RfZ3BpbyhTV19ET1dOX0dQSU81OCk7DQogCW9tYXBfc2V0X2dwaW9fZGlyZWN0aW9u KFNXX0RPV05fR1BJTzU4LCAxKTsNCiANCi0Jc2V0X2lycV90eXBlKE9NQVBfR1BJT19JUlEoU1df RU5URVJfR1BJTzE2KSwgSVJRVF9SSVNJTkcpOw0KIAlpZiAocmVxdWVzdF9pcnEoT01BUF9HUElP X0lSUShTV19FTlRFUl9HUElPMTYpLCAmYXBvbGxvbl9zd19pbnRlcnJ1cHQsDQogCQkJCUlSUUZf U0hBUkVELCAiZW50ZXIgc3ciLA0KIAkJCQkmYXBvbGxvbl9zd19pbnRlcnJ1cHQpKQ0KIAkJcmV0 dXJuOw0KLQlzZXRfaXJxX3R5cGUoT01BUF9HUElPX0lSUShTV19VUF9HUElPMTcpLCBJUlFUX1JJ U0lORyk7DQogCWlmIChyZXF1ZXN0X2lycShPTUFQX0dQSU9fSVJRKFNXX1VQX0dQSU8xNyksICZh cG9sbG9uX3N3X2ludGVycnVwdCwNCiAJCQkJSVJRRl9TSEFSRUQsICJ1cCBzdyIsDQogCQkJCSZh cG9sbG9uX3N3X2ludGVycnVwdCkpDQogCQlyZXR1cm47DQotCXNldF9pcnFfdHlwZShPTUFQX0dQ SU9fSVJRKFNXX0RPV05fR1BJTzU4KSwgSVJRVF9SSVNJTkcpOw0KIAlpZiAocmVxdWVzdF9pcnEo T01BUF9HUElPX0lSUShTV19ET1dOX0dQSU81OCksICZhcG9sbG9uX3N3X2ludGVycnVwdCwNCiAJ CQkJSVJRRl9TSEFSRUQsICJkb3duIHN3IiwNCiAJCQkJJmFwb2xsb25fc3dfaW50ZXJydXB0KSkN CiAJCXJldHVybjsNCiB9DQogDQorc3RhdGljIHZvaWQgX19pbml0IGFwb2xsb25fdXNiX2luaXQo dm9pZCkNCit7DQorCS8qIFVTQiBkZXZpY2UgKi8NCisJLyogREVWSUNFX1NVU1BFTkQgKi8NCisJ b21hcF9jZmdfcmVnKFAyMV8yNDJYX0dQSU8xMik7DQorCW9tYXBfc2V0X2dwaW9fZGlyZWN0aW9u KDEyLCAwKTsNCisJb21hcF9zZXRfZ3Bpb19kYXRhb3V0KDEyLCAwKTsNCit9DQorDQogc3RhdGlj IHZvaWQgX19pbml0IG9tYXBfYXBvbGxvbl9pbml0KHZvaWQpDQogew0KIAlhcG9sbG9uX2xlZF9p bml0KCk7DQogCWFwb2xsb25fc3dfaW5pdCgpOw0KIAlhcG9sbG9uX2ZsYXNoX2luaXQoKTsNCisJ YXBvbGxvbl91c2JfaW5pdCgpOw0KIA0KIAkvKiBSRVZJU0lUOiB3aGVyZSdzIHRoZSBjb3JyZWN0 IHBsYWNlICovDQogCW9tYXBfY2ZnX3JlZyhXMTlfMjRYWF9TWVNfTklSUSk7DQpkaWZmIC11cHIg LS1leGNsdWRlICcuKicgLS1leGNsdWRlICcqLm8nIGxpbnV4LW9tYXAtMi42LWJhc2UvYXJjaC9h cm0vbWFjaC1vbWFwMi9tdXguYyBsaW51eC1vbWFwLTIuNi9hcmNoL2FybS9tYWNoLW9tYXAyL211 eC5jDQotLS0gbGludXgtb21hcC0yLjYtYmFzZS9hcmNoL2FybS9tYWNoLW9tYXAyL211eC5jCTIw MDYtMDgtMjQgMTc6NTM6MTUuMjAzMTI1MDAwICswOTAwDQorKysgbGludXgtb21hcC0yLjYvYXJj aC9hcm0vbWFjaC1vbWFwMi9tdXguYwkyMDA2LTA4LTI0IDE5OjQ1OjIwLjI2NTYyNTAwMCArMDkw MA0KQEAgLTY2LDYgKzY2LDcgQEAgTVVYX0NGR18yNFhYKCJWMTVfMjRYWF9NQ0JTUDJfRFgiLAkw eDEyNw0KIA0KIC8qIDI0eHggR1BJTyAqLw0KIE1VWF9DRkdfMjRYWCgiTTIxXzI0MlhfR1BJTzEx IiwJCTB4MGM5LCAgMywgICAgICAxLCAgICAgIDEsICAgICAgMSkNCitNVVhfQ0ZHXzI0WFgoIlAy MV8yNDJYX0dQSU8xMiIsCQkweDBjYSwJMywJMCwJMCwJMSkNCiBNVVhfQ0ZHXzI0WFgoIkFBMTBf MjQyWF9HUElPMTMiLAkweDBlNSwgIDMsICAgICAgMCwgICAgICAwLCAgICAgIDEpDQogTVVYX0NG R18yNFhYKCJBQTZfMjQyWF9HUElPMTQiLAkJMHgwZTYsICAzLCAgICAgIDAsICAgICAgMCwgICAg ICAxKQ0KIE1VWF9DRkdfMjRYWCgiQUE0XzI0MlhfR1BJTzE1IiwJCTB4MGU3LCAgMywgICAgICAw LCAgICAgIDAsICAgICAgMSkNCkBAIC0xMTgsNiArMTE5LDE1IEBAIE1VWF9DRkdfMjRYWCgiRTE4 XzI0WFhfTU1DX0RBVF9ESVIzIiwJMHgNCiBNVVhfQ0ZHXzI0WFgoIkcxOF8yNFhYX01NQ19DTURf RElSIiwJMHgwZmQsCTAsCTAsCTAsCTEpDQogTVVYX0NGR18yNFhYKCJIMTVfMjRYWF9NTUNfQ0xL SSIsCTB4MGZlLAkwLAkwLAkwLAkxKQ0KIA0KKy8qIFVTQiAqLw0KK01VWF9DRkdfMjRYWCgiSjIw XzI0WFhfVVNCMF9QVUVOIiwJMHgxMWQsCTAsCTAsCTAsCTEpDQorTVVYX0NGR18yNFhYKCJKMTlf MjRYWF9VU0IwX1ZQIiwJMHgxMWUsCTAsCTAsCTAsCTEpDQorTVVYX0NGR18yNFhYKCJLMjBfMjRY WF9VU0IwX1ZNIiwJMHgxMWYsCTAsCTAsCTAsCTEpDQorTVVYX0NGR18yNFhYKCJKMThfMjRYWF9V U0IwX1JDViIsCTB4MTIwLAkwLAkwLAkwLAkxKQ0KK01VWF9DRkdfMjRYWCgiSzE5XzI0WFhfVVNC MF9UWEVOIiwJMHgxMjEsCTAsCTAsCTAsCTEpDQorTVVYX0NGR18yNFhYKCJKMTRfMjRYWF9VU0Iw X1NFMCIsCTB4MTIyLAkwLAkwLAkwLAkxKQ0KK01VWF9DRkdfMjRYWCgiSzE4XzI0WFhfVVNCMF9E QVQiLAkweDEyMywJMCwJMCwJMCwJMSkNCisNCiAvKiBLZXlwYWQgR1BJTyovDQogTVVYX0NGR18y NFhYKCJUMTlfMjRYWF9LQlIwIiwJCTB4MTA2LAkzLAkxLAkxLAkxKQ0KIE1VWF9DRkdfMjRYWCgi UjE5XzI0WFhfS0JSMSIsCQkweDEwNywJMywJMSwJMSwJMSkNCmRpZmYgLXVwciAtLWV4Y2x1ZGUg Jy4qJyAtLWV4Y2x1ZGUgJyoubycgbGludXgtb21hcC0yLjYtYmFzZS9hcmNoL2FybS9wbGF0LW9t YXAvdXNiLmMgbGludXgtb21hcC0yLjYvYXJjaC9hcm0vcGxhdC1vbWFwL3VzYi5jDQotLS0gbGlu dXgtb21hcC0yLjYtYmFzZS9hcmNoL2FybS9wbGF0LW9tYXAvdXNiLmMJMjAwNi0wOC0yNCAxNzo1 MDozNi4yMTg3NTAwMDAgKzA5MDANCisrKyBsaW51eC1vbWFwLTIuNi9hcmNoL2FybS9wbGF0LW9t YXAvdXNiLmMJMjAwNi0wOC0yNCAyMDo0ODozMC42ODc1MDAwMDAgKzA5MDANCkBAIC0zNyw2ICsz NywyNSBAQA0KICNpbmNsdWRlIDxhc20vYXJjaC91c2IuaD4NCiAjaW5jbHVkZSA8YXNtL2FyY2gv Ym9hcmQuaD4NCiANCisjaWZkZWYgQ09ORklHX0FSQ0hfT01BUDENCisNCisjZGVmaW5lIElOVF9V U0JfSVJRX0dFTgkJSUgyX0JBU0UgKyAyMA0KKyNkZWZpbmUgSU5UX1VTQl9JUlFfTklTTwlJSDJf QkFTRSArIDMwDQorI2RlZmluZSBJTlRfVVNCX0lSUV9JU08JCUlIMl9CQVNFICsgMjkNCisjZGVm aW5lIElOVF9VU0JfSVJRX0hHRU4JSU5UX1VTQl9ISENfMQ0KKyNkZWZpbmUgSU5UX1VTQl9JUlFf T1RHCQlJSDJfQkFTRSArIDgNCisNCisjZWxzZQ0KKw0KKyNkZWZpbmUgSU5UX1VTQl9JUlFfR0VO CQlJTlRfMjRYWF9VU0JfSVJRX0dFTg0KKyNkZWZpbmUgSU5UX1VTQl9JUlFfTklTTwlJTlRfMjRY WF9VU0JfSVJRX05JU08NCisjZGVmaW5lIElOVF9VU0JfSVJRX0lTTwkJSU5UXzI0WFhfVVNCX0lS UV9JU08NCisjZGVmaW5lIElOVF9VU0JfSVJRX0hHRU4JSU5UXzI0WFhfVVNCX0lSUV9IR0VODQor I2RlZmluZSBJTlRfVVNCX0lSUV9PVEcJCUlOVF8yNFhYX1VTQl9JUlFfT1RHDQorDQorI2VuZGlm DQorDQorDQogLyogVGhlc2Ugcm91dGluZXMgc2hvdWxkIGhhbmRsZSB0aGUgc3RhbmRhcmQgY2hp cC1zcGVjaWZpYyBtb2Rlcw0KICAqIGZvciB1c2IwLzEvMiBwb3J0cywgY292ZXJpbmcgYmFzaWMg bXV4IGFuZCB0cmFuc2NlaXZlciBzZXR1cC4NCiAgKiBDYWxsIG9tYXBfdXNiX2luaXQoKSBvbmNl LCBmcm9tIElOSVRfTUFDSElORSgpLg0KQEAgLTk3LDE1ICsxMTYsMTkgQEAgc3RhdGljIHUzMiBf X2luaXQgb21hcF91c2IwX2luaXQodW5zaWduZQ0KIAl1MzIJc3lzY29uMSA9IDA7DQogDQogCWlm IChud2lyZXMgPT0gMCkgew0KLQkJaWYgKCFjcHVfaXNfb21hcDE1eHgoKSkgew0KKwkJaWYgKGNw dV9jbGFzc19pc19vbWFwMSgpICYmICFjcHVfaXNfb21hcDE1eHgoKSkgew0KIAkJCS8qIHB1bGxk b3duIEQrL0QtICovDQogCQkJVVNCX1RSQU5TQ0VJVkVSX0NUUkxfUkVHICY9IH4oMyA8PCAxKTsN CiAJCX0NCiAJCXJldHVybiAwOw0KIAl9DQogDQotCWlmIChpc19kZXZpY2UpDQotCQlvbWFwX2Nm Z19yZWcoVzRfVVNCX1BVRU4pOw0KKwlpZiAoaXNfZGV2aWNlKSB7DQorCQlpZiAoY3B1X2lzX29t YXAyNHh4KCkpDQorCQkJb21hcF9jZmdfcmVnKEoyMF8yNFhYX1VTQjBfUFVFTik7DQorCQllbHNl DQorCQkJb21hcF9jZmdfcmVnKFc0X1VTQl9QVUVOKTsNCisJfQ0KIA0KIAkvKiBpbnRlcm5hbCB0 cmFuc2NlaXZlciAqLw0KIAlpZiAobndpcmVzID09IDIpIHsNCkBAIC0xMzYsMjkgKzE1OSw1MSBA QCBzdGF0aWMgdTMyIF9faW5pdCBvbWFwX3VzYjBfaW5pdCh1bnNpZ25lDQogCQlyZXR1cm4gMDsN CiAJfQ0KIA0KLQlvbWFwX2NmZ19yZWcoVjZfVVNCMF9UWEQpOw0KLQlvbWFwX2NmZ19yZWcoVzlf VVNCMF9UWEVOKTsNCi0Jb21hcF9jZmdfcmVnKFc1X1VTQjBfU0UwKTsNCisJaWYgKGNwdV9pc19v bWFwMjR4eCgpKSB7DQorCQlvbWFwX2NmZ19yZWcoSzE4XzI0WFhfVVNCMF9EQVQpOw0KKwkJb21h cF9jZmdfcmVnKEsxOV8yNFhYX1VTQjBfVFhFTik7DQorCQlvbWFwX2NmZ19yZWcoSjE0XzI0WFhf VVNCMF9TRTApOw0KKwl9IGVsc2Ugew0KKwkJb21hcF9jZmdfcmVnKFY2X1VTQjBfVFhEKTsNCisJ CW9tYXBfY2ZnX3JlZyhXOV9VU0IwX1RYRU4pOw0KKwkJb21hcF9jZmdfcmVnKFc1X1VTQjBfU0Uw KTsNCisJfQ0KIA0KIAkvKiBOT1RFOiAgU1BFRUQgYW5kIFNVU1AgYXJlbid0IGNvbmZpZ3VyZWQg aGVyZSAqLw0KIA0KLQlpZiAobndpcmVzICE9IDMpDQotCQlvbWFwX2NmZ19yZWcoWTVfVVNCMF9S Q1YpOw0KLQlpZiAobndpcmVzICE9IDYpDQorCWlmIChud2lyZXMgIT0gMykgew0KKwkJaWYgKGNw dV9pc19vbWFwMjR4eCgpKQ0KKwkJCW9tYXBfY2ZnX3JlZyhKMThfMjRYWF9VU0IwX1JDVik7DQor CQllbHNlDQorCQkJb21hcF9jZmdfcmVnKFk1X1VTQjBfUkNWKTsNCisJfQ0KKwlpZiAoY3B1X2lz X29tYXAyNHh4KCkpDQorCQlDT05UUk9MX0RFVkNPTkZfUkVHICY9IH5VU0JUMFdSTU9ERUkoQklE SVJfVFRMKTsNCisJZWxzZSBpZiAobndpcmVzICE9IDYpDQogCQlVU0JfVFJBTlNDRUlWRVJfQ1RS TF9SRUcgJj0gfkNPTkZfVVNCMl9VTklfUjsNCiANCiAJc3dpdGNoIChud2lyZXMpIHsNCiAJY2Fz ZSAzOg0KIAkJc3lzY29uMSA9IDI7DQorCQlpZiAoY3B1X2lzX29tYXAyNHh4KCkpDQorCQkJQ09O VFJPTF9ERVZDT05GX1JFRyB8PSBVU0JUMFdSTU9ERUkoQklESVIpOw0KIAkJYnJlYWs7DQogCWNh c2UgNDoNCiAJCXN5c2NvbjEgPSAxOw0KKwkJaWYgKGNwdV9pc19vbWFwMjR4eCgpKQ0KKwkJCUNP TlRST0xfREVWQ09ORl9SRUcgfD0gVVNCVDBXUk1PREVJKEJJRElSKTsNCiAJCWJyZWFrOw0KIAlj YXNlIDY6DQogCQlzeXNjb24xID0gMzsNCi0JCW9tYXBfY2ZnX3JlZyhBQTlfVVNCMF9WUCk7DQot CQlvbWFwX2NmZ19yZWcoUjlfVVNCMF9WTSk7DQotCQlVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUcg fD0gQ09ORl9VU0IyX1VOSV9SOw0KKwkJaWYgKGNwdV9pc19vbWFwMjR4eCgpKSB7DQorCQkJb21h cF9jZmdfcmVnKEoxOV8yNFhYX1VTQjBfVlApOw0KKwkJCW9tYXBfY2ZnX3JlZyhLMjBfMjRYWF9V U0IwX1ZNKTsNCisJCQlDT05UUk9MX0RFVkNPTkZfUkVHIHw9IFVTQlQwV1JNT0RFSShVTklESVIp Ow0KKwkJfSBlbHNlIHsNCisJCQlvbWFwX2NmZ19yZWcoQUE5X1VTQjBfVlApOw0KKwkJCW9tYXBf Y2ZnX3JlZyhSOV9VU0IwX1ZNKTsNCisJCQlVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUcgfD0gQ09O Rl9VU0IyX1VOSV9SOw0KKwkJfQ0KIAkJYnJlYWs7DQogCWRlZmF1bHQ6DQogCQlwcmludGsoS0VS Tl9FUlIgImlsbGVnYWwgdXNiJWQgJWQtd2lyZSB0cmFuc2NlaXZlclxuIiwNCkBAIC0xNzEsNiAr MjE2LDkgQEAgc3RhdGljIHUzMiBfX2luaXQgb21hcF91c2IxX2luaXQodW5zaWduZQ0KIHsNCiAJ dTMyCXN5c2NvbjEgPSAwOw0KIA0KKwlpZiAoY3B1X2lzX29tYXAyNHh4KCkpDQorCQlyZXR1cm4g MDsNCisNCiAJaWYgKG53aXJlcyAhPSA2ICYmICFjcHVfaXNfb21hcDE1eHgoKSkNCiAJCVVTQl9U UkFOU0NFSVZFUl9DVFJMX1JFRyAmPSB+Q09ORl9VU0IxX1VOSV9SOw0KIAlpZiAobndpcmVzID09 IDApDQpAQCAtMjIxLDYgKzI2OSw5IEBAIHN0YXRpYyB1MzIgX19pbml0IG9tYXBfdXNiMl9pbml0 KHVuc2lnbmUNCiB7DQogCXUzMglzeXNjb24xID0gMDsNCiANCisJaWYgKGNwdV9pc19vbWFwMjR4 eCgpKQ0KKwkJcmV0dXJuIDA7DQorDQogCS8qIE5PVEUgZXJyYXR1bTogbXVzdCBsZWF2ZSBVU0Iy X1VOSV9SIHNldCBpZiB1c2IwIGluIHVzZSAqLw0KIAlpZiAoYWx0X3Bpbmdyb3VwIHx8IG53aXJl cyA9PSAwKQ0KIAkJcmV0dXJuIDA7DQpAQCAtMjk0LDEzICszNDUsMTMgQEAgc3RhdGljIHN0cnVj dCByZXNvdXJjZSB1ZGNfcmVzb3VyY2VzW10gPQ0KIAkJLmVuZAkJPSBVRENfQkFTRSArIDB4ZmYs DQogCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sDQogCX0sIHsJCS8qIGdlbmVyYWwgSVJRICov DQotCQkuc3RhcnQJCT0gSUgyX0JBU0UgKyAyMCwNCisJCS5zdGFydAkJPSBJTlRfVVNCX0lSUV9H RU4sDQogCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9JUlEsDQogCX0sIHsJCS8qIFBJTyBJUlEgKi8N Ci0JCS5zdGFydAkJPSBJSDJfQkFTRSArIDMwLA0KKwkJLnN0YXJ0CQk9IElOVF9VU0JfSVJRX05J U08sDQogCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9JUlEsDQogCX0sIHsJCS8qIFNPRiBJUlEgKi8N Ci0JCS5zdGFydAkJPSBJSDJfQkFTRSArIDI5LA0KKwkJLnN0YXJ0CQk9IElOVF9VU0JfSVJRX0lT TywNCiAJCS5mbGFncwkJPSBJT1JFU09VUkNFX0lSUSwNCiAJfSwNCiB9Ow0KQEAgLTMzMyw3ICsz ODQsNyBAQCBzdGF0aWMgc3RydWN0IHJlc291cmNlIG9oY2lfcmVzb3VyY2VzW10gDQogCQkuZmxh Z3MJPSBJT1JFU09VUkNFX01FTSwNCiAJfSwNCiAJew0KLQkJLnN0YXJ0CT0gSU5UX1VTQl9ISENf MSwNCisJCS5zdGFydAk9IElOVF9VU0JfSVJRX0hHRU4sDQogCQkuZmxhZ3MJPSBJT1JFU09VUkNF X0lSUSwNCiAJfSwNCiB9Ow0KQEAgLTM2MSw3ICs0MTIsNyBAQCBzdGF0aWMgc3RydWN0IHJlc291 cmNlIG90Z19yZXNvdXJjZXNbXSA9DQogCQkuZW5kCQk9IE9UR19CQVNFICsgMHhmZiwNCiAJCS5m bGFncwkJPSBJT1JFU09VUkNFX01FTSwNCiAJfSwgew0KLQkJLnN0YXJ0CQk9IElIMl9CQVNFICsg OCwNCisJCS5zdGFydAkJPSBJTlRfVVNCX0lSUV9PVEcsDQogCQkuZmxhZ3MJCT0gSU9SRVNPVVJD RV9JUlEsDQogCX0sDQogfTsNCkBAIC00MjYsMTIgKzQ3NywxMyBAQCBvbWFwX290Z19pbml0KHN0 cnVjdCBvbWFwX3VzYl9jb25maWcgKmNvDQogCWlmIChjb25maWctPm90ZykNCiAJCXN5c2NvbiB8 PSBPVEdfRU47DQogI2VuZGlmDQotCXByX2RlYnVnKCJVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUcg PSAlMDN4XG4iLCBVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUcpOw0KKwlpZiAoY3B1X2NsYXNzX2lz X29tYXAxKCkpDQorCQlwcl9kZWJ1ZygiVVNCX1RSQU5TQ0VJVkVSX0NUUkxfUkVHID0gJTAzeFxu IiwgVVNCX1RSQU5TQ0VJVkVSX0NUUkxfUkVHKTsNCiAJcHJfZGVidWcoIk9UR19TWVNDT05fMl9S RUcgPSAlMDh4XG4iLCBzeXNjb24pOw0KIAlPVEdfU1lTQ09OXzJfUkVHID0gc3lzY29uOw0KIA0K IAlwcmludGsoIlVTQjogaG1jICVkIiwgY29uZmlnLT5obWNfbW9kZSk7DQotCWlmIChhbHRfcGlu Z3JvdXApDQorCWlmICghYWx0X3Bpbmdyb3VwKQ0KIAkJcHJpbnRrKCIsIHVzYjIgYWx0ICVkIHdp cmVzIiwgY29uZmlnLT5waW5zWzJdKTsNCiAJZWxzZSBpZiAoY29uZmlnLT5waW5zWzBdKQ0KIAkJ cHJpbnRrKCIsIHVzYjAgJWQgd2lyZXMlcyIsIGNvbmZpZy0+cGluc1swXSwNCkBAIC00NDQsMTAg KzQ5NiwxMiBAQCBvbWFwX290Z19pbml0KHN0cnVjdCBvbWFwX3VzYl9jb25maWcgKmNvDQogCQlw cmludGsoIiwgTWluaS1BQiBvbiB1c2IlZCIsIGNvbmZpZy0+b3RnIC0gMSk7DQogCXByaW50aygi XG4iKTsNCiANCi0JLyogbGVhdmUgVVNCIGNsb2Nrcy9jb250cm9sbGVycyBvZmYgdW50aWwgbmVl ZGVkICovDQotCVVMUERfU09GVF9SRVFfUkVHICY9IH5TT0ZUX1VTQl9DTEtfUkVROw0KLQlVTFBE X0NMT0NLX0NUUkxfUkVHICY9IH5VU0JfTUNMS19FTjsNCi0JVUxQRF9DTE9DS19DVFJMX1JFRyB8 PSBESVNfVVNCX1BWQ0lfQ0xLOw0KKwlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkpIHsNCisJCS8q IGxlYXZlIFVTQiBjbG9ja3MvY29udHJvbGxlcnMgb2ZmIHVudGlsIG5lZWRlZCAqLw0KKwkJVUxQ RF9TT0ZUX1JFUV9SRUcgJj0gflNPRlRfVVNCX0NMS19SRVE7DQorCQlVTFBEX0NMT0NLX0NUUkxf UkVHICY9IH5VU0JfTUNMS19FTjsNCisJCVVMUERfQ0xPQ0tfQ1RSTF9SRUcgfD0gRElTX1VTQl9Q VkNJX0NMSzsNCisJfQ0KIAlzeXNjb24gPSBPVEdfU1lTQ09OXzFfUkVHOw0KIAlzeXNjb24gfD0g SFNUX0lETEVfRU58REVWX0lETEVfRU58T1RHX0lETEVfRU47DQogDQpAQCAtNTg1LDcgKzYzOSw3 IEBAIG9tYXBfdXNiX2luaXQodm9pZCkNCiAJfQ0KIAlwbGF0Zm9ybV9kYXRhID0gKmNvbmZpZzsN CiANCi0JaWYgKGNwdV9pc19vbWFwNzMwKCkgfHwgY3B1X2lzX29tYXAxNnh4KCkpDQorCWlmIChj cHVfaXNfb21hcDczMCgpIHx8IGNwdV9pc19vbWFwMTZ4eCgpIHx8IGNwdV9pc19vbWFwMjR4eCgp KQ0KIAkJb21hcF9vdGdfaW5pdCgmcGxhdGZvcm1fZGF0YSk7DQogCWVsc2UgaWYgKGNwdV9pc19v bWFwMTV4eCgpKQ0KIAkJb21hcF8xNTEwX3VzYl9pbml0KCZwbGF0Zm9ybV9kYXRhKTsNCmRpZmYg LXVwciAtLWV4Y2x1ZGUgJy4qJyAtLWV4Y2x1ZGUgJyoubycgbGludXgtb21hcC0yLjYtYmFzZS9k cml2ZXJzL3VzYi9nYWRnZXQvS2NvbmZpZyBsaW51eC1vbWFwLTIuNi9kcml2ZXJzL3VzYi9nYWRn ZXQvS2NvbmZpZw0KLS0tIGxpbnV4LW9tYXAtMi42LWJhc2UvZHJpdmVycy91c2IvZ2FkZ2V0L0tj b25maWcJMjAwNi0wOC0yNCAxNzo1MzoxNS45ODQzNzUwMDAgKzA5MDANCisrKyBsaW51eC1vbWFw LTIuNi9kcml2ZXJzL3VzYi9nYWRnZXQvS2NvbmZpZwkyMDA2LTA4LTI0IDE5OjU4OjA2LjU5Mzc1 MDAwMCArMDkwMA0KQEAgLTE1Nyw3ICsxNTcsNyBAQCBjb25maWcgVVNCX0xIN0E0MFgNCiANCiBj b25maWcgVVNCX0dBREdFVF9PTUFQDQogCWJvb2xlYW4gIk9NQVAgVVNCIERldmljZSBDb250cm9s bGVyIg0KLQlkZXBlbmRzIG9uIEFSQ0hfT01BUDENCisJZGVwZW5kcyBvbiBBUkNIX09NQVANCiAJ c2VsZWN0IElTUDEzMDFfT01BUCBpZiBNQUNIX09NQVBfSDIgfHwgTUFDSF9PTUFQX0gzDQogCWhl bHANCiAJICAgTWFueSBUZXhhcyBJbnN0cnVtZW50cyBPTUFQIHByb2Nlc3NvcnMgaGF2ZSBmbGV4 aWJsZSBmdWxsDQpkaWZmIC11cHIgLS1leGNsdWRlICcuKicgLS1leGNsdWRlICcqLm8nIGxpbnV4 LW9tYXAtMi42LWJhc2UvZHJpdmVycy91c2IvZ2FkZ2V0L29tYXBfdWRjLmMgbGludXgtb21hcC0y LjYvZHJpdmVycy91c2IvZ2FkZ2V0L29tYXBfdWRjLmMNCi0tLSBsaW51eC1vbWFwLTIuNi1iYXNl L2RyaXZlcnMvdXNiL2dhZGdldC9vbWFwX3VkYy5jCTIwMDYtMDgtMjQgMTc6NTM6MTYuMDAwMDAw MDAwICswOTAwDQorKysgbGludXgtb21hcC0yLjYvZHJpdmVycy91c2IvZ2FkZ2V0L29tYXBfdWRj LmMJMjAwNi0wOC0yNCAyMDowNjo0Mi43MDMxMjUwMDAgKzA5MDANCkBAIC02MSw2ICs2MSwxMSBA QA0KIC8qIGJ1bGsgRE1BIHNlZW1zIHRvIGJlIGJlaGF2aW5nIGZvciBib3RoIElOIGFuZCBPVVQg Ki8NCiAjZGVmaW5lCVVTRV9ETUENCiANCisvKiBGSVhNRTogTm93IE9NQVAyIGhhcyBzb21lIHBy b2JsZW0gaW4gRE1BIG1vZGUgKi8NCisjaWZkZWYgQ09ORklHX0FSQ0hfT01BUDINCisjdW5kZWYg VVNCX0RNQQ0KKyNlbmRpZg0KKw0KIC8qIElTTyB0b28gKi8NCiAjZGVmaW5lCVVTRV9JU08NCiAN CkBAIC0yMDY5LDYgKzIwNzQsMTMgQEAgb21hcF91ZGNfaXNvX2lycShpbnQgaXJxLCB2b2lkICpf ZGV2LCBzdA0KIA0KIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQogDQorc3RhdGljIGlubGluZSBpbnQg bWFjaGluZV9uZWVkc192YnVzX3Nlc3Npb24odm9pZCkNCit7DQorCXJldHVybiAobWFjaGluZV9p c19vbWFwX2lubm92YXRvcigpDQorCQl8fCBtYWNoaW5lX2lzX29tYXBfb3NrKCkNCisJCXx8IG1h Y2hpbmVfaXNfb21hcF9hcG9sbG9uKCkNCisJCSk7DQorfQ0KIA0KIGludCB1c2JfZ2FkZ2V0X3Jl Z2lzdGVyX2RyaXZlciAoc3RydWN0IHVzYl9nYWRnZXRfZHJpdmVyICpkcml2ZXIpDQogew0KQEAg LTIxNDUsNyArMjE1Nyw3IEBAIGludCB1c2JfZ2FkZ2V0X3JlZ2lzdGVyX2RyaXZlciAoc3RydWN0 IHUNCiAJLyogYm9hcmRzIHRoYXQgZG9uJ3QgaGF2ZSBWQlVTIHNlbnNpbmcgY2FuJ3QgYXV0b2dh dGUgNDhNSHo7DQogCSAqIGNhbid0IGVudGVyIGRlZXAgc2xlZXAgd2hpbGUgYSBnYWRnZXQgZHJp dmVyIGlzIGFjdGl2ZS4NCiAJICovDQotCWlmIChtYWNoaW5lX2lzX29tYXBfaW5ub3ZhdG9yKCkg fHwgbWFjaGluZV9pc19vbWFwX29zaygpKQ0KKwlpZiAobWFjaGluZV9uZWVkc192YnVzX3Nlc3Np b24oKSkNCiAJCW9tYXBfdmJ1c19zZXNzaW9uKCZ1ZGMtPmdhZGdldCwgMSk7DQogDQogZG9uZToN CkBAIC0yMTY4LDcgKzIxODAsNyBAQCBpbnQgdXNiX2dhZGdldF91bnJlZ2lzdGVyX2RyaXZlciAo c3RydWN0DQogCWlmICh1ZGMtPmRjX2NsayAhPSBOVUxMKQ0KIAkJb21hcF91ZGNfZW5hYmxlX2Ns b2NrKDEpOw0KIA0KLQlpZiAobWFjaGluZV9pc19vbWFwX2lubm92YXRvcigpIHx8IG1hY2hpbmVf aXNfb21hcF9vc2soKSkNCisJaWYgKG1hY2hpbmVfbmVlZHNfdmJ1c19zZXNzaW9uKCkpDQogCQlv bWFwX3ZidXNfc2Vzc2lvbigmdWRjLT5nYWRnZXQsIDApOw0KIA0KIAlpZiAodWRjLT50cmFuc2Nl aXZlcikNCkBAIC0yMjc3LDExICsyMjg5LDE4IEBAIHN0YXRpYyBpbnQgcHJvY19vdGdfc2hvdyhz dHJ1Y3Qgc2VxX2ZpbGUNCiB7DQogCXUzMgkJdG1wOw0KIAl1MzIJCXRyYW5zOw0KKwljaGFyCQkq Y3RybF9uYW1lOw0KIA0KIAl0bXAgPSBPVEdfUkVWX1JFRzsNCi0JdHJhbnMgPSBVU0JfVFJBTlND RUlWRVJfQ1RSTF9SRUc7DQotCXNlcV9wcmludGYocywgIlxuT1RHIHJldiAlZC4lZCwgdHJhbnNj ZWl2ZXJfY3RybCAlMDV4XG4iLA0KLQkJdG1wID4+IDQsIHRtcCAmIDB4ZiwgdHJhbnMpOw0KKwlp ZiAoY3B1X2lzX29tYXAyNHh4KCkpIHsNCisJCWN0cmxfbmFtZSA9ICJjb250cm9sX2RldmNvbmYi Ow0KKwkJdHJhbnMgPSBDT05UUk9MX0RFVkNPTkZfUkVHOw0KKwl9IGVsc2Ugew0KKwkJY3RybF9u YW1lID0gInRyYW5jZWl2ZXJfY3RybCI7DQorCQl0cmFucyA9IFVTQl9UUkFOU0NFSVZFUl9DVFJM X1JFRzsNCisJfQ0KKwlzZXFfcHJpbnRmKHMsICJcbk9URyByZXYgJWQuJWQsICVzICUwNXhcbiIs DQorCQl0bXAgPj4gNCwgdG1wICYgMHhmLCBjdHJsX25hbWUsIHRyYW5zKTsNCiAJdG1wID0gT1RH X1NZU0NPTl8xX1JFRzsNCiAJc2VxX3ByaW50ZihzLCAib3RnX3N5c2NvbjEgJTA4eCB1c2IyICVz LCB1c2IxICVzLCB1c2IwICVzLCINCiAJCQlGT1VSQklUUyAiXG4iLCB0bXAsDQpAQCAtMjM2NSwx MCArMjM4NCwxMiBAQCBzdGF0aWMgaW50IHByb2NfdWRjX3Nob3coc3RydWN0IHNlcV9maWxlDQog CQl1ZGMtPmRyaXZlciA/IHVkYy0+ZHJpdmVyLT5kcml2ZXIubmFtZSA6ICIobm9uZSkiLA0KIAkJ SE1DLA0KIAkJdWRjLT50cmFuc2NlaXZlciA/IHVkYy0+dHJhbnNjZWl2ZXItPmxhYmVsIDogIihu b25lKSIpOw0KLQlzZXFfcHJpbnRmKHMsICJVTFBEIGNvbnRyb2wgJTA0eCByZXEgJTA0eCBzdGF0 dXMgJTA0eFxuIiwNCi0JCV9fUkVHMTYoVUxQRF9DTE9DS19DVFJMKSwNCi0JCV9fUkVHMTYoVUxQ RF9TT0ZUX1JFUSksDQotCQlfX1JFRzE2KFVMUERfU1RBVFVTX1JFUSkpOw0KKwlpZiAoY3B1X2Ns YXNzX2lzX29tYXAxKCkpIHsNCisJCXNlcV9wcmludGYocywgIlVMUEQgY29udHJvbCAlMDR4IHJl cSAlMDR4IHN0YXR1cyAlMDR4XG4iLA0KKwkJCV9fUkVHMTYoVUxQRF9DTE9DS19DVFJMKSwNCisJ CQlfX1JFRzE2KFVMUERfU09GVF9SRVEpLA0KKwkJCV9fUkVHMTYoVUxQRF9TVEFUVVNfUkVRKSk7 DQorCX0NCiANCiAJLyogT1RHIGNvbnRyb2xsZXIgcmVnaXN0ZXJzICovDQogCWlmICghY3B1X2lz X29tYXAxNXh4KCkpDQpAQCAtMjc3OSw2ICsyODAwLDE2IEBAIHN0YXRpYyBpbnQgX19pbml0IG9t YXBfdWRjX3Byb2JlKHN0cnVjdCANCiAJCXVkZWxheSgxMDApOw0KIAl9DQogDQorCWlmIChjcHVf aXNfb21hcDI0eHgoKSkgew0KKwkJZGNfY2xrID0gY2xrX2dldCgmcGRldi0+ZGV2LCAidXNiX2Zj ayIpOw0KKwkJaGhjX2NsayA9IGNsa19nZXQoJnBkZXYtPmRldiwgInVzYl9sNF9pY2siKTsNCisJ CUJVR19PTihJU19FUlIoZGNfY2xrKSB8fCBJU19FUlIoaGhjX2NsaykpOw0KKwkJLyogY2FuJ3Qg dXNlIG9tYXBfdWRjX2VuYWJsZV9jbG9jayB5ZXQgKi8NCisJCWNsa19lbmFibGUoZGNfY2xrKTsN CisJCWNsa19lbmFibGUoaGhjX2Nsayk7DQorCQl1ZGVsYXkoMTAwKTsNCisJfQ0KKw0KIAlJTkZP KCJPTUFQIFVEQyByZXYgJWQuJWQlc1xuIiwNCiAJCVVEQ19SRVZfUkVHID4+IDQsIFVEQ19SRVZf UkVHICYgMHhmLA0KIAkJY29uZmlnLT5vdGcgPyAiLCBNaW5pLUFCIiA6ICIiKTsNCkBAIC0yOTA4 LDYgKzI5MzksMTYgQEAgYmFkX29uXzE3MTA6DQogCQljbGtfZGlzYWJsZShkY19jbGspOw0KIAl9 DQogDQorCWlmIChjcHVfaXNfb21hcDI0eHgoKSkgew0KKwkJdWRjLT5kY19jbGsgPSBkY19jbGs7 DQorCQl1ZGMtPmhoY19jbGsgPSBoaGNfY2xrOw0KKwkJLyogRklYTUUgT01BUDIgZG9uJ3QgcmVs ZWFzZSBoaGMgJiBkYyBjbG9jayAqLw0KKyNpZiAwDQorCQljbGtfZGlzYWJsZShoaGNfY2xrKTsN CisJCWNsa19kaXNhYmxlKGRjX2Nsayk7DQorI2VuZGlmDQorCX0NCisNCiAJY3JlYXRlX3Byb2Nf ZmlsZSgpOw0KIAlkZXZpY2VfYWRkKCZ1ZGMtPmdhZGdldC5kZXYpOw0KIAlyZXR1cm4gMDsNCkBA IC0yOTI4LDcgKzI5NjksNyBAQCBjbGVhbnVwMDoNCiAJaWYgKHhjZWl2KQ0KIAkJcHV0X2Rldmlj ZSh4Y2Vpdi0+ZGV2KTsNCiANCi0gCWlmIChjcHVfaXNfb21hcDE2eHgoKSkgew0KKyAJaWYgKGNw dV9pc19vbWFwMTZ4eCgpIHx8IGNwdV9pc19vbWFwMjR4eCgpKSB7DQogIAkJY2xrX2Rpc2FibGUo aGhjX2Nsayk7DQogIAkJY2xrX2Rpc2FibGUoZGNfY2xrKTsNCiAgCQljbGtfcHV0KGhoY19jbGsp Ow0KZGlmZiAtdXByIC0tZXhjbHVkZSAnLionIC0tZXhjbHVkZSAnKi5vJyBsaW51eC1vbWFwLTIu Ni1iYXNlL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvaXJxcy5oIGxpbnV4LW9tYXAtMi42L2lu Y2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvaXJxcy5oDQotLS0gbGludXgtb21hcC0yLjYtYmFzZS9p bmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2lycXMuaAkyMDA2LTA4LTI0IDE3OjUzOjE2LjE4NzUw MDAwMCArMDkwMA0KKysrIGxpbnV4LW9tYXAtMi42L2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAv aXJxcy5oCTIwMDYtMDgtMjQgMjA6MDg6MDEuNDY4NzUwMDAwICswOTAwDQpAQCAtMjYyLDYgKzI2 MiwxMiBAQA0KICNkZWZpbmUgSU5UXzI0WFhfVUFSVDFfSVJRCTcyDQogI2RlZmluZSBJTlRfMjRY WF9VQVJUMl9JUlEJNzMNCiAjZGVmaW5lIElOVF8yNFhYX1VBUlQzX0lSUQk3NA0KKyNkZWZpbmUg SU5UXzI0WFhfVVNCX0lSUV9HRU4JNzUNCisjZGVmaW5lIElOVF8yNFhYX1VTQl9JUlFfTklTTwk3 Ng0KKyNkZWZpbmUgSU5UXzI0WFhfVVNCX0lSUV9JU08JNzcNCisjZGVmaW5lIElOVF8yNFhYX1VT Ql9JUlFfSEdFTgk3OA0KKyNkZWZpbmUgSU5UXzI0WFhfVVNCX0lSUV9IU09GCTc5DQorI2RlZmlu ZSBJTlRfMjRYWF9VU0JfSVJRX09URwk4MA0KICNkZWZpbmUgSU5UXzI0WFhfTU1DX0lSUQk4Mw0K IA0KIC8qIE1heC4gMTI4IGxldmVsIDIgSVJRcyAoT01BUDE2MTApLCAxOTIgR1BJT3MgKE9NQVA3 MzApIGFuZA0KZGlmZiAtdXByIC0tZXhjbHVkZSAnLionIC0tZXhjbHVkZSAnKi5vJyBsaW51eC1v bWFwLTIuNi1iYXNlL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvbXV4LmggbGludXgtb21hcC0y LjYvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9tdXguaA0KLS0tIGxpbnV4LW9tYXAtMi42LWJh c2UvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9tdXguaAkyMDA2LTA4LTI0IDE3OjUzOjE2LjIw MzEyNTAwMCArMDkwMA0KKysrIGxpbnV4LW9tYXAtMi42L2luY2x1ZGUvYXNtLWFybS9hcmNoLW9t YXAvbXV4LmgJMjAwNi0wOC0yNCAyMDowOToyNy43ODEyNTAwMDAgKzA5MDANCkBAIC00MzUsNiAr NDM1LDcgQEAgZW51bSBvbWFwMjR4eF9pbmRleCB7DQogDQogCS8qIDI0eHggR1BJTyAqLw0KIAlN MjFfMjQyWF9HUElPMTEsDQorCVAyMV8yNDJYX0dQSU8xMiwNCiAJQUExMF8yNDJYX0dQSU8xMywN CiAJQUE2XzI0MlhfR1BJTzE0LA0KIAlBQTRfMjQyWF9HUElPMTUsDQpAQCAtNDg2LDYgKzQ4Nywx NSBAQCBlbnVtIG9tYXAyNHh4X2luZGV4IHsNCiAJRzE4XzI0WFhfTU1DX0NNRF9ESVIsDQogCUgx NV8yNFhYX01NQ19DTEtJLA0KIA0KKwkvKiBVU0IgKi8NCisJSjIwXzI0WFhfVVNCMF9QVUVOLA0K KwlKMTlfMjRYWF9VU0IwX1ZQLA0KKwlLMjBfMjRYWF9VU0IwX1ZNLA0KKwlKMThfMjRYWF9VU0Iw X1JDViwNCisJSzE5XzI0WFhfVVNCMF9UWEVOLA0KKwlKMTRfMjRYWF9VU0IwX1NFMCwNCisJSzE4 XzI0WFhfVVNCMF9EQVQsDQorDQogCS8qIEtleXBhZCBHUElPKi8NCiAJVDE5XzI0WFhfS0JSMCwN CiAJUjE5XzI0WFhfS0JSMSwNCmRpZmYgLXVwciAtLWV4Y2x1ZGUgJy4qJyAtLWV4Y2x1ZGUgJyou bycgbGludXgtb21hcC0yLjYtYmFzZS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL3VzYi5oIGxp bnV4LW9tYXAtMi42L2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvdXNiLmgNCi0tLSBsaW51eC1v bWFwLTIuNi1iYXNlL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvdXNiLmgJMjAwNi0wNi0xOCAx MDo0OTozNS4wMDAwMDAwMDAgKzA5MDANCisrKyBsaW51eC1vbWFwLTIuNi9pbmNsdWRlL2FzbS1h cm0vYXJjaC1vbWFwL3VzYi5oCTIwMDYtMDgtMjQgMjA6MTc6MTYuMjE4NzUwMDAwICswOTAwDQpA QCAtNyw5ICs3LDI3IEBADQogDQogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCiANCi0jZGVmaW5lIE9U R19CQVNFCQkJMHhmZmZiMDQwMA0KLSNkZWZpbmUgVURDX0JBU0UJCQkweGZmZmI0MDAwDQotI2Rl ZmluZSBPTUFQX09IQ0lfQkFTRQkJCTB4ZmZmYmEwMDANCisjZGVmaW5lIE9NQVAxX09UR19CQVNF CQkJMHhmZmZiMDQwMA0KKyNkZWZpbmUgT01BUDFfVURDX0JBU0UJCQkweGZmZmI0MDAwDQorI2Rl ZmluZSBPTUFQMV9PSENJX0JBU0UJCQkweGZmZmJhMDAwDQorDQorI2RlZmluZSBPTUFQMl9PSENJ X0JBU0UJCQkweDQ4MDVlMDAwDQorI2RlZmluZSBPTUFQMl9VRENfQkFTRQkJCTB4NDgwNWUyMDAN CisjZGVmaW5lIE9NQVAyX09UR19CQVNFCQkJMHg0ODA1ZTMwMA0KKw0KKyNpZmRlZiBDT05GSUdf QVJDSF9PTUFQMQ0KKw0KKyNkZWZpbmUgT1RHX0JBU0UJCQlPTUFQMV9PVEdfQkFTRQ0KKyNkZWZp bmUgVURDX0JBU0UJCQlPTUFQMV9VRENfQkFTRQ0KKyNkZWZpbmUgT01BUF9PSENJX0JBU0UJCQlP TUFQMV9PSENJX0JBU0UNCisNCisjZWxzZQ0KKw0KKyNkZWZpbmUgT1RHX0JBU0UJCQlPTUFQMl9P VEdfQkFTRQ0KKyNkZWZpbmUgVURDX0JBU0UJCQlPTUFQMl9VRENfQkFTRQ0KKyNkZWZpbmUgT01B UF9PSENJX0JBU0UJCQlPTUFQMl9PSENJX0JBU0UNCisNCisjZW5kaWYNCiANCiAvKi0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0qLw0KIA0KQEAgLTEwMyw2ICsxMjEsNyBAQA0KIA0KIC8qLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSovDQogDQorLyogT01BUDEgKi8NCiAjZGVmaW5lCVVTQl9UUkFOU0NFSVZFUl9DVFJMX1JFRwlf X1JFRzMyKDB4ZmZmZTEwMDAgKyAweDAwNjQpDQogIwlkZWZpbmUJQ09ORl9VU0IyX1VOSV9SCQko MSA8PCA4KQ0KICMJZGVmaW5lCUNPTkZfVVNCMV9VTklfUgkJKDEgPDwgNykNCkBAIC0xMTEsNyAr MTMwLDE1IEBADQogIwlkZWZpbmUJQ09ORl9VU0JfUFdSRE5fRE1fUgkoMSA8PCAyKQ0KICMJZGVm aW5lCUNPTkZfVVNCX1BXUkROX0RQX1IJKDEgPDwgMSkNCiANCi0NCi0NCisvKiBPTUFQMiAqLw0K KyNkZWZpbmUJQ09OVFJPTF9ERVZDT05GX1JFRwkJX19SRUczMigweDQ4MDAwMDAwICsgMHgwMjc0 KQ0KKyMJZGVmaW5lCVVOSURJUgkJCTB4MA0KKyMJZGVmaW5lCVVOSURJUl9UVEwJCTB4MQ0KKyMJ ZGVmaW5lCUJJRElSCQkJMHgyDQorIwlkZWZpbmUJQklESVJfVFRMCQkweDMNCisjCWRlZmluZQlV U0JUMFdSTU9ERUkoeCkJCSgoeCkgPDwgMjIpDQorIwlkZWZpbmUJVVNCVDFXUk1PREVJKHgpCQko KHgpIDw8IDIwKQ0KKyMJZGVmaW5lCVVTQlQyV1JNT0RFSSh4KQkJKCh4KSA8PCAxOCkNCisjCWRl ZmluZQlVU0IwUFVFTkFDVExPSQkJKDEgPDwgMTYpDQogDQogI2VuZGlmCS8qIF9fQVNNX0FSQ0hf T01BUF9VU0JfSCAqLw0KDQoNCg0K --===============0367402616== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --===============0367402616==--