ZGlmZiAtLWdpdCBhL2Z4anMvY2pzX3B1YmxpY21ldGhvZHMuY3BwIGIvZnhqcy9janNfcHVibGljbWV0aG9kcy5jcHAKaW5kZXggNDVlYWU3Zi4uNjVlZGQyZSAxMDA2NDQKLS0tIGEvZnhqcy9janNfcHVibGljbWV0aG9kcy5jcHAKKysrIGIvZnhqcy9janNfcHVibGljbWV0aG9kcy5jcHAKQEAgLTE1ODYsNyArMTU4Niw3IEBACiAgIGRvdWJsZSBkVmFsdWUgPSB3Y3NjbXAoc0Z1bmN0aW9uLmNfc3RyKCksIEwiUFJEIikgPT0gMCA/IDEuMCA6IDAuMDsKIAogICB2ODo6TG9jYWw8djg6OkFycmF5PiBGaWVsZE5hbWVBcnJheSA9Ci0gICAgICBBRl9NYWtlQXJyYXlGcm9tTGlzdChwUnVudGltZSwgcGFyYW1zWzBdKTsKKyAgICAgIEFGX01ha2VBcnJheUZyb21MaXN0KHBSdW50aW1lLCBwYXJhbXNbMV0pOwogICBpbnQgbkZpZWxkc0NvdW50ID0gMDsKICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwUnVudGltZS0+R2V0QXJyYXlMZW5ndGgoRmllbGROYW1lQXJyYXkpOyArK2kpIHsKICAgICBXaWRlU3RyaW5nIHdzRmllbGROYW1lID0KZGlmZiAtLWdpdCBhL2Z4anMvY2pzX3B1YmxpY21ldGhvZHNfZW1iZWRkZXJ0ZXN0LmNwcCBiL2Z4anMvY2pzX3B1YmxpY21ldGhvZHNfZW1iZWRkZXJ0ZXN0LmNwcAppbmRleCBkYmFiMDgxLi44NzRmNTlmIDEwMDY0NAotLS0gYS9meGpzL2Nqc19wdWJsaWNtZXRob2RzX2VtYmVkZGVydGVzdC5jcHAKKysrIGIvZnhqcy9janNfcHVibGljbWV0aG9kc19lbWJlZGRlcnRlc3QuY3BwCkBAIC0zLDggKzMsMTAgQEAKIC8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAKICNpbmNsdWRlIDxjbWF0aD4KKyNpbmNsdWRlIDx2ZWN0b3I+CiAKICNpbmNsdWRlICJjb3JlL2Z4Y3J0L2Z4X3N0cmluZy5oIgorI2luY2x1ZGUgImZ4anMvY2pzX2V2ZW50X2NvbnRleHQuaCIKICNpbmNsdWRlICJmeGpzL2Nqc19wdWJsaWNtZXRob2RzLmgiCiAjaW5jbHVkZSAidGVzdGluZy9ndGVzdC9pbmNsdWRlL2d0ZXN0L2d0ZXN0LmgiCiAjaW5jbHVkZSAidGVzdGluZy9qc19lbWJlZGRlcl90ZXN0LmgiCkBAIC0xNjAsMyArMTYyLDM3IEBACiAgICAgICBDSlNfUHVibGljTWV0aG9kczo6TWFrZUZvcm1hdERhdGUoMzk0NzM1NjgwMDAwMC4wLCBMIm1tZGR5eXl5Iik7CiAgIEVYUEVDVF9TVFJFUShMIjAyMDEyMDk1IiwgZm9ybWF0dGVkX2RhdGUuY19zdHIoKSk7CiB9CisKK1RFU1RfRihDSlNfUHVibGljTWV0aG9kc0VtYmVkZGVyVGVzdCwgQUZTaW1wbGVfQ2FsY3VsYXRlU3VtKSB7CisgIHY4OjpJc29sYXRlOjpTY29wZSBpc29sYXRlX3Njb3BlKGlzb2xhdGUoKSk7CisgIHY4OjpIYW5kbGVTY29wZSBoYW5kbGVfc2NvcGUoaXNvbGF0ZSgpKTsKKyAgdjg6OkNvbnRleHQ6OlNjb3BlIGNvbnRleHRfc2NvcGUoR2V0VjhDb250ZXh0KCkpOworCisgIEVYUEVDVF9UUlVFKE9wZW5Eb2N1bWVudCgiY2FsY3VsYXRlLnBkZiIpKTsKKyAgYXV0byogcGFnZSA9IExvYWRQYWdlKDApOworICBBU1NFUlRfVFJVRShwYWdlKTsKKworICBDSlNfUnVudGltZSBydW50aW1lKHN0YXRpY19jYXN0PENQREZTREtfRm9ybUZpbGxFbnZpcm9ubWVudCo+KGZvcm1faGFuZGxlKCkpKTsKKyAgcnVudGltZS5OZXdFdmVudENvbnRleHQoKTsKKworICBXaWRlU3RyaW5nIHJlc3VsdDsKKyAgcnVudGltZS5HZXRDdXJyZW50RXZlbnRDb250ZXh0KCktPkdldEV2ZW50SGFuZGxlcigpLT5tX3BWYWx1ZSA9ICZyZXN1bHQ7CisKKyAgYXV0byBhcnkgPSBydW50aW1lLk5ld0FycmF5KCk7CisKKyAgcnVudGltZS5QdXRBcnJheUVsZW1lbnQoYXJ5LCAwLCBydW50aW1lLk5ld1N0cmluZyhMIkNhbGMxX0EiKSk7CisgIHJ1bnRpbWUuUHV0QXJyYXlFbGVtZW50KGFyeSwgMSwgcnVudGltZS5OZXdTdHJpbmcoTCJDYWxjMV9CIikpOworCisgIHN0ZDo6dmVjdG9yPHY4OjpMb2NhbDx2ODo6VmFsdWU+PiBwYXJhbXM7CisgIHBhcmFtcy5wdXNoX2JhY2socnVudGltZS5OZXdTdHJpbmcoIlNVTSIpKTsKKyAgcGFyYW1zLnB1c2hfYmFjayhhcnkpOworCisgIENKU19SZXR1cm4gcmV0ID0gQ0pTX1B1YmxpY01ldGhvZHM6OkFGU2ltcGxlX0NhbGN1bGF0ZSgmcnVudGltZSwgcGFyYW1zKTsKKyAgVW5sb2FkUGFnZShwYWdlKTsKKworICBydW50aW1lLkdldEN1cnJlbnRFdmVudENvbnRleHQoKS0+R2V0RXZlbnRIYW5kbGVyKCktPm1fcFZhbHVlID0gbnVsbHB0cjsKKworICBBU1NFUlRfVFJVRSghcmV0Lkhhc0Vycm9yKCkpOworICBBU1NFUlRfVFJVRSghcmV0Lkhhc1JldHVybigpKTsKKyAgQVNTRVJUX0VRKEwiNyIsIHJlc3VsdCk7Cit9CmRpZmYgLS1naXQgYS90ZXN0aW5nL3Jlc291cmNlcy9jYWxjdWxhdGUuaW4gYi90ZXN0aW5nL3Jlc291cmNlcy9jYWxjdWxhdGUuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2U0MGJmOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RpbmcvcmVzb3VyY2VzL2NhbGN1bGF0ZS5pbgpAQCAtMCwwICsxLDYyIEBACit7e2hlYWRlcn19Cit7e29iamVjdCAxIDB9fSA8PAorICAvQWNyb0Zvcm0gMTEgMCBSCisgIC9QYWdlcyA1IDAgUgorICAvVHlwZSAvQ2F0YWxvZworPj4KK2VuZG9iagorCit7e29iamVjdCAxMSAwfX0gPDwKKyAgL0ZpZWxkcyBbNTcgMCBSIDYxIDAgUl0KKz4+CitlbmRvYmoKKwore3tvYmplY3QgNSAwfX0gPDwKKyAgL0NvdW50IDEKKyAgL1R5cGUgL1BhZ2VzCisgIC9LaWRzIFsxMiAwIFJdCis+PgorZW5kb2JqCisKK3t7b2JqZWN0IDEyIDB9fSA8PAorICAvQ3JvcEJveCBbMC4wIDAuMCA3MjAuMCA1NDAuMF0KKyAgL0Fubm90cyBbNTcgMCBSIDYxIDAgUl0KKyAgL1BhcmVudCA1IDAgUgorICAvTWVkaWFCb3hbMC4wIDAuMCA3MjAuMCA1NDAuMF0KKyAgL1RyaW1Cb3hbMC4wIDAuMCA3MjAuMCA1NDAuMF0KKyAgL1R5cGUgL1BhZ2UKKz4+CitlbmRvYmoKKwore3tvYmplY3QgNTcgMH19IDw8CisgIC9SZWN0IFsxNDIuMTMgMzA3LjQwOSAyMDguODQyIDMzMS40NDJdCisgIC9TdWJ0eXBlIC9XaWRnZXQKKyAgL0YgNAorICAvUCAxMiAwIFIKKyAgL1EgMgorICAvVCAoQ2FsYzFfQSkKKyAgL1YgKDUpCisgIC9EViAoNSkKKyAgL0ZUIC9UeAorICAvVHlwZSAvQW5ub3QKKz4+CitlbmRvYmoKKwore3tvYmplY3QgNjEgMH19IDw8CisgIC9SZWN0IFsyOTAuMzA2IDMwNy40MDkgMzU3Ljc5MyAzMzEuNDQyXQorICAvU3VidHlwZSAvV2lkZ2V0CisgIC9GIDQKKyAgL1AgMTIgMCBSCisgIC9RIDIKKyAgL1QgKENhbGMxX0IpCisgIC9WICgyKQorICAvRFYgKDIpCisgIC9GVCAvVHgKKyAgL1R5cGUgL0Fubm90Cis+PgorZW5kb2JqCisKK3t7eHJlZn19Cit7e3RyYWlsZXJ9fQore3tzdGFydHhyZWZ9fQorJSVFT0YKZGlmZiAtLWdpdCBhL3Rlc3RpbmcvcmVzb3VyY2VzL2NhbGN1bGF0ZS5wZGYgYi90ZXN0aW5nL3Jlc291cmNlcy9jYWxjdWxhdGUucGRmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiMmI5NDQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0aW5nL3Jlc291cmNlcy9jYWxjdWxhdGUucGRmCkBAIC0wLDAgKzEsMTI3IEBACislUERGLTEuNworJaDypPQKKzEgMCBvYmogPDwKKyAgL0Fjcm9Gb3JtIDExIDAgUgorICAvUGFnZXMgNSAwIFIKKyAgL1R5cGUgL0NhdGFsb2cKKz4+CitlbmRvYmoKKworMTEgMCBvYmogPDwKKyAgL0ZpZWxkcyBbNTcgMCBSIDYxIDAgUl0KKz4+CitlbmRvYmoKKworNSAwIG9iaiA8PAorICAvQ291bnQgMQorICAvVHlwZSAvUGFnZXMKKyAgL0tpZHMgWzEyIDAgUl0KKz4+CitlbmRvYmoKKworMTIgMCBvYmogPDwKKyAgL0Nyb3BCb3ggWzAuMCAwLjAgNzIwLjAgNTQwLjBdCisgIC9Bbm5vdHMgWzU3IDAgUiA2MSAwIFJdCisgIC9QYXJlbnQgNSAwIFIKKyAgL01lZGlhQm94WzAuMCAwLjAgNzIwLjAgNTQwLjBdCisgIC9UcmltQm94WzAuMCAwLjAgNzIwLjAgNTQwLjBdCisgIC9UeXBlIC9QYWdlCis+PgorZW5kb2JqCisKKzU3IDAgb2JqIDw8CisgIC9SZWN0IFsxNDIuMTMgMzA3LjQwOSAyMDguODQyIDMzMS40NDJdCisgIC9TdWJ0eXBlIC9XaWRnZXQKKyAgL0YgNAorICAvUCAxMiAwIFIKKyAgL1EgMgorICAvVCAoQ2FsYzFfQSkKKyAgL1YgKDUpCisgIC9EViAoNSkKKyAgL0ZUIC9UeAorICAvVHlwZSAvQW5ub3QKKz4+CitlbmRvYmoKKworNjEgMCBvYmogPDwKKyAgL1JlY3QgWzI5MC4zMDYgMzA3LjQwOSAzNTcuNzkzIDMzMS40NDJdCisgIC9TdWJ0eXBlIC9XaWRnZXQKKyAgL0YgNAorICAvUCAxMiAwIFIKKyAgL1EgMgorICAvVCAoQ2FsYzFfQikKKyAgL1YgKDIpCisgIC9EViAoMikKKyAgL0ZUIC9UeAorICAvVHlwZSAvQW5ub3QKKz4+CitlbmRvYmoKKworeHJlZgorMCA2MgorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAxNSAwMDAwMCBuIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDEzNyAwMDAwMCBuIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDA4OCAwMDAwMCBuIAorMDAwMDAwMDIwMiAwMDAwMCBuIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDM3OSAwMDAwMCBuIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDU0NyAwMDAwMCBuIAordHJhaWxlcjw8IC9Sb290IDEgMCBSIC9TaXplIDYyID4+CitzdGFydHhyZWYKKzcxNgorJSVFT0YK