ZGlmZiAtLWdpdCBhL2ZwZGZzZGsvZnBkZl9zYXZlX2VtYmVkZGVydGVzdC5jcHAgYi9mcGRmc2RrL2ZwZGZfc2F2ZV9lbWJlZGRlcnRlc3QuY3BwCmluZGV4IGI0Mzc2NmIuLmYyMjFkMTAgMTAwNjQ0Ci0tLSBhL2ZwZGZzZGsvZnBkZl9zYXZlX2VtYmVkZGVydGVzdC5jcHAKKysrIGIvZnBkZnNkay9mcGRmX3NhdmVfZW1iZWRkZXJ0ZXN0LmNwcApAQCAtOTQsNiArOTQsNDQgQEAKICAgVW5sb2FkUGFnZShwYWdlKTsKIH0KIAorVEVTVF9GKEZQREZTYXZlRW1iZWRkZXJUZXN0LCBCdWc0MjI3MTEzMykgeworICBBU1NFUlRfVFJVRShPcGVuRG9jdW1lbnQoImJ1Z180MjI3MTEzMy5wZGYiKSk7CisgIEZQREZfUEFHRSBwYWdlID0gTG9hZFBhZ2UoMCk7CisgIEFTU0VSVF9UUlVFKHBhZ2UpOworCisgIC8vIEFyYml0cmFyaWx5IHJlbW92ZSB0aGUgZmlyc3QgcGFnZSBvYmplY3QuCisgIGF1dG8gdGV4dF9vYmplY3QgPSBGUERGUGFnZV9HZXRPYmplY3QocGFnZSwgMCk7CisgIEFTU0VSVF9UUlVFKHRleHRfb2JqZWN0KTsKKyAgQVNTRVJUX1RSVUUoRlBERlBhZ2VfUmVtb3ZlT2JqZWN0KHBhZ2UsIHRleHRfb2JqZWN0KSk7CisgIEZQREZQYWdlT2JqX0Rlc3Ryb3kodGV4dF9vYmplY3QpOworCisgIC8vIFJlZ2VuZXJhdGUgZGlydHkgc3RyZWFtIGFuZCBzYXZlIHRoZSBkb2N1bWVudC4KKyAgQVNTRVJUX1RSVUUoRlBERlBhZ2VfR2VuZXJhdGVDb250ZW50KHBhZ2UpKTsKKyAgVW5sb2FkUGFnZShwYWdlKTsKKyAgQVNTRVJUX1RSVUUoRlBERl9TYXZlQXNDb3B5KGRvY3VtZW50KCksIHRoaXMsIDApKTsKKworICAvLyBSZWxvYWQgc2F2ZWQgZG9jdW1lbnQuCisgIEFTU0VSVF9UUlVFKE9wZW5TYXZlZERvY3VtZW50KCkpOworICBGUERGX1BBR0Ugc2F2ZWRfcGFnZSA9IExvYWRTYXZlZFBhZ2UoMCk7CisgIEFTU0VSVF9UUlVFKHNhdmVkX3BhZ2UpOworCisgIC8vIEFzc2VydCBwYXRoIGZpbGwgY29sb3IgaXMgbm90IGNoYW5nZWQgdG8gYmxhY2suCisgIGF1dG8gcGF0aF9vYmogPSBGUERGUGFnZV9HZXRPYmplY3Qoc2F2ZWRfcGFnZSwgMCk7CisgIEFTU0VSVF9UUlVFKHBhdGhfb2JqKTsKKyAgdW5zaWduZWQgaW50IHI7CisgIHVuc2lnbmVkIGludCBnOworICB1bnNpZ25lZCBpbnQgYjsKKyAgdW5zaWduZWQgaW50IGE7CisgIEFTU0VSVF9UUlVFKEZQREZQYWdlT2JqX0dldEZpbGxDb2xvcihwYXRoX29iaiwgJnIsICZnLCAmYiwgJmEpKTsKKyAgLy8gVE9ETyhjcmJ1Zy5jb20vNDIyNzExMzMpOiBDaGFuZ2UgdGhlIGFzc2VydGlvbiB0byBFWFBFQ1RfTkUoKS4KKyAgRVhQRUNUX0VRKDB1LCByKTsKKyAgRVhQRUNUX0VRKDB1LCBnKTsKKyAgRVhQRUNUX0VRKDB1LCBiKTsKKworICBDbG9zZVNhdmVkUGFnZShzYXZlZF9wYWdlKTsKKyAgQ2xvc2VTYXZlZERvY3VtZW50KCk7Cit9CisKIFRFU1RfRihGUERGU2F2ZUVtYmVkZGVyVGVzdCwgU2F2ZUxpbmVhcml6ZWREb2MpIHsKICAgY29uc3QgaW50IGtQYWdlQ291bnQgPSAzOwogICBzdGQ6OmFycmF5PHN0ZDo6c3RyaW5nLCBrUGFnZUNvdW50PiBvcmlnaW5hbF9tZDU7CmRpZmYgLS1naXQgYS90ZXN0aW5nL3Jlc291cmNlcy9idWdfNDIyNzExMzMuaW4gYi90ZXN0aW5nL3Jlc291cmNlcy9idWdfNDIyNzExMzMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTI1ZjU3MwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RpbmcvcmVzb3VyY2VzL2J1Z180MjI3MTEzMy5pbgpAQCAtMCwwICsxLDUyIEBACit7e2hlYWRlcn19Cit7e29iamVjdCAxIDB9fSA8PAorICAvVHlwZSAvQ2F0YWxvZworICAvUGFnZXMgMiAwIFIKKz4+CitlbmRvYmoKK3t7b2JqZWN0IDIgMH19IDw8CisgIC9UeXBlIC9QYWdlcworICAvQ291bnQgMQorICAvS2lkcyBbMyAwIFJdCis+PgorZW5kb2JqCit7e29iamVjdCAzIDB9fSA8PAorICAvVHlwZSAvUGFnZQorICAvUGFyZW50IDIgMCBSCisgIC9Db250ZW50cyA0IDAgUgorICAvTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQorICAvUmVzb3VyY2VzIDw8CisgICAgL0ZvbnQgPDwKKyAgICAgIC9GMSA1IDAgUgorICAgID4+CisgID4+Cis+PgorZW5kb2JqCit7e29iamVjdCA0IDB9fSA8PAorICB7e3N0cmVhbWxlbn19Cis+Pgorc3RyZWFtCitxCitCVAorMjAgNTAgVGQKKy9GMSAxMiBUZgorKEhlbGxvLCB3b3JsZCEpIFRqCitFVAorcQorLjcwNTg4IGcKKzI3LjE4IDU4MC4yOTkgNTU3LjU4IDE1My41NjcgcmUKK2YKK1EKK1EKK2VuZHN0cmVhbQorZW5kb2JqCit7e29iamVjdCA1IDB9fSA8PAorICAvVHlwZSAvRm9udAorICAvU3VidHlwZSAvVHlwZTEKKyAgL0Jhc2VGb250IC9UaW1lcy1Sb21hbgorPj4KK2VuZG9iagore3t4cmVmfX0KK3t7dHJhaWxlcn19Cit7e3N0YXJ0eHJlZn19CislJUVPRgpkaWZmIC0tZ2l0IGEvdGVzdGluZy9yZXNvdXJjZXMvYnVnXzQyMjcxMTMzLnBkZiBiL3Rlc3RpbmcvcmVzb3VyY2VzL2J1Z180MjI3MTEzMy5wZGYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjFjYzFjMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RpbmcvcmVzb3VyY2VzL2J1Z180MjI3MTEzMy5wZGYKQEAgLTAsMCArMSw2NCBAQAorJVBERi0xLjcKKyWg8qT0CisxIDAgb2JqIDw8CisgIC9UeXBlIC9DYXRhbG9nCisgIC9QYWdlcyAyIDAgUgorPj4KK2VuZG9iagorMiAwIG9iaiA8PAorICAvVHlwZSAvUGFnZXMKKyAgL0NvdW50IDEKKyAgL0tpZHMgWzMgMCBSXQorPj4KK2VuZG9iagorMyAwIG9iaiA8PAorICAvVHlwZSAvUGFnZQorICAvUGFyZW50IDIgMCBSCisgIC9Db250ZW50cyA0IDAgUgorICAvTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQorICAvUmVzb3VyY2VzIDw8CisgICAgL0ZvbnQgPDwKKyAgICAgIC9GMSA1IDAgUgorICAgID4+CisgID4+Cis+PgorZW5kb2JqCis0IDAgb2JqIDw8CisgIC9MZW5ndGggOTUKKz4+CitzdHJlYW0KK3EKK0JUCisyMCA1MCBUZAorL0YxIDEyIFRmCisoSGVsbG8sIHdvcmxkISkgVGoKK0VUCitxCisuNzA1ODggZworMjcuMTggNTgwLjI5OSA1NTcuNTggMTUzLjU2NyByZQorZgorUQorUQorZW5kc3RyZWFtCitlbmRvYmoKKzUgMCBvYmogPDwKKyAgL1R5cGUgL0ZvbnQKKyAgL1N1YnR5cGUgL1R5cGUxCisgIC9CYXNlRm9udCAvVGltZXMtUm9tYW4KKz4+CitlbmRvYmoKK3hyZWYKKzAgNgorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAxNSAwMDAwMCBuIAorMDAwMDAwMDA2OCAwMDAwMCBuIAorMDAwMDAwMDEzMSAwMDAwMCBuIAorMDAwMDAwMDI4MyAwMDAwMCBuIAorMDAwMDAwMDQyOSAwMDAwMCBuIAordHJhaWxlciA8PAorICAvUm9vdCAxIDAgUgorICAvU2l6ZSA2Cis+Pgorc3RhcnR4cmVmCis1MDcKKyUlRU9GCg==