ZGlmZiAtLWdpdCBhL2RvY3MveG1sL25naW54L2NoYW5nZXMueG1sIGIvZG9jcy94bWwvbmdpbngvY2hhbmdlcy54bWwKaW5kZXggOGVmNjRjOS4uNzJlYjg3OSAxMDA2NDQKLS0tIGEvZG9jcy94bWwvbmdpbngvY2hhbmdlcy54bWwKKysrIGIvZG9jcy94bWwvbmdpbngvY2hhbmdlcy54bWwKQEAgLTksNiArOSwzOCBAQAogPHRpdGxlIGxhbmc9ImVuIj5uZ2lueCBjaGFuZ2Vsb2c8L3RpdGxlPgogCiAKKzxjaGFuZ2VzIHZlcj0iMC4zLjIzIiBkYXRlPSIyNC4wMS4yMDA2Ij4KKworPGNoYW5nZSB0eXBlPSJmZWF0dXJlIj4KKzxwYXJhIGxhbmc9InJ1Ij4KK8TJ0sXL1MnXwSBvcHRpbWl6ZV9ob3N0X25hbWVzLgorPC9wYXJhPgorPHBhcmEgbGFuZz0iZW4iPgordGhlICJvcHRpbWl6ZV9ob3N0X25hbWVzIiBkaXJlY3RpdmUuCis8L3BhcmE+Cis8L2NoYW5nZT4KKworPGNoYW5nZSB0eXBlPSJidWdmaXgiPgorPHBhcmEgbGFuZz0icnUiPgorz9vJwsvJINDSySDJ09DPzNjaz9fBzsnJINDF0sXNxc7O2cgg1yDEydLFy9TJ18HIIHBhdGggySBhbGlhcy4KKzwvcGFyYT4KKzxwYXJhIGxhbmc9ImVuIj4KK2luIHVzaW5nIG9mIHRoZSB2YXJpYWJsZXMgaW4gdGhlICJwYXRoIiBhbmQgImFsaWFzIiBkaXJlY3RpdmVzLgorPC9wYXJhPgorPC9jaGFuZ2U+CisKKzxjaGFuZ2UgdHlwZT0iYnVnZml4Ij4KKzxwYXJhIGxhbmc9InJ1Ij4KK83PxNXM2CBuZ3hfaHR0cF9wZXJsX21vZHVsZSDOxdDSwdfJzNjOzyDTz8LJ0sHM09EgzsEgTGludXggySBTb2xhcmlzLgorPC9wYXJhPgorPHBhcmEgbGFuZz0iZW4iPgordGhlIG5neF9odHRwX3BlcmxfbW9kdWxlIHdhcyBpbmNvcnJlY3RseSBidWlsdCBvbiBMaW51eCBhbmQgU29sYXJpcy4KKzwvcGFyYT4KKzwvY2hhbmdlPgorCis8L2NoYW5nZXM+CisKKwogPGNoYW5nZXMgdmVyPSIwLjMuMjIiIGRhdGU9IjE3LjAxLjIwMDYiPgogCiA8Y2hhbmdlIHR5cGU9ImZlYXR1cmUiPgpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvbmdpbnguaCBiL3NyYy9jb3JlL25naW54LmgKaW5kZXggYTJjNjk2Zi4uMDkxMmFjNSAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvbmdpbnguaAorKysgYi9zcmMvY29yZS9uZ2lueC5oCkBAIC04LDcgKzgsNyBAQAogI2RlZmluZSBfTkdJTlhfSF9JTkNMVURFRF8KIAogCi0jZGVmaW5lIE5HSU5YX1ZFUiAgICAgICAgICAibmdpbngvMC4zLjIyIgorI2RlZmluZSBOR0lOWF9WRVIgICAgICAgICAgIm5naW54LzAuMy4yMyIKIAogI2RlZmluZSBOR0lOWF9WQVIgICAgICAgICAgIk5HSU5YIgogI2RlZmluZSBOR1hfT0xEUElEX0VYVCAgICAgIi5vbGRiaW4iCmRpZmYgLS1naXQgYS9zcmMvaHR0cC9tb2R1bGVzL25neF9odHRwX3JlZmVyZXJfbW9kdWxlLmMgYi9zcmMvaHR0cC9tb2R1bGVzL25neF9odHRwX3JlZmVyZXJfbW9kdWxlLmMKaW5kZXggNDU5OTg0ZS4uMTdhMzQyNyAxMDA2NDQKLS0tIGEvc3JjL2h0dHAvbW9kdWxlcy9uZ3hfaHR0cF9yZWZlcmVyX21vZHVsZS5jCisrKyBiL3NyYy9odHRwL21vZHVsZXMvbmd4X2h0dHBfcmVmZXJlcl9tb2R1bGUuYwpAQCAtMjE2LDYgKzIxNiwxNiBAQAogICAgICAgICByZXR1cm4gTkdYX0NPTkZfT0s7CiAgICAgfQogCisgICAgaWYgKChjb25mLT5ub19yZWZlcmVyID09IDEgfHwgY29uZi0+YmxvY2tlZF9yZWZlcmVyID09IDEpCisgICAgICAgICYmIGNvbmYtPmtleXMtPmtleXMubmVsdHMgPT0gMCAmJiBjb25mLT5rZXlzLT5kbnNfd2lsZGNhcmRzLm5lbHRzKQorICAgIHsKKyAgICAgICAgbmd4X2xvZ19lcnJvcihOR1hfTE9HX0VNRVJHLCBjZi0+bG9nLCAwLAorICAgICAgICAgICAgICAgICAgICAgICJ0aGUgXCJub25lXCIgb3IgXCJibG9ja2VkXCIgcmVmZXJlcnMgYXJlIHNwZWNpZmllZCAiCisgICAgICAgICAgICAgICAgICAgICAgImluIHRoZSBcInZhbGlkX3JlZmVyZXJzXCIgZGlyZWN0aXZlICIKKyAgICAgICAgICAgICAgICAgICAgICAid2l0aG91dCBhbnkgdmFsaWQgcmVmZXJlciIpOworICAgICAgICByZXR1cm4gTkdYX0NPTkZfRVJST1I7CisgICAgfQorCiAgICAgaGFzaC5rZXkgPSBuZ3hfaGFzaF9rZXlfbGM7CiAgICAgaGFzaC5tYXhfc2l6ZSA9IDIwNDg7IC8qIFRPRE86IHJlZmVyZXJfaGFzaF9tYXhfc2l6ZTsgKi8KICAgICBoYXNoLmJ1Y2tldF9zaXplID0gNjQ7IC8qIFRPRE86IHJlZmVyZXJfaGFzaF9idWNrZXRfc2l6ZTsgKi8KZGlmZiAtLWdpdCBhL3NyYy9odHRwL21vZHVsZXMvbmd4X2h0dHBfc3RhdGljX21vZHVsZS5jIGIvc3JjL2h0dHAvbW9kdWxlcy9uZ3hfaHR0cF9zdGF0aWNfbW9kdWxlLmMKaW5kZXggNDJjYzY3Ni4uMGRiZWM1MCAxMDA2NDQKLS0tIGEvc3JjL2h0dHAvbW9kdWxlcy9uZ3hfaHR0cF9zdGF0aWNfbW9kdWxlLmMKKysrIGIvc3JjL2h0dHAvbW9kdWxlcy9uZ3hfaHR0cF9zdGF0aWNfbW9kdWxlLmMKQEAgLTE4Niw3ICsxODYsNyBAQAogCiAgICAgICAgIGNsY2YgPSBuZ3hfaHR0cF9nZXRfbW9kdWxlX2xvY19jb25mKHIsIG5neF9odHRwX2NvcmVfbW9kdWxlKTsKIAotICAgICAgICBpZiAoIWNsY2YtPmFsaWFzKSB7CisgICAgICAgIGlmICghY2xjZi0+YWxpYXMgJiYgY2xjZi0+cm9vdF9sZW5ndGhzID09IE5VTEwpIHsKICAgICAgICAgICAgIGxvY2F0aW9uID0gcGF0aC5kYXRhICsgY2xjZi0+cm9vdC5sZW47CiAKICAgICAgICAgfSBlbHNlIHsKZGlmZiAtLWdpdCBhL3NyYy9odHRwL21vZHVsZXMvcGVybC9uZ2lueC5wbSBiL3NyYy9odHRwL21vZHVsZXMvcGVybC9uZ2lueC5wbQppbmRleCBjMGYzZjI3Li5kODdiMmVjIDEwMDY0NAotLS0gYS9zcmMvaHR0cC9tb2R1bGVzL3BlcmwvbmdpbngucG0KKysrIGIvc3JjL2h0dHAvbW9kdWxlcy9wZXJsL25naW54LnBtCkBAIC0xNyw3ICsxNyw3IEBACiAgICAgSFRUUF9TRVJWRVJfRVJST1IKICk7CiAKLW91ciAkVkVSU0lPTiA9ICcwLjMuMjInOworb3VyICRWRVJTSU9OID0gJzAuMy4yMyc7CiAKIHJlcXVpcmUgWFNMb2FkZXI7CiBYU0xvYWRlcjo6bG9hZCgnbmdpbngnLCAkVkVSU0lPTik7CmRpZmYgLS1naXQgYS9zcmMvaHR0cC9tb2R1bGVzL3BlcmwvbmdpbngueHMgYi9zcmMvaHR0cC9tb2R1bGVzL3BlcmwvbmdpbngueHMKaW5kZXggZDQxYmY2OC4uYzI0Nzg4YyAxMDA2NDQKLS0tIGEvc3JjL2h0dHAvbW9kdWxlcy9wZXJsL25naW54LnhzCisrKyBiL3NyYy9odHRwL21vZHVsZXMvcGVybC9uZ2lueC54cwpAQCAtNiwxNSArNiwxMyBAQAogCiAjZGVmaW5lIFBFUkxfTk9fR0VUX0NPTlRFWFQKIAotI2luY2x1ZGUgIkVYVEVSTi5oIgotI2luY2x1ZGUgInBlcmwuaCIKLSNpbmNsdWRlICJYU1VCLmgiCi0KICNpbmNsdWRlIDxuZ3hfY29uZmlnLmg+CiAjaW5jbHVkZSA8bmd4X2NvcmUuaD4KICNpbmNsdWRlIDxuZ3hfaHR0cC5oPgogI2luY2x1ZGUgPG5neF9odHRwX3BlcmxfbW9kdWxlLmg+CiAKKyNpbmNsdWRlICJYU1VCLmgiCisKIAogc3RhdGljIG5neF9pbnRfdAogbmd4X2h0dHBfcGVybF9zdjJzdHIocFRIWF8gbmd4X2h0dHBfcmVxdWVzdF90ICpyLCBuZ3hfc3RyX3QgKnMsIFNWICpzdikKZGlmZiAtLWdpdCBhL3NyYy9odHRwL25neF9odHRwLmMgYi9zcmMvaHR0cC9uZ3hfaHR0cC5jCmluZGV4IDcyZWFjYzguLjYxZjk0MzAgMTAwNjQ0Ci0tLSBhL3NyYy9odHRwL25neF9odHRwLmMKKysrIGIvc3JjL2h0dHAvbmd4X2h0dHAuYwpAQCAtNzYsNyArNzYsNyBAQAogICAgIGNoYXIgICAgICAgICAgICAgICAgICAgICAgICAqcnY7CiAgICAgdV9jaGFyICAgICAgICAgICAgICAgICAgICAgICBjaDsKICAgICBuZ3hfaW50X3QgICAgICAgICAgICAgICAgICAgIHJjOwotICAgIG5neF91aW50X3QgICAgICAgICAgICAgICAgICAgbWksIG0sIHMsIGwsIHAsIGEsIG4sIGk7CisgICAgbmd4X3VpbnRfdCAgICAgICAgICAgICAgICAgICBtaSwgbSwgcywgbCwgcCwgYSwgaTsKICAgICBuZ3hfdWludF90ICAgICAgICAgICAgICAgICAgIGxhc3QsIGJpbmRfYWxsLCBkb25lOwogICAgIG5neF9jb25mX3QgICAgICAgICAgICAgICAgICAgcGNmOwogICAgIG5neF9hcnJheV90ICAgICAgICAgICAgICAgICAgaW5fcG9ydHM7CkBAIC01MzMsMTYgKzUzMywyMCBAQAogCiAgICAgICAgIC8qCiAgICAgICAgICAqIGNoZWNrIHdoZXRoZXIgYWxsIG5hbWUtYmFzZWQgc2VydmVycyBoYXZlIHRoZSBzYW1lIGNvbmZpZ3VyYWl0b24KLSAgICAgICAgICogYXMgdGhlIGRlZmF1bHQgc2VydmVyLCBvciBzb21lIHNlcnZlcnMgcmVzdHJpY3QgdGhlIGhvc3QgbmFtZXMKKyAgICAgICAgICogICAgIGFzIHRoZSBkZWZhdWx0IHNlcnZlciwKKyAgICAgICAgICogb3Igc29tZSBzZXJ2ZXJzIHJlc3RyaWN0IHRoZSBob3N0IG5hbWVzLAorICAgICAgICAgKiBvciBzb21lIHNlcnZlcnMgZGlzYWJsZSBvcHRpbWl6aW5nIHRoZSBob3N0IG5hbWVzCiAgICAgICAgICAqLwogCiAgICAgICAgIGluX2FkZHIgPSBpbl9wb3J0W3BdLmFkZHJzLmVsdHM7CiAgICAgICAgIGZvciAoYSA9IDA7IGEgPCBpbl9wb3J0W3BdLmFkZHJzLm5lbHRzOyBhKyspIHsKIAogICAgICAgICAgICAgbmFtZSA9IGluX2FkZHJbYV0ubmFtZXMuZWx0czsKLSAgICAgICAgICAgIGZvciAobiA9IDA7IG4gPCBpbl9hZGRyW2FdLm5hbWVzLm5lbHRzOyBuKyspIHsKLSAgICAgICAgICAgICAgICBpZiAoaW5fYWRkclthXS5jb3JlX3Nydl9jb25mICE9IG5hbWVbbl0uY29yZV9zcnZfY29uZgotICAgICAgICAgICAgICAgICAgICB8fCBuYW1lW25dLmNvcmVfc3J2X2NvbmYtPnJlc3RyaWN0X2hvc3RfbmFtZXMKKyAgICAgICAgICAgIGZvciAocyA9IDA7IHMgPCBpbl9hZGRyW2FdLm5hbWVzLm5lbHRzOyBzKyspIHsKKworICAgICAgICAgICAgICAgIGlmIChpbl9hZGRyW2FdLmNvcmVfc3J2X2NvbmYgIT0gbmFtZVtzXS5jb3JlX3Nydl9jb25mCisgICAgICAgICAgICAgICAgICAgIHx8IG5hbWVbc10uY29yZV9zcnZfY29uZi0+b3B0aW1pemVfaG9zdF9uYW1lcyA9PSAwCisgICAgICAgICAgICAgICAgICAgIHx8IG5hbWVbc10uY29yZV9zcnZfY29uZi0+cmVzdHJpY3RfaG9zdF9uYW1lcwogICAgICAgICAgICAgICAgICAgICAgICAhPSBOR1hfSFRUUF9SRVNUUklDVF9IT1NUX09GRikKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIGdvdG8gdmlydHVhbF9uYW1lczsKQEAgLTU1MSw3ICs1NTUsOSBAQAogCiAgICAgICAgICAgICAvKgogICAgICAgICAgICAgICogaWYgYWxsIG5hbWUtYmFzZWQgc2VydmVycyBoYXZlIHRoZSBzYW1lIGNvbmZpZ3VyYXRpb24KLSAgICAgICAgICAgICAqIGFzIHRoZSBkZWZhdWx0IHNlcnZlciwgYW5kIG5vIHNlcnZlcnMgcmVzdHJpY3QgdGhlIGhvc3QgbmFtZXMKKyAgICAgICAgICAgICAqICAgICAgICAgYXMgdGhlIGRlZmF1bHQgc2VydmVyLAorICAgICAgICAgICAgICogICAgIGFuZCBubyBzZXJ2ZXJzIHJlc3RyaWN0IHRoZSBob3N0IG5hbWVzLAorICAgICAgICAgICAgICogICAgIGFuZCBubyBzZXJ2ZXJzIGRpc2FibGUgb3B0aW1pemluZyB0aGUgaG9zdCBuYW1lcwogICAgICAgICAgICAgICogdGhlbiB3ZSBkbyBub3QgbmVlZCB0byBjaGVjayB0aGVtIGF0IHJ1bi10aW1lIGF0IGFsbAogICAgICAgICAgICAgICovCiAKZGlmZiAtLWdpdCBhL3NyYy9odHRwL25neF9odHRwX2NvcmVfbW9kdWxlLmMgYi9zcmMvaHR0cC9uZ3hfaHR0cF9jb3JlX21vZHVsZS5jCmluZGV4IGRjN2Q5NzIuLmE3MzQ0OGIgMTAwNjQ0Ci0tLSBhL3NyYy9odHRwL25neF9odHRwX2NvcmVfbW9kdWxlLmMKKysrIGIvc3JjL2h0dHAvbmd4X2h0dHBfY29yZV9tb2R1bGUuYwpAQCAtMTM2LDYgKzEzNiwxMyBAQAogICAgICAgb2Zmc2V0b2Yobmd4X2h0dHBfY29yZV9zcnZfY29uZl90LCByZXN0cmljdF9ob3N0X25hbWVzKSwKICAgICAgICZuZ3hfaHR0cF9yZXN0cmljdF9ob3N0X25hbWVzIH0sCiAKKyAgICB7IG5neF9zdHJpbmcoIm9wdGltaXplX2hvc3RfbmFtZXMiKSwKKyAgICAgIE5HWF9IVFRQX01BSU5fQ09ORnxOR1hfSFRUUF9TUlZfQ09ORnxOR1hfQ09ORl9GTEFHLAorICAgICAgbmd4X2NvbmZfc2V0X2ZsYWdfc2xvdCwKKyAgICAgIE5HWF9IVFRQX1NSVl9DT05GX09GRlNFVCwKKyAgICAgIG9mZnNldG9mKG5neF9odHRwX2NvcmVfc3J2X2NvbmZfdCwgb3B0aW1pemVfaG9zdF9uYW1lcyksCisgICAgICBOVUxMIH0sCisKICAgICB7IG5neF9zdHJpbmcoImlnbm9yZV9pbnZhbGlkX2hlYWRlcnMiKSwKICAgICAgIE5HWF9IVFRQX01BSU5fQ09ORnxOR1hfSFRUUF9TUlZfQ09ORnxOR1hfQ09ORl9GTEFHLAogICAgICAgbmd4X2NvbmZfc2V0X2ZsYWdfc2xvdCwKQEAgLTk5NSw2ICsxMDAyLDEzIEBACiAKICAgICBhbGlhcyA9IGNsY2YtPmFsaWFzID8gY2xjZi0+bmFtZS5sZW4gOiAwOwogCisgICAgaWYgKGFsaWFzICYmICFyLT52YWxpZF9sb2NhdGlvbikgeworICAgICAgICBuZ3hfbG9nX2Vycm9yKE5HWF9MT0dfQUxFUlQsIHItPmNvbm5lY3Rpb24tPmxvZywgMCwKKyAgICAgICAgICAgICAgICAgICAgICAiXCJhbGlhc1wiIGNvdWxkIG5vdCBiZSB1c2VkIGluIGxvY2F0aW9uIFwiJVZcIiAiCisgICAgICAgICAgICAgICAgICAgICAgIndoZXJlIFVSSSB3YXMgcmV3cml0dGVuIiwgJmNsY2YtPm5hbWUpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKICAgICBpZiAoY2xjZi0+cm9vdF9sZW5ndGhzID09IE5VTEwpIHsKIAogICAgICAgICByLT5yb290X2xlbmd0aCA9IGNsY2YtPnJvb3QubGVuOwpAQCAtMTgyNiw2ICsxODQwLDcgQEAKICAgICBjc2NmLT5jbGllbnRfaGVhZGVyX3RpbWVvdXQgPSBOR1hfQ09ORl9VTlNFVF9NU0VDOwogICAgIGNzY2YtPmNsaWVudF9oZWFkZXJfYnVmZmVyX3NpemUgPSBOR1hfQ09ORl9VTlNFVF9TSVpFOwogICAgIGNzY2YtPnJlc3RyaWN0X2hvc3RfbmFtZXMgPSBOR1hfQ09ORl9VTlNFVF9VSU5UOworICAgIGNzY2YtPm9wdGltaXplX2hvc3RfbmFtZXMgPSBOR1hfQ09ORl9VTlNFVDsKICAgICBjc2NmLT5pZ25vcmVfaW52YWxpZF9oZWFkZXJzID0gTkdYX0NPTkZfVU5TRVQ7CiAKICAgICByZXR1cm4gY3NjZjsKQEAgLTE5MDgsNiArMTkyMyw5IEBACiAgICAgbmd4X2NvbmZfbWVyZ2VfdW5zaWduZWRfdmFsdWUoY29uZi0+cmVzdHJpY3RfaG9zdF9uYW1lcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXYtPnJlc3RyaWN0X2hvc3RfbmFtZXMsIDApOwogCisgICAgbmd4X2NvbmZfbWVyZ2VfdmFsdWUoY29uZi0+b3B0aW1pemVfaG9zdF9uYW1lcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXYtPm9wdGltaXplX2hvc3RfbmFtZXMsIDEpOworCiAgICAgbmd4X2NvbmZfbWVyZ2VfdmFsdWUoY29uZi0+aWdub3JlX2ludmFsaWRfaGVhZGVycywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXYtPmlnbm9yZV9pbnZhbGlkX2hlYWRlcnMsIDEpOwogCkBAIC0xOTkwLDEwICsyMDA4LDIwIEBACiAgICAgbmd4X2hhc2hfa2V5X3QgICAqdHlwZTsKICAgICBuZ3hfaGFzaF9pbml0X3QgICB0eXBlc19oYXNoOwogCi0gICAgbmd4X2NvbmZfbWVyZ2Vfc3RyX3ZhbHVlKGNvbmYtPnJvb3QsIHByZXYtPnJvb3QsICJodG1sIik7CisgICAgaWYgKGNvbmYtPnJvb3QuZGF0YSA9PSBOVUxMKSB7CiAKLSAgICBpZiAobmd4X2NvbmZfZnVsbF9uYW1lKGNmLT5jeWNsZSwgJmNvbmYtPnJvb3QpID09IE5HWF9FUlJPUikgewotICAgICAgICByZXR1cm4gTkdYX0NPTkZfRVJST1I7CisgICAgICAgIGNvbmYtPnJvb3QgPSBwcmV2LT5yb290OworICAgICAgICBjb25mLT5yb290X2xlbmd0aHMgPSBwcmV2LT5yb290X2xlbmd0aHM7CisgICAgICAgIGNvbmYtPnJvb3RfdmFsdWVzID0gcHJldi0+cm9vdF92YWx1ZXM7CisKKyAgICAgICAgaWYgKHByZXYtPnJvb3QuZGF0YSA9PSBOVUxMKSB7CisgICAgICAgICAgICBjb25mLT5yb290LmxlbiA9IHNpemVvZigiaHRtbCIpIC0gMTsKKyAgICAgICAgICAgIGNvbmYtPnJvb3QuZGF0YSA9ICh1X2NoYXIgKikgImh0bWwiOworCisgICAgICAgICAgICBpZiAobmd4X2NvbmZfZnVsbF9uYW1lKGNmLT5jeWNsZSwgJmNvbmYtPnJvb3QpID09IE5HWF9FUlJPUikgeworICAgICAgICAgICAgICAgIHJldHVybiBOR1hfQ09ORl9FUlJPUjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQogICAgIH0KIAogICAgIGlmIChjb25mLT5wb3N0X2FjdGlvbi5kYXRhID09IE5VTEwpIHsKQEAgLTI0MTcsNyArMjQ0NSwxMSBAQAogICAgICAgICBsY2YtPnJvb3QubGVuLS07CiAgICAgfQogCi0gICAgbiA9IG5neF9odHRwX3NjcmlwdF92YXJpYWJsZXNfY291bnQoJnZhbHVlWzFdKTsKKyAgICBpZiAobmd4X2NvbmZfZnVsbF9uYW1lKGNmLT5jeWNsZSwgJmxjZi0+cm9vdCkgPT0gTkdYX0VSUk9SKSB7CisgICAgICAgIHJldHVybiBOR1hfQ09ORl9FUlJPUjsKKyAgICB9CisKKyAgICBuID0gbmd4X2h0dHBfc2NyaXB0X3ZhcmlhYmxlc19jb3VudCgmbGNmLT5yb290KTsKIAogICAgIGlmIChuID09IDApIHsKICAgICAgICAgcmV0dXJuIE5HWF9DT05GX09LOwpAQCAtMjQyNiw3ICsyNDU4LDcgQEAKICAgICBuZ3hfbWVtemVybygmc2MsIHNpemVvZihuZ3hfaHR0cF9zY3JpcHRfY29tcGlsZV90KSk7CiAKICAgICBzYy5jZiA9IGNmOwotICAgIHNjLnNvdXJjZSA9ICZ2YWx1ZVsxXTsKKyAgICBzYy5zb3VyY2UgPSAmbGNmLT5yb290OwogICAgIHNjLmxlbmd0aHMgPSAmbGNmLT5yb290X2xlbmd0aHM7CiAgICAgc2MudmFsdWVzID0gJmxjZi0+cm9vdF92YWx1ZXM7CiAgICAgc2MudmFyaWFibGVzID0gbjsKZGlmZiAtLWdpdCBhL3NyYy9odHRwL25neF9odHRwX2NvcmVfbW9kdWxlLmggYi9zcmMvaHR0cC9uZ3hfaHR0cF9jb3JlX21vZHVsZS5oCmluZGV4IDIwYmYzYTYuLjQ4Y2JjNDIgMTAwNjQ0Ci0tLSBhL3NyYy9odHRwL25neF9odHRwX2NvcmVfbW9kdWxlLmgKKysrIGIvc3JjL2h0dHAvbmd4X2h0dHBfY29yZV9tb2R1bGUuaApAQCAtMTA5LDYgKzEwOSw3IEBACiAKICAgICBuZ3hfdWludF90ICAgICAgICAgICAgICAgICByZXN0cmljdF9ob3N0X25hbWVzOwogCisgICAgbmd4X2ZsYWdfdCAgICAgICAgICAgICAgICAgb3B0aW1pemVfaG9zdF9uYW1lczsKICAgICBuZ3hfZmxhZ190ICAgICAgICAgICAgICAgICBpZ25vcmVfaW52YWxpZF9oZWFkZXJzOwogfSBuZ3hfaHR0cF9jb3JlX3Nydl9jb25mX3Q7CiAK