ZGlmZiAtLWdpdCBhL2NvcmUvZnBkZmRvYy9jcGRmX2Fubm90LmNwcCBiL2NvcmUvZnBkZmRvYy9jcGRmX2Fubm90LmNwcAppbmRleCAxNDUzM2Y1Li40MDVlOWI2IDEwMDY0NAotLS0gYS9jb3JlL2ZwZGZkb2MvY3BkZl9hbm5vdC5jcHAKKysrIGIvY29yZS9mcGRmZG9jL2NwZGZfYW5ub3QuY3BwCkBAIC0zMTMsNiArMzEzLDggQEAKICAgICByZXR1cm4gQ1BERl9Bbm5vdDo6U3VidHlwZTo6UklDSE1FRElBOwogICBpZiAoc1N1YnR5cGUgPT0gIlhGQVdpZGdldCIpCiAgICAgcmV0dXJuIENQREZfQW5ub3Q6OlN1YnR5cGU6OlhGQVdJREdFVDsKKyAgaWYgKHNTdWJ0eXBlID09ICJSZWRhY3QiKQorICAgIHJldHVybiBDUERGX0Fubm90OjpTdWJ0eXBlOjpSRURBQ1Q7CiAgIHJldHVybiBDUERGX0Fubm90OjpTdWJ0eXBlOjpVTktOT1dOOwogfQogCkBAIC0zNzIsNiArMzc0LDggQEAKICAgICByZXR1cm4gIlJpY2hNZWRpYSI7CiAgIGlmIChuU3VidHlwZSA9PSBDUERGX0Fubm90OjpTdWJ0eXBlOjpYRkFXSURHRVQpCiAgICAgcmV0dXJuICJYRkFXaWRnZXQiOworICBpZiAoblN1YnR5cGUgPT0gQ1BERl9Bbm5vdDo6U3VidHlwZTo6UkVEQUNUKQorICAgIHJldHVybiAiUmVkYWN0IjsKICAgcmV0dXJuIEJ5dGVTdHJpbmcoKTsKIH0KIApkaWZmIC0tZ2l0IGEvY29yZS9mcGRmZG9jL2NwZGZfYW5ub3QuaCBiL2NvcmUvZnBkZmRvYy9jcGRmX2Fubm90LmgKaW5kZXggNzJlNmJkZi4uNjUxYjBiZCAxMDA2NDQKLS0tIGEvY29yZS9mcGRmZG9jL2NwZGZfYW5ub3QuaAorKysgYi9jb3JlL2ZwZGZkb2MvY3BkZl9hbm5vdC5oCkBAIC01Nyw3ICs1Nyw4IEBACiAgICAgV0FURVJNQVJLLAogICAgIFRIUkVFRCwKICAgICBSSUNITUVESUEsCi0gICAgWEZBV0lER0VUCisgICAgWEZBV0lER0VULAorICAgIFJFREFDVAogICB9OwogCiAgIHN0YXRpYyBDUERGX0Fubm90OjpTdWJ0eXBlIFN0cmluZ1RvQW5ub3RTdWJ0eXBlKGNvbnN0IEJ5dGVTdHJpbmcmIHNTdWJ0eXBlKTsKZGlmZiAtLWdpdCBhL2NvcmUvZnBkZmRvYy9jcGRmX2Fubm90bGlzdC5jcHAgYi9jb3JlL2ZwZGZkb2MvY3BkZl9hbm5vdGxpc3QuY3BwCmluZGV4IDZiNTNiNjQuLjUwZDM5YmYgMTAwNjQ0Ci0tLSBhL2NvcmUvZnBkZmRvYy9jcGRmX2Fubm90bGlzdC5jcHAKKysrIGIvY29yZS9mcGRmZG9jL2NwZGZfYW5ub3RsaXN0LmNwcApAQCAtNDgsNiArNDgsNyBAQAogICAgIGNhc2UgQ1BERl9Bbm5vdDo6U3VidHlwZTo6Q0FSRVQ6CiAgICAgY2FzZSBDUERGX0Fubm90OjpTdWJ0eXBlOjpJTks6CiAgICAgY2FzZSBDUERGX0Fubm90OjpTdWJ0eXBlOjpGSUxFQVRUQUNITUVOVDoKKyAgICBjYXNlIENQREZfQW5ub3Q6OlN1YnR5cGU6OlJFREFDVDoKICAgICAgIHJldHVybiB0cnVlOwogICAgIGNhc2UgQ1BERl9Bbm5vdDo6U3VidHlwZTo6VU5LTk9XTjoKICAgICBjYXNlIENQREZfQW5ub3Q6OlN1YnR5cGU6OkxJTks6CmRpZmYgLS1naXQgYS9mcGRmc2RrL2ZwZGZfYW5ub3QuY3BwIGIvZnBkZnNkay9mcGRmX2Fubm90LmNwcAppbmRleCA5OGIzZTRmLi4yOGRiZTE0IDEwMDY0NAotLS0gYS9mcGRmc2RrL2ZwZGZfYW5ub3QuY3BwCisrKyBiL2ZwZGZzZGsvZnBkZl9hbm5vdC5jcHAKQEAgLTExNSw2ICsxMTUsOSBAQAogc3RhdGljX2Fzc2VydChzdGF0aWNfY2FzdDxpbnQ+KENQREZfQW5ub3Q6OlN1YnR5cGU6OlhGQVdJREdFVCkgPT0KICAgICAgICAgICAgICAgICAgIEZQREZfQU5OT1RfWEZBV0lER0VULAogICAgICAgICAgICAgICAiQ1BERl9Bbm5vdDo6WEZBV0lER0VUIHZhbHVlIG1pc21hdGNoIik7CitzdGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0PGludD4oQ1BERl9Bbm5vdDo6U3VidHlwZTo6UkVEQUNUKSA9PQorICAgICAgICAgICAgICAgICAgRlBERl9BTk5PVF9SRURBQ1QsCisgICAgICAgICAgICAgICJDUERGX0Fubm90OjpSRURBQ1QgdmFsdWUgbWlzbWF0Y2giKTsKIAogLy8gVGhlc2UgY2hlY2tzIGVuc3VyZSB0aGUgY29uc2lzdGVuY3kgb2YgYW5ub3RhdGlvbiBhcHBlYXJhbmNlIG1vZGUgdmFsdWVzCiAvLyBhY3Jvc3MgY29yZS8gYW5kIHB1YmxpYy4KZGlmZiAtLWdpdCBhL2ZwZGZzZGsvZnBkZl9hbm5vdF9lbWJlZGRlcnRlc3QuY3BwIGIvZnBkZnNkay9mcGRmX2Fubm90X2VtYmVkZGVydGVzdC5jcHAKaW5kZXggOGVmOTdhNC4uMmNiNzZjMCAxMDA2NDQKLS0tIGEvZnBkZnNkay9mcGRmX2Fubm90X2VtYmVkZGVydGVzdC5jcHAKKysrIGIvZnBkZnNkay9mcGRmX2Fubm90X2VtYmVkZGVydGVzdC5jcHAKQEAgLTMyMDgsMyArMzIwOCwxOCBAQAogCiAgIFVubG9hZFBhZ2UocGFnZSk7CiB9CisKK1RFU1RfRihGUERGQW5ub3RFbWJlZGRlclRlc3QsIFJlZGFjdGFubm90YXRpb24pIHsKKyAgQVNTRVJUX1RSVUUoT3BlbkRvY3VtZW50KCJyZWRhY3RfYW5ub3QucGRmIikpOworICBGUERGX1BBR0UgcGFnZSA9IExvYWRQYWdlKDApOworICBBU1NFUlRfVFJVRShwYWdlKTsKKyAgRVhQRUNUX0VRKDEsIEZQREZQYWdlX0dldEFubm90Q291bnQocGFnZSkpOworCisgIHsKKyAgICBTY29wZWRGUERGQW5ub3RhdGlvbiBhbm5vdChGUERGUGFnZV9HZXRBbm5vdChwYWdlLCAwKSk7CisgICAgQVNTRVJUX1RSVUUoYW5ub3QpOworICAgIEVYUEVDVF9FUShGUERGX0FOTk9UX1JFREFDVCwgRlBERkFubm90X0dldFN1YnR5cGUoYW5ub3QuZ2V0KCkpKTsKKyAgfQorCisgIFVubG9hZFBhZ2UocGFnZSk7Cit9CmRpZmYgLS1naXQgYS9wdWJsaWMvZnBkZl9hbm5vdC5oIGIvcHVibGljL2ZwZGZfYW5ub3QuaAppbmRleCA5NTYxZDg0Li45MzA2NDU2IDEwMDY0NAotLS0gYS9wdWJsaWMvZnBkZl9hbm5vdC5oCisrKyBiL3B1YmxpYy9mcGRmX2Fubm90LmgKQEAgLTQ3LDYgKzQ3LDcgQEAKICNkZWZpbmUgRlBERl9BTk5PVF9USFJFRUQgMjUKICNkZWZpbmUgRlBERl9BTk5PVF9SSUNITUVESUEgMjYKICNkZWZpbmUgRlBERl9BTk5PVF9YRkFXSURHRVQgMjcKKyNkZWZpbmUgRlBERl9BTk5PVF9SRURBQ1QgMjgKIAogLy8gUmVmZXIgdG8gUERGIFJlZmVyZW5jZSAoNnRoIGVkaXRpb24pIHRhYmxlIDguMTYgZm9yIGFsbCBhbm5vdGF0aW9uIGZsYWdzLgogI2RlZmluZSBGUERGX0FOTk9UX0ZMQUdfTk9ORSAwCmRpZmYgLS1naXQgYS90ZXN0aW5nL3Jlc291cmNlcy9yZWRhY3RfYW5ub3QuaW4gYi90ZXN0aW5nL3Jlc291cmNlcy9yZWRhY3RfYW5ub3QuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTliN2I0ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RpbmcvcmVzb3VyY2VzL3JlZGFjdF9hbm5vdC5pbgpAQCAtMCwwICsxLDQ0IEBACit7e2hlYWRlcn19Cit7e29iamVjdCAxIDB9fSA8PAorICAvVHlwZSAvQ2F0YWxvZworICAvUGFnZXMgMiAwIFIKKz4+CitlbmRvYmoKK3t7b2JqZWN0IDIgMH19IDw8CisgIC9UeXBlIC9QYWdlcworICAvQ291bnQgMQorICAvS2lkcyBbMyAwIFJdCis+PgorZW5kb2JqCit7e29iamVjdCAzIDB9fSA8PAorICAvVHlwZSAvUGFnZQorICAvUGFyZW50IDIgMCBSCisgIC9Db250ZW50cyA0IDAgUgorICAvTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQorICAvQW5ub3RzIFsKKyAgICA1IDAgUgorICBdCisgIC9UYWJzIC9SCis+PgorZW5kb2JqCit7e29iamVjdCA0IDB9fSA8PAorICB7e3N0cmVhbWxlbn19Cis+Pgorc3RyZWFtCitlbmRzdHJlYW0KK2VuZG9iagore3tvYmplY3QgNSAwfX0gPDwKKyAgL1R5cGUgL0Fubm90CisgIC9TdWJ0eXBlIC9SZWRhY3QKKyAgL05NIChSZWRhY3QtMSkKKyAgL0YgNAorICAvUXVhZFBvaW50cyBbMjkzIDU0MiAzNDkgNTQyIDI5MyA1MzAgMzQ5IDUzMF0KKyAgL1AgMyAwIFIKKyAgL0MgWzEgMC45MDE5NiAwXQorICAvUmVjdCBbMjkzIDUzMCAzNDkgNTQyXQorPj4KK2VuZG9iagore3t4cmVmfX0KK3t7dHJhaWxlcn19Cit7e3N0YXJ0eHJlZn19CislJUVPRgpkaWZmIC0tZ2l0IGEvdGVzdGluZy9yZXNvdXJjZXMvcmVkYWN0X2Fubm90LnBkZiBiL3Rlc3RpbmcvcmVzb3VyY2VzL3JlZGFjdF9hbm5vdC5wZGYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzZjMjYwNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RpbmcvcmVzb3VyY2VzL3JlZGFjdF9hbm5vdC5wZGYKQEAgLTAsMCArMSw1NiBAQAorJVBERi0xLjcKKyWg8qT0CisxIDAgb2JqIDw8CisgIC9UeXBlIC9DYXRhbG9nCisgIC9QYWdlcyAyIDAgUgorPj4KK2VuZG9iagorMiAwIG9iaiA8PAorICAvVHlwZSAvUGFnZXMKKyAgL0NvdW50IDEKKyAgL0tpZHMgWzMgMCBSXQorPj4KK2VuZG9iagorMyAwIG9iaiA8PAorICAvVHlwZSAvUGFnZQorICAvUGFyZW50IDIgMCBSCisgIC9Db250ZW50cyA0IDAgUgorICAvTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQorICAvQW5ub3RzIFsKKyAgICA1IDAgUgorICBdCisgIC9UYWJzIC9SCis+PgorZW5kb2JqCis0IDAgb2JqIDw8CisgIC9MZW5ndGggMAorPj4KK3N0cmVhbQorZW5kc3RyZWFtCitlbmRvYmoKKzUgMCBvYmogPDwKKyAgL1R5cGUgL0Fubm90CisgIC9TdWJ0eXBlIC9SZWRhY3QKKyAgL05NIChSZWRhY3QtMSkKKyAgL0YgNAorICAvUXVhZFBvaW50cyBbMjkzIDU0MiAzNDkgNTQyIDI5MyA1MzAgMzQ5IDUzMF0KKyAgL1AgMyAwIFIKKyAgL0MgWzEgMC45MDE5NiAwXQorICAvUmVjdCBbMjkzIDUzMCAzNDkgNTQyXQorPj4KK2VuZG9iagoreHJlZgorMCA2CiswMDAwMDAwMDAwIDY1NTM1IGYgCiswMDAwMDAwMDE1IDAwMDAwIG4gCiswMDAwMDAwMDY4IDAwMDAwIG4gCiswMDAwMDAwMTMxIDAwMDAwIG4gCiswMDAwMDAwMjYzIDAwMDAwIG4gCiswMDAwMDAwMzEzIDAwMDAwIG4gCit0cmFpbGVyIDw8CisgIC9Sb290IDEgMCBSCisgIC9TaXplIDYKKz4+CitzdGFydHhyZWYKKzQ5NgorJSVFT0YK