ZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvS2NvbmZpZyBiL2FyY2gvYXJtL21hY2gtb21hcDIvS2NvbmZpZwppbmRleCBjZjQyNjhlLi43MDY5YzlkIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL0tjb25maWcKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9LY29uZmlnCkBAIC0xMSw2ICsxMSwxMCBAQAogCXNlbGVjdCBPTUFQX0RNX1RJTUVSCiAJc2VsZWN0IEFSQ0hfT01BUF9PVEcKIAorY29uZmlnIEFSQ0hfT01BUDI0MzAKKwlib29sICJPTUFQMjQzMCBzdXBwb3J0IgorCWRlcGVuZHMgb24gQVJDSF9PTUFQMjRYWAorCiBjb21tZW50ICJPTUFQIEJvYXJkIFR5cGUiCiAJZGVwZW5kcyBvbiBBUkNIX09NQVAyCiAKQEAgLTI2LDMgKzMwLDggQEAKIGNvbmZpZyBNQUNIX09NQVBfQVBPTExPTgogCWJvb2wgIk9NQVAgMjQyMCBBcG9sbG9uIGJvYXJkIgogCWRlcGVuZHMgb24gQVJDSF9PTUFQMiAmJiBBUkNIX09NQVAyNFhYCisKK2NvbmZpZyBNQUNIX09NQVBfMjQzMFNEUAorCWJvb2wgIk9NQVAgMjQzMCBTRFAgYm9hcmQiCisJZGVwZW5kcyBvbiBBUkNIX09NQVAyICYmIEFSQ0hfT01BUDI0WFgKKwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9NYWtlZmlsZSBiL2FyY2gvYXJtL21hY2gtb21hcDIvTWFrZWZpbGUKaW5kZXggMjY2ZDg4ZS4uYjA1YjczOCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL01ha2VmaWxlCkBAIC0xNCw1ICsxNCw2IEBACiAjIFNwZWNpZmljIGJvYXJkIHN1cHBvcnQKIG9iai0kKENPTkZJR19NQUNIX09NQVBfR0VORVJJQykJCSs9IGJvYXJkLWdlbmVyaWMubwogb2JqLSQoQ09ORklHX01BQ0hfT01BUF9INCkJCSs9IGJvYXJkLWg0Lm8KK29iai0kKENPTkZJR19NQUNIX09NQVBfMjQzMFNEUCkJCSs9IGJvYXJkLTI0MzBzZHAubwogb2JqLSQoQ09ORklHX01BQ0hfT01BUF9BUE9MTE9OKQkJKz0gYm9hcmQtYXBvbGxvbi5vCiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvYm9hcmQtMjQzMHNkcC5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9ib2FyZC0yNDMwc2RwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2U3NmZiZgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvYm9hcmQtMjQzMHNkcC5jCkBAIC0wLDAgKzEsMjE4IEBACisvKgorICogbGludXgvYXJjaC9hcm0vbWFjaC1vbWFwMi9ib2FyZC0yNDMwc2RwLmMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgVGV4YXMgSW5zdHJ1bWVudHMKKyAqCisgKiBNb2RpZmllZCBmcm9tIG1hY2gtb21hcDIvYm9hcmQtZ2VuZXJpYy5jCisgKgorICogSW5pdGlhbCBDb2RlIDogQmFzZWQgb24gYSBwYXRjaCBmcm9tIEtvbWFsIFNoYWggYW5kIFJpY2hhcmQgV29vZHJ1ZmYKKyAqIFVwZGF0ZWQgdGhlIENvZGUgZm9yIDI0MzAgU0RQIDogU3llZCBNb2hhbW1lZCBLaGFzaW0KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL210ZC5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9wYXJ0aXRpb25zLmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnIuaD4KKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2ZsYXNoLmg+CisKKyNpbmNsdWRlIDxhc20vYXJjaC9ncGlvLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbXV4Lmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9jb21tb24uaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9ncG1jLmg+CisjaW5jbHVkZSAicHJjbS1yZWdzLmgiCisKKyNpbmNsdWRlIDxhc20vaW8uaD4KKworCisjZGVmaW5lCVNEUDI0MzBfRkxBU0hfQ1MJMAorI2RlZmluZQlTRFAyNDMwX1NNQzkxWF9DUwk1CisKK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiBzZHAyNDMwX3BhcnRpdGlvbnNbXSA9IHsKKwkvKiBib290bG9hZGVyIChVLUJvb3QsIGV0YykgaW4gZmlyc3Qgc2VjdG9yICovCisJeworCQkubmFtZQkJPSAiYm9vdGxvYWRlciIsCisJCS5vZmZzZXQJCT0gMCwKKwkJLnNpemUJCT0gU1pfMjU2SywKKwkJLm1hc2tfZmxhZ3MJPSBNVERfV1JJVEVBQkxFLAkvKiBmb3JjZSByZWFkLW9ubHkgKi8KKwkgfSwKKwkvKiBib290bG9hZGVyIHBhcmFtcyBpbiB0aGUgbmV4dCBzZWN0b3IgKi8KKwl7CisJCS5uYW1lCQk9ICJwYXJhbXMiLAorCQkub2Zmc2V0CQk9IE1URFBBUlRfT0ZTX0FQUEVORCwKKwkJLnNpemUJCT0gU1pfMTI4SywKKwkJLm1hc2tfZmxhZ3MJPSAwLAorCSB9LAorCS8qIGtlcm5lbCAqLworCXsKKwkJLm5hbWUJCT0gImtlcm5lbCIsCisJCS5vZmZzZXQJCT0gTVREUEFSVF9PRlNfQVBQRU5ELAorCQkuc2l6ZQkJPSBTWl8yTSwKKwkJLm1hc2tfZmxhZ3MJPSAwCisJfSwKKwkvKiBmaWxlIHN5c3RlbSAqLworCXsKKwkJLm5hbWUJCT0gImZpbGVzeXN0ZW0iLAorCQkub2Zmc2V0CQk9IE1URFBBUlRfT0ZTX0FQUEVORCwKKwkJLnNpemUJCT0gTVREUEFSVF9TSVpfRlVMTCwKKwkJLm1hc2tfZmxhZ3MJPSAwCisJfQorfTsKKworc3RhdGljIHN0cnVjdCBmbGFzaF9wbGF0Zm9ybV9kYXRhIHNkcDI0MzBfZmxhc2hfZGF0YSA9IHsKKwkubWFwX25hbWUJPSAiY2ZpX3Byb2JlIiwKKwkud2lkdGgJCT0gMiwKKwkucGFydHMJCT0gc2RwMjQzMF9wYXJ0aXRpb25zLAorCS5ucl9wYXJ0cwk9IEFSUkFZX1NJWkUoc2RwMjQzMF9wYXJ0aXRpb25zKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugc2RwMjQzMF9mbGFzaF9yZXNvdXJjZSA9IHsKKwkuc3RhcnQJCT0gU0RQMjQzMF9DUzBfQkFTRSwKKwkuZW5kCQk9IFNEUDI0MzBfQ1MwX0JBU0UgKyBTWl82NE0gLSAxLAorCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHNkcDI0MzBfZmxhc2hfZGV2aWNlID0geworCS5uYW1lCQk9ICJvbWFwZmxhc2giLAorCS5pZAkJPSAwLAorCS5kZXYgPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJnNkcDI0MzBfZmxhc2hfZGF0YSwKKwl9LAorCS5udW1fcmVzb3VyY2VzCT0gMSwKKwkucmVzb3VyY2UJPSAmc2RwMjQzMF9mbGFzaF9yZXNvdXJjZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugc2RwMjQzMF9zbWM5MXhfcmVzb3VyY2VzW10gPSB7CisJWzBdID0geworCQkuc3RhcnQJPSBTRFAyNDMwX0NTMF9CQVNFLAorCQkuZW5kCT0gU0RQMjQzMF9DUzBfQkFTRSArIFNaXzY0TSAtIDEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJWzFdID0geworCQkuc3RhcnQJPSBPTUFQX0dQSU9fSVJRKE9NQVAyNFhYX0VUSFJfR1BJT19JUlEpLAorCQkuZW5kCT0gT01BUF9HUElPX0lSUShPTUFQMjRYWF9FVEhSX0dQSU9fSVJRKSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHNkcDI0MzBfc21jOTF4X2RldmljZSA9IHsKKwkubmFtZQkJPSAic21jOTF4IiwKKwkuaWQJCT0gLTEsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKHNkcDI0MzBfc21jOTF4X3Jlc291cmNlcyksCisJLnJlc291cmNlCT0gc2RwMjQzMF9zbWM5MXhfcmVzb3VyY2VzLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnNkcDI0MzBfZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7CisJJnNkcDI0MzBfc21jOTF4X2RldmljZSwKKwkmc2RwMjQzMF9mbGFzaF9kZXZpY2UsCit9OworCitzdGF0aWMgaW5saW5lIHZvaWQgX19pbml0IHNkcDI0MzBfaW5pdF9zbWM5MXgodm9pZCkKK3sKKwlpbnQgZXRoX2NzOworCXVuc2lnbmVkIGxvbmcgY3NfbWVtX2Jhc2U7CisJdW5zaWduZWQgaW50IHJhdGU7CisJc3RydWN0IGNsayAqbDNjazsKKworCWV0aF9jcyA9IFNEUDI0MzBfU01DOTFYX0NTOworCisJbDNjayA9IGNsa19nZXQoTlVMTCwgImNvcmVfbDNfY2siKTsKKwlpZiAoSVNfRVJSKGwzY2spKQorCQlyYXRlID0gMTAwMDAwMDAwOworCWVsc2UKKwkJcmF0ZSA9IGNsa19nZXRfcmF0ZShsM2NrKTsKKworCS8qIE1ha2Ugc3VyZSBDUzEgdGltaW5ncyBhcmUgY29ycmVjdCwgZm9yIDI0MzAgYWx3YXlzIG11eGVkICovCisJZ3BtY19jc193cml0ZV9yZWcoZXRoX2NzLCBHUE1DX0NTX0NPTkZJRzEsIDB4MDAwMTEyMDApOworCisJaWYgKHJhdGUgPj0gMTYwMDAwMDAwKSB7CisJCWdwbWNfY3Nfd3JpdGVfcmVnKGV0aF9jcywgR1BNQ19DU19DT05GSUcyLCAweDAwMWYxZjAxKTsKKwkJZ3BtY19jc193cml0ZV9yZWcoZXRoX2NzLCBHUE1DX0NTX0NPTkZJRzMsIDB4MDAwODA4MDMpOworCQlncG1jX2NzX3dyaXRlX3JlZyhldGhfY3MsIEdQTUNfQ1NfQ09ORklHNCwgMHgxYzBiMWMwYSk7CisJCWdwbWNfY3Nfd3JpdGVfcmVnKGV0aF9jcywgR1BNQ19DU19DT05GSUc1LCAweDA0MWYxRjFGKTsKKwkJZ3BtY19jc193cml0ZV9yZWcoZXRoX2NzLCBHUE1DX0NTX0NPTkZJRzYsIDB4MDAwMDA0QzQpOworCX0gZWxzZSBpZiAocmF0ZSA+PSAxMzAwMDAwMDApIHsKKwkJZ3BtY19jc193cml0ZV9yZWcoZXRoX2NzLCBHUE1DX0NTX0NPTkZJRzIsIDB4MDAxZjFmMDApOworCQlncG1jX2NzX3dyaXRlX3JlZyhldGhfY3MsIEdQTUNfQ1NfQ09ORklHMywgMHgwMDA4MDgwMik7CisJCWdwbWNfY3Nfd3JpdGVfcmVnKGV0aF9jcywgR1BNQ19DU19DT05GSUc0LCAweDFDMDkxQzA5KTsKKwkJZ3BtY19jc193cml0ZV9yZWcoZXRoX2NzLCBHUE1DX0NTX0NPTkZJRzUsIDB4MDQxZjFGMUYpOworCQlncG1jX2NzX3dyaXRlX3JlZyhldGhfY3MsIEdQTUNfQ1NfQ09ORklHNiwgMHgwMDAwMDRDNCk7CisJfSBlbHNlIHsgLyogcmF0ZSA9IDEwMDAwMDAwMCAqLworCQlncG1jX2NzX3dyaXRlX3JlZyhldGhfY3MsIEdQTUNfQ1NfQ09ORklHMiwgMHgwMDFmMWYwMCk7CisJCWdwbWNfY3Nfd3JpdGVfcmVnKGV0aF9jcywgR1BNQ19DU19DT05GSUczLCAweDAwMDgwODAyKTsKKwkJZ3BtY19jc193cml0ZV9yZWcoZXRoX2NzLCBHUE1DX0NTX0NPTkZJRzQsIDB4MUMwOTFDMDkpOworCQlncG1jX2NzX3dyaXRlX3JlZyhldGhfY3MsIEdQTUNfQ1NfQ09ORklHNSwgMHgwMzFBMUYxRik7CisJCWdwbWNfY3Nfd3JpdGVfcmVnKGV0aF9jcywgR1BNQ19DU19DT05GSUc2LCAweDAwMDAwM0MyKTsKKwl9CisKKwlpZiAoZ3BtY19jc19yZXF1ZXN0KGV0aF9jcywgU1pfMTZNLCAmY3NfbWVtX2Jhc2UpIDwgMCkgeworCQlwcmludGsoS0VSTl9FUlIgIkZhaWxlZCB0byByZXF1ZXN0IEdQTUMgbWVtIGZvciBzbWM5MXhcbiIpOworCQlyZXR1cm47CisJfQorCisJc2RwMjQzMF9zbWM5MXhfcmVzb3VyY2VzWzBdLnN0YXJ0ID0gY3NfbWVtX2Jhc2UgKyAweDMwMDsKKwlzZHAyNDMwX3NtYzkxeF9yZXNvdXJjZXNbMF0uZW5kID0gY3NfbWVtX2Jhc2UgKyAweDMwZjsKKwl1ZGVsYXkoMTAwKTsKKworCWlmIChvbWFwX3JlcXVlc3RfZ3BpbyhPTUFQMjRYWF9FVEhSX0dQSU9fSVJRKSA8IDApIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJGYWlsZWQgdG8gcmVxdWVzdCBHUElPJWQgZm9yIHNtYzkxeCBJUlFcbiIsCisJCQlPTUFQMjRYWF9FVEhSX0dQSU9fSVJRKTsKKwkJZ3BtY19jc19mcmVlKGV0aF9jcyk7CisJCXJldHVybjsKKwl9CisJb21hcF9zZXRfZ3Bpb19kaXJlY3Rpb24oT01BUDI0WFhfRVRIUl9HUElPX0lSUSwgMSk7CisKK30KKworc3RhdGljIHZvaWQgX19pbml0IG9tYXBfMjQzMHNkcF9pbml0X2lycSh2b2lkKQoreworCW9tYXAyX2luaXRfY29tbW9uX2h3KCk7CisJb21hcF9pbml0X2lycSgpOworCW9tYXBfZ3Bpb19pbml0KCk7CisJc2RwMjQzMF9pbml0X3NtYzkxeCgpOworfQorCitzdGF0aWMgc3RydWN0IG9tYXBfdWFydF9jb25maWcgc2RwMjQzMF91YXJ0X2NvbmZpZyBfX2luaXRkYXRhID0geworCS5lbmFibGVkX3VhcnRzID0gKCgxIDw8IDApIHwgKDEgPDwgMSkgfCAoMSA8PCAyKSksCit9OworCitzdGF0aWMgc3RydWN0IG9tYXBfYm9hcmRfY29uZmlnX2tlcm5lbCBzZHAyNDMwX2NvbmZpZ1tdID0geworCXtPTUFQX1RBR19VQVJULCAmc2RwMjQzMF91YXJ0X2NvbmZpZ30sCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgb21hcF8yNDMwc2RwX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9hZGRfZGV2aWNlcyhzZHAyNDMwX2RldmljZXMsIEFSUkFZX1NJWkUoc2RwMjQzMF9kZXZpY2VzKSk7CisJb21hcF9ib2FyZF9jb25maWcgPSBzZHAyNDMwX2NvbmZpZzsKKwlvbWFwX2JvYXJkX2NvbmZpZ19zaXplID0gQVJSQVlfU0laRShzZHAyNDMwX2NvbmZpZyk7CisJb21hcF9zZXJpYWxfaW5pdCgpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgb21hcF8yNDMwc2RwX21hcF9pbyh2b2lkKQoreworCW9tYXAyX21hcF9jb21tb25faW8oKTsKK30KKworTUFDSElORV9TVEFSVChPTUFQXzI0MzBTRFAsICJPTUFQMjQzMCBzZHAyNDMwIGJvYXJkIikKKwkvKiBNYWludGFpbmVyOiBTeWVkIEtoYXNpbSAtIFRleGFzIEluc3RydW1lbnRzIEluYyAqLworCS5waHlzX2lvCT0gMHg0ODAwMDAwMCwKKwkuaW9fcGdfb2Zmc3QJPSAoKDB4ZDgwMDAwMDApID4+IDE4KSAmIDB4ZmZmYywKKwkuYm9vdF9wYXJhbXMJPSAweDgwMDAwMTAwLAorCS5tYXBfaW8JCT0gb21hcF8yNDMwc2RwX21hcF9pbywKKwkuaW5pdF9pcnEJPSBvbWFwXzI0MzBzZHBfaW5pdF9pcnEsCisJLmluaXRfbWFjaGluZQk9IG9tYXBfMjQzMHNkcF9pbml0LAorCS50aW1lcgkJPSAmb21hcF90aW1lciwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL2RldmljZXMuYyBiL2FyY2gvYXJtL21hY2gtb21hcDIvZGV2aWNlcy5jCmluZGV4IDUyZWMyZjIuLmI2MDNiYzUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvZGV2aWNlcy5jCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvZGV2aWNlcy5jCkBAIC01NSw4ICs1NSwxMCBAQAogCWlmIChtYWNoaW5lX2lzX29tYXBfaDQoKSkKIAkJcmV0dXJuOwogCi0Jb21hcF9jZmdfcmVnKEoxNV8yNFhYX0kyQzJfU0NMKTsKLQlvbWFwX2NmZ19yZWcoSDE5XzI0WFhfSTJDMl9TREEpOworCWlmICghY3B1X2lzX29tYXAyNDMwKCkpIHsKKwkJb21hcF9jZmdfcmVnKEoxNV8yNFhYX0kyQzJfU0NMKTsKKwkJb21hcF9jZmdfcmVnKEgxOV8yNFhYX0kyQzJfU0RBKTsKKwl9CiAJKHZvaWQpIHBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmb21hcF9pMmNfZGV2aWNlMik7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvZ3BtYy5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9ncG1jLmMKaW5kZXggNmQ2YjI1Yy4uMDM1OTVlZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9ncG1jLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9ncG1jLmMKQEAgLTIyLDcgKzIyLDE0IEBACiAKICN1bmRlZiBERUJVRwogCisjaWZkZWYgQ09ORklHX0FSQ0hfT01BUDI0MjAKICNkZWZpbmUgR1BNQ19CQVNFCQkweDY4MDBhMDAwCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19BUkNIX09NQVAyNDMwCisjZGVmaW5lIEdQTUNfQkFTRQkJMHg2RTAwMDAwMAorI2VuZGlmCisKICNkZWZpbmUgR1BNQ19SRVZJU0lPTgkJMHgwMAogI2RlZmluZSBHUE1DX1NZU0NPTkZJRwkJMHgxMAogI2RlZmluZSBHUE1DX1NZU1NUQVRVUwkJMHgxNApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9pZC5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9pZC5jCmluZGV4IDg3MWFjZTQuLjRkZmQ4NzggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvaWQuYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL2lkLmMKQEAgLTE3LDcgKzE3LDEzIEBACiAKICNpbmNsdWRlIDxhc20vaW8uaD4KIAorI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDI0MjApCiAjZGVmaW5lIE9NQVAyNFhYX1RBUF9CQVNFCWlvX3AydigweDQ4MDE0MDAwKQorI2VuZGlmCisKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAyNDMwKQorI2RlZmluZSBPTUFQMjRYWF9UQVBfQkFTRQlpb19wMnYoMHg0OTAwQTAwMCkKKyNlbmRpZgogCiAjZGVmaW5lIE9NQVBfVEFQX0lEQ09ERQkJMHgwMjA0CiAjZGVmaW5lIE9NQVBfVEFQX1BST0RfSUQJMHgwMjA4CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL2lvLmMgYi9hcmNoL2FybS9tYWNoLW9tYXAyL2lvLmMKaW5kZXggYTU3YTQyOS4uNWE0MDkxZiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9pby5jCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvaW8uYwpAQCAtNSw2ICs1LDcgQEAKICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDUgTm9raWEgQ29ycG9yYXRpb24KICAqIEF1dGhvcjogSnVoYSBZcmr2bOQgPGp1aGEueXJqb2xhQG5va2lhLmNvbT4KKyAqIFVwZGF0ZWQgbWFwIGRlc2MgdG8gYWRkIDI0MzAgc3VwcG9ydCA6IDx4MGtoYXNpbUB0aS5jb20+CiAgKgogICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCkBAIC00MSw2ICs0MiwyMCBAQAogCQkubGVuZ3RoCQk9IEwzXzI0WFhfU0laRSwKIAkJLnR5cGUJCT0gTVRfREVWSUNFCiAJfSwKKyNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMjQzMAorCXsKKwkJLnZpcnR1YWwJPSBMNF9XS18yNDNYX1ZJUlQsCisJCS5wZm4JCT0gX19waHlzX3RvX3BmbihMNF9XS18yNDNYX1BIWVMpLAorCQkubGVuZ3RoCQk9IEw0X1dLXzI0M1hfU0laRSwKKwkJLnR5cGUJCT0gTVRfREVWSUNFCisJfSwKKwl7CisJCS52aXJ0dWFsCT0gT01BUDI0M1hfR1BNQ19WSVJULAorCQkucGZuCQk9IF9fcGh5c190b19wZm4oT01BUDI0M1hfR1BNQ19QSFlTKSwKKwkJLmxlbmd0aAkJPSBPTUFQMjQzWF9HUE1DX1NJWkUsCisJCS50eXBlCQk9IE1UX0RFVklDRQorCX0sCisjZW5kaWYKIAl7CiAJCS52aXJ0dWFsCT0gRFNQX01FTV8yNFhYX1ZJUlQsCiAJCS5wZm4JCT0gX19waHlzX3RvX3BmbihEU1BfTUVNXzI0WFhfUEhZUyksCkBAIC04MSw2ICs5NiwxMSBAQAogewogCW9tYXAyX211eF9pbml0KCk7CiAJb21hcDJfY2xrX2luaXQoKTsKKy8qCisgKiBOZWVkIHRvIEZpeCB0aGlzIGZvciAyNDMwCisgKi8KKyNpZm5kZWYgQ09ORklHX0FSQ0hfT01BUDI0MzAKIAlvbWFwMl9pbml0X21lbW9yeSgpOworI2VuZGlmCiAJZ3BtY19pbml0KCk7CiB9Cg==