VGhpcyBhdm9pZHMgbWFueSBzdGFjayBvdmVyZmxvdyBhdHRhY2tzIHdoaWNoIG1vZGlmaWVkIHRo ZSB0aHJlYWRfaW5mbwpzdHJ1Y3R1cmUgYnkgbW92aW5nIHRoYXQgaW50byB0aGUgdGFza19zdHJ1 Y3QgYXMgaXMgZG9uZSBpcyBhbG1vc3QgYWxsCm90aGVyIGFyY2hpdGVjdHVyZXMuCgpUaGUgdGFz a19zdHJ1Y3QgaXMgbm93IHJlZmVyZW5jZWQgYnkgYSBwZXItY3B1IHZhcmlhYmxlLAonY3VycmVu dF90YXNrJywgYWxsb3dpbmcgdGhlIGN1cnJlbnQgb25lIG9uIGVhY2ggY3B1IHRvIGJlIGxvY2F0 ZWQKZnJvbSBib3RoIEMgYW5kIGFzc2VtYmx5LgoKVGhpcyBhbHNvIGludm9sdmVkIHJlbW92aW5n IHRoZSAnY3B1JyBtZW1iZXIgZnJvbSB0aGUgdGhyZWFkX2luZm8Kc3RydWN0IGFuZCB1c2luZyB0 aGUgb25lIGZvdW5kIGluIHRoZSB0YXNrX3N0cnVjdCBpbnN0ZWFkLiBUaGF0IGlzCm1vc3RseSB1 c2VkIGluIGFzbSBjb2RlLCB3aGVyZSBpdCBtaWdodCByZWFzb25hYmx5IGJlIHJlcGxhY2VkIHdp dGgKdGhlIHJlY2VudCBwZXItY3B1ICdjcHVfbnVtYmVyJyB2YXJpYWJsZS4KClNpZ25lZC1vZmYt Ynk6IEtlaXRoIFBhY2thcmQgPGtlaXRocGFjQGFtYXpvbi5jb20+Ci0tLQogYXJjaC9hcm0vS2Nv bmZpZyAgICAgICAgICAgICAgICAgICB8ICAxICsKIGFyY2gvYXJtL2luY2x1ZGUvYXNtL2Fzc2Vt Ymxlci5oICAgfCA2MyArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KIGFyY2gvYXJtL2lu Y2x1ZGUvYXNtL2N1cnJlbnQuaCAgICAgfCAzNiArKysrKysrKysrKysrKysrKwogYXJjaC9hcm0v aW5jbHVkZS9hc20vc21wLmggICAgICAgICB8ICAxICsKIGFyY2gvYXJtL2luY2x1ZGUvYXNtL3Ro cmVhZF9pbmZvLmggfCAxNCAtLS0tLS0tCiBhcmNoL2FybS9pbmNsdWRlL2FzbS90bHMuaCAgICAg ICAgIHwgIDQgKy0KIGFyY2gvYXJtL2luY2x1ZGUvYXNtL3VhY2Nlc3MtYXNtLmggfCAgNiArLS0K IGFyY2gvYXJtL2tlcm5lbC9hc20tb2Zmc2V0cy5jICAgICAgfCAzMSArKysrKysrKy0tLS0tLS0K IGFyY2gvYXJtL2tlcm5lbC9lbnRyeS1hcm12LlMgICAgICAgfCA0NSArKysrKysrKysrLS0tLS0t LS0tLS0KIGFyY2gvYXJtL2tlcm5lbC9lbnRyeS1jb21tb24uUyAgICAgfCAyMCArKysrKy0tLS0t CiBhcmNoL2FybS9rZXJuZWwvZW50cnktdjdtLlMgICAgICAgIHwgMTIgKysrLS0tCiBhcmNoL2Fy bS9rZXJuZWwvaXdtbXh0LlMgICAgICAgICAgIHwgMTQgKysrLS0tLQogYXJjaC9hcm0va2VybmVs L3Byb2Nlc3MuYyAgICAgICAgICB8ICAxICsKIGFyY2gvYXJtL2tlcm5lbC9zZXR1cC5jICAgICAg ICAgICAgfCAgOSArKy0tLQogYXJjaC9hcm0va2VybmVsL3NtcC5jICAgICAgICAgICAgICB8IDEy ICsrKysrLQogYXJjaC9hcm0vbGliL2NvcHlfZnJvbV91c2VyLlMgICAgICB8ICA0ICstCiBhcmNo L2FybS9saWIvY29weV90b191c2VyLlMgICAgICAgIHwgIDQgKy0KIGFyY2gvYXJtL21hY2gtZXA5 M3h4L2NydW5jaC1iaXRzLlMgfCAgMiArLQogYXJjaC9hcm0vdmZwL2VudHJ5LlMgICAgICAgICAg ICAgICB8ICA0ICstCiBhcmNoL2FybS92ZnAvdmZwbW9kdWxlLmMgICAgICAgICAgIHwgMjkgKysr KysrKy0tLS0tLS0KIDIwIGZpbGVzIGNoYW5nZWQsIDE5MyBpbnNlcnRpb25zKCspLCAxMTkgZGVs ZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm0vaW5jbHVkZS9hc20vY3VycmVu dC5oCgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vS2NvbmZpZyBiL2FyY2gvYXJtL0tjb25maWcKaW5k ZXggMjQ4MDRmMTEzMDJkLi4xYmUxNmM3ZDczNjAgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL0tjb25m aWcKKysrIGIvYXJjaC9hcm0vS2NvbmZpZwpAQCAtMTI4LDYgKzEyOCw3IEBAIGNvbmZpZyBBUk0K IAlzZWxlY3QgUlRDX0xJQgogCXNlbGVjdCBTRVRfRlMKIAlzZWxlY3QgU1lTX1NVUFBPUlRTX0FQ TV9FTVVMQVRJT04KKwlzZWxlY3QgVEhSRUFEX0lORk9fSU5fVEFTSwogCSMgQWJvdmUgc2VsZWN0 cyBhcmUgc29ydGVkIGFscGhhYmV0aWNhbGx5OyBwbGVhc2UgYWRkIG5ldyBvbmVzCiAJIyBhY2Nv cmRpbmcgdG8gdGhhdC4gIFRoYW5rcy4KIAloZWxwCmRpZmYgLS1naXQgYS9hcmNoL2FybS9pbmNs dWRlL2FzbS9hc3NlbWJsZXIuaCBiL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2Fzc2VtYmxlci5oCmlu ZGV4IGUyYjFmZDU1OGJmMy4uNzcyM2JlZWQ1Y2Q5IDEwMDY0NAotLS0gYS9hcmNoL2FybS9pbmNs dWRlL2FzbS9hc3NlbWJsZXIuaAorKysgYi9hcmNoL2FybS9pbmNsdWRlL2FzbS9hc3NlbWJsZXIu aApAQCAtMjAwLDEzICsyMDAsNTQgQEAKIAkuZW5kcgogCiAvKgotICogR2V0IGN1cnJlbnQgdGhy ZWFkX2luZm8uCisgKiBHZXQgcGVyLUNQVSBvZmZzZXQKKyAqIHJkOiBEZXN0aW5hdGlvbiByZWdp c3RlcgogICovCi0JLm1hY3JvCWdldF90aHJlYWRfaW5mbywgcmQKLSBBUk0oCW1vdglccmQsIHNw LCBsc3IgI1RIUkVBRF9TSVpFX09SREVSICsgUEFHRV9TSElGVAkpCi0gVEhVTUIoCW1vdglccmQs IHNwCQkJKQotIFRIVU1CKAlsc3IJXHJkLCBccmQsICNUSFJFQURfU0laRV9PUkRFUiArIFBBR0Vf U0hJRlQJKQotCW1vdglccmQsIFxyZCwgbHNsICNUSFJFQURfU0laRV9PUkRFUiArIFBBR0VfU0hJ RlQKKwkubWFjcm8gdGhpc19jcHVfb2Zmc2V0IHJkOnJlcQorCW1yYyBwMTUsIDAsIFxyZCwgYzEz LCBjMCwgNAorCS5lbmRtCisKKy8qCisgKiBMb2FkIGEgcGVyLWNwdSB2YXJpYWJsZQorICogQGRz dDogRGVzdGluYXRpb24gcmVnaXN0ZXIgdG8gcmVjZWl2ZSB2YWx1ZQorICogQHN5bTogVGhlIG5h bWUgb2YgdGhlIHBlci1jcHUgdmFyaWFibGUKKyAqIEB0bXA6IHNjcmF0Y2ggcmVnaXN0ZXIKKyAq LworCS5tYWNybyBsZHJfdGhpc19jcHUgZHN0IDogcmVxLCBzeW0gOiByZXEsIHRtcCA6IHJlcQor CW1vdncJXGRzdCwgIzpsb3dlcjE2OlxzeW0KKwltb3Z0CVxkc3QsICM6dXBwZXIxNjpcc3ltCisJ dGhpc19jcHVfb2Zmc2V0IFx0bXAKKwlsZHIJXGRzdCwgW1xkc3QsIFx0bXBdCisJLmVuZG0KKwor LyoKKyAqIFN0b3JlIGEgdmFsdWUgaW4gYSBwZXItY3B1IHZhcmlhYmxlCisgKiBAc3JjOiBTb3Vy Y2UgcmVnaXN0ZXIgd2l0aCB2YWx1ZQorICogQHN5bTogVGhlIG5hbWUgb2YgdGhlIHBlci1jcHUg dmFyaWFibGUKKyAqIEB0MTogc2NyYXRjaCByZWdpc3RlciAxCisgKiBAdDI6IHNjcmF0Y2ggcmVn aXN0ZXIgMgorICovCisJLm1hY3JvIHN0cl90aGlzX2NwdSBzcmMgOiByZXEsIHN5bSA6IHJlcSwg dDEgOiByZXEsIHQyIDogcmVxCisJbW92dwlcdDEsICM6bG93ZXIxNjpcc3ltCisJbW92dAlcdDEs ICM6dXBwZXIxNjpcc3ltCisJdGhpc19jcHVfb2Zmc2V0IFx0MgorCXN0cglcc3JjLCBbXHQxLCBc dDJdCisJLmVuZG0KKwkKKy8qCisgKiBHZXQgY3VycmVudCB0YXNrX2luZm8KKyAqIEBkc3Q6IERl c3RpbmF0aW9uIHJlZ2lzdGVyIHRvIHJlY2VpdmUgY3VycmVudCB0YXNrCisgKiBAdG1wOiBzY3Jh dGNoIHJlZ2lzdGVyCisgKi8KKwkubWFjcm8gZ2V0X2N1cnJlbnQsIGRzdCA6IHJlcSwgdG1wIDog cmVxCisJbGRyX3RoaXNfY3B1IFxkc3QsIGN1cnJlbnRfdGFzaywgXHRtcAorCS5lbmRtCisKKy8q CisgKiBTZXQgY3VycmVudCB0YXNrIGluZm8KKyAqLworCS5tYWNybwlzZXRfY3VycmVudF90YXNr IHJzIDogcmVxLCB0MSA6IHJlcSwgdDIgOiByZXEKKwlzdHJfdGhpc19jcHUgXHJzLCBjdXJyZW50 X3Rhc2ssIFx0MSwgXHQyCiAJLmVuZG0KIAogLyoKQEAgLTIxNCwxOSArMjU1LDE5IEBACiAgKi8K ICNpZmRlZiBDT05GSUdfUFJFRU1QVF9DT1VOVAogCS5tYWNybwlpbmNfcHJlZW1wdF9jb3VudCwg dGksIHRtcAotCWxkcglcdG1wLCBbXHRpLCAjVElfUFJFRU1QVF0JQCBnZXQgcHJlZW1wdCBjb3Vu dAorCWxkcglcdG1wLCBbXHRpLCAjVFNLX1RJX1BSRUVNUFRdCUAgZ2V0IHByZWVtcHQgY291bnQK IAlhZGQJXHRtcCwgXHRtcCwgIzEJCQlAIGluY3JlbWVudCBpdAotCXN0cglcdG1wLCBbXHRpLCAj VElfUFJFRU1QVF0KKwlzdHIJXHRtcCwgW1x0aSwgI1RTS19USV9QUkVFTVBUXQogCS5lbmRtCiAK IAkubWFjcm8JZGVjX3ByZWVtcHRfY291bnQsIHRpLCB0bXAKLQlsZHIJXHRtcCwgW1x0aSwgI1RJ X1BSRUVNUFRdCUAgZ2V0IHByZWVtcHQgY291bnQKKwlsZHIJXHRtcCwgW1x0aSwgI1RTS19USV9Q UkVFTVBUXQlAIGdldCBwcmVlbXB0IGNvdW50CiAJc3ViCVx0bXAsIFx0bXAsICMxCQkJQCBkZWNy ZW1lbnQgaXQKLQlzdHIJXHRtcCwgW1x0aSwgI1RJX1BSRUVNUFRdCisJc3RyCVx0bXAsIFtcdGks ICNUU0tfVElfUFJFRU1QVF0KIAkuZW5kbQogCiAJLm1hY3JvCWRlY19wcmVlbXB0X2NvdW50X3Rp LCB0aSwgdG1wCi0JZ2V0X3RocmVhZF9pbmZvIFx0aQorCWdldF90YXNrX2luZm8gXHRpLCBcdG1w CiAJZGVjX3ByZWVtcHRfY291bnQgXHRpLCBcdG1wCiAJLmVuZG0KICNlbHNlCmRpZmYgLS1naXQg YS9hcmNoL2FybS9pbmNsdWRlL2FzbS9jdXJyZW50LmggYi9hcmNoL2FybS9pbmNsdWRlL2FzbS9j dXJyZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5iMzg5YzRj MDAwNWMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9pbmNsdWRlL2FzbS9jdXJyZW50LmgK QEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCDCqSAyMDIxIEtlaXRoIFBhY2thcmQg PGtlaXRocEBrZWl0aHAuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJl OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQor ICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUg TGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgor ICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsIGJ1dAorICogV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqLworCisjaWZuZGVmIF9BU01fQVJNX0NVUlJFTlRfSAor I2RlZmluZSBfQVNNX0FSTV9DVVJSRU5UX0gKKworI2luY2x1ZGUgPGxpbnV4L2NvbXBpbGVyLmg+ CisjaW5jbHVkZSA8bGludXgvdGhyZWFkX2luZm8uaD4KKyNpbmNsdWRlIDxhc20vcGVyY3B1Lmg+ CisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCitzdHJ1Y3QgdGFza19zdHJ1Y3Q7CisKK0RFQ0xBUkVf UEVSX0NQVShzdHJ1Y3QgdGFza19zdHJ1Y3QgKiwgY3VycmVudF90YXNrKTsKKworc3RhdGljIF9f YWx3YXlzX2lubGluZSBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmdldF9jdXJyZW50KHZvaWQpCit7CisJ cmV0dXJuIHJhd19jcHVfcmVhZChjdXJyZW50X3Rhc2spOworfQorCisjZGVmaW5lIGN1cnJlbnQg Z2V0X2N1cnJlbnQoKQorCisjZW5kaWYgLyogX19BU1NFTUJMWV9fICovCisKKyNlbmRpZiAvKiBf QVNNX0FSTV9DVVJSRU5UX0ggKi8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3Nt cC5oIGIvYXJjaC9hcm0vaW5jbHVkZS9hc20vc21wLmgKaW5kZXggM2FjYTJjMjA4OWJjLi4wMjk4 OWQwOTRmZDggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3NtcC5oCisrKyBiL2Fy Y2gvYXJtL2luY2x1ZGUvYXNtL3NtcC5oCkBAIC02NCw2ICs2NCw3IEBAIHN0cnVjdCBzZWNvbmRh cnlfZGF0YSB7CiAJfTsKIAl1bnNpZ25lZCBsb25nIHN3YXBwZXJfcGdfZGlyOwogCXZvaWQgKnN0 YWNrOworCXVuc2lnbmVkIGludCBjcHU7CiB9OwogZXh0ZXJuIHN0cnVjdCBzZWNvbmRhcnlfZGF0 YSBzZWNvbmRhcnlfZGF0YTsKIGV4dGVybiB2b2lkIHNlY29uZGFyeV9zdGFydHVwKHZvaWQpOwpk aWZmIC0tZ2l0IGEvYXJjaC9hcm0vaW5jbHVkZS9hc20vdGhyZWFkX2luZm8uaCBiL2FyY2gvYXJt L2luY2x1ZGUvYXNtL3RocmVhZF9pbmZvLmgKaW5kZXggNzBkNGNiYzQ5YWUxLi45OTVjYTBiY2I3 YjEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3RocmVhZF9pbmZvLmgKKysrIGIv YXJjaC9hcm0vaW5jbHVkZS9hc20vdGhyZWFkX2luZm8uaApAQCAtNTUsOCArNTUsNiBAQCBzdHJ1 Y3QgdGhyZWFkX2luZm8gewogCXVuc2lnbmVkIGxvbmcJCWZsYWdzOwkJLyogbG93IGxldmVsIGZs YWdzICovCiAJaW50CQkJcHJlZW1wdF9jb3VudDsJLyogMCA9PiBwcmVlbXB0YWJsZSwgPDAgPT4g YnVnICovCiAJbW1fc2VnbWVudF90CQlhZGRyX2xpbWl0OwkvKiBhZGRyZXNzIGxpbWl0ICovCi0J c3RydWN0IHRhc2tfc3RydWN0CSp0YXNrOwkJLyogbWFpbiB0YXNrIHN0cnVjdHVyZSAqLwotCV9f dTMyCQkJY3B1OwkJLyogY3B1ICovCiAJX191MzIJCQljcHVfZG9tYWluOwkvKiBjcHUgZG9tYWlu ICovCiAjaWZkZWYgQ09ORklHX1NUQUNLUFJPVEVDVE9SX1BFUl9UQVNLCiAJdW5zaWduZWQgbG9u ZwkJc3RhY2tfY2FuYXJ5OwpAQCAtNzcsMjMgKzc1LDExIEBAIHN0cnVjdCB0aHJlYWRfaW5mbyB7 CiAKICNkZWZpbmUgSU5JVF9USFJFQURfSU5GTyh0c2spCQkJCQkJXAogewkJCQkJCQkJCVwKLQku dGFzawkJPSAmdHNrLAkJCQkJCVwKIAkuZmxhZ3MJCT0gMCwJCQkJCQlcCiAJLnByZWVtcHRfY291 bnQJPSBJTklUX1BSRUVNUFRfQ09VTlQsCQkJCVwKIAkuYWRkcl9saW1pdAk9IEtFUk5FTF9EUywJ CQkJCVwKIH0KIAotLyoKLSAqIGhvdyB0byBnZXQgdGhlIHRocmVhZCBpbmZvcm1hdGlvbiBzdHJ1 Y3QgZnJvbSBDCi0gKi8KLXN0YXRpYyBpbmxpbmUgc3RydWN0IHRocmVhZF9pbmZvICpjdXJyZW50 X3RocmVhZF9pbmZvKHZvaWQpIF9fYXR0cmlidXRlX2NvbnN0X187Ci0KLXN0YXRpYyBpbmxpbmUg c3RydWN0IHRocmVhZF9pbmZvICpjdXJyZW50X3RocmVhZF9pbmZvKHZvaWQpCi17Ci0JcmV0dXJu IChzdHJ1Y3QgdGhyZWFkX2luZm8gKikKLQkJKGN1cnJlbnRfc3RhY2tfcG9pbnRlciAmIH4oVEhS RUFEX1NJWkUgLSAxKSk7Ci19Ci0KICNkZWZpbmUgdGhyZWFkX3NhdmVkX3BjKHRzaykJXAogCSgo dW5zaWduZWQgbG9uZykodGFza190aHJlYWRfaW5mbyh0c2spLT5jcHVfY29udGV4dC5wYykpCiAj ZGVmaW5lIHRocmVhZF9zYXZlZF9zcCh0c2spCVwKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2luY2x1 ZGUvYXNtL3Rscy5oIGIvYXJjaC9hcm0vaW5jbHVkZS9hc20vdGxzLmgKaW5kZXggNWE2NmMzYjEz YzkyLi4zMDllODcwZTcwYTMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3Rscy5o CisrKyBiL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3Rscy5oCkBAIC0xNCw3ICsxNCw3IEBACiAJbXJj CXAxNSwgMCwgXHRtcDIsIGMxMywgYzAsIDIJQCBnZXQgdGhlIHVzZXIgci93IHJlZ2lzdGVyCiAJ bWNyCXAxNSwgMCwgXHRwLCBjMTMsIGMwLCAzCQlAIHNldCBUTFMgcmVnaXN0ZXIKIAltY3IJcDE1 LCAwLCBcdHB1c2VyLCBjMTMsIGMwLCAyCUAgYW5kIHRoZSB1c2VyIHIvdyByZWdpc3RlcgotCXN0 cglcdG1wMiwgW1xiYXNlLCAjVElfVFBfVkFMVUUgKyA0XSBAIHNhdmUgaXQKKwlzdHIJXHRtcDIs IFtcYmFzZSwgI1RTS19USV9UUF9WQUxVRSArIDRdIEAgc2F2ZSBpdAogCS5lbmRtCiAKIAkubWFj cm8gc3dpdGNoX3Rsc192NiwgYmFzZSwgdHAsIHRwdXNlciwgdG1wMSwgdG1wMgpAQCAtMjYsNyAr MjYsNyBAQAogCW1yY25lCXAxNSwgMCwgXHRtcDIsIGMxMywgYzAsIDIJQCBnZXQgdGhlIHVzZXIg ci93IHJlZ2lzdGVyCiAJbWNybmUJcDE1LCAwLCBcdHAsIGMxMywgYzAsIDMJCUAgeWVzLCBzZXQg VExTIHJlZ2lzdGVyCiAJbWNybmUJcDE1LCAwLCBcdHB1c2VyLCBjMTMsIGMwLCAyCUAgc2V0IHVz ZXIgci93IHJlZ2lzdGVyCi0Jc3RybmUJXHRtcDIsIFtcYmFzZSwgI1RJX1RQX1ZBTFVFICsgNF0g QCBzYXZlIGl0CisJc3RybmUJXHRtcDIsIFtcYmFzZSwgI1RTS19USV9UUF9WQUxVRSArIDRdIEAg c2F2ZSBpdAogCS5lbmRtCiAKIAkubWFjcm8gc3dpdGNoX3Rsc19zb2Z0d2FyZSwgYmFzZSwgdHAs IHRwdXNlciwgdG1wMSwgdG1wMgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vaW5jbHVkZS9hc20vdWFj Y2Vzcy1hc20uaCBiL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3VhY2Nlc3MtYXNtLmgKaW5kZXggZTZl YjdhMmFhZjFlLi4xYzc5ZDg1MWEzOTYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2luY2x1ZGUvYXNt L3VhY2Nlc3MtYXNtLmgKKysrIGIvYXJjaC9hcm0vaW5jbHVkZS9hc20vdWFjY2Vzcy1hc20uaApA QCAtODQsOSArODQsOSBAQAogCSAqIGlmIFxkaXNhYmxlIGlzIHNldC4KIAkgKi8KIAkubWFjcm8J dWFjY2Vzc19lbnRyeSwgdHNrLCB0bXAwLCB0bXAxLCB0bXAyLCBkaXNhYmxlCi0JbGRyCVx0bXAx LCBbXHRzaywgI1RJX0FERFJfTElNSVRdCisJbGRyCVx0bXAxLCBbXHRzaywgI1RTS19USV9BRERS X0xJTUlUXQogCWxkcglcdG1wMiwgPVRBU0tfU0laRQotCXN0cglcdG1wMiwgW1x0c2ssICNUSV9B RERSX0xJTUlUXQorCXN0cglcdG1wMiwgW1x0c2ssICNUU0tfVElfQUREUl9MSU1JVF0KICBEQUNS KAltcmMJcDE1LCAwLCBcdG1wMCwgYzMsIGMwLCAwKQogIERBQ1IoCXN0cglcdG1wMCwgW3NwLCAj U1ZDX0RBQ1JdKQogCXN0cglcdG1wMSwgW3NwLCAjU1ZDX0FERFJfTElNSVRdCkBAIC0xMDgsNyAr MTA4LDcgQEAKIAkubWFjcm8JdWFjY2Vzc19leGl0LCB0c2ssIHRtcDAsIHRtcDEKIAlsZHIJXHRt cDEsIFtzcCwgI1NWQ19BRERSX0xJTUlUXQogIERBQ1IoCWxkcglcdG1wMCwgW3NwLCAjU1ZDX0RB Q1JdKQotCXN0cglcdG1wMSwgW1x0c2ssICNUSV9BRERSX0xJTUlUXQorCXN0cglcdG1wMSwgW1x0 c2ssICNUU0tfVElfQUREUl9MSU1JVF0KICBEQUNSKAltY3IJcDE1LCAwLCBcdG1wMCwgYzMsIGMw LCAwKQogCS5lbmRtCiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2tlcm5lbC9hc20tb2Zmc2V0cy5j IGIvYXJjaC9hcm0va2VybmVsL2FzbS1vZmZzZXRzLmMKaW5kZXggNzA5OTNhZjIyZDgwLi45ZGU3 OTk0ODFmYjIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2tlcm5lbC9hc20tb2Zmc2V0cy5jCisrKyBi L2FyY2gvYXJtL2tlcm5lbC9hc20tb2Zmc2V0cy5jCkBAIC00MSwzMyArNDEsMzQgQEAgaW50IG1h aW4odm9pZCkKICAgREVGSU5FKFRTS19TVEFDS19DQU5BUlksCW9mZnNldG9mKHN0cnVjdCB0YXNr X3N0cnVjdCwgc3RhY2tfY2FuYXJ5KSk7CiAjZW5kaWYKICAgQkxBTksoKTsKLSAgREVGSU5FKFRJ X0ZMQUdTLAkJb2Zmc2V0b2Yoc3RydWN0IHRocmVhZF9pbmZvLCBmbGFncykpOwotICBERUZJTkUo VElfUFJFRU1QVCwJCW9mZnNldG9mKHN0cnVjdCB0aHJlYWRfaW5mbywgcHJlZW1wdF9jb3VudCkp OwotICBERUZJTkUoVElfQUREUl9MSU1JVCwJCW9mZnNldG9mKHN0cnVjdCB0aHJlYWRfaW5mbywg YWRkcl9saW1pdCkpOwotICBERUZJTkUoVElfVEFTSywJCW9mZnNldG9mKHN0cnVjdCB0aHJlYWRf aW5mbywgdGFzaykpOwotICBERUZJTkUoVElfQ1BVLAkJb2Zmc2V0b2Yoc3RydWN0IHRocmVhZF9p bmZvLCBjcHUpKTsKLSAgREVGSU5FKFRJX0NQVV9ET01BSU4sCQlvZmZzZXRvZihzdHJ1Y3QgdGhy ZWFkX2luZm8sIGNwdV9kb21haW4pKTsKLSAgREVGSU5FKFRJX0NQVV9TQVZFLAkJb2Zmc2V0b2Yo c3RydWN0IHRocmVhZF9pbmZvLCBjcHVfY29udGV4dCkpOwotICBERUZJTkUoVElfVVNFRF9DUCwJ CW9mZnNldG9mKHN0cnVjdCB0aHJlYWRfaW5mbywgdXNlZF9jcCkpOwotICBERUZJTkUoVElfVFBf VkFMVUUsCQlvZmZzZXRvZihzdHJ1Y3QgdGhyZWFkX2luZm8sIHRwX3ZhbHVlKSk7Ci0gIERFRklO RShUSV9GUFNUQVRFLAkJb2Zmc2V0b2Yoc3RydWN0IHRocmVhZF9pbmZvLCBmcHN0YXRlKSk7Cisg IERFRklORShUU0tfVElfRkxBR1MsCQlvZmZzZXRvZihzdHJ1Y3QgdGFza19zdHJ1Y3QsIHRocmVh ZF9pbmZvLmZsYWdzKSk7CisgIERFRklORShUU0tfVElfUFJFRU1QVCwJb2Zmc2V0b2Yoc3RydWN0 IHRhc2tfc3RydWN0LCB0aHJlYWRfaW5mby5wcmVlbXB0X2NvdW50KSk7CisgIERFRklORShUU0tf VElfQUREUl9MSU1JVCwJb2Zmc2V0b2Yoc3RydWN0IHRhc2tfc3RydWN0LCB0aHJlYWRfaW5mby5h ZGRyX2xpbWl0KSk7CisgIERFRklORShUU0tfVElfQ1BVX0RPTUFJTiwJb2Zmc2V0b2Yoc3RydWN0 IHRhc2tfc3RydWN0LCB0aHJlYWRfaW5mby5jcHVfZG9tYWluKSk7CisgIERFRklORShUU0tfVElf Q1BVX1NBVkUsCW9mZnNldG9mKHN0cnVjdCB0YXNrX3N0cnVjdCwgdGhyZWFkX2luZm8uY3B1X2Nv bnRleHQpKTsKKyAgREVGSU5FKFRTS19USV9VU0VEX0NQLAlvZmZzZXRvZihzdHJ1Y3QgdGFza19z dHJ1Y3QsIHRocmVhZF9pbmZvLnVzZWRfY3ApKTsKKyAgREVGSU5FKFRTS19USV9UUF9WQUxVRSwJ b2Zmc2V0b2Yoc3RydWN0IHRhc2tfc3RydWN0LCB0aHJlYWRfaW5mby50cF92YWx1ZSkpOworICBE RUZJTkUoVFNLX1RJX0ZQU1RBVEUsCW9mZnNldG9mKHN0cnVjdCB0YXNrX3N0cnVjdCwgdGhyZWFk X2luZm8uZnBzdGF0ZSkpOworI2lmZGVmIENPTkZJR19TTVAKKyAgREVGSU5FKFRTS19DUFUsCQlv ZmZzZXRvZihzdHJ1Y3QgdGFza19zdHJ1Y3QsIGNwdSkpOworI2VuZGlmCiAjaWZkZWYgQ09ORklH X1ZGUAotICBERUZJTkUoVElfVkZQU1RBVEUsCQlvZmZzZXRvZihzdHJ1Y3QgdGhyZWFkX2luZm8s IHZmcHN0YXRlKSk7CisgIERFRklORShUU0tfVElfVkZQU1RBVEUsCW9mZnNldG9mKHN0cnVjdCB0 YXNrX3N0cnVjdCwgdGhyZWFkX2luZm8udmZwc3RhdGUpKTsKICNpZmRlZiBDT05GSUdfU01QCiAg IERFRklORShWRlBfQ1BVLAkJb2Zmc2V0b2YodW5pb24gdmZwX3N0YXRlLCBoYXJkLmNwdSkpOwog I2VuZGlmCiAjZW5kaWYKICNpZmRlZiBDT05GSUdfQVJNX1RIVU1CRUUKLSAgREVGSU5FKFRJX1RI VU1CRUVfU1RBVEUsCW9mZnNldG9mKHN0cnVjdCB0aHJlYWRfaW5mbywgdGh1bWJlZV9zdGF0ZSkp OworICBERUZJTkUoVFNLX1RJX1RIVU1CRUVfU1RBVEUsCW9mZnNldG9mKHN0cnVjdCB0YXNrX3N0 cnVjdCwgdGhyZWFkX2luZm8udGh1bWJlZV9zdGF0ZSkpOwogI2VuZGlmCiAjaWZkZWYgQ09ORklH X0lXTU1YVAotICBERUZJTkUoVElfSVdNTVhUX1NUQVRFLAlvZmZzZXRvZihzdHJ1Y3QgdGhyZWFk X2luZm8sIGZwc3RhdGUuaXdtbXh0KSk7CisgIERFRklORShUU0tfVElfSVdNTVhUX1NUQVRFLAlv ZmZzZXRvZihzdHJ1Y3QgdGFza19zdHJ1Y3QsIHRocmVhZF9pbmZvLmZwc3RhdGUuaXdtbXh0KSk7 CiAjZW5kaWYKICNpZmRlZiBDT05GSUdfQ1JVTkNICi0gIERFRklORShUSV9DUlVOQ0hfU1RBVEUs CW9mZnNldG9mKHN0cnVjdCB0aHJlYWRfaW5mbywgY3J1bmNoc3RhdGUpKTsKKyAgREVGSU5FKFRT S19USV9DUlVOQ0hfU1RBVEUsCW9mZnNldG9mKHN0cnVjdCB0YXNrX3N0cnVjdCwgdGhyZWFkX2lu Zm8uY3J1bmNoc3RhdGUpKTsKICNlbmRpZgogI2lmZGVmIENPTkZJR19TVEFDS1BST1RFQ1RPUl9Q RVJfVEFTSwotICBERUZJTkUoVElfU1RBQ0tfQ0FOQVJZLAlvZmZzZXRvZihzdHJ1Y3QgdGhyZWFk X2luZm8sIHN0YWNrX2NhbmFyeSkpOworICBERUZJTkUoVFNLX1RJX1NUQUNLX0NBTkFSWSwJb2Zm c2V0b2Yoc3RydWN0IHRhc2tfc3RydWN0LCB0aHJlYWRfaW5mby5zdGFja19jYW5hcnkpKTsKICNl bmRpZgogICBERUZJTkUoVEhSRUFEX1NaX09SREVSLAlUSFJFQURfU0laRV9PUkRFUik7CiAgIEJM QU5LKCk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9rZXJuZWwvZW50cnktYXJtdi5TIGIvYXJjaC9h cm0va2VybmVsL2VudHJ5LWFybXYuUwppbmRleCAwZWE4NTI5YTQ4NzIuLjIxOTZlNGRkNzg3NyAx MDA2NDQKLS0tIGEvYXJjaC9hcm0va2VybmVsL2VudHJ5LWFybXYuUworKysgYi9hcmNoL2FybS9r ZXJuZWwvZW50cnktYXJtdi5TCkBAIC0xNzksNyArMTc5LDcgQEAgRU5EUFJPQyhfX3VuZF9pbnZh bGlkKQogCUAKIAlzdG1pYQlyNywge3IyIC0gcjZ9CiAKLQlnZXRfdGhyZWFkX2luZm8gdHNrCisJ Z2V0X2N1cnJlbnQgdHNrLCByMAogCXVhY2Nlc3NfZW50cnkgdHNrLCByMCwgcjEsIHIyLCBcdWFj Y2VzcwogCiAJLmlmIFx0cmFjZQpAQCAtMjA1LDggKzIwNSw4IEBAIF9faXJxX3N2YzoKIAlpcnFf aGFuZGxlcgogCiAjaWZkZWYgQ09ORklHX1BSRUVNUFRJT04KLQlsZHIJcjgsIFt0c2ssICNUSV9Q UkVFTVBUXQkJQCBnZXQgcHJlZW1wdCBjb3VudAotCWxkcglyMCwgW3RzaywgI1RJX0ZMQUdTXQkJ QCBnZXQgZmxhZ3MKKwlsZHIJcjgsIFt0c2ssICNUU0tfVElfUFJFRU1QVF0JQCBnZXQgcHJlZW1w dCBjb3VudAorCWxkcglyMCwgW3RzaywgI1RTS19USV9GTEFHU10JQCBnZXQgZmxhZ3MKIAl0ZXEJ cjgsICMwCQkJCUAgaWYgcHJlZW1wdCBjb3VudCAhPSAwCiAJbW92bmUJcjAsICMwCQkJCUAgZm9y Y2UgZmxhZ3MgdG8gMAogCXRzdAlyMCwgI19USUZfTkVFRF9SRVNDSEVECkBAIC0yMjMsNyArMjIz LDcgQEAgRU5EUFJPQyhfX2lycV9zdmMpCiBzdmNfcHJlZW1wdDoKIAltb3YJcjgsIGxyCiAxOgli bAlwcmVlbXB0X3NjaGVkdWxlX2lycQkJQCBpcnEgZW4vZGlzYWJsZSBpcyBkb25lIGluc2lkZQot CWxkcglyMCwgW3RzaywgI1RJX0ZMQUdTXQkJQCBnZXQgbmV3IHRhc2tzIFRJX0ZMQUdTCisJbGRy CXIwLCBbdHNrLCAjVFNLX1RJX0ZMQUdTXQlAIGdldCBuZXcgdGFza3MgVElfRkxBR1MKIAl0c3QJ cjAsICNfVElGX05FRURfUkVTQ0hFRAogCXJldGVxCXI4CQkJCUAgZ28gYWdhaW4KIAliCTFiCkBA IC0yNjAsNyArMjYwLDcgQEAgX191bmRfc3ZjOgogCWJsCV9fdW5kX2ZhdWx0CiAKIF9fdW5kX3N2 Y19maW5pc2g6Ci0JZ2V0X3RocmVhZF9pbmZvIHRzaworCWdldF9jdXJyZW50IHRzaywgcjUKIAls ZHIJcjUsIFtzcCwgI1NfUFNSXQkJQCBHZXQgU1ZDIGNwc3IKIAlzdmNfZXhpdCByNQkJCQlAIHJl dHVybiBmcm9tIGV4Y2VwdGlvbgogIFVOV0lORCguZm5lbmQJCSkKQEAgLTQyOCw3ICs0MjgsNyBA QCBfX2lycV91c3I6CiAJdXNyX2VudHJ5CiAJa3VzZXJfY21weGNoZ19jaGVjawogCWlycV9oYW5k bGVyCi0JZ2V0X3RocmVhZF9pbmZvIHRzaworCWdldF9jdXJyZW50IHRzaywgd2h5CiAJbW92CXdo eSwgIzAKIAliCXJldF90b191c2VyX2Zyb21faXJxCiAgVU5XSU5EKC5mbmVuZAkJKQpAQCAtNTcy LDEyICs1NzIsMTIgQEAgRU5EUFJPQyhfX3VuZF91c3IpCiAJQCBGYWxsLXRocm91Z2ggZnJvbSBU aHVtYi0yIF9fdW5kX3VzcgogCUAKICNpZmRlZiBDT05GSUdfTkVPTgotCWdldF90aHJlYWRfaW5m byByMTAJCQlAIGdldCBjdXJyZW50IHRocmVhZAorCWdldF9jdXJyZW50IHIxMCwgcjYJCQlAIGdl dCBjdXJyZW50IHRocmVhZAogCWFkcglyNiwgLkxDbmVvbl90aHVtYl9vcGNvZGVzCiAJYgkyZgog I2VuZGlmCiBjYWxsX2ZwZToKLQlnZXRfdGhyZWFkX2luZm8gcjEwCQkJQCBnZXQgY3VycmVudCB0 aHJlYWQKKwlnZXRfY3VycmVudCByMTAsIHI2CQkJQCBnZXQgY3VycmVudCB0aHJlYWQKICNpZmRl ZiBDT05GSUdfTkVPTgogCWFkcglyNiwgLkxDbmVvbl9hcm1fb3Bjb2RlcwogMjoJbGRyCXI1LCBb cjZdLCAjNAkJCUAgbWFzayB2YWx1ZQpAQCAtNTg4LDggKzU4OCw4IEBAIGNhbGxfZnBlOgogCWNt cAlyOCwgcjcJCQkJQCBORU9OIGluc3RydWN0aW9uPwogCWJuZQkyYgogCW1vdglyNywgIzEKLQlz dHJiCXI3LCBbcjEwLCAjVElfVVNFRF9DUCArIDEwXQlAIG1hcmsgQ1AjMTAgYXMgdXNlZAotCXN0 cmIJcjcsIFtyMTAsICNUSV9VU0VEX0NQICsgMTFdCUAgbWFyayBDUCMxMSBhcyB1c2VkCisJc3Ry YglyNywgW3IxMCwgI1RTS19USV9VU0VEX0NQICsgMTBdCUAgbWFyayBDUCMxMCBhcyB1c2VkCisJ c3RyYglyNywgW3IxMCwgI1RTS19USV9VU0VEX0NQICsgMTFdCUAgbWFyayBDUCMxMSBhcyB1c2Vk CiAJYglkb192ZnAJCQkJQCBsZXQgVkZQIGhhbmRsZXIgaGFuZGxlIHRoaXMKIDE6CiAjZW5kaWYK QEAgLTU5OSwxMiArNTk5LDEyIEBAIGNhbGxfZnBlOgogCWFuZAlyOCwgcjAsICMweDAwMDAwZjAw CQlAIG1hc2sgb3V0IENQIG51bWJlcgogIFRIVU1CKAlsc3IJcjgsIHI4LCAjOAkJKQogCW1vdgly NywgIzEKLQlhZGQJcjYsIHIxMCwgI1RJX1VTRURfQ1AKKwlhZGQJcjYsIHIxMCwgI1RTS19USV9V U0VEX0NQCiAgQVJNKAlzdHJiCXI3LCBbcjYsIHI4LCBsc3IgIzhdCSkJQCBzZXQgYXBwcm9wcmlh dGUgdXNlZF9jcFtdCiAgVEhVTUIoCXN0cmIJcjcsIFtyNiwgcjhdCQkpCUAgc2V0IGFwcHJvcHJp YXRlIHVzZWRfY3BbXQogI2lmZGVmIENPTkZJR19JV01NWFQKIAlAIFRlc3QgaWYgd2UgbmVlZCB0 byBnaXZlIGFjY2VzcyB0byBpV01NWHQgY29wcm9jZXNzb3JzCi0JbGRyCXI1LCBbcjEwLCAjVElf RkxBR1NdCisJbGRyCXI1LCBbcjEwLCAjVFNLX1RJX0ZMQUdTXQogCXJzYnMJcjcsIHI4LCAjKDEg PDwgOCkJCUAgQ1AgMCBvciAxIG9ubHkKIAltb3ZzY3MJcjcsIHI1LCBsc3IgIyhUSUZfVVNJTkdf SVdNTVhUICsgMSkKIAliY3MJaXdtbXh0X3Rhc2tfZW5hYmxlCkBAIC02NzQsNyArNjc0LDcgQEAg Y2FsbF9mcGU6CiAKIGRvX2ZwZToKIAlsZHIJcjQsIC5MQ2ZwCi0JYWRkCXIxMCwgcjEwLCAjVElf RlBTVEFURQkJQCByMTAgPSB3b3Jrc3BhY2UKKwlhZGQJcjEwLCByMTAsICNUU0tfVElfRlBTVEFU RQlAIHIxMCA9IHdvcmtzcGFjZQogCWxkcglwYywgW3I0XQkJCUAgQ2FsbCBGUCBtb2R1bGUgVVNS IGVudHJ5IHBvaW50CiAKIC8qCkBAIC03MjIsNyArNzIyLDcgQEAgX19wYWJ0X3VzcjoKIEVOVFJZ KHJldF9mcm9tX2V4Y2VwdGlvbikKICBVTldJTkQoLmZuc3RhcnQJKQogIFVOV0lORCguY2FudHVu d2luZAkpCi0JZ2V0X3RocmVhZF9pbmZvIHRzaworCWdldF9jdXJyZW50IHRzaywgd2h5CiAJbW92 CXdoeSwgIzAKIAliCXJldF90b191c2VyCiAgVU5XSU5EKC5mbmVuZAkJKQpAQCAtNzM1LDcgKzcz NSw3IEBAIF9fZmlxX3VzcjoKIAlrdXNlcl9jbXB4Y2hnX2NoZWNrCiAJbW92CXIwLCBzcAkJCQlA IHN0cnVjdCBwdF9yZWdzICpyZWdzCiAJYmwJaGFuZGxlX2ZpcV9hc19ubWkKLQlnZXRfdGhyZWFk X2luZm8gdHNrCisJZ2V0X2N1cnJlbnQgdHNrLCByMAogCXJlc3RvcmVfdXNlcl9yZWdzIGZhc3Qg PSAwLCBvZmZzZXQgPSAwCiAgVU5XSU5EKC5mbmVuZAkJKQogRU5EUFJPQyhfX2ZpcV91c3IpCkBA IC03NDgsMjEgKzc0OCwyMSBAQCBFTkRQUk9DKF9fZmlxX3VzcikKIEVOVFJZKF9fc3dpdGNoX3Rv KQogIFVOV0lORCguZm5zdGFydAkpCiAgVU5XSU5EKC5jYW50dW53aW5kCSkKLQlhZGQJaXAsIHIx LCAjVElfQ1BVX1NBVkUKKwlhZGQJaXAsIHIxLCAjVFNLX1RJX0NQVV9TQVZFCiAgQVJNKAlzdG1p YQlpcCEsIHtyNCAtIHNsLCBmcCwgc3AsIGxyfSApCUAgU3RvcmUgbW9zdCByZWdzIG9uIHN0YWNr CiAgVEhVTUIoCXN0bWlhCWlwISwge3I0IC0gc2wsIGZwfQkgICApCUAgU3RvcmUgbW9zdCByZWdz IG9uIHN0YWNrCiAgVEhVTUIoCXN0cglzcCwgW2lwXSwgIzQJCSAgICkKICBUSFVNQigJc3RyCWxy LCBbaXBdLCAjNAkJICAgKQotCWxkcglyNCwgW3IyLCAjVElfVFBfVkFMVUVdCi0JbGRyCXI1LCBb cjIsICNUSV9UUF9WQUxVRSArIDRdCisJbGRyCXI0LCBbcjIsICNUU0tfVElfVFBfVkFMVUVdCisJ bGRyCXI1LCBbcjIsICNUU0tfVElfVFBfVkFMVUUgKyA0XQogI2lmZGVmIENPTkZJR19DUFVfVVNF X0RPTUFJTlMKIAltcmMJcDE1LCAwLCByNiwgYzMsIGMwLCAwCQlAIEdldCBkb21haW4gcmVnaXN0 ZXIKLQlzdHIJcjYsIFtyMSwgI1RJX0NQVV9ET01BSU5dCUAgU2F2ZSBvbGQgZG9tYWluIHJlZ2lz dGVyCi0JbGRyCXI2LCBbcjIsICNUSV9DUFVfRE9NQUlOXQorCXN0cglyNiwgW3IxLCAjVFNLX1RJ X0NQVV9ET01BSU5dCUAgU2F2ZSBvbGQgZG9tYWluIHJlZ2lzdGVyCisJbGRyCXI2LCBbcjIsICNU U0tfVElfQ1BVX0RPTUFJTl0KICNlbmRpZgogCXN3aXRjaF90bHMgcjEsIHI0LCByNSwgcjMsIHI3 CiAjaWYgZGVmaW5lZChDT05GSUdfU1RBQ0tQUk9URUNUT1IpICYmICFkZWZpbmVkKENPTkZJR19T TVApCi0JbGRyCXI3LCBbcjIsICNUSV9UQVNLXQorCWxkcglyNywgW3IyLCAjVFNLX1RJX1RBU0td CiAJbGRyCXI4LCA9X19zdGFja19jaGtfZ3VhcmQKIAkuaWYgKFRTS19TVEFDS19DQU5BUlkgPiBJ TU0xMl9NQVNLKQogCWFkZAlyNywgcjcsICNUU0tfU1RBQ0tfQ0FOQVJZICYgfklNTTEyX01BU0sK QEAgLTc3Miw4ICs3NzIsOSBAQCBFTlRSWShfX3N3aXRjaF90bykKICNpZmRlZiBDT05GSUdfQ1BV X1VTRV9ET01BSU5TCiAJbWNyCXAxNSwgMCwgcjYsIGMzLCBjMCwgMAkJQCBTZXQgZG9tYWluIHJl Z2lzdGVyCiAjZW5kaWYKKwlzZXRfY3VycmVudF90YXNrIHIyLCByNCwgcjUKIAltb3YJcjUsIHIw Ci0JYWRkCXI0LCByMiwgI1RJX0NQVV9TQVZFCisJYWRkCXI0LCByMiwgI1RTS19USV9DUFVfU0FW RQogCWxkcglyMCwgPXRocmVhZF9ub3RpZnlfaGVhZAogCW1vdglyMSwgI1RIUkVBRF9OT1RJRllf U1dJVENICiAJYmwJYXRvbWljX25vdGlmaWVyX2NhbGxfY2hhaW4KZGlmZiAtLWdpdCBhL2FyY2gv YXJtL2tlcm5lbC9lbnRyeS1jb21tb24uUyBiL2FyY2gvYXJtL2tlcm5lbC9lbnRyeS1jb21tb24u UwppbmRleCA3ZjBiN2FiYTE0OTguLjdhNTA0NGRiZmMyNCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0v a2VybmVsL2VudHJ5LWNvbW1vbi5TCisrKyBiL2FyY2gvYXJtL2tlcm5lbC9lbnRyeS1jb21tb24u UwpAQCAtNDksMTEgKzQ5LDExIEBAIF9fcmV0X2Zhc3Rfc3lzY2FsbDoKICBVTldJTkQoLmZuc3Rh cnQJKQogIFVOV0lORCguY2FudHVud2luZAkpCiAJZGlzYWJsZV9pcnFfbm90cmFjZQkJCUAgZGlz YWJsZSBpbnRlcnJ1cHRzCi0JbGRyCXIyLCBbdHNrLCAjVElfQUREUl9MSU1JVF0KKwlsZHIJcjIs IFt0c2ssICNUU0tfVElfQUREUl9MSU1JVF0KIAlsZHIJcjEsID1UQVNLX1NJWkUKIAljbXAJcjIs IHIxCiAJYmxuZQlhZGRyX2xpbWl0X2NoZWNrX2ZhaWxlZAotCWxkcglyMSwgW3RzaywgI1RJX0ZM QUdTXQkJQCByZS1jaGVjayBmb3Igc3lzY2FsbCB0cmFjaW5nCisJbGRyCXIxLCBbdHNrLCAjVFNL X1RJX0ZMQUdTXQlAIHJlLWNoZWNrIGZvciBzeXNjYWxsIHRyYWNpbmcKIAltb3ZzCXIxLCByMSwg bHNsICMxNgogCWJuZQlmYXN0X3dvcmtfcGVuZGluZwogCkBAIC04NywxMSArODcsMTEgQEAgX19y ZXRfZmFzdF9zeXNjYWxsOgogCWJsCWRvX3JzZXFfc3lzY2FsbAogI2VuZGlmCiAJZGlzYWJsZV9p cnFfbm90cmFjZQkJCUAgZGlzYWJsZSBpbnRlcnJ1cHRzCi0JbGRyCXIyLCBbdHNrLCAjVElfQURE Ul9MSU1JVF0KKwlsZHIJcjIsIFt0c2ssICNUU0tfVElfQUREUl9MSU1JVF0KIAlsZHIgICAgIHIx LCA9VEFTS19TSVpFCiAJY21wICAgICByMiwgcjEKIAlibG5lCWFkZHJfbGltaXRfY2hlY2tfZmFp bGVkCi0JbGRyCXIxLCBbdHNrLCAjVElfRkxBR1NdCQlAIHJlLWNoZWNrIGZvciBzeXNjYWxsIHRy YWNpbmcKKwlsZHIJcjEsIFt0c2ssICNUU0tfVElfRkxBR1NdCUAgcmUtY2hlY2sgZm9yIHN5c2Nh bGwgdHJhY2luZwogCW1vdnMJcjEsIHIxLCBsc2wgIzE2CiAJYmVxCW5vX3dvcmtfcGVuZGluZwog IFVOV0lORCguZm5lbmQJCSkKQEAgLTEyOSwxMSArMTI5LDExIEBAIHJldF9zbG93X3N5c2NhbGw6 CiAjZW5kaWYKIAlkaXNhYmxlX2lycV9ub3RyYWNlCQkJQCBkaXNhYmxlIGludGVycnVwdHMKIEVO VFJZKHJldF90b191c2VyX2Zyb21faXJxKQotCWxkcglyMiwgW3RzaywgI1RJX0FERFJfTElNSVRd CisJbGRyCXIyLCBbdHNrLCAjVFNLX1RJX0FERFJfTElNSVRdCiAJbGRyICAgICByMSwgPVRBU0tf U0laRQogCWNtcAlyMiwgcjEKIAlibG5lCWFkZHJfbGltaXRfY2hlY2tfZmFpbGVkCi0JbGRyCXIx LCBbdHNrLCAjVElfRkxBR1NdCisJbGRyCXIxLCBbdHNrLCAjVFNLX1RJX0ZMQUdTXQogCW1vdnMJ cjEsIHIxLCBsc2wgIzE2CiAJYm5lCXNsb3dfd29ya19wZW5kaW5nCiBub193b3JrX3BlbmRpbmc6 CkBAIC0xNTYsNyArMTU2LDcgQEAgRU5UUlkocmV0X2Zyb21fZm9yaykKIAltb3ZuZQlyMCwgcjQK IAliYWRybmUJbHIsIDFmCiAJcmV0bmUJcjUKLTE6CWdldF90aHJlYWRfaW5mbyB0c2sKKzE6CWdl dF9jdXJyZW50IHRzaywgcjEKIAliCXJldF9zbG93X3N5c2NhbGwKIEVORFBST0MocmV0X2Zyb21f Zm9yaykKIApAQCAtMjQzLDcgKzI0Myw3IEBAIEVOVFJZKHZlY3Rvcl9zd2kpCiAJYmljCXNjbm8s IHNjbm8sICMweGZmMDAwMDAwCQlAIG1hc2sgb2ZmIFNXSSBvcC1jb2RlCiAJZW9yCXNjbm8sIHNj bm8sICNfX05SX1NZU0NBTExfQkFTRQlAIGNoZWNrIE9TIG51bWJlcgogI2VuZGlmCi0JZ2V0X3Ro cmVhZF9pbmZvIHRzaworCWdldF9jdXJyZW50IHRzaywgcjEwCiAJLyoKIAkgKiBSZWxvYWQgdGhl IHJlZ2lzdGVycyB0aGF0IG1heSBoYXZlIGJlZW4gY29ycnVwdGVkIG9uIGVudHJ5IHRvCiAJICog dGhlIHN5c2NhbGwgYXNzZW1ibHkgKGJ5IHRyYWNpbmcgb3IgY29udGV4dCB0cmFja2luZy4pCkBA IC0yNTEsNyArMjUxLDcgQEAgRU5UUlkodmVjdG9yX3N3aSkKICBUUkFDRSgJbGRtaWEJc3AsIHty MCAtIHIzfQkJKQogCiBsb2NhbF9yZXN0YXJ0OgotCWxkcglyMTAsIFt0c2ssICNUSV9GTEFHU10J CUAgY2hlY2sgZm9yIHN5c2NhbGwgdHJhY2luZworCWxkcglyMTAsIFt0c2ssICNUU0tfVElfRkxB R1NdCUAgY2hlY2sgZm9yIHN5c2NhbGwgdHJhY2luZwogCXN0bWRiCXNwISwge3I0LCByNX0JCQlA IHB1c2ggZmlmdGggYW5kIHNpeHRoIGFyZ3MKIAogCXRzdAlyMTAsICNfVElGX1NZU0NBTExfV09S SwkJQCBhcmUgd2UgdHJhY2luZyBzeXNjYWxscz8KQEAgLTI3OCw3ICsyNzgsNyBAQCBsb2NhbF9y ZXN0YXJ0OgogOTAwMToKIAlzdWIJbHIsIHNhdmVkX3BjLCAjNAogCXN0cglsciwgW3NwLCAjU19Q Q10KLQlnZXRfdGhyZWFkX2luZm8gdHNrCisJZ2V0X2N1cnJlbnQgdHNrLCByMQogCWIJcmV0X2Zh c3Rfc3lzY2FsbAogI2VuZGlmCiBFTkRQUk9DKHZlY3Rvcl9zd2kpCmRpZmYgLS1naXQgYS9hcmNo L2FybS9rZXJuZWwvZW50cnktdjdtLlMgYi9hcmNoL2FybS9rZXJuZWwvZW50cnktdjdtLlMKaW5k ZXggZDBlODk4NjA4ZDMwLi40ZGU1ZWUyYTQzMmQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2tlcm5l bC9lbnRyeS12N20uUworKysgYi9hcmNoL2FybS9rZXJuZWwvZW50cnktdjdtLlMKQEAgLTU3LDgg KzU3LDggQEAgX19pcnFfZW50cnk6CiAJdHN0CXIwLCBWN01fU0NCX0lDU1JfUkVUVE9CQVNFCiAJ YmVxCTJmCiAKLQlnZXRfdGhyZWFkX2luZm8gdHNrCi0JbGRyCXIyLCBbdHNrLCAjVElfRkxBR1Nd CisJZ2V0X2N1cnJlbnQgdHNrLCByMgorCWxkcglyMiwgW3RzaywgI1RTS19USV9GTEFHU10KIAlt b3ZzCXIyLCByMiwgbHNsICMxNgogCWJlcQkyZgkJCUAgbm8gd29yayBwZW5kaW5nCiAJbW92CXIw LCAjVjdNX1NDQl9JQ1NSX1BFTkRTVlNFVApAQCAtODMsNyArODMsNyBAQCBfX3BlbmRzdl9lbnRy eToKIAlzdHIJcjAsIFtyMSwgVjdNX1NDQl9JQ1NSXQlAIGNsZWFyIFBlbmRTVgogCiAJQCBleGVj dXRlIHRoZSBwZW5kaW5nIHdvcmssIGluY2x1ZGluZyByZXNjaGVkdWxlCi0JZ2V0X3RocmVhZF9p bmZvIHRzaworCWdldF9jdXJyZW50IHRzaywgd2h5CiAJbW92CXdoeSwgIzAKIAliCXJldF90b191 c2VyX2Zyb21faXJxCiBFTkRQUk9DKF9fcGVuZHN2X2VudHJ5KQpAQCAtOTYsMTcgKzk2LDE5IEBA IEVORFBST0MoX19wZW5kc3ZfZW50cnkpCiBFTlRSWShfX3N3aXRjaF90bykKIAkuZm5zdGFydAog CS5jYW50dW53aW5kCi0JYWRkCWlwLCByMSwgI1RJX0NQVV9TQVZFCisJYWRkCWlwLCByMSwgI1RT S19USV9DUFVfU0FWRQogCXN0bWlhCWlwISwge3I0IC0gcjExfQkJQCBTdG9yZSBtb3N0IHJlZ3Mg b24gc3RhY2sKIAlzdHIJc3AsIFtpcF0sICM0CiAJc3RyCWxyLCBbaXBdLCAjNAogCW1vdglyNSwg cjAKLQlhZGQJcjQsIHIyLCAjVElfQ1BVX1NBVkUKKwlhZGQJcjQsIHIyLCAjVFNLX1RJX0NQVV9T QVZFCiAJbGRyCXIwLCA9dGhyZWFkX25vdGlmeV9oZWFkCiAJbW92CXIxLCAjVEhSRUFEX05PVElG WV9TV0lUQ0gKIAlibAlhdG9taWNfbm90aWZpZXJfY2FsbF9jaGFpbgogCW1vdglpcCwgcjQKIAlt b3YJcjAsIHI1CisJbGRyCXI3LCBbcjIsICNUU0tfVElfVEFTS10KKwlzZXRfY3VycmVudF90YXNr IHI3LCByNCwgcjUKIAlsZG1pYQlpcCEsIHtyNCAtIHIxMX0JCUAgTG9hZCBhbGwgcmVncyBzYXZl ZCBwcmV2aW91c2x5CiAJbGRyCXNwLCBbaXBdCiAJbGRyCXBjLCBbaXAsICM0XSEKZGlmZiAtLWdp dCBhL2FyY2gvYXJtL2tlcm5lbC9pd21teHQuUyBiL2FyY2gvYXJtL2tlcm5lbC9pd21teHQuUwpp bmRleCBkMmI0YWMwNmU0ZWQuLmY3MDk5MTRiOTAyOSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0va2Vy bmVsL2l3bW14dC5TCisrKyBiL2FyY2gvYXJtL2tlcm5lbC9pd21teHQuUwpAQCAtODQsNyArODQs NyBAQCBFTlRSWShpd21teHRfdGFza19lbmFibGUpCiAJUEo0KG1jcglwMTUsIDAsIHIyLCBjMSwg YzAsIDIpCiAKIAlsZHIJcjMsID1jb25jYW5fb3duZXIKLQlhZGQJcjAsIHIxMCwgI1RJX0lXTU1Y VF9TVEFURQlAIGdldCB0YXNrIENvbmNhbiBzYXZlIGFyZWEKKwlhZGQJcjAsIHIxMCwgI1RTS19U SV9JV01NWFRfU1RBVEUJQCBnZXQgdGFzayBDb25jYW4gc2F2ZSBhcmVhCiAJbGRyCXIyLCBbc3As ICM2MF0JCQlAIGN1cnJlbnQgdGFzayBwYyB2YWx1ZQogCWxkcglyMSwgW3IzXQkJCUAgZ2V0IGN1 cnJlbnQgQ29uY2FuIG93bmVyCiAJc3RyCXIwLCBbcjNdCQkJQCB0aGlzIHRhc2sgbm93IG93bnMg Q29uY2FuIHJlZ3MKQEAgLTk2LDcgKzk2LDcgQEAgRU5UUlkoaXdtbXh0X3Rhc2tfZW5hYmxlKQog CWJsCWNvbmNhbl9zYXZlCiAKICNpZmRlZiBDT05GSUdfUFJFRU1QVF9DT1VOVAotCWdldF90aHJl YWRfaW5mbyByMTAKKwlnZXRfY3VycmVudCByMTAsIHIzCiAjZW5kaWYKIDQ6CWRlY19wcmVlbXB0 X2NvdW50IHIxMCwgcjMKIAlyZXQJcjkJCQkJQCBub3JtYWwgZXhpdCBmcm9tIGV4Y2VwdGlvbgpA QCAtMTk5LDcgKzE5OSw3IEBAIEVOVFJZKGl3bW14dF90YXNrX2Rpc2FibGUpCiAJbXNyCWNwc3Jf YywgcjIKIAogCWxkcglyMywgPWNvbmNhbl9vd25lcgotCWFkZAlyMiwgcjAsICNUSV9JV01NWFRf U1RBVEUJQCBnZXQgdGFzayBDb25jYW4gc2F2ZSBhcmVhCisJYWRkCXIyLCByMCwgI1RTS19USV9J V01NWFRfU1RBVEUJQCBnZXQgdGFzayBDb25jYW4gc2F2ZSBhcmVhCiAJbGRyCXIxLCBbcjNdCQkJ QCBnZXQgY3VycmVudCBDb25jYW4gb3duZXIKIAl0ZXEJcjEsICMwCQkJCUAgYW55IGN1cnJlbnQg b3duZXI/CiAJYmVxCTFmCQkJCUAgbm86IHF1aXQKQEAgLTI1MSw3ICsyNTEsNyBAQCBFTlRSWShp d21teHRfdGFza19jb3B5KQogCW1zcgljcHNyX2MsIHIyCiAKIAlsZHIJcjMsID1jb25jYW5fb3du ZXIKLQlhZGQJcjIsIHIwLCAjVElfSVdNTVhUX1NUQVRFCUAgZ2V0IHRhc2sgQ29uY2FuIHNhdmUg YXJlYQorCWFkZAlyMiwgcjAsICNUU0tfVElfSVdNTVhUX1NUQVRFCUAgZ2V0IHRhc2sgQ29uY2Fu IHNhdmUgYXJlYQogCWxkcglyMywgW3IzXQkJCUAgZ2V0IGN1cnJlbnQgQ29uY2FuIG93bmVyCiAJ dGVxCXIyLCByMwkJCQlAIGRvZXMgdGhpcyB0YXNrIG93biBpdC4uLgogCWJlcQkxZgpAQCAtMjg5 LDcgKzI4OSw3IEBAIEVOVFJZKGl3bW14dF90YXNrX3Jlc3RvcmUpCiAJbXNyCWNwc3JfYywgcjIK IAogCWxkcglyMywgPWNvbmNhbl9vd25lcgotCWFkZAlyMiwgcjAsICNUSV9JV01NWFRfU1RBVEUJ QCBnZXQgdGFzayBDb25jYW4gc2F2ZSBhcmVhCisJYWRkCXIyLCByMCwgI1RTS19USV9JV01NWFRf U1RBVEUJQCBnZXQgdGFzayBDb25jYW4gc2F2ZSBhcmVhCiAJbGRyCXIzLCBbcjNdCQkJQCBnZXQg Y3VycmVudCBDb25jYW4gb3duZXIKIAliaWMJcjIsIHIyLCAjMHg3CQkJQCA2NC1iaXQgYWxpZ25t ZW50CiAJdGVxCXIyLCByMwkJCQlAIGRvZXMgdGhpcyB0YXNrIG93biBpdC4uLgpAQCAtMzI4LDcg KzMyOCw3IEBAIEVOVFJZKGl3bW14dF90YXNrX3N3aXRjaCkKIAlibmUJMWYJCQkJQCB5ZXM6IGJs b2NrIHRoZW0gZm9yIG5leHQgdGFzawogCiAJbGRyCXIyLCA9Y29uY2FuX293bmVyCi0JYWRkCXIz LCByMCwgI1RJX0lXTU1YVF9TVEFURQlAIGdldCBuZXh0IHRhc2sgQ29uY2FuIHNhdmUgYXJlYQor CWFkZAlyMywgcjAsICNUU0tfVElfSVdNTVhUX1NUQVRFCUAgZ2V0IG5leHQgdGFzayBDb25jYW4g c2F2ZSBhcmVhCiAJbGRyCXIyLCBbcjJdCQkJQCBnZXQgY3VycmVudCBDb25jYW4gb3duZXIKIAl0 ZXEJcjIsIHIzCQkJCUAgbmV4dCB0YXNrIG93bnMgaXQ/CiAJcmV0bmUJbHIJCQkJQCBubzogbGVh dmUgQ29uY2FuIGRpc2FibGVkCkBAIC0zNTUsNyArMzU1LDcgQEAgRU5UUlkoaXdtbXh0X3Rhc2tf cmVsZWFzZSkKIAlvcnIJaXAsIHIyLCAjUFNSX0lfQklUCQlAIGRpc2FibGUgaW50ZXJydXB0cwog CW1zcgljcHNyX2MsIGlwCiAJbGRyCXIzLCA9Y29uY2FuX293bmVyCi0JYWRkCXIwLCByMCwgI1RJ X0lXTU1YVF9TVEFURQlAIGdldCB0YXNrIENvbmNhbiBzYXZlIGFyZWEKKwlhZGQJcjAsIHIwLCAj VFNLX1RJX0lXTU1YVF9TVEFURQlAIGdldCB0YXNrIENvbmNhbiBzYXZlIGFyZWEKIAlsZHIJcjEs IFtyM10JCQlAIGdldCBjdXJyZW50IENvbmNhbiBvd25lcgogCWVvcnMJcjAsIHIwLCByMQkJCUAg aWYgZXF1YWwuLi4KIAlzdHJlcQlyMCwgW3IzXQkJCUAgdGhlbiBjbGVhciBvd25lcnNoaXAKZGlm ZiAtLWdpdCBhL2FyY2gvYXJtL2tlcm5lbC9wcm9jZXNzLmMgYi9hcmNoL2FybS9rZXJuZWwvcHJv Y2Vzcy5jCmluZGV4IDYzMjRmNGRiOWIwMi4uYzc1MzlmMzE5Zjk2IDEwMDY0NAotLS0gYS9hcmNo L2FybS9rZXJuZWwvcHJvY2Vzcy5jCisrKyBiL2FyY2gvYXJtL2tlcm5lbC9wcm9jZXNzLmMKQEAg LTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9yYW5kb20uaD4KICNpbmNsdWRlIDxsaW51 eC9od19icmVha3BvaW50Lmg+CiAjaW5jbHVkZSA8bGludXgvbGVkcy5oPgorI2luY2x1ZGUgPGxp bnV4L3BlcmNwdS5oPgogCiAjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgogI2luY2x1ZGUgPGFz bS90aHJlYWRfbm90aWZ5Lmg+CmRpZmYgLS1naXQgYS9hcmNoL2FybS9rZXJuZWwvc2V0dXAuYyBi L2FyY2gvYXJtL2tlcm5lbC9zZXR1cC5jCmluZGV4IDczY2E3Nzk3YjkyZi4uYTVhNTI4MTc5NDhh IDEwMDY0NAotLS0gYS9hcmNoL2FybS9rZXJuZWwvc2V0dXAuYworKysgYi9hcmNoL2FybS9rZXJu ZWwvc2V0dXAuYwpAQCAtNTMyLDEyICs1MzIsNiBAQCB2b2lkIG5vdHJhY2UgY3B1X2luaXQodm9p ZCkKIAkJQlVHKCk7CiAJfQogCi0JLyoKLQkgKiBUaGlzIG9ubHkgd29ya3Mgb24gcmVzdW1lIGFu ZCBzZWNvbmRhcnkgY29yZXMuIEZvciBib290aW5nIG9uIHRoZQotCSAqIGJvb3QgY3B1LCBzbXBf cHJlcGFyZV9ib290X2NwdSBpcyBjYWxsZWQgYWZ0ZXIgcGVyY3B1IGFyZWEgc2V0dXAuCi0JICov Ci0Jc2V0X215X2NwdV9vZmZzZXQocGVyX2NwdV9vZmZzZXQoY3B1KSk7Ci0KIAljcHVfcHJvY19p bml0KCk7CiAKIAkvKgpAQCAtNzMzLDYgKzcyNyw5IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBzZXR1 cF9wcm9jZXNzb3Iodm9pZCkKIAllbGZfaHdjYXBfZml4dXAoKTsKIAogCWNhY2hlaWRfaW5pdCgp OworCisJc2V0X215X2NwdV9vZmZzZXQocGVyX2NwdV9vZmZzZXQoMCkpOworCiAJY3B1X2luaXQo KTsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0va2VybmVsL3NtcC5jIGIvYXJjaC9hcm0va2Vy bmVsL3NtcC5jCmluZGV4IDA0NTdlMjUxMDljNi4uOWI1ODQ4MTFiYWFkIDEwMDY0NAotLS0gYS9h cmNoL2FybS9rZXJuZWwvc21wLmMKKysrIGIvYXJjaC9hcm0va2VybmVsL3NtcC5jCkBAIC01MSw2 ICs1MSwxMCBAQAogI2RlZmluZSBDUkVBVEVfVFJBQ0VfUE9JTlRTCiAjaW5jbHVkZSA8dHJhY2Uv ZXZlbnRzL2lwaS5oPgogCitERUZJTkVfUEVSX0NQVShzdHJ1Y3QgdGFza19zdHJ1Y3QgKiwgY3Vy cmVudF90YXNrKSBfX19fY2FjaGVsaW5lX2FsaWduZWQgPQorCSZpbml0X3Rhc2s7CitFWFBPUlRf UEVSX0NQVV9TWU1CT0woY3VycmVudF90YXNrKTsKKwogREVGSU5FX1BFUl9DUFVfUkVBRF9NT1NU TFkodW5zaWduZWQgaW50LCBjcHVfbnVtYmVyKTsKIEVYUE9SVF9QRVJfQ1BVX1NZTUJPTChjcHVf bnVtYmVyKTsKIApAQCAtMTU2LDggKzE2MCwxMSBAQCBpbnQgX19jcHVfdXAodW5zaWduZWQgaW50 IGNwdSwgc3RydWN0IHRhc2tfc3RydWN0ICppZGxlKQogCXNlY29uZGFyeV9kYXRhLnBnZGlyID0g dmlydF90b19waHlzKGlkbWFwX3BnZCk7CiAJc2Vjb25kYXJ5X2RhdGEuc3dhcHBlcl9wZ19kaXIg PSBnZXRfYXJjaF9wZ2Qoc3dhcHBlcl9wZ19kaXIpOwogI2VuZGlmCisJc2Vjb25kYXJ5X2RhdGEu Y3B1ID0gY3B1OwogCXN5bmNfY2FjaGVfdygmc2Vjb25kYXJ5X2RhdGEpOwogCisJcGVyX2NwdShj dXJyZW50X3Rhc2ssIGNwdSkgPSBpZGxlOworCiAJLyoKIAkgKiBOb3cgYnJpbmcgdGhlIENQVSBp bnRvIG91ciB3b3JsZC4KIAkgKi8KQEAgLTQwNiw3ICs0MTMsOSBAQCBzdGF0aWMgdm9pZCBzbXBf c3RvcmVfY3B1X2luZm8odW5zaWduZWQgaW50IGNwdWlkKQogYXNtbGlua2FnZSB2b2lkIHNlY29u ZGFyeV9zdGFydF9rZXJuZWwodm9pZCkKIHsKIAlzdHJ1Y3QgbW1fc3RydWN0ICptbSA9ICZpbml0 X21tOwotCXVuc2lnbmVkIGludCBjcHU7CisJdW5zaWduZWQgaW50IGNwdSA9IHNlY29uZGFyeV9k YXRhLmNwdTsKKworCXNldF9teV9jcHVfb2Zmc2V0KHBlcl9jcHVfb2Zmc2V0KGNwdSkpOwogCiAJ c2Vjb25kYXJ5X2JpZ2xpdHRsZV9pbml0KCk7CiAKQEAgLTQyMyw3ICs0MzIsNiBAQCBhc21saW5r YWdlIHZvaWQgc2Vjb25kYXJ5X3N0YXJ0X2tlcm5lbCh2b2lkKQogCSAqIEFsbCBrZXJuZWwgdGhy ZWFkcyBzaGFyZSB0aGUgc2FtZSBtbSBjb250ZXh0OyBncmFiIGEKIAkgKiByZWZlcmVuY2UgYW5k IHN3aXRjaCB0byBpdC4KIAkgKi8KLQljcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CiAJbW1ncmFi KG1tKTsKIAljdXJyZW50LT5hY3RpdmVfbW0gPSBtbTsKIAljcHVtYXNrX3NldF9jcHUoY3B1LCBt bV9jcHVtYXNrKG1tKSk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9saWIvY29weV9mcm9tX3VzZXIu UyBiL2FyY2gvYXJtL2xpYi9jb3B5X2Zyb21fdXNlci5TCmluZGV4IGY4MDE2ZTNkYjY1ZC4uNGVk MDRmOTFlZDBkIDEwMDY0NAotLS0gYS9hcmNoL2FybS9saWIvY29weV9mcm9tX3VzZXIuUworKysg Yi9hcmNoL2FybS9saWIvY29weV9mcm9tX3VzZXIuUwpAQCAtMTA5LDggKzEwOSw4IEBACiAKIEVO VFJZKGFybV9jb3B5X2Zyb21fdXNlcikKICNpZmRlZiBDT05GSUdfQ1BVX1NQRUNUUkUKLQlnZXRf dGhyZWFkX2luZm8gcjMKLQlsZHIJcjMsIFtyMywgI1RJX0FERFJfTElNSVRdCisJZ2V0X2N1cnJl bnQgcjMsIGlwCisJbGRyCXIzLCBbcjMsICNUU0tfVElfQUREUl9MSU1JVF0KIAl1YWNjZXNzX21h c2tfcmFuZ2VfcHRyIHIxLCByMiwgcjMsIGlwCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvYXJjaC9h cm0vbGliL2NvcHlfdG9fdXNlci5TIGIvYXJjaC9hcm0vbGliL2NvcHlfdG9fdXNlci5TCmluZGV4 IGViZmU0Y2IzZDkxMi4uMjI5MDYxY2ZiNWIwIDEwMDY0NAotLS0gYS9hcmNoL2FybS9saWIvY29w eV90b191c2VyLlMKKysrIGIvYXJjaC9hcm0vbGliL2NvcHlfdG9fdXNlci5TCkBAIC0xMDksOCAr MTA5LDggQEAKIEVOVFJZKF9fY29weV90b191c2VyX3N0ZCkKIFdFQUsoYXJtX2NvcHlfdG9fdXNl cikKICNpZmRlZiBDT05GSUdfQ1BVX1NQRUNUUkUKLQlnZXRfdGhyZWFkX2luZm8gcjMKLQlsZHIJ cjMsIFtyMywgI1RJX0FERFJfTElNSVRdCisJZ2V0X2N1cnJlbnQgcjMsIGlwCisJbGRyCXIzLCBb cjMsICNUU0tfVElfQUREUl9MSU1JVF0KIAl1YWNjZXNzX21hc2tfcmFuZ2VfcHRyIHIwLCByMiwg cjMsIGlwCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1lcDkzeHgvY3J1bmNo LWJpdHMuUyBiL2FyY2gvYXJtL21hY2gtZXA5M3h4L2NydW5jaC1iaXRzLlMKaW5kZXggZmIyZGJm NzZmMDllLi5kYWQ2MmUzZDRiMDMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtZXA5M3h4L2Ny dW5jaC1iaXRzLlMKKysrIGIvYXJjaC9hcm0vbWFjaC1lcDkzeHgvY3J1bmNoLWJpdHMuUwpAQCAt MTkyLDcgKzE5Miw3IEBAIGNydW5jaF9sb2FkOgogCiAxOgogI2lmZGVmIENPTkZJR19QUkVFTVBU X0NPVU5UCi0JZ2V0X3RocmVhZF9pbmZvIHIxMAorCWdldF90YXNrX2luZm8gcjEwLCByMwogI2Vu ZGlmCiAyOglkZWNfcHJlZW1wdF9jb3VudCByMTAsIHIzCiAJcmV0CWxyCmRpZmYgLS1naXQgYS9h cmNoL2FybS92ZnAvZW50cnkuUyBiL2FyY2gvYXJtL3ZmcC9lbnRyeS5TCmluZGV4IDI3YjBhMWYy N2ZiZC4uMDAzNTU0ZjgzOTNkIDEwMDY0NAotLS0gYS9hcmNoL2FybS92ZnAvZW50cnkuUworKysg Yi9hcmNoL2FybS92ZnAvZW50cnkuUwpAQCAtMjQsOCArMjQsOCBAQAogRU5UUlkoZG9fdmZwKQog CWluY19wcmVlbXB0X2NvdW50IHIxMCwgcjQKICAJbGRyCXI0LCAuTEN2ZnAKLQlsZHIJcjExLCBb cjEwLCAjVElfQ1BVXQlAIENQVSBudW1iZXIKLQlhZGQJcjEwLCByMTAsICNUSV9WRlBTVEFURQlA IHIxMCA9IHdvcmtzcGFjZQorCWxkcglyMTEsIFtyMTAsICNUU0tfQ1BVXQlAIENQVSBudW1iZXIK KwlhZGQJcjEwLCByMTAsICNUU0tfVElfVkZQU1RBVEUJQCByMTAgPSB3b3Jrc3BhY2UKIAlsZHIJ cGMsIFtyNF0JCUAgY2FsbCBWRlAgZW50cnkgcG9pbnQKIEVORFBST0MoZG9fdmZwKQogCmRpZmYg LS1naXQgYS9hcmNoL2FybS92ZnAvdmZwbW9kdWxlLmMgYi9hcmNoL2FybS92ZnAvdmZwbW9kdWxl LmMKaW5kZXggMmNiMzU1YzFiNWI3Li40ZTI3MDdmYmE4ZmQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJt L3ZmcC92ZnBtb2R1bGUuYworKysgYi9hcmNoL2FybS92ZnAvdmZwbW9kdWxlLmMKQEAgLTE0Mywy MiArMTQzLDIyIEBAIHN0YXRpYyB2b2lkIHZmcF90aHJlYWRfY29weShzdHJ1Y3QgdGhyZWFkX2lu Zm8gKnRocmVhZCkKICAqICBUSFJFQURfTk9GVElGWV9TV1RJQ0g6CiAgKiAgIC0gdGhlIHByZXZp b3VzbHkgcnVubmluZyB0aHJlYWQgd2lsbCBub3QgYmUgc2NoZWR1bGVkIG9udG8gYW5vdGhlciBD UFUuCiAgKiAgIC0gdGhlIG5leHQgdGhyZWFkIHRvIGJlIHJ1biAodikgd2lsbCBub3QgYmUgcnVu bmluZyBvbiBhbm90aGVyIENQVS4KLSAqICAgLSB0aHJlYWQtPmNwdSBpcyB0aGUgbG9jYWwgQ1BV IG51bWJlcgorICogICAtIHRzay0+Y3B1IGlzIHRoZSBsb2NhbCBDUFUgbnVtYmVyCiAgKiAgIC0g bm90IHByZWVtcHRpYmxlIGFzIHdlJ3JlIGNhbGxlZCBpbiB0aGUgbWlkZGxlIG9mIGEgdGhyZWFk IHN3aXRjaAogICogIFRIUkVBRF9OT1RJRllfRkxVU0g6CiAgKiAgIC0gdGhlIHRocmVhZCAodikg d2lsbCBiZSBydW5uaW5nIG9uIHRoZSBsb2NhbCBDUFUsIHNvCi0gKgl2ID09PSBjdXJyZW50X3Ro cmVhZF9pbmZvKCkKLSAqICAgLSB0aHJlYWQtPmNwdSBpcyB0aGUgbG9jYWwgQ1BVIG51bWJlciBh dCB0aGUgdGltZSBpdCBpcyBhY2Nlc3NlZCwKKyAqCXYgPT09IGN1cnJlbnQKKyAqICAgLSB0c2st PmNwdSBpcyB0aGUgbG9jYWwgQ1BVIG51bWJlciBhdCB0aGUgdGltZSBpdCBpcyBhY2Nlc3NlZCwK ICAqCWJ1dCBtYXkgY2hhbmdlIGF0IGFueSB0aW1lLgogICogICAtIHdlIGNvdWxkIGJlIHByZWVt cHRlZCBpZiB0cmVlIHByZWVtcHQgcmN1IGlzIGVuYWJsZWQsIHNvCi0gKglpdCBpcyB1bnNhZmUg dG8gdXNlIHRocmVhZC0+Y3B1LgorICoJaXQgaXMgdW5zYWZlIHRvIHVzZSB0c2stPmNwdS4KICAq ICBUSFJFQURfTk9USUZZX0VYSVQKICAqICAgLSB3ZSBjb3VsZCBiZSBwcmVlbXB0ZWQgaWYgdHJl ZSBwcmVlbXB0IHJjdSBpcyBlbmFibGVkLCBzbwotICoJaXQgaXMgdW5zYWZlIHRvIHVzZSB0aHJl YWQtPmNwdS4KKyAqCWl0IGlzIHVuc2FmZSB0byB1c2UgdHNrLT5jcHUuCiAgKi8KIHN0YXRpYyBp bnQgdmZwX25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqc2VsZiwgdW5zaWduZWQgbG9u ZyBjbWQsIHZvaWQgKnYpCiB7Ci0Jc3RydWN0IHRocmVhZF9pbmZvICp0aHJlYWQgPSB2OworCXN0 cnVjdCB0YXNrX3N0cnVjdCAqdHNrID0gdjsKIAl1MzIgZnBleGM7CiAjaWZkZWYgQ09ORklHX1NN UAogCXVuc2lnbmVkIGludCBjcHU7CkBAIC0xNjksNyArMTY5LDcgQEAgc3RhdGljIGludCB2ZnBf bm90aWZpZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpzZWxmLCB1bnNpZ25lZCBsb25nIGNtZCwg dm9pZCAqdikKIAkJZnBleGMgPSBmbXJ4KEZQRVhDKTsKIAogI2lmZGVmIENPTkZJR19TTVAKLQkJ Y3B1ID0gdGhyZWFkLT5jcHU7CisJCWNwdSA9IHRzay0+Y3B1OwogCiAJCS8qCiAJCSAqIE9uIFNN UCwgaWYgVkZQIGlzIGVuYWJsZWQsIHNhdmUgdGhlIG9sZCBzdGF0ZSBpbgpAQCAtMTg4LDE1ICsx ODgsMTUgQEAgc3RhdGljIGludCB2ZnBfbm90aWZpZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpz ZWxmLCB1bnNpZ25lZCBsb25nIGNtZCwgdm9pZCAqdikKIAkJYnJlYWs7CiAKIAljYXNlIFRIUkVB RF9OT1RJRllfRkxVU0g6Ci0JCXZmcF90aHJlYWRfZmx1c2godGhyZWFkKTsKKwkJdmZwX3RocmVh ZF9mbHVzaCgmdHNrLT50aHJlYWRfaW5mbyk7CiAJCWJyZWFrOwogCiAJY2FzZSBUSFJFQURfTk9U SUZZX0VYSVQ6Ci0JCXZmcF90aHJlYWRfZXhpdCh0aHJlYWQpOworCQl2ZnBfdGhyZWFkX2V4aXQo JnRzay0+dGhyZWFkX2luZm8pOwogCQlicmVhazsKIAogCWNhc2UgVEhSRUFEX05PVElGWV9DT1BZ OgotCQl2ZnBfdGhyZWFkX2NvcHkodGhyZWFkKTsKKwkJdmZwX3RocmVhZF9jb3B5KCZ0c2stPnRo cmVhZF9pbmZvKTsKIAkJYnJlYWs7CiAJfQogCkBAIC00NDgsMjYgKzQ0OCwyNSBAQCB2b2lkIF9f aW5pdCB2ZnBfZGlzYWJsZSh2b2lkKQogI2lmZGVmIENPTkZJR19DUFVfUE0KIHN0YXRpYyBpbnQg dmZwX3BtX3N1c3BlbmQodm9pZCkKIHsKLQlzdHJ1Y3QgdGhyZWFkX2luZm8gKnRpID0gY3VycmVu dF90aHJlYWRfaW5mbygpOwogCXUzMiBmcGV4YyA9IGZtcngoRlBFWEMpOwogCiAJLyogaWYgdmZw IGlzIG9uLCB0aGVuIHNhdmUgc3RhdGUgZm9yIHJlc3VtcHRpb24gKi8KIAlpZiAoZnBleGMgJiBG UEVYQ19FTikgewogCQlwcl9kZWJ1ZygiJXM6IHNhdmluZyB2ZnAgc3RhdGVcbiIsIF9fZnVuY19f KTsKLQkJdmZwX3NhdmVfc3RhdGUoJnRpLT52ZnBzdGF0ZSwgZnBleGMpOworCQl2ZnBfc2F2ZV9z dGF0ZSgmY3VycmVudC0+dGhyZWFkX2luZm8udmZwc3RhdGUsIGZwZXhjKTsKIAogCQkvKiBkaXNh YmxlLCBqdXN0IGluIGNhc2UgKi8KIAkJZm14cihGUEVYQywgZm1yeChGUEVYQykgJiB+RlBFWENf RU4pOwotCX0gZWxzZSBpZiAodmZwX2N1cnJlbnRfaHdfc3RhdGVbdGktPmNwdV0pIHsKKwl9IGVs c2UgaWYgKHZmcF9jdXJyZW50X2h3X3N0YXRlW2N1cnJlbnQtPmNwdV0pIHsKICNpZm5kZWYgQ09O RklHX1NNUAogCQlmbXhyKEZQRVhDLCBmcGV4YyB8IEZQRVhDX0VOKTsKLQkJdmZwX3NhdmVfc3Rh dGUodmZwX2N1cnJlbnRfaHdfc3RhdGVbdGktPmNwdV0sIGZwZXhjKTsKKwkJdmZwX3NhdmVfc3Rh dGUodmZwX2N1cnJlbnRfaHdfc3RhdGVbY3VycmVudC0+Y3B1XSwgZnBleGMpOwogCQlmbXhyKEZQ RVhDLCBmcGV4Yyk7CiAjZW5kaWYKIAl9CiAKIAkvKiBjbGVhciBhbnkgaW5mb3JtYXRpb24gd2Ug aGFkIGFib3V0IGxhc3QgY29udGV4dCBzdGF0ZSAqLwotCXZmcF9jdXJyZW50X2h3X3N0YXRlW3Rp LT5jcHVdID0gTlVMTDsKKwl2ZnBfY3VycmVudF9od19zdGF0ZVtjdXJyZW50LT5jcHVdID0gTlVM TDsKIAogCXJldHVybiAwOwogfQotLSAKMi4zMy4wCgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGlu dXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQu b3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=