ZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3RhZ3MgYi9ydW50aW1lL2RvYy90YWdzCmluZGV4IDI3OGUxYmEuLjAxNWFjMjUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3RhZ3MKKysrIGIvcnVudGltZS9kb2MvdGFncwpAQCAtMjY0NCwxNiArMjY0NCwyMyBAQAogOnROZXh0CXRhZ3NyY2gudHh0CS8qOnROZXh0KgogOnRhCXRhZ3NyY2gudHh0CS8qOnRhKgogOnRhYgl0YWJwYWdlLnR4dAkvKjp0YWIqCis6dGFiTgl0YWJwYWdlLnR4dAkvKjp0YWJOKgorOnRhYk5leHQJdGFicGFnZS50eHQJLyo6dGFiTmV4dCoKIDp0YWJjCXRhYnBhZ2UudHh0CS8qOnRhYmMqCiA6dGFiY2xvc2UJdGFicGFnZS50eHQJLyo6dGFiY2xvc2UqCiA6dGFiZQl0YWJwYWdlLnR4dAkvKjp0YWJlKgogOnRhYmVkaXQJdGFicGFnZS50eHQJLyo6dGFiZWRpdCoKIDp0YWJmCXRhYnBhZ2UudHh0CS8qOnRhYmYqCiA6dGFiZmluZAl0YWJwYWdlLnR4dAkvKjp0YWJmaW5kKgorOnRhYm0JdGFicGFnZS50eHQJLyo6dGFibSoKKzp0YWJtb3ZlCXRhYnBhZ2UudHh0CS8qOnRhYm1vdmUqCiA6dGFibgl0YWJwYWdlLnR4dAkvKjp0YWJuKgogOnRhYm5ldwl0YWJwYWdlLnR4dAkvKjp0YWJuZXcqCis6dGFibmV4dAl0YWJwYWdlLnR4dAkvKjp0YWJuZXh0KgogOnRhYm8JdGFicGFnZS50eHQJLyo6dGFibyoKIDp0YWJvbmx5CXRhYnBhZ2UudHh0CS8qOnRhYm9ubHkqCis6dGFicAl0YWJwYWdlLnR4dAkvKjp0YWJwKgorOnRhYnByZXZpb3VzCXRhYnBhZ2UudHh0CS8qOnRhYnByZXZpb3VzKgogOnRhYnMJdGFicGFnZS50eHQJLyo6dGFicyoKIDp0YWcJdGFnc3JjaC50eHQJLyo6dGFnKgogOnRhZ3MJdGFnc3JjaC50eHQJLyo6dGFncyoKQEAgLTUyOTMsNiArNTMwMCw3IEBACiBnUAljaGFuZ2UudHh0CS8qZ1AqCiBnUQlpbnRyby50eHQJLypnUSoKIGdSCWNoYW5nZS50eHQJLypnUioKK2dUCXRhYnBhZ2UudHh0CS8qZ1QqCiBnVQljaGFuZ2UudHh0CS8qZ1UqCiBnVVUJY2hhbmdlLnR4dAkvKmdVVSoKIGdVZ1UJY2hhbmdlLnR4dAkvKmdVZ1UqCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy93aW5kb3dzLnR4dCBiL3J1bnRpbWUvZG9jL3dpbmRvd3MudHh0CmluZGV4IDk3ZTAxNWUuLmNkNTcyODcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3dpbmRvd3MudHh0CisrKyBiL3J1bnRpbWUvZG9jL3dpbmRvd3MudHh0CkBAIC0xLDQgKzEsNCBAQAotKndpbmRvd3MudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjBhYS4gIExhc3QgY2hhbmdlOiAyMDA2IEZlYiAxOAorKndpbmRvd3MudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjBhYS4gIExhc3QgY2hhbmdlOiAyMDA2IEZlYiAyMwogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtOTU0LDkgKzk1NCwxMCBAQAogOmJ3W2lwZW91dF1bIV0ge2J1Zm5hbWV9CiA6TixNYndbaXBlb3V0XVshXQogOmJ3W2lwZW91dF1bIV0gTjEgTjIgLi4uCi0JCUxpa2UgfDpiZGVsZXRlfCwgYnV0IHJlYWxseSBkZWxldGUgdGhlIGJ1ZmZlci4gIEFsbCBtYXJrcyBpbgotCQl0aGlzIGJ1ZmZlciBiZWNvbWUgaW52YWxpZCwgb3B0aW9uIHNldHRpbmdzIGFyZSBsb3N0LCBldGMuCi0JCURvbid0IHVzZSB0aGlzIHVubGVzcyB5b3Uga25vdyB3aGF0IHlvdSBhcmUgZG9pbmcuCisJCUxpa2UgfDpiZGVsZXRlfCwgYnV0IHJlYWxseSBkZWxldGUgdGhlIGJ1ZmZlci4gIEV2ZXJ5dGhpbmcKKwkJcmVsYXRlZCB0byB0aGUgYnVmZmVyIGlzIGxvc3QuICBBbGwgbWFya3MgaW4gdGhpcyBidWZmZXIKKwkJYmVjb21lIGludmFsaWQsIG9wdGlvbiBzZXR0aW5ncyBhcmUgbG9zdCwgZXRjLiAgRG9uJ3QgdXNlIHRoaXMKKwkJdW5sZXNzIHlvdSBrbm93IHdoYXQgeW91IGFyZSBkb2luZy4KIAogOltOXWJ1bltsb2FkXVshXQkJCQkqOmJ1biogKjpidW5sb2FkKiAqRTUxNSoKIDpidW5bbG9hZF1bIV0gW05dCmRpZmYgLS1naXQgYS9ydW50aW1lL2ZpbGV0eXBlLnZpbSBiL3J1bnRpbWUvZmlsZXR5cGUudmltCmluZGV4IDNhNGQ3MGYuLmE3Yjg1ODUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZmlsZXR5cGUudmltCisrKyBiL3J1bnRpbWUvZmlsZXR5cGUudmltCkBAIC0xLDcgKzEsNyBAQAogIiBWaW0gc3VwcG9ydCBmaWxlIHRvIGRldGVjdCBmaWxlIHR5cGVzCiAiCiAiIE1haW50YWluZXI6CUJyYW0gTW9vbGVuYWFyIDxCcmFtQHZpbS5vcmc+Ci0iIExhc3QgQ2hhbmdlOgkyMDA2IEphbiAxMgorIiBMYXN0IENoYW5nZToJMjAwNiBGZWIgMjMKIAogIiBMaXN0ZW4gdmVyeSBjYXJlZnVsbHksIEkgd2lsbCBzYXkgdGhpcyBvbmx5IG9uY2UKIGlmIGV4aXN0cygiZGlkX2xvYWRfZmlsZXR5cGVzIikKQEAgLTg5MSw2ICs4OTEsOSBAQAogIiBNZXRhUG9zdAogYXUgQnVmTmV3RmlsZSxCdWZSZWFkICoubXAJCQlzZXRmIG1wCiAKKyIgTUdMCithdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5tZ2wJCQlzZXRmIG1nbAorCiAiIE1NSVggb3IgVk1TIG1ha2VmaWxlCiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5tbXMJCQljYWxsIHM6RlRtbXMoKQogCmRpZmYgLS1naXQgYS9ydW50aW1lL3NwZWxsL3N2L3N2X1NFLmRpZmYgYi9ydW50aW1lL3NwZWxsL3N2L3N2X1NFLmRpZmYKaW5kZXggNWEwYjM4My4uYWQ4YjNhNyAxMDA2NDQKLS0tIGEvcnVudGltZS9zcGVsbC9zdi9zdl9TRS5kaWZmCisrKyBiL3J1bnRpbWUvc3BlbGwvc3Yvc3ZfU0UuZGlmZgpAQCAtMSw1ICsxLDUgQEAKLSoqKiBzdl9TRS5vcmlnLmFmZglXZWQgQXVnIDMxIDIxOjAwOjE5IDIwMDUKLS0tLSBzdl9TRS5hZmYJRnJpIFNlcCAzMCAxNDowOToxOSAyMDA1CisqKiogc3ZfU0Uub3JpZy5hZmYJMjAwMy0wOC0xNCAxNDowMDozMi4wMDAwMDAwMDAgKzAyMDAKKy0tLSBzdl9TRS5hZmYJMjAwNi0wMi0yMSAyMDozMzozMS42ODc1MDAwMDAgKzAxMDAKICoqKioqKioqKioqKioqKgogKioqIDYsNyAqKioqCiAtLS0gNiwyMiAtLS0tCkBAIC0xMzksNTQ3ICsxMzksODIgQEAKICsgU0FMIMQJRQogKyBTQUwg1kcoSUUpLTYJ1ksJIyB2b2thbCtnKGllKSBnZXIgZWogai1sanVkCiArIFNBTCDWCdYKLSoqKiBzdl9TRS5vcmlnLmRpYwkyMDAzLTA4LTE0IDEzOjAyOjA2LjAwMDAwMDAwMCArMDIwMAotLS0tIHN2X1NFLmRpYwkyMDA1LTEwLTE1IDE4OjE1OjUyLjE3MTg3NTAwMCArMDIwMAorKioqIHN2X1NFLm9yaWcuZGljCTIwMDMtMDgtMTQgMTQ6MDI6MDYuMDAwMDAwMDAwICswMjAwCistLS0gc3ZfU0UuZGljCTIwMDYtMDItMjMgMTg6Mzk6MTEuMjE4NzUwMDAwICswMTAwCiAqKioqKioqKioqKioqKioKLSoqKiAxMDgsMTEzICoqKioKLS0tLSAxMDgsMTE0IC0tLS0KLSAgYWRvcHRpb24vQURIUwotICBhZG9wdGl2YmFybi9CRFMKLSAgYWRvcHRpdnNvbi9BRFMKLSsgYWRyLgotICBhZHJlbmFsaW4vQlMKLSAgYWRyZXNzL0RIUwotICBhZHJlc3NhdC9BREhTCi0qKioqKioqKioqKioqKioKLSoqKiA2MDgsNjEzICoqKioKLS0tLSA2MDksNjE1IC0tLS0KLSAgYW5s9nBzL1MKLSAgYW5s9nB0YS9KUlMKLSAgYW5tCi0rIGFubS4KLSAgYW5tYW5pbmcvQURHUwotICBhbm1vZGEvQUJDREVGTU5QUwotICBhbm1vZGFuZGUvQUNFRlMKLSoqKioqKioqKioqKioqKgotKioqIDk3Myw5NzggKioqKgotLS0tIDk3NSw5ODEgLS0tLQotICBhcnJvZ2FudC9PUwotICBhcnNlbmFsL0RIUwotICBhcnNlbmlrL0RTCi0rIGFydC4KLSAgYXJ0L0FESE9TCi0gIGFydGEvQ0hKTU5QUwotICBhcnRlZmFrdC9ESFMKLSoqKioqKioqKioqKioqKgotKioqIDEwOTQsMTA5OSAqKioqCi0tLS0gMTA5NywxMTAzIC0tLS0KLSAgYXVkaWVucy9ESFMKLSAgYXVkaXRvcmllL0NJUwotICBhdWRpdG9yaXVtL0pTCi0rIGF1Zy4KLSAgQXVndXN0L0EKLSAgYXVndXN0aS9BUwotICBhdWt0aW9uL0FESFMKLSoqKioqKioqKioqKioqKgotKioqIDIzNzYsMjM4MSAqKioqCi0tLS0gMjM4MCwyMzg2IC0tLS0KLSAgYmlrdXBhL0FFR1MKLSAgYmlrdXBlL1MKLSAgYmlrdXBzL1MKLSsgYmlsLgotICBiaWwvQURHUwotICBiaWxhL0VHSUpPUwotICBiaWxhZ2EvRUdPUwotKioqKioqKioqKioqKioqCi0qKiogMjQ5MCwyNDk1ICoqKioKLS0tLSAyNDk1LDI1MDEgLS0tLQotICBCavZybgotICBiavZybi9BREdTCi0gIEJq9nJucwotKyBibC5hLgotICBibGEvSlMKLSAgYmxhY2svREdTCi0gIGJsYWNrb3V0L0RIUwotKioqKioqKioqKioqKioqCi0qKiogMzY0NSwzNjUwICoqKioKLS0tLSAzNjUxLDM2NTcgLS0tLQotICBkZWJ1dC9BREhTCi0gIGRlYnV0YW50L0RIUwotICBkZWJ1dGVyYS9KTVMKLSsgZGVjLgotICBkZWNlbWJlci9BUwotICBkZWNlbm5pZS9DSVMKLSAgZGVjZW5uaXVtL0FKUwotKioqKioqKioqKioqKioqCi0qKiogNDExNyw0MTIyICoqKioKLS0tLSA0MTI0LDQxMzAgLS0tLQotICBkb3R0ZXJzb24vQURTCi0gIERvdWdsYXMKLSAgZG92L09QUwotKyBkcgotICBkcmEvQUpTCi0gIGRyYWJhbnQvREhTCi0gIGRyYWJiYS9BQ01OUFMKLSoqKioqKioqKioqKioqKgotKioqIDQzMTUsNDMyMSAqKioqCi0gIGR1dmVuL01TCi0gIGR2YWxhL0VHSlMKKyoqKiA0MzE3LDQzMTkgKioqKgogICBkdmFsZGVzL1MKICEgZHZzCiAgIGR25GxqYXMvUwotICBkduRsamVzL1MKLSAgZHbkbGpzL05TCi0tLS0gNDMyMyw0MzMwIC0tLS0KLSAgZHV2ZW4vTVMKLSAgZHZhbGEvRUdKUworLS0tIDQzMTcsNDMxOSAtLS0tCiAgIGR2YWxkZXMvUwotISBkdnMuCi0hIGQudi5zLgorISAjZHZzIFJlbW92ZWQgYnkgU3RlZmFuLgogICBkduRsamFzL1MKLSAgZHbkbGplcy9TCi0gIGR25Gxqcy9OUwogKioqKioqKioqKioqKioqCi0qKiogNDQ2Myw0NDY4ICoqKioKLS0tLSA0NDcyLDQ0NzggLS0tLQotICBFYmJhcwotICBFY3VhZG9yL0EKLSAgZWQvQURIUwotKyBlLmQuCi0gIEVkYmVyZy9BCi0gIGVkZXIvQUpNUwotICBFZGl0L0EKLSoqKioqKioqKioqKioqKgotKioqIDQ2MTIsNDYxNyAqKioqCi0tLS0gNDYyMiw0NjI4IC0tLS0KLSAgZWtvcnJlL0FFR1MKLSAgZWtvc3lzdGVtL0JEUwotICBla29z5G5kbmluZy9BREdTCisqKiogMjQ0OTAgKioqKgorLS0tIDI0NDkwLDI0NTU0IC0tLS0KKyAg5XZpbGEvTVMKKysgCisrICMgQWRkaXRpb25zIGJ5IFN0ZWZhbjoKKysgU0VLCisrIGFkci4KKysgYW5tLgorKyBhcnQuCisrIGF1Zy4KKysgYmwuYS4KKysgZC52LnMuCisrIGRlYy4KKysgZHIKKysgZHZzLgogKyBlLktyLgotICBla3NlbS9CRFMKLSAgRWtzavYvQQotICBla3VtZW5pay9EUwotKioqKioqKioqKioqKioqCi0qKiogNDgyNSw0ODMwICoqKioKLS0tLSA0ODM2LDQ4NDIgLS0tLQotICBlbmtyb25hL0VHUwotICBlbmvkdC9ESFMKLSAgRW5r9nBpbmcvQQorKyBlLmQuCiArIGVubC4KLSAgZW5saWdoZXQvUwotICBlbmxpZ3QvUwotICBlbm9ybS9PUFMKLSoqKioqKioqKioqKioqKgotKioqIDQ5OTAsNDk5NSAqKioqCi0tLS0gNTAwMiw1MDA4IC0tLS0KLSAgZXRhbm9sL0RTCi0gIGV0YXBwL0RIUwotICBldGMKICsgZXRjLgotICBldGNldGVyYS9TCi0gIGV0ZW4vQkRTCi0gIGV0ZXIvRVMKLSoqKioqKioqKioqKioqKgotKioqIDUzMzQsNTM0MSAqKioqCi0tLS0gNTM0Nyw1MzU2IC0tLS0KLSAgZmF2b3Jpc2VyYS9BQ0RNTlBTCi0gIGZhdm9yaXQvQURIUwotICBmYXb2ci9ESFMKLSsgZi5kLgotICBmZS9FRkhTCi0gIGZlYmVyL0VTCi0rIGZlYnIuCi0gIGZlYnJpbC9NT1BTCi0gIGZlYnJ1YXJpL0FTCi0gIGZlZGVyYWwvTU9TCi0qKioqKioqKioqKioqKioKLSoqKiA1NDUxLDU0NTYgKioqKgotLS0tIDU0NjYsNTQ3MiAtLS0tCi0gIGZpZmZsYS9BQ0RNTlMKLSAgZmlmZmxhci9ESlFTCi0gIGZpZmZsYXJlL0FFSlMKLSsgZmlnLgotICBmaWd1ci9BREhTCi0gIGZpZ3VyYXRpdi9PUwotICBmaWd1cmVyYS9BQ0pNTlBTCi0qKioqKioqKioqKioqKioKLSoqKiA1NjM1LDU2NDAgKioqKgotLS0tIDU2NTEsNTY1NyAtLS0tCi0gIGZq5HNrL0FCUwotICBmauRza2EvSk1TCi0gIGZq5HR0cmEvQ01OUFMKICsgZi5Lci4KLSAgZmxhY2svT1BTCi0gIGZsYWNrYS9BQkNESk1OUwotICBmbGFkZGVyL0NTCi0qKioqKioqKioqKioqKioKLSoqKiA1OTEzLDU5MTggKioqKgotLS0tIDU5MzAsNTkzNiAtLS0tCi0gIGZvcnRwbGFudGEvQUNNTlBTCi0gIGZvcnRwbGFudG5pbmcvQURHUwotICBmb3J0cmFuL1MKLSsgZm9ydHMuCi0gIGZvcnRzYXR0L09RUwotICBmb3J0c2tyaWRhL0tTCi0gIGZvcnRz5HR0YS9BSlMKLSoqKioqKioqKioqKioqKgotKioqIDYwNzUsNjA4MCAqKioqCi0tLS0gNjA5Myw2MDk5IC0tLS0KLSAgZnJhcy9ESFMKLSAgZnJhc2EvQkRISk1TCi0gIGZyYXNlcmluZy9BRFMKLSsgZnJlLgotICBmcmVkL0FEUwotICBmcmVkYS9BQ0pNTlBTCi0gIGZyZWRhZy9BREdTCi0qKioqKioqKioqKioqKioKLSoqKiA2MTcwLDYxNzUgKioqKgotLS0tIDYxODksNjE5NSAtLS0tCi0gIGZyaXZvbC9NT1MKLSAgZnJvZGEvQUNNTlBTCi0gIGZyb2RpZy9PUwotKyBmci5vLm0uCi0gIGZyb20vS0xNTlMKLSAgZnJvbWhldC9BRFMKLSAgZnJvbXQvUwotKioqKioqKioqKioqKioqCi0qKiogNjQ1Myw2NDU4ICoqKioKLS0tLSA2NDczLDY0NzkgLS0tLQotICBm5HN0bWFuL0FGUwotICBm5HN0bfYvQUVJUwotICBm5HN0bmluZy9BREdTCisrIGYuZC4KKysgZi5uLgogKyBmLvYuCi0gIGb2ZGEvQURFSktMUlMKLSAgZvZkZC9PUVMKLSAgZvZkZWxzZS9BRVMKLSoqKioqKioqKioqKioqKgotKioqIDEwNDkzLDEwNDk4ICoqKioKLS0tLSAxMDUxNCwxMDUyMCAtLS0tCi0gIEphbi9BCi0gIEphbm5lL0EKLSAgSmFub3MKKysgZmVici4KKysgZmlnLgorKyBmaWwua2FuZC4KKysgZmlsLmxpYy4KKysgZm9ydHMuCisrIGZyLm8ubS4KKysgZnJlLgogKyBqYW4uCi0gIGphbnVhcmkvQVMKLSAgamFwYW4vREhTCi0gIEphcGFucwotKioqKioqKioqKioqKioqCi0qKiogMTA1MjAsMTA1MjUgKioqKgotLS0tIDEwNTQyLDEwNTQ4IC0tLS0KLSAgamV0Zmx5Zy9BQlMKLSAgamV0bW90b3IvRUhTCi0gIGpldHBsYW4vQUJEUwogKyBqZnIKLSAgamlkZGlzY2gvRFMKLSAgSmltbXkvQQotICBqaXBwby9BQ0VTCi0qKioqKioqKioqKioqKioKLSoqKiAxMDg3MCwxMDg3NSAqKioqCi0tLS0gMTA4OTMsMTA4OTkgLS0tLQotICBrYW9zL0JTCi0gIGthb3Rpc2svT1MKLSAgS2FwCiArIGthcC4KLSAga2FwL0JEUwotICBrYXBhL0FDSk1OUFMKLSAga2FwYWJlbC9LTVMKLSoqKioqKioqKioqKioqKgotKioqIDExMTE5LDExMTI0ICoqKioKLS0tLSAxMTE0MywxMTE0OSAtLS0tCi0gIEtqZWxsL0EKLSAga2pvbC9BREdTCi0gIGtqb3J0ZWwvRUlTCiArIGtsLgotICBrbAotICBrbGFjay9ER1MKLSAga2xhY2thL0lKTVMKLSoqKioqKioqKioqKioqKgotKioqIDEzNDQ1LDEzNDUwICoqKioKLS0tLSAxMzQ3MCwxMzQ3NiAtLS0tCi0gIGz2cG5pbmcvQURHUwotICBs9nBzZWRlbC9BRUlTCi0gIGz2cHRpZC9EUwogKyBs9nIuCi0gIGz2cmRhZy9BREdTCi0gIGz2cy9BT1JTCi0gIGz2c2EvQUJESktMUVJTCi0qKioqKioqKioqKioqKioKLSoqKiAxMzc4MywxMzc4OCAqKioqCi0tLS0gMTM4MDksMTM4MTUgLS0tLQotICBNYXVyZXRhbmllbi9BCi0gIE1hdXJpdGl1cwotICBtYXVzb2xldW0vSlMKLSsgbWF4LgotICBtYXgKLSAgbWF4aW0vREhTCi0gIG1heGltYWwvTU9TCi0qKioqKioqKioqKioqKioKLSoqKiAxMzk2NSwxMzk3MCAqKioqCi0tLS0gMTM5OTIsMTM5OTggLS0tLQotICBtZXhpa2FuL0RIUwotICBtZXhpa2Fuc2thL0FFR1MKLSAgTWV4aWtvL0EKICsgbS5mbC4KLSAgbWcKLSAgTUh6Ci0gIE1pY2hhZWwvQQotKioqKioqKioqKioqKioqCi0qKiogMTQwMTYsMTQwMjEgKioqKgotLS0tIDE0MDQ0LDE0MDUwIC0tLS0KLSAgbWlsc2zlbmcvT1MKLSAgbWlsc3RvbHBlL0FFR1MKLSAgbWltb3NhL0FFUwotKyBtaW4uCi0gIG1pbi9BQ0RGSFMKLSAgbWluYS9ISlMKLSAgbWluZGVyduRyZGlnL09RUlMKLSoqKioqKioqKioqKioqKgotKioqIDE0MTM2LDE0MTQxICoqKioKLS0tLSAxNDE2NSwxNDE3MSAtLS0tCi0gIG1q9mxuYXIvREpRUwotICBtavZsbmFyZS9BRUpTCi0gIG1sCiArIG0ubS4KLSAgbW0KLSAgbW8vQUVHUwotICBtb2JiYS9BQ01OUFMKLSoqKioqKioqKioqKioqKgotKioqIDE0NTM5LDE0NTQ0ICoqKioKLS0tLSAxNDU2OSwxNDU3NSAtLS0tCi0gIG3lbHN0eXJkL09TCi0gIG3lbHPkdHRuaW5nL0FER1MKLSAgbeVsdGlkL0FESFMKKysgbWF4LgorKyBtaW4uCiArIG3lbi4KLSAgbeVuL0RHUVMKLSAgbeVuYS9JSk1QUlMKLSAgbeVuYWQvQURIUVMKLSoqKioqKioqKioqKioqKgotKioqIDE0NzkyLDE0Nzk3ICoqKioKLS0tLSAxNDgyMywxNDgzMCAtLS0tCi0gIG5ldXRyb24vREhTCi0gIG5ldvYvRVMKLSAgTmV3CiArIG5nbgogKyBuZ3QKLSAgbmlhL0VHSlFTCi0gIE5pY2FyYWd1YS9BCi0gIG5pY2svREdTCi0qKioqKioqKioqKioqKioKLSoqKiAxNDkyMCwxNDkzMSAqKioqCi0tLS0gMTQ5NTMsMTQ5NjYgLS0tLQotICBub3RpZmlrYXRpb24vQURTCi0gIG5vdGlzL0RIUwotICBub3Rvcmlzay9PUwogKyBub3YuCi0gIG5vdmEvQUVTCi0gIG5vdmVsbC9ESFMKLSAgbm92ZWxsbWFnYXNpbi9BQkRTCi0gIG5vdmVsbHNhbWxpbmcvQURHUwotICBub3ZlbWJlci9BUwotICBub3Zpcy9ESFMKICsgbnIuCi0gIG5yCi0gIG51L0JTCi0gIG51YmIvUwotKioqKioqKioqKioqKioqCi0qKiogMTUyNDMsMTUyNDggKioqKgotLS0tIDE1Mjc4LDE1Mjg0IC0tLS0KLSAgb2Jyb3R0c2xpZy9PUwotICBvYnJ1a2Jhci9NT1MKLSAgb2JydXRlbi9NUwotKyBvYnMuCi0gIG9icwotICBvYnNlcnZhbnQvT1BTCi0gIG9ic2VydmF0aW9uL0FESFMKLSoqKioqKioqKioqKioqKgotKioqIDE1NDcwLDE1NDc1ICoqKioKLS0tLSAxNTUwNiwxNTUxMiAtLS0tCi0gIG9rb252ZW50aW9uZWxsL01PUwotICBva3JpdGlzay9PUwotICBva3J5ZGRhZGUvT1MKLSsgb2t0LgotICBva3RhZ29uL0hTCi0gIG9rdGFsL01PUwotICBva3Rhdi9ESFMKLSoqKioqKioqKioqKioqKgotKioqIDE1NzQxLDE1NzQ2ICoqKioKLS0tLSAxNTc3OCwxNTc4NCAtLS0tCi0gIG9uanV0YmFyL01PUwotICBvbmtlbC9BRVMKLSAgb25vcm1hbC9NT1MKLSsgb25zLgotICBvbnNkYWcvQURHUwotICBvbnlhbnNlcmFkZS9PUwotICBvbnlrdGVyL01TCi0qKioqKioqKioqKioqKioKLSoqKiAxNTk3NywxNTk4MyAqKioqCi0tLS0gMTYwMTUsMTYwMjMgLS0tLQotICBvc3RydWt0dXJlcmFkZS9PUwotICBvc3T2cmQvT1MKLSAgb3N1bmQvT1MKLSsgb3N2LgotICBvc3YKICsgby5zLnYuCi0gIG9zdmVuc2svT1MKLSAgb3N2aWtsaWcvT1BTCi0gIG9zeW1wYXRpc2svT1BRUwotKioqKioqKioqKioqKioqCi0qKiogMTYzNzgsMTYzODMgKioqKgotLS0tIDE2NDE4LDE2NDI0IC0tLS0KLSAgcGV0aXR1bS9FUwotICBQZXRyYS9BCi0gIFBldHRlcnNzb24vQQorKyBvYnMuCisrIG9rdC4KKysgb25zLgorKyBvc3YuCiArIHAuZy5hLgotICBwZ2EKLSAgUGhpbGlwcwotICBwaS9GUwotKioqKioqKioqKioqKioqCi0qKiogMTc0NTcsMTc0NjIgKioqKgotLS0tIDE3NDk4LDE3NTA0IC0tLS0KLSAgcmVzb25hYmVsL01TCi0gIHJlc29uZW1hbmcvQUJEUwotICByZXNvbmVyYS9BQ01OUwogKyByZXNwLgotICByZXNwL1MKLSAgcmVzcGVrdC9TCi0gIHJlc3Bla3RhYmVsL0xNUwotKioqKioqKioqKioqKioqCi0qKiogMTgzMjgsMTgzMzMgKioqKgotLS0tIDE4MzcwLDE4Mzc2IC0tLS0KLSAgc2VudGltZW50YWxpdGV0L0FEUwotICBzZXBhcmF0L09TCi0gIHNlcGFyZXJhL0FDTU5QUwotKyBzZXB0LgotICBzZXB0ZW1iZXIvQVMKLSAgc2VyYWYvREhTCi0gIHNlcmVuYWQvREhTCi0qKioqKioqKioqKioqKioKLSoqKiAxODY1MiwxODY1NyAqKioqCi0tLS0gMTg2OTUsMTg3MDEgLS0tLQotICBzavZzbGFnL1MKLSAgc2r2c3MvUwotICBzauVwaWcvT1MKICsgcy5rLgotICBza2EvR0pNUFMKLSAgc2thZGEvQUJDREVHSk1OUFMKLSAgc2thZGVkanVyL0JEUwotKioqKioqKioqKioqKioqCi0qKiogMjA3NjcsMjA3NzIgKioqKgotLS0tIDIwODExLDIwODE3IC0tLS0KLSAgc/Ztbmz2cy9PUVJTCi0gIHP2bW5s9nNoZXQvQURTCi0gIHP2bW5tZWRlbC9BQ0ZTCisrIHNlcHQuCiArIHP2bi4KLSAgc/ZuZGFnL0FER1MKLSAgc/ZuZGVyL1MKLSAgc/ZuZGVyYnJ1dGVuL01TCi0qKioqKioqKioqKioqKioKLSoqKiAyMDgzMiwyMDgzNyAqKioqCi0tLS0gMjA4NzcsMjA4ODMgLS0tLQotICBz5XbkbC9TCi0gIHPlduRyc3QvUwotICB0YS9BS1JTCi0rIHRhYi4KLSAgdGFiYmUvUwotICB0YWJlbGwvREhTCi0gIHRhYmVybmFrbGV0L0FTCi0qKioqKioqKioqKioqKioKLSoqKiAyMTA2MywyMTA2OCAqKioqCi0tLS0gMjExMDksMjExMTUgLS0tLQotICB0ZXN0YXIvREpRUwotICB0ZXN0YXJlL0FFSlMKLSAgdGVzdG5pbmcvQURHUwogKyB0LmV4LgotICB0ZXgKLSAgVGV4YXMKLSAgdGV4dC9ESE9TCi0qKioqKioqKioqKioqKioKLSoqKiAyMTMzNiwyMTM0MSAqKioqCi0tLS0gMjEzODMsMjEzODkgLS0tLQotICB0aXBwYS9BQ01OUFMKLSAgdGlwcy9CRFMKLSAgdGlwc2EvQUNKTU5QUwotKyB0aXMuCi0gIHRpc2RhZy9BREdTCi0gIHRpc3RlbC9FSVMKLSAgdGl0YW4vUwotKioqKioqKioqKioqKioqCi0qKiogMjE0NjMsMjE0NjggKioqKgotLS0tIDIxNTExLDIxNTE3IC0tLS0KLSAgdG9sduVyaWcvT1MKLSAgdG9sduVycy9TCi0gIFRvbQogKyB0Lm8ubS4KLSAgdG9tL0xNUwotICBUb21hcwotICB0b21hdC9ESFMKLSoqKioqKioqKioqKioqKgotKioqIDIxNTEzLDIxNTE4ICoqKioKLS0tLSAyMTU2MiwyMTU2OCAtLS0tCi0gIHRvcnBlZC9BREhTCi0gIHRvcnBlZGLldC9BREdTCi0gIHRvcnIvTU9QUworKyB0YWIuCisrIHRpcy4KICsgdG9ycy4KLSAgdG9yc2RhZy9BREdTCi0gIHRvcnNrL0RHUwotICBUb3JzdGVuL0EKLSoqKioqKioqKioqKioqKgotKioqIDIyMzU5LDIyMzY0ICoqKioKLS0tLSAyMjQwOSwyMjQxNSAtLS0tCi0gIHVwcGtvbXN0L0RTCi0gIHVwcGtvcHBsaW5nL0FER1MKLSAgdXBwa3J1cGVuL01TCisrIHUuYS4KICsgdXBwbC4KLSAgdXBwbGFnYS9BRUdPUwotICB1cHBsYWdkL09TCi0gIHVwcGxhZ2UvUwotKioqKioqKioqKioqKioqCi0qKiogMjI2MzksMjI2NDQgKioqKgotLS0tIDIyNjkwLDIyNjk2IC0tLS0KLSAgdXRm9nJhci9ESlFTCi0gIHV0ZvZyYXJlL0FFSlMKLSAgdXRm9nJsaWcvT1BTCiArIHV0Zy4KLSAgdXRnYWxscmEvQUNNTlBTCi0gIHV0Z2FtbGEvUwotICB1dGdhbW1hbC9NUwotKioqKioqKioqKioqKioqCi0qKiogMjMwMDMsMjMwMDggKioqKgotLS0tIDIzMDU1LDIzMDYxIC0tLS0KLSAgdmFyYW5uYW4vUwotICB2YXJhdi9TCi0gIFZhcmJlcmcvQQotKyB2YXJkLgotICB2YXJkYS9CRFMKLSAgdmFyZGFnL0FER1MKLSAgdmFyZGFnbGlnL09QUwotKioqKioqKioqKioqKioqCi0qKiogMjMwOTEsMjMwOTYgKioqKgotLS0tIDIzMTQ0LDIzMTUwIC0tLS0KLSAgVmF4aG9sbS9BCi0gIHZheGxqdXMvQkRTCi0gIFZheG1vcmEKLSsgdmQKLSAgVkQKLSAgdmUvR1MKLSAgdmVjay9BQkRTCi0qKioqKioqKioqKioqKioKLSoqKiAyMzIwMywyMzIwOCAqKioqCi0tLS0gMjMyNTcsMjMyNjQgLS0tLQotICB2ZXR0bPZzL09TCi0gIHZldi9EUwotICB2ZXZhL0FDSk1OUFMKICsgdi5nLgogKyB2Lmcudi4KLSAgdmkvQUNFT1MKLSAgdmlicmF0aW9uL0FESFMKLSAgdmlicmF0b3IvQUVTCi0qKioqKioqKioqKioqKioKLSoqKiAyMzQxNiwyMzQyMSAqKioqCi0tLS0gMjM0NzIsMjM0NzggLS0tLQotICBWTQotICB2b2thYnVs5HIvUwotICB2b2thbC9ESFMKKysgdmFyZC4KKysgdmQKICsgdm9sLgotICB2b2xvbnTkci9BREhTCi0gIHZvbHQvUwotICBWb2x2by9BCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC95YWNjLnZpbSBiL3J1bnRpbWUvc3ludGF4L3lhY2MudmltCmluZGV4IDE0NzcyOGIuLmFlZjAyYjUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3lhY2MudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3lhY2MudmltCkBAIC0xLDEyICsxLDEyIEBACiAiIFZpbSBzeW50YXggZmlsZQogIiBMYW5ndWFnZToJWWFjYwogIiBNYWludGFpbmVyOglEci4gQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuIDxOZHJPY2hpcFNAUGNhbXBiZWxsQWZhbWlseS5NYml6PgotIiBMYXN0IENoYW5nZToJU2VwIDA2LCAyMDA1Ci0iIFZlcnNpb246CTMKKyIgTGFzdCBDaGFuZ2U6CUZlYiAyMiwgMjAwNgorIiBWZXJzaW9uOgk0CiAiIFVSTDoJaHR0cDovL215c2l0ZS52ZXJpem9uLm5ldC9hc3Ryb25hdXQvdmltL2luZGV4Lmh0bWwjdmltbGlua3Nfc3ludGF4CiAiCiAiIE9wdGlvbjoKLSIgICB5YWNjX3VzZXNfY3BwIDogaWYgdGhpcyB2YXJpYWJsZSBleGlzdHMsIHRoZW4gQysrIGlzIGxvYWRlZCByYXRoZXIgdGhhbiBDCisiICAgZzp5YWNjX3VzZXNfY3BwIDogaWYgdGhpcyB2YXJpYWJsZSBleGlzdHMsIHRoZW4gQysrIGlzIGxvYWRlZCByYXRoZXIgdGhhbiBDCiAKICIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCiAiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCkBAIC0xOCwxMiArMTgsMTIgQEAKIAogIiBSZWFkIHRoZSBDIHN5bnRheCB0byBzdGFydCB3aXRoCiBpZiB2ZXJzaW9uID49IDYwMAotICBpZiBleGlzdHMoInlhY2NfdXNlc19jcHAiKQorICBpZiBleGlzdHMoImc6eWFjY191c2VzX2NwcCIpCiAgICAgcnVudGltZSEgc3ludGF4L2NwcC52aW0KICAgZWxzZQogICAgIHJ1bnRpbWUhIHN5bnRheC9jLnZpbQogICBlbmRpZgotZWxzZWlmIGV4aXN0cygieWFjY191c2VzX2NwcCIpCitlbHNlaWYgZXhpc3RzKCJnOnlhY2NfdXNlc19jcHAiKQogICBzbyA8c2ZpbGU+OnA6aC9jcHAudmltCiBlbHNlCiAgIHNvIDxzZmlsZT46cDpoL2MudmltCkBAIC00Nyw3ICs0Nyw3IEBACiBzeW4gcmVnaW9uCXlhY2NVbmlvbkN1cmx5CWNvbnRhaW5lZCBtYXRjaGdyb3VwPXlhY2NDdXJseSBzdGFydD0ieyIgbWF0Y2hncm91cD15YWNjQ3VybHkgZW5kPSJ9IiBjb250YWlucz1AeWFjY1VuaW9uR3JvdXAKIHN5biBtYXRjaAl5YWNjQnJrdAljb250YWluZWQgIls8Pl0iCiBzeW4gbWF0Y2gJeWFjY1R5cGUJIjxbYS16QS1aX11bYS16QS1aMC05X10qPiIJY29udGFpbnM9eWFjY0Jya3QKLXN5biBtYXRjaAl5YWNjRGVmaW5pdGlvbgkiXltBLVphLXpdW0EtWmEtejAtOV9dKlsgXHRdKjoiCitzeW4gbWF0Y2gJeWFjY0RlZmluaXRpb24JIl5bQS1aYS16XVtBLVphLXowLTlfXSpcX3MqOiIKIAogIiBzcGVjaWFsIFlhY2Mgc2VwYXJhdG9ycwogc3luIG1hdGNoCXlhY2NTZWN0aW9uU2VwCSJeWyBcdF0qJSUiCmRpZmYgLS1naXQgYS9zcmMvTWFrZV92bXMubW1zIGIvc3JjL01ha2Vfdm1zLm1tcwppbmRleCA4YjgzNDY4Li44YjI0OTgxIDEwMDY0NAotLS0gYS9zcmMvTWFrZV92bXMubW1zCisrKyBiL3NyYy9NYWtlX3Ztcy5tbXMKQEAgLTIsNyArMiw3IEBACiAjIE1ha2VmaWxlIGZvciBWaW0gb24gT3BlblZNUwogIwogIyBNYWludGFpbmVyOiAgIFpvbHRhbiBBcnBhZGZmeSA8YXJwYWRmZnlAcG9sYXJob21lLmNvbT4KLSMgTGFzdCBjaGFuZ2U6ICAyMDA1IEp1bCAyMworIyBMYXN0IGNoYW5nZTogIDIwMDYgRmViIDIzCiAjCiAjIFRoaXMgaGFzIHNjcmlwdCBiZWVuIHRlc3RlZCBvbiBWTVMgNi4yIHRvIDguMiBvbiBERUMgQWxwaGEsIFZBWCBhbmQgSUE2NAogIyB3aXRoIE1NUyBhbmQgTU1LCkBAIC0yODgsNyArMjg4LDcgQEAKIFNSQyA9CWJ1ZmZlci5jIGNoYXJzZXQuYyBkaWZmLmMgZGlncmFwaC5jIGVkaXQuYyBldmFsLmMgZXhfY21kcy5jIGV4X2NtZHMyLmMgXAogCWV4X2RvY21kLmMgZXhfZXZhbC5jIGV4X2dldGxuLmMgaWZfeGNtZHNydi5jIGZpbGVpby5jIGZvbGQuYyBnZXRjaGFyLmMgXAogCWhhcmRjb3B5LmMgaGFzaHRhYmxlLmMgbWFpbi5jIG1hcmsuYyBtZW51LmMgbWJ5dGUuYyBtZW1maWxlLmMgbWVtbGluZS5jIG1lc3NhZ2UuYyBtaXNjMS5jIFwKLQltaXNjMi5jIG1vdmUuYyBub3JtYWwuYyBvcHMuYyBvcHRpb24uYyBxdWlja2ZpeC5jIHJlZ2V4cC5jIHNlYXJjaC5jIFwKKwltaXNjMi5jIG1vdmUuYyBub3JtYWwuYyBvcHMuYyBvcHRpb24uYyBwb3B1cG1lbnUuYyBxdWlja2ZpeC5jIHJlZ2V4cC5jIHNlYXJjaC5jIFwKIAlzcGVsbC5jIHN5bnRheC5jIHRhZy5jIHRlcm0uYyB0ZXJtbGliLmMgdWkuYyB1bmRvLmMgdmVyc2lvbi5jIHNjcmVlbi5jIFwKIAl3aW5kb3cuYyBvc191bml4LmMgb3Nfdm1zLmMgcGF0aGRlZi5jIFwKIAkkKEdVSV9TUkMpICQoUEVSTF9TUkMpICQoUFlUSE9OX1NSQykgJChUQ0xfU1JDKSAkKFNOSUZGX1NSQykgXApAQCAtMjk4LDcgKzI5OCw3IEBACiAJZXhfY21kcy5vYmogZXhfY21kczIub2JqIGV4X2RvY21kLm9iaiBleF9ldmFsLm9iaiBleF9nZXRsbi5vYmogXAogCWlmX3hjbWRzcnYub2JqIGZpbGVpby5vYmogZm9sZC5vYmogZ2V0Y2hhci5vYmogaGFyZGNvcHkub2JqIGhhc2h0YWJsZS5vYmogbWFpbi5vYmogbWFyay5vYmogXAogCW1lbnUub2JqIG1lbWZpbGUub2JqIG1lbWxpbmUub2JqIG1lc3NhZ2Uub2JqIG1pc2MxLm9iaiBtaXNjMi5vYmogXAotCW1vdmUub2JqIG1ieXRlLm9iaiBub3JtYWwub2JqIG9wcy5vYmogb3B0aW9uLm9iaiBxdWlja2ZpeC5vYmogXAorCW1vdmUub2JqIG1ieXRlLm9iaiBub3JtYWwub2JqIG9wcy5vYmogb3B0aW9uLm9iaiBwb3B1cG1lbnUub2JqIHF1aWNrZml4Lm9iaiBcCiAJcmVnZXhwLm9iaiBzZWFyY2gub2JqIHNwZWxsLm9iaiBzeW50YXgub2JqIHRhZy5vYmogdGVybS5vYmogdGVybWxpYi5vYmogXAogCXVpLm9iaiB1bmRvLm9iaiBzY3JlZW4ub2JqIHZlcnNpb24ub2JqIHdpbmRvdy5vYmogb3NfdW5peC5vYmogXAogCW9zX3Ztcy5vYmogcGF0aGRlZi5vYmogXApAQCAtNjA3LDYgKzYwNywxMCBAQAogIGFzY2lpLmgga2V5bWFwLmggdGVybS5oIG1hY3Jvcy5oIHN0cnVjdHMuaCByZWdleHAuaCBcCiAgZ3VpLmggZ3VpX2JldmFsLmggWy5wcm90b11ndWlfYmV2YWwucHJvIG9wdGlvbi5oIGV4X2NtZHMuaCBwcm90by5oIFwKICBnbG9iYWxzLmggZmFyc2kuaCBhcmFiaWMuaAorcG9wdXBtZW51Lm9iaiA6IHBvcHVwbWVudS5jIHZpbS5oIFsuYXV0b11jb25maWcuaCBmZWF0dXJlLmggb3NfdW5peC5oIFwKKyBhc2NpaS5oIGtleW1hcC5oIHRlcm0uaCBtYWNyb3MuaCBzdHJ1Y3RzLmggcmVnZXhwLmggXAorIGd1aS5oIGd1aV9iZXZhbC5oIFsucHJvdG9dZ3VpX2JldmFsLnBybyBvcHRpb24uaCBleF9jbWRzLmggcHJvdG8uaCBcCisgZ2xvYmFscy5oIGZhcnNpLmggYXJhYmljLmgKIHF1aWNrZml4Lm9iaiA6IHF1aWNrZml4LmMgdmltLmggWy5hdXRvXWNvbmZpZy5oIGZlYXR1cmUuaCBvc191bml4LmggXAogIGFzY2lpLmgga2V5bWFwLmggdGVybS5oIG1hY3Jvcy5oIHN0cnVjdHMuaCByZWdleHAuaCBcCiAgZ3VpLmggZ3VpX2JldmFsLmggWy5wcm90b11ndWlfYmV2YWwucHJvIG9wdGlvbi5oIGV4X2NtZHMuaCBwcm90by5oIFwKZGlmZiAtLWdpdCBhL3NyYy9lZGl0LmMgYi9zcmMvZWRpdC5jCmluZGV4IGQxNTk5MTEuLjc5NjA1NjYgMTAwNjQ0Ci0tLSBhL3NyYy9lZGl0LmMKKysrIGIvc3JjL2VkaXQuYwpAQCAtNzEzLDggKzcxMyw4IEBACiAJCSAgICBjb250aW51ZTsKIAkJfQogCi0JCS8qIEEgcHJpbnRhYmxlIGNoYXJhY3RlcjogQWRkIGl0IHRvICJjb21wbF9sZWFkZXIiLiAqLwotCQlpZiAodmltX2lzcHJpbnRjKGMpKQorCQkvKiBBIHByaW50YWJsZSwgbm9uLXdoaXRlIGNoYXJhY3RlcjogQWRkIHRvICJjb21wbF9sZWFkZXIiLiAqLworCQlpZiAodmltX2lzcHJpbnRjKGMpICYmICF2aW1faXN3aGl0ZShjKSkKIAkJewogCQkgICAgaW5zX2NvbXBsX2FkZGxlYWRlcihjKTsKIAkJICAgIGNvbnRpbnVlOwpAQCAtMzY5Niw3ICszNjk2LDEwIEBACiBpbnNfY29tcGxfaW5zZXJ0KCkKIHsKICAgICBpbnNfYnl0ZXMoY29tcGxfc2hvd25fbWF0Y2gtPmNwX3N0ciArIGN1cndpbi0+d19jdXJzb3IuY29sIC0gY29tcGxfY29sKTsKLSAgICBjb21wbF91c2VkX21hdGNoID0gVFJVRTsKKyAgICBpZiAoY29tcGxfc2hvd25fbWF0Y2gtPmNwX2ZsYWdzICYgT1JJR0lOQUxfVEVYVCkKKwljb21wbF91c2VkX21hdGNoID0gRkFMU0U7CisgICAgZWxzZQorCWNvbXBsX3VzZWRfbWF0Y2ggPSBUUlVFOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2V4X2NtZHMyLmMgYi9zcmMvZXhfY21kczIuYwppbmRleCA1NzVhMTg1Li40MTZmZDNlIDEwMDY0NAotLS0gYS9zcmMvZXhfY21kczIuYworKysgYi9zcmMvZXhfY21kczIuYwpAQCAtMTk4Myw3ICsxOTgzLDggQEAKICNlbmRpZgogCiAjaWZkZWYgRkVBVF9XSU5ET1dTCi0JaWYgKCplYXAtPmNtZCA9PSAncycpCSAgICAvKiBzcGxpdCB3aW5kb3cgZmlyc3QgKi8KKwkvKiBzcGxpdCB3aW5kb3cgb3IgY3JlYXRlIG5ldyB0YWIgcGFnZSBmaXJzdCAqLworCWlmICgqZWFwLT5jbWQgPT0gJ3MnIHx8IGNtZG1vZC50YWIgIT0gMCkKIAl7CiAJICAgIGlmICh3aW5fc3BsaXQoMCwgMCkgPT0gRkFJTCkKIAkJcmV0dXJuOwpkaWZmIC0tZ2l0IGEvc3JjL2V4X2dldGxuLmMgYi9zcmMvZXhfZ2V0bG4uYwppbmRleCA2ODI4ZjY3Li5iYWM2MDBjIDEwMDY0NAotLS0gYS9zcmMvZXhfZ2V0bG4uYworKysgYi9zcmMvZXhfZ2V0bG4uYwpAQCAtMjkzOSw2ICsyOTM5LDE0IEBACiAgICAgaWYgKGNtZF9zaWxlbnQpCiAJcmV0dXJuOwogCisgICAgLyogd2hlbiAnaW5jc2VhcmNoJyBpcyBzZXQgdGhlcmUgbWF5IGJlIG5vIGNvbW1hbmQgbGluZSB3aGlsZSByZWRyYXdpbmcgKi8KKyAgICBpZiAoY2NsaW5lLmNtZGJ1ZmYgPT0gTlVMTCkKKyAgICB7CisJd2luZGdvdG8oY21kbGluZV9yb3csIDApOworCW1zZ19jbHJfZW9zKCk7CisJcmV0dXJuOworICAgIH0KKwogICAgIG1zZ19zdGFydCgpOwogICAgIHJlZHJhd2NtZHByb21wdCgpOwogCkBAIC01NjM1LDYgKzU2NDMsOSBAQAogICAgIC8qIERvbid0IGV4ZWN1dGUgYXV0b2NvbW1hbmRzIHdoaWxlIGNyZWF0aW5nIHRoZSB3aW5kb3cuICovCiAgICAgKythdXRvY21kX2Jsb2NrOwogIyBlbmRpZgorICAgIC8qIGRvbid0IHVzZSBhIG5ldyB0YWIgcGFnZSAqLworICAgIGNtZG1vZC50YWIgPSAwOworCiAgICAgLyogQ3JlYXRlIGEgd2luZG93IGZvciB0aGUgY29tbWFuZC1saW5lIGJ1ZmZlci4gKi8KICAgICBpZiAod2luX3NwbGl0KChpbnQpcF9jd2gsIFdTUF9CT1QpID09IEZBSUwpCiAgICAgewpkaWZmIC0tZ2l0IGEvc3JjL3Byb3RvL3dpbmRvdy5wcm8gYi9zcmMvcHJvdG8vd2luZG93LnBybwppbmRleCBjYTBkZTdhLi4xYzU2YWIxIDEwMDY0NAotLS0gYS9zcmMvcHJvdG8vd2luZG93LnBybworKysgYi9zcmMvcHJvdG8vd2luZG93LnBybwpAQCAtMTQsMTEgKzE0LDEzIEBACiB2b2lkIGN1cndpbl9pbml0IF9fQVJHUygodm9pZCkpOwogaW50IHdpbl9hbGxvY19maXJzdCBfX0FSR1MoKHZvaWQpKTsKIHZvaWQgd2luX2luaXRfc2l6ZSBfX0FSR1MoKHZvaWQpKTsKLWludCB3aW5fbmV3X3RhYnBhZ2UgX19BUkdTKCh2b2lkKSk7CitpbnQgd2luX25ld190YWJwYWdlIF9fQVJHUygoaW50IGFmdGVyKSk7CitpbnQgbWF5X29wZW5fdGFicGFnZSBfX0FSR1MoKHZvaWQpKTsKIGludCBtYWtlX3RhYnBhZ2VzIF9fQVJHUygoaW50IG1heGNvdW50KSk7CiBpbnQgdmFsaWRfdGFicGFnZSBfX0FSR1MoKHRhYnBhZ2VfVCAqdHBjKSk7CiB0YWJwYWdlX1QgKmZpbmRfdGFicGFnZSBfX0FSR1MoKGludCBuKSk7CiB2b2lkIGdvdG9fdGFicGFnZSBfX0FSR1MoKGludCBuKSk7Cit2b2lkIHRhYnBhZ2VfbW92ZSBfX0FSR1MoKGludCBucikpOwogdm9pZCB3aW5fZ290byBfX0FSR1MoKHdpbl9UICp3cCkpOwogd2luX1QgKndpbl9maW5kX25yIF9fQVJHUygoaW50IHdpbm5yKSk7CiB2b2lkIHdpbl9lbnRlciBfX0FSR1MoKHdpbl9UICp3cCwgaW50IHVuZG9fc3luYykpOwpkaWZmIC0tZ2l0IGEvc3JjL3N0cnVjdHMuaCBiL3NyYy9zdHJ1Y3RzLmgKaW5kZXggNGQxOTI4ZS4uYmIwMmE3NSAxMDA2NDQKLS0tIGEvc3JjL3N0cnVjdHMuaAorKysgYi9zcmMvc3RydWN0cy5oCkBAIC00MjgsNiArNDI4LDcgQEAKICMgZW5kaWYKICMgaWZkZWYgRkVBVF9XSU5ET1dTCiAgICAgaW50CQlzcGxpdDsJCQkvKiBmbGFncyBmb3Igd2luX3NwbGl0KCkgKi8KKyAgICBpbnQJCXRhYjsJCQkvKiA+IDAgd2hlbiAiOnRhYiIgd2FzIHVzZWQgKi8KICMgZW5kaWYKICMgaWYgZGVmaW5lZChGRUFUX0dVSV9ESUFMT0cpIHx8IGRlZmluZWQoRkVBVF9DT05fRElBTE9HKQogICAgIGludAkJY29uZmlybTsJCS8qIFRSVUUgdG8gaW52b2tlIHllcy9ubyBkaWFsb2cgKi8KZGlmZiAtLWdpdCBhL3NyYy9zeW50YXguYyBiL3NyYy9zeW50YXguYwppbmRleCA0NTYwMTUzLi5iNWMzNDY0IDEwMDY0NAotLS0gYS9zcmMvc3ludGF4LmMKKysrIGIvc3JjL3N5bnRheC5jCkBAIC02MTA5LDcgKzYxMDksNyBAQAogCSJEaWZmQWRkIHRlcm09Ym9sZCBjdGVybWJnPUxpZ2h0Qmx1ZSBndWliZz1MaWdodEJsdWUiLAogCSJEaWZmQ2hhbmdlIHRlcm09Ym9sZCBjdGVybWJnPUxpZ2h0TWFnZW50YSBndWliZz1MaWdodE1hZ2VudGEiLAogCSJEaWZmRGVsZXRlIHRlcm09Ym9sZCBjdGVybWZnPUJsdWUgY3Rlcm1iZz1MaWdodEN5YW4gZ3VpPWJvbGQgZ3VpZmc9Qmx1ZSBndWliZz1MaWdodEN5YW4iLAotCSJUYWJMaW5lIHRlcm09dW5kZXJsaW5lIGN0ZXJtPXVuZGVybGluZSBjdGVybWJnPUxpZ2h0R3JleSBndWk9dW5kZXJsaW5lIGd1aWJnPUxpZ2h0R3JleSIsCisJIlRhYkxpbmUgdGVybT11bmRlcmxpbmUgY3Rlcm09dW5kZXJsaW5lIGN0ZXJtZmc9YmxhY2sgY3Rlcm1iZz1MaWdodEdyZXkgZ3VpPXVuZGVybGluZSBndWliZz1MaWdodEdyZXkiLAogCU5VTEwKICAgICB9OwogCkBAIC02MTM4LDcgKzYxMzgsNyBAQAogCSJEaWZmQWRkIHRlcm09Ym9sZCBjdGVybWJnPURhcmtCbHVlIGd1aWJnPURhcmtCbHVlIiwKIAkiRGlmZkNoYW5nZSB0ZXJtPWJvbGQgY3Rlcm1iZz1EYXJrTWFnZW50YSBndWliZz1EYXJrTWFnZW50YSIsCiAJIkRpZmZEZWxldGUgdGVybT1ib2xkIGN0ZXJtZmc9Qmx1ZSBjdGVybWJnPURhcmtDeWFuIGd1aT1ib2xkIGd1aWZnPUJsdWUgZ3VpYmc9RGFya0N5YW4iLAotCSJUYWJMaW5lIHRlcm09dW5kZXJsaW5lIGN0ZXJtPXVuZGVybGluZSBjdGVybWJnPURhcmtHcmV5IGd1aT11bmRlcmxpbmUgZ3VpYmc9RGFya0dyZXkiLAorCSJUYWJMaW5lIHRlcm09dW5kZXJsaW5lIGN0ZXJtPXVuZGVybGluZSBjdGVybWZnPXdoaXRlIGN0ZXJtYmc9RGFya0dyZXkgZ3VpPXVuZGVybGluZSBndWliZz1EYXJrR3JleSIsCiAJTlVMTAogICAgIH07CiAKZGlmZiAtLWdpdCBhL3NyYy90ZXJtLmMgYi9zcmMvdGVybS5jCmluZGV4IGY5ZDZkMmQuLjYyMWQzNWIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXJtLmMKKysrIGIvc3JjL3Rlcm0uYwpAQCAtNDY5NSwxMCArNDY5NSwxOCBAQAogCQkJICAgICYmIG9yaWdfbnVtX2NsaWNrcyAhPSA0CiAJCQkgICAgJiYgb3JpZ19tb3VzZV9jb2wgPT0gbW91c2VfY29sCiAJCQkgICAgJiYgb3JpZ19tb3VzZV9yb3cgPT0gbW91c2Vfcm93CisJCQkgICAgJiYgKChvcmlnX3RvcGxpbmUgPT0gY3Vyd2luLT53X3RvcGxpbmUKICNpZmRlZiBGRUFUX0RJRkYKLQkJCSAgICAmJiBvcmlnX3RvcGZpbGwgPT0gY3Vyd2luLT53X3RvcGZpbGwKKwkJCQkgICAgJiYgb3JpZ190b3BmaWxsID09IGN1cndpbi0+d190b3BmaWxsCiAjZW5kaWYKLQkJCSAgICAmJiBvcmlnX3RvcGxpbmUgPT0gY3Vyd2luLT53X3RvcGxpbmUpCisJCQkJKQorI2lmZGVmIEZFQVRfV0lORE9XUworCQkJCS8qIERvdWJsZSBjbGljayBpbiB0YWIgcGFnZXMgbGluZSBhbHNvIHdvcmtzCisJCQkJICogd2hlbiB3aW5kb3cgY29udGVudHMgY2hhbmdlcy4gKi8KKwkJCQl8fCAobW91c2Vfcm93ID09IDAgJiYgZmlyc3R3aW4tPndfd2lucm93ID4gMCkKKyNlbmRpZgorCQkJICAgICAgICkKKwkJCSAgICApCiAJCQkrK29yaWdfbnVtX2NsaWNrczsKIAkJICAgIGVsc2UKIAkJCW9yaWdfbnVtX2NsaWNrcyA9IDE7CmRpZmYgLS1naXQgYS9zcmMvdmVyc2lvbi5oIGIvc3JjL3ZlcnNpb24uaAppbmRleCAwZWJkNzgxLi45ODM4ZjFiIDEwMDY0NAotLS0gYS9zcmMvdmVyc2lvbi5oCisrKyBiL3NyYy92ZXJzaW9uLmgKQEAgLTM2LDUgKzM2LDUgQEAKICNkZWZpbmUgVklNX1ZFUlNJT05fTk9ET1QJInZpbTcwYWEiCiAjZGVmaW5lIFZJTV9WRVJTSU9OX1NIT1JUCSI3LjBhYSIKICNkZWZpbmUgVklNX1ZFUlNJT05fTUVESVVNCSI3LjBhYSBBTFBIQSIKLSNkZWZpbmUgVklNX1ZFUlNJT05fTE9ORwkiVklNIC0gVmkgSU1wcm92ZWQgNy4wYWEgQUxQSEEgKDIwMDYgRmViIDIyKSIKLSNkZWZpbmUgVklNX1ZFUlNJT05fTE9OR19EQVRFCSJWSU0gLSBWaSBJTXByb3ZlZCA3LjBhYSBBTFBIQSAoMjAwNiBGZWIgMjIsIGNvbXBpbGVkICIKKyNkZWZpbmUgVklNX1ZFUlNJT05fTE9ORwkiVklNIC0gVmkgSU1wcm92ZWQgNy4wYWEgQUxQSEEgKDIwMDYgRmViIDIzKSIKKyNkZWZpbmUgVklNX1ZFUlNJT05fTE9OR19EQVRFCSJWSU0gLSBWaSBJTXByb3ZlZCA3LjBhYSBBTFBIQSAoMjAwNiBGZWIgMjMsIGNvbXBpbGVkICIK