ZGlmZiAtLWdpdCBhL2RvY3MveG1sL25naW54L2NoYW5nZXMueG1sIGIvZG9jcy94bWwvbmdpbngvY2hhbmdlcy54bWwKaW5kZXggMjJkMWUwOS4uMTk1OTNlYiAxMDA2NDQKLS0tIGEvZG9jcy94bWwvbmdpbngvY2hhbmdlcy54bWwKKysrIGIvZG9jcy94bWwvbmdpbngvY2hhbmdlcy54bWwKQEAgLTksNiArOSwzMSBAQAogPHRpdGxlIGxhbmc9ImVuIj5uZ2lueCBjaGFuZ2Vsb2c8L3RpdGxlPgogCiAKKzxjaGFuZ2VzIHZlcj0iMC4zLjI2IiBkYXRlPSIwMy4wMi4yMDA2Ij4KKworPGNoYW5nZSB0eXBlPSJjaGFuZ2UiPgorPHBhcmEgbGFuZz0icnUiPgorxMnSxcvUydfBIG9wdGltaXplX2hvc3RfbmFtZXMg0MXSxcnNxc7P18HOwSDXIG9wdGltaXplX3NlcnZlcl9uYW1lcy4KKzwvcGFyYT4KKzxwYXJhIGxhbmc9ImVuIj4KK3RoZSAib3B0aW1pemVfaG9zdF9uYW1lcyIgZGlyZWN0aXZlIHdhcyByZW5hbWVkIHRvIHRoZSAib3B0aW1pemVfc2VydmVyX25hbWVzIi4KKzwvcGFyYT4KKzwvY2hhbmdlPgorCis8Y2hhbmdlIHR5cGU9ImJ1Z2ZpeCI+Cis8cGFyYSBsYW5nPSJydSI+CivQ0skg0NLPy9PJ0s/Xwc7JySDQz8TawdDSz9PBINcgU1NJIMLcy8XOxNUg0MXSxcTB18HM09EgVVJJIM/Tzs/Xzs/HzyDawdDSz9PBLAorxdPMySDXIMTJ0sXL1MnXxSBwcm94eV9wYXNzIM/U09XU09TXz9fBzCBVUkkuCis8L3BhcmE+Cis8cGFyYSBsYW5nPSJlbiI+CitpZiBpbiB0aGUgInByb3h5X3Bhc3MiIGRpcmVjdGl2ZSB3YXMgbm8gdGhlIFVSSSBwYXJ0LCB0aGVuIHRoZSBtYWluIHJlcXVlc3QKK1VSSSB3YXMgdHJhbnNmZXJyZWQgdG8gYSBiYWNrZW5kIHdoaWxlIHByb3h5aW5nIHRoZSBTU0kgc3VicmVxdWVzdC4KKzwvcGFyYT4KKzwvY2hhbmdlPgorCis8L2NoYW5nZXM+CisKKwogPGNoYW5nZXMgdmVyPSIwLjMuMjUiIGRhdGU9IjAxLjAyLjIwMDYiPgogCiA8Y2hhbmdlIHR5cGU9ImJ1Z2ZpeCI+CkBAIC01MywxMyArNzgsMTMgQEAKINDSySDJ09DPzNjaz9fBzsnJIMLPzNjbz8fPIMvPzMnexdPU18EgzM/HLcbByszP1yDQ0s/J08jPxMnMwSDV1MXey8Eg0MHN0dTJLiAKIDwvcGFyYT4KIDxwYXJhIGxhbmc9ImVuIj4KLXRoZSBtZW1vcnkgbGVha3Mgd2VyZSBvY2N1cmluZyBpZiBtYW55IGxvZyBmaWxlcyB3ZXJlIHVzZWQuCit0aGUgbWVtb3J5IGxlYWtzIHdlcmUgb2NjdXJyaW5nIGlmIG1hbnkgbG9nIGZpbGVzIHdlcmUgdXNlZC4KIDwvcGFyYT4KIDwvY2hhbmdlPgogCiA8Y2hhbmdlIHR5cGU9ImJ1Z2ZpeCI+CiA8cGFyYSBsYW5nPSJydSI+Ci3XztTV0skgz8TOz8fPIGxvY2F0aW9uINLBws/UwczBINTPzNjLzyDQxdLXwdEgxMnSxcvUydfBIHByb3h5X3JlZGlyZWN0Lgor187V1NLJIM/Ezs/HzyBsb2NhdGlvbiDSwcLP1MHMwSDUz8zYy88g0MXS18HRIMTJ0sXL1MnXwSBwcm94eV9yZWRpcmVjdC4KIDwvcGFyYT4KIDxwYXJhIGxhbmc9ImVuIj4KIHRoZSBmaXJzdCAicHJveHlfcmVkaXJlY3QiIGRpcmVjdGl2ZSB3YXMgd29ya2luZyBpbnNpZGUgb25lIGxvY2F0aW9uLgpAQCAtNjksNyArOTQsNyBAQAogPGNoYW5nZSB0eXBlPSJidWdmaXgiPgogPHBhcmEgbGFuZz0icnUiPgogzsEgNjQtwsnUztnIINDMwdTGz9LNwcgg0NLJINPUwdLUxSDNz8cg0NLPydrPytTJIHNlZ21lbnRhdGlvbiBmYXVsdCwKLcXTzMkgydPQz8zY2s/XwczP09ggws/M2NvPxSDLz8zJ3snT1NfPIMnNo84g1yDEydLFy9TJ18HIIHNlcnZlcl9uYW1lOworxdPMySDJ09DPzNjaz9fBzM/T2CDCz8zY28/FIMvPzMnexdPU188gyc2jziDXIMTJ0sXL1MnXwcggc2VydmVyX25hbWU7CiDP28nCy8Eg0M/R18nMwdPYINcgMC4zLjE4LgogPC9wYXJhPgogPHBhcmEgbGFuZz0iZW4iPgpAQCAtMTYzLDcgKzE4OCw3IEBACiAKIDxjaGFuZ2UgdHlwZT0iY2hhbmdlIj4KIDxwYXJhIGxhbmc9InJ1Ij4KLcTJ0sXL1MnXwSB2YWxpZF9yZWZlcmVycyDSwdrSxdvBxdQgydPQz8zY2s/XwdTYINLFxsXSxdLZIGPP19PFzSDCxdogVVJJLgorxMnSxcvUydfBIHZhbGlkX3JlZmVyZXJzINLB2tLF28HF1CDJ09DPzNjaz9fB1Ngg0sXGxdLF0tkg08/X08XNIMLF2iBVUkkuCiA8L3BhcmE+CiA8cGFyYSBsYW5nPSJlbiI+CiB0aGUgInZhbGlkX3JlZmVyZXJzIiBkaXJlY3RpdmUgYWxsb3dzIHRoZSByZWZlcnJlcmVzIHdpdGhvdXQgVVJJIHBhcnQuCmRpZmYgLS1naXQgYS9zcmMvY29yZS9uZ2lueC5oIGIvc3JjL2NvcmUvbmdpbnguaAppbmRleCA2NmRmODBkLi5jOGRkZGRiIDEwMDY0NAotLS0gYS9zcmMvY29yZS9uZ2lueC5oCisrKyBiL3NyYy9jb3JlL25naW54LmgKQEAgLTgsNyArOCw3IEBACiAjZGVmaW5lIF9OR0lOWF9IX0lOQ0xVREVEXwogCiAKLSNkZWZpbmUgTkdJTlhfVkVSICAgICAgICAgICJuZ2lueC8wLjMuMjUiCisjZGVmaW5lIE5HSU5YX1ZFUiAgICAgICAgICAibmdpbngvMC4zLjI2IgogCiAjZGVmaW5lIE5HSU5YX1ZBUiAgICAgICAgICAiTkdJTlgiCiAjZGVmaW5lIE5HWF9PTERQSURfRVhUICAgICAiLm9sZGJpbiIKZGlmZiAtLWdpdCBhL3NyYy9odHRwL21vZHVsZXMvbmd4X2h0dHBfcHJveHlfbW9kdWxlLmMgYi9zcmMvaHR0cC9tb2R1bGVzL25neF9odHRwX3Byb3h5X21vZHVsZS5jCmluZGV4IGM4NWY1ODcuLjU3OWRhOTQgMTAwNjQ0Ci0tLSBhL3NyYy9odHRwL21vZHVsZXMvbmd4X2h0dHBfcHJveHlfbW9kdWxlLmMKKysrIGIvc3JjL2h0dHAvbW9kdWxlcy9uZ3hfaHR0cF9wcm94eV9tb2R1bGUuYwpAQCAtNDQyLDcgKzQ0Miw3IEBACiBuZ3hfaHR0cF9wcm94eV9jcmVhdGVfcmVxdWVzdChuZ3hfaHR0cF9yZXF1ZXN0X3QgKnIpCiB7CiAgICAgc2l6ZV90ICAgICAgICAgICAgICAgICAgICAgICAgbGVuLCBsb2NfbGVuLCBib2R5X2xlbjsKLSAgICBuZ3hfdWludF90ICAgICAgICAgICAgICAgICAgICBpLCBrZXk7CisgICAgbmd4X3VpbnRfdCAgICAgICAgICAgICAgICAgICAgaSwga2V5LCB1bnBhcnNlZF91cmk7CiAgICAgdWludHB0cl90ICAgICAgICAgICAgICAgICAgICAgZXNjYXBlOwogICAgIG5neF9idWZfdCAgICAgICAgICAgICAgICAgICAgKmI7CiAgICAgbmd4X3N0cl90ICAgICAgICAgICAgICAgICAgICAqaGgsIG1ldGhvZDsKQEAgLTQ4OCwxMCArNDg4LDEyIEBACiAKICAgICBsb2NfbGVuID0gci0+dmFsaWRfbG9jYXRpb24gPyB1LT5jb25mLT5sb2NhdGlvbi5sZW4gOiAwOwogCi0gICAgaWYgKHUtPmNvbmYtPnVyaS5sZW4gPT0gMCAmJiByLT52YWxpZF91bnBhcnNlZF91cmkpIHsKKyAgICBpZiAodS0+Y29uZi0+dXJpLmxlbiA9PSAwICYmIHItPnZhbGlkX3VucGFyc2VkX3VyaSAmJiByID09IHItPm1haW4pIHsKKyAgICAgICAgdW5wYXJzZWRfdXJpID0gMTsKICAgICAgICAgbGVuICs9IHItPnVucGFyc2VkX3VyaS5sZW47CiAKICAgICB9IGVsc2UgeworICAgICAgICB1bnBhcnNlZF91cmkgPSAwOwogICAgICAgICBpZiAoci0+cXVvdGVkX3VyaSkgewogICAgICAgICAgICAgZXNjYXBlID0gMiAqIG5neF9lc2NhcGVfdXJpKE5VTEwsIHItPnVyaS5kYXRhICsgbG9jX2xlbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByLT51cmkubGVuIC0gbG9jX2xlbiwgTkdYX0VTQ0FQRV9VUkkpOwpAQCAtNTgxLDcgKzU4Myw3IEBACiAKICAgICB1LT51cmkuZGF0YSA9IGItPmxhc3Q7CiAKLSAgICBpZiAodS0+Y29uZi0+dXJpLmxlbiA9PSAwICYmIHItPnZhbGlkX3VucGFyc2VkX3VyaSkgeworICAgIGlmICh1bnBhcnNlZF91cmkpIHsKICAgICAgICAgYi0+bGFzdCA9IG5neF9jb3B5KGItPmxhc3QsIHItPnVucGFyc2VkX3VyaS5kYXRhLCByLT51bnBhcnNlZF91cmkubGVuKTsKIAogICAgIH0gZWxzZSB7CmRpZmYgLS1naXQgYS9zcmMvaHR0cC9tb2R1bGVzL25neF9odHRwX3NzaV9maWx0ZXJfbW9kdWxlLmMgYi9zcmMvaHR0cC9tb2R1bGVzL25neF9odHRwX3NzaV9maWx0ZXJfbW9kdWxlLmMKaW5kZXggNjZiMmI5Ni4uNGVjNjc0OSAxMDA2NDQKLS0tIGEvc3JjL2h0dHAvbW9kdWxlcy9uZ3hfaHR0cF9zc2lfZmlsdGVyX21vZHVsZS5jCisrKyBiL3NyYy9odHRwL21vZHVsZXMvbmd4X2h0dHBfc3NpX2ZpbHRlcl9tb2R1bGUuYwpAQCAtNzYxLDcgKzc2MSw3IEBACiBzdGF0aWMgbmd4X2ludF90CiBuZ3hfaHR0cF9zc2lfcGFyc2Uobmd4X2h0dHBfcmVxdWVzdF90ICpyLCBuZ3hfaHR0cF9zc2lfY3R4X3QgKmN0eCkKIHsKLSAgICB1X2NoYXIgICAgICAgICAgICAgICAgKnAsICpsYXN0LCAqY29weV9lbmQsIGNoOworICAgIHVfY2hhciAgICAgICAgICAgICAgICAqcCwgKnZhbHVlLCAqbGFzdCwgKmNvcHlfZW5kLCBjaDsKICAgICBzaXplX3QgICAgICAgICAgICAgICAgIGxvb2tlZDsKICAgICBuZ3hfaHR0cF9zc2lfc3RhdGVfZSAgIHN0YXRlOwogCkBAIC05MTQsMTIgKzkxNCwxMyBAQAogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBjdHgtPmNvbW1hbmQubGVuID0gMTsKICAgICAgICAgICAgICAgICBjdHgtPmNvbW1hbmQuZGF0YSA9IG5neF9wYWxsb2Moci0+cG9vbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkdYX0hUVFBfU1NJX0NPTU1BTkRfTEVOICsgMSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5HWF9IVFRQX1NTSV9DT01NQU5EX0xFTik7CiAgICAgICAgICAgICAgICAgaWYgKGN0eC0+Y29tbWFuZC5kYXRhID09IE5VTEwpIHsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5HWF9FUlJPUjsKICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBjdHgtPmNvbW1hbmQuZGF0YVswXSA9IGNoOworCiAgICAgICAgICAgICAgICAgY3R4LT5rZXkgPSAwOwogICAgICAgICAgICAgICAgIGN0eC0+a2V5ID0gbmd4X2hhc2goY3R4LT5rZXksIGNoKTsKIApAQCAtOTQ0LDE3ICs5NDUsMTcgQEAKICAgICAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICBjdHgtPmNvbW1hbmQuZGF0YVtjdHgtPmNvbW1hbmQubGVuKytdID0gY2g7Ci0gICAgICAgICAgICAgICAgY3R4LT5rZXkgPSBuZ3hfaGFzaChjdHgtPmtleSwgY2gpOwotCiAgICAgICAgICAgICAgICAgaWYgKGN0eC0+Y29tbWFuZC5sZW4gPT0gTkdYX0hUVFBfU1NJX0NPTU1BTkRfTEVOKSB7CiAgICAgICAgICAgICAgICAgICAgIG5neF9sb2dfZXJyb3IoTkdYX0xPR19FUlIsIHItPmNvbm5lY3Rpb24tPmxvZywgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhlIFwiJVZcIiBTU0kgY29tbWFuZCBpcyB0b28gbG9uZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmN0eC0+Y29tbWFuZCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRoZSBcIiVWJWMuLi5cIiBTU0kgY29tbWFuZCBpcyB0b28gbG9uZyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmN0eC0+Y29tbWFuZCwgY2gpOwogCiAgICAgICAgICAgICAgICAgICAgIHN0YXRlID0gc3NpX2Vycm9yX3N0YXRlOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBjdHgtPmNvbW1hbmQuZGF0YVtjdHgtPmNvbW1hbmQubGVuKytdID0gY2g7CisgICAgICAgICAgICAgICAgY3R4LT5rZXkgPSBuZ3hfaGFzaChjdHgtPmtleSwgY2gpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBicmVhazsKQEAgLTk3OSw3ICs5ODAsNyBAQAogCiAgICAgICAgICAgICAgICAgY3R4LT5wYXJhbS0+a2V5LmxlbiA9IDE7CiAgICAgICAgICAgICAgICAgY3R4LT5wYXJhbS0+a2V5LmRhdGEgPSBuZ3hfcGFsbG9jKHItPnBvb2wsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5HWF9IVFRQX1NTSV9QQVJBTV9MRU4gKyAxKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkdYX0hUVFBfU1NJX1BBUkFNX0xFTik7CiAgICAgICAgICAgICAgICAgaWYgKGN0eC0+cGFyYW0tPmtleS5kYXRhID09IE5VTEwpIHsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5HWF9FUlJPUjsKICAgICAgICAgICAgICAgICB9CkBAIC05ODcsMTAgKzk4OCwxNiBAQAogICAgICAgICAgICAgICAgIGN0eC0+cGFyYW0tPmtleS5kYXRhWzBdID0gY2g7CiAKICAgICAgICAgICAgICAgICBjdHgtPnBhcmFtLT52YWx1ZS5sZW4gPSAwOwotICAgICAgICAgICAgICAgIGN0eC0+cGFyYW0tPnZhbHVlLmRhdGEgPSBuZ3hfcGFsbG9jKHItPnBvb2wsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4LT52YWx1ZV9sZW4gKyAxKTsKLSAgICAgICAgICAgICAgICBpZiAoY3R4LT5wYXJhbS0+dmFsdWUuZGF0YSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBOR1hfRVJST1I7CisKKyAgICAgICAgICAgICAgICBpZiAoY3R4LT52YWx1ZV9idWYgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICBjdHgtPnBhcmFtLT52YWx1ZS5kYXRhID0gbmd4X3BhbGxvYyhyLT5wb29sLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgtPnZhbHVlX2xlbik7CisgICAgICAgICAgICAgICAgICAgIGlmIChjdHgtPnBhcmFtLT52YWx1ZS5kYXRhID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBOR1hfRVJST1I7CisgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGN0eC0+cGFyYW0tPnZhbHVlLmRhdGEgPSBjdHgtPnZhbHVlX2J1ZjsKICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBzdGF0ZSA9IHNzaV9wYXJhbV9zdGF0ZTsKQEAgLTEwMjIsMTYgKzEwMjksMTYgQEAKICAgICAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICBjdHgtPnBhcmFtLT5rZXkuZGF0YVtjdHgtPnBhcmFtLT5rZXkubGVuKytdID0gY2g7Ci0KICAgICAgICAgICAgICAgICBpZiAoY3R4LT5wYXJhbS0+a2V5LmxlbiA9PSBOR1hfSFRUUF9TU0lfUEFSQU1fTEVOKSB7CiAgICAgICAgICAgICAgICAgICAgIHN0YXRlID0gc3NpX2Vycm9yX3N0YXRlOwogICAgICAgICAgICAgICAgICAgICBuZ3hfbG9nX2Vycm9yKE5HWF9MT0dfRVJSLCByLT5jb25uZWN0aW9uLT5sb2csIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRvbyBsb25nIFwiJVZcIiBwYXJhbWV0ZXIgaW4gIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b28gbG9uZyBcIiVWJWMuLi5cIiBwYXJhbWV0ZXIgaW4gIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcIiVWXCIgU1NJIGNvbW1hbmQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjdHgtPnBhcmFtLT5rZXksICZjdHgtPmNvbW1hbmQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjdHgtPnBhcmFtLT5rZXksIGNoLCAmY3R4LT5jb21tYW5kKTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgY3R4LT5wYXJhbS0+a2V5LmRhdGFbY3R4LT5wYXJhbS0+a2V5LmxlbisrXSA9IGNoOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBicmVhazsKQEAgLTExMDksMTcgKzExMTYsMTcgQEAKICAgICAgICAgICAgICAgICAvKiBmYWxsIHRocm91Z2ggKi8KIAogICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICBjdHgtPnBhcmFtLT52YWx1ZS5kYXRhW2N0eC0+cGFyYW0tPnZhbHVlLmxlbisrXSA9IGNoOwotCiAgICAgICAgICAgICAgICAgaWYgKGN0eC0+cGFyYW0tPnZhbHVlLmxlbiA9PSBjdHgtPnZhbHVlX2xlbikgewogICAgICAgICAgICAgICAgICAgICBuZ3hfbG9nX2Vycm9yKE5HWF9MT0dfRVJSLCByLT5jb25uZWN0aW9uLT5sb2csIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRvbyBsb25nIFwiJVZcIiB2YWx1ZSBvZiBcIiVWXCIgcGFyYW1ldGVyICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW4gXCIlVlwiIFNTSSBjb21tYW5kIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmY3R4LT5wYXJhbS0+dmFsdWUsICZjdHgtPnBhcmFtLT5rZXksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRvbyBsb25nIFwiJVYlYy4uLlwiIHZhbHVlIG9mIFwiJVZcIiAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcmFtZXRlciBpbiBcIiVWXCIgU1NJIGNvbW1hbmQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjdHgtPnBhcmFtLT52YWx1ZSwgY2gsICZjdHgtPnBhcmFtLT5rZXksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmN0eC0+Y29tbWFuZCk7CiAgICAgICAgICAgICAgICAgICAgIHN0YXRlID0gc3NpX2Vycm9yX3N0YXRlOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBjdHgtPnBhcmFtLT52YWx1ZS5kYXRhW2N0eC0+cGFyYW0tPnZhbHVlLmxlbisrXSA9IGNoOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBicmVhazsKQEAgLTExMzcsMTcgKzExNDQsMTcgQEAKICAgICAgICAgICAgICAgICAvKiBmYWxsIHRocm91Z2ggKi8KIAogICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICBjdHgtPnBhcmFtLT52YWx1ZS5kYXRhW2N0eC0+cGFyYW0tPnZhbHVlLmxlbisrXSA9IGNoOwotCiAgICAgICAgICAgICAgICAgaWYgKGN0eC0+cGFyYW0tPnZhbHVlLmxlbiA9PSBjdHgtPnZhbHVlX2xlbikgewogICAgICAgICAgICAgICAgICAgICBuZ3hfbG9nX2Vycm9yKE5HWF9MT0dfRVJSLCByLT5jb25uZWN0aW9uLT5sb2csIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRvbyBsb25nIFwiJVZcIiB2YWx1ZSBvZiBcIiVWXCIgcGFyYW1ldGVyICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW4gXCIlVlwiIFNTSSBjb21tYW5kIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmY3R4LT5wYXJhbS0+dmFsdWUsICZjdHgtPnBhcmFtLT5rZXksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRvbyBsb25nIFwiJVYlYy4uLlwiIHZhbHVlIG9mIFwiJVZcIiAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcmFtZXRlciBpbiBcIiVWXCIgU1NJIGNvbW1hbmQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjdHgtPnBhcmFtLT52YWx1ZSwgY2gsICZjdHgtPnBhcmFtLT5rZXksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmN0eC0+Y29tbWFuZCk7CiAgICAgICAgICAgICAgICAgICAgIHN0YXRlID0gc3NpX2Vycm9yX3N0YXRlOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBjdHgtPnBhcmFtLT52YWx1ZS5kYXRhW2N0eC0+cGFyYW0tPnZhbHVlLmxlbisrXSA9IGNoOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBicmVhazsKQEAgLTExNjksMjMgKzExNzYsMzggQEAKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgY3R4LT5wYXJhbS0+dmFsdWUuZGF0YVtjdHgtPnBhcmFtLT52YWx1ZS5sZW4rK10gPSBjaDsKLQogICAgICAgICAgICAgaWYgKGN0eC0+cGFyYW0tPnZhbHVlLmxlbiA9PSBjdHgtPnZhbHVlX2xlbikgewotICAgICAgICAgICAgICAgIGlmIChjdHgtPnBhcmFtLT52YWx1ZS5sZW4gPT0gY3R4LT52YWx1ZV9sZW4pIHsKLSAgICAgICAgICAgICAgICAgICAgbmd4X2xvZ19lcnJvcihOR1hfTE9HX0VSUiwgci0+Y29ubmVjdGlvbi0+bG9nLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b28gbG9uZyBcIiVWXCIgdmFsdWUgb2YgXCIlVlwiIHBhcmFtZXRlciAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImluIFwiJVZcIiBTU0kgY29tbWFuZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmN0eC0+cGFyYW0tPnZhbHVlLCAmY3R4LT5wYXJhbS0+a2V5LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjdHgtPmNvbW1hbmQpOwotICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9IHNzaV9lcnJvcl9zdGF0ZTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIG5neF9sb2dfZXJyb3IoTkdYX0xPR19FUlIsIHItPmNvbm5lY3Rpb24tPmxvZywgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b28gbG9uZyBcIiVWJWMuLi5cIiB2YWx1ZSBvZiBcIiVWXCIgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcmFtZXRlciBpbiBcIiVWXCIgU1NJIGNvbW1hbmQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmN0eC0+cGFyYW0tPnZhbHVlLCBjaCwgJmN0eC0+cGFyYW0tPmtleSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjdHgtPmNvbW1hbmQpOworICAgICAgICAgICAgICAgIHN0YXRlID0gc3NpX2Vycm9yX3N0YXRlOworICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogCisgICAgICAgICAgICBjdHgtPnBhcmFtLT52YWx1ZS5kYXRhW2N0eC0+cGFyYW0tPnZhbHVlLmxlbisrXSA9IGNoOworCiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlIHNzaV9wb3N0cGFyYW1fc3RhdGU6CisKKyAgICAgICAgICAgIGlmIChjdHgtPnBhcmFtLT52YWx1ZS5sZW4gPCBjdHgtPnZhbHVlX2xlbiAvIDIpIHsKKyAgICAgICAgICAgICAgICB2YWx1ZSA9IG5neF9wYWxsb2Moci0+cG9vbCwgY3R4LT5wYXJhbS0+dmFsdWUubGVuKTsKKyAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4gTkdYX0VSUk9SOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIG5neF9tZW1jcHkodmFsdWUsIGN0eC0+cGFyYW0tPnZhbHVlLmRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgtPnBhcmFtLT52YWx1ZS5sZW4pOworCisgICAgICAgICAgICAgICAgY3R4LT52YWx1ZV9idWYgPSBjdHgtPnBhcmFtLT52YWx1ZS5kYXRhOworICAgICAgICAgICAgICAgIGN0eC0+cGFyYW0tPnZhbHVlLmRhdGEgPSB2YWx1ZTsKKworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBjdHgtPnZhbHVlX2J1ZiA9IE5VTEw7CisgICAgICAgICAgICB9CisKICAgICAgICAgICAgIHN3aXRjaCAoY2gpIHsKICAgICAgICAgICAgIGNhc2UgJyAnOgogICAgICAgICAgICAgY2FzZSBDUjoKZGlmZiAtLWdpdCBhL3NyYy9odHRwL21vZHVsZXMvbmd4X2h0dHBfc3NpX2ZpbHRlcl9tb2R1bGUuaCBiL3NyYy9odHRwL21vZHVsZXMvbmd4X2h0dHBfc3NpX2ZpbHRlcl9tb2R1bGUuaAppbmRleCBiZDczNjQ4Li41MzM3ZTk0IDEwMDY0NAotLS0gYS9zcmMvaHR0cC9tb2R1bGVzL25neF9odHRwX3NzaV9maWx0ZXJfbW9kdWxlLmgKKysrIGIvc3JjL2h0dHAvbW9kdWxlcy9uZ3hfaHR0cF9zc2lfZmlsdGVyX21vZHVsZS5oCkBAIC0xNSw4ICsxNSw4IEBACiAKICNkZWZpbmUgTkdYX0hUVFBfU1NJX01BWF9QQVJBTVMgICAgIDE2CiAKLSNkZWZpbmUgTkdYX0hUVFBfU1NJX0NPTU1BTkRfTEVOICAgIDMxCi0jZGVmaW5lIE5HWF9IVFRQX1NTSV9QQVJBTV9MRU4gICAgICAzMQorI2RlZmluZSBOR1hfSFRUUF9TU0lfQ09NTUFORF9MRU4gICAgMzIKKyNkZWZpbmUgTkdYX0hUVFBfU1NJX1BBUkFNX0xFTiAgICAgIDMyCiAjZGVmaW5lIE5HWF9IVFRQX1NTSV9QQVJBTVNfTiAgICAgICA0CiAKIApAQCAtNTYsNiArNTYsNyBAQAogCiAgICAgbmd4X3VpbnRfdCAgICAgICAgICAgICAgICBvdXRwdXQ7ICAgICAgICAvKiB1bnNpZ25lZCAgb3V0cHV0OjE7ICovCiAKKyAgICB2b2lkICAgICAgICAgICAgICAgICAgICAgKnZhbHVlX2J1ZjsKICAgICBuZ3hfc3RyX3QgICAgICAgICAgICAgICAgIHRpbWVmbXQ7CiAgICAgbmd4X3N0cl90ICAgICAgICAgICAgICAgICBlcnJtc2c7CiB9IG5neF9odHRwX3NzaV9jdHhfdDsKZGlmZiAtLWdpdCBhL3NyYy9odHRwL25neF9odHRwLmMgYi9zcmMvaHR0cC9uZ3hfaHR0cC5jCmluZGV4IDYxZjk0MzAuLjYyMTFmMGUgMTAwNjQ0Ci0tLSBhL3NyYy9odHRwL25neF9odHRwLmMKKysrIGIvc3JjL2h0dHAvbmd4X2h0dHAuYwpAQCAtNTM1LDcgKzUzNSw3IEBACiAgICAgICAgICAqIGNoZWNrIHdoZXRoZXIgYWxsIG5hbWUtYmFzZWQgc2VydmVycyBoYXZlIHRoZSBzYW1lIGNvbmZpZ3VyYWl0b24KICAgICAgICAgICogICAgIGFzIHRoZSBkZWZhdWx0IHNlcnZlciwKICAgICAgICAgICogb3Igc29tZSBzZXJ2ZXJzIHJlc3RyaWN0IHRoZSBob3N0IG5hbWVzLAotICAgICAgICAgKiBvciBzb21lIHNlcnZlcnMgZGlzYWJsZSBvcHRpbWl6aW5nIHRoZSBob3N0IG5hbWVzCisgICAgICAgICAqIG9yIHNvbWUgc2VydmVycyBkaXNhYmxlIG9wdGltaXppbmcgdGhlIHNlcnZlciBuYW1lcwogICAgICAgICAgKi8KIAogICAgICAgICBpbl9hZGRyID0gaW5fcG9ydFtwXS5hZGRycy5lbHRzOwpAQCAtNTQ1LDcgKzU0NSw3IEBACiAgICAgICAgICAgICBmb3IgKHMgPSAwOyBzIDwgaW5fYWRkclthXS5uYW1lcy5uZWx0czsgcysrKSB7CiAKICAgICAgICAgICAgICAgICBpZiAoaW5fYWRkclthXS5jb3JlX3Nydl9jb25mICE9IG5hbWVbc10uY29yZV9zcnZfY29uZgotICAgICAgICAgICAgICAgICAgICB8fCBuYW1lW3NdLmNvcmVfc3J2X2NvbmYtPm9wdGltaXplX2hvc3RfbmFtZXMgPT0gMAorICAgICAgICAgICAgICAgICAgICB8fCBuYW1lW3NdLmNvcmVfc3J2X2NvbmYtPm9wdGltaXplX3NlcnZlcl9uYW1lcyA9PSAwCiAgICAgICAgICAgICAgICAgICAgIHx8IG5hbWVbc10uY29yZV9zcnZfY29uZi0+cmVzdHJpY3RfaG9zdF9uYW1lcwogICAgICAgICAgICAgICAgICAgICAgICAhPSBOR1hfSFRUUF9SRVNUUklDVF9IT1NUX09GRikKICAgICAgICAgICAgICAgICB7CkBAIC01NTcsNyArNTU3LDcgQEAKICAgICAgICAgICAgICAqIGlmIGFsbCBuYW1lLWJhc2VkIHNlcnZlcnMgaGF2ZSB0aGUgc2FtZSBjb25maWd1cmF0aW9uCiAgICAgICAgICAgICAgKiAgICAgICAgIGFzIHRoZSBkZWZhdWx0IHNlcnZlciwKICAgICAgICAgICAgICAqICAgICBhbmQgbm8gc2VydmVycyByZXN0cmljdCB0aGUgaG9zdCBuYW1lcywKLSAgICAgICAgICAgICAqICAgICBhbmQgbm8gc2VydmVycyBkaXNhYmxlIG9wdGltaXppbmcgdGhlIGhvc3QgbmFtZXMKKyAgICAgICAgICAgICAqICAgICBhbmQgbm8gc2VydmVycyBkaXNhYmxlIG9wdGltaXppbmcgdGhlIHNlcnZlciBuYW1lcwogICAgICAgICAgICAgICogdGhlbiB3ZSBkbyBub3QgbmVlZCB0byBjaGVjayB0aGVtIGF0IHJ1bi10aW1lIGF0IGFsbAogICAgICAgICAgICAgICovCiAKZGlmZiAtLWdpdCBhL3NyYy9odHRwL25neF9odHRwX2NvcmVfbW9kdWxlLmMgYi9zcmMvaHR0cC9uZ3hfaHR0cF9jb3JlX21vZHVsZS5jCmluZGV4IDI3ODQ5MjEuLjg5Zjg0NmMgMTAwNjQ0Ci0tLSBhL3NyYy9odHRwL25neF9odHRwX2NvcmVfbW9kdWxlLmMKKysrIGIvc3JjL2h0dHAvbmd4X2h0dHBfY29yZV9tb2R1bGUuYwpAQCAtNjIsNiArNjIsMTAgQEAKIHN0YXRpYyBuZ3hfY29uZl9wb3N0X3QgIG5neF9odHRwX2NvcmVfbG93YXRfcG9zdCA9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBuZ3hfaHR0cF9jb3JlX2xvd2F0X2NoZWNrIH07CiAKK3N0YXRpYyBuZ3hfY29uZl9kZXByZWNhdGVkX3QgIG5neF9jb25mX2RlcHJlY2F0ZWRfb3B0aW1pemVfaG9zdF9uYW1lcyA9IHsKKyAgICBuZ3hfY29uZl9kZXByZWNhdGVkLCAib3B0aW1pemVfaG9zdF9uYW1lcyIsICJvcHRpbWl6ZV9zZXJ2ZXJfbmFtZXMiCit9OworCiAKIHN0YXRpYyBuZ3hfY29uZl9lbnVtX3QgIG5neF9odHRwX3Jlc3RyaWN0X2hvc3RfbmFtZXNbXSA9IHsKICAgICB7IG5neF9zdHJpbmcoIm9mZiIpLCBOR1hfSFRUUF9SRVNUUklDVF9IT1NUX09GRiB9LApAQCAtMTM2LDEyICsxNDAsMTkgQEAKICAgICAgIG9mZnNldG9mKG5neF9odHRwX2NvcmVfc3J2X2NvbmZfdCwgcmVzdHJpY3RfaG9zdF9uYW1lcyksCiAgICAgICAmbmd4X2h0dHBfcmVzdHJpY3RfaG9zdF9uYW1lcyB9LAogCisgICAgeyBuZ3hfc3RyaW5nKCJvcHRpbWl6ZV9zZXJ2ZXJfbmFtZXMiKSwKKyAgICAgIE5HWF9IVFRQX01BSU5fQ09ORnxOR1hfSFRUUF9TUlZfQ09ORnxOR1hfQ09ORl9GTEFHLAorICAgICAgbmd4X2NvbmZfc2V0X2ZsYWdfc2xvdCwKKyAgICAgIE5HWF9IVFRQX1NSVl9DT05GX09GRlNFVCwKKyAgICAgIG9mZnNldG9mKG5neF9odHRwX2NvcmVfc3J2X2NvbmZfdCwgb3B0aW1pemVfc2VydmVyX25hbWVzKSwKKyAgICAgIE5VTEwgfSwKKwogICAgIHsgbmd4X3N0cmluZygib3B0aW1pemVfaG9zdF9uYW1lcyIpLAogICAgICAgTkdYX0hUVFBfTUFJTl9DT05GfE5HWF9IVFRQX1NSVl9DT05GfE5HWF9DT05GX0ZMQUcsCiAgICAgICBuZ3hfY29uZl9zZXRfZmxhZ19zbG90LAogICAgICAgTkdYX0hUVFBfU1JWX0NPTkZfT0ZGU0VULAotICAgICAgb2Zmc2V0b2Yobmd4X2h0dHBfY29yZV9zcnZfY29uZl90LCBvcHRpbWl6ZV9ob3N0X25hbWVzKSwKLSAgICAgIE5VTEwgfSwKKyAgICAgIG9mZnNldG9mKG5neF9odHRwX2NvcmVfc3J2X2NvbmZfdCwgb3B0aW1pemVfc2VydmVyX25hbWVzKSwKKyAgICAgICZuZ3hfY29uZl9kZXByZWNhdGVkX29wdGltaXplX2hvc3RfbmFtZXMgfSwKIAogICAgIHsgbmd4X3N0cmluZygiaWdub3JlX2ludmFsaWRfaGVhZGVycyIpLAogICAgICAgTkdYX0hUVFBfTUFJTl9DT05GfE5HWF9IVFRQX1NSVl9DT05GfE5HWF9DT05GX0ZMQUcsCkBAIC0xODQwLDcgKzE4NTEsNyBAQAogICAgIGNzY2YtPmNsaWVudF9oZWFkZXJfdGltZW91dCA9IE5HWF9DT05GX1VOU0VUX01TRUM7CiAgICAgY3NjZi0+Y2xpZW50X2hlYWRlcl9idWZmZXJfc2l6ZSA9IE5HWF9DT05GX1VOU0VUX1NJWkU7CiAgICAgY3NjZi0+cmVzdHJpY3RfaG9zdF9uYW1lcyA9IE5HWF9DT05GX1VOU0VUX1VJTlQ7Ci0gICAgY3NjZi0+b3B0aW1pemVfaG9zdF9uYW1lcyA9IE5HWF9DT05GX1VOU0VUOworICAgIGNzY2YtPm9wdGltaXplX3NlcnZlcl9uYW1lcyA9IE5HWF9DT05GX1VOU0VUOwogICAgIGNzY2YtPmlnbm9yZV9pbnZhbGlkX2hlYWRlcnMgPSBOR1hfQ09ORl9VTlNFVDsKIAogICAgIHJldHVybiBjc2NmOwpAQCAtMTkyOCw4ICsxOTM5LDggQEAKICAgICBuZ3hfY29uZl9tZXJnZV91bnNpZ25lZF92YWx1ZShjb25mLT5yZXN0cmljdF9ob3N0X25hbWVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldi0+cmVzdHJpY3RfaG9zdF9uYW1lcywgMCk7CiAKLSAgICBuZ3hfY29uZl9tZXJnZV92YWx1ZShjb25mLT5vcHRpbWl6ZV9ob3N0X25hbWVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldi0+b3B0aW1pemVfaG9zdF9uYW1lcywgMSk7CisgICAgbmd4X2NvbmZfbWVyZ2VfdmFsdWUoY29uZi0+b3B0aW1pemVfc2VydmVyX25hbWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldi0+b3B0aW1pemVfc2VydmVyX25hbWVzLCAxKTsKIAogICAgIG5neF9jb25mX21lcmdlX3ZhbHVlKGNvbmYtPmlnbm9yZV9pbnZhbGlkX2hlYWRlcnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2LT5pZ25vcmVfaW52YWxpZF9oZWFkZXJzLCAxKTsKZGlmZiAtLWdpdCBhL3NyYy9odHRwL25neF9odHRwX2NvcmVfbW9kdWxlLmggYi9zcmMvaHR0cC9uZ3hfaHR0cF9jb3JlX21vZHVsZS5oCmluZGV4IDQ4Y2JjNDIuLjQzODIyODkgMTAwNjQ0Ci0tLSBhL3NyYy9odHRwL25neF9odHRwX2NvcmVfbW9kdWxlLmgKKysrIGIvc3JjL2h0dHAvbmd4X2h0dHBfY29yZV9tb2R1bGUuaApAQCAtMTA5LDcgKzEwOSw3IEBACiAKICAgICBuZ3hfdWludF90ICAgICAgICAgICAgICAgICByZXN0cmljdF9ob3N0X25hbWVzOwogCi0gICAgbmd4X2ZsYWdfdCAgICAgICAgICAgICAgICAgb3B0aW1pemVfaG9zdF9uYW1lczsKKyAgICBuZ3hfZmxhZ190ICAgICAgICAgICAgICAgICBvcHRpbWl6ZV9zZXJ2ZXJfbmFtZXM7CiAgICAgbmd4X2ZsYWdfdCAgICAgICAgICAgICAgICAgaWdub3JlX2ludmFsaWRfaGVhZGVyczsKIH0gbmd4X2h0dHBfY29yZV9zcnZfY29uZl90OwogCmRpZmYgLS1naXQgYS9zcmMvb3MvdW5peC9uZ3hfcmVhZHZfY2hhaW4uYyBiL3NyYy9vcy91bml4L25neF9yZWFkdl9jaGFpbi5jCmluZGV4IDVjMmJiNWEuLjJlNjIxZDggMTAwNjQ0Ci0tLSBhL3NyYy9vcy91bml4L25neF9yZWFkdl9jaGFpbi5jCisrKyBiL3NyYy9vcy91bml4L25neF9yZWFkdl9jaGFpbi5jCkBAIC0xMTksNyArMTE5LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICovCiAKICAgICAgICAgICAgICAgICAgICAgbmd4X2xvZ19lcnJvcihOR1hfTE9HX0FMRVJULCBjLT5sb2csIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlY3YoKSByZXR1cm5lZCAwIHdoaWxlIGtldmVudCgpIHJlcG9ydGVkICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVhZHYoKSByZXR1cm5lZCAwIHdoaWxlIGtldmVudCgpIHJlcG9ydGVkICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJWQgYXZhaWxhYmxlIGJ5dGVzIiwgcmV2LT5hdmFpbGFibGUpOwogCiAgICAgICAgICAgICAgICAgICAgIHJldi0+ZW9mID0gMTsKZGlmZiAtLWdpdCBhL3NyYy9vcy91bml4L25neF9yZWN2LmMgYi9zcmMvb3MvdW5peC9uZ3hfcmVjdi5jCmluZGV4IGE4YTM1MWEuLmYzODczMGUgMTAwNjQ0Ci0tLSBhL3NyYy9vcy91bml4L25neF9yZWN2LmMKKysrIGIvc3JjL29zL3VuaXgvbmd4X3JlY3YuYwpAQCAtNzgsNyArNzgsNyBAQAogICAgICAgICAgICAgICAgICAgICAgKi8KIAogICAgICAgICAgICAgICAgICAgICBuZ3hfbG9nX2Vycm9yKE5HWF9MT0dfQUxFUlQsIGMtPmxvZywgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVjdigpIHJldHVybmVkIDAgd2hpbGUga2Vldm50KCkgcmVwb3J0ZWQgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWN2KCkgcmV0dXJuZWQgMCB3aGlsZSBrZXZlbnQoKSByZXBvcnRlZCAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVkIGF2YWlsYWJsZSBieXRlcyIsIHJldi0+YXZhaWxhYmxlKTsKIAogICAgICAgICAgICAgICAgICAgICByZXYtPmVvZiA9IDE7Cg==