ZGlmZiAtLWdpdCBhL3N1cHdpc2RvbS9zcF9jb21tdW5pY2F0ZS5jIGIvc3Vwd2lzZG9tL3NwX2NvbW11bmljYXRlLmMKaW5kZXggNzliNTYwMS4uZmFiNWI0NCAxMDA2NDQKLS0tIGEvc3Vwd2lzZG9tL3NwX2NvbW11bmljYXRlLmMKKysrIGIvc3Vwd2lzZG9tL3NwX2NvbW11bmljYXRlLmMKQEAgLTM2LDYgKzM2LDggQEAKICAgdWludDggdGVtcFtzaXplb2Yoc3BfcHJvdG9jb2xfcmVzcG9uc2VfdCldOwogICB0aWNrID0gc3BfZ2V0X3RpY2tlcigpOwogICBNRU1DTEVBUih0ZW1wLHNpemVvZiB0ZW1wKTsKKyAgbWVtc2V0KHBvcy0+ZXJybXNnLDAsMzIpOworICBwb3MtPmVycm1zZ2xlbiA9IDA7CiAgIHdoaWxlKDEpCiAgIHsKIApAQCAtNTcsNiArNTksMTEgQEAKICAgICAgICAgICBpZihNRU1DTVAoKHVpbnQ4KilyZXNwICtkYXRhbGVuLGNyYywyKSA9PSAwKQogICAgICAgICAgIHsKICAgICAgICAgICAgIE1FTUNMRUFSKCYocG9zLT5sYXN0X2NvbW1fc3RhdHVzKSwgc2l6ZW9mKHNwX2NvbW1fc3RhdHVzX3QpKTsKKyAgICAgICAgICAgIGlmKHJlc3AtPnJldGNvZGUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgIE1FTUNQWShwb3MtPmVycm1zZyxyZXNwLT5kYXRhLDMyKTsKKyAgICAgICAgICAgICAgcG9zLT5lcnJtc2dsZW4gPSByZXNwLT5kYXRhbGVuOworICAgICAgICAgICAgfQogICAgICAgICAgICAgcmV0dXJuIHJlc3AtPnJldGNvZGU7CiAgICAgICAgICAgfQogICAgICAgICB9CmRpZmYgLS1naXQgYS9zdXB3aXNkb20vc3BfY29uZmlnLmggYi9zdXB3aXNkb20vc3BfY29uZmlnLmgKaW5kZXggM2RhZWQwOC4uMTExOWQyOCAxMDA2NDQKLS0tIGEvc3Vwd2lzZG9tL3NwX2NvbmZpZy5oCisrKyBiL3N1cHdpc2RvbS9zcF9jb25maWcuaApAQCAtMjA0LDYgKzIwNCw4IEBACiAgIHVpbnQ4IGRldmljZW5vOwogICB1aW50OCBsb2NhbF9kZXZpY2VubzsKICAgdWludDggZGV2cGh5aWRbNF07CisgIHVpbnQ4IGVycm1zZ1szMl07IC8vwaq7+rrzzKi3tbvYtO3O89DFz6IKKyAgdWludDE2IGVycm1zZ2xlbjsKIAogICBzcF9jYXJkc3RhdGVfdCBjYXJkU3RhdGU7CiAgIHNwX3N5c2NvbmZfdCBzeXNjb25mOwpkaWZmIC0tZ2l0IGEvc3Vwd2lzZG9tL3NwX2NvbnN1bWUuYyBiL3N1cHdpc2RvbS9zcF9jb25zdW1lLmMKaW5kZXggNzU0NTM5MC4uOTBjNTI5NSAxMDA2NDQKLS0tIGEvc3Vwd2lzZG9tL3NwX2NvbnN1bWUuYworKysgYi9zdXB3aXNkb20vc3BfY29uc3VtZS5jCkBAIC02NTksNyArNjU5LDcgQEAKICAgICByZXQgPSBzcF9wcmVwYXJlX2JlaGFsZl90cmFuc2R0bChwb3MsICZDQVJEKTsKICAgICBpZihyZXQpCiAgICAgewotICAgICAgY2FyZFdvcmtTdGF0ZS0+ZXJyY29kZSA9IFJDX1FSQ09ERV9USU1FT1VUOworICAgICAgY2FyZFdvcmtTdGF0ZS0+ZXJyY29kZSA9IHJldDsKICAgICAgIGNhcmRXb3JrU3RhdGUtPmN1cnJlbnRfc3RhdGUgPSBDQVJEV09SS1NUQVRVU19FUlJPUjsKICAgICAgIGJyZWFrOwogICAgIH0KZGlmZiAtLWdpdCBhL3N1cHdpc2RvbS9zcF9kaXNwbGF5LmMgYi9zdXB3aXNkb20vc3BfZGlzcGxheS5jCmluZGV4IDc2YWIxMzYuLmExMmQxMWUgMTAwNjQ0Ci0tLSBhL3N1cHdpc2RvbS9zcF9kaXNwbGF5LmMKKysrIGIvc3Vwd2lzZG9tL3NwX2Rpc3BsYXkuYwpAQCAtMjYyLDE0ICsyNjIsMTQgQEAKICAgICBzcHJpbnRmKG1zZywgIiVzIiwgIrv6usW5/bTzIik7CiAgICAgYnJlYWs7CiAgIGNhc2UgUkNfUVJDT0RFX0ZBSUxVUkU6Ci0gICAgc3ByaW50Zihtc2csICIlcyIsICK2/s6swuu78cihyqew3CIpOwotICAgIGJyZWFrOworICAJZGlzcF9zZXJ2ZXJfZXJybXNnKHBvcywiu/HIocqnsNwiLHBvcy0+ZXJybXNnLHBvcy0+ZXJybXNnbGVuKTsKKyAgCXJldHVybjsKICAgY2FzZSBSQ19RUkNPREVfVElNRU9VVDoKICAgICBzcHJpbnRmKG1zZywgIiVzIiwgIrb+zqzC67OsyrEiKTsKICAgICBicmVhazsKICAgY2FzZSBSQ19RUkNPREVfUVVFUllfRkFJTDoKLSAgICBzcHJpbnRmKG1zZywgIiVzIiwgIrb+zqzC68jP1qTKp7DcIik7Ci0gICAgYnJlYWs7CisgIAlkaXNwX3NlcnZlcl9lcnJtc2cocG9zLCLIz9akyqew3CIscG9zLT5lcnJtc2cscG9zLT5lcnJtc2dsZW4pOworICAJcmV0dXJuOwogICBjYXNlIFJDX0RFVl9OT1RfTE9HSU46CiAgICAgc3ByaW50Zihtc2csICIlcyIsICLJ6LG4zrTHqbW9Iik7CiAgICAgYnJlYWs7CkBAIC0yODAsOCArMjgwLDggQEAKICAgICBzcHJpbnRmKG1zZywgIiVzIiwgIsH3wb+8xsvjtaXOu860yejWwyIpOwogICAgIGJyZWFrOwogICBjYXNlIFJDX0NBUkRfQVVUSEVOVElDQVRJT046Ci0gICAgc3ByaW50Zihtc2csICIlcyIsICLJ7bfdyM/WpLOsyrEiKTsKLSAgICBicmVhazsKKyAgCWRpc3Bfc2VydmVyX2Vycm1zZyhwb3MsIsjP1qTKp7DcIixwb3MtPmVycm1zZyxwb3MtPmVycm1zZ2xlbik7CisgIAlyZXR1cm47CiAgIGNhc2UgUkNfTElNSVRfQ09OU1VNUFRJT046CiAgICAgc3ByaW50Zihtc2csICIlcyIsICK4w9PDu6exu8/e1sbP+7fRIik7CiAgICAgYnJlYWs7Cg==