ZGlmZiAtLWdpdCBhL2RvYy9weU9wZW5TU0wucHMgYi9kb2MvcHlPcGVuU1NMLnBzCmluZGV4IDY1MTE1MDAuLjczNTg4NmIgMTAwNjQ0Ci0tLSBhL2RvYy9weU9wZW5TU0wucHMKKysrIGIvZG9jL3B5T3BlblNTTC5wcwpAQCAtMSw3ICsxLDcgQEAKICUhUFMtQWRvYmUtMi4wCiAlJUNyZWF0b3I6IGR2aXBzKGspIDUuOTYuMSBDb3B5cmlnaHQgMjAwNyBSYWRpY2FsIEV5ZSBTb2Z0d2FyZQogJSVUaXRsZTogcHlPcGVuU1NMLmR2aQotJSVDcmVhdGlvbkRhdGU6IFN1biBNYXIgIDkgMjE6NDc6MzQgMjAwOAorJSVDcmVhdGlvbkRhdGU6IEZyaSBNYXIgMjEgMTg6Mjk6MzIgMjAwOAogJSVQYWdlczogMTUKICUlUGFnZU9yZGVyOiBBc2NlbmQKICUlQm91bmRpbmdCb3g6IDAgMCA1OTUgODQyCkBAIC0xMCw3ICsxMCw3IEBACiAlRFZJUFNXZWJQYWdlOiAod3d3LnJhZGljYWxleWUuY29tKQogJURWSVBTQ29tbWFuZExpbmU6IGR2aXBzIC1OMCAtbyBweU9wZW5TU0wucHMgcHlPcGVuU1NMCiAlRFZJUFNQYXJhbWV0ZXJzOiBkcGk9NjAwCi0lRFZJUFNTb3VyY2U6ICBUZVggb3V0cHV0IDIwMDguMDMuMDk6MjE0NworJURWSVBTU291cmNlOiAgVGVYIG91dHB1dCAyMDA4LjAzLjIxOjE4MjkKICUlQmVnaW5Qcm9jU2V0OiB0ZXgucHJvIDAgMAogJSEKIC9UZVhEaWN0IDMwMCBkaWN0IGRlZiBUZVhEaWN0IGJlZ2luL057ZGVmfWRlZi9Ce2JpbmQgZGVmfU4vU3tleGNofU4vWHtTCkBAIC00NTU5LDggKzQ1NTksOCBAQAogJSVQYWdlOiAxIDEKIFRlWERpY3QgYmVnaW4gMSAwIGJvcCAwIDgzIDM5MDEgOSB2IDE4OTAgNDUxIGEgRnUoUHl0aG9uKTY0CiBiKE9wKTUgYihlblNTTCk2NCBiKE1hbnVhbCkzNDQzIDYxOSB5IEZ0KFJlbGVhc2UpMzMgYigwLjYpMzE4OQotOTc0IHkgRnMoTWEpbShydGluKWsoU2pcMzY2Z3JlbikzMzgzIDEzMjggeSBGcihNYXJjKW4oaCkyNwotYig5LClnKDIwMDgpMzMwMSAxNDc1IHkgRnEobWEpbihydGluQHN0cmFrdC5jb20pMTc4MQorOTc0IHkgRnMoTWEpbShydGluKWsoU2pcMzY2Z3JlbikzMzQyIDEzMjggeSBGcihNYXJjKW4oaCkyNgorYigyMSwpaCgyMDA4KTMzMDEgMTQ3NSB5IEZxKG1hKW4ocnRpbkBzdHJha3QuY29tKTE3ODEKIDE2OTcgeSBGcChBYnN0cmFjdCkyMDggMTg0MSB5IEZvKFRoaXMpMzIgYihtbylyKGR1bGUpZihpcyloKGEpZyhyYXRoZXIpCiBnKHRoaW4pZih3cmFwcClyKGVyKWgoYXJvdW5kKWcoXChhKWcoc3Vic2V0KWYob2YpNiBiKFwpKTMyCiBiKHRoZSlnKE9wKXIoZW5TU0wpZShsaWJyYXJ5KS02IGIoLik1MiBiKFdpdGgpMzIgYih0aGluKWYod3JhcHApcihlcikKZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2NlcnRnZW4ucHkgYi9leGFtcGxlcy9jZXJ0Z2VuLnB5CmluZGV4IGFjNmI4YmYuLmI1MGRmZGMgMTAwNjQ0Ci0tLSBhL2V4YW1wbGVzL2NlcnRnZW4ucHkKKysrIGIvZXhhbXBsZXMvY2VydGdlbi5weQpAQCAtMSwxMCArMSw4IEBACiAjIC0qLSBjb2Rpbmc6IGxhdGluLTEgLSotCi0jIGNlcnRnZW4ucHkKICMKICMgQ29weXJpZ2h0IChDKSBNYXJ0aW4gU2r2Z3JlbiBhbmQgQUIgU3RyYWt0IDIwMDEsIEFsbCByaWdodHMgcmVzZXJ2ZWQKLSMKLSMgJElkOiBjZXJ0Z2VuLnB5LHYgMS4yIDIwMDQvMDcvMjIgMTI6MDE6MjUgbWFydGluIEV4cCAkCi0jCisjIENvcHlyaWdodCAoQykgSmVhbi1QYXVsIENhbGRlcm9uZSAyMDA4LCBBbGwgcmlnaHRzIHJlc2VydmVkCisKICIiIgogQ2VydGlmaWNhdGUgZ2VuZXJhdGlvbiBtb2R1bGUuCiAiIiIKZGlmZiAtLWdpdCBhL2V4YW1wbGVzL3NpbXBsZS9jbGllbnQucHkgYi9leGFtcGxlcy9zaW1wbGUvY2xpZW50LnB5CmluZGV4IDZiYWU0ODguLmRjYWQzYmEgMTAwNjQ0Ci0tLSBhL2V4YW1wbGVzL3NpbXBsZS9jbGllbnQucHkKKysrIGIvZXhhbXBsZXMvc2ltcGxlL2NsaWVudC5weQpAQCAtMSwxMCArMSw4IEBACiAjIC0qLSBjb2Rpbmc6IGxhdGluLTEgLSotCi0jIGNsaWVudC5weQogIwogIyBDb3B5cmlnaHQgKEMpIDIwMDEgTWFydGluIFNq9mdyZW4gYW5kIEFCIFN0cmFrdCwgQWxsIHJpZ2h0cyByZXNlcnZlZAotIwotIyAkSWQ6IGNsaWVudC5weSx2IDEuNyAyMDAyLzA4LzE1IDEyOjIwOjQ2IG1hcnRpbiBFeHAgJAotIworIyBDb3B5cmlnaHQgKEMpIEplYW4tUGF1bCBDYWxkZXJvbmUgMjAwOCwgQWxsIHJpZ2h0cyByZXNlcnZlZAorCiAiIiIKIFNpbXBsZSBTU0wgY2xpZW50LCB1c2luZyBibG9ja2luZyBJL08KICIiIgpkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvc2ltcGxlL3NlcnZlci5weSBiL2V4YW1wbGVzL3NpbXBsZS9zZXJ2ZXIucHkKaW5kZXggNTU5MTg0Ny4uNTE4ZjllNiAxMDA2NDQKLS0tIGEvZXhhbXBsZXMvc2ltcGxlL3NlcnZlci5weQorKysgYi9leGFtcGxlcy9zaW1wbGUvc2VydmVyLnB5CkBAIC0xLDEwICsxLDggQEAKICMgLSotIGNvZGluZzogbGF0aW4tMSAtKi0KLSMgc2VydmVyLnB5CiAjCiAjIENvcHlyaWdodCAoQykgMjAwMSBNYXJ0aW4gU2r2Z3JlbiBhbmQgQUIgU3RyYWt0LCBBbGwgcmlnaHRzIHJlc2VydmVkCi0jCi0jICRJZDogc2VydmVyLnB5LHYgMS4yIDIwMDIvMDcvMjUgMDg6MjY6MzQgbWFydGluIEV4cCAkCi0jCisjIENvcHlyaWdodCAoQykgSmVhbi1QYXVsIENhbGRlcm9uZSAyMDA4LCBBbGwgcmlnaHRzIHJlc2VydmVkCisKICIiIgogU2ltcGxlIGVjaG8gc2VydmVyLCB1c2luZyBub25ibG9ja2luZyBJL08KICIiIgpkaWZmIC0tZ2l0IGEvc3JjL2NyeXB0by9jcnlwdG8uYyBiL3NyYy9jcnlwdG8vY3J5cHRvLmMKaW5kZXggNTMyNjE5OC4uYTRhZGFjZiAxMDA2NDQKLS0tIGEvc3JjL2NyeXB0by9jcnlwdG8uYworKysgYi9zcmMvY3J5cHRvL2NyeXB0by5jCkBAIC0yLDYgKzIsNyBAQAogICogY3J5cHRvLmMKICAqCiAgKiBDb3B5cmlnaHQgKEMpIEFCIFN0cmFrdCAyMDAxLCBBbGwgcmlnaHRzIHJlc2VydmVkCisgKiBDb3B5cmlnaHQgKEMpIEplYW4tUGF1bCBDYWxkZXJvbmUgMjAwOCwgQWxsIHJpZ2h0cyByZXNlcnZlZAogICoKICAqIE1haW4gZmlsZSBvZiBjcnlwdG8gc3ViIG1vZHVsZS4KICAqIFNlZSB0aGUgZmlsZSBSQVRJT05BTEUgZm9yIGEgc2hvcnQgZXhwbGFuYXRpb24gb2Ygd2h5IHRoaXMgbW9kdWxlIHdhcyB3cml0dGVuLgpAQCAtMTcsOCArMTgsNiBAQAogU2VlIHRoZSBmaWxlIFJBVElPTkFMRSBmb3IgYSBzaG9ydCBleHBsYW5hdGlvbiBvZiB3aHkgdGhpcyBtb2R1bGUgd2FzIHdyaXR0ZW4uXG5cCiAiOwogCi1zdGF0aWMgY2hhciAqQ1ZTaWQgPSAiQCgjKSAkSWQ6IGNyeXB0by5jLHYgMS4yOCAyMDA0LzA4LzA5IDE0OjU2OjA1IG1hcnRpbiBFeHAgJCI7Ci0KIHZvaWQgKipzc2xfQVBJOwogCiBQeU9iamVjdCAqY3J5cHRvX0Vycm9yOwpkaWZmIC0tZ2l0IGEvc3JjL2NyeXB0by9wa2V5LmMgYi9zcmMvY3J5cHRvL3BrZXkuYwppbmRleCBkMDZmZjk2Li5mZWUzZTgxIDEwMDY0NAotLS0gYS9zcmMvY3J5cHRvL3BrZXkuYworKysgYi9zcmMvY3J5cHRvL3BrZXkuYwpAQCAtMiw2ICsyLDcgQEAKICAqIHBrZXkuYwogICoKICAqIENvcHlyaWdodCAoQykgQUIgU3RyYWt0IDIwMDEsIEFsbCByaWdodHMgcmVzZXJ2ZWQKKyAqIENvcHlyaWdodCAoQykgSmVhbi1QYXVsIENhbGRlcm9uZSAyMDA4LCBBbGwgcmlnaHRzIHJlc2VydmVkCiAgKgogICogUHVibGljL3JpdmF0ZSBrZXkgaGFuZGxpbmcgY29kZSwgbW9zdGx5IHRoaW4gd3JhcHBlcnMgYXJvdW5kIE9wZW5TU0wuCiAgKiBTZWUgdGhlIGZpbGUgUkFUSU9OQUxFIGZvciBhIHNob3J0IGV4cGxhbmF0aW9uIG9mIHdoeSB0aGlzIG1vZHVsZSB3YXMgd3JpdHRlbi4KQEAgLTExLDggKzEyLDYgQEAKICNkZWZpbmUgY3J5cHRvX01PRFVMRQogI2luY2x1ZGUgImNyeXB0by5oIgogCi1zdGF0aWMgY2hhciAqQ1ZTaWQgPSAiQCgjKSAkSWQ6IHBrZXkuYyx2IDEuOSAyMDAyLzA3LzA5IDEzOjQ3OjIxIG1hcnRpbiBFeHAgJCI7Ci0KIC8qCiAgKiBUaGlzIGlzIGRvbmUgZXZlcnkgdGltZSBzb21ldGhpbmcgZmFpbHMsIHNvIHR1cm5pbmcgaXQgaW50byBhIG1hY3JvIGlzCiAgKiByZWFsbHkgbmljZS4KZGlmZiAtLWdpdCBhL3NyYy9jcnlwdG8vcGtleS5oIGIvc3JjL2NyeXB0by9wa2V5LmgKaW5kZXggMDIyNzYyOS4uM2FjN2JkZSAxMDA2NDQKLS0tIGEvc3JjL2NyeXB0by9wa2V5LmgKKysrIGIvc3JjL2NyeXB0by9wa2V5LmgKQEAgLTIsNiArMiw3IEBACiAgKiBwa2V5LmgKICAqCiAgKiBDb3B5cmlnaHQgKEMpIEFCIFN0cmFrdCAyMDAxLCBBbGwgcmlnaHRzIHJlc2VydmVkCisgKiBDb3B5cmlnaHQgKEMpIEplYW4tUGF1bCBDYWxkZXJvbmUgMjAwOCwgQWxsIHJpZ2h0cyByZXNlcnZlZAogICoKICAqIEV4cG9ydCBwa2V5IGZ1bmN0aW9ucyBhbmQgZGF0YSBzdHJ1Y3R1cmUuCiAgKiBTZWUgdGhlIGZpbGUgUkFUSU9OQUxFIGZvciBhIHNob3J0IGV4cGxhbmF0aW9uIG9mIHdoeSB0aGlzIG1vZHVsZSB3YXMgd3JpdHRlbi4KZGlmZiAtLWdpdCBhL3NyYy9jcnlwdG8veDUwOS5jIGIvc3JjL2NyeXB0by94NTA5LmMKaW5kZXggYTEwYzUzYS4uNjFmODZlYyAxMDA2NDQKLS0tIGEvc3JjL2NyeXB0by94NTA5LmMKKysrIGIvc3JjL2NyeXB0by94NTA5LmMKQEAgLTIsNiArMiw3IEBACiAgKiB4NTA5LmMKICAqCiAgKiBDb3B5cmlnaHQgKEMpIEFCIFN0cmFrdCAyMDAxLCBBbGwgcmlnaHRzIHJlc2VydmVkCisgKiBDb3B5cmlnaHQgKEMpIEplYW4tUGF1bCBDYWxkZXJvbmUgMjAwOCwgQWxsIHJpZ2h0cyByZXNlcnZlZAogICoKICAqIENlcnRpZmljYXRlIChYLjUwOSkgaGFuZGxpbmcgY29kZSwgbW9zdGx5IHRoaW4gd3JhcHBlcnMgYXJvdW5kIE9wZW5TU0wuCiAgKiBTZWUgdGhlIGZpbGUgUkFUSU9OQUxFIGZvciBhIHNob3J0IGV4cGxhbmF0aW9uIG9mIHdoeSB0aGlzIG1vZHVsZSB3YXMgd3JpdHRlbi4KQEAgLTEyLDggKzEzLDYgQEAKICNkZWZpbmUgY3J5cHRvX01PRFVMRQogI2luY2x1ZGUgImNyeXB0by5oIgogCi1zdGF0aWMgY2hhciAqQ1ZTaWQgPSAiQCgjKSAkSWQ6IHg1MDkuYyx2IDEuMjAgMjAwNC8wOC8xMCAxMDozNzozMSBtYXJ0aW4gRXhwICQiOwotCiAvKgogICogWC41MDkgaXMgYSBzdGFuZGFyZCBmb3IgZGlnaXRhbCBjZXJ0aWZpY2F0ZXMuICBTZWUgZS5nLiB0aGUgT3BlblNTTCBob21lcGFnZQogICogaHR0cDovL3d3dy5vcGVuc3NsLm9yZy8gZm9yIG1vcmUgaW5mb3JtYXRpb24KZGlmZiAtLWdpdCBhL3NyYy9jcnlwdG8veDUwOWV4dC5jIGIvc3JjL2NyeXB0by94NTA5ZXh0LmMKaW5kZXggMWM4N2I4OC4uYTg5ODg0MiAxMDA2NDQKLS0tIGEvc3JjL2NyeXB0by94NTA5ZXh0LmMKKysrIGIvc3JjL2NyeXB0by94NTA5ZXh0LmMKQEAgLTEsNiArMSw4IEBACiAvKgogICogeDUwOWV4dC5jCiAgKgorICogQ29weXJpZ2h0IChDKSBKZWFuLVBhdWwgQ2FsZGVyb25lIDIwMDgsIEFsbCByaWdodHMgcmVzZXJ2ZWQKKyAqCiAgKiBFeHBvcnQgWC41MDkgZXh0ZW5zaW9uIGZ1bmN0aW9ucyBhbmQgZGF0YSBzdHJ1Y3R1cmVzLgogICogU2VlIHRoZSBmaWxlIFJBVElPTkFMRSBmb3IgYSBzaG9ydCBleHBsYW5hdGlvbiBvZiB3aHkgdGhpcyBtb2R1bGUgd2FzIHdyaXR0ZW4uCiAgKgpAQCAtMTEsOCArMTMsNiBAQAogI2RlZmluZSBjcnlwdG9fTU9EVUxFCiAjaW5jbHVkZSAiY3J5cHRvLmgiCiAKLXN0YXRpYyBjaGFyICpDVlNpZCA9ICJAKCMpICRJZDogeDUwOWV4dC5jLHYgMS4xIDIwMDIvMDcvMDkgMTM6MzQ6NDYgbWFydGluIEV4cCAkIjsKLQogc3RhdGljIGNoYXIgY3J5cHRvX1g1MDlFeHRlbnNpb25fZ2V0X2NyaXRpY2FsX2RvY1tdID0gIlxuXAogUmV0dXJucyB0aGUgY3JpdGljYWwgZmllbGQgb2YgdGhlIFg1MDlFeHRlbnNpb25cblwKIFxuXApkaWZmIC0tZ2l0IGEvc3JjL2NyeXB0by94NTA5bmFtZS5jIGIvc3JjL2NyeXB0by94NTA5bmFtZS5jCmluZGV4IDUyNTVlMGIuLmI4MWI5MTIgMTAwNjQ0Ci0tLSBhL3NyYy9jcnlwdG8veDUwOW5hbWUuYworKysgYi9zcmMvY3J5cHRvL3g1MDluYW1lLmMKQEAgLTIsNiArMiw3IEBACiAgKiB4NTA5bmFtZS5jCiAgKgogICogQ29weXJpZ2h0IChDKSBBQiBTdHJha3QgMjAwMSwgQWxsIHJpZ2h0cyByZXNlcnZlZAorICogQ29weXJpZ2h0IChDKSBKZWFuLVBhdWwgQ2FsZGVyb25lIDIwMDgsIEFsbCByaWdodHMgcmVzZXJ2ZWQKICAqCiAgKiBYLjUwOSBOYW1lIGhhbmRsaW5nLCBtb3N0bHkgdGhpbiB3cmFwcGluZy4KICAqIFNlZSB0aGUgZmlsZSBSQVRJT05BTEUgZm9yIGEgc2hvcnQgZXhwbGFuYXRpb24gb2Ygd2h5IHRoaXMgbW9kdWxlIHdhcyB3cml0dGVuLgpAQCAtMTIsOSArMTMsNiBAQAogI2RlZmluZSBjcnlwdG9fTU9EVUxFCiAjaW5jbHVkZSAiY3J5cHRvLmgiCiAKLXN0YXRpYyBjaGFyICpDVlNpZCA9ICJAKCMpICRJZDogeDUwOW5hbWUuYyx2IDEuMTYgMjAwMy8wMS8wOSAxNzowODozMiBtYXJ0aW4gRXhwICQiOwotCi0KIC8qCiAgKiBDb25zdHJ1Y3RvciBmb3IgWDUwOU5hbWUsIG5ldmVyIGNhbGxlZCBieSBQeXRob24gY29kZSBkaXJlY3RseQogICoKZGlmZiAtLWdpdCBhL3NyYy9jcnlwdG8veDUwOXJlcS5jIGIvc3JjL2NyeXB0by94NTA5cmVxLmMKaW5kZXggMTQzZTRhYS4uNGM2YWNkMiAxMDA2NDQKLS0tIGEvc3JjL2NyeXB0by94NTA5cmVxLmMKKysrIGIvc3JjL2NyeXB0by94NTA5cmVxLmMKQEAgLTIsNiArMiw3IEBACiAgKiB4NTA5cmVxLmMKICAqCiAgKiBDb3B5cmlnaHQgKEMpIEFCIFN0cmFrdCAyMDAxLCBBbGwgcmlnaHRzIHJlc2VydmVkCisgKiBDb3B5cmlnaHQgKEMpIEplYW4tUGF1bCBDYWxkZXJvbmUgMjAwOCwgQWxsIHJpZ2h0cyByZXNlcnZlZAogICoKICAqIFguNTA5IFJlcXVlc3QgaGFuZGxpbmcsIG1vc3RseSB0aGluIHdyYXBwaW5nLgogICogU2VlIHRoZSBmaWxlIFJBVElPTkFMRSBmb3IgYSBzaG9ydCBleHBsYW5hdGlvbiBvZiB3aHkgdGhpcyBtb2R1bGUgd2FzIHdyaXR0ZW4uCkBAIC0xMCw4ICsxMSw2IEBACiAjZGVmaW5lIGNyeXB0b19NT0RVTEUKICNpbmNsdWRlICJjcnlwdG8uaCIKIAotc3RhdGljIGNoYXIgKkNWU2lkID0gIkAoIykgJElkOiB4NTA5cmVxLmMsdiAxLjE1IDIwMDIvMDkvMDQgMjI6MjQ6NTkgaWtvIEV4cCAkIjsKLQogCiBzdGF0aWMgY2hhciBjcnlwdG9fWDUwOVJlcV9nZXRfc3ViamVjdF9kb2NbXSA9ICJcblwKIENyZWF0ZSBhbiBYNTA5TmFtZSBvYmplY3QgZm9yIHRoZSBzdWJqZWN0IG9mIHRoZSBjZXJ0aWZpY2F0ZSByZXF1ZXN0XG5cCmRpZmYgLS1naXQgYS9zcmMvc3NsL2Nvbm5lY3Rpb24uYyBiL3NyYy9zc2wvY29ubmVjdGlvbi5jCmluZGV4IDZiZjdmNjUuLmE5Nzc4ZGUgMTAwNzU1Ci0tLSBhL3NyYy9zc2wvY29ubmVjdGlvbi5jCisrKyBiL3NyYy9zc2wvY29ubmVjdGlvbi5jCkBAIC0yLDYgKzIsNyBAQAogICogY29ubmVjdGlvbi5jCiAgKgogICogQ29weXJpZ2h0IChDKSBBQiBTdHJha3QgMjAwMSwgQWxsIHJpZ2h0cyByZXNlcnZlZAorICogQ29weXJpZ2h0IChDKSBKZWFuLVBhdWwgQ2FsZGVyb25lIDIwMDgsIEFsbCByaWdodHMgcmVzZXJ2ZWQKICAqCiAgKiBTU0wgQ29ubmVjdGlvbiBvYmplY3RzIGFuZCBtZXRob2RzLgogICogU2VlIHRoZSBmaWxlIFJBVElPTkFMRSBmb3IgYSBzaG9ydCBleHBsYW5hdGlvbiBvZiB3aHkgdGhpcyBtb2R1bGUgd2FzIHdyaXR0ZW4uCkBAIC0xMCw3ICsxMSw2IEBACiAgKi8KICNpbmNsdWRlIDxQeXRob24uaD4KIAotCiAjaWZuZGVmIE1TX1dJTkRPV1MKICMgIGluY2x1ZGUgPHN5cy9zb2NrZXQuaD4KICMgIGluY2x1ZGUgPG5ldGluZXQvaW4uaD4KQEAgLTI1LDEyICsyNSw4IEBACiAjZGVmaW5lIFNTTF9NT0RVTEUKICNpbmNsdWRlIDxvcGVuc3NsL2Vyci5oPgogCi0KICNpbmNsdWRlICJzc2wuaCIKIAotc3RhdGljIGNoYXIgKkNWU2lkID0gIkAoIykgJElkOiBjb25uZWN0aW9uLmMsdiAxLjI4IDIwMDQvMDgvMDYgMTA6MjE6NTYgbWFydGluIEV4cCAkIjsKLQotCiAvKioKICAqIElmIHdlIGFyZSBvbiBVTklYLCBmaW5lLCBqdXN0IHVzZSBQeUVycl9TZXRGcm9tRXJybm8uIElmIHdlIGFyZSBvbiBXaW5kb3dzLAogICogYXBwbHkgc29tZSBibGFjayB3aW5zb2NrIHZvb2Rvby4gVGhpcyBpcyBiYXNpY2FsbHkganVzdCBjb3BpZWQgZnJvbSBQeXRob24ncwpkaWZmIC0tZ2l0IGEvc3JjL3NzbC9jb250ZXh0LmMgYi9zcmMvc3NsL2NvbnRleHQuYwppbmRleCBkYTQ0MDJiLi5jZWViOGZiIDEwMDY0NAotLS0gYS9zcmMvc3NsL2NvbnRleHQuYworKysgYi9zcmMvc3NsL2NvbnRleHQuYwpAQCAtMiw2ICsyLDcgQEAKICAqIGNvbnRleHQuYwogICoKICAqIENvcHlyaWdodCAoQykgQUIgU3RyYWt0IDIwMDEsIEFsbCByaWdodHMgcmVzZXJ2ZWQKKyAqIENvcHlyaWdodCAoQykgSmVhbi1QYXVsIENhbGRlcm9uZSAyMDA4LCBBbGwgcmlnaHRzIHJlc2VydmVkCiAgKgogICogU1NMIENvbnRleHQgb2JqZWN0cyBhbmQgdGhlaXIgbWV0aG9kcy4KICAqIFNlZSB0aGUgZmlsZSBSQVRJT05BTEUgZm9yIGEgc2hvcnQgZXhwbGFuYXRpb24gb2Ygd2h5IHRoaXMgbW9kdWxlIHdhcyB3cml0dGVuLgpAQCAtMTAsOCArMTEsNiBAQAogICovCiAjaW5jbHVkZSA8UHl0aG9uLmg+CiAKLQotCiAjaWZuZGVmIE1TX1dJTkRPV1MKICMgIGluY2x1ZGUgPHN5cy9zb2NrZXQuaD4KICMgIGluY2x1ZGUgPG5ldGluZXQvaW4uaD4KQEAgLTI2LDggKzI1LDYgQEAKICNkZWZpbmUgU1NMX01PRFVMRQogI2luY2x1ZGUgInNzbC5oIgogCi1zdGF0aWMgY2hhciAqQ1ZTaWQgPSAiQCgjKSAkSWQ6IGNvbnRleHQuYyx2IDEuMTcgMjAwNC8wOC8wNiAxMDoyMTo1NiBtYXJ0aW4gRXhwICQiOwotCiAvKgogICogQ0FMTEJBQ0tTCiAgKgpkaWZmIC0tZ2l0IGEvc3JjL3NzbC9zc2wuYyBiL3NyYy9zc2wvc3NsLmMKaW5kZXggODQzNGEwNy4uN2Y1ODc3MSAxMDA2NDQKLS0tIGEvc3JjL3NzbC9zc2wuYworKysgYi9zcmMvc3NsL3NzbC5jCkBAIC0yLDYgKzIsNyBAQAogICogc3NsLmMKICAqCiAgKiBDb3B5cmlnaHQgKEMpIEFCIFN0cmFrdCAyMDAxLCBBbGwgcmlnaHRzIHJlc2VydmVkCisgKiBDb3B5cmlnaHQgKEMpIEplYW4tUGF1bCBDYWxkZXJvbmUgMjAwOCwgQWxsIHJpZ2h0cyByZXNlcnZlZAogICoKICAqIE1haW4gZmlsZSBvZiB0aGUgU1NMIHN1YiBtb2R1bGUuCiAgKiBTZWUgdGhlIGZpbGUgUkFUSU9OQUxFIGZvciBhIHNob3J0IGV4cGxhbmF0aW9uIG9mIHdoeSB0aGlzIG1vZHVsZSB3YXMgd3JpdHRlbi4KQEAgLTEwLDggKzExLDYgQEAKICAqLwogI2luY2x1ZGUgPFB5dGhvbi5oPgogCi0KLQogI2lmbmRlZiBNU19XSU5ET1dTCiAjICBpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CiAjICBpbmNsdWRlIDxuZXRpbmV0L2luLmg+CkBAIC0zMSw4ICszMCw2IEBACiBTZWUgdGhlIGZpbGUgUkFUSU9OQUxFIGZvciBhIHNob3J0IGV4cGxhbmF0aW9uIG9mIHdoeSB0aGlzIG1vZHVsZSB3YXMgd3JpdHRlbi5cblwKICI7CiAKLXN0YXRpYyBjaGFyICpDVlNpZCA9ICJAKCMpICRJZDogc3NsLmMsdiAxLjEyIDIwMDQvMDgvMTAgMjE6NDI6NTEgbWFydGluIEV4cCAkIjsKLQogdm9pZCAqKmNyeXB0b19BUEk7CiAKIC8qIEV4Y2VwdGlvbnMgZGVmaW5lZCBieSB0aGUgU1NMIHN1Ym1vZHVsZSAqLwpkaWZmIC0tZ2l0IGEvdGVzdC9fX2luaXRfXy5weSBiL3Rlc3QvX19pbml0X18ucHkKaW5kZXggZTY5ZGUyOS4uYWI5YzRjYiAxMDA2NDQKLS0tIGEvdGVzdC9fX2luaXRfXy5weQorKysgYi90ZXN0L19faW5pdF9fLnB5CkBAIC0wLDAgKzEsNSBAQAorIyBDb3B5cmlnaHQgKEMpIEplYW4tUGF1bCBDYWxkZXJvbmUgMjAwOCwgQWxsIHJpZ2h0cyByZXNlcnZlZAorCisiIiIKK1BhY2thZ2UgY29udGFpbmluZyB1bml0IHRlc3RzIGZvciBMe09wZW5TU0x9LgorIiIiCmRpZmYgLS1naXQgYS90ZXN0L3Rlc3RfY3J5cHRvLnB5IGIvdGVzdC90ZXN0X2NyeXB0by5weQppbmRleCBiOWE3YjFiLi4wYWI4NjY2IDEwMDY0NAotLS0gYS90ZXN0L3Rlc3RfY3J5cHRvLnB5CisrKyBiL3Rlc3QvdGVzdF9jcnlwdG8ucHkKQEAgLTEsMyArMSw1IEBACisjIENvcHlyaWdodCAoQykgSmVhbi1QYXVsIENhbGRlcm9uZSAyMDA4LCBBbGwgcmlnaHRzIHJlc2VydmVkCisKICIiIgogVW5pdCB0ZXN0cyBmb3IgTHtPcGVuU1NMLmNyeXB0b30uCiAiIiIKZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF9zc2wucHkgYi90ZXN0L3Rlc3Rfc3NsLnB5CmluZGV4IDgxNjYxMzAuLjc2MmFlZTUgMTAwNjQ0Ci0tLSBhL3Rlc3QvdGVzdF9zc2wucHkKKysrIGIvdGVzdC90ZXN0X3NzbC5weQpAQCAtMSwzICsxLDUgQEAKKyMgQ29weXJpZ2h0IChDKSBKZWFuLVBhdWwgQ2FsZGVyb25lIDIwMDgsIEFsbCByaWdodHMgcmVzZXJ2ZWQKKwogIiIiCiBVbml0IHRlc3RzIGZvciBMe09wZW5TU0wuU1NMfS4KICIiIgpAQCAtMzMsNCArMzUsMyBAQAogICAgICAgICBjdHggPSBDb250ZXh0KFRMU3YxX01FVEhPRCkKICAgICAgICAgY3R4LnVzZV9wcml2YXRla2V5KGtleSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBjdHgudXNlX3ByaXZhdGVrZXksICIiKQotCmRpZmYgLS1naXQgYS92ZXJzaW9uLnB5IGIvdmVyc2lvbi5weQppbmRleCAyMjM2OWM4Li4xNTJhYzFhIDEwMDY0NAotLS0gYS92ZXJzaW9uLnB5CisrKyBiL3ZlcnNpb24ucHkKQEAgLTEsMTEgKzEsOCBAQAotIwotIyB2ZXJzaW9uLnB5Ci0jCiAjIENvcHlyaWdodCAoQykgQUIgU3RyYWt0IDIwMDEtMjAwNCwgQWxsIHJpZ2h0cyByZXNlcnZlZAotIwotIyAkSWQ6IHZlcnNpb24ucHksdiAxLjIgMjAwNC8wOC8xMyAxODo0NjowNCBtYXJ0aW4gRXhwICQKLSMKKyMgQ29weXJpZ2h0IChDKSBKZWFuLVBhdWwgQ2FsZGVyb25lIDIwMDgsIEFsbCByaWdodHMgcmVzZXJ2ZWQKKwogIiIiCiBweU9wZW5TU0wgLSBBIHNpbXBsZSB3cmFwcGVyIGFyb3VuZCB0aGUgT3BlblNTTCBsaWJyYXJ5CiAiIiIKLV9fdmVyc2lvbl9fID0gJzAuNycKKworX192ZXJzaW9uX18gPSAnMC43cHJlMScK