ZGlmZiAtLWdpdCBhL3NyYy9JTlNUQUxMcGMudHh0IGIvc3JjL0lOU1RBTExwYy50eHQKaW5kZXggMmM0MTAyNi4uYTJlZTk1NCAxMDA2NDQKLS0tIGEvc3JjL0lOU1RBTExwYy50eHQKKysrIGIvc3JjL0lOU1RBTExwYy50eHQKQEAgLTE1NSwxNiArMTU1LDExIEBACiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIFZpc3VhbCBDKysgMjAwOCBFeHByZXNzIEVkaXRpb24gY2FuIGJlIGRvd25sb2FkZWQgZm9yIGZyZWUgZnJvbToKLSAgICBodHRwOi8vbXNkbjIubWljcm9zb2Z0LmNvbS9lbi11cy9leHByZXNzL2RlZmF1bHQuYXNweAotVGhpcyBpbmNsdWRlcyB0aGUgSURFIGFuZCB0aGUgZGVidWdnZXIuIFlvdSBjYW4gYnVpbGQgVmltIHdpdGggTWFrZV9tdmMubWFrLgorICAgIGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9leHByZXNzL3ZjL0RlZmF1bHQuYXNweAorVGhpcyBpbmNsdWRlcyB0aGUgSURFIGFuZCB0aGUgZGVidWdnZXIuCiAKLQotVmlzdWFsIEMrKyAyMDA4IEV4cHJlc3MgRWRpdGlvbiAgICAgICAqbXN2Yy0yMDA4LWV4cHJlc3MqCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLVZpc3VhbCBDKysgMjAwOCBFeHByZXNzIEVkaXRpb24gY2FuIGJlIGRvd25sb2FkZWQgZm9yIGZyZWUgZnJvbToKLSAgICBodHRwOi8vbXNkbjIubWljcm9zb2Z0LmNvbS9lbi11cy9leHByZXNzL2RlZmF1bHQuYXNweAotVGhpcyBpbmNsdWRlcyB0aGUgSURFIGFuZCB0aGUgZGVidWdnZXIuIFlvdSBjYW4gYnVpbGQgVmltIHdpdGggTWFrZV9tdmMubWFrLgorVG8gc2V0IHRoZSBlbnZpcm9ubWVudCBleGVjdXRlIHRoZSBtc3ZjMjAwOC5iYXQgc2NyaXB0LiAgWW91IGNhbiB0aGVuIGJ1aWxkCitWaW0gd2l0aCBNYWtlX212Yy5tYWsuCiAKIAogMi4gTWluR1cKQEAgLTI1OCw4ICsyNTMsOSBAQAogeW91ciBMaW51eCAob3Igb3RoZXIgdW5peCkgYm94LiAgVG8gZG8gdGhpcywgeW91IG5lZWQgdG8gZm9sbG93IGEgZmV3IHN0ZXBzOgogICAgIDEpIEluc3RhbGwgdGhlIG1pbmd3MzIgY3Jvc3MtY29tcGlsZXIuIFNlZQogCWh0dHA6Ly93d3cubGlic2RsLm9yZy9leHRyYXMvd2luMzIvY3Jvc3MvUkVBRE1FLnR4dAotICAgIDIpIGdldCB0aGUgKnVuaXgqIHZlcnNpb24gb2YgdGhlIHZpbSBzb3VyY2VzCi0gICAgMykgaW4gJ01ha2VfbWluZy5tYWsnLCBzZXQgJ0NST1NTJyB0byAnMScgaW5zdGVhZCBvZiAnMCcuCisgICAgMikgR2V0IGFuZCB1bnBhY2sgYm90aCB0aGUgVW5peCBzb3VyY2VzIGFuZCB0aGUgZXh0cmEgYXJjaGl2ZQorICAgIDMpIGluICdNYWtlX21pbmcubWFrJywgc2V0ICdDUk9TUycgdG8gJ3llcycgaW5zdGVhZCBvZiAnbm8nLgorICAgICAgIE1ha2UgZnVydGhlciBjaGFuZ2VzIHRvICdNYWtlX21pbmcubWFrJyBhcyB5b3Ugd2lzaC4KICAgICA0KSBtYWtlIC1mIE1ha2VfbWluZy5tYWsgZ3ZpbS5leGUKIAogTm93IHlvdSBoYXZlIGNyZWF0ZWQgdGhlIFdpbmRvd3MgYmluYXJ5IGZyb20geW91ciBMaW51eCBib3ghICBIYXZlIGZ1bi4uLgpkaWZmIC0tZ2l0IGEvc3JjL0lOU1RBTEx2bXMudHh0IGIvc3JjL0lOU1RBTEx2bXMudHh0CmluZGV4IDFkZTI5ODAuLmM2MTdhYWUgMTAwNjQ0Ci0tLSBhL3NyYy9JTlNUQUxMdm1zLnR4dAorKysgYi9zcmMvSU5TVEFMTHZtcy50eHQKQEAgLTEsNyArMSw3IEBACiBJTlNUQUxMdm1zLnR4dCAtIEluc3RhbGxhdGlvbiBvZiBWaW0gb24gT3BlblZNUwogCiBNYWludGFpbmVyOiAgIFpvbHRhbiBBcnBhZGZmeSA8YXJwYWRmZnlAcG9sYXJob21lLmNvbT4KLUxhc3QgY2hhbmdlOiAgMjAwNyBNYXkgMDcKK0xhc3QgY2hhbmdlOiAgMjAwOCBKYW4gMDYKIAogVGhpcyBmaWxlIGNvbnRhaW5zIGluc3RydWN0aW9ucyBmb3IgY29tcGlsaW5nIFZpbSBvbiBPcGVudm1zLgogSWYgeW91IGFscmVhZHkgaGF2ZSBhbiBleGVjdXRhYmxlIHZlcnNpb24gb2YgVmltLCB5b3UgZG9uJ3QgbmVlZCB0aGlzLgpAQCAtODMsNyArODMsNyBAQAogCQkJICBOT1JNQUwgIC0gQSBkZWZhdWx0IHNlbGVjdGlvbiBvZiBmZWF0dXJlcyBlbmFibGVkCiAJCQkgIEJJRwkgIC0gTWFueSBmZWF0dXJlcyBlbmFibGVkLCBhcyByaWNoIGFzIHBvc3NpYmxlLgogCQkJICAoT3BlblZNUyBkZWZhdWx0KQotCQkJICBIVUdFCSAgLSBBbGwgcG9zc2libGUgZmVhdHVlcyBlbmFibGVkLgorCQkJICBIVUdFCSAgLSBBbGwgcG9zc2libGUgZmVhdHVyZXMgZW5hYmxlZC4KIAkJCSAgVW5jb21tZW50ZWQgLSB3aWxsIGRlZmF1bHQgdG8gQklHCiAJRGVmYXVsdAkJOiBNT0RFTCA9IEJJRwogCmRpZmYgLS1naXQgYS9zcmMvTWFrZV9taW50Lm1hayBiL3NyYy9NYWtlX21pbnQubWFrCmluZGV4IDZiY2FhY2IuLjk3YTJlNGIgMTAwNjQ0Ci0tLSBhL3NyYy9NYWtlX21pbnQubWFrCisrKyBiL3NyYy9NYWtlX21pbnQubWFrCkBAIC0xMSw3ICsxMSw3IEBACiAjIE90aGVyd2lzZSB0aGUgcG9zdHByb2Nlc3Npbmcgd29uJ3QgZ2V0IGRvbmUuCiAjCiAKLSMjIyBUaGlzIE1ha2VmaWxlIGhhcyBiZWVuIHN1Y2Nlc2Z1bGx5IHRlc3RlZCBvbiB0aGVzZSBzeXN0ZW1zLgorIyMjIFRoaXMgTWFrZWZpbGUgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IHRlc3RlZCBvbiB0aGVzZSBzeXN0ZW1zLgogIyMjIENoZWNrIHRoZSAoKikgY29sdW1uIGZvciByZW1hcmtzLCBsaXN0ZWQgYmVsb3cuCiAjIyMgTGF0ZXIgY29kZSBjaGFuZ2VzIG1heSBjYXVzZSBzbWFsbCBwcm9ibGVtcywgb3RoZXJ3aXNlIFZpbSBpcyBzdXBwb3NlZCB0bwogIyMjIGNvbXBpbGUgYW5kIHJ1biB3aXRob3V0IHByb2JsZW1zLgpkaWZmIC0tZ2l0IGEvc3JjL01ha2VfbXZjLm1hayBiL3NyYy9NYWtlX212Yy5tYWsKaW5kZXggMzRjODdhNS4uMThmZDMyNyAxMDA2NDQKLS0tIGEvc3JjL01ha2VfbXZjLm1haworKysgYi9zcmMvTWFrZV9tdmMubWFrCkBAIC0zNTAsNiArMzUwLDkgQEAKICFpZiAiJChfTk1BS0VfVkVSKSIgPT0gIjkuMDAuMjA3MDYuMDEiCiBNU1ZDVkVSID0gOS4wCiAhZW5kaWYKKyFpZiAiJChfTk1BS0VfVkVSKSIgPT0gIjkuMDAuMjEwMjIuMDgiCitNU1ZDVkVSID0gOS4wCishZW5kaWYKICFlbmRpZgogCiAjIEFib3J0IGJ1bGRpbmcgVklNIGlmIHZlcnNpb24gb2YgVkMgaXMgdW5yZWNvZ25pc2VkLgpkaWZmIC0tZ2l0IGEvc3JjL2V4X2RvY21kLmMgYi9zcmMvZXhfZG9jbWQuYwppbmRleCBjNWI1MjBjLi40NjBmYzJhIDEwMDY0NAotLS0gYS9zcmMvZXhfZG9jbWQuYworKysgYi9zcmMvZXhfZG9jbWQuYwpAQCAtMTMsMTAgKzEzLDYgQEAKIAogI2luY2x1ZGUgInZpbS5oIgogCi0jaWZkZWYgSEFWRV9GQ05UTF9ICi0jIGluY2x1ZGUgPGZjbnRsLmg+CSAgICAvKiBmb3IgY2hkaXIoKSAqLwotI2VuZGlmCi0KIHN0YXRpYyBpbnQJcXVpdG1vcmUgPSAwOwogc3RhdGljIGludAlleF9wcmVzc2VkcmV0dXJuID0gRkFMU0U7CiAjaWZuZGVmIEZFQVRfUFJJTlRFUgpAQCAtMTEzMiw3ICsxMTI4LDcgQEAKIAl7CiAJICAgIC8qIG5lZWQgdG8gY29weSB0aGUgY29tbWFuZCBhZnRlciB0aGUgJ3wnIHRvIGNtZGxpbmVfY29weSwgZm9yIHRoZQogCSAgICAgKiBuZXh0IGRvX29uZV9jbWQoKSAqLwotCSAgICBtY2hfbWVtbW92ZShjbWRsaW5lX2NvcHksIG5leHRfY21kbGluZSwgU1RSTEVOKG5leHRfY21kbGluZSkgKyAxKTsKKwkgICAgU1RSTU9WRShjbWRsaW5lX2NvcHksIG5leHRfY21kbGluZSk7CiAJICAgIG5leHRfY21kbGluZSA9IGNtZGxpbmVfY29weTsKIAl9CiAKQEAgLTIzNzUsNyArMjM3MSw3IEBACiAJICAgICAqIEhhbHZpbmcgdGhlIG51bWJlciBvZiBiYWNrc2xhc2hlcyBpcyBpbmNvbXBhdGlibGUgd2l0aCBwcmV2aW91cwogCSAgICAgKiB2ZXJzaW9ucy4gKi8KIAkgICAgaWYgKCpwID09ICdcXCcgJiYgcFsxXSA9PSAnXG4nKQotCQltY2hfbWVtbW92ZShwLCBwICsgMSwgU1RSTEVOKHApKTsKKwkJU1RSTU9WRShwLCBwICsgMSk7CiAJICAgIGVsc2UgaWYgKCpwID09ICdcbicpCiAJICAgIHsKIAkJZWEubmV4dGNtZCA9IHAgKyAxOwpAQCAtNDU1MSw3ICs0NTQ3LDcgQEAKIAkJKytwOwkJLyogc2tpcCBDVFJMLVYgYW5kIG5leHQgY2hhciAqLwogCSAgICBlbHNlCiAJCQkJLyogcmVtb3ZlIENUUkwtViBhbmQgc2tpcCBuZXh0IGNoYXIgKi8KLQkJbWNoX21lbW1vdmUocCwgcCArIDEsIFNUUkxFTihwKSk7CisJCVNUUk1PVkUocCwgcCArIDEpOwogCSAgICBpZiAoKnAgPT0gTlVMKQkJLyogc3RvcCBhdCBOVUwgYWZ0ZXIgQ1RSTC1WICovCiAJCWJyZWFrOwogCX0KQEAgLTQ1ODIsNyArNDU3OCw3IEBACiAJICAgIGlmICgodmltX3N0cmNocihwX2NwbywgQ1BPX0JBUikgPT0gTlVMTAogCQkJICAgICAgfHwgIShlYXAtPmFyZ3QgJiBVU0VDVFJMVikpICYmICoocCAtIDEpID09ICdcXCcpCiAJICAgIHsKLQkJbWNoX21lbW1vdmUocCAtIDEsIHAsIFNUUkxFTihwKSArIDEpOwkvKiByZW1vdmUgdGhlICdcJyAqLworCQlTVFJNT1ZFKHAgLSAxLCBwKTsJLyogcmVtb3ZlIHRoZSAnXCcgKi8KIAkJLS1wOwogCSAgICB9CiAJICAgIGVsc2UKQEAgLTQ2NDAsNyArNDYzNiw3IEBACiAJaWYgKCpwID09ICdcXCcgJiYgcFsxXSAhPSBOVUwpCiAJewogCSAgICBpZiAocmVtYnMpCi0JCW1jaF9tZW1tb3ZlKHAsIHAgKyAxLCBTVFJMRU4ocCkpOworCQlTVFJNT1ZFKHAsIHAgKyAxKTsKIAkgICAgZWxzZQogCQkrK3A7CiAJfQpAQCAtNzE2Nyw3ICs3MTYzLDYgQEAKICMgZW5kaWYKIH0KIAotI2lmIGRlZmluZWQoRkVBVF9NT1VTRSkgfHwgZGVmaW5lZChQUk9UTykKIC8qCiAgKiBPcGVuIGEgbmV3IHRhYiBwYWdlLgogICovCkBAIC03MTgyLDcgKzcxNzcsNiBAQAogICAgIGVhLmFyZyA9IChjaGFyX3UgKikiIjsKICAgICBleF9zcGxpdHZpZXcoJmVhKTsKIH0KLSNlbmRpZgogCiAvKgogICogOnRhYm5leHQgY29tbWFuZApAQCAtOTQyNSw3ICs5NDE5LDcgQEAKICAgICBpZiAoc3JjID4gc3Jjc3RhcnQgJiYgc3JjWy0xXSA9PSAnXFwnKQogICAgIHsKIAkqdXNlZGxlbiA9IDA7Ci0JbWNoX21lbW1vdmUoc3JjIC0gMSwgc3JjLCBTVFJMRU4oc3JjKSArIDEpOwkvKiByZW1vdmUgYmFja3NsYXNoICovCisJU1RSTU9WRShzcmMgLSAxLCBzcmMpOwkvKiByZW1vdmUgYmFja3NsYXNoICovCiAJcmV0dXJuIE5VTEw7CiAgICAgfQogCmRpZmYgLS1naXQgYS9zcmMvaWZfc25pZmYuYyBiL3NyYy9pZl9zbmlmZi5jCmluZGV4IGFiN2EzZjAuLmRlYTE1NzQgMTAwNjQ0Ci0tLSBhL3NyYy9pZl9zbmlmZi5jCisrKyBiL3NyYy9pZl9zbmlmZi5jCkBAIC0xMSw3ICsxMSw2IEBACiAKICNpZmRlZiBXSU4zMgogIyBpbmNsdWRlIDxzdGRpby5oPgotIyBpbmNsdWRlIDxmY250bC5oPgogIyBpbmNsdWRlICJ2aW1pby5oIgogIyBpbmNsdWRlIDxwcm9jZXNzLmg+CiAjIGluY2x1ZGUgPHN0cmluZy5oPgpkaWZmIC0tZ2l0IGEvc3JjL2ludGVncmF0aW9uLmMgYi9zcmMvaW50ZWdyYXRpb24uYwppbmRleCAyY2JmMGE5Li4wZDQ2Yzk3IDEwMDY0NAotLS0gYS9zcmMvaW50ZWdyYXRpb24uYworKysgYi9zcmMvaW50ZWdyYXRpb24uYwpAQCAtMjUsNyArMjUsNiBAQAogCiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KLSNpbmNsdWRlIDxmY250bC5oPgogCiAjaWZkZWYgSU5FVF9TT0NLRVRTCiAjaW5jbHVkZSA8bmV0ZGIuaD4KZGlmZiAtLWdpdCBhL3NyYy9tZXNzYWdlLmMgYi9zcmMvbWVzc2FnZS5jCmluZGV4IGIyZGFhOTAuLjgzODdkOTMgMTAwNjQ0Ci0tLSBhL3NyYy9tZXNzYWdlLmMKKysrIGIvc3JjL21lc3NhZ2UuYwpAQCAtMTUsNiArMTUsMTAgQEAKIAogI2luY2x1ZGUgInZpbS5oIgogCisjaWYgZGVmaW5lZChGRUFUX0ZMT0FUKSAmJiBkZWZpbmVkKEhBVkVfTUFUSF9IKQorIyBpbmNsdWRlIDxtYXRoLmg+CisjZW5kaWYKKwogc3RhdGljIGludCBvdGhlcl9zb3VyY2luZ19uYW1lIF9fQVJHUygodm9pZCkpOwogc3RhdGljIGNoYXJfdSAqZ2V0X2Vtc2dfc291cmNlIF9fQVJHUygodm9pZCkpOwogc3RhdGljIGNoYXJfdSAqZ2V0X2Vtc2dfbG51bSBfX0FSR1MoKHZvaWQpKTsKQEAgLTMxNCw3ICszMTgsNyBAQAogCiAgICAgLyogU2V0IHRoZSBtaWRkbGUgYW5kIGNvcHkgdGhlIGxhc3QgcGFydC4gKi8KICAgICBtY2hfbWVtbW92ZShidWYgKyBlLCAiLi4uIiwgKHNpemVfdCkzKTsKLSAgICBtY2hfbWVtbW92ZShidWYgKyBlICsgMywgcyArIGksIFNUUkxFTihzICsgaSkgKyAxKTsKKyAgICBTVFJNT1ZFKGJ1ZiArIGUgKyAzLCBzICsgaSk7CiB9CiAKIC8qCkBAIC02MDMsNyArNjA3LDcgQEAKICNlbmRpZgogCiAJLyoKLQkgKiBXaGVuIHVzaW5nICI6c2lsZW50ISBjbWQiIGlnbm9yZSBlcnJvciBtZXNzc2FnZXMuCisJICogV2hlbiB1c2luZyAiOnNpbGVudCEgY21kIiBpZ25vcmUgZXJyb3IgbWVzc2FnZXMuCiAJICogQnV0IGRvIHdyaXRlIGl0IHRvIHRoZSByZWRpcmVjdGlvbiBmaWxlLgogCSAqLwogCWlmIChlbXNnX3NpbGVudCAhPSAwKQpAQCAtODAzLDYgKzgwNyw4IEBACiAJcmV0dXJuIEZBSUw7CiAgICAgcCA9IGZpcnN0X21zZ19oaXN0OwogICAgIGZpcnN0X21zZ19oaXN0ID0gcC0+bmV4dDsKKyAgICBpZiAoZmlyc3RfbXNnX2hpc3QgPT0gTlVMTCkKKyAgICAgICAgbGFzdF9tc2dfaGlzdCA9IE5VTEw7ICAvKiBoaXN0b3J5IGlzIGVtcHR5ICovCiAgICAgdmltX2ZyZWUocC0+bXNnKTsKICAgICB2aW1fZnJlZShwKTsKICAgICAtLW1zZ19oaXN0X2xlbjsKQEAgLTExMzEsNiArMTEzNywxNyBAQAogCiAgICAgdmltX2ZyZWUoa2VlcF9tc2cpOwogICAgIGtlZXBfbXNnID0gTlVMTDsJCQkvKiBkb24ndCBkaXNwbGF5IG9sZCBtZXNzYWdlIG5vdyAqLworCisjaWZkZWYgRkVBVF9FVkFMCisgICAgaWYgKG5lZWRfY2xyX2VvcykKKyAgICB7CisJLyogSGFsZndheSBhbiAiOmVjaG8iIGNvbW1hbmQgYW5kIGdldHRpbmcgYW4gKGVycm9yKSBtZXNzYWdlOiBjbGVhcgorCSAqIGFueSB0ZXh0IGZyb20gdGhlIGNvbW1hbmQuICovCisJbmVlZF9jbHJfZW9zID0gRkFMU0U7CisJbXNnX2Nscl9lb3MoKTsKKyAgICB9CisjZW5kaWYKKwogICAgIGlmICghbXNnX3Njcm9sbCAmJiBmdWxsX3NjcmVlbikJLyogb3ZlcndyaXRlIGxhc3QgbWVzc2FnZSAqLwogICAgIHsKIAltc2dfcm93ID0gY21kbGluZV9yb3c7CkBAIC0zODE5LDYgKzM4MzYsOSBAQAogCiBzdGF0aWMgbG9uZyB0dl9uciBfX0FSR1MoKHR5cHZhbF9UICp0dnMsIGludCAqaWR4cCkpOwogc3RhdGljIGNoYXIgKnR2X3N0ciBfX0FSR1MoKHR5cHZhbF9UICp0dnMsIGludCAqaWR4cCkpOworIyBpZmRlZiBGRUFUX0ZMT0FUCitzdGF0aWMgZG91YmxlIHR2X2Zsb2F0IF9fQVJHUygodHlwdmFsX1QgKnR2cywgaW50ICppZHhwKSk7CisjIGVuZGlmCiAKIC8qCiAgKiBHZXQgbnVtYmVyIGFyZ3VtZW50IGZyb20gImlkeHAiIGVudHJ5IGluICJ0dnMiLiAgRmlyc3QgZW50cnkgaXMgMS4KQEAgLTM4NjUsNiArMzg4NSwzMiBAQAogICAgIH0KICAgICByZXR1cm4gczsKIH0KKworIyBpZmRlZiBGRUFUX0ZMT0FUCisvKgorICogR2V0IGZsb2F0IGFyZ3VtZW50IGZyb20gImlkeHAiIGVudHJ5IGluICJ0dnMiLiAgRmlyc3QgZW50cnkgaXMgMS4KKyAqLworICAgIHN0YXRpYyBkb3VibGUKK3R2X2Zsb2F0KHR2cywgaWR4cCkKKyAgICB0eXB2YWxfVAkqdHZzOworICAgIGludAkJKmlkeHA7Cit7CisgICAgaW50CQlpZHggPSAqaWR4cCAtIDE7CisgICAgZG91YmxlCWYgPSAwOworCisgICAgaWYgKHR2c1tpZHhdLnZfdHlwZSA9PSBWQVJfVU5LTk9XTikKKwlFTVNHKF8oZV9wcmludGYpKTsKKyAgICBlbHNlCisgICAgeworCSsrKmlkeHA7CisJaWYgKHR2c1tpZHhdLnZfdHlwZSA9PSBWQVJfRkxPQVQpCisJICAgIGYgPSB0dnNbaWR4XS52dmFsLnZfZmxvYXQ7CisJZWxzZQorCSAgICBFTVNHKF8oIkU4MDc6IEV4cGVjdGVkIEZsb2F0IGFyZ3VtZW50IGZvciBwcmludGYoKSIpKTsKKyAgICB9CisgICAgcmV0dXJuIGY7Cit9CisjIGVuZGlmCiAjZW5kaWYKIAogLyoKQEAgLTM4ODMsNiArMzkyOSw4IEBACiAgKiB3aXRoIGZsYWdzOiAnLScsICcrJywgJyAnLCAnMCcgYW5kICcjJy4KICAqIEFuIGFzdGVyaXNrIGlzIHN1cHBvcnRlZCBmb3IgZmllbGQgd2lkdGggYXMgd2VsbCBhcyBwcmVjaXNpb24uCiAgKgorICogTGltaXRlZCBzdXBwb3J0IGZvciBmbG9hdGluZyBwb2ludCB3YXMgYWRkZWQ6ICdmJywgJ2UnLCAnRScsICdnJywgJ0cnLgorICoKICAqIExlbmd0aCBtb2RpZmllcnMgJ2gnIChzaG9ydCBpbnQpIGFuZCAnbCcgKGxvbmcgaW50KSBhcmUgc3VwcG9ydGVkLgogICogJ2xsJyAobG9uZyBsb25nIGludCkgaXMgbm90IHN1cHBvcnRlZC4KICAqCkBAIC0zOTgzLDcgKzQwMzEsMTQgQEAKIAkgICAgY2hhciAgICBsZW5ndGhfbW9kaWZpZXIgPSAnXDAnOwogCiAJICAgIC8qIHRlbXBvcmFyeSBidWZmZXIgZm9yIHNpbXBsZSBudW1lcmljLT5zdHJpbmcgY29udmVyc2lvbiAqLwotCSAgICBjaGFyICAgIHRtcFszMl07CisjaWZkZWYgRkVBVF9GTE9BVAorIyBkZWZpbmUgVE1QX0xFTiAzNTAJLyogT24gbXkgc3lzdGVtIDFlMzA4IGlzIHRoZSBiaWdnZXN0IG51bWJlciBwb3NzaWJsZS4KKwkJCSAqIFRoYXQgc291bmRzIHJlYXNvbmFibGUgdG8gdXNlIGFzIHRoZSBtYXhpbXVtCisJCQkgKiBwcmludGFibGUuICovCisjZWxzZQorIyBkZWZpbmUgVE1QX0xFTiAzMgorI2VuZGlmCisJICAgIGNoYXIgICAgdG1wW1RNUF9MRU5dOwogCiAJICAgIC8qIHN0cmluZyBhZGRyZXNzIGluIGNhc2Ugb2Ygc3RyaW5nIGFyZ3VtZW50ICovCiAJICAgIGNoYXIgICAgKnN0cl9hcmc7CkBAIC00MTI0LDYgKzQxNzksNyBAQAogCQljYXNlICdEJzogZm10X3NwZWMgPSAnZCc7IGxlbmd0aF9tb2RpZmllciA9ICdsJzsgYnJlYWs7CiAJCWNhc2UgJ1UnOiBmbXRfc3BlYyA9ICd1JzsgbGVuZ3RoX21vZGlmaWVyID0gJ2wnOyBicmVhazsKIAkJY2FzZSAnTyc6IGZtdF9zcGVjID0gJ28nOyBsZW5ndGhfbW9kaWZpZXIgPSAnbCc7IGJyZWFrOworCQljYXNlICdGJzogZm10X3NwZWMgPSAnZic7IGJyZWFrOwogCQlkZWZhdWx0OiBicmVhazsKIAkgICAgfQogCkBAIC00NDU5LDYgKzQ1MTUsMTM2IEBACiAJCSAgICBicmVhazsKIAkJfQogCisjaWZkZWYgRkVBVF9GTE9BVAorCSAgICBjYXNlICdmJzoKKwkgICAgY2FzZSAnZSc6CisJICAgIGNhc2UgJ0UnOgorCSAgICBjYXNlICdnJzoKKwkgICAgY2FzZSAnRyc6CisJCXsKKwkJICAgIC8qIEZsb2F0aW5nIHBvaW50LiAqLworCQkgICAgZG91YmxlCWY7CisJCSAgICBkb3VibGUJYWJzX2Y7CisJCSAgICBjaGFyCWZvcm1hdFs0MF07CisJCSAgICBpbnQJCWw7CisJCSAgICBpbnQJCXJlbW92ZV90cmFpbGluZ196ZXJvZXMgPSBGQUxTRTsKKworCQkgICAgZiA9CisjIGlmbmRlZiBIQVZFX1NUREFSR19ICisJCQlnZXRfYV9hcmcoYXJnX2lkeCk7CisjIGVsc2UKKyMgIGlmIGRlZmluZWQoRkVBVF9FVkFMKQorCQkJdHZzICE9IE5VTEwgPyB0dl9mbG9hdCh0dnMsICZhcmdfaWR4KSA6CisjICBlbmRpZgorCQkJICAgIHZhX2FyZyhhcCwgZG91YmxlKTsKKyMgZW5kaWYKKwkJICAgIGFic19mID0gZiA8IDAgPyAtZiA6IGY7CisKKwkJICAgIGlmIChmbXRfc3BlYyA9PSAnZycgfHwgZm10X3NwZWMgPT0gJ0cnKQorCQkgICAgeworCQkJLyogV291bGQgYmUgbmljZSB0byB1c2UgJWcgZGlyZWN0bHksIGJ1dCBpdCBwcmludHMKKwkJCSAqICIxLjAiIGFzICIxIiwgd2UgZG9uJ3Qgd2FudCB0aGF0LiAqLworCQkJaWYgKChhYnNfZiA+PSAwLjAwMSAmJiBhYnNfZiA8IDEwMDAwMDAwLjApCisJCQkJCQkJICAgICAgfHwgYWJzX2YgPT0gMC4wKQorCQkJICAgIGZtdF9zcGVjID0gJ2YnOworCQkJZWxzZQorCQkJICAgIGZtdF9zcGVjID0gZm10X3NwZWMgPT0gJ2cnID8gJ2UnIDogJ0UnOworCQkJcmVtb3ZlX3RyYWlsaW5nX3plcm9lcyA9IFRSVUU7CisJCSAgICB9CisKKwkJICAgIGlmIChmbXRfc3BlYyA9PSAnZicgJiYgYWJzX2YgPiAxLjBlMzA3KQorCQkgICAgeworCQkJLyogQXZvaWQgYSBidWZmZXIgb3ZlcmZsb3cgKi8KKwkJCXN0cmNweSh0bXAsICJpbmYiKTsKKwkJCXN0cl9hcmdfbCA9IDM7CisJCSAgICB9CisJCSAgICBlbHNlCisJCSAgICB7CisJCQlmb3JtYXRbMF0gPSAnJSc7CisJCQlsID0gMTsKKwkJCWlmIChwcmVjaXNpb25fc3BlY2lmaWVkKQorCQkJeworCQkJICAgIHNpemVfdCBtYXhfcHJlYyA9IFRNUF9MRU4gLSAxMDsKKworCQkJICAgIC8qIE1ha2Ugc3VyZSB3ZSBkb24ndCBnZXQgbW9yZSBkaWdpdHMgdGhhbiB3ZQorCQkJICAgICAqIGhhdmUgcm9vbSBmb3IuICovCisJCQkgICAgaWYgKGZtdF9zcGVjID09ICdmJyAmJiBhYnNfZiA+IDEuMCkKKwkJCQltYXhfcHJlYyAtPSAoc2l6ZV90KWxvZzEwKGFic19mKTsKKwkJCSAgICBpZiAocHJlY2lzaW9uID4gbWF4X3ByZWMpCisJCQkJcHJlY2lzaW9uID0gbWF4X3ByZWM7CisJCQkgICAgbCArPSBzcHJpbnRmKGZvcm1hdCArIDEsICIuJWQiLCAoaW50KXByZWNpc2lvbik7CisJCQl9CisJCQlmb3JtYXRbbF0gPSBmbXRfc3BlYzsKKwkJCWZvcm1hdFtsICsgMV0gPSBOVUw7CisJCQlzdHJfYXJnX2wgPSBzcHJpbnRmKHRtcCwgZm9ybWF0LCBmKTsKKworCQkJaWYgKHJlbW92ZV90cmFpbGluZ196ZXJvZXMpCisJCQl7CisJCQkgICAgaW50IGk7CisJCQkgICAgY2hhciAqcDsKKworCQkJICAgIC8qIFVzaW5nICVnIG9yICVHOiByZW1vdmUgc3VwZXJmbHVvdXMgemVyb2VzLiAqLworCQkJICAgIGlmIChmbXRfc3BlYyA9PSAnZicpCisJCQkJcCA9IHRtcCArIHN0cl9hcmdfbCAtIDE7CisJCQkgICAgZWxzZQorCQkJICAgIHsKKwkJCQlwID0gKGNoYXIgKil2aW1fc3RyY2hyKChjaGFyX3UgKil0bXAsCisJCQkJCQkgZm10X3NwZWMgPT0gJ2UnID8gJ2UnIDogJ0UnKTsKKwkJCQlpZiAocCAhPSBOVUxMKQorCQkJCXsKKwkJCQkgICAgLyogUmVtb3ZlIHN1cGVyZmx1b3VzICcrJyBhbmQgbGVhZGluZworCQkJCSAgICAgKiB6ZXJvZXMgZnJvbSB0aGUgZXhwb25lbnQuICovCisJCQkJICAgIGlmIChwWzFdID09ICcrJykKKwkJCQkgICAgeworCQkJCQkvKiBDaGFuZ2UgIjEuMGUrMDciIHRvICIxLjBlMDciICovCisJCQkJCVNUUk1PVkUocCArIDEsIHAgKyAyKTsKKwkJCQkJLS1zdHJfYXJnX2w7CisJCQkJICAgIH0KKwkJCQkgICAgaSA9IChwWzFdID09ICctJykgPyAyIDogMTsKKwkJCQkgICAgd2hpbGUgKHBbaV0gPT0gJzAnKQorCQkJCSAgICB7CisJCQkJCS8qIENoYW5nZSAiMS4wZTA3IiB0byAiMS4wZTciICovCisJCQkJCVNUUk1PVkUocCArIGksIHAgKyBpICsgMSk7CisJCQkJCS0tc3RyX2FyZ19sOworCQkJCSAgICB9CisJCQkJICAgIC0tcDsKKwkJCQl9CisJCQkgICAgfQorCisJCQkgICAgaWYgKHAgIT0gTlVMTCAmJiAhcHJlY2lzaW9uX3NwZWNpZmllZCkKKwkJCQkvKiBSZW1vdmUgdHJhaWxpbmcgemVyb2VzLCBidXQga2VlcCB0aGUgb25lCisJCQkJICoganVzdCBhZnRlciBhIGRvdC4gKi8KKwkJCQl3aGlsZSAocCA+IHRtcCArIDIgJiYgKnAgPT0gJzAnICYmIHBbLTFdICE9ICcuJykKKwkJCQl7CisJCQkJICAgIFNUUk1PVkUocCwgcCArIDEpOworCQkJCSAgICAtLXA7CisJCQkJICAgIC0tc3RyX2FyZ19sOworCQkJCX0KKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCSAgICBjaGFyICpwOworCisJCQkgICAgLyogQmUgY29uc2lzdGVudDogc29tZSBwcmludGYoIiVlIikgdXNlIDEuMGUrMTIKKwkJCSAgICAgKiBhbmQgc29tZSAxLjBlKzAxMi4gIFJlbW92ZSBvbmUgemVybyBpbiB0aGUgbGFzdAorCQkJICAgICAqIGNhc2UuICovCisJCQkgICAgcCA9IChjaGFyICopdmltX3N0cmNocigoY2hhcl91ICopdG1wLAorCQkJCQkJIGZtdF9zcGVjID09ICdlJyA/ICdlJyA6ICdFJyk7CisJCQkgICAgaWYgKHAgIT0gTlVMTCAmJiAocFsxXSA9PSAnKycgfHwgcFsxXSA9PSAnLScpCisJCQkJCSAgJiYgcFsyXSA9PSAnMCcKKwkJCQkJICAmJiB2aW1faXNkaWdpdChwWzNdKQorCQkJCQkgICYmIHZpbV9pc2RpZ2l0KHBbNF0pKQorCQkJICAgIHsKKwkJCQlTVFJNT1ZFKHAgKyAyLCBwICsgMyk7CisJCQkJLS1zdHJfYXJnX2w7CisJCQkgICAgfQorCQkJfQorCQkgICAgfQorCQkgICAgc3RyX2FyZyA9IHRtcDsKKwkJICAgIGJyZWFrOworCQl9CisjZW5kaWYKKwogCSAgICBkZWZhdWx0OgogCQkvKiB1bnJlY29nbml6ZWQgY29udmVyc2lvbiBzcGVjaWZpZXIsIGtlZXAgZm9ybWF0IHN0cmluZwogCQkgKiBhcy1pcyAqLwpAQCAtNDU2Niw3ICs0NzUyLDggQEAKIAkgICAgaWYgKGp1c3RpZnlfbGVmdCkKIAkgICAgewogCQkvKiByaWdodCBibGFuayBwYWRkaW5nIHRvIHRoZSBmaWVsZCB3aWR0aCAqLwotCQlpbnQgcG4gPSAoaW50KShtaW5fZmllbGRfd2lkdGggLSAoc3RyX2FyZ19sICsgbnVtYmVyX29mX3plcm9zX3RvX3BhZCkpOworCQlpbnQgcG4gPSAoaW50KShtaW5fZmllbGRfd2lkdGgKKwkJCQkgICAgICAtIChzdHJfYXJnX2wgKyBudW1iZXJfb2ZfemVyb3NfdG9fcGFkKSk7CiAKIAkJaWYgKHBuID4gMCkKIAkJewpkaWZmIC0tZ2l0IGEvc3JjL25vcm1hbC5jIGIvc3JjL25vcm1hbC5jCmluZGV4IGQzY2U2YTguLjNjMWM2ZjAgMTAwNjQ0Ci0tLSBhL3NyYy9ub3JtYWwuYworKysgYi9zcmMvbm9ybWFsLmMKQEAgLTI0NjQsNiArMjQ2NCw4IEBACiAgICAgLyogQ2hlY2sgZm9yIGNsaWNraW5nIGluIHRoZSB0YWIgcGFnZSBsaW5lLiAqLwogICAgIGlmIChtb3VzZV9yb3cgPT0gMCAmJiBmaXJzdHdpbi0+d193aW5yb3cgPiAwKQogICAgIHsKKwlpZiAoaXNfZHJhZykKKwkgICAgcmV0dXJuIEZBTFNFOwogCWdvdF9jbGljayA9IEZBTFNFOwkvKiBpZ25vcmUgbW91c2UtdXAgYW5kIGRyYWcgZXZlbnRzICovCiAKIAkvKiBjbGljayBpbiBhIHRhYiBzZWxlY3RzIHRoYXQgdGFiIHBhZ2UgKi8KZGlmZiAtLWdpdCBhL3NyYy9vc19tYWMuaCBiL3NyYy9vc19tYWMuaAppbmRleCA2ZWZmZTEwLi43YTU0ZWU1IDEwMDY0NAotLS0gYS9zcmMvb3NfbWFjLmgKKysrIGIvc3JjL29zX21hYy5oCkBAIC0xMDksNiArMTA5LDcgQEAKICMgZGVmaW5lIEhBVkVfRkNOVExfSAogIyBkZWZpbmUgSEFWRV9RU09SVAogIyBkZWZpbmUgSEFWRV9TVF9NT0RFCQkvKiBoYXZlIHN0YXQuc3RfbW9kZSAqLworIyBkZWZpbmUgSEFWRV9NQVRIX0gKIAogIyBpZiBkZWZpbmVkKF9fREFURV9fKSAmJiBkZWZpbmVkKF9fVElNRV9fKQogIyAgZGVmaW5lIEhBVkVfREFURV9USU1FCkBAIC0yMTcsMTAgKzIxOCw3IEBACiAgKi8KICNkZWZpbmUgQ01EQlVGRlNJWkUgMTAyNAkvKiBzaXplIG9mIHRoZSBjb21tYW5kIHByb2Nlc3NpbmcgYnVmZmVyICovCiAKLSNpZiBkZWZpbmVkKE1BQ09TX1hfVU5JWCkKLSMgZGVmaW5lIE1BWFBBVEhMCTEwMjQKLSMgZGVmaW5lIEJBU0VOQU1FTEVOCShNQVhOQU1MRU4gLSA1KQkvKiBsZW5ndGggb2YgYmFzZSBvZiBmaWxlbmFtZSAqLwotI2Vsc2UKKyNpZiAhZGVmaW5lZChNQUNPU19YX1VOSVgpCiAjIGRlZmluZSBNQVhQQVRITAkyNTYJCS8qIExpbWl0ZWQgYnkgdGhlIFBhc2NhbCBTdHJpbmdzICovCiAjIGRlZmluZSBCQVNFTkFNRUxFTgkoMzItNS0xKQkvKiBsZW5ndGggb2YgYmFzZSBvZiBmaWxlbmFtZSAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9zcmMvcG8vZGUucG8gYi9zcmMvcG8vZGUucG8KaW5kZXggMTcxZGRjYS4uM2E4OTdmMiAxMDA2NDQKLS0tIGEvc3JjL3BvL2RlLnBvCisrKyBiL3NyYy9wby9kZS5wbwpAQCAtMTEsOCArMTEsOCBAQAogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBWaW0oZGV1dHNjaClcbiIKICJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNi0wNC0wMiAxMTozMCswMjAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAwNi0wNi0xOCAxMjozNCswMjAwXG4iCi0iTGFzdC1UcmFuc2xhdG9yOiBHZW9yZyBEYWhuIDxnb3JneWRAeWFob28uY28udWs+XG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAwOC0wNS0yNCAxNzoyNiswMjAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBHZW9yZyBEYWhuIDxnZW9yZy5kYWhuQGdtYWlsLmNvbT5cbiIKICJMYW5ndWFnZS1UZWFtOiBHZXJtYW4gPGRlQGxpLm9yZz5cbiIKICJNSU1FLVZlcnNpb246IDEuMFxuIgogIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU09fODg1OS0xXG4iCkBAIC0yNSwyMCArMjUsMjAgQEAKIG1zZ3N0ciAiRTgzOiBLYW5uIGRlbiBQdWZmZXIgbmljaHQgenV3ZWlzZW47IGJlbnV0emUgZWluZW4gYW5kZXJlbi4uLiIKIAogbXNnaWQgIkU1MTU6IE5vIGJ1ZmZlcnMgd2VyZSB1bmxvYWRlZCIKLW1zZ3N0ciAiRTUxNTogS2VpbmUgUHVmZmVyIHd1cmRlbiBhdXNnZWxhZGVuIgorbXNnc3RyICJFNTE1OiBLZWluZSBQdWZmZXIgd3VyZGVuIGVudGxhZGVuIgogCiBtc2dpZCAiRTUxNjogTm8gYnVmZmVycyB3ZXJlIGRlbGV0ZWQiCi1tc2dzdHIgIkU1MTY6IEtlaW5lIFB1ZmZlciB3dXJkZW4gZ2Vs9nNjaHQiCittc2dzdHIgIkU1MTY6IEtlaW5lIFB1ZmZlciB3dXJkZW4gdm9sbHN05G5kaWcgZ2Vs9nNjaHQiCiAKIG1zZ2lkICJFNTE3OiBObyBidWZmZXJzIHdlcmUgd2lwZWQgb3V0IgotbXNnc3RyICJFNTE3OiBLZWluZSBQdWZmZXIgd3VyZGVuIGdlbPZzY2h0IgorbXNnc3RyICJFNTE3OiBLZWluZSBQdWZmZXIgd3VyZGVuIHZvbGxzdORuZGlnIGdlbPZzY2h0IgogCiBtc2dpZCAiMSBidWZmZXIgdW5sb2FkZWQiCi1tc2dzdHIgImVpbiBQdWZmZXIgYXVzZ2VsYWRlbiIKK21zZ3N0ciAiZWluIFB1ZmZlciBlbnRsYWRlbiIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICIlZCBidWZmZXJzIHVubG9hZGVkIgotbXNnc3RyICIlZCBQdWZmZXIgYXVzZ2VsYWRlbiIKK21zZ3N0ciAiJWQgUHVmZmVyIGVudGxhZGVuIgogCiBtc2dpZCAiMSBidWZmZXIgZGVsZXRlZCIKIG1zZ3N0ciAiZWluIFB1ZmZlciBnZWz2c2NodCIKQEAgLTQ4LDExICs0OCwxMSBAQAogbXNnc3RyICIlZCBQdWZmZXIgZ2Vs9nNjaHQiCiAKIG1zZ2lkICIxIGJ1ZmZlciB3aXBlZCBvdXQiCi1tc2dzdHIgImVpbiBQdWZmZXIgZ2Vs9nNjaHQiCittc2dzdHIgImVpbiBQdWZmZXIgdm9sbHN05G5kaWcgZ2Vs9nNjaHQiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQgYnVmZmVycyB3aXBlZCBvdXQiCi1tc2dzdHIgIiVkIFB1ZmZlciBnZWz2c2NodCIKK21zZ3N0ciAiJWQgUHVmZmVyIHZvbGxzdORuZGlnIGdlbPZzY2h0IgogCiBtc2dpZCAiRTg0OiBObyBtb2RpZmllZCBidWZmZXIgZm91bmQiCiBtc2dzdHIgIkU4NDogS2VpbiB2ZXLkbmRlcnRlciBQdWZmZXIgZ2VmdW5kZW4iCkBAIC04NywxMSArODcsMTEgQEAKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFOTM6IE1vcmUgdGhhbiBvbmUgbWF0Y2ggZm9yICVzIgotbXNnc3RyICJFOTM6IE1laHIgYWxzIGVpbmUgTfZnbGljaGtlaXQgZvxyICVzIgorbXNnc3RyICJFOTM6IE1laHIgYWxzIGVpbiBUcmVmZmVyIGb8ciAlcyIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFOTQ6IE5vIG1hdGNoaW5nIGJ1ZmZlciBmb3IgJXMiCi1tc2dzdHIgIkU5NDogS2VpbiBQdWZmZXIgcGFzc3QgenUgJXMiCittc2dzdHIgIkU5NDogS2VpbiD8YmVyZWluc3RpbW1lbmRlciBQdWZmZXIgZvxyICVzIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgImxpbmUgJWxkIgpAQCAtMzM0LDE2ICszMzQsMTYgQEAKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFNzEyOiBBcmd1bWVudCBvZiAlcyBtdXN0IGJlIGEgTGlzdCBvciBEaWN0aW9uYXJ5IgotbXNnc3RyICJFNzEyOiBBcmd1bWVudCB2b24gJXMgbXVzcyBlaW5lIExpc3RlIG9kZXIgZWluIERpY3Rpb25hcnkiCittc2dzdHIgIkU3MTI6IEFyZ3VtZW50IHZvbiAlcyBtdXNzIGVpbmUgTGlzdGUgb2RlciBlaW4gV/ZydGVyYnVjaCIKIAogbXNnaWQgIkU3MTM6IENhbm5vdCB1c2UgZW1wdHkga2V5IGZvciBEaWN0aW9uYXJ5IgotbXNnc3RyICJFNzEzOiBEZXIgU2NobPxzc2VsIGb8ciBkYXMgRGljdGlvbmFyeSBkYXJmIG5pY2h0IGxlZXIgc2VpbiIKK21zZ3N0ciAiRTcxMzogRGVyIFNjaGz8c3NlbCBm/HIgZGFzIFf2cnRlcmJ1Y2ggZGFyZiBuaWNodCBsZWVyIHNlaW4iCiAKIG1zZ2lkICJFNzE0OiBMaXN0IHJlcXVpcmVkIgogbXNnc3RyICJFNzE0OiBMaXN0ZSBiZW72dGlndCIKIAogbXNnaWQgIkU3MTU6IERpY3Rpb25hcnkgcmVxdWlyZWQiCi1tc2dzdHIgIkU3MTU6IERpY3Rpb25hcnkgYmVu9nRpZ3QiCittc2dzdHIgIkU3MTU6IFf2cnRlcmJ1Y2ggYmVu9nRpZ3QiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTExODogVG9vIG1hbnkgYXJndW1lbnRzIGZvciBmdW5jdGlvbjogJXMiCkBAIC0zNTEsMjAgKzM1MSwyMCBAQAogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkU3MTY6IEtleSBub3QgcHJlc2VudCBpbiBEaWN0aW9uYXJ5OiAlcyIKLW1zZ3N0ciAiRTcxNjogU2NobPxzc2VsIG5pY2h0IHZvcmhhbmRlbiBpbSBEaWN0aW9uYXJ5OiAlcyIKK21zZ3N0ciAiRTcxNjogU2NobPxzc2VsIG5pY2h0IHZvcmhhbmRlbiBpbSBX9nJ0ZXJidWNoOiAlcyIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFMTIyOiBGdW5jdGlvbiAlcyBhbHJlYWR5IGV4aXN0cywgYWRkICEgdG8gcmVwbGFjZSBpdCIKIG1zZ3N0ciAiRTEyMjogRnVua3Rpb24gJXMgZXhpc3RpZXJ0IGJlcmVpdHM7IHp1bSBFcnNldHplbiAhIGhpbnp1ZvxnZW4iCiAKIG1zZ2lkICJFNzE3OiBEaWN0aW9uYXJ5IGVudHJ5IGFscmVhZHkgZXhpc3RzIgotbXNnc3RyICJFNzE3OiBEaWN0aW9uYXJ5LUVpbnRyYWcgZXhpc3RpZXJ0IGJlcmVpdHMiCittc2dzdHIgIkU3MTc6IFf2cnRlcmJ1Y2gtRWludHJhZyBleGlzdGllcnQgYmVyZWl0cyIKIAogbXNnaWQgIkU3MTg6IEZ1bmNyZWYgcmVxdWlyZWQiCi1tc2dzdHIgIkU3MTg6IEZ1bmNyZWYgYmVu9nRpZ3QiCittc2dzdHIgIkU3MTg6IEZ1bmt0aW9uc3JlZmVyZW56IGJlbvZ0aWd0IgogCiBtc2dpZCAiRTcxOTogQ2Fubm90IHVzZSBbOl0gd2l0aCBhIERpY3Rpb25hcnkiCi1tc2dzdHIgIkU3MTk6IEthbm4gWzpdIG5pY2h0IG1pdCBlaW5lbSBEaWN0aW9uYXJ5IHZlcndlbmRlbiIKK21zZ3N0ciAiRTcxOTogS2FubiBbOl0gbmljaHQgbWl0IGVpbmVtIFf2cnRlcmJ1Y2ggdmVyd2VuZGVuIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkU3MzQ6IFdyb25nIHZhcmlhYmxlIHR5cGUgZm9yICVzPSIKQEAgLTM5Miw3ICszOTIsNyBAQAogbXNnc3RyICJFNzM4OiBLYW5uIFZhcmlhYmxlbiBuaWNodCBhdWZsaXN0ZW46ICVzIgogCiBtc2dpZCAiRTY4OTogQ2FuIG9ubHkgaW5kZXggYSBMaXN0IG9yIERpY3Rpb25hcnkiCi1tc2dzdHIgIkU2ODk6IEthbm4gbnVyIExpc3RlbiB1bmQgRGljdGlvbmFyeXMgaW5kaXppZXJlbiIKK21zZ3N0ciAiRTY4OTogS2FubiBudXIgTGlzdGVuIHVuZCBX9nJ0ZXJi/GNoZXIgaW5kaXppZXJlbiIKIAogbXNnaWQgIkU3MDg6IFs6XSBtdXN0IGNvbWUgbGFzdCIKIG1zZ3N0ciAiRTcwODogWzpdIG11c3MgYW0gU2NobHVzcyBrb21tZW4iCkBAIC00MzAsMjIgKzQzMCwyMiBAQAogbXNnc3RyICJFNjkyOiBVbnp1bORzc2lnZSBPcGVyYXRpb24gZvxyIExpc3RlbiIKIAogbXNnaWQgIkU3MzU6IENhbiBvbmx5IGNvbXBhcmUgRGljdGlvbmFyeSB3aXRoIERpY3Rpb25hcnkiCi1tc2dzdHIgIkU3MzU6IEthbm4gbnVyIGVpbiBEaWN0aW9uYXJ5IG1pdCBlaW5lbSBEaWN0aW9uYXJ5IHZlcmdsZWljaGVuIgorbXNnc3RyICJFNzM1OiBLYW5uIG51ciBlaW4gV/ZydGVyYnVjaCBtaXQgZWluZW0gV/ZydGVyYnVjaCB2ZXJnbGVpY2hlbiIKIAogbXNnaWQgIkU3MzY6IEludmFsaWQgb3BlcmF0aW9uIGZvciBEaWN0aW9uYXJ5IgotbXNnc3RyICJFNzM2OiBVbnp1bORzc2lnZSBPcGVyYXRpb24gZvxyIGVpbiBEaWN0aW9uYXJ5IgorbXNnc3RyICJFNzM2OiBVbnp1bORzc2lnZSBPcGVyYXRpb24gZvxyIGVpbiBX9nJ0ZXJidWNoIgogCiBtc2dpZCAiRTY5MzogQ2FuIG9ubHkgY29tcGFyZSBGdW5jcmVmIHdpdGggRnVuY3JlZiIKLW1zZ3N0ciAiRTY5MzogS2FubiBudXIgZWluZSBGdW5jcmVmIG1pdCBlaW5lciBGdW5jcmVmIHZlcmdsZWljaGVuIgorbXNnc3RyICJFNjkzOiBLYW5uIG51ciBlaW5lIEZ1bmt0aW9uc3JlZmVyZW56IG1pdCBlaW5lciBGdW5rdGlvbnNyZWZlcmVueiB2ZXJnbGVpY2hlbiIKIAogbXNnaWQgIkU2OTQ6IEludmFsaWQgb3BlcmF0aW9uIGZvciBGdW5jcmVmcyIKLW1zZ3N0ciAiRTY5NDogVW56dWzkc3NpZ2UgT3BlcmF0aW9uIGb8ciBGdW5jcmVmcyIKK21zZ3N0ciAiRTY5NDogVW56dWzkc3NpZ2UgT3BlcmF0aW9uIGb8ciBGdW5rdGlvbnNyZWZlcmVuemVuIgogCiBtc2dpZCAiRTExMDogTWlzc2luZyAnKSciCiBtc2dzdHIgIkUxMTA6IEZlaGxlbmRlICcpJyIKIAogbXNnaWQgIkU2OTU6IENhbm5vdCBpbmRleCBhIEZ1bmNyZWYiCi1tc2dzdHIgIkU2OTU6IEthbm4ga2VpbmUgRnVuY3JlZiBpbmRpemllcmVuIgorbXNnc3RyICJFNjk1OiBLYW5uIGtlaW5lIEZ1bmt0aW9uc3JlZmVyZW56IGluZGl6aWVyZW4iCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTExMjogT3B0aW9uIG5hbWUgbWlzc2luZzogJXMiCkBAIC00NzMsMTkgKzQ3MywxOSBAQAogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkU3MjA6IE1pc3NpbmcgY29sb24gaW4gRGljdGlvbmFyeTogJXMiCi1tc2dzdHIgIkU3MjA6IEZlaGxlbmRlciBEb3BwZWxwdW5rdCBpbSBEaWN0aW9uYXJ5OiAlcyIKK21zZ3N0ciAiRTcyMDogRmVobGVuZGVyIERvcHBlbHB1bmt0IGltIFf2cnRlcmJ1Y2g6ICVzIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkU3MjE6IER1cGxpY2F0ZSBrZXkgaW4gRGljdGlvbmFyeTogXCIlc1wiIgotbXNnc3RyICJFNzIxOiBEb3BwZWx0ZXIgU2NobPxzc2VsIGltIERpY3Rpb25hcnk6IFwiJXNcIiIKK21zZ3N0ciAiRTcyMTogRG9wcGVsdGVyIFNjaGz8c3NlbCBpbSBX9nJ0ZXJidWNoOiBcIiVzXCIiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTcyMjogTWlzc2luZyBjb21tYSBpbiBEaWN0aW9uYXJ5OiAlcyIKLW1zZ3N0ciAiRTcyMjogRmVobGVuZGVzIEtvbW1hIGltIERpY3Rpb25hcnk6ICVzIgorbXNnc3RyICJFNzIyOiBGZWhsZW5kZXMgS29tbWEgaW0gV/ZydGVyYnVjaDogJXMiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTcyMzogTWlzc2luZyBlbmQgb2YgRGljdGlvbmFyeSAnfSc6ICVzIgotbXNnc3RyICJFNzIzOiBGZWhsZW5kZXMgRW5kZSBkZXMgRGljdGlvbmFyeXMgJ30nOiAlcyIKK21zZ3N0ciAiRTcyMzogRmVobGVuZGVzIEVuZGUgZGVzIFf2cnRlcmJ1Y2hzICd9JzogJXMiCiAKIG1zZ2lkICJFNzI0OiB2YXJpYWJsZSBuZXN0ZWQgdG9vIGRlZXAgZm9yIGRpc3BsYXlpbmciCiBtc2dzdHIgIkU3MjQ6IFZhcmlhYmxlIGlzdCB6dSB0aWVmIHZlcnNjaGFjaHRlbHQgZvxyIGRpZSBBbnplaWdlIgpAQCAtNDk0LDcgKzQ5NCw3IEBACiBtc2dzdHIgIkU2OTk6IFp1IHZpZWxlIEFyZ3VtZW50ZSIKIAogbXNnaWQgIkU3ODU6IGNvbXBsZXRlKCkgY2FuIG9ubHkgYmUgdXNlZCBpbiBJbnNlcnQgbW9kZSIKLW1zZ3N0ciAiRTc4NTogY29tcGxldGUoKSBrYW5uIG51ciBpbSBJbnNlcnQgTW9kdXMgdmVyd2VuZGV0IHdlcmRlbiIKK21zZ3N0ciAiRTc4NTogY29tcGxldGUoKSBrYW5uIG51ciBpbSBFaW5m/GdlLU1vZHVzIHZlcndlbmRldCB3ZXJkZW4iCiAKICMuCiAjLiAqIFllcyB0aGlzIGlzIHVnbHksIEkgZG9uJ3QgcGFydGljdWxhcmx5IGxpa2UgaXQgZWl0aGVyLiAgQnV0IGRvaW5nIGl0CkBAIC01NjcsMjYgKzU2NywyNiBAQAogbXNnc3RyICJFNjc3OiBGZWhsZXIgYmVpbSBTY2hyZWliZW4gZWluZXIgdGVtcG9y5HJlbiBEYXRlaSIKIAogbXNnaWQgIkU3MDM6IFVzaW5nIGEgRnVuY3JlZiBhcyBhIG51bWJlciIKLW1zZ3N0ciAiRTcwMzogRnVuY3JlZiBhbHMgWmFobCB2ZXJ3ZW5kZXQiCittc2dzdHIgIkU3MDM6IEZ1bmt0aW9uc3JlZmVyZW56IGFscyBaYWhsIHZlcndlbmRldCIKIAogbXNnaWQgIkU3NDU6IFVzaW5nIGEgTGlzdCBhcyBhIG51bWJlciIKIG1zZ3N0ciAiRTc0NTogTGlzdGUgYWxzIFphaGwgdmVyd2VuZGV0IgogCiBtc2dpZCAiRTcyODogVXNpbmcgYSBEaWN0aW9uYXJ5IGFzIGEgbnVtYmVyIgotbXNnc3RyICJFNzI4OiBEaWN0aW9uYXJ5IGFscyBaYWhsIHZlcndlbmRldCIKK21zZ3N0ciAiRTcyODogV/ZydGVyYnVjaCBhbHMgWmFobCB2ZXJ3ZW5kZXQiCiAKIG1zZ2lkICJFNzI5OiB1c2luZyBGdW5jcmVmIGFzIGEgU3RyaW5nIgotbXNnc3RyICJFNzI5OiBGdW5jcmVmIGFscyBTdHJpbmcgdmVyd2VuZGV0IgorbXNnc3RyICJFNzI5OiBGdW5rdGlvbnNyZWZlcmVueiBhbHMgU3RyaW5nIHZlcndlbmRldCIKIAogbXNnaWQgIkU3MzA6IHVzaW5nIExpc3QgYXMgYSBTdHJpbmciCiBtc2dzdHIgIkU3MzA6IExpc3RlIGFscyBTdHJpbmcgdmVyd2VuZGV0IgogCiBtc2dpZCAiRTczMTogdXNpbmcgRGljdGlvbmFyeSBhcyBhIFN0cmluZyIKLW1zZ3N0ciAiRTczMTogRGljdGlvbmFyeSBhbHMgU3RyaW5nIHZlcndlbmRldCIKK21zZ3N0ciAiRTczMTogV/ZydGVyYnVjaCBhbHMgU3RyaW5nIHZlcndlbmRldCIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFNzA0OiBGdW5jcmVmIHZhcmlhYmxlIG5hbWUgbXVzdCBzdGFydCB3aXRoIGEgY2FwaXRhbDogJXMiCi1tc2dzdHIgIkU3MDQ6IEZ1bmNyZWYgVmFyaWFibGUgbXVzcyBtaXQgZWluZW0gR3Jv32J1Y2hzdGFiZW4gYmVnaW5uZW46ICVzIgorbXNnc3RyICJFNzA0OiBGdW5rdGlvbnNyZWZlcmVuei1WYXJpYWJsZSBtdXNzIG1pdCBlaW5lbSBHcm/fYnVjaHN0YWJlbiBiZWdpbm5lbjogJXMiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTcwNTogVmFyaWFibGUgbmFtZSBjb25mbGljdHMgd2l0aCBleGlzdGluZyBmdW5jdGlvbjogJXMiCkBAIC02MjMsNyArNjIzLDcgQEAKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFNzQ2OiBGdW5jdGlvbiBuYW1lIGRvZXMgbm90IG1hdGNoIHNjcmlwdCBmaWxlIG5hbWU6ICVzIgotbXNnc3RyICJFNzQ2OiBGdW5rdGlvbnNuYW1lIHN0aW1tdCBuaWNodCBtaXQgZGVtIE5hbWVuIGRlciBTa3JpcHQtRGF0ZWkg/GJlcmVpbjogJXMiCittc2dzdHIgIkU3NDY6IEZ1bmt0aW9uc25hbWUgc3RpbW10IG1pdCBkZW0gTmFtZW4gZGVyIFNrcmlwdC1EYXRlaSBuaWNodCD8YmVyZWluOiAlcyIKIAogbXNnaWQgIkUxMjk6IEZ1bmN0aW9uIG5hbWUgcmVxdWlyZWQiCiBtc2dzdHIgIkUxMjk6IEZ1bmt0aW9uc25hbWUgd2lyZCB2ZXJsYW5ndCIKQEAgLTExNzAsNyArMTE3MCw3IEBACiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTE4NTogQ2Fubm90IGZpbmQgY29sb3Igc2NoZW1lICVzIgotbXNnc3RyICJFMTg1OiBaZWlsZSAlcyBrYW5uIG5pY2h0IGdlZnVuZGVuIHdlcmRlbiIKK21zZ3N0ciAiRTE4NTogS2FubiBGYXJic2NoZW1hICVzIG5pY2h0IGZpbmRlbiIKIAogbXNnaWQgIkdyZWV0aW5ncywgVmltIHVzZXIhIgogbXNnc3RyICJIZXJ6bGljaGUgR3L832UsIFZpbSBCZW51dHplciEiCkBAIC0xMjY5LDcgKzEyNjksNyBAQAogbXNnc3RyICJFMTk1OiB2aW1pbmZvIGthbm4gbmljaHQgenVtIExlc2VuIGdl9mZmbmV0IHdlcmRlbiIKIAogbXNnaWQgIkUxOTY6IE5vIGRpZ3JhcGhzIGluIHRoaXMgdmVyc2lvbiIKLW1zZ3N0ciAiRTE5NiBLZWluZSBEaWdyYXBoZW4gaW4gZGllc2VyIFZlcnNpb24iCittc2dzdHIgIkUxOTY6IEtlaW5lIERpZ3JhcGhlbiBpbiBkaWVzZXIgVmVyc2lvbiIKIAogbXNnaWQgIkU2MDg6IENhbm5vdCA6dGhyb3cgZXhjZXB0aW9ucyB3aXRoICdWaW0nIHByZWZpeCIKIG1zZ3N0ciAiRTYwODogS2FubiBuaWNodCA6dGhyb3cgRXhjZXB0aW9ucyBtaXQgJ1ZpbScgUHLkZml4IgpAQCAtMTUwNCw3ICsxNTA0LDcgQEAKIG1zZ3N0ciAiRTY3NjogS2VpbmUg/GJlcmVpbnN0aW1tZW5kZW4gQXV0b2tvbW1hbmRvcyBm/HIgYWN3cml0ZSBQdWZmZXIiCiAKIG1zZ2lkICJFMjAzOiBBdXRvY29tbWFuZHMgZGVsZXRlZCBvciB1bmxvYWRlZCBidWZmZXIgdG8gYmUgd3JpdHRlbiIKLW1zZ3N0ciAiRTIwMzogQXV0b2tvbW1hbmRvcyBoYWJlbiBkZW4genUgc2NocmVpYmVuZGVuIFB1ZmZlciBnZWz2c2NodCBvZGVyIGhlcmF1cyBnZWxhZGVuIgorbXNnc3RyICJFMjAzOiBBdXRva29tbWFuZG9zIGhhYmVuIGRlbiB6dSBzY2hyZWliZW5kZW4gUHVmZmVyIGdlbPZzY2h0IG9kZXIgZW50bGFkZW4iCiAKIG1zZ2lkICJFMjA0OiBBdXRvY29tbWFuZCBjaGFuZ2VkIG51bWJlciBvZiBsaW5lcyBpbiB1bmV4cGVjdGVkIHdheSIKIG1zZ3N0ciAiRTIwNDogQXV0b2tvbW1hbmRvcyBoYWJlbiBkaWUgQW56YWhsIGRlciBaZWlsZW4gaW4gdW5lcndhcnRldGVyIFdlaXNlIHZlcuRuZGVydCIKQEAgLTE4OTQsMjEgKzE4OTQsMjEgQEAKIAogIy4gd2hvbGUgd29yZCBvbmx5IGJ1dHRvbgogbXNnaWQgIk1hdGNoIHdob2xlIHdvcmQgb25seSIKLW1zZ3N0ciAi3GJlcmVpbnN0aW1tdW5nIG51ciBtaXQgZ2FuemVuIFf2cnRlcm4iCittc2dzdHIgIk51ciBnYW56ZXMgV29ydCBzdWNoZW4iCiAKICMuIG1hdGNoIGNhc2UgYnV0dG9uCiBtc2dpZCAiTWF0Y2ggY2FzZSIKLW1zZ3N0ciAiS2xlaW4tL0dyb99zY2hyZWlidW5nIGJlYWNodGVuIgorbXNnc3RyICJHcm/fLS9LbGVpbnNjaHJlaWJ1bmciCiAKIG1zZ2lkICJEaXJlY3Rpb24iCiBtc2dzdHIgIlJpY2h0dW5nIgogCiAjLiAnVXAnIGFuZCAnRG93bicgYnV0dG9ucwogbXNnaWQgIlVwIgotbXNnc3RyICJBdWYiCittc2dzdHIgIkF1ZnfkcnRzIgogCiBtc2dpZCAiRG93biIKLW1zZ3N0ciAiQWIiCittc2dzdHIgIkFid+RydHMiCiAKIG1zZ2lkICJGaW5kIE5leHQiCiBtc2dzdHIgIlN1Y2hlIE7kY2hzdGVzIgpAQCAtMjI2OCw3ICsyMjY4LDcgQEAKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFMjU5OiBubyBtYXRjaGVzIGZvdW5kIGZvciBjc2NvcGUgcXVlcnkgJXMgb2YgJXMiCi1tc2dzdHIgIkUyNTk6IGtlaW5lIFRyZWZmZXIgZ2VmdW5kZW4gZvxyIGNzY29wZSBBbmZyYWdlbiAlcyBhdXMgJXMiCittc2dzdHIgIkUyNTk6IGtlaW5lINxiZXJlaW5zdGltbXVuZ2VuIGdlZnVuZGVuIGb8ciBjc2NvcGUgQWJmcmFnZSAlcyBhdXMgJXMiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTQ2OTogaW52YWxpZCBjc2NvcGVxdWlja2ZpeCBmbGFnICVjIGZvciAlYyIKQEAgLTI3OTAsNyArMjc5MCw3IEBACiBtc2dzdHIgIi1WW05dXHRcdFZlcmJvc2UgU3R1ZmUiCiAKIG1zZ2lkICItRFx0XHRcdERlYnVnZ2luZyBtb2RlIgotbXNnc3RyICItRFx0XHRcdERlYnVnIE1vZHVzIgorbXNnc3RyICItRFx0XHRcdERlYnVnLU1vZHVzIgogCiBtc2dpZCAiLW5cdFx0XHRObyBzd2FwIGZpbGUsIHVzZSBtZW1vcnkgb25seSIKIG1zZ3N0ciAiLW5cdFx0XHRLZWluZSBBdXNsYWdlcnVuZ3NkYXRlaSwgdmVyd2VuZGUgbnVyIFNwZWljaGVyIgpAQCAtMzM4Myw3ICszMzgzLDcgQEAKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFMzE2OiBtbF9nZXQ6IGNhbm5vdCBmaW5kIGxpbmUgJWxkIgotbXNnc3RyICJFMzE2OiBtbF9nZXQ6IFplaWxlICVsZCBrYW5uIG5pY2h0IGdlZnVuZGVuIHdlcmRlbiIKK21zZ3N0ciAiRTMxNjogbWxfZ2V0OiBrYW5uIFplaWxlICVsZCBuaWNodCBmaW5kZW4iCiAKIG1zZ2lkICJFMzE3OiBwb2ludGVyIGJsb2NrIGlkIHdyb25nIDMiCiBtc2dzdHIgIkUzMTc6IFplaWdlciBCbG9jayBpZCBmYWxzY2ggMyIKQEAgLTM0MDIsNyArMzQwMiw3IEBACiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTMyMDogQ2Fubm90IGZpbmQgbGluZSAlbGQiCi1tc2dzdHIgIkUzMjA6IFplaWxlICVsZCBrYW5uIG5pY2h0IGdlZnVuZGVuIHdlcmRlbiIKK21zZ3N0ciAiRTMyMDogS2FubiBaZWlsZSAlbGQgbmljaHQgZmluZGVuIgogCiBtc2dpZCAiRTMxNzogcG9pbnRlciBibG9jayBpZCB3cm9uZyIKIG1zZ3N0ciAiRTMxNzogWmVpZ2VyIEJsb2NrIGlkIGlzdCBmYWxzY2giCkBAIC0zNzQ4LDExICszNzQ4LDExIEBACiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTM0NDogQ2FuJ3QgZmluZCBkaXJlY3RvcnkgXCIlc1wiIGluIGNkcGF0aCIKLW1zZ3N0ciAiRTM0NDogVmVyemVpY2huaXMgXCIlc1wiIGthbm4gaW0gJ2NkcGF0aCcgbmljaHQgZ2VmdW5kZW4gd2VyZGVuIgorbXNnc3RyICJFMzQ0OiBLYW5uIFZlcnplaWNobmlzIFwiJXNcIiBuaWNodCBpbSAnY2RwYXRoJyBmaW5kZW4iCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTM0NTogQ2FuJ3QgZmluZCBmaWxlIFwiJXNcIiBpbiBwYXRoIgotbXNnc3RyICJFMzQ1OiBEYXRlaSBcIiVzXCIga2FubiBpbSBQZmFkIG5pY2h0IGdlZnVuZGVuIHdlcmRlbiIKK21zZ3N0ciAiRTM0NTogS2FubiBEYXRlaSBcIiVzXCIgbmljaHQgaW0gUGZhZCBmaW5kZW4iCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTM0NjogTm8gbW9yZSBkaXJlY3RvcnkgXCIlc1wiIGZvdW5kIGluIGNkcGF0aCIKQEAgLTM3ODQsNyArMzc4NCw3IEBACiBtc2dzdHIgIkU1MDU6ICIKIAogbXNnaWQgIkU3NzQ6ICdvcGVyYXRvcmZ1bmMnIGlzIGVtcHR5IgotbXNnc3RyICJFNzc1OiAnb3BlcmF0b3JmdW5jJyBpcyBlbXB0eSIKK21zZ3N0ciAiRTc3NDogJ29wZXJhdG9yZnVuYycgaXMgZW1wdHkiCiAKIG1zZ2lkICJFNzc1OiBFdmFsIGZlYXR1cmUgbm90IGF2YWlsYWJsZSIKIG1zZ3N0ciAiRTc3NTogRXZhbHVpZXJ1bmdzZnVua3Rpb24gbmljaHQgdmVyZvxnYmFyIgpAQCAtNDM4OCwxOSArNDM4OCwxOSBAQAogbXNnc3RyICJFNTE6IFp1IHZpZWxlICVzKCIKIAogbXNnaWQgIkU1MjogVW5tYXRjaGVkIFxceigiCi1tc2dzdHIgIkU1MjogXFx6KCBvaG5lINxiZXJlaW5zdGltbXVuZyIKK21zZ3N0ciAiRTUyOiBcXHooIG9obmUgR2VnZW5zdPxjayIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFNTM6IFVubWF0Y2hlZCAlcyUlKCIKLW1zZ3N0ciAiRTUzOiAlcyUlKCBvaG5lINxiZXJlaW5zdGltbXVuZyIKK21zZ3N0ciAiRTUzOiAlcyUlKCBvaG5lIEdlZ2Vuc3T8Y2siCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTU0OiBVbm1hdGNoZWQgJXMoIgotbXNnc3RyICJFNTQ6ICVzKCBvaG5lINxiZXJlaW5zdGltbXVuZyIKK21zZ3N0ciAiRTU0OiAlcyggb2huZSBHZWdlbnN0/GNrIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkU1NTogVW5tYXRjaGVkICVzKSIKLW1zZ3N0ciAiRTU1OiAlcykgb2huZSDcYmVyZWluc3RpbW11bmciCittc2dzdHIgIkU1NTogJXMpIG9obmUgR2VnZW5zdPxjayIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFNTk6IGludmFsaWQgY2hhcmFjdGVyIGFmdGVyICVzQCIKQEAgLTQ1NTQsMzIgKzQ1NTQsMzIgQEAKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJTY2FubmluZyBpbmNsdWRlZCBmaWxlOiAlcyIKLW1zZ3N0ciAiU2Nhbm5lIGVpbmdlZvxndGUgRGF0ZWk6ICVzIgorbXNnc3RyICJEdXJjaHN1Y2hlIGlua2x1ZGllcnRlIERhdGVpOiAlcyIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJTZWFyY2hpbmcgaW5jbHVkZWQgZmlsZSAlcyIKLW1zZ3N0ciAiU3VjaGUgZWluZ2Vm/Gd0ZSBEYXRlaSAlcyIKK21zZ3N0ciAiU3VjaGUgaW5rbHVkaWVydGUgRGF0ZWkgJXMiCiAKIG1zZ2lkICJFMzg3OiBNYXRjaCBpcyBvbiBjdXJyZW50IGxpbmUiCiBtc2dzdHIgIkUzODc6IFRyZWZmZXIgaXN0IGF1ZiBkZXIgbW9tZW50YW5lbiBaZWlsZSIKIAogbXNnaWQgIkFsbCBpbmNsdWRlZCBmaWxlcyB3ZXJlIGZvdW5kIgotbXNnc3RyICJBbGxlIGVpbmdlZvxndGVuIERhdGVpZW4gd3VyZGVuIGdlZnVuZGVuIgorbXNnc3RyICJBbGxlIGlua2x1ZGllcnRlbiBEYXRlaWVuIHd1cmRlbiBnZWZ1bmRlbiIKIAogbXNnaWQgIk5vIGluY2x1ZGVkIGZpbGVzIgotbXNnc3RyICJLZWluZSBlaW5nZWb8Z3RlbiBEYXRlaWVuIgorbXNnc3RyICJLZWluZSBpbmtsdWRpZXJ0ZW4gRGF0ZWllbiIKIAogbXNnaWQgIkUzODg6IENvdWxkbid0IGZpbmQgZGVmaW5pdGlvbiIKLW1zZ3N0ciAiRTM4ODogRGVmaW5pdGlvbiBrb25udGUgbmljaHQgZ2VmdW5kZW4gd2VyZGVuIgorbXNnc3RyICJFMzg4OiBLb25udGUgRGVmaW5pdGlvbiBuaWNodCBmaW5kZW4iCiAKIG1zZ2lkICJFMzg5OiBDb3VsZG4ndCBmaW5kIHBhdHRlcm4iCi1tc2dzdHIgIkUzODk6IE11c3RlciBrb25udGUgbmljaHQgZ2VmdW5kZW4gd2VyZGVuIgorbXNnc3RyICJFMzg5OiBLb25udGUgTXVzdGVyIG5pY2h0IGZpbmRlbiIKIAogbXNnaWQgIkU3NTk6IEZvcm1hdCBlcnJvciBpbiBzcGVsbCBmaWxlIgogbXNnc3RyICJFNzU5OiBGb3JtYXQtRmVobGVyIGltIFJlY2h0c2NocmVpYnf2cnRlcmJ1Y2giCiAKIG1zZ2lkICJFNzU4OiBUcnVuY2F0ZWQgc3BlbGwgZmlsZSIKLW1zZ3N0ciAiRTc1OCBBYmdlc2Nobml0dGVuZXMgUmVjaHRzY2hyZWlid/ZydGVyYnVjaCIKK21zZ3N0ciAiRTc1ODogQWJnZXNjaG5pdHRlbmVzIFJlY2h0c2NocmVpYnf2cnRlcmJ1Y2giCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHJhaWxpbmcgdGV4dCBpbiAlcyBsaW5lICVkOiAlcyIKQEAgLTQ2MTAsMTYgKzQ2MTAsMTYgQEAKIG1zZ3N0ciAiTGVzZSBSZWNodHNjaHJlaWJ39nJ0ZXJidWNoIFwiJXNcIiBlaW4iCiAKIG1zZ2lkICJFNzU3OiBUaGlzIGRvZXMgbm90IGxvb2sgbGlrZSBhIHNwZWxsIGZpbGUiCi1tc2dzdHIgIkU3NTc6IERhcyBzaWVodCBuaWNodCBuYWNoIGVpbmVtIFf2cnRlcmJ1Y2ggZvxyIGRpZSBSZWNodHNjaHJlaWJwcvxmdW5nIGF1cyIKK21zZ3N0ciAiRTc1NzogRGFzIHNpZWh0IG5pY2h0IG5hY2ggZWluZW0gUmVjaHRzY2hyZWlid/ZydGVyYnVjaCBhdXMiCiAKIG1zZ2lkICJFNzcxOiBPbGQgc3BlbGwgZmlsZSwgbmVlZHMgdG8gYmUgdXBkYXRlZCIKLW1zZ3N0ciAiRTc3MTogQWx0ZXMgV/ZydGVyYnVjaCBm/HIgZGllIFJlY2h0c2NocmVpYnBy/GZ1bmcsIGJlbvZ0aWd0IEFrdHVhbGlzaWVydW5nIgorbXNnc3RyICJFNzcxOiBBbHRlcyBSZWNodHNjaHJlaWJ39nJ0ZXJidWNoLCBiZW72dGlndCBBa3R1YWxpc2llcnVuZyIKIAogbXNnaWQgIkU3NzI6IFNwZWxsIGZpbGUgaXMgZm9yIG5ld2VyIHZlcnNpb24gb2YgVmltIgotbXNnc3RyICJFNzcyOiBX9nJ0ZXJidWNoIGb8ciBkaWUgUmVjaHRzY2hyZWlicHL8ZnVuZyBpc3QgZvxyIGVpbmUgbmV1ZXJlIFZlcnNpb24gdm9uIFZpbSIKK21zZ3N0ciAiRTc3MjogUmVjaHRzY2hyZWlid/ZydGVyYnVjaCBpc3QgZvxyIGVpbmUgbmV1ZXJlIFZlcnNpb24gdm9uIFZpbSIKIAogbXNnaWQgIkU3NzA6IFVuc3VwcG9ydGVkIHNlY3Rpb24gaW4gc3BlbGwgZmlsZSIKLW1zZ3N0ciAiRTc3MDogTmljaHQgdW50ZXJzdPx0enRlciBBYnNjaG5pdHQgaW0gV/ZydGVyYnVjaCBm/HIgZGllIFJlY2h0c2NocmVpYnBy/GZ1bmciCittc2dzdHIgIkU3NzA6IE5pY2h0IHVudGVyc3T8dHp0ZXIgQWJzY2huaXR0IGltIFJlY2h0c2NocmVpYnf2cnRlcmJ1Y2giCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiV2FybmluZzogcmVnaW9uICVzIG5vdCBzdXBwb3J0ZWQiCkBAIC00OTg3LDcgKzQ5ODcsNyBAQAogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUzOTQ6IERpZG4ndCBmaW5kIHJlZ2lvbiBpdGVtIGZvciAlcyIKLW1zZ3N0ciAiRTM5NDogXCJyZWdpb25cIi1FbGVtZW50IGb8ciBcIiVzXCIga29ubnRlIG5pY2h0IGdlZnVuZGVuIHdlcmRlbiIKK21zZ3N0ciAiRTM5NDogS29ubnRlIGtlaW4gXCJyZWdpb25cIi1FbGVtZW50IGb8ciBcIiVzXCIgZmluZGVuIgogCiBtc2dpZCAiRTM5NTogY29udGFpbnMgYXJndW1lbnQgbm90IGFjY2VwdGVkIGhlcmUiCiBtc2dzdHIgIkUzOTU6IFwiY29udGFpbnNcIi1Bcmd1bWVudCBpc3QgYW4gZGllc2VyIFN0ZWxsZSB1bmf8bHRpZyIKQEAgLTUwNjUsMTAgKzUwNjUsMTAgQEAKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFNDEzOiBUb28gbWFueSBhcmd1bWVudHM6IFwiOmhpZ2hsaWdodCBsaW5rICVzXCIiCi1tc2dzdHIgIkU0MTI6IFp1IHZpZWxlIEFyZ3VtZW50ZTogXCI6aGlnaGxpZ2h0IGxpbmsgJXNcIiIKK21zZ3N0ciAiRTQxMzogWnUgdmllbGUgQXJndW1lbnRlOiBcIjpoaWdobGlnaHQgbGluayAlc1wiIgogCiBtc2dpZCAiRTQxNDogZ3JvdXAgaGFzIHNldHRpbmdzLCBoaWdobGlnaHQgbGluayBpZ25vcmVkIgotbXNnc3RyICJFNDE0OiBHcnVwcGUgaGF0IEVpbnN0ZWxsdW5nZW4sIFVudGVyc3RyZWljaHVuZyBMaW5rIGlnbm9yaWVydCIKK21zZ3N0ciAiRTQxNDogR3J1cHBlIGhhdCBFaW5zdGVsbHVuZ2VuLCBoaWdobGlnaHQgbGluayBpZ25vcmllcmVuIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkU0MTU6IHVuZXhwZWN0ZWQgZXF1YWwgc2lnbjogJXMiCkBAIC01MTI0LDcgKzUxMjQsNyBAQAogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkU0MjY6IHRhZyBub3QgZm91bmQ6ICVzIgotbXNnc3RyICJFNDI2OiBUYWcgXCIlc1wiIGtvbm50ZSBuaWNodCBnZWZ1bmRlbiB3ZXJkZW4iCittc2dzdHIgIkU0MjY6IEtvbm50ZSBUYWcgXCIlc1wiIG5pY2h0IGZpbmRlbiIKIAogbXNnaWQgIiAgIyBwcmkga2luZCB0YWciCiBtc2dzdHIgIiAgICMgcHJpIHZlcncuIHRhZyIKQEAgLTUxOTAsMTAgKzUxOTAsMTAgQEAKIG1zZ3N0ciAiRTQzMzogS2VpbmUgVGFnLURhdGVpIgogCiBtc2dpZCAiRTQzNDogQ2FuJ3QgZmluZCB0YWcgcGF0dGVybiIKLW1zZ3N0ciAiRTQzNDogVGFnLU11c3RlciBrYW5uIG5pY2h0IGdlZnVuZGVuIHdlcmRlbiIKK21zZ3N0ciAiRTQzNDogS2FubiBUYWctTXVzdGVyIG5pY2h0IGZpbmRlbiIKIAogbXNnaWQgIkU0MzU6IENvdWxkbid0IGZpbmQgdGFnLCBqdXN0IGd1ZXNzaW5nISIKLW1zZ3N0ciAiRTQzNTogVGFnIGtvbm50ZSBuaWNodCBnZWZ1bmRlbiB3ZXJkZW4sIGRhcyBpc3QgbnVyIGVpbmUgVmVybXV0dW5nISIKK21zZ3N0ciAiRTQzNTogS29ubnRlIFRhZyBt9mdsaWNoZXJ3ZWlzZSBuaWNodCBmaW5kZW4hIgogCiBtc2dpZCAiJyBub3Qga25vd24uIEF2YWlsYWJsZSBidWlsdGluIHRlcm1pbmFscyBhcmU6IgogbXNnc3RyICInIG5pY2h0IGJla2FubnQuIERpZSBmb2xnZW5kZW4gZWluZ2ViYXV0ZW4gVGVybWluYWxzIHN0ZWhlbiB6dXIgVmVyZvxndW5nOiIKQEAgLTUyMDUsMTQgKzUyMDUsMTQgQEAKIG1zZ3N0ciAiRTU1NzogVGVybWNhcC1EYXRlaSBrYW5uIG5pY2h0IGdl9mZmbmV0IHdlcmRlbiIKIAogbXNnaWQgIkU1NTg6IFRlcm1pbmFsIGVudHJ5IG5vdCBmb3VuZCBpbiB0ZXJtaW5mbyIKLW1zZ3N0ciAiRTU1ODogVGVybWluYWwtRWludHJhZyBrb25udGUgaW4gZGVyIFRlcm1pbmZvLURhdGVuYmFuayBuaWNodCBnZWZ1bmRlbiB3ZXJkZW4iCittc2dzdHIgIkU1NTg6IEtlaW4gVGVybWluYWwtRWludHJhZyBpbiBkZXIgVGVybWluZm8tRGF0ZW5iYW5rIGdlZnVuZGVuIgogCiBtc2dpZCAiRTU1OTogVGVybWluYWwgZW50cnkgbm90IGZvdW5kIGluIHRlcm1jYXAiCi1tc2dzdHIgIkU1NTk6IFRlcm1pbmFsZWludHJhZyBrb25udGUgaW4gZGVyIFRlcm1jYXAtRGF0ZWkgbmljaHQgZ2VmdW5kZW4gd2VyZGVuIgorbXNnc3RyICJFNTU5OiBLZWluIFRlcm1pbmFsLUVpbnRyYWcgaW4gZGVyIFRlcm1jYXAtRGF0ZWkgZ2VmdW5kZW4iCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTQzNjogTm8gXCIlc1wiIGVudHJ5IGluIHRlcm1jYXAiCi1tc2dzdHIgIkU0MzY6IEtlaW4gXCIlc1wiIEVpbnRyYWcgaW4gdGVybWNhcCIKK21zZ3N0ciAiRTQzNjogS2VpbiBcIiVzXCIgRWludHJhZyBpbiBkZXIgVGVybWNhcC1EYXRlaSIKIAogbXNnaWQgIkU0Mzc6IHRlcm1pbmFsIGNhcGFiaWxpdHkgXCJjbVwiIHJlcXVpcmVkIgogbXNnc3RyICJFNDM3OiBUZXJtaW5hbGbkaGlna2VpdCBcImNtXCIgd2lyZCBiZW72dGlndCIKQEAgLTUyMzIsNyArNTIzMiw3IEBACiBtc2dzdHIgIlZpbTogRmVobGVyIGJlaW0gTGVzZW4gZGVyIEVpbmdhYmUsIEFiYnJ1Y2guLi5cbiIKIAogbXNnaWQgIk5vIHVuZG8gcG9zc2libGU7IGNvbnRpbnVlIGFueXdheSIKLW1zZ3N0ciAiV2llZGVyaGVyc3RlbGx1bmcgbmljaHQgbfZnbGljaDsgc2V0emUgdHJvdHogZGVtIGZvcnQiCittc2dzdHIgIldpZWRlcmhlcnN0ZWxsdW5nIG5pY2h0IG32Z2xpY2g7IHNldHplIHRyb3R6ZGVtIGZvcnQiCiAKIG1zZ2lkICJBbHJlYWR5IGF0IG9sZGVzdCBjaGFuZ2UiCiBtc2dzdHIgIkJlcmVpdHMgYmVpIGRlciDkbHRlc3RlbiDEbmRlcnVuZyIKQEAgLTU2MTUsMTEgKzU2MTUsMTEgQEAKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFNDQ3OiBDYW4ndCBmaW5kIGZpbGUgXCIlc1wiIGluIHBhdGgiCi1tc2dzdHIgIkU0NDc6IERhdGVpIFwiJXNcIiBrYW5uIGltIFBmYWQgbmljaHQgZ2VmdW5kZW4gd2VyZGVuIgorbXNnc3RyICJFNDQ3OiBLYW5uIERhdGVpIFwiJXNcIiBuaWNodCBpbSBQZmFkIGZpbmRlbiIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFMzcwOiBDb3VsZCBub3QgbG9hZCBsaWJyYXJ5ICVzIgotbXNnc3RyICJFMzcwOiBCaWJsaW90aGVrICVzIGtvbm50ZSBuaWNodCBnZWxhZGVuIHdlcmRlbiIKK21zZ3N0ciAiRTM3MDogS29ubnRlIEJpYmxpb3RoZWsgJXMgbmljaHQgbGFkZW4iCiAKIG1zZ2lkICJTb3JyeSwgdGhpcyBjb21tYW5kIGlzIGRpc2FibGVkOiB0aGUgUGVybCBsaWJyYXJ5IGNvdWxkIG5vdCBiZSBsb2FkZWQuIgogbXNnc3RyICJEaWVzZXIgQmVmZWhsIGlzdCBuaWNodCB2ZXJm/GdiYXIsIGRhIGRpZSBQZXJsLUJpYmxpb3RoZWsgbmljaHQgZ2VsYWRlbiB3ZXJkZW4ga29ubnRlIgpAQCAtNTczNCw3ICs1NzM0LDcgQEAKIG1zZ3N0ciAiRTIxOiBLYW5uIGtlaW5lIMRuZGVydW5nZW4gbWFjaGVuLCAnbW9kaWZpYWJsZScgaXN0IGF1cyIKIAogbXNnaWQgIkUyMjogU2NyaXB0cyBuZXN0ZWQgdG9vIGRlZXAiCi1tc2dzdHIgIkUyMjogU2tyaXB0LVNjaGFjaHRlbHVuZyB6dSB0aWVmIgorbXNnc3RyICJFMjI6IFNrcmlwdCBpc3QgenUgdGllZiB2ZXJzY2hhY2h0ZWx0IgogCiBtc2dpZCAiRTIzOiBObyBhbHRlcm5hdGUgZmlsZSIKIG1zZ3N0ciAiRTIzOiBLZWluZSBhbHRlcm5hdGl2ZSBEYXRlaSIKQEAgLTU4NzUsNyArNTg3NSw3IEBACiBtc2dzdHIgIkU1MjM6IEhpZXIgbmljaHQgZXJsYXVidCIKIAogbXNnaWQgIkUzNTk6IFNjcmVlbiBtb2RlIHNldHRpbmcgbm90IHN1cHBvcnRlZCIKLW1zZ3N0ciAiRTM1OTogQmlsZHNjaGlybSBNb2R1cyB3aXJkIG5pY2h0IHVudGVyc3T8dHp0IgorbXNnc3RyICJFMzU5OiBCaWxkc2NoaXJtLU1vZHVzIHdpcmQgbmljaHQgdW50ZXJzdPx0enQiCiAKIG1zZ2lkICJFNDk6IEludmFsaWQgc2Nyb2xsIHNpemUiCiBtc2dzdHIgIkU0OTogVW5n/Gx0aWdlIFNjcm9sbC1HcvbfZSIKQEAgLTYwMTMsNyArNjAxMyw3IEBACiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTcyNTogQ2FsbGluZyBkaWN0IGZ1bmN0aW9uIHdpdGhvdXQgRGljdGlvbmFyeTogJXMiCi1tc2dzdHIgIkU3MjU6IEF1ZnJ1ZiBkZXIgJ2RpY3QnIEZ1bmt0aW9uIG9obmUgRGljdGlvbmFyeTogJXMiCittc2dzdHIgIkU3MjU6IEF1ZnJ1ZiBkZXIgJ2RpY3QnIEZ1bmt0aW9uIG9obmUgV/ZydGVyYnVjaDogJXMiCiAKIG1zZ2lkICJFNzg2OiBSYW5nZSBub3QgYWxsb3dlZCIKIG1zZ3N0ciAiRTc4NjogQmVyZWljaCBuaWNodCBlcmxhdWJ0IgpkaWZmIC0tZ2l0IGEvc3JjL3BvL2ZyLnBvIGIvc3JjL3BvL2ZyLnBvCmluZGV4IDk5MDA1OWYuLjVlNGU4NjYgMTAwNjQ0Ci0tLSBhL3NyYy9wby9mci5wbworKysgYi9zcmMvcG8vZnIucG8KQEAgLTUsNyArNSw3IEBACiAjCiAjICBGSVJTVCBBVVRIT1IgIERpbmRpblggICAgICAgICA8RGF2aWQuT2RpbkBiaWdmb290LmNvbT4gICAgIDIwMDAuCiAjIFNFQ09ORCBBVVRIT1IgIEFkcmllbiBCZWF1ICAgICA8dmVyc2lvbi5mcmFuY2Fpc2VAZnJlZS5mcj4gIDIwMDIsIDIwMDMuCi0jICBUSElSRCBBVVRIT1IgIERhdmlkIEJsYW5jaGV0ICA8ZGF2aWQuYmxhbmNoZXRAZnJlZS5mcj4gICAgIDIwMDYKKyMgIFRISVJEIEFVVEhPUiAgRGF2aWQgQmxhbmNoZXQgIDxkYXZpZC5ibGFuY2hldEBmcmVlLmZyPiAgICAgMjAwNiwgMjAwOAogIwogIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIwogIwpAQCAtODAsMTggKzgwLDE1IEBACiAjICAgICAgICAgICAgICAgICAgICAgICAgIC0gMSBtZXNzYWdlIGZpeGVkLCAyIG1lc3NhZ2VzIHRyYW5zbGF0ZWQuCiAjIDIwMDYtMDUtMDIgICAgREIgICAgICBWSU0gNy4wZwogIyAgICAgICAgICAgICAgICAgICAgICAgICAtIDMgbWVzc2FnZSBmaXhlZC4KKyMgMjAwNy0wNS0xMyAgICBEQiAgICAgIFZJTSA3LjEKKyMgICAgICAgICAgICAgICAgICAgICAgICAgLSA3IG5ldyBtZXNzYWdlLgorIyAyMDA3LTA3LTAzICAgIERCICAgICAgRml4ZWQgYSB0eXBvIChGcmFu529pcyBQaW5hcmQpLgorIyAyMDA4LTA1LTI4ICAgIERCICAgICAgVklNIDcuMS4xOTkKKyMgICAgICAgICAgICAgICAgICAgICAgICAgLSAxNCBuZXcgbWVzc2FnZXMuCisjICAgICAgICAgICAgICAgICAgICAgICAgIC0gRml4ZWQgZXJyb3IgbnVtYmVyIG1pc3Rha2VzIChEb21pbmlxdWUgUGVsbGUpCisjICAgICAgICAgICAgICAgICAgICAgICAgIC0gRml4ZWQgc3BlbGxpbmcgbWlzdGFrZXMgKFBhdHJpY2sgVGV4aWVyKQogIwotIyBUcmFuc2xhdGVkOgkgMTY5NC8xNjk0ICgxMDAuMDAlKQotIwotIyBQb2xpc2hpbmcgZG9uZSBvbjoKLSMgIGJ1ZmZlci5jCi0jICBkaWZmLmMKLSMgIGRpZ3JhcGguYwotIyAgZWRpdC5jCi0jICBldmFsLmMKLSMgIGV4X2NtZHMuYwotIwotIyBPdGhlciBmaWxlcyBzdGlsbCB0byBkby4KKyMgVHJhbnNsYXRlZDoJIDE3MDgvMTcwOCAoMTAwLjAwJSkKICMKICMgTm90YXRpb25zIHVzZWQgaW4gdGhlIGNvbW1lbnRzIG9mIHRoZSB1bnBvbGlzaGVkIHBhcnQgb2YgdGhpcyBmaWxlOgogIyBUT0RPCQlUaGVyZSdzIHdvcmsgdG8gZG8gdGhlcmUsIGFuZCBpdCdzIGltcG9ydGFudApAQCAtMTAyLDcgKzk5LDcgQEAKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogVmltKEZyYW7nYWlzKVxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNi0wNS0wMSAxOTo0MiswMjAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDgtMDUtMjggMjM6MDcrMDIwMFxuIgogIlBPLVJldmlzaW9uLURhdGU6IDIwMDYtMDUtMDIgMTQ6MTUrMDIwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogRGF2aWQgQmxhbmNoZXQgPGRhdmlkLmJsYW5jaGV0QGZyZWUuZnI+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogQWRyaWVuIEJlYXUgPHZlcnNpb24uZnJhbmNhaXNlQGZyZWUuZnI+XG4iCkBAIC0zMjAsNiArMzE3LDkgQEAKIG1zZ2lkICJFOTk6IEN1cnJlbnQgYnVmZmVyIGlzIG5vdCBpbiBkaWZmIG1vZGUiCiBtc2dzdHIgIkU5OTogTGUgdGFtcG9uIGNvdXJhbnQgbidlc3QgcGFzIGVuIG1vZGUgZGlmZiIKIAorbXNnaWQgIkU3OTM6IE5vIG90aGVyIGJ1ZmZlciBpbiBkaWZmIG1vZGUgaXMgbW9kaWZpYWJsZSIKK21zZ3N0ciAiRTc5MzogQXVjdW4gYXV0cmUgdGFtcG9uIGVuIG1vZGUgZGlmZiBuJ2VzdCBtb2RpZmlhYmxlIgorCiBtc2dpZCAiRTEwMDogTm8gb3RoZXIgYnVmZmVyIGluIGRpZmYgbW9kZSIKIG1zZ3N0ciAiRTEwMDogQXVjdW4gYXV0cmUgdGFtcG9uIG4nZXN0IGVuIG1vZGUgZGlmZiIKIApAQCAtNTY1LDcgKzU2NSw3IEBACiBtc2dzdHIgIkU2ODk6IFNldWwgdW5lIExpc3RlIG91IHVuIERpY3Rpb25uYWlyZSBwZXV0IOp0cmUgaW5kZXjpIgogCiBtc2dpZCAiRTcwODogWzpdIG11c3QgY29tZSBsYXN0IgotbXNnc3RyICJFNzA5OiBbOl0gbmUgcGV1dCDqdHJlIHNw6WNpZmnpIHF1J2VuIGRlcm5pZXIiCittc2dzdHIgIkU3MDg6IFs6XSBuZSBwZXV0IOp0cmUgc3DpY2lmaekgcXUnZW4gZGVybmllciIKIAogbXNnaWQgIkU3MDk6IFs6XSByZXF1aXJlcyBhIExpc3QgdmFsdWUiCiBtc2dzdHIgIkU3MDk6IFs6XSByZXF1aWVydCB1bmUgTGlzdGUiCkBAIC03MjgsNyArNzI4LDcgQEAKIG1zZ3N0ciAiaW5wdXRyZXN0b3JlKCkgYSDpdOkgYXBwZWzpIHBsdXMgZGUgZm9pcyBxdSdpbnB1dHNhdmUoKSIKIAogbXNnaWQgIkU3ODY6IFJhbmdlIG5vdCBhbGxvd2VkIgotbXNnc3RyICJFNzg2OiBMZXMgcGxhZ2VzIG5lIHNvbnQgcGFzIGF1dG9yaXPpcyIKK21zZ3N0ciAiRTc4NjogTGVzIHBsYWdlcyBuZSBzb250IHBhcyBhdXRvcmlz6WVzIgogCiBtc2dpZCAiRTcwMTogSW52YWxpZCB0eXBlIGZvciBsZW4oKSIKIG1zZ3N0ciAiRTcwMTogVHlwZSBpbnZhbGlkZSBhdmVjIGxlbigpIgpAQCAtODAzLDYgKzgwMywxMCBAQAogbXNnc3RyICJFNzA2OiBUeXBlIGRlIHZhcmlhYmxlIGluY29o6XJlbnQgcG91ciAlcyIKIAogIywgYy1mb3JtYXQKK21zZ2lkICJFNzk1OiBDYW5ub3QgZGVsZXRlIHZhcmlhYmxlICVzIgorbXNnc3RyICJFNzk1OiBJbXBvc3NpYmxlIGRlIHN1cHByaW1lciBsYSB2YXJpYWJsZSAlcyIKKworIywgYy1mb3JtYXQKIG1zZ2lkICJFNzQxOiBWYWx1ZSBpcyBsb2NrZWQ6ICVzIgogbXNnc3RyICJFNzQxOiBMYSB2YWxldXIgZGUgJXMgZXN0IHZlcnJvdWlsbOllIgogCkBAIC05NzEsNyArOTc1LDcgQEAKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFNjY2OiBjb21waWxlciBub3Qgc3VwcG9ydGVkOiAlcyIKLW1zZ3N0ciAiRTQzMjogQ29tcGlsYXRldXIgJXMgbm9uIHN1cHBvcnTpIgorbXNnc3RyICJFNjY2OiBDb21waWxhdGV1ciAlcyBub24gc3VwcG9ydOkiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2VhcmNoaW5nIGZvciBcIiVzXCIgaW4gXCIlc1wiIgpAQCAtMTEyNiw2ICsxMTMwLDcgQEAKICMgICAgICBzZXMgZHJvaXRzIGQnYWNj6HMuCiAjIEFCIC0gTGUgbW90ICJ2aW1pbmZvIiBhIOl06SByZXRpcukgcG91ciBxdWUgbGUgbWVzc2FnZSBuZSBk6XBhc3NlIHBhcyA4MAogIyAgICAgIGNhcmFjdOhyZXMgZGFucyBsZSBjYXMgY291cmFudCBv+SAlcyA9IC9ob21lLzEyMzQ1Njc4Ly52aW1pbmZvCisjLiBhdm9pZCBhIHdhaXRfcmV0dXJuIGZvciB0aGlzIG1lc3NhZ2UsIGl0J3MgYW5ub3lpbmcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTEzNzogVmltaW5mbyBmaWxlIGlzIG5vdCB3cml0YWJsZTogJXMiCiBtc2dzdHIgIkUxMzc6IEwn6WNyaXR1cmUgZGFucyBsZSBmaWNoaWVyICVzIGVzdCBpbnRlcmRpdGUiCkBAIC0xMjA3LDYgKzEyMTIsMjAgQEAKICJMJ29wdGlvbiAncmVhZG9ubHknIGVzdCBhY3RpdullIHBvdXIgXCIlc1wiLlxuIgogIlZvdWxlei12b3VzIHRvdXQgZGUgbeptZSBlbnJlZ2lzdHJlciA/IgogCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJGaWxlIHBlcm1pc3Npb25zIG9mIFwiJXNcIiBhcmUgcmVhZC1vbmx5LlxuIgorIkl0IG1heSBzdGlsbCBiZSBwb3NzaWJsZSB0byB3cml0ZSBpdC5cbiIKKyJEbyB5b3Ugd2lzaCB0byB0cnk/IgorbXNnc3RyICIiCisiTGVzIGRyb2l0cyBkdSBmaWNoaWVyIFwiJXNcIiBzb250IHJlc3RyZWludHMg4CBsYSBsZWN0dXJlIHNldWxlLlxuIgorIklsIHBldXQg6nRyZSBwb3NzaWJsZSBkZSBsJ+ljcmlyZSB0b3V0IGRlIG3qbWUuXG4iCisiVGVudGVyID8iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTUwNTogXCIlc1wiIGlzIHJlYWQtb25seSAoYWRkICEgdG8gb3ZlcnJpZGUpIgorbXNnc3RyICJFNTA1OiBcIiVzXCIgZXN0IGVuIGxlY3R1cmUgc2V1bGUgKGFqb3V0ZXogISBwb3VyIHBhc3NlciBvdXRyZSkiCisKICMgQUIgLSBDZWNpIGVzdCB1biB0aXRyZSBkZSBib+50ZSBkZSBkaWFsb2d1ZS4KIG1zZ2lkICJFZGl0IEZpbGUiCiBtc2dzdHIgIk91dnJpciB1biBmaWNoaWVyIC0gVmltIgpAQCAtMTUxNiw3ICsxNTM1LDcgQEAKIG1zZ2lkICJBcHBlbmQgRmlsZSIKIG1zZ3N0ciAiQWpvdXRlciBmaWNoaWVyIgogCi1tc2dpZCAiRTc0NzogQ2Fubm90IGNoYW5nZSBkaXJlY3RvcnksIGJ1ZmZlciBpcyBtb2RpZmVkIChhZGQgISB0byBvdmVycmlkZSkiCittc2dpZCAiRTc0NzogQ2Fubm90IGNoYW5nZSBkaXJlY3RvcnksIGJ1ZmZlciBpcyBtb2RpZmllZCAoYWRkICEgdG8gb3ZlcnJpZGUpIgogbXNnc3RyICIiCiAiRTc0NzogVGFtcG9uIG1vZGlmaekgOiBpbXBvc3NpYmxlIGRlIGNoYW5nZXIgZGUgculwZXJ0b2lyZSAoYWpvdXRleiAhIHBvdXIgIgogInBhc3NlciBvdXRyZSkiCkBAIC0xNzYxLDYgKzE3ODAsOSBAQAogbXNnaWQgImlzIG5vdCBhIGZpbGUiCiBtc2dzdHIgIm4nZXN0IHBhcyB1biBmaWNoaWVyIgogCittc2dpZCAiaXMgYSBkZXZpY2UgKGRpc2FibGVkIHdpdGggJ29wZW5kZXZpY2UnIG9wdGlvbikiCittc2dzdHIgImVzdCB1biBw6XJpcGjpcmlxdWUgKGRlc2FjdGl26SBwYXIgbCdvcHRpb24gJ29wZW5kZXZpY2UnKSIKKwogbXNnaWQgIltOZXcgRmlsZV0iCiBtc2dzdHIgIltOb3V2ZWF1IGZpY2hpZXJdIgogCkBAIC0xODAwLDYgKzE4MjIsOSBAQAogbXNnaWQgIltzb2NrZXRdIgogbXNnc3RyICJbc29ja2V0XSIKIAorbXNnaWQgIltjaGFyYWN0ZXIgc3BlY2lhbF0iCittc2dzdHIgIltjYXJhY3TocmUgc3DpY2lhbF0iCisKIG1zZ2lkICJbUk9dIgogbXNnc3RyICJbUk9dIgogCkBAIC0xODYxLDYgKzE4ODYsOSBAQAogbXNnaWQgImlzIG5vdCBhIGZpbGUgb3Igd3JpdGFibGUgZGV2aWNlIgogbXNnc3RyICJuJ2VzdCBwYXMgdW4gZmljaGllciBvdSB1biBw6XJpcGjpcmlxdWUgaW5zY3JpcHRpYmxlIgogCittc2dpZCAid3JpdGluZyB0byBkZXZpY2UgZGlzYWJsZWQgd2l0aCAnb3BlbmRldmljZScgb3B0aW9uIgorbXNnc3RyICLpY3JpdHVyZSB2ZXJzIHVuIHDpcmlwaOlyaXF1ZSBk6XNhY3RpdukgcGFyIGwnb3B0aW9uICdvcGVuZGV2aWNlJyIKKwogbXNnaWQgImlzIHJlYWQtb25seSAoYWRkICEgdG8gb3ZlcnJpZGUpIgogbXNnc3RyICJlc3QgZW4gbGVjdHVyZSBzZXVsZSAoYWpvdXRleiAhIHBvdXIgcGFzc2VyIG91dHJlKSIKIApAQCAtMTg4OCw3ICsxOTE2LDcgQEAKICJFNDYwOiBMZXMgcmVzc291cmNlcyBwYXJ0YWfpZXMgc2VyYWllbnQgcGVyZHVlcyAoYWpvdXRleiAhIHBvdXIgcGFzc2VyIG91dHJlKSIKIAogbXNnaWQgIkUyMTQ6IENhbid0IGZpbmQgdGVtcCBmaWxlIGZvciB3cml0aW5nIgotbXNnc3RyICJJbXBvc3NpYmxlIGRlIGfpbulyZXIgdW4gZmljaGllciB0ZW1wb3JhaXJlIHBvdXIgeSDpY3JpcmUiCittc2dzdHIgIkUyMTQ6IEltcG9zc2libGUgZGUgZ+lu6XJlciB1biBmaWNoaWVyIHRlbXBvcmFpcmUgcG91ciB5IOljcmlyZSIKIAogbXNnaWQgIkUyMTM6IENhbm5vdCBjb252ZXJ0IChhZGQgISB0byB3cml0ZSB3aXRob3V0IGNvbnZlcnNpb24pIgogbXNnc3RyICJFMjEzOiBJbXBvc3NpYmxlIGRlIGNvbnZlcnRpciAoYWpvdXRleiAhIHBvdXIg6WNyaXJlIHNhbnMgY29udmVydGlyKSIKQEAgLTIyMjYsNyArMjI1NCw3IEBACiBtc2dzdHIgIkUyMzE6ICdndWlmb250d2lkZScgZXN0IGludmFsaWRlIgogCiBtc2dpZCAiRTU5OTogVmFsdWUgb2YgJ2ltYWN0aXZhdGVrZXknIGlzIGludmFsaWQiCi1tc2dzdHIgIkU1OTkgOiBWYWxldXIgZGUgJ2ltYWN0aXZhdGVrZXknIGludmFsaWRlIgorbXNnc3RyICJFNTk5OiBWYWxldXIgZGUgJ2ltYWN0aXZhdGVrZXknIGludmFsaWRlIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUyNTQ6IENhbm5vdCBhbGxvY2F0ZSBjb2xvciAlcyIKQEAgLTI2NDgsMTUgKzI2NzYsMTUgQEAKIG1zZ2lkICJjc19jcmVhdGVfY29ubmVjdGlvbiBleGVjIGZhaWxlZCIKIG1zZ3N0ciAiZXhlYyBkZSBjc19jcmVhdGVfY29ubmVjdGlvbiBhIOljaG916SIKIAotbXNnaWQgIkU2MjM6IENvdWxkIG5vdCBzcGF3biBjc2NvcGUgcHJvY2VzcyIKLW1zZ3N0ciAiRTYyMzogSW1wb3NzaWJsZSBkJ2VuZ2VuZHJlciBsZSBwcm9jZXNzdXMgY3Njb3BlIgotCiBtc2dpZCAiY3NfY3JlYXRlX2Nvbm5lY3Rpb246IGZkb3BlbiBmb3IgdG9fZnAgZmFpbGVkIgogbXNnc3RyICJjc19jcmVhdGVfY29ubmVjdGlvbjogZmRvcGVuIHBvdXIgdG9fZnAgYSDpY2hvdekiCiAKIG1zZ2lkICJjc19jcmVhdGVfY29ubmVjdGlvbjogZmRvcGVuIGZvciBmcl9mcCBmYWlsZWQiCiBtc2dzdHIgImNzX2NyZWF0ZV9jb25uZWN0aW9uOiBmZG9wZW4gcG91ciBmcl9mcCBhIOljaG916SIKIAorbXNnaWQgIkU2MjM6IENvdWxkIG5vdCBzcGF3biBjc2NvcGUgcHJvY2VzcyIKK21zZ3N0ciAiRTYyMzogSW1wb3NzaWJsZSBkJ2VuZ2VuZHJlciBsZSBwcm9jZXNzdXMgY3Njb3BlIgorCiBtc2dpZCAiRTU2Nzogbm8gY3Njb3BlIGNvbm5lY3Rpb25zIgogbXNnc3RyICJFNTY3OiBBdWN1bmUgY29ubmV4aW9uIGNzY29wZSIKIApAQCAtMzE1MSw4ICszMTc5LDExIEBACiAiICAgIG91IDoiCiAKICMgREIgLSB0b2RvIChWTVMgdW5pcXVlbWVudCkuCi1tc2dpZCAid2hlcmUgY2FzZSBpcyBpZ25vcmVkIHByZXBlbmQgLyB0byBtYWtlIGZsYWcgdXBwZXIgY2FzZSIKK21zZ2lkICIiCisiXG4iCisiV2hlcmUgY2FzZSBpcyBpZ25vcmVkIHByZXBlbmQgLyB0byBtYWtlIGZsYWcgdXBwZXIgY2FzZSIKIG1zZ3N0ciAiIgorIlxuIgogInBvdXIgbGVzcXVlbHMgbGEgY2Fzc2UgZXN0IGluZGlmZulyZW50ZSAoLyBwb3VyIHF1ZSBsZSBkcmFwZWF1IHNvaXQgIgogIm1hanVzY3VsZSkiCiAKQEAgLTMyMjQsOCArMzI1NSw4IEBACiBtc2dpZCAiLU5cdFx0XHROb3QgZnVsbHkgVmkgY29tcGF0aWJsZTogJ25vY29tcGF0aWJsZSciCiBtc2dzdHIgIi1OXHRcdFBhcyB0b3RhbGVtZW50IGNvbXBhdGlibGUgYXZlYyBWaSA6ICdub2NvbXBhdGlibGUnIgogCi1tc2dpZCAiLVZbTl1cdFx0VmVyYm9zZSBsZXZlbCIKLW1zZ3N0ciAiLVZbTl1cdE5pdmVhdSBkZSB2ZXJib3NpdOkiCittc2dpZCAiLVZbTl1bZm5hbWVdXHRcdEJlIHZlcmJvc2UgW2xldmVsIE5dIFtsb2cgbWVzc2FnZXMgdG8gZm5hbWVdIgorbXNnc3RyICItVltOXVs8ZmljaGllcj5dXHRNb2RlIHZlcmJldXggW25pdmVhdSBOXSBbZGFucyA8ZmljaGllcj5dIgogCiBtc2dpZCAiLURcdFx0XHREZWJ1Z2dpbmcgbW9kZSIKIG1zZ3N0ciAiLURcdFx0TW9kZSBk6WJvZ2FnZSIKQEAgLTMzMjksOSArMzM2MCwxMCBAQAogbXNnc3RyICIiCiAiLS1yZW1vdGUtd2FpdC1zaWxlbnRcdFBhcmVpbCwgbWFpcyBwYXMgZCdlcnJldXIgcydpbCBuJ3kgYSBhdWN1biBzZXJ2ZXVyIgogCi1tc2dpZCAiLS1yZW1vdGUtdGFiIDxmaWxlcz4gIEFzIC0tcmVtb3RlIGJ1dCBvcGVuIHRhYiBwYWdlIGZvciBlYWNoIGZpbGUiCittc2dpZCAiIgorIi0tcmVtb3RlLXRhYlstd2FpdF1bLXNpbGVudF0gPGZpbGVzPiAgQXMgLS1yZW1vdGUgYnV0IHVzZSB0YWIgcGFnZSBwZXIgZmlsZSIKIG1zZ3N0ciAiIgotIi0tcmVtb3RlLXRhYiA8ZmljaD5cdENvbW1lIC0tcmVtb3RlIG1haXMgb3V2cmlyIHVuIG9uZ2xldCBwb3VyIGNoYXF1ZSBmaWNoaWVyIgorIi0tcmVtb3RlLXRhYlstd2FpdF1bLXNpbGVudF0gPGZpY2g+XHRDb21tZSAtLXJlbW90ZSBtYWlzIG91dnJpciB1biBvbmdsZXQgcG91ciBjaGFxdWUgZmljaGllciIKIAogbXNnaWQgIi0tcmVtb3RlLXNlbmQgPGtleXM+XHRTZW5kIDxrZXlzPiB0byBhIFZpbSBzZXJ2ZXIgYW5kIGV4aXQiCiBtc2dzdHIgIi0tcmVtb3RlLXNlbmQgPHRjaGU+XHRFbnZveWVyIDx0b3VjaGVzPiDgIHVuIHNlcnZldXIgVmltIHB1aXMgcXVpdHRlciIKQEAgLTM0NjMsNiArMzQ5NSw5IEBACiBtc2dpZCAiLVAgPHBhcmVudCB0aXRsZT5cdE9wZW4gVmltIGluc2lkZSBwYXJlbnQgYXBwbGljYXRpb24iCiBtc2dzdHIgIi1QIDx0aXRyZSBwYXJlbnQ+XHRPdXZyaXIgVmltIGRhbnMgdW5lIGFwcGxpY2F0aW9uIHBhcmVudGUiCiAKK21zZ2lkICItLXdpbmRvd2lkIDxIV05EPlx0T3BlbiBWaW0gaW5zaWRlIGFub3RoZXIgd2luMzIgd2lkZ2V0IgorbXNnc3RyICItLXdpbmRvd2lkIDxIV05EPlx0T3V2cmlyIFZpbSBkYW5zIHVuIGF1dHJlIHdpZGdldCB3aW4zMiIKKwogbXNnaWQgIk5vIGRpc3BsYXkiCiBtc2dzdHIgIkF1Y3VuIGRpc3BsYXkiCiAKQEAgLTM2NjMsNiArMzY5OCw5IEBACiAiLFxuIgogIm91IGxlIGZpY2hpZXIgYSDpdOkgZW5kb21tYWfpLiIKIAorbXNnaWQgIiBoYXMgYmVlbiBkYW1hZ2VkIChwYWdlIHNpemUgaXMgc21hbGxlciB0aGFuIG1pbmltdW0gdmFsdWUpLlxuIgorbXNnc3RyICIgYSDpdOkgZW5kb21tYWfpICh0YWlsbGUgZGUgcGFnZSBpbmbpcmlldXJlIOAgbGEgdmFsZXVyIG1pbmltYWxlKS5cbiIKKwogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2luZyBzd2FwIGZpbGUgXCIlc1wiIgogbXNnc3RyICJVdGlsaXNhdGlvbiBkdSBmaWNoaWVyIGQn6WNoYW5nZSBcIiVzXCIiCkBAIC00MDA3LDYgKzQwNDUsMTAgQEAKIG1zZ2lkICJFMzI5OiBObyBtZW51IFwiJXNcIiIKIG1zZ3N0ciAiRTMyOTogQXVjdW4gbWVudSBcIiVzXCIiCiAKKyMuIE9ubHkgYSBtbmVtb25pYyBvciBhY2NlbGVyYXRvciBpcyBub3QgdmFsaWQuCittc2dpZCAiRTc5MjogRW1wdHkgbWVudSBuYW1lIgorbXNnc3RyICJFNzkyOiBOb20gZGUgbWVudSB2aWRlIgorCiBtc2dpZCAiRTMzMDogTWVudSBwYXRoIG11c3Qgbm90IGxlYWQgdG8gYSBzdWItbWVudSIKIG1zZ3N0ciAiRTMzMDogTGUgY2hlbWluIGRlIG1lbnUgbmUgZG9pdCBwYXMgY29uZHVpcmUg4CB1biBzb3VzLW1lbnUiCiAKQEAgLTQ1MzUsNiArNDU3NywxMyBAQAogbXNnaWQgIkUzNTU6IFVua25vd24gb3B0aW9uOiAlcyIKIG1zZ3N0ciAiRTM1NTogT3B0aW9uIGluY29ubnVlIDogJXMiCiAKKyMuIFRoZXJlJ3MgYW5vdGhlciBjaGFyYWN0ZXIgYWZ0ZXIgemVyb3Mgb3IgdGhlIHN0cmluZworIy4gKiBpcyBlbXB0eS4gIEluIGJvdGggY2FzZXMsIHdlIGFyZSB0cnlpbmcgdG8gc2V0IGEKKyMuICogbnVtIG9wdGlvbiB1c2luZyBhIHN0cmluZy4KKyMsIGMtZm9ybWF0Cittc2dpZCAiRTUyMTogTnVtYmVyIHJlcXVpcmVkOiAmJXMgPSAnJXMnIgorbXNnc3RyICJFNTIxOiBOb21icmUgcmVxdWlzOiAmJXMgPSAnJXMnIgorCiBtc2dpZCAiIgogIlxuIgogIi0tLSBUZXJtaW5hbCBjb2RlcyAtLS0iCkBAIC00Njg5LDYgKzQ3MzgsMjAgQEAKIAogbXNnaWQgIiIKICJcbiIKKyJDb3VsZCBub3QgZ2V0IHNlY3VyaXR5IGNvbnRleHQgZm9yICIKK21zZ3N0ciAiIgorIlxuIgorIkltcG9zc2libGUgZCdvYnRlbmlyIGxlIGNvbnRleHRlIGRlIHPpY3VyaXTpIHBvdXIgIgorCittc2dpZCAiIgorIlxuIgorIkNvdWxkIG5vdCBzZXQgc2VjdXJpdHkgY29udGV4dCBmb3IgIgorbXNnc3RyICIiCisiXG4iCisiSW1wb3NzaWJsZSBkZSBtb2RpZmllciBsZSBjb250ZXh0ZSBkZSBz6WN1cml06SBwb3VyICIKKworbXNnaWQgIiIKKyJcbiIKICJDYW5ub3QgZXhlY3V0ZSBzaGVsbCAiCiBtc2dzdHIgIiIKICJcbiIKQEAgLTUzOTksNiArNTQ2Miw3IEBACiBtc2dpZCAiU29ycnksIG9ubHkgJWxkIHN1Z2dlc3Rpb25zIgogbXNnc3RyICJE6XNvbOksIHNldWxlbWVudCAlbGQgc3VnZ2VzdGlvbnMiCiAKKyMuIGZvciB3aGVuICdjbWRoZWlnaHQnID4gMQogIy4gYXZvaWQgbW9yZSBwcm9tcHQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hhbmdlIFwiJS4qc1wiIHRvOiIKQEAgLTU0MTQsNyArNTQ3OCw3IEBACiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTc1MzogTm90IGZvdW5kOiAlcyIKLW1zZ3N0ciAiRTMzNDogSW50cm91dmFibGUgOiAlcyIKK21zZ3N0ciAiRTc1MzogSW50cm91dmFibGUgOiAlcyIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFNzc4OiBUaGlzIGRvZXMgbm90IGxvb2sgbGlrZSBhIC5zdWcgZmlsZTogJXMiCkBAIC01NTExLDcgKzU1NzUsNyBAQAogbXNnc3RyICJFMzk2OiBMJ2FyZ3VtZW50IKsgY29udGFpbmVkaW4guyBuJ2VzdCBwYXMgYWNjZXB06SBpY2kiCiAKIG1zZ2lkICJFMzkzOiBncm91cFt0XWhlcmUgbm90IGFjY2VwdGVkIGhlcmUiCi1tc2dzdHIgIkUzOTQ6IEwnYXJndW1lbnQgqyBncm91cFt0XWhlcmUguyBuJ2VzdCBwYXMgYWNjZXB06SBpY2kiCittc2dzdHIgIkUzOTM6IEwnYXJndW1lbnQgqyBncm91cFt0XWhlcmUguyBuJ2VzdCBwYXMgYWNjZXB06SBpY2kiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTM5NDogRGlkbid0IGZpbmQgcmVnaW9uIGl0ZW0gZm9yICVzIgpAQCAtNTgzMiw2ICs1ODk2LDEzIEBACiAKIG1zZ2lkICIiCiAiXG4iCisiTVMtV2luZG93cyA2NCBiaXQgR1VJIHZlcnNpb24iCittc2dzdHIgIiIKKyJcbiIKKyJWZXJzaW9uIGdyYXBoaXF1ZSBNUy1XaW5kb3dzIDY0IGJpdHMiCisKK21zZ2lkICIiCisiXG4iCiAiTVMtV2luZG93cyAzMiBiaXQgR1VJIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKQEAgLTYzNjIsNyArNjQzMyw3IEBACiBtc2dzdHIgIkUzNTogQXVjdW5lIGV4cHJlc3Npb24gculndWxp6HJlIHBy6WPpZGVudGUiCiAKIG1zZ2lkICJFNDgxOiBObyByYW5nZSBhbGxvd2VkIgotbXNnc3RyICJFNDgxOiBMZXMgcGxhZ2VzIG5lIHNvbnQgcGFzIGF1dG9yaXPpcyIKK21zZ3N0ciAiRTQ4MTogTGVzIHBsYWdlcyBuZSBzb250IHBhcyBhdXRvcmlz6WVzIgogCiBtc2dpZCAiRTM2OiBOb3QgZW5vdWdoIHJvb20iCiBtc2dzdHIgIkUzNjogUGFzIGFzc2V6IGRlIHBsYWNlIgpAQCAtNjQzOSw5ICs2NTEwLDkgQEAKIG1zZ3N0ciAiRTQ2OiBMYSB2YXJpYWJsZSBcIiVzXCIgZXN0IGVuIGxlY3R1cmUgc2V1bGUiCiAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiRTQ2OiBDYW5ub3Qgc2V0IHZhcmlhYmxlIGluIHRoZSBzYW5kYm94OiBcIiVzXCIiCittc2dpZCAiRTc5NDogQ2Fubm90IHNldCB2YXJpYWJsZSBpbiB0aGUgc2FuZGJveDogXCIlc1wiIgogbXNnc3RyICIiCi0iRTQ2OiBJbXBvc3NpYmxlIGRlIG1vZGlmaWVyIHVuZSB2YXJpYWJsZSBkZXB1aXMgbGUgYmFjIOAgc2FibGUgOiBcIiVzXCIiCisiRTc5NDogSW1wb3NzaWJsZSBkZSBtb2RpZmllciB1bmUgdmFyaWFibGUgZGVwdWlzIGxlIGJhYyDgIHNhYmxlIDogXCIlc1wiIgogCiBtc2dpZCAiRTQ3OiBFcnJvciB3aGlsZSByZWFkaW5nIGVycm9yZmlsZSIKIG1zZ3N0ciAiRTQ3OiBFcnJldXIgbG9ycyBkZSBsYSBsZWN0dXJlIGR1IGZpY2hpZXIgZCdlcnJldXJzIgpAQCAtNjUxOCw3ICs2NTg5LDcgQEAKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFNjg1OiBJbnRlcm5hbCBlcnJvcjogJXMiCi1tc2dzdHIgIkU0NzM6IEVycmV1ciBpbnRlcm5lIDogJXMiCittc2dzdHIgIkU2ODU6IEVycmV1ciBpbnRlcm5lIDogJXMiCiAKIG1zZ2lkICJFMzYzOiBwYXR0ZXJuIHVzZXMgbW9yZSBtZW1vcnkgdGhhbiAnbWF4bWVtcGF0dGVybiciCiBtc2dzdHIgIkUzNjM6IGxlIG1vdGlmIHV0aWxpc2UgcGx1cyBkZSBt6W1vaXJlIHF1ZSAnbWF4bWVtcGF0dGVybiciCmRpZmYgLS1naXQgYS9zcmMvcG8vemhfVFcucG8gYi9zcmMvcG8vemhfVFcucG8KaW5kZXggMTZkZGZjOS4uNmRiYTNhMiAxMDA2NDQKLS0tIGEvc3JjL3BvL3poX1RXLnBvCisrKyBiL3NyYy9wby96aF9UVy5wbwpAQCAtNjk4LDcgKzY5OCw3IEBACiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTY2MTogU29ycnksIG5vICclcycgaGVscCBmb3IgJXMiCi1tc2dzdHIgIkUxNDk6IKnqunAsIKhTprPD9qnzICVzLSVzIKq6u6Gp+iIKK21zZ3N0ciAiRTY2MTogqeq6cCwgqFOms8P2qfMgJXMtJXMgqrq7oan6IgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUxNDk6IFNvcnJ5LCBubyBoZWxwIGZvciAlcyIKQEAgLTE2NzcsNyArMTY3Nyw3IEBACiBtc2dzdHIgIkUyMzE6IKSjpb+9VKq6ICdndWlmb250d2lkZSciCiAKIG1zZ2lkICJFNTk5OiBWYWx1ZSBvZiAnaW1hY3RpdmF0ZWtleScgaXMgaW52YWxpZCIKLW1zZ3N0ciAiRTU1OTogJ2ltYWN0aXZhdGVrZXknIKq6rciko6W/vVQiCittc2dzdHIgIkU1OTk6ICdpbWFjdGl2YXRla2V5JyCquq3IpKOlv71UIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUyNTQ6IENhbm5vdCBhbGxvY2F0ZSBjb2xvciAlcyIKQEAgLTQwMDQsNyArNDAwNCw3IEBACiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTU3OiAlcysgb3BlcmFuZCBjb3VsZCBiZSBlbXB0eSIKLW1zZ3N0ciAiRTU2OiAlcysguUK64qS4pWmlSKxPqsWquiIKK21zZ3N0ciAiRTU3OiAlcysguUK64qS4pWmlSKxPqsWquiIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFNTk6IGludmFsaWQgY2hhcmFjdGVyIGFmdGVyICVzQCIKQEAgLTQ5MzAsNyArNDkzMCw3IEBACiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTIzNTogVW5rbm93biBmb250OiAlcyIKLW1zZ3N0ciAipKOlv71Uqrqmcqusple62TogJXMiCittc2dzdHIgIkUyMzU6IKSjpb+9VKq6pnKrrKZXutk6ICVzIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUyMzY6IEZvbnQgXCIlc1wiIGlzIG5vdCBmaXhlZC13aWR0aCIKZGlmZiAtLWdpdCBhL3NyYy9wcm90by9vc19tYWNfY29udi5wcm8gYi9zcmMvcHJvdG8vb3NfbWFjX2NvbnYucHJvCmluZGV4IDdhYTNkOWYuLmU5NDE3ODggMTAwNjQ0Ci0tLSBhL3NyYy9wcm90by9vc19tYWNfY29udi5wcm8KKysrIGIvc3JjL3Byb3RvL29zX21hY19jb252LnBybwpAQCAtNCw4ICs0LDkgQEAKIGludCBlbmMybWFjcm9tYW4gX19BUkdTKChjaGFyX3UgKmZyb20sIHNpemVfdCBmcm9tbGVuLCBjaGFyX3UgKnRvLCBpbnQgKnRvbGVucCwgaW50IG1heHRvbGVuLCBjaGFyX3UgKnJlc3QsIGludCAqcmVzdGxlbnApKTsKIHZvaWQgbWFjX2NvbnZfaW5pdCBfX0FSR1MoKHZvaWQpKTsKIHZvaWQgbWFjX2NvbnZfY2xlYW51cCBfX0FSR1MoKHZvaWQpKTsKLWNoYXJfdSAqbWFjX3V0ZjE2X3RvX2VuYyBfX0FSR1MoKFVuaUNoYXIgKmZyb20sIHNpemVfdCBmcm9tTGVuLCBzaXplX3QgKmFjdHVhbExlbikpOwotVW5pQ2hhciAqbWFjX2VuY190b191dGYxNiBfX0FSR1MoKGNoYXJfdSAqZnJvbSwgc2l6ZV90IGZyb21MZW4sIHNpemVfdCAqYWN0dWFsTGVuKSk7Ci1DRlN0cmluZ1JlZiBtYWNfZW5jX3RvX2Nmc3RyaW5nIF9fQVJHUygoY2hhcl91ICpmcm9tLCBzaXplX3QgZnJvbUxlbikpOworY2hhcl91ICptYWNfdXRmMTZfdG9fZW5jIF9fQVJHUygodW5zaWduZWQgc2hvcnQgKmZyb20sIHNpemVfdCBmcm9tTGVuLCBzaXplX3QgKmFjdHVhbExlbikpOwordW5zaWduZWQgc2hvcnQgKm1hY19lbmNfdG9fdXRmMTYgX19BUkdTKChjaGFyX3UgKmZyb20sIHNpemVfdCBmcm9tTGVuLCBzaXplX3QgKmFjdHVhbExlbikpOwordm9pZCAqIG1hY19lbmNfdG9fY2ZzdHJpbmcgX19BUkdTKChjaGFyX3UgKmZyb20sIHNpemVfdCBmcm9tTGVuKSk7CiBjaGFyX3UgKm1hY19wcmVjb21wb3NlX3BhdGggX19BUkdTKChjaGFyX3UgKmRlY29tcFBhdGgsIHNpemVfdCBkZWNvbXBMZW4sIHNpemVfdCAqcHJlY29tcExlbikpOwordm9pZCBtYWNfbGFuZ19pbml0IF9fQVJHUygodm9pZCkpOwogLyogdmltOiBzZXQgZnQ9YyA6ICovCmRpZmYgLS1naXQgYS9zcmMvc3BlbGwuYyBiL3NyYy9zcGVsbC5jCmluZGV4IDIyNjMwYjUuLmNkZmYwYTMgMTAwNjQ0Ci0tLSBhL3NyYy9zcGVsbC5jCisrKyBiL3NyYy9zcGVsbC5jCkBAIC0zMTEsMTAgKzMxMSw2IEBACiAKICNpZiBkZWZpbmVkKEZFQVRfU1BFTEwpIHx8IGRlZmluZWQoUFJPVE8pCiAKLSNpZmRlZiBIQVZFX0ZDTlRMX0gKLSMgaW5jbHVkZSA8ZmNudGwuaD4KLSNlbmRpZgotCiAjaWZuZGVmIFVOSVgJCS8qIGl0J3MgaW4gb3NfdW5peC5oIGZvciBVbml4ICovCiAjIGluY2x1ZGUgPHRpbWUuaD4JLyogZm9yIHRpbWVfdCAqLwogI2VuZGlmCkBAIC0yOTQ1LDcgKzI5NDEsNyBAQAogCiAvKgogICogUmVhZCBhIHN0cmluZyBvZiBsZW5ndGggImNudCIgZnJvbSAiZmQiIGludG8gYWxsb2NhdGVkIG1lbW9yeS4KLSAqIFJldHVybnMgTlVMTCB3aGVuIG91dCBvZiBtZW1vcnkuCisgKiBSZXR1cm5zIE5VTEwgd2hlbiBvdXQgb2YgbWVtb3J5IG9yIHVuYWJsZSB0byByZWFkIHRoYXQgbWFueSBieXRlcy4KICAqLwogICAgIHN0YXRpYyBjaGFyX3UgKgogcmVhZF9zdHJpbmcoZmQsIGNudCkKQEAgLTI5NTQsMTQgKzI5NTAsMjMgQEAKIHsKICAgICBjaGFyX3UJKnN0cjsKICAgICBpbnQJCWk7CisgICAgaW50CQljOwogCiAgICAgLyogYWxsb2NhdGUgbWVtb3J5ICovCiAgICAgc3RyID0gYWxsb2MoKHVuc2lnbmVkKWNudCArIDEpOwogICAgIGlmIChzdHIgIT0gTlVMTCkKICAgICB7Ci0JLyogUmVhZCB0aGUgc3RyaW5nLiAgRG9lc24ndCBjaGVjayBmb3IgdHJ1bmNhdGVkIGZpbGUuICovCisJLyogUmVhZCB0aGUgc3RyaW5nLiAgUXVpdCB3aGVuIHJ1bm5pbmcgaW50byB0aGUgRU9GLiAqLwogCWZvciAoaSA9IDA7IGkgPCBjbnQ7ICsraSkKLQkgICAgc3RyW2ldID0gZ2V0YyhmZCk7CisJeworCSAgICBjID0gZ2V0YyhmZCk7CisJICAgIGlmIChjID09IEVPRikKKwkgICAgeworCQl2aW1fZnJlZShzdHIpOworCQlyZXR1cm4gTlVMTDsKKwkgICAgfQorCSAgICBzdHJbaV0gPSBjOworCX0KIAlzdHJbaV0gPSBOVUw7CiAgICAgfQogICAgIHJldHVybiBzdHI7CkBAIC0zMjkxLDYgKzMyOTYsNyBAQAogewogICAgIGludAkJZG9uZSA9IDA7CiAgICAgaW50CQlpOworICAgIGludAkJYzsKICAgICBjaGFyX3UJd29yZFtNQVhXTEVOXTsKIAogICAgIHdoaWxlIChkb25lIDwgbGVuKQpAQCAtMzI5OCw3ICszMzA0LDEwIEBACiAJLyogUmVhZCBvbmUgd29yZCBhdCBhIHRpbWUuICovCiAJZm9yIChpID0gMDsgOyArK2kpCiAJewotCSAgICB3b3JkW2ldID0gZ2V0YyhmZCk7CisJICAgIGMgPSBnZXRjKGZkKTsKKwkgICAgaWYgKGMgPT0gRU9GKQorCQlyZXR1cm4gU1BfVFJVTkNFUlJPUjsKKwkgICAgd29yZFtpXSA9IGM7CiAJICAgIGlmICh3b3JkW2ldID09IE5VTCkKIAkJYnJlYWs7CiAJICAgIGlmIChpID09IE1BWFdMRU4gLSAxKQpAQCAtMzU0NSw2ICszNTU0LDExIEBACiAgICAgd2hpbGUgKHRvZG8tLSA+IDApCiAgICAgewogCWMgPSBnZXRjKGZkKTsJCQkJCS8qIDxjb21wZmxhZ3M+ICovCisJaWYgKGMgPT0gRU9GKQorCXsKKwkgICAgdmltX2ZyZWUocGF0KTsKKwkgICAgcmV0dXJuIFNQX1RSVU5DRVJST1I7CisJfQogCiAJLyogQWRkIGFsbCBmbGFncyB0byAic2xfY29tcGFsbGZsYWdzIi4gKi8KIAlpZiAodmltX3N0cmNocigoY2hhcl91ICopIisqW10vIiwgYykgPT0gTlVMTApAQCAtNjAyNCw3ICs2MDM4LDcgQEAKIAkgICAgZmxhZyA9IGdldF9hZmZpdGVtKGFmZmlsZS0+YWZfZmxhZ3R5cGUsICZwKTsKIAkgICAgaWYgKGZsYWcgPT0gYWZmaWxlLT5hZl9jb21wcGVybWl0IHx8IGZsYWcgPT0gYWZmaWxlLT5hZl9jb21wZm9yYmlkKQogCSAgICB7Ci0JCW1jaF9tZW1tb3ZlKHByZXZwLCBwLCBTVFJMRU4ocCkgKyAxKTsKKwkJU1RSTU9WRShwcmV2cCwgcCk7CiAJCXAgPSBwcmV2cDsKIAkJaWYgKGZsYWcgPT0gYWZmaWxlLT5hZl9jb21wcGVybWl0KQogCQkgICAgZW50cnktPmFlX2NvbXBwZXJtaXQgPSBUUlVFOwpAQCAtNjUxNSw3ICs2NTI5LDcgQEAKIAlmb3IgKHAgPSB3OyAqcCAhPSBOVUw7IG1iX3B0cl9hZHYocCkpCiAJewogCSAgICBpZiAoKnAgPT0gJ1xcJyAmJiAocFsxXSA9PSAnXFwnIHx8IHBbMV0gPT0gJy8nKSkKLQkJbWNoX21lbW1vdmUocCwgcCArIDEsIFNUUkxFTihwKSk7CisJCVNUUk1PVkUocCwgcCArIDEpOwogCSAgICBlbHNlIGlmICgqcCA9PSAnLycpCiAJICAgIHsKIAkJKnAgPSBOVUw7CkBAIC0xMjU3NCw3ICsxMjU4OCw3IEBACiAJCSAgICB0bCA9IChpbnQpU1RSTEVOKGZ0cC0+ZnRfdG8pOwogCQkgICAgaWYgKGZsICE9IHRsKQogCQkgICAgewotCQkJbWNoX21lbW1vdmUocCArIHRsLCBwICsgZmwsIFNUUkxFTihwICsgZmwpICsgMSk7CisJCQlTVFJNT1ZFKHAgKyB0bCwgcCArIGZsKTsKIAkJCXJlcGV4dHJhICs9IHRsIC0gZmw7CiAJCSAgICB9CiAJCSAgICBtY2hfbWVtbW92ZShwLCBmdHAtPmZ0X3RvLCB0bCk7CkBAIC0xMjYwNCw3ICsxMjYxOCw3IEBACiAJICAgIHAgPSBmd29yZCArIHNwLT50c19maWR4OwogCSAgICBpZiAoZmwgIT0gdGwpCiAJICAgIHsKLQkJbWNoX21lbW1vdmUocCArIGZsLCBwICsgdGwsIFNUUkxFTihwICsgdGwpICsgMSk7CisJCVNUUk1PVkUocCArIGZsLCBwICsgdGwpOwogCQlyZXBleHRyYSAtPSB0bCAtIGZsOwogCSAgICB9CiAJICAgIG1jaF9tZW1tb3ZlKHAsIGZ0cC0+ZnRfZnJvbSwgZmwpOwpAQCAtMTMwMzUsNyArMTMwNDksNyBAQAogCWlmICh2aW1faXN3aGl0ZShzdS0+c3VfYmFkcHRyW3N1LT5zdV9iYWRsZW5dKQogCQkJCQkgJiYgKnNraXB0b3doaXRlKHN0cC0+c3Rfd29yZCkgPT0gTlVMKQogCSAgICBmb3IgKHAgPSBmd29yZDsgKihwID0gc2tpcHRvd2hpdGUocCkpICE9IE5VTDsgKQotCQltY2hfbWVtbW92ZShwLCBwICsgMSwgU1RSTEVOKHApKTsKKwkJU1RSTU9WRShwLCBwICsgMSk7CiAKIAlzcGVsbF9zb3VuZGZvbGQoc2xhbmcsIGZ3b3JkLCBUUlVFLCBiYWRzb3VuZDIpOwogCXBiYWQgPSBiYWRzb3VuZDI7CkBAIC0xNDI4MSw4ICsxNDI5NSw3IEBACiAJCQkgICAgcysrOwogCQkJfQogCQkJaWYgKGsgPiBrMCkKLQkJCSAgICBtY2hfbWVtbW92ZSh3b3JkICsgaSArIGswLCB3b3JkICsgaSArIGssCi0JCQkJCQkgICAgU1RSTEVOKHdvcmQgKyBpICsgaykgKyAxKTsKKwkJCSAgICBTVFJNT1ZFKHdvcmQgKyBpICsgazAsIHdvcmQgKyBpICsgayk7CiAKIAkJCS8qIG5ldyAiYWN0dWFsIGxldHRlciIgKi8KIAkJCWMgPSB3b3JkW2ldOwpAQCAtMTQzMDQsOCArMTQzMTcsNyBAQAogCQkJewogCQkJICAgIGlmIChjICE9IE5VTCkKIAkJCQlyZXNbcmVzbGVuKytdID0gYzsKLQkJCSAgICBtY2hfbWVtbW92ZSh3b3JkLCB3b3JkICsgaSArIDEsCi0JCQkJCQkgICAgU1RSTEVOKHdvcmQgKyBpICsgMSkgKyAxKTsKKwkJCSAgICBTVFJNT1ZFKHdvcmQsIHdvcmQgKyBpICsgMSk7CiAJCQkgICAgaSA9IDA7CiAJCQkgICAgejAgPSAxOwogCQkJfQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvTWFrZV9vczIubWFrIGIvc3JjL3Rlc3RkaXIvTWFrZV9vczIubWFrCmluZGV4IDBmNzFjODUuLmNiZjBhODQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0ZGlyL01ha2Vfb3MyLm1haworKysgYi9zcmMvdGVzdGRpci9NYWtlX29zMi5tYWsKQEAgLTI1LDcgKzI1LDcgQEAKIAkJdGVzdDQzLm91dCB0ZXN0NDQub3V0IHRlc3Q0NS5vdXQgdGVzdDQ2Lm91dCB0ZXN0NDcub3V0IFwKIAkJdGVzdDQ4Lm91dCB0ZXN0NTEub3V0IHRlc3Q1My5vdXQgdGVzdDU0Lm91dCB0ZXN0NTUub3V0IFwKIAkJdGVzdDU2Lm91dCB0ZXN0NTcub3V0IHRlc3Q1OC5vdXQgdGVzdDU5Lm91dCB0ZXN0NjAub3V0IFwKLQkJdGVzdDYxLm91dCB0ZXN0NjIub3V0IHRlc3Q2My5vdXQgdGVzdDY0Lm91dAorCQl0ZXN0NjEub3V0IHRlc3Q2Mi5vdXQgdGVzdDYzLm91dCB0ZXN0NjQub3V0IHRlc3Q2NS5vdXQKIAogLlNVRkZJWEVTOiAuaW4gLm91dAogCmRpZmYgLS1naXQgYS9zcmMvdmltLmggYi9zcmMvdmltLmgKaW5kZXggNzFkZDNhZS4uZDc3ZDRiNyAxMDA2NDQKLS0tIGEvc3JjL3ZpbS5oCisrKyBiL3NyYy92aW0uaApAQCAtMTMyOSw2ICsxMzI5LDEwIEBACiAgKi8KICNkZWZpbmUgTUFYTUFQTEVOICAgNTAKIAorI2lmZGVmIEhBVkVfRkNOVExfSAorIyBpbmNsdWRlIDxmY250bC5oPgorI2VuZGlmCisKICNpZmRlZiBCSU5BUllfRklMRV9JTwogIyBkZWZpbmUgV1JJVEVCSU4gICAid2IiCS8qIG5vIENSLUxGIHRyYW5zbGF0aW9uICovCiAjIGRlZmluZSBSRUFEQklOICAgICJyYiIKQEAgLTEzNzksNiArMTM4Myw5IEBACiAjIGVuZGlmCiAjZW5kaWYKIAorLyogTGlrZSBzdHJjcHkoKSBidXQgYWxsb3dzIG92ZXJsYXBwZWQgc291cmNlIGFuZCBkZXN0aW5hdGlvbi4gKi8KKyNkZWZpbmUgU1RSTU9WRShkLCBzKQkgICAgbWNoX21lbW1vdmUoKGQpLCAocyksIFNUUkxFTihzKSArIDEpCisKICNpZmRlZiBIQVZFX1NUUk5DQVNFQ01QCiAjIGRlZmluZSBTVFJOSUNNUChkLCBzLCBuKSAgc3RybmNhc2VjbXAoKGNoYXIgKikoZCksIChjaGFyICopKHMpLCAoc2l6ZV90KShuKSkKICNlbHNlCkBAIC0xNzA5LDcgKzE3MTYsOCBAQAogI2RlZmluZSBWVl9NT1VTRV9MTlVNICAgNTAKICNkZWZpbmUgVlZfTU9VU0VfQ09MCTUxCiAjZGVmaW5lIFZWX09QCQk1MgotI2RlZmluZSBWVl9MRU4JCTUzCS8qIG51bWJlciBvZiB2OiB2YXJzICovCisjZGVmaW5lIFZWX1NFQVJDSEZPUldBUkQgNTMKKyNkZWZpbmUgVlZfTEVOCQk1NAkvKiBudW1iZXIgb2YgdjogdmFycyAqLwogCiAjaWZkZWYgRkVBVF9DTElQQk9BUkQKIApkaWZmIC0tZ2l0IGEvc3JjL3ZpbTE2LmRlZiBiL3NyYy92aW0xNi5kZWYKaW5kZXggODJmZTFmMS4uMjIzZGRhZiAxMDA2NDQKLS0tIGEvc3JjL3ZpbTE2LmRlZgorKysgYi9zcmMvdmltMTYuZGVmCkBAIC0xLDUgKzEsNSBAQAogQ09ERSBQUkVMT0FEIEVYRUNVVEVPTkxZCiBEQVRBIE1VTFRJUExFIFNIQVJFRAotREVTQ1JJUFRJT04gJ1ZpbSA3LjEnCitERVNDUklQVElPTiAnVmltIDcuMmEnCiBTVEFDS1NJWkUgMTYwMDAKIEhFQVBTSVpFIDEwMDAwCg==