ZGlmZiAtLWdpdCBhL3NyYy9hdXRvL2NvbmZpZ3VyZSBiL3NyYy9hdXRvL2NvbmZpZ3VyZQppbmRleCA5OGI5NTgwLi4yNmFjNDU4IDEwMDc1NQotLS0gYS9zcmMvYXV0by9jb25maWd1cmUKKysrIGIvc3JjL2F1dG8vY29uZmlndXJlCkBAIC0xNTg3Niw2ICsxNTg3NiwzMCBAQAogCiBmaQogCisgICAgICB7IHByaW50ZiAiJXNcbiIgIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIGRnZXR0ZXh0IiA+JjUKK3ByaW50ZiAlcyAiY2hlY2tpbmcgZm9yIGRnZXR0ZXh0Li4uICIgPiY2OyB9CisgICAgICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisjaW5jbHVkZSA8bGliaW50bC5oPgoraW50CittYWluICh2b2lkKQoreworZGdldHRleHQoIlRlc3QiLCAiVGVzdCIpOworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCitpZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIgordGhlbiA6CisgIHsgcHJpbnRmICIlc1xuIiAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IHllcyIgPiY1CitwcmludGYgIiVzXG4iICJ5ZXMiID4mNjsgfTsgcHJpbnRmICIlc1xuIiAiI2RlZmluZSBIQVZFX0RHRVRURVhUIDEiID4+Y29uZmRlZnMuaAorCitlbHNlICRhc19ub3AKKyAgeyBwcmludGYgIiVzXG4iICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQorcHJpbnRmICIlc1xuIiAibm8iID4mNjsgfQorZmkKK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuYmVhbSBcCisgICAgY29uZnRlc3QkYWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQKICAgICAgICAgICAgIHsgcHJpbnRmICIlc1xuIiAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgX25sX21zZ19jYXRfY250ciIgPiY1CiBwcmludGYgJXMgImNoZWNraW5nIGZvciBfbmxfbXNnX2NhdF9jbnRyLi4uICIgPiY2OyB9CiAgICAgICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CmRpZmYgLS1naXQgYS9zcmMvY29uZmlnLmguaW4gYi9zcmMvY29uZmlnLmguaW4KaW5kZXggOGFkOWYwMy4uNTMwYzA4MiAxMDA2NDQKLS0tIGEvc3JjL2NvbmZpZy5oLmluCisrKyBiL3NyYy9jb25maWcuaC5pbgpAQCAtMjIyLDcgKzIyMiw2IEBACiAjdW5kZWYgSEFWRV9VTlNFVEVOVgogI3VuZGVmIEhBVkVfVVNMRUVQCiAjdW5kZWYgSEFWRV9VVElNRQotI3VuZGVmIEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQKICN1bmRlZiBIQVZFX01CTEVOCiAjdW5kZWYgSEFWRV9USU1FUl9DUkVBVEUKICN1bmRlZiBIQVZFX0NMT0NLX0dFVFRJTUUKQEAgLTQyNCw2ICs0MjMsMTIgQEAKIC8qIERlZmluZSBpZiB0aGVyZSBpcyBhIHdvcmtpbmcgZ2V0dGV4dCgpLiAqLwogI3VuZGVmIEhBVkVfR0VUVEVYVAogCisvKiBEZWZpbmUgaWYgdGhlcmUgaXMgYSB3b3JraW5nIGJpbmRfdGV4dGRvbWFpbl9jb2Rlc2V0KCkuICovCisjdW5kZWYgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVAorCisvKiBEZWZpbmUgaWYgdGhlcmUgaXMgYSB3b3JraW5nIGRnZXR0ZXh0KCkuICovCisjdW5kZWYgSEFWRV9ER0VUVEVYVAorCiAvKiBEZWZpbmUgaWYgX25sX21zZ19jYXRfY250ciBpcyBwcmVzZW50LiAqLwogI3VuZGVmIEhBVkVfTkxfTVNHX0NBVF9DTlRSCiAKZGlmZiAtLWdpdCBhL3NyYy9jb25maWd1cmUuYWMgYi9zcmMvY29uZmlndXJlLmFjCmluZGV4IDk0NmZlNTIuLjI5Y2Q5MjYgMTAwNjQ0Ci0tLSBhL3NyYy9jb25maWd1cmUuYWMKKysrIGIvc3JjL2NvbmZpZ3VyZS5hYwpAQCAtNDQ5Nyw2ICs0NDk3LDEyIEBACiAgICAgICBBQ19TVUJTVChNQUtFTU8pCiAgICAgICBkbmwgdGhpcyB3YXMgYWRkZWQgaW4gR05VIGdldHRleHQgMC4xMC4zNgogICAgICAgQUNfQ0hFQ0tfRlVOQ1MoYmluZF90ZXh0ZG9tYWluX2NvZGVzZXQpCisgICAgICBBQ19NU0dfQ0hFQ0tJTkcoW2ZvciBkZ2V0dGV4dF0pCisgICAgICBBQ19MSU5LX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKAorCQlbI2luY2x1ZGUgPGxpYmludGwuaD5dLAorCQlbZGdldHRleHQoIlRlc3QiLCAiVGVzdCIpO10pXSwKKwkJQUNfTVNHX1JFU1VMVChbeWVzXSk7IEFDX0RFRklORShIQVZFX0RHRVRURVhUKSwKKwkJQUNfTVNHX1JFU1VMVChbbm9dKSkKICAgICAgIGRubCBfbmxfbXNnX2NhdF9jbnRyIGlzIHJlcXVpcmVkIGZvciBHTlUgZ2V0dGV4dAogICAgICAgQUNfTVNHX0NIRUNLSU5HKFtmb3IgX25sX21zZ19jYXRfY250cl0pCiAgICAgICBBQ19MSU5LX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKApkaWZmIC0tZ2l0IGEvc3JjL2V2YWxmdW5jLmMgYi9zcmMvZXZhbGZ1bmMuYwppbmRleCAyYTBlYjI3Li40ZmZmYTUwIDEwMDY0NAotLS0gYS9zcmMvZXZhbGZ1bmMuYworKysgYi9zcmMvZXZhbGZ1bmMuYwpAQCAtMjgsNiArMjgsNyBAQAogc3RhdGljIHZvaWQgZl9iYWxsb29uX3NwbGl0KHR5cHZhbF9UICphcmd2YXJzLCB0eXB2YWxfVCAqcmV0dHYpOwogIyBlbmRpZgogI2VuZGlmCitzdGF0aWMgdm9pZCBmX2JpbmR0ZXh0ZG9tYWluKHR5cHZhbF9UICphcmd2YXJzLCB0eXB2YWxfVCAqcmV0dHYpOwogc3RhdGljIHZvaWQgZl9ieXRlMmxpbmUodHlwdmFsX1QgKmFyZ3ZhcnMsIHR5cHZhbF9UICpyZXR0dik7CiBzdGF0aWMgdm9pZCBmX2NhbGwodHlwdmFsX1QgKmFyZ3ZhcnMsIHR5cHZhbF9UICpyZXR0dik7CiBzdGF0aWMgdm9pZCBmX2NoYW5nZW5yKHR5cHZhbF9UICphcmd2YXJzLCB0eXB2YWxfVCAqcmV0dHYpOwpAQCAtMTgyNCw2ICsxODI1LDggQEAKIAkgICAgTlVMTAogI2VuZGlmCiAJCQl9LAorICAgIHsiYmluZHRleHRkb21haW4iLAkyLCAyLCAwLAkgICAgYXJnMl9zdHJpbmcsCisJCQlyZXRfdm9pZCwJICAgIGZfYmluZHRleHRkb21haW59LAogICAgIHsiYmxvYjJsaXN0IiwJMSwgMSwgRkVBUkdfMSwJICAgIGFyZzFfYmxvYiwKIAkJCXJldF9saXN0X251bWJlciwgICAgZl9ibG9iMmxpc3R9LAogICAgIHsiYnJvd3NlIiwJCTQsIDQsIDAsCSAgICBhcmc0X2Jyb3dzZSwKQEAgLTIxNTQsNyArMjE1Nyw3IEBACiAJCQlyZXRfYW55LAkgICAgZl9nZXR0YWJ3aW52YXJ9LAogICAgIHsiZ2V0dGFnc3RhY2siLAkwLCAxLCBGRUFSR18xLAkgICAgYXJnMV9udW1iZXIsCiAJCQlyZXRfZGljdF9hbnksCSAgICBmX2dldHRhZ3N0YWNrfSwKLSAgICB7ImdldHRleHQiLAkJMSwgMSwgRkVBUkdfMSwJICAgIGFyZzFfc3RyaW5nLAorICAgIHsiZ2V0dGV4dCIsCQkxLCAyLCBGRUFSR18xLAkgICAgYXJnMl9zdHJpbmcsCiAJCQlyZXRfc3RyaW5nLAkgICAgZl9nZXR0ZXh0fSwKICAgICB7ImdldHdpbmluZm8iLAkwLCAxLCBGRUFSR18xLAkgICAgYXJnMV9udW1iZXIsCiAJCQlyZXRfbGlzdF9kaWN0X2FueSwgIGZfZ2V0d2luaW5mb30sCkBAIC0zNDc3LDYgKzM0ODAsMjQgQEAKIH0KIAogLyoKKyAqICJiaW5kdGV4dGRvbWFpbihwYWNrYWdlLCBwYXRoKSIgZnVuY3Rpb24KKyAqLworICAgIHN0YXRpYyB2b2lkCitmX2JpbmR0ZXh0ZG9tYWluKHR5cHZhbF9UICphcmd2YXJzIFVOVVNFRCwgdHlwdmFsX1QgKnJldHR2IFVOVVNFRCkKK3sKKyAgICBpZiAoY2hlY2tfZm9yX25vbmVtcHR5X3N0cmluZ19hcmcoYXJndmFycywgMCkgPT0gRkFJTAorCSAgICB8fCBjaGVja19mb3Jfbm9uZW1wdHlfc3RyaW5nX2FyZyhhcmd2YXJzLCAxKSA9PSBGQUlMKQorCXJldHVybjsKKworICAgIGlmIChzdHJjbXAoKGNvbnN0IGNoYXIgKilhcmd2YXJzWzBdLnZ2YWwudl9zdHJpbmcsIFZJTVBBQ0tBR0UpID09IDApCisJc2Vtc2coXyhlX2ludmFsaWRfYXJndW1lbnRfc3RyKSwgdHZfZ2V0X3N0cmluZygmYXJndmFyc1swXSkpOworICAgIGVsc2UKKwliaW5kdGV4dGRvbWFpbigoY29uc3QgY2hhciAqKWFyZ3ZhcnNbMF0udnZhbC52X3N0cmluZywgKGNvbnN0IGNoYXIgKilhcmd2YXJzWzFdLnZ2YWwudl9zdHJpbmcpOworCisgICAgcmV0dXJuOworfQorCisvKgogICogImJ5dGUybGluZShieXRlKSIgZnVuY3Rpb24KICAqLwogICAgIHN0YXRpYyB2b2lkCkBAIC02MDMzLDExICs2MDU0LDM5IEBACiAgICAgc3RhdGljIHZvaWQKIGZfZ2V0dGV4dCh0eXB2YWxfVCAqYXJndmFycywgdHlwdmFsX1QgKnJldHR2KQogewotICAgIGlmIChjaGVja19mb3Jfbm9uZW1wdHlfc3RyaW5nX2FyZyhhcmd2YXJzLCAwKSA9PSBGQUlMKQorI2lmIGRlZmluZWQoSEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCkKKyAgICBjaGFyICpwcmV2ID0gTlVMTDsKKyNlbmRpZgorCisgICAgaWYgKGNoZWNrX2Zvcl9ub25lbXB0eV9zdHJpbmdfYXJnKGFyZ3ZhcnMsIDApID09IEZBSUwKKwl8fCBjaGVja19mb3Jfb3B0X3N0cmluZ19hcmcoYXJndmFycywgMSkgPT0gRkFJTCkKIAlyZXR1cm47CiAKICAgICByZXR0di0+dl90eXBlID0gVkFSX1NUUklORzsKLSAgICByZXR0di0+dnZhbC52X3N0cmluZyA9IHZpbV9zdHJzYXZlKChjaGFyX3UgKilfKGFyZ3ZhcnNbMF0udnZhbC52X3N0cmluZykpOworCisgICAgaWYgKGFyZ3ZhcnNbMV0udl90eXBlID09IFZBUl9TVFJJTkcgJiYKKwkgICAgYXJndmFyc1sxXS52dmFsLnZfc3RyaW5nICE9IE5VTEwgJiYKKwkgICAgKihhcmd2YXJzWzFdLnZ2YWwudl9zdHJpbmcpICE9IE5VTCkKKyAgICB7CisjaWYgZGVmaW5lZChIQVZFX0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUKQorCXByZXYgPSBiaW5kX3RleHRkb21haW5fY29kZXNldCgoY29uc3QgY2hhciAqKWFyZ3ZhcnNbMV0udnZhbC52X3N0cmluZywgKGNoYXIgKilwX2VuYyk7CisjZW5kaWYKKworI2lmIGRlZmluZWQoSEFWRV9ER0VUVEVYVCkKKwlyZXR0di0+dnZhbC52X3N0cmluZyA9IHZpbV9zdHJzYXZlKChjaGFyX3UgKilkZ2V0dGV4dCgoY29uc3QgY2hhciAqKWFyZ3ZhcnNbMV0udnZhbC52X3N0cmluZywgKGNvbnN0IGNoYXIgKilhcmd2YXJzWzBdLnZ2YWwudl9zdHJpbmcpKTsKKyNlbHNlCisJdGV4dGRvbWFpbigoY29uc3QgY2hhciAqKWFyZ3ZhcnNbMV0udnZhbC52X3N0cmluZyk7CisJcmV0dHYtPnZ2YWwudl9zdHJpbmcgPSB2aW1fc3Ryc2F2ZSgoY2hhcl91ICopXyhhcmd2YXJzWzBdLnZ2YWwudl9zdHJpbmcpKTsKKwl0ZXh0ZG9tYWluKFZJTVBBQ0tBR0UpOworI2VuZGlmCisKKyNpZiBkZWZpbmVkKEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQpCisJaWYgKHByZXYgIT0gTlVMTCkKKwkgICAgYmluZF90ZXh0ZG9tYWluX2NvZGVzZXQoKGNvbnN0IGNoYXIgKilhcmd2YXJzWzFdLnZ2YWwudl9zdHJpbmcsIHByZXYpOworI2VuZGlmCisgICAgfQorICAgIGVsc2UKKwlyZXR0di0+dnZhbC52X3N0cmluZyA9IHZpbV9zdHJzYXZlKChjaGFyX3UgKilfKGFyZ3ZhcnNbMF0udnZhbC52X3N0cmluZykpOwogfQogCiAvLyBmb3IgVklNX1ZFUlNJT05fIGRlZmluZXMKZGlmZiAtLWdpdCBhL3NyYy9wby9NYWtlX2FsbC5tYWsgYi9zcmMvcG8vTWFrZV9hbGwubWFrCmluZGV4IGFjMTEyMjguLmMzZTY0NTkgMTAwNjQ0Ci0tLSBhL3NyYy9wby9NYWtlX2FsbC5tYWsKKysrIGIvc3JjL3BvL01ha2VfYWxsLm1hawpAQCAtMTg5LDggKzE4OSw4IEBACiAJLi4vLi4vcnVudGltZS9kZWZhdWx0cy52aW0KIAogUE9fVklNX0pTTElTVCA9IFwKLQlvcHR3aW4uanMgXAotCWRlZmF1bHRzLmpzCisJX19fX19fX19ydW50aW1lX19vcHR3aW4uanMgXAorCV9fX19fX19fcnVudGltZV9fZGVmYXVsdHMuanMKIAogIyBBcmd1bWVudHMgZm9yIHhnZXR0ZXh0IHRvIHBpY2sgdXAgbWVzc2FnZXMgdG8gdHJhbnNsYXRlIGZyb20gdGhlIHNvdXJjZSBjb2RlLgogWEdFVFRFWFRfS0VZV09SRFMgPSAtLWtleXdvcmQ9XyAtLWtleXdvcmQ9Tl8gLS1rZXl3b3JkPU5HRVRURVhUOjEsMiAtLWtleXdvcmQ9UExVUkFMX01TRzoyLDQKZGlmZiAtLWdpdCBhL3NyYy9wby9NYWtlZmlsZSBiL3NyYy9wby9NYWtlZmlsZQppbmRleCBjYzQwMDhmLi44N2Q2NTdiIDEwMDY0NAotLS0gYS9zcmMvcG8vTWFrZWZpbGUKKysrIGIvc3JjL3BvL01ha2VmaWxlCkBAIC0xLDE3ICsxLDE4IEBACiAjIE1ha2VmaWxlIGZvciB0aGUgVmltIG1lc3NhZ2UgdHJhbnNsYXRpb25zLgorUE9fQkFTRURJUiA9IC4KIAogIyBJbmNsdWRlIHN0dWZmIGZvdW5kIGJ5IGNvbmZpZ3VyZS4KLWluY2x1ZGUgLi4vYXV0by9jb25maWcubWsKK2luY2x1ZGUgJChQT19CQVNFRElSKS8uLi9hdXRvL2NvbmZpZy5tawogCiAjIEdldCBMQU5HVUFHRVMsIE1PRklMRVMsIE1PQ09OVkVSVEVEIGFuZCBvdGhlcnMuCi1pbmNsdWRlIE1ha2VfYWxsLm1haworaW5jbHVkZSAkKFBPX0JBU0VESVIpL01ha2VfYWxsLm1hawogCiAjIE5vdGU6IGphLnNqaXMsICouY3AxMjUwIGFuZCB6aF9DTi5jcDkzNiBhcmUgb25seSBmb3IgTVMtV2luZG93cywgdGhleSBhcmUKICMgbm90IGluc3RhbGxlZCBvbiBVbml4LgogCiBQQUNLQUdFID0gdmltCiBTSEVMTCA9IC9iaW4vc2gKLVZJTSA9IC4uL3ZpbQorVklNID0gJChQT19CQVNFRElSKS8uLi92aW0KIAogIyBNYWNPUyBzZWQgaXMgbG9jYWxlIGF3YXJlLCBzZXQgJExBTkcgdG8gYXZvaWQgcHJvYmxlbXMuCiBTRUQgPSBMQU5HPUMgc2VkCkBAIC0yNjEsMTMgKzI2MiwxMyBAQAogCiAkKFBBQ0tBR0UpLnBvdDogJChQT19JTlBVVExJU1QpICQoUE9fVklNX0lOUFVUTElTVCkKIAkjIENvbnZlcnQgdGhlIFZpbSBzY3JpcHRzIHRvICh3aGF0IGxvb2tzIGxpa2UpIEphdmFzY3JpcHQuCi0JJChWSU0pIC11IE5PTkUgLS1ub3QtYS10ZXJtIC1TIHRvamF2YXNjcmlwdC52aW0gJChQQUNLQUdFKS5wb3QgJChQT19WSU1fSU5QVVRMSVNUKQorCSQoVklNKSAtdSBOT05FIC0tbm90LWEtdGVybSAtUyAkKFBPX0JBU0VESVIpL3RvamF2YXNjcmlwdC52aW0gJChQQUNLQUdFKS5wb3QgJChQT19WSU1fSU5QVVRMSVNUKQogCSMgQ3JlYXRlIHZpbS5wb3QuCiAJJChYR0VUVEVYVCkgLS1kZWZhdWx0LWRvbWFpbj0kKFBBQ0tBR0UpIC0tYWRkLWNvbW1lbnRzIFwKIAkJJChYR0VUVEVYVF9LRVlXT1JEUykgJChQT19JTlBVVExJU1QpICQoUE9fVklNX0pTTElTVCkKIAltdiAtZiAkKFBBQ0tBR0UpLnBvICQoUEFDS0FHRSkucG90CiAJIyBGaXggVmltIHNjcmlwdHMgbmFtZXMsIHNvIHRoYXQgImdmIiB3b3Jrcy4KLQkkKFZJTSkgLXUgTk9ORSAtLW5vdC1hLXRlcm0gLVMgZml4ZmlsZW5hbWVzLnZpbSAkKFBBQ0tBR0UpLnBvdCAkKFBPX1ZJTV9JTlBVVExJU1QpCisJJChWSU0pIC11IE5PTkUgLS1ub3QtYS10ZXJtIC1TICQoUE9fQkFTRURJUikvZml4ZmlsZW5hbWVzLnZpbSAkKFBBQ0tBR0UpLnBvdCAkKFBPX1ZJTV9JTlBVVExJU1QpCiAJIyBEZWxldGUgdGhlIHRlbXBvcmFyeSBmaWxlcy4KIAlybSAqLmpzCiAKZGlmZiAtLWdpdCBhL3NyYy9wby9maXhmaWxlbmFtZXMudmltIGIvc3JjL3BvL2ZpeGZpbGVuYW1lcy52aW0KaW5kZXggMDRiYzA3OS4uYzkyODM5ZSAxMDA2NDQKLS0tIGEvc3JjL3BvL2ZpeGZpbGVuYW1lcy52aW0KKysrIGIvc3JjL3BvL2ZpeGZpbGVuYW1lcy52aW0KQEAgLTQsNyArNCw3IEBACiBzZXQgc2hvcnRtZXNzKz1BCiAKIGZvciBuYW1lIGluIGFyZ3YoKVsxOl0KLSAgbGV0IGpzbmFtZSA9IGZuYW1lbW9kaWZ5KG5hbWUsICI6dDpyIikgLi4gIi5qcyIKKyAgbGV0IGpzbmFtZSA9IGZuYW1lbW9kaWZ5KG5hbWUsICI6cjpncz9cXH4/Xz86Z3M/XFwuP18/OmdzPy8/X18/OmdzP1xcP19fPyIpIC4uICIuanMiCiAgIGV4ZSAiJXMrIiAuLiBqc25hbWUgLi4gIisiIC4uIHN1YnN0aXR1dGUobmFtZSwgJ1xcJywgJy8nLCAnZycpIC4uICIrIgogZW5kZm9yCiAKZGlmZiAtLWdpdCBhL3NyYy9wby90b2phdmFzY3JpcHQudmltIGIvc3JjL3BvL3RvamF2YXNjcmlwdC52aW0KaW5kZXggOGIwZGQ3My4uMzJlZWE5YiAxMDA2NDQKLS0tIGEvc3JjL3BvL3RvamF2YXNjcmlwdC52aW0KKysrIGIvc3JjL3BvL3RvamF2YXNjcmlwdC52aW0KQEAgLTEzLDcgKzEzLDcgQEAKICAgZy9eXHMqc2V0IC4qIi9zLy4qLy8KIAogICAiIFdyaXRlIGFzIC5qcyBmaWxlLCB4Z2V0dGV4dCByZWNvZ25pemVzIHRoZW0KLSAgZXhlICd3ISAnIC4uIGZuYW1lbW9kaWZ5KG5hbWUsICI6dDpyIikgLi4gIi5qcyIKKyAgZXhlICd3ISAnIC4uIGZuYW1lbW9kaWZ5KG5hbWUsICI6cjpncz9cXH4/Xz86Z3M/XFwuP18/OmdzPy8/X18/OmdzP1xcP19fPyIpIC4uICIuanMiCiBlbmRmb3IKIAogcXVpdApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvTWFrZV9hbGwubWFrIGIvc3JjL3Rlc3RkaXIvTWFrZV9hbGwubWFrCmluZGV4IGUzMWQyYjUuLmE0OWYxNTggMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0ZGlyL01ha2VfYWxsLm1haworKysgYi9zcmMvdGVzdGRpci9NYWtlX2FsbC5tYWsKQEAgLTE2MSw2ICsxNjEsOSBAQAogCXRlc3RfZnVuY3Rpb25fbGlzdHMgXAogCXRlc3RfZ2EgXAogCXRlc3RfZ2V0Y3dkIFwKKwl0ZXN0X2dldHRleHQgXAorCXRlc3RfZ2V0dGV4dF9jcDEyNTEgXAorCXRlc3RfZ2V0dGV4dF91dGY4IFwKIAl0ZXN0X2dldHZhciBcCiAJdGVzdF9nZiBcCiAJdGVzdF9nbG9iMnJlZ3BhdCBcCkBAIC00MjAsNiArNDIzLDkgQEAKIAl0ZXN0X2Z1bmN0aW9ucy5yZXMgXAogCXRlc3RfZnVuY3Rpb25fbGlzdHMucmVzIFwKIAl0ZXN0X2dldGN3ZC5yZXMgXAorCXRlc3RfZ2V0dGV4dC5yZXMgXAorCXRlc3RfZ2V0dGV4dF9jcDEyNTEucmVzIFwKKwl0ZXN0X2dldHRleHRfdXRmOC5yZXMgXAogCXRlc3RfZ2V0dmFyLnJlcyBcCiAJdGVzdF9nZi5yZXMgXAogCXRlc3RfZ24ucmVzIFwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3J1X1JVL0xDX01FU1NBR0VTL19fUEFDS0FHRV9fLm1vIGIvc3JjL3Rlc3RkaXIvcnVfUlUvTENfTUVTU0FHRVMvX19QQUNLQUdFX18ubW8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzAwZWJhMgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0ZGlyL3J1X1JVL0xDX01FU1NBR0VTL19fUEFDS0FHRV9fLm1vCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3RfZnVuY3Rpb25zLnZpbSBiL3NyYy90ZXN0ZGlyL3Rlc3RfZnVuY3Rpb25zLnZpbQppbmRleCBiYThmMThmLi44ZTk3M2Y2IDEwMDY0NAotLS0gYS9zcmMvdGVzdGRpci90ZXN0X2Z1bmN0aW9ucy52aW0KKysrIGIvc3JjL3Rlc3RkaXIvdGVzdF9mdW5jdGlvbnMudmltCkBAIC0zODY1LDExICszODY1LDYgQEAKICAgY2FsbCBhc3NlcnRfZXF1YWwoJ21zZycsIEhhc0RlZmF1bHQoKSkKIGVuZGZ1bmMKIAotIiBUZXN0IGZvciBnZXR0ZXh0KCkKLWZ1bmMgVGVzdF9nZXR0ZXh0KCkKLSAgY2FsbCBhc3NlcnRfZmFpbHMoJ2NhbGwgZ2V0dGV4dCgxKScsICdFMTE3NDonKQotZW5kZnVuYwotCiBmdW5jIFRlc3RfYnVpbHRpbl9jaGVjaygpCiAgIGNhbGwgYXNzZXJ0X2ZhaWxzKCdsZXQgZzpbInRyaW0iXSA9IHt4IC0+ICIgIiAuLiB4fScsICdFNzA0OicpCiAgIGNhbGwgYXNzZXJ0X2ZhaWxzKCdsZXQgZzoudHJpbSA9IHt4IC0+ICIgIiAuLiB4fScsICdFNzA0OicpCmRpZmYgLS1naXQgYS9zcmMvdGVzdGRpci90ZXN0X2dldHRleHQudmltIGIvc3JjL3Rlc3RkaXIvdGVzdF9nZXR0ZXh0LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTVhYWZkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3RkaXIvdGVzdF9nZXR0ZXh0LnZpbQpAQCAtMCwwICsxLDE2IEBACitzb3VyY2UgY2hlY2sudmltCisKKyIgVGVzdCBmb3IgZ2V0dGV4dCgpCitmdW5jIFRlc3RfZ2V0dGV4dCgpCisgIGNhbGwgYXNzZXJ0X2ZhaWxzKCdjYWxsIGJpbmR0ZXh0ZG9tYWluKCJ0ZXN0IiknLCAnRTExOTonKQorICBjYWxsIGFzc2VydF9mYWlscygnY2FsbCBiaW5kdGV4dGRvbWFpbigidmltIiwgInRlc3QiKScsICdFNDc1OicpCisKKyAgY2FsbCBhc3NlcnRfZmFpbHMoJ2NhbGwgZ2V0dGV4dCgxKScsICdFMTE3NDonKQorICBjYWxsIGFzc2VydF9lcXVhbCgneHh4VEVTVHh4eCcsIGdldHRleHQoInh4eFRFU1R4eHgiKSkKKworICBjYWxsIGFzc2VydF9lcXVhbCgneHh4VEVTVHh4eCcsIGdldHRleHQoInh4eFRFU1R4eHgiLCAidmltIikpCisgIGNhbGwgYXNzZXJ0X2VxdWFsKCd4eHhURVNUeHh4JywgZ2V0dGV4dCgieHh4VEVTVHh4eCIsICJfX1BBQ0tBR0VfXyIpKQorICBjYWxsIGFzc2VydF9lcXVhbCgnRVJST1I6ICcsIGdldHRleHQoIkVSUk9SOiAiLCAiX19QQUNLQUdFX18iKSkKK2VuZGZ1bmMKKworIiB2aW06IHNoaWZ0d2lkdGg9MiBzdHM9MiBleHBhbmR0YWIKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3RfZ2V0dGV4dF9jcDEyNTEudmltIGIvc3JjL3Rlc3RkaXIvdGVzdF9nZXR0ZXh0X2NwMTI1MS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmUwMmEwMwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0ZGlyL3Rlc3RfZ2V0dGV4dF9jcDEyNTEudmltCkBAIC0wLDAgKzEsMjIgQEAKK3NvdXJjZSBjaGVjay52aW0KKworIiBUZXN0IGZvciBnZXR0ZXh0KCkKK2Z1bmMgVGVzdF9nZXR0ZXh0KCkKKyAgc2V0IGVuY29kaW5nPWNwMTI1MQorICBjYWxsIGJpbmR0ZXh0ZG9tYWluKCJfX1BBQ0tBR0VfXyIsIGdldGN3ZCgpKQorICB0cnkKKyAgICBsYW5ndWFnZSBydV9SVQorICAgIGNhbGwgYXNzZXJ0X2VxdWFsKCfO2MjBysA6ICcsIGdldHRleHQoIkVSUk9SOiAiLCAiX19QQUNLQUdFX18iKSkKKyAgY2F0Y2ggL15WaW1cJSgoXGFcKylcKVw9OkUxOTc6LworICAgIHRocm93ICJTa2lwcGVkOiBub3QgcG9zc2libGUgdG8gc2V0IGxvY2FsZSB0byBydSAobWlzc2luZz8pIgorICBlbmR0cnkKKyAgdHJ5CisgICAgbGFuZ3VhZ2UgZW5fR0IuVVRGLTgKKyAgICBjYWxsIGFzc2VydF9lcXVhbCgnRVJST1I6ICcsIGdldHRleHQoIkVSUk9SOiAiLCAiX19QQUNLQUdFX18iKSkKKyAgY2F0Y2ggL15WaW1cJSgoXGFcKylcKVw9OkUxOTc6LworICAgIHRocm93ICJTa2lwcGVkOiBub3QgcG9zc2libGUgdG8gc2V0IGxvY2FsZSB0byBlbiAobWlzc2luZz8pIgorICBlbmR0cnkKKyAgc2V0IGVuY29kaW5nJgorZW5kZnVuYworCisiIHZpbTogc2hpZnR3aWR0aD0yIHN0cz0yIGV4cGFuZHRhYgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvdGVzdF9nZXR0ZXh0X3V0ZjgudmltIGIvc3JjL3Rlc3RkaXIvdGVzdF9nZXR0ZXh0X3V0ZjgudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3NzcxMGUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdGRpci90ZXN0X2dldHRleHRfdXRmOC52aW0KQEAgLTAsMCArMSwyMiBAQAorc291cmNlIGNoZWNrLnZpbQorCisiIFRlc3QgZm9yIGdldHRleHQoKQorZnVuYyBUZXN0X2dldHRleHQoKQorICBzZXQgZW5jb2Rpbmc9dXRmLTgKKyAgY2FsbCBiaW5kdGV4dGRvbWFpbigiX19QQUNLQUdFX18iLCBnZXRjd2QoKSkKKyAgdHJ5CisgICAgbGFuZ3VhZ2UgcnVfUlUKKyAgICBjYWxsIGFzc2VydF9lcXVhbCgn0J7QqNCY0JHQmtCQOiAnLCBnZXR0ZXh0KCJFUlJPUjogIiwgIl9fUEFDS0FHRV9fIikpCisgIGNhdGNoIC9eVmltXCUoKFxhXCspXClcPTpFMTk3Oi8KKyAgICB0aHJvdyAiU2tpcHBlZDogbm90IHBvc3NpYmxlIHRvIHNldCBsb2NhbGUgdG8gcnUgKG1pc3Npbmc/KSIKKyAgZW5kdHJ5CisgIHRyeQorICAgIGxhbmd1YWdlIGVuX0dCLlVURi04CisgICAgY2FsbCBhc3NlcnRfZXF1YWwoJ0VSUk9SOiAnLCBnZXR0ZXh0KCJFUlJPUjogIiwgIl9fUEFDS0FHRV9fIikpCisgIGNhdGNoIC9eVmltXCUoKFxhXCspXClcPTpFMTk3Oi8KKyAgICB0aHJvdyAiU2tpcHBlZDogbm90IHBvc3NpYmxlIHRvIHNldCBsb2NhbGUgdG8gZW4gKG1pc3Npbmc/KSIKKyAgZW5kdHJ5CisgIHNldCBlbmNvZGluZyYKK2VuZGZ1bmMKKworIiB2aW06IHNoaWZ0d2lkdGg9MiBzdHM9MiBleHBhbmR0YWIKZGlmZiAtLWdpdCBhL3NyYy92ZXJzaW9uLmMgYi9zcmMvdmVyc2lvbi5jCmluZGV4IGY5YzI5ODMuLjVmOWYyYjAgMTAwNjQ0Ci0tLSBhL3NyYy92ZXJzaW9uLmMKKysrIGIvc3JjL3ZlcnNpb24uYwpAQCAtNzA1LDYgKzcwNSw4IEBACiBzdGF0aWMgaW50IGluY2x1ZGVkX3BhdGNoZXNbXSA9CiB7ICAgLyogQWRkIG5ldyBwYXRjaCBudW1iZXIgYmVsb3cgdGhpcyBsaW5lICovCiAvKiovCisgICAgNTA5LAorLyoqLwogICAgIDUwOCwKIC8qKi8KICAgICA1MDcsCg==